import React, {ReactNode} from "react"; import {LucideIcon} from 'lucide-react'; type BadgeVariant = 'primary' | 'success' | 'warning' | 'error' | 'muted'; type BadgeSize = 'sm' | 'md'; type BadgeShape = 'pill' | 'rounded'; interface BadgeProps { variant?: BadgeVariant; size?: BadgeSize; shape?: BadgeShape; icon?: LucideIcon; children?: ReactNode; interactive?: boolean; floating?: boolean; } const variantClasses: Record = { primary: 'bg-primary/20 text-primary border border-primary/30', success: 'bg-success/20 text-success border border-success/30', warning: 'bg-warning/20 text-warning border border-warning/30', error: 'bg-error/20 text-error border border-error/30', muted: 'bg-secondary text-muted border border-secondary', }; const sizeClasses: Record = { sm: 'text-[10px] px-2 py-0.5', md: 'text-xs px-3 py-1', }; const shapeClasses: Record = { pill: 'rounded-full', rounded: 'rounded-lg', }; export default function Badge( { variant = 'primary', size = 'md', shape = 'pill', icon: Icon, children, interactive = false, floating = false, }: BadgeProps) { return ( {Icon && } {children} ); }