@jboltai/tokui 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,165 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [0.2.1] - 2026-08-03
6
+
7
+ Phase 4 新组件补位 + P2 社区组件落地,配色体系整体柔化。
8
+
9
+ ### 新增
10
+
11
+ - **分段控制器 `segmented`**:双模式表单控件。简写 `opt:"v:label;…"` 原子自闭合;容器模式 `[opt v:值 tx:文 i:图标 chk dis]` 支持图标与单项禁用;`v` 当前值(可与形态变体组合 `v:"sm,grid"`),变体 `sm`/`lg`/`block`/`pill`/`vertical`;`on:"change:h"` 上报 `{value,name}`;支持 `upd v:值` 程序化切换与 form reset 恢复。
12
+ - **颜色选择 `color-picker`**:自闭合。面板含饱和明度取色区 + hue 滑条 + hex 输入 + 预设色 + 清除;开启时 portal 到 `body` 并 fixed 定位(不被父容器 overflow 裁切),滚动跟随重定位,外点/Esc 关闭,取色拖拽带 pointer capture;`v` 初始 `#rrggbb`(缺省 `#1677ff`),`presets` 逗号分隔预设 hex;支持 `upd v:#hex` / `upd dis:false` 与 form reset。
13
+ - **固钉 `affix`**:容器。滚动越过偏移即 `position:fixed` 固定:`top` 固顶(缺省 0)、`bottom` 固底(经过原位置后释放,同 AntD `offsetBottom`)、`target` 显式滚动容器;自动插占位防跳动,`change` 上报 `{fixed}`;滚动监听挂 window 捕获阶段,嵌套滚动容器(对话区/scroll-area)均可感知。
14
+ - **锚点导航 `anchor`**:双模式。简写 `opt:"目标id:标题;…"` 原子自闭合;容器模式 `[lk h:目标 tx:标题 d:层级]` 支持二级锚点;`top` 指定 scroll-spy 激活偏移(缺省 12);变体 `horizontal` 横向模式;点击平滑滚动 + scroll-spy 自动高亮;支持 `upd v:目标id` 程序化高亮(silent)。
15
+ - **漫游引导 `tour` / `tour-step`**:`tour` 容器 + `tour-step` 自闭合标记(`tgt`/`tt`/`tx`/`pos`)。`open` 闭合后自动开启,`mask:false` 关遮罩;键盘 Esc 关、←/→ 切步;事件 `change`(`{index,target}`)/`finish`/`close`;upd 契约 `act:open`(`v` 可选起始步)/`act:goto v:N`/`act:close`(程序化均 silent)。
16
+ - **图片预览组 `preview-group`**:容器。一组 `img` 共享灯箱预览会话(缩放/旋转/翻转/计数/前后切换),流式后到的图自动入组。
17
+ - **命令式确认 `modal.confirm`**:宿主侧 JS API(非 DSL),`TokUI.modal.confirm(opts)` / 别名 `TokUI.confirm(opts)` → `Promise<boolean>`;opts `{tt, tx, t:'danger'|'primary', 'ok-text', 'cancel-text', onOk, onCancel}`;Esc/遮罩点击=取消;按钮与 aria 文案走 i18n(`common.ok`/`common.cancel`/`modal.aria`)。
18
+ - **P2 组件四连**:`kbd` 行内键帽(`p` 行内子节点白名单同步收录)、`editable` 行内编辑(点击即编辑,Enter/失焦提交 `change` 上报,Esc 还原)、`float-button` 视口四角固位悬浮组(子组件自动圆形悬浮化)、`masonry` CSS columns 瀑布流(`cols` 固定列 / `minw` 自动列 / `gap`,流式追加自然流动)。
19
+
20
+ ### 修复
21
+
22
+ - **imgs 灯箱**:`cloneNode` 加环境守卫,非浏览器环境(SSR/测试)不再报错。
23
+ - **affix/anchor 滚动感知**:scroll 不冒泡导致嵌套滚动容器(对话区)监听失效,改为 window 捕获阶段监听 + 惰性重探(流式期内层容器后于外层变得可滚);anchor scroll-spy 增加点击后 900ms 抑制窗,不再抢回用户点击的高亮。
24
+ - **color-picker 面板**:fixed portal 修复被父容器裁切;取色拖拽越界松手不再误触外点关闭(pointer capture)。
25
+ - **parser**:`cols` 自闭合触发豁免名单补 `masonry`(其 `cols` 是布局列数属性,此前带 `cols` 的 masonry 会被误判自闭合、容器写法报「未匹配闭合标签」)。
26
+
27
+ ### 变更
28
+
29
+ - **color-generator**:新导出 `hexToRgb` / `rgbToHex` / `rgbToHsv` / `hsvToRgb` 颜色换算工具函数。
30
+ - **dom-mock**:document 级事件监听可触发,交互回路测试更贴近真实 DOM 行为。
31
+ - **配色体系柔化**:file 文件卡图标、h1-h6 标题 ribbon/badge/pill 变体、card 头部 fill/pill 统一改为「10% 主色浅底 + 主色文字 + 淡描边」(color-mix 派生,深浅主题自适应);自定义色经白名单校验后同色体系浅化。
32
+ - **demo**:`sending` 发送状态镜像到 `body[data-sending]`,e2e/外部脚本可精确等待流结束。
33
+
34
+ ## [0.2.0] - 2026-07-29
35
+
36
+ 交互回路闭环收尾 + 表单/数据展示增强 + 流式渲染性能专项。「用户 → AI」回路打通后,TokUI 从流式展示框架升级为 Agent 双向交互协议层。
37
+
38
+ ### 新增
39
+
40
+ - **交互事件上报统一出口**:`onEvent` 升级为统一事件总线出口,DSL `on:"事件:处理器,…"` 声明组件交互上报,`createReporter` 统一发送,`eventFilter` 可按需过滤;approval 审批组件落地。
41
+ - **表单校验增强**:多种校验规则补充;upload 组件 XHR 传输三态 UI(进度/成功/失败)与失败重试。
42
+ - **数据展示增强**:table 客户端排序/筛选/分页(`sortable`/`filter`/`pagination`);scroll-area `virtual` 虚拟滚动 + `loadmore` 触底上报;tree `load` 懒加载。
43
+ - **Markdown 增强**:mermaid / KaTeX 宿主插件按需加载(不进核心零依赖承诺),代码块行号(CSS counter)。
44
+ - **气泡与终端**:bubble 头像文案入 i18n;terminal 复制按钮(i18n 文案)。
45
+
46
+ ### 修复
47
+
48
+ - **事件系统**:修复 eventBus emit 断链,以及 popconfirm/thumb/conv/command 等组件的点击双发与死链;修复流式期间 conversations 选中上报丢失;统一组件内部点击事件处理,消除 handler 重复调用。
49
+ - **浮层定位**:tooltip/popover/popconfirm 读齐 rect 一次写完,消除重复布局(layout thrashing)。
50
+ - **渲染稳定性**:消息与通知容器缓存机制,容器被移除时不再重复创建;密码输入框眼睛图标缓存复用,减少 DOM 解析开销。
51
+
52
+ ### 变更(流式渲染性能专项)
53
+
54
+ - **code/diff/chart 流式增量渲染**:`_streamAppendHook` 增量重绘,替代整树重渲。
55
+ - **table 合帧**:tr cell 级流式渲染合帧优化。
56
+ - **淡入统一**:内联动画样式统一改为 `.tokui-fade-in` 类。
57
+ - **textarea 自动调整与时间选择器性能优化**。
58
+ - **parser**:豁免 katex 与 md 内容的转义解码。
59
+
60
+ ## [0.1.9] - 2026-07-21
61
+
62
+ 表单声明式校验 + 输入联想。
63
+
64
+ ### 新增
65
+
66
+ - **chat-input @提及**:`mention:` 属性配置提及数据源(事件处理器同步/异步返回匹配列表),输入 @ 触发联想下拉,键盘导航选择,选中插入文本并触发 `mention` 事件上报。
67
+ - **DSL 校验规则**:`input`/`pwd`/`textarea`/`select` 支持 `rule:"required|email|len:N|…"` 声明式校验 + `msg:` 自定义错误文案,提交闸门统一执行,错误态视觉体系统一。
68
+ - **实时校验**:`live` blur 实时校验,`live:input` 即时模式,error 态输入即时重检。
69
+ - **input 联想**:`sug:` 联想建议下拉,支持异步数据源与键盘操作。
70
+ - **必填标记**:表单控件 `req` 属性显示必填星号样式(label 必填星号 + hint 错误位布局统一)。
71
+
72
+ ## [0.1.8] - 2026-07-21
73
+
74
+ 人工审批(HITL)+ 统一事件上报 + 动态更新指令。(版本号跳过 0.1.7)
75
+
76
+ ### 新增
77
+
78
+ - **HITL 人工审批**:`tool-call` 的 `approval` 模式渲染批准/拒绝按钮,决定经 `clk` 事件回传。
79
+ - **统一事件上报**:quick-reply 点击回调、suggestion 点击、select 事件、conversations 交互(点击/删除)、msg-actions 动作按钮均纳入统一事件出口上报。
80
+ - **停止生成契约**:chat-input 新增 `streaming` 状态显示停止生成按钮,支持 `stop` 事件上报与乐观复位。
81
+ - **`[del]` / `[ins]` 指令**:动态删除组件(安全删除);在已渲染目标 before/after/into 位置插入子树(闭标签到达时一次性搬运,无错位闪动)。
82
+ - **指令回执**:全部组件支持按 id 定位元素,upd/del/ins 指令的查找与回执机制完善。
83
+ - **calendar**:支持动态更新选中日期。
84
+
85
+ ## [0.1.6] - 2026-07-13
86
+
87
+ 图表交互专项 + 构建修复。
88
+
89
+ ### 新增
90
+
91
+ - **图表缩放**:圆点独立缩放与重定位、缩放后索引计算修正。
92
+ - **ECharts 风格轴触发十字线 tooltip**。
93
+ - **X 轴标签旋转布局**与底部留白自适应;zoom 重绘文字字号保持。
94
+ - **大规模柱状图演示**与图表示例结构调整。
95
+
96
+ ### 变更
97
+
98
+ - **Modern 主题卡片柔光阴影**优化。
99
+ - **CI**:pnpm/action-setup 升级 v6,精确指定 pnpm 版本并启用独立模式,修复退出码问题。
100
+
101
+ ## [0.1.5] - 2026-07-02
102
+
103
+ 演示与文档修补版本。
104
+
105
+ ### 变更
106
+
107
+ - 文档站配置优化,新增版本号显示。
108
+ - 演示平台域名修正;示例图片资源链接更新为 webp 格式。
109
+
110
+ ## [0.1.4] - 2026-07-02
111
+
112
+ 接口文本全面国际化 + 图表/媒体增强。
113
+
114
+ ### 新增
115
+
116
+ - **i18n 国际化**:组件 chrome 文案(aria-label / placeholder / 空态 / 分页总数 / 默认按钮字)统一收口 `i18n.js` 字典,内置 zh-CN / en-US,`registerLocale` 可扩展语种;文档新增 i18n 指南(中英)。
117
+ - **图表全屏弹层**;饼图标签字号保底及图例布局优化;rate 只读评分状态样式。
118
+ - **视频/音频组件**功能与演示示例丰富。
119
+
120
+ ## [0.1.3] - 2026-06-30
121
+
122
+ 表单选择器三态统一 + 图标/条码组件 + 表格流式增强。
123
+
124
+ ### 新增
125
+
126
+ - **checkbox 三态**:单布尔 / `opt` 简写多选 / 容器多选(`multi` 标记)三态渲染,流式 opt 注入共享 name(镜像 radio)。
127
+ - **`opt` 简写统一**:`_parseOptShorthand` + `_expandOptChildren`,radio/select/checkbox 均支持 `opt:"v:label;…"` 简写展开。
128
+ - **radio/checkbox `v:vertical` 竖排左对齐变体**。
129
+ - **图标系统**:零依赖 SVG 图标注册表 `icons.js`(Lucide 风格);btn 支持 `icon:`/`i:` 图标属性与 icon-only 模式;表格操作列支持 `icon:`/`i:`/`l:` 简写。
130
+ - **`barcode`**:Code128 条码组件(纯 JS 零依赖 SVG)。
131
+ - **`qrcode`**:QR 二维码组件(vendored Arase 库 + 纯 SVG,中文 UTF-8 编码修复)。
132
+ - **表格增强**:tr 单元格级真流式渲染;末格 btn 操作列真流式(逐钮边解析边渲染);单元格合并与多行表头。
133
+ - **desc**:描述列表多列末行边框智能处理(含计数法兜底)。
134
+ - **大文本容器真流式 + 纯自闭合大块骨架占位机制**。
135
+ - **SSE 接口 IP 限流**(每分钟 10 次,超限 429 + 冷却)。
136
+
137
+ ### 变更
138
+
139
+ - **demo 目录独立重构**:自包含演示(`demo.sh` 管理脚本 + 同源于 3109 的静态/SSE 服务)。
140
+
141
+ ## [0.1.2] - 2026-06-27
142
+
143
+ 轮播图增强 + 表单动作与打印区 + 流式跟随。
144
+
145
+ ### 新增
146
+
147
+ - **carousel**:固定尺寸、比例尺寸与缩略图图例支持。
148
+ - **表单动作与打印区**:btn 内置动作(print > reset > submit > clk),`print-area` 标记 1:1 打印区域。
149
+ - **tabs / accordion 流式跟随**。
150
+ - **stat**:支持透传 id 属性,供 upd 指令准确定位。
151
+ - **智能变体吸收**:`v:` 多变体写法(空格分隔变体 token 自动并入)。
152
+
153
+ ### 修复
154
+
155
+ - **ribbon 缎带暗色主题可见性**优化。
156
+ - **表格**:列错位警告信息与标签断裂检测、列分隔处理逻辑、单元格内未加引号逗号告警。
157
+ - **parser**:CJK 值粘连多属性漏空格修复;流式渲染 finalize 后代码区丢失修复。
158
+ - **打印**:复位祖主链 containing-block 样式,修复打印位置偏移。
159
+
160
+ ### 变更
161
+
162
+ - **输入框验证态样式**及主题支持优化。
163
+
5
164
  ## [0.1.1] - 2026-06-26
