UNPKG

react-vite-themes

Version:

A test/experimental React theme system created for learning purposes. Features atomic design components, SCSS variables, and dark/light theme support. Not intended for production use.

36 lines 1.38 kB
import type { ValidationRule } from '../utils/validation'; export interface UseFormOptions { initialValues?: Record<string, unknown>; validationSchema?: Record<string, ValidationRule>; onSubmit?: (values: Record<string, unknown>) => void | Promise<void>; validateOnChange?: boolean; validateOnBlur?: boolean; } export interface UseFormReturn { values: Record<string, unknown>; errors: Record<string, string[]>; touched: Record<string, boolean>; isValid: boolean; isSubmitting: boolean; setValue: (field: string, value: unknown) => void; setValues: (values: Record<string, unknown>) => void; setFieldError: (field: string, error: string) => void; setFieldErrors: (errors: Record<string, string[]>) => void; validateField: (field: string) => void; validateForm: () => boolean; handleSubmit: (e?: React.FormEvent) => void; handleBlur: (field: string) => void; handleChange: (field: string, value: unknown) => void; reset: () => void; resetErrors: () => void; getFieldProps: (field: string) => { value: unknown; onChange: (value: unknown) => void; onBlur: () => void; error: string[]; isInvalid: boolean; isTouched: boolean; }; } export declare const useForm: (options?: UseFormOptions) => UseFormReturn; //# sourceMappingURL=useForm.d.ts.map