vee-validate 4.8.3 → 4.8.5

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.
@@ -38,6 +38,7 @@ type YupSchema<TValues = any> = {
38
38
  validate(value: any, options: Record<string, any>): Promise<any>;
39
39
  };
40
40
  type MaybeRef<T> = Ref<T> | T;
41
+ type MaybeRefOrLazy<T> = MaybeRef<T> | (() => T);
41
42
  interface FieldMeta<TValue> {
42
43
  touched: boolean;
43
44
  dirty: boolean;
@@ -52,7 +53,7 @@ interface FormMeta<TValues extends Record<string, any>> {
52
53
  valid: boolean;
53
54
  validated: boolean;
54
55
  pending: boolean;
55
- initialValues?: TValues;
56
+ initialValues?: Partial<TValues>;
56
57
  }
57
58
  interface FieldState<TValue = unknown> {
58
59
  value: TValue;
@@ -247,7 +248,7 @@ type RuleExpression<TValue> = string | Record<string, unknown> | GenericValidate
247
248
  /**
248
249
  * Creates a field composite.
249
250
  */
250
- declare function useField<TValue = unknown>(name: MaybeRef<string>, rules?: MaybeRef<RuleExpression<TValue>>, opts?: Partial<FieldOptions<TValue>>): FieldContext<TValue>;
251
+ declare function useField<TValue = unknown>(path: MaybeRefOrLazy<string>, rules?: MaybeRef<RuleExpression<TValue>>, opts?: Partial<FieldOptions<TValue>>): FieldContext<TValue>;
251
252
 
252
253
  interface FieldBindingObject<TValue = unknown> {
253
254
  name: string;
@@ -1135,7 +1136,7 @@ declare const ErrorMessage: {
1135
1136
  type FormSchema<TValues> = Record<keyof TValues, GenericValidateFunction | string | GenericFormValues> | undefined;
1136
1137
  interface FormOptions<TValues extends GenericFormValues, TOutput extends TValues = TValues, TSchema extends TypedSchema<TValues, TOutput> | FormSchema<TValues> = FormSchema<TValues> | TypedSchema<TValues, TOutput>> {
1137
1138
  validationSchema?: MaybeRef<TSchema extends TypedSchema ? TypedSchema<TValues, TOutput> : any>;
1138
- initialValues?: MaybeRef<TValues>;
1139
+ initialValues?: MaybeRef<Partial<TValues>>;
1139
1140
  initialErrors?: Record<keyof TValues, string | undefined>;
1140
1141
  initialTouched?: Record<keyof TValues, boolean>;
1141
1142
  validateOnMount?: boolean;
@@ -1,9 +1,9 @@
1
1
  /**
2
- * vee-validate v4.8.3
2
+ * vee-validate v4.8.4
3
3
  * (c) 2023 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
- import { getCurrentInstance, inject, warn as warn$1, ref, watch, unref, computed, reactive, onUnmounted, nextTick, onMounted, provide, isRef, onBeforeUnmount, defineComponent, toRef, resolveDynamicComponent, h, watchEffect, markRaw } from 'vue';
6
+ import { getCurrentInstance, inject, warn as warn$1, computed, ref, watch, unref, isRef, reactive, onUnmounted, nextTick, onMounted, provide, onBeforeUnmount, defineComponent, toRef, resolveDynamicComponent, h, watchEffect, markRaw } from 'vue';
7
7
  import { setupDevtoolsPlugin } from '@vue/devtools-api';
8
8
 
9
9
  function isCallable(fn) {
@@ -488,6 +488,15 @@ function computedDeep({ get, set }) {
488
488
  });
489
489
  return baseRef;
490
490
  }
491
+ function unravel(value) {
492
+ if (isCallable(value)) {
493
+ return value();
494
+ }
495
+ return unref(value);
496
+ }
497
+ function lazyToRef(value) {
498
+ return computed(() => unravel(value));
499
+ }
491
500
 
492
501
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
493
502
  const normalizeChildren = (tag, context, slotProps) => {
@@ -973,7 +982,7 @@ function _useFieldValue(path, modelValue, form) {
973
982
  // otherwise use the configured initial value if it exists.
974
983
  // prioritize model value over form values
975
984
  // #3429
976
- const currentValue = modelValue ? unref(modelValue) : getFromPath(form.values, unref(path), unref(initialValue));
985
+ const currentValue = resolveModelValue(modelValue, form, initialValue, path);
977
986
  form.stageInitialValue(unref(path), currentValue, true);
978
987
  // otherwise use a computed setter that triggers the `setFieldValue`
979
988
  const value = computed({
@@ -990,6 +999,21 @@ function _useFieldValue(path, modelValue, form) {
990
999
  setInitialValue,
991
1000
  };
992
1001
  }
1002
+ /*
1003
+ to set the initial value, first check if there is a current value, if there is then use it.
1004
+ otherwise use the configured initial value if it exists.
1005
+ prioritize model value over form values
1006
+ #3429
1007
+ */
1008
+ function resolveModelValue(modelValue, form, initialValue, path) {
1009
+ if (isRef(modelValue)) {
1010
+ return unref(modelValue);
1011
+ }
1012
+ if (modelValue !== undefined) {
1013
+ return modelValue;
1014
+ }
1015
+ return getFromPath(form.values, unref(path), unref(initialValue));
1016
+ }
993
1017
  /**
994
1018
  * Creates meta flags state and some associated effects with them
995
1019
  */
@@ -1404,16 +1428,17 @@ function getTagTheme(fieldOrForm) {
1404
1428
  /**
1405
1429
  * Creates a field composite.
1406
1430
  */
1407
- function useField(name, rules, opts) {
1431
+ function useField(path, rules, opts) {
1408
1432
  if (hasCheckedAttr(opts === null || opts === void 0 ? void 0 : opts.type)) {
1409
- return useCheckboxField(name, rules, opts);
1433
+ return useCheckboxField(path, rules, opts);
1410
1434
  }
1411
- return _useField(name, rules, opts);
1435
+ return _useField(path, rules, opts);
1412
1436
  }
1413
- function _useField(name, rules, opts) {
1414
- const { initialValue: modelValue, validateOnMount, bails, type, checkedValue, label, validateOnValueUpdate, uncheckedValue, controlled, keepValueOnUnmount, modelPropName, syncVModel, form: controlForm, } = normalizeOptions(unref(name), opts);
1437
+ function _useField(path, rules, opts) {
1438
+ const { initialValue: modelValue, validateOnMount, bails, type, checkedValue, label, validateOnValueUpdate, uncheckedValue, controlled, keepValueOnUnmount, modelPropName, syncVModel, form: controlForm, } = normalizeOptions(opts);
1415
1439
  const injectedForm = controlled ? injectWithSelf(FormContextKey) : undefined;
1416
1440
  const form = controlForm || injectedForm;
1441
+ const name = lazyToRef(path);
1417
1442
  // a flag indicating if the field is about to be removed/unmounted.
1418
1443
  let markedForRemoval = false;
1419
1444
  const { id, value, initialValue, meta, setState, errors, errorMessage } = useFieldState(name, {
@@ -1638,7 +1663,7 @@ function _useField(name, rules, opts) {
1638
1663
  /**
1639
1664
  * Normalizes partial field options to include the full options
1640
1665
  */
1641
- function normalizeOptions(name, opts) {
1666
+ function normalizeOptions(opts) {
1642
1667
  var _a;
1643
1668
  const defaults = () => ({
1644
1669
  initialValue: undefined,
@@ -1934,8 +1959,9 @@ const Field = FieldImpl;
1934
1959
  let FORM_COUNTER = 0;
1935
1960
  function resolveInitialValues(opts) {
1936
1961
  const providedValues = unref(opts === null || opts === void 0 ? void 0 : opts.initialValues) || {};
1937
- if ((opts === null || opts === void 0 ? void 0 : opts.validationSchema) && isTypedSchema(opts.validationSchema) && isCallable(opts.validationSchema.cast)) {
1938
- return klona(opts.validationSchema.cast(providedValues) || {});
1962
+ const schema = unref(opts === null || opts === void 0 ? void 0 : opts.validationSchema);
1963
+ if (schema && isTypedSchema(schema) && isCallable(schema.cast)) {
1964
+ return klona(schema.cast(providedValues) || {});
1939
1965
  }
1940
1966
  return klona(providedValues);
1941
1967
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.8.3
2
+ * vee-validate v4.8.4
3
3
  * (c) 2023 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -473,6 +473,15 @@
473
473
  });
474
474
  return baseRef;
475
475
  }
476
+ function unravel(value) {
477
+ if (isCallable(value)) {
478
+ return value();
479
+ }
480
+ return vue.unref(value);
481
+ }
482
+ function lazyToRef(value) {
483
+ return vue.computed(() => unravel(value));
484
+ }
476
485
 
477
486
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
478
487
  const normalizeChildren = (tag, context, slotProps) => {
@@ -958,7 +967,7 @@
958
967
  // otherwise use the configured initial value if it exists.
959
968
  // prioritize model value over form values
960
969
  // #3429
961
- const currentValue = modelValue ? vue.unref(modelValue) : getFromPath(form.values, vue.unref(path), vue.unref(initialValue));
970
+ const currentValue = resolveModelValue(modelValue, form, initialValue, path);
962
971
  form.stageInitialValue(vue.unref(path), currentValue, true);
963
972
  // otherwise use a computed setter that triggers the `setFieldValue`
964
973
  const value = vue.computed({
@@ -975,6 +984,21 @@
975
984
  setInitialValue,
976
985
  };
977
986
  }
987
+ /*
988
+ to set the initial value, first check if there is a current value, if there is then use it.
989
+ otherwise use the configured initial value if it exists.
990
+ prioritize model value over form values
991
+ #3429
992
+ */
993
+ function resolveModelValue(modelValue, form, initialValue, path) {
994
+ if (vue.isRef(modelValue)) {
995
+ return vue.unref(modelValue);
996
+ }
997
+ if (modelValue !== undefined) {
998
+ return modelValue;
999
+ }
1000
+ return getFromPath(form.values, vue.unref(path), vue.unref(initialValue));
1001
+ }
978
1002
  /**
979
1003
  * Creates meta flags state and some associated effects with them
980
1004
  */
@@ -1030,16 +1054,17 @@
1030
1054
  /**
1031
1055
  * Creates a field composite.
1032
1056
  */
1033
- function useField(name, rules, opts) {
1057
+ function useField(path, rules, opts) {
1034
1058
  if (hasCheckedAttr(opts === null || opts === void 0 ? void 0 : opts.type)) {
1035
- return useCheckboxField(name, rules, opts);
1059
+ return useCheckboxField(path, rules, opts);
1036
1060
  }
1037
- return _useField(name, rules, opts);
1061
+ return _useField(path, rules, opts);
1038
1062
  }
1039
- function _useField(name, rules, opts) {
1040
- const { initialValue: modelValue, validateOnMount, bails, type, checkedValue, label, validateOnValueUpdate, uncheckedValue, controlled, keepValueOnUnmount, modelPropName, syncVModel, form: controlForm, } = normalizeOptions(vue.unref(name), opts);
1063
+ function _useField(path, rules, opts) {
1064
+ const { initialValue: modelValue, validateOnMount, bails, type, checkedValue, label, validateOnValueUpdate, uncheckedValue, controlled, keepValueOnUnmount, modelPropName, syncVModel, form: controlForm, } = normalizeOptions(opts);
1041
1065
  const injectedForm = controlled ? injectWithSelf(FormContextKey) : undefined;
1042
1066
  const form = controlForm || injectedForm;
1067
+ const name = lazyToRef(path);
1043
1068
  // a flag indicating if the field is about to be removed/unmounted.
1044
1069
  let markedForRemoval = false;
1045
1070
  const { id, value, initialValue, meta, setState, errors, errorMessage } = useFieldState(name, {
@@ -1255,7 +1280,7 @@
1255
1280
  /**
1256
1281
  * Normalizes partial field options to include the full options
1257
1282
  */
1258
- function normalizeOptions(name, opts) {
1283
+ function normalizeOptions(opts) {
1259
1284
  var _a;
1260
1285
  const defaults = () => ({
1261
1286
  initialValue: undefined,
@@ -1548,8 +1573,9 @@
1548
1573
  let FORM_COUNTER = 0;
1549
1574
  function resolveInitialValues(opts) {
1550
1575
  const providedValues = vue.unref(opts === null || opts === void 0 ? void 0 : opts.initialValues) || {};
1551
- if ((opts === null || opts === void 0 ? void 0 : opts.validationSchema) && isTypedSchema(opts.validationSchema) && isCallable(opts.validationSchema.cast)) {
1552
- return klona(opts.validationSchema.cast(providedValues) || {});
1576
+ const schema = vue.unref(opts === null || opts === void 0 ? void 0 : opts.validationSchema);
1577
+ if (schema && isTypedSchema(schema) && isCallable(schema.cast)) {
1578
+ return klona(schema.cast(providedValues) || {});
1553
1579
  }
1554
1580
  return klona(providedValues);
1555
1581
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.8.3
2
+ * vee-validate v4.8.4
3
3
  * (c) 2023 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 n(e){return"function"==typeof e}function r(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function l(e){return Number(e)>=0}const u={};const i=Symbol("vee-validate-form"),o=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value"),d="undefined"!=typeof window;function c(e){return n(e)&&!!e.__locatorRef}function f(e){return!!e&&n(e.parse)&&"VVTypedSchema"===e.__type}function v(e){return!!e&&n(e.validate)}function p(e){return"checkbox"===e||"radio"===e}function m(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function h(e){return/^\[.+\]$/i.test(e)}function y(e){return"SELECT"===e.tagName}function g(e,t){return!function(e,t){const n=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&n}(e,t)&&"file"!==t.type&&!p(t.type)}function b(e){return V(e)&&e.target&&"submit"in e.target}function V(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function O(e,t){return t in e&&e[t]!==s}function F(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,a;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!F(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!F(r[1],t.get(r[0])))return!1;return!0}if(A(e)&&A(t))return e.size===t.size&&(e.name===t.name&&(e.lastModified===t.lastModified&&e.type===t.type));if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,a[r]))return!1;for(r=n;0!=r--;){var l=a[r];if(!F(e[l],t[l]))return!1}return!0}return e!=e&&t!=t}function A(e){return!!d&&e instanceof File}function w(e,t,n){"object"==typeof n.value&&(n.value=j(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function j(e){if("object"!=typeof e)return e;var t,n,r,a=0,l=Object.prototype.toString.call(e);if("[object Object]"===l?r=Object.create(e.__proto__||null):"[object Array]"===l?r=Array(e.length):"[object Set]"===l?(r=new Set,e.forEach((function(e){r.add(j(e))}))):"[object Map]"===l?(r=new Map,e.forEach((function(e,t){r.set(j(t),j(e))}))):"[object Date]"===l?r=new Date(+e):"[object RegExp]"===l?r=new RegExp(e.source,e.flags):"[object DataView]"===l?r=new e.constructor(j(e.buffer)):"[object ArrayBuffer]"===l?r=e.slice(0):"Array]"===l.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)w(r,n[a],Object.getOwnPropertyDescriptor(e,n[a]));for(a=0,n=Object.getOwnPropertyNames(e);a<n.length;a++)Object.hasOwnProperty.call(r,t=n[a])&&r[t]===e[t]||w(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}function S(e){return h(e)?e.replace(/\[|\]/gi,""):e}function E(e,t,n){if(!e)return n;if(h(t))return e[S(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(r=e)||Array.isArray(r))&&t in e?e[t]:n;var r}),e)}function k(e,t,n){if(h(t))return void(e[S(t)]=n);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(u[a[e]]=n);a[e]in u&&!r(u[a[e]])||(u[a[e]]=l(a[e+1])?[]:{}),u=u[a[e]]}}function B(e,t){Array.isArray(e)&&l(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function I(e,t){if(h(t))return void delete e[S(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){B(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const l=n.map(((t,r)=>E(e,n.slice(0,r).join("."))));for(let t=l.length-1;t>=0;t--)m(l[t])&&(0!==t?B(l[t-1],n[t-1]):B(e,n[0]))}function M(e){return Object.keys(e)}function T(e,n=undefined){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function C(e){t.warn(`[vee-validate]: ${e}`)}function R(e){return Array.isArray(e)?e[0]:e}function x(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>F(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return F(e,t)?n:t}function N(e,t=0){let n=null,r=[];return function(...a){return n&&window.clearTimeout(n),n=window.setTimeout((()=>{const t=e(...a);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}function P(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function _(e,t){let n;return async function(...r){const a=e(...r);n=a;const l=await a;return a!==n||(n=void 0,t(l,r)),l}}function U({get:e,set:n}){const r=t.ref(j(e()));return t.watch(e,(e=>{F(e,r.value)||(r.value=j(e))}),{deep:!0}),t.watch(r,(t=>{F(t,e())||n(j(t))}),{deep:!0}),r}const $=(e,t,n)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,r;return null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,n())}}:t.slots.default(n()):t.slots.default;function D(e){if(z(e))return e._value}function z(e){return"_value"in e}function q(e){if(!V(e))return e;const t=e.target;if(p(t.type)&&z(t))return D(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(y(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(D);var n;if(y(t)){const e=Array.from(t.options).find((e=>e.selected));return e?D(e):t.value}return t.value}function L(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,n)=>{const r=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[n]);return!1!==e[n]&&(t[n]=K(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=G(t);return n.name?(e[n.name]=K(n.params),e):e}),t):t}function K(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>E(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(((n,r)=>(n[r]=t(e[r]),n)),{})}const G=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let X=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const H=()=>X,J=e=>{X=Object.assign(Object.assign({},X),e)};async function Q(e,t,r={}){const a=null==r?void 0:r.bails,l={name:(null==r?void 0:r.name)||"{field}",rules:t,label:null==r?void 0:r.label,bails:null==a||a,formData:(null==r?void 0:r.values)||{}},u=await async function(e,t){if(f(e.rules)||v(e.rules))return async function(e,t){const n=f(t)?t:W(t),r=await n.parse(e),a=[];for(const e of r.errors)e.errors.length&&a.push(...e.errors);return{errors:a}}(t,e.rules);if(n(e.rules)||Array.isArray(e.rules)){const n={field:e.label||e.name,name:e.name,label:e.label,form:e.formData,value:t},r=Array.isArray(e.rules)?e.rules:[e.rules],a=r.length,l=[];for(let u=0;u<a;u++){const a=r[u],i=await a(t,n);if("string"!=typeof i&&i)continue;const o="string"==typeof i?i:Z(n);if(l.push(o),e.bails)return{errors:l}}return{errors:l}}const r=Object.assign(Object.assign({},e),{rules:L(e.rules)}),a=[],l=Object.keys(r.rules),u=l.length;for(let n=0;n<u;n++){const u=l[n],i=await Y(r,t,{name:u,params:r.rules[u]});if(i.error&&(a.push(i.error),e.bails))return{errors:a}}return{errors:a}}(l,e),i=u.errors;return{errors:i,valid:!i.length}}function W(e){return{__type:"VVTypedSchema",async parse(t){var n;try{return{output:await e.validate(t,{abortEarly:!1}),errors:[]}}catch(e){if(!function(e){return!!e&&"ValidationError"===e.name}(e))throw e;if(!(null===(n=e.inner)||void 0===n?void 0:n.length)&&e.errors.length)return{errors:[{path:e.path,errors:e.errors}]};const t=e.inner.reduce(((e,t)=>{const n=t.path||"";return e[n]||(e[n]={errors:[],path:n}),e[n].errors.push(...t.errors),e}),{});return{errors:Object.values(t)}}}}}async function Y(e,t,n){const r=(a=n.name,u[a]);var a;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const l=function(e,t){const n=e=>c(e)?e(t):e;if(Array.isArray(e))return e.map(n);return Object.keys(e).reduce(((t,r)=>(t[r]=n(e[r]),t)),{})}(n.params,e.formData),i={field:e.label||e.name,name:e.name,label:e.label,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:l})},o=await r(t,l,i);return"string"==typeof o?{error:o}:{error:o?void 0:Z(i)}}function Z(e){const t=H().generateMessage;return t?t(e):"Field is invalid"}async function ee(e,t,n){const r=M(e).map((async r=>{var a,l,u;const i=null===(a=null==n?void 0:n.names)||void 0===a?void 0:a[r],o=await Q(E(t,r),e[r],{name:(null==i?void 0:i.name)||r,label:null==i?void 0:i.label,values:t,bails:null===(u=null===(l=null==n?void 0:n.bailsMap)||void 0===l?void 0:l[r])||void 0===u||u});return Object.assign(Object.assign({},o),{path:r})}));let a=!0;const l=await Promise.all(r),u={},i={};for(const e of l)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,i[e.path]=e.errors[0]);return{valid:a,results:u,errors:i}}let te=0;function ne(e,n){const{value:r,initialValue:a,setInitialValue:l}=re(e,n.modelValue,n.form),{errorMessage:u,errors:i,setErrors:o}=function(e,n){function r(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=r(t)}}}const a=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:a,errorMessage:t.computed((()=>a.value[0])),setErrors:a=>{n.setFieldErrorBag(t.unref(e),r(a))}}}(e,n.form),s=function(e,n,r){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(r).length,initialValue:t.computed((()=>t.unref(n))),dirty:t.computed((()=>!F(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(r,a,i);return{id:te>=Number.MAX_SAFE_INTEGER?0:++te,path:e,value:r,initialValue:a,meta:s,errors:i,errorMessage:u,setState:function(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&o(e.errors),"touched"in e&&(s.touched=null!==(t=e.touched)&&void 0!==t?t:s.touched),"initialValue"in e&&l(e.initialValue)}}}function re(e,n,r){const a=t.ref(t.unref(n));function l(){return r?E(r.meta.value.initialValues,t.unref(e),t.unref(a)):t.unref(a)}function u(n){r?r.stageInitialValue(t.unref(e),n,!0):a.value=n}const i=t.computed(l);if(!r){return{value:t.ref(l()),initialValue:i,setInitialValue:u}}const o=n?t.unref(n):E(r.values,t.unref(e),t.unref(i));r.stageInitialValue(t.unref(e),o,!0);return{value:t.computed({get:()=>E(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n)}}),initialValue:i,setInitialValue:u}}function ae(e,n,r){return p(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:T(i),l=null==r?void 0:r.checkedValue,u=null==r?void 0:r.uncheckedValue;function o(e){const n=e.handleChange,r=t.computed((()=>{const n=t.unref(e.value),r=t.unref(l);return Array.isArray(n)?n.findIndex((e=>F(e,r)))>=0:F(r,n)}));function i(i,o=!0){var s;if(r.value===(null===(s=null==i?void 0:i.target)||void 0===s?void 0:s.checked))return void(o&&e.validate());let d=q(i);a||(d=x(t.unref(e.value),t.unref(l),t.unref(u))),n(d,o)}return Object.assign(Object.assign({},e),{checked:r,checkedValue:l,uncheckedValue:u,handleChange:i})}return o(le(e,n,r))}(e,n,r):le(e,n,r)}function le(e,r,a){const{initialValue:l,validateOnMount:u,bails:d,type:p,checkedValue:m,label:h,validateOnValueUpdate:y,uncheckedValue:g,controlled:b,keepValueOnUnmount:V,modelPropName:O,syncVModel:A,form:w}=function(e,n){var r;const a=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:void 0,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0,controlled:!0}),l=null===(r=null==n?void 0:n.syncVModel)||void 0===r||r,u=l&&!("initialValue"in(n||{}))?ue(t.getCurrentInstance(),(null==n?void 0:n.modelPropName)||"modelValue"):null==n?void 0:n.initialValue;if(!n)return Object.assign(Object.assign({},a()),{initialValue:u});const i="valueProp"in n?n.valueProp:n.checkedValue,o="standalone"in n?!n.standalone:n.controlled;return Object.assign(Object.assign(Object.assign({},a()),n||{}),{initialValue:u,controlled:null==o||o,checkedValue:i})}(t.unref(e),a),S=b?T(i):void 0,k=w||S;let B=!1;const{id:I,value:C,initialValue:R,meta:x,setState:N,errors:U,errorMessage:$}=ne(e,{modelValue:l,form:k});A&&function({prop:e,value:n,handleChange:r}){const a=t.getCurrentInstance();if(!a)return;const l=e||"modelValue",u=`update:${l}`;if(!(l in a.props))return;t.watch(n,(e=>{F(e,ue(a,l))||a.emit(u,e)})),t.watch((()=>ue(a,l)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;F(t,P(n.value,a.props.modelModifiers))||r(t)}))}({value:C,prop:O,handleChange:X});const D=t.computed((()=>{let a=t.unref(r);const l=t.unref(null==k?void 0:k.schema);return!l||v(l)||f(l)||(a=function(e,t){if(!e)return;return e[t]}(l,t.unref(e))||a),v(a)||f(a)||n(a)||Array.isArray(a)?a:L(a)}));async function z(n){var r,a;return(null==k?void 0:k.validateSchema)?null!==(r=(await k.validateSchema(n)).results[t.unref(e)])&&void 0!==r?r:{valid:!0,errors:[]}:Q(C.value,D.value,{name:t.unref(e),label:t.unref(h),values:null!==(a=null==k?void 0:k.values)&&void 0!==a?a:{},bails:d})}const K=_((async()=>(x.pending=!0,x.validated=!0,z("validated-only"))),(e=>(B&&(e.valid=!0,e.errors=[]),N({errors:e.errors}),x.pending=!1,e))),G=_((async()=>z("silent")),(e=>(B&&(e.valid=!0),x.valid=e.valid,e)));function X(e,t=!0){const n=q(e);C.value=n,!y&&t&&K()}let H;t.onMounted((()=>{if(u)return K();k&&k.validateSchema||G()}));let J=j(C.value);function W(){H=t.watch(C,((e,t)=>{if(F(e,t)&&F(e,J))return;(y?K:G)(),J=j(e)}),{deep:!0})}function Y(e){var n;null==H||H();const r=e&&"value"in e?e.value:R.value;N({value:j(r),initialValue:j(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),x.pending=!1,x.validated=!1,G(),t.nextTick((()=>{W()}))}W();const Z={id:I,name:e,label:h,value:C,meta:x,errors:U,errorMessage:$,type:p,checkedValue:m,uncheckedValue:g,bails:d,keepValueOnUnmount:V,resetField:Y,handleReset:()=>Y(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?G():K()},handleChange:X,handleBlur:()=>{x.touched=!0},setState:N,setTouched:function(e){x.touched=e},setErrors:function(e){N({errors:Array.isArray(e)?e:[e]})},setValue:function(e){C.value=e}};if(t.provide(o,Z),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{F(e,t)||(x.validated?K():G())}),{deep:!0}),!k)return Z;k.register(Z),t.onBeforeUnmount((()=>{B=!0,k.unregister(Z)}));const ee=t.computed((()=>{const e=D.value;return!e||n(e)||v(e)||f(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(a=e[n],Array.isArray(a)?a.filter(c):M(a).filter((e=>c(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=E(k.values,t)||k.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(ee,((e,t)=>{if(!Object.keys(e).length)return;!F(e,t)&&(x.validated?K():G())})),Z}function ue(e,t){if(e)return e.props[t]}function ie(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function oe(e,t){return p(t.attrs.type)?O(e,"modelValue")?e.modelValue:void 0:O(e,"modelValue")?e.modelValue:t.attrs.value}const se=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:()=>H().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,n){const r=t.toRef(e,"rules"),a=t.toRef(e,"name"),l=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),i=t.toRef(e,"keepValue"),{errors:o,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:v,setTouched:m,resetField:h,handleReset:y,meta:b,checked:V,setErrors:O}=ae(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:oe(e,n),checkedValue:n.attrs.value,uncheckedValue:u,label:l,validateOnValueUpdate:!1,keepValueOnUnmount:i}),F=function(e,t=!0){f(e,t),n.emit("update:modelValue",s.value)},A=function(e){(e=>{p(n.attrs.type)||(s.value=q(e))})(e),n.emit("update:modelValue",s.value)},w=t.computed((()=>{const{validateOnInput:t,validateOnChange:r,validateOnBlur:a,validateOnModelUpdate:l}=function(e){var t,n,r,a;const{validateOnInput:l,validateOnChange:u,validateOnBlur:i,validateOnModelUpdate:o}=H();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:l,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:u,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:i,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:o}}(e),u=[v,n.attrs.onBlur,a?c:void 0].filter(Boolean),i=[e=>F(e,t),n.attrs.onInput].filter(Boolean),o=[e=>F(e,r),n.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:i,onChange:o,"onUpdate:modelValue":e=>F(e,l)};p(n.attrs.type)&&V&&(d.checked=V.value);return g(ie(e,n),n.attrs)&&(d.value=s.value),d}));function j(){return{field:w.value,value:s.value,meta:b,errors:o.value,errorMessage:d.value,validate:c,resetField:h,handleChange:F,handleInput:A,handleReset:y,handleBlur:v,setTouched:m,setErrors:O}}return n.expose({setErrors:O,setTouched:m,reset:h,validate:c,handleChange:f}),()=>{const r=t.resolveDynamicComponent(ie(e,n)),a=$(r,n,j);return r?t.h(r,Object.assign(Object.assign({},n.attrs),w.value),a):a}}});let de=0;function ce(e){const r=t.unref(null==e?void 0:e.initialValues)||{};return(null==e?void 0:e.validationSchema)&&f(e.validationSchema)&&n(e.validationSchema.cast)?j(e.validationSchema.cast(r)||{}):j(r)}function fe(e){var n;const r=de++,a=new Set;let l=!1;const u=t.ref({}),o=t.ref(!1),s=t.ref(0),d=[],c=t.reactive(ce(e)),{errorBag:p,setErrorBag:h,setFieldErrorBag:y}=function(e){const n=t.ref({});function r(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?n.value[e]=r(t):delete n.value[e]}function l(e){n.value=M(e).reduce(((t,n)=>{const a=e[n];return a&&(t[n]=r(a)),t}),{})}e&&l(e);return{errorBag:n,setErrorBag:l,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),g=t.computed((()=>M(p.value).reduce(((e,t)=>{const n=p.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function V(e){const t=u.value[e];return Array.isArray(t)?t[0]:t}function O(e){return!!u.value[e]}const A=t.computed((()=>M(u.value).reduce(((e,n)=>{const r=V(n);return r&&(e[n]={name:t.unref(r.name)||"",label:t.unref(r.label)||""}),e}),{}))),w=t.computed((()=>M(u.value).reduce(((e,t)=>{var n;const r=V(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),S=Object.assign({},(null==e?void 0:e.initialErrors)||{}),B=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:T,originalInitialValues:C,setInitialValues:R}=function(e,n,r){const a=ce(r),l=null==r?void 0:r.initialValues,u=t.ref(a),i=t.ref(j(a));function o(t,r=!1){u.value=j(t),i.value=j(t),r&&M(e.value).forEach((t=>{const r=e.value[t],a=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||a)return;const l=E(u.value,t);k(n,t,j(l))}))}t.isRef(l)&&t.watch(l,(e=>{o(e,!0)}),{deep:!0});return{initialValues:u,originalInitialValues:i,setInitialValues:o}}(u,c,e),P=function(e,n,r,a){const l={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!F(n,t.unref(r))));function i(){const t=Object.values(e.value).flat(1).filter(Boolean);return M(l).reduce(((e,n)=>{const r=l[n];return e[n]=t[r]((e=>e.meta[n])),e}),{})}const o=t.reactive(i());return t.watchEffect((()=>{const e=i();o.touched=e.touched,o.valid=e.valid,o.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(r)},o),{valid:o.valid&&!M(a.value).length,dirty:u.value})))}(u,c,C,g),U=t.computed((()=>[...a,...M(u.value)].reduce(((e,t)=>(k(e,t,E(c,t)),e)),{}))),$=null==e?void 0:e.validationSchema,D=N(me,5),z=N(me,5),q=_((async e=>"silent"===await e?D():z()),((e,[t])=>{const n=G.fieldsByPath.value||{},r=M(G.errorBag.value);return[...new Set([...M(e.results),...M(n),...r])].reduce(((r,a)=>{const l=n[a],u=(e.results[a]||{errors:[]}).errors,i={errors:u,valid:!u.length};if(r.results[a]=i,i.valid||(r.errors[a]=i.errors[0]),!l)return Q(a,u),r;if(H(l,(e=>e.meta.valid=i.valid)),"silent"===t)return r;const o=Array.isArray(l)?l.some((e=>e.meta.validated)):l.meta.validated;return"validated-only"!==t||o?(H(l,(e=>e.setState({errors:i.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})}));function L(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),le(M(u.value).reduce(((e,t)=>(e[t]=!0,e)),{})),o.value=!0,s.value++,fe().then((a=>{const l=j(c);if(a.valid&&"function"==typeof t){const n=j(U.value);let u=e?n:l;return a.values&&(u=a.values),t(u,{evt:r,controlledValues:n,setErrors:Y,setFieldError:Q,setTouched:le,setFieldTouched:ae,setValues:te,setFieldValue:Z,resetForm:ie,resetField:ue})}a.valid||"function"!=typeof n||n({values:l,evt:r,errors:a.errors,results:a.results})})).then((e=>(o.value=!1,e)),(e=>{throw o.value=!1,e}))}}}const K=L(!1);K.withControlled=L(!0);const G={formId:r,fieldsByPath:u,values:c,controlledValues:U,errorBag:p,errors:g,schema:$,submitCount:s,meta:P,isSubmitting:o,fieldArrays:d,keepValuesOnUnmount:B,validateSchema:t.unref($)?q:void 0,validate:fe,register:function(e){const n=t.unref(e.name);oe(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),se(e,r),oe(e,n),(g.value[r]||g.value[n])&&(Q(r,void 0),ve(n)),await t.nextTick(),O(r)||I(c,r)}));const r=t.unref(e.errorMessage);r&&(null==S?void 0:S[n])!==r&&ve(n);delete S[n]},unregister:function(e){const n=t.unref(e.name),r=u.value[n],a=!!r&&X(r);se(e,n),t.nextTick((()=>{var l;const i=null!==(l=t.unref(e.keepValueOnUnmount))&&void 0!==l?l:t.unref(B),o=E(c,n);if(a&&(r===u.value[n]||!u.value[n])&&!i)if(Array.isArray(o)){const r=o.findIndex((n=>F(n,t.unref(e.checkedValue))));if(r>-1){const e=[...o];e.splice(r,1),Z(n,e,{force:!0})}}else o===t.unref(e.checkedValue)&&I(c,n);if(!O(n)){if(Q(n,void 0),i)return;if(a&&Array.isArray(o)&&!m(o))return;I(c,n)}}))},setFieldErrorBag:y,validateField:ve,setFieldValue:Z,setValues:te,setErrors:Y,setFieldError:Q,setFieldTouched:ae,setTouched:le,resetForm:ie,resetField:ue,handleSubmit:K,stageInitialValue:function(t,n,r=!1){k(c,t,n),pe(t,n),r&&!(null==e?void 0:e.initialValues)&&k(C.value,t,j(n))},unsetInitialValue:function(e){I(T.value,e)},setFieldInitialValue:pe,useFieldModel:function(e){if(!Array.isArray(e))return ne(e);return e.map(ne)}};function X(e){return Array.isArray(e)}function H(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function J(e){Object.values(u.value).forEach((t=>{t&&H(t,e)}))}function Q(e,t){y(e,t)}function Y(e){h(e)}function Z(e,n,{force:r}={force:!1}){var a;const i=u.value[e],o=j(n);if(!i)return void k(c,e,o);if(X(i)&&"checkbox"===(null===(a=i[0])||void 0===a?void 0:a.type)&&!Array.isArray(n)){const t=j(x(E(c,e)||[],n,void 0));return void k(c,e,t)}let s=o;X(i)||"checkbox"!==i.type||r||l||(s=j(x(E(c,e),n,t.unref(i.uncheckedValue)))),k(c,e,s)}function te(e){M(c).forEach((e=>{delete c[e]})),M(e).forEach((t=>{Z(t,e[t])})),d.forEach((e=>e&&e.reset()))}function ne(e){const{value:n}=re(e,void 0,G);return t.watch(n,(()=>{O(t.unref(e))||fe({mode:"validated-only"})}),{deep:!0}),a.add(t.unref(e)),n}function ae(e,t){const n=u.value[e];n&&H(n,(e=>e.setTouched(t)))}function le(e){M(e).forEach((t=>{ae(t,!!e[t])}))}function ue(e,t){const n=u.value[e];n&&H(n,(e=>e.resetField(t)))}function ie(e){l=!0,J((e=>e.resetField()));const n=(null==e?void 0:e.values)?e.values:C.value;R(n),te(n),(null==e?void 0:e.touched)&&le(e.touched),Y((null==e?void 0:e.errors)||{}),s.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{l=!1}))}function oe(e,n){const r=t.markRaw(e),a=n;if(!u.value[a])return void(u.value[a]=r);const l=u.value[a];l&&!Array.isArray(l)&&(u.value[a]=[l]),u.value[a]=[...u.value[a],r]}function se(e,t){const n=t,r=u.value[n];if(r)if(X(r)||e.id!==r.id){if(X(r)){const t=r.findIndex((t=>t.id===e.id));if(-1===t)return;r.splice(t,1),r.length||delete u.value[n]}}else delete u.value[n]}async function fe(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&J((e=>e.meta.validated=!0)),G.validateSchema)return G.validateSchema(n);const r=await Promise.all(Object.values(u.value).map((n=>{const r=Array.isArray(n)?n[0]:n;return r?r.validate(e).then((e=>({key:t.unref(r.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),a={},l={};for(const e of r)a[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(l[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:a,errors:l}}async function ve(e){const n=u.value[e];return n?Array.isArray(n)?n.map((e=>e.validate()))[0]:n.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function pe(e,t){k(T.value,e,j(t))}async function me(){const e=t.unref($);if(!e)return{valid:!0,results:{},errors:{}};const n=v(e)||f(e)?await async function(e,t){const n=f(e)?e:W(e),r=await n.parse(t),a={},l={};for(const e of r.errors){const t=e.errors,n=(e.path||"").replace(/\["(\d+)"\]/g,((e,t)=>`[${t}]`));a[n]={valid:!t.length,errors:t},t.length&&(l[n]=t[0])}return{valid:!r.errors.length,results:a,errors:l,values:r.value}}(e,c):await ee(e,c,{names:A.value,bailsMap:w.value});return n}const he=K(((e,{evt:t})=>{b(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&Y(e.initialErrors),(null==e?void 0:e.initialTouched)&&le(e.initialTouched),(null==e?void 0:e.validateOnMount)?fe():G.validateSchema&&G.validateSchema("silent")})),t.isRef($)&&t.watch($,(()=>{var e;null===(e=G.validateSchema)||void 0===e||e.call(G,"validated-only")})),t.provide(i,G),Object.assign(Object.assign({},G),{handleReset:()=>ie(),submitForm:he})}const ve=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,n){const r=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),l=t.toRef(e,"keepValues"),{errors:u,errorBag:i,values:o,meta:s,isSubmitting:d,submitCount:c,controlledValues:f,validate:v,validateField:p,handleReset:m,resetForm:h,handleSubmit:y,setErrors:g,setFieldError:O,setFieldValue:F,setValues:A,setFieldTouched:w,setTouched:S,resetField:E}=fe({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:l}),k=y(((e,{evt:t})=>{b(t)&&t.target.submit()}),e.onInvalidSubmit),B=e.onSubmit?y(e.onSubmit,e.onInvalidSubmit):k;function I(e){V(e)&&e.preventDefault(),m(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function M(t,n){return y("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function T(){return j(o)}function C(){return j(s.value)}function R(){return j(u.value)}function x(){return{meta:s.value,errors:u.value,errorBag:i.value,values:o,isSubmitting:d.value,submitCount:c.value,controlledValues:f.value,validate:v,validateField:p,handleSubmit:M,handleReset:m,submitForm:k,setErrors:g,setFieldError:O,setFieldValue:F,setValues:A,setFieldTouched:w,setTouched:S,resetForm:h,resetField:E,getValues:T,getMeta:C,getErrors:R}}return n.expose({setFieldError:O,setErrors:g,setFieldValue:F,setValues:A,setFieldTouched:w,setTouched:S,resetForm:h,validate:v,validateField:p,resetField:E,getValues:T,getMeta:C,getErrors:R}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=$(r,n,x);if(!e.as)return a;const l="form"===e.as?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},l),n.attrs),{onSubmit:B,onReset:I}),a)}}}),pe=ve;function me(e){const n=T(i,void 0),a=t.ref([]),l=()=>{},u={fields:a,remove:l,push:l,swap:l,insert:l,update:l,replace:l,prepend:l,move:l};if(!n)return C("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),u;if(!t.unref(e))return C("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),u;const o=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(o)return o;let s=0;function d(){return E(null==n?void 0:n.values,t.unref(e),[])||[]}function c(){const e=d();a.value=e.map(v),f()}function f(){const e=a.value.length;for(let t=0;t<e;t++){const n=a.value[t];n.isFirst=0===t,n.isLast=t===e-1}}function v(r){const l=s++,u={key:l,value:U({get(){const u=E(null==n?void 0:n.values,t.unref(e),[])||[],i=a.value.findIndex((e=>e.key===l));return-1===i?r:u[i]},set(e){const t=a.value.findIndex((e=>e.key===l));-1!==t?m(t,e):C("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return u}function p(){f(),null==n||n.validate({mode:"silent"})}function m(r,a){const l=t.unref(e),u=E(null==n?void 0:n.values,l);!Array.isArray(u)||u.length-1<r||(null==n||n.setFieldValue(`${l}[${r}]`,a),null==n||n.validate({mode:"validated-only"}))}c();const h={fields:a,remove:function(r){const l=t.unref(e),u=E(null==n?void 0:n.values,l);if(!u||!Array.isArray(u))return;const i=[...u];i.splice(r,1),null==n||n.unsetInitialValue(l+`[${r}]`),null==n||n.setFieldValue(l,i),a.value.splice(r,1),p()},push:function(l){const u=t.unref(e),i=E(null==n?void 0:n.values,u),o=r(i)?[]:i;if(!Array.isArray(o))return;const s=[...o];s.push(l),null==n||n.stageInitialValue(u+`[${s.length-1}]`,l),null==n||n.setFieldValue(u,s),a.value.push(v(l)),p()},swap:function(r,l){const u=t.unref(e),i=E(null==n?void 0:n.values,u);if(!Array.isArray(i)||!(r in i)||!(l in i))return;const o=[...i],s=[...a.value],d=o[r];o[r]=o[l],o[l]=d;const c=s[r];s[r]=s[l],s[l]=c,null==n||n.setFieldValue(u,o),a.value=s,f()},insert:function(r,l){const u=t.unref(e),i=E(null==n?void 0:n.values,u);if(!Array.isArray(i)||i.length<r)return;const o=[...i],s=[...a.value];o.splice(r,0,l),s.splice(r,0,v(l)),null==n||n.setFieldValue(u,o),a.value=s,p()},update:m,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),c(),p()},prepend:function(l){const u=t.unref(e),i=E(null==n?void 0:n.values,u),o=r(i)?[]:i;if(!Array.isArray(o))return;const s=[l,...o];null==n||n.stageInitialValue(u+`[${s.length-1}]`,l),null==n||n.setFieldValue(u,s),a.value.unshift(v(l)),p()},move:function(l,u){const i=t.unref(e),o=E(null==n?void 0:n.values,i),s=r(o)?[]:[...o];if(!Array.isArray(o)||!(l in o)||!(u in o))return;const d=[...a.value],c=d[l];d.splice(l,1),d.splice(u,0,c);const f=s[l];s.splice(l,1),s.splice(u,0,f),null==n||n.setFieldValue(i,s),a.value=d,p()}};return n.fieldArrays.push(Object.assign({path:e,reset:c},h)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.unref(n.path)===t.unref(e)));r>=0&&n.fieldArrays.splice(r,1)})),t.watch(d,(e=>{F(e,a.value.map((e=>e.value)))||c()})),h}const he=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,n){const{push:r,remove:a,swap:l,insert:u,replace:i,update:o,prepend:s,move:d,fields:c}=me(t.toRef(e,"name"));function f(){return{fields:c.value,push:r,remove:a,swap:l,insert:u,update:o,replace:i,prepend:s,move:d}}return n.expose({push:r,remove:a,swap:l,insert:u,update:o,replace:i,prepend:s,move:d}),()=>$(void 0,n,f)}}),ye=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(i,void 0),a=t.computed((()=>null==r?void 0:r.errors.value[e.name]));function l(){return{message:a.value}}return()=>{if(!a.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,u=$(r,n,l),i=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(r,i,u):t.h(r||"span",i,a.value):u}}});e.ErrorMessage=ye,e.Field=se,e.FieldArray=he,e.FieldContextKey=o,e.Form=pe,e.FormContextKey=i,e.IS_ABSENT=s,e.configure=J,e.defineRule=function(e,t){!function(e,t){if(n(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),u[e]=t},e.useField=ae,e.useFieldArray=me,e.useFieldError=function(e){const n=T(i),r=e?void 0:t.inject(o);return t.computed((()=>e?null==n?void 0:n.errors.value[t.unref(e)]:null==r?void 0:r.errorMessage.value))},e.useFieldValue=function(e){const n=T(i),r=e?void 0:t.inject(o);return t.computed((()=>e?E(null==n?void 0:n.values,t.unref(e)):t.unref(null==r?void 0:r.value)))},e.useForm=fe,e.useFormErrors=function(){const e=T(i);return e||C("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=T(i);return e||C("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 n=T(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.dirty:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const n=T(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.touched:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const n=T(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.valid:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);t||C("No vee-validate <Form /> or `useForm` was detected in the component tree");const n=t?t.handleSubmit(e):void 0;return function(e){if(n)return n(e)}},e.useValidateField=function(e){const n=T(i);let r=e?void 0:t.inject(o);return function(){return e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.validate():(C(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=T(i);return e||C("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=Q,e.validateObject=ee}));
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 n(e){return"function"==typeof e}function r(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function u(e){return Number(e)>=0}const l={};const i=Symbol("vee-validate-form"),o=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value"),d="undefined"!=typeof window;function c(e){return n(e)&&!!e.__locatorRef}function f(e){return!!e&&n(e.parse)&&"VVTypedSchema"===e.__type}function v(e){return!!e&&n(e.validate)}function p(e){return"checkbox"===e||"radio"===e}function m(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function h(e){return/^\[.+\]$/i.test(e)}function y(e){return"SELECT"===e.tagName}function g(e,t){return!function(e,t){const n=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&n}(e,t)&&"file"!==t.type&&!p(t.type)}function b(e){return V(e)&&e.target&&"submit"in e.target}function V(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function O(e,t){return t in e&&e[t]!==s}function F(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,a;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!F(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!F(r[1],t.get(r[0])))return!1;return!0}if(A(e)&&A(t))return e.size===t.size&&(e.name===t.name&&(e.lastModified===t.lastModified&&e.type===t.type));if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,a[r]))return!1;for(r=n;0!=r--;){var u=a[r];if(!F(e[u],t[u]))return!1}return!0}return e!=e&&t!=t}function A(e){return!!d&&e instanceof File}function w(e,t,n){"object"==typeof n.value&&(n.value=j(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function j(e){if("object"!=typeof e)return e;var t,n,r,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?r=Object.create(e.__proto__||null):"[object Array]"===u?r=Array(e.length):"[object Set]"===u?(r=new Set,e.forEach((function(e){r.add(j(e))}))):"[object Map]"===u?(r=new Map,e.forEach((function(e,t){r.set(j(t),j(e))}))):"[object Date]"===u?r=new Date(+e):"[object RegExp]"===u?r=new RegExp(e.source,e.flags):"[object DataView]"===u?r=new e.constructor(j(e.buffer)):"[object ArrayBuffer]"===u?r=e.slice(0):"Array]"===u.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)w(r,n[a],Object.getOwnPropertyDescriptor(e,n[a]));for(a=0,n=Object.getOwnPropertyNames(e);a<n.length;a++)Object.hasOwnProperty.call(r,t=n[a])&&r[t]===e[t]||w(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}function E(e){return h(e)?e.replace(/\[|\]/gi,""):e}function S(e,t,n){if(!e)return n;if(h(t))return e[E(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(r=e)||Array.isArray(r))&&t in e?e[t]:n;var r}),e)}function k(e,t,n){if(h(t))return void(e[E(t)]=n);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let l=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(l[a[e]]=n);a[e]in l&&!r(l[a[e]])||(l[a[e]]=u(a[e+1])?[]:{}),l=l[a[e]]}}function B(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function I(e,t){if(h(t))return void delete e[E(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){B(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const u=n.map(((t,r)=>S(e,n.slice(0,r).join("."))));for(let t=u.length-1;t>=0;t--)m(u[t])&&(0!==t?B(u[t-1],n[t-1]):B(e,n[0]))}function M(e){return Object.keys(e)}function T(e,n=undefined){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function C(e){t.warn(`[vee-validate]: ${e}`)}function R(e){return Array.isArray(e)?e[0]:e}function x(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>F(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return F(e,t)?n:t}function N(e,t=0){let n=null,r=[];return function(...a){return n&&window.clearTimeout(n),n=window.setTimeout((()=>{const t=e(...a);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}function P(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function _(e,t){let n;return async function(...r){const a=e(...r);n=a;const u=await a;return a!==n||(n=void 0,t(u,r)),u}}function U({get:e,set:n}){const r=t.ref(j(e()));return t.watch(e,(e=>{F(e,r.value)||(r.value=j(e))}),{deep:!0}),t.watch(r,(t=>{F(t,e())||n(j(t))}),{deep:!0}),r}function $(e){return t.computed((()=>function(e){return n(e)?e():t.unref(e)}(e)))}const D=(e,t,n)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,r;return null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,n())}}:t.slots.default(n()):t.slots.default;function z(e){if(q(e))return e._value}function q(e){return"_value"in e}function L(e){if(!V(e))return e;const t=e.target;if(p(t.type)&&q(t))return z(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(y(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(z);var n;if(y(t)){const e=Array.from(t.options).find((e=>e.selected));return e?z(e):t.value}return t.value}function K(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,n)=>{const r=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[n]);return!1!==e[n]&&(t[n]=G(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=X(t);return n.name?(e[n.name]=G(n.params),e):e}),t):t}function G(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>S(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(((n,r)=>(n[r]=t(e[r]),n)),{})}const X=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let H=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const J=()=>H,Q=e=>{H=Object.assign(Object.assign({},H),e)};async function W(e,t,r={}){const a=null==r?void 0:r.bails,u={name:(null==r?void 0:r.name)||"{field}",rules:t,label:null==r?void 0:r.label,bails:null==a||a,formData:(null==r?void 0:r.values)||{}},l=await async function(e,t){if(f(e.rules)||v(e.rules))return async function(e,t){const n=f(t)?t:Y(t),r=await n.parse(e),a=[];for(const e of r.errors)e.errors.length&&a.push(...e.errors);return{errors:a}}(t,e.rules);if(n(e.rules)||Array.isArray(e.rules)){const n={field:e.label||e.name,name:e.name,label:e.label,form:e.formData,value:t},r=Array.isArray(e.rules)?e.rules:[e.rules],a=r.length,u=[];for(let l=0;l<a;l++){const a=r[l],i=await a(t,n);if("string"!=typeof i&&i)continue;const o="string"==typeof i?i:ee(n);if(u.push(o),e.bails)return{errors:u}}return{errors:u}}const r=Object.assign(Object.assign({},e),{rules:K(e.rules)}),a=[],u=Object.keys(r.rules),l=u.length;for(let n=0;n<l;n++){const l=u[n],i=await Z(r,t,{name:l,params:r.rules[l]});if(i.error&&(a.push(i.error),e.bails))return{errors:a}}return{errors:a}}(u,e),i=l.errors;return{errors:i,valid:!i.length}}function Y(e){return{__type:"VVTypedSchema",async parse(t){var n;try{return{output:await e.validate(t,{abortEarly:!1}),errors:[]}}catch(e){if(!function(e){return!!e&&"ValidationError"===e.name}(e))throw e;if(!(null===(n=e.inner)||void 0===n?void 0:n.length)&&e.errors.length)return{errors:[{path:e.path,errors:e.errors}]};const t=e.inner.reduce(((e,t)=>{const n=t.path||"";return e[n]||(e[n]={errors:[],path:n}),e[n].errors.push(...t.errors),e}),{});return{errors:Object.values(t)}}}}}async function Z(e,t,n){const r=(a=n.name,l[a]);var a;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const u=function(e,t){const n=e=>c(e)?e(t):e;if(Array.isArray(e))return e.map(n);return Object.keys(e).reduce(((t,r)=>(t[r]=n(e[r]),t)),{})}(n.params,e.formData),i={field:e.label||e.name,name:e.name,label:e.label,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:u})},o=await r(t,u,i);return"string"==typeof o?{error:o}:{error:o?void 0:ee(i)}}function ee(e){const t=J().generateMessage;return t?t(e):"Field is invalid"}async function te(e,t,n){const r=M(e).map((async r=>{var a,u,l;const i=null===(a=null==n?void 0:n.names)||void 0===a?void 0:a[r],o=await W(S(t,r),e[r],{name:(null==i?void 0:i.name)||r,label:null==i?void 0:i.label,values:t,bails:null===(l=null===(u=null==n?void 0:n.bailsMap)||void 0===u?void 0:u[r])||void 0===l||l});return Object.assign(Object.assign({},o),{path:r})}));let a=!0;const u=await Promise.all(r),l={},i={};for(const e of u)l[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,i[e.path]=e.errors[0]);return{valid:a,results:l,errors:i}}let ne=0;function re(e,n){const{value:r,initialValue:a,setInitialValue:u}=ae(e,n.modelValue,n.form),{errorMessage:l,errors:i,setErrors:o}=function(e,n){function r(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=r(t)}}}const a=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:a,errorMessage:t.computed((()=>a.value[0])),setErrors:a=>{n.setFieldErrorBag(t.unref(e),r(a))}}}(e,n.form),s=function(e,n,r){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(r).length,initialValue:t.computed((()=>t.unref(n))),dirty:t.computed((()=>!F(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(r,a,i);return{id:ne>=Number.MAX_SAFE_INTEGER?0:++ne,path:e,value:r,initialValue:a,meta:s,errors:i,errorMessage:l,setState:function(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&o(e.errors),"touched"in e&&(s.touched=null!==(t=e.touched)&&void 0!==t?t:s.touched),"initialValue"in e&&u(e.initialValue)}}}function ae(e,n,r){const a=t.ref(t.unref(n));function u(){return r?S(r.meta.value.initialValues,t.unref(e),t.unref(a)):t.unref(a)}function l(n){r?r.stageInitialValue(t.unref(e),n,!0):a.value=n}const i=t.computed(u);if(!r){return{value:t.ref(u()),initialValue:i,setInitialValue:l}}const o=function(e,n,r,a){if(t.isRef(e))return t.unref(e);if(void 0!==e)return e;return S(n.values,t.unref(a),t.unref(r))}(n,r,i,e);r.stageInitialValue(t.unref(e),o,!0);return{value:t.computed({get:()=>S(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n)}}),initialValue:i,setInitialValue:l}}function ue(e,n,r){return p(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:T(i),u=null==r?void 0:r.checkedValue,l=null==r?void 0:r.uncheckedValue;function o(e){const n=e.handleChange,r=t.computed((()=>{const n=t.unref(e.value),r=t.unref(u);return Array.isArray(n)?n.findIndex((e=>F(e,r)))>=0:F(r,n)}));function i(i,o=!0){var s;if(r.value===(null===(s=null==i?void 0:i.target)||void 0===s?void 0:s.checked))return void(o&&e.validate());let d=L(i);a||(d=x(t.unref(e.value),t.unref(u),t.unref(l))),n(d,o)}return Object.assign(Object.assign({},e),{checked:r,checkedValue:u,uncheckedValue:l,handleChange:i})}return o(le(e,n,r))}(e,n,r):le(e,n,r)}function le(e,r,a){const{initialValue:u,validateOnMount:l,bails:d,type:p,checkedValue:m,label:h,validateOnValueUpdate:y,uncheckedValue:g,controlled:b,keepValueOnUnmount:V,modelPropName:O,syncVModel:A,form:w}=function(e){var n;const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:void 0,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0,controlled:!0}),a=null===(n=null==e?void 0:e.syncVModel)||void 0===n||n,u=a&&!("initialValue"in(e||{}))?ie(t.getCurrentInstance(),(null==e?void 0:e.modelPropName)||"modelValue"):null==e?void 0:e.initialValue;if(!e)return Object.assign(Object.assign({},r()),{initialValue:u});const l="valueProp"in e?e.valueProp:e.checkedValue,i="standalone"in e?!e.standalone:e.controlled;return Object.assign(Object.assign(Object.assign({},r()),e||{}),{initialValue:u,controlled:null==i||i,checkedValue:l})}(a),E=b?T(i):void 0,k=w||E,B=$(e);let I=!1;const{id:C,value:R,initialValue:x,meta:N,setState:U,errors:D,errorMessage:z}=re(B,{modelValue:u,form:k});A&&function({prop:e,value:n,handleChange:r}){const a=t.getCurrentInstance();if(!a)return;const u=e||"modelValue",l=`update:${u}`;if(!(u in a.props))return;t.watch(n,(e=>{F(e,ie(a,u))||a.emit(l,e)})),t.watch((()=>ie(a,u)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;F(t,P(n.value,a.props.modelModifiers))||r(t)}))}({value:R,prop:O,handleChange:J});const q=t.computed((()=>{let e=t.unref(r);const a=t.unref(null==k?void 0:k.schema);return!a||v(a)||f(a)||(e=function(e,t){if(!e)return;return e[t]}(a,t.unref(B))||e),v(e)||f(e)||n(e)||Array.isArray(e)?e:K(e)}));async function G(e){var n,r;return(null==k?void 0:k.validateSchema)?null!==(n=(await k.validateSchema(e)).results[t.unref(B)])&&void 0!==n?n:{valid:!0,errors:[]}:W(R.value,q.value,{name:t.unref(B),label:t.unref(h),values:null!==(r=null==k?void 0:k.values)&&void 0!==r?r:{},bails:d})}const X=_((async()=>(N.pending=!0,N.validated=!0,G("validated-only"))),(e=>(I&&(e.valid=!0,e.errors=[]),U({errors:e.errors}),N.pending=!1,e))),H=_((async()=>G("silent")),(e=>(I&&(e.valid=!0),N.valid=e.valid,e)));function J(e,t=!0){const n=L(e);R.value=n,!y&&t&&X()}let Q;t.onMounted((()=>{if(l)return X();k&&k.validateSchema||H()}));let Y=j(R.value);function Z(){Q=t.watch(R,((e,t)=>{if(F(e,t)&&F(e,Y))return;(y?X:H)(),Y=j(e)}),{deep:!0})}function ee(e){var n;null==Q||Q();const r=e&&"value"in e?e.value:x.value;U({value:j(r),initialValue:j(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),N.pending=!1,N.validated=!1,H(),t.nextTick((()=>{Z()}))}Z();const te={id:C,name:B,label:h,value:R,meta:N,errors:D,errorMessage:z,type:p,checkedValue:m,uncheckedValue:g,bails:d,keepValueOnUnmount:V,resetField:ee,handleReset:()=>ee(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?H():X()},handleChange:J,handleBlur:()=>{N.touched=!0},setState:U,setTouched:function(e){N.touched=e},setErrors:function(e){U({errors:Array.isArray(e)?e:[e]})},setValue:function(e){R.value=e}};if(t.provide(o,te),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{F(e,t)||(N.validated?X():H())}),{deep:!0}),!k)return te;k.register(te),t.onBeforeUnmount((()=>{I=!0,k.unregister(te)}));const ne=t.computed((()=>{const e=q.value;return!e||n(e)||v(e)||f(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(a=e[n],Array.isArray(a)?a.filter(c):M(a).filter((e=>c(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=S(k.values,t)||k.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(ne,((e,t)=>{if(!Object.keys(e).length)return;!F(e,t)&&(N.validated?X():H())})),te}function ie(e,t){if(e)return e.props[t]}function oe(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function se(e,t){return p(t.attrs.type)?O(e,"modelValue")?e.modelValue:void 0:O(e,"modelValue")?e.modelValue:t.attrs.value}const de=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:()=>J().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,n){const r=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),l=t.toRef(e,"uncheckedValue"),i=t.toRef(e,"keepValue"),{errors:o,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:v,setTouched:m,resetField:h,handleReset:y,meta:b,checked:V,setErrors:O}=ue(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:se(e,n),checkedValue:n.attrs.value,uncheckedValue:l,label:u,validateOnValueUpdate:!1,keepValueOnUnmount:i}),F=function(e,t=!0){f(e,t),n.emit("update:modelValue",s.value)},A=function(e){(e=>{p(n.attrs.type)||(s.value=L(e))})(e),n.emit("update:modelValue",s.value)},w=t.computed((()=>{const{validateOnInput:t,validateOnChange:r,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,n,r,a;const{validateOnInput:u,validateOnChange:l,validateOnBlur:i,validateOnModelUpdate:o}=J();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:l,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:i,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:o}}(e),l=[v,n.attrs.onBlur,a?c:void 0].filter(Boolean),i=[e=>F(e,t),n.attrs.onInput].filter(Boolean),o=[e=>F(e,r),n.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:l,onInput:i,onChange:o,"onUpdate:modelValue":e=>F(e,u)};p(n.attrs.type)&&V&&(d.checked=V.value);return g(oe(e,n),n.attrs)&&(d.value=s.value),d}));function j(){return{field:w.value,value:s.value,meta:b,errors:o.value,errorMessage:d.value,validate:c,resetField:h,handleChange:F,handleInput:A,handleReset:y,handleBlur:v,setTouched:m,setErrors:O}}return n.expose({setErrors:O,setTouched:m,reset:h,validate:c,handleChange:f}),()=>{const r=t.resolveDynamicComponent(oe(e,n)),a=D(r,n,j);return r?t.h(r,Object.assign(Object.assign({},n.attrs),w.value),a):a}}});let ce=0;function fe(e){const r=t.unref(null==e?void 0:e.initialValues)||{},a=t.unref(null==e?void 0:e.validationSchema);return a&&f(a)&&n(a.cast)?j(a.cast(r)||{}):j(r)}function ve(e){var n;const r=ce++,a=new Set;let u=!1;const l=t.ref({}),o=t.ref(!1),s=t.ref(0),d=[],c=t.reactive(fe(e)),{errorBag:p,setErrorBag:h,setFieldErrorBag:y}=function(e){const n=t.ref({});function r(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?n.value[e]=r(t):delete n.value[e]}function u(e){n.value=M(e).reduce(((t,n)=>{const a=e[n];return a&&(t[n]=r(a)),t}),{})}e&&u(e);return{errorBag:n,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),g=t.computed((()=>M(p.value).reduce(((e,t)=>{const n=p.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function V(e){const t=l.value[e];return Array.isArray(t)?t[0]:t}function O(e){return!!l.value[e]}const A=t.computed((()=>M(l.value).reduce(((e,n)=>{const r=V(n);return r&&(e[n]={name:t.unref(r.name)||"",label:t.unref(r.label)||""}),e}),{}))),w=t.computed((()=>M(l.value).reduce(((e,t)=>{var n;const r=V(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),E=Object.assign({},(null==e?void 0:e.initialErrors)||{}),B=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:T,originalInitialValues:C,setInitialValues:R}=function(e,n,r){const a=fe(r),u=null==r?void 0:r.initialValues,l=t.ref(a),i=t.ref(j(a));function o(t,r=!1){l.value=j(t),i.value=j(t),r&&M(e.value).forEach((t=>{const r=e.value[t],a=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||a)return;const u=S(l.value,t);k(n,t,j(u))}))}t.isRef(u)&&t.watch(u,(e=>{o(e,!0)}),{deep:!0});return{initialValues:l,originalInitialValues:i,setInitialValues:o}}(l,c,e),P=function(e,n,r,a){const u={touched:"some",pending:"some",valid:"every"},l=t.computed((()=>!F(n,t.unref(r))));function i(){const t=Object.values(e.value).flat(1).filter(Boolean);return M(u).reduce(((e,n)=>{const r=u[n];return e[n]=t[r]((e=>e.meta[n])),e}),{})}const o=t.reactive(i());return t.watchEffect((()=>{const e=i();o.touched=e.touched,o.valid=e.valid,o.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(r)},o),{valid:o.valid&&!M(a.value).length,dirty:l.value})))}(l,c,C,g),U=t.computed((()=>[...a,...M(l.value)].reduce(((e,t)=>(k(e,t,S(c,t)),e)),{}))),$=null==e?void 0:e.validationSchema,D=N(me,5),z=N(me,5),q=_((async e=>"silent"===await e?D():z()),((e,[t])=>{const n=G.fieldsByPath.value||{},r=M(G.errorBag.value);return[...new Set([...M(e.results),...M(n),...r])].reduce(((r,a)=>{const u=n[a],l=(e.results[a]||{errors:[]}).errors,i={errors:l,valid:!l.length};if(r.results[a]=i,i.valid||(r.errors[a]=i.errors[0]),!u)return Q(a,l),r;if(H(u,(e=>e.meta.valid=i.valid)),"silent"===t)return r;const o=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==t||o?(H(u,(e=>e.setState({errors:i.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})}));function L(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),ue(M(l.value).reduce(((e,t)=>(e[t]=!0,e)),{})),o.value=!0,s.value++,de().then((a=>{const u=j(c);if(a.valid&&"function"==typeof t){const n=j(U.value);let l=e?n:u;return a.values&&(l=a.values),t(l,{evt:r,controlledValues:n,setErrors:W,setFieldError:Q,setTouched:ue,setFieldTouched:re,setValues:ee,setFieldValue:Z,resetForm:ie,resetField:le})}a.valid||"function"!=typeof n||n({values:u,evt:r,errors:a.errors,results:a.results})})).then((e=>(o.value=!1,e)),(e=>{throw o.value=!1,e}))}}}const K=L(!1);K.withControlled=L(!0);const G={formId:r,fieldsByPath:l,values:c,controlledValues:U,errorBag:p,errors:g,schema:$,submitCount:s,meta:P,isSubmitting:o,fieldArrays:d,keepValuesOnUnmount:B,validateSchema:t.unref($)?q:void 0,validate:de,register:function(e){const n=t.unref(e.name);oe(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),se(e,r),oe(e,n),(g.value[r]||g.value[n])&&(Q(r,void 0),ve(n)),await t.nextTick(),O(r)||I(c,r)}));const r=t.unref(e.errorMessage);r&&(null==E?void 0:E[n])!==r&&ve(n);delete E[n]},unregister:function(e){const n=t.unref(e.name),r=l.value[n],a=!!r&&X(r);se(e,n),t.nextTick((()=>{var u;const i=null!==(u=t.unref(e.keepValueOnUnmount))&&void 0!==u?u:t.unref(B),o=S(c,n);if(a&&(r===l.value[n]||!l.value[n])&&!i)if(Array.isArray(o)){const r=o.findIndex((n=>F(n,t.unref(e.checkedValue))));if(r>-1){const e=[...o];e.splice(r,1),Z(n,e,{force:!0})}}else o===t.unref(e.checkedValue)&&I(c,n);if(!O(n)){if(Q(n,void 0),i)return;if(a&&Array.isArray(o)&&!m(o))return;I(c,n)}}))},setFieldErrorBag:y,validateField:ve,setFieldValue:Z,setValues:ee,setErrors:W,setFieldError:Q,setFieldTouched:re,setTouched:ue,resetForm:ie,resetField:le,handleSubmit:K,stageInitialValue:function(t,n,r=!1){k(c,t,n),pe(t,n),r&&!(null==e?void 0:e.initialValues)&&k(C.value,t,j(n))},unsetInitialValue:function(e){I(T.value,e)},setFieldInitialValue:pe,useFieldModel:function(e){if(!Array.isArray(e))return ne(e);return e.map(ne)}};function X(e){return Array.isArray(e)}function H(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function J(e){Object.values(l.value).forEach((t=>{t&&H(t,e)}))}function Q(e,t){y(e,t)}function W(e){h(e)}function Z(e,n,{force:r}={force:!1}){var a;const i=l.value[e],o=j(n);if(!i)return void k(c,e,o);if(X(i)&&"checkbox"===(null===(a=i[0])||void 0===a?void 0:a.type)&&!Array.isArray(n)){const t=j(x(S(c,e)||[],n,void 0));return void k(c,e,t)}let s=o;X(i)||"checkbox"!==i.type||r||u||(s=j(x(S(c,e),n,t.unref(i.uncheckedValue)))),k(c,e,s)}function ee(e){M(c).forEach((e=>{delete c[e]})),M(e).forEach((t=>{Z(t,e[t])})),d.forEach((e=>e&&e.reset()))}function ne(e){const{value:n}=ae(e,void 0,G);return t.watch(n,(()=>{O(t.unref(e))||de({mode:"validated-only"})}),{deep:!0}),a.add(t.unref(e)),n}function re(e,t){const n=l.value[e];n&&H(n,(e=>e.setTouched(t)))}function ue(e){M(e).forEach((t=>{re(t,!!e[t])}))}function le(e,t){const n=l.value[e];n&&H(n,(e=>e.resetField(t)))}function ie(e){u=!0,J((e=>e.resetField()));const n=(null==e?void 0:e.values)?e.values:C.value;R(n),ee(n),(null==e?void 0:e.touched)&&ue(e.touched),W((null==e?void 0:e.errors)||{}),s.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{u=!1}))}function oe(e,n){const r=t.markRaw(e),a=n;if(!l.value[a])return void(l.value[a]=r);const u=l.value[a];u&&!Array.isArray(u)&&(l.value[a]=[u]),l.value[a]=[...l.value[a],r]}function se(e,t){const n=t,r=l.value[n];if(r)if(X(r)||e.id!==r.id){if(X(r)){const t=r.findIndex((t=>t.id===e.id));if(-1===t)return;r.splice(t,1),r.length||delete l.value[n]}}else delete l.value[n]}async function de(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&J((e=>e.meta.validated=!0)),G.validateSchema)return G.validateSchema(n);const r=await Promise.all(Object.values(l.value).map((n=>{const r=Array.isArray(n)?n[0]:n;return r?r.validate(e).then((e=>({key:t.unref(r.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),a={},u={};for(const e of r)a[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(u[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:a,errors:u}}async function ve(e){const n=l.value[e];return n?Array.isArray(n)?n.map((e=>e.validate()))[0]:n.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function pe(e,t){k(T.value,e,j(t))}async function me(){const e=t.unref($);if(!e)return{valid:!0,results:{},errors:{}};const n=v(e)||f(e)?await async function(e,t){const n=f(e)?e:Y(e),r=await n.parse(t),a={},u={};for(const e of r.errors){const t=e.errors,n=(e.path||"").replace(/\["(\d+)"\]/g,((e,t)=>`[${t}]`));a[n]={valid:!t.length,errors:t},t.length&&(u[n]=t[0])}return{valid:!r.errors.length,results:a,errors:u,values:r.value}}(e,c):await te(e,c,{names:A.value,bailsMap:w.value});return n}const he=K(((e,{evt:t})=>{b(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&W(e.initialErrors),(null==e?void 0:e.initialTouched)&&ue(e.initialTouched),(null==e?void 0:e.validateOnMount)?de():G.validateSchema&&G.validateSchema("silent")})),t.isRef($)&&t.watch($,(()=>{var e;null===(e=G.validateSchema)||void 0===e||e.call(G,"validated-only")})),t.provide(i,G),Object.assign(Object.assign({},G),{handleReset:()=>ie(),submitForm:he})}const pe=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,n){const r=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),u=t.toRef(e,"keepValues"),{errors:l,errorBag:i,values:o,meta:s,isSubmitting:d,submitCount:c,controlledValues:f,validate:v,validateField:p,handleReset:m,resetForm:h,handleSubmit:y,setErrors:g,setFieldError:O,setFieldValue:F,setValues:A,setFieldTouched:w,setTouched:E,resetField:S}=ve({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:u}),k=y(((e,{evt:t})=>{b(t)&&t.target.submit()}),e.onInvalidSubmit),B=e.onSubmit?y(e.onSubmit,e.onInvalidSubmit):k;function I(e){V(e)&&e.preventDefault(),m(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function M(t,n){return y("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function T(){return j(o)}function C(){return j(s.value)}function R(){return j(l.value)}function x(){return{meta:s.value,errors:l.value,errorBag:i.value,values:o,isSubmitting:d.value,submitCount:c.value,controlledValues:f.value,validate:v,validateField:p,handleSubmit:M,handleReset:m,submitForm:k,setErrors:g,setFieldError:O,setFieldValue:F,setValues:A,setFieldTouched:w,setTouched:E,resetForm:h,resetField:S,getValues:T,getMeta:C,getErrors:R}}return n.expose({setFieldError:O,setErrors:g,setFieldValue:F,setValues:A,setFieldTouched:w,setTouched:E,resetForm:h,validate:v,validateField:p,resetField:S,getValues:T,getMeta:C,getErrors:R}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=D(r,n,x);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},u),n.attrs),{onSubmit:B,onReset:I}),a)}}}),me=pe;function he(e){const n=T(i,void 0),a=t.ref([]),u=()=>{},l={fields:a,remove:u,push:u,swap:u,insert:u,update:u,replace:u,prepend:u,move:u};if(!n)return C("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),l;if(!t.unref(e))return C("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),l;const o=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(o)return o;let s=0;function d(){return S(null==n?void 0:n.values,t.unref(e),[])||[]}function c(){const e=d();a.value=e.map(v),f()}function f(){const e=a.value.length;for(let t=0;t<e;t++){const n=a.value[t];n.isFirst=0===t,n.isLast=t===e-1}}function v(r){const u=s++,l={key:u,value:U({get(){const l=S(null==n?void 0:n.values,t.unref(e),[])||[],i=a.value.findIndex((e=>e.key===u));return-1===i?r:l[i]},set(e){const t=a.value.findIndex((e=>e.key===u));-1!==t?m(t,e):C("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return l}function p(){f(),null==n||n.validate({mode:"silent"})}function m(r,a){const u=t.unref(e),l=S(null==n?void 0:n.values,u);!Array.isArray(l)||l.length-1<r||(null==n||n.setFieldValue(`${u}[${r}]`,a),null==n||n.validate({mode:"validated-only"}))}c();const h={fields:a,remove:function(r){const u=t.unref(e),l=S(null==n?void 0:n.values,u);if(!l||!Array.isArray(l))return;const i=[...l];i.splice(r,1),null==n||n.unsetInitialValue(u+`[${r}]`),null==n||n.setFieldValue(u,i),a.value.splice(r,1),p()},push:function(u){const l=t.unref(e),i=S(null==n?void 0:n.values,l),o=r(i)?[]:i;if(!Array.isArray(o))return;const s=[...o];s.push(u),null==n||n.stageInitialValue(l+`[${s.length-1}]`,u),null==n||n.setFieldValue(l,s),a.value.push(v(u)),p()},swap:function(r,u){const l=t.unref(e),i=S(null==n?void 0:n.values,l);if(!Array.isArray(i)||!(r in i)||!(u in i))return;const o=[...i],s=[...a.value],d=o[r];o[r]=o[u],o[u]=d;const c=s[r];s[r]=s[u],s[u]=c,null==n||n.setFieldValue(l,o),a.value=s,f()},insert:function(r,u){const l=t.unref(e),i=S(null==n?void 0:n.values,l);if(!Array.isArray(i)||i.length<r)return;const o=[...i],s=[...a.value];o.splice(r,0,u),s.splice(r,0,v(u)),null==n||n.setFieldValue(l,o),a.value=s,p()},update:m,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),c(),p()},prepend:function(u){const l=t.unref(e),i=S(null==n?void 0:n.values,l),o=r(i)?[]:i;if(!Array.isArray(o))return;const s=[u,...o];null==n||n.stageInitialValue(l+`[${s.length-1}]`,u),null==n||n.setFieldValue(l,s),a.value.unshift(v(u)),p()},move:function(u,l){const i=t.unref(e),o=S(null==n?void 0:n.values,i),s=r(o)?[]:[...o];if(!Array.isArray(o)||!(u in o)||!(l in o))return;const d=[...a.value],c=d[u];d.splice(u,1),d.splice(l,0,c);const f=s[u];s.splice(u,1),s.splice(l,0,f),null==n||n.setFieldValue(i,s),a.value=d,p()}};return n.fieldArrays.push(Object.assign({path:e,reset:c},h)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.unref(n.path)===t.unref(e)));r>=0&&n.fieldArrays.splice(r,1)})),t.watch(d,(e=>{F(e,a.value.map((e=>e.value)))||c()})),h}const ye=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,n){const{push:r,remove:a,swap:u,insert:l,replace:i,update:o,prepend:s,move:d,fields:c}=he(t.toRef(e,"name"));function f(){return{fields:c.value,push:r,remove:a,swap:u,insert:l,update:o,replace:i,prepend:s,move:d}}return n.expose({push:r,remove:a,swap:u,insert:l,update:o,replace:i,prepend:s,move:d}),()=>D(void 0,n,f)}}),ge=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(i,void 0),a=t.computed((()=>null==r?void 0:r.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,l=D(r,n,u),i=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(l)&&l||!(null==l?void 0:l.length)?!Array.isArray(l)&&l||(null==l?void 0:l.length)?t.h(r,i,l):t.h(r||"span",i,a.value):l}}});e.ErrorMessage=ge,e.Field=de,e.FieldArray=ye,e.FieldContextKey=o,e.Form=me,e.FormContextKey=i,e.IS_ABSENT=s,e.configure=Q,e.defineRule=function(e,t){!function(e,t){if(n(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),l[e]=t},e.useField=ue,e.useFieldArray=he,e.useFieldError=function(e){const n=T(i),r=e?void 0:t.inject(o);return t.computed((()=>e?null==n?void 0:n.errors.value[t.unref(e)]:null==r?void 0:r.errorMessage.value))},e.useFieldValue=function(e){const n=T(i),r=e?void 0:t.inject(o);return t.computed((()=>e?S(null==n?void 0:n.values,t.unref(e)):t.unref(null==r?void 0:r.value)))},e.useForm=ve,e.useFormErrors=function(){const e=T(i);return e||C("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=T(i);return e||C("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 n=T(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.dirty:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const n=T(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.touched:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const n=T(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.valid:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);return e||C("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=T(i);t||C("No vee-validate <Form /> or `useForm` was detected in the component tree");const n=t?t.handleSubmit(e):void 0;return function(e){if(n)return n(e)}},e.useValidateField=function(e){const n=T(i);let r=e?void 0:t.inject(o);return function(){return e&&(r=R(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.validate():(C(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=T(i);return e||C("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=W,e.validateObject=te}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vee-validate",
3
- "version": "4.8.3",
3
+ "version": "4.8.5",
4
4
  "description": "Form Validation for Vue.js",
5
5
  "author": "Abdelrahman Awad <logaretm1@gmail.com>",
6
6
  "license": "MIT",
@@ -28,10 +28,9 @@
28
28
  "dist/*.d.ts"
29
29
  ],
30
30
  "peerDependencies": {
31
- "vue": "^3.0.0"
31
+ "vue": "^3.2.0"
32
32
  },
33
33
  "dependencies": {
34
34
  "@vue/devtools-api": "^6.5.0"
35
- },
36
- "gitHead": "2492a60672bee11625bb6238d34ebe8c7a0f42d6"
37
- }
35
+ }
36
+ }