PageSourceSearch

https://www.spiritrock.org/cpresources/654032c0/js/scripts/front-end/plugin/freeform.js?v=1783679108

js spiritrock.org collected 2026-10-01 10:38:17 UTC 44,843 bytes, 17 lines download raw bytes

1(()=>{var rt={form:{ready:"freeform-ready",reset:"freeform-on-reset",submit:"freeform-on-submit",removeMessages:"freeform-remove-messages",fieldRemoveMessages:"freeform-remove-field-messages",renderSuccess:"freeform-render-success",renderFieldErrors:"freeform-render-field-errors",renderFormErrors:"freeform-render-form-errors",ajaxBeforeSuccess:"freeform-before-ajax-success",ajaxSuccess:"freeform-ajax-success",ajaxError:"freeform-ajax-error",ajaxBeforeSubmit:"freeform-ajax-before-submit",ajaxAfterSubmit:"freeform-ajax-after-submit",afterFailedSubmit:"freeform-after-failed-submit",handleActions:"freeform-handle-actions"},rules:{applied:"freeform-rules-applied"},table:{onAddRow:"freeform-field-table-on-add-row",afterRowAdded:"freeform-field-table-after-row-added",onRemoveRow:"freeform-field-table-on-remove-row",afterRemoveRow:"freeform-field-table-after-remove-row"},dragAndDrop:{renderPreview:"freeform-field-dnd-on-render-preview",renderPreviewRemoveButton:"freeform-field-dnd-on-render-preview-remove-button",renderErrorContainer:"freeform-field-dnd-render-error-container",showGlobalMessage:"freeform-field-dnd-show-global-message",appendErrors:"freeform-field-dnd-append-errors",clearErrors:"freeform-field-dnd-clear-errors",afterErrors:"freeform-field-dnd-after-errors",onChange:"freeform-field-dnd-on-change",afterUpload:"freeform-field-dnd-after-upload",onUploadProgress:"freeform-field-dnd-on-upload-progress"},saveAndContinue:{saveFormhandleToken:"freeform-save-form-handle-token"},scripts:{beforeLoad:"freeform-script-before-load",afterLoad:"freeform-script-after-load"},stylesheets:{beforeLoad:"freeform-stylesheet-before-load",afterLoad:"freeform-stylesheet-after-load"}},m=rt;var U=class{constructor(e){this.reload=()=>{let e=this.form.querySelectorAll(`*[name=${M._BACK_BUTTON_NAME}]`);for(let t=0;t<e.length;t++)e[t].addEventListener("click",()=>{let r=document.createElement("input");r.type="hidden",r.name=M._BACK_BUTTON_NAME,r.value="",this.form.appendChild(r)})};this.form=e.form,this.reload()}},Ee=U;var z=class{constructor(e){this.reload=()=>{this.freeform.form.querySelectorAll('*[data-field-type="cards"]').forEach(t=>{let n=t.dataset.maxValues;if(n===void 0)return;let r=Array.from(t.querySelectorAll('input[type="checkbox"]')),s=parseInt(n,10);s===1?this.handleSingleValue(r):s>1&&this.handleMultipleValues(r,s)})};this.handleMultipleValues=(e,t)=>{e.forEach(n=>{n.addEventListener("change",()=>{e.filter(s=>s.checked).length>t&&n.checked&&(n.checked=!1)})})};this.handleSingleValue=e=>{e.forEach(t=>{t.addEventListener("change",()=>{let n=t.checked,s=e.filter(a=>a!==t).filter(a=>a.checked);n&&s.length>0&&s.forEach(a=>{a.checked=!1})})})};this.freeform=e,this.reload()}},ge=z;var W=new Map,K=new Map,k=(o,e={})=>{let{cacheKey:t,async:n,defer:r,onLoad:s,parent:a}=e,l=t||o;if(!W.has(l)){let i=document.createElement("script"),d=be(o);if(!d)throw new Error(`Unsafe script URL: ${o}`);i.src=d,i.async=n!=null?n:!1,i.defer=r!=null?r:!1,i.addEventListener("load",()=>{s&&s(i),document.dispatchEvent(new CustomEvent(m.scripts.afterLoad,{detail:{src:o,script:i}}))}),document.dispatchEvent(new CustomEvent(m.scripts.beforeLoad,{detail:{src:o,script:i}})),(a||document.body).appendChild(i),W.set(l,i)}return W.get(l)},ve=(o,e={})=>{let{cacheKey:t,parent:n,onLoad:r}=e,s=t||o;if(!K.has(s)){let a=document.createElement("link"),l=be(o);if(!l)throw new Error(`Unsafe stylesheet URL: ${o}`);a.rel="stylesheet",a.href=l,a.addEventListener("load",()=>{r&&r(a),document.dispatchEvent(new CustomEvent(m.stylesheets.afterLoad,{detail:{href:o,link:a}}))}),document.dispatchEvent(new CustomEvent(m.stylesheets.beforeLoad,{detail:{href:o,link:a}})),(n||document.body).appendChild(a),K.set(s,a)}return K.get(s)},be=o=>{try{let e=new URL(o,window.location.href);return e.protocol!=="http:"&&e.protocol!=="https:"?"":e.toString()}catch{}return""};var G=()=>{let o=window.flatpickr;return typeof o=="function"?o:null},X=()=>G()!==null,ye=o=>!!o._flatpickr;var w=class w{constructor(e){this.loadedLocales=w.loadedLocales;this.waitForFlatpickrThenReload=(e=40,t=50)=>{if(X()){this.reload();return}e<=0||setTimeout(()=>this.waitForFlatpickrThenReload(e-1,t),t)};this.reload=()=>
1{if(!this.freeform.has("data-scripts-datepicker"))return;let e=G();if(!e)return;this.freeform.form.querySelectorAll("*[data-datepicker][data-datepicker-enabled]").forEach(n=>{let r=n.getAttribute("data-datepicker-enabled");if(r==="0"||r==="false"||ye(n))return;let s=n.getAttribute("data-datepicker-locale")||"default",a={disableMobile:!0,allowInput:!0,dateFormat:n.getAttribute("data-datepicker-format"),enableTime:n.getAttribute("data-datepicker-enabletime")!==null,noCalendar:n.getAttribute("data-datepicker-enabledate")===null,time_24hr:n.getAttribute("data-datepicker-clock_24h")!==null,minDate:n.getAttribute("data-datepicker-min-date"),maxDate:n.getAttribute("data-datepicker-max-date"),minuteIncrement:1,hourIncrement:1,static:n.getAttribute("data-datepicker-static")!==null},l=this.freeform._dispatchEvent("flatpickr-before-init",{detail:a,options:a}),i={...l.detail,...l.options},d=e(n,i);n.setAttribute("autocomplete","off"),this.freeform._dispatchEvent("flatpickr-ready",{detail:d,flatpickr:d}),this.loadedLocales[s]?(this.loadedLocales[s].addEventListener("load",()=>{d.set("locale",s),this.loadedLocales[s].dataset.loaded="true"}),this.loadedLocales[s].dataset.loaded==="true"&&d.set("locale",s)):k(`//cdnjs.cloudflare.com/ajax/libs/flatpickr/4.6.13/l10n/${s}.js`,{onLoad:c=>{d.set("locale",s),c.dataset.loaded="true",this.loadedLocales[s]=c}})})};if(this.freeform=e,!!this.freeform.has("data-scripts-datepicker")){if(ve("//cdnjs.cloudflare.com/ajax/libs/flatpickr/4.6.13/flatpickr.min.css"),X()){this.reload();return}if(w.flatpickrLoading){this.waitForFlatpickrThenReload();return}w.flatpickrLoading=!0,k("//cdnjs.cloudflare.com/ajax/libs/flatpickr/4.6.13/flatpickr.min.js",{onLoad:()=>{w.flatpickrLoading=!1,this.reload()}}),this.waitForFlatpickrThenReload()}}};w.flatpickrLoading=!1,w.loadedLocales={};var V=w,Le=V;var H=(o,e,t)=>{let{bubbles:n=!1,cancelable:r=!0,...s}=e||{},a=nt(o,n,r);return Object.assign(a,s),t&&(t instanceof HTMLElement?t.dispatchEvent(a):Array.from(t).forEach(l=>{l.dispatchEvent(a)}
1)),a},nt=(o,e=!0,t=!0)=>new Event(o,{bubbles:e,cancelable:t});var Te="freeform-file-dnd",ot=(o,...e)=>{o.classList.add(e.join("__"))},st=(o,...e)=>{o.classList.remove(e.join("__"))},g=(o,...e)=>{ot(o,Te,...e)},Fe=(o,...e)=>{st(o,Te,...e)},I=o=>(typeof o=="string"&&(o=o.split(" ")),o.map(e=>`.${e}`).join(""));var Me=o=>{let e=document.createElement("div");return e.innerText="!",e.setAttribute("data-errors",""),g(e,"preview-zone","file-preview","thumbnail","errors"),o._dispatchEvent(m.dragAndDrop.renderErrorContainer,{container:e},e).container};var we=(o,e,t,n)=>{if(n._dispatchEvent(m.dragAndDrop.clearErrors,{},o).defaultPrevented)return;let s=e.querySelector("[data-errors]");e.setAttribute("data-has-errors",""),s.setAttribute("aria-label",t.join("; ")),s.setAttribute("title",t.join(". "))},He=o=>{let e=o.messages,t=o.container;e&&e.length>0&&o.freeform.disableSubmit(`file-upload-errors-${Se(t)}`)},Ce=(o,e)=>{let t=o.container;t.querySelectorAll("[data-has-errors]").length===0&&e.enableSubmit(`file-upload-errors-${Se(t)}`)},Se=o=>o.dataset.freeformFileUpload||"unknown";var J;var q=async()=>{try{let o=document.querySelector("form[data-csrf-refresh]");if(!o)return at();switch(o.dataset.csrfRefresh){case"once":return J===void 0&&(J=await ke()),J;case"always":return await ke();default:return null}}catch{}return null},at=()=>{var n;let o=document.querySelector("form[data-csrf-name]");if(!o)return null;let e=o.dataset.csrfName,t=(n=o.querySelector(`input[name="${e}"]`))==null?void 0:n.value;return!e||!t?null:{name:e,value:t}},ke=async()=>{let e=await fetch("/freeform/tokens",{headers:{Accept:"application/json"}}).then(t=>t.json());return e.csrf!==void 0?{name:e.csrf.name,value:e.csrf.value}:null};var B=class{cancel(){this.cancelFn&&(this.cancelFn(),this.cancelFn=null)}_setCancelFn(e){this.cancelFn=e}},O=class o extends Error{constructor(e,t,n){super(e),this.response={...t,data:n},this.status=t.status,Object.setPrototypeOf(this,o.prototype)}};var P=async(o,e,t,n,r)=>{let s=new URL(e,window.location.origin);r!=null&&r.queryParams&&r.queryParams.forEach((i,d)=>{s.searchParams.set(d,i)});let a=r.request||new XMLHttpRequest;a.open(o,s),a.setRequestHeader("Cache-Control","no-cache"),a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.setRequestHeader("HTTP_X_REQUESTED_WITH","XMLHttpRequest");let l=await q();return l&&a.setRequestHeader("X-CSRF-Token",l.value),it(a,r==null?void 0:r.headers),a.onload=()=>{let i=a.response;try{i=JSON.parse(a.response)}catch{}let d=a.status;if(d<200||d>=300){n(new O(`Request failed with status ${a.statusText}`,a,i));return}t({status:a.status,data:i,request:a})},a.onerror=()=>{n(new Error("Network error"))},a.onabort=()=>{n(new Error("Request aborted"))},r.onUploadProgress&&(a.upload.onprogress=i=>{r.onUploadProgress(i)}),r.cancelToken&&r.cancelToken._setCancelFn(()=>{a.abort()}),a},it=(o,e)=>{e&&Object.entries(e).forEach(([t,n])=>{o.setRequestHeader(t,String(n))})};var lt=async(o,e={})=>new Promise((t,n)=>{P("GET",o,t,n,e).then(r=>{r.open("GET",o),r.send()})}),dt=async(o,e,t={})=>new Promise((n,r)=>{P("POST",o,n,r,t).then(s=>{e instanceof FormData?s.send(e):(s.setRequestHeader("Content-Type","application/json"),s.send(JSON.stringify(e)))})}),y=(o,e)=>new Promise((t,n)=>{P((e==null?void 0:e.method)||"GET",o,t,n,e).then(r=>{let s=e==null?void 0:e.data;s instanceof FormData?r.send(s):(r.setRequestHeader("Content-Type","application/json"),r.send(JSON.stringify(s)))})});y.get=lt;y.post=dt;var xe=o=>{let e=o.dataset.confirmMessage,t=o.dataset.dialogSelector,n=t!==void 0,r;return n&&(t&&(r=document.querySelector(t)),r||(r=ct(e))),new Promise(a=>{if(!n)return a(confirm(e));r.showModal();let l=()=>{a(r.returnValue==="ok"),r.removeEventListener("close",l)};r.addEventListener("close",l)})},Q="freeform-file-upload-confirm-dialog",ct=o=>{if(document.getElementById(Q))return document.getElementById(Q);let e=document.createElement("dialog");return e.id=Q,e.innerHTML=`
2    <form method="dialog">
3      <p>${o}</p>
4      <menu>
5        <button value="cancel">Cancel</button>
6        <button value="ok">OK</button>
7      </menu>
8    </form>
9  `,document.body.appendChild(e),e};var Ae=(o,e=50,t="\u2026",n=3)=>o.length>e?o.substr(0,e-n)+t:o;var mt=({name:o,extension:e,size:t})=>{let n=document.createElement("div");n.setAttribute("data-file-preview",""),g(n,"preview-zone","file-preview");let r=document.createElement("span");r.setAttribute("data-extension-label",""),r.innerText=e.toUpperCase(),g(r,"preview-zone","file-preview","thumbnail","extension-label");let s=document.createElement("div");s.setAttribute("data-thumbnail",""),s.appendChild(r),g(s,"preview-zone","file-preview","thumbnail");let a=document.createElement("span");a.setAttribute("data-filename",""),a.innerText=Ae(o,14),a.title=o,g(a,"preview-zone","file-preview","filename");
9let l=document.createElement("span");return l.setAttribute("data-filesize",""),l.innerText=t,g(l,"preview-zone","file-preview","filesize"),n.appendChild(s),n.appendChild(a),n.appendChild(l),[n,s,a,l]},ft=o=>{let e=document.createElement("button");return e.type="button",e.setAttribute("data-remove-button",""),e.setAttribute("title","Remove file?"),e.setAttribute("aria-label","Remove file?"),e.innerHTML='<svg style="height: 14px; width: 14px;" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="currentColor" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg>',g(e,"preview-zone","file-preview","thumbnail","remove-button"),o._dispatchEvent(m.dragAndDrop.renderPreviewRemoveButton,{button:e}).button},ut=()=>{let o=document.createElement("div");return o.setAttribute("data-progress",""),g(o,"preview-zone","file-preview","thumbnail","progress"),o},Y=(o,e)=>{let[t,n]=mt(o);o.url&&(n.style.backgroundImage=`url(${o.url})`);let r=ft(e),s=Me(e),a=ut();n.appendChild(r),n.appendChild(s),n.appendChild(a);let l=e._dispatchEvent(m.dragAndDrop.renderPreview,{metadata:o,container:t});return g(t,"preview-zone","file-preview","animation-enter"),setTimeout(()=>{Fe(t,"preview-zone","file-preview","animation-enter")},10),l.container.addEventListener("click",i=>i.stopPropagation()),l.container},Z=(o,{id:e})=>{let t=document.createElement("input");return t.type="hidden",t.value=e,t.name=`${o}[]`,t};var pt=["png","jpg","jpeg","gif"],ee=o=>pt.includes(o.toLowerCase());var j=(o,e)=>{let t=new URL(o,window.location.origin);return t.pathname=`${t.pathname.replace(/\/$/,"")}${e}`,t.toString()},Re=(o,e)=>
9{if(parseInt(o.dataset.fileCount||"0",10)){let n=o.querySelector("[data-preview-zone]"),{freeformFileUpload:r}=o.dataset,s=new FormData(e.form);s.delete("action"),s.append("handle",r);let a=o.getAttribute("data-base-url")||"";y.post(j(a,"/files"),s,{headers:{"Freeform-Preflight":!0}}).then(({data:l})=>{l.forEach(i=>{let d=Y(i,e);ee(i.extension)&&d.querySelector("[data-thumbnail]").setAttribute("data-has-preview","");let c=new FormData(e.form);c.delete("action"),c.append("handle",r),c.append("id",i.id),d.querySelector("[data-remove-button]").addEventListener("click",()=>{confirm("Are you sure?")&&y.post(j(a,"/files/delete"),c).then(()=>{n.removeChild(d),A(o,e)}).catch(f=>{alert(f.message)})}),d.appendChild(Z(r,i)),d.setAttribute("data-completed",""),n.appendChild(d)}),A(o,e)}).catch(console.error)}},_e=(o,e,t,n,r)=>{let s=new B,a=()=>{s.cancel()},l=o.name.match(/.(\w+)$/i),i=o.name,d=ht(o.size),c=l!==null?l[1].toLowerCase():"n/a",u=Y({name:i,extension:c,size:d},r),f=u.querySelector("[data-thumbnail]"),p=u.querySelector("[data-remove-button]");if(ee(c)){let h=new FileReader;h.readAsDataURL(o),h.onloadend=()=>{f.setAttribute("data-has-preview",""),f.style.backgroundImage=`url(${h.result.toString()})`}}n.appendChild(u),p.addEventListener("click",a),A(t,r);let E=new FormData(r.form);E.delete("action"),E.append("handle",e),E.append(e,o);let L=t.getAttribute("data-base-url")||"";return y.post(j(L,"/files/upload"),E,{cancelToken:s,onUploadProgress:h=>{let{total:T,loaded:F}=h,v=Math.ceil(F/(T/100));r._dispatchEvent(m.dragAndDrop.onUploadProgress,{total:T,loaded:F,percent:v},t),u.style.setProperty("--progress",`${v}%`),v>=98&&p.removeEventListener("click",a)}}).then(h=>{let T=new FormData(r.form);T.delete("action"),T.append("handle",e),T.append("id",h.data.id),p.removeEventListener("click",a),p.addEventListener("click",async()=>{await xe(t)&&y.post(j(L,"/files/delete"),T).then(()=>{n.removeChild(u),A(t,r)}).catch(v=>{alert(v.message)})}),u.appendChild(Z(e,h.data)),u.setAttribute("data-completed",""),r._dispatchEvent(m.dragAndDrop.afterUpload,{freeform:r,container:t,file:h.data},t)}).catch(h=>{var F,v,$;if(h.message==="Request aborted"){n.removeChild(u),A(t,r);return}p.removeEventListener("click",a),p.addEventListener("click",()=>{n.removeChild(u),A(t,r)});let T;if(((v=(F=h==null?void 0:h.response)==null?void 0:F.data)==null?void 0:v.type)==="field-error"){let{messages:he}=($=h==null?void 0:h.response)==null?void 0:$.data;T=he,we(t,u,he,r)}else console.warn(h);r._dispatchEvent(m.dragAndDrop.afterErrors,{container:t,messages:T},t)})},A=(o,e)=>{e._dispatchEvent(m.dragAndDrop.onChange,{freeform:e,container:o},o)},ht=o=>{let e=["B","KB","MB","GB","TB"];if(o<1024)return`${o} B`;let t=o,n=0;for(;t>=1024&&n<e.length-1;)t/=1024,n+=1;return`${t.toFixed(1).replace(/\.0$/,"")} ${e[n]}`};var Et=4e3,gt=300,te=(o,e,t,n=Et)=>{let r=document.createElement("li");r.setAttribute("data-error",""),r.innerText=e,g(r,"messages","message"),g(r,"messages","message","error");let s=t._dispatchEvent(m.dragAndDrop.showGlobalMessage,{messageItem:r},o);vt(o,s.messageItem,n)},vt=(o,e,t)=>{let n=o.querySelector("[data-messages]");n&&(n.appendChild(e),setTimeout(()=>{e.setAttribute("data-animate-fade-out","")},t),setTimeout(()=>{n.removeChild(e)},t+gt))};var re=class{constructor(e){this.currentFileUploads=0;this.isFormLocked=!1;this.reload=()=>{let e=this.freeform.form;this.freeform.form.querySelectorAll("[data-freeform-file-upload]").forEach(n=>{n.style.setProperty("--accent",n.dataset.accent),n.addEventListener("dragenter",this.handleDrag(n)),n.addEventListener("dragleave",this.handleDragLeave(n)),n.addEventListener("dragover",this.handleDrag(n)),n.addEventListener("drop",this.handleDrop(n)),n.addEventListener("click",this.handleClick(n)),n.addEventListener(m.dragAndDrop.onChange,this.handleChanges),n.addEventListener(m.dragAndDrop.onChange,r=>{Ce(r,this.freeform)}),n.addEventListener(m.dragAndDrop.afterErrors,He),Re(n,this.freeform),e.addEventListener(m.form.reset,this.handleReset(n)),n.querySelector("input[type=file]").addEventListener("change",this.handleManualUpload(n))})};this.handleChanges=({container:e})=>{e.querySelector("[data-preview-zone]").querySelectorAll("[data-file-preview]").length>0?e.setAttribute("data-contains-files",""):e.removeAttribute("data-contains-files")};this.attachDragState=e=>{e instanceof HTMLElement&&(e.dataset.dragging="")};this.detachDragState=e=>{e instanceof HTMLElement&&delete e.dataset.dragging};this.handleDrag=e=>t=>{t.preventDefault(),t.stopPropagation(),this.attachDragState(e)};this.handleDragLeave=e=>t=>{t.preventDefault(),t.stopPropagation(),this.detachDragState(e)};this.handleDrop=e=>t=>{t.preventDefault(),t.stopPropagation(),this.detachDragState(e);let r=t.dataTransfer.files;this.initFileUpload(r,e)};this.handleClick=e=>()=>{let t=e.querySelector('input[type="file"]');
9if(!t)throw new Error("File upload corrupted");t.click()};this.handleManualUpload=e=>t=>{let n=t.target,{files:r}=n;this.initFileUpload(r,e),n.value=null};this.initFileUpload=(e,t)=>{let{freeformFileUpload:n,maxFiles:r,maxSize:s}=t.dataset,{messageSize:a,messageFiles:l}=t.dataset,i=t.querySelector("[data-preview-zone]"),d=t.querySelectorAll("[data-file-preview]:not([data-has-errors])").length;for(let c=0;c<e.length;c++){if(d>=parseInt(r,10)){te(t,l,this.freeform);break}let u=e.item(c);if(u.size>parseInt(s,10)){te(t,a,this.freeform);continue}this.currentFileUploads++,_e(u,n,t,i,this.freeform).finally(()=>{this.currentFileUploads--,this.handleUploadLockdown()}),d++,this.handleUploadLockdown()}};this.handleReset=e=>()=>{e.querySelectorAll("[data-file-preview]").forEach(n=>{n.parentNode.removeChild(n)}),H(m.dragAndDrop.onChange,{container:e},e)};this.handleUploadLockdown=()=>{this.currentFileUploads>0?this.isFormLocked||(this.isFormLocked=!0,this.freeform.lockSubmit("file-upload")):(this.freeform.unlockSubmit("file-upload"),this.isFormLocked=!1)};this.freeform=e,this.reload()}},Ie=re;var ne=class{constructor(e){this.reload=()=>{if(!this.freeform.has("data-scripts-js-mask"))return;this.freeform.form.querySelectorAll("*[data-masked-input]").forEach(t=>{let n=t.getAttribute("data-pattern");n&&new IMask(t,{mask:n})})};this.freeform=e,this.freeform.has("data-scripts-js-mask")&&k("https://cdnjs.cloudflare.com/ajax/libs/imask/6.0.7/imask.min.js",{onLoad:()=>this.reload()})}},qe=ne;var oe=class{constructor(e){this.reload=()=>{this.freeform.form.querySelectorAll('[data-field-type="rating"]').forEach(t=>{let{colorIdle:n,colorHover:r,colorSelected:s}=t.dataset;t.style.setProperty("--ff-rating-color-idle",n),t.style.setProperty("--ff-rating-color-hover",r),t.style.setProperty("--ff-rating-color-selected",s)})};this.freeform=e,this.reload()}},Be=oe;var se=class{constructor(e){this.reload=()=>{if(!this.freeform.has("data-scripts-signature"))return;this.freeform.form.querySelectorAll("canvas[data-signature-field]").forEach(t=>{let n=()=>{i.value=u.toDataURL()},{borderColor:r,backgroundColor:s,penColor:a,dotSize:l}=t.dataset;t.style.borderWidth="1px",t.style.borderStyle="solid",t.style.borderColor=r;let i=t.previousSibling,d=t.parentNode.querySelector("[data-signature-clear]"),c=i.value,u=new SignaturePad(t,{onEnd:n,backgroundColor:s,penColor:a,dotSize:l,maxWidth:l,throttle:5});if(d&&d.addEventListener("click",()=>{u.clear(),i.value=""}),c){let f=new Image;u.clear(),f.src=c,f.onload=()=>{t.getContext("2d").drawImage(f,0,0,t.width,t.height)}}})};this.freeform=e,this.freeform.has("data-scripts-signature")&&k("//cdn.jsdelivr.net/npm/[email protected]/dist/signature_pad.min.js",{onLoad:this.reload})}},Oe=se;var ae=/([^[]+)\[(\d+)\](\[\d+\](?:\[\])?)$/g,Pe=/^(labeled-.*)-(\d+)-(\d+)-(\d+)$/g,je=o=>{let e;o.form.querySelectorAll("[data-freeform-table]").forEach(n=>{if(e=n.parentNode.querySelector("[data-freeform-table-add-row]"),ie(n,e),e){o.form.addEventListener(m.table.afterRemoveRow,()=>{ie(n,e)});let r=()=>{let s=n.querySelectorAll("textarea, input, select"),a=0;for(let l=0;l<s.length;l++){let i=s[l],d=ae.exec(i.name);if(ae.lastIndex=0,!d)continue;let c=parseInt(d[2],10);a=Math.max(a,c)}return++a};e.addEventListener("click",()=>{let s=n.querySelector("tbody > tr:last-child");if(s){let a=s.cloneNode(!0),l=a.querySelectorAll("textarea, input, select"),i=r();for(let c=0;c<l.length;c++){let u=l[c],f=u.dataset.defaultValue||"";if(u.name=u.name.replace(ae,`$1[${i}]$3`),u.id&&Pe.test(u.id)){u.id=u.id.replace(Pe,`$1-${i}-$3-$4`);let p=u.nextSibling;p.htmlFor=u.id}u.tagName==="INPUT"&&u.type==="radio"?u.checked=u.value===f:u.tagName==="INPUT"&&u.type==="checkbox"?u.checked=f==="1":u.tagName==="INPUT"&&u.type==="file"?u.value="":u.value=f}if(n.getAttribute("data-min-rows")){let c=a.querySelector("td:last-child");if(c&&!c.querySelector("[data-freeform-table-remove-row]")){let u=n.getAttribute("data-remove-button-label")||"Remove",f=document.createElement("button");f.type="button",f.setAttribute("data-freeform-table-remove-row",""),f.textContent=u,c.innerHTML="",c.appendChild(f)}}o._dispatchEvent(m.table.onAddRow,{table:n,row:a}),n.querySelector("tbody").appendChild(a),o._dispatchEvent(m.table.afterRowAdded,{table:n,row:a}),ie(n,e)}})}})},ie=(o,e)=>{if(!e)return;let t=o.querySelectorAll("tbody > tr").length,n=o.getAttribute("data-exact-rows"),r=o.getAttribute("data-max-rows");if(n){let s=parseInt(n,10);e.style.display=t>=s?"none":"block";return}if(r){let s=parseInt(r,10);e.style.display=t>=s?"none":"block"}};var R=o=>
9(typeof o=="string"&&(o=o.split(" ")),o),C=(o,e)=>{R(e).map(t=>o.classList.add(t))},D=(o,e)=>{R(e).map(t=>o.classList.remove(t))};function x(o){var e;o!==void 0&&(o instanceof HTMLElement&&((e=o.parentElement)==null||e.removeChild(o)),(o instanceof HTMLCollection||o instanceof NodeList)&&Array.from(o).forEach(t=>{var n;(n=t.parentElement)==null||n.removeChild(t)}))}var De=!1,$e=o=>{o.form.querySelectorAll("[data-freeform-table]").forEach(t=>{let n=t.querySelectorAll("[data-freeform-table-remove-row]");for(let r=0;r<n.length;r++)n[r].addEventListener("click",Ne(o))}),De||(De=!0,o.form.addEventListener(m.table.afterRowAdded,t=>{let r=t.row.querySelector("[data-freeform-table-remove-row]");r&&r.addEventListener("click",Ne(o))}))},Ne=o=>e=>{let t=e.target,n=t.closest("tbody"),r=t.closest("table"),s=t.closest("tr");if(!n||!r||!s)return;let a=n.querySelectorAll("tr").length;if(a<=1||r.getAttribute("data-exact-rows"))return;let i=r.getAttribute("data-min-rows");if(i){let d=parseInt(i,10);if(a-1<d)return}o._dispatchEvent(m.table.onRemoveRow,{table:r,row:s}),x(s),o._dispatchEvent(m.table.afterRemoveRow,{table:r})};var Ue=o=>{o.form.addEventListener(m.form.renderFieldErrors,bt)},bt=o=>{let t=o.form.querySelectorAll("[data-freeform-table]"),n=o.freeform.options.errorClassField;t.forEach(r=>{let s=r.querySelectorAll("thead th[data-column-required]"),a=Array.from(s).map(i=>i.cellIndex);r.querySelectorAll("tbody tr").forEach(i=>{let d=i.querySelectorAll("td");a.forEach(c=>{var E;let f=d[c].querySelector("input, textarea, select"),p=!!(f!=null&&f.value);["radio","checkbox"].includes((f==null?void 0:f.type)||"")&&(p=!!(f!=null&&f.checked)),(f==null?void 0:f.type)==="file"&&(p=!!((E=f.files)!=null&&E.length)),!f||!p?(f==null?void 0:f.type)==="radio"?f.parentElement.parentElement.querySelectorAll("input").forEach(L=>{C(L,n)}):C(f,n):D(f,n)})})})};var le=class{constructor(e){this.reload=()=>{je(this.freeform),$e(this.freeform),Ue(this.freeform)};this.freeform=e,this.reload()}},ze=le;var de=class{constructor(e){this.reload=()=>{let e=this.getSessionId();e&&this.form.querySelectorAll("input, select, textarea").forEach(t=>{t.addEventListener("blur",()=>{y.post("/freeform/ab-test/tracker",{sessionId:e,fieldName:t.name})})})};this.getSessionId=()=>{let e=this.form;return e.hasAttribute("data-ab-test")?e.getAttribute("data-ab-test"):!1};this.freeform=e,this.form=e.form,this.reload()}},We=de;var yt="freeform-gtm-data-layer-push",ce=class{constructor(e){this.reload=()=>{};if(window.dataLayer=window.dataLayer||[],this.freeform=e,this.form=e.form,!this.freeform.has("data-gtm"))return;let t=this.form.dataset.gtmEventName||"form-submission",n=this.form.dataset.handle;this.form.addEventListener(m.form.ajaxSuccess,r=>{let s=r.response,a=e._dispatchEvent(yt,{payload:{},response:s}),l={event:t,form:n,submission:{id:s.submissionId,token:s.submissionToken},...a.payload};window.dataLayer.push(l)})}},Ke=ce;var Ge="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Lt=Ge.length;function me(o,e="-"){if(Array.isArray(o))return o.map(n=>me(n)).join(e);let t="";for(let n=0;n<o;n++)t+=Ge.charAt(Math.floor(Math.random()*Lt));return t}var fe=class{constructor(e){this.reload=()=>{if(!this.form.hasAttribute("data-idempotency"))return;let e=document.createElement("input");e.type="hidden",e.name="idempotencyKey",e.value=me([6,20,20]),this.form.appendChild(e)};this.freeform=e,this.form=e.form,this.reload()}},Xe=fe;var _=(o,e)=>{if(o===e)return!0;if(o==null||e==null)return o===e;if(Number.isNaN(o)&&Number.isNaN(e))return!0;if(typeof o!=typeof e)return!1;if(Array.isArray(o)&&Array.isArray(e))return o.length!==e.length?!1:o.every((t,n)=>_(t,e[n]));if(typeof o=="object"&&typeof e=="object"){let t=Object.keys(o),n=Object.keys(e);return t.length!==n.length?!1:t.every(r=>Object.prototype.hasOwnProperty.call(e,r)&&_(o[r],e[r]))}return!1};var S=o=>{if(o==null||o==="")return null;let e=parseFloat(`${o}`);return Number.isFinite(e)?e:null},Ve=o=>e=>e.conditions.some(t=>{let n=o.name,r=t.field;return r===n||`${r}[]`===n}),ue=class{constructor(e){this.reload=()=>{let e=this.form.querySelector("[data-rules-json]");if(!e)return;let{rules:t,values:n}=JSON.parse(e.dataset.rulesJson);this.values=n,!(t.fields.length===0&&t.buttons.length===0)&&(Array.from(this.form.elements).forEac
9h(r=>{let s=t.fields.filter(Ve(r)),a=t.buttons.filter(Ve(r)),l=[...s,...a];if(l.length===0)return;let i;switch(r.tagName){case"TEXTAREA":case"INPUT":{let f=r;if(f.hasAttribute("data-calculations")){i="change";break}if(f.type==="hidden")return;switch(f.type){case"radio":case"checkbox":i="change";break;case"number":i=["keyup","change"];break;default:i="keyup";break}break}case"SELECT":i="change";break}if(!i)return;let d=new Set(s),c=()=>{l.forEach(f=>{this.applyRule(f)}),t.fields.forEach(f=>{d.has(f)||this.applyRule(f)})};(Array.isArray(i)?i:[i]).forEach(f=>{r.addEventListener(f,c)})}),Tt(this.form,()=>{t.fields.forEach(r=>{this.applyRule(r,!1)}),t.buttons.forEach(r=>{this.applyRule(r,!1)})}))};this.applyRule=(e,t=!0)=>{let n="field"in e?`[data-field-container="${e.field}"]`:`[data-button-container="${e.button}"]`,r=this.form.querySelector(n);if(!r)return;let{display:s,combinator:a,conditions:l}=e,i=a==="and"?l.every(this.verifyCondition):l.some(this.verifyCondition),d=r.style.display||"",c=r.dataset.hidden!==void 0,u="",f=!1;return s==="show"?(u=i?"":"none",f=!i):(u=i?"none":"",f=i),d!==u||c!==f?(r.style.display=u,f?r.dataset.hidden="":delete r.dataset.hidden,t&&H(m.rules.applied,{rule:e},r),!0):!1};this.verifyCondition=e=>{let t=null,n=document.querySelector(`[data-field-container="${e.field}"]`);if(n){let r=this.form[e.field]||this.form[`${e.field}[]`],s=n.getAttribute("data-field-type")==="checkbox",a=n.getAttribute("data-field-type")==="checkboxes";n.dataset.hidden!==void 0?t=null:s?t=r[1].checked?"1":"":a?t=Array.from(r).filter(i=>i.checked).map(i=>i.value):r instanceof HTMLSelectElement&&r.multiple?t=Array.from(r.options).filter(i=>i.selected).map(i=>i.value):r instanceof RadioNodeList?(t=Array.from(r).filter(i=>i.checked).map(i=>i.value),t=t.length>0?t[0]:""):t=r.value}else{let r=this.values[e.field]||"";typeof r=="boolean"?t=r?"1":"":typeof r=="number"?t=`${r}`:t=r}if(typeof t=="object")switch(e.operator){case"equals":return _(t,[e.value]);case"notEquals":return!_(t,[e.value]);case"contains":return t==null?void 0:t.includes(e.value);case"notContains":return!(t!=null&&t.includes(e.value));case"isEmpty":return t===null||t.length===0;case"isNotEmpty":return(t==null?void 0:t.length)>0;case"isOneOf":case"isNotOneOf":{let r=e.operator==="isOneOf",s=(e.value?JSON.parse(e.value):[]).map(l=>l.toLowerCase()),a=t==null?void 0:t.some(l=>s.includes(l.toLowerCase()));return s.length===0?r?t.length!==0:t.length===0:r?a:!a}default:return!1}switch(e.operator){case"equals":return`${t}`.toLowerCase()===`${e.value}`.toLowerCase();case"notEquals":return`${t}`.toLowerCase()!==`${e.value}`.toLowerCase();case"greaterThan":{let r=S(t),s=S(e.value);return r!==null&&s!==null&&r>s}case"greaterThanOrEquals":{let r=S(t),s=S(e.value);return r!==null&&s!==null&&r>=s}case"lessThan":{let r=S(t),s=S(e.value);return r!==null&&s!==null&&r<s}case"lessThanOrEquals":{let r=S(t),s=S(e.value);return r!==null&&s!==null&&r<=s}case"contains":return`${t}`.toLowerCase().includes(`${e.value}`.toLowerCase());case"notContains":return!`${t}`.toLowerCase().includes(`${e.value}`.toLowerCase());case"startsWith":return`${t}`.toLowerCase().startsWith(`${e.value}`.toLowerCase());case"endsWith":return`${t}`.toLowerCase().endsWith(`${e.value}`.toLowerCase());case"isEmpty":return t===null||t.length===0;case"isNotEmpty":return(t==null?void 0:t.length)>0;case"isOneOf":case"isNotOneOf":{let r=e.operator==="isOneOf",s=(e.value?JSON.parse(e.value):[]).map(l=>l.toLowerCase()),a=s.includes(t.toLowerCase());return s.length===0?r?t.length===0:t.length!==0:r?a:!a}default:return!1}};this.freeform=e,this.form=e.form,this.reload()}},Je=ue,Tt=(o,e)=>{let t,n={},r=0,s=10;do t={...n},e(),n=Ft(o),r++;while(JSON.stringify(t)!==JSON.stringify(n)&&r<s)},Ft=o=>{let e={};return o.querySelectorAll("[data-field-container], [data-button-container]").forEach(t=>{let n=t.getAttribute("data-field-container")||t.getAttribute("data-button-container");e[n]=t.style.display||""}),e};var pe=class{constructor(e){this.reload=()=>{};this.freeform=e,this.form=e.form,this.form.addEventListener(m.form.handleActions,t=>{let{actions:n}=t,r=n.find(d=>d.name==="save-form");if(!r)return;let{key:s,token:a,url:l}=r.metadata,i=H(m.saveAndContinue.saveFormhandleToken,{key:s,token:a,url:l},this.form);i.defaultPrevented||(window.location.href=i.url)})}},Qe=pe;var Ye=()=>navigator.userAgent.indexOf("Safari")>-1;var b=class b{constructor(e){this.options={ajax:!1,disableReset:!1,disableSubmit:!1,autoScroll:!1,scrollToAnchor:!1,scrollOffset:0,scrollElement:window,showProcessingSpinner:!1,showProcessingText:!1,processingText:null,prevButtonName:"form_previous_page_button",skipHtmlReload:!1,successBannerMessage:"Form has been submitted successfully!",errorBannerMessage:"Sorry, there was an error submitting the form. Please try again.",errorClassBanner:"freeform-form-errors",errorClassList:"freeform-errors",errorClassField:"freeform-has-errors",successClassBanner:"freeform-form-success",removeMessages:null,render
9Success:null,renderFormErrors:null,renderFieldErrors:null};this._initializedHandlers=[];this._handlers=[Xe,We,Ee,Je,Le,qe,Be,Oe,ze,Ke,Ie,Qe,ge];this._lockList=new Set;this._disableList=new Set;this._scrollToForm=()=>{let{scrollOffset:e,scrollElement:t}=this.options,n=this.form.getBoundingClientRect().top+window.scrollY+e;t.scrollTo({top:n,behavior:this._isReducedMotion()?"instant":"smooth"})};this._isReducedMotion=()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)");return!e||e.matches};this._setUp=()=>{this._attachListeners(),this._getSubmitButtons().forEach(t=>{t.dataset.originalText=t.innerHTML,t.dataset.processingText=this.options.processingText})};this._initHandlers=()=>{this._handlers.forEach(e=>{this._initializedHandlers.push(new e(this))})};this._resetHandlers=()=>{this._initializedHandlers.forEach(e=>{e.reload&&e.reload()})};this.has=e=>this.form.getAttribute(e)!==null;this.setOption=(e,t)=>{this.options[e]=t};this.disableForm=()=>{this.form.dataset.freeformDisabled=""};this.enableForm=()=>{delete this.form.dataset.freeformDisabled};this.disableSubmit=(e="freeform")=>{this._disableList.add(e);let t=Array.from(this._getSubmitButtons());for(let n of t)n.disabled=!0,n.ariaDisabled="true",n.dataset.disabled="true"};this.enableSubmit=(e="freeform")=>{if(this._disableList.delete(e),this._disableList.size>0)return;let t=Array.from(this._getSubmitButtons());for(let n of t)n.disabled=!1,n.ariaDisabled=void 0,delete n.dataset.disabled};this.lockSubmit=(e="freeform")=>{if(this._lockList.add(e),this._lockList.size>1)return;let{disableSubmit:t,showProcessingSpinner:n,showProcessingText:r}=this.options;t&&this.disableSubmit(e);let s=this._lastButtonPressed;s||(s=this._getSubmitButtons()[0]||void 0),s&&(n&&s.classList.add("freeform-processing"),r&&(s.innerHTML=s.dataset.processingText))};this.unlockSubmit=(e="freeform")=>{this._lockList.delete(e),!(this._lockList.size>0)&&this._unlockSubmitButtons(e)};this.forceUnlockSubmit=()=>{this._lockList.clear(),this._unlockSubmitButtons()};this.triggerResubmit=()=>{this.unlockSubmit(),this._lastButtonPressed?this._lastButtonPressed.click():this.triggerSubmit()};this.triggerSubmit=()=>{this.unlockSubmit();let e=this._getMainSubmitButton();e&&e.click()};this._unlockSubmitButtons=e=>{let{disableSubmit:t,showProcessingSpinner:n,showProcessingText:r}=this.options;t&&this.enableSubmit(e);let s=this._getSubmitButtons();for(let a=0;a<s.length;a++){let l=s[a];n&&l.classList.remove("freeform-processing"),r&&(l.innerHTML=l.dataset.originalText)}};this._setInstances=()=>{let{form:e}=this;b.instances.set(e,this),e.freeform=this};this._attachListeners=()=>{let e=this.form,t=this.form.querySelector("input[name=freeform-action]");t&&e.querySelectorAll("[data-freeform-action]").forEach(s=>{s.addEventListener("click",()=>{this._lastButtonPressed=s,t.value=s.getAttribute("data-freeform-action")})}),e.querySelectorAll("input, select, textarea").forEach(r=>{r.addEventListener("change",s=>{this._removeMessageFrom(s.target)})}),b.instantiatedForms.has(e)||(b.instantiatedForms.set(e,!0),e.addEventListener(m.form.ajaxAfterSubmit,r=>{let s=r.form.querySelector("input[name=freeform-action]");s&&(s.value="submit")}),e.addEventListener("submit",this._onSubmit),e.addEventListener("keydown",r=>{let s=r.key==="Enter"&&!r.shiftKey&&!r.ctrlKey&&!r.metaKey,a=r.target instanceof HTMLInputElement;s&&a&&(r.preventDefault(),r.stopPropagation(),this._getMainSubmitButton()&&this.triggerSubmit())}))};this._onSubmit=async e=>{this.lockSubmit(),e.preventDefault(),e.stopPropagation();let{options:{ajax:t}}=this,n=e.submitter,r=!1;(n==null?void 0:n.name)===b._BACK_BUTTON_NAME&&(r=!0);let s={};if(this._dispatchEvent(m.form.submit,{isBackButtonPressed:r,cancelable:!0,addCallback:(d,c=0)=>{s[c]===void 0&&(s[c]=[]),s[c].push(d)}}).defaultPrevented)return this.forceUnlockSubmit(),this._dispatchEvent(m.form.afterFailedSubmit,{cancelable:!1}),!1;let l=Object.entries(s).sort(([d],[c])=>Number(d)-Number(c)).flatMap(([,d])=>d);for(let d of l)if(await d()===!1)return this.forceUnlockSubmit(),this._dispatchEvent(m.form.afterFailedSubmit,{cancelable:!1}),!1;if(t)return this._onSubmitAjax(e),!1;let i=await q();if(i){let d=this.form.querySelector(`input[name="${i.name}"]`);d||(d=document.createElement("input"),d.type="hidden",d.name=i.name,this.form.appendChild(d)),d.value=i.value}this.form.submit()};this._removeMessages=()=>
9{if(this._dispatchEvent(m.form.removeMessages).defaultPrevented)return;if(typeof this.options.removeMessages=="function"){this.options.removeMessages=this.options.removeMessages.bind(this),this.options.removeMessages();return}let{form:t,options:n}=this,{successClassBanner:r,errorClassBanner:s,errorClassList:a,errorClassField:l}=n;x(t.querySelectorAll(`.${R(a).join(".")}`)),t.querySelectorAll(`.${R(l).join(".")}`).forEach(d=>{this._removeMessageFrom(d)}),x(t.querySelectorAll(I(r))),x(document.querySelectorAll(I(s)))};this._removeMessageFrom=e=>{if(this._dispatchEvent(m.form.fieldRemoveMessages,{field:e}).defaultPrevented)return;let{options:n}=this,{errorClassList:r,errorClassField:s}=n,a=e.parentNode;e.type&&(e.type==="radio"||e.type==="checkbox"&&/\[]$/.test(e.name))&&(a=e.parentNode.parentNode),x(a.querySelector(I(r)));let l=a.querySelectorAll("input, select, textarea");for(let i=0;i<l.length;i++)D(l[i],s)};this._renderSuccessBanner=()=>{if(this._dispatchEvent(m.form.renderSuccess).defaultPrevented)return;if(typeof this.options.renderSuccess=="function"){this.options.renderSuccess=this.options.renderSuccess.bind(this),this.options.renderSuccess();return}let{form:t,options:n}=this,{successBannerMessage:r,successClassBanner:s}=n,a=document.createElement("div");C(a,s);let l=document.createElement("p");l.appendChild(document.createTextNode(r)),a.appendChild(l),t.insertBefore(a,t.childNodes[0])};this._renderFieldErrors=e=>{if(this._dispatchEvent(m.form.renderFieldErrors,{errors:e}).defaultPrevented)return!1;if(typeof this.options.renderFieldErrors=="function")return this.options.renderFieldErrors=this.options.renderFieldErrors.bind(this),this.options.renderFieldErrors(e);let{form:n,options:r}=this,{errorClassList:s,errorClassField:a}=r;for(let l in e){let i=e[l],d=document.createElement("ul");d.setAttribute("data-field-errors",""),C(d,s);for(let p=0;p<i.length;p++){let E=i[p],L=document.createElement("li");L.appendChild(document.createTextNode(E)),d.appendChild(L)}let c=n.querySelector(`[data-field-container="${l}"]`),u=n.querySelector(`[data-error-append-target="${l}"]`),f=n.querySelectorAll(`
10          [name="${l}"],
11          [type=file][name="${l}"],
12          [type=file][name="${l}[]"],
13          [type=checkbox][name="${l}[]"],
14          [type=radio][name="${l}"],
15          select[multiple][name="${l}[]"],
16          [data-freeform-file-upload="${l}"]
17        `);if(!c)return;for(let p=0;p<f.length;p++){let E=f[p];C(E,a)}u?u.appendChild(d):c.appendChild(d)}};this._renderFormErrors=e=>{if(this._dispatchEvent(m.form.renderFormErrors,{errors:e}).defaultPrevented)return!1;if(typeof this.options.renderFormErrors=="function")return this.options.renderFormErrors=this.options.renderFormErrors.bind(this),this.options.renderFormErrors(e);let{form:n,options:r}=this,{errorClassBanner:s,errorBannerMessage:a}=r,l=document.createElement("div");C(l,s);let i=document.createElement("p");if(i.appendChild(document.createTextNode(a)),l.appendChild(i),e.length){let d=document.createElement("ul");for(let c=0;c<e.length;c++){let u=e[c],f=document.createElement("li");f.appendChild(document.createTextNode(u)),d.appendChild(f)}l.appendChild(d)}n.insertBefore(l,n.childNodes[0])};this._prepareFormData=()=>{let{form:e}=this,t=new FormData(e);if(Ye())for(let n=0;n<e.elements.length;n++){let r=e.elements[n];r.type==="file"&&r.value===""&&t.delete(r.name)}return t};this.quickSave=async(e,t)=>{var l;let{form:n}=this,r=this._prepareFormData();r.set("action","freeform/submit/quick-save"),r.set("storage-secret",e),t&&r.set("token",t);let s;try{s=await y(n.getAttribute("action")||window.location.href,{method:n.getAttribute("method"),data:r})}catch(i){if(((l=i==null?void 0:i.response)==null?void 0:l.status)===417)return this.unlockSubmit(),!1}this._removeMessages();let a=s.data;if(s.status===200){let{success:i,errors:d,formErrors:c,storageToken:u}=a;if(i)return u;(d||c)&&(this._dispatchEvent(m.form.ajaxError,{request:s,response:a,errors:d,formErrors:c}),this._dispatchEvent(m.form.afterFailedSubmit,{cancelable:!1}),this._renderFieldErrors(d),this._renderFormErrors(c)),this.options.autoScroll&&this._scrollToForm()}else this._dispatchEvent(m.form.ajaxError,{request:s,response:a}),this._dispatchEvent(m.form.afterFailedSubmit,{cancelable:!1});this.unlockSubmit()};this._onSubmitAjax=e=>{let{form:t}=this,n=this._prepareFormData(),r=new XMLHttpRequest,s=e.submitter;s!=null&&s.name&&n.append(s.name,"1");let a=t.getAttribute("method")||"POST",l=t.getAttribute("action")||window.location.href;this._dispatchEvent(m.form.ajaxBeforeSubmit,{data:n,request:r}).defaultPrevented||y(l,{data:n,method:a,request:r}).then(d=>{if(this._removeMessages(),d.status===200){let c=d.data,{success:u,finished:f,actions:p=[],errors:E,formErrors:L,returnUrl:h}=c;if(this._dispatchEvent(m.form.ajaxBeforeSuccess,{request:r,response:c}).defaultPrevented)return;if(p.length)this._dispatchEvent(m.form.handleActions,{response:c,actions:p,cancelable:!1});else if(u){let v=["redirect-return-url","redirect-entry"].includes(c.onSuccess);if(f&&v&&h){if(this._dispatchEvent(m.form.ajaxSuccess,{request:r,response:c}).defaultPrevented)return;window.location.href=h;return}c.html!==null&&!this.options.skipHtmlReload&&(t.innerHTML=c.html.replace(/<form[^>]*>/,"").replace("</form>","")),this.options.skipHtmlReload||(this._resetHandlers(),this._setUp()),f&&(this.options.disableReset||(t.reset(),this._dispatchEvent(m.form.reset)),c.onSuccess==="reload"&&this._renderSuccessBanner()),this._dispatchEvent(m.form.ajaxSuccess,{request:r,response:c})}else(E||L)&&(this._dispatchEvent(m.form.ajaxError,{request:r,response:c,errors:E,formErrors:L}
17),this._dispatchEvent(m.form.afterFailedSubmit,{cancelable:!1}),this._renderFieldErrors(E),this._renderFormErrors(L));let F=c==null?void 0:c.freeform_payload;if(F){let v=t.querySelector("input[name^=freeform_payload]");v&&(v.value=F)}this._dispatchEvent(m.form.ajaxAfterSubmit,{data:n,request:r,response:c,cancelable:!1}),this.options.autoScroll&&this._scrollToForm()}else{let c=r.response;this._dispatchEvent(m.form.ajaxError,{request:r,response:c})}this.unlockSubmit()}).catch(d=>{console.error("Error submitting form:",d),this.unlockSubmit(),this._dispatchEvent(m.form.ajaxError,{request:r,response:d})})};this._getMainSubmitButton=()=>this.form.querySelector('*[type=submit][data-freeform-action="submit"]');this._getSubmitButtons=()=>{let e=this.form.querySelectorAll("*[type=submit][data-freeform-action]");return e.length?e:this.form.querySelectorAll("*[type=submit]")};this._getBackButtons=()=>this.form.querySelectorAll('*[type=submit][data-freeform-action="back"]');this._dispatchEvent=(e,t,n)=>{let r=H(e,{...t,form:this.form,freeform:this},n);return document.dispatchEvent(r),this.form.dispatchEvent(r),r};if(b.instances.get(e))return b.instances.get(e);this.id=e.dataset.id,this.form=e,this._setInstances();let t={ajax:e.getAttribute("data-ajax")!==null,disableReset:e.getAttribute("data-disable-reset")!==null,scrollToAnchor:e.getAttribute("data-scroll-to-anchor")!==null,autoScroll:e.getAttribute("data-auto-scroll")!==null,disableSubmit:e.getAttribute("data-disable-submit")!==null,showProcessingSpinner:e.getAttribute("data-show-processing-spinner")!==null,showProcessingText:e.getAttribute("data-show-processing-text")!==null,processingText:e.getAttribute("data-processing-text"),successBannerMessage:e.getAttribute("data-success-message"),errorBannerMessage:e.getAttribute("data-error-message"),skipHtmlReload:e.getAttribute("data-skip-html-reload")!==null};this.options={...this.options,...t},this.disableSubmit("init");let n=setInterval(async()=>{if(document.readyState==="complete"){clearInterval(n);let r=this._dispatchEvent(m.form.ready,{options:{}});this.options={...this.options,...r.options},this._setUp(),this._initHandlers(),this.enableSubmit("init");let{scrollToAnchor:s}=this.options;s&&this._scrollToForm()}},50)}};b._BACK_BUTTON_NAME="form_previous_page_button",b.instances=new WeakMap,b.instantiatedForms=new WeakMap,b.getInstance=e=>b.instances.get(e);var M=b,Mt=document.querySelectorAll("form[data-freeform]");Mt.forEach(o=>{new M(o)});var et=o=>{var e;o.nodeName==="FORM"&&((e=o.dataset)==null?void 0:e.freeform)!==void 0&&new M(o),o==null||o.childNodes.forEach(et)},wt=new MutationObserver(o=>{o.forEach(e=>{e.type==="childList"&&e.addedNodes.forEach(t=>{et(t)})})}),Ze=0,N,tt=()=>{if(Ze>25)return console.warn("Freeform observer timed out"),clearTimeout(N);document.body?wt.observe(document.body,{childList:!0,subtree:!0}):(Ze++,N&&clearTimeout(N),N=setTimeout(tt,50))};tt();})();

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.