import { Switch as $Switch, type SwitchProps as $SwitchProps } from "@mantine/core"; import { type FieldValues, type UseControllerProps, useController } from "react-hook-form"; export type SwitchProps = UseControllerProps & Omit<$SwitchProps, "value" | "checked" | "defaultValue">; export function MantineSwitch({ name, control, defaultValue, rules, shouldUnregister, onChange, ...props }: SwitchProps) { const { field: { value, onChange: fieldOnChange, ...field }, fieldState, } = useController({ name, control, defaultValue, rules, shouldUnregister, }); return ( <$Switch value={value} checked={value} onChange={(e) => { fieldOnChange(e); onChange?.(e); }} error={fieldState.error?.message} {...field} {...props} /> ); }