vee-validate 4.7.3 → 4.7.4

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.
@@ -3,6 +3,8 @@ import { Ref, ComputedRef, PropType, VNode, UnwrapRef, InjectionKey } from 'vue'
3
3
 
4
4
  interface FieldValidationMetaInfo {
5
5
  field: string;
6
+ name: string;
7
+ label?: string;
6
8
  value: unknown;
7
9
  form: Record<string, unknown>;
8
10
  rule?: {
@@ -113,12 +115,13 @@ interface SetFieldValueOptions {
113
115
  }
114
116
  interface FormActions<TValues extends GenericFormValues> {
115
117
  setFieldValue<T extends keyof TValues>(field: T, value: TValues[T], opts?: Partial<SetFieldValueOptions>): void;
116
- setFieldError: (field: keyof TValues, message: string | string[] | undefined) => void;
117
- setErrors: (fields: FormErrors<TValues>) => void;
118
+ setFieldError(field: keyof TValues, message: string | string[] | undefined): void;
119
+ setErrors(fields: FormErrors<TValues>): void;
118
120
  setValues<T extends keyof TValues>(fields: Partial<Record<T, TValues[T]>>): void;
119
- setFieldTouched: (field: keyof TValues, isTouched: boolean) => void;
120
- setTouched: (fields: Partial<Record<keyof TValues, boolean>>) => void;
121
- resetForm: (state?: Partial<FormState<TValues>>) => void;
121
+ setFieldTouched(field: keyof TValues, isTouched: boolean): void;
122
+ setTouched(fields: Partial<Record<keyof TValues, boolean>>): void;
123
+ resetForm(state?: Partial<FormState<TValues>>): void;
124
+ resetField(field: keyof TValues, state?: Partial<FieldState>): void;
122
125
  }
123
126
  interface FormValidationResult<TValues> {
124
127
  valid: boolean;
@@ -178,6 +181,7 @@ interface FormContext<TValues extends Record<string, any> = Record<string, any>>
178
181
 
179
182
  interface ValidationOptions {
180
183
  name?: string;
184
+ label?: string;
181
185
  values?: Record<string, unknown>;
182
186
  bails?: boolean;
183
187
  }
@@ -626,9 +630,12 @@ declare const Field: {
626
630
  };
627
631
  });
628
632
 
629
- declare type FormSlotProps = UnwrapRef<Pick<FormContext, 'meta' | 'errors' | 'values' | 'isSubmitting' | 'submitCount' | 'validate' | 'validateField' | 'handleReset' | 'setErrors' | 'setFieldError' | 'setFieldValue' | 'setValues' | 'setFieldTouched' | 'setTouched' | 'resetForm' | 'controlledValues'>> & {
633
+ declare type FormSlotProps = UnwrapRef<Pick<FormContext, 'meta' | 'errors' | 'values' | 'isSubmitting' | 'submitCount' | 'validate' | 'validateField' | 'handleReset' | 'setErrors' | 'setFieldError' | 'setFieldValue' | 'setValues' | 'setFieldTouched' | 'setTouched' | 'resetForm' | 'resetField' | 'controlledValues'>> & {
630
634
  handleSubmit: (evt: Event | SubmissionHandler, onSubmit?: SubmissionHandler) => Promise<unknown>;
631
635
  submitForm(evt?: Event): void;
636
+ getValues<TValues extends GenericFormValues = GenericFormValues>(): TValues;
637
+ getMeta<TValues extends GenericFormValues = GenericFormValues>(): FormMeta<TValues>;
638
+ getErrors<TValues extends GenericFormValues = GenericFormValues>(): FormErrors<TValues>;
632
639
  };
633
640
  declare const Form: {
634
641
  new (...args: any[]): {
@@ -882,8 +889,12 @@ declare const Form: {
882
889
  setFieldTouched: FormContext['setFieldTouched'];
883
890
  setTouched: FormContext['setTouched'];
884
891
  resetForm: FormContext['resetForm'];
892
+ resetField: FormContext['resetField'];
885
893
  validate: FormContext['validate'];
886
894
  validateField: FormContext['validateField'];
895
+ getValues: FormSlotProps['getValues'];
896
+ getMeta: FormSlotProps['getMeta'];
897
+ getErrors: FormSlotProps['getErrors'];
887
898
  $slots: {
888
899
  default: (arg: FormSlotProps) => VNode[];
889
900
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.7.3
3
- * (c) 2022 Abdelrahman Awad
2
+ * vee-validate v4.7.4
3
+ * (c) 2023 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
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';
@@ -670,6 +670,7 @@ async function validate(value, rules, options = {}) {
670
670
  const field = {
671
671
  name: (options === null || options === void 0 ? void 0 : options.name) || '{field}',
672
672
  rules,
673
+ label: options === null || options === void 0 ? void 0 : options.label,
673
674
  bails: shouldBail !== null && shouldBail !== void 0 ? shouldBail : true,
674
675
  formData: (options === null || options === void 0 ? void 0 : options.values) || {},
675
676
  };
@@ -690,7 +691,9 @@ async function _validate(field, value) {
690
691
  // if a generic function or chain of generic functions
691
692
  if (isCallable(field.rules) || Array.isArray(field.rules)) {
692
693
  const ctx = {
693
- field: field.name,
694
+ field: field.label || field.name,
695
+ name: field.name,
696
+ label: field.label,
694
697
  form: field.formData,
695
698
  value: value,
696
699
  };
@@ -773,7 +776,9 @@ async function _test(field, value, rule) {
773
776
  }
774
777
  const params = fillTargetValues(rule.params, field.formData);
775
778
  const ctx = {
776
- field: field.name,
779
+ field: field.label || field.name,
780
+ name: field.name,
781
+ label: field.label,
777
782
  value,
778
783
  form: field.formData,
779
784
  rule: Object.assign(Object.assign({}, rule), { params }),
@@ -845,8 +850,10 @@ async function validateObjectSchema(schema, values, opts) {
845
850
  const paths = keysOf(schema);
846
851
  const validations = paths.map(async (path) => {
847
852
  var _a, _b, _c;
853
+ const strings = (_a = opts === null || opts === void 0 ? void 0 : opts.names) === null || _a === void 0 ? void 0 : _a[path];
848
854
  const fieldResult = await validate(getFromPath(values, path), schema[path], {
849
- name: ((_a = opts === null || opts === void 0 ? void 0 : opts.names) === null || _a === void 0 ? void 0 : _a[path]) || path,
855
+ name: (strings === null || strings === void 0 ? void 0 : strings.name) || path,
856
+ label: strings === null || strings === void 0 ? void 0 : strings.label,
850
857
  values: values,
851
858
  bails: (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.bailsMap) === null || _b === void 0 ? void 0 : _b[path]) !== null && _c !== void 0 ? _c : true,
852
859
  });
@@ -1411,7 +1418,8 @@ function _useField(name, rules, opts) {
1411
1418
  return (_a = (await form.validateSchema(mode)).results[unref(name)]) !== null && _a !== void 0 ? _a : { valid: true, errors: [] };
1412
1419
  }
1413
1420
  return validate(value.value, normalizedRules.value, {
1414
- name: unref(label) || unref(name),
1421
+ name: unref(name),
1422
+ label: unref(label),
1415
1423
  values: (_b = form === null || form === void 0 ? void 0 : form.values) !== null && _b !== void 0 ? _b : {},
1416
1424
  bails,
1417
1425
  });
@@ -1924,7 +1932,7 @@ function useForm(opts) {
1924
1932
  return keysOf(fieldsByPath.value).reduce((names, path) => {
1925
1933
  const field = getFirstFieldAtPath(path);
1926
1934
  if (field) {
1927
- names[path] = unref(field.label || field.name) || '';
1935
+ names[path] = { name: unref(field.name) || '', label: unref(field.label) || '' };
1928
1936
  }
1929
1937
  return names;
1930
1938
  }, {});
@@ -2032,6 +2040,7 @@ function useForm(opts) {
2032
2040
  setValues,
2033
2041
  setFieldValue,
2034
2042
  resetForm,
2043
+ resetField,
2035
2044
  });
2036
2045
  }
2037
2046
  if (!result.valid && typeof onValidationError === 'function') {
@@ -2083,6 +2092,7 @@ function useForm(opts) {
2083
2092
  setFieldTouched,
2084
2093
  setTouched,
2085
2094
  resetForm,
2095
+ resetField,
2086
2096
  handleSubmit,
2087
2097
  stageInitialValue,
2088
2098
  unsetInitialValue,
@@ -2194,6 +2204,12 @@ function useForm(opts) {
2194
2204
  setFieldTouched(field, !!fields[field]);
2195
2205
  });
2196
2206
  }
2207
+ function resetField(field, state) {
2208
+ const fieldInstance = fieldsByPath.value[field];
2209
+ if (fieldInstance) {
2210
+ applyFieldMutation(fieldInstance, f => f.resetField(state));
2211
+ }
2212
+ }
2197
2213
  /**
2198
2214
  * Resets all fields
2199
2215
  */
@@ -2615,7 +2631,7 @@ const FormImpl = defineComponent({
2615
2631
  const initialValues = toRef(props, 'initialValues');
2616
2632
  const validationSchema = toRef(props, 'validationSchema');
2617
2633
  const keepValues = toRef(props, 'keepValues');
2618
- const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, } = useForm({
2634
+ const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, resetField, } = useForm({
2619
2635
  validationSchema: validationSchema.value ? validationSchema : undefined,
2620
2636
  initialValues,
2621
2637
  initialErrors: props.initialErrors,
@@ -2643,6 +2659,15 @@ const FormImpl = defineComponent({
2643
2659
  const onSuccess = typeof evt === 'function' && !onSubmit ? evt : onSubmit;
2644
2660
  return handleSubmit(onSuccess, props.onInvalidSubmit)(evt);
2645
2661
  }
2662
+ function getValues() {
2663
+ return klona(values);
2664
+ }
2665
+ function getMeta() {
2666
+ return klona(meta.value);
2667
+ }
2668
+ function getErrors() {
2669
+ return klona(errors.value);
2670
+ }
2646
2671
  function slotProps() {
2647
2672
  return {
2648
2673
  meta: meta.value,
@@ -2663,6 +2688,10 @@ const FormImpl = defineComponent({
2663
2688
  setFieldTouched,
2664
2689
  setTouched,
2665
2690
  resetForm,
2691
+ resetField,
2692
+ getValues,
2693
+ getMeta,
2694
+ getErrors,
2666
2695
  };
2667
2696
  }
2668
2697
  // expose these functions and methods as part of public API
@@ -2676,6 +2705,10 @@ const FormImpl = defineComponent({
2676
2705
  resetForm,
2677
2706
  validate,
2678
2707
  validateField,
2708
+ resetField,
2709
+ getValues,
2710
+ getMeta,
2711
+ getErrors,
2679
2712
  });
2680
2713
  return function renderForm() {
2681
2714
  // avoid resolving the form component as itself
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.7.3
3
- * (c) 2022 Abdelrahman Awad
2
+ * vee-validate v4.7.4
3
+ * (c) 2023 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
6
  (function (global, factory) {
@@ -655,6 +655,7 @@
655
655
  const field = {
656
656
  name: (options === null || options === void 0 ? void 0 : options.name) || '{field}',
657
657
  rules,
658
+ label: options === null || options === void 0 ? void 0 : options.label,
658
659
  bails: shouldBail !== null && shouldBail !== void 0 ? shouldBail : true,
659
660
  formData: (options === null || options === void 0 ? void 0 : options.values) || {},
660
661
  };
@@ -675,7 +676,9 @@
675
676
  // if a generic function or chain of generic functions
676
677
  if (isCallable(field.rules) || Array.isArray(field.rules)) {
677
678
  const ctx = {
678
- field: field.name,
679
+ field: field.label || field.name,
680
+ name: field.name,
681
+ label: field.label,
679
682
  form: field.formData,
680
683
  value: value,
681
684
  };
@@ -758,7 +761,9 @@
758
761
  }
759
762
  const params = fillTargetValues(rule.params, field.formData);
760
763
  const ctx = {
761
- field: field.name,
764
+ field: field.label || field.name,
765
+ name: field.name,
766
+ label: field.label,
762
767
  value,
763
768
  form: field.formData,
764
769
  rule: Object.assign(Object.assign({}, rule), { params }),
@@ -830,8 +835,10 @@
830
835
  const paths = keysOf(schema);
831
836
  const validations = paths.map(async (path) => {
832
837
  var _a, _b, _c;
838
+ const strings = (_a = opts === null || opts === void 0 ? void 0 : opts.names) === null || _a === void 0 ? void 0 : _a[path];
833
839
  const fieldResult = await validate(getFromPath(values, path), schema[path], {
834
- name: ((_a = opts === null || opts === void 0 ? void 0 : opts.names) === null || _a === void 0 ? void 0 : _a[path]) || path,
840
+ name: (strings === null || strings === void 0 ? void 0 : strings.name) || path,
841
+ label: strings === null || strings === void 0 ? void 0 : strings.label,
835
842
  values: values,
836
843
  bails: (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.bailsMap) === null || _b === void 0 ? void 0 : _b[path]) !== null && _c !== void 0 ? _c : true,
837
844
  });
@@ -1036,7 +1043,8 @@
1036
1043
  return (_a = (await form.validateSchema(mode)).results[vue.unref(name)]) !== null && _a !== void 0 ? _a : { valid: true, errors: [] };
1037
1044
  }
1038
1045
  return validate(value.value, normalizedRules.value, {
1039
- name: vue.unref(label) || vue.unref(name),
1046
+ name: vue.unref(name),
1047
+ label: vue.unref(label),
1040
1048
  values: (_b = form === null || form === void 0 ? void 0 : form.values) !== null && _b !== void 0 ? _b : {},
1041
1049
  bails,
1042
1050
  });
@@ -1537,7 +1545,7 @@
1537
1545
  return keysOf(fieldsByPath.value).reduce((names, path) => {
1538
1546
  const field = getFirstFieldAtPath(path);
1539
1547
  if (field) {
1540
- names[path] = vue.unref(field.label || field.name) || '';
1548
+ names[path] = { name: vue.unref(field.name) || '', label: vue.unref(field.label) || '' };
1541
1549
  }
1542
1550
  return names;
1543
1551
  }, {});
@@ -1645,6 +1653,7 @@
1645
1653
  setValues,
1646
1654
  setFieldValue,
1647
1655
  resetForm,
1656
+ resetField,
1648
1657
  });
1649
1658
  }
1650
1659
  if (!result.valid && typeof onValidationError === 'function') {
@@ -1696,6 +1705,7 @@
1696
1705
  setFieldTouched,
1697
1706
  setTouched,
1698
1707
  resetForm,
1708
+ resetField,
1699
1709
  handleSubmit,
1700
1710
  stageInitialValue,
1701
1711
  unsetInitialValue,
@@ -1807,6 +1817,12 @@
1807
1817
  setFieldTouched(field, !!fields[field]);
1808
1818
  });
1809
1819
  }
1820
+ function resetField(field, state) {
1821
+ const fieldInstance = fieldsByPath.value[field];
1822
+ if (fieldInstance) {
1823
+ applyFieldMutation(fieldInstance, f => f.resetField(state));
1824
+ }
1825
+ }
1810
1826
  /**
1811
1827
  * Resets all fields
1812
1828
  */
@@ -2222,7 +2238,7 @@
2222
2238
  const initialValues = vue.toRef(props, 'initialValues');
2223
2239
  const validationSchema = vue.toRef(props, 'validationSchema');
2224
2240
  const keepValues = vue.toRef(props, 'keepValues');
2225
- const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, } = useForm({
2241
+ const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, resetField, } = useForm({
2226
2242
  validationSchema: validationSchema.value ? validationSchema : undefined,
2227
2243
  initialValues,
2228
2244
  initialErrors: props.initialErrors,
@@ -2250,6 +2266,15 @@
2250
2266
  const onSuccess = typeof evt === 'function' && !onSubmit ? evt : onSubmit;
2251
2267
  return handleSubmit(onSuccess, props.onInvalidSubmit)(evt);
2252
2268
  }
2269
+ function getValues() {
2270
+ return klona(values);
2271
+ }
2272
+ function getMeta() {
2273
+ return klona(meta.value);
2274
+ }
2275
+ function getErrors() {
2276
+ return klona(errors.value);
2277
+ }
2253
2278
  function slotProps() {
2254
2279
  return {
2255
2280
  meta: meta.value,
@@ -2270,6 +2295,10 @@
2270
2295
  setFieldTouched,
2271
2296
  setTouched,
2272
2297
  resetForm,
2298
+ resetField,
2299
+ getValues,
2300
+ getMeta,
2301
+ getErrors,
2273
2302
  };
2274
2303
  }
2275
2304
  // expose these functions and methods as part of public API
@@ -2283,6 +2312,10 @@
2283
2312
  resetForm,
2284
2313
  validate,
2285
2314
  validateField,
2315
+ resetField,
2316
+ getValues,
2317
+ getMeta,
2318
+ getErrors,
2286
2319
  });
2287
2320
  return function renderForm() {
2288
2321
  // avoid resolving the form component as itself
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.7.3
3
- * (c) 2022 Abdelrahman Awad
2
+ * vee-validate v4.7.4
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 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"),d="undefined"!=typeof window;function c(e){return n(e)&&!!e.__locatorRef}function f(e){return!!e&&n(e.validate)}function v(e){return"checkbox"===e||"radio"===e}function p(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function m(e){return/^\[.+\]$/i.test(e)}function h(e){return"SELECT"===e.tagName}function y(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&&!v(t.type)}function g(e){return b(e)&&e.target&&"submit"in e.target}function b(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function V(e,t){return t in e&&e[t]!==s}function O(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(!O(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(!O(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(!O(e[u],t[u]))return!1}return!0}return e!=e&&t!=t}function A(e){return!!d&&e instanceof File}function F(e,t,n){"object"==typeof n.value&&(n.value=w(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function w(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(w(e))}))):"[object Map]"===u?(r=new Map,e.forEach((function(e,t){r.set(w(t),w(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(w(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++)F(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]||F(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}function j(e){return m(e)?e.replace(/\[|\]/gi,""):e}function E(e,t,n){if(!e)return n;if(m(t))return e[j(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 S(e,t,n){if(m(t))return void(e[j(t)]=n);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]]=n);a[e]in i&&!r(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function k(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function B(e,t){if(m(t))return void delete e[j(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){k(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const u=n.map(((t,r)=>E(e,n.slice(0,r).join("."))));for(let t=u.length-1;t>=0;t--)p(u[t])&&(0!==t?k(u[t-1],n[t-1]):k(e,n[0]))}function I(e){return Object.keys(e)}function M(e,n){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 T(e){return Array.isArray(e)?e[0]:e}function R(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>O(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return O(e,t)?n:t}function x(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 N(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function P(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 _({get:e,set:n}){const r=t.ref(w(e()));return t.watch(e,(e=>{O(e,r.value)||(r.value=w(e))}),{deep:!0}),t.watch(r,(t=>{O(t,e())||n(w(t))}),{deep:!0}),r}const U=(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 $(e){if(D(e))return e._value}function D(e){return"_value"in e}function z(e){if(!b(e))return e;const t=e.target;if(v(t.type)&&D(t))return $(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(h(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map($);var n;if(h(t)){const e=Array.from(t.options).find((e=>e.selected));return e?$(e):t.value}return t.value}function q(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]=L(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=K(t);return n.name?(e[n.name]=L(n.params),e):e}),t):t}function L(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 K=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let G=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const X=()=>G,H=e=>{G=Object.assign(Object.assign({},G),e)};async function J(e,t,r={}){const a=null==r?void 0:r.bails,u={name:(null==r?void 0:r.name)||"{field}",rules:t,bails:null==a||a,formData:(null==r?void 0:r.values)||{}},i=await async function(e,t){if(f(e.rules))return async function(e,t,n){var r;return{errors:await t.validate(e,{abortEarly:null===(r=n.bails)||void 0===r||r}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(n(e.rules)||Array.isArray(e.rules)){const n={field:e.name,form:e.formData,value:t},r=Array.isArray(e.rules)?e.rules:[e.rules],a=r.length,u=[];for(let i=0;i<a;i++){const a=r[i],o=await a(t,n);if("string"!=typeof o&&o)continue;const l="string"==typeof o?o:W(n);if(u.push(l),e.bails)return{errors:u}}return{errors:u}}const r=Object.assign(Object.assign({},e),{rules:q(e.rules)}),a=[],u=Object.keys(r.rules),i=u.length;for(let n=0;n<i;n++){const i=u[n],o=await Q(r,t,{name:i,params:r.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 Q(e,t,n){const r=(a=n.name,i[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),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:u})},l=await r(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:W(o)}}function W(e){const t=X().generateMessage;return t?t(e):"Field is invalid"}async function Y(e,t,n){const r=I(e).map((async r=>{var a,u,i;const o=await J(E(t,r),e[r],{name:(null===(a=null==n?void 0:n.names)||void 0===a?void 0:a[r])||r,values:t,bails:null===(i=null===(u=null==n?void 0:n.bailsMap)||void 0===u?void 0:u[r])||void 0===i||i});return Object.assign(Object.assign({},o),{path:r})}));let a=!0;const u=await Promise.all(r),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}}let Z=0;function ee(e,n){const{value:r,initialValue:a,setInitialValue:u}=te(e,n.modelValue,n.form),{errorMessage:i,errors:o,setErrors:l}=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((()=>!O(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(r,a,o);return{id:Z>=Number.MAX_SAFE_INTEGER?0:++Z,path:e,value:r,initialValue:a,meta:s,errors:o,errorMessage:i,setState:function(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&l(e.errors),"touched"in e&&(s.touched=null!==(t=e.touched)&&void 0!==t?t:s.touched),"initialValue"in e&&u(e.initialValue)}}}function te(e,n,r){const a=t.ref(t.unref(n));function u(){return r?E(r.meta.value.initialValues,t.unref(e),t.unref(a)):t.unref(a)}function i(n){r?r.stageInitialValue(t.unref(e),n,!0):a.value=n}const o=t.computed(u);if(!r){return{value:t.ref(u()),initialValue:o,setInitialValue:i}}const l=n?t.unref(n):E(r.values,t.unref(e),t.unref(o));r.stageInitialValue(t.unref(e),l,!0);return{value:t.computed({get:()=>E(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n)}}),initialValue:o,setInitialValue:i}}function ne(e,n,r){return v(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:M(o),u=null==r?void 0:r.checkedValue,i=null==r?void 0:r.uncheckedValue;function l(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=>O(e,r)))>=0:O(r,n)}));function o(o,l=!0){var s;if(r.value===(null===(s=null==o?void 0:o.target)||void 0===s?void 0:s.checked))return void(l&&e.validate());let d=z(o);a||(d=R(t.unref(e.value),t.unref(u),t.unref(i))),n(d,l)}return Object.assign(Object.assign({},e),{checked:r,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(re(e,n,r))}(e,n,r):re(e,n,r)}function re(e,r,a){const{initialValue:u,validateOnMount:i,bails:d,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,controlled:g,keepValueOnUnmount:b,modelPropName:V,syncVModel:A,form:F}=function(e,t){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:e,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0,controlled:!0});if(!t)return n();const r="valueProp"in t?t.valueProp:t.checkedValue,a="standalone"in t?!t.standalone:t.controlled;return Object.assign(Object.assign(Object.assign({},n()),t||{}),{controlled:null==a||a,checkedValue:r})}(t.unref(e),a),j=g?M(o):void 0,S=F||j;let k=!1;const{id:B,value:C,initialValue:T,meta:R,setState:x,errors:_,errorMessage:U}=ee(e,{modelValue:u,form:S});A&&function({prop:e,value:n,handleChange:r}){const a=t.getCurrentInstance();if(!a)return;const u=e||"modelValue",i=`update:${u}`;if(!(u in a.props))return;t.watch(n,(e=>{O(e,ae(a,u))||a.emit(i,e)})),t.watch((()=>ae(a,u)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;O(t,N(n.value,a.props.modelModifiers))||r(t)}))}({value:C,prop:V,handleChange:G});const $=t.computed((()=>{let a=t.unref(r);const u=t.unref(null==S?void 0:S.schema);return u&&!f(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),f(a)||n(a)||Array.isArray(a)?a:q(a)}));async function D(n){var r,a;return(null==S?void 0:S.validateSchema)?null!==(r=(await S.validateSchema(n)).results[t.unref(e)])&&void 0!==r?r:{valid:!0,errors:[]}:J(C.value,$.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==S?void 0:S.values)&&void 0!==a?a:{},bails:d})}const L=P((async()=>(R.pending=!0,R.validated=!0,D("validated-only"))),(e=>(k&&(e.valid=!0,e.errors=[]),x({errors:e.errors}),R.pending=!1,e))),K=P((async()=>D("silent")),(e=>(k&&(e.valid=!0),R.valid=e.valid,e)));function G(e,t=!0){const n=z(e);C.value=n,!h&&t&&L()}let X;t.onMounted((()=>{if(i)return L();S&&S.validateSchema||K()}));let H=w(C.value);function Q(){X=t.watch(C,((e,t)=>{if(O(e,t)&&O(e,H))return;(h?L:K)(),H=w(e)}),{deep:!0})}function W(e){var n;null==X||X();const r=e&&"value"in e?e.value:T.value;x({value:w(r),initialValue:w(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),R.pending=!1,R.validated=!1,K(),t.nextTick((()=>{Q()}))}Q();const Y={id:B,name:e,label:m,value:C,meta:R,errors:_,errorMessage:U,type:v,checkedValue:p,uncheckedValue:y,bails:d,keepValueOnUnmount:b,resetField:W,handleReset:()=>W(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?K():L()},handleChange:G,handleBlur:()=>{R.touched=!0},setState:x,setTouched:function(e){R.touched=e},setErrors:function(e){x({errors:Array.isArray(e)?e:[e]})},setValue:function(e){C.value=e}};if(t.provide(l,Y),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{O(e,t)||(R.validated?L():K())}),{deep:!0}),!S)return Y;S.register(Y),t.onBeforeUnmount((()=>{k=!0,S.unregister(Y)}));const Z=t.computed((()=>{const e=$.value;return!e||n(e)||f(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(a=e[n],Array.isArray(a)?a.filter(c):I(a).filter((e=>c(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=E(S.values,t)||S.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(Z,((e,t)=>{if(!Object.keys(e).length)return;!O(e,t)&&(R.validated?L():K())})),Y}function ae(e,t){return e.props[t]}function ue(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ie(e,t){return v(t.attrs.type)?V(e,"modelValue")?e.modelValue:void 0:V(e,"modelValue")?e.modelValue:t.attrs.value}const oe=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:()=>X().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"),i=t.toRef(e,"uncheckedValue"),o=t.toRef(e,"keepValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:p,setTouched:m,resetField:h,handleReset:g,meta:b,checked:V,setErrors:O}=ne(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:ie(e,n),checkedValue:n.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1,keepValueOnUnmount:o}),A=function(e,t=!0){f(e,t),n.emit("update:modelValue",s.value)},F=function(e){(e=>{v(n.attrs.type)||(s.value=z(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:i,validateOnBlur:o,validateOnModelUpdate:l}=X();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:i,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[p,n.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>A(e,t),n.attrs.onInput].filter(Boolean),l=[e=>A(e,r),n.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:i,onInput:o,onChange:l,"onUpdate:modelValue":e=>A(e,u)};v(n.attrs.type)&&V&&(d.checked=V.value);return y(ue(e,n),n.attrs)&&(d.value=s.value),d}));function j(){return{field:w.value,value:s.value,meta:b,errors:l.value,errorMessage:d.value,validate:c,resetField:h,handleChange:A,handleInput:F,handleReset:g,handleBlur:p,setTouched:m,setErrors:O}}return n.expose({setErrors:O,setTouched:m,reset:h,validate:c,handleChange:f}),()=>{const r=t.resolveDynamicComponent(ue(e,n)),a=U(r,n,j);return r?t.h(r,Object.assign(Object.assign({},n.attrs),w.value),a):a}}});let le=0;function se(e){var n;const r=le++,a=new Set;let u=!1;const i=t.ref({}),l=t.ref(!1),s=t.ref(0),d=[],c=t.reactive(w(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:v,setErrorBag:m,setFieldErrorBag:h}=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=I(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),y=t.computed((()=>I(v.value).reduce(((e,t)=>{const n=v.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function b(e){const t=i.value[e];return Array.isArray(t)?t[0]:t}function V(e){return!!i.value[e]}const A=t.computed((()=>I(i.value).reduce(((e,n)=>{const r=b(n);return r&&(e[n]=t.unref(r.label||r.name)||""),e}),{}))),F=t.computed((()=>I(i.value).reduce(((e,t)=>{var n;const r=b(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),k=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:M,originalInitialValues:C,setInitialValues:T}=function(e,n,r){const a=t.ref(w(t.unref(r))||{}),u=t.ref(w(t.unref(r))||{});function i(t,r=!1){a.value=w(t),u.value=w(t),r&&I(e.value).forEach((t=>{const r=e.value[t],u=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||u)return;const i=E(a.value,t);S(n,t,w(i))}))}t.isRef(r)&&t.watch(r,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(i,c,null==e?void 0:e.initialValues),N=function(e,n,r,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!O(n,t.unref(r))));function o(){const t=Object.values(e.value).flat(1).filter(Boolean);return I(u).reduce(((e,n)=>{const r=u[n];return e[n]=t[r]((e=>e.meta[n])),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(r)},l),{valid:l.valid&&!I(a.value).length,dirty:i.value})))}(i,c,C,y),_=t.computed((()=>[...a,...I(i.value)].reduce(((e,t)=>(S(e,t,E(c,t)),e)),{}))),U=null==e?void 0:e.validationSchema,$=x(ce,5),D=x(ce,5),z=P((async e=>"silent"===await e?$():D()),((e,[t])=>{const n=K.fieldsByPath.value||{},r=I(K.errorBag.value);return[...new Set([...I(e.results),...I(n),...r])].reduce(((r,a)=>{const u=n[a],i=(e.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(r.results[a]=o,o.valid||(r.errors[a]=o.errors[0]),!u)return J(a,i),r;if(X(u,(e=>e.meta.valid=o.valid)),"silent"===t)return r;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==t||l?(X(u,(e=>e.setState({errors:o.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})}));function q(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),re(I(i.value).reduce(((e,t)=>(e[t]=!0,e)),{})),l.value=!0,s.value++,oe().then((a=>{const u=w(c);if(a.valid&&"function"==typeof t){const n=w(_.value);return t(e?n:u,{evt:r,controlledValues:n,setErrors:Q,setFieldError:J,setTouched:re,setFieldTouched:ne,setValues:Z,setFieldValue:W,resetForm:ae})}a.valid||"function"!=typeof n||n({values:u,evt:r,errors:a.errors,results:a.results})})).then((e=>(l.value=!1,e)),(e=>{throw l.value=!1,e}))}}}const L=q(!1);L.withControlled=q(!0);const K={formId:r,fieldsByPath:i,values:c,controlledValues:_,errorBag:v,errors:y,schema:U,submitCount:s,meta:N,isSubmitting:l,fieldArrays:d,keepValuesOnUnmount:k,validateSchema:t.unref(U)?z:void 0,validate:oe,register:function(e){const n=t.unref(e.name);ue(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),ie(e,r),ue(e,n),(y.value[r]||y.value[n])&&(J(r,void 0),se(n)),await t.nextTick(),V(r)||B(c,r)}));const r=t.unref(e.errorMessage);r&&(null==j?void 0:j[n])!==r&&se(n);delete j[n]},unregister:function(e){const n=t.unref(e.name),r=i.value[n],a=!!r&&G(r);ie(e,n),t.nextTick((()=>{var u;const o=null!==(u=t.unref(e.keepValueOnUnmount))&&void 0!==u?u:t.unref(k),l=E(c,n);if(a&&(r===i.value[n]||!i.value[n])&&!o)if(Array.isArray(l)){const r=l.findIndex((n=>O(n,t.unref(e.checkedValue))));if(r>-1){const e=[...l];e.splice(r,1),W(n,e,{force:!0})}}else l===t.unref(e.checkedValue)&&B(c,n);if(!V(n)){if(J(n,void 0),o)return;if(a&&Array.isArray(l)&&!p(l))return;B(c,n)}}))},setFieldErrorBag:h,validateField:se,setFieldValue:W,setValues:Z,setErrors:Q,setFieldError:J,setFieldTouched:ne,setTouched:re,resetForm:ae,handleSubmit:L,stageInitialValue:function(t,n,r=!1){S(c,t,n),de(t,n),r&&!(null==e?void 0:e.initialValues)&&S(C.value,t,w(n))},unsetInitialValue:function(e){B(M.value,e)},setFieldInitialValue:de,useFieldModel:function(e){if(!Array.isArray(e))return ee(e);return e.map(ee)}};function G(e){return Array.isArray(e)}function X(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function H(e){Object.values(i.value).forEach((t=>{t&&X(t,e)}))}function J(e,t){h(e,t)}function Q(e){m(e)}function W(e,n,{force:r}={force:!1}){var a;const o=i.value[e],l=w(n);if(!o)return void S(c,e,l);if(G(o)&&"checkbox"===(null===(a=o[0])||void 0===a?void 0:a.type)&&!Array.isArray(n)){const t=w(R(E(c,e)||[],n,void 0));return void S(c,e,t)}let s=l;G(o)||"checkbox"!==o.type||r||u||(s=w(R(E(c,e),n,t.unref(o.uncheckedValue)))),S(c,e,s)}function Z(e){I(c).forEach((e=>{delete c[e]})),I(e).forEach((t=>{W(t,e[t])})),d.forEach((e=>e&&e.reset()))}function ee(e){const{value:n}=te(e,void 0,K);return t.watch(n,(()=>{V(t.unref(e))||oe({mode:"validated-only"})}),{deep:!0}),a.add(t.unref(e)),n}function ne(e,t){const n=i.value[e];n&&X(n,(e=>e.setTouched(t)))}function re(e){I(e).forEach((t=>{ne(t,!!e[t])}))}function ae(e){u=!0,H((e=>e.resetField()));const n=(null==e?void 0:e.values)?e.values:C.value;T(n),Z(n),(null==e?void 0:e.touched)&&re(e.touched),Q((null==e?void 0:e.errors)||{}),s.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{u=!1}))}function ue(e,n){const r=t.markRaw(e),a=n;if(!i.value[a])return void(i.value[a]=r);const u=i.value[a];u&&!Array.isArray(u)&&(i.value[a]=[u]),i.value[a]=[...i.value[a],r]}function ie(e,t){const n=t,r=i.value[n];if(r)if(G(r)||e.id!==r.id){if(G(r)){const t=r.findIndex((t=>t.id===e.id));if(-1===t)return;r.splice(t,1),r.length||delete i.value[n]}}else delete i.value[n]}async function oe(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&H((e=>e.meta.validated=!0)),K.validateSchema)return K.validateSchema(n);const r=await Promise.all(Object.values(i.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 se(e){const n=i.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 de(e,t){S(M.value,e,w(t))}async function ce(){const e=t.unref(U);if(!e)return{valid:!0,results:{},errors:{}};const n=f(e)?await async function(e,t){const n=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),r={},a={};for(const e of n){const t=e.errors;r[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!n.length,results:r,errors:a}}(e,c):await Y(e,c,{names:A.value,bailsMap:F.value});return n}const fe=L(((e,{evt:t})=>{g(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&Q(e.initialErrors),(null==e?void 0:e.initialTouched)&&re(e.initialTouched),(null==e?void 0:e.validateOnMount)?oe():K.validateSchema&&K.validateSchema("silent")})),t.isRef(U)&&t.watch(U,(()=>{var e;null===(e=K.validateSchema)||void 0===e||e.call(K,"validated-only")})),t.provide(o,K),Object.assign(Object.assign({},K),{handleReset:()=>ae(),submitForm:fe})}const de=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:i,values:o,meta:l,isSubmitting:s,submitCount:d,controlledValues:c,validate:f,validateField:v,handleReset:p,resetForm:m,handleSubmit:h,setErrors:y,setFieldError:V,setFieldValue:O,setValues:A,setFieldTouched:F,setTouched:w}=se({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:u}),j=h(((e,{evt:t})=>{g(t)&&t.target.submit()}),e.onInvalidSubmit),E=e.onSubmit?h(e.onSubmit,e.onInvalidSubmit):j;function S(e){b(e)&&e.preventDefault(),p(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function k(t,n){return h("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function B(){return{meta:l.value,errors:i.value,values:o,isSubmitting:s.value,submitCount:d.value,controlledValues:c.value,validate:f,validateField:v,handleSubmit:k,handleReset:p,submitForm:j,setErrors:y,setFieldError:V,setFieldValue:O,setValues:A,setFieldTouched:F,setTouched:w,resetForm:m}}return n.expose({setFieldError:V,setErrors:y,setFieldValue:O,setValues:A,setFieldTouched:F,setTouched:w,resetForm:m,validate:f,validateField:v}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=U(r,n,B);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:E,onReset:S}),a)}}}),ce=de;function fe(e){const n=M(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(!n)return C("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 C("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),i;const l=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(l)return l;let s=0;function d(){const r=E(null==n?void 0:n.values,t.unref(e),[])||[];a.value=r.map(f),c()}function c(){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 f(r){const u=s++,i={key:u,value:_({get(){const i=E(null==n?void 0:n.values,t.unref(e),[])||[],o=a.value.findIndex((e=>e.key===u));return-1===o?r:i[o]},set(e){const t=a.value.findIndex((e=>e.key===u));-1!==t?v(t,e):C("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return i}function v(r,a){const u=t.unref(e),i=E(null==n?void 0:n.values,u);!Array.isArray(i)||i.length-1<r||(null==n||n.setFieldValue(`${u}[${r}]`,a),null==n||n.validate({mode:"validated-only"}))}d();const p={fields:a,remove:function(r){const u=t.unref(e),i=E(null==n?void 0:n.values,u);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(r,1),null==n||n.unsetInitialValue(u+`[${r}]`),null==n||n.setFieldValue(u,o),a.value.splice(r,1),c()},push:function(u){const i=t.unref(e),o=E(null==n?void 0:n.values,i),l=r(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(u),null==n||n.stageInitialValue(i+`[${s.length-1}]`,u),null==n||n.setFieldValue(i,s),a.value.push(f(u)),c()},swap:function(r,u){const i=t.unref(e),o=E(null==n?void 0:n.values,i);if(!Array.isArray(o)||!(r in o)||!(u in o))return;const l=[...o],s=[...a.value],d=l[r];l[r]=l[u],l[u]=d;const f=s[r];s[r]=s[u],s[u]=f,null==n||n.setFieldValue(i,l),a.value=s,c()},insert:function(r,u){const i=t.unref(e),o=E(null==n?void 0:n.values,i);if(!Array.isArray(o)||o.length<r)return;const l=[...o],s=[...a.value];l.splice(r,0,u),s.splice(r,0,f(u)),null==n||n.setFieldValue(i,l),a.value=s,c()},update:v,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),d()},prepend:function(u){const i=t.unref(e),o=E(null==n?void 0:n.values,i),l=r(o)?[]:o;if(!Array.isArray(l))return;const s=[u,...l];null==n||n.stageInitialValue(i+`[${s.length-1}]`,u),null==n||n.setFieldValue(i,s),a.value.unshift(f(u)),c()},move:function(u,i){const o=t.unref(e),l=E(null==n?void 0:n.values,o),s=r(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==n||n.setFieldValue(o,s),a.value=d,c()}};return n.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.unref(n.path)===t.unref(e)));r>=0&&n.fieldArrays.splice(r,1)})),p}const ve=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,n){const{push:r,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,move:d,fields:c}=fe(t.toRef(e,"name"));function f(){return{fields:c.value,push:r,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}}return n.expose({push:r,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}),()=>U(void 0,n,f)}}),pe=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(o,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,i=U(r,n,u),o=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(r,o,i):t.h(r||"span",o,a.value):i}}});e.ErrorMessage=pe,e.Field=oe,e.FieldArray=ve,e.FieldContextKey=l,e.Form=ce,e.FormContextKey=o,e.IS_ABSENT=s,e.configure=H,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),i[e]=t},e.useField=ne,e.useFieldArray=fe,e.useFieldError=function(e){const n=M(o),r=e?void 0:t.inject(l);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=M(o),r=e?void 0:t.inject(l);return t.computed((()=>e?E(null==n?void 0:n.values,t.unref(e)):t.unref(null==r?void 0:r.value)))},e.useForm=se,e.useFormErrors=function(){const e=M(o);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=M(o);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=M(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=T(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=M(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=T(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=M(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=T(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=M(o);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=M(o);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=M(o);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=M(o);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=M(o);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=M(o);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=M(o);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=M(o);let r=e?void 0:t.inject(l);return function(){return e&&(r=T(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=M(o);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=J,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 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.validate)}function v(e){return"checkbox"===e||"radio"===e}function p(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function m(e){return/^\[.+\]$/i.test(e)}function h(e){return"SELECT"===e.tagName}function y(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&&!v(t.type)}function g(e){return b(e)&&e.target&&"submit"in e.target}function b(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function V(e,t){return t in e&&e[t]!==s}function O(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(!O(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(!O(r[1],t.get(r[0])))return!1;return!0}if(F(e)&&F(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(!O(e[l],t[l]))return!1}return!0}return e!=e&&t!=t}function F(e){return!!d&&e instanceof File}function A(e,t,n){"object"==typeof n.value&&(n.value=w(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function w(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(w(e))}))):"[object Map]"===l?(r=new Map,e.forEach((function(e,t){r.set(w(t),w(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(w(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++)A(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]||A(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}function j(e){return m(e)?e.replace(/\[|\]/gi,""):e}function E(e,t,n){if(!e)return n;if(m(t))return e[j(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 S(e,t,n){if(m(t))return void(e[j(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 k(e,t){Array.isArray(e)&&l(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function B(e,t){if(m(t))return void delete e[j(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){k(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--)p(l[t])&&(0!==t?k(l[t-1],n[t-1]):k(e,n[0]))}function M(e){return Object.keys(e)}function I(e,n){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 T(e){return Array.isArray(e)?e[0]:e}function R(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>O(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return O(e,t)?n:t}function x(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 N(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function P(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 _({get:e,set:n}){const r=t.ref(w(e()));return t.watch(e,(e=>{O(e,r.value)||(r.value=w(e))}),{deep:!0}),t.watch(r,(t=>{O(t,e())||n(w(t))}),{deep:!0}),r}const U=(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 $(e){if(D(e))return e._value}function D(e){return"_value"in e}function z(e){if(!b(e))return e;const t=e.target;if(v(t.type)&&D(t))return $(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(h(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map($);var n;if(h(t)){const e=Array.from(t.options).find((e=>e.selected));return e?$(e):t.value}return t.value}function q(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]=L(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=K(t);return n.name?(e[n.name]=L(n.params),e):e}),t):t}function L(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 K=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let G=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const X=()=>G,H=e=>{G=Object.assign(Object.assign({},G),e)};async function J(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))return async function(e,t,n){var r;return{errors:await t.validate(e,{abortEarly:null===(r=n.bails)||void 0===r||r}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});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:W(n);if(l.push(o),e.bails)return{errors:l}}return{errors:l}}const r=Object.assign(Object.assign({},e),{rules:q(e.rules)}),a=[],l=Object.keys(r.rules),u=l.length;for(let n=0;n<u;n++){const u=l[n],i=await Q(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}}async function Q(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:W(i)}}function W(e){const t=X().generateMessage;return t?t(e):"Field is invalid"}async function Y(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 J(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 Z=0;function ee(e,n){const{value:r,initialValue:a,setInitialValue:l}=te(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((()=>!O(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:Z>=Number.MAX_SAFE_INTEGER?0:++Z,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 te(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 ne(e,n,r){return v(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:I(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=>O(e,r)))>=0:O(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=z(i);a||(d=R(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(re(e,n,r))}(e,n,r):re(e,n,r)}function re(e,r,a){const{initialValue:l,validateOnMount:u,bails:d,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,controlled:g,keepValueOnUnmount:b,modelPropName:V,syncVModel:F,form:A}=function(e,t){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:e,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0,controlled:!0});if(!t)return n();const r="valueProp"in t?t.valueProp:t.checkedValue,a="standalone"in t?!t.standalone:t.controlled;return Object.assign(Object.assign(Object.assign({},n()),t||{}),{controlled:null==a||a,checkedValue:r})}(t.unref(e),a),j=g?I(i):void 0,S=A||j;let k=!1;const{id:B,value:C,initialValue:T,meta:R,setState:x,errors:_,errorMessage:U}=ee(e,{modelValue:l,form:S});F&&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=>{O(e,ae(a,l))||a.emit(u,e)})),t.watch((()=>ae(a,l)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;O(t,N(n.value,a.props.modelModifiers))||r(t)}))}({value:C,prop:V,handleChange:G});const $=t.computed((()=>{let a=t.unref(r);const l=t.unref(null==S?void 0:S.schema);return l&&!f(l)&&(a=function(e,t){if(!e)return;return e[t]}(l,t.unref(e))||a),f(a)||n(a)||Array.isArray(a)?a:q(a)}));async function D(n){var r,a;return(null==S?void 0:S.validateSchema)?null!==(r=(await S.validateSchema(n)).results[t.unref(e)])&&void 0!==r?r:{valid:!0,errors:[]}:J(C.value,$.value,{name:t.unref(e),label:t.unref(m),values:null!==(a=null==S?void 0:S.values)&&void 0!==a?a:{},bails:d})}const L=P((async()=>(R.pending=!0,R.validated=!0,D("validated-only"))),(e=>(k&&(e.valid=!0,e.errors=[]),x({errors:e.errors}),R.pending=!1,e))),K=P((async()=>D("silent")),(e=>(k&&(e.valid=!0),R.valid=e.valid,e)));function G(e,t=!0){const n=z(e);C.value=n,!h&&t&&L()}let X;t.onMounted((()=>{if(u)return L();S&&S.validateSchema||K()}));let H=w(C.value);function Q(){X=t.watch(C,((e,t)=>{if(O(e,t)&&O(e,H))return;(h?L:K)(),H=w(e)}),{deep:!0})}function W(e){var n;null==X||X();const r=e&&"value"in e?e.value:T.value;x({value:w(r),initialValue:w(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),R.pending=!1,R.validated=!1,K(),t.nextTick((()=>{Q()}))}Q();const Y={id:B,name:e,label:m,value:C,meta:R,errors:_,errorMessage:U,type:v,checkedValue:p,uncheckedValue:y,bails:d,keepValueOnUnmount:b,resetField:W,handleReset:()=>W(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?K():L()},handleChange:G,handleBlur:()=>{R.touched=!0},setState:x,setTouched:function(e){R.touched=e},setErrors:function(e){x({errors:Array.isArray(e)?e:[e]})},setValue:function(e){C.value=e}};if(t.provide(o,Y),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{O(e,t)||(R.validated?L():K())}),{deep:!0}),!S)return Y;S.register(Y),t.onBeforeUnmount((()=>{k=!0,S.unregister(Y)}));const Z=t.computed((()=>{const e=$.value;return!e||n(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(S.values,t)||S.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(Z,((e,t)=>{if(!Object.keys(e).length)return;!O(e,t)&&(R.validated?L():K())})),Y}function ae(e,t){return e.props[t]}function le(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ue(e,t){return v(t.attrs.type)?V(e,"modelValue")?e.modelValue:void 0:V(e,"modelValue")?e.modelValue:t.attrs.value}const ie=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:()=>X().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:p,setTouched:m,resetField:h,handleReset:g,meta:b,checked:V,setErrors:O}=ne(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:ue(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=>{v(n.attrs.type)||(s.value=z(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}=X();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=[p,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)};v(n.attrs.type)&&V&&(d.checked=V.value);return y(le(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:g,handleBlur:p,setTouched:m,setErrors:O}}return n.expose({setErrors:O,setTouched:m,reset:h,validate:c,handleChange:f}),()=>{const r=t.resolveDynamicComponent(le(e,n)),a=U(r,n,j);return r?t.h(r,Object.assign(Object.assign({},n.attrs),w.value),a):a}}});let oe=0;function se(e){var n;const r=oe++,a=new Set;let l=!1;const u=t.ref({}),o=t.ref(!1),s=t.ref(0),d=[],c=t.reactive(w(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:v,setErrorBag:m,setFieldErrorBag:h}=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),y=t.computed((()=>M(v.value).reduce(((e,t)=>{const n=v.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function b(e){const t=u.value[e];return Array.isArray(t)?t[0]:t}function V(e){return!!u.value[e]}const F=t.computed((()=>M(u.value).reduce(((e,n)=>{const r=b(n);return r&&(e[n]={name:t.unref(r.name)||"",label:t.unref(r.label)||""}),e}),{}))),A=t.computed((()=>M(u.value).reduce(((e,t)=>{var n;const r=b(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),k=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:I,originalInitialValues:C,setInitialValues:T}=function(e,n,r){const a=t.ref(w(t.unref(r))||{}),l=t.ref(w(t.unref(r))||{});function u(t,r=!1){a.value=w(t),l.value=w(t),r&&M(e.value).forEach((t=>{const r=e.value[t],l=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||l)return;const u=E(a.value,t);S(n,t,w(u))}))}t.isRef(r)&&t.watch(r,(e=>{u(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:l,setInitialValues:u}}(u,c,null==e?void 0:e.initialValues),N=function(e,n,r,a){const l={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!O(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,y),_=t.computed((()=>[...a,...M(u.value)].reduce(((e,t)=>(S(e,t,E(c,t)),e)),{}))),U=null==e?void 0:e.validationSchema,$=x(fe,5),D=x(fe,5),z=P((async e=>"silent"===await e?$():D()),((e,[t])=>{const n=K.fieldsByPath.value||{},r=M(K.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 J(a,u),r;if(X(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?(X(l,(e=>e.setState({errors:i.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})}));function q(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),re(M(u.value).reduce(((e,t)=>(e[t]=!0,e)),{})),o.value=!0,s.value++,se().then((a=>{const l=w(c);if(a.valid&&"function"==typeof t){const n=w(_.value);return t(e?n:l,{evt:r,controlledValues:n,setErrors:Q,setFieldError:J,setTouched:re,setFieldTouched:ne,setValues:Z,setFieldValue:W,resetForm:le,resetField:ae})}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 L=q(!1);L.withControlled=q(!0);const K={formId:r,fieldsByPath:u,values:c,controlledValues:_,errorBag:v,errors:y,schema:U,submitCount:s,meta:N,isSubmitting:o,fieldArrays:d,keepValuesOnUnmount:k,validateSchema:t.unref(U)?z:void 0,validate:se,register:function(e){const n=t.unref(e.name);ue(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),ie(e,r),ue(e,n),(y.value[r]||y.value[n])&&(J(r,void 0),de(n)),await t.nextTick(),V(r)||B(c,r)}));const r=t.unref(e.errorMessage);r&&(null==j?void 0:j[n])!==r&&de(n);delete j[n]},unregister:function(e){const n=t.unref(e.name),r=u.value[n],a=!!r&&G(r);ie(e,n),t.nextTick((()=>{var l;const i=null!==(l=t.unref(e.keepValueOnUnmount))&&void 0!==l?l:t.unref(k),o=E(c,n);if(a&&(r===u.value[n]||!u.value[n])&&!i)if(Array.isArray(o)){const r=o.findIndex((n=>O(n,t.unref(e.checkedValue))));if(r>-1){const e=[...o];e.splice(r,1),W(n,e,{force:!0})}}else o===t.unref(e.checkedValue)&&B(c,n);if(!V(n)){if(J(n,void 0),i)return;if(a&&Array.isArray(o)&&!p(o))return;B(c,n)}}))},setFieldErrorBag:h,validateField:de,setFieldValue:W,setValues:Z,setErrors:Q,setFieldError:J,setFieldTouched:ne,setTouched:re,resetForm:le,resetField:ae,handleSubmit:L,stageInitialValue:function(t,n,r=!1){S(c,t,n),ce(t,n),r&&!(null==e?void 0:e.initialValues)&&S(C.value,t,w(n))},unsetInitialValue:function(e){B(I.value,e)},setFieldInitialValue:ce,useFieldModel:function(e){if(!Array.isArray(e))return ee(e);return e.map(ee)}};function G(e){return Array.isArray(e)}function X(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function H(e){Object.values(u.value).forEach((t=>{t&&X(t,e)}))}function J(e,t){h(e,t)}function Q(e){m(e)}function W(e,n,{force:r}={force:!1}){var a;const i=u.value[e],o=w(n);if(!i)return void S(c,e,o);if(G(i)&&"checkbox"===(null===(a=i[0])||void 0===a?void 0:a.type)&&!Array.isArray(n)){const t=w(R(E(c,e)||[],n,void 0));return void S(c,e,t)}let s=o;G(i)||"checkbox"!==i.type||r||l||(s=w(R(E(c,e),n,t.unref(i.uncheckedValue)))),S(c,e,s)}function Z(e){M(c).forEach((e=>{delete c[e]})),M(e).forEach((t=>{W(t,e[t])})),d.forEach((e=>e&&e.reset()))}function ee(e){const{value:n}=te(e,void 0,K);return t.watch(n,(()=>{V(t.unref(e))||se({mode:"validated-only"})}),{deep:!0}),a.add(t.unref(e)),n}function ne(e,t){const n=u.value[e];n&&X(n,(e=>e.setTouched(t)))}function re(e){M(e).forEach((t=>{ne(t,!!e[t])}))}function ae(e,t){const n=u.value[e];n&&X(n,(e=>e.resetField(t)))}function le(e){l=!0,H((e=>e.resetField()));const n=(null==e?void 0:e.values)?e.values:C.value;T(n),Z(n),(null==e?void 0:e.touched)&&re(e.touched),Q((null==e?void 0:e.errors)||{}),s.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{l=!1}))}function ue(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 ie(e,t){const n=t,r=u.value[n];if(r)if(G(r)||e.id!==r.id){if(G(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 se(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&H((e=>e.meta.validated=!0)),K.validateSchema)return K.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 de(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 ce(e,t){S(I.value,e,w(t))}async function fe(){const e=t.unref(U);if(!e)return{valid:!0,results:{},errors:{}};const n=f(e)?await async function(e,t){const n=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),r={},a={};for(const e of n){const t=e.errors;r[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!n.length,results:r,errors:a}}(e,c):await Y(e,c,{names:F.value,bailsMap:A.value});return n}const ve=L(((e,{evt:t})=>{g(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&Q(e.initialErrors),(null==e?void 0:e.initialTouched)&&re(e.initialTouched),(null==e?void 0:e.validateOnMount)?se():K.validateSchema&&K.validateSchema("silent")})),t.isRef(U)&&t.watch(U,(()=>{var e;null===(e=K.validateSchema)||void 0===e||e.call(K,"validated-only")})),t.provide(i,K),Object.assign(Object.assign({},K),{handleReset:()=>le(),submitForm:ve})}const de=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,values:i,meta:o,isSubmitting:s,submitCount:d,controlledValues:c,validate:f,validateField:v,handleReset:p,resetForm:m,handleSubmit:h,setErrors:y,setFieldError:V,setFieldValue:O,setValues:F,setFieldTouched:A,setTouched:j,resetField:E}=se({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:l}),S=h(((e,{evt:t})=>{g(t)&&t.target.submit()}),e.onInvalidSubmit),k=e.onSubmit?h(e.onSubmit,e.onInvalidSubmit):S;function B(e){b(e)&&e.preventDefault(),p(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function M(t,n){return h("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function I(){return w(i)}function C(){return w(o.value)}function T(){return w(u.value)}function R(){return{meta:o.value,errors:u.value,values:i,isSubmitting:s.value,submitCount:d.value,controlledValues:c.value,validate:f,validateField:v,handleSubmit:M,handleReset:p,submitForm:S,setErrors:y,setFieldError:V,setFieldValue:O,setValues:F,setFieldTouched:A,setTouched:j,resetForm:m,resetField:E,getValues:I,getMeta:C,getErrors:T}}return n.expose({setFieldError:V,setErrors:y,setFieldValue:O,setValues:F,setFieldTouched:A,setTouched:j,resetForm:m,validate:f,validateField:v,resetField:E,getValues:I,getMeta:C,getErrors:T}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=U(r,n,R);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:k,onReset:B}),a)}}}),ce=de;function fe(e){const n=I(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(){const r=E(null==n?void 0:n.values,t.unref(e),[])||[];a.value=r.map(f),c()}function c(){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 f(r){const l=s++,u={key:l,value:_({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?v(t,e):C("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return u}function v(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"}))}d();const p={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),c()},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(f(l)),c()},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 f=s[r];s[r]=s[l],s[l]=f,null==n||n.setFieldValue(u,o),a.value=s,c()},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,f(l)),null==n||n.setFieldValue(u,o),a.value=s,c()},update:v,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),d()},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(f(l)),c()},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],f=d[l];d.splice(l,1),d.splice(u,0,f);const v=s[l];s.splice(l,1),s.splice(u,0,v),null==n||n.setFieldValue(i,s),a.value=d,c()}};return n.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.unref(n.path)===t.unref(e)));r>=0&&n.fieldArrays.splice(r,1)})),p}const ve=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}=fe(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}),()=>U(void 0,n,f)}}),pe=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=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=pe,e.Field=ie,e.FieldArray=ve,e.FieldContextKey=o,e.Form=ce,e.FormContextKey=i,e.IS_ABSENT=s,e.configure=H,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=ne,e.useFieldArray=fe,e.useFieldError=function(e){const n=I(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=I(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=se,e.useFormErrors=function(){const e=I(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=I(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=I(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=T(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=I(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=T(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=I(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=T(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=I(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=I(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=I(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=I(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=I(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=I(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=I(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=I(i);let r=e?void 0:t.inject(o);return function(){return e&&(r=T(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=I(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=J,Object.defineProperty(e,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vee-validate",
3
- "version": "4.7.3",
3
+ "version": "4.7.4",
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": "e74fa66fe186904958844aa5c8a1abcbced94033"
36
+ "gitHead": "dce6575a71c42e5346bc8c2dc7fc0b211a2020be"
37
37
  }