um

Message

One message: who sent it, when, what it says, what came with it and what happened to it. Three looks from one markup: a bubble for a chat, a row for a channel, an email in a card.

Three variants

The same message as a bubble, a row and an email. Only the variant class differs.

bubble

Ana Silva
Friday at 2pm works.

row

Ana Silva

Friday at 2pm works. I'll bring the sketches.

email

Theirs and yours

own: true puts a bubble on the right. continued: true drops the name and avatar, keeps the avatar's column and squares the joined corner.

Ana Silva
Did the parcel arrive?
Ana Silva
The tracking says it was left with a neighbour.
Ana Silva
Number 12, I think.
You
Got it, thanks!
You
They'd put it behind the bins.

Statuses

m.status with each state: a word and a glyph, coloured only for read and failed, and dimmed while sending. at: adds the moment.

You
Just sent this one.
You
This one left the phone.
You
This one reached theirs.
You
This one they've read.
You
This one never got there.

Every part

A row with a meta line, a quoted reply, attachments, reactions, an edited mark, a footer of your own and actions. Parts take a builder when their block takes an argument.

Ana SilvaAdmin
Ben ReyesCan someone review the release notes before Friday?

On it. Comments are on the migration section; the rollback steps look right to me.

Collapsed and open

collapsible: true folds an email into a details whose summary is the header and a line of the body; open: false starts it shut.