import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "@/lib/utils"; const badgeVariants = cva( "inline-flex items-center gap-1 rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors", { variants: { variant: { default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", outline: "text-foreground hover:bg-accent/50", }, }, defaultVariants: { variant: "default", }, } ); export interface BadgeProps extends React.HTMLAttributes, VariantProps { loading?: boolean; } function Badge({ className, variant, onClick, loading, children, ...props }: BadgeProps) { return (
{loading && ( )} {children}
); } export { Badge, badgeVariants };