/** * Badge Component * * Simple badge/tag component for displaying labels, counts, and categories. * Supports multiple variants and sizes. * * @layer UI */ import * as React from 'react'; import { cn } from '@/lib/utils'; export interface BadgeProps extends React.HTMLAttributes { variant?: 'default' | 'secondary' | 'outline' | 'success' | 'warning' | 'danger'; size?: 'sm' | 'md' | 'lg'; } const VARIANT_CLASSES = { default: 'bg-cyan-100 text-cyan-700 border-cyan-300', secondary: 'bg-gray-100 text-gray-700 border-gray-300', outline: 'bg-transparent text-gray-700 border-gray-300', success: 'bg-green-100 text-green-700 border-green-300', warning: 'bg-yellow-100 text-yellow-700 border-yellow-300', danger: 'bg-red-100 text-red-700 border-red-300', }; const SIZE_CLASSES = { sm: 'px-2 py-0.5 text-xs', md: 'px-2.5 py-1 text-sm', lg: 'px-3 py-1.5 text-base', }; export const Badge = React.forwardRef( ({ variant = 'default', size = 'md', className, children, ...props }, ref) => { return (
{children}
); } ); Badge.displayName = 'Badge';