mui-rhf-integration
Version:
React Hook Form integration for MUI with strict TypeScript handling based on form context.
15 lines (14 loc) • 1.47 kB
TypeScript
import { DateTimePickerProps, DateTimePickerSlotProps, PickerValidDate } from '@mui/x-date-pickers';
import { PickersTextFieldProps } from '@mui/x-date-pickers/PickersTextField';
import { ReactNode } from 'react';
import { Control, FieldPathByValue, FieldValues, RegisterOptions } from 'react-hook-form';
export type RhfDateTimePickerProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPathByValue<TFieldValues, PickerValidDate | null | undefined> = FieldPathByValue<TFieldValues, PickerValidDate | null | undefined>, TContext = any, TTransformedValues = TFieldValues> = Omit<DateTimePickerProps, "onChange" | "value" | "slotProps"> & {
control: Control<TFieldValues, TContext, TTransformedValues>;
name: TName;
rules?: Omit<RegisterOptions<NoInfer<TFieldValues>, NoInfer<TName>>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">;
slotProps?: Omit<DateTimePickerSlotProps, "textField"> & {
textField?: Partial<PickersTextFieldProps>;
};
};
declare const RhfDateTimePicker: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPathByValue<TFieldValues, PickerValidDate | null | undefined> = FieldPathByValue<TFieldValues, PickerValidDate | null | undefined>, TContext = any, TTransformedValues = TFieldValues>({ control, name, rules, slotProps, ...datePickerProps }: RhfDateTimePickerProps<TFieldValues, TName, TContext, TTransformedValues>) => ReactNode;
export default RhfDateTimePicker;