feat(tokens): widen the palette to twenty-one roles #207
No reviewers
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app!207
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/tokens-warning-role"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #170.
Nine roles per mode could not express the surfaces the jobs and calendar
redesigns are built from: the fill behind an in-place edit box, a sheet's
footer, an unticked checkbox, an invalid row's ring, a destructive button,
or a late job.
Twelve new roles, the original nine untouched in name and meaning:
surface-raised,surface-sunken,ink-muted,border,border-strong,error,error-surface,destructive,on-destructive,warning,on-warning,on-celebrate.warningis its own role and never an alias ofcelebrate.celebratemeans reward; a token with two meanings is the fault the design rejects
elsewhere. It is amber rather than red because red means destruction here,
and a late job is still a job you can finish in ten seconds. The ⚠ glyph
was already in the bundled symbol subset, so no font work.
456 values authored per theme, per mode — derived from each theme's own
hues rather than one grey reused nineteen times. The contrast gate grew
with them: sixteen hard pairs per variant per mode, including
border-strongagainst the 3:1 non-text floor, since a checkbox outline isa mark and not text. The 4.5:1 gate was not weakened and no role is exempt.
Two judgment calls worth an eye:
cvd-red-teal's warning is burnt orange,because amber sits on the exact blue-yellow axis that theme exists to
avoid; and
monoseparates warning from error by lightness alone, leaningon the glyph and the word.
Nothing consumes the new roles yet — this ticket adds vocabulary. Follow-up
#202: custom themes still override only the original nine.
🤖 Generated with Claude Code
Test report
Coverage: 26.9%
Updated by the check workflow · commit
87e14d060aAndroid test report
Coverage: 2.9% of lines
Updated by the android workflow · commit
87e14d060a1a073fbc2b87e14d060a