PageSourceSearch

https://olokuti.com/cdn/shop/t/69/assets/header-nav.js?v=61102331513955961811728897671

js olokuti.com collected 2026-09-25 00:07:01 UTC 5,196 bytes, 2 lines download raw bytes

1import{config as themeConfig}from"@archetype-themes/scripts/config";import{prepareTransition,debounce}from"@archetype-themes/scripts/helpers/utils";import{EVENTS,subscribe}from"@archetype-themes/utils/pubsub";let selectors={wrapper:"#HeaderWrapper",siteHeader:"#SiteHeader",megamenu:".megamenu",triggerCollapsedMenu:".site-nav__compress-menu",collapsedMenu:'[data-type="nav"]',bottomSearch:'[data-type="search"]',navDetails:".site-nav__details"},classes={headerCompressed:"header-wrapper--compressed",overlay:"header-wrapper--overlay",overlayStyle:"is-light"},config={wrapperOverlayed:!1,stickyEnabled:!1,stickyActive:!1,subarPositionInit:!1,threshold:0},wrapper,siteHeader,bottomNav,bottomSearch;class HeaderNav extends HTMLElement{connectedCallback(){this.init()}init(){wrapper=document.querySelector(selectors.wrapper),siteHeader=document.querySelector(selectors.siteHeader),bottomNav=wrapper.querySelector(selectors.collapsedMenu),bottomSearch=wrapper.querySelector(selectors.bottomSearch),config.threshold=wrapper.getBoundingClientRect().bottom,config.subarPositionInit=!1,config.stickyEnabled=siteHeader.dataset.sticky==="true",config.stickyEnabled?(config.wrapperOverlayed=wrapper.classList.contains(classes.overlayStyle),this.stickyHeaderCheck()):this.disableSticky(),themeConfig.overlayHeader=siteHeader.dataset.overlay==="true",themeConfig.overlayHeader&&Shopify&&Shopify.designMode&&document.body.classList.contains("template-collection")&&!document.querySelector(".collection-hero")&&this.disableOverlayHeader(),this.setAbsoluteBottom(),window.addEventListener("resize",debounce(250,this.setAbsoluteBottom));let collapsedNavTrigger=wrapper.querySelector(selectors.triggerCollapsedMenu);collapsedNavTrigger&&!collapsedNavTrigger.classList.contains("nav-trigger--initialized")&&(collapsedNavTrigger.classList.add("nav-trigger--initialized"),collapsedNavTrigger.addEventListener("click",function(e){collapsedNavTrigger.classList.toggle("is-active"),prepareTransition(bottomNav,function(){bottomNav.classList.toggle("is-active")})})),this.menuDetailsHandler(),subscribe(EVENTS.headerStickyCheck,this.stickyHeaderCheck.bind(this)),subscribe(EVENTS.headerOverlayDisable,this.disableOverlayHeader),subscribe(EVENTS.headerOverlayRemoveClass,this.removeOverlayClass)}setAbsoluteBottom(){themeConfig.overlayHeader&&document.querySelector(".header-section").classList.add("header-section--overlay");let activeSubBar=themeConfig.bpSmall?document.querySelector('.site-header__element--sub[data-type="search"]'):document.querySelector('.site-header__element--sub[data-type="nav"]');if(activeSubBar){let h=activeSubBar.offsetHeight;h!==0&&document.documentElement.style.setProperty("--header-padding-bottom",h+"px"),config.subarPositionInit||(wrapper.classList.add("header-wrapper--init"),config.subarPositionInit=!0)}}disableOverlayHeader(){wrapper.classList.remove(config.overlayEnabledClass,classes.overlayStyle),config.wrapperOverlayed=!1,themeConfig.overlayHeader=!1}stickyHeaderCheck(){themeConfig.stickyHeader=this.doesMegaMenuFit(),themeConfig.stickyHeader?(config.forceStopSticky=!1,this.stickyHeader()):(config.forceStopSticky=!0,this.disableSticky())}disableSticky(){document.querySelector(".header-section").style.position="relative"}removeOverlayClass(){config.wrapperOverlayed&&wrapper.classList.remove(classes.overlayStyle)}doesMegaMenuFit(){let largestMegaNav=0;return(siteHeader||document.querySelector(selectors.siteHeader)).querySelectorAll(selectors.megamenu).forEach(nav=>{let h=nav.offsetHeight;h>largestMegaNav&&(largestMegaNav=h)}),!(window.innerHeight<largestMegaNav+120)}stickyHeader(){window.scrollY>config.threshold&&this.stickyHeaderScroll(),window.addEventListener("scroll",this.stickyHeaderScroll.bind(this))}stickyHeaderScroll(){config.stickyEnabled&&(config.forceStopSticky||requestAnimationFrame(this.scrollHandler))}scrollHandler(){if(window.scrollY>config.threshold){if(config.stickyActive)return;bottomNav&&prepareTransition(bottomNav),bottomSearch&&prepareTransition(bottomSearch),config.stickyActive=!0,wrapper.classList.add(classes.headerCompressed),config.wrapperOverlayed&&wrapper.classList.remove(classes.overlayStyle),document.dispatchEvent(new CustomEvent("headerStickyChange"))}else{if(!config.stickyActive)return;bottomNav&&prepareTransition(bottomNav),bottomSearch&&prepareTransition(bottomSearch),config.stickyActive=!1,config.threshold=wrapper.getBoundingClientRect().bottom,wrapper.classList.remove(classes.headerCompressed),config.wrapperOverlayed&&wrapper.classList.add(classes.overlayStyle),document.dispatchEvent(new CustomEvent("headerStickyChange"))}}menuDetailsHandler(){document.querySelectorAll(selectors.navDetails).forEac
1h(navDetail=>{const summary=navDetail.querySelector("summary");document.addEventListener("click",evt=>{navDetail.hasAttribute("open")&&!navDetail.contains(evt.target)?(navDetail.removeAttribute("open"),summary.setAttribute("aria-expanded","false")):navDetail.hasAttribute("open")?summary.setAttribute("aria-expanded","false"):summary.setAttribute("aria-expanded","true")})})}}customElements.define("header-nav",HeaderNav);
2//# sourceMappingURL=/cdn/shop/t/69/assets/header-nav.js.map?v=61102331513955961811728897671

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.