Components/Feedback
Linear and circular progress with a moving highlight.
Uploads
1 of 3 complete- q3-board-review.pdf
8.4 MB · Uploaded
- launch-hero@2x.png
5.4 of 14.2 MB
- brand-assets.zip
11.3 of 126 MB
Installation#
npx shadcn@latest add https://get-neonkit.vercel.app/r/progress.jsonUsage#
import { Progress } from "@/components/ui/progress"
<Progress value={64} label="Uploading brand-assets.zip" showValue />Examples#
Indeterminate
Leave value undefined when you can't measure the work yet.
Circular
CircularProgress renders children in the center, or the percentage with showValue.
Storage
36 of 50 GB
Bandwidth
410 GB of 1 TB
Build minutes
5,400 of 6,000
Sizes
API reference#
Progress
Also accepts every native div attribute.
| Prop | Type | Default |
|---|---|---|
value | numberCurrent value. Undefined renders an indeterminate bar. | — |
max | numberValue that counts as complete. | 100 |
color | NeonColorPalette name or hex. Falls back to --neon-accent, then cyan. | inherited |
size | "sm" | "md" | "lg"Track height: 4, 8 or 12px. | "md" |
indeterminate | booleanSlides a segment of light instead of showing the value. | false |
label | ReactNodeText above the track, also used as the accessible name. | — |
showValue | booleanShows the rounded percentage at the right of the label row. | false |
CircularProgress
Also accepts every native div attribute.
| Prop | Type | Default |
|---|---|---|
value | numberCurrent value. Undefined renders a spinning arc. | — |
max | numberValue that counts as complete. | 100 |
size | numberDiameter in pixels. | 64 |
thickness | numberStroke width in pixels. | 6 |
color | NeonColorPalette name or hex. Falls back to --neon-accent, then cyan. | inherited |
showValue | booleanRenders the percentage in the center. | false |
indeterminate | booleanSpins a fixed arc instead of showing the value. | false |
children | ReactNodeCustom center content. Replaces the percentage. | — |
Accessibility#
- Both components render role="progressbar" with aria-valuemin, aria-valuemax and aria-valuenow, and drop aria-valuenow while indeterminate.
- label becomes the accessible name through aria-labelledby; without one, pass aria-label or it falls back to "Progress".
- The sheen is hidden and the indeterminate animations slow down when the user prefers reduced motion.