Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Autocomplete
- Avatar
- Badge
- Bar List
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Checkbox
- Checkbox Group
- Circular Progress
- Collapsible
- Combobox
- Command
- Context Menu
- Currency Input
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Meter
- Multi Combobox
- Native Select
- Navigation Menu
- Number Field
- Pagination
- Phone Input
- Popover
- Progress
- Progress List
- Prompt
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Stat
- Switch
- Table
- Tabs
- Textarea
- Toggle
- Toggle Group
- Tooltip
- Typography
Loading...
import {
Item,
ItemContent,
ItemMedia,
ItemTitle,
} from "@/components/ui/item";
import { Spinner } from "@/components/ui/spinner";
export function SpinnerDemo() {
return (
<div className="flex w-full max-w-xs flex-col gap-4 [--radius:1rem]">
<Item variant="muted">
<ItemMedia>
<Spinner />
</ItemMedia>
<ItemContent>
<ItemTitle className="line-clamp-1">Processing payment...</ItemTitle>
</ItemContent>
<ItemContent className="flex-none justify-end">
<span className="text-sm tabular-nums">$100.00</span>
</ItemContent>
</Item>
</div>
);
}Installation
npx shadcn@latest add "https://ui.blode.co/r/styles/default/spinner"
Usage
import { Spinner } from "@/components/ui/spinner";<Spinner />Examples
Default
Loading...
import {
Item,
ItemContent,
ItemMedia,
ItemTitle,
} from "@/components/ui/item";
import { Spinner } from "@/components/ui/spinner";
export function SpinnerDemo() {
return (
<div className="flex w-full max-w-xs flex-col gap-4 [--radius:1rem]">
<Item variant="muted">
<ItemMedia>
<Spinner />
</ItemMedia>
<ItemContent>
<ItemTitle className="line-clamp-1">Processing payment...</ItemTitle>
</ItemContent>
<ItemContent className="flex-none justify-end">
<span className="text-sm tabular-nums">$100.00</span>
</ItemContent>
</Item>
</div>
);
}<Spinner />Custom Size
Loading...
import { Spinner } from "@/components/ui/spinner";
export function SpinnerSize() {
return (
<div className="flex items-center gap-6">
<Spinner size={12} />
<Spinner size={16} />
<Spinner size={24} />
<Spinner size={32} />
</div>
);
}<Spinner size={24} />Props
| Prop | Type | Default | Description |
|---|---|---|---|
size | number | 48 | The size of the spinner in pixels. |
strokeWidth | number | 2 | The width of the spinner stroke. |