react-hook-form 7.44.0-rc.0 → 7.44.0-rc.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.
Files changed (163) hide show
  1. package/README.md +3 -0
  2. package/dist/__tests__/controller.server.test.d.ts +1 -1
  3. package/dist/__tests__/controller.test.d.ts +1 -1
  4. package/dist/__tests__/form.test.d.ts +1 -1
  5. package/dist/__tests__/logic/validateField.test.d.ts +1 -1
  6. package/dist/__tests__/type.test.d.ts +1 -1
  7. package/dist/__tests__/useController.test.d.ts +1 -1
  8. package/dist/__tests__/useFieldArray/append.test.d.ts +1 -1
  9. package/dist/__tests__/useFieldArray/focus.test.d.ts +1 -1
  10. package/dist/__tests__/useFieldArray/insert.test.d.ts +1 -1
  11. package/dist/__tests__/useFieldArray/move.test.d.ts +1 -1
  12. package/dist/__tests__/useFieldArray/prepend.test.d.ts +1 -1
  13. package/dist/__tests__/useFieldArray/remove.test.d.ts +1 -1
  14. package/dist/__tests__/useFieldArray/replace.test.d.ts +1 -1
  15. package/dist/__tests__/useFieldArray/swap.test.d.ts +1 -1
  16. package/dist/__tests__/useFieldArray/update.test.d.ts +1 -1
  17. package/dist/__tests__/useFieldArray.test.d.ts +1 -1
  18. package/dist/__tests__/useForm/clearErrors.test.d.ts +1 -1
  19. package/dist/__tests__/useForm/formState.test.d.ts +1 -1
  20. package/dist/__tests__/useForm/getFieldState.test.d.ts +1 -1
  21. package/dist/__tests__/useForm/getValues.test.d.ts +1 -1
  22. package/dist/__tests__/useForm/handleSubmit.test.d.ts +1 -1
  23. package/dist/__tests__/useForm/register.test.d.ts +1 -1
  24. package/dist/__tests__/useForm/reset.test.d.ts +1 -1
  25. package/dist/__tests__/useForm/resetField.test.d.ts +1 -1
  26. package/dist/__tests__/useForm/resolver.test.d.ts +1 -1
  27. package/dist/__tests__/useForm/setError.test.d.ts +1 -1
  28. package/dist/__tests__/useForm/setValue.test.d.ts +1 -1
  29. package/dist/__tests__/useForm/trigger.test.d.ts +1 -1
  30. package/dist/__tests__/useForm/unregister.test.d.ts +1 -1
  31. package/dist/__tests__/useForm/watch.test.d.ts +1 -1
  32. package/dist/__tests__/useForm.server.test.d.ts +1 -1
  33. package/dist/__tests__/useForm.test.d.ts +1 -1
  34. package/dist/__tests__/useFormContext.server.test.d.ts +1 -1
  35. package/dist/__tests__/useFormContext.test.d.ts +1 -1
  36. package/dist/__tests__/useFormState.test.d.ts +1 -1
  37. package/dist/__tests__/useWatch.test.d.ts +1 -1
  38. package/dist/__typetest__/__fixtures__/index.d.ts +4 -4
  39. package/dist/__typetest__/__fixtures__/pathString.d.ts +3 -3
  40. package/dist/__typetest__/__fixtures__/traversable.d.ts +13 -13
  41. package/dist/__typetest__/__fixtures__/tuple.d.ts +14 -14
  42. package/dist/__typetest__/__fixtures__/type.d.ts +11 -11
  43. package/dist/__typetest__/errors.test-d.d.ts +1 -1
  44. package/dist/__typetest__/form.test-d.d.ts +1 -1
  45. package/dist/__typetest__/path/common.test-d.d.ts +1 -1
  46. package/dist/__typetest__/path/eager.test-d.d.ts +1 -1
  47. package/dist/__typetest__/util.test-d.d.ts +1 -1
  48. package/dist/constants.d.ts +16 -16
  49. package/dist/controller.d.ts +46 -46
  50. package/dist/controller.d.ts.map +1 -1
  51. package/dist/form.d.ts +59 -59
  52. package/dist/form.d.ts.map +1 -1
  53. package/dist/index.cjs.js +1 -1
  54. package/dist/index.cjs.js.map +1 -1
  55. package/dist/index.d.ts +11 -11
  56. package/dist/index.esm.mjs +2267 -2257
  57. package/dist/index.esm.mjs.map +1 -1
  58. package/dist/index.umd.js +1 -1
  59. package/dist/index.umd.js.map +1 -1
  60. package/dist/logic/appendErrors.d.ts +3 -3
  61. package/dist/logic/createFormControl.d.ts +26 -26
  62. package/dist/logic/createFormControl.d.ts.map +1 -1
  63. package/dist/logic/focusFieldBy.d.ts +3 -3
  64. package/dist/logic/generateId.d.ts +2 -2
  65. package/dist/logic/generateWatchOutput.d.ts +3 -3
  66. package/dist/logic/getCheckboxValue.d.ts +6 -6
  67. package/dist/logic/getDirtyFields.d.ts +2 -2
  68. package/dist/logic/getEventValue.d.ts +2 -2
  69. package/dist/logic/getFieldValue.d.ts +2 -2
  70. package/dist/logic/getFieldValueAs.d.ts +3 -3
  71. package/dist/logic/getFocusFieldName.d.ts +3 -3
  72. package/dist/logic/getNodeParentName.d.ts +2 -2
  73. package/dist/logic/getProxyFormState.d.ts +3 -3
  74. package/dist/logic/getRadioValue.d.ts +6 -6
  75. package/dist/logic/getResolverOptions.d.ts +13 -13
  76. package/dist/logic/getRuleValue.d.ts +3 -3
  77. package/dist/logic/getValidateError.d.ts +2 -2
  78. package/dist/logic/getValidationModes.d.ts +9 -9
  79. package/dist/logic/getValueAndMessage.d.ts +6 -6
  80. package/dist/logic/hasValidation.d.ts +3 -3
  81. package/dist/logic/index.d.ts +2 -2
  82. package/dist/logic/isNameInFieldArray.d.ts +3 -3
  83. package/dist/logic/isWatched.d.ts +3 -3
  84. package/dist/logic/schemaErrorLookup.d.ts +5 -5
  85. package/dist/logic/shouldRenderFormState.d.ts +5 -5
  86. package/dist/logic/shouldSubscribeByName.d.ts +2 -2
  87. package/dist/logic/skipValidation.d.ts +11 -11
  88. package/dist/logic/unsetEmptyArray.d.ts +2 -2
  89. package/dist/logic/updateFieldArrayRootError.d.ts +3 -3
  90. package/dist/logic/validateField.d.ts +3 -3
  91. package/dist/types/controller.d.ts +56 -56
  92. package/dist/types/errors.d.ts +35 -35
  93. package/dist/types/events.d.ts +1 -1
  94. package/dist/types/fieldArray.d.ts +194 -194
  95. package/dist/types/fields.d.ts +28 -28
  96. package/dist/types/form.d.ts +631 -630
  97. package/dist/types/form.d.ts.map +1 -1
  98. package/dist/types/index.d.ts +10 -10
  99. package/dist/types/path/common.d.ts +315 -315
  100. package/dist/types/path/eager.d.ts +120 -120
  101. package/dist/types/path/index.d.ts +3 -3
  102. package/dist/types/resolvers.d.ts +19 -19
  103. package/dist/types/utils.d.ts +70 -70
  104. package/dist/types/validator.d.ts +38 -38
  105. package/dist/types/validator.d.ts.map +1 -1
  106. package/dist/useController.d.ts +26 -26
  107. package/dist/useController.d.ts.map +1 -1
  108. package/dist/useFieldArray.d.ts +39 -39
  109. package/dist/useFieldArray.d.ts.map +1 -1
  110. package/dist/useForm.d.ts +31 -31
  111. package/dist/useForm.d.ts.map +1 -1
  112. package/dist/useFormContext.d.ts +64 -64
  113. package/dist/useFormContext.d.ts.map +1 -1
  114. package/dist/useFormState.d.ts +33 -33
  115. package/dist/useFormState.d.ts.map +1 -1
  116. package/dist/useSubscribe.d.ts +8 -8
  117. package/dist/useWatch.d.ts +99 -99
  118. package/dist/utils/append.d.ts +1 -1
  119. package/dist/utils/cloneObject.d.ts +1 -1
  120. package/dist/utils/compact.d.ts +2 -2
  121. package/dist/utils/convertToArrayPayload.d.ts +2 -2
  122. package/dist/utils/createSubject.d.ts +13 -13
  123. package/dist/utils/deepEqual.d.ts +1 -1
  124. package/dist/utils/deepMerge.d.ts +1 -1
  125. package/dist/utils/fillBooleanArray.d.ts +2 -2
  126. package/dist/utils/fillEmptyArray.d.ts +2 -2
  127. package/dist/utils/get.d.ts +2 -2
  128. package/dist/utils/index.d.ts +3 -3
  129. package/dist/utils/insert.d.ts +2 -2
  130. package/dist/utils/isBoolean.d.ts +2 -2
  131. package/dist/utils/isCheckBoxInput.d.ts +3 -3
  132. package/dist/utils/isDateObject.d.ts +2 -2
  133. package/dist/utils/isEmptyObject.d.ts +3 -3
  134. package/dist/utils/isFileInput.d.ts +3 -3
  135. package/dist/utils/isFunction.d.ts +2 -2
  136. package/dist/utils/isHTMLElement.d.ts +2 -2
  137. package/dist/utils/isKey.d.ts +2 -2
  138. package/dist/utils/isMessage.d.ts +2 -2
  139. package/dist/utils/isMultipleSelect.d.ts +3 -3
  140. package/dist/utils/isNullOrUndefined.d.ts +2 -2
  141. package/dist/utils/isObject.d.ts +3 -3
  142. package/dist/utils/isPlainObject.d.ts +2 -2
  143. package/dist/utils/isPrimitive.d.ts +3 -3
  144. package/dist/utils/isRadioInput.d.ts +3 -3
  145. package/dist/utils/isRadioOrCheckbox.d.ts +3 -3
  146. package/dist/utils/isRegex.d.ts +2 -2
  147. package/dist/utils/isSelectInput.d.ts +3 -3
  148. package/dist/utils/isString.d.ts +2 -2
  149. package/dist/utils/isUndefined.d.ts +2 -2
  150. package/dist/utils/isWeb.d.ts +2 -2
  151. package/dist/utils/live.d.ts +3 -3
  152. package/dist/utils/move.d.ts +2 -2
  153. package/dist/utils/objectHasFunction.d.ts +2 -2
  154. package/dist/utils/omit.d.ts +2 -2
  155. package/dist/utils/prepend.d.ts +1 -1
  156. package/dist/utils/remove.d.ts +2 -2
  157. package/dist/utils/set.d.ts +2 -2
  158. package/dist/utils/sleep.d.ts +1 -1
  159. package/dist/utils/stringToPath.d.ts +2 -2
  160. package/dist/utils/swap.d.ts +2 -2
  161. package/dist/utils/unset.d.ts +1 -1
  162. package/dist/utils/update.d.ts +2 -2
  163. package/package.json +9 -9
