PageSourceSearch

https://vegoutvoyage.com/cdn/shop/t/8/assets/variants.js?v=156579293691717966381758426728

js vegoutvoyage.com collected 2026-09-26 15:32:11 UTC 33,615 bytes, 2 lines download raw bytes

1class VariantSelects extends HTMLElement{constructor(){super(),this.item=$(this).closest(".productView"),this.isFullWidth=this.item.closest(".product-full-width").length==1||this.item.closest(".product-full-width-2").length==1,this.onVariantInit(),this.addEventListener("change",this.onVariantChange.bind(this))}onVariantInit(){this.updateOptions(),this.updateMasterId(),this.updateMedia(1500,"init"),this.renderProductAjaxInfo(),this.renderProductInfo(),this.currentVariant?this.updateAttribute(!1,!this.currentVariant.available):this.updateAttribute(!0),this.updateVariantStatuses()}onVariantChange(event){this.updateOptions(),this.updateMasterId(),this.updatePickupAvailability(),this.updateVariantStatuses(event.target),this.currentVariant?(this.updateMedia(200,"change"),document.querySelector(".featured-product")||this.updateURL(),this.updateVariantInput(),this.renderProductAjaxInfo(),this.renderProductInfo(),this.updateProductInfo(),this.updateAttribute(!1,!this.currentVariant.available),this.updateStickyAddToCart(!1,!this.currentVariant.available),this.checkQuantityWhenVariantChange()):(this.updateAttribute(!0),this.updateStickyAddToCart(!0))}updateOptions(){this.options=Array.from(this.querySelectorAll("select"),select=>select.value)}decodeOptions(){this.options=this.options.map(option=>this.decodeOption(option))}decodeOption(option){return option?option.split("Special_Double_Quote").join('"').split("Special_Slash").join("/"):null}encodeOption(option){return option?option.split('"').join("Special_Double_Quote").split("/").join("Special_Slash"):null}updateMasterId(){this.decodeOptions(),this.currentVariant=this.getVariantData().find(variant=>!variant.options.map((option,index)=>this.options[index]===option).includes(!1)),this.item.find("[data-filter]").length&&this.currentVariant?.featured_media&&this.currentVariant.featured_media.alt!=null&&this.item.find("[data-filter]:checked").attr("data-value-default-lang",this.currentVariant?.featured_media.alt.toLowerCase().replace(/ /g,"-"))}updateMedia(time,status){document?.querySelector(".enable_variant_image_group")&&status=="init"||setTimeout(()=>{if(!this.currentVariant||!this.currentVariant?.featured_media||document.querySelector(".productView-nav")?.matches(".media-filter"))return;const newMedia=document.querySelectorAll(`[data-media-id="${this.dataset.section}-${this.currentVariant.featured_media.id}"]`);if(!newMedia||(window.setTimeout(()=>{if($(".productView-nav-gallery").length>0){const newMediaGallery=document.querySelector(`.slick-slide:not(.slick-cloned):has([data-media-id="${this.currentVariant.featured_media.id}"])`)?.getAttribute("data-slick-index");$(".productView-nav-gallery").slick("slickGoTo",newMediaGallery)}else $(newMedia).trigger("click")},time),!this.isFullWidth||window.innerWidth<768||!this.currentVariant))return;const mediaId=this.currentVariant.featured_media.id,activeMedia=document?.querySelector(`.product-single__media[data-media-id="${mediaId}"]`),fallbackImageContainer=document?.querySelector('.productView-image[data-index="1"]');if(activeMedia)setTimeout(()=>{activeMedia.scrollIntoView({behavior:"smooth",block:"start"})},20);else{const fallbackImage=fallbackImageContainer?.querySelector("img"),featuredImage=this.currentVariant?.featured_image;if(!featuredImage||!fallbackImage)return;fallbackImage.setAttribute("src",featuredImage.src),fallbackImage.setAttribute("srcset",featuredImage.src),fallbackImage.setAttribute("alt",featuredImage.alt),setTimeout(()=>{fallbackImageContainer.scrollIntoView({behavior:"smooth",block:"start"})},20)}},1)}scrollToBlock(block){const headerHeight=document.querySelectorAll(".section-header-navigation")[0]?.getBoundingClientRect().height,announcementBarHeight=document.querySelectorAll(".announcement-bar")[0]?.getBoundingClientRect().height,positionTop=block.getBoundingClientRect().top-headerHeight-announcementBarHeight;window.scrollTo({top:positionTop,behavior:"smooth"})}updateURL(){this.currentVariant&&window.history.replaceState({},"",`${this.dataset.url}?variant=${this.currentVariant.id}`)}updateVariantInput(){document.querySelectorAll(`#product-form-${this.dataset.product}, #product-form-installment-${this.dataset.product}`).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))})}updatePickupAvailability(){const pickUpAvailability=document.querySelector("pickup-availability");pickUpAvailability&&(this.currentVariant?.available?pickUpAvailability.fetchAvailability(this.currentVariant.id):(pickUpAvailability.removeAttribute("available"),pickUpAvailability.innerHTML=""))}renderProductAjaxInfo(){fetch(`${this.dataset.url}?variant=${this.currentVariant.id}&section_id=${this.dataset.section}`).then(response=>response.text()).then(responseText=>{const id=`product-price-${this.dataset.product}`,html=new DOMParser().parseFromString(responseText,"text/html"),destination=document.getElementById(id),source=html.getElementById(id),property=`product-property-${this.dataset.product}`,destinationProperty=document.getElementById(property),sourceProperty=html.getElementById(property);if(source&&destination&&(destination.innerHTML=source.innerHTML),this.checkNeedToConvertCurrency()){let currencyCode=document.getElementById("currencies")?.querySelector(".active")?.getAttribute("data-currency");Currency.convertAll(window.shop_currency,currencyCode,"span.money","money_format")}destinationProperty?sourceProperty?(destinationProperty.innerHTML=sourceProperty.innerHTML,destinationProperty.style.display="table"):destinationProperty.style.display="none":sourceProperty&&document.querySelector(".productView-product").insertBefore(sourceProperty,document.querySelector(".productView-options")),document.getElementById(`product-price-${this.dataset.product}`)?.classList.remove("visibility-hidden"),this.updateBadgeSale()})}renderProductInfo(){this.item.find("[data-sku]").length>0&&this.item.find("[data-sku] .productView-info-value").text(this.currentVariant.sku),this.item.find("[data-barcode]").length>0&&this.item.find("[data-barcode] .productView-info-value").text(this.currentVariant.barcode);var inventory=this.currentVariant?.inventory_management;if(inventory!=null){var arrayInVarName=`product_inven_array_${this.dataset.product}`,inven_array=window[arrayInVarName];if(inven_array!=null){var inven_num=inven_array[this.currentVariant.id],inputQuantity=this.item.find('input[name="quantity"]'),buttonSubmit=this.item.find("button#product-add-to-cart"),inventoryQuantity=parseInt(inven_num);inputQuantity.length>0?inputQuantity.attr("data-inventory-quantity",inventoryQuantity):buttonSubmit.attr("data-inventory-quantity",inventoryQuantity),this.item.find("[data-inventory]").length>0&&(inventoryQuantity>0?this.item.find("[data-inventory]").data("stock-level")=="show"?this.item.find("[data-inventory] .productView-info-value").text(inventoryQuantity+" "+window.inventory_text.inStock):this.item.find("[data-inventory] .productView-info-value").text(window.inventory_text.inStock):this.item.find("[data-inventory] .productView-info-value").text(window.inventory_text.outOfStock)),hotStock(inventoryQuantity)}}this.item.find(".productView-stickyCart").length>0&&this.item.find(".productView-stickyCart").find(".select__select").val(this.currentVariant.id)}updateProductInfo(){fetch(`${this.dataset.url}?variant=${this.currentVariant.id}&section_id=${this.dataset.section}`).then(response=>response.text()).then(responseText=>{const description=`[data-product-description-${this.dataset.product}]`,html=new DOMParser().parseFromString(responseText,"text/html"),destinationDesc=document.querySelector(description),sourceDesc=html.querySelector(description);sourceDesc&&destinationDesc&&(destinationDesc.innerHTML=sourceDesc.innerHTML,destinationDesc.closest(".toggle-content--height")&&(destinationDesc.style.maxHeight=null))})}updateAttribute(unavailable=!0,disable=!0){const addButton=document.getElementById(`product-form-${this.dataset.product}`)?.querySelector('[name="add"]');var quantityInput=this.item.find('input[name="quantity"]'),notifyMe=this.item.find(".productView-notifyMe"),hotStock2=this.item.find(".productView-hotStock"),buttonAddtocart=this.item.find(".product-form__submit"),maxValue=parseInt(quantityInput.attr("data-inventory-quantity"));if(isNaN(maxValue)?maxValue=maxValue=parseInt(buttonAddtocart.attr("data-inventory-quantity")):maxValue=parseInt(quantityInput.attr("data-inventory-quantity")),unavailable){var text=window.variantStrings.unavailable;quantityInput.attr("disabled",!0),notifyMe.slideUp("slow"),addButton!=null&&(addButton.setAttribute("disabled",!0),addButton.textContent=text),quantityInput.closest("quantity-input").addClass("disabled"),hotStock2.length>0&&hotStock2.addClass("is-hiden")}else if(disable){var text=window.variantStrings.soldOut,subTotal=0,price=this.currentVariant?.price;const stickyPrice=$("[data-sticky-add-to-cart] .money-subtotal .money"),stickyComparePrice=$("[data-sticky-add-to-cart] .money-compare-price .money");if(window.subtotal.show){subTotal=(quantityInput.val()||1)*price,subTotal=Shopify.formatMoney(subTotal,window.money_format),subTotal=extractContent(subTotal);const moneySpan=document.createElement("span");if(moneySpan.classList.add(window.currencyFormatted?"money":"money-subtotal"),moneySpan.innerText=subTotal,document.body.appendChild(moneySpan),this.checkNeedToConvertCurrency()){let currencyCode=document.getElementById("currencies")?.querySelector(".active")?.getAttribute("data-currency");Currency.convertAll(window.shop_currency,currencyCode,"span.money","money_format")}if(subTotal=moneySpan.innerText,$(moneySpan).remove(),window.subtotal.style=="1"){const pdView_subTotal=document.querySelector(".productView-subtotal .money")||document.querySelector(".productView-subtotal .money-subtotal");pdView_subTotal!=null&&(pdView_subTotal.textContent=subTotal)}else window.subtotal.style=="2"&&(text=window.subtotal.text.replace("[value]",subTotal))}else subTotal=Shopify.formatMoney(price,window.money_format),subTotal=extractContent(subTotal);quantityInput.attr("data-price",this.currentVariant?.price),quantityInput.attr("disabled",!0),addButton!=null&&(addButton.setAttribute("disabled",!0),addButton.textContent=text),quantityInput.closest("quantity-input").addClass("disabled"),subTotal!=0&&stickyPrice.length&&stickyPrice.text(subTotal);const thisStickyPrice=$("[data-sticky-add-to-cart] .sticky-price"),thisComparePrice=$("[data-sticky-add-to-cart] .money-compare-price"),compare_at_price=this.currentVariant?.compare_at_price,current_at_price=this.currentVariant?.price;if(compare_at_price==current_at_price?(thisStickyPrice.removeClass("has-compare-price"),thisComparePrice.remove()):compare_at_price?(thisStickyPrice.addClass("has-compare-price"),thisComparePrice.length?thisComparePrice.attr("data-compare-price",compare_at_price):thisStickyPrice.prepend(`<s class="money-compare-price" data-compare-price="${compare_at_price}"><span class="money"></span></s>`)):(thisStickyPrice.removeClass("has-compare-price"),thisComparePrice.remove()),subTotal!=0&&stickyComparePrice.length&&window.subtotal.show){let comparePrice=$("[data-sticky-add-to-cart] .money-compare-price").data("c
1ompare-price");comparePrice=(quantityInput.val()||1)*comparePrice,comparePrice=Shopify.formatMoney(comparePrice,window.money_format),comparePrice=extractContent(comparePrice),stickyComparePrice.text(comparePrice)}notifyMe.length>0&&(notifyMe.find(".halo-notify-product-variant").val(this.currentVariant.title),notifyMe.find(".notifyMe-text").empty(),notifyMe.slideDown("slow"))}else{var text,subTotal=0,price=this.currentVariant?.price;const stickyPrice=$("[data-sticky-add-to-cart] .money-subtotal .money");if(window.subtotal.show){subTotal=(quantityInput.val()||1)*price,subTotal=Shopify.formatMoney(subTotal,window.money_format),subTotal=extractContent(subTotal);const moneySpan=document.createElement("span");if(moneySpan.classList.add(window.currencyFormatted?"money":"money-subtotal"),moneySpan.innerText=subTotal,document.body.appendChild(moneySpan),this.checkNeedToConvertCurrency()){let currencyCode=document.getElementById("currencies")?.querySelector(".active")?.getAttribute("data-currency");Currency.convertAll(window.shop_currency,currencyCode,"span.money","money_format")}if(subTotal=moneySpan.innerText,$(moneySpan).remove(),window.subtotal.style=="1"){const pdView_subTotal=document.querySelector(".productView-subtotal .money")||document.querySelector(".productView-subtotal .money-subtotal");pdView_subTotal!=null&&(pdView_subTotal.textContent=subTotal),this.currentVariant.available&&maxValue<=0&&this.currentVariant.inventory_management=="shopify"?text=window.variantStrings.preOrder:text=window.variantStrings.addToCart}else window.subtotal.style=="2"&&(this.currentVariant.available&&maxValue<=0&&this.currentVariant.inventory_management=="shopify"?text=window.variantStrings.preOrder:(text=window.subtotal.text.replace("[value]",subTotal),$("#show-sticky-product").text(text),$("#product-sticky-add-to-cart").text(text)))}else subTotal=Shopify.formatMoney(price,window.money_format),subTotal=extractContent(subTotal),this.currentVariant.available&&maxValue<=0&&this.currentVariant.inventory_management=="shopify"?text=window.variantStrings.preOrder:text=window.variantStrings.addToCart;quantityInput.attr("data-price",this.currentVariant?.price),quantityInput.attr("disabled",!1),addButton!=null&&(addButton.removeAttribute("disabled"),addButton.textContent=text),quantityInput.closest("quantity-input").removeClass("disabled"),subTotal!=0&&stickyPrice.length&&stickyPrice.text(subTotal);const thisStickyPrice=$("[data-sticky-add-to-cart] .sticky-price"),thisComparePrice=$("[data-sticky-add-to-cart] .money-compare-price"),compare_at_price=this.currentVariant?.compare_at_price,current_at_price=this.currentVariant?.price;if(compare_at_price==current_at_price)thisStickyPrice.removeClass("has-compare-price"),thisComparePrice.remove();else if(compare_at_price)if(thisStickyPrice.addClass("has-compare-price"),thisComparePrice.length){thisComparePrice.attr("data-compare-price",compare_at_price);const compare_at_price_sticky=Shopify.formatMoney(compare_at_price,window.money_format),comparePrice_sticky=extractContent(compare_at_price_sticky);if(thisComparePrice.text(comparePrice_sticky),this.checkNeedToConvertCurrency()){let currencyCode=document.getElementById("currencies")?.querySelector(".active")?.getAttribute("data-currency");Currency.convertAll(window.shop_currency,currencyCode,"span.money","money_format")}thisStickyPrice.prepend(`<s class="money-compare-price" data-compare-price="${compare_at_price}"><span class="money"></span></s>`),thisComparePrice.remove()}else thisStickyPrice.prepend(`<s class="money-compare-price" data-compare-price="${compare_at_price}"><span class="money"></span></s>`);else thisStickyPrice.removeClass("has-compare-price"),thisComparePrice.remove();const stickyComparePrice=$("[data-sticky-add-to-cart] .money-compare-price .money");if(subTotal!=0&&stickyComparePrice.length&&window.subtotal.show){let comparePrice=$("[data-sticky-add-to-cart] .money-compare-price").data("compare-price");comparePrice=(quantityInput.val()||1)*comparePrice,comparePrice=Shopify.formatMoney(comparePrice,window.money_format),comparePrice=extractContent(comparePrice),stickyComparePrice.text(comparePrice)}notifyMe.length>0&&notifyMe.slideUp("slow")}}updateStickyAddToCart(unavailable=!0,disable=!0){if(this.item.find(".productView-stickyCart").length>0){const sticky=this.item.find(".productView-stickyCart"),itemImage=sticky.find(".sticky-image"),option=sticky.find(".select__select"),input=document.getElementById(`product-form-sticky-${this.dataset.product}`)?.querySelector('input[name="id"]'),button=document.getElementById(`product-form-sticky-${this.dataset.product}`)?.querySelector('[name="add"]');var quantityInput=this.item.find('input[name="quantity"]'),submitBtn=$(".product-form__submit"),maxValue;if(quantityInput.length>0?maxValue=parseInt(quantityInput.attr("data-inventory-quantity")):maxValue=parseInt(submitBtn.attr("data-inventory-quantity")),unavailable){var text=window.variantStrings.unavailable;button.setAttribute("disabled",!0),button.textContent=text}else{if(!this.currentVariant)return;const image=this.currentVariant?.featured_image;if(image!=null&&itemImage.find("img").attr({src:image.src,srcset:image.src,alt:image.alt}),option.val(this.currentVariant.id),disable){var text=window.variantStrings.soldOut;button.setAttribute("disabled",!0),button.textContent=text}else this.currentVariant.available&&maxValue<=0&&this.currentVariant.inventory_management=="shopify"?text=window.variantStrings.preOrder:text=window.variantStrings.addToCart,button.removeAttribute("disabled"),button.textContent=text;input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))}}}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.querySelector('[type="application/json"]').textContent),this.variantData}checkNeedToConvertCurrency(){var currencyItem=$(".dropdown-item[data-currency
1]");if(currencyItem.length)return window.show_multiple_currencies&&Currency.currentCurrency!=shopCurrency||window.show_auto_currency}checkQuantityWhenVariantChange(){var quantityInput=this.closest(".productView-details").querySelector("input.quantity__input"),maxValue=parseInt(quantityInput?.dataset.inventoryQuantity),inputValue=parseInt(quantityInput?.value);let value=inputValue;inputValue>maxValue&&maxValue>0?value=maxValue:value=inputValue,(value<1||isNaN(value))&&(value=1),quantityInput&&(quantityInput.value=value);const elementProductAddToCart=document.getElementById("product-add-to-cart");elementProductAddToCart&&this.currentVariant?.available!==void 0&&typeof maxValue<"u"&&(elementProductAddToCart.dataset.available=this.currentVariant.available&&maxValue<=0)}updateVariantStatuses(target){const selectedOptionOneVariants1=this.variantData.filter(variant=>this.querySelectorAll(":checked")[0]?.value===variant.option1),selectedOptionOneVariants2=this.variantData.filter(variant=>this.querySelectorAll(":checked")[1]?.value===variant.option2),selectedOptionOneVariants3=this.variantData.filter(variant=>this.querySelectorAll(":checked")[2]?.value===variant.option3),inputWrappers=[...this.querySelectorAll(".product-form__input")],inputLength=inputWrappers.length,variant_swatch=[...this.querySelectorAll(".product-form__swatch")];inputWrappers.forEach((option,index)=>{if(option.querySelector("[data-header-option]").innerText=option.querySelector(":checked").value,index===0&&inputLength>1)return;const optionInputs=[...option.querySelectorAll('input[type="radio"], option')],previousOptionSelected=inputLength>1?inputWrappers[index-1].querySelector(":checked").value:inputWrappers[index].querySelector(":checked").value,optionInputsValue=inputLength>1?selectedOptionOneVariants1.filter(variant=>variant[`option${index}`]===previousOptionSelected).map(variantOption=>variantOption[`option${index+1}`]):this.variantData.map(variantOption=>variantOption[`option${index+1}`]),availableOptionInputsValue=inputLength>1?selectedOptionOneVariants1.filter(variant=>variant.available&&variant[`option${index}`]===previousOptionSelected).map(variantOption=>variantOption[`option${index+1}`]):this.variantData.filter(variant=>variant.available).map(variantOption=>variantOption[`option${index+1}`]);this.setInputAvailability(optionInputs,optionInputsValue,availableOptionInputsValue)}),variant_swatch.length>1&&target&&(target.parentElement.parentElement.dataset.optionIndex==0&&this.updateImageSwatch(selectedOptionOneVariants1,target.parentElement.parentElement.dataset.optionIndex),target.parentElement.parentElement.dataset.optionIndex==1&&this.updateImageSwatch(selectedOptionOneVariants2,target.parentElement.parentElement.dataset.optionIndex),target.parentElement.parentElement.dataset.optionIndex==2&&this.updateImageSwatch(selectedOptionOneVariants3,target.parentElement.parentElement.dataset.optionIndex))}updateImageSwatch(selectedOptionOneVariants,optionIndex){const inputWrappers=this.querySelectorAll(".product-form__input");inputWrappers&&inputWrappers.forEach((element,inputIndex)=>{const imageSpan=element.querySelectorAll("label>span.pattern"),imageLabel=element.querySelectorAll("label"),imageSpanImage=element.querySelectorAll("label>span.expand>img");element.querySelectorAll("input").forEach((item,index)=>{if(inputIndex!=optionIndex){const image=selectedOptionOneVariants.filter(tmp=>{if(inputIndex==0)return tmp.option1==item.value;if(inputIndex==1)return tmp.option2==item.value;if(inputIndex==2)return tmp.option3==item.value});if(image.length>0){imageLabel[index].style.display="inline-block";var remainingOptionValue=inputWrappers[3-inputIndex-optionIndex]?.querySelector(":checked").value;let activeIndex=0;for(let i=0;i<image.length;i++)image[i].title.includes(remainingOptionValue)&&(activeIndex=i);imageSpan[index]!=null&&image[activeIndex].featured_image!=null&&(imageSpan[index].style.backgroundImage=`url("${image[activeIndex].featured_image.src}")`),imageSpanImage[index]!=null&&image[0].featured_image!=null&&(imageSpanImage[index].srcset=image[0].featured_image.src)}}})})}setInputAvailability(optionInputs,optionInputsValue,availableOptionInputsValue){optionInputs.forEac
1h(input=>{availableOptionInputsValue.includes(input.getAttribute("value"))?(input.classList.remove("soldout"),input.innerText=input.getAttribute("value")):(input.classList.add("soldout"),optionInputsValue.includes(input.getAttribute("value"))?input.innerText=input.getAttribute("value")+" (Sold out)":input.innerText=window.variantStrings.unavailable_with_option.replace("[value]",input.getAttribute("value")))})}updateBadgeSale(){let badgeWrap=document.querySelector(".productView-badge");if(!badgeWrap)return;let badgeText=badgeWrap.querySelector(".productView-badge .badge.sale-badge"),badgeTextSaleType=badgeWrap.getAttribute("data-text-sale-badge"),priceCompare=document.querySelector(".productView-product .price__compare").getAttribute("data-compare"),priceLast=document.querySelector(".productView-product .price__sale .price__last").getAttribute("data-last"),percentSale=Math.round((priceCompare-priceLast)/priceCompare*100);function renderSpan(text1,text2){let spanElement=document.createElement("span");spanElement.classList.add("badge","sale-badge"),document.querySelector(".productView-badge").appendChild(spanElement),spanElement.innerText=`${text1} ${text2}%`}badgeWrap.classList.contains("has-badge-js")?priceCompare?badgeText?badgeText.innerText=`${badgeTextSaleType} ${percentSale}%`:renderSpan(badgeTextSaleType,percentSale):badgeWrap.querySelector(".badge.sale-badge")?.remove():priceCompare?badgeText?badgeText.innerText=`${badgeTextSaleType}`:renderSpan(badgeTextSaleType,percentSale):badgeWrap.querySelector(".badge.sale-badge")?.remove()}}customElements.define("variant-selects",VariantSelects);class VariantRadios extends VariantSelects{constructor(){super()}setInputAvailability(optionInputs,optionInputsValue,availableOptionInputsValue){optionInputs.forEach(input=>{if(availableOptionInputsValue.includes(input.getAttribute("value")))input.nextSibling.classList.remove("soldout","unavailable"),input.nextSibling.classList.add("available");else if(input.nextSibling.classList.remove("available","unavailable"),input.nextSibling.classList.add("soldout"),window.variantStrings.hide_variants_unavailable&&!optionInputsValue.includes(input.getAttribute("value"))){if(input.nextSibling.classList.add("unavailable"),!input.checked)return;let inputsValue;availableOptionInputsValue.length>0?inputsValue=availableOptionInputsValue:inputsValue=optionInputsValue,input.closest(".product-form__input").querySelector(`input[value="${inputsValue[0]}"]`).checked=!0,this.dispatchEvent(new Event("change"))}})}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 QuantityInput extends HTMLElement{constructor(){super(),!this.closest(".quick-order-list__contents")&&(this.input=this.querySelector("input"),this.changeEvent=ne
1w Event("change",{bubbles:!0}),this.input.addEventListener("change",this.onInputChange.bind(this)),this.querySelectorAll("button").forEach(button=>button.addEventListener("click",this.onButtonClick.bind(this))),this.checkHasMultipleVariants()||(this.initProductQuantity(),this.checkVariantInventory()))}onInputChange(event){event.preventDefault();var inputValue=this.input.value,maxValue=parseInt(this.input.dataset.inventoryQuantity),currentId=document.getElementById(`product-form-${this.input.dataset.product}`)?.querySelector('[name="id"]')?.value,saleOutStock=document.getElementById("product-add-to-cart")?.dataset.available==="true"||!1;const addButton=document.getElementById(`product-form-${this.input.dataset.product}`)?.querySelector('[name="add"]');if(inputValue<1&&(inputValue=1,this.input.value=inputValue),inputValue>maxValue&&!saleOutStock&&maxValue>0){var arrayInVarName=`selling_array_${this.input.dataset.product}`,itemInArray=window[arrayInVarName],itemStatus=itemInArray[currentId];if(itemStatus=="deny"){inputValue=maxValue,this.input.value=inputValue;const message=getInputMessage(maxValue);showWarning(message,3e3)}}else inputValue>maxValue&&saleOutStock&&maxValue<=0&&(this.input.value=inputValue);if(window.subtotal.show){var text,price=this.input.dataset.price,subTotal=0,parser=new DOMParser;subTotal=inputValue*price,subTotal=Shopify.formatMoney(subTotal,window.money_format),subTotal=extractContent(subTotal);const moneySpan=document.createElement("span");if(moneySpan.classList.add(window.currencyFormatted?"money":"money-subtotal"),moneySpan.innerText=subTotal,document.body.appendChild(moneySpan),this.checkNeedToConvertCurrency()){let currencyCode=document.getElementById("currencies")?.querySelector(".active")?.getAttribute("data-currency");Currency.convertAll(window.shop_currency,currencyCode,"span.money","money_format")}if(subTotal=moneySpan.innerText,$(moneySpan).remove(),window.subtotal.style=="1"){const pdView_subTotal=document.querySelector(".productView-subtotal .money")||document.querySelector(".productView-subtotal .money-subtotal");pdView_subTotal.textContent=subTotal}else window.subtotal.style=="2"&&(text=window.subtotal.text.replace("[value]",subTotal),$("#product-sticky-add-to-cart").text(text),addButton!=null&&(addButton.textContent=text));const stickyPrice=$("[data-sticky-add-to-cart] .money-subtotal .money"),stickyComparePrice=$("[data-sticky-add-to-cart] .money-compare-price .money");if(stickyPrice.length&&stickyPrice.text(subTotal),stickyComparePrice.length&&window.subtotal.show){let comparePrice=$("[data-sticky-add-to-cart] .money-compare-price").data("compare-price");comparePrice=inputValue*comparePrice,comparePrice=Shopify.formatMoney(comparePrice,window.money_format),comparePrice=extractContent(comparePrice),stickyComparePrice.text(comparePrice)}}if(this.classList.contains("quantity__group--2")||this.classList.contains("quantity__group--3")){const mainQty=document.querySelector(".quantity__group--1 .quantity__input");mainQty!=null&&(mainQty.value=inputValue);const mainQty2Exists=!!document.querySelector(".quantity__group--2 .quantity__input"),mainQty3Exists=!!document.querySelector(".quantity__group--3 .quantity__input");if(this.classList.contains("quantity__group--2")&&mainQty3Exists){const mainQty3=document.querySelector(".quantity__group--3 .quantity__input");mainQty3.value=inputValue}else if(this.classList.contains("quantity__group--3")&&mainQty2Exists){const mainQty2=document.querySelector(".quantity__group--2 .quantity__input");mainQty2.value=inputValue}}}onButtonClick(event){event.preventDefault();const previousValue=this.input.value;event.target.name==="plus"?this.input.stepUp():this.input.stepDown(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}checkNeedToConvertCurrency(){var currencyItem=$(".dropdown-item[data-currency]");if(currencyItem.length)return window.show_multiple_currencies&&Currency.currentCurrency!=shopCurrency||window.show_auto_currency}checkHasMultipleVariants(){const arrayInVarName=`product_inven_array_${this.querySelector("[data-product]").dataset.product}`;return this.inven_array=window[arrayInVarName],Object.keys(this.inven_array).length>1}initProductQuantity(){if(this.inven_array!=null){var inven_num=Object.values(this.inven_array),inventoryQuantity=parseInt(inven_num);this.querySelector('input[name="quantity"]').setAttribute("data-inventory-quantity",inventoryQuantity),this.querySelector('input[name="quantity"]').dataset.inventoryQuantity=inventoryQuantity}}checkVariantInventory(){const addBtn=document.getElementById("product-add-to-cart");addBtn&&(this.input.disabled=addBtn.disabled,this.querySelector(".btn-quantity.minus").disabled=addBtn.disabled,this.querySelector(".btn-quantity.plus").disabled=addBtn.disabled)}getVariantData(){return this.variantData=this.variantData||JSON.parse(document.querySelector('.product-option [type="application/json"]').textContent),this.variantData}}customElements.define("quantity-input",QuantityInput);class StepIndicator extends HTMLElement{constructor(){super(),this.el=this,this.steps=parseInt(this.getAttribute("steps"))||3,this._step=0}connectedCallback(){document.addEventListener("click",this.clickAction.bind(this)),this.displayStep(this.step),this.checkExtremes(),this.setupFinalStepInputWatcher()}get step(){return this._step}set step(value){this._step=value,this.displayStep(value),this.checkExtremes()}clickAction(e){const button=e.target.closest("a[data-action]");if(!button)return;const actionName=button.getAttribute("data-action");actionName==="prev"?this.prev():actionName==="next"&&this.next()}prev(){this.step>0&&this.step--}next(){this.step<this.steps-1&&this.step++}checkExtremes(){const prevBtn=document.querySelector('[data-action="prev"]'),nextBtn=document.querySelector('[data-action="next"]'),cartBtn=document.querySelector('[data-action="cart"]');prevBtn&&prevBtn.setAttribute("aria-disabled",this.step<=0?"true":"false"),nextBtn&&nextBtn.setAttribute("aria-disabled",this.step>=this.steps-1?"true":"false"),cartBtn&&(cartBtn.style.display=this.step>=this.steps-1?"inline-block":"none",nextBtn&&(nextBtn.style.display=this.step>=this.steps-1?"none":"block"))}displayStep(targetStep){const current="steps__step--current",done="steps__step--done";for(let i=0;i<this.steps;i++){const stepEl=this.querySelector(`.steps__step[data-step="${i}"]`),tabEl=this.querySelector(`.tab[data-step="${i}"]`);stepEl?.classList.remove(current,done),tabEl?.classList.remove("active"),i<targetStep?stepEl?.classList.add(done):i===targetStep&&(stepEl?.classList.add(current),tabEl?.classList.add("active"))}}setupFinalStepInputWatcher(){const lastTab=this.querySelector(`.tab[data-step="${this.steps-1}"]`);if(!lastTab)return;const inputWrapper=lastTab.querySelector(".product-step__input");if(!inputWrapper)return;
1const fields=inputWrapper.querySelectorAll("input, textarea"),checkCompleted=()=>{const isFilled=Array.from(fields).some(el=>el.value.trim()!==""),stepEl=this.querySelector(`.steps__step[data-step="${this.steps-1}"]`);isFilled?(inputWrapper.classList.add("complete"),stepEl?.classList.contains("steps__step--current")&&(stepEl.classList.remove("steps__step--current"),stepEl.classList.add("steps__step--done"))):(inputWrapper.classList.remove("complete"),stepEl?.classList.contains("steps__step--done")&&(stepEl.classList.remove("steps__step--done"),stepEl.classList.add("steps__step--current")))};fields.forEach(field=>{field.addEventListener("input",checkCompleted)})}}customElements.define("step-indicator",StepIndicator);function hotStock(inventoryQuantity){const hotStock2=document.querySelector(".productView").querySelector(".productView-hotStock");if(hotStock2){let hotStockText=hotStock2.querySelector(".hotStock-text"),maxStock=parseFloat(hotStock2.dataset.hotStock),textStock;if(inventoryQuantity>0&&inventoryQuantity<=maxStock?(hotStock2.matches(".style-2")?textStock=window.inventory_text.hotStock2.replace("[inventory]",inventoryQuantity):textStock=window.inventory_text.hotStock.replace("[inventory]",inventoryQuantity),hotStockText&&(hotStockText.innerHTML=textStock),hotStock2.classList.remove("is-hide")):hotStock2.classList.add("is-hide"),hotStock2.matches(".style-2")){const invenProgress=inventoryQuantity/maxStock*100,hotStockProgressItem=hotStock2.querySelector(".hotStock-progress-item");hotStockProgressItem&&(hotStockProgressItem.style.width=`${invenProgress}%`)}}}const hotStockNoOptions=document.querySelector(".productView .productView-hotStock[data-current-inventory]");if(hotStockNoOptions){const inventoryQuantity=parseFloat(hotStockNoOptions.dataset.currentInventory);hotStock(inventoryQuantity)}function showWarning(content,time=null){window.warningTimeout&&clearTimeout(window.warningTimeout);const warningPopupContent=document.getElementById("halo-warning-popup").querySelector("[data-halo-warning-content]");warningPopupContent.textContent=content,document.body.classList.add("has-warning"),time&&(window.warningTimeout=setTimeout(()=>{document.body.classList.remove("has-warning")},time))}function getInputMessage(maxValue){var message=window.cartStrings.addProductOutQuantity.replace("[maxQuantity]",maxValue);return message}
2//# sourceMappingURL=/cdn/shop/t/8/assets/variants.js.map?v=156579293691717966381758426728

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.