Generic selectors

Exact matches only

Search in title

Search in content

Post Type Selectors

Progress Circle

A Progress Circle is a graphical representation that provides feedback about the duration and progression of a process.

Progress circle skeleton
  • Overview
  • Specs
  • Guidelines

Component

A progress circle, also known as a circular progress indicator or spinner, is a graphical element used in user interfaces to indicate that a process is in progress. It typically consists of a circular shape that rotates or fills up gradually to represent the progress of a task or operation. Progress Circles are commonly used in applications during activities such as loading content, downloading files, or processing data, providing users with visual feedback that the system is working on their request.

Progress Circle Anatomy
  • 1: Circular track;
  • 2: Progress indicator;

Progress circle on the overall activity within the group.

Used for:

Loading Screens

Progress Circles are often displayed during content loading processes, such as when a webpage or application is fetching data from a server.

Data Processing

Progress Circles can be used in applications that perform data processing tasks, such as image or video editing software, to show the progress of tasks like rendering or exporting files.

Form Submissions

In web forms, Progress Circles can be used to indicate that a form submission is in progress, providing feedback to users while their request is being processed.

Installation Processes

During software installations or updates, Progress Circles can indicate the progress of the installation process, letting users know how much longer they need to wait.

Don’t use for:

Static Information

Progress Circles are not suitable for displaying static information or content that does not change over time. They are designed specifically to represent dynamic progress or activity.

Continuous Data Visualization

While Progress Circles can indicate the completion percentage of a task, they are not suitable for continuous data visualization, such as displaying real-time data streams or continuous variables.

Detailed Data Representation

Progress Circles are not ideal for representing detailed data or complex information. They are intended to provide a simple visual indication of progress or status, rather than conveying detailed data.

Progress Circles on each individual activity within a group.

Demo

Access the Figma file and inspect the element using Dev Mode.

Related

progress-bar

Progress Bar

Progress Bars provide users with real-time feedback on the status of ongoing operations …

Toast

Quick, small notifications that appear in the top right corner of the page. These notifications can automatically disappear after five …

Color

Colors infuse life and dynamism into interfaces, expressing emotions and setting the tone for communication …

Colors

The Progress Circle provides a spectrum of colors suited to its context. Colors such as info, warning, error, and success are applied when the progress circle is integrated into toast notifications.

