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 +178 -178
- package/dist/vee-validate.cjs +15 -15
- package/dist/vee-validate.d.ts +31 -14
- package/dist/vee-validate.iife.js +15 -15
- package/dist/vee-validate.iife.prod.js.mjs +3 -3
- package/dist/vee-validate.mjs +15 -15
- package/package.json +1 -1
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).
|
package/dist/vee-validate.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.15.
|
|
3
|
-
* (c)
|
|
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
|
|
317
|
-
if (length !== Object.keys(b).length
|
|
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
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
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) {
|
package/dist/vee-validate.d.ts
CHANGED
|
@@ -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
|
|
63
|
-
*
|
|
64
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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<
|
|
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
|
|
309
|
-
type FormErrorBag<TValues extends GenericObject> = Partial<Record<Path<TValues
|
|
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.
|
|
3
|
-
* (c)
|
|
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
|
|
316
|
-
if (length !== Object.keys(b).length
|
|
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
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
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.
|
|
3
|
-
* (c)
|
|
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);
|
package/dist/vee-validate.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.15.
|
|
3
|
-
* (c)
|
|
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
|
|
315
|
-
if (length !== Object.keys(b).length
|
|
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
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
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) {
|