Color
Height
Orientation
Indeterminate
Custom Animation
Direction
Native Alternative
API Reference
Root
flex flex-col gap-2 data-[orientation=horizontal]:w-full data-[orientation=vertical]:items-center| Prop | 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 | undefined The controlled value of the progress bar.  | 
defaultValue | 50 | number | null | undefined The 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 | undefined The minimum allowed value of the progress bar.  | 
max | 100 | number | undefined The maximum allowed value of the progress bar.  | 
translations | — | IntlTranslations | undefined The localized messages to use.  | 
onValueChange | — | ((details: ValueChangeDetails) => void) | undefined Callback fired when the value changes.  | 
formatOptions | { style: "percent" } | NumberFormatOptions | undefined The options to use for formatting the value.  | 
locale | "en-US" | string | undefined The locale to use for formatting the value.  | 
dir | "ltr" | "ltr" | "rtl" | undefined The document's text/writing direction.  | 
getRootNode | — | (() => ShadowRoot | Node | Document) | undefined A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.  | 
orientation | "horizontal" | "horizontal" | "vertical" | undefined The orientation of the element.  | 
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Provider
| Prop | Default | Type | 
|---|---|---|
value | — | ProgressApi<PropTypes> | 
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Context
| Prop | Default | Type | 
|---|---|---|
children | — | (progress: ProgressApi<PropTypes>) => ReactNode | 
Label
whitespace-nowrap| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
ValueText
| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"span">) => Element) | undefined Render the element yourself  | 
Track
bg-surface-200-800 rounded-base overflow-hidden data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-2 data-[orientation=vertical]:w-2 data-[orientation=vertical]:h-[100px]| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Range
h-full bg-surface-950-50 rounded-base data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:data-[state=indeterminate]:animate-progress-linear-indeterminate-horizontal data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:data-[state=indeterminate]:animate-progress-linear-indeterminate-vertical| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"div">) => Element) | undefined Render the element yourself  | 
Circle
| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"svg">) => Element) | undefined Render the element yourself  | 
CircleTrack
stroke-surface-200-800| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"circle">) => Element) | undefined Render the element yourself  | 
CircleRange
stroke-primary-500 transition-[stroke-dashoffset] ease-in-out data-[state=indeterminate]:animate-progress-circular-indeterminate| Prop | Default | Type | 
|---|---|---|
element | — | ((attributes: HTMLAttributes<"circle">) => Element) | undefined Render the element yourself  | 
Root
flex flex-col gap-2 data-[orientation=horizontal]:w-full data-[orientation=vertical]:items-center| Prop | 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 | undefined The controlled value of the progress bar.  | 
defaultValue | 50 | number | null | undefined The 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 | undefined The minimum allowed value of the progress bar.  | 
max | 100 | number | undefined The maximum allowed value of the progress bar.  | 
translations | — | IntlTranslations | undefined The localized messages to use.  | 
onValueChange | — | ((details: ValueChangeDetails) => void) | undefined Callback fired when the value changes.  | 
formatOptions | { style: "percent" } | NumberFormatOptions | undefined The options to use for formatting the value.  | 
locale | "en-US" | string | undefined The locale to use for formatting the value.  | 
dir | "ltr" | "ltr" | "rtl" | undefined The document's text/writing direction.  | 
getRootNode | — | (() => ShadowRoot | Node | Document) | undefined A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.  | 
orientation | "horizontal" | "horizontal" | "vertical" | undefined The orientation of the element.  | 
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Provider
| Prop | Default | Type | 
|---|---|---|
value | — | () => ProgressApi<PropTypes> | 
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Context
| Prop | Default | Type | 
|---|---|---|
children | — | Snippet<[() => ProgressApi<PropTypes>]> | 
Label
whitespace-nowrap| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
ValueText
| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"span">]> | undefined Render the element yourself  | 
Track
bg-surface-200-800 rounded-base overflow-hidden data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-2 data-[orientation=vertical]:w-2 data-[orientation=vertical]:h-[100px]| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Range
h-full bg-surface-950-50 rounded-base data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:data-[state=indeterminate]:animate-progress-linear-indeterminate-horizontal data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:data-[state=indeterminate]:animate-progress-linear-indeterminate-vertical| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself  | 
Circle
| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"svg">]> | undefined Render the element yourself  | 
CircleTrack
stroke-surface-200-800| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"circle">]> | undefined Render the element yourself  | 
CircleRange
stroke-primary-500 transition-[stroke-dashoffset] ease-in-out data-[state=indeterminate]:animate-progress-circular-indeterminate| Prop | Default | Type | 
|---|---|---|
element | — | Snippet<[HTMLAttributes<"circle">]> | undefined Render the element yourself  |