formik
Version:
Forms in React, without tears
142 lines (141 loc) • 8 kB
TypeScript
import * as React from 'react';
import { FormikActions, FormikConfig, FormikErrors, FormikState, FormikTouched, FormikValues } from './types';
export declare class Formik<Values = FormikValues> extends React.Component<FormikConfig<Values>, FormikState<Values>> {
static defaultProps: {
validateOnChange: boolean;
validateOnBlur: boolean;
isInitialValid: boolean;
enableReinitialize: boolean;
};
initialValues: Values;
didMount: boolean;
hcCache: {
[key: string]: (e: unknown | React.ChangeEvent<any>) => void;
};
hbCache: {
[key: string]: (e: any) => void;
};
fields: {
[field: string]: React.Component<any>;
};
validator: any;
constructor(props: FormikConfig<Values>);
registerField: (name: string, Comp: React.Component<any, {}, any>) => void;
unregisterField: (name: string) => void;
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: Readonly<FormikConfig<Values>>): void;
setErrors: (errors: FormikErrors<Values>) => void;
setTouched: (touched: FormikTouched<Values>) => void;
setValues: (values: Values) => void;
setStatus: (status?: any) => void;
setError: (error: any) => void;
setSubmitting: (isSubmitting: boolean) => void;
validateField: (field: string) => Promise<Object>;
runSingleFieldLevelValidation: (field: string, value: string | void) => Promise<string>;
runFieldLevelValidations(values: FormikValues): Promise<FormikErrors<Values>>;
runValidateHandler(values: FormikValues): Promise<FormikErrors<Values>>;
runValidationSchema: (values: FormikValues) => Promise<{}>;
runValidations: (values?: FormikValues) => Promise<FormikErrors<Values>>;
handleChange: (eventOrPath: string | React.ChangeEvent<any>) => void | ((eventOrValue: unknown) => void);
setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void;
handleSubmit: (e: React.FormEvent<HTMLFormElement> | undefined) => void;
submitForm: () => Promise<void>;
executeSubmit: () => void;
handleBlur: (eventOrPath: string | React.FocusEvent<any>) => void | ((e?: React.FocusEvent<any> | undefined) => void);
setFieldTouched: (field: string, touched?: boolean, shouldValidate?: boolean) => void;
setFieldError: (field: string, message: string | undefined) => void;
resetForm: (nextValues?: Values | undefined) => void;
handleReset: () => void;
setFormikState: (s: any, callback?: (() => void) | undefined) => void;
validateForm: (values: Values) => Promise<FormikErrors<Values>>;
getFormikActions: () => FormikActions<Values>;
getFormikComputedProps: () => {
dirty: boolean;
isValid: boolean;
initialValues: Values;
};
getFormikBag: () => {
registerField: (name: string, Comp: React.Component<any, {}, any>) => void;
unregisterField: (name: string) => void;
handleBlur: (eventOrPath: string | React.FocusEvent<any>) => void | ((e?: React.FocusEvent<any> | undefined) => void);
handleChange: (eventOrPath: string | React.ChangeEvent<any>) => void | ((eventOrValue: unknown) => void);
handleReset: () => void;
handleSubmit: (e: React.FormEvent<HTMLFormElement> | undefined) => void;
validateOnChange: boolean | undefined;
validateOnBlur: boolean | undefined;
dirty: boolean;
isValid: boolean;
initialValues: Values;
setStatus(status?: any): void;
setError(e: any): void;
setErrors(errors: FormikErrors<Values>): void;
setSubmitting(isSubmitting: boolean): void;
setTouched(touched: FormikTouched<Values>): void;
setValues(values: Values): void;
setFieldValue(field: keyof Values & string, value: any, shouldValidate?: boolean | undefined): void;
setFieldValue(field: string, value: any): void;
setFieldError(field: keyof Values & string, message: string): void;
setFieldError(field: string, message: string): void;
setFieldTouched(field: keyof Values & string, isTouched?: boolean | undefined, shouldValidate?: boolean | undefined): void;
setFieldTouched(field: string, isTouched?: boolean | undefined): void;
validateForm(values?: any): Promise<FormikErrors<Values>>;
validateField(field: string): void;
resetForm(nextValues?: Values | undefined): void;
submitForm(): void;
setFormikState<K extends "error" | "values" | "errors" | "touched" | "isValidating" | "isSubmitting" | "status" | "submitCount">(f: (prevState: Readonly<FormikState<Values>>, props: any) => Pick<FormikState<Values>, K>, callback?: (() => any) | undefined): void;
setFormikState<K extends "error" | "values" | "errors" | "touched" | "isValidating" | "isSubmitting" | "status" | "submitCount">(state: Pick<FormikState<Values>, K>, callback?: (() => any) | undefined): void;
values: Values;
error?: any;
errors: FormikErrors<Values>;
touched: FormikTouched<Values>;
isValidating: boolean;
isSubmitting: boolean;
status?: any;
submitCount: number;
};
getFormikContext: () => {
validationSchema: any;
validate: ((values: Values) => void | object | Promise<FormikErrors<Values>>) | undefined;
initialValues: Values;
registerField: (name: string, Comp: React.Component<any, {}, any>) => void;
unregisterField: (name: string) => void;
handleBlur: (eventOrPath: string | React.FocusEvent<any>) => void | ((e?: React.FocusEvent<any> | undefined) => void);
handleChange: (eventOrPath: string | React.ChangeEvent<any>) => void | ((eventOrValue: unknown) => void);
handleReset: () => void;
handleSubmit: (e: React.FormEvent<HTMLFormElement> | undefined) => void;
validateOnChange: boolean | undefined;
validateOnBlur: boolean | undefined;
dirty: boolean;
isValid: boolean;
setStatus(status?: any): void;
setError(e: any): void;
setErrors(errors: FormikErrors<Values>): void;
setSubmitting(isSubmitting: boolean): void;
setTouched(touched: FormikTouched<Values>): void;
setValues(values: Values): void;
setFieldValue(field: keyof Values & string, value: any, shouldValidate?: boolean | undefined): void;
setFieldValue(field: string, value: any): void;
setFieldError(field: keyof Values & string, message: string): void;
setFieldError(field: string, message: string): void;
setFieldTouched(field: keyof Values & string, isTouched?: boolean | undefined, shouldValidate?: boolean | undefined): void;
setFieldTouched(field: string, isTouched?: boolean | undefined): void;
validateForm(values?: any): Promise<FormikErrors<Values>>;
validateField(field: string): void;
resetForm(nextValues?: Values | undefined): void;
submitForm(): void;
setFormikState<K extends "error" | "values" | "errors" | "touched" | "isValidating" | "isSubmitting" | "status" | "submitCount">(f: (prevState: Readonly<FormikState<Values>>, props: any) => Pick<FormikState<Values>, K>, callback?: (() => any) | undefined): void;
setFormikState<K extends "error" | "values" | "errors" | "touched" | "isValidating" | "isSubmitting" | "status" | "submitCount">(state: Pick<FormikState<Values>, K>, callback?: (() => any) | undefined): void;
values: Values;
error?: any;
errors: FormikErrors<Values>;
touched: FormikTouched<Values>;
isValidating: boolean;
isSubmitting: boolean;
status?: any;
submitCount: number;
};
render(): JSX.Element;
}
export declare function yupToFormErrors<Values>(yupError: any): FormikErrors<Values>;
export declare function validateYupSchema<T extends FormikValues>(values: T, schema: any, sync?: boolean, context?: any): Promise<Partial<T>>;