本文档由 g2rain-appkit 的
# ADR-0002:语义化主题变量
docs/decisions/0002-semantic-theme-tokens.md 自动同步生成。- 状态:已接受
- 日期:2026-09-09
# 背景
组件直接使用具体颜色或 Element Plus 变量,会把平台设计契约与某个主题值和 UI 框架绑定。
# 决策
建立以用途命名的 --g2-* CSS 语义变量。公共组件只消费这些变量;Element Plus 变量由单独适配层映射。
主题包保持 CSS-only,默认 styles.css 同时发布亮色与暗色选择器。修改 data-g2-theme、持久化和订阅等浏览器行为由 @g2rain/platform/theme 承担。
# 结果
- 主题切换和品牌定制无需修改组件逻辑。
- UI 框架升级或替换的影响集中在适配层。
- CSS 变量名称成为公开兼容性契约,需要谨慎演进。