{
  "version": 3,
  "sources": ["/cdn/shop/t/144/assets/cart.js?enable_js_minification=1"],
  "sourcesContent": ["class CartRemoveButton extends HTMLElement {\n  constructor() {\n    super();\n    this.addEventListener('click', (event) => {\n      event.preventDefault();\n      const cartItems = this.closest('cart-items') || this.closest('cart-drawer-items');\n\n      if (this.closest('.cart-item') && this.closest('.cart-item').getAttribute('data-rc-id')) {\n        cartItems.updateQuantity(this.dataset.index, 0, null, this.closest('.cart-item').getAttribute('data-rc-id'));\n      } else {\n        cartItems.updateQuantity(this.dataset.index, 0);\n      }\n    });\n  }\n}\n\ncustomElements.define('cart-remove-button', CartRemoveButton);\n\nclass CartItems extends HTMLElement {\n  constructor() {\n    super(); \n\n    this.lineItemStatusElement = document.getElementById('shopping-cart-line-item-status') || document.getElementById('CartDrawer-LineItemStatus');\n\n    this.currentItemCount = Array.from(this.querySelectorAll('[name=\"updates[]\"]'))\n      .reduce((total, quantityInput) => total + parseInt(quantityInput.value), 0);\n\n    this.debouncedOnChange = debounce((event) => {\n      this.onChange(event);\n    }, 300);\n\n    this.addEventListener('change', this.debouncedOnChange.bind(this));\n  }\n\n  onChange(event) {\n    this.updateQuantity(event.target.dataset.index, event.target.value, document.activeElement.getAttribute('name'));\n  }\n\n  getSectionsToRender() {\n    return [\n      {\n        id: 'main-cart-items',\n        section: document.getElementById('main-cart-items').dataset.id,\n        selector: '.js-contents',\n      },\n      {\n        id: 'cart-live-region-text',\n        section: 'cart-live-region-text',\n        selector: '.shopify-section'\n      },\n      {\n        id: 'main-cart-footer',\n        section: document.getElementById('main-cart-footer').dataset.id,\n        selector: '.js-contents',\n      }\n    ];\n  }\n\n  updateQuantity(line, quantity, name, bundleId) {\n    this.enableLoading(line);\n\n    if (bundleId) {\n      checkAndRemoveRechargeItems(bundleId).then(() => {\n        setTimeout(() => {\n          let drawer = document.querySelector(\"cart-drawer\");\n          if (drawer && typeof drawer.renderContents === \"function\") {\n            drawer.renderContents();\n          }\n          fetchCartItemsCount(true);\n        },2000);\n      });\n\n      return;\n    }\n\n    const body = JSON.stringify({\n      line,\n      quantity,\n      sections: this.getSectionsToRender().map((section) => section.section),\n      sections_url: window.location.pathname\n    });\n\n    fetch(`${routes.cart_change_url}`, {...fetchConfig(), ...{ body }})\n      .then((response) => {\n        return response.text();\n      })\n      .then((state) => {\n        const parsedState = JSON.parse(state);\n        this.classList.toggle('is-empty', parsedState.item_count === 0);\n        const cartDrawerWrapper = document.querySelector('cart-drawer');\n        const cartFooter = document.getElementById('main-cart-footer');\n\n        if (cartFooter) cartFooter.classList.toggle('is-empty', parsedState.item_count === 0);\n        if (cartDrawerWrapper) cartDrawerWrapper.classList.toggle('is-empty', parsedState.item_count === 0);\n\n        this.getSectionsToRender().forEach((section => {\n          const elementToReplace =\n            document.getElementById(section.id).querySelector(section.selector) || document.getElementById(section.id);\n          elementToReplace.innerHTML =\n            this.getSectionInnerHTML(parsedState.sections[section.section], section.selector);\n        }));\n\n        this.updateLiveRegions(line, parsedState.item_count);\n        const lineItem =  document.getElementById(`CartItem-${line}`) || document.getElementById(`CartDrawer-Item-${line}`);\n        if (lineItem && lineItem.querySelector(`[name=\"${name}\"]`)) {\n          cartDrawerWrapper ? trapFocus(cartDrawerWrapper, lineItem.querySelector(`[name=\"${name}\"]`)) : lineItem.querySelector(`[name=\"${name}\"]`).focus();\n        } else if (parsedState.item_count === 0 && cartDrawerWrapper) {\n          trapFocus(cartDrawerWrapper.querySelector('.drawer__inner-empty'), cartDrawerWrapper.querySelector('a'))\n        } else if (document.querySelector('.cart-item') && cartDrawerWrapper) {\n          trapFocus(cartDrawerWrapper, document.querySelector('.cart-item__name'))\n        }\n        this.disableLoading();\n\n      }).catch(() => {\n        this.querySelectorAll('.loading-overlay').forEach((overlay) => overlay.classList.add('hidden'));\n        const errors = document.getElementById('cart-errors') || document.getElementById('CartDrawer-CartErrors');\n        errors.textContent = '';\n        this.disableLoading();\n      }).finally(() => {\n        fetchCartItemsCount();\n        checkAndRemoveItems();\n        checkAndRemoveFreebies();\n        checkCartTotal();\n        checkCartProducts();\n        wishlistRender();\n      });\n  }\n\n  updateLiveRegions(line, itemCount) {\n    if (this.currentItemCount === itemCount) {\n      const lineItemError = document.getElementById(`Line-item-error-${line}`) || document.getElementById(`CartDrawer-LineItemError-${line}`);\n      const quantityElement = document.getElementById(`Quantity-${line}`) || document.getElementById(`Drawer-quantity-${line}`);\n      lineItemError\n        .querySelector('.cart-item__error-text')\n        .innerHTML = window.cartStrings.quantityError.replace(\n          '[quantity]',\n          quantityElement.value\n        );\n    }\n    this.currentItemCount = itemCount;\n    this.lineItemStatusElement.setAttribute('aria-hidden', true);\n\n    const cartStatus = document.getElementById('cart-live-region-text') || document.getElementById('CartDrawer-LiveRegionText');\n    cartStatus.setAttribute('aria-hidden', false);\n\n    setTimeout(() => {\n      cartStatus.setAttribute('aria-hidden', true);\n    }, 1000);\n  }\n\n  getSectionInnerHTML(html, selector) {\n    return new DOMParser()\n      .parseFromString(html, 'text/html')\n      .querySelector(selector).innerHTML;\n  }\n\n  enableLoading(line) {\n    const mainCartItems = document.getElementById('main-cart-items') || document.getElementById('CartDrawer-CartItems');\n    mainCartItems.classList.add('cart__items--disabled');\n    const cartItemElements = this.querySelectorAll(`#CartItem-${line} .loading-overlay`);\n    const cartDrawerItemElements = this.querySelectorAll(`#CartDrawer-Item-${line} .loading-overlay`);\n\n    [...cartItemElements, ...cartDrawerItemElements].forEach((overlay) => overlay.classList.remove('hidden'));\n\n    document.activeElement.blur();\n    this.lineItemStatusElement.setAttribute('aria-hidden', false);\n  }\n\n  disableLoading() {\n    const mainCartItems = document.getElementById('main-cart-items') || document.getElementById('CartDrawer-CartItems');\n    mainCartItems.classList.remove('cart__items--disabled');\n  }\n}\n\ncustomElements.define('cart-items', CartItems);\n\nif (!customElements.get('cart-note')) {\n  customElements.define('cart-note', class CartNote extends HTMLElement {\n    constructor() {\n      super();\n\n      this.addEventListener('change', debounce((event) => {\n        const body = JSON.stringify({ note: event.target.value });\n        fetch(`${routes.cart_update_url}`, {...fetchConfig(), ...{ body }});\n      }, 300))\n    }\n  });\n};"],
  "mappings": "AAAA,MAAM,yBAAyB,WAAY,CACzC,aAAc,CACZ,MAAM,EACN,KAAK,iBAAiB,QAAU,OAAU,CACxC,MAAM,eAAe,EACrB,MAAM,UAAY,KAAK,QAAQ,YAAY,GAAK,KAAK,QAAQ,mBAAmB,EAE5E,KAAK,QAAQ,YAAY,GAAK,KAAK,QAAQ,YAAY,EAAE,aAAa,YAAY,EACpF,UAAU,eAAe,KAAK,QAAQ,MAAO,EAAG,KAAM,KAAK,QAAQ,YAAY,EAAE,aAAa,YAAY,CAAC,EAE3G,UAAU,eAAe,KAAK,QAAQ,MAAO,CAAC,CAElD,CAAC,CACH,CACF,CAEA,eAAe,OAAO,qBAAsB,gBAAgB,EAE5D,MAAM,kBAAkB,WAAY,CAClC,aAAc,CACZ,MAAM,EAEN,KAAK,sBAAwB,SAAS,eAAe,gCAAgC,GAAK,SAAS,eAAe,2BAA2B,EAE7I,KAAK,iBAAmB,MAAM,KAAK,KAAK,iBAAiB,oBAAoB,CAAC,EAC3E,OAAO,CAAC,MAAO,gBAAkB,MAAQ,SAAS,cAAc,KAAK,EAAG,CAAC,EAE5E,KAAK,kBAAoB,SAAU,OAAU,CAC3C,KAAK,SAAS,KAAK,CACrB,EAAG,GAAG,EAEN,KAAK,iBAAiB,SAAU,KAAK,kBAAkB,KAAK,IAAI,CAAC,CACnE,CAEA,SAAS,MAAO,CACd,KAAK,eAAe,MAAM,OAAO,QAAQ,MAAO,MAAM,OAAO,MAAO,SAAS,cAAc,aAAa,MAAM,CAAC,CACjH,CAEA,qBAAsB,CACpB,MAAO,CACL,CACE,GAAI,kBACJ,QAAS,SAAS,eAAe,iBAAiB,EAAE,QAAQ,GAC5D,SAAU,cACZ,EACA,CACE,GAAI,wBACJ,QAAS,wBACT,SAAU,kBACZ,EACA,CACE,GAAI,mBACJ,QAAS,SAAS,eAAe,kBAAkB,EAAE,QAAQ,GAC7D,SAAU,cACZ,CACF,CACF,CAEA,eAAe,KAAM,SAAU,KAAM,SAAU,CAG7C,GAFA,KAAK,cAAc,IAAI,EAEnB,SAAU,CACZ,4BAA4B,QAAQ,EAAE,KAAK,IAAM,CAC/C,WAAW,IAAM,CACf,IAAI,OAAS,SAAS,cAAc,aAAa,EAC7C,QAAU,OAAO,OAAO,gBAAmB,YAC7C,OAAO,eAAe,EAExB,oBAAoB,EAAI,CAC1B,EAAE,GAAI,CACR,CAAC,EAED,MACF,CAEA,MAAM,KAAO,KAAK,UAAU,CAC1B,KACA,SACA,SAAU,KAAK,oBAAoB,EAAE,IAAK,SAAY,QAAQ,OAAO,EACrE,aAAc,OAAO,SAAS,QAChC,CAAC,EAED,MAAM,GAAG,OAAO,eAAe,GAAI,CAAC,GAAG,YAAY,EAAQ,IAAM,CAAC,EAC/D,KAAM,UACE,SAAS,KAAK,CACtB,EACA,KAAM,OAAU,CACf,MAAM,YAAc,KAAK,MAAM,KAAK,EACpC,KAAK,UAAU,OAAO,WAAY,YAAY,aAAe,CAAC,EAC9D,MAAM,kBAAoB,SAAS,cAAc,aAAa,EACxD,WAAa,SAAS,eAAe,kBAAkB,EAEzD,YAAY,WAAW,UAAU,OAAO,WAAY,YAAY,aAAe,CAAC,EAChF,mBAAmB,kBAAkB,UAAU,OAAO,WAAY,YAAY,aAAe,CAAC,EAElG,KAAK,oBAAoB,EAAE,SAAS,SAAW,CAC7C,MAAM,iBACJ,SAAS,eAAe,QAAQ,EAAE,EAAE,cAAc,QAAQ,QAAQ,GAAK,SAAS,eAAe,QAAQ,EAAE,EAC3G,iBAAiB,UACf,KAAK,oBAAoB,YAAY,SAAS,QAAQ,OAAO,EAAG,QAAQ,QAAQ,CACpF,EAAE,EAEF,KAAK,kBAAkB,KAAM,YAAY,UAAU,EACnD,MAAM,SAAY,SAAS,eAAe,YAAY,IAAI,EAAE,GAAK,SAAS,eAAe,mBAAmB,IAAI,EAAE,EAC9G,UAAY,SAAS,cAAc,UAAU,IAAI,IAAI,EACvD,kBAAoB,UAAU,kBAAmB,SAAS,cAAc,UAAU,IAAI,IAAI,CAAC,EAAI,SAAS,cAAc,UAAU,IAAI,IAAI,EAAE,MAAM,EACvI,YAAY,aAAe,GAAK,kBACzC,UAAU,kBAAkB,cAAc,sBAAsB,EAAG,kBAAkB,cAAc,GAAG,CAAC,EAC9F,SAAS,cAAc,YAAY,GAAK,mBACjD,UAAU,kBAAmB,SAAS,cAAc,kBAAkB,CAAC,EAEzE,KAAK,eAAe,CAEtB,CAAC,EAAE,MAAM,IAAM,CACb,KAAK,iBAAiB,kBAAkB,EAAE,QAAS,SAAY,QAAQ,UAAU,IAAI,QAAQ,CAAC,EAC9F,MAAM,OAAS,SAAS,eAAe,aAAa,GAAK,SAAS,eAAe,uBAAuB,EACxG,OAAO,YAAc,GACrB,KAAK,eAAe,CACtB,CAAC,EAAE,QAAQ,IAAM,CACf,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,eAAe,CACjB,CAAC,CACL,CAEA,kBAAkB,KAAM,UAAW,CACjC,GAAI,KAAK,mBAAqB,UAAW,CACvC,MAAM,cAAgB,SAAS,eAAe,mBAAmB,IAAI,EAAE,GAAK,SAAS,eAAe,4BAA4B,IAAI,EAAE,EAChI,gBAAkB,SAAS,eAAe,YAAY,IAAI,EAAE,GAAK,SAAS,eAAe,mBAAmB,IAAI,EAAE,EACxH,cACG,cAAc,wBAAwB,EACtC,UAAY,OAAO,YAAY,cAAc,QAC5C,aACA,gBAAgB,KAClB,CACJ,CACA,KAAK,iBAAmB,UACxB,KAAK,sBAAsB,aAAa,cAAe,EAAI,EAE3D,MAAM,WAAa,SAAS,eAAe,uBAAuB,GAAK,SAAS,eAAe,2BAA2B,EAC1H,WAAW,aAAa,cAAe,EAAK,EAE5C,WAAW,IAAM,CACf,WAAW,aAAa,cAAe,EAAI,CAC7C,EAAG,GAAI,CACT,CAEA,oBAAoB,KAAM,SAAU,CAClC,OAAO,IAAI,UAAU,EAClB,gBAAgB,KAAM,WAAW,EACjC,cAAc,QAAQ,EAAE,SAC7B,CAEA,cAAc,KAAM,EACI,SAAS,eAAe,iBAAiB,GAAK,SAAS,eAAe,sBAAsB,GACpG,UAAU,IAAI,uBAAuB,EACnD,MAAM,iBAAmB,KAAK,iBAAiB,aAAa,IAAI,mBAAmB,EAC7E,uBAAyB,KAAK,iBAAiB,oBAAoB,IAAI,mBAAmB,EAEhG,CAAC,GAAG,iBAAkB,GAAG,sBAAsB,EAAE,QAAS,SAAY,QAAQ,UAAU,OAAO,QAAQ,CAAC,EAExG,SAAS,cAAc,KAAK,EAC5B,KAAK,sBAAsB,aAAa,cAAe,EAAK,CAC9D,CAEA,gBAAiB,EACO,SAAS,eAAe,iBAAiB,GAAK,SAAS,eAAe,sBAAsB,GACpG,UAAU,OAAO,uBAAuB,CACxD,CACF,CAEA,eAAe,OAAO,aAAc,SAAS,EAExC,eAAe,IAAI,WAAW,GACjC,eAAe,OAAO,YAAa,cAAuB,WAAY,CACpE,aAAc,CACZ,MAAM,EAEN,KAAK,iBAAiB,SAAU,SAAU,OAAU,CAClD,MAAM,KAAO,KAAK,UAAU,CAAE,KAAM,MAAM,OAAO,KAAM,CAAC,EACxD,MAAM,GAAG,OAAO,eAAe,GAAI,CAAC,GAAG,YAAY,EAAQ,IAAM,CAAC,CACpE,EAAG,GAAG,CAAC,CACT,CACF,CAAC",
  "names": []
}
