vee-validate 4.6.7 → 4.6.8

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.
@@ -1183,4 +1183,4 @@ declare const FormContextKey: InjectionKey<PrivateFormContext>;
1183
1183
  declare const FieldContextKey: InjectionKey<PrivateFieldContext<unknown>>;
1184
1184
  declare const IS_ABSENT: unique symbol;
1185
1185
 
1186
- export { ErrorMessage, Field, FieldArray, FieldArrayContext, FieldContext, FieldContextKey, FieldEntry, FieldMeta, FieldOptions, Form, FormActions, FormContext, FormContextKey, FormMeta, FormOptions, FormState, FormValidationResult, GenericValidateFunction, IS_ABSENT, InvalidSubmissionContext, InvalidSubmissionHandler, SubmissionContext, SubmissionHandler, ValidationOptions$1 as ValidationOptions, ValidationResult, configure, defineRule, useField, useFieldArray, useFieldError, useFieldValue, useForm, useFormErrors, useFormValues, useIsFieldDirty, useIsFieldTouched, useIsFieldValid, useIsFormDirty, useIsFormTouched, useIsFormValid, useIsSubmitting, useResetForm, useSubmitCount, useSubmitForm, useValidateField, useValidateForm, validate };
1186
+ export { ErrorMessage, Field, FieldArray, FieldArrayContext, FieldContext, FieldContextKey, FieldEntry, FieldMeta, FieldOptions, Form, FormActions, FormContext, FormContextKey, FormMeta, FormOptions, FormState, FormValidationResult, GenericValidateFunction, IS_ABSENT, InvalidSubmissionContext, InvalidSubmissionHandler, RuleExpression, SubmissionContext, SubmissionHandler, ValidationOptions$1 as ValidationOptions, ValidationResult, configure, defineRule, useField, useFieldArray, useFieldError, useFieldValue, useForm, useFormErrors, useFormValues, useIsFieldDirty, useIsFieldTouched, useIsFieldValid, useIsFormDirty, useIsFormTouched, useIsFormValid, useIsSubmitting, useResetForm, useSubmitCount, useSubmitForm, useValidateField, useValidateForm, validate };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.6.7
2
+ * vee-validate v4.6.8
3
3
  * (c) 2022 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -126,6 +126,96 @@ function isEvent(evt) {
126
126
  }
127
127
  function isPropPresent(obj, prop) {
128
128
  return prop in obj && obj[prop] !== IS_ABSENT;
129
+ }
130
+ /**
131
+ * Compares if two values are the same borrowed from:
132
+ * https://github.com/epoberezkin/fast-deep-equal
133
+ * We added a case for file matching since `Object.keys` doesn't work with Files.
134
+ * */
135
+ function isEqual(a, b) {
136
+ if (a === b)
137
+ return true;
138
+ if (a && b && typeof a === 'object' && typeof b === 'object') {
139
+ if (a.constructor !== b.constructor)
140
+ return false;
141
+ // eslint-disable-next-line no-var
142
+ var length, i, keys;
143
+ if (Array.isArray(a)) {
144
+ length = a.length;
145
+ // eslint-disable-next-line eqeqeq
146
+ if (length != b.length)
147
+ return false;
148
+ for (i = length; i-- !== 0;)
149
+ if (!isEqual(a[i], b[i]))
150
+ return false;
151
+ return true;
152
+ }
153
+ if (a instanceof Map && b instanceof Map) {
154
+ if (a.size !== b.size)
155
+ return false;
156
+ for (i of a.entries())
157
+ if (!b.has(i[0]))
158
+ return false;
159
+ for (i of a.entries())
160
+ if (!isEqual(i[1], b.get(i[0])))
161
+ return false;
162
+ return true;
163
+ }
164
+ // We added this part for file comparison, arguably a little naive but should work for most cases.
165
+ // #3911
166
+ if (a instanceof File && b instanceof File) {
167
+ if (a.size !== b.size)
168
+ return false;
169
+ if (a.name !== b.name)
170
+ return false;
171
+ if (a.lastModified !== b.lastModified)
172
+ return false;
173
+ if (a.type !== b.type)
174
+ return false;
175
+ return true;
176
+ }
177
+ if (a instanceof Set && b instanceof Set) {
178
+ if (a.size !== b.size)
179
+ return false;
180
+ for (i of a.entries())
181
+ if (!b.has(i[0]))
182
+ return false;
183
+ return true;
184
+ }
185
+ if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
186
+ length = a.length;
187
+ // eslint-disable-next-line eqeqeq
188
+ if (length != b.length)
189
+ return false;
190
+ for (i = length; i-- !== 0;)
191
+ if (a[i] !== b[i])
192
+ return false;
193
+ return true;
194
+ }
195
+ if (a.constructor === RegExp)
196
+ return a.source === b.source && a.flags === b.flags;
197
+ if (a.valueOf !== Object.prototype.valueOf)
198
+ return a.valueOf() === b.valueOf();
199
+ if (a.toString !== Object.prototype.toString)
200
+ return a.toString() === b.toString();
201
+ keys = Object.keys(a);
202
+ length = keys.length;
203
+ if (length !== Object.keys(b).length)
204
+ return false;
205
+ for (i = length; i-- !== 0;)
206
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
207
+ return false;
208
+ for (i = length; i-- !== 0;) {
209
+ // eslint-disable-next-line no-var
210
+ var key = keys[i];
211
+ if (!isEqual(a[key], b[key]))
212
+ return false;
213
+ }
214
+ return true;
215
+ }
216
+ // true if both NaN, false otherwise
217
+ // eslint-disable-next-line no-self-compare
218
+ return a !== a && b !== b;
129
219
  }
130
220
 
131
221
  // do not edit .js files directly - edit src/index.jst
@@ -801,71 +891,6 @@ function klona(x) {
801
891
  return tmp || x;
802
892
  }
803
893
 
804
- var es6 = function equal(a, b) {
805
- if (a === b) return true;
806
-
807
- if (a && b && typeof a == 'object' && typeof b == 'object') {
808
- if (a.constructor !== b.constructor) return false;
809
-
810
- var length, i, keys;
811
- if (Array.isArray(a)) {
812
- length = a.length;
813
- if (length != b.length) return false;
814
- for (i = length; i-- !== 0;)
815
- if (!equal(a[i], b[i])) return false;
816
- return true;
817
- }
818
-
819
-
820
- if ((a instanceof Map) && (b instanceof Map)) {
821
- if (a.size !== b.size) return false;
822
- for (i of a.entries())
823
- if (!b.has(i[0])) return false;
824
- for (i of a.entries())
825
- if (!equal(i[1], b.get(i[0]))) return false;
826
- return true;
827
- }
828
-
829
- if ((a instanceof Set) && (b instanceof Set)) {
830
- if (a.size !== b.size) return false;
831
- for (i of a.entries())
832
- if (!b.has(i[0])) return false;
833
- return true;
834
- }
835
-
836
- if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
837
- length = a.length;
838
- if (length != b.length) return false;
839
- for (i = length; i-- !== 0;)
840
- if (a[i] !== b[i]) return false;
841
- return true;
842
- }
843
-
844
-
845
- if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
846
- if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
847
- if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
848
-
849
- keys = Object.keys(a);
850
- length = keys.length;
851
- if (length !== Object.keys(b).length) return false;
852
-
853
- for (i = length; i-- !== 0;)
854
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
855
-
856
- for (i = length; i-- !== 0;) {
857
- var key = keys[i];
858
-
859
- if (!equal(a[key], b[key])) return false;
860
- }
861
-
862
- return true;
863
- }
864
-
865
- // true if both NaN, false otherwise
866
- return a!==a && b!==b;
867
- };
868
-
869
894
  let ID_COUNTER = 0;
870
895
  function useFieldState(path, init) {
871
896
  const { value, initialValue, setInitialValue } = _useFieldValue(path, init.modelValue, !init.standalone);
@@ -959,7 +984,7 @@ function _useFieldMeta(currentValue, initialValue, errors) {
959
984
  validated: !!unref(errors).length,
960
985
  initialValue: computed(() => unref(initialValue)),
961
986
  dirty: computed(() => {
962
- return !es6(unref(currentValue), unref(initialValue));
987
+ return !isEqual(unref(currentValue), unref(initialValue));
963
988
  }),
964
989
  });
