@uniquedj95/vform 3.7.3 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +1 -1
  2. package/dist/components/inputs/BaseInput.vue.d.ts +3 -1
  3. package/dist/components/inputs/BaseInput.vue.d.ts.map +1 -1
  4. package/dist/components/inputs/DateInput.vue.d.ts +6 -2
  5. package/dist/components/inputs/DateInput.vue.d.ts.map +1 -1
  6. package/dist/components/inputs/EmailInput.vue.d.ts +6 -2
  7. package/dist/components/inputs/EmailInput.vue.d.ts.map +1 -1
  8. package/dist/components/inputs/NumberInput.vue.d.ts +6 -2
  9. package/dist/components/inputs/NumberInput.vue.d.ts.map +1 -1
  10. package/dist/components/inputs/PasswordInput.vue.d.ts +6 -2
  11. package/dist/components/inputs/PasswordInput.vue.d.ts.map +1 -1
  12. package/dist/components/inputs/SelectInput.vue.d.ts.map +1 -1
  13. package/dist/components/inputs/TextInput.vue.d.ts +6 -2
  14. package/dist/components/inputs/TextInput.vue.d.ts.map +1 -1
  15. package/dist/components/vForm.vue.d.ts +2 -0
  16. package/dist/components/vForm.vue.d.ts.map +1 -1
  17. package/dist/composables/useDataTransformation.d.ts.map +1 -1
  18. package/dist/composables/useFormFieldValue.d.ts +58 -0
  19. package/dist/composables/useFormFieldValue.d.ts.map +1 -0
  20. package/dist/composables/useMultiStepForm.d.ts.map +1 -1
  21. package/dist/index.cjs.js +1 -1
  22. package/dist/index.cjs.js.map +1 -1
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.es.js +1002 -914
  26. package/dist/index.es.js.map +1 -1
  27. package/dist/index.umd.js +1 -1
  28. package/dist/index.umd.js.map +1 -1
  29. package/dist/types/index.d.ts +10 -2
  30. package/dist/types/index.d.ts.map +1 -1
  31. package/dist/utils/index.d.ts +9 -1
  32. package/dist/utils/index.d.ts.map +1 -1
  33. package/dist/vform.css +1 -1
  34. 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
- [![Version](https://img.shields.io/badge/version-3.7.3-blue.svg)](https://github.com/uniquedj95/vform/releases)
9
+ [![Version](https://img.shields.io/badge/version-3.8.0-blue.svg)](https://github.com/uniquedj95/vform/releases)
10
10
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
11
11
  [![Vue Version](https://img.shields.io/badge/vue-3.5+-brightgreen.svg)](https://vuejs.org/)
12
12
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue)](https://www.typescriptlang.org/)
@@ -12,6 +12,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
12
12
  onReset: (defaultValue?: any) => void;
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<{
@@ -25,6 +27,6 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
25
27
  M: {};
26
28
  Defaults: {};
27
29
  }, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
28
- }, any>;
30
+ }, HTMLDivElement>;
29
31
  export default _default;
30
32
  //# sourceMappingURL=BaseInput.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/BaseInput.vue"],"names":[],"mappings":"AAgCA;AA2EA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMhE,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAElE,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAwChF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;AAoKhB,wBAUG"}
1
+ {"version":3,"file":"BaseInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/BaseInput.vue"],"names":[],"mappings":"AAmCA;AA4HA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAOhE,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAElE,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkEhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;AAgMhB,wBAUG"}
@@ -27,6 +27,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
27
27
  onReset: (defaultValue?: any) => void;
28
28
  getErrors: () => string[];
29
29
  isValid: () => Promise<boolean>;
30
+ isLoading: import('vue').Ref<boolean, boolean>;
31
+ valueError: import('vue').Ref<string | null, string | null>;
30
32
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
33
  "update:modelValue": (value: FormField) => any;
32
34
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
@@ -38,7 +40,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
38
40
  M: {};
39
41
  Defaults: {};
40
42
  }, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
41
- }, any, import('vue').ComponentProvideOptions, {
43
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
42
44
  P: {};
43
45
  B: {};
44
46
  D: {};
@@ -57,7 +59,9 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
57
59
  onReset: (defaultValue?: any) => void;
58
60
  getErrors: () => string[];
59
61
  isValid: () => Promise<boolean>;
62
+ isLoading: import('vue').Ref<boolean, boolean>;
63
+ valueError: import('vue').Ref<string | null, string | null>;
60
64
  }, {}, {}, {}, {}> | null;
61
- }, any>;
65
+ }, HTMLDivElement>;
62
66
  export default _default;
63
67
  //# sourceMappingURL=DateInput.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/DateInput.vue"],"names":[],"mappings":"AAQA;AA0BA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
1
+ {"version":3,"file":"DateInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/DateInput.vue"],"names":[],"mappings":"AAQA;AA0BA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
@@ -27,6 +27,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
27
27
  onReset: (defaultValue?: any) => void;
28
28
  getErrors: () => string[];
29
29
  isValid: () => Promise<boolean>;
30
+ isLoading: import('vue').Ref<boolean, boolean>;
31
+ valueError: import('vue').Ref<string | null, string | null>;
30
32
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
33
  "update:modelValue": (value: FormField) => any;
32
34
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
@@ -38,7 +40,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
38
40
  M: {};
39
41
  Defaults: {};
40
42
  }, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
41
- }, any, import('vue').ComponentProvideOptions, {
43
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
42
44
  P: {};
43
45
  B: {};
44
46
  D: {};
@@ -57,7 +59,9 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
57
59
  onReset: (defaultValue?: any) => void;
58
60
  getErrors: () => string[];
59
61
  isValid: () => Promise<boolean>;
62
+ isLoading: import('vue').Ref<boolean, boolean>;
63
+ valueError: import('vue').Ref<string | null, string | null>;
60
64
  }, {}, {}, {}, {}> | null;
61
- }, any>;
65
+ }, HTMLDivElement>;
62
66
  export default _default;
63
67
  //# sourceMappingURL=EmailInput.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmailInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/EmailInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
1
+ {"version":3,"file":"EmailInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/EmailInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
@@ -27,6 +27,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
27
27
  onReset: (defaultValue?: any) => void;
28
28
  getErrors: () => string[];
29
29
  isValid: () => Promise<boolean>;
30
+ isLoading: import('vue').Ref<boolean, boolean>;
31
+ valueError: import('vue').Ref<string | null, string | null>;
30
32
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
33
  "update:modelValue": (value: FormField) => any;
32
34
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
@@ -38,7 +40,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
38
40
  M: {};
39
41
  Defaults: {};
40
42
  }, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
41
- }, any, import('vue').ComponentProvideOptions, {
43
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
42
44
  P: {};
43
45
  B: {};
44
46
  D: {};
@@ -57,7 +59,9 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
57
59
  onReset: (defaultValue?: any) => void;
58
60
  getErrors: () => string[];
59
61
  isValid: () => Promise<boolean>;
62
+ isLoading: import('vue').Ref<boolean, boolean>;
63
+ valueError: import('vue').Ref<string | null, string | null>;
60
64
  }, {}, {}, {}, {}> | null;
61
- }, any>;
65
+ }, HTMLDivElement>;
62
66
  export default _default;
63
67
  //# sourceMappingURL=NumberInput.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/NumberInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
