react-hook-form 8.0.0-beta.2 → 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.
Files changed (121) hide show
  1. package/README.md +8 -20
  2. package/dist/constants.d.ts +2 -0
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/controller.d.ts +8 -37
  5. package/dist/controller.d.ts.map +1 -1
  6. package/dist/errorMessage.d.ts +27 -0
  7. package/dist/errorMessage.d.ts.map +1 -0
  8. package/dist/fieldArray.d.ts +37 -0
  9. package/dist/fieldArray.d.ts.map +1 -0
  10. package/dist/form.d.ts +8 -17
  11. package/dist/form.d.ts.map +1 -1
  12. package/dist/formState.d.ts +12 -0
  13. package/dist/formState.d.ts.map +1 -0
  14. package/dist/index.cjs.js +1 -1
  15. package/dist/index.cjs.js.map +1 -1
  16. package/dist/index.d.ts +4 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.esm.mjs +2952 -2347
  19. package/dist/index.esm.mjs.map +1 -1
  20. package/dist/index.umd.js +1 -1
  21. package/dist/index.umd.js.map +1 -1
  22. package/dist/logic/collectDirtyFieldNames.d.ts +3 -0
  23. package/dist/logic/collectDirtyFieldNames.d.ts.map +1 -0
  24. package/dist/logic/createFormControl.d.ts.map +1 -1
  25. package/dist/logic/generateId.d.ts.map +1 -1
  26. package/dist/logic/getCheckboxValue.d.ts.map +1 -1
  27. package/dist/logic/getDirtyFields.d.ts +3 -2
  28. package/dist/logic/getDirtyFields.d.ts.map +1 -1
  29. package/dist/logic/getEventValue.d.ts.map +1 -1
  30. package/dist/logic/{getFieldArrayParentNames.d.ts → getFieldArrayItemNames.d.ts} +1 -1
  31. package/dist/logic/getFieldArrayItemNames.d.ts.map +1 -0
  32. package/dist/logic/getFieldValue.d.ts.map +1 -1
  33. package/dist/logic/getNullAncestorValue.d.ts +5 -0
  34. package/dist/logic/getNullAncestorValue.d.ts.map +1 -0
  35. package/dist/logic/getProxyFormState.d.ts +1 -1
  36. package/dist/logic/getProxyFormState.d.ts.map +1 -1
  37. package/dist/logic/getResolverOptions.d.ts +1 -0
  38. package/dist/logic/getResolverOptions.d.ts.map +1 -1
  39. package/dist/logic/getValueAndMessage.d.ts +1 -4
  40. package/dist/logic/getValueAndMessage.d.ts.map +1 -1
  41. package/dist/logic/hasPromiseValidation.d.ts.map +1 -1
  42. package/dist/logic/hasValidation.d.ts +1 -1
  43. package/dist/logic/hasValidation.d.ts.map +1 -1
  44. package/dist/logic/index.d.ts +2 -3
  45. package/dist/logic/index.d.ts.map +1 -1
  46. package/dist/logic/isNameInFieldArray.d.ts +4 -0
  47. package/dist/logic/isNameInFieldArray.d.ts.map +1 -0
  48. package/dist/logic/isWatched.d.ts.map +1 -1
  49. package/dist/logic/iterateFieldsByAction.d.ts +1 -1
  50. package/dist/logic/iterateFieldsByAction.d.ts.map +1 -1
  51. package/dist/logic/schemaErrorLookup.d.ts.map +1 -1
  52. package/dist/logic/shouldRenderFormState.d.ts.map +1 -1
  53. package/dist/logic/skipValidation.d.ts +1 -4
  54. package/dist/logic/skipValidation.d.ts.map +1 -1
  55. package/dist/logic/unsetEmptyArray.d.ts +1 -1
  56. package/dist/logic/unsetEmptyArray.d.ts.map +1 -1
  57. package/dist/logic/updateFieldArrayRootError.d.ts.map +1 -1
  58. package/dist/logic/validateField.d.ts.map +1 -1
  59. package/dist/react-server.esm.mjs +767 -340
  60. package/dist/react-server.esm.mjs.map +1 -1
  61. package/dist/types/errors.d.ts +9 -4
  62. package/dist/types/errors.d.ts.map +1 -1
  63. package/dist/types/fieldArray.d.ts +25 -1
  64. package/dist/types/fieldArray.d.ts.map +1 -1
  65. package/dist/types/fields.d.ts +1 -0
  66. package/dist/types/fields.d.ts.map +1 -1
  67. package/dist/types/form.d.ts +152 -57
  68. package/dist/types/form.d.ts.map +1 -1
  69. package/dist/types/path/common.d.ts +6 -0
  70. package/dist/types/path/common.d.ts.map +1 -1
  71. package/dist/types/path/eager.d.ts +16 -12
  72. package/dist/types/path/eager.d.ts.map +1 -1
  73. package/dist/types/utils.d.ts +30 -5
  74. package/dist/types/utils.d.ts.map +1 -1
  75. package/dist/types/validator.d.ts +1 -1
  76. package/dist/types/validator.d.ts.map +1 -1
  77. package/dist/types/watch.d.ts +1 -1
  78. package/dist/types/watch.d.ts.map +1 -1
  79. package/dist/useController.d.ts +5 -17
  80. package/dist/useController.d.ts.map +1 -1
  81. package/dist/useFieldArray.d.ts +5 -30
  82. package/dist/useFieldArray.d.ts.map +1 -1
  83. package/dist/useForm.d.ts +7 -22
  84. package/dist/useForm.d.ts.map +1 -1
  85. package/dist/useFormContext.d.ts +11 -47
  86. package/dist/useFormContext.d.ts.map +1 -1
  87. package/dist/useFormState.d.ts +4 -23
  88. package/dist/useFormState.d.ts.map +1 -1
  89. package/dist/useIsomorphicLayoutEffect.d.ts.map +1 -1
  90. package/dist/useResyncOnReconnect.d.ts +5 -0
  91. package/dist/useResyncOnReconnect.d.ts.map +1 -0
  92. package/dist/useWatch.d.ts +7 -140
  93. package/dist/useWatch.d.ts.map +1 -1
  94. package/dist/utils/cloneObject.d.ts.map +1 -1
  95. package/dist/utils/deepEqual.d.ts +1 -1
  96. package/dist/utils/deepEqual.d.ts.map +1 -1
  97. package/dist/utils/flatten.d.ts.map +1 -1
  98. package/dist/utils/formData.d.ts +3 -0
  99. package/dist/utils/formData.d.ts.map +1 -0
  100. package/dist/utils/get.d.ts.map +1 -1
  101. package/dist/utils/has.d.ts +3 -0
  102. package/dist/utils/has.d.ts.map +1 -0
  103. package/dist/utils/index.d.ts +2 -3
  104. package/dist/utils/index.d.ts.map +1 -1
  105. package/dist/utils/isKey.d.ts.map +1 -1
  106. package/dist/utils/json.d.ts +9 -0
  107. package/dist/utils/json.d.ts.map +1 -0
  108. package/dist/utils/set.d.ts.map +1 -1
  109. package/dist/utils/stringToPath.d.ts.map +1 -1
  110. package/dist/utils/unset.d.ts.map +1 -1
  111. package/dist/utils/updateMethodsReference.d.ts.map +1 -1
  112. package/dist/watch.d.ts +4 -16
  113. package/dist/watch.d.ts.map +1 -1
  114. package/package.json +30 -27
  115. package/dist/formStateSubscribe.d.ts +0 -7
  116. package/dist/formStateSubscribe.d.ts.map +0 -1
  117. package/dist/logic/getFieldArrayParentNames.d.ts.map +0 -1
  118. package/dist/logic/getNodeParentName.d.ts +0 -3
  119. package/dist/logic/getNodeParentName.d.ts.map +0 -1
  120. package/dist/utils/deepMerge.d.ts +0 -2
  121. package/dist/utils/deepMerge.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../src/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,yBAAyB,8BACmC,CAAC"}
