Toggle Sidebar B
header.lightDarkMode D

Chart Semi Circle

A radial gauge for progress, usage, or percentages. A PM One custom component (not from shadcn-vue) built with plain SVG, an animated reveal, and a count-up centre value.

Default

A value over a maximum, with a centre label and the max appended.

Custom gradient

Pass Tailwind linear-gradient classes via the gradient prop to recolour the bars, and add a unit suffix.

Remaining

Show the remaining value (max - value) in the centre with show-remaining.

API Reference

Props, events, and slots for each sub-component.

ChartSemiCircle

Props

PropTypeDefaultDescription
valuenumberCurrent value (required).
maxnumberMaximum value (required).
centerLabelstring""Label shown under the centre value.
centerValuenumber | stringnullOverride the centre value (defaults to value, or remaining when showRemaining).
showMaxbooleanfalseAppend /max to the centre value.
showRemainingbooleanfalseUse max - value as the centre value.
suffixstring""Small unit appended to the centre value (e.g. %).
gradientstringnullTailwind linear-gradient classes sampled to colour the bars (e.g. from-sky-500 to-fuchsia-500).
colors[pos, L, C, H][]rainbowOKLCH colour stops used when no gradient is set.
totalBarsnumber40Number of radial bars.
animateBarsbooleantrueReveal the bars when scrolled into view.
animateValuebooleantrueCount the centre value up on reveal.
compactbooleantrueFormat numbers with compact notation (1.2K).