UNPKG

mui-rhf-integration

Version:

React Hook Form integration for MUI with strict TypeScript handling based on form context.

14 lines (13 loc) 1.86 kB
import { AutocompleteProps, ChipTypeMap, TextFieldProps } from '@mui/material'; import { ElementType, ReactNode } from 'react'; import { Control, FieldPath, FieldValues, RegisterOptions } from 'react-hook-form'; export type RhfAutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends ElementType = ChipTypeMap["defaultComponent"], TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TContext = any, TTransformedValues = TFieldValues> = Omit<AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>, "error" | "onChange" | "onBlur" | "value" | "renderInput"> & { control: Control<TFieldValues, TContext, TTransformedValues>; name: TName; rules?: Omit<RegisterOptions<NoInfer<TFieldValues>, NoInfer<TName>>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">; textFieldProps?: Omit<TextFieldProps, "error" | "onChange" | "onBlur" | "value" | "inputRef">; valueToOption?: (value: unknown) => T | undefined | null; optionToValue?: (option: T) => unknown; }; declare const RhfAutocomplete: <T, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends ElementType = ChipTypeMap["defaultComponent"], TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TContext = any, TTransformedValues = TFieldValues>({ control, name, rules, textFieldProps, multiple, valueToOption, optionToValue, loading, ...rest }: RhfAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent, TFieldValues, TName, TContext, TTransformedValues>) => ReactNode; export default RhfAutocomplete;