import React from 'react' export type BadgeStatus = 'active' | 'in-progress' | 'pending' | 'error' | 'inactive' const statusStyles: Record = { active: { bg: 'bg-green-50', text: 'text-green-600' }, 'in-progress': { bg: 'bg-teal-50', text: 'text-teal-600' }, pending: { bg: 'bg-yellow-50', text: 'text-amber-700' }, error: { bg: 'bg-red-50', text: 'text-red-600' }, inactive: { bg: 'bg-slate-100', text: 'text-slate-500' }, } export const BadgeStatus: React.FC<{ status: BadgeStatus children: React.ReactNode leftIcon?: string rightIcon?: string className?: string }> = ({ status, children, leftIcon, rightIcon, className = '' }) => { const { bg, text } = statusStyles[status] return ( {leftIcon && {leftIcon}} {children} {rightIcon && {rightIcon}} ) } export const DotLabel: React.FC<{ color: string children: React.ReactNode }> = ({ color, children }) => (
{children}
) export const CountBadge: React.FC<{ value: number | string variant?: 'red' | 'teal' | 'default' size?: 'sm' | 'md' }> = ({ value, variant = 'default', size = 'sm' }) => { const variantClass = { red: 'bg-red-500', teal: 'bg-teal-500', default: 'bg-slate-500' }[variant] const sizeClass = size === 'sm' ? 'h-[18px] min-w-[18px] px-1 text-caption' : 'h-5 min-w-[20px] px-1.5 text-caption' return ( {value} ) } export const NotificationDot: React.FC<{ variant?: 'red' | 'teal' | 'default' }> = ({ variant = 'red' }) => { const variantClass = { red: 'bg-red-500', teal: 'bg-teal-500', default: 'bg-slate-500' }[variant] return ( ) } export const FeatureTag: React.FC<{ children: React.ReactNode }> = ({ children }) => ( {children} )