Skip to content

Progress

A progress bar that communicates determinate or indeterminate loading state.

Upload progress
<Progress label="Upload progress" value={60} />
Info
Success
Warning
Error
Neutral
<div style={{display: 'flex', flexDirection: 'column', gap: 16}}>
<Progress label="Info" value={60} variant="info" />
<Progress label="Success" value={80} variant="success" />
<Progress label="Warning" value={45} variant="warning" />
<Progress label="Error" value={30} variant="error" />
<Progress label="Neutral" value={50} variant="neutral" />
</div>
Upload progress60%
<Progress label="Upload progress" value={60} hasValueLabel />
Upload progress3 GB / 5 GB
<Progress
label="Upload progress"
value={3}
formatValueLabel={(value, max) => `${value} GB / ${max} GB`}
hasValueLabel
max={5}
/>
Upload progress
<Progress label="Upload progress" value={undefined} isIndeterminate />
Upload progress
<Progress label="Upload progress" value={60} isDisabled />
Upload progress
<Progress label="Upload progress" value={60} isLabelHidden />
Upload progress60%
<Progress label="Upload progress" value={3} hasValueLabel max={5} />
Upload progress100%
<Progress
label="Upload progress"
value={100}
hasValueLabel
variant="success"
/>

A progress bar that communicates determinate or indeterminate loading state.

PropTypeDefaultDescription
classNamestringAdditional CSS class names applied to the root element.
data-testidstringTest ID applied to the root element.
formatValueLabel(value: number, max: number) => stringCustom formatter for the value label and aria-valuetext.
hasValueLabelbooleanfalseWhether to display the formatted value beside the label.
isDisabledbooleanfalseWhether the progress bar is visually disabled.
isIndeterminatebooleanfalseWhether to render an indeterminate loading indicator.
isLabelHiddenbooleanfalseWhether to visually hide the label.
label*stringAccessible label for the progress bar.
maxnumber100Maximum progress value.
refRef<HTMLDivElement>Ref forwarded to the root element.
role'meter' | 'progressbar''progressbar'ARIA role for the progress indicator. Use 'progressbar' for task completion and 'meter' for static gauges.
styleCSSPropertiesInline styles applied to the root element.
valuenumber0Current progress value.
variant"error" | "info" | "success" | "warning" | "neutral"'info'Semantic color variant.