import { cn } from "@/lib/utils";
import { cva, type VariantProps } from "class-variance-authority";
const badgeVariants = cva(
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors",
{
variants: {
variant: {
default: "border-transparent bg-zinc-900 text-white dark:bg-zinc-50 dark:text-zinc-900",
secondary: "border-transparent bg-zinc-100 text-zinc-900 dark:bg-zinc-800 dark:text-zinc-50",
destructive: "border-transparent bg-red-600 text-white",
outline: "text-zinc-950 dark:text-zinc-50",
success: "border-transparent bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",
warning: "border-transparent bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100",
},
},
defaultVariants: { variant: "default" },
}
);
export function Badge({
className,
variant,
...props
}: React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof badgeVariants>) {
return <div className={cn(badgeVariants({ variant }), className)} {...props} />;
}