1import{t as p,o as h}from"./ScrollDownLink-9QbV9J9B.js";import v from"./A11yDatepicker-CCAEyr25.js";import"./ListenerManager-B9zmCDZv.js";import"./dayjs.min-B8I07ipL.js";class A{constructor(e){new v;const d=e.querySelectorAll("input, select, textarea"),s=e.querySelector('[data-submit-button],[data-freeform-action="submit"]');let i;d.forEach(t=>{t.addEventListener("invalid",()=>{t.validity.valid?t.classList.remove("is-invalid"):t.classList.add("is-invalid")},!1)});const r=e.dataset.recaptchaKey||"";function c(t){return new Promise(f=>{grecaptcha.ready(()=>{grecaptcha.execute(r,{action:"submit"}).then(n=>{let o=t.querySelector('input[name="g-recaptcha-response-freeform"]');o||(o=document.createElement("input"),o.type="hidden",o.name="g-recaptcha-response-freeform",t.appendChild(o)),o.value=n,setTimeout(()=>{f()},500)})})})}e.addEventListener("change",function(t){s&&(s.disabled=!1)},!1),e.addEventListener("submit",async t=>{t.preventDefault(),t.stopPropagation(),document.querySelectorAll("[data-cmsform] .is-invalid").forEach(a=>{a.classList.remove("is-invalid")});let n=!0;if(s&&(s.disabled=!0),e.querySelectorAll("[data-datepicker]").forEach(a=>{if(a.value){const u=a.dataset.submitFormat?a.dataset.submitFormat:"MM-DD-YYYY",l=p(a.value,u);a.value=l,l.length!=10&&(n=!1)}}),e.querySelectorAll("[data-required-group]").forEach(a=>{const u=a.querySelectorAll("input");let l=!1;u.forEach(m=>{m.checked&&(l=!0)}),l||(a.classList.add("is-invalid"),n=!1)}),await c(e),n)e.submit();else{if(i=document.querySelector("[data-cmsform] .is-invalid"),i!==null){const a=h(i).top-150;window.scrollTo({top:a,left:0,behavior:"smooth"})}s&&(s.disabled=!1)}},!1),this.refreshTokens(e)}refreshTokens(e){const d=e.dataset.handle??"";(async()=>{try{const s=await fetch("/ajax/form/?form="+encodeURIComponent(d),{method:"GET",credentials:"same-origin",headers:{Accept:"application/json"}});if(!s.ok)return;const i=await s.json();e.querySelector("input[name=formHash]").value=i.hash,e.querySelector("input[name=freeform_payload]").value=i.payload;const r=e.querySelector('input[name^="freeform_form_handle"]');if(r!==null){const t=i.honeypot;r.setAttribute("id",t.name),r.setAttribute("name",t.name),r.value=t.hash}const c=i.csrf;e.querySelector("input[name="+c.name+"]").value=c.value}catch(s){console.error(s)}})()}}export{A as default};
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.