@nlabs/gothamjs
Version:
Platform
21 lines (20 loc) • 1.03 kB
TypeScript
import { useForm } from 'react-hook-form';
import { z } from 'zod';
import type { BaseSyntheticEvent, ReactNode } from 'react';
export interface FormProps<T> {
readonly children: ReactNode | ((methods: ReturnType<typeof useForm>) => ReactNode);
readonly className?: string;
readonly defaultValues?: Record<string, unknown>;
readonly errors?: Record<string, unknown>;
readonly mode?: 'onSubmit' | 'onBlur' | 'onChange' | 'onTouched' | 'all';
readonly name?: string;
readonly onChange?: (data: unknown) => void;
readonly onSubmit: (data: T, event: BaseSyntheticEvent, setError: (field: string, error: {
type: string;
message: string;
}) => void) => void;
readonly schema?: z.ZodSchema<T>;
readonly validate?: (data: unknown) => void;
readonly validateOnBlur?: boolean;
}
export declare const Form: <T extends Record<string, unknown>>({ children, className, defaultValues, errors, mode, name, schema, onSubmit }: FormProps<T>) => import("react/jsx-runtime").JSX.Element;