1window._cartManuallyClosed=!1,document.addEventListener("click",function(e){e.target.closest('#cart-drawer [is="close-button"], #cart-drawer .drawer__close-icon')&&(window._cartManuallyClosed=!0)},!0);const MakesyQuantitySelector=class extends HTMLElement{connectedCallback(){this._abortController=new AbortController,this.inputElement=this.querySelector("input"),this.updaters=this.updaters;const quantityInput=this.querySelector('[name="quantity"]');let isUpdating=!1;quantityInput?.addEventListener("input",e=>{if(isUpdating)return;let value=e.target?.value;if(value=value.toString().replace(/[^0-9]/g,""),value===""){e.target.value="";return}let numValue=parseInt(value);numValue<1&&(numValue=1),e.target.value!==numValue.toString()&&(isUpdating=!0,e.target.value=numValue,isUpdating=!1);const stickyQty2=document.getElementById("sticky-qty");stickyQty2&&stickyQty2.value!==numValue.toString()&&(isUpdating=!0,stickyQty2.value=numValue,isUpdating=!1),this.updaters&&this.updaters.length&&Promise.all(this.updaters.map(updater=>updater(numValue))).then(data=>data).catch(err=>console.log(err))}),quantityInput?.addEventListener("blur",e=>{if(e.target.value===""||parseInt(e.target.value)<1){e.target.value=1;const stickyQty2=document.getElementById("sticky-qty");stickyQty2&&(stickyQty2.value=1),this.updaters&&this.updaters.length&&Promise.all(this.updaters.map(updater=>updater(1))).then(data=>data).catch(err=>console.log(err))}});let stickyQty=document.getElementById("sticky-qty");stickyQty&&(stickyQty.addEventListener("input",e=>{if(isUpdating)return;let value=e.target?.value;if(value=value.toString().replace(/[^0-9]/g,""),value===""){e.target.value="",quantityInput&&(quantityInput.value="");return}let numValue=parseInt(value);numValue<1&&(numValue=1),e.target.value!==numValue.toString()&&(isUpdating=!0,e.target.value=numValue,isUpdating=!1),quantityInput&&quantityInput.value!==numValue.toString()&&(isUpdating=!0,quantityInput.value=numValue,isUpdating=!1),this.updaters&&this.updaters.length&&Promise.all(this.updaters.map(updater=>updater(numValue))).then(data=>data).catch(err=>console.log(err))}),stickyQty.addEventListener("blur",e=>{(e.target.value===""||parseInt(e.target.value)<1)&&(e.target.value=1,quantityInput&&(quantityInput.value=1),this.updaters&&this.updaters.length&&Promise.all(this.updaters.map(updater=>updater(1))).then(data=>data).catch(err=>console.log(err)))})),this.onclick=e=>{const targetName=e.target.name;if(targetName=="quantity")return;let textInput=this.querySelector('input[name="quantity"]'),currentValue=Number(textInput.value);targetName==="plus"?currentValue&&=textInput.value=++currentValue:targetName==="minus"&¤tValue>1&&(currentValue&&=textInput.value=--currentValue);const stickyQtyBtn=document.getElementById("sticky-qty");stickyQtyBtn&&(stickyQtyBtn.value=currentValue),this.updaters.length&&Promise.all(this.updaters.map(updater=>updater(currentValue))).then(data=>data).catch(err=>console.log(err))}}disconnectedCallback(){this._abortController.abort()}},getBulkDiscounts=(selected_quantity,state)=>{if(console.log("=== getBulkDiscounts CALLED ==="),console.log("selected_quantity:",selected_quantity),console.log("state.product.id:",state.product?.id),console.log("state.currentVariant?.id:",state.currentVariant?.id),console.log("state.metafields:",state.metafields),console.log("state.variantMetafields:",state.variantMetafields),state.isWick){const clipIndex=document.querySelector('[name="Pack Size"]:checked')?.value=="1000";let threshHoldMet2=!1;const index2=[10,50].reduce((prev,quantity2,i)=>(Number(selected_quantity)>=quantity2&&(prev=i,threshHoldMet2=!0),prev),0);return{threshHoldMet:threshHoldMet2,index:index2,percent:[10,15],quantity:[10,50],hideMessage:!clipIndex}}let hideMessage=!1;const variantMetafields2=state.variantMetafields?.[state.currentVariant?.id];console.log("variantMetafields:",variantMetafields2);let{has_bulk_discounts,percent,quantity}={},casePack=null;if(variantMetafields2?.bulkDiscounts?.percent&&variantMetafields2?.bulkDiscounts?.quantity)percent=variantMetafields2.bulkDiscounts.percent[0],quantity=variantMetafields2.bulkDiscounts.quantity[0],has_bulk_discounts=state.currentVariant.title,casePack=variantMetafields2?.case,console.log("Using variant level bulk discounts:",{percent,quantity,has_bulk_discounts,casePack});else{if(Object.values(state.variantMetafields||{}).some(vm=>vm?.bulkDiscounts?.percent&&vm?.bulkDiscounts?.quantity))return console.log("Current variant has no bulk discounts, but other variants do"),casePack=state.metafields[state.product.id]?.case,{threshHoldMet:!1,index:0,has_bulk_discounts:"show_regular_price",percent:null,quantity:null,hideMessage:!1,casePack};{const productBulkDiscounts=state.metafields[state.product.id]?.bulkDiscounts||{};if(has_bulk_discounts=productBulkDiscounts.has_bulk_discounts,percent=productBulkDiscounts.percent,quantity=productBulkDiscounts.quantity,casePack=state.metafields[state.product.id]?.case,console.log("Using product level bulk discounts:",{has_bulk_discounts,percent,quantity,casePack}),state.product?.type?.toLowerCase()==="cotton-wicks")console.log("Cotton wicks product detected - applying bulk discounts to all pack sizes");
1else if(has_bulk_discounts){if(!state.currentVariant?.title?.includes(has_bulk_discounts))return console.log("Current variant does not match product-level bulk discount criteria"),console.log("Variant title:",state.currentVariant?.title,"Expected:",has_bulk_discounts),!1;console.log("Variant matches bulk discount criteria!")}else console.log("No qualifying variant title specified - applying bulk discounts to all variants")}}if(!percent||!quantity)return console.log("=== getBulkDiscounts returning FALSE (no percent or quantity data) ==="),!1;if(has_bulk_discounts){const variantTitle=state.currentVariant.title.replace(/"/g,"").trim();if(!(has_bulk_discounts?.split(",")).some(optionName=>{const optionCharactersRemoved=optionName.replace(/"/g,"").trim();return new RegExp("\\b("+optionCharactersRemoved+")\\b","i").test(variantTitle)})&&!casePack)return console.log("=== Variant does not match has_bulk_discounts criteria ==="),!1}else console.log("=== has_bulk_discounts not defined, applying to all variants ===");const q=quantity.split(",").map(Number),p=percent.split(",").map(Number);let threshHoldMet=!1;const index=q.reduce((prev,quantity2,i)=>(Number(selected_quantity)>=quantity2&&(prev=i,threshHoldMet=!0),prev),0);return{threshHoldMet,index,has_bulk_discounts,percent:p,quantity:q,hideMessage,casePack}},addToCart=async formData=>await(await fetch(`${Shopify.routes.root}cart/add.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(formData)})).json(),isNextDayProEligibleFn=async()=>{console.log("CHECKING,isNextDayProEligibleFn");try{const cartContent=await(await fetch(`${Shopify.routes.root}cart.js`)).json();let totalWeight=cartContent.items.reduce((total,item)=>total+item.quantity*item.grams,0);return cartContent.items.find(el=>el.product_type=="custom-wicks")?(console.log("isNextDayProEligibleFn=>Custom wicks detected"),!1):(cartContent.items.find(el=>el.product_type=="fragrances")&&cartContent.items.forEach(el=>{if(el.product_type=="fragrances"&&(el.sku.includes("1GAL")||el.sku.includes("25LB")||el.sku.includes("50LB")))return console.log("isNextDayProEligibleFn=>Detected 1GAL/25LB/50LB"),!1}),cartContent.item_count>=75||totalWeight>22679.6||cartContent.items.find(el=>el.sku=="makerpro-sdp")?(console.log("isNextDayProEligibleFn=>ItemCount",cartContent.item_count,"TotalWeight",totalWeight,"DetectingSDP=>",cartContent.items.find(el=>el.sku=="makerpro-sdp")),!1):!0)}catch(err){return console.error(err),!0}};class Product{cartErrorMessage=document.getElementsByClassName("Product__messaging")[0];elements={readMore:document.querySelector(".read-more"),submitBTN:document.querySelector(".Product.add-to-cart"),price:document.querySelector(".Product.add-to-cart span"),flyout_el:document.querySelector(".Dialog__values"),description:document.querySelector(".infoNav__description"),productTitle:document.querySelector(".Product__title h1"),moreInformation:document.querySelector(".Product__details div > span"),descriptionOpac:document.getElementsByClassName("Product__info-nav--opacity")[0],Dialog__values:document.querySelector(".Dialog__values"),messages:document.getElementsByClassName("Product__messaging")[0],outOfStockMessage:document.getElementsByClassName("Product__out-of-stock-messaging")[0],imgFlyOut:document.querySelector(".Dialog__values img"),thumbsContainer:document.querySelector(".Product__thumb-images"),productThumbModal:document.querySelector(".Product__thumb-modal"),mobileCarouselImgs:document.querySelectorAll(".Product__carousel-item"),mobileCarouselCount:document.querySelectorAll(".carousel-count span")[1],emailInput:document.querySelector(".Product-notify__email-input"),phoneInput:document.querySelector(".Product-notify__phone-input"),notifySubmitBtn:document.querySelector(".Product-notify__submit-btn"),productSelections:document.querySelectorAll(".m-dropdown-options"),priceBreakdown:document.querySelector(".Price_breakdown"),singleUnitPrice:document.querySelector("#single-unit"),productCharts:document.querySelector(".Product__charts"),fragranceNotes:document.querySelector(".accordian__menu_items .fragrance-notes"),specifications:document.querySelector(".accordian__menu_items .specifications"),tbody:Array.from(document.querySelectorAll(".accordian__menu_items.Product__details tbody")),singleBulkPrice:document.getElementById("single-bulk-price"),mobile_image_layout:document.querySelector(".Product__mobile-carou
1sel-layout "),customerElement:document.getElementById("new-customer-id"),priceElements:document.querySelectorAll(".--price-element"),stickyaatcBbtn:document.querySelector("#sticky-atc-btn"),stickyATCspan:document.querySelector("#sticky-price"),stickyNotify:document.querySelector(".sticky-notify-btn")};state={product:currentProduct||null,swatches:currentProduct.options.includes("Color"),metafields,variantMetafields,hasUnits:typeof hasUnits<"u"?hasUnits:!1,swatchSelected:document.querySelector('circle[style="stroke-dashoffset: 0;"]'),swatchColorElements:document.querySelectorAll("span.Product__swatch-color"),descriptionHeight:0,readMoreOpen:!1,readLessHeight:parseInt(getComputedStyle(document.querySelector(".Product__info-nav")).height),dialogDefaultInput:document.querySelector(".--open_dialog input"),currentDescriptionEl:document.querySelector(".infoNav__description"),wickCollections:null,wickCurrentProducts:null,wickFlyOutData:null,isWick,isVirtualProduct:typeof isVirtualProduct<"u"?isVirtualProduct:!1,currentVariant:currentProduct?.variants[0],carouselImgs:new Array(this.elements.mobileCarouselImgs.length).fill(null).map((v,i)=>i++),caraouselIndex:0,selectedClipVariant:null,itiInput:"",mobile_image_layout_height:null,newCustomer,additional_products:[],isLoadingSpecifications:!1};constructor(){this.updatePrice=this.updatePrice,this.toggleMenu=this.toggleMenu,this.accordian=new AccordianNav,this.state.isWick&&this.setState({wickCollections:additionalCollections,wickCurrentProducts:currentProducts,clips,product:currentProducts[0]||currentProduct,wickFlyOutData,additional_products:additionalProducts}),this.onLoadChanges()}setState(obj,func){this.state={...this.state,...obj},func&&func(this.state)}getLargestHeight(el){if(el)return el.length?Array.from(el).reduce((firstEl,currentEl)=>Math.max(firstEl.offsetHeight,currentEl.offsetHeight)):el.offsetHeight}getTotalHeight(elements){if(elements.length)return Array.from(elements).reduce((firstEl,currentEl)=>firstEl.offsetHeight+currentEl.offsetHeight)}onLoadChanges(){console.log("ONLOADCHANGES RUNS"),pdpRedirect&&(window.location.href=`${pdpRedirectUrl}`),MakesyQuantitySelector.prototype.updaters=[this.updatePrice.bind(this),this.updateBulkDiscountMessage.bind(this),quantity2=>{window.updatePriceBreakdownTextGlobal&&window.updatePriceBreakdownTextGlobal(quantity2)}],window.customElements.get("makesy-quantity-selector")||window.customElements.define("makesy-quantity-selector",MakesyQuantitySelector),this.addListeners(),this.popState(),this.toggleMenu(),this.getVariant(),this.checkStock(),this.markSwatchSelction(this.getVariant()?.id),this.createSpecifications();const{has_bulk_discounts,percent,quantity,casePack}=getBulkDiscounts(document.querySelector('.QuantitySelector input[name="quantity"]').value,this.state);console.log("=== onLoadChanges: checking bulk discounts ==="),console.log("has_bulk_discounts:",has_bulk_discounts),console.log("this.state.hasUnits:",this.state.hasUnits),console.log("this.state.product.type:",this.state.product.type),console.log("this.state.currentVariant:",this.state.currentVariant),has_bulk_discounts||this.state.hasUnits?(console.log("=== Calling updateBulkDiscounts from onLoadChanges ==="),this.updateBulkDiscounts(this.state)):console.log("=== Skipping bulk discount update (no bulk discounts and hasUnits is false) ===");const option1_checked=document.querySelector('[id="1"] input:checked');option1_checked&&this.checkSelections(1,option1_checked.value,document.querySelectorAll(".m-dropdown-options")),this.isNextDayProEligible()?.then(resp=>{console.log("isNextDayProEligible",resp)}).catch(err=>{console.log("isNextDayProEligibleErr",err)}),this.state.isWick&&(window.product=this,setTimeout(()=>{this.getClips(),this.updatePrice()},100))}getVariantMedia(currentVariant){const media=variantMetafields[currentVariant.id].media;return media?media.reduce((prev,current)=>current.src?[...prev,{src:current.src}]:[...prev,{src:current}],[]):[]}getVariantMetafield(currentVariant){return this.state.variantMetafields[currentVariant.id]}getProductMetafield(product2){return this.state.metafields[product2.id]}getVariantImage(val,optionPos){return this.state.product.variants.find(variant2=>variant2[optionPos]===val)}getVariant(){const state=this.state,dropdownSelectors=Array.from(document.querySelectorAll(".m-dropdown-options input:checked"));if(!dropdownSelectors.length){const variant3={index:0,currentVariant:state.product.variants[0]};return this.setState({...variant3}),variant3}const checkedTitle=dropdownSelectors.map(el=>el.value).join(" / ");let index=state.product.variants.findIndex(variant3=>variant3.title===checkedTitle);if(Number(checkedTitle)&&(index=0),index===-1&&!state.isWick){const selectedValues=dropdownSelectors.map(el=>el.value);let fallback=state.product.variants.find(v=>v.available&&selectedValues.every((val,idx)=>v.options[idx]===val))||state.product.variants.find(v=>selectedValues.every((val,idx)=>v.options[idx]===val));fallback&&(index=state.product.variants.indexOf(fallback))}const variant2={index,currentVariant:state.product.variants[index]};return console.log(" variant:",variant2),variant2?(this.setState({...variant2}),variant2):console.log("Need to run the checkSelections method if this message is running")}checkStock(){const isWick2=this.state.isWick,isInStock=this.state.currentVariant?.available,addCartBtn=document.querySelector(".Product .add-to-cart"),stickyATC=document.querySelector("#sticky-atc-btn"),stickyNotify=document.querySelector(".sticky-notify-btn");console.log("Iswick",isWick2),console.log("IsisInStockwick",isInStock);const variant2=this.state.currentVariant,qty=variant2?.inventoryQuantity??0;if(console.log("Qty",qty),console.log("variant",variant2),this.hideInterval&&(clearInterval(this.hideInterval),this.hideInterval=null),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null),!isWick2&&!isInStock){if(console.log("1 \u2192 Out of stock"),addCartBtn){const cartText=addCartBtn.querySelector(".cart-text");cartText&&(cartText.textContent="out of stock"),addCartBtn.classList.add("is-out-of-stock")}if(stickyATC){const stickyCartText=stickyATC.querySelector(".cart-text");stickyCartText&&(stickyCartText.textContent="out of stock"),stickyATC.classList.add("is-out-of-stock")}stickyNotify&&(stickyNotify.style.display="none")}else if(!isWick2&&isInStock){if(console.log("2"),addCartBtn){const cartText=addCartBtn.querySelector(".cart-text");cartText&&(cartText.textContent="add to cart"),addCartBtn.classList.remove("is-out-of-stock"),addCartBtn.style.display="flex"}if(stickyATC){const stickyCartText=stickyATC.querySelector(".cart-text");stickyCartText&&(stickyCartText.textContent="add to cart"),stickyATC.classList.remove("is-out-of-stock")}stickyNotify&&(stickyNotify.style.display="none")}else isWick2&&!isInStock&&wickProductInventoryPolicies==="deny"?(console.log("3"),addCartBtn.style.display="none",stickyATC&&(stickyATC.style.display="none"),stickyNotify&&(stickyNotify.style.display="block")):(isWick2&&isInStock||wickProductInventoryPolicies==="continue")&&(console.log("4"),addCartBtn&&(addCartBtn.style.removeProperty("visibility"),addCartBtn.style.removeProperty("opacity")),addCartBtn.style.display="flex",stickyATC.style.display="flex",stickyNotify.style.display="none")}enableNotifyClick(){document.querySelector("#quantity-buy-button > div.Product__cart-btn > div > div").click(),console.log("Enable notify click")}updateTitle(product2){this.elements.productTitle.textContent=product2.title}updatePrice(quantity=document.querySelector('.QuantitySelector input[name="quantity"]')?.value||1,variant2=this.state.currentVariant){if(console.log("PriceVariant=>",variant2),!variant2||!variant2.price){console.warn("No variant or variant price available for price update");return}const price=this.state.selectedClipVariant?this.state.selectedClipVariant.price+variant2.price:variant2.price;if(!price)return;const{index,percent,threshHoldMet}=getBulkDiscounts(quantity,this.state),bulkDiscountPercent=threshHoldMet&&percent?percent[index]:0,finalPrice=(price/100*quantity*((100-bulkDiscountPercent)/100)).toFixed(2),comparePrice=variant2.compare_at_price?(variant2.compare_at_price/100*quantity).toFixed(2):finalPrice,priceElement=document.querySelector(".Product.add-to-cart #ProductPrice");priceElement&&(priceElement.textContent=priceElement.className=="compare-at"?comparePrice:finalPrice);const stickyPriceElement=document.querySelector("#sticky-price .price-value");stickyPriceElement&&(stickyPriceElement.textContent=stickyPriceElement.className=="compare-at"?comparePrice:finalPrice);const compareAtPriceElement=document.querySelector(".Product.add-to-cart .compare-at-price");if(compareAtPriceElement)if(variant2.compare_at_price&&variant2.compare_at_price>variant2.price){compareAtPriceElement.style.display="block";const compareAtPriceValue=compareAtPriceElement.querySelector(".price-value");compareAtPriceValue&&(compareAtPriceValue.textContent=comparePrice)}else compareAtPriceElement.style.display="none"}updateMoreInformation(html){if(this.elements.moreInformation){if(!html){this.elements.moreInformation.innerHTML="";return}const withBreaks=String(html).replace(/\r\n|\r|\n/g,"<br>");this.elements.moreInformation.innerHTML=withBreaks}}updateDescription(product2){this.elements.description.innerHTML=product2.description}getUnitMeasurement(variantTitle,productTitle=null,variantSku=null){let optionMeasurment=null,titleToCheck=variantTitle;
1if(/oz/i.test(titleToCheck)&&!/10\s?ml/i.test(titleToCheck))optionMeasurment=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?oz))/i)?.[0];else if(/ml/i.test(titleToCheck)&&!/10\s?ml/i.test(titleToCheck)){const ml=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?ml))/i)?.[0];optionMeasurment=ml?ml*.033814:null}else if(/(\s|\d)g/i.test(titleToCheck)){const g=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?g))/i)?.[0];optionMeasurment=g?g*.035274:null}else if(/lbs?/i.test(titleToCheck)){const lb=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?lbs?))/i)?.[0];optionMeasurment=lb?lb*16:null}if(!optionMeasurment&&productTitle){if(console.log("No measurement in variant title, checking product title:",productTitle),titleToCheck=productTitle,/oz/i.test(titleToCheck)&&!/10\s?ml/i.test(titleToCheck))optionMeasurment=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?oz))/i)?.[0];else if(/ml/i.test(titleToCheck)&&!/10\s?ml/i.test(titleToCheck)){const ml=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?ml))/i)?.[0];optionMeasurment=ml?ml*.033814:null}else if(/(\s|\d)g/i.test(titleToCheck)){const g=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?g))/i)?.[0];optionMeasurment=g?g*.035274:null}else if(/lb/i.test(titleToCheck)){const lb=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?lb))/i)?.[0];optionMeasurment=lb?lb*16:null}}if(!optionMeasurment&&variantSku){if(console.log("No measurement in variant/product title, checking SKU:",variantSku),titleToCheck=variantSku,/oz/i.test(titleToCheck)&&!/10\s?ml/i.test(titleToCheck))optionMeasurment=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?oz))/i)?.[0];else if(/ml/i.test(titleToCheck)&&!/10\s?ml/i.test(titleToCheck)){const ml=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?ml))/i)?.[0];optionMeasurment=ml?ml*.033814:null}else if(/(\s|\d)g/i.test(titleToCheck)){const g=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?g))/i)?.[0];optionMeasurment=g?g*.035274:null}else if(/lbs?/i.test(titleToCheck)){const lb=titleToCheck.match(/((\d+)?\.?\d+)(?=(\s?lbs?))/i)?.[0];optionMeasurment=lb?lb*16:null}}return console.log("getUnitMeasurement result:",optionMeasurment,"from:",titleToCheck),optionMeasurment?parseFloat(optionMeasurment):null}updateUnits(returnUnits=!1,variants=this.state.product.variants){console.log("=== updateUnits CALLED ==="),console.log("returnUnits:",returnUnits),console.log("this.state.hasUnits:",this.state.hasUnits),console.log("variants:",variants);const{has_bulk_discounts,casePack}=getBulkDiscounts(document.querySelector('.QuantitySelector input[name="quantity"]').value,this.state);console.log("casePack:",casePack);let optionMeasurment,unitsElements=document.querySelectorAll(".Price_breakdown_inUnits");unitsElements.length||(unitsElements=document.querySelectorAll(".Price_breakdown-messaging .price-container"));const titles=document.querySelectorAll(".unit-title");if(console.log("unitsElements.length:",unitsElements.length),console.log("titles.length:",titles.length),this.state.hasUnits&&!casePack){const nonTenMlTitles=[];
1titles.forEach(titleElement=>{const titleText=titleElement?titleElement.textContent:"";/10\s?ml/i.test(titleText)||nonTenMlTitles.push(titleElement)}),console.log("Total titles:",titles.length,"Non-10ml titles:",nonTenMlTitles.length,"unitsElements:",unitsElements.length),unitsElements.forEach((unitsElement,i)=>{console.log("=== Processing unitsElement",i,"===");const unitsElementChildren=unitsElement?.children,hasSale=unitsElementChildren.length==2,priceText=hasSale?unitsElementChildren[1].textContent:unitsElementChildren[0].textContent,salePriceText=hasSale?unitsElementChildren[0].textContent:null;console.log("Raw priceText:",priceText),console.log("Raw salePriceText:",salePriceText);const priceArray=priceText.split("/"),salePriceArray=hasSale&&salePriceText.split("/");console.log("priceArray[0]:",priceArray[0]),console.log("salePriceArray[0]:",salePriceArray?salePriceArray[0]:"N/A");const priceStep1=priceArray[0]?priceArray[0].replace(/,/g,"").replace(/Rs\./g,"").trim():"",priceStep2=priceStep1.replace(/[^\d.]/g,"");console.log("Price parsing - Step 1 (remove commas & Rs.):",priceStep1),console.log("Price parsing - Step 2 (remove non-digits):",priceStep2),console.log("Price parsing - Final number:",Number(priceStep2));const price=priceArray[0]?Number(priceArray[0].replace(/,/g,"").replace(/Rs\./g,"").replace(/[^\d.]/g,"")).toFixed(2):1,compare_at_price=salePriceArray&&salePriceArray[0]?Number(salePriceArray[0].replace(/,/g,"").replace(/Rs\./g,"").replace(/[^\d.]/g,"")).toFixed(2):1,title=nonTenMlTitles[i]?nonTenMlTitles[i].textContent:"";if(console.log("Final parsed - Title:",title,"Price:",price,"Compare:",compare_at_price,"hasSale:",hasSale),!title){console.log("No title found for element",i);return}switch(!0){case(/oz/i.test(title)&&!/10\s?ml/i.test(title)):const ozMatch=title.match(/((\d+)?\.?\d+)(?=(\s?oz))/i);if(console.log("Ounces case matched! Title:",title,"ozMatch:",ozMatch),!ozMatch){console.log("ERROR: oz pattern matched but extraction failed!");break}if(optionMeasurment=ozMatch[0],console.log("optionMeasurment:",optionMeasurment,"price:",price),returnUnits)break;hasSale?(unitsElementChildren[0].textContent=`$${compare_at_price} ea / $${(compare_at_price/optionMeasurment).toFixed(2)} per oz`,unitsElementChildren[1].textContent=`$${price} ea / $${(price/optionMeasurment).toFixed(2)} per oz`):unitsElementChildren[0].textContent=`$${price} ea / $${(price/optionMeasurment).toFixed(2)} per oz`;break;case(/ml/i.test(title)&&!/10\s?ml/i.test(title)):{if(optionMeasurment=title.match(/((\d+)?\.?\d+)(?=(\s?ml))/i)[0]*.033814,returnUnits)break;hasSale?(unitsElementChildren[0].textContent=`$${compare_at_price} ea / $${(compare_at_price*optionMeasurment).toFixed(2)} oz`,unitsElementChildren[1].textContent=`$${price} ea / $${(price*optionMeasurment).toFixed(2)} per oz`):unitsElementChildren[0].textContent=`$${price} ea / $${(price*optionMeasurment).toFixed(2)} per oz`;break}case/(\s|\d)g/i.test(title):{if(optionMeasurment=title.match(/((\d+)?\.?\d+)(?=(\s?g))/i)[0]*.035274,returnUnits)break;hasSale?(unitsElementChildren[0].textContent=`$${compare_at_price} ea / $${(compare_at_price*optionMeasurment).toFixed(2)} oz`,unitsElementChildren[1].textContent=`$${price} ea / $${(price*optionMeasurment).toFixed(2)} per oz`):unitsElementChildren[0].textContent=`$${price} ea / $${(price*optionMeasurment).toFixed(2)} per oz`;break}case/lbs?/i.test(title):{if(optionMeasurment=title.match(/((\d+)?\.?\d+)(?=(\s?lbs?))/i)[0]*16,console.log("Pounds case matched! Title:",title,"optionMeasurment:",optionMeasurment),returnUnits)break;hasSale?(unitsElementChildren[0].textContent=`$${compare_at_price} ea / $${(compare_at_price/optionMeasurment).toFixed(2)} per oz`,unitsElementChildren[1].textContent=`$${price} ea / $${(price/optionMeasurment).toFixed(2)} per oz`):unitsElementChildren[0].textContent=`$${price} ea / $${(price/optionMeasurment).toFixed(2)} per oz`;break}default:console.log("No units available")}})}if(returnUnits)return optionMeasurment}updateBulkDiscountMessage(selected_quantity=document.querySelector('.QuantitySelector input[name="quantity"]').value){if(!selected_quantity)return;let{index,percent,quantity,threshHoldMet,hideMessage}=getBulkDiscounts(selected_quantity,this.state);if(index===void 0||hideMessage)return;if(!percent||!quantity){console.log("No bulk discounts for this variant, skipping message update"),this.removeMessage("--message");return}const title=this.state.currentVariant.title,nextTierQuantity=quantity[index+1]-selected_quantity,exactQuantity=quantity[index]-selected_quantity==0;let message="";percent[index]===0?message=`Add ${(quantity[1]||quantity[1])-selected_quantity} more for ${percent[index+1]}% off ${title}`:exactQuantity?message=`You qualify for ${percent[index]}% off ${title}`:threshHoldMet?isNaN(nextTierQuantity)?message=`You qualify for ${percent[index]}% off ${title}`:message=`You qualify for ${percent[index]}% off ${title}. 2 Add ${nextTierQuantity} more for ${percent[index+1]}% off`:message=`Add ${(quantity[0]||quantity[1])-selected_quantity} more for ${percent[index]}% off ${title}`,this.updateMessage("--message",message)}updateBulkDiscounts(state){if(console.log("=== updateBulkDiscounts CALLED ==="),console.log("state:",state),console.log("state.currentVariant:",state?.currentVariant),console.log("state.hasUnits:",state?.hasUnits),console.log("state.product.type:",state?.product?.type),state){const quantityInput=document.querySelector('.QuantitySelector input[name="quantity"]');console.log("quantityInput:",quantityInput,"value:",quantityInput?.value);const{has_bulk_discounts,percent,quantity,casePack}=getBulkDiscounts(quantityInput?.value||1,state);console.log("getBulkDiscounts result:",{has_bulk_discounts,percent,quantity,casePack});const isSingleUnit=state.currentVariant?.options.some(option=>option=="single unit"||option=="Single Unit"),isSalePrice=state.currentVariant.compare_at_price,price=isSalePrice||state.currentVariant.price,bulkQuantity=casePack||1,variantTitle=state.currentVariant.title;if(console.log("variantTitle:",variantTitle,"isSalePrice:",isSalePrice,"price:",price),isSingleUnit||this.elements.singleUnitPrice){const swatch_value=document.querySelector(".Product__swatch-flex input:checked")?.value,single_unit_variant=state.product.variants.find(variant2=>{if(!/single unit/gi.test(variant2.title)||!variant2.available||swatch_value&&!new RegExp(swatch_value,"gi").test(variant2.title))return!1;const currentOptions=state.currentVariant.options,variantOptions=variant2.options;for(let i2=0;i2<currentOptions.length-1;i2++)if(!/single unit|case pack/gi.test(currentOptions[i2])&&!/single unit|case pack/gi.test(variantOptions[i2])&¤tOptions[i2]!==variantOptions[i2])return!1;return!0});console.log("Single unit variant search:",{swatch_value,single_unit_variant,currentVariant:state.currentVariant,available:single_unit_variant?.available});const singleUnitTitle=this.elements.singleUnitPrice.previousElementSibling;if(!single_unit_variant||!single_unit_variant.available)this.elements.singleUnitPrice.style.display="none",singleUnitTitle&&(singleUnitTitle.style.display="none");else{this.elements.singleUnitPrice.style.display="",singleUnitTitle&&(singleUnitTitle.style.display="");const priceElement=this.elements.singleUnitPrice.children[0],singleUnitSalePriceEl=this.elements.singleUnitPrice.children[1];singleUnitTitle.className==="unit-title"?singleUnitTitle.textContent=variantTitle+" =":singleUnitTitle.textContent="Single unit =",isSingleUnit?priceElement.textContent="$"+(price/100).toFixed(2)+" ea":priceElement&&single_unit_variant&&(priceElement.textContent=` $${(single_unit_variant.price/100).toFixed(2)} ea`),isSalePrice&&singleUnitSalePriceEl&&(priceElement&&single_unit_variant?priceElement.textContent="$"+(single_unit_variant.compare_at_price/100).toFixed(2)+" ea":singleUnitSalePriceEl&&single_unit_variant&&(singleUnitSalePriceEl.textContent=` $${(single_unit_variant.price/100).toFixed(2)} ea`))}}const productHasBulkDiscounts=state.metafields?.[state.product.id]?.bulkDiscounts?.quantity;if(console.log("productHasBulkDiscounts:",productHasBulkDiscounts),!has_bulk_discounts&&!productHasBulkDiscounts){console.log("=== No bulk discounts at all, calling updateUnits ==="),state.hasUnits&&this.updateUnits();return}if(has_bulk_discounts==="show_regular_price"){console.log("=== Showing regular price for variant without bulk discounts ==="),state.hasUnits&&this.updateUnits();return}const bulkDiscounts=document.querySelector(".Price_breakdown-messaging:not(#single-bulk-price)"),currentPrices=bulkDiscounts.children;let i=currentPrices.length;for(;i--;)currentPrices[i].remove();
2state.hasUnits&&!casePack&&state.product.variants.forEach(variant2=>{if(!state.variantMetafields?.[variant2.id]?.bulkDiscounts?.quantity){const is10mlVariant=/10\s?ml/i.test(variant2.title),variantUnitMeasurement=this.getUnitMeasurement(variant2.title,state.product.title,variant2.sku),displayTitle=variant2.title.replace(/^1 - /,"");console.log("Variant without bulk discount:",displayTitle,"SKU:",variant2.sku,"unitMeasurement:",variantUnitMeasurement);const p=document.createElement("p");p.className="Price_breakdown_tiers";const spanTitle=document.createElement("span");spanTitle.className="unit-title",spanTitle.textContent=`${displayTitle} =`;const spanPriceContainer=document.createElement("span");spanPriceContainer.className=is10mlVariant?"price-container":"Price_breakdown_inUnits price-container";const spanPrice=document.createElement("span"),variantPrice=variant2.price/100;if(variant2.compare_at_price){spanPrice.className="line-through";const comparePrice=variant2.compare_at_price/100;if(variantUnitMeasurement&&!is10mlVariant){const comparePricePerOz=comparePrice/variantUnitMeasurement;spanPrice.textContent=`$${comparePrice.toFixed(2)} ea / $${comparePricePerOz.toFixed(2)} per oz`}else spanPrice.textContent=`$${comparePrice.toFixed(2)} ea`;spanPriceContainer.appendChild(spanPrice);const spanSalePrice=document.createElement("span");if(spanSalePrice.className="sale-price",variantUnitMeasurement&&!is10mlVariant){const salePricePerOz=variantPrice/variantUnitMeasurement;spanSalePrice.textContent=`$${variantPrice.toFixed(2)} ea / $${salePricePerOz.toFixed(2)} per oz`}else spanSalePrice.textContent=`$${variantPrice.toFixed(2)} ea`;spanPriceContainer.appendChild(spanSalePrice)}else{if(variantUnitMeasurement&&!is10mlVariant){const pricePerOz=variantPrice/variantUnitMeasurement;spanPrice.textContent=`$${variantPrice.toFixed(2)} ea / $${pricePerOz.toFixed(2)} per oz`}else spanPrice.textContent=`$${variantPrice.toFixed(2)} ea`;spanPriceContainer.appendChild(spanPrice)}p.appendChild(spanTitle),p.appendChild(spanPriceContainer),bulkDiscounts.appendChild(p)}});const is10ml=/10\s?ml/i.test(variantTitle),productTitle=state.product.title,variantSku=state.currentVariant.sku,unitMeasurement=this.getUnitMeasurement(variantTitle,productTitle,variantSku);console.log("updateBulkDiscounts: variantTitle=",variantTitle,"productTitle=",productTitle,"variantSku=",variantSku,"unitMeasurement=",unitMeasurement);const productType=this.state.product.type?this.state.product.type.toLowerCase():"",shouldRemoveColor=["vessels","lids","packaging","candles"].includes(productType);let cleanedVariantTitle=variantTitle;if(shouldRemoveColor){const colorOption=this.state.product.options_with_values?.find(opt=>opt.name.toLowerCase()==="color"||opt.name.toLowerCase()==="colour");if(colorOption){const cleanedParts=variantTitle.split(" / ").filter(part=>!colorOption.values.includes(part));cleanedParts.length>0&&(cleanedVariantTitle=cleanedParts.join(" / "))}}if(cleanedVariantTitle=cleanedVariantTitle.replace(/^1 - /,""),productType==="cotton-wicks"){console.log("=== Cotton wicks detected! Original title:",variantTitle);const titleParts=variantTitle.split(" / ");for(const part of titleParts)if(part.toLowerCase().includes("pack of")){cleanedVariantTitle=part,console.log("=== Extracted pack title:",cleanedVariantTitle);break}}percent.forEach((percent2,i2)=>{let nextQuantity=1;const q=quantity[i2],p=document.createElement("p"),priceDifferenceInBulk=price/100*(100-percent2)/100,priceDifferenceEach=priceDifferenceInBulk/bulkQuantity;if(i2===0){const spanPriceContainer2=document.createElement("span");spanPriceContainer2.className="price-container";const p2=document.createElement("p");p2.className="Price_breakdown_tiers";const spanCasePack2=document.createElement("span");if(spanCasePack2.className="unit-title",casePack)if(quantity&&quantity[0]){const firstTierMax=quantity[0]-1;spanCasePack2.textContent=`1 - ${firstTierMax} case pack of ${casePack} = `}else spanCasePack2.textContent=`1 case pack of ${casePack} = `;else if(quantity&&quantity[0]){const firstTierMax=quantity[0]-1;spanCasePack2.textContent=`1 - ${firstTierMax} ${cleanedVariantTitle} = `}else spanCasePack2.textContent=`1 ${cleanedVariantTitle} = `;const spanPrice2=document.createElement("span");if(spanPrice2.className="unit-title",isSalePrice&&(spanPrice2.className="line-through"),casePack)spanPrice2.textContent=`$${(price/100).toFixed(2)} case / $${(price/casePack/100).toFixed(2)} ea`;else if(state.hasUnits&&!is10ml&&unitMeasurement){const pricePerOz=price/100/unitMeasurement;spanPrice2.textContent=`$${(price/100).toFixed(2)} ea / $${pricePerOz.toFixed(2)} per oz`}else spanPrice2.textContent=`$${(price/100).toFixed(2)} ea`;if(spanPriceContainer2.appendChild(spanPrice2),isSalePrice){const spanSalePrice=document.createElement("span");if(casePack)spanSalePrice.textContent=` $${(state.currentVariant.price/100).toFixed(2)} case / $${(state.currentVariant.price/casePack/100).toFixed(2)} ea`;else if(state.hasUnits&&!is10ml&&unitMeasurement){const salePricePerOz=state.currentVariant.price/100/unitMeasurement;spanSalePrice.textContent=` $${(state.currentVariant.price/100).toFixed(2)} ea / $${salePricePerOz.toFixed(2)} per oz`}else spanSalePrice.textContent=` $${(state.currentVariant.price/100).toFixed(2)} ea`;spanSalePrice.className="sale-price",spanPriceContainer2.appendChild(spanSalePrice)}p2.append(spanCasePack2,spanPriceContainer2),bulkDiscounts.appendChild(p2)}const spanPriceContainer=document.createElement("span");spanPriceContainer.className="price-container",p.className="Price_breakdown_tiers";const spanCasePack=document.createElement("span"),offSetQuantity=quantity[i2+1]-1,displayTitle=cleanedVariantTitle;
2casePack?spanCasePack.textContent=offSetQuantity?`${q} - ${offSetQuantity} case pack of ${casePack} = `:`${q}+ case pack of ${casePack} = `:state.hasUnits?spanCasePack.textContent=offSetQuantity?`${q} - ${offSetQuantity} ${displayTitle} = `:`${q}+ ${displayTitle} = `:spanCasePack.textContent=offSetQuantity?`${q} - ${offSetQuantity} ${displayTitle} = `:`${q}+ ${displayTitle} = `,nextQuantity=q;const spanPrice=document.createElement("span");if(isSalePrice&&(spanPrice.className="line-through"),casePack)spanPrice.textContent=`$${priceDifferenceInBulk.toFixed(2)} case / $${priceDifferenceEach.toFixed(2)} ea`;else if(state.hasUnits&&!is10ml&&unitMeasurement){const bulkPricePerOz=priceDifferenceInBulk/unitMeasurement;spanPrice.textContent=`$${priceDifferenceInBulk.toFixed(2)} ea / $${bulkPricePerOz.toFixed(2)} per oz`}else spanPrice.textContent=`$${priceDifferenceInBulk.toFixed(2)} ea`;if(spanPriceContainer.appendChild(spanPrice),isSalePrice){const spanSalePrice=document.createElement("span"),priceDifferenceInBulk2=state.currentVariant.price/100*(100-percent2)/100,priceDifferenceEach2=priceDifferenceInBulk2/bulkQuantity;if(casePack)spanSalePrice.textContent=`$${priceDifferenceInBulk2.toFixed(2)} case / $${priceDifferenceEach2.toFixed(2)} ea`;else if(state.hasUnits&&!is10ml&&unitMeasurement){const bulkSalePricePerOz=priceDifferenceInBulk2/unitMeasurement;spanSalePrice.textContent=`$${priceDifferenceInBulk2.toFixed(2)} ea / $${bulkSalePricePerOz.toFixed(2)} per oz`}else spanSalePrice.textContent=`$${priceDifferenceInBulk2.toFixed(2)} ea`;spanSalePrice.className="sale-price",spanPriceContainer.appendChild(spanSalePrice)}p.append(spanCasePack,spanPriceContainer),bulkDiscounts.appendChild(p)}),this.elements.priceBreakdown.style=null,state.hasUnits&&!casePack&&this.updateUnits()}}updateMessage(className,message){this.elements.messages.className=`Product__messaging ${className}`,this.elements.messages.textContent=message}updateOutOfStockMessage(message){this.elements.outOfStockMessage.textContent=message||""}removeMessage(className=!1){this.elements.messages.classList.contains(className)?(this.elements.messages.textContent="",this.elements.messages.classList.remove(className)):(this.elements.messages.textContent="",this.elements.messages.className="Product__messaging")}createUpdatedImages(mobileCarouselContainer,media,i){const mobileImg=new Image;mobileImg.src=media[i].src;const thumbsMobileCarouselDiv=document.createElement("div");thumbsMobileCarouselDiv.className="Product__carousel-item",thumbsMobileCarouselDiv.append(mobileImg),mobileCarouselContainer.append(thumbsMobileCarouselDiv),this.elements.mobileCarouselImgs=mobileCarouselContainer.children,this.setState({carouselImgs:new Array(mobileCarouselContainer.children.length).fill(null).map((v,i2)=>i2++)})}imageUrlFilter(url){const firstDot=url.indexOf("."),lastDot=url.lastIndexOf(".");return firstDot===-1||lastDot===-1||lastDot<=firstDot?"":url.slice(firstDot+1,lastDot)}changeThumbnailUp(){let thumbNails=document.querySelectorAll('.Product__thumb-images img[style*="display: block"], .Product__thumb-images video[style*="display: block"]'),mainImageBox=document.querySelector("div.Product__main-image");if(mainImageBox.lastElementChild&&mainImageBox.lastElementChild.tagName==="IMG")for(let i=0;i<thumbNails.length;i++){let thumbSrc,mainImageSrc;if(thumbNails[i].tagName=="IMG"&&(thumbSrc=this.imageUrlFilter(thumbNails[i].src),mainImageSrc=this.imageUrlFilter(mainImageBox.lastElementChild.src)),thumbNails[i].tagName==="IMG"&&thumbSrc===mainImageSrc){let prev;if(i==0?prev=thumbNails[thumbNails.length-1]:prev=thumbNails[i-1],prev){if(prev.tagName==="IMG")mainImageBox.lastElementChild.src=prev.src,thumbNails[i].classList.remove("active-variant"),prev.classList.add("active-variant");else if(prev.tagName==="VIDEO"){mainImageBox.lastElementChild.remove();const videoClone=prev.cloneNode(!0);videoClone.classList.add("repeating-element"),videoClone.autoplay=!0,videoClone.muted=!0,mainImageBox.appendChild(videoClone),thumbNails[i].classList.remove("active-variant"),prev.classList.add("active-variant")}const thumbnailBox=document.querySelector(".Product__thumb-outer-box .Product__thumb-images"),activeThumb=thumbnailBox.querySelector(".active-variant"),thumbHe
2ight=activeThumb.offsetHeight,index=Array.from(thumbnailBox.children).indexOf(activeThumb),maxVisible=3.39,scrollAmount=Math.max(0,index*thumbHeight);console.log("scrollAmount",scrollAmount),thumbnailBox.scrollTop=scrollAmount}return}}else if(mainImageBox.lastElementChild&&mainImageBox.lastElementChild.tagName=="VIDEO")for(let i=0;i<thumbNails.length;i++){let thumbSrc,mainImageSrc;if(thumbNails[i].tagName=="VIDEO"&&(thumbSrc=this.imageUrlFilter(thumbNails[i].firstElementChild.src),mainImageSrc=this.imageUrlFilter(mainImageBox.lastElementChild.firstElementChild.src)),thumbNails[i].tagName==="VIDEO"&&thumbSrc===mainImageSrc){let prev;if(i==0?prev=thumbNails[thumbNails.length-1]:prev=thumbNails[i-1],prev){if(prev.tagName==="VIDEO")mainImageBox.lastElementChild.firstElementChild.src=prev.firstElementChild.src,thumbNails[i].classList.remove("active-variant"),prev.classList.add("active-variant");else if(prev.tagName==="IMG"){mainImageBox.lastElementChild.remove();const imageClone=prev.cloneNode(!0);imageClone.classList.add("repeating-element"),mainImageBox.appendChild(imageClone),thumbNails[i].classList.remove("active-variant"),prev.classList.add("active-variant")}const thumbnailBox=document.querySelector(".Product__thumb-outer-box .Product__thumb-images"),activeThumb=thumbnailBox.querySelector(".active-variant"),thumbHeight=activeThumb.offsetHeight,index=Array.from(thumbnailBox.children).indexOf(activeThumb),maxVisible=3.39,scrollAmount=Math.max(0,index*thumbHeight);console.log("scrollAmount",scrollAmount),thumbnailBox.scrollTop=scrollAmount}return}}}changeThumbnailDown(){let thumbNails=document.querySelectorAll('.Product__thumb-images img[style*="display: block"], .Product__thumb-images video[style*="display: block"]'),mainImageBox=document.querySelector("div.Product__main-image");if(mainImageBox.lastElementChild&&mainImageBox.lastElementChild.tagName==="IMG")for(let i=0;i<thumbNails.length;i++){let thumbSrc,mainImageSrc;if(thumbNails[i].tagName=="IMG"&&(thumbSrc=this.imageUrlFilter(thumbNails[i].src),mainImageSrc=this.imageUrlFilter(mainImageBox.lastElementChild.src)),thumbNails[i].tagName==="IMG"&&thumbSrc===mainImageSrc){let next;if(i==thumbNails.length-1?next=thumbNails[0]:next=thumbNails[i+1],next){if(next.tagName==="IMG")mainImageBox.lastElementChild.src=next.src,thumbNails[i].classList.remove("active-variant"),next.classList.add("active-variant");else if(next.tagName==="VIDEO"){mainImageBox.lastElementChild.remove();const videoClone=next.cloneNode(!0);videoClone.classList.add("repeating-element"),videoClone.autoplay=!0,videoClone.muted=!0,mainImageBox.appendChild(videoClone),thumbNails[i].classList.remove("active-variant"),next.classList.add("active-variant")}const thumbnailBox=document.querySelector(".Product__thumb-outer-box .Product__thumb-images"),activeThumb=thumbnailBox.querySelector(".active-variant"),thumbHeight=activeThumb.offsetHeight,index=Array.from(thumbnailBox.children).indexOf(activeThumb),scrollAmount=Math.max(0,(index+1-3.39)*thumbHeight);thumbnailBox.scrollTop=scrollAmount}return}}else if(mainImageBox.lastElementChild&&mainImageBox.lastElementChild.tagName=="VIDEO")for(let i=0;i<thumbNails.length;i++){let thumbSrc,mainImageSrc;if(thumbNails[i].tagName=="VIDEO"&&(thumbSrc=this.imageUrlFilter(thumbNails[i].firstElementChild.src),mainImageSrc=this.imageUrlFilter(mainImageBox.lastElementChild.firstElementChild.src)),thumbNails[i].tagName==="VIDEO"&&thumbSrc===mainImageSrc){let next;if(i==thumbNails.length-1?next=thumbNails[0]:next=thumbNails[i+1],next){if(next.tagName==="VIDEO")mainImageBox.lastElementChild.firstElementChild.src=next.firstElementChild.src,thumbNails[i].classList.remove("active-variant"),next.classList.add("active-variant");else if(next.tagName==="IMG"){mainImageBox.lastElementChild.remove();const imageClone=next.cloneNode(!0);imageClone.classList.add("repeating-element"),mainImageBox.appendChild(imageClone),thumbNails[i].classList.remove("active-variant"),next.classList.add("active-variant")}const thumbnailBox=document.querySelector(".Product__thumb-outer-box .Product__thumb-images"),activeThumb=thumbnailBox.querySelector(".active-variant"),thumbHe
2ight=activeThumb.offsetHeight,index=Array.from(thumbnailBox.children).indexOf(activeThumb),scrollAmount=Math.max(0,(index+1-3.39)*thumbHeight);thumbnailBox.scrollTop=scrollAmount}return}}}updateImages(product2){console.log("updateImages=>MainImage=>",product2.featured_image),document.querySelector(".Product__main-image > img").src=product2.featured_image;const media=product2.media.filter(obj=>obj.width!=200),mobileCarouselContainer=document.querySelector(".Product__mobile-carousel-layout"),mobileCarouselItems=mobileCarouselContainer.querySelectorAll(".Product__carousel-item"),mobileCarouselImages=document.querySelectorAll(".Product__carousel-item img"),thumbsContainer=document.querySelector(".Product__thumb-images"),thumbImages=thumbsContainer.querySelectorAll("img");let i=thumbImages.length>media.length?thumbImages.length:media.length;for(;i--;){if(media[i]){const newImage=new Image;newImage.src=media[i].src,newImage.id=i;const currentThumb=thumbImages[i];if(!currentThumb){this.createUpdatedImages(mobileCarouselContainer,media,i),thumbsContainer.appendChild(newImage);continue}currentThumb.replaceWith(newImage),mobileCarouselImages[i].src=media[i].src;continue}thumbImages[i].remove();try{mobileCarouselItems[i].remove()}catch(error){console.log(error)}this.elements.mobileCarouselImgs=document.querySelectorAll(".Product__carousel-item"),this.setState({carouselImgs:new Array(document.querySelectorAll(".Product__carousel-item").length).fill(null).map((v,i2)=>i2++)})}}popState(){window.addEventListener("popstate",e=>{this.state.browserBack=!0;const state=e.state?e.state:this.state;this.state=state,this.updateFullProduct(state.product)})}updateURLvariantId(handle,id){const{href,origin,pathname,search}=window.location,mySearchParams=new URLSearchParams(search),url=handle?href.replace(/(.+\/products\/)(.+)/,`$1${handle}?variant=${id}`):origin+pathname+`?variant=${id}`;return history.replaceState(JSON.parse(JSON.stringify(this.state)),"",url),url}forceSelection(state=this.state,handle=!1){let id=window.location.href.match(/(variant=)(\d+)/)?.[2];if(state.currentVariant.id==id)return;const variants=state.product.variants;if(state.isVirtualProduct)return;id||(id=variants[0].id),variants.length>1&&(variants.find(variant3=>variant3.id==id)||variants[0]).options.forEach((val,i)=>{const input=document.querySelector(`input[value='${val}']`);input&&(input.checked=!0)}),this.getVariant(),this.updatePrice(),this.updateURLvariantId(handle,id)}dialogHover(e){const target=e.target,currentTargetId=e.currentTarget.id;if(target.tagName==="LABEL"){const val=target.getAttribute("value"),forValue=target.getAttribute("for");if(this.state.dialogDefaultInput.setAttribute("title",forValue),this.state.dialogDefaultInput.value=val,document.querySelector(`.Dialog__inputs input[value="${val}"]`).checked=!0,this.state.isWick)this.dialogInnerHTML(val);else{const variant2=this.getVariantImage(val,"option"+currentTargetId);variant2.featured_image.src&&(this.elements.imgFlyOut.src=variant2.featured_image.src),this.elements.moreInformation.innerHTML=this.getVariantMetafield(variant2)?.moreInformation?.variant}}}dialogInnerHTML(val){const html=this.state.wickFlyOutData[val]?.content;if(html){this.elements.Dialog__values.innerHTML=html;return}const hoveredProduct=this.state.wickCurrentProducts?.find(product2=>product2.id==val);if(!hoveredProduct?.featured_image)return;let img=this.elements.Dialog__values.querySelector("img");img||(img=document.createElement("img"),this.elements.Dialog__values.appendChild(img));const separator=hoveredProduct.featured_image.includes("?")?"&":"?";img.src=`${hoveredProduct.featured_image}${separator}width=155`,img.alt=hoveredProduct.title}dialogUpdateValue(e){const optionPos=Number(e.currentTarget?.id),target=e.target;if(target.tagName==="INPUT"){if(optionPos)return this.checkSelections(optionPos,target.value,document.querySelectorAll(".m-dropdown-options"));this.updateWickProduct(e,"productBTN")}}markSwatchSelction(targetId){const matchingVariant=this.state.product.variants.find(variant2=>variant2.id==targetId);if(matchingVariant){const val=matchingVariant.options[0],input_checked_el=document.querySelector(`input[value='${val}']`);input_checked_el.checked=!0;const parentEl_position=input_checked_el.closest(".m-dropdown-options[id]").id;this.checkSelections(parentEl_position,matchingVariant.options[0],document.querySelectorAll(".m-dropdown-options"));const{swatchColorElements}=this.state;swatchColorElements.length&&(swatchColorElements[targetId].textContent=val)}}mobileCarousel(e,currentIndex){const targetClass=e.target?.className?.baseVal,itemLength=this.state.carouselImgs.length-1;let index=this.state.caraouselIndex;targetClass==="arrow-right"?(index=index===itemLength?0:index+1,this.markSwatchSelction(this.elements.mobileCarouselImgs[index].id)):targetClass==="arrow-left"&&(index=index===0?itemLength:index-1,this.markSwatchSelction(this.elements.mobileCarouselImgs[index].id)),this.elements.mobileCarouselImgs[currentIndex].style.transform="translateX(100%)",this.elements.mobileCarouselImgs[currentIndex].style.opacity=0,this.elements.mobileCarouselImgs[index].style.transform="translateX(0%)",this.elements.mobileCarouselImgs[index].style.opacity=1,this.state.caraouselIndex=index,this.elements.mobileCarouselCount.textContent=index+1}thumbImageSelected(e){const target=e.target,targetId=target.id;console.log("thumbImageSelected",target);let thumbNails=document.querySelectorAll('.Product__thumb-images img[style*="display: block"], .Product__thumb-images video[style*="display: block"]');if(target.classList.contains("Product__thumb-images")?target.classList.remove("active-variant"):(thumbNails.forEac
2h((thumb=>{thumb.classList.remove("active-variant")})),target.classList.add("active-variant")),!targetId)return;const mainContainer=document.querySelector(".Product__main-image"),existingMainImage=mainContainer.querySelector(":scope > img"),existingMainVideo=mainContainer.querySelector(":scope > video");if(target.tagName==="IMG"){console.log("Image is present in the div");const thumbImageSrc=target.src;existingMainVideo?existingMainVideo.replaceWith(this.createImageElement(thumbImageSrc)):existingMainImage?existingMainImage.src=thumbImageSrc:mainContainer.appendChild(this.createImageElement(thumbImageSrc))}else if(target.tagName==="VIDEO"){console.log("Video is present in the div");const sourceElement=target.querySelector("source");if(!sourceElement){console.error("No valid video source found");return}const thumbVideoSrc=sourceElement.src,vidElement=target.cloneNode(!0);vidElement.classList.remove("active-variant"),vidElement.autoplay=!0,vidElement.muted=!0,existingMainImage?existingMainImage.replaceWith(vidElement):existingMainVideo?(existingMainVideo.querySelector("source").src=thumbVideoSrc,existingMainVideo.load()):mainContainer.appendChild(vidElement)}else console.log("No image or video found");targetId!=="false"&&this.markSwatchSelction(targetId)}createImageElement(src){const img=document.createElement("img");return img.src=src,img}createVideoElement(media){const video=document.createElement("video");return video.src=media[0].sources[0].url,video.autoplay=!0,video.muted=!0,video.controls=!1,video}isMakerPro(){return customerTags?customerTags.some(tag=>tag=="maker_pro"||tag=="swell_vip_makesy enthusiast"):!1}async addToCart(e){e&&e.preventDefault(),window._cartManuallyClosed=!1;const quantity=document.querySelector('.QuantitySelector input[name="quantity"]').value,cartSectionId=document.querySelector("#cart-drawer").parentNode.id.replace(/shopify-section-/,""),{currentVariant,product:product2,selectedClipVariant,metafields:metafields2,isWick:isWick2,additional_products}=this.state,item_weight=currentVariant.weight;console.log("item_weight:",item_weight),console.log("THIS.STATE=>",this.state);try{const payload={sections_url:`${Shopify.routes.root}variants/${currentVariant.id}`,sections:["variant-added",cartSectionId],items:[{id:currentVariant.id,properties:{_item_weight:item_weight},quantity}]},selectedSellingPlanInput=document.querySelector('input[name="selling_plan"]');let selectedSellingPlanId=selectedSellingPlanInput?selectedSellingPlanInput.value:"";if(!selectedSellingPlanId&¤tVariant.requires_selling_plan){const firstPlan=currentVariant.selling_plan_allocations?.[0]?.selling_plan_id;firstPlan&&(selectedSellingPlanId=firstPlan)}selectedSellingPlanId&&(payload.items[0].selling_plan=selectedSellingPlanId),selectedClipVariant&&payload.items.push({id:selectedClipVariant.id,quantity}),additional_products&&additional_products?.length>0&&additional_products.forEach(item=>payload.items.push({id:item.variants[0].id})),console.log("\u{1F50D} Checking for Aura lid:",{hasWindow:typeof window<"u",hasSelectedAuraLid:!!window.selectedAuraLid,selectedAuraLid:window.selectedAuraLid});const bulkDiscounts=getBulkDiscounts(quantity,this.state);if(bulkDiscounts&&bulkDiscounts.has_bulk_discounts!=="show_regular_price"&&(payload.items[0].properties={...payload.items[0].properties,_percent:bulkDiscounts.percent.toString(),_quantity:bulkDiscounts.quantity.toString()}),window.selectedAuraLid&&window.selectedAuraLid.variantId){console.log("\u{1F3AF} Adding Aura Vessel lid to cart:",window.selectedAuraLid),payload.items[0].properties={...payload.items[0].properties,_bundle:"aura-vessel-with-lid",_bundle_item:"vessel"};const lidVariantId=parseInt(window.selectedAuraLid.variantId),lidProperties={_bundle:"aura-vessel-with-lid",_bundle_item:"lid"};window.selectedAuraLid.bulkPercent&&window.selectedAuraLid.bulkQuantity&&window.selectedAuraLid.bulkPercent.trim()!==""&&window.selectedAuraLid.bulkQuantity.trim()!==""?(lidProperties._percent=window.selectedAuraLid.bulkPercent,lidProperties._quantity=window.selectedAuraLid.bulkQuantity,console.log("\u2705 Lid bulk discounts applied:",{_percent:window.selectedAuraLid.bulkPercent,_quantity:window.selectedAuraLid.bulkQuantity})):console.log("\u26A0\uFE0F Lid has no bulk discount data"),payload.items.push({id:lidVariantId,quantity,properties:lidProperties}),console.log("\u2705 Lid added to payload. Total items:",payload.items.length)}else console.log("\u26A0\uFE0F No lid selected or lid missing variantId");if(isWick2){const packSizeIs1000=currentVariant.options.includes("1000");payload.items[0].properties=packSizeIs1000?{...payload.items[0].properties,_percent:"10,15",_quantity:"10,50"}:payload.items[0].properties}const json2=await addToCart(payload),[cartContent]=await Promise.all([fetch(`${Shopify.routes.root}cart.js`).then(r=>r.json()),isNextDayProEligibleFn().then(isEligible=>{isEligible||console.error("Review next day processing is not eligible for this cart.")}).catch(err=>{console.error(err)})]);if(console.log("json:",json2),json2.status){console.log("cart error status:",json2.description),this.cartErrorMessage.classList.add("--error"),this.cartErrorMessage.textContent=json2.description;try{const sectionsData=await fetch(`${Shopify.routes.root}?sections=${cartSectionId}`).then(r=>r.json());cartContent.sections=sectionsData,document.documentElement.dispatchEvent(new CustomEvent("cart:change",{bubbles:!0,detail:{baseEvent:"cart:error",cart:cartContent}}))}catch(cartFetchError){console.log("Error fetching cart after add error:",cartFetchError)}}else{cartContent.sections=json2.sections;const cartDrawerType=window.themeVariables.settings.cartType!=="drawer"?document.getElementsByClassName("quick-buy-drawer")[0]:document.querySelector("cart-drawer.cart-drawer");window._cartManuallyClosed||cartDrawerType.dispatchEvent(new CustomEvent("variant:add",{bubbles:!0,detail:{items:json2.hasOwnProperty("items")?json2.items:[json2],cart:cartContent}})),document.documentElement.dispatchEvent(new CustomEvent("cart:change",{bubbles:!0,detail:{baseEvent:"variant:add",cart:cartContent}}))}}catch(error){console.log("cart error:",error),this.cartErrorMessage.classList.add("--error"),this.cartErrorMessage.textContent=typeof json>"u"?error:json.description??error;try{const cartContent=await(await fetch(`${Shopify.routes.root}cart.js`)).json(),sectionsData=await(await fetch(`${Shopify.routes.root}?sections=${cartSectionId}`)).json();cartContent.sections=sectionsData,document.documentElement.dispatchEvent(new CustomEvent("cart:change",{bubbles:!0,detail:{baseEvent:"cart:error",cart:cartContent}}))}catch(cartFetchError){console.log("Error fetching cart after add error:",cartFetchError)}}}checkSelections(pos,val,dropdowns){const options=this.state.product.options,option1_checked_val=document.querySelector('[id="1"] input:checked')?.value;
2let checkedInputRemoved_index=null;const filteredVariants=this.state.product.variants.filter(variant3=>variant3.option1.includes(option1_checked_val));if(console.log("state-product-variants",this.state.product.variants),console.log("option1_checked_val==>",option1_checked_val,"filteredVariants==>",filteredVariants),console.log("options==>",options),options.forEach((option,i)=>{if(i){const optionElements=Array.from(document.querySelectorAll(`[id="${i+1}"] input`)),prevElement=document.querySelector(`[id="${i}"] input:checked`);optionElements.reduce((previous_checked_el,el,j)=>{const foundOptionValue=filteredVariants.some(variant3=>variant3[`option${i}`].includes(previous_checked_el)&&variant3[`option${i+1}`].includes(el.value)),optionLowercase=option&&option.toLowerCase();if(foundOptionValue){if(this.state.isWick?Array.from(document.querySelectorAll(`[id="${i+1}"] .menu-list label`))[j].classList.remove("--no-combination"):el.nextElementSibling.classList.remove("--no-combination"),console.log("debug: enable",`.custom-dropdown[data-option-name="${optionLowercase}"] .dropdown-options [data-value="${el.value}"]`),el.value&&optionLowercase){console.log("debug: enable",`.custom-dropdown[data-option-name="${optionLowercase}"] .dropdown-options [data-value="${el.value}"]`);try{document.querySelector(`.custom-dropdown[data-option-name="${optionLowercase}"] .dropdown-options [data-value="${el.value}"]`)&&document.querySelector(`.custom-dropdown[data-option-name="${optionLowercase}"] .dropdown-options [data-value="${el.value}"]`).classList.remove("div-option-disabled")}catch(error){console.log(error)}}}else{this.state.isWick?Array.from(document.querySelectorAll(`[id="${i+1}"] .menu-list label`))[j].classList.add("--no-combination"):el.nextElementSibling.classList.add("--no-combination"),console.log("doesnt exist:",foundOptionValue),el.checked&&(checkedInputRemoved_index=i);try{document.querySelector(`.custom-dropdown[data-option-name="${optionLowercase}"] .dropdown-options [data-value="${el.value}"]`)&&document.querySelector(`.custom-dropdown[data-option-name="${optionLowercase}"] .dropdown-options [data-value="${el.value}"]`).classList.add("div-option-disabled")}catch(error){console.log(error)}}return previous_checked_el},prevElement?.value)}}),typeof checkedInputRemoved_index=="number"){let firstInput="";if(this.state.isWick){const labelTextContent=document.querySelector(`[id="${checkedInputRemoved_index}"] .menu-list label:not(.--no-combination)`).textContent.toLowerCase().trim();firstInput=document.querySelector(`input[value='${labelTextContent}']`)}else{const labelTextContent=document.querySelector(`[id="${1+checkedInputRemoved_index}"] label:not(.--no-combination)`).textContent.toLowerCase().trim();firstInput=document.querySelector(`input[value="${labelTextContent}"]`)}console.log("firstInput:",firstInput),firstInput&&(firstInput.checked=!0)}if(!val)return;const titleValue=Array.from(document.querySelectorAll(".m-dropdown-options input:checked")).map(el=>el.value).join(" / ");let variant2=this.state.product.variants.find(variant3=>variant3.title===titleValue);if(!variant2&&!this.state.isWick){const selectedValues=Array.from(document.querySelectorAll(".m-dropdown-options input:checked")).map(el=>el.value);if(selectedValues.length){const partialMatches=this.state.product.variants.filter(v=>selectedValues.every((val2,idx)=>v.options[idx]===val2));variant2=partialMatches.find(v=>v.available)||partialMatches[0]}}if(console.log("checkSelections=>this.state",this.state,"titleValue",titleValue),console.log("variant:",variant2),!variant2&&!this.state.isWick)return this.removeMessage("--error"),this.setState({currentVariant:variant2},state=>{variant2&&this.updateBulkDiscounts(state)});this.setState({currentVariant:variant2},({product:product2,currentVariant,variantMetafields:variantMetafields2})=>{console.log("currentVariant:",currentVariant),document.dispatchEvent(new CustomEvent("variant:change",{detail:{currentVariant,addToCartForm:document.querySelector(".Product__layout-right")}}));const moreInformationVariant=variantMetafields2[currentVariant.id]?.moreInformation?.variant,moreInformationProduct=this.state.metafields[product2.id]?.moreInformation?.details;if(this.updateMoreInformation(moreInformationVariant||moreInformationProduct||"<span></span>"),currentVariant.featured_image){if(product2.featured_image=currentVariant.featured_image.src,window.innerWidth<=767){this.elements.mobile_image_layout.style.height=this.state.mobile_image_layout_height+"px";const carousolItems=document.querySelectorAll(".Product__carousel-item");
2if(Array.from(carousolItems).some(thumbs=>thumbs.id==variant2.id))for(let thumbs of carousolItems)thumbs.style.display=thumbs.id!=variant2.id?"none":"block"}else{const thumbImages=document.querySelectorAll(".Product__thumb-images img"),thumbVideos=document.querySelectorAll(".Product__thumb-images video");if(Array.from(thumbImages).some(t=>t.id==variant2.id)||Array.from(thumbVideos).some(t=>t.id==variant2.id)){for(let thumb of thumbImages)thumb.style.display=thumb.id!=variant2.id?"none":"block";for(let thumbVid of thumbVideos)thumbVid.style.display=thumbVid.id!=variant2.id?"none":"block"}}console.log("product.featured_image",product2.featured_image),console.log("firstThumbImage =====>",document.querySelectorAll('.Product__thumb-images img[style*="display: block"], .Product__thumb-images video[style*="display: block"]')[0])}this.checkStock(),this.updateDescription(product2),this.createSpecifications()}),this.updatePrice(),this.removeMessage("--error"),this.updateBulkDiscountMessage(),this.updateURLvariantId(!1,variant2.id),this.updateOutOfStockMessage(this.state.variantMetafields[variant2.id]?.outtaStockMessage),(this.state.isWick&&val==100||val==1e3)&&this.getClips(),!this.state.isWick&&["packaging","vessels","lids","candles","bottles","diffuser set","candle-wax"].includes(this.state.product.type)&&this.updateBulkDiscounts(this.state)}updateFullProduct(newProduct){this.updateDescription(newProduct),this.updateTitle(newProduct),this.updateMoreInformation(this.state.metafields[newProduct.id]?.moreInformation?.details),this.updatePrice(document.querySelector('.QuantitySelector input[name="quantity"]').value,newProduct.variants[0]),this.setState({currentVariant:newProduct.variants[0],product:newProduct},state=>{this.updateBulkDiscounts(state),this.updateURLvariantId(newProduct.handle,newProduct.variants[0].id),this.checkStock()})}updateCottonWicksPriceBreakdown(targetElement){let arr=[];
2if(this.state.product.variants.forEach(el=>{targetElement==el.option2&&arr.push(el)}),targetElement==arr[0].option2){let messagingElement=document.querySelector(".Price_breakdown-messaging");messagingElement.innerText="",arr.forEach(el=>{let priceElements=document.createElement("p");priceElements.classList.add("Price_breakdown_tiers");let unitTitle=document.createElement("span");unitTitle.innerText=`${el.option3} = `,priceElements.appendChild(unitTitle);let priceContainer=document.createElement("span");if(priceContainer.classList.add("Price_breakdown_inUnits","price-container"),el.compare_at_price){let comparePrice=document.createElement("span");comparePrice.innerText=` $${(el.compare_at_price/100).toFixed(2)} ea`,comparePrice.classList.add("line-through");let price=document.createElement("span");price.innerText=` $${(el.price/100).toFixed(2)} ea`,price.classList.add("sale-price"),priceContainer.appendChild(comparePrice),priceContainer.appendChild(price)}else{let price=document.createElement("span");price.innerText=` $${(el.price/100).toFixed(2)} ea`,priceContainer.appendChild(price)}priceElements.appendChild(priceContainer),messagingElement.appendChild(priceElements)}),this.updatePrice()}else this.updatePrice()}updateEnhancerPriceBreakdown(targetElement){let flag=0;
2this.state.product.variants.forEach((el,index)=>{if(targetElement==el.option1){let element=document.querySelectorAll(".Price_breakdown_tiers")[flag];element.innerText="";let unitTitle=document.createElement("span");unitTitle.innerText=`${el.option2} = `,element.appendChild(unitTitle);let priceContainer=document.createElement("span");if(priceContainer.classList.add("Price_breakdown_inUnits"),priceContainer.classList.add("price-container"),el.compare_at_price){let comparePrice=document.createElement("span"),price=document.createElement("span");comparePrice.innerText=` $${(el.compare_at_price/100).toFixed(2)} ea`,price.innerText=` $${(el.price/100).toFixed(2)} ea`,comparePrice.classList.add("line-through"),price.classList.add("sale-price"),priceContainer.appendChild(unitTitle),priceContainer.appendChild(comparePrice),priceContainer.appendChild(price)}else{let price=document.createElement("span");price.innerText=` $${(el.price/100).toFixed(2)} ea`,priceContainer.appendChild(price)}element.appendChild(priceContainer),flag++}}),this.updatePrice()}selectOption(e){const target=e.target,currentTarget=e.currentTarget,pos=Number(currentTarget.id);let thumbNails=document.querySelectorAll('.Product__thumb-images img[style*="display: block"], .Product__thumb-images video[style*="display: block"]');for(let i=0;i<thumbNails.length;i++)thumbNails[i].classList.remove("active-variant");if(target&&target.nodeName==="INPUT"){this.checkSelections(pos,target.value,document.querySelectorAll(".m-dropdown-options"));const{swatchColorElements,product:product2}=this.state,mediaType=product2.media[0].media_type,mainImage=document.querySelector(".Product__main-image > img"),mainVideo=document.querySelector(".Product__main-image > video");let videoClone;if(mainImage&&mediaType=="video"&&(videoClone=this.createVideoElement(product2.media)),console.log("selectOption=>mainImage=>",mainImage),console.log("selectOption=>mainVideo=>",mainVideo),console.log("selectOption=>featuredImage=>",product2.featured_image?.includes(".jpg")),console.log("selectOption=>featuredMedia=>",product2.featured_media),mainImage&&mediaType=="image")document.querySelector(".Product__main-image > img").src=product2.featured_image;else if(mainImage&&mediaType=="video")mainImage.replaceWith(videoClone);else if(mainVideo&&mediaType=="video")document.querySelector(".Product__main-image > video > source").src=product2.media[0].sources[0].url;else if(mainVideo&&mediaType=="image")mainVideo.replaceWith(this.createImageElement(product2.featured_image));else{const existingMainVideo=document.querySelector(".Product__main-image > video"),existingMainImage=document.querySelector(".Product__main-image > img");existingMainVideo?existingMainVideo.replaceWith(this.createImageElement(product2.featured_image)):existingMainImage&&(existingMainImage.src=product2.featured_image),console.log("selectOption=>existingMainVideo=>",existingMainVideo),console.log("selectOption=>existingMainImage=>",existingMainImage)}let firstThumbNails=document.querySelectorAll('.Product__thumb-images img[style*="display: block"], .Product__thumb-images video[style*="display: block"]');firstThumbNails[0].classList.add("active-variant");let upArrrow=document.querySelector("#up-arrow-thumb"),downArrow=document.querySelector("#down-arrow-thumb");firstThumbNails.length<=4?(upArrrow.classList.remove("show-thumb-arrow"),upArrrow.classList.add("hide-thumb-arrow"),downArrow.classList.remove("show-thumb-arrow"),downArrow.classList.add("hide-thumb-arrow")):(upArrrow.classList.remove("hide-thumb-arrow"),upArrrow.classList.add("show-thumb-arrow"),downArrow.classList.remove("hide-thumb-arrow"),downArrow.classList.add("show-thumb-arrow")),currentTarget.classList.contains("Product__swatch-flex")&¤tTarget.classList.contains("m-dropdown-options")&&swatchColorElements[0]&&(swatchColorElements[0].textContent=target.value),this.state.product.type==="enhancers"||this.state.product.type==="bamboo-wicks"?this.updateEnhancerPriceBreakdown(target.value):this.state.product.type==="cotton-wicks"&&this.updateCottonWicksPriceBreakdown(target.value)}}async readSheet(range){return console.log("range:",range),fetch("https://api.makesy.com/get-doc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({range})}).then(res=>res.json()).then(data=>data).catch(err=>console.log("err: ",err))}async createSpecifications(){if(!this.elements.specifications)return;if(this.state.isLoadingSpecifications){console.log("createSpecifications already running, skipping duplicate call");return}this.state.isLoadingSpecifications=!0;const tbodyElements=Array.from(document.querySelectorAll(".accordian__menu_items.Product__details tbody")),tbodyNotes=tbodyElements[0],tbodySpecifications=tbodyElements[1];
2tbodyElements.forEach(tbody=>{for(;tbody.firstChild;)tbody.removeChild(tbody.firstChild)});const variant_id=this.state.currentVariant?.id,product_id=this.state.product.id,product_type=this.state.product.type;let showNotesData=!1;try{const data=await this.readSheet(`specifications-${product_type}!A1:G27000`);if(data?.message){console.log(data),this.state.isLoadingSpecifications=!1;return}else this.elements.productCharts.style.display="block";console.log("data:",data);const values=data?.values;let l=values.reverse().length;for(;l--;){const column=values[l];if(column[1]==variant_id||column[0]==product_id&&column[1]=="TRUE"){const tr_Specifications=document.createElement("tr"),th_Specifications=document.createElement("th");th_Specifications.setAttribute("scope","row"),th_Specifications.textContent=column[2],tr_Specifications.appendChild(th_Specifications),tbodySpecifications.appendChild(tr_Specifications);const column1=document.createElement("td");if(column1.innerHTML=column[3],tr_Specifications.appendChild(column1),column[4]){const column2=document.createElement("td");column2.textContent=column[4],tr_Specifications.appendChild(column2)}else column1.setAttribute("colspan",2);if(column[5]){const tr_notes=document.createElement("tr"),th_notes=document.createElement("th");th_notes.setAttribute("scope","row"),th_notes.textContent=column[5],tr_notes.appendChild(th_notes),tbodyNotes.appendChild(tr_notes);const column12=document.createElement("td");column12.textContent=column[6],tr_notes.appendChild(column12),showNotesData=!0}}}const specificationsMenu=document.querySelector(".specifications").closest(".accordian__menu_items"),totalHeight=this.accordian.getTotalHeight(specificationsMenu.querySelector(".--open"));specificationsMenu.style.height=totalHeight+"px",tbodyElements[0]=document.querySelector(".fragrance-notes").getElementsByTagName("tbody")[0],showNotesData&&(this.elements.fragranceNotes.style.display="block",this.elements.fragranceNotes.style.opacity=1),tbodyElements[1]=specificationsMenu.getElementsByTagName("tbody")[0],this.elements.specifications.style.display="block",this.elements.specifications.style.opacity=1}catch(e){console.log("error in specifications method :",e)}finally{this.state.isLoadingSpecifications=!1}}resizeObserver(){const previousHeight_safari_mobile_fix=this.elements.mobile_image_layout.getBoundingClientRect();let previousWidth=0;new ResizeObserver(entries=>{const entry=entries[0],currentWidth=entry.contentRect.width,currentHeight=entry.contentRect.height;window.innerWidth<768&&previousWidth!=currentWidth&&(this.elements.mobile_image_layout.style.height=null,this.state.mobile_image_layout_height=entry.contentRect.height||previousHeight_safari_mobile_fix,previousWidth=currentWidth)}).observe(document.querySelector(".Product__mobile-carousel-layout"))}addListeners(){console.log("ADDLISTENERS===>"),this.elements.thumbsContainer?.addEventListener("click",e=>this.thumbImageSelected(e));for(let optionSelection of this.elements.productSelections)optionSelection.addEventListener("click",e=>this.selectOption(e));this.elements.submitBTN.addEventListener("click",e=>this.addToCart(e));const dialogDropDown=document.querySelector(".Dialog__inputs .m-dropdown-toggle");dialogDropDown&&(dialogDropDown.addEventListener("click",this.dialogUpdateValue.bind(this)),dialogDropDown.addEventListener("mouseover",e=>this.dialogHover(e)),dialogDropDown.addEventListener("mouseleave",e=>{dialogDropDown.removeEventListener("mouseover",()=>{showVariantFlyoutImage()})}));const attachNotifyListener=()=>{const button=document.querySelector("#quantity-buy-button > div.Product__cart-btn > div > button"),styckyNotify=document.querySelector(".sticky-notify-btn.button");button&&!button.hasAttribute("data-notify-listener-attached")&&(button.setAttribute("data-notify-listener-attached","true"),button.addEventListener("click",e=>this.enableNotifyClick(e)),styckyNotify.addEventListener("click",e=>this.enableNotifyClick(e)),console.log("Notify button listener attached"))};attachNotifyListener(),new MutationObserver(()=>{attachNotifyListener()}).observe(document.body,{childList:!0,subtree:!0}),this.resizeObserver(),this.state.currentVariant&&this.state.currentVariant.sku&&this.state.currentVariant.sku.includes("makerpro-sdp")&&(console.log("SGR_isNDPEligibleFN"),window.addEventListener("cart:updateAddToCartBTN",e=>{const isEligible=e?.detail?.eligible;console.log("SGR_isNDPEligibleFN, isEligible",isEligible,e),isEligible?(document.querySelector(".Product.add-to-cart").style.opacity=1,document.querySelector(".Product.add-to-cart").style.pointerEvents="auto",document.querySelector(".Product.add-to-cart").style.cursor="pointer",document.querySelector(".Product__messaging").textContent=""):(document.querySelector(".Product.add-to-cart").style.opacity=.5,document.querySelector(".Product.add-to-cart").style.pointerEvents="none",document.querySelector(".Product.add-to-cart").style.cursor="default",document.querySelector(".Product__messaging").textContent="Items in cart does not qualify for next day processing.")})),isNextDayProEligibleFn().then(eligible=>{console.log("isNextDayProEligibleFn=>eligible",!eligible&&this.state.currentVariant&&this.state.currentVariant.sku&&this.state.currentVariant.sku.includes("makerpro-sdp"),eligible,this.state),!eligible&&this.state.currentVariant&&this.state.currentVariant.sku&&this.state.currentVariant.sku.includes("makerpro-sdp")?(console.log("document.querySelector(.Product.add-to-cart)",document.querySelector(".Product.add-to-cart")),document.querySelector(".Product.add-to-cart").style.opacity=.5,document.querySelector(".Product.add-to-cart").style.pointerEvents="none",document.querySelector(".Product.add-to-cart").style.cursor="default",document.querySelector(".Product__messaging").textContent="Items in cart does not qualify for next day processing."):(document.querySelector(".Product.add-to-cart").style.opacity=1,document.querySelector(".Product.add-to-cart").style.pointerEvents="auto",document.querySelector(".Product.add-to-cart").style.cursor="pointer",document.querySelector(".Product__messaging").textContent="")}).catch(err=>{console.log("isNextDayProEligibleFnERR=>",err)}
2),document.querySelector("div.thumb-arrows.thumbs-up > span").addEventListener("click",()=>this.changeThumbnailUp()),document.querySelector("div.thumb-arrows.thumbs-down > span").addEventListener("click",()=>this.changeThumbnailDown())}updateDropDowns(newProduct){const currentVariants=newProduct.variants,inputContainer=document.querySelector("button.btn-dropdown"),listContainer=document.querySelector(".menu-list");if(newProduct.variants.length!==this.state.product.variants.length){Array.from(document.querySelectorAll(".m-dropdown-options:not(#swatch-options) input, .m-dropdown-options:not(#swatch-options) li")).forEach(el=>el.remove());const productOptions=newProduct.options;currentVariants.forEach(({id,title}=variant,i)=>{const input=document.createElement("input"),li=document.createElement("li"),label=document.createElement("label");if(i===0){const input2=document.createElement("input");Object.assign(input2,{type:"radio",id:"default",name:productOptions[0],title,value:title,checked:!0}),inputContainer.appendChild(input2)}Object.assign(input,{type:"radio",id:title,name:productOptions[0],title,value:title}),inputContainer.appendChild(input),label.setAttribute("for",title),label.setAttribute("value",title),label.textContent=title,label.className="m-item-product",li.appendChild(label),listContainer.appendChild(li)}),document.querySelector('.QuantitySelector input[name="quantity"]').value=1}}toggleMenu(){const buttons=Array.from(document.getElementsByClassName("--openDropDown"));let openMenu="";buttons.forEach((btn,i)=>{const optionPos=Number(btn.id);btn.addEventListener("click",e=>{e.stopPropagation();const target=e.target;let dropdown=target.closest(".m-dropdown")?.getElementsByClassName("dropdown-menu-items")[0];if(dropdown??=document.querySelector('[style="transform: translateY(0px) scale(1);"]'),target.tagName=="LABEL")return dropdown?.removeAttribute("style");if(target.tagName!=="BUTTON"&&optionPos)return this.checkSelections(optionPos,target.value,document.querySelectorAll(".m-dropdown-options:not(#swatch-options)")),openMenu&&(openMenu.style.transform=null),openMenu="";if(!openMenu)document.addEventListener("click",hideDropDown),dropdown.style.transform="translateY(0) scale(1)",openMenu=dropdown;else{if(openMenu!==dropdown)return dropdown.style.transform="translateY(0) scale(1)",openMenu.style.transform=null,openMenu=dropdown;openMenu.style.transform=null,openMenu=""}function hideDropDown(e2){document.removeEventListener("click",hideDropDown),openMenu&&(openMenu.style.transform=null,openMenu="")}})})}async isNextDayProEligible(){const{isWick:isWick2,product:product2,currentVariant}=this.state;try{const cartContent=await(await fetch(`${Shopify.routes.root}cart.js`)).json();return console.log("cartContent=>",cartContent),isWick2&&product2.type==="custom-wicks"||product2.type==="fragrances"&¤tVariant.sku&&(currentVariant.sku.includes("1GAL")||currentVariant.sku.includes("25LB")||currentVariant.sku.includes("50LB"))||cartContent&&(cartContent.item_count>75||cartContent.total_weight>22679.6||cartContent.items.some(el=>el.product_type=="custom-wicks")||cartContent.items.some(el=>el.product_type=="fragrances"&&(el.sku.includes("1GAL")||el.sku.includes("25LB")||el.sku.includes("50LB"))))?(isNextDayProEligibleValue2=!1,!1):(isNextDayProEligibleValue2=!0,!0)}catch(error){return console.error("Error fetching cart:",error),isNextDayProEligibleValue2=!0,!0}}}class Wicks extends Product{constructor(){if(super(),this.state.isWick){if(this.state.isVirtualProduct){const firstProductVariant=this.state.product.variants[0];this.setState({currentVariant:firstProductVariant})}else this.getVariant();this.addWickListeners()}}getClips(target){const clipValue=document.querySelector(".wick-clip-selections input:checked").value;if(clipValue=="none")return this.setState({selectedClipVariant:null},state=>this.updatePrice());const packSize=this.state.currentVariant.option3;let selectedClipVariant;const customWickClips=(collectionTitle,packSizeIndex)=>{if(!this.state.isVirtualProduct){if(/ultimate\-wick/.test(collectionTitle))return[41047750049946,41290176528538][packSizeIndex];if(/x\-wick/.test(collectionTitle))return[41292246876314,41292246909082][packSizeIndex]}switch(collectionTitle){case"cust crackling wicks":return[41047750049946,41290176528538][packSizeIndex];case"cust color flat wicks":return[41047750049946,41290176528538][packSizeIndex];case"cust color x wicks":return[41292246876314,41292246909082][packSizeIndex];case"cust natural x wicks":return[41292246876314,41292246909082][packSizeIndex];case"cust whisper wicks":return[41047750049946,41290176528538][packSizeIndex];case"cust word wicks":return[41047750049946,41290176528538][packSizeIndex];case"cust ultimate wicks":return[41047750049946,41290176528538][packSizeIndex];default:return!1}},productTitleLower=this.state.product.title.toLowerCase(),resolveUniversalClip=()=>{const packSizeIndex=["100","1000"].indexOf(packSize),variantId=[41292246876314,41292246909082][packSizeIndex];let clip=this.state.clips.find(variant2=>variant2.id==variantId);return!clip&&(packSizeIndex===0||packSizeIndex===1)&&(clip={id:variantId,title:packSize,name:"universal wood wick clips",price:0}),clip};productTitleLower.includes("x")?selectedClipVariant=this.state.clips.find(variant2=>/x/i.test(variant2.name)&&packSize==variant2.title):selectedClipVariant=resolveUniversalClip(),clipValue=="seperate"?this.setState({selectedClipVariant},state=>this.updatePrice()):clipValue=="pre-inserted"&&(selectedClipVariant=this.state.clips.find(variant2=>/PRE-INSERTED/i.test(variant2.name)&&packSize==variant2.title),this.setState({selectedClipVariant},state=>this.updatePrice()))}updateWickDropDowns(updateWickType){let currentElements=".m-dropdown-options input, .m-dropdown-options li";
2if(updateWickType&&(currentElements+=", #wick-products button"),Array.from(document.querySelectorAll(`${currentElements}`)).forEach(el=>el.remove()),updateWickType){const dropDownButton=document.querySelector("#wick-products"),dialogDropDown=document.querySelector(".--open_dialog input");this.state.wickCurrentProducts.forEach(({id,title}=product,i)=>{const button=document.createElement("button"),input=document.createElement("input"),label=document.createElement("label");Object.assign(input,{type:"radio",id:title,name:"wick type",title,value:id}),i===0&&(dialogDropDown.value=id,dialogDropDown.title=title,input.checked=!0),button.appendChild(input),label.setAttribute("for",title),label.setAttribute("value",id),label.textContent=title,button.appendChild(label),dropDownButton.appendChild(button)})}const productSelections=document.querySelectorAll(".m-dropdown-options[id]"),prodTitles=this.state.product.options;this.state.product.variants.reduce((prevOptions,{options}=variant,i)=>(productSelections.forEach((el,j)=>{const option="option"+el.id,value=options[j],optionAlreadyExist=prevOptions[option].some(option2=>option2===value);if(prevOptions[option].push(value),optionAlreadyExist)return;const title=prodTitles[j],dropDownButton=el.querySelector("button"),dropDownMenu=el.querySelector("ul"),input=document.createElement("input"),li=document.createElement("li"),label=document.createElement("label");Object.assign(input,{type:"radio",id:value,name:title,title:value,value}),i===0&&(input.checked=!0),dropDownButton.appendChild(input),label.setAttribute("for",value),label.setAttribute("value",value),label.textContent=value,li.appendChild(label),dropDownMenu.appendChild(li)}),prevOptions),{option1:[],option2:[],option3:[]}),document.querySelector('.QuantitySelector input[name="quantity"]').value=1}updateWickProduct(e,buttonType){console.log("buttonType:",buttonType);const target=e.target||document.querySelector('input[name="wick type"]:checked');if(console.log("target:",target),buttonType==="productBTN"){const productId=Number(target.getAttribute("value")),selectedProduct=this.state.wickCurrentProducts.find(product2=>product2.id==productId);this.updateImages(selectedProduct),this.updateDescription(selectedProduct),this.setState({currentVariant:selectedProduct.variants[0],product:selectedProduct}),this.updatePrice(),this.updateWickDropDowns(!1),this.removeMessage()}else if(buttonType==="collectionBTN"){const collectionTitle=target.getAttribute("value"),selectedProducts=this.state.wickCollections[collectionTitle];if(selectedProducts){const product2=selectedProducts.products[0];this.updateImages(product2),this.updateDescription(product2),this.setState({wickCurrentProducts:selectedProducts.products,currentVariant:product2.variants[0],product:product2}),this.updatePrice(),this.updateWickDropDowns(!0),this.removeMessage()}else console.error("products not found")}this.state.clips&&this.getClips(target)}addWickListeners(){const colleectionItems=document.querySelector("#wick-collections ul");colleectionItems&&colleectionItems.addEventListener("click",e=>this.updateWickProduct(e,"collectionBTN")),document.querySelectorAll(".wick-clip-selections input").forEach(el=>el.addEventListener("change",e=>this.getClips(e)))}}const product=new Wicks;console.log("product:",product),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".dropdown-menu-items .menu-list")&&document.querySelector(".dropdown-menu-items .menu-list").querySelectorAll("li").forEach(el=>{el.querySelector("label").addEventListener("click",()=>{el.querySelector("label").innerText=="bamboo"?(document.querySelector(".flying-dialog").style.display="none",document.querySelector(".btn-wrapper.btn-dropdown.radios.--open_dialog").style.cursor="default",document.querySelector(".btn-wrapper.btn-dropdown.radios.--open_dialog .btn-carrot").style.display="none"):(document.querySelector(".flying-dialog").style.display="block",document.querySelector(".btn-wrapper.btn-dropdown.radios.--open_dialog").style.cursor="pointer",document.querySelector(".btn-wrapper.btn-dropdown.radios.--open_dialog .btn-carrot").style.display="block",document.querySelector(".btn-wrapper.btn-dropdown.radios.--open_dialog .btn-carrot").style.position="absolute",document.querySelector(".btn-wrapper.btn-dropdown.radios.--open_dialog .btn-carrot").style.top="0%")})})}),(function(){function attachNestedListeners(sellingPlansRoot,mainSha
2dowRoot){sellingPlansRoot.querySelectorAll('input[type="radio"][name="rc_plan"]').forEach(radio=>{const planName=radio.getAttribute("aria-label")||radio.value||"Unknown plan",planId=radio.value;radio.addEventListener("click",function(e){setTimeout(()=>{const price=getCurrentPriceFromWidget(mainShadowRoot);triggerPlanSelectedEvent(planName,planId,price)},150)}),radio.addEventListener("change",function(e){this.checked&&setTimeout(()=>{const price=getCurrentPriceFromWidget(mainShadowRoot);triggerPlanSelectedEvent(planName,planId,price)},150)})}),sellingPlansRoot.querySelectorAll('label[part="rc-plans-radio-button"]').forEach((label,index)=>{label.addEventListener("click",function(e){const radioId=this.getAttribute("for"),radio=radioId?sellingPlansRoot.getElementById(radioId):this.querySelector('input[type="radio"]');if(radio){const planName=radio.getAttribute("aria-label")||`Plan ${index+1}`,planId=radio.value;setTimeout(()=>{const price=getCurrentPriceFromWidget(mainShadowRoot);triggerPlanSelectedEvent(planName,planId,price)},200)}})}),sellingPlansRoot.querySelectorAll(".rc-plans-button").forEach((button,index)=>{button.addEventListener("click",function(e){const parentLabel=this.closest("label");if(parentLabel){const radio=parentLabel.querySelector('input[type="radio"]');if(radio){const planName=radio.getAttribute("aria-label")||`Button ${index+1}`,planId=radio.value;setTimeout(()=>{const price=getCurrentPriceFromWidget(mainShadowRoot);triggerPlanSelectedEvent(planName,planId,price)},200)}}})}),setTimeout(()=>{const selectedRadio=sellingPlansRoot.querySelector('input[type="radio"][name="rc_plan"]:checked');if(selectedRadio){const planName=selectedRadio.getAttribute("aria-label"),planId=selectedRadio.value,price=getCurrentPriceFromWidget(mainShadowRoot);triggerPlanSelectedEvent(planName,planId,price)}},500)}function getCurrentPriceFromWidget(mainShadowRoot){const discountedPrice=mainShadowRoot.querySelector('[part="rc-purchase-option__discounted-price"] .rc-price, [part="rc-purchase-option__discounted-price"]');if(discountedPrice){let priceText=discountedPrice.textContent.trim();const numericMatch=priceText.match(/(\d+[,.]?\d*(?:\.\d{2})?)/);return numericMatch?numericMatch[1].replace(/,/g,""):priceText}const allPrices=mainShadowRoot.querySelectorAll(".rc-price");for(let price of allPrices){if(price.classList.contains("strike-through")||price.classList.contains("text-muted")||price.closest('[part*="original-price"]')||price.closest('[part*="unit-price"]'))continue;const numericMatch=price.textContent.trim().match(/(\d+[,.]?\d*(?:\.\d{2})?)/);if(numericMatch)return numericMatch[1].replace(/,/g,"")}const allElements=mainShadowRoot.querySelectorAll("*");let largestPrice=0,largestPriceText="";for(let el of allElements){const match=el.textContent.trim().match(/\$?(\d+[,.]?\d*)/);if(match){let num=parseFloat(match[1].replace(/,/g,""));!isNaN(num)&&num>largestPrice&&(largestPrice=num,largestPriceText=num.toString())}}return largestPrice>0?largestPriceText:"Price not found"}function updateProductPriceSpan(price){const priceSpan=document.getElementById("ProductPrice");priceSpan&&price!=="Price not found"&&(priceSpan.textContent=price)}function triggerPlanSelectedEvent(planName,planId,price){price&&price!=="Price not found"&&updateProductPriceSpan(price);const event=new CustomEvent("recharge:plan-selected",{detail:{planName,planId,price,timestamp:new Date().toISOString()}});document.dispatchEvent(event)}function monitorMainWidget(){const widget=document.querySelector("recharge-subscription-widget");if(!widget||!widget.shadowRoot)return!1;const mainShadowRoot=widget.shadowRoot;watchWidgetPriceChanges(mainShadowRoot);const sellingPlans=mainShadowRoot.querySelector("rc-selling-plans");if(sellingPlans){if(sellingPlans.shadowRoot&&sellingPlans.shadowRoot.querySelectorAll('input[type="radio"][name="rc_plan"]').length>0)return attachNestedListeners(sellingPlans.shadowRoot,mainShadowRoot),!0;const observer=new MutationObserver(function(){sellingPlans.shadowRoot&&sellingPlans.shadowRoot.querySelectorAll('input[type="radio"][name="rc_plan"]').length>
20&&(attachNestedListeners(sellingPlans.shadowRoot,mainShadowRoot),observer.disconnect())});observer.observe(sellingPlans,{attributes:!0,childList:!0,subtree:!0})}else{const widgetObserver=new MutationObserver(function(){mainShadowRoot.querySelector("rc-selling-plans")&&(monitorMainWidget(),widgetObserver.disconnect())});widgetObserver.observe(mainShadowRoot,{childList:!0,subtree:!0})}return!1}function watchWidgetPriceChanges(mainShadowRoot){const discountedPrice=mainShadowRoot.querySelector('[part="rc-purchase-option__discounted-price"]');discountedPrice&&new MutationObserver(function(mutations){mutations.forEach(function(mutation){if(mutation.type==="childList"||mutation.type==="characterData"){const price=getCurrentPriceFromWidget(mainShadowRoot);if(price!=="Price not found"){updateProductPriceSpan(price);const event=new CustomEvent("recharge:price-updated",{detail:{price,timestamp:new Date().toISOString()}});document.dispatchEvent(event)}}})}).observe(discountedPrice,{childList:!0,characterData:!0,subtree:!0});const purchaseOptions=mainShadowRoot.querySelector('[part="rc-purchase-option"]');purchaseOptions&&new MutationObserver(function(){const price=getCurrentPriceFromWidget(mainShadowRoot);price!=="Price not found"&&updateProductPriceSpan(price)}).observe(purchaseOptions,{childList:!0,subtree:!0})}function cleanupProductPriceSpan(){const priceSpan=document.getElementById("ProductPrice");if(!priceSpan)return;const widget=document.querySelector("recharge-subscription-widget");if(widget&&widget.shadowRoot){const price=getCurrentPriceFromWidget(widget.shadowRoot);price!=="Price not found"&&(priceSpan.textContent=price)}else{const priceMatches=priceSpan.textContent.match(/\d+[,.]?\d*(?:\.\d{2})?/g);if(priceMatches&&priceMatches.length>0){const lastPrice=priceMatches[priceMatches.length-1].replace(/,/g,""),numericPrice=parseFloat(lastPrice);!isNaN(numericPrice)&&numericPrice>0&&numericPrice<1e4&&(priceSpan.textContent=lastPrice)}}}if(setTimeout(cleanupProductPriceSpan,500),setTimeout(cleanupProductPriceSpan,1e3),setTimeout(cleanupProductPriceSpan,2e3),!monitorMainWidget()){let attempts=0;const maxAttempts=30,pollInterval=setInterval(function(){attempts++,(monitorMainWidget()||attempts>=maxAttempts)&&clearInterval(pollInterval)},1e3)}new MutationObserver(function(mutations){mutations.forEach(mutation=>{mutation.addedNodes.forEach(node=>{node.nodeName==="RECHARGE-SUBSCRIPTION-WIDGET"&&(monitorMainWidget(),setTimeout(cleanupProductPriceSpan,500))})})}).observe(document.body,{childList:!0,subtree:!0})})(); 3//# sourceMappingURL=/cdn/shop/t/440/assets/product.js.map?v=25826475810694207281787749202
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.