Progress is a thin and linear visual designed to show processing time for a task or workflow.

Overview

Designed to be used on a top or bottom edge of an area, Progress can be a helpful UX device to show the user something is being processed or loaded.

Progress has a smaller height than Loader and is less obtrusive, which can be handy in tight spaces. Prefer the "determinate" type when processing time can be accurately represented.

Sample

Usage

Component comparison

Progress and Loader are similar in purpose but differ in appearance. Conversely, Progress and Meter are similar in appearance but differ in purpose.

ProgressThis component
Best for compactly representing processing time and advancement towards completion.
Used adjacent to the top or bottom edge of other elements.
When type="determinate", value must be between 0 and 100.
LoaderAlternative
Best for representing processing time.
Used independently or as built-in functionality such as Button's loading property
When type="determinate", value must be between 0 and 100.
MeterAlternative
Best for displaying a measured value within fixed bounds.
Used independently.
value can be any number.

Best practices

Progress typeUsage
"determinate"Preferred type. Use when processing percentage is known.
"indeterminate"Use when processing percentage is unknown.
Correct Progress determinate
Do use determinate Progress bars when processing percentage and updates reliably.
Do Progress Indeterminate
Do use indeterminate Progress bars when the processing percentage is unknown or unpredictable. User trust can be diminished by inaccurate percentages such as those that stall, jump, or move backward.

API reference

Properties

PropertyAttributeDescriptionTypeDefault
labellabelSpecifies an accessible label for the component.string
reversedreversedWhen true and type is "indeterminate", reverses the animation direction.booleanfalse
texttextText that displays under the component's indicator.string
typetypeSpecifies the component type. Use "indeterminate" if finding actual progress value is impossible."indeterminate" | "determinate""determinate"
valuevalueWhen type is "determinate", specifies the component's value with a range of 0 to 100.number0

Styles

NameDescription
--calcite-progress-background-colorSpecifies the component's background color.
--calcite-progress-fill-colorSpecifies the component's fill color.
--calcite-progress-text-colorSpecifies the component's text color.

Methods

NameDescriptionSignature
componentOnReadyCreate a promise that resolves once component is fully loaded.componentOnReady(): Promise<this>

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.