{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/size-guide-image-zoom.js?verify=1784300200"],
  "sourcesContent": ["if (!customElements.get('size-guide-image-zoom')) {\n  customElements.define(\n    'size-guide-image-zoom',\n    class SizeGuideImageZoom extends HTMLElement {\n      connectedCallback() {\n        this.modal = this.closest('size-guide-modal, modal-dialog');\n        this.modalContent = this.modal?.querySelector(':scope > [role=\"dialog\"]');\n        this.opener = this.modal?.querySelector(\n          `[data-size-guide-image-opener][aria-controls=\"${this.id}\"]`\n        );\n        this.closeButton = this.querySelector('[data-size-guide-image-close]');\n\n        if (!this.modal || !this.modalContent || !this.opener || !this.closeButton) return;\n\n        this.abortController = new AbortController();\n        const { signal } = this.abortController;\n\n        this.opener.addEventListener('click', this.handleOpen, { signal });\n        this.closeButton.addEventListener('click', this.handleClose, { signal });\n        this.addEventListener('click', this.handleBackdropClick, { signal });\n        this.modal.addEventListener('keyup', this.handleEscape, { capture: true, signal });\n\n        this.modalObserver = new MutationObserver(() => {\n          if (!this.modal.hasAttribute('open') && !this.hasAttribute('hidden')) this.close(false);\n        });\n        this.modalObserver.observe(this.modal, { attributes: true, attributeFilter: ['open'] });\n      }\n\n      disconnectedCallback() {\n        this.abortController?.abort();\n        this.modalObserver?.disconnect();\n        this.close(false);\n      }\n\n      handleOpen = (event) => {\n        if (event.button > 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n\n        event.preventDefault();\n        this.open();\n      };\n\n      handleClose = () => {\n        this.close();\n      };\n\n      handleBackdropClick = (event) => {\n        if (event.target === this) this.close();\n      };\n\n      handleEscape = (event) => {\n        if (this.hasAttribute('hidden') || event.code.toUpperCase() !== 'ESCAPE') return;\n\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        this.close();\n      };\n\n      open() {\n        if (!this.hasAttribute('hidden')) return;\n\n        this.removeAttribute('hidden');\n        this.opener.setAttribute('aria-expanded', 'true');\n        this.modalContent.setAttribute('inert', '');\n\n        if (typeof trapFocus === 'function') {\n          trapFocus(this, this.closeButton);\n        } else {\n          this.closeButton.focus();\n        }\n      }\n\n      close(restoreFocus = true) {\n        if (this.hasAttribute('hidden')) return;\n\n        this.setAttribute('hidden', '');\n        this.opener?.setAttribute('aria-expanded', 'false');\n        this.modalContent?.removeAttribute('inert');\n\n        if (!restoreFocus || !this.modal?.hasAttribute('open')) return;\n\n        if (typeof trapFocus === 'function') {\n          trapFocus(this.modal, this.opener);\n        } else {\n          this.opener.focus();\n        }\n      }\n    }\n  );\n}\n"],
  "mappings": "AAAK,eAAe,IAAI,uBAAuB,GAC7C,eAAe,OACb,wBACA,cAAiC,WAAY,CAC3C,mBAAoB,CAQlB,GAPA,KAAK,MAAQ,KAAK,QAAQ,gCAAgC,EAC1D,KAAK,aAAe,KAAK,OAAO,cAAc,0BAA0B,EACxE,KAAK,OAAS,KAAK,OAAO,cACxB,iDAAiD,KAAK,EAAE,IAC1D,EACA,KAAK,YAAc,KAAK,cAAc,+BAA+B,EAEjE,CAAC,KAAK,OAAS,CAAC,KAAK,cAAgB,CAAC,KAAK,QAAU,CAAC,KAAK,YAAa,OAE5E,KAAK,gBAAkB,IAAI,gBAC3B,KAAM,CAAE,MAAO,EAAI,KAAK,gBAExB,KAAK,OAAO,iBAAiB,QAAS,KAAK,WAAY,CAAE,MAAO,CAAC,EACjE,KAAK,YAAY,iBAAiB,QAAS,KAAK,YAAa,CAAE,MAAO,CAAC,EACvE,KAAK,iBAAiB,QAAS,KAAK,oBAAqB,CAAE,MAAO,CAAC,EACnE,KAAK,MAAM,iBAAiB,QAAS,KAAK,aAAc,CAAE,QAAS,GAAM,MAAO,CAAC,EAEjF,KAAK,cAAgB,IAAI,iBAAiB,IAAM,CAC1C,CAAC,KAAK,MAAM,aAAa,MAAM,GAAK,CAAC,KAAK,aAAa,QAAQ,GAAG,KAAK,MAAM,EAAK,CACxF,CAAC,EACD,KAAK,cAAc,QAAQ,KAAK,MAAO,CAAE,WAAY,GAAM,gBAAiB,CAAC,MAAM,CAAE,CAAC,CACxF,CAEA,sBAAuB,CACrB,KAAK,iBAAiB,MAAM,EAC5B,KAAK,eAAe,WAAW,EAC/B,KAAK,MAAM,EAAK,CAClB,CAEA,WAAc,OAAU,CAClB,MAAM,OAAS,GAAK,MAAM,SAAW,MAAM,SAAW,MAAM,UAAY,MAAM,SAElF,MAAM,eAAe,EACrB,KAAK,KAAK,EACZ,EAEA,YAAc,IAAM,CAClB,KAAK,MAAM,CACb,EAEA,oBAAuB,OAAU,CAC3B,MAAM,SAAW,MAAM,KAAK,MAAM,CACxC,EAEA,aAAgB,OAAU,CACpB,KAAK,aAAa,QAAQ,GAAK,MAAM,KAAK,YAAY,IAAM,WAEhE,MAAM,eAAe,EACrB,MAAM,yBAAyB,EAC/B,KAAK,MAAM,EACb,EAEA,MAAO,CACA,KAAK,aAAa,QAAQ,IAE/B,KAAK,gBAAgB,QAAQ,EAC7B,KAAK,OAAO,aAAa,gBAAiB,MAAM,EAChD,KAAK,aAAa,aAAa,QAAS,EAAE,EAEtC,OAAO,WAAc,WACvB,UAAU,KAAM,KAAK,WAAW,EAEhC,KAAK,YAAY,MAAM,EAE3B,CAEA,MAAM,aAAe,GAAM,CACrB,KAAK,aAAa,QAAQ,IAE9B,KAAK,aAAa,SAAU,EAAE,EAC9B,KAAK,QAAQ,aAAa,gBAAiB,OAAO,EAClD,KAAK,cAAc,gBAAgB,OAAO,EAEtC,GAAC,cAAgB,CAAC,KAAK,OAAO,aAAa,MAAM,KAEjD,OAAO,WAAc,WACvB,UAAU,KAAK,MAAO,KAAK,MAAM,EAEjC,KAAK,OAAO,MAAM,GAEtB,CACF,CACF",
  "names": []
}
