本文档由 g2rain-appkit 的 docs/decisions/0002-semantic-theme-tokens.md 自动同步生成。
# ADR-0002:语义化主题变量
  • 状态:已接受
  • 日期:2026-09-09

# 背景

组件直接使用具体颜色或 Element Plus 变量,会把平台设计契约与某个主题值和 UI 框架绑定。

# 决策

建立以用途命名的 --g2-* CSS 语义变量。公共组件只消费这些变量;Element Plus 变量由单独适配层映射。

主题包保持 CSS-only,默认 styles.css 同时发布亮色与暗色选择器。修改 data-g2-theme、持久化和订阅等浏览器行为由 @g2rain/platform/theme 承担。

# 结果

  • 主题切换和品牌定制无需修改组件逻辑。
  • UI 框架升级或替换的影响集中在适配层。
  • CSS 变量名称成为公开兼容性契约,需要谨慎演进。