Overview
Loading indicators in 9 variants with size and color control. Includes Skeleton for shimmer placeholders.
Spinner variants
Choose one motion style consistently within a product surface.
Use a spinner for short operations with unknown progress. Use a skeleton when preserving the shape of loading content improves orientation.
Anatomy
- Root container and spacing boundary.
- Primary content and optional secondary metadata.
- State indicators and utility affordances (icons, badges, controls).
- Optional helper text, grouping, and behavioral wrappers.
When to use
- Choose Spinner when a repeated, structured interaction is required.
- Use it for clear, consistent operations across similar surfaces.
- Use in forms, lists, and action workflows where clarity matters.
When not to use
- Do not use only for decorative layout without interaction meaning.
- Avoid duplicating the same behavior without distinct user context.
- Prefer simpler HTML or textual content for static, non-interactive labels.
Variants
Component variants should be documented by API props and examples below.
States
Common states include idle, active, disabled, focused, and loading/pending states where applicable.
Behavior
Behavior should remain deterministic and keyboard-friendly, with clear visual feedback for every state transition.
Accessibility
- Use semantic structure and visible labels whenever possible.
- Preserve keyboard navigation and focus visibility.
- Announce status and changes when context requires it.
Content guidelines
- Prefer short, clear labels.
- Keep content actions scannable and outcome-oriented.
- Use consistent wording across similar components.
Examples
Variants
circular (default), ring, dots, bars, dual, pulse, ripple and gradient
Sizes
xs, sm, md (default), lg, xl and 2xl
Colors
default, secondary, success, warning, error and white
With label
label adds text — labelPosition controls placement: top, bottom (default), left or right
Skeleton
Shimmer placeholders shown while content loads — size via style or className
Props / API
Api Props
Props