--- title: CircleProgress description: "`CircleProgress` is a component that displays progress in a circular progress bar." links: - style: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/components/circle-progress/circle-progress.style.ts - source: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/components/circle-progress - storybook: https://yamada-ui.github.io/yamada-ui?path=/story/components-circleprogress--basic --- # CircleProgress `CircleProgress` is a component that displays progress in a circular progress bar. ```tsx ``` ## Usage ```tsx import { CircleProgress } from "@yamada-ui/react" ``` ```tsx import { CircleProgress } from "@/components/ui" ``` ```tsx import { CircleProgress } from "@workspaces/ui" ``` ```tsx ``` ### Change Variant ```tsx {(variant, index) => ( )} ``` ### Change Size ```tsx {(size, index) => ( )} ``` Alternatively, set a string or number to `boxSize`. ```tsx ``` ### Change Color Scheme ```tsx {(colorScheme, index) => ( )} ``` ### Change Shape ```tsx {(shape, index) => ( )} ``` ### Apply Animation Setting `value` to `null` will apply animation. ```tsx ``` ### Change Animation Duration Set a number to `duration`. ```tsx ``` ### Change Thickness To change the thickness of the progress bar, set a string or number to `thickness`. ```tsx ``` ### Add Label ```tsx 75% ``` ### Change Color ```tsx ``` ## Props ### CircleProgress.Root | Prop | Default | Type | Description | | ------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | | `as` | - | `As` | The HTML element to render. | | `asChild` | - | `boolean` | Merges its props onto its immediate child. | | `css` | - | `CSSObject \| CSSObject[]` | The CSS object. | | `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. | | `size` | `"md"` | `"lg" \| "md" \| "sm" \| "xl" \| "xs"` | The size of the component. | | `variant` | `"outline"` | `"outline" \| "subtle"` | The variant of the component. | | `circleProps` | - | `CircleProgressCircleProps` | Props for the progress circle element. | | `duration` | - | `number \| string` | The animation duration in seconds. | | `max` | `100` | `number` | The maximum value of the progress. | | `min` | `0` | `number` | The minimum value of the progress. | | `rangeColor` | - | `"-moz-initial" \| "AccentColor" \| "AccentColorText" \| "ActiveBorder" \| "ActiveCaption" \| "ActiveText" \| "aliceblue" \| "amber.100" \| "amber.200" \| "amber.300" ...` | The color of the progress range. | | `rangeProps` | - | `CircleProgressRangeProps` | Props for the progress range element. | | `thickness` | - | `"-moz-fit-content" \| "-moz-initial" \| "-moz-max-content" \| "-moz-min-content" \| "-webkit-fit-content" \| "-webkit-max-content" \| "0.5" \| "1.5" \| "1" \| "1/12" ...` | The thickness of the progress bar. | | `trackColor` | - | `"-moz-initial" \| "AccentColor" \| "AccentColorText" \| "ActiveBorder" \| "ActiveCaption" \| "ActiveText" \| "aliceblue" \| "amber.100" \| "amber.200" \| "amber.300" ...` | The color of the progress track. | | `trackProps` | - | `CircleProgressTrackProps` | Props for the progress track element. | | `value` | `0` | `null \| number` | The value of the progress. If `null`, the progress will be indeterminate. | ### CircleProgress.Label | Prop | Default | Type | Description | | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | | `as` | - | `As` | The HTML element to render. | | `asChild` | - | `boolean` | Merges its props onto its immediate child. | | `css` | - | `CSSObject \| CSSObject[]` | The CSS object. | | `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. | ## Accessibility If `aria-label` or `aria-labelledby` is set on `CircleProgress.Root`'s `circleProps`, it will be announced by screen readers. ```tsx ``` ```tsx Central Processing Unit (CPU) Usage ``` ### ARIA Roles and Attributes | Element | Roles and Attributes | Usage | | -------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | `svg.ui-circle-progress__circle` | `role="progressbar"` | Indicates that it is a progress bar. | | | `aria-label` | Sets `"Loading..."` when `value` is `null` (indeterminate); otherwise sets the current progress percentage like `"18 percent"`. | | | `aria-valuemin` | Sets the minimum value. Default is `0`. | | | `aria-valuemax` | Sets the maximum value. Default is `100`. | | | `aria-valuenow` | Sets the current value only when the progress is determinate (`value` is not `null`); omitted when `value` is `null` (indeterminate). | ## Similar Components - [Progress](https://yamada-ui.com/docs/components/progress.md): `Progress` is a component for visually indicating progress. - [EmptyState](https://yamada-ui.com/docs/components/empty-state.md): `EmptyState` is a component used to display when a resource is empty or unavailable. - [Loading](https://yamada-ui.com/docs/components/loading.md): `Loading` is a component displayed during waiting times, such as when data is being loaded. - [Alert](https://yamada-ui.com/docs/components/alert.md): `Alert` is a component that conveys information to the user. - [Skeleton](https://yamada-ui.com/docs/components/skeleton.md): `Skeleton` is a component that acts as a placeholder until content is loaded. - [Snacks](https://yamada-ui.com/docs/components/snacks.md): `Snacks` is a component for controlling notifications used in forms and other similar situations. - [Status](https://yamada-ui.com/docs/components/status.md): `Status` is component that indicate the status of a process or state. ## Uses Components & Hooks - [Progress](https://yamada-ui.com/docs/components/progress.md): `Progress` is a component for visually indicating progress.