feat(themes): font axis, neutral cream foregrounds, refined shell#257
Merged
Conversation
…sidebar chrome - Remove deep-dark palette + types + switcher entry + globals selectors; dark covers the same need. - Default theme now bloom (existing localStorage choices preserved); legacy tailor-dark id remaps to dark. - Strip tactile button overrides; cream/bloom/dark buttons inherit default shadcn Button styling. - Drop sidebar right-edge divider (border-r/border-l and inset-variant border-x). - Dark --sidebar matches --background; sidebar blends with app surface. - Unify --destructive at #dc2626 across light/cream/bloom for brand-consistent red. - Neutral badge uses Tailwind neutral palette so lavender --secondary doesn't bleed in. - Outline button transparent on cream/bloom only (rule sits in @layer utilities to beat Tailwind's astw:bg-background which also lives in utilities). - Secondary button hover now brightness-based (visible regardless of token value). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…om shell - Font axis (Geist default, Inter): `useFont` hook + `data-font` attr, added to ThemeSwitcher as a second axis alongside the color palette. - Cream theme drops the dark-green text-on-violet pairing; secondary / accent / sidebar-accent foregrounds now use the same near-black as bloom. - Cream/Bloom shell gradient: multi-stop fade with pure white covering the bottom 30% for a softer, more blended feel. - Sidebar active item: hairline outline (`var(--border)`) + `--semantic-shadow-xs` drop so the selected row reads as elevated. Rule lives in `@layer utilities` so it wins against Tailwind's `outline-hidden` utility. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Stacked on top of #222 (
feat/tailor-themes).Summary
Geistis default and listed first;Interis the alternate. NewuseFonthook,data-fonthtml attribute, persisted toappshell-ui-font. ThemeSwitcher menu now shows color (top) + font (bottom).--secondary-foreground,--accent-foreground,--sidebar-accent-foregroundnow use the same near-black as bloom (rgba(16, 18, 43, 1)).0.5px solid var(--border),outline-offset: -0.5px) plus--semantic-shadow-xs. Rule lives in@layer utilitiesso it wins against Tailwind'soutline-hidden. Selector uses[class~="astw:bg-sidebar-accent"]to match the whole-token class the wrapper components inject when a route is active (they don't flipdata-active).docs/api/use-theme.md+docs/concepts/styling-theming.mdupdated for the new font axis.Test plan
light,dark,cream,bloomwith both fonts.menu/select/combobox/autocompleteare present on the base branch too (base-ui inline-style ordering); not introduced here.🤖 Generated with Claude Code