Matrix Orb
betaA circular dot-matrix orb that breathes while idle, blooms with a live level while listening and runs an orbiting scan while thinking, blending smoothly between them.
- AI
- 1 file
- 1 npm package
- Accessibility notes
- Draws on a canvas
pnpm dlx @dowel-ui/cli add matrix-orbnpm packages installed: class-variance-authority.
import { MatrixOrb } from "@/components/ui/matrix-orb";Default
Interactive
States
Live Level
Colours
Density
<MatrixOrb>
| Prop | Type | Default |
|---|---|---|
announceAnnounce state changes through a polite live region. Off by default. | boolean | false |
colorAny CSS colour for the dots. Defaults to the | string | — |
dotsDots across the grid, 5–64. | number | 17 |
labelsA caption under the orb for each state. A state's caption is also its accessible name; states without one are named "Idle", "Listening" and "Thinking". | Partial<Record<MatrixOrbState, string>> | — |
levelHow far the listening bloom reaches, 0–1 — a live input or output level. Omit it for a built-in speech-like envelope. | number | — |
sizeDiameter of the orb in pixels. | number | 120 |
stateWhich field the orb plays. Changes blend smoothly. | MatrixOrbState | "idle" |
tone | "primary" | "foreground" | "muted" | "primary" |
Plus every attribute of <div> except children, color.
7/7
checks passed
- Tested — passes
- axe assertion — passes
- Keyboard tested — does not apply
- Storybook examples — passes
- Accessibility documented — passes
- Semantic tokens only — passes
- Motion from tokens — does not apply
- className merged — passes
- Visible focus — does not apply
- No fixed widths — passes