{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/cart-drawer.js?id=993154%2540"],
  "sourcesContent": ["class CartDrawer extends HTMLElement {\n  constructor() {\n    super();\n\n    this.addEventListener(\n      \"keyup\",\n      (evt) => evt.code === \"Escape\" && this.close()\n    );\n    this.querySelector(\"#CartDrawer-Overlay\").addEventListener(\n      \"click\",\n      this.close.bind(this)\n    );\n    this.setHeaderCartIconAccessibility();\n  }\n\n  setHeaderCartIconAccessibility() {\n    const cartLink = document.querySelector(\"#cart-icon-bubble\");\n    if (!cartLink) return;\n\n    cartLink.setAttribute(\"role\", \"button\");\n    cartLink.setAttribute(\"aria-haspopup\", \"dialog\");\n    cartLink.addEventListener(\"click\", (event) => {\n      event.preventDefault();\n      this.open(cartLink);\n    });\n    cartLink.addEventListener(\"keydown\", (event) => {\n      if (event.code.toUpperCase() === \"SPACE\") {\n        event.preventDefault();\n        this.open(cartLink);\n      }\n    });\n  }\n\n  open(triggeredBy) {\n    if (triggeredBy) this.setActiveElement(triggeredBy);\n    const cartDrawerNote = this.querySelector('[id^=\"Details-\"] summary');\n    if (cartDrawerNote && !cartDrawerNote.hasAttribute(\"role\"))\n      this.setSummaryAccessibility(cartDrawerNote);\n    // here the animation doesn't seem to always get triggered. A timeout seem to help\n    setTimeout(() => {\n      this.classList.add(\"animate\", \"active\");\n      const cartDrawerItems = this.querySelector(\"cart-drawer-items\");\n      if (cartDrawerItems) {\n        cartDrawerItems.updateCartUpsellToggleState();\n        cartDrawerItems.updateCartUpsellVisibility();\n      }\n      // Dispatch cart:open event\n      document.dispatchEvent(new CustomEvent('cart:open'));\n    });\n\n    this.addEventListener(\n      \"transitionend\",\n      () => {\n        const containerToTrapFocusOn = this.classList.contains(\"is-empty\")\n          ? this.querySelector(\".drawer__inner-empty\")\n          : document.getElementById(\"CartDrawer\");\n        const focusElement =\n          this.querySelector(\".drawer__inner\") ||\n          this.querySelector(\".drawer__close\");\n        trapFocus(containerToTrapFocusOn, focusElement);\n      },\n      { once: true }\n    );\n\n    document.body.classList.add(\"overflow-hidden\");\n  }\n\n  close() {\n    this.classList.remove(\"active\");\n    removeTrapFocus(this.activeElement);\n    document.body.classList.remove(\"overflow-hidden\");\n  }\n\n  setSummaryAccessibility(cartDrawerNote) {\n    cartDrawerNote.setAttribute(\"role\", \"button\");\n    cartDrawerNote.setAttribute(\"aria-expanded\", \"false\");\n\n    if (cartDrawerNote.nextElementSibling.getAttribute(\"id\")) {\n      cartDrawerNote.setAttribute(\n        \"aria-controls\",\n        cartDrawerNote.nextElementSibling.id\n      );\n    }\n\n    cartDrawerNote.addEventListener(\"click\", (event) => {\n      event.currentTarget.setAttribute(\n        \"aria-expanded\",\n        !event.currentTarget.closest(\"details\").hasAttribute(\"open\")\n      );\n    });\n\n    cartDrawerNote.parentElement.addEventListener(\"keyup\", onKeyUpEscape);\n  }\n\n  renderContents(parsedState) {\n    this.querySelector(\".drawer__inner\").classList.contains(\"is-empty\") &&\n      this.querySelector(\".drawer__inner\").classList.remove(\"is-empty\");\n    this.productId = parsedState.id;\n    this.getSectionsToRender().forEach((section) => {\n      const sectionElement = section.selector\n        ? document.querySelector(section.selector)\n        : document.getElementById(section.id);\n\n      if (!sectionElement) return;\n      sectionElement.innerHTML = this.getSectionInnerHTML(\n        parsedState.sections[section.id],\n        section.selector\n      );\n    });\n\n    setTimeout(() => {\n      this.querySelector(\"#CartDrawer-Overlay\").addEventListener(\n        \"click\",\n        this.close.bind(this)\n      );\n      this.open();\n    });\n  }\n\n  getSectionInnerHTML(html, selector = \".shopify-section\") {\n    return new DOMParser()\n      .parseFromString(html, \"text/html\")\n      .querySelector(selector).innerHTML;\n  }\n\n  getSectionsToRender() {\n    return [\n      {\n        id: \"cart-drawer\",\n        selector: \"#CartDrawer\",\n      },\n      {\n        id: \"cart-icon-bubble\",\n      },\n    ];\n  }\n\n  getSectionDOM(html, selector = \".shopify-section\") {\n    return new DOMParser()\n      .parseFromString(html, \"text/html\")\n      .querySelector(selector);\n  }\n\n  setActiveElement(element) {\n    this.activeElement = element;\n  }\n}\n\ncustomElements.define(\"cart-drawer\", CartDrawer);\n\nclass CartDrawerItems extends CartItems {\n  getSectionsToRender() {\n    return [\n      {\n        id: \"CartDrawer\",\n        section: \"cart-drawer\",\n        selector: \".drawer__inner\",\n      },\n      {\n        id: \"cart-icon-bubble\",\n        section: \"cart-icon-bubble\",\n        selector: \".shopify-section\",\n      },\n    ];\n  }\n}\n\ncustomElements.define(\"cart-drawer-items\", CartDrawerItems);\n"],
  "mappings": "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",
  "names": []
}
