Data & feedback@neumorphism-ui/progress

Progress

Uses Base UI Progress progressbar semantics. Normalizes valid max and value values, and exposes an indeterminate state when value is missing or invalid.

@neumorphism-ui/progress
Registry JSON

Preview

Registry build82%
x
Theme tokens12 / 16
x
Waiting for data—
x

Installation

Installation: progressnpx shadcn@latest add @neumorphism-ui/progress

The CLI resolves npm dependencies, base tokens, utilities, and component source in order.

New to this Registry? Set up the namespace before continuing.

Usage

Import

Progress import code
import { Progress } from "@/components/ui/progress"

Example

Progress usage code
<div className="grid gap-2">
  <div id="upload-label" className="flex justify-between">
    <span>File upload</span>
    <span>72%</span>
  </div>
  <Progress value={72} max={100} aria-labelledby="upload-label" />
</div>

API Reference

ComponentPropTypeDefaultDescription
Progressvaluenumber | nullnullThe current progress value, normalized between 0 and max.
Progressmaxnumber100The total range greater than 0; invalid values fall back to 100.
Progressaria-label / aria-labelledbystring—The accessible name of the task in progress.
ProgressgetValueLabel(value, max) => string—Creates aria-valuetext when a description beyond the numeric value is needed.

Accessibility

  • 01

    Progress needs an aria-label or aria-labelledby that describes the task, such as File upload.

  • 02

    A visible percentage is not automatically associated with the progressbar, so connect its label explicitly.

  • 03

    A null value represents an indeterminate state and should not be accompanied by completion-percentage text.