The illustrationType
"generic" of the EmptyStateIllustration
component is deprecated in SWAN v3.24
A set of context-specific illustrations has been introduced and should be used in place of the generic illustration.
The illustrationType
"generic" of the EmptyStateIllustration
component is deprecated in SWAN v3.24
A set of context-specific illustrations has been introduced and should be used in place of the generic illustration.
FormError
on Standard Form.The most common case for Empty State is to display EmptyStateIllustration
, EmptyStateTile
, EmptyStateDescription
, and a single Button within EmptyStateActions
. All subcomponents are technically optional.
The preview has been updated.
An illustration can be placed inside of an Empty State. On EmptyStateIllustration
, use illustrationType
to set the illustration according to the semantic intent of the Empty State content. Illustrations that are available include:
The preview has been updated.
The EmptyStateTitle
subcomponent should contain the problem definition to explain why the view is empty. See Problem definition for more information.
The EmptyStateDescription
subcomponent should contain the solution definition to outline the users' next steps. See Solution definition for more information.
The EmptyStateActions
subcomponent should contain the next best action to get the user back on task. For most cases, use a single, Primary Button. However, some contexts may require multiple Buttons. See Next best action for more information.
The preview has been updated.
The EmptyStateFooter
subcomponent can be used to provide additional information or ancillary links that are tangential to the task at hand. See Ancillary information for more information.
The preview has been updated.
Use the Status Message component to highlight information, such as contacting the Help Center.
The preview has been updated.
Use size="large"
to increase the size of an Empty State. Potential uses include full-page empty states such as an error page.
The preview has been updated.
Empty State content should:
Explain the problem and why it happened. When possible, present a single problem. This should be represented by the EmptyStateTile
subcomponent.
EmptyStateTitle
should be a heading, styled in sentence case, with no trailing full stop.
Describe how to resolve the problem and/or progress in a valuable direction. Some Empty States may have more than one solution. This should be represented by the EmptyStateDescription
subcomponent.
Present clear actions, such as Buttons or Inputs to enable users to progress in a valuable direction. A single action is best, but some cases may need two or three actions. This should be represented by the EmptyStateActions
subcomponent.
Next best actions should use imperative verbs. Avoid vague or overly-technical terms and be mindful of words that are not inclusive or accessible. Words should be meaningful in context.
Examples
Imperative verbs: Try, Remove, Explore, Upload, Copy, Create
Vague, overly-technical ,not inclusive/accessible: Abort, Clone, Click
In addition to the next best action, you may provide supporting information or a link for users to learn more. If the next best action contains an input, any additional actions should be placed in the footer. Ancillary information should be represented by the EmptyStateFooter
subcomponent.
The Empty State component doesn't reserve space around itself. As a general rule, when placing the Empty State within a layout, use the between-subsections
semantic space value above and below the component.
The preview has been updated.
Empty States fall into two scenarios:
A customer action populates the Empty State. Dynamic scenarios involve customizing the Empty State by integrating customer data. Customer interests or past purchases populate an action.
For example, when a customer finishes creating a new logo, we present a chance to add it to business cards (because they ordered some last year).
There is nothing the customer can do to populate the Empty State. The next best action in fixed scenarios would be a generic CTA or another helpful link.
For example, when a customer visits their Orders page before they've made an order, we present an Empty State informing them that orders will appear in this place. We could suggest one or more shopping categories as the next best action.
<div />
as the root element. You can utilize the native attributes supported by <div />
tag. The ref
is directly assigned to the root element, allowing you to access and manipulate it as needed.prop | type | required | description | default |
---|---|---|---|---|
size | "standard" | "large" | false | Use `standard` size for most empty state content. Use `large` size for full-page empty states | standard |
<img />
as the root element. You can utilize the native attributes supported by <img />
tag. The ref
is directly assigned to the root element, allowing you to access and manipulate it as needed.prop | type | required | description | default |
---|---|---|---|---|
illustrationType | "search" | "success" | "error" | "orders" | "myProjects" | "liveChat" | "generic" | "designServices" | "cart" | "brief" | true | Type of illustration to display | null |
<p />
as the root element. You can utilize the native attributes supported by <p />
tag. The ref
is directly assigned to the root element, allowing you to access and manipulate it as needed.<p />
as the root element. You can utilize the native attributes supported by <p />
tag. The ref
is directly assigned to the root element, allowing you to access and manipulate it as needed.<div />
as the root element. You can utilize the native attributes supported by <div />
tag. The ref
is directly assigned to the root element, allowing you to access and manipulate it as needed.<div />
as the root element. You can utilize the native attributes supported by <div />
tag. The ref
is directly assigned to the root element, allowing you to access and manipulate it as needed.How does Empty State meet your needs?