1import{d as E,c as C,o as p,j as g,I as _,F as A,r as T,f as w,n as F,A as j,h as I,a7 as R,au as N,i as B,_ as L,aQ as q,x as c,m as $,k as H,u as O,aR as V,X as D,aq as P,as as z,G}from"./CHz7KWu6.js";import{F as M}from"./CUE8i9IC.js";const Q=["id"],U={class:"standard-form__fieldset"},X={class:"standard-form__submission-group"},Y=["textContent"],J=["textContent"],K=E({name:"standard-form",__name:"standard-form-block",props:{form:{}},setup(t){const r=t,h=$(),{t:d}=C(),l=c(),n=c(!1),i=c(!1),f=c(!1),v=c({}),m=c([]),b=H(()=>{const a=[];for(const s of r.form.fields)s.key&&(m.value[s.key]=!1,a.push({key:s.key,type:s.type,required:s.required,label:s.label}));return a});async function y(){if(n.value)return;n.value=!0;const a=h.public.API_ROOT,s=h.public.API_ENDPOINT,o=new FormData;r.form.id&&o.append("form_id",r.form.id),o.append("action","helper/form/submit");for(const e of b.value)typeof e.key>"u"||!e.key||(typeof v.value[e.key]>"u"&&(e.type==="checkbox"?v.value[e.key]=!1:v.value[e.key]=""),o.append(e.key,v.value[e.key]));fetch(`${a}${s}`,{method:"POST",body:o,headers:{Accept:"application/json"}}).then(e=>e.json()).then(e=>{if(console.log(e),e.success===!0)f.value=!1,k(),i.value=!0,u();else{if(f.value=!0,i.value=!1,k(),typeof e.fields=="object"&&e.fields&&e.fields.length)for(const S of e.fields)m.value.push(S);typeof e.errors=="object"&&e.errors&&e.errors.length&&(r.form.failedText=e.errors[0])}n.value=!1}).catch(()=>{f.value=!0,i.value=!1,n.value=!1})}function x(a){v.value[a.key]=a.value}function k(){m.value=[]}function u(){if(!l.value)return;l.value.reset();const a=l.value.querySelectorAll("input"),s=l.value.querySelectorAll("textarea");a&&a.length&&a.forEach(o=>{o.classList.contains("standard-form__input--has-content")&&(console.log("input had content class"),o.classList.remove("standard-form__input--has-content"))}),s&&s.length&&s.forEach(o=>{o.classList.contains("standard-form__input--has-content")&&(console.log("textarea had content class"),o.classList.remove("standard-form__input--has-content"))});for(const o of b.value)v.value[o.key]="";setTimeout(()=>{i.value=!1,f.value=!1},12e3)}return(a,s)=>(p(),g("form",{id:t.form.id,class:F(["standard-form",{"standard-form--error":f.value,"standard-form--success":i.value}]),onSubmit:s[0]||(s[0]=q(o=>y(),["prevent"])),ref_key:"formElement",ref:l},[_("fieldset",U,[(p(!0),g(A,null,T(t.form.fields,(o,e)=>(p(),w(M,{class:F(["standard-form__field",[{"standard-form__field--full-width":o.size==="full-width","field-element--error":m.value.includes(o.key)},t.form.fieldLabelStyle?`field-${o.type}--${t.form.fieldLabelStyle}-label`:"field-element--hidden-label"]]),onFieldChanged:x,key:e,field:o},null,8,["class","field"]))),128))]),_("div",X,[j(R,{class:"standard-form__submit-button",type:"primary",text:t.form.submitButton.text?t.form.submitButton.text:I(d)("Send"),"aria-label":t.form.submitButton.ariaLabel?t.form.submitButton.ariaLabel:I(d)("Submit form"),form:t.form.id,link:{type:"button"}},null,8,["text","aria-label","form"]),t.form.disclaimerText?(p(),w(N,{key:0,class:"standard-form__disclaimer","text-block":t.form.disclaimerText},null,8,["text-block"])):B("",!0),_("p",{class:F(["standard-form__submit-message standard-form__submit-message--success",{"standard-form__submit-message--visible":i.value}]),textContent:L(t.form.successText)},null,10,Y),_("p",{class:F(["standard-form__submit-message standard-form__submit-message--failed",{"standard-form__submit-message--visible":f.value}]),textContent:L(t.form.failedText)},null,10,J)])],42,Q))}}),W=Object.assign(K,{__name:"BlocksFormsStandardFormBlock"}),Z=["data-region","data-form-id","data-portal-id"],ee=E({name:"hubspot-form",__name:"hubspot-form-block",props:{form:{}},setup(t){const r=t,{$ScrollTrigger:h,$dreamdata:d}=O(),{consent:l}=V(),n=c(!1),i=c(),f=c(),v=$();let m=null,b=null,y=null;D({script:[{type:"text/javascript",defer:!0,src:`//js.hsforms.net/forms/embed/developer/${r.form.hubspotPortalId}.js`}]});const x=async()=>{n.value=!0;const k=window.HubSpotFormsV4;if(y=i.value?.querySelector("form")?.getAttribute("data-instance-id"),y){const u=k?.getForms().find(a=>a.getInstanceId()===y);if(u){f.value=u,h.refresh();return}}b=async u=>
1{if(y=i.value?.querySelector("form")?.getAttribute("data-instance-id"),!y)return;const a=u;if(a.detail.instanceId!==y)return;const s=window.HubSpotFormsV4?.getFormFromEvent(a);s&&(f.value=s,h.refresh(),window.removeEventListener("hs-form-event:on-ready",b))},window.addEventListener("hs-form-event:on-ready",b),m=async u=>{const o=(await(window.HubSpotFormsV4?.getFormFromEvent(u)).getFormFieldValues()).find(S=>S.name==="0-1/email")?.value,e=l.value?.analytics||!1;v.public.ENABLE_ANALYTICS==="true"&&e&&(d.value.identify(null,{email:o}),d.value.track(`Submitted form: ${r.form.slug}. Form ID: ${r.form.hubspotFormId}`))},window.addEventListener("hs-form-event:on-submission:success",m)};return P(()=>{x()}),z(()=>{m&&window.removeEventListener("hs-form-event:on-submission:success",m),b&&window.removeEventListener("hs-form-event:on-ready",b)}),(k,u)=>n.value?(p(),g("div",{key:0,ref_key:"formRef",ref:i,class:"hs-form-html","data-region":t.form.hubspotRegion,"data-form-id":t.form.hubspotFormId,"data-portal-id":t.form.hubspotPortalId},null,8,Z)):B("",!0)}}),te=Object.assign(ee,{__name:"BlocksFormsHubspotFormBlock"}),oe={class:"form-block__form-holder"},se=E({name:"form-block",__name:"form-block",props:{form:{}},setup(t){const r=t,h=[{key:"standard",value:W},{key:"hubspot",value:te}];function d(l){for(const n of h)if(n.key===l)return n.value;return null}return(l,n)=>(p(),g("div",{class:F(["form-block",[r.form.style?`form-block--${r.form.style}`:null,r.form.layout?`form-block--${r.form.layout}`:null]])},[_("div",oe,[d(r.form.type)?(p(),w(G(d(r.form.type)),{key:0,form:r.form},null,8,["form"])):B("",!0)])],2))}}),ne=Object.assign(se,{__name:"BlocksFormBlock"});export{ne as F};
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.