{
  "version": 3,
  "sources": ["/cdn/shop/t/11/assets/quick-view.js?release=20260717-2"],
  "sourcesContent": ["class QuickViewDrawer extends MenuDrawer {\n  constructor() {\n    super();\n\n    this.setClasses({\n      open: 'quick-view--open',\n      opening: 'quick-view--opening',\n      closing: 'quick-view--closing'\n    });\n\n    this.addEventListener('close', () => {\n      const drawerContent = this.querySelector('.quick-view__content');\n      drawerContent.innerHTML = '';\n      drawerContent.classList.remove('hide-cover');\n      drawerContent.removeAttribute('aria-busy');\n      this.querySelector('quick-view')?.reset?.();\n\n      document.dispatchEvent(new CustomEvent('quickview:close'));\n    });\n  }\n}\ncustomElements.define('quick-view-drawer', QuickViewDrawer);\n\nclass QuickViewButton extends MenuDrawer {\n  constructor() {\n    super();\n\n    this.addEventListener('click', () => {\n      const wrapper = this.closest('.card-wrapper');\n      let drawer = wrapper.querySelector('quick-view-drawer');\n      if (!drawer) {\n        drawer = document.querySelector(`body > quick-view-drawer[data-product-url=\"${CSS.escape(this.dataset.productUrl)}\"]`);\n      }\n      if (drawer) {\n        if (drawer.parentElement !== document.body) {\n          drawer.dataset.productUrl = this.dataset.productUrl;\n          document.body.appendChild(drawer);\n        }\n        drawer.querySelector('summary').click();\n        drawer.querySelector('quick-view')?.load?.();\n\n        document.dispatchEvent(new CustomEvent('quickview:open', {\n          detail: {\n            productUrl: this.dataset.productUrl\n          }\n        }));\n      }\n      else if (this.dataset.productUrl) {\n        window.location.href = this.dataset.productUrl;\n      }\n    });\n  }\n}\ncustomElements.define('quick-view-button', QuickViewButton);\n\nclass QuickView extends HTMLElement {\n  constructor() {\n    super();\n\n    this.loadPromise = null;\n    this.loaded = false;\n    this.handleToggle = this.handleToggle.bind(this);\n  }\n\n  connectedCallback() {\n    const details = this.closest('details');\n    details?.addEventListener('toggle', this.handleToggle);\n    if (details?.open) this.load();\n  }\n\n  disconnectedCallback() {\n    this.closest('details')?.removeEventListener('toggle', this.handleToggle);\n  }\n\n  handleToggle(event) {\n    if (event.currentTarget.open) this.load();\n  }\n\n  reset() {\n    this.loaded = false;\n    this.loadPromise = null;\n  }\n\n  load() {\n    if (this.loaded) return Promise.resolve();\n    if (this.loadPromise) return this.loadPromise;\n\n    const selector = '.quick-view__content';\n    const drawerContent = this.querySelector(selector);\n    const productUrl = new URL(this.dataset.productUrl, window.location.origin);\n    productUrl.search = '';\n    productUrl.hash = '';\n    const sectionUrl = new URL(productUrl);\n    sectionUrl.searchParams.set('view', 'modal');\n    drawerContent.setAttribute('aria-busy', 'true');\n\n    this.loadPromise = fetch(sectionUrl.toString())\n      .then(response => {\n        if (!response.ok) throw new Error(`Quick view request failed with status ${response.status}`);\n        return response.text();\n      })\n      .then(responseText => {\n        const responseHTML = new DOMParser().parseFromString(responseText, 'text/html');\n        const productElement = responseHTML.querySelector(selector);\n        if (!productElement) throw new Error('Quick view content was not found in the response');\n\n        this.setInnerHTML(drawerContent, productElement.innerHTML);\n        drawerContent.classList.add('hide-cover');\n        drawerContent.removeAttribute('aria-busy');\n        this.loaded = true;\n\n        if (window.Shopify && Shopify.PaymentButton) {\n          Shopify.PaymentButton.init();\n        }\n\n        document.dispatchEvent(new CustomEvent('quickview:loaded', {\n          detail: {\n            productUrl: this.dataset.productUrl\n          }\n        }));\n      })\n      .catch(e => {\n        console.error(e);\n        window.location.href = productUrl.toString();\n      })\n      .finally(() => {\n        this.loadPromise = null;\n      });\n\n    return this.loadPromise;\n  }\n\n  setInnerHTML(element, html) {\n    element.innerHTML = html;\n\n    element.querySelectorAll('script').forEach(oldScriptTag => {\n      const newScriptTag = document.createElement('script');\n      Array.from(oldScriptTag.attributes).forEach(attribute => {\n        newScriptTag.setAttribute(attribute.name, attribute.value)\n      });\n      newScriptTag.appendChild(document.createTextNode(oldScriptTag.innerHTML));\n      oldScriptTag.parentNode.replaceChild(newScriptTag, oldScriptTag);\n    });\n  }\n}\ncustomElements.define('quick-view', QuickView);\n"],
  "mappings": "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",
  "names": []
}
