Skeleton

Loading placeholder that mimics content shape.

When To Use

  • Use Skeleton when you need a reusable atoms pattern instead of rebuilding the structure from primitives.
  • Start from the simplest example that fits the task, then add decoration only when it clarifies meaning or hierarchy.
  • Review the examples below to understand the tradeoffs between density, emphasis, and behavior.

When Not To Use

  • Do not use Skeleton just because it already exists in the catalog; choose the pattern that matches the task, not the most decorative option.
  • Do not keep layering options onto the pattern when a simpler component or section would be easier to understand and maintain.

Accessibility Notes

  • Keep headings, labels, and supporting text in the DOM before decorative chrome so the page reads well without styles or scripts.
  • Test the pattern with keyboard navigation and a screen reader before treating the visual layout as complete.
  • Use status, selection, and disabled states that remain understandable without color alone.

Key Props / API

Composition surface

Skeleton keeps the native HTML or Radix API surface, then layers in design-system styling and composition defaults.

Example Code

import { Skeleton } from "@hilum/ui"

<div className="flex items-center gap-3">
  <Skeleton className="size-10 rounded-full" />
  <div className="flex flex-col gap-2">
    <Skeleton className="h-3 w-32" />
    <Skeleton className="h-2.5 w-20" />
  </div>
</div>
<Skeleton className="mt-4 h-2 w-full" />
<Skeleton className="h-2 w-4/5" />
<Skeleton className="h-2 w-3/4" />

Skeleton

Loading states

Animated placeholder while content loads