UNPKG

@lunit/oui

Version:

Lunit Oncology UI components

21 lines (20 loc) 1.54 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { v4 as uuidV4 } from 'uuid'; import { ToggleControlGroupContainer } from './ToggleControlGroup.styled'; import ToggleControl from '../ToggleControl/ToggleControl'; const ToggleControlGroup = ({ componentType = 'toggleGroup', size = 'medium', title, tooltip = [], bar, childToggles, disabled, checked, behavior = 'multi', isDimmed = false, onChange, }) => { if (!componentType) throw new Error("The 'componentType' prop is required."); if (!title) throw new Error("The 'title' prop is required."); if (checked === undefined) throw new Error("The 'checked' prop is required."); if (!childToggles.length) throw new Error("The 'childToggles' prop must contain at least one child toggle."); return (_jsxs(ToggleControlGroupContainer, { children: [_jsx(ToggleControl, { isParent: true, componentType: "toggle", bar: bar, disabled: disabled, size: size, title: title, tooltip: tooltip, checked: checked, isDimmed: isDimmed, onChange: onChange }), childToggles?.map((child, index) => { return (_jsx(ToggleControl, { componentType: "toggle", title: child.title, size: size, tooltip: child.tooltip, symbol: child.symbol, color: child.color, isDimmed: child.isDimmed || isDimmed, checked: child.checked, disabled: child.disabled, onChange: (event) => { child.onChange(event); }, bar: child.bar }, uuidV4())); })] })); }; export default ToggleControlGroup;