{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/cart-disclosure-modal.js?deephat=1"],
  "sourcesContent": ["if (!customElements.get('cart-disclosure-modal')) {\n  class CartDisclosureModal extends HTMLElement {\n    constructor() {\n      super();\n\n      this.onOpenerClick = this.onOpenerClick.bind(this);\n      this.onCloseClick = this.onCloseClick.bind(this);\n      this.onModalClick = this.onModalClick.bind(this);\n      this.onKeyUp = this.onKeyUp.bind(this);\n      this.removeIfOpenerDisconnected = this.removeIfOpenerDisconnected.bind(this);\n    }\n\n    connectedCallback() {\n      if (this.initialized) return;\n\n      this.initialized = true;\n      this.dialog = this.querySelector('[role=\"dialog\"]');\n      const controlsId = this.dialog?.id;\n      this.opener = this.previousElementSibling?.classList.contains('cart-item__disclosure')\n        ? this.previousElementSibling\n        : controlsId\n          ? document.querySelector(`[aria-controls=\"${controlsId}\"]`)\n          : null;\n      this.closeButton = this.querySelector('[data-cart-disclosure-close]');\n\n      let shouldRestoreOpen = false;\n      document.querySelectorAll('cart-disclosure-modal').forEach((modal) => {\n        if (modal === this || modal.id !== this.id) return;\n\n        shouldRestoreOpen = shouldRestoreOpen || modal.hasAttribute('open');\n        modal.remove();\n      });\n\n      this.opener?.addEventListener('click', this.onOpenerClick);\n      this.closeButton?.addEventListener('click', this.onCloseClick);\n      this.addEventListener('click', this.onModalClick);\n      this.addEventListener('keyup', this.onKeyUp);\n\n      if (this.parentElement !== document.body) {\n        this.isMoving = true;\n        document.body.appendChild(this);\n        this.isMoving = false;\n      }\n\n      this.observeOpener();\n\n      if (shouldRestoreOpen) this.show();\n    }\n\n    disconnectedCallback() {\n      if (this.isMoving) return;\n\n      this.openerObserver?.disconnect();\n      this.opener?.removeEventListener('click', this.onOpenerClick);\n      this.closeButton?.removeEventListener('click', this.onCloseClick);\n      this.removeEventListener('click', this.onModalClick);\n      this.removeEventListener('keyup', this.onKeyUp);\n\n      if (this.hasAttribute('open')) this.hide(false);\n    }\n\n    observeOpener() {\n      this.openerObserver?.disconnect();\n\n      if (!this.opener) return;\n\n      this.openerObserver = new MutationObserver(this.removeIfOpenerDisconnected);\n      this.openerObserver.observe(document.body, { childList: true, subtree: true });\n      this.removeIfOpenerDisconnected();\n    }\n\n    removeIfOpenerDisconnected() {\n      if (this.isMoving || !this.isConnected || this.opener?.isConnected) return;\n\n      this.remove();\n    }\n\n    onOpenerClick(event) {\n      event.preventDefault();\n      event.stopPropagation();\n      this.show();\n    }\n\n    onCloseClick(event) {\n      event.preventDefault();\n      event.stopPropagation();\n      this.hide();\n    }\n\n    onModalClick(event) {\n      event.stopPropagation();\n\n      if (event.target === this) this.hide();\n    }\n\n    onKeyUp(event) {\n      if (event.code.toUpperCase() !== 'ESCAPE') return;\n\n      event.preventDefault();\n      event.stopPropagation();\n      this.hide();\n    }\n\n    show() {\n      if (this.hasAttribute('open')) return;\n\n      document.querySelectorAll('cart-disclosure-modal[open]').forEach((modal) => {\n        if (modal !== this) modal.hide(false);\n      });\n\n      this.lockScroll();\n      this.setAttribute('open', '');\n      this.opener?.setAttribute('aria-expanded', 'true');\n\n      if (typeof trapFocus === 'function') {\n        trapFocus(this, this.dialog);\n      } else {\n        this.dialog?.focus();\n      }\n\n      window.pauseAllMedia();\n    }\n\n    hide(restoreFocus = true) {\n      if (!this.hasAttribute('open')) return;\n\n      this.removeAttribute('open');\n      this.opener?.setAttribute('aria-expanded', 'false');\n      this.unlockScroll();\n\n      if (restoreFocus) {\n        this.restoreFocusTrap();\n      } else if (typeof removeTrapFocus === 'function') {\n        removeTrapFocus();\n      }\n\n      window.pauseAllMedia();\n    }\n\n    lockScroll() {\n      this.bodyOverflowWasHidden = document.body.classList.contains('overflow-hidden');\n      this.previousBodyPaddingRight = document.body.style.paddingRight;\n\n      if (this.bodyOverflowWasHidden) return;\n\n      const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n      if (scrollbarWidth > 0) {\n        const currentPaddingRight = parseFloat(window.getComputedStyle(document.body).paddingRight) || 0;\n        document.body.style.paddingRight = `${currentPaddingRight + scrollbarWidth}px`;\n      }\n\n      document.body.classList.add('overflow-hidden');\n    }\n\n    unlockScroll() {\n      if (this.bodyOverflowWasHidden) return;\n\n      document.body.classList.remove('overflow-hidden');\n      document.body.style.paddingRight = this.previousBodyPaddingRight;\n    }\n\n    restoreFocusTrap() {\n      const cartDrawer = this.opener?.closest('cart-drawer.active');\n      const cartNotification = this.opener?.closest('cart-notification')?.querySelector('#cart-notification.active');\n\n      if (cartDrawer && typeof trapFocus === 'function') {\n        const containerToTrapFocusOn = cartDrawer.classList.contains('is-empty')\n          ? cartDrawer.querySelector('.drawer__inner-empty')\n          : document.getElementById('CartDrawer');\n\n        if (containerToTrapFocusOn) {\n          trapFocus(containerToTrapFocusOn, this.opener);\n          return;\n        }\n      }\n\n      if (cartNotification && typeof trapFocus === 'function') {\n        trapFocus(cartNotification, this.opener);\n        return;\n      }\n\n      if (typeof removeTrapFocus === 'function') {\n        removeTrapFocus(this.opener);\n      } else {\n        this.opener?.focus();\n      }\n    }\n  }\n\n  customElements.define('cart-disclosure-modal', CartDisclosureModal);\n}\n"],
  "mappings": "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",
  "names": []
}
