Jixoai UI v0.6:改进文档查阅,扩展组件定制
组件文档统一骨架,安装命令进每页首卡;全部组件接入八条显式属性轴,命名档、数字与 query() 用同一套语法;安装产物离开 tailwind,不再需要样式引擎;图表自适应重排、时间轴重做、boot-splash 新增。540 个提交,无破坏性变更。
$ git log v0.5.1..v0.6.0 --oneline | wc -l
540
jixoai-ui v0.6(2026-09-25,当前 0.6.0)收录 v0.5.1(2026-09-13)以来的 540 个提交:82 feat / 87 fix / 257 docs,其余为 test / chore / 重构与合并提交。这一版改了四件事:110 个组件文档页统一骨架,安装命令挪进每页首卡;全部组件接入八条显式属性轴;样式体系从 tailwind 迁到 stylex,安装侧无需样式引擎;chart 与 timeline 两个组件族重做修复,boot-splash 新增。没有带 ! 标记的破坏性变更,升级无迁移动作。
组件页统一骨架,安装命令进首卡
每个组件页现在遵循同一副骨架:Usage 前置,逐轴机制表 / Universal props / API / Accessibility / Theming / See Also 依序而下。此前各页结构不一,读者换个页面就要重新找目录。统一之后,同类信息在任何一页的同一位置。
安装命令的位置也变了。每页第一张卡的头区右侧直接携带 TerminalCard,npx jixoai-ui add <name> 逐字可见;独立的 Install 卡片全部撤销,共迁移 77 页(71 页 DocsInstall 形态、5 页 SectionCard 形态、1 页试点页)。命令仍可复制,文档骨架 lint 的逐字校验保持通过。
细节:评审与例外
本轮重做经三轮外部评审,4.5 分起步,终评 8.5 CONDITIONAL GO,Owner 签署 B、C 两项决议,残留缺口归档为后续任务。ghostty-term 需要 wasm 两步前置安装,保留独立说明卡,首卡指向它。
所有组件接入八条显式属性轴
定制组件不用再记每个家族自己的写法。这一版起,每个组件都接受同一组样式属性:size / shape / radius / density / color / theme / elevation / motion。取值是统一的三车道语法:命名档(如 'small')、'auto'(继承上下文)、数字(确切值);跨断点组合走 query():
<script>
import Alert from '$lib/ui/alert';
import { query } from '$lib/universal-props-query.svelte';
</script>
<!-- 命名档 -->
<Alert size="small" />
<!-- 数字档:确切值 -->
<Alert size={13} />
<!-- 查询:按视口断点组合 -->
<Alert size={query({ sm: 'small', '@md': 'medium' })} />
110 个组件族完成接入,glass 材料库豁免。未显式设置的轴维持各组件自身的默认值;属性的载体是 CSS 变量,不新增 class 身份。文档站的每个组件页新增逐轴机制表,组件画布的 playground 提供八条轴的拨杆,可直接观察解析结果。
细节:query() 的解析语义
命令断点按窄到宽归一排序,写键的顺序不影响结果;容器键(如 @md/card)向最近的限定祖先查询,找不到容器则永不匹配;SSR 首帧取无条件基值。query() 的运行时引擎随组件库一起交付。
安装的组件不再依赖 tailwind
写入样式的位置从 tailwind 工具类迁到 stylex 原子,站点与组件同步迁移,tailwindcss、@tailwindcss/vite 与 tailwind-merge 从依赖清单移除。对使用 npx jixoai-ui add 的读者,变化有两处:新拿到的组件文件不再依赖 tailwind 工具类;安装产物在交付时翻转为编译后的样式载体,工程里既不需要 tailwindcss,也不需要 @stylexjs/stylex。干净安装验证 24/24 通过。
残留有常驻门禁盯守。verify:tailwindless 以白名单方式跟踪工具类身份,当前白名单为 2 个文件、7 个身份、7 处出现,每一处都有书面豁免理由(启动画面的首屏内联样式),方向只降不升。
细节:迁移的清零路径
基线是 470 个文件、11,437 个身份、25,024 处工具类出现。迁移按组件区、站点库、路由页分波推进,各区域预算依次落零,最终计数 0 / 0 / 0。全程经五轮外部评审:4.5 → 6.1 → 7.8 → 8.4 → 9.4 GO。
图表不再滚动,条形共享起点
chart 家族在迁移后出现过一组症状:42 处字形被放大到 96px(7.38 倍)、条形出现滚动条、个别页字号异常。根因是组件默认值解析把 donut 的外径 96 回填给了 bar / sparkline / line 三个部件的尺寸槽;修复给六个默认值落点补上同一守卫,只有显式数字才会写入尺寸槽(406f12a7)。
自适应方式同步更换:条形图按容器实测容量重排字形预算,字号始终留在密度档位,所有条形共享同一条起点线。终态构建实测 360 / 636 / 1280 三档宽度,并在前一构建上完成 360 至 1500 的全宽扫掠:溢出为 0、滚动条为 0(da509b3c)。
时间轴点线统一权重
timeline 按 reui 标准重做:进度渲染改为分数 svg-path;结构描边与节点边框共用同一权重 token,设一处、点线同变;ring 形点保持永久空心。连接线与节点的搭接压入节点自身的墨带,不再悬空对接。回归电池 36/36,评审 GO 9.1/10(998f36fd)。
新增 boot-splash:加载掩膜
boot-splash 是一个加载掩膜层,遮住样式表异步到达前的第一帧。五种插槽(logo / loading / title / subtitle / description)、三种退场(opacity-out / blur-out / none)、揭示信号 fonts / load / manual,超时上限默认 4 秒。安装是一条命令:
npx jixoai-ui add boot-splash
细节:零 CSS 文件法则
元素样式全部内联,样式表词汇随 head 内联块下发,字体加载竞态在结构上不可能发生;noscript 环境直接隐藏该层,无 JS 的页面不会被掩膜困住。
其他变更
CLI 的
--overwrite等透传旗标此前被 item 过滤器静默丢弃,一个条目在一次运行中重复写文件时会卡在确认提示;现已逐字透传到每个子进程(b0ace9cb)。input-otp 的槽位宽度显式化,默认 40×40,密度阶梯在任何容器成立;此前裸输入的内在宽度会把槽位撑到 167px(79038f95)。
popover 修复 position-area 的 span 后缀反转(0c8ea5c6)。
W2 批量修缮覆盖 press-button 语义 / anchor 与 external 法则 / dialog 闭合(6df8f659)与 alert 可关闭 / ItemField 图标车道 / ItemSegmented 与 ItemStepper 适配器(5720cb80)。
升级
npx jixoai-ui@latest upgrade
无迁移动作。
提交类型统计(口径 grep -cE '^(type)(\(|!|:)',按 conventional 前缀):feat 82 / fix 87 / docs 257 / test 14 / chore 33 / refactor 5 / style 1 / 其余(合并等)61,合计 540。
链接
Changelog:GitHub Release v0.6.0 · compare v0.5.1...v0.6.0
文档与 registry:ui.jixoai.com
本站系列:Jixoai UI v0.5 · Jixoai UI v0.4.0
English version: /blog/2026-09-25-ui-0-6-0/
