← Design system
Components
The .pr-* component layer (built on the tokens). These are
the primitives the operator-console patterns and the React product UI compose. Every one is
exercised by a pattern; consume tokens.css + components.css.
Status badges .pr-badge
Tinted background + dark text; meaning always carries a label, never color alone.
Paid
Overdue
In negotiation
Needs approval
Open
InvoiceStatus → variant: paid·promised → is-paid ·
overdue → is-due · in_negotiation → is-pending ·
disputed → is-escalate · open·written_off → is-neutral
Actor chips .pr-actor
Who took an action — maps Interaction.actor.
Propeller
Operator
Debtor
agent = Propeller · human = operator · debtor = customer.
Buttons .pr-btn
Approve & send
Edit draft
Small primary
Small secondary
44px min tap target; hover + visible keyboard focus. .pr-btn-sm for row actions.
Stat tiles .pr-stat / .pr-stats
Total overdue
$83,050
7 accounts
Needs attention
2
escalations
Card & panel .pr-card / .pr-panel-head
Panel title
header slot
Card body — surface, border, soft elevation.
Account row .pr-row / .pr-draft
Initech LLC INV-1051
day 7
$3,200
Drafted follow-up · firm-but-friendly
Hi — following up on invoice INV-1051 ($3,200), now a week past due…
Approve & send
Edit draft
Audit timeline .pr-timeline / .pr-event
Decision
Send follow-up May 15
Envelope: in bounds
Decision
Hold & escalate May 27
Envelope: out of bounds
Conversation thread .pr-thread / .pr-msg
Propeller May 15
Outbound follow-up (left accent = agent).
Debtor May 27
Inbound reply (left accent = debtor).
Callouts .pr-callout
!
Out of bounds Held for your decision — the agent did not act.
i
Heads-up Informational context for the operator.
Comparison .pr-vs
Debtor's request
30% off
Settle at $6,860.
Policy floor crossed
15% max
Floor $8,330 — $1,470 below.
Form controls .pr-field / .pr-segmented / .pr-check
Chips & pills .pr-chip / .pr-count-pill
To dana@northwind.example
Channel Email
2 need approval
See these composed in context:
dashboard · account record ·
escalation · envelope editor ·
draft modal .