Component · C-022
Skeleton
Holds the space of content while it loads so the layout does not jump. It is decorative and never replaces the text that communicates status.
Install
Install koten-theme first when the project has no Koten tokens yet.
npx shadcn@latest add https://koten.codehive.com.co/r/skeleton.jsonAccessibility
- Skeleton is always aria-hidden: it announces nothing on its own.
- The container must communicate loading with text or aria-busy; the skeleton does not replace that message.
- Match the final size of the content to avoid layout shifts.
- With prefers-reduced-motion the pulse stops; the space stays occupied.