Progress

Displays the status of a task that takes a long time.

API reference

Import the component and assemble its parts:

Anatomy
import { Progress } from '@base-ui-components/react/progress';

<Progress.Root>
  <Progress.Track>
    <Progress.Indicator />
  </Progress.Track>
  <Progress.Value />
</Progress.Root>

Root

Groups all parts of the progress bar and provides the task completion status to screen readers. Renders a <div> element.

PropTypeDefault
aria-label

string

undefined

aria-labelledby

string

undefined

value

null | number

null

aria-valuetext

string

undefined

getAriaLabel

((index: null | number) => string)

undefined

getAriaValueText

((formattedValue: null | string, value: null | number) => string)

undefined

min

number

0

max

number

100

format

NumberFormatOptions

undefined

className

string | ((state: State) => string)

undefined

render

| ReactElement
| ((props: GenericHTMLProps, state: State) => ReactElement)

undefined

Attribute
Description
data-complete
data-indeterminate
data-progressing

Track

Contains the progress bar indicator. Renders a <div> element.

PropTypeDefault
className

string | ((state: State) => string)

undefined

render

| ReactElement
| ((props: GenericHTMLProps, state: State) => ReactElement)

undefined

Attribute
Description
data-complete
data-indeterminate
data-progressing

Indicator

Visualizes the completion status of the task. Renders a <div> element.

PropTypeDefault
className

string | ((state: State) => string)

undefined

render

| ReactElement
| ((props: GenericHTMLProps, state: State) => ReactElement)

undefined

Attribute
Description
data-complete
data-indeterminate
data-progressing

Value

A text label displaying the current value. Renders a <span> element.

PropTypeDefault
children

| null
| ((formattedValue: null | string, value: null | number) => ReactNode)

undefined

className

string | ((state: State) => string)

undefined

render

| ReactElement
| ((props: GenericHTMLProps, state: State) => ReactElement)

undefined