1const sliderInit=(isUpdate,root=document)=>{const mediaLists=root.querySelectorAll(".js-media-list");mediaLists.length&&mediaLists.forEach((elem,index)=>{if(elem.swiper)return;let prevButton=elem.closest(".product")?.querySelector(".product__slider-nav .swiper-button-prev"),nextButton=elem.closest(".product")?.querySelector(".product__slider-nav .swiper-button-next");const sublistInRoot=root.querySelectorAll(".js-media-sublist")[index];let slider=new Swiper(elem,{slidesPerView:1,spaceBetween:1,mousewheel:{forceToAxis:!0},autoHeight:!1,speed:500,navigation:{nextEl:nextButton,prevEl:prevButton},pagination:{el:elem.closest(".product")?.querySelector(".product__pagination")||".product .product__pagination",type:"bullets",clickable:!0},thumbs:{swiper:sublistInRoot?.swiper||""},on:{afterInit:function(){},slideChangeTransitionStart:function(){sublistInRoot?.swiper&&sublistInRoot.swiper.slideTo(this.activeIndex??0)},slideChange:function(){window.pauseAllMedia(),this.params.noSwiping=!1;const popup=document.querySelector(".js-popup-slider");popup?.swiper&&popup.swiper.slideTo(this.activeIndex)},slideChangeTransitionEnd:function(){const slide=this.slides?.[this.activeIndex];slide?.querySelector("model-viewer")&&slide.querySelector(".shopify-model-viewer-ui__button--poster")?.removeAttribute("hidden")},touchStart:function(){const slide=this.slides?.[this.activeIndex];slide?.querySelector("model-viewer")&&(slide.querySelector("model-viewer").classList.contains("shopify-model-viewer-ui__disabled")?this.params.noSwiping=!1:(this.params.noSwiping=!0,this.params.noSwipingClass="swiper-slide"))}}});isUpdate&&setTimeout(function(){slider.update()},800)})},subSliderInit=(isUpdate,margin,root=document)=>{const sublists=root.querySelectorAll(".js-media-sublist");sublists.length>0&&sublists.forEach(elem=>{if(elem.swiper)return;const slidesAmount=elem.querySelectorAll(".product__media-subitem").length,slidesPerView=slidesAmount<3?slidesAmount:3;let subSlider=new Swiper(elem,{slidesPerView,spaceBetween:8,direction:"horizontal",mousewheel:{forceToAxis:!0},freeMode:!1,watchSlidesProgress:!0,watchSlidesVisibility:!0,on:{touchEnd:function(s,e){let range=5,diff=s.touches.diff=s.isHorizontal()?s.touches.currentX-s.touches.startX:s.touches.currentY-s.touches.startY;(diff<range||diff>-range)&&(s.allowClick=!0)}},breakpoints:{1100:{spaceBetween:margin,slidesPerView}}});isUpdate&&setTimeout(function(){subSlider.update()},800)})},popupSliderInit=isUpdate=>{if(document.querySelector(".js-popup-slider")){let popupSlider=new Swiper(document.querySelector(".js-popup-slider"),{slidesPerView:1,mousewheel:{forceToAxis:!0},zoom:{maxRatio:2},navigation:{nextEl:".product-media-modal .product__slider-nav .swiper-button-next",prevEl:".product-media-modal .product__slider-nav .swiper-button-prev"},pagination:{el:".product-media-modal .product__pagination",type:"bullets",clickable:!0},on:{afterInit:function(){(document.querySelector(".product__outer--grid-gallery")||document.querySelector(".product__outer--stacked-gallery"))&&document.querySelectorAll(".product__media-list .product__media-toggle").forEach((elem,index)=>{elem.addEventListener("click",e=>{document.querySelector(".js-popup-slider")&&document.querySelector(".js-popup-slider").swiper&&document.querySelector(".js-popup-slider").swiper.slideTo(index)})})},slideChange:function(){window.pauseAllMedia(),this.params.noSwiping=!1,document.querySelector(".product-media-modal__content")?.classList.remove("zoom")},touchMove:function(){document.querySelector(".product-media-modal__content")?.classList.remove("zoom")},slideChangeTransitionEnd:function(){const slide=this.slides?.[this.activeIndex];slide?.querySelector("model-viewer")&&slide.querySelector(".shopify-model-viewer-ui__button--poster")?.removeAttribute("hidden")},touchStart:function(){const slide=this.slides?.[this.activeIndex];slide?.querySelector("model-viewer")&&(slide.querySelector("model-viewer").classList.contains("shopify-model-viewer-ui__disabled")?this.params.noSwiping=!1:(this.params.noSwiping=!0,this.params.noSwipingClass="swiper-slide"))}}});
1isUpdate&&setTimeout(function(){popupSlider.update()},800)}};navigator.userAgent.indexOf("iPhone")>-1&&document.querySelector("[name=viewport]").setAttribute("content","width=device-width, initial-scale=1, maximum-scale=1");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"))}document.querySelectorAll('[id^="Details-"] summary').forEach(summary=>{summary.setAttribute("role","button"),summary.setAttribute("aria-expanded","false"),summary.nextElementSibling.getAttribute("id")&&summary.setAttribute("aria-controls",summary.nextElementSibling.id),summary.addEventListener("click",event2=>{event2.currentTarget.setAttribute("aria-expanded",!event2.currentTarget.closest("details").hasAttribute("open"))}),!summary.closest("header-drawer")&&summary.parentElement.addEventListener("keyup",onKeyUpEscape)});function onKeyUpEscape(event2){if(event2.code.toUpperCase()!=="ESCAPE")return;const openDetailsElement=event2.target.closest("details[open]");if(!openDetailsElement)return;const summaryElement=openDetailsElement.querySelector("summary");openDetailsElement.removeAttribute("open"),summaryElement.setAttribute("aria-expanded",!1),summaryElement.focus()}const trapFocusHandlers={};function trapFocus(container,elementToFocus=container){var elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];removeTrapFocus(),trapFocusHandlers.focusin=event2=>{event2.target!==container&&event2.target!==last&&event2.target!==first||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(event2){event2.code.toUpperCase()==="TAB"&&(event2.target===last&&!event2.shiftKey&&(event2.preventDefault(),first.focus()),(event2.target===container||event2.target===first)&&event2.shiftKey&&(event2.preventDefault(),last.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),elementToFocus.focus()}function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")}),document.querySelectorAll("video").forEach(video=>{!video.closest(".hero__image")&&!video.closest(".multirow__video")&&video.pause()}),document.querySelectorAll("product-model").forEach(model=>{model.modelViewerUI&&model.modelViewerUI.pause()})}function removeTrapFocus(elementToFocus=null){document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown),elementToFocus&&!elementToFocus.classList.contains("card-focused")&&elementToFocus.focus()}class QuantityInput extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=ne
1w Event("change",{bubbles:!0}),this.querySelectorAll("button").forEach(button=>{this.setMinimumDisable(),button.addEventListener("click",this.onButtonClick.bind(this))});var eventList=["paste","input"];for(event of eventList)this.input.addEventListener(event,function(e){/^0*?[1-9]\d*$/.test(e.currentTarget.value)||e.currentTarget.value===""?e.currentTarget.value:e.currentTarget.value=1,e.currentTarget.value===1||e.currentTarget.value===""?this.previousElementSibling.classList.add("disabled"):this.previousElementSibling.classList.remove("disabled")});this.input.addEventListener("focusout",function(e){e.currentTarget.value===""&&(e.currentTarget.value=1)})}setMinimumDisable(){this.input.value==1?this.querySelector('button[name="minus"]').classList.add("disabled"):this.querySelector('button[name="minus"]').classList.remove("disabled")}onButtonClick(event2){event2.preventDefault();const previousValue=this.input.value;event2.target.name==="plus"?this.input.stepUp():this.input.stepDown(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent),this.setMinimumDisable()}}customElements.define("quantity-input",QuantityInput);function debounce(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}}const serializeForm=form=>{const obj={},formData=new FormData(form);for(const key of formData.keys())obj[key]=formData.get(key);return JSON.stringify(obj)};function fetchConfig(type="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:`application/${type}`}}}typeof window.Shopify>"u"&&(window.Shopify={}),Shopify.bind=function(fn,scope){return function(){return fn.apply(scope,arguments)}},Shopify.setSelectorByValue=function(selector,value){for(var i=0,count=selector.options.length;i<count;i++){var option=selector.options[i];if(value==option.value||value==option.innerHTML)return selector.selectedIndex=i,i}},Shopify.addListener=function(target,eventName,callback){target.addEventListener?target.addEventListener(eventName,callback,!1):target.attachEvent("on"+eventName,callback)},Shopify.postLink=function(path,options){options=options||{};var method=options.method||"post",params=options.parameters||{},form=document.createElement("form");form.setAttribute("method",method),form.setAttribute("action",path);for(var key in params){var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden"),hiddenField.setAttribute("name",key),hiddenField.setAttribute("value",params[key]),form.appendChild(hiddenField)}document.body.appendChild(form),form.submit(),document.body.removeChild(form)},Shopify.CountryProvinceSelector=function(country_domid,province_domid,options){this.countryEl=document.getElementById(country_domid),this.provinceEl=document.getElementById(province_domid),this.provinceContainer=document.getElementById(options.hideElement||province_domid),Shopify.addListener(this.countryEl,"change",Shopify.bind(this.countryHandler,this)),this.initCountry(),this.initProvince()},Shopify.CountryProvinceSelector.prototype={initCountry:function(){var value=this.countryEl.getAttribute("data-default");Shopify.setSelectorByValue(this.countryEl,value),this.countryHandler()},initProvince:function(){var value=this.provinceEl.getAttribute("data-default");value&&this.provinceEl.options.length>0&&Shopify.setSelectorByValue(this.provinceEl,value)},countryHandler:function(e){var opt=this.countryEl.options[this.countryEl.selectedIndex],raw=opt.getAttribute("data-provinces"),provinces=JSON.parse(raw);if(this.clearOptions(this.provinceEl),provinces&&provinces.length==0)this.provinceContainer.style.display="none";else{for(var i=0;i<provinces.length;i++){var opt=document.createElement("option");opt.value=provinces[i][0],opt.innerHTML=provinces[i][1],this.provinceEl.appendChild(opt)}this.provinceContainer.style.display=""}},clearOptions:function(selector){for(;selector.firstChild;)selector.removeChild(selector.firstChild)},setOptions:function(selector,values){for(var i=0,count=values.length;i<values.length;i++){var opt=document.createElement("option");opt.value=values[i],opt.innerHTML=values[i],selector.appendChild(opt)}}};const body=document.body;let bodyScrollTop=null,locked=!1;function getScrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}function preventScroll(e){e.preventDefault()}function lockScroll(){bodyScrollTop=typeof window.pageYOffset<"u"?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;var scrollBarWidth=getScrollbarWidth();body.style.paddingRight=scrollBarWidth+"px",body.classList.add("scroll-locked"),locked=!0,document.addEventListener("scroll",preventScroll,{passive:!1})}function unlockScroll(){body.classList.remove("scroll-locked"),body.style.paddingRight="",window.scrollTo(0,bodyScrollTop),document.removeEventListener("scroll",preventScroll)}class MenuDrawer extends HTMLElement{constructor(){super(),this.mainDetailsToggle=this.querySelector("details");const summaryElements=this.querySelectorAll("summary");this.addAccessibilityAttributes(summaryElements),navigator.platform==="iPhone"&&document.documentElement.style.setProperty("--viewport-height",`${window.innerHeight}px`),this.addEventListener("keyup",this.onKeyUp.bind(this)),this.addEventListener("focusout",this.onFocusOut.bind(this)),this.bindEvents()}bindEvents(){this.querySelectorAll("summary").forEach(summary=>summary.addEventListener("click",this.onSummaryClick.bind(this))),this.querySelectorAll("button").forEach(button=>{this.querySelector(".toggle-scheme-button")!==button&&this.querySelector(".header__localization-button")!==button&&this.querySelector(".header__localization-lang-button")!==button&&(button.classList.contains("mobile-facets__footer__button")||button.addEventListener("click",this.onCloseButtonClick.bind(this)))})}addAccessibilityAttributes(summaryElements){summaryElements.forEac
1h(element=>{element.setAttribute("role","button"),element.setAttribute("aria-expanded",!1),element.setAttribute("aria-controls",element.nextElementSibling.id)})}onKeyUp(event2){if(event2.code.toUpperCase()!=="ESCAPE")return;const openDetailsElement=event2.target.closest("details[open]");openDetailsElement&&(openDetailsElement===this.mainDetailsToggle?this.closeMenuDrawer(this.mainDetailsToggle.querySelector("summary")):this.closeSubmenu(openDetailsElement))}onSummaryClick(event2){const summaryElement=event2.currentTarget,detailsElement=summaryElement.parentNode,isOpen=detailsElement.hasAttribute("open");detailsElement===this.mainDetailsToggle?(isOpen&&event2.preventDefault(),isOpen?this.closeMenuDrawer(summaryElement):this.openMenuDrawer(summaryElement)):(trapFocus(summaryElement.nextElementSibling,detailsElement.querySelector("button")),setTimeout(()=>{detailsElement.classList.add("menu-opening")}))}openMenuDrawer(summaryElement){setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),summaryElement.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,summaryElement),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(event2,elementToFocus=!1){event2!==void 0&&(this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.querySelectorAll("details").forEach(details=>{details.removeAttribute("open"),details.classList.remove("menu-opening")}),this.mainDetailsToggle.querySelector("summary").setAttribute("aria-expanded",!1),document.body.classList.remove(`overflow-hidden-${this.dataset.breakpoint}`),removeTrapFocus(elementToFocus),this.closeAnimation(this.mainDetailsToggle),this.header=this.header||document.querySelector(".shopify-section-header"))}onFocusOut(event2){setTimeout(()=>{this.mainDetailsToggle.hasAttribute("open")&&!this.mainDetailsToggle.contains(document.activeElement)&&this.closeMenuDrawer()})}onCloseButtonClick(event2){const detailsElement=event2.currentTarget.closest("details");this.closeSubmenu(detailsElement)}closeSubmenu(detailsElement){detailsElement.classList.remove("menu-opening"),removeTrapFocus(),this.closeAnimation(detailsElement)}closeAnimation(detailsElement){let animationStart;const handleAnimation=time=>{animationStart===void 0&&(animationStart=time),time-animationStart<400?window.requestAnimationFrame(handleAnimation):(detailsElement.removeAttribute("open"),detailsElement.closest("details[open]")&&trapFocus(detail
1sElement.closest("details[open]"),detailsElement.querySelector("summary")))};window.requestAnimationFrame(handleAnimation)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super()}openMenuDrawer(summaryElement){this.headerWrapper=document.querySelector(".header-wrapper"),document.documentElement.style.setProperty("--header-bottom-position",`${parseInt(this.headerWrapper.getBoundingClientRect().top)}px`),document.querySelector("main").querySelectorAll(".shopify-section")[0]?.classList.contains("section--has-overlay"),setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),summaryElement.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,summaryElement),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}}customElements.define("header-drawer",HeaderDrawer);class LocalizationForm extends HTMLElement{constructor(){super(),this.elements={input:this.querySelector('input[name="locale_code"], input[name="country_code"]'),button:this.querySelector("button"),panel:this.querySelector("ul")},this.handleDocumentClick=this.handleDocumentClick.bind(this),this.elements.button.addEventListener("click",this.togglePanel.bind(this)),this.addEventListener("keydown",this.onEscapePress.bind(this)),this.querySelectorAll("a").forEach(item=>item.addEventListener("click",this.onItemClick.bind(this)))}connectedCallback(){document.addEventListener("click",this.handleDocumentClick)}disconnectedCallback(){document.removeEventListener("click",this.handleDocumentClick)}handleDocumentClick(event2){this.contains(event2.target)||this.hidePanel()}hidePanel(){this.elements.button.setAttribute("aria-expanded","false"),this.elements.panel.setAttribute("hidden",!0)}showPanel(){this.elements.button.setAttribute("aria-expanded","true"),this.elements.panel.removeAttribute("hidden")}togglePanel(){this.elements.button.getAttribute("aria-expanded")==="true"?this.hidePanel():this.showPanel()}onEscapePress(event2){event2.key==="Escape"&&this.hidePanel()}onItemClick(event2){event2.preventDefault(),this.elements.input.value=event2.currentTarget.dataset.value,this.querySelector("form")?.submit(),this.hidePanel()}}customElements.define("localization-form",LocalizationForm);class ModalDialog extends HTMLElement{constructor(){super(),this.querySelector('[id^="ModalClose-"]').addEventListener("click",this.hide.bind(this,!1)),this.addEventListener("keyup",event2=>{event2.code.toUpperCase()==="ESCAPE"&&this.hide()}),this.classList.contains("media-modal")?this.addEventListener("pointerup",event2=>{event2.pointerType==="mouse"&&!event2.target.closest("deferred-media, product-model")&&this.hide()}):this.addEventListener("click",event2=>{event2.target===this&&this.hide()})}connectedCallback(){this.moved||(this.moved=!0,document.body.appendChild(this))}show(opener){this.openedBy=opener;const popup=this.querySelector(".template-popup");document.body.classList.add("overflow-hidden"),this.setAttribute("open",""),popup&&popup.loadContent(),trapFocus(this,this.querySelector('[role="dialog"]')),window.pauseAllMedia(),/iPhone|iPad|iPod/i.test(navigator.userAgent)&&this.classList.contains("product-media-modal")&&lockScroll()}hide(){let isOpen=!1;this.removeAttribute("open"),removeTrapFocus(this.openedBy),window.pauseAllMedia(),document.querySelectorAll("body > quick-add-modal").forEach(el=>{el.hasAttribute("open")&&(isOpen=!0)}),isOpen||(document.body.classList.remove("overflow-hidden"),document.body.dispatchEvent(new CustomEvent("modalClosed")));const images=document.querySelector(".product-media-modal__content");images&&images.classList.remove("zoom"),/iPhone|iPad|iPod/i.test(navigator.userAgent)&&this.classList.contains("product-media-modal")&&unlockScroll()}}customElements.define("modal-dialog",ModalDialog);class ModalOpener extends HTMLElement{constructor(){super();const button=this.querySelector("button");button&&button.addEventListener("click",()=>{const modal=document.querySelector(this.getAttribute("data-modal"));modal&&modal.show(button)})}}customElements.define("modal-opener",ModalOpener);class DeferredMedia extends HTMLElement{constructor(){super(),this.querySelector('[id^="Deferred-Poster-"]')?.addEventListener("click",this.loadContent.bind(this)),this.getAttribute("data-autoplay")&&this.loadContent()}loadContent(){if(!this.getAttribute("loaded")){const content=document.createElement("div");content.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0),window.pauseAllMedia();const videoObserver=new IntersectionObserver(entries=>
1{entries.forEach(entry=>{if(entry.isIntersecting){if(this.getAttribute("data-autoplay"))if(deferredElement.nodeName=="VIDEO"){let playPromise=entry.target.play();playPromise!==void 0&&playPromise.then(_=>{}).catch(error=>{})}else entry.target.classList.contains("js-youtube")?entry.target.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):entry.target.contentWindow.postMessage('{"method":"play"}',"*")}else deferredElement.nodeName=="VIDEO"?entry.target.pause():entry.target.classList.contains("js-youtube")?entry.target.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"):entry.target.contentWindow.postMessage('{"method":"pause"}',"*")})}),deferredElement=this.appendChild(content.querySelector("video, model-viewer, iframe"));if(deferredElement.nodeName=="VIDEO"||deferredElement.nodeName=="IFRAME")if(this.classList.contains("video-section__media")){if(deferredElement.nodeName=="VIDEO"){let playPromise=deferredElement.play();playPromise!==void 0&&playPromise.then(_=>{}).catch(error=>{})}videoObserver.observe(deferredElement)}else deferredElement.play();const swiperEl=this.closest(".swiper"),activeSlide=swiperEl?.swiper?.slides?.[swiperEl?.swiper?.activeIndex];activeSlide?.querySelector("model-viewer")&&(activeSlide.querySelector("model-viewer").classList.contains("shopify-model-viewer-ui__disabled")||(swiperEl.swiper.params.noSwiping=!0,swiperEl.swiper.params.noSwipingClass="swiper-slide"))}}}customElements.define("deferred-media",DeferredMedia);class VariantSelects extends HTMLElement{constructor(){super(),this.addEventListener("change",this.onVariantChange),this.isHighVariantNeedUpdate=!1,this.isCombinedListingsNeedUpdate=!1}onVariantChange(event2){if(!this.contains(event2.target))return;const combinedProductURL=this.resolveCombinedProductUrl(event2.target);if(this.updateOptions(),this.updateMasterId(),this.toggleAddButton(!0,""),this.isHighVariantNeedUpdate=!1,this.isCombinedListingsNeedUpdate=!1,!this.currentVariant&&this.dataset.isHighVariantProduct==="true"||combinedProductURL){const selectedValuesIds=this.getSelectedValuesIds();this.highVariantRequestUrl=this.createRequestUrl({selectedValuesIds,combinedProductURL}),this.highVariantRequestUrl&&(this.isHighVariantNeedUpdate=!0,combinedProductURL&&(this.isCombinedListingsNeedUpdate=!0))}if(this.isHighVariantNeedUpdate||(this.updatePickupAvailability(),this.updateVariantStatuses()),!this.currentVariant||this.isCombinedListingsNeedUpdate){if(this.isHighVariantNeedUpdate){this.classList.add("high-variant-loading"),this.renderProductInfo(this.highVariantRequestUrl);return}this.currentVariant||(this.toggleAddButton(!0,""),this.setUnavailable())}else{this.currentVariant?.featured_media&&this.dataset?.variantMediaDisplay==="show_all"&&this.updateMedia(`${this.dataset.section}-${this.currentVariant.featured_media.id}`),this.updateURL(),this.updateVariantInput();const requestUrl=this.createRequestUrl({currentVariantId:this.currentVariant.id,selectedValuesIds:this.getSelectedValuesIds()});this.renderProductInfo(requestUrl)}this.currentVariant&&(document.dispatchEvent(new CustomEvent("variant:change",{detail:{variant:this.currentVariant,previousVariant:this.previousVariant||null,formElement:document.querySelector(`#${this.getAttribute("id")}`),sectionId:this.dataset.section}})),this.previousVariant=this.currentVariant)}resolveCombinedProductUrl(eventTarget){const extractHandle=url=>{if(!url)return null;const m=url.match(/\/products\/([^/?#]+)/);return m?m[1]:null},currentHandle=extractHandle(this.dataset.url||""),isDifferentProduct=url=>{if(!url)return!1;const handle=extractHandle(url);return!handle||!currentHandle?!1:handle!==currentHandle},fromTarget=eventTarget?.dataset?.productUrl;if(isDifferentProduct(fromTarget))return fromTarget;if(eventTarget?.tagName==="SELECT"){const selectedOpt=eventTarget.options[eventTarget.selectedIndex];if(isDifferentProduct(selectedOpt?.dataset?.productUrl))return selectedOpt.dataset.productUrl}const fieldset=eventTarget?.closest?.(".product-form__controls--dropdown");if(fieldset){const checkedRadio=fieldset.querySelector('input[type="radio"]:checked');if(isDifferentProduct(checkedRadio?.dataset?.productUrl))return checkedRadio.dataset.productUrl}return""}updateOptions(){const fieldsets=Array.from(this.querySelectorAll(".product-form__controls--dropdown"));this.options=Array.from(this.querySelectorAll("select"),select=>select.value).concat(fieldsets.map(fieldset=>Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked)?.value))}getSelectedValuesIds(){const controls=[...this.querySelectorAll(".product-form__controls")];return controls.sort((a,b)=>Number(a.dataset.optionPosition)-Number(b.dataset.optionPosition)),controls.map(control
1=>{const select=control.querySelector("select");if(select){const selectedOption=select.options[select.selectedIndex];return selectedOption?.dataset?.optionValueId||selectedOption?.value||null}const checkedInput=control.querySelector('input[type="radio"]:checked');return checkedInput?.dataset?.optionValueId?checkedInput.dataset.optionValueId:null})}createRequestUrl({combinedProductURL="",currentVariantId="",selectedValuesIds=[]}){const productUrl=combinedProductURL||`${this.dataset.url}`,sectionId=this.dataset.originalSection?this.dataset.originalSection:this.dataset.section,validOptionValueIds=selectedValuesIds.filter(Boolean);if(currentVariantId){const params=[`variant=${currentVariantId}`,`section_id=${sectionId}`];return validOptionValueIds.length&¶ms.push(`option_values=${validOptionValueIds.join(",")}`),`${productUrl}?${params.join("&")}`}if(validOptionValueIds.length&&!combinedProductURL){const params=[];return params.push(`section_id=${sectionId}`),params.push(`option_values=${validOptionValueIds.join(",")}`),`${productUrl}?${params.join("&")}`}return`${productUrl}?section_id=${sectionId}`}setCurrentVariantAfterFetch(html){const sourceSectionId=this.dataset.originalSection?this.dataset.originalSection:this.dataset.section,currentSectionId=this.dataset.section,currentBlockId=this.dataset.block,sourceBlockId=currentBlockId?.replace(/^quickadd-/,"")||currentBlockId,sourceId=sourceBlockId?`variant-radios-${sourceSectionId}-${sourceBlockId}`:`variant-picker-${sourceSectionId}`,destinationId=currentBlockId?`variant-radios-${currentSectionId}-${currentBlockId}`:`variant-picker-${currentSectionId}`,variantPickerSource=html.getElementById(sourceId),variantPickerDestination=this.resolveById(destinationId);if(!variantPickerSource)return;const newVariantDataEl=variantPickerSource.querySelector("[data-selected-variant]");if(!newVariantDataEl)return;const newVariantData=newVariantDataEl.innerHTML,selectedVariant=newVariantData?JSON.parse(newVariantData):null;this.currentVariant=selectedVariant;const oldEl=variantPickerDestination?.querySelector("[data-selected-variant]");oldEl&&(oldEl.innerHTML=newVariantData)}updateMasterId(){(this.variantData||this.querySelector("[data-all-variants-no-high]"))&&(this.currentVariant=this.getVariantData().find(variant=>!variant.options.map((option,index)=>this.options[index]===option).includes(!1)))}isHidden(elem){const styles=window.getComputedStyle(elem);return styles.display==="none"||styles.visibility==="hidden"}updateMedia(mediaId){if(!mediaId||!this.currentVariant?.featured_media?.id)return;const productScope=this.closest(".product")||this.closest("quick-add-modal")||document;if(!productScope.querySelector(`[data-section="product-media-${this.dataset.section}"]`))return;productScope.querySelectorAll(".product__media-wrapper").forEach(elem=>{if(!this.isHidden(elem)){const newMedia=elem.querySelector(`[data-media-id="${this.dataset.section}-${this.currentVariant.featured_media.id}"]`),mediaList=elem.querySelector(".js-media-list");if(mediaList?.swiper){const slideIndex=mediaList.swiper.slides.indexOf(newMedia);slideIndex>=0&&mediaList.swiper.slideTo(slideIndex)}else newMedia&&(elem.querySelectorAll(".product__media-item").forEach(item=>item.classList.remove("active")),newMedia.classList.add("active"))}})}updateURL(){if(this.dataset.updateUrl==="false")return;const newUrl=this.currentVariant?`${this.dataset.url}?variant=${this.currentVariant.id}`:this.dataset.url;window.history.replaceState({},"",newUrl)}updateVariantInput(){const sectionId=this.dataset.section;[`product-form-${sectionId}`,`product-form-installment-${sectionId}`].map(id=>this.resolveById(id)).filter(Boolean).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input&&(input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0})))}),publish(PUB_SUB_EVENTS.variantChange,{data:{sectionId:this.dataset.section,variant:this.currentVariant}}),document.dispatchEvent(new CustomEvent("variant:change",{detail:{variant:this.currentVariant,previousVariant:this.previousVariant||null,formElement:this,sectionId:this.dataset.section}})),this.previousVariant=this.currentVariant}getSelectedValueFromWrapper(wrapper){const select=wrapper.querySelector("select");return select?select.value:wrapper.querySelector('input[type="radio"]:checked')?.value}updateVariantStatuses(){if(!this.variantData)return;const inputWrappers=[...this.querySelectorAll(".product-form__controls")],firstValue=this.getSelectedValueFromWrapper(inputWrappers[0]);if(!firstValue)return;const selectedOptionOneVariants=this.variantData.filter(variant=>firstValue===variant.option1);
1inputWrappers.forEach((option,index)=>{if(index===0)return;const optionInputs=[...option.querySelectorAll('input[type="radio"], option')],previousOptionSelected=this.getSelectedValueFromWrapper(inputWrappers[index-1]),availableOptionInputsValue=selectedOptionOneVariants.filter(variant=>variant.available&&variant[`option${index}`]===previousOptionSelected).map(variantOption=>variantOption[`option${index+1}`]);this.setInputAvailability(optionInputs,availableOptionInputsValue)})}setInputAvailability(listOfOptions,listOfAvailableOptions){listOfOptions.forEach(input=>{const inputProductUrl=input.dataset?.productUrl;inputProductUrl&&inputProductUrl!==this.dataset.url||(listOfAvailableOptions.includes(input.getAttribute("value"))?input.tagName==="OPTION"?(input.innerText=input.getAttribute("value"),input.disabled=!1):input.tagName==="INPUT"&&(input.classList.remove("disabled","always-clickable"),input.disabled=!1):input.tagName==="OPTION"?(input.innerText=window.variantStrings.unavailable_with_option.replace("[value]",input.getAttribute("value")),input.disabled=!1):input.tagName==="INPUT"&&(input.classList.add("disabled"),this.dataset.unavailableOptionsClickable==="true"?(input.classList.add("always-clickable"),input.disabled=!1):input.disabled=!0))})}updatePickupAvailability(){const pickUpAvailability=(this.closest("quick-add-modal")||this.closest(".product")||document.getElementById(`shopify-section-${this.dataset.section}`)||document).querySelectorAll("pickup-availability");pickUpAvailability.length&&pickUpAvailability.forEach(el=>{this.currentVariant&&this.currentVariant.available?el.fetchAvailability(this.currentVariant.id):(el.removeAttribute("available"),el.innerHTML="")})}renderProductInfo(requestUrl){this.abortController?.abort(),this.abortController=new AbortController,fetch(requestUrl,{signal:this.abortController.signal}).then(response=>response.text()).then(responseText=>{const html=new DOMParser().parseFromString(responseText,"text/html");try{this.setCurrentVariantAfterFetch(html)}catch{}if(this.isHighVariantNeedUpdate){this.currentVariant&&this.options?.length&&!this.isCombinedListingsNeedUpdate&&(this.options.every((opt,i)=>opt===void 0||this.currentVariant.options[i]===opt)||(this.currentVariant=null));try{if(this.isCombinedListingsNeedUpdate||this.updateURL(),this.updatePickupAvailability(),this.updatePickerInnerHtml(html),this.currentVariant&&(this.updateVariantInput(),this.currentVariant.featured_media&&this.dataset?.variantMediaDisplay==="show_all"&&!this.isCombinedListingsNeedUpdate)){const mediaId=`${this.dataset.section}-${this.currentVariant.featured_media.id}`;this.updateMedia(mediaId)}}catch{}}this.updateElementsAfterFetch(html),this.currentVariant?this.toggleAddButton(!this.currentVariant?.available,window.variantStrings.soldOut):(this.toggleAddButton(!0,""),this.setUnavailable())}).catch(error=>{error.name==="AbortError"?console.info("Fetch aborted by user"):console.error(error)}).finally(()=>{this.classList.remove("high-variant-loading")})}updatePickerInnerHtml(html){const currentSectionId=this.dataset.section,currentBlockId=this.dataset.block,sourceSectionId=this.dataset.originalSection?this.dataset.originalSection:this.dataset.section,sourceBlockId=currentBlockId?.replace(/^quickadd-/,"")||currentBlockId,sourceId=sourceBlockId?`variant-radios-${sourceSectionId}-${sourceBlockId}`:`variant-picker-${sourceSectionId}`,destinationId=currentBlockId?`variant-radios-${currentSectionId}-${currentBlockId}`:`variant-picker-${currentSectionId}`,variantPickerSource=html.getElementById(sourceId),variantPickerDestination=this.resolveById(destinationId);variantPickerSource&&variantPickerDestination&&(variantPickerDestination.innerHTML=variantPickerSource.innerHTML)}updateElementsAfterFetch(html){const currentSectionId=this.dataset.section,sourceSectionId=this.dataset.originalSection?this.dataset.originalSection:this.dataset.section,destination=this.resolveById(`price-${this.dataset.section}`),source=html.getElementById(`price-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),skuSource=html.getElementById(`Sku-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),skuDestination=this.resolveById(`Sku-${this.dataset.section}`),inventorySource=html.getElementById(`Inventory-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),inventoryDestination=this.resolveById(`Inventory-${this.dataset.section}`),colorNameSource=html.getElementById(`ColorName-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),colorNameDestination=this.resolveById(`ColorName-${this.dataset.section}`);source&&destination&&(destination.innerHTML=source.innerHTML),inventorySource&&inventoryDestination&&(inventoryDestination.innerHTML=inventorySource.innerHTML),skuSource&&skuDestination?(skuDestination.innerHTML=skuSource.innerHTML,skuDestination.classList.toggle("visibility-hidden",skuSource.classList.contains("visibility-hidden"))):!skuSource&&skuDestination&&(skuDestination.innerHTML="",skuDestination.classList.add("visibility-hidden")),colorNameSource&&colorNameDestination?colorNameDestination.innerHTML=colorNameSource.innerHTML:!colorNameSource&&colorNameDestination&&(colorNameDestination.innerHTML="");const formSourceEl=html.getElementById(`product-form-${sourceSectionId}`),formDestEl=this.resolveById(`product-form-${this.dataset.section}`);
1if(formDestEl){const qtyRulesSource=formSourceEl?.querySelector(".quantity__rules"),qtyRulesDest=formDestEl.querySelector(".quantity__rules");qtyRulesDest&&(qtyRulesDest.innerHTML=qtyRulesSource?qtyRulesSource.innerHTML:"");const qtyInputSource=formSourceEl?.querySelector(".quantity__input"),qtyInputDest=formDestEl.querySelector(".quantity__input");qtyInputSource&&qtyInputDest&&(["data-min","min","data-max","max","step","data-cart-quantity"].forEach(attr=>{const val=qtyInputSource.getAttribute(attr);val!==null?qtyInputDest.setAttribute(attr,val):qtyInputDest.removeAttribute(attr)}),qtyInputDest.value=qtyInputSource.value);const productFormEl=formDestEl.closest("product-form");productFormEl?productFormEl.handleErrorMessage?.():formDestEl.querySelector(".product-form__error-message-wrapper")?.setAttribute("hidden","")}const price=this.resolveById(`price-${this.dataset.section}`);price&&price.classList.remove("visibility-hidden"),inventoryDestination&&inventoryDestination.classList.toggle("visibility-hidden",inventorySource?.innerText===""),this.toggleAddButton(!this.currentVariant?.available,window.variantStrings.soldOut);const inQuickView=!!this.closest("quick-add-modal");if(inQuickView||this.dataset?.variantMediaDisplay!=="show_all"||this.isCombinedListingsNeedUpdate){const parentQuickView=this.closest("quick-add-modal"),galleryScope=parentQuickView||document,mediaWrapperSource=html.querySelector(`[data-section="main-${sourceSectionId}"] .product__media-wrapper`),mediaWrapperDest=galleryScope.querySelector(`[data-section="main-${currentSectionId}"] .product__media-wrapper`);if(mediaWrapperDest){const sliderRestartRoot=mediaWrapperDest.closest(".product")||parentQuickView;sliderRestartRoot&&(sliderRestartRoot.querySelectorAll(".js-media-list").forEach(el=>el.swiper?.destroy(!0,!0)),sliderRestartRoot.querySelectorAll(".js-media-sublist").forEach(el=>el.swiper?.destroy(!0,!0))),mediaWrapperDest.innerHTML=mediaWrapperSource?mediaWrapperSource.innerHTML:"";const popupSliderEl=document.querySelector(".js-popup-slider");if(popupSliderEl){const popupSwiperWrapper=popupSliderEl.querySelector(".swiper-wrapper"),popupSwiperSource=html.querySelector(".js-popup-slider .swiper-wrapper");popupSwiperWrapper&&(popupSliderEl.swiper?.destroy(!0,!0),popupSwiperWrapper.innerHTML=popupSwiperSource?popupSwiperSource.innerHTML:"")}parentQuickView?mediaWrapperDest.querySelector(".js-media-list")&&(subSliderInit(!0,8,mediaWrapperDest),sliderInit(!0,mediaWrapperDest)):(mediaWrapperDest.querySelector(".js-media-list")&&(subSliderInit(!0,16,mediaWrapperDest),sliderInit(!0,mediaWrapperDest)),mediaWrapperSource&&typeof popupSliderInit=="function"&&popupSliderInit(!0))}}if(this.isCombinedListingsNeedUpdate){const scope=this.getVariantDomScope(),sectionId=this.dataset.section,infoContainerSource=html.getElementById(`ProductInfo-${sourceSectionId}`),infoContainerDest=this.resolveById(`ProductInfo-${sectionId}`);if(infoContainerSource){if(inQuickView){const newPickerSource=infoContainerSource.querySelector("variant-radios")||infoContainerSource.querySelector("variant-selects");newPickerSource&&(this.innerHTML=newPickerSource.innerHTML.replaceAll(sourceSectionId,sectionId));const titleSource=html.getElementById(`ProductTitle-${sourceSectionId}`),titleDest=this.resolveById(`ProductTitle-${sectionId}`);titleSource&&titleDest&&(titleDest.innerHTML=titleSource.innerHTML)}else if(infoContainerDest){const newHtml=infoContainerSource.innerHTML.replaceAll(sourceSectionId,sectionId);infoContainerDest.innerHTML=newHtml;const newPickerEl=infoContainerDest.querySelector("variant-radios")||infoContainerDest.querySelector("variant-selects");newPickerEl&&newPickerEl!==this&&(this.innerHTML=newPickerEl.innerHTML,newPickerEl.replaceWith(this))}}const breadcrumbSource=html.getElementById(`ProductBreadcrumbTitle-${sourceSectionId}`),breadcrumbDest=this.resolveById(`ProductBreadcrumbTitle-${sectionId}`);breadcrumbSource&&breadcrumbDest&&(breadcrumbDest.innerText=breadcrumbSource.innerText);const complementarySource=html.querySelector(".complementary-products"),complementaryDest=scope.querySelector(".complementary-products");if(complementarySource&&complementaryDest){const newUrl=complementarySource.dataset.url;newUrl&&(complementaryDest.dataset.url=newUrl,fetch(newUrl).then(r=>r.text()).then(text=>{const newRecommendations=new DOMParser().parseFromString(text,"text/html").querySelector("product-recommendations");newRecommendations?.innerHTML.trim()?complementaryDest.innerHTML=newRecommendations.innerHTML:complementaryDest.innerHTML=""}).catch(()=>{}))}this.variantData=null;const variantsSource=html.querySelector("variant-radios[data-url]")||html.querySelector("variant-selects[data-url]"),newProductUrl=variantsSource?.dataset?.url;newProductUrl&&(this.dataset.url=newProductUrl),variantsSource?.dataset?.isHighVariantProduct!==void 0&&(this.dataset.isHighVariantProduct=variantsSource.dataset.isHighVariantProduct),this.updateOptions(),this.updateURL()}}toggleAddButton(disable=!0,text){const productForm=this.resolveProductFormEl();if(!productForm)return;const addButton=productForm.querySelector('[name="add"]');if(!addButton)return;const addButtonText=addButton.querySelector(".button__label")||addButton.querySelector("span");disable?(addButton.setAttribute("disabled","disabled"),text&&(addButtonText.textContent=text)):(addButton.removeAttribute("disabled"),addButtonText.textContent=window.variantStrings.addToCart)}setUnavailable(){const addButton=this.resolveProductFormEl()?.querySelector('[name="add"]'),price=this.resolveById(`price-${this.dataset.section}`),inventory=this.resolveById(`Inventory-${this.dataset.section}`),sku=this.resolveById(`Sku-${this.dataset.section}`);addButton&&(this.toggleAddButton(!0,window.variantStrings.unavailable),inventory&&inventory.classList.add("visibility-hidden"),sku&&sku.classList.add("visibility-hidden"))}getVariantDomScope(){return this.closest("quick-add-modal")||document}resolveProductFormEl(){const id=`product-form-${this.dataset.section}`,modal=this.closest("quick-add-modal");return document.getElementById(id)}resolveById(id){const modal=this.closest("quick-add-modal");return modal?Array.from(modal.querySelectorAll("[id]")).find(el=>el.id===id)||null:document.getElementById(id)}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.querySelector("[data-all-variants-no-high]").textContent),this.variantData}}customElements.get("variant-selects")||customElements.define("variant-selects",VariantSelects);class VariantRadios extends VariantSelects{constructor(){super()}setInputAvailability(listOfOptions,listOfAvailableOptions){listOfOptions.forEach(input=>{const inputProductUrl=input.dataset?.productUrl;inputProductUrl&&inputProductUrl!==this.dataset.url||(listOfAvailableOptions.includes(input.getAttribute("value"))?(input.classList.remove("disabled","always-clickable"),input.disabled=!1):(input.classList.add("disabled"),this.dataset.unavailableOptionsClickable==="true"?(input.classList.add("always-clickable"),input.disabled=!1):input.disabled=!0))})}updateOptions(){const fieldsets=Array.from(this.querySelectorAll("fieldset"));this.options=fieldsets.map(fieldset=>Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked)?.value)}}customElements.define("variant-radios",VariantRadios);class VariantDropdownSelect extends HTMLElement{constructor(){super(),this.currentEl=this.querySelector(".dropdown-select__current"),this.optionsWrapperEl=this.querySelector(".dropdown-select__options"),this.hiddenInput=this.querySelector("input[type='hidden']"),!(!this.currentEl||!this.optionsWrapperEl||!this.hiddenInput)&&(this.optionsEls=Array.from(this.optionsWrapperEl.querySelectorAll("li")),this.inputs=Array.from(this.optionsWrapperEl.querySelectorAll("input")),this.hasColorSwatch=this.currentEl?.classList?.contains("dropdown-select__current--with-color"),this.isActive=!1,this.optionPosition=this.getOptionPosition(),this._onCurrentClick=this.onCurrentClick.bind(this),this._onKeyUp=this.onKeyUp.bind(this),this._onOptionsClick=this.onClickOption.bind(this),this._onKeyUpOptions=this.onKeyUpOptions.bind(this),this._onOutsideClick=this.onOutsideClick.bind(this))}connectedCallback(){this.currentEl.addEventListener("click",this._onCurrentClick),this.currentEl.addEventListener("keyup",this._onKeyUp),this.currentEl.addEventListener("dblclick",this.preventDoubleClick),this.optionsWrapperEl.addEventListener("click",this._onOptionsClick),this.optionsWrapperEl.addEventListener("keyup",this._onKeyUpOptions),document.addEventListener("click",this._onOutsideClick)}disconnectedCallback(){this.currentEl.removeEventListener("click",this._onCurrentClick),this.currentEl.removeEventListener("keyup",this._onKeyUp),this.currentEl.removeEventListener("dblclick",this.preventDoubleClick),this.optionsWrapperEl.removeEventListener("click",this._onOptionsClick),this.optionsWrapperEl.removeEventListener("keyup",this._onKeyUpOptions),document.removeEventListener("click",this._onOutsideClick)}onCurrentClick(event2){event2.stopPropagation(),this.isActive?this.onClose():this.onOpen()}onKeyUp(event2){event2.code?.toUpperCase()==="ENTER"&&(event2.preventDefault(),event2.stopPropagation(),this.isActive?this.onClose():this.onOpen())}preventDoubleClick(event2){event2.preventDefault(),event2.stopPropagation()}onClickOption(event2){const optionEl=event2.target.closest("li"),currentValueEl=this.currentEl.querySelector("[data-dropdown-current-value]");if(!optionEl||!currentValueEl||!this.optionsWrapperEl.contains(optionEl)){event2.preventDefault();return}const optionInput=optionEl.querySelector('input[type="radio"]');if(optionInput&&optionInput.disabled&&!optionInput.classList.contains("always-clickable")&&!optionInput.dataset?.productUrl){event2.preventDefault();return}const newValue=optionEl.dataset.value;if(currentValueEl.textContent=newValue,this.hiddenInput.value=newValue,this.hasColorSwatch){const newColor=optionEl.dataset.color;this.hiddenInput.dataset.colorSwatch=newColor,this.currentEl.style.setProperty("--swatch-color",newColor)}
1this.inputs.forEach(el=>{el.checked=!1,el.removeAttribute("checked")}),optionInput&&(optionInput.checked=!0,optionInput.setAttribute("checked","true")),(optionInput||this.hiddenInput).dispatchEvent(new Event("change",{bubbles:!0})),this.onClose(),this.currentEl.focus()}onKeyUpOptions(event2){event2.code==="Escape"&&this.isActive&&(event2.preventDefault(),this.onClose(),this.currentEl.focus())}onOpen(){document.querySelectorAll("variant-dropdown-select").forEach(dropdown=>{dropdown!==this&&typeof dropdown.onClose=="function"&&dropdown.onClose()}),this.optionsWrapperEl.classList.add("active"),this.currentEl.setAttribute("aria-expanded","true"),this.isActive=!0;const currentIndex=this.inputs.findIndex(inp=>inp.hasAttribute("checked"));this.inputs[currentIndex>=0?currentIndex:0]?.focus()}onClose(){this.optionsWrapperEl.classList.remove("active"),this.currentEl.setAttribute("aria-expanded","false"),this.isActive=!1}onOutsideClick(event2){!this.isActive||this.contains(event2.target)||this.onClose()}getOptionPosition(){const parentFieldset=this.closest(".product-form__controls");return Number(parentFieldset?.dataset?.optionPosition||-1)}updateCurrentOption(selectedValues=[]){if(this.optionPosition===-1)return;const currentValueEl=this.currentEl.querySelector("[data-dropdown-current-value]");if(!currentValueEl||!selectedValues||!selectedValues.length)return;const newValue=selectedValues[this.optionPosition-1];currentValueEl.textContent=newValue,this.hiddenInput.value=newValue,this.optionsEls.forEach(optionEl=>{const liDataValue=optionEl.dataset.value;if(newValue===liDataValue&&this.hasColorSwatch){const newColor=optionEl.dataset.color;this.hiddenInput.dataset.colorSwatch=newColor,this.currentEl.style.setProperty("--swatch-color",newColor)}})}}customElements.get("variant-dropdown-select")||customElements.define("variant-dropdown-select",VariantDropdownSelect);class PasswordViewer{constructor(){document.querySelectorAll(".field--pass").forEach(el=>{const input=el.querySelector("input"),btnWrapper=el.querySelector(".button-pass-visibility"),btnOpen=el.querySelector(".icon-eye-close"),btnClose=el.querySelector(".icon-eye");input.addEventListener("input",()=>{input.value!==""?btnWrapper.style.display="block":btnWrapper.style.display="none"}),btnOpen.addEventListener("click",()=>{input.type="text",btnOpen.style.display="none",btnClose.style.display="block"}),btnClose.addEventListener("click",()=>{input.type="password",btnOpen.style.display="block",btnClose.style.display="none"})})}}class ProductRecommendations extends HTMLElement{constructor(){super();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");recommendations&&recommendations.innerHTML.trim().length&&(this.innerHTML=recommendations.innerHTML);const generateSrcset=(image,widths=[])=>{const imageUrl=new URL(image.src);return widths.filter(width=>width<=image.width).map(width=>(imageUrl.searchParams.set("width",width.toString()),`${imageUrl.href} ${width}w`)).join(", ")},createImageElement=(image,classes,sizes,productTitle)=>{const previewImage=image.preview_image,newImage=new Image(previewImage.width,previewImage.height);return newImage.className=classes,newImage.alt=image.alt||productTitle,newImage.sizes=sizes,newImage.src=previewImage.src,newImage.srcset=generateSrcset(previewImage,[165,360,533,720,940,1066]),newImage.loading="lazy",newImage};document.querySelectorAll(".js-color-swatches-wrapper").forEach(wrapper=>{wrapper.querySelectorAll(".js-color-swatches input").forEach(input=>{input.addEventListener("click",event2=>{const primaryImage=wrapper.querySelector(".media--first"),secondaryImage=wrapper.querySelector(".media--second"),handleProduct=wrapper.dataset.product;if(event2.currentTarget.checked&&primaryImage){wrapper.querySelector(".js-color-swatches-link").setAttribute("href",event2.currentTarget.dataset.variantLink);const currentColor=event2.currentTarget.value;jQuery.getJSON(window.Shopify.routes.root+`products/${handleProduct}.js`,function(product){const variant=product.variants.filter(item=>item.featured_media!=null&&item.options.includes(currentColor))[0];if(variant){const newPrimaryImage=createImageElement(variant.featured_media,primaryImage.className,primaryImage.sizes,product.title);if(newPrimaryImage.src!==primaryImage.src){let flag=!1;if(secondaryImage){const secondaryImagePathname=new URL(secondaryImage.src).pathname,newPrimaryImagePathname=new URL(newPrimaryImage.src).pathname;secondaryImagePathname==newPrimaryImagePathname&&(primaryImage.remove(),secondaryImage.classList.remove("media--second"),secondaryImage.classList.add("media--first"),flag=!0)}flag==!1&&(primaryImage.animate({opacity:[1,0]},{duration:200,easing:"ease-in",fill:"forwards"}).finished,setTimeout(function(){primaryImage.replaceWith(newPrimaryImage),newPrimaryImage.animate({opacity:[0,1]},{duration:200,easing:"ease-in"}),secondaryImage&&secondaryImage.remove()},200))}}})}})})});const calcTop=section=>{const imageWrapper=section.querySelectorAll(".card__inner");let top=0;return imageWrapper?top=imageWrapper[0]?.offsetHeight/2:top=50,top},initSlider=()=>{let mobileLayout=1;this.dataset.mobileLayout&&(mobileLayout=this.dataset.mobileLayout);let slider=new Swiper(this.querySelector(".js-recommendation-swiper"),{slidesPerView:mobileLayout,mousewheel:{forceToAxis:!0},slidesPerGroup:1,spaceBetween:8,speed:500,navigation:{nextEl:this.querySelector(".product-recommendations__slider-nav .swiper-button-next"),prevEl:this.querySelector(".product-recommendations__slider-nav .swiper-button-prev")},breakpoints:{576:{slidesPerView:2,slidesPerGroup:2},750:{slidesPerView:3,slidesPerGroup:3,spaceBetween:24}}})};(()=>{const section=this;new ResizeObserver(entries2=>{const[entry]=entries2;let top=calcTop(section);section.querySelector(".product-recommendations__slider-nav")&&(section.querySelector(".product-recommendations__slider-nav").style.top=top+"px")}).observe(section),initSlider()})()}).catch(e=>{console.error(e)}))};new IntersectionObserver(handleIntersection.bind(this),{rootMargin:"0px 0px 400px 0px"}).observe(this)}}customElements.define("product-recommendations",ProductRecommendations),(function(){const initHeaderOverlay=()=>{const sections=document.getElementById("MainContent").querySelectorAll(".shopify-section");if(sections.length>0){const sectionFirstChild=sections[0].querySelector(".section--has-overlay"),headerGroupSections=document.querySelectorAll(".shopify-section-group-header-group"),header=document.querySelector(".shopify-section-header");sectionFirstChild?sectionFirstChild.classList.contains("section--has-overlay")?headerGroupSections[headerGroupSections.length-1]===header?(sections[0].classList.remove("not-margin"),sectionFirstChild.classList.contains("section--header-light")?header.classList.add("color-background-overlay"):header.classList.remove("color-background-overlay")):(sections[0].classList.add("not-margin"),header.classList.remove("color-background-overlay")):(sections[0].classList.remove("not-margin"),header.classList.remove("color-background-overlay")):header.classList.remove("color-background-overlay")}};initHeaderOverlay(),document.addEventListener("shopify:section:load",initHeaderOverlay),document.addEventListener("shopify:section:unload",initHeaderOverlay),document.addEventListener("shopify:section:reorder",initHeaderOverlay)})();function formatMoney(cents,format=""){typeof cents=="string"&&(cents=cents.replace(".","")),cents=parseInt(cents,10);let value="";const placeholderRegex=/\{\{\s*(\w+)\s*\}\}/,formatString=format||theme.moneyFormat;function formatWithDelimiters(number,precision=2,thousands=",",decimal="."){if(isNaN(number)||number==null)return"0";number=(number/100).toFixed(precision);const parts=number.split("."),dollarsAmount=parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${thousands}`),centsAmount=precision>0?decimal+parts[1]:"";return dollarsAmount+centsAmount}const match=formatString.match(placeholderRegex);switch(match?match[1]:"amount"){case"amount":value=formatWithDelimiters(cents,2,",",".");break;case"amount_no_decimals":value=formatWithDelimiters(cents,0,",",".");break;case"amount_with_comma_separator":value=formatWithDelimiters(cents,2,".",",");break;case"amount_no_decimals_with_comma_separator":value=formatWithDelimiters(cents,0,".",",");break;case"amount_with_apostrophe_separator":value=formatWithDelimiters(cents,2,"'",".");break;case"amount_no_decimals_with_space_separator":value=formatWithDelimiters(cents,0," ",".");break;case"amount_with_space_separator":value=formatWithDelimiters(cents,2," ",",");break;case"amount_with_period_and_space_separator":value=formatWithDelimiters(cents,2," ",".");break;default:value=formatWithDelimiters(cents,2,",",".")}return formatString.replace(placeholderRegex,value)}const initUnderlinedTitles=()=>{let sectionTitles=document.querySelectorAll(".shopify-section:not(.shopify-section-group-header-group):not(.shopify-section-group-footer-group) .title--rounded");sectionTitles.length>
10&§ionTitles.forEach(title=>{new ResizeObserver(entries=>{const[entry]=entries;let xs,s,m,l,xl;document.body.clientWidth<1600?(xs=95,s=160,m=280,l=380,xl=520):(xs=95,s=200,m=360,l=450,xl=620),entry.target.querySelectorAll('span[style="text-decoration:underline"]').forEach(span=>{const titleWidth=span.getBoundingClientRect().width;span.classList.remove("title--rounded-xs","title--rounded-s","title--rounded-m","title--rounded-l","title--rounded-xl","title--rounded-xxl"),titleWidth<xs?span.classList.add("title--rounded-xs"):titleWidth<s?span.classList.add("title--rounded-s"):titleWidth<m?span.classList.add("title--rounded-m"):titleWidth<l?span.classList.add("title--rounded-l"):titleWidth<xl?span.classList.add("title--rounded-xl"):span.classList.add("title--rounded-xxl")})}).observe(title)})};document.documentElement.addEventListener("cart:refresh",()=>{[{id:"cart-icon-bubble",selector:"#cart-icon-bubble"},{id:"cart-drawer",selector:"cart-drawer"},{id:"main-cart-items",selector:"#main-cart-items"},{id:"main-cart-footer",selector:"#main-cart-footer"},{id:"main-cart-shipping",selector:".cart-shipping"}].forEach(section=>{fetch(`${routes.cart_url}?section_id=${section.id}`).then(response=>response.text()).then(html=>{const source=new DOMParser().parseFromString(html,"text/html").querySelector(section.selector),target=document.querySelector(section.selector);source&&target&&(target.innerHTML=source.innerHTML)}).catch(e=>console.error(`[cart:refresh] error updating ${section.id}`,e))})}),document.addEventListener("DOMContentLoaded",function(){var buyNowButton=document.querySelector(".shopify-payment-button"),soldOutButton=document.querySelector(".product-form__buttons .button[disabled]");buyNowButton&&soldOutButton&&(buyNowButton.style.display="none")}); 2//# sourceMappingURL=/cdn/shop/t/2/assets/global.js.map?v=39995259310309665391784844771
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.