主/次/幽灵/危险按钮,三种尺寸
单一真相源活文档 —— 所有 token / 组件 / 图标必须在本页登记(check-ds 闸强制)。评审预览:node design/serve.mjs
tokens/*.css → node design-pipeline/export-tokens.mjs 再生成各端 → 业务代码只引 token。components/<组>/X.jsx(+ .d.ts)并在本页「组件登记」加卡,再到各端实现。icons.js(Lucide 24 网格 2px 圆头)+ icon-map.json 跨端映射,业务代码禁止内联 <path>。design-pipeline/check-ds.mjs(真相源自检)/ check-code.mjs(代码侧单源)/ export-tokens.mjs --check(产物零 diff),pre-commit 与 CI 双挂。| 端 | 消费方式 | 令牌文件 |
|---|---|---|
| 桌面(Tauri web 层) | vite alias @dudu/design 直引 CSS 变量与组件 | design/tokens/*.css(源) |
| iOS(SwiftUI) | DuduTheme.* 常量(codegen 直写) | ios/dudu/Shared/DuduTheme.swift |
| Android(Compose) | DuduTheme.Light/Dark → DuduPalette 注入 | android/.../design/DuduTheme.kt |
| 官网(web/) | <link href="tokens.css">,页面只允许 var(--*) | web/tokens.css(codegen,含 Outfit 内嵌) |
色块直接渲染 var(--token),与 tokens/colors.css 永远同步;右上角切主题查看 dark 值。完整定义见 colors.css · typography.css · spacing.css · effects.css · fonts.css
每个 components/**/*.jsx 组件必须在此有登记卡(check-ds 第④道)。演示卡:core · forms · voice
Lucide 线条 · 24 网格 · 2px 圆头 · currentColor。下方由 icons.js 实时渲染(需经 serve.mjs 访问;file:// 打开时仅显示映射表)。
已知滞后:ui_kits 预览页仍经 unpkg CDN 加载 React/Babel,离线/无代理网络下不可用(治理项见 doc/frontend-overview.html)。