Skip to main content

Stat Gauge

A semi-circular arc gauge with gradient strokes, range zones, mount animations, and glow effects. SVG-based with customizable size, thickness, and colors.

Installation

$ npx shadcn@latest add @orecus/stat-gauge
Dependencies:
motion
Registry:
skeleton@orecus/color-utils@orecus/card@orecus/use-reduced-motion@orecus/use-animated-number

Component

Semi-circular arc gauges in different sizes.

Small
Medium
Large
Active Users
Out of 5,000 capacity
System Health
All systems operational

Props

PropTypeDefaultDescription
value*numberCurrent value (0 to max)
maxnumber100Maximum value
label*stringLabel text below the gauge
colorThemeColor'primary'Gauge color
ranges{ value: number; color: ThemeColor; label?: string }[]Background qualitative range zones sorted ascending. Auto-derives progress color.
showValuebooleantrueShow value in the gauge center
formatValue(value: number, max: number) => stringCustom format function for displayed value
descriptionReactNodeAdditional description text
size'sm' | 'md' | 'lg''md'Size variant
thicknessnumberCustom stroke width (overrides size default)
variant'default' | 'gradient''default'Gauge fill style
animatedbooleanfalseAnimate gauge fill on mount
glowbooleanfalseGlow effect on gauge arc
animateValuebooleantrueNumber counting animation
iconReactNodeIcon to show instead of value
showMarkerbooleanfalseShow marker dot at progress tip
markerGlowbooleanfalseAdd animated pulse glow to the marker
loadingbooleanfalseShows skeleton loading state
cardPropsCardPropsProps to pass to the Card wrapper
classNamestringAdditional CSS classes