ProgressBar

A ProgressBar is a simple chart that can be used to show how complete something is, or visualize parts that make up a whole.

Page navigation navigation

React
readyNot reviewed for a11y
Rails
readyNot reviewed for a11y

React examples

Default

With visible text value

Default to pairing the ProgressBar with text that explicitly shows the value(s) of the filled segment(s). Text values are not explicitly required, but should only be omitted when the progress is intentionally vague.

Accessibility guidelines

4 of 12
tasks completed

Multiple segments

A ProgressBar may use segments to represent multiple parts of a whole.

When using multiple segments:

  • Use colors that are easy to tell apart and include a legend that identifies what each segment represents.
  • Avoid overwhelming users by with too many segments. This is especially important for narrow ProgressBars. Consider a different kind of chart for these cases.

Animated

Custom size

The size may be adjusted to adapt the ProgressBar to different contexts.

Size options:

  • Small
  • Medium (default)
  • Large

The following example uses the 'large' size variant.

Custom color

The color of the filled segments of the ProgressBar may be customized.

More code examples

See the ProgressBar Storybook stories.

Props

ProgressBar

NameRequiredDescription
animated
boolean
Whether the filled in area(s) of the progress bar will be animated or not
progress
number
Used to set the size of the green bar
barSize
| 'small' | 'large' | 'default'
Controls the height of the progress bar. If omitted, height is set to the default height.
inline
boolean
Styles the progress bar inline
bg
string
Set the progress bar color
sx
SystemStyleObject

ProgressBar.Item

NameRequiredDescription
aria-label
string
Defines a string value that labels the current element. @see aria-labelledby.
bg
string
Set the progress segment color
progress
string | number
Used to set the size of the green bar
sx
SystemStyleObject