@andydowell/use-form-state
Version:
A React hook for managing form state and validation
39 lines (38 loc) • 1.07 kB
TypeScript
declare type FormFieldState<Value = any> = {
label: string;
value: Value;
isValid: boolean;
isInteracted: boolean;
isRequired: boolean;
helperText?: string;
error?: {
type?: string;
message?: string;
};
};
declare type FormState<Data> = {
[Key in keyof Data]: FormFieldState<Data[Key]>;
};
declare type ValidationParams<Value, Data> = {
[key: string]: {
validator: (value: Value, formState: FormState<Data>) => boolean;
message?: string;
order?: number;
};
};
declare type FormFieldParams<Data> = {
[Key in keyof Data]: {
defaultValue: Data[Key];
required?: {
message: string;
};
validation?: ValidationParams<Data[Key], Data>;
label?: string;
helperText?: string;
};
};
declare type FormStateOptions = {
errorUpdateDelayInSeconds?: number;
reinitializeDependencies?: any[];
};
export { FormFieldState, FormState, ValidationParams, FormFieldParams, FormStateOptions };