The Empty state component is used either when there is no content to display or when there is a problem with a part of the app.
The empty state component can show either an icon or illustration.
1. icon
2. Illustration
Usage
Use this component as an Error state if a section of the app fails to load.
For example:
- An energy usage chart fails due to a network or service error.
- A dashboard cannot retrieve data.
Use this component to provide an Empty state if no content exists yet.
For example:
- A new OVO customer has no energy usage data.
- A list or history view is empty because nothing has been created yet.
Don’t use this component for inline form validation errors.
Use input error states and notifications to display form errors instead.
Don’t use this component if only a single card cannot retrieve data in a dashboard of multiple cards. The error fallback card should only be used if an entire section of the app cannot be loaded.
Do include an action and/or set expectations for what will happen next where possible.
Where a link or action is included within the component, the drop shadow must be displayed on the card background to indicate interactivity. Otherwise, no drop shadow is displayed.
Writing an Empty State component.
Firstly, check to see if one of our 4 existing error handling patterns fits your required use case before writing a new error or empty state message. When writing an empty or error state, this is what to communicate:
Character limits
Heading: 25–45 characters recommended, 60 characters maximum
Body text: 60–160 characters recommended, 200 characters maximum
Best practices
Do
- Be clear and direct.
- Use plain language.
- Focus on what the user can do next (if possible).
- Use a calm, neutral tone.
- Frame empty states positively where possible.
Don’t
- Blame the user.
- Be overly technical like using raw error codes for example.
- Be vague.
- Overwhelm with instructions.
- Use humor in error scenarios.
Examples
No statements available
Your monthly statements will appear here once your first billing cycle is complete.
Usage data is temporarily unavailable
We’re working to restore access. Please check back shortly.
You haven’t added anything
There’s nothing here because you haven’t created any data yet.
Error 501
An error occurred.
Available platforms
|
Platform |
Available |
|---|---|
|
Figma |
v5+ |
|
Web (@ovotech/element) |
❌ |
|
App (@ovotech/element-native) |
v5+ |
Related components