import * as React from 'react'; import { clsx } from 'clsx'; export interface SkeletonProps extends React.HTMLAttributes { /** * Visual variant. * - `text` — short pill, fits a single line of body text. * - `block` — full rect, default; suitable as a hero or paragraph placeholder. * - `circle` — fixed 40 × 40 disc; ideal for avatar slots. * - `card` — taller rounded panel, mirrors a `` footprint so swapping * to the real content does not shift layout. */ shape?: 'block' | 'text' | 'circle' | 'card'; } /** * `` — shimmer placeholder. Dimensions are tuned so the eventual * content matches; this avoids the `bl-skeleton-shift` CLS anti-pattern * codified in roadmap §3.8. */ export function Skeleton({ shape = 'block', className, ...props }: SkeletonProps) { return (