vee-validate 4.4.5 → 4.4.6
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/CHANGELOG.md +12 -0
- package/README.md +6 -0
- package/dist/vee-validate.d.ts +51 -22
- package/dist/vee-validate.esm.js +11 -2
- package/dist/vee-validate.js +11 -2
- package/dist/vee-validate.min.js +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.4.6](https://github.com/logaretm/vee-validate/compare/v4.4.5...v4.4.6) (2021-07-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* clean error message for singular fields after unmount ([#3385](https://github.com/logaretm/vee-validate/issues/3385)) ([4e81cce](https://github.com/logaretm/vee-validate/commit/4e81cce292380974728b952a2fa1724c1ea4f086))
|
|
12
|
+
* quit unsetting path if its already unset ([cfe45ba](https://github.com/logaretm/vee-validate/commit/cfe45ba38690ec27b5ee4e48a80336834a932a78))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
## [4.4.5](https://github.com/logaretm/vee-validate/compare/v4.4.4...v4.4.5) (2021-06-13)
|
|
7
19
|
|
|
8
20
|
|
package/README.md
CHANGED
|
@@ -120,6 +120,12 @@ Then in your template use `v-model` to bind the `value` to your input and displa
|
|
|
120
120
|
|
|
121
121
|
Read the [documentation and demos](https://vee-validate.logaretm.com/v4).
|
|
122
122
|
|
|
123
|
+
## Sponsorship
|
|
124
|
+
|
|
125
|
+
You can help this this project by donating one time or by sponsoring via the following link
|
|
126
|
+
|
|
127
|
+
<a href="https://www.buymeacoffee.com/logaretm" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-red.png" alt="Buy Me A Coffee" height="60" width="217" ></a>
|
|
128
|
+
|
|
123
129
|
## Contributing
|
|
124
130
|
|
|
125
131
|
You are welcome to contribute to this project, but before you do, please make sure you read the [contribution guide](CONTRIBUTING.md)
|
package/dist/vee-validate.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ interface ValidationResult {
|
|
|
20
20
|
valid: boolean;
|
|
21
21
|
}
|
|
22
22
|
declare type YupValidator = AnySchema | AnyObjectSchema;
|
|
23
|
-
declare type MaybeRef<T> = Ref<T> |
|
|
23
|
+
declare type MaybeRef<T> = Ref<T> | T;
|
|
24
24
|
interface FieldMeta<TValue> {
|
|
25
25
|
touched: boolean;
|
|
26
26
|
dirty: boolean;
|
|
@@ -103,7 +103,7 @@ interface FormContext<TValues extends Record<string, any> = Record<string, any>>
|
|
|
103
103
|
values: TValues;
|
|
104
104
|
fieldsById: ComputedRef<Record<keyof TValues, PrivateFieldComposite | PrivateFieldComposite[]>>;
|
|
105
105
|
submitCount: Ref<number>;
|
|
106
|
-
schema?: MaybeRef<RawFormSchema<TValues> | SchemaOf<TValues
|
|
106
|
+
schema?: MaybeRef<RawFormSchema<TValues> | SchemaOf<TValues> | undefined>;
|
|
107
107
|
validateSchema?: (mode: SchemaValidationMode) => Promise<FormValidationResult<TValues>>;
|
|
108
108
|
validate(): Promise<FormValidationResult<TValues>>;
|
|
109
109
|
validateField(field: keyof TValues): Promise<ValidationResult>;
|
|
@@ -218,21 +218,37 @@ declare const Field: vue.DefineComponent<{
|
|
|
218
218
|
[key: string]: any;
|
|
219
219
|
}>[];
|
|
220
220
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
|
|
221
|
-
|
|
221
|
+
as?: unknown;
|
|
222
|
+
name?: unknown;
|
|
223
|
+
rules?: unknown;
|
|
224
|
+
validateOnMount?: unknown;
|
|
225
|
+
validateOnBlur?: unknown;
|
|
226
|
+
validateOnChange?: unknown;
|
|
227
|
+
validateOnInput?: unknown;
|
|
228
|
+
validateOnModelUpdate?: unknown;
|
|
229
|
+
bails?: unknown;
|
|
230
|
+
label?: unknown;
|
|
231
|
+
uncheckedValue?: unknown;
|
|
232
|
+
modelValue?: unknown;
|
|
233
|
+
modelModifiers?: unknown;
|
|
234
|
+
'onUpdate:modelValue'?: unknown;
|
|
235
|
+
} & {
|
|
222
236
|
name: unknown;
|
|
223
237
|
bails: boolean;
|
|
224
|
-
uncheckedValue: any;
|
|
225
|
-
validateOnInput: boolean;
|
|
226
|
-
validateOnChange: boolean;
|
|
227
|
-
validateOnBlur: boolean;
|
|
228
|
-
validateOnModelUpdate: boolean;
|
|
229
238
|
validateOnMount: boolean;
|
|
230
|
-
as: unknown;
|
|
231
|
-
rules: unknown;
|
|
232
239
|
modelValue: any;
|
|
233
240
|
modelModifiers: any;
|
|
234
|
-
|
|
235
|
-
|
|
241
|
+
} & {
|
|
242
|
+
label?: unknown;
|
|
243
|
+
uncheckedValue?: any;
|
|
244
|
+
validateOnInput?: boolean;
|
|
245
|
+
validateOnChange?: boolean;
|
|
246
|
+
validateOnBlur?: boolean;
|
|
247
|
+
validateOnModelUpdate?: boolean;
|
|
248
|
+
as?: unknown;
|
|
249
|
+
rules?: unknown;
|
|
250
|
+
"onUpdate:modelValue"?: unknown;
|
|
251
|
+
}>, {
|
|
236
252
|
label: unknown;
|
|
237
253
|
bails: boolean;
|
|
238
254
|
uncheckedValue: any;
|
|
@@ -286,14 +302,23 @@ declare const Form: vue.DefineComponent<{
|
|
|
286
302
|
[key: string]: any;
|
|
287
303
|
}>[];
|
|
288
304
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
|
|
289
|
-
|
|
305
|
+
as?: unknown;
|
|
306
|
+
validationSchema?: unknown;
|
|
307
|
+
initialValues?: unknown;
|
|
308
|
+
initialErrors?: unknown;
|
|
309
|
+
initialTouched?: unknown;
|
|
310
|
+
validateOnMount?: unknown;
|
|
311
|
+
onSubmit?: unknown;
|
|
312
|
+
} & {
|
|
290
313
|
validateOnMount: boolean;
|
|
291
314
|
as: unknown;
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
315
|
+
} & {
|
|
316
|
+
onSubmit?: unknown;
|
|
317
|
+
initialValues?: Record<string, any>;
|
|
318
|
+
validationSchema?: Record<string, any>;
|
|
319
|
+
initialErrors?: Record<string, any>;
|
|
320
|
+
initialTouched?: Record<string, any>;
|
|
321
|
+
}>, {
|
|
297
322
|
onSubmit: unknown;
|
|
298
323
|
validateOnMount: boolean;
|
|
299
324
|
as: unknown;
|
|
@@ -321,9 +346,13 @@ declare const ErrorMessage: vue.DefineComponent<{
|
|
|
321
346
|
[key: string]: any;
|
|
322
347
|
}>[];
|
|
323
348
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
|
|
349
|
+
as?: unknown;
|
|
350
|
+
name?: unknown;
|
|
351
|
+
} & {
|
|
324
352
|
name: unknown;
|
|
325
|
-
|
|
326
|
-
|
|
353
|
+
} & {
|
|
354
|
+
as?: unknown;
|
|
355
|
+
}>, {
|
|
327
356
|
as: unknown;
|
|
328
357
|
}>;
|
|
329
358
|
|
|
@@ -336,7 +365,7 @@ interface FieldOptions<TValue = unknown> {
|
|
|
336
365
|
valueProp?: MaybeRef<TValue>;
|
|
337
366
|
checkedValue?: MaybeRef<TValue>;
|
|
338
367
|
uncheckedValue?: MaybeRef<TValue>;
|
|
339
|
-
label?: MaybeRef<string>;
|
|
368
|
+
label?: MaybeRef<string | undefined>;
|
|
340
369
|
}
|
|
341
370
|
declare type RuleExpression<TValue> = string | Record<string, unknown> | GenericValidateFunction | YupValidator | BaseSchema<TValue> | undefined;
|
|
342
371
|
/**
|
|
@@ -345,7 +374,7 @@ declare type RuleExpression<TValue> = string | Record<string, unknown> | Generic
|
|
|
345
374
|
declare function useField<TValue = unknown>(name: MaybeRef<string>, rules?: MaybeRef<RuleExpression<TValue>>, opts?: Partial<FieldOptions<TValue>>): FieldComposable<TValue>;
|
|
346
375
|
|
|
347
376
|
interface FormOptions<TValues extends Record<string, any>> {
|
|
348
|
-
validationSchema?: MaybeRef<Record<keyof TValues, GenericValidateFunction | string | Record<string, any>> | SchemaOf<TValues
|
|
377
|
+
validationSchema?: MaybeRef<Record<keyof TValues, GenericValidateFunction | string | Record<string, any>> | SchemaOf<TValues> | undefined>;
|
|
349
378
|
initialValues?: MaybeRef<TValues>;
|
|
350
379
|
initialErrors?: Record<keyof TValues, string | undefined>;
|
|
351
380
|
initialTouched?: Record<keyof TValues, boolean>;
|
package/dist/vee-validate.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.4.
|
|
2
|
+
* vee-validate v4.4.6
|
|
3
3
|
* (c) 2021 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -212,7 +212,7 @@ function unsetPath(object, path) {
|
|
|
212
212
|
break;
|
|
213
213
|
}
|
|
214
214
|
// Key does not exist, exit
|
|
215
|
-
if (!(keys[i] in acc)) {
|
|
215
|
+
if (!(keys[i] in acc) || isNullOrUndefined(acc[keys[i]])) {
|
|
216
216
|
break;
|
|
217
217
|
}
|
|
218
218
|
acc = acc[keys[i]];
|
|
@@ -1483,6 +1483,9 @@ function useForm(opts) {
|
|
|
1483
1483
|
}
|
|
1484
1484
|
function registerField(field) {
|
|
1485
1485
|
fields.value.push(field);
|
|
1486
|
+
// TODO: Do this automatically on registration
|
|
1487
|
+
// eslint-disable-next-line no-unused-expressions
|
|
1488
|
+
fieldsById.value; // force computation of the fields ids to properly set their idx
|
|
1486
1489
|
if (isRef(field.name)) {
|
|
1487
1490
|
valuesByFid[field.fid] = field.value.value;
|
|
1488
1491
|
// ensures when a field's name was already taken that it preserves its same value
|
|
@@ -1522,6 +1525,12 @@ function useForm(opts) {
|
|
|
1522
1525
|
// cleans up the field value from fid lookup
|
|
1523
1526
|
nextTick(() => {
|
|
1524
1527
|
delete valuesByFid[fid];
|
|
1528
|
+
// clears a field error on unmounted
|
|
1529
|
+
// we wait till next tick to make sure if the field is completely removed and doesn't have any siblings like checkboxes
|
|
1530
|
+
// #3384
|
|
1531
|
+
if (!fieldsById.value[fieldName]) {
|
|
1532
|
+
setFieldError(fieldName, undefined);
|
|
1533
|
+
}
|
|
1525
1534
|
});
|
|
1526
1535
|
const fieldName = unref(field.name);
|
|
1527
1536
|
// in this case, this is a single field not a group (checkbox or radio)
|
package/dist/vee-validate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.4.
|
|
2
|
+
* vee-validate v4.4.6
|
|
3
3
|
* (c) 2021 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
break;
|
|
217
217
|
}
|
|
218
218
|
// Key does not exist, exit
|
|
219
|
-
if (!(keys[i] in acc)) {
|
|
219
|
+
if (!(keys[i] in acc) || isNullOrUndefined(acc[keys[i]])) {
|
|
220
220
|
break;
|
|
221
221
|
}
|
|
222
222
|
acc = acc[keys[i]];
|
|
@@ -1487,6 +1487,9 @@
|
|
|
1487
1487
|
}
|
|
1488
1488
|
function registerField(field) {
|
|
1489
1489
|
fields.value.push(field);
|
|
1490
|
+
// TODO: Do this automatically on registration
|
|
1491
|
+
// eslint-disable-next-line no-unused-expressions
|
|
1492
|
+
fieldsById.value; // force computation of the fields ids to properly set their idx
|
|
1490
1493
|
if (vue.isRef(field.name)) {
|
|
1491
1494
|
valuesByFid[field.fid] = field.value.value;
|
|
1492
1495
|
// ensures when a field's name was already taken that it preserves its same value
|
|
@@ -1526,6 +1529,12 @@
|
|
|
1526
1529
|
// cleans up the field value from fid lookup
|
|
1527
1530
|
vue.nextTick(() => {
|
|
1528
1531
|
delete valuesByFid[fid];
|
|
1532
|
+
// clears a field error on unmounted
|
|
1533
|
+
// we wait till next tick to make sure if the field is completely removed and doesn't have any siblings like checkboxes
|
|
1534
|
+
// #3384
|
|
1535
|
+
if (!fieldsById.value[fieldName]) {
|
|
1536
|
+
setFieldError(fieldName, undefined);
|
|
1537
|
+
}
|
|
1529
1538
|
});
|
|
1530
1539
|
const fieldName = vue.unref(field.name);
|
|
1531
1540
|
// in this case, this is a single field not a group (checkbox or radio)
|
package/dist/vee-validate.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.4.
|
|
2
|
+
* vee-validate v4.4.6
|
|
3
3
|
* (c) 2021 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function r(e){return"function"==typeof e}function n(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function i(e){return Number(e)>=0}const u={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-form-errors"),s=Symbol("vee-validate-form-initial-values"),d=Symbol("vee-validate-field-instance"),c=Symbol("Default empty value");function f(e){return r(e)&&!!e.__locatorRef}function v(e){return!!e&&r(e.validate)}function m(e){return"checkbox"===e||"radio"===e}function p(e){return/^\[.+\]$/i.test(e)}function h(e,t){return function(e,t){const r=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&r}(e,t)||function(e,t){return function(e){return["input","textarea","select"].includes(e)}(e)&&"file"===t.type}(e,t)}function y(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function g(e,t){return t in e&&e[t]!==c}function b(e){return p(e)?e.replace(/\[|\]/gi,""):e}function O(e,t,r){if(!e)return r;if(p(t))return e[b(t)];return t.split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(n=e)||Array.isArray(n))&&t in e?e[t]:r;var n}),e)}function F(e,t,r){if(p(t))return void(e[b(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(u[a[e]]=r);a[e]in u&&!n(u[a[e]])||(u[a[e]]=i(a[e+1])?[]:{}),u=u[a[e]]}}function V(e,t){Array.isArray(e)&&i(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function E(e,t){if(p(t))return void delete e[b(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let n=e;for(let e=0;e<r.length;e++){if(e===r.length-1){V(n,r[e]);break}if(!(r[e]in n))break;n=n[r[e]]}const i=r.map(((t,n)=>O(e,r.slice(0,n).join("."))));for(let t=i.length-1;t>=0;t--)u=i[t],(Array.isArray(u)?0===u.length:a(u)&&0===Object.keys(u).length)&&(0!==t?V(i[t-1],r[t-1]):V(e,r[0]));var u}function j(e){return Object.keys(e)}function A(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function w(e){t.warn(`[vee-validate]: ${e}`)}function S(e){return Array.isArray(e)?e[0]:e}function B(e,t,r=!1){Array.isArray(e)?r?t(e[0]):e.forEach(t):t(e)}function k(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.indexOf(t);return n>=0?r.splice(n,1):r.push(t),r}return e===t?r:t}const M=(e,t,r)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,n;return null===(n=(e=t.slots).default)||void 0===n?void 0:n.call(e,r())}}:t.slots.default(r()):t.slots.default;function I(e){if(R(e))return e._value}function R(e){return"_value"in e}function T(e){if(!y(e))return e;const t=e.target;return m(t.type)&&R(t)?I(t):"file"===t.type&&t.files?Array.from(t.files):"SELECT"===(r=t).tagName&&r.multiple?Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(I):t.value;var r}function C(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,r)=>{const n=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[r]);return!1!==e[r]&&(t[r]=x(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=N(t);return r.name?(e[r.name]=x(r.params),e):e}),t):t}function x(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>O(t,e)||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(((r,n)=>(r[n]=t(e[n]),r)),{})}const N=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let _=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const $=()=>_,D=e=>{_=Object.assign(Object.assign({},_),e)};async function P(e,t,n={}){const a=null==n?void 0:n.bails,i={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},u=(await async function(e,t){if(v(e.rules))return async function(e,t,r){var n;return{errors:await t.validate(e,{abortEarly:null===(n=r.bails)||void 0===n||n}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(r(e.rules)){const r={field:e.name,form:e.formData,value:t},n=await e.rules(t,r),a="string"!=typeof n&&n,i="string"==typeof n?n:z(r);return{errors:a?[]:[i]}}const n=Object.assign(Object.assign({},e),{rules:C(e.rules)}),a=[],i=Object.keys(n.rules),u=i.length;for(let r=0;r<u;r++){const u=i[r],o=await U(n,t,{name:u,params:n.rules[u]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(i,e)).errors;return{errors:u,valid:!u.length}}async function U(e,t,r){const n=(a=r.name,u[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const i=function(e,t){const r=e=>f(e)?e(t):e;if(Array.isArray(e))return e.map(r);return Object.keys(e).reduce(((t,n)=>(t[n]=r(e[n]),t)),{})}(r.params,e.formData),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},r),{params:i})},l=await n(t,i,o);return"string"==typeof l?{error:l}:{error:l?void 0:z(o)}}function z(e){const t=$().generateMessage;return t?t(e):"Field is invalid"}async function q(e,t,r){const n=j(e).map((async n=>{var a,i,u;const o=await P(O(t,n),e[n],{name:(null===(a=null==r?void 0:r.names)||void 0===a?void 0:a[n])||n,values:t,bails:null===(u=null===(i=null==r?void 0:r.bailsMap)||void 0===i?void 0:i[n])||void 0===u||u});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const i=await Promise.all(n),u={},o={};for(const e of i)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:u,errors:o}}var G=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(!e(t[a],r[a]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;for(a of t.entries())if(!e(a[1],r.get(a[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(t[a]!==r[a])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;0!=a--;){var u=i[a];if(!e(t[u],r[u]))return!1}return!0}return t!=t&&r!=r};let L=0;function X(e,n,a){const i=L>=Number.MAX_SAFE_INTEGER?0:++L,{initialValue:u,validateOnMount:l,bails:c,type:p,checkedValue:h,label:y,validateOnValueUpdate:g,uncheckedValue:b}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0});if(!t)return r();const n="valueProp"in t?t.valueProp:t.checkedValue;return Object.assign(Object.assign(Object.assign({},r()),t||{}),{checkedValue:n})}(t.unref(e),a),F=A(o),{meta:V,errors:E,errorMessage:w,handleBlur:S,handleInput:B,resetValidationState:M,setValidationState:I,setErrors:R,value:x,checked:N}=function({name:e,initValue:r,form:n,type:a,checkedValue:i}){const{errors:u,errorMessage:o,setErrors:l}=function(e,r){if(!r){const e=t.ref([]);return{errors:t.computed((()=>e.value)),errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=Array.isArray(t)?t:[t]}}}const n=t.computed((()=>r.errorBag.value[t.unref(e)]||[]));return{errors:n,errorMessage:t.computed((()=>n.value[0])),setErrors:n=>{r.setFieldErrorBag(t.unref(e),n)}}}(e,n),d=A(s,void 0),c=t.ref(t.unref(r)),f=t.computed((()=>O(t.unref(d),t.unref(e),t.unref(c)))),v=function(e,r,n){if(!n)return t.ref(t.unref(e));n.stageInitialValue(t.unref(r),t.unref(e));return t.computed({get:()=>O(n.values,t.unref(r)),set(e){n.setFieldValue(t.unref(r),e)}})}(f,e,n),p=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(e))),dirty:t.computed((()=>!G(t.unref(r),t.unref(e))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(f,v,u),h=m(a)?t.computed((()=>Array.isArray(v.value)?v.value.includes(t.unref(i)):t.unref(i)===v.value)):void 0,y=()=>{p.touched=!0};function g(e){return l(e.errors),e}function b(a){var i;const u=t.unref(e),o=a&&"value"in a?a.value:O(t.unref(d),u,t.unref(r));n?(n.setFieldValue(u,o,{force:!0}),n.setFieldInitialValue(u,o)):(v.value=o,c.value=o),l((null==a?void 0:a.errors)||[]),p.touched=null!==(i=null==a?void 0:a.touched)&&void 0!==i&&i,p.pending=!1,p.validated=!1}return{meta:p,errors:u,errorMessage:o,setErrors:l,setValidationState:g,resetValidationState:b,handleBlur:y,handleInput:e=>{m(a)||(v.value=T(e))},value:v,checked:h}}({name:e,initValue:u,form:F,type:p,checkedValue:h}),_=t.computed((()=>{let a=t.unref(n);const i=t.unref(null==F?void 0:F.schema);return i&&!v(i)&&(a=function(e,t){if(!e)return;return e[t]}(i,t.unref(e))||a),v(a)||r(a)?a:C(a)}));async function $(r){var n,a;return(null==F?void 0:F.validateSchema)?null!==(n=(await F.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:P(x.value,_.value,{name:t.unref(y)||t.unref(e),values:null!==(a=null==F?void 0:F.values)&&void 0!==a?a:{},bails:c})}async function D(){V.pending=!0,V.validated=!0;const e=await $("validated-only");return V.pending=!1,I(e)}async function U(){const e=await $("silent");V.valid=e.valid}let z;function q(){z=t.watch(x,g?D:U,{deep:!0})}function X(e){null==z||z(),M(e),q()}t.onMounted((()=>{if(l)return D();F&&F.validateSchema||U()})),q();const H={idx:-1,fid:i,name:e,label:y,value:x,meta:V,errors:E,errorMessage:w,type:p,checkedValue:h,uncheckedValue:b,checked:N,bails:c,resetField:X,handleReset:()=>X(),validate:D,handleChange:(e,r=!0)=>{var n,a;if(N&&N.value===(null===(a=null===(n=e)||void 0===n?void 0:n.target)||void 0===a?void 0:a.checked))return;let i=T(e);return N&&"checkbox"===p&&!F&&(i=k(x.value,t.unref(h),t.unref(b))),x.value=i,!g&&r?D():void 0},handleBlur:S,handleInput:B,setValidationState:I,setTouched:function(e){V.touched=e},setErrors:R};if(t.provide(d,H),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{if(!G(e,t))return D()}),{deep:!0}),!F)return H;F.register(H),t.onBeforeUnmount((()=>{F.unregister(H)}));const J=t.computed((()=>{const e=_.value;return!e||r(e)||v(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(f):j(a).filter((e=>f(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=O(F.values,t)||F.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(J,((e,t)=>{if(!Object.keys(e).length)return;!G(e,t)&&(V.dirty?D():U())})),H}const H=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:()=>$().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:c},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),i=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),o=g(e,"onUpdate:modelValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:v,handleInput:p,setTouched:y,resetField:b,handleReset:O,meta:F,checked:V,setErrors:E}=X(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,type:r.attrs.type,initialValue:K(e,r),checkedValue:r.attrs.value,uncheckedValue:u,label:i,validateOnValueUpdate:!1}),j=o?function(e,t=!0){f(e,t),r.emit("update:modelValue",s.value)}:f,A=o?function(e){p(e),r.emit("update:modelValue",s.value)}:p,w=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:i}=function(e){var t,r,n,a;const{validateOnInput:i,validateOnChange:u,validateOnBlur:o,validateOnModelUpdate:l}=$();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:i,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:u,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),u=[v,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>j(e,t),r.attrs.onInput].filter(Boolean),l=[e=>j(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:o,onChange:l};i&&(d["onUpdate:modelValue"]=[j]),m(r.attrs.type)&&V?d.checked=V.value:d.value=s.value;return h(J(e,r),r.attrs)&&delete d.value,d})),S=t.toRef(e,"modelValue");function B(){return{field:w.value,value:s.value,meta:F,errors:l.value,errorMessage:d.value,validate:c,resetField:b,handleChange:j,handleInput:A,handleReset:O,handleBlur:v,setTouched:y,setErrors:E}}return t.watch(S,(t=>{t!==function(e,t){if(t.number)return function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e);return e}(s.value,e.modelModifiers)&&(s.value=t,c())})),()=>{const n=t.resolveDynamicComponent(J(e,r)),a=M(n,r,B);return n?t.h(n,Object.assign(Object.assign({},r.attrs),w.value),a):a}}});function J(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function K(e,t){return m(t.attrs.type)?g(e,"modelValue")?e.modelValue:void 0:g(e,"modelValue")?e.modelValue:t.attrs.value}function Q(e){if("object"!=typeof e)return e;var t,r,n=Object.prototype.toString.call(e);if("[object Object]"===n){if(e.constructor!==Object&&"function"==typeof e.constructor)for(t in r=new e.constructor,e)r.hasOwnProperty(t)&&r[t]!==e[t]&&(r[t]=Q(e[t]));else for(t in r={},e)"__proto__"===t?Object.defineProperty(r,t,{value:Q(e[t]),configurable:!0,enumerable:!0,writable:!0}):r[t]=Q(e[t]);return r}if("[object Array]"===n){for(t=e.length,r=Array(t);t--;)r[t]=Q(e[t]);return r}return"[object Date]"===n?new Date(+e):"[object RegExp]"===n?((r=new RegExp(e.source,e.flags)).lastIndex=e.lastIndex,r):e}function W(e){const r=t.ref([]),n=t.ref(!1),a=t.computed((()=>r.value.reduce(((e,r)=>{const n=t.unref(r.name);if(!e[n])return e[n]=r,r.idx=-1,e;const a=e[n];Array.isArray(a)||(a.idx=0,e[n]=[a]);const i=e[n];return r.idx=i.length,i.push(r),e}),{}))),i=t.ref(0),u=t.reactive(Q(t.unref(null==e?void 0:e.initialValues)||{})),d={},{errorBag:c,setErrorBag:f,setFieldErrorBag:m}=function(e){const r=t.ref({});function n(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?r.value[e]=n(t):delete r.value[e]}function i(e){r.value=j(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&i(e);return{errorBag:r,setErrorBag:i,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),p=t.computed((()=>j(c.value).reduce(((e,t)=>{const r=c.value[t];return r&&r.length&&(e[t]=r[0]),e}),{}))),h=t.computed((()=>j(a.value).reduce(((e,r)=>{const n=S(a.value[r]);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),g=t.computed((()=>j(a.value).reduce(((e,t)=>{var r;const n=S(a.value[t]);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),b=Object.assign({},(null==e?void 0:e.initialErrors)||{}),{readonlyInitialValues:V,initialValues:A,setInitialValues:w}=function(e,r,n){const a=t.ref(t.unref(n)||{}),i=t.computed((()=>a.value));function u(t,n=!1){if(a.value=Object.assign({},t),!n)return;const i=e=>e.meta.touched;j(e.value).forEach((t=>{const n=e.value[t];if(Array.isArray(n)?n.some(i):i(n))return;const u=O(a.value,t);F(r,t,u)}))}t.isRef(n)&&t.watch(n,(e=>{u(e,!0)}),{deep:!0});return t.provide(s,i),{readonlyInitialValues:i,initialValues:a,setInitialValues:u}}(a,u,null==e?void 0:e.initialValues),M=function(e,r,n,a){const i={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!G(r,t.unref(n))));return t.computed((()=>{const r=j(i).reduce(((t,r)=>{const n=i[r];return t[r]=e.value[n]((e=>e.meta[r])),t}),{});return Object.assign(Object.assign({initialValues:t.unref(n)},r),{valid:r.valid&&!j(a.value).length,dirty:u.value})}))}(r,u,V,p),I=null==e?void 0:e.validationSchema,R={fieldsById:a,values:u,errorBag:c,schema:I,submitCount:i,meta:M,isSubmitting:n,validateSchema:t.unref(I)?async function(e){const r=t.unref(I);if(!r)return{valid:!0,results:{},errors:{}};const n=v(r)?await async function(e,t){const r=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),n={},a={};for(const e of r){const t=e.errors;n[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!r.length,results:n,errors:a}}(r,u):await q(r,u,{names:h.value,bailsMap:g.value}),a=R.fieldsById.value||{},i=j(R.errorBag.value);return[...new Set([...j(n.results),...j(a),...i])].reduce(((t,r)=>{const i=a[r],u=(n.results[r]||{errors:[]}).errors,o={errors:u,valid:!u.length};if(t.results[r]=o,o.valid||(t.errors[r]=o.errors[0]),!i)return T(r,u),t;if(B(i,(e=>e.meta.valid=o.valid)),"silent"===e)return t;const l=Array.isArray(i)?i.some((e=>e.meta.validated)):i.meta.validated;return"validated-only"!==e||l?(B(i,(e=>e.setValidationState(o)),!0),t):t}),{valid:n.valid,results:{},errors:{}})}:void 0,validate:P,register:function(e){r.value.push(e),t.isRef(e.name)&&(d[e.fid]=e.value.value,t.watch(e.name,((n,a)=>{x(n,d[e.fid]);r.value.find((e=>t.unref(e.name)===a))||(E(u,a),E(A.value,a))}),{flush:"post"}));const n=t.unref(e.name),a=t.unref(e.errorMessage);a&&(null==b?void 0:b[n])!==a&&U(n);delete b[n]},unregister:function(e){var n,a;const i=r.value.indexOf(e);if(-1===i)return;r.value.splice(i,1);const o=e.fid;t.nextTick((()=>{delete d[o]}));const l=t.unref(e.name);if(-1===e.idx){if(r.value.find((e=>t.unref(e.name)===l)))return;return E(u,l),void E(A.value,l)}const s=null===(a=null===(n=O(u,l))||void 0===n?void 0:n.indexOf)||void 0===a?void 0:a.call(n,t.unref(e.checkedValue));if(void 0===s)return void E(u,l);if(-1===s)return;if(Array.isArray(u[l]))return void E(u,`${l}.${s}`);E(u,l),E(A.value,l)},setFieldErrorBag:m,validateField:U,setFieldValue:x,setValues:N,setErrors:C,setFieldError:T,setFieldTouched:_,setTouched:$,resetForm:D,handleSubmit:z,stageInitialValue:function(e,t){F(u,e,t),L(e,t)},setFieldInitialValue:L};function T(e,t){m(e,t)}function C(e){f(e)}function x(e,r,{force:n}={force:!1}){var i;const o=a.value[e];if(!o)return void F(u,e,r);if(Array.isArray(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=k(O(u,e)||[],r,void 0);return F(u,e,t),void o.forEach((e=>{d[e.fid]=t}))}let l=r;Array.isArray(o)||"checkbox"!==(null==o?void 0:o.type)||n||(l=k(O(u,e),r,t.unref(o.uncheckedValue))),F(u,e,l),o&&Array.isArray(o)?o.forEach((e=>{d[e.fid]=l})):d[o.fid]=l}function N(e){j(u).forEach((e=>{delete u[e]})),j(e).forEach((t=>{x(t,e[t])}))}function _(e,t){const r=a.value[e];r&&B(r,(e=>e.setTouched(t)))}function $(e){j(e).forEach((t=>{_(t,!!e[t])}))}function D(e){(null==e?void 0:e.values)?(w(e.values),N(null==e?void 0:e.values)):N(A.value),r.value.forEach((e=>e.resetField())),(null==e?void 0:e.touched)&&$(e.touched),C((null==e?void 0:e.errors)||{}),i.value=(null==e?void 0:e.submitCount)||0}async function P(){if(R.validateSchema)return R.validateSchema("force");const e=await Promise.all(r.value.map((e=>e.validate().then((r=>({key:t.unref(e.name),valid:r.valid,errors:r.errors})))))),n={},a={};for(const t of e)n[t.key]={valid:t.valid,errors:t.errors},t.errors.length&&(a[t.key]=t.errors[0]);return{valid:e.every((e=>e.valid)),results:n,errors:a}}async function U(e){const r=a.value[e];return r?Array.isArray(r)?r.map((e=>e.validate()))[0]:r.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function z(e){return function(t){return t instanceof Event&&(t.preventDefault(),t.stopPropagation()),$(j(a.value).reduce(((e,t)=>(e[t]=!0,e)),{})),n.value=!0,i.value++,P().then((r=>{if(r.valid&&"function"==typeof e)return e(Q(u),{evt:t,setErrors:C,setFieldError:T,setTouched:$,setFieldTouched:_,setValues:N,setFieldValue:x,resetForm:D})})).then((()=>{n.value=!1}),(e=>{throw n.value=!1,e}))}}function L(e,t){F(A.value,e,t)}const X=z(((e,{evt:t})=>{(function(e){return y(e)&&e.target&&"submit"in e.target})(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&C(e.initialErrors),(null==e?void 0:e.initialTouched)&&$(e.initialTouched),(null==e?void 0:e.validateOnMount)?P():R.validateSchema&&R.validateSchema("silent")})),t.isRef(I)&&t.watch(I,(()=>{var e;null===(e=R.validateSchema)||void 0===e||e.call(R,"validated-only")})),t.provide(o,R),t.provide(l,p),{errors:p,meta:M,values:u,isSubmitting:n,submitCount:i,validate:P,validateField:U,handleReset:()=>D(),resetForm:D,handleSubmit:z,submitForm:X,setFieldError:T,setErrors:C,setFieldValue:x,setValues:N,setFieldTouched:_,setTouched:$}}const Y=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,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}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),{errors:i,values:u,meta:o,isSubmitting:l,submitCount:s,validate:d,validateField:c,handleReset:f,resetForm:v,handleSubmit:m,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V}=W({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount}),E=e.onSubmit?m(e.onSubmit):p;function j(e){y(e)&&e.preventDefault(),f(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function A(e,t){return m("function"!=typeof e||t?t:e)(e)}function w(){return{meta:o.value,errors:i.value,values:u,isSubmitting:l.value,submitCount:s.value,validate:d,validateField:c,handleSubmit:A,handleReset:f,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V,resetForm:v}}return function(){"setErrors"in this||(this.setFieldError=g,this.setErrors=h,this.setFieldValue=b,this.setValues=O,this.setFieldTouched=F,this.setTouched=V,this.resetForm=v,this.validate=d,this.validateField=c);const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=M(n,r,w);if(!e.as)return a;const i="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},i),r.attrs),{onSubmit:E,onReset:j}),a)}}}),Z=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(l,void 0),a=t.computed((()=>null==n?void 0:n.value[e.name]));function i(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,u=M(n,r,i),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(n,o,u):t.h(n||"span",o,a.value):u}}});e.ErrorMessage=Z,e.Field=H,e.Form=Y,e.configure=D,e.defineRule=function(e,t){!function(e,t){if(r(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),u[e]=t},e.useField=X,e.useFieldError=function(e){const r=A(l),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?null===(a=null==r?void 0:r.value)||void 0===a?void 0:a[t.unref(e)]:null==n?void 0:n.errorMessage.value}))},e.useFieldValue=function(e){const r=A(o),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?O(null==r?void 0:r.values,t.unref(e)):null===(a=null==n?void 0:n.value)||void 0===a?void 0:a.value}))},e.useForm=W,e.useFormErrors=function(){const e=A(l);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),e||t.computed((()=>({})))},e.useFormValues=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.dirty:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.touched:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.valid:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),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=A(o);t||w("No vee-validate <Form /> or `useForm` was detected in the component tree");const r=t?t.handleSubmit(e):void 0;return function(e){if(r)return r(e)}},e.useValidateField=function(e){const r=A(o);let n=e?void 0:t.inject(d);return function(){return e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.validate():(w(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=P,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
6
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function r(e){return"function"==typeof e}function n(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function i(e){return Number(e)>=0}const u={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-form-errors"),s=Symbol("vee-validate-form-initial-values"),d=Symbol("vee-validate-field-instance"),c=Symbol("Default empty value");function f(e){return r(e)&&!!e.__locatorRef}function v(e){return!!e&&r(e.validate)}function m(e){return"checkbox"===e||"radio"===e}function p(e){return/^\[.+\]$/i.test(e)}function h(e,t){return function(e,t){const r=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&r}(e,t)||function(e,t){return function(e){return["input","textarea","select"].includes(e)}(e)&&"file"===t.type}(e,t)}function y(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function g(e,t){return t in e&&e[t]!==c}function b(e){return p(e)?e.replace(/\[|\]/gi,""):e}function O(e,t,r){if(!e)return r;if(p(t))return e[b(t)];return t.split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(n=e)||Array.isArray(n))&&t in e?e[t]:r;var n}),e)}function F(e,t,r){if(p(t))return void(e[b(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(u[a[e]]=r);a[e]in u&&!n(u[a[e]])||(u[a[e]]=i(a[e+1])?[]:{}),u=u[a[e]]}}function V(e,t){Array.isArray(e)&&i(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function E(e,t){if(p(t))return void delete e[b(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<r.length;e++){if(e===r.length-1){V(i,r[e]);break}if(!(r[e]in i)||n(i[r[e]]))break;i=i[r[e]]}const u=r.map(((t,n)=>O(e,r.slice(0,n).join("."))));for(let t=u.length-1;t>=0;t--)o=u[t],(Array.isArray(o)?0===o.length:a(o)&&0===Object.keys(o).length)&&(0!==t?V(u[t-1],r[t-1]):V(e,r[0]));var o}function j(e){return Object.keys(e)}function A(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function w(e){t.warn(`[vee-validate]: ${e}`)}function S(e){return Array.isArray(e)?e[0]:e}function B(e,t,r=!1){Array.isArray(e)?r?t(e[0]):e.forEach(t):t(e)}function k(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.indexOf(t);return n>=0?r.splice(n,1):r.push(t),r}return e===t?r:t}const M=(e,t,r)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,n;return null===(n=(e=t.slots).default)||void 0===n?void 0:n.call(e,r())}}:t.slots.default(r()):t.slots.default;function I(e){if(R(e))return e._value}function R(e){return"_value"in e}function T(e){if(!y(e))return e;const t=e.target;return m(t.type)&&R(t)?I(t):"file"===t.type&&t.files?Array.from(t.files):"SELECT"===(r=t).tagName&&r.multiple?Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(I):t.value;var r}function C(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,r)=>{const n=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[r]);return!1!==e[r]&&(t[r]=x(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=N(t);return r.name?(e[r.name]=x(r.params),e):e}),t):t}function x(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>O(t,e)||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(((r,n)=>(r[n]=t(e[n]),r)),{})}const N=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let _=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const $=()=>_,D=e=>{_=Object.assign(Object.assign({},_),e)};async function P(e,t,n={}){const a=null==n?void 0:n.bails,i={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},u=(await async function(e,t){if(v(e.rules))return async function(e,t,r){var n;return{errors:await t.validate(e,{abortEarly:null===(n=r.bails)||void 0===n||n}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(r(e.rules)){const r={field:e.name,form:e.formData,value:t},n=await e.rules(t,r),a="string"!=typeof n&&n,i="string"==typeof n?n:z(r);return{errors:a?[]:[i]}}const n=Object.assign(Object.assign({},e),{rules:C(e.rules)}),a=[],i=Object.keys(n.rules),u=i.length;for(let r=0;r<u;r++){const u=i[r],o=await U(n,t,{name:u,params:n.rules[u]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(i,e)).errors;return{errors:u,valid:!u.length}}async function U(e,t,r){const n=(a=r.name,u[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const i=function(e,t){const r=e=>f(e)?e(t):e;if(Array.isArray(e))return e.map(r);return Object.keys(e).reduce(((t,n)=>(t[n]=r(e[n]),t)),{})}(r.params,e.formData),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},r),{params:i})},l=await n(t,i,o);return"string"==typeof l?{error:l}:{error:l?void 0:z(o)}}function z(e){const t=$().generateMessage;return t?t(e):"Field is invalid"}async function q(e,t,r){const n=j(e).map((async n=>{var a,i,u;const o=await P(O(t,n),e[n],{name:(null===(a=null==r?void 0:r.names)||void 0===a?void 0:a[n])||n,values:t,bails:null===(u=null===(i=null==r?void 0:r.bailsMap)||void 0===i?void 0:i[n])||void 0===u||u});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const i=await Promise.all(n),u={},o={};for(const e of i)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:u,errors:o}}var G=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(!e(t[a],r[a]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;for(a of t.entries())if(!e(a[1],r.get(a[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(t[a]!==r[a])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;0!=a--;){var u=i[a];if(!e(t[u],r[u]))return!1}return!0}return t!=t&&r!=r};let L=0;function X(e,n,a){const i=L>=Number.MAX_SAFE_INTEGER?0:++L,{initialValue:u,validateOnMount:l,bails:c,type:p,checkedValue:h,label:y,validateOnValueUpdate:g,uncheckedValue:b}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0});if(!t)return r();const n="valueProp"in t?t.valueProp:t.checkedValue;return Object.assign(Object.assign(Object.assign({},r()),t||{}),{checkedValue:n})}(t.unref(e),a),F=A(o),{meta:V,errors:E,errorMessage:w,handleBlur:S,handleInput:B,resetValidationState:M,setValidationState:I,setErrors:R,value:x,checked:N}=function({name:e,initValue:r,form:n,type:a,checkedValue:i}){const{errors:u,errorMessage:o,setErrors:l}=function(e,r){if(!r){const e=t.ref([]);return{errors:t.computed((()=>e.value)),errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=Array.isArray(t)?t:[t]}}}const n=t.computed((()=>r.errorBag.value[t.unref(e)]||[]));return{errors:n,errorMessage:t.computed((()=>n.value[0])),setErrors:n=>{r.setFieldErrorBag(t.unref(e),n)}}}(e,n),d=A(s,void 0),c=t.ref(t.unref(r)),f=t.computed((()=>O(t.unref(d),t.unref(e),t.unref(c)))),v=function(e,r,n){if(!n)return t.ref(t.unref(e));n.stageInitialValue(t.unref(r),t.unref(e));return t.computed({get:()=>O(n.values,t.unref(r)),set(e){n.setFieldValue(t.unref(r),e)}})}(f,e,n),p=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(e))),dirty:t.computed((()=>!G(t.unref(r),t.unref(e))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(f,v,u),h=m(a)?t.computed((()=>Array.isArray(v.value)?v.value.includes(t.unref(i)):t.unref(i)===v.value)):void 0,y=()=>{p.touched=!0};function g(e){return l(e.errors),e}function b(a){var i;const u=t.unref(e),o=a&&"value"in a?a.value:O(t.unref(d),u,t.unref(r));n?(n.setFieldValue(u,o,{force:!0}),n.setFieldInitialValue(u,o)):(v.value=o,c.value=o),l((null==a?void 0:a.errors)||[]),p.touched=null!==(i=null==a?void 0:a.touched)&&void 0!==i&&i,p.pending=!1,p.validated=!1}return{meta:p,errors:u,errorMessage:o,setErrors:l,setValidationState:g,resetValidationState:b,handleBlur:y,handleInput:e=>{m(a)||(v.value=T(e))},value:v,checked:h}}({name:e,initValue:u,form:F,type:p,checkedValue:h}),_=t.computed((()=>{let a=t.unref(n);const i=t.unref(null==F?void 0:F.schema);return i&&!v(i)&&(a=function(e,t){if(!e)return;return e[t]}(i,t.unref(e))||a),v(a)||r(a)?a:C(a)}));async function $(r){var n,a;return(null==F?void 0:F.validateSchema)?null!==(n=(await F.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:P(x.value,_.value,{name:t.unref(y)||t.unref(e),values:null!==(a=null==F?void 0:F.values)&&void 0!==a?a:{},bails:c})}async function D(){V.pending=!0,V.validated=!0;const e=await $("validated-only");return V.pending=!1,I(e)}async function U(){const e=await $("silent");V.valid=e.valid}let z;function q(){z=t.watch(x,g?D:U,{deep:!0})}function X(e){null==z||z(),M(e),q()}t.onMounted((()=>{if(l)return D();F&&F.validateSchema||U()})),q();const H={idx:-1,fid:i,name:e,label:y,value:x,meta:V,errors:E,errorMessage:w,type:p,checkedValue:h,uncheckedValue:b,checked:N,bails:c,resetField:X,handleReset:()=>X(),validate:D,handleChange:(e,r=!0)=>{var n,a;if(N&&N.value===(null===(a=null===(n=e)||void 0===n?void 0:n.target)||void 0===a?void 0:a.checked))return;let i=T(e);return N&&"checkbox"===p&&!F&&(i=k(x.value,t.unref(h),t.unref(b))),x.value=i,!g&&r?D():void 0},handleBlur:S,handleInput:B,setValidationState:I,setTouched:function(e){V.touched=e},setErrors:R};if(t.provide(d,H),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{if(!G(e,t))return D()}),{deep:!0}),!F)return H;F.register(H),t.onBeforeUnmount((()=>{F.unregister(H)}));const J=t.computed((()=>{const e=_.value;return!e||r(e)||v(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(f):j(a).filter((e=>f(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=O(F.values,t)||F.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(J,((e,t)=>{if(!Object.keys(e).length)return;!G(e,t)&&(V.dirty?D():U())})),H}const H=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:()=>$().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:c},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),i=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),o=g(e,"onUpdate:modelValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:v,handleInput:p,setTouched:y,resetField:b,handleReset:O,meta:F,checked:V,setErrors:E}=X(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,type:r.attrs.type,initialValue:K(e,r),checkedValue:r.attrs.value,uncheckedValue:u,label:i,validateOnValueUpdate:!1}),j=o?function(e,t=!0){f(e,t),r.emit("update:modelValue",s.value)}:f,A=o?function(e){p(e),r.emit("update:modelValue",s.value)}:p,w=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:i}=function(e){var t,r,n,a;const{validateOnInput:i,validateOnChange:u,validateOnBlur:o,validateOnModelUpdate:l}=$();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:i,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:u,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),u=[v,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>j(e,t),r.attrs.onInput].filter(Boolean),l=[e=>j(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:o,onChange:l};i&&(d["onUpdate:modelValue"]=[j]),m(r.attrs.type)&&V?d.checked=V.value:d.value=s.value;return h(J(e,r),r.attrs)&&delete d.value,d})),S=t.toRef(e,"modelValue");function B(){return{field:w.value,value:s.value,meta:F,errors:l.value,errorMessage:d.value,validate:c,resetField:b,handleChange:j,handleInput:A,handleReset:O,handleBlur:v,setTouched:y,setErrors:E}}return t.watch(S,(t=>{t!==function(e,t){if(t.number)return function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e);return e}(s.value,e.modelModifiers)&&(s.value=t,c())})),()=>{const n=t.resolveDynamicComponent(J(e,r)),a=M(n,r,B);return n?t.h(n,Object.assign(Object.assign({},r.attrs),w.value),a):a}}});function J(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function K(e,t){return m(t.attrs.type)?g(e,"modelValue")?e.modelValue:void 0:g(e,"modelValue")?e.modelValue:t.attrs.value}function Q(e){if("object"!=typeof e)return e;var t,r,n=Object.prototype.toString.call(e);if("[object Object]"===n){if(e.constructor!==Object&&"function"==typeof e.constructor)for(t in r=new e.constructor,e)r.hasOwnProperty(t)&&r[t]!==e[t]&&(r[t]=Q(e[t]));else for(t in r={},e)"__proto__"===t?Object.defineProperty(r,t,{value:Q(e[t]),configurable:!0,enumerable:!0,writable:!0}):r[t]=Q(e[t]);return r}if("[object Array]"===n){for(t=e.length,r=Array(t);t--;)r[t]=Q(e[t]);return r}return"[object Date]"===n?new Date(+e):"[object RegExp]"===n?((r=new RegExp(e.source,e.flags)).lastIndex=e.lastIndex,r):e}function W(e){const r=t.ref([]),n=t.ref(!1),a=t.computed((()=>r.value.reduce(((e,r)=>{const n=t.unref(r.name);if(!e[n])return e[n]=r,r.idx=-1,e;const a=e[n];Array.isArray(a)||(a.idx=0,e[n]=[a]);const i=e[n];return r.idx=i.length,i.push(r),e}),{}))),i=t.ref(0),u=t.reactive(Q(t.unref(null==e?void 0:e.initialValues)||{})),d={},{errorBag:c,setErrorBag:f,setFieldErrorBag:m}=function(e){const r=t.ref({});function n(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?r.value[e]=n(t):delete r.value[e]}function i(e){r.value=j(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&i(e);return{errorBag:r,setErrorBag:i,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),p=t.computed((()=>j(c.value).reduce(((e,t)=>{const r=c.value[t];return r&&r.length&&(e[t]=r[0]),e}),{}))),h=t.computed((()=>j(a.value).reduce(((e,r)=>{const n=S(a.value[r]);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),g=t.computed((()=>j(a.value).reduce(((e,t)=>{var r;const n=S(a.value[t]);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),b=Object.assign({},(null==e?void 0:e.initialErrors)||{}),{readonlyInitialValues:V,initialValues:A,setInitialValues:w}=function(e,r,n){const a=t.ref(t.unref(n)||{}),i=t.computed((()=>a.value));function u(t,n=!1){if(a.value=Object.assign({},t),!n)return;const i=e=>e.meta.touched;j(e.value).forEach((t=>{const n=e.value[t];if(Array.isArray(n)?n.some(i):i(n))return;const u=O(a.value,t);F(r,t,u)}))}t.isRef(n)&&t.watch(n,(e=>{u(e,!0)}),{deep:!0});return t.provide(s,i),{readonlyInitialValues:i,initialValues:a,setInitialValues:u}}(a,u,null==e?void 0:e.initialValues),M=function(e,r,n,a){const i={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!G(r,t.unref(n))));return t.computed((()=>{const r=j(i).reduce(((t,r)=>{const n=i[r];return t[r]=e.value[n]((e=>e.meta[r])),t}),{});return Object.assign(Object.assign({initialValues:t.unref(n)},r),{valid:r.valid&&!j(a.value).length,dirty:u.value})}))}(r,u,V,p),I=null==e?void 0:e.validationSchema,R={fieldsById:a,values:u,errorBag:c,schema:I,submitCount:i,meta:M,isSubmitting:n,validateSchema:t.unref(I)?async function(e){const r=t.unref(I);if(!r)return{valid:!0,results:{},errors:{}};const n=v(r)?await async function(e,t){const r=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),n={},a={};for(const e of r){const t=e.errors;n[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!r.length,results:n,errors:a}}(r,u):await q(r,u,{names:h.value,bailsMap:g.value}),a=R.fieldsById.value||{},i=j(R.errorBag.value);return[...new Set([...j(n.results),...j(a),...i])].reduce(((t,r)=>{const i=a[r],u=(n.results[r]||{errors:[]}).errors,o={errors:u,valid:!u.length};if(t.results[r]=o,o.valid||(t.errors[r]=o.errors[0]),!i)return T(r,u),t;if(B(i,(e=>e.meta.valid=o.valid)),"silent"===e)return t;const l=Array.isArray(i)?i.some((e=>e.meta.validated)):i.meta.validated;return"validated-only"!==e||l?(B(i,(e=>e.setValidationState(o)),!0),t):t}),{valid:n.valid,results:{},errors:{}})}:void 0,validate:P,register:function(e){r.value.push(e),a.value,t.isRef(e.name)&&(d[e.fid]=e.value.value,t.watch(e.name,((n,a)=>{x(n,d[e.fid]);r.value.find((e=>t.unref(e.name)===a))||(E(u,a),E(A.value,a))}),{flush:"post"}));const n=t.unref(e.name),i=t.unref(e.errorMessage);i&&(null==b?void 0:b[n])!==i&&U(n);delete b[n]},unregister:function(e){var n,i;const o=r.value.indexOf(e);if(-1===o)return;r.value.splice(o,1);const l=e.fid;t.nextTick((()=>{delete d[l],a.value[s]||T(s,void 0)}));const s=t.unref(e.name);if(-1===e.idx){if(r.value.find((e=>t.unref(e.name)===s)))return;return E(u,s),void E(A.value,s)}const c=null===(i=null===(n=O(u,s))||void 0===n?void 0:n.indexOf)||void 0===i?void 0:i.call(n,t.unref(e.checkedValue));if(void 0===c)return void E(u,s);if(-1===c)return;if(Array.isArray(u[s]))return void E(u,`${s}.${c}`);E(u,s),E(A.value,s)},setFieldErrorBag:m,validateField:U,setFieldValue:x,setValues:N,setErrors:C,setFieldError:T,setFieldTouched:_,setTouched:$,resetForm:D,handleSubmit:z,stageInitialValue:function(e,t){F(u,e,t),L(e,t)},setFieldInitialValue:L};function T(e,t){m(e,t)}function C(e){f(e)}function x(e,r,{force:n}={force:!1}){var i;const o=a.value[e];if(!o)return void F(u,e,r);if(Array.isArray(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=k(O(u,e)||[],r,void 0);return F(u,e,t),void o.forEach((e=>{d[e.fid]=t}))}let l=r;Array.isArray(o)||"checkbox"!==(null==o?void 0:o.type)||n||(l=k(O(u,e),r,t.unref(o.uncheckedValue))),F(u,e,l),o&&Array.isArray(o)?o.forEach((e=>{d[e.fid]=l})):d[o.fid]=l}function N(e){j(u).forEach((e=>{delete u[e]})),j(e).forEach((t=>{x(t,e[t])}))}function _(e,t){const r=a.value[e];r&&B(r,(e=>e.setTouched(t)))}function $(e){j(e).forEach((t=>{_(t,!!e[t])}))}function D(e){(null==e?void 0:e.values)?(w(e.values),N(null==e?void 0:e.values)):N(A.value),r.value.forEach((e=>e.resetField())),(null==e?void 0:e.touched)&&$(e.touched),C((null==e?void 0:e.errors)||{}),i.value=(null==e?void 0:e.submitCount)||0}async function P(){if(R.validateSchema)return R.validateSchema("force");const e=await Promise.all(r.value.map((e=>e.validate().then((r=>({key:t.unref(e.name),valid:r.valid,errors:r.errors})))))),n={},a={};for(const t of e)n[t.key]={valid:t.valid,errors:t.errors},t.errors.length&&(a[t.key]=t.errors[0]);return{valid:e.every((e=>e.valid)),results:n,errors:a}}async function U(e){const r=a.value[e];return r?Array.isArray(r)?r.map((e=>e.validate()))[0]:r.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function z(e){return function(t){return t instanceof Event&&(t.preventDefault(),t.stopPropagation()),$(j(a.value).reduce(((e,t)=>(e[t]=!0,e)),{})),n.value=!0,i.value++,P().then((r=>{if(r.valid&&"function"==typeof e)return e(Q(u),{evt:t,setErrors:C,setFieldError:T,setTouched:$,setFieldTouched:_,setValues:N,setFieldValue:x,resetForm:D})})).then((()=>{n.value=!1}),(e=>{throw n.value=!1,e}))}}function L(e,t){F(A.value,e,t)}const X=z(((e,{evt:t})=>{(function(e){return y(e)&&e.target&&"submit"in e.target})(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&C(e.initialErrors),(null==e?void 0:e.initialTouched)&&$(e.initialTouched),(null==e?void 0:e.validateOnMount)?P():R.validateSchema&&R.validateSchema("silent")})),t.isRef(I)&&t.watch(I,(()=>{var e;null===(e=R.validateSchema)||void 0===e||e.call(R,"validated-only")})),t.provide(o,R),t.provide(l,p),{errors:p,meta:M,values:u,isSubmitting:n,submitCount:i,validate:P,validateField:U,handleReset:()=>D(),resetForm:D,handleSubmit:z,submitForm:X,setFieldError:T,setErrors:C,setFieldValue:x,setValues:N,setFieldTouched:_,setTouched:$}}const Y=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,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}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),{errors:i,values:u,meta:o,isSubmitting:l,submitCount:s,validate:d,validateField:c,handleReset:f,resetForm:v,handleSubmit:m,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V}=W({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount}),E=e.onSubmit?m(e.onSubmit):p;function j(e){y(e)&&e.preventDefault(),f(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function A(e,t){return m("function"!=typeof e||t?t:e)(e)}function w(){return{meta:o.value,errors:i.value,values:u,isSubmitting:l.value,submitCount:s.value,validate:d,validateField:c,handleSubmit:A,handleReset:f,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V,resetForm:v}}return function(){"setErrors"in this||(this.setFieldError=g,this.setErrors=h,this.setFieldValue=b,this.setValues=O,this.setFieldTouched=F,this.setTouched=V,this.resetForm=v,this.validate=d,this.validateField=c);const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=M(n,r,w);if(!e.as)return a;const i="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},i),r.attrs),{onSubmit:E,onReset:j}),a)}}}),Z=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(l,void 0),a=t.computed((()=>null==n?void 0:n.value[e.name]));function i(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,u=M(n,r,i),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(n,o,u):t.h(n||"span",o,a.value):u}}});e.ErrorMessage=Z,e.Field=H,e.Form=Y,e.configure=D,e.defineRule=function(e,t){!function(e,t){if(r(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),u[e]=t},e.useField=X,e.useFieldError=function(e){const r=A(l),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?null===(a=null==r?void 0:r.value)||void 0===a?void 0:a[t.unref(e)]:null==n?void 0:n.errorMessage.value}))},e.useFieldValue=function(e){const r=A(o),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?O(null==r?void 0:r.values,t.unref(e)):null===(a=null==n?void 0:n.value)||void 0===a?void 0:a.value}))},e.useForm=W,e.useFormErrors=function(){const e=A(l);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),e||t.computed((()=>({})))},e.useFormValues=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.dirty:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.touched:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.valid:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),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=A(o);t||w("No vee-validate <Form /> or `useForm` was detected in the component tree");const r=t?t.handleSubmit(e):void 0;return function(e){if(r)return r(e)}},e.useValidateField=function(e){const r=A(o);let n=e?void 0:t.inject(d);return function(){return e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.validate():(w(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=P,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vee-validate",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.6",
|
|
4
4
|
"description": "Form Validation for Vue.js",
|
|
5
5
|
"author": "Abdelrahman Awad <logaretm1@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"vue": "^3.0.0"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "d930271e64daa4ec614d91e29d06702318fb30c0"
|
|
30
30
|
}
|