import * as React from 'react'; import PropTypes from 'prop-types'; import { Controller, useFormContext } from 'react-hook-form'; import Checkbox from '@mui/material/Checkbox'; function ControlledCheckbox(props) { const { control } = useFormContext(); const { required, name, defaultValue = false, disabled = false, onBlur, onChange, dataTest, ...checkboxProps } = props; return ( { return ( { controllerOnChange(...args); onChange?.(...args); }} onBlur={(...args) => { controllerOnBlur(); onBlur?.(...args); }} inputRef={ref} data-test={dataTest} /> ); }} /> ); } ControlledCheckbox.propTypes = { name: PropTypes.string.isRequired, defaultValue: PropTypes.bool, dataTest: PropTypes.string, required: PropTypes.bool, disabled: PropTypes.bool, onBlur: PropTypes.func, onChange: PropTypes.func, }; export default ControlledCheckbox;