import { Flex } from '../../general/Flex/Flex'; import { Text } from '../../general/Text/Text'; import { Icon } from '../../general/Icon/Icon'; import { useToggle } from '../../util/hooks'; type Props = { label?: string; title?: string; isChecked?: boolean; disabled?: boolean; defaultChecked?: boolean; onChange?: () => void; }; export const CheckBox = ({ label, title, isChecked, disabled, defaultChecked, onChange, }: Props) => { const toggled = useToggle(isChecked ?? defaultChecked ?? false); const onToggle = () => { if (disabled) return; toggled.toggle(); onChange?.(); }; return ( {toggled.isOn ? ( ) : ( )} {title && ( {title} )} {label && ( {label} )} ); };