import { Icon } from '../icon'; import * as CheckboxPrimitive from '@radix-ui/react-checkbox'; import classNames from 'classnames'; import type { ReactNode } from 'react'; type CheckedState = boolean | 'indeterminate'; export interface CheckboxProps { checked?: CheckedState; label?: ReactNode; name?: string; onCheckedChange?: (checked: CheckedState) => void; disabled?: boolean; } export const Checkbox = ({ checked, label, name, onCheckedChange, disabled = false, }: CheckboxProps) => { const rootClasses = classNames( 'relative flex justify-center items-center w-[15px] h-[15px]', 'border rounded-sm overflow-hidden', { 'opacity-40 cursor-default': disabled, 'border-neutral-700 dark:border-neutral-300': !checked, 'border-white dark:border-black': checked, } ); return (
{checked === 'indeterminate' ? ( ) : ( )}
); };