Skeleton

Skeleton is a neobrutalist React component from Cruise UI. Pulsing placeholder blocks while content loads, with text, avatar, card and table-row presets. Install it with npx shadcn@latest add @cruiseui/skeleton.

Install

Terminal

npx shadcn@latest add @cruiseui/skeleton

First time? Installation shows the one-off components.json setup (the @cruiseui registry) and how to turn the theme on.

Example

Corners
Loading orders…

When to use it

When to use

Content that takes a moment to load and has a known shape.

When not to

Unknown waits or actions (use a Progress spinner). Waits under ~300ms (show nothing).

Props

CruiseSkeleton

PropTypeDefaultDescription
width?Width<string | number>——
height?Height<string | number>——
circle?booleanfalse—
className?string——

CruiseSkeletonRegion

PropTypeDefaultDescription
loading?booleantrue—
label?string"Loading…"—
childrenReactNode——
className?string——

CruiseSkeletonText

PropTypeDefaultDescription
lines?number3—

CruiseSkeletonAvatar

PropTypeDefaultDescription
size?32 | 40 | 5640—

CruiseSkeletonTableRow

PropTypeDefaultDescription
cells?number3—

Accessibility

  • Skeleton blocks are hidden from screen readers.
  • The loading area has aria-busy and a hidden "Loading…".
  • Static (no pulse) under reduced motion.