@jboltai/tokui 0.2.2 → 0.2.4
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 +53 -0
- package/dist/tokui.cjs +13 -13
- package/dist/tokui.cjs.map +1 -1
- package/dist/tokui.css +1 -1
- package/dist/tokui.mjs +1333 -1046
- package/dist/tokui.mjs.map +1 -1
- package/dist/tokui.umd.js +13 -13
- package/dist/tokui.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/index.d.ts +7 -0
- package/src/server/tokui-builder.d.ts +8 -0
- package/src/server/tokui-builder.js +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.2.4] - 2026-08-18
|
|
6
|
+
|
|
7
|
+
高级网格布局系统 grid/cell + 子树级主题 + parser 引号容错。
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- **grid/cell 高级网格布局**(与 12 栅格 row/col 并行的新布局系统):`grid` 容器支持 `cols`/`rows` 轨道定义(纯数字 `N` → `repeat(N,1fr)`;`auto:180px` → `auto-fill` 自适应列数;显式列表支持 `fr`/`px`/`%`/`minmax()`/`fit-content`,白名单校验防 CSS 注入)、`areas` 模板区域(`|` 分行、`.` 空位)、`gap`/`gx`/`gy`、`h`/`minh`、变体 `v:dense`/`flush`;`cell` 子项支持 `area`(命名区域落位)、`c`/`r`(跨列/跨行,`N` 或 `"1/3"` 线号写法)、`align`/`justify`。`grid` 入 parser `CONTAINERS`,`cols` 属性在 `_emitStreaming`/`_emitBuffered` 两处加自闭合豁免。Builder 新增 `.grid(attrs)`/`.cell(attrs)`(含 `.d.ts`)。
|
|
12
|
+
- **row/col 增强**:`row` 新增 `gutter`/`gy`(行列间距);`col` 新增 `offset`(1-11,clamp 不超 12)与 `rspan`(行高跨距 1-12)。
|
|
13
|
+
- **子树级主题**:`grid`/`cell`/`card` 支持 `theme` 属性(default/dark/modern/modern-dark),落 `data-tokui-theme` 到元素自身,主题令牌对自身及后代级联——车机 HMI 等局部暗色场景不再依赖臆造的 `bg:`/`fc:` 属性;`.tokui-grid[data-tokui-theme]` 自带底色。
|
|
14
|
+
- **stat 底部小标签**:`stat` 支持 `l` 属性(`.tokui-stat__label`),存量 `l:` 写法此前被静默丢弃。
|
|
15
|
+
- **parser 引号容错**:①属性值内「空格+已知 key+冒号」误拆分修复(引号只开不关时的吞噬);②`findCloseBracket`/`findTrCloseBracket` 对紧跟 `]` 的悬空引号不切换引号状态;③`_flush` 期间(`_flushing`)引号不平衡的标签允许朴素 `]` 闭合——AI 生成 `l:"商品金额 tx:¥6,299"` 这类缺引号 DSL 不再整树解析崩坏。
|
|
16
|
+
- **demo 布局案例扩容**:新增 9 个布局案例——圣杯布局、监控大屏(grid 行列混跨图表墙)、车机 HMI(不规则区域拼接中控)、auto-fill 自适应卡片墙、杂志混排(cell 跨格 + offset/rspan),及 AI 对话场景找加油站/找酒店/沿途服务区 3 个 POI 数据布局;NAV_DATA 拆分为「布局系统」与「容器类组件」两组。
|
|
17
|
+
- **文档对齐**:`docs/components/layout.md` 双语新增「高级网格 grid/cell」章(含固定轨道溢出警示:chart `h` 是 viewBox 非实高、薄轨道不放 card)、`demo/TOKUI_DSL_REFERENCE.md` §6.5、`demo/llms.txt`、`docs/api/builder.md` 双语;CLAUDE.md `cols` 豁免名单、AGENTS.md 布局条目同步。
|
|
18
|
+
|
|
19
|
+
### 修复
|
|
20
|
+
|
|
21
|
+
- **grid 布局渲染不撑起外层**:修复圣杯/HMI 等 grid 案例中内容溢出盖住 footer、外层 card 不被撑开的问题;`.tokui-cell > :only-child` 独生子女撑满 cell(`height:100%`)。
|
|
22
|
+
- **无标题 card 空 header**(demo 页):源码按钮注入不再为无 `tt` 的 card 创建空 header 区域,改绝对定位右上角(`demo/assets/js/demo.js` injectCardSourceButtons),消除 card 顶部空白带。
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [0.2.3] - 2026-08-13
|
|
26
|
+
|
|
27
|
+
AI 对话组件专项(缺陷修复 + 令牌体系统一 + 视觉重设计 + upd/事件能力补齐 + 流式性能)。
|
|
28
|
+
|
|
29
|
+
### 新增
|
|
30
|
+
|
|
31
|
+
- **plan-step 支持 upd 推进**:`plan-step` 落 `id` 并新增 `_update`——`[upd id:step1 status:doing]` 即可推进步骤;`status` 同义词自动归一(`running`→`doing`、`complete`→`done`、`fail`→`error` 等),`tt`/`desc` 同步可改。
|
|
32
|
+
- **AI 组件 id 锚点补全**:`bubble`/`typing`/`terminal`/`diff`/`artifact`/`quick-reply`/`msg-actions`/`think`/`think-chain` 的 `id` 均落 DOM,作 `del`/`ins` 定位锚点(typing→正文切换等编排场景)。
|
|
33
|
+
- **tool-call 可折叠**:新增 `collapsed` 布尔属性(入 parser `BOOLEAN_ATTRS`)初始收起 body;header 点击 / Enter/Space 随时收展(`aria-expanded` 同步),状态徽章常显,body 只切 display 不销毁内容。
|
|
34
|
+
- **`streamAnimation` 公共选项**:`new TokUI({ streamAnimation:false })` 关闭流式入场动画(默认 true;不影响一次性 `render()`)。
|
|
35
|
+
- **新 i18n key**(zh-CN / en-US 双份):`agent.defaultName`、`terminal.title`、`sandbox.title`、`canvas.title`、`toolCall.defaultName`、`artifact.codeTab`、`artifact.previewTab`、`testResult.total`(含 `{n}` 插值)。
|
|
36
|
+
- **新测试文件**:`tests/test-cleanup.js`(`_registerCleanup` 清理机制)、`tests/test-theme-tokens.js`(主题令牌引用完整性扫描)、`tests/test-stream-perf.js`(fade-in 闸门 / 流式 Text 合并)。
|
|
37
|
+
|
|
38
|
+
### 修复
|
|
39
|
+
|
|
40
|
+
- **chat-input upd 全通路**:`id` 落 DOM,`[upd id:x dis:true]` / `[upd id:x streaming:false]` 真实生效;`dis:'false'` 字符串按布尔语义视为「主动启用」;流式 `_slot` 由 textarea 改挂 actions 区(textarea 纯文本内容模型不渲染子元素)。
|
|
41
|
+
- **artifact 复制保留换行**:复制改用渲染期留档的原始文本(含流式追加),不再读丢失 `\n` 的 `textContent`。
|
|
42
|
+
- **callout / agent 流式落位**:callout 补 `_tokuiType` 盖章(流式闭合类型匹配);agent 无条件建 body 插槽,open 后流入子节点落位正确。
|
|
43
|
+
- **监听器泄漏**:renderer 新增 `_registerCleanup(el, fn)` 清理机制(`destroy()` 统一调用,要求幂等);affix / backtop / command hotkey 的 window/document 监听接入解绑。
|
|
44
|
+
- **sandbox 流式**:`lang:html` 分支流式期间只累积文本、闭合时才一次性写 iframe srcdoc;非 html 分支流式文本落入 pre 代码区。
|
|
45
|
+
- **tool-call upd 幂等**:`result`/`error` 重复推送就地更新既有节点,不再堆叠。
|
|
46
|
+
- **command**:键盘 ↑↓ 与鼠标悬停选中状态同步;选中 emit 合并为单一通路(同一 item 一次选中只 emit 一轮);分组显隐改数据驱动;带 `v:` 项的显示文本不再被 value 冲掉。
|
|
47
|
+
|
|
48
|
+
### 变更
|
|
49
|
+
|
|
50
|
+
- **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 板)。
|
|
51
|
+
- **视觉重设计**(对齐 card 调性):bubble user 浅灰气泡、AI 头像淡底、system 更轻;suggestions 去左条与双层影(1px border + hover stripe);chat-input 边框归一 1px + 单层 focus 环;welcome 降饱和;terminal 深色令牌化;source 轻量化(去实色 primary 序号圆/主题色标题/底色边框,改纯文本行:muted 序号与标题、hover 才显链接色,视觉权重低于正文)。
|
|
52
|
+
- **事件出口统一**: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` 通道行为保持不变。
|
|
53
|
+
- **error/danger 双类名补齐**:tool-call / agent / think-step 的 `--error` 规则双写 `--danger`,DSL 写 `status:danger` 不再失色。
|
|
54
|
+
- **流式 fade-in 收敛**:`tokui-fade-in` 仅顶层流式挂载元素挂载(嵌套元素与文本 chunk 不挂),动画改 opacity-only 关键帧。
|
|
55
|
+
- **流式 Text 合并**:连续文本 chunk 合并进同一 Text 节点(`textContent +=`),大对话 DOM 节点数收敛。
|
|
56
|
+
|
|
5
57
|
## [0.2.2] - 2026-08-09
|
|
6
58
|
|
|
7
59
|
a11y 无障碍巡检专项 + Phase 5 体系债务清理收官。
|
|
@@ -235,6 +287,7 @@ Phase 4 新组件补位 + P2 社区组件落地,配色体系整体柔化。
|
|
|
235
287
|
- `test-layout.js` 的 `item content + nested list` 断言改为符合真实 DOM 聚合语义。
|
|
236
288
|
- `src/index.js` 与 `src/components/index.js` 的模块求值期裸读 `window.TokUI._internal` 改为运行期懒解析,SSR 导入不再依赖 bundler 保留 `require` 的怪癖。
|
|
237
289
|
|
|
290
|
+
[0.2.4]: https://github.com/jboltai/tokui/releases/tag/v0.2.4
|
|
238
291
|
[0.2.1]: https://github.com/jboltai/tokui/releases/tag/v0.2.1
|
|
239
292
|
[0.2.0]: https://github.com/jboltai/tokui/releases/tag/v0.2.0
|
|
240
293
|
[0.1.9]: https://github.com/jboltai/tokui/releases/tag/v0.1.9
|