跳到主要内容
menumenu tanreiexpand_morecontrasttranslate
tanreiexpand_more
开始使用WebReactSwiftUIJetpack ComposeFlutterReact Native预设你自己的设计系统与 AI 代理一起使用 Tanrei品牌设计令牌设计系统与定制Theme Studio颜色字体排印图标形状层级动效交互状态行为布局无障碍文字颜色令牌字阶令牌形状令牌层级令牌动效令牌状态令牌间距与度量令牌组件按钮主操作按钮分段按钮按钮组带菜单的按钮工具栏复制按钮复选框单选按钮开关纸片(Chip)菜单滑块滑块字段日历DateTimePicker字段组单选组复选框组下拉选择框下拉选择字段菜单栏文件上传文件选择器 进阶放置区文本输入框 进阶文本字段纸片字段字段组合框 进阶组合框字段数字输入框 进阶数字字段颜色输入框 进阶颜色字段一次性验证码输入框 进阶一次性验证码字段嵌入式文本输入框 进阶聊天输入栏卡片分隔线模态层 进阶对话框列表列表行底部面板侧边面板轮播代码块表格弹出框步骤折叠面板描述列表图示应用外壳页头树视图时间线图片预览调整手柄可调整大小的框滚动区域徽标进度指示器计量条数字滚动器加载指示器消息条(Snackbar)工具提示键盘快捷键标签(Tag)行内代码提示块(Callout)头像空状态标签组(Tag group)骨架屏文件项色块跑马灯文本标签页标签页视图应用栏导航栏导航抽屉搜索链接分页上一页/下一页链接步骤条面包屑目录链接卡片FAB 菜单状态Tanrei 是如何构建的参与贡献许可与致谢
首页开始使用开始使用

开始使用

Tanrei 提供什么、各部分如何组合,以及在你的平台上从哪里入手。

content_copy以 Markdown 格式查看

Tanrei 是一个以各平台原生库的形式交付的设计系统。你不需要引入某个运行时或跨平台框架;只要为你正在使用的平台添加对应的包,就能得到与其他所有平台相同的令牌、组件和无障碍行为。

预发布

0.1.0-next.0 已以 npm 的 dist-tag next 发布:在 0.1.0 之前,安装时请在包名后加上 @next(npm install @tanrei/web@next)。在 0.x 预发布期间不保持向后兼容:任何一个预发布都可能破坏任何东西,事先没有弃用期,破坏了什么写在它的 changeset 里。

尚未发布:SwiftUI、Jetpack Compose、Flutter和React Native。一个平台在跟上当前的规格之后才会发布,在此之前它的 CI 处于暂停状态;这期间,它的指南展示如何从源码添加它。

选择你的平台

同一个按钮,六种写法

每个组件都只在一份与平台无关的规格中定义一次,再按各平台的惯用方式实现。你选择的标签页会在整个站点中被记住。

<tanrei-button variant="tonal">保存草稿</tanrei-button>
<Button variant="tonal" onClick={saveDraft}>保存草稿</Button>
TanreiButton("保存草稿", variant: .tonal) { saveDraft() }
TanreiButton(text = "保存草稿", onClick = ::saveDraft, variant = TanreiButtonVariant.Tonal)
TanreiButton(variant: TanreiButtonVariant.tonal, onPressed: saveDraft, child: const Text('保存草稿'))
<Button variant="tonal" onPress={saveDraft}>保存草稿</Button>

每个平台上都能得到的东西

  • 令牌。 颜色角色、字阶、形状、层级、动效、状态和间距的值,由同一份 DTCG 源文件生成为 CSS 自定义属性,以及 Swift、Kotlin、Dart 和 TypeScript 常量。
  • 主题。 浅色和深色,各有标准、中、高三个对比度级别。默认情况下主题跟随操作系统;你也可以为整个应用或某个子树强制指定其中任何一项。
  • 组件。 对共享规格的实现,在任何地方都有相同的变体、状态和键盘行为。
  • 无障碍默认值。 最小点击目标、可见的焦点环、放大到 200% 仍然可用的文本,以及对“减弱动态效果”设置的尊重,这些都是内建的,而不是留给每个界面自行处理。

如何阅读这份文档

  • 基础解释理念和规则。
  • 令牌参考列出每一个值,直接由令牌文件渲染而来。
  • 组件页面遵循同一个模板:概览、规格、指南、无障碍。这些页面上的表格来自组件的规格,因此不会过时。
  • 状态由仓库生成。
  • 与 AI 代理一起使用 Tanrei说明如何连接 MCP 服务器,并给出让编程代理用 Tanrei 编写 UI 的规则。