{"version":3,"file":"open-CaoQZ_Qj.js","sources":["../../../node_modules/@slideslive/fuse-kit/dist/utils/modal/open.js"],"sourcesContent":["import inlineCss from \"../element/inline_css.js\";\nimport isElement from \"../element/is_element.js\";\nimport isVisible from \"../element/is_visible.js\";\nimport addListener from \"../utilities/add_listener.js\";\nimport fire from \"../utilities/fire.js\";\nimport { trapFocus } from \"../utilities/focus_trap.js\";\nimport isVariableDefinedNotNull from \"../utilities/is_variable_defined_not_null.js\";\nimport removeListener from \"../utilities/remove_listener.js\";\nimport setBodyOverflowHidden from \"../utilities/set_body_overflow_hidden.js\";\nfunction beforeShowEventDetailFromOptions(options) {\n  return Object.keys(options).reduce((acc, k) => {\n    if ([\"forceOpen\"].indexOf(k) > -1) {\n      return acc;\n    }\n    return {\n      ...acc,\n      [k]: options[k]\n    };\n  }, {});\n}\nfunction findModal(nameOrModalElement) {\n  if (isElement(nameOrModalElement)) return nameOrModalElement;\n  return document.querySelector(\n    // eslint-disable-next-line max-len\n    `.modal[data-modal-name='${nameOrModalElement}'], section[data-modal-name='${nameOrModalElement}']`\n  );\n}\nfunction openModal(nameOrModalElement, options = {}) {\n  const modalElement = findModal(nameOrModalElement);\n  if (!isVariableDefinedNotNull(modalElement)) {\n    console.warn(`Modal ${nameOrModalElement} not found.`);\n    return false;\n  }\n  if (!options.forceOpen && isVisible(modalElement)) {\n    console.warn(`Modal ${nameOrModalElement} is already visible.`);\n    return false;\n  }\n  if (!isVariableDefinedNotNull(options.url)) {\n    options.url = modalElement.dataset.modalUrl;\n  }\n  if (!isVariableDefinedNotNull(options.urlParams)) {\n    options.urlParams = modalElement.dataset.modalUrlParams;\n  }\n  setBodyOverflowHidden(\"scrollLockModalCnt\");\n  const eventNamePrefix = modalElement.getAttribute(\"data-modal-event-name-prefix\") || \"modal\";\n  fire(modalElement, `${eventNamePrefix}:beforeShow`, {\n    detail: beforeShowEventDetailFromOptions(options)\n  });\n  const animationBegin = () => {\n    trapFocus(modalElement);\n    fire(modalElement, `${eventNamePrefix}:show`);\n  };\n  const animationComplete = () => {\n    fire(modalElement, `${eventNamePrefix}:afterShow`);\n  };\n  if (modalElement.dataset.controller.includes(\"fuse--modal\")) {\n    const transitionEndListenerId = addListener(modalElement, \"transitionend\", () => {\n      animationComplete();\n      removeListener(modalElement, { id: transitionEndListenerId });\n    });\n    modalElement.hidden = false;\n    animationBegin();\n    return true;\n  }\n  animationBegin();\n  inlineCss(modalElement, { display: \"block\", opacity: 1 });\n  animationComplete();\n  return true;\n}\nexport {\n  openModal as default\n};\n"],"names":["beforeShowEventDetailFromOptions","options","acc","k","findModal","nameOrModalElement","isElement","openModal","modalElement","isVariableDefinedNotNull","isVisible","setBodyOverflowHidden","eventNamePrefix","fire","animationBegin","trapFocus","animationComplete","transitionEndListenerId","addListener","removeListener","inlineCss"],"mappings":"4OASA,SAASA,EAAiCC,EAAS,CACjD,OAAO,OAAO,KAAKA,CAAO,EAAE,OAAO,CAACC,EAAKC,IACnC,CAAC,WAAW,EAAE,QAAQA,CAAC,EAAI,GACtBD,EAEF,CACL,GAAGA,EACH,CAACC,CAAC,EAAGF,EAAQE,CAAC,CACf,EACA,EAAE,CACP,CACA,SAASC,EAAUC,EAAoB,CACrC,OAAIC,EAAUD,CAAkB,EAAUA,EACnC,SAAS,cAEd,2BAA2BA,CAAkB,gCAAgCA,CAAkB,IAChG,CACH,CACA,SAASE,EAAUF,EAAoBJ,EAAU,GAAI,CACnD,MAAMO,EAAeJ,EAAUC,CAAkB,EACjD,GAAI,CAACI,EAAyBD,CAAY,EACxC,eAAQ,KAAK,SAASH,CAAkB,aAAa,EAC9C,GAET,GAAI,CAACJ,EAAQ,WAAaS,EAAUF,CAAY,EAC9C,eAAQ,KAAK,SAASH,CAAkB,sBAAsB,EACvD,GAEJI,EAAyBR,EAAQ,GAAG,IACvCA,EAAQ,IAAMO,EAAa,QAAQ,UAEhCC,EAAyBR,EAAQ,SAAS,IAC7CA,EAAQ,UAAYO,EAAa,QAAQ,gBAE3CG,EAAsB,oBAAoB,EAC1C,MAAMC,EAAkBJ,EAAa,aAAa,8BAA8B,GAAK,QACrFK,EAAKL,EAAc,GAAGI,CAAe,cAAe,CAClD,OAAQZ,EAAiCC,CAAO,CACpD,CAAG,EACD,MAAMa,EAAiB,IAAM,CAC3BC,EAAUP,CAAY,EACtBK,EAAKL,EAAc,GAAGI,CAAe,OAAO,CAC7C,EACKI,EAAoB,IAAM,CAC9BH,EAAKL,EAAc,GAAGI,CAAe,YAAY,CAClD,EACD,GAAIJ,EAAa,QAAQ,WAAW,SAAS,aAAa,EAAG,CAC3D,MAAMS,EAA0BC,EAAYV,EAAc,gBAAiB,IAAM,CAC/EQ,EAAmB,EACnBG,EAAeX,EAAc,CAAE,GAAIS,CAAuB,CAAE,CAClE,CAAK,EACD,OAAAT,EAAa,OAAS,GACtBM,EAAgB,EACT,EACX,CACE,OAAAA,EAAgB,EAChBM,EAAUZ,EAAc,CAAE,QAAS,QAAS,QAAS,EAAG,EACxDQ,EAAmB,EACZ,EACT","x_google_ignoreList":[0]}