On this page

Progress Bar

Overview

A progress bar is a progress indicator, either determinate (indicating a percentage of progression) or indeterminate (indicating a state of loading).

Usage

When to use:

  • When managing action like download, upload, retrieval of data, …
  • When the system is temporarily disabled, to block the screen
  • When the processing takes more than a few seconds
  • Generally, to provide feedback to the user about progression.

Sources and references

Anatomy

Properties

From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework. In Figma, these are defined as properties that help define each variant.

❖ Component: Progress Bar

PropertyValuesDefault
variantdeterminate / indeterminatedeterminate
sizesmall / medium / largemedium
colorprimary / neutralprimary
stateloading / error / successloading
*animatedfalse / truetrue
animationnone / load (determinate) / bounce (indeterminate) / loop (indeterminate)load (determinate)
valueN/A / 1% / 17% / 34% / 67% / 100%N/A
*label+valuebooleantrue
*hasLabelbooleantrue
*labeltextDownloading
showValuebooleantrue
*hasCaptionbooleantrue
*captiontextCaption placeholder

Behaviour

Determinate & Indeterminate

The progress bar comes in two different variants:

The determinate type, when progress can be calculated against a target (download, upload, know sizes, …)

The indeterminate type, when there is progress but the completion cannot be determined (connection to a server, retrieving unknown amount of data, …)

Sizes

Progress bars are available in three sizes to cater for the diverse range of use cases and devices that our business uses.

Progress

Different percentage indications are available in the variants to be chosen. Percentages are 1%, 17%, 34% and 67% for the static component.

State

By default, the progress bar is in Loading state.

We recommend using the Completed state to emphasize the end of the progress. We also recommend using the Error state to make it obvious when the loading is encountering some issues.

Color

By default, progress bars are emphasized (primary theme). Providing a visual prominence.

For visual components, like application panels, where a checkbox shouldn’t be a standout element, choose the neutral theme to de-emphasize its visual presence on the screen.

Animation

The progress bar is animated by default thanks to the Interactive Components feature on Figma. If you would like to remove this capacity, uncheck the “animate” property.

All animations can be manually overwritten if you need other timings.

Animation type

The indeterminate variant comes either as a bar bouncing from left to right or as an infinite loop. You can select each one in the property menu of the component.

Usage Guidelines

Use percentage based progress bar for longer loading delays.

  • Don’t: use percentage based progress bar for delays between 2 and 9 seconds
  • Do: use percentage based progress bar for delays > 10 seconds

Use loop based progress bar for shorter loading times.

  • Don’t: use loop based progress bar for delays over 10 seconds
  • Do: use loop based progress bar for delays < 10 seconds

Component Architecture

Link to Figma file