# CircularProgress
A circular progress indicator using SVG. Pure CSS implementation with smooth
animations, multiple variants, and sizes.
## Installation
```bash
deno run -A jsr:@lockness/ui add circularprogress
```
## Usage
```tsx
import { CircularProgress } from '@lockness/ui/components'
// Basic usage
// With label
// Success variant
// Different sizes
```
## Variants
| Variant | Description |
| ------------- | ------------------------------------------- |
| `default` | Primary color |
| `success` | Green color for completed/successful states |
| `warning` | Yellow color for warning states |
| `destructive` | Red color for error/danger states |
```tsx
```
## Sizes
| Size | Dimension |
| --------- | --------- |
| `sm` | 2.5rem |
| `default` | 4rem |
| `lg` | 6rem |
| `xl` | 8rem |
```tsx
```
## Stroke Width
Customize the thickness of the progress circle.
```tsx
```
## Props
| Prop | Type | Default | Description |
| ----------- | ---------------------------------------------- | --------- | ----------------------------------- |
| value | `number` | `0` | Current progress value (0-100) |
| max | `number` | `100` | Maximum value |
| variant | `default \| success \| warning \| destructive` | `default` | Visual style variant |
| size | `sm \| default \| lg \| xl` | `default` | Size of the circular progress |
| strokeWidth | `number` | `3` | Stroke width of the progress circle |
| showLabel | `boolean` | `false` | Show percentage label in the center |
| class | `string` | - | Additional CSS class names |
| id | `string` | - | Element id attribute |
## Accessibility
The component includes proper ARIA attributes:
- `role="progressbar"` for semantic meaning
- `aria-valuenow` for the current value
- `aria-valuemin` and `aria-valuemax` for the range
## Examples
### Loading State
```tsx
Loading...
```
### Dashboard Metrics
```tsx
```
### Completion Indicator
```tsx
```