|
1 |
| -import { ComponentType, FunctionComponent, ReactNode } from 'react'; |
| 1 | +import { ComponentType, ReactElement, FunctionComponent, ReactNode } from 'react'; |
2 | 2 | import { FormProps } from 'react-final-form';
|
3 | 3 | import Schema from '../common-types/schema';
|
4 | 4 | import ComponentMapper from '../common-types/component-mapper';
|
5 |
| -import { ValidatorMapper} from '../validator-mapper'; |
| 5 | +import { ValidatorMapper } from '../validator-mapper'; |
6 | 6 | import { ActionMapper } from './action-mapper';
|
7 | 7 | import SchemaValidatorMapper from '../common-types/schema-validator-mapper';
|
8 | 8 | import { FormTemplateRenderProps } from '../common-types/form-template-render-props';
|
9 | 9 | import { AnyObject } from '../common-types/any-object';
|
10 | 10 |
|
11 |
| -export interface FormRendererProps extends Omit<FormProps, 'onSubmit'> { |
12 |
| - initialValues?: object; |
13 |
| - onCancel?: (values: AnyObject, ...args: any[]) => void; |
| 11 | +export interface FormRendererProps< |
| 12 | + FormValues = Record<string, any>, |
| 13 | + InitialFormValues = Partial<FormValues>, |
| 14 | + FormTemplateProps extends FormTemplateRenderProps = FormTemplateRenderProps |
| 15 | +> extends Omit<FormProps<FormValues, InitialFormValues>, 'onSubmit'> { |
| 16 | + initialValues?: InitialFormValues; |
| 17 | + onCancel?: (values: FormValues, ...args: any[]) => void; |
14 | 18 | onReset?: () => void;
|
15 | 19 | onError?: (...args: any[]) => void;
|
16 |
| - onSubmit?: FormProps['onSubmit'] |
| 20 | + onSubmit?: FormProps<FormValues, InitialFormValues>['onSubmit']; |
17 | 21 | schema: Schema;
|
18 | 22 | clearOnUnmount?: boolean;
|
19 | 23 | clearedValue?: any;
|
20 | 24 | componentMapper: ComponentMapper;
|
21 |
| - FormTemplate?: ComponentType<FormTemplateRenderProps> | FunctionComponent<FormTemplateRenderProps>; |
| 25 | + FormTemplate?: ComponentType<FormTemplateProps> | FunctionComponent<FormTemplateProps>; |
22 | 26 | validatorMapper?: ValidatorMapper;
|
23 | 27 | actionMapper?: ActionMapper;
|
24 | 28 | schemaValidatorMapper?: SchemaValidatorMapper;
|
25 |
| - FormTemplateProps?: AnyObject; |
26 |
| - children?: ReactNode | ((props: FormTemplateRenderProps) => ReactNode) |
| 29 | + FormTemplateProps?: Partial<FormTemplateProps>; |
| 30 | + children?: ReactNode | ((props: FormTemplateRenderProps) => ReactNode); |
27 | 31 | }
|
28 | 32 |
|
29 |
| -declare const FormRenderer: React.ComponentType<FormRendererProps>; |
| 33 | +declare function FormRenderer< |
| 34 | + FormValues = Record<string, any>, |
| 35 | + InitialFormValues = Partial<FormValues>, |
| 36 | + FormTemplateProps extends FormTemplateRenderProps = FormTemplateRenderProps |
| 37 | +>(props: FormRendererProps<FormValues, InitialFormValues, FormTemplateProps>): ReactElement<any, any>; |
30 | 38 |
|
31 | 39 | export default FormRenderer;
|
0 commit comments