import type { RegisterOptions } from "react-hook-form" import type { IntlShape } from "react-intl" import type { MaterialIconProps } from "../../Icons/MaterialIcon" import type { InputProps } from "../../Input/types" export interface FormInputProps extends InputProps { /** Helper text displayed below the input (hidden when there's an error) */ description?: string /** Icon to display with the description text. Defaults to 'info' */ descriptionIcon?: MaterialIconProps["icon"] /** Field id for react-hook-form registration */ id?: string /** Field name for react-hook-form registration */ name: string /** react-hook-form validation rules */ registerOptions?: RegisterOptions /** Hide the error message (useful when showing errors elsewhere) */ hideError?: boolean /** Custom formatter for error messages with i18n support */ errorFormatter?: (intl: IntlShape, errorMessage?: string) => string /** * Visual validation state for the input. * - 'warning': Shows warning styling (yellow background, focus ring) * - Note: Error state is automatically derived from form validation */ validationState?: "warning" }