react-hook-form 8.0.0-alpha.0 → 8.0.0-alpha.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.
@@ -1,3 +1,3 @@
1
1
  import { FieldValues, UseFormProps, UseFormReturn } from '../types';
2
- export declare function createFormControl<TFieldValues extends FieldValues = FieldValues, TContext extends object = object>(props?: UseFormProps<TFieldValues, TContext>): Omit<UseFormReturn<TFieldValues, TContext>, 'formState'>;
2
+ export declare function createFormControl<TFieldValues extends FieldValues = FieldValues, TContext = any>(props?: UseFormProps<TFieldValues, TContext>): Omit<UseFormReturn<TFieldValues, TContext>, 'formState'>;
3
3
  //# sourceMappingURL=createFormControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,WAAW,EAeX,YAAY,EAIZ,aAAa,EASd,MAAM,UAAU,CAAC;AAiDlB,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,SAAS,MAAM,GAAG,MAAM,EAEhC,KAAK,GAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAM,GAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAyoC1D"}
1
+ {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,WAAW,EAcX,YAAY,EAIZ,aAAa,EASd,MAAM,UAAU,CAAC;AAiDlB,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EAEd,KAAK,GAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAM,GAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CA0nC1D"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RegisterOptions } from './validator';
3
- import { Auto, Control, FieldError, FieldPathValue, FieldValues, Noop, PathString, RefCallBack, UnpackNestedValue, UseFormStateReturn } from './';
3
+ import { Auto, Control, FieldError, FieldPathValue, FieldValues, Noop, PathString, RefCallBack, UseFormStateReturn } from './';
4
4
  export declare type ControllerFieldState = {
5
5
  invalid: boolean;
6
6
  isTouched: boolean;
@@ -10,7 +10,7 @@ export declare type ControllerFieldState = {
10
10
  export declare type ControllerRenderProps<TFieldValues extends FieldValues, TName extends PathString> = {
11
11
  onChange: (...event: any[]) => void;
12
12
  onBlur: Noop;
13
- value: UnpackNestedValue<FieldPathValue<TFieldValues, TName>>;
13
+ value: FieldPathValue<TFieldValues, TName>;
14
14
  name: TName;
15
15
  ref: RefCallBack;
16
16
  };
@@ -18,7 +18,7 @@ export declare type UseControllerProps<TFieldValues extends FieldValues, TName e
18
18
  name: Auto.FieldPath<TFieldValues, TName>;
19
19
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs' | 'disabled'>;
20
20
  shouldUnregister?: boolean;
21
- defaultValue?: UnpackNestedValue<FieldPathValue<TFieldValues, TName>>;
21
+ defaultValue?: FieldPathValue<TFieldValues, TName>;
22
22
  control?: Control<TFieldValues>;
23
23
  };
24
24
  export declare type UseControllerReturn<TFieldValues extends FieldValues, TName extends PathString> = {
@@ -26,6 +26,27 @@ export declare type UseControllerReturn<TFieldValues extends FieldValues, TName
26
26
  formState: UseFormStateReturn<TFieldValues>;
27
27
  fieldState: ControllerFieldState;
28
28
  };
29
+ /**
30
+ * Render function to provide the control for the field.
31
+ *
32
+ * @returns all the event handler, and relevant field and form state.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * const { field, fieldState, formState } = useController();
37
+ *
38
+ * <Controller
39
+ * render={({ field, formState, fieldState }) => ({
40
+ * <input
41
+ * onChange={field.onChange}
42
+ * onBlur={field.onBlur}
43
+ * name={field.name}
44
+ * ref={field.ref} // optional for focus management
45
+ * />
46
+ * })}
47
+ * />
48
+ * ```
49
+ */
29
50
  export declare type ControllerProps<TFieldValues extends FieldValues, TName extends PathString> = {
30
51
  render: ({ field, fieldState, formState, }: {
31
52
  field: ControllerRenderProps<TFieldValues, TName>;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/types/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,cAAc,EACd,WAAW,EACX,IAAI,EACJ,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,IAAI,CAAC;AAEZ,oBAAY,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,oBAAY,qBAAqB,CAC/B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,oBAAY,kBAAkB,CAC5B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,IAAI,CACV,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,EACpC,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAC5D,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACjC,CAAC;AAEF,oBAAY,mBAAmB,CAC7B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,KAAK,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC5C,UAAU,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,oBAAY,eAAe,CACzB,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,MAAM,EAAE,CAAC,EACP,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE;QACD,KAAK,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,UAAU,EAAE,oBAAoB,CAAC;QACjC,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;KAC7C,KAAK,KAAK,CAAC,YAAY,CAAC;CAC1B,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/types/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,cAAc,EACd,WAAW,EACX,IAAI,EACJ,UAAU,EACV,WAAW,EACX,kBAAkB,EACnB,MAAM,IAAI,CAAC;AAEZ,oBAAY,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,oBAAY,qBAAqB,CAC/B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,oBAAY,kBAAkB,CAC5B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,IAAI,CACV,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,EACpC,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAC5D,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACjC,CAAC;AAEF,oBAAY,mBAAmB,CAC7B,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,KAAK,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC5C,UAAU,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,oBAAY,eAAe,CACzB,YAAY,SAAS,WAAW,EAChC,KAAK,SAAS,UAAU,IACtB;IACF,MAAM,EAAE,CAAC,EACP,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE;QACD,KAAK,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,UAAU,EAAE,oBAAoB,CAAC;QACjC,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;KAC7C,KAAK,KAAK,CAAC,YAAY,CAAC;CAC1B,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { FieldValues, InternalFieldName, Ref } from './fields';
2
- import { DeepMap, DeepPartial, LiteralUnion } from './utils';
2
+ import { LiteralUnion } from './utils';
3
3
  import { RegisterOptions, ValidateResult } from './validator';
4
4
  export declare type Message = string;
5
5
  export declare type MultipleFieldErrors = {
@@ -18,6 +18,12 @@ export declare type ErrorOption = {
18
18
  type?: LiteralUnion<keyof RegisterOptions, string>;
19
19
  types?: MultipleFieldErrors;
20
20
  };
21
- export declare type FieldErrors<TFieldValues extends FieldValues = FieldValues> = DeepMap<DeepPartial<TFieldValues>, FieldError>;
21
+ declare type Merge<A, B> = {
22
+ [K in keyof A | keyof B]?: K extends keyof A ? K extends keyof B ? [A[K], B[K]] extends [object, object] ? Merge<A[K], B[K]> : A[K] | B[K] : A[K] : K extends keyof B ? B[K] : never;
23
+ };
24
+ export declare type FieldErrors<T extends FieldValues = FieldValues> = {
25
+ [K in keyof T]?: T[K] extends object ? Merge<FieldError, FieldErrors<T[K]>> : FieldError;
26
+ };
22
27
  export declare type InternalFieldErrors = Partial<Record<InternalFieldName, FieldError>>;
28
+ export {};
23
29
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,oBAAY,OAAO,GAAG,MAAM,CAAC;AAE7B,oBAAY,mBAAmB,GAAG;KAC/B,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,cAAc;CAC9C,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAC/B,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,YAAY,CAAC,MAAM,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,eAAe,EAAE,MAAM,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,oBAAY,WAAW,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,IACpE,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;AAEjD,oBAAY,mBAAmB,GAAG,OAAO,CACvC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CACtC,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,oBAAY,OAAO,GAAG,MAAM,CAAC;AAE7B,oBAAY,mBAAmB,GAAG;KAC/B,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,cAAc;CAC9C,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAC/B,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,YAAY,CAAC,MAAM,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,eAAe,EAAE,MAAM,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,aAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GACxC,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACb,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACV,CAAC;AAEF,oBAAY,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;KAC5D,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAChC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,UAAU;CACf,CAAC;AAEF,oBAAY,mBAAmB,GAAG,OAAO,CACvC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CACtC,CAAC"}
@@ -6,22 +6,186 @@ export declare type UseFieldArrayProps<TFieldValues extends FieldValues, TFieldA
6
6
  control?: Control<TFieldValues>;
7
7
  shouldUnregister?: boolean;
8
8
  };
9
+ /**
10
+ * `useFieldArray` returned `fields` with unique id
11
+ */
9
12
  export declare type FieldArrayWithId<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends PathString = never> = FieldArray<TFieldValues, TFieldArrayName> & Record<'id', string>;
10
13
  export declare type FieldArray<TFieldValues extends FieldValues, TFieldArrayName extends PathString> = FieldPathValue<TFieldValues, TFieldArrayName> extends ReadonlyArray<infer U> | null | undefined ? U : never;
14
+ /**
15
+ * `useFieldArray` focus option, ability to toggle focus on and off with `shouldFocus` and setting focus by either field index or name.
16
+ */
11
17
  export declare type FieldArrayMethodProps = {
12
18
  shouldFocus?: boolean;
13
19
  focusIndex?: number;
14
20
  focusName?: string;
15
21
  };
22
+ /**
23
+ * Swap field array by supplying from and to index
24
+ *
25
+ * @remarks
26
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
27
+ *
28
+ * @param indexA - from index
29
+ * @param indexB - to index
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <button type="button" onClick={() => swap(0, 1)}>swap</button>
34
+ * ```
35
+ */
36
+ export declare type UseFieldArraySwap = (indexA: number, indexB: number) => void;
37
+ /**
38
+ * Move field array by supplying from and to index
39
+ *
40
+ * @remarks
41
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
42
+ *
43
+ * @param indexA - from index
44
+ * @param indexB - to index
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * <button type="button" onClick={() => move(0, 1)}>swap</button>
49
+ * ```
50
+ */
51
+ export declare type UseFieldArrayMove = (indexA: number, indexB: number) => void;
52
+ /**
53
+ * Prepend field/fields to the start of the fields and optionally focus. The input value will be registered during this action.
54
+ *
55
+ * @remarks
56
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
57
+ *
58
+ * @param value - prepend items or items
59
+ * @param options - focus options
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * <button type="button" onClick={() => prepend({ name: "data" })}>Prepend</button>
64
+ * <button type="button" onClick={() => prepend({ name: "data" }, { shouldFocus: false })}>Prepend</button>
65
+ * <button
66
+ * type="button"
67
+ * onClick={() => prepend([{ name: "data" }, { name: "data" }])}
68
+ * >
69
+ * Prepend
70
+ * </button>
71
+ * ```
72
+ */
73
+ export declare type UseFieldArrayPrepend<TFieldValues, TFieldArrayName extends PathString> = (value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[], options?: FieldArrayMethodProps) => void;
74
+ /**
75
+ * Append field/fields to the end of your fields and focus. The input value will be registered during this action.
76
+ *
77
+ * @remarks
78
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
79
+ *
80
+ * @param value - append items or items.
81
+ * @param options - focus options
82
+ *
83
+ * @example
84
+ * ```tsx
85
+ * <button type="button" onClick={() => prepend({ name: "data" })}>Append</button>
86
+ * <button type="button" onClick={() => prepend({ name: "data" }, { shouldFocus: false })}>Append</button>
87
+ * <button
88
+ * type="button"
89
+ * onClick={() => append([{ name: "data" }, { name: "data" }])}
90
+ * >
91
+ * Append
92
+ * </button>
93
+ * ```
94
+ */
95
+ export declare type UseFieldArrayAppend<TFieldValues, TFieldArrayName extends PathString> = (value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[], options?: FieldArrayMethodProps) => void;
96
+ /**
97
+ * Remove field/fields at particular position.
98
+ *
99
+ * @remarks
100
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
101
+ *
102
+ * @param index - index to remove at, or remove all when no index provided.
103
+ *
104
+ * @example
105
+ * ```tsx
106
+ * <button type="button" onClick={() => remove(0)}>Remove</button>
107
+ * <button
108
+ * type="button"
109
+ * onClick={() => remove()}
110
+ * >
111
+ * Remove all
112
+ * </button>
113
+ * ```
114
+ */
115
+ export declare type UseFieldArrayRemove = (index?: number | number[]) => void;
116
+ /**
117
+ * Insert field/fields at particular position and focus.
118
+ *
119
+ * @remarks
120
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
121
+ *
122
+ * @param index - insert position
123
+ * @param value - insert field or fields
124
+ * @param options - focus options
125
+ *
126
+ * @example
127
+ * ```tsx
128
+ * <button type="button" onClick={() => insert(1, { name: "data" })}>Insert</button>
129
+ * <button type="button" onClick={() => insert(1, { name: "data" }, { shouldFocus: false })}>Insert</button>
130
+ * <button
131
+ * type="button"
132
+ * onClick={() => insert(1, [{ name: "data" }, { name: "data" }])}
133
+ * >
134
+ * Insert
135
+ * </button>
136
+ * ```
137
+ */
138
+ export declare type UseFieldArrayInsert<TFieldValues, TFieldArrayName extends PathString> = (index: number, value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[], options?: FieldArrayMethodProps) => void;
139
+ /**
140
+ * Update field/fields at particular position.
141
+ *
142
+ * @remarks
143
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
144
+ *
145
+ * @param index - insert position
146
+ * @param value - insert field or fields
147
+ *
148
+ * @example
149
+ * ```tsx
150
+ * <button type="button" onClick={() => update(1, { name: "data" })}>Update</button>
151
+ * <button
152
+ * type="button"
153
+ * onClick={() => update(1, [{ name: "data" }, { name: "data" }])}
154
+ * >
155
+ * Update
156
+ * </button>
157
+ * ```
158
+ */
159
+ declare type UseFieldArrayUpdate<TFieldValues, TFieldArrayName extends PathString> = (index: number, value: FieldArray<TFieldValues, TFieldArrayName>) => void;
160
+ /**
161
+ * Replace the entire field array values.
162
+ *
163
+ * @remarks
164
+ * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/calc-i231d)
165
+ *
166
+ * @param value - the entire field values.
167
+ *
168
+ * @example
169
+ * ```tsx
170
+ * <button
171
+ * type="button"
172
+ * onClick={() => update([{ name: "data" }, { name: "data" }])}
173
+ * >
174
+ * Replace
175
+ * </button>
176
+ * ```
177
+ */
178
+ declare type UseFieldArrayReplace<TFieldValues extends FieldValues, TFieldArrayName extends PathString> = (value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[]) => void;
16
179
  export declare type UseFieldArrayReturn<TFieldValues extends FieldValues, TFieldArrayName extends PathString> = {
17
- swap: (indexA: number, indexB: number) => void;
18
- move: (indexA: number, indexB: number) => void;
19
- prepend: (value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[], options?: FieldArrayMethodProps) => void;
20
- append: (value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[], options?: FieldArrayMethodProps) => void;
21
- remove: (index?: number | number[]) => void;
22
- insert: (index: number, value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[], options?: FieldArrayMethodProps) => void;
23
- update: (index: number, value: Partial<FieldArray<TFieldValues, TFieldArrayName>>) => void;
24
- replace: (value: Partial<FieldArray<TFieldValues, TFieldArrayName>> | Partial<FieldArray<TFieldValues, TFieldArrayName>>[]) => void;
180
+ swap: UseFieldArraySwap;
181
+ move: UseFieldArrayMove;
182
+ prepend: UseFieldArrayPrepend<TFieldValues, TFieldArrayName>;
183
+ append: UseFieldArrayAppend<TFieldValues, TFieldArrayName>;
184
+ remove: UseFieldArrayRemove;
185
+ insert: UseFieldArrayInsert<TFieldValues, TFieldArrayName>;
186
+ update: UseFieldArrayUpdate<TFieldValues, TFieldArrayName>;
187
+ replace: UseFieldArrayReplace<TFieldValues, TFieldArrayName>;
25
188
  fields: FieldArrayWithId<TFieldValues, TFieldArrayName>[];
26
189
  };
190
+ export {};
27
191
  //# sourceMappingURL=fieldArray.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fieldArray.d.ts","sourceRoot":"","sources":["../../src/types/fieldArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1D,oBAAY,kBAAkB,CAC5B,YAAY,SAAS,WAAW,EAChC,eAAe,SAAS,UAAU,IAChC;IACF,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,oBAAY,gBAAgB,CAC1B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,eAAe,SAAS,UAAU,GAAG,KAAK,IACxC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAErE,oBAAY,UAAU,CACpB,YAAY,SAAS,WAAW,EAChC,eAAe,SAAS,UAAU,IAChC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,SAC7C,aAAa,CAAC,MAAM,CAAC,CAAC,GACtB,IAAI,GACJ,SAAS,GACT,CAAC,GACD,KAAK,CAAC;AAEV,oBAAY,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,mBAAmB,CAC7B,YAAY,SAAS,WAAW,EAChC,eAAe,SAAS,UAAU,IAChC;IACF,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,CACP,KAAK,EACD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,EACxD,OAAO,CAAC,EAAE,qBAAqB,KAC5B,IAAI,CAAC;IACV,MAAM,EAAE,CACN,KAAK,EACD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,EACxD,OAAO,CAAC,EAAE,qBAAqB,KAC5B,IAAI,CAAC;IACV,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,KAAK,EACD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,EACxD,OAAO,CAAC,EAAE,qBAAqB,KAC5B,IAAI,CAAC;IACV,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,KACtD,IAAI,CAAC;IACV,OAAO,EAAE,CACP,KAAK,EACD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,KACrD,IAAI,CAAC;IACV,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,EAAE,CAAC;CAC3D,CAAC"}
1
+ {"version":3,"file":"fieldArray.d.ts","sourceRoot":"","sources":["../../src/types/fieldArray.ts"],"names":[],"mappings":"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"}