vee-validate 4.6.6 → 4.6.7
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/dist/vee-validate.d.ts +3 -3
- package/dist/vee-validate.esm.js +74 -60
- package/dist/vee-validate.js +74 -60
- package/dist/vee-validate.min.js +2 -2
- package/package.json +2 -2
package/dist/vee-validate.d.ts
CHANGED
|
@@ -99,7 +99,7 @@ interface PrivateFieldContext<TValue = unknown> {
|
|
|
99
99
|
setValue(value: TValue): void;
|
|
100
100
|
}
|
|
101
101
|
declare type FieldContext<TValue = unknown> = Omit<PrivateFieldContext<TValue>, 'id' | 'instances'>;
|
|
102
|
-
declare type GenericValidateFunction = (value:
|
|
102
|
+
declare type GenericValidateFunction<TValue = unknown> = (value: TValue, ctx: FieldValidationMetaInfo) => boolean | string | Promise<boolean | string>;
|
|
103
103
|
interface FormState<TValues> {
|
|
104
104
|
values: TValues;
|
|
105
105
|
errors: Partial<Record<keyof TValues, string | undefined>>;
|
|
@@ -179,7 +179,7 @@ interface ValidationOptions {
|
|
|
179
179
|
/**
|
|
180
180
|
* Validates a value against the rules.
|
|
181
181
|
*/
|
|
182
|
-
declare function validate(value:
|
|
182
|
+
declare function validate<TValue = unknown>(value: TValue, rules: string | Record<string, unknown | unknown[]> | GenericValidateFunction<TValue> | GenericValidateFunction<TValue>[] | YupValidator, options?: ValidationOptions): Promise<ValidationResult>;
|
|
183
183
|
|
|
184
184
|
/**
|
|
185
185
|
* Adds a custom validator to the list of validation rules.
|
|
@@ -211,7 +211,7 @@ interface FieldOptions<TValue = unknown> {
|
|
|
211
211
|
modelPropName?: string;
|
|
212
212
|
syncVModel?: boolean;
|
|
213
213
|
}
|
|
214
|
-
declare type RuleExpression<TValue> = string | Record<string, unknown> | GenericValidateFunction | GenericValidateFunction[] | YupValidator<TValue> | undefined;
|
|
214
|
+
declare type RuleExpression<TValue> = string | Record<string, unknown> | GenericValidateFunction<TValue> | GenericValidateFunction<TValue>[] | YupValidator<TValue> | undefined;
|
|
215
215
|
/**
|
|
216
216
|
* Creates a field composite.
|
|
217
217
|
*/
|
package/dist/vee-validate.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.6.
|
|
2
|
+
* vee-validate v4.6.7
|
|
3
3
|
* (c) 2022 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -344,6 +344,20 @@ function applyModelModifiers(value, modifiers) {
|
|
|
344
344
|
return toNumber(value);
|
|
345
345
|
}
|
|
346
346
|
return value;
|
|
347
|
+
}
|
|
348
|
+
function withLatest(fn, onDone) {
|
|
349
|
+
let latestRun;
|
|
350
|
+
return async function runLatest(...args) {
|
|
351
|
+
const pending = fn(...args);
|
|
352
|
+
latestRun = pending;
|
|
353
|
+
const result = await pending;
|
|
354
|
+
if (pending !== latestRun) {
|
|
355
|
+
return result;
|
|
356
|
+
}
|
|
357
|
+
latestRun = undefined;
|
|
358
|
+
onDone(result, args);
|
|
359
|
+
return result;
|
|
360
|
+
};
|
|
347
361
|
}
|
|
348
362
|
|
|
349
363
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1396,10 +1410,11 @@ function _useField(name, rules, opts) {
|
|
|
1396
1410
|
bails,
|
|
1397
1411
|
});
|
|
1398
1412
|
}
|
|
1399
|
-
|
|
1413
|
+
const validateWithStateMutation = withLatest(async () => {
|
|
1400
1414
|
meta.pending = true;
|
|
1401
1415
|
meta.validated = true;
|
|
1402
|
-
|
|
1416
|
+
return validateCurrentValue('validated-only');
|
|
1417
|
+
}, result => {
|
|
1403
1418
|
if (markedForRemoval) {
|
|
1404
1419
|
result.valid = true;
|
|
1405
1420
|
result.errors = [];
|
|
@@ -1407,23 +1422,21 @@ function _useField(name, rules, opts) {
|
|
|
1407
1422
|
setState({ errors: result.errors });
|
|
1408
1423
|
meta.pending = false;
|
|
1409
1424
|
return result;
|
|
1410
|
-
}
|
|
1411
|
-
|
|
1412
|
-
|
|
1425
|
+
});
|
|
1426
|
+
const validateValidStateOnly = withLatest(async () => {
|
|
1427
|
+
return validateCurrentValue('silent');
|
|
1428
|
+
}, result => {
|
|
1413
1429
|
if (markedForRemoval) {
|
|
1414
1430
|
result.valid = true;
|
|
1415
1431
|
}
|
|
1416
1432
|
meta.valid = result.valid;
|
|
1417
1433
|
return result;
|
|
1418
|
-
}
|
|
1434
|
+
});
|
|
1419
1435
|
function validate$1(opts) {
|
|
1420
|
-
if (
|
|
1421
|
-
return
|
|
1422
|
-
}
|
|
1423
|
-
if ((opts === null || opts === void 0 ? void 0 : opts.mode) === 'validated-only') {
|
|
1424
|
-
return validateWithStateMutation();
|
|
1436
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.mode) === 'silent') {
|
|
1437
|
+
return validateValidStateOnly();
|
|
1425
1438
|
}
|
|
1426
|
-
return
|
|
1439
|
+
return validateWithStateMutation();
|
|
1427
1440
|
}
|
|
1428
1441
|
// Common input/change event handler
|
|
1429
1442
|
function handleChange(e, shouldValidate = true) {
|
|
@@ -1923,6 +1936,54 @@ function useForm(opts) {
|
|
|
1923
1936
|
// form meta aggregations
|
|
1924
1937
|
const meta = useFormMeta(fieldsByPath, formValues, originalInitialValues, errors);
|
|
1925
1938
|
const schema = opts === null || opts === void 0 ? void 0 : opts.validationSchema;
|
|
1939
|
+
/**
|
|
1940
|
+
* Batches validation runs in 5ms batches
|
|
1941
|
+
* Must have two distinct batch queues to make sure they don't override each other settings #3783
|
|
1942
|
+
*/
|
|
1943
|
+
const debouncedSilentValidation = debounceAsync(_validateSchema, 5);
|
|
1944
|
+
const debouncedValidation = debounceAsync(_validateSchema, 5);
|
|
1945
|
+
const validateSchema = withLatest(async (mode) => {
|
|
1946
|
+
return (await mode) === 'silent' ? debouncedSilentValidation() : debouncedValidation();
|
|
1947
|
+
}, (formResult, [mode]) => {
|
|
1948
|
+
// fields by id lookup
|
|
1949
|
+
const fieldsById = formCtx.fieldsByPath.value || {};
|
|
1950
|
+
// errors fields names, we need it to also check if custom errors are updated
|
|
1951
|
+
const currentErrorsPaths = keysOf(formCtx.errorBag.value);
|
|
1952
|
+
// collect all the keys from the schema and all fields
|
|
1953
|
+
// this ensures we have a complete keymap of all the fields
|
|
1954
|
+
const paths = [
|
|
1955
|
+
...new Set([...keysOf(formResult.results), ...keysOf(fieldsById), ...currentErrorsPaths]),
|
|
1956
|
+
];
|
|
1957
|
+
// aggregates the paths into a single result object while applying the results on the fields
|
|
1958
|
+
return paths.reduce((validation, path) => {
|
|
1959
|
+
const field = fieldsById[path];
|
|
1960
|
+
const messages = (formResult.results[path] || { errors: [] }).errors;
|
|
1961
|
+
const fieldResult = {
|
|
1962
|
+
errors: messages,
|
|
1963
|
+
valid: !messages.length,
|
|
1964
|
+
};
|
|
1965
|
+
validation.results[path] = fieldResult;
|
|
1966
|
+
if (!fieldResult.valid) {
|
|
1967
|
+
validation.errors[path] = fieldResult.errors[0];
|
|
1968
|
+
}
|
|
1969
|
+
// field not rendered
|
|
1970
|
+
if (!field) {
|
|
1971
|
+
setFieldError(path, messages);
|
|
1972
|
+
return validation;
|
|
1973
|
+
}
|
|
1974
|
+
// always update the valid flag regardless of the mode
|
|
1975
|
+
applyFieldMutation(field, f => (f.meta.valid = fieldResult.valid));
|
|
1976
|
+
if (mode === 'silent') {
|
|
1977
|
+
return validation;
|
|
1978
|
+
}
|
|
1979
|
+
const wasValidated = Array.isArray(field) ? field.some(f => f.meta.validated) : field.meta.validated;
|
|
1980
|
+
if (mode === 'validated-only' && !wasValidated) {
|
|
1981
|
+
return validation;
|
|
1982
|
+
}
|
|
1983
|
+
applyFieldMutation(field, f => f.setState({ errors: fieldResult.errors }));
|
|
1984
|
+
return validation;
|
|
1985
|
+
}, { valid: formResult.valid, results: {}, errors: {} });
|
|
1986
|
+
});
|
|
1926
1987
|
const formCtx = {
|
|
1927
1988
|
formId,
|
|
1928
1989
|
fieldsByPath,
|
|
@@ -2324,53 +2385,6 @@ function useForm(opts) {
|
|
|
2324
2385
|
});
|
|
2325
2386
|
return formResult;
|
|
2326
2387
|
}
|
|
2327
|
-
/**
|
|
2328
|
-
* Batches validation runs in 5ms batches
|
|
2329
|
-
* Must have two distinct batch queues to make sure they don't override each other settings #3783
|
|
2330
|
-
*/
|
|
2331
|
-
const debouncedSilentValidation = debounceAsync(_validateSchema, 5);
|
|
2332
|
-
const debouncedValidation = debounceAsync(_validateSchema, 5);
|
|
2333
|
-
async function validateSchema(mode) {
|
|
2334
|
-
const formResult = await (mode === 'silent' ? debouncedSilentValidation() : debouncedValidation());
|
|
2335
|
-
// fields by id lookup
|
|
2336
|
-
const fieldsById = formCtx.fieldsByPath.value || {};
|
|
2337
|
-
// errors fields names, we need it to also check if custom errors are updated
|
|
2338
|
-
const currentErrorsPaths = keysOf(formCtx.errorBag.value);
|
|
2339
|
-
// collect all the keys from the schema and all fields
|
|
2340
|
-
// this ensures we have a complete keymap of all the fields
|
|
2341
|
-
const paths = [
|
|
2342
|
-
...new Set([...keysOf(formResult.results), ...keysOf(fieldsById), ...currentErrorsPaths]),
|
|
2343
|
-
];
|
|
2344
|
-
// aggregates the paths into a single result object while applying the results on the fields
|
|
2345
|
-
return paths.reduce((validation, path) => {
|
|
2346
|
-
const field = fieldsById[path];
|
|
2347
|
-
const messages = (formResult.results[path] || { errors: [] }).errors;
|
|
2348
|
-
const fieldResult = {
|
|
2349
|
-
errors: messages,
|
|
2350
|
-
valid: !messages.length,
|
|
2351
|
-
};
|
|
2352
|
-
validation.results[path] = fieldResult;
|
|
2353
|
-
if (!fieldResult.valid) {
|
|
2354
|
-
validation.errors[path] = fieldResult.errors[0];
|
|
2355
|
-
}
|
|
2356
|
-
// field not rendered
|
|
2357
|
-
if (!field) {
|
|
2358
|
-
setFieldError(path, messages);
|
|
2359
|
-
return validation;
|
|
2360
|
-
}
|
|
2361
|
-
// always update the valid flag regardless of the mode
|
|
2362
|
-
applyFieldMutation(field, f => (f.meta.valid = fieldResult.valid));
|
|
2363
|
-
if (mode === 'silent') {
|
|
2364
|
-
return validation;
|
|
2365
|
-
}
|
|
2366
|
-
const wasValidated = Array.isArray(field) ? field.some(f => f.meta.validated) : field.meta.validated;
|
|
2367
|
-
if (mode === 'validated-only' && !wasValidated) {
|
|
2368
|
-
return validation;
|
|
2369
|
-
}
|
|
2370
|
-
applyFieldMutation(field, f => f.setState({ errors: fieldResult.errors }));
|
|
2371
|
-
return validation;
|
|
2372
|
-
}, { valid: formResult.valid, results: {}, errors: {} });
|
|
2373
|
-
}
|
|
2374
2388
|
const submitForm = handleSubmit((_, { evt }) => {
|
|
2375
2389
|
if (isFormSubmitEvent(evt)) {
|
|
2376
2390
|
evt.target.submit();
|
package/dist/vee-validate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.6.
|
|
2
|
+
* vee-validate v4.6.7
|
|
3
3
|
* (c) 2022 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -329,6 +329,20 @@
|
|
|
329
329
|
return toNumber(value);
|
|
330
330
|
}
|
|
331
331
|
return value;
|
|
332
|
+
}
|
|
333
|
+
function withLatest(fn, onDone) {
|
|
334
|
+
let latestRun;
|
|
335
|
+
return async function runLatest(...args) {
|
|
336
|
+
const pending = fn(...args);
|
|
337
|
+
latestRun = pending;
|
|
338
|
+
const result = await pending;
|
|
339
|
+
if (pending !== latestRun) {
|
|
340
|
+
return result;
|
|
341
|
+
}
|
|
342
|
+
latestRun = undefined;
|
|
343
|
+
onDone(result, args);
|
|
344
|
+
return result;
|
|
345
|
+
};
|
|
332
346
|
}
|
|
333
347
|
|
|
334
348
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1021,10 +1035,11 @@
|
|
|
1021
1035
|
bails,
|
|
1022
1036
|
});
|
|
1023
1037
|
}
|
|
1024
|
-
|
|
1038
|
+
const validateWithStateMutation = withLatest(async () => {
|
|
1025
1039
|
meta.pending = true;
|
|
1026
1040
|
meta.validated = true;
|
|
1027
|
-
|
|
1041
|
+
return validateCurrentValue('validated-only');
|
|
1042
|
+
}, result => {
|
|
1028
1043
|
if (markedForRemoval) {
|
|
1029
1044
|
result.valid = true;
|
|
1030
1045
|
result.errors = [];
|
|
@@ -1032,23 +1047,21 @@
|
|
|
1032
1047
|
setState({ errors: result.errors });
|
|
1033
1048
|
meta.pending = false;
|
|
1034
1049
|
return result;
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
|
|
1050
|
+
});
|
|
1051
|
+
const validateValidStateOnly = withLatest(async () => {
|
|
1052
|
+
return validateCurrentValue('silent');
|
|
1053
|
+
}, result => {
|
|
1038
1054
|
if (markedForRemoval) {
|
|
1039
1055
|
result.valid = true;
|
|
1040
1056
|
}
|
|
1041
1057
|
meta.valid = result.valid;
|
|
1042
1058
|
return result;
|
|
1043
|
-
}
|
|
1059
|
+
});
|
|
1044
1060
|
function validate$1(opts) {
|
|
1045
|
-
if (
|
|
1046
|
-
return
|
|
1047
|
-
}
|
|
1048
|
-
if ((opts === null || opts === void 0 ? void 0 : opts.mode) === 'validated-only') {
|
|
1049
|
-
return validateWithStateMutation();
|
|
1061
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.mode) === 'silent') {
|
|
1062
|
+
return validateValidStateOnly();
|
|
1050
1063
|
}
|
|
1051
|
-
return
|
|
1064
|
+
return validateWithStateMutation();
|
|
1052
1065
|
}
|
|
1053
1066
|
// Common input/change event handler
|
|
1054
1067
|
function handleChange(e, shouldValidate = true) {
|
|
@@ -1536,6 +1549,54 @@
|
|
|
1536
1549
|
// form meta aggregations
|
|
1537
1550
|
const meta = useFormMeta(fieldsByPath, formValues, originalInitialValues, errors);
|
|
1538
1551
|
const schema = opts === null || opts === void 0 ? void 0 : opts.validationSchema;
|
|
1552
|
+
/**
|
|
1553
|
+
* Batches validation runs in 5ms batches
|
|
1554
|
+
* Must have two distinct batch queues to make sure they don't override each other settings #3783
|
|
1555
|
+
*/
|
|
1556
|
+
const debouncedSilentValidation = debounceAsync(_validateSchema, 5);
|
|
1557
|
+
const debouncedValidation = debounceAsync(_validateSchema, 5);
|
|
1558
|
+
const validateSchema = withLatest(async (mode) => {
|
|
1559
|
+
return (await mode) === 'silent' ? debouncedSilentValidation() : debouncedValidation();
|
|
1560
|
+
}, (formResult, [mode]) => {
|
|
1561
|
+
// fields by id lookup
|
|
1562
|
+
const fieldsById = formCtx.fieldsByPath.value || {};
|
|
1563
|
+
// errors fields names, we need it to also check if custom errors are updated
|
|
1564
|
+
const currentErrorsPaths = keysOf(formCtx.errorBag.value);
|
|
1565
|
+
// collect all the keys from the schema and all fields
|
|
1566
|
+
// this ensures we have a complete keymap of all the fields
|
|
1567
|
+
const paths = [
|
|
1568
|
+
...new Set([...keysOf(formResult.results), ...keysOf(fieldsById), ...currentErrorsPaths]),
|
|
1569
|
+
];
|
|
1570
|
+
// aggregates the paths into a single result object while applying the results on the fields
|
|
1571
|
+
return paths.reduce((validation, path) => {
|
|
1572
|
+
const field = fieldsById[path];
|
|
1573
|
+
const messages = (formResult.results[path] || { errors: [] }).errors;
|
|
1574
|
+
const fieldResult = {
|
|
1575
|
+
errors: messages,
|
|
1576
|
+
valid: !messages.length,
|
|
1577
|
+
};
|
|
1578
|
+
validation.results[path] = fieldResult;
|
|
1579
|
+
if (!fieldResult.valid) {
|
|
1580
|
+
validation.errors[path] = fieldResult.errors[0];
|
|
1581
|
+
}
|
|
1582
|
+
// field not rendered
|
|
1583
|
+
if (!field) {
|
|
1584
|
+
setFieldError(path, messages);
|
|
1585
|
+
return validation;
|
|
1586
|
+
}
|
|
1587
|
+
// always update the valid flag regardless of the mode
|
|
1588
|
+
applyFieldMutation(field, f => (f.meta.valid = fieldResult.valid));
|
|
1589
|
+
if (mode === 'silent') {
|
|
1590
|
+
return validation;
|
|
1591
|
+
}
|
|
1592
|
+
const wasValidated = Array.isArray(field) ? field.some(f => f.meta.validated) : field.meta.validated;
|
|
1593
|
+
if (mode === 'validated-only' && !wasValidated) {
|
|
1594
|
+
return validation;
|
|
1595
|
+
}
|
|
1596
|
+
applyFieldMutation(field, f => f.setState({ errors: fieldResult.errors }));
|
|
1597
|
+
return validation;
|
|
1598
|
+
}, { valid: formResult.valid, results: {}, errors: {} });
|
|
1599
|
+
});
|
|
1539
1600
|
const formCtx = {
|
|
1540
1601
|
formId,
|
|
1541
1602
|
fieldsByPath,
|
|
@@ -1937,53 +1998,6 @@
|
|
|
1937
1998
|
});
|
|
1938
1999
|
return formResult;
|
|
1939
2000
|
}
|
|
1940
|
-
/**
|
|
1941
|
-
* Batches validation runs in 5ms batches
|
|
1942
|
-
* Must have two distinct batch queues to make sure they don't override each other settings #3783
|
|
1943
|
-
*/
|
|
1944
|
-
const debouncedSilentValidation = debounceAsync(_validateSchema, 5);
|
|
1945
|
-
const debouncedValidation = debounceAsync(_validateSchema, 5);
|
|
1946
|
-
async function validateSchema(mode) {
|
|
1947
|
-
const formResult = await (mode === 'silent' ? debouncedSilentValidation() : debouncedValidation());
|
|
1948
|
-
// fields by id lookup
|
|
1949
|
-
const fieldsById = formCtx.fieldsByPath.value || {};
|
|
1950
|
-
// errors fields names, we need it to also check if custom errors are updated
|
|
1951
|
-
const currentErrorsPaths = keysOf(formCtx.errorBag.value);
|
|
1952
|
-
// collect all the keys from the schema and all fields
|
|
1953
|
-
// this ensures we have a complete keymap of all the fields
|
|
1954
|
-
const paths = [
|
|
1955
|
-
...new Set([...keysOf(formResult.results), ...keysOf(fieldsById), ...currentErrorsPaths]),
|
|
1956
|
-
];
|
|
1957
|
-
// aggregates the paths into a single result object while applying the results on the fields
|
|
1958
|
-
return paths.reduce((validation, path) => {
|
|
1959
|
-
const field = fieldsById[path];
|
|
1960
|
-
const messages = (formResult.results[path] || { errors: [] }).errors;
|
|
1961
|
-
const fieldResult = {
|
|
1962
|
-
errors: messages,
|
|
1963
|
-
valid: !messages.length,
|
|
1964
|
-
};
|
|
1965
|
-
validation.results[path] = fieldResult;
|
|
1966
|
-
if (!fieldResult.valid) {
|
|
1967
|
-
validation.errors[path] = fieldResult.errors[0];
|
|
1968
|
-
}
|
|
1969
|
-
// field not rendered
|
|
1970
|
-
if (!field) {
|
|
1971
|
-
setFieldError(path, messages);
|
|
1972
|
-
return validation;
|
|
1973
|
-
}
|
|
1974
|
-
// always update the valid flag regardless of the mode
|
|
1975
|
-
applyFieldMutation(field, f => (f.meta.valid = fieldResult.valid));
|
|
1976
|
-
if (mode === 'silent') {
|
|
1977
|
-
return validation;
|
|
1978
|
-
}
|
|
1979
|
-
const wasValidated = Array.isArray(field) ? field.some(f => f.meta.validated) : field.meta.validated;
|
|
1980
|
-
if (mode === 'validated-only' && !wasValidated) {
|
|
1981
|
-
return validation;
|
|
1982
|
-
}
|
|
1983
|
-
applyFieldMutation(field, f => f.setState({ errors: fieldResult.errors }));
|
|
1984
|
-
return validation;
|
|
1985
|
-
}, { valid: formResult.valid, results: {}, errors: {} });
|
|
1986
|
-
}
|
|
1987
2001
|
const submitForm = handleSubmit((_, { evt }) => {
|
|
1988
2002
|
if (isFormSubmitEvent(evt)) {
|
|
1989
2003
|
evt.target.submit();
|
package/dist/vee-validate.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.6.
|
|
2
|
+
* vee-validate v4.6.7
|
|
3
3
|
* (c) 2022 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 u(e){return Number(e)>=0}const i={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value");function d(e){return r(e)&&!!e.__locatorRef}function c(e){return!!e&&r(e.validate)}function f(e){return"checkbox"===e||"radio"===e}function v(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function p(e){return/^\[.+\]$/i.test(e)}function m(e){return"SELECT"===e.tagName}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)&&"file"!==t.type&&!f(t.type)}function y(e){return g(e)&&e.target&&"submit"in e.target}function g(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function b(e,t){return t in e&&e[t]!==s}var O=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,u;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.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=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};function V(e){return p(e)?e.replace(/\[|\]/gi,""):e}function F(e,t,r){if(!e)return r;if(p(t))return e[V(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 A(e,t,r){if(p(t))return void(e[V(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(i[a[e]]=r);a[e]in i&&!n(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function j(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function w(e,t){if(p(t))return void delete e[V(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<r.length;e++){if(e===r.length-1){j(a,r[e]);break}if(!(r[e]in a)||n(a[r[e]]))break;a=a[r[e]]}const u=r.map(((t,n)=>F(e,r.slice(0,n).join("."))));for(let t=u.length-1;t>=0;t--)v(u[t])&&(0!==t?j(u[t-1],r[t-1]):j(e,r[0]))}function E(e){return Object.keys(e)}function S(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function k(e){t.warn(`[vee-validate]: ${e}`)}function B(e){return Array.isArray(e)?e[0]:e}function I(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.findIndex((e=>O(e,t)));return n>=0?r.splice(n,1):r.push(t),r}return O(e,t)?r:t}function M(e,t=0){let r=null,n=[];return function(...a){return r&&window.clearTimeout(r),r=window.setTimeout((()=>{const t=e(...a);n.forEach((e=>e(t))),n=[]}),t),new Promise((e=>n.push(e)))}}function T(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}const C=(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 R(e){if(x(e))return e._value}function x(e){return"_value"in e}function P(e){if(!g(e))return e;const t=e.target;if(f(t.type)&&x(t))return R(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(m(r=t)&&r.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(R);var r;if(m(t)){const e=Array.from(t.options).find((e=>e.selected));return e?R(e):t.value}return t.value}function N(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]=_(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=U(t);return r.name?(e[r.name]=_(r.params),e):e}),t):t}function _(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>F(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 U=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=()=>$,q=e=>{$=Object.assign(Object.assign({},$),e)};async function z(e,t,n={}){const a=null==n?void 0:n.bails,u={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},i=await async function(e,t){if(c(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)||Array.isArray(e.rules)){const r={field:e.name,form:e.formData,value:t},n=Array.isArray(e.rules)?e.rules:[e.rules],a=n.length,u=[];for(let i=0;i<a;i++){const a=n[i],o=await a(t,r);if("string"!=typeof o&&o)continue;const l="string"==typeof o?o:K(r);if(u.push(l),e.bails)return{errors:u}}return{errors:u}}const n=Object.assign(Object.assign({},e),{rules:N(e.rules)}),a=[],u=Object.keys(n.rules),i=u.length;for(let r=0;r<i;r++){const i=u[r],o=await L(n,t,{name:i,params:n.rules[i]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(u,e),o=i.errors;return{errors:o,valid:!o.length}}async function L(e,t,r){const n=(a=r.name,i[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const u=function(e,t){const r=e=>d(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:u})},l=await n(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:K(o)}}function K(e){const t=D().generateMessage;return t?t(e):"Field is invalid"}async function G(e,t,r){const n=E(e).map((async n=>{var a,u,i;const o=await z(F(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===(i=null===(u=null==r?void 0:r.bailsMap)||void 0===u?void 0:u[n])||void 0===i||i});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const u=await Promise.all(n),i={},o={};for(const e of u)i[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:i,errors:o}}function X(e,t,r){"object"==typeof r.value&&(r.value=H(r.value)),r.enumerable&&!r.get&&!r.set&&r.configurable&&r.writable&&"__proto__"!==t?e[t]=r.value:Object.defineProperty(e,t,r)}function H(e){if("object"!=typeof e)return e;var t,r,n,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?n=Object.create(e.__proto__||null):"[object Array]"===u?n=Array(e.length):"[object Set]"===u?(n=new Set,e.forEach((function(e){n.add(H(e))}))):"[object Map]"===u?(n=new Map,e.forEach((function(e,t){n.set(H(t),H(e))}))):"[object Date]"===u?n=new Date(+e):"[object RegExp]"===u?n=new RegExp(e.source,e.flags):"[object DataView]"===u?n=new e.constructor(H(e.buffer)):"[object ArrayBuffer]"===u?n=e.slice(0):"Array]"===u.slice(-6)&&(n=new e.constructor(e)),n){for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)X(n,r[a],Object.getOwnPropertyDescriptor(e,r[a]));for(a=0,r=Object.getOwnPropertyNames(e);a<r.length;a++)Object.hasOwnProperty.call(n,t=r[a])&&n[t]===e[t]||X(n,t,Object.getOwnPropertyDescriptor(e,t))}return n||e}var J=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,u;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=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};let Q=0;function W(e,r){const{value:n,initialValue:a,setInitialValue:u}=Y(e,r.modelValue,!r.standalone),{errorMessage:i,errors:l,setErrors:s}=function(e,r){const n=r?S(o,void 0):void 0;function a(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=a(t)}}}const u=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:u,errorMessage:t.computed((()=>u.value[0])),setErrors:r=>{n.setFieldErrorBag(t.unref(e),a(r))}}}(e,!r.standalone),d=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(r))),dirty:t.computed((()=>!J(t.unref(e),t.unref(r))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(n,a,l);return{id:Q>=Number.MAX_SAFE_INTEGER?0:++Q,path:e,value:n,initialValue:a,meta:d,errors:l,errorMessage:i,setState:function(e){var t;"value"in e&&(n.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(d.touched=null!==(t=e.touched)&&void 0!==t?t:d.touched),"initialValue"in e&&u(e.initialValue)}}}function Y(e,r,n=!0){const a=!0===n?S(o,void 0):void 0,u=t.ref(t.unref(r));function i(){return a?F(a.meta.value.initialValues,t.unref(e),t.unref(u)):t.unref(u)}function l(r){a?a.stageInitialValue(t.unref(e),r,!0):u.value=r}const s=t.computed(i);if(!a){return{value:t.ref(i()),initialValue:s,setInitialValue:l}}const d=r?t.unref(r):F(a.values,t.unref(e),t.unref(s));a.stageInitialValue(t.unref(e),d,!0);return{value:t.computed({get:()=>F(a.values,t.unref(e)),set(r){a.setFieldValue(t.unref(e),r)}}),initialValue:s,setInitialValue:l}}function Z(e,r,n){return f(null==n?void 0:n.type)?function(e,r,n){const a=(null==n?void 0:n.standalone)?void 0:S(o),u=null==n?void 0:n.checkedValue,i=null==n?void 0:n.uncheckedValue;function l(e){const r=e.handleChange,n=t.computed((()=>{const r=t.unref(e.value),n=t.unref(u);return Array.isArray(r)?r.findIndex((e=>J(e,n)))>=0:J(n,r)}));function o(o,l=!0){var s;if(n.value===(null===(s=null==o?void 0:o.target)||void 0===s?void 0:s.checked))return;let d=P(o);a||(d=I(t.unref(e.value),t.unref(u),t.unref(i))),r(d,l)}return Object.assign(Object.assign({},e),{checked:n,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(ee(e,r,n))}(e,r,n):ee(e,r,n)}function ee(e,n,a){const{initialValue:u,validateOnMount:i,bails:f,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,standalone:g,keepValueOnUnmount:b,modelPropName:O,syncVModel:V}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0,standalone:!1,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!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),A=g?void 0:S(o);let j=!1;const{id:w,value:k,initialValue:B,meta:I,setState:M,errors:C,errorMessage:R}=W(e,{modelValue:u,standalone:g});V&&function({prop:e,value:r,handleChange:n}){const a=t.getCurrentInstance();if(!a)return;const u=e||"modelValue",i=`update:${u}`;if(!(u in a.props))return;t.watch(r,(e=>{J(e,te(a,u))||a.emit(i,e)})),t.watch((()=>te(a,u)),(e=>{if(e===s&&void 0===r.value)return;const t=e===s?void 0:e;J(t,T(r.value,a.props.modelModifiers))||n(t)}))}({value:k,prop:O,handleChange:D});const x=t.computed((()=>{let a=t.unref(n);const u=t.unref(null==A?void 0:A.schema);return u&&!c(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),c(a)||r(a)||Array.isArray(a)?a:N(a)}));async function _(r){var n,a;return(null==A?void 0:A.validateSchema)?null!==(n=(await A.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:z(k.value,x.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==A?void 0:A.values)&&void 0!==a?a:{},bails:f})}async function U(){I.pending=!0,I.validated=!0;const e=await _("validated-only");return j&&(e.valid=!0,e.errors=[]),M({errors:e.errors}),I.pending=!1,e}async function $(){const e=await _("silent");return j&&(e.valid=!0),I.valid=e.valid,e}function D(e,t=!0){const r=P(e);k.value=r,!h&&t&&U()}let q;function L(){q=t.watch(k,((e,t)=>{if(J(e,t))return;(h?U:$)()}),{deep:!0})}function K(e){var r;null==q||q();const n=e&&"value"in e?e.value:B.value;M({value:H(n),initialValue:H(n),touched:null!==(r=null==e?void 0:e.touched)&&void 0!==r&&r,errors:(null==e?void 0:e.errors)||[]}),I.pending=!1,I.validated=!1,$(),t.nextTick((()=>{L()}))}t.onMounted((()=>{if(i)return U();A&&A.validateSchema||$()})),L();const G={id:w,name:e,label:m,value:k,meta:I,errors:C,errorMessage:R,type:v,checkedValue:p,uncheckedValue:y,bails:f,keepValueOnUnmount:b,resetField:K,handleReset:()=>K(),validate:function(e){return(null==e?void 0:e.mode)&&"force"!==(null==e?void 0:e.mode)?"validated-only"===(null==e?void 0:e.mode)?U():$():U()},handleChange:D,handleBlur:()=>{I.touched=!0},setState:M,setTouched:function(e){I.touched=e},setErrors:function(e){M({errors:Array.isArray(e)?e:[e]})},setValue:function(e){k.value=e}};if(t.provide(l,G),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{J(e,t)||(I.validated?U():$())}),{deep:!0}),!A)return G;A.register(G),t.onBeforeUnmount((()=>{j=!0,A.unregister(G)}));const X=t.computed((()=>{const e=x.value;return!e||r(e)||c(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(d):E(a).filter((e=>d(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=F(A.values,t)||A.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(X,((e,t)=>{if(!Object.keys(e).length)return;!J(e,t)&&(I.validated?U():$())})),G}function te(e,t){return e.props[t]}function re(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function ne(e,t){return f(t.attrs.type)?b(e,"modelValue")?e.modelValue:void 0:b(e,"modelValue")?e.modelValue:t.attrs.value}const ae=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:()=>D().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},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 n=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:l,value:s,errorMessage:d,validate:c,handleChange:v,handleBlur:p,setTouched:m,resetField:y,handleReset:g,meta:b,checked:O,setErrors:V}=Z(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:ne(e,r),checkedValue:r.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1,keepValueOnUnmount:o}),F=function(e,t=!0){v(e,t),r.emit("update:modelValue",s.value)},A=function(e){(e=>{f(r.attrs.type)||(s.value=P(e))})(e),r.emit("update:modelValue",s.value)},j=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,r,n,a;const{validateOnInput:u,validateOnChange:i,validateOnBlur:o,validateOnModelUpdate:l}=D();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:i,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[p,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>F(e,t),r.attrs.onInput].filter(Boolean),l=[e=>F(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:i,onInput:o,onChange:l,"onUpdate:modelValue":e=>F(e,u)};f(r.attrs.type)&&O&&(d.checked=O.value);return h(re(e,r),r.attrs)&&(d.value=s.value),d}));function w(){return{field:j.value,value:s.value,meta:b,errors:l.value,errorMessage:d.value,validate:c,resetField:y,handleChange:F,handleInput:A,handleReset:g,handleBlur:p,setTouched:m,setErrors:V}}return r.expose({setErrors:V,setTouched:m,reset:y,validate:c,handleChange:v}),()=>{const n=t.resolveDynamicComponent(re(e,r)),a=C(n,r,w);return n?t.h(n,Object.assign(Object.assign({},r.attrs),j.value),a):a}}});let ue=0;function ie(e){var r;const n=ue++;let a=!1;const u=t.ref({}),i=t.ref(!1),l=t.ref(0),s=[],d=t.reactive(H(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:f,setErrorBag:p,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 u(e){r.value=E(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&u(e);return{errorBag:r,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),h=t.computed((()=>E(f.value).reduce(((e,t)=>{const r=f.value[t];return r&&r.length&&(e[t]=r[0]),e}),{})));function g(e){const t=u.value[e];return Array.isArray(t)?t[0]:t}function b(e){return!!u.value[e]}const O=t.computed((()=>E(u.value).reduce(((e,r)=>{const n=g(r);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),V=t.computed((()=>E(u.value).reduce(((e,t)=>{var r;const n=g(t);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),S=null!==(r=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==r&&r,{initialValues:k,originalInitialValues:B,setInitialValues:T}=function(e,r,n){const a=t.ref(H(t.unref(n))||{}),u=t.ref(H(t.unref(n))||{});function i(t,n=!1){a.value=H(t),u.value=H(t),n&&E(e.value).forEach((t=>{const n=e.value[t],u=Array.isArray(n)?n.some((e=>e.meta.touched)):null==n?void 0:n.meta.touched;if(!n||u)return;const i=F(a.value,t);A(r,t,H(i))}))}t.isRef(n)&&t.watch(n,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(u,d,null==e?void 0:e.initialValues),C=function(e,r,n,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!J(r,t.unref(n))));function o(){const t=Object.values(e.value).flat(1).filter(Boolean);return E(u).reduce(((e,r)=>{const n=u[r];return e[r]=t[n]((e=>e.meta[r])),e}),{})}const l=t.reactive(o());return t.watchEffect((()=>{const e=o();l.touched=e.touched,l.valid=e.valid,l.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(n)},l),{valid:l.valid&&!E(a.value).length,dirty:i.value})))}(u,d,B,h),R=null==e?void 0:e.validationSchema,x={formId:n,fieldsByPath:u,values:d,errorBag:f,errors:h,schema:R,submitCount:l,meta:C,isSubmitting:i,fieldArrays:s,keepValuesOnUnmount:S,validateSchema:t.unref(R)?async function(e){const t=await("silent"===e?ie():oe()),r=x.fieldsByPath.value||{},n=E(x.errorBag.value);return[...new Set([...E(t.results),...E(r),...n])].reduce(((n,a)=>{const u=r[a],i=(t.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(n.results[a]=o,o.valid||(n.errors[a]=o.errors[0]),!u)return U(a,i),n;if(N(u,(e=>e.meta.valid=o.valid)),"silent"===e)return n;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==e||l?(N(u,(e=>e.setState({errors:o.errors}))),n):n}),{valid:t.valid,results:{},errors:{}})}:void 0,validate:ee,register:function(e){const r=t.unref(e.name);W(e,r),t.isRef(e.name)&&t.watch(e.name,(async(r,n)=>{await t.nextTick(),Z(e,n),W(e,r),(h.value[n]||h.value[r])&&(U(n,void 0),te(r)),await t.nextTick(),b(n)||w(d,n)}));const n=t.unref(e.errorMessage);n&&(null==j?void 0:j[r])!==n&&te(r);delete j[r]},unregister:function(e){const r=t.unref(e.name),n=u.value[r],a=!!n&&P(n);Z(e,r),t.nextTick((()=>{var i;const o=null!==(i=t.unref(e.keepValueOnUnmount))&&void 0!==i?i:t.unref(S),l=F(d,r);if(a&&(n===u.value[r]||!u.value[r])&&Array.isArray(l)&&!o){const n=l.findIndex((r=>J(r,t.unref(e.checkedValue))));if(n>-1){const e=[...l];e.splice(n,1),D(r,e,{force:!0})}}if(!b(r)){if(U(r,void 0),o)return;if(a&&!v(F(d,r)))return;w(d,r)}}))},setFieldErrorBag:m,validateField:te,setFieldValue:D,setValues:q,setErrors:$,setFieldError:U,setFieldTouched:K,setTouched:X,resetForm:Q,handleSubmit:re,stageInitialValue:function(t,r,n=!1){A(d,t,r),ne(t,r),n&&!(null==e?void 0:e.initialValues)&&A(B.value,t,H(r))},unsetInitialValue:function(e){w(k.value,e)},setFieldInitialValue:ne,useFieldModel:L};function P(e){return Array.isArray(e)}function N(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function _(e){Object.values(u.value).forEach((t=>{t&&N(t,e)}))}function U(e,t){m(e,t)}function $(e){p(e)}function D(e,r,{force:n}={force:!1}){var i;const o=u.value[e],l=H(r);if(!o)return void A(d,e,l);if(P(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=H(I(F(d,e)||[],r,void 0));return void A(d,e,t)}let s=r;P(o)||"checkbox"!==o.type||n||a||(s=H(I(F(d,e),r,t.unref(o.uncheckedValue)))),A(d,e,s)}function q(e){E(d).forEach((e=>{delete d[e]})),E(e).forEach((t=>{D(t,e[t])})),s.forEach((e=>e&&e.reset()))}function z(e){const{value:r}=Y(e);return t.watch(r,(()=>{b(t.unref(e))||ee({mode:"validated-only"})}),{deep:!0}),r}function L(e){return Array.isArray(e)?e.map(z):z(e)}function K(e,t){const r=u.value[e];r&&N(r,(e=>e.setTouched(t)))}function X(e){E(e).forEach((t=>{K(t,!!e[t])}))}function Q(e){a=!0,(null==e?void 0:e.values)?(T(e.values),q(null==e?void 0:e.values)):(T(B.value),q(B.value)),_((e=>e.resetField())),(null==e?void 0:e.touched)&&X(e.touched),$((null==e?void 0:e.errors)||{}),l.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{a=!1}))}function W(e,r){const n=t.markRaw(e),a=r;if(!u.value[a])return void(u.value[a]=n);const i=u.value[a];i&&!Array.isArray(i)&&(u.value[a]=[i]),u.value[a]=[...u.value[a],n]}function Z(e,t){const r=t,n=u.value[r];if(n)if(P(n)||e.id!==n.id){if(P(n)){const t=n.findIndex((t=>t.id===e.id));if(-1===t)return;n.splice(t,1),n.length||delete u.value[r]}}else delete u.value[r]}async function ee(e){if(_((e=>e.meta.validated=!0)),x.validateSchema)return x.validateSchema((null==e?void 0:e.mode)||"force");const r=await Promise.all(Object.values(u.value).map((r=>{const n=Array.isArray(r)?r[0]:r;return n?n.validate(e).then((e=>({key:t.unref(n.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),n={},a={};for(const e of r)n[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(a[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:n,errors:a}}async function te(e){const r=u.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 re(e,t){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),X(E(u.value).reduce(((e,t)=>(e[t]=!0,e)),{})),i.value=!0,l.value++,ee().then((n=>{if(n.valid&&"function"==typeof e)return e(H(d),{evt:r,setErrors:$,setFieldError:U,setTouched:X,setFieldTouched:K,setValues:q,setFieldValue:D,resetForm:Q});n.valid||"function"!=typeof t||t({values:H(d),evt:r,errors:n.errors,results:n.results})})).then((e=>(i.value=!1,e)),(e=>{throw i.value=!1,e}))}}function ne(e,t){A(k.value,e,H(t))}async function ae(){const e=t.unref(R);if(!e)return{valid:!0,results:{},errors:{}};const r=c(e)?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}}(e,d):await G(e,d,{names:O.value,bailsMap:V.value});return r}const ie=M(ae,5),oe=M(ae,5);const le=re(((e,{evt:t})=>{y(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&$(e.initialErrors),(null==e?void 0:e.initialTouched)&&X(e.initialTouched),(null==e?void 0:e.validateOnMount)?ee():x.validateSchema&&x.validateSchema("silent")})),t.isRef(R)&&t.watch(R,(()=>{var e;null===(e=x.validateSchema)||void 0===e||e.call(x,"validated-only")})),t.provide(o,x),{errors:h,meta:C,values:d,isSubmitting:i,submitCount:l,validate:ee,validateField:te,handleReset:()=>Q(),resetForm:Q,handleSubmit:re,submitForm:le,setFieldError:U,setErrors:$,setFieldValue:D,setValues:q,setFieldTouched:K,setTouched:X,useFieldModel:L}}const oe=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},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),u=t.toRef(e,"keepValues"),{errors:i,values:o,meta:l,isSubmitting:s,submitCount:d,validate:c,validateField:f,handleReset:v,resetForm:p,handleSubmit:m,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A}=ie({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:u}),j=m(((e,{evt:t})=>{y(t)&&t.target.submit()}),e.onInvalidSubmit),w=e.onSubmit?m(e.onSubmit,e.onInvalidSubmit):j;function E(e){g(e)&&e.preventDefault(),v(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function S(t,r){return m("function"!=typeof t||r?r:t,e.onInvalidSubmit)(t)}function k(){return{meta:l.value,errors:i.value,values:o,isSubmitting:s.value,submitCount:d.value,validate:c,validateField:f,handleSubmit:S,handleReset:v,submitForm:j,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p}}return r.expose({setFieldError:b,setErrors:h,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p,validate:c,validateField:f}),function(){const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=C(n,r,k);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},u),r.attrs),{onSubmit:w,onReset:E}),a)}}}),le=oe;function se(e){const r=S(o,void 0),a=t.ref([]),u=()=>{},i={fields:a,remove:u,push:u,swap:u,insert:u,update:u,replace:u,prepend:u,move:u};if(!r)return k("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),i;if(!t.unref(e))return k("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),i;const l=r.fieldArrays.find((r=>t.unref(r.path)===t.unref(e)));if(l)return l;let s=0;function d(){const n=F(null==r?void 0:r.values,t.unref(e),[])||[];a.value=n.map(f),c()}function c(){const e=a.value.length;for(let t=0;t<e;t++){const r=a.value[t];r.isFirst=0===t,r.isLast=t===e-1}}function f(n){const u=s++,i={key:u,value:t.computed({get(){const i=F(null==r?void 0:r.values,t.unref(e),[])||[],o=a.value.findIndex((e=>e.key===u));return-1===o?n:i[o]},set(e){const t=a.value.findIndex((e=>e.key===u));-1!==t?v(t,e):k("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return i}function v(n,a){const u=t.unref(e),i=F(null==r?void 0:r.values,u);!Array.isArray(i)||i.length-1<n||null==r||r.setFieldValue(`${u}[${n}]`,a)}d();const p={fields:a,remove:function(n){const u=t.unref(e),i=F(null==r?void 0:r.values,u);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(n,1),null==r||r.unsetInitialValue(u+`[${n}]`),null==r||r.setFieldValue(u,o),a.value.splice(n,1),c()},push:function(u){const i=t.unref(e),o=F(null==r?void 0:r.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(u),null==r||r.stageInitialValue(i+`[${s.length-1}]`,u),null==r||r.setFieldValue(i,s),a.value.push(f(u)),c()},swap:function(n,u){const i=t.unref(e),o=F(null==r?void 0:r.values,i);if(!Array.isArray(o)||!(n in o)||!(u in o))return;const l=[...o],s=[...a.value],d=l[n];l[n]=l[u],l[u]=d;const f=s[n];s[n]=s[u],s[u]=f,null==r||r.setFieldValue(i,l),a.value=s,c()},insert:function(n,u){const i=t.unref(e),o=F(null==r?void 0:r.values,i);if(!Array.isArray(o)||o.length<n)return;const l=[...o],s=[...a.value];l.splice(n,0,u),s.splice(n,0,f(u)),null==r||r.setFieldValue(i,l),a.value=s,c()},update:v,replace:function(n){const a=t.unref(e);null==r||r.setFieldValue(a,n),d()},prepend:function(u){const i=t.unref(e),o=F(null==r?void 0:r.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[u,...l];null==r||r.stageInitialValue(i+`[${s.length-1}]`,u),null==r||r.setFieldValue(i,s),a.value.unshift(f(u)),c()},move:function(u,i){const o=t.unref(e),l=F(null==r?void 0:r.values,o),s=n(l)?[]:[...l];if(!Array.isArray(l)||!(u in l)||!(i in l))return;const d=[...a.value],f=d[u];d.splice(u,1),d.splice(i,0,f);const v=s[u];s.splice(u,1),s.splice(i,0,v),null==r||r.setFieldValue(o,s),a.value=d,c()}};return r.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const n=r.fieldArrays.findIndex((r=>t.unref(r.path)===t.unref(e)));n>=0&&r.fieldArrays.splice(n,1)})),p}const de=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,r){const{push:n,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,move:d,fields:c}=se(t.toRef(e,"name"));function f(){return{fields:c.value,push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}}return r.expose({push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}),()=>C(void 0,r,f)}}),ce=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(o,void 0),a=t.computed((()=>null==n?void 0:n.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,i=C(n,r,u),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(n,o,i):t.h(n||"span",o,a.value):i}}});e.ErrorMessage=ce,e.Field=ae,e.FieldArray=de,e.FieldContextKey=l,e.Form=le,e.FormContextKey=o,e.IS_ABSENT=s,e.configure=q,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),i[e]=t},e.useField=Z,e.useFieldArray=se,e.useFieldError=function(e){const r=S(o),n=e?void 0:t.inject(l);return t.computed((()=>e?null==r?void 0:r.errors.value[t.unref(e)]:null==n?void 0:n.errorMessage.value))},e.useFieldValue=function(e){const r=S(o),n=e?void 0:t.inject(l);return t.computed((()=>e?F(null==r?void 0:r.values,t.unref(e)):t.unref(null==n?void 0:n.value)))},e.useForm=ie,e.useFormErrors=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=S(o);return e||k("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=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.dirty:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.touched:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.valid:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);t||k("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=S(o);let n=e?void 0:t.inject(l);return function(){return e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.validate():(k(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=S(o);return e||k("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=z,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 u(e){return Number(e)>=0}const i={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value");function d(e){return r(e)&&!!e.__locatorRef}function c(e){return!!e&&r(e.validate)}function f(e){return"checkbox"===e||"radio"===e}function v(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function p(e){return/^\[.+\]$/i.test(e)}function m(e){return"SELECT"===e.tagName}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)&&"file"!==t.type&&!f(t.type)}function y(e){return g(e)&&e.target&&"submit"in e.target}function g(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function b(e,t){return t in e&&e[t]!==s}var O=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,u;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.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=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};function V(e){return p(e)?e.replace(/\[|\]/gi,""):e}function F(e,t,r){if(!e)return r;if(p(t))return e[V(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 A(e,t,r){if(p(t))return void(e[V(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(i[a[e]]=r);a[e]in i&&!n(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function j(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function w(e,t){if(p(t))return void delete e[V(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<r.length;e++){if(e===r.length-1){j(a,r[e]);break}if(!(r[e]in a)||n(a[r[e]]))break;a=a[r[e]]}const u=r.map(((t,n)=>F(e,r.slice(0,n).join("."))));for(let t=u.length-1;t>=0;t--)v(u[t])&&(0!==t?j(u[t-1],r[t-1]):j(e,r[0]))}function E(e){return Object.keys(e)}function S(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function k(e){t.warn(`[vee-validate]: ${e}`)}function B(e){return Array.isArray(e)?e[0]:e}function I(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.findIndex((e=>O(e,t)));return n>=0?r.splice(n,1):r.push(t),r}return O(e,t)?r:t}function M(e,t=0){let r=null,n=[];return function(...a){return r&&window.clearTimeout(r),r=window.setTimeout((()=>{const t=e(...a);n.forEach((e=>e(t))),n=[]}),t),new Promise((e=>n.push(e)))}}function T(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function C(e,t){let r;return async function(...n){const a=e(...n);r=a;const u=await a;return a!==r||(r=void 0,t(u,n)),u}}const R=(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 x(e){if(P(e))return e._value}function P(e){return"_value"in e}function N(e){if(!g(e))return e;const t=e.target;if(f(t.type)&&P(t))return x(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(m(r=t)&&r.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(x);var r;if(m(t)){const e=Array.from(t.options).find((e=>e.selected));return e?x(e):t.value}return t.value}function _(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]=U(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=$(t);return r.name?(e[r.name]=U(r.params),e):e}),t):t}function U(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>F(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 $=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let D=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const q=()=>D,z=e=>{D=Object.assign(Object.assign({},D),e)};async function L(e,t,n={}){const a=null==n?void 0:n.bails,u={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},i=await async function(e,t){if(c(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)||Array.isArray(e.rules)){const r={field:e.name,form:e.formData,value:t},n=Array.isArray(e.rules)?e.rules:[e.rules],a=n.length,u=[];for(let i=0;i<a;i++){const a=n[i],o=await a(t,r);if("string"!=typeof o&&o)continue;const l="string"==typeof o?o:G(r);if(u.push(l),e.bails)return{errors:u}}return{errors:u}}const n=Object.assign(Object.assign({},e),{rules:_(e.rules)}),a=[],u=Object.keys(n.rules),i=u.length;for(let r=0;r<i;r++){const i=u[r],o=await K(n,t,{name:i,params:n.rules[i]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(u,e),o=i.errors;return{errors:o,valid:!o.length}}async function K(e,t,r){const n=(a=r.name,i[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const u=function(e,t){const r=e=>d(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:u})},l=await n(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:G(o)}}function G(e){const t=q().generateMessage;return t?t(e):"Field is invalid"}async function X(e,t,r){const n=E(e).map((async n=>{var a,u,i;const o=await L(F(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===(i=null===(u=null==r?void 0:r.bailsMap)||void 0===u?void 0:u[n])||void 0===i||i});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const u=await Promise.all(n),i={},o={};for(const e of u)i[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:i,errors:o}}function H(e,t,r){"object"==typeof r.value&&(r.value=J(r.value)),r.enumerable&&!r.get&&!r.set&&r.configurable&&r.writable&&"__proto__"!==t?e[t]=r.value:Object.defineProperty(e,t,r)}function J(e){if("object"!=typeof e)return e;var t,r,n,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?n=Object.create(e.__proto__||null):"[object Array]"===u?n=Array(e.length):"[object Set]"===u?(n=new Set,e.forEach((function(e){n.add(J(e))}))):"[object Map]"===u?(n=new Map,e.forEach((function(e,t){n.set(J(t),J(e))}))):"[object Date]"===u?n=new Date(+e):"[object RegExp]"===u?n=new RegExp(e.source,e.flags):"[object DataView]"===u?n=new e.constructor(J(e.buffer)):"[object ArrayBuffer]"===u?n=e.slice(0):"Array]"===u.slice(-6)&&(n=new e.constructor(e)),n){for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)H(n,r[a],Object.getOwnPropertyDescriptor(e,r[a]));for(a=0,r=Object.getOwnPropertyNames(e);a<r.length;a++)Object.hasOwnProperty.call(n,t=r[a])&&n[t]===e[t]||H(n,t,Object.getOwnPropertyDescriptor(e,t))}return n||e}var Q=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,u;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=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};let W=0;function Y(e,r){const{value:n,initialValue:a,setInitialValue:u}=Z(e,r.modelValue,!r.standalone),{errorMessage:i,errors:l,setErrors:s}=function(e,r){const n=r?S(o,void 0):void 0;function a(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=a(t)}}}const u=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:u,errorMessage:t.computed((()=>u.value[0])),setErrors:r=>{n.setFieldErrorBag(t.unref(e),a(r))}}}(e,!r.standalone),d=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(r))),dirty:t.computed((()=>!Q(t.unref(e),t.unref(r))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(n,a,l);return{id:W>=Number.MAX_SAFE_INTEGER?0:++W,path:e,value:n,initialValue:a,meta:d,errors:l,errorMessage:i,setState:function(e){var t;"value"in e&&(n.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(d.touched=null!==(t=e.touched)&&void 0!==t?t:d.touched),"initialValue"in e&&u(e.initialValue)}}}function Z(e,r,n=!0){const a=!0===n?S(o,void 0):void 0,u=t.ref(t.unref(r));function i(){return a?F(a.meta.value.initialValues,t.unref(e),t.unref(u)):t.unref(u)}function l(r){a?a.stageInitialValue(t.unref(e),r,!0):u.value=r}const s=t.computed(i);if(!a){return{value:t.ref(i()),initialValue:s,setInitialValue:l}}const d=r?t.unref(r):F(a.values,t.unref(e),t.unref(s));a.stageInitialValue(t.unref(e),d,!0);return{value:t.computed({get:()=>F(a.values,t.unref(e)),set(r){a.setFieldValue(t.unref(e),r)}}),initialValue:s,setInitialValue:l}}function ee(e,r,n){return f(null==n?void 0:n.type)?function(e,r,n){const a=(null==n?void 0:n.standalone)?void 0:S(o),u=null==n?void 0:n.checkedValue,i=null==n?void 0:n.uncheckedValue;function l(e){const r=e.handleChange,n=t.computed((()=>{const r=t.unref(e.value),n=t.unref(u);return Array.isArray(r)?r.findIndex((e=>Q(e,n)))>=0:Q(n,r)}));function o(o,l=!0){var s;if(n.value===(null===(s=null==o?void 0:o.target)||void 0===s?void 0:s.checked))return;let d=N(o);a||(d=I(t.unref(e.value),t.unref(u),t.unref(i))),r(d,l)}return Object.assign(Object.assign({},e),{checked:n,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(te(e,r,n))}(e,r,n):te(e,r,n)}function te(e,n,a){const{initialValue:u,validateOnMount:i,bails:f,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,standalone:g,keepValueOnUnmount:b,modelPropName:O,syncVModel:V}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0,standalone:!1,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!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),A=g?void 0:S(o);let j=!1;const{id:w,value:k,initialValue:B,meta:I,setState:M,errors:R,errorMessage:x}=Y(e,{modelValue:u,standalone:g});V&&function({prop:e,value:r,handleChange:n}){const a=t.getCurrentInstance();if(!a)return;const u=e||"modelValue",i=`update:${u}`;if(!(u in a.props))return;t.watch(r,(e=>{Q(e,re(a,u))||a.emit(i,e)})),t.watch((()=>re(a,u)),(e=>{if(e===s&&void 0===r.value)return;const t=e===s?void 0:e;Q(t,T(r.value,a.props.modelModifiers))||n(t)}))}({value:k,prop:O,handleChange:q});const P=t.computed((()=>{let a=t.unref(n);const u=t.unref(null==A?void 0:A.schema);return u&&!c(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),c(a)||r(a)||Array.isArray(a)?a:_(a)}));async function U(r){var n,a;return(null==A?void 0:A.validateSchema)?null!==(n=(await A.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:L(k.value,P.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==A?void 0:A.values)&&void 0!==a?a:{},bails:f})}const $=C((async()=>(I.pending=!0,I.validated=!0,U("validated-only"))),(e=>(j&&(e.valid=!0,e.errors=[]),M({errors:e.errors}),I.pending=!1,e))),D=C((async()=>U("silent")),(e=>(j&&(e.valid=!0),I.valid=e.valid,e)));function q(e,t=!0){const r=N(e);k.value=r,!h&&t&&$()}let z;function K(){z=t.watch(k,((e,t)=>{if(Q(e,t))return;(h?$:D)()}),{deep:!0})}function G(e){var r;null==z||z();const n=e&&"value"in e?e.value:B.value;M({value:J(n),initialValue:J(n),touched:null!==(r=null==e?void 0:e.touched)&&void 0!==r&&r,errors:(null==e?void 0:e.errors)||[]}),I.pending=!1,I.validated=!1,D(),t.nextTick((()=>{K()}))}t.onMounted((()=>{if(i)return $();A&&A.validateSchema||D()})),K();const X={id:w,name:e,label:m,value:k,meta:I,errors:R,errorMessage:x,type:v,checkedValue:p,uncheckedValue:y,bails:f,keepValueOnUnmount:b,resetField:G,handleReset:()=>G(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?D():$()},handleChange:q,handleBlur:()=>{I.touched=!0},setState:M,setTouched:function(e){I.touched=e},setErrors:function(e){M({errors:Array.isArray(e)?e:[e]})},setValue:function(e){k.value=e}};if(t.provide(l,X),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{Q(e,t)||(I.validated?$():D())}),{deep:!0}),!A)return X;A.register(X),t.onBeforeUnmount((()=>{j=!0,A.unregister(X)}));const H=t.computed((()=>{const e=P.value;return!e||r(e)||c(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(d):E(a).filter((e=>d(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=F(A.values,t)||A.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(H,((e,t)=>{if(!Object.keys(e).length)return;!Q(e,t)&&(I.validated?$():D())})),X}function re(e,t){return e.props[t]}function ne(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function ae(e,t){return f(t.attrs.type)?b(e,"modelValue")?e.modelValue:void 0:b(e,"modelValue")?e.modelValue:t.attrs.value}const ue=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:()=>q().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},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 n=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:l,value:s,errorMessage:d,validate:c,handleChange:v,handleBlur:p,setTouched:m,resetField:y,handleReset:g,meta:b,checked:O,setErrors:V}=ee(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:ae(e,r),checkedValue:r.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1,keepValueOnUnmount:o}),F=function(e,t=!0){v(e,t),r.emit("update:modelValue",s.value)},A=function(e){(e=>{f(r.attrs.type)||(s.value=N(e))})(e),r.emit("update:modelValue",s.value)},j=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,r,n,a;const{validateOnInput:u,validateOnChange:i,validateOnBlur:o,validateOnModelUpdate:l}=q();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:i,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[p,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>F(e,t),r.attrs.onInput].filter(Boolean),l=[e=>F(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:i,onInput:o,onChange:l,"onUpdate:modelValue":e=>F(e,u)};f(r.attrs.type)&&O&&(d.checked=O.value);return h(ne(e,r),r.attrs)&&(d.value=s.value),d}));function w(){return{field:j.value,value:s.value,meta:b,errors:l.value,errorMessage:d.value,validate:c,resetField:y,handleChange:F,handleInput:A,handleReset:g,handleBlur:p,setTouched:m,setErrors:V}}return r.expose({setErrors:V,setTouched:m,reset:y,validate:c,handleChange:v}),()=>{const n=t.resolveDynamicComponent(ne(e,r)),a=R(n,r,w);return n?t.h(n,Object.assign(Object.assign({},r.attrs),j.value),a):a}}});let ie=0;function oe(e){var r;const n=ie++;let a=!1;const u=t.ref({}),i=t.ref(!1),l=t.ref(0),s=[],d=t.reactive(J(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:f,setErrorBag:p,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 u(e){r.value=E(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&u(e);return{errorBag:r,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),h=t.computed((()=>E(f.value).reduce(((e,t)=>{const r=f.value[t];return r&&r.length&&(e[t]=r[0]),e}),{})));function g(e){const t=u.value[e];return Array.isArray(t)?t[0]:t}function b(e){return!!u.value[e]}const O=t.computed((()=>E(u.value).reduce(((e,r)=>{const n=g(r);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),V=t.computed((()=>E(u.value).reduce(((e,t)=>{var r;const n=g(t);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),S=null!==(r=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==r&&r,{initialValues:k,originalInitialValues:B,setInitialValues:T}=function(e,r,n){const a=t.ref(J(t.unref(n))||{}),u=t.ref(J(t.unref(n))||{});function i(t,n=!1){a.value=J(t),u.value=J(t),n&&E(e.value).forEach((t=>{const n=e.value[t],u=Array.isArray(n)?n.some((e=>e.meta.touched)):null==n?void 0:n.meta.touched;if(!n||u)return;const i=F(a.value,t);A(r,t,J(i))}))}t.isRef(n)&&t.watch(n,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(u,d,null==e?void 0:e.initialValues),R=function(e,r,n,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!Q(r,t.unref(n))));function o(){const t=Object.values(e.value).flat(1).filter(Boolean);return E(u).reduce(((e,r)=>{const n=u[r];return e[r]=t[n]((e=>e.meta[r])),e}),{})}const l=t.reactive(o());return t.watchEffect((()=>{const e=o();l.touched=e.touched,l.valid=e.valid,l.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(n)},l),{valid:l.valid&&!E(a.value).length,dirty:i.value})))}(u,d,B,h),x=null==e?void 0:e.validationSchema,P=M(se,5),N=M(se,5),_=C((async e=>"silent"===await e?P():N()),((e,[t])=>{const r=U.fieldsByPath.value||{},n=E(U.errorBag.value);return[...new Set([...E(e.results),...E(r),...n])].reduce(((n,a)=>{const u=r[a],i=(e.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(n.results[a]=o,o.valid||(n.errors[a]=o.errors[0]),!u)return z(a,i),n;if(D(u,(e=>e.meta.valid=o.valid)),"silent"===t)return n;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==t||l?(D(u,(e=>e.setState({errors:o.errors}))),n):n}),{valid:e.valid,results:{},errors:{}})})),U={formId:n,fieldsByPath:u,values:d,errorBag:f,errors:h,schema:x,submitCount:l,meta:R,isSubmitting:i,fieldArrays:s,keepValuesOnUnmount:S,validateSchema:t.unref(x)?_:void 0,validate:ae,register:function(e){const r=t.unref(e.name);re(e,r),t.isRef(e.name)&&t.watch(e.name,(async(r,n)=>{await t.nextTick(),ne(e,n),re(e,r),(h.value[n]||h.value[r])&&(z(n,void 0),ue(r)),await t.nextTick(),b(n)||w(d,n)}));const n=t.unref(e.errorMessage);n&&(null==j?void 0:j[r])!==n&&ue(r);delete j[r]},unregister:function(e){const r=t.unref(e.name),n=u.value[r],a=!!n&&$(n);ne(e,r),t.nextTick((()=>{var i;const o=null!==(i=t.unref(e.keepValueOnUnmount))&&void 0!==i?i:t.unref(S),l=F(d,r);if(a&&(n===u.value[r]||!u.value[r])&&Array.isArray(l)&&!o){const n=l.findIndex((r=>Q(r,t.unref(e.checkedValue))));if(n>-1){const e=[...l];e.splice(n,1),K(r,e,{force:!0})}}if(!b(r)){if(z(r,void 0),o)return;if(a&&!v(F(d,r)))return;w(d,r)}}))},setFieldErrorBag:m,validateField:ue,setFieldValue:K,setValues:G,setErrors:L,setFieldError:z,setFieldTouched:Y,setTouched:ee,resetForm:te,handleSubmit:oe,stageInitialValue:function(t,r,n=!1){A(d,t,r),le(t,r),n&&!(null==e?void 0:e.initialValues)&&A(B.value,t,J(r))},unsetInitialValue:function(e){w(k.value,e)},setFieldInitialValue:le,useFieldModel:W};function $(e){return Array.isArray(e)}function D(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function q(e){Object.values(u.value).forEach((t=>{t&&D(t,e)}))}function z(e,t){m(e,t)}function L(e){p(e)}function K(e,r,{force:n}={force:!1}){var i;const o=u.value[e],l=J(r);if(!o)return void A(d,e,l);if($(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=J(I(F(d,e)||[],r,void 0));return void A(d,e,t)}let s=r;$(o)||"checkbox"!==o.type||n||a||(s=J(I(F(d,e),r,t.unref(o.uncheckedValue)))),A(d,e,s)}function G(e){E(d).forEach((e=>{delete d[e]})),E(e).forEach((t=>{K(t,e[t])})),s.forEach((e=>e&&e.reset()))}function H(e){const{value:r}=Z(e);return t.watch(r,(()=>{b(t.unref(e))||ae({mode:"validated-only"})}),{deep:!0}),r}function W(e){return Array.isArray(e)?e.map(H):H(e)}function Y(e,t){const r=u.value[e];r&&D(r,(e=>e.setTouched(t)))}function ee(e){E(e).forEach((t=>{Y(t,!!e[t])}))}function te(e){a=!0,(null==e?void 0:e.values)?(T(e.values),G(null==e?void 0:e.values)):(T(B.value),G(B.value)),q((e=>e.resetField())),(null==e?void 0:e.touched)&&ee(e.touched),L((null==e?void 0:e.errors)||{}),l.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{a=!1}))}function re(e,r){const n=t.markRaw(e),a=r;if(!u.value[a])return void(u.value[a]=n);const i=u.value[a];i&&!Array.isArray(i)&&(u.value[a]=[i]),u.value[a]=[...u.value[a],n]}function ne(e,t){const r=t,n=u.value[r];if(n)if($(n)||e.id!==n.id){if($(n)){const t=n.findIndex((t=>t.id===e.id));if(-1===t)return;n.splice(t,1),n.length||delete u.value[r]}}else delete u.value[r]}async function ae(e){if(q((e=>e.meta.validated=!0)),U.validateSchema)return U.validateSchema((null==e?void 0:e.mode)||"force");const r=await Promise.all(Object.values(u.value).map((r=>{const n=Array.isArray(r)?r[0]:r;return n?n.validate(e).then((e=>({key:t.unref(n.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),n={},a={};for(const e of r)n[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(a[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:n,errors:a}}async function ue(e){const r=u.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 oe(e,t){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),ee(E(u.value).reduce(((e,t)=>(e[t]=!0,e)),{})),i.value=!0,l.value++,ae().then((n=>{if(n.valid&&"function"==typeof e)return e(J(d),{evt:r,setErrors:L,setFieldError:z,setTouched:ee,setFieldTouched:Y,setValues:G,setFieldValue:K,resetForm:te});n.valid||"function"!=typeof t||t({values:J(d),evt:r,errors:n.errors,results:n.results})})).then((e=>(i.value=!1,e)),(e=>{throw i.value=!1,e}))}}function le(e,t){A(k.value,e,J(t))}async function se(){const e=t.unref(x);if(!e)return{valid:!0,results:{},errors:{}};const r=c(e)?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}}(e,d):await X(e,d,{names:O.value,bailsMap:V.value});return r}const de=oe(((e,{evt:t})=>{y(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&L(e.initialErrors),(null==e?void 0:e.initialTouched)&&ee(e.initialTouched),(null==e?void 0:e.validateOnMount)?ae():U.validateSchema&&U.validateSchema("silent")})),t.isRef(x)&&t.watch(x,(()=>{var e;null===(e=U.validateSchema)||void 0===e||e.call(U,"validated-only")})),t.provide(o,U),{errors:h,meta:R,values:d,isSubmitting:i,submitCount:l,validate:ae,validateField:ue,handleReset:()=>te(),resetForm:te,handleSubmit:oe,submitForm:de,setFieldError:z,setErrors:L,setFieldValue:K,setValues:G,setFieldTouched:Y,setTouched:ee,useFieldModel:W}}const le=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},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),u=t.toRef(e,"keepValues"),{errors:i,values:o,meta:l,isSubmitting:s,submitCount:d,validate:c,validateField:f,handleReset:v,resetForm:p,handleSubmit:m,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A}=oe({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:u}),j=m(((e,{evt:t})=>{y(t)&&t.target.submit()}),e.onInvalidSubmit),w=e.onSubmit?m(e.onSubmit,e.onInvalidSubmit):j;function E(e){g(e)&&e.preventDefault(),v(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function S(t,r){return m("function"!=typeof t||r?r:t,e.onInvalidSubmit)(t)}function k(){return{meta:l.value,errors:i.value,values:o,isSubmitting:s.value,submitCount:d.value,validate:c,validateField:f,handleSubmit:S,handleReset:v,submitForm:j,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p}}return r.expose({setFieldError:b,setErrors:h,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p,validate:c,validateField:f}),function(){const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=R(n,r,k);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},u),r.attrs),{onSubmit:w,onReset:E}),a)}}}),se=le;function de(e){const r=S(o,void 0),a=t.ref([]),u=()=>{},i={fields:a,remove:u,push:u,swap:u,insert:u,update:u,replace:u,prepend:u,move:u};if(!r)return k("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),i;if(!t.unref(e))return k("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),i;const l=r.fieldArrays.find((r=>t.unref(r.path)===t.unref(e)));if(l)return l;let s=0;function d(){const n=F(null==r?void 0:r.values,t.unref(e),[])||[];a.value=n.map(f),c()}function c(){const e=a.value.length;for(let t=0;t<e;t++){const r=a.value[t];r.isFirst=0===t,r.isLast=t===e-1}}function f(n){const u=s++,i={key:u,value:t.computed({get(){const i=F(null==r?void 0:r.values,t.unref(e),[])||[],o=a.value.findIndex((e=>e.key===u));return-1===o?n:i[o]},set(e){const t=a.value.findIndex((e=>e.key===u));-1!==t?v(t,e):k("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return i}function v(n,a){const u=t.unref(e),i=F(null==r?void 0:r.values,u);!Array.isArray(i)||i.length-1<n||null==r||r.setFieldValue(`${u}[${n}]`,a)}d();const p={fields:a,remove:function(n){const u=t.unref(e),i=F(null==r?void 0:r.values,u);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(n,1),null==r||r.unsetInitialValue(u+`[${n}]`),null==r||r.setFieldValue(u,o),a.value.splice(n,1),c()},push:function(u){const i=t.unref(e),o=F(null==r?void 0:r.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(u),null==r||r.stageInitialValue(i+`[${s.length-1}]`,u),null==r||r.setFieldValue(i,s),a.value.push(f(u)),c()},swap:function(n,u){const i=t.unref(e),o=F(null==r?void 0:r.values,i);if(!Array.isArray(o)||!(n in o)||!(u in o))return;const l=[...o],s=[...a.value],d=l[n];l[n]=l[u],l[u]=d;const f=s[n];s[n]=s[u],s[u]=f,null==r||r.setFieldValue(i,l),a.value=s,c()},insert:function(n,u){const i=t.unref(e),o=F(null==r?void 0:r.values,i);if(!Array.isArray(o)||o.length<n)return;const l=[...o],s=[...a.value];l.splice(n,0,u),s.splice(n,0,f(u)),null==r||r.setFieldValue(i,l),a.value=s,c()},update:v,replace:function(n){const a=t.unref(e);null==r||r.setFieldValue(a,n),d()},prepend:function(u){const i=t.unref(e),o=F(null==r?void 0:r.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[u,...l];null==r||r.stageInitialValue(i+`[${s.length-1}]`,u),null==r||r.setFieldValue(i,s),a.value.unshift(f(u)),c()},move:function(u,i){const o=t.unref(e),l=F(null==r?void 0:r.values,o),s=n(l)?[]:[...l];if(!Array.isArray(l)||!(u in l)||!(i in l))return;const d=[...a.value],f=d[u];d.splice(u,1),d.splice(i,0,f);const v=s[u];s.splice(u,1),s.splice(i,0,v),null==r||r.setFieldValue(o,s),a.value=d,c()}};return r.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const n=r.fieldArrays.findIndex((r=>t.unref(r.path)===t.unref(e)));n>=0&&r.fieldArrays.splice(n,1)})),p}const ce=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,r){const{push:n,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,move:d,fields:c}=de(t.toRef(e,"name"));function f(){return{fields:c.value,push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}}return r.expose({push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}),()=>R(void 0,r,f)}}),fe=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(o,void 0),a=t.computed((()=>null==n?void 0:n.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,i=R(n,r,u),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(n,o,i):t.h(n||"span",o,a.value):i}}});e.ErrorMessage=fe,e.Field=ue,e.FieldArray=ce,e.FieldContextKey=l,e.Form=se,e.FormContextKey=o,e.IS_ABSENT=s,e.configure=z,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),i[e]=t},e.useField=ee,e.useFieldArray=de,e.useFieldError=function(e){const r=S(o),n=e?void 0:t.inject(l);return t.computed((()=>e?null==r?void 0:r.errors.value[t.unref(e)]:null==n?void 0:n.errorMessage.value))},e.useFieldValue=function(e){const r=S(o),n=e?void 0:t.inject(l);return t.computed((()=>e?F(null==r?void 0:r.values,t.unref(e)):t.unref(null==n?void 0:n.value)))},e.useForm=oe,e.useFormErrors=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=S(o);return e||k("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=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.dirty:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.touched:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.valid:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);return e||k("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=S(o);t||k("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=S(o);let n=e?void 0:t.inject(l);return function(){return e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.validate():(k(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=S(o);return e||k("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=L,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vee-validate",
|
|
3
|
-
"version": "4.6.
|
|
3
|
+
"version": "4.6.7",
|
|
4
4
|
"description": "Form Validation for Vue.js",
|
|
5
5
|
"author": "Abdelrahman Awad <logaretm1@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@vue/devtools-api": "^6.1.4"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "3c9d79f14b74df699dbaf9781725220b68096c81"
|
|
37
37
|
}
|