1customElements.get("product-form")||(customElements.define("product-form",class extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.form.querySelector("[name=id]").disabled=!1,this.form.addEventListener("submit",this.onSubmitHandler.bind(this)),this.minicart=document.querySelector("mini-cart"),this.quickViewDrawer=this.closest("quick-view-drawer"),this.eventContext=this.form.dataset.eventContext,this.hideErrors=this.dataset.hideErrors==="true"}onSubmitHandler(event){event.preventDefault();const submitButton=this.querySelector('[type="submit"]');if(submitButton.classList.contains("loading"))return;this.handleErrorMessage(),submitButton.setAttribute("aria-disabled",!0),submitButton.classList.add("loading"),this.querySelector(".button-overlay-spinner").classList.remove("hidden");const config=fetchConfig("javascript");config.headers["X-Requested-With"]="XMLHttpRequest",delete config.headers["Content-Type"];const formData=new FormData(this.form);formData.append("sections",this.minicart.getSectionsToRender().map(section=>section.section)),formData.append("sections_url",window.location.pathname),config.body=formData,fetch(`${routes.cart_add_url}`,config).then(response=>response.json()).then(response=>{if(response.status){publish(PUB_SUB_EVENTS.cartError,{source:"product-form",productVariantId:formData.get("id"),errors:response.errors||response.description,message:response.message}),this.handleErrorMessage(response.description),this.minicart.updateSectionContents();return}this.minicart.renderContents(response),window.themeSettings.redirectToCart?location.href=window.routes.cart_url:this.quickViewDrawer?(this.quickViewDrawer.close(),document.body.classList.add("drawer-open"),setTimeout(()=>this.minicart.open(),200)):this.minicart.open(submitButton);const event2=new CustomEvent("cart:item-add",{detail:{items:[response],context:this.eventContext}});document.dispatchEvent(event2),publish(PUB_SUB_EVENTS.cartItemAdd,{source:this.eventContext,items:[response]})}).catch(e=>{console.error(e)}).finally(()=>{submitButton.classList.remove("loading"),submitButton.removeAttribute("aria-disabled"),this.querySelector(".button-overlay-spinner").classList.add("hidden")})}handleErrorMessage(errorMessage=!1){this.hideErrors||(this.errorMessageWrapper=this.errorMessageWrapper||this.querySelector(".product-form-error-message-wrapper"),this.errorMessage=this.errorMessage||this.errorMessageWrapper.querySelector(".product-form-error-message"),this.errorMessageWrapper.toggleAttribute("hidden",!errorMessage),errorMessage&&(this.errorMessage.textContent=errorMessage))}}),document.querySelectorAll(".form-status-dismiss").forEach(button=>{button.addEventListener("click",event=>{event.preventDefault(),button.closest(".form-status").setAttribute("hidden",!0)})})); 2//# sourceMappingURL=/cdn/shop/t/4/assets/product-form.js.map?v=179213641917148414141766066834
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.