An `<sp-progress-circle>` shows the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. It can represent both determinate and indeterminate progress, helping users understand the status of ongoing operations
npm install @spectrum-web-components/progress-circleAn shows the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. It can represent both determinate and indeterminate progress, helping users understand the status of ongoing operations.



```
yarn add @spectrum-web-components/progress-circle
Import the side effectful registration of via:
``
import '@spectrum-web-components/progress-circle/sp-progress-circle.js';
When looking to leverage the ProgressCircle base class as a type and/or for extension purposes, do so via:
``
import { ProgressCircle } from '@spectrum-web-components/progress-circle';
A progress circle consists of several key parts:
- A label (via slot="label")progress
- A progress value (via attribute)indeterminate
- An optional indeterminate state (via attribute)
`html`
progress="75"
>
#### Sizes
Progress circles come in three sizes to fit various contexts:
`html demo`
label="Small progress indicator"
progress="42"
>
`html demo`
progress="67"
>
`html demo`
label="Large progress indicator"
progress="89"
>
#### Static Colors
When displaying over images or colored backgrounds, use the static-color attribute for better contrast:
`html demo`
progress="50"
static-color="white"
>
#### Indeterminate Progress
Use indeterminate progress when the duration cannot be calculated:
`html demo`
The element implements several accessibility features:
1. ARIA Role: Automatically sets role="progressbar" for proper semantic meaninglabel
2. Labeling:
- Uses the attribute value as aria-labelaria-valuenow
- When determinate, adds with the current progressaria-valuemin="0"
- Includes and aria-valuemax="100" for the progress range
3. Status Communication:
- Screen readers announce progress updates
- Indeterminate state is properly conveyed to assistive technologies
#### Best Practices
- Always provide a descriptive label that explains what the progress representsprogress
- Use determinate progress when possible to give users a clear sense of completion
- For determinate progress, ensure the value accurately reflects the actual progressstatic-color="white"
- Consider using size="l" for primary loading states to improve visibility
- Ensure sufficient color contrast when using
`html
progress="48"
>
indeterminate
>
``