Skip to content
THE COMPONENT LIBRARY
Skip to content

Component reference

EmptyState

Guide users toward creating their first project.

Preview

Live preview

Changes apply to this preview only.

Projects

The first-run state of a workspace with a single primary action.

Create your first project

Projects keep deployments, tokens and environments together. You can rename or archive one at any time.

Search

A result-less search that explains the filters and offers a way out.

No components match “modal”

Try a different term, or clear the filters to browse the whole library.

Inbox

A positive empty state: there is nothing left to do.

Inbox zero

You have read every notification.

Billing

A neutral state with no action, for a section that fills itself later.

No invoices yet

Your first invoice will be generated at the end of the billing period.

Width adapts to the available space

More examples

Different configurations and compositions using the real Pimolu API. Each preview runs independently and follows the site appearance.

Sizes

sm, md and lg scale the padding, the illustration and the typography.

Open preview

Without an icon

The illustration is optional; the heading and the description still carry the message.

Open preview

Projects

A projects composition using EmptyState.

Open preview

Usage

Explain why the view is empty and offer an actionable next step.

API reference

Generated from the public TypeScript declarations. Native HTML attributes are inherited where the component extends them; this reference includes Pimolu props and selected common native attributes.

PimoluEmptyStateProps

Type source
PimoluEmptyStateProps public API
NameTypeDefaultDescription
iconReactNode—Decorative illustration or icon, hidden from assistive technology.
titleRequiredReactNode—Required heading, rendered as an h3.
descriptionReactNode—Optional supporting text.
actionsReactNode—Actions rendered below the description.
size"sm" | "md" | "lg" | undefined"md"Scales the padding, the illustration and the typography.
onChangeChangeEventHandler<HTMLElement, Element> | undefined—Standard React/HTML attribute.
defaultValuestring | number | readonly string[] | undefined—Standard React/HTML attribute.
classNamestring | undefined—Standard React/HTML attribute.
styleCSSProperties | undefined—Standard React/HTML attribute.
aria-labelstring | undefined—Defines a string value that labels the current element.
onClickMouseEventHandler<HTMLElement> | undefined—Standard React/HTML attribute.
icon

ReactNode

No default extracted.

Decorative illustration or icon, hidden from assistive technology.

titleRequired

ReactNode

No default extracted.

Required heading, rendered as an h3.

description

ReactNode

No default extracted.

Optional supporting text.

actions

ReactNode

No default extracted.

Actions rendered below the description.

size

"sm" | "md" | "lg" | undefined

Default: "md"

Scales the padding, the illustration and the typography.

onChange

ChangeEventHandler<HTMLElement, Element> | undefined

No default extracted.

Standard React/HTML attribute.

defaultValue

string | number | readonly string[] | undefined

No default extracted.

Standard React/HTML attribute.

className

string | undefined

No default extracted.

Standard React/HTML attribute.

style

CSSProperties | undefined

No default extracted.

Standard React/HTML attribute.

aria-label

string | undefined

No default extracted.

Defines a string value that labels the current element.

onClick

MouseEventHandler<HTMLElement> | undefined

No default extracted.

Standard React/HTML attribute.

Accessibility

  • Do not rely on illustration alone; keep a clear heading and keyboard-accessible action.
Read the accessibility guide →