Preview
Animation Variants
Pulse Animation (Default)
Wave Animation
Shimmer Animation
No Animation
Complex Layouts
Table Skeleton
Preset Examples
Text Presets
Component Presets
Installation
<> import.ts
import { Skeleton } from "@/components/ui/skeleton"Code
<> component.tsx
import Skeleton from "@/components/ui/skeleton"
<Skeleton />API Reference
Skeleton
Versatile skeleton loader with many variants and complex presets.
<> import.ts
import Skeleton, { SkeletonText, SkeletonAvatar, SkeletonButton, SkeletonInput, SkeletonCard, SkeletonProfile, SkeletonPost, SkeletonTable, SkeletonDashboard, SkeletonPresets } from "@/components/ui/skeleton"Props
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | "" | Additional CSS classes |
variant | "default" | "text" | "circular" | "rectangular" | "card" | "avatar" | "button" | "input" | "default" | Visual variant |
size | "sm" | "md" | "lg" | "xl" | "md" | Size preset |
width | string | number | — | Width when applicable |
height | string | number | — | Height when applicable |
animation | "pulse" | "wave" | "shimmer" | "none" | "pulse" | Loading animation |
lines | number | 1 | Number of lines (text variant) |
spacing | "sm" | "md" | "lg" | "md" | Line spacing (text variant) |
Presets
titleLarge text line
subtitleMedium text line
paragraphMultiple text lines
smallAvatarSmall avatar circle
mediumAvatarMedium avatar circle
largeAvatarLarge avatar circle
smallButtonSmall button block
mediumButtonMedium button block
largeButtonLarge button block
smallInputSmall input block
mediumInputMedium input block
largeInputLarge input block
smallCardSmall card block
mediumCardMedium card block
largeCardLarge card block
pulsePulse animation
waveWave animation
shimmerShimmer animation
staticNo animation