1
+ {"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../src/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,yBAAyB,8BAEnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function useResyncOnReconnect<T>(getInitialValue?: () => T): {
2
+ resyncIfNeeded: (enabled: boolean, getCurrentValue: () => T, setValue: (value: T) => void) => void;
3
+ snapshot: (enabled: boolean, getCurrentValue: () => T) => void;
4
+ };
5
+ //# sourceMappingURL=useResyncOnReconnect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResyncOnReconnect.d.ts","sourceRoot":"","sources":["../src/useResyncOnReconnect.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC;8BAelD,OAAO,mBACC,MAAM,CAAC,YACd,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI;wBAoBpB,OAAO,mBAAmB,MAAM,CAAC;EAS9C"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"useWatch.d.ts","sourceRoot":"","sources":["../src/useWatch.ts"],"names":[],"mappings":"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"}
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":"AAIA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA2BjD"}
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: any, object2: any, visited?: WeakSet<WeakKey>): boolean;
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":"AAIA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,OAAO,mBAAgB,WAmDxB"}
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;AAI5C,eAAO,MAAM,OAAO,GAAI,KAAK,WAAW,gBAgBvC,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,3 @@
1
+ declare function jsonToFormData(json: any): FormData;
2
+ export { jsonToFormData };
3
+ //# sourceMappingURL=formData.d.ts.map
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/utils/get.ts"],"names":[],"mappings":"yBAMgB,CAAC,EACf,QAAQ,CAAC,EACT,OAAO,MAAM,GAAG,IAAI,EACpB,eAAe,OAAO,KACrB,GAAG;AAJN,wBAoBE"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/utils/get.ts"],"names":[],"mappings":"yBAQgB,CAAC,EACf,QAAQ,CAAC,EACT,OAAO,MAAM,GAAG,IAAI,EACpB,eAAe,OAAO,KACrB,GAAG;AAJN,wBAuBE"}
@@ -0,0 +1,3 @@
1
+ declare const _default: <T>(object: T, path?: string | null) => boolean;
2
+ export default _default;
3
+ //# sourceMappingURL=has.d.ts.map
@@ -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"}
@@ -1,4 +1,3 @@
1
- import get from './get';
2
- import set from './set';
3
- export { get, set };
1
+ export { default as get } from './get';
2
+ export { default as set } from './set';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"isKey.d.ts","sourceRoot":"","sources":["../../src/utils/isKey.ts"],"names":[],"mappings":"yBAAgB,OAAO,MAAM;AAA7B,wBAAsD"}
1
+ {"version":3,"file":"isKey.d.ts","sourceRoot":"","sources":["../../src/utils/isKey.ts"],"names":[],"mappings":"yBAEgB,OAAO,MAAM;AAA7B,wBAAwD"}
@@ -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":"set.d.ts","sourceRoot":"","sources":["../../src/utils/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;yBAOrD,QAAQ,WAAW,EACnB,MAAM,SAAS,CAAC,WAAW,CAAC,EAC5B,QAAQ,OAAO;AAHjB,wBA+BE"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/utils/set.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;yBAOrD,QAAQ,WAAW,EACnB,MAAM,SAAS,CAAC,WAAW,CAAC,EAC5B,QAAQ,OAAO;AAHjB,wBA+BE"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringToPath.d.ts","sourceRoot":"","sources":["../../src/utils/stringToPath.ts"],"names":[],"mappings":"yBAEgB,OAAO,MAAM,KAAG,MAAM,EAAE;AAAxC,wBACyD"}
1
+ {"version":3,"file":"stringToPath.d.ts","sourceRoot":"","sources":["../../src/utils/stringToPath.ts"],"names":[],"mappings":"yBAEgB,OAAO,MAAM,KAAG,MAAM,EAAE;AAAxC,wBAC6C"}
@@ -1 +1 @@
1
- {"version":3,"file":"unset.d.ts","sourceRoot":"","sources":["../../src/utils/unset.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,OA8B5E"}
1
+ {"version":3,"file":"unset.d.ts","sourceRoot":"","sources":["../../src/utils/unset.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,OAgC5E"}
@@ -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,QAUF"}
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
- * Watch component that subscribes to form field changes and re-renders when watched fields update.
3
+ * Component wrapper around `useWatch`. Re-renders only when watched fields change.
4
4
  *
5
- * @param control - The form control object from useForm
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={['foo', 'bar', 'baz.qux']}
24
- * render={([foo, bar, baz_qux]) => <div>{foo}{bar}{baz_qux}</div>}
11
+ * names={["foo", "bar"]}
12
+ * render={([foo, bar]) => <span>{foo} {bar}</span>}
25
13
  * />
26
14
  * ```
27
15
  */
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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"}
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.2",
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": "rimraf dist",
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,23 +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
- "e2e": "cypress run",
47
- "e2e:watch": "cypress open",
45
+ "e2e": "playwright test",
46
+ "e2e:watch": "playwright test --ui",
48
47
  "api-extractor": "api-extractor run --local",
49
48
  "api-extractor:build": "pnpm build:esm && pnpm api-extractor",
50
49
  "api-extractor:ci": "node scripts/apiExtractor.js",
51
50
  "postversion": "git push && git push origin v$npm_package_version",
52
51
  "prepublishOnly": "pnpm install && pnpm lint:fix && pnpm type && pnpm test && pnpm build",
53
52
  "bundlewatch": "pnpm build:modern && bundlewatch",
54
- "start": "pnpm build:esm && pnpm --dir ./app install && pnpm --dir ./app run dev",
55
- "csb:install": "npm i -g pnpm@8 && pnpm i"
53
+ "start": "pnpm build:esm && cd ./app && pnpm install && pnpm run dev"
56
54
  },
57
55
  "keywords": [
58
56
  "react",
@@ -73,7 +71,8 @@
73
71
  "license": "MIT",
74
72
  "devDependencies": {
75
73
  "@eslint/compat": "^1.4.1",
76
- "@microsoft/api-extractor": "^7.57.7",
74
+ "@microsoft/api-extractor": "^7.58.9",
75
+ "@playwright/test": "^1.61.1",
77
76
  "@rollup/plugin-commonjs": "^28.0.9",
78
77
  "@rollup/plugin-node-resolve": "^16.0.3",
79
78
  "@babel/preset-env": "^7.25.7",
@@ -81,37 +80,35 @@
81
80
  "@babel/preset-typescript": "^7.25.7",
82
81
  "react-compiler-runtime": "^1.0.0",
83
82
  "@rollup/plugin-terser": "^0.4.4",
84
- "@swc/core": "^1.15.18",
83
+ "@swc/core": "^1.15.41",
85
84
  "@swc/jest": "^0.2.39",
86
85
  "@testing-library/jest-dom": "^6.9.1",
87
86
  "@testing-library/react": "^16.3.2",
88
87
  "@types/jest": "^30.0.0",
89
- "@types/node": "^25.5.0",
90
- "@types/react": "^19.2.14",
88
+ "@types/node": "^25.9.3",
89
+ "@types/react": "^19.2.17",
91
90
  "@types/react-dom": "^19.2.3",
92
- "bundlewatch": "^0.4.1",
93
- "cypress": "^15.14.1",
91
+ "bundlewatch": "^0.4.2",
94
92
  "eslint": "^9.39.4",
95
93
  "eslint-config-prettier": "^10.1.8",
96
- "eslint-plugin-cypress": "^5.3.0",
97
- "eslint-plugin-prettier": "^5.5.5",
94
+ "eslint-plugin-playwright": "^2.10.5",
95
+ "eslint-plugin-prettier": "^5.5.6",
98
96
  "eslint-plugin-react": "^7.37.5",
99
- "eslint-plugin-react-hooks": "^7.0.1",
97
+ "eslint-plugin-react-hooks": "^7.1.1",
100
98
  "eslint-plugin-simple-import-sort": "^12.1.1",
101
99
  "husky": "^9.1.7",
102
- "jest": "^30.3.0",
103
- "jest-environment-jsdom": "^30.3.0",
100
+ "jest": "^30.4.2",
101
+ "jest-environment-jsdom": "^30.4.1",
104
102
  "jest-fixed-jsdom": "^0.0.10",
105
- "jest-preview": "^0.3.3",
106
103
  "lint-staged": "^16.4.0",
107
- "prettier": "^3.8.1",
108
- "react": "^19.2.4",
109
- "react-dom": "^19.2.4",
110
- "rimraf": "^6.1.3",
111
- "rollup": "^4.60.0",
104
+ "prettier": "^3.8.4",
105
+ "react": "^19.2.7",
106
+ "react-dom": "^19.2.7",
107
+ "rollup": "^4.62.0",
112
108
  "rollup-plugin-typescript2": "^0.36.0",
113
- "typescript": "^6.0.2",
114
- "typescript-eslint": "^8.57.1",
109
+ "tsx": "^4.22.4",
110
+ "typescript": "^6.0.3",
111
+ "typescript-eslint": "^8.61.1",
115
112
  "whatwg-fetch": "^3.6.20",
116
113
  "zod": "^3.25.76",
117
114
  "babel-plugin-react-compiler": "^1.0.0"
@@ -120,13 +117,19 @@
120
117
  "files": [
121
118
  {
122
119
  "path": "./dist/index.cjs.js",
123
- "maxSize": "12.5 kB"
120
+ "maxSize": "15.0 kB"
124
121
  }
125
122
  ]
126
123
  },
127
124
  "peerDependencies": {
125
+ "@types/react": "*",
128
126
  "react": "^16.8.0 || ^17 || ^18 || ^19"
129
127
  },
128
+ "peerDependenciesMeta": {
129
+ "@types/react": {
130
+ "optional": true
131
+ }
132
+ },
130
133
  "lint-staged": {
131
134
  "*.{js,ts,tsx}": [
132
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":"getFieldArrayParentNames.d.ts","sourceRoot":"","sources":["../../src/logic/getFieldArrayParentNames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;yBAElC,OAAO,GAAG,CAAC,iBAAiB,CAAC,EAAE,MAAM,iBAAiB;AAAtE,wBAUE"}
@@ -1,3 +0,0 @@
1
- declare const _default: (name: string) => string;
2
- export default _default;
3
- //# sourceMappingURL=getNodeParentName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNodeParentName.d.ts","sourceRoot":"","sources":["../../src/logic/getNodeParentName.ts"],"names":[],"mappings":"yBAAgB,MAAM,MAAM;AAA5B,wBACwD"}
@@ -1,2 +0,0 @@
1
- export default function deepMerge<T extends Record<keyof T, any>, U extends Record<keyof U, any>>(target: T, source: U): T & U;
2
- //# sourceMappingURL=deepMerge.d.ts.map
@@ -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"}