1class AjaxForm extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.submit=this.querySelector('[type="submit"]')}connectedCallback(){this.submit.addEventListener("click",e=>this.onSubmit(e))}onSubmit(e){e.preventDefault();const formData=new FormData(this.form),xhr=new XMLHttpRequest;xhr.open("POST",this.form.action),xhr.onload=function(){xhr.status===200?console.log("Form submitted successfully!"):console.error("Error submitting form:",xhr.statusText)},xhr.send(formData)}}customElements.define("ajax-form",AjaxForm);class NewsletterForm extends AjaxForm{constructor(){super(),this.email=this.querySelector('[type="email"]'),this.errorMessage=this.querySelector(".form__message.custom_error"),this.content=this.querySelector(".content_wrapper"),this.promo=this.querySelector(".custom_success"),this.emailError=this.errorMessage.dataset.errorMessage}connectedCallback(){this.submit.addEventListener("click",e=>this.onSubmit(e)),this.formSubmitted()&&(this.markTealiumPending(),this.hideForm())}formSubmitted(){return new URLSearchParams(window.location.search).get("customer_posted")=="true"?(this.email.removeAttribute("aria-invalid"),!0):!1}hideForm(){this.content.style.display="none"}showPromo(){this.promo.style.display="flex"}markTealiumPending(){try{sessionStorage.setItem("tealium_newsletter_sub_pending","1"),sessionStorage.removeItem("tealium_newsletter_sub_consumed")}catch(error){console.warn("Unable to set newsletter subscription flag",error)}}hideMailError(){this.errorMessage.style.display="none"}showMailError(){this.errorMessage.style.display="flex",this.email.setAttribute("aria-invalid","true"),this.email.setAttribute("aria-label","the email is invalid");const errorElement=this.errorMessage.querySelector("#newsletter-error");errorElement.innerHTML="",setTimeout(()=>{errorElement.innerHTML=this.emailError},100),this.email.focus()}onSubmit(e){if(e.preventDefault(),!this.email.checkValidity()){this.showMailError();return}const formData=new FormData(this.form),xhr=new XMLHttpRequest;xhr.open("POST",this.form.action),xhr.addEventListener("load",()=>{if(xhr.responseURL.includes("challenge")){this.markTealiumPending(),this.form.submit();return}xhr.status===200?(console.log("Form submitted successfully!"),this.markTealiumPending(),this.hideForm(),this.showPromo(),typeof publish=="function"&&typeof PUB_SUB_EVENTS<"u"&&publish(PUB_SUB_EVENTS.newsletterSubscribed,{})):console.error("Error submitting form:",xhr.statusText)}),xhr.send(formData)}}customElements.define("newsletter-form",NewsletterForm); 2//# sourceMappingURL=/cdn/shop/t/236/assets/ajaxForm.js.map?v=84448232634052779161781086668
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.