1class ProductBuyButtons extends HTMLElement{constructor(){super(),this.button_container=this.querySelector(".product-buy-buttons--primary"),this.button_text=this.querySelector(".product-buy-buttons--cta-text"),this.form=this.querySelector(".product-buy-buttons--form"),this.root=this.closest(`[data-product-id='${this.dataset.id}']`),this.select_input=this.querySelector(".product-buy-buttons--select"),this.smart_button=this.querySelector(".product-buy-buttons--smart"),this.primary_button=this.querySelector(".product-buy-buttons--cta"),this.load()}load(){this.addToCartListener(),this.updateViewListener()}addToCartListener(){this.form.addEventListener("submit",event=>{const form=event.target,quantity_available=theme.classes.Product.getAvailableQuantity(form);(theme.settings.cart_type==="drawer"||quantity_available==!1)&&(event.preventDefault(),event.stopPropagation()),quantity_available&&this.button_container.setAttribute("data-loading","true"),theme.settings.cart_type==="drawer"&&quantity_available&&theme.partials.Cart.addItem(form,success=>{success?theme.partials.Cart.updateAllHtml(()=>this.addProductComplete()):this.button_container.setAttribute("data-loading",!1)})})}addProductComplete(){this.button_container.setAttribute("data-loading",!1),theme.partials.OffCanvas.right_sidebar.attr("data-active","cart"),theme.partials.OffCanvas.state==="closed"&&(theme.partials.OffCanvas.right_sidebar_view="cart",theme.partials.OffCanvas.openRight(),theme.partials.OffCanvas.last_trigger=this.primary_button)}updateViewListener(){this.root.addEventListener("variantUpdated",event=>{let variant=event.detail;const selected_option=this.select_input.querySelector("option[selected]");selected_option&&selected_option.removeAttribute("selected"),variant&&variant.available?(this.selectVariant(variant.id),this.updateView(!0,!0)):variant&&!variant.available?(this.selectVariant(variant.id),this.updateView(!1,!0)):this.updateView(!1,!1)})}selectVariant(variant_id){this.select_input.querySelector(`option[value='${variant_id}']`).setAttribute("selected",!0)}updateView(enable,available){enable?(this.primary_button.removeAttribute("disabled"),this.button_text.innerText=theme.translations.add_to_cart,this.smart_button.style.display="block"):(this.primary_button.setAttribute("disabled",!0),this.smart_button.style.display="none",available?this.button_text.innerText=theme.translations.out_of_stock:this.button_text.innerText=theme.translations.unavailable)}}customElements.define("product-buy-buttons-root",ProductBuyButtons); 2//# sourceMappingURL=/cdn/shop/t/23/assets/product-buy-buttons.js.map?v=184128249411274109621716285191
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.