UNPKG

react-swift-form

Version:
33 lines (31 loc) 1.28 kB
import { FormEvent, RefObject } from 'react'; import { IFormContext, IFormMode, IFormRevalidateMode, IMessages, IResetHandler, ISubmitErrorHandler, ISubmitHandler, ITransformers, IValidator, IValidatorObject } from '../types'; export interface IUseFormProps { defaultValues?: Record<string, unknown>; errorCallback?: (error: Error) => void; filterLocalErrors?: boolean; focusOnError?: boolean; form?: HTMLFormElement; messages?: IMessages; mode?: IFormMode; onBlurOptOut?: string[] | string; onChangeOptOut?: string[] | string; onReset?: IResetHandler; onSubmit?: ISubmitHandler; onSubmitError?: ISubmitErrorHandler; revalidateMode?: IFormRevalidateMode; transformers?: ITransformers; useNativeValidation?: boolean; validators?: Record<string, IValidator | IValidatorObject>; } export interface INativeFormProps { noValidate: boolean; onChange: (event: FormEvent<HTMLFormElement>) => void; onReset: (event: FormEvent<HTMLFormElement>) => void; onSubmit: (event: FormEvent<HTMLFormElement>) => void; ref: RefObject<HTMLFormElement>; } export interface IUseFormResult extends IFormContext { formProps: INativeFormProps; } export declare function useForm(props?: IUseFormProps): IUseFormResult;