UNPKG

@easykit/design

Version:

Easy kit design components

26 lines (25 loc) 1.05 kB
import { FC, FormHTMLAttributes, PropsWithChildren, ReactElement, ReactNode, Ref } from 'react'; import { ControllerRenderProps, DefaultValues, SubmitHandler, UseFormReturn, Control, FieldValues, WatchObserver } from 'react-hook-form'; import { ZodType } from 'zod'; export interface RenderProps extends ControllerRenderProps { placeholder?: string; } export interface FieldItem<T extends FieldValues> extends PropsWithChildren { name: string; label?: string | ReactNode; description?: string; control?: Control<T>; className?: string; } export type FormProps<T extends FieldValues> = Omit<FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> & { schema?: ZodType<T>; defaultValues?: DefaultValues<T>; onSubmit?: SubmitHandler<T>; className?: string; onValuesChange?: WatchObserver<T>; stopPropagation?: boolean; }; export declare const FormItem: FC<FieldItem<any>>; export declare const Form: <T extends FieldValues>(props: FormProps<T> & { ref?: Ref<UseFormReturn<T> | undefined>; }) => ReactElement;