mui-rhf-integration
Version:
React Hook Form integration for MUI with strict TypeScript handling based on form context.
22 lines (21 loc) • 1.5 kB
TypeScript
import { FormControlProps, FormGroupProps, FormLabelProps } from '@mui/material';
import { ReactNode } from 'react';
import { Control, FieldPathByValue, FieldValues, RegisterOptions } from 'react-hook-form';
export type CheckboxOption = {
value: string;
label: ReactNode;
};
export type RhfCheckboxGroupProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPathByValue<TFieldValues, string[] | null | undefined> = FieldPathByValue<TFieldValues, string[] | null | undefined>, TContext = any, TTransformedValues = TFieldValues> = Omit<FormControlProps<"fieldset">, "error" | "component" | "ref"> & {
control: Control<TFieldValues, TContext, TTransformedValues>;
name: TName;
rules?: Omit<RegisterOptions<TFieldValues, TName>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">;
label: string;
options: CheckboxOption[];
helperText?: string;
slotProps?: {
formLabel?: Omit<FormLabelProps<"legend">, "component">;
formGroup?: FormGroupProps;
};
};
declare const RhfCheckboxGroup: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPathByValue<TFieldValues, string[] | null | undefined> = FieldPathByValue<TFieldValues, string[] | null | undefined>, TContext = any, TTransformedValues = TFieldValues>({ control, name, rules, label, options, helperText, slotProps, ...formControlProps }: RhfCheckboxGroupProps<TFieldValues, TName, TContext, TTransformedValues>) => ReactNode;
export default RhfCheckboxGroup;