-
Notifications
You must be signed in to change notification settings - Fork 1
feat(themes): theme foundation with mode/palette axes and AppearanceSwitcher #306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
IzumiSy
wants to merge
26
commits into
main
Choose a base branch
from
feat/theme-foundation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
168a60e
feat(themes): theme foundation — palettes, ThemeProvider refactor, fo…
IzumiSy aa142f2
refactor(theme): simplify ThemeProvider — remove legacy migration, ha…
IzumiSy 58770aa
Format files
IzumiSy aaf0582
feat: add ThemeSwitcher component with color palette and font selection
IzumiSy 2390951
Revert vite-app
IzumiSy 136673b
refactor: remove themeSwitcher prop from SidebarLayout
IzumiSy acf69c3
refactor(core): split theme.css into per-theme files
IzumiSy ca0dd66
refactor(core): pre-generate font assets and append via closeBundle hook
IzumiSy d2b2423
Fix appendFonts plugin to use proper hooks
IzumiSy 79c1f92
Fix concatenation target
IzumiSy 55ab068
feat(theme): split theming into mode and palette axes (#313)
itsprade a8f75f8
refactor: move @custom-variant dark to theme.css
IzumiSy c730da2
refactor: consolidate token tier docs into theme.css
IzumiSy efc3d62
refactor(core): simplify theme system — remove font axis, make palett…
IzumiSy f54bf1e
Remove unnecessary exports
IzumiSy 2aa3b49
refactor: auto-scan @fontsource-variable packages from dependencies
IzumiSy 355d3ed
Revise changeset
IzumiSy 1ab25fa
refactor(theme): rename Theme→ThemePalette, ColorMode→ColorTheme
IzumiSy b6194a9
refactor(theme): remove type aliases in index.ts exports, fix changes…
IzumiSy 5233a37
feat(themes): add i18n labels to AppearanceSwitcher and remove ThemeP…
IzumiSy 7da861f
refactor: replace defaultThemePalette prop with static CSS theme imports
IzumiSy 67eba3b
chore(core): remove generated font assets
IzumiSy bf14e60
Revert style loading
IzumiSy ead70be
feat(theme): accent tokens, palette tier organisation, and appearance…
itsprade 06b579c
Remove unnecessary changeset
IzumiSy 1ec3b56
refactor(themes): inherit shared aliases from default
IzumiSy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| --- | ||
| "@tailor-platform/app-shell": minor | ||
| --- | ||
|
|
||
| Introduce theming support — **ColorTheme** axis, static **theme palettes** via CSS imports, a new `AppearanceSwitcher` component, and bundled Inter variable fonts. | ||
|
|
||
| #### ColorTheme (end-user preference, persisted) | ||
|
|
||
| `ColorTheme` (`"light" | "dark" | "system"`) is the end-user color mode preference. Applied to `<html>` as `.light` / `.dark` class. | ||
|
|
||
| - `<AppShell defaultColorTheme="system">` sets the initial preference; user choice is persisted to localStorage. | ||
| - `useTheme()` hook returns `{ theme, resolvedTheme, setTheme }`. | ||
|
|
||
| #### Theme Palettes (static CSS imports) | ||
|
|
||
| Each palette (`default`, `cream`, `bloom`) ships both light and dark variants. | ||
| Select a palette by importing its CSS file — no prop needed: | ||
|
|
||
| ```ts | ||
| import "@tailor-platform/app-shell/themes/cream"; | ||
| ``` | ||
|
|
||
| The default palette is included automatically via `@tailor-platform/app-shell/styles`. | ||
|
|
||
| #### AppearanceSwitcher | ||
|
|
||
| - New `<AppearanceSwitcher />` component for toggling color theme (light / dark / system). | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@tailor-platform/app-shell": patch | ||
| --- | ||
|
|
||
| Set explicit `--accent` values per palette and mode, reorganise palette CSS into numbered tiers with a `_template.css` authoring guide, add `--alert-*` semantic tokens to the default palette, and wire `Alert` variants to those tokens (including lighter dark-mode foregrounds). |
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,2 @@ | ||
| @import "tailwindcss"; | ||
| @import "@tailor-platform/app-shell/styles"; | ||
| @import "@tailor-platform/app-shell/theme.css"; |
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.