1window.Eurus.loadedScript.has("header.js")||(window.Eurus.loadedScript.add("header.js"),requestAnimationFrame(()=>{document.addEventListener("alpine:init",()=>{Alpine.store("xHeaderMenu",{headerObserver:null,isSticky:!1,stickyCalulating:!1,openHamburgerMenu:!1,isTouch:!!("ontouchstart"in window||window.DocumentTouch&&window.document instanceof DocumentTouch||window.navigator.maxTouchPoints||window.navigator.msMaxTouchPoints),sectionId:"",stickyType:"none",lastScrollTop:0,themeModeChanged:!1,scrollY:0,stickyOffsetHeight:0,announcementOffsetHeight:0,toolbarOffsetHeight:0,mobileHeaderLayout:"",show:null,subShow:new Map,overlay:!1,initIndex:new Set,scrollDir:"",isMenuOpen:!1,initialized:!1,passTop:!1,passBottom:!1,announcementBeforeHeader:!1,isTransparent:!1,heightHeaderEls:[],reset(){this.headerObserver.disconnect(),document.getElementById("x-header-sentinel-top")&&document.getElementById("x-header-sentinel-top").remove(),document.getElementById("x-header-sentinel-bottom")&&document.getElementById("x-header-sentinel-bottom").remove(),Alpine.store("xHelper").cancelEvent("eurus:header-scroll-event"),this.isSticky=!1,this.isTransparent=!1,this.stickyCalulating=!1,this.openHamburgerMenu=!1,this.isTouch=!!("ontouchstart"in window||window.DocumentTouch&&window.document instanceof DocumentTouch||window.navigator.maxTouchPoints||window.navigator.msMaxTouchPoints),this.sectionId="",this.stickyType="none",this.lastScrollTop=0,this.themeModeChanged=!1,this.scrollY=0,this.stickyOffsetHeight=0,this.announcementOffsetHeight=0,this.mobileHeaderLayout="",this.show=null,this.subShow=new Map,this.overlay=!1,this.initIndex=new Set,this.scrollDir="",this.isMenuOpen=!1,this.initialized=!1,this.passTop=!1,this.passBottom=!1,this.announcementBeforeHeader=!1},debounce(func,wait){let timeout;return function(...args){clearTimeout(timeout),timeout=setTimeout(()=>func.apply(this,args),wait)}},initSticky(headerContainer,stickyType,transparent=!1){setTimeout(()=>{if(stickyType==="none")return;this.isTransparent=transparent;const header=document.getElementById(`shopify-section-${this.sectionId}`),announcement=document.getElementById("x-announcement"),toolBar=document.getElementById("header-toolbar");if(header&&announcement)if(Shopify.designMode){let annoucementIndex=0,headerIndex=0;headerContainer.closest(".main-container")?.querySelectorAll(".shopify-section").forEach((el,index)=>{el.classList.contains("section-announcement")&&(annoucementIndex=index),el.classList.contains("section-header")&&(headerIndex=index)}),this.announcementBeforeHeader=headerIndex>annoucementIndex}else this.announcementBeforeHeader=headerContainer?.dataset.sectionIndex>announcement?.dataset.sectionIndex;const sentinelTop=document.createElement("div");sentinelTop.id="x-header-sentinel-top";const sentinelBottom=document.createElement("div");sentinelBottom.id="x-header-sentinel-bottom",header.before(sentinelTop),header.after(sentinelBottom),this.headerObserver=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.target===header){if(!this.initialized){const rect=entry.boundingClientRect;transparent?this.stickyOffsetHeight=document.getElementById("sticky-header-content").offsetHeight:this.stickyOffsetHeight=rect.height,announcement?.dataset.isSticky==="true"&&(this.announcementBeforeHeader?this.announcementOffsetHeight=announcement?.offsetHeight:this.announcementOffsetHeight=0),toolBar?.classList.contains("js-hide-toolbar")&&(this.toolbarOffsetHeight=toolBar?.offsetHeight),this.initVariable(header,headerContainer,stickyType,announcement),this.initScrollEvent(header,headerContainer,stickyType,announcement),this.initHeaderHeightEvent(),this.initialized=!0}}else entry.target===sentinelTop?this.passTop=!entry.isIntersecting:this.passBottom=!entry.isIntersecting})}),this.headerObserver.observe(header),this.headerObserver.observe(sentinelTop),this.headerObserver.observe(sentinelBottom)},0)},initVariable(header,headerContainer,stickyType,announcement){const headerStickyTransform=0-this.announcementOffsetHeight-this.stickyOffsetHeight,headerTopOffset=this.announcementOffsetHeight-this.toolbarOffsetHeight,headerStickyHeight=this.stickyOffsetHeight-this.toolbarOffsetHeight;requestAnimationFrame(()=>{header.style.setProperty("--announcement-height",headerTopOffset+"px"),header.style.setProperty("--header-sticky-transform",`${headerStickyTransform}px`),!this.announcementBeforeHeader&&announcement?.dataset.isSticky==="true"&&(announcement?.parentElement.style.setProperty("--header-height",`${headerStickyHeight}px`),announcement?.parentElement.style.setProperty("--annoucement-z","40")),this.passBottom&&(stickyType==="on-scroll-up"?(header.classList.add("is-sticky","is-scrolled"),this.isSticky=!0):(headerContainer.classList.add("is-sticky","is-scrolled"),this.isSticky=!0))}),this.handleStickyScrolling(header,headerContainer,announcement,stickyType)},initScrollEvent(header,headerContainer,stickyType,announcement){let scrollDebounce=null;const onScroll=()=>{clearTimeout(scrollDebounce),scrollDebounce=setTimeout(()=>{let scrollPos=window.scrollY||document.documentElement.scrollTop;this.handleStickyScrolling(header,headerContainer,announcement,stickyType,scrollPos)},10)}
1,headerScrollController=new AbortController;Alpine.store("xHelper").eventControllers.set("eurus:header-scroll-event",headerScrollController),window.addEventListener("scroll",onScroll,{passive:!0,signal:headerScrollController.signal})},handleStickyScrolling(header,headerContainer,announcement,stickyType,scrollPos){const dir=this.scrollY<scrollPos;this.scrollY=scrollPos,requestAnimationFrame(()=>{if(stickyType==="always")!this.announcementBeforeHeader&&announcement?.dataset.isSticky==="true"&&announcement?.parentElement.classList.add("top-header"),this.setVariableHeightHeader(!0),this.passBottom?(headerContainer.classList.add("is-scrolled"),this.isSticky=!0):(headerContainer.classList.remove("is-scrolled"),this.isSticky=!1);else if(stickyType==="reduce-logo-size")!this.announcementBeforeHeader&&announcement?.dataset.isSticky==="true"&&announcement?.parentElement.classList.add("top-header"),this.setVariableHeightHeader(!0),this.passBottom?(headerContainer.classList.add("reduce-logo-size","is-scrolled"),this.isSticky=!0):(headerContainer.classList.remove("reduce-logo-size","is-scrolled"),this.isSticky=!1);else{let stickyTimeout=null;if(this.passTop||(header.classList.remove("is-sticky","is-scrolled"),this.isSticky=!1),!this.passBottom&&!dir){headerContainer.style.transition="transform 0.1s ease-in",headerContainer.classList.remove("on-scroll-up-animation"),!this.announcementBeforeHeader&&announcement?.dataset.isSticky==="true"&&announcement?.parentElement.classList.add("top-header"),this.setVariableHeightHeader(!0);return}else headerContainer.style.transition="";this.passBottom&&dir?(stickyTimeout||(stickyTimeout=setTimeout(()=>{header.classList.add("is-sticky","is-scrolled"),this.isSticky=!0},550)),headerContainer.classList.add("on-scroll-up-animation"),!this.announcementBeforeHeader&&announcement?.dataset.isSticky==="true"&&announcement?.parentElement.classList.remove("top-header"),this.setVariableHeightHeader(!1)):(headerContainer.classList.remove("on-scroll-up-animation"),!this.announcementBeforeHeader&&announcement?.dataset.isSticky==="true"&&announcement?.parentElement.classList.add("top-header"),this.setVariableHeightHeader(!0))}})},initHeaderHeightEvent(){this.heightHeaderEls=Array.from(document.querySelectorAll('[class*="--height-header"]')),document.addEventListener("eurus:sticky-header-moved",e=>{this.heightHeaderEls.forEach(el=>{el.style.setProperty("--height-header",e.detail.heightHeader+"px")})})},setVariableHeightHeader(isSticky){const heightHeader=isSticky&&!Alpine.store("xMobileDock")?.showDock?this.announcementOffsetHeight+this.stickyOffsetHeight-this.toolbarOffsetHeight:this.announcementOffsetHeight;document.dispatchEvent(new CustomEvent("eurus:sticky-header-moved",{detail:{heightHeader}}))},renderAjax(el,id,element){fetch(`${window.location.pathname}?sections=${id}`).then(response=>response.json()).then(response=>{let html=getSectionInnerHTML(response[id],element);el?.closest('[data-breakpoint="tablet"]')&&(html=html?.replace('id="search-in-modal"','id="search-in-modal-mobile"')),el.innerHTML=html}).finally(()=>{this.heightHeaderEls.push(el),this.setVariableHeightHeader(!0)})},setPosition(el,level,hamburger=!1){hamburger?level=level-.5:level=level-1,requestAnimationFrame(()=>{const elm=el.closest(".tree-menu"),widthEl=elm.getElementsByClassName("toggle-menu")[0],widthElWitdth=widthEl.offsetWidth,viewWidth=window.xViewport.innerWidth||document.documentElement.clientWidth,elRect=elm.getBoundingClientRect(),left=elRect.left-widthElWitdth*level<100,right=elRect.right+widthElWitdth*level>viewWidth-100,isRtl=document.querySelector("body").classList.contains("rtl");requestAnimationFrame(()=>{isRtl?left?(el.classList.add("right-0"),widthEl.classList.add("left-0"),elm.classList.remove("position-left")):(el.classList.add("left-0"),widthEl.classList.add("right-0"),elm.classList.add("position-left")):right?(el.classList.add("left-0"),widthEl.classList.add("right-0"),elm.classList.add("position-left")):(el.classList.add("right-0"),widthEl.classList.add("left-0"),elm.classList.remove("position-left"))})})},resizeWindow(el,level,hamburger=!1){const onResize=this.debounce(()=>{this.setPosition(el,level,hamburger)},100);addEventListener("resize",onResize)},toggleMenu(index){this.initIndex.add(index),this.show=this.show===index?0:index,this.overlay=this.show!==0},openMenu(index,hasMenu){this.initIndex.add(index),this.show=index,this.overlay=hasMenu},closeMenu(){this.show=0,this.overlay=!1},openSubMenu(key,index){this.subShow.set(key,index)},updateHeight(el,containerId){const container=document.getElementById(containerId);let currentAnimation=null,previousHeight=null;new ResizeObserver(entries=>
1{for(let entry of entries){const newHeight=entry.borderBoxSize?.[0]?.blockSize??entry.contentRect.height;previousHeight!==null&&Math.abs(previousHeight-newHeight)>=1&&(currentAnimation?.cancel(),currentAnimation=container.animate([{height:`${previousHeight}px`},{height:`${newHeight}px`}],{duration:300,easing:"ease-in-out"})),container.style.height=newHeight+"px",previousHeight=newHeight}}).observe(el)},touchItem(el,isSub=!1){const touchClass=isSub?"touched-sub":"touched";el.addEventListener("touchend",e=>{if(el.classList.contains(touchClass))window.location.replace(el.getAttribute("href"));else{e.preventDefault();for(var dropdown=document.getElementsByClassName(`${touchClass}`),i=0;i<dropdown.length;i++)dropdown[i].classList.remove(touchClass);el.classList.add(touchClass),this.selectItem(el.closest(".has-dropdown"),isSub)}})}})})})); 2//# sourceMappingURL=/cdn/shop/t/26/assets/header.js.map?v=112456183389706756601788427770
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.