UNPKG

@data-driven-forms/react-form-renderer

Version:

React Form Renderer. Data Driven Forms converts JSON form definitions into fully functional React forms.

39 lines (34 loc) 1.52 kB
import React, { ReactNode } from 'react'; import { FormApi } from 'final-form'; import ComponentMapper from '../common-types/component-mapper'; import { ValidatorMapper } from '../validator-mapper'; import { ActionMapper } from '../form-renderer'; import Field from '../common-types/field'; import { AnyObject } from '../common-types/any-object'; import Schema from '../common-types/schema'; import { ConditionMapper } from '../form-renderer/condition-mapper'; export interface FormOptions<FormValues = Record<string, any>, InitialFormValues = Partial<FormValues>> extends FormApi<FormValues, InitialFormValues> { registerInputFile?: (name: keyof FormValues) => void; unRegisterInputFile?: (name: keyof FormValues) => void; onCancel?: (values: FormValues, ...args: any[]) => void; onReset?: () => void; handleSubmit: () => Promise<FormValues | undefined> | undefined; clearedValue?: any; renderForm: (fields: Field[]) => ReactNode[]; internalRegisterField: (name: keyof FormValues) => void; internalUnregisterField: (name: keyof FormValues) => void; getRegisteredFields: () => string[]; ffGetRegisteredFields: () => string[]; initialValues: InitialFormValues; schema: Schema; } export interface RendererContextValue { componentMapper: ComponentMapper; validatorMapper: ValidatorMapper; actionMapper: ActionMapper; formOptions: FormOptions; conditionMapper: ConditionMapper; } declare const RendererContext: React.Context<RendererContextValue>; export default RendererContext;