Feedback
ProgressBar
Comprehensive progress indicators for displaying completion status. Essential for multi-step forms, file uploads, and long-running operations in healthcare applications.
Visual Styles
Choose the style that best fits your design. Solid is clean and professional, striped adds visual interest, gradient provides a premium feel.
Solid (default)
Striped (animated)
Gradient
Sizes
Choose the appropriate size based on context. Use larger bars for prominent indicators, smaller ones for inline or compact displays.
Extra Small (4px)
Small (6px)
Medium (10px) - default
Large (14px)
Color Variants
Use semantic colors to indicate status. Primary for general progress, success for completion, warning for attention needed, error for failures.
With Labels and Values
Provide context with labels and show progress as percentage or fraction.
Segmented Progress
Perfect for multi-step workflows like patient intake, insurance verification, or claim processing. Shows clear step-by-step progress.
Basic Segmented
With Step Indicators
With Step Labels
Buffer Indicator
Show buffered/loaded amount alongside current progress. Useful for streaming data or showing background loading.
Blue bar shows playback position (30%), gray buffer shows loaded content (60%)
Indeterminate State
Use when progress duration is unknown, such as during API calls or background processing where you cannot calculate percentage.
File Upload Example
Real-world example combining progress bar with file upload UI. Shows how to transition between states.
medical_report.pdf
Ready to upload • 2.4 MB
Healthcare Workflow Example
Complete patient intake workflow showing how segmented progress guides users through multi-step processes.
Patient Intake
Complete all steps to finish registration
2/5
steps complete
Props
| Prop | Type | Default | Description |
|---|---|---|---|
value | number | 0 | Current progress value (0-max) |
max | number | 100 | Maximum value |
buffer | number | — | Buffer value for showing buffered/loaded amount |
indeterminate | boolean | false | Show indeterminate (animated) state |
label | string | 'Progress' | Accessible label for screen readers |
showLabel | boolean | false | Show the label visually |
showPercentage | boolean | false | Show percentage text |
showValue | boolean | false | Show value as fraction (e.g., "3/5") |
size | 'xs' | 'sm' | 'md' | 'lg' | 'md' | Size of the progress bar |
variant | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'primary' | Color variant |
style | 'solid' | 'striped' | 'gradient' | 'solid' | Visual style |
segmented | boolean | false | Show as segmented/stepped progress |
showSteps | boolean | false | Show step indicators for segmented progress |
stepLabels | string[] | — | Custom labels for each step |
animated | boolean | true | Animate value changes |
Healthcare Best Practices
- Clear Labels: Always provide descriptive labels to help users understand what progress is being tracked.
- Segmented for Workflows: Use
segmentedprogress for multi-step processes like patient intake or claim submission. - Status Colors: Use
variant="success"when complete,variant="error"for failures. - Indeterminate When Unknown: Use
indeterminatefor operations with unknown duration (API calls, background processing). - Show Percentage: Always show percentage or step count for determinate progress to give users clear feedback.
- Larger for Critical: Use larger sizes (
size="lg") for important workflows where visibility matters.
Accessibility Notes
- ARIA Progressbar: Uses
role="progressbar"with properaria-valuenow,aria-valuemin, andaria-valuemax. - Value Text: Provides
aria-valuetextwith human-readable progress (e.g., "75%" or "2 of 5 steps complete"). - Label Association: Labels are properly associated via
aria-labelledbywhen visible. - Reduced Motion: Animations are disabled for users with
prefers-reduced-motionpreference.