Repository navigation
feat(ui): finish the move to Geist: numbers, 13px chrome, sentence-case labels - #2565
Conversation
…se labels The Refine look swapped the face, but the type decisions around it were still the ones made for a monospace. - Numbers stay in Geist. The base rule that sent every `tabular-nums` element to Geist Mono is gone, so a sentence with a number in it no longer changes face halfway. Tabular figures still line columns up. Log lines, ids and code keep mono because they ask for it. - The stat figure defaults to the display face. - Chrome is 13px: kit controls step down from 14px, sidebar rows and breadcrumbs step up from 12px. - Group, column and stat labels are sentence case. The eyebrow drops its uppercase overline (the mono variant keeps it), and the sidebar group label, the key-value label and the command palette group label follow. - The top bar is 48px, down from 64px.
This comment has been minimized.
This comment has been minimized.
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
🍁 Maple PR previewNote Preview resources were removed when this pull request closed. Final commit |
- Kit controls take 13px without a hard line height (`sm:text-ui`, not `sm:text-ui/5`), so a caller's `leading-*` on a textarea applies again. The where-clause highlight overlays follow their textarea's size; at 14px over a 13px textarea the coloured tokens drifted from the caret. - Kit pieces that set a quantity in mono no longer do: the numeric table cell, latency and error rate values, filter chip counts, chart legends and the nav count. A table row reads in one face. - Machine tags that relied on the uppercase transform take the mono eyebrow: service map node labels and runtime tags, the database panel badge, the code block language, the where-autocomplete kind. - Labels written in lowercase for the old transform are capitalised. - The sidebar's large row (org switcher) is 13px like the rows under it, and the eyebrow field label keeps 12px on desktop. - The service map fills the viewport under the 48px top bar.
Maple review🟢 Confidence 10/10 · safe to merge. Token and kit-style edits only, with every impacted call site read at this head and the earlier Finishes the Geist type pass: drops the global
Fixed since the last review
|





#2557 swapped the interface to Geist, but the type decisions around it were still the ones made for a monospace: lined-up numbers were forced back to Geist Mono, controls sat at 14px beside a 12px sidebar, and labels were uppercase overlines everywhere except table heads. This PR finishes the move. It is tokens, kit styles, one shell class and the label strings that relied on the old uppercase transform.
What changes
tabular-numselement to Geist Mono is removed. A sentence with a number in it no longer changes face halfway, and tabular figures still line columns up. Log lines, ids and code keep mono because they ask for it (font-mono,monoontypography). The kit pieces that set a quantity in mono follow: the numeric table cell, latency and error rate values, filter chip counts, chart legends, the nav count.statFiguretakesmono: truefor a machine readout.eyebrowkit drops its uppercase overline and goes up one size step (10px to 11px, 11px to 12px). The sidebar group label, the key-value label and the command palette group label follow. Uppercase stays on machine tags: themonoeyebrow, badgetag, log levels. Service map node labels, the code block language and the where-autocomplete kind move to themonoeyebrow; five labels written in lowercase are capitalised.apps/webonly; Maple Local has no desktop top bar). The service map's viewport height follows.docs/design-rules.mdstates the three rules. TheisCardTitleoption onstatRailItemonly added the uppercase, so it is removed.Reversal to note
#2557 kept lined-up numbers in Geist Mono on purpose. This PR undoes that: the split-face sentences it caused read as a bug, and Geist's tabular figures give the same column alignment.
apps/landingimports the same tokens, so itstabular-numstext goes back to the face it had before #2557.Not in this PR
About 290 page-level call sites still ask for mono on a plain quantity (service map node figures, the deltas on Overview, the Top operations rows). Each needs a look to tell a quantity from machine text; a follow-up sweeps them.
Before and after
Lab pages over fixture data, dark theme, 1440 wide at 2x.
Numbers in one face (
/lab/infra)Before


After
Stat figures and 13px controls (
/lab/cost)Before


After
Sidebar, filter rail and top bar (
/lab/cost)Before


After
Table heads and toolbar (
/lab/errors)Before


After
Chart cards (
/lab/bench/overview)Before


After
Light theme, after (
/lab/cost)Checks
packages/views,apps/web,apps/local-uipass..oxlintrc.jsonand.oxlintrc.effect.jsonon the changed files: clean.check:tokens,ui:patterns:check,lint:ui-baseline(687, unchanged),ui:index: pass.apps/web(shell, overview, services, traces, errors, page kit) and 401 inpackages/views(ui, charts, service map) pass.