{
  "version": 3,
  "sources": ["/cdn/shop/t/29/assets/details-modal.js?hcx=mobile-search-reset-v2"],
  "sourcesContent": ["class DetailsModal extends HTMLElement {\n  constructor() {\n    super();\n    this.detailsContainer = this.querySelector('details');\n    this.summaryToggle = this.querySelector('summary');\n\n    this.detailsContainer.addEventListener('keyup', (event) => event.code.toUpperCase() === 'ESCAPE' && this.close());\n    this.summaryToggle.addEventListener('click', this.onSummaryClick.bind(this));\n    const closeButton = this.querySelector('.modal__close-button') || this.querySelector('button[type=\"button\"]');\n    closeButton?.addEventListener('click', this.close.bind(this));\n\n    this.summaryToggle.setAttribute('role', 'button');\n  }\n\n  isOpen() {\n    return this.detailsContainer.hasAttribute('open');\n  }\n\n  onSummaryClick(event) {\n    event.preventDefault();\n    event.target.closest('details').hasAttribute('open') ? this.close() : this.open(event);\n  }\n\n  onBodyClick(event) {\n    if (!this.contains(event.target) || event.target.classList.contains('modal-overlay')) this.close(false);\n  }\n\n  open(event) {\n    this.onBodyClickEvent = this.onBodyClickEvent || this.onBodyClick.bind(this);\n    event.target.closest('details').setAttribute('open', true);\n    document.body.addEventListener('click', this.onBodyClickEvent);\n    document.body.classList.add('overflow-hidden');\n    const initialInput = this.detailsContainer.querySelector('input:not([type=\"hidden\"])');\n    const shouldPreserveHeaderSearchScroll = this.classList.contains('header__search') && initialInput;\n    const scrollX = window.scrollX;\n    const scrollY = window.scrollY;\n\n    trapFocus(\n      this.detailsContainer.querySelector('[tabindex=\"-1\"]'),\n      initialInput\n    );\n\n    if (shouldPreserveHeaderSearchScroll) {\n      requestAnimationFrame(() => {\n        initialInput.focus({ preventScroll: true });\n        window.scrollTo(scrollX, scrollY);\n      });\n    }\n  }\n\n  resetHeaderSearch() {\n    if (!this.classList.contains('header__search')) return;\n\n    this.querySelectorAll('predictive-search').forEach((predictiveSearch) => {\n      if (typeof predictiveSearch.close === 'function') {\n        predictiveSearch.close(true);\n        return;\n      }\n\n      const input = predictiveSearch.querySelector('input[type=\"search\"]');\n      const results = predictiveSearch.querySelector('[data-predictive-search]');\n\n      if (input) {\n        input.value = '';\n        input.setAttribute('aria-expanded', false);\n        input.setAttribute('aria-activedescendant', '');\n      }\n\n      if (results) results.innerHTML = '';\n      predictiveSearch.querySelector('button[type=\"reset\"]')?.classList.add('hidden');\n      predictiveSearch.removeAttribute('loading');\n      predictiveSearch.removeAttribute('open');\n      predictiveSearch.removeAttribute('results');\n    });\n  }\n\n  close(focusToggle = true) {\n    this.resetHeaderSearch();\n    removeTrapFocus(focusToggle ? this.summaryToggle : null);\n    this.detailsContainer.removeAttribute('open');\n    document.body.removeEventListener('click', this.onBodyClickEvent);\n    document.body.classList.remove('overflow-hidden');\n  }\n}\n\ncustomElements.define('details-modal', DetailsModal);\n"],
  "mappings": "AAAA,MAAM,qBAAqB,WAAY,CACrC,aAAc,CACZ,MAAM,EACN,KAAK,iBAAmB,KAAK,cAAc,SAAS,EACpD,KAAK,cAAgB,KAAK,cAAc,SAAS,EAEjD,KAAK,iBAAiB,iBAAiB,QAAU,OAAU,MAAM,KAAK,YAAY,IAAM,UAAY,KAAK,MAAM,CAAC,EAChH,KAAK,cAAc,iBAAiB,QAAS,KAAK,eAAe,KAAK,IAAI,CAAC,GACvD,KAAK,cAAc,sBAAsB,GAAK,KAAK,cAAc,uBAAuB,IAC/F,iBAAiB,QAAS,KAAK,MAAM,KAAK,IAAI,CAAC,EAE5D,KAAK,cAAc,aAAa,OAAQ,QAAQ,CAClD,CAEA,QAAS,CACP,OAAO,KAAK,iBAAiB,aAAa,MAAM,CAClD,CAEA,eAAe,MAAO,CACpB,MAAM,eAAe,EACrB,MAAM,OAAO,QAAQ,SAAS,EAAE,aAAa,MAAM,EAAI,KAAK,MAAM,EAAI,KAAK,KAAK,KAAK,CACvF,CAEA,YAAY,MAAO,EACb,CAAC,KAAK,SAAS,MAAM,MAAM,GAAK,MAAM,OAAO,UAAU,SAAS,eAAe,IAAG,KAAK,MAAM,EAAK,CACxG,CAEA,KAAK,MAAO,CACV,KAAK,iBAAmB,KAAK,kBAAoB,KAAK,YAAY,KAAK,IAAI,EAC3E,MAAM,OAAO,QAAQ,SAAS,EAAE,aAAa,OAAQ,EAAI,EACzD,SAAS,KAAK,iBAAiB,QAAS,KAAK,gBAAgB,EAC7D,SAAS,KAAK,UAAU,IAAI,iBAAiB,EAC7C,MAAM,aAAe,KAAK,iBAAiB,cAAc,4BAA4B,EAC/E,iCAAmC,KAAK,UAAU,SAAS,gBAAgB,GAAK,aAChF,QAAU,OAAO,QACjB,QAAU,OAAO,QAEvB,UACE,KAAK,iBAAiB,cAAc,iBAAiB,EACrD,YACF,EAEI,kCACF,sBAAsB,IAAM,CAC1B,aAAa,MAAM,CAAE,cAAe,EAAK,CAAC,EAC1C,OAAO,SAAS,QAAS,OAAO,CAClC,CAAC,CAEL,CAEA,mBAAoB,CACb,KAAK,UAAU,SAAS,gBAAgB,GAE7C,KAAK,iBAAiB,mBAAmB,EAAE,QAAS,kBAAqB,CACvE,GAAI,OAAO,iBAAiB,OAAU,WAAY,CAChD,iBAAiB,MAAM,EAAI,EAC3B,MACF,CAEA,MAAM,MAAQ,iBAAiB,cAAc,sBAAsB,EAC7D,QAAU,iBAAiB,cAAc,0BAA0B,EAErE,QACF,MAAM,MAAQ,GACd,MAAM,aAAa,gBAAiB,EAAK,EACzC,MAAM,aAAa,wBAAyB,EAAE,GAG5C,UAAS,QAAQ,UAAY,IACjC,iBAAiB,cAAc,sBAAsB,GAAG,UAAU,IAAI,QAAQ,EAC9E,iBAAiB,gBAAgB,SAAS,EAC1C,iBAAiB,gBAAgB,MAAM,EACvC,iBAAiB,gBAAgB,SAAS,CAC5C,CAAC,CACH,CAEA,MAAM,YAAc,GAAM,CACxB,KAAK,kBAAkB,EACvB,gBAAgB,YAAc,KAAK,cAAgB,IAAI,EACvD,KAAK,iBAAiB,gBAAgB,MAAM,EAC5C,SAAS,KAAK,oBAAoB,QAAS,KAAK,gBAAgB,EAChE,SAAS,KAAK,UAAU,OAAO,iBAAiB,CAClD,CACF,CAEA,eAAe,OAAO,gBAAiB,YAAY",
  "names": []
}
