/** * Badge Component * Small status indicator or label */ import React, { HTMLAttributes, ReactNode } from 'react'; export interface BadgeProps extends HTMLAttributes { variant?: 'default' | 'success' | 'warning' | 'error' | 'info'; size?: 'sm' | 'md' | 'lg'; children: ReactNode; } export const Badge: React.FC = ({ variant = 'default', size = 'md', children, className = '', ...props }) => { const variantStyles = { default: 'bg-gray-800 text-gray-300 border-gray-700', success: 'bg-green-500/10 text-green-400 border-green-500/30', warning: 'bg-yellow-500/10 text-yellow-400 border-yellow-500/30', error: 'bg-red-500/10 text-red-400 border-red-500/30', info: 'bg-blue-500/10 text-blue-400 border-blue-500/30', }; const sizeStyles = { sm: 'px-2 py-0.5 text-xs', md: 'px-2.5 py-1 text-sm', lg: 'px-3 py-1.5 text-base', }; return ( {children} ); };