UNPKG

mui-extended

Version:

Extended UI Components built on Material UI

26 lines (25 loc) 1.1 kB
import { JSONSchema7 } from "decorated-ajv"; import { Component, PropsWithChildren } from "react"; import { FormContextType } from "./FormContext"; export type FormFieldValidatorType = (name: string, value: unknown) => Promise<void>; export type FormProps<T extends Record<string, unknown>> = PropsWithChildren<{ initialValues: T; initialErrors?: Partial<Record<keyof T, string>>; onSubmit: (values: T) => Promise<void>; schemas?: Partial<Record<keyof T, JSONSchema7>>; validators?: Partial<Record<keyof T, FormFieldValidatorType>>; }>; export declare class Form<T extends Record<string, unknown>> extends Component<FormProps<T>, FormContextType<T>> { private validationErrors; constructor(props: FormProps<T>); private _getInitialState; onFieldBlur(name: keyof T): void; onFieldChange(name: keyof T, value: T[keyof T]): void; private _validateField; private _validateWrapper; validateField(name: keyof T): Promise<void>; validate(): Promise<void>; reset(): void; submit(): void; render(): import("react/jsx-runtime").JSX.Element; }