PageSourceSearch

https://momentswellness.com.au/cdn/shop/t/92/assets/header.js?v=36849506637616900911783508776

js momentswellness.com.au collected 2026-10-09 23:20:58 UTC 3,451 bytes, 2 lines download raw bytes

1window.ThemeSection_header=count=>{const dropdownCount=parseInt(count),menuOpen={};for(let i=0;i<dropdownCount;i++)menuOpen["menu"+i]=!1;return{menuOpen,searchOpen:!1,headerIsSticky:!1,scrollY:0,navWrapped:!1,headerHeight:0,get isStuck(){return this.headerIsSticky&&this.scrollY>this.headerHeight*2},get menuIsActive(){return!Object.keys(menuOpen).every(k=>!menuOpen[k])},mounted(){initTeleport(this.$root),Alpine.store("modals").register("nav","leftDrawer"),document.addEventListener("keyup",event=>{if(event.key==="Escape")if(this.searchOpen===!1)for(let i=0;i<dropdownCount;i++)this.menuOpen["menu"+i]===!0&&(this.menuOpen["menu"+i]=!1,document.querySelector(`[aria-controls="menu${i}"]`).focus());else document.getElementById("predictiveSearchResults")||document.body.dispatchEvent(new CustomEvent("shapes:search:closebutton"))}),document.body.addEventListener("shapes:search:closebutton",()=>{this.searchOpen=!1,this.$nextTick(()=>{const searchToggleEl=this.$root.querySelector("[data-open-search]");searchToggleEl&&setTimeout(()=>{searchToggleEl.focus()},300)})}),this.$root.hasAttribute("data-sticky-header")&&this.$root.hasAttribute("data-transparent-when-overlay-enabled-and-stuck")&&this.setUpStickyDetection(),this.headerResizeFunctions(),this._debouncedHeaderFunctions=debounce(this.headerResizeFunctions.bind(this),300),window.addEventListener("resize",this._debouncedHeaderFunctions),document.addEventListener("shopify:section:load",e=>{e.target.querySelector(".site-header")&&this.headerResizeFunctions()})},headerResizeFunctions(){this.calculateHeaderHeight(),this.calculateNavWrap()},setUpStickyDetection(){const headerContainerEl=this.$root.closest(".shopify-section"),sentinelEl=document.createElement("div");sentinelEl.setAttribute("id","HeaderSentinel"),headerContainerEl.parentNode.insertBefore(sentinelEl,headerContainerEl),new IntersectionObserver(e=>{e.forEach(entry=>{this.headerIsSticky=entry.intersectionRatio<1})},{rootMargin:"-1px 0px 0px 0px",threshold:[1]}).observe(sentinelEl);let timer=null;const checkScrollPosition=e=>{this.scrollY=window.scrollY,timer!==null&&clearTimeout(timer),timer=setTimeout(()=>{this.scrollY=window.scrollY},150)},_throttledScrollHandler=throttle(checkScrollPosition,150);document.addEventListener("scroll",_throttledScrollHandler),this.scrollY=window.scrollY},calculateNavWrap(){const wrappedItems=[];let prevItem={},currItem={};if(this.$refs.navigation!==void 0){const items=this.$refs.navigation.children;for(var i=0;i<items.length;i++)currItem=items[i].getBoundingClientRect(),prevItem&&prevItem.top<currItem.top&&wrappedItems.push(items[i]),prevItem=currItem;wrappedItems.length>0?this.navWrapped=!0:this.navWrapped=!1}},calculateHeaderHeight(){this.headerHeight=document.getElementById("headerBorderWrap").clientHeight,document.documentElement.style.setProperty("--header-height",`${this.headerHeight}px`)},openMenu(index){this.menuOpen["menu"+index]=!0},focusOut(event,menu){event.relatedTarget&&(event.relatedTarget.closest("[data-header-dropdown]")||(this.menuOpen[menu]=!1))},searchFocusOut(){this.$nextTick(()=>{this.$refs.searchFieldComponent.contains(document.activeElement)||(this.searchOpen=!1)})},closeSearch(){this.searchOpen=!1,this.$refs.search.focus()},openSearch(){this.searchOpen=!0;let input=document.querySelector(".header-search-input");setTimeout(()=>{input.focus()},100)}}};
2//# sourceMappingURL=/cdn/shop/t/92/assets/header.js.map?v=36849506637616900911783508776

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.