Label
50%Label
50%Size
Use different sizes for context-appropriate indicators.
Color
Change the track and indicator colour using utility classes or custom CSS variables to match your design system.
Centered Content
Place content in the center of the circular progress if needed (for example, a numeric value).
50%
50%
Indeterminate
Use a null value to enable indeterminate mode.
Format
Use the format prop to customize the output of the ValueText component. Options include:
percentage(default)decimal(0.0 - 1.0)- Custom - via the Intl API .
50%
0.5
€0.50
50%
0.5
€0.50
Custom Value Text
Provide a custom renderer for the ValueText if you need to show a different layout or label.
50 of 100
50 of 100
API Reference
Root
| Property | Default | Type |
|---|---|---|
ids | - | Partial<{ root: string; track: string; label: string; circle: string; }> | undefined The ids of the elements in the progress bar. Useful for composition. |
value | - | number | null | undefinedThe controlled value of the progress bar. |
defaultValue | 50 | number | null | undefinedThe initial value of the progress bar when rendered. Use when you don't need to control the value of the progress bar. |
min | 0 | number | undefinedThe minimum allowed value of the progress bar. |
max | 100 | number | undefinedThe maximum allowed value of the progress bar. |
translations | - | IntlTranslations | undefinedThe localized messages to use. |
onValueChange | - | ((details: ValueChangeDetails) => void) | undefinedCallback fired when the value changes. |
formatOptions | { style: "percent" } | NumberFormatOptions | undefinedThe options to use for formatting the value. |
locale | "en-US" | string | undefinedThe locale to use for formatting the value. |
dir | "ltr" | "ltr" | "rtl" | undefinedThe document's text/writing direction. |
getRootNode | - | (() => ShadowRoot | Node | Document) | undefinedA root node to correctly resolve document in custom environments. E.x.: Iframes, Electron. |
orientation | "horizontal" | "horizontal" | "vertical" | undefinedThe orientation of the element. |
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
RootProvider
| Property | Default | Type |
|---|---|---|
value | - | () => ProgressApi<PropTypes> |
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
RootContext
| Property | Default | Type |
|---|---|---|
children | - | Snippet<[() => ProgressApi<PropTypes>]> |
Label
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
ValueText
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"span">]> | undefinedRender the element yourself |
Track
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
Range
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
Circle
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"svg">]> | undefinedRender the element yourself |
CircleTrack
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"circle">]> | undefinedRender the element yourself |
CircleRange
| Property | Default | Type |
|---|---|---|
element | - | Snippet<[HTMLAttributes<"circle">]> | undefinedRender the element yourself |