Sonarist project

Sonarist / Design system

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

Design system contents

Components

Person overview sheet

Inspect customer context while preserving a new-message draft.

On this page

Purpose and composition

Inspect customer context while preserving a new-message draft.

Use for quick inspection; the full person profile is a separate view.

Anatomy

Anatomy
PartResponsibility
IdentityName, organization and email
OwnerRelationship responsibility
RelationshipsCustomer/prospect context
HistoryRelated conversations

Configuration and variants

Configuration and variants
Input / variantContract
contactOptional; absent returns null
conversationsHistory filtered for contact
onConversationSelectParent changes destination
open/onCloseControlled sheet

States and feedback

States and feedback
StateVisible / behavioral result
OpenRight-side sheet
No contactNo sheet
History selectedParent can leave draft context

Interaction and responsive behavior

  • HelpdeskApp opens this overview from compose context.
  • Reading context need not clear draft fields.
  • A history navigation can intentionally leave compose.

Accessibility contract

  • Native modal sheet supplies focus containment.
  • Metadata must wrap at phone width.

Known implementation limits

Draft preservation across route changes is not durable storage. Dialog naming remains a shared gap.

Composition example

<ContactDrawer open={open} contact={person} conversations={records} onClose={close} onConversationSelect={openThread} />

Source references

Source references
FileResponsibility
components/inbox/contact-drawer.tsxContactDrawer
components/helpdesk-app.tsxCompose preview state

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.

Contact Drawer · Component detail · Light · Desktop · 1152 × 2000 px

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