| @@ -1 +1 @@ | ||
| 1 | -import{dD as Br,d as vt,a2 as ft,c as D,l as N,f as k,h as _e,e as Je,af as zr,ai as dr,cp as cr,k as le,v as yt,dE as jr,dF as Ur,dG as Yr,bZ as Hr,S as mr,r as T,dn as Kr,w as Oe,o as fr,E as Wr,m as de,b as Me,g as ye,t as Fe,F as Ne,q as Mt,p as Gr,C as Ie,z as Ge,bL as Jr,bM as Qr,n as pt,u as Dt,aK as Zr,J as ve,dH as mt,dI as Xr,bV as Jt,Q as we,bO as en,dJ as tn,cx as rn,cy as Qt,K as R,ct as nn,cv as sn,br as on,bs as an,bx as Zt,by as ln,bw as un,bA as dn,bz as cn,bt as mn,cq as fn,cr as pn,cs as vn,bv as yn,bu as gn,bB as hn,bD as _n,cw as wn,cu as bn,bC as Fn,bE as In,bF as Sn,bq as xn,b6 as Vn,dK as Ae,d8 as En,d9 as Cn,dL as Pn,ac as Mn,ab as $n,aP as ne,ag as Xt,dM as er,j as tr,i as Dn,bj as rr,s as qn,bR as Ln,dN as nr,dg as Tn,dO as kn,V as Re,dP as An,dQ as Rn,cR as On,dv as sr,du as pr,dr as Nn,ds as Bn,dt as zn,dB as jn,dy as Un,dC as Yn}from"./chunks/index-BeTB6WIa.js";import"./chunks/_commonjsHelpers-CE1G-McA.js";const Hn="modulepreload",Kn=function(a){return"/"+a},or={},Wn=function(i,m,f){let V=Promise.resolve();if(m&&m.length>0){let y=function(_){return Promise.all(_.map(P=>Promise.resolve(P).then(j=>({status:"fulfilled",value:j}),j=>({status:"rejected",reason:j}))))};document.getElementsByTagName("link");const p=document.querySelector("meta[property=csp-nonce]"),I=p?.nonce||p?.getAttribute("nonce");V=y(m.map(_=>{if(_=Kn(_),_ in or)return;or[_]=!0;const P=_.endsWith(".css"),j=P?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${_}"]${j}`))return;const B=document.createElement("link");if(B.rel=P?"stylesheet":Hn,P||(B.as="script"),B.crossOrigin="",B.href=_,I&&B.setAttribute("nonce",I),document.head.appendChild(B),P)return new Promise((se,q)=>{B.addEventListener("load",se),B.addEventListener("error",()=>q(new Error(`Unable to preload CSS for ${_}`)))})}))}function o(p){const I=new Event("vite:preloadError",{cancelable:!0});if(I.payload=p,window.dispatchEvent(I),!I.defaultPrevented)throw p}return V.then(p=>{for(const I of p||[])I.status==="rejected"&&o(I.reason);return i().catch(o)})};function Gn(a){for(const i of Object.values(a))if(i instanceof File||Array.isArray(i)&&i.some(m=>m instanceof File))return!0;return!1}function Jn(a,i){const m=a.replace(/[^a-zA-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"field";return i===0?m:`${m}__${i}`}function Qn(a){const i=new FormData,m={...a.values},f={};for(const V of a.formFields){if(V.type!=="file-upload")continue;const o=`${V.type}_${V.fieldIndex}`,p=m[o],I=[];if(p instanceof File)I.push(p);else if(Array.isArray(p))for(const y of p)y instanceof File&&I.push(y);delete m[o],I.length!==0&&I.forEach((y,_)=>{const j=`ivyforms_fu_${Jn(o,_)}`;i.append(j,y),f[j]=o})}return i.append("formId",String(a.formId)),i.append("nonce",String(a.nonce)),i.append("postId",String(a.postId??"")),i.append("referer",a.referer??""),i.append("values",JSON.stringify(m)),i.append("ivyforms_fm",JSON.stringify(f)),a.sourceId&&i.append("sourceId",a.sourceId),a.paymentMethodId&&i.append("paymentMethodId",a.paymentMethodId),a.paymentIntentId&&i.append("paymentIntentId",a.paymentIntentId),a.paypalOrderId&&i.append("paypalOrderId",a.paypalOrderId),a.idempotencyKey&&i.append("idempotencyKey",a.idempotencyKey),i}function ir(a){return Array.isArray(a)?a.filter(i=>i instanceof File):[]}function Zn(a,i){const m=[];a.required&&m.push({validator:(p,I,y)=>{if(i.isSkipValidation()){y();return}if(ir(I).length===0){y(new Error(i.getRequiredMessage(a)));return}y()},trigger:["submit"]});const f=a.maxFileSizeMb;m.push({validator:(p,I,y)=>{if(i.isSkipValidation()){y();return}for(const _ of ir(I))if(!Br(_,f)){y(new Error(i.getLabel("file_upload_error_size")));return}y()},trigger:["submit"]});const V=window.IvyForms?.api?.hooks??window.IvyForms?.hooks;if(!V?.applyFilters)return m;const o=V.applyFilters("ivyforms/file-upload/submit_rules",m,a,i);return Array.isArray(o)?o:m}const Xn=vt({__name:"GdprFormField",props:{modelValue:{type:[Boolean,String]},field:{},disabled:{type:Boolean},error:{}},emits:["update:modelValue"],setup(a,{emit:i}){const m=a,f=i,V=`field_${m.field.fieldIndex}`,o=ft("clearFieldError",()=>{}),p=D(()=>m.field.type+"_"+m.field.fieldIndex),I=D(()=>m.field.agreementText||""),y=D(()=>{const P=m.modelValue;return typeof P=="boolean"?P:P==="true"||P==="1"});function _(P){f("update:modelValue",P),o(p.value)}return(P,j)=>(k(),N("div",{class:le(["ivyforms-field","ivyforms-field__gdpr","ivyforms-field__gdpr_"+a.field.id,a.field.cssClasses])},[_e(cr,{label:a.field.hideLabel?"":a.field.label,required:!0,error:a.error,prop:a.field.type+"_"+a.field.fieldIndex,"show-info":!!a.field.description,"info-text":String(a.field.description||""),"show-info-icon":!1,"label-position":"top"},{default:Je(()=>[_e(zr,{id:V,"model-value":y.value,priority:"secondary",type:"checkmark",class:"ivyforms-field__gdpr-checkbox ivyforms-flex ivyforms-align-items-center ivyforms-gap-8 ivyforms-font-16 ivyforms-font-weight-500","aria-required":"true",onChange:_},{default:Je(()=>[_e(dr,{html:I.value||a.field.label,"field-type":"gdpr"},null,8,["html"])]),_:1},8,["model-value"])]),_:1},8,["label","error","prop","show-info","info-text"])],2))}}),es=yt(Xn,[["__scopeId","data-v-f1b39dc1"]]),ar=16;function ts(a){const i=Hr(a,16),m=i.value??16;let f=m;return i.unit==="rem"&&(f=m*16),f>ar?`${ar}px`:a}function rs(a,i){return a.advancedMode?.fieldPlaceholder?.fontColor||i.fieldPlaceholder||"#6B737D"}const ns={quickMode:{}};function ss(a){const i=a&&a.stylesEnabled!==!1?a:ns,m=jr(i),f=i.advancedMode?.fieldStates?.default?.borderColor||i.quickMode?.fieldBorderColor||"#6B737D",V=i.advancedMode?.fieldStates?.default?.textColor||m.fieldText||"#212832",o=i.advancedMode?.fieldStates?.active?.borderColor||f,p=i.advancedMode?.fieldStates?.error?.borderColor||"#E53E3E",I=Ur(i.advancedMode?.fieldStates?.default?.corner||i.quickMode?.fieldCorner,"6px")||"6px",y=i.advancedMode?.fieldStates?.default?.borderWidth||i.quickMode?.fieldBorderWidth||"1px",_=ts(Yr(i.advancedMode?.fieldStates?.default?.fontSize)||"16px"),P=i.advancedMode?.fieldStates?.default?.fontWeight||"400",j=rs(i,m),B=i.typography?.fontFamily||"inherit";return{".input-container":{borderColor:f,borderWidth:y,borderRadius:I},".input-container.is-focus":{borderColor:o},".input-container.is-error":{borderColor:p},input:{color:V,fontFamily:B,fontSize:_,fontWeight:P},"input::placeholder":{color:j},"input.is-focus":{color:V},"input.is-error":{color:V}}}function vr(){const a=globalThis.crypto;if(typeof a?.randomUUID=="function")return a.randomUUID();const i=new Uint8Array(16);if(typeof a?.getRandomValues=="function")a.getRandomValues(i);else for(let f=0;f<i.length;f+=1)i[f]=Math.floor(Math.random()*256);i[6]=i[6]&15|64,i[8]=i[8]&63|128;const m=Array.from(i,f=>f.toString(16).padStart(2,"0")).join("");return[m.slice(0,8),m.slice(8,12),m.slice(12,16),m.slice(16,20),m.slice(20)].join("-")}const os={key:0,class:"ivyforms-payment-method-field__picker"},is={key:0,class:"medium-14 text-primary"},as={key:1,class:"regular-14 text-secondary"},ls=["aria-label"],us=["aria-pressed","onClick"],ds={class:"medium-14"},cs={key:0,class:"ivyforms-payment-method-field__mismatch regular-14",role:"alert"},ms={class:"ivyforms-payment-method-field"},fs={key:0,class:"ivyforms-payment-method-field__loading regular-14 text-secondary"},ps=vt({__name:"PaymentMethodFormField",props:{field:{},error:{}},setup(a,{expose:i}){const m=a,{getLabel:f}=mr(),V=ft("clearFieldError",()=>{}),o=ft("formStyleSettings",D(()=>{})),p=ft("ivyformsPaymentCurrencyCode",void 0),I=D(()=>`${m.field.type}_${m.field.fieldIndex}`),y=T(""),_=T(!0),P=T(!1),j=T(null),B=T(null),se=D(()=>ss(o.value));let q=null,Se=0;const J=D(()=>window.wpIvySquareConfig??{}),Ze=D(()=>window.ivyFormsProScripts?.stripe??{}),ze=D(()=>window.ivyFormsProScripts?.paypal??{}),$e=D(()=>Kr(m.field).paymentMethods);function G(F){return F==="square"?J.value.connected===!0:F==="stripe"?Ze.value.connected===!0:ze.value.connected===!0}const z=D(()=>$e.value.filter(G)),xe=D(()=>{const F=$e.value[0];return F==="stripe"||F==="paypal"||J.value.connected===!0?F??"square":Ze.value.connected===!0?"stripe":ze.value.connected===!0?"paypal":F??"square"}),Xe=T(null),ce=D(()=>Xe.value??z.value[0]??xe.value),je=D(()=>z.value.length>1),Z=D(()=>je.value?{...m.field,hideLabel:!0,description:""}:m.field),w=D(()=>ce.value==="stripe"?window.IvyForms?.components?.StripePaymentElement??null:ce.value==="paypal"?window.IvyForms?.components?.PaypalPaymentElement??null:null),Ue=D(()=>m.error||y.value),X=D(()=>{const F=J.value.currency,U=p?.value;return!F||!U?!1:F.toUpperCase()!==U.toUpperCase()});function me(){return typeof window<"u"&&window.isSecureContext===!0}function Ye(){return J.value.sdkUrl?J.value.sdkUrl:J.value.sandbox?"https://sandbox.web.squarecdn.com/v1/square.js":"https://web.squarecdn.com/v1/square.js"}function De(F){if(window.Square?.payments)return Promise.resolve();const U=document.querySelector(`script[src="${F}"]`);return U?window.Square?.payments?Promise.resolve():new Promise((Y,oe)=>{U.addEventListener("load",()=>Y(),{once:!0}),U.addEventListener("error",()=>oe(new Error("square_sdk_load_failed")),{once:!0})}):new Promise((Y,oe)=>{const ie=document.createElement("script");ie.src=F,ie.async=!0,ie.onload=()=>Y(),ie.onerror=()=>oe(new Error("square_sdk_load_failed")),document.head.appendChild(ie)})}async function et(F,U=50,Y=100){for(let oe=0;oe<U;oe+=1){if(ee(F))return!1;if(window.Square?.payments)return!0;await new Promise(ie=>{window.setTimeout(ie,Y)})}return!1}function qe(F){const U=F instanceof Error?F.message:String(F);return U.includes("HTTPS")||U.includes("secure context")?f("payment_https_required"):f("payment_form_unavailable")}function ee(F){return F!==Se||ce.value!=="square"}function Le(F){try{const U=F.destroy?.();U&&U.catch(()=>{})}catch{}}async function tt(F){if(y.value="",_.value=!0,P.value=!1,!me()){y.value=f("payment_https_required"),_.value=!1;return}const U=J.value.applicationId??"",Y=J.value.locationId??"",oe=Ye();if(!U||!Y){y.value=f("payment_form_unavailable"),_.value=!1;return}try{if(await De(oe),ee(F))return}catch(Te){if(ee(F))return;y.value=qe(Te),_.value=!1;return}const ie=await et(F);if(ee(F))return;if(!ie){y.value=f("payment_form_unavailable"),_.value=!1;return}if(await pt(),ee(F))return;const it=B.value;if(!it){y.value=f("payment_form_unavailable"),_.value=!1;return}try{const Ve=await window.Square.payments(U,Y).card({style:se.value});if(ee(F)){Le(Ve);return}if(await Ve.attach(it),ee(F)){Le(Ve);return}q=Ve,P.value=!0}catch(Te){if(ee(F))return;y.value=qe(Te)}finally{ee(F)||(_.value=!1)}}async function rt(){if(X.value||!q)return null;const F=await q.tokenize();return F.status!=="OK"||!F.token?null:{sourceId:F.token,idempotencyKey:vr()}}async function ge(){return w.value?await j.value?.tokenize?.()??null:rt()}function nt(){return w.value?j.value?.hasPaymentDetails?.()===!0:q!==null}async function gt(F){return await j.value?.handleNextAction?.(F)??!1}function ht(){Se+=1,q&&Le(q),q=null}async function st(){const F=++Se;if(ce.value!=="square"){w.value||(y.value=f("payment_form_unavailable")),_.value=!1;return}if(X.value){_.value=!1;return}await tt(F)}function ot(F){F!==ce.value&&(Xe.value=F)}return Oe(P,F=>{F&&V(I.value)}),Oe(ce,()=>{ht(),y.value="",P.value=!1,st()}),fr(()=>{st()}),Wr(ht),i({tokenize:ge,hasPaymentDetails:nt,handleNextAction:gt}),(F,U)=>(k(),N(Ne,null,[je.value?(k(),N("div",os,[a.field.hideLabel?de("",!0):(k(),N("label",is,Fe(a.field.label),1)),a.field.description?(k(),N("p",as,Fe(a.field.description),1)):de("",!0),ye("div",{class:"ivyforms-payment-method-field__tabs",role:"group","aria-label":Ie(f)("payment_methods","Payment methods")},[(k(!0),N(Ne,null,Mt(z.value,Y=>(k(),N("button",{key:Y,type:"button",class:le(["ivyforms-payment-method-field__tab",{"ivyforms-payment-method-field__tab--active":Y===ce.value}]),"aria-pressed":Y===ce.value,onClick:oe=>ot(Y)},[_e(Gr,{category:"integrations",name:Y,"outer-size":"20px"},null,8,["name"]),ye("span",ds,Fe(Ie(f)(Y)),1)],10,us))),128))],8,ls)])):de("",!0),w.value?(k(),Me(Ge(w.value),{key:1,ref_key:"providerFieldRef",ref:j,field:Z.value,error:a.error},null,8,["field","error"])):(k(),N("div",{key:2,class:le(["ivyforms-field ivyforms-field__payment-method","ivyforms-field__payment-method_"+a.field.id,a.field.cssClasses])},[X.value?(k(),N("p",cs,Fe(Ie(f)("currency_mismatch")),1)):(k(),Me(cr,{key:1,label:Z.value.hideLabel?"":Z.value.label,required:a.field.required,"validate-required":!1,prop:I.value,error:Ue.value,"show-info":!!Z.value.description,"info-text":Z.value.description||"","show-info-icon":!1,"label-position":a.field.labelPosition},{default:Je(()=>[ye("div",ms,[_.value?(k(),N("p",fs,Fe(Ie(f)("payment_form_loading")),1)):de("",!0),Jr(ye("div",{ref_key:"cardContainerRef",ref:B,class:le(["ivyforms-payment-method-field__card-container",{"ivyforms-payment-method-field__card-container--ready":P.value,"ivyforms-payment-method-field__card-container--error":!!Ue.value}])},null,2),[[Qr,!y.value]])])]),_:1},8,["label","required","prop","error","show-info","info-text","label-position"]))],2))],64))}}),vs=yt(ps,[["__scopeId","data-v-7b1e5a53"]]),ys={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none"};function gs(a,i){return k(),N("svg",ys,[...i[0]||(i[0]=[ye("path",{fill:"currentColor",d:"M16.03 10.03a.75.75 0 1 0-1.06-1.06l-4.47 4.47-1.47-1.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.06 0z"},null,-1)])])}const hs={render:gs},_s={class:"ivyforms-circle-loader__check ivyforms-flex ivyforms-align-items-center ivyforms-justify-content-center ivyforms-width-100"},ws=vt({__name:"IvyCircleLoader",props:{size:{default:"d"},completed:{type:Boolean,default:!1}},setup(a){return(i,m)=>(k(),N("span",{class:le(["ivyforms-circle-loader ivyforms-align-items-center ivyforms-justify-content-center",[`ivyforms-circle-loader--${a.size}`,{"ivyforms-circle-loader--completed":a.completed}]])},[m[0]||(m[0]=ye("svg",{viewBox:"0 0 24 24",class:"ivyforms-circle-loader__svg ivyforms-width-100"},[ye("circle",{class:"ivyforms-circle-loader__bg",cx:"12",cy:"12",r:"10"}),ye("circle",{class:"ivyforms-circle-loader__track",cx:"12",cy:"12",r:"10"}),ye("circle",{class:"ivyforms-circle-loader__progress",cx:"12",cy:"12",r:"10"})],-1)),ye("span",_s,[_e(Ie(hs))])],2))}}),bs=yt(ws,[["__scopeId","data-v-51e64049"]]),Qe=a=>`${a.type}_${a.fieldIndex}`,qt=(a,i)=>{const m={...i};return a.forEach(f=>{if(f.type!=="website")return;const V=Qe(f),o=m[V]||"",p=f.inputPrefix||"",I=f.inputSuffix||"";let y=String(o);o&&(p||I)&&(p&&!y.startsWith(p)&&(y=p+y),I&&!y.endsWith(I)&&(y=y+I)),m[V]=y}),m},Fs=(a,i,m)=>{const f=a[i];return f!==void 0&&f.value===m&&f.passed};function yr(a,i,m,f){const V={},o=[];for(const p of a){if(!p.noDuplicates)continue;const I=Qe(p),y=i[I];if(y==null||String(y).trim()==="")continue;const _=String(y);!f?.bypassCache&&Fs(m,I,_)||(V[I]=y,o.push(p))}return{values:V,fieldsToCheck:o}}async function Lt(a,i){const{data:m,error:f,status:V}=await a("form/validate_before_submit/",{method:"POST",headers:{"Content-Type":"application/json"},data:{formId:i.formId,values:i.values,nonce:i.nonce,...i.pageId?{pageId:i.pageId}:{}}});if(f||V!==200||!m)return{result:null,error:f||m};const o=m.data?.data;return o?{result:o,error:null}:{result:null,error:"Invalid validate_before_submit response"}}function gr(a){const i=T({}),m=o=>{for(const p of a.formFields.value){const I=String(p.id);if(!o[p.id]&&!o[I])continue;const y=Qe(p),_=a.formValues.value[y];!_||_.toString().trim()===""||(a.fieldErrors.value[y]=a.getLabel("duplicate_value_error_label").replace("{label}",p.label?.toLowerCase()||"value"))}},f=(o,p)=>{for(const I of o){const y=Qe(I),_=a.formValues.value[y];_!=null&&(i.value[y]={value:String(_),passed:p})}};return{duplicateCheckState:i,validateDuplicatesBeforeProceed:async(o,p)=>{const I=o?a.getPageFields(o).filter(q=>q.noDuplicates):a.formFields.value.filter(q=>q.noDuplicates);if(I.length===0)return"ok";const{values:y,fieldsToCheck:_}=yr(I,a.formValues.value,i.value,p);if(_.length===0)return"ok";const P=qt(I,y),j=a.formNonce.value;if(!j)return"request_failed";const{result:B,error:se}=await Lt(a.request,{formId:a.formData.value.id,values:P,nonce:j,pageId:o});return B?B.valid?(f(_,!0),"ok"):(f(_,!1),B.duplicate_errors&&m(B.duplicate_errors),"duplicate"):(console.error("validate_before_submit failed:",se),"request_failed")},applyDuplicateErrors:m}}async function Is(a){const{request:i}=Dt(),{result:m,error:f}=await Lt(i,a);if(!m)throw f instanceof Error?f:new Error(String(f));return m}const Ss=Object.freeze(Object.defineProperty({__proto__:null,buildDuplicateCheckValues:yr,callValidateBeforeSubmit:Lt,getFieldValueKey:Qe,processWebsiteFieldValues:qt,useValidateBeforeSubmit:gr,validateBeforeSubmitForIntegration:Is},Symbol.toStringTag,{value:"Module"})),xs={key:0,class:"ivyforms-success-message"},Vs={key:0,class:"ivyforms-success-message ivyforms-mb-24 ivyforms-flex ivyforms-flex-direction-column ivyforms-align-items-center ivyforms-justify-content-center ivyforms-border-radius-8"},Es=vt({__name:"FormRender",setup(a){const{startWatching:i}=Zr();i(),typeof window<"u"&&(window.IvyForms?.isGutenbergEditor||window.IvyForms?.isElementorEditor);const f=(()=>{if(typeof window<"u"){const e=window;return e._ivyFormsGlobalTemplates||(e._ivyFormsGlobalTemplates={}),e._ivyFormsGlobalTemplates}return{}})(),V=(e,n)=>{if(n&&e){const s=R(n);f[e]=s,window.IvyForms?.api?.fields?.public&&(window.IvyForms.api.fields.public[e]=s);const r=window;r._updateFormTemplates&&r._updateFormTemplates(e,s),typeof window<"u"&&window.dispatchEvent(new CustomEvent("ivyforms:template_registered",{detail:{fieldType:e,component:s}}))}};if(typeof window<"u"){const e=window;e.IvyForms||(e.IvyForms={api:{fields:{admin:{},public:{}},hooks:{actions:{},filters:{}},fieldOptions:{registry:{}}},hooks:{actions:{},filters:{},fieldInit:[]},fields:{}}),e.IvyForms.api||(e.IvyForms.api={fields:{admin:{},public:{}},hooks:{actions:{},filters:{}},fieldOptions:{registry:{}}}),e.IvyForms.api.fields||(e.IvyForms.api.fields={admin:{},public:{}}),e.IvyForms.api.fields.registerPublic=V,(e.IvyForms._publicFieldQueue||[]).forEach(({fieldType:s,component:r})=>V(s,r)),e.IvyForms.hooks||(e.IvyForms.hooks={actions:{},filters:{},fieldInit:[]}),e.IvyForms.hooks.fieldInit||(e.IvyForms.hooks.fieldInit=[]),e.IvyForms._proFieldTypes||(e.IvyForms._proFieldTypes=new Set),e.IvyForms.api.hooks||(e.IvyForms.api.hooks={actions:{},filters:{}}),e.IvyForms.api.hooks.registerFieldInit=s=>{typeof s=="function"&&e.IvyForms.hooks.fieldInit.push(s)},e.IvyForms.api.hooks.registerProFieldType=s=>{s&&typeof s=="string"&&e.IvyForms._proFieldTypes.add(s)}}const{getLabel:o}=mr(),{parseTimeToMinutes:p,isValidTimeFormat:I,parseTimeString:y,getAmPmFromHours:_}=En(),{isValidDateFormat:P,isDateInValidRange:j}=Cn(),{request:B}=Dt(),se=T(!1),q=T(!1),Se=T(!1),J=T(null);function Ze(e){if(!Array.isArray(e)||e.length===0)return[];const n=new Map;e.forEach((u,g)=>n.set(u,g));const s=u=>u.parentId!==void 0&&u.parentId!==null&&Number(u.parentId)!==0,r=new Set;e.forEach(u=>{(u.type==="name"||u.type==="address")&&r.add(Number(u.fieldIndex))});const c=u=>u.type!=="name"&&u.type!=="address"&&r.has(Number(u.fieldIndex)),l={};e.forEach(u=>{if(c(u)){const g=Number(u.fieldIndex);l[g]||(l[g]=[]),l[g].push(u)}});const S=u=>[...u].sort((g,h)=>{const A=(g.settings||{}).subFieldIndex,x=(h.settings||{}).subFieldIndex,v=typeof A=="number",d=typeof x=="number";return v&&d?A-x:v?-1:d?1:(n.get(g)||0)-(n.get(h)||0)}),b=u=>S(l[Number(u.fieldIndex)]??[]),C=e.filter(u=>!s(u)&&!c(u)),t=[];for(const u of C){const g=$e(u.settings),h=u;g&&(u.hideLabel===void 0&&typeof g.hideLabel<"u"&&(h.hideLabel=!!g.hideLabel),u.readOnly===void 0&&typeof g.readOnly<"u"&&(h.readOnly=!!g.readOnly),h.description===void 0&&typeof g.description<"u"&&(h.description=String(g.description||"")),h.cssClasses===void 0&&typeof g.cssClasses<"u"&&(h.cssClasses=String(g.cssClasses||"")),u.type==="file-upload"&&(h.allowMultiple===void 0&&g.allowMultiple!==void 0&&(h.allowMultiple=g.allowMultiple===!0||g.allowMultiple===1||g.allowMultiple==="1"),h.maxUploadCount===void 0&&g.maxUploadCount!==void 0&&(h.maxUploadCount=Number(g.maxUploadCount)||0),h.allowedFileExtensions===void 0&&Array.isArray(g.allowedFileExtensions)&&(h.allowedFileExtensions=g.allowedFileExtensions)));let A=u;A=ve("ivyforms/form-render/filter_parse_field",u);const x=A;let v=e.filter($=>s($)?nr($.parentId,x.id)||nr($.parentId,x.fieldIndex):!1);v=ve("ivyforms/form-render/filter_parent_children",v,x,e);const d=[...v].sort(($,M)=>(n.get($)||0)-(n.get(M)||0)).map($=>{let M=$;return M=ve("ivyforms/form-render/filter_parse_field",$),(M.type==="name"||M.type==="address")&&ze(M,b(M)),M}),E=ve("ivyforms/form-render/normalize_parent_field",null,x,d);if(E){t.push(E);continue}(x.type==="name"||x.type==="address")&&ze(x,b(x)),x.type==="likert"&&ve("ivyforms/form-render/merge_parent_children",!1,x,d),t.push(x)}return t}function ze(e,n){if(e.type==="name"){const s=[];return n.forEach((r,c)=>{const l=`nameField${c+1}`;s.push(l);const S=r.settings||{},b=e;b[`${l}Label`]=r.label||"",b[`${l}Placeholder`]=r.placeholder||"",b[`${l}Required`]=!!r.required,typeof S.requiredMessage<"u"?b[`${l}RequiredMessage`]=S.requiredMessage:typeof r.requiredMessage<"u"&&(b[`${l}RequiredMessage`]=r.requiredMessage),typeof r.defaultValue<"u"&&(b[`${l}Value`]=r.defaultValue);const C=typeof S.hideLabel<"u",t=typeof r.hideLabel<"u";if(C||t){const u=C?!!S.hideLabel:!!r.hideLabel;b[`${l}HideLabel`]=u}typeof r.description<"u"&&(b[`${l}Description`]=String(r.description||"")),typeof r.description<"u"&&(b[`${l}Visible`]=String(r.visible||!0))}),e.nameFieldTypes=s,e.type="name",e}if(e.type==="address"){const s=["streetAddress","addressLine2","city","state","zip","country"];return n.length===0?(s.forEach(r=>{const c=e;c[`${r}Label`]=e[`${r}Label`]||"",c[`${r}Placeholder`]=e[`${r}Placeholder`]||"",c[`${r}Required`]=e[`${r}Required`]||!1,c[`${r}RequiredMessage`]=e[`${r}RequiredMessage`]||"",c[`${r}Value`]=e[`${r}Value`]||"",c[`${r}HideLabel`]=e[`${r}HideLabel`]||!1,c[`${r}Description`]=e[`${r}Description`]||"",c[`${r}Visible`]=e[`${r}Visible`]||!0}),e.addressFieldTypes=s,e.type="address",e):(s.forEach((r,c)=>{let l=n.find(u=>{const g=$e(u.settings);return g&&g.fieldType===r||u.label&&u.label.toLowerCase().replace(/\s/g,"")===r.toLowerCase()})||n.find(u=>u.type===r);!l&&Array.isArray(n)&&n.length>c&&n[c]&&(l=n[c]);const S=l&&l.settings?$e(l.settings):{},b=e;b[`${r}Label`]=l&&l.label||"",b[`${r}Placeholder`]=l&&l.placeholder||"",b[`${r}Required`]=l?!!l.required:!1,l&&typeof S.requiredMessage<"u"?b[`${r}RequiredMessage`]=S.requiredMessage:l&&typeof l.requiredMessage<"u"?b[`${r}RequiredMessage`]=l.requiredMessage:b[`${r}RequiredMessage`]="",l&&typeof l.defaultValue<"u"?b[`${r}Value`]=l.defaultValue:b[`${r}Value`]="";const C=l&&typeof S.hideLabel<"u",t=l&&typeof l.hideLabel<"u";if(C||t){const u=C?!!S.hideLabel:!!l.hideLabel;b[`${r}HideLabel`]=u}else b[`${r}HideLabel`]=!1;l&&typeof l.description<"u"?b[`${r}Description`]=String(l.description||""):b[`${r}Description`]="",l&&typeof l.visible<"u"?b[`${r}Visible`]=!!l.visible:b[`${r}Visible`]=!0}),e.addressFieldTypes=s,e.type="address",e)}return e}const $e=e=>{if(!e)return{};if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return typeof e=="object"?e:{}},G=T([]),z=T({}),xe=e=>typeof e!="string"?e==null?"":String(e):e,Xe=e=>{let n=xe(e.defaultValue);const s=e.inputPrefix||"",r=e.inputSuffix||"";return n&&(s||r)&&(s&&n.startsWith(s)&&(n=n.substring(s.length)),r&&n.endsWith(r)&&(n=n.substring(0,n.length-r.length))),n},ce=e=>{let n=xe(e.defaultValue)||"";if(typeof n=="string"&&(n.includes("-9007199254740991")||n.includes("MIN_SAFE_INTEGER"))&&(n=""),typeof n=="string"&&n.startsWith("["))try{const s=JSON.parse(n);Array.isArray(s)&&(n=s)}catch{}return n},je=e=>{if(e.type==="name"){const n={};return(e.nameFieldTypes||["nameField1","nameField2"]).forEach(r=>{const c=e[`${r}Value`];n[r]=xe(c)}),n}if(e.type==="address"){const n={};return(e.addressFieldTypes||["streetAddress","addressLine2","city","state","zip","country"]).forEach(r=>{const c=e[`${r}Value`];n[r]=xe(c)}),n}if(e.type==="checkbox"&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.filter(s=>s.isDefault).map(s=>s.value);return n.length?n:void 0}if(e.type==="product"&&Array.isArray(e.fieldOptions)){const n=Tn(e);if(kn(n)){const r=e.fieldOptions.filter(c=>c.isDefault).map(c=>c.value);return r.length?r:[]}if(n.productType==="user_defined")return e.defaultValue||"";if(n.productType==="single"){const r=e.fieldOptions.find(c=>c.isDefault)||e.fieldOptions[0];return r?String(r.value):""}const s=e.fieldOptions.find(r=>r.isDefault);return s?s.value:""}if((e.type==="radio"||e.type==="select")&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.find(s=>s.isDefault);return n?n.value:""}if(e.type==="rating"&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.find(s=>s.isDefault);return n?Number(n.value):void 0}if(e.type==="multi-select"&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.filter(s=>s.isDefault).map(s=>s.value);return n.length?n:void 0}return e.type==="website"?Xe(e):e.type==="date"?ce(e):e.type==="file-upload"?[]:e.type==="total"?"0":e.type==="payment-method"?"":e.type==="gdpr"?!1:xe(e.defaultValue)},Z=T({}),w=T({}),Ue=T(!0),X=T(null),me=T(null),Ye=T([]),De=T(null),et=T(!1),qe=T(!1),ee=T(""),Le=T(""),tt=T(""),rt=D(()=>{if(!G.value||G.value.length===0)return[];let e=ve("ivyforms/form-render/filter_fields_visible",[...G.value],z.value);O.value.length>1&&(e=e.filter(s=>s.pageId===W.value));const n=mt(G.value);return e=e.filter(s=>!Xr(s,n)),e}),ge=D(()=>mt(G.value)),nt=D(()=>{const e=ge.value.filter(s=>!bt(s));if(e.length===0)return[];const n=new Set(ve("ivyforms/form-render/filter_fields_visible",[...e],z.value).map(s=>s.type+"_"+s.fieldIndex));return e.filter(s=>!n.has(s.type+"_"+s.fieldIndex))}),gt=(e,n)=>e===n?!0:JSON.stringify(e??null)===JSON.stringify(n??null);Oe(nt,()=>{const e=z.value,n=w.value;nt.value.forEach(s=>{const r=s.type+"_"+s.fieldIndex,c=je(s);if(gt(e[r],c)||(e[r]=c),s.type==="email"&&s.confirmFieldEnabled){const l="emailConfirm_"+s.fieldIndex;e[l]!==""&&(e[l]=""),delete n[l]}ie(s).forEach(l=>{delete n[l]}),delete n[r]})},{flush:"post"});const st=D(()=>{const e=rt.value;if(!e||e.length===0)return[];const n=new Map;return e.forEach(s=>{const r=s.rowIndex??0;n.has(r)||n.set(r,[]),n.get(r).push(s)}),Array.from(n.entries()).sort(([s],[r])=>s-r).map(([,s])=>s.sort((r,c)=>(r.columnIndex??0)-(c.columnIndex??0)))}),ot=D(()=>Jt(L.value.formType??"")),F=T(null),U=D(()=>{if(we.hooks.updateCounter.value,!ot.value)return null;const e=window.IvyForms?.api?.hooks??window.IvyForms?.hooks;return e?.applyFilters?e.applyFilters("ivyforms/form/render_layout_component",null,{formType:L.value.formType}):null}),Y=D(()=>O.value.findIndex(e=>e.id===W.value)),oe=e=>{let n=mt(G.value).filter(s=>!bt(s));return n=ve("ivyforms/form-render/filter_fields_visible",n,z.value),O.value.length>1&&(n=n.filter(s=>s.pageId===e)),n},ie=e=>{const n=`${e.type}_${e.fieldIndex}`;return e.type==="name"?(e.nameFieldTypes||["nameField1","nameField2"]).filter(r=>e[`${r}Visible`]!==!1).map(r=>`${n}.${r}`):e.type==="address"?(e.addressFieldTypes||["streetAddress","addressLine2","city","state","zip","country"]).filter(r=>e[`${r}Visible`]!==!1).map(r=>`${n}.${r}`):[n]},it=e=>{const n=Z.value,s=oe(e).flatMap(ie);return[...new Set(s.filter(r=>r in n))]},Te=e=>{if(typeof e=="string")return e;if(e instanceof Error&&e.message)return e.message;if(Array.isArray(e)&&e.length>0){const n=e[0];if(typeof n=="string")return n;if(n&&typeof n.message=="string")return n.message}return o("invalid_input")},Ve=async(e,n)=>{if(!X.value)return!0;const s=it(e);if(s.length===0)return!0;let r=!1;for(const c of s)try{await X.value.validateField(c),n&&w.value[c]&&delete w.value[c]}catch(l){r=!0,n&&(w.value[c]=Te(l))}return!r},_r=async()=>{if(!await Ve(W.value,!0)){Re({message:o("please_fill_required_fields"),type:"error"});return}const n=await kt(W.value);if(n!=="ok"){xt(n);return}fe.value.includes(W.value)||fe.value.push(W.value),Y.value<O.value.length-1&&(W.value=O.value[Y.value+1].id,me.value?.scrollIntoView({behavior:"smooth",block:"start"}))},wr=()=>{Y.value>0&&(W.value=O.value[Y.value-1].id,me.value?.scrollIntoView({behavior:"smooth",block:"start"}))},L=T({id:"",name:"",description:"",showTitle:!0,showDescription:!1,storeEntries:!0,defaultValue:"",counter:0,fields:[],confirmations:[],formActionButtons:{submitButtonSettings:{label:o("submit"),position:"default"},pageNavigationSettings:{}},paymentSettings:{...On}}),O=T([{id:"page-1",label:"Page 1",closable:!1}]),W=T("page-1"),Ee=T({type:"none",showPageTitles:!0,hidePageNumbers:!1,hideConnectingLines:!1}),fe=T([]),{validateDuplicatesBeforeProceed:kt,applyDuplicateErrors:br}=gr({request:B,getLabel:o,formData:L,formFields:G,formValues:z,formNonce:De,fieldErrors:w,getPageFields:oe}),{progressIndicator:_t,pageNavigation:wt}=en(),Fr=(e,n)=>{if(!n||typeof n!="object")return e;const s=n;return{...e,...s,props:s.props&&typeof s.props=="object"?{...e.props,...s.props}:e.props,events:s.events&&typeof s.events=="object"?{...e.events,...s.events}:e.events}},At=(e,n,s)=>{const r=ve(e,n,s);return r===n?n:Fr(n,r)},ke=D(()=>{const e={render:!!_t.value&&O.value.length>1&&Ee.value.type!=="none",component:_t.value,key:`progress-${W.value}`,wrapperClass:"ivyforms-form-render__progress-indicator-wrapper",props:{type:Ee.value.type,pages:O.value,currentPageId:W.value,showPageTitles:Ee.value.showPageTitles,hidePageNumbers:Ee.value.hidePageNumbers,hideConnectingLines:Ee.value.hideConnectingLines,completedPages:fe.value},events:{"change-page":n=>{typeof n=="string"&&xr(n)}}};return At("ivyforms/form-render/filter_progress_indicator_render_model",e,{pages:O.value,currentPageId:W.value,progressIndicator:Ee.value,completedPages:fe.value})}),Ce=D(()=>{const e=Sr(),n={render:!!wt.value&&O.value.length>1,component:wt.value,key:`nav-${W.value}`,wrapperClass:"ivyforms-form-render__navigation-wrapper",props:{pageIndex:Y.value,totalPages:O.value.length,previousButton:e.previousButton,nextButton:e.nextButton,submitButton:e.submitButton,buttonPosition:e.buttonPosition,isGrouped:e.isGrouped},events:{previous:()=>wr(),next:()=>_r(),submit:()=>dt()}};return At("ivyforms/form-render/filter_page_navigation_render_model",n,{pages:O.value,currentPageId:W.value,currentPageIndex:Y.value,pageNavigationSettings:e})}),Ir=D(()=>!Ce.value.render||O.value.length<=1),at=T({}),Sr=()=>{const e=at.value[W.value];return e||{previousButton:{label:o("previous")||"Previous",cssClasses:"",priority:"tertiary",type:"border",showIcon:!0},nextButton:{label:o("next")||"Next",cssClasses:"",priority:"tertiary",type:"border",showIcon:!0},submitButton:{label:L.value.formActionButtons?.submitButtonSettings?.label||o("submit")||"Submit",cssClasses:"",priority:"tertiary",type:"border",showIcon:!1},buttonPosition:"separated",isGrouped:!1}},xr=e=>{W.value=e,me.value?.scrollIntoView({behavior:"smooth",block:"start"})};Oe(W,async(e,n)=>{if(!n||e===n)return;const s=O.value.findIndex(c=>c.id===n),r=O.value.findIndex(c=>c.id===e);if(s===-1||r===-1){fe.value=fe.value.filter(c=>O.value.some(l=>l.id===c));return}fe.value=fe.value.filter(c=>{const l=O.value.findIndex(S=>S.id===c);return l>=0&&l<r}),r>s&&await Ve(n,!1)&&!fe.value.includes(n)&&fe.value.push(n)});const He=D(()=>tn(L.value.styleSettings)),Vr=D(()=>{const e=L.value.formActionButtons?.submitButtonSettings?.label,n=typeof e=="string"?e.trim():"";return n!==""?n:o("submit")}),bt=e=>ve("ivyforms/form-render/skip_field_value_init",!1,e),Er=D(()=>rn(L.value.id||"public-form")),Cr=D(()=>{const e=L.value.styleSettings||{},n=Qt(e.customCssClass||""),s=Qt(e.additionalCssClasses||"");return[...n,...s]}),Pr=D(()=>{const e=L.value.id;return["ivyforms-form-wrapper",`ivyforms-form-wrapper-${e}`,`ivyforms-form-${e}`,...Cr.value]}),Rt={text:R(xn),email:R(Sn),textarea:R(In),number:R(Fn),quantity:R(bn),slider:R(wn),phone:R(_n),website:R(hn),time:R(gn),date:R(yn),recaptcha:R(vn),turnstile:R(pn),hcaptcha:R(fn),html:R(mn),radio:R(cn),select:R(Zt),name:R(dn),address:R(un),checkbox:R(ln),"multi-select":R(Zt),rating:R(an),"file-upload":R(on),product:R(sn),total:R(nn),"payment-method":R(vs),gdpr:R(es)},be=Vn({...Rt});Object.entries(f).forEach(([e,n])=>{be[e]=n});const Ke=T(0),Mr=e=>{Ke.value;const n=be[e];return n||window.IvyForms?.api?.fields?.public?.[e]};typeof window<"u"&&(window._updateFormTemplates=(e,n)=>{be[e]=n,Ke.value++},window.addEventListener("ivyforms:template_registered",e=>{const n=e,{fieldType:s,component:r}=n.detail;be[s]=r,Ke.value++}),Object.entries(f).forEach(([e,n])=>{be[e]=n})),fr(async()=>{const e=window;if(typeof window<"u"&&e.wpIvyFormDataList){const s=me.value.closest(".ivyforms-frontend").getAttribute("data-counter"),r=e.wpIvyFormDataList[s];if(typeof r=="object"&&r!==null&&r.id){L.value=r.form,De.value=r.nonce;let c=[...r.fields||[]];if(r.form.pages&&Array.isArray(r.form.pages)&&r.form.pages.length>0){O.value=r.form.pages,W.value=O.value[0].id;const t=new Map;for(const u of O.value)if(u.fields&&Array.isArray(u.fields))for(const g of u.fields)t.set(g.fieldIndex,u.id);t.size>0&&(c=c.map(u=>({...u,pageId:u.pageId||t.get(u.fieldIndex)||O.value[0].id})))}if(r.form.progressIndicator&&(Ee.value=r.form.progressIndicator),r.form.formActionButtons&&typeof r.form.formActionButtons=="object"&&r.form.formActionButtons.pageNavigationSettings&&typeof r.form.formActionButtons.pageNavigationSettings=="object"&&(at.value=r.form.formActionButtons.pageNavigationSettings),Jt(r.form.formType??"")){const t=O.value[0],u="page_1",g=typeof t?.label=="string"&&t.label.trim()!==""?t.label:"Page 1";O.value=[{id:u,label:g,closable:!1}],W.value=u,at.value={},c=c.map(h=>({...h,pageId:u,settings:h.settings&&typeof h.settings=="object"?{...h.settings,pageId:u}:h.settings}))}await new Promise(t=>{if(typeof window>"u"){t();return}const u=window;if(u.IvyFormsProReady){t();return}if(!(u.ivyFormsProScripts!==void 0||u.IvyFormsProScripts!==void 0||u.IvyFormsPro!==void 0)){t();return}let h=!1;const A=()=>{h||(h=!0,window.removeEventListener("ivyforms:pro_ready",x),clearTimeout(v),t())},x=()=>A();window.addEventListener("ivyforms:pro_ready",x,{once:!0});const v=window.setTimeout(A,300)});const l=window.IvyForms?.api?.fields?.public;if(l&&(Object.entries(Rt).forEach(([t,u])=>{l[t]||(l[t]=R(u))}),Object.entries(l).forEach(([t,u])=>{be[t]=R(u)}),Ke.value++),!(!!_t.value||!!wt.value)&&O.value.length>1){const t=O.value[0],u="page_1",g=typeof t?.label=="string"&&t.label.trim()!==""?t.label:"Page 1";O.value=[{id:u,label:g,closable:!1}],W.value=u,at.value={},c=c.map(h=>({...h,pageId:u,settings:h.settings&&typeof h.settings=="object"?{...h.settings,pageId:u}:h.settings}))}G.value=Ze(c),mt(G.value).filter(t=>!bt(t)).forEach(t=>{const u=t.type+"_"+t.fieldIndex;if(z.value[u]=je(t),t.type==="name")(t.nameFieldTypes||["nameField1","nameField2"]).forEach(h=>{const A=`${t.type}_${t.fieldIndex}.${h}`,x=t[`${h}Label`]||o(`name_field_${h.replace("nameField","")}`),v=[];if(t[`${h}Required`]){const d=t[`${h}RequiredMessage`],E=typeof d=="string"&&d.trim()!==""?d:`${x} ${o("required")}`;v.push({required:!0,message:E,trigger:["submit"]})}Z.value[A]=v});else if(t.type==="address")(t.addressFieldTypes||["streetAddress","addressLine2","city","state","zip","country"]).forEach(h=>{const A=`${t.type}_${t.fieldIndex}.${h}`,x=t[`${h}Label`]||o(`address_field_${h.replace("addressField","")}`),v=[];if(t[`${h}Required`]){const d=t[`${h}RequiredMessage`],E=typeof d=="string"&&d.trim()!==""?d:`${x} ${o("required")}`;v.push({required:!0,message:E,trigger:["submit"]})}Z.value[A]=v});else if(t.type==="payment-method")Z.value[u]=[{validator:(g,h,A)=>{A()},trigger:["submit"]}];else{const g=[],A=window.IvyForms?._proFieldTypes?.has(t.type)||!1;(t.required||t.type==="gdpr")&&!A&&t.type!=="file-upload"&&t.type!=="total"&&t.type!=="payment-method"&&(t.type==="gdpr"?g.push({validator:(x,v,d)=>{v!==!0&&v!==1&&v!=="true"&&v!=="1"?d(new Error(te(t))):d()},trigger:["submit"]}):g.push({required:!0,message:te(t),trigger:["submit"]})),t.type==="total"&&g.push({validator:(x,v,d)=>{if(se.value){d();return}const $=(v==null?"":String(v).trim()).replace(",","."),M=Number($);if(t.required&&(!Number.isFinite(M)||M<=0)){d(new Error(te(t)));return}d()},trigger:["submit"]}),t.type==="file-upload"&&g.push(...Zn(t,{getLabel:o,getRequiredMessage:te,isSkipValidation:()=>se.value})),t.type==="email"&&g.push({validator:(x,v,d)=>{const E=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(se.value){d();return}if(!v){t.required?d(new Error(o("enter_email_address"))):d();return}if(!E.test(v)){d(new Error(o("enter_email_address")));return}d()},trigger:["submit"]}),t.type==="phone"&&g.push({pattern:/^[+\d]?(?:[\d\s.-]{7,15})$/,message:o("enter_phone_number"),trigger:["submit"]}),t.type==="website"&&g.push({validator:(x,v,d)=>{if(t.required&&(v===""||v===null||v===void 0))return d(new Error(te(t)));if(v===""||v===null||v===void 0)return d();let E=String(v);const $=t.inputPrefix||"",M=t.inputSuffix||"";if(($||M)&&(E=$+E+M),!/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i.test(E))return d(new Error(o("enter_valid_website")));d()},trigger:["submit"]}),t.type==="time"&&g.push({validator:(x,v,d)=>{if(Ae()&&t.timeMode==="range"){const Q=typeof v=="string"?v.trim():"",ae=!Q;if(t.required&&ae)return d(new Error(te(t)));if(ae)return d();const pe=Q.split(" - ");if(pe.length!==2)return d(new Error(o("enter_valid_time")));const ue=pe[0].trim(),Pe=pe[1].trim(),We=Ae()&&!!t.enableSeconds;for(const ct of[ue,Pe])if(!I(ct,t.timeFormat,"time-picker",We))return d(new Error(o("enter_valid_time")));const Et=p(ue),Ct=p(Pe);if(Et===null||Ct===null)return d(new Error(o("enter_valid_time")));if(Et>Ct)return d(new Error(o("enter_valid_time")));const Ht=t.minTimeValue!==null&&t.minTimeValue!==void 0&&t.minTimeValue!=="",Kt=t.maxTimeValue!==null&&t.maxTimeValue!==void 0&&t.maxTimeValue!=="";if(Ht||Kt){const ct=Ht?p(String(t.minTimeValue)):null,Wt=Kt?p(String(t.maxTimeValue)):null;for(const[Ps,Gt]of[[ue,Et],[Pe,Ct]]){if(ct!==null&&Gt<ct){const Pt=ut(String(t.minTimeValue),t);return d(new Error(o("time_must_be_after").replace("{min}",Pt)))}if(Wt!==null&&Gt>Wt){const Pt=ut(String(t.maxTimeValue),t);return d(new Error(o("time_must_be_before").replace("{max}",Pt)))}}}return d()}const E=typeof v=="string"?v.trim():v,$=E==null||E==="",M=E==="__PARTIAL__";if(t.timeFieldType==="dropdown")return t.required&&($||M)?d(new Error(te(t))):M?d(new Error(o("enter_valid_time"))):!$&&!I(E,t.timeFormat,"dropdown",Ae()&&!!t.enableSeconds)?d(new Error(o("enter_valid_time"))):d();if(t.required&&($||M))return d(new Error(te(t)));if(M)return d(new Error(o("enter_valid_time")));const H=$||I(E,t.timeFormat,t.timeFieldType,Ae()&&!!t.enableSeconds);if(!$&&!H)return d(new Error(o("enter_valid_time")));const K=t.minTimeValue!==null&&t.minTimeValue!==void 0&&t.minTimeValue!=="",re=t.maxTimeValue!==null&&t.maxTimeValue!==void 0&&t.maxTimeValue!=="";if((K||re)&&!$&&H){const Q=p(E);if(Q===null)return d(new Error(o("enter_valid_time")));const ae=K?p(String(t.minTimeValue)):null;if(K&&ae===null)return d(new Error(`Malformed minimum time value: ${t.minTimeValue}`));const pe=re?p(String(t.maxTimeValue)):null;if(re&&pe===null)return d(new Error(`Malformed maximum time value: ${t.maxTimeValue}`));if(ae!==null&&Q<ae){const ue=ut(String(t.minTimeValue),t);return d(new Error(o("time_must_be_after").replace("{min}",ue)))}if(pe!==null&&Q>pe){const ue=ut(String(t.maxTimeValue),t);return d(new Error(o("time_must_be_before").replace("{max}",ue)))}}return d()},trigger:["submit"]}),t.type==="date"&&g.push({validator:(x,v,d)=>{if(Ae()&&t.dateMode==="range"){const re=!Array.isArray(v)||v.length<2||!v[0]&&!v[1];if(t.required&&re)return d(new Error(te(t)));if(re)return d();const Q=String(v[0]||""),ae=String(v[1]||""),pe=/^\d{4}-\d{2}-\d{2}$/;if(Q&&!pe.test(Q)||ae&&!pe.test(ae))return d(new Error(o("enter_valid_date")));if(Q&&ae&&Q>ae)return d(new Error(o("enter_valid_date")));const ue=t.minDateValue!==null&&t.minDateValue!==void 0&&t.minDateValue!==""?String(t.minDateValue):"",Pe=t.maxDateValue!==null&&t.maxDateValue!==void 0&&t.maxDateValue!==""?String(t.maxDateValue):"";for(const We of[Q,ae])if(We){if(ue&&We<ue)return d(new Error(o("date_must_be_after").replace("{min}",ue)));if(Pe&&We>Pe)return d(new Error(o("date_must_be_before").replace("{max}",Pe)))}return d()}const E=typeof v=="string"?v.trim():v,$=E==null||E==="",M=E==="__PARTIAL__";if(t.dateFieldType==="dropdown")return t.required&&($||M)?d(new Error(te(t))):M?d(new Error(o("enter_valid_date"))):d();if(t.required&&$)return d(new Error(te(t)));if($)return d();const H=t.dateFormat||"MM/DD/YYYY";if(!P(E,H))return d(new Error(o("enter_date_valid_format")));const K=j(E,H,t.minDateValue,t.maxDateValue);return K.isInRange?d():K.error?.includes("Malformed minimum")?d(new Error(`Malformed minimum date value: ${t.minDateValue}`)):K.error?.includes("Malformed maximum")?d(new Error(`Malformed maximum date value: ${t.maxDateValue}`)):K.error?.includes("at or after")?d(new Error(o("date_must_be_after").replace("{min}",String(t.minDateValue)))):K.error?.includes("at or before")?d(new Error(o("date_must_be_before").replace("{max}",String(t.maxDateValue)))):d(new Error(K.error||o("enter_valid_date")))},trigger:["submit"]}),t.type==="slider"&&g.push({validator:(x,v,d)=>{if(v===""||v===null||v===void 0)return t.required?d(new Error(te(t))):d();const E=Number(v);if(isNaN(E))return d(new Error(o("enter_valid_number")));const $=t.minValue!==null&&t.minValue!==void 0,M=t.maxValue!==null&&t.maxValue!==void 0;return $&&E<t.minValue?d(new Error(o("number_cannot_be_smaller_than").replace("{min}",String(t.minValue)))):M&&E>t.maxValue?d(new Error(o("number_cannot_be_greater_than").replace("{max}",String(t.maxValue)))):d()},trigger:["submit"]}),(t.type==="number"||t.type==="quantity")&&(t.minValue!==null||t.maxValue!==null)&&(g.push({validator:(x,v,d)=>{if(v===""||v===null||v===void 0)return d();const E=Number(v);if(isNaN(E))return d(new Error(o("enter_valid_number")));const $=t.minValue!==null&&t.minValue!==void 0,M=t.maxValue!==null&&t.maxValue!==void 0;if($&&E<t.minValue){if(M){const K=o("number_out_of_range");return d(new Error(K.replace("{min}",String(t.minValue)).replace("{max}",String(t.maxValue))))}const H=o("number_cannot_be_smaller_than");return d(new Error(H.replace("{min}",String(t.minValue))))}if(M&&E>t.maxValue&&t.minValue!==t.maxValue){if($){const K=o("number_out_of_range");return d(new Error(K.replace("{min}",String(t.minValue)).replace("{max}",String(t.maxValue))))}const H=o("number_cannot_be_greater_than");return d(new Error(H.replace("{max}",String(t.maxValue))))}d()},trigger:["change","blur","submit"]}),Oe(()=>z.value[u],x=>{const v=t.minValue!==null&&t.minValue!==void 0,d=t.maxValue!==null&&t.maxValue!==void 0;if(x===""||x===null||x===void 0){w.value[u]&&delete w.value[u];return}const E=Number(x);if(isNaN(E)){w.value[u]=o("enter_valid_number");return}if((v&&E<t.minValue||d&&E>t.maxValue)&&t.minValue!==t.maxValue){if(v&&d){const $=o("number_out_of_range");w.value[u]=$.replace("{min}",String(t.minValue)).replace("{max}",String(t.maxValue))}else if(v&&E<t.minValue){const $=o("number_cannot_be_smaller_than");w.value[u]=$.replace("{min}",String(t.minValue))}else if(d&&E>t.maxValue){const $=o("number_cannot_be_greater_than");w.value[u]=$.replace("{max}",String(t.maxValue))}return}w.value[u]&&delete w.value[u]})),Z.value[u]=g}if(t.type==="date"&&t.dateFieldType==="input"&&(t.minDateValue!==null||t.maxDateValue!==null)){const g=t.minDateValue!==null&&t.minDateValue!==void 0&&t.minDateValue!=="",h=t.maxDateValue!==null&&t.maxDateValue!==void 0&&t.maxDateValue!=="";(g||h)&&Oe(()=>z.value[u],A=>{if(!A||A===""||A==="__PARTIAL__"){w.value[u]&&delete w.value[u];return}const x=t.dateFormat||"MM/DD/YYYY";if(!((M,H)=>{let K=H.length;if(H.includes("M/D")||H.includes("D/M")?K=8:(H.includes("MM/DD")||H.includes("DD/MM")||H.includes("YYYY-MM-DD")||H.includes("YYYY-M-D")||H.includes("DD.MM.YYYY")||H.includes("D.M.YYYY"))&&(K=10),M.length<K)return!1;let re=[];if(M.indexOf("/")!==-1?re=M.split("/"):M.indexOf("-")!==-1?re=M.split("-"):M.indexOf(".")!==-1&&(re=M.split(".")),re.length===3){let Q="";if(H.startsWith("YYYY")?Q=re[0]:Q=re[2],Q.length!==4||isNaN(Number(Q)))return!1}else return!1;return!0})(String(A),x)){w.value[u]&&delete w.value[u];return}const d=It(String(A),x);if(!d){w.value[u]&&delete w.value[u];return}const E=g?It(String(t.minDateValue),x):null,$=h?It(String(t.maxDateValue),x):null;pt(()=>{if(E&&d<E){const M=o("date_must_be_after");w.value[u]=M.replace("{min}",String(t.minDateValue));return}if($&&d>$){const M=o("date_must_be_before");w.value[u]=M.replace("{max}",String(t.maxDateValue));return}w.value[u]&&delete w.value[u]})})}if(t.type==="email"&&t.confirmFieldEnabled){const g="emailConfirm_"+t.fieldIndex;z.value[g]="";const h=[];h.push({validator:(A,x,v)=>{const d=z.value[u],E=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!d){v();return}if(!x){v(new Error(o("enter_email_address")));return}if(!E.test(x)){v(new Error(o("enter_email_address")));return}if(d&&x!==d){v(new Error(o("emails_do_not_match")));return}v()},trigger:["submit"]}),Z.value[g]=h}typeof window<"u"&&(window.IvyForms?.hooks?.fieldInit||[]).forEach(A=>{try{A(t,{formValues:z.value,formRules:Z.value,getLabel:o,fieldErrors:w.value,skipValidation:se})}catch(x){console.error(o("error_in_field_init_hook"),x)}})}),Ue.value=!1,setTimeout(()=>{X.value&&X.value.clearValidate()},50);const b=me.value.closest(".ivyforms-frontend")?.getAttribute("data-counter"),C=document.querySelector(`.ivyforms-skeleton-${b}`);C&&C.remove(),L.value.styleSettings&&Pn(L.value.id,L.value.styleSettings,L.value.formType)}else console.error(o("invalid_form_data"),L)}else console.error(o("form_data_not_found")),Ue.value=!1;let n=L.value.counter||"";if(!n&&me.value){const s=me.value.closest(".ivyforms-frontend");s&&s.dataset.counter&&(n=s.dataset.counter)}if(n){const s=document.getElementById("ivyforms-app-"+n);s&&s.dataset&&(Le.value=s.dataset.postId||"",tt.value=s.dataset.referer||document.referrer||"")}});function te(e){const n=e.requiredMessage;if(typeof n=="string"&&n.trim()!=="")return n;if(e.type==="gdpr")return o("gdpr_required_default_message");let s;return s=Tr(e.label||e.type),s+=` ${o("required")}`,s}function $r(e){return e.startsWith("payment-method_")}function lt(){return ge.value.filter(e=>e.type==="payment-method").map(e=>`${e.type}_${e.fieldIndex}`)}function Ot(){return ge.value.find(e=>e.type==="payment-method")}function Dr(){const e=Ot();return e?te(e):o("required")}function qr(){return Ot()?.required!==!1}function Lr(e,n){return n||e.hasPaymentDetails?.()===!0}function Ft(e){return!!(e?.sourceId||e?.paymentMethodId||e?.paymentIntentId||e?.paypalOrderId)}function Nt(e){return e?Object.fromEntries(Object.entries(e).filter(([n])=>!$r(n))):{}}function Bt(){const e=F.value?.getFieldCollectorRefs?.()??Ye.value;return(Array.isArray(e)?e.flat():e?[e]:[]).find(s=>s?s.$props?.field?.type==="payment-method":!1)}const Tr=e=>e?e[0]?.toLocaleUpperCase()+e.slice(1):"";function ut(e,n){if(!e)return"";const s=String(e).trim(),r=y(s);if(!r.hours&&!r.minutes&&!r.amPm)return s;const c=Ae()&&!!n.enableSeconds;if(n.timeFormat==="ampm"){const C=r.hours?parseInt(r.hours,10):NaN;if(isNaN(C))return s;const t=C%12||12,u=r.minutes?r.minutes.padStart(2,"0"):"00",g=c?`:${r.seconds?r.seconds.padStart(2,"0"):"00"}`:"",h=r.amPm||_(r.hours);return`${t}:${u}${g} ${h}`}const l=r.hours?r.hours.padStart(2,"0"):"00",S=r.minutes?r.minutes.padStart(2,"0"):"00",b=c&&r.seconds?`:${r.seconds.padStart(2,"0")}`:c?":00":"";return`${l}:${S}${b}`}const It=(e,n)=>{let s=0,r=0,c=0,l=[];if(e.indexOf("/")!==-1?l=e.split("/"):e.indexOf("-")!==-1?l=e.split("-"):e.indexOf(".")!==-1?l=e.split("."):l=[e],n.startsWith("MM")||n.startsWith("M")?(r=parseInt(l[0],10),s=parseInt(l[1],10),c=parseInt(l[2],10)):n.startsWith("DD")||n.startsWith("D")?(s=parseInt(l[0],10),r=parseInt(l[1],10),c=parseInt(l[2],10)):n.startsWith("YYYY")&&(c=parseInt(l[0],10),r=parseInt(l[1],10),s=parseInt(l[2],10)),s&&r&&c){const S=new Date(c,r-1,s);if(S.getFullYear()===c&&S.getMonth()===r-1&&S.getDate()===s)return S}return null},St=()=>{if(!G.value||G.value.length===0)return"top";const e=G.value.reduce((s,r)=>{const c=r.labelPosition||"top";return s[c]=(s[c]||0)+1,s},{});switch(Object.keys(e).reduce((s,r)=>e[s]>e[r]?s:r)){case"left":return"left";case"right":return"right";default:return"top"}},dt=async()=>{if(!X.value||q.value)return;q.value=!0;const e=async()=>{const n=F.value?.getFieldCollectorRefs?.()??Ye.value;if(ge.value.some(b=>b.type==="recaptcha")){const b=n?.find(C=>C&&C.$props&&C.$props.field&&C.$props.field.type==="recaptcha");if(b&&b.executeRecaptcha)try{const C=await b.executeRecaptcha(),t=`recaptcha_${b.$props.field.fieldIndex}`;z.value[t]=C}catch(C){console.error("reCAPTCHA execution failed:",C),q.value=!1;return}}if(ge.value.some(b=>b.type==="turnstile")){const b=n?.find(C=>C&&C.$props&&C.$props.field&&C.$props.field.type==="turnstile");if(b){const C=`turnstile_${b.$props.field.fieldIndex}`,t=z.value[C];if(!t||t.toString().trim()===""){w.value={...w.value,[C]:o("turnstile_complete_verification")},he(),q.value=!1;return}}}if(ge.value.some(b=>b.type==="hcaptcha")){const b=n?.find(C=>C&&C.$props&&C.$props.field&&C.$props.field.type==="hcaptcha");if(b){const C=`hcaptcha_${b.$props.field.fieldIndex}`,t=z.value[C];if(!t||t.toString().trim()===""){w.value={...w.value,[C]:o("hcaptcha_complete_verification")},he(),q.value=!1;return}}}const l=await kt(void 0,{bypassCache:!0});if(l!=="ok"){xt(l),q.value=!1;return}const S=lt();if(S.length>0){const b=S[0],C=Bt(),t=qr(),u=()=>{w.value={...w.value,[b]:Dr()}};if(C?.tokenize){const g=J.value,h=Ft(g)?g:Lr(C,t)?await C.tokenize():null;if(t&&!Ft(h)){u(),he(),q.value=!1;return}if(w.value[b]){const A={...w.value};delete A[b],w.value=A}Ft(h)&&(J.value=h)}else if(t){u(),he(),q.value=!1;return}}await Nr()};if(U.value&&F.value?.validateAllSteps){if(!await F.value.validateAllSteps()){he(),q.value=!1;return}await F.value.prepareSecurityFieldsForSubmit?.(),await e();return}await X.value.validate(async(n,s)=>{const r=Nt(s);if(n||Object.keys(r).length===0){const l=lt();l.forEach(S=>{w.value[S]&&delete w.value[S]}),l.length>0&&X.value?.clearValidate(l),await e()}else w.value={},Object.keys(r).forEach(l=>{const S=r[l][0]?.message||o("invalid_input");w.value[l]=S}),he(),q.value=!1})},he=()=>{pt(()=>{const e=document.querySelector(".ivyforms-form-field .is-error input, .ivyforms-form-field .is-error textarea, .ivyforms-form-field .is-error select");e&&typeof e.scrollIntoView=="function"&&(e.scrollIntoView({behavior:"smooth",block:"center"}),e instanceof HTMLElement&&typeof e.focus=="function"&&e.focus({preventScroll:!0}))})},xt=e=>{Re({message:o(e==="duplicate"?"duplicate_value_error":"error_checking_duplicates"),type:"error"}),he()},zt=e=>{if(w.value[e]&&delete w.value[e],e.includes(".")){const n=e.split(".")[0];w.value[n]&&delete w.value[n]}},jt=(e,n)=>{if(!n){zt(e);return}w.value={...w.value,[e]:n}},kr=e=>{switch(e){case"file_upload_invalid_type":return o("file_upload_error_invalid_type");case"file_upload_too_many_files":return o("file_upload_error_too_many");case"file_upload_failed":return o("file_upload_error_size");default:return}},Ar=e=>{if(!e||typeof e!="object")return;const n=e.data;if(!n||typeof n!="object")return;const s=n.field_errors;if(!(!s||typeof s!="object"))return s},Rr=e=>{let n=!1;for(const[s,r]of Object.entries(e)){const c=typeof r=="string"?r:r?.code,l=typeof r=="object"&&typeof r?.message=="string"&&r.message||kr(c)||o("error_submitting_form");jt(s,l),n=!0}return n};ne("clearFieldError",zt),ne("setFieldError",jt),ne("formValues",z),ne("formFields",G),ne("allFormFields",ge),ne("resolvePublicFieldComponent",Mr);const Ut=D(()=>{const e=L.value.paymentSettings?.currency;return typeof e=="string"&&$n(e)?e:Mn});ne("ivyformsFormId",D(()=>L.value.id)),ne("ivyformsFormNonce",De),ne("validateFormFields",async()=>{const e=X.value;return e?.validate?await new Promise(n=>{e.validate((s,r)=>{const c=Nt(r),l=s||Object.keys(c).length===0;l||(w.value={},Object.keys(c).forEach(S=>{const b=c[S][0]?.message||o("invalid_input");w.value[S]=b}),he()),n(l)})}):!0}),ne("ivyformsPaymentCurrencyCode",Ut),ne("formStyleSettings",D(()=>L.value.styleSettings||void 0)),ne("horizontalGap",He),ne("formPopperScopeClass",Er);const Or=()=>{se.value=!0,z.value={},pt(()=>{se.value=!1})},Yt=()=>{const e=qt(G.value,{...z.value});return G.value.forEach(n=>{if(n.type!=="product")return;const s=`${n.type}_${n.fieldIndex}`,r=e[s];r!=null&&(typeof r=="string"&&r.trim()===""||Array.isArray(r)&&r.length===0||(e[s]=Rn(n,r,Ut.value)))}),{formId:L.value.id,values:e,nonce:De.value,postId:Le.value,referer:tt.value,...J.value?J.value:{}}},Nr=async()=>{const e=we.hooks.beforeFormSubmit??[],n=Yt();let s=!1;const r=l=>{Re({type:"error",message:o("error_submitting_form")+l}),q.value=!1},c=async()=>{s||(s=!0,await Vt())};if(e.length===0){await Vt();return}for(const l of e)try{await l(c,r,n)}catch(S){console.error("[IvyForms] beforeFormSubmit hook error:",S),r(S instanceof Error?S.message:String(S));return}s||(q.value=!1)},Vt=async()=>{w.value={};try{const e=Yt(),n=Gn(e.values),{data:s,error:r,status:c}=await B("form/submission/",n?{method:"POST",data:Qn({formId:e.formId,values:e.values,nonce:e.nonce,postId:e.postId,referer:e.referer,formFields:G.value,sourceId:e.sourceId,paymentMethodId:e.paymentMethodId,paymentIntentId:e.paymentIntentId,paypalOrderId:e.paypalOrderId,idempotencyKey:e.idempotencyKey})}:{method:"POST",headers:{"Content-Type":"application/json"},data:e});if(s?.data?.data?.requires_action){const t=Bt(),u=String(s.data.data.client_secret??""),g=String(s.data.data.payment_intent_id??""),h=J.value?.idempotencyKey??vr();if(!(u!==""&&t?.handleNextAction?await t.handleNextAction(u):!1)||g===""){const x=lt();x.length>0&&(w.value={...w.value,[x[0]]:o("payment_failed")}),q.value=!1;return}J.value={paymentIntentId:g,idempotencyKey:h},await Vt();return}if(s?.data?.data?.is_duplicate){br(s?.data?.data?.duplicate_errors??{}),xt("duplicate"),q.value=!1;return}if(s?.data?.data?.payment_error){J.value=null;const t=lt(),u=typeof s.data?.message=="string"&&s.data.message.trim()!==""?s.data.message:o("payment_failed");t.length>0?(w.value={...w.value,[t[0]]:u},he()):Re({type:"error",message:u}),q.value=!1;return}if(c!==200||r){let t=o("error_submitting_form");if(r&&typeof r=="object"&&r!==null&&"message"in r){const h=r.message;typeof h=="string"&&h.trim()!==""&&(t=h)}const u=Ar(r);u&&Rr(u)||Re({type:"error",message:t}),q.value=!1;return}J.value=null,Se.value=!0,await new Promise(t=>setTimeout(t,600)),Or(),q.value=!1,Se.value=!1;const l=s?.data?.data?.confirmationResult;if(!l)return;const S=An(l),b=S.type,C=S.showForm;if(b==="successMessage")if(C)qe.value=!0,ee.value=s.data.data.confirmation||S.message||o("thank_you"),setTimeout(()=>{const t=document.querySelector(".ivyforms-success-message");t&&t.classList.add("ivyforms-fade-out"),setTimeout(()=>{qe.value=!1},500)},5e3);else{et.value=!0,ee.value=s.data.data.confirmation||S.message||o("thank_you");return}else b==="redirectToPage"&&S.pageUrl?window.location.href=S.pageUrl:b==="redirectToCustomUrl"&&S.url&&(window.location.href=S.url)}catch(e){console.error(o("error_submitting_form"),e),Re({type:"error",message:o("error_submitting_form")}),q.value=!1}};return(e,n)=>{const s=dr;return k(),N("div",{ref_key:"formWrapperRef",ref:me,class:le(Pr.value)},[et.value?(k(),N("div",xs,[_e(s,{html:ee.value||Ie(o)("thank_you"),"field-type":"confirmation"},null,8,["html"])])):(k(),N(Ne,{key:1},[qe.value?(k(),N("div",Vs,[_e(s,{html:ee.value||Ie(o)("thank_you"),"field-type":"confirmation"},null,8,["html"])])):de("",!0),L.value.showTitle?(k(),N("h3",{key:1,class:le(["ivyforms-form-title","ivyforms-form-title-"+L.value.id])},Fe(L.value.name),3)):de("",!0),L.value.showDescription?(k(),N("p",{key:2,class:le(["ivyforms-form-description","ivyforms-form-description-"+L.value.id])},Fe(L.value.description),3)):de("",!0),ke.value.render?(k(),N("div",{key:3,class:le(ke.value.wrapperClass)},[(k(),Me(Ge(ke.value.component),Xt({key:ke.value.key},ke.value.props,er(ke.value.events)),null,16))],2)):de("",!0),_e(Ln,{id:"ivyforms-form-"+L.value.id,ref_key:"formRef",ref:X,class:le("ivyforms-form ivyforms-form-"+L.value.id),"data-form-id":L.value.id,rules:Z.value,model:z.value,"label-position":St(),onSubmit:rr(dt,["prevent"])},{default:Je(()=>[U.value?(k(),Me(Ge(U.value),{key:0,ref_key:"conversationalLayoutRef",ref:F,"form-data":L.value,"visible-fields":rt.value,"form-values":z.value,"field-errors":w.value,"form-fields-templates":be,"horizontal-gap-css":He.value,"label-position":St(),"is-submitting":q.value,"form-ref":X.value,onSubmit:dt},null,40,["form-data","visible-fields","form-values","field-errors","form-fields-templates","horizontal-gap-css","label-position","is-submitting","form-ref"])):ot.value?de("",!0):(k(),N(Ne,{key:1},[(k(!0),N(Ne,null,Mt(st.value,(r,c)=>(k(),N("div",{key:"row-"+c,class:"ivyforms-form-row ivyforms-flex ivyforms-width-100 ivyforms-flex-wrap-wrap",style:tr({gap:He.value})},[(k(!0),N(Ne,null,Mt(r,l=>(k(),N("div",{key:l.type+"_"+l.fieldIndex,class:"ivyforms-form-field",style:tr({width:r.length>1?`calc(${l.width||100}% - (${He.value} * ${(r.length-1)/r.length}))`:`${l.width||100}%`,flex:"0 0 auto"})},[(k(),Me(Ge(be[l.type]),{key:`${l.type}_${l.fieldIndex}_${Ke.value}`,ref_for:!0,ref_key:"formFieldsCollectorRefs",ref:Ye,modelValue:z.value[l.type+"_"+l.fieldIndex],"onUpdate:modelValue":S=>z.value[l.type+"_"+l.fieldIndex]=S,field:l,error:w.value[l.type+"_"+l.fieldIndex],"field-errors":w.value,"label-position":St(),"horizontal-gap":He.value},null,8,["modelValue","onUpdate:modelValue","field","error","field-errors","label-position","horizontal-gap"]))],4))),128))],4))),128)),Ce.value.render?(k(),N("div",{key:0,class:le(Ce.value.wrapperClass)},[(k(),Me(Ge(Ce.value.component),Xt({key:Ce.value.key},Ce.value.props,er(Ce.value.events)),null,16))],2)):Ir.value?(k(),N("div",{key:1,class:le(["ivyforms-form-submit ivyforms-flex",`ivyforms-form-submit--${L.value.formActionButtons?.submitButtonSettings?.position||"default"}`])},[_e(Dn,{id:"ivyforms-form-submit-button-"+L.value.id,priority:"tertiary",type:"border",disabled:q.value,"aria-label":Vr.value,onClick:rr(dt,["prevent","stop"])},{default:Je(()=>[qn(Fe(L.value.formActionButtons?.submitButtonSettings?.label||Ie(o)("submit"))+" ",1),q.value?(k(),Me(bs,{key:0,completed:Se.value,class:"ivyforms-ml-8"},null,8,["completed"])):de("",!0)]),_:1},8,["id","disabled","aria-label"])],2)):de("",!0)],64))]),_:1},8,["id","class","data-form-id","rules","model","label-position"])],64))],2)}}}),Cs=yt(Es,[["__scopeId","data-v-05d8833b"]]),Tt=typeof window<"u"&&(window.IvyForms?.isGutenbergEditor||window.IvyForms?.isElementorEditor);(function(){const i=window;i.IvyForms=i.IvyForms||{},i.IvyForms.Vue=sr,i.Vue=i.Vue||sr})();(function(){pr();const i=window;i.IvyForms=i.IvyForms||{},i.IvyForms.api=we,i.IvyForms.hooks=we.hooks,i.IvyForms.fields=we.fields,i.IvyForms.useApiClient=Dt})();function lr(a){if(!a||typeof a!="string")return null;try{return JSON.parse(a)}catch{try{let i=a.replace(/"/g,'"');return i=i.replace(/&/g,"&"),i=i.replace(/'/g,"'"),i=i.replace(/</g,"<"),i=i.replace(/>/g,">"),JSON.parse(i)}catch{return null}}}function $t(a){const i=document.getElementById(`ivyforms-app-${a}`);if(!i)return null;const m=i.closest("[data-ivyforms-data]");if(m){const V=m.getAttribute("data-ivyforms-data");if(V){const o=lr(V);if(o&&o[a])return o[a]}}const f=document.querySelector(`script.ivyforms-ssr-data[data-ivyforms-counter="${a}"]`);if(f){const V=f.textContent||f.innerText||"",o=lr(V);if(o)return o}return null}function Be(a){const i=document.querySelector(`#ivyforms-app-${a.counter}`);if(i){if(i.querySelector("[data-v-app]")||i.hasAttribute("data-v-app"))return;try{const o=i.closest(".ivyforms-gutenberg-block")||i.closest(".ivyforms-elementor-block");if(o){const p=o.getAttribute("data-show-title")!=="false",I=o.getAttribute("data-show-description")!=="false";if(!p){const y=i.querySelector(".ivyforms-form-title");y&&(y.style.display="none")}if(!I){const y=i.querySelector(".ivyforms-form-description");y&&(y.style.display="none")}}}catch{}const m=Nn(Cs,{formData:a}),f=Bn();m.use(f);const V=zn(f);V.initialize(),(function(){pr();const p=window;p.IvyForms=p.IvyForms||{},p.IvyForms.api=we,p.IvyForms.hooks=we.hooks,p.IvyForms.fields=we.fields,p.IvyForms.getLabel=(_,P="")=>V.getLabel(_,P),p.IvyForms.validateBeforeSubmit=async _=>{const{validateBeforeSubmitForIntegration:P}=await Wn(async()=>{const{validateBeforeSubmitForIntegration:j}=await Promise.resolve().then(()=>Ss);return{validateBeforeSubmitForIntegration:j}},void 0);return P(_)};const I=p.IvyForms.hooks?.fieldInit?.slice()??[];if(p.IvyForms.hooks?.addFilter||(p.IvyForms.hooks=we.hooks),I.length&&p.IvyForms.hooks?.fieldInit)for(const _ of I)p.IvyForms.hooks.fieldInit.includes(_)||p.IvyForms.hooks.fieldInit.push(_);const y=((_,P)=>_&&P?(y[_]=P,P):y);jn(y),p.IvyForms.components=y,p.IvyForms.registerComponent=(_,P)=>y(_,P),p.IvyForms.types=Un,p.IvyForms.pro})(),m.mount(i),Yn({scope:"public",counter:a.counter})}}function hr(){typeof window<"u"&&window.wpIvyFormDataList&&(Array.isArray(window.wpIvyFormDataList)?window.wpIvyFormDataList:Object.values(window.wpIvyFormDataList)).forEach(i=>{i&&typeof i=="object"&&i.counter!==void 0&&Be(i)})}function ur(){document.querySelectorAll('[id^="ivyforms-app-"]').forEach(i=>{const m=i.id.replace("ivyforms-app-","");if(i.querySelector("[data-v-app]")||i.hasAttribute("data-v-app"))return;const f=$t(m);f&&(window.wpIvyFormDataList||(window.wpIvyFormDataList={}),window.wpIvyFormDataList[m]=f,Be(f))})}Tt&&(window.ivyFormsInitialize=hr);hr();Tt&&(ur(),[100,300,500,1e3,2e3].forEach(i=>{setTimeout(()=>{ur()},i)}));typeof window<"u"&&typeof MutationObserver<"u"&&Tt&&new MutationObserver(i=>{const m=new Set;i.forEach(f=>{f.addedNodes.forEach(V=>{if(!(V instanceof HTMLElement))return;if(V.id&&V.id.startsWith("ivyforms-app-")){const p=V.id.replace("ivyforms-app-","");m.add(p);return}const o=V.querySelector('[id^="ivyforms-app-"]');if(o&&o.id){const p=o.id.replace("ivyforms-app-","");m.add(p)}})}),m.size>0&&m.forEach(f=>{setTimeout(()=>{const V=$t(f);if(V){window.wpIvyFormDataList||(window.wpIvyFormDataList={}),window.wpIvyFormDataList[f]=V,Be(V);return}const p=window.wpIvyFormDataList;if(p&&p[f])Be(p[f]);else{let I=0;const y=5,_=setInterval(()=>{const P=$t(f);if(P){clearInterval(_),window.wpIvyFormDataList||(window.wpIvyFormDataList={}),window.wpIvyFormDataList[f]=P,Be(P);return}const B=window.wpIvyFormDataList;B&&B[f]?(clearInterval(_),Be(B[f])):++I>=y&&clearInterval(_)},100)}},50)})}).observe(document.body,{childList:!0,subtree:!0}); | |
| 1 | +import{dD as Br,d as vt,a2 as ft,c as D,l as N,f as k,h as _e,e as Je,af as zr,ai as dr,cp as cr,k as le,v as yt,dE as jr,dF as Ur,dG as Yr,bZ as Hr,S as mr,r as T,dn as Kr,w as Oe,o as fr,E as Wr,m as de,b as Me,g as ye,t as Fe,F as Ne,q as Mt,p as Gr,C as Ie,z as Ge,bL as Jr,bM as Qr,n as pt,u as Dt,aK as Zr,J as ve,dH as mt,dI as Xr,bV as Jt,Q as we,bO as en,dJ as tn,cx as rn,cy as Qt,K as R,ct as nn,cv as sn,br as on,bs as an,bx as Zt,by as ln,bw as un,bA as dn,bz as cn,bt as mn,cq as fn,cr as pn,cs as vn,bv as yn,bu as gn,bB as hn,bD as _n,cw as wn,cu as bn,bC as Fn,bE as In,bF as Sn,bq as xn,b6 as Vn,dK as Ae,d8 as En,d9 as Cn,dL as Pn,ac as Mn,ab as $n,aP as ne,ag as Xt,dM as er,j as tr,i as Dn,bj as rr,s as qn,bR as Ln,dN as nr,dg as Tn,dO as kn,V as Re,dP as An,dQ as Rn,cR as On,dv as sr,du as pr,dr as Nn,ds as Bn,dt as zn,dB as jn,dy as Un,dC as Yn}from"./chunks/index-CzBCTi6l.js";import"./chunks/_commonjsHelpers-CE1G-McA.js";const Hn="modulepreload",Kn=function(a){return"/"+a},or={},Wn=function(i,m,f){let V=Promise.resolve();if(m&&m.length>0){let y=function(_){return Promise.all(_.map(P=>Promise.resolve(P).then(j=>({status:"fulfilled",value:j}),j=>({status:"rejected",reason:j}))))};document.getElementsByTagName("link");const p=document.querySelector("meta[property=csp-nonce]"),I=p?.nonce||p?.getAttribute("nonce");V=y(m.map(_=>{if(_=Kn(_),_ in or)return;or[_]=!0;const P=_.endsWith(".css"),j=P?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${_}"]${j}`))return;const B=document.createElement("link");if(B.rel=P?"stylesheet":Hn,P||(B.as="script"),B.crossOrigin="",B.href=_,I&&B.setAttribute("nonce",I),document.head.appendChild(B),P)return new Promise((se,q)=>{B.addEventListener("load",se),B.addEventListener("error",()=>q(new Error(`Unable to preload CSS for ${_}`)))})}))}function o(p){const I=new Event("vite:preloadError",{cancelable:!0});if(I.payload=p,window.dispatchEvent(I),!I.defaultPrevented)throw p}return V.then(p=>{for(const I of p||[])I.status==="rejected"&&o(I.reason);return i().catch(o)})};function Gn(a){for(const i of Object.values(a))if(i instanceof File||Array.isArray(i)&&i.some(m=>m instanceof File))return!0;return!1}function Jn(a,i){const m=a.replace(/[^a-zA-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"field";return i===0?m:`${m}__${i}`}function Qn(a){const i=new FormData,m={...a.values},f={};for(const V of a.formFields){if(V.type!=="file-upload")continue;const o=`${V.type}_${V.fieldIndex}`,p=m[o],I=[];if(p instanceof File)I.push(p);else if(Array.isArray(p))for(const y of p)y instanceof File&&I.push(y);delete m[o],I.length!==0&&I.forEach((y,_)=>{const j=`ivyforms_fu_${Jn(o,_)}`;i.append(j,y),f[j]=o})}return i.append("formId",String(a.formId)),i.append("nonce",String(a.nonce)),i.append("postId",String(a.postId??"")),i.append("referer",a.referer??""),i.append("values",JSON.stringify(m)),i.append("ivyforms_fm",JSON.stringify(f)),a.sourceId&&i.append("sourceId",a.sourceId),a.paymentMethodId&&i.append("paymentMethodId",a.paymentMethodId),a.paymentIntentId&&i.append("paymentIntentId",a.paymentIntentId),a.paypalOrderId&&i.append("paypalOrderId",a.paypalOrderId),a.idempotencyKey&&i.append("idempotencyKey",a.idempotencyKey),i}function ir(a){return Array.isArray(a)?a.filter(i=>i instanceof File):[]}function Zn(a,i){const m=[];a.required&&m.push({validator:(p,I,y)=>{if(i.isSkipValidation()){y();return}if(ir(I).length===0){y(new Error(i.getRequiredMessage(a)));return}y()},trigger:["submit"]});const f=a.maxFileSizeMb;m.push({validator:(p,I,y)=>{if(i.isSkipValidation()){y();return}for(const _ of ir(I))if(!Br(_,f)){y(new Error(i.getLabel("file_upload_error_size")));return}y()},trigger:["submit"]});const V=window.IvyForms?.api?.hooks??window.IvyForms?.hooks;if(!V?.applyFilters)return m;const o=V.applyFilters("ivyforms/file-upload/submit_rules",m,a,i);return Array.isArray(o)?o:m}const Xn=vt({__name:"GdprFormField",props:{modelValue:{type:[Boolean,String]},field:{},disabled:{type:Boolean},error:{}},emits:["update:modelValue"],setup(a,{emit:i}){const m=a,f=i,V=`field_${m.field.fieldIndex}`,o=ft("clearFieldError",()=>{}),p=D(()=>m.field.type+"_"+m.field.fieldIndex),I=D(()=>m.field.agreementText||""),y=D(()=>{const P=m.modelValue;return typeof P=="boolean"?P:P==="true"||P==="1"});function _(P){f("update:modelValue",P),o(p.value)}return(P,j)=>(k(),N("div",{class:le(["ivyforms-field","ivyforms-field__gdpr","ivyforms-field__gdpr_"+a.field.id,a.field.cssClasses])},[_e(cr,{label:a.field.hideLabel?"":a.field.label,required:!0,error:a.error,prop:a.field.type+"_"+a.field.fieldIndex,"show-info":!!a.field.description,"info-text":String(a.field.description||""),"show-info-icon":!1,"label-position":"top"},{default:Je(()=>[_e(zr,{id:V,"model-value":y.value,priority:"secondary",type:"checkmark",class:"ivyforms-field__gdpr-checkbox ivyforms-flex ivyforms-align-items-center ivyforms-gap-8 ivyforms-font-16 ivyforms-font-weight-500","aria-required":"true",onChange:_},{default:Je(()=>[_e(dr,{html:I.value||a.field.label,"field-type":"gdpr"},null,8,["html"])]),_:1},8,["model-value"])]),_:1},8,["label","error","prop","show-info","info-text"])],2))}}),es=yt(Xn,[["__scopeId","data-v-f1b39dc1"]]),ar=16;function ts(a){const i=Hr(a,16),m=i.value??16;let f=m;return i.unit==="rem"&&(f=m*16),f>ar?`${ar}px`:a}function rs(a,i){return a.advancedMode?.fieldPlaceholder?.fontColor||i.fieldPlaceholder||"#6B737D"}const ns={quickMode:{}};function ss(a){const i=a&&a.stylesEnabled!==!1?a:ns,m=jr(i),f=i.advancedMode?.fieldStates?.default?.borderColor||i.quickMode?.fieldBorderColor||"#6B737D",V=i.advancedMode?.fieldStates?.default?.textColor||m.fieldText||"#212832",o=i.advancedMode?.fieldStates?.active?.borderColor||f,p=i.advancedMode?.fieldStates?.error?.borderColor||"#E53E3E",I=Ur(i.advancedMode?.fieldStates?.default?.corner||i.quickMode?.fieldCorner,"6px")||"6px",y=i.advancedMode?.fieldStates?.default?.borderWidth||i.quickMode?.fieldBorderWidth||"1px",_=ts(Yr(i.advancedMode?.fieldStates?.default?.fontSize)||"16px"),P=i.advancedMode?.fieldStates?.default?.fontWeight||"400",j=rs(i,m),B=i.typography?.fontFamily||"inherit";return{".input-container":{borderColor:f,borderWidth:y,borderRadius:I},".input-container.is-focus":{borderColor:o},".input-container.is-error":{borderColor:p},input:{color:V,fontFamily:B,fontSize:_,fontWeight:P},"input::placeholder":{color:j},"input.is-focus":{color:V},"input.is-error":{color:V}}}function vr(){const a=globalThis.crypto;if(typeof a?.randomUUID=="function")return a.randomUUID();const i=new Uint8Array(16);if(typeof a?.getRandomValues=="function")a.getRandomValues(i);else for(let f=0;f<i.length;f+=1)i[f]=Math.floor(Math.random()*256);i[6]=i[6]&15|64,i[8]=i[8]&63|128;const m=Array.from(i,f=>f.toString(16).padStart(2,"0")).join("");return[m.slice(0,8),m.slice(8,12),m.slice(12,16),m.slice(16,20),m.slice(20)].join("-")}const os={key:0,class:"ivyforms-payment-method-field__picker"},is={key:0,class:"medium-14 text-primary"},as={key:1,class:"regular-14 text-secondary"},ls=["aria-label"],us=["aria-pressed","onClick"],ds={class:"medium-14"},cs={key:0,class:"ivyforms-payment-method-field__mismatch regular-14",role:"alert"},ms={class:"ivyforms-payment-method-field"},fs={key:0,class:"ivyforms-payment-method-field__loading regular-14 text-secondary"},ps=vt({__name:"PaymentMethodFormField",props:{field:{},error:{}},setup(a,{expose:i}){const m=a,{getLabel:f}=mr(),V=ft("clearFieldError",()=>{}),o=ft("formStyleSettings",D(()=>{})),p=ft("ivyformsPaymentCurrencyCode",void 0),I=D(()=>`${m.field.type}_${m.field.fieldIndex}`),y=T(""),_=T(!0),P=T(!1),j=T(null),B=T(null),se=D(()=>ss(o.value));let q=null,Se=0;const J=D(()=>window.wpIvySquareConfig??{}),Ze=D(()=>window.ivyFormsProScripts?.stripe??{}),ze=D(()=>window.ivyFormsProScripts?.paypal??{}),$e=D(()=>Kr(m.field).paymentMethods);function G(F){return F==="square"?J.value.connected===!0:F==="stripe"?Ze.value.connected===!0:ze.value.connected===!0}const z=D(()=>$e.value.filter(G)),xe=D(()=>{const F=$e.value[0];return F==="stripe"||F==="paypal"||J.value.connected===!0?F??"square":Ze.value.connected===!0?"stripe":ze.value.connected===!0?"paypal":F??"square"}),Xe=T(null),ce=D(()=>Xe.value??z.value[0]??xe.value),je=D(()=>z.value.length>1),Z=D(()=>je.value?{...m.field,hideLabel:!0,description:""}:m.field),w=D(()=>ce.value==="stripe"?window.IvyForms?.components?.StripePaymentElement??null:ce.value==="paypal"?window.IvyForms?.components?.PaypalPaymentElement??null:null),Ue=D(()=>m.error||y.value),X=D(()=>{const F=J.value.currency,U=p?.value;return!F||!U?!1:F.toUpperCase()!==U.toUpperCase()});function me(){return typeof window<"u"&&window.isSecureContext===!0}function Ye(){return J.value.sdkUrl?J.value.sdkUrl:J.value.sandbox?"https://sandbox.web.squarecdn.com/v1/square.js":"https://web.squarecdn.com/v1/square.js"}function De(F){if(window.Square?.payments)return Promise.resolve();const U=document.querySelector(`script[src="${F}"]`);return U?window.Square?.payments?Promise.resolve():new Promise((Y,oe)=>{U.addEventListener("load",()=>Y(),{once:!0}),U.addEventListener("error",()=>oe(new Error("square_sdk_load_failed")),{once:!0})}):new Promise((Y,oe)=>{const ie=document.createElement("script");ie.src=F,ie.async=!0,ie.onload=()=>Y(),ie.onerror=()=>oe(new Error("square_sdk_load_failed")),document.head.appendChild(ie)})}async function et(F,U=50,Y=100){for(let oe=0;oe<U;oe+=1){if(ee(F))return!1;if(window.Square?.payments)return!0;await new Promise(ie=>{window.setTimeout(ie,Y)})}return!1}function qe(F){const U=F instanceof Error?F.message:String(F);return U.includes("HTTPS")||U.includes("secure context")?f("payment_https_required"):f("payment_form_unavailable")}function ee(F){return F!==Se||ce.value!=="square"}function Le(F){try{const U=F.destroy?.();U&&U.catch(()=>{})}catch{}}async function tt(F){if(y.value="",_.value=!0,P.value=!1,!me()){y.value=f("payment_https_required"),_.value=!1;return}const U=J.value.applicationId??"",Y=J.value.locationId??"",oe=Ye();if(!U||!Y){y.value=f("payment_form_unavailable"),_.value=!1;return}try{if(await De(oe),ee(F))return}catch(Te){if(ee(F))return;y.value=qe(Te),_.value=!1;return}const ie=await et(F);if(ee(F))return;if(!ie){y.value=f("payment_form_unavailable"),_.value=!1;return}if(await pt(),ee(F))return;const it=B.value;if(!it){y.value=f("payment_form_unavailable"),_.value=!1;return}try{const Ve=await window.Square.payments(U,Y).card({style:se.value});if(ee(F)){Le(Ve);return}if(await Ve.attach(it),ee(F)){Le(Ve);return}q=Ve,P.value=!0}catch(Te){if(ee(F))return;y.value=qe(Te)}finally{ee(F)||(_.value=!1)}}async function rt(){if(X.value||!q)return null;const F=await q.tokenize();return F.status!=="OK"||!F.token?null:{sourceId:F.token,idempotencyKey:vr()}}async function ge(){return w.value?await j.value?.tokenize?.()??null:rt()}function nt(){return w.value?j.value?.hasPaymentDetails?.()===!0:q!==null}async function gt(F){return await j.value?.handleNextAction?.(F)??!1}function ht(){Se+=1,q&&Le(q),q=null}async function st(){const F=++Se;if(ce.value!=="square"){w.value||(y.value=f("payment_form_unavailable")),_.value=!1;return}if(X.value){_.value=!1;return}await tt(F)}function ot(F){F!==ce.value&&(Xe.value=F)}return Oe(P,F=>{F&&V(I.value)}),Oe(ce,()=>{ht(),y.value="",P.value=!1,st()}),fr(()=>{st()}),Wr(ht),i({tokenize:ge,hasPaymentDetails:nt,handleNextAction:gt}),(F,U)=>(k(),N(Ne,null,[je.value?(k(),N("div",os,[a.field.hideLabel?de("",!0):(k(),N("label",is,Fe(a.field.label),1)),a.field.description?(k(),N("p",as,Fe(a.field.description),1)):de("",!0),ye("div",{class:"ivyforms-payment-method-field__tabs",role:"group","aria-label":Ie(f)("payment_methods","Payment methods")},[(k(!0),N(Ne,null,Mt(z.value,Y=>(k(),N("button",{key:Y,type:"button",class:le(["ivyforms-payment-method-field__tab",{"ivyforms-payment-method-field__tab--active":Y===ce.value}]),"aria-pressed":Y===ce.value,onClick:oe=>ot(Y)},[_e(Gr,{category:"integrations",name:Y,"outer-size":"20px"},null,8,["name"]),ye("span",ds,Fe(Ie(f)(Y)),1)],10,us))),128))],8,ls)])):de("",!0),w.value?(k(),Me(Ge(w.value),{key:1,ref_key:"providerFieldRef",ref:j,field:Z.value,error:a.error},null,8,["field","error"])):(k(),N("div",{key:2,class:le(["ivyforms-field ivyforms-field__payment-method","ivyforms-field__payment-method_"+a.field.id,a.field.cssClasses])},[X.value?(k(),N("p",cs,Fe(Ie(f)("currency_mismatch")),1)):(k(),Me(cr,{key:1,label:Z.value.hideLabel?"":Z.value.label,required:a.field.required,"validate-required":!1,prop:I.value,error:Ue.value,"show-info":!!Z.value.description,"info-text":Z.value.description||"","show-info-icon":!1,"label-position":a.field.labelPosition},{default:Je(()=>[ye("div",ms,[_.value?(k(),N("p",fs,Fe(Ie(f)("payment_form_loading")),1)):de("",!0),Jr(ye("div",{ref_key:"cardContainerRef",ref:B,class:le(["ivyforms-payment-method-field__card-container",{"ivyforms-payment-method-field__card-container--ready":P.value,"ivyforms-payment-method-field__card-container--error":!!Ue.value}])},null,2),[[Qr,!y.value]])])]),_:1},8,["label","required","prop","error","show-info","info-text","label-position"]))],2))],64))}}),vs=yt(ps,[["__scopeId","data-v-7b1e5a53"]]),ys={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none"};function gs(a,i){return k(),N("svg",ys,[...i[0]||(i[0]=[ye("path",{fill:"currentColor",d:"M16.03 10.03a.75.75 0 1 0-1.06-1.06l-4.47 4.47-1.47-1.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.06 0z"},null,-1)])])}const hs={render:gs},_s={class:"ivyforms-circle-loader__check ivyforms-flex ivyforms-align-items-center ivyforms-justify-content-center ivyforms-width-100"},ws=vt({__name:"IvyCircleLoader",props:{size:{default:"d"},completed:{type:Boolean,default:!1}},setup(a){return(i,m)=>(k(),N("span",{class:le(["ivyforms-circle-loader ivyforms-align-items-center ivyforms-justify-content-center",[`ivyforms-circle-loader--${a.size}`,{"ivyforms-circle-loader--completed":a.completed}]])},[m[0]||(m[0]=ye("svg",{viewBox:"0 0 24 24",class:"ivyforms-circle-loader__svg ivyforms-width-100"},[ye("circle",{class:"ivyforms-circle-loader__bg",cx:"12",cy:"12",r:"10"}),ye("circle",{class:"ivyforms-circle-loader__track",cx:"12",cy:"12",r:"10"}),ye("circle",{class:"ivyforms-circle-loader__progress",cx:"12",cy:"12",r:"10"})],-1)),ye("span",_s,[_e(Ie(hs))])],2))}}),bs=yt(ws,[["__scopeId","data-v-51e64049"]]),Qe=a=>`${a.type}_${a.fieldIndex}`,qt=(a,i)=>{const m={...i};return a.forEach(f=>{if(f.type!=="website")return;const V=Qe(f),o=m[V]||"",p=f.inputPrefix||"",I=f.inputSuffix||"";let y=String(o);o&&(p||I)&&(p&&!y.startsWith(p)&&(y=p+y),I&&!y.endsWith(I)&&(y=y+I)),m[V]=y}),m},Fs=(a,i,m)=>{const f=a[i];return f!==void 0&&f.value===m&&f.passed};function yr(a,i,m,f){const V={},o=[];for(const p of a){if(!p.noDuplicates)continue;const I=Qe(p),y=i[I];if(y==null||String(y).trim()==="")continue;const _=String(y);!f?.bypassCache&&Fs(m,I,_)||(V[I]=y,o.push(p))}return{values:V,fieldsToCheck:o}}async function Lt(a,i){const{data:m,error:f,status:V}=await a("form/validate_before_submit/",{method:"POST",headers:{"Content-Type":"application/json"},data:{formId:i.formId,values:i.values,nonce:i.nonce,...i.pageId?{pageId:i.pageId}:{}}});if(f||V!==200||!m)return{result:null,error:f||m};const o=m.data?.data;return o?{result:o,error:null}:{result:null,error:"Invalid validate_before_submit response"}}function gr(a){const i=T({}),m=o=>{for(const p of a.formFields.value){const I=String(p.id);if(!o[p.id]&&!o[I])continue;const y=Qe(p),_=a.formValues.value[y];!_||_.toString().trim()===""||(a.fieldErrors.value[y]=a.getLabel("duplicate_value_error_label").replace("{label}",p.label?.toLowerCase()||"value"))}},f=(o,p)=>{for(const I of o){const y=Qe(I),_=a.formValues.value[y];_!=null&&(i.value[y]={value:String(_),passed:p})}};return{duplicateCheckState:i,validateDuplicatesBeforeProceed:async(o,p)=>{const I=o?a.getPageFields(o).filter(q=>q.noDuplicates):a.formFields.value.filter(q=>q.noDuplicates);if(I.length===0)return"ok";const{values:y,fieldsToCheck:_}=yr(I,a.formValues.value,i.value,p);if(_.length===0)return"ok";const P=qt(I,y),j=a.formNonce.value;if(!j)return"request_failed";const{result:B,error:se}=await Lt(a.request,{formId:a.formData.value.id,values:P,nonce:j,pageId:o});return B?B.valid?(f(_,!0),"ok"):(f(_,!1),B.duplicate_errors&&m(B.duplicate_errors),"duplicate"):(console.error("validate_before_submit failed:",se),"request_failed")},applyDuplicateErrors:m}}async function Is(a){const{request:i}=Dt(),{result:m,error:f}=await Lt(i,a);if(!m)throw f instanceof Error?f:new Error(String(f));return m}const Ss=Object.freeze(Object.defineProperty({__proto__:null,buildDuplicateCheckValues:yr,callValidateBeforeSubmit:Lt,getFieldValueKey:Qe,processWebsiteFieldValues:qt,useValidateBeforeSubmit:gr,validateBeforeSubmitForIntegration:Is},Symbol.toStringTag,{value:"Module"})),xs={key:0,class:"ivyforms-success-message"},Vs={key:0,class:"ivyforms-success-message ivyforms-mb-24 ivyforms-flex ivyforms-flex-direction-column ivyforms-align-items-center ivyforms-justify-content-center ivyforms-border-radius-8"},Es=vt({__name:"FormRender",setup(a){const{startWatching:i}=Zr();i(),typeof window<"u"&&(window.IvyForms?.isGutenbergEditor||window.IvyForms?.isElementorEditor);const f=(()=>{if(typeof window<"u"){const e=window;return e._ivyFormsGlobalTemplates||(e._ivyFormsGlobalTemplates={}),e._ivyFormsGlobalTemplates}return{}})(),V=(e,n)=>{if(n&&e){const s=R(n);f[e]=s,window.IvyForms?.api?.fields?.public&&(window.IvyForms.api.fields.public[e]=s);const r=window;r._updateFormTemplates&&r._updateFormTemplates(e,s),typeof window<"u"&&window.dispatchEvent(new CustomEvent("ivyforms:template_registered",{detail:{fieldType:e,component:s}}))}};if(typeof window<"u"){const e=window;e.IvyForms||(e.IvyForms={api:{fields:{admin:{},public:{}},hooks:{actions:{},filters:{}},fieldOptions:{registry:{}}},hooks:{actions:{},filters:{},fieldInit:[]},fields:{}}),e.IvyForms.api||(e.IvyForms.api={fields:{admin:{},public:{}},hooks:{actions:{},filters:{}},fieldOptions:{registry:{}}}),e.IvyForms.api.fields||(e.IvyForms.api.fields={admin:{},public:{}}),e.IvyForms.api.fields.registerPublic=V,(e.IvyForms._publicFieldQueue||[]).forEach(({fieldType:s,component:r})=>V(s,r)),e.IvyForms.hooks||(e.IvyForms.hooks={actions:{},filters:{},fieldInit:[]}),e.IvyForms.hooks.fieldInit||(e.IvyForms.hooks.fieldInit=[]),e.IvyForms._proFieldTypes||(e.IvyForms._proFieldTypes=new Set),e.IvyForms.api.hooks||(e.IvyForms.api.hooks={actions:{},filters:{}}),e.IvyForms.api.hooks.registerFieldInit=s=>{typeof s=="function"&&e.IvyForms.hooks.fieldInit.push(s)},e.IvyForms.api.hooks.registerProFieldType=s=>{s&&typeof s=="string"&&e.IvyForms._proFieldTypes.add(s)}}const{getLabel:o}=mr(),{parseTimeToMinutes:p,isValidTimeFormat:I,parseTimeString:y,getAmPmFromHours:_}=En(),{isValidDateFormat:P,isDateInValidRange:j}=Cn(),{request:B}=Dt(),se=T(!1),q=T(!1),Se=T(!1),J=T(null);function Ze(e){if(!Array.isArray(e)||e.length===0)return[];const n=new Map;e.forEach((u,g)=>n.set(u,g));const s=u=>u.parentId!==void 0&&u.parentId!==null&&Number(u.parentId)!==0,r=new Set;e.forEach(u=>{(u.type==="name"||u.type==="address")&&r.add(Number(u.fieldIndex))});const c=u=>u.type!=="name"&&u.type!=="address"&&r.has(Number(u.fieldIndex)),l={};e.forEach(u=>{if(c(u)){const g=Number(u.fieldIndex);l[g]||(l[g]=[]),l[g].push(u)}});const S=u=>[...u].sort((g,h)=>{const A=(g.settings||{}).subFieldIndex,x=(h.settings||{}).subFieldIndex,v=typeof A=="number",d=typeof x=="number";return v&&d?A-x:v?-1:d?1:(n.get(g)||0)-(n.get(h)||0)}),b=u=>S(l[Number(u.fieldIndex)]??[]),C=e.filter(u=>!s(u)&&!c(u)),t=[];for(const u of C){const g=$e(u.settings),h=u;g&&(u.hideLabel===void 0&&typeof g.hideLabel<"u"&&(h.hideLabel=!!g.hideLabel),u.readOnly===void 0&&typeof g.readOnly<"u"&&(h.readOnly=!!g.readOnly),h.description===void 0&&typeof g.description<"u"&&(h.description=String(g.description||"")),h.cssClasses===void 0&&typeof g.cssClasses<"u"&&(h.cssClasses=String(g.cssClasses||"")),u.type==="file-upload"&&(h.allowMultiple===void 0&&g.allowMultiple!==void 0&&(h.allowMultiple=g.allowMultiple===!0||g.allowMultiple===1||g.allowMultiple==="1"),h.maxUploadCount===void 0&&g.maxUploadCount!==void 0&&(h.maxUploadCount=Number(g.maxUploadCount)||0),h.allowedFileExtensions===void 0&&Array.isArray(g.allowedFileExtensions)&&(h.allowedFileExtensions=g.allowedFileExtensions)));let A=u;A=ve("ivyforms/form-render/filter_parse_field",u);const x=A;let v=e.filter($=>s($)?nr($.parentId,x.id)||nr($.parentId,x.fieldIndex):!1);v=ve("ivyforms/form-render/filter_parent_children",v,x,e);const d=[...v].sort(($,M)=>(n.get($)||0)-(n.get(M)||0)).map($=>{let M=$;return M=ve("ivyforms/form-render/filter_parse_field",$),(M.type==="name"||M.type==="address")&&ze(M,b(M)),M}),E=ve("ivyforms/form-render/normalize_parent_field",null,x,d);if(E){t.push(E);continue}(x.type==="name"||x.type==="address")&&ze(x,b(x)),x.type==="likert"&&ve("ivyforms/form-render/merge_parent_children",!1,x,d),t.push(x)}return t}function ze(e,n){if(e.type==="name"){const s=[];return n.forEach((r,c)=>{const l=`nameField${c+1}`;s.push(l);const S=r.settings||{},b=e;b[`${l}Label`]=r.label||"",b[`${l}Placeholder`]=r.placeholder||"",b[`${l}Required`]=!!r.required,typeof S.requiredMessage<"u"?b[`${l}RequiredMessage`]=S.requiredMessage:typeof r.requiredMessage<"u"&&(b[`${l}RequiredMessage`]=r.requiredMessage),typeof r.defaultValue<"u"&&(b[`${l}Value`]=r.defaultValue);const C=typeof S.hideLabel<"u",t=typeof r.hideLabel<"u";if(C||t){const u=C?!!S.hideLabel:!!r.hideLabel;b[`${l}HideLabel`]=u}typeof r.description<"u"&&(b[`${l}Description`]=String(r.description||"")),typeof r.description<"u"&&(b[`${l}Visible`]=String(r.visible||!0))}),e.nameFieldTypes=s,e.type="name",e}if(e.type==="address"){const s=["streetAddress","addressLine2","city","state","zip","country"];return n.length===0?(s.forEach(r=>{const c=e;c[`${r}Label`]=e[`${r}Label`]||"",c[`${r}Placeholder`]=e[`${r}Placeholder`]||"",c[`${r}Required`]=e[`${r}Required`]||!1,c[`${r}RequiredMessage`]=e[`${r}RequiredMessage`]||"",c[`${r}Value`]=e[`${r}Value`]||"",c[`${r}HideLabel`]=e[`${r}HideLabel`]||!1,c[`${r}Description`]=e[`${r}Description`]||"",c[`${r}Visible`]=e[`${r}Visible`]||!0}),e.addressFieldTypes=s,e.type="address",e):(s.forEach((r,c)=>{let l=n.find(u=>{const g=$e(u.settings);return g&&g.fieldType===r||u.label&&u.label.toLowerCase().replace(/\s/g,"")===r.toLowerCase()})||n.find(u=>u.type===r);!l&&Array.isArray(n)&&n.length>c&&n[c]&&(l=n[c]);const S=l&&l.settings?$e(l.settings):{},b=e;b[`${r}Label`]=l&&l.label||"",b[`${r}Placeholder`]=l&&l.placeholder||"",b[`${r}Required`]=l?!!l.required:!1,l&&typeof S.requiredMessage<"u"?b[`${r}RequiredMessage`]=S.requiredMessage:l&&typeof l.requiredMessage<"u"?b[`${r}RequiredMessage`]=l.requiredMessage:b[`${r}RequiredMessage`]="",l&&typeof l.defaultValue<"u"?b[`${r}Value`]=l.defaultValue:b[`${r}Value`]="";const C=l&&typeof S.hideLabel<"u",t=l&&typeof l.hideLabel<"u";if(C||t){const u=C?!!S.hideLabel:!!l.hideLabel;b[`${r}HideLabel`]=u}else b[`${r}HideLabel`]=!1;l&&typeof l.description<"u"?b[`${r}Description`]=String(l.description||""):b[`${r}Description`]="",l&&typeof l.visible<"u"?b[`${r}Visible`]=!!l.visible:b[`${r}Visible`]=!0}),e.addressFieldTypes=s,e.type="address",e)}return e}const $e=e=>{if(!e)return{};if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return typeof e=="object"?e:{}},G=T([]),z=T({}),xe=e=>typeof e!="string"?e==null?"":String(e):e,Xe=e=>{let n=xe(e.defaultValue);const s=e.inputPrefix||"",r=e.inputSuffix||"";return n&&(s||r)&&(s&&n.startsWith(s)&&(n=n.substring(s.length)),r&&n.endsWith(r)&&(n=n.substring(0,n.length-r.length))),n},ce=e=>{let n=xe(e.defaultValue)||"";if(typeof n=="string"&&(n.includes("-9007199254740991")||n.includes("MIN_SAFE_INTEGER"))&&(n=""),typeof n=="string"&&n.startsWith("["))try{const s=JSON.parse(n);Array.isArray(s)&&(n=s)}catch{}return n},je=e=>{if(e.type==="name"){const n={};return(e.nameFieldTypes||["nameField1","nameField2"]).forEach(r=>{const c=e[`${r}Value`];n[r]=xe(c)}),n}if(e.type==="address"){const n={};return(e.addressFieldTypes||["streetAddress","addressLine2","city","state","zip","country"]).forEach(r=>{const c=e[`${r}Value`];n[r]=xe(c)}),n}if(e.type==="checkbox"&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.filter(s=>s.isDefault).map(s=>s.value);return n.length?n:void 0}if(e.type==="product"&&Array.isArray(e.fieldOptions)){const n=Tn(e);if(kn(n)){const r=e.fieldOptions.filter(c=>c.isDefault).map(c=>c.value);return r.length?r:[]}if(n.productType==="user_defined")return e.defaultValue||"";if(n.productType==="single"){const r=e.fieldOptions.find(c=>c.isDefault)||e.fieldOptions[0];return r?String(r.value):""}const s=e.fieldOptions.find(r=>r.isDefault);return s?s.value:""}if((e.type==="radio"||e.type==="select")&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.find(s=>s.isDefault);return n?n.value:""}if(e.type==="rating"&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.find(s=>s.isDefault);return n?Number(n.value):void 0}if(e.type==="multi-select"&&Array.isArray(e.fieldOptions)){const n=e.fieldOptions.filter(s=>s.isDefault).map(s=>s.value);return n.length?n:void 0}return e.type==="website"?Xe(e):e.type==="date"?ce(e):e.type==="file-upload"?[]:e.type==="total"?"0":e.type==="payment-method"?"":e.type==="gdpr"?!1:xe(e.defaultValue)},Z=T({}),w=T({}),Ue=T(!0),X=T(null),me=T(null),Ye=T([]),De=T(null),et=T(!1),qe=T(!1),ee=T(""),Le=T(""),tt=T(""),rt=D(()=>{if(!G.value||G.value.length===0)return[];let e=ve("ivyforms/form-render/filter_fields_visible",[...G.value],z.value);O.value.length>1&&(e=e.filter(s=>s.pageId===W.value));const n=mt(G.value);return e=e.filter(s=>!Xr(s,n)),e}),ge=D(()=>mt(G.value)),nt=D(()=>{const e=ge.value.filter(s=>!bt(s));if(e.length===0)return[];const n=new Set(ve("ivyforms/form-render/filter_fields_visible",[...e],z.value).map(s=>s.type+"_"+s.fieldIndex));return e.filter(s=>!n.has(s.type+"_"+s.fieldIndex))}),gt=(e,n)=>e===n?!0:JSON.stringify(e??null)===JSON.stringify(n??null);Oe(nt,()=>{const e=z.value,n=w.value;nt.value.forEach(s=>{const r=s.type+"_"+s.fieldIndex,c=je(s);if(gt(e[r],c)||(e[r]=c),s.type==="email"&&s.confirmFieldEnabled){const l="emailConfirm_"+s.fieldIndex;e[l]!==""&&(e[l]=""),delete n[l]}ie(s).forEach(l=>{delete n[l]}),delete n[r]})},{flush:"post"});const st=D(()=>{const e=rt.value;if(!e||e.length===0)return[];const n=new Map;return e.forEach(s=>{const r=s.rowIndex??0;n.has(r)||n.set(r,[]),n.get(r).push(s)}),Array.from(n.entries()).sort(([s],[r])=>s-r).map(([,s])=>s.sort((r,c)=>(r.columnIndex??0)-(c.columnIndex??0)))}),ot=D(()=>Jt(L.value.formType??"")),F=T(null),U=D(()=>{if(we.hooks.updateCounter.value,!ot.value)return null;const e=window.IvyForms?.api?.hooks??window.IvyForms?.hooks;return e?.applyFilters?e.applyFilters("ivyforms/form/render_layout_component",null,{formType:L.value.formType}):null}),Y=D(()=>O.value.findIndex(e=>e.id===W.value)),oe=e=>{let n=mt(G.value).filter(s=>!bt(s));return n=ve("ivyforms/form-render/filter_fields_visible",n,z.value),O.value.length>1&&(n=n.filter(s=>s.pageId===e)),n},ie=e=>{const n=`${e.type}_${e.fieldIndex}`;return e.type==="name"?(e.nameFieldTypes||["nameField1","nameField2"]).filter(r=>e[`${r}Visible`]!==!1).map(r=>`${n}.${r}`):e.type==="address"?(e.addressFieldTypes||["streetAddress","addressLine2","city","state","zip","country"]).filter(r=>e[`${r}Visible`]!==!1).map(r=>`${n}.${r}`):[n]},it=e=>{const n=Z.value,s=oe(e).flatMap(ie);return[...new Set(s.filter(r=>r in n))]},Te=e=>{if(typeof e=="string")return e;if(e instanceof Error&&e.message)return e.message;if(Array.isArray(e)&&e.length>0){const n=e[0];if(typeof n=="string")return n;if(n&&typeof n.message=="string")return n.message}return o("invalid_input")},Ve=async(e,n)=>{if(!X.value)return!0;const s=it(e);if(s.length===0)return!0;let r=!1;for(const c of s)try{await X.value.validateField(c),n&&w.value[c]&&delete w.value[c]}catch(l){r=!0,n&&(w.value[c]=Te(l))}return!r},_r=async()=>{if(!await Ve(W.value,!0)){Re({message:o("please_fill_required_fields"),type:"error"});return}const n=await kt(W.value);if(n!=="ok"){xt(n);return}fe.value.includes(W.value)||fe.value.push(W.value),Y.value<O.value.length-1&&(W.value=O.value[Y.value+1].id,me.value?.scrollIntoView({behavior:"smooth",block:"start"}))},wr=()=>{Y.value>0&&(W.value=O.value[Y.value-1].id,me.value?.scrollIntoView({behavior:"smooth",block:"start"}))},L=T({id:"",name:"",description:"",showTitle:!0,showDescription:!1,storeEntries:!0,defaultValue:"",counter:0,fields:[],confirmations:[],formActionButtons:{submitButtonSettings:{label:o("submit"),position:"default"},pageNavigationSettings:{}},paymentSettings:{...On}}),O=T([{id:"page-1",label:"Page 1",closable:!1}]),W=T("page-1"),Ee=T({type:"none",showPageTitles:!0,hidePageNumbers:!1,hideConnectingLines:!1}),fe=T([]),{validateDuplicatesBeforeProceed:kt,applyDuplicateErrors:br}=gr({request:B,getLabel:o,formData:L,formFields:G,formValues:z,formNonce:De,fieldErrors:w,getPageFields:oe}),{progressIndicator:_t,pageNavigation:wt}=en(),Fr=(e,n)=>{if(!n||typeof n!="object")return e;const s=n;return{...e,...s,props:s.props&&typeof s.props=="object"?{...e.props,...s.props}:e.props,events:s.events&&typeof s.events=="object"?{...e.events,...s.events}:e.events}},At=(e,n,s)=>{const r=ve(e,n,s);return r===n?n:Fr(n,r)},ke=D(()=>{const e={render:!!_t.value&&O.value.length>1&&Ee.value.type!=="none",component:_t.value,key:`progress-${W.value}`,wrapperClass:"ivyforms-form-render__progress-indicator-wrapper",props:{type:Ee.value.type,pages:O.value,currentPageId:W.value,showPageTitles:Ee.value.showPageTitles,hidePageNumbers:Ee.value.hidePageNumbers,hideConnectingLines:Ee.value.hideConnectingLines,completedPages:fe.value},events:{"change-page":n=>{typeof n=="string"&&xr(n)}}};return At("ivyforms/form-render/filter_progress_indicator_render_model",e,{pages:O.value,currentPageId:W.value,progressIndicator:Ee.value,completedPages:fe.value})}),Ce=D(()=>{const e=Sr(),n={render:!!wt.value&&O.value.length>1,component:wt.value,key:`nav-${W.value}`,wrapperClass:"ivyforms-form-render__navigation-wrapper",props:{pageIndex:Y.value,totalPages:O.value.length,previousButton:e.previousButton,nextButton:e.nextButton,submitButton:e.submitButton,buttonPosition:e.buttonPosition,isGrouped:e.isGrouped},events:{previous:()=>wr(),next:()=>_r(),submit:()=>dt()}};return At("ivyforms/form-render/filter_page_navigation_render_model",n,{pages:O.value,currentPageId:W.value,currentPageIndex:Y.value,pageNavigationSettings:e})}),Ir=D(()=>!Ce.value.render||O.value.length<=1),at=T({}),Sr=()=>{const e=at.value[W.value];return e||{previousButton:{label:o("previous")||"Previous",cssClasses:"",priority:"tertiary",type:"border",showIcon:!0},nextButton:{label:o("next")||"Next",cssClasses:"",priority:"tertiary",type:"border",showIcon:!0},submitButton:{label:L.value.formActionButtons?.submitButtonSettings?.label||o("submit")||"Submit",cssClasses:"",priority:"tertiary",type:"border",showIcon:!1},buttonPosition:"separated",isGrouped:!1}},xr=e=>{W.value=e,me.value?.scrollIntoView({behavior:"smooth",block:"start"})};Oe(W,async(e,n)=>{if(!n||e===n)return;const s=O.value.findIndex(c=>c.id===n),r=O.value.findIndex(c=>c.id===e);if(s===-1||r===-1){fe.value=fe.value.filter(c=>O.value.some(l=>l.id===c));return}fe.value=fe.value.filter(c=>{const l=O.value.findIndex(S=>S.id===c);return l>=0&&l<r}),r>s&&await Ve(n,!1)&&!fe.value.includes(n)&&fe.value.push(n)});const He=D(()=>tn(L.value.styleSettings)),Vr=D(()=>{const e=L.value.formActionButtons?.submitButtonSettings?.label,n=typeof e=="string"?e.trim():"";return n!==""?n:o("submit")}),bt=e=>ve("ivyforms/form-render/skip_field_value_init",!1,e),Er=D(()=>rn(L.value.id||"public-form")),Cr=D(()=>{const e=L.value.styleSettings||{},n=Qt(e.customCssClass||""),s=Qt(e.additionalCssClasses||"");return[...n,...s]}),Pr=D(()=>{const e=L.value.id;return["ivyforms-form-wrapper",`ivyforms-form-wrapper-${e}`,`ivyforms-form-${e}`,...Cr.value]}),Rt={text:R(xn),email:R(Sn),textarea:R(In),number:R(Fn),quantity:R(bn),slider:R(wn),phone:R(_n),website:R(hn),time:R(gn),date:R(yn),recaptcha:R(vn),turnstile:R(pn),hcaptcha:R(fn),html:R(mn),radio:R(cn),select:R(Zt),name:R(dn),address:R(un),checkbox:R(ln),"multi-select":R(Zt),rating:R(an),"file-upload":R(on),product:R(sn),total:R(nn),"payment-method":R(vs),gdpr:R(es)},be=Vn({...Rt});Object.entries(f).forEach(([e,n])=>{be[e]=n});const Ke=T(0),Mr=e=>{Ke.value;const n=be[e];return n||window.IvyForms?.api?.fields?.public?.[e]};typeof window<"u"&&(window._updateFormTemplates=(e,n)=>{be[e]=n,Ke.value++},window.addEventListener("ivyforms:template_registered",e=>{const n=e,{fieldType:s,component:r}=n.detail;be[s]=r,Ke.value++}),Object.entries(f).forEach(([e,n])=>{be[e]=n})),fr(async()=>{const e=window;if(typeof window<"u"&&e.wpIvyFormDataList){const s=me.value.closest(".ivyforms-frontend").getAttribute("data-counter"),r=e.wpIvyFormDataList[s];if(typeof r=="object"&&r!==null&&r.id){L.value=r.form,De.value=r.nonce;let c=[...r.fields||[]];if(r.form.pages&&Array.isArray(r.form.pages)&&r.form.pages.length>0){O.value=r.form.pages,W.value=O.value[0].id;const t=new Map;for(const u of O.value)if(u.fields&&Array.isArray(u.fields))for(const g of u.fields)t.set(g.fieldIndex,u.id);t.size>0&&(c=c.map(u=>({...u,pageId:u.pageId||t.get(u.fieldIndex)||O.value[0].id})))}if(r.form.progressIndicator&&(Ee.value=r.form.progressIndicator),r.form.formActionButtons&&typeof r.form.formActionButtons=="object"&&r.form.formActionButtons.pageNavigationSettings&&typeof r.form.formActionButtons.pageNavigationSettings=="object"&&(at.value=r.form.formActionButtons.pageNavigationSettings),Jt(r.form.formType??"")){const t=O.value[0],u="page_1",g=typeof t?.label=="string"&&t.label.trim()!==""?t.label:"Page 1";O.value=[{id:u,label:g,closable:!1}],W.value=u,at.value={},c=c.map(h=>({...h,pageId:u,settings:h.settings&&typeof h.settings=="object"?{...h.settings,pageId:u}:h.settings}))}await new Promise(t=>{if(typeof window>"u"){t();return}const u=window;if(u.IvyFormsProReady){t();return}if(!(u.ivyFormsProScripts!==void 0||u.IvyFormsProScripts!==void 0||u.IvyFormsPro!==void 0)){t();return}let h=!1;const A=()=>{h||(h=!0,window.removeEventListener("ivyforms:pro_ready",x),clearTimeout(v),t())},x=()=>A();window.addEventListener("ivyforms:pro_ready",x,{once:!0});const v=window.setTimeout(A,300)});const l=window.IvyForms?.api?.fields?.public;if(l&&(Object.entries(Rt).forEach(([t,u])=>{l[t]||(l[t]=R(u))}),Object.entries(l).forEach(([t,u])=>{be[t]=R(u)}),Ke.value++),!(!!_t.value||!!wt.value)&&O.value.length>1){const t=O.value[0],u="page_1",g=typeof t?.label=="string"&&t.label.trim()!==""?t.label:"Page 1";O.value=[{id:u,label:g,closable:!1}],W.value=u,at.value={},c=c.map(h=>({...h,pageId:u,settings:h.settings&&typeof h.settings=="object"?{...h.settings,pageId:u}:h.settings}))}G.value=Ze(c),mt(G.value).filter(t=>!bt(t)).forEach(t=>{const u=t.type+"_"+t.fieldIndex;if(z.value[u]=je(t),t.type==="name")(t.nameFieldTypes||["nameField1","nameField2"]).forEach(h=>{const A=`${t.type}_${t.fieldIndex}.${h}`,x=t[`${h}Label`]||o(`name_field_${h.replace("nameField","")}`),v=[];if(t[`${h}Required`]){const d=t[`${h}RequiredMessage`],E=typeof d=="string"&&d.trim()!==""?d:`${x} ${o("required")}`;v.push({required:!0,message:E,trigger:["submit"]})}Z.value[A]=v});else if(t.type==="address")(t.addressFieldTypes||["streetAddress","addressLine2","city","state","zip","country"]).forEach(h=>{const A=`${t.type}_${t.fieldIndex}.${h}`,x=t[`${h}Label`]||o(`address_field_${h.replace("addressField","")}`),v=[];if(t[`${h}Required`]){const d=t[`${h}RequiredMessage`],E=typeof d=="string"&&d.trim()!==""?d:`${x} ${o("required")}`;v.push({required:!0,message:E,trigger:["submit"]})}Z.value[A]=v});else if(t.type==="payment-method")Z.value[u]=[{validator:(g,h,A)=>{A()},trigger:["submit"]}];else{const g=[],A=window.IvyForms?._proFieldTypes?.has(t.type)||!1;(t.required||t.type==="gdpr")&&!A&&t.type!=="file-upload"&&t.type!=="total"&&t.type!=="payment-method"&&(t.type==="gdpr"?g.push({validator:(x,v,d)=>{v!==!0&&v!==1&&v!=="true"&&v!=="1"?d(new Error(te(t))):d()},trigger:["submit"]}):g.push({required:!0,message:te(t),trigger:["submit"]})),t.type==="total"&&g.push({validator:(x,v,d)=>{if(se.value){d();return}const $=(v==null?"":String(v).trim()).replace(",","."),M=Number($);if(t.required&&(!Number.isFinite(M)||M<=0)){d(new Error(te(t)));return}d()},trigger:["submit"]}),t.type==="file-upload"&&g.push(...Zn(t,{getLabel:o,getRequiredMessage:te,isSkipValidation:()=>se.value})),t.type==="email"&&g.push({validator:(x,v,d)=>{const E=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(se.value){d();return}if(!v){t.required?d(new Error(o("enter_email_address"))):d();return}if(!E.test(v)){d(new Error(o("enter_email_address")));return}d()},trigger:["submit"]}),t.type==="phone"&&g.push({pattern:/^[+\d]?(?:[\d\s.-]{7,15})$/,message:o("enter_phone_number"),trigger:["submit"]}),t.type==="website"&&g.push({validator:(x,v,d)=>{if(t.required&&(v===""||v===null||v===void 0))return d(new Error(te(t)));if(v===""||v===null||v===void 0)return d();let E=String(v);const $=t.inputPrefix||"",M=t.inputSuffix||"";if(($||M)&&(E=$+E+M),!/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i.test(E))return d(new Error(o("enter_valid_website")));d()},trigger:["submit"]}),t.type==="time"&&g.push({validator:(x,v,d)=>{if(Ae()&&t.timeMode==="range"){const Q=typeof v=="string"?v.trim():"",ae=!Q;if(t.required&&ae)return d(new Error(te(t)));if(ae)return d();const pe=Q.split(" - ");if(pe.length!==2)return d(new Error(o("enter_valid_time")));const ue=pe[0].trim(),Pe=pe[1].trim(),We=Ae()&&!!t.enableSeconds;for(const ct of[ue,Pe])if(!I(ct,t.timeFormat,"time-picker",We))return d(new Error(o("enter_valid_time")));const Et=p(ue),Ct=p(Pe);if(Et===null||Ct===null)return d(new Error(o("enter_valid_time")));if(Et>Ct)return d(new Error(o("enter_valid_time")));const Ht=t.minTimeValue!==null&&t.minTimeValue!==void 0&&t.minTimeValue!=="",Kt=t.maxTimeValue!==null&&t.maxTimeValue!==void 0&&t.maxTimeValue!=="";if(Ht||Kt){const ct=Ht?p(String(t.minTimeValue)):null,Wt=Kt?p(String(t.maxTimeValue)):null;for(const[Ps,Gt]of[[ue,Et],[Pe,Ct]]){if(ct!==null&&Gt<ct){const Pt=ut(String(t.minTimeValue),t);return d(new Error(o("time_must_be_after").replace("{min}",Pt)))}if(Wt!==null&&Gt>Wt){const Pt=ut(String(t.maxTimeValue),t);return d(new Error(o("time_must_be_before").replace("{max}",Pt)))}}}return d()}const E=typeof v=="string"?v.trim():v,$=E==null||E==="",M=E==="__PARTIAL__";if(t.timeFieldType==="dropdown")return t.required&&($||M)?d(new Error(te(t))):M?d(new Error(o("enter_valid_time"))):!$&&!I(E,t.timeFormat,"dropdown",Ae()&&!!t.enableSeconds)?d(new Error(o("enter_valid_time"))):d();if(t.required&&($||M))return d(new Error(te(t)));if(M)return d(new Error(o("enter_valid_time")));const H=$||I(E,t.timeFormat,t.timeFieldType,Ae()&&!!t.enableSeconds);if(!$&&!H)return d(new Error(o("enter_valid_time")));const K=t.minTimeValue!==null&&t.minTimeValue!==void 0&&t.minTimeValue!=="",re=t.maxTimeValue!==null&&t.maxTimeValue!==void 0&&t.maxTimeValue!=="";if((K||re)&&!$&&H){const Q=p(E);if(Q===null)return d(new Error(o("enter_valid_time")));const ae=K?p(String(t.minTimeValue)):null;if(K&&ae===null)return d(new Error(`Malformed minimum time value: ${t.minTimeValue}`));const pe=re?p(String(t.maxTimeValue)):null;if(re&&pe===null)return d(new Error(`Malformed maximum time value: ${t.maxTimeValue}`));if(ae!==null&&Q<ae){const ue=ut(String(t.minTimeValue),t);return d(new Error(o("time_must_be_after").replace("{min}",ue)))}if(pe!==null&&Q>pe){const ue=ut(String(t.maxTimeValue),t);return d(new Error(o("time_must_be_before").replace("{max}",ue)))}}return d()},trigger:["submit"]}),t.type==="date"&&g.push({validator:(x,v,d)=>{if(Ae()&&t.dateMode==="range"){const re=!Array.isArray(v)||v.length<2||!v[0]&&!v[1];if(t.required&&re)return d(new Error(te(t)));if(re)return d();const Q=String(v[0]||""),ae=String(v[1]||""),pe=/^\d{4}-\d{2}-\d{2}$/;if(Q&&!pe.test(Q)||ae&&!pe.test(ae))return d(new Error(o("enter_valid_date")));if(Q&&ae&&Q>ae)return d(new Error(o("enter_valid_date")));const ue=t.minDateValue!==null&&t.minDateValue!==void 0&&t.minDateValue!==""?String(t.minDateValue):"",Pe=t.maxDateValue!==null&&t.maxDateValue!==void 0&&t.maxDateValue!==""?String(t.maxDateValue):"";for(const We of[Q,ae])if(We){if(ue&&We<ue)return d(new Error(o("date_must_be_after").replace("{min}",ue)));if(Pe&&We>Pe)return d(new Error(o("date_must_be_before").replace("{max}",Pe)))}return d()}const E=typeof v=="string"?v.trim():v,$=E==null||E==="",M=E==="__PARTIAL__";if(t.dateFieldType==="dropdown")return t.required&&($||M)?d(new Error(te(t))):M?d(new Error(o("enter_valid_date"))):d();if(t.required&&$)return d(new Error(te(t)));if($)return d();const H=t.dateFormat||"MM/DD/YYYY";if(!P(E,H))return d(new Error(o("enter_date_valid_format")));const K=j(E,H,t.minDateValue,t.maxDateValue);return K.isInRange?d():K.error?.includes("Malformed minimum")?d(new Error(`Malformed minimum date value: ${t.minDateValue}`)):K.error?.includes("Malformed maximum")?d(new Error(`Malformed maximum date value: ${t.maxDateValue}`)):K.error?.includes("at or after")?d(new Error(o("date_must_be_after").replace("{min}",String(t.minDateValue)))):K.error?.includes("at or before")?d(new Error(o("date_must_be_before").replace("{max}",String(t.maxDateValue)))):d(new Error(K.error||o("enter_valid_date")))},trigger:["submit"]}),t.type==="slider"&&g.push({validator:(x,v,d)=>{if(v===""||v===null||v===void 0)return t.required?d(new Error(te(t))):d();const E=Number(v);if(isNaN(E))return d(new Error(o("enter_valid_number")));const $=t.minValue!==null&&t.minValue!==void 0,M=t.maxValue!==null&&t.maxValue!==void 0;return $&&E<t.minValue?d(new Error(o("number_cannot_be_smaller_than").replace("{min}",String(t.minValue)))):M&&E>t.maxValue?d(new Error(o("number_cannot_be_greater_than").replace("{max}",String(t.maxValue)))):d()},trigger:["submit"]}),(t.type==="number"||t.type==="quantity")&&(t.minValue!==null||t.maxValue!==null)&&(g.push({validator:(x,v,d)=>{if(v===""||v===null||v===void 0)return d();const E=Number(v);if(isNaN(E))return d(new Error(o("enter_valid_number")));const $=t.minValue!==null&&t.minValue!==void 0,M=t.maxValue!==null&&t.maxValue!==void 0;if($&&E<t.minValue){if(M){const K=o("number_out_of_range");return d(new Error(K.replace("{min}",String(t.minValue)).replace("{max}",String(t.maxValue))))}const H=o("number_cannot_be_smaller_than");return d(new Error(H.replace("{min}",String(t.minValue))))}if(M&&E>t.maxValue&&t.minValue!==t.maxValue){if($){const K=o("number_out_of_range");return d(new Error(K.replace("{min}",String(t.minValue)).replace("{max}",String(t.maxValue))))}const H=o("number_cannot_be_greater_than");return d(new Error(H.replace("{max}",String(t.maxValue))))}d()},trigger:["change","blur","submit"]}),Oe(()=>z.value[u],x=>{const v=t.minValue!==null&&t.minValue!==void 0,d=t.maxValue!==null&&t.maxValue!==void 0;if(x===""||x===null||x===void 0){w.value[u]&&delete w.value[u];return}const E=Number(x);if(isNaN(E)){w.value[u]=o("enter_valid_number");return}if((v&&E<t.minValue||d&&E>t.maxValue)&&t.minValue!==t.maxValue){if(v&&d){const $=o("number_out_of_range");w.value[u]=$.replace("{min}",String(t.minValue)).replace("{max}",String(t.maxValue))}else if(v&&E<t.minValue){const $=o("number_cannot_be_smaller_than");w.value[u]=$.replace("{min}",String(t.minValue))}else if(d&&E>t.maxValue){const $=o("number_cannot_be_greater_than");w.value[u]=$.replace("{max}",String(t.maxValue))}return}w.value[u]&&delete w.value[u]})),Z.value[u]=g}if(t.type==="date"&&t.dateFieldType==="input"&&(t.minDateValue!==null||t.maxDateValue!==null)){const g=t.minDateValue!==null&&t.minDateValue!==void 0&&t.minDateValue!=="",h=t.maxDateValue!==null&&t.maxDateValue!==void 0&&t.maxDateValue!=="";(g||h)&&Oe(()=>z.value[u],A=>{if(!A||A===""||A==="__PARTIAL__"){w.value[u]&&delete w.value[u];return}const x=t.dateFormat||"MM/DD/YYYY";if(!((M,H)=>{let K=H.length;if(H.includes("M/D")||H.includes("D/M")?K=8:(H.includes("MM/DD")||H.includes("DD/MM")||H.includes("YYYY-MM-DD")||H.includes("YYYY-M-D")||H.includes("DD.MM.YYYY")||H.includes("D.M.YYYY"))&&(K=10),M.length<K)return!1;let re=[];if(M.indexOf("/")!==-1?re=M.split("/"):M.indexOf("-")!==-1?re=M.split("-"):M.indexOf(".")!==-1&&(re=M.split(".")),re.length===3){let Q="";if(H.startsWith("YYYY")?Q=re[0]:Q=re[2],Q.length!==4||isNaN(Number(Q)))return!1}else return!1;return!0})(String(A),x)){w.value[u]&&delete w.value[u];return}const d=It(String(A),x);if(!d){w.value[u]&&delete w.value[u];return}const E=g?It(String(t.minDateValue),x):null,$=h?It(String(t.maxDateValue),x):null;pt(()=>{if(E&&d<E){const M=o("date_must_be_after");w.value[u]=M.replace("{min}",String(t.minDateValue));return}if($&&d>$){const M=o("date_must_be_before");w.value[u]=M.replace("{max}",String(t.maxDateValue));return}w.value[u]&&delete w.value[u]})})}if(t.type==="email"&&t.confirmFieldEnabled){const g="emailConfirm_"+t.fieldIndex;z.value[g]="";const h=[];h.push({validator:(A,x,v)=>{const d=z.value[u],E=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!d){v();return}if(!x){v(new Error(o("enter_email_address")));return}if(!E.test(x)){v(new Error(o("enter_email_address")));return}if(d&&x!==d){v(new Error(o("emails_do_not_match")));return}v()},trigger:["submit"]}),Z.value[g]=h}typeof window<"u"&&(window.IvyForms?.hooks?.fieldInit||[]).forEach(A=>{try{A(t,{formValues:z.value,formRules:Z.value,getLabel:o,fieldErrors:w.value,skipValidation:se})}catch(x){console.error(o("error_in_field_init_hook"),x)}})}),Ue.value=!1,setTimeout(()=>{X.value&&X.value.clearValidate()},50);const b=me.value.closest(".ivyforms-frontend")?.getAttribute("data-counter"),C=document.querySelector(`.ivyforms-skeleton-${b}`);C&&C.remove(),L.value.styleSettings&&Pn(L.value.id,L.value.styleSettings,L.value.formType)}else console.error(o("invalid_form_data"),L)}else console.error(o("form_data_not_found")),Ue.value=!1;let n=L.value.counter||"";if(!n&&me.value){const s=me.value.closest(".ivyforms-frontend");s&&s.dataset.counter&&(n=s.dataset.counter)}if(n){const s=document.getElementById("ivyforms-app-"+n);s&&s.dataset&&(Le.value=s.dataset.postId||"",tt.value=s.dataset.referer||document.referrer||"")}});function te(e){const n=e.requiredMessage;if(typeof n=="string"&&n.trim()!=="")return n;if(e.type==="gdpr")return o("gdpr_required_default_message");let s;return s=Tr(e.label||e.type),s+=` ${o("required")}`,s}function $r(e){return e.startsWith("payment-method_")}function lt(){return ge.value.filter(e=>e.type==="payment-method").map(e=>`${e.type}_${e.fieldIndex}`)}function Ot(){return ge.value.find(e=>e.type==="payment-method")}function Dr(){const e=Ot();return e?te(e):o("required")}function qr(){return Ot()?.required!==!1}function Lr(e,n){return n||e.hasPaymentDetails?.()===!0}function Ft(e){return!!(e?.sourceId||e?.paymentMethodId||e?.paymentIntentId||e?.paypalOrderId)}function Nt(e){return e?Object.fromEntries(Object.entries(e).filter(([n])=>!$r(n))):{}}function Bt(){const e=F.value?.getFieldCollectorRefs?.()??Ye.value;return(Array.isArray(e)?e.flat():e?[e]:[]).find(s=>s?s.$props?.field?.type==="payment-method":!1)}const Tr=e=>e?e[0]?.toLocaleUpperCase()+e.slice(1):"";function ut(e,n){if(!e)return"";const s=String(e).trim(),r=y(s);if(!r.hours&&!r.minutes&&!r.amPm)return s;const c=Ae()&&!!n.enableSeconds;if(n.timeFormat==="ampm"){const C=r.hours?parseInt(r.hours,10):NaN;if(isNaN(C))return s;const t=C%12||12,u=r.minutes?r.minutes.padStart(2,"0"):"00",g=c?`:${r.seconds?r.seconds.padStart(2,"0"):"00"}`:"",h=r.amPm||_(r.hours);return`${t}:${u}${g} ${h}`}const l=r.hours?r.hours.padStart(2,"0"):"00",S=r.minutes?r.minutes.padStart(2,"0"):"00",b=c&&r.seconds?`:${r.seconds.padStart(2,"0")}`:c?":00":"";return`${l}:${S}${b}`}const It=(e,n)=>{let s=0,r=0,c=0,l=[];if(e.indexOf("/")!==-1?l=e.split("/"):e.indexOf("-")!==-1?l=e.split("-"):e.indexOf(".")!==-1?l=e.split("."):l=[e],n.startsWith("MM")||n.startsWith("M")?(r=parseInt(l[0],10),s=parseInt(l[1],10),c=parseInt(l[2],10)):n.startsWith("DD")||n.startsWith("D")?(s=parseInt(l[0],10),r=parseInt(l[1],10),c=parseInt(l[2],10)):n.startsWith("YYYY")&&(c=parseInt(l[0],10),r=parseInt(l[1],10),s=parseInt(l[2],10)),s&&r&&c){const S=new Date(c,r-1,s);if(S.getFullYear()===c&&S.getMonth()===r-1&&S.getDate()===s)return S}return null},St=()=>{if(!G.value||G.value.length===0)return"top";const e=G.value.reduce((s,r)=>{const c=r.labelPosition||"top";return s[c]=(s[c]||0)+1,s},{});switch(Object.keys(e).reduce((s,r)=>e[s]>e[r]?s:r)){case"left":return"left";case"right":return"right";default:return"top"}},dt=async()=>{if(!X.value||q.value)return;q.value=!0;const e=async()=>{const n=F.value?.getFieldCollectorRefs?.()??Ye.value;if(ge.value.some(b=>b.type==="recaptcha")){const b=n?.find(C=>C&&C.$props&&C.$props.field&&C.$props.field.type==="recaptcha");if(b&&b.executeRecaptcha)try{const C=await b.executeRecaptcha(),t=`recaptcha_${b.$props.field.fieldIndex}`;z.value[t]=C}catch(C){console.error("reCAPTCHA execution failed:",C),q.value=!1;return}}if(ge.value.some(b=>b.type==="turnstile")){const b=n?.find(C=>C&&C.$props&&C.$props.field&&C.$props.field.type==="turnstile");if(b){const C=`turnstile_${b.$props.field.fieldIndex}`,t=z.value[C];if(!t||t.toString().trim()===""){w.value={...w.value,[C]:o("turnstile_complete_verification")},he(),q.value=!1;return}}}if(ge.value.some(b=>b.type==="hcaptcha")){const b=n?.find(C=>C&&C.$props&&C.$props.field&&C.$props.field.type==="hcaptcha");if(b){const C=`hcaptcha_${b.$props.field.fieldIndex}`,t=z.value[C];if(!t||t.toString().trim()===""){w.value={...w.value,[C]:o("hcaptcha_complete_verification")},he(),q.value=!1;return}}}const l=await kt(void 0,{bypassCache:!0});if(l!=="ok"){xt(l),q.value=!1;return}const S=lt();if(S.length>0){const b=S[0],C=Bt(),t=qr(),u=()=>{w.value={...w.value,[b]:Dr()}};if(C?.tokenize){const g=J.value,h=Ft(g)?g:Lr(C,t)?await C.tokenize():null;if(t&&!Ft(h)){u(),he(),q.value=!1;return}if(w.value[b]){const A={...w.value};delete A[b],w.value=A}Ft(h)&&(J.value=h)}else if(t){u(),he(),q.value=!1;return}}await Nr()};if(U.value&&F.value?.validateAllSteps){if(!await F.value.validateAllSteps()){he(),q.value=!1;return}await F.value.prepareSecurityFieldsForSubmit?.(),await e();return}await X.value.validate(async(n,s)=>{const r=Nt(s);if(n||Object.keys(r).length===0){const l=lt();l.forEach(S=>{w.value[S]&&delete w.value[S]}),l.length>0&&X.value?.clearValidate(l),await e()}else w.value={},Object.keys(r).forEach(l=>{const S=r[l][0]?.message||o("invalid_input");w.value[l]=S}),he(),q.value=!1})},he=()=>{pt(()=>{const e=document.querySelector(".ivyforms-form-field .is-error input, .ivyforms-form-field .is-error textarea, .ivyforms-form-field .is-error select");e&&typeof e.scrollIntoView=="function"&&(e.scrollIntoView({behavior:"smooth",block:"center"}),e instanceof HTMLElement&&typeof e.focus=="function"&&e.focus({preventScroll:!0}))})},xt=e=>{Re({message:o(e==="duplicate"?"duplicate_value_error":"error_checking_duplicates"),type:"error"}),he()},zt=e=>{if(w.value[e]&&delete w.value[e],e.includes(".")){const n=e.split(".")[0];w.value[n]&&delete w.value[n]}},jt=(e,n)=>{if(!n){zt(e);return}w.value={...w.value,[e]:n}},kr=e=>{switch(e){case"file_upload_invalid_type":return o("file_upload_error_invalid_type");case"file_upload_too_many_files":return o("file_upload_error_too_many");case"file_upload_failed":return o("file_upload_error_size");default:return}},Ar=e=>{if(!e||typeof e!="object")return;const n=e.data;if(!n||typeof n!="object")return;const s=n.field_errors;if(!(!s||typeof s!="object"))return s},Rr=e=>{let n=!1;for(const[s,r]of Object.entries(e)){const c=typeof r=="string"?r:r?.code,l=typeof r=="object"&&typeof r?.message=="string"&&r.message||kr(c)||o("error_submitting_form");jt(s,l),n=!0}return n};ne("clearFieldError",zt),ne("setFieldError",jt),ne("formValues",z),ne("formFields",G),ne("allFormFields",ge),ne("resolvePublicFieldComponent",Mr);const Ut=D(()=>{const e=L.value.paymentSettings?.currency;return typeof e=="string"&&$n(e)?e:Mn});ne("ivyformsFormId",D(()=>L.value.id)),ne("ivyformsFormNonce",De),ne("validateFormFields",async()=>{const e=X.value;return e?.validate?await new Promise(n=>{e.validate((s,r)=>{const c=Nt(r),l=s||Object.keys(c).length===0;l||(w.value={},Object.keys(c).forEach(S=>{const b=c[S][0]?.message||o("invalid_input");w.value[S]=b}),he()),n(l)})}):!0}),ne("ivyformsPaymentCurrencyCode",Ut),ne("formStyleSettings",D(()=>L.value.styleSettings||void 0)),ne("horizontalGap",He),ne("formPopperScopeClass",Er);const Or=()=>{se.value=!0,z.value={},pt(()=>{se.value=!1})},Yt=()=>{const e=qt(G.value,{...z.value});return G.value.forEach(n=>{if(n.type!=="product")return;const s=`${n.type}_${n.fieldIndex}`,r=e[s];r!=null&&(typeof r=="string"&&r.trim()===""||Array.isArray(r)&&r.length===0||(e[s]=Rn(n,r,Ut.value)))}),{formId:L.value.id,values:e,nonce:De.value,postId:Le.value,referer:tt.value,...J.value?J.value:{}}},Nr=async()=>{const e=we.hooks.beforeFormSubmit??[],n=Yt();let s=!1;const r=l=>{Re({type:"error",message:o("error_submitting_form")+l}),q.value=!1},c=async()=>{s||(s=!0,await Vt())};if(e.length===0){await Vt();return}for(const l of e)try{await l(c,r,n)}catch(S){console.error("[IvyForms] beforeFormSubmit hook error:",S),r(S instanceof Error?S.message:String(S));return}s||(q.value=!1)},Vt=async()=>{w.value={};try{const e=Yt(),n=Gn(e.values),{data:s,error:r,status:c}=await B("form/submission/",n?{method:"POST",data:Qn({formId:e.formId,values:e.values,nonce:e.nonce,postId:e.postId,referer:e.referer,formFields:G.value,sourceId:e.sourceId,paymentMethodId:e.paymentMethodId,paymentIntentId:e.paymentIntentId,paypalOrderId:e.paypalOrderId,idempotencyKey:e.idempotencyKey})}:{method:"POST",headers:{"Content-Type":"application/json"},data:e});if(s?.data?.data?.requires_action){const t=Bt(),u=String(s.data.data.client_secret??""),g=String(s.data.data.payment_intent_id??""),h=J.value?.idempotencyKey??vr();if(!(u!==""&&t?.handleNextAction?await t.handleNextAction(u):!1)||g===""){const x=lt();x.length>0&&(w.value={...w.value,[x[0]]:o("payment_failed")}),q.value=!1;return}J.value={paymentIntentId:g,idempotencyKey:h},await Vt();return}if(s?.data?.data?.is_duplicate){br(s?.data?.data?.duplicate_errors??{}),xt("duplicate"),q.value=!1;return}if(s?.data?.data?.payment_error){J.value=null;const t=lt(),u=typeof s.data?.message=="string"&&s.data.message.trim()!==""?s.data.message:o("payment_failed");t.length>0?(w.value={...w.value,[t[0]]:u},he()):Re({type:"error",message:u}),q.value=!1;return}if(c!==200||r){let t=o("error_submitting_form");if(r&&typeof r=="object"&&r!==null&&"message"in r){const h=r.message;typeof h=="string"&&h.trim()!==""&&(t=h)}const u=Ar(r);u&&Rr(u)||Re({type:"error",message:t}),q.value=!1;return}J.value=null,Se.value=!0,await new Promise(t=>setTimeout(t,600)),Or(),q.value=!1,Se.value=!1;const l=s?.data?.data?.confirmationResult;if(!l)return;const S=An(l),b=S.type,C=S.showForm;if(b==="successMessage")if(C)qe.value=!0,ee.value=s.data.data.confirmation||S.message||o("thank_you"),setTimeout(()=>{const t=document.querySelector(".ivyforms-success-message");t&&t.classList.add("ivyforms-fade-out"),setTimeout(()=>{qe.value=!1},500)},5e3);else{et.value=!0,ee.value=s.data.data.confirmation||S.message||o("thank_you");return}else b==="redirectToPage"&&S.pageUrl?window.location.href=S.pageUrl:b==="redirectToCustomUrl"&&S.url&&(window.location.href=S.url)}catch(e){console.error(o("error_submitting_form"),e),Re({type:"error",message:o("error_submitting_form")}),q.value=!1}};return(e,n)=>{const s=dr;return k(),N("div",{ref_key:"formWrapperRef",ref:me,class:le(Pr.value)},[et.value?(k(),N("div",xs,[_e(s,{html:ee.value||Ie(o)("thank_you"),"field-type":"confirmation"},null,8,["html"])])):(k(),N(Ne,{key:1},[qe.value?(k(),N("div",Vs,[_e(s,{html:ee.value||Ie(o)("thank_you"),"field-type":"confirmation"},null,8,["html"])])):de("",!0),L.value.showTitle?(k(),N("h3",{key:1,class:le(["ivyforms-form-title","ivyforms-form-title-"+L.value.id])},Fe(L.value.name),3)):de("",!0),L.value.showDescription?(k(),N("p",{key:2,class:le(["ivyforms-form-description","ivyforms-form-description-"+L.value.id])},Fe(L.value.description),3)):de("",!0),ke.value.render?(k(),N("div",{key:3,class:le(ke.value.wrapperClass)},[(k(),Me(Ge(ke.value.component),Xt({key:ke.value.key},ke.value.props,er(ke.value.events)),null,16))],2)):de("",!0),_e(Ln,{id:"ivyforms-form-"+L.value.id,ref_key:"formRef",ref:X,class:le("ivyforms-form ivyforms-form-"+L.value.id),"data-form-id":L.value.id,rules:Z.value,model:z.value,"label-position":St(),onSubmit:rr(dt,["prevent"])},{default:Je(()=>[U.value?(k(),Me(Ge(U.value),{key:0,ref_key:"conversationalLayoutRef",ref:F,"form-data":L.value,"visible-fields":rt.value,"form-values":z.value,"field-errors":w.value,"form-fields-templates":be,"horizontal-gap-css":He.value,"label-position":St(),"is-submitting":q.value,"form-ref":X.value,onSubmit:dt},null,40,["form-data","visible-fields","form-values","field-errors","form-fields-templates","horizontal-gap-css","label-position","is-submitting","form-ref"])):ot.value?de("",!0):(k(),N(Ne,{key:1},[(k(!0),N(Ne,null,Mt(st.value,(r,c)=>(k(),N("div",{key:"row-"+c,class:"ivyforms-form-row ivyforms-flex ivyforms-width-100 ivyforms-flex-wrap-wrap",style:tr({gap:He.value})},[(k(!0),N(Ne,null,Mt(r,l=>(k(),N("div",{key:l.type+"_"+l.fieldIndex,class:"ivyforms-form-field",style:tr({width:r.length>1?`calc(${l.width||100}% - (${He.value} * ${(r.length-1)/r.length}))`:`${l.width||100}%`,flex:"0 0 auto"})},[(k(),Me(Ge(be[l.type]),{key:`${l.type}_${l.fieldIndex}_${Ke.value}`,ref_for:!0,ref_key:"formFieldsCollectorRefs",ref:Ye,modelValue:z.value[l.type+"_"+l.fieldIndex],"onUpdate:modelValue":S=>z.value[l.type+"_"+l.fieldIndex]=S,field:l,error:w.value[l.type+"_"+l.fieldIndex],"field-errors":w.value,"label-position":St(),"horizontal-gap":He.value},null,8,["modelValue","onUpdate:modelValue","field","error","field-errors","label-position","horizontal-gap"]))],4))),128))],4))),128)),Ce.value.render?(k(),N("div",{key:0,class:le(Ce.value.wrapperClass)},[(k(),Me(Ge(Ce.value.component),Xt({key:Ce.value.key},Ce.value.props,er(Ce.value.events)),null,16))],2)):Ir.value?(k(),N("div",{key:1,class:le(["ivyforms-form-submit ivyforms-flex",`ivyforms-form-submit--${L.value.formActionButtons?.submitButtonSettings?.position||"default"}`])},[_e(Dn,{id:"ivyforms-form-submit-button-"+L.value.id,priority:"tertiary",type:"border",disabled:q.value,"aria-label":Vr.value,onClick:rr(dt,["prevent","stop"])},{default:Je(()=>[qn(Fe(L.value.formActionButtons?.submitButtonSettings?.label||Ie(o)("submit"))+" ",1),q.value?(k(),Me(bs,{key:0,completed:Se.value,class:"ivyforms-ml-8"},null,8,["completed"])):de("",!0)]),_:1},8,["id","disabled","aria-label"])],2)):de("",!0)],64))]),_:1},8,["id","class","data-form-id","rules","model","label-position"])],64))],2)}}}),Cs=yt(Es,[["__scopeId","data-v-05d8833b"]]),Tt=typeof window<"u"&&(window.IvyForms?.isGutenbergEditor||window.IvyForms?.isElementorEditor);(function(){const i=window;i.IvyForms=i.IvyForms||{},i.IvyForms.Vue=sr,i.Vue=i.Vue||sr})();(function(){pr();const i=window;i.IvyForms=i.IvyForms||{},i.IvyForms.api=we,i.IvyForms.hooks=we.hooks,i.IvyForms.fields=we.fields,i.IvyForms.useApiClient=Dt})();function lr(a){if(!a||typeof a!="string")return null;try{return JSON.parse(a)}catch{try{let i=a.replace(/"/g,'"');return i=i.replace(/&/g,"&"),i=i.replace(/'/g,"'"),i=i.replace(/</g,"<"),i=i.replace(/>/g,">"),JSON.parse(i)}catch{return null}}}function $t(a){const i=document.getElementById(`ivyforms-app-${a}`);if(!i)return null;const m=i.closest("[data-ivyforms-data]");if(m){const V=m.getAttribute("data-ivyforms-data");if(V){const o=lr(V);if(o&&o[a])return o[a]}}const f=document.querySelector(`script.ivyforms-ssr-data[data-ivyforms-counter="${a}"]`);if(f){const V=f.textContent||f.innerText||"",o=lr(V);if(o)return o}return null}function Be(a){const i=document.querySelector(`#ivyforms-app-${a.counter}`);if(i){if(i.querySelector("[data-v-app]")||i.hasAttribute("data-v-app"))return;try{const o=i.closest(".ivyforms-gutenberg-block")||i.closest(".ivyforms-elementor-block");if(o){const p=o.getAttribute("data-show-title")!=="false",I=o.getAttribute("data-show-description")!=="false";if(!p){const y=i.querySelector(".ivyforms-form-title");y&&(y.style.display="none")}if(!I){const y=i.querySelector(".ivyforms-form-description");y&&(y.style.display="none")}}}catch{}const m=Nn(Cs,{formData:a}),f=Bn();m.use(f);const V=zn(f);V.initialize(),(function(){pr();const p=window;p.IvyForms=p.IvyForms||{},p.IvyForms.api=we,p.IvyForms.hooks=we.hooks,p.IvyForms.fields=we.fields,p.IvyForms.getLabel=(_,P="")=>V.getLabel(_,P),p.IvyForms.validateBeforeSubmit=async _=>{const{validateBeforeSubmitForIntegration:P}=await Wn(async()=>{const{validateBeforeSubmitForIntegration:j}=await Promise.resolve().then(()=>Ss);return{validateBeforeSubmitForIntegration:j}},void 0);return P(_)};const I=p.IvyForms.hooks?.fieldInit?.slice()??[];if(p.IvyForms.hooks?.addFilter||(p.IvyForms.hooks=we.hooks),I.length&&p.IvyForms.hooks?.fieldInit)for(const _ of I)p.IvyForms.hooks.fieldInit.includes(_)||p.IvyForms.hooks.fieldInit.push(_);const y=((_,P)=>_&&P?(y[_]=P,P):y);jn(y),p.IvyForms.components=y,p.IvyForms.registerComponent=(_,P)=>y(_,P),p.IvyForms.types=Un,p.IvyForms.pro})(),m.mount(i),Yn({scope:"public",counter:a.counter})}}function hr(){typeof window<"u"&&window.wpIvyFormDataList&&(Array.isArray(window.wpIvyFormDataList)?window.wpIvyFormDataList:Object.values(window.wpIvyFormDataList)).forEach(i=>{i&&typeof i=="object"&&i.counter!==void 0&&Be(i)})}function ur(){document.querySelectorAll('[id^="ivyforms-app-"]').forEach(i=>{const m=i.id.replace("ivyforms-app-","");if(i.querySelector("[data-v-app]")||i.hasAttribute("data-v-app"))return;const f=$t(m);f&&(window.wpIvyFormDataList||(window.wpIvyFormDataList={}),window.wpIvyFormDataList[m]=f,Be(f))})}Tt&&(window.ivyFormsInitialize=hr);hr();Tt&&(ur(),[100,300,500,1e3,2e3].forEach(i=>{setTimeout(()=>{ur()},i)}));typeof window<"u"&&typeof MutationObserver<"u"&&Tt&&new MutationObserver(i=>{const m=new Set;i.forEach(f=>{f.addedNodes.forEach(V=>{if(!(V instanceof HTMLElement))return;if(V.id&&V.id.startsWith("ivyforms-app-")){const p=V.id.replace("ivyforms-app-","");m.add(p);return}const o=V.querySelector('[id^="ivyforms-app-"]');if(o&&o.id){const p=o.id.replace("ivyforms-app-","");m.add(p)}})}),m.size>0&&m.forEach(f=>{setTimeout(()=>{const V=$t(f);if(V){window.wpIvyFormDataList||(window.wpIvyFormDataList={}),window.wpIvyFormDataList[f]=V,Be(V);return}const p=window.wpIvyFormDataList;if(p&&p[f])Be(p[f]);else{let I=0;const y=5,_=setInterval(()=>{const P=$t(f);if(P){clearInterval(_),window.wpIvyFormDataList||(window.wpIvyFormDataList={}),window.wpIvyFormDataList[f]=P,Be(P);return}const B=window.wpIvyFormDataList;B&&B[f]?(clearInterval(_),Be(B[f])):++I>=y&&clearInterval(_)},100)}},50)})}).observe(document.body,{childList:!0,subtree:!0}); | |