import clsx from "clsx"; import { SURFACE } from "./surfaces"; // B8 (docs/DESIGN.md): a first load of a grid, list or table shows the SHAPE of what is coming, so // nothing jumps when the data lands. One block primitive (a tonal fill, the Badge's 8% of the text // colour, pulsing unless the user asked for less motion) and the page shapes built from it (plus a // paragraph's, for prose that arrives after its page). The // shapes are shown through `LoadingState shape=…`, which owns the 300 ms reveal and the status role. function Skeleton({ className, inline = false }: { className?: string; inline?: boolean }) { // Inline: a span, for a bone inside phrasing content (a chip is a button, which may not hold a div). const Tag = inline ? "span" : "div"; return (