965
990
  watch(errors, value => {
@@ -1461,13 +1486,15 @@ function _useField(name, rules, opts) {
1461
1486
  meta.touched = isTouched;
1462
1487
  }
1463
1488
  let unwatchValue;
1489
+ let lastWatchedValue = klona(value.value);
1464
1490
  function watchValue() {
1465
1491
  unwatchValue = watch(value, (val, oldVal) => {
1466
- if (es6(val, oldVal)) {
1492
+ if (isEqual(val, oldVal) && isEqual(val, lastWatchedValue)) {
1467
1493
  return;
1468
1494
  }
1469
1495
  const validateFn = validateOnValueUpdate ? validateWithStateMutation : validateValidStateOnly;
1470
1496
  validateFn();
1497
+ lastWatchedValue = klona(val);
1471
1498
  }, {
1472
1499
  deep: true,
1473
1500
  });
@@ -1523,7 +1550,7 @@ function _useField(name, rules, opts) {
1523
1550
  provide(FieldContextKey, field);
1524
1551
  if (isRef(rules) && typeof unref(rules) !== 'function') {
1525
1552
  watch(rules, (value, oldValue) => {
1526
- if (es6(value, oldValue)) {
1553
+ if (isEqual(value, oldValue)) {
1527
1554
  return;
1528
1555
  }
1529
1556
  meta.validated ? validateWithStateMutation() : validateValidStateOnly();
@@ -1577,7 +1604,7 @@ function _useField(name, rules, opts) {
1577
1604
  if (!Object.keys(deps).length) {
1578
1605
  return;
1579
1606
  }
1580
- const shouldValidate = !es6(deps, oldDeps);
1607
+ const shouldValidate = !isEqual(deps, oldDeps);
1581
1608
  if (shouldValidate) {
1582
1609
  meta.validated ? validateWithStateMutation() : validateValidStateOnly();
1583
1610
  }
@@ -1628,12 +1655,15 @@ function useCheckboxField(name, rules, opts) {
1628
1655
  const currentValue = unref(field.value);
1629
1656
  const checkedVal = unref(checkedValue);
1630
1657
  return Array.isArray(currentValue)
1631
- ? currentValue.findIndex(v => es6(v, checkedVal)) >= 0
1632
- : es6(checkedVal, currentValue);
1658
+ ? currentValue.findIndex(v => isEqual(v, checkedVal)) >= 0
1659
+ : isEqual(checkedVal, currentValue);
1633
1660
  });
1634
1661
  function handleCheckboxChange(e, shouldValidate = true) {
1635
1662
  var _a;
1636
1663
  if (checked.value === ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.checked)) {
1664
+ if (shouldValidate) {
1665
+ field.validate();
1666
+ }
1637
1667
  return;
1638
1668
  }
1639
1669
  let newValue = normalizeEventValue(e);
@@ -1665,7 +1695,7 @@ function useVModel({ prop, value, handleChange }) {
1665
1695
  return;
1666
1696
  }
1667
1697
  watch(value, newValue => {
1668
- if (es6(newValue, getCurrentModelValue(vm, propName))) {
1698
+ if (isEqual(newValue, getCurrentModelValue(vm, propName))) {
1669
1699
  return;
1670
1700
  }
1671
1701
  vm.emit(emitName, newValue);
@@ -1675,7 +1705,7 @@ function useVModel({ prop, value, handleChange }) {
1675
1705
  return;
1676
1706
  }
1677
1707
  const newValue = propValue === IS_ABSENT ? undefined : propValue;
1678
- if (es6(newValue, applyModelModifiers(value.value, vm.props.modelModifiers))) {
1708
+ if (isEqual(newValue, applyModelModifiers(value.value, vm.props.modelModifiers))) {
1679
1709
  return;
1680
1710
  }
1681
1711
  handleChange(newValue);
@@ -2239,7 +2269,7 @@ function useForm(opts) {
2239
2269
  // if it does belong to it that means the group still exists
2240
2270
  // #3844
2241
2271
  if (isSameGroup && Array.isArray(currentGroupValue) && !shouldKeepValue) {
2242
- const valueIdx = currentGroupValue.findIndex(i => es6(i, unref(field.checkedValue)));
2272
+ const valueIdx = currentGroupValue.findIndex(i => isEqual(i, unref(field.checkedValue)));
2243
2273
  if (valueIdx > -1) {
2244
2274
  const newVal = [...currentGroupValue];
2245
2275
  newVal.splice(valueIdx, 1);
@@ -2454,7 +2484,7 @@ function useFormMeta(fieldsByPath, currentValues, initialValues, errors) {
2454
2484
  valid: 'every',
2455
2485
  };
2456
2486
  const isDirty = computed(() => {
2457
- return !es6(currentValues, unref(initialValues));
2487
+ return !isEqual(currentValues, unref(initialValues));
2458
2488
  });
2459
2489
  function calculateFlags() {
2460
2490
  const fields = Object.values(fieldsByPath.value).flat(1).filter(Boolean);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.6.7
2
+ * vee-validate v4.6.8
3
3
  * (c) 2022 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -129,6 +129,96 @@
129
129
  }
130
130
  function isPropPresent(obj, prop) {
131
131
  return prop in obj && obj[prop] !== IS_ABSENT;
132
+ }
133
+ /**
134
+ * Compares if two values are the same borrowed from:
135
+ * https://github.com/epoberezkin/fast-deep-equal
136
+ * We added a case for file matching since `Object.keys` doesn't work with Files.
137
+ * */
138
+ function isEqual(a, b) {
139
+ if (a === b)
140
+ return true;
141
+ if (a && b && typeof a === 'object' && typeof b === 'object') {
142
+ if (a.constructor !== b.constructor)
143
+ return false;
144
+ // eslint-disable-next-line no-var
145
+ var length, i, keys;
146
+ if (Array.isArray(a)) {
147
+ length = a.length;
148
+ // eslint-disable-next-line eqeqeq
149
+ if (length != b.length)
150
+ return false;
151
+ for (i = length; i-- !== 0;)
152
+ if (!isEqual(a[i], b[i]))
153
+ return false;
154
+ return true;
155
+ }
156
+ if (a instanceof Map && b instanceof Map) {
157
+ if (a.size !== b.size)
158
+ return false;
159
+ for (i of a.entries())
160
+ if (!b.has(i[0]))
161
+ return false;
162
+ for (i of a.entries())
163
+ if (!isEqual(i[1], b.get(i[0])))
164
+ return false;
165
+ return true;
166
+ }
167
+ // We added this part for file comparison, arguably a little naive but should work for most cases.
168
+ // #3911
169
+ if (a instanceof File && b instanceof File) {
170
+ if (a.size !== b.size)
171
+ return false;
172
+ if (a.name !== b.name)
173
+ return false;
174
+ if (a.lastModified !== b.lastModified)
175
+ return false;
176
+ if (a.type !== b.type)
177
+ return false;
178
+ return true;
179
+ }
180
+ if (a instanceof Set && b instanceof Set) {
181
+ if (a.size !== b.size)
182
+ return false;
183
+ for (i of a.entries())
184
+ if (!b.has(i[0]))
185
+ return false;
186
+ return true;
187
+ }
188
+ if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
189
+ length = a.length;
190
+ // eslint-disable-next-line eqeqeq
191
+ if (length != b.length)
192
+ return false;
193
+ for (i = length; i-- !== 0;)
194
+ if (a[i] !== b[i])
195
+ return false;
196
+ return true;
197
+ }
198
+ if (a.constructor === RegExp)
199
+ return a.source === b.source && a.flags === b.flags;
200
+ if (a.valueOf !== Object.prototype.valueOf)
201
+ return a.valueOf() === b.valueOf();
202
+ if (a.toString !== Object.prototype.toString)
203
+ return a.toString() === b.toString();
204
+ keys = Object.keys(a);
205
+ length = keys.length;
206
+ if (length !== Object.keys(b).length)
207
+ return false;
208
+ for (i = length; i-- !== 0;)
209
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
210
+ return false;
211
+ for (i = length; i-- !== 0;) {
212
+ // eslint-disable-next-line no-var
213
+ var key = keys[i];
214
+ if (!isEqual(a[key], b[key]))
215
+ return false;
216
+ }
217
+ return true;
218
+ }
219
+ // true if both NaN, false otherwise
220
+ // eslint-disable-next-line no-self-compare
221
+ return a !== a && b !== b;
132
222
  }
133
223
 
134
224
  // do not edit .js files directly - edit src/index.jst
@@ -786,71 +876,6 @@
786
876
  return tmp || x;
787
877
  }
788
878
 
789
- var es6 = function equal(a, b) {
790
- if (a === b) return true;
791
-
792
- if (a && b && typeof a == 'object' && typeof b == 'object') {
793
- if (a.constructor !== b.constructor) return false;
794
-
795
- var length, i, keys;
796
- if (Array.isArray(a)) {
797
- length = a.length;
798
- if (length != b.length) return false;
799
- for (i = length; i-- !== 0;)
800
- if (!equal(a[i], b[i])) return false;
801
- return true;
802
- }
803
-
804
-
805
- if ((a instanceof Map) && (b instanceof Map)) {
806
- if (a.size !== b.size) return false;
807
- for (i of a.entries())
808
- if (!b.has(i[0])) return false;
809
- for (i of a.entries())
810
- if (!equal(i[1], b.get(i[0]))) return false;
811
- return true;
812
- }
813
-
814
- if ((a instanceof Set) && (b instanceof Set)) {
815
- if (a.size !== b.size) return false;
816
- for (i of a.entries())
817
- if (!b.has(i[0])) return false;
818
- return true;
819
- }
820
-
821
- if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
822
- length = a.length;
823
- if (length != b.length) return false;
824
- for (i = length; i-- !== 0;)
825
- if (a[i] !== b[i]) return false;
826
- return true;
827
- }
828
-
829
-
830
- if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
831
- if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
832
- if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
833
-
834
- keys = Object.keys(a);
835
- length = keys.length;
836
- if (length !== Object.keys(b).length) return false;
837
-
838
- for (i = length; i-- !== 0;)
839
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
840
-
841
- for (i = length; i-- !== 0;) {
842
- var key = keys[i];
843
-
844
- if (!equal(a[key], b[key])) return false;
845
- }
846
-
847
- return true;
848
- }
849
-
850
- // true if both NaN, false otherwise
851
- return a!==a && b!==b;
852
- };
853
-
854
879
  let ID_COUNTER = 0;
855
880
  function useFieldState(path, init) {
856
881
  const { value, initialValue, setInitialValue } = _useFieldValue(path, init.modelValue, !init.standalone);
@@ -944,7 +969,7 @@
944
969
  validated: !!vue.unref(errors).length,
945
970
  initialValue: vue.computed(() => vue.unref(initialValue)),
946
971
  dirty: vue.computed(() => {
947
- return !es6(vue.unref(currentValue), vue.unref(initialValue));
972
+ return !isEqual(vue.unref(currentValue), vue.unref(initialValue));
948
973
  }),
949
974
  });
950
975
  vue.watch(errors, value => {
@@ -1086,13 +1111,15 @@
1086
1111
  meta.touched = isTouched;
1087
1112
  }
1088
1113
  let unwatchValue;
1114
+ let lastWatchedValue = klona(value.value);
1089
1115
  function watchValue() {
1090
1116
  unwatchValue = vue.watch(value, (val, oldVal) => {
1091
- if (es6(val, oldVal)) {
1117
+ if (isEqual(val, oldVal) && isEqual(val, lastWatchedValue)) {
1092
1118
  return;
1093
1119
  }
1094
1120
  const validateFn = validateOnValueUpdate ? validateWithStateMutation : validateValidStateOnly;
1095
1121
  validateFn();
1122
+ lastWatchedValue = klona(val);
1096
1123
  }, {
1097
1124
  deep: true,
1098
1125
  });
@@ -1148,7 +1175,7 @@
1148
1175
  vue.provide(FieldContextKey, field);
1149
1176
  if (vue.isRef(rules) && typeof vue.unref(rules) !== 'function') {
1150
1177
  vue.watch(rules, (value, oldValue) => {
1151
- if (es6(value, oldValue)) {
1178
+ if (isEqual(value, oldValue)) {
1152
1179
  return;
1153
1180
  }
1154
1181
  meta.validated ? validateWithStateMutation() : validateValidStateOnly();
@@ -1193,7 +1220,7 @@
1193
1220
  if (!Object.keys(deps).length) {
1194
1221
  return;
1195
1222
  }
1196
- const shouldValidate = !es6(deps, oldDeps);
1223
+ const shouldValidate = !isEqual(deps, oldDeps);
1197
1224
  if (shouldValidate) {
1198
1225
  meta.validated ? validateWithStateMutation() : validateValidStateOnly();
1199
1226
  }
@@ -1244,12 +1271,15 @@
1244
1271
  const currentValue = vue.unref(field.value);
1245
1272
  const checkedVal = vue.unref(checkedValue);
1246
1273
  return Array.isArray(currentValue)
1247
- ? currentValue.findIndex(v => es6(v, checkedVal)) >= 0
1248
- : es6(checkedVal, currentValue);
1274
+ ? currentValue.findIndex(v => isEqual(v, checkedVal)) >= 0
1275
+ : isEqual(checkedVal, currentValue);
1249
1276
  });
1250
1277
  function handleCheckboxChange(e, shouldValidate = true) {
1251
1278
  var _a;
1252
1279
  if (checked.value === ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.checked)) {
1280
+ if (shouldValidate) {
1281
+ field.validate();
1282
+ }
1253
1283
  return;
1254
1284
  }
1255
1285
  let newValue = normalizeEventValue(e);
@@ -1278,7 +1308,7 @@
1278
1308
  return;
1279
1309
  }
1280
1310
  vue.watch(value, newValue => {
1281
- if (es6(newValue, getCurrentModelValue(vm, propName))) {
1311
+ if (isEqual(newValue, getCurrentModelValue(vm, propName))) {
1282
1312
  return;
1283
1313
  }
1284
1314
  vm.emit(emitName, newValue);
@@ -1288,7 +1318,7 @@
1288
1318
  return;
1289
1319
  }
1290
1320
  const newValue = propValue === IS_ABSENT ? undefined : propValue;
1291
- if (es6(newValue, applyModelModifiers(value.value, vm.props.modelModifiers))) {
1321
+ if (isEqual(newValue, applyModelModifiers(value.value, vm.props.modelModifiers))) {
1292
1322
  return;
1293
1323
  }
1294
1324
  handleChange(newValue);
@@ -1852,7 +1882,7 @@
1852
1882
  // if it does belong to it that means the group still exists
1853
1883
  // #3844
1854
1884
  if (isSameGroup && Array.isArray(currentGroupValue) && !shouldKeepValue) {
1855
- const valueIdx = currentGroupValue.findIndex(i => es6(i, vue.unref(field.checkedValue)));
1885
+ const valueIdx = currentGroupValue.findIndex(i => isEqual(i, vue.unref(field.checkedValue)));
1856
1886
  if (valueIdx > -1) {
1857
1887
  const newVal = [...currentGroupValue];
1858
1888
  newVal.splice(valueIdx, 1);
@@ -2061,7 +2091,7 @@
2061
2091
  valid: 'every',
2062
2092
  };
2063
2093
  const isDirty = vue.computed(() => {
2064
- return !es6(currentValues, vue.unref(initialValues));
2094
+ return !isEqual(currentValues, vue.unref(initialValues));
2065
2095
  });
2066
2096
  function calculateFlags() {
2067
2097
  const fields = Object.values(fieldsByPath.value).flat(1).filter(Boolean);
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.6.7
2
+ * vee-validate v4.6.8
3
3
  * (c) 2022 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function r(e){return"function"==typeof e}function n(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function u(e){return Number(e)>=0}const i={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value");function d(e){return r(e)&&!!e.__locatorRef}function c(e){return!!e&&r(e.validate)}function f(e){return"checkbox"===e||"radio"===e}function v(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function p(e){return/^\[.+\]$/i.test(e)}function m(e){return"SELECT"===e.tagName}function h(e,t){return!function(e,t){const r=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&r}(e,t)&&"file"!==t.type&&!f(t.type)}function y(e){return g(e)&&e.target&&"submit"in e.target}function g(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function b(e,t){return t in e&&e[t]!==s}var O=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,a,u;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(!e(t[a],r[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};function V(e){return p(e)?e.replace(/\[|\]/gi,""):e}function F(e,t,r){if(!e)return r;if(p(t))return e[V(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(n=e)||Array.isArray(n))&&t in e?e[t]:r;var n}),e)}function A(e,t,r){if(p(t))return void(e[V(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(i[a[e]]=r);a[e]in i&&!n(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function j(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function w(e,t){if(p(t))return void delete e[V(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<r.length;e++){if(e===r.length-1){j(a,r[e]);break}if(!(r[e]in a)||n(a[r[e]]))break;a=a[r[e]]}const u=r.map(((t,n)=>F(e,r.slice(0,n).join("."))));for(let t=u.length-1;t>=0;t--)v(u[t])&&(0!==t?j(u[t-1],r[t-1]):j(e,r[0]))}function E(e){return Object.keys(e)}function S(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function k(e){t.warn(`[vee-validate]: ${e}`)}function B(e){return Array.isArray(e)?e[0]:e}function I(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.findIndex((e=>O(e,t)));return n>=0?r.splice(n,1):r.push(t),r}return O(e,t)?r:t}function M(e,t=0){let r=null,n=[];return function(...a){return r&&window.clearTimeout(r),r=window.setTimeout((()=>{const t=e(...a);n.forEach((e=>e(t))),n=[]}),t),new Promise((e=>n.push(e)))}}function T(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function C(e,t){let r;return async function(...n){const a=e(...n);r=a;const u=await a;return a!==r||(r=void 0,t(u,n)),u}}const R=(e,t,r)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,n;return null===(n=(e=t.slots).default)||void 0===n?void 0:n.call(e,r())}}:t.slots.default(r()):t.slots.default;function x(e){if(P(e))return e._value}function P(e){return"_value"in e}function N(e){if(!g(e))return e;const t=e.target;if(f(t.type)&&P(t))return x(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(m(r=t)&&r.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(x);var r;if(m(t)){const e=Array.from(t.options).find((e=>e.selected));return e?x(e):t.value}return t.value}function _(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,r)=>{const n=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[r]);return!1!==e[r]&&(t[r]=U(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=$(t);return r.name?(e[r.name]=U(r.params),e):e}),t):t}function U(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>F(t,e)||t[e];return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((r,n)=>(r[n]=t(e[n]),r)),{})}const $=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let D=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const q=()=>D,z=e=>{D=Object.assign(Object.assign({},D),e)};async function L(e,t,n={}){const a=null==n?void 0:n.bails,u={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},i=await async function(e,t){if(c(e.rules))return async function(e,t,r){var n;return{errors:await t.validate(e,{abortEarly:null===(n=r.bails)||void 0===n||n}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(r(e.rules)||Array.isArray(e.rules)){const r={field:e.name,form:e.formData,value:t},n=Array.isArray(e.rules)?e.rules:[e.rules],a=n.length,u=[];for(let i=0;i<a;i++){const a=n[i],o=await a(t,r);if("string"!=typeof o&&o)continue;const l="string"==typeof o?o:G(r);if(u.push(l),e.bails)return{errors:u}}return{errors:u}}const n=Object.assign(Object.assign({},e),{rules:_(e.rules)}),a=[],u=Object.keys(n.rules),i=u.length;for(let r=0;r<i;r++){const i=u[r],o=await K(n,t,{name:i,params:n.rules[i]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(u,e),o=i.errors;return{errors:o,valid:!o.length}}async function K(e,t,r){const n=(a=r.name,i[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const u=function(e,t){const r=e=>d(e)?e(t):e;if(Array.isArray(e))return e.map(r);return Object.keys(e).reduce(((t,n)=>(t[n]=r(e[n]),t)),{})}(r.params,e.formData),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},r),{params:u})},l=await n(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:G(o)}}function G(e){const t=q().generateMessage;return t?t(e):"Field is invalid"}async function X(e,t,r){const n=E(e).map((async n=>{var a,u,i;const o=await L(F(t,n),e[n],{name:(null===(a=null==r?void 0:r.names)||void 0===a?void 0:a[n])||n,values:t,bails:null===(i=null===(u=null==r?void 0:r.bailsMap)||void 0===u?void 0:u[n])||void 0===i||i});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const u=await Promise.all(n),i={},o={};for(const e of u)i[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:i,errors:o}}function H(e,t,r){"object"==typeof r.value&&(r.value=J(r.value)),r.enumerable&&!r.get&&!r.set&&r.configurable&&r.writable&&"__proto__"!==t?e[t]=r.value:Object.defineProperty(e,t,r)}function J(e){if("object"!=typeof e)return e;var t,r,n,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?n=Object.create(e.__proto__||null):"[object Array]"===u?n=Array(e.length):"[object Set]"===u?(n=new Set,e.forEach((function(e){n.add(J(e))}))):"[object Map]"===u?(n=new Map,e.forEach((function(e,t){n.set(J(t),J(e))}))):"[object Date]"===u?n=new Date(+e):"[object RegExp]"===u?n=new RegExp(e.source,e.flags):"[object DataView]"===u?n=new e.constructor(J(e.buffer)):"[object ArrayBuffer]"===u?n=e.slice(0):"Array]"===u.slice(-6)&&(n=new e.constructor(e)),n){for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)H(n,r[a],Object.getOwnPropertyDescriptor(e,r[a]));for(a=0,r=Object.getOwnPropertyNames(e);a<r.length;a++)Object.hasOwnProperty.call(n,t=r[a])&&n[t]===e[t]||H(n,t,Object.getOwnPropertyDescriptor(e,t))}return n||e}var Q=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,a,u;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(!e(t[a],r[a]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;for(a of t.entries())if(!e(a[1],r.get(a[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(t[a]!==r[a])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};let W=0;function Y(e,r){const{value:n,initialValue:a,setInitialValue:u}=Z(e,r.modelValue,!r.standalone),{errorMessage:i,errors:l,setErrors:s}=function(e,r){const n=r?S(o,void 0):void 0;function a(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=a(t)}}}const u=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:u,errorMessage:t.computed((()=>u.value[0])),setErrors:r=>{n.setFieldErrorBag(t.unref(e),a(r))}}}(e,!r.standalone),d=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(r))),dirty:t.computed((()=>!Q(t.unref(e),t.unref(r))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(n,a,l);return{id:W>=Number.MAX_SAFE_INTEGER?0:++W,path:e,value:n,initialValue:a,meta:d,errors:l,errorMessage:i,setState:function(e){var t;"value"in e&&(n.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(d.touched=null!==(t=e.touched)&&void 0!==t?t:d.touched),"initialValue"in e&&u(e.initialValue)}}}function Z(e,r,n=!0){const a=!0===n?S(o,void 0):void 0,u=t.ref(t.unref(r));function i(){return a?F(a.meta.value.initialValues,t.unref(e),t.unref(u)):t.unref(u)}function l(r){a?a.stageInitialValue(t.unref(e),r,!0):u.value=r}const s=t.computed(i);if(!a){return{value:t.ref(i()),initialValue:s,setInitialValue:l}}const d=r?t.unref(r):F(a.values,t.unref(e),t.unref(s));a.stageInitialValue(t.unref(e),d,!0);return{value:t.computed({get:()=>F(a.values,t.unref(e)),set(r){a.setFieldValue(t.unref(e),r)}}),initialValue:s,setInitialValue:l}}function ee(e,r,n){return f(null==n?void 0:n.type)?function(e,r,n){const a=(null==n?void 0:n.standalone)?void 0:S(o),u=null==n?void 0:n.checkedValue,i=null==n?void 0:n.uncheckedValue;function l(e){const r=e.handleChange,n=t.computed((()=>{const r=t.unref(e.value),n=t.unref(u);return Array.isArray(r)?r.findIndex((e=>Q(e,n)))>=0:Q(n,r)}));function o(o,l=!0){var s;if(n.value===(null===(s=null==o?void 0:o.target)||void 0===s?void 0:s.checked))return;let d=N(o);a||(d=I(t.unref(e.value),t.unref(u),t.unref(i))),r(d,l)}return Object.assign(Object.assign({},e),{checked:n,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(te(e,r,n))}(e,r,n):te(e,r,n)}function te(e,n,a){const{initialValue:u,validateOnMount:i,bails:f,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,standalone:g,keepValueOnUnmount:b,modelPropName:O,syncVModel:V}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0,standalone:!1,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0});if(!t)return r();const n="valueProp"in t?t.valueProp:t.checkedValue;return Object.assign(Object.assign(Object.assign({},r()),t||{}),{checkedValue:n})}(t.unref(e),a),A=g?void 0:S(o);let j=!1;const{id:w,value:k,initialValue:B,meta:I,setState:M,errors:R,errorMessage:x}=Y(e,{modelValue:u,standalone:g});V&&function({prop:e,value:r,handleChange:n}){const a=t.getCurrentInstance();if(!a)return;const u=e||"modelValue",i=`update:${u}`;if(!(u in a.props))return;t.watch(r,(e=>{Q(e,re(a,u))||a.emit(i,e)})),t.watch((()=>re(a,u)),(e=>{if(e===s&&void 0===r.value)return;const t=e===s?void 0:e;Q(t,T(r.value,a.props.modelModifiers))||n(t)}))}({value:k,prop:O,handleChange:q});const P=t.computed((()=>{let a=t.unref(n);const u=t.unref(null==A?void 0:A.schema);return u&&!c(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),c(a)||r(a)||Array.isArray(a)?a:_(a)}));async function U(r){var n,a;return(null==A?void 0:A.validateSchema)?null!==(n=(await A.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:L(k.value,P.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==A?void 0:A.values)&&void 0!==a?a:{},bails:f})}const $=C((async()=>(I.pending=!0,I.validated=!0,U("validated-only"))),(e=>(j&&(e.valid=!0,e.errors=[]),M({errors:e.errors}),I.pending=!1,e))),D=C((async()=>U("silent")),(e=>(j&&(e.valid=!0),I.valid=e.valid,e)));function q(e,t=!0){const r=N(e);k.value=r,!h&&t&&$()}let z;function K(){z=t.watch(k,((e,t)=>{if(Q(e,t))return;(h?$:D)()}),{deep:!0})}function G(e){var r;null==z||z();const n=e&&"value"in e?e.value:B.value;M({value:J(n),initialValue:J(n),touched:null!==(r=null==e?void 0:e.touched)&&void 0!==r&&r,errors:(null==e?void 0:e.errors)||[]}),I.pending=!1,I.validated=!1,D(),t.nextTick((()=>{K()}))}t.onMounted((()=>{if(i)return $();A&&A.validateSchema||D()})),K();const X={id:w,name:e,label:m,value:k,meta:I,errors:R,errorMessage:x,type:v,checkedValue:p,uncheckedValue:y,bails:f,keepValueOnUnmount:b,resetField:G,handleReset:()=>G(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?D():$()},handleChange:q,handleBlur:()=>{I.touched=!0},setState:M,setTouched:function(e){I.touched=e},setErrors:function(e){M({errors:Array.isArray(e)?e:[e]})},setValue:function(e){k.value=e}};if(t.provide(l,X),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{Q(e,t)||(I.validated?$():D())}),{deep:!0}),!A)return X;A.register(X),t.onBeforeUnmount((()=>{j=!0,A.unregister(X)}));const H=t.computed((()=>{const e=P.value;return!e||r(e)||c(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(d):E(a).filter((e=>d(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=F(A.values,t)||A.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(H,((e,t)=>{if(!Object.keys(e).length)return;!Q(e,t)&&(I.validated?$():D())})),X}function re(e,t){return e.props[t]}function ne(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function ae(e,t){return f(t.attrs.type)?b(e,"modelValue")?e.modelValue:void 0:b(e,"modelValue")?e.modelValue:t.attrs.value}const ue=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>q().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1},keepValue:{type:Boolean,default:void 0}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),i=t.toRef(e,"uncheckedValue"),o=t.toRef(e,"keepValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:v,handleBlur:p,setTouched:m,resetField:y,handleReset:g,meta:b,checked:O,setErrors:V}=ee(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:ae(e,r),checkedValue:r.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1,keepValueOnUnmount:o}),F=function(e,t=!0){v(e,t),r.emit("update:modelValue",s.value)},A=function(e){(e=>{f(r.attrs.type)||(s.value=N(e))})(e),r.emit("update:modelValue",s.value)},j=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,r,n,a;const{validateOnInput:u,validateOnChange:i,validateOnBlur:o,validateOnModelUpdate:l}=q();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:i,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[p,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>F(e,t),r.attrs.onInput].filter(Boolean),l=[e=>F(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:i,onInput:o,onChange:l,"onUpdate:modelValue":e=>F(e,u)};f(r.attrs.type)&&O&&(d.checked=O.value);return h(ne(e,r),r.attrs)&&(d.value=s.value),d}));function w(){return{field:j.value,value:s.value,meta:b,errors:l.value,errorMessage:d.value,validate:c,resetField:y,handleChange:F,handleInput:A,handleReset:g,handleBlur:p,setTouched:m,setErrors:V}}return r.expose({setErrors:V,setTouched:m,reset:y,validate:c,handleChange:v}),()=>{const n=t.resolveDynamicComponent(ne(e,r)),a=R(n,r,w);return n?t.h(n,Object.assign(Object.assign({},r.attrs),j.value),a):a}}});let ie=0;function oe(e){var r;const n=ie++;let a=!1;const u=t.ref({}),i=t.ref(!1),l=t.ref(0),s=[],d=t.reactive(J(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:f,setErrorBag:p,setFieldErrorBag:m}=function(e){const r=t.ref({});function n(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?r.value[e]=n(t):delete r.value[e]}function u(e){r.value=E(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&u(e);return{errorBag:r,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),h=t.computed((()=>E(f.value).reduce(((e,t)=>{const r=f.value[t];return r&&r.length&&(e[t]=r[0]),e}),{})));function g(e){const t=u.value[e];return Array.isArray(t)?t[0]:t}function b(e){return!!u.value[e]}const O=t.computed((()=>E(u.value).reduce(((e,r)=>{const n=g(r);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),V=t.computed((()=>E(u.value).reduce(((e,t)=>{var r;const n=g(t);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),S=null!==(r=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==r&&r,{initialValues:k,originalInitialValues:B,setInitialValues:T}=function(e,r,n){const a=t.ref(J(t.unref(n))||{}),u=t.ref(J(t.unref(n))||{});function i(t,n=!1){a.value=J(t),u.value=J(t),n&&E(e.value).forEach((t=>{const n=e.value[t],u=Array.isArray(n)?n.some((e=>e.meta.touched)):null==n?void 0:n.meta.touched;if(!n||u)return;const i=F(a.value,t);A(r,t,J(i))}))}t.isRef(n)&&t.watch(n,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(u,d,null==e?void 0:e.initialValues),R=function(e,r,n,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!Q(r,t.unref(n))));function o(){const t=Object.values(e.value).flat(1).filter(Boolean);return E(u).reduce(((e,r)=>{const n=u[r];return e[r]=t[n]((e=>e.meta[r])),e}),{})}const l=t.reactive(o());return t.watchEffect((()=>{const e=o();l.touched=e.touched,l.valid=e.valid,l.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(n)},l),{valid:l.valid&&!E(a.value).length,dirty:i.value})))}(u,d,B,h),x=null==e?void 0:e.validationSchema,P=M(se,5),N=M(se,5),_=C((async e=>"silent"===await e?P():N()),((e,[t])=>{const r=U.fieldsByPath.value||{},n=E(U.errorBag.value);return[...new Set([...E(e.results),...E(r),...n])].reduce(((n,a)=>{const u=r[a],i=(e.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(n.results[a]=o,o.valid||(n.errors[a]=o.errors[0]),!u)return z(a,i),n;if(D(u,(e=>e.meta.valid=o.valid)),"silent"===t)return n;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==t||l?(D(u,(e=>e.setState({errors:o.errors}))),n):n}),{valid:e.valid,results:{},errors:{}})})),U={formId:n,fieldsByPath:u,values:d,errorBag:f,errors:h,schema:x,submitCount:l,meta:R,isSubmitting:i,fieldArrays:s,keepValuesOnUnmount:S,validateSchema:t.unref(x)?_:void 0,validate:ae,register:function(e){const r=t.unref(e.name);re(e,r),t.isRef(e.name)&&t.watch(e.name,(async(r,n)=>{await t.nextTick(),ne(e,n),re(e,r),(h.value[n]||h.value[r])&&(z(n,void 0),ue(r)),await t.nextTick(),b(n)||w(d,n)}));const n=t.unref(e.errorMessage);n&&(null==j?void 0:j[r])!==n&&ue(r);delete j[r]},unregister:function(e){const r=t.unref(e.name),n=u.value[r],a=!!n&&$(n);ne(e,r),t.nextTick((()=>{var i;const o=null!==(i=t.unref(e.keepValueOnUnmount))&&void 0!==i?i:t.unref(S),l=F(d,r);if(a&&(n===u.value[r]||!u.value[r])&&Array.isArray(l)&&!o){const n=l.findIndex((r=>Q(r,t.unref(e.checkedValue))));if(n>-1){const e=[...l];e.splice(n,1),K(r,e,{force:!0})}}if(!b(r)){if(z(r,void 0),o)return;if(a&&!v(F(d,r)))return;w(d,r)}}))},setFieldErrorBag:m,validateField:ue,setFieldValue:K,setValues:G,setErrors:L,setFieldError:z,setFieldTouched:Y,setTouched:ee,resetForm:te,handleSubmit:oe,stageInitialValue:function(t,r,n=!1){A(d,t,r),le(t,r),n&&!(null==e?void 0:e.initialValues)&&A(B.value,t,J(r))},unsetInitialValue:function(e){w(k.value,e)},setFieldInitialValue:le,useFieldModel:W};function $(e){return Array.isArray(e)}function D(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function q(e){Object.values(u.value).forEach((t=>{t&&D(t,e)}))}function z(e,t){m(e,t)}function L(e){p(e)}function K(e,r,{force:n}={force:!1}){var i;const o=u.value[e],l=J(r);if(!o)return void A(d,e,l);if($(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=J(I(F(d,e)||[],r,void 0));return void A(d,e,t)}let s=r;$(o)||"checkbox"!==o.type||n||a||(s=J(I(F(d,e),r,t.unref(o.uncheckedValue)))),A(d,e,s)}function G(e){E(d).forEach((e=>{delete d[e]})),E(e).forEach((t=>{K(t,e[t])})),s.forEach((e=>e&&e.reset()))}function H(e){const{value:r}=Z(e);return t.watch(r,(()=>{b(t.unref(e))||ae({mode:"validated-only"})}),{deep:!0}),r}function W(e){return Array.isArray(e)?e.map(H):H(e)}function Y(e,t){const r=u.value[e];r&&D(r,(e=>e.setTouched(t)))}function ee(e){E(e).forEach((t=>{Y(t,!!e[t])}))}function te(e){a=!0,(null==e?void 0:e.values)?(T(e.values),G(null==e?void 0:e.values)):(T(B.value),G(B.value)),q((e=>e.resetField())),(null==e?void 0:e.touched)&&ee(e.touched),L((null==e?void 0:e.errors)||{}),l.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{a=!1}))}function re(e,r){const n=t.markRaw(e),a=r;if(!u.value[a])return void(u.value[a]=n);const i=u.value[a];i&&!Array.isArray(i)&&(u.value[a]=[i]),u.value[a]=[...u.value[a],n]}function ne(e,t){const r=t,n=u.value[r];if(n)if($(n)||e.id!==n.id){if($(n)){const t=n.findIndex((t=>t.id===e.id));if(-1===t)return;n.splice(t,1),n.length||delete u.value[r]}}else delete u.value[r]}async function ae(e){if(q((e=>e.meta.validated=!0)),U.validateSchema)return U.validateSchema((null==e?void 0:e.mode)||"force");const r=await Promise.all(Object.values(u.value).map((r=>{const n=Array.isArray(r)?r[0]:r;return n?n.validate(e).then((e=>({key:t.unref(n.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),n={},a={};for(const e of r)n[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(a[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:n,errors:a}}async function ue(e){const r=u.value[e];return r?Array.isArray(r)?r.map((e=>e.validate()))[0]:r.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function oe(e,t){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),ee(E(u.value).reduce(((e,t)=>(e[t]=!0,e)),{})),i.value=!0,l.value++,ae().then((n=>{if(n.valid&&"function"==typeof e)return e(J(d),{evt:r,setErrors:L,setFieldError:z,setTouched:ee,setFieldTouched:Y,setValues:G,setFieldValue:K,resetForm:te});n.valid||"function"!=typeof t||t({values:J(d),evt:r,errors:n.errors,results:n.results})})).then((e=>(i.value=!1,e)),(e=>{throw i.value=!1,e}))}}function le(e,t){A(k.value,e,J(t))}async function se(){const e=t.unref(x);if(!e)return{valid:!0,results:{},errors:{}};const r=c(e)?await async function(e,t){const r=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),n={},a={};for(const e of r){const t=e.errors;n[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!r.length,results:n,errors:a}}(e,d):await X(e,d,{names:O.value,bailsMap:V.value});return r}const de=oe(((e,{evt:t})=>{y(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&L(e.initialErrors),(null==e?void 0:e.initialTouched)&&ee(e.initialTouched),(null==e?void 0:e.validateOnMount)?ae():U.validateSchema&&U.validateSchema("silent")})),t.isRef(x)&&t.watch(x,(()=>{var e;null===(e=U.validateSchema)||void 0===e||e.call(U,"validated-only")})),t.provide(o,U),{errors:h,meta:R,values:d,isSubmitting:i,submitCount:l,validate:ae,validateField:ue,handleReset:()=>te(),resetForm:te,handleSubmit:oe,submitForm:de,setFieldError:z,setErrors:L,setFieldValue:K,setValues:G,setFieldTouched:Y,setTouched:ee,useFieldModel:W}}const le=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),u=t.toRef(e,"keepValues"),{errors:i,values:o,meta:l,isSubmitting:s,submitCount:d,validate:c,validateField:f,handleReset:v,resetForm:p,handleSubmit:m,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A}=oe({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:u}),j=m(((e,{evt:t})=>{y(t)&&t.target.submit()}),e.onInvalidSubmit),w=e.onSubmit?m(e.onSubmit,e.onInvalidSubmit):j;function E(e){g(e)&&e.preventDefault(),v(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function S(t,r){return m("function"!=typeof t||r?r:t,e.onInvalidSubmit)(t)}function k(){return{meta:l.value,errors:i.value,values:o,isSubmitting:s.value,submitCount:d.value,validate:c,validateField:f,handleSubmit:S,handleReset:v,submitForm:j,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p}}return r.expose({setFieldError:b,setErrors:h,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p,validate:c,validateField:f}),function(){const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=R(n,r,k);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},u),r.attrs),{onSubmit:w,onReset:E}),a)}}}),se=le;function de(e){const r=S(o,void 0),a=t.ref([]),u=()=>{},i={fields:a,remove:u,push:u,swap:u,insert:u,update:u,replace:u,prepend:u,move:u};if(!r)return k("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),i;if(!t.unref(e))return k("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),i;const l=r.fieldArrays.find((r=>t.unref(r.path)===t.unref(e)));if(l)return l;let s=0;function d(){const n=F(null==r?void 0:r.values,t.unref(e),[])||[];a.value=n.map(f),c()}function c(){const e=a.value.length;for(let t=0;t<e;t++){const r=a.value[t];r.isFirst=0===t,r.isLast=t===e-1}}function f(n){const u=s++,i={key:u,value:t.computed({get(){const i=F(null==r?void 0:r.values,t.unref(e),[])||[],o=a.value.findIndex((e=>e.key===u));return-1===o?n:i[o]},set(e){const t=a.value.findIndex((e=>e.key===u));-1!==t?v(t,e):k("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return i}function v(n,a){const u=t.unref(e),i=F(null==r?void 0:r.values,u);!Array.isArray(i)||i.length-1<n||null==r||r.setFieldValue(`${u}[${n}]`,a)}d();const p={fields:a,remove:function(n){const u=t.unref(e),i=F(null==r?void 0:r.values,u);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(n,1),null==r||r.unsetInitialValue(u+`[${n}]`),null==r||r.setFieldValue(u,o),a.value.splice(n,1),c()},push:function(u){const i=t.unref(e),o=F(null==r?void 0:r.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(u),null==r||r.stageInitialValue(i+`[${s.length-1}]`,u),null==r||r.setFieldValue(i,s),a.value.push(f(u)),c()},swap:function(n,u){const i=t.unref(e),o=F(null==r?void 0:r.values,i);if(!Array.isArray(o)||!(n in o)||!(u in o))return;const l=[...o],s=[...a.value],d=l[n];l[n]=l[u],l[u]=d;const f=s[n];s[n]=s[u],s[u]=f,null==r||r.setFieldValue(i,l),a.value=s,c()},insert:function(n,u){const i=t.unref(e),o=F(null==r?void 0:r.values,i);if(!Array.isArray(o)||o.length<n)return;const l=[...o],s=[...a.value];l.splice(n,0,u),s.splice(n,0,f(u)),null==r||r.setFieldValue(i,l),a.value=s,c()},update:v,replace:function(n){const a=t.unref(e);null==r||r.setFieldValue(a,n),d()},prepend:function(u){const i=t.unref(e),o=F(null==r?void 0:r.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[u,...l];null==r||r.stageInitialValue(i+`[${s.length-1}]`,u),null==r||r.setFieldValue(i,s),a.value.unshift(f(u)),c()},move:function(u,i){const o=t.unref(e),l=F(null==r?void 0:r.values,o),s=n(l)?[]:[...l];if(!Array.isArray(l)||!(u in l)||!(i in l))return;const d=[...a.value],f=d[u];d.splice(u,1),d.splice(i,0,f);const v=s[u];s.splice(u,1),s.splice(i,0,v),null==r||r.setFieldValue(o,s),a.value=d,c()}};return r.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const n=r.fieldArrays.findIndex((r=>t.unref(r.path)===t.unref(e)));n>=0&&r.fieldArrays.splice(n,1)})),p}const ce=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,r){const{push:n,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,move:d,fields:c}=de(t.toRef(e,"name"));function f(){return{fields:c.value,push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}}return r.expose({push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}),()=>R(void 0,r,f)}}),fe=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(o,void 0),a=t.computed((()=>null==n?void 0:n.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,i=R(n,r,u),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(n,o,i):t.h(n||"span",o,a.value):i}}});e.ErrorMessage=fe,e.Field=ue,e.FieldArray=ce,e.FieldContextKey=l,e.Form=se,e.FormContextKey=o,e.IS_ABSENT=s,e.configure=z,e.defineRule=function(e,t){!function(e,t){if(r(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),i[e]=t},e.useField=ee,e.useFieldArray=de,e.useFieldError=function(e){const r=S(o),n=e?void 0:t.inject(l);return t.computed((()=>e?null==r?void 0:r.errors.value[t.unref(e)]:null==n?void 0:n.errorMessage.value))},e.useFieldValue=function(e){const r=S(o),n=e?void 0:t.inject(l);return t.computed((()=>e?F(null==r?void 0:r.values,t.unref(e)):t.unref(null==n?void 0:n.value)))},e.useForm=oe,e.useFormErrors=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.dirty:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.touched:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=S(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.valid:(k(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=S(o);t||k("No vee-validate <Form /> or `useForm` was detected in the component tree");const r=t?t.handleSubmit(e):void 0;return function(e){if(r)return r(e)}},e.useValidateField=function(e){const r=S(o);let n=e?void 0:t.inject(l);return function(){return e&&(n=B(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.validate():(k(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=S(o);return e||k("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=L,Object.defineProperty(e,"__esModule",{value:!0})}));
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 i(e){return Number(e)>=0}const u={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value");function d(e){return n(e)&&!!e.__locatorRef}function c(e){return!!e&&n(e.validate)}function f(e){return"checkbox"===e||"radio"===e}function v(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function p(e){return/^\[.+\]$/i.test(e)}function m(e){return"SELECT"===e.tagName}function h(e,t){return!function(e,t){const 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&&!f(t.type)}function y(e){return g(e)&&e.target&&"submit"in e.target}function g(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function b(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(e instanceof File&&t instanceof File)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 i=a[r];if(!O(e[i],t[i]))return!1}return!0}return e!=e&&t!=t}var V=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,a,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(a=r;0!=a--;)if(!e(t[a],n[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(a=r;0!=a--;)if(!Object.prototype.hasOwnProperty.call(n,i[a]))return!1;for(a=r;0!=a--;){var u=i[a];if(!e(t[u],n[u]))return!1}return!0}return t!=t&&n!=n};function F(e){return p(e)?e.replace(/\[|\]/gi,""):e}function A(e,t,n){if(!e)return n;if(p(t))return e[F(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 j(e,t,n){if(p(t))return void(e[F(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]]=i(a[e+1])?[]:{}),u=u[a[e]]}}function w(e,t){Array.isArray(e)&&i(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function E(e,t){if(p(t))return void delete e[F(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){w(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const i=n.map(((t,r)=>A(e,n.slice(0,r).join("."))));for(let t=i.length-1;t>=0;t--)v(i[t])&&(0!==t?w(i[t-1],n[t-1]):w(e,n[0]))}function S(e){return Object.keys(e)}function k(e,n){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function B(e){t.warn(`[vee-validate]: ${e}`)}function I(e){return Array.isArray(e)?e[0]:e}function M(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>V(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return V(e,t)?n:t}function T(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 C(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function R(e,t){let n;return async function(...r){const a=e(...r);n=a;const i=await a;return a!==n||(n=void 0,t(i,r)),i}}const x=(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 P(e){if(N(e))return e._value}function N(e){return"_value"in e}function _(e){if(!g(e))return e;const t=e.target;if(f(t.type)&&N(t))return P(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(m(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(P);var n;if(m(t)){const e=Array.from(t.options).find((e=>e.selected));return e?P(e):t.value}return t.value}function U(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]=$(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=D(t);return n.name?(e[n.name]=$(n.params),e):e}),t):t}function $(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>A(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 D=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let z=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const q=()=>z,L=e=>{z=Object.assign(Object.assign({},z),e)};async function K(e,t,r={}){const a=null==r?void 0:r.bails,i={name:(null==r?void 0:r.name)||"{field}",rules:t,bails:null==a||a,formData:(null==r?void 0:r.values)||{}},u=await async function(e,t){if(c(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,i=[];for(let u=0;u<a;u++){const a=r[u],o=await a(t,n);if("string"!=typeof o&&o)continue;const l="string"==typeof o?o:X(n);if(i.push(l),e.bails)return{errors:i}}return{errors:i}}const r=Object.assign(Object.assign({},e),{rules:U(e.rules)}),a=[],i=Object.keys(r.rules),u=i.length;for(let n=0;n<u;n++){const u=i[n],o=await G(r,t,{name:u,params:r.rules[u]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(i,e),o=u.errors;return{errors:o,valid:!o.length}}async function G(e,t,n){const r=(a=n.name,u[a]);var a;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const i=function(e,t){const n=e=>d(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:i})},l=await r(t,i,o);return"string"==typeof l?{error:l}:{error:l?void 0:X(o)}}function X(e){const t=q().generateMessage;return t?t(e):"Field is invalid"}async function H(e,t,n){const r=S(e).map((async r=>{var a,i,u;const o=await K(A(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===(u=null===(i=null==n?void 0:n.bailsMap)||void 0===i?void 0:i[r])||void 0===u||u});return Object.assign(Object.assign({},o),{path:r})}));let a=!0;const i=await Promise.all(r),u={},o={};for(const e of i)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:u,errors:o}}function J(e,t,n){"object"==typeof n.value&&(n.value=Q(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function Q(e){if("object"!=typeof e)return e;var t,n,r,a=0,i=Object.prototype.toString.call(e);if("[object Object]"===i?r=Object.create(e.__proto__||null):"[object Array]"===i?r=Array(e.length):"[object Set]"===i?(r=new Set,e.forEach((function(e){r.add(Q(e))}))):"[object Map]"===i?(r=new Map,e.forEach((function(e,t){r.set(Q(t),Q(e))}))):"[object Date]"===i?r=new Date(+e):"[object RegExp]"===i?r=new RegExp(e.source,e.flags):"[object DataView]"===i?r=new e.constructor(Q(e.buffer)):"[object ArrayBuffer]"===i?r=e.slice(0):"Array]"===i.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)J(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]||J(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}let W=0;function Y(e,n){const{value:r,initialValue:a,setInitialValue:i}=Z(e,n.modelValue,!n.standalone),{errorMessage:u,errors:l,setErrors:s}=function(e,n){const r=n?k(o,void 0):void 0;function a(e){return e?Array.isArray(e)?e:[e]:[]}if(!r){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=a(t)}}}const i=t.computed((()=>r.errorBag.value[t.unref(e)]||[]));return{errors:i,errorMessage:t.computed((()=>i.value[0])),setErrors:n=>{r.setFieldErrorBag(t.unref(e),a(n))}}}(e,!n.standalone),d=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,l);return{id:W>=Number.MAX_SAFE_INTEGER?0:++W,path:e,value:r,initialValue:a,meta:d,errors:l,errorMessage:u,setState:function(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(d.touched=null!==(t=e.touched)&&void 0!==t?t:d.touched),"initialValue"in e&&i(e.initialValue)}}}function Z(e,n,r=!0){const a=!0===r?k(o,void 0):void 0,i=t.ref(t.unref(n));function u(){return a?A(a.meta.value.initialValues,t.unref(e),t.unref(i)):t.unref(i)}function l(n){a?a.stageInitialValue(t.unref(e),n,!0):i.value=n}const s=t.computed(u);if(!a){return{value:t.ref(u()),initialValue:s,setInitialValue:l}}const d=n?t.unref(n):A(a.values,t.unref(e),t.unref(s));a.stageInitialValue(t.unref(e),d,!0);return{value:t.computed({get:()=>A(a.values,t.unref(e)),set(n){a.setFieldValue(t.unref(e),n)}}),initialValue:s,setInitialValue:l}}function ee(e,n,r){return f(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:k(o),i=null==r?void 0:r.checkedValue,u=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(i);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=_(o);a||(d=M(t.unref(e.value),t.unref(i),t.unref(u))),n(d,l)}return Object.assign(Object.assign({},e),{checked:r,checkedValue:i,uncheckedValue:u,handleChange:o})}return l(te(e,n,r))}(e,n,r):te(e,n,r)}function te(e,r,a){const{initialValue:i,validateOnMount:u,bails:f,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,standalone:g,keepValueOnUnmount:b,modelPropName:V,syncVModel:F}=function(e,t){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0,standalone:!1,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0});if(!t)return n();const r="valueProp"in t?t.valueProp:t.checkedValue;return Object.assign(Object.assign(Object.assign({},n()),t||{}),{checkedValue:r})}(t.unref(e),a),j=g?void 0:k(o);let w=!1;const{id:E,value:B,initialValue:I,meta:M,setState:T,errors:x,errorMessage:P}=Y(e,{modelValue:i,standalone:g});F&&function({prop:e,value:n,handleChange:r}){const a=t.getCurrentInstance();if(!a)return;const i=e||"modelValue",u=`update:${i}`;if(!(i in a.props))return;t.watch(n,(e=>{O(e,ne(a,i))||a.emit(u,e)})),t.watch((()=>ne(a,i)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;O(t,C(n.value,a.props.modelModifiers))||r(t)}))}({value:B,prop:V,handleChange:q});const N=t.computed((()=>{let a=t.unref(r);const i=t.unref(null==j?void 0:j.schema);return i&&!c(i)&&(a=function(e,t){if(!e)return;return e[t]}(i,t.unref(e))||a),c(a)||n(a)||Array.isArray(a)?a:U(a)}));async function $(n){var r,a;return(null==j?void 0:j.validateSchema)?null!==(r=(await j.validateSchema(n)).results[t.unref(e)])&&void 0!==r?r:{valid:!0,errors:[]}:K(B.value,N.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==j?void 0:j.values)&&void 0!==a?a:{},bails:f})}const D=R((async()=>(M.pending=!0,M.validated=!0,$("validated-only"))),(e=>(w&&(e.valid=!0,e.errors=[]),T({errors:e.errors}),M.pending=!1,e))),z=R((async()=>$("silent")),(e=>(w&&(e.valid=!0),M.valid=e.valid,e)));function q(e,t=!0){const n=_(e);B.value=n,!h&&t&&D()}let L;t.onMounted((()=>{if(u)return D();j&&j.validateSchema||z()}));let G=Q(B.value);function X(){L=t.watch(B,((e,t)=>{if(O(e,t)&&O(e,G))return;(h?D:z)(),G=Q(e)}),{deep:!0})}function H(e){var n;null==L||L();const r=e&&"value"in e?e.value:I.value;T({value:Q(r),initialValue:Q(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),M.pending=!1,M.validated=!1,z(),t.nextTick((()=>{X()}))}X();const J={id:E,name:e,label:m,value:B,meta:M,errors:x,errorMessage:P,type:v,checkedValue:p,uncheckedValue:y,bails:f,keepValueOnUnmount:b,resetField:H,handleReset:()=>H(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?z():D()},handleChange:q,handleBlur:()=>{M.touched=!0},setState:T,setTouched:function(e){M.touched=e},setErrors:function(e){T({errors:Array.isArray(e)?e:[e]})},setValue:function(e){B.value=e}};if(t.provide(l,J),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{O(e,t)||(M.validated?D():z())}),{deep:!0}),!j)return J;j.register(J),t.onBeforeUnmount((()=>{w=!0,j.unregister(J)}));const W=t.computed((()=>{const e=N.value;return!e||n(e)||c(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(a=e[n],Array.isArray(a)?a.filter(d):S(a).filter((e=>d(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=A(j.values,t)||j.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(W,((e,t)=>{if(!Object.keys(e).length)return;!O(e,t)&&(M.validated?D():z())})),J}function ne(e,t){return e.props[t]}function re(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ae(e,t){return f(t.attrs.type)?b(e,"modelValue")?e.modelValue:void 0:b(e,"modelValue")?e.modelValue:t.attrs.value}const 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:()=>q().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1},keepValue:{type:Boolean,default:void 0}},setup(e,n){const r=t.toRef(e,"rules"),a=t.toRef(e,"name"),i=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),o=t.toRef(e,"keepValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:v,handleBlur:p,setTouched:m,resetField:y,handleReset:g,meta:b,checked:O,setErrors:V}=ee(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:ae(e,n),checkedValue:n.attrs.value,uncheckedValue:u,label:i,validateOnValueUpdate:!1,keepValueOnUnmount:o}),F=function(e,t=!0){v(e,t),n.emit("update:modelValue",s.value)},A=function(e){(e=>{f(n.attrs.type)||(s.value=_(e))})(e),n.emit("update:modelValue",s.value)},j=t.computed((()=>{const{validateOnInput:t,validateOnChange:r,validateOnBlur:a,validateOnModelUpdate:i}=function(e){var t,n,r,a;const{validateOnInput:i,validateOnChange:u,validateOnBlur:o,validateOnModelUpdate:l}=q();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:i,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:u,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),u=[p,n.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>F(e,t),n.attrs.onInput].filter(Boolean),l=[e=>F(e,r),n.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:o,onChange:l,"onUpdate:modelValue":e=>F(e,i)};f(n.attrs.type)&&O&&(d.checked=O.value);return h(re(e,n),n.attrs)&&(d.value=s.value),d}));function w(){return{field:j.value,value:s.value,meta:b,errors:l.value,errorMessage:d.value,validate:c,resetField:y,handleChange:F,handleInput:A,handleReset:g,handleBlur:p,setTouched:m,setErrors:V}}return n.expose({setErrors:V,setTouched:m,reset:y,validate:c,handleChange:v}),()=>{const r=t.resolveDynamicComponent(re(e,n)),a=x(r,n,w);return r?t.h(r,Object.assign(Object.assign({},n.attrs),j.value),a):a}}});let ue=0;function oe(e){var n;const r=ue++;let a=!1;const i=t.ref({}),u=t.ref(!1),l=t.ref(0),s=[],d=t.reactive(Q(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:f,setErrorBag:p,setFieldErrorBag:m}=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 i(e){n.value=S(e).reduce(((t,n)=>{const a=e[n];return a&&(t[n]=r(a)),t}),{})}e&&i(e);return{errorBag:n,setErrorBag:i,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),h=t.computed((()=>S(f.value).reduce(((e,t)=>{const n=f.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function g(e){const t=i.value[e];return Array.isArray(t)?t[0]:t}function b(e){return!!i.value[e]}const V=t.computed((()=>S(i.value).reduce(((e,n)=>{const r=g(n);return r&&(e[n]=t.unref(r.label||r.name)||""),e}),{}))),F=t.computed((()=>S(i.value).reduce(((e,t)=>{var n;const r=g(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),w=Object.assign({},(null==e?void 0:e.initialErrors)||{}),k=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:B,originalInitialValues:I,setInitialValues:C}=function(e,n,r){const a=t.ref(Q(t.unref(r))||{}),i=t.ref(Q(t.unref(r))||{});function u(t,r=!1){a.value=Q(t),i.value=Q(t),r&&S(e.value).forEach((t=>{const r=e.value[t],i=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||i)return;const u=A(a.value,t);j(n,t,Q(u))}))}t.isRef(r)&&t.watch(r,(e=>{u(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:i,setInitialValues:u}}(i,d,null==e?void 0:e.initialValues),x=function(e,n,r,a){const i={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!O(n,t.unref(r))));function o(){const t=Object.values(e.value).flat(1).filter(Boolean);return S(i).reduce(((e,n)=>{const r=i[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&&!S(a.value).length,dirty:u.value})))}(i,d,I,h),P=null==e?void 0:e.validationSchema,N=T(se,5),_=T(se,5),U=R((async e=>"silent"===await e?N():_()),((e,[t])=>{const n=$.fieldsByPath.value||{},r=S($.errorBag.value);return[...new Set([...S(e.results),...S(n),...r])].reduce(((r,a)=>{const i=n[a],u=(e.results[a]||{errors:[]}).errors,o={errors:u,valid:!u.length};if(r.results[a]=o,o.valid||(r.errors[a]=o.errors[0]),!i)return L(a,u),r;if(z(i,(e=>e.meta.valid=o.valid)),"silent"===t)return r;const l=Array.isArray(i)?i.some((e=>e.meta.validated)):i.meta.validated;return"validated-only"!==t||l?(z(i,(e=>e.setState({errors:o.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})})),$={formId:r,fieldsByPath:i,values:d,errorBag:f,errors:h,schema:P,submitCount:l,meta:x,isSubmitting:u,fieldArrays:s,keepValuesOnUnmount:k,validateSchema:t.unref(P)?U:void 0,validate:ae,register:function(e){const n=t.unref(e.name);ne(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),re(e,r),ne(e,n),(h.value[r]||h.value[n])&&(L(r,void 0),ie(n)),await t.nextTick(),b(r)||E(d,r)}));const r=t.unref(e.errorMessage);r&&(null==w?void 0:w[n])!==r&&ie(n);delete w[n]},unregister:function(e){const n=t.unref(e.name),r=i.value[n],a=!!r&&D(r);re(e,n),t.nextTick((()=>{var u;const o=null!==(u=t.unref(e.keepValueOnUnmount))&&void 0!==u?u:t.unref(k),l=A(d,n);if(a&&(r===i.value[n]||!i.value[n])&&Array.isArray(l)&&!o){const r=l.findIndex((n=>O(n,t.unref(e.checkedValue))));if(r>-1){const e=[...l];e.splice(r,1),G(n,e,{force:!0})}}if(!b(n)){if(L(n,void 0),o)return;if(a&&!v(A(d,n)))return;E(d,n)}}))},setFieldErrorBag:m,validateField:ie,setFieldValue:G,setValues:X,setErrors:K,setFieldError:L,setFieldTouched:Y,setTouched:ee,resetForm:te,handleSubmit:oe,stageInitialValue:function(t,n,r=!1){j(d,t,n),le(t,n),r&&!(null==e?void 0:e.initialValues)&&j(I.value,t,Q(n))},unsetInitialValue:function(e){E(B.value,e)},setFieldInitialValue:le,useFieldModel:W};function D(e){return Array.isArray(e)}function z(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function q(e){Object.values(i.value).forEach((t=>{t&&z(t,e)}))}function L(e,t){m(e,t)}function K(e){p(e)}function G(e,n,{force:r}={force:!1}){var u;const o=i.value[e],l=Q(n);if(!o)return void j(d,e,l);if(D(o)&&"checkbox"===(null===(u=o[0])||void 0===u?void 0:u.type)&&!Array.isArray(n)){const t=Q(M(A(d,e)||[],n,void 0));return void j(d,e,t)}let s=n;D(o)||"checkbox"!==o.type||r||a||(s=Q(M(A(d,e),n,t.unref(o.uncheckedValue)))),j(d,e,s)}function X(e){S(d).forEach((e=>{delete d[e]})),S(e).forEach((t=>{G(t,e[t])})),s.forEach((e=>e&&e.reset()))}function J(e){const{value:n}=Z(e);return t.watch(n,(()=>{b(t.unref(e))||ae({mode:"validated-only"})}),{deep:!0}),n}function W(e){return Array.isArray(e)?e.map(J):J(e)}function Y(e,t){const n=i.value[e];n&&z(n,(e=>e.setTouched(t)))}function ee(e){S(e).forEach((t=>{Y(t,!!e[t])}))}function te(e){a=!0,(null==e?void 0:e.values)?(C(e.values),X(null==e?void 0:e.values)):(C(I.value),X(I.value)),q((e=>e.resetField())),(null==e?void 0:e.touched)&&ee(e.touched),K((null==e?void 0:e.errors)||{}),l.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{a=!1}))}function ne(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 re(e,t){const n=t,r=i.value[n];if(r)if(D(r)||e.id!==r.id){if(D(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 ae(e){if(q((e=>e.meta.validated=!0)),$.validateSchema)return $.validateSchema((null==e?void 0:e.mode)||"force");const n=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:[]})}))),r={},a={};for(const e of n)r[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(a[e.key]=e.errors[0]);return{valid:n.every((e=>e.valid)),results:r,errors:a}}async function ie(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 oe(e,t){return function(n){return n instanceof Event&&(n.preventDefault(),n.stopPropagation()),ee(S(i.value).reduce(((e,t)=>(e[t]=!0,e)),{})),u.value=!0,l.value++,ae().then((r=>{if(r.valid&&"function"==typeof e)return e(Q(d),{evt:n,setErrors:K,setFieldError:L,setTouched:ee,setFieldTouched:Y,setValues:X,setFieldValue:G,resetForm:te});r.valid||"function"!=typeof t||t({values:Q(d),evt:n,errors:r.errors,results:r.results})})).then((e=>(u.value=!1,e)),(e=>{throw u.value=!1,e}))}}function le(e,t){j(B.value,e,Q(t))}async function se(){const e=t.unref(P);if(!e)return{valid:!0,results:{},errors:{}};const n=c(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,d):await H(e,d,{names:V.value,bailsMap:F.value});return n}const de=oe(((e,{evt:t})=>{y(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&K(e.initialErrors),(null==e?void 0:e.initialTouched)&&ee(e.initialTouched),(null==e?void 0:e.validateOnMount)?ae():$.validateSchema&&$.validateSchema("silent")})),t.isRef(P)&&t.watch(P,(()=>{var e;null===(e=$.validateSchema)||void 0===e||e.call($,"validated-only")})),t.provide(o,$),{errors:h,meta:x,values:d,isSubmitting:u,submitCount:l,validate:ae,validateField:ie,handleReset:()=>te(),resetForm:te,handleSubmit:oe,submitForm:de,setFieldError:L,setErrors:K,setFieldValue:G,setValues:X,setFieldTouched:Y,setTouched:ee,useFieldModel:W}}const le=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1}},setup(e,n){const r=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),i=t.toRef(e,"keepValues"),{errors:u,values:o,meta:l,isSubmitting:s,submitCount:d,validate:c,validateField:f,handleReset:v,resetForm:p,handleSubmit:m,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A}=oe({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:i}),j=m(((e,{evt:t})=>{y(t)&&t.target.submit()}),e.onInvalidSubmit),w=e.onSubmit?m(e.onSubmit,e.onInvalidSubmit):j;function E(e){g(e)&&e.preventDefault(),v(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function S(t,n){return m("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function k(){return{meta:l.value,errors:u.value,values:o,isSubmitting:s.value,submitCount:d.value,validate:c,validateField:f,handleSubmit:S,handleReset:v,submitForm:j,setErrors:h,setFieldError:b,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p}}return n.expose({setFieldError:b,setErrors:h,setFieldValue:O,setValues:V,setFieldTouched:F,setTouched:A,resetForm:p,validate:c,validateField:f}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=x(r,n,k);if(!e.as)return a;const i="form"===e.as?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},i),n.attrs),{onSubmit:w,onReset:E}),a)}}}),se=le;function de(e){const n=k(o,void 0),a=t.ref([]),i=()=>{},u={fields:a,remove:i,push:i,swap:i,insert:i,update:i,replace:i,prepend:i,move:i};if(!n)return B("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 B("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),u;const l=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(l)return l;let s=0;function d(){const r=A(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 i=s++,u={key:i,value:t.computed({get(){const u=A(null==n?void 0:n.values,t.unref(e),[])||[],o=a.value.findIndex((e=>e.key===i));return-1===o?r:u[o]},set(e){const t=a.value.findIndex((e=>e.key===i));-1!==t?v(t,e):B("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return u}function v(r,a){const i=t.unref(e),u=A(null==n?void 0:n.values,i);!Array.isArray(u)||u.length-1<r||null==n||n.setFieldValue(`${i}[${r}]`,a)}d();const p={fields:a,remove:function(r){const i=t.unref(e),u=A(null==n?void 0:n.values,i);if(!u||!Array.isArray(u))return;const o=[...u];o.splice(r,1),null==n||n.unsetInitialValue(i+`[${r}]`),null==n||n.setFieldValue(i,o),a.value.splice(r,1),c()},push:function(i){const u=t.unref(e),o=A(null==n?void 0:n.values,u),l=r(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(i),null==n||n.stageInitialValue(u+`[${s.length-1}]`,i),null==n||n.setFieldValue(u,s),a.value.push(f(i)),c()},swap:function(r,i){const u=t.unref(e),o=A(null==n?void 0:n.values,u);if(!Array.isArray(o)||!(r in o)||!(i in o))return;const l=[...o],s=[...a.value],d=l[r];l[r]=l[i],l[i]=d;const f=s[r];s[r]=s[i],s[i]=f,null==n||n.setFieldValue(u,l),a.value=s,c()},insert:function(r,i){const u=t.unref(e),o=A(null==n?void 0:n.values,u);if(!Array.isArray(o)||o.length<r)return;const l=[...o],s=[...a.value];l.splice(r,0,i),s.splice(r,0,f(i)),null==n||n.setFieldValue(u,l),a.value=s,c()},update:v,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),d()},prepend:function(i){const u=t.unref(e),o=A(null==n?void 0:n.values,u),l=r(o)?[]:o;if(!Array.isArray(l))return;const s=[i,...l];null==n||n.stageInitialValue(u+`[${s.length-1}]`,i),null==n||n.setFieldValue(u,s),a.value.unshift(f(i)),c()},move:function(i,u){const o=t.unref(e),l=A(null==n?void 0:n.values,o),s=r(l)?[]:[...l];if(!Array.isArray(l)||!(i in l)||!(u in l))return;const d=[...a.value],f=d[i];d.splice(i,1),d.splice(u,0,f);const v=s[i];s.splice(i,1),s.splice(u,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 ce=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,n){const{push:r,remove:a,swap:i,insert:u,replace:o,update:l,prepend:s,move:d,fields:c}=de(t.toRef(e,"name"));function f(){return{fields:c.value,push:r,remove:a,swap:i,insert:u,update:l,replace:o,prepend:s,move:d}}return n.expose({push:r,remove:a,swap:i,insert:u,update:l,replace:o,prepend:s,move:d}),()=>x(void 0,n,f)}}),fe=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 i(){return{message:a.value}}return()=>{if(!a.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,u=x(r,n,i),o=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,o,u):t.h(r||"span",o,a.value):u}}});e.ErrorMessage=fe,e.Field=ie,e.FieldArray=ce,e.FieldContextKey=l,e.Form=se,e.FormContextKey=o,e.IS_ABSENT=s,e.configure=L,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=ee,e.useFieldArray=de,e.useFieldError=function(e){const n=k(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=k(o),r=e?void 0:t.inject(l);return t.computed((()=>e?A(null==n?void 0:n.values,t.unref(e)):t.unref(null==r?void 0:r.value)))},e.useForm=oe,e.useFormErrors=function(){const e=k(o);return e||B("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=k(o);return e||B("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=k(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=I(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.dirty:(B(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const n=k(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=I(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.touched:(B(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const n=k(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=I(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.valid:(B(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=k(o);return e||B("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=k(o);return e||B("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=k(o);return e||B("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=k(o);return e||B("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=k(o);return e||B("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=k(o);return e||B("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=k(o);t||B("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=k(o);let r=e?void 0:t.inject(l);return function(){return e&&(r=I(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.validate():(B(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=k(o);return e||B("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=K,Object.defineProperty(e,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vee-validate",
3
- "version": "4.6.7",
3
+ "version": "4.6.8",
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": "3c9d79f14b74df699dbaf9781725220b68096c81"
36
+ "gitHead": "b2bfdeeb6414db020c4c17dc00c5a445f0472f1d"
37
37
  }