MC
Designing for the empty stateMaya Chen4 min read
The first screen people see is usually blank.Make it the most helpful one in the product.
ProUnlock all 194 components, 22 templates, 21 blocks and 15 videos for Unlock everything for $49.99 a year, or $79.99 once. See plans ›
A card whose loading skeletons are cut to the exact shape of the content that replaces them, with one light sweeping across every block. When the data arrives each block dissolves into its real content in reading order, and nothing shifts.
Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.
| Prop | Type | Default | What it does |
|---|---|---|---|
| ready | boolean | — | Controlled: true shows the content, false the skeletons. Leave it out to use the built-in toggle button and defaultReady. |
| defaultReady | boolean | false | Starting state when ready is not controlled. |
| onReadyChange | (ready: boolean) => void | — | Called when the toggle button, or autoplay, changes the state. |
| author | string | "Maya Chen" | Author name shown beside the avatar. |
| initials | string | "MC" | Initials in the avatar. |
| avatarColor | string | "#ff9f0a" | Avatar colour. |
| meta | string | "4 min read" | Reading time line under the author. |
| title | string | "Designing for the empty state" | Headline of the card. |
| lines | string[] | SKELETON_MORPH_LINES | Lines of body copy, one skeleton each. |
| autoplay | boolean | false | Flips between skeleton and content on a loop until someone touches the card. Pauses off screen, never runs under reduced motion, and works when ready is not controlled. |
| className | string | — | Extra classes for the wrapper. |