1import{a as l,g as o}from"./cart-api-DilFhbqb.js";import{m as s}from"./module.esm-uXcmRlT3.js";const{PS:a}=globalThis;document.addEventListener("alpine:init",()=>{s.data("productQuickAdd",n=>({product:[],productId:n,variants:[],selectedVariant:[],variantSelectorType:null,variantSelector:null,selectedQuantity:1,addingToCart:!1,addToCartError:"",errorMessage:{},cart:null,init(){this.cart=a.cart,this.product=a.collectionProducts.find(t=>t.id==n)||[],this.selectedVariant=this.product.variants[0],this.variantSelectorType=a.productSettings.variant_selector_type,this.initVariantSelector()},get addToCartLabel(){return this.selectedVariant==null?a.variantStrings.unavailable:this.selectedVariant.available?a.variantStrings.addToCart:a.variantStrings.soldOut},get addToCartVariantPrice(){return this.selectedVariant.price},initVariantSelector(){const t=this;document.getElementById("quick-add__product-select")&&(this.variantSelector=new Shopify.OptionSelectors("quick-add__product-select",{product:this.product,onVariantSelected:r=>{t.selectedVariant=r,t.updateGalleryImage()},enableHistoryState:!1}),this.variantSelector.selectVariant(this.selectedVariant.id))},updateButtonVariant(t,e){const r=this.variantSelector.selectors[t].element;r.value=e;const i=new Event("change");r.dispatchEvent(i),this.updateButtonState()},updateButtonState(){const t=document.querySelectorAll("#product-select input:checked");if(this.selectedVariant==null){t.forEach(e=>{e.classList.add("disabled")});return}this.selectedVariant.available?t.forEach(e=>{e.classList.remove("disabled")}):t.forEach(e=>{e.classList.add("disabled")})},updateGalleryImage(){var t;console.log("Selected variant:",this.selectedVariant),console.log("Featured media:",(t=this.selectedVariant)==null?void 0:t.featured_media)},addProductToCart(){this.addingToCart=!0;const t=[{id:this.selectedVariant.id,quantity:this.selectedQuantity,properties:{_compare_at_price:n.compare_at_price}}];this.addToCart(t).then(()=>{this.addingToCart=!1})},async addToCart(t){await l(t).then(e=>{if(e.status===422)this.addToCartError=e.description,setTimeout(()=>{this.addToCartError=""},5e3);else{let r=s.store("header").cartCount;s.store("header").cartCount=r+this.selectedQuantity,o().then(i=>{this.cart=i,a.cart=i,s.store("cart").updateCart(),setTimeout(()=>{document.querySelectorAll('.card-product--secondary__select[x-data*="modalOpen"]').forEach(c=>{const d=s.$data(c);d&&d.modalOpen===!0&&(d.modalOpen=!1)})},300)}).catch(i=>{console.error("Error fetching cart:",i)})}})}}))});
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.