Ballmac UI home

Circular Progress

Concentric progress rings or a 270 degree gauge in theme colors with animated fills, a legend with values and a center slot, for goals, quotas and activity summaries.

  • Move420 kcal
  • Exercise21 min
  • Stand8 hr

Installation

$ pnpm dlx shadcn@latest add @ballmac/circular-progress

Usage

import { CircularProgress } from "@/components/ballmac/circular-progress"

The full example is in the Code tab above.

Examples

Gauge with center content

72%Storage used
94Excellent

API reference

PropTypeDefault
rings*

One ring per item, outermost first.

ProgressRing[]—
size

Diameter in pixels.

number176
thickness

Ring thickness in pixels.

number14
gap

Space between rings in pixels.

number5
sweep

Degrees of the circle that the rings cover. 360 is a full circle; 270 makes a gauge with the opening at the bottom.

number360
legend

Show a legend with each ring's name and value.

booleantrue
duration

Seconds the rings take to fill.

number1.1
children

Content in the middle. Defaults to the first ring's percentage.

React.ReactNode—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
Screen readersValue text such as Move 74%, Exercise 38%; the legend repeats values as text
ColorEach ring is named in the legend; color is not the only cue
Reduced motionRings are drawn full length at once

Use with AI

<CircularProgress rings={[{ label, value, max, tone, display }]} size thickness gap sweep legend>center</CircularProgress>. One ring is role=meter; several are a named group whose value text lists every ring. sweep=270 makes a gauge. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Circular Progress (@ballmac/circular-progress) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Daily goals and multi-metric summaries
  • Storage, quota or score gauges

Not for

  • A single small ring in a table (progress-ring)
  • Time series (chart)

Registry JSON: https://ui.ballmac.com/r/circular-progress.json

Credits

Free to use in personal and commercial projects.

Registry
shadcn/utils