1import{a as F,i as _,n as q,r as T}from"./form-analytics.B0ZPrzGb.js";import{n as k}from"./form-tracking.DMUdwu3R.js";import{n as M,t as D}from"./attribution-client.CqNjWV-U.js";var N=new Set(["gmail.com","googlemail.com","yahoo.com","yahoo.co.uk","ymail.com","rocketmail.com","hotmail.com","hotmail.co.uk","outlook.com","live.com","msn.com","aol.com","icloud.com","me.com","mac.com","gmx.com","gmx.net","mail.com","yandex.com","yandex.ru","zoho.com","proton.me","protonmail.com","pm.me","tutanota.com","fastmail.com"]);function L(t){return t.trim().toLowerCase().split("@")[1]??""}function O(t){return N.has(L(t))}function g(t){const e=t.getAttribute("data-hubspot-config");if(e)try{const n=JSON.parse(e);if(n?.formId)return n.formId}catch{}return t.getAttribute("data-form-type")||t.id||"form"}function H(t){return t.hasAttribute("data-hubspot-config")||t.hasAttribute("data-form-type")}function h(t,e,n){if(H(t))try{const o=g(t),{form_type:i,form_name:r}=q({formId:o});window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"form_error",hs_form_id:o,form_type:i,form_name:r,device:k(),field:e,error_type:n})}catch(o){console.error("form_error dataLayer push failed",o)}}var y=new Map;function P(t){const e={started:!1,submitted:!1,fired:!1,lastField:"unknown"};y.set(t,e),t.addEventListener("focusin",n=>{const o=n.target;if(!(o instanceof HTMLInputElement)&&!(o instanceof HTMLTextAreaElement)&&!(o instanceof HTMLSelectElement))return;const i=o.name||o.id||"unknown";e.lastField=i,e.started||(e.started=!0,_({formId:g(t)},i))})}function $(t){const e=t.selectedOptions[0],n=e?e.textContent:"",o=t.closest(".
1nutrient-dropdown")?.querySelector(".selected-text");o&&(o.textContent=n||"")}function j(t){let e=!1,n=null;t.querySelectorAll("input[required], textarea[required]").forEach(i=>{const r=i,m=r.value.trim();if(m){if(r.type==="email"){const a=r.closest(".form-field-wrapper")?.querySelector(".nutrient-input-error-text");a&&a.dataset.defaultMessage===void 0&&(a.dataset.defaultMessage=a.textContent??"");const l=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,u=t.dataset.blockFreeEmail==="true",d=b=>{r.classList.add("nutrient-input-error"),a&&(a.textContent=b??a.dataset.defaultMessage??"",a.classList.remove("hidden")),e=!0,n||(n=r)};l.test(m)?u&&O(m)&&(d(`Please enter a different email address. This form does not accept addresses from ${L(m)}.`),h(t,r.name||r.id||"email","free_email")):(d("Please enter a valid email address, like [email protected]"),h(t,r.name||r.id||"email","invalid_email"))}}else{r.classList.add("nutrient-input-error");const a=r.closest(".form-field-wrapper")?.querySelector(".nutrient-input-error-text");a&&a.dataset.defaultMessage!==void 0&&(a.textContent=a.dataset.defaultMessage),a?.classList.remove("hidden"),e=!0,n||(n=r),h(t,r.name||r.id||"unknown","required")}});const o=t.querySelectorAll(".form-field-wrapper");return o.forEach(i=>{const r=i.querySelector("select[data-filter]"),m=i.getAttribute("data-required")==="true";if(r&&m){const a=r.value,l=r.options[0]?.text;if(!a||a===l||a===r.options[0]?.value){r.closest(".nutrient-dropdown")?.classList.add("nutrient-dropdown-error");const u=i.querySelector(".nutrient-input-error-text");u&&u.classList.remove("hidden"),e=!0,n||(n=r),h(t,i.getAttribute("data-hubspot-field")||r.getAttribute("data-filter")||"dropdown","required")}}}),o.forEach(i=>{const r=i.getAttribute("data-checkbox-group"),m=i.getAttribute("data-required")==="true";if(r&&m){const a=i.querySelectorAll(`input[type="checkbox"][name="${r}"]`),l=Array.from(a).filter(d=>d.checked).length,u=i.querySelector(".nutrient-input-error-text");l===0&&(u&&u.classList.remove("hidden"),a.forEach(d=>{d.setAttribute("data-status","error")}),e=!0,!n&&a.length>0&&(n=a[0]),h(t,i.getAttribute("data-hubspot-field")||r,"required"))}}),{hasErrors:e,firstErrorElement:n}}function R(t){const e={};t.querySelectorAll("input:not([type='checkbox']), textarea").forEach(o=>{o.name&&(e[o.name]=o.value)});const n=new Map;return t.querySelectorAll('input[type="checkbox"]:checked').forEach(o=>{o.name&&(n.has(o.name)||n.set(o.name,[]),n.get(o.name)?.push(o.value))}),n.forEach((o,i)=>{e[i]=o.join(";")}),t.querySelectorAll("select[data-filter]").forEach(o=>{const i=o.getAttribute("data-filter");i&&(e[i]=o.value)}),e}document.addEventListener("DOMContentLoaded",()=>{D(document),window.addEventListener("pagehide",()=>{y.forEach((t,e)=>{!t.started||t.submitted||t.fired||(t.fired=!0,T({formId:g(e)},t.lastField))})}),document.querySelectorAll("form").forEach(t=>{t.hasAttribute("data-hubspot-config")&&P(t),t.addEventListener("keydown",e=>{e.key==="Enter"&&e.target instanceof HTMLInputElement&&e.preventDefault()}),t.querySelectorAll("input[type='text'], input[type='email'], input[type='tel'], textarea").forEach(e=>{e.addEventListener("input",()=>{e.classList.remove("nutrient-input-error"),e.closest(".form-field-wrapper")?.querySelector(".nutrient-input-error-text")?.classList.add("hidden")})}),t.querySelectorAll('input[type="checkbox"]').forEach(e=>{e.addEventListener("change",()=>{const n=e.closest(".form-field-wrapper"),o=n?.getAttribute("data-checkbox-group");if(o){const i=n?.querySelectorAll(`input[type="checkbox"][name="${o}"]`);Array.from(i).filter(r=>r.checked).length>0&&(n?.querySelector(".nutrient-input-error-text")?.classList.add("hidden"),i.forEach(r=>{r.setAttribute("data-status","default")}))}})}),t.querySelectorAll("select[data-filter]").forEach(e=>{const n=e.closest(".nutrient-dropdown")?.querySelector(".selected-text");n&&!e.getAttribute("data-select-placeholder")&&e.setAttribute("data-select-placeholder",n.textContent||""),e.addEventListener("change",o=>{const i=o.target;
1e.closest(".nutrient-dropdown")?.classList.remove("nutrient-dropdown-error"),e.closest(".form-field-wrapper")?.querySelector(".nutrient-input-error-text")?.classList.add("hidden"),$(i)})}),t.hasAttribute("data-hubspot-config")&&t.addEventListener("submit",async e=>{e.preventDefault();const{hasErrors:n,firstErrorElement:o}=j(t);if(n){o?.focus();return}const i=t.id,r=t.querySelector('button[type="submit"]')||i&&document.querySelector(`button[type="submit"][form="${i}"]`),m=r?.textContent??"";r&&(r.disabled=!0,r.textContent="Submitting...");try{const a=t.getAttribute("data-hubspot-config");if(!a)return;const l=JSON.parse(a),u=R(t);t.querySelectorAll('[data-boolean-optin="true"]').forEach(s=>{const c=s.querySelector('input[type="checkbox"]');c&&c.name&&(u[c.name]=c.checked?c.value||"Yes":"No")});const d={};t.querySelectorAll(".form-field-wrapper").forEach(s=>{const c=s.getAttribute("data-hubspot-field"),f=s.querySelector("input, textarea"),p=s.querySelector("select[data-filter]");if(c){if(f&&f.name)d[f.name]=c;else if(p){const w=p.getAttribute("data-filter");w&&(d[w]=c)}}}),t.querySelectorAll("input[type='hidden'][data-hubspot-field]").forEach(s=>{const c=s.getAttribute("data-hubspot-field");c&&s.name&&(d[s.name]=c)});const b=[];t.querySelectorAll('input[type="checkbox"]:checked[data-subscription-id]').forEach(s=>{const c=s.getAttribute("data-subscription-id");c&&b.push(Number(c))});const I=(()=>{const s=document.cookie.split(";");for(const c of s){const[f,p]=c.trim().split("=");if(f==="hubspotutk")return p}})(),E=t.querySelector('input[name="contact_ref_2"]');try{const s=M();Object.entries(s).forEach(([c,f])=>{u[c]||(u[c]=f,d[c]=c)})}catch{}const A=await fetch("/backend/forms/submit-to-hubspot/",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({formData:u,hubspotConfig:{portalId:l.portalId,formId:l.formId,region:l.region},fieldMapping:d,subscriptionIds:b,alwaysConsent:l.alwaysConsent,consentText:l.consentText,communicationText:l.communicationText,context:{pageUri:window.location.href,pageName:document.title,hutk:I},honeypot:E?E.value:""})});if(!A.ok){const s=await A.json();alert(`Error: ${s.error||"Failed to submit form"}`);return}const C=t.querySelector("[data-hubspot-field='marketing_initiative']"),x=q({formId:l.formId,name:t.getAttribute("data-form-type")||void 0});window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"nutrient_form_success",hs_form_id:l.formId,form_type:x.form_type,form_name:x.form_name,form_destination:window.location.href,device:k(),location:window.location.pathname,marketing_initiative:C?.value||""}),F({formId:l.formId});const S=y.get(t);S&&(S.submitted=!0),t.getAttribute("data-form-type")==="contact-sales"?await new Promise(s=>{t.dispatchEvent(new CustomEvent("hubspotSubmitSuccess",{detail:{formData:u,onComplete:s}}))}):t.dispatchEvent(new CustomEvent("hubspotSubmitSuccess",{detail:{formData:u}})),t.reset(),t.querySelectorAll("select[data-filter]").forEach(s=>{s.selectedIndex=0;const c=s.closest(".form-field-wrapper"),f=s.closest(".nutrient-dropdown")?.querySelector(".selected-text"),p=c?.getAttribute("data-placeholder")||s.getAttribute("data-select-placeholder");f&&p&&(f.textContent=p)});const v=t.getAttribute("data-redirect-url");if(v){const s=t.getAttribute("data-redirect-theme");s&&sessionStorage.setItem("redirectTheme",s),await new Promise(c=>setTimeout(c,400)),window.location.href=v;return}}catch(a){console.error("Form submission error:",a),alert("An error occurred while submitting the form. Please try again.")}finally{r&&(r.disabled=!1,r.textContent=m)}})})});
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.