@jboltai/tokui 0.2.1 → 0.2.3

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,63 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [Unreleased]
6
+
7
+ AI 对话组件专项:缺陷修复 + 令牌体系统一 + 视觉重设计 + upd/事件能力补齐 + 流式性能。
8
+
9
+ ### 新增
10
+
11
+ - **plan-step 支持 upd 推进**:`plan-step` 落 `id` 并新增 `_update`——`[upd id:step1 status:doing]` 即可推进步骤;`status` 同义词自动归一(`running`→`doing`、`complete`→`done`、`fail`→`error` 等),`tt`/`desc` 同步可改。
12
+ - **AI 组件 id 锚点补全**:`bubble`/`typing`/`terminal`/`diff`/`artifact`/`quick-reply`/`msg-actions`/`think`/`think-chain` 的 `id` 均落 DOM,作 `del`/`ins` 定位锚点(typing→正文切换等编排场景)。
13
+ - **tool-call 可折叠**:新增 `collapsed` 布尔属性(入 parser `BOOLEAN_ATTRS`)初始收起 body;header 点击 / Enter/Space 随时收展(`aria-expanded` 同步),状态徽章常显,body 只切 display 不销毁内容。
14
+ - **`streamAnimation` 公共选项**:`new TokUI({ streamAnimation:false })` 关闭流式入场动画(默认 true;不影响一次性 `render()`)。
15
+ - **新 i18n key**(zh-CN / en-US 双份):`agent.defaultName`、`terminal.title`、`sandbox.title`、`canvas.title`、`toolCall.defaultName`、`artifact.codeTab`、`artifact.previewTab`、`testResult.total`(含 `{n}` 插值)。
16
+ - **新测试文件**:`tests/test-cleanup.js`(`_registerCleanup` 清理机制)、`tests/test-theme-tokens.js`(主题令牌引用完整性扫描)、`tests/test-stream-perf.js`(fade-in 闸门 / 流式 Text 合并)。
17
+
18
+ ### 修复
19
+
20
+ - **chat-input upd 全通路**:`id` 落 DOM,`[upd id:x dis:true]` / `[upd id:x streaming:false]` 真实生效;`dis:'false'` 字符串按布尔语义视为「主动启用」;流式 `_slot` 由 textarea 改挂 actions 区(textarea 纯文本内容模型不渲染子元素)。
21
+ - **artifact 复制保留换行**:复制改用渲染期留档的原始文本(含流式追加),不再读丢失 `\n` 的 `textContent`。
22
+ - **callout / agent 流式落位**:callout 补 `_tokuiType` 盖章(流式闭合类型匹配);agent 无条件建 body 插槽,open 后流入子节点落位正确。
23
+ - **监听器泄漏**:renderer 新增 `_registerCleanup(el, fn)` 清理机制(`destroy()` 统一调用,要求幂等);affix / backtop / command hotkey 的 window/document 监听接入解绑。
24
+ - **sandbox 流式**:`lang:html` 分支流式期间只累积文本、闭合时才一次性写 iframe srcdoc;非 html 分支流式文本落入 pre 代码区。
25
+ - **tool-call upd 幂等**:`result`/`error` 重复推送就地更新既有节点,不再堆叠。
26
+ - **command**:键盘 ↑↓ 与鼠标悬停选中状态同步;选中 emit 合并为单一通路(同一 item 一次选中只 emit 一轮);分组显隐改数据驱动;带 `v:` 项的显示文本不再被 value 冲掉。
27
+
28
+ ### 变更
29
+
30
+ - **AI 组件全令牌化**:tool-call / agent / diff / artifact / welcome / callout / chat-input 等状态色、阴影、边框全部改吃三层令牌(无裸 hex/rgba);新增 `--tokui-font-mono`、`--tokui-bubble-*`(6 个,四主题)、`--tokui-terminal-bg/-text/-titlebar`、`--tokui-code-*`(7 个高亮令牌,default = GitHub Light 板 / dark = One Dark 板)。
31
+ - **视觉重设计**(对齐 card 调性):bubble user 浅灰气泡、AI 头像淡底、system 更轻;suggestions 去左条与双层影(1px border + hover stripe);chat-input 边框归一 1px + 单层 focus 环;welcome 降饱和;terminal 深色令牌化;source 轻量化(去实色 primary 序号圆/主题色标题/底色边框,改纯文本行:muted 序号与标题、hover 才显链接色,视觉权重低于正文)。
32
+ - **事件出口统一**:thumb `like{value:up|down}`、source `open{url,title}`、code/terminal/copy/artifact `copy{}`、command `select{value,text}`、sidebar `toggle{collapsed}`、ft-folder `toggle{name,open}`、attach `delete{name,url,type}`、welcome-feature `select{value}` 全部接入 `createReporter` 统一出口;全局 bus 直连清零(conv/thumb/attach/command 改 `renderer.eventBus`,多实例安全);原 `clk` 通道行为保持不变。
33
+ - **error/danger 双类名补齐**:tool-call / agent / think-step 的 `--error` 规则双写 `--danger`,DSL 写 `status:danger` 不再失色。
34
+ - **流式 fade-in 收敛**:`tokui-fade-in` 仅顶层流式挂载元素挂载(嵌套元素与文本 chunk 不挂),动画改 opacity-only 关键帧。
35
+ - **流式 Text 合并**:连续文本 chunk 合并进同一 Text 节点(`textContent +=`),大对话 DOM 节点数收敛。
36
+
37
+ ## [0.2.2] - 2026-08-09
38
+
39
+ a11y 无障碍巡检专项 + Phase 5 体系债务清理收官。
40
+
41
+ ### 新增
42
+
43
+ - **datepicker/datetimepicker 键盘网格导航**:日期格 APG 方向键导航(←/→ 逐日、↑/↓ 逐周、Home/End 行首行尾),跨月边界自动翻页并聚焦对应日期。
44
+ - **chart dataZoom 键盘化**:缩放窗口与左右手柄支持键盘操作(role=slider + 方向键步进 + Home/End 直达边界),`aria-valuenow` 实时同步,复用共享 `bindZoomKeyboard` helper。
45
+ - **分页焦点保持**:pagination 与 table pager 重绘后焦点不丢失(翻页按钮重建时焦点落回同位置页码)。
46
+
47
+ ### 修复
48
+
49
+ - **menu 变体纳入白名单**:`v:horizontal`/`v:inline` 迁入 renderer `VARIANTS` 机制,与全局变体体系一致。
50
+ - **parser**:`BOOLEAN_ATTRS` 重复的 `'open'` 去重。
51
+ - **table.js**:`'\x00SKELETON\x00'` 哨兵改为 `'\u0000SKELETON\u0000'` 转义写法,源码不再有裸 NUL 字节。
52
+ - **禁用态点击闸门**:`aria-disabled` 元素不再触发 `clk` 回调(鼠标/键盘同口径)。
53
+ - **a11y 巡检批量修复**(~60 处):tabs/menu 补 ARIA 角色与 roving tabindex;灯箱、tag 关闭钮、file-tree 折叠钮键盘可达;popover/command 面板焦点管理完善;chart SVG 统一 `role="img"`。
54
+
55
+ ### 变更
56
+
57
+ - **ARIA 语义统一**:开关类控件 `aria-pressed` 统一调整为 `aria-checked`。
58
+ - **i18n 字典扩充**:新增 17 条 chrome 文案(lightbox 上下张、sidebar 折叠、canvas 面板、pagination 翻页、carousel、numinput 增减、transfer 移动/全选、calendar 翻月、table 全选、pwd 显隐),zh-CN / en-US 双份。
59
+ - **DSL 参考**:`dis:false` 语义坑写入 `demo/TOKUI_DSL_REFERENCE.md` §3 与 `docs/guide/dsl-syntax.md` 双语醒目警告;steps `vd:`/`s:` 与 tabs 值语义 `v` 在 §4/§8.1 明示。
60
+ - **文档示例完善**:h1-h6 标题补 `bg`/`fc` 配色属性说明与装饰变体(ribbon/badge/pill 等)示例;masonry 瀑布流示例改为多卡片不同高度;editable 示例改为规范嵌套段落形式(`docs/components/` 中英双语同步)。
61
+
5
62
  ## [0.2.1] - 2026-08-03
6
63
 
7
64
  Phase 4 新组件补位 + P2 社区组件落地,配色体系整体柔化。