Status Dot
Anatomy
A 6px semantic dot for run state, presence, and health. Filled by default; an outline (hollow) variant reads as "observing / not yet settled" without spending a second hue.
maud_ui::primitives::status_dot
Props
Generated from public Rust fields. Defaults are evaluated from the implementation.
| Prop | Type | Default | Description |
|---|---|---|---|
tone | Tone | Accent | Semantic tone. |
outline | bool | false | Render hollow (outline) instead of filled — the "observing" state. |
label | Option<String> | None | Optional accessible label; when set, the dot is exposed with role="img" so it is not silently invisible to a screen reader. |
Examples
Tones
Success — passing, live
Accent — running, selected
Warning — degraded
Neutral — idle, unknown
Destructive — failed, blocked
Outline — observing
Hollow reads as “watching, not yet settled” without spending a second hue.
Accent, observing
Success, observing
Usage and composition
Import
use maud_ui::primitives::status_dot::{self, Props, Tone};
Example
use maud_ui::primitives::status_dot::{self, Props, Tone};
status_dot::render(Props { tone: Tone::Success, label: Some("passing".into()), ..Default::default() })
Tone enum
| Value | Meaning |
|---|---|
| Success | Healthy, passing, live. |
| Accent | Active, selected, running. |
| Warning | Attention, degraded. |
| Neutral | Idle, unknown, off. |
| Destructive | Failed, blocked. |
CSS classes
mui-status-dot+ one ofmui-status-dot--success/--accent/--warning/--neutral/--destructive.mui-status-dot--outlinefor the hollow form (composes with the tone class).
Related
Badge, Attention pill, Spinner.
Accessibility
A bare dot is decorative and hidden from assistive tech. Pass label when the dot is the only carrier of a state, so it is announced rather than silently invisible.