An SVG ring that fills clockwise with a percentage in the middle, driven by one number: set the value and the arc, the label and the colour update together. Beside it, the same ring in indeterminate mode spins a short arc while it waits for a number.
`stroke-dasharray: 100` and `stroke-dashoffset: 100 − value` on a `pathLength="100"` circle, rotated −90° so it starts at twelve. The offset transitions over 0.4 s so steps smooth out; past 100 the ring flips to the accent and the label becomes a check. The indeterminate twin uses `dasharray: 25 75` with a 1 s rotation loop.
From prompt to a block in your page.
The preview is the shipped element inside a neutral demo page. Hover, click, focus: the one interaction it is about is live.
Token sets re-tint it live. The prompt carries the one you chose.
A paste-in snippet, or a component for Next.js, React, Vue, Astro, WordPress, Shopify or Webflow.
It quotes the markup, styles and script verbatim with the tokens and the rules that keep it self-contained.
It inherits your page's font and width; the tokens live on :root; several instances share one script.