{
  "version": 3,
  "sources": ["/cdn/shop/t/30/assets/cart-notification.js?dp95=20260604-cart-toast"],
  "sourcesContent": ["class CartNotification extends HTMLElement {\n  constructor() {\n    super();\n\n    this.notification = document.getElementById('cart-notification');\n    this.header = document.querySelector('sticky-header');\n    this.onBodyClick = this.handleBodyClick.bind(this);\n\n    this.notification.addEventListener('keyup', (evt) => evt.code === 'Escape' && this.close());\n    this.querySelectorAll('button[type=\"button\"]').forEach((closeButton) =>\n      closeButton.addEventListener('click', this.close.bind(this))\n    );\n  }\n\n  open() {\n    this.notification.classList.add('animate', 'active');\n\n    this.notification.addEventListener(\n      'transitionend',\n      () => {\n        this.notification.focus();\n        trapFocus(this.notification);\n      },\n      { once: true }\n    );\n\n    document.body.addEventListener('click', this.onBodyClick);\n  }\n\n  close() {\n    this.notification.classList.remove('active');\n    document.body.removeEventListener('click', this.onBodyClick);\n\n    removeTrapFocus(this.activeElement);\n  }\n\n  renderContents(parsedState) {\n    this.cartItemKey = this.getCartItemKey(parsedState);\n    this.getSectionsToRender().forEach((section) => {\n      const sectionElement = document.getElementById(section.id);\n      const sectionHTML = parsedState.sections?.[section.id];\n\n      if (!sectionElement || !sectionHTML) return;\n\n      sectionElement.innerHTML = this.getSectionInnerHTML(sectionHTML, section.selector);\n    });\n\n    if (this.header) this.header.reveal();\n    this.open();\n  }\n\n  getSectionsToRender() {\n    return [\n      {\n        id: 'cart-notification-product',\n        selector: `[id=\"cart-notification-product-${this.cartItemKey}\"]`,\n      },\n      {\n        id: 'cart-notification-button',\n      },\n      {\n        id: 'cart-icon-bubble',\n      },\n    ];\n  }\n\n  getSectionInnerHTML(html, selector = '.shopify-section') {\n    const sectionElement = new DOMParser().parseFromString(html, 'text/html').querySelector(selector);\n    return sectionElement ? sectionElement.innerHTML : '';\n  }\n\n  getCartItemKey(parsedState) {\n    const firstAddedItem = parsedState.items?.[0];\n    return parsedState.key || firstAddedItem?.key;\n  }\n\n  handleBodyClick(evt) {\n    const target = evt.target;\n    if (target !== this.notification && !target.closest('cart-notification')) {\n      const disclosure = target.closest('details-disclosure, header-menu');\n      this.activeElement = disclosure ? disclosure.querySelector('summary') : null;\n      this.close();\n    }\n  }\n\n  setActiveElement(element) {\n    this.activeElement = element;\n  }\n}\n\ncustomElements.define('cart-notification', CartNotification);\n"],
  "mappings": "AAAA,MAAM,yBAAyB,WAAY,CACzC,aAAc,CACZ,MAAM,EAEN,KAAK,aAAe,SAAS,eAAe,mBAAmB,EAC/D,KAAK,OAAS,SAAS,cAAc,eAAe,EACpD,KAAK,YAAc,KAAK,gBAAgB,KAAK,IAAI,EAEjD,KAAK,aAAa,iBAAiB,QAAU,KAAQ,IAAI,OAAS,UAAY,KAAK,MAAM,CAAC,EAC1F,KAAK,iBAAiB,uBAAuB,EAAE,QAAS,aACtD,YAAY,iBAAiB,QAAS,KAAK,MAAM,KAAK,IAAI,CAAC,CAC7D,CACF,CAEA,MAAO,CACL,KAAK,aAAa,UAAU,IAAI,UAAW,QAAQ,EAEnD,KAAK,aAAa,iBAChB,gBACA,IAAM,CACJ,KAAK,aAAa,MAAM,EACxB,UAAU,KAAK,YAAY,CAC7B,EACA,CAAE,KAAM,EAAK,CACf,EAEA,SAAS,KAAK,iBAAiB,QAAS,KAAK,WAAW,CAC1D,CAEA,OAAQ,CACN,KAAK,aAAa,UAAU,OAAO,QAAQ,EAC3C,SAAS,KAAK,oBAAoB,QAAS,KAAK,WAAW,EAE3D,gBAAgB,KAAK,aAAa,CACpC,CAEA,eAAe,YAAa,CAC1B,KAAK,YAAc,KAAK,eAAe,WAAW,EAClD,KAAK,oBAAoB,EAAE,QAAS,SAAY,CAC9C,MAAM,eAAiB,SAAS,eAAe,QAAQ,EAAE,EACnD,YAAc,YAAY,WAAW,QAAQ,EAAE,EAEjD,CAAC,gBAAkB,CAAC,cAExB,eAAe,UAAY,KAAK,oBAAoB,YAAa,QAAQ,QAAQ,EACnF,CAAC,EAEG,KAAK,QAAQ,KAAK,OAAO,OAAO,EACpC,KAAK,KAAK,CACZ,CAEA,qBAAsB,CACpB,MAAO,CACL,CACE,GAAI,4BACJ,SAAU,kCAAkC,KAAK,WAAW,IAC9D,EACA,CACE,GAAI,0BACN,EACA,CACE,GAAI,kBACN,CACF,CACF,CAEA,oBAAoB,KAAM,SAAW,mBAAoB,CACvD,MAAM,eAAiB,IAAI,UAAU,EAAE,gBAAgB,KAAM,WAAW,EAAE,cAAc,QAAQ,EAChG,OAAO,eAAiB,eAAe,UAAY,EACrD,CAEA,eAAe,YAAa,CAC1B,MAAM,eAAiB,YAAY,QAAQ,CAAC,EAC5C,OAAO,YAAY,KAAO,gBAAgB,GAC5C,CAEA,gBAAgB,IAAK,CACnB,MAAM,OAAS,IAAI,OACnB,GAAI,SAAW,KAAK,cAAgB,CAAC,OAAO,QAAQ,mBAAmB,EAAG,CACxE,MAAM,WAAa,OAAO,QAAQ,iCAAiC,EACnE,KAAK,cAAgB,WAAa,WAAW,cAAc,SAAS,EAAI,KACxE,KAAK,MAAM,CACb,CACF,CAEA,iBAAiB,QAAS,CACxB,KAAK,cAAgB,OACvB,CACF,CAEA,eAAe,OAAO,oBAAqB,gBAAgB",
  "names": []
}
