Sonarist project

Sonarist / Design system

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

Design system contents

Components

Signature cards and editor

Define a personal or inbox-specific email signature in a consistent editing surface.

On this page

Purpose and composition

Define a personal or inbox-specific email signature in a consistent editing surface.

Keep signature configuration separate from recipient identity.

Anatomy

Anatomy
PartResponsibility
CardName, owner, scope and default status
EditorName, owner, usage scope and body
DefaultNative checkbox

Configuration and variants

Configuration and variants
Input / variantContract
signatureOptional sample object
onClose/onSaveNo-argument callbacks
submit gateName and body nonblank
scopeAll inboxes or source inbox names

States and feedback

States and feedback
StateVisible / behavioral result
DefaultExplicit label
New/editDraft initialized from sample
InvalidSubmit disabled

Interaction and responsive behavior

  • Body is plain textarea content.
  • Name and body are required; owner and scope select source labels.
  • Save closes with toast in source parent.

Accessibility contract

  • Visible field labels name controls.
  • Default checkbox is native.

Known implementation limits

No actual signature append/delivery or persistent edit is wired; callbacks do not receive the draft fields.

Composition example

<SignatureEditor signature={sample} onClose={close} onSave={notifyLocal} />

Source references

Source references
FileResponsibility
components/views/settings-view.tsxSignature sample cards
components/views/settings-editors.tsxSignatureEditor

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.

Signature Editor · Component detail · Light · Desktop · 1152 × 1192 px
Settings Signatures · Screen · Light · Desktop · 2880 × 2000 px

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