vee-validate 4.7.2 → 4.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vee-validate.d.ts +17 -6
- package/dist/vee-validate.esm.js +46 -20
- package/dist/vee-validate.js +46 -20
- package/dist/vee-validate.min.js +3 -3
- package/package.json +2 -2
package/dist/vee-validate.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { Ref, ComputedRef, PropType, VNode, UnwrapRef, InjectionKey } from 'vue'
|
|
|
3
3
|
|
|
4
4
|
interface FieldValidationMetaInfo {
|
|
5
5
|
field: string;
|
|
6
|
+
name: string;
|
|
7
|
+
label?: string;
|
|
6
8
|
value: unknown;
|
|
7
9
|
form: Record<string, unknown>;
|
|
8
10
|
rule?: {
|
|
@@ -113,12 +115,13 @@ interface SetFieldValueOptions {
|
|
|
113
115
|
}
|
|
114
116
|
interface FormActions<TValues extends GenericFormValues> {
|
|
115
117
|
setFieldValue<T extends keyof TValues>(field: T, value: TValues[T], opts?: Partial<SetFieldValueOptions>): void;
|
|
116
|
-
setFieldError
|
|
117
|
-
setErrors
|
|
118
|
+
setFieldError(field: keyof TValues, message: string | string[] | undefined): void;
|
|
119
|
+
setErrors(fields: FormErrors<TValues>): void;
|
|
118
120
|
setValues<T extends keyof TValues>(fields: Partial<Record<T, TValues[T]>>): void;
|
|
119
|
-
setFieldTouched
|
|
120
|
-
setTouched
|
|
121
|
-
resetForm
|
|
121
|
+
setFieldTouched(field: keyof TValues, isTouched: boolean): void;
|
|
122
|
+
setTouched(fields: Partial<Record<keyof TValues, boolean>>): void;
|
|
123
|
+
resetForm(state?: Partial<FormState<TValues>>): void;
|
|
124
|
+
resetField(field: keyof TValues, state?: Partial<FieldState>): void;
|
|
122
125
|
}
|
|
123
126
|
interface FormValidationResult<TValues> {
|
|
124
127
|
valid: boolean;
|
|
@@ -178,6 +181,7 @@ interface FormContext<TValues extends Record<string, any> = Record<string, any>>
|
|
|
178
181
|
|
|
179
182
|
interface ValidationOptions {
|
|
180
183
|
name?: string;
|
|
184
|
+
label?: string;
|
|
181
185
|
values?: Record<string, unknown>;
|
|
182
186
|
bails?: boolean;
|
|
183
187
|
}
|
|
@@ -626,9 +630,12 @@ declare const Field: {
|
|
|
626
630
|
};
|
|
627
631
|
});
|
|
628
632
|
|
|
629
|
-
declare type FormSlotProps = UnwrapRef<Pick<FormContext, 'meta' | 'errors' | 'values' | 'isSubmitting' | 'submitCount' | 'validate' | 'validateField' | 'handleReset' | 'setErrors' | 'setFieldError' | 'setFieldValue' | 'setValues' | 'setFieldTouched' | 'setTouched' | 'resetForm' | 'controlledValues'>> & {
|
|
633
|
+
declare type FormSlotProps = UnwrapRef<Pick<FormContext, 'meta' | 'errors' | 'values' | 'isSubmitting' | 'submitCount' | 'validate' | 'validateField' | 'handleReset' | 'setErrors' | 'setFieldError' | 'setFieldValue' | 'setValues' | 'setFieldTouched' | 'setTouched' | 'resetForm' | 'resetField' | 'controlledValues'>> & {
|
|
630
634
|
handleSubmit: (evt: Event | SubmissionHandler, onSubmit?: SubmissionHandler) => Promise<unknown>;
|
|
631
635
|
submitForm(evt?: Event): void;
|
|
636
|
+
getValues<TValues extends GenericFormValues = GenericFormValues>(): TValues;
|
|
637
|
+
getMeta<TValues extends GenericFormValues = GenericFormValues>(): FormMeta<TValues>;
|
|
638
|
+
getErrors<TValues extends GenericFormValues = GenericFormValues>(): FormErrors<TValues>;
|
|
632
639
|
};
|
|
633
640
|
declare const Form: {
|
|
634
641
|
new (...args: any[]): {
|
|
@@ -882,8 +889,12 @@ declare const Form: {
|
|
|
882
889
|
setFieldTouched: FormContext['setFieldTouched'];
|
|
883
890
|
setTouched: FormContext['setTouched'];
|
|
884
891
|
resetForm: FormContext['resetForm'];
|
|
892
|
+
resetField: FormContext['resetField'];
|
|
885
893
|
validate: FormContext['validate'];
|
|
886
894
|
validateField: FormContext['validateField'];
|
|
895
|
+
getValues: FormSlotProps['getValues'];
|
|
896
|
+
getMeta: FormSlotProps['getMeta'];
|
|
897
|
+
getErrors: FormSlotProps['getErrors'];
|
|
887
898
|
$slots: {
|
|
888
899
|
default: (arg: FormSlotProps) => VNode[];
|
|
889
900
|
};
|
package/dist/vee-validate.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.7.
|
|
3
|
-
* (c)
|
|
2
|
+
* vee-validate v4.7.4
|
|
3
|
+
* (c) 2023 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
import { getCurrentInstance, inject, warn as warn$1, ref, watch, unref, computed, reactive, onUnmounted, nextTick, onMounted, provide, isRef, onBeforeUnmount, defineComponent, toRef, resolveDynamicComponent, h, watchEffect, markRaw } from 'vue';
|
|
@@ -670,6 +670,7 @@ async function validate(value, rules, options = {}) {
|
|
|
670
670
|
const field = {
|
|
671
671
|
name: (options === null || options === void 0 ? void 0 : options.name) || '{field}',
|
|
672
672
|
rules,
|
|
673
|
+
label: options === null || options === void 0 ? void 0 : options.label,
|
|
673
674
|
bails: shouldBail !== null && shouldBail !== void 0 ? shouldBail : true,
|
|
674
675
|
formData: (options === null || options === void 0 ? void 0 : options.values) || {},
|
|
675
676
|
};
|
|
@@ -690,7 +691,9 @@ async function _validate(field, value) {
|
|
|
690
691
|
// if a generic function or chain of generic functions
|
|
691
692
|
if (isCallable(field.rules) || Array.isArray(field.rules)) {
|
|
692
693
|
const ctx = {
|
|
693
|
-
field: field.name,
|
|
694
|
+
field: field.label || field.name,
|
|
695
|
+
name: field.name,
|
|
696
|
+
label: field.label,
|
|
694
697
|
form: field.formData,
|
|
695
698
|
value: value,
|
|
696
699
|
};
|
|
@@ -773,7 +776,9 @@ async function _test(field, value, rule) {
|
|
|
773
776
|
}
|
|
774
777
|
const params = fillTargetValues(rule.params, field.formData);
|
|
775
778
|
const ctx = {
|
|
776
|
-
field: field.name,
|
|
779
|
+
field: field.label || field.name,
|
|
780
|
+
name: field.name,
|
|
781
|
+
label: field.label,
|
|
777
782
|
value,
|
|
778
783
|
form: field.formData,
|
|
779
784
|
rule: Object.assign(Object.assign({}, rule), { params }),
|
|
@@ -845,8 +850,10 @@ async function validateObjectSchema(schema, values, opts) {
|
|
|
845
850
|
const paths = keysOf(schema);
|
|
846
851
|
const validations = paths.map(async (path) => {
|
|
847
852
|
var _a, _b, _c;
|
|
853
|
+
const strings = (_a = opts === null || opts === void 0 ? void 0 : opts.names) === null || _a === void 0 ? void 0 : _a[path];
|
|
848
854
|
const fieldResult = await validate(getFromPath(values, path), schema[path], {
|
|
849
|
-
name: (
|
|
855
|
+
name: (strings === null || strings === void 0 ? void 0 : strings.name) || path,
|
|
856
|
+
label: strings === null || strings === void 0 ? void 0 : strings.label,
|
|
850
857
|
values: values,
|
|
851
858
|
bails: (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.bailsMap) === null || _b === void 0 ? void 0 : _b[path]) !== null && _c !== void 0 ? _c : true,
|
|
852
859
|
});
|
|
@@ -1411,7 +1418,8 @@ function _useField(name, rules, opts) {
|
|
|
1411
1418
|
return (_a = (await form.validateSchema(mode)).results[unref(name)]) !== null && _a !== void 0 ? _a : { valid: true, errors: [] };
|
|
1412
1419
|
}
|
|
1413
1420
|
return validate(value.value, normalizedRules.value, {
|
|
1414
|
-
name: unref(
|
|
1421
|
+
name: unref(name),
|
|
1422
|
+
label: unref(label),
|
|
1415
1423
|
values: (_b = form === null || form === void 0 ? void 0 : form.values) !== null && _b !== void 0 ? _b : {},
|
|
1416
1424
|
bails,
|
|
1417
1425
|
});
|
|
@@ -1924,7 +1932,7 @@ function useForm(opts) {
|
|
|
1924
1932
|
return keysOf(fieldsByPath.value).reduce((names, path) => {
|
|
1925
1933
|
const field = getFirstFieldAtPath(path);
|
|
1926
1934
|
if (field) {
|
|
1927
|
-
names[path] = unref(field.
|
|
1935
|
+
names[path] = { name: unref(field.name) || '', label: unref(field.label) || '' };
|
|
1928
1936
|
}
|
|
1929
1937
|
return names;
|
|
1930
1938
|
}, {});
|
|
@@ -2032,6 +2040,7 @@ function useForm(opts) {
|
|
|
2032
2040
|
setValues,
|
|
2033
2041
|
setFieldValue,
|
|
2034
2042
|
resetForm,
|
|
2043
|
+
resetField,
|
|
2035
2044
|
});
|
|
2036
2045
|
}
|
|
2037
2046
|
if (!result.valid && typeof onValidationError === 'function') {
|
|
@@ -2083,6 +2092,7 @@ function useForm(opts) {
|
|
|
2083
2092
|
setFieldTouched,
|
|
2084
2093
|
setTouched,
|
|
2085
2094
|
resetForm,
|
|
2095
|
+
resetField,
|
|
2086
2096
|
handleSubmit,
|
|
2087
2097
|
stageInitialValue,
|
|
2088
2098
|
unsetInitialValue,
|
|
@@ -2137,7 +2147,7 @@ function useForm(opts) {
|
|
|
2137
2147
|
setInPath(formValues, field, newValue);
|
|
2138
2148
|
return;
|
|
2139
2149
|
}
|
|
2140
|
-
let newValue =
|
|
2150
|
+
let newValue = clonedValue;
|
|
2141
2151
|
// Single Checkbox: toggles the field value unless the field is being reset then force it
|
|
2142
2152
|
if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force && !RESET_LOCK) {
|
|
2143
2153
|
newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field), value, unref(fieldInstance.uncheckedValue)));
|
|
@@ -2194,6 +2204,12 @@ function useForm(opts) {
|
|
|
2194
2204
|
setFieldTouched(field, !!fields[field]);
|
|
2195
2205
|
});
|
|
2196
2206
|
}
|
|
2207
|
+
function resetField(field, state) {
|
|
2208
|
+
const fieldInstance = fieldsByPath.value[field];
|
|
2209
|
+
if (fieldInstance) {
|
|
2210
|
+
applyFieldMutation(fieldInstance, f => f.resetField(state));
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2197
2213
|
/**
|
|
2198
2214
|
* Resets all fields
|
|
2199
2215
|
*/
|
|
@@ -2201,17 +2217,10 @@ function useForm(opts) {
|
|
|
2201
2217
|
RESET_LOCK = true;
|
|
2202
2218
|
// Reset all field states first
|
|
2203
2219
|
mutateAllFields(f => f.resetField());
|
|
2204
|
-
//
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
}
|
|
2209
|
-
else {
|
|
2210
|
-
// clean up the initial values back to the original
|
|
2211
|
-
setInitialValues(originalInitialValues.value);
|
|
2212
|
-
// otherwise clean the current values
|
|
2213
|
-
setValues(originalInitialValues.value);
|
|
2214
|
-
}
|
|
2220
|
+
// reset values
|
|
2221
|
+
const newValues = (state === null || state === void 0 ? void 0 : state.values) ? state.values : originalInitialValues.value;
|
|
2222
|
+
setInitialValues(newValues);
|
|
2223
|
+
setValues(newValues);
|
|
2215
2224
|
if (state === null || state === void 0 ? void 0 : state.touched) {
|
|
2216
2225
|
setTouched(state.touched);
|
|
2217
2226
|
}
|
|
@@ -2622,7 +2631,7 @@ const FormImpl = defineComponent({
|
|
|
2622
2631
|
const initialValues = toRef(props, 'initialValues');
|
|
2623
2632
|
const validationSchema = toRef(props, 'validationSchema');
|
|
2624
2633
|
const keepValues = toRef(props, 'keepValues');
|
|
2625
|
-
const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, } = useForm({
|
|
2634
|
+
const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, resetField, } = useForm({
|
|
2626
2635
|
validationSchema: validationSchema.value ? validationSchema : undefined,
|
|
2627
2636
|
initialValues,
|
|
2628
2637
|
initialErrors: props.initialErrors,
|
|
@@ -2650,6 +2659,15 @@ const FormImpl = defineComponent({
|
|
|
2650
2659
|
const onSuccess = typeof evt === 'function' && !onSubmit ? evt : onSubmit;
|
|
2651
2660
|
return handleSubmit(onSuccess, props.onInvalidSubmit)(evt);
|
|
2652
2661
|
}
|
|
2662
|
+
function getValues() {
|
|
2663
|
+
return klona(values);
|
|
2664
|
+
}
|
|
2665
|
+
function getMeta() {
|
|
2666
|
+
return klona(meta.value);
|
|
2667
|
+
}
|
|
2668
|
+
function getErrors() {
|
|
2669
|
+
return klona(errors.value);
|
|
2670
|
+
}
|
|
2653
2671
|
function slotProps() {
|
|
2654
2672
|
return {
|
|
2655
2673
|
meta: meta.value,
|
|
@@ -2670,6 +2688,10 @@ const FormImpl = defineComponent({
|
|
|
2670
2688
|
setFieldTouched,
|
|
2671
2689
|
setTouched,
|
|
2672
2690
|
resetForm,
|
|
2691
|
+
resetField,
|
|
2692
|
+
getValues,
|
|
2693
|
+
getMeta,
|
|
2694
|
+
getErrors,
|
|
2673
2695
|
};
|
|
2674
2696
|
}
|
|
2675
2697
|
// expose these functions and methods as part of public API
|
|
@@ -2683,6 +2705,10 @@ const FormImpl = defineComponent({
|
|
|
2683
2705
|
resetForm,
|
|
2684
2706
|
validate,
|
|
2685
2707
|
validateField,
|
|
2708
|
+
resetField,
|
|
2709
|
+
getValues,
|
|
2710
|
+
getMeta,
|
|
2711
|
+
getErrors,
|
|
2686
2712
|
});
|
|
2687
2713
|
return function renderForm() {
|
|
2688
2714
|
// avoid resolving the form component as itself
|
package/dist/vee-validate.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.7.
|
|
3
|
-
* (c)
|
|
2
|
+
* vee-validate v4.7.4
|
|
3
|
+
* (c) 2023 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
@@ -655,6 +655,7 @@
|
|
|
655
655
|
const field = {
|
|
656
656
|
name: (options === null || options === void 0 ? void 0 : options.name) || '{field}',
|
|
657
657
|
rules,
|
|
658
|
+
label: options === null || options === void 0 ? void 0 : options.label,
|
|
658
659
|
bails: shouldBail !== null && shouldBail !== void 0 ? shouldBail : true,
|
|
659
660
|
formData: (options === null || options === void 0 ? void 0 : options.values) || {},
|
|
660
661
|
};
|
|
@@ -675,7 +676,9 @@
|
|
|
675
676
|
// if a generic function or chain of generic functions
|
|
676
677
|
if (isCallable(field.rules) || Array.isArray(field.rules)) {
|
|
677
678
|
const ctx = {
|
|
678
|
-
field: field.name,
|
|
679
|
+
field: field.label || field.name,
|
|
680
|
+
name: field.name,
|
|
681
|
+
label: field.label,
|
|
679
682
|
form: field.formData,
|
|
680
683
|
value: value,
|
|
681
684
|
};
|
|
@@ -758,7 +761,9 @@
|
|
|
758
761
|
}
|
|
759
762
|
const params = fillTargetValues(rule.params, field.formData);
|
|
760
763
|
const ctx = {
|
|
761
|
-
field: field.name,
|
|
764
|
+
field: field.label || field.name,
|
|
765
|
+
name: field.name,
|
|
766
|
+
label: field.label,
|
|
762
767
|
value,
|
|
763
768
|
form: field.formData,
|
|
764
769
|
rule: Object.assign(Object.assign({}, rule), { params }),
|
|
@@ -830,8 +835,10 @@
|
|
|
830
835
|
const paths = keysOf(schema);
|
|
831
836
|
const validations = paths.map(async (path) => {
|
|
832
837
|
var _a, _b, _c;
|
|
838
|
+
const strings = (_a = opts === null || opts === void 0 ? void 0 : opts.names) === null || _a === void 0 ? void 0 : _a[path];
|
|
833
839
|
const fieldResult = await validate(getFromPath(values, path), schema[path], {
|
|
834
|
-
name: (
|
|
840
|
+
name: (strings === null || strings === void 0 ? void 0 : strings.name) || path,
|
|
841
|
+
label: strings === null || strings === void 0 ? void 0 : strings.label,
|
|
835
842
|
values: values,
|
|
836
843
|
bails: (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.bailsMap) === null || _b === void 0 ? void 0 : _b[path]) !== null && _c !== void 0 ? _c : true,
|
|
837
844
|
});
|
|
@@ -1036,7 +1043,8 @@
|
|
|
1036
1043
|
return (_a = (await form.validateSchema(mode)).results[vue.unref(name)]) !== null && _a !== void 0 ? _a : { valid: true, errors: [] };
|
|
1037
1044
|
}
|
|
1038
1045
|
return validate(value.value, normalizedRules.value, {
|
|
1039
|
-
name: vue.unref(
|
|
1046
|
+
name: vue.unref(name),
|
|
1047
|
+
label: vue.unref(label),
|
|
1040
1048
|
values: (_b = form === null || form === void 0 ? void 0 : form.values) !== null && _b !== void 0 ? _b : {},
|
|
1041
1049
|
bails,
|
|
1042
1050
|
});
|
|
@@ -1537,7 +1545,7 @@
|
|
|
1537
1545
|
return keysOf(fieldsByPath.value).reduce((names, path) => {
|
|
1538
1546
|
const field = getFirstFieldAtPath(path);
|
|
1539
1547
|
if (field) {
|
|
1540
|
-
names[path] = vue.unref(field.
|
|
1548
|
+
names[path] = { name: vue.unref(field.name) || '', label: vue.unref(field.label) || '' };
|
|
1541
1549
|
}
|
|
1542
1550
|
return names;
|
|
1543
1551
|
}, {});
|
|
@@ -1645,6 +1653,7 @@
|
|
|
1645
1653
|
setValues,
|
|
1646
1654
|
setFieldValue,
|
|
1647
1655
|
resetForm,
|
|
1656
|
+
resetField,
|
|
1648
1657
|
});
|
|
1649
1658
|
}
|
|
1650
1659
|
if (!result.valid && typeof onValidationError === 'function') {
|
|
@@ -1696,6 +1705,7 @@
|
|
|
1696
1705
|
setFieldTouched,
|
|
1697
1706
|
setTouched,
|
|
1698
1707
|
resetForm,
|
|
1708
|
+
resetField,
|
|
1699
1709
|
handleSubmit,
|
|
1700
1710
|
stageInitialValue,
|
|
1701
1711
|
unsetInitialValue,
|
|
@@ -1750,7 +1760,7 @@
|
|
|
1750
1760
|
setInPath(formValues, field, newValue);
|
|
1751
1761
|
return;
|
|
1752
1762
|
}
|
|
1753
|
-
let newValue =
|
|
1763
|
+
let newValue = clonedValue;
|
|
1754
1764
|
// Single Checkbox: toggles the field value unless the field is being reset then force it
|
|
1755
1765
|
if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force && !RESET_LOCK) {
|
|
1756
1766
|
newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field), value, vue.unref(fieldInstance.uncheckedValue)));
|
|
@@ -1807,6 +1817,12 @@
|
|
|
1807
1817
|
setFieldTouched(field, !!fields[field]);
|
|
1808
1818
|
});
|
|
1809
1819
|
}
|
|
1820
|
+
function resetField(field, state) {
|
|
1821
|
+
const fieldInstance = fieldsByPath.value[field];
|
|
1822
|
+
if (fieldInstance) {
|
|
1823
|
+
applyFieldMutation(fieldInstance, f => f.resetField(state));
|
|
1824
|
+
}
|
|
1825
|
+
}
|
|
1810
1826
|
/**
|
|
1811
1827
|
* Resets all fields
|
|
1812
1828
|
*/
|
|
@@ -1814,17 +1830,10 @@
|
|
|
1814
1830
|
RESET_LOCK = true;
|
|
1815
1831
|
// Reset all field states first
|
|
1816
1832
|
mutateAllFields(f => f.resetField());
|
|
1817
|
-
//
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
}
|
|
1822
|
-
else {
|
|
1823
|
-
// clean up the initial values back to the original
|
|
1824
|
-
setInitialValues(originalInitialValues.value);
|
|
1825
|
-
// otherwise clean the current values
|
|
1826
|
-
setValues(originalInitialValues.value);
|
|
1827
|
-
}
|
|
1833
|
+
// reset values
|
|
1834
|
+
const newValues = (state === null || state === void 0 ? void 0 : state.values) ? state.values : originalInitialValues.value;
|
|
1835
|
+
setInitialValues(newValues);
|
|
1836
|
+
setValues(newValues);
|
|
1828
1837
|
if (state === null || state === void 0 ? void 0 : state.touched) {
|
|
1829
1838
|
setTouched(state.touched);
|
|
1830
1839
|
}
|
|
@@ -2229,7 +2238,7 @@
|
|
|
2229
2238
|
const initialValues = vue.toRef(props, 'initialValues');
|
|
2230
2239
|
const validationSchema = vue.toRef(props, 'validationSchema');
|
|
2231
2240
|
const keepValues = vue.toRef(props, 'keepValues');
|
|
2232
|
-
const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, } = useForm({
|
|
2241
|
+
const { errors, values, meta, isSubmitting, submitCount, controlledValues, validate, validateField, handleReset, resetForm, handleSubmit, setErrors, setFieldError, setFieldValue, setValues, setFieldTouched, setTouched, resetField, } = useForm({
|
|
2233
2242
|
validationSchema: validationSchema.value ? validationSchema : undefined,
|
|
2234
2243
|
initialValues,
|
|
2235
2244
|
initialErrors: props.initialErrors,
|
|
@@ -2257,6 +2266,15 @@
|
|
|
2257
2266
|
const onSuccess = typeof evt === 'function' && !onSubmit ? evt : onSubmit;
|
|
2258
2267
|
return handleSubmit(onSuccess, props.onInvalidSubmit)(evt);
|
|
2259
2268
|
}
|
|
2269
|
+
function getValues() {
|
|
2270
|
+
return klona(values);
|
|
2271
|
+
}
|
|
2272
|
+
function getMeta() {
|
|
2273
|
+
return klona(meta.value);
|
|
2274
|
+
}
|
|
2275
|
+
function getErrors() {
|
|
2276
|
+
return klona(errors.value);
|
|
2277
|
+
}
|
|
2260
2278
|
function slotProps() {
|
|
2261
2279
|
return {
|
|
2262
2280
|
meta: meta.value,
|
|
@@ -2277,6 +2295,10 @@
|
|
|
2277
2295
|
setFieldTouched,
|
|
2278
2296
|
setTouched,
|
|
2279
2297
|
resetForm,
|
|
2298
|
+
resetField,
|
|
2299
|
+
getValues,
|
|
2300
|
+
getMeta,
|
|
2301
|
+
getErrors,
|
|
2280
2302
|
};
|
|
2281
2303
|
}
|
|
2282
2304
|
// expose these functions and methods as part of public API
|
|
@@ -2290,6 +2312,10 @@
|
|
|
2290
2312
|
resetForm,
|
|
2291
2313
|
validate,
|
|
2292
2314
|
validateField,
|
|
2315
|
+
resetField,
|
|
2316
|
+
getValues,
|
|
2317
|
+
getMeta,
|
|
2318
|
+
getErrors,
|
|
2293
2319
|
});
|
|
2294
2320
|
return function renderForm() {
|
|
2295
2321
|
// avoid resolving the form component as itself
|
package/dist/vee-validate.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v4.7.
|
|
3
|
-
* (c)
|
|
2
|
+
* vee-validate v4.7.4
|
|
3
|
+
* (c) 2023 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function n(e){return"function"==typeof e}function r(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function u(e){return Number(e)>=0}const i={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value"),d="undefined"!=typeof window;function c(e){return n(e)&&!!e.__locatorRef}function f(e){return!!e&&n(e.validate)}function v(e){return"checkbox"===e||"radio"===e}function p(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function m(e){return/^\[.+\]$/i.test(e)}function h(e){return"SELECT"===e.tagName}function y(e,t){return!function(e,t){const n=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&n}(e,t)&&"file"!==t.type&&!v(t.type)}function g(e){return b(e)&&e.target&&"submit"in e.target}function b(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function V(e,t){return t in e&&e[t]!==s}function O(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,a;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!O(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!O(r[1],t.get(r[0])))return!1;return!0}if(A(e)&&A(t))return e.size===t.size&&(e.name===t.name&&(e.lastModified===t.lastModified&&e.type===t.type));if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,a[r]))return!1;for(r=n;0!=r--;){var u=a[r];if(!O(e[u],t[u]))return!1}return!0}return e!=e&&t!=t}function A(e){return!!d&&e instanceof File}function F(e,t,n){"object"==typeof n.value&&(n.value=w(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function w(e){if("object"!=typeof e)return e;var t,n,r,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?r=Object.create(e.__proto__||null):"[object Array]"===u?r=Array(e.length):"[object Set]"===u?(r=new Set,e.forEach((function(e){r.add(w(e))}))):"[object Map]"===u?(r=new Map,e.forEach((function(e,t){r.set(w(t),w(e))}))):"[object Date]"===u?r=new Date(+e):"[object RegExp]"===u?r=new RegExp(e.source,e.flags):"[object DataView]"===u?r=new e.constructor(w(e.buffer)):"[object ArrayBuffer]"===u?r=e.slice(0):"Array]"===u.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)F(r,n[a],Object.getOwnPropertyDescriptor(e,n[a]));for(a=0,n=Object.getOwnPropertyNames(e);a<n.length;a++)Object.hasOwnProperty.call(r,t=n[a])&&r[t]===e[t]||F(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}function j(e){return m(e)?e.replace(/\[|\]/gi,""):e}function E(e,t,n){if(!e)return n;if(m(t))return e[j(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(r=e)||Array.isArray(r))&&t in e?e[t]:n;var r}),e)}function S(e,t,n){if(m(t))return void(e[j(t)]=n);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(i[a[e]]=n);a[e]in i&&!r(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function k(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function B(e,t){if(m(t))return void delete e[j(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){k(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const u=n.map(((t,r)=>E(e,n.slice(0,r).join("."))));for(let t=u.length-1;t>=0;t--)p(u[t])&&(0!==t?k(u[t-1],n[t-1]):k(e,n[0]))}function I(e){return Object.keys(e)}function M(e,n){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function C(e){t.warn(`[vee-validate]: ${e}`)}function T(e){return Array.isArray(e)?e[0]:e}function R(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>O(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return O(e,t)?n:t}function x(e,t=0){let n=null,r=[];return function(...a){return n&&window.clearTimeout(n),n=window.setTimeout((()=>{const t=e(...a);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}function N(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function P(e,t){let n;return async function(...r){const a=e(...r);n=a;const u=await a;return a!==n||(n=void 0,t(u,r)),u}}function _({get:e,set:n}){const r=t.ref(w(e()));return t.watch(e,(e=>{O(e,r.value)||(r.value=w(e))}),{deep:!0}),t.watch(r,(t=>{O(t,e())||n(w(t))}),{deep:!0}),r}const U=(e,t,n)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,r;return null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,n())}}:t.slots.default(n()):t.slots.default;function $(e){if(D(e))return e._value}function D(e){return"_value"in e}function z(e){if(!b(e))return e;const t=e.target;if(v(t.type)&&D(t))return $(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(h(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map($);var n;if(h(t)){const e=Array.from(t.options).find((e=>e.selected));return e?$(e):t.value}return t.value}function q(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,n)=>{const r=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[n]);return!1!==e[n]&&(t[n]=L(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=K(t);return n.name?(e[n.name]=L(n.params),e):e}),t):t}function L(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>E(t,e)||t[e];return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((n,r)=>(n[r]=t(e[r]),n)),{})}const K=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let G=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const X=()=>G,H=e=>{G=Object.assign(Object.assign({},G),e)};async function J(e,t,r={}){const a=null==r?void 0:r.bails,u={name:(null==r?void 0:r.name)||"{field}",rules:t,bails:null==a||a,formData:(null==r?void 0:r.values)||{}},i=await async function(e,t){if(f(e.rules))return async function(e,t,n){var r;return{errors:await t.validate(e,{abortEarly:null===(r=n.bails)||void 0===r||r}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(n(e.rules)||Array.isArray(e.rules)){const n={field:e.name,form:e.formData,value:t},r=Array.isArray(e.rules)?e.rules:[e.rules],a=r.length,u=[];for(let i=0;i<a;i++){const a=r[i],o=await a(t,n);if("string"!=typeof o&&o)continue;const l="string"==typeof o?o:W(n);if(u.push(l),e.bails)return{errors:u}}return{errors:u}}const r=Object.assign(Object.assign({},e),{rules:q(e.rules)}),a=[],u=Object.keys(r.rules),i=u.length;for(let n=0;n<i;n++){const i=u[n],o=await Q(r,t,{name:i,params:r.rules[i]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(u,e),o=i.errors;return{errors:o,valid:!o.length}}async function Q(e,t,n){const r=(a=n.name,i[a]);var a;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const u=function(e,t){const n=e=>c(e)?e(t):e;if(Array.isArray(e))return e.map(n);return Object.keys(e).reduce(((t,r)=>(t[r]=n(e[r]),t)),{})}(n.params,e.formData),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:u})},l=await r(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:W(o)}}function W(e){const t=X().generateMessage;return t?t(e):"Field is invalid"}async function Y(e,t,n){const r=I(e).map((async r=>{var a,u,i;const o=await J(E(t,r),e[r],{name:(null===(a=null==n?void 0:n.names)||void 0===a?void 0:a[r])||r,values:t,bails:null===(i=null===(u=null==n?void 0:n.bailsMap)||void 0===u?void 0:u[r])||void 0===i||i});return Object.assign(Object.assign({},o),{path:r})}));let a=!0;const u=await Promise.all(r),i={},o={};for(const e of u)i[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:i,errors:o}}let Z=0;function ee(e,n){const{value:r,initialValue:a,setInitialValue:u}=te(e,n.modelValue,n.form),{errorMessage:i,errors:o,setErrors:l}=function(e,n){function r(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=r(t)}}}const a=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:a,errorMessage:t.computed((()=>a.value[0])),setErrors:a=>{n.setFieldErrorBag(t.unref(e),r(a))}}}(e,n.form),s=function(e,n,r){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(r).length,initialValue:t.computed((()=>t.unref(n))),dirty:t.computed((()=>!O(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(r,a,o);return{id:Z>=Number.MAX_SAFE_INTEGER?0:++Z,path:e,value:r,initialValue:a,meta:s,errors:o,errorMessage:i,setState:function(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&l(e.errors),"touched"in e&&(s.touched=null!==(t=e.touched)&&void 0!==t?t:s.touched),"initialValue"in e&&u(e.initialValue)}}}function te(e,n,r){const a=t.ref(t.unref(n));function u(){return r?E(r.meta.value.initialValues,t.unref(e),t.unref(a)):t.unref(a)}function i(n){r?r.stageInitialValue(t.unref(e),n,!0):a.value=n}const o=t.computed(u);if(!r){return{value:t.ref(u()),initialValue:o,setInitialValue:i}}const l=n?t.unref(n):E(r.values,t.unref(e),t.unref(o));r.stageInitialValue(t.unref(e),l,!0);return{value:t.computed({get:()=>E(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n)}}),initialValue:o,setInitialValue:i}}function ne(e,n,r){return v(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:M(o),u=null==r?void 0:r.checkedValue,i=null==r?void 0:r.uncheckedValue;function l(e){const n=e.handleChange,r=t.computed((()=>{const n=t.unref(e.value),r=t.unref(u);return Array.isArray(n)?n.findIndex((e=>O(e,r)))>=0:O(r,n)}));function o(o,l=!0){var s;if(r.value===(null===(s=null==o?void 0:o.target)||void 0===s?void 0:s.checked))return void(l&&e.validate());let d=z(o);a||(d=R(t.unref(e.value),t.unref(u),t.unref(i))),n(d,l)}return Object.assign(Object.assign({},e),{checked:r,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(re(e,n,r))}(e,n,r):re(e,n,r)}function re(e,r,a){const{initialValue:u,validateOnMount:i,bails:d,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,controlled:g,keepValueOnUnmount:b,modelPropName:V,syncVModel:A,form:F}=function(e,t){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:e,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0,controlled:!0});if(!t)return n();const r="valueProp"in t?t.valueProp:t.checkedValue,a="standalone"in t?!t.standalone:t.controlled;return Object.assign(Object.assign(Object.assign({},n()),t||{}),{controlled:null==a||a,checkedValue:r})}(t.unref(e),a),j=g?M(o):void 0,S=F||j;let k=!1;const{id:B,value:C,initialValue:T,meta:R,setState:x,errors:_,errorMessage:U}=ee(e,{modelValue:u,form:S});A&&function({prop:e,value:n,handleChange:r}){const a=t.getCurrentInstance();if(!a)return;const u=e||"modelValue",i=`update:${u}`;if(!(u in a.props))return;t.watch(n,(e=>{O(e,ae(a,u))||a.emit(i,e)})),t.watch((()=>ae(a,u)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;O(t,N(n.value,a.props.modelModifiers))||r(t)}))}({value:C,prop:V,handleChange:G});const $=t.computed((()=>{let a=t.unref(r);const u=t.unref(null==S?void 0:S.schema);return u&&!f(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),f(a)||n(a)||Array.isArray(a)?a:q(a)}));async function D(n){var r,a;return(null==S?void 0:S.validateSchema)?null!==(r=(await S.validateSchema(n)).results[t.unref(e)])&&void 0!==r?r:{valid:!0,errors:[]}:J(C.value,$.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==S?void 0:S.values)&&void 0!==a?a:{},bails:d})}const L=P((async()=>(R.pending=!0,R.validated=!0,D("validated-only"))),(e=>(k&&(e.valid=!0,e.errors=[]),x({errors:e.errors}),R.pending=!1,e))),K=P((async()=>D("silent")),(e=>(k&&(e.valid=!0),R.valid=e.valid,e)));function G(e,t=!0){const n=z(e);C.value=n,!h&&t&&L()}let X;t.onMounted((()=>{if(i)return L();S&&S.validateSchema||K()}));let H=w(C.value);function Q(){X=t.watch(C,((e,t)=>{if(O(e,t)&&O(e,H))return;(h?L:K)(),H=w(e)}),{deep:!0})}function W(e){var n;null==X||X();const r=e&&"value"in e?e.value:T.value;x({value:w(r),initialValue:w(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),R.pending=!1,R.validated=!1,K(),t.nextTick((()=>{Q()}))}Q();const Y={id:B,name:e,label:m,value:C,meta:R,errors:_,errorMessage:U,type:v,checkedValue:p,uncheckedValue:y,bails:d,keepValueOnUnmount:b,resetField:W,handleReset:()=>W(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?K():L()},handleChange:G,handleBlur:()=>{R.touched=!0},setState:x,setTouched:function(e){R.touched=e},setErrors:function(e){x({errors:Array.isArray(e)?e:[e]})},setValue:function(e){C.value=e}};if(t.provide(l,Y),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{O(e,t)||(R.validated?L():K())}),{deep:!0}),!S)return Y;S.register(Y),t.onBeforeUnmount((()=>{k=!0,S.unregister(Y)}));const Z=t.computed((()=>{const e=$.value;return!e||n(e)||f(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(a=e[n],Array.isArray(a)?a.filter(c):I(a).filter((e=>c(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=E(S.values,t)||S.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(Z,((e,t)=>{if(!Object.keys(e).length)return;!O(e,t)&&(R.validated?L():K())})),Y}function ae(e,t){return e.props[t]}function ue(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ie(e,t){return v(t.attrs.type)?V(e,"modelValue")?e.modelValue:void 0:V(e,"modelValue")?e.modelValue:t.attrs.value}const oe=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>X().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1},keepValue:{type:Boolean,default:void 0}},setup(e,n){const r=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),i=t.toRef(e,"uncheckedValue"),o=t.toRef(e,"keepValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:p,setTouched:m,resetField:h,handleReset:g,meta:b,checked:V,setErrors:O}=ne(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:ie(e,n),checkedValue:n.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1,keepValueOnUnmount:o}),A=function(e,t=!0){f(e,t),n.emit("update:modelValue",s.value)},F=function(e){(e=>{v(n.attrs.type)||(s.value=z(e))})(e),n.emit("update:modelValue",s.value)},w=t.computed((()=>{const{validateOnInput:t,validateOnChange:r,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,n,r,a;const{validateOnInput:u,validateOnChange:i,validateOnBlur:o,validateOnModelUpdate:l}=X();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:i,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[p,n.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>A(e,t),n.attrs.onInput].filter(Boolean),l=[e=>A(e,r),n.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:i,onInput:o,onChange:l,"onUpdate:modelValue":e=>A(e,u)};v(n.attrs.type)&&V&&(d.checked=V.value);return y(ue(e,n),n.attrs)&&(d.value=s.value),d}));function j(){return{field:w.value,value:s.value,meta:b,errors:l.value,errorMessage:d.value,validate:c,resetField:h,handleChange:A,handleInput:F,handleReset:g,handleBlur:p,setTouched:m,setErrors:O}}return n.expose({setErrors:O,setTouched:m,reset:h,validate:c,handleChange:f}),()=>{const r=t.resolveDynamicComponent(ue(e,n)),a=U(r,n,j);return r?t.h(r,Object.assign(Object.assign({},n.attrs),w.value),a):a}}});let le=0;function se(e){var n;const r=le++,a=new Set;let u=!1;const i=t.ref({}),l=t.ref(!1),s=t.ref(0),d=[],c=t.reactive(w(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:v,setErrorBag:m,setFieldErrorBag:h}=function(e){const n=t.ref({});function r(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?n.value[e]=r(t):delete n.value[e]}function u(e){n.value=I(e).reduce(((t,n)=>{const a=e[n];return a&&(t[n]=r(a)),t}),{})}e&&u(e);return{errorBag:n,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),y=t.computed((()=>I(v.value).reduce(((e,t)=>{const n=v.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function b(e){const t=i.value[e];return Array.isArray(t)?t[0]:t}function V(e){return!!i.value[e]}const A=t.computed((()=>I(i.value).reduce(((e,n)=>{const r=b(n);return r&&(e[n]=t.unref(r.label||r.name)||""),e}),{}))),F=t.computed((()=>I(i.value).reduce(((e,t)=>{var n;const r=b(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),k=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:M,originalInitialValues:C,setInitialValues:T}=function(e,n,r){const a=t.ref(w(t.unref(r))||{}),u=t.ref(w(t.unref(r))||{});function i(t,r=!1){a.value=w(t),u.value=w(t),r&&I(e.value).forEach((t=>{const r=e.value[t],u=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||u)return;const i=E(a.value,t);S(n,t,w(i))}))}t.isRef(r)&&t.watch(r,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(i,c,null==e?void 0:e.initialValues),N=function(e,n,r,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!O(n,t.unref(r))));function o(){const t=Object.values(e.value).flat(1).filter(Boolean);return I(u).reduce(((e,n)=>{const r=u[n];return e[n]=t[r]((e=>e.meta[n])),e}),{})}const l=t.reactive(o());return t.watchEffect((()=>{const e=o();l.touched=e.touched,l.valid=e.valid,l.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(r)},l),{valid:l.valid&&!I(a.value).length,dirty:i.value})))}(i,c,C,y),_=t.computed((()=>[...a,...I(i.value)].reduce(((e,t)=>(S(e,t,E(c,t)),e)),{}))),U=null==e?void 0:e.validationSchema,$=x(ce,5),D=x(ce,5),z=P((async e=>"silent"===await e?$():D()),((e,[t])=>{const n=K.fieldsByPath.value||{},r=I(K.errorBag.value);return[...new Set([...I(e.results),...I(n),...r])].reduce(((r,a)=>{const u=n[a],i=(e.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(r.results[a]=o,o.valid||(r.errors[a]=o.errors[0]),!u)return J(a,i),r;if(X(u,(e=>e.meta.valid=o.valid)),"silent"===t)return r;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==t||l?(X(u,(e=>e.setState({errors:o.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})}));function q(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),re(I(i.value).reduce(((e,t)=>(e[t]=!0,e)),{})),l.value=!0,s.value++,oe().then((a=>{const u=w(c);if(a.valid&&"function"==typeof t){const n=w(_.value);return t(e?n:u,{evt:r,controlledValues:n,setErrors:Q,setFieldError:J,setTouched:re,setFieldTouched:ne,setValues:Z,setFieldValue:W,resetForm:ae})}a.valid||"function"!=typeof n||n({values:u,evt:r,errors:a.errors,results:a.results})})).then((e=>(l.value=!1,e)),(e=>{throw l.value=!1,e}))}}}const L=q(!1);L.withControlled=q(!0);const K={formId:r,fieldsByPath:i,values:c,controlledValues:_,errorBag:v,errors:y,schema:U,submitCount:s,meta:N,isSubmitting:l,fieldArrays:d,keepValuesOnUnmount:k,validateSchema:t.unref(U)?z:void 0,validate:oe,register:function(e){const n=t.unref(e.name);ue(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),ie(e,r),ue(e,n),(y.value[r]||y.value[n])&&(J(r,void 0),se(n)),await t.nextTick(),V(r)||B(c,r)}));const r=t.unref(e.errorMessage);r&&(null==j?void 0:j[n])!==r&&se(n);delete j[n]},unregister:function(e){const n=t.unref(e.name),r=i.value[n],a=!!r&&G(r);ie(e,n),t.nextTick((()=>{var u;const o=null!==(u=t.unref(e.keepValueOnUnmount))&&void 0!==u?u:t.unref(k),l=E(c,n);if(a&&(r===i.value[n]||!i.value[n])&&!o)if(Array.isArray(l)){const r=l.findIndex((n=>O(n,t.unref(e.checkedValue))));if(r>-1){const e=[...l];e.splice(r,1),W(n,e,{force:!0})}}else l===t.unref(e.checkedValue)&&B(c,n);if(!V(n)){if(J(n,void 0),o)return;if(a&&Array.isArray(l)&&!p(l))return;B(c,n)}}))},setFieldErrorBag:h,validateField:se,setFieldValue:W,setValues:Z,setErrors:Q,setFieldError:J,setFieldTouched:ne,setTouched:re,resetForm:ae,handleSubmit:L,stageInitialValue:function(t,n,r=!1){S(c,t,n),de(t,n),r&&!(null==e?void 0:e.initialValues)&&S(C.value,t,w(n))},unsetInitialValue:function(e){B(M.value,e)},setFieldInitialValue:de,useFieldModel:function(e){if(!Array.isArray(e))return ee(e);return e.map(ee)}};function G(e){return Array.isArray(e)}function X(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function H(e){Object.values(i.value).forEach((t=>{t&&X(t,e)}))}function J(e,t){h(e,t)}function Q(e){m(e)}function W(e,n,{force:r}={force:!1}){var a;const o=i.value[e],l=w(n);if(!o)return void S(c,e,l);if(G(o)&&"checkbox"===(null===(a=o[0])||void 0===a?void 0:a.type)&&!Array.isArray(n)){const t=w(R(E(c,e)||[],n,void 0));return void S(c,e,t)}let s=n;G(o)||"checkbox"!==o.type||r||u||(s=w(R(E(c,e),n,t.unref(o.uncheckedValue)))),S(c,e,s)}function Z(e){I(c).forEach((e=>{delete c[e]})),I(e).forEach((t=>{W(t,e[t])})),d.forEach((e=>e&&e.reset()))}function ee(e){const{value:n}=te(e,void 0,K);return t.watch(n,(()=>{V(t.unref(e))||oe({mode:"validated-only"})}),{deep:!0}),a.add(t.unref(e)),n}function ne(e,t){const n=i.value[e];n&&X(n,(e=>e.setTouched(t)))}function re(e){I(e).forEach((t=>{ne(t,!!e[t])}))}function ae(e){u=!0,H((e=>e.resetField())),(null==e?void 0:e.values)?(T(e.values),Z(null==e?void 0:e.values)):(T(C.value),Z(C.value)),(null==e?void 0:e.touched)&&re(e.touched),Q((null==e?void 0:e.errors)||{}),s.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{u=!1}))}function ue(e,n){const r=t.markRaw(e),a=n;if(!i.value[a])return void(i.value[a]=r);const u=i.value[a];u&&!Array.isArray(u)&&(i.value[a]=[u]),i.value[a]=[...i.value[a],r]}function ie(e,t){const n=t,r=i.value[n];if(r)if(G(r)||e.id!==r.id){if(G(r)){const t=r.findIndex((t=>t.id===e.id));if(-1===t)return;r.splice(t,1),r.length||delete i.value[n]}}else delete i.value[n]}async function oe(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&H((e=>e.meta.validated=!0)),K.validateSchema)return K.validateSchema(n);const r=await Promise.all(Object.values(i.value).map((n=>{const r=Array.isArray(n)?n[0]:n;return r?r.validate(e).then((e=>({key:t.unref(r.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),a={},u={};for(const e of r)a[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(u[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:a,errors:u}}async function se(e){const n=i.value[e];return n?Array.isArray(n)?n.map((e=>e.validate()))[0]:n.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function de(e,t){S(M.value,e,w(t))}async function ce(){const e=t.unref(U);if(!e)return{valid:!0,results:{},errors:{}};const n=f(e)?await async function(e,t){const n=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),r={},a={};for(const e of n){const t=e.errors;r[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!n.length,results:r,errors:a}}(e,c):await Y(e,c,{names:A.value,bailsMap:F.value});return n}const fe=L(((e,{evt:t})=>{g(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&Q(e.initialErrors),(null==e?void 0:e.initialTouched)&&re(e.initialTouched),(null==e?void 0:e.validateOnMount)?oe():K.validateSchema&&K.validateSchema("silent")})),t.isRef(U)&&t.watch(U,(()=>{var e;null===(e=K.validateSchema)||void 0===e||e.call(K,"validated-only")})),t.provide(o,K),Object.assign(Object.assign({},K),{handleReset:()=>ae(),submitForm:fe})}const de=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1}},setup(e,n){const r=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),u=t.toRef(e,"keepValues"),{errors:i,values:o,meta:l,isSubmitting:s,submitCount:d,controlledValues:c,validate:f,validateField:v,handleReset:p,resetForm:m,handleSubmit:h,setErrors:y,setFieldError:V,setFieldValue:O,setValues:A,setFieldTouched:F,setTouched:w}=se({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:u}),j=h(((e,{evt:t})=>{g(t)&&t.target.submit()}),e.onInvalidSubmit),E=e.onSubmit?h(e.onSubmit,e.onInvalidSubmit):j;function S(e){b(e)&&e.preventDefault(),p(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function k(t,n){return h("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function B(){return{meta:l.value,errors:i.value,values:o,isSubmitting:s.value,submitCount:d.value,controlledValues:c.value,validate:f,validateField:v,handleSubmit:k,handleReset:p,submitForm:j,setErrors:y,setFieldError:V,setFieldValue:O,setValues:A,setFieldTouched:F,setTouched:w,resetForm:m}}return n.expose({setFieldError:V,setErrors:y,setFieldValue:O,setValues:A,setFieldTouched:F,setTouched:w,resetForm:m,validate:f,validateField:v}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=U(r,n,B);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},u),n.attrs),{onSubmit:E,onReset:S}),a)}}}),ce=de;function fe(e){const n=M(o,void 0),a=t.ref([]),u=()=>{},i={fields:a,remove:u,push:u,swap:u,insert:u,update:u,replace:u,prepend:u,move:u};if(!n)return C("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),i;if(!t.unref(e))return C("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),i;const l=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(l)return l;let s=0;function d(){const r=E(null==n?void 0:n.values,t.unref(e),[])||[];a.value=r.map(f),c()}function c(){const e=a.value.length;for(let t=0;t<e;t++){const n=a.value[t];n.isFirst=0===t,n.isLast=t===e-1}}function f(r){const u=s++,i={key:u,value:_({get(){const i=E(null==n?void 0:n.values,t.unref(e),[])||[],o=a.value.findIndex((e=>e.key===u));return-1===o?r:i[o]},set(e){const t=a.value.findIndex((e=>e.key===u));-1!==t?v(t,e):C("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return i}function v(r,a){const u=t.unref(e),i=E(null==n?void 0:n.values,u);!Array.isArray(i)||i.length-1<r||(null==n||n.setFieldValue(`${u}[${r}]`,a),null==n||n.validate({mode:"validated-only"}))}d();const p={fields:a,remove:function(r){const u=t.unref(e),i=E(null==n?void 0:n.values,u);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(r,1),null==n||n.unsetInitialValue(u+`[${r}]`),null==n||n.setFieldValue(u,o),a.value.splice(r,1),c()},push:function(u){const i=t.unref(e),o=E(null==n?void 0:n.values,i),l=r(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(u),null==n||n.stageInitialValue(i+`[${s.length-1}]`,u),null==n||n.setFieldValue(i,s),a.value.push(f(u)),c()},swap:function(r,u){const i=t.unref(e),o=E(null==n?void 0:n.values,i);if(!Array.isArray(o)||!(r in o)||!(u in o))return;const l=[...o],s=[...a.value],d=l[r];l[r]=l[u],l[u]=d;const f=s[r];s[r]=s[u],s[u]=f,null==n||n.setFieldValue(i,l),a.value=s,c()},insert:function(r,u){const i=t.unref(e),o=E(null==n?void 0:n.values,i);if(!Array.isArray(o)||o.length<r)return;const l=[...o],s=[...a.value];l.splice(r,0,u),s.splice(r,0,f(u)),null==n||n.setFieldValue(i,l),a.value=s,c()},update:v,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),d()},prepend:function(u){const i=t.unref(e),o=E(null==n?void 0:n.values,i),l=r(o)?[]:o;if(!Array.isArray(l))return;const s=[u,...l];null==n||n.stageInitialValue(i+`[${s.length-1}]`,u),null==n||n.setFieldValue(i,s),a.value.unshift(f(u)),c()},move:function(u,i){const o=t.unref(e),l=E(null==n?void 0:n.values,o),s=r(l)?[]:[...l];if(!Array.isArray(l)||!(u in l)||!(i in l))return;const d=[...a.value],f=d[u];d.splice(u,1),d.splice(i,0,f);const v=s[u];s.splice(u,1),s.splice(i,0,v),null==n||n.setFieldValue(o,s),a.value=d,c()}};return n.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.unref(n.path)===t.unref(e)));r>=0&&n.fieldArrays.splice(r,1)})),p}const ve=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,n){const{push:r,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,move:d,fields:c}=fe(t.toRef(e,"name"));function f(){return{fields:c.value,push:r,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}}return n.expose({push:r,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s,move:d}),()=>U(void 0,n,f)}}),pe=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(o,void 0),a=t.computed((()=>null==r?void 0:r.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,i=U(r,n,u),o=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(r,o,i):t.h(r||"span",o,a.value):i}}});e.ErrorMessage=pe,e.Field=oe,e.FieldArray=ve,e.FieldContextKey=l,e.Form=ce,e.FormContextKey=o,e.IS_ABSENT=s,e.configure=H,e.defineRule=function(e,t){!function(e,t){if(n(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),i[e]=t},e.useField=ne,e.useFieldArray=fe,e.useFieldError=function(e){const n=M(o),r=e?void 0:t.inject(l);return t.computed((()=>e?null==n?void 0:n.errors.value[t.unref(e)]:null==r?void 0:r.errorMessage.value))},e.useFieldValue=function(e){const n=M(o),r=e?void 0:t.inject(l);return t.computed((()=>e?E(null==n?void 0:n.values,t.unref(e)):t.unref(null==r?void 0:r.value)))},e.useForm=se,e.useFormErrors=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const n=M(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.dirty:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const n=M(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.touched:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const n=M(o);let r=e?void 0:t.inject(l);return t.computed((()=>(e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.valid:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=M(o);t||C("No vee-validate <Form /> or `useForm` was detected in the component tree");const n=t?t.handleSubmit(e):void 0;return function(e){if(n)return n(e)}},e.useValidateField=function(e){const n=M(o);let r=e?void 0:t.inject(l);return function(){return e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.validate():(C(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=M(o);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=J,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
6
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function n(e){return"function"==typeof e}function r(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function l(e){return Number(e)>=0}const u={};const i=Symbol("vee-validate-form"),o=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value"),d="undefined"!=typeof window;function c(e){return n(e)&&!!e.__locatorRef}function f(e){return!!e&&n(e.validate)}function v(e){return"checkbox"===e||"radio"===e}function p(e){return Array.isArray(e)?0===e.length:a(e)&&0===Object.keys(e).length}function m(e){return/^\[.+\]$/i.test(e)}function h(e){return"SELECT"===e.tagName}function y(e,t){return!function(e,t){const n=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&n}(e,t)&&"file"!==t.type&&!v(t.type)}function g(e){return b(e)&&e.target&&"submit"in e.target}function b(e){return!!e&&(!!("undefined"!=typeof Event&&n(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function V(e,t){return t in e&&e[t]!==s}function O(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,a;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!O(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!O(r[1],t.get(r[0])))return!1;return!0}if(F(e)&&F(t))return e.size===t.size&&(e.name===t.name&&(e.lastModified===t.lastModified&&e.type===t.type));if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,a[r]))return!1;for(r=n;0!=r--;){var l=a[r];if(!O(e[l],t[l]))return!1}return!0}return e!=e&&t!=t}function F(e){return!!d&&e instanceof File}function A(e,t,n){"object"==typeof n.value&&(n.value=w(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function w(e){if("object"!=typeof e)return e;var t,n,r,a=0,l=Object.prototype.toString.call(e);if("[object Object]"===l?r=Object.create(e.__proto__||null):"[object Array]"===l?r=Array(e.length):"[object Set]"===l?(r=new Set,e.forEach((function(e){r.add(w(e))}))):"[object Map]"===l?(r=new Map,e.forEach((function(e,t){r.set(w(t),w(e))}))):"[object Date]"===l?r=new Date(+e):"[object RegExp]"===l?r=new RegExp(e.source,e.flags):"[object DataView]"===l?r=new e.constructor(w(e.buffer)):"[object ArrayBuffer]"===l?r=e.slice(0):"Array]"===l.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)A(r,n[a],Object.getOwnPropertyDescriptor(e,n[a]));for(a=0,n=Object.getOwnPropertyNames(e);a<n.length;a++)Object.hasOwnProperty.call(r,t=n[a])&&r[t]===e[t]||A(r,t,Object.getOwnPropertyDescriptor(e,t))}return r||e}function j(e){return m(e)?e.replace(/\[|\]/gi,""):e}function E(e,t,n){if(!e)return n;if(m(t))return e[j(t)];return(t||"").split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(r=e)||Array.isArray(r))&&t in e?e[t]:n;var r}),e)}function S(e,t,n){if(m(t))return void(e[j(t)]=n);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(u[a[e]]=n);a[e]in u&&!r(u[a[e]])||(u[a[e]]=l(a[e+1])?[]:{}),u=u[a[e]]}}function k(e,t){Array.isArray(e)&&l(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function B(e,t){if(m(t))return void delete e[j(t)];const n=t.split(/\.|\[(\d+)\]/).filter(Boolean);let a=e;for(let e=0;e<n.length;e++){if(e===n.length-1){k(a,n[e]);break}if(!(n[e]in a)||r(a[n[e]]))break;a=a[n[e]]}const l=n.map(((t,r)=>E(e,n.slice(0,r).join("."))));for(let t=l.length-1;t>=0;t--)p(l[t])&&(0!==t?k(l[t-1],n[t-1]):k(e,n[0]))}function M(e){return Object.keys(e)}function I(e,n){const r=t.getCurrentInstance();return(null==r?void 0:r.provides[e])||t.inject(e,n)}function C(e){t.warn(`[vee-validate]: ${e}`)}function T(e){return Array.isArray(e)?e[0]:e}function R(e,t,n){if(Array.isArray(e)){const n=[...e],r=n.findIndex((e=>O(e,t)));return r>=0?n.splice(r,1):n.push(t),n}return O(e,t)?n:t}function x(e,t=0){let n=null,r=[];return function(...a){return n&&window.clearTimeout(n),n=window.setTimeout((()=>{const t=e(...a);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}function N(e,t){return a(t)&&t.number?function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e):e}function P(e,t){let n;return async function(...r){const a=e(...r);n=a;const l=await a;return a!==n||(n=void 0,t(l,r)),l}}function _({get:e,set:n}){const r=t.ref(w(e()));return t.watch(e,(e=>{O(e,r.value)||(r.value=w(e))}),{deep:!0}),t.watch(r,(t=>{O(t,e())||n(w(t))}),{deep:!0}),r}const U=(e,t,n)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,r;return null===(r=(e=t.slots).default)||void 0===r?void 0:r.call(e,n())}}:t.slots.default(n()):t.slots.default;function $(e){if(D(e))return e._value}function D(e){return"_value"in e}function z(e){if(!b(e))return e;const t=e.target;if(v(t.type)&&D(t))return $(t);if("file"===t.type&&t.files){const e=Array.from(t.files);return t.multiple?e:e[0]}if(h(n=t)&&n.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map($);var n;if(h(t)){const e=Array.from(t.options).find((e=>e.selected));return e?$(e):t.value}return t.value}function q(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,n)=>{const r=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[n]);return!1!==e[n]&&(t[n]=L(r)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const n=K(t);return n.name?(e[n.name]=L(n.params),e):e}),t):t}function L(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>E(t,e)||t[e];return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((n,r)=>(n[r]=t(e[r]),n)),{})}const K=e=>{let t=[];const n=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:n,params:t}};let G=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const X=()=>G,H=e=>{G=Object.assign(Object.assign({},G),e)};async function J(e,t,r={}){const a=null==r?void 0:r.bails,l={name:(null==r?void 0:r.name)||"{field}",rules:t,label:null==r?void 0:r.label,bails:null==a||a,formData:(null==r?void 0:r.values)||{}},u=await async function(e,t){if(f(e.rules))return async function(e,t,n){var r;return{errors:await t.validate(e,{abortEarly:null===(r=n.bails)||void 0===r||r}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(n(e.rules)||Array.isArray(e.rules)){const n={field:e.label||e.name,name:e.name,label:e.label,form:e.formData,value:t},r=Array.isArray(e.rules)?e.rules:[e.rules],a=r.length,l=[];for(let u=0;u<a;u++){const a=r[u],i=await a(t,n);if("string"!=typeof i&&i)continue;const o="string"==typeof i?i:W(n);if(l.push(o),e.bails)return{errors:l}}return{errors:l}}const r=Object.assign(Object.assign({},e),{rules:q(e.rules)}),a=[],l=Object.keys(r.rules),u=l.length;for(let n=0;n<u;n++){const u=l[n],i=await Q(r,t,{name:u,params:r.rules[u]});if(i.error&&(a.push(i.error),e.bails))return{errors:a}}return{errors:a}}(l,e),i=u.errors;return{errors:i,valid:!i.length}}async function Q(e,t,n){const r=(a=n.name,u[a]);var a;if(!r)throw new Error(`No such validator '${n.name}' exists.`);const l=function(e,t){const n=e=>c(e)?e(t):e;if(Array.isArray(e))return e.map(n);return Object.keys(e).reduce(((t,r)=>(t[r]=n(e[r]),t)),{})}(n.params,e.formData),i={field:e.label||e.name,name:e.name,label:e.label,value:t,form:e.formData,rule:Object.assign(Object.assign({},n),{params:l})},o=await r(t,l,i);return"string"==typeof o?{error:o}:{error:o?void 0:W(i)}}function W(e){const t=X().generateMessage;return t?t(e):"Field is invalid"}async function Y(e,t,n){const r=M(e).map((async r=>{var a,l,u;const i=null===(a=null==n?void 0:n.names)||void 0===a?void 0:a[r],o=await J(E(t,r),e[r],{name:(null==i?void 0:i.name)||r,label:null==i?void 0:i.label,values:t,bails:null===(u=null===(l=null==n?void 0:n.bailsMap)||void 0===l?void 0:l[r])||void 0===u||u});return Object.assign(Object.assign({},o),{path:r})}));let a=!0;const l=await Promise.all(r),u={},i={};for(const e of l)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,i[e.path]=e.errors[0]);return{valid:a,results:u,errors:i}}let Z=0;function ee(e,n){const{value:r,initialValue:a,setInitialValue:l}=te(e,n.modelValue,n.form),{errorMessage:u,errors:i,setErrors:o}=function(e,n){function r(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=r(t)}}}const a=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:a,errorMessage:t.computed((()=>a.value[0])),setErrors:a=>{n.setFieldErrorBag(t.unref(e),r(a))}}}(e,n.form),s=function(e,n,r){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(r).length,initialValue:t.computed((()=>t.unref(n))),dirty:t.computed((()=>!O(t.unref(e),t.unref(n))))});return t.watch(r,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(r,a,i);return{id:Z>=Number.MAX_SAFE_INTEGER?0:++Z,path:e,value:r,initialValue:a,meta:s,errors:i,errorMessage:u,setState:function(e){var t;"value"in e&&(r.value=e.value),"errors"in e&&o(e.errors),"touched"in e&&(s.touched=null!==(t=e.touched)&&void 0!==t?t:s.touched),"initialValue"in e&&l(e.initialValue)}}}function te(e,n,r){const a=t.ref(t.unref(n));function l(){return r?E(r.meta.value.initialValues,t.unref(e),t.unref(a)):t.unref(a)}function u(n){r?r.stageInitialValue(t.unref(e),n,!0):a.value=n}const i=t.computed(l);if(!r){return{value:t.ref(l()),initialValue:i,setInitialValue:u}}const o=n?t.unref(n):E(r.values,t.unref(e),t.unref(i));r.stageInitialValue(t.unref(e),o,!0);return{value:t.computed({get:()=>E(r.values,t.unref(e)),set(n){r.setFieldValue(t.unref(e),n)}}),initialValue:i,setInitialValue:u}}function ne(e,n,r){return v(null==r?void 0:r.type)?function(e,n,r){const a=(null==r?void 0:r.standalone)?void 0:I(i),l=null==r?void 0:r.checkedValue,u=null==r?void 0:r.uncheckedValue;function o(e){const n=e.handleChange,r=t.computed((()=>{const n=t.unref(e.value),r=t.unref(l);return Array.isArray(n)?n.findIndex((e=>O(e,r)))>=0:O(r,n)}));function i(i,o=!0){var s;if(r.value===(null===(s=null==i?void 0:i.target)||void 0===s?void 0:s.checked))return void(o&&e.validate());let d=z(i);a||(d=R(t.unref(e.value),t.unref(l),t.unref(u))),n(d,o)}return Object.assign(Object.assign({},e),{checked:r,checkedValue:l,uncheckedValue:u,handleChange:i})}return o(re(e,n,r))}(e,n,r):re(e,n,r)}function re(e,r,a){const{initialValue:l,validateOnMount:u,bails:d,type:v,checkedValue:p,label:m,validateOnValueUpdate:h,uncheckedValue:y,controlled:g,keepValueOnUnmount:b,modelPropName:V,syncVModel:F,form:A}=function(e,t){const n=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,label:e,validateOnValueUpdate:!0,keepValueOnUnmount:void 0,modelPropName:"modelValue",syncVModel:!0,controlled:!0});if(!t)return n();const r="valueProp"in t?t.valueProp:t.checkedValue,a="standalone"in t?!t.standalone:t.controlled;return Object.assign(Object.assign(Object.assign({},n()),t||{}),{controlled:null==a||a,checkedValue:r})}(t.unref(e),a),j=g?I(i):void 0,S=A||j;let k=!1;const{id:B,value:C,initialValue:T,meta:R,setState:x,errors:_,errorMessage:U}=ee(e,{modelValue:l,form:S});F&&function({prop:e,value:n,handleChange:r}){const a=t.getCurrentInstance();if(!a)return;const l=e||"modelValue",u=`update:${l}`;if(!(l in a.props))return;t.watch(n,(e=>{O(e,ae(a,l))||a.emit(u,e)})),t.watch((()=>ae(a,l)),(e=>{if(e===s&&void 0===n.value)return;const t=e===s?void 0:e;O(t,N(n.value,a.props.modelModifiers))||r(t)}))}({value:C,prop:V,handleChange:G});const $=t.computed((()=>{let a=t.unref(r);const l=t.unref(null==S?void 0:S.schema);return l&&!f(l)&&(a=function(e,t){if(!e)return;return e[t]}(l,t.unref(e))||a),f(a)||n(a)||Array.isArray(a)?a:q(a)}));async function D(n){var r,a;return(null==S?void 0:S.validateSchema)?null!==(r=(await S.validateSchema(n)).results[t.unref(e)])&&void 0!==r?r:{valid:!0,errors:[]}:J(C.value,$.value,{name:t.unref(e),label:t.unref(m),values:null!==(a=null==S?void 0:S.values)&&void 0!==a?a:{},bails:d})}const L=P((async()=>(R.pending=!0,R.validated=!0,D("validated-only"))),(e=>(k&&(e.valid=!0,e.errors=[]),x({errors:e.errors}),R.pending=!1,e))),K=P((async()=>D("silent")),(e=>(k&&(e.valid=!0),R.valid=e.valid,e)));function G(e,t=!0){const n=z(e);C.value=n,!h&&t&&L()}let X;t.onMounted((()=>{if(u)return L();S&&S.validateSchema||K()}));let H=w(C.value);function Q(){X=t.watch(C,((e,t)=>{if(O(e,t)&&O(e,H))return;(h?L:K)(),H=w(e)}),{deep:!0})}function W(e){var n;null==X||X();const r=e&&"value"in e?e.value:T.value;x({value:w(r),initialValue:w(r),touched:null!==(n=null==e?void 0:e.touched)&&void 0!==n&&n,errors:(null==e?void 0:e.errors)||[]}),R.pending=!1,R.validated=!1,K(),t.nextTick((()=>{Q()}))}Q();const Y={id:B,name:e,label:m,value:C,meta:R,errors:_,errorMessage:U,type:v,checkedValue:p,uncheckedValue:y,bails:d,keepValueOnUnmount:b,resetField:W,handleReset:()=>W(),validate:function(e){return"silent"===(null==e?void 0:e.mode)?K():L()},handleChange:G,handleBlur:()=>{R.touched=!0},setState:x,setTouched:function(e){R.touched=e},setErrors:function(e){x({errors:Array.isArray(e)?e:[e]})},setValue:function(e){C.value=e}};if(t.provide(o,Y),t.isRef(r)&&"function"!=typeof t.unref(r)&&t.watch(r,((e,t)=>{O(e,t)||(R.validated?L():K())}),{deep:!0}),!S)return Y;S.register(Y),t.onBeforeUnmount((()=>{k=!0,S.unregister(Y)}));const Z=t.computed((()=>{const e=$.value;return!e||n(e)||f(e)||Array.isArray(e)?{}:Object.keys(e).reduce(((t,n)=>{const r=(a=e[n],Array.isArray(a)?a.filter(c):M(a).filter((e=>c(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const n=E(S.values,t)||S.values[t];return void 0!==n&&(e[t]=n),e}),{});var a;return Object.assign(t,r),t}),{})}));return t.watch(Z,((e,t)=>{if(!Object.keys(e).length)return;!O(e,t)&&(R.validated?L():K())})),Y}function ae(e,t){return e.props[t]}function le(e,t){let n=e.as||"";return e.as||t.slots.default||(n="input"),n}function ue(e,t){return v(t.attrs.type)?V(e,"modelValue")?e.modelValue:void 0:V(e,"modelValue")?e.modelValue:t.attrs.value}const ie=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>X().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1},keepValue:{type:Boolean,default:void 0}},setup(e,n){const r=t.toRef(e,"rules"),a=t.toRef(e,"name"),l=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),i=t.toRef(e,"keepValue"),{errors:o,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:p,setTouched:m,resetField:h,handleReset:g,meta:b,checked:V,setErrors:O}=ne(a,r,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:n.attrs.type,initialValue:ue(e,n),checkedValue:n.attrs.value,uncheckedValue:u,label:l,validateOnValueUpdate:!1,keepValueOnUnmount:i}),F=function(e,t=!0){f(e,t),n.emit("update:modelValue",s.value)},A=function(e){(e=>{v(n.attrs.type)||(s.value=z(e))})(e),n.emit("update:modelValue",s.value)},w=t.computed((()=>{const{validateOnInput:t,validateOnChange:r,validateOnBlur:a,validateOnModelUpdate:l}=function(e){var t,n,r,a;const{validateOnInput:l,validateOnChange:u,validateOnBlur:i,validateOnModelUpdate:o}=X();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:l,validateOnChange:null!==(n=e.validateOnChange)&&void 0!==n?n:u,validateOnBlur:null!==(r=e.validateOnBlur)&&void 0!==r?r:i,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:o}}(e),u=[p,n.attrs.onBlur,a?c:void 0].filter(Boolean),i=[e=>F(e,t),n.attrs.onInput].filter(Boolean),o=[e=>F(e,r),n.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:i,onChange:o,"onUpdate:modelValue":e=>F(e,l)};v(n.attrs.type)&&V&&(d.checked=V.value);return y(le(e,n),n.attrs)&&(d.value=s.value),d}));function j(){return{field:w.value,value:s.value,meta:b,errors:o.value,errorMessage:d.value,validate:c,resetField:h,handleChange:F,handleInput:A,handleReset:g,handleBlur:p,setTouched:m,setErrors:O}}return n.expose({setErrors:O,setTouched:m,reset:h,validate:c,handleChange:f}),()=>{const r=t.resolveDynamicComponent(le(e,n)),a=U(r,n,j);return r?t.h(r,Object.assign(Object.assign({},n.attrs),w.value),a):a}}});let oe=0;function se(e){var n;const r=oe++,a=new Set;let l=!1;const u=t.ref({}),o=t.ref(!1),s=t.ref(0),d=[],c=t.reactive(w(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:v,setErrorBag:m,setFieldErrorBag:h}=function(e){const n=t.ref({});function r(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?n.value[e]=r(t):delete n.value[e]}function l(e){n.value=M(e).reduce(((t,n)=>{const a=e[n];return a&&(t[n]=r(a)),t}),{})}e&&l(e);return{errorBag:n,setErrorBag:l,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),y=t.computed((()=>M(v.value).reduce(((e,t)=>{const n=v.value[t];return n&&n.length&&(e[t]=n[0]),e}),{})));function b(e){const t=u.value[e];return Array.isArray(t)?t[0]:t}function V(e){return!!u.value[e]}const F=t.computed((()=>M(u.value).reduce(((e,n)=>{const r=b(n);return r&&(e[n]={name:t.unref(r.name)||"",label:t.unref(r.label)||""}),e}),{}))),A=t.computed((()=>M(u.value).reduce(((e,t)=>{var n;const r=b(t);return r&&(e[t]=null===(n=r.bails)||void 0===n||n),e}),{}))),j=Object.assign({},(null==e?void 0:e.initialErrors)||{}),k=null!==(n=null==e?void 0:e.keepValuesOnUnmount)&&void 0!==n&&n,{initialValues:I,originalInitialValues:C,setInitialValues:T}=function(e,n,r){const a=t.ref(w(t.unref(r))||{}),l=t.ref(w(t.unref(r))||{});function u(t,r=!1){a.value=w(t),l.value=w(t),r&&M(e.value).forEach((t=>{const r=e.value[t],l=Array.isArray(r)?r.some((e=>e.meta.touched)):null==r?void 0:r.meta.touched;if(!r||l)return;const u=E(a.value,t);S(n,t,w(u))}))}t.isRef(r)&&t.watch(r,(e=>{u(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:l,setInitialValues:u}}(u,c,null==e?void 0:e.initialValues),N=function(e,n,r,a){const l={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!O(n,t.unref(r))));function i(){const t=Object.values(e.value).flat(1).filter(Boolean);return M(l).reduce(((e,n)=>{const r=l[n];return e[n]=t[r]((e=>e.meta[n])),e}),{})}const o=t.reactive(i());return t.watchEffect((()=>{const e=i();o.touched=e.touched,o.valid=e.valid,o.pending=e.pending})),t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(r)},o),{valid:o.valid&&!M(a.value).length,dirty:u.value})))}(u,c,C,y),_=t.computed((()=>[...a,...M(u.value)].reduce(((e,t)=>(S(e,t,E(c,t)),e)),{}))),U=null==e?void 0:e.validationSchema,$=x(fe,5),D=x(fe,5),z=P((async e=>"silent"===await e?$():D()),((e,[t])=>{const n=K.fieldsByPath.value||{},r=M(K.errorBag.value);return[...new Set([...M(e.results),...M(n),...r])].reduce(((r,a)=>{const l=n[a],u=(e.results[a]||{errors:[]}).errors,i={errors:u,valid:!u.length};if(r.results[a]=i,i.valid||(r.errors[a]=i.errors[0]),!l)return J(a,u),r;if(X(l,(e=>e.meta.valid=i.valid)),"silent"===t)return r;const o=Array.isArray(l)?l.some((e=>e.meta.validated)):l.meta.validated;return"validated-only"!==t||o?(X(l,(e=>e.setState({errors:i.errors}))),r):r}),{valid:e.valid,results:{},errors:{}})}));function q(e){return function(t,n){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),re(M(u.value).reduce(((e,t)=>(e[t]=!0,e)),{})),o.value=!0,s.value++,se().then((a=>{const l=w(c);if(a.valid&&"function"==typeof t){const n=w(_.value);return t(e?n:l,{evt:r,controlledValues:n,setErrors:Q,setFieldError:J,setTouched:re,setFieldTouched:ne,setValues:Z,setFieldValue:W,resetForm:le,resetField:ae})}a.valid||"function"!=typeof n||n({values:l,evt:r,errors:a.errors,results:a.results})})).then((e=>(o.value=!1,e)),(e=>{throw o.value=!1,e}))}}}const L=q(!1);L.withControlled=q(!0);const K={formId:r,fieldsByPath:u,values:c,controlledValues:_,errorBag:v,errors:y,schema:U,submitCount:s,meta:N,isSubmitting:o,fieldArrays:d,keepValuesOnUnmount:k,validateSchema:t.unref(U)?z:void 0,validate:se,register:function(e){const n=t.unref(e.name);ue(e,n),t.isRef(e.name)&&t.watch(e.name,(async(n,r)=>{await t.nextTick(),ie(e,r),ue(e,n),(y.value[r]||y.value[n])&&(J(r,void 0),de(n)),await t.nextTick(),V(r)||B(c,r)}));const r=t.unref(e.errorMessage);r&&(null==j?void 0:j[n])!==r&&de(n);delete j[n]},unregister:function(e){const n=t.unref(e.name),r=u.value[n],a=!!r&&G(r);ie(e,n),t.nextTick((()=>{var l;const i=null!==(l=t.unref(e.keepValueOnUnmount))&&void 0!==l?l:t.unref(k),o=E(c,n);if(a&&(r===u.value[n]||!u.value[n])&&!i)if(Array.isArray(o)){const r=o.findIndex((n=>O(n,t.unref(e.checkedValue))));if(r>-1){const e=[...o];e.splice(r,1),W(n,e,{force:!0})}}else o===t.unref(e.checkedValue)&&B(c,n);if(!V(n)){if(J(n,void 0),i)return;if(a&&Array.isArray(o)&&!p(o))return;B(c,n)}}))},setFieldErrorBag:h,validateField:de,setFieldValue:W,setValues:Z,setErrors:Q,setFieldError:J,setFieldTouched:ne,setTouched:re,resetForm:le,resetField:ae,handleSubmit:L,stageInitialValue:function(t,n,r=!1){S(c,t,n),ce(t,n),r&&!(null==e?void 0:e.initialValues)&&S(C.value,t,w(n))},unsetInitialValue:function(e){B(I.value,e)},setFieldInitialValue:ce,useFieldModel:function(e){if(!Array.isArray(e))return ee(e);return e.map(ee)}};function G(e){return Array.isArray(e)}function X(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function H(e){Object.values(u.value).forEach((t=>{t&&X(t,e)}))}function J(e,t){h(e,t)}function Q(e){m(e)}function W(e,n,{force:r}={force:!1}){var a;const i=u.value[e],o=w(n);if(!i)return void S(c,e,o);if(G(i)&&"checkbox"===(null===(a=i[0])||void 0===a?void 0:a.type)&&!Array.isArray(n)){const t=w(R(E(c,e)||[],n,void 0));return void S(c,e,t)}let s=o;G(i)||"checkbox"!==i.type||r||l||(s=w(R(E(c,e),n,t.unref(i.uncheckedValue)))),S(c,e,s)}function Z(e){M(c).forEach((e=>{delete c[e]})),M(e).forEach((t=>{W(t,e[t])})),d.forEach((e=>e&&e.reset()))}function ee(e){const{value:n}=te(e,void 0,K);return t.watch(n,(()=>{V(t.unref(e))||se({mode:"validated-only"})}),{deep:!0}),a.add(t.unref(e)),n}function ne(e,t){const n=u.value[e];n&&X(n,(e=>e.setTouched(t)))}function re(e){M(e).forEach((t=>{ne(t,!!e[t])}))}function ae(e,t){const n=u.value[e];n&&X(n,(e=>e.resetField(t)))}function le(e){l=!0,H((e=>e.resetField()));const n=(null==e?void 0:e.values)?e.values:C.value;T(n),Z(n),(null==e?void 0:e.touched)&&re(e.touched),Q((null==e?void 0:e.errors)||{}),s.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{l=!1}))}function ue(e,n){const r=t.markRaw(e),a=n;if(!u.value[a])return void(u.value[a]=r);const l=u.value[a];l&&!Array.isArray(l)&&(u.value[a]=[l]),u.value[a]=[...u.value[a],r]}function ie(e,t){const n=t,r=u.value[n];if(r)if(G(r)||e.id!==r.id){if(G(r)){const t=r.findIndex((t=>t.id===e.id));if(-1===t)return;r.splice(t,1),r.length||delete u.value[n]}}else delete u.value[n]}async function se(e){const n=(null==e?void 0:e.mode)||"force";if("force"===n&&H((e=>e.meta.validated=!0)),K.validateSchema)return K.validateSchema(n);const r=await Promise.all(Object.values(u.value).map((n=>{const r=Array.isArray(n)?n[0]:n;return r?r.validate(e).then((e=>({key:t.unref(r.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),a={},l={};for(const e of r)a[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(l[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:a,errors:l}}async function de(e){const n=u.value[e];return n?Array.isArray(n)?n.map((e=>e.validate()))[0]:n.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function ce(e,t){S(I.value,e,w(t))}async function fe(){const e=t.unref(U);if(!e)return{valid:!0,results:{},errors:{}};const n=f(e)?await async function(e,t){const n=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),r={},a={};for(const e of n){const t=e.errors;r[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!n.length,results:r,errors:a}}(e,c):await Y(e,c,{names:F.value,bailsMap:A.value});return n}const ve=L(((e,{evt:t})=>{g(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&Q(e.initialErrors),(null==e?void 0:e.initialTouched)&&re(e.initialTouched),(null==e?void 0:e.validateOnMount)?se():K.validateSchema&&K.validateSchema("silent")})),t.isRef(U)&&t.watch(U,(()=>{var e;null===(e=K.validateSchema)||void 0===e||e.call(K,"validated-only")})),t.provide(i,K),Object.assign(Object.assign({},K),{handleReset:()=>le(),submitForm:ve})}const de=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0},onInvalidSubmit:{type:Function,default:void 0},keepValues:{type:Boolean,default:!1}},setup(e,n){const r=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),l=t.toRef(e,"keepValues"),{errors:u,values:i,meta:o,isSubmitting:s,submitCount:d,controlledValues:c,validate:f,validateField:v,handleReset:p,resetForm:m,handleSubmit:h,setErrors:y,setFieldError:V,setFieldValue:O,setValues:F,setFieldTouched:A,setTouched:j,resetField:E}=se({validationSchema:a.value?a:void 0,initialValues:r,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount,keepValuesOnUnmount:l}),S=h(((e,{evt:t})=>{g(t)&&t.target.submit()}),e.onInvalidSubmit),k=e.onSubmit?h(e.onSubmit,e.onInvalidSubmit):S;function B(e){b(e)&&e.preventDefault(),p(),"function"==typeof n.attrs.onReset&&n.attrs.onReset()}function M(t,n){return h("function"!=typeof t||n?n:t,e.onInvalidSubmit)(t)}function I(){return w(i)}function C(){return w(o.value)}function T(){return w(u.value)}function R(){return{meta:o.value,errors:u.value,values:i,isSubmitting:s.value,submitCount:d.value,controlledValues:c.value,validate:f,validateField:v,handleSubmit:M,handleReset:p,submitForm:S,setErrors:y,setFieldError:V,setFieldValue:O,setValues:F,setFieldTouched:A,setTouched:j,resetForm:m,resetField:E,getValues:I,getMeta:C,getErrors:T}}return n.expose({setFieldError:V,setErrors:y,setFieldValue:O,setValues:F,setFieldTouched:A,setTouched:j,resetForm:m,validate:f,validateField:v,resetField:E,getValues:I,getMeta:C,getErrors:T}),function(){const r="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=U(r,n,R);if(!e.as)return a;const l="form"===e.as?{novalidate:!0}:{};return t.h(r,Object.assign(Object.assign(Object.assign({},l),n.attrs),{onSubmit:k,onReset:B}),a)}}}),ce=de;function fe(e){const n=I(i,void 0),a=t.ref([]),l=()=>{},u={fields:a,remove:l,push:l,swap:l,insert:l,update:l,replace:l,prepend:l,move:l};if(!n)return C("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),u;if(!t.unref(e))return C("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),u;const o=n.fieldArrays.find((n=>t.unref(n.path)===t.unref(e)));if(o)return o;let s=0;function d(){const r=E(null==n?void 0:n.values,t.unref(e),[])||[];a.value=r.map(f),c()}function c(){const e=a.value.length;for(let t=0;t<e;t++){const n=a.value[t];n.isFirst=0===t,n.isLast=t===e-1}}function f(r){const l=s++,u={key:l,value:_({get(){const u=E(null==n?void 0:n.values,t.unref(e),[])||[],i=a.value.findIndex((e=>e.key===l));return-1===i?r:u[i]},set(e){const t=a.value.findIndex((e=>e.key===l));-1!==t?v(t,e):C("Attempting to update a non-existent array item")}}),isFirst:!1,isLast:!1};return u}function v(r,a){const l=t.unref(e),u=E(null==n?void 0:n.values,l);!Array.isArray(u)||u.length-1<r||(null==n||n.setFieldValue(`${l}[${r}]`,a),null==n||n.validate({mode:"validated-only"}))}d();const p={fields:a,remove:function(r){const l=t.unref(e),u=E(null==n?void 0:n.values,l);if(!u||!Array.isArray(u))return;const i=[...u];i.splice(r,1),null==n||n.unsetInitialValue(l+`[${r}]`),null==n||n.setFieldValue(l,i),a.value.splice(r,1),c()},push:function(l){const u=t.unref(e),i=E(null==n?void 0:n.values,u),o=r(i)?[]:i;if(!Array.isArray(o))return;const s=[...o];s.push(l),null==n||n.stageInitialValue(u+`[${s.length-1}]`,l),null==n||n.setFieldValue(u,s),a.value.push(f(l)),c()},swap:function(r,l){const u=t.unref(e),i=E(null==n?void 0:n.values,u);if(!Array.isArray(i)||!(r in i)||!(l in i))return;const o=[...i],s=[...a.value],d=o[r];o[r]=o[l],o[l]=d;const f=s[r];s[r]=s[l],s[l]=f,null==n||n.setFieldValue(u,o),a.value=s,c()},insert:function(r,l){const u=t.unref(e),i=E(null==n?void 0:n.values,u);if(!Array.isArray(i)||i.length<r)return;const o=[...i],s=[...a.value];o.splice(r,0,l),s.splice(r,0,f(l)),null==n||n.setFieldValue(u,o),a.value=s,c()},update:v,replace:function(r){const a=t.unref(e);null==n||n.setFieldValue(a,r),d()},prepend:function(l){const u=t.unref(e),i=E(null==n?void 0:n.values,u),o=r(i)?[]:i;if(!Array.isArray(o))return;const s=[l,...o];null==n||n.stageInitialValue(u+`[${s.length-1}]`,l),null==n||n.setFieldValue(u,s),a.value.unshift(f(l)),c()},move:function(l,u){const i=t.unref(e),o=E(null==n?void 0:n.values,i),s=r(o)?[]:[...o];if(!Array.isArray(o)||!(l in o)||!(u in o))return;const d=[...a.value],f=d[l];d.splice(l,1),d.splice(u,0,f);const v=s[l];s.splice(l,1),s.splice(u,0,v),null==n||n.setFieldValue(i,s),a.value=d,c()}};return n.fieldArrays.push(Object.assign({path:e,reset:d},p)),t.onBeforeUnmount((()=>{const r=n.fieldArrays.findIndex((n=>t.unref(n.path)===t.unref(e)));r>=0&&n.fieldArrays.splice(r,1)})),p}const ve=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,n){const{push:r,remove:a,swap:l,insert:u,replace:i,update:o,prepend:s,move:d,fields:c}=fe(t.toRef(e,"name"));function f(){return{fields:c.value,push:r,remove:a,swap:l,insert:u,update:o,replace:i,prepend:s,move:d}}return n.expose({push:r,remove:a,swap:l,insert:u,update:o,replace:i,prepend:s,move:d}),()=>U(void 0,n,f)}}),pe=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,n){const r=t.inject(i,void 0),a=t.computed((()=>null==r?void 0:r.errors.value[e.name]));function l(){return{message:a.value}}return()=>{if(!a.value)return;const r=e.as?t.resolveDynamicComponent(e.as):e.as,u=U(r,n,l),i=Object.assign({role:"alert"},n.attrs);return r||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(r,i,u):t.h(r||"span",i,a.value):u}}});e.ErrorMessage=pe,e.Field=ie,e.FieldArray=ve,e.FieldContextKey=o,e.Form=ce,e.FormContextKey=i,e.IS_ABSENT=s,e.configure=H,e.defineRule=function(e,t){!function(e,t){if(n(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),u[e]=t},e.useField=ne,e.useFieldArray=fe,e.useFieldError=function(e){const n=I(i),r=e?void 0:t.inject(o);return t.computed((()=>e?null==n?void 0:n.errors.value[t.unref(e)]:null==r?void 0:r.errorMessage.value))},e.useFieldValue=function(e){const n=I(i),r=e?void 0:t.inject(o);return t.computed((()=>e?E(null==n?void 0:n.values,t.unref(e)):t.unref(null==r?void 0:r.value)))},e.useForm=se,e.useFormErrors=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const n=I(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.dirty:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const n=I(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.touched:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const n=I(i);let r=e?void 0:t.inject(o);return t.computed((()=>(e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.meta.valid:(C(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=I(i);t||C("No vee-validate <Form /> or `useForm` was detected in the component tree");const n=t?t.handleSubmit(e):void 0;return function(e){if(n)return n(e)}},e.useValidateField=function(e){const n=I(i);let r=e?void 0:t.inject(o);return function(){return e&&(r=T(null==n?void 0:n.fieldsByPath.value[t.unref(e)])),r?r.validate():(C(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=I(i);return e||C("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=J,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vee-validate",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.4",
|
|
4
4
|
"description": "Form Validation for Vue.js",
|
|
5
5
|
"author": "Abdelrahman Awad <logaretm1@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@vue/devtools-api": "^6.1.4"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "dce6575a71c42e5346bc8c2dc7fc0b211a2020be"
|
|
37
37
|
}
|