{
  "version": 3,
  "sources": ["/cdn/shop/t/9/assets/baf-scroll-subnav.js?baf_cache=overscroll-20260616"],
  "sourcesContent": ["(() => {\n  const selector = '[data-baf-scroll-subnav]';\n  const state = window.BAFScrollSubnav || {\n    navs: new Set(),\n    lastScrollY: Math.max(window.scrollY || 0, 0),\n    ticking: false,\n    measureTicking: false,\n    bound: false,\n    lenisBound: false,\n    hidden: false,\n  };\n\n  window.BAFScrollSubnav = state;\n\n  if (typeof state.measureTicking !== 'boolean') state.measureTicking = false;\n  if (typeof state.hidden !== 'boolean') state.hidden = false;\n\n  const getNavRoot = (nav) => nav.closest('.artist-collection, .shop-products') || document.documentElement;\n  const getCurrentScrollY = () => Math.max(window.scrollY || 0, 0);\n  const getCssNumber = (element, property) => (\n    element ? parseFloat(window.getComputedStyle(element).getPropertyValue(property)) || 0 : 0\n  );\n\n  const getHeaderOffset = () => {\n    const root = document.documentElement;\n    const header = document.querySelector('#header-component');\n    const stickyBar = document.querySelector('#klav-sticky.klav-sticky--bar:not([hidden])');\n    // Use stable heights only. Viewport-relative edges can move during native scrolling\n    // and make the fixed subnav jump by a pixel or more between frames.\n    const headerHeight = Math.max(\n      getCssNumber(root, '--baf-stable-header-height'),\n      getCssNumber(root, '--header-height'),\n      getCssNumber(document.body, '--header-height'),\n      header?.getBoundingClientRect().height || 0\n    );\n    const stickyBarVisible = Boolean(\n      stickyBar &&\n      root.classList.contains('klav-sticky-as-bar') &&\n      root.classList.contains('klav-sticky-visible')\n    );\n    const stickyBarHeight = stickyBarVisible\n      ? Math.max(\n        getCssNumber(document.body, '--klav-sticky-bar-height'),\n        stickyBar?.getBoundingClientRect().height || 0\n      )\n      : 0;\n\n    return Math.max(0, headerHeight + stickyBarHeight);\n  };\n\n  const revealAtTop = () => {\n    if (getCurrentScrollY() > 4) return;\n\n    state.hidden = false;\n    state.lastScrollY = 0;\n    state.navs.forEach((nav) => {\n      if (!document.documentElement.contains(nav)) {\n        state.navs.delete(nav);\n        return;\n      }\n      nav.classList.remove('is-hidden-on-scroll');\n    });\n  };\n\n  const measureNavs = () => {\n    const headerOffset = getHeaderOffset();\n\n    state.navs.forEach((nav) => {\n      if (!document.documentElement.contains(nav)) {\n        state.navs.delete(nav);\n        return;\n      }\n\n      const root = getNavRoot(nav);\n      const height = Math.ceil(nav.getBoundingClientRect().height);\n      const topValue = `${headerOffset}px`;\n      const heightValue = `${height}px`;\n\n      if (root.style.getPropertyValue('--baf-scroll-subnav-top') !== topValue) {\n        root.style.setProperty('--baf-scroll-subnav-top', topValue);\n      }\n      if (height > 0 && root.style.getPropertyValue('--baf-scroll-subnav-height') !== heightValue) {\n        root.style.setProperty('--baf-scroll-subnav-height', heightValue);\n      }\n    });\n  };\n\n  const queueMeasureNavs = () => {\n    if (state.measureTicking) return;\n    state.measureTicking = true;\n    window.requestAnimationFrame(() => {\n      state.measureTicking = false;\n      measureNavs();\n    });\n  };\n\n  document.querySelectorAll(selector).forEach((nav) => {\n    if (nav instanceof HTMLElement) {\n      state.navs.add(nav);\n      nav.classList.toggle('is-hidden-on-scroll', state.hidden);\n    }\n  });\n\n  revealAtTop();\n  queueMeasureNavs();\n\n  if (state.bound) return;\n  state.bound = true;\n\n  const threshold = 6;\n\n  const setHidden = (hidden) => {\n    if (state.hidden === hidden) return;\n    state.hidden = hidden;\n    state.navs.forEach((nav) => {\n      if (!document.documentElement.contains(nav)) {\n        state.navs.delete(nav);\n        return;\n      }\n      nav.classList.toggle('is-hidden-on-scroll', hidden);\n    });\n  };\n\n  const updateFromScrollY = (currentScrollY) => {\n    const delta = currentScrollY - state.lastScrollY;\n\n    if (currentScrollY <= 4 || delta < -threshold) {\n      setHidden(false);\n    } else if (delta > threshold) {\n      setHidden(true);\n    }\n\n    state.lastScrollY = currentScrollY;\n  };\n\n  const update = () => {\n    updateFromScrollY(Math.max(window.scrollY || 0, 0));\n    state.ticking = false;\n  };\n\n  const onScroll = () => {\n    if (state.ticking) return;\n    state.ticking = true;\n    window.requestAnimationFrame(update);\n  };\n\n  window.addEventListener('scroll', onScroll, { passive: true });\n  window.addEventListener('resize', queueMeasureNavs, { passive: true });\n  window.addEventListener('orientationchange', queueMeasureNavs, { passive: true });\n  window.visualViewport?.addEventListener('resize', queueMeasureNavs, { passive: true });\n  window.addEventListener('pageshow', () => {\n    revealAtTop();\n    queueMeasureNavs();\n  });\n\n  if (window.MutationObserver) {\n    const observer = new MutationObserver(queueMeasureNavs);\n    observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class', 'style'] });\n    observer.observe(document.body, { attributes: true, attributeFilter: ['class', 'style'] });\n    state.headerMutationObserver = observer;\n  }\n\n  if (window.ResizeObserver) {\n    const resizeObserver = new ResizeObserver(queueMeasureNavs);\n    const header = document.querySelector('#header-component');\n    const headerSection = header?.closest('.header-section');\n    const stickyBar = document.getElementById('klav-sticky');\n\n    [header, headerSection, stickyBar].forEach((element) => {\n      if (element) resizeObserver.observe(element);\n    });\n    state.headerResizeObserver = resizeObserver;\n  }\n\n  const bindLenis = () => {\n    const lenis = window.BarkFrameLenis;\n    if (state.lenisBound || !lenis?.on) return;\n\n    state.lenisBound = true;\n    lenis.on('scroll', ({ scroll, direction }) => {\n      const currentScrollY = Math.max(scroll || window.scrollY || 0, 0);\n\n      if (currentScrollY <= 4 || direction < 0) {\n        setHidden(false);\n      } else if (direction > 0) {\n        setHidden(true);\n      }\n\n      state.lastScrollY = currentScrollY;\n    });\n  };\n\n  bindLenis();\n  document.addEventListener('DOMContentLoaded', bindLenis, { once: true });\n  window.addEventListener('load', bindLenis, { once: true });\n  document.addEventListener('DOMContentLoaded', queueMeasureNavs, { once: true });\n  window.addEventListener('load', queueMeasureNavs, { once: true });\n  document.fonts?.ready?.then(queueMeasureNavs);\n})();\n"],
  "mappings": "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",
  "names": []
}
