'use client'; import * as React from 'react'; import { cva, type VariantProps } from 'class-variance-authority'; import { cn } from '@/lib/utils'; /** * Badge Xpeditis. * * Les variantes semantiques (`success`, `warning`, `danger`, `info`) remplacent * les aplats ecrits a la main dans les pages. Les variantes historiques * (`default`, `secondary`, `destructive`, `outline`) sont conservees pour * compatibilite avec les appels existants. */ const badgeVariants = cva( 'inline-flex items-center gap-1 whitespace-nowrap rounded-full border px-2 py-0.5 font-body text-body-xs font-medium [&_svg]:size-3', { variants: { variant: { neutral: 'border-transparent bg-neutral-100 text-neutral-700', info: 'border-transparent bg-brand-blue/10 text-brand-blue-dark', success: 'border-transparent bg-success/10 text-success', warning: 'border-transparent bg-amber-100 text-amber-800', danger: 'border-transparent bg-destructive/10 text-destructive', // Compatibilite ascendante default: 'border-transparent bg-brand-navy text-white', secondary: 'border-transparent bg-neutral-100 text-neutral-700', destructive: 'border-transparent bg-destructive/10 text-destructive', outline: 'border-border bg-white text-neutral-700', }, }, defaultVariants: { variant: 'neutral' }, } ); export interface BadgeProps extends React.HTMLAttributes, VariantProps {} function Badge({ className, variant, ...props }: BadgeProps) { return ; } export { Badge, badgeVariants };