@@ -1,121 +1,121 @@
1
- import { FieldValues } from '../fields';
2
- import { BrowserNativeObject, IsAny, IsEqual, Primitive } from '../utils';
3
- import { ArrayKey, IsTuple, TupleKeys } from './common';
4
- /**
5
- * Helper function to break apart T1 and check if any are equal to T2
6
- *
7
- * See {@link IsEqual}
8
- */
9
- type AnyIsEqual<T1, T2> = T1 extends T2 ? IsEqual<T1, T2> extends true ? true : never : never;
10
- /**
11
- * Helper type for recursively constructing paths through a type.
12
- * This actually constructs the strings and recurses into nested
13
- * object types.
14
- *
15
- * See {@link Path}
16
- */
17
- type PathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? `${K}` : true extends AnyIsEqual<TraversedTypes, V> ? `${K}` : `${K}` | `${K}.${PathInternal<V, TraversedTypes | V>}`;
18
- /**
19
- * Helper type for recursively constructing paths through a type.
20
- * This obsucres the internal type param TraversedTypes from exported contract.
21
- *
22
- * See {@link Path}
23
- */
24
- type PathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? {
25
- [K in TupleKeys<T>]-?: PathImpl<K & string, T[K], TraversedTypes>;
26
- }[TupleKeys<T>] : PathImpl<ArrayKey, V, TraversedTypes> : {
27
- [K in keyof T]-?: PathImpl<K & string, T[K], TraversedTypes>;
28
- }[keyof T];
29
- /**
30
- * Type which eagerly collects all paths through a type
31
- * @typeParam T - type which should be introspected
32
- * @example
33
- * ```
34
- * Path<{foo: {bar: string}}> = 'foo' | 'foo.bar'
35
- * ```
36
- */
37
- export type Path<T> = T extends any ? PathInternal<T> : never;
38
- /**
39
- * See {@link Path}
40
- */
41
- export type FieldPath<TFieldValues extends FieldValues> = Path<TFieldValues>;
42
- /**
43
- * Helper type for recursively constructing paths through a type.
44
- * This actually constructs the strings and recurses into nested
45
- * object types.
46
- *
47
- * See {@link ArrayPath}
48
- */
49
- type ArrayPathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? IsAny<V> extends true ? string : never : V extends ReadonlyArray<infer U> ? U extends Primitive | BrowserNativeObject ? IsAny<V> extends true ? string : never : true extends AnyIsEqual<TraversedTypes, V> ? never : `${K}` | `${K}.${ArrayPathInternal<V, TraversedTypes | V>}` : true extends AnyIsEqual<TraversedTypes, V> ? never : `${K}.${ArrayPathInternal<V, TraversedTypes | V>}`;
50
- /**
51
- * Helper type for recursively constructing paths through a type.
52
- * This obsucres the internal type param TraversedTypes from exported contract.
53
- *
54
- * See {@link ArrayPath}
55
- */
56
- type ArrayPathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? {
57
- [K in TupleKeys<T>]-?: ArrayPathImpl<K & string, T[K], TraversedTypes>;
58
- }[TupleKeys<T>] : ArrayPathImpl<ArrayKey, V, TraversedTypes> : {
59
- [K in keyof T]-?: ArrayPathImpl<K & string, T[K], TraversedTypes>;
60
- }[keyof T];
61
- /**
62
- * Type which eagerly collects all paths through a type which point to an array
63
- * type.
64
- * @typeParam T - type which should be introspected.
65
- * @example
66
- * ```
67
- * Path<{foo: {bar: string[], baz: number[]}}> = 'foo.bar' | 'foo.baz'
68
- * ```
69
- */
70
- export type ArrayPath<T> = T extends any ? ArrayPathInternal<T> : never;
71
- /**
72
- * See {@link ArrayPath}
73
- */
74
- export type FieldArrayPath<TFieldValues extends FieldValues> = ArrayPath<TFieldValues>;
75
- /**
76
- * Type to evaluate the type which the given path points to.
77
- * @typeParam T - deeply nested type which is indexed by the path
78
- * @typeParam P - path into the deeply nested type
79
- * @example
80
- * ```
81
- * PathValue<{foo: {bar: string}}, 'foo.bar'> = string
82
- * PathValue<[number, string], '1'> = string
83
- * ```
84
- */
85
- export type PathValue<T, P extends Path<T> | ArrayPath<T>> = T extends any ? P extends `${infer K}.${infer R}` ? K extends keyof T ? R extends Path<T[K]> ? PathValue<T[K], R> : never : K extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? PathValue<V, R & Path<V>> : never : never : P extends keyof T ? T[P] : P extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? V : never : never : never;
86
- /**
87
- * See {@link PathValue}
88
- */
89
- export type FieldPathValue<TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>> = PathValue<TFieldValues, TFieldPath>;
90
- /**
91
- * See {@link PathValue}
92
- */
93
- export type FieldArrayPathValue<TFieldValues extends FieldValues, TFieldArrayPath extends FieldArrayPath<TFieldValues>> = PathValue<TFieldValues, TFieldArrayPath>;
94
- /**
95
- * Type to evaluate the type which the given paths point to.
96
- * @typeParam TFieldValues - field values which are indexed by the paths
97
- * @typeParam TPath - paths into the deeply nested field values
98
- * @example
99
- * ```
100
- * FieldPathValues<{foo: {bar: string}}, ['foo', 'foo.bar']>
101
- * = [{bar: string}, string]
102
- * ```
103
- */
104
- export type FieldPathValues<TFieldValues extends FieldValues, TPath extends FieldPath<TFieldValues>[] | readonly FieldPath<TFieldValues>[]> = {} & {
105
- [K in keyof TPath]: FieldPathValue<TFieldValues, TPath[K] & FieldPath<TFieldValues>>;
106
- };
107
- /**
108
- * Type which eagerly collects all paths through a fieldType that matches a give type
109
- * @typeParam TFieldValues - field values which are indexed by the paths
110
- * @typeParam TValue - the value you want to match into each type
111
- * @example
112
- * ```typescript
113
- * FieldPathByValue<{foo: {bar: number}, baz: number, bar: string}, number>
114
- * = 'foo.bar' | 'baz'
115
- * ```
116
- */
117
- export type FieldPathByValue<TFieldValues extends FieldValues, TValue> = {
118
- [Key in FieldPath<TFieldValues>]: FieldPathValue<TFieldValues, Key> extends TValue ? Key : never;
119
- }[FieldPath<TFieldValues>];
120
- export {};
1
+ import { FieldValues } from '../fields';
2
+ import { BrowserNativeObject, IsAny, IsEqual, Primitive } from '../utils';
3
+ import { ArrayKey, IsTuple, TupleKeys } from './common';
4
+ /**
5
+ * Helper function to break apart T1 and check if any are equal to T2
6
+ *
7
+ * See {@link IsEqual}
8
+ */
9
+ type AnyIsEqual<T1, T2> = T1 extends T2 ? IsEqual<T1, T2> extends true ? true : never : never;
10
+ /**
11
+ * Helper type for recursively constructing paths through a type.
12
+ * This actually constructs the strings and recurses into nested
13
+ * object types.
14
+ *
15
+ * See {@link Path}
16
+ */
17
+ type PathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? `${K}` : true extends AnyIsEqual<TraversedTypes, V> ? `${K}` : `${K}` | `${K}.${PathInternal<V, TraversedTypes | V>}`;
18
+ /**
19
+ * Helper type for recursively constructing paths through a type.
20
+ * This obscures the internal type param TraversedTypes from exported contract.
21
+ *
22
+ * See {@link Path}
23
+ */
24
+ type PathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? {
25
+ [K in TupleKeys<T>]-?: PathImpl<K & string, T[K], TraversedTypes>;
26
+ }[TupleKeys<T>] : PathImpl<ArrayKey, V, TraversedTypes> : {
27
+ [K in keyof T]-?: PathImpl<K & string, T[K], TraversedTypes>;
28
+ }[keyof T];
29
+ /**
30
+ * Type which eagerly collects all paths through a type
31
+ * @typeParam T - type which should be introspected
32
+ * @example
33
+ * ```
34
+ * Path<{foo: {bar: string}}> = 'foo' | 'foo.bar'
35
+ * ```
36
+ */
37
+ export type Path<T> = T extends any ? PathInternal<T> : never;
38
+ /**
39
+ * See {@link Path}
40
+ */
41
+ export type FieldPath<TFieldValues extends FieldValues> = Path<TFieldValues>;
42
+ /**
43
+ * Helper type for recursively constructing paths through a type.
44
+ * This actually constructs the strings and recurses into nested
45
+ * object types.
46
+ *
47
+ * See {@link ArrayPath}
48
+ */
49
+ type ArrayPathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? IsAny<V> extends true ? string : never : V extends ReadonlyArray<infer U> ? U extends Primitive | BrowserNativeObject ? IsAny<V> extends true ? string : never : true extends AnyIsEqual<TraversedTypes, V> ? never : `${K}` | `${K}.${ArrayPathInternal<V, TraversedTypes | V>}` : true extends AnyIsEqual<TraversedTypes, V> ? never : `${K}.${ArrayPathInternal<V, TraversedTypes | V>}`;
50
+ /**
51
+ * Helper type for recursively constructing paths through a type.
52
+ * This obscures the internal type param TraversedTypes from exported contract.
53
+ *
54
+ * See {@link ArrayPath}
55
+ */
56
+ type ArrayPathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? {
57
+ [K in TupleKeys<T>]-?: ArrayPathImpl<K & string, T[K], TraversedTypes>;
58
+ }[TupleKeys<T>] : ArrayPathImpl<ArrayKey, V, TraversedTypes> : {
59
+ [K in keyof T]-?: ArrayPathImpl<K & string, T[K], TraversedTypes>;
60
+ }[keyof T];
61
+ /**
62
+ * Type which eagerly collects all paths through a type which point to an array
63
+ * type.
64
+ * @typeParam T - type which should be introspected.
65
+ * @example
66
+ * ```
67
+ * Path<{foo: {bar: string[], baz: number[]}}> = 'foo.bar' | 'foo.baz'
68
+ * ```
69
+ */
70
+ export type ArrayPath<T> = T extends any ? ArrayPathInternal<T> : never;
71
+ /**
72
+ * See {@link ArrayPath}
73
+ */
74
+ export type FieldArrayPath<TFieldValues extends FieldValues> = ArrayPath<TFieldValues>;
75
+ /**
76
+ * Type to evaluate the type which the given path points to.
77
+ * @typeParam T - deeply nested type which is indexed by the path
78
+ * @typeParam P - path into the deeply nested type
79
+ * @example
80
+ * ```
81
+ * PathValue<{foo: {bar: string}}, 'foo.bar'> = string
82
+ * PathValue<[number, string], '1'> = string
83
+ * ```
84
+ */
85
+ export type PathValue<T, P extends Path<T> | ArrayPath<T>> = T extends any ? P extends `${infer K}.${infer R}` ? K extends keyof T ? R extends Path<T[K]> ? PathValue<T[K], R> : never : K extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? PathValue<V, R & Path<V>> : never : never : P extends keyof T ? T[P] : P extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? V : never : never : never;
86
+ /**
87
+ * See {@link PathValue}
88
+ */
89
+ export type FieldPathValue<TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>> = PathValue<TFieldValues, TFieldPath>;
90
+ /**
91
+ * See {@link PathValue}
92
+ */
93
+ export type FieldArrayPathValue<TFieldValues extends FieldValues, TFieldArrayPath extends FieldArrayPath<TFieldValues>> = PathValue<TFieldValues, TFieldArrayPath>;
94
+ /**
95
+ * Type to evaluate the type which the given paths point to.
96
+ * @typeParam TFieldValues - field values which are indexed by the paths
97
+ * @typeParam TPath - paths into the deeply nested field values
98
+ * @example
99
+ * ```
100
+ * FieldPathValues<{foo: {bar: string}}, ['foo', 'foo.bar']>
101
+ * = [{bar: string}, string]
102
+ * ```
103
+ */
104
+ export type FieldPathValues<TFieldValues extends FieldValues, TPath extends FieldPath<TFieldValues>[] | readonly FieldPath<TFieldValues>[]> = {} & {
105
+ [K in keyof TPath]: FieldPathValue<TFieldValues, TPath[K] & FieldPath<TFieldValues>>;
106
+ };
107
+ /**
108
+ * Type which eagerly collects all paths through a fieldType that matches a give type
109
+ * @typeParam TFieldValues - field values which are indexed by the paths
110
+ * @typeParam TValue - the value you want to match into each type
111
+ * @example
112
+ * ```typescript
113
+ * FieldPathByValue<{foo: {bar: number}, baz: number, bar: string}, number>
114
+ * = 'foo.bar' | 'baz'
115
+ * ```
116
+ */
117
+ export type FieldPathByValue<TFieldValues extends FieldValues, TValue> = {
118
+ [Key in FieldPath<TFieldValues>]: FieldPathValue<TFieldValues, Key> extends TValue ? Key : never;
119
+ }[FieldPath<TFieldValues>];
120
+ export {};
121
121
  //# sourceMappingURL=eager.d.ts.map
