![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.quebec/private_html/src/components/ui/ |
import React from 'react';
import { cn } from '@/lib/utils';
interface BadgeProps {
variant?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'outline';
size?: 'sm' | 'md' | 'lg';
children: React.ReactNode;
className?: string;
}
const Badge: React.FC<BadgeProps> = ({
variant = 'default',
size = 'md',
children,
className = ''
}) => {
const baseClasses = 'inline-flex items-center font-medium rounded-full';
const variantClasses = {
default: 'bg-gray-100 text-gray-800',
primary: 'bg-blue-100 text-blue-800',
success: 'bg-green-100 text-green-800',
warning: 'bg-yellow-100 text-yellow-800',
danger: 'bg-red-100 text-red-800',
info: 'bg-purple-100 text-purple-800',
outline: 'border border-gray-300 bg-transparent text-gray-800'
};
const sizeClasses = {
sm: 'px-2 py-0.5 text-xs',
md: 'px-2.5 py-0.5 text-sm',
lg: 'px-3 py-1 text-base'
};
const classes = cn(
baseClasses,
variantClasses[variant],
sizeClasses[size],
className
);
return (
<span className={classes}>
{children}
</span>
);
};
export { Badge };