vee-validate 4.15.0 → 4.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,178 +1,178 @@
1
- <p align="center">
2
- <a href="https://vee-validate.logaretm.com" target="_blank">
3
- <img src="https://raw.githubusercontent.com/logaretm/vee-validate/main/logo.png" width="200" title="Go to website">
4
- </a>
5
- </p>
6
-
7
- <p align="center">
8
- Painless Vue forms
9
- </p>
10
-
11
- <p align="center">
12
-
13
- <a target="_blank" href="https://www.npmjs.com/package/vee-validate">
14
- <img src="https://img.shields.io/npm/v/vee-validate.svg?label=&color=05bda8">
15
- </a>
16
-
17
- <a target="_blank" href="https://npm-stat.com/charts.html?package=vee-validate">
18
- <img src="https://img.shields.io/npm/dm/vee-validate.svg?color=05bd6d&label=">
19
- </a>
20
-
21
- <a href="https://vee-validate.logaretm.com/v4/" target="_blank">
22
- <img src="https://img.shields.io/badge/-docs%20and%20demos-009f53">
23
- </a>
24
-
25
- <a href="https://github.com/sponsors/logaretm">
26
- <img src="https://img.shields.io/badge/-%E2%99%A5%20Sponsors-ec5cc6">
27
-
28
- </a>
29
-
30
- </p>
31
-
32
- <br>
33
-
34
- <p align="center">
35
- <a href="https://github.com/sponsors/logaretm">
36
- <img src='https://sponsors.logaretm.com/sponsors.svg'>
37
- </a>
38
- </p>
39
-
40
- <br>
41
-
42
- ## Features
43
-
44
- - **🍞 Easy:** Declarative validation that is familiar and easy to setup
45
- - **🧘‍♀️ Flexible:** Synchronous, Asynchronous, field-level or form-level validation
46
- - **⚡️ Fast:** Build faster forms faster with intuitive API and small footprint
47
- - **🏏 Minimal:** Only handles the complicated form concerns, gives you full control over everything else
48
- - **😎 UI Agnostic:** Works with native HTML elements or your favorite UI library components
49
- - **🦾 Progressive:** Works whether you use Vue.js as a progressive enhancement or in a complex setup
50
- - **✅ Built-in Rules:** Companion lib with 25+ Rules that covers most needs in most web applications
51
- - **🌐 i18n:** 45+ locales for built-in rules contributed by developers from all over the world
52
-
53
- ## Getting Started
54
-
55
- ### Installation
56
-
57
- ```sh
58
- # Install with yarn
59
- yarn add vee-validate
60
-
61
- # Install with npm
62
- npm install vee-validate --save
63
- ```
64
-
65
- ### Vue version support
66
-
67
- The main v4 version supports Vue 3.x only, for previous versions of Vue, check the following the table
68
-
69
- | vue Version | vee-validate version | Documentation Link |
70
- | ----------- | -------------------- | ---------------------------------------------------------------------------------------- |
71
- | `2.x` | `2.x` or `3.x` | [v2](https://vee-validate.logaretm.com/v2) or [v3](https://vee-validate.logaretm.com/v3) |
72
- | `3.x` | `4.x` | [v4](https://vee-validate.logaretm.com/v4) |
73
-
74
- ### Usage
75
-
76
- vee-validate offers two styles to integrate form validation into your Vue.js apps.
77
-
78
- #### Composition API
79
-
80
- The fastest way to create a form and manage its validation, behavior, and values is with the composition API.
81
-
82
- Create your form with `useForm` and then use `defineField` to create your field model and props/attributes and `handleSubmit` to use the values and send them to an API.
83
-
84
- ```vue
85
- <script setup>
86
- import { useForm } from 'vee-validate';
87
-
88
- // Validation, or use `yup` or `zod`
89
- function required(value) {
90
- return value ? true : 'This field is required';
91
- }
92
-
93
- // Create the form
94
- const { defineField, handleSubmit, errors } = useForm({
95
- validationSchema: {
96
- field: required,
97
- },
98
- });
99
-
100
- // Define fields
101
- const [field, fieldProps] = defineField('field');
102
-
103
- // Submit handler
104
- const onSubmit = handleSubmit(values => {
105
- // Submit to API
106
- console.log(values);
107
- });
108
- </script>
109
-
110
- <template>
111
- <form @submit="onSubmit">
112
- <input v-model="field" v-bind="fieldProps" />
113
- <span>{{ errors.field }}</span>
114
-
115
- <button>Submit</button>
116
- </form>
117
- </template>
118
- ```
119
-
120
- You can do so much more than this, for more info [check the composition API documentation](https://vee-validate.logaretm.com/v4/guide/composition-api/getting-started/).
121
-
122
- #### Declarative Components
123
-
124
- Higher-order components can also be used to build forms. Register the `Field` and `Form` components and create a simple `required` validator:
125
-
126
- ```vue
127
- <script setup>
128
- import { Field, Form } from 'vee-validate';
129
-
130
- // Validation, or use `yup` or `zod`
131
- function required(value) {
132
- return value ? true : 'This field is required';
133
- }
134
-
135
- // Submit handler
136
- function onSubmit(values) {
137
- // Submit to API
138
- console.log(values);
139
- }
140
- </script>
141
-
142
- <template>
143
- <Form v-slot="{ errors }" @submit="onSubmit">
144
- <Field name="field" :rules="required" />
145
-
146
- <span>{{ errors.field }}</span>
147
-
148
- <button>Submit</button>
149
- </Form>
150
- </template>
151
- ```
152
-
153
- The `Field` component renders an `input` of type `text` by default but you can [control that](https://vee-validate.logaretm.com/v4/api/field#rendering-fields)
154
-
155
- ## 📚 Documentation
156
-
157
- Read the [documentation and demos](https://vee-validate.logaretm.com/v4).
158
-
159
- ## Contributing
160
-
161
- You are welcome to contribute to this project, but before you do, please make sure you read the [contribution guide](/CONTRIBUTING.md).
162
-
163
- ## Credits
164
-
165
- - Inspired by Laravel's [validation syntax](https://laravel.com/docs/5.4/validation)
166
- - v4 API Inspired by [Formik's](https://github.com/formium/formik)
167
- - Nested path types by [react-hook-form](https://github.com/react-hook-form/react-hook-form)
168
- - Logo by [Baianat](https://github.com/baianat)
169
-
170
- ## Emeriti
171
-
172
- Here we honor past contributors and sponsors who have been a major part on this project.
173
-
174
- - [Baianat](https://github.com/baianat).
175
-
176
- ## ⚖️ License
177
-
178
- Released under [MIT](/LICENSE) by [@logaretm](https://github.com/logaretm).
1
+ <p align="center">
2
+ <a href="https://vee-validate.logaretm.com" target="_blank">
3
+ <img src="https://raw.githubusercontent.com/logaretm/vee-validate/main/logo.png" width="200" title="Go to website">
4
+ </a>
5
+ </p>
6
+
7
+ <p align="center">
8
+ Painless Vue forms
9
+ </p>
10
+
11
+ <p align="center">
12
+
13
+ <a target="_blank" href="https://www.npmjs.com/package/vee-validate">
14
+ <img src="https://img.shields.io/npm/v/vee-validate.svg?label=&color=05bda8">
15
+ </a>
16
+
17
+ <a target="_blank" href="https://npm-stat.com/charts.html?package=vee-validate">
18
+ <img src="https://img.shields.io/npm/dm/vee-validate.svg?color=05bd6d&label=">
19
+ </a>
20
+
21
+ <a href="https://vee-validate.logaretm.com/v4/" target="_blank">
22
+ <img src="https://img.shields.io/badge/-docs%20and%20demos-009f53">
23
+ </a>
24
+
25
+ <a href="https://github.com/sponsors/logaretm">
26
+ <img src="https://img.shields.io/badge/-%E2%99%A5%20Sponsors-ec5cc6">
27
+
28
+ </a>
29
+
30
+ </p>
31
+
32
+ <br>
33
+
34
+ <p align="center">
35
+ <a href="https://github.com/sponsors/logaretm">
36
+ <img src='https://sponsors.logaretm.com/sponsors.svg'>
37
+ </a>
38
+ </p>
39
+
40
+ <br>
41
+
42
+ ## Features
43
+
44
+ - **🍞 Easy:** Declarative validation that is familiar and easy to setup
45
+ - **🧘‍♀️ Flexible:** Synchronous, Asynchronous, field-level or form-level validation
46
+ - **⚡️ Fast:** Build faster forms faster with intuitive API and small footprint
47
+ - **🏏 Minimal:** Only handles the complicated form concerns, gives you full control over everything else
48
+ - **😎 UI Agnostic:** Works with native HTML elements or your favorite UI library components
49
+ - **🦾 Progressive:** Works whether you use Vue.js as a progressive enhancement or in a complex setup
50
+ - **✅ Built-in Rules:** Companion lib with 25+ Rules that covers most needs in most web applications
51
+ - **🌐 i18n:** 45+ locales for built-in rules contributed by developers from all over the world
52
+
53
+ ## Getting Started
54
+
55
+ ### Installation
56
+
57
+ ```sh
58
+ # Install with yarn
59
+ yarn add vee-validate
60
+
61
+ # Install with npm
62
+ npm install vee-validate --save
63
+ ```
64
+
65
+ ### Vue version support
66
+
67
+ The main v4 version supports Vue 3.x only, for previous versions of Vue, check the following the table
68
+
69
+ | vue Version | vee-validate version | Documentation Link |
70
+ | ----------- | -------------------- | ---------------------------------------------------------------------------------------- |
71
+ | `2.x` | `2.x` or `3.x` | [v2](https://vee-validate.logaretm.com/v2) or [v3](https://vee-validate.logaretm.com/v3) |
72
+ | `3.x` | `4.x` | [v4](https://vee-validate.logaretm.com/v4) |
73
+
74
+ ### Usage
75
+
76
+ vee-validate offers two styles to integrate form validation into your Vue.js apps.
77
+
78
+ #### Composition API
79
+
80
+ The fastest way to create a form and manage its validation, behavior, and values is with the composition API.
81
+
82
+ Create your form with `useForm` and then use `defineField` to create your field model and props/attributes and `handleSubmit` to use the values and send them to an API.
83
+
84
+ ```vue
85
+ <script setup>
86
+ import { useForm } from 'vee-validate';
87
+
88
+ // Validation, or use `yup` or `zod`
89
+ function required(value) {
90
+ return value ? true : 'This field is required';
91
+ }
92
+
93
+ // Create the form
94
+ const { defineField, handleSubmit, errors } = useForm({
95
+ validationSchema: {
96
+ field: required,
97
+ },
98
+ });
99
+
100
+ // Define fields
101
+ const [field, fieldProps] = defineField('field');
102
+
103
+ // Submit handler
104
+ const onSubmit = handleSubmit(values => {
105
+ // Submit to API
106
+ console.log(values);
107
+ });
108
+ </script>
109
+
110
+ <template>
111
+ <form @submit="onSubmit">
112
+ <input v-model="field" v-bind="fieldProps" />
113
+ <span>{{ errors.field }}</span>
114
+
115
+ <button>Submit</button>
116
+ </form>
117
+ </template>
118
+ ```
119
+
120
+ You can do so much more than this, for more info [check the composition API documentation](https://vee-validate.logaretm.com/v4/guide/composition-api/getting-started/).
121
+
122
+ #### Declarative Components
123
+
124
+ Higher-order components can also be used to build forms. Register the `Field` and `Form` components and create a simple `required` validator:
125
+
126
+ ```vue
127
+ <script setup>
128
+ import { Field, Form } from 'vee-validate';
129
+
130
+ // Validation, or use `yup` or `zod`
131
+ function required(value) {
132
+ return value ? true : 'This field is required';
133
+ }
134
+
135
+ // Submit handler
136
+ function onSubmit(values) {
137
+ // Submit to API
138
+ console.log(values);
139
+ }
140
+ </script>
141
+
142
+ <template>
143
+ <Form v-slot="{ errors }" @submit="onSubmit">
144
+ <Field name="field" :rules="required" />
145
+
146
+ <span>{{ errors.field }}</span>
147
+
148
+ <button>Submit</button>
149
+ </Form>
150
+ </template>
151
+ ```
152
+
153
+ The `Field` component renders an `input` of type `text` by default but you can [control that](https://vee-validate.logaretm.com/v4/api/field#rendering-fields)
154
+
155
+ ## 📚 Documentation
156
+
157
+ Read the [documentation and demos](https://vee-validate.logaretm.com/v4).
158
+
159
+ ## Contributing
160
+
161
+ You are welcome to contribute to this project, but before you do, please make sure you read the [contribution guide](/CONTRIBUTING.md).
162
+
163
+ ## Credits
164
+
165
+ - Inspired by Laravel's [validation syntax](https://laravel.com/docs/5.4/validation)
166
+ - v4 API Inspired by [Formik's](https://github.com/formium/formik)
167
+ - Nested path types by [react-hook-form](https://github.com/react-hook-form/react-hook-form)
168
+ - Logo by [Baianat](https://github.com/baianat)
169
+
170
+ ## Emeriti
171
+
172
+ Here we honor past contributors and sponsors who have been a major part on this project.
173
+
174
+ - [Baianat](https://github.com/baianat).
175
+
176
+ ## ⚖️ License
177
+
178
+ Released under [MIT](/LICENSE) by [@logaretm](https://github.com/logaretm).
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.15.0
3
- * (c) 2024 Abdelrahman Awad
2
+ * vee-validate v4.15.1
3
+ * (c) 2025 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
6
  'use strict';
@@ -312,14 +312,16 @@ function isEqual(a, b) {
312
312
  return a.valueOf() === b.valueOf();
313
313
  if (a.toString !== Object.prototype.toString)
314
314
  return a.toString() === b.toString();
315
+ // Remove undefined values before object comparison
316
+ a = normalizeObject(a);
317
+ b = normalizeObject(b);
315
318
  keys = Object.keys(a);
316
- length = keys.length - countUndefinedValues(a, keys);
317
- if (length !== Object.keys(b).length - countUndefinedValues(b, Object.keys(b)))
319
+ length = keys.length;
320
+ if (length !== Object.keys(b).length)
318
321
  return false;
319
- for (i = length; i-- !== 0;) {
322
+ for (i = length; i-- !== 0;)
320
323
  if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
321
324
  return false;
322
- }
323
325
  for (i = length; i-- !== 0;) {
324
326
  // eslint-disable-next-line no-var
325
327
  var key = keys[i];
@@ -331,15 +333,13 @@ function isEqual(a, b) {
331
333
  // true if both NaN, false otherwise
332
334
  return a !== a && b !== b;
333
335
  }
334
- function countUndefinedValues(a, keys) {
335
- let result = 0;
336
- for (let i = keys.length; i-- !== 0;) {
337
- // eslint-disable-next-line no-var
338
- var key = keys[i];
339
- if (a[key] === undefined)
340
- result++;
341
- }
342
- return result;
336
+ /**
337
+ * Returns a new object where keys with an `undefined` value are removed.
338
+ *
339
+ * @param a object to normalize
340
+ */
341
+ function normalizeObject(a) {
342
+ return Object.fromEntries(Object.entries(a).filter(([, value]) => value !== undefined));
343
343
  }
344
344
  function isFile(a) {
345
345
  if (!isClient) {
@@ -59,24 +59,41 @@ type AnyIsEqual<T1, T2> = T1 extends T2 ? (IsEqual<T1, T2> extends true ? true :
59
59
  */
60
60
  type TupleKeys<T extends ReadonlyArray<any>> = Exclude<keyof T, keyof any[]>;
61
61
  /**
62
- * Helper type for recursively constructing paths through a type.
63
- * This actually constructs the strings and recurses into nested
64
- * object types.
62
+ * Helper type to construct tuple key paths and recurse into its elements.
63
+ *
64
+ * See {@link Path}
65
+ */
66
+ type PathInternalTuple<TValue extends ReadonlyArray<any>, TraversedTypes> = {
67
+ [Key in TupleKeys<TValue> & string]: `[${Key}]` | `[${Key}]${PathInternal<TValue[Key], TraversedTypes, false>}`;
68
+ }[TupleKeys<TValue> & string];
69
+ /**
70
+ * Helper type to construct array key paths and recurse into its elements.
71
+ *
72
+ * See {@link Path}
73
+ */
74
+ type PathInternalArray<TValue extends ReadonlyArray<any>, TraversedTypes> = `[${ArrayKey}]` | `[${ArrayKey}]${PathInternal<TValue[ArrayKey], TraversedTypes, false>}`;
75
+ /**
76
+ * Helper type to construct object key paths and recurse into its nested values.
65
77
  *
66
78
  * See {@link Path}
67
79
  */
68
- type PathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? `${K}` : true extends AnyIsEqual<TraversedTypes, V> ? `${K}` : `${K}` | `${K}.${PathInternal<V, TraversedTypes | V>}`;
80
+ type PathInternalObject<TValue, TraversedTypes, First extends boolean> = {
81
+ [Key in keyof TValue & string]: First extends true ? `${Key}` | `${Key}${PathInternal<TValue[Key], TraversedTypes, false>}` : `.${Key}` | `.${Key}${PathInternal<TValue[Key], TraversedTypes, false>}`;
82
+ }[keyof TValue & string];
83
+ /**
84
+ * Helper type to construct nested any object key paths.
85
+ *
86
+ * See {@link Path}
87
+ */
88
+ type PathInternalAny = `.${string}` | `[${string}]` | `[${string}].${string}`;
69
89
  /**
70
90
  * Helper type for recursively constructing paths through a type.
71
- * This obscures the internal type param TraversedTypes from ed contract.
91
+ *
92
+ * This obscures internal type params TraversedTypes and First from ed contract.
72
93
  *
73
94
  * See {@link Path}
74
95
  */
75
- type PathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? {
76
- [K in TupleKeys<T>]-?: PathImpl<K & string, T[K], TraversedTypes>;
77
- }[TupleKeys<T>] : PathImpl<ArrayKey, V, TraversedTypes> : {
78
- [K in keyof T]-?: PathImpl<K & string, T[K], TraversedTypes>;
79
- }[keyof T];
96
+ type PathInternal<TValue, TraversedTypes, First extends boolean> = TValue extends Primitive | BrowserNativeObject ? IsAny<TValue> extends true ? PathInternalAny : never : TValue extends ReadonlyArray<any> ? true extends AnyIsEqual<TraversedTypes, TValue> ? never : IsTuple<TValue> extends true ? PathInternalTuple<TValue, TraversedTypes | TValue> : PathInternalArray<TValue, TraversedTypes | TValue> : TValue extends Record<string, any> ? PathInternalObject<TValue, TraversedTypes | TValue, First> : '';
80
97
  /**
81
98
  * Helper type for recursively constructing paths through a type.
82
99
  * This actually constructs the strings and recurses into nested
@@ -125,7 +142,7 @@ type PathValue<T, P extends Path<T> | ArrayPath<T>> = T extends any ? P extends
125
142
  * Path<{foo: {bar: string}}> = 'foo' | 'foo.bar'
126
143
  * ```
127
144
  */
128
- type Path<T> = T extends any ? PathInternal<T> : never;
145
+ type Path<T> = T extends any ? PathInternal<T, T, true> & string : never;
129
146
 
130
147
  type GenericObject = Record<string, any>;
131
148
  type MaybeArray<T> = T | T[];
@@ -305,8 +322,8 @@ interface FormState<TValues> {
305
322
  touched: Partial<Record<Path<TValues>, boolean>>;
306
323
  submitCount: number;
307
324
  }
308
- type FormErrors<TValues extends GenericObject> = Partial<Record<Path<TValues>, string | undefined>>;
309
- type FormErrorBag<TValues extends GenericObject> = Partial<Record<Path<TValues>, string[]>>;
325
+ type FormErrors<TValues extends GenericObject> = Partial<Record<Path<TValues> | '', string | undefined>>;
326
+ type FormErrorBag<TValues extends GenericObject> = Partial<Record<Path<TValues> | '', string[]>>;
310
327
  interface ResetFormOpts {
311
328
  force: boolean;
312
329
  }
@@ -1421,7 +1438,7 @@ declare function useFormValues<TValues extends Record<string, any> = Record<stri
1421
1438
  /**
1422
1439
  * Gives access to all form errors
1423
1440
  */
1424
- declare function useFormErrors<TValues extends Record<string, unknown> = Record<string, unknown>>(): vue.ComputedRef<Partial<Record<Path<TValues>, string>>>;
1441
+ declare function useFormErrors<TValues extends Record<string, unknown> = Record<string, unknown>>(): vue.ComputedRef<Partial<Record<"" | Path<TValues>, string>>>;
1425
1442
 
1426
1443
  /**
1427
1444
  * Gives access to a single field error
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.15.0
3
- * (c) 2024 Abdelrahman Awad
2
+ * vee-validate v4.15.1
3
+ * (c) 2025 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
6
  var VeeValidate = (function (exports, vue) {
@@ -311,14 +311,16 @@ var VeeValidate = (function (exports, vue) {
311
311
  return a.valueOf() === b.valueOf();
312
312
  if (a.toString !== Object.prototype.toString)
313
313
  return a.toString() === b.toString();
314
+ // Remove undefined values before object comparison
315
+ a = normalizeObject(a);
316
+ b = normalizeObject(b);
314
317
  keys = Object.keys(a);
315
- length = keys.length - countUndefinedValues(a, keys);
316
- if (length !== Object.keys(b).length - countUndefinedValues(b, Object.keys(b)))
318
+ length = keys.length;
319
+ if (length !== Object.keys(b).length)
317
320
  return false;
318
- for (i = length; i-- !== 0;) {
321
+ for (i = length; i-- !== 0;)
319
322
  if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
320
323
  return false;
321
- }
322
324
  for (i = length; i-- !== 0;) {
323
325
  // eslint-disable-next-line no-var
324
326
  var key = keys[i];
@@ -330,15 +332,13 @@ var VeeValidate = (function (exports, vue) {
330
332
  // true if both NaN, false otherwise
331
333
  return a !== a && b !== b;
332
334
  }
333
- function countUndefinedValues(a, keys) {
334
- let result = 0;
335
- for (let i = keys.length; i-- !== 0;) {
336
- // eslint-disable-next-line no-var
337
- var key = keys[i];
338
- if (a[key] === undefined)
339
- result++;
340
- }
341
- return result;
335
+ /**
336
+ * Returns a new object where keys with an `undefined` value are removed.
337
+ *
338
+ * @param a object to normalize
339
+ */
340
+ function normalizeObject(a) {
341
+ return Object.fromEntries(Object.entries(a).filter(([, value]) => value !== undefined));
342
342
  }
343
343
  function isFile(a) {
344
344
  if (!isClient) {
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.15.0
3
- * (c) 2024 Abdelrahman Awad
2
+ * vee-validate v4.15.1
3
+ * (c) 2025 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
- var VeeValidate=function(e,t){"use strict";function n(e){return"function"==typeof e}function r(e){return null==e}const l=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function a(e){return Number(e)>=0}function u(e){if(!function(e){return"object"==typeof e&&null!==e}(e)||"[object Object]"!==function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function o(e,t){return Object.keys(t).forEach((n=>{if(u(t[n])&&u(e[n]))return e[n]||(e[n]={}),void o(e[n],t[n]);e[n]=t[n]})),e}function i(e){const t=e.split(".");if(!t.length)return"";let n=String(t[0]);for(let e=1;e<t.length;e++)a(t[e])?n+=`[${t[e]}]`:n+=`.${t[e]}`;return n}const s={};function d(e,t,n){"object"==typeof n.value&&(n.value=c(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function c(e){if("object"!=typeof e)return e;var t,n,r,l=0,a=Object.prototype.toString.call(e);if("[object Object]"===a?r=Object.create(e.__proto__||null):"[object Array]"===a?r=Array(e.length):"[object Set]"===a?(r=new Set,e.forEach((function(e){r.add(c(e))}))):"[object Map]"===a?(r=new Map,e.forEach((function(e,t){r.set(c(t),c(e))}))):"[object Date]"===a?r=new Date(+e):"[object RegExp]"===a?r=new RegExp(e.source,e.flags):"[object DataView]"===a?r=new e.constructor(c(e.buffer)):"[object ArrayBuffer]"===a?r=e.slice(0):"Array]"===a.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);l<n.length;l++)d(r,n[l],Object.getOwnPropertyDescriptor(e,n[l]));for(l=0,n=Object.getOwnPropertyNames(e);l<n.length;l++)Object.hasOwnProperty.call(r,t=n[l])&&r[t]===e[t]||d(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}const v=Symbol("vee-validate-form"),f=Symbol("vee-validate-form-context"),p=Symbol("vee-validate-field-instance"),m=Symbol("Default empty value"),h="undefined"!=typeof window;function y(e){return n(e)&&!!e.__locatorRef}function g(e){return!!e&&n(e.parse)&&"VVTypedSchema"===e.__type}function V(e){return!!e&&n(e.validate)}function b(e){return"checkbox"===e||"radio"===e}function O(e){return/^\[.+\]$/i.test(e)}function j(e){return"SELECT"===e.tagName}function A(e,t){return!function(e,t){const n=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&n}(e,t)&&"file"!==t.type&&!b(t.type)}function F(e){return S(e)&&e.target&&"submit"in e.target}function S(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function E(e,t){return t in e&&e[t]!==m}function k(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,l;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!k(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!k(r[1],t.get(r[0])))return!1;return!0}if(I(e)&&I(t))return e.size===t.size&&(e.name===t.name&&(e.lastModified===t.lastModified&&e.type===t.type));if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(l=Object.keys(e)).length-w(e,l))!==Object.keys(t).length-w(t,Object.keys(t)))return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,l[r]))return!1;for(r=n;0!=r--;){var a=l[r];if(!k(e[a],t[a]))return!1}return!0}return e!=e&&t!=t}function w(e,t){let n=0;for(let r=t.length;0!=r--;){void 0===e[t[r]]&&n++}return n}function I(e){return!!h&&e instanceof File}function C(e){return O(e)?e.replace(/\[|\]/gi,""):e}function M(e,t,n){if(!e)return n;if(O(t))return e[C(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(l(r=e)||Array.isArray(r))&&t in e?e[t]:n;var r}),e)}function T(e,t,n){if(O(t))return void(e[C(t)]=n);const l=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<l.length;e++){if(e===l.length-1)return void(u[l[e]]=n);l[e]in u&&!r(u[l[e]])||(u[l[e]]=a(l[e+1])?[]:{}),u=u[l[e]]}}function B(e,t){Array.isArray(e)&&a(t)?e.splice(Number(t),1):l(e)&&delete e[t]}function P(e,t){if(O(t))return void delete e[C(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){B(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const u=n.map(((t,r)=>M(e,n.slice(0,r).join("."))));for(let t=u.length-1;t>=0;t--)o=u[t],(Array.isArray(o)?0===o.length:l(o)&&0===Object.keys(o).length)&&(0!==t?B(u[t-1],n[t-1]):B(e,n[0]));var o}function _(e){return Object.keys(e)}function x(e,n=void 0){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function R(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>k(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return k(e,t)?n:t}function U(e,t=0){let n=null,r=[];return function(...l){return n&&clearTimeout(n),n=setTimeout((()=>{const t=e(...l);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}function N(e,t){return l(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function D(e,t){let n;return async function(...r){const l=e(...r);n=l;const a=await l;return l!==n?a:(n=void 0,t(a,r))}}function $({get:e,set:n}){const r=t.ref(c(e()));return t.watch(e,(e=>{k(e,r.value)||(r.value=c(e))}),{deep:!0}),t.watch(r,(t=>{k(t,e())||n(c(t))}),{deep:!0}),r}function z(e){return Array.isArray(e)?e:e?[e]:[]}function q(e){const n=x(v),r=e?t.computed((()=>null==n?void 0:n.getPathState(t.toValue(e)))):void 0,l=e?void 0:t.inject(p);return!l&&(null==r||r.value),r||l}function W(e,t){const n={};for(const r in e)t.includes(r)||(n[r]=e[r]);return n}function K(e,t,n){return t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,r;return null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,n())}}:t.slots.default(n()):t.slots.default}function L(e){if(G(e))return e._value}function G(e){return"_value"in e}function X(e){if(!S(e))return e;const t=e.target;if(b(t.type)&&G(t))return L(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(j(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(L);var n;if(j(t)){const e=Array.from(t.options).find((e=>e.selected));return e?L(e):t.value}return function(e){return"number"===e.type||"range"===e.type?Number.isNaN(e.valueAsNumber)?e.value:e.valueAsNumber:e.value}(t)}function H(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?l(e)&&e._$$isNormalized?e:l(e)?Object.keys(e).reduce(((t,n)=>{const r=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(l(e))return e;return[e]}(e[n]);return!1!==e[n]&&(t[n]=J(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=Q(t);return n.name?(e[n.name]=J(n.params),e):e}),t):t}function J(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>{var n;return null!==(n=M(t,e))&&void 0!==n?n:t[e]};return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((n,r)=>(n[r]=t(e[r]),n)),{})}const Q=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let Y=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const Z=()=>Y,ee=e=>{Y=Object.assign(Object.assign({},Y),e)};async function te(e,t,r={}){const l=null==r?void 0:r.bails,a={name:(null==r?void 0:r.name)||"{field}",rules:t,label:null==r?void 0:r.label,bails:null==l||l,formData:(null==r?void 0:r.values)||{}},u=await async function(e,t){const r=e.rules;if(g(r)||V(r))return async function(e,t){const n=g(t.rules)?t.rules:ne(t.rules),r=await n.parse(e,{formData:t.formData}),l=[];for(const e of r.errors)e.errors.length&&l.push(...e.errors);return{value:r.value,errors:l}}(t,Object.assign(Object.assign({},e),{rules:r}));if(n(r)||Array.isArray(r)){const n={field:e.label||e.name,name:e.name,label:e.label,form:e.formData,value:t},l=Array.isArray(r)?r:[r],a=l.length,u=[];for(let r=0;r<a;r++){const a=l[r],o=await a(t,n);if(!("string"!=typeof o&&!Array.isArray(o)&&o)){if(Array.isArray(o))u.push(...o);else{const e="string"==typeof o?o:le(n);u.push(e)}if(e.bails)return{errors:u}}}return{errors:u}}const l=Object.assign(Object.assign({},e),{rules:H(r)}),a=[],u=Object.keys(l.rules),o=u.length;for(let n=0;n<o;n++){const r=u[n],o=await re(l,t,{name:r,params:l.rules[r]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(a,e);return Object.assign(Object.assign({},u),{valid:!u.errors.length})}function ne(e){return{__type:"VVTypedSchema",async parse(t,n){var r;try{return{output:await e.validate(t,{abortEarly:!1,context:(null==n?void 0:n.formData)||{}}),errors:[]}}catch(e){if(!function(e){return!!e&&"ValidationError"===e.name}(e))throw e;if(!(null===(r=e.inner)||void 0===r?void 0:r.length)&&e.errors.length)return{errors:[{path:e.path,errors:e.errors}]};const t=e.inner.reduce(((e,t)=>{const n=t.path||"";return e[n]||(e[n]={errors:[],path:n}),e[n].errors.push(...t.errors),e}),{});return{errors:Object.values(t)}}}}}async function re(e,t,n){const r=(l=n.name,s[l]);var l;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const a=function(e,t){const n=e=>y(e)?e(t):e;if(Array.isArray(e))return e.map(n);return Object.keys(e).reduce(((t,r)=>(t[r]=n(e[r]),t)),{})}(n.params,e.formData),u={field:e.label||e.name,name:e.name,label:e.label,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:a})},o=await r(t,a,u);return"string"==typeof o?{error:o}:{error:o?void 0:le(u)}}function le(e){const t=Z().generateMessage;return t?t(e):"Field is invalid"}async function ae(e,t,n){const r=_(e).map((async r=>{var l,a,u;const o=null===(l=null==n?void 0:n.names)||void 0===l?void 0:l[r],i=await te(M(t,r),e[r],{name:(null==o?void 0:o.name)||r,label:null==o?void 0:o.label,values:t,bails:null===(u=null===(a=null==n?void 0:n.bailsMap)||void 0===a?void 0:a[r])||void 0===u||u});return Object.assign(Object.assign({},i),{path:r})}));let l=!0;const a=await Promise.all(r),u={},o={};for(const e of a)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(l=!1,o[e.path]=e.errors[0]);return{valid:l,results:u,errors:o,source:"schema"}}let ue=0;function oe(e,n){const{value:r,initialValue:l,setInitialValue:a}=function(e,n,r){const l=t.ref(t.unref(n));function a(){return r?M(r.initialValues.value,t.unref(e),t.unref(l)):t.unref(l)}function u(n){r?r.setFieldInitialValue(t.unref(e),n,!0):l.value=n}const o=t.computed(a);if(!r){return{value:t.ref(a()),initialValue:o,setInitialValue:u}}const i=function(e,n,r,l){if(t.isRef(e))return t.unref(e);if(void 0!==e)return e;return M(n.values,t.unref(l),t.unref(r))}(n,r,o,e);r.stageInitialValue(t.unref(e),i,!0);const s=t.computed({get:()=>M(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n,!1)}});return{value:s,initialValue:o,setInitialValue:u}}(e,n.modelValue,n.form);if(!n.form){const{errors:i,setErrors:s}=function(){const e=t.ref([]);return{errors:e,setErrors:t=>{e.value=z(t)}}}(),d=ue>=Number.MAX_SAFE_INTEGER?0:++ue,c=function(e,n,r,l){const a=t.computed((()=>{var e,n,r;return null!==(r=null===(n=null===(e=t.toValue(l))||void 0===e?void 0:e.describe)||void 0===n?void 0:n.call(e).required)&&void 0!==r&&r})),u=t.reactive({touched:!1,pending:!1,valid:!0,required:a,validated:!!t.unref(r).length,initialValue:t.computed((()=>t.unref(n))),dirty:t.computed((()=>!k(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{u.valid=!e.length}),{immediate:!0,flush:"sync"}),u}(r,l,i,n.schema);function v(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(c.touched=null!==(t=e.touched)&&void 0!==t?t:c.touched),"initialValue"in e&&a(e.initialValue)}return{id:d,path:e,value:r,initialValue:l,meta:c,flags:{pendingUnmount:{[d]:!1},pendingReset:!1},errors:i,setState:v}}const u=n.form.createPathState(e,{bails:n.bails,label:n.label,type:n.type,validate:n.validate,schema:n.schema}),o=t.computed((()=>u.errors));return{id:Array.isArray(u.id)?u.id[u.id.length-1]:u.id,path:e,value:r,errors:o,meta:u,initialValue:l,flags:u.__flags,setState:function(l){var u,o,i;"value"in l&&(r.value=l.value),"errors"in l&&(null===(u=n.form)||void 0===u||u.setFieldError(t.unref(e),l.errors)),"touched"in l&&(null===(o=n.form)||void 0===o||o.setFieldTouched(t.unref(e),null!==(i=l.touched)&&void 0!==i&&i)),"initialValue"in l&&a(l.initialValue)}}}function ie(e,n,r){return b(null==r?void 0:r.type)?function(e,n,r){const l=(null==r?void 0:r.standalone)?void 0:x(v),a=null==r?void 0:r.checkedValue,u=null==r?void 0:r.uncheckedValue;function o(n){const o=n.handleChange,i=t.computed((()=>{const e=t.toValue(n.value),r=t.toValue(a);return Array.isArray(e)?e.findIndex((e=>k(e,r)))>=0:k(r,e)}));function s(s,d=!0){var c,v;if(i.value===(null===(c=null==s?void 0:s.target)||void 0===c?void 0:c.checked))return void(d&&n.validate());const f=t.toValue(e),p=null==l?void 0:l.getPathState(f),m=X(s);let h=null!==(v=t.toValue(a))&&void 0!==v?v:m;l&&(null==p?void 0:p.multiple)&&"checkbox"===p.type?h=R(M(l.values,f)||[],h,void 0):"checkbox"===(null==r?void 0:r.type)&&(h=R(t.toValue(n.value),h,t.toValue(u))),o(h,d)}return Object.assign(Object.assign({},n),{checked:i,checkedValue:a,uncheckedValue:u,handleChange:s})}return o(se(e,n,r))}(e,n,r):se(e,n,r)}function se(e,r,l){const{initialValue:a,validateOnMount:u,bails:o,type:s,checkedValue:d,label:f,validateOnValueUpdate:h,uncheckedValue:b,controlled:O,keepValueOnUnmount:j,syncVModel:A,form:F}=function(e){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:void 0,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,syncVModel:!1,controlled:!0}),r=!!(null==e?void 0:e.syncVModel),l="string"==typeof(null==e?void 0:e.syncVModel)?e.syncVModel:(null==e?void 0:e.modelPropName)||"modelValue",a=r&&!("initialValue"in(e||{}))?de(t.getCurrentInstance(),l):null==e?void 0:e.initialValue;if(!e)return Object.assign(Object.assign({},n()),{initialValue:a});const u="valueProp"in e?e.valueProp:e.checkedValue,o="standalone"in e?!e.standalone:e.controlled,i=(null==e?void 0:e.modelPropName)||(null==e?void 0:e.syncVModel)||!1;return Object.assign(Object.assign(Object.assign({},n()),e||{}),{initialValue:a,controlled:null==o||o,checkedValue:u,syncVModel:i})}(l),S=O?x(v):void 0,E=F||S,w=t.computed((()=>i(t.toValue(e)))),I=t.computed((()=>{if(t.toValue(null==E?void 0:E.schema))return;const e=t.unref(r);return V(e)||g(e)||n(e)||Array.isArray(e)?e:H(e)})),C=!n(I.value)&&g(t.toValue(r)),{id:T,value:B,initialValue:P,meta:R,setState:U,errors:$,flags:z}=oe(w,{modelValue:a,form:E,bails:o,label:f,type:s,validate:I.value?G:void 0,schema:C?r:void 0}),q=t.computed((()=>$.value[0]));A&&function({prop:e,value:n,handleChange:r,shouldValidate:l}){const a=t.getCurrentInstance();if(!a||!e)return;const u="string"==typeof e?e:"modelValue",o=`update:${u}`;if(!(u in a.props))return;t.watch(n,(e=>{k(e,de(a,u))||a.emit(o,e)})),t.watch((()=>de(a,u)),(e=>{if(e===m&&void 0===n.value)return;const t=e===m?void 0:e;k(t,n.value)||r(t,l())}))}({value:B,prop:A,handleChange:J,shouldValidate:()=>h&&!z.pendingReset});async function W(e){var n,r;if(null==E?void 0:E.validateSchema){const{results:r}=await E.validateSchema(e);return null!==(n=r[t.toValue(w)])&&void 0!==n?n:{valid:!0,errors:[]}}return I.value?te(B.value,I.value,{name:t.toValue(w),label:t.toValue(f),values:null!==(r=null==E?void 0:E.values)&&void 0!==r?r:{},bails:o}):{valid:!0,errors:[]}}const K=D((async()=>(R.pending=!0,R.validated=!0,W("validated-only"))),(e=>(z.pendingUnmount[ne.id]||(U({errors:e.errors}),R.pending=!1,R.valid=e.valid),e))),L=D((async()=>W("silent")),(e=>(R.valid=e.valid,e)));function G(e){return"silent"===(null==e?void 0:e.mode)?L():K()}function J(e,t=!0){Z(X(e),t)}function Q(e){var t;const n=e&&"value"in e?e.value:P.value;U({value:c(n),initialValue:c(n),touched:null!==(t=null==e?void 0:e.touched)&&void 0!==t&&t,errors:(null==e?void 0:e.errors)||[]}),R.pending=!1,R.validated=!1,L()}t.onMounted((()=>{if(u)return K();E&&E.validateSchema||L()}));const Y=t.getCurrentInstance();function Z(e,t=!0){B.value=Y&&A?N(e,Y.props.modelModifiers):e;(t?K:L)()}const ee=t.computed({get:()=>B.value,set(e){Z(e,h)}}),ne={id:T,name:w,label:f,value:ee,meta:R,errors:$,errorMessage:q,type:s,checkedValue:d,uncheckedValue:b,bails:o,keepValueOnUnmount:j,resetField:Q,handleReset:()=>Q(),validate:G,handleChange:J,handleBlur:(e,t=!1)=>{R.touched=!0,t&&K()},setState:U,setTouched:function(e){R.touched=e},setErrors:function(e){U({errors:Array.isArray(e)?e:[e]})},setValue:Z};if(t.provide(p,ne),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{k(e,t)||(R.validated?K():L())}),{deep:!0}),!E)return ne;const re=t.computed((()=>{const e=I.value;return!e||n(e)||V(e)||g(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(l=e[n],Array.isArray(l)?l.filter(y):_(l).filter((e=>y(l[e]))).map((e=>l[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=M(E.values,t)||E.values[t];return void 0!==n&&(e[t]=n),e}),{});var l;return Object.assign(t,r),t}),{})}));return t.watch(re,((e,t)=>{if(!Object.keys(e).length)return;!k(e,t)&&(R.validated?K():L())})),t.onBeforeUnmount((()=>{var e;const n=null!==(e=t.toValue(ne.keepValueOnUnmount))&&void 0!==e?e:t.toValue(E.keepValuesOnUnmount),r=t.toValue(w);if(n||!E||z.pendingUnmount[ne.id])return void(null==E||E.removePathState(r,T));z.pendingUnmount[ne.id]=!0;const l=E.getPathState(r);if(Array.isArray(null==l?void 0:l.id)&&(null==l?void 0:l.multiple)?null==l?void 0:l.id.includes(ne.id):(null==l?void 0:l.id)===ne.id){if((null==l?void 0:l.multiple)&&Array.isArray(l.value)){const e=l.value.findIndex((e=>k(e,t.toValue(ne.checkedValue))));if(e>-1){const t=[...l.value];t.splice(e,1),E.setFieldValue(r,t)}Array.isArray(l.id)&&l.id.splice(l.id.indexOf(ne.id),1)}else E.unsetPathValue(t.toValue(w));E.removePathState(r,T)}})),ne}function de(e,t){if(e)return e.props[t]}function ce(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ve(e,t){return b(t.attrs.type)?E(e,"modelValue")?e.modelValue:void 0:E(e,"modelValue")?e.modelValue:t.attrs.value}const fe=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>Z().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:m},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1},keepValue:{type:Boolean,default:void 0}},setup(e,r){const l=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),o=t.toRef(e,"uncheckedValue"),i=t.toRef(e,"keepValue"),{errors:s,value:d,errorMessage:c,validate:v,handleChange:f,handleBlur:p,setTouched:m,resetField:h,handleReset:y,meta:g,checked:V,setErrors:O,setValue:j}=ie(a,l,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:ve(e,r),checkedValue:r.attrs.value,uncheckedValue:o,label:u,validateOnValueUpdate:e.validateOnModelUpdate,keepValueOnUnmount:i,syncVModel:!0}),F=function(e,t=!0){f(e,t)},S=t.computed((()=>{const{validateOnInput:t,validateOnChange:l,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,n,r,l;const{validateOnInput:a,validateOnChange:u,validateOnBlur:o,validateOnModelUpdate:i}=Z();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:a,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:u,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:o,validateOnModelUpdate:null!==(l=e.validateOnModelUpdate)&&void 0!==l?l:i}}(e);const o={name:e.name,onBlur:function(e){p(e,a),n(r.attrs.onBlur)&&r.attrs.onBlur(e)},onInput:function(e){F(e,t),n(r.attrs.onInput)&&r.attrs.onInput(e)},onChange:function(e){F(e,l),n(r.attrs.onChange)&&r.attrs.onChange(e)},"onUpdate:modelValue":e=>F(e,u)};return o})),E=t.computed((()=>{const t=Object.assign({},S.value);b(r.attrs.type)&&V&&(t.checked=V.value);return A(ce(e,r),r.attrs)&&(t.value=d.value),t})),k=t.computed((()=>Object.assign(Object.assign({},S.value),{modelValue:d.value})));function w(){return{field:E.value,componentField:k.value,value:d.value,meta:g,errors:s.value,errorMessage:c.value,validate:v,resetField:h,handleChange:F,handleInput:e=>F(e,!1),handleReset:y,handleBlur:S.value.onBlur,setTouched:m,setErrors:O,setValue:j}}return r.expose({value:d,meta:g,errors:s,errorMessage:c,setErrors:O,setTouched:m,setValue:j,reset:h,validate:v,handleChange:f}),()=>{const n=t.resolveDynamicComponent(ce(e,r)),l=K(n,r,w);return n?t.h(n,Object.assign(Object.assign({},r.attrs),E.value),l):l}}});let pe=0;const me=["bails","fieldsCount","id","multiple","type","validate"];function he(e){const r=(null==e?void 0:e.initialValues)||{},l=Object.assign({},t.toValue(r)),a=t.unref(null==e?void 0:e.validationSchema);return a&&g(a)&&n(a.cast)?c(a.cast(l)||{}):c(l)}function ye(e){var r;const l=pe++,a=(null==e?void 0:e.name)||"Form";let u=0;const s=t.ref(!1),d=t.ref(!1),p=t.ref(0),m=[],h=t.reactive(he(e)),y=t.ref([]),b=t.ref({}),O=t.ref({}),j=function(e){let n=null,r=[];return function(...l){const a=t.nextTick((()=>{if(n!==a)return;const t=e(...l);r.forEach((e=>e(t))),r=[],n=null}));return n=a,new Promise((e=>r.push(e)))}}((()=>{O.value=y.value.reduce(((e,n)=>(e[i(t.toValue(n.path))]=n,e)),{})}));function A(e,t){const n=ee(e);if(n){if("string"==typeof e){const t=i(e);b.value[t]&&delete b.value[t]}n.errors=z(t),n.valid=!n.errors.length}else"string"==typeof e&&(b.value[i(e)]=z(t))}function S(e){_(e).forEach((t=>{A(t,e[t])}))}(null==e?void 0:e.initialErrors)&&S(e.initialErrors);const E=t.computed((()=>{const e=y.value.reduce(((e,n)=>(n.errors.length&&(e[t.toValue(n.path)]=n.errors),e)),{});return Object.assign(Object.assign({},b.value),e)})),w=t.computed((()=>_(E.value).reduce(((e,t)=>{const n=E.value[t];return(null==n?void 0:n.length)&&(e[t]=n[0]),e}),{}))),I=t.computed((()=>y.value.reduce(((e,n)=>(e[t.toValue(n.path)]={name:t.toValue(n.path)||"",label:n.label||""},e)),{}))),C=t.computed((()=>y.value.reduce(((e,n)=>{var r;return e[t.toValue(n.path)]=null===(r=n.bails)||void 0===r||r,e}),{}))),B=Object.assign({},(null==e?void 0:e.initialErrors)||{}),x=null!==(r=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==r&&r,{initialValues:R,originalInitialValues:N,setInitialValues:$}=function(e,n,r){const l=he(r),a=t.ref(l),u=t.ref(c(l));function i(r,l){(null==l?void 0:l.force)?(a.value=c(r),u.value=c(r)):(a.value=o(c(a.value)||{},c(r)),u.value=o(c(u.value)||{},c(r))),(null==l?void 0:l.updateFields)&&e.value.forEach((e=>{if(e.touched)return;const r=M(a.value,t.toValue(e.path));T(n,t.toValue(e.path),c(r))}))}return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(y,h,e),q=function(e,n,r,l){const a={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!k(n,t.unref(r))));function o(){const t=e.value;return _(a).reduce(((e,n)=>{const r=a[n];return e[n]=t[r]((e=>e[n])),e}),{})}const i=t.reactive(o());return t.watchEffect((()=>{const e=o();i.touched=e.touched,i.valid=e.valid,i.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(r)},i),{valid:i.valid&&!_(l.value).length,dirty:u.value})))}(y,h,N,w),K=t.computed((()=>y.value.reduce(((e,n)=>{const r=M(h,t.toValue(n.path));return T(e,t.toValue(n.path),r),e}),{}))),L=null==e?void 0:e.validationSchema;function G(e,n){var r,l;const a=t.computed((()=>M(R.value,t.toValue(e)))),o=O.value[t.toValue(e)],i="checkbox"===(null==n?void 0:n.type)||"radio"===(null==n?void 0:n.type);if(o&&i){o.multiple=!0;const e=u++;return Array.isArray(o.id)?o.id.push(e):o.id=[o.id,e],o.fieldsCount++,o.__flags.pendingUnmount[e]=!1,o}const s=t.computed((()=>M(h,t.toValue(e)))),d=t.toValue(e),v=re.findIndex((e=>e===d));-1!==v&&re.splice(v,1);const f=t.computed((()=>{var r,l,a,u;const o=t.toValue(L);if(g(o))return null!==(l=null===(r=o.describe)||void 0===r?void 0:r.call(o,t.toValue(e)).required)&&void 0!==l&&l;const i=t.toValue(null==n?void 0:n.schema);return!!g(i)&&(null!==(u=null===(a=i.describe)||void 0===a?void 0:a.call(i).required)&&void 0!==u&&u)})),p=u++,m=t.reactive({id:p,path:e,touched:!1,pending:!1,valid:!0,validated:!!(null===(r=B[d])||void 0===r?void 0:r.length),required:f,initialValue:a,errors:t.shallowRef([]),bails:null!==(l=null==n?void 0:n.bails)&&void 0!==l&&l,label:null==n?void 0:n.label,type:(null==n?void 0:n.type)||"default",value:s,multiple:!1,__flags:{pendingUnmount:{[p]:!1},pendingReset:!1},fieldsCount:1,validate:null==n?void 0:n.validate,dirty:t.computed((()=>!k(t.unref(s),t.unref(a))))});return y.value.push(m),O.value[d]=m,j(),w.value[d]&&!B[d]&&t.nextTick((()=>{Ve(d,{mode:"silent"})})),t.isRef(e)&&t.watch(e,(e=>{j();const n=c(s.value);O.value[e]=m,t.nextTick((()=>{T(h,e,n)}))})),m}const H=U(je,5),J=U(je,5),Q=D((async e=>await("silent"===e?H():J())),((e,[n])=>{const r=_(oe.errorBag.value),l=[...new Set([..._(e.results),...y.value.map((e=>e.path)),...r])].sort().reduce(((r,l)=>{var a;const u=l,o=ee(u)||function(e){const n=y.value.filter((n=>e.startsWith(t.toValue(n.path))));return n.reduce(((e,t)=>e?t.path.length>e.path.length?t:e:t),void 0)}(u),i=(null===(a=e.results[u])||void 0===a?void 0:a.errors)||[],s=t.toValue(null==o?void 0:o.path)||u,d=function(e,t){if(!t)return e;return{valid:e.valid&&t.valid,errors:[...e.errors,...t.errors]}}({errors:i,valid:!i.length},r.results[s]);return r.results[s]=d,d.valid||(r.errors[s]=d.errors[0]),o&&b.value[s]&&delete b.value[s],o?(o.valid=d.valid,"silent"===n?r:"validated-only"!==n||o.validated?(A(o,d.errors),r):r):(A(s,i),r)}),{valid:e.valid,results:{},errors:{},source:e.source});return e.values&&(l.values=e.values,l.source=e.source),_(l.results).forEach((e=>{var t;const r=ee(e);r&&"silent"!==n&&("validated-only"!==n||r.validated)&&A(r,null===(t=l.results[e])||void 0===t?void 0:t.errors)})),l}));function Y(e){y.value.forEach(e)}function ee(e){const t="string"==typeof e?i(e):e;return"string"==typeof t?O.value[t]:t}let te,re=[];function le(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),Y((e=>e.touched=!0)),s.value=!0,p.value++,ge().then((l=>{const a=c(h);if(l.valid&&"function"==typeof t){const n=c(K.value);let u=e?n:a;return l.values&&(u="schema"===l.source?l.values:Object.assign({},u,l.values)),t(u,{evt:r,controlledValues:n,setErrors:S,setFieldError:A,setTouched:ve,setFieldTouched:ce,setValues:se,setFieldValue:ie,resetForm:ye,resetField:fe})}l.valid||"function"!=typeof n||n({values:a,evt:r,errors:l.errors,results:l.results})})).then((e=>(s.value=!1,e)),(e=>{throw s.value=!1,e}))}}}const ue=le(!1);ue.withControlled=le(!0);const oe={name:a,formId:l,values:h,controlledValues:K,errorBag:E,errors:w,schema:L,submitCount:p,meta:q,isSubmitting:s,isValidating:d,fieldArrays:m,keepValuesOnUnmount:x,validateSchema:t.unref(L)?Q:void 0,validate:ge,setFieldError:A,validateField:Ve,setFieldValue:ie,setValues:se,setErrors:S,setFieldTouched:ce,setTouched:ve,resetForm:ye,resetField:fe,handleSubmit:ue,useFieldModel:function(e){if(!Array.isArray(e))return de(e);return e.map((e=>de(e,!0)))},defineInputBinds:function(e,n){const[r,l]=Fe(e,n);function a(){l.value.onBlur()}function u(n){const r=X(n);ie(t.toValue(e),r,!1),l.value.onInput()}function o(n){const r=X(n);ie(t.toValue(e),r,!1),l.value.onChange()}return t.computed((()=>Object.assign(Object.assign({},l.value),{onBlur:a,onInput:u,onChange:o,value:r.value})))},defineComponentBinds:function(e,r){const[l,a]=Fe(e,r),u=ee(t.toValue(e));function o(e){l.value=e}return t.computed((()=>{const e=n(r)?r(W(u,me)):r||{};return Object.assign({[e.model||"modelValue"]:l.value,[`onUpdate:${e.model||"modelValue"}`]:o},a.value)}))},defineField:Fe,stageInitialValue:function(t,n,r=!1){Oe(t,n),T(h,t,n),r&&!(null==e?void 0:e.initialValues)&&T(N.value,t,c(n))},unsetInitialValue:be,setFieldInitialValue:Oe,createPathState:G,getPathState:ee,unsetPathValue:function(e){return re.push(e),te||(te=t.nextTick((()=>{[...re].sort().reverse().forEach((e=>{P(h,e)})),re=[],te=null}))),te},removePathState:function(e,n){const r=y.value.findIndex((t=>t.path===e&&(Array.isArray(t.id)?t.id.includes(n):t.id===n))),l=y.value[r];if(-1!==r&&l){if(t.nextTick((()=>{Ve(e,{mode:"silent",warn:!1})})),l.multiple&&l.fieldsCount&&l.fieldsCount--,Array.isArray(l.id)){const e=l.id.indexOf(n);e>=0&&l.id.splice(e,1),delete l.__flags.pendingUnmount[n]}(!l.multiple||l.fieldsCount<=0)&&(y.value.splice(r,1),be(e),j(),delete O.value[e])}},initialValues:R,getAllPathStates:()=>y.value,destroyPath:function(e){_(O.value).forEach((t=>{t.startsWith(e)&&delete O.value[t]})),y.value=y.value.filter((t=>!t.path.startsWith(e))),t.nextTick((()=>{j()}))},isFieldTouched:function(e){const t=ee(e);if(t)return t.touched;return y.value.filter((t=>t.path.startsWith(e))).some((e=>e.touched))},isFieldDirty:function(e){const t=ee(e);if(t)return t.dirty;return y.value.filter((t=>t.path.startsWith(e))).some((e=>e.dirty))},isFieldValid:function(e){const t=ee(e);if(t)return t.valid;return y.value.filter((t=>t.path.startsWith(e))).every((e=>e.valid))}};function ie(e,t,n=!0){const r=c(t),l="string"==typeof e?e:e.path;ee(l)||G(l),T(h,l,r),n&&Ve(l)}function se(e,t=!0){o(h,e),m.forEach((e=>e&&e.reset())),t&&ge()}function de(e,n){const r=ee(t.toValue(e))||G(e);return t.computed({get:()=>r.value,set(r){var l;ie(t.toValue(e),r,null!==(l=t.toValue(n))&&void 0!==l&&l)}})}function ce(e,t){const n=ee(e);n&&(n.touched=t)}function ve(e){"boolean"!=typeof e?_(e).forEach((t=>{ce(t,!!e[t])})):Y((t=>{t.touched=e}))}function fe(e,n){var r;const l=n&&"value"in n?n.value:M(R.value,e),a=ee(e);a&&(a.__flags.pendingReset=!0),Oe(e,c(l),!0),ie(e,l,!1),ce(e,null!==(r=null==n?void 0:n.touched)&&void 0!==r&&r),A(e,(null==n?void 0:n.errors)||[]),t.nextTick((()=>{a&&(a.__flags.pendingReset=!1)}))}function ye(e,r){let l=c((null==e?void 0:e.values)?e.values:N.value);l=(null==r?void 0:r.force)?l:o(N.value,l),l=g(L)&&n(L.cast)?L.cast(l):l,$(l,{force:null==r?void 0:r.force}),Y((n=>{var r;n.__flags.pendingReset=!0,n.validated=!1,n.touched=(null===(r=null==e?void 0:e.touched)||void 0===r?void 0:r[t.toValue(n.path)])||!1,ie(t.toValue(n.path),M(l,t.toValue(n.path)),!1),A(t.toValue(n.path),void 0)})),(null==r?void 0:r.force)?function(e,t=!0){_(h).forEach((e=>{delete h[e]})),_(e).forEach((t=>{ie(t,e[t],!1)})),t&&ge()}(l,!1):se(l,!1),S((null==e?void 0:e.errors)||{}),p.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{ge({mode:"silent"}),Y((e=>{e.__flags.pendingReset=!1}))}))}async function ge(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&Y((e=>e.validated=!0)),oe.validateSchema)return oe.validateSchema(n);d.value=!0;const r=await Promise.all(y.value.map((n=>n.validate?n.validate(e).then((e=>({key:t.toValue(n.path),valid:e.valid,errors:e.errors,value:e.value}))):Promise.resolve({key:t.toValue(n.path),valid:!0,errors:[],value:void 0}))));d.value=!1;const l={},a={},u={};for(const e of r)l[e.key]={valid:e.valid,errors:e.errors},e.value&&T(u,e.key,e.value),e.errors.length&&(a[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:l,errors:a,values:u,source:"fields"}}async function Ve(e,t){const n=ee(e);if(n&&"silent"!==(null==t?void 0:t.mode)&&(n.validated=!0),L){const{results:n}=await Q((null==t?void 0:t.mode)||"validated-only");return n[e]||{errors:[],valid:!0}}return(null==n?void 0:n.validate)?n.validate(t):(!n&&(null==t?void 0:t.warn),Promise.resolve({errors:[],valid:!0}))}function be(e){P(R.value,e)}function Oe(e,t,n=!1){T(R.value,e,c(t)),n&&T(N.value,e,c(t))}async function je(){const e=t.unref(L);if(!e)return{valid:!0,results:{},errors:{},source:"none"};d.value=!0;const n=V(e)||g(e)?await async function(e,t){const n=g(e)?e:ne(e),r=await n.parse(c(t),{formData:c(t)}),l={},a={};for(const e of r.errors){const t=e.errors,n=(e.path||"").replace(/\["(\d+)"\]/g,((e,t)=>`[${t}]`));l[n]={valid:!t.length,errors:t},t.length&&(a[n]=t[0])}return{valid:!r.errors.length,results:l,errors:a,values:r.value,source:"schema"}}(e,h):await ae(e,h,{names:I.value,bailsMap:C.value});return d.value=!1,n}const Ae=ue(((e,{evt:t})=>{F(t)&&t.target.submit()}));function Fe(e,r){const l=n(r)||null==r?void 0:r.label,a=ee(t.toValue(e))||G(e,{label:l}),u=()=>n(r)?r(W(a,me)):r||{};function o(){var e;a.touched=!0;(null!==(e=u().validateOnBlur)&&void 0!==e?e:Z().validateOnBlur)&&Ve(t.toValue(a.path))}function i(){var e;(null!==(e=u().validateOnInput)&&void 0!==e?e:Z().validateOnInput)&&t.nextTick((()=>{Ve(t.toValue(a.path))}))}function s(){var e;(null!==(e=u().validateOnChange)&&void 0!==e?e:Z().validateOnChange)&&t.nextTick((()=>{Ve(t.toValue(a.path))}))}const d=t.computed((()=>{const e={onChange:s,onInput:i,onBlur:o};return n(r)?Object.assign(Object.assign({},e),r(W(a,me)).props||{}):(null==r?void 0:r.props)?Object.assign(Object.assign({},e),r.props(W(a,me))):e})),c=de(e,(()=>{var e,t,n;return null===(n=null!==(e=u().validateOnModelUpdate)&&void 0!==e?e:null===(t=Z())||void 0===t?void 0:t.validateOnModelUpdate)||void 0===n||n}));return[c,d]}t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&S(e.initialErrors),(null==e?void 0:e.initialTouched)&&ve(e.initialTouched),(null==e?void 0:e.validateOnMount)?ge():oe.validateSchema&&oe.validateSchema("silent")})),t.isRef(L)&&t.watch(L,(()=>{var e;null===(e=oe.validateSchema)||void 0===e||e.call(oe,"validated-only")})),t.provide(v,oe);const Se=Object.assign(Object.assign({},oe),{values:t.readonly(h),handleReset:()=>ye(),submitForm:Ae});return t.provide(f,Se),Se}const ge=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:null,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1},name:{type:String,default:"Form"}},setup(e,n){const r=t.toRef(e,"validationSchema"),l=t.toRef(e,"keepValues"),{errors:a,errorBag:u,values:o,meta:i,isSubmitting:s,isValidating:d,submitCount:v,controlledValues:f,validate:p,validateField:m,handleReset:h,resetForm:y,handleSubmit:g,setErrors:V,setFieldError:b,setFieldValue:O,setValues:j,setFieldTouched:A,setTouched:E,resetField:k}=ye({validationSchema:r.value?r:void 0,initialValues:e.initialValues,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:l,name:e.name}),w=g(((e,{evt:t})=>{F(t)&&t.target.submit()}),e.onInvalidSubmit),I=e.onSubmit?g(e.onSubmit,e.onInvalidSubmit):w;function C(e){S(e)&&e.preventDefault(),h(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function M(t,n){return g("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function T(){return c(o)}function B(){return c(i.value)}function P(){return c(a.value)}function _(){return{meta:i.value,errors:a.value,errorBag:u.value,values:o,isSubmitting:s.value,isValidating:d.value,submitCount:v.value,controlledValues:f.value,validate:p,validateField:m,handleSubmit:M,handleReset:h,submitForm:w,setErrors:V,setFieldError:b,setFieldValue:O,setValues:j,setFieldTouched:A,setTouched:E,resetForm:y,resetField:k,getValues:T,getMeta:B,getErrors:P}}return n.expose({setFieldError:b,setErrors:V,setFieldValue:O,setValues:j,setFieldTouched:A,setTouched:E,resetForm:y,validate:p,validateField:m,resetField:k,getValues:T,getMeta:B,getErrors:P,values:o,meta:i,errors:a}),function(){const r="form"===e.as?e.as:e.as?t.resolveDynamicComponent(e.as):null,l=K(r,n,_);if(!r)return l;const a="form"===r?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},a),n.attrs),{onSubmit:I,onReset:C}),l)}}}),Ve=ge;function be(e){const n=x(v,void 0),l=t.ref([]),a=()=>{},u={fields:l,remove:a,push:a,swap:a,insert:a,update:a,replace:a,prepend:a,move:a};if(!n)return u;if(!t.unref(e))return u;const o=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(o)return o;let i=0;function s(){return M(null==n?void 0:n.values,t.toValue(e),[])||[]}function d(){const e=s();Array.isArray(e)&&(l.value=e.map(((e,t)=>p(e,t,l.value))),f())}function f(){const e=l.value.length;for(let t=0;t<e;t++){const n=l.value[t];n.isFirst=0===t,n.isLast=t===e-1}}function p(a,u,o){if(o&&!r(u)&&o[u])return o[u];const s=i++,d={key:s,value:$({get(){const r=M(null==n?void 0:n.values,t.toValue(e),[])||[],u=l.value.findIndex((e=>e.key===s));return-1===u?a:r[u]},set(e){const t=l.value.findIndex((e=>e.key===s));-1!==t&&h(t,e)}}),isFirst:!1,isLast:!1};return d}function m(){f(),null==n||n.validate({mode:"silent"})}function h(r,l){const a=t.toValue(e),u=M(null==n?void 0:n.values,a);!Array.isArray(u)||u.length-1<r||(T(n.values,`${a}[${r}]`,l),null==n||n.validate({mode:"validated-only"}))}d();const y={fields:l,remove:function(r){const a=t.toValue(e),u=M(null==n?void 0:n.values,a);if(!u||!Array.isArray(u))return;const o=[...u];o.splice(r,1);const i=a+`[${r}]`;n.destroyPath(i),n.unsetInitialValue(i),T(n.values,a,o),l.value.splice(r,1),m()},push:function(a){const u=c(a),o=t.toValue(e),i=M(null==n?void 0:n.values,o),s=r(i)?[]:i;if(!Array.isArray(s))return;const d=[...s];d.push(u),n.stageInitialValue(o+`[${d.length-1}]`,u),T(n.values,o,d),l.value.push(p(u)),m()},swap:function(r,a){const u=t.toValue(e),o=M(null==n?void 0:n.values,u);if(!Array.isArray(o)||!(r in o)||!(a in o))return;const i=[...o],s=[...l.value],d=i[r];i[r]=i[a],i[a]=d;const c=s[r];s[r]=s[a],s[a]=c,T(n.values,u,i),l.value=s,f()},insert:function(r,a){const u=c(a),o=t.toValue(e),i=M(null==n?void 0:n.values,o);if(!Array.isArray(i)||i.length<r)return;const s=[...i],d=[...l.value];s.splice(r,0,u),d.splice(r,0,p(u)),T(n.values,o,s),l.value=d,m()},update:h,replace:function(r){const l=t.toValue(e);n.stageInitialValue(l,r),T(n.values,l,r),d(),m()},prepend:function(a){const u=c(a),o=t.toValue(e),i=M(null==n?void 0:n.values,o),s=r(i)?[]:i;if(!Array.isArray(s))return;const d=[u,...s];T(n.values,o,d),n.stageInitialValue(o+"[0]",u),l.value.unshift(p(u)),m()},move:function(a,u){const o=t.toValue(e),i=M(null==n?void 0:n.values,o),s=r(i)?[]:[...i];if(!Array.isArray(i)||!(a in i)||!(u in i))return;const d=[...l.value],c=d[a];d.splice(a,1),d.splice(u,0,c);const v=s[a];s.splice(a,1),s.splice(u,0,v),T(n.values,o,s),l.value=d,m()}};return n.fieldArrays.push(Object.assign({path:e,reset:d},y)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.toValue(n.path)===t.toValue(e)));r>=0&&n.fieldArrays.splice(r,1)})),t.watch(s,(e=>{k(e,l.value.map((e=>e.value)))||d()})),y}const Oe=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,t){const{push:n,remove:r,swap:l,insert:a,replace:u,update:o,prepend:i,move:s,fields:d}=be((()=>e.name));function c(){return{fields:d.value,push:n,remove:r,swap:l,insert:a,update:o,replace:u,prepend:i,move:s}}return t.expose({push:n,remove:r,swap:l,insert:a,update:o,replace:u,prepend:i,move:s}),()=>K(void 0,t,c)}}),je=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(v,void 0),l=t.computed((()=>null==r?void 0:r.errors.value[e.name]));function a(){return{message:l.value}}return()=>{if(!l.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,u=K(r,n,a),o=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(r,o,u):t.h(r||"span",o,l.value):u}}});return e.ErrorMessage=je,e.Field=fe,e.FieldArray=Oe,e.FieldContextKey=p,e.Form=Ve,e.FormContextKey=v,e.IS_ABSENT=m,e.PublicFormContextKey=f,e.cleanupNonNestedPath=C,e.configure=ee,e.defineRule=function(e,t){!function(e,t){if(n(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),s[e]=t},e.isNotNestedPath=O,e.normalizeRules=H,e.useField=ie,e.useFieldArray=be,e.useFieldError=function(e){const n=x(v),r=e?void 0:t.inject(p);return t.computed((()=>e?null==n?void 0:n.errors.value[t.toValue(e)]:null==r?void 0:r.errorMessage.value))},e.useFieldValue=function(e){const n=x(v),r=e?void 0:t.inject(p);return t.computed((()=>e?M(null==n?void 0:n.values,t.toValue(e)):t.toValue(null==r?void 0:r.value)))},e.useForm=ye,e.useFormContext=function(){return t.inject(f)},e.useFormErrors=function(){const e=x(v);return t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=x(v);return t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const n=q(e);return t.computed((()=>{var e,t;return!!n&&(null!==(t="meta"in n?n.meta.dirty:null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.dirty)&&void 0!==t&&t)}))},e.useIsFieldTouched=function(e){const n=q(e);return t.computed((()=>{var e,t;return!!n&&(null!==(t="meta"in n?n.meta.touched:null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.touched)&&void 0!==t&&t)}))},e.useIsFieldValid=function(e){const n=q(e);return t.computed((()=>{var e,t;return!!n&&(null!==(t="meta"in n?n.meta.valid:null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.valid)&&void 0!==t&&t)}))},e.useIsFormDirty=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useIsValidating=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isValidating.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=x(v);return function(t,n){if(e)return e.resetForm(t,n)}},e.useSetFieldError=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(l){e&&n?n.setFieldError(t.toValue(e),l):r&&r.setErrors(l||[])}},e.useSetFieldTouched=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(l){e&&n?n.setFieldTouched(t.toValue(e),l):r&&r.setTouched(l)}},e.useSetFieldValue=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(l,a=!0){e&&n?n.setFieldValue(t.toValue(e),l,a):r&&r.setValue(l,a)}},e.useSetFormErrors=function(){const e=x(v);return function(t){e&&e.setErrors(t)}},e.useSetFormTouched=function(){const e=x(v);return function(t){e&&e.setTouched(t)}},e.useSetFormValues=function(){const e=x(v);return function(t,n=!0){e&&e.setValues(t,n)}},e.useSubmitCount=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=x(v),n=t?t.handleSubmit(e):void 0;return function(e){if(n)return n(e)}},e.useValidateField=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(){return r?r.validate():n&&e?null==n?void 0:n.validateField(t.toValue(e)):Promise.resolve({errors:[],valid:!0})}},e.useValidateForm=function(){const e=x(v);return function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0,source:"none"})}},e.validate=te,e.validateObject=ae,e}({},Vue);
6
+ var VeeValidate=function(e,t){"use strict";function n(e){return"function"==typeof e}function r(e){return null==e}const l=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function a(e){return Number(e)>=0}function u(e){if(!function(e){return"object"==typeof e&&null!==e}(e)||"[object Object]"!==function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function i(e,t){return Object.keys(t).forEach((n=>{if(u(t[n])&&u(e[n]))return e[n]||(e[n]={}),void i(e[n],t[n]);e[n]=t[n]})),e}function o(e){const t=e.split(".");if(!t.length)return"";let n=String(t[0]);for(let e=1;e<t.length;e++)a(t[e])?n+=`[${t[e]}]`:n+=`.${t[e]}`;return n}const s={};function d(e,t,n){"object"==typeof n.value&&(n.value=c(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function c(e){if("object"!=typeof e)return e;var t,n,r,l=0,a=Object.prototype.toString.call(e);if("[object Object]"===a?r=Object.create(e.__proto__||null):"[object Array]"===a?r=Array(e.length):"[object Set]"===a?(r=new Set,e.forEach((function(e){r.add(c(e))}))):"[object Map]"===a?(r=new Map,e.forEach((function(e,t){r.set(c(t),c(e))}))):"[object Date]"===a?r=new Date(+e):"[object RegExp]"===a?r=new RegExp(e.source,e.flags):"[object DataView]"===a?r=new e.constructor(c(e.buffer)):"[object ArrayBuffer]"===a?r=e.slice(0):"Array]"===a.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);l<n.length;l++)d(r,n[l],Object.getOwnPropertyDescriptor(e,n[l]));for(l=0,n=Object.getOwnPropertyNames(e);l<n.length;l++)Object.hasOwnProperty.call(r,t=n[l])&&r[t]===e[t]||d(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}const v=Symbol("vee-validate-form"),f=Symbol("vee-validate-form-context"),p=Symbol("vee-validate-field-instance"),m=Symbol("Default empty value"),h="undefined"!=typeof window;function y(e){return n(e)&&!!e.__locatorRef}function g(e){return!!e&&n(e.parse)&&"VVTypedSchema"===e.__type}function V(e){return!!e&&n(e.validate)}function b(e){return"checkbox"===e||"radio"===e}function O(e){return/^\[.+\]$/i.test(e)}function j(e){return"SELECT"===e.tagName}function A(e,t){return!function(e,t){const n=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&n}(e,t)&&"file"!==t.type&&!b(t.type)}function F(e){return S(e)&&e.target&&"submit"in e.target}function S(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function E(e,t){return t in e&&e[t]!==m}function k(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,l;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!k(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!k(r[1],t.get(r[0])))return!1;return!0}if(I(e)&&I(t))return e.size===t.size&&(e.name===t.name&&(e.lastModified===t.lastModified&&e.type===t.type));if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(e=w(e),t=w(t),(n=(l=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,l[r]))return!1;for(r=n;0!=r--;){var a=l[r];if(!k(e[a],t[a]))return!1}return!0}return e!=e&&t!=t}function w(e){return Object.fromEntries(Object.entries(e).filter((([,e])=>void 0!==e)))}function I(e){return!!h&&e instanceof File}function C(e){return O(e)?e.replace(/\[|\]/gi,""):e}function M(e,t,n){if(!e)return n;if(O(t))return e[C(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(l(r=e)||Array.isArray(r))&&t in e?e[t]:n;var r}),e)}function T(e,t,n){if(O(t))return void(e[C(t)]=n);const l=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<l.length;e++){if(e===l.length-1)return void(u[l[e]]=n);l[e]in u&&!r(u[l[e]])||(u[l[e]]=a(l[e+1])?[]:{}),u=u[l[e]]}}function B(e,t){Array.isArray(e)&&a(t)?e.splice(Number(t),1):l(e)&&delete e[t]}function P(e,t){if(O(t))return void delete e[C(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){B(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const u=n.map(((t,r)=>M(e,n.slice(0,r).join("."))));for(let t=u.length-1;t>=0;t--)i=u[t],(Array.isArray(i)?0===i.length:l(i)&&0===Object.keys(i).length)&&(0!==t?B(u[t-1],n[t-1]):B(e,n[0]));var i}function _(e){return Object.keys(e)}function x(e,n=void 0){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function R(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>k(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return k(e,t)?n:t}function U(e,t=0){let n=null,r=[];return function(...l){return n&&clearTimeout(n),n=setTimeout((()=>{const t=e(...l);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}function N(e,t){return l(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function D(e,t){let n;return async function(...r){const l=e(...r);n=l;const a=await l;return l!==n?a:(n=void 0,t(a,r))}}function $({get:e,set:n}){const r=t.ref(c(e()));return t.watch(e,(e=>{k(e,r.value)||(r.value=c(e))}),{deep:!0}),t.watch(r,(t=>{k(t,e())||n(c(t))}),{deep:!0}),r}function z(e){return Array.isArray(e)?e:e?[e]:[]}function q(e){const n=x(v),r=e?t.computed((()=>null==n?void 0:n.getPathState(t.toValue(e)))):void 0,l=e?void 0:t.inject(p);return!l&&(null==r||r.value),r||l}function W(e,t){const n={};for(const r in e)t.includes(r)||(n[r]=e[r]);return n}function K(e,t,n){return t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,r;return null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,n())}}:t.slots.default(n()):t.slots.default}function L(e){if(G(e))return e._value}function G(e){return"_value"in e}function X(e){if(!S(e))return e;const t=e.target;if(b(t.type)&&G(t))return L(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(j(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(L);var n;if(j(t)){const e=Array.from(t.options).find((e=>e.selected));return e?L(e):t.value}return function(e){return"number"===e.type||"range"===e.type?Number.isNaN(e.valueAsNumber)?e.value:e.valueAsNumber:e.value}(t)}function H(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?l(e)&&e._$$isNormalized?e:l(e)?Object.keys(e).reduce(((t,n)=>{const r=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(l(e))return e;return[e]}(e[n]);return!1!==e[n]&&(t[n]=J(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=Q(t);return n.name?(e[n.name]=J(n.params),e):e}),t):t}function J(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>{var n;return null!==(n=M(t,e))&&void 0!==n?n:t[e]};return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((n,r)=>(n[r]=t(e[r]),n)),{})}const Q=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let Y=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const Z=()=>Y,ee=e=>{Y=Object.assign(Object.assign({},Y),e)};async function te(e,t,r={}){const l=null==r?void 0:r.bails,a={name:(null==r?void 0:r.name)||"{field}",rules:t,label:null==r?void 0:r.label,bails:null==l||l,formData:(null==r?void 0:r.values)||{}},u=await async function(e,t){const r=e.rules;if(g(r)||V(r))return async function(e,t){const n=g(t.rules)?t.rules:ne(t.rules),r=await n.parse(e,{formData:t.formData}),l=[];for(const e of r.errors)e.errors.length&&l.push(...e.errors);return{value:r.value,errors:l}}(t,Object.assign(Object.assign({},e),{rules:r}));if(n(r)||Array.isArray(r)){const n={field:e.label||e.name,name:e.name,label:e.label,form:e.formData,value:t},l=Array.isArray(r)?r:[r],a=l.length,u=[];for(let r=0;r<a;r++){const a=l[r],i=await a(t,n);if(!("string"!=typeof i&&!Array.isArray(i)&&i)){if(Array.isArray(i))u.push(...i);else{const e="string"==typeof i?i:le(n);u.push(e)}if(e.bails)return{errors:u}}}return{errors:u}}const l=Object.assign(Object.assign({},e),{rules:H(r)}),a=[],u=Object.keys(l.rules),i=u.length;for(let n=0;n<i;n++){const r=u[n],i=await re(l,t,{name:r,params:l.rules[r]});if(i.error&&(a.push(i.error),e.bails))return{errors:a}}return{errors:a}}(a,e);return Object.assign(Object.assign({},u),{valid:!u.errors.length})}function ne(e){return{__type:"VVTypedSchema",async parse(t,n){var r;try{return{output:await e.validate(t,{abortEarly:!1,context:(null==n?void 0:n.formData)||{}}),errors:[]}}catch(e){if(!function(e){return!!e&&"ValidationError"===e.name}(e))throw e;if(!(null===(r=e.inner)||void 0===r?void 0:r.length)&&e.errors.length)return{errors:[{path:e.path,errors:e.errors}]};const t=e.inner.reduce(((e,t)=>{const n=t.path||"";return e[n]||(e[n]={errors:[],path:n}),e[n].errors.push(...t.errors),e}),{});return{errors:Object.values(t)}}}}}async function re(e,t,n){const r=(l=n.name,s[l]);var l;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const a=function(e,t){const n=e=>y(e)?e(t):e;if(Array.isArray(e))return e.map(n);return Object.keys(e).reduce(((t,r)=>(t[r]=n(e[r]),t)),{})}(n.params,e.formData),u={field:e.label||e.name,name:e.name,label:e.label,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:a})},i=await r(t,a,u);return"string"==typeof i?{error:i}:{error:i?void 0:le(u)}}function le(e){const t=Z().generateMessage;return t?t(e):"Field is invalid"}async function ae(e,t,n){const r=_(e).map((async r=>{var l,a,u;const i=null===(l=null==n?void 0:n.names)||void 0===l?void 0:l[r],o=await te(M(t,r),e[r],{name:(null==i?void 0:i.name)||r,label:null==i?void 0:i.label,values:t,bails:null===(u=null===(a=null==n?void 0:n.bailsMap)||void 0===a?void 0:a[r])||void 0===u||u});return Object.assign(Object.assign({},o),{path:r})}));let l=!0;const a=await Promise.all(r),u={},i={};for(const e of a)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(l=!1,i[e.path]=e.errors[0]);return{valid:l,results:u,errors:i,source:"schema"}}let ue=0;function ie(e,n){const{value:r,initialValue:l,setInitialValue:a}=function(e,n,r){const l=t.ref(t.unref(n));function a(){return r?M(r.initialValues.value,t.unref(e),t.unref(l)):t.unref(l)}function u(n){r?r.setFieldInitialValue(t.unref(e),n,!0):l.value=n}const i=t.computed(a);if(!r){return{value:t.ref(a()),initialValue:i,setInitialValue:u}}const o=function(e,n,r,l){if(t.isRef(e))return t.unref(e);if(void 0!==e)return e;return M(n.values,t.unref(l),t.unref(r))}(n,r,i,e);r.stageInitialValue(t.unref(e),o,!0);const s=t.computed({get:()=>M(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n,!1)}});return{value:s,initialValue:i,setInitialValue:u}}(e,n.modelValue,n.form);if(!n.form){const{errors:o,setErrors:s}=function(){const e=t.ref([]);return{errors:e,setErrors:t=>{e.value=z(t)}}}(),d=ue>=Number.MAX_SAFE_INTEGER?0:++ue,c=function(e,n,r,l){const a=t.computed((()=>{var e,n,r;return null!==(r=null===(n=null===(e=t.toValue(l))||void 0===e?void 0:e.describe)||void 0===n?void 0:n.call(e).required)&&void 0!==r&&r})),u=t.reactive({touched:!1,pending:!1,valid:!0,required:a,validated:!!t.unref(r).length,initialValue:t.computed((()=>t.unref(n))),dirty:t.computed((()=>!k(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{u.valid=!e.length}),{immediate:!0,flush:"sync"}),u}(r,l,o,n.schema);function v(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(c.touched=null!==(t=e.touched)&&void 0!==t?t:c.touched),"initialValue"in e&&a(e.initialValue)}return{id:d,path:e,value:r,initialValue:l,meta:c,flags:{pendingUnmount:{[d]:!1},pendingReset:!1},errors:o,setState:v}}const u=n.form.createPathState(e,{bails:n.bails,label:n.label,type:n.type,validate:n.validate,schema:n.schema}),i=t.computed((()=>u.errors));return{id:Array.isArray(u.id)?u.id[u.id.length-1]:u.id,path:e,value:r,errors:i,meta:u,initialValue:l,flags:u.__flags,setState:function(l){var u,i,o;"value"in l&&(r.value=l.value),"errors"in l&&(null===(u=n.form)||void 0===u||u.setFieldError(t.unref(e),l.errors)),"touched"in l&&(null===(i=n.form)||void 0===i||i.setFieldTouched(t.unref(e),null!==(o=l.touched)&&void 0!==o&&o)),"initialValue"in l&&a(l.initialValue)}}}function oe(e,n,r){return b(null==r?void 0:r.type)?function(e,n,r){const l=(null==r?void 0:r.standalone)?void 0:x(v),a=null==r?void 0:r.checkedValue,u=null==r?void 0:r.uncheckedValue;function i(n){const i=n.handleChange,o=t.computed((()=>{const e=t.toValue(n.value),r=t.toValue(a);return Array.isArray(e)?e.findIndex((e=>k(e,r)))>=0:k(r,e)}));function s(s,d=!0){var c,v;if(o.value===(null===(c=null==s?void 0:s.target)||void 0===c?void 0:c.checked))return void(d&&n.validate());const f=t.toValue(e),p=null==l?void 0:l.getPathState(f),m=X(s);let h=null!==(v=t.toValue(a))&&void 0!==v?v:m;l&&(null==p?void 0:p.multiple)&&"checkbox"===p.type?h=R(M(l.values,f)||[],h,void 0):"checkbox"===(null==r?void 0:r.type)&&(h=R(t.toValue(n.value),h,t.toValue(u))),i(h,d)}return Object.assign(Object.assign({},n),{checked:o,checkedValue:a,uncheckedValue:u,handleChange:s})}return i(se(e,n,r))}(e,n,r):se(e,n,r)}function se(e,r,l){const{initialValue:a,validateOnMount:u,bails:i,type:s,checkedValue:d,label:f,validateOnValueUpdate:h,uncheckedValue:b,controlled:O,keepValueOnUnmount:j,syncVModel:A,form:F}=function(e){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:void 0,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,syncVModel:!1,controlled:!0}),r=!!(null==e?void 0:e.syncVModel),l="string"==typeof(null==e?void 0:e.syncVModel)?e.syncVModel:(null==e?void 0:e.modelPropName)||"modelValue",a=r&&!("initialValue"in(e||{}))?de(t.getCurrentInstance(),l):null==e?void 0:e.initialValue;if(!e)return Object.assign(Object.assign({},n()),{initialValue:a});const u="valueProp"in e?e.valueProp:e.checkedValue,i="standalone"in e?!e.standalone:e.controlled,o=(null==e?void 0:e.modelPropName)||(null==e?void 0:e.syncVModel)||!1;return Object.assign(Object.assign(Object.assign({},n()),e||{}),{initialValue:a,controlled:null==i||i,checkedValue:u,syncVModel:o})}(l),S=O?x(v):void 0,E=F||S,w=t.computed((()=>o(t.toValue(e)))),I=t.computed((()=>{if(t.toValue(null==E?void 0:E.schema))return;const e=t.unref(r);return V(e)||g(e)||n(e)||Array.isArray(e)?e:H(e)})),C=!n(I.value)&&g(t.toValue(r)),{id:T,value:B,initialValue:P,meta:R,setState:U,errors:$,flags:z}=ie(w,{modelValue:a,form:E,bails:i,label:f,type:s,validate:I.value?G:void 0,schema:C?r:void 0}),q=t.computed((()=>$.value[0]));A&&function({prop:e,value:n,handleChange:r,shouldValidate:l}){const a=t.getCurrentInstance();if(!a||!e)return;const u="string"==typeof e?e:"modelValue",i=`update:${u}`;if(!(u in a.props))return;t.watch(n,(e=>{k(e,de(a,u))||a.emit(i,e)})),t.watch((()=>de(a,u)),(e=>{if(e===m&&void 0===n.value)return;const t=e===m?void 0:e;k(t,n.value)||r(t,l())}))}({value:B,prop:A,handleChange:J,shouldValidate:()=>h&&!z.pendingReset});async function W(e){var n,r;if(null==E?void 0:E.validateSchema){const{results:r}=await E.validateSchema(e);return null!==(n=r[t.toValue(w)])&&void 0!==n?n:{valid:!0,errors:[]}}return I.value?te(B.value,I.value,{name:t.toValue(w),label:t.toValue(f),values:null!==(r=null==E?void 0:E.values)&&void 0!==r?r:{},bails:i}):{valid:!0,errors:[]}}const K=D((async()=>(R.pending=!0,R.validated=!0,W("validated-only"))),(e=>(z.pendingUnmount[ne.id]||(U({errors:e.errors}),R.pending=!1,R.valid=e.valid),e))),L=D((async()=>W("silent")),(e=>(R.valid=e.valid,e)));function G(e){return"silent"===(null==e?void 0:e.mode)?L():K()}function J(e,t=!0){Z(X(e),t)}function Q(e){var t;const n=e&&"value"in e?e.value:P.value;U({value:c(n),initialValue:c(n),touched:null!==(t=null==e?void 0:e.touched)&&void 0!==t&&t,errors:(null==e?void 0:e.errors)||[]}),R.pending=!1,R.validated=!1,L()}t.onMounted((()=>{if(u)return K();E&&E.validateSchema||L()}));const Y=t.getCurrentInstance();function Z(e,t=!0){B.value=Y&&A?N(e,Y.props.modelModifiers):e;(t?K:L)()}const ee=t.computed({get:()=>B.value,set(e){Z(e,h)}}),ne={id:T,name:w,label:f,value:ee,meta:R,errors:$,errorMessage:q,type:s,checkedValue:d,uncheckedValue:b,bails:i,keepValueOnUnmount:j,resetField:Q,handleReset:()=>Q(),validate:G,handleChange:J,handleBlur:(e,t=!1)=>{R.touched=!0,t&&K()},setState:U,setTouched:function(e){R.touched=e},setErrors:function(e){U({errors:Array.isArray(e)?e:[e]})},setValue:Z};if(t.provide(p,ne),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{k(e,t)||(R.validated?K():L())}),{deep:!0}),!E)return ne;const re=t.computed((()=>{const e=I.value;return!e||n(e)||V(e)||g(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(l=e[n],Array.isArray(l)?l.filter(y):_(l).filter((e=>y(l[e]))).map((e=>l[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=M(E.values,t)||E.values[t];return void 0!==n&&(e[t]=n),e}),{});var l;return Object.assign(t,r),t}),{})}));return t.watch(re,((e,t)=>{if(!Object.keys(e).length)return;!k(e,t)&&(R.validated?K():L())})),t.onBeforeUnmount((()=>{var e;const n=null!==(e=t.toValue(ne.keepValueOnUnmount))&&void 0!==e?e:t.toValue(E.keepValuesOnUnmount),r=t.toValue(w);if(n||!E||z.pendingUnmount[ne.id])return void(null==E||E.removePathState(r,T));z.pendingUnmount[ne.id]=!0;const l=E.getPathState(r);if(Array.isArray(null==l?void 0:l.id)&&(null==l?void 0:l.multiple)?null==l?void 0:l.id.includes(ne.id):(null==l?void 0:l.id)===ne.id){if((null==l?void 0:l.multiple)&&Array.isArray(l.value)){const e=l.value.findIndex((e=>k(e,t.toValue(ne.checkedValue))));if(e>-1){const t=[...l.value];t.splice(e,1),E.setFieldValue(r,t)}Array.isArray(l.id)&&l.id.splice(l.id.indexOf(ne.id),1)}else E.unsetPathValue(t.toValue(w));E.removePathState(r,T)}})),ne}function de(e,t){if(e)return e.props[t]}function ce(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ve(e,t){return b(t.attrs.type)?E(e,"modelValue")?e.modelValue:void 0:E(e,"modelValue")?e.modelValue:t.attrs.value}const fe=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>Z().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:m},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1},keepValue:{type:Boolean,default:void 0}},setup(e,r){const l=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),i=t.toRef(e,"uncheckedValue"),o=t.toRef(e,"keepValue"),{errors:s,value:d,errorMessage:c,validate:v,handleChange:f,handleBlur:p,setTouched:m,resetField:h,handleReset:y,meta:g,checked:V,setErrors:O,setValue:j}=oe(a,l,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:ve(e,r),checkedValue:r.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:e.validateOnModelUpdate,keepValueOnUnmount:o,syncVModel:!0}),F=function(e,t=!0){f(e,t)},S=t.computed((()=>{const{validateOnInput:t,validateOnChange:l,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,n,r,l;const{validateOnInput:a,validateOnChange:u,validateOnBlur:i,validateOnModelUpdate:o}=Z();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:a,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:u,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:i,validateOnModelUpdate:null!==(l=e.validateOnModelUpdate)&&void 0!==l?l:o}}(e);const i={name:e.name,onBlur:function(e){p(e,a),n(r.attrs.onBlur)&&r.attrs.onBlur(e)},onInput:function(e){F(e,t),n(r.attrs.onInput)&&r.attrs.onInput(e)},onChange:function(e){F(e,l),n(r.attrs.onChange)&&r.attrs.onChange(e)},"onUpdate:modelValue":e=>F(e,u)};return i})),E=t.computed((()=>{const t=Object.assign({},S.value);b(r.attrs.type)&&V&&(t.checked=V.value);return A(ce(e,r),r.attrs)&&(t.value=d.value),t})),k=t.computed((()=>Object.assign(Object.assign({},S.value),{modelValue:d.value})));function w(){return{field:E.value,componentField:k.value,value:d.value,meta:g,errors:s.value,errorMessage:c.value,validate:v,resetField:h,handleChange:F,handleInput:e=>F(e,!1),handleReset:y,handleBlur:S.value.onBlur,setTouched:m,setErrors:O,setValue:j}}return r.expose({value:d,meta:g,errors:s,errorMessage:c,setErrors:O,setTouched:m,setValue:j,reset:h,validate:v,handleChange:f}),()=>{const n=t.resolveDynamicComponent(ce(e,r)),l=K(n,r,w);return n?t.h(n,Object.assign(Object.assign({},r.attrs),E.value),l):l}}});let pe=0;const me=["bails","fieldsCount","id","multiple","type","validate"];function he(e){const r=(null==e?void 0:e.initialValues)||{},l=Object.assign({},t.toValue(r)),a=t.unref(null==e?void 0:e.validationSchema);return a&&g(a)&&n(a.cast)?c(a.cast(l)||{}):c(l)}function ye(e){var r;const l=pe++,a=(null==e?void 0:e.name)||"Form";let u=0;const s=t.ref(!1),d=t.ref(!1),p=t.ref(0),m=[],h=t.reactive(he(e)),y=t.ref([]),b=t.ref({}),O=t.ref({}),j=function(e){let n=null,r=[];return function(...l){const a=t.nextTick((()=>{if(n!==a)return;const t=e(...l);r.forEach((e=>e(t))),r=[],n=null}));return n=a,new Promise((e=>r.push(e)))}}((()=>{O.value=y.value.reduce(((e,n)=>(e[o(t.toValue(n.path))]=n,e)),{})}));function A(e,t){const n=ee(e);if(n){if("string"==typeof e){const t=o(e);b.value[t]&&delete b.value[t]}n.errors=z(t),n.valid=!n.errors.length}else"string"==typeof e&&(b.value[o(e)]=z(t))}function S(e){_(e).forEach((t=>{A(t,e[t])}))}(null==e?void 0:e.initialErrors)&&S(e.initialErrors);const E=t.computed((()=>{const e=y.value.reduce(((e,n)=>(n.errors.length&&(e[t.toValue(n.path)]=n.errors),e)),{});return Object.assign(Object.assign({},b.value),e)})),w=t.computed((()=>_(E.value).reduce(((e,t)=>{const n=E.value[t];return(null==n?void 0:n.length)&&(e[t]=n[0]),e}),{}))),I=t.computed((()=>y.value.reduce(((e,n)=>(e[t.toValue(n.path)]={name:t.toValue(n.path)||"",label:n.label||""},e)),{}))),C=t.computed((()=>y.value.reduce(((e,n)=>{var r;return e[t.toValue(n.path)]=null===(r=n.bails)||void 0===r||r,e}),{}))),B=Object.assign({},(null==e?void 0:e.initialErrors)||{}),x=null!==(r=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==r&&r,{initialValues:R,originalInitialValues:N,setInitialValues:$}=function(e,n,r){const l=he(r),a=t.ref(l),u=t.ref(c(l));function o(r,l){(null==l?void 0:l.force)?(a.value=c(r),u.value=c(r)):(a.value=i(c(a.value)||{},c(r)),u.value=i(c(u.value)||{},c(r))),(null==l?void 0:l.updateFields)&&e.value.forEach((e=>{if(e.touched)return;const r=M(a.value,t.toValue(e.path));T(n,t.toValue(e.path),c(r))}))}return{initialValues:a,originalInitialValues:u,setInitialValues:o}}(y,h,e),q=function(e,n,r,l){const a={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!k(n,t.unref(r))));function i(){const t=e.value;return _(a).reduce(((e,n)=>{const r=a[n];return e[n]=t[r]((e=>e[n])),e}),{})}const o=t.reactive(i());return t.watchEffect((()=>{const e=i();o.touched=e.touched,o.valid=e.valid,o.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(r)},o),{valid:o.valid&&!_(l.value).length,dirty:u.value})))}(y,h,N,w),K=t.computed((()=>y.value.reduce(((e,n)=>{const r=M(h,t.toValue(n.path));return T(e,t.toValue(n.path),r),e}),{}))),L=null==e?void 0:e.validationSchema;function G(e,n){var r,l;const a=t.computed((()=>M(R.value,t.toValue(e)))),i=O.value[t.toValue(e)],o="checkbox"===(null==n?void 0:n.type)||"radio"===(null==n?void 0:n.type);if(i&&o){i.multiple=!0;const e=u++;return Array.isArray(i.id)?i.id.push(e):i.id=[i.id,e],i.fieldsCount++,i.__flags.pendingUnmount[e]=!1,i}const s=t.computed((()=>M(h,t.toValue(e)))),d=t.toValue(e),v=re.findIndex((e=>e===d));-1!==v&&re.splice(v,1);const f=t.computed((()=>{var r,l,a,u;const i=t.toValue(L);if(g(i))return null!==(l=null===(r=i.describe)||void 0===r?void 0:r.call(i,t.toValue(e)).required)&&void 0!==l&&l;const o=t.toValue(null==n?void 0:n.schema);return!!g(o)&&(null!==(u=null===(a=o.describe)||void 0===a?void 0:a.call(o).required)&&void 0!==u&&u)})),p=u++,m=t.reactive({id:p,path:e,touched:!1,pending:!1,valid:!0,validated:!!(null===(r=B[d])||void 0===r?void 0:r.length),required:f,initialValue:a,errors:t.shallowRef([]),bails:null!==(l=null==n?void 0:n.bails)&&void 0!==l&&l,label:null==n?void 0:n.label,type:(null==n?void 0:n.type)||"default",value:s,multiple:!1,__flags:{pendingUnmount:{[p]:!1},pendingReset:!1},fieldsCount:1,validate:null==n?void 0:n.validate,dirty:t.computed((()=>!k(t.unref(s),t.unref(a))))});return y.value.push(m),O.value[d]=m,j(),w.value[d]&&!B[d]&&t.nextTick((()=>{Ve(d,{mode:"silent"})})),t.isRef(e)&&t.watch(e,(e=>{j();const n=c(s.value);O.value[e]=m,t.nextTick((()=>{T(h,e,n)}))})),m}const H=U(je,5),J=U(je,5),Q=D((async e=>await("silent"===e?H():J())),((e,[n])=>{const r=_(ie.errorBag.value),l=[...new Set([..._(e.results),...y.value.map((e=>e.path)),...r])].sort().reduce(((r,l)=>{var a;const u=l,i=ee(u)||function(e){const n=y.value.filter((n=>e.startsWith(t.toValue(n.path))));return n.reduce(((e,t)=>e?t.path.length>e.path.length?t:e:t),void 0)}(u),o=(null===(a=e.results[u])||void 0===a?void 0:a.errors)||[],s=t.toValue(null==i?void 0:i.path)||u,d=function(e,t){if(!t)return e;return{valid:e.valid&&t.valid,errors:[...e.errors,...t.errors]}}({errors:o,valid:!o.length},r.results[s]);return r.results[s]=d,d.valid||(r.errors[s]=d.errors[0]),i&&b.value[s]&&delete b.value[s],i?(i.valid=d.valid,"silent"===n?r:"validated-only"!==n||i.validated?(A(i,d.errors),r):r):(A(s,o),r)}),{valid:e.valid,results:{},errors:{},source:e.source});return e.values&&(l.values=e.values,l.source=e.source),_(l.results).forEach((e=>{var t;const r=ee(e);r&&"silent"!==n&&("validated-only"!==n||r.validated)&&A(r,null===(t=l.results[e])||void 0===t?void 0:t.errors)})),l}));function Y(e){y.value.forEach(e)}function ee(e){const t="string"==typeof e?o(e):e;return"string"==typeof t?O.value[t]:t}let te,re=[];function le(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),Y((e=>e.touched=!0)),s.value=!0,p.value++,ge().then((l=>{const a=c(h);if(l.valid&&"function"==typeof t){const n=c(K.value);let u=e?n:a;return l.values&&(u="schema"===l.source?l.values:Object.assign({},u,l.values)),t(u,{evt:r,controlledValues:n,setErrors:S,setFieldError:A,setTouched:ve,setFieldTouched:ce,setValues:se,setFieldValue:oe,resetForm:ye,resetField:fe})}l.valid||"function"!=typeof n||n({values:a,evt:r,errors:l.errors,results:l.results})})).then((e=>(s.value=!1,e)),(e=>{throw s.value=!1,e}))}}}const ue=le(!1);ue.withControlled=le(!0);const ie={name:a,formId:l,values:h,controlledValues:K,errorBag:E,errors:w,schema:L,submitCount:p,meta:q,isSubmitting:s,isValidating:d,fieldArrays:m,keepValuesOnUnmount:x,validateSchema:t.unref(L)?Q:void 0,validate:ge,setFieldError:A,validateField:Ve,setFieldValue:oe,setValues:se,setErrors:S,setFieldTouched:ce,setTouched:ve,resetForm:ye,resetField:fe,handleSubmit:ue,useFieldModel:function(e){if(!Array.isArray(e))return de(e);return e.map((e=>de(e,!0)))},defineInputBinds:function(e,n){const[r,l]=Fe(e,n);function a(){l.value.onBlur()}function u(n){const r=X(n);oe(t.toValue(e),r,!1),l.value.onInput()}function i(n){const r=X(n);oe(t.toValue(e),r,!1),l.value.onChange()}return t.computed((()=>Object.assign(Object.assign({},l.value),{onBlur:a,onInput:u,onChange:i,value:r.value})))},defineComponentBinds:function(e,r){const[l,a]=Fe(e,r),u=ee(t.toValue(e));function i(e){l.value=e}return t.computed((()=>{const e=n(r)?r(W(u,me)):r||{};return Object.assign({[e.model||"modelValue"]:l.value,[`onUpdate:${e.model||"modelValue"}`]:i},a.value)}))},defineField:Fe,stageInitialValue:function(t,n,r=!1){Oe(t,n),T(h,t,n),r&&!(null==e?void 0:e.initialValues)&&T(N.value,t,c(n))},unsetInitialValue:be,setFieldInitialValue:Oe,createPathState:G,getPathState:ee,unsetPathValue:function(e){return re.push(e),te||(te=t.nextTick((()=>{[...re].sort().reverse().forEach((e=>{P(h,e)})),re=[],te=null}))),te},removePathState:function(e,n){const r=y.value.findIndex((t=>t.path===e&&(Array.isArray(t.id)?t.id.includes(n):t.id===n))),l=y.value[r];if(-1!==r&&l){if(t.nextTick((()=>{Ve(e,{mode:"silent",warn:!1})})),l.multiple&&l.fieldsCount&&l.fieldsCount--,Array.isArray(l.id)){const e=l.id.indexOf(n);e>=0&&l.id.splice(e,1),delete l.__flags.pendingUnmount[n]}(!l.multiple||l.fieldsCount<=0)&&(y.value.splice(r,1),be(e),j(),delete O.value[e])}},initialValues:R,getAllPathStates:()=>y.value,destroyPath:function(e){_(O.value).forEach((t=>{t.startsWith(e)&&delete O.value[t]})),y.value=y.value.filter((t=>!t.path.startsWith(e))),t.nextTick((()=>{j()}))},isFieldTouched:function(e){const t=ee(e);if(t)return t.touched;return y.value.filter((t=>t.path.startsWith(e))).some((e=>e.touched))},isFieldDirty:function(e){const t=ee(e);if(t)return t.dirty;return y.value.filter((t=>t.path.startsWith(e))).some((e=>e.dirty))},isFieldValid:function(e){const t=ee(e);if(t)return t.valid;return y.value.filter((t=>t.path.startsWith(e))).every((e=>e.valid))}};function oe(e,t,n=!0){const r=c(t),l="string"==typeof e?e:e.path;ee(l)||G(l),T(h,l,r),n&&Ve(l)}function se(e,t=!0){i(h,e),m.forEach((e=>e&&e.reset())),t&&ge()}function de(e,n){const r=ee(t.toValue(e))||G(e);return t.computed({get:()=>r.value,set(r){var l;oe(t.toValue(e),r,null!==(l=t.toValue(n))&&void 0!==l&&l)}})}function ce(e,t){const n=ee(e);n&&(n.touched=t)}function ve(e){"boolean"!=typeof e?_(e).forEach((t=>{ce(t,!!e[t])})):Y((t=>{t.touched=e}))}function fe(e,n){var r;const l=n&&"value"in n?n.value:M(R.value,e),a=ee(e);a&&(a.__flags.pendingReset=!0),Oe(e,c(l),!0),oe(e,l,!1),ce(e,null!==(r=null==n?void 0:n.touched)&&void 0!==r&&r),A(e,(null==n?void 0:n.errors)||[]),t.nextTick((()=>{a&&(a.__flags.pendingReset=!1)}))}function ye(e,r){let l=c((null==e?void 0:e.values)?e.values:N.value);l=(null==r?void 0:r.force)?l:i(N.value,l),l=g(L)&&n(L.cast)?L.cast(l):l,$(l,{force:null==r?void 0:r.force}),Y((n=>{var r;n.__flags.pendingReset=!0,n.validated=!1,n.touched=(null===(r=null==e?void 0:e.touched)||void 0===r?void 0:r[t.toValue(n.path)])||!1,oe(t.toValue(n.path),M(l,t.toValue(n.path)),!1),A(t.toValue(n.path),void 0)})),(null==r?void 0:r.force)?function(e,t=!0){_(h).forEach((e=>{delete h[e]})),_(e).forEach((t=>{oe(t,e[t],!1)})),t&&ge()}(l,!1):se(l,!1),S((null==e?void 0:e.errors)||{}),p.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{ge({mode:"silent"}),Y((e=>{e.__flags.pendingReset=!1}))}))}async function ge(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&Y((e=>e.validated=!0)),ie.validateSchema)return ie.validateSchema(n);d.value=!0;const r=await Promise.all(y.value.map((n=>n.validate?n.validate(e).then((e=>({key:t.toValue(n.path),valid:e.valid,errors:e.errors,value:e.value}))):Promise.resolve({key:t.toValue(n.path),valid:!0,errors:[],value:void 0}))));d.value=!1;const l={},a={},u={};for(const e of r)l[e.key]={valid:e.valid,errors:e.errors},e.value&&T(u,e.key,e.value),e.errors.length&&(a[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:l,errors:a,values:u,source:"fields"}}async function Ve(e,t){const n=ee(e);if(n&&"silent"!==(null==t?void 0:t.mode)&&(n.validated=!0),L){const{results:n}=await Q((null==t?void 0:t.mode)||"validated-only");return n[e]||{errors:[],valid:!0}}return(null==n?void 0:n.validate)?n.validate(t):(!n&&(null==t?void 0:t.warn),Promise.resolve({errors:[],valid:!0}))}function be(e){P(R.value,e)}function Oe(e,t,n=!1){T(R.value,e,c(t)),n&&T(N.value,e,c(t))}async function je(){const e=t.unref(L);if(!e)return{valid:!0,results:{},errors:{},source:"none"};d.value=!0;const n=V(e)||g(e)?await async function(e,t){const n=g(e)?e:ne(e),r=await n.parse(c(t),{formData:c(t)}),l={},a={};for(const e of r.errors){const t=e.errors,n=(e.path||"").replace(/\["(\d+)"\]/g,((e,t)=>`[${t}]`));l[n]={valid:!t.length,errors:t},t.length&&(a[n]=t[0])}return{valid:!r.errors.length,results:l,errors:a,values:r.value,source:"schema"}}(e,h):await ae(e,h,{names:I.value,bailsMap:C.value});return d.value=!1,n}const Ae=ue(((e,{evt:t})=>{F(t)&&t.target.submit()}));function Fe(e,r){const l=n(r)||null==r?void 0:r.label,a=ee(t.toValue(e))||G(e,{label:l}),u=()=>n(r)?r(W(a,me)):r||{};function i(){var e;a.touched=!0;(null!==(e=u().validateOnBlur)&&void 0!==e?e:Z().validateOnBlur)&&Ve(t.toValue(a.path))}function o(){var e;(null!==(e=u().validateOnInput)&&void 0!==e?e:Z().validateOnInput)&&t.nextTick((()=>{Ve(t.toValue(a.path))}))}function s(){var e;(null!==(e=u().validateOnChange)&&void 0!==e?e:Z().validateOnChange)&&t.nextTick((()=>{Ve(t.toValue(a.path))}))}const d=t.computed((()=>{const e={onChange:s,onInput:o,onBlur:i};return n(r)?Object.assign(Object.assign({},e),r(W(a,me)).props||{}):(null==r?void 0:r.props)?Object.assign(Object.assign({},e),r.props(W(a,me))):e})),c=de(e,(()=>{var e,t,n;return null===(n=null!==(e=u().validateOnModelUpdate)&&void 0!==e?e:null===(t=Z())||void 0===t?void 0:t.validateOnModelUpdate)||void 0===n||n}));return[c,d]}t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&S(e.initialErrors),(null==e?void 0:e.initialTouched)&&ve(e.initialTouched),(null==e?void 0:e.validateOnMount)?ge():ie.validateSchema&&ie.validateSchema("silent")})),t.isRef(L)&&t.watch(L,(()=>{var e;null===(e=ie.validateSchema)||void 0===e||e.call(ie,"validated-only")})),t.provide(v,ie);const Se=Object.assign(Object.assign({},ie),{values:t.readonly(h),handleReset:()=>ye(),submitForm:Ae});return t.provide(f,Se),Se}const ge=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:null,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1},name:{type:String,default:"Form"}},setup(e,n){const r=t.toRef(e,"validationSchema"),l=t.toRef(e,"keepValues"),{errors:a,errorBag:u,values:i,meta:o,isSubmitting:s,isValidating:d,submitCount:v,controlledValues:f,validate:p,validateField:m,handleReset:h,resetForm:y,handleSubmit:g,setErrors:V,setFieldError:b,setFieldValue:O,setValues:j,setFieldTouched:A,setTouched:E,resetField:k}=ye({validationSchema:r.value?r:void 0,initialValues:e.initialValues,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:l,name:e.name}),w=g(((e,{evt:t})=>{F(t)&&t.target.submit()}),e.onInvalidSubmit),I=e.onSubmit?g(e.onSubmit,e.onInvalidSubmit):w;function C(e){S(e)&&e.preventDefault(),h(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function M(t,n){return g("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function T(){return c(i)}function B(){return c(o.value)}function P(){return c(a.value)}function _(){return{meta:o.value,errors:a.value,errorBag:u.value,values:i,isSubmitting:s.value,isValidating:d.value,submitCount:v.value,controlledValues:f.value,validate:p,validateField:m,handleSubmit:M,handleReset:h,submitForm:w,setErrors:V,setFieldError:b,setFieldValue:O,setValues:j,setFieldTouched:A,setTouched:E,resetForm:y,resetField:k,getValues:T,getMeta:B,getErrors:P}}return n.expose({setFieldError:b,setErrors:V,setFieldValue:O,setValues:j,setFieldTouched:A,setTouched:E,resetForm:y,validate:p,validateField:m,resetField:k,getValues:T,getMeta:B,getErrors:P,values:i,meta:o,errors:a}),function(){const r="form"===e.as?e.as:e.as?t.resolveDynamicComponent(e.as):null,l=K(r,n,_);if(!r)return l;const a="form"===r?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},a),n.attrs),{onSubmit:I,onReset:C}),l)}}}),Ve=ge;function be(e){const n=x(v,void 0),l=t.ref([]),a=()=>{},u={fields:l,remove:a,push:a,swap:a,insert:a,update:a,replace:a,prepend:a,move:a};if(!n)return u;if(!t.unref(e))return u;const i=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(i)return i;let o=0;function s(){return M(null==n?void 0:n.values,t.toValue(e),[])||[]}function d(){const e=s();Array.isArray(e)&&(l.value=e.map(((e,t)=>p(e,t,l.value))),f())}function f(){const e=l.value.length;for(let t=0;t<e;t++){const n=l.value[t];n.isFirst=0===t,n.isLast=t===e-1}}function p(a,u,i){if(i&&!r(u)&&i[u])return i[u];const s=o++,d={key:s,value:$({get(){const r=M(null==n?void 0:n.values,t.toValue(e),[])||[],u=l.value.findIndex((e=>e.key===s));return-1===u?a:r[u]},set(e){const t=l.value.findIndex((e=>e.key===s));-1!==t&&h(t,e)}}),isFirst:!1,isLast:!1};return d}function m(){f(),null==n||n.validate({mode:"silent"})}function h(r,l){const a=t.toValue(e),u=M(null==n?void 0:n.values,a);!Array.isArray(u)||u.length-1<r||(T(n.values,`${a}[${r}]`,l),null==n||n.validate({mode:"validated-only"}))}d();const y={fields:l,remove:function(r){const a=t.toValue(e),u=M(null==n?void 0:n.values,a);if(!u||!Array.isArray(u))return;const i=[...u];i.splice(r,1);const o=a+`[${r}]`;n.destroyPath(o),n.unsetInitialValue(o),T(n.values,a,i),l.value.splice(r,1),m()},push:function(a){const u=c(a),i=t.toValue(e),o=M(null==n?void 0:n.values,i),s=r(o)?[]:o;if(!Array.isArray(s))return;const d=[...s];d.push(u),n.stageInitialValue(i+`[${d.length-1}]`,u),T(n.values,i,d),l.value.push(p(u)),m()},swap:function(r,a){const u=t.toValue(e),i=M(null==n?void 0:n.values,u);if(!Array.isArray(i)||!(r in i)||!(a in i))return;const o=[...i],s=[...l.value],d=o[r];o[r]=o[a],o[a]=d;const c=s[r];s[r]=s[a],s[a]=c,T(n.values,u,o),l.value=s,f()},insert:function(r,a){const u=c(a),i=t.toValue(e),o=M(null==n?void 0:n.values,i);if(!Array.isArray(o)||o.length<r)return;const s=[...o],d=[...l.value];s.splice(r,0,u),d.splice(r,0,p(u)),T(n.values,i,s),l.value=d,m()},update:h,replace:function(r){const l=t.toValue(e);n.stageInitialValue(l,r),T(n.values,l,r),d(),m()},prepend:function(a){const u=c(a),i=t.toValue(e),o=M(null==n?void 0:n.values,i),s=r(o)?[]:o;if(!Array.isArray(s))return;const d=[u,...s];T(n.values,i,d),n.stageInitialValue(i+"[0]",u),l.value.unshift(p(u)),m()},move:function(a,u){const i=t.toValue(e),o=M(null==n?void 0:n.values,i),s=r(o)?[]:[...o];if(!Array.isArray(o)||!(a in o)||!(u in o))return;const d=[...l.value],c=d[a];d.splice(a,1),d.splice(u,0,c);const v=s[a];s.splice(a,1),s.splice(u,0,v),T(n.values,i,s),l.value=d,m()}};return n.fieldArrays.push(Object.assign({path:e,reset:d},y)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.toValue(n.path)===t.toValue(e)));r>=0&&n.fieldArrays.splice(r,1)})),t.watch(s,(e=>{k(e,l.value.map((e=>e.value)))||d()})),y}const Oe=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,t){const{push:n,remove:r,swap:l,insert:a,replace:u,update:i,prepend:o,move:s,fields:d}=be((()=>e.name));function c(){return{fields:d.value,push:n,remove:r,swap:l,insert:a,update:i,replace:u,prepend:o,move:s}}return t.expose({push:n,remove:r,swap:l,insert:a,update:i,replace:u,prepend:o,move:s}),()=>K(void 0,t,c)}}),je=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(v,void 0),l=t.computed((()=>null==r?void 0:r.errors.value[e.name]));function a(){return{message:l.value}}return()=>{if(!l.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,u=K(r,n,a),i=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(r,i,u):t.h(r||"span",i,l.value):u}}});return e.ErrorMessage=je,e.Field=fe,e.FieldArray=Oe,e.FieldContextKey=p,e.Form=Ve,e.FormContextKey=v,e.IS_ABSENT=m,e.PublicFormContextKey=f,e.cleanupNonNestedPath=C,e.configure=ee,e.defineRule=function(e,t){!function(e,t){if(n(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),s[e]=t},e.isNotNestedPath=O,e.normalizeRules=H,e.useField=oe,e.useFieldArray=be,e.useFieldError=function(e){const n=x(v),r=e?void 0:t.inject(p);return t.computed((()=>e?null==n?void 0:n.errors.value[t.toValue(e)]:null==r?void 0:r.errorMessage.value))},e.useFieldValue=function(e){const n=x(v),r=e?void 0:t.inject(p);return t.computed((()=>e?M(null==n?void 0:n.values,t.toValue(e)):t.toValue(null==r?void 0:r.value)))},e.useForm=ye,e.useFormContext=function(){return t.inject(f)},e.useFormErrors=function(){const e=x(v);return t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=x(v);return t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const n=q(e);return t.computed((()=>{var e,t;return!!n&&(null!==(t="meta"in n?n.meta.dirty:null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.dirty)&&void 0!==t&&t)}))},e.useIsFieldTouched=function(e){const n=q(e);return t.computed((()=>{var e,t;return!!n&&(null!==(t="meta"in n?n.meta.touched:null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.touched)&&void 0!==t&&t)}))},e.useIsFieldValid=function(e){const n=q(e);return t.computed((()=>{var e,t;return!!n&&(null!==(t="meta"in n?n.meta.valid:null===(e=null==n?void 0:n.value)||void 0===e?void 0:e.valid)&&void 0!==t&&t)}))},e.useIsFormDirty=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useIsValidating=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isValidating.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=x(v);return function(t,n){if(e)return e.resetForm(t,n)}},e.useSetFieldError=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(l){e&&n?n.setFieldError(t.toValue(e),l):r&&r.setErrors(l||[])}},e.useSetFieldTouched=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(l){e&&n?n.setFieldTouched(t.toValue(e),l):r&&r.setTouched(l)}},e.useSetFieldValue=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(l,a=!0){e&&n?n.setFieldValue(t.toValue(e),l,a):r&&r.setValue(l,a)}},e.useSetFormErrors=function(){const e=x(v);return function(t){e&&e.setErrors(t)}},e.useSetFormTouched=function(){const e=x(v);return function(t){e&&e.setTouched(t)}},e.useSetFormValues=function(){const e=x(v);return function(t,n=!0){e&&e.setValues(t,n)}},e.useSubmitCount=function(){const e=x(v);return t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=x(v),n=t?t.handleSubmit(e):void 0;return function(e){if(n)return n(e)}},e.useValidateField=function(e){const n=x(v),r=e?void 0:t.inject(p);return function(){return r?r.validate():n&&e?null==n?void 0:n.validateField(t.toValue(e)):Promise.resolve({errors:[],valid:!0})}},e.useValidateForm=function(){const e=x(v);return function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0,source:"none"})}},e.validate=te,e.validateObject=ae,e}({},Vue);
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.15.0
3
- * (c) 2024 Abdelrahman Awad
2
+ * vee-validate v4.15.1
3
+ * (c) 2025 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
6
  import { getCurrentInstance, inject, warn as warn$1, computed, toValue, ref, watch, nextTick, unref, isRef, reactive, onUnmounted, onMounted, provide, onBeforeUnmount, defineComponent, toRef, resolveDynamicComponent, h, readonly, watchEffect, shallowRef } from 'vue';
@@ -310,14 +310,16 @@ function isEqual(a, b) {
310
310
  return a.valueOf() === b.valueOf();
311
311
  if (a.toString !== Object.prototype.toString)
312
312
  return a.toString() === b.toString();
313
+ // Remove undefined values before object comparison
314
+ a = normalizeObject(a);
315
+ b = normalizeObject(b);
313
316
  keys = Object.keys(a);
314
- length = keys.length - countUndefinedValues(a, keys);
315
- if (length !== Object.keys(b).length - countUndefinedValues(b, Object.keys(b)))
317
+ length = keys.length;
318
+ if (length !== Object.keys(b).length)
316
319
  return false;
317
- for (i = length; i-- !== 0;) {
320
+ for (i = length; i-- !== 0;)
318
321
  if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
319
322
  return false;
320
- }
321
323
  for (i = length; i-- !== 0;) {
322
324
  // eslint-disable-next-line no-var
323
325
  var key = keys[i];
@@ -329,15 +331,13 @@ function isEqual(a, b) {
329
331
  // true if both NaN, false otherwise
330
332
  return a !== a && b !== b;
331
333
  }
332
- function countUndefinedValues(a, keys) {
333
- let result = 0;
334
- for (let i = keys.length; i-- !== 0;) {
335
- // eslint-disable-next-line no-var
336
- var key = keys[i];
337
- if (a[key] === undefined)
338
- result++;
339
- }
340
- return result;
334
+ /**
335
+ * Returns a new object where keys with an `undefined` value are removed.
336
+ *
337
+ * @param a object to normalize
338
+ */
339
+ function normalizeObject(a) {
340
+ return Object.fromEntries(Object.entries(a).filter(([, value]) => value !== undefined));
341
341
  }
342
342
  function isFile(a) {
343
343
  if (!isClient) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vee-validate",
3
- "version": "4.15.0",
3
+ "version": "4.15.1",
4
4
  "description": "Painless forms for Vue.js",
5
5
  "author": "Abdelrahman Awad <logaretm1@gmail.com>",
6
6
  "license": "MIT",