# SbProgress Displays progress indication for ongoing operations. Supports both linear (bar) and circular styles, with determinate and indeterminate modes. ## Parameters | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | Type | SbProgressType | Linear | Progress type (Linear, Circular) | | Value | double | 0 | Progress value from 0 to 100 | | Indeterminate | bool | false | Shows continuous animation without specific progress | | Color | SbColor | Primary | Progress bar color | | Size | SbSize | Md | Size for circular progress (Sm, Md, Lg) | | ShowLabel | bool | false | Whether to show the percentage label | | Class | string? | null | Additional CSS classes | | Style | string? | null | Inline styles | | AdditionalAttributes | Dictionary? | null | Additional HTML attributes | ## CSS Classes - `sb-progress` - Base class - `sb-progress--linear` - Linear (bar) type - `sb-progress--circular` - Circular type - `sb-progress--sm` - Small size - `sb-progress--md` - Medium size - `sb-progress--lg` - Large size - `sb-progress--primary` - Primary color - `sb-progress--secondary` - Secondary color - `sb-progress--success` - Success color - `sb-progress--warning` - Warning color - `sb-progress--danger` - Danger color - `sb-progress--indeterminate` - Indeterminate animation - `sb-progress__track` - Track/background (linear) - `sb-progress__bar` - Progress bar (linear) - `sb-progress__label` - Percentage label (linear) - `sb-progress__track-circle` - Track circle (circular) - `sb-progress__bar-circle` - Progress circle (circular) - `sb-progress__label-text` - Percentage label (circular) ## Accessibility - Uses `role="progressbar"` - Sets `aria-valuenow`, `aria-valuemin`, `aria-valuemax` for determinate progress - Omits `aria-valuenow` for indeterminate progress ## Examples ### Linear Progress ```razor ``` ### Linear with Label ```razor ``` ### Indeterminate Linear ```razor ``` ### Different Colors ```razor ``` ### Circular Progress ```razor ``` ### Circular with Label ```razor ``` ### Circular Sizes ```razor ``` ### Indeterminate Circular ```razor ``` ### File Upload Example ```razor @if (isUploading) {

Uploading: @fileName

} @code { private bool isUploading; private double uploadProgress; private string fileName = ""; private async Task UploadFile() { isUploading = true; fileName = "document.pdf"; for (int i = 0; i <= 100; i += 10) { uploadProgress = i; StateHasChanged(); await Task.Delay(200); } isUploading = false; } } ``` ### Loading Overlay with Circular Progress ```razor @if (isLoading) {

Loading data...

} ``` ### Multi-Step Progress ```razor
Step @currentStep of @totalSteps
@code { private int currentStep = 2; private int totalSteps = 5; } ```