Theme
.progress-circle-theme{
  stroke-width: 6px;
  stroke: var(--Theme-Theme-20, #CCDAFF);
  stroke-fill: var(--Theme-Theme-100, #CCDAFF);
}
Info
.progress-circle-info{
  stroke-width: 6px;
  stroke: var(--Info-Info-20, #C0E2FB);
  stroke-fill: var(--Info-Info-100, #004B98);
}
Warning
.progress-circle-warning{
  stroke-width: 6px;
  stroke: var(--Warning-Warning-20, #FEEDD4);
  stroke-fill: var(--Warning-Warning-100, #CB5800);
}
Error
.progress-circle-error{
  stroke-width: 6px;
  stroke: var(--Error-Error-20, #F9CFD4);
  stroke-fill: var(--Error-Error-100, #C00E19);
}
Success
.progress-circle-success{
  stroke-width: 6px;
  stroke: var(--Success-Success-20, #B2ECD3);
  stroke-fill: var(--Success-Success-100, #0E5E3F);
}

Measurements

Small
.small{
  width: var(--Sizing-regular, 24px);
  height: var(--Sizing-regular, 24px);
  flex-shrink: 0;
}
Regular
.regular{
  width: var(--Sizing-medium, 32px);
  height: var(--Sizing-medium, 32px);
  flex-shrink: 0;
}
Large
.large{
  width: var(--Sizing-large, 48px);
  height: var(--Sizing-large, 48px);
  flex-shrink: 0;
}
X-Large
.x-lage{
  width: var(--Sizing-x-large, 64px);
  height: var(--Sizing-x-large, 64px);
  flex-shrink: 0;
}

Useful links

guidelines figma accent icon

Consult our Figma file to access our assets and inspect them in dev mode.

polygon-framework

This component is or will be provided by the Polygon framework. See its documentation to learn more.

This element is in line with the guidelines of the CDS (Cegid Design System). Find out more.

Usage

Progress Circles are an effective way of showing progress in terms of ongoing activity or remaining time.

They excel at indicating the status of various activities, including content loading, payment processing, or the remaining time to accept an upsell offer.

There are two main types of Progress Circles: indeterminate, ideal for processes with open-ended progress, and determinate, employed for processes with measurable progress.

It’s crucial to choose the suitable type of Progress Circle based on the specific context and requirements of the task at hand.

Show the collective progress of a group, rather than individual components.

Indicate the progress of each individual activity within a group.

Common surfaces

  • Inside toasts
  • Entire screen

Behavior

Progress Circles indicate ongoing actions and disappear once they have been completed. Upon successful completion, new content may emerge or a success state may be indicated. Conversely, if the operation fails, an error state is displayed. Various components communicate success and error states depending on the context.

They exhibit distinct behaviors depending on whether they are tracking determinate or indeterminate processes.

Progress Circle TypeWaiting TimeDurationBehavior
IndeterminateUnknownShortSpins continuously
DeterminateKnownLongFills the circle from start to end

Determinate or Indeterminate Progress Circle

Progress Circles can be either determinate or indeterminate, depending on the needs of your application and the capabilities of the technology you’re using.

Employ a determinate Progress Circle, rather than an indeterminate one, when representing known and measurable progress.

Don’t use an indeterminate Progress Circle when the progress is known and measurable.

Determinate

Choose determinate Progress Circles to convey completion status accurately, indicating both progress made and remaining work. Opting for determinate circles enhances the user experience, as they offer clear progress updates and reassure users that the task is in progress.

Indeterminate

In situations where the duration of a task is uncertain, an indeterminate Progress Circle becomes necessary. However, unlike determinate circles, indeterminate ones lack the reassurance of ongoing progress. Thus, it’s advisable to reserve their use for short tasks to prevent user concern if the circle spins for too long, potentially signaling an issue.

As data accumulates during task execution, enabling an estimate of remaining time, it is recommended to transition to a determinate Progress Circle. Yet, if there’s minimal time left, allow the animation cycle to conclude before shifting from the loading state. Interrupting an indeterminate progress circle midway through an animation should be avoided.


Best practices

Clockwise for progress, counterclockwise for countdowns

Rotate circles clockwise to indicate progress and counterclockwise for countdowns, providing intuitive visual cues for users.

Placement

The location and placement of the circle convey the scope of the loading process. For instance, a circle positioned at the center of the page means the entire page is loading. inside a sheet, it indicates the loading of the sheet’s content. Similarly, if the circle appears over an image, it means that specific image is being loaded.

Indicate the whole, not each part

Typically, it’s preferable to display progress for the entire group rather than each individual piece of granular activity.


Progress bar versus progress circle?

Progress bars and circles are interchangeable components for indicating progress, but several factors should be considered when deciding between them.

Linear versus continuous

Progress bars, with their linear format, offer a distinct starting and ending point, making them well-suited for tasks with definite completion points. On the other hand, circles, with their continuous shape, are better suited for tasks of indefinite duration, where progress is ongoing and without a defined endpoint.

Space limitations

For limited vertical space, a progress bar is more suitable.


Case Studies

Building a new Seamless User Experience

Using a design system is like having a set of building blocks for creating digital products. It ensures everything looks …

Discover the exciting features

Compose Design brings a host of thrilling and transformative new features designed to enhance your experience. Dive into our latest …

Benefits of a Design System

A design system is a collection of reusable components and guidelines that ensure consistency and efficiency in building digital products …

Outline