Empty state
Empty states are used when a list, table, or chart has no items or data to show. This is an opportunity to provide explanation or guidance to help merchants progress. The empty state component is intended for use when a full page in the admin is empty, and not for individual elements or areas in the interface.
Empty state component examples
Use to explain a single feature before merchants have used it.
import {LegacyCard, EmptyState} from '@shopify/polaris';
import React from 'react';
function EmptyStateExample() {
return (
<LegacyCard sectioned>
<EmptyState
heading="Manage your inventory transfers"
action={{content: 'Add transfer'}}
secondaryAction={{
content: 'Learn more',
url: 'https://help.shopify.com',
}}
image="https://cdn.shopify.com/s/files/1/0262/4071/2726/files/emptystate-files.png"
>
<p>Track and receive your incoming inventory from suppliers.</p>
</EmptyState>
</LegacyCard>
);
}
Props
- heading?string
The empty state heading.
- imagestring
The path to the image to display. The image should have ~40px of white space above when empty state is used within a card, modal, or navigation component.
- largeImage?string
The path to the image to display on large screens.
- imageContained?boolean
Whether or not to limit the image to the size of its container on large screens.
- fullWidth?boolean
Whether or not the content should span the full width of its container.
- children?React.ReactNode
Elements to display inside empty state.
- action?
Primary action for empty state.
- secondaryAction?
Secondary action for empty state.
- footerContent?React.ReactNode
Secondary elements to display below empty state actions.
Best practices
Empty states should:
- Orient merchants by clearly explaining the benefit and utility of a product or feature
- Simplify a complicated experience by focusing on a few key features and benefits
- Use simple and clear language that empowers merchants to move their business forward
- Be encouraging and never make merchants feel unsuccessful or guilty because they haven’t used a product or feature
- Explain the steps merchants need to take to activate a product or feature
- Use illustrations thoughtfully as outlined in our illustration guidelines
- Use only one primary call-to-action button
- Provide extra spacing at the bottom of an empty state that is within content (card, modal, or navigation) to match the image that was passed into the component with a white space above it of 40px
Content guidelines
Title
Empty state titles should:
- Be action-oriented: encourage merchants to take the step required to activate the product or feature
- Create orders and send invoices
- Orders and invoices
- Follow the content guidelines for headings and subheadings
Subtitle
Empty state subtitles act like body content. They should:
- Describe or explain what’s in the empty state title or item title
- Be conversational: include articles such as the, a, and an
Primary action
Buttons are used for the most important actions you want merchants to take. They should be:
- Clear and predictable: merchants should be able to anticipate what will happen when they click a button. Never deceive merchants by using misleading titles.
- Create order
- Buy shipping label
- New order
- Buy
- Action-led: buttons should always lead with a strong verb that encourages action. To provide enough context to merchants use the {verb}+{noun} format on buttons except in the case of common actions like Save, Close, Cancel, or OK.
- Activate Apple Pay
- View shipping settings
- Try Apple Pay
- View your settings
- Scannable: avoid unnecessary words and articles such as the, an, or a.
- Add menu item
- Add a menu item
Secondary action
Secondary actions are used for less important actions such as “Learn more” or “Close” buttons. They should follow all the other content rules outlined for primary buttons.
Related components
- To learn more about illustrations for empty states, read the illustration guidelines
- To create page-level layout, use the layout component
- To highlight a Shopify feature, use the callout card component
Accessibility
Empty state illustrations are implemented as decorative images, so they use an empty alt attribute and are skipped by technologies like screen readers.