Skip to main content
BEEQ Empty-state component overview
Empty states appear when a section, page, or workflow has nothing to show yet. A good empty state explains the situation, reduces uncertainty, and helps people recover by pointing them toward the next meaningful action.
Use empty states when the absence of content is meaningful and persistent enough to deserve guidance. If content is only loading or momentarily unavailable, use a loading or error pattern instead.

When to use

Use empty states when
  • A page or section has no data yet and people need orientation
  • A first-time experience needs guidance before content exists
  • The interface should explain what is missing and what action can create content

Do not use empty states when
  • Content is still loading and a spinner or skeleton is more accurate
  • The issue is a temporary system problem that should be communicated as an error state
  • The page already contains enough surrounding guidance to explain what is happening

Patterns

Anatomy

BEEQ Empty-state component anatomy
An empty state is intentionally simple, but it can combine several layers of guidance depending on how much orientation or recovery support people need.
PartElementDescription
1Illustration or iconA default icon or custom thumbnail slot that visually communicates the empty state
2TitleThe primary statement that explains what is missing or unavailable
3DescriptionOptional supporting text placed in the body slot to add context or reassurance
4LinkOptional inline guidance inside the body content that points to help, learning, or an alternate path
5CTA buttonsOptional primary and secondary actions placed in the footer slot

Design guidelines

Use empty states to orient people quickly, explain why nothing is shown, and make the next step obvious.
1

Start with the reason

Explain what is missing or unavailable before telling people what they can do next.
2

Add only necessary detail

Use a short description when the title alone is not enough to reduce uncertainty or guide the next action.
3

Match the scale to the layout

Use small, medium, or large based on the available space and the prominence the empty moment needs.
Center the empty state within the available area when it represents the main content of the page or section, so the message is easy to notice without competing with unrelated UI.

Usage

Default

Use the default variant when you want the cleanest possible presentation and the title already communicates enough context.
Keep the title direct and outcome-oriented. State what is missing, not just that the page is empty.

Options

With body

Use body content when the empty state needs a short explanation or a little more guidance about what happens next.

With call to action

Use the footer when the empty state should help people recover immediately. Prefer one primary action. Add a secondary action only when it offers a clearly different path.
Do not overload an empty state with many equal-priority actions. If people need several next steps, pick the primary recovery path and move secondary options elsewhere.

Sizes

Choose size based on the available space and the prominence of the moment. medium is the default and works for most dashboard or section-level empty states.
SizeWhen to use
SmallDense layouts, side panels, compact cards, or mobile contexts where space is limited
MediumMost standard application pages and sections
LargeFull-page empty states or moments where the message should feel more prominent

Best practices

DoCombine a clear title with a short description when people need extra context. A title alone is often not enough to guide recovery.

Don’tDo not leave people with a vague message that explains nothing beyond the fact that the page is empty.

DoUse one clear primary Button or link to show the most useful next step.

Don’tDo not add too many competing calls to action. Too many choices weaken the guidance the empty state is supposed to provide.

DoUse a representative icon or illustration and place the empty state where it is easy to notice, usually centered within the available space.

Don’tDo not use decorative art that suggests the wrong situation or distracts from the actual message.

DoMatch the empty state size to the available layout so the message feels intentional instead of oversized or easy to miss.

Don’tDo not use a full-page large empty state inside a compact panel or card where it overwhelms the surrounding layout.

Accessibility

  • Keep visuals decorative unless they carry meaning — if the thumbnail is only illustrative, hide it from assistive technology with aria-hidden="true" or an empty alt value.
  • Make the title and body self-sufficient — people should understand the state without needing to infer meaning from the artwork.
  • Use semantic, keyboard-accessible actions — any recovery path in the footer should be a real button or link that can receive focus and has a clear label.
  • Preserve reading order — title, description, and actions should follow a logical visual and DOM sequence.
  • Do not rely on color or imagery alone — the message itself should explain what is happening and what can be done next.

API reference

Properties

PropertyAttributeDescriptionTypeDefault
sizesizeThe size of the empty state component"large" | "medium" | "small""medium"

Slots

SlotDescription
(default)The empty state title
thumbnailReplaces the default icon with custom visual content
bodySupporting descriptive content displayed below the title
footerActions displayed below the body

Shadow parts

PartDescription
wrapperThe outer container inside the shadow DOM
thumbnailThe container that wraps the icon or slotted thumbnail
iconThe default bq-icon rendered when no thumbnail is provided
titleThe container that wraps the title content
bodyThe container that wraps the body slot
footerThe container that wraps the footer slot

CSS custom properties

This component does not expose any CSS custom properties.

Resources

Interactive playground

Explore Empty State examples and sizes in Storybook

Source code

View the component source on GitHub