@uniquedj95/vform 3.4.0 → 3.4.1

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/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("ionicons/icons"),require("@maskito/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","ionicons/icons","@maskito/vue"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x.VForm={},x.Vue,x.IonicVue,x.IoniconsIcons,x.MaskitoVue))})(this,function(x,e,k,j,ne){"use strict";function le(o){return new Promise(r=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();r(a)})})}const ae={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},re={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(o,r){const a=re[o];return a[r%a.length]}function ie(o){const r=[];let a="",t=0,n=0;for(;t<o.length;){const s=o[t];if(["d","a","*"].includes(s)){let c=1;if(o[t+1]==="{"){const i=o.indexOf("}",t+2);if(i!==-1){const y=o.slice(t+2,i);if(y.includes(",")){const[,p]=y.split(",").map(d=>parseInt(d.trim()));c=p||parseInt(y.split(",")[0])}else c=parseInt(y);t=i}}else{let i=t+1;for(;o[i]===s;)c++,i++;t=i-1}for(let i=0;i<c;i++)r.push(ae[s]),a+=se(s,n++)}else r.push(s),a+=s;t++}return{mask:r,placeholder:a,elementPredicate:le}}function K(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function v(o,r,a){return typeof o.condition=="function"?o.condition(r,a):!0}function W(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>W(a));const r={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?r[a]=t.bind(r):r[a]=W(t)}),r}function X(o,r){return r.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function T(o,r){const a=X(o,r);a>=0?r[a].isChecked=!0:r.push({...o,isChecked:!0})}function Y(o,r){const a=X(o,r);a>=0&&(r[a].isChecked=!1)}function ce(o){o.forEach(r=>{r.isChecked=!1})}function ue(o,r){return r?o.filter(a=>JSON.stringify(a).toLowerCase().includes(r.toLowerCase())):o}function $(o){const r=o.label||"",a=o.required?" *":"";return r+a}function P(o,r){if(o===r)return!0;if(o==null||r==null||typeof o!=typeof r)return!1;if(typeof o!="object")return o===r;if(Array.isArray(o)&&Array.isArray(r))return o.length!==r.length?!1:o.every((n,s)=>P(n,r[s]));if(Array.isArray(o)!==Array.isArray(r))return!1;const a=Object.keys(o),t=Object.keys(r);return a.length!==t.length?!1:a.every(n=>Object.prototype.hasOwnProperty.call(r,n)&&P(o[n],r[n]))}function Z(){const o=e.ref([]);async function r(){console.debug("Validating form inputs");const s=[];for(const c of o.value)if(typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function")try{const i=c.getErrors();Array.isArray(i)?s.push(...i):console.warn("getErrors() returned non-array value:",i)}catch(i){console.error("Error calling getErrors on component:",i,c)}else console.warn("Component does not have getErrors function:",c);return s.every(K)}function a(){o.value.forEach(s=>{typeof(s==null?void 0:s.onReset)=="function"&&s.onReset()})}function t(){const s=[];for(const c of o.value)if(typeof(c==null?void 0:c.getErrors)=="function")try{const i=c.getErrors();Array.isArray(i)?s.push(...i):s.push(String(i))}catch(i){console.error("Error calling getErrors on component:",i,c)}return s}async function n(){for(const s of o.value)typeof(s==null?void 0:s.onValueUpdate)=="function"&&await s.onValueUpdate()}return{dynamicRefs:o,isFormValid:r,resetForm:a,getFormErrors:t,updateFormValues:n}}function ee(o){const r=e.computed(()=>Object.entries(o.value).reduce((p,[d,f])=>(f.value!==void 0&&(typeof f.onChange=="function"?p[d]=f.onChange(f.value,o.value):p[d]=f.value),p),{})),a=e.ref({}),t=(p,d,f)=>{var u;return typeof((u=o.value[p].children[d])==null?void 0:u.computedValue)=="function"?o.value[p].children[d].computedValue(f,o.value):f},n=(p,d,f,u)=>{a.value[p][u]||(a.value[p][u]={}),Object.entries(d.other??{}).forEach(([m,C])=>{var w;!P(C,(w=f.other)==null?void 0:w[m])&&(a.value[p][u][m]=t(p,m,C))})},s=(p,d,f)=>{d.forEach((u,m)=>{const C=f[m]??{other:{}};n(p,u,C,m)})},c=(p,{other:d})=>Object.entries(d??{}).reduce((f,[u,m])=>(f[u]=t(p,u,m),f),{}),i=(p,d,f)=>{a.value[p]||(a.value[p]=[]);const u=d;Array.isArray(f[p])?s(p,u,f[p]):a.value[p]=u.map(m=>c(p,m))},y=(p,d,f)=>{if(!d){delete a.value[p];return}const u=o.value[p];u.children!==void 0?i(p,d,f):typeof u.computedValue=="function"&&(a.value[p]=u.computedValue(d,o.value))};return e.watch(r,(p,d={})=>{Object.keys(p).forEach(f=>{P(p[f],d[f])||y(f,p[f],d)}),Object.keys(d).forEach(f=>{!(f in p)&&f in a.value&&delete a.value[f]})},{immediate:!0,deep:!0}),{formData:r,computedData:a}}function te(o){const r=e.ref(0),a=e.ref({}),t=e.ref({}),n=e.ref({});function s(V){const l={};return Object.entries(V.schema).forEach(([h,B])=>{l[h]=B.value}),l}o.steps.forEach(V=>{a.value[V.id]=s(V),t.value[V.id]={},n.value[V.id]=[]});const c=e.computed(()=>o.steps[r.value]),i=e.computed(()=>r.value===0),y=e.computed(()=>r.value===o.steps.length-1),p=e.computed(()=>!y.value),d=e.computed(()=>!i.value),f=e.computed(()=>o.steps.length),u=e.computed(()=>f.value===0?0:Math.round((r.value+1)/f.value*100)),m=e.computed(()=>{const V={};return Object.values(a.value).forEach(l=>{Object.assign(V,l)}),V}),C=e.computed(()=>{const V={};return Object.values(t.value).forEach(l=>{Object.assign(V,l)}),V});function S(V,l){a.value[V]={...a.value[V],...l}}function w(V,l){t.value[V]={...t.value[V],...l}}function _(V){const l=o.steps.find(h=>h.id===V);l&&(a.value[V]=s(l),t.value[V]={})}async function b(){const V=c.value;if(!V)return!0;const l=[];if(V.validation){const h=await V.validation(a.value[V.id],t.value[V.id]);h&&l.push(...h)}return n.value[V.id]=l,l.length===0}async function N(V){return V<0||V>=o.steps.length||V>r.value&&!await b()?!1:(r.value=V,!0)}async function F(){return p.value?N(r.value+1):!1}async function M(){return d.value?N(r.value-1):!1}function R(){r.value=0,n.value={},o.steps.forEach(V=>{_(V.id),n.value[V.id]=[]})}async function I(){let V=!0;for(const l of o.steps)if(l.validation){const h=await l.validation(a.value[l.id],t.value[l.id]);n.value[l.id]=h||[],h&&h.length>0&&(V=!1)}return V}function O(){return{steps:{...a.value},computedSteps:{...t.value},allFormData:m.value,allComputedData:C.value}}return{currentStepIndex:r,currentStep:c,stepData:a,stepComputedData:t,stepValidationErrors:n,isFirstStep:i,isLastStep:y,canGoNext:p,canGoPrevious:d,totalSteps:f,progressPercentage:u,allFormData:m,allComputedData:C,updateStepData:S,updateStepComputedData:w,clearStepData:_,validateCurrentStep:b,goToStep:N,nextStep:F,previousStep:M,resetForm:R,validateAllSteps:I,getMultiStepFormData:O}}const de={class:"step-indicator__container"},pe=["onClick"],fe={class:"step-indicator__step-content"},me={class:"step-indicator__step-marker"},he={class:"step-indicator__step-info"},ge={class:"step-indicator__step-title"},ke={key:0,class:"step-indicator__step-subtitle"},ye={key:0,class:"step-indicator__progress"},Ce={class:"step-indicator__progress-bar"},Ve={class:"step-indicator__progress-text"},Be=e.defineComponent({__name:"StepIndicator",props:{steps:{},activeStepIndex:{},position:{},showProgress:{type:Boolean,default:!0},allowNavigation:{type:Boolean,default:!1}},emits:["step-click"],setup(o,{emit:r}){const a=o,t=r,n=e.computed(()=>a.steps.length===0?0:(a.activeStepIndex+1)/a.steps.length*100);function s(c){a.allowNavigation&&t("step-click",c)}return(c,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${c.position}`,{"step-indicator--clickable":c.allowNavigation}]])},[e.createElementVNode("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.steps,(y,p)=>(e.openBlock(),e.createElementBlock("div",{key:y.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":p===c.activeStepIndex,"step-indicator__step--completed":p<c.activeStepIndex,"step-indicator__step--clickable":c.allowNavigation}]),onClick:d=>s(p)},[e.createElementVNode("div",fe,[e.createElementVNode("div",me,[e.createElementVNode("span",null,e.toDisplayString(p+1),1)]),e.createElementVNode("div",he,[e.createElementVNode("div",ge,e.toDisplayString(y.title),1),y.subtitle?(e.openBlock(),e.createElementBlock("div",ke,e.toDisplayString(y.subtitle),1)):e.createCommentVNode("",!0)])]),p<c.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":p<c.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,pe))),128))]),c.showProgress&&(c.position==="top"||c.position==="bottom")?(e.openBlock(),e.createElementBlock("div",ye,[e.createElementVNode("div",Ce,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${n.value}%`})},null,4)]),e.createElementVNode("div",Ve," Step "+e.toDisplayString(c.activeStepIndex+1)+" of "+e.toDisplayString(c.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),G=(o,r)=>{const a=o.__vccOpts||o;for(const[t,n]of r)a[t]=n;return a},H=G(Be,[["__scopeId","data-v-aca1a6d0"]]),we={class:"v-form-container"},Se={key:0,class:"multi-step-form"},_e={class:"multi-step-form-content"},be={class:"step-nav-buttons"},xe={class:"step-action-buttons"},Ee={class:"step-nav-buttons"},Ne={key:1,class:"step-progress-bottom"},Ie={class:"step-progress-bar"},Oe={class:"step-progress-text"},De=G(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:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","multi-step-submit","step-change","clear","cancel"],setup(o,{expose:r,emit:a}){const t=o,n=a,s=e.computed(()=>!!t.multiStepConfig),c=e.ref(t.schema||{}),i=t.multiStepConfig?te(t.multiStepConfig):null,{dynamicRefs:y,isFormValid:p,resetForm:d}=Z(),{formData:f,computedData:u}=ee(c),m=e.computed(()=>(i==null?void 0:i.currentStepIndex.value)??0),C=e.computed(()=>i==null?void 0:i.currentStep.value),S=e.computed(()=>(i==null?void 0:i.isLastStep.value)??!0),w=e.computed(()=>(i==null?void 0:i.canGoNext.value)??!1),_=e.computed(()=>(i==null?void 0:i.canGoPrevious.value)??!1),b=e.computed(()=>!s.value||!i?0:i.progressPercentage.value);e.watch(()=>C.value,l=>{l&&s.value&&(c.value=l.schema)},{immediate:!0}),e.watch([f,u],([l,h])=>{s.value&&i&&C.value&&(i.updateStepData(C.value.id,l),i.updateStepComputedData(C.value.id,h))},{deep:!0}),e.watch(()=>t.schema,l=>{if(!s.value&&l){c.value=l;for(const[h,B]of Object.entries(l))B.value!==void 0&&(c.value[h].value=B.value)}},{deep:!0,immediate:!0});async function N(){if(s.value&&i){if(!await i.validateAllSteps())return;const h=i.getMultiStepFormData();n("multi-step-submit",h)}else{if(!await p())return;n("submit",f.value,u.value)}}function F(){s.value&&i?i.resetForm():d(),n("clear")}function M(){s.value&&i&&C.value&&i.clearStepData(C.value.id)}function R(){s.value&&i?i.resetForm():d(),n("cancel")}async function I(){if(i){if(!await p())return;await i.nextStep()&&C.value&&n("step-change",m.value,C.value.id)}}async function O(){i&&await i.previousStep()&&C.value&&n("step-change",m.value,C.value.id)}async function V(l){if(i){if(l>m.value&&!await p())return;await i.goToStep(l)&&C.value&&n("step-change",l,C.value.id)}}return e.watch(f,async()=>{var l;for(const[h,B]of Object.entries(c.value))if(!v(B,f.value,u.value)){const g=s.value&&C.value?C.value.schema[h]:(l=t.schema)==null?void 0:l[h];g&&(B.value=g.value)}},{deep:!0,immediate:!0}),r({resetForm:F,isFormValid:p,resolveData:()=>s.value&&i?i.getMultiStepFormData():{formData:f.value,computedData:u.value},nextStep:I,previousStep:O,goToStep:V,getCurrentStep:()=>C.value,getCurrentStepIndex:()=>m.value}),(l,h)=>{var B;return e.openBlock(),e.createElementBlock("div",we,[s.value?(e.openBlock(),e.createElementBlock("div",Se,[l.multiStepConfig&&l.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(H,{key:0,steps:l.multiStepConfig.steps,"active-step-index":m.value,position:l.multiStepConfig.stepPosition||"top","show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V},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--${((B=l.multiStepConfig)==null?void 0:B.stepPosition)||"top"}`])},[l.multiStepConfig&&l.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(H,{key:0,steps:l.multiStepConfig.steps,"active-step-index":m.value,position:l.multiStepConfig.stepPosition??"top","show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",_e,[e.createVNode(e.unref(k.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(c.value),g=>{var E,D,A,U,q;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(v)(c.value[g],e.unref(f),e.unref(u))?(e.openBlock(),e.createBlock(e.unref(k.IonCol),{key:g,size:((E=c.value[g].grid)==null?void 0:E.xs)??"12","size-sm":(D=c.value[g].grid)==null?void 0:D.sm,"size-md":(A=c.value[g].grid)==null?void 0:A.md,"size-lg":(U=c.value[g].grid)==null?void 0:U.lg,"size-xl":(q=c.value[g].grid)==null?void 0:q.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value[g].type),{modelValue:c.value[g],"onUpdate:modelValue":Q=>c.value[g]=Q,schema:c.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:y,"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)}),256))]),_:1})]),_:1}),l.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.IonRow),{key:0,class:"multi-step-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonCol),{size:"12",class:"button-container"},{default:e.withCtx(()=>[e.createElementVNode("div",be,[_.value?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:O,fill:"outline"},{default:e.withCtx(()=>h[0]||(h[0]=[e.createTextVNode(" Previous ")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),e.createElementVNode("div",xe,[l.showCancelButton?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:R,fill:"outline"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),l.showClearButton?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:1,onClick:M,fill:"outline"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.customButtons,g=>(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:g.label,onClick:g.action,color:g.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["onClick","color"]))),128))]),e.createElementVNode("div",Ee,[w.value?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:I},{default:e.withCtx(()=>h[1]||(h[1]=[e.createTextVNode(" Next ")])),_:1,__:[1]})):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:1,onClick:N},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.submitButtonText??"Submit"),1)]),_:1})):e.createCommentVNode("",!0)])]),_:1})]),_:1})),l.multiStepConfig&&(l.multiStepConfig.stepPosition==="left"||l.multiStepConfig.stepPosition==="right")&&l.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",Ie,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${b.value}%`})},null,4)]),e.createElementVNode("div",Oe," Step "+e.toDisplayString(m.value+1)+" of "+e.toDisplayString(l.multiStepConfig.steps.length),1)])):e.createCommentVNode("",!0)]),l.multiStepConfig&&l.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(H,{key:1,steps:l.multiStepConfig.steps,"active-step-index":m.value,position:l.multiStepConfig.stepPosition,"show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),l.multiStepConfig&&l.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(H,{key:1,steps:l.multiStepConfig.steps,"active-step-index":m.value,position:l.multiStepConfig.stepPosition,"show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(k.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(c.value),g=>{var E,D,A,U,q;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(v)(c.value[g],e.unref(f),e.unref(u))?(e.openBlock(),e.createBlock(e.unref(k.IonCol),{key:g,size:((E=c.value[g].grid)==null?void 0:E.xs)??"12","size-sm":(D=c.value[g].grid)==null?void 0:D.sm,"size-md":(A=c.value[g].grid)==null?void 0:A.md,"size-lg":(U=c.value[g].grid)==null?void 0:U.lg,"size-xl":(q=c.value[g].grid)==null?void 0:q.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value[g].type),{modelValue:c.value[g],"onUpdate:modelValue":Q=>c.value[g]=Q,schema:c.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:y,"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)}),256))]),_:1}),l.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:l.buttonPlacement}])},{default:e.withCtx(()=>[l.showCancelButton?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:R},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),l.showClearButton?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:1,onClick:F},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.customButtons,g=>(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:g.label,onClick:g.action,color:g.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(k.IonButton),{onClick:N},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),[["__scopeId","data-v-3850cccc"]]);function Fe(o){return{applyValidationState:async t=>{var n,s,c,i,y;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(s=o.value)==null||s.$el.classList.remove("ion-valid"),t?(c=o.value)==null||c.$el.classList.add("ion-valid"):(i=o.value)==null||i.$el.classList.add("ion-invalid"),(y=o.value)==null||y.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=o.value)==null||t.$el.classList.remove("ion-touched"),(n=o.value)==null||n.$el.classList.remove("ion-invalid")}}}function z(o,r,a,t,n){const{applyValidationState:s,resetValidationState:c}=Fe(o);async function i(){if(r.value.required&&!a.value)return r.value.error="This field is required",!1;if(n){const u=await n(a.value);if(typeof u=="string")return r.value.error=u,!1;if(u===!1)return!1}if(r.value.validation){const u=await r.value.validation(a.value,t==null?void 0:t.value);if(u&&u.length)return r.value.error=u.join(),!1}return!0}async function y(){const u=await i();u&&(r.value.error="",r.value.value=a.value),await s(u)}function p(){c(),r.value.error=""}function d(u=""){a.value=u,r.value.error="",r.value.value=u}function f(){return r.value.error?[r.value.error]:[]}return{isValid:i,onValueUpdate:y,onFocus:p,onReset:d,getErrors:f,applyValidationState:s,resetValidationState:c}}function Re(o){const r=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:r,showRequired:a,labelText:t}}const J=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const r=o,{showLabel:a,showRequired:t,labelText:n}=Re(e.toRef(r,"model"));return(s,c)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(k.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),L=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),c=e.computed(()=>a.schema),{isValid:i,onValueUpdate:y,onFocus:p,onReset:d,getErrors:f}=z(n,t,s,c),u=e.computed(()=>{if(t.value.pattern)return ie(t.value.pattern)});return e.watch(()=>t.value.value,m=>s.value=m),r({onValueUpdate:y,onReset:d,getErrors:f,isValid:i}),(m,C)=>{var w;const S=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(k.IonInput),{ref_key:"inputRef",ref:n,modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=_=>s.value=_),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:m.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((w=u.value)==null?void 0:w.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,onIonFocus:e.unref(p),onIonChange:e.unref(y),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(k.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(k.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),m.type==="password"?(e.openBlock(),e.createBlock(e.unref(k.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[S,u.value]])}}}),Te=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,s;return((s=(n=t.value)==null?void 0:n.getErrors)==null?void 0:s.call(n))??[]}}),(n,s)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=c=>a.value=c),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Me=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},getErrors:()=>{var n,s;return((s=(n=t.value)==null?void 0:n.getErrors)==null?void 0:s.call(n))??[]}}),(n,s)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=c=>a.value=c),type:a.value.enableTime?"datetime-local":"date",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),Ae=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,s;return((s=(n=t.value)==null?void 0:n.getErrors)==null?void 0:s.call(n))??[]}}),(n,s)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=c=>a.value=c),type:"number",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ze=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,s;return((s=(n=t.value)==null?void 0:n.getErrors)==null?void 0:s.call(n))??[]}}),(n,s)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=c=>a.value=c),type:"email",schema:n.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(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,s;return((s=(n=t.value)==null?void 0:n.getErrors)==null?void 0:s.call(n))??[]}}),(n,s)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=c=>a.value=c),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Le=G(e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),s=e.ref(null),c=e.ref(!1),i=e.ref([]),y=e.ref(""),p=e.ref(1),d=e.computed(()=>t.value.interface??"popover"),f=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),u=e.computed(()=>i.value.filter(l=>!!l.isChecked)),m=e.computed(()=>!y.value&&K(u.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([y,()=>t.value.options],O,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,V,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!a.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(h=>{var B;return(B=a.schema[h])==null?void 0:B.value}),async(l,h)=>{l&&h&&!P(l,h)&&(C(),i.value=[],await O())},{deep:!0});function C(){t.value.error="",y.value="",p.value=1,t.value.value=t.value.multiple?[]:"",ce(i.value)}function S(l){if(l.isChecked)return Y(l,i.value);t.value.multiple?T(l,i.value):(C(),T(l,i.value),I()),y.value=""}function w(){switch(d.value){case"action-sheet":_();break;case"alert":b();break;case"popover":default:c.value=!0;break}}async function _(){if(await O(),t.value.multiple){c.value=!0;return}await(await k.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...i.value.map(h=>({text:h.label,cssClass:h.isChecked?"selected-option":"",handler:()=>(S(h),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function b(){await O();const l=i.value.map(B=>({label:B.label,type:t.value.multiple?"checkbox":"radio",value:B,checked:B.isChecked}));await(await k.alertController.create({header:t.value.label||"Select an option",inputs:l,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:B=>{if(t.value.multiple)i.value.forEach(g=>Y(g,i.value)),B.forEach(g=>{const E=i.value.find(D=>D.value===g.value);E&&T(E,i.value)});else{C();const g=i.value.find(E=>E.value===B.value);g&&T(g,i.value)}I()}}]})).present()}async function N(){if(t.value.required&&K(u.value))return"This field is required";if(t.value.validation){const l=await t.value.validation(u.value,a==null?void 0:a.schema);if(l&&l.length)return l.join()}return!0}const{onFocus:F,applyValidationState:M}=z(n,t,e.computed(()=>t.value.multiple?u.value:u.value[0]),e.computed(()=>a==null?void 0:a.schema),N);function R(l){var h;l.target===((h=n.value)==null?void 0:h.$el)&&(F(),d.value==="popover"&&(c.value=!0))}async function I(l){var B;if((B=l==null?void 0:l.relatedTarget)!=null&&B.closest(".suggestions-list"))return;c.value=!1;const h=await N();h===!0?(t.value.error="",t.value.value=t.value.multiple?u.value:u.value[0]):t.value.error=typeof h=="string"?h:"Validation failed",await M(h===!0)}async function O(){const l=[];if(typeof t.value.options=="function"){let h={};t.value.dependsOn&&a.schema&&(h=(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).reduce((E,D)=>{var A;return E[D]=(A=a.schema[D])==null?void 0:A.value,E},{}));const B=await t.value.options(y.value,h);l.push(...B.filter(g=>!!g.label))}else Array.isArray(t.value.options)&&l.push(...ue(t.value.options,y.value));u.value.forEach(h=>T(h,l)),i.value=l}function V(){const l=t.value.value;l&&(Array.isArray(l)?l.forEach(h=>T(h,i.value)):T(typeof l=="object"?l:{value:l,label:l},i.value))}return e.onMounted(()=>{O()}),r({onValueUpdate:I,onReset:C,getErrors:()=>t.value.error?[t.value.error]:[]}),(l,h)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:I,ref_key:"containerRef",ref:s},[e.createVNode(e.unref(k.IonInput),{ref_key:"inputRef",ref:n,modelValue:y.value,"onUpdate:modelValue":h[0]||(h[0]=B=>y.value=B),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:o.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:m.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:R,debounce:300,onClick:w},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(B,g)=>(e.openBlock(),e.createBlock(e.unref(k.IonChip),{key:g},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var B;return[e.createTextVNode(e.toDisplayString(((B=u.value[0])==null?void 0:B.label)??""),1)]}),_:1})),e.createVNode(e.unref(k.IonIcon),{slot:"end",icon:e.unref(j.chevronDown)},null,8,["icon"]),u.value.length>0||y.value?(e.openBlock(),e.createBlock(e.unref(k.IonIcon),{key:2,slot:"end",icon:e.unref(j.close),onClick:C,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&i.value.length>0&&d.value==="popover"?(e.openBlock(),e.createBlock(e.unref(k.IonList),{key:0,class:e.normalizeClass(["suggestions-list",f.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>(e.openBlock(),e.createBlock(e.unref(k.IonItem),{button:"",key:B.label,onClick:g=>S(B)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(k.IonCheckbox),{key:0,slot:"start",checked:B.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(k.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),[["__scopeId","data-v-4766dec2"]]),Ue=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),c=e.computed(()=>a.schema),{onValueUpdate:i,onFocus:y,onReset:p,getErrors:d}=z(n,t,s,c);return e.watch(()=>t.value.value,f=>s.value=f),r({onReset:p,onValueUpdate:i,getErrors:d}),(f,u)=>(e.openBlock(),e.createBlock(e.unref(k.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),"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(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value},null,8,["model"])]),_:1},8,["modelValue","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),qe={class:"ion-margin-end",style:{"flex-grow":"1"}},je={style:{display:"flex","justify-content":"flex-end"}},ve=G(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:s,getFormErrors:c,updateFormValues:i}=Z(),y=e.computed(()=>t.value.map((C,S)=>({label:`Set ${S+1}`,value:S,other:Object.entries(C).reduce((w,[_,b])=>(w[_]=b.value,w),{})})));e.watch(y,C=>{a.value.value=C},{deep:!0,immediate:!0}),e.onMounted(p);function p(){a.value.children&&t.value.push(W(a.value.children))}function d(C){t.value.splice(C,1)}function f(){s()}function u(){return c()}async function m(){await i()}return r({onValueUpdate:m,onReset:f,getErrors:u}),(C,S)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(w,_)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:_},[e.createElementVNode("div",qe,[e.createVNode(e.unref(k.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(w),b=>{var N,F,M,R,I;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(v)(w[b],C.data,C.computedData)?(e.openBlock(),e.createBlock(e.unref(k.IonCol),{key:`${_}-${b}`,size:((N=w[b].grid)==null?void 0:N.xs)??"12","size-sm":(F=w[b].grid)==null?void 0:F.sm,"size-md":(M=w[b].grid)==null?void 0:M.md,"size-lg":(R=w[b].grid)==null?void 0:R.lg,"size-xl":(I=w[b].grid)==null?void 0:I.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w[b].type),{modelValue:w[b],"onUpdate:modelValue":O=>w[b]=O,schema:w,"ref-key":`${_}-${b}`,ref_for:!0,ref_key:"dynamicRefs",ref:n},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)]),e.createElementVNode("div",je,[_===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:p,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonIcon),{slot:"icon-only",icon:e.unref(j.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:1,onClick:b=>d(_),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonIcon),{slot:"icon-only",icon:e.unref(j.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-060bdf58"]]),Ge=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),c=e.computed(()=>a.schema),i=e.computed(()=>$(t.value)),{onValueUpdate:y,onFocus:p,getErrors:d}=z(n,t,s,c);function f(){s.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,u=>s.value=u),r({onValueUpdate:y,onReset:f,getErrors:d}),(u,m)=>(e.openBlock(),e.createBlock(e.unref(k.IonCheckbox),{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=C=>s.value=C),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(p),onIonChange:e.unref(y),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),He=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),c=e.computed(()=>a.schema),i=e.ref([]),y=e.computed(()=>$(t.value)),{onValueUpdate:p,onFocus:d,getErrors:f}=z(n,t,s,c);function u(){t.value.error="",s.value=void 0,t.value.value=void 0}function m(S,w){return S.value===w.value}async function C(){typeof t.value.options=="function"?i.value=await t.value.options():i.value=t.value.options}return e.watch(()=>t.value.value,S=>s.value=S),r({onValueUpdate:p,onReset:u,getErrors:f}),e.onMounted(C),(S,w)=>(e.openBlock(),e.createBlock(e.unref(k.IonRadioGroup),{modelValue:s.value,"onUpdate:modelValue":w[0]||(w[0]=_=>s.value=_),ref_key:"inputRef",ref:n,required:t.value.required,"helper-text":y.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:m,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(d),onIonChange:e.unref(p),onIonBlur:e.unref(p)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,_=>(e.openBlock(),e.createBlock(e.unref(k.IonRadio),{key:_.value,value:_,disabled:t.value.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","required","helper-text","error-text","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"]))}});function Ke(o,r,a){const t=e.ref({}),n=e.ref({});function s(d,f,u){n.value[d]=u,f.forEach(m=>{var C;(C=t.value)[m]??(C[m]=[]),t.value[m].includes(d)||t.value[m].push(d)}),p(d)}function c(d){return Object.entries(t.value).filter(([,u])=>u.includes(d)).map(([u])=>u).reduce((u,m)=>(u[m]=r.value[m]??a.value[m],u),{})}function i(d,f){return d?Array.isArray(d)?d.some(u=>f.some(m=>y(u,m.value))):f.some(u=>y(d,u.value)):!1}function y(d,f){return typeof d=="object"&&d!==null?d.value===f:String(d)===String(f)}async function p(d,f){if(!n.value[d])return;const u=c(d),m=Object.keys(u);if(!(m.length===0||!m.every(S=>u[S]!==void 0&&u[S]!==null)))try{const S=n.value[d],w=await S(f,u);if(!o.value[d])return;o.value[d].options=w;const _=o.value[d].value;if(!_)return;i(_,w)||(o.value[d].value=o.value[d].multiple?[]:"")}catch(S){console.error(`Error loading options for ${d}:`,S)}}return e.watch([r,a],()=>{Object.entries(t.value).forEach(([d,f])=>{(r.value[d]!==void 0||a.value[d]!==void 0)&&f.forEach(u=>{p(u)})})},{deep:!0,immediate:!0}),{registerDependency:s,updateOptions:p}}const oe={install(o){o.component("VForm",De),o.component("TextInput",Te),o.component("DateInput",Me),o.component("NumberInput",Ae),o.component("EmailInput",ze),o.component("PasswordInput",Pe),o.component("SelectInput",Le),o.component("TextAreaInput",Ue),o.component("RepeatInput",ve),o.component("CheckboxInput",Ge),o.component("RadioInput",He),o.directive("maskito",ne.maskito)}};x.VForm=oe,x.default=oe,x.useDataTransformation=ee,x.useDependentOptions=Ke,x.useFormValidation=Z,x.useInputValidation=z,x.useMultiStepForm=te,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(E,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("ionicons/icons"),require("@maskito/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","ionicons/icons","@maskito/vue"],e):(E=typeof globalThis<"u"?globalThis:E||self,e(E.VForm={},E.Vue,E.IonicVue,E.IoniconsIcons,E.MaskitoVue))})(this,function(E,e,y,v,oe){"use strict";function ne(o){return new Promise(s=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();s(a)})})}const le={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},ae={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 re(o,s){const a=ae[o];return a[s%a.length]}function se(o){const s=[];let a="",t=0,n=0;for(;t<o.length;){const i=o[t];if(["d","a","*"].includes(i)){let c=1;if(o[t+1]==="{"){const r=o.indexOf("}",t+2);if(r!==-1){const k=o.slice(t+2,r);if(k.includes(",")){const[,p]=k.split(",").map(d=>parseInt(d.trim()));c=p||parseInt(k.split(",")[0])}else c=parseInt(k);t=r}}else{let r=t+1;for(;o[r]===i;)c++,r++;t=r-1}for(let r=0;r<c;r++)s.push(le[i]),a+=re(i,n++)}else s.push(i),a+=i;t++}return{mask:s,placeholder:a,elementPredicate:ne}}function K(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function j(o,s,a){return typeof o.condition=="function"?o.condition(s,a):!0}function W(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>W(a));const s={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?s[a]=t.bind(s):s[a]=W(t)}),s}function Z(o,s){return s.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function T(o,s){const a=Z(o,s);a>=0?s[a].isChecked=!0:s.push({...o,isChecked:!0})}function ie(o,s){const a=Z(o,s);a>=0&&(s[a].isChecked=!1)}function ce(o){o.forEach(s=>{s.isChecked=!1})}function ue(o,s){return s?o.filter(a=>JSON.stringify(a).toLowerCase().includes(s.toLowerCase())):o}function Y(o){const s=o.label||"",a=o.required?" *":"";return s+a}function P(o,s){if(o===s)return!0;if(o==null||s==null||typeof o!=typeof s)return!1;if(typeof o!="object")return o===s;if(Array.isArray(o)&&Array.isArray(s))return o.length!==s.length?!1:o.every((n,i)=>P(n,s[i]));if(Array.isArray(o)!==Array.isArray(s))return!1;const a=Object.keys(o),t=Object.keys(s);return a.length!==t.length?!1:a.every(n=>Object.prototype.hasOwnProperty.call(s,n)&&P(o[n],s[n]))}function J(){const o=e.ref([]);async function s(){console.debug("Validating form inputs");const i=[];for(const c of o.value)if(typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?i.push(...r):console.warn("getErrors() returned non-array value:",r)}catch(r){console.error("Error calling getErrors on component:",r,c)}else console.warn("Component does not have getErrors function:",c);return i.every(K)}function a(){o.value.forEach(i=>{typeof(i==null?void 0:i.onReset)=="function"&&i.onReset()})}function t(){const i=[];for(const c of o.value)if(typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?i.push(...r):i.push(String(r))}catch(r){console.error("Error calling getErrors on component:",r,c)}return i}async function n(){for(const i of o.value)typeof(i==null?void 0:i.onValueUpdate)=="function"&&await i.onValueUpdate()}return{dynamicRefs:o,isFormValid:s,resetForm:a,getFormErrors:t,updateFormValues:n}}function $(o){const s=e.computed(()=>Object.entries(o.value).reduce((p,[d,f])=>(f.value!==void 0&&(typeof f.onChange=="function"?p[d]=f.onChange(f.value,o.value):p[d]=f.value),p),{})),a=e.ref({}),t=(p,d,f)=>{var u;return typeof((u=o.value[p].children[d])==null?void 0:u.computedValue)=="function"?o.value[p].children[d].computedValue(f,o.value):f},n=(p,d,f,u)=>{a.value[p][u]||(a.value[p][u]={}),Object.entries(d.other??{}).forEach(([h,C])=>{var w;!P(C,(w=f.other)==null?void 0:w[h])&&(a.value[p][u][h]=t(p,h,C))})},i=(p,d,f)=>{d.forEach((u,h)=>{const C=f[h]??{other:{}};n(p,u,C,h)})},c=(p,{other:d})=>Object.entries(d??{}).reduce((f,[u,h])=>(f[u]=t(p,u,h),f),{}),r=(p,d,f)=>{a.value[p]||(a.value[p]=[]);const u=d;Array.isArray(f[p])?i(p,u,f[p]):a.value[p]=u.map(h=>c(p,h))},k=(p,d,f)=>{if(!d){delete a.value[p];return}const u=o.value[p];u.children!==void 0?r(p,d,f):typeof u.computedValue=="function"&&(a.value[p]=u.computedValue(d,o.value))};return e.watch(s,(p,d={})=>{Object.keys(p).forEach(f=>{P(p[f],d[f])||k(f,p[f],d)}),Object.keys(d).forEach(f=>{!(f in p)&&f in a.value&&delete a.value[f]})},{immediate:!0,deep:!0}),{formData:s,computedData:a}}function ee(o){const s=e.ref(0),a=e.ref({}),t=e.ref({}),n=e.ref({});function i(V){const l={};return Object.entries(V.schema).forEach(([m,B])=>{l[m]=B.value}),l}o.steps.forEach(V=>{a.value[V.id]=i(V),t.value[V.id]={},n.value[V.id]=[]});const c=e.computed(()=>o.steps[s.value]),r=e.computed(()=>s.value===0),k=e.computed(()=>s.value===o.steps.length-1),p=e.computed(()=>!k.value),d=e.computed(()=>!r.value),f=e.computed(()=>o.steps.length),u=e.computed(()=>f.value===0?0:Math.round((s.value+1)/f.value*100)),h=e.computed(()=>{const V={};return Object.values(a.value).forEach(l=>{Object.assign(V,l)}),V}),C=e.computed(()=>{const V={};return Object.values(t.value).forEach(l=>{Object.assign(V,l)}),V});function S(V,l){a.value[V]={...a.value[V],...l}}function w(V,l){t.value[V]={...t.value[V],...l}}function _(V){const l=o.steps.find(m=>m.id===V);l&&(a.value[V]=i(l),t.value[V]={})}async function b(){const V=c.value;if(!V)return!0;const l=[];if(V.validation){const m=await V.validation(a.value[V.id],t.value[V.id]);m&&l.push(...m)}return n.value[V.id]=l,l.length===0}async function D(V){return V<0||V>=o.steps.length||V>s.value&&!await b()?!1:(s.value=V,!0)}async function F(){return p.value?D(s.value+1):!1}async function A(){return d.value?D(s.value-1):!1}function R(){s.value=0,n.value={},o.steps.forEach(V=>{_(V.id),n.value[V.id]=[]})}async function I(){let V=!0;for(const l of o.steps)if(l.validation){const m=await l.validation(a.value[l.id],t.value[l.id]);n.value[l.id]=m||[],m&&m.length>0&&(V=!1)}return V}function O(){return{steps:{...a.value},computedSteps:{...t.value},allFormData:h.value,allComputedData:C.value}}return{currentStepIndex:s,currentStep:c,stepData:a,stepComputedData:t,stepValidationErrors:n,isFirstStep:r,isLastStep:k,canGoNext:p,canGoPrevious:d,totalSteps:f,progressPercentage:u,allFormData:h,allComputedData:C,updateStepData:S,updateStepComputedData:w,clearStepData:_,validateCurrentStep:b,goToStep:D,nextStep:F,previousStep:A,resetForm:R,validateAllSteps:I,getMultiStepFormData:O}}const de={class:"step-indicator__container"},pe=["onClick"],fe={class:"step-indicator__step-content"},me={class:"step-indicator__step-marker"},he={class:"step-indicator__step-info"},ge={class:"step-indicator__step-title"},ke={key:0,class:"step-indicator__step-subtitle"},ye={key:0,class:"step-indicator__progress"},Ce={class:"step-indicator__progress-bar"},Ve={class:"step-indicator__progress-text"},Be=e.defineComponent({__name:"StepIndicator",props:{steps:{},activeStepIndex:{},position:{},showProgress:{type:Boolean,default:!0},allowNavigation:{type:Boolean,default:!1}},emits:["step-click"],setup(o,{emit:s}){const a=o,t=s,n=e.computed(()=>a.steps.length===0?0:(a.activeStepIndex+1)/a.steps.length*100);function i(c){a.allowNavigation&&t("step-click",c)}return(c,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${c.position}`,{"step-indicator--clickable":c.allowNavigation}]])},[e.createElementVNode("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.steps,(k,p)=>(e.openBlock(),e.createElementBlock("div",{key:k.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":p===c.activeStepIndex,"step-indicator__step--completed":p<c.activeStepIndex,"step-indicator__step--clickable":c.allowNavigation}]),onClick:d=>i(p)},[e.createElementVNode("div",fe,[e.createElementVNode("div",me,[e.createElementVNode("span",null,e.toDisplayString(p+1),1)]),e.createElementVNode("div",he,[e.createElementVNode("div",ge,e.toDisplayString(k.title),1),k.subtitle?(e.openBlock(),e.createElementBlock("div",ke,e.toDisplayString(k.subtitle),1)):e.createCommentVNode("",!0)])]),p<c.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":p<c.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,pe))),128))]),c.showProgress&&(c.position==="top"||c.position==="bottom")?(e.openBlock(),e.createElementBlock("div",ye,[e.createElementVNode("div",Ce,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${n.value}%`})},null,4)]),e.createElementVNode("div",Ve," Step "+e.toDisplayString(c.activeStepIndex+1)+" of "+e.toDisplayString(c.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),G=(o,s)=>{const a=o.__vccOpts||o;for(const[t,n]of s)a[t]=n;return a},H=G(Be,[["__scopeId","data-v-aca1a6d0"]]),we={class:"v-form-container"},Se={key:0,class:"multi-step-form"},_e={class:"multi-step-form-content"},be={class:"step-nav-buttons"},xe={class:"step-action-buttons"},Ee={class:"step-nav-buttons"},Ne={key:1,class:"step-progress-bottom"},Ie={class:"step-progress-bar"},Oe={class:"step-progress-text"},De=G(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:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","multi-step-submit","step-change","clear","cancel"],setup(o,{expose:s,emit:a}){const t=o,n=a,i=e.computed(()=>!!t.multiStepConfig),c=e.ref(t.schema||{}),r=t.multiStepConfig?ee(t.multiStepConfig):null,{dynamicRefs:k,isFormValid:p,resetForm:d}=J(),{formData:f,computedData:u}=$(c),h=e.computed(()=>(r==null?void 0:r.currentStepIndex.value)??0),C=e.computed(()=>r==null?void 0:r.currentStep.value),S=e.computed(()=>(r==null?void 0:r.isLastStep.value)??!0),w=e.computed(()=>(r==null?void 0:r.canGoNext.value)??!1),_=e.computed(()=>(r==null?void 0:r.canGoPrevious.value)??!1),b=e.computed(()=>!i.value||!r?0:r.progressPercentage.value);e.watch(()=>C.value,l=>{l&&i.value&&(c.value=l.schema)},{immediate:!0}),e.watch([f,u],([l,m])=>{i.value&&r&&C.value&&(r.updateStepData(C.value.id,l),r.updateStepComputedData(C.value.id,m))},{deep:!0}),e.watch(()=>t.schema,l=>{if(!i.value&&l){c.value=l;for(const[m,B]of Object.entries(l))B.value!==void 0&&(c.value[m].value=B.value)}},{deep:!0,immediate:!0});async function D(){if(i.value&&r){if(!await r.validateAllSteps())return;const m=r.getMultiStepFormData();n("multi-step-submit",m)}else{if(!await p())return;n("submit",f.value,u.value)}}function F(){i.value&&r?r.resetForm():d(),n("clear")}function A(){i.value&&r&&C.value&&r.clearStepData(C.value.id)}function R(){i.value&&r?r.resetForm():d(),n("cancel")}async function I(){if(r){if(!await p())return;await r.nextStep()&&C.value&&n("step-change",h.value,C.value.id)}}async function O(){r&&await r.previousStep()&&C.value&&n("step-change",h.value,C.value.id)}async function V(l){if(r){if(l>h.value&&!await p())return;await r.goToStep(l)&&C.value&&n("step-change",l,C.value.id)}}return e.watch(f,async()=>{var l;for(const[m,B]of Object.entries(c.value))if(!j(B,f.value,u.value)){const g=i.value&&C.value?C.value.schema[m]:(l=t.schema)==null?void 0:l[m];g&&(B.value=g.value)}},{deep:!0,immediate:!0}),s({resetForm:F,isFormValid:p,resolveData:()=>i.value&&r?r.getMultiStepFormData():{formData:f.value,computedData:u.value},nextStep:I,previousStep:O,goToStep:V,getCurrentStep:()=>C.value,getCurrentStepIndex:()=>h.value}),(l,m)=>{var B;return e.openBlock(),e.createElementBlock("div",we,[i.value?(e.openBlock(),e.createElementBlock("div",Se,[l.multiStepConfig&&l.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(H,{key:0,steps:l.multiStepConfig.steps,"active-step-index":h.value,position:l.multiStepConfig.stepPosition||"top","show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V},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--${((B=l.multiStepConfig)==null?void 0:B.stepPosition)||"top"}`])},[l.multiStepConfig&&l.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(H,{key:0,steps:l.multiStepConfig.steps,"active-step-index":h.value,position:l.multiStepConfig.stepPosition??"top","show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",_e,[e.createVNode(e.unref(y.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(c.value),g=>{var x,N,M,U,q;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(c.value[g],e.unref(f),e.unref(u))?(e.openBlock(),e.createBlock(e.unref(y.IonCol),{key:g,size:((x=c.value[g].grid)==null?void 0:x.xs)??"12","size-sm":(N=c.value[g].grid)==null?void 0:N.sm,"size-md":(M=c.value[g].grid)==null?void 0:M.md,"size-lg":(U=c.value[g].grid)==null?void 0:U.lg,"size-xl":(q=c.value[g].grid)==null?void 0:q.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value[g].type),{modelValue:c.value[g],"onUpdate:modelValue":X=>c.value[g]=X,schema:c.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:k,"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)}),256))]),_:1})]),_:1}),l.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.IonRow),{key:0,class:"multi-step-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonCol),{size:"12",class:"button-container"},{default:e.withCtx(()=>[e.createElementVNode("div",be,[_.value?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:0,onClick:O,fill:"outline"},{default:e.withCtx(()=>m[0]||(m[0]=[e.createTextVNode(" Previous ")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),e.createElementVNode("div",xe,[l.showCancelButton?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:0,onClick:R,fill:"outline"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),l.showClearButton?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:1,onClick:A,fill:"outline"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.customButtons,g=>(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:g.label,onClick:g.action,color:g.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["onClick","color"]))),128))]),e.createElementVNode("div",Ee,[w.value?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:0,onClick:I},{default:e.withCtx(()=>m[1]||(m[1]=[e.createTextVNode(" Next ")])),_:1,__:[1]})):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:1,onClick:D},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.submitButtonText??"Submit"),1)]),_:1})):e.createCommentVNode("",!0)])]),_:1})]),_:1})),l.multiStepConfig&&(l.multiStepConfig.stepPosition==="left"||l.multiStepConfig.stepPosition==="right")&&l.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",Ie,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${b.value}%`})},null,4)]),e.createElementVNode("div",Oe," Step "+e.toDisplayString(h.value+1)+" of "+e.toDisplayString(l.multiStepConfig.steps.length),1)])):e.createCommentVNode("",!0)]),l.multiStepConfig&&l.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(H,{key:1,steps:l.multiStepConfig.steps,"active-step-index":h.value,position:l.multiStepConfig.stepPosition,"show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),l.multiStepConfig&&l.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(H,{key:1,steps:l.multiStepConfig.steps,"active-step-index":h.value,position:l.multiStepConfig.stepPosition,"show-progress":l.multiStepConfig.showProgress,"allow-navigation":l.multiStepConfig.allowStepNavigation,onStepClick:V},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(y.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(c.value),g=>{var x,N,M,U,q;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(c.value[g],e.unref(f),e.unref(u))?(e.openBlock(),e.createBlock(e.unref(y.IonCol),{key:g,size:((x=c.value[g].grid)==null?void 0:x.xs)??"12","size-sm":(N=c.value[g].grid)==null?void 0:N.sm,"size-md":(M=c.value[g].grid)==null?void 0:M.md,"size-lg":(U=c.value[g].grid)==null?void 0:U.lg,"size-xl":(q=c.value[g].grid)==null?void 0:q.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value[g].type),{modelValue:c.value[g],"onUpdate:modelValue":X=>c.value[g]=X,schema:c.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:k,"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)}),256))]),_:1}),l.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:l.buttonPlacement}])},{default:e.withCtx(()=>[l.showCancelButton?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:0,onClick:R},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),l.showClearButton?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:1,onClick:F},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.customButtons,g=>(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:g.label,onClick:g.action,color:g.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(y.IonButton),{onClick:D},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),[["__scopeId","data-v-3850cccc"]]);function Fe(o){return{applyValidationState:async t=>{var n,i,c,r,k;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(i=o.value)==null||i.$el.classList.remove("ion-valid"),t?(c=o.value)==null||c.$el.classList.add("ion-valid"):(r=o.value)==null||r.$el.classList.add("ion-invalid"),(k=o.value)==null||k.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=o.value)==null||t.$el.classList.remove("ion-touched"),(n=o.value)==null||n.$el.classList.remove("ion-invalid")}}}function z(o,s,a,t,n){const{applyValidationState:i,resetValidationState:c}=Fe(o);async function r(){if(s.value.required&&!a.value)return s.value.error="This field is required",!1;if(n){const u=await n(a.value);if(typeof u=="string")return s.value.error=u,!1;if(u===!1)return!1}if(s.value.validation){const u=await s.value.validation(a.value,t==null?void 0:t.value);if(u&&u.length)return s.value.error=u.join(),!1}return!0}async function k(){const u=await r();u&&(s.value.error="",s.value.value=a.value),await i(u)}function p(){c(),s.value.error=""}function d(u=""){a.value=u,s.value.error="",s.value.value=u}function f(){return s.value.error?[s.value.error]:[]}return{isValid:r,onValueUpdate:k,onFocus:p,onReset:d,getErrors:f,applyValidationState:i,resetValidationState:c}}function Re(o){const s=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:s,showRequired:a,labelText:t}}const Q=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const s=o,{showLabel:a,showRequired:t,labelText:n}=Re(e.toRef(s,"model"));return(i,c)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(y.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(y.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),L=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.ref(t.value.value),c=e.computed(()=>a.schema),{isValid:r,onValueUpdate:k,onFocus:p,onReset:d,getErrors:f}=z(n,t,i,c),u=e.computed(()=>{if(t.value.pattern)return se(t.value.pattern)});return e.watch(()=>t.value.value,h=>i.value=h),s({onValueUpdate:k,onReset:d,getErrors:f,isValid:r}),(h,C)=>{var w;const S=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(y.IonInput),{ref_key:"inputRef",ref:n,modelValue:i.value,"onUpdate:modelValue":C[0]||(C[0]=_=>i.value=_),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:h.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((w=u.value)==null?void 0:w.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,onIonFocus:e.unref(p),onIonChange:e.unref(k),onIonBlur:e.unref(k)},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(y.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(y.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),h.type==="password"?(e.openBlock(),e.createBlock(e.unref(y.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[S,u.value]])}}}),Te=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return s({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=c=>a.value=c),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Ae=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return s({onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},getErrors:()=>{var n,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=c=>a.value=c),type:a.value.enableTime?"datetime-local":"date",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),Me=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return s({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=c=>a.value=c),type:"number",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ze=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return s({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=c=>a.value=c),type:"email",schema:n.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(o,{expose:s}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return s({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(L,{modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=c=>a.value=c),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Le=G(e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.ref(null),c=e.ref(!1),r=e.ref([]),k=e.ref(""),p=e.ref(1),d=e.computed(()=>t.value.interface??"popover"),f=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),u=e.computed(()=>r.value.filter(l=>!!l.isChecked)),h=e.computed(()=>!k.value&&K(u.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([k,()=>t.value.options],O,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,V,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!a.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(m=>{var B;return(B=a.schema[m])==null?void 0:B.value}),async(l,m)=>{l&&m&&!P(l,m)&&(C(),r.value=[],await O())},{deep:!0});function C(){t.value.error="",k.value="",p.value=1,t.value.value=t.value.multiple?[]:"",ce(r.value)}function S(l){const m=r.value.findIndex(B=>B.value===l.value&&B.isChecked);if(m>=0){if(Array.isArray(t.value.value)){const B=Z(l,t.value.value);B>=0&&t.value.value.splice(B,1)}r.value[m].isChecked=!1}else t.value.multiple||C(),T(l,r.value);I(),k.value=""}function w(){switch(d.value){case"action-sheet":_();break;case"alert":b();break;case"popover":default:c.value=!0;break}}async function _(){if(await O(),t.value.multiple){c.value=!0;return}await(await y.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(m=>({text:m.label,cssClass:m.isChecked?"selected-option":"",handler:()=>(S(m),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function b(){await O();const l=r.value.map(B=>({label:B.label,type:t.value.multiple?"checkbox":"radio",value:B,checked:B.isChecked}));await(await y.alertController.create({header:t.value.label||"Select an option",inputs:l,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:B=>{if(t.value.multiple)r.value.forEach(g=>ie(g,r.value)),B.forEach(g=>{const x=r.value.find(N=>N.value===g.value);x&&T(x,r.value)});else{C();const g=r.value.find(x=>x.value===B.value);g&&T(g,r.value)}I()}}]})).present()}async function D(){if(t.value.required&&K(u.value))return"This field is required";if(t.value.validation){const l=await t.value.validation(u.value,a==null?void 0:a.schema);if(l&&l.length)return l.join()}return!0}const{onFocus:F,applyValidationState:A}=z(n,t,e.computed(()=>t.value.multiple?u.value:u.value[0]),e.computed(()=>a==null?void 0:a.schema),D);function R(l){var m;l.target===((m=n.value)==null?void 0:m.$el)&&(F(),d.value==="popover"&&(c.value=!0))}async function I(l){var B;if((B=l==null?void 0:l.relatedTarget)!=null&&B.closest(".suggestions-list"))return;c.value=!1;const m=await D();m===!0?(t.value.error="",t.value.value=t.value.multiple?u.value:u.value[0]):t.value.error=typeof m=="string"?m:"Validation failed",await A(m===!0)}async function O(){const l=[];if(typeof t.value.options=="function"){let m={};if(t.value.dependsOn&&a.schema){const B=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let g=!0;if(m=B.reduce((x,N)=>{var M;return x[N]=(M=a.schema[N])==null?void 0:M.value,(x[N]===void 0||x[N]===null||x[N]==="")&&(g=!1),x},{}),g){const x=await t.value.options(k.value,m);l.push(...x.filter(N=>!!N.label))}}else{const B=await t.value.options(k.value,{});l.push(...B.filter(g=>!!g.label))}}else Array.isArray(t.value.options)&&l.push(...ue(t.value.options,k.value));u.value.forEach(m=>T(m,l)),r.value=l}async function V(){const l=t.value.value;if(l){if(r.value.length===0&&await O(),Array.isArray(l))l.forEach(m=>T(m,r.value));else if(typeof l=="object")T(l,r.value);else{const m=r.value.find(B=>B.value===l);T(m||{value:l,label:l},r.value)}I()}}return e.onMounted(async()=>{await O(),await V()}),s({onValueUpdate:I,onReset:C,getErrors:()=>t.value.error?[t.value.error]:[]}),(l,m)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:I,ref_key:"containerRef",ref:i},[e.createVNode(e.unref(y.IonInput),{ref_key:"inputRef",ref:n,modelValue:k.value,"onUpdate:modelValue":m[0]||(m[0]=B=>k.value=B),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:o.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:h.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:R,debounce:300,onClick:w},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(y.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(B,g)=>(e.openBlock(),e.createBlock(e.unref(y.IonChip),{key:g},{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(y.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var B;return[e.createTextVNode(e.toDisplayString(((B=u.value[0])==null?void 0:B.label)??""),1)]}),_:1})),e.createVNode(e.unref(y.IonIcon),{slot:"end",icon:e.unref(v.chevronDown)},null,8,["icon"]),u.value.length>0||k.value?(e.openBlock(),e.createBlock(e.unref(y.IonIcon),{key:2,slot:"end",icon:e.unref(v.close),onClick:C,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&r.value.length>0&&d.value==="popover"?(e.openBlock(),e.createBlock(e.unref(y.IonList),{key:0,class:e.normalizeClass(["suggestions-list",f.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,B=>(e.openBlock(),e.createBlock(e.unref(y.IonItem),{button:"",key:B.label,onClick:g=>S(B)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(y.IonCheckbox),{key:0,slot:"start",checked:B.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(y.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),[["__scopeId","data-v-8d55391c"]]),Ue=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.ref(t.value.value),c=e.computed(()=>a.schema),{onValueUpdate:r,onFocus:k,onReset:p,getErrors:d}=z(n,t,i,c);return e.watch(()=>t.value.value,f=>i.value=f),s({onReset:p,onValueUpdate:r,getErrors:d}),(f,u)=>(e.openBlock(),e.createBlock(e.unref(y.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=h=>i.value=h),"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(k),onIonChange:e.unref(r),onIonBlur:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value},null,8,["model"])]),_:1},8,["modelValue","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),qe={class:"ion-margin-end",style:{"flex-grow":"1"}},ve={style:{display:"flex","justify-content":"flex-end"}},je=G(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:i,getFormErrors:c,updateFormValues:r}=J(),k=e.computed(()=>t.value.map((C,S)=>({label:`Set ${S+1}`,value:S,other:Object.entries(C).reduce((w,[_,b])=>(w[_]=b.value,w),{})})));e.watch(k,C=>{a.value.value=C},{deep:!0,immediate:!0}),e.onMounted(p);function p(){a.value.children&&t.value.push(W(a.value.children))}function d(C){t.value.splice(C,1)}function f(){i()}function u(){return c()}async function h(){await r()}return s({onValueUpdate:h,onReset:f,getErrors:u}),(C,S)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(w,_)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:_},[e.createElementVNode("div",qe,[e.createVNode(e.unref(y.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(w),b=>{var D,F,A,R,I;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(w[b],C.data,C.computedData)?(e.openBlock(),e.createBlock(e.unref(y.IonCol),{key:`${_}-${b}`,size:((D=w[b].grid)==null?void 0:D.xs)??"12","size-sm":(F=w[b].grid)==null?void 0:F.sm,"size-md":(A=w[b].grid)==null?void 0:A.md,"size-lg":(R=w[b].grid)==null?void 0:R.lg,"size-xl":(I=w[b].grid)==null?void 0:I.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w[b].type),{modelValue:w[b],"onUpdate:modelValue":O=>w[b]=O,schema:w,"ref-key":`${_}-${b}`,ref_for:!0,ref_key:"dynamicRefs",ref:n},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)]),e.createElementVNode("div",ve,[_===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:0,onClick:p,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonIcon),{slot:"icon-only",icon:e.unref(v.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(y.IonButton),{key:1,onClick:b=>d(_),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.IonIcon),{slot:"icon-only",icon:e.unref(v.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-060bdf58"]]),Ge=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.ref(t.value.value),c=e.computed(()=>a.schema),r=e.computed(()=>Y(t.value)),{onValueUpdate:k,onFocus:p,getErrors:d}=z(n,t,i,c);function f(){i.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,u=>i.value=u),s({onValueUpdate:k,onReset:f,getErrors:d}),(u,h)=>(e.openBlock(),e.createBlock(e.unref(y.IonCheckbox),{modelValue:i.value,"onUpdate:modelValue":h[0]||(h[0]=C=>i.value=C),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(p),onIonChange:e.unref(k),onIonBlur:e.unref(k)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),He=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:s}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.ref(t.value.value),c=e.computed(()=>a.schema),r=e.ref([]),k=e.computed(()=>Y(t.value)),{onValueUpdate:p,onFocus:d,getErrors:f}=z(n,t,i,c);function u(){t.value.error="",i.value=void 0,t.value.value=void 0}function h(S,w){return S.value===w.value}async function C(){typeof t.value.options=="function"?r.value=await t.value.options():r.value=t.value.options}return e.watch(()=>t.value.value,S=>i.value=S),s({onValueUpdate:p,onReset:u,getErrors:f}),e.onMounted(C),(S,w)=>(e.openBlock(),e.createBlock(e.unref(y.IonRadioGroup),{modelValue:i.value,"onUpdate:modelValue":w[0]||(w[0]=_=>i.value=_),ref_key:"inputRef",ref:n,required:t.value.required,"helper-text":k.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:h,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(d),onIonChange:e.unref(p),onIonBlur:e.unref(p)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createBlock(e.unref(y.IonRadio),{key:_.value,value:_,disabled:t.value.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","required","helper-text","error-text","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"]))}});function Ke(o,s,a){const t=e.ref({}),n=e.ref({});function i(d,f,u){n.value[d]=u,f.forEach(h=>{var C;(C=t.value)[h]??(C[h]=[]),t.value[h].includes(d)||t.value[h].push(d)}),p(d)}function c(d){return Object.entries(t.value).filter(([,u])=>u.includes(d)).map(([u])=>u).reduce((u,h)=>(u[h]=s.value[h]??a.value[h],u),{})}function r(d,f){return d?Array.isArray(d)?d.some(u=>f.some(h=>k(u,h.value))):f.some(u=>k(d,u.value)):!1}function k(d,f){return typeof d=="object"&&d!==null?d.value===f:String(d)===String(f)}async function p(d,f){if(!n.value[d])return;const u=c(d),h=Object.keys(u);if(!(h.length===0||!h.every(S=>u[S]!==void 0&&u[S]!==null)))try{const S=n.value[d],w=await S(f,u);if(!o.value[d])return;o.value[d].options=w;const _=o.value[d].value;if(!_)return;r(_,w)||(o.value[d].value=o.value[d].multiple?[]:"")}catch(S){console.error(`Error loading options for ${d}:`,S)}}return e.watch([s,a],()=>{Object.entries(t.value).forEach(([d,f])=>{(s.value[d]!==void 0||a.value[d]!==void 0)&&f.forEach(u=>{p(u)})})},{deep:!0,immediate:!0}),{registerDependency:i,updateOptions:p}}const te={install(o){o.component("VForm",De),o.component("TextInput",Te),o.component("DateInput",Ae),o.component("NumberInput",Me),o.component("EmailInput",ze),o.component("PasswordInput",Pe),o.component("SelectInput",Le),o.component("TextAreaInput",Ue),o.component("RepeatInput",je),o.component("CheckboxInput",Ge),o.component("RadioInput",He),o.directive("maskito",oe.maskito)}};E.VForm=te,E.default=te,E.useDataTransformation=$,E.useDependentOptions=Ke,E.useFormValidation=J,E.useInputValidation=z,E.useMultiStepForm=ee,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=index.umd.js.map