import * as React from 'react'; import { Platform, Pressable, View } from 'react-native'; import Svg, { Path } from 'react-native-svg'; import useToggle from '../../hooks/useToggle'; import { colorGuide } from '../../primitives'; import { isEmpty } from '../../utils'; import { Row, VerticalSpacer } from '../Helpers'; import useStyles from './styles'; import { CheckboxProps } from './types'; const Checkbox: React.FC = ({ children, colorConfig, colorMode = 'dark', isChecked: isToggleChecked, name, nativeID, onChange, style, ...props }) => { const { isChecked, handleChange } = useToggle({ isChecked: isToggleChecked, onChange }); const defaultColorConfig = colorMode === 'dark' ? colorGuide.darkComponents.checkbox : colorGuide.lightComponents.checkbox; const colors = isEmpty(colorConfig) ? defaultColorConfig : colorConfig ?? defaultColorConfig; const styles = useStyles({ children, colorConfig: colors, isChecked, }); return ( {({ pressed }) => ( <> {Platform.OS === 'web' && ( )} {children && ( <> {children} )} )} ); }; export default Checkbox;