Determinate with value label
<CircularProgress value={75} label="Upload progress" hasValueLabel />A circular progress indicator that shows completion as a ring or arc. Use it for upload progress, score displays, dashboard gauges, or compact progress where horizontal space is limited. Complements ProgressBar for radial layouts.
Source examples recorded in the documentation for this entry.
<CircularProgress value={75} label="Upload progress" hasValueLabel /><CircularProgress isIndeterminate label="Loading..." /><CircularProgress value={3.2} max={5} label="Disk usage" hasValueLabel formatValueLabel={(v, m) => `${v} GB / ${m} GB`} /><CircularProgress value={30} label="Canceled" isDisabled hasValueLabel />A circular progress indicator that shows completion as a ring or arc. Use it for upload progress, score displays, dashboard gauges, or compact progress where horizontal space is limited. Complements ProgressBar for radial layouts.
| Prop | Type and behavior |
|---|---|
value | number · default 0Current value. Ignored when isIndeterminate is true. |
max | number · default 100Maximum value. |
label | string · requiredAccessible label for screen readers. |
isLabelHidden | boolean · default trueVisually hide the label (remains accessible). Defaults to true since circular progress typically shows center content instead. |
hasValueLabel | boolean · default falseShow the formatted value (e.g. "75%") in the center of the ring. Ignored when isIndeterminate is true or when children provide custom center content. |
formatValueLabel | (value: number, max: number) => stringCustom value label formatter; defaults to a percentage string. |
children | ReactNodeContent displayed in the center of the ring: percentage, icon, or custom content. Takes precedence over hasValueLabel. |
size | 'sm' | 'md' | 'lg' · default 'md'Diameter of the progress ring (32px, 48px, 64px). |
variant | 'accent' | 'success' | 'warning' | 'error' | 'neutral' · default 'accent'Semantic color variant for the progress fill. |
isIndeterminate | boolean · default falseAnimated spinning indicator for unknown progress. Respects prefers-reduced-motion by slowing the animation. |
isDisabled | boolean · default falseVisually disabled: grays out the ring and text. Use for canceled or inactive operations. |
xstyle | StyleXStylesStyleX styles for layout customization (margins, positioning). Must be a stylex.create() value. |
astryx-circular-progressVisual props: variant, size
astryx-circular-progress-trackastryx-circular-progress-fillVisual props: variant