UNPKG

@dotconnor/grommet

Version:

focus on the essential experience

30 lines (25 loc) 844 B
import * as React from 'react'; export interface FormExtendedEvent<R = Record<string, unknown>, T = Element> extends React.FormEvent<T> { value: R; touched: Record<string, boolean>; } export interface FormProps<T> { errors?: {}; infos?: {}; messages?: { invalid?: string; required?: string }; onChange?: (value: T, options: { touched?: Record<string, boolean> }) => void; onSubmit?: (event: FormExtendedEvent<T>) => void; onReset?: (event: React.SyntheticEvent) => any; onValidate?: (validationResults: { errors: Record<string, any>; infos: Record<string, any>; }) => void; validate?: 'blur' | 'submit'; value?: {}; } export type TypedForm<T = unknown> = React.ComponentClass< FormProps<T> & Omit<JSX.IntrinsicElements['form'], 'onChange' | 'onSubmit'> >; declare const Form: TypedForm; export { Form };