react-hook-form
Version:
Performant, flexible and extensible forms library for React Hooks
23 lines (22 loc) • 1.18 kB
TypeScript
import { UseFormMethods, FieldValues, FieldValuesFromControl, FieldName, ValidationRules, Control } from './form';
import { Assign } from './utils';
import * as React from 'react';
export declare type FormProviderProps<TFieldValues extends FieldValues = FieldValues> = {
children: React.ReactNode;
} & UseFormMethods<TFieldValues>;
declare type AsProps<TAs> = TAs extends undefined ? {} : TAs extends React.ReactElement ? Record<string, any> : TAs extends React.ComponentType<infer P> ? P : TAs extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[TAs] : never;
export declare type ControllerProps<TAs extends React.ReactElement | React.ComponentType<any> | 'input' | 'select' | 'textarea', TControl extends Control = Control> = Assign<{
name: FieldName<FieldValuesFromControl<TControl>>;
as?: TAs;
rules?: ValidationRules;
onFocus?: () => void;
defaultValue?: unknown;
control?: TControl;
render?: (data: {
onChange: (...event: any[]) => void;
onBlur: () => void;
value: any;
name: FieldName<FieldValuesFromControl<TControl>>;
}) => React.ReactElement;
}, AsProps<TAs>>;
export {};