solid-hook-form 2.1.0 → 2.2.0

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/main.d.ts CHANGED
@@ -67,6 +67,14 @@ type ControllerProps<F extends FormValues> = {
67
67
 
68
68
  type DirtyFields<F extends FormValues = FormValues> = Partial<Record<Path<F>, boolean>>;
69
69
 
70
+ type ResetOptions = {
71
+ keepErrors?: boolean;
72
+ keepValues?: boolean;
73
+ keepTouched?: boolean;
74
+ keepDirty?: boolean;
75
+ };
76
+ type Reset<F extends FormValues> = (values?: Partial<F>, options?: ResetOptions) => void;
77
+
70
78
  type TouchedFields<F extends FormValues = FormValues> = Partial<Record<Path<F>, boolean>>;
71
79
 
72
80
  type FormValues = Record<string, any>;
@@ -87,11 +95,6 @@ type Trigger<F extends FormValues> = (name?: Path<F> | Path<F>[], options?: Trig
87
95
  type SubmitHandler<F extends FormValues> = (values: F) => void;
88
96
  type SubmitErrorHandler<F extends FormValues> = (errors: FieldErrors<F>) => void;
89
97
  type HandleSubmit<F extends FormValues> = (onSubmit: SubmitHandler<F>, onError?: SubmitErrorHandler<F>) => (event: SubmitEvent) => void;
90
- type ResetOptions = {
91
- keepTouched?: boolean;
92
- keepDirty?: boolean;
93
- };
94
- type Reset<F extends FormValues> = (newDefaultValues?: Partial<F>, options?: ResetOptions) => void;
95
98
  type CreateFormArg<F extends FormValues> = {
96
99
  defaultValues: F;
97
100
  mode?: "onChange" | "onSubmit" | "onBlur";
package/dist/main.js CHANGED
@@ -95,7 +95,10 @@ var createErrors = () => {
95
95
  })
96
96
  );
97
97
  };
98
- const resetErrors = () => {
98
+ const resetErrors = (keepErrors) => {
99
+ if (keepErrors) {
100
+ return;
101
+ }
99
102
  setErrors(reconcile({}));
100
103
  };
101
104
  return {
@@ -425,11 +428,14 @@ var createForm = (arg) => {
425
428
  };
426
429
  };
427
430
  const reset = (values2, options = {}) => {
428
- const newValues = values2 ? values2 : structuredClone(defaultValues);
429
- setValues(() => newValues);
430
- resetErrors();
431
+ resetErrors(options.keepErrors);
431
432
  resetTouched(options.keepTouched);
432
433
  resetDirty(options.keepDirty);
434
+ if (options.keepValues) {
435
+ return;
436
+ }
437
+ const newValues = values2 ? values2 : structuredClone(defaultValues);
438
+ setValues(() => newValues);
433
439
  Object.entries(fields).forEach(([name, field]) => {
434
440
  setFieldValue(field, get(newValues, name));
435
441
  });
package/dist/main.jsx CHANGED
@@ -98,7 +98,10 @@ var createErrors = () => {
98
98
  })
99
99
  );
100
100
  };
101
- const resetErrors = () => {
101
+ const resetErrors = (keepErrors) => {
102
+ if (keepErrors) {
103
+ return;
104
+ }
102
105
  setErrors(reconcile({}));
103
106
  };
104
107
  return {
@@ -431,11 +434,14 @@ var createForm = (arg) => {
431
434
  };
432
435
  };
433
436
  const reset = (values2, options = {}) => {
434
- const newValues = values2 ? values2 : structuredClone(defaultValues);
435
- setValues(() => newValues);
436
- resetErrors();
437
+ resetErrors(options.keepErrors);
437
438
  resetTouched(options.keepTouched);
438
439
  resetDirty(options.keepDirty);
440
+ if (options.keepValues) {
441
+ return;
442
+ }
443
+ const newValues = values2 ? values2 : structuredClone(defaultValues);
444
+ setValues(() => newValues);
439
445
  Object.entries(fields).forEach(([name, field]) => {
440
446
  setFieldValue(field, get(newValues, name));
441
447
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-hook-form",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "module": "./dist/main.js",