@unicity/design-system
Version:
A comprehensive React component library built on Material-UI with advanced theming capabilities including neumorphism design support
16 lines • 1.19 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { FormControlLabel, FormHelperText, } from '@mui/material';
import { StyledCheckbox, StyledFormControl } from './Checkbox.style';
export const Checkbox = ({ label, checked = false, indeterminate = false, onChange, disabled = false, error = false, helperText, size = 'medium', color = 'primary', required = false, labelPlacement = 'end', ...props }) => {
const handleChange = (event) => {
if (onChange) {
onChange(event.target.checked, event);
}
};
const checkboxElement = (_jsx(StyledCheckbox, { checked: checked, indeterminate: indeterminate, onChange: handleChange, disabled: disabled, size: size, color: color, required: required, ...props }));
if (!label && !helperText) {
return checkboxElement;
}
return (_jsxs(StyledFormControl, { error: error, disabled: disabled, children: [label ? (_jsx(FormControlLabel, { control: checkboxElement, label: label, labelPlacement: labelPlacement, disabled: disabled, required: required })) : (checkboxElement), helperText && (_jsx(FormHelperText, { children: helperText }))] }));
};
//# sourceMappingURL=Checkbox.js.map