@uniquedj95/vform 3.7.4 → 3.8.0
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 +1 -1
- package/dist/components/inputs/BaseInput.vue.d.ts +3 -1
- package/dist/components/inputs/BaseInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/DateInput.vue.d.ts +6 -2
- package/dist/components/inputs/DateInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/EmailInput.vue.d.ts +6 -2
- package/dist/components/inputs/EmailInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/NumberInput.vue.d.ts +6 -2
- package/dist/components/inputs/NumberInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/PasswordInput.vue.d.ts +6 -2
- package/dist/components/inputs/PasswordInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/TextInput.vue.d.ts +6 -2
- package/dist/components/inputs/TextInput.vue.d.ts.map +1 -1
- package/dist/composables/useDataTransformation.d.ts.map +1 -1
- package/dist/composables/useFormFieldValue.d.ts +58 -0
- package/dist/composables/useFormFieldValue.d.ts.map +1 -0
- package/dist/composables/useMultiStepForm.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +997 -910
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +10 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +9 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/vform.css +1 -1
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(I,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):(I=typeof globalThis<"u"?globalThis:I||self,e(I.VForm={},I.Vue,I.IonicVue,I.IoniconsIcons,I.MaskitoVue))})(this,function(I,e,b,W,be){"use strict";function Be(l){return new Promise(a=>{requestAnimationFrame(async()=>{const o=await l.getInputElement();a(o)})})}const we={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},Se={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 _e(l,a){const o=Se[l];return o[a%o.length]}function xe(l){const a=[];let o="",t=0,n=0;for(;t<l.length;){const r=l[t];if(["d","a","*"].includes(r)){let i=1;if(l[t+1]==="{"){const s=l.indexOf("}",t+2);if(s!==-1){const y=l.slice(t+2,s);if(y.includes(",")){const[,f]=y.split(",").map(u=>parseInt(u.trim()));i=f||parseInt(y.split(",")[0])}else i=parseInt(y);t=s}}else{let s=t+1;for(;l[s]===r;)i++,s++;t=s-1}for(let s=0;s<i;s++)a.push(we[r]),o+=_e(r,n++)}else a.push(r),o+=r;t++}return{mask:a,placeholder:o,elementPredicate:Be}}function X(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function Y(l,a,o){return l.disabled||l.hidden||typeof l.condition=="function"&&!l.condition(a,o)}function Ne(l,a,o,t){l.forEach(n=>{var r;if(typeof(n==null?void 0:n.onReset)=="function"&&((r=n==null?void 0:n.$attrs)!=null&&r["ref-key"])){const i=n.$attrs["ref-key"];if(i&&a[i]){const s=a[i];if(Y(s,o,t))return}n.onReset()}})}function Ee(l,a,o,t){l.forEach(n=>{var r;if(typeof(n==null?void 0:n.onReset)=="function"&&((r=n==null?void 0:n.$attrs)!=null&&r["ref-key"])){const i=n.$attrs["ref-key"],s=t(i);if(s&&Y(s,a,o))return;n.onReset()}})}function Z(l,a,o){return typeof l.condition=="function"?l.condition(a,o):!0}function ee(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(o=>ee(o));const a={};return Object.entries(l).forEach(([o,t])=>{typeof t=="function"?a[o]=t.bind(a):a[o]=ee(t)}),a}function te(l,a){return a.findIndex(o=>o.value===l.value||o.label===l.label||o.value===l.label||o.label===l.value)}function L(l,a){const o=te(l,a);o>=0?a[o].isChecked=!0:a.push({...l,isChecked:!0})}function Ie(l,a){const o=te(l,a);o>=0&&(a[o].isChecked=!1)}function ze(l){l.forEach(a=>{a.isChecked=!1})}function oe(l,a){if(!l.description)return!1;const o=l.description.show??"always";return o==="always"?!0:o==="onSelected"?!!a:!1}function Oe(l,a){return a?l.filter(o=>JSON.stringify(o).toLowerCase().includes(a.toLowerCase())):l}function Fe(l){const a=l.label||"",o=l.required?" *":"";return a+o}function $(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((n,r)=>$(n,a[r]));if(Array.isArray(l)!==Array.isArray(a))return!1;const o=Object.keys(l),t=Object.keys(a);return o.length!==t.length?!1:o.every(n=>Object.hasOwn(a,n)&&$(l[n],a[n]))}function A(l){return l.type!=="FormSection"}function le(){const l=e.ref([]);async function a(){console.debug("Validating form inputs");const n=[];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 i=r.getErrors();Array.isArray(i)?n.push(...i):console.warn("getErrors() returned non-array value:",i)}catch(i){console.error("Error calling getErrors on component:",i,r)}else console.warn("Component does not have getErrors function:",r);return n.every(X)}function o(){const n=[];for(const r of l.value)if(typeof(r==null?void 0:r.getErrors)=="function")try{const i=r.getErrors();Array.isArray(i)?n.push(...i):n.push(String(i))}catch(i){console.error("Error calling getErrors on component:",i,r)}return n}async function t(){for(const n of l.value)typeof(n==null?void 0:n.onValueUpdate)=="function"&&await n.onValueUpdate()}return{dynamicRefs:l,isFormValid:a,getFormErrors:o,updateFormValues:t}}function ae(l){const a=e.computed(()=>Object.entries(l.value).reduce((f,[u,m])=>(A(m)&&m.value!==void 0&&(f[u]=m.value),f),{})),o=e.ref({}),t=(f,u,m)=>{const p=l.value[f];if(A(p)&&p.children){const d=p.children[u];if(d&&A(d)&&typeof d.computedValue=="function")return d.computedValue(m,l.value)}return m},n=(f,u,m,p)=>{o.value[f][p]||(o.value[f][p]={}),Object.entries(u.other??{}).forEach(([d,h])=>{var B;!$(h,(B=m.other)==null?void 0:B[d])&&(o.value[f][p][d]=t(f,d,h))})},r=(f,u,m)=>{u.forEach((p,d)=>{const h=m[d]??{other:{}};n(f,p,h,d)})},i=(f,{other:u})=>Object.entries(u??{}).reduce((m,[p,d])=>(m[p]=t(f,p,d),m),{}),s=(f,u,m)=>{o.value[f]||(o.value[f]=[]);const p=u;Array.isArray(m[f])?r(f,p,m[f]):o.value[f]=p.map(d=>i(f,d))},y=(f,u,m)=>{if(!u){delete o.value[f];return}const p=l.value[f];A(p)&&(typeof p.onChange=="function"&&p.onChange(u,l.value),p.children!==void 0?s(f,u,m):typeof p.computedValue=="function"&&(o.value[f]=p.computedValue(u,l.value)))};return e.watch(a,(f,u={})=>{Object.keys(f).forEach(m=>{$(f[m],u[m])||y(m,f[m],u)}),Object.keys(u).forEach(m=>{!(m in f)&&m in o.value&&delete o.value[m]})},{immediate:!0,deep:!0}),{formData:a,computedData:o}}function re(l){const a=e.ref(0),o=e.ref({}),t=e.ref({}),n=e.ref({});function r(V,E){const g=l.steps.find(S=>S.id===V);if(!(g!=null&&g.schema))return{};const c={},k=Object.values(o.value).reduce((S,C)=>({...S,...C}),{}),x=Object.values(t.value).reduce((S,C)=>({...S,...C}),{});for(const[S,C]of Object.entries(g.schema))A(C)&&(Y(C,k,x)?E&&S in E?c[S]=E[S]:C.value!==void 0&&(c[S]=C.value):c[S]=C.value);return c}l.steps.forEach(V=>{o.value[V.id]=r(V.id),t.value[V.id]={},n.value[V.id]=[]});const i=e.ref(l.steps.map(V=>V.id)),s=e.computed(()=>l.steps.filter(E=>E.condition?E.condition(o.value,t.value):!0));e.watch(s,V=>{const E=V.map(c=>c.id);i.value.filter(c=>!E.includes(c)).forEach(c=>{_(c)}),i.value=E});const y=e.computed(()=>s.value.length>0?a.value>=s.value.length?s.value[s.value.length-1]:s.value[a.value]:l.steps[a.value]),f=e.computed(()=>a.value===0),u=e.computed(()=>a.value===s.value.length-1),m=e.computed(()=>!u.value),p=e.computed(()=>!f.value),d=e.computed(()=>s.value.length),h=e.computed(()=>d.value===0?0:Math.round((a.value+1)/d.value*100));function N(V,E){o.value[V]={...o.value[V],...E}}function B(V,E){t.value[V]={...t.value[V],...E}}function _(V){if(l.steps.find(g=>g.id===V)){const g=o.value[V]||{};o.value[V]=r(V,g),t.value[V]={}}}async function w(){const V=y.value;if(!V)return!0;const E=[];if(V.validation){const g=await V.validation(o.value[V.id],t.value[V.id]);g&&E.push(...g)}return n.value[V.id]=E,E.length===0}async function F(V){return V<0||V>=s.value.length||V>a.value&&!await w()?!1:(a.value=V,!0)}async function O(){return m.value?F(a.value+1):!1}async function M(){return p.value?F(a.value-1):!1}function v(){a.value=0,n.value={},l.steps.forEach(V=>{_(V.id),n.value[V.id]=[]})}async function R(){let V=!0;for(const E of l.steps)if(E.validation){const g=await E.validation(o.value[E.id],t.value[E.id]);n.value[E.id]=g||[],g&&g.length>0&&(V=!1)}return V}function D(){return{formData:{...o.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:y,stepData:o,stepComputedData:t,stepValidationErrors:n,visibleSteps:s,isFirstStep:f,isLastStep:u,canGoNext:m,canGoPrevious:p,totalSteps:d,progressPercentage:h,updateStepData:N,updateStepComputedData:B,clearStepData:_,validateCurrentStep:w,goToStep:F,nextStep:O,previousStep:M,resetForm:v,validateAllSteps:R,getMultiStepFormData:D}}const De={class:"step-indicator__container"},Te=["onClick"],Ae={class:"step-indicator__step-content"},Me={class:"step-indicator__step-marker"},ve={class:"step-indicator__step-info"},Pe={class:"step-indicator__step-title"},Re={key:0,class:"step-indicator__step-subtitle"},Le={key:0,class:"step-indicator__progress"},qe={class:"step-indicator__progress-bar"},Ue={class:"step-indicator__progress-text"},je=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 o=l,t=a,n=e.computed(()=>o.steps.length===0?0:(o.activeStepIndex+1)/o.steps.length*100);function r(i){o.allowNavigation&&t("step-click",i)}return(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${i.position}`,{"step-indicator--clickable":i.allowNavigation}]])},[e.createElementVNode("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.steps,(y,f)=>(e.openBlock(),e.createElementBlock("div",{key:y.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":f===i.activeStepIndex,"step-indicator__step--completed":f<i.activeStepIndex,"step-indicator__step--clickable":i.allowNavigation}]),onClick:u=>r(f)},[e.createElementVNode("div",Ae,[e.createElementVNode("div",Me,[e.createElementVNode("span",null,e.toDisplayString(f+1),1)]),e.createElementVNode("div",ve,[e.createElementVNode("div",Pe,e.toDisplayString(y.title),1),y.subtitle?(e.openBlock(),e.createElementBlock("div",Re,e.toDisplayString(y.subtitle),1)):e.createCommentVNode("",!0)])]),f<i.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":f<i.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,Te))),128))]),i.showProgress&&(i.position==="top"||i.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",qe,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${n.value}%`})},null,4)]),e.createElementVNode("div",Ue," Step "+e.toDisplayString(i.activeStepIndex+1)+" of "+e.toDisplayString(i.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),j=(l,a)=>{const o=l.__vccOpts||l;for(const[t,n]of a)o[t]=n;return o},J=j(je,[["__scopeId","data-v-aca1a6d0"]]),q=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(l){const a=e.inject("globalConfig"),o=l,t=e.computed(()=>{var n,r;return o.label??((r=(n=a==null?void 0:a.buttons)==null?void 0:n[o.type])==null?void 0:r.label)??o.type});return(n,r)=>{var i,s,y,f,u,m,p,d,h,N,B,_;return e.openBlock(),e.createBlock(e.unref(b.IonButton),{color:((y=(s=(i=e.unref(a))==null?void 0:i.buttons)==null?void 0:s[l.type])==null?void 0:y.color)??"primary",fill:((m=(u=(f=e.unref(a))==null?void 0:f.buttons)==null?void 0:u[l.type])==null?void 0:m.fill)??"solid",expand:(h=(d=(p=e.unref(a))==null?void 0:p.buttons)==null?void 0:d[l.type])==null?void 0:h.expand,size:((_=(B=(N=e.unref(a))==null?void 0:N.buttons)==null?void 0:B[l.type])==null?void 0:_.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),se=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(l){return(a,o)=>(e.openBlock(),e.createBlock(e.unref(b.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"]))}}),Ge={class:"v-form-container"},$e={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"},ie=j(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:o}){const t=l,n=o,r=e.computed(()=>!!t.multiStepConfig),i=e.ref(t.schema||{}),s=t.multiStepConfig?re(t.multiStepConfig):null,{dynamicRefs:y,isFormValid:f}=le(),{formData:u,computedData:m}=ae(i),p=e.ref(null),d=e.computed(()=>(s==null?void 0:s.currentStepIndex.value)??0),h=e.computed(()=>s==null?void 0:s.currentStep.value),N=e.computed(()=>(s==null?void 0:s.visibleSteps.value)??[]),B=e.computed(()=>(s==null?void 0:s.isLastStep.value)??!0),_=e.computed(()=>(s==null?void 0:s.canGoNext.value)??!1),w=e.computed(()=>(s==null?void 0:s.canGoPrevious.value)??!1),F=e.computed(()=>!r.value||!s?0:s.progressPercentage.value);e.watch(()=>h.value,c=>{c&&r.value&&(i.value=c.schema||{})},{immediate:!0}),e.watch([u,m],([c,k])=>{r.value&&s&&h.value&&(s.updateStepData(h.value.id,c),s.updateStepComputedData(h.value.id,k))},{deep:!0}),e.watch(()=>t.schema,c=>{if(!r.value&&c){i.value=c;for(const[k,x]of Object.entries(c))A(x)&&"value"in x&&x.value!==void 0&&(i.value[k].value=x.value)}},{deep:!0,immediate:!0});async function O(){var c;if(r.value&&s){if((c=h.value)!=null&&c.component&&p.value&&typeof p.value.validate=="function"&&!await p.value.validate()||!await s.validateAllSteps())return;const x=s.getMultiStepFormData();n("multi-step-submit",x)}else{if(!await f())return;n("submit",u.value,m.value)}}function M(){Ne(y.value,i.value,u.value,m.value)}function v(){r.value&&s&&h.value&&s.clearStepData(h.value.id),M(),n("clear")}function R(){r.value&&s?s.resetForm():M(),n("cancel")}async function D(){var c;if(r.value&&s){let k=!0;if((c=h.value)!=null&&c.component&&p.value?typeof p.value.validate=="function"&&(k=await p.value.validate()):k=await f(),!k)return;await s.nextStep()&&h.value&&n("step-change",d.value,h.value.id)}}async function V(){s&&await s.previousStep()&&h.value&&n("step-change",d.value,h.value.id)}async function E(c){var k;if(s){if(c>d.value){let S=!0;if((k=h.value)!=null&&k.component&&p.value?typeof p.value.validate=="function"&&(S=await p.value.validate()):S=await f(),!S)return}await s.goToStep(c)&&h.value&&n("step-change",c,h.value.id)}}e.watch(u,async()=>{var c;for(const[k,x]of Object.entries(i.value))if(!Z(x,u.value,m.value)){const S=r.value&&h.value&&h.value.schema?h.value.schema[k]:(c=t.schema)==null?void 0:c[k];S&&A(S)&&"value"in S?x.value=S.value:x.value=void 0}},{deep:!0,immediate:!0});function g(c){r.value&&s&&h.value&&s.updateStepData(h.value.id,c)}return a({isLastStep:B,canGoNext:_,canGoPrevious:w,computedData:m,formData:u,resetForm:v,submitForm:O,isFormValid:f,resolveData:()=>r.value&&s?s.getMultiStepFormData():{formData:u.value,computedData:m.value},nextStep:D,previousStep:V,goToStep:E,getCurrentStep:()=>h.value,getCurrentStepIndex:()=>d.value}),(c,k)=>{var x,S;return e.openBlock(),e.createElementBlock("div",Ge,[r.value?(e.openBlock(),e.createElementBlock("div",$e,[c.multiStepConfig&&c.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(J,{key:0,steps:N.value,"active-step-index":d.value,position:c.multiStepConfig.stepPosition||"top","show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E},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--${((x=c.multiStepConfig)==null?void 0:x.stepPosition)||"top"}`])},[c.multiStepConfig&&c.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(J,{key:0,steps:N.value,"active-step-index":d.value,position:c.multiStepConfig.stepPosition??"top","show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",He,[(S=h.value)!=null&&S.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value.component),e.mergeProps({key:0},h.value.componentProps||{},{"onUpdate:data":g,ref_key:"customComponentRef",ref:p}),null,16)):(e.openBlock(),e.createBlock(e.unref(b.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(i.value),C=>{var z,T,P,U,K;return e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[e.unref(Z)(i.value[C],e.unref(u),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(b.IonCol),{key:0,size:((z=i.value[C].grid)==null?void 0:z.xs)??"12","size-sm":(T=i.value[C].grid)==null?void 0:T.sm,"size-md":(P=i.value[C].grid)==null?void 0:P.md,"size-lg":(U=i.value[C].grid)==null?void 0:U.lg,"size-xl":(K=i.value[C].grid)==null?void 0:K.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value[C].type),{modelValue:i.value[C],"onUpdate:modelValue":ne=>i.value[C]=ne,schema:i.value,"form-id":C,ref_for:!0,ref_key:"dynamicRefs",ref:y,"ref-key":C},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})),c.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(b.IonRow),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:c.buttonPlacement}])},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createBlock(q,{key:0,type:"previous",label:c.previousButtonText,onClick:V},null,8,["label"])):e.createCommentVNode("",!0),c.showCancelButton?(e.openBlock(),e.createBlock(q,{key:1,type:"cancel",label:c.cancelButtonText,onClick:R},null,8,["label"])):e.createCommentVNode("",!0),c.showClearButton?(e.openBlock(),e.createBlock(q,{key:2,type:"clear",label:c.clearButtonText,onClick:v},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.customButtons,C=>(e.openBlock(),e.createBlock(se,{button:C,key:C.label},null,8,["button"]))),128)),_.value?(e.openBlock(),e.createBlock(q,{key:3,type:"next",label:c.nextButtonText,onClick:D},null,8,["label"])):e.createCommentVNode("",!0),B.value?(e.openBlock(),e.createBlock(q,{key:4,type:"submit",label:c.submitButtonText,onClick:O},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),c.multiStepConfig&&(c.multiStepConfig.stepPosition==="left"||c.multiStepConfig.stepPosition==="right")&&c.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",We,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${F.value}%`})},null,4)]),e.createElementVNode("div",Ze," Step "+e.toDisplayString(d.value+1)+" of "+e.toDisplayString(N.value.length),1)])):e.createCommentVNode("",!0)]),c.multiStepConfig&&c.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(J,{key:1,steps:N.value,"active-step-index":d.value,position:c.multiStepConfig.stepPosition,"show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),c.multiStepConfig&&c.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(J,{key:1,steps:N.value,"active-step-index":d.value,position:c.multiStepConfig.stepPosition,"show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(b.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(i.value),C=>{var z,T,P,U,K;return e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[e.unref(Z)(i.value[C],e.unref(u),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(b.IonCol),{key:0,size:((z=i.value[C].grid)==null?void 0:z.xs)??"12","size-sm":(T=i.value[C].grid)==null?void 0:T.sm,"size-md":(P=i.value[C].grid)==null?void 0:P.md,"size-lg":(U=i.value[C].grid)==null?void 0:U.lg,"size-xl":(K=i.value[C].grid)==null?void 0:K.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value[C].type),{modelValue:i.value[C],"onUpdate:modelValue":ne=>i.value[C]=ne,schema:i.value,"form-id":C,ref_for:!0,ref_key:"dynamicRefs",ref:y,"ref-key":C,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}),c.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(b.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:c.buttonPlacement}])},{default:e.withCtx(()=>[c.showCancelButton?(e.openBlock(),e.createBlock(q,{key:0,type:"cancel",label:c.cancelButtonText,onClick:R},null,8,["label"])):e.createCommentVNode("",!0),c.showClearButton?(e.openBlock(),e.createBlock(q,{key:1,type:"clear",label:c.clearButtonText,onClick:v},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.customButtons,C=>(e.openBlock(),e.createBlock(se,{button:C,key:C.label},null,8,["button"]))),128)),e.createVNode(q,{type:"submit",label:c.submitButtonText,onClick:O},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),[["__scopeId","data-v-400c942b"]]);function Je(l){return{applyValidationState:async t=>{var n,r,i,s,y;(n=l.value)==null||n.$el.classList.remove("ion-invalid"),(r=l.value)==null||r.$el.classList.remove("ion-valid"),t?(i=l.value)==null||i.$el.classList.add("ion-valid"):(s=l.value)==null||s.$el.classList.add("ion-invalid"),(y=l.value)==null||y.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(n=l.value)==null||n.$el.classList.remove("ion-invalid")}}}function G(l,a,o,t,n){const{applyValidationState:r,resetValidationState:i}=Je(l),s=e.inject("globalConfig");async function y(){var d;if(a.value.required&&!o.value)return a.value.error=((d=s==null?void 0:s.errorMessages)==null?void 0:d.required)??"This field is required",!1;if(n){const h=await n(o.value);if(typeof h=="string")return a.value.error=h,!1;if(h===!1)return!1}if(a.value.validation){const h=await a.value.validation(o.value,t==null?void 0:t.value);if(h!=null&&h.length)return a.value.error=h.join(),!1}return!0}async function f(){const d=await y();d&&(a.value.error="",a.value.value=o.value),await r(d)}function u(){i(),a.value.error=""}function m(d=""){o.value=d,a.value.error="",a.value.value=d}function p(){return a.value.error?[a.value.error]:[]}return{isValid:y,onValueUpdate:f,onFocus:u,onReset:m,getErrors:p,applyValidationState:r,resetValidationState:i}}function Qe(l){const a=e.computed(()=>!!l.value.label),o=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:a,showRequired:o,labelText:t}}const Q=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(l){const a=l,{showLabel:o,showRequired:t,labelText:n}=Qe(e.toRef(a,"model"));return(r,i)=>e.unref(o)?(e.openBlock(),e.createBlock(e.unref(b.IonLabel),{key:0,slot:r.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(b.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>i[0]||(i[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 o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),r=e.ref(t.value.value),i=e.computed(()=>o.schema),{isValid:s,onValueUpdate:y,onFocus:f,onReset:u,getErrors:m}=G(n,t,r,i),p=e.computed(()=>{if(t.value.pattern)return xe(t.value.pattern)});return e.watch(()=>t.value.value,d=>r.value=d),a({onValueUpdate:y,onReset:u,getErrors:m,isValid:s}),(d,h)=>{var B;const N=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(b.IonInput),{ref_key:"inputRef",ref:n,modelValue:r.value,"onUpdate:modelValue":h[0]||(h[0]=_=>r.value=_),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(b.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(b.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(b.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"])),[[N,p.value]])}}}),ce=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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,r;return((r=(n=t.value)==null?void 0:n.getErrors)==null?void 0:r.call(n))??[]}}),(n,r)=>(e.openBlock(),e.createBlock(H,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=i=>o.value=i),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ue=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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,r;return((r=(n=t.value)==null?void 0:n.getErrors)==null?void 0:r.call(n))??[]}}),(n,r)=>(e.openBlock(),e.createBlock(H,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=i=>o.value=i),type:o.value.enableTime?"datetime-local":"date",schema:n.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 o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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,r;return((r=(n=t.value)==null?void 0:n.getErrors)==null?void 0:r.call(n))??[]}}),(n,r)=>(e.openBlock(),e.createBlock(H,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=i=>o.value=i),type:"number",schema:n.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 o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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,r;return((r=(n=t.value)==null?void 0:n.getErrors)==null?void 0:r.call(n))??[]}}),(n,r)=>(e.openBlock(),e.createBlock(H,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=i=>o.value=i),type:"email",schema:n.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 o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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,r;return((r=(n=t.value)==null?void 0:n.getErrors)==null?void 0:r.call(n))??[]}}),(n,r)=>(e.openBlock(),e.createBlock(H,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=i=>o.value=i),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Xe={class:"option-content"},me=j(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 o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),r=e.ref(null),i=e.ref(!1),s=e.ref([]),y=e.ref(""),f=e.ref(1),u=e.inject("globalConfig"),m=e.computed(()=>t.value.interface??"popover"),p=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),d=e.computed(()=>s.value.filter(g=>!!g.isChecked)),h=e.computed(()=>!y.value&&X(d.value)&&!i.value?t.value.placeholder??"Select an option":"");e.watch([y,()=>t.value.options],V,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,E,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!o.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(c=>{const k=o.schema[c];return A(k)?k.value:void 0}),async(g,c)=>{g&&c&&!$(g,c)&&(N(),s.value=[],await V())},{deep:!0});function N(){t.value.error="",y.value="",f.value=1,t.value.value=t.value.multiple?[]:"",ze(s.value)}function B(g){if(g.disabled)return;const c=s.value.findIndex(k=>k.value===g.value&&k.isChecked);if(c>=0){if(Array.isArray(t.value.value)){const k=te(g,t.value.value);k>=0&&t.value.value.splice(k,1)}s.value[c].isChecked=!1}else t.value.multiple||N(),L(g,s.value);D(),y.value=""}function _(){switch(m.value){case"action-sheet":w();break;case"alert":F();break;case"popover":default:i.value=!0;break}}async function w(){var c,k;if(await V(),t.value.multiple){i.value=!0;return}await(await b.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...s.value.map(x=>{let S="";return x.isChecked?S="selected-option":x.disabled&&(S="disabled-option"),{text:x.label,cssClass:S,handler:()=>(B(x),!1),disabled:x.disabled}}),{text:((k=(c=u==null?void 0:u.buttons)==null?void 0:c.cancel)==null?void 0:k.label)??"Cancel",role:"cancel"}]})).present()}async function F(){var k,x,S,C;await V();const g=s.value.map(z=>({label:z.label,type:t.value.multiple?"checkbox":"radio",value:z,checked:z.isChecked,disabled:z.disabled}));await(await b.alertController.create({header:t.value.label||"Select an option",inputs:g,buttons:[{text:((x=(k=u==null?void 0:u.buttons)==null?void 0:k.cancel)==null?void 0:x.label)??"Cancel",role:"cancel"},{text:((C=(S=u==null?void 0:u.buttons)==null?void 0:S.ok)==null?void 0:C.label)??"OK",handler:z=>{if(t.value.multiple)s.value.forEach(T=>Ie(T,s.value)),z.forEach(T=>{const P=s.value.find(U=>U.value===T.value);P&&L(P,s.value)});else{N();const T=s.value.find(P=>P.value===z.value);T&&L(T,s.value)}D()}}]})).present()}async function O(){var g;if(t.value.required&&X(d.value))return((g=u==null?void 0:u.errorMessages)==null?void 0:g.required)??"This field is required";if(t.value.validation){const c=await t.value.validation(d.value,o==null?void 0:o.schema);if(c&&c.length)return c.join()}return!0}const{onFocus:M,applyValidationState:v}=G(n,t,e.computed(()=>t.value.multiple?d.value:d.value[0]),e.computed(()=>o==null?void 0:o.schema),O);function R(g){var c;g.target===((c=n.value)==null?void 0:c.$el)&&(M(),m.value==="popover"&&(i.value=!0))}async function D(g){var k;if((k=g==null?void 0:g.relatedTarget)!=null&&k.closest(".suggestions-list"))return;i.value=!1;const c=await O();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 v(c===!0)}async function V(){const g=[];if(typeof t.value.options=="function"){let c={};if(t.value.dependsOn&&o.schema){const k=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let x=!0;if(c=k.reduce((S,C)=>{const z=o.schema[C];return S[C]=A(z)?z.value:void 0,(S[C]===void 0||S[C]===null||S[C]==="")&&(x=!1),S},{}),x){const S=await t.value.options(y.value,c);g.push(...S.filter(C=>!!C.label))}}else{const k=await t.value.options(y.value,{});g.push(...k.filter(x=>!!x.label))}}else Array.isArray(t.value.options)&&g.push(...Oe(t.value.options,y.value));d.value.forEach(c=>L(c,g)),s.value=g}async function E(){const g=t.value.value;if(g){if(s.value.length===0&&await V(),Array.isArray(g))g.forEach(c=>L(c,s.value));else if(typeof g=="object")L(g,s.value);else{const c=s.value.find(k=>k.value===g);L(c||{value:g,label:g},s.value)}D()}}return e.onMounted(async()=>{await V(),await E()}),a({onValueUpdate:D,onReset:N,getErrors:()=>t.value.error?[t.value.error]:[]}),(g,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:D,ref_key:"containerRef",ref:r},[e.createVNode(e.unref(b.IonInput),{ref_key:"inputRef",ref:n,modelValue:y.value,"onUpdate:modelValue":c[0]||(c[0]=k=>y.value=k),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:h.value,disabled:t.value.disabled,counter:t.value.counter,debounce:300,onIonFocus:R,onClick:_,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(b.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(k,x)=>(e.openBlock(),e.createBlock(e.unref(b.IonChip),{key:x},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(b.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var k;return[e.createTextVNode(e.toDisplayString(((k=d.value[0])==null?void 0:k.label)??""),1)]}),_:1})),e.createVNode(e.unref(b.IonIcon),{slot:"end",icon:e.unref(W.chevronDown)},null,8,["icon"]),d.value.length>0||y.value?(e.openBlock(),e.createBlock(e.unref(b.IonIcon),{key:2,slot:"end",icon:e.unref(W.close),onClick:N,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),i.value&&s.value.length>0&&m.value==="popover"?(e.openBlock(),e.createBlock(e.unref(b.IonList),{key:0,class:e.normalizeClass(["suggestions-list",p.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,k=>(e.openBlock(),e.createBlock(e.unref(b.IonItem),{button:"",key:k.label,onClick:x=>B(k),lines:t.value.showOptionsSeparator?"none":"full",disabled:k.disabled,class:e.normalizeClass({"ion-item-disabled":k.disabled})},{default:e.withCtx(()=>{var x;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(b.IonCheckbox),{key:0,slot:"start",checked:k.isChecked,disabled:k.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",Xe,[e.createVNode(e.unref(b.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1024),e.unref(oe)(k,k.isChecked)?(e.openBlock(),e.createBlock(e.unref(b.IonText),{key:0,color:(x=k.description)==null?void 0:x.color,class:"option-description"},{default:e.withCtx(()=>{var S;return[e.createTextVNode(e.toDisplayString((S=k.description)==null?void 0:S.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),[["__scopeId","data-v-022ed1e8"]]),he=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),r=e.ref(t.value.value),i=e.computed(()=>o.schema),{onValueUpdate:s,onFocus:y,onReset:f,getErrors:u}=G(n,t,r,i);return e.watch(()=>t.value.value,m=>r.value=m),a({onReset:f,onValueUpdate:s,getErrors:u}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(b.IonTextarea),{ref_key:"inputRef",ref:n,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(s),onIonBlur:e.unref(s),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"]))}}),Ye={class:"button-container"},ye=j(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref([]),{dynamicRefs:r,getFormErrors:i,updateFormValues:s}=le(),y=e.computed(()=>n.value.map((h,N)=>({label:`Set ${N+1}`,value:N,other:Object.entries(h).reduce((B,[_,w])=>(A(w)&&(B[_]=w.value),B),{})})));e.watch(y,h=>{t.value.value=h},{deep:!0,immediate:!0}),e.onMounted(f);function f(){t.value.children&&n.value.push(ee(t.value.children))}function u(h){n.value.splice(h,1)}function m(){const h=N=>{const[B,_]=N.split("-"),w=parseInt(B,10);return!isNaN(w)&&_&&n.value[w]&&n.value[w][_]?n.value[w][_]:null};Ee(r.value,o.data,o.computedData,h)}function p(){return i()}async function d(){await s()}return a({onValueUpdate:d,onReset:m,getErrors:p}),(h,N)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(B,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:_},[e.createVNode(e.unref(b.IonRow),{class:"repeat-row"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonCol),{size:"11",class:"form-fields-column"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonRow),{class:"fields-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(B),w=>{var F,O,M,v,R;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Z)(B[w],h.data,h.computedData)?(e.openBlock(),e.createBlock(e.unref(b.IonCol),{key:`${_}-${w}`,size:((F=B[w].grid)==null?void 0:F.xs)??"12","size-sm":(O=B[w].grid)==null?void 0:O.sm,"size-md":(M=B[w].grid)==null?void 0:M.md,"size-lg":(v=B[w].grid)==null?void 0:v.lg,"size-xl":(R=B[w].grid)==null?void 0:R.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B[w].type),{modelValue:B[w],"onUpdate:modelValue":D=>B[w]=D,schema:B,"ref-key":`${_}-${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(b.IonCol),{size:"1",class:"button-column"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[_===n.value.length-1?(e.openBlock(),e.createBlock(e.unref(b.IonButton),{key:0,onClick:f,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonIcon),{slot:"icon-only",icon:e.unref(W.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),n.value.length>1?(e.openBlock(),e.createBlock(e.unref(b.IonButton),{key:1,onClick:w=>u(_),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonIcon),{slot:"icon-only",icon:e.unref(W.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),[["__scopeId","data-v-f27172ba"]]),ke=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),r=e.ref(t.value.value),i=e.computed(()=>o.schema),s=e.computed(()=>Fe(t.value)),{onValueUpdate:y,onFocus:f,getErrors:u}=G(n,t,r,i);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:u}),(p,d)=>(e.openBlock(),e.createBlock(e.unref(b.IonCheckbox),{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=h=>r.value=h),ref_key:"inputRef",ref:n,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(s.value),1)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),et={class:"radio-content"},tt={class:"radio-label"},ge=j(e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),r=e.ref(t.value.value),i=e.computed(()=>o.schema),s=e.ref([]),{onValueUpdate:y,onFocus:f,getErrors:u,isValid:m}=G(n,t,r,i);function p(){t.value.error="",r.value=void 0,t.value.value=void 0}function d(B,_){return(B==null?void 0:B.value)===(_==null?void 0:_.value)}function h(B){return r.value?d(r.value,B):!1}async function N(){typeof t.value.options=="function"?s.value=await t.value.options():s.value=t.value.options}return e.watch(()=>t.value.value,B=>r.value=B),a({onValueUpdate:y,onReset:p,getErrors:u,isValid:m}),e.onMounted(N),(B,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Q,{model:t.value},null,8,["model"]),_[1]||(_[1]=e.createElementVNode("br",null,null,-1)),t.value.error?(e.openBlock(),e.createBlock(e.unref(b.IonNote),{key:0,color:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.error),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(b.IonItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonRadioGroup),{modelValue:r.value,"onUpdate:modelValue":_[0]||(_[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(s.value,w=>(e.openBlock(),e.createBlock(e.unref(b.IonItem),{key:w.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.IonRadio),{value:w,disabled:t.value.disabled||w.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var F;return[e.createElementVNode("div",et,[e.createElementVNode("div",tt,e.toDisplayString(w.label),1),e.unref(oe)(w,h(w))?(e.openBlock(),e.createBlock(e.unref(b.IonText),{key:0,color:(F=w.description)==null?void 0:F.color,class:"radio-description"},{default:e.withCtx(()=>{var O;return[e.createTextVNode(e.toDisplayString((O=w.description)==null?void 0:O.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))}}),[["__scopeId","data-v-3dbfeaf7"]]),lt={class:"form-section-header"},nt={class:"form-section-title"},ot={key:0,class:"form-section-subtitle"},Ce=j(e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(l){const o=l.modelValue;return(t,n)=>{var r,i,s,y,f;return e.openBlock(),e.createBlock(e.unref(b.IonCol),{size:((r=e.unref(o).grid)==null?void 0:r.xs)??"12","size-sm":(i=e.unref(o).grid)==null?void 0:i.sm,"size-md":(s=e.unref(o).grid)==null?void 0:s.md,"size-lg":(y=e.unref(o).grid)==null?void 0:y.lg,"size-xl":(f=e.unref(o).grid)==null?void 0:f.xl,class:e.normalizeClass(["form-section-container",e.unref(o).className])},{default:e.withCtx(()=>[e.createElementVNode("div",lt,[e.createElementVNode("h3",nt,e.toDisplayString(e.unref(o).title),1),e.unref(o).subtitle?(e.openBlock(),e.createElementBlock("p",ot,e.toDisplayString(e.unref(o).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),[["__scopeId","data-v-e0bf7af0"]]);function at(l,a,o){const t=e.ref({}),n=e.ref({});function r(u,m,p){n.value[u]=p,m.forEach(d=>{var h;(h=t.value)[d]??(h[d]=[]),t.value[d].includes(u)||t.value[d].push(u)}),f(u)}function i(u){return Object.entries(t.value).filter(([,p])=>p.includes(u)).map(([p])=>p).reduce((p,d)=>(p[d]=a.value[d]??o.value[d],p),{})}function s(u,m){return u?Array.isArray(u)?u.some(p=>m.some(d=>y(p,d.value))):m.some(p=>y(u,p.value)):!1}function y(u,m){return typeof u=="object"&&u!==null?u.value===m:String(u)===String(m)}async function f(u,m){if(!n.value[u])return;const p=i(u),d=Object.keys(p);if(!(d.length===0||!d.every(N=>p[N]!==void 0&&p[N]!==null)))try{const N=n.value[u],B=await N(m,p);if(!l.value[u])return;const _=l.value[u];if(!A(_))return;_.options=B;const w=_.value;if(!w)return;s(w,B)||(_.value=_.multiple?[]:"")}catch(N){console.error(`Error loading options for ${u}:`,N)}}return e.watch([a,o],()=>{Object.entries(t.value).forEach(([u,m])=>{(a.value[u]!==void 0||o.value[u]!==void 0)&&m.forEach(p=>{f(p)})})},{deep:!0,immediate:!0}),{registerDependency:r,updateOptions:f}}const Ve={install(l,a){a&&l.provide("globalConfig",a),l.component("VForm",ie),l.component("TextInput",ce),l.component("DateInput",ue),l.component("NumberInput",de),l.component("EmailInput",pe),l.component("PasswordInput",fe),l.component("SelectInput",me),l.component("TextAreaInput",he),l.component("RepeatInput",ye),l.component("CheckboxInput",ke),l.component("RadioInput",ge),l.component("FormSection",Ce),l.directive("maskito",be.maskito)}};I.CheckboxInput=ke,I.DateInput=ue,I.EmailInput=pe,I.FormBuilder=ie,I.FormSection=Ce,I.NumberInput=de,I.PasswordInput=fe,I.RadioInput=ge,I.RepeatInput=ye,I.SelectInput=me,I.TextAreaInput=he,I.TextInput=ce,I.VForm=Ve,I.default=Ve,I.useDataTransformation=ae,I.useDependentOptions=at,I.useFormValidation=le,I.useInputValidation=G,I.useMultiStepForm=re,Object.defineProperties(I,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
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,V,K,we){"use strict";function Se(l){return new Promise(a=>{requestAnimationFrame(async()=>{const o=await l.getInputElement();a(o)})})}const _e={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},Ee={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 Ne(l,a){const o=Ee[l];return o[a%o.length]}function xe(l){const a=[];let o="",t=0,n=0;for(;t<l.length;){const s=l[t];if(["d","a","*"].includes(s)){let i=1;if(l[t+1]==="{"){const r=l.indexOf("}",t+2);if(r!==-1){const k=l.slice(t+2,r);if(k.includes(",")){const[,d]=k.split(",").map(u=>parseInt(u.trim()));i=d||parseInt(k.split(",")[0])}else i=parseInt(k);t=r}}else{let r=t+1;for(;l[r]===s;)i++,r++;t=r-1}for(let r=0;r<i;r++)a.push(_e[s]),o+=Ne(s,n++)}else a.push(s),o+=s;t++}return{mask:a,placeholder:o,elementPredicate:Se}}async function ae(l){if(l!=null){if(typeof l!="function"&&!(l instanceof Promise))return l;if(typeof l=="function"){const a=l();return a instanceof Promise?await a:a}if(l instanceof Promise)return await l}}function X(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function Y(l,a,o){return l.disabled||l.hidden||typeof l.condition=="function"&&!l.condition(a,o)}function Ie(l,a,o,t){l.forEach(n=>{var s;if(typeof(n==null?void 0:n.onReset)=="function"&&((s=n==null?void 0:n.$attrs)!=null&&s["ref-key"])){const i=n.$attrs["ref-key"];if(i&&a[i]){const r=a[i];if(Y(r,o,t))return}n.onReset()}})}function Fe(l,a,o,t){l.forEach(n=>{var s;if(typeof(n==null?void 0:n.onReset)=="function"&&((s=n==null?void 0:n.$attrs)!=null&&s["ref-key"])){const i=n.$attrs["ref-key"],r=t(i);if(r&&Y(r,a,o))return;n.onReset()}})}function Z(l,a,o){return typeof l.condition=="function"?l.condition(a,o):!0}function ee(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(o=>ee(o));const a={};return Object.entries(l).forEach(([o,t])=>{typeof t=="function"?a[o]=t.bind(a):a[o]=ee(t)}),a}function te(l,a){return a.findIndex(o=>o.value===l.value||o.label===l.label||o.value===l.label||o.label===l.value)}function R(l,a){const o=te(l,a);o>=0?a[o].isChecked=!0:a.push({...l,isChecked:!0})}function ze(l,a){const o=te(l,a);o>=0&&(a[o].isChecked=!1)}function Oe(l){l.forEach(a=>{a.isChecked=!1})}function re(l,a){if(!l.description)return!1;const o=l.description.show??"always";return o==="always"?!0:o==="onSelected"?!!a:!1}function De(l,a){return a?l.filter(o=>JSON.stringify(o).toLowerCase().includes(a.toLowerCase())):l}function ve(l){const a=l.label||"",o=l.required?" *":"";return a+o}function W(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((n,s)=>W(n,a[s]));if(Array.isArray(l)!==Array.isArray(a))return!1;const o=Object.keys(l),t=Object.keys(a);return o.length!==t.length?!1:o.every(n=>Object.hasOwn(a,n)&&W(l[n],a[n]))}function M(l){return l.type!=="FormSection"}function le(){const l=e.ref([]);async function a(){console.debug("Validating form inputs");const n=[];for(const s of l.value)if(typeof(s==null?void 0:s.onValueUpdate)=="function"&&await s.onValueUpdate(),typeof(s==null?void 0:s.getErrors)=="function")try{const i=s.getErrors();Array.isArray(i)?n.push(...i):console.warn("getErrors() returned non-array value:",i)}catch(i){console.error("Error calling getErrors on component:",i,s)}else console.warn("Component does not have getErrors function:",s);return n.every(X)}function o(){const n=[];for(const s of l.value)if(typeof(s==null?void 0:s.getErrors)=="function")try{const i=s.getErrors();Array.isArray(i)?n.push(...i):n.push(String(i))}catch(i){console.error("Error calling getErrors on component:",i,s)}return n}async function t(){for(const n of l.value)typeof(n==null?void 0:n.onValueUpdate)=="function"&&await n.onValueUpdate()}return{dynamicRefs:l,isFormValid:a,getFormErrors:o,updateFormValues:t}}function se(l){const a=e.computed(()=>Object.entries(l.value).reduce((d,[u,f])=>{if(M(f)&&f.value!==void 0){if(typeof f.value=="function"||f.value instanceof Promise)return d;d[u]=f.value}return d},{})),o=e.ref({}),t=(d,u,f)=>{const p=l.value[d];if(M(p)&&p.children){const h=p.children[u];if(h&&M(h)&&typeof h.computedValue=="function")return h.computedValue(f,l.value)}return f},n=(d,u,f,p)=>{o.value[d][p]||(o.value[d][p]={}),Object.entries(u.other??{}).forEach(([h,m])=>{var w;!W(m,(w=f.other)==null?void 0:w[h])&&(o.value[d][p][h]=t(d,h,m))})},s=(d,u,f)=>{u.forEach((p,h)=>{const m=f[h]??{other:{}};n(d,p,m,h)})},i=(d,{other:u})=>Object.entries(u??{}).reduce((f,[p,h])=>(f[p]=t(d,p,h),f),{}),r=(d,u,f)=>{o.value[d]||(o.value[d]=[]);const p=u;Array.isArray(f[d])?s(d,p,f[d]):o.value[d]=p.map(h=>i(d,h))},k=(d,u,f)=>{if(!u){delete o.value[d];return}const p=l.value[d];M(p)&&(typeof p.onChange=="function"&&p.onChange(u,l.value),p.children!==void 0?r(d,u,f):typeof p.computedValue=="function"&&(o.value[d]=p.computedValue(u,l.value)))};return e.watch(a,(d,u={})=>{Object.keys(d).forEach(f=>{W(d[f],u[f])||k(f,d[f],u)}),Object.keys(u).forEach(f=>{!(f in d)&&f in o.value&&delete o.value[f]})},{immediate:!0,deep:!0}),{formData:a,computedData:o}}function ie(l){const a=e.ref(0),o=e.ref({}),t=e.ref({}),n=e.ref({});function s(b,E){const I=l.steps.find(_=>_.id===b);if(!(I!=null&&I.schema))return{};const c={},C=Object.values(o.value).reduce((_,y)=>({..._,...y}),{}),g=Object.values(t.value).reduce((_,y)=>({..._,...y}),{});for(const[_,y]of Object.entries(I.schema))M(y)&&(Y(y,C,g)&&E&&_ in E?c[_]=E[_]:y.value!==void 0&&(typeof y.value=="function"||y.value instanceof Promise||(c[_]=y.value)));return c}l.steps.forEach(b=>{o.value[b.id]=s(b.id),t.value[b.id]={},n.value[b.id]=[]});const i=e.ref(l.steps.map(b=>b.id)),r=e.computed(()=>l.steps.filter(E=>E.condition?E.condition(o.value,t.value):!0));e.watch(r,b=>{const E=b.map(c=>c.id);i.value.filter(c=>!E.includes(c)).forEach(c=>{B(c)}),i.value=E});const k=e.computed(()=>r.value.length>0?a.value>=r.value.length?r.value[r.value.length-1]:r.value[a.value]:l.steps[a.value]),d=e.computed(()=>a.value===0),u=e.computed(()=>a.value===r.value.length-1),f=e.computed(()=>!u.value),p=e.computed(()=>!d.value),h=e.computed(()=>r.value.length),m=e.computed(()=>h.value===0?0:Math.round((a.value+1)/h.value*100));function N(b,E){o.value[b]={...o.value[b],...E}}function w(b,E){t.value[b]={...t.value[b],...E}}function B(b){if(l.steps.find(I=>I.id===b)){const I=o.value[b]||{};o.value[b]=s(b,I),t.value[b]={}}}async function S(){const b=k.value;if(!b)return!0;const E=[];if(b.validation){const I=await b.validation(o.value[b.id],t.value[b.id]);I&&E.push(...I)}return n.value[b.id]=E,E.length===0}async function D(b){return b<0||b>=r.value.length||b>a.value&&!await S()?!1:(a.value=b,!0)}async function F(){return f.value?D(a.value+1):!1}async function v(){return p.value?D(a.value-1):!1}function P(){a.value=0,n.value={},l.steps.forEach(b=>{B(b.id),n.value[b.id]=[]})}async function L(){let b=!0;for(const E of l.steps)if(E.validation){const I=await E.validation(o.value[E.id],t.value[E.id]);n.value[E.id]=I||[],I&&I.length>0&&(b=!1)}return b}function U(){return{formData:{...o.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:k,stepData:o,stepComputedData:t,stepValidationErrors:n,visibleSteps:r,isFirstStep:d,isLastStep:u,canGoNext:f,canGoPrevious:p,totalSteps:h,progressPercentage:m,updateStepData:N,updateStepComputedData:w,clearStepData:B,validateCurrentStep:S,goToStep:D,nextStep:F,previousStep:v,resetForm:P,validateAllSteps:L,getMultiStepFormData:U}}const Te={class:"step-indicator__container"},Me=["onClick"],Pe={class:"step-indicator__step-content"},Ae={class:"step-indicator__step-marker"},Le={class:"step-indicator__step-info"},Re={class:"step-indicator__step-title"},qe={key:0,class:"step-indicator__step-subtitle"},Ue={key:0,class:"step-indicator__progress"},je={class:"step-indicator__progress-bar"},Ge={class:"step-indicator__progress-text"},$e=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 o=l,t=a,n=e.computed(()=>o.steps.length===0?0:(o.activeStepIndex+1)/o.steps.length*100);function s(i){o.allowNavigation&&t("step-click",i)}return(i,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${i.position}`,{"step-indicator--clickable":i.allowNavigation}]])},[e.createElementVNode("div",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.steps,(k,d)=>(e.openBlock(),e.createElementBlock("div",{key:k.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":d===i.activeStepIndex,"step-indicator__step--completed":d<i.activeStepIndex,"step-indicator__step--clickable":i.allowNavigation}]),onClick:u=>s(d)},[e.createElementVNode("div",Pe,[e.createElementVNode("div",Ae,[e.createElementVNode("span",null,e.toDisplayString(d+1),1)]),e.createElementVNode("div",Le,[e.createElementVNode("div",Re,e.toDisplayString(k.title),1),k.subtitle?(e.openBlock(),e.createElementBlock("div",qe,e.toDisplayString(k.subtitle),1)):e.createCommentVNode("",!0)])]),d<i.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":d<i.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,Me))),128))]),i.showProgress&&(i.position==="top"||i.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Ue,[e.createElementVNode("div",je,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${n.value}%`})},null,4)]),e.createElementVNode("div",Ge," Step "+e.toDisplayString(i.activeStepIndex+1)+" of "+e.toDisplayString(i.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),j=(l,a)=>{const o=l.__vccOpts||l;for(const[t,n]of a)o[t]=n;return o},J=j($e,[["__scopeId","data-v-aca1a6d0"]]),q=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(l){const a=e.inject("globalConfig"),o=l,t=e.computed(()=>{var n,s;return o.label??((s=(n=a==null?void 0:a.buttons)==null?void 0:n[o.type])==null?void 0:s.label)??o.type});return(n,s)=>{var i,r,k,d,u,f,p,h,m,N,w,B;return e.openBlock(),e.createBlock(e.unref(V.IonButton),{color:((k=(r=(i=e.unref(a))==null?void 0:i.buttons)==null?void 0:r[l.type])==null?void 0:k.color)??"primary",fill:((f=(u=(d=e.unref(a))==null?void 0:d.buttons)==null?void 0:u[l.type])==null?void 0:f.fill)??"solid",expand:(m=(h=(p=e.unref(a))==null?void 0:p.buttons)==null?void 0:h[l.type])==null?void 0:m.expand,size:((B=(w=(N=e.unref(a))==null?void 0:N.buttons)==null?void 0:w[l.type])==null?void 0:B.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),ce=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(l){return(a,o)=>(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"]))}}),We={class:"v-form-container"},He={key:0,class:"multi-step-form"},Ke={class:"multi-step-form-content"},Ze={key:3,class:"step-progress-bottom"},Je={class:"step-progress-bar"},Qe={class:"step-progress-text"},ue=j(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:o}){const t=l,n=o,s=e.computed(()=>!!t.multiStepConfig),i=e.ref(t.schema||{}),r=t.multiStepConfig?ie(t.multiStepConfig):null,{dynamicRefs:k,isFormValid:d}=le(),{formData:u,computedData:f}=se(i),p=e.ref(null),h=e.computed(()=>(r==null?void 0:r.currentStepIndex.value)??0),m=e.computed(()=>r==null?void 0:r.currentStep.value),N=e.computed(()=>(r==null?void 0:r.visibleSteps.value)??[]),w=e.computed(()=>(r==null?void 0:r.isLastStep.value)??!0),B=e.computed(()=>(r==null?void 0:r.canGoNext.value)??!1),S=e.computed(()=>(r==null?void 0:r.canGoPrevious.value)??!1),D=e.computed(()=>!s.value||!r?0:r.progressPercentage.value);e.watch(()=>m.value,c=>{c&&s.value&&(i.value=c.schema||{})},{immediate:!0}),e.watch([u,f],([c,C])=>{s.value&&r&&m.value&&(r.updateStepData(m.value.id,c),r.updateStepComputedData(m.value.id,C))},{deep:!0}),e.watch(()=>t.schema,c=>{if(!s.value&&c){i.value=c;for(const[C,g]of Object.entries(c))M(g)&&"value"in g&&g.value!==void 0&&(i.value[C].value=g.value)}},{deep:!0,immediate:!0});async function F(){var c;if(s.value&&r){if((c=m.value)!=null&&c.component&&p.value&&typeof p.value.validate=="function"&&!await p.value.validate()||!await r.validateAllSteps())return;const g=r.getMultiStepFormData();n("multi-step-submit",g)}else{if(!await d())return;n("submit",u.value,f.value)}}function v(){Ie(k.value,i.value,u.value,f.value)}function P(){s.value&&r&&m.value&&r.clearStepData(m.value.id),v(),n("clear")}function L(){s.value&&r?r.resetForm():v(),n("cancel")}async function U(){var c;if(s.value&&r){let C=!0;if((c=m.value)!=null&&c.component&&p.value?typeof p.value.validate=="function"&&(C=await p.value.validate()):C=await d(),!C)return;await r.nextStep()&&m.value&&n("step-change",h.value,m.value.id)}}async function b(){r&&await r.previousStep()&&m.value&&n("step-change",h.value,m.value.id)}async function E(c){var C;if(r){if(c>h.value){let _=!0;if((C=m.value)!=null&&C.component&&p.value?typeof p.value.validate=="function"&&(_=await p.value.validate()):_=await d(),!_)return}await r.goToStep(c)&&m.value&&n("step-change",c,m.value.id)}}e.watch(u,async()=>{var c;for(const[C,g]of Object.entries(i.value))if(!Z(g,u.value,f.value)){const _=s.value&&m.value&&m.value.schema?m.value.schema[C]:(c=t.schema)==null?void 0:c[C];_&&M(_)&&"value"in _?g.value=_.value:g.value=void 0}},{deep:!0,immediate:!0});function I(c){s.value&&r&&m.value&&r.updateStepData(m.value.id,c)}return a({isLastStep:w,canGoNext:B,canGoPrevious:S,computedData:f,formData:u,resetForm:P,submitForm:F,isFormValid:d,resolveData:()=>s.value&&r?r.getMultiStepFormData():{formData:u.value,computedData:f.value},nextStep:U,previousStep:b,goToStep:E,getCurrentStep:()=>m.value,getCurrentStepIndex:()=>h.value}),(c,C)=>{var g,_;return e.openBlock(),e.createElementBlock("div",We,[s.value?(e.openBlock(),e.createElementBlock("div",He,[c.multiStepConfig&&c.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(J,{key:0,steps:N.value,"active-step-index":h.value,position:c.multiStepConfig.stepPosition||"top","show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E},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--${((g=c.multiStepConfig)==null?void 0:g.stepPosition)||"top"}`])},[c.multiStepConfig&&c.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(J,{key:0,steps:N.value,"active-step-index":h.value,position:c.multiStepConfig.stepPosition??"top","show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ke,[(_=m.value)!=null&&_.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value.component),e.mergeProps({key:0},m.value.componentProps||{},{"onUpdate:data":I,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(i.value),y=>{var z,O,T,A,G;return e.openBlock(),e.createElementBlock(e.Fragment,{key:y},[e.unref(Z)(i.value[y],e.unref(u),e.unref(f))?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:0,size:((z=i.value[y].grid)==null?void 0:z.xs)??"12","size-sm":(O=i.value[y].grid)==null?void 0:O.sm,"size-md":(T=i.value[y].grid)==null?void 0:T.md,"size-lg":(A=i.value[y].grid)==null?void 0:A.lg,"size-xl":(G=i.value[y].grid)==null?void 0:G.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value[y].type),{modelValue:i.value[y],"onUpdate:modelValue":oe=>i.value[y]=oe,schema:i.value,"form-id":y,ref_for:!0,ref_key:"dynamicRefs",ref:k,"ref-key":y},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})),c.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:c.buttonPlacement}])},{default:e.withCtx(()=>[S.value?(e.openBlock(),e.createBlock(q,{key:0,type:"previous",label:c.previousButtonText,onClick:b},null,8,["label"])):e.createCommentVNode("",!0),c.showCancelButton?(e.openBlock(),e.createBlock(q,{key:1,type:"cancel",label:c.cancelButtonText,onClick:L},null,8,["label"])):e.createCommentVNode("",!0),c.showClearButton?(e.openBlock(),e.createBlock(q,{key:2,type:"clear",label:c.clearButtonText,onClick:P},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.customButtons,y=>(e.openBlock(),e.createBlock(ce,{button:y,key:y.label},null,8,["button"]))),128)),B.value?(e.openBlock(),e.createBlock(q,{key:3,type:"next",label:c.nextButtonText,onClick:U},null,8,["label"])):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createBlock(q,{key:4,type:"submit",label:c.submitButtonText,onClick:F},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),c.multiStepConfig&&(c.multiStepConfig.stepPosition==="left"||c.multiStepConfig.stepPosition==="right")&&c.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ze,[e.createElementVNode("div",Je,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${D.value}%`})},null,4)]),e.createElementVNode("div",Qe," Step "+e.toDisplayString(h.value+1)+" of "+e.toDisplayString(N.value.length),1)])):e.createCommentVNode("",!0)]),c.multiStepConfig&&c.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(J,{key:1,steps:N.value,"active-step-index":h.value,position:c.multiStepConfig.stepPosition,"show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),c.multiStepConfig&&c.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(J,{key:1,steps:N.value,"active-step-index":h.value,position:c.multiStepConfig.stepPosition,"show-progress":c.multiStepConfig.showProgress,"allow-navigation":c.multiStepConfig.allowStepNavigation,onStepClick:E},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(i.value),y=>{var z,O,T,A,G;return e.openBlock(),e.createElementBlock(e.Fragment,{key:y},[e.unref(Z)(i.value[y],e.unref(u),e.unref(f))?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:0,size:((z=i.value[y].grid)==null?void 0:z.xs)??"12","size-sm":(O=i.value[y].grid)==null?void 0:O.sm,"size-md":(T=i.value[y].grid)==null?void 0:T.md,"size-lg":(A=i.value[y].grid)==null?void 0:A.lg,"size-xl":(G=i.value[y].grid)==null?void 0:G.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value[y].type),{modelValue:i.value[y],"onUpdate:modelValue":oe=>i.value[y]=oe,schema:i.value,"form-id":y,ref_for:!0,ref_key:"dynamicRefs",ref:k,"ref-key":y,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}),c.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:c.buttonPlacement}])},{default:e.withCtx(()=>[c.showCancelButton?(e.openBlock(),e.createBlock(q,{key:0,type:"cancel",label:c.cancelButtonText,onClick:L},null,8,["label"])):e.createCommentVNode("",!0),c.showClearButton?(e.openBlock(),e.createBlock(q,{key:1,type:"clear",label:c.clearButtonText,onClick:P},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.customButtons,y=>(e.openBlock(),e.createBlock(ce,{button:y,key:y.label},null,8,["button"]))),128)),e.createVNode(q,{type:"submit",label:c.submitButtonText,onClick:F},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),[["__scopeId","data-v-400c942b"]]);function Xe(l){return{applyValidationState:async t=>{var n,s,i,r,k;(n=l.value)==null||n.$el.classList.remove("ion-invalid"),(s=l.value)==null||s.$el.classList.remove("ion-valid"),t?(i=l.value)==null||i.$el.classList.add("ion-valid"):(r=l.value)==null||r.$el.classList.add("ion-invalid"),(k=l.value)==null||k.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(n=l.value)==null||n.$el.classList.remove("ion-invalid")}}}function $(l,a,o,t,n){const{applyValidationState:s,resetValidationState:i}=Xe(l),r=e.inject("globalConfig");async function k(){var h;if(a.value.required&&!o.value)return a.value.error=((h=r==null?void 0:r.errorMessages)==null?void 0:h.required)??"This field is required",!1;if(n){const m=await n(o.value);if(typeof m=="string")return a.value.error=m,!1;if(m===!1)return!1}if(a.value.validation){const m=await a.value.validation(o.value,t==null?void 0:t.value);if(m!=null&&m.length)return a.value.error=m.join(),!1}return!0}async function d(){const h=await k();h&&(a.value.error="",a.value.value=o.value),await s(h)}function u(){i(),a.value.error=""}function f(h=""){o.value=h,a.value.error="",a.value.value=h}function p(){return a.value.error?[a.value.error]:[]}return{isValid:k,onValueUpdate:d,onFocus:u,onReset:f,getErrors:p,applyValidationState:s,resetValidationState:i}}function ne(l){const a=e.ref(void 0),o=e.ref(!1),t=e.ref(null);async function n(){if(!l.value.value){a.value=void 0;return}o.value=!0,t.value=null;try{const i=await ae(l.value.value);a.value=i,l.value.value=i}catch(i){t.value=i instanceof Error?i.message:"Failed to resolve field value",console.error("Error resolving field value:",i)}finally{o.value=!1}}async function s(i){l.value.value=i,await n()}return e.watch(()=>l.value.value,async()=>{await n()},{immediate:!1}),e.onMounted(async()=>{await n()}),{resolvedValue:a,isLoading:o,error:t,resolveValue:n,updateValue:s}}function Ye(l){const a=e.computed(()=>!!l.value.label),o=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:a,showRequired:o,labelText:t}}const Q=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(l){const a=l,{showLabel:o,showRequired:t,labelText:n}=Ye(e.toRef(a,"model"));return(s,i)=>e.unref(o)?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,slot:s.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>i[0]||(i[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1},8,["slot"])):e.createCommentVNode("",!0)}}),H=j(e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),s=e.computed(()=>o.schema),{resolvedValue:i,isLoading:r,error:k}=ne(t),d=e.ref("");e.watch(i,B=>{B!=null?d.value=String(B):d.value=""},{immediate:!0});const{isValid:u,onValueUpdate:f,onFocus:p,onReset:h,getErrors:m}=$(n,t,d,s),N=e.computed(()=>{if(t.value.pattern)return xe(t.value.pattern)});return a({onValueUpdate:f,onReset:h,getErrors:()=>{const B=m();return k.value?[...B,k.value]:B},isValid:u,isLoading:r,valueError:k}),(B,S)=>{var F;const D=e.resolveDirective("maskito");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input-container",{loading:e.unref(r)}])},[e.withDirectives((e.openBlock(),e.createBlock(e.unref(V.IonInput),{ref_key:"inputRef",ref:n,modelValue:d.value,"onUpdate:modelValue":S[0]||(S[0]=v=>d.value=v),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:B.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:e.unref(r)?"Loading...":((F=N.value)==null?void 0:F.placeholder)??t.value.placeholder,disabled:t.value.disabled||e.unref(r),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(p),onIonChange:e.unref(f),onIonBlur:e.unref(f)},{default:e.withCtx(()=>[e.createVNode(Q,{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),B.type==="password"?(e.openBlock(),e.createBlock(e.unref(V.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createBlock(e.unref(V.IonSpinner),{key:3,slot:"end",name:"crescent",class:"loading-spinner"})):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"])),[[D,N.value]])],2)}}}),[["__scopeId","data-v-9a88e1aa"]]),de=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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(H,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=i=>o.value=i),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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(H,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=i=>o.value=i),type:o.value.enableTime?"datetime-local":"date",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),fe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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(H,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=i=>o.value=i),type:"number",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),me=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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(H,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=i=>o.value=i),type:"email",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),he=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return a({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(H,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=i=>o.value=i),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),et={class:"option-content"},ye=j(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 o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),s=e.ref(null),i=e.ref(!1),r=e.ref([]),k=e.ref(""),d=e.ref(1),u=e.inject("globalConfig"),{isLoading:f}=ne(t),p=e.computed(()=>t.value.interface??"popover"),h=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),m=e.computed(()=>r.value.filter(c=>!!c.isChecked)),N=e.computed(()=>!k.value&&X(m.value)&&!i.value?t.value.placeholder??"Select an option":"");e.watch([k,()=>t.value.options],E,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,I,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!o.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(C=>{const g=o.schema[C];return M(g)?g.value:void 0}),async(c,C)=>{c&&C&&!W(c,C)&&(w(),r.value=[],await E())},{deep:!0});function w(){t.value.error="",k.value="",d.value=1,t.value.value=t.value.multiple?[]:"",Oe(r.value)}function B(c){if(c.disabled)return;const C=r.value.findIndex(g=>g.value===c.value&&g.isChecked);if(C>=0){if(Array.isArray(t.value.value)){const g=te(c,t.value.value);g>=0&&t.value.value.splice(g,1)}r.value[C].isChecked=!1}else t.value.multiple||w(),R(c,r.value);b(),k.value=""}function S(){switch(p.value){case"action-sheet":D();break;case"alert":F();break;case"popover":default:i.value=!0;break}}async function D(){var C,g;if(await E(),t.value.multiple){i.value=!0;return}await(await V.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(_=>{let y="";return _.isChecked?y="selected-option":_.disabled&&(y="disabled-option"),{text:_.label,cssClass:y,handler:()=>(B(_),!1),disabled:_.disabled}}),{text:((g=(C=u==null?void 0:u.buttons)==null?void 0:C.cancel)==null?void 0:g.label)??"Cancel",role:"cancel"}]})).present()}async function F(){var g,_,y,z;await E();const c=r.value.map(O=>({label:O.label,type:t.value.multiple?"checkbox":"radio",value:O,checked:O.isChecked,disabled:O.disabled}));await(await V.alertController.create({header:t.value.label||"Select an option",inputs:c,buttons:[{text:((_=(g=u==null?void 0:u.buttons)==null?void 0:g.cancel)==null?void 0:_.label)??"Cancel",role:"cancel"},{text:((z=(y=u==null?void 0:u.buttons)==null?void 0:y.ok)==null?void 0:z.label)??"OK",handler:O=>{if(t.value.multiple)r.value.forEach(T=>ze(T,r.value)),O.forEach(T=>{const A=r.value.find(G=>G.value===T.value);A&&R(A,r.value)});else{w();const T=r.value.find(A=>A.value===O.value);T&&R(T,r.value)}b()}}]})).present()}async function v(){var c;if(t.value.required&&X(m.value))return((c=u==null?void 0:u.errorMessages)==null?void 0:c.required)??"This field is required";if(t.value.validation){const C=await t.value.validation(m.value,o==null?void 0:o.schema);if(C&&C.length)return C.join()}return!0}const{onFocus:P,applyValidationState:L}=$(n,t,e.computed(()=>t.value.multiple?m.value:m.value[0]),e.computed(()=>o==null?void 0:o.schema),v);function U(c){var C;c.target===((C=n.value)==null?void 0:C.$el)&&(P(),p.value==="popover"&&(i.value=!0))}async function b(c){var g;if((g=c==null?void 0:c.relatedTarget)!=null&&g.closest(".suggestions-list"))return;i.value=!1;const C=await v();C===!0?(t.value.error="",t.value.value=t.value.multiple?m.value:m.value[0]):t.value.error=typeof C=="string"?C:"Validation failed",await L(C===!0)}async function E(){const c=[];if(typeof t.value.options=="function"){let C={};if(t.value.dependsOn&&o.schema){const g=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let _=!0;if(C=g.reduce((y,z)=>{const O=o.schema[z];return y[z]=M(O)?O.value:void 0,(y[z]===void 0||y[z]===null||y[z]==="")&&(_=!1),y},{}),_){const y=await t.value.options(k.value,C);c.push(...y.filter(z=>!!z.label))}}else{const g=await t.value.options(k.value,{});c.push(...g.filter(_=>!!_.label))}}else Array.isArray(t.value.options)&&c.push(...De(t.value.options,k.value));m.value.forEach(C=>R(C,c)),r.value=c}async function I(){let c=t.value.value;if(typeof c=="function"){const C=c();c=C instanceof Promise?await C:C}else c instanceof Promise&&(c=await c);if(c){if(r.value.length===0&&await E(),Array.isArray(c))c.forEach(C=>R(C,r.value));else if(typeof c=="object")R(c,r.value);else{const C=r.value.find(g=>g.value===c);R(C||{value:c,label:c},r.value)}t.value.value=c,b()}}return e.onMounted(async()=>{await E(),await I()}),a({onValueUpdate:b,onReset:w,getErrors:()=>t.value.error?[t.value.error]:[]}),(c,C)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:b,ref_key:"containerRef",ref:s},[e.createVNode(e.unref(V.IonInput),{ref_key:"inputRef",ref:n,modelValue:k.value,"onUpdate:modelValue":C[0]||(C[0]=g=>k.value=g),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:e.unref(f)?"Loading...":N.value,disabled:t.value.disabled||e.unref(f),counter:t.value.counter,debounce:300,onIonFocus:U,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(V.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,_)=>(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(g.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 g;return[e.createTextVNode(e.toDisplayString(((g=m.value[0])==null?void 0:g.label)??""),1)]}),_:1})),e.unref(f)?(e.openBlock(),e.createBlock(e.unref(V.IonSpinner),{key:2,slot:"end",name:"crescent",class:"loading-spinner"})):(e.openBlock(),e.createBlock(e.unref(V.IonIcon),{key:3,slot:"end",icon:e.unref(K.chevronDown)},null,8,["icon"])),(m.value.length>0||k.value)&&!e.unref(f)?(e.openBlock(),e.createBlock(e.unref(V.IonIcon),{key:4,slot:"end",icon:e.unref(K.close),onClick:w,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),i.value&&r.value.length>0&&p.value==="popover"?(e.openBlock(),e.createBlock(e.unref(V.IonList),{key:0,class:e.normalizeClass(["suggestions-list",h.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,g=>(e.openBlock(),e.createBlock(e.unref(V.IonItem),{button:"",key:g.label,onClick:_=>B(g),lines:t.value.showOptionsSeparator?"none":"full",disabled:g.disabled,class:e.normalizeClass({"ion-item-disabled":g.disabled})},{default:e.withCtx(()=>{var _;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(V.IonCheckbox),{key:0,slot:"start",checked:g.isChecked,disabled:g.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",et,[e.createVNode(e.unref(V.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024),e.unref(re)(g,g.isChecked)?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:(_=g.description)==null?void 0:_.color,class:"option-description"},{default:e.withCtx(()=>{var y;return[e.createTextVNode(e.toDisplayString((y=g.description)==null?void 0:y.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),[["__scopeId","data-v-73a59c08"]]),ke=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),i=e.computed(()=>o.schema),{onValueUpdate:r,onFocus:k,onReset:d,getErrors:u}=$(n,t,s,i);return e.watch(()=>t.value.value,f=>s.value=f),a({onReset:d,onValueUpdate:r,getErrors:u}),(f,p)=>(e.openBlock(),e.createBlock(e.unref(V.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=h=>s.value=h),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(k),onIonChange:e.unref(r),onIonBlur:e.unref(r),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"},ge=j(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref([]),{dynamicRefs:s,getFormErrors:i,updateFormValues:r}=le(),k=e.computed(()=>n.value.map((m,N)=>({label:`Set ${N+1}`,value:N,other:Object.entries(m).reduce((w,[B,S])=>(M(S)&&(w[B]=S.value),w),{})})));e.watch(k,m=>{t.value.value=m},{deep:!0,immediate:!0}),e.onMounted(d);function d(){t.value.children&&n.value.push(ee(t.value.children))}function u(m){n.value.splice(m,1)}function f(){const m=N=>{const[w,B]=N.split("-"),S=parseInt(w,10);return!isNaN(S)&&B&&n.value[S]&&n.value[S][B]?n.value[S][B]:null};Fe(s.value,o.data,o.computedData,m)}function p(){return i()}async function h(){await r()}return a({onValueUpdate:h,onReset:f,getErrors:p}),(m,N)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(w,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:B},[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(w),S=>{var D,F,v,P,L;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Z)(w[S],m.data,m.computedData)?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:`${B}-${S}`,size:((D=w[S].grid)==null?void 0:D.xs)??"12","size-sm":(F=w[S].grid)==null?void 0:F.sm,"size-md":(v=w[S].grid)==null?void 0:v.md,"size-lg":(P=w[S].grid)==null?void 0:P.lg,"size-xl":(L=w[S].grid)==null?void 0:L.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w[S].type),{modelValue:w[S],"onUpdate:modelValue":U=>w[S]=U,schema:w,"ref-key":`${B}-${S}`,ref_for:!0,ref_key:"dynamicRefs",ref:s,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",tt,[B===n.value.length-1?(e.openBlock(),e.createBlock(e.unref(V.IonButton),{key:0,onClick:d,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonIcon),{slot:"icon-only",icon:e.unref(K.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),n.value.length>1?(e.openBlock(),e.createBlock(e.unref(V.IonButton),{key:1,onClick:S=>u(B),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonIcon),{slot:"icon-only",icon:e.unref(K.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),[["__scopeId","data-v-f27172ba"]]),Ce=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),i=e.computed(()=>o.schema),r=e.computed(()=>ve(t.value)),{onValueUpdate:k,onFocus:d,getErrors:u}=$(n,t,s,i);function f(){s.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,p=>s.value=p),a({onValueUpdate:k,onReset:f,getErrors:u}),(p,h)=>(e.openBlock(),e.createBlock(e.unref(V.IonCheckbox),{modelValue:s.value,"onUpdate:modelValue":h[0]||(h[0]=m=>s.value=m),ref_key:"inputRef",ref:n,justify:"start",class:e.normalizeClass(t.value.className),required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(d),onIonChange:e.unref(k),onIonBlur:e.unref(k),style:{width:"100%"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),lt={class:"radio-content"},nt={class:"radio-label"},Ve=j(e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),s=e.ref(t.value.value),i=e.computed(()=>o.schema),r=e.ref([]),{onValueUpdate:k,onFocus:d,getErrors:u,isValid:f}=$(n,t,s,i);function p(){t.value.error="",s.value=void 0,t.value.value=void 0}function h(w,B){return(w==null?void 0:w.value)===(B==null?void 0:B.value)}function m(w){return s.value?h(s.value,w):!1}async function N(){typeof t.value.options=="function"?r.value=await t.value.options():r.value=t.value.options}return e.watch(()=>t.value.value,w=>s.value=w),a({onValueUpdate:k,onReset:p,getErrors:u,isValid:f}),e.onMounted(N),(w,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Q,{model:t.value},null,8,["model"]),B[1]||(B[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:s.value,"onUpdate:modelValue":B[0]||(B[0]=S=>s.value=S),class:e.normalizeClass(t.value.className),required:t.value.required,disabled:t.value.disabled,compareWith:h,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(d),onIonChange:e.unref(k),onIonBlur:e.unref(k),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,S=>(e.openBlock(),e.createBlock(e.unref(V.IonItem),{key:S.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRadio),{value:S,disabled:t.value.disabled||S.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var D;return[e.createElementVNode("div",lt,[e.createElementVNode("div",nt,e.toDisplayString(S.label),1),e.unref(re)(S,m(S))?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:(D=S.description)==null?void 0:D.color,class:"radio-description"},{default:e.withCtx(()=>{var F;return[e.createTextVNode(e.toDisplayString((F=S.description)==null?void 0:F.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))}}),[["__scopeId","data-v-3dbfeaf7"]]),ot={class:"form-section-header"},at={class:"form-section-title"},rt={key:0,class:"form-section-subtitle"},be=j(e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(l){const o=l.modelValue;return(t,n)=>{var s,i,r,k,d;return e.openBlock(),e.createBlock(e.unref(V.IonCol),{size:((s=e.unref(o).grid)==null?void 0:s.xs)??"12","size-sm":(i=e.unref(o).grid)==null?void 0:i.sm,"size-md":(r=e.unref(o).grid)==null?void 0:r.md,"size-lg":(k=e.unref(o).grid)==null?void 0:k.lg,"size-xl":(d=e.unref(o).grid)==null?void 0:d.xl,class:e.normalizeClass(["form-section-container",e.unref(o).className])},{default:e.withCtx(()=>[e.createElementVNode("div",ot,[e.createElementVNode("h3",at,e.toDisplayString(e.unref(o).title),1),e.unref(o).subtitle?(e.openBlock(),e.createElementBlock("p",rt,e.toDisplayString(e.unref(o).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),[["__scopeId","data-v-e0bf7af0"]]);function st(l,a,o){const t=e.ref({}),n=e.ref({});function s(u,f,p){n.value[u]=p,f.forEach(h=>{var m;(m=t.value)[h]??(m[h]=[]),t.value[h].includes(u)||t.value[h].push(u)}),d(u)}function i(u){return Object.entries(t.value).filter(([,p])=>p.includes(u)).map(([p])=>p).reduce((p,h)=>(p[h]=a.value[h]??o.value[h],p),{})}function r(u,f){return u?Array.isArray(u)?u.some(p=>f.some(h=>k(p,h.value))):f.some(p=>k(u,p.value)):!1}function k(u,f){return typeof u=="object"&&u!==null?u.value===f:String(u)===String(f)}async function d(u,f){if(!n.value[u])return;const p=i(u),h=Object.keys(p);if(!(h.length===0||!h.every(N=>p[N]!==void 0&&p[N]!==null)))try{const N=n.value[u],w=await N(f,p);if(!l.value[u])return;const B=l.value[u];if(!M(B))return;B.options=w;const S=B.value;if(!S)return;r(S,w)||(B.value=B.multiple?[]:"")}catch(N){console.error(`Error loading options for ${u}:`,N)}}return e.watch([a,o],()=>{Object.entries(t.value).forEach(([u,f])=>{(a.value[u]!==void 0||o.value[u]!==void 0)&&f.forEach(p=>{d(p)})})},{deep:!0,immediate:!0}),{registerDependency:s,updateOptions:d}}const Be={install(l,a){a&&l.provide("globalConfig",a),l.component("VForm",ue),l.component("TextInput",de),l.component("DateInput",pe),l.component("NumberInput",fe),l.component("EmailInput",me),l.component("PasswordInput",he),l.component("SelectInput",ye),l.component("TextAreaInput",ke),l.component("RepeatInput",ge),l.component("CheckboxInput",Ce),l.component("RadioInput",Ve),l.component("FormSection",be),l.directive("maskito",we.maskito)}};x.CheckboxInput=Ce,x.DateInput=pe,x.EmailInput=me,x.FormBuilder=ue,x.FormSection=be,x.NumberInput=fe,x.PasswordInput=he,x.RadioInput=Ve,x.RepeatInput=ge,x.SelectInput=ye,x.TextAreaInput=ke,x.TextInput=de,x.VForm=Be,x.default=Be,x.resolveFormFieldValue=ae,x.useDataTransformation=se,x.useDependentOptions=st,x.useFormFieldValue=ne,x.useFormValidation=le,x.useInputValidation=$,x.useMultiStepForm=ie,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|