Skip to content

Progress Ring

A circular gauge for any 0-100 metric — profile completion, renewal rate, score cards. Reads instantly with a centre value and a labelled track, and exposes real meter semantics so screen readers announce the number, not just the shape.

Stats & Numbers · Astro · Subscription · commercial licence · v1.0.1 · updated 2026-10-15 · Live demo

Terminal window
velocityx add progress-ring

Subscription component. Run velocityx login with your key first — get one.

---
import ProgressRing from '../components/velocity/progress-ring/ProgressRing.astro';
---
<ProgressRing />
PropTypeDefaultDescription
valuenumberrequired0–100. Values outside the range are clamped.
labelstring——
valueTextstring—Overrides the centre text; defaults to ${value}${suffix}.
suffixstring'%'—
size'sm' | 'md' | 'lg''md'—
tone'primary' | 'accent''primary'accent is a deliberate highlight — use for one ring per page, not every one.

velocityx drops these into your project:

  • components/velocity/progress-ring/ProgressRing.astro

None.

Colours come from the primary-* / accent-* Tailwind scales, so this drops into a project that is not Velocity without dragging our brand in. Install the contract once:

Terminal window
velocityx theme

Then set your whole brand in one place — raw RGB channels, not hex (a hex here silently breaks every opacity variant):

:root {
--vx-brand: custom;
--vx-primary-600: 220 38 38;
}

There is no component-level font-family anywhere in the library — your font cascade wins.

Commercial, for the duration of an active Velocity X subscription. The source is served by the licence-gated endpoint, never by the public CDN.