6
165
 
7
166
  文档站主题交互与指南完善,附带一处多实例主题装配的 bug 修复。
@@ -51,5 +210,14 @@ All notable changes to this project will be documented in this file.
51
210
  - `test-layout.js` 的 `item content + nested list` 断言改为符合真实 DOM 聚合语义。
52
211
  - `src/index.js` 与 `src/components/index.js` 的模块求值期裸读 `window.TokUI._internal` 改为运行期懒解析,SSR 导入不再依赖 bundler 保留 `require` 的怪癖。
53
212
 
213
+ [0.2.1]: https://github.com/jboltai/tokui/releases/tag/v0.2.1
214
+ [0.2.0]: https://github.com/jboltai/tokui/releases/tag/v0.2.0
215
+ [0.1.9]: https://github.com/jboltai/tokui/releases/tag/v0.1.9
216
+ [0.1.8]: https://github.com/jboltai/tokui/releases/tag/v0.1.8
217
+ [0.1.6]: https://github.com/jboltai/tokui/releases/tag/v0.1.6
218
+ [0.1.5]: https://github.com/jboltai/tokui/releases/tag/v0.1.5
219
+ [0.1.4]: https://github.com/jboltai/tokui/releases/tag/v0.1.4
220
+ [0.1.3]: https://github.com/jboltai/tokui/releases/tag/v0.1.3
221
+ [0.1.2]: https://github.com/jboltai/tokui/releases/tag/v0.1.2
54
222
  [0.1.1]: https://github.com/jboltai/tokui/releases/tag/v0.1.1
