Capítulo 61 de 108
Rótulo compacto para exibir status, contagem ou categoria, com variantes visuais e suporte a ícone/spinner embutido.
variant: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link".data-icon="inline-start" | "inline-end": posiciona ícone ou Spinner antes/depois do texto do badge.render prop: permite renderizar o badge como outro elemento (ex. <a>), preservando o estilo visual.className direto (bg-blue-50 text-blue-700 dark:bg-blue-950 dark:text-blue-300), sem variante dedicada por cor.<Badge variant="secondary">
<BadgeCheck data-icon="inline-start" />
Verified
</Badge>
<Badge variant="outline">
Bookmark
<BookmarkIcon data-icon="inline-end" />
</Badge>
data-icon, sem props extras de posicionamento.<Badge render={<a href="#link" />}>
Open Link <ArrowUpRightIcon data-icon="inline-end" />
</Badge>
render, mantendo o mesmo visual do Badge padrão.<Badge className="bg-blue-50 text-blue-700 dark:bg-blue-950 dark:text-blue-300">
Blue
</Badge>
| Prop | Type | Default |
|---|---|---|
variant | "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "default" |
className | string | - |
bg-* com dark:bg-* (e mesmo para texto) para não quebrar no dark mode.Spinner sem data-icon: sem o atributo, o alinhamento/spacing do ícone dentro do badge não funciona corretamente.variant cobre estados semânticos comuns; cores arbitrárias exigem className manual com par light/dark.data-icon é o padrão consistente em todo o catálogo (Badge, Button, Spinner) para posicionar ícones inline.render transforma o Badge em link/outro elemento sem perder estilo — mesmo padrão de composição usado em Item e outros componentes Base UI.ItemActions/ItemHeader como indicador secundário.AvatarBadge é um indicador visualmente parecido mas é componente próprio, não o Badge genérico.