1
+ {"version":3,"file":"NumberInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/NumberInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
@@ -27,6 +27,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
27
27
  onReset: (defaultValue?: any) => void;
28
28
  getErrors: () => string[];
29
29
  isValid: () => Promise<boolean>;
30
+ isLoading: import('vue').Ref<boolean, boolean>;
31
+ valueError: import('vue').Ref<string | null, string | null>;
30
32
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
33
  "update:modelValue": (value: FormField) => any;
32
34
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
@@ -38,7 +40,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
38
40
  M: {};
39
41
  Defaults: {};
40
42
  }, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
41
- }, any, import('vue').ComponentProvideOptions, {
43
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
42
44
  P: {};
43
45
  B: {};
44
46
  D: {};
@@ -57,7 +59,9 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
57
59
  onReset: (defaultValue?: any) => void;
58
60
  getErrors: () => string[];
59
61
  isValid: () => Promise<boolean>;
62
+ isLoading: import('vue').Ref<boolean, boolean>;
63
+ valueError: import('vue').Ref<string | null, string | null>;
60
64
  }, {}, {}, {}, {}> | null;
61
- }, any>;
65
+ }, HTMLDivElement>;
62
66
  export default _default;
63
67
  //# sourceMappingURL=PasswordInput.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/PasswordInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
1
+ {"version":3,"file":"PasswordInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/PasswordInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/SelectInput.vue"],"names":[],"mappings":"AA6EA;AA2hBA,OAAO,EAAiB,QAAQ,EAAqD,MAAM,KAAK,CAAC;AAEjG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAwB,MAAM,SAAS,CAAC;AA4FtF,iBAAS,OAAO,SAMf;AA6JD,iBAAe,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,iBAgBrC;;YAycmB,QAAQ,CAAC,UAAU,CAAC;UACtB,QAAQ,CAAC,cAAc,CAAC;;;;;;;;;;;;YADtB,QAAQ,CAAC,UAAU,CAAC;UACtB,QAAQ,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;AAX1C,wBAiBG"}
1
+ {"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/SelectInput.vue"],"names":[],"mappings":"AA8EA;AAwjBA,OAAO,EAAiB,QAAQ,EAAqD,MAAM,KAAK,CAAC;AAEjG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAwB,MAAM,SAAS,CAAC;AAiGtF,iBAAS,OAAO,SAMf;AA6JD,iBAAe,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,iBAgBrC;;YA0emB,QAAQ,CAAC,UAAU,CAAC;UACtB,QAAQ,CAAC,cAAc,CAAC;;;;;;;;;;;;YADtB,QAAQ,CAAC,UAAU,CAAC;UACtB,QAAQ,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;AAX1C,wBAiBG"}
@@ -27,6 +27,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
27
27
  onReset: (defaultValue?: any) => void;
28
28
  getErrors: () => string[];
29
29
  isValid: () => Promise<boolean>;
30
+ isLoading: import('vue').Ref<boolean, boolean>;
31
+ valueError: import('vue').Ref<string | null, string | null>;
30
32
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
33
  "update:modelValue": (value: FormField) => any;
32
34
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
@@ -38,7 +40,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
38
40
  M: {};
39
41
  Defaults: {};
40
42
  }, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
41
- }, any, import('vue').ComponentProvideOptions, {
43
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
42
44
  P: {};
43
45
  B: {};
44
46
  D: {};
@@ -57,7 +59,9 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
57
59
  onReset: (defaultValue?: any) => void;
58
60
  getErrors: () => string[];
59
61
  isValid: () => Promise<boolean>;
62
+ isLoading: import('vue').Ref<boolean, boolean>;
63
+ valueError: import('vue').Ref<string | null, string | null>;
60
64
  }, {}, {}, {}, {}> | null;
61
- }, any>;
65
+ }, HTMLDivElement>;
62
66
  export default _default;
63
67
  //# sourceMappingURL=TextInput.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/TextInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
1
+ {"version":3,"file":"TextInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/TextInput.vue"],"names":[],"mappings":"AAGA;AAsBA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
@@ -1,4 +1,5 @@
1
1
  import { FormData, ComputedData, MultiStepFormData, FormProps } from '../types';
2
+ declare function submitForm(): Promise<void>;
2
3
  declare function handleClearAction(): void;
3
4
  declare function handleNextStep(): Promise<void>;
4
5
  declare function handlePreviousStep(): Promise<void>;
