{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/click-to-reveal.js"],
  "sourcesContent": ["import { d } from \"./preact-signals.js\";\nclass ClickToReveal extends HTMLElement {\n  constructor() {\n    super();\n    this.triggerHandlers = /* @__PURE__ */ new Map();\n    this.closeHandlers = /* @__PURE__ */ new Map();\n    this.triggers = Array.from(\n      this.getElementsByClassName(\"click-reveal__trigger\")\n    );\n    if (!this.triggers.length) {\n      console.error(\"ClickToReveal: no triggers found\", this);\n      return;\n    }\n    this.items = Array.from(this.getElementsByClassName(\"click-reveal__item\"));\n    if (!this.items.length) {\n      console.error(\"ClickToReveal: no items found\", this);\n      return;\n    }\n    if (this.style.getPropertyValue(\"--transition-timing\")) {\n      const transitionValue = this.style.getPropertyValue(\n        \"--transition-timing\"\n      );\n      const timeValue = transitionValue.split(\"s\")[0];\n      this.transitionTiming = parseFloat(timeValue) * 100;\n    } else {\n      this.transitionTiming = 200;\n    }\n    this.itemWrap = this.querySelector(\".click-reveal__item-wrap\");\n    this.activeItem = d(null);\n    this.closeTriggers = Array.from(\n      this.getElementsByClassName(\"click-reveal__close\")\n    );\n    if (this.triggers.length && this.items.length) {\n      this.bindEvents();\n    }\n    this.triggers.forEach((trigger) => {\n      if (trigger.classList.contains(\"active\")) {\n        this.activeItem.value = trigger.getAttribute(\"data-target\");\n        this.updateActiveItem();\n      }\n    });\n  }\n  disconnectedCallback() {\n    this.triggerHandlers.forEach((handler, trigger) => {\n      trigger.removeEventListener(\"click\", handler);\n    });\n    this.triggerHandlers.clear();\n    this.closeHandlers.forEach((handler, trigger) => {\n      trigger.removeEventListener(\"click\", handler);\n    });\n    this.closeHandlers.clear();\n  }\n  toggleSection(trigger) {\n    if (trigger.getAttribute(\"data-target\") != this.activeItem.value) {\n      this.activeItem.value = trigger.getAttribute(\"data-target\");\n      this.updateActiveItem();\n    } else {\n      this.activeItem.value = null;\n      this.updateActiveItem();\n    }\n  }\n  updateActiveItem() {\n    this.triggers.forEach((trigger) => {\n      if (trigger.getAttribute(\"data-target\") != this.activeItem.value) {\n        trigger.classList.remove(\"active\");\n      } else {\n        trigger.classList.add(\"active\");\n      }\n    });\n    this.items.forEach((item) => {\n      if (item.getAttribute(\"id\") == this.activeItem.value || this.activeItem.value == \"all\") {\n        console.log(\"item\", item);\n        if (!item.classList.contains(\"--active\")) {\n          if (this.itemWrap) {\n            this.itemWrap.style.height = `${this.getHiddenElementHeight(item)}px`;\n          }\n          item.classList.add(\"--is-transitioning\");\n          item.classList.add(\"--active\");\n          item.classList.remove(\"hidden\");\n          item.classList.remove(\"--inactive\");\n        }\n      } else {\n        console.log(\"remove\", item);\n        if (item.classList.contains(\"--active\")) {\n          item.classList.add(\"--is-transitioning\");\n          item.classList.remove(\"--active\");\n          item.classList.add(\"--inactive\");\n        }\n      }\n    });\n  }\n  getHiddenElementHeight(element) {\n    const clone = element.cloneNode(true);\n    clone.style.cssText = `\n    position: absolute;\n    visibility: hidden;\n    display: block;\n    pointer-events: none;\n  `;\n    this.itemWrap.appendChild(clone);\n    const height = clone.offsetHeight;\n    this.itemWrap.removeChild(clone);\n    return height;\n  }\n  bindEvents() {\n    var _a;\n    this.triggers.forEach((trigger) => {\n      const handler = () => {\n        this.toggleSection(trigger);\n      };\n      this.triggerHandlers.set(trigger, handler);\n      trigger.addEventListener(\"click\", handler);\n    });\n    (_a = this.closeTriggers) == null ? void 0 : _a.forEach((trigger) => {\n      const handler = () => {\n        this.activeItem.value = null;\n        this.updateActiveItem();\n      };\n      this.closeHandlers.set(trigger, handler);\n      trigger.addEventListener(\"click\", handler);\n    });\n  }\n}\nif (!customElements.get(\"click-to-reveal\")) {\n  customElements.define(\"click-to-reveal\", ClickToReveal);\n}\nexport {\n  ClickToReveal,\n  ClickToReveal as default\n};\n"],
  "mappings": "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",
  "names": []
}
