Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- Hover Card
- Input
- Input OTP
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toggle
- Toggle Group
- Tooltip
import { Skeleton } from "@/components/skeleton/skeleton";
export function SkeletonDemo() {
return (
<div style={{ alignItems: "center", display: "flex", gap: 16 }}>
<Skeleton style={{ borderRadius: "9999px", height: 48, width: 48 }} />Installation
$ pnpm dlx shadcn@latest add https://shadcn-cssinjs.vercel.app/r/skeleton.json
Usage
import { Skeleton } from "@/components/ui/skeleton/skeleton";<Skeleton style={{ width: 200, height: 16 }} />Examples
Card
Compose multiple skeletons to outline a loading card.
import { Skeleton } from "@/components/skeleton/skeleton";
export function SkeletonCard() {
return (
<div style={{ display: "flex", flexDirection: "column", gap: 12 }}>
<Skeleton style={{ borderRadius: 12, height: 160, width: 280 }} />RTL
To enable right-to-left support, see the RTL guide.
"use client";
import * as React from "react";
import { useTranslation } from "@/components/language-selector";
import type { Translations } from "@/components/language-selector";API Reference
Skeleton
Use the Skeleton component to show a placeholder while content is loading. It is a styled <div> and accepts all of its props.
| Prop | Type | Default |
|---|---|---|
className | string | - |