← back to Govarbitrage
src/components/ui/badge.tsx
28 lines
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";
const badgeVariants = cva(
"inline-flex items-center rounded-md px-2 py-0.5 text-xs font-medium whitespace-nowrap",
{
variants: {
variant: {
default: "bg-accent text-foreground",
primary: "bg-primary/15 text-primary",
positive: "bg-[var(--positive)]/15 text-[var(--positive)]",
negative: "bg-[var(--negative)]/15 text-[var(--negative)]",
warning: "bg-[var(--warning)]/15 text-[var(--warning)]",
outline: "border text-muted-foreground",
},
},
defaultVariants: { variant: "default" },
},
);
export function Badge({
className,
variant,
...props
}: React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof badgeVariants>) {
return <span className={cn(badgeVariants({ variant }), className)} {...props} />;
}