bx

Skeleton

Use to show a placeholder while content is loading.

tsx
<div className="flex items-center gap-4">
  <Skeleton className="h-12 w-12 rounded-full" />
  <div className="space-y-2">
    <Skeleton className="h-4 w-[250px]" />
    <Skeleton className="h-4 w-[200px]" />
  </div>
</div>

Skeleton — placeholder gris pulsé pour du contenu en cours de chargement. Utiliser des shapes qui matchent la géométrie du contenu réel (avatar rond, titre h-4, ligne de texte h-3).

Vs Spinner : Skeleton = placeholder du layout final, Spinner = juste "ça charge quelque part".

Installation

Terminal
$ bext ui add skeleton

Usage

tsx
import { Skeleton } from "@bext-stack/ui/primitives"

<div className="flex items-center gap-4">
  <Skeleton className="h-12 w-12 rounded-full" />
  <div className="space-y-2">
    <Skeleton className="h-4 w-[250px]" />
    <Skeleton className="h-4 w-[200px]" />
  </div>
</div>

Anatomy

<Skeleton className="h-4 w-full rounded-md" />

API Reference

Skeleton

Prop Type Default Description
className string Standard : rounded-md bg-muted animate-pulse. Ajouter h-N w-N pour dimensionner.

Accessibility

Wrapper le container qui contient les skeletons avec aria-busy="true" aria-live="polite" pour signaler aux AT que le contenu se charge.

Try it live Open in play

Edit this example live in the bext playground — it compiles and runs entirely in your browser.

src/app/page.tsx 1 file · react · runs in your browser
The React idiom — same UI, for comparison.