# Progress Ring

Single percentage drawn as a round-capped ring that fills while the number in its center counts up.

```bash
npx shadcn add https://www.reelcn.dev/r/progress-ring.json
```

Usage:

```tsx
<Center>
  <ProgressRing value={72} label="Onboarding complete" />
</Center>
```

Use for:

- Goal completion, adoption rate, uptime, a score out of 100
- One number with a short label such as "of teams onboarded"

Avoid:

- Splitting a whole into parts. Use `donut`
- Several numbers side by side. Use `kpi-grid`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | — | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| value | `number` | — | Percent, 0–100. |
| label? | `string` | — | Caption under the number, inside the ring. |
| size? | `number` | — | Diameter in design units. Defaults by orientation. |
| thickness? | `number` | — | Ring thickness in design units. Defaults to 9% of the diameter. |
| drawFrames? | `number` | — | Frames the fill takes. Defaults to 1.2s. |
| locale? | `string` | `"en-US"` | BCP 47 locale for the number. |
| format? | `NumberFormatOptions` | — | `Intl.NumberFormat` options applied to the fraction (0–1). Defaults to a percent at the precision of `value`. |
| color? | `string` | — | Ring color. Defaults to the theme accent. |
| trackColor? | `string` | — | Empty ring. Defaults to the theme border. |
| textColor? | `string` | — | Center number. Defaults to the theme foreground. |
| labelColor? | `string` | — | Caption. Defaults to the theme muted color. |
| style? | `CSSProperties` | — |  |
| className? | `string` | — |  |