LUNA 主题与 Token
LUNA 是 lynx-ui 示例所使用的主题基础。它提供一套小而语义化的 token 系统,
可以通过 CSS 变量、Tailwind utility 或 themed wrapper 组件来消费。
L.U.N.A Studio
如果你希望多个界面共享同一套视觉语言,而不是把颜色硬编码进每个组件里, LUNA 会是一个合适的起点。
给按钮、sheet 或 switch 做样式时,你不再直接使用零散的 hex 值,而是使用
paper、content、primary、line 这样的语义角色。即使主题切换后视觉表达
发生变化,这些角色本身依然稳定。
LUNA 目前内置四个主题:
luna是偏中性的产品 UI 基底。lunaris是带有签名渐变的表达型主题,更适合强调品牌感的 surface。light与dark共享同一套语义 token 契约,因此组件在两种模式下可以保持 相同的样式逻辑。
本页内嵌了 LUNA Studio,你可以直接交互式预览本指南中的主题契约、token 分组, 以及推荐的覆写方式。
什么时候选 luna,什么时候选 lunaris?
- 偏中性、强调可读性的产品 UI,优先使用
luna。 - 更强调品牌表达或视觉识别的 surface,尤其是 container 较多的 demo,更适合使用
lunaris。 - 如果需要,也可以在子树级别挂载不同主题 class,将两者混用。
核心 Token 组
LUNA 提供的 token 数量比大多数应用在初期真正需要的更多,但其中有一小组核心 token,已经足够覆盖绝大多数产品 surface。
如果你正在为 lynx-ui 组件做样式,或者希望用 AI 生成 UI,建议优先从这些 token
开始。
Surface:表面层
Surface token 用于定义界面的背景层级。