Inbox / 14 primitives + composition

Inbox & messaging

Reusable primitives for assembling Mufflermen workshop conversations — front-desk to bay tech, parts runner to foreman, and customer threads. Distinct from AI assistant chat primitives.

Production answer

Inbox & messaging is a reusable Oak Flats Muffler Men UI primitive with documented states, accessibility expectations, theme behavior, and implementation evidence.

Primary CTAReview Inbox & messaging states
Generative search brief

Inbox & messaging: Reusable primitives for assembling Mufflermen workshop conversations — front-desk to bay tech, parts runner to foreman, and customer threads. Distinct from AI assistant chat primitives.

Visual reference only — messaging is not wired
Primitive 01

Conversation list rail

Left rail with search, filter chips, avatar + preview rows, unread badges, active highlight.

Stateful · filter + searchOpen
Primitive 02

Conversation header

Top bar with avatar, presence dot, role chip, and call / video / pin / mute / archive actions.

StatelessOpen
Primitive 03

Message bubble

Self vs other bubble with status ticks, reactions tray, time + footer meta.

StatelessOpen
Primitive 04

Message group

Groups consecutive messages by author with shared header and timestamp divider.

StatelessOpen
Primitive 05

Typing indicator

Three-dot bounce showing someone is typing. Reduced-motion swaps to static dots.

Stateless · animationOpen
Primitive 06

Reply composer

Auto-grow textarea, emoji / attach / mention buttons, send action, Cmd+Enter to send.

Stateful · textareaOpen
Primitive 07

Voice memo bubble

Inline voice memo with play button + waveform + duration, tone-coordinated to sender.

StatelessOpen
Primitive 08

Image attachment bubble

Image inside a bubble with expand affordance and hover overlay showing file name.

StatelessOpen
Primitive 09

File attachment bubble

File card in a bubble — typed icon, file name, size, optional progress, download CTA.

StatelessOpen
Primitive 10

Reaction picker

Floating emoji picker shown on hover / click — 6 defaults + expand to more.

Stateful · openOpen
Primitive 11

Thread reply row

Inline link showing reply count + last-reply time; expands to indented thread panel.

Stateful · expandOpen
Primitive 12

Pinned message bar

Top strip scrolling through pinned items; click a card to jump to that message.

Stateful · scrollOpen
Primitive 13

Unread divider

Horizontal divider with pulsing 'Unread messages' pill between read + unread groups.

StatelessOpen
Primitive 14

Read receipts row

Tiny avatar group + timestamp showing who has read your most recent message.

StatelessOpen
Composition

Full inbox scene

Conversation list + header + pinned bar + threaded transcript + typing + composer.

CompositionOpen