Skip to content

Progress

Show exact task completion or an explicitly indeterminate operation.

Usage

Known progress

Expose the known amount completed against an explicit maximum.

Expose the known amount completed against an explicit maximum.

64progressing

Unknown progress

Represent work whose completed amount is not yet known.

Represent work whose completed amount is not yet known.

indeterminate

Complete

Expose the terminal state when the current value reaches the maximum.

Expose the terminal state when the current value reaches the maximum.

100complete

Exact decimal

Enter 0.1 as decimal text and preserve it without binary floating-point coercion.

Enter 0.1 as decimal text and preserve it without binary floating-point coercion.

0.1progressing

API

Vue package: @sectile/vue/progress

Components
  • ProgressRoot
  • ProgressTrack
  • ProgressIndicator
  • ProgressValueText

Props

ProgressRootProps

as

Element or component rendered for this part.

asChild

Whether to merge this part into its single child instead of rendering a wrapper.

formatValue

Formats a value for visible text.

label

Accessible name announced for the control.

max

Largest value accepted by the component.

value

Current value exposed by this contract.

ProgressPartProps

as

Element or component rendered for this part.

asChild

Whether to merge this part into its single child instead of rendering a wrapper.

Slots

ProgressRootSlotProps

max

Maximum of the numeric range.

percentage

Current value expressed as a percentage of its range.

status

Current lifecycle status.

value

Current value exposed by this contract.

valueText

Formatted text for the current range value when available.

Other types

ProgressValueFormatter

ts
type ProgressValueFormatter = (value: string) => string

Parts

Shared scope: [data-scope="progress"]. Combine it with a part selector to keep styles local to this component.

PartSelectorRoleExtra attributes
root[data-part="root"]Exposes determinate completion or an explicitly unknown amount of progress.role="progressbar"
data-status="<status>"
data-percentage="<percentage>"
track[data-part="track"]Provides the visual path for task completion.
indicator[data-part="indicator"]Fills the exact known percentage without duplicating accessible semantics.aria-hidden="true"
data-status="<status>"
data-percentage="<percentage>"
value-text[data-part="value-text"]Displays the formatted value as text.

Keyboard interaction

KeyBehavior
NoneThe range display is read-only and defines no keyboard interaction.

Accessibility

The named progress bar exposes zero and its maximum, omitting the current value and value text while progress is indeterminate.

Released under the MIT License.