1(()=>{var t=Object.defineProperty,e=(e,i,s)=>((e,i,s)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s)(e,"symbol"!=typeof i?i+"":i,s);class i{constructor(t){var i;e(this,"handleSubmit",t=>{return e=this,i=null,s=function*(){var e,i,s;if(t.preventDefault(),!(this.input instanceof HTMLInputElement))return;if(!this.form.checkValidity())return void this.form.reportValidity();this.clearMessage();const r=null==(e=this.form.dataset.klaviyoListId)?void 0:e.trim(),a=null==(i=this.form.dataset.klaviyoPublicKey)?void 0:i.trim();if(!r||!a)return void this.showError(this.form.dataset.missingConfigMessage||"Email signup is not configured. Please try again later.");this.setSubmitting(!0),null==(s=this.abortController)||s.abort(),this.abortController=new AbortController;const n=window.setTimeout(()=>{var t;null==(t=this.abortController)||t.abort()},1e4);try{const t=yield fetch(`https://a.klaviyo.com/client/subscriptions/?company_id=${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/vnd.api+json",revision:"2025-04-15"},body:JSON.stringify(this.buildPayload(r)),signal:this.abortController.signal});if(!t.ok)throw new Error(`Klaviyo subscription failed with status ${t.status}`);this.showSuccess();const e=this.form.closest("[data-segment-email-form]");yield window.IMMORTALS.tracking.trackEmailCaptured(e||this.form)}catch(t){"AbortError"!==t.name&&console.error("[immortals-footer] Klaviyo submission failed:",t);const e="AbortError"===t.name?"Request timed out. Please try again.":this.form.dataset.errorMessage||"Something went wrong. Please try again.";this.showError(e),this.setSubmitting(!1)}finally{window.clearTimeout(n)}},new Promise((t,r)=>{var a=t=>{try{o(s.next(t))}catch(t){r(t)}},n=t=>{try{o(s.throw(t))}catch(t){r(t)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(a,n);o((s=s.apply(e,i)).next())});var e,i,s}),this.form=t,this.input=t.querySelector('input[type="email"]'),this.button=t.querySelector('button[type="submit"]'),this.message=t.querySelector(".immortals-footer__newsletter-message"),this.abortController=null,this.initialButtonLabel=(null==(i=this.button)?void 0:i.getAttribute("aria-label"))||"",this.form.addEventListener("submit",this.handleSubmit)}buildPayload(t){return{data:{type:"subscription",attributes:{custom_source:"Immortals footer newsletter",profile:{data:{type:"profile",attributes:{email:this.input.value.trim(),subscriptions:{email:{marketing:{consent:"SUBSCRIBED"}}}}}}},relationships:{list:{data:{type:"list",id:t}}}}}}setSubmitting(t){this.button instanceof HTMLButtonElement&&(this.button.disabled=t,this.button.setAttribute("aria-busy",String(t)),this.initialButtonLabel&&this.button.setAttribute("aria-label",t?"Submitting newsletter signup":this.initialButtonLabel))}showSuccess(){var t;this.input instanceof HTMLInputElement&&(this.input.disabled=!0,this.input.setAttribute("aria-describedby",(null==(t=this.message)?void 0:t.id)||"")),this.button instanceof HTMLButtonElement&&(this.button.disabled=!0,this.button.setAttribute("aria-busy","false"),this.initialButtonLabel&&this.button.setAttribute("aria-label",this.initialButtonLabel)),this.showMessage(this.form.dataset.successMessage||"Thanks for signing up.","status")}showError(t){var e;this.input instanceof HTMLInputElement&&(this.input.setAttribute("aria-invalid","true"),this.input.setAttribute("aria-describedby",(null==(e=this.message)?void 0:e.id)||"")),this.showMessage(t,"alert")}clearMessage(){var t;this.input instanceof HTMLInputElement&&(this.input.removeAttribute("aria-invalid"),this.input.getAttribute("aria-describedby")===(null==(t=this.message)?void 0:t.id)&&this.input.removeAttribute("aria-describedby")),this.message instanceof HTMLElement&&(this.message.textContent="",this.message.hidden=!0)}showMessage(t,e){this.message instanceof HTMLElement&&(this.message.textContent=t,this.message.setAttribute("role",e),this.message.hidden=!1,this.message.focus())}}for(const t of document.querySelectorAll(".immortals-footer__newsletter-form"))t instanceof HTMLFormElement&&new i(t)})();
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.