react-hook-form 8.0.0-beta.3 → 8.0.0-beta.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/README.md +8 -9
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/controller.d.ts +8 -37
- package/dist/controller.d.ts.map +1 -1
- package/dist/errorMessage.d.ts +27 -0
- package/dist/errorMessage.d.ts.map +1 -0
- package/dist/fieldArray.d.ts +2 -1
- package/dist/fieldArray.d.ts.map +1 -1
- package/dist/form.d.ts +8 -17
- package/dist/form.d.ts.map +1 -1
- package/dist/formState.d.ts +12 -0
- package/dist/formState.d.ts.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.mjs +2966 -2581
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/logic/collectDirtyFieldNames.d.ts +3 -0
- package/dist/logic/collectDirtyFieldNames.d.ts.map +1 -0
- package/dist/logic/createFormControl.d.ts.map +1 -1
- package/dist/logic/generateId.d.ts.map +1 -1
- package/dist/logic/getCheckboxValue.d.ts.map +1 -1
- package/dist/logic/getDirtyFields.d.ts +3 -2
- package/dist/logic/getDirtyFields.d.ts.map +1 -1
- package/dist/logic/getEventValue.d.ts.map +1 -1
- package/dist/logic/getFieldArrayItemNames.d.ts +4 -0
- package/dist/logic/getFieldArrayItemNames.d.ts.map +1 -0
- package/dist/logic/getFieldValue.d.ts.map +1 -1
- package/dist/logic/getNullAncestorValue.d.ts +5 -0
- package/dist/logic/getNullAncestorValue.d.ts.map +1 -0
- package/dist/logic/getProxyFormState.d.ts +1 -1
- package/dist/logic/getProxyFormState.d.ts.map +1 -1
- package/dist/logic/getResolverOptions.d.ts +1 -0
- package/dist/logic/getResolverOptions.d.ts.map +1 -1
- package/dist/logic/getValueAndMessage.d.ts +1 -4
- package/dist/logic/getValueAndMessage.d.ts.map +1 -1
- package/dist/logic/hasValidation.d.ts +1 -1
- package/dist/logic/hasValidation.d.ts.map +1 -1
- package/dist/logic/iterateFieldsByAction.d.ts +1 -1
- package/dist/logic/iterateFieldsByAction.d.ts.map +1 -1
- package/dist/logic/schemaErrorLookup.d.ts.map +1 -1
- package/dist/logic/shouldRenderFormState.d.ts.map +1 -1
- package/dist/logic/unsetEmptyArray.d.ts +1 -1
- package/dist/logic/unsetEmptyArray.d.ts.map +1 -1
- package/dist/logic/validateField.d.ts.map +1 -1
- package/dist/react-server.esm.mjs +545 -262
- package/dist/react-server.esm.mjs.map +1 -1
- package/dist/types/errors.d.ts +9 -4
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/fields.d.ts +1 -0
- package/dist/types/fields.d.ts.map +1 -1
- package/dist/types/form.d.ts +108 -59
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/path/common.d.ts +6 -0
- package/dist/types/path/common.d.ts.map +1 -1
- package/dist/types/path/eager.d.ts +16 -12
- package/dist/types/path/eager.d.ts.map +1 -1
- package/dist/types/utils.d.ts +30 -5
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/validator.d.ts +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/types/watch.d.ts +1 -1
- package/dist/types/watch.d.ts.map +1 -1
- package/dist/useController.d.ts +5 -17
- package/dist/useController.d.ts.map +1 -1
- package/dist/useFieldArray.d.ts +5 -30
- package/dist/useFieldArray.d.ts.map +1 -1
- package/dist/useForm.d.ts +7 -22
- package/dist/useForm.d.ts.map +1 -1
- package/dist/useFormContext.d.ts +11 -47
- package/dist/useFormContext.d.ts.map +1 -1
- package/dist/useFormState.d.ts +4 -23
- package/dist/useFormState.d.ts.map +1 -1
- package/dist/useResyncOnReconnect.d.ts +5 -0
- package/dist/useResyncOnReconnect.d.ts.map +1 -0
- package/dist/useWatch.d.ts +7 -140
- package/dist/useWatch.d.ts.map +1 -1
- package/dist/utils/cloneObject.d.ts.map +1 -1
- package/dist/utils/deepEqual.d.ts +1 -1
- package/dist/utils/deepEqual.d.ts.map +1 -1
- package/dist/utils/flatten.d.ts.map +1 -1
- package/dist/utils/formData.d.ts +3 -0
- package/dist/utils/formData.d.ts.map +1 -0
- package/dist/utils/has.d.ts +3 -0
- package/dist/utils/has.d.ts.map +1 -0
- package/dist/utils/json.d.ts +9 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/updateMethodsReference.d.ts.map +1 -1
- package/dist/watch.d.ts +4 -16
- package/dist/watch.d.ts.map +1 -1
- package/package.json +14 -15
- package/dist/formStateSubscribe.d.ts +0 -7
- package/dist/formStateSubscribe.d.ts.map +0 -1
- package/dist/logic/getNodeParentName.d.ts +0 -3
- package/dist/logic/getNodeParentName.d.ts.map +0 -1
- package/dist/utils/deepMerge.d.ts +0 -2
- package/dist/utils/deepMerge.d.ts.map +0 -1
package/dist/useWatch.d.ts
CHANGED
|
@@ -1,25 +1,5 @@
|
|
|
1
1
|
import type { Control, DeepPartialSkipArrayKey, FieldPath, FieldPathValue, FieldPathValues, FieldValues } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Subscribe to the entire form values change and re-render at the hook level.
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
*
|
|
7
|
-
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
8
|
-
*
|
|
9
|
-
* @param props - defaultValue, disable subscription and match exact name.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```tsx
|
|
13
|
-
* const { control } = useForm();
|
|
14
|
-
* const values = useWatch({
|
|
15
|
-
* control,
|
|
16
|
-
* defaultValue: {
|
|
17
|
-
* name: "data"
|
|
18
|
-
* },
|
|
19
|
-
* exact: false,
|
|
20
|
-
* })
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
2
|
+
/** Watches the entire form; re-renders when any value changes. */
|
|
23
3
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TTransformedValues = TFieldValues>(props: {
|
|
24
4
|
name?: undefined;
|
|
25
5
|
defaultValue?: DeepPartialSkipArrayKey<TFieldValues>;
|
|
@@ -28,26 +8,7 @@ export declare function useWatch<TFieldValues extends FieldValues = FieldValues,
|
|
|
28
8
|
exact?: boolean;
|
|
29
9
|
compute?: undefined;
|
|
30
10
|
}): DeepPartialSkipArrayKey<TFieldValues>;
|
|
31
|
-
/**
|
|
32
|
-
* Custom hook to subscribe to field change and isolate re-rendering at the component level.
|
|
33
|
-
*
|
|
34
|
-
* @remarks
|
|
35
|
-
*
|
|
36
|
-
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
37
|
-
*
|
|
38
|
-
* @param props - defaultValue, disable subscription and match exact name.
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```tsx
|
|
42
|
-
* const { control } = useForm();
|
|
43
|
-
* const values = useWatch({
|
|
44
|
-
* control,
|
|
45
|
-
* name: "fieldA",
|
|
46
|
-
* defaultValue: "default value",
|
|
47
|
-
* exact: false,
|
|
48
|
-
* })
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
11
|
+
/** Watches a single field by name. */
|
|
51
12
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformedValues = TFieldValues>(props: {
|
|
52
13
|
name: TFieldName;
|
|
53
14
|
defaultValue?: FieldPathValue<TFieldValues, TFieldName>;
|
|
@@ -56,24 +17,7 @@ export declare function useWatch<TFieldValues extends FieldValues = FieldValues,
|
|
|
56
17
|
exact?: boolean;
|
|
57
18
|
compute?: undefined;
|
|
58
19
|
}): FieldPathValue<TFieldValues, TFieldName>;
|
|
59
|
-
/**
|
|
60
|
-
* Custom hook to subscribe to field change and compute function to produce state update
|
|
61
|
-
*
|
|
62
|
-
* @remarks
|
|
63
|
-
*
|
|
64
|
-
* [API](https://react-hook-form.com/docs/usewatch)
|
|
65
|
-
*
|
|
66
|
-
* @param props - defaultValue, disable subscription and match exact name.
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```tsx
|
|
70
|
-
* const { control } = useForm();
|
|
71
|
-
* const values = useWatch({
|
|
72
|
-
* control,
|
|
73
|
-
* compute: (formValues) => formValues.fieldA
|
|
74
|
-
* })
|
|
75
|
-
* ```
|
|
76
|
-
*/
|
|
20
|
+
/** Watches the entire form and derives a value via `compute`. */
|
|
77
21
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TTransformedValues = TFieldValues, TComputeValue = unknown>(props: {
|
|
78
22
|
name?: undefined;
|
|
79
23
|
defaultValue?: DeepPartialSkipArrayKey<TFieldValues>;
|
|
@@ -82,27 +26,7 @@ export declare function useWatch<TFieldValues extends FieldValues = FieldValues,
|
|
|
82
26
|
exact?: boolean;
|
|
83
27
|
compute: (formValues: TFieldValues) => TComputeValue;
|
|
84
28
|
}): TComputeValue;
|
|
85
|
-
/**
|
|
86
|
-
* Custom hook to subscribe to field change and compute function to produce state update
|
|
87
|
-
*
|
|
88
|
-
* @remarks
|
|
89
|
-
*
|
|
90
|
-
* [API](https://react-hook-form.com/docs/usewatch)
|
|
91
|
-
*
|
|
92
|
-
* @param props - defaultValue, disable subscription and match exact name.
|
|
93
|
-
*
|
|
94
|
-
* @example
|
|
95
|
-
* ```tsx
|
|
96
|
-
* const { control } = useForm();
|
|
97
|
-
* const values = useWatch({
|
|
98
|
-
* control,
|
|
99
|
-
* name: "fieldA",
|
|
100
|
-
* defaultValue: "default value",
|
|
101
|
-
* exact: false,
|
|
102
|
-
* compute: (fieldValue) => fieldValue === "data" ? fieldValue : null,
|
|
103
|
-
* })
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
29
|
+
/** Watches a single field and derives a value via `compute`. */
|
|
106
30
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformedValues = TFieldValues, TComputeValue = unknown>(props: {
|
|
107
31
|
name: TFieldName;
|
|
108
32
|
defaultValue?: FieldPathValue<TFieldValues, TFieldName>;
|
|
@@ -111,29 +35,7 @@ export declare function useWatch<TFieldValues extends FieldValues = FieldValues,
|
|
|
111
35
|
exact?: boolean;
|
|
112
36
|
compute: (fieldValue: FieldPathValue<TFieldValues, TFieldName>) => TComputeValue;
|
|
113
37
|
}): TComputeValue;
|
|
114
|
-
/**
|
|
115
|
-
* Custom hook to subscribe to field change and isolate re-rendering at the component level.
|
|
116
|
-
*
|
|
117
|
-
* @remarks
|
|
118
|
-
*
|
|
119
|
-
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
120
|
-
*
|
|
121
|
-
* @param props - defaultValue, disable subscription and match exact name.
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```tsx
|
|
125
|
-
* const { control } = useForm();
|
|
126
|
-
* const values = useWatch({
|
|
127
|
-
* control,
|
|
128
|
-
* name: ["fieldA", "fieldB"],
|
|
129
|
-
* defaultValue: {
|
|
130
|
-
* fieldA: "data",
|
|
131
|
-
* fieldB: "data"
|
|
132
|
-
* },
|
|
133
|
-
* exact: false,
|
|
134
|
-
* })
|
|
135
|
-
* ```
|
|
136
|
-
*/
|
|
38
|
+
/** Watches multiple fields by name array. */
|
|
137
39
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldNames extends readonly FieldPath<TFieldValues>[] = readonly FieldPath<TFieldValues>[], TTransformedValues = TFieldValues>(props: {
|
|
138
40
|
name: readonly [...TFieldNames];
|
|
139
41
|
defaultValue?: DeepPartialSkipArrayKey<TFieldValues>;
|
|
@@ -142,30 +44,7 @@ export declare function useWatch<TFieldValues extends FieldValues = FieldValues,
|
|
|
142
44
|
exact?: boolean;
|
|
143
45
|
compute?: undefined;
|
|
144
46
|
}): FieldPathValues<TFieldValues, TFieldNames>;
|
|
145
|
-
/**
|
|
146
|
-
* Custom hook to subscribe to field change and compute function to produce state update
|
|
147
|
-
*
|
|
148
|
-
* @remarks
|
|
149
|
-
*
|
|
150
|
-
* [API](https://react-hook-form.com/docs/usewatch)
|
|
151
|
-
*
|
|
152
|
-
* @param props - defaultValue, disable subscription and match exact name.
|
|
153
|
-
*
|
|
154
|
-
* @example
|
|
155
|
-
* ```tsx
|
|
156
|
-
* const { control } = useForm();
|
|
157
|
-
* const values = useWatch({
|
|
158
|
-
* control,
|
|
159
|
-
* name: ["fieldA", "fieldB"],
|
|
160
|
-
* defaultValue: {
|
|
161
|
-
* fieldA: "data",
|
|
162
|
-
* fieldB: 0
|
|
163
|
-
* },
|
|
164
|
-
* compute: ([fieldAValue, fieldBValue]) => fieldB === 2 ? fieldA : null,
|
|
165
|
-
* exact: false,
|
|
166
|
-
* })
|
|
167
|
-
* ```
|
|
168
|
-
*/
|
|
47
|
+
/** Watches multiple fields and derives a value via `compute`. */
|
|
169
48
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldNames extends readonly FieldPath<TFieldValues>[] = readonly FieldPath<TFieldValues>[], TTransformedValues = TFieldValues, TComputeValue = unknown>(props: {
|
|
170
49
|
name: readonly [...TFieldNames];
|
|
171
50
|
defaultValue?: DeepPartialSkipArrayKey<TFieldValues>;
|
|
@@ -174,18 +53,6 @@ export declare function useWatch<TFieldValues extends FieldValues = FieldValues,
|
|
|
174
53
|
exact?: boolean;
|
|
175
54
|
compute: (fieldValue: FieldPathValues<TFieldValues, TFieldNames>) => TComputeValue;
|
|
176
55
|
}): TComputeValue;
|
|
177
|
-
/**
|
|
178
|
-
* Custom hook to subscribe to field change and isolate re-rendering at the component level.
|
|
179
|
-
*
|
|
180
|
-
* @remarks
|
|
181
|
-
*
|
|
182
|
-
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
183
|
-
*
|
|
184
|
-
* @example
|
|
185
|
-
* ```tsx
|
|
186
|
-
* // can skip passing down the control into useWatch if the form is wrapped with the FormProvider
|
|
187
|
-
* const values = useWatch()
|
|
188
|
-
* ```
|
|
189
|
-
*/
|
|
56
|
+
/** Watches the entire form; reads `control` from `FormProvider` context. */
|
|
190
57
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues>(): DeepPartialSkipArrayKey<TFieldValues>;
|
|
191
58
|
//# sourceMappingURL=useWatch.d.ts.map
|
package/dist/useWatch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWatch.d.ts","sourceRoot":"","sources":["../src/useWatch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EACP,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,eAAe,EACf,WAAW,EAGZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useWatch.d.ts","sourceRoot":"","sources":["../src/useWatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneObject.d.ts","sourceRoot":"","sources":["../../src/utils/cloneObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloneObject.d.ts","sourceRoot":"","sources":["../../src/utils/cloneObject.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAgCjD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export default function deepEqual(object1:
|
|
1
|
+
export default function deepEqual(object1: unknown, object2: unknown, visited?: WeakMap<object, WeakSet<object>>): boolean;
|
|
2
2
|
//# sourceMappingURL=deepEqual.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepEqual.d.ts","sourceRoot":"","sources":["../../src/utils/deepEqual.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deepEqual.d.ts","sourceRoot":"","sources":["../../src/utils/deepEqual.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,mCAAyC,WAqEjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../src/utils/flatten.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../src/utils/flatten.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAY5C,eAAO,MAAM,OAAO,GAAI,KAAK,WAAW,gBAsBvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formData.d.ts","sourceRoot":"","sources":["../../src/utils/formData.ts"],"names":[],"mappings":"AAGA,iBAAS,cAAc,CAAC,IAAI,EAAE,GAAG,YA0BhC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has.d.ts","sourceRoot":"","sources":["../../src/utils/has.ts"],"names":[],"mappings":"yBASgB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,MAAM,GAAG,IAAI,KAAG,OAAO;AAA5D,wBAiBE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare function safeJSONStringify(value?: unknown): string;
|
|
2
|
+
declare function safeJSONParse(value?: string): any;
|
|
3
|
+
declare const safeJSON: {
|
|
4
|
+
stringify: typeof safeJSONStringify;
|
|
5
|
+
parse: typeof safeJSONParse;
|
|
6
|
+
};
|
|
7
|
+
export { safeJSON, safeJSONParse, safeJSONStringify };
|
|
8
|
+
export default safeJSON;
|
|
9
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,iBAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,UAMzC;AAED,iBAAS,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,OAMpC;AAED,QAAA,MAAM,QAAQ;;;CAGb,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAEtD,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMethodsReference.d.ts","sourceRoot":"","sources":["../../src/utils/updateMethodsReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D,wBAAgB,sBAAsB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EAEjC,YAAY,EAAE,KAAK,CAAC,SAAS,CAC3B,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,SAAS,CACtE,
|
|
1
|
+
{"version":3,"file":"updateMethodsReference.d.ts","sourceRoot":"","sources":["../../src/utils/updateMethodsReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D,wBAAgB,sBAAsB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EAEjC,YAAY,EAAE,KAAK,CAAC,SAAS,CAC3B,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,SAAS,CACtE,QASF"}
|
package/dist/watch.d.ts
CHANGED
|
@@ -1,27 +1,15 @@
|
|
|
1
1
|
import type { FieldPath, FieldValues, WatchProps } from './types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Component wrapper around `useWatch`. Re-renders only when watched fields change.
|
|
4
4
|
*
|
|
5
|
-
* @
|
|
6
|
-
* @param name - Can be field name, array of field names, or undefined to watch the entire form
|
|
7
|
-
* @param disabled - Disable subscription
|
|
8
|
-
* @param exact - Whether to watch exact field names or not
|
|
9
|
-
* @param defaultValue - The default value to use if the field is not yet set
|
|
10
|
-
* @param compute - Function to compute derived values from watched fields
|
|
11
|
-
* @param render - The function that receives watched values and returns ReactNode
|
|
12
|
-
* @returns The result of calling render function with watched values
|
|
5
|
+
* @see [API](https://react-hook-form.com/docs/usewatch)
|
|
13
6
|
*
|
|
14
7
|
* @example
|
|
15
|
-
* The `Watch` component only re-render when the values of `foo`, `bar`, and `baz.qux` change.
|
|
16
|
-
* The types of `foo`, `bar`, and `baz.qux` are precisely inferred.
|
|
17
|
-
*
|
|
18
8
|
* ```tsx
|
|
19
|
-
* const { control } = useForm();
|
|
20
|
-
*
|
|
21
9
|
* <Watch
|
|
22
10
|
* control={control}
|
|
23
|
-
* names={[
|
|
24
|
-
* render={([foo, bar
|
|
11
|
+
* names={["foo", "bar"]}
|
|
12
|
+
* render={([foo, bar]) => <span>{foo} {bar}</span>}
|
|
25
13
|
* />
|
|
26
14
|
* ```
|
|
27
15
|
*/
|
package/dist/watch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,UAAU,EAEX,MAAM,SAAS,CAAC;AAGjB
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,UAAU,EAEX,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,GAChB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SACN,SAAS,CAAC,YAAY,CAAC,GACvB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,GAChE,SAAS,CAAC,YAAY,CAAC,EAAE,GACzB,SAAS,SAAS,CAAC,YAAY,CAAC,EAAE,GAClC,SAAS,GAAG,SAAS,EACzB,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EACjC,aAAa,GAAG,SAAS,EAEzB,OAAO,UAAU,CACf,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,aAAa,CACd,4DAQA,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-hook-form",
|
|
3
3
|
"description": "Performant, flexible and extensible forms library for React Hooks",
|
|
4
|
-
"version": "8.0.0-beta.
|
|
4
|
+
"version": "8.0.0-beta.4",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.esm.mjs",
|
|
7
7
|
"umd:main": "dist/index.umd.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
|
-
"clean": "
|
|
27
|
+
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true, maxRetries: 3, retryDelay: 100 })\"",
|
|
28
28
|
"prepare": "husky",
|
|
29
29
|
"prebuild": "pnpm clean",
|
|
30
30
|
"build": "pnpm build:modern",
|
|
@@ -36,25 +36,21 @@
|
|
|
36
36
|
"lint": "eslint . --cache",
|
|
37
37
|
"lint:fix": "pnpm lint --fix",
|
|
38
38
|
"type": "tsc --noEmit",
|
|
39
|
-
"jest-preview": "jest-preview",
|
|
40
39
|
"test": "jest --config ./scripts/jest/jest.config.js",
|
|
41
40
|
"test:react-compiler": "jest --config ./scripts/jest/jest-react-compiler.config.js --onlyChanged --watch",
|
|
42
41
|
"test:coverage": "pnpm test --coverage",
|
|
43
42
|
"test:watch": "pnpm test --onlyChanged --watch",
|
|
44
43
|
"test:web": "TEST_ENV=web pnpm test",
|
|
45
44
|
"test:type": "tsc -p src/__typetest__/tsconfig.json",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"e2e": "cypress run",
|
|
49
|
-
"e2e:watch": "cypress open",
|
|
45
|
+
"e2e": "playwright test",
|
|
46
|
+
"e2e:watch": "playwright test --ui",
|
|
50
47
|
"api-extractor": "api-extractor run --local",
|
|
51
48
|
"api-extractor:build": "pnpm build:esm && pnpm api-extractor",
|
|
52
49
|
"api-extractor:ci": "node scripts/apiExtractor.js",
|
|
53
50
|
"postversion": "git push && git push origin v$npm_package_version",
|
|
54
51
|
"prepublishOnly": "pnpm install && pnpm lint:fix && pnpm type && pnpm test && pnpm build",
|
|
55
52
|
"bundlewatch": "pnpm build:modern && bundlewatch",
|
|
56
|
-
"start": "pnpm build:esm &&
|
|
57
|
-
"csb:install": "npm i -g pnpm@8 && pnpm i"
|
|
53
|
+
"start": "pnpm build:esm && cd ./app && pnpm install && pnpm run dev"
|
|
58
54
|
},
|
|
59
55
|
"keywords": [
|
|
60
56
|
"react",
|
|
@@ -76,6 +72,7 @@
|
|
|
76
72
|
"devDependencies": {
|
|
77
73
|
"@eslint/compat": "^1.4.1",
|
|
78
74
|
"@microsoft/api-extractor": "^7.58.9",
|
|
75
|
+
"@playwright/test": "^1.61.1",
|
|
79
76
|
"@rollup/plugin-commonjs": "^28.0.9",
|
|
80
77
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
81
78
|
"@babel/preset-env": "^7.25.7",
|
|
@@ -92,10 +89,9 @@
|
|
|
92
89
|
"@types/react": "^19.2.17",
|
|
93
90
|
"@types/react-dom": "^19.2.3",
|
|
94
91
|
"bundlewatch": "^0.4.2",
|
|
95
|
-
"cypress": "^15.17.0",
|
|
96
92
|
"eslint": "^9.39.4",
|
|
97
93
|
"eslint-config-prettier": "^10.1.8",
|
|
98
|
-
"eslint-plugin-
|
|
94
|
+
"eslint-plugin-playwright": "^2.10.5",
|
|
99
95
|
"eslint-plugin-prettier": "^5.5.6",
|
|
100
96
|
"eslint-plugin-react": "^7.37.5",
|
|
101
97
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
@@ -104,15 +100,12 @@
|
|
|
104
100
|
"jest": "^30.4.2",
|
|
105
101
|
"jest-environment-jsdom": "^30.4.1",
|
|
106
102
|
"jest-fixed-jsdom": "^0.0.10",
|
|
107
|
-
"jest-preview": "^0.3.3",
|
|
108
103
|
"lint-staged": "^16.4.0",
|
|
109
104
|
"prettier": "^3.8.4",
|
|
110
105
|
"react": "^19.2.7",
|
|
111
106
|
"react-dom": "^19.2.7",
|
|
112
|
-
"rimraf": "^6.1.3",
|
|
113
107
|
"rollup": "^4.62.0",
|
|
114
108
|
"rollup-plugin-typescript2": "^0.36.0",
|
|
115
|
-
"tinybench": "^6.0.2",
|
|
116
109
|
"tsx": "^4.22.4",
|
|
117
110
|
"typescript": "^6.0.3",
|
|
118
111
|
"typescript-eslint": "^8.61.1",
|
|
@@ -124,13 +117,19 @@
|
|
|
124
117
|
"files": [
|
|
125
118
|
{
|
|
126
119
|
"path": "./dist/index.cjs.js",
|
|
127
|
-
"maxSize": "
|
|
120
|
+
"maxSize": "15.0 kB"
|
|
128
121
|
}
|
|
129
122
|
]
|
|
130
123
|
},
|
|
131
124
|
"peerDependencies": {
|
|
125
|
+
"@types/react": "*",
|
|
132
126
|
"react": "^16.8.0 || ^17 || ^18 || ^19"
|
|
133
127
|
},
|
|
128
|
+
"peerDependenciesMeta": {
|
|
129
|
+
"@types/react": {
|
|
130
|
+
"optional": true
|
|
131
|
+
}
|
|
132
|
+
},
|
|
134
133
|
"lint-staged": {
|
|
135
134
|
"*.{js,ts,tsx}": [
|
|
136
135
|
"pnpm lint:fix",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { FieldValues, UseFormStateProps, UseFormStateReturn } from './types';
|
|
3
|
-
export type FormStateSubscribeProps<TFieldValues extends FieldValues, TTransformedValues = TFieldValues> = UseFormStateProps<TFieldValues, TTransformedValues> & {
|
|
4
|
-
render: (values: UseFormStateReturn<TFieldValues>) => ReactNode;
|
|
5
|
-
};
|
|
6
|
-
export declare const FormStateSubscribe: <TFieldValues extends FieldValues, TTransformedValues = TFieldValues>({ control, disabled, exact, name, render, }: FormStateSubscribeProps<TFieldValues, TTransformedValues>) => ReactNode;
|
|
7
|
-
//# sourceMappingURL=formStateSubscribe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formStateSubscribe.d.ts","sourceRoot":"","sources":["../src/formStateSubscribe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,uBAAuB,CACjC,YAAY,SAAS,WAAW,EAChC,kBAAkB,GAAG,YAAY,IAC/B,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAC,GAAG;IACxD,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC;CACjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,SAAS,WAAW,EAChC,kBAAkB,GAAG,YAAY,EACjC,6CAMC,uBAAuB,CAAC,YAAY,EAAE,kBAAkB,CAAC,cACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getNodeParentName.d.ts","sourceRoot":"","sources":["../../src/logic/getNodeParentName.ts"],"names":[],"mappings":"yBAEgB,MAAM,MAAM;AAA5B,wBACyD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/utils/deepMerge.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAC9B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAmB7B"}
|