55
223
  [0.1.0]: https://github.com/jboltai/tokui/releases/tag/v0.1.0
package/README.md CHANGED
@@ -39,7 +39,7 @@
39
39
  - **流式优先** —— 状态机增量解析,边收边渲染,首个字符到达即开始绘制 DOM。
40
40
  - **简洁 DSL** —— `[card tt:标题][p 内容][/card]` 一行描述一个组件,AI 易生成、人易读。
41
41
  - **框架无关** —— 原生 JS 可用,另提供 React / Vue / Svelte / Web Component 官方适配器。
42
- - **插件化组件** —— `renderer.register(type, fn)` 注册,开箱即用 30+ 组件(卡片、表格、表单、图表、Markdown、代码高亮等)。
42
+ - **插件化组件** —— `renderer.register(type, fn)` 注册,开箱即用 150+ 组件(卡片、表格、表单、图表、Markdown、代码高亮等)。
43
43
  - **事件安全** —— 事件处理器为命名引用(`clk:`/`sub:`),需预先 `registerHandler` 注册,禁止注入可执行代码。
44
44
  - **主题驱动** —— CSS 变量 + `data-tokui-theme` 切换,内置 HSB 算法的 10 级色阶生成器。
45
45
  - **SSR 友好** —— `import` 不依赖 `window`/`document`,可在 Next.js / Nuxt / SvelteKit 等服务端导入(渲染在客户端进行)。
