๐ŸŽฏ Nexus teaches Next.js from foundations to professional systemsโ€ขโšก App Router, React 19, and Tailwind v4 in one learning pathโ€ข๐Ÿงฉ Inspect real components, layouts, and reusable patternsโ€ข๐Ÿ› ๏ธ Build production discipline, not just polished demosโ€ข๐Ÿ“š Tracks, references, and design studies in one placeโ€ข๐ŸŽฏ Nexus teaches Next.js from foundations to professional systemsโ€ขโšก App Router, React 19, and Tailwind v4 in one learning pathโ€ข๐Ÿงฉ Inspect real components, layouts, and reusable patternsโ€ข๐Ÿ› ๏ธ Build production discipline, not just polished demosโ€ข๐Ÿ“š Tracks, references, and design studies in one placeโ€ข๐ŸŽฏ Nexus teaches Next.js from foundations to professional systemsโ€ขโšก App Router, React 19, and Tailwind v4 in one learning pathโ€ข๐Ÿงฉ Inspect real components, layouts, and reusable patternsโ€ข๐Ÿ› ๏ธ Build production discipline, not just polished demosโ€ข๐Ÿ“š Tracks, references, and design studies in one placeโ€ข๐ŸŽฏ Nexus teaches Next.js from foundations to professional systemsโ€ขโšก App Router, React 19, and Tailwind v4 in one learning pathโ€ข๐Ÿงฉ Inspect real components, layouts, and reusable patternsโ€ข๐Ÿ› ๏ธ Build production discipline, not just polished demosโ€ข๐Ÿ“š Tracks, references, and design studies in one placeโ€ข
UI Components

Skeleton

A loading placeholder that mimics content layout using animated pulse โ€” pairs naturally with React 19 Suspense

Quick Preview

Installation

// Copy the Skeleton component from
src/components/ui/Skeleton.tsx

Usage

import { Skeleton } from '@/components/ui/Skeleton'
// Use inside a Suspense boundary (React 19)
export default function PostsFeed() {
return (
<Suspense fallback={<PostsSkeleton />}>
<Posts />
</Suspense>
)
}
function PostsSkeleton() {
return (
<div className="space-y-4">
{[...Array(3)].map((_, i) => (
<Skeleton key={i} variant="card" />
))}
</div>
)
}

Examples

All Variants

line

circle

card

block

Blog Card Loading State

Prompt Preview

Copy a prompt that recreates this UI

Paste this into your AI coding assistant to generate code that closely matches the reference, including color, size, shape, typography, spacing, and polish.

Copy-ready AI prompt

Starts from the current visual reference and project constraints.

Tweak only product-specific copy or data after the first generation pass.

Props

PropTypeDefaultDescription
variant"line" | "circle" | "card" | "block""line"Shape preset for the skeleton
widthstring-CSS width (e.g. "200px", "50%")
heightstring-CSS height (e.g. "100px")
linesnumber1Number of lines (for variant="line" only)
classNamestring-Additional CSS classes

Features

  • โœ“4 variants: line, circle, card, block
  • โœ“animate-pulse CSS animation
  • โœ“Multi-line mode with natural last-line shortening
  • โœ“Server Component (no state needed)
  • โœ“aria-hidden for accessibility
  • โœ“Pairs with React 19 Suspense boundaries