pelagia-portal/App/components/ui/badge.tsx
2026-05-18 23:18:58 +05:30

29 lines
937 B
TypeScript

import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";
const badgeVariants = cva(
"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium",
{
variants: {
variant: {
default: "bg-primary-100 text-primary-700",
secondary: "bg-neutral-100 text-neutral-700",
success: "bg-success-100 text-success-700",
warning: "bg-warning-100 text-warning-700",
danger: "bg-danger-100 text-danger-700",
outline: "border border-neutral-300 text-neutral-600",
},
},
defaultVariants: { variant: "default" },
}
);
export interface BadgeProps
extends React.HTMLAttributes<HTMLSpanElement>,
VariantProps<typeof badgeVariants> {}
export function Badge({ className, variant, ...props }: BadgeProps) {
return <span className={cn(badgeVariants({ variant }), className)} {...props} />;
}
export { badgeVariants };