Empty: Entrance
When an empty state replaces content, its parts fade up one after another: media, title, description, then actions. Dismiss the notifications to see it. Under reduced motion it just appears. Set animated={false} for empty states that are there from the first paint.
- Jun approved your pull request
- Mira mentioned you in #design
- Deploy to production finished
This adds the example as components/examples/empty/transition.tsx, together with the Empty component and the HextaUI theme tokens it needs.
pnpm dlx shadcn@latest add https://hextaui.com/r/empty-transition.jsonTo add only the component, follow the Empty installation.
Props in this example
The Empty props this example sets, from the API reference.
| Prop | Type | Default |
|---|---|---|
variant | "default" | "outline" | "muted" | "default" |
sizesm tightens padding, gaps, the icon tile and the title. | "default" | "sm" | "default" |
| Prop | Type | Default |
|---|---|---|
varianticon puts an icon in a muted tile. stack raises the tile over two fanned cards that spread when the empty state is hovered. Both hide the media from assistive tech. | "default" | "icon" | "stack" | "default" |
Every prop is in the Empty API reference.
- Outline
- Muted
- Small
- Avatar
- Avatar group
- Image
- No search results
- In a card
- In a table
- In a popover
- In a command list
- Heading level
- Long content
- Right to left
See them all, with keyboard support and accessibility notes, on the Empty page.
- AlertInline messages for status and feedback, with a neutral surface, a colored icon and a dismiss that collapses smoothly.
- ProgressA bar or ring that shows how far a task has come, eases between updates and slides while the total is unknown.
- SkeletonPlaceholders that wait 150ms before showing, take the exact size of the content they wrap, and fade it in without moving anything.
- SpinnerA loading indicator with Apple-style ticks or a breathing ring that can wait before showing and stay long enough not to flicker.
- ToastBrief messages that stack neatly, expand on hover, swipe away, and turn a loading state into success or error in place.