Spinner
A React component in Beamline's Feedback category, in the free sample.
A ring that spins while work runs and closes into a drawn check or cross when it ends.
Use it for
- Short indeterminate work tied to one row, button or step.
Not for
- Page loading → skeleton.
- Known progress → progress.
Anatomy
- track
- arc
- check / cross
Variants
- size: sm, md, lg
States
- loading
- success
- error
Keyboard
- role=status while loading; role=img with Done/Failed after.
Motion
The loading ring rotates while visible; managed/OS reduction holds the ring still. Success/error retains a meaningful shape and label; draw and arc use semantic timings.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
state | 'loading'|'success'|'error' | — | |
size | 'sm'|'md'|'lg' | — | |
label | string | — | |
classNames | SpinnerClassNames | — | |
style / ref | CSSProperties / native Ref | — | native span |
Dependencies
motion
Import
import { Spinner } from "@/components/spinner/spinner";
Get it
Spinner is part of Beamline: 190 React components and screens your coding agent (Claude Code, Codex, Cursor or any MCP client) installs into your app through Beamline's MCP server, as a ready-built package or as plain React source you can change. $49 one payment (regular $200), no subscription, a year of updates, one licence for your whole team. Spinner is in the free sample, which costs nothing. Get Beamline · Connect your agent
More in Feedback
- Alert: A message that stays until it is dealt with: what happened, what to do, an action; danger and warning are announced; dismissing folds its height away.
- Announcement bar: A banner across the top for news and offers: messages take turns, a countdown ticks, and dismissing folds it away and can remember it.
- Empty state: What a place will hold and the first step to fill it, instead of a blank; a compact size for panels and filtered tables.
- Notification centre: Updates that wait to be read: a bell with the unread count opens All / Unread, new and earlier groups, and per item mark read or dismiss.
- Progress: How much of a known task is done, or a moving bar when the length is unknown, with an optional label and value.
- Skeleton: Holds the shape of content while it loads, then crossfades into it, so nothing jumps.
- Usage meter: An allowance and what fills it: one bar split by source, the room left, a warning near the limit and the overflow in its own red well past a notch at the…