Badge
A miniature key for status and counts. Filled variants are embossed chips resting on the surface; muted is debossed — carved in for quiet, passive status.
BadgeSecondaryDestructiveOutlineMutedVerified
tsx
import { BadgeCheck } from "lucide-react"
import { Badge } from "@/registry/seam/ui/badge"
export default function BadgeDemo() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge>Badge</Badge>
<Badge variant="secondary">Secondary</Badge>
<Badge variant="destructive">Destructive</Badge>
<Badge variant="outline">Outline</Badge>
<Badge variant="muted">Muted</Badge>
<Badge variant="secondary">
<BadgeCheck />
Verified
</Badge>
</div>
)
}bunx --bun @seamui/cli@latest add badgeNotes
- Not pressable, so it carries no press feedback — for a tappable chip, use a small
ButtonorToggleinstead. - Renders a
<span>; when a badge conveys meaning through color alone, include the meaning in the text (e.g. “Error”) rather than relying on the variant.
Press feedback, reduced motion, and haptics follow the global policy — see Motion and Haptics.