@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
26 lines (25 loc) • 1.35 kB
TypeScript
import { ReactElement, ReactNode } from 'react';
import { ControllerFieldState, ControllerProps, ControllerRenderProps, ErrorOption, FieldPath, FieldValues, UseFormStateReturn } from 'react-hook-form';
export type FieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<ControllerProps<TFieldValues, TName>, "render"> & {
render: ({ field, fieldState, formState, }: {
field: ControllerRenderProps<TFieldValues, TName> & {
id: string;
"aria-invalid": boolean;
"aria-errormessage": string;
};
fieldState: ControllerFieldState;
formState: UseFormStateReturn<TFieldValues>;
}) => ReactElement;
label?: ReactNode;
className?: string;
checkEmptyError?: boolean;
error?: ErrorOption;
/**
* Adds tooltip on top of field, helpful for explaining details about field
* */
tooltip?: ReactNode;
};
/**
* Registers form field with correct error and label handler built-in
* */
export declare const Field: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ label, name, className, checkEmptyError, render, error: errorProp, tooltip, ...props }: FieldProps<TFieldValues, TName>) => import("react").JSX.Element;