react-hook-form 7.44.0-rc.0 → 7.44.0-rc.3
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 +6 -0
- package/dist/__tests__/controller.server.test.d.ts +1 -1
- package/dist/__tests__/controller.test.d.ts +1 -1
- package/dist/__tests__/form.test.d.ts +1 -1
- package/dist/__tests__/logic/validateField.test.d.ts +1 -1
- package/dist/__tests__/type.test.d.ts +1 -1
- package/dist/__tests__/useController.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/append.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/focus.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/insert.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/move.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/prepend.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/remove.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/replace.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/swap.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray/update.test.d.ts +1 -1
- package/dist/__tests__/useFieldArray.test.d.ts +1 -1
- package/dist/__tests__/useForm/clearErrors.test.d.ts +1 -1
- package/dist/__tests__/useForm/formState.test.d.ts +1 -1
- package/dist/__tests__/useForm/getFieldState.test.d.ts +1 -1
- package/dist/__tests__/useForm/getValues.test.d.ts +1 -1
- package/dist/__tests__/useForm/handleSubmit.test.d.ts +1 -1
- package/dist/__tests__/useForm/register.test.d.ts +1 -1
- package/dist/__tests__/useForm/reset.test.d.ts +1 -1
- package/dist/__tests__/useForm/resetField.test.d.ts +1 -1
- package/dist/__tests__/useForm/resolver.test.d.ts +1 -1
- package/dist/__tests__/useForm/setError.test.d.ts +1 -1
- package/dist/__tests__/useForm/setValue.test.d.ts +1 -1
- package/dist/__tests__/useForm/trigger.test.d.ts +1 -1
- package/dist/__tests__/useForm/unregister.test.d.ts +1 -1
- package/dist/__tests__/useForm/watch.test.d.ts +1 -1
- package/dist/__tests__/useForm.server.test.d.ts +1 -1
- package/dist/__tests__/useForm.test.d.ts +1 -1
- package/dist/__tests__/useFormContext.server.test.d.ts +1 -1
- package/dist/__tests__/useFormContext.test.d.ts +1 -1
- package/dist/__tests__/useFormState.test.d.ts +1 -1
- package/dist/__tests__/useWatch.test.d.ts +1 -1
- package/dist/__typetest__/__fixtures__/index.d.ts +4 -4
- package/dist/__typetest__/__fixtures__/pathString.d.ts +3 -3
- package/dist/__typetest__/__fixtures__/traversable.d.ts +13 -13
- package/dist/__typetest__/__fixtures__/tuple.d.ts +14 -14
- package/dist/__typetest__/__fixtures__/type.d.ts +11 -11
- package/dist/__typetest__/errors.test-d.d.ts +1 -1
- package/dist/__typetest__/form.test-d.d.ts +1 -1
- package/dist/__typetest__/path/common.test-d.d.ts +1 -1
- package/dist/__typetest__/path/eager.test-d.d.ts +1 -1
- package/dist/__typetest__/util.test-d.d.ts +1 -1
- package/dist/constants.d.ts +16 -16
- package/dist/controller.d.ts +46 -46
- package/dist/controller.d.ts.map +1 -1
- package/dist/form.d.ts +59 -59
- package/dist/form.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.esm.mjs +2269 -2257
- 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/appendErrors.d.ts +3 -3
- package/dist/logic/createFormControl.d.ts +26 -26
- package/dist/logic/createFormControl.d.ts.map +1 -1
- package/dist/logic/focusFieldBy.d.ts +3 -3
- package/dist/logic/generateId.d.ts +2 -2
- package/dist/logic/generateWatchOutput.d.ts +3 -3
- package/dist/logic/getCheckboxValue.d.ts +6 -6
- package/dist/logic/getDirtyFields.d.ts +2 -2
- package/dist/logic/getEventValue.d.ts +2 -2
- package/dist/logic/getFieldValue.d.ts +2 -2
- package/dist/logic/getFieldValueAs.d.ts +3 -3
- package/dist/logic/getFocusFieldName.d.ts +3 -3
- package/dist/logic/getNodeParentName.d.ts +2 -2
- package/dist/logic/getProxyFormState.d.ts +3 -3
- package/dist/logic/getRadioValue.d.ts +6 -6
- package/dist/logic/getResolverOptions.d.ts +13 -13
- package/dist/logic/getRuleValue.d.ts +3 -3
- package/dist/logic/getValidateError.d.ts +2 -2
- package/dist/logic/getValidationModes.d.ts +9 -9
- package/dist/logic/getValueAndMessage.d.ts +6 -6
- package/dist/logic/hasValidation.d.ts +3 -3
- package/dist/logic/index.d.ts +2 -2
- package/dist/logic/isNameInFieldArray.d.ts +3 -3
- package/dist/logic/isWatched.d.ts +3 -3
- package/dist/logic/schemaErrorLookup.d.ts +5 -5
- package/dist/logic/shouldRenderFormState.d.ts +5 -5
- package/dist/logic/shouldSubscribeByName.d.ts +2 -2
- package/dist/logic/skipValidation.d.ts +11 -11
- package/dist/logic/unsetEmptyArray.d.ts +2 -2
- package/dist/logic/updateFieldArrayRootError.d.ts +3 -3
- package/dist/logic/validateField.d.ts +3 -3
- package/dist/types/controller.d.ts +56 -56
- package/dist/types/errors.d.ts +35 -35
- package/dist/types/events.d.ts +1 -1
- package/dist/types/fieldArray.d.ts +194 -194
- package/dist/types/fields.d.ts +28 -28
- package/dist/types/form.d.ts +631 -630
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -10
- package/dist/types/path/common.d.ts +315 -315
- package/dist/types/path/eager.d.ts +120 -120
- package/dist/types/path/index.d.ts +3 -3
- package/dist/types/resolvers.d.ts +19 -19
- package/dist/types/utils.d.ts +70 -70
- package/dist/types/validator.d.ts +38 -38
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/useController.d.ts +26 -26
- package/dist/useController.d.ts.map +1 -1
- package/dist/useFieldArray.d.ts +39 -39
- package/dist/useFieldArray.d.ts.map +1 -1
- package/dist/useForm.d.ts +31 -31
- package/dist/useForm.d.ts.map +1 -1
- package/dist/useFormContext.d.ts +64 -64
- package/dist/useFormContext.d.ts.map +1 -1
- package/dist/useFormState.d.ts +33 -33
- package/dist/useFormState.d.ts.map +1 -1
- package/dist/useSubscribe.d.ts +8 -8
- package/dist/useWatch.d.ts +99 -99
- package/dist/utils/append.d.ts +1 -1
- package/dist/utils/cloneObject.d.ts +1 -1
- package/dist/utils/cloneObject.d.ts.map +1 -1
- package/dist/utils/compact.d.ts +2 -2
- package/dist/utils/convertToArrayPayload.d.ts +2 -2
- package/dist/utils/createSubject.d.ts +13 -13
- package/dist/utils/deepEqual.d.ts +1 -1
- package/dist/utils/deepMerge.d.ts +1 -1
- package/dist/utils/fillBooleanArray.d.ts +2 -2
- package/dist/utils/fillEmptyArray.d.ts +2 -2
- package/dist/utils/get.d.ts +2 -2
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/insert.d.ts +2 -2
- package/dist/utils/isBoolean.d.ts +2 -2
- package/dist/utils/isCheckBoxInput.d.ts +3 -3
- package/dist/utils/isDateObject.d.ts +2 -2
- package/dist/utils/isEmptyObject.d.ts +3 -3
- package/dist/utils/isFileInput.d.ts +3 -3
- package/dist/utils/isFunction.d.ts +2 -2
- package/dist/utils/isHTMLElement.d.ts +2 -2
- package/dist/utils/isKey.d.ts +2 -2
- package/dist/utils/isMessage.d.ts +2 -2
- package/dist/utils/isMultipleSelect.d.ts +3 -3
- package/dist/utils/isNullOrUndefined.d.ts +2 -2
- package/dist/utils/isObject.d.ts +3 -3
- package/dist/utils/isPlainObject.d.ts +2 -2
- package/dist/utils/isPrimitive.d.ts +3 -3
- package/dist/utils/isRadioInput.d.ts +3 -3
- package/dist/utils/isRadioOrCheckbox.d.ts +3 -3
- package/dist/utils/isRegex.d.ts +2 -2
- package/dist/utils/isSelectInput.d.ts +3 -3
- package/dist/utils/isString.d.ts +2 -2
- package/dist/utils/isUndefined.d.ts +2 -2
- package/dist/utils/isWeb.d.ts +2 -2
- package/dist/utils/live.d.ts +3 -3
- package/dist/utils/move.d.ts +2 -2
- package/dist/utils/objectHasFunction.d.ts +2 -2
- package/dist/utils/omit.d.ts +2 -2
- package/dist/utils/prepend.d.ts +1 -1
- package/dist/utils/remove.d.ts +2 -2
- package/dist/utils/set.d.ts +2 -2
- package/dist/utils/sleep.d.ts +1 -1
- package/dist/utils/stringToPath.d.ts +2 -2
- package/dist/utils/swap.d.ts +2 -2
- package/dist/utils/unset.d.ts +1 -1
- package/dist/utils/update.d.ts +2 -2
- package/package.json +9 -9
@@ -1,195 +1,195 @@
|
|
1
|
-
import { FieldValues } from './fields';
|
2
|
-
import { Control } from './form';
|
3
|
-
import { FieldArrayPath, FieldArrayPathValue } from './path';
|
4
|
-
import { RegisterOptions, Validate } from './validator';
|
5
|
-
export type UseFieldArrayProps<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> = {
|
6
|
-
name: TFieldArrayName;
|
7
|
-
keyName?: TKeyName;
|
8
|
-
control?: Control<TFieldValues>;
|
9
|
-
rules?: {
|
10
|
-
validate?: Validate<FieldArray<TFieldValues, TFieldArrayName>[], TFieldValues> | Record<string, Validate<FieldArray<TFieldValues, TFieldArrayName>[], TFieldValues>>;
|
11
|
-
} & Pick<RegisterOptions<TFieldValues>, 'maxLength' | 'minLength' | 'required'>;
|
12
|
-
shouldUnregister?: boolean;
|
13
|
-
};
|
14
|
-
/**
|
15
|
-
* `useFieldArray` returned `fields` with unique id
|
16
|
-
*/
|
17
|
-
export type FieldArrayWithId<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> = FieldArray<TFieldValues, TFieldArrayName> & Record<TKeyName, string>;
|
18
|
-
export type FieldArray<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = FieldArrayPathValue<TFieldValues, TFieldArrayName> extends ReadonlyArray<infer U> | null | undefined ? U : never;
|
19
|
-
/**
|
20
|
-
* `useFieldArray` focus option, ability to toggle focus on and off with `shouldFocus` and setting focus by either field index or name.
|
21
|
-
*/
|
22
|
-
export type FieldArrayMethodProps = {
|
23
|
-
shouldFocus?: boolean;
|
24
|
-
focusIndex?: number;
|
25
|
-
focusName?: string;
|
26
|
-
};
|
27
|
-
/**
|
28
|
-
* Swap field array by supplying from and to index
|
29
|
-
*
|
30
|
-
* @remarks
|
31
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
32
|
-
*
|
33
|
-
* @param indexA - from index
|
34
|
-
* @param indexB - to index
|
35
|
-
*
|
36
|
-
* @example
|
37
|
-
* ```tsx
|
38
|
-
* <button type="button" onClick={() => swap(0, 1)}>swap</button>
|
39
|
-
* ```
|
40
|
-
*/
|
41
|
-
export type UseFieldArraySwap = (indexA: number, indexB: number) => void;
|
42
|
-
/**
|
43
|
-
* Move field array by supplying from and to index
|
44
|
-
*
|
45
|
-
* @remarks
|
46
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
47
|
-
*
|
48
|
-
* @param indexA - from index
|
49
|
-
* @param indexB - to index
|
50
|
-
*
|
51
|
-
* @example
|
52
|
-
* ```tsx
|
53
|
-
* <button type="button" onClick={() => move(0, 1)}>swap</button>
|
54
|
-
* ```
|
55
|
-
*/
|
56
|
-
export type UseFieldArrayMove = (indexA: number, indexB: number) => void;
|
57
|
-
/**
|
58
|
-
* Prepend field/fields to the start of the fields and optionally focus. The input value will be registered during this action.
|
59
|
-
*
|
60
|
-
* @remarks
|
61
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
62
|
-
*
|
63
|
-
* @param value - prepend items or items
|
64
|
-
* @param options - focus options
|
65
|
-
*
|
66
|
-
* @example
|
67
|
-
* ```tsx
|
68
|
-
* <button type="button" onClick={() => prepend({ name: "data" })}>Prepend</button>
|
69
|
-
* <button type="button" onClick={() => prepend({ name: "data" }, { shouldFocus: false })}>Prepend</button>
|
70
|
-
* <button
|
71
|
-
* type="button"
|
72
|
-
* onClick={() => prepend([{ name: "data" }, { name: "data" }])}
|
73
|
-
* >
|
74
|
-
* Prepend
|
75
|
-
* </button>
|
76
|
-
* ```
|
77
|
-
*/
|
78
|
-
export type UseFieldArrayPrepend<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[], options?: FieldArrayMethodProps) => void;
|
79
|
-
/**
|
80
|
-
* Append field/fields to the end of your fields and focus. The input value will be registered during this action.
|
81
|
-
*
|
82
|
-
* @remarks
|
83
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
84
|
-
*
|
85
|
-
* @param value - append items or items.
|
86
|
-
* @param options - focus options
|
87
|
-
*
|
88
|
-
* @example
|
89
|
-
* ```tsx
|
90
|
-
* <button type="button" onClick={() => append({ name: "data" })}>Append</button>
|
91
|
-
* <button type="button" onClick={() => append({ name: "data" }, { shouldFocus: false })}>Append</button>
|
92
|
-
* <button
|
93
|
-
* type="button"
|
94
|
-
* onClick={() => append([{ name: "data" }, { name: "data" }])}
|
95
|
-
* >
|
96
|
-
* Append
|
97
|
-
* </button>
|
98
|
-
* ```
|
99
|
-
*/
|
100
|
-
export type UseFieldArrayAppend<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[], options?: FieldArrayMethodProps) => void;
|
101
|
-
/**
|
102
|
-
* Remove field/fields at particular position.
|
103
|
-
*
|
104
|
-
* @remarks
|
105
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
106
|
-
*
|
107
|
-
* @param index - index to remove at, or remove all when no index provided.
|
108
|
-
*
|
109
|
-
* @example
|
110
|
-
* ```tsx
|
111
|
-
* <button type="button" onClick={() => remove(0)}>Remove</button>
|
112
|
-
* <button
|
113
|
-
* type="button"
|
114
|
-
* onClick={() => remove()}
|
115
|
-
* >
|
116
|
-
* Remove all
|
117
|
-
* </button>
|
118
|
-
* ```
|
119
|
-
*/
|
120
|
-
export type UseFieldArrayRemove = (index?: number | number[]) => void;
|
121
|
-
/**
|
122
|
-
* Insert field/fields at particular position and focus.
|
123
|
-
*
|
124
|
-
* @remarks
|
125
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
126
|
-
*
|
127
|
-
* @param index - insert position
|
128
|
-
* @param value - insert field or fields
|
129
|
-
* @param options - focus options
|
130
|
-
*
|
131
|
-
* @example
|
132
|
-
* ```tsx
|
133
|
-
* <button type="button" onClick={() => insert(1, { name: "data" })}>Insert</button>
|
134
|
-
* <button type="button" onClick={() => insert(1, { name: "data" }, { shouldFocus: false })}>Insert</button>
|
135
|
-
* <button
|
136
|
-
* type="button"
|
137
|
-
* onClick={() => insert(1, [{ name: "data" }, { name: "data" }])}
|
138
|
-
* >
|
139
|
-
* Insert
|
140
|
-
* </button>
|
141
|
-
* ```
|
142
|
-
*/
|
143
|
-
export type UseFieldArrayInsert<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (index: number, value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[], options?: FieldArrayMethodProps) => void;
|
144
|
-
/**
|
145
|
-
* Update field/fields at particular position.
|
146
|
-
*
|
147
|
-
* @remarks
|
148
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
149
|
-
*
|
150
|
-
* @param index - insert position
|
151
|
-
* @param value - insert field or fields
|
152
|
-
*
|
153
|
-
* @example
|
154
|
-
* ```tsx
|
155
|
-
* <button type="button" onClick={() => update(1, { name: "data" })}>Update</button>
|
156
|
-
* <button
|
157
|
-
* type="button"
|
158
|
-
* onClick={() => update(1, [{ name: "data" }, { name: "data" }])}
|
159
|
-
* >
|
160
|
-
* Update
|
161
|
-
* </button>
|
162
|
-
* ```
|
163
|
-
*/
|
164
|
-
export type UseFieldArrayUpdate<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (index: number, value: FieldArray<TFieldValues, TFieldArrayName>) => void;
|
165
|
-
/**
|
166
|
-
* Replace the entire field array values.
|
167
|
-
*
|
168
|
-
* @remarks
|
169
|
-
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
170
|
-
*
|
171
|
-
* @param value - the entire field values.
|
172
|
-
*
|
173
|
-
* @example
|
174
|
-
* ```tsx
|
175
|
-
* <button
|
176
|
-
* type="button"
|
177
|
-
* onClick={() => replace([{ name: "data" }, { name: "data" }])}
|
178
|
-
* >
|
179
|
-
* Replace
|
180
|
-
* </button>
|
181
|
-
* ```
|
182
|
-
*/
|
183
|
-
export type UseFieldArrayReplace<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[]) => void;
|
184
|
-
export type UseFieldArrayReturn<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> = {
|
185
|
-
swap: UseFieldArraySwap;
|
186
|
-
move: UseFieldArrayMove;
|
187
|
-
prepend: UseFieldArrayPrepend<TFieldValues, TFieldArrayName>;
|
188
|
-
append: UseFieldArrayAppend<TFieldValues, TFieldArrayName>;
|
189
|
-
remove: UseFieldArrayRemove;
|
190
|
-
insert: UseFieldArrayInsert<TFieldValues, TFieldArrayName>;
|
191
|
-
update: UseFieldArrayUpdate<TFieldValues, TFieldArrayName>;
|
192
|
-
replace: UseFieldArrayReplace<TFieldValues, TFieldArrayName>;
|
193
|
-
fields: FieldArrayWithId<TFieldValues, TFieldArrayName, TKeyName>[];
|
194
|
-
};
|
1
|
+
import { FieldValues } from './fields';
|
2
|
+
import { Control } from './form';
|
3
|
+
import { FieldArrayPath, FieldArrayPathValue } from './path';
|
4
|
+
import { RegisterOptions, Validate } from './validator';
|
5
|
+
export type UseFieldArrayProps<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> = {
|
6
|
+
name: TFieldArrayName;
|
7
|
+
keyName?: TKeyName;
|
8
|
+
control?: Control<TFieldValues>;
|
9
|
+
rules?: {
|
10
|
+
validate?: Validate<FieldArray<TFieldValues, TFieldArrayName>[], TFieldValues> | Record<string, Validate<FieldArray<TFieldValues, TFieldArrayName>[], TFieldValues>>;
|
11
|
+
} & Pick<RegisterOptions<TFieldValues>, 'maxLength' | 'minLength' | 'required'>;
|
12
|
+
shouldUnregister?: boolean;
|
13
|
+
};
|
14
|
+
/**
|
15
|
+
* `useFieldArray` returned `fields` with unique id
|
16
|
+
*/
|
17
|
+
export type FieldArrayWithId<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> = FieldArray<TFieldValues, TFieldArrayName> & Record<TKeyName, string>;
|
18
|
+
export type FieldArray<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = FieldArrayPathValue<TFieldValues, TFieldArrayName> extends ReadonlyArray<infer U> | null | undefined ? U : never;
|
19
|
+
/**
|
20
|
+
* `useFieldArray` focus option, ability to toggle focus on and off with `shouldFocus` and setting focus by either field index or name.
|
21
|
+
*/
|
22
|
+
export type FieldArrayMethodProps = {
|
23
|
+
shouldFocus?: boolean;
|
24
|
+
focusIndex?: number;
|
25
|
+
focusName?: string;
|
26
|
+
};
|
27
|
+
/**
|
28
|
+
* Swap field array by supplying from and to index
|
29
|
+
*
|
30
|
+
* @remarks
|
31
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
32
|
+
*
|
33
|
+
* @param indexA - from index
|
34
|
+
* @param indexB - to index
|
35
|
+
*
|
36
|
+
* @example
|
37
|
+
* ```tsx
|
38
|
+
* <button type="button" onClick={() => swap(0, 1)}>swap</button>
|
39
|
+
* ```
|
40
|
+
*/
|
41
|
+
export type UseFieldArraySwap = (indexA: number, indexB: number) => void;
|
42
|
+
/**
|
43
|
+
* Move field array by supplying from and to index
|
44
|
+
*
|
45
|
+
* @remarks
|
46
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
47
|
+
*
|
48
|
+
* @param indexA - from index
|
49
|
+
* @param indexB - to index
|
50
|
+
*
|
51
|
+
* @example
|
52
|
+
* ```tsx
|
53
|
+
* <button type="button" onClick={() => move(0, 1)}>swap</button>
|
54
|
+
* ```
|
55
|
+
*/
|
56
|
+
export type UseFieldArrayMove = (indexA: number, indexB: number) => void;
|
57
|
+
/**
|
58
|
+
* Prepend field/fields to the start of the fields and optionally focus. The input value will be registered during this action.
|
59
|
+
*
|
60
|
+
* @remarks
|
61
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
62
|
+
*
|
63
|
+
* @param value - prepend items or items
|
64
|
+
* @param options - focus options
|
65
|
+
*
|
66
|
+
* @example
|
67
|
+
* ```tsx
|
68
|
+
* <button type="button" onClick={() => prepend({ name: "data" })}>Prepend</button>
|
69
|
+
* <button type="button" onClick={() => prepend({ name: "data" }, { shouldFocus: false })}>Prepend</button>
|
70
|
+
* <button
|
71
|
+
* type="button"
|
72
|
+
* onClick={() => prepend([{ name: "data" }, { name: "data" }])}
|
73
|
+
* >
|
74
|
+
* Prepend
|
75
|
+
* </button>
|
76
|
+
* ```
|
77
|
+
*/
|
78
|
+
export type UseFieldArrayPrepend<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[], options?: FieldArrayMethodProps) => void;
|
79
|
+
/**
|
80
|
+
* Append field/fields to the end of your fields and focus. The input value will be registered during this action.
|
81
|
+
*
|
82
|
+
* @remarks
|
83
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
84
|
+
*
|
85
|
+
* @param value - append items or items.
|
86
|
+
* @param options - focus options
|
87
|
+
*
|
88
|
+
* @example
|
89
|
+
* ```tsx
|
90
|
+
* <button type="button" onClick={() => append({ name: "data" })}>Append</button>
|
91
|
+
* <button type="button" onClick={() => append({ name: "data" }, { shouldFocus: false })}>Append</button>
|
92
|
+
* <button
|
93
|
+
* type="button"
|
94
|
+
* onClick={() => append([{ name: "data" }, { name: "data" }])}
|
95
|
+
* >
|
96
|
+
* Append
|
97
|
+
* </button>
|
98
|
+
* ```
|
99
|
+
*/
|
100
|
+
export type UseFieldArrayAppend<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[], options?: FieldArrayMethodProps) => void;
|
101
|
+
/**
|
102
|
+
* Remove field/fields at particular position.
|
103
|
+
*
|
104
|
+
* @remarks
|
105
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
106
|
+
*
|
107
|
+
* @param index - index to remove at, or remove all when no index provided.
|
108
|
+
*
|
109
|
+
* @example
|
110
|
+
* ```tsx
|
111
|
+
* <button type="button" onClick={() => remove(0)}>Remove</button>
|
112
|
+
* <button
|
113
|
+
* type="button"
|
114
|
+
* onClick={() => remove()}
|
115
|
+
* >
|
116
|
+
* Remove all
|
117
|
+
* </button>
|
118
|
+
* ```
|
119
|
+
*/
|
120
|
+
export type UseFieldArrayRemove = (index?: number | number[]) => void;
|
121
|
+
/**
|
122
|
+
* Insert field/fields at particular position and focus.
|
123
|
+
*
|
124
|
+
* @remarks
|
125
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
126
|
+
*
|
127
|
+
* @param index - insert position
|
128
|
+
* @param value - insert field or fields
|
129
|
+
* @param options - focus options
|
130
|
+
*
|
131
|
+
* @example
|
132
|
+
* ```tsx
|
133
|
+
* <button type="button" onClick={() => insert(1, { name: "data" })}>Insert</button>
|
134
|
+
* <button type="button" onClick={() => insert(1, { name: "data" }, { shouldFocus: false })}>Insert</button>
|
135
|
+
* <button
|
136
|
+
* type="button"
|
137
|
+
* onClick={() => insert(1, [{ name: "data" }, { name: "data" }])}
|
138
|
+
* >
|
139
|
+
* Insert
|
140
|
+
* </button>
|
141
|
+
* ```
|
142
|
+
*/
|
143
|
+
export type UseFieldArrayInsert<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (index: number, value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[], options?: FieldArrayMethodProps) => void;
|
144
|
+
/**
|
145
|
+
* Update field/fields at particular position.
|
146
|
+
*
|
147
|
+
* @remarks
|
148
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
149
|
+
*
|
150
|
+
* @param index - insert position
|
151
|
+
* @param value - insert field or fields
|
152
|
+
*
|
153
|
+
* @example
|
154
|
+
* ```tsx
|
155
|
+
* <button type="button" onClick={() => update(1, { name: "data" })}>Update</button>
|
156
|
+
* <button
|
157
|
+
* type="button"
|
158
|
+
* onClick={() => update(1, [{ name: "data" }, { name: "data" }])}
|
159
|
+
* >
|
160
|
+
* Update
|
161
|
+
* </button>
|
162
|
+
* ```
|
163
|
+
*/
|
164
|
+
export type UseFieldArrayUpdate<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (index: number, value: FieldArray<TFieldValues, TFieldArrayName>) => void;
|
165
|
+
/**
|
166
|
+
* Replace the entire field array values.
|
167
|
+
*
|
168
|
+
* @remarks
|
169
|
+
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
|
170
|
+
*
|
171
|
+
* @param value - the entire field values.
|
172
|
+
*
|
173
|
+
* @example
|
174
|
+
* ```tsx
|
175
|
+
* <button
|
176
|
+
* type="button"
|
177
|
+
* onClick={() => replace([{ name: "data" }, { name: "data" }])}
|
178
|
+
* >
|
179
|
+
* Replace
|
180
|
+
* </button>
|
181
|
+
* ```
|
182
|
+
*/
|
183
|
+
export type UseFieldArrayReplace<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>> = (value: FieldArray<TFieldValues, TFieldArrayName> | FieldArray<TFieldValues, TFieldArrayName>[]) => void;
|
184
|
+
export type UseFieldArrayReturn<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'> = {
|
185
|
+
swap: UseFieldArraySwap;
|
186
|
+
move: UseFieldArrayMove;
|
187
|
+
prepend: UseFieldArrayPrepend<TFieldValues, TFieldArrayName>;
|
188
|
+
append: UseFieldArrayAppend<TFieldValues, TFieldArrayName>;
|
189
|
+
remove: UseFieldArrayRemove;
|
190
|
+
insert: UseFieldArrayInsert<TFieldValues, TFieldArrayName>;
|
191
|
+
update: UseFieldArrayUpdate<TFieldValues, TFieldArrayName>;
|
192
|
+
replace: UseFieldArrayReplace<TFieldValues, TFieldArrayName>;
|
193
|
+
fields: FieldArrayWithId<TFieldValues, TFieldArrayName, TKeyName>[];
|
194
|
+
};
|
195
195
|
//# sourceMappingURL=fieldArray.d.ts.map
|
package/dist/types/fields.d.ts
CHANGED
@@ -1,29 +1,29 @@
|
|
1
|
-
import { IsFlatObject, Noop } from './utils';
|
2
|
-
import { RegisterOptions } from './validator';
|
3
|
-
export type InternalFieldName = string;
|
4
|
-
export type FieldName<TFieldValues extends FieldValues> = IsFlatObject<TFieldValues> extends true ? Extract<keyof TFieldValues, string> : string;
|
5
|
-
export type CustomElement<TFieldValues extends FieldValues> = {
|
6
|
-
name: FieldName<TFieldValues>;
|
7
|
-
type?: string;
|
8
|
-
value?: any;
|
9
|
-
disabled?: boolean;
|
10
|
-
checked?: boolean;
|
11
|
-
options?: HTMLOptionsCollection;
|
12
|
-
files?: FileList | null;
|
13
|
-
focus?: Noop;
|
14
|
-
};
|
15
|
-
export type FieldValue<TFieldValues extends FieldValues> = TFieldValues[InternalFieldName];
|
16
|
-
export type FieldValues = Record<string, any>;
|
17
|
-
export type NativeFieldValue = string | number | boolean | null | undefined | unknown[];
|
18
|
-
export type FieldElement<TFieldValues extends FieldValues = FieldValues> = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | CustomElement<TFieldValues>;
|
19
|
-
export type Ref = FieldElement;
|
20
|
-
export type Field = {
|
21
|
-
_f: {
|
22
|
-
ref: Ref;
|
23
|
-
name: InternalFieldName;
|
24
|
-
refs?: HTMLInputElement[];
|
25
|
-
mount?: boolean;
|
26
|
-
} & RegisterOptions;
|
27
|
-
};
|
28
|
-
export type FieldRefs = Partial<Record<InternalFieldName, Field>>;
|
1
|
+
import { IsFlatObject, Noop } from './utils';
|
2
|
+
import { RegisterOptions } from './validator';
|
3
|
+
export type InternalFieldName = string;
|
4
|
+
export type FieldName<TFieldValues extends FieldValues> = IsFlatObject<TFieldValues> extends true ? Extract<keyof TFieldValues, string> : string;
|
5
|
+
export type CustomElement<TFieldValues extends FieldValues> = {
|
6
|
+
name: FieldName<TFieldValues>;
|
7
|
+
type?: string;
|
8
|
+
value?: any;
|
9
|
+
disabled?: boolean;
|
10
|
+
checked?: boolean;
|
11
|
+
options?: HTMLOptionsCollection;
|
12
|
+
files?: FileList | null;
|
13
|
+
focus?: Noop;
|
14
|
+
};
|
15
|
+
export type FieldValue<TFieldValues extends FieldValues> = TFieldValues[InternalFieldName];
|
16
|
+
export type FieldValues = Record<string, any>;
|
17
|
+
export type NativeFieldValue = string | number | boolean | null | undefined | unknown[];
|
18
|
+
export type FieldElement<TFieldValues extends FieldValues = FieldValues> = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | CustomElement<TFieldValues>;
|
19
|
+
export type Ref = FieldElement;
|
20
|
+
export type Field = {
|
21
|
+
_f: {
|
22
|
+
ref: Ref;
|
23
|
+
name: InternalFieldName;
|
24
|
+
refs?: HTMLInputElement[];
|
25
|
+
mount?: boolean;
|
26
|
+
} & RegisterOptions;
|
27
|
+
};
|
28
|
+
export type FieldRefs = Partial<Record<InternalFieldName, Field>>;
|
29
29
|
//# sourceMappingURL=fields.d.ts.map
|