Arc Rings: every arc-ring state in one loader
Eleven arc-ring animations in one React component, from spinners to progress. Switch agent states with one prop. Install with shadcn.
Installation
Install with the shadcn CLI, or copy the component file. It only needs React.
npx shadcn@latest add https://oxyn.space/r/arc-rings.jsonUsage
Updates live with the parameters you set.
import { ArcRings } from "@/components/arc-rings";
export function Thinking() {
return (
<ArcRings />
);
}Props
For the selected animation. Switch it to see the props each one takes.
| Prop | Type | Default | Description |
|---|---|---|---|
| animation | "spin"|"chase"|"step"|"gather"|"ripple"|"gears"|"comet"|"unlock"|"write"|"tasks"|"progress" | "spin" | Which animation runs. Changing it blends from the old animation to the new one; every other prop keeps its value. |
| lines | number | 3 | Number of concentric rings. |
| cuts | number | 3 | Cuts in each ring. The ring is split into this many equal arcs. |
| cutSpacing | number | 30 | Angular width of each cut in degrees. 0 closes the rings. |
| lineSpacing | number | 8 | Gap between neighboring rings in px. |
| lineWidth | number | 1.5 | Stroke width of each ring in px. |
| speed | number | 0.3 | Pace of the animation, in turns per second of the outer ring at a steady spin. |
| alternate | boolean | true | Turn neighboring rings in opposite directions. |
| size | number | 160 | Width and height of the orb in px. |
| minOpacity | number | 0.4 | Opacity of the innermost ring. The outer ring is always fully opaque. |
| color | string | "#e4e4e7" | Line color. |
| paused | boolean | false | Coast to a stop on the current frame without unmounting. Turning it off eases back up to speed. |
| label | string | "Thinking" | Accessible name; the wrapper is role="status". |
| className / style | — | — | Spread onto the wrapper div, along with any other div props. |
Single loaders
Each animation also ships on its own, for a spot that only ever shows one state.
- Arc SpinLoading
- Arc ChaseWorking on a task
- Arc StepStep-by-step progress
- Arc GatherAssembling a result
- Arc RippleProcessing
- Arc GearsRunning a task
- Arc CometThinking
- Arc UnlockSearching or matching
- Arc WriteWriting or editing a file
- Arc TasksParallel tool calls and subagents
- Arc ProgressUpload or download progress