@uniquedj95/vform 3.7.2 → 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  A dynamic form builder for Vue.js with Ionic components
8
8
 
9
- [![Version](https://img.shields.io/badge/version-3.7.2-blue.svg)](https://github.com/uniquedj95/vform/releases)
9
+ [![Version](https://img.shields.io/badge/version-3.7.3-blue.svg)](https://github.com/uniquedj95/vform/releases)
10
10
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
11
11
  [![Vue Version](https://img.shields.io/badge/vue-3.5+-brightgreen.svg)](https://vuejs.org/)
12
12
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue)](https://www.typescriptlang.org/)
@@ -4,6 +4,11 @@ declare function handleNextStep(): Promise<void>;
4
4
  declare function handlePreviousStep(): Promise<void>;
5
5
  declare function handleStepClick(stepIndex: number): Promise<void>;
6
6
  declare const _default: import('vue').DefineComponent<FormProps, {
7
+ isLastStep: import('vue').ComputedRef<boolean>;
8
+ canGoNext: import('vue').ComputedRef<boolean>;
9
+ canGoPrevious: import('vue').ComputedRef<boolean>;
10
+ computedData: import('vue').Ref<ComputedData, ComputedData>;
11
+ formData: import('vue').ComputedRef<FormData>;
7
12
  resetForm: typeof handleClearAction;
8
13
  isFormValid: () => Promise<boolean>;
9
14
  resolveData: () => MultiStepFormData | {
@@ -1 +1 @@
1
- {"version":3,"file":"vForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/vForm.vue"],"names":[],"mappings":"AAkMA;AA8mBA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkIpF,iBAAS,iBAAiB,SAOzB;AAmBD,iBAAe,cAAc,kBAyB5B;AAED,iBAAe,kBAAkB,kBAOhC;AAED,iBAAe,eAAe,CAAC,SAAS,EAAE,MAAM,iBA2B/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6sBD,wBAWG"}
1
+ {"version":3,"file":"vForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/vForm.vue"],"names":[],"mappings":"AAkMA;AA4mBA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkIpF,iBAAS,iBAAiB,SAQzB;AAWD,iBAAe,cAAc,kBAyB5B;AAED,iBAAe,kBAAkB,kBAOhC;AAED,iBAAe,eAAe,CAAC,SAAS,EAAE,MAAM,iBA2B/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAstBD,wBAWG"}
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("@ionic/vue"),J=require("ionicons/icons"),Ve=require("@maskito/vue");function be(l){return new Promise(a=>{requestAnimationFrame(async()=>{const n=await l.getInputElement();a(n)})})}const Be={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},we={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function Se(l,a){const n=we[l];return n[a%n.length]}function _e(l){const a=[];let n="",t=0,o=0;for(;t<l.length;){const r=l[t];if(["d","a","*"].includes(r)){let s=1;if(l[t+1]==="{"){const u=l.indexOf("}",t+2);if(u!==-1){const y=l.slice(t+2,u);if(y.includes(",")){const[,f]=y.split(",").map(c=>parseInt(c.trim()));s=f||parseInt(y.split(",")[0])}else s=parseInt(y);t=u}}else{let u=t+1;for(;l[u]===r;)s++,u++;t=u-1}for(let u=0;u<s;u++)a.push(Be[r]),n+=Se(r,o++)}else a.push(r),n+=r;t++}return{mask:a,placeholder:n,elementPredicate:be}}function Y(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function te(l,a,n){return l.disabled||l.hidden||typeof l.condition=="function"&&!l.condition(a,n)}function xe(l,a,n,t){l.forEach(o=>{var r;if(typeof(o==null?void 0:o.onReset)=="function"&&((r=o==null?void 0:o.$attrs)!=null&&r["ref-key"])){const s=o.$attrs["ref-key"];if(s&&a[s]){const u=a[s];if(te(u,n,t))return}o.onReset()}})}function Ne(l,a,n,t){l.forEach(o=>{var r;if(typeof(o==null?void 0:o.onReset)=="function"&&((r=o==null?void 0:o.$attrs)!=null&&r["ref-key"])){const s=o.$attrs["ref-key"],u=t(s);if(u&&te(u,a,n))return;o.onReset()}})}function Z(l,a,n){return typeof l.condition=="function"?l.condition(a,n):!0}function ee(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(n=>ee(n));const a={};return Object.entries(l).forEach(([n,t])=>{typeof t=="function"?a[n]=t.bind(a):a[n]=ee(t)}),a}function le(l,a){return a.findIndex(n=>n.value===l.value||n.label===l.label||n.value===l.label||n.label===l.value)}function P(l,a){const n=le(l,a);n>=0?a[n].isChecked=!0:a.push({...l,isChecked:!0})}function Ee(l,a){const n=le(l,a);n>=0&&(a[n].isChecked=!1)}function Ie(l){l.forEach(a=>{a.isChecked=!1})}function ae(l,a){if(!l.description)return!1;const n=l.description.show??"always";return n==="always"?!0:n==="onSelected"?!!a:!1}function ze(l,a){return a?l.filter(n=>JSON.stringify(n).toLowerCase().includes(a.toLowerCase())):l}function Oe(l){const a=l.label||"",n=l.required?" *":"";return a+n}function H(l,a){if(l===a)return!0;if(l==null||a==null||typeof l!=typeof a)return!1;if(typeof l!="object")return l===a;if(Array.isArray(l)&&Array.isArray(a))return l.length!==a.length?!1:l.every((o,r)=>H(o,a[r]));if(Array.isArray(l)!==Array.isArray(a))return!1;const n=Object.keys(l),t=Object.keys(a);return n.length!==t.length?!1:n.every(o=>Object.hasOwn(a,o)&&H(l[o],a[o]))}function D(l){return l.type!=="FormSection"}function oe(){const l=e.ref([]);async function a(){console.debug("Validating form inputs");const o=[];for(const r of l.value)if(typeof(r==null?void 0:r.onValueUpdate)=="function"&&await r.onValueUpdate(),typeof(r==null?void 0:r.getErrors)=="function")try{const s=r.getErrors();Array.isArray(s)?o.push(...s):console.warn("getErrors() returned non-array value:",s)}catch(s){console.error("Error calling getErrors on component:",s,r)}else console.warn("Component does not have getErrors function:",r);return o.every(Y)}function n(){const o=[];for(const r of l.value)if(typeof(r==null?void 0:r.getErrors)=="function")try{const s=r.getErrors();Array.isArray(s)?o.push(...s):o.push(String(s))}catch(s){console.error("Error calling getErrors on component:",s,r)}return o}async function t(){for(const o of l.value)typeof(o==null?void 0:o.onValueUpdate)=="function"&&await o.onValueUpdate()}return{dynamicRefs:l,isFormValid:a,getFormErrors:n,updateFormValues:t}}function re(l){const a=e.computed(()=>Object.entries(l.value).reduce((f,[c,m])=>(D(m)&&m.value!==void 0&&(f[c]=m.value),f),{})),n=e.ref({}),t=(f,c,m)=>{const p=l.value[f];if(D(p)&&p.children){const d=p.children[c];if(d&&D(d)&&typeof d.computedValue=="function")return d.computedValue(m,l.value)}return m},o=(f,c,m,p)=>{n.value[f][p]||(n.value[f][p]={}),Object.entries(c.other??{}).forEach(([d,v])=>{var b;!H(v,(b=m.other)==null?void 0:b[d])&&(n.value[f][p][d]=t(f,d,v))})},r=(f,c,m)=>{c.forEach((p,d)=>{const v=m[d]??{other:{}};o(f,p,v,d)})},s=(f,{other:c})=>Object.entries(c??{}).reduce((m,[p,d])=>(m[p]=t(f,p,d),m),{}),u=(f,c,m)=>{n.value[f]||(n.value[f]=[]);const p=c;Array.isArray(m[f])?r(f,p,m[f]):n.value[f]=p.map(d=>s(f,d))},y=(f,c,m)=>{if(!c){delete n.value[f];return}const p=l.value[f];D(p)&&(typeof p.onChange=="function"&&p.onChange(c,l.value),p.children!==void 0?u(f,c,m):typeof p.computedValue=="function"&&(n.value[f]=p.computedValue(c,l.value)))};return e.watch(a,(f,c={})=>{Object.keys(f).forEach(m=>{H(f[m],c[m])||y(m,f[m],c)}),Object.keys(c).forEach(m=>{!(m in f)&&m in n.value&&delete n.value[m]})},{immediate:!0,deep:!0}),{formData:a,computedData:n}}function ue(l){const a=e.ref(0),n=e.ref({}),t=e.ref({}),o=e.ref({});function r(k,E){const h=l.steps.find(V=>V.id===k);if(!(h!=null&&h.schema))return{};const C={},i=Object.values(n.value).reduce((V,N)=>({...V,...N}),{}),_=Object.values(t.value).reduce((V,N)=>({...V,...N}),{});for(const[V,N]of Object.entries(h.schema))D(N)&&(te(N,i,_)?E&&V in E?C[V]=E[V]:N.value!==void 0&&(C[V]=N.value):C[V]=N.value);return C}l.steps.forEach(k=>{n.value[k.id]=r(k.id),t.value[k.id]={},o.value[k.id]=[]});const s=e.ref(l.steps.map(k=>k.id)),u=e.computed(()=>l.steps.filter(E=>E.condition?E.condition(n.value,t.value):!0));e.watch(u,k=>{const E=k.map(C=>C.id);s.value.filter(C=>!E.includes(C)).forEach(C=>{S(C)}),s.value=E});const y=e.computed(()=>u.value.length>0?a.value>=u.value.length?u.value[u.value.length-1]:u.value[a.value]:l.steps[a.value]),f=e.computed(()=>a.value===0),c=e.computed(()=>a.value===u.value.length-1),m=e.computed(()=>!c.value),p=e.computed(()=>!f.value),d=e.computed(()=>u.value.length),v=e.computed(()=>d.value===0?0:Math.round((a.value+1)/d.value*100));function x(k,E){n.value[k]={...n.value[k],...E}}function b(k,E){t.value[k]={...t.value[k],...E}}function S(k){if(l.steps.find(h=>h.id===k)){const h=n.value[k]||{};n.value[k]=r(k,h),t.value[k]={}}}async function w(){const k=y.value;if(!k)return!0;const E=[];if(k.validation){const h=await k.validation(n.value[k.id],t.value[k.id]);h&&E.push(...h)}return o.value[k.id]=E,E.length===0}async function I(k){return k<0||k>=u.value.length||k>a.value&&!await w()?!1:(a.value=k,!0)}async function z(){return m.value?I(a.value+1):!1}async function $(){return p.value?I(a.value-1):!1}function A(){a.value=0,o.value={},l.steps.forEach(k=>{S(k.id),o.value[k.id]=[]})}async function M(){let k=!0;for(const E of l.steps)if(E.validation){const h=await E.validation(n.value[E.id],t.value[E.id]);o.value[E.id]=h||[],h&&h.length>0&&(k=!1)}return k}function O(){return{formData:{...n.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:y,stepData:n,stepComputedData:t,stepValidationErrors:o,visibleSteps:u,isFirstStep:f,isLastStep:c,canGoNext:m,canGoPrevious:p,totalSteps:d,progressPercentage:v,updateStepData:x,updateStepComputedData:b,clearStepData:S,validateCurrentStep:w,goToStep:I,nextStep:z,previousStep:$,resetForm:A,validateAllSteps:M,getMultiStepFormData:O}}const Fe={class:"step-indicator__container"},De=["onClick"],$e={class:"step-indicator__step-content"},Te={class:"step-indicator__step-marker"},Ae={class:"step-indicator__step-info"},Me={class:"step-indicator__step-title"},Pe={key:0,class:"step-indicator__step-subtitle"},Re={key:0,class:"step-indicator__progress"},Le={class:"step-indicator__progress-bar"},qe={class:"step-indicator__progress-text"},Ue=e.defineComponent({__name:"StepIndicator",props:{steps:{},activeStepIndex:{},position:{},showProgress:{type:Boolean,default:!0},allowNavigation:{type:Boolean,default:!1}},emits:["step-click"],setup(l,{emit:a}){const n=l,t=a,o=e.computed(()=>n.steps.length===0?0:(n.activeStepIndex+1)/n.steps.length*100);function r(s){n.allowNavigation&&t("step-click",s)}return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${s.position}`,{"step-indicator--clickable":s.allowNavigation}]])},[e.createElementVNode("div",Fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.steps,(y,f)=>(e.openBlock(),e.createElementBlock("div",{key:y.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":f===s.activeStepIndex,"step-indicator__step--completed":f<s.activeStepIndex,"step-indicator__step--clickable":s.allowNavigation}]),onClick:c=>r(f)},[e.createElementVNode("div",$e,[e.createElementVNode("div",Te,[e.createElementVNode("span",null,e.toDisplayString(f+1),1)]),e.createElementVNode("div",Ae,[e.createElementVNode("div",Me,e.toDisplayString(y.title),1),y.subtitle?(e.openBlock(),e.createElementBlock("div",Pe,e.toDisplayString(y.subtitle),1)):e.createCommentVNode("",!0)])]),f<s.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":f<s.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,De))),128))]),s.showProgress&&(s.position==="top"||s.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",Le,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${o.value}%`})},null,4)]),e.createElementVNode("div",qe," Step "+e.toDisplayString(s.activeStepIndex+1)+" of "+e.toDisplayString(s.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),q=(l,a)=>{const n=l.__vccOpts||l;for(const[t,o]of a)n[t]=o;return n},W=q(Ue,[["__scopeId","data-v-aca1a6d0"]]),R=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(l){const a=e.inject("globalConfig"),n=l,t=e.computed(()=>{var o,r;return n.label??((r=(o=a==null?void 0:a.buttons)==null?void 0:o[n.type])==null?void 0:r.label)??n.type});return(o,r)=>{var s,u,y,f,c,m,p,d,v,x,b,S;return e.openBlock(),e.createBlock(e.unref(g.IonButton),{color:((y=(u=(s=e.unref(a))==null?void 0:s.buttons)==null?void 0:u[l.type])==null?void 0:y.color)??"primary",fill:((m=(c=(f=e.unref(a))==null?void 0:f.buttons)==null?void 0:c[l.type])==null?void 0:m.fill)??"solid",expand:(v=(d=(p=e.unref(a))==null?void 0:p.buttons)==null?void 0:d[l.type])==null?void 0:v.expand,size:((S=(b=(x=e.unref(a))==null?void 0:x.buttons)==null?void 0:b[l.type])==null?void 0:S.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),ne=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(l){return(a,n)=>(e.openBlock(),e.createBlock(e.unref(g.IonButton),{onClick:l.button.action,color:l.button.color??"primary",fill:l.button.fill??"solid",size:l.button.size??"default",expand:l.button.expand},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.button.label),1)]),_:1},8,["onClick","color","fill","size","expand"]))}}),je={class:"v-form-container"},Ge={key:0,class:"multi-step-form"},He={class:"multi-step-form-content"},Ke={key:3,class:"step-progress-bottom"},We={class:"step-progress-bar"},Ze={class:"step-progress-text"},Je=e.defineComponent({__name:"vForm",props:{schema:{},multiStepConfig:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{},clearButtonText:{},cancelButtonText:{},nextButtonText:{},previousButtonText:{},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","multi-step-submit","step-change","clear","cancel"],setup(l,{expose:a,emit:n}){const t=l,o=n,r=e.computed(()=>!!t.multiStepConfig),s=e.ref(t.schema||{}),u=t.multiStepConfig?ue(t.multiStepConfig):null,{dynamicRefs:y,isFormValid:f}=oe(),{formData:c,computedData:m}=re(s),p=e.ref(null),d=e.computed(()=>(u==null?void 0:u.currentStepIndex.value)??0),v=e.computed(()=>u==null?void 0:u.currentStep.value),x=e.computed(()=>(u==null?void 0:u.visibleSteps.value)??[]),b=e.computed(()=>(u==null?void 0:u.isLastStep.value)??!0),S=e.computed(()=>(u==null?void 0:u.canGoNext.value)??!1),w=e.computed(()=>(u==null?void 0:u.canGoPrevious.value)??!1),I=e.computed(()=>!r.value||!u?0:u.progressPercentage.value);e.watch(()=>v.value,i=>{i&&r.value&&(s.value=i.schema||{})},{immediate:!0}),e.watch([c,m],([i,_])=>{r.value&&u&&v.value&&(u.updateStepData(v.value.id,i),u.updateStepComputedData(v.value.id,_))},{deep:!0}),e.watch(()=>t.schema,i=>{if(!r.value&&i){s.value=i;for(const[_,V]of Object.entries(i))D(V)&&"value"in V&&V.value!==void 0&&(s.value[_].value=V.value)}},{deep:!0,immediate:!0});async function z(){var i;if(r.value&&u){if((i=v.value)!=null&&i.component&&p.value&&typeof p.value.validate=="function"&&!await p.value.validate()||!await u.validateAllSteps())return;const V=u.getMultiStepFormData();o("multi-step-submit",V)}else{if(!await f())return;o("submit",c.value,m.value)}}function $(){xe(y.value,s.value,c.value,m.value)}function A(){r.value&&u?u.resetForm():$(),o("clear")}function M(){r.value&&u&&v.value&&(u.clearStepData(v.value.id),$(),o("clear"))}function O(){r.value&&u?u.resetForm():$(),o("cancel")}async function k(){var i;if(r.value&&u){let _=!0;if((i=v.value)!=null&&i.component&&p.value?typeof p.value.validate=="function"&&(_=await p.value.validate()):_=await f(),!_)return;await u.nextStep()&&v.value&&o("step-change",d.value,v.value.id)}}async function E(){u&&await u.previousStep()&&v.value&&o("step-change",d.value,v.value.id)}async function h(i){var _;if(u){if(i>d.value){let N=!0;if((_=v.value)!=null&&_.component&&p.value?typeof p.value.validate=="function"&&(N=await p.value.validate()):N=await f(),!N)return}await u.goToStep(i)&&v.value&&o("step-change",i,v.value.id)}}e.watch(c,async()=>{var i;for(const[_,V]of Object.entries(s.value))if(!Z(V,c.value,m.value)){const N=r.value&&v.value&&v.value.schema?v.value.schema[_]:(i=t.schema)==null?void 0:i[_];N&&D(N)&&"value"in N?V.value=N.value:V.value=void 0}},{deep:!0,immediate:!0});function C(i){r.value&&u&&v.value&&u.updateStepData(v.value.id,i)}return a({resetForm:A,isFormValid:f,resolveData:()=>r.value&&u?u.getMultiStepFormData():{formData:c.value,computedData:m.value},nextStep:k,previousStep:E,goToStep:h,getCurrentStep:()=>v.value,getCurrentStepIndex:()=>d.value}),(i,_)=>{var V,N;return e.openBlock(),e.createElementBlock("div",je,[r.value?(e.openBlock(),e.createElementBlock("div",Ge,[i.multiStepConfig&&i.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(W,{key:0,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition||"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:h},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["multi-step-content",`multi-step-content--${((V=i.multiStepConfig)==null?void 0:V.stepPosition)||"top"}`])},[i.multiStepConfig&&i.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(W,{key:0,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition??"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:h,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",He,[(N=v.value)!=null&&N.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value.component),e.mergeProps({key:0},v.value.componentProps||{},{"onUpdate:data":C,ref_key:"customComponentRef",ref:p}),null,16)):(e.openBlock(),e.createBlock(e.unref(g.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),B=>{var F,T,L,j,G;return e.openBlock(),e.createElementBlock(e.Fragment,{key:B},[e.unref(Z)(s.value[B],e.unref(c),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(g.IonCol),{key:0,size:((F=s.value[B].grid)==null?void 0:F.xs)??"12","size-sm":(T=s.value[B].grid)==null?void 0:T.sm,"size-md":(L=s.value[B].grid)==null?void 0:L.md,"size-lg":(j=s.value[B].grid)==null?void 0:j.lg,"size-xl":(G=s.value[B].grid)==null?void 0:G.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[B].type),{modelValue:s.value[B],"onUpdate:modelValue":X=>s.value[B]=X,schema:s.value,"form-id":B,ref_for:!0,ref_key:"dynamicRefs",ref:y,"ref-key":B},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1})]),_:1})),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(g.IonRow),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createBlock(R,{key:0,type:"previous",label:i.previousButtonText,onClick:E},null,8,["label"])):e.createCommentVNode("",!0),i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:1,type:"cancel",label:i.cancelButtonText,onClick:O},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:2,type:"clear",label:i.clearButtonText,onClick:M},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,B=>(e.openBlock(),e.createBlock(ne,{button:B,key:B.label},null,8,["button"]))),128)),S.value?(e.openBlock(),e.createBlock(R,{key:3,type:"next",label:i.nextButtonText,onClick:k},null,8,["label"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createBlock(R,{key:4,type:"submit",label:i.submitButtonText,onClick:z},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),i.multiStepConfig&&(i.multiStepConfig.stepPosition==="left"||i.multiStepConfig.stepPosition==="right")&&i.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",We,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${I.value}%`})},null,4)]),e.createElementVNode("div",Ze," Step "+e.toDisplayString(d.value+1)+" of "+e.toDisplayString(x.value.length),1)])):e.createCommentVNode("",!0)]),i.multiStepConfig&&i.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(W,{key:1,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:h,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),i.multiStepConfig&&i.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(W,{key:1,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:h},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(g.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),B=>{var F,T,L,j,G;return e.openBlock(),e.createElementBlock(e.Fragment,{key:B},[e.unref(Z)(s.value[B],e.unref(c),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(g.IonCol),{key:0,size:((F=s.value[B].grid)==null?void 0:F.xs)??"12","size-sm":(T=s.value[B].grid)==null?void 0:T.sm,"size-md":(L=s.value[B].grid)==null?void 0:L.md,"size-lg":(j=s.value[B].grid)==null?void 0:j.lg,"size-xl":(G=s.value[B].grid)==null?void 0:G.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[B].type),{modelValue:s.value[B],"onUpdate:modelValue":X=>s.value[B]=X,schema:s.value,"form-id":B,ref_for:!0,ref_key:"dynamicRefs",ref:y,"ref-key":B,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1}),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(g.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:0,type:"cancel",label:i.cancelButtonText,onClick:O},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:1,type:"clear",label:i.clearButtonText,onClick:A},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,B=>(e.openBlock(),e.createBlock(ne,{button:B,key:B.label},null,8,["button"]))),128)),e.createVNode(R,{type:"submit",label:i.submitButtonText,onClick:z},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),se=q(Je,[["__scopeId","data-v-e6d096d8"]]);function Qe(l){return{applyValidationState:async t=>{var o,r,s,u,y;(o=l.value)==null||o.$el.classList.remove("ion-invalid"),(r=l.value)==null||r.$el.classList.remove("ion-valid"),t?(s=l.value)==null||s.$el.classList.add("ion-valid"):(u=l.value)==null||u.$el.classList.add("ion-invalid"),(y=l.value)==null||y.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,o;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(o=l.value)==null||o.$el.classList.remove("ion-invalid")}}}function U(l,a,n,t,o){const{applyValidationState:r,resetValidationState:s}=Qe(l),u=e.inject("globalConfig");async function y(){var d;if(a.value.required&&!n.value)return a.value.error=((d=u==null?void 0:u.errorMessages)==null?void 0:d.required)??"This field is required",!1;if(o){const v=await o(n.value);if(typeof v=="string")return a.value.error=v,!1;if(v===!1)return!1}if(a.value.validation){const v=await a.value.validation(n.value,t==null?void 0:t.value);if(v!=null&&v.length)return a.value.error=v.join(),!1}return!0}async function f(){const d=await y();d&&(a.value.error="",a.value.value=n.value),await r(d)}function c(){s(),a.value.error=""}function m(d=""){n.value=d,a.value.error="",a.value.value=d}function p(){return a.value.error?[a.value.error]:[]}return{isValid:y,onValueUpdate:f,onFocus:c,onReset:m,getErrors:p,applyValidationState:r,resetValidationState:s}}function Xe(l){const a=e.computed(()=>!!l.value.label),n=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:a,showRequired:n,labelText:t}}const Q=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(l){const a=l,{showLabel:n,showRequired:t,labelText:o}=Xe(e.toRef(a,"model"));return(r,s)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(g.IonLabel),{key:0,slot:r.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(g.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1},8,["slot"])):e.createCommentVNode("",!0)}}),K=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),{isValid:u,onValueUpdate:y,onFocus:f,onReset:c,getErrors:m}=U(o,t,r,s),p=e.computed(()=>{if(t.value.pattern)return _e(t.value.pattern)});return e.watch(()=>t.value.value,d=>r.value=d),a({onValueUpdate:y,onReset:c,getErrors:m,isValid:u}),(d,v)=>{var b;const x=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(g.IonInput),{ref_key:"inputRef",ref:o,modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=S=>r.value=S),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:d.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((b=p.value)==null?void 0:b.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,style:{width:"100%"},onIonFocus:e.unref(f),onIonChange:e.unref(y),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(g.IonLabel),{key:0,slot:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.prefix),1)]),_:1})):e.createCommentVNode("",!0),t.value.suffix?(e.openBlock(),e.createBlock(e.unref(g.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),d.type==="password"?(e.openBlock(),e.createBlock(e.unref(g.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","class","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[x,p.value]])}}}),ie=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(K,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"text",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ce=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(K,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:n.value.enableTime?"datetime-local":"date",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),de=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(K,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"number",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(K,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"email",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),fe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(K,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"password",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Ye={class:"option-content"},et=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(null),s=e.ref(!1),u=e.ref([]),y=e.ref(""),f=e.ref(1),c=e.inject("globalConfig"),m=e.computed(()=>t.value.interface??"popover"),p=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),d=e.computed(()=>u.value.filter(h=>!!h.isChecked)),v=e.computed(()=>!y.value&&Y(d.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([y,()=>t.value.options],k,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,E,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!n.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(C=>{const i=n.schema[C];return D(i)?i.value:void 0}),async(h,C)=>{h&&C&&!H(h,C)&&(x(),u.value=[],await k())},{deep:!0});function x(){t.value.error="",y.value="",f.value=1,t.value.value=t.value.multiple?[]:"",Ie(u.value)}function b(h){if(h.disabled)return;const C=u.value.findIndex(i=>i.value===h.value&&i.isChecked);if(C>=0){if(Array.isArray(t.value.value)){const i=le(h,t.value.value);i>=0&&t.value.value.splice(i,1)}u.value[C].isChecked=!1}else t.value.multiple||x(),P(h,u.value);O(),y.value=""}function S(){switch(m.value){case"action-sheet":w();break;case"alert":I();break;case"popover":default:s.value=!0;break}}async function w(){var C,i;if(await k(),t.value.multiple){s.value=!0;return}await(await g.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...u.value.map(_=>{let V="";return _.isChecked?V="selected-option":_.disabled&&(V="disabled-option"),{text:_.label,cssClass:V,handler:()=>(b(_),!1),disabled:_.disabled}}),{text:((i=(C=c==null?void 0:c.buttons)==null?void 0:C.cancel)==null?void 0:i.label)??"Cancel",role:"cancel"}]})).present()}async function I(){var i,_,V,N;await k();const h=u.value.map(B=>({label:B.label,type:t.value.multiple?"checkbox":"radio",value:B,checked:B.isChecked,disabled:B.disabled}));await(await g.alertController.create({header:t.value.label||"Select an option",inputs:h,buttons:[{text:((_=(i=c==null?void 0:c.buttons)==null?void 0:i.cancel)==null?void 0:_.label)??"Cancel",role:"cancel"},{text:((N=(V=c==null?void 0:c.buttons)==null?void 0:V.ok)==null?void 0:N.label)??"OK",handler:B=>{if(t.value.multiple)u.value.forEach(F=>Ee(F,u.value)),B.forEach(F=>{const T=u.value.find(L=>L.value===F.value);T&&P(T,u.value)});else{x();const F=u.value.find(T=>T.value===B.value);F&&P(F,u.value)}O()}}]})).present()}async function z(){var h;if(t.value.required&&Y(d.value))return((h=c==null?void 0:c.errorMessages)==null?void 0:h.required)??"This field is required";if(t.value.validation){const C=await t.value.validation(d.value,n==null?void 0:n.schema);if(C&&C.length)return C.join()}return!0}const{onFocus:$,applyValidationState:A}=U(o,t,e.computed(()=>t.value.multiple?d.value:d.value[0]),e.computed(()=>n==null?void 0:n.schema),z);function M(h){var C;h.target===((C=o.value)==null?void 0:C.$el)&&($(),m.value==="popover"&&(s.value=!0))}async function O(h){var i;if((i=h==null?void 0:h.relatedTarget)!=null&&i.closest(".suggestions-list"))return;s.value=!1;const C=await z();C===!0?(t.value.error="",t.value.value=t.value.multiple?d.value:d.value[0]):t.value.error=typeof C=="string"?C:"Validation failed",await A(C===!0)}async function k(){const h=[];if(typeof t.value.options=="function"){let C={};if(t.value.dependsOn&&n.schema){const i=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let _=!0;if(C=i.reduce((V,N)=>{const B=n.schema[N];return V[N]=D(B)?B.value:void 0,(V[N]===void 0||V[N]===null||V[N]==="")&&(_=!1),V},{}),_){const V=await t.value.options(y.value,C);h.push(...V.filter(N=>!!N.label))}}else{const i=await t.value.options(y.value,{});h.push(...i.filter(_=>!!_.label))}}else Array.isArray(t.value.options)&&h.push(...ze(t.value.options,y.value));d.value.forEach(C=>P(C,h)),u.value=h}async function E(){const h=t.value.value;if(h){if(u.value.length===0&&await k(),Array.isArray(h))h.forEach(C=>P(C,u.value));else if(typeof h=="object")P(h,u.value);else{const C=u.value.find(i=>i.value===h);P(C||{value:h,label:h},u.value)}O()}}return e.onMounted(async()=>{await k(),await E()}),a({onValueUpdate:O,onReset:x,getErrors:()=>t.value.error?[t.value.error]:[]}),(h,C)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:O,ref_key:"containerRef",ref:r},[e.createVNode(e.unref(g.IonInput),{ref_key:"inputRef",ref:o,modelValue:y.value,"onUpdate:modelValue":C[0]||(C[0]=i=>y.value=i),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:l.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:v.value,disabled:t.value.disabled,counter:t.value.counter,debounce:300,onIonFocus:M,onClick:S,style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(g.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(i,_)=>(e.openBlock(),e.createBlock(e.unref(g.IonChip),{key:_},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(g.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var i;return[e.createTextVNode(e.toDisplayString(((i=d.value[0])==null?void 0:i.label)??""),1)]}),_:1})),e.createVNode(e.unref(g.IonIcon),{slot:"end",icon:e.unref(J.chevronDown)},null,8,["icon"]),d.value.length>0||y.value?(e.openBlock(),e.createBlock(e.unref(g.IonIcon),{key:2,slot:"end",icon:e.unref(J.close),onClick:x,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),s.value&&u.value.length>0&&m.value==="popover"?(e.openBlock(),e.createBlock(e.unref(g.IonList),{key:0,class:e.normalizeClass(["suggestions-list",p.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,i=>(e.openBlock(),e.createBlock(e.unref(g.IonItem),{button:"",key:i.label,onClick:_=>b(i),lines:t.value.showOptionsSeparator?"none":"full",disabled:i.disabled,class:e.normalizeClass({"ion-item-disabled":i.disabled})},{default:e.withCtx(()=>{var _;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(g.IonCheckbox),{key:0,slot:"start",checked:i.isChecked,disabled:i.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ye,[e.createVNode(e.unref(g.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1024),e.unref(ae)(i,i.isChecked)?(e.openBlock(),e.createBlock(e.unref(g.IonText),{key:0,color:(_=i.description)==null?void 0:_.color,class:"option-description"},{default:e.withCtx(()=>{var V;return[e.createTextVNode(e.toDisplayString((V=i.description)==null?void 0:V.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),me=q(et,[["__scopeId","data-v-022ed1e8"]]),ve=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),{onValueUpdate:u,onFocus:y,onReset:f,getErrors:c}=U(o,t,r,s);return e.watch(()=>t.value.value,m=>r.value=m),a({onReset:f,onValueUpdate:u,getErrors:c}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(g.IonTextarea),{ref_key:"inputRef",ref:o,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=d=>r.value=d),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,rows:t.value.rows,cols:t.value.cols,"auto-grow":t.value.autoGrow,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(y),onIonChange:e.unref(u),onIonBlur:e.unref(u),style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value,"slot-name":"label"},null,8,["model"])]),_:1},8,["modelValue","class","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),tt={class:"button-container"},lt=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref([]),{dynamicRefs:r,getFormErrors:s,updateFormValues:u}=oe(),y=e.computed(()=>o.value.map((v,x)=>({label:`Set ${x+1}`,value:x,other:Object.entries(v).reduce((b,[S,w])=>(D(w)&&(b[S]=w.value),b),{})})));e.watch(y,v=>{t.value.value=v},{deep:!0,immediate:!0}),e.onMounted(f);function f(){t.value.children&&o.value.push(ee(t.value.children))}function c(v){o.value.splice(v,1)}function m(){const v=x=>{const[b,S]=x.split("-"),w=parseInt(b,10);return!isNaN(w)&&S&&o.value[w]&&o.value[w][S]?o.value[w][S]:null};Ne(r.value,n.data,n.computedData,v)}function p(){return s()}async function d(){await u()}return a({onValueUpdate:d,onReset:m,getErrors:p}),(v,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(b,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:S},[e.createVNode(e.unref(g.IonRow),{class:"repeat-row"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonCol),{size:"11",class:"form-fields-column"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonRow),{class:"fields-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(b),w=>{var I,z,$,A,M;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Z)(b[w],v.data,v.computedData)?(e.openBlock(),e.createBlock(e.unref(g.IonCol),{key:`${S}-${w}`,size:((I=b[w].grid)==null?void 0:I.xs)??"12","size-sm":(z=b[w].grid)==null?void 0:z.sm,"size-md":($=b[w].grid)==null?void 0:$.md,"size-lg":(A=b[w].grid)==null?void 0:A.lg,"size-xl":(M=b[w].grid)==null?void 0:M.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b[w].type),{modelValue:b[w],"onUpdate:modelValue":O=>b[w]=O,schema:b,"ref-key":`${S}-${w}`,ref_for:!0,ref_key:"dynamicRefs",ref:r,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),_:2},1024),e.createVNode(e.unref(g.IonCol),{size:"1",class:"button-column"},{default:e.withCtx(()=>[e.createElementVNode("div",tt,[S===o.value.length-1?(e.openBlock(),e.createBlock(e.unref(g.IonButton),{key:0,onClick:f,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonIcon),{slot:"icon-only",icon:e.unref(J.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),o.value.length>1?(e.openBlock(),e.createBlock(e.unref(g.IonButton),{key:1,onClick:w=>c(S),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonIcon),{slot:"icon-only",icon:e.unref(J.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),he=q(lt,[["__scopeId","data-v-f27172ba"]]),ye=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),u=e.computed(()=>Oe(t.value)),{onValueUpdate:y,onFocus:f,getErrors:c}=U(o,t,r,s);function m(){r.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,p=>r.value=p),a({onValueUpdate:y,onReset:m,getErrors:c}),(p,d)=>(e.openBlock(),e.createBlock(e.unref(g.IonCheckbox),{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=v=>r.value=v),ref_key:"inputRef",ref:o,justify:"start",class:e.normalizeClass(t.value.className),required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(f),onIonChange:e.unref(y),onIonBlur:e.unref(y),style:{width:"100%"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value),1)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),ot={class:"radio-content"},nt={class:"radio-label"},at=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),u=e.ref([]),{onValueUpdate:y,onFocus:f,getErrors:c,isValid:m}=U(o,t,r,s);function p(){t.value.error="",r.value=void 0,t.value.value=void 0}function d(b,S){return(b==null?void 0:b.value)===(S==null?void 0:S.value)}function v(b){return r.value?d(r.value,b):!1}async function x(){typeof t.value.options=="function"?u.value=await t.value.options():u.value=t.value.options}return e.watch(()=>t.value.value,b=>r.value=b),a({onValueUpdate:y,onReset:p,getErrors:c,isValid:m}),e.onMounted(x),(b,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Q,{model:t.value},null,8,["model"]),S[1]||(S[1]=e.createElementVNode("br",null,null,-1)),t.value.error?(e.openBlock(),e.createBlock(e.unref(g.IonNote),{key:0,color:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.error),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(g.IonItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonRadioGroup),{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=w=>r.value=w),class:e.normalizeClass(t.value.className),required:t.value.required,disabled:t.value.disabled,compareWith:d,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(f),onIonChange:e.unref(y),onIonBlur:e.unref(y),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,w=>(e.openBlock(),e.createBlock(e.unref(g.IonItem),{key:w.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.IonRadio),{value:w,disabled:t.value.disabled||w.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var I;return[e.createElementVNode("div",ot,[e.createElementVNode("div",nt,e.toDisplayString(w.label),1),e.unref(ae)(w,v(w))?(e.openBlock(),e.createBlock(e.unref(g.IonText),{key:0,color:(I=w.description)==null?void 0:I.color,class:"radio-description"},{default:e.withCtx(()=>{var z;return[e.createTextVNode(e.toDisplayString((z=w.description)==null?void 0:z.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["value","disabled"])]),_:2},1032,["lines"]))),128))]),_:1},8,["modelValue","class","required","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"])]),_:1})],64))}}),ke=q(at,[["__scopeId","data-v-3dbfeaf7"]]),rt={class:"form-section-header"},ut={class:"form-section-title"},st={key:0,class:"form-section-subtitle"},it=e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(l){const n=l.modelValue;return(t,o)=>{var r,s,u,y,f;return e.openBlock(),e.createBlock(e.unref(g.IonCol),{size:((r=e.unref(n).grid)==null?void 0:r.xs)??"12","size-sm":(s=e.unref(n).grid)==null?void 0:s.sm,"size-md":(u=e.unref(n).grid)==null?void 0:u.md,"size-lg":(y=e.unref(n).grid)==null?void 0:y.lg,"size-xl":(f=e.unref(n).grid)==null?void 0:f.xl,class:e.normalizeClass(["form-section-container",e.unref(n).className])},{default:e.withCtx(()=>[e.createElementVNode("div",rt,[e.createElementVNode("h3",ut,e.toDisplayString(e.unref(n).title),1),e.unref(n).subtitle?(e.openBlock(),e.createElementBlock("p",st,e.toDisplayString(e.unref(n).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),ge=q(it,[["__scopeId","data-v-e0bf7af0"]]);function ct(l,a,n){const t=e.ref({}),o=e.ref({});function r(c,m,p){o.value[c]=p,m.forEach(d=>{var v;(v=t.value)[d]??(v[d]=[]),t.value[d].includes(c)||t.value[d].push(c)}),f(c)}function s(c){return Object.entries(t.value).filter(([,p])=>p.includes(c)).map(([p])=>p).reduce((p,d)=>(p[d]=a.value[d]??n.value[d],p),{})}function u(c,m){return c?Array.isArray(c)?c.some(p=>m.some(d=>y(p,d.value))):m.some(p=>y(c,p.value)):!1}function y(c,m){return typeof c=="object"&&c!==null?c.value===m:String(c)===String(m)}async function f(c,m){if(!o.value[c])return;const p=s(c),d=Object.keys(p);if(!(d.length===0||!d.every(x=>p[x]!==void 0&&p[x]!==null)))try{const x=o.value[c],b=await x(m,p);if(!l.value[c])return;const S=l.value[c];if(!D(S))return;S.options=b;const w=S.value;if(!w)return;u(w,b)||(S.value=S.multiple?[]:"")}catch(x){console.error(`Error loading options for ${c}:`,x)}}return e.watch([a,n],()=>{Object.entries(t.value).forEach(([c,m])=>{(a.value[c]!==void 0||n.value[c]!==void 0)&&m.forEach(p=>{f(p)})})},{deep:!0,immediate:!0}),{registerDependency:r,updateOptions:f}}const Ce={install(l,a){a&&l.provide("globalConfig",a),l.component("VForm",se),l.component("TextInput",ie),l.component("DateInput",ce),l.component("NumberInput",de),l.component("EmailInput",pe),l.component("PasswordInput",fe),l.component("SelectInput",me),l.component("TextAreaInput",ve),l.component("RepeatInput",he),l.component("CheckboxInput",ye),l.component("RadioInput",ke),l.component("FormSection",ge),l.directive("maskito",Ve.maskito)}};exports.CheckboxInput=ye;exports.DateInput=ce;exports.EmailInput=pe;exports.FormBuilder=se;exports.FormSection=ge;exports.NumberInput=de;exports.PasswordInput=fe;exports.RadioInput=ke;exports.RepeatInput=he;exports.SelectInput=me;exports.TextAreaInput=ve;exports.TextInput=ie;exports.VForm=Ce;exports.default=Ce;exports.useDataTransformation=re;exports.useDependentOptions=ct;exports.useFormValidation=oe;exports.useInputValidation=U;exports.useMultiStepForm=ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),V=require("@ionic/vue"),Z=require("ionicons/icons"),Ce=require("@maskito/vue");function Ve(l){return new Promise(a=>{requestAnimationFrame(async()=>{const n=await l.getInputElement();a(n)})})}const be={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},Be={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function we(l,a){const n=Be[l];return n[a%n.length]}function Se(l){const a=[];let n="",t=0,o=0;for(;t<l.length;){const r=l[t];if(["d","a","*"].includes(r)){let s=1;if(l[t+1]==="{"){const u=l.indexOf("}",t+2);if(u!==-1){const h=l.slice(t+2,u);if(h.includes(",")){const[,f]=h.split(",").map(c=>parseInt(c.trim()));s=f||parseInt(h.split(",")[0])}else s=parseInt(h);t=u}}else{let u=t+1;for(;l[u]===r;)s++,u++;t=u-1}for(let u=0;u<s;u++)a.push(be[r]),n+=we(r,o++)}else a.push(r),n+=r;t++}return{mask:a,placeholder:n,elementPredicate:Ve}}function X(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function ee(l,a,n){return l.disabled||l.hidden||typeof l.condition=="function"&&!l.condition(a,n)}function _e(l,a,n,t){l.forEach(o=>{var r;if(typeof(o==null?void 0:o.onReset)=="function"&&((r=o==null?void 0:o.$attrs)!=null&&r["ref-key"])){const s=o.$attrs["ref-key"];if(s&&a[s]){const u=a[s];if(ee(u,n,t))return}o.onReset()}})}function xe(l,a,n,t){l.forEach(o=>{var r;if(typeof(o==null?void 0:o.onReset)=="function"&&((r=o==null?void 0:o.$attrs)!=null&&r["ref-key"])){const s=o.$attrs["ref-key"],u=t(s);if(u&&ee(u,a,n))return;o.onReset()}})}function W(l,a,n){return typeof l.condition=="function"?l.condition(a,n):!0}function Y(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(n=>Y(n));const a={};return Object.entries(l).forEach(([n,t])=>{typeof t=="function"?a[n]=t.bind(a):a[n]=Y(t)}),a}function te(l,a){return a.findIndex(n=>n.value===l.value||n.label===l.label||n.value===l.label||n.label===l.value)}function P(l,a){const n=te(l,a);n>=0?a[n].isChecked=!0:a.push({...l,isChecked:!0})}function Ne(l,a){const n=te(l,a);n>=0&&(a[n].isChecked=!1)}function Ee(l){l.forEach(a=>{a.isChecked=!1})}function ne(l,a){if(!l.description)return!1;const n=l.description.show??"always";return n==="always"?!0:n==="onSelected"?!!a:!1}function Ie(l,a){return a?l.filter(n=>JSON.stringify(n).toLowerCase().includes(a.toLowerCase())):l}function ze(l){const a=l.label||"",n=l.required?" *":"";return a+n}function G(l,a){if(l===a)return!0;if(l==null||a==null||typeof l!=typeof a)return!1;if(typeof l!="object")return l===a;if(Array.isArray(l)&&Array.isArray(a))return l.length!==a.length?!1:l.every((o,r)=>G(o,a[r]));if(Array.isArray(l)!==Array.isArray(a))return!1;const n=Object.keys(l),t=Object.keys(a);return n.length!==t.length?!1:n.every(o=>Object.hasOwn(a,o)&&G(l[o],a[o]))}function D(l){return l.type!=="FormSection"}function le(){const l=e.ref([]);async function a(){console.debug("Validating form inputs");const o=[];for(const r of l.value)if(typeof(r==null?void 0:r.onValueUpdate)=="function"&&await r.onValueUpdate(),typeof(r==null?void 0:r.getErrors)=="function")try{const s=r.getErrors();Array.isArray(s)?o.push(...s):console.warn("getErrors() returned non-array value:",s)}catch(s){console.error("Error calling getErrors on component:",s,r)}else console.warn("Component does not have getErrors function:",r);return o.every(X)}function n(){const o=[];for(const r of l.value)if(typeof(r==null?void 0:r.getErrors)=="function")try{const s=r.getErrors();Array.isArray(s)?o.push(...s):o.push(String(s))}catch(s){console.error("Error calling getErrors on component:",s,r)}return o}async function t(){for(const o of l.value)typeof(o==null?void 0:o.onValueUpdate)=="function"&&await o.onValueUpdate()}return{dynamicRefs:l,isFormValid:a,getFormErrors:n,updateFormValues:t}}function ae(l){const a=e.computed(()=>Object.entries(l.value).reduce((f,[c,m])=>(D(m)&&m.value!==void 0&&(f[c]=m.value),f),{})),n=e.ref({}),t=(f,c,m)=>{const p=l.value[f];if(D(p)&&p.children){const d=p.children[c];if(d&&D(d)&&typeof d.computedValue=="function")return d.computedValue(m,l.value)}return m},o=(f,c,m,p)=>{n.value[f][p]||(n.value[f][p]={}),Object.entries(c.other??{}).forEach(([d,v])=>{var b;!G(v,(b=m.other)==null?void 0:b[d])&&(n.value[f][p][d]=t(f,d,v))})},r=(f,c,m)=>{c.forEach((p,d)=>{const v=m[d]??{other:{}};o(f,p,v,d)})},s=(f,{other:c})=>Object.entries(c??{}).reduce((m,[p,d])=>(m[p]=t(f,p,d),m),{}),u=(f,c,m)=>{n.value[f]||(n.value[f]=[]);const p=c;Array.isArray(m[f])?r(f,p,m[f]):n.value[f]=p.map(d=>s(f,d))},h=(f,c,m)=>{if(!c){delete n.value[f];return}const p=l.value[f];D(p)&&(typeof p.onChange=="function"&&p.onChange(c,l.value),p.children!==void 0?u(f,c,m):typeof p.computedValue=="function"&&(n.value[f]=p.computedValue(c,l.value)))};return e.watch(a,(f,c={})=>{Object.keys(f).forEach(m=>{G(f[m],c[m])||h(m,f[m],c)}),Object.keys(c).forEach(m=>{!(m in f)&&m in n.value&&delete n.value[m]})},{immediate:!0,deep:!0}),{formData:a,computedData:n}}function re(l){const a=e.ref(0),n=e.ref({}),t=e.ref({}),o=e.ref({});function r(C,N){const k=l.steps.find(w=>w.id===C);if(!(k!=null&&k.schema))return{};const i={},y=Object.values(n.value).reduce((w,g)=>({...w,...g}),{}),_=Object.values(t.value).reduce((w,g)=>({...w,...g}),{});for(const[w,g]of Object.entries(k.schema))D(g)&&(ee(g,y,_)?N&&w in N?i[w]=N[w]:g.value!==void 0&&(i[w]=g.value):i[w]=g.value);return i}l.steps.forEach(C=>{n.value[C.id]=r(C.id),t.value[C.id]={},o.value[C.id]=[]});const s=e.ref(l.steps.map(C=>C.id)),u=e.computed(()=>l.steps.filter(N=>N.condition?N.condition(n.value,t.value):!0));e.watch(u,C=>{const N=C.map(i=>i.id);s.value.filter(i=>!N.includes(i)).forEach(i=>{S(i)}),s.value=N});const h=e.computed(()=>u.value.length>0?a.value>=u.value.length?u.value[u.value.length-1]:u.value[a.value]:l.steps[a.value]),f=e.computed(()=>a.value===0),c=e.computed(()=>a.value===u.value.length-1),m=e.computed(()=>!c.value),p=e.computed(()=>!f.value),d=e.computed(()=>u.value.length),v=e.computed(()=>d.value===0?0:Math.round((a.value+1)/d.value*100));function x(C,N){n.value[C]={...n.value[C],...N}}function b(C,N){t.value[C]={...t.value[C],...N}}function S(C){if(l.steps.find(k=>k.id===C)){const k=n.value[C]||{};n.value[C]=r(C,k),t.value[C]={}}}async function B(){const C=h.value;if(!C)return!0;const N=[];if(C.validation){const k=await C.validation(n.value[C.id],t.value[C.id]);k&&N.push(...k)}return o.value[C.id]=N,N.length===0}async function I(C){return C<0||C>=u.value.length||C>a.value&&!await B()?!1:(a.value=C,!0)}async function z(){return m.value?I(a.value+1):!1}async function $(){return p.value?I(a.value-1):!1}function T(){a.value=0,o.value={},l.steps.forEach(C=>{S(C.id),o.value[C.id]=[]})}async function M(){let C=!0;for(const N of l.steps)if(N.validation){const k=await N.validation(n.value[N.id],t.value[N.id]);o.value[N.id]=k||[],k&&k.length>0&&(C=!1)}return C}function O(){return{formData:{...n.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:h,stepData:n,stepComputedData:t,stepValidationErrors:o,visibleSteps:u,isFirstStep:f,isLastStep:c,canGoNext:m,canGoPrevious:p,totalSteps:d,progressPercentage:v,updateStepData:x,updateStepComputedData:b,clearStepData:S,validateCurrentStep:B,goToStep:I,nextStep:z,previousStep:$,resetForm:T,validateAllSteps:M,getMultiStepFormData:O}}const Oe={class:"step-indicator__container"},Fe=["onClick"],De={class:"step-indicator__step-content"},$e={class:"step-indicator__step-marker"},Te={class:"step-indicator__step-info"},Ae={class:"step-indicator__step-title"},Me={key:0,class:"step-indicator__step-subtitle"},Pe={key:0,class:"step-indicator__progress"},Re={class:"step-indicator__progress-bar"},Le={class:"step-indicator__progress-text"},qe=e.defineComponent({__name:"StepIndicator",props:{steps:{},activeStepIndex:{},position:{},showProgress:{type:Boolean,default:!0},allowNavigation:{type:Boolean,default:!1}},emits:["step-click"],setup(l,{emit:a}){const n=l,t=a,o=e.computed(()=>n.steps.length===0?0:(n.activeStepIndex+1)/n.steps.length*100);function r(s){n.allowNavigation&&t("step-click",s)}return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${s.position}`,{"step-indicator--clickable":s.allowNavigation}]])},[e.createElementVNode("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.steps,(h,f)=>(e.openBlock(),e.createElementBlock("div",{key:h.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":f===s.activeStepIndex,"step-indicator__step--completed":f<s.activeStepIndex,"step-indicator__step--clickable":s.allowNavigation}]),onClick:c=>r(f)},[e.createElementVNode("div",De,[e.createElementVNode("div",$e,[e.createElementVNode("span",null,e.toDisplayString(f+1),1)]),e.createElementVNode("div",Te,[e.createElementVNode("div",Ae,e.toDisplayString(h.title),1),h.subtitle?(e.openBlock(),e.createElementBlock("div",Me,e.toDisplayString(h.subtitle),1)):e.createCommentVNode("",!0)])]),f<s.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":f<s.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,Fe))),128))]),s.showProgress&&(s.position==="top"||s.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",Re,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${o.value}%`})},null,4)]),e.createElementVNode("div",Le," Step "+e.toDisplayString(s.activeStepIndex+1)+" of "+e.toDisplayString(s.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),q=(l,a)=>{const n=l.__vccOpts||l;for(const[t,o]of a)n[t]=o;return n},K=q(qe,[["__scopeId","data-v-aca1a6d0"]]),R=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(l){const a=e.inject("globalConfig"),n=l,t=e.computed(()=>{var o,r;return n.label??((r=(o=a==null?void 0:a.buttons)==null?void 0:o[n.type])==null?void 0:r.label)??n.type});return(o,r)=>{var s,u,h,f,c,m,p,d,v,x,b,S;return e.openBlock(),e.createBlock(e.unref(V.IonButton),{color:((h=(u=(s=e.unref(a))==null?void 0:s.buttons)==null?void 0:u[l.type])==null?void 0:h.color)??"primary",fill:((m=(c=(f=e.unref(a))==null?void 0:f.buttons)==null?void 0:c[l.type])==null?void 0:m.fill)??"solid",expand:(v=(d=(p=e.unref(a))==null?void 0:p.buttons)==null?void 0:d[l.type])==null?void 0:v.expand,size:((S=(b=(x=e.unref(a))==null?void 0:x.buttons)==null?void 0:b[l.type])==null?void 0:S.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),oe=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(l){return(a,n)=>(e.openBlock(),e.createBlock(e.unref(V.IonButton),{onClick:l.button.action,color:l.button.color??"primary",fill:l.button.fill??"solid",size:l.button.size??"default",expand:l.button.expand},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.button.label),1)]),_:1},8,["onClick","color","fill","size","expand"]))}}),Ue={class:"v-form-container"},je={key:0,class:"multi-step-form"},Ge={class:"multi-step-form-content"},He={key:3,class:"step-progress-bottom"},Ke={class:"step-progress-bar"},We={class:"step-progress-text"},Ze=e.defineComponent({__name:"vForm",props:{schema:{},multiStepConfig:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{},clearButtonText:{},cancelButtonText:{},nextButtonText:{},previousButtonText:{},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","multi-step-submit","step-change","clear","cancel"],setup(l,{expose:a,emit:n}){const t=l,o=n,r=e.computed(()=>!!t.multiStepConfig),s=e.ref(t.schema||{}),u=t.multiStepConfig?re(t.multiStepConfig):null,{dynamicRefs:h,isFormValid:f}=le(),{formData:c,computedData:m}=ae(s),p=e.ref(null),d=e.computed(()=>(u==null?void 0:u.currentStepIndex.value)??0),v=e.computed(()=>u==null?void 0:u.currentStep.value),x=e.computed(()=>(u==null?void 0:u.visibleSteps.value)??[]),b=e.computed(()=>(u==null?void 0:u.isLastStep.value)??!0),S=e.computed(()=>(u==null?void 0:u.canGoNext.value)??!1),B=e.computed(()=>(u==null?void 0:u.canGoPrevious.value)??!1),I=e.computed(()=>!r.value||!u?0:u.progressPercentage.value);e.watch(()=>v.value,i=>{i&&r.value&&(s.value=i.schema||{})},{immediate:!0}),e.watch([c,m],([i,y])=>{r.value&&u&&v.value&&(u.updateStepData(v.value.id,i),u.updateStepComputedData(v.value.id,y))},{deep:!0}),e.watch(()=>t.schema,i=>{if(!r.value&&i){s.value=i;for(const[y,_]of Object.entries(i))D(_)&&"value"in _&&_.value!==void 0&&(s.value[y].value=_.value)}},{deep:!0,immediate:!0});async function z(){var i;if(r.value&&u){if((i=v.value)!=null&&i.component&&p.value&&typeof p.value.validate=="function"&&!await p.value.validate()||!await u.validateAllSteps())return;const _=u.getMultiStepFormData();o("multi-step-submit",_)}else{if(!await f())return;o("submit",c.value,m.value)}}function $(){_e(h.value,s.value,c.value,m.value)}function T(){r.value&&u&&v.value&&u.clearStepData(v.value.id),$(),o("clear")}function M(){r.value&&u?u.resetForm():$(),o("cancel")}async function O(){var i;if(r.value&&u){let y=!0;if((i=v.value)!=null&&i.component&&p.value?typeof p.value.validate=="function"&&(y=await p.value.validate()):y=await f(),!y)return;await u.nextStep()&&v.value&&o("step-change",d.value,v.value.id)}}async function C(){u&&await u.previousStep()&&v.value&&o("step-change",d.value,v.value.id)}async function N(i){var y;if(u){if(i>d.value){let w=!0;if((y=v.value)!=null&&y.component&&p.value?typeof p.value.validate=="function"&&(w=await p.value.validate()):w=await f(),!w)return}await u.goToStep(i)&&v.value&&o("step-change",i,v.value.id)}}e.watch(c,async()=>{var i;for(const[y,_]of Object.entries(s.value))if(!W(_,c.value,m.value)){const w=r.value&&v.value&&v.value.schema?v.value.schema[y]:(i=t.schema)==null?void 0:i[y];w&&D(w)&&"value"in w?_.value=w.value:_.value=void 0}},{deep:!0,immediate:!0});function k(i){r.value&&u&&v.value&&u.updateStepData(v.value.id,i)}return a({isLastStep:b,canGoNext:S,canGoPrevious:B,computedData:m,formData:c,resetForm:T,isFormValid:f,resolveData:()=>r.value&&u?u.getMultiStepFormData():{formData:c.value,computedData:m.value},nextStep:O,previousStep:C,goToStep:N,getCurrentStep:()=>v.value,getCurrentStepIndex:()=>d.value}),(i,y)=>{var _,w;return e.openBlock(),e.createElementBlock("div",Ue,[r.value?(e.openBlock(),e.createElementBlock("div",je,[i.multiStepConfig&&i.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(K,{key:0,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition||"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["multi-step-content",`multi-step-content--${((_=i.multiStepConfig)==null?void 0:_.stepPosition)||"top"}`])},[i.multiStepConfig&&i.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(K,{key:0,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition??"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ge,[(w=v.value)!=null&&w.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value.component),e.mergeProps({key:0},v.value.componentProps||{},{"onUpdate:data":k,ref_key:"customComponentRef",ref:p}),null,16)):(e.openBlock(),e.createBlock(e.unref(V.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),g=>{var E,F,A,L,j;return e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[e.unref(W)(s.value[g],e.unref(c),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:0,size:((E=s.value[g].grid)==null?void 0:E.xs)??"12","size-sm":(F=s.value[g].grid)==null?void 0:F.sm,"size-md":(A=s.value[g].grid)==null?void 0:A.md,"size-lg":(L=s.value[g].grid)==null?void 0:L.lg,"size-xl":(j=s.value[g].grid)==null?void 0:j.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[g].type),{modelValue:s.value[g],"onUpdate:modelValue":Q=>s.value[g]=Q,schema:s.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:h,"ref-key":g},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1})]),_:1})),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(V.IonRow),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(R,{key:0,type:"previous",label:i.previousButtonText,onClick:C},null,8,["label"])):e.createCommentVNode("",!0),i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:1,type:"cancel",label:i.cancelButtonText,onClick:M},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:2,type:"clear",label:i.clearButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,g=>(e.openBlock(),e.createBlock(oe,{button:g,key:g.label},null,8,["button"]))),128)),S.value?(e.openBlock(),e.createBlock(R,{key:3,type:"next",label:i.nextButtonText,onClick:O},null,8,["label"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createBlock(R,{key:4,type:"submit",label:i.submitButtonText,onClick:z},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),i.multiStepConfig&&(i.multiStepConfig.stepPosition==="left"||i.multiStepConfig.stepPosition==="right")&&i.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",Ke,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${I.value}%`})},null,4)]),e.createElementVNode("div",We," Step "+e.toDisplayString(d.value+1)+" of "+e.toDisplayString(x.value.length),1)])):e.createCommentVNode("",!0)]),i.multiStepConfig&&i.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(K,{key:1,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),i.multiStepConfig&&i.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(K,{key:1,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(V.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),g=>{var E,F,A,L,j;return e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[e.unref(W)(s.value[g],e.unref(c),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:0,size:((E=s.value[g].grid)==null?void 0:E.xs)??"12","size-sm":(F=s.value[g].grid)==null?void 0:F.sm,"size-md":(A=s.value[g].grid)==null?void 0:A.md,"size-lg":(L=s.value[g].grid)==null?void 0:L.lg,"size-xl":(j=s.value[g].grid)==null?void 0:j.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[g].type),{modelValue:s.value[g],"onUpdate:modelValue":Q=>s.value[g]=Q,schema:s.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:h,"ref-key":g,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1}),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(V.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:0,type:"cancel",label:i.cancelButtonText,onClick:M},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:1,type:"clear",label:i.clearButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,g=>(e.openBlock(),e.createBlock(oe,{button:g,key:g.label},null,8,["button"]))),128)),e.createVNode(R,{type:"submit",label:i.submitButtonText,onClick:z},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),ue=q(Ze,[["__scopeId","data-v-60c645eb"]]);function Je(l){return{applyValidationState:async t=>{var o,r,s,u,h;(o=l.value)==null||o.$el.classList.remove("ion-invalid"),(r=l.value)==null||r.$el.classList.remove("ion-valid"),t?(s=l.value)==null||s.$el.classList.add("ion-valid"):(u=l.value)==null||u.$el.classList.add("ion-invalid"),(h=l.value)==null||h.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,o;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(o=l.value)==null||o.$el.classList.remove("ion-invalid")}}}function U(l,a,n,t,o){const{applyValidationState:r,resetValidationState:s}=Je(l),u=e.inject("globalConfig");async function h(){var d;if(a.value.required&&!n.value)return a.value.error=((d=u==null?void 0:u.errorMessages)==null?void 0:d.required)??"This field is required",!1;if(o){const v=await o(n.value);if(typeof v=="string")return a.value.error=v,!1;if(v===!1)return!1}if(a.value.validation){const v=await a.value.validation(n.value,t==null?void 0:t.value);if(v!=null&&v.length)return a.value.error=v.join(),!1}return!0}async function f(){const d=await h();d&&(a.value.error="",a.value.value=n.value),await r(d)}function c(){s(),a.value.error=""}function m(d=""){n.value=d,a.value.error="",a.value.value=d}function p(){return a.value.error?[a.value.error]:[]}return{isValid:h,onValueUpdate:f,onFocus:c,onReset:m,getErrors:p,applyValidationState:r,resetValidationState:s}}function Qe(l){const a=e.computed(()=>!!l.value.label),n=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:a,showRequired:n,labelText:t}}const J=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(l){const a=l,{showLabel:n,showRequired:t,labelText:o}=Qe(e.toRef(a,"model"));return(r,s)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,slot:r.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1},8,["slot"])):e.createCommentVNode("",!0)}}),H=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),{isValid:u,onValueUpdate:h,onFocus:f,onReset:c,getErrors:m}=U(o,t,r,s),p=e.computed(()=>{if(t.value.pattern)return Se(t.value.pattern)});return e.watch(()=>t.value.value,d=>r.value=d),a({onValueUpdate:h,onReset:c,getErrors:m,isValid:u}),(d,v)=>{var b;const x=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(V.IonInput),{ref_key:"inputRef",ref:o,modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=S=>r.value=S),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:d.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((b=p.value)==null?void 0:b.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,style:{width:"100%"},onIonFocus:e.unref(f),onIonChange:e.unref(h),onIonBlur:e.unref(h)},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,slot:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.prefix),1)]),_:1})):e.createCommentVNode("",!0),t.value.suffix?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),d.type==="password"?(e.openBlock(),e.createBlock(e.unref(V.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","class","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[x,p.value]])}}}),se=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"text",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ie=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:n.value.enableTime?"datetime-local":"date",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),ce=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"number",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),de=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"email",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"password",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Xe={class:"option-content"},Ye=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(null),s=e.ref(!1),u=e.ref([]),h=e.ref(""),f=e.ref(1),c=e.inject("globalConfig"),m=e.computed(()=>t.value.interface??"popover"),p=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),d=e.computed(()=>u.value.filter(k=>!!k.isChecked)),v=e.computed(()=>!h.value&&X(d.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([h,()=>t.value.options],C,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,N,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!n.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(i=>{const y=n.schema[i];return D(y)?y.value:void 0}),async(k,i)=>{k&&i&&!G(k,i)&&(x(),u.value=[],await C())},{deep:!0});function x(){t.value.error="",h.value="",f.value=1,t.value.value=t.value.multiple?[]:"",Ee(u.value)}function b(k){if(k.disabled)return;const i=u.value.findIndex(y=>y.value===k.value&&y.isChecked);if(i>=0){if(Array.isArray(t.value.value)){const y=te(k,t.value.value);y>=0&&t.value.value.splice(y,1)}u.value[i].isChecked=!1}else t.value.multiple||x(),P(k,u.value);O(),h.value=""}function S(){switch(m.value){case"action-sheet":B();break;case"alert":I();break;case"popover":default:s.value=!0;break}}async function B(){var i,y;if(await C(),t.value.multiple){s.value=!0;return}await(await V.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...u.value.map(_=>{let w="";return _.isChecked?w="selected-option":_.disabled&&(w="disabled-option"),{text:_.label,cssClass:w,handler:()=>(b(_),!1),disabled:_.disabled}}),{text:((y=(i=c==null?void 0:c.buttons)==null?void 0:i.cancel)==null?void 0:y.label)??"Cancel",role:"cancel"}]})).present()}async function I(){var y,_,w,g;await C();const k=u.value.map(E=>({label:E.label,type:t.value.multiple?"checkbox":"radio",value:E,checked:E.isChecked,disabled:E.disabled}));await(await V.alertController.create({header:t.value.label||"Select an option",inputs:k,buttons:[{text:((_=(y=c==null?void 0:c.buttons)==null?void 0:y.cancel)==null?void 0:_.label)??"Cancel",role:"cancel"},{text:((g=(w=c==null?void 0:c.buttons)==null?void 0:w.ok)==null?void 0:g.label)??"OK",handler:E=>{if(t.value.multiple)u.value.forEach(F=>Ne(F,u.value)),E.forEach(F=>{const A=u.value.find(L=>L.value===F.value);A&&P(A,u.value)});else{x();const F=u.value.find(A=>A.value===E.value);F&&P(F,u.value)}O()}}]})).present()}async function z(){var k;if(t.value.required&&X(d.value))return((k=c==null?void 0:c.errorMessages)==null?void 0:k.required)??"This field is required";if(t.value.validation){const i=await t.value.validation(d.value,n==null?void 0:n.schema);if(i&&i.length)return i.join()}return!0}const{onFocus:$,applyValidationState:T}=U(o,t,e.computed(()=>t.value.multiple?d.value:d.value[0]),e.computed(()=>n==null?void 0:n.schema),z);function M(k){var i;k.target===((i=o.value)==null?void 0:i.$el)&&($(),m.value==="popover"&&(s.value=!0))}async function O(k){var y;if((y=k==null?void 0:k.relatedTarget)!=null&&y.closest(".suggestions-list"))return;s.value=!1;const i=await z();i===!0?(t.value.error="",t.value.value=t.value.multiple?d.value:d.value[0]):t.value.error=typeof i=="string"?i:"Validation failed",await T(i===!0)}async function C(){const k=[];if(typeof t.value.options=="function"){let i={};if(t.value.dependsOn&&n.schema){const y=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let _=!0;if(i=y.reduce((w,g)=>{const E=n.schema[g];return w[g]=D(E)?E.value:void 0,(w[g]===void 0||w[g]===null||w[g]==="")&&(_=!1),w},{}),_){const w=await t.value.options(h.value,i);k.push(...w.filter(g=>!!g.label))}}else{const y=await t.value.options(h.value,{});k.push(...y.filter(_=>!!_.label))}}else Array.isArray(t.value.options)&&k.push(...Ie(t.value.options,h.value));d.value.forEach(i=>P(i,k)),u.value=k}async function N(){const k=t.value.value;if(k){if(u.value.length===0&&await C(),Array.isArray(k))k.forEach(i=>P(i,u.value));else if(typeof k=="object")P(k,u.value);else{const i=u.value.find(y=>y.value===k);P(i||{value:k,label:k},u.value)}O()}}return e.onMounted(async()=>{await C(),await N()}),a({onValueUpdate:O,onReset:x,getErrors:()=>t.value.error?[t.value.error]:[]}),(k,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:O,ref_key:"containerRef",ref:r},[e.createVNode(e.unref(V.IonInput),{ref_key:"inputRef",ref:o,modelValue:h.value,"onUpdate:modelValue":i[0]||(i[0]=y=>h.value=y),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:l.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:v.value,disabled:t.value.disabled,counter:t.value.counter,debounce:300,onIonFocus:M,onClick:S,style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(y,_)=>(e.openBlock(),e.createBlock(e.unref(V.IonChip),{key:_},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var y;return[e.createTextVNode(e.toDisplayString(((y=d.value[0])==null?void 0:y.label)??""),1)]}),_:1})),e.createVNode(e.unref(V.IonIcon),{slot:"end",icon:e.unref(Z.chevronDown)},null,8,["icon"]),d.value.length>0||h.value?(e.openBlock(),e.createBlock(e.unref(V.IonIcon),{key:2,slot:"end",icon:e.unref(Z.close),onClick:x,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),s.value&&u.value.length>0&&m.value==="popover"?(e.openBlock(),e.createBlock(e.unref(V.IonList),{key:0,class:e.normalizeClass(["suggestions-list",p.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,y=>(e.openBlock(),e.createBlock(e.unref(V.IonItem),{button:"",key:y.label,onClick:_=>b(y),lines:t.value.showOptionsSeparator?"none":"full",disabled:y.disabled,class:e.normalizeClass({"ion-item-disabled":y.disabled})},{default:e.withCtx(()=>{var _;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(V.IonCheckbox),{key:0,slot:"start",checked:y.isChecked,disabled:y.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",Xe,[e.createVNode(e.unref(V.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024),e.unref(ne)(y,y.isChecked)?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:(_=y.description)==null?void 0:_.color,class:"option-description"},{default:e.withCtx(()=>{var w;return[e.createTextVNode(e.toDisplayString((w=y.description)==null?void 0:w.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),fe=q(Ye,[["__scopeId","data-v-022ed1e8"]]),me=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),{onValueUpdate:u,onFocus:h,onReset:f,getErrors:c}=U(o,t,r,s);return e.watch(()=>t.value.value,m=>r.value=m),a({onReset:f,onValueUpdate:u,getErrors:c}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(V.IonTextarea),{ref_key:"inputRef",ref:o,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=d=>r.value=d),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,rows:t.value.rows,cols:t.value.cols,"auto-grow":t.value.autoGrow,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(h),onIonChange:e.unref(u),onIonBlur:e.unref(u),style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"])]),_:1},8,["modelValue","class","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),et={class:"button-container"},tt=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref([]),{dynamicRefs:r,getFormErrors:s,updateFormValues:u}=le(),h=e.computed(()=>o.value.map((v,x)=>({label:`Set ${x+1}`,value:x,other:Object.entries(v).reduce((b,[S,B])=>(D(B)&&(b[S]=B.value),b),{})})));e.watch(h,v=>{t.value.value=v},{deep:!0,immediate:!0}),e.onMounted(f);function f(){t.value.children&&o.value.push(Y(t.value.children))}function c(v){o.value.splice(v,1)}function m(){const v=x=>{const[b,S]=x.split("-"),B=parseInt(b,10);return!isNaN(B)&&S&&o.value[B]&&o.value[B][S]?o.value[B][S]:null};xe(r.value,n.data,n.computedData,v)}function p(){return s()}async function d(){await u()}return a({onValueUpdate:d,onReset:m,getErrors:p}),(v,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(b,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:S},[e.createVNode(e.unref(V.IonRow),{class:"repeat-row"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonCol),{size:"11",class:"form-fields-column"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRow),{class:"fields-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(b),B=>{var I,z,$,T,M;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(W)(b[B],v.data,v.computedData)?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:`${S}-${B}`,size:((I=b[B].grid)==null?void 0:I.xs)??"12","size-sm":(z=b[B].grid)==null?void 0:z.sm,"size-md":($=b[B].grid)==null?void 0:$.md,"size-lg":(T=b[B].grid)==null?void 0:T.lg,"size-xl":(M=b[B].grid)==null?void 0:M.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b[B].type),{modelValue:b[B],"onUpdate:modelValue":O=>b[B]=O,schema:b,"ref-key":`${S}-${B}`,ref_for:!0,ref_key:"dynamicRefs",ref:r,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),_:2},1024),e.createVNode(e.unref(V.IonCol),{size:"1",class:"button-column"},{default:e.withCtx(()=>[e.createElementVNode("div",et,[S===o.value.length-1?(e.openBlock(),e.createBlock(e.unref(V.IonButton),{key:0,onClick:f,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonIcon),{slot:"icon-only",icon:e.unref(Z.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),o.value.length>1?(e.openBlock(),e.createBlock(e.unref(V.IonButton),{key:1,onClick:B=>c(S),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonIcon),{slot:"icon-only",icon:e.unref(Z.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),ve=q(tt,[["__scopeId","data-v-f27172ba"]]),he=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),u=e.computed(()=>ze(t.value)),{onValueUpdate:h,onFocus:f,getErrors:c}=U(o,t,r,s);function m(){r.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,p=>r.value=p),a({onValueUpdate:h,onReset:m,getErrors:c}),(p,d)=>(e.openBlock(),e.createBlock(e.unref(V.IonCheckbox),{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=v=>r.value=v),ref_key:"inputRef",ref:o,justify:"start",class:e.normalizeClass(t.value.className),required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(f),onIonChange:e.unref(h),onIonBlur:e.unref(h),style:{width:"100%"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value),1)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),lt={class:"radio-content"},ot={class:"radio-label"},nt=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),u=e.ref([]),{onValueUpdate:h,onFocus:f,getErrors:c,isValid:m}=U(o,t,r,s);function p(){t.value.error="",r.value=void 0,t.value.value=void 0}function d(b,S){return(b==null?void 0:b.value)===(S==null?void 0:S.value)}function v(b){return r.value?d(r.value,b):!1}async function x(){typeof t.value.options=="function"?u.value=await t.value.options():u.value=t.value.options}return e.watch(()=>t.value.value,b=>r.value=b),a({onValueUpdate:h,onReset:p,getErrors:c,isValid:m}),e.onMounted(x),(b,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(J,{model:t.value},null,8,["model"]),S[1]||(S[1]=e.createElementVNode("br",null,null,-1)),t.value.error?(e.openBlock(),e.createBlock(e.unref(V.IonNote),{key:0,color:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.error),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(V.IonItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRadioGroup),{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=B=>r.value=B),class:e.normalizeClass(t.value.className),required:t.value.required,disabled:t.value.disabled,compareWith:d,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(f),onIonChange:e.unref(h),onIonBlur:e.unref(h),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,B=>(e.openBlock(),e.createBlock(e.unref(V.IonItem),{key:B.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRadio),{value:B,disabled:t.value.disabled||B.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var I;return[e.createElementVNode("div",lt,[e.createElementVNode("div",ot,e.toDisplayString(B.label),1),e.unref(ne)(B,v(B))?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:(I=B.description)==null?void 0:I.color,class:"radio-description"},{default:e.withCtx(()=>{var z;return[e.createTextVNode(e.toDisplayString((z=B.description)==null?void 0:z.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["value","disabled"])]),_:2},1032,["lines"]))),128))]),_:1},8,["modelValue","class","required","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"])]),_:1})],64))}}),ye=q(nt,[["__scopeId","data-v-3dbfeaf7"]]),at={class:"form-section-header"},rt={class:"form-section-title"},ut={key:0,class:"form-section-subtitle"},st=e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(l){const n=l.modelValue;return(t,o)=>{var r,s,u,h,f;return e.openBlock(),e.createBlock(e.unref(V.IonCol),{size:((r=e.unref(n).grid)==null?void 0:r.xs)??"12","size-sm":(s=e.unref(n).grid)==null?void 0:s.sm,"size-md":(u=e.unref(n).grid)==null?void 0:u.md,"size-lg":(h=e.unref(n).grid)==null?void 0:h.lg,"size-xl":(f=e.unref(n).grid)==null?void 0:f.xl,class:e.normalizeClass(["form-section-container",e.unref(n).className])},{default:e.withCtx(()=>[e.createElementVNode("div",at,[e.createElementVNode("h3",rt,e.toDisplayString(e.unref(n).title),1),e.unref(n).subtitle?(e.openBlock(),e.createElementBlock("p",ut,e.toDisplayString(e.unref(n).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),ke=q(st,[["__scopeId","data-v-e0bf7af0"]]);function it(l,a,n){const t=e.ref({}),o=e.ref({});function r(c,m,p){o.value[c]=p,m.forEach(d=>{var v;(v=t.value)[d]??(v[d]=[]),t.value[d].includes(c)||t.value[d].push(c)}),f(c)}function s(c){return Object.entries(t.value).filter(([,p])=>p.includes(c)).map(([p])=>p).reduce((p,d)=>(p[d]=a.value[d]??n.value[d],p),{})}function u(c,m){return c?Array.isArray(c)?c.some(p=>m.some(d=>h(p,d.value))):m.some(p=>h(c,p.value)):!1}function h(c,m){return typeof c=="object"&&c!==null?c.value===m:String(c)===String(m)}async function f(c,m){if(!o.value[c])return;const p=s(c),d=Object.keys(p);if(!(d.length===0||!d.every(x=>p[x]!==void 0&&p[x]!==null)))try{const x=o.value[c],b=await x(m,p);if(!l.value[c])return;const S=l.value[c];if(!D(S))return;S.options=b;const B=S.value;if(!B)return;u(B,b)||(S.value=S.multiple?[]:"")}catch(x){console.error(`Error loading options for ${c}:`,x)}}return e.watch([a,n],()=>{Object.entries(t.value).forEach(([c,m])=>{(a.value[c]!==void 0||n.value[c]!==void 0)&&m.forEach(p=>{f(p)})})},{deep:!0,immediate:!0}),{registerDependency:r,updateOptions:f}}const ge={install(l,a){a&&l.provide("globalConfig",a),l.component("VForm",ue),l.component("TextInput",se),l.component("DateInput",ie),l.component("NumberInput",ce),l.component("EmailInput",de),l.component("PasswordInput",pe),l.component("SelectInput",fe),l.component("TextAreaInput",me),l.component("RepeatInput",ve),l.component("CheckboxInput",he),l.component("RadioInput",ye),l.component("FormSection",ke),l.directive("maskito",Ce.maskito)}};exports.CheckboxInput=he;exports.DateInput=ie;exports.EmailInput=de;exports.FormBuilder=ue;exports.FormSection=ke;exports.NumberInput=ce;exports.PasswordInput=pe;exports.RadioInput=ye;exports.RepeatInput=ve;exports.SelectInput=fe;exports.TextAreaInput=me;exports.TextInput=se;exports.VForm=ge;exports.default=ge;exports.useDataTransformation=ae;exports.useDependentOptions=it;exports.useFormValidation=le;exports.useInputValidation=U;exports.useMultiStepForm=re;
2
2
  //# sourceMappingURL=index.cjs.js.map