vee-validate 4.7.2 → 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.2
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,
@@ -2137,7 +2147,7 @@ function useForm(opts) {
2137
2147
  setInPath(formValues, field, newValue);
2138
2148
  return;
2139
2149
  }
2140
- let newValue = value;
2150
+ let newValue = clonedValue;
2141
2151
  // Single Checkbox: toggles the field value unless the field is being reset then force it
2142
2152
  if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force && !RESET_LOCK) {
2143
2153
  newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field), value, unref(fieldInstance.uncheckedValue)));
@@ -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
  */
@@ -2201,17 +2217,10 @@ function useForm(opts) {
2201
2217
  RESET_LOCK = true;
2202
2218
  // Reset all field states first
2203
2219
  mutateAllFields(f => f.resetField());
2204
- // set initial values if provided
2205
- if (state === null || state === void 0 ? void 0 : state.values) {
2206
- setInitialValues(state.values);
2207
- setValues(state === null || state === void 0 ? void 0 : state.values);
2208
- }
2209
- else {
2210
- // clean up the initial values back to the original
2211
- setInitialValues(originalInitialValues.value);
2212
- // otherwise clean the current values
2213
- setValues(originalInitialValues.value);
2214
- }
2220
+ // reset values
2221
+ const newValues = (state === null || state === void 0 ? void 0 : state.values) ? state.values : originalInitialValues.value;
2222
+ setInitialValues(newValues);
2223
+ setValues(newValues);
2215
2224
  if (state === null || state === void 0 ? void 0 : state.touched) {
2216
2225
  setTouched(state.touched);
2217
2226
  }
@@ -2622,7 +2631,7 @@ const FormImpl = defineComponent({
2622
2631
  const initialValues = toRef(props, 'initialValues');
2623
2632
  const validationSchema = toRef(props, 'validationSchema');
2624
2633
  const keepValues = toRef(props, 'keepValues');
2625
- 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({
2626
2635
  validationSchema: validationSchema.value ? validationSchema : undefined,
2627
2636
  initialValues,
2628
2637
  initialErrors: props.initialErrors,
@@ -2650,6 +2659,15 @@ const FormImpl = defineComponent({
2650
2659
  const onSuccess = typeof evt === 'function' && !onSubmit ? evt : onSubmit;
2651
2660
  return handleSubmit(onSuccess, props.onInvalidSubmit)(evt);
2652
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
+ }
2653
2671
  function slotProps() {
2654
2672
  return {
2655
2673
  meta: meta.value,
@@ -2670,6 +2688,10 @@ const FormImpl = defineComponent({
2670
2688
  setFieldTouched,
2671
2689
  setTouched,
2672
2690
  resetForm,
2691
+ resetField,
2692
+ getValues,
2693
+ getMeta,
2694
+ getErrors,
2673
2695
  };
2674
2696
  }
2675
2697
  // expose these functions and methods as part of public API
@@ -2683,6 +2705,10 @@ const FormImpl = defineComponent({
2683
2705
  resetForm,
2684
2706
  validate,
2685
2707
  validateField,
2708
+ resetField,
2709
+ getValues,
2710
+ getMeta,
2711
+ getErrors,
2686
2712
  });
2687
2713
  return function renderForm() {
2688
2714
  // avoid resolving the form component as itself
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.7.2
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,
@@ -1750,7 +1760,7 @@
1750
1760
  setInPath(formValues, field, newValue);
1751
1761
  return;
1752
1762
  }
1753
- let newValue = value;
1763
+ let newValue = clonedValue;
1754
1764
  // Single Checkbox: toggles the field value unless the field is being reset then force it
1755
1765
  if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force && !RESET_LOCK) {
1756
1766
  newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field), value, vue.unref(fieldInstance.uncheckedValue)));
@@ -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
  */
@@ -1814,17 +1830,10 @@
1814
1830
  RESET_LOCK = true;
1815
1831
  // Reset all field states first
1816
1832
  mutateAllFields(f => f.resetField());
1817
- // set initial values if provided
1818
- if (state === null || state === void 0 ? void 0 : state.values) {
1819
- setInitialValues(state.values);
1820
- setValues(state === null || state === void 0 ? void 0 : state.values);
1821
- }
1822
- else {
1823
- // clean up the initial values back to the original
1824
- setInitialValues(originalInitialValues.value);
1825
- // otherwise clean the current values
1826
- setValues(originalInitialValues.value);
1827
- }
1833
+ // reset values
1834
+ const newValues = (state === null || state === void 0 ? void 0 : state.values) ? state.values : originalInitialValues.value;
1835
+ setInitialValues(newValues);
1836
+ setValues(newValues);
1828
1837
  if (state === null || state === void 0 ? void 0 : state.touched) {
1829
1838
  setTouched(state.touched);
1830
1839
  }
@@ -2229,7 +2238,7 @@
2229
2238
  const initialValues = vue.toRef(props, 'initialValues');
2230
2239
  const validationSchema = vue.toRef(props, 'validationSchema');
2231
2240
  const keepValues = vue.toRef(props, 'keepValues');
2232
- 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({
2233
2242
  validationSchema: validationSchema.value ? validationSchema : undefined,
2234
2243
  initialValues,
2235
2244
  initialErrors: props.initialErrors,
@@ -2257,6 +2266,15 @@
2257
2266
  const onSuccess = typeof evt === 'function' && !onSubmit ? evt : onSubmit;
2258
2267
  return handleSubmit(onSuccess, props.onInvalidSubmit)(evt);
2259
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
+ }
2260
2278
  function slotProps() {
2261
2279
  return {
2262
2280
  meta: meta.value,
@@ -2277,6 +2295,10 @@
2277
2295
  setFieldTouched,
2278
2296
  setTouched,
2279
2297
  resetForm,
2298
+ resetField,
2299
+ getValues,
2300
+ getMeta,
2301
+ getErrors,
2280
2302
  };
2281
2303
  }
2282
2304
  // expose these functions and methods as part of public API
@@ -2290,6 +2312,10 @@
2290
2312
  resetForm,
2291
2313
  validate,
2292
2314
  validateField,
2315
+ resetField,
2316
+ getValues,
2317
+ getMeta,
2318
+ getErrors,
2293
2319
  });
2294
2320
  return function renderForm() {
2295
2321
  // avoid resolving the form component as itself
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.7.2
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=n;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())),(null==e?void 0:e.values)?(T(e.values),Z(null==e?void 0:e.values)):(T(C.value),Z(C.value)),(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.2",
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": "c069632ab0a08086cad07b83097731da6acc379a"
36
+ "gitHead": "dce6575a71c42e5346bc8c2dc7fc0b211a2020be"
37
37
  }