Badge
Status pill used across order tables, activity streams, and document lists.
Selector: tip-badge
API
| Name | Type | Default | Description |
|---|---|---|---|
tone (input) |
Tone = 'positive' | 'warning' | 'critical' | 'neutral' | 'emerald' |
'neutral' |
Drives fill + text color via the status-semantic tokens (emerald uses the brand emerald scale directly, not --status-positive-*). |
size (input) |
'sm' | 'md' |
'md' |
Padding preset. |
dot (input) |
boolean |
false |
Renders a small leading currentColor dot before the label. |
| default slot | content | — | Badge label. |
Usage
<tip-badge [tone]="row.statusTone">{{ row.status }}</tip-badge>
<tip-badge [tone]="d.state === 'Parsed' ? 'emerald' : 'neutral'" size="sm">{{ d.state }}</tip-badge>
Notes
- Pill radius (
--radius-pill),--fs-microsemibold text, alwaysinline-flex. toneis the sharedTonetype fromcore/models/enums.ts— reuse it, don't redeclare a local status union in feature code.- No built-in a11y role; when a badge is the sole conveyor of status (not paired with
visible text), consider adding
aria-labelat the call site.