Status Indicator
Compact status readout with a shape-coded status marker and uppercase label. Renders role=status for assistive technologies.
Installation
dgadd is not public on npm yet. Until the first release, pack @diffgazer/add from the repository and install that tarball into this app, which is what puts dgadd on pnpm exec.
The hosted registry is not public yet because r.b4r7.dev does not resolve. Use this source checkout or a local registry preview until the endpoint returns 200.
Diffgazer packages are not yet published to npm. Until the first release, pack @diffgazer/ui and @diffgazer/keys from the repository and install those tarballs.
UI components require Tailwind CSS v4. Local copy mode imports src/styles/styles.css; package mode uses @diffgazer/ui CSS once packages are available.
Usage
Examples
Inline in a panel header and rows
API Reference
StatusIndicator
Accessibility
Notes
Pulse
Pulse defaults to true, but the dot only animates when status='online' (a compound variant in statusIndicatorDotVariants). Set pulse={false} to disable animation. Honors prefers-reduced-motion via motion-reduce:animate-none.
Shape and color
Every status carries its own marker shape so the states stay apart without relying on hue: online is a filled circle (success), busy is a filled square (warning), offline is a hollow circle (muted-foreground). The shape also keeps online readable mid-pulse, when its opacity dips toward the offline tone.
Accessible status word
The marker is decorative (aria-hidden), so the root renders an sr-only status word (defaulting to the status value) for screen-reader users. Override the word with the label prop, or pass label={null} to suppress it when the visible children already state the status.
Live region
The root renders role="status" — an implicit polite live region — so screen readers announce label changes without interrupting.
Source
Install via CLI: pnpm exec dgadd add ui/status-indicator.
Highlighted source loads after this disclosure opens. Browse the source repository.