Skeleton
A pulsing placeholder that keeps the row height or prose pitch of what it stands for.
import { Skeleton } from "@arcadia/ui"text, the default, is one line of the surrounding text: 1lh tall with a 6px bar centred in it, so a stack keeps the prose pitch and a skeleton label keeps a row's height. Nothing moves when the content arrives. It pulses 1 → .45 → 1 over 1.4s.
Which loader? A Skeleton holds the place of content that is on its way. A Spinner says a control or a small region is busy. A Pine Sweep says an agent is running, and a Shimmer marks the live status text beside it.
Examples
width and height size one placeholder: a share of its container or a size token. rootStyle takes layout and these knobs.
--skeleton-w- SkeletonLengthDefault 100%
- Width (a circle's diameter).
--skeleton-h- SkeletonLengthDefault var(--space-10)
- A
block's height. --skeleton-fill- PaintDefault var(--fill-4)
- The bar, block or circle.
Always decorative (aria-hidden): announce loading on the container with aria-busy, as above, or with text. With reduced motion it holds still at its resting tint.
Skeleton
shape- "text" | "block" | "circle"Default "text"
text: one line of the surrounding text (1lh tall) with a 6px bar centred in it, so a skeleton label keeps a row's height and a stack of them keeps the prose pitch.block: a filled rectangle (images, cards).circle: an avatar or icon placeholder.width- SkeletonLengthDefault 100%
- Width, e.g. "72%" or "var(--space-16)". Circle: 24px.
height- SkeletonLengthDefault 40px
- Height for
block. rootStyle- RootStyle<SkeletonKnobs>
- Typed StyleX override: layout and the
--skeleton-*knobs.
Rest props go to <span> props and render.