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.
@@ -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: unknown, ctx: FieldValidationMetaInfo) => boolean | string | Promise<boolean | string>;
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: unknown, rules: string | Record<string, unknown | unknown[]> | GenericValidateFunction | GenericValidateFunction[] | YupValidator, options?: ValidationOptions): Promise<ValidationResult>;
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
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.6.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
- async function validateWithStateMutation() {
1413
+ const validateWithStateMutation = withLatest(async () => {
1400
1414
  meta.pending = true;
1401
1415
  meta.validated = true;
1402
- const result = await validateCurrentValue('validated-only');
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
- async function validateValidStateOnly() {
1412
- const result = await validateCurrentValue('silent');
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 (!(opts === null || opts === void 0 ? void 0 : opts.mode) || (opts === null || opts === void 0 ? void 0 : opts.mode) === 'force') {
1421
- return validateWithStateMutation();
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 validateValidStateOnly();
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();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.6.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
- async function validateWithStateMutation() {
1038
+ const validateWithStateMutation = withLatest(async () => {
1025
1039
  meta.pending = true;
1026
1040
  meta.validated = true;
1027
- const result = await validateCurrentValue('validated-only');
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
- async function validateValidStateOnly() {
1037
- const result = await validateCurrentValue('silent');
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 (!(opts === null || opts === void 0 ? void 0 : opts.mode) || (opts === null || opts === void 0 ? void 0 : opts.mode) === 'force') {
1046
- return validateWithStateMutation();
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 validateValidStateOnly();
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();
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.6.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.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": "d8ed905897907b1b51117a357e1cd8280bdd14b2"
36
+ "gitHead": "3c9d79f14b74df699dbaf9781725220b68096c81"
37
37
  }