跳转到内容

XiHan.UI 视图组件 ​

XiHan.UI 是一套框架无关的组件库:状态机与无障碍逻辑位于无头内核,每个前端框架只有一层薄适配器。

当前提供 136 个组件,每个组件都有无头内核、Vue 组件、React 组件、自定义元素与默认皮肤。各层同源,行为由内核唯一定义,三个适配器负责接入各自的渲染与事件机制。

与常见组件库的区别 ​

多数组件库把行为与某个框架的组件模型绑定在一起:更换框架需要整套重写,无障碍与键盘交互是重写中最容易丢失的部分。XiHan.UI 将这两层分离:

层包职责
适配器@xihan-ui/vue、@xihan-ui/react、@xihan-ui/web-components将同一份属性和行为接到各自宿主
无头内核@xihan-ui/headless解剖、状态机与 connect
原语@xihan-ui/core、position、motion、pointer运行时、定位、动效与指针会话
表现@xihan-ui/tokens、@xihan-ui/styles共享令牌与纯 CSS 皮肤

由此带来四条可验证的性质:

  • 同一份行为,三种宿主。Vue、React 与自定义元素共享状态机和 connect;文档站提供对应框架示例,覆盖情况由示例门禁核对。
  • 样式与逻辑解耦。皮肤只识别 data-scope / data-part / data-* 状态属性,不识别框架,也不识别类名。整体更换皮肤不需要修改 JS。
  • 无障碍是判据。每个组件都有一份机读的键盘规格表(共 695 条),它同时是测试的分母:用例少覆盖一条即判套件失败。
  • 依赖面收敛。库包的运行时代码不引入第三方依赖,适配器只依赖各自的宿主框架。日期运算、定位、代码着色、Web Components 响应式基类均为自研。

从这里开始 ​

目标入口
了解整体架构架构总览
接入现有项目安装与接入
编写第一个组件快速上手
查询组件的部件与键盘支持组件总览
修改主题与皮肤设计令牌与主题、皮肤与样式分层
使用 Vue / React / 原生自定义元素Vue 适配器、React 适配器、Web Components 适配器
构建 AI 对话界面AI 协议内核

相关 ​

与 XiHan.BasicApp 的关系

XiHan.BasicApp 的前端构建于 XiHan.UI 之上:自 BasicApp v4.0.0 起整体使用本库重建,是组件库在真实业务中的第一个大体量消费方。BasicApp 的前端约定见基础应用前端手册。

Released under The MIT License