@@ -10,6 +11,7 @@ declare const _default: import('vue').DefineComponent<FormProps, {
10
11
  computedData: import('vue').Ref<ComputedData, ComputedData>;
11
12
  formData: import('vue').ComputedRef<FormData>;
12
13
  resetForm: typeof handleClearAction;
14
+ submitForm: typeof submitForm;
13
15
  isFormValid: () => Promise<boolean>;
14
16
  resolveData: () => MultiStepFormData | {
15
17
  formData: FormData;
@@ -1 +1 @@
1
- {"version":3,"file":"vForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/vForm.vue"],"names":[],"mappings":"AAkMA;AA4mBA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkIpF,iBAAS,iBAAiB,SAQzB;AAWD,iBAAe,cAAc,kBAyB5B;AAED,iBAAe,kBAAkB,kBAOhC;AAED,iBAAe,eAAe,CAAC,SAAS,EAAE,MAAM,iBA2B/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAstBD,wBAWG"}
1
+ {"version":3,"file":"vForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/vForm.vue"],"names":[],"mappings":"AAkMA;AA6mBA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA+FpF,iBAAe,UAAU,kBAuBxB;AAYD,iBAAS,iBAAiB,SAQzB;AAWD,iBAAe,cAAc,kBAyB5B;AAED,iBAAe,kBAAkB,kBAOhC;AAED,iBAAe,eAAe,CAAC,SAAS,EAAE,MAAM,iBA2B/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwtBD,wBAWG"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDataTransformation.d.ts","sourceRoot":"","sources":["../../src/composables/useDataTransformation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAS,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAU,MAAM,SAAS,CAAC;AAGrE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC;;;EA+JlE"}
1
+ {"version":3,"file":"useDataTransformation.d.ts","sourceRoot":"","sources":["../../src/composables/useDataTransformation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAS,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAU,MAAM,SAAS,CAAC;AAGrE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC;;;EAwKlE"}
@@ -0,0 +1,58 @@
1
+ import { Ref } from 'vue';
2
+ import { FormField, FormFieldValue, FormValue } from '../types';
3
+ /**
4
+ * Composable for handling form field value resolution
5
+ * Supports direct values, functions that return values, and Promises that resolve to values
6
+ */
7
+ export declare function useFormFieldValue(model: Ref<FormField>): {
8
+ resolvedValue: Ref<string | number | boolean | {
9
+ label: string;
10
+ value: string | number;
11
+ other?: any;
12
+ isChecked?: boolean | undefined;
13
+ disabled?: boolean | undefined;
14
+ description?: {
15
+ color: "primary" | "warning" | "danger" | "secondary" | "light";
16
+ text: string;
17
+ show?: "always" | "onSelected" | undefined;
18
+ } | undefined;
19
+ } | {
20
+ label: string;
21
+ value: string | number;
22
+ other?: any;
23
+ isChecked?: boolean | undefined;
24
+ disabled?: boolean | undefined;
25
+ description?: {
26
+ color: "primary" | "warning" | "danger" | "secondary" | "light";
27
+ text: string;
28
+ show?: "always" | "onSelected" | undefined;
29
+ } | undefined;
30
+ }[] | undefined, FormValue | {
31
+ label: string;
32
+ value: string | number;
33
+ other?: any;
34
+ isChecked?: boolean | undefined;
35
+ disabled?: boolean | undefined;
36
+ description?: {
37
+ color: "primary" | "warning" | "danger" | "secondary" | "light";
38
+ text: string;
39
+ show?: "always" | "onSelected" | undefined;
40
+ } | undefined;
41
+ } | {
42
+ label: string;
43
+ value: string | number;
44
+ other?: any;
45
+ isChecked?: boolean | undefined;
46
+ disabled?: boolean | undefined;
47
+ description?: {
48
+ color: "primary" | "warning" | "danger" | "secondary" | "light";
49
+ text: string;
50
+ show?: "always" | "onSelected" | undefined;
51
+ } | undefined;
52
+ }[] | undefined>;
53
+ isLoading: Ref<boolean, boolean>;
54
+ error: Ref<string | null, string | null>;
55
+ resolveValue: () => Promise<void>;
56
+ updateValue: (newValue: FormFieldValue | undefined) => Promise<void>;
57
+ };
58
+ //# sourceMappingURL=useFormFieldValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormFieldValue.d.ts","sourceRoot":"","sources":["../../src/composables/useFormFieldValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,GAAG,EAAoB,MAAM,KAAK,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG/D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAQtB,OAAO,CAAC,IAAI,CAAC;4BA2BP,cAAc,GAAG,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;EA0BhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiStepForm.d.ts","sourceRoot":"","sources":["../../src/composables/useMultiStepForm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGpG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe;;;;;;;;;;;;;6BAwGtB,MAAM,QAAQ,QAAQ;qCAId,MAAM,QAAQ,YAAY;4BAInC,MAAM;+BAUC,OAAO,CAAC,OAAO,CAAC;0BAqBnB,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;oBAiBjC,OAAO,CAAC,OAAO,CAAC;wBAQZ,OAAO,CAAC,OAAO,CAAC;;4BAiBZ,OAAO,CAAC,OAAO,CAAC;gCAoBlB,iBAAiB;EAoCnD"}
1
+ {"version":3,"file":"useMultiStepForm.d.ts","sourceRoot":"","sources":["../../src/composables/useMultiStepForm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGpG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe;;;;;;;;;;;;;6BAmHtB,MAAM,QAAQ,QAAQ;qCAId,MAAM,QAAQ,YAAY;4BAInC,MAAM;+BAUC,OAAO,CAAC,OAAO,CAAC;0BAqBnB,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;oBAiBjC,OAAO,CAAC,OAAO,CAAC;wBAQZ,OAAO,CAAC,OAAO,CAAC;;4BAiBZ,OAAO,CAAC,OAAO,CAAC;gCAoBlB,iBAAiB;EAoCnD"}
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"),V=require("@ionic/vue"),Z=require("ionicons/icons"),Ce=require("@maskito/vue");function Ve(l){return new Promise(a=>{requestAnimationFrame(async()=>{const n=await l.getInputElement();a(n)})})}const be={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},Be={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function we(l,a){const n=Be[l];return n[a%n.length]}function Se(l){const a=[];let n="",t=0,o=0;for(;t<l.length;){const r=l[t];if(["d","a","*"].includes(r)){let s=1;if(l[t+1]==="{"){const u=l.indexOf("}",t+2);if(u!==-1){const h=l.slice(t+2,u);if(h.includes(",")){const[,f]=h.split(",").map(c=>parseInt(c.trim()));s=f||parseInt(h.split(",")[0])}else s=parseInt(h);t=u}}else{let u=t+1;for(;l[u]===r;)s++,u++;t=u-1}for(let u=0;u<s;u++)a.push(be[r]),n+=we(r,o++)}else a.push(r),n+=r;t++}return{mask:a,placeholder:n,elementPredicate:Ve}}function X(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function ee(l,a,n){return l.disabled||l.hidden||typeof l.condition=="function"&&!l.condition(a,n)}function _e(l,a,n,t){l.forEach(o=>{var r;if(typeof(o==null?void 0:o.onReset)=="function"&&((r=o==null?void 0:o.$attrs)!=null&&r["ref-key"])){const s=o.$attrs["ref-key"];if(s&&a[s]){const u=a[s];if(ee(u,n,t))return}o.onReset()}})}function xe(l,a,n,t){l.forEach(o=>{var r;if(typeof(o==null?void 0:o.onReset)=="function"&&((r=o==null?void 0:o.$attrs)!=null&&r["ref-key"])){const s=o.$attrs["ref-key"],u=t(s);if(u&&ee(u,a,n))return;o.onReset()}})}function W(l,a,n){return typeof l.condition=="function"?l.condition(a,n):!0}function Y(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(n=>Y(n));const a={};return Object.entries(l).forEach(([n,t])=>{typeof t=="function"?a[n]=t.bind(a):a[n]=Y(t)}),a}function te(l,a){return a.findIndex(n=>n.value===l.value||n.label===l.label||n.value===l.label||n.label===l.value)}function P(l,a){const n=te(l,a);n>=0?a[n].isChecked=!0:a.push({...l,isChecked:!0})}function Ne(l,a){const n=te(l,a);n>=0&&(a[n].isChecked=!1)}function Ee(l){l.forEach(a=>{a.isChecked=!1})}function ne(l,a){if(!l.description)return!1;const n=l.description.show??"always";return n==="always"?!0:n==="onSelected"?!!a:!1}function Ie(l,a){return a?l.filter(n=>JSON.stringify(n).toLowerCase().includes(a.toLowerCase())):l}function ze(l){const a=l.label||"",n=l.required?" *":"";return a+n}function G(l,a){if(l===a)return!0;if(l==null||a==null||typeof l!=typeof a)return!1;if(typeof l!="object")return l===a;if(Array.isArray(l)&&Array.isArray(a))return l.length!==a.length?!1:l.every((o,r)=>G(o,a[r]));if(Array.isArray(l)!==Array.isArray(a))return!1;const n=Object.keys(l),t=Object.keys(a);return n.length!==t.length?!1:n.every(o=>Object.hasOwn(a,o)&&G(l[o],a[o]))}function D(l){return l.type!=="FormSection"}function le(){const l=e.ref([]);async function a(){console.debug("Validating form inputs");const o=[];for(const r of l.value)if(typeof(r==null?void 0:r.onValueUpdate)=="function"&&await r.onValueUpdate(),typeof(r==null?void 0:r.getErrors)=="function")try{const s=r.getErrors();Array.isArray(s)?o.push(...s):console.warn("getErrors() returned non-array value:",s)}catch(s){console.error("Error calling getErrors on component:",s,r)}else console.warn("Component does not have getErrors function:",r);return o.every(X)}function n(){const o=[];for(const r of l.value)if(typeof(r==null?void 0:r.getErrors)=="function")try{const s=r.getErrors();Array.isArray(s)?o.push(...s):o.push(String(s))}catch(s){console.error("Error calling getErrors on component:",s,r)}return o}async function t(){for(const o of l.value)typeof(o==null?void 0:o.onValueUpdate)=="function"&&await o.onValueUpdate()}return{dynamicRefs:l,isFormValid:a,getFormErrors:n,updateFormValues:t}}function ae(l){const a=e.computed(()=>Object.entries(l.value).reduce((f,[c,m])=>(D(m)&&m.value!==void 0&&(f[c]=m.value),f),{})),n=e.ref({}),t=(f,c,m)=>{const p=l.value[f];if(D(p)&&p.children){const d=p.children[c];if(d&&D(d)&&typeof d.computedValue=="function")return d.computedValue(m,l.value)}return m},o=(f,c,m,p)=>{n.value[f][p]||(n.value[f][p]={}),Object.entries(c.other??{}).forEach(([d,v])=>{var b;!G(v,(b=m.other)==null?void 0:b[d])&&(n.value[f][p][d]=t(f,d,v))})},r=(f,c,m)=>{c.forEach((p,d)=>{const v=m[d]??{other:{}};o(f,p,v,d)})},s=(f,{other:c})=>Object.entries(c??{}).reduce((m,[p,d])=>(m[p]=t(f,p,d),m),{}),u=(f,c,m)=>{n.value[f]||(n.value[f]=[]);const p=c;Array.isArray(m[f])?r(f,p,m[f]):n.value[f]=p.map(d=>s(f,d))},h=(f,c,m)=>{if(!c){delete n.value[f];return}const p=l.value[f];D(p)&&(typeof p.onChange=="function"&&p.onChange(c,l.value),p.children!==void 0?u(f,c,m):typeof p.computedValue=="function"&&(n.value[f]=p.computedValue(c,l.value)))};return e.watch(a,(f,c={})=>{Object.keys(f).forEach(m=>{G(f[m],c[m])||h(m,f[m],c)}),Object.keys(c).forEach(m=>{!(m in f)&&m in n.value&&delete n.value[m]})},{immediate:!0,deep:!0}),{formData:a,computedData:n}}function re(l){const a=e.ref(0),n=e.ref({}),t=e.ref({}),o=e.ref({});function r(C,N){const k=l.steps.find(w=>w.id===C);if(!(k!=null&&k.schema))return{};const i={},y=Object.values(n.value).reduce((w,g)=>({...w,...g}),{}),_=Object.values(t.value).reduce((w,g)=>({...w,...g}),{});for(const[w,g]of Object.entries(k.schema))D(g)&&(ee(g,y,_)?N&&w in N?i[w]=N[w]:g.value!==void 0&&(i[w]=g.value):i[w]=g.value);return i}l.steps.forEach(C=>{n.value[C.id]=r(C.id),t.value[C.id]={},o.value[C.id]=[]});const s=e.ref(l.steps.map(C=>C.id)),u=e.computed(()=>l.steps.filter(N=>N.condition?N.condition(n.value,t.value):!0));e.watch(u,C=>{const N=C.map(i=>i.id);s.value.filter(i=>!N.includes(i)).forEach(i=>{S(i)}),s.value=N});const h=e.computed(()=>u.value.length>0?a.value>=u.value.length?u.value[u.value.length-1]:u.value[a.value]:l.steps[a.value]),f=e.computed(()=>a.value===0),c=e.computed(()=>a.value===u.value.length-1),m=e.computed(()=>!c.value),p=e.computed(()=>!f.value),d=e.computed(()=>u.value.length),v=e.computed(()=>d.value===0?0:Math.round((a.value+1)/d.value*100));function x(C,N){n.value[C]={...n.value[C],...N}}function b(C,N){t.value[C]={...t.value[C],...N}}function S(C){if(l.steps.find(k=>k.id===C)){const k=n.value[C]||{};n.value[C]=r(C,k),t.value[C]={}}}async function B(){const C=h.value;if(!C)return!0;const N=[];if(C.validation){const k=await C.validation(n.value[C.id],t.value[C.id]);k&&N.push(...k)}return o.value[C.id]=N,N.length===0}async function I(C){return C<0||C>=u.value.length||C>a.value&&!await B()?!1:(a.value=C,!0)}async function z(){return m.value?I(a.value+1):!1}async function $(){return p.value?I(a.value-1):!1}function T(){a.value=0,o.value={},l.steps.forEach(C=>{S(C.id),o.value[C.id]=[]})}async function M(){let C=!0;for(const N of l.steps)if(N.validation){const k=await N.validation(n.value[N.id],t.value[N.id]);o.value[N.id]=k||[],k&&k.length>0&&(C=!1)}return C}function O(){return{formData:{...n.value},computedData:{...t.value}}}return{currentStepIndex:a,currentStep:h,stepData:n,stepComputedData:t,stepValidationErrors:o,visibleSteps:u,isFirstStep:f,isLastStep:c,canGoNext:m,canGoPrevious:p,totalSteps:d,progressPercentage:v,updateStepData:x,updateStepComputedData:b,clearStepData:S,validateCurrentStep:B,goToStep:I,nextStep:z,previousStep:$,resetForm:T,validateAllSteps:M,getMultiStepFormData:O}}const Oe={class:"step-indicator__container"},Fe=["onClick"],De={class:"step-indicator__step-content"},$e={class:"step-indicator__step-marker"},Te={class:"step-indicator__step-info"},Ae={class:"step-indicator__step-title"},Me={key:0,class:"step-indicator__step-subtitle"},Pe={key:0,class:"step-indicator__progress"},Re={class:"step-indicator__progress-bar"},Le={class:"step-indicator__progress-text"},qe=e.defineComponent({__name:"StepIndicator",props:{steps:{},activeStepIndex:{},position:{},showProgress:{type:Boolean,default:!0},allowNavigation:{type:Boolean,default:!1}},emits:["step-click"],setup(l,{emit:a}){const n=l,t=a,o=e.computed(()=>n.steps.length===0?0:(n.activeStepIndex+1)/n.steps.length*100);function r(s){n.allowNavigation&&t("step-click",s)}return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["step-indicator",[`step-indicator--${s.position}`,{"step-indicator--clickable":s.allowNavigation}]])},[e.createElementVNode("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.steps,(h,f)=>(e.openBlock(),e.createElementBlock("div",{key:h.id,class:e.normalizeClass(["step-indicator__step",{"step-indicator__step--active":f===s.activeStepIndex,"step-indicator__step--completed":f<s.activeStepIndex,"step-indicator__step--clickable":s.allowNavigation}]),onClick:c=>r(f)},[e.createElementVNode("div",De,[e.createElementVNode("div",$e,[e.createElementVNode("span",null,e.toDisplayString(f+1),1)]),e.createElementVNode("div",Te,[e.createElementVNode("div",Ae,e.toDisplayString(h.title),1),h.subtitle?(e.openBlock(),e.createElementBlock("div",Me,e.toDisplayString(h.subtitle),1)):e.createCommentVNode("",!0)])]),f<s.steps.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["step-indicator__connector",{"step-indicator__connector--completed":f<s.activeStepIndex}])},null,2)):e.createCommentVNode("",!0)],10,Fe))),128))]),s.showProgress&&(s.position==="top"||s.position==="bottom")?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",Re,[e.createElementVNode("div",{class:"step-indicator__progress-fill",style:e.normalizeStyle({width:`${o.value}%`})},null,4)]),e.createElementVNode("div",Le," Step "+e.toDisplayString(s.activeStepIndex+1)+" of "+e.toDisplayString(s.steps.length),1)])):e.createCommentVNode("",!0)],2))}}),q=(l,a)=>{const n=l.__vccOpts||l;for(const[t,o]of a)n[t]=o;return n},K=q(qe,[["__scopeId","data-v-aca1a6d0"]]),R=e.defineComponent({__name:"ActionButton",props:{type:{type:String,default:"submit"},label:{type:String,required:!1}},setup(l){const a=e.inject("globalConfig"),n=l,t=e.computed(()=>{var o,r;return n.label??((r=(o=a==null?void 0:a.buttons)==null?void 0:o[n.type])==null?void 0:r.label)??n.type});return(o,r)=>{var s,u,h,f,c,m,p,d,v,x,b,S;return e.openBlock(),e.createBlock(e.unref(V.IonButton),{color:((h=(u=(s=e.unref(a))==null?void 0:s.buttons)==null?void 0:u[l.type])==null?void 0:h.color)??"primary",fill:((m=(c=(f=e.unref(a))==null?void 0:f.buttons)==null?void 0:c[l.type])==null?void 0:m.fill)??"solid",expand:(v=(d=(p=e.unref(a))==null?void 0:p.buttons)==null?void 0:d[l.type])==null?void 0:v.expand,size:((S=(b=(x=e.unref(a))==null?void 0:x.buttons)==null?void 0:b[l.type])==null?void 0:S.size)??"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]),_:1},8,["color","fill","expand","size"])}}}),oe=e.defineComponent({__name:"CustomButton",props:{button:{type:Object,required:!0}},setup(l){return(a,n)=>(e.openBlock(),e.createBlock(e.unref(V.IonButton),{onClick:l.button.action,color:l.button.color??"primary",fill:l.button.fill??"solid",size:l.button.size??"default",expand:l.button.expand},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.button.label),1)]),_:1},8,["onClick","color","fill","size","expand"]))}}),Ue={class:"v-form-container"},je={key:0,class:"multi-step-form"},Ge={class:"multi-step-form-content"},He={key:3,class:"step-progress-bottom"},Ke={class:"step-progress-bar"},We={class:"step-progress-text"},Ze=e.defineComponent({__name:"vForm",props:{schema:{},multiStepConfig:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{},clearButtonText:{},cancelButtonText:{},nextButtonText:{},previousButtonText:{},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","multi-step-submit","step-change","clear","cancel"],setup(l,{expose:a,emit:n}){const t=l,o=n,r=e.computed(()=>!!t.multiStepConfig),s=e.ref(t.schema||{}),u=t.multiStepConfig?re(t.multiStepConfig):null,{dynamicRefs:h,isFormValid:f}=le(),{formData:c,computedData:m}=ae(s),p=e.ref(null),d=e.computed(()=>(u==null?void 0:u.currentStepIndex.value)??0),v=e.computed(()=>u==null?void 0:u.currentStep.value),x=e.computed(()=>(u==null?void 0:u.visibleSteps.value)??[]),b=e.computed(()=>(u==null?void 0:u.isLastStep.value)??!0),S=e.computed(()=>(u==null?void 0:u.canGoNext.value)??!1),B=e.computed(()=>(u==null?void 0:u.canGoPrevious.value)??!1),I=e.computed(()=>!r.value||!u?0:u.progressPercentage.value);e.watch(()=>v.value,i=>{i&&r.value&&(s.value=i.schema||{})},{immediate:!0}),e.watch([c,m],([i,y])=>{r.value&&u&&v.value&&(u.updateStepData(v.value.id,i),u.updateStepComputedData(v.value.id,y))},{deep:!0}),e.watch(()=>t.schema,i=>{if(!r.value&&i){s.value=i;for(const[y,_]of Object.entries(i))D(_)&&"value"in _&&_.value!==void 0&&(s.value[y].value=_.value)}},{deep:!0,immediate:!0});async function z(){var i;if(r.value&&u){if((i=v.value)!=null&&i.component&&p.value&&typeof p.value.validate=="function"&&!await p.value.validate()||!await u.validateAllSteps())return;const _=u.getMultiStepFormData();o("multi-step-submit",_)}else{if(!await f())return;o("submit",c.value,m.value)}}function $(){_e(h.value,s.value,c.value,m.value)}function T(){r.value&&u&&v.value&&u.clearStepData(v.value.id),$(),o("clear")}function M(){r.value&&u?u.resetForm():$(),o("cancel")}async function O(){var i;if(r.value&&u){let y=!0;if((i=v.value)!=null&&i.component&&p.value?typeof p.value.validate=="function"&&(y=await p.value.validate()):y=await f(),!y)return;await u.nextStep()&&v.value&&o("step-change",d.value,v.value.id)}}async function C(){u&&await u.previousStep()&&v.value&&o("step-change",d.value,v.value.id)}async function N(i){var y;if(u){if(i>d.value){let w=!0;if((y=v.value)!=null&&y.component&&p.value?typeof p.value.validate=="function"&&(w=await p.value.validate()):w=await f(),!w)return}await u.goToStep(i)&&v.value&&o("step-change",i,v.value.id)}}e.watch(c,async()=>{var i;for(const[y,_]of Object.entries(s.value))if(!W(_,c.value,m.value)){const w=r.value&&v.value&&v.value.schema?v.value.schema[y]:(i=t.schema)==null?void 0:i[y];w&&D(w)&&"value"in w?_.value=w.value:_.value=void 0}},{deep:!0,immediate:!0});function k(i){r.value&&u&&v.value&&u.updateStepData(v.value.id,i)}return a({isLastStep:b,canGoNext:S,canGoPrevious:B,computedData:m,formData:c,resetForm:T,isFormValid:f,resolveData:()=>r.value&&u?u.getMultiStepFormData():{formData:c.value,computedData:m.value},nextStep:O,previousStep:C,goToStep:N,getCurrentStep:()=>v.value,getCurrentStepIndex:()=>d.value}),(i,y)=>{var _,w;return e.openBlock(),e.createElementBlock("div",Ue,[r.value?(e.openBlock(),e.createElementBlock("div",je,[i.multiStepConfig&&i.multiStepConfig.stepPosition==="top"?(e.openBlock(),e.createBlock(K,{key:0,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition||"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["multi-step-content",`multi-step-content--${((_=i.multiStepConfig)==null?void 0:_.stepPosition)||"top"}`])},[i.multiStepConfig&&i.multiStepConfig.stepPosition==="left"?(e.openBlock(),e.createBlock(K,{key:0,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition??"top","show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ge,[(w=v.value)!=null&&w.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value.component),e.mergeProps({key:0},v.value.componentProps||{},{"onUpdate:data":k,ref_key:"customComponentRef",ref:p}),null,16)):(e.openBlock(),e.createBlock(e.unref(V.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),g=>{var E,F,A,L,j;return e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[e.unref(W)(s.value[g],e.unref(c),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:0,size:((E=s.value[g].grid)==null?void 0:E.xs)??"12","size-sm":(F=s.value[g].grid)==null?void 0:F.sm,"size-md":(A=s.value[g].grid)==null?void 0:A.md,"size-lg":(L=s.value[g].grid)==null?void 0:L.lg,"size-xl":(j=s.value[g].grid)==null?void 0:j.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[g].type),{modelValue:s.value[g],"onUpdate:modelValue":Q=>s.value[g]=Q,schema:s.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:h,"ref-key":g},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1})]),_:1})),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(V.IonRow),{key:2},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(R,{key:0,type:"previous",label:i.previousButtonText,onClick:C},null,8,["label"])):e.createCommentVNode("",!0),i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:1,type:"cancel",label:i.cancelButtonText,onClick:M},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:2,type:"clear",label:i.clearButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,g=>(e.openBlock(),e.createBlock(oe,{button:g,key:g.label},null,8,["button"]))),128)),S.value?(e.openBlock(),e.createBlock(R,{key:3,type:"next",label:i.nextButtonText,onClick:O},null,8,["label"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createBlock(R,{key:4,type:"submit",label:i.submitButtonText,onClick:z},null,8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["style"])]),_:1})),i.multiStepConfig&&(i.multiStepConfig.stepPosition==="left"||i.multiStepConfig.stepPosition==="right")&&i.multiStepConfig.showProgress?(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",Ke,[e.createElementVNode("div",{class:"step-progress-fill",style:e.normalizeStyle({width:`${I.value}%`})},null,4)]),e.createElementVNode("div",We," Step "+e.toDisplayString(d.value+1)+" of "+e.toDisplayString(x.value.length),1)])):e.createCommentVNode("",!0)]),i.multiStepConfig&&i.multiStepConfig.stepPosition==="right"?(e.openBlock(),e.createBlock(K,{key:1,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N,class:"multi-step-sidebar"},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)],2),i.multiStepConfig&&i.multiStepConfig.stepPosition==="bottom"?(e.openBlock(),e.createBlock(K,{key:1,steps:x.value,"active-step-index":d.value,position:i.multiStepConfig.stepPosition,"show-progress":i.multiStepConfig.showProgress,"allow-navigation":i.multiStepConfig.allowStepNavigation,onStepClick:N},null,8,["steps","active-step-index","position","show-progress","allow-navigation"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(V.IonGrid),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),g=>{var E,F,A,L,j;return e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[e.unref(W)(s.value[g],e.unref(c),e.unref(m))?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:0,size:((E=s.value[g].grid)==null?void 0:E.xs)??"12","size-sm":(F=s.value[g].grid)==null?void 0:F.sm,"size-md":(A=s.value[g].grid)==null?void 0:A.md,"size-lg":(L=s.value[g].grid)==null?void 0:L.lg,"size-xl":(j=s.value[g].grid)==null?void 0:j.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[g].type),{modelValue:s.value[g],"onUpdate:modelValue":Q=>s.value[g]=Q,schema:s.value,"form-id":g,ref_for:!0,ref_key:"dynamicRefs",ref:h,"ref-key":g,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),128))]),_:1}),i.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(V.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:i.buttonPlacement}])},{default:e.withCtx(()=>[i.showCancelButton?(e.openBlock(),e.createBlock(R,{key:0,type:"cancel",label:i.cancelButtonText,onClick:M},null,8,["label"])):e.createCommentVNode("",!0),i.showClearButton?(e.openBlock(),e.createBlock(R,{key:1,type:"clear",label:i.clearButtonText,onClick:T},null,8,["label"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.customButtons,g=>(e.openBlock(),e.createBlock(oe,{button:g,key:g.label},null,8,["button"]))),128)),e.createVNode(R,{type:"submit",label:i.submitButtonText,onClick:z},null,8,["label"])]),_:1},8,["style"])]),_:1}))]),_:1}))])}}}),ue=q(Ze,[["__scopeId","data-v-60c645eb"]]);function Je(l){return{applyValidationState:async t=>{var o,r,s,u,h;(o=l.value)==null||o.$el.classList.remove("ion-invalid"),(r=l.value)==null||r.$el.classList.remove("ion-valid"),t?(s=l.value)==null||s.$el.classList.add("ion-valid"):(u=l.value)==null||u.$el.classList.add("ion-invalid"),(h=l.value)==null||h.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,o;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(o=l.value)==null||o.$el.classList.remove("ion-invalid")}}}function U(l,a,n,t,o){const{applyValidationState:r,resetValidationState:s}=Je(l),u=e.inject("globalConfig");async function h(){var d;if(a.value.required&&!n.value)return a.value.error=((d=u==null?void 0:u.errorMessages)==null?void 0:d.required)??"This field is required",!1;if(o){const v=await o(n.value);if(typeof v=="string")return a.value.error=v,!1;if(v===!1)return!1}if(a.value.validation){const v=await a.value.validation(n.value,t==null?void 0:t.value);if(v!=null&&v.length)return a.value.error=v.join(),!1}return!0}async function f(){const d=await h();d&&(a.value.error="",a.value.value=n.value),await r(d)}function c(){s(),a.value.error=""}function m(d=""){n.value=d,a.value.error="",a.value.value=d}function p(){return a.value.error?[a.value.error]:[]}return{isValid:h,onValueUpdate:f,onFocus:c,onReset:m,getErrors:p,applyValidationState:r,resetValidationState:s}}function Qe(l){const a=e.computed(()=>!!l.value.label),n=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:a,showRequired:n,labelText:t}}const J=e.defineComponent({__name:"InputLabel",props:{model:{},slotName:{}},setup(l){const a=l,{showLabel:n,showRequired:t,labelText:o}=Qe(e.toRef(a,"model"));return(r,s)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,slot:r.slotName,class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1},8,["slot"])):e.createCommentVNode("",!0)}}),H=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),{isValid:u,onValueUpdate:h,onFocus:f,onReset:c,getErrors:m}=U(o,t,r,s),p=e.computed(()=>{if(t.value.pattern)return Se(t.value.pattern)});return e.watch(()=>t.value.value,d=>r.value=d),a({onValueUpdate:h,onReset:c,getErrors:m,isValid:u}),(d,v)=>{var b;const x=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(V.IonInput),{ref_key:"inputRef",ref:o,modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=S=>r.value=S),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:d.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((b=p.value)==null?void 0:b.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,style:{width:"100%"},onIonFocus:e.unref(f),onIonChange:e.unref(h),onIonBlur:e.unref(h)},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,slot:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.prefix),1)]),_:1})):e.createCommentVNode("",!0),t.value.suffix?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),d.type==="password"?(e.openBlock(),e.createBlock(e.unref(V.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","class","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[x,p.value]])}}}),se=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"text",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ie=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:n.value.enableTime?"datetime-local":"date",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),ce=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"number",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),de=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"email",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=e.useModel(l,"modelValue"),t=e.ref(null);return a({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,r;return((r=(o=t.value)==null?void 0:o.getErrors)==null?void 0:r.call(o))??[]}}),(o,r)=>(e.openBlock(),e.createBlock(H,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),type:"password",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),Xe={class:"option-content"},Ye=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(null),s=e.ref(!1),u=e.ref([]),h=e.ref(""),f=e.ref(1),c=e.inject("globalConfig"),m=e.computed(()=>t.value.interface??"popover"),p=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),d=e.computed(()=>u.value.filter(k=>!!k.isChecked)),v=e.computed(()=>!h.value&&X(d.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([h,()=>t.value.options],C,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,N,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!n.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(i=>{const y=n.schema[i];return D(y)?y.value:void 0}),async(k,i)=>{k&&i&&!G(k,i)&&(x(),u.value=[],await C())},{deep:!0});function x(){t.value.error="",h.value="",f.value=1,t.value.value=t.value.multiple?[]:"",Ee(u.value)}function b(k){if(k.disabled)return;const i=u.value.findIndex(y=>y.value===k.value&&y.isChecked);if(i>=0){if(Array.isArray(t.value.value)){const y=te(k,t.value.value);y>=0&&t.value.value.splice(y,1)}u.value[i].isChecked=!1}else t.value.multiple||x(),P(k,u.value);O(),h.value=""}function S(){switch(m.value){case"action-sheet":B();break;case"alert":I();break;case"popover":default:s.value=!0;break}}async function B(){var i,y;if(await C(),t.value.multiple){s.value=!0;return}await(await V.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...u.value.map(_=>{let w="";return _.isChecked?w="selected-option":_.disabled&&(w="disabled-option"),{text:_.label,cssClass:w,handler:()=>(b(_),!1),disabled:_.disabled}}),{text:((y=(i=c==null?void 0:c.buttons)==null?void 0:i.cancel)==null?void 0:y.label)??"Cancel",role:"cancel"}]})).present()}async function I(){var y,_,w,g;await C();const k=u.value.map(E=>({label:E.label,type:t.value.multiple?"checkbox":"radio",value:E,checked:E.isChecked,disabled:E.disabled}));await(await V.alertController.create({header:t.value.label||"Select an option",inputs:k,buttons:[{text:((_=(y=c==null?void 0:c.buttons)==null?void 0:y.cancel)==null?void 0:_.label)??"Cancel",role:"cancel"},{text:((g=(w=c==null?void 0:c.buttons)==null?void 0:w.ok)==null?void 0:g.label)??"OK",handler:E=>{if(t.value.multiple)u.value.forEach(F=>Ne(F,u.value)),E.forEach(F=>{const A=u.value.find(L=>L.value===F.value);A&&P(A,u.value)});else{x();const F=u.value.find(A=>A.value===E.value);F&&P(F,u.value)}O()}}]})).present()}async function z(){var k;if(t.value.required&&X(d.value))return((k=c==null?void 0:c.errorMessages)==null?void 0:k.required)??"This field is required";if(t.value.validation){const i=await t.value.validation(d.value,n==null?void 0:n.schema);if(i&&i.length)return i.join()}return!0}const{onFocus:$,applyValidationState:T}=U(o,t,e.computed(()=>t.value.multiple?d.value:d.value[0]),e.computed(()=>n==null?void 0:n.schema),z);function M(k){var i;k.target===((i=o.value)==null?void 0:i.$el)&&($(),m.value==="popover"&&(s.value=!0))}async function O(k){var y;if((y=k==null?void 0:k.relatedTarget)!=null&&y.closest(".suggestions-list"))return;s.value=!1;const i=await z();i===!0?(t.value.error="",t.value.value=t.value.multiple?d.value:d.value[0]):t.value.error=typeof i=="string"?i:"Validation failed",await T(i===!0)}async function C(){const k=[];if(typeof t.value.options=="function"){let i={};if(t.value.dependsOn&&n.schema){const y=Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn];let _=!0;if(i=y.reduce((w,g)=>{const E=n.schema[g];return w[g]=D(E)?E.value:void 0,(w[g]===void 0||w[g]===null||w[g]==="")&&(_=!1),w},{}),_){const w=await t.value.options(h.value,i);k.push(...w.filter(g=>!!g.label))}}else{const y=await t.value.options(h.value,{});k.push(...y.filter(_=>!!_.label))}}else Array.isArray(t.value.options)&&k.push(...Ie(t.value.options,h.value));d.value.forEach(i=>P(i,k)),u.value=k}async function N(){const k=t.value.value;if(k){if(u.value.length===0&&await C(),Array.isArray(k))k.forEach(i=>P(i,u.value));else if(typeof k=="object")P(k,u.value);else{const i=u.value.find(y=>y.value===k);P(i||{value:k,label:k},u.value)}O()}}return e.onMounted(async()=>{await C(),await N()}),a({onValueUpdate:O,onReset:x,getErrors:()=>t.value.error?[t.value.error]:[]}),(k,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["autocomplete-container",t.value.className]),onFocusout:O,ref_key:"containerRef",ref:r},[e.createVNode(e.unref(V.IonInput),{ref_key:"inputRef",ref:o,modelValue:h.value,"onUpdate:modelValue":i[0]||(i[0]=y=>h.value=y),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:l.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:v.value,disabled:t.value.disabled,counter:t.value.counter,debounce:300,onIonFocus:M,onClick:S,style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(y,_)=>(e.openBlock(),e.createBlock(e.unref(V.IonChip),{key:_},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(V.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var y;return[e.createTextVNode(e.toDisplayString(((y=d.value[0])==null?void 0:y.label)??""),1)]}),_:1})),e.createVNode(e.unref(V.IonIcon),{slot:"end",icon:e.unref(Z.chevronDown)},null,8,["icon"]),d.value.length>0||h.value?(e.openBlock(),e.createBlock(e.unref(V.IonIcon),{key:2,slot:"end",icon:e.unref(Z.close),onClick:x,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),s.value&&u.value.length>0&&m.value==="popover"?(e.openBlock(),e.createBlock(e.unref(V.IonList),{key:0,class:e.normalizeClass(["suggestions-list",p.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,y=>(e.openBlock(),e.createBlock(e.unref(V.IonItem),{button:"",key:y.label,onClick:_=>b(y),lines:t.value.showOptionsSeparator?"none":"full",disabled:y.disabled,class:e.normalizeClass({"ion-item-disabled":y.disabled})},{default:e.withCtx(()=>{var _;return[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(V.IonCheckbox),{key:0,slot:"start",checked:y.isChecked,disabled:y.disabled},null,8,["checked","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",Xe,[e.createVNode(e.unref(V.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024),e.unref(ne)(y,y.isChecked)?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:(_=y.description)==null?void 0:_.color,class:"option-description"},{default:e.withCtx(()=>{var w;return[e.createTextVNode(e.toDisplayString((w=y.description)==null?void 0:w.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["onClick","lines","disabled","class"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],34))}}),fe=q(Ye,[["__scopeId","data-v-022ed1e8"]]),me=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),{onValueUpdate:u,onFocus:h,onReset:f,getErrors:c}=U(o,t,r,s);return e.watch(()=>t.value.value,m=>r.value=m),a({onReset:f,onValueUpdate:u,getErrors:c}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(V.IonTextarea),{ref_key:"inputRef",ref:o,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=d=>r.value=d),class:e.normalizeClass(t.value.className),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,rows:t.value.rows,cols:t.value.cols,"auto-grow":t.value.autoGrow,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(h),onIonChange:e.unref(u),onIonBlur:e.unref(u),style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{model:t.value,"slot-name":"label"},null,8,["model"])]),_:1},8,["modelValue","class","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),et={class:"button-container"},tt=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref([]),{dynamicRefs:r,getFormErrors:s,updateFormValues:u}=le(),h=e.computed(()=>o.value.map((v,x)=>({label:`Set ${x+1}`,value:x,other:Object.entries(v).reduce((b,[S,B])=>(D(B)&&(b[S]=B.value),b),{})})));e.watch(h,v=>{t.value.value=v},{deep:!0,immediate:!0}),e.onMounted(f);function f(){t.value.children&&o.value.push(Y(t.value.children))}function c(v){o.value.splice(v,1)}function m(){const v=x=>{const[b,S]=x.split("-"),B=parseInt(b,10);return!isNaN(B)&&S&&o.value[B]&&o.value[B][S]?o.value[B][S]:null};xe(r.value,n.data,n.computedData,v)}function p(){return s()}async function d(){await u()}return a({onValueUpdate:d,onReset:m,getErrors:p}),(v,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(b,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["repeat-input-wrapper",t.value.className]),key:S},[e.createVNode(e.unref(V.IonRow),{class:"repeat-row"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonCol),{size:"11",class:"form-fields-column"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRow),{class:"fields-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(b),B=>{var I,z,$,T,M;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(W)(b[B],v.data,v.computedData)?(e.openBlock(),e.createBlock(e.unref(V.IonCol),{key:`${S}-${B}`,size:((I=b[B].grid)==null?void 0:I.xs)??"12","size-sm":(z=b[B].grid)==null?void 0:z.sm,"size-md":($=b[B].grid)==null?void 0:$.md,"size-lg":(T=b[B].grid)==null?void 0:T.lg,"size-xl":(M=b[B].grid)==null?void 0:M.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b[B].type),{modelValue:b[B],"onUpdate:modelValue":O=>b[B]=O,schema:b,"ref-key":`${S}-${B}`,ref_for:!0,ref_key:"dynamicRefs",ref:r,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),_:2},1024),e.createVNode(e.unref(V.IonCol),{size:"1",class:"button-column"},{default:e.withCtx(()=>[e.createElementVNode("div",et,[S===o.value.length-1?(e.openBlock(),e.createBlock(e.unref(V.IonButton),{key:0,onClick:f,color:"primary",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonIcon),{slot:"icon-only",icon:e.unref(Z.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),o.value.length>1?(e.openBlock(),e.createBlock(e.unref(V.IonButton),{key:1,onClick:B=>c(S),color:"warning",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonIcon),{slot:"icon-only",icon:e.unref(Z.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]),_:2},1024)]),_:2},1024)],2))),128))}}),ve=q(tt,[["__scopeId","data-v-f27172ba"]]),he=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),u=e.computed(()=>ze(t.value)),{onValueUpdate:h,onFocus:f,getErrors:c}=U(o,t,r,s);function m(){r.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,p=>r.value=p),a({onValueUpdate:h,onReset:m,getErrors:c}),(p,d)=>(e.openBlock(),e.createBlock(e.unref(V.IonCheckbox),{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=v=>r.value=v),ref_key:"inputRef",ref:o,justify:"start",class:e.normalizeClass(t.value.className),required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(f),onIonChange:e.unref(h),onIonBlur:e.unref(h),style:{width:"100%"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value),1)]),_:1},8,["modelValue","class","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),lt={class:"radio-content"},ot={class:"radio-label"},nt=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:a}){const n=l,t=e.useModel(l,"modelValue"),o=e.ref(null),r=e.ref(t.value.value),s=e.computed(()=>n.schema),u=e.ref([]),{onValueUpdate:h,onFocus:f,getErrors:c,isValid:m}=U(o,t,r,s);function p(){t.value.error="",r.value=void 0,t.value.value=void 0}function d(b,S){return(b==null?void 0:b.value)===(S==null?void 0:S.value)}function v(b){return r.value?d(r.value,b):!1}async function x(){typeof t.value.options=="function"?u.value=await t.value.options():u.value=t.value.options}return e.watch(()=>t.value.value,b=>r.value=b),a({onValueUpdate:h,onReset:p,getErrors:c,isValid:m}),e.onMounted(x),(b,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(J,{model:t.value},null,8,["model"]),S[1]||(S[1]=e.createElementVNode("br",null,null,-1)),t.value.error?(e.openBlock(),e.createBlock(e.unref(V.IonNote),{key:0,color:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.error),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(V.IonItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRadioGroup),{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=B=>r.value=B),class:e.normalizeClass(t.value.className),required:t.value.required,disabled:t.value.disabled,compareWith:d,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(f),onIonChange:e.unref(h),onIonBlur:e.unref(h),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,B=>(e.openBlock(),e.createBlock(e.unref(V.IonItem),{key:B.value,lines:t.value.showOptionsSeparator?"none":"full"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.IonRadio),{value:B,disabled:t.value.disabled||B.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>{var I;return[e.createElementVNode("div",lt,[e.createElementVNode("div",ot,e.toDisplayString(B.label),1),e.unref(ne)(B,v(B))?(e.openBlock(),e.createBlock(e.unref(V.IonText),{key:0,color:(I=B.description)==null?void 0:I.color,class:"radio-description"},{default:e.withCtx(()=>{var z;return[e.createTextVNode(e.toDisplayString((z=B.description)==null?void 0:z.text),1)]}),_:2},1032,["color"])):e.createCommentVNode("",!0)])]}),_:2},1032,["value","disabled"])]),_:2},1032,["lines"]))),128))]),_:1},8,["modelValue","class","required","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"])]),_:1})],64))}}),ye=q(nt,[["__scopeId","data-v-3dbfeaf7"]]),at={class:"form-section-header"},rt={class:"form-section-title"},ut={key:0,class:"form-section-subtitle"},st=e.defineComponent({__name:"SectionTitle",props:{modelValue:{},schema:{},formId:{},refKey:{}},setup(l){const n=l.modelValue;return(t,o)=>{var r,s,u,h,f;return e.openBlock(),e.createBlock(e.unref(V.IonCol),{size:((r=e.unref(n).grid)==null?void 0:r.xs)??"12","size-sm":(s=e.unref(n).grid)==null?void 0:s.sm,"size-md":(u=e.unref(n).grid)==null?void 0:u.md,"size-lg":(h=e.unref(n).grid)==null?void 0:h.lg,"size-xl":(f=e.unref(n).grid)==null?void 0:f.xl,class:e.normalizeClass(["form-section-container",e.unref(n).className])},{default:e.withCtx(()=>[e.createElementVNode("div",at,[e.createElementVNode("h3",rt,e.toDisplayString(e.unref(n).title),1),e.unref(n).subtitle?(e.openBlock(),e.createElementBlock("p",ut,e.toDisplayString(e.unref(n).subtitle),1)):e.createCommentVNode("",!0)])]),_:1},8,["size","size-sm","size-md","size-lg","size-xl","class"])}}}),ke=q(st,[["__scopeId","data-v-e0bf7af0"]]);function it(l,a,n){const t=e.ref({}),o=e.ref({});function r(c,m,p){o.value[c]=p,m.forEach(d=>{var v;(v=t.value)[d]??(v[d]=[]),t.value[d].includes(c)||t.value[d].push(c)}),f(c)}function s(c){return Object.entries(t.value).filter(([,p])=>p.includes(c)).map(([p])=>p).reduce((p,d)=>(p[d]=a.value[d]??n.value[d],p),{})}function u(c,m){return c?Array.isArray(c)?c.some(p=>m.some(d=>h(p,d.value))):m.some(p=>h(c,p.value)):!1}function h(c,m){return typeof c=="object"&&c!==null?c.value===m:String(c)===String(m)}async function f(c,m){if(!o.value[c])return;const p=s(c),d=Object.keys(p);if(!(d.length===0||!d.every(x=>p[x]!==void 0&&p[x]!==null)))try{const x=o.value[c],b=await x(m,p);if(!l.value[c])return;const S=l.value[c];if(!D(S))return;S.options=b;const B=S.value;if(!B)return;u(B,b)||(S.value=S.multiple?[]:"")}catch(x){console.error(`Error loading options for ${c}:`,x)}}return e.watch([a,n],()=>{Object.entries(t.value).forEach(([c,m])=>{(a.value[c]!==void 0||n.value[c]!==void 0)&&m.forEach(p=>{f(p)})})},{deep:!0,immediate:!0}),{registerDependency:r,updateOptions:f}}const ge={install(l,a){a&&l.provide("globalConfig",a),l.component("VForm",ue),l.component("TextInput",se),l.component("DateInput",ie),l.component("NumberInput",ce),l.component("EmailInput",de),l.component("PasswordInput",pe),l.component("SelectInput",fe),l.component("TextAreaInput",me),l.component("RepeatInput",ve),l.component("CheckboxInput",he),l.component("RadioInput",ye),l.component("FormSection",ke),l.directive("maskito",Ce.maskito)}};exports.CheckboxInput=he;exports.DateInput=ie;exports.EmailInput=de;exports.FormBuilder=ue;exports.FormSection=ke;exports.NumberInput=ce;exports.PasswordInput=pe;exports.RadioInput=ye;exports.RepeatInput=ve;exports.SelectInput=fe;exports.TextAreaInput=me;exports.TextInput=se;exports.VForm=ge;exports.default=ge;exports.useDataTransformation=ae;exports.useDependentOptions=it;exports.useFormValidation=le;exports.useInputValidation=U;exports.useMultiStepForm=re;
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;
2
2
  //# sourceMappingURL=index.cjs.js.map