123456789101112131415161718192021222324 |
- import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
- import { CheckIcon } from 'lucide-react';
- import * as React from 'react';
- import { cn } from '@/common/helpers/cn';
- function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
- return (
- <CheckboxPrimitive.Root
- data-slot="checkbox"
- className={cn(
- 'peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:aria-invalid:ring-destructive/40',
- className,
- )}
- {...props}
- >
- <CheckboxPrimitive.Indicator data-slot="checkbox-indicator" className="flex items-center justify-center text-current transition-none">
- <CheckIcon className="size-3.5" />
- </CheckboxPrimitive.Indicator>
- </CheckboxPrimitive.Root>
- );
- }
- export { Checkbox };
|