@uniquedj95/vform 3.8.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/inputs/CheckboxInput.vue.d.ts +3 -1
- package/dist/components/inputs/CheckboxInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/RadioInput.vue.d.ts +3 -1
- package/dist/components/inputs/RadioInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/TextAreaInput.vue.d.ts +3 -1
- package/dist/components/inputs/TextAreaInput.vue.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +981 -906
- 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/vform.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
A dynamic form builder for Vue.js with Ionic components
|
|
8
8
|
|
|
9
|
-
[](https://github.com/uniquedj95/vform/releases)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://vuejs.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
@@ -11,6 +11,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
|
11
11
|
onValueUpdate: () => Promise<void>;
|
|
12
12
|
onReset: typeof onReset;
|
|
13
13
|
getErrors: () => string[];
|
|
14
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
15
|
+
valueError: import('vue').Ref<string | null, string | null>;
|
|
14
16
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
17
|
"update:modelValue": (value: FormField) => any;
|
|
16
18
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
@@ -24,6 +26,6 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
|
24
26
|
M: {};
|
|
25
27
|
Defaults: {};
|
|
26
28
|
}, import("@ionic/core").JSX.IonCheckbox & import('@stencil/vue-output-target/runtime').InputProps<boolean | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
|
|
27
|
-
},
|
|
29
|
+
}, HTMLDivElement>;
|
|
28
30
|
export default _default;
|
|
29
31
|
//# sourceMappingURL=CheckboxInput.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/CheckboxInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CheckboxInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/CheckboxInput.vue"],"names":[],"mappings":"AAoBA;AA2GA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AA8BhF,iBAAS,OAAO,SAIf;AA8BD,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;AAmHhB,wBAUG"}
|
|
@@ -12,10 +12,12 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
|
12
12
|
onReset: typeof onReset;
|
|
13
13
|
getErrors: () => string[];
|
|
14
14
|
isValid: () => Promise<boolean>;
|
|
15
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
16
|
+
valueError: import('vue').Ref<string | null, string | null>;
|
|
15
17
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
16
18
|
"update:modelValue": (value: FormField) => any;
|
|
17
19
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
18
20
|
"onUpdate:modelValue"?: ((value: FormField) => any) | undefined;
|
|
19
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {},
|
|
21
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
20
22
|
export default _default;
|
|
21
23
|
//# sourceMappingURL=RadioInput.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/RadioInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RadioInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/RadioInput.vue"],"names":[],"mappings":"AAiDA;AA6MA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAU,MAAM,SAAS,CAAC;AAOxD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAwChF,iBAAS,OAAO,SAIf;AAoDD,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;AAsOhB,wBASG"}
|
|
@@ -10,6 +10,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
|
10
10
|
onReset: (defaultValue?: any) => void;
|
|
11
11
|
onValueUpdate: () => Promise<void>;
|
|
12
12
|
getErrors: () => string[];
|
|
13
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
14
|
+
valueError: import('vue').Ref<string | null, string | null>;
|
|
13
15
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
14
16
|
"update:modelValue": (value: FormField) => any;
|
|
15
17
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
@@ -23,6 +25,6 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
|
23
25
|
M: {};
|
|
24
26
|
Defaults: {};
|
|
25
27
|
}, import("@ionic/core").JSX.IonTextarea & import('@stencil/vue-output-target/runtime').InputProps<string | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
|
|
26
|
-
},
|
|
28
|
+
}, HTMLDivElement>;
|
|
27
29
|
export default _default;
|
|
28
30
|
//# sourceMappingURL=TextAreaInput.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAreaInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/TextAreaInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextAreaInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/TextAreaInput.vue"],"names":[],"mappings":"AAiCA;AAmHA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AA2DhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;AAyJhB,wBAUG"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),C=require("@ionic/vue"),Z=require("ionicons/icons"),be=require("@maskito/vue");function Be(l){return new Promise(a=>{requestAnimationFrame(async()=>{const n=await l.getInputElement();a(n)})})}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 n=Se[l];return n[a%n.length]}function xe(l){const a=[];let n="",t=0,o=0;for(;t<l.length;){const u=l[t];if(["d","a","*"].includes(u)){let s=1;if(l[t+1]==="{"){const r=l.indexOf("}",t+2);if(r!==-1){const y=l.slice(t+2,r);if(y.includes(",")){const[,d]=y.split(",").map(c=>parseInt(c.trim()));s=d||parseInt(y.split(",")[0])}else s=parseInt(y);t=r}}else{let r=t+1;for(;l[r]===u;)s++,r++;t=r-1}for(let r=0;r<s;r++)a.push(we[u]),n+=_e(u,o++)}else a.push(u),n+=u;t++}return{mask:a,placeholder:n,elementPredicate:Be}}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 ee(l,a,n){return l.disabled||l.hidden||typeof l.condition=="function"&&!l.condition(a,n)}function Ee(l,a,n,t){l.forEach(o=>{var u;if(typeof(o==null?void 0:o.onReset)=="function"&&((u=o==null?void 0:o.$attrs)!=null&&u["ref-key"])){const s=o.$attrs["ref-key"];if(s&&a[s]){const r=a[s];if(ee(r,n,t))return}o.onReset()}})}function Ne(l,a,n,t){l.forEach(o=>{var u;if(typeof(o==null?void 0:o.onReset)=="function"&&((u=o==null?void 0:o.$attrs)!=null&&u["ref-key"])){const s=o.$attrs["ref-key"],r=t(s);if(r&&ee(r,a,n))return;o.onReset()}})}function K(l,a,n){return typeof l.condition=="function"?l.condition(a,n):!0}function Y(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(n=>Y(n));const a={};return Object.entries(l).forEach(([n,t])=>{typeof t=="function"?a[n]=t.bind(a):a[n]=Y(t)}),a}function te(l,a){return a.findIndex(n=>n.value===l.value||n.label===l.label||n.value===l.label||n.label===l.value)}function L(l,a){const n=te(l,a);n>=0?a[n].isChecked=!0:a.push({...l,isChecked:!0})}function Ie(l,a){const n=te(l,a);n>=0&&(a[n].isChecked=!1)}function ze(l){l.forEach(a=>{a.isChecked=!1})}function re(l,a){if(!l.description)return!1;const n=l.description.show??"always";return n==="always"?!0:n==="onSelected"?!!a:!1}function Fe(l,a){return a?l.filter(n=>JSON.stringify(n).toLowerCase().includes(a.toLowerCase())):l}function Oe(l){const a=l.label||"",n=l.required?" *":"";return a+n}function G(l,a){if(l===a)return!0;if(l==null||a==null||typeof l!=typeof a)return!1;if(typeof l!="object")return l===a;if(Array.isArray(l)&&Array.isArray(a))return l.length!==a.length?!1:l.every((o,u)=>G(o,a[u]));if(Array.isArray(l)!==Array.isArray(a))return!1;const n=Object.keys(l),t=Object.keys(a);return n.length!==t.length?!1:n.every(o=>Object.hasOwn(a,o)&&G(l[o],a[o]))}function $(l){return l.type!=="FormSection"}function le(){const l=e.ref([]);async function a(){console.debug("Validating form inputs");const o=[];for(const u of l.value)if(typeof(u==null?void 0:u.onValueUpdate)=="function"&&await u.onValueUpdate(),typeof(u==null?void 0:u.getErrors)=="function")try{const s=u.getErrors();Array.isArray(s)?o.push(...s):console.warn("getErrors() returned non-array value:",s)}catch(s){console.error("Error calling getErrors on component:",s,u)}else console.warn("Component does not have getErrors function:",u);return o.every(X)}function n(){const o=[];for(const u of l.value)if(typeof(u==null?void 0:u.getErrors)=="function")try{const s=u.getErrors();Array.isArray(s)?o.push(...s):o.push(String(s))}catch(s){console.error("Error calling getErrors on component:",s,u)}return o}async function t(){for(const o of l.value)typeof(o==null?void 0:o.onValueUpdate)=="function"&&await o.onValueUpdate()}return{dynamicRefs:l,isFormValid:a,getFormErrors:n,updateFormValues:t}}function ue(l){const a=e.computed(()=>Object.entries(l.value).reduce((d,[c,f])=>{if($(f)&&f.value!==void 0){if(typeof f.value=="function"||f.value instanceof Promise)return d;d[c]=f.value}return d},{})),n=e.ref({}),t=(d,c,f)=>{const p=l.value[d];if($(p)&&p.children){const m=p.children[c];if(m&&$(m)&&typeof m.computedValue=="function")return m.computedValue(f,l.value)}return f},o=(d,c,f,p)=>{n.value[d][p]||(n.value[d][p]={}),Object.entries(c.other??{}).forEach(([m,v])=>{var B;!G(v,(B=f.other)==null?void 0:B[m])&&(n.value[d][p][m]=t(d,m,v))})},u=(d,c,f)=>{c.forEach((p,m)=>{const v=f[m]??{other:{}};o(d,p,v,m)})},s=(d,{other:c})=>Object.entries(c??{}).reduce((f,[p,m])=>(f[p]=t(d,p,m),f),{}),r=(d,c,f)=>{n.value[d]||(n.value[d]=[]);const p=c;Array.isArray(f[d])?u(d,p,f[d]):n.value[d]=p.map(m=>s(d,m))},y=(d,c,f)=>{if(!c){delete n.value[d];return}const p=l.value[d];$(p)&&(typeof p.onChange=="function"&&p.onChange(c,l.value),p.children!==void 0?r(d,c,f):typeof p.computedValue=="function"&&(n.value[d]=p.computedValue(c,l.value)))};return e.watch(a,(d,c={})=>{Object.keys(d).forEach(f=>{G(d[f],c[f])||y(f,d[f],c)}),Object.keys(c).forEach(f=>{!(f in d)&&f in n.value&&delete n.value[f]})},{immediate:!0,deep:!0}),{formData:a,computedData:n}}function se(l){const a=e.ref(0),n=e.ref({}),t=e.ref({}),o=e.ref({});function u(V,_){const E=l.steps.find(S=>S.id===V);if(!(E!=null&&E.schema))return{};const i={},k=Object.values(n.value).reduce((S,h)=>({...S,...h}),{}),g=Object.values(t.value).reduce((S,h)=>({...S,...h}),{});for(const[S,h]of Object.entries(E.schema))$(h)&&(ee(h,k,g)&&_&&S in _?i[S]=_[S]:h.value!==void 0&&(typeof h.value=="function"||h.value instanceof Promise||(i[S]=h.value)));return i}l.steps.forEach(V=>{n.value[V.id]=u(V.id),t.value[V.id]={},o.value[V.id]=[]});const s=e.ref(l.steps.map(V=>V.id)),r=e.computed(()=>l.steps.filter(_=>_.condition?_.condition(n.value,t.value):!0));e.watch(r,V=>{const _=V.map(i=>i.id);s.value.filter(i=>!_.includes(i)).forEach(i=>{b(i)}),s.value=_});const y=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),c=e.computed(()=>a.value===r.value.length-1),f=e.computed(()=>!c.value),p=e.computed(()=>!d.value),m=e.computed(()=>r.value.length),v=e.computed(()=>m.value===0?0:Math.round((a.value+1)/m.value*100));function x(V,_){n.value[V]={...n.value[V],..._}}function B(V,_){t.value[V]={...t.value[V],..._}}function b(V){if(l.steps.find(E=>E.id===V)){const E=n.value[V]||{};n.value[V]=u(V,E),t.value[V]={}}}async function w(){const V=y.value;if(!V)return!0;const _=[];if(V.validation){const E=await V.validation(n.value[V.id],t.value[V.id]);E&&_.push(...E)}return o.value[V.id]=_,_.length===0}async function F(V){return V<0||V>=r.value.length||V>a.value&&!await w()?!1:(a.value=V,!0)}async function N(){return f.value?F(a.value+1):!1}async function O(){return p.value?F(a.value-1):!1}function T(){a.value=0,o.value={},l.steps.forEach(V=>{b(V.id),o.value[V.id]=[]})}async function A(){let V=!0;for(const _ of l.steps)if(_.validation){const E=await _.validation(n.value[_.id],t.value[_.id]);o.value[_.id]=E||[],E&&E.length>0&&(V=!1)}return V}function M(){return{formData:{...n.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:y,stepData:n,stepComputedData:t,stepValidationErrors:o,visibleSteps:r,isFirstStep:d,isLastStep:c,canGoNext:f,canGoPrevious:p,totalSteps:m,progressPercentage:v,updateStepData:x,updateStepComputedData:B,clearStepData:b,validateCurrentStep:w,goToStep:F,nextStep:N,previousStep:O,resetForm:T,validateAllSteps:A,getMultiStepFormData:M}}const De={class:"step-indicator__container"},$e=["onClick"],Te={class:"step-indicator__step-content"},Pe={class:"step-indicator__step-marker"},Ae={class:"step-indicator__step-info"},Me={class:"step-indicator__step-title"},Le={key:0,class:"step-indicator__step-subtitle"},Re={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 n=l,t=a,o=e.computed(()=>n.steps.length===0?0:(n.activeStepIndex+1)/n.steps.length*100);function u(s){n.allowNavigation&&t("step-click",s)}return(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${s.position}`,{"step-indicator--clickable":s.allowNavigation}]])},[e.createElementVNode("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.steps,(y,d)=>(e.openBlock(),e.createElementBlock("div",{key:y.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":d===s.activeStepIndex,"step-indicator__step--completed":d<s.activeStepIndex,"step-indicator__step--clickable":s.allowNavigation}]),onClick:c=>u(d)},[e.createElementVNode("div",Te,[e.createElementVNode("div",Pe,[e.createElementVNode("span",null,e.toDisplayString(d+1),1)]),e.createElementVNode("div",Ae,[e.createElementVNode("div",Me,e.toDisplayString(y.title),1),y.subtitle?(e.openBlock(),e.createElementBlock("div",Le,e.toDisplayString(y.subtitle),1)):e.createCommentVNode("",!0)])]),d<s.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":d<s.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,$e))),128))]),s.showProgress&&(s.position==="top"||s.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",qe,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${o.value}%`})},null,4)]),e.createElementVNode("div",Ue," Step "+e.toDisplayString(s.activeStepIndex+1)+" of "+e.toDisplayString(s.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),U=(l,a)=>{const n=l.__vccOpts||l;for(const[t,o]of a)n[t]=o;return n},H=U(je,[["__scopeId","data-v-aca1a6d0"]]),R=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(l){const a=e.inject("globalConfig"),n=l,t=e.computed(()=>{var o,u;return n.label??((u=(o=a==null?void 0:a.buttons)==null?void 0:o[n.type])==null?void 0:u.label)??n.type});return(o,u)=>{var s,r,y,d,c,f,p,m,v,x,B,b;return e.openBlock(),e.createBlock(e.unref(C.IonButton),{color:((y=(r=(s=e.unref(a))==null?void 0:s.buttons)==null?void 0:r[l.type])==null?void 0:y.color)??"primary",fill:((f=(c=(d=e.unref(a))==null?void 0:d.buttons)==null?void 0:c[l.type])==null?void 0:f.fill)??"solid",expand:(v=(m=(p=e.unref(a))==null?void 0:p.buttons)==null?void 0:m[l.type])==null?void 0:v.expand,size:((b=(B=(x=e.unref(a))==null?void 0:x.buttons)==null?void 0:B[l.type])==null?void 0:b.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),ne=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(l){return(a,n)=>(e.openBlock(),e.createBlock(e.unref(C.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"},We={key:0,class:"multi-step-form"},He={class:"multi-step-form-content"},Ke={key:3,class:"step-progress-bottom"},Ze={class:"step-progress-bar"},Je={class:"step-progress-text"},Qe=e.defineComponent({__name:"vForm",props:{schema:{},multiStepConfig:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{},clearButtonText:{},cancelButtonText:{},nextButtonText:{},previousButtonText:{},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","multi-step-submit","step-change","clear","cancel"],setup(l,{expose:a,emit:n}){const t=l,o=n,u=e.computed(()=>!!t.multiStepConfig),s=e.ref(t.schema||{}),r=t.multiStepConfig?se(t.multiStepConfig):null,{dynamicRefs:y,isFormValid:d}=le(),{formData:c,computedData:f}=ue(s),p=e.ref(null),m=e.computed(()=>(r==null?void 0:r.currentStepIndex.value)??0),v=e.computed(()=>r==null?void 0:r.currentStep.value),x=e.computed(()=>(r==null?void 0:r.visibleSteps.value)??[]),B=e.computed(()=>(r==null?void 0:r.isLastStep.value)??!0),b=e.computed(()=>(r==null?void 0:r.canGoNext.value)??!1),w=e.computed(()=>(r==null?void 0:r.canGoPrevious.value)??!1),F=e.computed(()=>!u.value||!r?0:r.progressPercentage.value);e.watch(()=>v.value,i=>{i&&u.value&&(s.value=i.schema||{})},{immediate:!0}),e.watch([c,f],([i,k])=>{u.value&&r&&v.value&&(r.updateStepData(v.value.id,i),r.updateStepComputedData(v.value.id,k))},{deep:!0}),e.watch(()=>t.schema,i=>{if(!u.value&&i){s.value=i;for(const[k,g]of Object.entries(i))$(g)&&"value"in g&&g.value!==void 0&&(s.value[k].value=g.value)}},{deep:!0,immediate:!0});async function N(){var i;if(u.value&&r){if((i=v.value)!=null&&i.component&&p.value&&typeof p.value.validate=="function"&&!await p.value.validate()||!await r.validateAllSteps())return;const g=r.getMultiStepFormData();o("multi-step-submit",g)}else{if(!await d())return;o("submit",c.value,f.value)}}function O(){Ee(y.value,s.value,c.value,f.value)}function T(){u.value&&r&&v.value&&r.clearStepData(v.value.id),O(),o("clear")}function A(){u.value&&r?r.resetForm():O(),o("cancel")}async function M(){var i;if(u.value&&r){let k=!0;if((i=v.value)!=null&&i.component&&p.value?typeof p.value.validate=="function"&&(k=await p.value.validate()):k=await d(),!k)return;await r.nextStep()&&v.value&&o("step-change",m.value,v.value.id)}}async function V(){r&&await r.previousStep()&&v.value&&o("step-change",m.value,v.value.id)}async function _(i){var k;if(r){if(i>m.value){let S=!0;if((k=v.value)!=null&&k.component&&p.value?typeof p.value.validate=="function"&&(S=await p.value.validate()):S=await d(),!S)return}await r.goToStep(i)&&v.value&&o("step-change",i,v.value.id)}}e.watch(c,async()=>{var i;for(const[k,g]of Object.entries(s.value))if(!K(g,c.value,f.value)){const S=u.value&&v.value&&v.value.schema?v.value.schema[k]:(i=t.schema)==null?void 0:i[k];S&&$(S)&&"value"in S?g.value=S.value:g.value=void 0}},{deep:!0,immediate:!0});function E(i){u.value&&r&&v.value&&r.updateStepData(v.value.id,i)}return a({isLastStep:B,canGoNext:b,canGoPrevious:w,computedData:f,formData:c,resetForm:T,submitForm:N,isFormValid:d,resolveData:()=>u.value&&r?r.getMultiStepFormData():{formData:c.value,computedData:f.value},nextStep:M,previousStep:V,goToStep:_,getCurrentStep:()=>v.value,getCurrentStepIndex:()=>m.value}),(i,k)=>{var g,S;return e.openBlock(),e.createElementBlock("div",Ge,[u.value?(e.openBlock(),e.createElementBlock("div",We,[i.multiStepConfig&&i.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(H,{key:0,steps:x.value,"active-step-index":m.value,position:i.multiStepConfig.stepPosition||"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:_},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=i.multiStepConfig)==null?void 0:g.stepPosition)||"top"}`])},[i.multiStepConfig&&i.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(H,{key:0,steps:x.value,"active-step-index":m.value,position:i.multiStepConfig.stepPosition??"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:_,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",He,[(S=v.value)!=null&&S.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value.component),e.mergeProps({key:0},v.value.componentProps||{},{"onUpdate:data":E,ref_key:"customComponentRef",ref:p}),null,16)):(e.openBlock(),e.createBlock(e.unref(C.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),h=>{var I,z,D,P,q;return e.openBlock(),e.createElementBlock(e.Fragment,{key:h},[e.unref(K)(s.value[h],e.unref(c),e.unref(f))?(e.openBlock(),e.createBlock(e.unref(C.IonCol),{key:0,size:((I=s.value[h].grid)==null?void 0:I.xs)??"12","size-sm":(z=s.value[h].grid)==null?void 0:z.sm,"size-md":(D=s.value[h].grid)==null?void 0:D.md,"size-lg":(P=s.value[h].grid)==null?void 0:P.lg,"size-xl":(q=s.value[h].grid)==null?void 0:q.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[h].type),{modelValue:s.value[h],"onUpdate:modelValue":Q=>s.value[h]=Q,schema:s.value,"form-id":h,ref_for:!0,ref_key:"dynamicRefs",ref:y,"ref-key":h},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1})]),_:1})),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(C.IonRow),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[w.value?(e.openBlock(),e.createBlock(R,{key:0,type:"previous",label:i.previousButtonText,onClick:V},null,8,["label"])):e.createCommentVNode("",!0),i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:1,type:"cancel",label:i.cancelButtonText,onClick:A},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:2,type:"clear",label:i.clearButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,h=>(e.openBlock(),e.createBlock(ne,{button:h,key:h.label},null,8,["button"]))),128)),b.value?(e.openBlock(),e.createBlock(R,{key:3,type:"next",label:i.nextButtonText,onClick:M},null,8,["label"])):e.createCommentVNode("",!0),B.value?(e.openBlock(),e.createBlock(R,{key:4,type:"submit",label:i.submitButtonText,onClick:N},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),i.multiStepConfig&&(i.multiStepConfig.stepPosition==="left"||i.multiStepConfig.stepPosition==="right")&&i.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",Ze,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${F.value}%`})},null,4)]),e.createElementVNode("div",Je," Step "+e.toDisplayString(m.value+1)+" of "+e.toDisplayString(x.value.length),1)])):e.createCommentVNode("",!0)]),i.multiStepConfig&&i.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(H,{key:1,steps:x.value,"active-step-index":m.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:_,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),i.multiStepConfig&&i.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(H,{key:1,steps:x.value,"active-step-index":m.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:_},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(C.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),h=>{var I,z,D,P,q;return e.openBlock(),e.createElementBlock(e.Fragment,{key:h},[e.unref(K)(s.value[h],e.unref(c),e.unref(f))?(e.openBlock(),e.createBlock(e.unref(C.IonCol),{key:0,size:((I=s.value[h].grid)==null?void 0:I.xs)??"12","size-sm":(z=s.value[h].grid)==null?void 0:z.sm,"size-md":(D=s.value[h].grid)==null?void 0:D.md,"size-lg":(P=s.value[h].grid)==null?void 0:P.lg,"size-xl":(q=s.value[h].grid)==null?void 0:q.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[h].type),{modelValue:s.value[h],"onUpdate:modelValue":Q=>s.value[h]=Q,schema:s.value,"form-id":h,ref_for:!0,ref_key:"dynamicRefs",ref:y,"ref-key":h,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1}),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(C.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:0,type:"cancel",label:i.cancelButtonText,onClick:A},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:1,type:"clear",label:i.clearButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,h=>(e.openBlock(),e.createBlock(ne,{button:h,key:h.label},null,8,["button"]))),128)),e.createVNode(R,{type:"submit",label:i.submitButtonText,onClick:N},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),ie=U(Qe,[["__scopeId","data-v-400c942b"]]);function Xe(l){return{applyValidationState:async t=>{var o,u,s,r,y;(o=l.value)==null||o.$el.classList.remove("ion-invalid"),(u=l.value)==null||u.$el.classList.remove("ion-valid"),t?(s=l.value)==null||s.$el.classList.add("ion-valid"):(r=l.value)==null||r.$el.classList.add("ion-invalid"),(y=l.value)==null||y.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,o;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(o=l.value)==null||o.$el.classList.remove("ion-invalid")}}}function j(l,a,n,t,o){const{applyValidationState:u,resetValidationState:s}=Xe(l),r=e.inject("globalConfig");async function y(){var m;if(a.value.required&&!n.value)return a.value.error=((m=r==null?void 0:r.errorMessages)==null?void 0:m.required)??"This field is required",!1;if(o){const v=await o(n.value);if(typeof v=="string")return a.value.error=v,!1;if(v===!1)return!1}if(a.value.validation){const v=await a.value.validation(n.value,t==null?void 0:t.value);if(v!=null&&v.length)return a.value.error=v.join(),!1}return!0}async function d(){const m=await y();m&&(a.value.error="",a.value.value=n.value),await u(m)}function c(){s(),a.value.error=""}function f(m=""){n.value=m,a.value.error="",a.value.value=m}function p(){return a.value.error?[a.value.error]:[]}return{isValid:y,onValueUpdate:d,onFocus:c,onReset:f,getErrors:p,applyValidationState:u,resetValidationState:s}}function oe(l){const a=e.ref(void 0),n=e.ref(!1),t=e.ref(null);async function o(){if(!l.value.value){a.value=void 0;return}n.value=!0,t.value=null;try{const s=await ae(l.value.value);a.value=s,l.value.value=s}catch(s){t.value=s instanceof Error?s.message:"Failed to resolve field value",console.error("Error resolving field value:",s)}finally{n.value=!1}}async function u(s){l.value.value=s,await o()}return e.watch(()=>l.value.value,async()=>{await o()},{immediate:!1}),e.onMounted(async()=>{await o()}),{resolvedValue:a,isLoading:n,error:t,resolveValue:o,updateValue:u}}function Ye(l){const a=e.computed(()=>!!l.value.label),n=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:a,showRequired:n,labelText:t}}const J=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(l){const a=l,{showLabel:n,showRequired:t,labelText:o}=Ye(e.toRef(a,"model"));return(u,s)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(C.IonLabel),{key:0,slot:u.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(C.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1},8,["slot"])):e.createCommentVNode("",!0)}}),et=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),u=e.computed(()=>n.schema),{resolvedValue:s,isLoading:r,error:y}=oe(t),d=e.ref("");e.watch(s,b=>{b!=null?d.value=String(b):d.value=""},{immediate:!0});const{isValid:c,onValueUpdate:f,onFocus:p,onReset:m,getErrors:v}=j(o,t,d,u),x=e.computed(()=>{if(t.value.pattern)return xe(t.value.pattern)});return a({onValueUpdate:f,onReset:m,getErrors:()=>{const b=v();return y.value?[...b,y.value]:b},isValid:c,isLoading:r,valueError:y}),(b,w)=>{var N;const F=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(C.IonInput),{ref_key:"inputRef",ref:o,modelValue:d.value,"onUpdate:modelValue":w[0]||(w[0]=O=>d.value=O),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...":((N=x.value)==null?void 0:N.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(J,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(C.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(C.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(C.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createBlock(e.unref(C.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"])),[[F,x.value]])],2)}}}),W=U(et,[["__scopeId","data-v-9a88e1aa"]]),ce=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,u;return((u=(o=t.value)==null?void 0:o.getErrors)==null?void 0:u.call(o))??[]}}),(o,u)=>(e.openBlock(),e.createBlock(W,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=s=>n.value=s),type:"text",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),de=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},getErrors:()=>{var o,u;return((u=(o=t.value)==null?void 0:o.getErrors)==null?void 0:u.call(o))??[]}}),(o,u)=>(e.openBlock(),e.createBlock(W,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=s=>n.value=s),type:n.value.enableTime?"datetime-local":"date",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),pe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,u;return((u=(o=t.value)==null?void 0:o.getErrors)==null?void 0:u.call(o))??[]}}),(o,u)=>(e.openBlock(),e.createBlock(W,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=s=>n.value=s),type:"number",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),fe=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,u;return((u=(o=t.value)==null?void 0:o.getErrors)==null?void 0:u.call(o))??[]}}),(o,u)=>(e.openBlock(),e.createBlock(W,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=s=>n.value=s),type:"email",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ve=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,u;return((u=(o=t.value)==null?void 0:o.getErrors)==null?void 0:u.call(o))??[]}}),(o,u)=>(e.openBlock(),e.createBlock(W,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=s=>n.value=s),type:"password",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),tt={class:"option-content"},lt=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),u=e.ref(null),s=e.ref(!1),r=e.ref([]),y=e.ref(""),d=e.ref(1),c=e.inject("globalConfig"),{isLoading:f}=oe(t),p=e.computed(()=>t.value.interface??"popover"),m=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),v=e.computed(()=>r.value.filter(i=>!!i.isChecked)),x=e.computed(()=>!y.value&&X(v.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([y,()=>t.value.options],_,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,E,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!n.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(k=>{const g=n.schema[k];return $(g)?g.value:void 0}),async(i,k)=>{i&&k&&!G(i,k)&&(B(),r.value=[],await _())},{deep:!0});function B(){t.value.error="",y.value="",d.value=1,t.value.value=t.value.multiple?[]:"",ze(r.value)}function b(i){if(i.disabled)return;const k=r.value.findIndex(g=>g.value===i.value&&g.isChecked);if(k>=0){if(Array.isArray(t.value.value)){const g=te(i,t.value.value);g>=0&&t.value.value.splice(g,1)}r.value[k].isChecked=!1}else t.value.multiple||B(),L(i,r.value);V(),y.value=""}function w(){switch(p.value){case"action-sheet":F();break;case"alert":N();break;case"popover":default:s.value=!0;break}}async function F(){var k,g;if(await _(),t.value.multiple){s.value=!0;return}await(await C.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(S=>{let h="";return S.isChecked?h="selected-option":S.disabled&&(h="disabled-option"),{text:S.label,cssClass:h,handler:()=>(b(S),!1),disabled:S.disabled}}),{text:((g=(k=c==null?void 0:c.buttons)==null?void 0:k.cancel)==null?void 0:g.label)??"Cancel",role:"cancel"}]})).present()}async function N(){var g,S,h,I;await _();const i=r.value.map(z=>({label:z.label,type:t.value.multiple?"checkbox":"radio",value:z,checked:z.isChecked,disabled:z.disabled}));await(await C.alertController.create({header:t.value.label||"Select an option",inputs:i,buttons:[{text:((S=(g=c==null?void 0:c.buttons)==null?void 0:g.cancel)==null?void 0:S.label)??"Cancel",role:"cancel"},{text:((I=(h=c==null?void 0:c.buttons)==null?void 0:h.ok)==null?void 0:I.label)??"OK",handler:z=>{if(t.value.multiple)r.value.forEach(D=>Ie(D,r.value)),z.forEach(D=>{const P=r.value.find(q=>q.value===D.value);P&&L(P,r.value)});else{B();const D=r.value.find(P=>P.value===z.value);D&&L(D,r.value)}V()}}]})).present()}async function O(){var i;if(t.value.required&&X(v.value))return((i=c==null?void 0:c.errorMessages)==null?void 0:i.required)??"This field is required";if(t.value.validation){const k=await t.value.validation(v.value,n==null?void 0:n.schema);if(k&&k.length)return k.join()}return!0}const{onFocus:T,applyValidationState:A}=j(o,t,e.computed(()=>t.value.multiple?v.value:v.value[0]),e.computed(()=>n==null?void 0:n.schema),O);function M(i){var k;i.target===((k=o.value)==null?void 0:k.$el)&&(T(),p.value==="popover"&&(s.value=!0))}async function V(i){var g;if((g=i==null?void 0:i.relatedTarget)!=null&&g.closest(".suggestions-list"))return;s.value=!1;const k=await O();k===!0?(t.value.error="",t.value.value=t.value.multiple?v.value:v.value[0]):t.value.error=typeof k=="string"?k:"Validation failed",await A(k===!0)}async function _(){const i=[];if(typeof t.value.options=="function"){let k={};if(t.value.dependsOn&&n.schema){const g=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let S=!0;if(k=g.reduce((h,I)=>{const z=n.schema[I];return h[I]=$(z)?z.value:void 0,(h[I]===void 0||h[I]===null||h[I]==="")&&(S=!1),h},{}),S){const h=await t.value.options(y.value,k);i.push(...h.filter(I=>!!I.label))}}else{const g=await t.value.options(y.value,{});i.push(...g.filter(S=>!!S.label))}}else Array.isArray(t.value.options)&&i.push(...Fe(t.value.options,y.value));v.value.forEach(k=>L(k,i)),r.value=i}async function E(){let i=t.value.value;if(typeof i=="function"){const k=i();i=k instanceof Promise?await k:k}else i instanceof Promise&&(i=await i);if(i){if(r.value.length===0&&await _(),Array.isArray(i))i.forEach(k=>L(k,r.value));else if(typeof i=="object")L(i,r.value);else{const k=r.value.find(g=>g.value===i);L(k||{value:i,label:i},r.value)}t.value.value=i,V()}}return e.onMounted(async()=>{await _(),await E()}),a({onValueUpdate:V,onReset:B,getErrors:()=>t.value.error?[t.value.error]:[]}),(i,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:V,ref_key:"containerRef",ref:u},[e.createVNode(e.unref(C.IonInput),{ref_key:"inputRef",ref:o,modelValue:y.value,"onUpdate:modelValue":k[0]||(k[0]=g=>y.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...":x.value,disabled:t.value.disabled||e.unref(f),counter:t.value.counter,debounce:300,onIonFocus:M,onClick:w,style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(C.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(g,S)=>(e.openBlock(),e.createBlock(e.unref(C.IonChip),{key:S},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(C.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var g;return[e.createTextVNode(e.toDisplayString(((g=v.value[0])==null?void 0:g.label)??""),1)]}),_:1})),e.unref(f)?(e.openBlock(),e.createBlock(e.unref(C.IonSpinner),{key:2,slot:"end",name:"crescent",class:"loading-spinner"})):(e.openBlock(),e.createBlock(e.unref(C.IonIcon),{key:3,slot:"end",icon:e.unref(Z.chevronDown)},null,8,["icon"])),(v.value.length>0||y.value)&&!e.unref(f)?(e.openBlock(),e.createBlock(e.unref(C.IonIcon),{key:4,slot:"end",icon:e.unref(Z.close),onClick:B,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),s.value&&r.value.length>0&&p.value==="popover"?(e.openBlock(),e.createBlock(e.unref(C.IonList),{key:0,class:e.normalizeClass(["suggestions-list",m.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,g=>(e.openBlock(),e.createBlock(e.unref(C.IonItem),{button:"",key:g.label,onClick:S=>b(g),lines:t.value.showOptionsSeparator?"none":"full",disabled:g.disabled,class:e.normalizeClass({"ion-item-disabled":g.disabled})},{default:e.withCtx(()=>{var S;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(C.IonCheckbox),{key:0,slot:"start",checked:g.isChecked,disabled:g.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",tt,[e.createVNode(e.unref(C.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(C.IonText),{key:0,color:(S=g.description)==null?void 0:S.color,class:"option-description"},{default:e.withCtx(()=>{var h;return[e.createTextVNode(e.toDisplayString((h=g.description)==null?void 0:h.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),me=U(lt,[["__scopeId","data-v-73a59c08"]]),he=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),u=e.ref(t.value.value),s=e.computed(()=>n.schema),{onValueUpdate:r,onFocus:y,onReset:d,getErrors:c}=j(o,t,u,s);return e.watch(()=>t.value.value,f=>u.value=f),a({onReset:d,onValueUpdate:r,getErrors:c}),(f,p)=>(e.openBlock(),e.createBlock(e.unref(C.IonTextarea),{ref_key:"inputRef",ref:o,modelValue:u.value,"onUpdate:modelValue":p[0]||(p[0]=m=>u.value=m),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(r),onIonBlur:e.unref(r),style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"])]),_:1},8,["modelValue","class","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),ot={class:"button-container"},nt=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref([]),{dynamicRefs:u,getFormErrors:s,updateFormValues:r}=le(),y=e.computed(()=>o.value.map((v,x)=>({label:`Set ${x+1}`,value:x,other:Object.entries(v).reduce((B,[b,w])=>($(w)&&(B[b]=w.value),B),{})})));e.watch(y,v=>{t.value.value=v},{deep:!0,immediate:!0}),e.onMounted(d);function d(){t.value.children&&o.value.push(Y(t.value.children))}function c(v){o.value.splice(v,1)}function f(){const v=x=>{const[B,b]=x.split("-"),w=parseInt(B,10);return!isNaN(w)&&b&&o.value[w]&&o.value[w][b]?o.value[w][b]:null};Ne(u.value,n.data,n.computedData,v)}function p(){return s()}async function m(){await r()}return a({onValueUpdate:m,onReset:f,getErrors:p}),(v,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(B,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:b},[e.createVNode(e.unref(C.IonRow),{class:"repeat-row"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonCol),{size:"11",class:"form-fields-column"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRow),{class:"fields-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(B),w=>{var F,N,O,T,A;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(K)(B[w],v.data,v.computedData)?(e.openBlock(),e.createBlock(e.unref(C.IonCol),{key:`${b}-${w}`,size:((F=B[w].grid)==null?void 0:F.xs)??"12","size-sm":(N=B[w].grid)==null?void 0:N.sm,"size-md":(O=B[w].grid)==null?void 0:O.md,"size-lg":(T=B[w].grid)==null?void 0:T.lg,"size-xl":(A=B[w].grid)==null?void 0:A.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B[w].type),{modelValue:B[w],"onUpdate:modelValue":M=>B[w]=M,schema:B,"ref-key":`${b}-${w}`,ref_for:!0,ref_key:"dynamicRefs",ref:u,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(C.IonCol),{size:"1",class:"button-column"},{default:e.withCtx(()=>[e.createElementVNode("div",ot,[b===o.value.length-1?(e.openBlock(),e.createBlock(e.unref(C.IonButton),{key:0,onClick:d,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonIcon),{slot:"icon-only",icon:e.unref(Z.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),o.value.length>1?(e.openBlock(),e.createBlock(e.unref(C.IonButton),{key:1,onClick:w=>c(b),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonIcon),{slot:"icon-only",icon:e.unref(Z.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),ye=U(nt,[["__scopeId","data-v-f27172ba"]]),ge=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),u=e.ref(t.value.value),s=e.computed(()=>n.schema),r=e.computed(()=>Oe(t.value)),{onValueUpdate:y,onFocus:d,getErrors:c}=j(o,t,u,s);function f(){u.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,p=>u.value=p),a({onValueUpdate:y,onReset:f,getErrors:c}),(p,m)=>(e.openBlock(),e.createBlock(e.unref(C.IonCheckbox),{modelValue:u.value,"onUpdate:modelValue":m[0]||(m[0]=v=>u.value=v),ref_key:"inputRef",ref:o,justify:"start",class:e.normalizeClass(t.value.className),required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(d),onIonChange:e.unref(y),onIonBlur:e.unref(y),style:{width:"100%"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),at={class:"radio-content"},rt={class:"radio-label"},ut=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),u=e.ref(t.value.value),s=e.computed(()=>n.schema),r=e.ref([]),{onValueUpdate:y,onFocus:d,getErrors:c,isValid:f}=j(o,t,u,s);function p(){t.value.error="",u.value=void 0,t.value.value=void 0}function m(B,b){return(B==null?void 0:B.value)===(b==null?void 0:b.value)}function v(B){return u.value?m(u.value,B):!1}async function x(){typeof t.value.options=="function"?r.value=await t.value.options():r.value=t.value.options}return e.watch(()=>t.value.value,B=>u.value=B),a({onValueUpdate:y,onReset:p,getErrors:c,isValid:f}),e.onMounted(x),(B,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(J,{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(C.IonNote),{key:0,color:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.error),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(C.IonItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRadioGroup),{modelValue:u.value,"onUpdate:modelValue":b[0]||(b[0]=w=>u.value=w),class:e.normalizeClass(t.value.className),required:t.value.required,disabled:t.value.disabled,compareWith:m,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(d),onIonChange:e.unref(y),onIonBlur:e.unref(y),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,w=>(e.openBlock(),e.createBlock(e.unref(C.IonItem),{key:w.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRadio),{value:w,disabled:t.value.disabled||w.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var F;return[e.createElementVNode("div",at,[e.createElementVNode("div",rt,e.toDisplayString(w.label),1),e.unref(re)(w,v(w))?(e.openBlock(),e.createBlock(e.unref(C.IonText),{key:0,color:(F=w.description)==null?void 0:F.color,class:"radio-description"},{default:e.withCtx(()=>{var N;return[e.createTextVNode(e.toDisplayString((N=w.description)==null?void 0:N.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["value","disabled"])]),_:2},1032,["lines"]))),128))]),_:1},8,["modelValue","class","required","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"])]),_:1})],64))}}),ke=U(ut,[["__scopeId","data-v-3dbfeaf7"]]),st={class:"form-section-header"},it={class:"form-section-title"},ct={key:0,class:"form-section-subtitle"},dt=e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(l){const n=l.modelValue;return(t,o)=>{var u,s,r,y,d;return e.openBlock(),e.createBlock(e.unref(C.IonCol),{size:((u=e.unref(n).grid)==null?void 0:u.xs)??"12","size-sm":(s=e.unref(n).grid)==null?void 0:s.sm,"size-md":(r=e.unref(n).grid)==null?void 0:r.md,"size-lg":(y=e.unref(n).grid)==null?void 0:y.lg,"size-xl":(d=e.unref(n).grid)==null?void 0:d.xl,class:e.normalizeClass(["form-section-container",e.unref(n).className])},{default:e.withCtx(()=>[e.createElementVNode("div",st,[e.createElementVNode("h3",it,e.toDisplayString(e.unref(n).title),1),e.unref(n).subtitle?(e.openBlock(),e.createElementBlock("p",ct,e.toDisplayString(e.unref(n).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),Ce=U(dt,[["__scopeId","data-v-e0bf7af0"]]);function pt(l,a,n){const t=e.ref({}),o=e.ref({});function u(c,f,p){o.value[c]=p,f.forEach(m=>{var v;(v=t.value)[m]??(v[m]=[]),t.value[m].includes(c)||t.value[m].push(c)}),d(c)}function s(c){return Object.entries(t.value).filter(([,p])=>p.includes(c)).map(([p])=>p).reduce((p,m)=>(p[m]=a.value[m]??n.value[m],p),{})}function r(c,f){return c?Array.isArray(c)?c.some(p=>f.some(m=>y(p,m.value))):f.some(p=>y(c,p.value)):!1}function y(c,f){return typeof c=="object"&&c!==null?c.value===f:String(c)===String(f)}async function d(c,f){if(!o.value[c])return;const p=s(c),m=Object.keys(p);if(!(m.length===0||!m.every(x=>p[x]!==void 0&&p[x]!==null)))try{const x=o.value[c],B=await x(f,p);if(!l.value[c])return;const b=l.value[c];if(!$(b))return;b.options=B;const w=b.value;if(!w)return;r(w,B)||(b.value=b.multiple?[]:"")}catch(x){console.error(`Error loading options for ${c}:`,x)}}return e.watch([a,n],()=>{Object.entries(t.value).forEach(([c,f])=>{(a.value[c]!==void 0||n.value[c]!==void 0)&&f.forEach(p=>{d(p)})})},{deep:!0,immediate:!0}),{registerDependency:u,updateOptions:d}}const Ve={install(l,a){a&&l.provide("globalConfig",a),l.component("VForm",ie),l.component("TextInput",ce),l.component("DateInput",de),l.component("NumberInput",pe),l.component("EmailInput",fe),l.component("PasswordInput",ve),l.component("SelectInput",me),l.component("TextAreaInput",he),l.component("RepeatInput",ye),l.component("CheckboxInput",ge),l.component("RadioInput",ke),l.component("FormSection",Ce),l.directive("maskito",be.maskito)}};exports.CheckboxInput=ge;exports.DateInput=de;exports.EmailInput=fe;exports.FormBuilder=ie;exports.FormSection=Ce;exports.NumberInput=pe;exports.PasswordInput=ve;exports.RadioInput=ke;exports.RepeatInput=ye;exports.SelectInput=me;exports.TextAreaInput=he;exports.TextInput=ce;exports.VForm=Ve;exports.default=Ve;exports.resolveFormFieldValue=ae;exports.useDataTransformation=ue;exports.useDependentOptions=pt;exports.useFormFieldValue=oe;exports.useFormValidation=le;exports.useInputValidation=j;exports.useMultiStepForm=se;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),C=require("@ionic/vue"),J=require("ionicons/icons"),Be=require("@maskito/vue");function be(o){return new Promise(a=>{requestAnimationFrame(async()=>{const l=await o.getInputElement();a(l)})})}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(o,a){const l=Se[o];return l[a%l.length]}function Ee(o){const a=[];let l="",t=0,n=0;for(;t<o.length;){const i=o[t];if(["d","a","*"].includes(i)){let u=1;if(o[t+1]==="{"){const r=o.indexOf("}",t+2);if(r!==-1){const g=o.slice(t+2,r);if(g.includes(",")){const[,d]=g.split(",").map(c=>parseInt(c.trim()));u=d||parseInt(g.split(",")[0])}else u=parseInt(g);t=r}}else{let r=t+1;for(;o[r]===i;)u++,r++;t=r-1}for(let r=0;r<u;r++)a.push(we[i]),l+=_e(i,n++)}else a.push(i),l+=i;t++}return{mask:a,placeholder:l,elementPredicate:be}}async function ae(o){if(o!=null){if(typeof o!="function"&&!(o instanceof Promise))return o;if(typeof o=="function"){const a=o();return a instanceof Promise?await a:a}if(o instanceof Promise)return await o}}function Y(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function te(o,a,l){return o.disabled||o.hidden||typeof o.condition=="function"&&!o.condition(a,l)}function xe(o,a,l,t){o.forEach(n=>{var i;if(typeof(n==null?void 0:n.onReset)=="function"&&((i=n==null?void 0:n.$attrs)!=null&&i["ref-key"])){const u=n.$attrs["ref-key"];if(u&&a[u]){const r=a[u];if(te(r,l,t))return}n.onReset()}})}function Ne(o,a,l,t){o.forEach(n=>{var i;if(typeof(n==null?void 0:n.onReset)=="function"&&((i=n==null?void 0:n.$attrs)!=null&&i["ref-key"])){const u=n.$attrs["ref-key"],r=t(u);if(r&&te(r,a,l))return;n.onReset()}})}function Z(o,a,l){return typeof o.condition=="function"?o.condition(a,l):!0}function ee(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(l=>ee(l));const a={};return Object.entries(o).forEach(([l,t])=>{typeof t=="function"?a[l]=t.bind(a):a[l]=ee(t)}),a}function oe(o,a){return a.findIndex(l=>l.value===o.value||l.label===o.label||l.value===o.label||l.label===o.value)}function R(o,a){const l=oe(o,a);l>=0?a[l].isChecked=!0:a.push({...o,isChecked:!0})}function Ie(o,a){const l=oe(o,a);l>=0&&(a[l].isChecked=!1)}function ze(o){o.forEach(a=>{a.isChecked=!1})}function re(o,a){if(!o.description)return!1;const l=o.description.show??"always";return l==="always"?!0:l==="onSelected"?!!a:!1}function Fe(o,a){return a?o.filter(l=>JSON.stringify(l).toLowerCase().includes(a.toLowerCase())):o}function Oe(o){const a=o.label||"",l=o.required?" *":"";return a+l}function G(o,a){if(o===a)return!0;if(o==null||a==null||typeof o!=typeof a)return!1;if(typeof o!="object")return o===a;if(Array.isArray(o)&&Array.isArray(a))return o.length!==a.length?!1:o.every((n,i)=>G(n,a[i]));if(Array.isArray(o)!==Array.isArray(a))return!1;const l=Object.keys(o),t=Object.keys(a);return l.length!==t.length?!1:l.every(n=>Object.hasOwn(a,n)&&G(o[n],a[n]))}function A(o){return o.type!=="FormSection"}function ne(){const o=e.ref([]);async function a(){console.debug("Validating form inputs");const n=[];for(const i of o.value)if(typeof(i==null?void 0:i.onValueUpdate)=="function"&&await i.onValueUpdate(),typeof(i==null?void 0:i.getErrors)=="function")try{const u=i.getErrors();Array.isArray(u)?n.push(...u):console.warn("getErrors() returned non-array value:",u)}catch(u){console.error("Error calling getErrors on component:",u,i)}else console.warn("Component does not have getErrors function:",i);return n.every(Y)}function l(){const n=[];for(const i of o.value)if(typeof(i==null?void 0:i.getErrors)=="function")try{const u=i.getErrors();Array.isArray(u)?n.push(...u):n.push(String(u))}catch(u){console.error("Error calling getErrors on component:",u,i)}return n}async function t(){for(const n of o.value)typeof(n==null?void 0:n.onValueUpdate)=="function"&&await n.onValueUpdate()}return{dynamicRefs:o,isFormValid:a,getFormErrors:l,updateFormValues:t}}function ue(o){const a=e.computed(()=>Object.entries(o.value).reduce((d,[c,p])=>{if(A(p)&&p.value!==void 0){if(typeof p.value=="function"||p.value instanceof Promise)return d;d[c]=p.value}return d},{})),l=e.ref({}),t=(d,c,p)=>{const v=o.value[d];if(A(v)&&v.children){const m=v.children[c];if(m&&A(m)&&typeof m.computedValue=="function")return m.computedValue(p,o.value)}return p},n=(d,c,p,v)=>{l.value[d][v]||(l.value[d][v]={}),Object.entries(c.other??{}).forEach(([m,f])=>{var V;!G(f,(V=p.other)==null?void 0:V[m])&&(l.value[d][v][m]=t(d,m,f))})},i=(d,c,p)=>{c.forEach((v,m)=>{const f=p[m]??{other:{}};n(d,v,f,m)})},u=(d,{other:c})=>Object.entries(c??{}).reduce((p,[v,m])=>(p[v]=t(d,v,m),p),{}),r=(d,c,p)=>{l.value[d]||(l.value[d]=[]);const v=c;Array.isArray(p[d])?i(d,v,p[d]):l.value[d]=v.map(m=>u(d,m))},g=(d,c,p)=>{if(!c){delete l.value[d];return}const v=o.value[d];A(v)&&(typeof v.onChange=="function"&&v.onChange(c,o.value),v.children!==void 0?r(d,c,p):typeof v.computedValue=="function"&&(l.value[d]=v.computedValue(c,o.value)))};return e.watch(a,(d,c={})=>{Object.keys(d).forEach(p=>{G(d[p],c[p])||g(p,d[p],c)}),Object.keys(c).forEach(p=>{!(p in d)&&p in l.value&&delete l.value[p]})},{immediate:!0,deep:!0}),{formData:a,computedData:l}}function se(o){const a=e.ref(0),l=e.ref({}),t=e.ref({}),n=e.ref({});function i(B,E){const z=o.steps.find(w=>w.id===B);if(!(z!=null&&z.schema))return{};const s={},k=Object.values(l.value).reduce((w,h)=>({...w,...h}),{}),y=Object.values(t.value).reduce((w,h)=>({...w,...h}),{});for(const[w,h]of Object.entries(z.schema))A(h)&&(te(h,k,y)&&E&&w in E?s[w]=E[w]:h.value!==void 0&&(typeof h.value=="function"||h.value instanceof Promise||(s[w]=h.value)));return s}o.steps.forEach(B=>{l.value[B.id]=i(B.id),t.value[B.id]={},n.value[B.id]=[]});const u=e.ref(o.steps.map(B=>B.id)),r=e.computed(()=>o.steps.filter(E=>E.condition?E.condition(l.value,t.value):!0));e.watch(r,B=>{const E=B.map(s=>s.id);u.value.filter(s=>!E.includes(s)).forEach(s=>{b(s)}),u.value=E});const g=e.computed(()=>r.value.length>0?a.value>=r.value.length?r.value[r.value.length-1]:r.value[a.value]:o.steps[a.value]),d=e.computed(()=>a.value===0),c=e.computed(()=>a.value===r.value.length-1),p=e.computed(()=>!c.value),v=e.computed(()=>!d.value),m=e.computed(()=>r.value.length),f=e.computed(()=>m.value===0?0:Math.round((a.value+1)/m.value*100));function S(B,E){l.value[B]={...l.value[B],...E}}function V(B,E){t.value[B]={...t.value[B],...E}}function b(B){if(o.steps.find(z=>z.id===B)){const z=l.value[B]||{};l.value[B]=i(B,z),t.value[B]={}}}async function _(){const B=g.value;if(!B)return!0;const E=[];if(B.validation){const z=await B.validation(l.value[B.id],t.value[B.id]);z&&E.push(...z)}return n.value[B.id]=E,E.length===0}async function D(B){return B<0||B>=r.value.length||B>a.value&&!await _()?!1:(a.value=B,!0)}async function x(){return p.value?D(a.value+1):!1}async function N(){return v.value?D(a.value-1):!1}function I(){a.value=0,n.value={},o.steps.forEach(B=>{b(B.id),n.value[B.id]=[]})}async function T(){let B=!0;for(const E of o.steps)if(E.validation){const z=await E.validation(l.value[E.id],t.value[E.id]);n.value[E.id]=z||[],z&&z.length>0&&(B=!1)}return B}function L(){return{formData:{...l.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:g,stepData:l,stepComputedData:t,stepValidationErrors:n,visibleSteps:r,isFirstStep:d,isLastStep:c,canGoNext:p,canGoPrevious:v,totalSteps:m,progressPercentage:f,updateStepData:S,updateStepComputedData:V,clearStepData:b,validateCurrentStep:_,goToStep:D,nextStep:x,previousStep:N,resetForm:I,validateAllSteps:T,getMultiStepFormData:L}}const De={class:"step-indicator__container"},Te=["onClick"],$e={class:"step-indicator__step-content"},Le={class:"step-indicator__step-marker"},Ae={class:"step-indicator__step-info"},Pe={class:"step-indicator__step-title"},Me={key:0,class:"step-indicator__step-subtitle"},Re={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(o,{emit:a}){const l=o,t=a,n=e.computed(()=>l.steps.length===0?0:(l.activeStepIndex+1)/l.steps.length*100);function i(u){l.allowNavigation&&t("step-click",u)}return(u,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${u.position}`,{"step-indicator--clickable":u.allowNavigation}]])},[e.createElementVNode("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.steps,(g,d)=>(e.openBlock(),e.createElementBlock("div",{key:g.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":d===u.activeStepIndex,"step-indicator__step--completed":d<u.activeStepIndex,"step-indicator__step--clickable":u.allowNavigation}]),onClick:c=>i(d)},[e.createElementVNode("div",$e,[e.createElementVNode("div",Le,[e.createElementVNode("span",null,e.toDisplayString(d+1),1)]),e.createElementVNode("div",Ae,[e.createElementVNode("div",Pe,e.toDisplayString(g.title),1),g.subtitle?(e.openBlock(),e.createElementBlock("div",Me,e.toDisplayString(g.subtitle),1)):e.createCommentVNode("",!0)])]),d<u.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":d<u.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,Te))),128))]),u.showProgress&&(u.position==="top"||u.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Re,[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(u.activeStepIndex+1)+" of "+e.toDisplayString(u.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),M=(o,a)=>{const l=o.__vccOpts||o;for(const[t,n]of a)l[t]=n;return l},K=M(je,[["__scopeId","data-v-aca1a6d0"]]),q=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(o){const a=e.inject("globalConfig"),l=o,t=e.computed(()=>{var n,i;return l.label??((i=(n=a==null?void 0:a.buttons)==null?void 0:n[l.type])==null?void 0:i.label)??l.type});return(n,i)=>{var u,r,g,d,c,p,v,m,f,S,V,b;return e.openBlock(),e.createBlock(e.unref(C.IonButton),{color:((g=(r=(u=e.unref(a))==null?void 0:u.buttons)==null?void 0:r[o.type])==null?void 0:g.color)??"primary",fill:((p=(c=(d=e.unref(a))==null?void 0:d.buttons)==null?void 0:c[o.type])==null?void 0:p.fill)??"solid",expand:(f=(m=(v=e.unref(a))==null?void 0:v.buttons)==null?void 0:m[o.type])==null?void 0:f.expand,size:((b=(V=(S=e.unref(a))==null?void 0:S.buttons)==null?void 0:V[o.type])==null?void 0:b.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),le=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(o){return(a,l)=>(e.openBlock(),e.createBlock(e.unref(C.IonButton),{onClick:o.button.action,color:o.button.color??"primary",fill:o.button.fill??"solid",size:o.button.size??"default",expand:o.button.expand},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.button.label),1)]),_:1},8,["onClick","color","fill","size","expand"]))}}),We={class:"v-form-container"},Ge={key:0,class:"multi-step-form"},He={class:"multi-step-form-content"},Ke={key:3,class:"step-progress-bottom"},Ze={class:"step-progress-bar"},Je={class:"step-progress-text"},Qe=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(o,{expose:a,emit:l}){const t=o,n=l,i=e.computed(()=>!!t.multiStepConfig),u=e.ref(t.schema||{}),r=t.multiStepConfig?se(t.multiStepConfig):null,{dynamicRefs:g,isFormValid:d}=ne(),{formData:c,computedData:p}=ue(u),v=e.ref(null),m=e.computed(()=>(r==null?void 0:r.currentStepIndex.value)??0),f=e.computed(()=>r==null?void 0:r.currentStep.value),S=e.computed(()=>(r==null?void 0:r.visibleSteps.value)??[]),V=e.computed(()=>(r==null?void 0:r.isLastStep.value)??!0),b=e.computed(()=>(r==null?void 0:r.canGoNext.value)??!1),_=e.computed(()=>(r==null?void 0:r.canGoPrevious.value)??!1),D=e.computed(()=>!i.value||!r?0:r.progressPercentage.value);e.watch(()=>f.value,s=>{s&&i.value&&(u.value=s.schema||{})},{immediate:!0}),e.watch([c,p],([s,k])=>{i.value&&r&&f.value&&(r.updateStepData(f.value.id,s),r.updateStepComputedData(f.value.id,k))},{deep:!0}),e.watch(()=>t.schema,s=>{if(!i.value&&s){u.value=s;for(const[k,y]of Object.entries(s))A(y)&&"value"in y&&y.value!==void 0&&(u.value[k].value=y.value)}},{deep:!0,immediate:!0});async function x(){var s;if(i.value&&r){if((s=f.value)!=null&&s.component&&v.value&&typeof v.value.validate=="function"&&!await v.value.validate()||!await r.validateAllSteps())return;const y=r.getMultiStepFormData();n("multi-step-submit",y)}else{if(!await d())return;n("submit",c.value,p.value)}}function N(){xe(g.value,u.value,c.value,p.value)}function I(){i.value&&r&&f.value&&r.clearStepData(f.value.id),N(),n("clear")}function T(){i.value&&r?r.resetForm():N(),n("cancel")}async function L(){var s;if(i.value&&r){let k=!0;if((s=f.value)!=null&&s.component&&v.value?typeof v.value.validate=="function"&&(k=await v.value.validate()):k=await d(),!k)return;await r.nextStep()&&f.value&&n("step-change",m.value,f.value.id)}}async function B(){r&&await r.previousStep()&&f.value&&n("step-change",m.value,f.value.id)}async function E(s){var k;if(r){if(s>m.value){let w=!0;if((k=f.value)!=null&&k.component&&v.value?typeof v.value.validate=="function"&&(w=await v.value.validate()):w=await d(),!w)return}await r.goToStep(s)&&f.value&&n("step-change",s,f.value.id)}}e.watch(c,async()=>{var s;for(const[k,y]of Object.entries(u.value))if(!Z(y,c.value,p.value)){const w=i.value&&f.value&&f.value.schema?f.value.schema[k]:(s=t.schema)==null?void 0:s[k];w&&A(w)&&"value"in w?y.value=w.value:y.value=void 0}},{deep:!0,immediate:!0});function z(s){i.value&&r&&f.value&&r.updateStepData(f.value.id,s)}return a({isLastStep:V,canGoNext:b,canGoPrevious:_,computedData:p,formData:c,resetForm:I,submitForm:x,isFormValid:d,resolveData:()=>i.value&&r?r.getMultiStepFormData():{formData:c.value,computedData:p.value},nextStep:L,previousStep:B,goToStep:E,getCurrentStep:()=>f.value,getCurrentStepIndex:()=>m.value}),(s,k)=>{var y,w;return e.openBlock(),e.createElementBlock("div",We,[i.value?(e.openBlock(),e.createElementBlock("div",Ge,[s.multiStepConfig&&s.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(K,{key:0,steps:S.value,"active-step-index":m.value,position:s.multiStepConfig.stepPosition||"top","show-progress":s.multiStepConfig.showProgress,"allow-navigation":s.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--${((y=s.multiStepConfig)==null?void 0:y.stepPosition)||"top"}`])},[s.multiStepConfig&&s.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(K,{key:0,steps:S.value,"active-step-index":m.value,position:s.multiStepConfig.stepPosition??"top","show-progress":s.multiStepConfig.showProgress,"allow-navigation":s.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,[(w=f.value)!=null&&w.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value.component),e.mergeProps({key:0},f.value.componentProps||{},{"onUpdate:data":z,ref_key:"customComponentRef",ref:v}),null,16)):(e.openBlock(),e.createBlock(e.unref(C.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(u.value),h=>{var F,O,$,P,U;return e.openBlock(),e.createElementBlock(e.Fragment,{key:h},[e.unref(Z)(u.value[h],e.unref(c),e.unref(p))?(e.openBlock(),e.createBlock(e.unref(C.IonCol),{key:0,size:((F=u.value[h].grid)==null?void 0:F.xs)??"12","size-sm":(O=u.value[h].grid)==null?void 0:O.sm,"size-md":($=u.value[h].grid)==null?void 0:$.md,"size-lg":(P=u.value[h].grid)==null?void 0:P.lg,"size-xl":(U=u.value[h].grid)==null?void 0:U.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.value[h].type),{modelValue:u.value[h],"onUpdate:modelValue":X=>u.value[h]=X,schema:u.value,"form-id":h,ref_for:!0,ref_key:"dynamicRefs",ref:g,"ref-key":h},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})),s.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(C.IonRow),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:s.buttonPlacement}])},{default:e.withCtx(()=>[_.value?(e.openBlock(),e.createBlock(q,{key:0,type:"previous",label:s.previousButtonText,onClick:B},null,8,["label"])):e.createCommentVNode("",!0),s.showCancelButton?(e.openBlock(),e.createBlock(q,{key:1,type:"cancel",label:s.cancelButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),s.showClearButton?(e.openBlock(),e.createBlock(q,{key:2,type:"clear",label:s.clearButtonText,onClick:I},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.customButtons,h=>(e.openBlock(),e.createBlock(le,{button:h,key:h.label},null,8,["button"]))),128)),b.value?(e.openBlock(),e.createBlock(q,{key:3,type:"next",label:s.nextButtonText,onClick:L},null,8,["label"])):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createBlock(q,{key:4,type:"submit",label:s.submitButtonText,onClick:x},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),s.multiStepConfig&&(s.multiStepConfig.stepPosition==="left"||s.multiStepConfig.stepPosition==="right")&&s.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",Ze,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${D.value}%`})},null,4)]),e.createElementVNode("div",Je," Step "+e.toDisplayString(m.value+1)+" of "+e.toDisplayString(S.value.length),1)])):e.createCommentVNode("",!0)]),s.multiStepConfig&&s.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(K,{key:1,steps:S.value,"active-step-index":m.value,position:s.multiStepConfig.stepPosition,"show-progress":s.multiStepConfig.showProgress,"allow-navigation":s.multiStepConfig.allowStepNavigation,onStepClick:E,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),s.multiStepConfig&&s.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(K,{key:1,steps:S.value,"active-step-index":m.value,position:s.multiStepConfig.stepPosition,"show-progress":s.multiStepConfig.showProgress,"allow-navigation":s.multiStepConfig.allowStepNavigation,onStepClick:E},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(C.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(u.value),h=>{var F,O,$,P,U;return e.openBlock(),e.createElementBlock(e.Fragment,{key:h},[e.unref(Z)(u.value[h],e.unref(c),e.unref(p))?(e.openBlock(),e.createBlock(e.unref(C.IonCol),{key:0,size:((F=u.value[h].grid)==null?void 0:F.xs)??"12","size-sm":(O=u.value[h].grid)==null?void 0:O.sm,"size-md":($=u.value[h].grid)==null?void 0:$.md,"size-lg":(P=u.value[h].grid)==null?void 0:P.lg,"size-xl":(U=u.value[h].grid)==null?void 0:U.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.value[h].type),{modelValue:u.value[h],"onUpdate:modelValue":X=>u.value[h]=X,schema:u.value,"form-id":h,ref_for:!0,ref_key:"dynamicRefs",ref:g,"ref-key":h,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}),s.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(C.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:s.buttonPlacement}])},{default:e.withCtx(()=>[s.showCancelButton?(e.openBlock(),e.createBlock(q,{key:0,type:"cancel",label:s.cancelButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),s.showClearButton?(e.openBlock(),e.createBlock(q,{key:1,type:"clear",label:s.clearButtonText,onClick:I},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.customButtons,h=>(e.openBlock(),e.createBlock(le,{button:h,key:h.label},null,8,["button"]))),128)),e.createVNode(q,{type:"submit",label:s.submitButtonText,onClick:x},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),ie=M(Qe,[["__scopeId","data-v-400c942b"]]);function Xe(o){return{applyValidationState:async t=>{var n,i,u,r,g;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(i=o.value)==null||i.$el.classList.remove("ion-valid"),t?(u=o.value)==null||u.$el.classList.add("ion-valid"):(r=o.value)==null||r.$el.classList.add("ion-invalid"),(g=o.value)==null||g.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=o.value)==null||t.$el.classList.remove("ion-touched"),(n=o.value)==null||n.$el.classList.remove("ion-invalid")}}}function j(o,a,l,t,n){const{applyValidationState:i,resetValidationState:u}=Xe(o),r=e.inject("globalConfig");async function g(){var m;if(a.value.required&&!l.value)return a.value.error=((m=r==null?void 0:r.errorMessages)==null?void 0:m.required)??"This field is required",!1;if(n){const f=await n(l.value);if(typeof f=="string")return a.value.error=f,!1;if(f===!1)return!1}if(a.value.validation){const f=await a.value.validation(l.value,t==null?void 0:t.value);if(f!=null&&f.length)return a.value.error=f.join(),!1}return!0}async function d(){const m=await g();m&&(a.value.error="",a.value.value=l.value),await i(m)}function c(){u(),a.value.error=""}function p(m=""){l.value=m,a.value.error="",a.value.value=m}function v(){return a.value.error?[a.value.error]:[]}return{isValid:g,onValueUpdate:d,onFocus:c,onReset:p,getErrors:v,applyValidationState:i,resetValidationState:u}}function W(o){const a=e.ref(void 0),l=e.ref(!1),t=e.ref(null);async function n(){if(!o.value.value){a.value=void 0;return}l.value=!0,t.value=null;try{const u=await ae(o.value.value);a.value=u,o.value.value=u}catch(u){t.value=u instanceof Error?u.message:"Failed to resolve field value",console.error("Error resolving field value:",u)}finally{l.value=!1}}async function i(u){o.value.value=u,await n()}return e.watch(()=>o.value.value,async()=>{await n()},{immediate:!1}),e.onMounted(async()=>{await n()}),{resolvedValue:a,isLoading:l,error:t,resolveValue:n,updateValue:i}}function Ye(o){const a=e.computed(()=>!!o.value.label),l=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:a,showRequired:l,labelText:t}}const Q=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(o){const a=o,{showLabel:l,showRequired:t,labelText:n}=Ye(e.toRef(a,"model"));return(i,u)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(C.IonLabel),{key:0,slot:i.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(C.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>u[0]||(u[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1},8,["slot"])):e.createCommentVNode("",!0)}}),et=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.computed(()=>l.schema),{resolvedValue:u,isLoading:r,error:g}=W(t),d=e.ref("");e.watch(u,b=>{b!=null?d.value=String(b):d.value=""},{immediate:!0});const{isValid:c,onValueUpdate:p,onFocus:v,onReset:m,getErrors:f}=j(n,t,d,i),S=e.computed(()=>{if(t.value.pattern)return Ee(t.value.pattern)});return a({onValueUpdate:p,onReset:m,getErrors:()=>{const b=f();return g.value?[...b,g.value]:b},isValid:c,isLoading:r,valueError:g}),(b,_)=>{var x;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(C.IonInput),{ref_key:"inputRef",ref:n,modelValue:d.value,"onUpdate:modelValue":_[0]||(_[0]=N=>d.value=N),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...":((x=S.value)==null?void 0:x.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(v),onIonChange:e.unref(p),onIonBlur:e.unref(p)},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(C.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(C.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(C.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createBlock(e.unref(C.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,S.value]])],2)}}}),H=M(et,[["__scopeId","data-v-9a88e1aa"]]),ce=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=e.useModel(o,"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,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(H,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=u=>l.value=u),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),de=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=e.useModel(o,"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,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(H,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=u=>l.value=u),type:l.value.enableTime?"datetime-local":"date",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),pe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=e.useModel(o,"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,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(H,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=u=>l.value=u),type:"number",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),fe=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=e.useModel(o,"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,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(H,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=u=>l.value=u),type:"email",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ve=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=e.useModel(o,"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,i;return((i=(n=t.value)==null?void 0:n.getErrors)==null?void 0:i.call(n))??[]}}),(n,i)=>(e.openBlock(),e.createBlock(H,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=u=>l.value=u),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),tt={class:"option-content"},ot=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.ref(null),u=e.ref(!1),r=e.ref([]),g=e.ref(""),d=e.ref(1),c=e.inject("globalConfig"),{isLoading:p}=W(t),v=e.computed(()=>t.value.interface??"popover"),m=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),f=e.computed(()=>r.value.filter(s=>!!s.isChecked)),S=e.computed(()=>!g.value&&Y(f.value)&&!u.value?t.value.placeholder??"Select an option":"");e.watch([g,()=>t.value.options],E,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,z,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!l.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(k=>{const y=l.schema[k];return A(y)?y.value:void 0}),async(s,k)=>{s&&k&&!G(s,k)&&(V(),r.value=[],await E())},{deep:!0});function V(){t.value.error="",g.value="",d.value=1,t.value.value=t.value.multiple?[]:"",ze(r.value)}function b(s){if(s.disabled)return;const k=r.value.findIndex(y=>y.value===s.value&&y.isChecked);if(k>=0){if(Array.isArray(t.value.value)){const y=oe(s,t.value.value);y>=0&&t.value.value.splice(y,1)}r.value[k].isChecked=!1}else t.value.multiple||V(),R(s,r.value);B(),g.value=""}function _(){switch(v.value){case"action-sheet":D();break;case"alert":x();break;case"popover":default:u.value=!0;break}}async function D(){var k,y;if(await E(),t.value.multiple){u.value=!0;return}await(await C.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(w=>{let h="";return w.isChecked?h="selected-option":w.disabled&&(h="disabled-option"),{text:w.label,cssClass:h,handler:()=>(b(w),!1),disabled:w.disabled}}),{text:((y=(k=c==null?void 0:c.buttons)==null?void 0:k.cancel)==null?void 0:y.label)??"Cancel",role:"cancel"}]})).present()}async function x(){var y,w,h,F;await E();const s=r.value.map(O=>({label:O.label,type:t.value.multiple?"checkbox":"radio",value:O,checked:O.isChecked,disabled:O.disabled}));await(await C.alertController.create({header:t.value.label||"Select an option",inputs:s,buttons:[{text:((w=(y=c==null?void 0:c.buttons)==null?void 0:y.cancel)==null?void 0:w.label)??"Cancel",role:"cancel"},{text:((F=(h=c==null?void 0:c.buttons)==null?void 0:h.ok)==null?void 0:F.label)??"OK",handler:O=>{if(t.value.multiple)r.value.forEach($=>Ie($,r.value)),O.forEach($=>{const P=r.value.find(U=>U.value===$.value);P&&R(P,r.value)});else{V();const $=r.value.find(P=>P.value===O.value);$&&R($,r.value)}B()}}]})).present()}async function N(){var s;if(t.value.required&&Y(f.value))return((s=c==null?void 0:c.errorMessages)==null?void 0:s.required)??"This field is required";if(t.value.validation){const k=await t.value.validation(f.value,l==null?void 0:l.schema);if(k&&k.length)return k.join()}return!0}const{onFocus:I,applyValidationState:T}=j(n,t,e.computed(()=>t.value.multiple?f.value:f.value[0]),e.computed(()=>l==null?void 0:l.schema),N);function L(s){var k;s.target===((k=n.value)==null?void 0:k.$el)&&(I(),v.value==="popover"&&(u.value=!0))}async function B(s){var y;if((y=s==null?void 0:s.relatedTarget)!=null&&y.closest(".suggestions-list"))return;u.value=!1;const k=await N();k===!0?(t.value.error="",t.value.value=t.value.multiple?f.value:f.value[0]):t.value.error=typeof k=="string"?k:"Validation failed",await T(k===!0)}async function E(){const s=[];if(typeof t.value.options=="function"){let k={};if(t.value.dependsOn&&l.schema){const y=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let w=!0;if(k=y.reduce((h,F)=>{const O=l.schema[F];return h[F]=A(O)?O.value:void 0,(h[F]===void 0||h[F]===null||h[F]==="")&&(w=!1),h},{}),w){const h=await t.value.options(g.value,k);s.push(...h.filter(F=>!!F.label))}}else{const y=await t.value.options(g.value,{});s.push(...y.filter(w=>!!w.label))}}else Array.isArray(t.value.options)&&s.push(...Fe(t.value.options,g.value));f.value.forEach(k=>R(k,s)),r.value=s}async function z(){let s=t.value.value;if(typeof s=="function"){const k=s();s=k instanceof Promise?await k:k}else s instanceof Promise&&(s=await s);if(s){if(r.value.length===0&&await E(),Array.isArray(s))s.forEach(k=>R(k,r.value));else if(typeof s=="object")R(s,r.value);else{const k=r.value.find(y=>y.value===s);R(k||{value:s,label:s},r.value)}t.value.value=s,B()}}return e.onMounted(async()=>{await E(),await z()}),a({onValueUpdate:B,onReset:V,getErrors:()=>t.value.error?[t.value.error]:[]}),(s,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:B,ref_key:"containerRef",ref:i},[e.createVNode(e.unref(C.IonInput),{ref_key:"inputRef",ref:n,modelValue:g.value,"onUpdate:modelValue":k[0]||(k[0]=y=>g.value=y),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:o.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:e.unref(p)?"Loading...":S.value,disabled:t.value.disabled||e.unref(p),counter:t.value.counter,debounce:300,onIonFocus:L,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(C.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(y,w)=>(e.openBlock(),e.createBlock(e.unref(C.IonChip),{key:w},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(C.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var y;return[e.createTextVNode(e.toDisplayString(((y=f.value[0])==null?void 0:y.label)??""),1)]}),_:1})),e.unref(p)?(e.openBlock(),e.createBlock(e.unref(C.IonSpinner),{key:2,slot:"end",name:"crescent",class:"loading-spinner"})):(e.openBlock(),e.createBlock(e.unref(C.IonIcon),{key:3,slot:"end",icon:e.unref(J.chevronDown)},null,8,["icon"])),(f.value.length>0||g.value)&&!e.unref(p)?(e.openBlock(),e.createBlock(e.unref(C.IonIcon),{key:4,slot:"end",icon:e.unref(J.close),onClick:V,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),u.value&&r.value.length>0&&v.value==="popover"?(e.openBlock(),e.createBlock(e.unref(C.IonList),{key:0,class:e.normalizeClass(["suggestions-list",m.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,y=>(e.openBlock(),e.createBlock(e.unref(C.IonItem),{button:"",key:y.label,onClick:w=>b(y),lines:t.value.showOptionsSeparator?"none":"full",disabled:y.disabled,class:e.normalizeClass({"ion-item-disabled":y.disabled})},{default:e.withCtx(()=>{var w;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(C.IonCheckbox),{key:0,slot:"start",checked:y.isChecked,disabled:y.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",tt,[e.createVNode(e.unref(C.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024),e.unref(re)(y,y.isChecked)?(e.openBlock(),e.createBlock(e.unref(C.IonText),{key:0,color:(w=y.description)==null?void 0:w.color,class:"option-description"},{default:e.withCtx(()=>{var h;return[e.createTextVNode(e.toDisplayString((h=y.description)==null?void 0:h.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),me=M(ot,[["__scopeId","data-v-73a59c08"]]),nt=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.computed(()=>l.schema),{resolvedValue:u,isLoading:r,error:g}=W(t),d=e.ref("");e.watch(u,S=>{S!=null?d.value=String(S):d.value=""},{immediate:!0});const{onValueUpdate:c,onFocus:p,onReset:v,getErrors:m}=j(n,t,d,i);return a({onReset:v,onValueUpdate:c,getErrors:()=>{const S=m();return g.value?[...S,g.value]:S},isLoading:r,valueError:g}),(S,V)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["textarea-container",{loading:e.unref(r)}])},[e.createVNode(e.unref(C.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:d.value,"onUpdate:modelValue":V[0]||(V[0]=b=>d.value=b),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:e.unref(r)?"Loading...":t.value.placeholder,disabled:t.value.disabled||e.unref(r),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(p),onIonChange:e.unref(c),onIonBlur:e.unref(c),style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(Q,{model:t.value,"slot-name":"label"},null,8,["model"]),e.unref(r)?(e.openBlock(),e.createBlock(e.unref(C.IonSpinner),{key:0,slot:"end",name:"crescent",class:"loading-spinner"})):e.createCommentVNode("",!0)]),_: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"])],2))}}),he=M(nt,[["__scopeId","data-v-76df4b17"]]),lt={class:"button-container"},at=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref([]),{dynamicRefs:i,getFormErrors:u,updateFormValues:r}=ne(),g=e.computed(()=>n.value.map((f,S)=>({label:`Set ${S+1}`,value:S,other:Object.entries(f).reduce((V,[b,_])=>(A(_)&&(V[b]=_.value),V),{})})));e.watch(g,f=>{t.value.value=f},{deep:!0,immediate:!0}),e.onMounted(d);function d(){t.value.children&&n.value.push(ee(t.value.children))}function c(f){n.value.splice(f,1)}function p(){const f=S=>{const[V,b]=S.split("-"),_=parseInt(V,10);return!isNaN(_)&&b&&n.value[_]&&n.value[_][b]?n.value[_][b]:null};Ne(i.value,l.data,l.computedData,f)}function v(){return u()}async function m(){await r()}return a({onValueUpdate:m,onReset:p,getErrors:v}),(f,S)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(V,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:b},[e.createVNode(e.unref(C.IonRow),{class:"repeat-row"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonCol),{size:"11",class:"form-fields-column"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRow),{class:"fields-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(V),_=>{var D,x,N,I,T;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Z)(V[_],f.data,f.computedData)?(e.openBlock(),e.createBlock(e.unref(C.IonCol),{key:`${b}-${_}`,size:((D=V[_].grid)==null?void 0:D.xs)??"12","size-sm":(x=V[_].grid)==null?void 0:x.sm,"size-md":(N=V[_].grid)==null?void 0:N.md,"size-lg":(I=V[_].grid)==null?void 0:I.lg,"size-xl":(T=V[_].grid)==null?void 0:T.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V[_].type),{modelValue:V[_],"onUpdate:modelValue":L=>V[_]=L,schema:V,"ref-key":`${b}-${_}`,ref_for:!0,ref_key:"dynamicRefs",ref:i,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(C.IonCol),{size:"1",class:"button-column"},{default:e.withCtx(()=>[e.createElementVNode("div",lt,[b===n.value.length-1?(e.openBlock(),e.createBlock(e.unref(C.IonButton),{key:0,onClick:d,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonIcon),{slot:"icon-only",icon:e.unref(J.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),n.value.length>1?(e.openBlock(),e.createBlock(e.unref(C.IonButton),{key:1,onClick:_=>c(b),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonIcon),{slot:"icon-only",icon:e.unref(J.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),ge=M(at,[["__scopeId","data-v-f27172ba"]]),rt=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.computed(()=>l.schema),{resolvedValue:u,isLoading:r,error:g}=W(t),d=e.ref(!1);e.watch(u,V=>{V!=null?d.value=!!V:d.value=!1},{immediate:!0});const c=e.computed(()=>Oe(t.value)),{onValueUpdate:p,onFocus:v,getErrors:m}=j(n,t,d,i);function f(){d.value=!1,t.value.error="",t.value.value=!1}return a({onValueUpdate:p,onReset:f,getErrors:()=>{const V=m();return g.value?[...V,g.value]:V},isLoading:r,valueError:g}),(V,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["checkbox-container",{loading:e.unref(r)}])},[e.createVNode(e.unref(C.IonCheckbox),{modelValue:d.value,"onUpdate:modelValue":b[0]||(b[0]=_=>d.value=_),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||e.unref(r),onIonFocus:e.unref(v),onIonChange:e.unref(p),onIonBlur:e.unref(p),style:{width:"100%"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)?"Loading...":c.value)+" ",1),e.unref(r)?(e.openBlock(),e.createBlock(e.unref(C.IonSpinner),{key:0,name:"crescent",class:"loading-spinner"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"])],2))}}),ye=M(rt,[["__scopeId","data-v-193b3431"]]),ut={class:"radio-content"},st={class:"radio-label"},it=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:a}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),i=e.computed(()=>l.schema),u=e.ref([]),{resolvedValue:r,isLoading:g,error:d}=W(t),c=e.ref(void 0);e.watch(r,x=>{if(x!=null)if(typeof x=="object"&&"value"in x&&"label"in x)c.value=x;else{const N=u.value.find(I=>I.value===x);c.value=N}else c.value=void 0},{immediate:!0});const{onValueUpdate:p,onFocus:v,getErrors:m,isValid:f}=j(n,t,c,i);function S(){t.value.error="",c.value=void 0,t.value.value=void 0}function V(x,N){return(x==null?void 0:x.value)===(N==null?void 0:N.value)}function b(x){return c.value?V(c.value,x):!1}async function _(){typeof t.value.options=="function"?u.value=await t.value.options():u.value=t.value.options}return a({onValueUpdate:p,onReset:S,getErrors:()=>{const x=m();return d.value?[...x,d.value]:x},isValid:f,isLoading:g,valueError:d}),e.onMounted(_),(x,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["radio-container",{loading:e.unref(g)}])},[e.createVNode(Q,{model:t.value},null,8,["model"]),e.unref(g)?(e.openBlock(),e.createBlock(e.unref(C.IonSpinner),{key:0,name:"crescent",class:"loading-spinner"})):e.createCommentVNode("",!0),N[2]||(N[2]=e.createElementVNode("br",null,null,-1)),t.value.error?(e.openBlock(),e.createBlock(e.unref(C.IonNote),{key:1,color:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.error),1)]),_:1})):e.createCommentVNode("",!0),e.unref(g)?(e.openBlock(),e.createBlock(e.unref(C.IonItem),{key:3},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonLabel),null,{default:e.withCtx(()=>N[1]||(N[1]=[e.createTextVNode("Loading options...")])),_:1,__:[1]})]),_:1})):(e.openBlock(),e.createBlock(e.unref(C.IonItem),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRadioGroup),{modelValue:c.value,"onUpdate:modelValue":N[0]||(N[0]=I=>c.value=I),class:e.normalizeClass(t.value.className),required:t.value.required,disabled:t.value.disabled,compareWith:V,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(v),onIonChange:e.unref(p),onIonBlur:e.unref(p),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,I=>(e.openBlock(),e.createBlock(e.unref(C.IonItem),{key:I.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.IonRadio),{value:I,disabled:t.value.disabled||I.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var T;return[e.createElementVNode("div",ut,[e.createElementVNode("div",st,e.toDisplayString(I.label),1),e.unref(re)(I,b(I))?(e.openBlock(),e.createBlock(e.unref(C.IonText),{key:0,color:(T=I.description)==null?void 0:T.color,class:"radio-description"},{default:e.withCtx(()=>{var L;return[e.createTextVNode(e.toDisplayString((L=I.description)==null?void 0:L.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}))],2))}}),ke=M(it,[["__scopeId","data-v-4732d2f9"]]),ct={class:"form-section-header"},dt={class:"form-section-title"},pt={key:0,class:"form-section-subtitle"},ft=e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(o){const l=o.modelValue;return(t,n)=>{var i,u,r,g,d;return e.openBlock(),e.createBlock(e.unref(C.IonCol),{size:((i=e.unref(l).grid)==null?void 0:i.xs)??"12","size-sm":(u=e.unref(l).grid)==null?void 0:u.sm,"size-md":(r=e.unref(l).grid)==null?void 0:r.md,"size-lg":(g=e.unref(l).grid)==null?void 0:g.lg,"size-xl":(d=e.unref(l).grid)==null?void 0:d.xl,class:e.normalizeClass(["form-section-container",e.unref(l).className])},{default:e.withCtx(()=>[e.createElementVNode("div",ct,[e.createElementVNode("h3",dt,e.toDisplayString(e.unref(l).title),1),e.unref(l).subtitle?(e.openBlock(),e.createElementBlock("p",pt,e.toDisplayString(e.unref(l).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),Ce=M(ft,[["__scopeId","data-v-e0bf7af0"]]);function vt(o,a,l){const t=e.ref({}),n=e.ref({});function i(c,p,v){n.value[c]=v,p.forEach(m=>{var f;(f=t.value)[m]??(f[m]=[]),t.value[m].includes(c)||t.value[m].push(c)}),d(c)}function u(c){return Object.entries(t.value).filter(([,v])=>v.includes(c)).map(([v])=>v).reduce((v,m)=>(v[m]=a.value[m]??l.value[m],v),{})}function r(c,p){return c?Array.isArray(c)?c.some(v=>p.some(m=>g(v,m.value))):p.some(v=>g(c,v.value)):!1}function g(c,p){return typeof c=="object"&&c!==null?c.value===p:String(c)===String(p)}async function d(c,p){if(!n.value[c])return;const v=u(c),m=Object.keys(v);if(!(m.length===0||!m.every(S=>v[S]!==void 0&&v[S]!==null)))try{const S=n.value[c],V=await S(p,v);if(!o.value[c])return;const b=o.value[c];if(!A(b))return;b.options=V;const _=b.value;if(!_)return;r(_,V)||(b.value=b.multiple?[]:"")}catch(S){console.error(`Error loading options for ${c}:`,S)}}return e.watch([a,l],()=>{Object.entries(t.value).forEach(([c,p])=>{(a.value[c]!==void 0||l.value[c]!==void 0)&&p.forEach(v=>{d(v)})})},{deep:!0,immediate:!0}),{registerDependency:i,updateOptions:d}}const Ve={install(o,a){a&&o.provide("globalConfig",a),o.component("VForm",ie),o.component("TextInput",ce),o.component("DateInput",de),o.component("NumberInput",pe),o.component("EmailInput",fe),o.component("PasswordInput",ve),o.component("SelectInput",me),o.component("TextAreaInput",he),o.component("RepeatInput",ge),o.component("CheckboxInput",ye),o.component("RadioInput",ke),o.component("FormSection",Ce),o.directive("maskito",Be.maskito)}};exports.CheckboxInput=ye;exports.DateInput=de;exports.EmailInput=fe;exports.FormBuilder=ie;exports.FormSection=Ce;exports.NumberInput=pe;exports.PasswordInput=ve;exports.RadioInput=ke;exports.RepeatInput=ge;exports.SelectInput=me;exports.TextAreaInput=he;exports.TextInput=ce;exports.VForm=Ve;exports.default=Ve;exports.resolveFormFieldValue=ae;exports.useDataTransformation=ue;exports.useDependentOptions=vt;exports.useFormFieldValue=W;exports.useFormValidation=ne;exports.useInputValidation=j;exports.useMultiStepForm=se;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|