Guide users when content is missing with an icon, title, description, and call-to-action. Perfect for empty lists, search results with no matches, and onboarding flows where users need to create their first item.
Built with compound components for flexible composition—use only what you need, from a simple title to a full empty state with icon and multiple actions.
Installation
shellUsage
tsxAnatomy
EmptyState is a compound component with the following parts:
tsxRoot Props
The Root component manages layout and alignment for the empty state.
All other props are passed through to the underlying Flex component.
Icon Props
Container for the icon or illustration. Passes through to Box.
Content Props
Groups title and description with tighter spacing. Passes through to Flex.
Title Props
The main heading for the empty state. Passes through to Heading.
Description Props
Supporting text explaining the empty state. Passes through to Text.
Actions Props
Container for action buttons. Passes through to Flex.
Alignment
Use the align prop on Root to control content alignment. Defaults to center.
Center (Default)
Most common for empty states that fill a container.
tsxStart
For inline empty states or when left alignment fits the layout.
tsxExamples
With Icon
Add visual context with an icon.
tsxMultiple Actions
Offer primary and secondary actions.
tsxAccessibility
EmptyState provides semantic structure for screen readers.
Heading Hierarchy
- Title uses
h3by default; adjust with theasprop to fit your page structure - Description provides context for the empty state
Focus Management
- Action buttons are keyboard accessible
- Tab order follows visual layout