{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/modal.js"],
  "sourcesContent": ["import ClickToOpen from \"./click-to-open.js\";\nimport { l as layout } from \"./layout-store.js\";\nimport { c as calculateMilliseconds } from \"./utilities.js\";\nimport { E } from \"./preact-signals.js\";\nimport \"./lodash-utils.js\";\nclass CustomModal extends ClickToOpen {\n  constructor() {\n    super();\n    this.type = null;\n    this.paramsOpened = false;\n    this.isOpen = true;\n    this.typeClasses = [];\n    this.layout = layout;\n    this.modalEl = this.querySelector(\".modal\");\n    this.closeEl = this.querySelector(\".close\");\n    this.timeout = this.dataset.timeout && typeof Number(this.dataset.timeout) === \"number\" ? calculateMilliseconds(Number(this.dataset.timeout)) : calculateMilliseconds(24);\n    if (!this.modalEl) {\n      console.error(\"Modal couldn't find modal element\");\n      console.log(this);\n      return;\n    }\n    if (this.id === void 0 || this.id == null) {\n      console.error(\"Modal needs id value\");\n      console.log(this);\n      return;\n    }\n    this.type = this.dataset.type;\n    if (this.type) {\n      this.typeClasses.push(`modal--${this.type}`);\n    }\n    this.typeClasses.forEach((cl) => {\n      this.modalEl.classList.add(cl);\n    });\n    this.dialogEl = this.querySelector(\".modal__panel\");\n    this.initDialog();\n    if (this.dataset.cookie) {\n      this.checkCookie();\n      this.addEventListener(\"close\", () => {\n        this.setCookie();\n      });\n    }\n    E(() => {\n      if (this.layout.modal.value == this.id) {\n        this.isOpen = true;\n        document.body.classList.add(\"modal-open\");\n        this.modalEl.classList.add(\"active\");\n      } else {\n        this.isOpen = false;\n        document.body.classList.remove(\"modal-open\");\n        this.modalEl.classList.remove(\"active\");\n      }\n      document.documentElement.style.overflow = this.isOpen ? \"hidden\" : \"\";\n      this.syncDialogState(Boolean(this.isOpen));\n    });\n  }\n  setCookie() {\n    const timestamp = Date.now();\n    const storage = window.localStorage;\n    storage.setItem(this.dataset.cookie, timestamp.toString());\n  }\n  checkCookie() {\n    const storage = window.localStorage;\n    const originalCookie = storage.getItem(this.dataset.cookie);\n    const now = Date.now();\n    if (!originalCookie || Number(originalCookie) + this.timeout <= now) {\n      this.open();\n    }\n  }\n  open() {\n    this.layout.modal.value = this.id;\n    this.dispatchEvent(new Event(\"open\", { bubbles: true, composed: true }));\n  }\n  close() {\n    this.layout.modal.value = null;\n    if (this.dataset.cookie) {\n      this.setCookie();\n    }\n    this.dispatchEvent(new Event(\"close\", { bubbles: true, composed: true }));\n  }\n}\nif (!customElements.get(\"custom-modal\")) {\n  customElements.define(\"custom-modal\", CustomModal);\n}\nexport {\n  CustomModal,\n  CustomModal as default\n};\n"],
  "mappings": "AAAA,OAAO,gBAAiB,qBACxB,OAAS,KAAK,WAAc,oBAC5B,OAAS,KAAK,0BAA6B,iBAC3C,OAAS,MAAS,sBAClB,MAAO,oBACP,MAAM,oBAAoB,WAAY,CACpC,aAAc,CAUZ,GATA,MAAM,EACN,KAAK,KAAO,KACZ,KAAK,aAAe,GACpB,KAAK,OAAS,GACd,KAAK,YAAc,CAAC,EACpB,KAAK,OAAS,OACd,KAAK,QAAU,KAAK,cAAc,QAAQ,EAC1C,KAAK,QAAU,KAAK,cAAc,QAAQ,EAC1C,KAAK,QAAU,KAAK,QAAQ,SAAW,OAAO,OAAO,KAAK,QAAQ,OAAO,GAAM,SAAW,sBAAsB,OAAO,KAAK,QAAQ,OAAO,CAAC,EAAI,sBAAsB,EAAE,EACpK,CAAC,KAAK,QAAS,CACjB,QAAQ,MAAM,mCAAmC,EACjD,QAAQ,IAAI,IAAI,EAChB,MACF,CACA,GAAI,KAAK,KAAO,QAAU,KAAK,IAAM,KAAM,CACzC,QAAQ,MAAM,sBAAsB,EACpC,QAAQ,IAAI,IAAI,EAChB,MACF,CACA,KAAK,KAAO,KAAK,QAAQ,KACrB,KAAK,MACP,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,EAAE,EAE7C,KAAK,YAAY,QAAS,IAAO,CAC/B,KAAK,QAAQ,UAAU,IAAI,EAAE,CAC/B,CAAC,EACD,KAAK,SAAW,KAAK,cAAc,eAAe,EAClD,KAAK,WAAW,EACZ,KAAK,QAAQ,SACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,QAAS,IAAM,CACnC,KAAK,UAAU,CACjB,CAAC,GAEH,EAAE,IAAM,CACF,KAAK,OAAO,MAAM,OAAS,KAAK,IAClC,KAAK,OAAS,GACd,SAAS,KAAK,UAAU,IAAI,YAAY,EACxC,KAAK,QAAQ,UAAU,IAAI,QAAQ,IAEnC,KAAK,OAAS,GACd,SAAS,KAAK,UAAU,OAAO,YAAY,EAC3C,KAAK,QAAQ,UAAU,OAAO,QAAQ,GAExC,SAAS,gBAAgB,MAAM,SAAW,KAAK,OAAS,SAAW,GACnE,KAAK,gBAAgB,EAAQ,KAAK,MAAO,CAC3C,CAAC,CACH,CACA,WAAY,CACV,MAAM,UAAY,KAAK,IAAI,EACX,OAAO,aACf,QAAQ,KAAK,QAAQ,OAAQ,UAAU,SAAS,CAAC,CAC3D,CACA,aAAc,CAEZ,MAAM,eADU,OAAO,aACQ,QAAQ,KAAK,QAAQ,MAAM,EACpD,IAAM,KAAK,IAAI,GACjB,CAAC,gBAAkB,OAAO,cAAc,EAAI,KAAK,SAAW,MAC9D,KAAK,KAAK,CAEd,CACA,MAAO,CACL,KAAK,OAAO,MAAM,MAAQ,KAAK,GAC/B,KAAK,cAAc,IAAI,MAAM,OAAQ,CAAE,QAAS,GAAM,SAAU,EAAK,CAAC,CAAC,CACzE,CACA,OAAQ,CACN,KAAK,OAAO,MAAM,MAAQ,KACtB,KAAK,QAAQ,QACf,KAAK,UAAU,EAEjB,KAAK,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,GAAM,SAAU,EAAK,CAAC,CAAC,CAC1E,CACF,CACK,eAAe,IAAI,cAAc,GACpC,eAAe,OAAO,eAAgB,WAAW,EAEnD,OACE,YACA,eAAe",
  "names": []
}
