理念总览
Tuffex 是什么、背后的三块理念版图,以及完整组件索引
安装
三种引入形态——按组件、按套件入口、或根入口——以及各自需要的样式文件。从《安装与引入》开始。
Tuffex Components 组件库
Tuffex(@talex-touch/tuffex)是服务 Talex Touch 生态的 Vue 3 组件库:同一套组件覆盖桌面端 CoreBox、插件 Surface 与本文档站。组件按套件划分——基础承载日常界面主体、进阶承载高级交互与视觉表达、AI 承载 AI 原生界面、数据承载可视化与图表家族、流程承载画布上的流程编排——侧边栏顶部的套件切换器在这五个组件套件之外,另列「理念」作为第六个纯文档套件;选中哪个套件就直接进入它的总览页。
- 交互标本:每个套件页开头都有一块组件预览——《基础套件》《进阶套件》《AI 套件》《数据套件》《流程套件》——每个格子都是可交互的真实组件,点名称直达文档。
- 分套件引入:
@talex-touch/tuffex/base、/pro、/ai三个分类入口按需加载;图表族在同包的@talex-touch/tuffex/charts子路径下。 - 版本演进与变更日志:详见《组件变更历程》,记录每个组件的引入版本(Since xx)、每次发版更新的组件清单与版本门禁。
Design Foundations 设计基础
组件视觉的最底层是一组 --tx-* design token:字体栈与字号字重体系、明暗双主题下的颜色语义(主色、成功/警告/危险、文本与填充分层)。组件不各自定义视觉,而是统一消费这层变量——改主题就是改 token,业务侧自定义也应落在同一层。完整清单见《Design Foundations 设计基础》。
主题定制
设计基础列出的是 token 清单,《主题定制》讲的是怎么覆盖它们:全局 token、深色与高对比度选择器、AI 套件自带的 --tx-bui-* 层,以及约三百个可以只改一个组件或一棵子树的组件变量。
图标体系
TxIcon 自己判断一个图标字符串是什么,而不需要调用方声明——Iconify class、七个内置字形之一、emoji,或显式的 URL / 文件来源。《图标体系》讲清这套解析顺序,以及应用如何教组件从自己的存储里加载图标。
Utils 工具函数
与组件配套的公开工具函数,从根入口与 ./utils 子路径导出:nextZIndex 统一浮层层级、toast 轻提示、对话框编排、环境守卫(hasWindow 等)、触感反馈与动画辅助。组件内部走的也是这一层,业务侧复用同一入口即可保证行为一致。完整 API 见《Utils 工具函数》。
组合工作台 Demo
这一组 Demo 用真实后台片段校验组件组合:搜索输入、开关、按钮、状态徽标、进度条与可选择表格会在同一个响应式面板里协同工作。
发布工作台
适合作为 Dashboard / Admin 页面组合组件的基础形态。
教程路径
- 新手先读《Tuffex 组合界面教程》,掌握“操作区 → 状态区 → 数据区”的页面切法。
- 后台首屏建议从“运营状态面板”模式开始,再按需向下展开表格、趋势图、导航配置和详情抽屉。
- 列表页优先把关键词、范围筛选和无结果恢复设计成同一条路径,复用
TxSearchInput、TxSearchSelect、TxSearchEmpty。 - 数据列表建议使用
TxDataTable承担主体、TxPagination承担页码、TxSkeleton/TxLayoutSkeleton承担等待态。 - 设置页与后台壳层建议使用
TxTabs固定分区,TxDropdownMenu/TxPopover放轻操作与短说明,TxDrawer承载高密度配置。 - 数据区必须同时设计加载、空态和错误恢复路径,优先复用
TxLoadingState、TxEmptyState、TxErrorState。 - 任务反馈路径建议使用
TxToastHost挂载通知、TxTooltip解释动作、TxLoadingOverlay阻断局部刷新、TxSpinner表达行内等待。 - 权限编排路径建议用
TxTree选择权限域、TxTreeSelect选择归属团队、TxTransfer分配资源、TxTimeline展示审计进度。 - 发布配置路径建议用
TxCascader选择发布范围、TxFlatSelect选择包格式与发布模式、TxSegmentedSlider表达风险档位、TxSlider调整灰度比例、TxTagInput记录短标签。 - 组件细节按下方分组查阅;侧边栏仅突出仍需关注的迁移状态,已审阅页面只在状态看板中显示
已确认。 - 后台页优先使用
TxDataTable、TxStatusBadge、TxProgressBar与图表组件组合,避免手写一次性 SVG 或重复状态 UI。
迁移状态看板
开发中:文档仍在完善,示例/API 可能继续调整。AI 迁移:已完成迁移,但仍建议结合源码核对。已审阅:人工审阅完成。
套件总览
每个套件都有一个总览页,承载自己那一部分的实时预览和组件清单——也就是在切换器里选中该套件后,侧边栏的第一个条目。
| 套件 | 分组 | 组件数 | 引入入口 |
|---|---|---|---|
| 基础套件 | 通用 / 表单 / 布局 / 导航 / 数据展示 / 反馈 / 状态占位 | 94 | @talex-touch/tuffex/base |
| 进阶套件 | 高级交互 / 视觉效果 / 底层原语 | 27 | @talex-touch/tuffex/pro |
| AI 套件 | 对话 / 智能体 / 推理与生成 / 上下文与洞察 | 34 | @talex-touch/tuffex/ai |
| 数据套件 | 图表 / 可视化 | 10 | @talex-touch/tuffex/pro(可视化 + 图表)+ @talex-touch/tuffex/charts(图表族入口) |
| 流程套件 | 流程编排 | 1 | @talex-touch/tuffex/ai |
理念是第六个套件——纯文档性质、不对应组件入口。本页就是它的总览:上半是组件库定位、设计基础与工具函数,下半是完整组件索引。
基础组件
日常界面的主体组件,通过 @talex-touch/tuffex/base 分类入口引入。套件页见《基础套件》,设计基础见《Foundations 设计基础》,工具函数见《Utils 工具函数》。
通用
- Button 按钮
- Icon 图标
- Avatar 头像
- Avatar Variants 头像变体
- Tag 标签
- Badge 徽标
- StatusBadge 状态徽标
- IconChip 图标角标
- Kbd 快捷键
- Divider 分割线
表单
- Form 表单
- Input 输入
- SensitiveInput 敏感输入框
- Textarea 多行输入
- NumberInput 数字输入
- SearchInput 搜索输入框
- TagInput 标签输入
- ScrubField 拖拽数值域
- Select 选择器
- FlatSelect 扁平选择
- SearchSelect 搜索选择器
- TreeSelect 树选择器
- Cascader 级联选择
- Picker 滚轮选择
- DatePicker 日期选择
- IconPicker 图标选择器
- Radio 单选框
- FlatRadio 平铺单选
- Checkbox 复选框
- Switch 开关
- Slider 滑块
- SegmentedSlider 分段滑块
- Rating 评分
- FileUploader 文件上传
- ImageUploader 图片上传
布局
- Container 容器
- Flex 弹性布局
- Grid 栅格
- GridLayout 网格布局
- Stack 堆叠
- Splitter 分割面板
- Scroll 滚动
- Collapse 折叠
- Card 卡片
- CardItem 卡片项
- GroupBlock 分组块
导航
- Tabs 标签页
- TabBar 底部导航
- NavBar 导航栏
- SidebarNav 侧边导航
- Breadcrumb 面包屑
- Steps 步骤条
- Pagination 分页
- DropdownMenu 下拉菜单
- FlatDropdown 扁平下拉
- ContextMenu 右键菜单
数据展示
- DataTable 数据表格
- Descriptions 描述列表
- Tree 树形
- SortableList 拖拽排序
- Timeline 时间线
- Transfer 穿梭框
- StatCard 指标卡片
- CellLink 单元格链接
- DotIndicator 圆点指示器
- FilterChips 筛选胶囊
- MarkdownView Markdown 渲染
- ImageGallery 图片预览
反馈
- Dialog 弹窗
- Modal 模态框
- Drawer 抽屉
- Popover 弹出层
- Tooltip 提示
- Toast 提示
- ToastPanel 浮出面板
- Alert 提示条
- StatusHint 状态提示
- Progress 进度
- ProgressBar 进度条
- Spinner 加载
- LoadingOverlay 加载遮罩
- SelectionActions 划词工具条
状态占位
- Empty 空状态
- EmptyState 空态引导
- NoData 无数据
- NoSelection 未选择
- SearchEmpty 搜索空态
- ErrorState 错误状态
- OfflineState 离线
- PermissionState 权限不足
- GuideState 引导状态
- BlankSlate 空白页
- LoadingState 加载态
- Skeleton 骨架屏
- LayoutSkeleton 布局骨架
进阶套件
高级交互、视觉效果与底层原语,通过 @talex-touch/tuffex/pro 分类入口引入。套件页见《进阶套件》。
高级交互
- CommandPalette 命令面板
- SearchPanel 内联搜索面板
- MarkdownEditor Markdown 编辑器
- CodeEditor 代码编辑器
- VirtualList 虚拟列表
- VersionCapsule 版本胶囊
视觉效果
- GlassSurface 玻璃拟态
- GradientBorder 渐变边框
- OutlineBorder 描边容器
- BorderBeam 流光边框
- PrismGlow 棱镜光
- CornerOverlay 角标容器
- GradualBlur 渐变模糊
- EdgeFadeMask 边缘渐隐遮罩
- GlowText 扫光
- KeyframeStrokeText 关键帧描边
- TuffLogoStroke Logo 描边
- TextMorph 文本形变
- IconMorph 图标形变
- TextTransformer 文本变换
- Transition 动效
- Stagger 依次进入
- Fusion 交融
- FusionSurface 融合表面
- Liquid 液态流体
- FlipOverlay 翻转遮罩
- ImageGeneration 生图占位
- MetalFx 液态金属
- VoiceBeam 语音光束
底层原语
AI 套件
AI 原生界面组件族,部分移植自 Beautiful UI(MIT),完整案例见《AI 套件》,通过 @talex-touch/tuffex/ai 分类入口引入。
对话
- Chat 消息列表
- ChatComposer 消息输入
- PromptBar 提示条
- AttachmentTray 附件区
- ModeChip 模式芯片
- MessageActions 消息操作条
- SuggestionChips 建议胶囊
- ChoiceCard 选项卡片
- TypingIndicator 打字中
- ConversationStream 会话流
智能体
- Agents 智能体列表
- AgentScreen 智能体屏幕
- AgentTrace 智能体轨迹
- TaskRows 任务行
- ToolCallCard 工具调用卡片
- ToolChips 工具调用流
- ToolConfirmation 工具授权
- ApprovalCard 澄清问卷卡
- WorkingIndicator 工作指示器
- BotAvatar 机器人头像
推理与生成
- AI Elements AI 对话元素
- ChainOfThought 推理时间线
- ReasoningDisclosure 推理过程
- ThinkingOrb 思考指示球
- StreamElement 流式回答
- StreamText 流式文字
- StreamMarkdown 流式 Markdown
- CodeStream 流式代码块
- InlineCitation 行内引用
- Sources 引用来源
上下文与洞察
数据
数据可视化与图表:tuffex 主包的可视化组件(经 @talex-touch/tuffex/pro 引入)+ 同包 @talex-touch/tuffex/charts 子路径下的图表家族(kumo 同构、无 echarts)。套件页见《数据套件》。
图表
同包 @talex-touch/tuffex/charts 子路径下图表家族(kumo)的文档,随 tuffex 主包一起发布。
可视化
流程
流程编排:点阵画布上的节点、分支与连线。经 @talex-touch/tuffex/ai 入口引入——和数据套件一样,这是文档层面的划分。套件页见《流程套件》。
流程编排
技术实现
- 中心页范围:本页既是理念套件总览,也是组件文档索引;单组件 API、Props、最佳实践细节由各组件详情页承载。
- 源码注册表:
packages/tuffex/packages/components/src/components.ts定义文档覆盖测试使用的导出组件 slug 集合。 - Demo 注册表:
apps/nexus/app/components/content/demo-registry.ts把本页每个TuffDemoWrapperdemo 映射到独立 Vue demo 文件。 - 预览网格:
apps/nexus/app/components/docs/DocsComponentsGallery.vue渲染各套件页的「组件预览」网格;suite为必填 prop,一次只渲染该套件那一段。 - 实测覆盖: Coverage:
apps/nexus/test/docs/tuffex-component-docs-coverage.test.ts校验导出组件具备中英文文档、本地化中心页链接已文档化组件、所有 demo 引用都能解析到已注册 Vue 文件。
无障碍
:focus-visible 上的焦点环、prefers-reduced-motion 处理、高对比度调色板,以及组件共用的 ARIA 约定——同时坦白说明覆盖到哪里为止。见《无障碍》。