Spinner
Spinners indicate a loading or processing state inline in buttons, badges, and empty states.
Try it
Usage
import { RuiSpinner } from '@ecopages/radiant-ui/spinner';
<RuiSpinner />Place a spinner before button label text to indicate an in-flight action:
import { RuiButton } from '@ecopages/radiant-ui/button';
import { RuiSpinner } from '@ecopages/radiant-ui/spinner';
<RuiButton variant="filled" disabled>
<RuiSpinner size="sm" class="mr-2" />
Loading...
</RuiButton>Sizes
Use sm inside buttons and badges, md for standalone status, and lg for prominent loading regions.
Accessibility
RuiSpinnerrendersrole="status"with a defaultaria-labelofLoading.- Pair with visible text when the loading context is not obvious.
API
RuiSpinner is a presentational JSX view over a <span>, no custom element.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
size | sm · md · lg | md | Spinner diameter. |
aria | { label?: string } | { label: 'Loading' } | Accessible name. |
CSS classes
| Class | Description |
|---|---|
.rui-spinner | Spinner root (role="status"). |
.rui-spinner--sm | Small spinner (12px). |
.rui-spinner--md | Medium spinner (16px). |
.rui-spinner--lg | Large spinner (20px). |