niceform-hook
Version:
Dynamic workhorse for form in react
22 lines • 1.19 kB
TypeScript
/// <reference types="react" />
import type { FieldErrors, FieldValues, UseFormReturn } from "react-hook-form";
import type { CreatePropsDefinition } from "./CreatePropsDefinition";
import type { ErrorsControlParameters } from "./ErrorsControlParameters";
import { Field } from "./Field";
export interface ComponentDefinition<FieldProps = Record<string, any>> {
render(args: {
name: string;
} & FieldProps): React.ReactNode;
}
export type CreateConfig<T extends CreatePropsDefinition> = {
components: Record<unknown extends T['componentsType'] ? string : T['componentsType'], ComponentDefinition<T['fieldProps']>>;
errorsControl?: Array<((parameters: ErrorsControlParameters<T['fieldProps']>) => string | undefined | boolean | void) | ((parameters: ErrorsControlParameters<T['fieldProps']>) => Promise<string | undefined | boolean | void>)>;
debounceTime?: number;
enableDebounce?: boolean;
enableDebounceOnSubmit?: boolean;
onErrorDuringSubmit?(errors: FieldErrors, context: {
methods: UseFormReturn<any>;
getField(name: string): Field<T['fieldProps'], FieldValues> | undefined;
}): any;
};
//# sourceMappingURL=CreateConfig.d.ts.map