Skip to content

Skeleton ​

Placeholder in the shape of what's coming

Grey plates the size of the content that hasn't arrived, so the layout is already right when it does and nothing jumps. Size each one to the real thing: width/height for a block, lines for a paragraph (the last line stops at 60%), avatar for a face. They breathe — a slow opacity pulse, flat, no shimmer — and hold still under prefers-reduced-motion.

Skeletons are hidden from assistive tech; the region should say it's loading: aria-busy="true" on the container, and a role="status" with a label if you want it announced (the Page states block does both). For "busy" on something already there, BlockUI; for busy with no shape to promise, Spinner.

Basic

Usage ​

ts
import { BlessSkeleton } from "blessing-ui";

API ​

Props

NameTypeDefaultDescription
widthstring"100%"
heightstring"1em"
linesnumber—render n text lines instead of one block
avatarboolean—an avatar placeholder: square like BlessAvatar, never leaning

Released under the MIT License. Character names and artwork belong to their owners.