Installation
npx shadcn@latest add @iconiq/r-progressIndeterminate state
Pass value={null} to switch from a measured fill to the animated sweep while the final completion amount is still unknown.
Props
Progress
Spring-smoothed progress bar with the same Iconiq API layered over Radix UI primitives.
valuenumber | nullDefault 64
minnumberDefault 0
maxnumberDefault 100
labelstringhelperstringshowValuebooleanDefault true
formatValue(value: number, percent: number) => stringgetValueLabel(value: number, percent: number) => stringindeterminateLabelstringDefault "In progress"
ariaLabelstringclassNamestringCurrent install target: Radix UI.
Dependencies declared by this registry entry: @radix-ui/react-progress, motion.
The component clamps numeric values into the min/max range before calculating the fill width.
The visible value readout animates from the same motion value as the fill width, so the text and the bar stay visually locked together while values change.
There is no controlled versus uncontrolled split here; value is simply rendered as the current state of the task.
Installs a Radix progress bar with the same value, min, max, label, helper, indeterminate, and formatter API as the Base UI version.
Uses the Radix progress primitive under the same spring-smoothed track fill and restrained inline readout motion shell.
Motion and semantics
Headless progress semantics from the provider primitive with a spring-smoothed fill and restrained indeterminate motion layered on top.
Built on Radix Progress.Root and Progress.Indicator while the visible fill and inline value readout stay under the same minimal Motion shell as the Base UI version.
Determinate mode uses a spring-smoothed width animation instead of a hard width jump, which keeps status updates feeling more fluid when values change rapidly.
Indeterminate mode uses one minimal left-to-right flow band with a soft fade at the start and end of each pass, so the restart stays visually quiet.
Registry bundle
Install the exact registry entry shown on the right when you want the component file and its declared runtime dependencies together.
Dependencies: @radix-ui/react-progress, motion.
Installs a Radix progress bar with the same value, min, max, label, helper, indeterminate, and formatter API as the Base UI version.
Uses the Radix progress primitive under the same spring-smoothed track fill and restrained inline readout motion shell.
The generated registry file is /r/r-progress.json.