@unicity/design-system
Version:
A comprehensive React component library built on Material-UI with advanced theming capabilities including neumorphism design support
16 lines • 1.12 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { FormControlLabel, FormHelperText } from '@mui/material';
import { StyledSwitch, StyledFormControl } from './Switch.style';
export const Switch = ({ label, checked = 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 switchElement = (_jsx(StyledSwitch, { checked: checked, onChange: handleChange, disabled: disabled, size: size, color: color, required: required, ...props }));
if (!label && !helperText) {
return switchElement;
}
return (_jsxs(StyledFormControl, { error: error, disabled: disabled, children: [label ? (_jsx(FormControlLabel, { control: switchElement, label: label, labelPlacement: labelPlacement, disabled: disabled, required: required })) : (switchElement), helperText && (_jsx(FormHelperText, { children: helperText }))] }));
};
//# sourceMappingURL=Switch.js.map