Sonarist project

Sonarist / Design system

Documentation v1.0.0 · Work in progress · UI prototype with separate server foundations

Design system contents

Components

Empty states

Explain absence of work and offer a useful next step when the source has one.

On this page

Purpose and composition

Explain absence of work and offer a useful next step when the source has one.

Use for actual empty data in the isolated fixture; never substitute absence for a failed request.

Anatomy

Anatomy
PartResponsibility
IconDecorative contextual symbol
TitleWhat is absent
DescriptionReason or expectation
ActionOptional React node

Configuration and variants

Configuration and variants
Input / variantContract
icon/title/descriptionRequired content
actionOptional; parent owns callback
geometryMinimum 320px; centered max-width description

States and feedback

States and feedback
StateVisible / behavioral result
Empty queueQueue-specific message
Missing selectionChoose a conversation
No matchesFilter/search-specific context should stay distinct

Interaction and responsive behavior

  • Keep empty state in the working region.
  • Provide an action only when it resolves the absence.
  • Use source semantics rather than placeholder rows that imply records exist.

Accessibility contract

  • h3 and readable description explain state.
  • Action retains its native accessible control.

Known implementation limits

The primitive has no automatic live region or loading/error distinction.

Composition example

<EmptyState icon="mark_email_read" title="No conversations here" description="New messages appear when they need attention." />

Source references

Source references
FileResponsibility
components/ui/primitives.tsxEmptyState
components/inbox/conversation-list.tsxQueue-specific empty composition

Examples from the app

Actual Sonarist components with fictional conversations, people, example.com addresses and simulated operational states. Captured at 2× resolution or higher. Select an image to inspect it full size.

Empty · Component detail · Light · Desktop · 1792 × 704 px
Empty Queue · Screen · Light · Desktop · 2880 × 2000 px

Source audit: 2026-10-08 · Revision 10f45d1377b5 · Documentation v1.0.0