{
  "version": 3,
  "sources": ["/cdn/shop/t/7/assets/hn-bottom-sheet-v16.js?custom_v=10"],
  "sourcesContent": ["(() => {\n  if (window.HNBottomSheet && window.HNBottomSheet.__version === '1.6.2') return;\n\n  const SELECTOR_OPEN = '[data-hn-sheet-open]';\n  const SELECTOR_SHEET = '[data-hn-sheet]';\n  const SELECTOR_CLOSE = '[data-hn-sheet-close]';\n  const SELECTOR_PANEL = '[data-hn-sheet-panel]';\n  const SELECTOR_SCROLL = '.hn-sheet__content';\n  const OPEN_CLASS = 'hn-sheet-open';\n  const VERSION = '1.6.2';\n  const FOCUSABLE_SELECTOR = [\n    'a[href]',\n    'button:not([disabled])',\n    'textarea:not([disabled])',\n    'input:not([disabled])',\n    'select:not([disabled])',\n    '[tabindex]:not([tabindex=\"-1\"])'\n  ].join(',');\n\n  let activeSheet = null;\n  let previousFocus = null;\n  let closeTimer = null;\n  let lockedScrollY = 0;\n  let savedBodyStyle = null;\n  let savedHtmlStyle = null;\n  let touchStartY = 0;\n\n  const portalState = new WeakMap();\n\n  function normalizeId(value) {\n    return String(value || '')\n      .trim()\n      .toLowerCase()\n      .replace(/[^a-z0-9]+/g, '-')\n      .replace(/^-+|-+$/g, '');\n  }\n\n  function rawId(value) {\n    return String(value || '').trim();\n  }\n\n  function cssEscape(value) {\n    if (window.CSS && typeof window.CSS.escape === 'function') return window.CSS.escape(value);\n    return String(value).replace(/\"/g, '\\\\\"');\n  }\n\n  function findSheet(id) {\n    const raw = rawId(id);\n    const normalized = normalizeId(id);\n    const candidates = [];\n\n    if (raw) candidates.push(raw);\n    if (normalized && normalized !== raw) candidates.push(normalized);\n\n    for (const candidate of candidates) {\n      const sheet = document.querySelector(`${SELECTOR_SHEET}[data-hn-sheet=\"${cssEscape(candidate)}\"]`)\n        || document.getElementById(`HNBottomSheet-${candidate}`);\n\n      if (sheet) return sheet;\n    }\n\n    return null;\n  }\n\n  function portalToBody(sheet) {\n    if (!sheet || !(sheet instanceof HTMLElement)) return;\n    if (sheet.parentElement === document.body) return;\n\n    portalState.set(sheet, {\n      parent: sheet.parentNode,\n      nextSibling: sheet.nextSibling\n    });\n\n    document.body.appendChild(sheet);\n  }\n\n  function getFocusableElements(sheet) {\n    return Array.from(sheet.querySelectorAll(FOCUSABLE_SELECTOR)).filter((element) => {\n      if (!(element instanceof HTMLElement)) return false;\n      return !element.hasAttribute('disabled') && element.getAttribute('aria-hidden') !== 'true';\n    });\n  }\n\n  function focusFirstElement(sheet) {\n    const closeButton = sheet.querySelector('.hn-sheet__close');\n    const panel = sheet.querySelector(SELECTOR_PANEL);\n    const focusable = getFocusableElements(sheet);\n    const target = closeButton || focusable[0] || panel;\n\n    if (target && typeof target.focus === 'function') target.focus({ preventScroll: true });\n  }\n\n  function saveCurrentStyles() {\n    savedBodyStyle = {\n      position: document.body.style.position,\n      top: document.body.style.top,\n      left: document.body.style.left,\n      right: document.body.style.right,\n      width: document.body.style.width,\n      overflow: document.body.style.overflow\n    };\n\n    savedHtmlStyle = {\n      overflow: document.documentElement.style.overflow,\n      scrollBehavior: document.documentElement.style.scrollBehavior\n    };\n  }\n\n  function lockPage() {\n    if (document.documentElement.classList.contains(OPEN_CLASS)) return;\n\n    lockedScrollY = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0;\n    saveCurrentStyles();\n\n    document.documentElement.classList.add(OPEN_CLASS);\n    document.body.classList.add(OPEN_CLASS);\n\n    document.documentElement.style.overflow = 'hidden';\n    document.body.style.position = 'fixed';\n    document.body.style.top = `-${lockedScrollY}px`;\n    document.body.style.left = '0';\n    document.body.style.right = '0';\n    document.body.style.width = '100%';\n    document.body.style.overflow = 'hidden';\n  }\n\n  function unlockPage() {\n    if (!document.documentElement.classList.contains(OPEN_CLASS)) return;\n\n    document.documentElement.classList.remove(OPEN_CLASS);\n    document.body.classList.remove(OPEN_CLASS);\n\n    if (savedBodyStyle) {\n      document.body.style.position = savedBodyStyle.position;\n      document.body.style.top = savedBodyStyle.top;\n      document.body.style.left = savedBodyStyle.left;\n      document.body.style.right = savedBodyStyle.right;\n      document.body.style.width = savedBodyStyle.width;\n      document.body.style.overflow = savedBodyStyle.overflow;\n    }\n\n    if (savedHtmlStyle) {\n      document.documentElement.style.overflow = savedHtmlStyle.overflow;\n      document.documentElement.style.scrollBehavior = 'auto';\n    }\n\n    window.scrollTo(0, lockedScrollY);\n\n    if (savedHtmlStyle) {\n      window.requestAnimationFrame(() => {\n        document.documentElement.style.scrollBehavior = savedHtmlStyle.scrollBehavior;\n      });\n    }\n\n    savedBodyStyle = null;\n    savedHtmlStyle = null;\n  }\n\n  function isScrollable(element) {\n    return Boolean(element && element.scrollHeight > element.clientHeight + 1);\n  }\n\n  function getSheetScrollContainer(target) {\n    if (!activeSheet || !(target instanceof Element)) return null;\n    const scrollContainer = target.closest(SELECTOR_SCROLL);\n    if (scrollContainer && activeSheet.contains(scrollContainer)) return scrollContainer;\n    return null;\n  }\n\n  function shouldPreventScroll(target, deltaY) {\n    const scrollContainer = getSheetScrollContainer(target);\n\n    if (!scrollContainer) return true;\n    if (!isScrollable(scrollContainer)) return true;\n\n    const scrollTop = scrollContainer.scrollTop;\n    const maxScrollTop = scrollContainer.scrollHeight - scrollContainer.clientHeight;\n    const movingUp = deltaY < 0;\n    const movingDown = deltaY > 0;\n\n    if (movingUp && scrollTop <= 0) return true;\n    if (movingDown && scrollTop >= maxScrollTop - 1) return true;\n\n    return false;\n  }\n\n  function openSheet(id) {\n    const sheet = findSheet(id);\n\n    if (!sheet) {\n      if (window.console && typeof window.console.warn === 'function') {\n        window.console.warn('[HN Bottom Sheet] No sheet found for:', id);\n      }\n      return false;\n    }\n\n    if (closeTimer) {\n      window.clearTimeout(closeTimer);\n      closeTimer = null;\n    }\n\n    if (activeSheet && activeSheet !== sheet) closeSheet(false, true);\n\n    portalToBody(sheet);\n\n    previousFocus = document.activeElement instanceof HTMLElement ? document.activeElement : null;\n    activeSheet = sheet;\n\n    sheet.hidden = false;\n    sheet.removeAttribute('hidden');\n    sheet.setAttribute('aria-hidden', 'false');\n    lockPage();\n\n    window.requestAnimationFrame(() => {\n      sheet.classList.add('is-active');\n      focusFirstElement(sheet);\n    });\n\n    return true;\n  }\n\n  function closeSheet(restoreFocus = true, immediate = false) {\n    if (!activeSheet) return false;\n\n    const sheet = activeSheet;\n    sheet.classList.remove('is-active');\n    sheet.setAttribute('aria-hidden', 'true');\n    unlockPage();\n    activeSheet = null;\n\n    const hideSheet = () => {\n      sheet.hidden = true;\n      sheet.setAttribute('hidden', '');\n    };\n\n    if (immediate) hideSheet();\n    else closeTimer = window.setTimeout(hideSheet, 240);\n\n    if (restoreFocus && previousFocus && typeof previousFocus.focus === 'function') {\n      previousFocus.focus({ preventScroll: true });\n    }\n\n    previousFocus = null;\n    return true;\n  }\n\n  function trapFocus(event) {\n    if (!activeSheet || event.key !== 'Tab') return;\n\n    const focusable = getFocusableElements(activeSheet);\n    if (!focusable.length) {\n      event.preventDefault();\n      const panel = activeSheet.querySelector(SELECTOR_PANEL);\n      if (panel) panel.focus({ preventScroll: true });\n      return;\n    }\n\n    const first = focusable[0];\n    const last = focusable[focusable.length - 1];\n\n    if (event.shiftKey && document.activeElement === first) {\n      event.preventDefault();\n      last.focus({ preventScroll: true });\n    } else if (!event.shiftKey && document.activeElement === last) {\n      event.preventDefault();\n      first.focus({ preventScroll: true });\n    }\n  }\n\n  document.addEventListener('click', (event) => {\n    const openButton = event.target.closest(SELECTOR_OPEN);\n    if (openButton) {\n      event.preventDefault();\n      openSheet(openButton.getAttribute('data-hn-sheet-open'));\n      return;\n    }\n\n    if (activeSheet && event.target.closest(SELECTOR_CLOSE)) {\n      event.preventDefault();\n      closeSheet(true);\n    }\n  });\n\n  document.addEventListener('keydown', (event) => {\n    if (!activeSheet) return;\n\n    if (event.key === 'Escape') {\n      event.preventDefault();\n      closeSheet(true);\n      return;\n    }\n\n    trapFocus(event);\n  });\n\n  document.addEventListener('wheel', (event) => {\n    if (!activeSheet) return;\n    if (shouldPreventScroll(event.target, event.deltaY)) event.preventDefault();\n  }, { passive: false });\n\n  document.addEventListener('touchstart', (event) => {\n    if (!activeSheet || !event.touches || !event.touches.length) return;\n    touchStartY = event.touches[0].clientY;\n  }, { passive: true });\n\n  document.addEventListener('touchmove', (event) => {\n    if (!activeSheet || !event.touches || !event.touches.length) return;\n    const deltaY = touchStartY - event.touches[0].clientY;\n    if (shouldPreventScroll(event.target, deltaY)) event.preventDefault();\n  }, { passive: false });\n\n  document.addEventListener('shopify:section:unload', (event) => {\n    if (!event.target) return;\n    const sectionId = event.target.getAttribute('data-section-id') || event.target.id;\n    if (!sectionId) return;\n\n    document.querySelectorAll(SELECTOR_SHEET).forEach((sheet) => {\n      const sheetId = sheet.getAttribute('data-hn-sheet') || '';\n      if (sheetId.includes(normalizeId(sectionId))) sheet.remove();\n    });\n  });\n\n  window.HNBottomSheet = {\n    __version: VERSION,\n    open: openSheet,\n    close: closeSheet\n  };\n})();\n"],
  "mappings": "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",
  "names": []
}