@@ -1,4 +1,4 @@
1
- /** Re-export public API */
2
- export { PathString } from './common';
3
- export { ArrayPath, FieldArrayPath, FieldArrayPathValue, FieldPath, FieldPathByValue, FieldPathValue, FieldPathValues, Path, PathValue, } from './eager';
1
+ /** Re-export public API */
2
+ export { PathString } from './common';
3
+ export { ArrayPath, FieldArrayPath, FieldArrayPathValue, FieldPath, FieldPathByValue, FieldPathValue, FieldPathValues, Path, PathValue, } from './eager';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,20 +1,20 @@
1
- import { FieldErrors } from './errors';
2
- import { Field, FieldName, FieldValues, InternalFieldName } from './fields';
3
- import { CriteriaMode } from './form';
4
- export type ResolverSuccess<TFieldValues extends FieldValues = FieldValues> = {
5
- values: TFieldValues;
6
- errors: {};
7
- };
8
- export type ResolverError<TFieldValues extends FieldValues = FieldValues> = {
9
- values: {};
10
- errors: FieldErrors<TFieldValues>;
11
- };
12
- export type ResolverResult<TFieldValues extends FieldValues = FieldValues> = ResolverSuccess<TFieldValues> | ResolverError<TFieldValues>;
13
- export interface ResolverOptions<TFieldValues extends FieldValues> {
14
- criteriaMode?: CriteriaMode;
15
- fields: Record<InternalFieldName, Field['_f']>;
16
- names?: FieldName<TFieldValues>[];
17
- shouldUseNativeValidation: boolean | undefined;
18
- }
19
- export type Resolver<TFieldValues extends FieldValues = FieldValues, TContext = any> = (values: TFieldValues, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>> | ResolverResult<TFieldValues>;
1
+ import { FieldErrors } from './errors';
2
+ import { Field, FieldName, FieldValues, InternalFieldName } from './fields';
3
+ import { CriteriaMode } from './form';
4
+ export type ResolverSuccess<TFieldValues extends FieldValues = FieldValues> = {
5
+ values: TFieldValues;
6
+ errors: {};
7
+ };
8
+ export type ResolverError<TFieldValues extends FieldValues = FieldValues> = {
9
+ values: {};
10
+ errors: FieldErrors<TFieldValues>;
11
+ };
12
+ export type ResolverResult<TFieldValues extends FieldValues = FieldValues> = ResolverSuccess<TFieldValues> | ResolverError<TFieldValues>;
13
+ export interface ResolverOptions<TFieldValues extends FieldValues> {
14
+ criteriaMode?: CriteriaMode;
15
+ fields: Record<InternalFieldName, Field['_f']>;
16
+ names?: FieldName<TFieldValues>[];
17
+ shouldUseNativeValidation: boolean | undefined;
18
+ }
19
+ export type Resolver<TFieldValues extends FieldValues = FieldValues, TContext = any> = (values: TFieldValues, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>> | ResolverResult<TFieldValues>;
20
20
  //# sourceMappingURL=resolvers.d.ts.map
@@ -1,71 +1,71 @@
1
- import { NestedValue } from './form';
2
- export type Noop = () => void;
3
- interface File extends Blob {
4
- readonly lastModified: number;
5
- readonly name: string;
6
- }
7
- interface FileList {
8
- readonly length: number;
9
- item(index: number): File | null;
10
- [index: number]: File;
11
- }
12
- export type Primitive = null | undefined | string | number | boolean | symbol | bigint;
13
- export type BrowserNativeObject = Date | FileList | File;
14
- export type EmptyObject = {
15
- [K in string | number]: never;
16
- };
17
- export type NonUndefined<T> = T extends undefined ? never : T;
18
- export type LiteralUnion<T extends U, U extends Primitive> = T | (U & {
19
- _?: never;
20
- });
21
- export type DeepPartial<T> = T extends BrowserNativeObject | NestedValue ? T : {
22
- [K in keyof T]?: DeepPartial<T[K]>;
23
- };
24
- export type DeepPartialSkipArrayKey<T> = T extends BrowserNativeObject | NestedValue ? T : T extends ReadonlyArray<any> ? {
25
- [K in keyof T]: DeepPartialSkipArrayKey<T[K]>;
26
- } : {
27
- [K in keyof T]?: DeepPartialSkipArrayKey<T[K]>;
28
- };
29
- /**
30
- * Checks whether the type is any
31
- * See {@link https://stackoverflow.com/a/49928360/3406963}
32
- * @typeParam T - type which may be any
33
- * ```
34
- * IsAny<any> = true
35
- * IsAny<string> = false
36
- * ```
37
- */
38
- export type IsAny<T> = 0 extends 1 & T ? true : false;
39
- /**
40
- * Checks whether the type is never
41
- * @typeParam T - type which may be never
42
- * ```
43
- * IsAny<never> = true
44
- * IsAny<string> = false
45
- * ```
46
- */
47
- export type IsNever<T> = [T] extends [never] ? true : false;
48
- /**
49
- * Checks whether T1 can be exactly (mutually) assigned to T2
50
- * @typeParam T1 - type to check
51
- * @typeParam T2 - type to check against
52
- * ```
53
- * IsEqual<string, string> = true
54
- * IsEqual<'foo', 'foo'> = true
55
- * IsEqual<string, number> = false
56
- * IsEqual<string, number> = false
57
- * IsEqual<string, 'foo'> = false
58
- * IsEqual<'foo', string> = false
59
- * IsEqual<'foo' | 'bar', 'foo'> = boolean // 'foo' is assignable, but 'bar' is not (true | false) -> boolean
60
- * ```
61
- */
62
- export type IsEqual<T1, T2> = T1 extends T2 ? (<G>() => G extends T1 ? 1 : 2) extends <G>() => G extends T2 ? 1 : 2 ? true : false : false;
63
- export type DeepMap<T, TValue> = IsAny<T> extends true ? any : T extends BrowserNativeObject | NestedValue ? TValue : T extends object ? {
64
- [K in keyof T]: DeepMap<NonUndefined<T[K]>, TValue>;
65
- } : TValue;
66
- export type IsFlatObject<T extends object> = Extract<Exclude<T[keyof T], NestedValue | Date | FileList>, any[] | object> extends never ? true : false;
67
- export type Merge<A, B> = {
68
- [K in keyof A | keyof B]?: K extends keyof A & keyof B ? [A[K], B[K]] extends [object, object] ? Merge<A[K], B[K]> : A[K] | B[K] : K extends keyof A ? A[K] : K extends keyof B ? B[K] : never;
69
- };
70
- export {};
1
+ import { NestedValue } from './form';
2
+ export type Noop = () => void;
3
+ interface File extends Blob {
4
+ readonly lastModified: number;
5
+ readonly name: string;
6
+ }
7
+ interface FileList {
8
+ readonly length: number;
9
+ item(index: number): File | null;
10
+ [index: number]: File;
11
+ }
12
+ export type Primitive = null | undefined | string | number | boolean | symbol | bigint;
13
+ export type BrowserNativeObject = Date | FileList | File;
14
+ export type EmptyObject = {
15
+ [K in string | number]: never;
16
+ };
17
+ export type NonUndefined<T> = T extends undefined ? never : T;
18
+ export type LiteralUnion<T extends U, U extends Primitive> = T | (U & {
19
+ _?: never;
20
+ });
21
+ export type DeepPartial<T> = T extends BrowserNativeObject | NestedValue ? T : {
22
+ [K in keyof T]?: DeepPartial<T[K]>;
23
+ };
24
+ export type DeepPartialSkipArrayKey<T> = T extends BrowserNativeObject | NestedValue ? T : T extends ReadonlyArray<any> ? {
25
+ [K in keyof T]: DeepPartialSkipArrayKey<T[K]>;
26
+ } : {
27
+ [K in keyof T]?: DeepPartialSkipArrayKey<T[K]>;
28
+ };
29
+ /**
30
+ * Checks whether the type is any
31
+ * See {@link https://stackoverflow.com/a/49928360/3406963}
32
+ * @typeParam T - type which may be any
33
+ * ```
34
+ * IsAny<any> = true
35
+ * IsAny<string> = false
36
+ * ```
37
+ */
38
+ export type IsAny<T> = 0 extends 1 & T ? true : false;
39
+ /**
40
+ * Checks whether the type is never
41
+ * @typeParam T - type which may be never
42
+ * ```
43
+ * IsAny<never> = true
44
+ * IsAny<string> = false
45
+ * ```
46
+ */
47
+ export type IsNever<T> = [T] extends [never] ? true : false;
48
+ /**
49
+ * Checks whether T1 can be exactly (mutually) assigned to T2
50
+ * @typeParam T1 - type to check
51
+ * @typeParam T2 - type to check against
52
+ * ```
53
+ * IsEqual<string, string> = true
54
+ * IsEqual<'foo', 'foo'> = true
55
+ * IsEqual<string, number> = false
56
+ * IsEqual<string, number> = false
57
+ * IsEqual<string, 'foo'> = false
58
+ * IsEqual<'foo', string> = false
59
+ * IsEqual<'foo' | 'bar', 'foo'> = boolean // 'foo' is assignable, but 'bar' is not (true | false) -> boolean
60
+ * ```
61
+ */
62
+ export type IsEqual<T1, T2> = T1 extends T2 ? (<G>() => G extends T1 ? 1 : 2) extends <G>() => G extends T2 ? 1 : 2 ? true : false : false;
63
+ export type DeepMap<T, TValue> = IsAny<T> extends true ? any : T extends BrowserNativeObject | NestedValue ? TValue : T extends object ? {
64
+ [K in keyof T]: DeepMap<NonUndefined<T[K]>, TValue>;
65
+ } : TValue;
66
+ export type IsFlatObject<T extends object> = Extract<Exclude<T[keyof T], NestedValue | Date | FileList>, any[] | object> extends never ? true : false;
67
+ export type Merge<A, B> = {
68
+ [K in keyof A | keyof B]?: K extends keyof A & keyof B ? [A[K], B[K]] extends [object, object] ? Merge<A[K], B[K]> : A[K] | B[K] : K extends keyof A ? A[K] : K extends keyof B ? B[K] : never;
69
+ };
70
+ export {};
71
71
  //# sourceMappingURL=utils.d.ts.map
@@ -1,39 +1,39 @@
1
- import { Message } from './errors';
2
- import { FieldValues, InternalFieldName } from './fields';
3
- import { FieldPath, FieldPathValue } from './path';
4
- export type ValidationValue = boolean | number | string | RegExp;
5
- export type ValidationRule<TValidationValue extends ValidationValue = ValidationValue> = TValidationValue | ValidationValueMessage<TValidationValue>;
6
- export type ValidationValueMessage<TValidationValue extends ValidationValue = ValidationValue> = {
7
- value: TValidationValue;
8
- message: Message;
9
- };
10
- export type ValidateResult = Message | boolean | undefined;
11
- export type Validate<TFieldValue, TFormValues> = (value: TFieldValue, formValues: TFormValues) => ValidateResult | Promise<ValidateResult>;
12
- export type RegisterOptions<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Partial<{
13
- required: Message | ValidationRule<boolean>;
14
- min: ValidationRule<number | string>;
15
- max: ValidationRule<number | string>;
16
- maxLength: ValidationRule<number>;
17
- minLength: ValidationRule<number>;
18
- validate: Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues> | Record<string, Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues>>;
19
- value: FieldPathValue<TFieldValues, TFieldName>;
20
- setValueAs: (value: any) => any;
21
- shouldUnregister?: boolean;
22
- onChange?: (event: any) => void;
23
- onBlur?: (event: any) => void;
24
- disabled: boolean;
25
- deps: InternalFieldName | InternalFieldName[];
26
- }> & ({
27
- pattern?: ValidationRule<RegExp>;
28
- valueAsNumber?: false;
29
- valueAsDate?: false;
30
- } | {
31
- pattern?: undefined;
32
- valueAsNumber?: false;
33
- valueAsDate?: true;
34
- } | {
35
- pattern?: undefined;
36
- valueAsNumber?: true;
37
- valueAsDate?: false;
38
- });
1
+ import { Message } from './errors';
2
+ import { FieldValues, InternalFieldName } from './fields';
3
+ import { FieldPath, FieldPathValue } from './path';
4
+ export type ValidationValue = boolean | number | string | RegExp;
5
+ export type ValidationRule<TValidationValue extends ValidationValue = ValidationValue> = TValidationValue | ValidationValueMessage<TValidationValue>;
6
+ export type ValidationValueMessage<TValidationValue extends ValidationValue = ValidationValue> = {
7
+ value: TValidationValue;
8
+ message: Message;
9
+ };
10
+ export type ValidateResult = Message | Message[] | boolean | undefined;
11
+ export type Validate<TFieldValue, TFormValues> = (value: TFieldValue, formValues: TFormValues) => ValidateResult | Promise<ValidateResult>;
12
+ export type RegisterOptions<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Partial<{
13
+ required: Message | ValidationRule<boolean>;
14
+ min: ValidationRule<number | string>;
15
+ max: ValidationRule<number | string>;
16
+ maxLength: ValidationRule<number>;
17
+ minLength: ValidationRule<number>;
18
+ validate: Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues> | Record<string, Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues>>;
19
+ value: FieldPathValue<TFieldValues, TFieldName>;
20
+ setValueAs: (value: any) => any;
21
+ shouldUnregister?: boolean;
22
+ onChange?: (event: any) => void;
23
+ onBlur?: (event: any) => void;
24
+ disabled: boolean;
25
+ deps: InternalFieldName | InternalFieldName[];
26
+ }> & ({
27
+ pattern?: ValidationRule<RegExp>;
28
+ valueAsNumber?: false;
29
+ valueAsDate?: false;
30
+ } | {
31
+ pattern?: undefined;
32
+ valueAsNumber?: false;
33
+ valueAsDate?: true;
34
+ } | {
35
+ pattern?: undefined;
36
+ valueAsNumber?: true;
37
+ valueAsDate?: false;
38
+ });
39
39
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/types/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,MAAM,cAAc,CACxB,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD,gBAAgB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,MAAM,sBAAsB,CAChC,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,QAAQ,CAAC,WAAW,EAAE,WAAW,IAAI,CAC/C,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,WAAW,KACpB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,MAAM,MAAM,eAAe,CACzB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,IAClE,OAAO,CAAC;IACV,QAAQ,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,EACJ,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,GAChE,MAAM,CACJ,MAAM,EACN,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CACjE,CAAC;IACN,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAChD,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;CAC/C,CAAC,GACA,CACI;IACE,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,GACD;IACE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB,GACD;IACE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CACJ,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/types/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,MAAM,cAAc,CACxB,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD,gBAAgB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,MAAM,sBAAsB,CAChC,gBAAgB,SAAS,eAAe,GAAG,eAAe,IACxD;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,QAAQ,CAAC,WAAW,EAAE,WAAW,IAAI,CAC/C,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,WAAW,KACpB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,MAAM,MAAM,eAAe,CACzB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,IAClE,OAAO,CAAC;IACV,QAAQ,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,GAAG,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,EACJ,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,GAChE,MAAM,CACJ,MAAM,EACN,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CACjE,CAAC;IACN,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAChD,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;CAC/C,CAAC,GACA,CACI;IACE,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,GACD;IACE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB,GACD;IACE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CACJ,CAAC"}
@@ -1,27 +1,27 @@
1
- import { FieldPath, FieldValues, UseControllerProps, UseControllerReturn } from './types';
2
- /**
3
- * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.
4
- *
5
- * @remarks
6
- * [API](https://react-hook-form.com/api/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)
7
- *
8
- * @param props - the path name to the form field value, and validation rules.
9
- *
10
- * @returns field properties, field and form state. {@link UseControllerReturn}
11
- *
12
- * @example
13
- * ```tsx
14
- * function Input(props) {
15
- * const { field, fieldState, formState } = useController(props);
16
- * return (
17
- * <div>
18
- * <input {...field} placeholder={props.name} />
19
- * <p>{fieldState.isTouched && "Touched"}</p>
20
- * <p>{formState.isSubmitted ? "submitted" : ""}</p>
21
- * </div>
22
- * );
23
- * }
24
- * ```
25
- */
26
- export declare function useController<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: UseControllerProps<TFieldValues, TName>): UseControllerReturn<TFieldValues, TName>;
1
+ import { FieldPath, FieldValues, UseControllerProps, UseControllerReturn } from './types';
2
+ /**
3
+ * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.
4
+ *
5
+ * @remarks
6
+ * [API](https://react-hook-form.com/api/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)
7
+ *
8
+ * @param props - the path name to the form field value, and validation rules.
9
+ *
10
+ * @returns field properties, field and form state. {@link UseControllerReturn}
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * function Input(props) {
15
+ * const { field, fieldState, formState } = useController(props);
16
+ * return (
17
+ * <div>
18
+ * <input {...field} placeholder={props.name} />
19
+ * <p>{fieldState.isTouched && "Touched"}</p>
20
+ * <p>{formState.isSubmitted ? "submitted" : ""}</p>
21
+ * </div>
22
+ * );
23
+ * }
24
+ * ```
25
+ */
26
+ export declare function useController<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: UseControllerProps<TFieldValues, TName>): UseControllerReturn<TFieldValues, TName>;
27
27
  //# sourceMappingURL=useController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useController.d.ts","sourceRoot":"","sources":["../src/useController.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,SAAS,EAET,WAAW,EAEX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAE/D,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC7C,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CA0H1C"}
1
+ {"version":3,"file":"useController.d.ts","sourceRoot":"","sources":["../src/useController.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,SAAS,EAET,WAAW,EAEX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAE/D,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC7C,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CA0H1C"}