Progress
Displays the status of a task that takes a long time.
View as MarkdownAnatomy
Import the component and assemble its parts:
import { Progress } from '@base-ui/react/progress';
<Progress.Root>
<Progress.Label />
<Progress.Track>
<Progress.Indicator />
</Progress.Track>
<Progress.Value />
</Progress.Root>API reference
Root
Groups all parts of the progress bar and provides the task completion status to screen readers.
Renders a <div> element.
value*number | null—
number | null- Name
- Description
The current value. The component is indeterminate when value is
null.- Type
number | null- Default
null
aria-valuetextstring—
string- Name
- Description
A string value that provides a user-friendly name for
aria-valuenow, the current value of the meter.- Type
string | undefined
getAriaValueTextfunction—
function- Name
- Description
Accepts a function which returns a string value that provides a human-readable text alternative for the current value of the progress bar.
- Type
| (( formattedValue: string | null, value: number | null, ) => string) | undefined
localeIntl.LocalesArgument—
Intl.LocalesArgument- Name
- Description
The locale used by
Intl.NumberFormatwhen formatting the value. Defaults to the user’s runtime locale.- Type
Intl.LocalesArgument | undefined
minnumber0
number- Name
- Description
The minimum value.
- Type
number | undefined- Default
0
maxnumber100
number- Name
- Description
The maximum value.
- Type
number | undefined- Default
100
formatIntl.NumberFormatOptions—
Intl.NumberFormatOptions- Name
- Description
Options to format the value.
- Type
Intl.NumberFormatOptions | undefined
classNamestring | function—
string | function- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string | ((state: Progress.Root.State) => string | undefined) | undefined
styleReact.CSSProperties | function—
React.CSSProperties | function- Name
- Type
| React.CSSProperties | (( state: Progress.Root.State, ) => React.CSSProperties | undefined) | undefined
renderReactElement | function—
ReactElement | function- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElementor a function that returns the element to render.- Type
| ReactElement | (( props: HTMLProps, state: Progress.Root.State, ) => ReactElement) | undefined
data-complete
data-indeterminate
data-progressing
Additional Types
Progress.Root.Props
Re-Export of Root props as ProgressRootProps
Progress.Root.State
type ProgressRootState = { status: Progress.Status };Track
Contains the progress bar indicator.
Renders a <div> element.
classNamestring | function—
string | function- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string | ((state: Progress.Root.State) => string | undefined) | undefined
styleReact.CSSProperties | function—
React.CSSProperties | function- Name
- Type
| React.CSSProperties | (( state: Progress.Root.State, ) => React.CSSProperties | undefined) | undefined
renderReactElement | function—
ReactElement | function- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElementor a function that returns the element to render.- Type
| ReactElement | (( props: HTMLProps, state: Progress.Root.State, ) => ReactElement) | undefined
data-complete
data-indeterminate
data-progressing
Additional Types
Progress.Track.Props
Re-Export of Track props as ProgressTrackProps
Indicator
Visualizes the completion status of the task.
Renders a <div> element.
classNamestring | function—
string | function- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string | ((state: Progress.Root.State) => string | undefined) | undefined
styleReact.CSSProperties | function—
React.CSSProperties | function- Name
- Type
| React.CSSProperties | (( state: Progress.Root.State, ) => React.CSSProperties | undefined) | undefined
renderReactElement | function—
ReactElement | function- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElementor a function that returns the element to render.- Type
| ReactElement | (( props: HTMLProps, state: Progress.Root.State, ) => ReactElement) | undefined
data-complete
data-indeterminate
data-progressing
Additional Types
Progress.Indicator.Props
Re-Export of Indicator props as ProgressIndicatorProps
Value
A text label displaying the current value.
Renders a <span> element.
children| ((formattedValue: string | null, value: number | null) => React.ReactNode)
| null—
| ((formattedValue: string | null, value: number | null) => React.ReactNode)
| null- Name
- Type
((formattedValue: string | null, value: number | null) => React.ReactNode) | null | undefined
classNamestring | function—
string | function- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string | ((state: Progress.Root.State) => string | undefined) | undefined
styleReact.CSSProperties | function—
React.CSSProperties | function- Name
- Type
| React.CSSProperties | (( state: Progress.Root.State, ) => React.CSSProperties | undefined) | undefined
renderReactElement | function—
ReactElement | function- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElementor a function that returns the element to render.- Type
| ReactElement | (( props: HTMLProps, state: Progress.Root.State, ) => ReactElement) | undefined
data-complete
data-indeterminate
data-progressing
Additional Types
Progress.Value.Props
Re-Export of Value props as ProgressValueProps
Label
An accessible label for the progress bar.
Renders a <span> element.
classNamestring | function—
string | function- Name
- Description
CSS class applied to the element, or a function that returns a class based on the component’s state.
- Type
| string | ((state: Progress.Root.State) => string | undefined) | undefined
styleReact.CSSProperties | function—
React.CSSProperties | function- Name
- Type
| React.CSSProperties | (( state: Progress.Root.State, ) => React.CSSProperties | undefined) | undefined
renderReactElement | function—
ReactElement | function- Name
- Description
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.
Accepts a
ReactElementor a function that returns the element to render.- Type
| ReactElement | (( props: HTMLProps, state: Progress.Root.State, ) => ReactElement) | undefined
data-complete
data-indeterminate
data-progressing
Additional Types
Progress.Label.Props
Re-Export of Label props as ProgressLabelProps