1 |
|
2 | import * as React from 'react';
|
3 | import { FormikContextType, FormikProps, SharedRenderProps } from './types';
|
4 | export type FieldArrayRenderProps = ArrayHelpers & {
|
5 | form: FormikProps<any>;
|
6 | name: string;
|
7 | };
|
8 | export type FieldArrayConfig = {
|
9 |
|
10 | name: string;
|
11 |
|
12 | validateOnChange?: boolean;
|
13 | } & SharedRenderProps<FieldArrayRenderProps>;
|
14 | export interface ArrayHelpers<T extends any[] = any[]> {
|
15 |
|
16 | push<X = T[number]>(obj: X): void;
|
17 |
|
18 | handlePush<X = T[number]>(obj: X): () => void;
|
19 |
|
20 | swap: (indexA: number, indexB: number) => void;
|
21 |
|
22 | handleSwap: (indexA: number, indexB: number) => () => void;
|
23 |
|
24 | move: (from: number, to: number) => void;
|
25 |
|
26 | handleMove: (from: number, to: number) => () => void;
|
27 |
|
28 | insert<X = T[number]>(index: number, value: X): void;
|
29 |
|
30 | handleInsert<X = T[number]>(index: number, value: X): () => void;
|
31 |
|
32 | replace<X = T[number]>(index: number, value: X): void;
|
33 |
|
34 | handleReplace<X = T[number]>(index: number, value: X): () => void;
|
35 |
|
36 | unshift<X = T[number]>(value: X): number;
|
37 |
|
38 | handleUnshift<X = T[number]>(value: X): () => void;
|
39 |
|
40 | handleRemove: (index: number) => () => void;
|
41 |
|
42 | handlePop: () => () => void;
|
43 |
|
44 | remove<X = T[number]>(index: number): X | undefined;
|
45 |
|
46 | pop<X = T[number]>(): X | undefined;
|
47 | }
|
48 |
|
49 |
|
50 |
|
51 | export declare const move: <T>(array: T[], from: number, to: number) => unknown[];
|
52 | export declare const swap: <T>(arrayLike: ArrayLike<T>, indexA: number, indexB: number) => unknown[];
|
53 | export declare const insert: <T>(arrayLike: ArrayLike<T>, index: number, value: T) => unknown[];
|
54 | export declare const replace: <T>(arrayLike: ArrayLike<T>, index: number, value: T) => unknown[];
|
55 | export declare const FieldArray: React.FC<FieldArrayConfig> & import("hoist-non-react-statics").NonReactStatics<React.ComponentClass<{
|
56 |
|
57 | name: string;
|
58 |
|
59 | validateOnChange?: boolean | undefined;
|
60 | } & SharedRenderProps<FieldArrayRenderProps> & {
|
61 | formik: FormikContextType<any>;
|
62 | }, any>, {}>;
|