formguardian-react
Version:
A reusable, customizable Form Validator Widget for React with comprehensive validation, error handling, and micro-animations.
28 lines (27 loc) • 1.35 kB
TypeScript
/**
* Custom React hooks for form handling
*/
import type { FieldConfig, FormState } from '../lib/types';
/**
* Hook for managing form state and validation
*/
export declare function useFormValidator(fields: FieldConfig[], validationMode?: 'onChange' | 'onBlur' | 'onSubmit', inputDebounceMs?: number): {
formState: FormState;
setFieldValue: (fieldName: string, value: unknown) => Promise<void>;
setFieldTouched: (fieldName: string) => Promise<void>;
validateFormFields: () => Promise<boolean>;
validateSingleField: (fieldName: string, value: unknown) => Promise<string>;
resetForm: () => void;
setFieldValues: (values: Record<string, unknown>) => void;
setFormState: import("react").Dispatch<import("react").SetStateAction<FormState>>;
};
/**
* Hook for managing form submission
*/
export declare function useFormSubmission(onSubmit: (values: Record<string, unknown>) => void | Promise<void>, validateForm: () => Promise<boolean>, currentValues: Record<string, unknown>, submitThrottleMs?: number, setFormState?: React.Dispatch<React.SetStateAction<FormState>>): {
handleSubmit: (e?: React.FormEvent<HTMLFormElement>) => void;
isSubmitting: boolean;
isThrottled: boolean;
submitError: string | null;
setSubmitError: import("react").Dispatch<import("react").SetStateAction<string | null>>;
};