@uniquedj95/vform 3.0.3 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/inputs/BaseInput.vue.d.ts +1 -1
- package/dist/components/inputs/CheckboxInput.vue.d.ts +1 -1
- package/dist/components/inputs/DateInput.vue.d.ts +1 -1
- package/dist/components/inputs/EmailInput.vue.d.ts +2 -2
- package/dist/components/inputs/NumberInput.vue.d.ts +2 -2
- package/dist/components/inputs/PasswordInput.vue.d.ts +2 -2
- package/dist/components/inputs/SelectInput.vue.d.ts +1 -2
- package/dist/components/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/TextAreaInput.vue.d.ts +1 -1
- package/dist/components/inputs/TextInput.vue.d.ts +2 -2
- package/dist/components/vForm.vue.d.ts +2 -4
- package/dist/components/vForm.vue.d.ts.map +1 -1
- package/dist/composables/useFormValidation.d.ts.map +1 -1
- package/dist/composables/useInputValidation.d.ts +1 -1
- package/dist/composables/useInputValidation.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 +540 -532
- 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/)
|
@@ -10,7 +10,7 @@ type __VLS_PublicProps = {
|
|
10
10
|
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
11
11
|
onValueUpdate: () => Promise<void>;
|
12
12
|
onReset: (defaultValue?: any) => void;
|
13
|
-
getErrors:
|
13
|
+
getErrors: () => string[];
|
14
14
|
isValid: () => Promise<boolean>;
|
15
15
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
16
16
|
"update:modelValue": (value: FormField) => any;
|
@@ -10,7 +10,7 @@ type __VLS_PublicProps = {
|
|
10
10
|
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
11
11
|
onValueUpdate: () => Promise<void>;
|
12
12
|
onReset: typeof onReset;
|
13
|
-
getErrors:
|
13
|
+
getErrors: () => string[];
|
14
14
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
15
15
|
"update:modelValue": (value: FormField) => any;
|
16
16
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
@@ -10,7 +10,7 @@ type __VLS_PublicProps = {
|
|
10
10
|
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
11
11
|
onValueUpdate: () => Promise<void>;
|
12
12
|
onReset: typeof onReset;
|
13
|
-
getErrors:
|
13
|
+
getErrors: () => string[];
|
14
14
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
15
15
|
"update:modelValue": (value: FormField) => any;
|
16
16
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
@@ -25,7 +25,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
25
25
|
}>, {
|
26
26
|
onValueUpdate: () => Promise<void>;
|
27
27
|
onReset: (defaultValue?: any) => void;
|
28
|
-
getErrors:
|
28
|
+
getErrors: () => string[];
|
29
29
|
isValid: () => Promise<boolean>;
|
30
30
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
31
31
|
"update:modelValue": (value: FormField) => any;
|
@@ -55,7 +55,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
55
55
|
}>, {
|
56
56
|
onValueUpdate: () => Promise<void>;
|
57
57
|
onReset: (defaultValue?: any) => void;
|
58
|
-
getErrors:
|
58
|
+
getErrors: () => string[];
|
59
59
|
isValid: () => Promise<boolean>;
|
60
60
|
}, {}, {}, {}, {}> | null;
|
61
61
|
}, any>;
|
@@ -25,7 +25,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
25
25
|
}>, {
|
26
26
|
onValueUpdate: () => Promise<void>;
|
27
27
|
onReset: (defaultValue?: any) => void;
|
28
|
-
getErrors:
|
28
|
+
getErrors: () => string[];
|
29
29
|
isValid: () => Promise<boolean>;
|
30
30
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
31
31
|
"update:modelValue": (value: FormField) => any;
|
@@ -55,7 +55,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
55
55
|
}>, {
|
56
56
|
onValueUpdate: () => Promise<void>;
|
57
57
|
onReset: (defaultValue?: any) => void;
|
58
|
-
getErrors:
|
58
|
+
getErrors: () => string[];
|
59
59
|
isValid: () => Promise<boolean>;
|
60
60
|
}, {}, {}, {}, {}> | null;
|
61
61
|
}, any>;
|
@@ -25,7 +25,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
25
25
|
}>, {
|
26
26
|
onValueUpdate: () => Promise<void>;
|
27
27
|
onReset: (defaultValue?: any) => void;
|
28
|
-
getErrors:
|
28
|
+
getErrors: () => string[];
|
29
29
|
isValid: () => Promise<boolean>;
|
30
30
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
31
31
|
"update:modelValue": (value: FormField) => any;
|
@@ -55,7 +55,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
55
55
|
}>, {
|
56
56
|
onValueUpdate: () => Promise<void>;
|
57
57
|
onReset: (defaultValue?: any) => void;
|
58
|
-
getErrors:
|
58
|
+
getErrors: () => string[];
|
59
59
|
isValid: () => Promise<boolean>;
|
60
60
|
}, {}, {}, {}, {}> | null;
|
61
61
|
}, any>;
|
@@ -5,7 +5,6 @@ type __VLS_Props = {
|
|
5
5
|
};
|
6
6
|
declare const model: import('vue').ModelRef<FormField, string, FormField, FormField>;
|
7
7
|
declare function onReset(): void;
|
8
|
-
declare function getErrors(): string | undefined;
|
9
8
|
declare function onValueUpdate(evt?: any): Promise<void>;
|
10
9
|
type __VLS_PublicProps = {
|
11
10
|
modelValue?: typeof model['value'];
|
@@ -13,7 +12,7 @@ type __VLS_PublicProps = {
|
|
13
12
|
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
14
13
|
onValueUpdate: typeof onValueUpdate;
|
15
14
|
onReset: typeof onReset;
|
16
|
-
getErrors:
|
15
|
+
getErrors: () => string[];
|
17
16
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
18
17
|
"update:modelValue": (value: FormField) => any;
|
19
18
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/SelectInput.vue"],"names":[],"mappings":"AAiDA;
|
1
|
+
{"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/SelectInput.vue"],"names":[],"mappings":"AAiDA;AA+WA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAiBtE,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAElE,QAAA,MAAM,KAAK,iEAAoE,CAAC;AA8BhF,iBAAS,OAAO,SAMf;AA6ID,iBAAe,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,iBAgBrC;AAkDD,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;AA+RhB,wBAUG"}
|
@@ -9,7 +9,7 @@ type __VLS_PublicProps = {
|
|
9
9
|
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
10
10
|
onReset: (defaultValue?: any) => void;
|
11
11
|
onValueUpdate: () => Promise<void>;
|
12
|
-
getErrors:
|
12
|
+
getErrors: () => string[];
|
13
13
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
14
14
|
"update:modelValue": (value: FormField) => any;
|
15
15
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
@@ -25,7 +25,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
25
25
|
}>, {
|
26
26
|
onValueUpdate: () => Promise<void>;
|
27
27
|
onReset: (defaultValue?: any) => void;
|
28
|
-
getErrors:
|
28
|
+
getErrors: () => string[];
|
29
29
|
isValid: () => Promise<boolean>;
|
30
30
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
31
31
|
"update:modelValue": (value: FormField) => any;
|
@@ -55,7 +55,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
|
55
55
|
}>, {
|
56
56
|
onValueUpdate: () => Promise<void>;
|
57
57
|
onReset: (defaultValue?: any) => void;
|
58
|
-
getErrors:
|
58
|
+
getErrors: () => string[];
|
59
59
|
isValid: () => Promise<boolean>;
|
60
60
|
}, {}, {}, {}, {}> | null;
|
61
61
|
}, any>;
|
@@ -11,11 +11,9 @@ interface FormProps {
|
|
11
11
|
hideButtons?: boolean;
|
12
12
|
customButtons?: Array<CustomButton>;
|
13
13
|
}
|
14
|
-
declare function isFormValid(): Promise<boolean>;
|
15
|
-
declare function resetForm(): void;
|
16
14
|
declare const _default: import('vue').DefineComponent<FormProps, {
|
17
|
-
resetForm:
|
18
|
-
isFormValid:
|
15
|
+
resetForm: () => void;
|
16
|
+
isFormValid: () => Promise<boolean>;
|
19
17
|
resolveData: () => {
|
20
18
|
formData: FormData;
|
21
19
|
computedData: ComputedData;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"vForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/vForm.vue"],"names":[],"mappings":"AA4CA;
|
1
|
+
{"version":3,"file":"vForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/vForm.vue"],"names":[],"mappings":"AA4CA;AA8JA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKjF,UAAU,SAAS;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CACrC;;;;;;;;;;;;;;;;;gBATc,OAAO;qBACF,OAAO;sBACN,OAAO;qBACR,OAAO,GAAG,QAAQ,GAAG,KAAK;sBACzB,MAAM;qBACP,MAAM;sBACL,MAAM;iBACX,OAAO;;;;AAkUvB,wBAWG"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFormValidation.d.ts","sourceRoot":"","sources":["../../src/composables/useFormValidation.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,iBAAiB;;uBAMD,OAAO,CAAC,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"useFormValidation.d.ts","sourceRoot":"","sources":["../../src/composables/useFormValidation.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,iBAAiB;;uBAMD,OAAO,CAAC,OAAO,CAAC;qBA4BxB,IAAI;yBAWA,MAAM,EAAE;4BAsBC,OAAO,CAAC,IAAI,CAAC;EAejD"}
|
@@ -9,7 +9,7 @@ export declare function useInputValidation(inputRef: Ref<ComponentPublicInstance
|
|
9
9
|
onValueUpdate: () => Promise<void>;
|
10
10
|
onFocus: () => void;
|
11
11
|
onReset: (defaultValue?: any) => void;
|
12
|
-
getErrors:
|
12
|
+
getErrors: () => string[];
|
13
13
|
applyValidationState: (isValid: boolean) => Promise<void>;
|
14
14
|
resetValidationState: () => void;
|
15
15
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useInputValidation.d.ts","sourceRoot":"","sources":["../../src/composables/useInputValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,
|
1
|
+
{"version":3,"file":"useInputValidation.d.ts","sourceRoot":"","sources":["../../src/composables/useInputValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,KAAK,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,EAC7C,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EACrB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,EACpB,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,EACpC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;mBAOlC,OAAO,CAAC,OAAO,CAAC;yBAkCV,OAAO,CAAC,IAAI,CAAC;mBAczB,IAAI;6BAQO,GAAG,KAAQ,IAAI;qBASxB,MAAM,EAAE;;;EAa/B"}
|
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"),s=require("@ionic/vue"),Z=require("@vuepic/vue-datepicker"),R=require("ionicons/icons"),Q=require("@maskito/vue");function X(l){return new Promise(u=>{requestAnimationFrame(async()=>{const o=await l.getInputElement();u(o)})})}const ee={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},te={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 le(l,u){const o=te[l];return o[u%o.length]}function oe(l){const u=[];let o="",t=0,n=0;for(;t<l.length;){const a=l[t];if(["d","a","*"].includes(a)){let c=1;if(l[t+1]==="{"){const r=l.indexOf("}",t+2);if(r!==-1){const i=l.slice(t+2,r);if(i.includes(",")){const[,h]=i.split(",").map(k=>parseInt(k.trim()));c=h||parseInt(i.split(",")[0])}else c=parseInt(i);t=r}}else{let r=t+1;for(;l[r]===a;)c++,r++;t=r-1}for(let r=0;r<c;r++)u.push(ee[a]),o+=le(a,n++)}else u.push(a),o+=a;t++}return{mask:u,placeholder:o,elementPredicate:X}}const L=["January","February","March","April","May","June","July","August","September","October","November","December"];function A(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function ne(l,u="DD/MMM/YYYY"){const o=new Date(l);if(isNaN(o.getTime()))throw new Error("Invalid date string");const t=E(o.getDate()),n=o.getMonth()+1,a=o.getFullYear(),c=E(o.getHours()),r=E(o.getMinutes()),i=E(o.getSeconds()),h=o.getMilliseconds(),k={DD:t,D:o.getDate().toString(),MMM:L[o.getMonth()].slice(0,3),MMMM:L[o.getMonth()],MM:E(n),M:n.toString(),YYYY:a.toString(),YY:a.toString().slice(-2),HH:c,H:o.getHours().toString(),mm:r,m:o.getMinutes().toString(),ss:i,s:o.getSeconds().toString(),SSS:E(h),S:h.toString().slice(0,1)};return u.replace(/DD|D|MMMM|MMM|MM|M|YYYY|YY|HH|H|mm|m|ss|s|SSS|S/g,b=>k[b]||b)}function E(l){return l<10?`0${l}`:`${l}`}function z(l,u){if(Number.isInteger(parseInt(l))&&Number(l)>0){if(u==="MMMM")return L[Number(l)-1];if(u==="MMM")return L[Number(l)-1].slice(0,3);if(u==="MM")return E(Number(l))}return l}function Y(l,u,o){return typeof l.condition=="function"?l.condition(u,o):!0}function P(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(o=>P(o));const u={};return Object.entries(l).forEach(([o,t])=>{typeof t=="function"?u[o]=t.bind(u):u[o]=P(t)}),u}function H(l,u){return u.findIndex(o=>o.value===l.value||o.label===l.label||o.value===l.label||o.label===l.value)}function S(l,u){const o=H(l,u);o>=0?u[o].isChecked=!0:u.push({...l,isChecked:!0})}function j(l,u){const o=H(l,u);o>=0&&(u[o].isChecked=!1)}function ae(l,u){return u?l.filter(o=>JSON.stringify(o).toLowerCase().includes(u.toLowerCase())):l}function G(){const l=e.ref([]);async function u(){const a=[];for(const c of l.value)typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function"&&a.push(...c.getErrors());return a.every(A)}function o(){l.value.forEach(a=>{typeof(a==null?void 0:a.onReset)=="function"&&a.onReset()})}function t(){const a=[];for(const c of l.value)typeof(c==null?void 0:c.getErrors)=="function"&&a.push(...c.getErrors());return a}async function n(){for(const a of l.value)typeof(a==null?void 0:a.onValueUpdate)=="function"&&await a.onValueUpdate()}return{dynamicRefs:l,isFormValid:u,resetForm:o,getFormErrors:t,updateFormValues:n}}function ue(l){const u=e.computed(()=>Object.entries(l.value).reduce((t,[n,a])=>(a.value!==void 0&&(typeof a.onChange=="function"?t[n]=a.onChange(a.value):t[n]=a.value),t),{})),o=e.computed(()=>Object.entries(u.value).reduce((t,[n,a])=>(a!==void 0&&(l.value[n].children!==void 0&&(t[n]=a.map(({other:c})=>Object.entries(c).reduce((r,[i,h])=>(typeof l.value[n].children[i].computedValue=="function"?r[i]=l.value[n].children[i].computedValue(h,l.value):r[i]=h,r),{}))),typeof l.value[n].computedValue=="function"&&a!==void 0&&(t[n]=l.value[n].computedValue(a,l.value))),t),{}));return{formData:u,computedData:o}}const re=e.defineComponent({__name:"vForm",props:{schema:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","clear","cancel"],setup(l,{expose:u,emit:o}){const t=l,n=o,a=e.ref(t.schema),{dynamicRefs:c,isFormValid:r,resetForm:i}=G(),{formData:h,computedData:k}=ue(a);async function b(){return await r()}async function f(){await b()&&n("submit",h.value,k.value)}function I(){i()}function y(){I(),n("clear")}function _(){I(),n("cancel")}return e.watch(h,async()=>{for(const[m,C]of Object.entries(a.value))Y(C,h.value,k.value)||(C.value=t.schema[m].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,m=>{for(const[C,d]of Object.entries(m))d.value!==void 0&&(a.value[C].value=d.value)},{deep:!0,immediate:!0}),u({resetForm:I,isFormValid:b,resolveData:()=>({formData:h.value,computedData:k.value})}),(m,C)=>(e.openBlock(),e.createBlock(e.unref(s.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(s.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(a.value),d=>{var D,N,g,w,v;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Y)(a.value[d],e.unref(h),e.unref(k))?(e.openBlock(),e.createBlock(e.unref(s.IonCol),{key:d,size:((D=a.value[d].grid)==null?void 0:D.xs)??"12","size-sm":(N=a.value[d].grid)==null?void 0:N.sm,"size-md":(g=a.value[d].grid)==null?void 0:g.md,"size-lg":(w=a.value[d].grid)==null?void 0:w.lg,"size-xl":(v=a.value[d].grid)==null?void 0:v.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value[d].type),{modelValue:a.value[d],"onUpdate:modelValue":x=>a.value[d]=x,schema:a.value,ref_for:!0,ref_key:"dynamicRefs",ref:c,"ref-key":d},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:1}),m.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(s.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(s.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:m.buttonPlacement}])},{default:e.withCtx(()=>[m.showCancelButton?(e.openBlock(),e.createBlock(e.unref(s.IonButton),{key:0,onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),m.showClearButton?(e.openBlock(),e.createBlock(e.unref(s.IonButton),{key:1,onClick:y},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.customButtons,d=>(e.openBlock(),e.createBlock(e.unref(s.IonButton),{key:d.label,onClick:d.action,color:d.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(s.IonButton),{onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function ce(l){return{applyValidationState:async t=>{var n,a,c,r,i;(n=l.value)==null||n.$el.classList.remove("ion-invalid"),(a=l.value)==null||a.$el.classList.remove("ion-valid"),t?(c=l.value)==null||c.$el.classList.add("ion-valid"):(r=l.value)==null||r.$el.classList.add("ion-invalid"),(i=l.value)==null||i.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(n=l.value)==null||n.$el.classList.remove("ion-invalid")}}}function O(l,u,o,t,n){const{applyValidationState:a,resetValidationState:c}=ce(l);async function r(){if(u.value.required&&!o.value)return u.value.error="This field is required",!1;if(n){const f=await n(o.value);if(typeof f=="string")return u.value.error=f,!1;if(f===!1)return!1}if(u.value.validation){const f=await u.value.validation(o.value,t==null?void 0:t.value);if(f&&f.length)return u.value.error=f.join(),!1}return!0}async function i(){const f=await r();f&&(u.value.error="",u.value.value=o.value),await a(f)}function h(){c(),u.value.error=""}function k(f=""){o.value=f,u.value.error="",u.value.value=f}const b=e.computed(()=>u.value.error);return{isValid:r,onValueUpdate:i,onFocus:h,onReset:k,getErrors:b,applyValidationState:a,resetValidationState:c}}function se(l){const u=e.computed(()=>!!l.value.label),o=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:u,showRequired:o,labelText:t}}const q=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(l){const u=l,{showLabel:o,showRequired:t,labelText:n}=se(e.toRef(u,"model"));return(a,c)=>e.unref(o)?(e.openBlock(),e.createBlock(e.unref(s.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(s.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),U=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),a=e.ref(t.value.value),c=e.computed(()=>o.schema),{isValid:r,onValueUpdate:i,onFocus:h,onReset:k,getErrors:b}=O(n,t,a,c),f=e.computed(()=>{if(t.value.pattern)return oe(t.value.pattern)});return e.watch(()=>t.value.value,I=>a.value=I),u({onValueUpdate:i,onReset:k,getErrors:b,isValid:r}),(I,y)=>{var m;const _=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(s.IonInput),{ref_key:"inputRef",ref:n,modelValue:a.value,"onUpdate:modelValue":y[0]||(y[0]=C=>a.value=C),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:I.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((m=f.value)==null?void 0:m.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(h),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createVNode(q,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(s.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(s.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),I.type==="password"?(e.openBlock(),e.createBlock(e.unref(s.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[_,f.value]])}}}),ie=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return u({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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(U,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=c=>o.value=c),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(l,{expose:u}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),a=e.ref(t.value.max),c=e.ref(t.value.max),r=e.ref(t.value.value),i=e.computed(()=>o.schema);async function h(g){if(g===void 0)return t.value.required?"This field is required":!0;const w=new Date(g);return isNaN(w.getTime())?"Invalid date string":c.value&&w<new Date(c.value)?`Date must be greater than ${c.value}`:a.value&&w>new Date(a.value)?`Date must be less than ${a.value}`:!0}const{onValueUpdate:k,onFocus:b,getErrors:f}=O(n,t,r,i,h);function I(){r.value="",t.value.error="",t.value.value=""}const y=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let g=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(g+=" HH:mm:ss"),g}),_=/[-/.,:\s]+/,m=e.computed(()=>y.value.split(_)),C=e.computed(()=>y.value.match(/[-/.,:\s]+/g)||[]),d=e.ref({});e.watch(()=>t.value.value,g=>{r.value=g,N(g)});async function D(g,w,v){let x=w??(v==null?void 0:v.target).value;/MM|MMM|MMMM/.test(g)&&(x=z(x,g)),Number.isInteger(parseInt(x))&&(x=E(parseInt(x))),d.value[g]=x;const M=m.value.reduce((T,p,V)=>(T+=d.value[p]+(V<m.value.length-1?C.value[V]:""),T),"");r.value=M,await k()}async function N(g){const w=ne(g,y.value).split(_);m.value.forEach((v,x)=>D(v,w[x])),await k()}return u({onValueUpdate:k,onReset:I,getErrors:f}),e.onMounted(()=>{m.value.forEach((g,w)=>{var v;d.value[g]=((v=r.value)==null?void 0:v.split(_)[w])??""})}),(g,w)=>(e.openBlock(),e.createBlock(e.unref(s.IonInput),{type:"text",ref_key:"inputRef",ref:n,"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,disabled:t.value.disabled,onIonFocus:e.unref(b),onIonBlur:e.unref(k)},{default:e.withCtx(()=>[e.createVNode(q,{model:t.value},null,8,["model"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(v,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(v)?(e.openBlock(),e.createBlock(e.unref(s.IonSelect),{slot:"start",key:`select-${v}`,interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:v,value:d.value[v],onIonFocus:e.unref(b),onIonInput:M=>D(v,void 0,M),onIonBlur:M=>D(v,void 0,M)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),(M,T)=>(e.openBlock(),e.createBlock(e.unref(s.IonSelectOption),{key:M,value:e.unref(z)(T+1,v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(z)(T+1,v)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonFocus","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(s.IonInput),{slot:"start",key:`input-${v}`,placeholder:v,autofocus:t.value.autoFocus,value:d.value[v],onIonFocus:e.unref(b),onIonInput:M=>D(v,void 0,M),onIonBlur:M=>D(v,void 0,M)},null,8,["placeholder","autofocus","value","onIonFocus","onIonInput","onIonBlur"])),x<m.value.length-1?(e.openBlock(),e.createBlock(e.unref(s.IonLabel),{slot:"start",key:`separator-${x}`},{default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(C.value[x])+" ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(s.IonLabel),{slot:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(Z),{"enable-seconds":"","time-picker-inline":"",teleport:"","model-value":r.value,"auto-apply":!t.value.enableTime,"enable-time-picker":t.value.enableTime??!1,maxDate:a.value,minDate:c.value,onDateUpdate:N},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.IonButton),{fill:"clear"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.IonIcon),{slot:"icon-only",icon:e.unref(R.calendar),"aria-hidden":"true",onClick:e.unref(b)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model-value","auto-apply","enable-time-picker","maxDate","minDate"])]),_:1})]),_:1},8,["fill","label-placement","required","error-text","autofocus","disabled","onIonFocus","onIonBlur"]))}}),fe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return u({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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(U,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=c=>o.value=c),type:"number",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),me=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return u({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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(U,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=c=>o.value=c),type:"email",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=e.useModel(l,"modelValue"),t=e.ref(null);return u({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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(U,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=c=>o.value=c),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ve=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),a=e.ref(null),c=e.ref(!1),r=e.ref([]),i=e.ref(""),h=e.ref(1),k=e.computed(()=>t.value.interface??"popover"),b=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),f=e.computed(()=>r.value.filter(p=>!!p.isChecked)),I=e.computed(()=>!i.value&&A(f.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([i,()=>t.value.options],M,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,T,{immediate:!0,deep:!0});function y(){r.value.forEach(p=>j(p,r.value)),t.value.error="",i.value="",h.value=1,t.value.value=t.value.multiple?[]:""}function _(p){if(p.isChecked)return j(p,r.value);t.value.multiple?S(p,r.value):(y(),S(p,r.value),x()),i.value=""}function m(){switch(k.value){case"action-sheet":C();break;case"alert":d();break;case"popover":default:c.value=!0;break}}async function C(){if(await M(),t.value.multiple){c.value=!0;return}await(await s.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(V=>({text:V.label,cssClass:V.isChecked?"selected-option":"",handler:()=>(_(V),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function d(){await M();const p=r.value.map(B=>({label:B.label,type:t.value.multiple?"checkbox":"radio",value:B,checked:B.isChecked}));await(await s.alertController.create({header:t.value.label||"Select an option",inputs:p,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:B=>{if(t.value.multiple)r.value.forEach(F=>j(F,r.value)),B.forEach(F=>{const $=r.value.find(K=>K.value===F.value);$&&S($,r.value)});else{y();const F=r.value.find($=>$.value===B.value);F&&S(F,r.value)}x()}}]})).present()}async function D(){if(t.value.required&&A(f.value))return"This field is required";if(t.value.validation){const p=await t.value.validation(f.value,o==null?void 0:o.schema);if(p&&p.length)return p.join()}return!0}const{onFocus:N,applyValidationState:g}=O(n,t,e.computed(()=>t.value.multiple?f.value:f.value[0]),e.computed(()=>o==null?void 0:o.schema),D);function w(){return t.value.error}function v(p){var V;p.target===((V=n.value)==null?void 0:V.$el)&&(N(),k.value==="popover"&&(c.value=!0))}async function x(p){var B;if((B=p==null?void 0:p.relatedTarget)!=null&&B.closest(".suggestions-list"))return;c.value=!1;const V=await D();V===!0?(t.value.error="",t.value.value=t.value.multiple?f.value:f.value[0]):t.value.error=typeof V=="string"?V:"Validation failed",await g(V===!0)}async function M(){const p=[];if(typeof t.value.options=="function"){const V=await t.value.options(i.value);p.push(...V.filter(B=>!!B.label))}else p.push(...ae(t.value.options??[],i.value));f.value.forEach(V=>S(V,p)),r.value=p}function T(){const p=t.value.value;p&&(Array.isArray(p)?p.forEach(V=>S(V,r.value)):S(typeof p=="object"?p:{value:p,label:p},r.value))}return u({onValueUpdate:x,onReset:y,getErrors:w}),(p,V)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:x,ref_key:"containerRef",ref:a},[e.createVNode(e.unref(s.IonInput),{ref_key:"inputRef",ref:n,modelValue:i.value,"onUpdate:modelValue":V[0]||(V[0]=B=>i.value=B),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:p.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:I.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:v,debounce:300,onClick:m},{default:e.withCtx(()=>[e.createVNode(q,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(s.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(B,F)=>(e.openBlock(),e.createBlock(e.unref(s.IonChip),{key:F},{default:e.withCtx(()=>[e.createVNode(e.unref(s.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(s.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var B;return[e.createTextVNode(e.toDisplayString(((B=f.value[0])==null?void 0:B.label)??""),1)]}),_:1})),e.createVNode(e.unref(s.IonIcon),{slot:"end",icon:e.unref(R.chevronDown)},null,8,["icon"]),f.value.length>0||i.value?(e.openBlock(),e.createBlock(e.unref(s.IonIcon),{key:2,slot:"end",icon:e.unref(R.close),onClick:y,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&r.value.length>0&&k.value==="popover"?(e.openBlock(),e.createBlock(e.unref(s.IonList),{key:0,class:e.normalizeClass(["suggestions-list",b.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,B=>(e.openBlock(),e.createBlock(e.unref(s.IonItem),{button:"",key:B.label,onClick:F=>_(B)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(s.IonCheckbox),{key:0,slot:"start",checked:B.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(s.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),J=(l,u)=>{const o=l.__vccOpts||l;for(const[t,n]of u)o[t]=n;return o},he=J(ve,[["__scopeId","data-v-0b19f6eb"]]),ke=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),a=e.ref(t.value.value),c=e.computed(()=>o.schema),{onValueUpdate:r,onFocus:i,onReset:h,getErrors:k}=O(n,t,a,c);return e.watch(()=>t.value.value,b=>a.value=b),u({onReset:h,onValueUpdate:r,getErrors:k}),(b,f)=>(e.openBlock(),e.createBlock(e.unref(s.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=I=>a.value=I),"clear-input":!0,fill:t.value.fill??"outline","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(i),onIonChange:e.unref(r),onIonBlur:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(q,{model:t.value},null,8,["model"])]),_:1},8,["modelValue","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),ge={class:"ion-margin-end",style:{"flex-grow":"1"}},ye={style:{display:"flex","justify-content":"flex-end"}},Ve=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=e.useModel(l,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:a,getFormErrors:c,updateFormValues:r}=G(),i=e.computed(()=>t.value.map((y,_)=>({label:`Set ${_+1}`,value:_,other:Object.entries(y).reduce((m,[C,d])=>(m[C]=d.value,m),{})})));e.watch(i,y=>{o.value.value=y},{deep:!0,immediate:!0}),e.onMounted(h);function h(){o.value.children&&t.value.push(P(o.value.children))}function k(y){t.value.splice(y,1)}function b(){a()}function f(){return c()}async function I(){await r()}return u({onValueUpdate:I,onReset:b,getErrors:f}),(y,_)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(m,C)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:C},[e.createElementVNode("div",ge,[e.createVNode(e.unref(s.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(m),d=>{var D,N,g,w,v;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Y)(m[d],y.data,y.computedData)?(e.openBlock(),e.createBlock(e.unref(s.IonCol),{key:`${C}-${d}`,size:((D=m[d].grid)==null?void 0:D.xs)??"12","size-sm":(N=m[d].grid)==null?void 0:N.sm,"size-md":(g=m[d].grid)==null?void 0:g.md,"size-lg":(w=m[d].grid)==null?void 0:w.lg,"size-xl":(v=m[d].grid)==null?void 0:v.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m[d].type),{modelValue:m[d],"onUpdate:modelValue":x=>m[d]=x,schema:m,"ref-key":`${C}-${d}`,ref_for:!0,ref_key:"dynamicRefs",ref:n},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),e.createElementVNode("div",ye,[C===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(s.IonButton),{key:0,onClick:h,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.IonIcon),{slot:"icon-only",icon:e.unref(R.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(s.IonButton),{key:1,onClick:d=>k(C),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.IonIcon),{slot:"icon-only",icon:e.unref(R.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),be=J(Ve,[["__scopeId","data-v-402695fe"]]);function Be(l){return{labelTextWithAsterisk:e.computed(()=>{const o=l.value.label||"",t=l.value.required?" *":"";return o+t})}}const xe=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:u}){const o=l,t=e.useModel(l,"modelValue"),n=e.ref(null),a=e.ref(t.value.value),c=e.computed(()=>o.schema),{labelTextWithAsterisk:r}=Be(t),{onValueUpdate:i,onFocus:h,getErrors:k}=O(n,t,a,c);function b(){a.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,f=>a.value=f),u({onValueUpdate:i,onReset:b,getErrors:k}),(f,I)=>(e.openBlock(),e.createBlock(e.unref(s.IonCheckbox),{modelValue:a.value,"onUpdate:modelValue":I[0]||(I[0]=y=>a.value=y),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(h),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),W={install(l){l.component("VForm",re),l.component("TextInput",ie),l.component("DateInput",de),l.component("NumberInput",fe),l.component("EmailInput",me),l.component("PasswordInput",pe),l.component("SelectInput",he),l.component("TextAreaInput",ke),l.component("RepeatInput",be),l.component("CheckboxInput",xe),l.directive("maskito",Q.maskito)}};exports.VForm=W;exports.default=W;
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("@ionic/vue"),K=require("@vuepic/vue-datepicker"),T=require("ionicons/icons"),Z=require("@maskito/vue");function Q(o){return new Promise(u=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();u(a)})})}const X={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},ee={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function te(o,u){const a=ee[o];return a[u%a.length]}function oe(o){const u=[];let a="",t=0,n=0;for(;t<o.length;){const l=o[t];if(["d","a","*"].includes(l)){let c=1;if(o[t+1]==="{"){const r=o.indexOf("}",t+2);if(r!==-1){const i=o.slice(t+2,r);if(i.includes(",")){const[,h]=i.split(",").map(k=>parseInt(k.trim()));c=h||parseInt(i.split(",")[0])}else c=parseInt(i);t=r}}else{let r=t+1;for(;o[r]===l;)c++,r++;t=r-1}for(let r=0;r<c;r++)u.push(X[l]),a+=te(l,n++)}else u.push(l),a+=l;t++}return{mask:u,placeholder:a,elementPredicate:Q}}const R=["January","February","March","April","May","June","July","August","September","October","November","December"];function A(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function le(o,u="DD/MMM/YYYY"){const a=new Date(o);if(isNaN(a.getTime()))throw new Error("Invalid date string");const t=F(a.getDate()),n=a.getMonth()+1,l=a.getFullYear(),c=F(a.getHours()),r=F(a.getMinutes()),i=F(a.getSeconds()),h=a.getMilliseconds(),k={DD:t,D:a.getDate().toString(),MMM:R[a.getMonth()].slice(0,3),MMMM:R[a.getMonth()],MM:F(n),M:n.toString(),YYYY:l.toString(),YY:l.toString().slice(-2),HH:c,H:a.getHours().toString(),mm:r,m:a.getMinutes().toString(),ss:i,s:a.getSeconds().toString(),SSS:F(h),S:h.toString().slice(0,1)};return u.replace(/DD|D|MMMM|MMM|MM|M|YYYY|YY|HH|H|mm|m|ss|s|SSS|S/g,B=>k[B]||B)}function F(o){return o<10?`0${o}`:`${o}`}function U(o,u){if(Number.isInteger(parseInt(o))&&Number(o)>0){if(u==="MMMM")return R[Number(o)-1];if(u==="MMM")return R[Number(o)-1].slice(0,3);if(u==="MM")return F(Number(o))}return o}function j(o,u,a){return typeof o.condition=="function"?o.condition(u,a):!0}function Y(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>Y(a));const u={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?u[a]=t.bind(u):u[a]=Y(t)}),u}function P(o,u){return u.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function S(o,u){const a=P(o,u);a>=0?u[a].isChecked=!0:u.push({...o,isChecked:!0})}function z(o,u){const a=P(o,u);a>=0&&(u[a].isChecked=!1)}function ne(o,u){return u?o.filter(a=>JSON.stringify(a).toLowerCase().includes(u.toLowerCase())):o}function H(){const o=e.ref([]);async function u(){console.debug("Validating form inputs");const l=[];for(const c of o.value)if(typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?l.push(...r):console.warn("getErrors() returned non-array value:",r)}catch(r){console.error("Error calling getErrors on component:",r,c)}else console.warn("Component does not have getErrors function:",c);return l.every(A)}function a(){o.value.forEach(l=>{typeof(l==null?void 0:l.onReset)=="function"&&l.onReset()})}function t(){const l=[];for(const c of o.value)if(typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?l.push(...r):l.push(String(r))}catch(r){console.error("Error calling getErrors on component:",r,c)}return l}async function n(){for(const l of o.value)typeof(l==null?void 0:l.onValueUpdate)=="function"&&await l.onValueUpdate()}return{dynamicRefs:o,isFormValid:u,resetForm:a,getFormErrors:t,updateFormValues:n}}function ae(o){const u=e.computed(()=>Object.entries(o.value).reduce((t,[n,l])=>(l.value!==void 0&&(typeof l.onChange=="function"?t[n]=l.onChange(l.value):t[n]=l.value),t),{})),a=e.computed(()=>Object.entries(u.value).reduce((t,[n,l])=>(l!==void 0&&(o.value[n].children!==void 0&&(t[n]=l.map(({other:c})=>Object.entries(c).reduce((r,[i,h])=>(typeof o.value[n].children[i].computedValue=="function"?r[i]=o.value[n].children[i].computedValue(h,o.value):r[i]=h,r),{}))),typeof o.value[n].computedValue=="function"&&l!==void 0&&(t[n]=o.value[n].computedValue(l,o.value))),t),{}));return{formData:u,computedData:a}}const ue=e.defineComponent({__name:"vForm",props:{schema:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","clear","cancel"],setup(o,{expose:u,emit:a}){const t=o,n=a,l=e.ref(t.schema),{dynamicRefs:c,isFormValid:r,resetForm:i}=H(),{formData:h,computedData:k}=ae(l);async function B(){await r()&&n("submit",h.value,k.value)}function m(){i(),n("clear")}function I(){i(),n("cancel")}return e.watch(h,async()=>{for(const[p,x]of Object.entries(l.value))j(x,h.value,k.value)||(x.value=t.schema[p].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,p=>{for(const[x,s]of Object.entries(p))s.value!==void 0&&(l.value[x].value=s.value)},{deep:!0,immediate:!0}),u({resetForm:i,isFormValid:r,resolveData:()=>({formData:h.value,computedData:k.value})}),(p,x)=>(e.openBlock(),e.createBlock(e.unref(d.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(l.value),s=>{var w,y,_,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(l.value[s],e.unref(h),e.unref(k))?(e.openBlock(),e.createBlock(e.unref(d.IonCol),{key:s,size:((w=l.value[s].grid)==null?void 0:w.xs)??"12","size-sm":(y=l.value[s].grid)==null?void 0:y.sm,"size-md":(_=l.value[s].grid)==null?void 0:_.md,"size-lg":(N=l.value[s].grid)==null?void 0:N.lg,"size-xl":(V=l.value[s].grid)==null?void 0:V.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value[s].type),{modelValue:l.value[s],"onUpdate:modelValue":M=>l.value[s]=M,schema:l.value,ref_for:!0,ref_key:"dynamicRefs",ref:c,"ref-key":s},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:1}),p.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:p.buttonPlacement}])},{default:e.withCtx(()=>[p.showCancelButton?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:0,onClick:I},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),p.showClearButton?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:1,onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.customButtons,s=>(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:s.label,onClick:s.action,color:s.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(d.IonButton),{onClick:B},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function re(o){return{applyValidationState:async t=>{var n,l,c,r,i;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(l=o.value)==null||l.$el.classList.remove("ion-valid"),t?(c=o.value)==null||c.$el.classList.add("ion-valid"):(r=o.value)==null||r.$el.classList.add("ion-invalid"),(i=o.value)==null||i.$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 L(o,u,a,t,n){const{applyValidationState:l,resetValidationState:c}=re(o);async function r(){if(u.value.required&&!a.value)return u.value.error="This field is required",!1;if(n){const m=await n(a.value);if(typeof m=="string")return u.value.error=m,!1;if(m===!1)return!1}if(u.value.validation){const m=await u.value.validation(a.value,t==null?void 0:t.value);if(m&&m.length)return u.value.error=m.join(),!1}return!0}async function i(){const m=await r();m&&(u.value.error="",u.value.value=a.value),await l(m)}function h(){c(),u.value.error=""}function k(m=""){a.value=m,u.value.error="",u.value.value=m}function B(){return u.value.error?[u.value.error]:[]}return{isValid:r,onValueUpdate:i,onFocus:h,onReset:k,getErrors:B,applyValidationState:l,resetValidationState:c}}function ce(o){const u=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:u,showRequired:a,labelText:t}}const $=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const u=o,{showLabel:a,showRequired:t,labelText:n}=ce(e.toRef(u,"model"));return(l,c)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),q=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),{isValid:r,onValueUpdate:i,onFocus:h,onReset:k,getErrors:B}=L(n,t,l,c),m=e.computed(()=>{if(t.value.pattern)return oe(t.value.pattern)});return e.watch(()=>t.value.value,I=>l.value=I),u({onValueUpdate:i,onReset:k,getErrors:B,isValid:r}),(I,p)=>{var s;const x=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(d.IonInput),{ref_key:"inputRef",ref:n,modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=w=>l.value=w),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:I.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((s=m.value)==null?void 0:s.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(h),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createVNode($,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(d.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(d.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),I.type==="password"?(e.openBlock(),e.createBlock(e.unref(d.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[x,m.value]])}}}),se=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ie=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.max),c=e.ref(t.value.max),r=e.ref(t.value.value),i=e.computed(()=>a.schema);async function h(V){if(V===void 0)return t.value.required?"This field is required":!0;const M=new Date(V);return isNaN(M.getTime())?"Invalid date string":c.value&&M<new Date(c.value)?`Date must be greater than ${c.value}`:l.value&&M>new Date(l.value)?`Date must be less than ${l.value}`:!0}const{onValueUpdate:k,onFocus:B,getErrors:m}=L(n,t,r,i,h);function I(){r.value="",t.value.error="",t.value.value=""}const p=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let V=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(V+=" HH:mm:ss"),V}),x=/[-/.,:\s]+/,s=e.computed(()=>p.value.split(x)),w=e.computed(()=>p.value.match(/[-/.,:\s]+/g)||[]),y=e.ref({});e.watch(()=>t.value.value,V=>{r.value=V,N(V)});async function _(V,M,v){let C=M??(v==null?void 0:v.target).value;/MM|MMM|MMMM/.test(V)&&(C=U(C,V)),Number.isInteger(parseInt(C))&&(C=F(parseInt(C))),y.value[V]=C;const D=s.value.reduce((f,b,g)=>(f+=y.value[b]+(g<s.value.length-1?w.value[g]:""),f),"");r.value=D,await k()}async function N(V){const M=le(V,p.value).split(x);s.value.forEach((v,C)=>_(v,M[C])),await k()}return u({onValueUpdate:k,onReset:I,getErrors:m}),e.onMounted(()=>{s.value.forEach((V,M)=>{var v;y.value[V]=((v=r.value)==null?void 0:v.split(x)[M])??""})}),(V,M)=>(e.openBlock(),e.createBlock(e.unref(d.IonInput),{type:"text",ref_key:"inputRef",ref:n,"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,disabled:t.value.disabled,onIonFocus:e.unref(B),onIonBlur:e.unref(k)},{default:e.withCtx(()=>[e.createVNode($,{model:t.value},null,8,["model"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(v,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(v)?(e.openBlock(),e.createBlock(e.unref(d.IonSelect),{slot:"start",key:`select-${v}`,interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:v,value:y.value[v],onIonFocus:e.unref(B),onIonInput:D=>_(v,void 0,D),onIonBlur:D=>_(v,void 0,D)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(R),(D,f)=>(e.openBlock(),e.createBlock(e.unref(d.IonSelectOption),{key:D,value:e.unref(U)(f+1,v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(U)(f+1,v)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonFocus","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(d.IonInput),{slot:"start",key:`input-${v}`,placeholder:v,autofocus:t.value.autoFocus,value:y.value[v],onIonFocus:e.unref(B),onIonInput:D=>_(v,void 0,D),onIonBlur:D=>_(v,void 0,D)},null,8,["placeholder","autofocus","value","onIonFocus","onIonInput","onIonBlur"])),C<s.value.length-1?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{slot:"start",key:`separator-${C}`},{default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(w.value[C])+" ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(d.IonLabel),{slot:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(K),{"enable-seconds":"","time-picker-inline":"",teleport:"","model-value":r.value,"auto-apply":!t.value.enableTime,"enable-time-picker":t.value.enableTime??!1,maxDate:l.value,minDate:c.value,onDateUpdate:N},{trigger:e.withCtx(()=>[e.createVNode(e.unref(d.IonButton),{fill:"clear"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(T.calendar),"aria-hidden":"true",onClick:e.unref(B)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model-value","auto-apply","enable-time-picker","maxDate","minDate"])]),_:1})]),_:1},8,["fill","label-placement","required","error-text","autofocus","disabled","onIonFocus","onIonBlur"]))}}),de=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),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:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:"email",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),me=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(null),c=e.ref(!1),r=e.ref([]),i=e.ref(""),h=e.ref(1),k=e.computed(()=>t.value.interface??"popover"),B=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),m=e.computed(()=>r.value.filter(f=>!!f.isChecked)),I=e.computed(()=>!i.value&&A(m.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([i,()=>t.value.options],C,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,D,{immediate:!0,deep:!0});function p(){r.value.forEach(f=>z(f,r.value)),t.value.error="",i.value="",h.value=1,t.value.value=t.value.multiple?[]:""}function x(f){if(f.isChecked)return z(f,r.value);t.value.multiple?S(f,r.value):(p(),S(f,r.value),v()),i.value=""}function s(){switch(k.value){case"action-sheet":w();break;case"alert":y();break;case"popover":default:c.value=!0;break}}async function w(){if(await C(),t.value.multiple){c.value=!0;return}await(await d.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(b=>({text:b.label,cssClass:b.isChecked?"selected-option":"",handler:()=>(x(b),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function y(){await C();const f=r.value.map(g=>({label:g.label,type:t.value.multiple?"checkbox":"radio",value:g,checked:g.isChecked}));await(await d.alertController.create({header:t.value.label||"Select an option",inputs:f,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:g=>{if(t.value.multiple)r.value.forEach(E=>z(E,r.value)),g.forEach(E=>{const O=r.value.find(W=>W.value===E.value);O&&S(O,r.value)});else{p();const E=r.value.find(O=>O.value===g.value);E&&S(E,r.value)}v()}}]})).present()}async function _(){if(t.value.required&&A(m.value))return"This field is required";if(t.value.validation){const f=await t.value.validation(m.value,a==null?void 0:a.schema);if(f&&f.length)return f.join()}return!0}const{onFocus:N,applyValidationState:V}=L(n,t,e.computed(()=>t.value.multiple?m.value:m.value[0]),e.computed(()=>a==null?void 0:a.schema),_);function M(f){var b;f.target===((b=n.value)==null?void 0:b.$el)&&(N(),k.value==="popover"&&(c.value=!0))}async function v(f){var g;if((g=f==null?void 0:f.relatedTarget)!=null&&g.closest(".suggestions-list"))return;c.value=!1;const b=await _();b===!0?(t.value.error="",t.value.value=t.value.multiple?m.value:m.value[0]):t.value.error=typeof b=="string"?b:"Validation failed",await V(b===!0)}async function C(){const f=[];if(typeof t.value.options=="function"){const b=await t.value.options(i.value);f.push(...b.filter(g=>!!g.label))}else f.push(...ne(t.value.options??[],i.value));m.value.forEach(b=>S(b,f)),r.value=f}function D(){const f=t.value.value;f&&(Array.isArray(f)?f.forEach(b=>S(b,r.value)):S(typeof f=="object"?f:{value:f,label:f},r.value))}return u({onValueUpdate:v,onReset:p,getErrors:()=>t.value.error?[t.value.error]:[]}),(f,b)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:v,ref_key:"containerRef",ref:l},[e.createVNode(e.unref(d.IonInput),{ref_key:"inputRef",ref:n,modelValue:i.value,"onUpdate:modelValue":b[0]||(b[0]=g=>i.value=g),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:f.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:I.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:M,debounce:300,onClick:s},{default:e.withCtx(()=>[e.createVNode($,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,E)=>(e.openBlock(),e.createBlock(e.unref(d.IonChip),{key:E},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var g;return[e.createTextVNode(e.toDisplayString(((g=m.value[0])==null?void 0:g.label)??""),1)]}),_:1})),e.createVNode(e.unref(d.IonIcon),{slot:"end",icon:e.unref(T.chevronDown)},null,8,["icon"]),m.value.length>0||i.value?(e.openBlock(),e.createBlock(e.unref(d.IonIcon),{key:2,slot:"end",icon:e.unref(T.close),onClick:p,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&r.value.length>0&&k.value==="popover"?(e.openBlock(),e.createBlock(e.unref(d.IonList),{key:0,class:e.normalizeClass(["suggestions-list",B.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,g=>(e.openBlock(),e.createBlock(e.unref(d.IonItem),{button:"",key:g.label,onClick:E=>x(g)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(d.IonCheckbox),{key:0,slot:"start",checked:g.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(d.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),G=(o,u)=>{const a=o.__vccOpts||o;for(const[t,n]of u)a[t]=n;return a},ve=G(pe,[["__scopeId","data-v-80c14c96"]]),he=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),{onValueUpdate:r,onFocus:i,onReset:h,getErrors:k}=L(n,t,l,c);return e.watch(()=>t.value.value,B=>l.value=B),u({onReset:h,onValueUpdate:r,getErrors:k}),(B,m)=>(e.openBlock(),e.createBlock(e.unref(d.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=I=>l.value=I),"clear-input":!0,fill:t.value.fill??"outline","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(i),onIonChange:e.unref(r),onIonBlur:e.unref(r)},{default:e.withCtx(()=>[e.createVNode($,{model:t.value},null,8,["model"])]),_:1},8,["modelValue","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),ke={class:"ion-margin-end",style:{"flex-grow":"1"}},ge={style:{display:"flex","justify-content":"flex-end"}},ye=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:l,getFormErrors:c,updateFormValues:r}=H(),i=e.computed(()=>t.value.map((p,x)=>({label:`Set ${x+1}`,value:x,other:Object.entries(p).reduce((s,[w,y])=>(s[w]=y.value,s),{})})));e.watch(i,p=>{a.value.value=p},{deep:!0,immediate:!0}),e.onMounted(h);function h(){a.value.children&&t.value.push(Y(a.value.children))}function k(p){t.value.splice(p,1)}function B(){l()}function m(){return c()}async function I(){await r()}return u({onValueUpdate:I,onReset:B,getErrors:m}),(p,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(s,w)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:w},[e.createElementVNode("div",ke,[e.createVNode(e.unref(d.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s),y=>{var _,N,V,M,v;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(s[y],p.data,p.computedData)?(e.openBlock(),e.createBlock(e.unref(d.IonCol),{key:`${w}-${y}`,size:((_=s[y].grid)==null?void 0:_.xs)??"12","size-sm":(N=s[y].grid)==null?void 0:N.sm,"size-md":(V=s[y].grid)==null?void 0:V.md,"size-lg":(M=s[y].grid)==null?void 0:M.lg,"size-xl":(v=s[y].grid)==null?void 0:v.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s[y].type),{modelValue:s[y],"onUpdate:modelValue":C=>s[y]=C,schema:s,"ref-key":`${w}-${y}`,ref_for:!0,ref_key:"dynamicRefs",ref:n},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),e.createElementVNode("div",ge,[w===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:0,onClick:h,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(T.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:1,onClick:y=>k(w),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(T.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),Ve=G(ye,[["__scopeId","data-v-402695fe"]]);function be(o){return{labelTextWithAsterisk:e.computed(()=>{const a=o.value.label||"",t=o.value.required?" *":"";return a+t})}}const Be=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),{labelTextWithAsterisk:r}=be(t),{onValueUpdate:i,onFocus:h,getErrors:k}=L(n,t,l,c);function B(){l.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,m=>l.value=m),u({onValueUpdate:i,onReset:B,getErrors:k}),(m,I)=>(e.openBlock(),e.createBlock(e.unref(d.IonCheckbox),{modelValue:l.value,"onUpdate:modelValue":I[0]||(I[0]=p=>l.value=p),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(h),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),J={install(o){o.component("VForm",ue),o.component("TextInput",se),o.component("DateInput",ie),o.component("NumberInput",de),o.component("EmailInput",fe),o.component("PasswordInput",me),o.component("SelectInput",ve),o.component("TextAreaInput",he),o.component("RepeatInput",Ve),o.component("CheckboxInput",Be),o.directive("maskito",Z.maskito)}};exports.VForm=J;exports.default=J;
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|