{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/stynnco-drawer-guard.js?qa=drawer-guard-live"],
  "sourcesContent": ["(() => {\n  let lastInteractionScrollY = window.scrollY || 0;\n\n  const lockPage = () => {\n    if (!document.body.dataset.stynncoDrawerScrollY) {\n      document.body.dataset.stynncoDrawerScrollY = String(lastInteractionScrollY || window.scrollY || 0);\n    }\n\n    const scrollY = Number(document.body.dataset.stynncoDrawerScrollY || 0);\n\n    document.documentElement.classList.add('stynnco-drawer-lock');\n    document.body.classList.add('stynnco-drawer-lock', 'overflow-hidden-tablet');\n\n    if (Math.abs(window.scrollY - scrollY) > 1) {\n      window.scrollTo(0, scrollY);\n      window.requestAnimationFrame(() => window.scrollTo(0, scrollY));\n    }\n  };\n\n  const unlockPage = () => {\n    const scrollY = Number(document.body.dataset.stynncoDrawerScrollY || 0);\n\n    document.documentElement.classList.remove('stynnco-drawer-lock');\n    document.body.classList.remove(\n      'stynnco-drawer-lock',\n      'overflow-hidden-tablet',\n      'overflow-hidden-mobile',\n      'overflow-hidden-desktop'\n    );\n    delete document.body.dataset.stynncoDrawerScrollY;\n\n    if (scrollY > 0 && Math.abs(window.scrollY - scrollY) > 1) {\n      window.scrollTo(0, scrollY);\n    }\n  };\n\n  const isPointInside = (element, event) => {\n    if (!element) return false;\n\n    const point = event.touches?.[0] || event.changedTouches?.[0] || event;\n    if (typeof point.clientX !== 'number' || typeof point.clientY !== 'number') {\n      return element.contains(event.target);\n    }\n\n    const rect = element.getBoundingClientRect();\n    return (\n      point.clientX >= rect.left &&\n      point.clientX <= rect.right &&\n      point.clientY >= rect.top &&\n      point.clientY <= rect.bottom\n    );\n  };\n\n  const closeDrawer = (details) => {\n    const summary = details.querySelector('summary');\n\n    details.classList.remove('menu-opening');\n    details.classList.add('drawer-closing');\n    summary?.setAttribute('aria-expanded', 'false');\n    unlockPage();\n\n    window.setTimeout(() => {\n      details.removeAttribute('open');\n      details.classList.remove('drawer-closing');\n    }, 260);\n  };\n\n  const guardOutsideTap = (event) => {\n    const details = document.querySelector('header-drawer details[open]');\n    if (!details) return;\n\n    const drawer = details.querySelector('.streetwear-header-drawer');\n    const summary = details.querySelector('summary');\n    const tappedInsideDrawer = isPointInside(drawer, event);\n    const tappedSummary = summary?.contains(event.target);\n\n    if (tappedInsideDrawer || tappedSummary) return;\n\n    event.preventDefault();\n    event.stopPropagation();\n    event.stopImmediatePropagation();\n    closeDrawer(details);\n  };\n\n  const guardPageScroll = (event) => {\n    const details = document.querySelector('header-drawer details[open]');\n    if (!details) return;\n\n    const drawer = details.querySelector('.streetwear-header-drawer');\n    if (isPointInside(drawer, event)) return;\n\n    event.preventDefault();\n    event.stopPropagation();\n  };\n\n  const syncDrawerState = () => {\n    const details = document.querySelector('header-drawer details[open]');\n    if (details && !details.classList.contains('drawer-closing')) {\n      lockPage();\n    } else {\n      unlockPage();\n    }\n  };\n\n  const observeDrawers = () => {\n    document.querySelectorAll('header-drawer details').forEach((details) => {\n      if (details.dataset.stynncoDrawerObserved === 'true') return;\n\n      details.dataset.stynncoDrawerObserved = 'true';\n      new MutationObserver(syncDrawerState).observe(details, {\n        attributes: true,\n        attributeFilter: ['open', 'class'],\n      });\n    });\n  };\n\n  const rememberScrollBeforeOpen = (event) => {\n    lastInteractionScrollY = window.scrollY || 0;\n\n    const summary = event.target.closest?.('header-drawer summary');\n    const details = summary?.closest('details');\n    if (!summary || !details || details.hasAttribute('open')) return;\n\n    document.body.dataset.stynncoDrawerScrollY = String(window.scrollY || 0);\n  };\n\n  document.addEventListener('pointerdown', rememberScrollBeforeOpen, true);\n  document.addEventListener('touchstart', rememberScrollBeforeOpen, { capture: true, passive: true });\n  document.addEventListener('mousedown', rememberScrollBeforeOpen, true);\n  document.addEventListener('pointerdown', guardOutsideTap, true);\n  document.addEventListener('touchstart', guardOutsideTap, { capture: true, passive: false });\n  document.addEventListener('touchmove', guardPageScroll, { capture: true, passive: false });\n  document.addEventListener('wheel', guardPageScroll, { capture: true, passive: false });\n  document.addEventListener('click', syncDrawerState, true);\n  document.addEventListener('DOMContentLoaded', () => {\n    observeDrawers();\n    syncDrawerState();\n  });\n  observeDrawers();\n  syncDrawerState();\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,IAAI,uBAAyB,OAAO,SAAW,EAE/C,MAAM,SAAW,IAAM,CAChB,SAAS,KAAK,QAAQ,uBACzB,SAAS,KAAK,QAAQ,qBAAuB,OAAO,wBAA0B,OAAO,SAAW,CAAC,GAGnG,MAAM,QAAU,OAAO,SAAS,KAAK,QAAQ,sBAAwB,CAAC,EAEtE,SAAS,gBAAgB,UAAU,IAAI,qBAAqB,EAC5D,SAAS,KAAK,UAAU,IAAI,sBAAuB,wBAAwB,EAEvE,KAAK,IAAI,OAAO,QAAU,OAAO,EAAI,IACvC,OAAO,SAAS,EAAG,OAAO,EAC1B,OAAO,sBAAsB,IAAM,OAAO,SAAS,EAAG,OAAO,CAAC,EAElE,EAEM,WAAa,IAAM,CACvB,MAAM,QAAU,OAAO,SAAS,KAAK,QAAQ,sBAAwB,CAAC,EAEtE,SAAS,gBAAgB,UAAU,OAAO,qBAAqB,EAC/D,SAAS,KAAK,UAAU,OACtB,sBACA,yBACA,yBACA,yBACF,EACA,OAAO,SAAS,KAAK,QAAQ,qBAEzB,QAAU,GAAK,KAAK,IAAI,OAAO,QAAU,OAAO,EAAI,GACtD,OAAO,SAAS,EAAG,OAAO,CAE9B,EAEM,cAAgB,CAAC,QAAS,QAAU,CACxC,GAAI,CAAC,QAAS,MAAO,GAErB,MAAM,MAAQ,MAAM,UAAU,CAAC,GAAK,MAAM,iBAAiB,CAAC,GAAK,MACjE,GAAI,OAAO,MAAM,SAAY,UAAY,OAAO,MAAM,SAAY,SAChE,OAAO,QAAQ,SAAS,MAAM,MAAM,EAGtC,MAAM,KAAO,QAAQ,sBAAsB,EAC3C,OACE,MAAM,SAAW,KAAK,MACtB,MAAM,SAAW,KAAK,OACtB,MAAM,SAAW,KAAK,KACtB,MAAM,SAAW,KAAK,MAE1B,EAEM,YAAe,SAAY,CAC/B,MAAM,QAAU,QAAQ,cAAc,SAAS,EAE/C,QAAQ,UAAU,OAAO,cAAc,EACvC,QAAQ,UAAU,IAAI,gBAAgB,EACtC,SAAS,aAAa,gBAAiB,OAAO,EAC9C,WAAW,EAEX,OAAO,WAAW,IAAM,CACtB,QAAQ,gBAAgB,MAAM,EAC9B,QAAQ,UAAU,OAAO,gBAAgB,CAC3C,EAAG,GAAG,CACR,EAEM,gBAAmB,OAAU,CACjC,MAAM,QAAU,SAAS,cAAc,6BAA6B,EACpE,GAAI,CAAC,QAAS,OAEd,MAAM,OAAS,QAAQ,cAAc,2BAA2B,EAC1D,QAAU,QAAQ,cAAc,SAAS,EACzC,mBAAqB,cAAc,OAAQ,KAAK,EAChD,cAAgB,SAAS,SAAS,MAAM,MAAM,EAEhD,oBAAsB,gBAE1B,MAAM,eAAe,EACrB,MAAM,gBAAgB,EACtB,MAAM,yBAAyB,EAC/B,YAAY,OAAO,EACrB,EAEM,gBAAmB,OAAU,CACjC,MAAM,QAAU,SAAS,cAAc,6BAA6B,EACpE,GAAI,CAAC,QAAS,OAEd,MAAM,OAAS,QAAQ,cAAc,2BAA2B,EAC5D,cAAc,OAAQ,KAAK,IAE/B,MAAM,eAAe,EACrB,MAAM,gBAAgB,EACxB,EAEM,gBAAkB,IAAM,CAC5B,MAAM,QAAU,SAAS,cAAc,6BAA6B,EAChE,SAAW,CAAC,QAAQ,UAAU,SAAS,gBAAgB,EACzD,SAAS,EAET,WAAW,CAEf,EAEM,eAAiB,IAAM,CAC3B,SAAS,iBAAiB,uBAAuB,EAAE,QAAS,SAAY,CAClE,QAAQ,QAAQ,wBAA0B,SAE9C,QAAQ,QAAQ,sBAAwB,OACxC,IAAI,iBAAiB,eAAe,EAAE,QAAQ,QAAS,CACrD,WAAY,GACZ,gBAAiB,CAAC,OAAQ,OAAO,CACnC,CAAC,EACH,CAAC,CACH,EAEM,yBAA4B,OAAU,CAC1C,uBAAyB,OAAO,SAAW,EAE3C,MAAM,QAAU,MAAM,OAAO,UAAU,uBAAuB,EACxD,QAAU,SAAS,QAAQ,SAAS,EACtC,CAAC,SAAW,CAAC,SAAW,QAAQ,aAAa,MAAM,IAEvD,SAAS,KAAK,QAAQ,qBAAuB,OAAO,OAAO,SAAW,CAAC,EACzE,EAEA,SAAS,iBAAiB,cAAe,yBAA0B,EAAI,EACvE,SAAS,iBAAiB,aAAc,yBAA0B,CAAE,QAAS,GAAM,QAAS,EAAK,CAAC,EAClG,SAAS,iBAAiB,YAAa,yBAA0B,EAAI,EACrE,SAAS,iBAAiB,cAAe,gBAAiB,EAAI,EAC9D,SAAS,iBAAiB,aAAc,gBAAiB,CAAE,QAAS,GAAM,QAAS,EAAM,CAAC,EAC1F,SAAS,iBAAiB,YAAa,gBAAiB,CAAE,QAAS,GAAM,QAAS,EAAM,CAAC,EACzF,SAAS,iBAAiB,QAAS,gBAAiB,CAAE,QAAS,GAAM,QAAS,EAAM,CAAC,EACrF,SAAS,iBAAiB,QAAS,gBAAiB,EAAI,EACxD,SAAS,iBAAiB,mBAAoB,IAAM,CAClD,eAAe,EACf,gBAAgB,CAClB,CAAC,EACD,eAAe,EACf,gBAAgB,CAClB,GAAG",
  "names": []
}
