Created
March 6, 2025 08:18
-
-
Save jhelmink/6de1cf2e2719b1dc3c67ab71cecd3102 to your computer and use it in GitHub Desktop.
shadcn ui indeterminate checkbox
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use client"; | |
import * as React from "react"; | |
import * as CheckboxPrimitive from "@radix-ui/react-checkbox"; | |
import { Check, Minus } from "lucide-react"; | |
import { cn } from "@/lib/utils"; | |
const Checkbox = React.forwardRef< | |
React.ElementRef<typeof CheckboxPrimitive.Root>, | |
React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> | |
>(({ className, ...props }, ref) => ( | |
<CheckboxPrimitive.Root | |
ref={ref} | |
className={cn( | |
"group peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground", | |
className, | |
)} | |
{...props} | |
> | |
<CheckboxPrimitive.Indicator className={cn("flex items-center justify-center text-current")}> | |
<Check className="hidden h-4 w-4 group-data-[state=checked]:block" /> | |
<Minus className="hidden h-4 w-4 group-data-[state=indeterminate]:block" /> | |
</CheckboxPrimitive.Indicator> | |
</CheckboxPrimitive.Root> | |
)); | |
Checkbox.displayName = CheckboxPrimitive.Root.displayName; | |
export { Checkbox }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment