1if(typeof debounce>"u"){let debounce2=function(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}};var debounce=debounce2;window.debounce=debounce2}if(!customElements.get("theme-header")){class ThemeHeader extends HTMLElement{connectedCallback(){this.header_section=document.querySelector(".header-section"),this.menu=this.querySelector("#mobile-menu"),this.toggle=this.querySelector(".mobile-toggle-wrapper"),document.addEventListener("keyup",e=>{e.code&&e.code.toUpperCase()==="ESCAPE"&&(this.toggle.removeAttribute("open"),this.toggle.classList.remove("active"))}),Array.prototype.some.call(document.head.querySelectorAll('link[rel="canonical"]'),v=>/www\.elegoo\.com/.test(v.href))&&this.addEventListener("click",e=>{const suggestedStore=sessionStorage.getItem("suggested-store"),traverse=(el2,selector)=>{const found=Array.from(el2.parentElement.querySelectorAll(selector)).find(v=>v===el2);return found||(el2!==e.currentTarget?traverse(el2.parentElement,selector):null)},el=e.target;let href="";const mediaGridItem=traverse(el,".media-grid--item");
1mediaGridItem&&mediaGridItem.getAttribute("onclick")&&(href=mediaGridItem.getAttribute("onclick").replace(/.*\.href=(\'|\")(.*?)(\'|\")$/,"$2"));const anchor=traverse(el,"a");if(anchor&&(href=anchor.getAttribute("href")),suggestedStore&&/^\/(products|collections)\//.test(href)){e.preventDefault();const suggested=new URL(suggestedStore);suggested.pathname=href,window.location.href=suggested.toString().replace(/(utm_source=)\w*/,"$1officialmenu")}}),this.classList.contains("header-sticky--active")&&document.body.classList.add("header-sticky--active"),this.toggle.querySelector(".mobile-toggle").addEventListener("click",e=>{this.toggle.classList.contains("active")?(e.preventDefault(),this.toggle.querySelector("nav").innerHTML="",document.body.classList.remove("overflow-hidden"),this.toggle.classList.remove("active"),this.closeAnimation(this.toggle)):(this.toggle.querySelector("nav").appendChild(this.toggle.querySelector('template[name="mobile-menu-drawer--content"]').content.cloneNode(!0)),document.body.classList.add("overflow-hidden"),setTimeout(()=>{this.toggle.classList.add("active")}))}),window.addEventListener("scroll",()=>{this.setStickyClass(),this.setHeaderOffset(),this.setHeaderHeight(),this.setSecondaryHeight()},{passive:!0}),document.querySelector(".announcement-bar-section")&&(window.addEventListener("scroll",this.setAnnouncementHeight,{passive:!0}),window.dispatchEvent(new Event("resize"))),window.dispatchEvent(new Event("scroll")),setTimeout(()=>{this.mobile_nav=document.querySelector(".header-mobile-navigation"),this.mobile_nav&&this.classList.contains("transparent--true")&&this.mobile_nav.classList.add("is-fixed")},100),this.menu.querySelectorAll("summary").forEach(summary=>summary.addEventListener("click",this.onSummaryClick.bind(this))),this.menu.querySelectorAll(".parent-link-back--button").forEach(button=>button.addEventListener("click",this.onCloseButtonClick.bind(this)))}setStickyClass=debounce(()=>{if(this.classList.contains("header-sticky--active")){let offset=parseInt(this.getBoundingClientRect().top,10)+document.documentElement.scrollTop;this.classList.toggle("is-sticky",window.scrollY>=offset&&window.scrollY>0)}},50);setAnnouncementHeight=debounce(()=>{let h=document.querySelector(".announcement-bar-section").clientHeight;document.documentElement.style.setProperty("--announcement-height",h+"px")},50);setHeaderOffset=debounce(()=>{let h=this.header_section.getBoundingClientRect().top;document.documentElement.style.setProperty("--header-offset",h+"px")},50);setSecondaryHeight=debounce(()=>{const secondary=document.querySelector(".header-secondary-menu-section"),secondaryHeight=secondary?secondary.clientHeight:0;document.documentElement.style.setProperty("--secondary-header-height",secondaryHeight+"px")},50);setHeaderHeight=debounce(()=>{let h=this.clientHeight;document.documentElement.style.setProperty("--header-height",h+"px")},50);onSummaryClick(event){const detailsElement=event.currentTarget.parentNode,parentMenuElement=detailsElement.closest(".link-container"),subMenuElement=detailsElement.closest(".sub-menu"),isOpen=detailsElement.hasAttribute("open");subMenuElement&&subMenuElement.querySelectorAll("details").forEach(detailsOthers=>{detailsOthers!=detailsElement&&detailsOthers.removeAttribute("open")}),setTimeout(()=>{detailsElement.classList.add("menu-opening"),parentMenuElement&&parentMenuElement.classList.add("submenu-open")},100)}onCloseButtonClick(event){event.preventDefault();const detailsElement=event.currentTarget.closest("details");this.closeSubmenu(detailsElement)}closeSubmenu(detailsElement){detailsElement.classList.remove("menu-opening"),this.closeAnimation(detailsElement)}closeAnimation(detailsElement){let animationStart;const handleAnimation=time=>{animationStart===void 0&&(animationStart=time),time-animationStart<400?window.requestAnimationFrame(handleAnimation):detailsElement.removeAttribute("open")};window.requestAnimationFrame(handleAnimation)}}customElements.define("theme-header",ThemeHeader)}if(!customElements.get("full-menu")){class FullMenu extends HTMLElement{constructor(){super(),this.submenus=this.querySelectorAll(".thb-full-menu>.menu-item-has-children:not(.menu-item-has-megamenu)>.sub-menu")}connectedCallback(){if(this.addEventListener("click",evt=>{const target=evt.target.closest(".close");if(evt.currentTarget.contains(target)){const li=target.closest("li");if(!li)return;li.classList.add("menu-closing"),setTimeout(()=>{li.classList.remove("menu-closing")},300)}}),!this.submenus.length)return;const _this=this;document.fonts.ready.then(function(){window.addEventListener("resize",debounce(function(){_this.resizeSubMenus()},100))})}
1resizeSubMenus(){this.submenus.forEach(submenu=>{submenu.querySelectorAll(":scope >.menu-item-has-children>.sub-menu").forEach(sub_submenu=>{let w=sub_submenu.offsetWidth,l=sub_submenu.parentElement.getBoundingClientRect().left+sub_submenu.parentElement.offsetWidth;w+l>window.innerWidth?sub_submenu.parentElement.classList.add("left-submenu"):sub_submenu.parentElement.classList.contains("left-submenu")&&sub_submenu.parentElement.classList.remove("left-submenu")})})}}customElements.define("full-menu",FullMenu)}let menuTabs=document.querySelectorAll(".menu-tab");menuTabs.forEach((item,index)=>{let lis=item.querySelectorAll("li[role]"),contents=item.querySelectorAll(".collection-tab-content"),menuTabActive=item.querySelectorAll("li.active");lis.forEach((liItem,liIndex)=>{!menuTabActive.length&liIndex==0&&(liItem.classList.add("active"),contents[liIndex].classList.add("active")),liItem.addEventListener("mouseenter",event=>{if([].forEach.call(lis,function(el){el.classList.remove("active")}),liItem.classList.add("active"),liItem.classList.contains("has-next-menu")){let handle=liItem.dataset.tabindex;[].forEach.call(contents,function(el,i){i==handle?el.classList.add("active"):el.classList.remove("active")})}})})}); 2//# sourceMappingURL=/cdn/shop/t/141/assets/header.js.map?v=68708155038635132441782966569
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.