mui-rhf-integration
Version:
React Hook Form integration for MUI with strict TypeScript handling based on form context.
20 lines (19 loc) • 1.35 kB
TypeScript
import { FormControlProps, FormGroupProps, FormLabelProps } from '@mui/material';
import { ReactNode } from 'react';
import { Control, FieldPath, FieldValues, RegisterOptions } from 'react-hook-form';
export type CheckboxOption = {
value: string;
label: ReactNode;
};
export type RhfCheckboxGroupProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, 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;
formLabelProps?: Omit<FormLabelProps<"legend">, "component">;
formGroupProps?: FormGroupProps;
};
declare const RhfCheckboxGroup: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TContext = any, TTransformedValues = TFieldValues>({ control, name, rules, label, options, helperText, formLabelProps, formGroupProps, ...formControlProps }: RhfCheckboxGroupProps<TFieldValues, TName, TContext, TTransformedValues>) => ReactNode;
export default RhfCheckboxGroup;