vee-validate 4.6.10 → 4.7.1

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.
@@ -127,6 +127,7 @@ interface FormValidationResult<TValues> {
127
127
  }
128
128
  interface SubmissionContext<TValues extends GenericFormValues = GenericFormValues> extends FormActions<TValues> {
129
129
  evt?: Event;
130
+ controlledValues: Partial<TValues>;
130
131
  }
131
132
  declare type SubmissionHandler<TValues extends GenericFormValues = GenericFormValues, TReturn = unknown> = (values: TValues, ctx: SubmissionContext<TValues>) => TReturn;
132
133
  interface InvalidSubmissionContext<TValues extends GenericFormValues = GenericFormValues> {
@@ -141,9 +142,11 @@ declare type FieldPathLookup<TValues extends Record<string, any> = Record<string
141
142
  declare type MapValues<T, TValues extends Record<string, any>> = {
142
143
  [K in keyof T]: T[K] extends MaybeRef<infer TKey> ? TKey extends keyof TValues ? Ref<TValues[TKey]> : Ref<unknown> : Ref<unknown>;
143
144
  };
145
+ declare type HandleSubmitFactory<TValues extends GenericFormValues> = <TReturn = unknown>(cb: SubmissionHandler<TValues, TReturn>, onSubmitValidationErrorCb?: InvalidSubmissionHandler<TValues>) => (e?: Event) => Promise<TReturn | undefined>;
144
146
  interface PrivateFormContext<TValues extends Record<string, any> = Record<string, any>> extends FormActions<TValues> {
145
147
  formId: number;
146
148
  values: TValues;
149
+ controlledValues: Ref<TValues>;
147
150
  fieldsByPath: Ref<FieldPathLookup>;
148
151
  fieldArrays: PrivateFieldArrayContext[];
149
152
  submitCount: Ref<number>;
@@ -161,7 +164,9 @@ interface PrivateFormContext<TValues extends Record<string, any> = Record<string
161
164
  unsetInitialValue(path: string): void;
162
165
  register(field: PrivateFieldContext): void;
163
166
  unregister(field: PrivateFieldContext): void;
164
- handleSubmit<TReturn = unknown>(cb: SubmissionHandler<TValues, TReturn>, onSubmitValidationErrorCb?: InvalidSubmissionHandler<TValues>): (e?: Event) => Promise<TReturn | undefined>;
167
+ handleSubmit: HandleSubmitFactory<TValues> & {
168
+ withControlled: HandleSubmitFactory<TValues>;
169
+ };
165
170
  setFieldInitialValue(path: string, value: unknown): void;
166
171
  useFieldModel<TPath extends keyof TValues>(path: MaybeRef<TPath>): Ref<TValues[TPath]>;
167
172
  useFieldModel<TPath extends keyof TValues>(paths: [...MaybeRef<TPath>[]]): MapValues<typeof paths, TValues>;
@@ -206,10 +211,12 @@ interface FieldOptions<TValue = unknown> {
206
211
  checkedValue?: MaybeRef<TValue>;
207
212
  uncheckedValue?: MaybeRef<TValue>;
208
213
  label?: MaybeRef<string | undefined>;
214
+ controlled?: boolean;
209
215
  standalone?: boolean;
210
216
  keepValueOnUnmount?: MaybeRef<boolean | undefined>;
211
217
  modelPropName?: string;
212
218
  syncVModel?: boolean;
219
+ form?: FormContext;
213
220
  }
214
221
  declare type RuleExpression<TValue> = string | Record<string, unknown> | GenericValidateFunction<TValue> | GenericValidateFunction<TValue>[] | YupValidator<TValue> | undefined;
215
222
  /**
@@ -248,8 +255,8 @@ declare const Field: {
248
255
  validateOnBlur: boolean;
249
256
  validateOnModelUpdate: boolean;
250
257
  modelValue: any;
251
- standalone: boolean;
252
258
  validateOnMount: boolean;
259
+ standalone: boolean;
253
260
  modelModifiers: any;
254
261
  rules: RuleExpression<unknown>;
255
262
  'onUpdate:modelValue': (e: any) => unknown;
@@ -319,7 +326,7 @@ declare const Field: {
319
326
  type: BooleanConstructor;
320
327
  default: any;
321
328
  };
322
- }>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "label" | "as" | "bails" | "uncheckedValue" | "validateOnInput" | "validateOnChange" | "validateOnBlur" | "validateOnModelUpdate" | "modelValue" | "standalone" | "validateOnMount" | "modelModifiers" | "rules" | "onUpdate:modelValue" | "keepValue">;
329
+ }>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "label" | "as" | "bails" | "uncheckedValue" | "validateOnInput" | "validateOnChange" | "validateOnBlur" | "validateOnModelUpdate" | "modelValue" | "validateOnMount" | "standalone" | "modelModifiers" | "rules" | "onUpdate:modelValue" | "keepValue">;
323
330
  $attrs: {
324
331
  [x: string]: unknown;
325
332
  };
@@ -400,13 +407,13 @@ declare const Field: {
400
407
  };
401
408
  }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
402
409
  [key: string]: any;
403
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
410
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
404
411
  [key: string]: any;
405
- }>[] | {
412
+ }>[] | vue.Slot | {
406
413
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
407
414
  [key: string]: any;
408
415
  }>[];
409
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
416
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
410
417
  label: string;
411
418
  as: string | Record<string, any>;
412
419
  bails: boolean;
@@ -416,8 +423,8 @@ declare const Field: {
416
423
  validateOnBlur: boolean;
417
424
  validateOnModelUpdate: boolean;
418
425
  modelValue: any;
419
- standalone: boolean;
420
426
  validateOnMount: boolean;
427
+ standalone: boolean;
421
428
  modelModifiers: any;
422
429
  rules: RuleExpression<unknown>;
423
430
  'onUpdate:modelValue': (e: any) => unknown;
@@ -509,9 +516,9 @@ declare const Field: {
509
516
  };
510
517
  }>> & vue.ShallowUnwrapRef<() => VNode<vue.RendererNode, vue.RendererElement, {
511
518
  [key: string]: any;
512
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
519
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
513
520
  [key: string]: any;
514
- }>[] | {
521
+ }>[] | vue.Slot | {
515
522
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
516
523
  [key: string]: any;
517
524
  }>[];
@@ -586,13 +593,13 @@ declare const Field: {
586
593
  };
587
594
  }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
588
595
  [key: string]: any;
589
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
596
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
590
597
  [key: string]: any;
591
- }>[] | {
598
+ }>[] | vue.Slot | {
592
599
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
593
600
  [key: string]: any;
594
601
  }>[];
595
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
602
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
596
603
  label: string;
597
604
  as: string | Record<string, any>;
598
605
  bails: boolean;
@@ -602,8 +609,8 @@ declare const Field: {
602
609
  validateOnBlur: boolean;
603
610
  validateOnModelUpdate: boolean;
604
611
  modelValue: any;
605
- standalone: boolean;
606
612
  validateOnMount: boolean;
613
+ standalone: boolean;
607
614
  modelModifiers: any;
608
615
  rules: RuleExpression<unknown>;
609
616
  'onUpdate:modelValue': (e: any) => unknown;
@@ -615,11 +622,11 @@ declare const Field: {
615
622
  validate: FieldContext['validate'];
616
623
  handleChange: FieldContext['handleChange'];
617
624
  $slots: {
618
- default: (arg: FieldSlotProps<unknown>) => VNode[];
625
+ default: (arg: FieldSlotProps<any>) => VNode[];
619
626
  };
620
627
  });
621
628
 
622
- declare type FormSlotProps = UnwrapRef<Pick<FormContext, 'meta' | 'errors' | 'values' | 'isSubmitting' | 'submitCount' | 'validate' | 'validateField' | 'handleReset' | 'setErrors' | 'setFieldError' | 'setFieldValue' | 'setValues' | 'setFieldTouched' | 'setTouched' | 'resetForm'>> & {
629
+ declare type FormSlotProps = UnwrapRef<Pick<FormContext, 'meta' | 'errors' | 'values' | 'isSubmitting' | 'submitCount' | 'validate' | 'validateField' | 'handleReset' | 'setErrors' | 'setFieldError' | 'setFieldValue' | 'setValues' | 'setFieldTouched' | 'setTouched' | 'resetForm' | 'controlledValues'>> & {
623
630
  handleSubmit: (evt: Event | SubmissionHandler, onSubmit?: SubmissionHandler) => Promise<unknown>;
624
631
  submitForm(evt?: Event): void;
625
632
  };
@@ -727,13 +734,13 @@ declare const Form: {
727
734
  };
728
735
  }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
729
736
  [key: string]: any;
730
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
737
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
731
738
  [key: string]: any;
732
- }>[] | {
739
+ }>[] | vue.Slot | {
733
740
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
734
741
  [key: string]: any;
735
742
  }>[];
736
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
743
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
737
744
  onSubmit: SubmissionHandler<GenericFormValues, unknown>;
738
745
  as: string;
739
746
  initialValues: Record<string, any>;
@@ -802,9 +809,9 @@ declare const Form: {
802
809
  };
803
810
  }>> & vue.ShallowUnwrapRef<() => VNode<vue.RendererNode, vue.RendererElement, {
804
811
  [key: string]: any;
805
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
812
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
806
813
  [key: string]: any;
807
- }>[] | {
814
+ }>[] | vue.Slot | {
808
815
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
809
816
  [key: string]: any;
810
817
  }>[];
@@ -851,13 +858,13 @@ declare const Form: {
851
858
  };
852
859
  }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
853
860
  [key: string]: any;
854
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
861
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
855
862
  [key: string]: any;
856
- }>[] | {
863
+ }>[] | vue.Slot | {
857
864
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
858
865
  [key: string]: any;
859
866
  }>[];
860
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
867
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
861
868
  onSubmit: SubmissionHandler<GenericFormValues, unknown>;
862
869
  as: string;
863
870
  initialValues: Record<string, any>;
@@ -910,13 +917,13 @@ declare const FieldArray: {
910
917
  type: StringConstructor;
911
918
  required: true;
912
919
  };
913
- }>>, () => vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
920
+ }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
914
921
  [key: string]: any;
915
- }>[] | {
922
+ }>[] | vue.Slot | {
916
923
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
917
924
  [key: string]: any;
918
925
  }>[];
919
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}> & {
926
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}> & {
920
927
  beforeCreate?: (() => void) | (() => void)[];
921
928
  created?: (() => void) | (() => void)[];
922
929
  beforeMount?: (() => void) | (() => void)[];
@@ -941,9 +948,9 @@ declare const FieldArray: {
941
948
  type: StringConstructor;
942
949
  required: true;
943
950
  };
944
- }>> & vue.ShallowUnwrapRef<() => vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
951
+ }>> & vue.ShallowUnwrapRef<() => VNode<vue.RendererNode, vue.RendererElement, {
945
952
  [key: string]: any;
946
- }>[] | {
953
+ }>[] | vue.Slot | {
947
954
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
948
955
  [key: string]: any;
949
956
  }>[];
@@ -956,13 +963,13 @@ declare const FieldArray: {
956
963
  type: StringConstructor;
957
964
  required: true;
958
965
  };
959
- }>>, () => vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
966
+ }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
960
967
  [key: string]: any;
961
- }>[] | {
968
+ }>[] | vue.Slot | {
962
969
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
963
970
  [key: string]: any;
964
971
  }>[];
965
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
972
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
966
973
  push: FieldArrayContext['push'];
967
974
  remove: FieldArrayContext['remove'];
968
975
  swap: FieldArrayContext['swap'];
@@ -1019,13 +1026,13 @@ declare const ErrorMessage: {
1019
1026
  };
1020
1027
  }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
1021
1028
  [key: string]: any;
1022
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
1029
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
1023
1030
  [key: string]: any;
1024
- }>[] | {
1031
+ }>[] | vue.Slot | {
1025
1032
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
1026
1033
  [key: string]: any;
1027
1034
  }>[];
1028
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
1035
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
1029
1036
  as: string;
1030
1037
  }> & {
1031
1038
  beforeCreate?: (() => void) | (() => void)[];
@@ -1058,9 +1065,9 @@ declare const ErrorMessage: {
1058
1065
  };
1059
1066
  }>> & vue.ShallowUnwrapRef<() => VNode<vue.RendererNode, vue.RendererElement, {
1060
1067
  [key: string]: any;
1061
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
1068
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
1062
1069
  [key: string]: any;
1063
- }>[] | {
1070
+ }>[] | vue.Slot | {
1064
1071
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
1065
1072
  [key: string]: any;
1066
1073
  }>[];
@@ -1079,13 +1086,13 @@ declare const ErrorMessage: {
1079
1086
  };
1080
1087
  }>>, () => VNode<vue.RendererNode, vue.RendererElement, {
1081
1088
  [key: string]: any;
1082
- }> | vue.Slot | VNode<vue.RendererNode, vue.RendererElement, {
1089
+ }> | VNode<vue.RendererNode, vue.RendererElement, {
1083
1090
  [key: string]: any;
1084
- }>[] | {
1091
+ }>[] | vue.Slot | {
1085
1092
  default: () => VNode<vue.RendererNode, vue.RendererElement, {
1086
1093
  [key: string]: any;
1087
1094
  }>[];
1088
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
1095
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
1089
1096
  as: string;
1090
1097
  }> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
1091
1098
  $slots: {