iter(g243): 文档站与演示页外壳配色改为从令牌派生,消除暗色强调色漂移
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
/*** @ui-arch 外壳配色:文档站与演示页的外层 chrome 用色,统一从 tokens.json 派生
|
||||
*
|
||||
* 为什么单独成文件:这两处都曾手写十六进制,改暗色 accent 后页面里还留着旧蓝、与演示 iframe 各显示一种色。
|
||||
* 放在 lib 里给 bin/ua.js(生成文档站)与 apps/demo/build.mjs(生成演示页)共用,才是真正的单一来源;
|
||||
* 缺键时退回内置默认,保证 tokens.json 缺失时构建不炸(宁可配色旧一点也不中断发布)。
|
||||
*/
|
||||
|
||||
/*** 作用:取出亮暗两套外壳配色;tokens 为解析后的 tokens.json,可为 null ***/
|
||||
export function shellPalette(tokens) {
|
||||
const color = (tokens && tokens.color) || {};
|
||||
const pick = (key, theme, fallback) => (color[key] && color[key][theme]) || fallback;
|
||||
return {
|
||||
bg: pick('bg', 'light', '#ffffff'),
|
||||
surface: pick('surface', 'light', '#f6f7f9'),
|
||||
text: pick('text', 'light', '#1c1e21'),
|
||||
muted: pick('textMuted', 'light', '#676d78'),
|
||||
border: pick('border', 'light', 'rgba(0, 0, 0, 0.15)'),
|
||||
accent: pick('accent', 'light', '#185fa5'),
|
||||
codeBg: pick('bg', 'dark', '#101216'),
|
||||
codeText: pick('text', 'dark', '#e7e9ec'),
|
||||
darkBg: pick('bg', 'dark', '#101216'),
|
||||
darkSurface: pick('surface', 'dark', '#1a1c22'),
|
||||
darkText: pick('text', 'dark', '#e7e9ec'),
|
||||
darkMuted: pick('textMuted', 'dark', '#888780'),
|
||||
darkBorder: pick('border', 'dark', 'rgba(255, 255, 255, 0.15)'),
|
||||
darkAccent: pick('accent', 'dark', '#4a9aeb'),
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user