@cosva-lab/form-builder
Version:
React form builder.
23 lines (22 loc) • 1.29 kB
TypeScript
import React, { ReactNode } from 'react';
import FieldBuilder from './utils/builders/FieldBuilder';
import { EventField, GetArrayValues, GetFields, GlobalPropsInterface, GridRender, InitialState, LabelPropsField, NameField, ValidationsFields, value } from './types';
export interface FieldsRenderProps<Name extends NameField, Item extends FieldBuilder<value, Name, LabelPropsField>, Fields extends Item[], FieldsObject> extends InitialState, GlobalPropsInterface, ValidationsFields<Name, Item, Fields, FieldsObject>, GridRender {
onChangeField?<Field extends keyof FieldsObject>(event: EventField<FieldsObject[Field], Field>, nativeEvent?: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>): void | (() => void);
children?: ReactNode;
fields: GetArrayValues<GetFields<FieldsObject>>;
}
export declare class FieldsRender<Name extends NameField, Item extends FieldBuilder<value, Name, LabelPropsField>, Fields extends Item[], FieldsObject> extends React.PureComponent<FieldsRenderProps<Name, Item, Fields, FieldsObject>> {
static defaultProps: {
ns: string;
transPosition: string;
};
/**
*
*
* @return {JSX.Element}
* @memberof FieldsRender
*/
render(): JSX.Element;
}
export default FieldsRender;