UNPKG

@wener/ui

Version:

48 lines (47 loc) 1.7 kB
import { OptionLike } from './options'; import React from 'react'; export declare type Widget = string | React.ReactNode | React.ComponentClass | React.FunctionComponent | ((item: any) => React.ReactNode); export interface FormFieldProps { key: string; name?: string | string[]; label?: string | React.ReactNode; defaultValue?: any; autoFocus?: boolean; disabled?: boolean; readOnly?: boolean; placeholder?: any; widget?: Widget; widgetComponent?: React.ElementType; widgetProps?: any; required?: boolean; options?: OptionLike; rules?: any[]; render?: (props: { field: FormFieldProps; }) => any; getValueFromEvent?: (...args: any[]) => any; normalize?: (value: any, prevValue: any, prevValues: any) => any; help?: React.ReactNode; extra?: React.ReactNode; fieldProps?: any; trigger?: string; valuePropName?: string; validateTrigger?: string | string[]; [k: string]: any; } export interface FormBuilderOptions { widgets?: Widget[]; } export declare function normalizeField(item: FormFieldProps, normalizers?: Array<(v: FormFieldProps) => FormFieldProps>): FormFieldProps; export declare const Widgets: Record<string, Widget>; export declare function buildInitialValues(fields: FormFieldProps[]): any; export interface FormFieldBuilderProps extends FormBuilderOptions { field: FormFieldProps; pure?: boolean; } export declare const FormFieldBuilder: React.FC<FormFieldBuilderProps>; export interface FormFieldsBuilderOptions extends FormBuilderOptions { fields: FormFieldProps[]; pure?: boolean; } export declare const FormFieldsBuilder: React.FC<FormFieldsBuilderOptions>;