{
  "version": 3,
  "sources": ["/cdn/shop/t/89/assets/localization-form.js?cachebuster=wDSK1myvmF6o"],
  "sourcesContent": ["class LocalizationForm extends HTMLElement {\n  constructor() {\n    super();\n    this.elements = {\n      input: this.querySelector(\n        'input[name=\"language_code\"], input[name=\"country_code\"]'\n      ),\n      button: this.querySelector(\"button\"),\n      panel: this.querySelector(\"ul\"),\n      panelWrapper: this.querySelector(\".disclosure__list-wrapper\"),\n    };\n    const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n    \n    if (isSafari) {\n      this.elements.button.addEventListener(\"blur\", this.closeSelector.bind(this));\n      this.elements.button.addEventListener(\"mousedown\", this.openSelector.bind(this));\n    } else {\n      this.elements.button.addEventListener(\"click\", this.openSelector.bind(this));\n      this.elements.button.addEventListener(\"focusout\", this.closeSelector.bind(this));\n    }\n    this.addEventListener(\"keyup\", this.onContainerKeyUp.bind(this));\n    this.querySelectorAll(\"a\").forEach((item) =>\n      item.addEventListener(\"click\", this.onItemClick.bind(this))\n    );\n    this.onBodyClick = this.handleBodyClick.bind(this);\n  }\n\n  handleBodyClick(evt) {\n    const target = evt.target;\n    if (target != this && !target.closest(\"localization-form\")) {\n      this.hidePanel();\n    }\n  }\n\n  hidePanel() {\n    document.body.removeEventListener(\"click\", this.onBodyClick);\n    this.elements.button.setAttribute('aria-expanded', 'false');\n    this.elements.button.classList.remove(\"opened\");\n    this.elements.panelWrapper.setAttribute('hidden', true);\n  }\n\n  onContainerKeyUp(event) {\n    if (event.code.toUpperCase() !== \"ESCAPE\") return;\n    if(this.elements.button.getAttribute('aria-expanded') == 'false') return;\n\n    this.hidePanel();\n    event.stopPropagation();\n    this.elements.button.focus();\n  }\n\n  onItemClick(event) {\n    event.preventDefault();\n    const link = event.currentTarget;\n    const isCrossDomain = link.dataset.crossDomain === 'true';\n    \n    // If it's a cross-domain link (e.g., switching to/from lundia.de), navigate directly\n    if (isCrossDomain && link.href) {\n      window.location.href = link.href;\n      return;\n    }\n    \n    // Otherwise, use the form submission\n    const form = this.querySelector(\"form\");\n    this.elements.input.value = link.dataset.value;\n    if (form) form.submit();\n  }\n\n  openSelector() {\n    if (this.elements.button.classList.contains(\"opened\")) {\n      this.hidePanel();\n    } else {\n      document.body.addEventListener(\"click\", this.onBodyClick);\n      this.elements.button.setAttribute(\n        'aria-expanded',\n        (this.elements.button.getAttribute('aria-expanded') === 'false').toString()\n      );\n      this.elements.button.focus();\n      this.elements.panelWrapper.toggleAttribute('hidden');\n      for (var item of document.querySelectorAll(\".button-localization\")) {\n        item.classList.remove(\"opened\");\n      }\n      requestAnimationFrame(() => {\n        this.elements.button.classList.add(\"opened\");\n      });\n    }\n  }\n\n  closeSelector(event) {\n    const shouldClose =\n      event.relatedTarget && event.relatedTarget.nodeName === \"BUTTON\";\n    if (event.relatedTarget === null || shouldClose) {\n      this.hidePanel();\n    }\n  }\n}\ncustomElements.define(\"localization-form\", LocalizationForm);"],
  "mappings": "AAAA,MAAM,yBAAyB,WAAY,CACzC,aAAc,CACZ,MAAM,EACN,KAAK,SAAW,CACd,MAAO,KAAK,cACV,yDACF,EACA,OAAQ,KAAK,cAAc,QAAQ,EACnC,MAAO,KAAK,cAAc,IAAI,EAC9B,aAAc,KAAK,cAAc,2BAA2B,CAC9D,EACiB,iCAAiC,KAAK,UAAU,SAAS,GAGxE,KAAK,SAAS,OAAO,iBAAiB,OAAQ,KAAK,cAAc,KAAK,IAAI,CAAC,EAC3E,KAAK,SAAS,OAAO,iBAAiB,YAAa,KAAK,aAAa,KAAK,IAAI,CAAC,IAE/E,KAAK,SAAS,OAAO,iBAAiB,QAAS,KAAK,aAAa,KAAK,IAAI,CAAC,EAC3E,KAAK,SAAS,OAAO,iBAAiB,WAAY,KAAK,cAAc,KAAK,IAAI,CAAC,GAEjF,KAAK,iBAAiB,QAAS,KAAK,iBAAiB,KAAK,IAAI,CAAC,EAC/D,KAAK,iBAAiB,GAAG,EAAE,QAAS,MAClC,KAAK,iBAAiB,QAAS,KAAK,YAAY,KAAK,IAAI,CAAC,CAC5D,EACA,KAAK,YAAc,KAAK,gBAAgB,KAAK,IAAI,CACnD,CAEA,gBAAgB,IAAK,CACnB,MAAM,OAAS,IAAI,OACf,QAAU,MAAQ,CAAC,OAAO,QAAQ,mBAAmB,GACvD,KAAK,UAAU,CAEnB,CAEA,WAAY,CACV,SAAS,KAAK,oBAAoB,QAAS,KAAK,WAAW,EAC3D,KAAK,SAAS,OAAO,aAAa,gBAAiB,OAAO,EAC1D,KAAK,SAAS,OAAO,UAAU,OAAO,QAAQ,EAC9C,KAAK,SAAS,aAAa,aAAa,SAAU,EAAI,CACxD,CAEA,iBAAiB,MAAO,CAClB,MAAM,KAAK,YAAY,IAAM,UAC9B,KAAK,SAAS,OAAO,aAAa,eAAe,GAAK,UAEzD,KAAK,UAAU,EACf,MAAM,gBAAgB,EACtB,KAAK,SAAS,OAAO,MAAM,EAC7B,CAEA,YAAY,MAAO,CACjB,MAAM,eAAe,EACrB,MAAM,KAAO,MAAM,cAInB,GAHsB,KAAK,QAAQ,cAAgB,QAG9B,KAAK,KAAM,CAC9B,OAAO,SAAS,KAAO,KAAK,KAC5B,MACF,CAGA,MAAM,KAAO,KAAK,cAAc,MAAM,EACtC,KAAK,SAAS,MAAM,MAAQ,KAAK,QAAQ,MACrC,MAAM,KAAK,OAAO,CACxB,CAEA,cAAe,CACb,GAAI,KAAK,SAAS,OAAO,UAAU,SAAS,QAAQ,EAClD,KAAK,UAAU,MACV,CACL,SAAS,KAAK,iBAAiB,QAAS,KAAK,WAAW,EACxD,KAAK,SAAS,OAAO,aACnB,iBACC,KAAK,SAAS,OAAO,aAAa,eAAe,IAAM,SAAS,SAAS,CAC5E,EACA,KAAK,SAAS,OAAO,MAAM,EAC3B,KAAK,SAAS,aAAa,gBAAgB,QAAQ,EACnD,QAAS,QAAQ,SAAS,iBAAiB,sBAAsB,EAC/D,KAAK,UAAU,OAAO,QAAQ,EAEhC,sBAAsB,IAAM,CAC1B,KAAK,SAAS,OAAO,UAAU,IAAI,QAAQ,CAC7C,CAAC,CACH,CACF,CAEA,cAAc,MAAO,CACnB,MAAM,YACJ,MAAM,eAAiB,MAAM,cAAc,WAAa,UACtD,MAAM,gBAAkB,MAAQ,cAClC,KAAK,UAAU,CAEnB,CACF,CACA,eAAe,OAAO,oBAAqB,gBAAgB",
  "names": []
}
