Skeleton

Placeholder on surface-3 with a 4px radius. Invisible for the first 300ms so a fast response never flashes it, then a 1.2s opacity pulse on the calm curve. Size it with the classes the real content will take so nothing shifts on swap. Reload to see the delay.

<Skeleton className="h-4 w-48" />

Queue row

Loading queue

Card

Loading card