1/* 2Generated time: November 20, 2025 14:11 3This file was created by the app developer. Feel free to contact the original developer with any questions. It was minified (compressed) by AVADA. AVADA do NOT own this script. 4*/ 5if(!customElements.get("variant-picker")){class a extends HTMLElement{constructor(){super(),this.section=this.closest(".js-product"),this.productForm=this.section.querySelector(".js-product-form-main"),this.optionSelectors=this.querySelectorAll(".option-selector"),this.data=this.getProductData(),this.variant=this.getSelectedVariant(),this.updateAvailability(),this.updateAddToCartButton(),this.addEventListener("change",this.handleVariantChange.bind(this))}handleVariantChange(t){this.variant=null,this.variant=this.getSelectedVariant(),this.variant&&(this.updateMedia(),this.updateUrl(t),this.updateVariantInput()),this.updateAddToCartButton(),this.updateAvailability(),this.updatePrice(),this.updateWeight(),this.updateBarcode(),this.updateBackorderText(),this.updatePickupAvailability(),this.updateSku(),a.updateLabelText(t),this.dispatchEvent(new CustomEvent("on:variant:change",{bubbles:!0,detail:{form:this.productForm,variant:this.variant,product:this.data.product}}))}updateAddToCartButton(){var t,e;this.productForm=this.section.querySelector(".js-product-form-main"),this.productForm&&(this.addBtn=this.addBtn||this.productForm.querySelector('[name="add"]'),this.buyBtn=this.buyBtn||this.productForm.querySelector('[name="flo-buy-now-button"]'),t=this.variant&&this.variant.available,e=this.variant?theme.strings.noStock:theme.strings.noVariant,this.addBtn.disabled=!t,this.addBtn.textContent=t?this.addBtn.dataset.addToCartText:e,this.buyBtn.disabled=!t,t?this.buyBtn.removeAttribute("style"):this.buyBtn.setAttribute("style","background-color: #ababab !important;border: var(--btn-border-width) solid rgb(153 153 153);cursor: default;"))}static updateOptionAvailability(t,e,i){var a=t,r=e?theme.strings.noStock:theme.strings.noVariant;a.classList.toggle("is-unavailable",!i),a.classList.toggle("is-nonexistent",!e),t.classList.contains("custom-select__option")?((e=a.querySelector("em"))&&(e.hidden=i),i||(e?e.textContent=r:a.innerHTML=a.innerHTML+` <em class="pointer-events-none">${r}</em>`)):i?a.nextElementSibling.removeAttribute("title"):a.nextElementSibling.title=r}updateAvailability(){if("false"!==this.dataset.showAvailability){var t=this.dataset.availabilityMethod;let n=this.variant,h=this.getSelectedOptions();this.variant||(n={options:h}),"selection"===t?(this.querySelectorAll(".js-option").forEach(t=>{a.updateOptionAvailability(t,!1,!1)}),this.optionSelectors.forEach((r,s)=>
5{this.data.product.variants.forEach(e=>{let i=0;var t;e.options.forEach((t,e)=>{t===n.options[e]&&e!==s&&(i+=1)}),i===n.options.length-1&&(t=r.querySelectorAll(".js-option"),t=Array.from(t).find(t=>"dropdown"===r.dataset.selectorType?t.dataset.value===e.options[s]:t.value===e.options[s]))&&a.updateOptionAvailability(t,!0,e.available)})})):this.optionSelectors.forEach((e,o)=>{e.querySelectorAll('.js-option:not([data-value=""])').forEach(t=>{let r=("dropdown"===e.dataset.selectorType?t.dataset:t).value,s=!1,n=!1;this.data.product.variants.forEach(e=>{let i=0;for(let t=0;t<o;t+=1)e.options[t]!==h[t]&&null!==h[t]||(i+=1);e.options[o]===r&&i===o&&(s=!0,e.available)&&(n=!0)}),a.updateOptionAvailability(t,s,n)})})}}updateBackorderText(){if(this.backorder=this.backorder||this.section.querySelector(".backorder"),this.backorder){let t=!0;var e,i,a;this.variant&&this.variant.available&&(e=this.data.formatted[this.variant.id].inventory,this.variant.inventory_management)&&"none"===e&&(e=this.backorder.querySelector(".backorder__product"),i=this.section.querySelector(".product-title"),a=this.variant.title.includes("Default")?"":" - "+this.variant.title,e.textContent=i.textContent+a,t=!1),this.backorder.hidden=t}}static updateLabelText(t){var e=t.target.closest(".option-selector");"dropdown"!==e.dataset.selectorType&&(e=e.querySelector(".js-color-text"))&&(e.textContent=t.target.nextElementSibling.querySelector(".js-value").textContent)}updateMedia(){var t;this.variant.featured_media&&(this.section.matches("quick-add-drawer")?this.section.updateMedia(this.variant.featured_media.id):(this.mediaGallery=this.mediaGallery||this.section.querySelector("media-gallery"),this.mediaGallery&&(t=this.mediaGallery.querySelector(`[data-media-id="${this.variant.featured_media.id}"]`),this.mediaGallery.setActiveMedia(t,!0,!0))))}updatePickupAvailability(){this.pickUpAvailability=this.pickUpAvailability||this.section.querySelector("pickup-availability"),this.pickUpAvailability&&(this.variant&&this.variant.available?this.pickUpAvailability.getAvailability(this.variant.id):(this.pickUpAvailability.removeAttribute("available"),this.pickUpAvailability.innerHTML=""))}updatePrice(){var t,e,i,a,r;this.price=this.price||this.section.querySelector(".product-info__price > .price"),this.price&&(this.variant&&(e=this.price.querySelector(".price__current"),i=this.price.querySelector(".price__was"),t=this.price.querySelector(".unit-price"),e.innerHTML=this.data.formatted[this.variant.id].price,i&&(i.innerHTML=this.data.formatted[this.variant.id].compareAtPrice||""),this.variant.unit_price_measurement&&(e=this.price.querySelector(".unit-price__price"),i=this.price.querySelector(".unit-price__unit"),a=this.variant.unit_price_measurement.reference_value,r=this.variant.unit_price_measurement.reference_unit,e.innerHTML=this.data.formatted[this.variant.id].unitPrice,i.textContent=1===a?r:a+" "+r),t.hidden=!this.variant.unit_price_measurement,this.price.classList.toggle("price--on-sale",this.variant.compare_at_price>this.variant.price),this.price.classList.toggle("price--sold-out",!this.variant.available)),this.price.querySelector(".price__default").hidden=!this.variant,this.price.querySelector(".price__no-variant").hidden=this.variant)}updateWeight(){if(this.weights=this.weights||this.section.querySelectorAll(".product-info__weight"),0!==this.weights.length){let e=this.variant&&0<this.variant.weight;this.weights.forEach(t=>{t.textContent=e?this.data.formatted[this.variant.id].weight:"",t.hidden=!e})}}updateBarcode(){if(this.barcodes=this.barcodes||this.section.querySelectorAll(".product-info__barcode-value"),0!==this.barcodes.length){let e=this.variant&&this.variant.barcode;this.barcodes.forEach(t=>{t.textContent=e?this.variant.barcode:"",t.parentNode.hidden=!e})}}updateSku(){var t;this.sku=this.sku||this.section.querySelector(".product-sku__value"),this.sku&&(t=this.variant&&this.variant.sku,this.sku.textContent=t?this.variant.sku:"",this.sku.parentNode.hidden=!t)}updateUrl(t){t&&"change"===t.type&&"false"!==this.dataset.updateUrl&&window.history.replaceState({},"",this.dataset.url+"?variant="+this.variant.id)}updateVariantInput(){this.forms=this.forms||this.section.querySelectorAll(".js-product-form-main, .js-instalments-form"),this.forms.forEac
5h(t=>{t=t.querySelector('input[name="id"]');t.value=this.variant.id,t.dispatchEvent(new Event("change",{bubbles:!0}))})}getSelectedOptions(){let e=[];return this.optionSelectors.forEach(t=>{"dropdown"===t.dataset.selectorType?e.push(t.querySelector(".custom-select__btn").textContent.trim()):e.push(t.querySelector("input:checked").value)}),e}getProductData(){var t=this.querySelector('[type="application/json"]');return JSON.parse(t.textContent)}getSelectedVariant(){let i=this.getSelectedOptions();return this.data.product.variants.find(t=>t.options.every((t,e)=>t===i[e]))}}customElements.define("variant-picker",a)}
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.