@@ -261,10 +261,10 @@ DSL 写 `v:primary`,渲染器生成 CSS 类 `tokui-btn--primary`。变体名
261
261
 
262
262
  | 文件 | 组件 |
263
263
  |------|------|
264
- | `basic.js` | 标题 h1–h6、段落、链接、Markdown、代码块、代码高亮、徽标、按钮、提示、分隔线等 |
264
+ | `basic.js` | 标题 h1–h6、段落、链接、Markdown、代码块、代码高亮、徽标、按钮、提示、分隔线、固钉(affix)等 |
265
265
  | `table.js` | 表格(`table` / `thead` / `tbody` / `tr` / `desc`) |
266
- | `form.js` | 表单、输入框、文本域、下拉、单选/复选、开关、日期选择器、标签输入等 |
267
- | `layout.js` | 卡片、栅格行/列、列表、图片集、描述列表等 |
266
+ | `form.js` | 表单、输入框、文本域、下拉、单选/复选、开关、日期选择器、标签输入、分段控制器(segmented)、颜色选择(color-picker)等 |
267
+ | `layout.js` | 卡片、栅格行/列、列表、图片集、描述列表、锚点导航(anchor)、漫游引导(tour)、图片预览组(preview-group)、命令式确认(modal.confirm,宿主侧 JS API)等 |
268
268
  | `chart.js` | 纯 SVG 零依赖图表:bar / line / pie / radar / donut / scatter / gantt / funnel |
269
269
  | `lightbox.js` | 图片灯箱预览 |
270
270
 
@@ -274,7 +274,7 @@ DSL 写 `v:primary`,渲染器生成 CSS 类 `tokui-btn--primary`。变体名
274
274
  form table thead tbody card ft row col list select radio code imgs md textarea
275
275
  tabs tab accordion collapse dialog btngroup picker timeline steps drawer ol ul i
276
276
  item think bubble toolbar badge-box dropdown transfer cascader tree tn step desc
277
- carousel popover input-tag watermark menu
277
+ carousel popover input-tag watermark menu tour affix preview-group float-button masonry
278
278
  ```
279
279
 
280
280
  ---