Spinner
A loading spinner animation for indicating loading states.
No JavaScript Required
spinner/default
<%= render Shadcn::SpinnerComponent.new %>
Installation
Add the component to your project:
rails generate shadcn:add spinner
Usage
<%= render Shadcn::SpinnerComponent.new %>
Examples
Sizes
<%= render Shadcn::SpinnerComponent.new(size: :sm) %>
<%= render Shadcn::SpinnerComponent.new(size: :default) %>
<%= render Shadcn::SpinnerComponent.new(size: :lg) %>
<%= render Shadcn::SpinnerComponent.new(size: :xl) %>
With Button
<%= render Shadcn::ButtonComponent.new(disabled: true) do %>
<%= render Shadcn::SpinnerComponent.new(size: :sm, class_name: "mr-2") %>
Loading...
<% end %>
Custom Color
<%= render Shadcn::SpinnerComponent.new(class_name: "text-primary") %>
<%= render Shadcn::SpinnerComponent.new(class_name: "text-destructive") %>
<%= render Shadcn::SpinnerComponent.new(class_name: "text-blue-500") %>
Loading State
Loading content...
<div class="flex flex-col items-center gap-2">
<%= render Shadcn::SpinnerComponent.new(size: :lg) %>
<span class="text-sm text-muted-foreground">Loading content...</span>
</div>
API Reference
API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
| size |
Symbol
|
:default
|
Spinner size (:sm, :default, :lg, :xl) |
| class_name |
String
|
nil
|
Additional CSS classes to apply |
Accessibility
- Includes
role="status"to indicate loading state - Has
aria-label="Loading"for screen readers - Consider adding descriptive text for context when using in loading states
On This Page