Sonarist project

Sonarist / Design system

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

Design system contents

Foundations

Layout and responsive shells

Keep one stable top header and independently scrolling work views across desktop and phone sizes.

On this page

Layout rules

Layout rules
AreaSource behavior
Documenthtml/body height 100%; overflow hidden; no document overscroll
App shellHelpdeskApp flex column with h-dvh; header shrinks independently
Header64px; three-column grid; compact logo and New label on phones
QueueCentered content max-w-5xl, sticky queue/filter controls inside scrolling section
ThreadCentered content max-w-4xl; independent scrolling section
Peoplemax-w-6xl; five-column row at lg, stacked at smaller widths
Settings/team/profileCentered cards; responsive one/two-column compositions
DialogWidth calc(100% - 2rem), default max-w-xl, max-height calc(100dvh - 2rem)
SheetRight-aligned, max-width 460px, full dynamic viewport height

Breakpoint vocabulary

Tailwind sm is 640px, md 768px and lg 1024px at the audited baseline. Several components use max-sm ordering rules. The demonstrated phone is 390 × 844 CSS pixels; desktop is 1440 × 1000. These are capture sizes, not the only supported sizes.

The source uses internal scrollers. A supplemental full-content capture increases the browser viewport to the source scroller’s measured content height; it does not stretch the image or force fixed-height controls to grow. The normal viewport captures remain the evidence for actual phone behavior.

Placement rules

  • Keep absolute popups attached to their relative trigger container.
  • Use min-w-0 on flexible text and preserve shrink-0 on avatars/actions.
  • Keep the source’s mobile stacking and hidden metadata columns intact.
  • At short heights, inspect dialog containment: some tall source forms can scroll the hidden outer container and clip their header/footer.

Source references

Source references
FileResponsibility
app/globals.cssDocument scroll policy
components/helpdesk-app.tsxApp shell
components/app-header.tsxHeader grid and overlays
components/ui/dialog.tsxDialog and sheet sizes

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.

Inbox · Screen · Light · Desktop · 2880 × 2000 px
Conversation · Screen · Light · Desktop · 2880 × 2000 px
Conversation · Screen · Light · Desktop · Full Page · 2880 × 2382 px
People · Screen · Light · Desktop · 2880 × 2000 px
People · Screen · Light · Desktop · Full Page · 2880 × 2348 px
Conversation Details · Component detail · Light · Desktop · 1152 × 2000 px

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