import { RiCheckLine } from '@remixicon/react' import cn from '@/utils/classnames' import IndeterminateIcon from './assets/indeterminate-icon' type CheckboxProps = { id?: string checked?: boolean onCheck?: () => void className?: string disabled?: boolean indeterminate?: boolean } const Checkbox = ({ id, checked, onCheck, className, disabled, indeterminate, }: CheckboxProps) => { const checkClassName = (checked || indeterminate) ? 'bg-components-checkbox-bg text-components-checkbox-icon hover:bg-components-checkbox-bg-hover' : 'border border-components-checkbox-border bg-components-checkbox-bg-unchecked hover:bg-components-checkbox-bg-unchecked-hover hover:border-components-checkbox-border-hover' const disabledClassName = (checked || indeterminate) ? 'cursor-not-allowed bg-components-checkbox-bg-disabled-checked text-components-checkbox-icon-disabled hover:bg-components-checkbox-bg-disabled-checked' : 'cursor-not-allowed border-components-checkbox-border-disabled bg-components-checkbox-bg-disabled hover:border-components-checkbox-border-disabled hover:bg-components-checkbox-bg-disabled' return (