SkeletonRow
v1.0.2Updated 20 Jul 2026A placeholder for a single list item: circular avatar, a title and subtitle stack, and a right-hand action button. Stack several to hold the shape of a people or conversation list while it loads. Carries role="status" and aria-busy for assistive tech.
Preview
Live · 8 storiesDefaultOpen ↗
▸Why this is recommendedloadingplaceholderrowlist+3
The default, out-of-the-box SkeletonRow.
Recommended for+14
- ✓Contact list while people load
- ✓Inbox or conversation list on first paint
- ✓Team member list during initial fetch
- ✓Notification list waiting on a response
- ✓Any avatar-plus-label row that has not loaded
Tags+6
loadingplaceholderrowlistlist-itemskeletondefault
Features+4
- Avatar + two-line text stack + trailing action
- Flexes to the full width of its container
- role="status" + aria-busy with an sr-only "Loading…" label
- Forwards animation and intensity to every part
- Stacks cleanly into a list with a gap wrapper
- i18n: labels prop overrides the sr-only "Loading…" announcement
Not recommended for−2
- ✕Multi-column tabular data (use SkeletonTable)
- ✕Card-shaped content (use SkeletonCard)
- ✕A bare avatar with no text (use SkeletonAvatar)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
PropTypeRequired
animationShimmer style applied to every bar. Defaults to 'pulse'.
—intensityPlaceholder contrast against the surface.
—classNameOverrides on the row wrapper.
—labelsOverride the built-in sr-only "Loading…" announcement (i18n). Merged over DEFAULT_SKELETON_ROW_LABELS.
—