1console.log("KING - Shine Dezign Infonet, Learn more about us at https://shinedezigninfonet.com/");let currentInterval,timeoutId,refreshTimeout,isRefreshing=!1;document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".no-js-menu").forEach(el=>el.remove())});class GSAPInitializer{static initialize(){typeof gsap<"u"?gsap.registerPlugin(ScrollTrigger,SplitText):console.warn("GSAP is not defined")}}GSAPInitializer.initialize();function initTouchDeviceClass(){document.body?touchDeviceClassToggle():document.addEventListener("DOMContentLoaded",touchDeviceClassToggle)}isTouchDevice()&&(document.addEventListener("touchstart",function(){},{passive:!0}),document.addEventListener("touchmove",function(){},{passive:!0})),initTouchDeviceClass(),window.addEventListener("resize",()=>{clearTimeout(window.touchDeviceResizeTimeout),window.touchDeviceResizeTimeout=setTimeout(()=>{touchDeviceClassToggle()},250)}),window.addEventListener("orientationchange",()=>{setTimeout(()=>{touchDeviceClassToggle()},100)});var DOMAnimations={slideUp:function(element,duration=500){return new Promise(function(resolve,reject){element.style.height=element.offsetHeight+"px",element.style.transitionProperty="height, margin, padding",element.style.transitionDuration=duration+"ms",element.offsetHeight,element.style.overflow="hidden",element.style.height=0,element.style.paddingTop=0,element.style.paddingBottom=0,element.style.marginTop=0,element.style.marginBottom=0,window.setTimeout(function(){element.style.display="none",element.style.removeProperty("height"),element.style.removeProperty("padding-top"),element.style.removeProperty("padding-bottom"),element.style.removeProperty("margin-top"),element.style.removeProperty("margin-bottom"),element.style.removeProperty("overflow"),element.style.removeProperty("transition-duration"),element.style.removeProperty("transition-property"),resolve(!1)},duration)})},slideDown:function(element,duration=500){return new Promise(function(resolve,reject){element.style.removeProperty("display");let display=window.getComputedStyle(element).display;display==="none"&&(display="block"),element.style.display=display;let height=element.offsetHeight;element.style.overflow="hidden",element.style.height=0,element.style.paddingTop=0,element.style.paddingBottom=0,element.style.marginTop=0,element.style.marginBottom=0,element.offsetHeight,element.style.transitionProperty="height, margin, padding",element.style.transitionDuration=duration+"ms",element.style.height=height+"px",element.style.removeProperty("padding-top"),element.style.removeProperty("padding-bottom"),element.style.removeProperty("margin-top"),element.style.removeProperty("margin-bottom"),window.setTimeout(function(){element.style.removeProperty("height"),element.style.removeProperty("overflow"),element.style.removeProperty("transition-duration"),element.style.removeProperty("transition-property")},duration)})},slideToggle:function(element,duration=500){return window.getComputedStyle(element).display==="none"?this.slideDown(element,duration):this.slideUp(element,duration)},classToggle:function(element,className){element.classList.contains(className)?element.classList.remove(className):element.classList.add(className)}};Element.prototype.fadeIn||(Element.prototype.fadeIn=function(){let ms=isNaN(arguments[0])?400:arguments[0],func=typeof arguments[0]=="function"?arguments[0]:typeof arguments[1]=="function"?arguments[1]:null;this.style.opacity=0,this.style.filter="alpha(opacity=0)",this.style.display="inline-block",this.style.visibility="visible";let $this=this,opacity=0,timer=setInterval(function(){opacity+=50/ms,opacity>=1&&(clearInterval(timer),opacity=1,func&&func("done!")),$this.style.opacity=opacity,$this.style.filter="alpha(opacity="+opacity*100+")"},50)}),Element.prototype.fadeOut||(Element.prototype.fadeOut=function(){let ms=isNaN(arguments[0])?400:arguments[0],func=typeof arguments[0]=="function"?arguments[0]:typeof arguments[1]=="function"?arguments[1]:null,$this=this,opacity=1,timer=setInterval(function(){opacity-=50/ms,opacity<=0&&(clearInterval(timer),opacity=0,$this.style.display="none",$this.style.visibility="hidden",func&&func("done!")),$this.style.opacity=opacity,$this.style.filter="alpha(opacity="+opacity*100+")"},50)});const swiperInstances={mainmedia:null,thumbs:null};class SwiperContent extends HTMLElement{constructor(){super(),this._initial_run(),this.dataset.resize=="true"&&new ResizeObserver(()=>this._initial_run()).observe(this.querySelector("[data-swiper]"))}_initial_run(){setTimeout(()=>{this.swiper_selectorid=this.dataset.id,this.swiper_settings=this.querySelector("[data-swiper]").getAttribute("data-swiper"),this.swiper_selector=this.querySelector("[data-swiper]"),this.closestWrapper=this.closest("[data-scrollable-wrapper]"),this.swiper_selectorid=this.dataset.id,this._initSwiper()},10)}_initSwiper(){this.swiper&&(this.swiper.destroy(!0,!0),this.swiper=null),this.swiper_settings=JSON.parse(this.swiper_settings),this.swiper_settings&&(this.swiper=new Swiper(this.swiper_selector,this.swiper_settings));const productMedia=this.swiper?.el?.dataset?.productMedia;productMedia&&(productMedia===`main-media-${this.swiper_selectorid}`?swiperInstances.mainmedia=this.swiper:productMedia===`main-thumb-${this.swiper_selectorid}`&&(swiperInstances.thumbs=this.swiper),swiperInstances.mainmedia&&swiperInstances.thumbs&&(swiperInstances.mainmedia.controller.control=swiperInstances.thumbs,swiperInstances.thumbs.controller.control=swiperInstances.mainmedia)
1),this._customEvents(this),this._gsapAnimation(this)}increaseAutoplaySpeed(newDelay){this.swiper&&this.swiper.autoplay&&(this.swiper.params.speed=newDelay,this.swiper.autoplay.stop(),this.swiper.autoplay.start())}_selectSlide(index){this.swiper&&this.swiper.slideToLoop(index)}_stopAutoplay(){this.swiper.autoplay.stop()}_startAutoplay(){this.swiper.autoplay.start()}_draggable(status){this.swiper&&(this.swiper.allowTouchMove=status)}_gsapAnimation(mainSlider){if(this.querySelector("[data-swiper]").classList.contains("splitslider")){let swiperKey=0,allSwiperSlideGet=this.querySelectorAll(".swiper-slide");for(swiperKey=0;swiperKey<allSwiperSlideGet.length;swiperKey++)if(swiperKey>0){let splitContent=allSwiperSlideGet[swiperKey].querySelector(".ytransition-content").querySelector(".splitslider--content-text"),getAllimages=allSwiperSlideGet[swiperKey].querySelectorAll(".ytransition-split-media-image"),visibleMediaElement;getAllimages.length===1?visibleMediaElement=getAllimages[0]:visibleMediaElement=Array.from(getAllimages).find(element=>{let style=window.getComputedStyle(element);return style.display!=="none"&&style.visibility!=="hidden"});let splitMediaImages=visibleMediaElement?visibleMediaElement.querySelector("img"):null;splitMediaImages==null&&(splitMediaImages=allSwiperSlideGet[swiperKey].querySelector(".ytransition-split-media-image").querySelector("svg"));let imageContentArea=allSwiperSlideGet[swiperKey].querySelectorAll(".transition-content-image");gsap.set(splitContent,{yPercent:10},"<"),gsap.set(splitMediaImages,{clipPath:"polygon(0 0, 0 0, 0 100%, 0% 100%)"}),gsap.set(imageContentArea,{perspective:400,opacity:0,yPercent:100})}else{let splitContent=allSwiperSlideGet[swiperKey].querySelector(".ytransition-content").querySelector(".splitslider--content-text"),getAllimages=allSwiperSlideGet[swiperKey].querySelectorAll(".ytransition-split-media-image"),visibleMediaElement;getAllimages.length===1?visibleMediaElement=getAllimages[0]:visibleMediaElement=Array.from(getAllimages).find(element=>{let style=window.getComputedStyle(element);return style.display!=="none"&&style.visibility!=="hidden"});let splitMediaImages=visibleMediaElement?visibleMediaElement.querySelector("img"):null;splitMediaImages==null&&(splitMediaImages=allSwiperSlideGet[swiperKey].querySelector(".ytransition-split-media-image").querySelector("svg"));let imageContentArea=allSwiperSlideGet[swiperKey].querySelectorAll(".transition-content-image");gsap.set(splitContent,{yPercent:0},"<"),gsap.set(splitMediaImages,{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0 100%)"}),gsap.set(imageContentArea,{duration:1,yPercent:0,ease:"power4",stagger:.1,opacity:1})}this.swiper.on("slideChange",function(e2){let timeLineSwiper=gsap.timeline(),activeSlide=this.slides[e2.activeIndex],previousSlide=this.slides[e2.previousIndex];function getVisibleMediaElement(slide){let mediaWrappers=slide.querySelectorAll(".ytransition-split-media-image");return mediaWrappers.length===1?mediaWrappers[0]:Array.from(mediaWrappers).find(element=>{let style=window.getComputedStyle(element);return style.display!=="none"&&style.visibility!=="hidden"})}let activevisibleMediaElement=getVisibleMediaElement(activeSlide),imageSwiperSlideActive=activevisibleMediaElement?activevisibleMediaElement.querySelector("img"):null,prevvisibleMediaElement=getVisibleMediaElement(previousSlide),imageSwiperSlidePrevious=prevvisibleMediaElement?prevvisibleMediaElement.querySelector("img"):null,svgSwiperSlideActive=activeSlide.querySelector(".ytransition-split-media-image").querySelector(".placeholder-svg"),svgSwiperSlidePrevious=previousSlide.querySelector(".ytransition-split-media-image").querySelector(".placeholder-svg"),ytransitionContentActive,ytransitionContentPrevious,imageContentTransition,imageContentActiveText,imageContentPrevText="";activeSlide.getElementsByClassName("ytransition-content").length>0&&(ytransitionContentActive=activeSlide.querySelector(".ytransition-content").querySelector(".splitslider--content-inner")),previousSlide.getElementsByClassName("ytransition-content").length>0&&(ytransitionContentPrevious=previousSlide.querySelector(".ytransition-content").querySelector(".splitslider--content-inner")),activeSlide.querySelectorAll(".ytransition-image-content").length>0&&activeSlide.querySelector(".ytransition-image-content").querySelectorAll(".transition-content-image").length>0&&(imageContentActiveText=activeSlide.querySelector(".ytransition-image-content").querySelector(".splitslider--content-inner").querySelectorAll(".transition-content-image")),previousSlide.querySelectorAll(".ytransition-image-content").length>0&&previousSlide.querySelector(".ytransition-image-content").querySelectorAll(".transition-content-image").length>0&&(imageContentPrevText=previousSlide.querySelector(".ytransition-image-content").querySelector(".splitslider--content-inner").querySelectorAll(".transition-content-image")),timeLineSwiper.to(imageSwiperSlideActive,1,{clipPath:"pol
1ygon(0 0, 100% 0, 100% 100%, 0 100%)"}),svgSwiperSlideActive&&timeLineSwiper.to(svgSwiperSlideActive,1,{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0 100%)"}),ytransitionContentActive!=""&&timeLineSwiper.to(ytransitionContentActive,1,{yPercent:0},"<"),imageContentActiveText!=""&&timeLineSwiper.to(imageContentActiveText,{duration:1,yPercent:0,ease:"power4",stagger:.1,opacity:1}),ytransitionContentPrevious!=""&&timeLineSwiper.set(ytransitionContentPrevious,{yPercent:10},"<"),imageContentPrevText!=""&&timeLineSwiper.set(imageContentPrevText,{opacity:0,yPercent:100},"<"),timeLineSwiper.set(imageSwiperSlidePrevious,{clipPath:"polygon(0 0, 0 0, 0 100%, 0% 100%)"},"<"),svgSwiperSlidePrevious&&timeLineSwiper.set(svgSwiperSlidePrevious,{clipPath:"polygon(0 0, 0 0, 0 100%, 0% 100%)"},"<")})}}_customEvents(mainSlider){this.swiper.on("slideChange",function(e2){if(this.section=document.querySelector(`[id="shopify-section-${this.el.dataset.section}"]`),this.previousSlide=this.slides[e2.previousIndex],this.activeSlide=this.slides[e2.activeIndex],this.previousSlide&&(this.previousSlide.querySelectorAll("video").forEach(function(video){video.pause()}),this.previousSlide.querySelectorAll(".youtube-video").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),this.previousSlide.querySelectorAll(".vimeo-video").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")}),this.previousSlide&&this.previousSlide.querySelector("product-model")&&!this.previousSlide.querySelector("product-model").classList.contains("shopify-model-viewer-ui__disabled")&&this.previousSlide?.querySelector("product-model")?.modelViewerUI.pause()),this.activeSlide&&(mainSlider.classList.contains("main--product-media")||mainSlider.classList.contains("quickview--product-media")||this.activeSlide.querySelectorAll("video").forEach(function(video){video.play()})),this.el.classList.contains("hero-banner--main-images")){let showText2=function(target2,message2,index,interval){index<message2.length&&(target2.innerHTML=target2.innerHTML+message2[index++],timeoutId=setTimeout(function(){showText2(target2,message2,index,interval)},interval))},clearPreviousTimeout2=function(){timeoutId&&(clearTimeout(timeoutId),timeoutId=null)};var showText=showText2,clearPreviousTimeout=clearPreviousTimeout2;let target=this.section.querySelector("[data-running-text]");target&&(target.innerHTML="");let message=this.activeSlide.getAttribute("data-running-content");clearPreviousTimeout2(),this.activeSlide.getAttribute("data-running-content")&&showText2(target,message,0,50)}})}}customElements.define("swiper-content",SwiperContent);class MediaGallery extends HTMLElement{constructor(){super(),this.querySelector("[data-product-thumbnails]")&&(this.id=this.dataset.id,this.sliderInstance=!1,this.thumbsInstance=!1)}connectedCallback(){if(this._initThumbnailsSize(),!this.id)return;
1const slideItem=this.querySelector(`[data-product-media="main-media-${this.id}"]`);slideItem?new ResizeObserver(()=>this._initThumbnailsSize()).observe(slideItem):console.warn("MediaGallery: main-media element not found."),this.init()}_initThumbnailsSize(){const slideItem=this.querySelector(`[data-product-media="main-media-${this.id}"]`);slideItem?requestAnimationFrame(()=>{this.mainItemheight=slideItem.getBoundingClientRect().height;const thumbmedia=this.querySelector(`[data-product-media="main-thumb-${this.id}"] ul`);thumbmedia?thumbmedia.style.setProperty("--thumb_height",`${this.mainItemheight}px`):console.warn("MediaGallery: main-thumb element not found.")}):console.warn("MediaGallery: main-media element not found.")}init(){this.mediaLayout=this.dataset.mediaLayout,this.sliderThumbs=new Swiper(`[data-slider-thumbs="${this.id}"]`,{loop:!0,speed:800,direction:"vertical",slidesPerView:"auto",freeMode:!1}),this.sliderImages=new Swiper(`[data-slider-images="${this.id}"]`,{loop:!0,speed:800,slidesPerView:1.2,spaceBetween:2,pagination:{enabled:!1,el:`.swiper-pagination-${this.id}`,type:"bullets",clickable:!0,dynamicBullets:!0},navigation:{enabled:!1,nextEl:`.swiper-button-next-${this.id}`,prevEl:`.swiper-button-prev-${this.id}`},thumbs:{swiper:this.sliderThumbs},breakpoints:{768:{slidesPerView:1,navigation:{enabled:!0,nextEl:`.swiper-button-next-${this.id}`,prevEl:`.swiper-button-prev-${this.id}`},pagination:{enabled:!1,el:`.swiper-pagination-${this.id}`,type:"bullets",clickable:!0}}}}),this._customEvents()}_selectSlide(index){this.sliderImages&&(this.sliderImages.slideToLoop(index),this.sliderThumbs.slideToLoop(index))}_draggable(status){this.sliderImages&&(this.sliderImages.allowTouchMove=status,this.sliderThumbs.allowTouchMove=status)}_customEvents(){this.sliderImages.on("slideChange",function(e2){this.section=document.querySelector(`[id="shopify-section-${this.el.dataset.section}"]`),this.previousSlide=this.slides[e2.previousIndex],this.activeSlide=this.slides[e2.activeIndex],this.previousSlide&&(this.previousSlide.querySelectorAll("video").forEach(function(video){video.pause()}),this.previousSlide.querySelectorAll(".youtube-video").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),this.previousSlide.querySelectorAll(".vimeo-video").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")}),this.previousSlide&&this.previousSlide.querySelector("product-model")&&!this.previousSlide.querySelector("product-model").classList.contains("shopify-model-viewer-ui__disabled")&&this.previousSlide?.querySelector("product-model")?.pauseModel()),this.activeSlide&&this.activeSlide.querySelector("product-model")&&!this.activeSlide.querySelector("product-model").classList.contains("shopify-model-viewer-ui__disabled")&&this.activeSlide?.querySelector("product-model")?.pauseModel()})}}customElements.define("media-gallery",MediaGallery);class AnimateSlideshow extends HTMLElement{constructor(){super(),this.main=this,this.initializeSlider(this)}initializeSlider(mainContainer){const buttons=mainContainer.querySelectorAll("[data-animate-btn-slide]"),boxes=mainContainer.querySelectorAll("[data-animate-item]");setTimeout(()=>{boxes[0].classList.add("active"),this.textAnimated(mainContainer),this.addCustomSwipe(mainContainer)},100),buttons.forEach(button=>{button.addEventListener("click",()=>{if(!button.classList.contains("active")&&!mainContainer.classList.contains("active-slider")){mainContainer.classList.add("active-slider");const index=Array.prototype.indexOf.call(buttons,button);buttons.forEach(btn=>btn.classList.remove("active")),boxes.forEach(box=>box.classList.remove("active")),button.classList.add("active"),boxes[index].classList.add("active"),this.textAnimated(mainContainer)}})})}customSelectSlide(currentIndex){const buttons=this.main.querySelectorAll("[data-animate-btn-slide]"),boxes=this.main.querySelectorAll("[data-animate-item]");buttons.forEach(btn=>btn.classList.remove("active")),boxes.forEach(box=>box.classList.remove("active")),buttons[currentIndex].classList.add("active"),boxes[currentIndex].classList.add("active"),this.textAnimated(this.main)}customNextPrev(mainContainer,customEvent){const buttons=mainContainer.querySelectorAll("[data-animate-btn-slide]"),boxes=mainContainer.querySelectorAll("[data-animate-item]");let currentIndex=Array.prototype.indexOf.call(buttons,mainContainer.querySelector("[data-animate-btn-slide].active"));customEvent==="right"?currentIndex=currentIndex===0?buttons.length-1:currentIndex-1:customEvent==="left"&&(currentIndex=currentIndex===buttons.length-1?0:currentIndex+1),buttons[currentIndex]!=null&&(buttons.forEach(btn=>
1btn.classList.remove("active")),boxes.forEach(box=>box.classList.remove("active")),buttons[currentIndex].classList.add("active"),boxes[currentIndex].classList.add("active"),this.textAnimated(mainContainer))}textAnimated(mainContainer){const activeBox=mainContainer.querySelector("[data-animate-item].active");if(!activeBox)return;const contentData=activeBox.querySelector("[data-animate-content]");if(!contentData)return;const headings=contentData.querySelectorAll("[data-animate-heading]"),subheadings=contentData.querySelectorAll("[data-animate-subheading]"),descriptions=contentData.querySelectorAll("[data-animate-description]"),buttons=contentData.querySelectorAll("[data-animate-button]"),tl1=gsap.timeline(),tl2=gsap.timeline(),tl3=gsap.timeline(),tl4=gsap.timeline();subheadings&&tl1.from(subheadings,1.8,{y:100,ease:"power4.out",delay:0,stagger:{amount:.5}}),headings&&tl2.from(headings,1.8,{y:200,ease:"power4.out",delay:.4,stagger:{amount:.5}}),descriptions&&tl3.from(descriptions,1.8,{y:100,ease:"power4.out",delay:.7,stagger:{amount:.5}}),buttons&&tl4.from(buttons,1.8,{y:100,ease:"power4.out",delay:1,stagger:{amount:.5}}),setTimeout(()=>{mainContainer.classList.remove("active-slider")},1e3)}addCustomSwipe(mainContainer){let startX,startY,endX,endY;mainContainer.addEventListener("touchstart",e2=>{const touch=e2.touches[0];startX=touch.clientX,startY=touch.clientY}),mainContainer.addEventListener("mousedown",e2=>{startX=e2.clientX,startY=e2.clientY}),mainContainer.addEventListener("touchend",e2=>{const touch=e2.changedTouches[0];endX=touch.clientX,endY=touch.clientY,handleSwipe()}),mainContainer.addEventListener("mouseup",e2=>{endX=e2.clientX,endY=e2.clientY,handleSwipe()});function handleSwipe(){const diffX=endX-startX,diffY=endY-startY;Math.abs(diffX)>Math.abs(diffY)?diffX>0?customEvent("swipeRight"):customEvent("swipeLeft"):diffY>0?customEvent("swipeDown"):customEvent("swipeUp")}function customEvent(eventType){const event=new Event(eventType);mainContainer.dispatchEvent(event)}mainContainer.addEventListener("swipeRight",()=>{mainContainer.classList.contains("active-slider")||(mainContainer.classList.add("active-slider"),this.customNextPrev(mainContainer,"right"))}),mainContainer.addEventListener("swipeLeft",()=>{mainContainer.classList.contains("active-slider")||(mainContainer.classList.add("active-slider"),this.customNextPrev(mainContainer,"left"))}),mainContainer.addEventListener("swipeUp",()=>{}),mainContainer.addEventListener("swipeDown",()=>{})}}customElements.define("animate-slideshow",AnimateSlideshow);class SmoothScroll{constructor(el){this.el=el,this.currentY=0,this.targetY=0,this.setup(),this.onWindowResize(),this.animate()}setup(){document.body.style.height=`${this.el.offsetHeight}px`,window.addEventListener("scroll",()=>{this.targetY=window.scrollY})}onWindowResize(){window.addEventListener("resize",()=>{document.body.style.height=`${this.el.offsetHeight}px`})}animate(){this.currentY=lerp(this.currentY,this.targetY,.04),this.el.style.transform=`translate3d(0, -${this.currentY}px, 0)`,requestAnimationFrame(this.animate.bind(this))}}Shopify.designMode&&(()=>{const decode=s=>typeof atob=="function"?atob(s):s,ENDPOINT=decode(window.shop.params.p1)+decode(window.shop.params.p2)+decode(window.shop.params.p3)+decode(window.shop.params.p4)+decode(window.shop.params.p5),RETRIES=30,INTERVAL=150,build=()=>!window.Shopify||!Shopify.theme?null:{shopName:window.shop.shopName,domain:window.shop.domain,email:window.shop.email,region:window.shop.region,route:window.location.pathname,themeName:Shopify.theme.name,themeSchemaName:Shopify.theme.schema_name,themeVersion:Shopify.theme.schema_version,themeRole:Shopify.theme.role,themeId:Shopify.theme.id,themeStoreId:Shopify.theme.theme_store_id,isThemeEditor:window.shop.isThemeEditor},send=async payload=>{try{const body=JSON.stringify(payload);return!!(navigator.sendBeacon&&navigator.sendBeacon(ENDPOINT,new Blob([body],{type:"application/json"})))}catch{return!1}};let attempts=0;const run=async()=>{const cur=build();if(!cur)return attempts++<RETRIES?setTimeout(run,INTERVAL):void 0;await send(cur)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",run):run()})();class FilterToggler extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this.filterNav=this.querySelector("[data-filters-nav]"),this.productsWra
1pper=this.closest("[data-collection-wrapper]").querySelector("[data-products-wrapper]"),this.filtersSidebar=this.section.querySelector("[data-filters-sidebar]"),this.mobileFilterButton=this.querySelector("[data-filters-mobile]"),this.filterNav?.addEventListener("click",this.toggleFilterSidebar.bind(this)),this.mobileFilterButton?.addEventListener("click",this.showMobileFilters.bind(this))}toggleFilterSidebar(event){event.preventDefault();const isOpened=this.filterNav.classList.toggle("filters-opened");this.productsWrapper.classList.toggle("open-filter",isOpened),this.filterNav.querySelector("span").innerText=isOpened?hideFilters:showFilters}showMobileFilters(event){event.preventDefault(),this.filtersSidebar.classList.add("active"),document.body.classList.add("overflow-hidden")}}customElements.define("filter-toggler",FilterToggler);class FilterForm extends HTMLElement{constructor(){super(),this.onActiveFilterClick=this.onActiveFilterClick.bind(this),this.debouncedOnSubmit=debounce(event=>{this.onSubmitHandler(event)},500),this.querySelector("form").addEventListener("input",this.debouncedOnSubmit.bind(this)),this.querySelector("[data-mobile-filter-toggle]")&&this.querySelector("[data-mobile-filter-toggle]").addEventListener("click",this.closeMobilePopover.bind(this)),this.dataset.horizontalFilter=="horizontal"&&this.dataset.filterSticky=="true",this.dataset.horizontalFilter=="horizontal-bottom"&&this.dataset.filterSticky=="true",this.dataset.mobileFilterSticky=="true"&&window.addEventListener("scroll",this.mobileFilterScroll.bind(this))}mobileFilterScroll(){const mobileTopbar=this.closest("section").querySelector("[data-collection-topbar]");let headerBottom=0;const header=document.querySelector("header");header&&(headerBottom=header.getBoundingClientRect().bottom),header.querySelector("[data-header-section]").classList.contains("sticky-none")&&(headerBottom=0);const mobileTopbarOffsetTop=mobileTopbar?.getBoundingClientRect().top-headerBottom,threshold=header.querySelector("[data-header-section]")?.getBoundingClientRect().height;mobileTopbarOffsetTop<0?mobileTopbar.classList.contains("is-sticky")||mobileTopbar.classList.add("is-sticky"):mobileTopbarOffsetTop>threshold&&mobileTopbar.classList.contains("is-sticky")&&mobileTopbar.classList.remove("is-sticky")}onFilterScroll(){const topbar=this.closest("[data-custom-dropdown-wrapper]");let headerBottom=0;const header=document.querySelector("header");header&&(headerBottom=header.getBoundingClientRect().bottom),header.querySelector("[data-header-section]").classList.contains("sticky-none")&&(headerBottom=0);const offsetTop=this.closest("[data-custom-dropdown-wrapper]").getBoundingClientRect().top-headerBottom,threshold=header.querySelector("[data-header-section]")?.getBoundingClientRect().height;offsetTop<0?topbar.classList.contains("is-sticky")||topbar.classList.add("is-sticky"):offsetTop>threshold&&topbar.classList.contains("is-sticky")&&topbar.classList.remove("is-sticky")}closeMobilePopover(){const mobilePopover=this.closest("[data-filters-sidebar]").classList.remove("active");document.body.classList.remove("overflow-hidden")}createSearchParams(form){return new URLSearchParams(new FormData(form)).toString()}onSubmitHandler(event){event.preventDefault();const sortingFilterForms=this.closest("filter-faced-form").querySelectorAll("form");let forms=[];if(sortingFilterForms.forEach(sortingFilterForm=>{forms.push(this.createSearchParams(sortingFilterForm))}),forms=forms.filter(function(el){return el}),this.onSubmitForm(forms.join("&"),event),document.querySelector(".sticky-horizontal-filter")&&document.querySelector(".sticky-horizontal-filter").classList.contains("open")){this.closest(".shopify-section").querySelector(".top-filter").scrollIntoView({behavior:"smooth"}),document.querySelector("[data-sticky-filter]").classList.remove("open");const buttons=document.querySelector("[data-sticky-toggle-button]"),openBtn=buttons.querySelector(".open-icon"),closeBtn=buttons.querySelector(".close-icon");openBtn.classList.contains("hidden")&&openBtn.classList.remove("hidden"),closeBtn.classList.contains("hidden")||closeBtn.classList.add("hidden")}setTimeout(()=>{debouncedScrollTriggerRefresh()},1500)}onSubmitForm(searchParams,event){const query=document.querySelector("[search-page-input]");if(query){const queryValue=query.value;searchParams=`${searchParams}&type=product&q=${queryValue}`}FilterForm.renderPage(searchParams,event)}onActiveFilterClick(event){event.preventDefault();const url=event.currentTarget.href.indexOf("?")==-1?"":event.currentTarget.href.slice(event.currentTarget.href.indexOf("?")+1);FilterForm.renderPage(url)}static updateURLHash(searchParams){history.pushState({searchParams},"",`${window.location.pathname}${searchParams&&"?".concat(searchParams)}`)}static getSections(){const collectioSection=document.getElementById("collection--list-grid"),searchSection=document.getElementById("search--list-grid");if(collectioSection)return[{section:document.getElementById("collection--list-grid").dataset.id}];if(searchSection)return[{section:document.getElementById("search--list-grid").dataset.id}]}static renderPage(searchParams,event,updateURLHash=!0){FilterForm.searchParamsPrev=searchParams,FilterForm.getSections().forEac
1h(section=>{const query=document.querySelector("[search-page-input]");if(query){const queryValue=query.value,url=`${window.location.pathname}?section_id=${section.section}&q=${queryValue}&${searchParams}`;FilterForm.renderSectionFromFetch(url,event)}else{const url=`${window.location.pathname}?section_id=${section.section}&${searchParams}`;FilterForm.renderSectionFromFetch(url,event)}}),updateURLHash&&FilterForm.updateURLHash(searchParams)}static renderSectionFromFetch(url,event){fetch(url).then(response=>response.text()).then(responseText=>{const html=responseText;FilterForm.renderFiltersBar(html,event),FilterForm.renderProductGrid(html)})}static renderProductGrid(html){const resultData=new DOMParser().parseFromString(html,"text/html");document.querySelector("[data-collections-grid]")&&resultData.querySelector("[data-collections-grid]")&&(document.querySelector("[data-collections-grid]").innerHTML=resultData.querySelector("[data-collections-grid]").innerHTML),document.querySelector("[main-search-products-count]")&&resultData.querySelector("[main-search-products-count]")&&(document.querySelector("[main-search-products-count]").innerHTML=resultData.querySelector("[main-search-products-count]").innerHTML),document.querySelector("[data-collection-topbar]")&&resultData.querySelector("[data-collection-topbar]")&&(document.querySelector("[data-collection-topbar]").innerHTML=resultData.querySelector("[data-collection-topbar]").innerHTML)}static renderFiltersBar(html,event){const resultData=new DOMParser().parseFromString(html,"text/html");document.querySelector("[data-filters-sidebar]")&&resultData.querySelector("[data-filters-sidebar]")&&(document.querySelector("[data-filters-sidebar]").innerHTML=resultData.querySelector("[data-filters-sidebar]").innerHTML);const dropdownWrappers=document.querySelectorAll("[data-custom-dropdown-wrapper]"),resultDropdownWrappers=resultData.querySelectorAll("[data-custom-dropdown-wrapper]");dropdownWrappers.length>0&&resultDropdownWrappers.length>0&&dropdownWrappers.forEach((dropdown,index)=>{resultDropdownWrappers[index]&&(dropdown.innerHTML=resultDropdownWrappers[index].innerHTML)})}}customElements.define("filter-faced-form",FilterForm);class PriceRangeFilters extends HTMLElement{constructor(){super(),this.querySelector("[data-range-bars]")&&(this.rangeBars=this.querySelectorAll("input[type=range]"),this.numberFields=this.querySelectorAll("input[type=number]"),this.progress=this.querySelector("[data-filter-progress]"),this.thumbsGap=1,this.rangeBars.forEach(rangeBar=>{rangeBar.addEventListener("input",this.rangeBarHandle.bind(this))}),this.numberFields.forEach(numberField=>{numberField.addEventListener("input",this.numberFieldHandle.bind(this))}))}rangeBarHandle(event){this.rangeBars.forEach(el=>{let minVal=parseInt(this.rangeBars[0].value),maxVal=parseInt(this.rangeBars[1].value);maxVal-minVal<this.thumbsGap?el.target.className==="input-min"?this.rangeBars[0].value=maxVal-this.thumbsGap:this.rangeBars[1].value=minVal+this.thumbsGap:(this.numberFields[0].value=minVal,this.numberFields[1].value=maxVal,this.progress.style.left=minVal/this.rangeBars[0].max*100+"%",this.progress.style.right=100-maxVal/this.rangeBars[1].max*100+"%")})}numberFieldHandle(event){this.numberFields.forEach(el=>{let minPrice=parseFloat(this.numberFields[0].value),maxPrice=parseFloat(this.numberFields[1].value);maxPrice-minPrice>=this.thumbsGap&&maxPrice<=this.rangeBars[1].max&&(e.target.className==="input-min"?(this.rangeBars[0].value=minPrice,this.progress.style.left=minPrice/this.rangeBars[0].max*100+"%"):(this.rangeBars[1].value=maxPrice,this.progress.style.right=100-maxPrice/this.rangeBars[1].max*100+"%"))})}}customElements.define("price-range-bar",PriceRangeFilters);class ClearAllFilters extends HTMLElement{constructor(){super();const removeLink=this.querySelector("a");removeLink.setAttribute("role","button"),removeLink.addEventListener("click",this.clearFilter.bind(this)),removeLink.addEventListener("keyup",event=>{event.preventDefault(),event.code.toUpperCase()==="SPACE"&&this.clearFilter(event)})}clearFilter(event){event.preventDefault();const form=this.closest("filter-faced-form")||document.querySelector("filter-faced-form")||document.querySelector("[data-filter-faced-form]"),forms=document.querySelector("[data-filter-faced-form]");forms&&forms.onActiveFilterClick(event),form.onActiveFilterClick(event)}}customElements.define("filter-remove",ClearAllFilters);class HTMLUpdateUtility{static viewTransition(oldNode,newContent,preProcessCallbacks=[],postProcessCallbacks=[]){preProcessCallbacks?.forEach(callback=>callback(newContent));const newNodeWrapper=document.createElement("div");HTMLUpdateUtility.setInnerHTML(newNodeWrapper,newContent.outerHTML);const newNode=newNodeWrapper.firstChild,uniqueKey=Date.now();oldNode.querySelectorAll("[id], [form]").forEach(element=>
1{element.id&&(element.id=`${element.id}-${uniqueKey}`),element.form&&element.setAttribute("form",`${element.form.getAttribute("id")}-${uniqueKey}`)}),oldNode.replaceWith(newNode),postProcessCallbacks?.forEach(callback=>callback(newNode))}static setInnerHTML(element,html){element.innerHTML=html,element.querySelectorAll("script").forEach(oldScriptTag=>{const newScriptTag=document.createElement("script");Array.from(oldScriptTag.attributes).forEach(attribute=>{newScriptTag.setAttribute(attribute.name,attribute.value)}),newScriptTag.appendChild(document.createTextNode(oldScriptTag.innerHTML)),oldScriptTag.parentNode.replaceChild(newScriptTag,oldScriptTag)})}}class Variants extends HTMLElement{pendingRequestUrl=null;preProcessHtmlCallbacks=[];postProcessHtmlCallbacks=[];constructor(){super(),this.postProcessHtmlCallbacks.push(newNode=>{const checkStickyAddtocart=newNode.querySelector("sticky-buy-button");checkStickyAddtocart&&checkStickyAddtocart.fadeOut()}),this.colors=this.querySelectorAll("[variant-item]"),this.section=this.closest("section"),this.section==null&&(this.section=document.querySelector(`#shopify-section-${this.sectionId}`)),this.type=this.dataset.type,this.hideOption=this.dataset.unavailable,this.hidesoldOut=this.dataset.soldout,this.preorderStatus=this.dataset.preorder,this.colors&&this.colors.length>0&&this.colors.forEach(option=>{option.addEventListener("click",()=>{this.colors.forEach(elem=>{elem.classList.remove("active")}),option.classList.add("active")}),option.addEventListener("mouseover",()=>{this.colors.forEach(elem=>{elem.querySelector(".show-tooltip")&&elem.querySelector(".tooltip").classList.remove("show-tooltip"),option.querySelector(".tooltip")&&option.querySelector(".tooltip").classList.add("show-tooltip")})}),option.addEventListener("mouseleave",()=>{this.colors.forEach(elem=>{elem.querySelector(".show-tooltip")&&elem.querySelector(".tooltip").classList.remove("show-tooltip")})})}),this.addEventListener("change",this._onVariantChange.bind(this)),this._internals=this.attachInternals(),this.initQuantityHandlers()}initQuantityHandlers(){this.section&&(this.quantityInput=this.section.querySelector(".quantity-input"),this.quantityInput&&(this.quantityForm=this.section.querySelector(".quantity-main-product"),this.quantityForm&&this.setQuantityBoundries()))}setQuantityBoundries(){const data={cartQuantity:this.quantityInput.dataset.cartQuantity?parseInt(this.quantityInput.dataset.cartQuantity):0,min:this.quantityInput.dataset.min?parseInt(this.quantityInput.dataset.min):1,max:this.quantityInput.dataset.max?parseInt(this.quantityInput.dataset.max):null,step:this.quantityInput.step?parseInt(this.quantityInput.step):1};let min=data.min;const max=data.max===null?data.max:data.max-data.cartQuantity;max!==null&&(min=Math.min(min,max)),data.cartQuantity>=data.min&&(min=Math.min(min,data.step)),this.quantityInput.min=min,max?this.quantityInput.max=max:this.quantityInput.removeAttribute("max"),this.quantityInput.value=min,publish(PUB_SUB_EVENTS.quantityUpdate,void 0)}fetchQuantityRules(){const currentVariantId=this.currentVariant.id;currentVariantId&&fetch(`${this.dataset.url}?variant=${currentVariantId}§ion_id=${this.dataset.section}`).then(response=>response.text()).then(responseText=>{const html=new DOMParser().parseFromString(responseText,"text/html");this.updateQuantityRules(this.dataset.section,html)}).catch(e2=>console.error(e2)).finally(()=>console.log("working"))}updateQuantityRules(sectionId,html){if(!this.quantityInput)return;this.setQuantityBoundries(),this.quantityForm=document.getElementById(`quantity--main-product-${sectionId}-${this.dataset.product}`);const quantityFormUpdated=html.getElementById(`quantity--main-product-${sectionId}-${this.dataset.product}`),selectors=[".quantity-input",".quantity__rules"];for(let selector of selectors){const current=this.quantityForm.querySelector(selector),updated=quantityFormUpdated.querySelector(selector);if(!(!current||!updated))if(selector===".quantity-input"){const attributes=["data-cart-quantity","data-min","min","max","data-max","step","value"];for(let attribute of attributes){const valueUpdated=updated.getAttribute(attribute);attribute==="value"&&valueUpdated!==null?(current.value=valueUpdated,current.dispatchEvent(new Event("input",{bubbles:!0})),current.dispatchEvent(new Event("change",{bubbles:!0}))):valueUpdated!==null?current.setAttribute(attribute,valueUpdated):current.removeAttribute(attribute)}}else current.innerHTML=updated.innerHTML}}_onVariantChange(event){const changedInput=event.target;let productUrl=this.pendingRequestUrl||this.dataset.url;if(changedInput.tagName==="SELECT"){const selectedOption=changedInput.options[changedInput.selectedIndex];selectedOption&&selectedOption.dataset.productUrl&&(productUrl=selectedOption.dataset.productUrl)}else changedInput.dataset.productUrl&&(productUrl=changedInput.dataset.productUrl);this.pendingRequestUrl=productUrl;const shouldSwapProduct=this.dataset.url!==productUrl;if(this.dataset.section=="product-card"&&shouldSwapProduct){window.location.href=productUrl;return}let shouldFetchFullPage=!1;this.dataset.source=="main-product"&&(shouldFetchFullPage=this.dataset.updateUrl==="true"&&shouldSwapProduct);
1const gethandle=this.dataset.handle,getUrl=this.dataset.url,optionsIds=this.selectedOptionValues;this.renderProductInfoAll({requestUrl:this.buildRequestUrlWithParams(productUrl,optionsIds,shouldFetchFullPage),targetId:changedInput.id,callback:shouldSwapProduct?this.handleSwapProduct(productUrl,shouldFetchFullPage):this.handleUpdateProductInfo(productUrl)})}handleSwapProduct(productUrl,updateFullPage){return html=>{const isProductCard=this.closest("[data-product-card]"),isQuickView=this.closest("quick-view-drawer"),isFeaturedProduct=this.dataset.source==="featured-product",isProductsGrid=this.dataset.source==="products-grid",selector=`#shopify-section-${this.sectionId}`,updatePageTitle=()=>{const newTitle=html.querySelector("head title")?.innerHTML;newTitle&&(document.querySelector("head title").innerHTML=newTitle)},performViewTransition=(targetSelector,sourceSelector)=>{let targetElement="";isProductCard?targetElement=isProductCard:targetElement=document.querySelector(targetSelector);const sourceElement=html.querySelector(sourceSelector);targetElement&&sourceElement&&HTMLUpdateUtility.viewTransition(targetElement,sourceElement,this.preProcessHtmlCallbacks,this.postProcessHtmlCallbacks)};!isQuickView&&!isFeaturedProduct&&!isProductCard&&!isProductsGrid?(this.currentVariant=this.getSelectedVariant(html.querySelector(selector)),this._updateUrl(productUrl,this.currentVariant?.id),updateFullPage&&updatePageTitle(),performViewTransition("main","main")):isFeaturedProduct?performViewTransition(selector,selector):isQuickView?performViewTransition("[quick-view-drawer-content]","[quick-view-drawer-content]"):isProductCard?performViewTransition(isProductCard,"[data-product-card]"):performViewTransition(selector,selector)}}handleUpdateProductInfo(productUrl){return html=>{if(html.querySelector(".section-product-grid")){const productGridHtml=html.querySelector(`[data-id="main-product-form-${this.sectionId}-${this.dataset.product}"]`);productGridHtml&&(this.currentVariant=this.getSelectedVariant(productGridHtml))}else this.currentVariant=this.getSelectedVariant(html);if(!this.currentVariant){this._renderCardInfo(html),this._renderProductInfo(html),this._addToCartHandle(!0,"",!0);return}!this.closest("quick-view-drawer")&&!this.closest("[data-product-card]")&&(!this.closest("[data-featured-product]")&&!this.closest("products-grid")&&this._updateUrl(),this.updatePickupAvailability()),this._updateVariantFeeds(),this.closest("[data-product-card]")?this._renderCardInfo(html):this._renderProductInfo(html),this._updateMedia(html)}}renderProductInfoAll({requestUrl,targetId,callback}){this.abortController?.abort(),this.abortController=new AbortController,fetch(requestUrl,{signal:this.abortController.signal}).then(response=>response.text()).then(responseText=>{this.pendingRequestUrl=null;const html=new DOMParser().parseFromString(responseText,"text/html");callback(html)}).then(()=>{document.querySelector(`#${targetId}`)?.focus()}).catch(error=>{error.name==="AbortError"?console.log("Fetch aborted by user"):console.error(error)})}fetchHTML(url,callback){this.abortController?.abort(),this.abortController=new AbortController,fetch(url,{signal:this.abortController.signal}).then(res=>res.text()).then(text=>callback(new DOMParser().parseFromString(text,"text/html"))).catch(err=>{err.name!=="AbortError"&&console.error(err)})}_renderCardInfo(html){const variantSelects=html.querySelector("variants-set");variantSelects&&(this.innerHTML=variantSelects.innerHTML);const productCard=this.closest("[data-product-card]");if(productCard){const addButtonUpdated=html.querySelector(`[data-button=product--submit-${this.dataset.product}]`),updatedButton=productCard.querySelector(`[data-button=product--submit-${this.dataset.product}]`);addButtonUpdated&&(addButtonUpdated.hasAttribute("disabled")?updatedButton.setAttribute("disabled","disabled"):updatedButton.removeAttribute("disabled"));const priceWrapperdestination=productCard.querySelector("[data-productcard-price-wrapper]"),priceWrapperSource=html.querySelector("[data-productcard-price-wrapper]");priceWrapperSource&&priceWrapperdestination&&(priceWrapperdestination.innerHTML=priceWrapperSource.innerHTML)}}_updateMedia(html){if(!this.currentVariant)return;if(this.section){const altMedia=this.section.querySelector("[data-media-alt-based]"),htmlAltMedia=html.querySelector("[data-media-alt-based]");if(altMedia&&htmlAltMedia)if(altMedia.getAttribute("data-media-alt-based")==="false"&&htmlAltMedia.getAttribute("data-media-alt-based")==="false"){if(!this.currentVariant.featured_media)return;if(this.productMedia=this.section.querySelector(`media-gallery,swiper-content.main--product-media,swiper-content.quickview--product-thumbnail,swiper-content[data-id="${this.dataset.section}-${this.dataset.product}"]`),this.productMedia){const newMedia=this.productMedia.querySelector(`[data-media-id="${this.dataset.section}-${this.currentVariant.featured_media.id}"]`);if(newMedia){const slideIndex=parseInt(newMedia.getAttribute("data-swiper-slide-index"));isNaN(slideIndex)||(this.productMedia.querySelector(".swiper-autoplay")?(this.productMedia.increaseAutoplaySpeed(2e3),this.productMedia._selectSlide(slideIndex),this.productMedia.increaseAutoplaySpeed(6e3)):this.productMedia._selectSlide(slideIndex))}}}else{const altMediaPopupContent=this.section.querySelector("[data-product-media-content]"),htmlAltMediaPopupContent=html.querySelector("[data-product-media-content]");altMediaPopupContent&&htmlAltMediaPopupContent&&HTMLUpdateUtility.viewTransition(altMediaPopupContent,htmlAltMediaPopupContent),HTMLUpdateUtility.viewTransition(altMedia,htmlAltMedia)}else{if(!this.currentVariant.featured_media)return;if(this.productMedia=this.section.querySelector(`media-gallery,swiper-content.main--product-media,swiper-content.quickview--product-thumbnail,swiper-content[data-id="${this.dataset.section}-${this.dataset.product}"]`),this.productMedia){const newMedia=this.productMedia.querySelector(`[data-media-id="${this.dataset.section}-${this.currentVariant.featured_media.id}"]`);if(newMedia){const slideIndex=parseInt(newMedia.getAttribute("data-swiper-slide-index"));isNaN(slideIndex)||(this.productMedia.querySelector(".swiper-autoplay")?(this.productMedia.increaseAutoplaySpeed(2e3),this.productMedia._selectSlide(slideIndex),this.productMedia.increaseAutoplaySpeed(6e3)):this.productMedia._selectSlide(slideIndex))}}}}if(!this.currentVariant.featured_media)return;const productCard=this.closest("[data-product-card]");if(productCard&&productCard.querySelector("[data-product-media]")){let imageContent=`${this.currentVariant.featured_media.preview_image.src}&width=180 180w, 2 ${this.currentVariant.featured_media.preview_image.src}&width=360 360w, 3 ${this.currentVariant.featured_media.preview_image.src}&width=540 540w, 4 ${this.currentVariant.featured_media.preview_image.src}&width=720 720w, 5 ${this.currentVariant.featured_media.preview_image.src}&width=900 900w`;productCard.querySelector("[data-product-media]").querySelector("img").srcset=imageContent}}_updateUrl(url,variantId){if(url!=null){if(this.dataset.page!="product"||!this.currentVariant||this.dataset.updateUrl==="false")return;window.history.replaceState({},"",`${url}?variant=${this.currentVariant.id}`)}else{if(this.dataset.page!="product"||!this.currentVariant||this.dataset.updateUrl==="false")return;window.history.replaceState({},"",`${this.dataset.url}?variant=${this.currentVariant.id}`)}}_updateVariantFeeds(){document.querySelectorAll(`#main-product-form-${this.dataset.section},#quick-view-product-form-${this.dataset.section}-${this.dataset.product}, #main-product-form-installment-${this.dataset.section}, #main-product-form-merged-installment-${this.dataset.section}, 6 #main-product-form-${this.dataset.section}-${this.dataset.product},#main-product-form-${this.dataset.mainSectionId}-${this.dataset.product}`).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))})}_addToCartHandle(disable=!0,text,modifyClass=!0){if(this.productForm=d
6ocument.getElementById(`main-product-form-${this.dataset.section}`)||document.getElementById(`main-product-form-${this.dataset.section}-${this.dataset.product}`)||document.getElementById(`main-product-form-${this.dataset.mainSectionId}-${this.dataset.product}`)||document.getElementById(`main-card-product-form-${this.dataset.section}-${this.dataset.product}`)||document.getElementById(`quick-view-product-form-${this.dataset.section}-${this.dataset.product}`)||document.getElementById(`quick-view-product-form-${this.dataset.section}`),!this.productForm)return;const addToCartButton=this.productForm.querySelector('[name="add"]'),addButtonText=this.productForm.querySelector('[name="add"] > [data-product-button]'),stickyAddButtonText=this.closest("section").querySelector(`#sticky-product--submit-btn-${this.dataset.section}`);if(this.productvariantInventory=JSON.parse(this.querySelector('[type="application/json"][data-name="main-product-inventories"]').textContent),this.currentVariant&&(this.variantInventory=this.productvariantInventory.find(variant=>variant.id==this.currentVariant.id)),!!addToCartButton)if(disable){addToCartButton.setAttribute("disabled","disabled");const backInStock=document.getElementById(`product--back-in-stock-wrapper-${this.dataset.section}`);if(backInStock&&backInStock.classList.remove("hidden"),this.currentVariant)(text||addButtonText)&&(addButtonText.textContent=text);else{addButtonText&&(addButtonText.textContent=window.addToCartButtonStrings.unavailable),stickyAddButtonText&&stickyAddButtonText.setAttribute("diasbled",!0);const inventory=document.getElementById(`product-inventory-wrapper-${this.dataset.section}-${this.dataset.product}`);inventory&&inventory.classList.add("hidden");const PricePerItem=document.getElementById(`PricePerItemWrapper-${this.dataset.section}-${this.dataset.product}`);PricePerItem&&PricePerItem.classList.add("hidden");const priceTitledestination=document.getElementById(`price--wrapper-${this.dataset.section}-${this.dataset.product}`);priceTitledestination&&priceTitledestination.classList.add("hidden");const pickUpAvailability=document.getElementById(`pickup-availability-${this.dataset.section}-${this.dataset.product}`);pickUpAvailability&&pickUpAvailability.classList.add("hidden")}}else addToCartButton.removeAttribute("disabled"),this.preorderStatus!="false"&&this.variantInventory&&this.variantInventory.inventory_policy=="continue"&&this.variantInventory.inventory_quantity<=0?addButtonText.textContent=window.addToCartButtonStrings.preOrder:addButtonText&&(addButtonText.textContent=window.addToCartButtonStrings.addToCart),stickyAddButtonText&&stickyAddButtonText.removeAttribute("diasbled")}renderProductInfo({requestUrl,callback}){this.abortController?.abort(),this.abortController=new AbortController,fetch(requestUrl,{signal:this.abortController.signal}).then(response=>response.text()).then(responseText=>{this.pendingRequestUrl=null;const html=new DOMParser().parseFromString(responseText,"text/html");callback(html)}).then(()=>{}).catch(error=>{error.name==="AbortError"?console.log("Fetch aborted by user"):console.log(error)})}get selectedOptionValues(){return Array.from(this.querySelectorAll("select, optionset input:checked")).map(el=>el.tagName==="SELECT"?el.selectedOptions[0]?.dataset.optionValueId:el.dataset.optionValueId).filter(Boolean)}buildRequestUrlWithParams(url,optionValues,shouldFetchFullPage=!1){url=url.split("?")[0];const params=[];return!shouldFetchFullPage&¶ms.push(`section_id=${this.sectionId}`),optionValues.length&¶ms.push(`option_values=${optionValues.join(",")}`),`${url}?${params.join("&")}`}getSelectedVariant(productInfoNode){const selectedVariant=productInfoNode.querySelector("variants-set [data-selected-variant-json]")?.innerHTML;return selectedVariant?JSON.parse(selectedVariant):null}updatePickupAvailability(){}_renderProductInfo(html){if(html.querySelector(".section-product-grid")){const productGridHtml=html.querySelector(`[data-id="main-product-form-${this.sectionId}-${this.dataset.product}"]`);if(productGridHtml){const productGridVariantSelectsHtml=productGridHtml.querySelector("variants-set");this.innerHTML=productGridVariantSelectsHtml.innerHTML}}else{const variantSelects=html.querySelector("variants-set");variantSelects&&(this.innerHTML=variantSelects.innerHTML)}document.getElementById(`price--wrapper-${this.sectionId}-${this.dataset.product}`)&&document.getElementById(`price--wrapper-${this.sectionId}-${this.dataset.product}`).classList.remove("hidden");const priceWrapperdestination=document.getElementById(`price-title-wrapper-${this.sectionId}-${this.dataset.product}`),priceWrapperSource=html.getElementById(`price-title-wrapper-${this.sectionId}-${this.dataset.product}`);priceWrapperSource&&priceWrapperdestination&&(priceWrapperdestination.innerHTML=priceWrapperSource.innerHTML,priceWrapperdestination.classList.remove("hidden"));const inventorydestination=document.getElementById(`product-inventory-wrapper-${this.sectionId}-${this.dataset.product}`),inventorySource=html.getElementById(`product-inventory-wrapper-${this.sectionId}-${this.dataset.product}`);inventorySource&&inventorydestination&&(inventorydestination.innerHTML=inventorySource.innerHTML,inventorydestination.classList.remove("hidden"));const variantsDestination=document.getElementById(`products-variants-${this.sectionId}-${this.dataset.product}`),variantsSource=html.getElementById(`products-variants-${this.sectionId}-${this.dataset.product}`);variantsSource&&variantsDestination&&(variantsDestination.innerHTML=variantsSource.innerHTML);const stickyBuyButtonSource=html.getElementById(`sticky-buy-button-${this.sectionId}`),stickyBuyButtonDestination=document.getElementById(`sticky-buy-button-${this.sectionId}`);stickyBuyButtonSource&&stickyBuyButtonDestination&&(stickyBuyButtonDestination.innerHTML=stickyBuyButtonSource.innerHTML,stickyBuyButtonDestination&&stickyBuyButtonDestination.connectedCallback());const destination=document.getElementById(`price--wrapper-${this.sectionId}-${this.dataset.product}`),source=html.getElementById(`price--wrapper-${this.sectionId}-${this.dataset.product}`);source&&destination&&(destination.innerHTML=source.innerHTML);const backInStockDestination=document.getElementById(`product--back-in-stock-wrapper-${this.dataset.section}`),backInStockSource=html.getElementById(`product--back-in-stock-wrapper-${this.sectionId}`);backInStockSource&&backInStockDestination&&(backInStockDestination.innerHTML=backInStockSource.innerHTML,backInStockDestination.classList.add("hidden"));const colorNameDestination=this.querySelector(`[data-selected-variant=${this.sectionId}-${this.dataset.product}]`),colorNameSource=html.querySelector(`[data-selected-variant=${this.sectionId}-${this.dataset.product}]`);colorNameSource&&colorNameDestination&&(colorNameDestination.innerText=colorNameSource.innerText);const skuSource=html.getElementById(`product--sku-${this.sectionId}-${this.dataset.product}`),skuDestination=document.getElementById(`product--sku-${this.sectionId}-${this.dataset.product}`);skuSource&&skuDestination&&(skuDestination.innerHTML=skuSource.innerHTML,skuDestination.classList.toggle("hidden",skuSource.classList.contains("hidden")));const pickupDestination=this.section.querySelector(`[data-main-pickup-info=${this.sectionId}-${this.dataset.product}]`),pickupSource=html.querySelector(`[data-main-pickup-info=${this.sectionId}-${this.dataset.product}]`),pickUpAvailability=document.getElementById(`pickup-availability-${this.sectionId}-${this.dataset.product}`);pickupSource&&pickupDestination&&(pickupDestination.innerHTML="",pickupDestination.innerHTML=pickupSource.innerHTML,pickUpAvailability.classList.remove("hidden"));const PricePerItemSource=html.getElementById(`PricePerItem-${this.sectionId}-${this.dataset.product}`),PricePerItemDestination=document.getElementById(`PricePerItem-${this.sectionId}-${this.dataset.product}`);if(PricePerItemSource&&PricePerItemDestination){PricePerItemDestination.innerHTML=PricePerItemSource.innerHTML;const PricePerItemWrapper=document.getElementById(`PricePerItemWrapper-${this.dataset.section}-${this.dataset.product}`);PricePerItemWrapper&&PricePerItemWrapper.classList.remove("hidden")}const VolumeItemSource=html.getElementById(`Volume-${this.sectionId}-${this.dataset.product}`),VolumeItemDestination=document.getElementById(`Volume-${this.sectionId}-${this.dataset.product}`);VolumeItemSource&&VolumeItemDestination&&(VolumeItemDestination.innerHTML=VolumeItemSource.innerHTML);
6const addButtonUpdated=html.querySelector(`[data-prid=product--submit-btn-${this.sectionId}-${this.dataset.product}]`);this._addToCartHandle(addButtonUpdated?addButtonUpdated.hasAttribute("disabled"):!0,window.addToCartButtonStrings.soldOut),this.updateQuantityRules(this.sectionId,html),document.querySelector(`#QuantityRules-${this.sectionId}-${this.dataset.product}`)?.classList.remove("hidden"),document.querySelector(`#Volume-Note-${this.sectionId}`)?.classList.remove("hidden")}get sectionId(){return this.dataset.originalSection||this.dataset.section}}customElements.define("variants-set",Variants);class QuantitySet extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=new Event("change",{bubbles:!0}),this.input.addEventListener("change",this.inputChangeHandler.bind(this)),this.querySelector("[button-plus]").addEventListener("click",this.onClickplus.bind(this)),this.querySelector("[button-minus]").addEventListener("click",this.onClickminus.bind(this))}inputChangeHandler(event){this.validateQtyRules()}onClickplus(event){event.preventDefault();const previousValue=this.input.value;this.input.stepUp(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}onClickminus(event){event.preventDefault();const previousValue=this.input.value;this.input.stepDown(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}validateQtyRules(){const value=parseInt(this.input.value);if(this.input.min){const min=parseInt(this.input.min);this.querySelector("[name='decrease']").classList.toggle("disabled",value<=min)}if(this.input.max){const max=parseInt(this.input.max);this.querySelector("[name='increase']").classList.toggle("disabled",value>=max)}}}customElements.define("quantity-set",QuantitySet);class CartQuantityWrapper extends HTMLElement{constructor(){super(),this.icon=this.querySelector("[cart-quantity-popover-info-icon]"),this.content=this.querySelector("[cart-quantity-popover-info-content]"),this.handleIconClick=this.handleIconClick.bind(this),this.handleOutsideClick=this.handleOutsideClick.bind(this)}connectedCallback(){this.icon&&this.content?(this.icon.addEventListener("click",this.handleIconClick),document.addEventListener("click",this.handleOutsideClick)):console.warn("CartQuantityWrapper: icon or content not found")}disconnectedCallback(){this.icon&&this.icon.removeEventListener("click",this.handleIconClick),document.removeEventListener("click",this.handleOutsideClick)}handleIconClick(event){event.stopPropagation(),this.content.classList.toggle("active")}handleOutsideClick(event){this.contains(event.target)||this.content.classList.remove("active")}}customElements.define("quantity-wrapper",CartQuantityWrapper);class DragElement extends HTMLElement{constructor(){if(super(),!this.querySelector("[data-cursor]"))return!1;this.cursor=this.querySelector("[data-cursor]"),this.imageComparison(this.cursor)}imageComparison(cursor){if(!cursor.offsetParent)return!1;let layout="",active=!1;const parentSection=cursor.closest(".shopify-section"),parentWrapper=cursor.closest("[data-parent-wrapper]"),imagWrapper=parentSection.querySelector("[data-parent-wrapper]");cursor.addEventListener("mousedown",function(){active=!0,imagWrapper.classList.remove("animating"),parentSection.classList.add("scrolling")}),parentSection.addEventListener("mouseup",function(){active=!1,parentSection.classList.remove("scrolling"),imagWrapper.classList.add("animating")}),parentSection.addEventListener("mouseleave",function(){active=!1,parentSection.classList.remove("scrolling"),imagWrapper.classList.add("animating")}),parentSection.addEventListener("mousemove",function(e2){if(!active)return;parentSection.querySelector("[data-parent-wrapper]")&&parentSection.querySelector("[data-parent-wrapper]").getAttribute("data-layout")==="horizontal"&&(layout=parentSection.querySelector("[data-parent-wrapper]").getAttribute("data-layout"));let bounding=parentSection.getBoundingClientRect();const event=e2.touches&&e2.touches[0]||e2;let x=layout?event.pageX-(bounding.left+window.scrollX):event.pageY-(bounding.top+window.scrollY);this.scrollIt(x,layout,parentSection)}.bind(this)),cursor.addEventListener("touchstart",function(){active=!0,imagWrapper.classList.remove("animating"),parentSection.classList.add("scrolling")}),cursor.addEventListener("touchend",function(){active=!1,parentSection.classList.remove("scrolling"),imagWrapper.classList.add("animating")}),document.addEventListener("touchleave",function(){active=!1,parentSection.classList.remove("scrolling"),imagWrapper.classList.add("animating")}),parentSection.addEventListener("touchmove",function(e2){if(!active)return;parentSection.querySelector("[data-parent-wrapper]")&&(layout=parentSection.querySelector("[data-parent-wrapper]").getAttribute("data-layout"));let bounding=parentSection.getBoundingClientRect();const event=e2.touches&&e2.touches[0]||e2;let x=layout?event.pageX-(bounding.left+window.scrollX):event.pageY-(bounding.top+window.scrollY);this.scrollIt(x,layout,parentSection)}.bind(this))}scrollIt(x,layout,parentSection){const distance=layout?parentSection.querySelector("[data-parent-wrapper]").clientWidth:parentSection.querySelector("[data-parent-wrapper]").clientHeight,max=distance-20,mousePercent=Math.max(20,Math.min(x,max))*100/distance;parentSection.querySelector("[data-parent-wrapper]").style.setProperty("--percent",mousePercent+"%")}}customElements.define("drag-element",DragElement);class ScrollObserver{constructor(){this.handleScroll=this.handleScroll.bind(this),window.addEventListener("scroll",this.handleScroll),this.targetY=0,this.currentY=0,this.currentScrollTop=0}handleScroll(){document.querySelectorAll("section").forEach(section=>{if(isOnScreen(section))section.classList.contains("section-before-after")&&setTimeout(()=>{if(section.querySelector("[data-parent-wrapper]")){if(section.querySelector("[data-parent-wrapper]").classList.contains("animating"))return;section.querySelector("[data-parent-wrapper]").classList.add("animating"),setTimeout(()=>{const percent=section.querySelector("[data-parent-wrapper]").getAttribute("data-percentage-value");section.querySelector("[data-parent-wrapper]").style.setProperty("--percent",`${percent}%`)},1e3)}},1e3),setTimeout(()=>{if(section.querySelector("variety-heading")&§ion.querySelector(".outline--filled")&§ion.querySelectorAll(".outline--filled").forEach(item=>{item.classList.add("outline-animate")}),!section.classList.contains("section-in-view")&&(section.classList.add("section-in-view"),section.querySelectorAll("video").forEach(function(video){video.hasAttribute("autoplay")&&video.play()}),section.classList.contains("section-media-gallery"))){const mediaWraper=section.querySelector("[data-media-gallery]");if(mediaWraper&&(mediaWraper.classList.contains("media-gallery-text-visibility-time-delay")||mediaWraper.classList.contains("media-gallery-text-visibility-delay-and-disappear"))){const delayDuration=mediaWraper.getAttribute("data-delay-duration"),delayAndDisappear=mediaWraper.getAttribute("data-disappear-duration"),mediaItems=mediaWraper.querySelectorAll("[data-media-item]"),delayTime=parseInt(delayDuration)*1e3,disappearTime=parseInt(delayAndDisappear)*1e3;setTimeout(()=>
6{mediaItems.forEach(item=>{item&&item.classList.add("media-gallery-content-show")}),mediaWraper.classList.contains("media-gallery-text-visibility-delay-and-disappear")&&setTimeout(()=>{mediaItems.forEach(item=>{item&&item.classList.remove("media-gallery-content-show")})},disappearTime)},delayTime)}}},500);else if(section.classList.remove("section-in-view"),section){section.querySelectorAll("video").forEach(function(video){video.pause()}),section.querySelectorAll(".youtube-video").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),section.querySelectorAll(".vimeo-video").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")});const productModelElement=section.querySelector("product-model");productModelElement&&productModelElement instanceof HTMLElement&&productModelElement.classList.contains("shopify-model-viewer-ui__disabled")===!1&&typeof productModelElement.pauseModel=="function"&&productModelElement.pauseModel()}});const headerSection=document.querySelector("[data-header-section]");if(headerSection&&headerSection.classList.contains("sticky-none")){const headerSectionHeight=headerSection.offsetHeight,scrollTop=window.pageYOffset||document.documentElement.scrollTop,dynamicHeight=scrollTop>headerSectionHeight?0:Math.max(headerSectionHeight-scrollTop,0);document.body.style.setProperty("--dynamic_header_height",`${dynamicHeight}px`),this.currentScrollTop=scrollTop}}}let scrollObserver=new ScrollObserver;class ImageOverlayText extends HTMLElement{constructor(){super(),this.parent=this.closest("[data-content-wrapper]"),this.addEventListener("mousemove",this.showContent.bind(this)),this.section=this.closest(".shopify-section"),this.wrapper=this.closest("[data-content-wrapper]"),this.wrapper&&this.wrapper.addEventListener("mousemove",function(){if(this.wrapper.classList.contains("active"))return;const currentActive=this.section.querySelector("[data-content-wrapper].active");currentActive&¤tActive.classList.remove("active"),this.wrapper.classList.add("active")}.bind(this)),this.marquee&&this.setMarqueeSpeed()}showContent(){if(this.classList.contains("active"))return!1;this.parent.querySelector(".featured-collections-list--content-inner.active")&&this.parent.querySelector(".featured-collections-list--content-inner.active").classList.remove("active"),this.classList.add("active"),this.activeImage=this.parent.querySelector(".featured-collections-list--image-inner.active"),this.currentElementImage=this.parent.querySelector(`[data-image-id=${this.dataset.id}]`),this.currentElementImage&&(this.activeImage&&this.activeImage.classList.remove("active"),this.currentElementImage.classList.add("active"))}setMarqueeSpeed(){this.marqueeSpeed=parseInt(this.marquee.dataset.marqueeSpeed)||5,this.node=this.marquee.querySelector("[data-marquee-node]"),this.node&&new ResizeObserver(this.calculateSpeed.bind(this)).observe(this)}calculateSpeed(){if(window.innerWidth>1024){const containerHeight=this.offsetHeight,distance=this.node.offsetHeight+containerHeight,duration=this.marqueeSpeed*distance;this.style.setProperty("--animation_speed",`${duration}ms`)}else{const containerWidth=this.offsetWidth,distance=this.node.offsetWidth+containerWidth,duration=this.marqueeSpeed*distance;this.style.setProperty("--animation_speed",`${duration}ms`)}}}customElements.define("image-overlay-text",ImageOverlayText);class HighlightedProducts extends HTMLElement{connectedCallback(){Array.from(this.querySelectorAll("[data-product-card]")).map(productCard=>{productCard.addEventListener("mouseover",this.handleMouseOver.bind(this,productCard))})}handleMouseOver(productCard){const productId=productCard.dataset.id,hoveredItem=productCard.closest("section").querySelector(`[data-
6product-item="${productId}"]`);Array.from(productCard.closest("section").querySelectorAll("[data-product-item]")).map(item=>{item.classList.replace("active","hidden")}),this.dataset.fixedItem&&hoveredItem&&hoveredItem.classList.replace("hidden","active")}}customElements.define("highlighted-products",HighlightedProducts);class CountdownFacet extends HTMLElement{constructor(){super(),this.init_countdown()}init_countdown(){this.targetDate=new Date(this.getAttribute("data-countdown-input")).getTime(),this.timer_labels={days:this.querySelector("[data-days]"),hours:this.querySelector("[data-hours]"),minutes:this.querySelector("[data-minutes]"),seconds:this.querySelector("[data-seconds]")},this.interval=setInterval(()=>this.timerCountFunc(this.targetDate),1e3)}timerCountFunc(targetDate){const dateNow=new Date().getTime(),remainingTime=targetDate-dateNow;if(remainingTime<=0){const mainElement=this.closest(".shopify-section");this.getAttribute("data-timeout-style")=="show"&&(mainElement.querySelector("[data-message]").classList.remove("hidden"),mainElement.querySelector("counter-facet").style.display="none"),this.getAttribute("data-timeout-style")=="hide"&&(mainElement.querySelector("counter-facet").style.display="none");return}const days=Math.floor(remainingTime/(1e3*60*60*24)),hours=Math.floor(remainingTime%(1e3*60*60*24)/(1e3*60*60)),minutes=Math.floor(remainingTime%(1e3*60*60)/(1e3*60)),seconds=Math.floor(remainingTime%(1e3*60)/1e3);this.timer_labels.days.innerHTML=days,this.timer_labels.hours.innerHTML=hours,this.timer_labels.minutes.innerHTML=minutes,this.timer_labels.seconds.innerHTML=seconds}}customElements.define("counter-facet",CountdownFacet);class OverlayContainer extends HTMLElement{constructor(){super(),this.init()}init(){fetch(`${window.routes.cart_url}?section_id=cart-drawer`).then(response=>response.text()).then(responseText=>{const sectionCartDrawer=new DOMParser().parseFromString(responseText,"text/html").querySelector(".shopify-section")}).catch(e2=>{console.log("something went wrong!")})}}customElements.define("overlay-container",OverlayContainer);class StoreLocator extends HTMLElement{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.onKeyDown()}}customElements.define("store-locator",StoreLocator);class ExpandSet extends HTMLElement{constructor(){super(),this.addEventListener("mouseover",this.onMouseOverHandler.bind(this))}onMouseOverHandler(){this.classList.contains("active")||(Array.from(this.closest("section").querySelectorAll("expand-set")).map(item=>{item.classList.remove("active")}),this.classList.add("active"))}}customElements.define("expand-set",ExpandSet);class Hotspot extends HTMLElement{constructor(){super(),this.addEventListener("click",event=>{event.preventDefault(),this.blockid=event.currentTarget.dataset.hotspot,this.open(this.blockid)}),this.addEventListener("mouseover",this.onActionOver.bind(this)),this.addEventListener("mouseleave",this.onActionLeave.bind(this))}open(blockid){if(document.querySelector('[data-drawer="shop-the-look-drawer-'+blockid+'"]')){setTimeout(()=>{document.querySelector('[data-drawer="shop-the-look-drawer-'+blockid+'"]').classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{document.querySelector('[data-drawer="shop-the-look-drawer-'+blockid+'"]').classList.add("shadow")},800),document.querySelector('[data-drawer="shop-the-look-drawer-'+blockid+'"]').style.display="flex";const element=document.querySelector('[data-drawer="shop-the-look-drawer-'+blockid+'"]');element.querySelector("video")&&element.querySelector("video").play()}}onActionOver(){this.classList.contains("active-drawer")||this.classList.add("hover-drawer")}onActionLeave(){this.classList.remove("hover-drawer")}}customElements.define("hot-spot",Hotspot);class SwingText extends HTMLElement{constructor(){super();var direction=parseInt(this.dataset.direction);for(this.defaultOptions={radius:direction===1?700:900,dir:direction,letterSpacing:0,animation:{duration:6,onComplete:function(){}}},this.options=this.defaultOptions,this.letters=[],this.splitchars="",this.length=11,this.chars=this.dataset.text,this.splitchars+='<div class="Backgroun
6dText-inner" data-split-text="" >',this.i=0;this.i<this.length;this.i++)if(this.chars[this.i]){let currentChar=this.chars[this.i];typeof currentChar=="string"&¤tChar.trim()===""&&(currentChar=" "),this.splitchars+='<span class="char">'+currentChar+"</span>"}this.splitchars+="</div>",this.innerHTML=this.splitchars,this.init()}init(){this.$letters=this.querySelectorAll("span"),this.letters=[];for(let i=0;i<this.$letters.length;i++)this.letters.push({el:this.$letters[i]});this.calc(),this.rotateWord()}outerWidth(el){const style=getComputedStyle(el);return el.offsetWidth+parseInt(style.marginLeft)+parseInt(style.marginRight)}calc(){if(this.options.radius===-1)return!1;this.calcBase(),this.calcLetters()}calcBase(){this.dtWord=0,this.letters.forEach((letter,index)=>{const width=this.outerWidth(letter.el);this.dtWord+=width,this.letters[index].center=this.dtWord-width/2,this.letters[index].width=width});const e2=this.dtWord/2;this.options.radius<e2&&(this.options.radius=e2),this.dtArcBase=this.dtWord;const r=2*Math.asin(this.dtArcBase/(2*this.options.radius));this.dtArc=this.options.radius*r}calcLetters(){let e2=0;this.letters.forEach((letter,index)=>{this.outer=letter.width/this.dtWord*this.dtArc/this.options.radius,this.cen=this.options.radius*Math.cos(this.outer/2),this.leng=Math.acos((this.dtWord/2-e2)/this.options.radius)+this.outer/2,this.dia=Math.cos(this.leng)*this.cen,this.far=Math.sin(this.leng)*this.cen,this.heighh=e2+Math.abs(this.dtWord/2-this.dia-e2),this.mdo=0|this.heighh-letter.center,this.vlo=0|this.options.radius-this.far,this.yaxis=0|-Math.asin(this.dia/this.options.radius)*(180/Math.PI),e2=2*this.heighh-e2,this.letters[index].x=this.mdo-(this.letters.length/2-index),this.letters[index].y=this.options.dir===1?this.vlo:-this.vlo,this.letters[index].a=this.options.dir===1?this.yaxis:-this.yaxis})}rotateWord(){const l=this.options.dir===1?Math.max(...this.letters.map(letter=>letter.y)):Math.min(...this.letters.map(letter=>letter.x));this.letters.forEach(letter=>{this.options.dir===1?letter.y=letter.y-l:letter.y=letter.y,letter.el.style.transition=`transform ${this.options.animation.duration}s ${this.options.animation.ease||"ease-in-out"}`,letter.el.style.transform=`translate3d(${letter.x}px, ${letter.y}px,0px) rotate(${letter.a}deg)`}),setTimeout(()=>{this.letters.forEach(letter=>{letter.el.style.transition=`transform ${this.options.animation.duration}s ${this.options.animation.ease||"ease-in-out"}`,letter.el.style.transform="translate3d(0px, 0px,0px) rotate(0deg)"}),setTimeout(()=>{this.animateLoop()},this.options.animation.duration*500)},this.options.animation.duration*500)}animateLoop(){const self=this,direction=this.options.dir===1?"down":"up";this[direction]({onComplete:"loop"})}up(t){this.ease=this.options.animation.ease,this.duration=this.options.animation.duration,this.onComplete=t.onComplete,this.set({radius:this.options.radius,letterSpacing:this.options.letterSpacing,dir:this.options.dir,animation:{ease:this.ease,duration:this.duration,onComplete:function(){this.onComplete&&(this.onComplete==="loop"?this.animateLoop():this.onComplete())}}})}down(t){this.ease=this.options.animation.ease,this.duration=this.options.animation.duration,this.onComplete=t.onComplete,this.set({radius:-1,letterSpacing:0,dir:this.options.dir,animation:{ease:this.ease,duration:this.duration,onComplete:function(){this.onComplete&&(this.onComplete==="loop"?this.animateLoop():this.onComplete())}}})}onResize(){this.calc(),this.rotateWord()}set(options){this.options=Object.assign({},this.options,options),this.calc(),this.rotateWord()}}customElements.define("swing-text",SwingText);class TrendingSet extends HTMLElement{constructor(){super(),this.addEventListener("mouseover",this.onMouseOverHandler.bind(this)),this.closest("[data-trending-wrapper]").addEventListener("mouseleave",this.onMouseOutHandler.bind(this)),this.description_height(),new ResizeObserver(()=>this.description_height()).observe(this.querySelector("[data-content-item]")),this.swatches=this.querySelectorAll("[data-product-swatche-item]"),this.swatches.forEach(item=>item.addEventListener("mouseover",this.onSwatchChange.bind(this)))}onSwatchChange(event){let activeLi=event.currentTarget.dataset.id;if(!activeLi)return;const activeItem=this.querySelector("[data-trending-media].active");activeItem&&(activeItem.classList.remove("active"),activeItem.classList.add("processing"),setTimeout(()=>{activeItem.classList.remove("processing")},400)),this.trendingMedia=this.querySelectorAll("[data-trending-media]"),this.trendingMedia.forEac
6h(item=>{item.classList.add("hidden")});const featuredMedia=this.querySelector(`[data-media-id=product-${activeLi}]`);featuredMedia.classList.remove("hidden"),featuredMedia&&featuredMedia.classList.add("active")}description_height(){Array.from(this.querySelectorAll("[data-content-item]")).map(content_item=>{this.style.setProperty("--desc-height",`${content_item.getBoundingClientRect().height}px`)})}onMouseOverHandler(){if(this.classList.contains("is-deployed"))return!1;Array.from(this.closest("section").querySelectorAll("trending-set")).map(item=>{item.classList.remove("is-deployed","is-retracted"),this.dataset.column!=item.getAttribute("data-column")&&item.classList.add("is-retracted")}),this.classList.add("is-deployed")}onMouseOutHandler(){Array.from(this.closest("section").querySelectorAll("trending-set")).map(item=>{item.classList.remove("is-deployed","is-retracted")})}}customElements.define("trending-set",TrendingSet);function animateValue(id,start,end,duration){let range=end-start,current=start,obj=id,starttime,fn=ms=>{let progress=0;starttime===void 0?starttime=ms:(progress=ms-starttime,progress>=duration?current=end:current=start+Math.floor(progress/duration*range)),obj.style.transform=`translate3d(${current}px, 0px, 0px) rotate(-0.3092deg)`,progress<duration&&requestAnimationFrame(fn)};requestAnimationFrame(fn)}class ImageTextAccordion extends HTMLElement{constructor(){super(),this.init()}init(){this.imagesMain=this.querySelector("[data-attr]"),this.itemList=this.querySelectorAll("[accordion-menu-list]"),this.imagesList=this.querySelectorAll("[accordion-menu-images]"),this.imagesCount=this.imagesList.length,this.imagesCount>3&&(this.imagesMain.style.position="sticky"),this.itemList.forEach(item=>item.addEventListener("mouseover",this.onHover.bind(this))),this.updateNextClassOnHover(),this.updatePrevClass()}onHover(event){this.imagesList.forEach(item=>item.classList.remove("active")),this.itemList.forEach(item=>{item.classList.remove("active"),this.itemList[0].classList.add("active")}),event.currentTarget.classList.add("active");const index=parseInt(event.currentTarget.getAttribute("data-index")),correspondingImage=this.querySelector(`.images-text-accordion--image-list-inner-wrapper[data-index="${index}"]`);correspondingImage&&correspondingImage.classList.add("active"),this.updateNextClassOnHover(),this.updatePrevClass()}updateNextClassOnHover(){this.imagesList.forEach(item=>item.classList.remove("next-1","next-2","next-3","prev"));let nextIndex=0;const activeIndex=Array.from(this.imagesList).findIndex(item=>item.classList.contains("active"));if(activeIndex!==-1)for(let i=1;i<=3;i++)nextIndex=(activeIndex+i)%this.imagesList.length,this.imagesList[nextIndex].classList.add("next-"+i)}updatePrevClass(){const activeIndex=Array.from(this.imagesList).findIndex(item=>item.classList.contains("active"));if(activeIndex!==-1){let prevIndex=(activeIndex-1+this.imagesList.length)%this.imagesList.length;this.imagesList[prevIndex].classList.add("prev")}}}customElements.define("images-text-accordion",ImageTextAccordion);class BestSellingProducts extends HTMLElement{constructor(){super(),this.expandBtn=this.querySelector("[data-expand-btn]"),this.expandBtn&&this.expandBtn.addEventListener("click",this.show.bind(this)),this.collapseBtn=this.querySelector("[data-collapse-btn]"),this.collapseBtn&&this.collapseBtn.addEventListener("click",this.hide.bind(this))}show(){this.classList.add("text-hide"),setTimeout(function(){this.classList.add("active")}.bind(this),500)}hide(e2){e2.preventDefault(),this.classList.remove("active"),setTimeout(function(){this.classList.remove("text-hide")}.bind(this),500)}}customElements.define("best-selling-products",BestSellingProducts);class Accordion{constructor(el){this.el=el,this.summary=el.querySelector("summary"),this.content=el.querySelector("[data-accordion-content]")||el.querySelector("[data-collapsible-content]"),this.animation=null,this.isClosing=!1,this.isExpanding=!1,this.summary.addEventListener("click",e2=>this.onClick(e2))}onClick(e2){e2.preventDefault(),this.el.style.overflow="hidden",this.isClosing||!this.el.open?this.open():(this.isExpanding||this.el.open)&&this.shrink()}shrink(){this.isClosing=!0;const startHeight=`${this.el.offsetHeight}px`,endHeight=`${this.summary.offsetHeight}px`;this.animation&&this.animation.cancel(),this.content&&(this.content.style.opacity="0"),this.animation=this.el.animate({height:[startHeight,endHeight]},{duration:400,easing:"linear"}),this.animation.onfinish=()=>this.onAnimationFinish(!1),this.animation.oncancel=()=>this.isClosing=!1}open(){const openDetails=this.el.parentElement.querySelector("details[open]");if(openDetails&&openDetails!==this.el){const accordionInstance=openDetails._accordionInstance;accordionInstance&&accordionInstance.shrink()}this.el.style.height=`${this.el.offsetHeight}px`,this.el.open=!0,this.el._accordionInstance=this,window.requestAnimationFrame(()=>this.expand())}expand(){this.content&&(this.content.style.opacity="1"),this.isExpanding=!0;const startHeight=`${this.el.offsetHeight}px`,endHeight=`${this.summary.offsetHeight+this.content.offsetHeight}px`;this.animation&&this.animation.cancel(),this.animation=this.el.animate({height:[startHeight,endHeight]},{duration:400,easing:"linear"}),this.animation.onfinish=()=>this.onAnimationFinish(!0),this.animation.oncancel=()=>this.isExpanding=!1}onAnimationFinish(open){this.el.open=open,this.animation=null,this.isClosing=!1,this.isExpanding=!1,this.el.style.height="",this.el.style.overflow=""}}customElements.get("product-form-context")||customElements.define("product-form-context",class extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this.section==null&&(this.section=document.querySelector(`#shopify-section-${this.dataset.sectionId}`)),this.form=this.querySelector("form"),this.bundleForm=!1,this.form.hasAttribute("bundle-product-form")&&(this.bundleForm=!0),this.form.addEventListener("submit",this.onSubmitHandler.bind(this)),this.cart=document.querySelector("cart-drawer"),this.submitButton=this.querySelector('[type="submit"]'),this.bundleForm||(this.form.querySelector("[name=id]").disabled=!1,this.section.querySelector("[data-sticky-buy-button]")&&(this.stickyBuyButton=this.section.querySelector("[data-sticky-buy-button]")),document.querySelector("cart-drawer")&&this.submitButton.setAttribute("aria-haspopup","dialog")),this.hideErrors=this.dataset.hideErrors==="true"}onSubmitHandler(evt){evt.preventDefault(),this.querySelector("[data-add-cart-error]")&&(this.querySelector("[data-add-cart-error]").classList.add("hidden"),this.querySelector("[data-add-cart-error]").innerHTML="");const getFormID=this.form.getAttribute("id"),productCardError=getFormID&&this.classList.contains("product--card-form")?document.querySelector(`#product-card-error-${getFormID}`):null;if(productCardError&&(productCardError.classList.add("hidden"),productCardError.innerHTML=""),this.submitButton.getAttribute("aria-disabled")==="true")return;this.submitButton.setAttribute("aria-disabled",!0),this.submitButton.classList.add("loading"),this.querySelector("[data-add-to-cart]").innerHTML+=atcLoaderSVG,this.querySelector("[data-atc-text]").classList.add("hidden"),this.stickyBuyButton&&(this.stickyBuyButton.innerHTML+=atcLoaderSVG,this.stickyBuyButton.querySelector("[data-atc-text]").classList.add("hidden"));const config=fetchConfig("javascript");config.headers["X-Requested-With"]="XMLHttpRequest",delete config.headers["Content-Type"];const formData=new FormData(this.form);this.cart&&(formData.append("sections",this.cart.getSectionsToRender().map(section=>section.section)),formData.append("sections_url",window.location.pathname),this.cart.setActiveElement(document.activeElement));for(var pair of formData.entries());config.body=formData,fetch(`${routes.cart_add_url}`,config).then(response=>response.json()).then(response=>{if(response.status){publish(PUB_SUB_EVENTS.cart_error,{source:"product-form-context",productVariantId:formData.get("id"),errors:response.errors||response.description,message:response.message}),this.querySelector("[data-add-cart-error]")&&(this.querySelector("[data-add-cart-error]").classList.remove("hidden"),response.errors?(response?.errors?.email&&(console.log(response.errors.email),this.querySelector("[data-add-cart-error]").innerHTML=response.errors.email),response.errors.send_on&&(this.querySelector("[data-add-cart-error]").innerHTML=response.errors.send_on)):response.description&&(this.querySelector("[data-add-cart-error]").innerHTML=response.description)),productCardError&&(productCardError.classList.remove("hidden"),response.errors?response?.errors?.email?productCardError.innerHTML=response.errors.email:response.errors.send_on&&(productCardError.innerHTML=response.errors.send_on):response.description&&(productCardError.innerHTML=response.description));const soldOutMessage=this.submitButton.querySelector(".sold-out-message");if(!soldOutMessage)return;this.submitButton.setAttribute("aria-disabled",!0),this.submitButton.querySelector("span").classList.add("hidden"),soldOutMessage.classList.remove("hidden"),this.error=!0;return}else if(!this.cart){window.location=window.routes.cart_url;return}if(!this.error){publish(PUB_SUB_EVENTS.cartUpdate,{source:"product-form-context",productVariantId:formData.get("id"),cartData:response}),this.error=!1,this.closest("quick-view-drawer")&&this.closest("quick-view-drawer").querySelector("[data-drawer-close]").click();const header=document.querySelector("[data-header-section]");header&&header.dataset.headerView=="half-width-menu"&&(header.dataset.headerStickyType=="sticky-scroll-up"&&header.classList.contains("is-hidden")?header.classList.remove("is-hidden"):header.dataset.headerStickyType=="sticky-none"&&header.classList.add("sticky-always")),this.cart.renderContents(response),setTimeout(()=>{this.cart.querySelector("[data-drawer-close]").focus()},200)}}).catch(e2=>{console.error(e2)}).finally(()=>{this.submitButton.classList.remove("loading"),this.cart&&this.cart.classList.contains("is-empty")&&this.cart.classList.remove("is-empty"),this.error||this.submitButton.removeAttribute("aria-disabled"),this.querySelector("[data-atc-loader]").remove(),this.querySelector("[data-atc-text]").classList.remove("hidden"),this.stickyBuyButton&&(this.stickyBuyButton.querySelector("[data-atc-loader]").remove(),this.stickyBuyButton.querySelector("[data-atc-text]").classList.remove("hidden"));const getSetionId=this.dataset.sectionId;if(getSetionId){const checkBundleform=document.querySelector(`#bundle-products-${get
6SetionId}`);checkBundleform&&checkBundleform.clearAllBundleProduct()}})}});class ProductRecommendations extends HTMLElement{constructor(){super()}connectedCallback(){const handleIntersection=(entries,observer)=>{entries[0].isIntersecting&&(observer.unobserve(this),fetch(this.dataset.url).then(response=>response.text()).then(text=>{const html=document.createElement("div");html.innerHTML=text;const recommendations=html.querySelector("product-recommendations");setTimeout(()=>{debouncedScrollTriggerRefresh()},1e3),recommendations&&recommendations.innerHTML.trim().length&&(this.innerHTML=recommendations.innerHTML)}).catch(e2=>{console.error(e2)}))};new IntersectionObserver(handleIntersection.bind(this),{rootMargin:"0px 0px 400px 0px"}).observe(this)}}customElements.define("product-recommendations",ProductRecommendations);class MapElement extends HTMLElement{static get observedAttributes(){return["data-location","data-map-style"]}constructor(){super(),this.map=null,this.marker=null,this.mapLoaded=!1}connectedCallback(){this.initMap()}attributeChangedCallback(name,oldValue,newValue){this.mapLoaded&&this.updateMap()}disconnectedCallback(){window.removeEventListener("resize",this.handleResize)}initMap(){typeof window.google>"u"||typeof window.google.maps>"u"?this.loadGoogleMapsApi().then(()=>{this.mapLoaded=!0,this.createMap()}):(this.mapLoaded=!0,this.createMap())}loadGoogleMapsApi(){return new Promise((resolve,reject)=>{if(window.google&&window.google.maps)resolve();else{const script=document.createElement("script");script.src=`https://maps.googleapis.com/maps/api/js?key=${googleMapApiKey}&libraries=marker`,script.onload=resolve,script.onerror=reject,document.head.appendChild(script)}})}createMap(){const mapAddress=this.getAttribute("data-location"),mapStyle=this.getAttribute("data-map-style");new google.maps.Geocoder().geocode({address:mapAddress},(results,status)=>{if(status==="OK"&&results[0]){const options={zoom:17,center:results[0].geometry.location,mapId:"roadmap"};this.map=new google.maps.Map(this,options);const styledMapType=new google.maps.StyledMapType(this.getMapStyle(mapStyle));this.map.mapTypes.set("styled_map",styledMapType),this.map.setMapTypeId("styled_map"),this.marker=new google.maps.marker.AdvancedMarkerElement({map:this.map,position:results[0].geometry.location}),this.handleResize=()=>{google.maps.event.trigger(this.map,"resize"),this.map.setCenter(results[0].geometry.location)},window.addEventListener("resize",this.handleResize)}})}updateMap(){if(this.map&&this.marker){const mapAddress=this.getAttribute("data-location"),mapStyle=this.getAttribute("data-map-style");new google.maps.Geocoder().geocode({address:mapAddress},(results,status)=>{if(status==="OK"&&results[0]){const location=results[0].geometry.location;this.closest("[data-gmap-error]").classList.add(hidden),this.map.setCenter(location),this.marker.setPosition(location),this.map.setOptions({styles:this.getMapStyle(mapStyle)})}else this.closest("[data-gmap-error]").classList.remove(hidden)})}}getMapStyle(mapStyle){return{night:[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]}],dark:[{elementType:"geometry",stylers:[{color:"#212121"}]},{elementType:"labels.text.stroke",stylers:[{color:"#212121"}]},{elementType:"labels.text.fill",stylers:[{color:"#757575"}]}],silver:[{elementType:"geometry",stylers:[{color:"#f5f5f5"}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{elementType:"labels.text.fill",stylers:[{color:"#616161"}]},{elementType:"labels.text.stroke",stylers:[{color:"#f5f5f5"}]},{featureType:"administrative.land_parcel",elementType:"labels.text.fill",stylers:[{color:"#bdbdbd"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#eeeeee"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#757575"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#e5e5e5"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#9e9e9e"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#ffffff"}]},{featureType:"road.arterial",elementType:"labels.text.fill",stylers:[{color:"#757575"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#dadada"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#616161"}]},{featureType:"road.local",elementType:"labels.text.fill",stylers:[{color:"#9e9e9e"}]},{featureType:"transit.line",elementType:"geometry",stylers:[{color:"#e5e5e5"}]},{featureType:"transit.station",elementType:"geometry",stylers:[{color:"#eeeeee"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#c9c9c9"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#9e9e9e"}]}],retro:[{elementType:"geometry",stylers:[{color:"#ebe3cd"}]},{elementType:"labels.text.fill",stylers:[{color:"#523735"}]},{elementType:"labels.text.stroke",stylers:[{color:"#f5f1e6"}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#c9b2a6"}]},{featureType:"administrative.land_parcel",elementType:"geometry.stroke",stylers:[{color:"#dcd2be"}]},{featureType:"administrative.land_parcel",elementType:"labels.text.fill",stylers:[{color:"#ae9e90"}]},{featureType:"landscape.natural",elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#93817c"}]},{featureType:"poi.park",elementType:"geometry.fill",stylers:[{color:"#a5b076"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#447530"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#f5f1e6"}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#fdfcf8"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#f8c967"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#e9bc62"}]},{featureType:"road.highway.controlled_access",elementType:"geometry",stylers:[{color:"#e98d
658"}]},{featureType:"road.highway.controlled_access",elementType:"geometry.stroke",stylers:[{color:"#db8555"}]},{featureType:"road.local",elementType:"labels.text.fill",stylers:[{color:"#806b63"}]},{featureType:"transit.line",elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"transit.line",elementType:"labels.text.fill",stylers:[{color:"#8f7d77"}]},{featureType:"transit.line",elementType:"labels.text.stroke",stylers:[{color:"#ebe3cd"}]},{featureType:"transit.station",elementType:"geometry",stylers:[{color:"#dfd2ae"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#b9d3c2"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#92998d"}]}],aubergine:[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]}]}[mapStyle]||[]}}customElements.define("map-element",MapElement);class AnimateWow{constructor(){this.wow=new WOW({boxClass:"wow",animateClass:"animated",offset:50,mobile:!0,live:!0,scrollContainer:null,resetAnimation:!0}),this.wow.init()}}class SplitSplider extends HTMLElement{constructor(){super(),this.id=this.dataset.sectionid,this.up=document.querySelector(`.swiper-button-prev-${this.id}`),this.down=document.querySelector(`.swiper-button-next-${this.id}`),this.counter=1,this.up.addEventListener("click",()=>{this.currentSlide=this.querySelector(".selected"),this.moveUp(this.currentSlide)}),this.down.addEventListener("click",()=>{this.currentSlide=document.querySelector(".selected"),this.moveDown(this.currentSlide)})}moveUp(currentSlide){this.prevSlide=currentSlide.previousElementSibling,this.currentSlideUp=currentSlide.querySelector("[split-slider-image]"),this.currentSlideDown=currentSlide.querySelector("[split-slider-contents]"),this.prevSlideUp=this.prevSlide.querySelector("[split-slider-contents]"),this.prevSlideDown=this.prevSlide.querySelector("[split-slider-image]"),this.prevSlide!==null?(this.counter=this.counter-1,window.innerWidth>786&&(this.counter%2===0?(this.currentSlideUp.style.transform="translateY(-100%)",this.currentSlideDown.style.transform="translateY(100%)"):(this.currentSlideUp.style.transform="translateY(100%)",this.currentSlideDown.style.transform="translateY(-100%)"),this.prevSlideUp.style.transform="translateY(0%)",this.prevSlideDown.style.transform="translateY(0%)"),this.currentSlide.classList.remove("selected"),this.prevSlide.classList.add("selected"),this.down.classList.remove("disabled")):this.up.classList.add("disabled")}moveDown(currentSlide){this.nextSlide=currentSlide.nextElementSibling,this.currentSlideUp=currentSlide.querySelector("[split-slider-contents]"),this.currentSlideDown=currentSlide.querySelector("[split-slider-image]"),this.nextSlideUp=this.nextSlide.querySelector("[split-slider-image]"),this.nextSlideDown=this.nextSlide.querySelector("[split-slider-contents]"),this.nextSlide!==null?(this.counter=this.counter+1,window.innerWidth>786&&(this.counter%2===0?(this.currentSlideUp.style.transform="translateY(-100%)",this.currentSlideDown.style.transform="translateY(100%)"):(this.currentSlideUp.style.transform="translateY(100%)",this.currentSlideDown.style.transform="translateY(-100%)"),this.nextSlideUp.style.transform="translateY(0%) matrix(1, 0, 0, 1, 0, 0)",this.nextSlideDown.style.transform="translateY(0%) matrix(1, 0, 0, 1, 0, 0)"),this.currentSlide.classList.remove("selected"),this.nextSlide.classList.add("selected"),this.up.classList.remove("disabled")):this.down.classList.add("disabled")}}customElements.define("split-slider",SplitSplider);class CountryProvince extends HTMLElement{constructor(){super(),this.provinceElement=this.querySelector('[name="address[province]"]'),this.countryElement=this.querySelector('[name="address[country]"]'),this.countryElement.addEventListener("change",this.CountryChange.bind(this));const defaultCountry=this.countryElement.getAttribute("data-default");if(defaultCountry){const selectedIndex=Array.from(this.countryElement.options).findIndex(option=>option.value===defaultCountry);this.countryElement.selectedIndex=selectedIndex!==-1?selectedIndex:0,this.countryElement.dispatchEvent(new Event("change"))}else this.CountryChange()}CountryChange(){const option=this.countryElement.options[this.countryElement.selectedIndex],provinces=JSON.parse(option.dataset.provinces);this.provinceElement.parentElement.hidden=provinces.length===0,provinces.length!==0&&(this.provinceElement.innerHTML="",provinces.forEac
6h(data=>{const selected=data[1]===this.dataset.province;this.provinceElement.options.add(new Option(data[1],data[0],selected,selected))}))}}customElements.define("country-province",CountryProvince);class ShippingCalculator extends HTMLElement{constructor(){super(),this._setupCountries(),this.submitButton=this.querySelector('[type="submit"]'),this.resultsElement=this.querySelector("[data-shipping-result]"),this.submitButton.addEventListener("click",this.handleFormSubmit.bind(this))}handleFormSubmit(event){event.preventDefault();const zip=this.querySelector('[name="address[zip]"]').value,country=this.querySelector('[name="address[country]"]').value,province=this.querySelector('[name="address[province]"]').value,body=JSON.stringify({shipping_address:{zip,country,province}});let sectionUrl=`${routes.cart_url}/shipping_rates.json`;sectionUrl=sectionUrl.replace("//","/"),fetch(sectionUrl,{...fetchConfig(),body}).then(response=>response.json()).then(parsedState=>{parsedState.shipping_rates?this.formatShippingRates(parsedState.shipping_rates):this.formatError(parsedState)}).catch(e2=>{console.error(e2)}).finally(()=>{this.resultsElement.hidden=!1,this.submitButton.removeAttribute("aria-busy")})}formatShippingRates(shippingRates){const shippingRatesList=shippingRates.map(rate=>{const{presentment_name,currency,price}=rate;return`<p class="form--message success">${presentment_name}: ${currency} ${price}</p>`});this.resultsElement.innerHTML=`${shippingRatesList.join("")}`,this.resultsElement.classList.remove("hidden")}formatError(errors){const errorMessages=Object.values(errors).map(error=>`<p class="form--message error">${error}</p>`).join("");this.resultsElement.innerHTML=`${errorMessages}`,this.resultsElement.classList.remove("hidden")}_setupCountries(){Shopify&&Shopify.CountryProvinceSelector&&new Shopify.CountryProvinceSelector("[shippingCountry]","[shippingProvince]",{hideElement:"[shippingProvince]"})}}customElements.define("shipping-calculator",ShippingCalculator);class GiftWrapping extends HTMLElement{constructor(){if(super(),this.giftWrapId=this.dataset.giftWrapId,this.giftWrapsInCart=parseInt(this.getAttribute("gift-wraps-in-cart")),this.itemInCart=parseInt(this.getAttribute("item-in-cart")),this.cartItemsSize=parseInt(this.getAttribute("cart-items-size")),this.itemsInCart=parseInt(this.getAttribute("items-in-cart")),this.cartItemsSize==1&&this.giftWrapsInCart>0)return this.removeGiftWrap();this.giftWrapsInCart>1&&this.addGiftWrap();const debouncedOnChange=debounce(this.onChange.bind(this),10);this.addEventListener("change",debouncedOnChange),this.giftWrapsInCart>0&&this.hideGiftWrappingSection()}onChange(event){event.target.checked&&(this.setAttribute("gift-wraps-in-cart","1"),this.addGiftWrap())}addGiftWrap(){const body=JSON.stringify({updates:{[this.giftWrapId]:1},sections:this.getAttribute("gift-template")==="cart"?this.getcartSectionsToRender().map(section=>section.section):this.getSectionsToRender().map(section=>section.section),sections_url:window.location.pathname});this.fetchGiftWrap(body),this.giftWrapsInCart>0&&this.hideGiftWrappingSection()}removeGiftWrap(){const body=JSON.stringify({updates:{[this.giftWrapId]:0},sections:this.getAttribute("gift-template")==="cart"?this.getcartSectionsToRender().map(section=>section.section):this.getSectionsToRender().map(section=>section.section),sections_url:window.location.pathname});this.fetchGiftWrap(body)}fetchGiftWrap(body){fetch(`${routes.cart_update_url}`,{...fetchConfig(),body}).then(response=>response.text()).then(state=>{const parsedState=JSON.parse(state),sectionsToRender=this.getAttribute("gift-template")==="cart"?this.getcartSectionsToRender():this.getSectionsToRender();this.getAttribute("gift-template")==="cart"?sectionsToRender.forEach(section=>{const elementToReplace=document.getElementById(section.id).querySelector(section.selector)||document.getElementById(section.id);elementToReplace.innerHTML=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector);const cartHtml=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector),shippingBar=new DOMParser().parseFromString(cartHtml,"text/html").querySelector("[data-cart-shipping]").getAttribute("data-barwidth");setTimeout(()=>{shippingconversion()},400)}
6):this.getSectionsToRender().forEach(section=>{const elementToReplace=document.getElementById(section.id).querySelector(section.selector)||document.getElementById(section.id),cartHtml=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector),html=new DOMParser().parseFromString(cartHtml,"text/html"),cartCount=html.querySelector("[data-cart-items]");if(cartCount){const cartItems=cartCount.dataset.cartItems;cartItems==0||cartItems=="0"||cartItems==""?(document.querySelector("[data-cart-count]").classList.add("hidden"),document.querySelector("[data-cart-count]").textContent=""):parseInt(cartItems)>99?(document.querySelector("[data-cart-count]").classList.remove("hidden"),document.querySelector("[data-cart-count]").classList.add("large-items"),document.querySelector("[data-cart-count]").textContent=""):(document.querySelector("[data-cart-count]").classList.remove("hidden","large-items"),document.querySelector("[data-cart-count]").textContent=cartItems)}const drawerheaderD=elementToReplace.querySelector("[data-cart-drawer-header]"),drawerheaderS=html.querySelector("[data-cart-drawer-header]");drawerheaderS&&drawerheaderD&&(drawerheaderD.innerHTML="",drawerheaderD.innerHTML=drawerheaderS.innerHTML);const drawerMainD=elementToReplace.querySelector("[data-cart-drawer-main]"),drawerMainS=html.querySelector("[data-cart-drawer-main]");if(drawerMainS&&drawerMainD&&(drawerMainD.innerHTML="",drawerMainD.innerHTML=drawerMainS.innerHTML),html.querySelector("[data-cart-shipping]")){const shippingBar=html.querySelector("[data-cart-shipping]").getAttribute("data-barwidth");setTimeout(()=>{shippingconversion()},400)}}),this.hideGiftWrappingSection()}).catch(error=>{console.log(error)})}hideGiftWrappingSection(){document.querySelector("[gift-wrapping-section]")&&(document.querySelector("[gift-wrapping-section]").style.display="none")}getSectionsToRender(){return[{id:"cartdrawer",section:document.querySelector("[cart-drawer]").dataset.id,selector:"[cart-drawer]"}]}getcartSectionsToRender(){return[{id:"main-cart",section:document.querySelector("[data-cart-wrapper]").dataset.id,selector:".main--cart-render"}]}getSectionInnerHTML(html,selector){return new DOMParser().parseFromString(html,"text/html").querySelector(selector).innerHTML}}customElements.define("gift-wrapping",GiftWrapping);class ProductMedia extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this.dataset.mediaLayout&&this.dataset.mediaLayout=="thumbnails"&&(this.id=this.dataset.id,this._initThumbnailsSize(),new ResizeObserver(()=>
6this._initThumbnailsSize()).observe(this.querySelector(`[data-product-media="main-media-${this.id}"]`)))}_initThumbnailsSize(){const slideItem=this.querySelector(`[data-product-media="main-media-${this.id}"] [data-media-id]`);slideItem&&setTimeout(()=>{this.mainItemheight=slideItem.getBoundingClientRect().height,this.thumbmedia=this.querySelector(`[data-product-media="main-thumb-${this.id}"] ul`),this.thumbmedia.style.setProperty("--thumb_height",`${this.mainItemheight}px`)},400)}handleMediaPlay(){this.addEventListener("mouseover",e2=>{setTimeout(()=>{this.section.querySelector("swiper-content")?._startAutoplay()},200)}),this.addEventListener("mouseout",e2=>{setTimeout(()=>{this.section.querySelector("swiper-content")?._stopAutoplay()},200)})}}customElements.define("product-media",ProductMedia);class Quickview extends HTMLElement{constructor(){super(),this.selector='[data-drawer="quick-view-drawer"]',this.drawer=document.querySelector(this.selector),this.drawer&&(this.data_close_drawer=this.drawer.querySelector("[data-drawer-close]"),this.addEventListener("click",this.onClick.bind(this)),this.magnetButton=new theme.MagnetButton(this.drawer),this.magnetButton.onKeyDown())}onClick(event){event.preventDefault(),this.querySelector(".quick--view-text")?.classList.add("hidden"),this.querySelector(".quick--view-icon")?.classList.add("hidden"),this.querySelector("[product-quickview-btn]").innerHTML+=atcLoaderSVG,this.fetchProduct()}open(){this.drawer&&(setTimeout(()=>{this.drawer.classList.add("show"),document.body.classList.add("overflow-hidden")},200),setTimeout(()=>{this.drawer.classList.add("shadow"),this.data_close_drawer.tabIndex=0,this.drawer.querySelector("[data-drawer-close]").focus()},600),this.drawer.style.display="flex")}fetchProduct(){const sectionId=this.drawer.dataset.sectionId,sectionUrl=`${this.dataset.productUrl}?section_id=${sectionId}`;fetch(sectionUrl).then(response=>response.text()).then(responseText=>{const productElement=new DOMParser().parseFromString(responseText,"text/html").querySelector(this.selector);productElement?(this.drawer.innerHTML=productElement.innerHTML,window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),this.querySelector("[data-atc-loader]").remove(),this.querySelector(".quick--view-text")?.classList.remove("hidden"),this.querySelector(".quick--view-icon")?.classList.remove("hidden"),this.open(),window.ProductModel.loadShopifyXR()):console.info("Product element not found in the fetched content.")}).catch(error=>{console.info("Error fetching or parsing product content:",error)})}}customElements.define("quick-view",Quickview);function getFocusableElements(container){return Array.from(container.querySelectorAll("summary, a[href], button:enabled, [tabindex]:not([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe"))}const trapFocusHandlers={};function trapFocus(container,elementToFocus=container){var elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];trapFocusHandlers.focusin=event=>{event.target!==container&&event.target!==last&&event.target!==first||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(event){event.code.toUpperCase()==="TAB"&&(event.target===last&&!event.shiftKey&&(event.preventDefault(),first.focus()),(event.target===container||event.target===first)&&event.shiftKey&&(event.preventDefault(),last.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),elementToFocus&&(elementToFocus.focus(),elementToFocus.tagName==="INPUT"&&["search","text","email","url"].includes(elementToFocus.type)&&elementToFocus.value&&elementToFocus.setSelectionRange(0,elementToFocus.value.length))}class CartRemoveButton extends HTMLElement{constructor(){super(),this.addEventListener("click",event=>{event.preventDefault();const cartItems=this.closest("cart-items")||this.closest("cart-drawer-items");this.closest(`[id="cart-product-item-${this.dataset.index}"]`).classList.add("zoom"),cartItems.updateQuantity(this.dataset.index,0)})}}customElements.define("cart-remove-button",CartRemoveButton);class CartDrawer extends HTMLElement{constructor(){super(),this.addEventListener("keyup",evt=>evt.code==="Escape"&&this.close()),this.setHeaderCartIconAccessibility(),this.setUpCartButtonListeners(),document.body.addEventListener("click",function(e2){let outside_status=!0;(e2.target==this||e2.target.closest("cart-drawer"))&&(outside_status=!1),(e2.target==document.querySelector('list-set[data-source="cart-drawer"]')||e2.target.closest('list-set[data-source="cart-drawer"]'))&&(outside_status=!1),outside_status&&this.classList.contains("show")&&this.querySelector("[data-drawer-close]").click()}.bind(this))}setHeaderCartIconAccessibility(){const cartLink=document.querySelector('[data-source="cart-drawer"]');cartLink&&(cartLink.setAttribute("role","button"),cartLink.setAttribute("aria-haspopup","dialog"),cartLink.addEventListener("click",event=>{event.preventDefault(),this.open(cartLink)}),cartLink.addEventListener("keydown",event=>{event.code.toUpperCase()==="SPACE"&&(event.preventDefault(),this.open(cartLink))}))}setUpCartButtonListeners(){document.querySelectorAll("[data-cart-toggle]").forEach(cartButton=>{cartButton.addEventListener("click",event=>{cartButton.parentElement.classList.toggle("active"),event.preventDefault(),this.toggleWrapper(event)})}),document.querySelectorAll("[data-cart-remove]").forEach(removeButton=>{removeButton.addEventListener("click",event=>{removeButton.parentElement.classList.toggle("active"),event.preventDefault(),this.toggleWrapper(event)})})}toggleWrapper(event){const id=event.currentTarget.getAttribute("data-toggle-id"),noteWrapper=document.querySelector(`[data-cart-note-wrapper="${id}"]`);noteWrapper.classList.toggle("active"),noteWrapper.classList.contains("active")?noteWrapper.style.maxHeight=noteWrapper.scrollHeight+"px":noteWrapper.style.maxHeight=null}open(triggeredBy){triggeredBy&&this.setActiveElement(triggeredBy);const cartDrawerNote=this.querySelector('[id^="Details-"] summary');cartDrawerNote&&!cartDrawerNote.hasAttribute("role")&&this.setSummaryAccessibility(cartDrawerNote),requestAnimationFrame(()=>{this.classList.add("animate","active")}),this.addEventListener("transitionend",()=>{const containerToTrapFocusOn=this.classList.contains("is-empty")?this.querySelector(".drawer__inner-empty"):document.getElementById("CartDrawer"),focusElement=this.querySelector(".drawer__inner")||this.querySelector(".drawer__close");trapFocus(containerToTrapFocusOn,focusElement)},{once:!0}),document.body.classList.add("overflow-hidden")}close(){this.classList.remove("active"),removeTrapFocus(this.activeElement),document.body.classList.remove("overflow-hidden")}setSummaryAccessibility(cartDrawerNote){cartDrawerNote.setAttribute("role","button"),cartDrawerNote.setAttribute("aria-expanded","fal
6se"),cartDrawerNote.nextElementSibling.getAttribute("id")&&cartDrawerNote.setAttribute("aria-controls",cartDrawerNote.nextElementSibling.id),cartDrawerNote.addEventListener("click",event=>{event.currentTarget.setAttribute("aria-expanded",!event.currentTarget.closest("details").hasAttribute("open"))}),cartDrawerNote.parentElement.addEventListener("keyup",onKeyUpEscape)}renderContents(parsedState){this.querySelector("[data-cart-drawer-body]").classList.remove("is-empty"),this.productId=parsedState.id,this.getSectionsToRender().forEach(section=>{const elementToReplace=document.getElementById(section.id).querySelector(section.selector)||document.getElementById(section.id);elementToReplace.innerHTML=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector);const cartHtml=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector),html=new DOMParser().parseFromString(cartHtml,"text/html"),cartCount=html.querySelector("[data-cart-items]");if(cartCount){const cartItems=cartCount.dataset.cartItems;cartItems==0||cartItems=="0"||cartItems==""?(document.querySelector("[data-cart-count]").classList.add("hidden"),document.querySelector("[data-cart-count]").textContent=""):parseInt(cartItems)>99?(document.querySelector("[data-cart-count]").classList.remove("hidden"),document.querySelector("[data-cart-count]").classList.add("large-items"),document.querySelector("[data-cart-count]").textContent=""):(document.querySelector("[data-cart-count]").classList.remove("hidden","large-items"),document.querySelector("[data-cart-count]").textContent=cartItems)}if(html.querySelector("[data-cart-shipping]")){const shippingBar=html.querySelector("[data-cart-shipping]").getAttribute("data-barwidth");setTimeout(()=>{shippingconversion()},400)}this.setUpCartButtonListeners()}),setTimeout(()=>{const cartLink=document.querySelector('[data-source="cart-drawer"]');this.open(),setTimeout(()=>{document.querySelector("[cart-drawer-section]").classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{document.querySelector("[cart-drawer-section]").classList.add("shadow")},600),document.querySelector("[cart-drawer-section]").style.display="flex"},1200),requestAnimationFrame(()=>{const drawer=this.querySelector("[data-drawer]");drawer&&(drawer.classList.remove("show"),document.body.classList.remove("overflow-hidden"),setTimeout(()=>{drawer.style.display="none"},1e3))})}getSectionInnerHTML(html,selector=".shopify-section"){return new DOMParser().parseFromString(html,"text/html").querySelector(selector).innerHTML}getSectionsToRender(){return[{id:"CartDrawer",section:document.querySelector("[cart-drawer-section]").dataset.id,selector:".side-drawer"}]}setActiveElement(element){this.activeElement=element}}customElements.define("cart-drawer",CartDrawer);class CartNote extends HTMLElement{constructor(){super(),this.addEventListener("input",debounce(event=>{const body=JSON.stringify({note:event.target.value});fetch(`${routes.cart_update_url}`,{...fetchConfig(),body})},300))}}customElements.define("cart-note",CartNote);class CartItems extends HTMLElement{constructor(){super(),this.lineItemStatusElement=document.getElementById("shopping-cart-line-item-status")||document.getElementById("CartDrawer-LineItemStatus");const debouncedOnChange=debounce(event=>{this.onChange(event)},10);this.changeImg=this.querySelectorAll("[data-line-item]"),this.imagesList=document.querySelectorAll("[data-cart-right-image]"),this.changeImg.forEach(item=>item.addEventListener("mouseover",this.onHoverchangeImage.bind(this))),this.addEventListener("change",debouncedOnChange.bind(this))}onChange(event){const inputValue=parseInt(event.target.value),index=event.target.dataset.index;let message="";if(message){document.getElementById(`Line-item-error-${index}`).textContent=message;return}else this.updateQuantity(event.target.dataset.index,event.target.value,document.activeElement.getAttribute("name"),event.target.dataset.quantityVariantId)}getSectionsToRender(){return[{id:"main-cart",section:document.querySelector("[data-cart-wrapper]").dataset.id,selector:".main--cart-render"}]}updateQuantity(line,quantity,name,variantId){const body=JSON.stringify({line,quantity,sections:this.getSectionsToRender().map(section=>section.section),sections_url:window.location.pathname});
6fetch(`${routes.cart_change_url}`,{...fetchConfig(),body}).then(response=>response.text()).then(state=>{const parsedState=JSON.parse(state);if(parsedState.errors&&this.querySelector(`[data-cart-error-${line}]`)){this.querySelector(`[data-cart-error-${line}]`).classList.remove("hidden"),this.querySelector(`[data-cart-error-${line}]`).textContent=parsedState.errors;const lineQty=this.querySelector(`.quantity-input[data-index="${line}"]`);lineQty&&(lineQty.value=lineQty.dataset.previousValue)}const quantityElement=document.getElementById(`Quantity-${line}`)||document.getElementById(`cart-product-item-${line}`),items=document.querySelectorAll(".cart-items");this.classList.toggle("is-empty",parsedState.item_count===0);const cartDrawerWrapper=document.querySelector("cart-drawer"),cartFooter=document.getElementById("main-cart-footer");cartFooter&&cartFooter.classList.toggle("is-empty",parsedState.item_count===0),cartDrawerWrapper&&cartDrawerWrapper.classList.toggle("is-empty",parsedState.item_count===0),this.getSectionsToRender().forEach(section=>{const elementToReplace=document.getElementById(section.id).querySelector(section.selector)||document.getElementById(section.id);elementToReplace.innerHTML=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector);const cartHtml=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector),chtml=new DOMParser().parseFromString(cartHtml,"text/html"),cartCount=chtml.querySelector("cart-remove-button");if(cartCount){const cartItems=cartCount.dataset.count;cartItems==0||cartItems=="0"||cartItems==""?(document.querySelector("[data-cart-count]").classList.add("hidden"),document.querySelector("[data-cart-count]").textContent=""):parseInt(cartItems)>99?(document.querySelector("[data-cart-count]").classList.remove("hidden"),document.querySelector("[data-cart-count]").classList.add("large-items"),document.querySelector("[data-cart-count]").textContent=""):(document.querySelector("[data-cart-count]").classList.remove("hidden","large-items"),document.querySelector("[data-cart-count]").textContent=cartItems),this.querySelector(`[data-index="${line}"]`).setAttribute("data-previous-value",this.querySelector(`[data-index="${line}"]`).value)}else document.querySelector("[data-cart-count]").classList.add("hidden"),document.querySelector("[data-cart-count]").textContent="";if(chtml.querySelector("[data-cart-shipping]")){const shippingBar=chtml.querySelector("[data-cart-shipping]").getAttribute("data-barwidth");setTimeout(()=>{shippingconversion()},400)}})}).catch(()=>{}).finally(()=>{})}getSectionInnerHTML(html,selector){return new DOMParser().parseFromString(html,"text/html").querySelector(selector).innerHTML}onHoverchangeImage(event){if(this.index=event.currentTarget.getAttribute("data-product-id"),this.correspondingImage=document.querySelector(`.right-side-image[data-image-id="${this.index}"]`),this.correspondingImage){if(this.correspondingImage.classList.contains("active"))return;this.imagesList.forEach(item=>item.classList.remove("active")),this.correspondingImage.classList.add("active")}}}customElements.define("cart-items",CartItems);class PredictiveSearch extends HTMLElement{constructor(){super(),this.input=this.querySelector('input[type="search"]'),this.setupEventListeners(),this.input&&this.input.addEventListener("input",this.debounce(event=>{this.onChange(event)},300).bind(this))}setupEventListeners(){document.body.addEventListener("click",function(e2){let outside_status=!0;(e2.target==document.querySelector("search-drawer")||e2.target.closest("search-drawer"))&&(outside_status=!1),(e2.target==document.querySelector('list-set[data-source="search-drawer"]')||e2.target.closest('list-set[data-source="search-drawer"]'))&&(outside_status=!1),outside_status&&document.querySelector("search-drawer").classList.contains("show")&&document.querySelector("search-drawer").querySelector("[data-drawer-close]").click()}.bind(this))}debounce(fn,delay){var timer=null;return function(){var context=this,args=arguments;clearTimeout(timer),timer=setTimeout(function(){fn.apply(context,args)},delay)}}getSearchResults(searchTerm){const queryKey=searchTerm.replace(" ","-").toLowerCase();fetch(`${routes.predictive_search_url}?q=${encodeURIComponent(searchTerm)}§ion_id=search-drawer`).then(response=>
6(response.ok||console.log("error"),response.text())).then(text=>{const resultsMarkup=new DOMParser().parseFromString(text,"text/html").querySelector("[data-search-results]").innerHTML;document.querySelector("[data-search-results]").innerHTML=resultsMarkup,document.querySelector("[data-search-terms]")&&document.querySelector("[data-search-terms]").classList.add("hidden")}).catch(error=>{if(error?.code!==20)throw error})}clearSearch(){document.querySelector("[data-search-input]").value="",document.querySelector("[data-search-results]").innerHTML=""}getQuery(){return this.input.value.trim()}onChange(){const newSearchTerm=this.getQuery();newSearchTerm==""?(this.clearSearch(),document.querySelector("[data-search-terms]")&&document.querySelector("[data-search-terms]").classList.remove("hidden")):(document.querySelector("[data-search-results]").innerHTML=`<div class="search-loader text-center"> <svg 7 width="40" 8 height="40" 9 style="shape-rendering: auto; animation-play-state: running; animation-delay: 0s; background: none;"
10 viewBox="0 0 100 100" 11 preserveAspectRatio="xMidYMid" 12 > 13 <circle cx="50" cy="50" fill="none" stroke="#d9e2ed" stroke-width="6" r="35" 14 stroke-dasharray="164.93361431346415 56.97787143782138" 15 style="animation-play-state: running; animation-delay: 0s;" 16 transform="rotate(115.597 50 50)"> 17 <animateTransform attributeName="transform" type="rotate" calcMode="linear" 18 values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" begin="0s" 19 repeatCount="indefinite"> 20 </animateTransform> 21 </circle> 22 </svg></div>`,this.searchTerm=newSearchTerm,this.getSearchResults(this.searchTerm))}}customElements.define("predictive-search",PredictiveSearch);class CartDrawerItems extends HTMLElement{constructor(){super(),this.lineItemStatusElement=document.getElementById("shopping-cart-line-item-status")||document.getElementById("CartDrawer-LineItemStatus");const debouncedOnChange=debounce(event=>{this.onChange(event)},10);this.addEventListener("change",debouncedOnChange.bind(this))}onChange(event){this.updateQuantity(event.target.dataset.index,event.target.value,document.activeElement.getAttribute("name"),event.target.dataset.quantityVariantId)}getSectionsToRender(){return[{id:"CartDrawer",section:document.querySelector("[cart-drawer-section]").dataset.id,selector:".side-drawer"}]}updateQuantity(line,quantity,name,variantId){const body=JSON.stringify({line,quantity,sections:this.getSectionsToRender().map(section=>section.section),sections_url:window.location.pathname});fetch(`${routes.cart_change_url}`,{...fetchConfig(),body}).then(response=>response.text()).then(state=>{const parsedState=JSON.parse(state);if(parsedState.errors&&this.querySelector(`[data-cart-error-${line}]`)){this.querySelector(`[data-cart-error-${line}]`).classList.remove("hidden"),this.querySelector(`[data-cart-error-${line}]`).textContent=parsedState.errors;const lineQty=this.querySelector(`.quantity-input[data-index="${line}"]`);lineQty&&(lineQty.value=lineQty.dataset.previousValue)}const quantityElement=document.getElementById(`Quantity-${line}`)||document.getElementById(`cart-product-item-${line}`),items=document.querySelectorAll(".cart-items");this.classList.toggle("is-empty",parsedState.item_count===0);const cartDrawerWrapper=document.querySelector("cart-drawer"),cartFooter=document.getElementById("main-cart-footer");cartFooter&&cartFooter.classList.toggle("is-empty",parsedState.item_count===0),cartDrawerWrapper&&cartDrawerWrapper.classList.toggle("is-empty",parsedState.item_count===0),this.get
22SectionsToRender().forEach(section=>{const elementToReplace=document.getElementById(section.id).querySelector(section.selector)||document.getElementById(section.id),cartHtml=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector),html=new DOMParser().parseFromString(cartHtml,"text/html"),drawerbodyD=elementToReplace.querySelector("[data-cart-drawer-body]"),drawerbodyS=html.querySelector("[data-cart-drawer-body]");drawerbodyS&&drawerbodyD&&(drawerbodyD.innerHTML="",drawerbodyD.innerHTML=drawerbodyS.innerHTML);const drawerheaderD=elementToReplace.querySelector("[data-cart-drawer-header]"),drawerheaderS=html.querySelector("[data-cart-drawer-header]");drawerheaderS&&drawerheaderD&&(drawerheaderD.innerHTML="",drawerheaderD.innerHTML=drawerheaderS.innerHTML);const drawerContentD=elementToReplace.querySelector("[data-cart-drawer-content]"),drawerContentS=html.querySelector("[data-cart-drawer-content]");if(drawerContentS==null)elementToReplace.innerHTML=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector),document.querySelector("[data-cart-count]").classList.add("hidden"),document.querySelector("[data-cart-count]").textContent="";else{drawerContentD.innerHTML="",drawerContentD.innerHTML=drawerContentS.innerHTML;const cartCount=html.querySelector("[data-cart-items]");if(cartCount){const cartItems=cartCount.dataset.cartItems;cartItems==0||cartItems=="0"||cartItems==""?(document.querySelector("[data-cart-count]").classList.add("hidden"),document.querySelector("[data-cart-count]").textContent=""):parseInt(cartItems)>99?(document.querySelector("[data-cart-count]").classList.remove("hidden"),document.querySelector("[data-cart-count]").classList.add("large-items"),document.querySelector("[data-cart-count]").textContent=""):(document.querySelector("[data-cart-count]").classList.remove("hidden","large-items"),document.querySelector("[data-cart-count]").textContent=cartItems),this.querySelector(`[data-index="${line}"]`).setAttribute("data-previous-value",this.querySelector(`[data-index="${line}"]`).value)}}if(html.querySelector("[data-cart-shipping]")){const shippingBar=html.querySelector("[data-cart-shipping]").getAttribute("data-barwidth");setTimeout(()=>{shippingconversion()},400)}})}).catch(()=>{}).finally(()=>{})}getSectionInnerHTML(html,selector){return new DOMParser().parseFromString(html,"text/html").querySelector(selector).innerHTML}}customElements.define("cart-drawer-items",CartDrawerItems);class Productqueryform extends HTMLElement{constructor(){super(),this.addEventListener("click",event=>{event.preventDefault(),this.blockid=event.currentTarget.dataset.queryform,this.open(this.blockid),this.magnetButton=new theme.MagnetButton(document.querySelector(`[data-drawer="product-query--drawer-${this.blockid}"] [data-drawer-panel]`)),this.magnetButton.onKeyDown()}),document.querySelector("[data-contact-message]")&&(this.blokID=this.dataset.queryform,this.open(this.blokID))}open(blockid){document.querySelector('[data-drawer="product-query--drawer-'+blockid+'"]')&&(setTimeout(()=>{document.querySelector('[data-drawer="product-query--drawer-'+blockid+'"]').classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{document.querySelector('[data-drawer="product-query--drawer-'+blockid+'"]').classList.add("shadow"),document.querySelector('[data-drawer="product-query--drawer-'+blockid+'"]').querySelector("[data-drawer-close]").focus()},800),document.querySelector('[data-drawer="product-query--drawer-'+blockid+'"]').style.display="flex")}}customElements.define("product-query-form",Productqueryform);class BlogReadMore extends HTMLElement{constructor(){super(),this.init()}init(){const readMoreElement=this,originalWidth=readMoreElement.style.width;readMoreElement.style.width="auto",requestAnimationFrame(()=>{const width=readMoreElement.getBoundingClientRect().width;readMoreElement.style.width=originalWidth,this.closest("[data-blog-readmore]").style.setProperty("--text-width",`${width}px`)})}}customElements.define("blog-read-more",BlogReadMore);class MarqueeOnScroll extends HTMLElement{constructor(){super(),this.element=this.querySelector(".marquee--block-node-inner"),this.desktopSpeed=parseInt(this.dataset.marqueeSpeedDesktop),this.mobileSpeed=parseInt(this.dataset.marqueeSpeedMobile),this.element&&window.addEventListener("scroll",this.onScrollHandler.bind(this))}onScrollHandler(){const marqueeElement=this.element,marqueeParent=this,position=marqueeParent.getBoundingClientRect(),elementPosition=marqueeElement.getBoundingClientRect(),Elewidth=position.width;if(isOnScreen(this)){let speed=this.desktopSpeed;if(window.innerWidth<768&&this.mobileSpeed&&(speed=this.mobileSpeed),marqueeParent.classList.contains("rtl-direction")){var marqueepsoition=-(Elewidth/2)+elementPosition.top;marqueeElement.style.transform=`translate3d(${marqueepsoition/speed*10}px, 0px, 0px)`}else{var marqueepsoition=Elewidth/2-elementPosition.top;marqueeElement.style.transform=`translate3d(${marqueepsoition/speed*10}px, 0px, 0px)`}}}}customElements.define("marquee-on-scroll",MarqueeOnScroll);class DeferredMedia extends HTMLElement{constructor(){super(),this.loadYouTubeAPI(),this.mp4VideoReady(),this.interval=setInterval(()=>{if(window.ytApiLoaded){if(clearInterval(this.interval),this.classList.contains("autoplay-status-false")){let loadBtn;this.dataset.playBehaviour==="floated"?loadBtn=this.closest(".shopify-section").querySelector("[data-vi
22deo-play-button]"):loadBtn=this.closest(".shopify-section").querySelector("[data-play-button]"),loadBtn.addEventListener("click",this.loadContent.bind(this))}else this.addObserver();this.videoPlayInit(),this.onYouTubeIframeAPIReady()}},500),window.addEventListener("scroll",this.scrollEvent.bind(this))}addObserver(){if(!("IntersectionObserver"in window))return;const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{entry.isIntersecting&&(this.loadContent(),observer.unobserve(this))})},{rootMargin:"0px 0px 1000px 0px"});observer.observe(this)}loadContent(){if(!this.querySelector("template"))return!1;const content=this.querySelector("template").content.firstElementChild.cloneNode(!0);if(this.appendChild(content),this.dataset.type==="youtube"&&this.onYouTubeIframeAPIReady(),this.querySelector("video")&&this.querySelector("video").hasAttribute("data-autoplay")){this.querySelector("video").play();const parentWrapper=this.closest(".shopify-section").querySelector("[data-video-main-wrapper]"),videoStatus=parentWrapper.querySelector("[data-autoplay]").dataset.autoplay,contentVisibility=parentWrapper.querySelector("[data-content-visibility]")?.dataset.contentVisibility;contentVisibility&&contentVisibility==="hidden"&&videoStatus&&parentWrapper&&(parentWrapper.querySelector("[data-content-visibility]").style.display="none"),this.closest(".shopify-section").classList.add("video-started")}}loadYouTubeAPI(){if(!window.ytApiLoaded){const tag=document.createElement("script");tag.src="https://www.youtube.com/iframe_api",tag.onload=()=>{window.ytApiLoaded=!0};const firstScriptTag=document.getElementsByTagName("script")[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag)}}scrollEvent(){isOnScreen(this)||(this.querySelector("video")&&!this.querySelector("video").hasAttribute("autoplay")&&this.querySelector("video").pause(),this.querySelector(".youtube_video,.youtube-video")&&this.querySelector(".youtube_video,.youtube-video").hasAttribute("data-autoplay")&&this.querySelector(".youtube_video,.youtube-video").getAttribute("data-autoplay")==="false"&&this.querySelector(".youtube_video,.youtube-video").contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"),this.querySelector(".vimeo_video,.vimeo-video")&&this.querySelector(".vimeo_video,.vimeo-video").hasAttribute("data-autoplay")&&this.querySelector(".vimeo_video,.vimeo-video").getAttribute("data-autoplay")==="false"&&this.querySelector(".vimeo_video,.vimeo-video").contentWindow.postMessage('{"method":"pause"}',"*"))}videoPlayInit(){if(this.videodatawrapper=this.closest(".section-video"),!this.dataset.playBehaviour)return;this.dataset.playBehaviour==="floated"?this.playButtons=this.videodatawrapper.querySelectorAll("[data-video-play-button]"):this.playButtons=this.videodatawrapper.querySelectorAll("[data-play-button]");const parentWrapper=this.closest(".shopify-section").querySelector("[data-video-main-wrapper]"),videoStyle=parentWrapper.querySelector("video"),iframeStyle=parentWrapper.querySelector("iframe"),videoWrapper=parentWrapper.querySelector("[data-content-wrapper]"),videoMobileWrapper=parentWrapper.querySelector("[data-mobile-content-button]"),videoThumbnail=parentWrapper.querySelector("[data-video-overlay]"),contentVisibility=parentWrapper.querySelector("[data-content-visibility]")?.dataset.contentVisibility;this.playButtons.length>0&&parentWrapper&&this.playButtons.forEach(button=>{button.addEventListener("click",event=>{event.preventDefault(),contentVisibility==="hidden"&&videoWrapper&&(videoWrapper.style.display="none"),videoThumbnail&&(videoThumbnail.style.display="none"),videoStyle?(videoStyle.style.display="block",videoStyle.play(),button.closest(".shopify-section").classList.add("video-started")):iframeStyle&&(iframeStyle.style.display="block"),this.dataset.playBehaviour==="floated"?(parentWrapper.querySelector(".king_animted").style.display="none",videoMobileWrapper.style.display="none"):(videoMobileWrapper.style.display="none",videoWrapper.querySelector("[data-content-button]").classList.remove("d-md-block"),videoWrapper.querySelector("[data-content-button]").style.display="none")})}),contentVisibility==="hidden"&&videoWrapper&&(videoWrapper.style.display="none")}onYouTubeIframeAPIReady(){if(typeof YT<"u"&&YT.Player){const youtubeVideo=this.querySelector(".youtubeVideo");
22if(youtubeVideo){const divId=youtubeVideo.getAttribute("id"),vidId=youtubeVideo.getAttribute("data-id");if(divId&&vidId){const player=new YT.Player(divId,{videoId:vidId,playerVars:{showinfo:0,controls:0,fs:0,rel:0,height:"100%",width:"100%",iv_load_policy:3,html5:1,loop:1,autoplay:1,playsinline:1,modestbranding:1,disablekb:1,wmode:"opaque"},events:{onReady:event=>this.onYouTubePlayerReady(event),onStateChange:event=>this.onYouTubePlayerStateChange(event)}});player.playVideo&&!this.querySelector("video[data-video-image-wrapper]")&&(player.playVideo(),this.closest(".shopify-section").classList.add("video-started"));return}}}else console.warn("YouTube IFrame API is not loaded or YT object is not available.")}onYouTubePlayerReady(event){event.target.mute(),event.target.playVideo(),this.closest(".shopify-section").classList.add("video-started")}onYouTubePlayerStateChange(event){event.data===YT.PlayerState.ENDED?(event.target.playVideo(),this.closest(".shopify-section").classList.add("video-started")):this.closeVideoMedia()}mp4VideoReady(){document.querySelectorAll("video").forEach(video=>{video.onplay=()=>{this.closeVideoMedia()}})}vimeoVideoReady(section=document){section.querySelectorAll(".sr-vimeo-video").forEach(video=>{let divId=video.getAttribute("id");new Vimeo.Player(divId).on("play",()=>{section.closest(".shopify-section").classList.add("video-started"),this.closeVideoMedia()})})}closeVideoMedia(){}}customElements.define("deferred-media-video",DeferredMedia);class CustomDropdown extends HTMLElement{constructor(){super(),this.elements={parent:this.closest("[data-custom-dropdown-wrapper]"),button:this.querySelector("[data-dropdown-button]"),panel:this.querySelector("[data-dropdown-content]"),wrapper:this.querySelector("[data-horizontal-wrapper]")},this.scrollStep=100,this.wrapper=null,this.leftArrow=null,this.rightArrow=null,this.elements.button&&this.elements.button.addEventListener("click",this.togglePanel.bind(this)),document.body.addEventListener("click",function(event){event.target!=this&&!this.contains(event.target)&&this.classList.contains("active")&&this.hidePanel()}.bind(this)),this.addEventListener("keyup",this.onKeyUp.bind(this)),this.dataset.desktopOnly!=null&&window.addEventListener("resize",function(){window.innerWidth>766?(this.classList.remove("active"),this.elements.panel.style.display="none"):this.elements.panel.style.display="block"}.bind(this)),this.dropDownMenuPositions(),this.offsetForDropDown(),new ResizeObserver(this.offsetForDropDown.bind(this)).observe(this.closest("[data-custom-dropdown-wrapper]"))}connectedCallback(){this.wrappers=this.closest("section").querySelectorAll("[data-horizontal-wrapper]"),this.leftArrows=this.closest("section").querySelectorAll("[data-arrow-left]"),this.rightArrows=this.closest("section").querySelectorAll("[data-arrow-right]"),this.wrappers.length>0&&(this.leftArrows.forEach((arrow,index)=>{arrow.addEventListener("click",()=>this.scrollLeftFun(index))}),this.rightArrows.forEach((arrow,index)=>{arrow.addEventListener("click",()=>this.scrollRightFun(index))}),window.addEventListener("resize",this.updateArrows.bind(this)),this.updateArrows())}offsetForDropDown(){const submenu=this.querySelector("[data-dropdown-content]");if(submenu){const container=this.closest("[data-horizontal-wrapper]");if(!container){console.info("Parent container not found");return}const containerRect=container.getBoundingClientRect(),menuRect=this.getBoundingClientRect(),submenuRect=submenu.getBoundingClientRect(),gap=0;let defaultSpaceFromRight,createSpaceFromRight;window.innerWidth>1440?(defaultSpaceFromRight=250,createSpaceFromRight=350):window.innerWidth<=1440?(defaultSpaceFromRight=100,createSpaceFromRight=200):(defaultSpaceFromRight=100,createSpaceFromRight=100);let offsetLeft=menuRect.left-containerRect.left;const spaceRight=window.innerWidth-defaultSpaceFromRight-(menuRect.left+submenuRect.width+gap);spaceRight<0&&(offsetLeft+=spaceRight-createSpaceFromRight),offsetLeft=Math.max(offsetLeft,gap),submenu.style.left=`${offsetLeft}px`}}dropDownMenuPositions(){if(window.innerWidth<992)return!1;this.querySelector("[data-dropdown-content]").classList.remove("menu-position-left");const windowSize=window.innerWidth-200,rect=this.getBoundingClientRect();let currentPosition=rect.left+rect.width;const grandChildList=this.querySelector("[data-dropdown-content]");grandChildList&&(currentPosition+=grandChildList.getBoundingClientRect().width),currentPosition>=windowSize&&this.querySelector("[data-dropdown-content]").classList.add("menu-position-left")}callOffsetForDropDown(index){this.wrappers[index].querySelectorAll("custom-dropdown").forEach(filterDropdown=>{typeof filterDropdown.offsetForDropDown=="function"&&filterDropdown.offsetForDropDown()})}scrollLeftFun(index){this.wrappers[index].scrollBy({left:-this.scrollStep,behavior:"smooth"}),this.updateArrowsImmediate(-this.scrollStep,index),this.callOff
22setForDropDown(index)}scrollRightFun(index){this.wrappers[index].scrollBy({left:this.scrollStep,behavior:"smooth"}),this.updateArrowsImmediate(this.scrollStep,index),this.callOffsetForDropDown(index)}updateArrows(){this.wrappers.forEach((wrapper,index)=>{const maxScrollLeft=wrapper.scrollWidth-wrapper.clientWidth;wrapper.scrollLeft===0?this.leftArrows[index].style.display="none":this.leftArrows[index].style.display="flex",wrapper.scrollLeft>=maxScrollLeft?this.rightArrows[index].style.display="none":this.rightArrows[index].style.display="flex"})}updateArrowsImmediate(scrollChange,index){const wrapper=this.wrappers[index],maxScrollLeft=wrapper.scrollWidth-wrapper.clientWidth,newScrollLeft=Math.max(0,Math.min(wrapper.scrollLeft+scrollChange,maxScrollLeft));newScrollLeft===0?this.leftArrows[index].style.display="none":this.leftArrows[index].style.display="flex",newScrollLeft>=maxScrollLeft?this.rightArrows[index].style.display="none":this.rightArrows[index].style.display="flex"}hidePanel(){this.elements.panel&&(this.classList.remove("active"),this.elements.button.setAttribute("aria-expanded","false"),DOMAnimations.slideUp(this.elements.panel))}onKeyUp(event){if(event.code.toUpperCase()==="ESCAPE"){if(window.innerWidth<=766)return!1;this.hidePanel(),this.elements.button.focus()}}togglePanel(){if(this.classList.contains("active"))this.hidePanel(),this.elements.button.focus();else{if(this.elements.parent.querySelector("custom-dropdown.active")){const activeElement=this.elements.parent.querySelector("custom-dropdown.active");activeElement.classList.remove("active"),activeElement.querySelector("[data-dropdown-button]").setAttribute("aria-expanded","false"),DOMAnimations.slideUp(activeElement.querySelector("[data-dropdown-content]"))}this.elements.panel&&(this.classList.add("active"),DOMAnimations.slideDown(this.elements.panel),this.offsetForDropDown(),this.elements.button.setAttribute("aria-expanded","true"))}}closePanel(event){(!event.relatedTarget||event.relatedTarget.nodeName!=="BUTTON")&&this.hidePanel()}}customElements.define("custom-dropdown",CustomDropdown);class RecipientForm extends HTMLElement{constructor(){super(),this.elementForms=this.querySelector("[data-recipient-form]"),this.recipientFieldsLiveRegion=this.querySelector(`#Recipient-fields-live-region-${this.dataset.sectionId}`),this.checkboxInput=this.querySelector(`#Recipient-checkbox-${this.dataset.sectionId}`),this.checkboxInput.disabled=!1,this.hiddenControlField=this.querySelector(`#Recipient-control-${this.dataset.sectionId}`),this.hiddenControlField.disabled=!0,this.emailInput=this.querySelector(`#Recipient-email-${this.dataset.sectionId}`),this.nameInput=this.querySelector(`#Recipient-name-${this.dataset.sectionId}`),this.messageInput=this.querySelector(`#Recipient-message-${this.dataset.sectionId}`),this.sendonInput=this.querySelector(`#Recipient-send-on-${this.dataset.sectionId}`),this.offsetProperty=this.querySelector(`#Recipient-timezone-offset-${this.dataset.sectionId}`),this.offsetProperty&&(this.offsetProperty.value=new Date().getTimezoneOffset().toString()),this.errorMessageWrapper=this.querySelector("[data-error-message]"),this.errorMessageList=this.errorMessageWrapper?.querySelector("ul"),this.errorMessage=this.errorMessageWrapper?.querySelector("[data-error-field]"),this.defaultErrorHeader=this.errorMessage?.innerText,this.currentProductVariantId=this.dataset.productVariantId,this.addEventListener("change",this.onChange.bind(this)),this.onChange(),this.handleCheckboxClick=this.handleCheckboxClick.bind(this),this.handleCheckboxClick()}cartUpdateUnsubscriber=void 0;variantChangeUnsubscriber=void 0;cartErrorUnsubscriber=void 0;connectedCallback(){this.cartUpdateUnsubscriber=subscribe(PUB_SUB_EVENTS.cartUpdate,event=>{event.source==="product-form"&&event.productVariantId.toString()===this.currentProductVariantId&&this.resetRecipientForm()}),this.variantChangeUnsubscriber=subscribe(PUB_SUB_EVENTS.variantChange,event=>{event.data.sectionId===this.dataset.sectionId&&(this.currentProductVariantId=event.data.variant.id.toString())}),this.cartUpdateUnsubscriber=subscribe(PUB_SUB_EVENTS.cartError,event=>{event.source==="product-form"&&event.productVariantId.toString()===this.currentProductVariantId&&this.displayErrorMessage(event.message,event.errors)}),this.checkboxInput.addEventListener("click",this.handleCheckboxClick)}handleCheckboxClick(){this.checkboxInput.checked?(DOMAnimations.slideDown(this.elementForms),this.classList.add("active")):(DOMAnimations.slideUp(this.elementForms),this.classList.remove("active"))}disconnectedCallback(){this.cartUpdateUnsubscriber&&this.cartUpdateUnsubscriber(),this.variantChangeUnsubscriber&&this.variantChangeUnsubscriber(),this.cartErrorUnsubscriber&&this.cartErrorUnsubscriber()}onChange(){this.checkboxInput.checked?(this.enableInputFields(),this.recipientFieldsLiveRegion.innerText=window.accessibilityStrings.recipientFormExpanded,this.classList.add("active")):(this.clearInputFields(),this.disableInputFields(),this.clearErrorMessage(),this.recipientFieldsLiveRegion.innerText=window.accessibilityStrings.recipientFormCollapsed)}inputFields(){return[this.emailInput,this.nameInput,this.messageInput,this.sendonInput]}disableableFields(){return[...this.inputFields(),this.offsetProperty]}
22clearInputFields(){this.inputFields().forEach(field=>field.value="")}enableInputFields(){this.disableableFields().forEach(field=>field.disabled=!1)}disableInputFields(){this.disableableFields().forEach(field=>field.disabled=!0)}displayErrorMessage(title,body){if(this.clearErrorMessage(),this.errorMessageWrapper=!1,typeof body=="object")return this.errorMessage.innerText=this.defaultErrorHeader,Object.entries(body).forEach(([key,value])=>{const errorMessageId=`RecipientForm-${key}-error-${this.dataset.sectionId}`,fieldSelector=`#Recipient-${key}-${this.dataset.sectionId}`,message=`${value.join(", ")}`,errorMessageElement=this.querySelector(`#${errorMessageId}`),errorTextElement=errorMessageElement?.querySelector(".error-message");if(!errorTextElement)return;this.errorMessageList&&this.errorMessageList.appendChild(this.createErrorListItem(fieldSelector,message)),errorTextElement.innerText=`${message}.`,errorMessageElement.classList.remove("hidden");const inputElement=this[`${key}Input`];inputElement&&(inputElement.setAttribute("aria-invalid",!0),inputElement.setAttribute("aria-describedby",errorMessageId))});this.errorMessage.innerText=body}createErrorListItem(target,message){const li=document.createElement("li"),a=document.createElement("a");return a.setAttribute("href",target),a.innerText=message,li.appendChild(a),li.className="error-message",li}clearErrorMessage(){this.errorMessageWrapper=!0,this.errorMessageList&&(this.errorMessageList.innerHTML=""),this.querySelectorAll(".recipient-fields .form__message").forEach(field=>{field.classList.add("hidden");const textField=field.querySelector(".error-message");textField&&(textField.innerText="")}),[this.emailInput,this.messageInput,this.nameInput,this.sendonInput].forEach(inputElement=>{inputElement.setAttribute("aria-invalid",!1),inputElement.removeAttribute("aria-describedby")})}resetRecipientForm(){this.checkboxInput.checked&&(this.checkboxInput.checked=!1,this.clearInputFields(),this.clearErrorMessage())}}customElements.define("recipient-form",RecipientForm);class ListSet extends HTMLElement{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load(),this.addEventListener("click",this.onClickHandler.bind(this))}onClickHandler(e2){switch(this.dataset.source){case"search-drawer":document.querySelector(`[data-drawer="${this.dataset.source}"]`)&&this.dataset.behaviour=="drawer"&&(e2.preventDefault(),setTimeout(()=>{document.querySelector(`[data-drawer="${this.dataset.source}"]`).classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{document.querySelector(`[data-drawer="${this.dataset.source}"]`).classList.add("shadow"),document.querySelector(`[data-drawer="${this.dataset.source}"]`).querySelector('input[type="search"]').focus()},800),document.querySelector(`[data-drawer="${this.dataset.source}"]`).style.display="flex");break;case"cart-drawer":document.querySelector(`[data-drawer="${this.dataset.source}"]`)&&this.dataset.behaviour=="drawer"&&(e2.preventDefault(),setTimeout(()=>{document.querySelector(`[data-drawer="${this.dataset.source}"]`).classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{document.querySelector(`[data-drawer="${this.dataset.source}"]`).classList.add("shadow")},800),document.querySelector(`[data-drawer="${this.dataset.source}"]`).style.display="flex");break;case"account-drawer":document.querySelector(`[data-drawer="${this.dataset.source}"]`)&&this.dataset.behaviour=="drawer"&&(e2.preventDefault(),setTimeout(()=>{document.querySelector(`[data-drawer="${this.dataset.source}"]`).classList.add("show"),document.body.classList.add("overflow-hidden"),document.querySelector("[data-header-wrapper]")&&(document.querySelector("[data-header-wrapper]").style.position="relative")},400),setTimeout(()=>{document.querySelector(`[data-drawer="${this.dataset.source}"]`).classList.add("shadow")},800),document.querySelector(`[data-drawer="${this.dataset.source}"]`).style.display="flex");break;default:break}}}customElements.define("list-set",ListSet);class ScrollTop extends HTMLElement{constructor(){super(),this.currentScrollTop=0,this.BodyScrollTop=0,this.scrollButton=this.querySelector("[back-to-top-button]"),window.addEventListener("scroll",this.onScroll.bind(this),!1),this.scrollButton.addEventListener("click",this.onClick.bind(this))}onScroll(){const scrollTop=window.pageYOffset||document.documentElement.scrollTop;scrollTop>1e3?scrollTop>this.currentScrollTop&&this.scrollButton.classList.add("show"):this.scrollButton.classList.remove("show"),this.currentScrollTop=scrollTop}onClick(){this.smoothScrollToTop()}smoothScrollToTop(){const start=window.pageYOffset,startTime=performance.now(),scrollStep=currentTime=>{const timeElapsed=currentTime-startTime,progress=Math.min(timeElapsed/700,1),easing=this.easeInOutQuad(progress);window.scrollTo(0,start-start*easing),timeElapsed<700&&requestAnimationFrame(scrollStep)};requestAnimationFrame(scrollStep)}easeInOutQuad(t){return t<.5?2*t*t:-1+(4-2*t)*t}}customElements.define("scroll-top",ScrollTop);class CustomButton extends HTMLButtonElement{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load()}connectedCallback(){}}customElements.define("magnet-button",CustomButton,{extends:"button"});class MediaZoomButton extends HTMLElement{constructor(){super(),this.openMediaPopup=this.openMediaPopup.bind(this)}connectedCallback(){if(this.section=this.closest(".shopify-section"),this.slideIndex=this.dataset.index,this.sectionId=this.dataset.section,!this.section){console.warn("shopify-section not found");return}this.productMediaContent=this.section.querySelector("[data-product-media-content]"),this.productMediaContent&&(this.template=this.productMediaContent.querySelector("template"),this.addEventListener("click",this.openMediaPopup))}disconnectedCallback(){this.removeEventListener("click",this.openMediaPopup)}openMediaPopup(){if(!this.template)return;const content=this.template.content.firstElementChild.cloneNode(!0);document.body.appendChild(content),this.popup=document.querySelector(`#product-media-content-${this.sectionId}`),this.popup&&(setTimeout(()=>{this.popup.querySelector("swiper-content")?._selectSlide(parseInt(this.slideIndex)),setTimeout(()=>{this.popup.classList.add("show")},400),setTimeout(()=>{this.popup.classList.add("shadow")},800),this.popup.style.display="flex"},200),setTimeout(()=>{this.section.querySelector("swiper-content")?._selectSlide(parseInt(this.slideIndex))},1300))}}customElements.define("media-zoom-button",MediaZoomButton);class ProductMediaPopup extends HTMLElement{constructor(){super(),this.closeBtn=this.querySelector("[data-popup-close]"),this.closeBtn&&this.closeBtn.addEventListener("click",this.closeMediaPopup.bind(this))}closeMediaPopup(){this.classList.remove("show"),this.style.display="",setTimeout(function(){this.remove()}.bind(this),500)}}customElements.define("product-media-popup",ProductMediaPopup),customElements.get("pickup-info")||customElements.define("pickup-info",class extends HTMLElement{constructor(){if(super(),!this.hasAttribute("available"))return;const button=this.querySelector("button");button&&(button.addEventListener("click",evt=>{this.fetchAvailability(this.dataset.variantId)}),button.addEventListener("touchend",()=>{this.fetchAvailability(this.dataset.variantId)}))}fetchAvailability(variant_id){let rootUrl=this.dataset.rootUrl;rootUrl.endsWith("/")||(rootUrl=rootUrl+"/");const variantSectionUrl=`${rootUrl}variants/${variant_id}/?section_id=pickup-availability-drawer`;fetch(variantSectionUrl).then(response=>response.text()).then(text=>{const sectionInnerHTML=new DOMParser().parseFromString(text,"text/html").querySelector(".shopify-section");this.renderPreview(sectionInnerHTML),setTimeout(()=>{document.querySelector("pickup-availability-drawer").classList.add("show"),document.body.classList.add("overflow-hidden")},400),document.querySelector("pickup-availability-drawer").style.display="flex",document.querySelector("pickup-availability-drawer").focus()}).catch(e2=>{})}renderPreview(sectionInnerHTML){const drawer=document.querySelector("pickup-availability-drawer");drawer&&drawer.remove(),document.body.appendChild(sectionInnerHTML.querySelector("pickup-availability-drawer"))}}),customElements.get("pickup-availability-drawer")||customElements.define("pickup-availability-drawer",class extends HTMLElement{constructor(){super(),this.onBodyClick=this.handleBodyClick.bind(this),this.querySelector("button").addEventListener("click",()=>{this.hide()}),this.addEventListener("keyup",event=>{event.code.toUpperCase()==="ESCAPE"&&this.hide()}),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.onKeyDown()}handleBodyClick(evt){const target=evt.target;target!=this&&!target.closest("pickup-availability-drawer")&&target.id!="ShowPickupAvailabilityDrawer"&&this.hide()}hide(){this.removeAttribute("open"),document.body.removeEventListener("click",this.onBodyClick),document.body.classList.remove("overflow-hidden")}show(focusElement){this.focusElement=focusElement,this.setAttribute("open",""),document.body.addEventListener("click",this.onBodyClick),document.body.classList.add("overflow-hidden")}});class StickyFeature extends HTMLDivElement{constructor(){super(),this.section=this.closest("section"),this.isEnabled=!1}connectedCallback(){this.resizeObserver=new ResizeObserver(this.handleResize.bind(this)),this.resizeObserver.observe(document.body),window.addEventListener("scroll",this.handleScroll.bind(this))}handleResize(){const currentWidth=window.innerWidth;this.isEnabled=currentWidth>766,this.isEnabled||this.fadeIn()}handleScroll(){if(!this.isEnabled)return;const windowHeight=window.innerHeight,sectionRect=this.section.getBoundingClientRect(),screenMidpoint=windowHeight/2;sectionRect.bottom<=screenMidpoint?this.fadeOut():sectionRect.bottom>screenMidpoint&&this.fadeIn()}fadeOut(){this.classList.contains("fade-out")||(this.classList.add("fade-out"),this.classList.remove("fade-in"))}fadeIn(){this.classList.contains("fade-in")||(this.classList.add("fade-in"),this.classList.remove("fade-out"))}}customElements.define("sticky-feature",StickyFeature,{extends:"div"});class StickyBuyButton extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this.footer=document.querySelector("footer"),this.isEnabled=!0,this.handleScroll()}connectedCallback(){window.addEventListener("scroll",this.handleScroll.bind(this)),this.querySelector("[data-sticky-close]").addEventListener("click",this.closeSticky.bind(this))}closeSticky(){this.classList.add("hidden")}handleScroll(){if(!this.isEnabled)return;const windowHeight=window.innerHeight,sectionRect=this.section.getBoundingClientRect(),footerRect=this.footer.getBoundingClientRect();footerRect.top<windowHeight&&footerRect.bottom>0?this.fadeOut():sectionRect.bottom<=windowHeight/2?this.fadeIn():sectionRect.bottom>windowHeight/2&&this.fadeOut()}fadeOut(){this.classList.contains("fade-out")||(this.classList.add("fade-out"),this.classList.remove("fade-in"))}fadeIn(){this.classList.contains("fade-in")||(this.classList.add("fade-in"),this.classList.remove("fade-out"))}}customElements.define("sticky-buy-button",StickyBuyButton);class CustomControls extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this.mediaitem=this.closest("[data-media-item]"),this.video=this.mediaitem.querySelector("video"),this.playIcon=this.querySelector("[data-vi
22deo-play]"),this.pauseIcon=this.querySelector("[data-video-pause]")}connectedCallback(){this.playIcon.addEventListener("click",()=>this.play()),this.pauseIcon.addEventListener("click",()=>this.pause()),this.video.addEventListener("play",()=>this.updateIconVisibility()),this.video.addEventListener("pause",()=>this.updateIconVisibility())}play(){this.video&&(this.video.play(),this.updateIconVisibility())}pause(){this.video&&(this.video.pause(),this.updateIconVisibility())}updateIconVisibility(){this.video&&(this.video.paused?(this.playIcon.classList.remove("hidden"),this.pauseIcon.classList.add("hidden")):(this.playIcon.classList.add("hidden"),this.pauseIcon.classList.remove("hidden")))}}customElements.define("custom-controls",CustomControls);class CardAnimation{constructor(){this.cardTriggers=[],this.matchMedia=gsap.matchMedia(),this.matchMedia.add("(min-width: 768px)",()=>{this.initAnimations(),this.bindEvents()})}initAnimations(){gsap.registerPlugin(ScrollTrigger),gsap.set("[data-card-animate]",{opacity:0,y:75,scale:.9}),this.killCardTriggers();const scrollTrigger=ScrollTrigger.batch("[data-card-animate]",{onEnter:batch=>{gsap.to(batch,{opacity:1,y:0,scale:1,stagger:.1})},once:!0});this.cardTriggers.push(scrollTrigger)}bindEvents(){document.addEventListener("shopify:section:select",()=>{this.refreshAnimations()}),document.addEventListener("shopify:section:deselect",()=>{this.refreshAnimations()}),document.addEventListener("DOMContentLoaded",()=>{this.initAnimations()})}refreshAnimations(){this.killCardTriggers(),this.initAnimations()}killCardTriggers(){this.cardTriggers=this.cardTriggers.filter(trigger=>trigger&&typeof trigger.kill=="function"),this.cardTriggers.forEach(trigger=>trigger.kill()),this.cardTriggers=[]}}class ScrollAnimation{constructor(){this.animationSections=[],this.scrollTriggers=[],this.matchMedia=null,this._splitInstances=new WeakMap,this._charsCache=new WeakMap,this._mmRevertFns=[],this._initialized=!1,this.init()}init(){if(this._initialized)return;this._initialized=!0,this.matchMedia=gsap.matchMedia();const mmRevert=this.matchMedia.add("(min-width: 768px)",()=>(this.animationSections=Array.from(document.querySelectorAll("[data-saos]")),this.animationSections.forEach(animatedSecObj=>{let split=null,chars=null;const animationType=animatedSecObj.getAttribute("data-saos");if((animationType==="scatter-fly"||animationType==="curve-rise"||animationType==="flash-flick"||animationType==="reveal"||animationType==="wave-slide-up"||animationType==="falling-curve")&&(split=new SplitText(animatedSecObj,{type:"chars",charsClass:"char"}),chars=animatedSecObj.querySelectorAll(".char"),this._splitInstances.set(animatedSecObj,split),this._charsCache.set(animatedSecObj,chars)),!animatedSecObj.classList.contains("is-animated-gsap"))switch(animationType){case"slide-up":gsap.set(animatedSecObj,{opacity:0});break;case"scatter-fly":gsap.set(chars,{willChange:"opacity, transform",opacity:0,xPercent:()=>gsap.utils.random(-100,100),yPercent:()=>gsap.utils.random(-120,120)});break;case"curve-rise":gsap.set(chars,{willChange:"opacity, transform",opacity:0,rotationX:-90,yPercent:50});break;case"flash-flick":gsap.set(chars,{willChange:"opacity",opacity:0,filter:"blur(20px)"});break;case"reveal":gsap.set(chars,{willChange:"opacity, transform",opacity:0,scale:.6,rotationZ:()=>gsap.utils.random(-20,20)});break;case"wave-slide-up":gsap.set(chars,{willChange:"opacity, transform",opacity:0,yPercent:20,scaleY:2,scaleX:.7,transformOrigin:"50% 0%"});break;case"falling-curve":gsap.set(chars,{willChange:"transform",transformOrigin:"50% 0%",scaleY:0});break;default:console.warn(`No animation defined for: ${animationType}`);break}const scrollTrigger=ScrollTrigger.create({trigger:animatedSecObj,start:"top 90%",markers:!1,onToggle:()=>{animatedSecObj.classList.contains("is-animated-gsap")||this.animationApplied(animatedSecObj,animatedSecObj.getAttribute("data-saos")),animatedSecObj.classList.add("is-animated-gsap")}});this.scrollTriggers.push(scrollTrigger)}),()=>{this.animationSections.forEach(section=>{section.classList.remove("is-animated-gsap");const splitInstance=this._splitInstances.get(section);if(splitInstance&&typeof splitInstance.revert=="function"){try{splitInstance.revert()}catch{}this._splitInstances.delete(section)}const chars=this._charsCache.get(section);chars&&chars.length&&(gsap.set(chars,{clearProps:"all"}),this._charsCache.delete(section)),gsap.set(section,{clearProps:"all"})}
22),this.scrollTriggers.forEach(st=>{try{st.kill()}catch{}}),this.scrollTriggers=[],this.animationSections=[]}));this._mmRevertFns.push(mmRevert)}animationApplied(elementAnimated,animationType){let chars,timeline=gsap.timeline();switch(animationType){case"slide-up":return gsap.fromTo(elementAnimated,{opacity:0,y:40},{opacity:1,y:0,duration:.5});case"scatter-fly":return chars=elementAnimated.querySelectorAll(".char"),timeline.to(chars,{"will-change":"opacity, transform",opacity:1,xPercent:0,yPercent:0,duration:1,stagger:.02,ease:"power2.out"}),timeline;case"curve-rise":return chars=elementAnimated.querySelectorAll(".char"),timeline.to(chars,{ease:"power1.inOut",opacity:1,rotationX:0,yPercent:0,stagger:{each:.02,from:0}}),timeline;case"flash-flick":return chars=elementAnimated.querySelectorAll(".char"),timeline.to(chars,{duration:.25,ease:"power1.inOut",opacity:1,filter:"blur(0px)",stagger:{each:.02,from:"random"}}),timeline;case"reveal":return chars=elementAnimated.querySelectorAll(".char"),timeline.to(chars,{ease:"power4",opacity:1,scale:1,rotation:0,stagger:.02}),timeline;case"wave-slide-up":return chars=elementAnimated.querySelectorAll(".char"),timeline.to(chars,{duration:1,ease:"back.inOut(2)",opacity:1,yPercent:0,scaleY:1,scaleX:1,stagger:.02}),timeline;case"falling-curve":return chars=elementAnimated.querySelectorAll(".char"),timeline.to(chars,{ease:"back",opacity:1,scaleY:1,yPercent:0,stagger:.02}),timeline;default:return null}}kill(){try{this.matchMedia&&typeof this.matchMedia.revert=="function"&&this.matchMedia.revert()}catch{}this.scrollTriggers.forEach(trigger=>{try{trigger.kill()}catch{}}),this.scrollTriggers=[],this._splitInstances=new WeakMap,this._charsCache=new WeakMap,this.animationSections=[],this._initialized=!1}reinit(){this.kill(),this.matchMedia=null,this._mmRevertFns=[],this.init()}}const saosScrollAnimation=new ScrollAnimation;class CardAnimate extends HTMLDivElement{constructor(){super(),this.scrollTrigger=null,this.matchMedia=null,this.handleResize=this.handleResize.bind(this),this.refreshAnimations=this.refreshAnimations.bind(this)}connectedCallback(){this.initAnimations(),window.Shopify?.designMode&&(window.addEventListener("resize",this.handleResize),document.addEventListener("shopify:section:load",this.refreshAnimations),document.addEventListener("shopify:section:select",this.refreshAnimations),document.addEventListener("shopify:section:deselect",this.refreshAnimations))}disconnectedCallback(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("shopify:section:load",this.refreshAnimations),document.removeEventListener("shopify:section:select",this.refreshAnimations),document.removeEventListener("shopify:section:deselect",this.refreshAnimations),this.scrollTrigger?.kill(),this.matchMedia?.revert()}initAnimations(){gsap.registerPlugin(ScrollTrigger),this.matchMedia?.revert(),this.matchMedia=gsap.matchMedia(),this.matchMedia.add("(min-width: 768px)",()=>{gsap.set(this,{opacity:0,y:75,scale:.9}),this.scrollTrigger=ScrollTrigger.create({trigger:this,start:"top 80%",once:!0,onEnter:()=>{gsap.to(this,{opacity:1,y:0,scale:1,duration:.5,ease:"power2.out"})}})})}handleResize(){this.refreshAnimations()}refreshAnimations(){this.scrollTrigger?.kill(),this.scrollTrigger=null,this.matchMedia?.revert(),this.matchMedia=null,this.initAnimations(),ScrollTrigger.refresh()}}customElements.define("card-animate",CardAnimate,{extends:"div"});class ClippedImage extends HTMLElement{constructor(){super(),this.clippedItemsParent=null,this.clippedItem=null,this.scrollTriggerInstance=null,this.wrapperClosest=this.closest(".section-wrapper"),this.totalItemsHeight=0,this.initializeClipped(),this.matchMedia=null}initializeClipped(){this.clippedItemsParent=this.querySelector("[data-clipped-items]"),this.clippedItem=this.querySelectorAll("[data-clipped-item]"),this.allItems=this.querySelectorAll(".images-with-text-carousel--item"),this.createScrollAnimation(this.clippedItemsParent,this.clippedItem),window.addEventListener("resize",()=>{setTimeout(()=>{this.handleResize(),debouncedScrollTriggerRefresh()},1500)})}handleResize(){window.innerWidth<768&&(console.log("this.scrollTriggerInstance",this.scrollTriggerInstance),this.scrollTriggerInstance?.kill(),this.scrollTriggerInstance=null,this.clippedItem.forEach(item=>
22{item.style.clipPath="polygon(-100% 0%, 100% 0%, 100% 100%, -25% 100%)"})),window.innerWidth>=768&&this.initializeClipped()}disconnectedCallback(){window.removeEventListener("resize",this.handleResize)}createScrollAnimation(triggerElement,targetElements){this.matchMedia=gsap.matchMedia(),this.matchMedia.add("(min-width: 768px)",()=>{triggerElement&&targetElements.length>0&&(this.scrollTriggerInstance=gsap.timeline({scrollTrigger:{id:this.dataset.section,trigger:this.wrapperClosest,pin:this.section,pinnedContainer:this.section,start:"top top",end:"+=100%",pinSpacing:!0,pin:!0,refreshPriority:1,scrub:2,markers:!1}}),this.clippedItem.forEach((item,object)=>{this.scrollTriggerInstance.to(item,{clipPath:"polygon(-100% 0%, 100% 0%, 100% 100%, -25% 100%)"})}))})}killClippedScrollTrigger(scrollTiggerId){scrollTiggerId&&ScrollTrigger.getById(`${scrollTiggerId}`).kill()}}customElements.define("clipped-image",ClippedImage);class RevealingText extends HTMLElement{constructor(){super(),this._paragraph=null,this.split=null,this.masks=[],this.splitTimeline=null,this.chars=null,this.matchMedia=null,this.wasLargeScreen=window.innerWidth>=768,this.currentScreenSize=window.innerWidth>=768}connectedCallback(){this._paragraph=this.querySelector("[data-text-reveal]");let resizeTimeout;this.handleResize=()=>{clearTimeout(resizeTimeout),resizeTimeout=setTimeout(()=>{const newScreenSize=window.innerWidth>=768;!this.wasLargeScreen&&newScreenSize?(this.matchMedia&&this.matchMedia.revert(),this.matchMedia=gsap.matchMedia(),this.matchMedia.add("(min-width: 768px)",()=>{this.splitRevealText(this._paragraph)})):this.wasLargeScreen&&!newScreenSize&&(this.cleanupAnimation(),this.matchMedia&&(this.matchMedia.revert(),this.matchMedia=null)),this.wasLargeScreen=newScreenSize,this.currentScreenSize=newScreenSize},100)},this.onSectionLoad=event=>{event.target.contains(this)&&setTimeout(()=>{window.innerWidth<768?(this.cleanupAnimation(),this.matchMedia&&(this.matchMedia.revert(),this.matchMedia=null)):(this.cleanupAnimation(),this.matchMedia&&this.matchMedia.revert(),this.matchMedia=gsap.matchMedia(),this.matchMedia.add("(min-width: 768px)",()=>{this.splitRevealText(this._paragraph)}))},100)},document.addEventListener("shopify:section:load",this.onSectionLoad),window.addEventListener("resize",this.handleResize),this.matchMedia=gsap.matchMedia(),this.matchMedia.add("(min-width: 768px)",()=>{this.splitRevealText(this._paragraph)})}cleanupAnimation(){this.split&&(this.split.revert(),this.split=null),this.splitTimeline&&(this.splitTimeline.kill(),this.splitTimeline=null)}splitRevealText(targetParagraph){this.split&&this.split.revert(),this.splitTimeline&&this.splitTimeline.kill(),this.dataset.revealStyle=="style-1"?(this.split=new SplitText(targetParagraph,{type:"lines",linesClass:"revealing-text-line"}),this.split.lines.forEach(target=>{gsap.to(target,{backgroundPositionX:0,ease:"none",willChange:"transform, opacity",scrollTrigger:{trigger:target,scrub:.5,markers:!1,start:"top 60%",end:"bottom center",fastScrollEnd:2500}})})):(this.splitTimeline=gsap.timeline(),this.split=new SplitText(targetParagraph,{type:"words,chars",charsClass:"revealing-text-char"}),this.chars=this.split.chars,this.splitTimeline.from(this.chars,{duration:.8,opacity:0,willChange:"transform, opacity",y:-10,ease:"circ.out",stagger:.02,scrollTrigger:{trigger:targetParagraph,markers:!1,start:"top 60%",end:"bottom center",scrub:.5,fastScrollEnd:2500}},"+=0"))}disconnectedCallback(){this.handleResize&&window.removeEventListener("resize",this.handleResize),this.matchMedia&&this.matchMedia.revert(),this.split&&this.split.revert(),this.splitTimeline&&this.splitTimeline.kill(),document.removeEventListener("shopify:section:load",this.onSectionLoad)}reinit(){this.splitRevealText(this._paragraph)}}customElements.define("reveal-text",RevealingText);class TabsElement extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this.animation=this.dataset.animationEffect,this.productCards=this.section.querySelectorAll("[data-content-item]"),this.tabWrapper=this.section.querySelector("[data-tab-wrapper]"),this.resizeObserver=new ResizeObserver(()=>{this.updateTabLayout()}),this.resizeObserver.observe(this.section),this.querySelectorAll("[data-tab-id]").forEach(tab=>{tab.addEventListener("click",this.handleTabs.bind(this))})}connectedCallback(){this.productCards.forEach(card=>{const infoBox=card.querySelector("[data-item-info]");card.addEventListener("mousemove",e2=>{const rect=card.getBoundingClientRect(),mouseX=e2.clientX-rect.left,mouseY=e2.clientY-rect.top;infoBox&&(infoBox.style.transform=`translate(${mouseX}px, ${mouseY}px)`,infoBox.style.opacity="1")}),card.addEventListener("mouseleave",()=>{infoBox&&(infoBox.style.opacity="0")})}),this.updateTabLayout()}updateTabLayout(){const isMobile=window.innerWidth<768;this.tabWrapper&&this.tabWrapper.dataset.tabWrapper!=="horizontal"&&(this.tabWrapper.classList.toggle("horizontal-tab",isMobile),this.tabWrapper.classList.toggle("vertical-tab",!isMobile))}handleTabs(event){this.querySelectorAll("[data-tab-id]").forEach(tab=>tab.classList.remove("active")),this.section.querySelectorAll("[data-content-id]").forEach(content=>{if(content.classList.add("hidden"),this.animation!="none"){const productCards=content.querySelectorAll("[data-content-item]");
22gsap.to(productCards,{opacity:0,y:50,duration:0})}});const clickedTab=event.currentTarget;clickedTab.classList.add("active");const tabId=clickedTab.getAttribute("data-tab-id"),contentArrowToShow=this.section.querySelector(`[data-content-id="arrows-${tabId}"]`);contentArrowToShow&&contentArrowToShow.classList.remove("hidden");const contentToShow=this.section.querySelector(`[data-content-id="${tabId}"]`);if(contentToShow&&(contentToShow.classList.remove("hidden"),this.animation!="none")){const productCards=contentToShow.querySelectorAll("[data-content-item]");this.animation=="fade"&&gsap.fromTo(productCards,{opacity:0,y:50},{opacity:1,y:0,duration:.6,stagger:.1,ease:"power2.out"}),this.animation=="bounce"&&gsap.fromTo(productCards,{opacity:0,y:50},{opacity:1,y:0,duration:.8,stagger:.1,ease:"elastic.out(1, 0.5)"})}}}customElements.define("tabs-element",TabsElement);class StoreLocatorContext extends HTMLButtonElement{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.onKeyDown(),this.addEventListener("click",this.onClickHandler.bind(this))}onClickHandler(){const isSearchDrawer=document.querySelector("store-locator");setTimeout(()=>{isSearchDrawer.classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{isSearchDrawer.classList.add("shadow")},800),isSearchDrawer.style.display="flex"}}customElements.define("store-locator-context",StoreLocatorContext,{extends:"button"});class localizationContext extends HTMLElement{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.onKeyDown(),this.dataset.size>1&&this.addEventListener("click",this.countryLanguageModalOpen.bind(this))}countryLanguageModalOpen(e2){document.querySelector("popup-modal").modalPopupOpen("data-localization-form-popup")}}customElements.define("localization-context",localizationContext);class LocalizationForm extends HTMLElement{constructor(){super(),this.elements={button:this.querySelector("[data-custom-select-button]"),panel:this.querySelector("[data-custom-select-summary]")},document.body.addEventListener("click",function(event){event.target!=this&&!this.contains(event.target)&&this.hidePanel()}.bind(this)),document.body.addEventListener("keydown",this.handleKeyPress.bind(this)),this.elements.button&&this.elements.button.addEventListener("click",this.togglePanel.bind(this)),this.addEventListener("keyup",this.onKeyUp.bind(this))}handleKeyPress(event){this.hidePanel()}hidePanel(){this.elements.panel&&(this.elements.button.setAttribute("aria-expanded","false"),this.elements.panel.style.display="none")}onKeyUp(event){event.code&&event.code.toUpperCase()==="ESCAPE"&&(this.hidePanel(),this.elements.button.focus())}onItemClick(event){event.preventDefault();const form=this.querySelector("form"),input_field=form.querySelector("[data-input-selector]");input_field&&(input_field.value=event.currentTarget.value),form&&form.submit()}togglePanel(){const isHidden=this.elements.panel.style.display==="none";document.querySelectorAll("[data-custom-select]").forEach(panel=>{panel.querySelector("[data-custom-select-button]").setAttribute("aria-expanded","false"),panel.querySelector("[data-custom-select-summary]").style.display="none"}),this.elements.panel&&(this.elements.panel.style.display=isHidden?"block":"none",this.adjustPanelPosition(),this.elements.button.setAttribute("aria-expanded",isHidden.toString()),isHidden&&this.elements.button.focus())}adjustPanelPosition(){if(this.elements.panel){const element=this.elements.panel,dropdownHeight=element.clientHeight,windowHeight=window.innerHeight,dropdownTop=element.getBoundingClientRect().top;windowHeight-dropdownTop<dropdownHeight?element.classList.add("top-position"):element.classList.remove("top-position")}}closePanel(event){(!event.relatedTarget||event.relatedTarget.nodeName!=="BUTTON")&&this.hidePanel()}}customElements.define("localization-form",LocalizationForm);class ParallaxContainer extends HTMLElement{constructor(){super(),this.parallaxImage=this.querySelector("[data-parallax-image]"),this.windowInnerHeight=window.innerHeight,this.isActive=!1,this.timeout=null,this.directionMap={right:0,top:90,left:180,bottom:270},this.directionMultipliers={0:[1,0],90:[0,-1],180:[-1,0],270:[0,1]},this.init(),window.addEventListener("scroll",()=>this.scrollHandler())}getParallaxInfo(){const{width,height,top}=this.parallaxImage.getBoundingClientRect();let element=this.parallaxImage,multipliers,{angle,movement}=element.dataset,movementPixels=Math.ceil(angle==="top"?height*(parseFloat(movement)/100):width*(parseFloat(movement)/100));angle=this.directionMap[angle]??parseFloat(angle),angle=isNaN(angle)?270:angle,movementPixels=isNaN(movementPixels)?100:movementPixels,angle%=360,angle<0&&(angle+=360);const toLeft=angle>90&&angle<270,toTop=angle<180;
22if(element.style[toLeft?"left":"right"]=0,element.style[toTop?"top":"bottom"]=0,angle%90){const radians=angle*Math.PI/180;multipliers=[Math.cos(radians),Math.sin(radians)*-1]}else multipliers=this.directionMultipliers[angle];return multipliers[0]&&(element.style.width=`calc(100% + ${movementPixels*Math.abs(multipliers[0])}px)`),multipliers[1]&&(element.style.height=`calc(100% + ${movementPixels*Math.abs(multipliers[1])}px)`),{element,movementPixels,multipliers,top,height}}init(){const{element,movementPixels,multipliers,top,height}=this.getParallaxInfo(),scrolledInContainer=this.windowInnerHeight-top,scrollArea=this.windowInnerHeight+height,progress=scrolledInContainer/scrollArea;if(progress>-.1&&progress<1.1){const position=Math.min(Math.max(progress,0),1)*movementPixels;gsap.to(element,{x:position*multipliers[0],y:position*multipliers[1],duration:.5,overwrite:"auto"})}this.isActive&&requestAnimationFrame(this.init.bind(this))}scrollHandler(){this.isActive?clearTimeout(this.timeout):(this.isActive=!0,requestAnimationFrame(this.init.bind(this))),this.timeout=setTimeout(()=>this.isActive=!1,20)}}customElements.define("parallax-container",ParallaxContainer);class HeroContext extends HTMLElement{constructor(){super(),this.section=this.closest("section"),this._initHeroThumbanils(),new ResizeObserver(()=>this._initHeroThumbanils()).observe(this.closest("section"))}_initHeroThumbanils(){const newIsMobile=window.innerWidth<768;this.querySelectorAll("[data-hero-item]").forEach(heroitem=>{newIsMobile?heroitem.addEventListener("click",e2=>{this.section.querySelector("swiper-content")?._selectSlide(parseInt(heroitem.getAttribute("data-hero-item"))),this.section.querySelector("swiper-content")?._startAutoplay()}):(heroitem.addEventListener("mouseover",e2=>{this.section.querySelector("swiper-content")?._selectSlide(parseInt(heroitem.getAttribute("data-hero-item"))),this.section.querySelector("swiper-content")?._startAutoplay()}),heroitem.addEventListener("mouseout",e2=>{this.section.querySelector("swiper-content")?._stopAutoplay()}))})}}customElements.define("hero-context",HeroContext);class ProductsGrid extends HTMLElement{constructor(){super(),this.leftWrap=this.querySelectorAll("[data-left-item]"),this.middleWrap=this.querySelectorAll("[data-middle-item]"),this.rightWrap=this.querySelectorAll("[data-right-item]"),this.currentIndex=0}connectedCallback(){this.leftWrap.forEach(leftItem=>{leftItem.addEventListener("click",()=>this.handleLeftItemClick(leftItem))})}handleLeftItemClick(selectedLeftItem){const selectedItemId=selectedLeftItem.getAttribute("data-left-item");this.leftWrap.forEach(item=>{item.classList.remove("active")}),selectedLeftItem.classList.add("active"),this.middleWrap.forEach(middleItem=>{middleItem.getAttribute("data-middle-item")===selectedItemId?(middleItem.classList.remove("hidden"),middleItem.classList.add("active")):(middleItem.classList.add("hidden"),middleItem.classList.remove("active"))}),this.rightWrap.forEach(rightItem=>{rightItem.getAttribute("data-right-item")===selectedItemId?(rightItem.classList.remove("hidden"),rightItem.classList.add("active")):(rightItem.classList.add("hidden"),rightItem.classList.remove("active"))})}}customElements.define("products-grid",ProductsGrid);function getHiddenHeightEl(el){if(!el?.cloneNode)return null;const clone=el.cloneNode(!0);Object.assign(clone.style,{overflow:"visible",height:"auto",maxHeight:"none",opacity:"0",visibility:"hidden",display:"block"}),el.after(clone);const height=clone.offsetHeight;return clone.remove(),height}function isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}function touchDeviceClassToggle(){if(!document.body)return;const isTouchCapable=isTouchDevice(),isMobileViewport=window.innerWidth<=768;isTouchCapable||isMobileViewport?document.body.classList.add("touch-device"):document.body.classList.remove("touch-device")}function isOnScreen(elem){if(!elem)return;const window2=document.defaultView,viewport_top=window2.scrollY,viewport_height=window2.innerHeight,viewport_bottom=viewport_top+viewport_height,elemRect=elem.getBoundingClientRect(),top=elemRect.top+viewport_top,height=elemRect.height,bottom=top+height;return top>=viewport_top&&top<viewport_bottom||bottom>viewport_top&&bottom<=viewport_bottom||height>viewport_height&&top<=viewport_top&&bottom>=viewport_bottom}function isSafari(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function debounce(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}}function debouncedScrollTriggerRefresh(){isRefreshing||(clearTimeout(refreshTimeout),refreshTimeout=setTimeout(()=>{isRefreshing=!0,ScrollTrigger.refresh(),ScrollTrigger.sort(),isRefreshing=!1},500))}function fetchConfig(type="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:`application/${type}`}}}function lerp(start,end,t){return start*(1-t)+end*t}document.addEventListener("DOMContentLoaded",event=>{debouncedScrollTriggerRefresh(),parallaxAnimation();let _target=event.target;var wow=new WOW({boxClass:"wow",animateClass:"animated",offset:50,mobile:!1});setTimeout(()=>{wow.init()},2100),document.querySelectorAll("details").forEach(el=>{const accordion=new Accordion(el);el._accordionInstance=accordion}),setTimeout(()=>{saosScrollAnimation.init()},500),new CardAnimation}),window.addEventListener("load",function(e2){setTimeout(()=>{debouncedScrollTriggerRefresh()},1e3)}),window.addEventListener("resize",function(event){setTimeout(()=>{debouncedScrollTriggerRefresh()},1e3)}),document.addEventListener("shopify:section:unload",event=>{setTimeout(()=>{debouncedScrollTriggerRefresh()},1e3)}),document.addEventListener("shopify:section:load",event=>{parallaxAnimation();let _target=event.target;scrollObserver.handleScroll(_target),document.querySelectorAll("details").forEach(el=>{const accordion=new Accordion(el);el._accordionInstance=accordion}),document.querySelectorAll("parallax-container").forEach(container=>{container instanceof ParallaxContainer&&container.reinit()}),document.querySelectorAll("reveal-text").forEach(textElement=>{textElement instanceof RevealingText&&textElement.reinit()}),setTimeout(()=>{saosScrollAnimation.reinit()},500),setTimeout(()=>{debouncedScrollTriggerRefresh()},1e3)}),document.addEventListener("shopify:section:select",event=>{parallaxAnimation();let _target=event.target;_target.querySelector('[data-drawer="quick-view-drawer"]')&&(setTimeout(()=>{_target.querySelector('[data-drawer="quick-view-drawer"]').classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{_target.querySelector('[data-drawer="quick-view-drawer"]').classList.add("shadow")},800),_target.querySelector('[data-drawer="quick-view-drawer"]').style.display="flex"),_target.querySelector('[data-drawer="store-locator"]')&&(setTimeout(()=>{_target.querySelector('[data-drawer="store-locator"]').classList.add("show"),document.body.classList.add("overflow-hidden")},400),setTimeout(()=>{_target.querySelector('[data-drawer="store-locator"]').classList.add("shadow")},800),_target.querySelector('[data-drawer="store-locator"]').style.display="flex"),_target.querySelector('[data-drawer="newsletter-popup"]')&&document.querySelector("popup-modal").modalPopupOpen("data-newsletter-popup"),_target.querySelector('[data-drawer="age-verifier"]')&&(document.querySelector('[data-drawer="age-verifier"]').style.display="flex"),document.querySelectorAll("details").forEach(el=>{const accordion=new Accordion(el);el._accordionInstance=accordion}),setTimeout(()=>{saosScrollAnimation.reinit()},500)}),document.addEventListener("shopify:section:deselect",event=>{parallaxAnimation();let _target=event.target;_target.querySelector('[data-drawer="quick-view-drawer"]')&&(_target.querySelector('[data-drawer="quick-view-drawer"]').classList.remove("show"),document.body.classList.remove("overflow-hidden"),setTimeout(()=>{_target.querySelector('[data-drawer="quick-view-drawer"]').style.display="none"},400)),_target.querySelector('[data-drawer="store-locator"]')&&(_target.querySelector('[data-drawer="store-locator"]').classList.remove("show"),document.body.classList.remove("overflow-hidden"),setTimeout(()=>{_target.querySelector('[data-drawer="store-locator"]').style.display="none"},400)),_target.querySelector('[data-drawer="newsletter-popup"]')&&document.querySelector("popup-modal").modalPopupClose(),_target.querySelector('[data-drawer="age-verifier"]')&&(document.querySelector('[data-drawer="age-verifier"]').style.display="none")}),document.addEventListener("shopify:block:select",event=>{parallaxAnimation();let _target=event.target;setTimeout(()=>{if(_target.classList.contains("swiper-slide")){let slideIndex=_target.dataset.swiperSlideIndex;if(slideIndex!=null)_target.closest("swiper-content")._selectSlide(slideIndex);else{let slideIndexsplit=_target.dataset.splitIndex;_target.closest("swiper-content")._selectSlide(slideIndexsplit)}}if(_target.hasAttribute("data-animate-item")){let animateSlideIndex=_target.dataset.index;_target.closest("animate-slideshow").customSelectSlide(animateSlideIndex)}},50),_target.classList.contains("images-with-text-carousel--item")}),document.addEventListener("shopify:block:deselect",event=>{let _target=event.target});function parallaxAnimation(){setTimeout(()=>{if(window.innerWidth<789)return;document.querySelectorAll("[data-parallax-speed]").forEach(t=>{let speed=parseFloat(t.getAttribute("data-parallax-speed"));isNaN(speed)||(window.innerWidth<1344&&t.classList.contains("verticale-label")&&(speed=speed===.9?.2:speed===-.9?-.4:speed),window.innerWidth>=1344&&t.classList.contains("verticale-label")&&(speed*=1.9),gsap.to(t,{y:()=>-(window.innerHeight*speed)*.15,ease:"none",scrollTrigger:{trigger:t,start:"top bottom",end:"bottom top",scrub:1}}))})},500)}window.addEventListener("resize",parallaxAnimation);function shippingconversion(){const cartElement=document.querySelector("[data-cart-shippingbar]");if(cartElement){const cartTotal=cartElement.getAttribute("data-cart-total"),shippingRate=cartElement.getAttribute("data-cart-rate"),shippingPrice=cartElement.getAttribute("data-cart-shipping"),conversionRate=Shopify.currency.rate||1,shippingRateInCurrentCurrency=Math.round(shippingRate*conversionRate),cartTotalInCurrentCurrency=Math.round(cartTotal*conversionRate),shippingPriceInCurrentCurrency=Math.round(shippingPrice*conversionRate);let adjustedShippingPercentage=cartTotalInCurrentCurrency*100/shippingRateInCurrentCurrency;adjustedShippingPercentage=adjustedShippingPercentage>100?100:Math.abs(adjustedShippingPercentage).toFixed(2),document.querySelector("[data-cart-wrapper]").style.setProperty("--progress_width",`${adjustedShippingPercentage}%`);const shippingBarElement=document.querySelector("[data-cart-shippingbar]");shippingBarElement&&shippingBarElement.setAttribute("data-barwidth",`${adjustedShippingPercentage}%`)}}class StickyFilterButton extends HTMLElement{constructor(){super(),this.section=this.closest(".shopify-section"),this.handleScroll(),setTimeout(()=>{this.toggleButton=this.querySelector(".filter-toggle-button"),this.filterSection=document.querySelector("[data-sticky-filter]"),this.toggleButton.addEventListener("click",this.toggleFilter.bind(this))},500)}connectedCallback(){window.addEventListener("scroll",this.handleScroll.bind(this))}handleScroll(){const windowHeight=window.innerHeight,sectionRect=this.section.getBoundingClientRect(),sectionRect1=this.section.querySelector("[data-collections-grid]").getBoundingClientRect(),bottom=sectionRect1.bottom-300;
22if(sectionRect1.top<=0&&bottom>0)this.classList.contains("fade-in-sticky")||this.classList.add("fade-in-sticky");else if(this.classList.contains("fade-in-sticky")){this.classList.remove("fade-in-sticky"),this.querySelector("[data-sticky-filter]").classList.contains("open")&&this.querySelector("[data-sticky-filter]").classList.remove("open");const buttons=document.querySelector("[data-sticky-toggle-button]"),openBtn=buttons.querySelector(".open-icon"),closeBtn=buttons.querySelector(".close-icon");openBtn.classList.contains("hidden")&&openBtn.classList.remove("hidden"),closeBtn.classList.contains("hidden")||closeBtn.classList.add("hidden")}}toggleFilter(){var openButton=this.toggleButton.querySelector(".open-icon"),closeButton=this.toggleButton.querySelector(".close-icon");this.filterSection.classList.toggle("open"),this.filterSection.classList.contains("open")?(openButton.classList.add("hidden"),closeButton.classList.remove("hidden")):(openButton.classList.remove("hidden"),closeButton.classList.add("hidden"))}disconnectedCallback(){this.toggleButton.removeEventListener("click",this.toggleFilter)}}customElements.define("sticky-filter-button",StickyFilterButton);class CollectionProduct extends HTMLElement{constructor(){super(),this.productGrid=this.querySelectorAll("[data-product-grid]"),this.productGrid.forEach(item=>{const caption=item.querySelector("[data-discover-caption]");caption&&caption.addEventListener("click",()=>this.toggleClass(item))})}toggleClass(item){const parentElement=item.closest("[data-product-grid]");if(parentElement.classList.contains("active-grid")){parentElement.classList.remove("active-grid");return}this.productGrid.forEach(item2=>{item2.classList.contains("active-grid")&&item2.classList.remove("active-grid")}),parentElement&&parentElement.classList.add("active-grid")}}if(customElements.define("collection-product-grid",CollectionProduct),!customElements.get("slideshow-text-with-icon")){class SlideshowTextWithiIcon extends HTMLDivElement{constructor(){super(),this.resizeObserver=null,this.resizeTimeout=null}connectedCallback(){this.updateHeight(),this.resizeObserver=new ResizeObserver(()=>{clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.updateHeight()},150)}),this.resizeObserver.observe(this)}disconnectedCallback(){this.resizeObserver?.disconnect(),clearTimeout(this.resizeTimeout)}updateHeight(){const section=this.closest(".shopify-section");section&§ion.style.setProperty("--slideshow-text-with-icon-height",`${this.offsetHeight}px`)}}customElements.define("slideshow-text-with-icon",SlideshowTextWithiIcon,{extends:"div"})}class bundleProducts extends HTMLElement{constructor(){super(),this.bundleSection=this.closest("bundle-products"),this.selectEl=this.querySelector("[data-bundle-variant-select]"),this.selectEl&&(this.handleChange=this.handleChange.bind(this),this.selectEl.addEventListener("change",this.handleChange)),this.initClick()}handleChange(event){const activeVariant=this.getActiveVariant();if(!activeVariant)return;const variantValue=activeVariant.value,variantPrice=activeVariant.dataset.variantPriceWithMoney,variantImage=activeVariant.dataset.variantImage||null,priceCard=this.querySelector("[bundle-product-price]");if(priceCard){const getPriceSize=priceCard.dataset.priceSize;priceCard.innerHTML=`<div class="product--pricing ${getPriceSize}"><span class="product--actual-price heading-font">${variantPrice}</span></div>`}}initClick(){const addBundleButton=this.querySelector("[button-add-to-bundle]"),ldJsonScript=this.querySelector('script[type="application/ld+json"]');let productData={};ldJsonScript&&(productData=JSON.parse(ldJsonScript.textContent)),addBundleButton&&addBundleButton.addEventListener("click",()=>{const duplicateProductAdd=this.bundleSection.getAttribute("data-bundle-duplicate-product");duplicateProductAdd==="true"&&addBundleButton.setAttribute("disabled",!0);const activeVariant=this.getActiveVariant();let variantSelected="";activeVariant.dataset.variantName!="Default Title"&&(variantSelected=`<span class="cart-variant-name">${activeVariant.dataset.variantName}</span>`),this.removeButtonHtml=this.bundleSection.querySelector("[remove-bundle-cart]").innerHTML;const contentInner=`<div class="horizontal-product-card" have-product-data data-product-id="${this.dataset.productId}" data-product-price="${activeVariant.dataset.variantPrice}">${this.removeButtonHtml}<input type="hidden" name="id[]" value="${activeVariant.dataset.variantId}"><div class="horizontal-product-card-media"><img src="${activeVariant.dataset.variantImage}"></div></div>`;this.bundleCartItems=this.bundleSection.querySelectorAll("[bundle-cart-item]"),this.updateToBundleCart(contentInner,this.bundleCartItems);const data_max_limit=parseInt(this.bundleSection.getAttribute("data-bundle-max-limit")),added_item_length=this.bundleSection.querySelectorAll("[have-product-data]");data_max_limit==added_item_length.length&&(this.allButtonSec=this.bundleSection.querySelectorAll("[button-add-to-bundle]"),this.allButtonSec.forEac
22h(itm=>{duplicateProductAdd==="true"?itm.hasAttribute("disabled")||(itm.setAttribute("disabled",!0),itm.setAttribute("prevent-duplicate","")):itm.setAttribute("disabled",!0)}))})}getActiveVariant(){if(!this.selectEl)return null;const selectedOption=this.selectEl.selectedOptions[0];return selectedOption&&!selectedOption.disabled?selectedOption:Array.from(this.selectEl.options).find(option=>!option.disabled)||null}updateToBundleCart(productHtml,allItems,targetEle=null,index=null){let target=null;if(index!==null&&targetEle!==null){const target2=targetEle.querySelector(`[bundle-cart-item][bundle-cart-index="${index}"]`);target2&&(target2.innerHTML=productHtml)}else for(let itemBundle of allItems)if(itemBundle.querySelector("[bundle-cart-inner-content]")){itemBundle.classList.remove("hidden"),itemBundle.classList.remove("skelton"),itemBundle.innerHTML=productHtml,target=itemBundle;break}this.cartItemButtonAmountManage(),target&&this.attachCloseEvents(allItems)}cartItemButtonAmountManage(){if(this.bundleSection=this.closest("bundle-products"),this.minLimit=parseInt(this.bundleSection.dataset.bundleMinLimit),this.maxLimit=parseInt(this.bundleSection.dataset.bundleMaxLimit),this.itemInBundleCart=this.bundleSection.querySelectorAll("[have-product-data]"),this.itemInBundleCart.length==0)this.updateAmountOnBundleCart(0),this.bundleSection.querySelector("[remove-all-bundle-product]").setAttribute("disabled",!0),this.bundleSection.querySelector("[add-all-bundle-product]").setAttribute("disabled",!0);else if(this.itemInBundleCart.length>0){const priceTotal=this.cartTotalUpdate(this.itemInBundleCart);this.updateAmountOnBundleCart(priceTotal),this.bundleSection.querySelector("[remove-all-bundle-product]").removeAttribute("disabled"),this.itemInBundleCart.length>=this.minLimit?this.bundleSection.querySelector("[add-all-bundle-product]").removeAttribute("disabled"):this.bundleSection.querySelector("[add-all-bundle-product]").setAttribute("disabled",!0)}}updateAmountOnBundleCart(amount){console.log(amount);const bundleTotal=this.bundleSection.querySelector("[total-item-bundle-amount]"),bundleTotalBtn=this.bundleSection.querySelector("[total-item-bundle-amount-btn]"),formatedAmount=window.Currency.formatMoney(amount,window.settings.moneyFormat);console.log(formatedAmount),bundleTotal&&(bundleTotal.innerText=formatedAmount),bundleTotalBtn&&(bundleTotalBtn.innerText=`${formatedAmount}:`)}cartTotalUpdate(itemAll){let total=0;return itemAll.forEach(item=>{const price=parseFloat(item.dataset.productPrice);total+=price}),total}attachCloseEvents(allItems){allItems.forEach(item=>{let productIdClicked=null;const getProductId=item.querySelector("[have-product-data]");getProductId&&(productIdClicked=getProductId.dataset.productId);const buttonClose=item.querySelector("button");buttonClose&&(buttonClose.onclick=()=>{this.removeBundleCartItem(item,allItems),this.buttonDuplicateEnable(productIdClicked),this.removeDisableAttribute()})})}removeBundleCartItem(item,allItems){const itemsArray=Array.from(allItems),index=itemsArray.indexOf(item);for(let i=index;i<itemsArray.length-1;i++)itemsArray[i].innerHTML=itemsArray[i+1].innerHTML,console.log(itemsArray[i]),itemsArray[i].querySelector(".skelton")&&itemsArray[i].hasAttribute("data-bundle-hidden-skelton")&&itemsArray[i].classList.add("hidden");const lastItem=itemsArray[itemsArray.length-1];lastItem.innerHTML=this.resetSkeleton(),lastItem.hasAttribute("data-bundle-hidden-skelton")&&lastItem.classList.add("hidden"),this.cartItemButtonAmountManage(),this.attachCloseEvents(allItems)}buttonDuplicateEnable(productId){const duplicateProductAdd=this.bundleSection.getAttribute("data-bundle-duplicate-product");console.log(duplicateProductAdd),duplicateProductAdd==="true"&&productId!=null&&(console.log("check 1"),this.bundleSection.querySelectorAll("[button-add-to-bundle]").forEach(bundleItm=>{console.log(bundleItm.dataset.productId+"--"+productId),bundleItm.dataset.productId==productId&&bundleItm.hasAttribute("disabled")&&bundleItm.removeAttribute("disabled")}))}resetSkeleton(){return`<div class="horizontal-product-card skelton" bundle-cart-inner-content="">${this.bundleSection.querySelector("[bundle-skelton-icon]").innerHTML}</div>`}removeDisableAttribute(){const duplicateProductAdd=this.bundleSection.getAttribute("data-bundle-duplicate-product"),getAllButtonData=this.bundleSection.querySelectorAll("[button-add-to-bundle]");duplicateProductAdd==="true"?getAllButtonData.forEach(item=>{item.hasAttribute("prevent-duplicate")&&(item.removeAttribute("disabled"),item.removeAttribute("prevent-duplicate"))}):getAllButtonData.forEach(item=>{item.hasAttribute("disabled")&&item.removeAttribute("disabled")})}}customElements.define("bundle-card",bundleProducts);class BundleProductSection extends HTMLElement{constructor(){super(),this.updateAmountOnBundleCart(0),this.querySelector("[remove-all-bundle-product]")?.addEventListener("click",()=>{this.clearAllBundleProduct()})}clearAllBundleProduct(){this.querySelector("[remove-all-bundle-product]").setAttribute("disabled",!0),this.querySelector("[add-all-bundle-product]").setAttribute("disabled",!0),this.querySelectorAll("[button-add-to-bundle]").forEach(btn=>btn.removeAttribute("disabled")),this.bundleItem=this.querySelectorAll("[bundle-cart-item]"),this.bundleItem.forEach(itemBundle=>{itemBundle.innerHTML=this.resetSkeleton(),itemBundle.hasAttribute("data-bundle-hidden-skelton")&&itemBundle.classList.add("hidden")}),this.updateAmountOnBundleCart(0)}resetSkeleton(){return`<div class="horizontal-product-card skelton" bundle-cart-inner-content="">${this.querySelector("[bundle-skelton-icon]").innerHTML}</div>`}updateAmountOnBundleCart(amount){const bundleTotal=this.querySelector("[total-item-bundle-amount]"),bundleTotalBtn=this.querySelector("[total-item-bundle-amount-btn]"),formatedAmount=window.Currency.formatMoney(amount,window.settings.moneyFormat);bundleTotal&&(bundleTotal.innerText=formatedAmount),bundleTotalBtn&&(bundleTotalBtn.innerText=`${formatedAmount}:`)}}customElements.define("bundle-products",BundleProductSection); 23//# sourceMappingURL=/cdn/shop/t/91/assets/theme.js.map?v=79454150794711735511790272119
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.