{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/cart-drawer.js?id=993154%2540"],
  "sourcesContent": ["class CartDrawer extends HTMLElement {\r\n  constructor() {\r\n    super();\r\n\r\n    this.addEventListener('keyup', (evt) => evt.code === 'Escape' && this.close());\r\n    this.querySelector('#CartDrawer-Overlay').addEventListener('click', this.close.bind(this));\r\n    this.setHeaderCartIconAccessibility();\r\n  }\r\n  \r\n  setHeaderCartIconAccessibility() {\r\n    const cartLink = document.querySelector('#cart-icon-bubble');\r\n    cartLink.setAttribute('role', 'button');\r\n    cartLink.setAttribute('aria-haspopup', 'dialog');\r\n    cartLink.addEventListener('click', (event) => {\r\n      event.preventDefault();\r\n      this.open(cartLink);\r\n    });\r\n    cartLink.addEventListener('keydown', (event) => {\r\n      if (event.code.toUpperCase() === 'SPACE') {\r\n        event.preventDefault();\r\n        this.open(cartLink);\r\n      }\r\n    });\r\n  }\r\n\r\n  open(triggeredBy) {\r\n    if (triggeredBy) this.setActiveElement(triggeredBy);\r\n    const cartDrawerNote = this.querySelector('[id^=\"Details-\"] summary');\r\n    if (cartDrawerNote && !cartDrawerNote.hasAttribute('role')) this.setSummaryAccessibility(cartDrawerNote);\r\n    // here the animation doesn't seem to always get triggered. A timeout seem to help\r\n    setTimeout(() => {\r\n      this.classList.add('animate', 'active');\r\n    });\r\n\r\n    this.addEventListener(\r\n      'transitionend',\r\n      () => {\r\n        const containerToTrapFocusOn = this.classList.contains('is-empty')\r\n          ? this.querySelector('.drawer__inner-empty')\r\n          : document.getElementById('CartDrawer');\r\n        const focusElement = this.querySelector('.drawer__inner') || this.querySelector('.drawer__close');\r\n        trapFocus(containerToTrapFocusOn, focusElement);\r\n      },\r\n      { once: true }\r\n    );\r\n\r\n    document.body.classList.add('overflow-hidden');\r\n  }\r\n\r\n  close() {\r\n    this.classList.remove('active');\r\n    removeTrapFocus(this.activeElement);\r\n    document.body.classList.remove('overflow-hidden');\r\n  }\r\n\r\n  setSummaryAccessibility(cartDrawerNote) {\r\n    cartDrawerNote.setAttribute('role', 'button');\r\n    cartDrawerNote.setAttribute('aria-expanded', 'false');\r\n\r\n    if (cartDrawerNote.nextElementSibling.getAttribute('id')) {\r\n      cartDrawerNote.setAttribute('aria-controls', cartDrawerNote.nextElementSibling.id);\r\n    }\r\n\r\n    cartDrawerNote.addEventListener('click', (event) => {\r\n      event.currentTarget.setAttribute('aria-expanded', !event.currentTarget.closest('details').hasAttribute('open'));\r\n    });\r\n\r\n    cartDrawerNote.parentElement.addEventListener('keyup', onKeyUpEscape);\r\n  }\r\n\r\n  renderContents(parsedState) {\r\n    this.querySelector('.drawer__inner').classList.contains('is-empty') &&\r\n      this.querySelector('.drawer__inner').classList.remove('is-empty');\r\n    this.productId = parsedState.id;\r\n    let cartReminder = document.querySelector('#cart-count-reminder');\r\n    this.getSectionsToRender().forEach((section) => {\r\n      if(!cartReminder && section.id === 'cart-count-reminder' || !cartReminder && section.id === 'cart-reminder'){\r\n        return;\r\n      }\r\n      const sectionElement = section.selector\r\n        ? document.querySelector(section.selector)\r\n        : document.getElementById(section.id);\r\n      sectionElement.innerHTML = this.getSectionInnerHTML(parsedState.sections[section.id], section.selector);\r\n      if(section.id === 'cart-count-reminder' || section.id === 'cart-reminder'){\r\n        let closeButton = document.querySelector('.btn-cart-reminder__close');\r\n        if(closeButton){\r\n          closeButton.addEventListener('click', function () {\r\n            document.querySelector('.cart-count-reminder').classList.add('hidden__reminder');\r\n          });\r\n        }\r\n        let itemCount = parseInt(sectionElement.querySelector('.cart-count-reminder__inner').dataset.itemCount);\r\n        if(itemCount === 0 && cartReminder){\r\n          cartReminder.classList.add('hidden');\r\n          cartReminder.classList.remove('active');\r\n        }else if(itemCount > 0 && cartReminder){\r\n          cartReminder.classList.remove('hidden');\r\n        }\r\n      }\r\n    });\r\n\r\n    setTimeout(() => {\r\n      this.querySelector('#CartDrawer-Overlay').addEventListener('click', this.close.bind(this));\r\n      this.open();\r\n    });\r\n  }\r\n\r\n  getSectionInnerHTML(html, selector = '.shopify-section') {\r\n    return new DOMParser().parseFromString(html, 'text/html').querySelector(selector).innerHTML;\r\n  }\r\n\r\n  getSectionsToRender() {\r\n    return [\r\n      {\r\n        id: 'cart-drawer',\r\n        selector: '#CartDrawer',\r\n      },\r\n      {\r\n        id: 'cart-icon-bubble',\r\n      },\r\n      {\r\n        id: 'cart-reminder',\r\n        selector: '#cart-count-reminder',\r\n      },\r\n    ];\r\n  }\r\n\r\n  getSectionDOM(html, selector = '.shopify-section') {\r\n    return new DOMParser().parseFromString(html, 'text/html').querySelector(selector);\r\n  }\r\n\r\n  setActiveElement(element) {\r\n    this.activeElement = element;\r\n  }\r\n}\r\n\r\ncustomElements.define('cart-drawer', CartDrawer);\r\n\r\nclass CartDrawerItems extends CartItems {\r\n  getSectionsToRender() {\r\n    return [\r\n      {\r\n        id: 'CartDrawer',\r\n        section: 'cart-drawer',\r\n        selector: '.drawer__inner',\r\n      },\r\n      {\r\n        id: 'cart-icon-bubble',\r\n        section: 'cart-icon-bubble',\r\n        selector: '.shopify-section',\r\n      },\r\n      {\r\n        id: 'cart-count-reminder',\r\n        section: 'cart-reminder',\r\n        selector: '#cart-count-reminder',\r\n      },\r\n    ];\r\n  }\r\n}\r\n\r\ncustomElements.define('cart-drawer-items', CartDrawerItems);\r\n\r\n\r\nwindow.addEventListener('DOMContentLoaded', function() {\r\n  function getDrawerHeaderHeight() {\r\n    const drawerElement = document.querySelector('#CartDrawer');\r\n    const drawerHeader = drawerElement.querySelector('.drawer__header');\r\n    if (drawerHeader) {\r\n      const drawerHeaderHeight = drawerHeader.offsetHeight;\r\n      drawerElement.style.setProperty('--drawer-header-height', `${drawerHeaderHeight}px`);\r\n    }\r\n  }\r\n  getDrawerHeaderHeight();\r\n  window.addEventListener('resize', function() {\r\n    getDrawerHeaderHeight();\r\n  });\r\n});"],
  "mappings": "AAAA,MAAM,mBAAmB,WAAY,CACnC,aAAc,CACZ,MAAM,EAEN,KAAK,iBAAiB,QAAU,KAAQ,IAAI,OAAS,UAAY,KAAK,MAAM,CAAC,EAC7E,KAAK,cAAc,qBAAqB,EAAE,iBAAiB,QAAS,KAAK,MAAM,KAAK,IAAI,CAAC,EACzF,KAAK,+BAA+B,CACtC,CAEA,gCAAiC,CAC/B,MAAM,SAAW,SAAS,cAAc,mBAAmB,EAC3D,SAAS,aAAa,OAAQ,QAAQ,EACtC,SAAS,aAAa,gBAAiB,QAAQ,EAC/C,SAAS,iBAAiB,QAAU,OAAU,CAC5C,MAAM,eAAe,EACrB,KAAK,KAAK,QAAQ,CACpB,CAAC,EACD,SAAS,iBAAiB,UAAY,OAAU,CAC1C,MAAM,KAAK,YAAY,IAAM,UAC/B,MAAM,eAAe,EACrB,KAAK,KAAK,QAAQ,EAEtB,CAAC,CACH,CAEA,KAAK,YAAa,CACZ,aAAa,KAAK,iBAAiB,WAAW,EAClD,MAAM,eAAiB,KAAK,cAAc,0BAA0B,EAChE,gBAAkB,CAAC,eAAe,aAAa,MAAM,GAAG,KAAK,wBAAwB,cAAc,EAEvG,WAAW,IAAM,CACf,KAAK,UAAU,IAAI,UAAW,QAAQ,CACxC,CAAC,EAED,KAAK,iBACH,gBACA,IAAM,CACJ,MAAM,uBAAyB,KAAK,UAAU,SAAS,UAAU,EAC7D,KAAK,cAAc,sBAAsB,EACzC,SAAS,eAAe,YAAY,EAClC,aAAe,KAAK,cAAc,gBAAgB,GAAK,KAAK,cAAc,gBAAgB,EAChG,UAAU,uBAAwB,YAAY,CAChD,EACA,CAAE,KAAM,EAAK,CACf,EAEA,SAAS,KAAK,UAAU,IAAI,iBAAiB,CAC/C,CAEA,OAAQ,CACN,KAAK,UAAU,OAAO,QAAQ,EAC9B,gBAAgB,KAAK,aAAa,EAClC,SAAS,KAAK,UAAU,OAAO,iBAAiB,CAClD,CAEA,wBAAwB,eAAgB,CACtC,eAAe,aAAa,OAAQ,QAAQ,EAC5C,eAAe,aAAa,gBAAiB,OAAO,EAEhD,eAAe,mBAAmB,aAAa,IAAI,GACrD,eAAe,aAAa,gBAAiB,eAAe,mBAAmB,EAAE,EAGnF,eAAe,iBAAiB,QAAU,OAAU,CAClD,MAAM,cAAc,aAAa,gBAAiB,CAAC,MAAM,cAAc,QAAQ,SAAS,EAAE,aAAa,MAAM,CAAC,CAChH,CAAC,EAED,eAAe,cAAc,iBAAiB,QAAS,aAAa,CACtE,CAEA,eAAe,YAAa,CAC1B,KAAK,cAAc,gBAAgB,EAAE,UAAU,SAAS,UAAU,GAChE,KAAK,cAAc,gBAAgB,EAAE,UAAU,OAAO,UAAU,EAClE,KAAK,UAAY,YAAY,GAC7B,IAAI,aAAe,SAAS,cAAc,sBAAsB,EAChE,KAAK,oBAAoB,EAAE,QAAS,SAAY,CAC9C,GAAG,CAAC,cAAgB,QAAQ,KAAO,uBAAyB,CAAC,cAAgB,QAAQ,KAAO,gBAC1F,OAEF,MAAM,eAAiB,QAAQ,SAC3B,SAAS,cAAc,QAAQ,QAAQ,EACvC,SAAS,eAAe,QAAQ,EAAE,EAEtC,GADA,eAAe,UAAY,KAAK,oBAAoB,YAAY,SAAS,QAAQ,EAAE,EAAG,QAAQ,QAAQ,EACnG,QAAQ,KAAO,uBAAyB,QAAQ,KAAO,gBAAgB,CACxE,IAAI,YAAc,SAAS,cAAc,2BAA2B,EACjE,aACD,YAAY,iBAAiB,QAAS,UAAY,CAChD,SAAS,cAAc,sBAAsB,EAAE,UAAU,IAAI,kBAAkB,CACjF,CAAC,EAEH,IAAI,UAAY,SAAS,eAAe,cAAc,6BAA6B,EAAE,QAAQ,SAAS,EACnG,YAAc,GAAK,cACpB,aAAa,UAAU,IAAI,QAAQ,EACnC,aAAa,UAAU,OAAO,QAAQ,GAC/B,UAAY,GAAK,cACxB,aAAa,UAAU,OAAO,QAAQ,CAE1C,CACF,CAAC,EAED,WAAW,IAAM,CACf,KAAK,cAAc,qBAAqB,EAAE,iBAAiB,QAAS,KAAK,MAAM,KAAK,IAAI,CAAC,EACzF,KAAK,KAAK,CACZ,CAAC,CACH,CAEA,oBAAoB,KAAM,SAAW,mBAAoB,CACvD,OAAO,IAAI,UAAU,EAAE,gBAAgB,KAAM,WAAW,EAAE,cAAc,QAAQ,EAAE,SACpF,CAEA,qBAAsB,CACpB,MAAO,CACL,CACE,GAAI,cACJ,SAAU,aACZ,EACA,CACE,GAAI,kBACN,EACA,CACE,GAAI,gBACJ,SAAU,sBACZ,CACF,CACF,CAEA,cAAc,KAAM,SAAW,mBAAoB,CACjD,OAAO,IAAI,UAAU,EAAE,gBAAgB,KAAM,WAAW,EAAE,cAAc,QAAQ,CAClF,CAEA,iBAAiB,QAAS,CACxB,KAAK,cAAgB,OACvB,CACF,CAEA,eAAe,OAAO,cAAe,UAAU,EAE/C,MAAM,wBAAwB,SAAU,CACtC,qBAAsB,CACpB,MAAO,CACL,CACE,GAAI,aACJ,QAAS,cACT,SAAU,gBACZ,EACA,CACE,GAAI,mBACJ,QAAS,mBACT,SAAU,kBACZ,EACA,CACE,GAAI,sBACJ,QAAS,gBACT,SAAU,sBACZ,CACF,CACF,CACF,CAEA,eAAe,OAAO,oBAAqB,eAAe,EAG1D,OAAO,iBAAiB,mBAAoB,UAAW,CACrD,SAAS,uBAAwB,CAC/B,MAAM,cAAgB,SAAS,cAAc,aAAa,EACpD,aAAe,cAAc,cAAc,iBAAiB,EAClE,GAAI,aAAc,CAChB,MAAM,mBAAqB,aAAa,aACxC,cAAc,MAAM,YAAY,yBAA0B,GAAG,kBAAkB,IAAI,CACrF,CACF,CACA,sBAAsB,EACtB,OAAO,iBAAiB,SAAU,UAAW,CAC3C,sBAAsB,CACxB,CAAC,CACH,CAAC",
  "names": []
}
