Badge
Etiquetas cortas de estado o conteo. Nunca como botón.
Etiqueta corta para estados, roles o conteos. No es interactiva, salvo la variante tag renderizada como link.
Instalación
shadcn
npx shadcn@latest add https://design.moodinary.com/r/badge.jsonimport
import { Badge } from "@moodinary/ui/components/badge";Ejemplos
Variantes
Neutral, organización, outline, estado, plan y equipo con punto.
Código
variants.tsx
import { Badge } from "@moodinary/ui/components/badge";
export default function BadgeVariants() {
return (
<>
<Badge>Borrador</Badge>
<Badge variant="org">3 nuevas</Badge>
<Badge variant="outline">Admin</Badge>
<Badge variant="ok">Activo</Badge>
<Badge variant="warn">Pausado</Badge>
<Badge variant="err">Alerta</Badge>
<Badge variant="solid">Plan Core</Badge>
<Badge variant="org">
<span aria-hidden className="size-1.5 rounded-full bg-org" />
4.º A
</Badge>
</>
);
}Tag enlazable
Para temas o filtros que llevan a otra vista. Usá render con un link.
Código
tag.tsx
import { Badge } from "@moodinary/ui/components/badge";
export default function BadgeTag() {
return (
<Badge render={<a href="/components/badge" />} variant="tag">
Organización
</Badge>
);
}Props
Badge
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
| variant | "neutral" | "org" | "outline" | "ok" | "warn" | "err" | "solid" | "tag" | "neutral" | Significado y peso visual. |
| render | ReactElement | - | Renderiza otro elemento, por ejemplo un <code><a></code>. |
| className | string | - | Clases extra. |
Cuándo sí y cuándo no
Hacé
- Escribí una o dos palabras.
- Usá ok, warn y err solo para estados reales.
- Mantené la misma variante para el mismo significado.
Evitá
- No uses badges como botones.
- No muestres varios badges que repiten lo mismo.
- No dependas solo del color para explicar el estado.
Accesibilidad
- El texto del badge tiene que entenderse sin color.
- Si es un link, usá la variante tag y un destino claro.