Repository navigation
Add the Baton appearance theme - #2196
Open
blakemcanally wants to merge 2 commits into
Open
blakemcanally wants to merge 2 commits into
blakemcanally wants to merge 2 commits into
Conversation
blakemcanally
force-pushed
the
bmcanally/theme-baton
branch
from
November 5, 2026 19:57
280f399 to
f42c845
Compare
blakemcanally
changed the base branch from
bmcanally/appearance-themes
to
bmcanally/theme-cable
November 5, 2026 19:57
blakemcanally
force-pushed
the
bmcanally/theme-baton
branch
from
November 5, 2026 20:27
f42c845 to
b2c16d6
Compare
blakemcanally
force-pushed
the
bmcanally/theme-baton
branch
from
November 5, 2026 23:42
b2c16d6 to
ccb4140
Compare
blakemcanally
force-pushed
the
bmcanally/theme-baton
branch
from
November 6, 2026 00:28
ccb4140 to
6b84f1d
Compare
blakemcanally
marked this pull request as ready for review
November 6, 2026 00:31
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
blakemcanally
force-pushed
the
bmcanally/theme-baton
branch
from
November 6, 2026 14:51
6b84f1d to
1950df3
Compare
Baton maps the theme slots onto its palette: neutral ramps, canvas, sidebar, selection, hover, badge, status dots and its own navy-then-green accent family, which the Theme accent follows. The frame follows the page mode in both modes. Dark ink sits on the dark accent, so the five dark accent overlays use the tint fills. Baton's light neutral-2 moves from #f2f2f2 to #f3f3f3, the same hue, so chart series 2 clears 3:1 on the base and inset surfaces (2.974:1 before) without an allowance. The registry, the pre-paint bootstrap and the theme tests carry Baton as a new row each, and the browser journey covers its frame and accent per mode. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Blake McAnally <bmcanally@squareup.com>
--border-standard now reads --theme-border-standard-light and -dark and falls back to neutral-3 and neutral-5, so a theme that leaves the slot out is unchanged. Baton maps light to its mid-gray neutral-8 and dark to its dark border step. The slot is in the preview reset block, the THEMES banner and the documented slot list. Theme preview cards now always carry data-theme-reset. A card for a theme that leaves a slot out otherwise inherited the page theme's value, which showed Baton's hairline inside the Relax card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Blake McAnally <bmcanally@squareup.com>
blakemcanally
force-pushed
the
bmcanally/theme-baton
branch
from
November 6, 2026 15:10
1950df3 to
0d18a46
Compare
joahg
approved these changes
Nov 6, 2026
joahg
left a comment
Member
There was a problem hiding this comment.
🤖 Baton's new --theme-border-standard-* slot falls back to the previous neutral-3/neutral-5 hairlines and is in the reset block, so other themes are unchanged; check-contrast, biome and the vitest files pass locally (I did not run the Playwright journey).
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #2161. Stacked on #2180.
Summary
This PR adds the Baton appearance theme: "Beige-box chrome and navy highlights. After dark, it glows green."
What changes
[data-theme="baton"]block maps the theme slots to the Baton palette. Its accent family is navy in light mode and phosphor green in dark mode. The Theme accent resolves to it.--theme-border-standard-*, lets a theme set the standard hairline.--border-standardfalls back to today'sneutral-3(light) andneutral-5(dark), so every other theme is unchanged. Baton uses a mid-gray hairline in light mode (#808080) and#3a3a3ain dark mode.--theme-green-text-lightand--theme-red-text-lighttogreen-12andred-12. The lighter Account-first onboarding and sign-in recovery #2579 status inks miss Lc 60 on Baton'sneutral-4.Palette adjustments
--baton-neutral-2-light#f2f2f2#f3f3f3--chart-series-2reaches 3:1 on base and insetScreenshots
Testing
node scripts/design-system/check-contrast.mjsexits 0 with no new allowance or exception.pnpm design:check,pnpm typecheckand biome on the changed files pass.src/shared/theme,src/shared/design-systemandsrc/app.tests/browser/appearance-theme.spec.mjsandtests/browser/appearance.spec.mjson Chromium. The Baton journey checks--border-standardin both modes and checks that another theme's preview card keeps its own border.The contrast guard does not set a floor for
--border-standarditself, so the browser assertions are what protect the new slot.🤖 Generated with Claude Code