Files
UI/CHANGELOG.md
T
2026-10-26 14:52:17 +08:00

348 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 变更日志
> 由 `ua changelog` 依据 git 提交史生成,请勿手改;条目按提交时间倒序。
## 迭代
- `48b0f35` iter(g127): 补长表单编辑页组合配方
- `023a2eb` iter(g126): 数字输入补 precision 小数位
- `490c9fa` iter(g125): 开关补 loading 加载态
- `63d3c91` iter(g124): 复选框补 indeterminate 半选态
- `ba102e0` iter(g123): 收尾刷新变更日志
- `72c5d24` iter(g122): 评分组件支持 allowHalf 半星
- `151d901` iter(g121): textField 补 maxCount 字数统计
- `5a6c7a5` iter(g120): 补新增组件落点清单
- `176504b` iter(g119): 空状态支持自定义图标
- `123e7e6` iter(g118): 收尾再刷变更日志
- `6cf4905` iter(g117): 指示条与滑块跟随尺寸重算
- `2ab9406` iter(g116): 抽屉支持非模态模式
- `c2900a4` iter(g115): 新增月历组件 calendar
- `cb2601d` iter(g114): 收尾刷新变更日志
- `ec7aaf0` iter(g113): 吸顶容器支持贴底固定
- `5372fdd` iter(g112): 消息提示支持撤销类操作
- `f40ef6d` iter(g111): 面包屑支持超长路径折叠
- `e042143` iter(g110): 下拉选择支持清空
- `1bf35da` iter(g109): 提示气泡支持触摸点按
- `5601e59` iter(g108): 表单补错误汇总条与 onError
- `48f9465` iter(g107): 新增二次确认气泡 popconfirm
- `c66bcf3` iter(g106): 滚动监听改为卸载自清理
- `f398f09` iter(g105): 标签页支持可关闭页签
- `8e2175d` iter(g104): 留痕校验回查提交真实性
- `e497c16` iter(g103): 区分表格两种空状态
- `abfbb82` iter(g102): 焦点陷阱下沉为共享助手
- `265842e` iter(g101): 新增锚点导航组件 anchor
- `b190718` iter(g100): 收尾刷新变更日志
- `a5d4faf` iter(g99): 加载指示器补可定制播报
- `c32f20c` iter(g98): 弹窗与抽屉补遮罩关闭开关
- `3fe1fe3` iter(g97): 收尾刷新变更日志
- `306fd90` iter(g96): 抽屉支持上下滑出方位
- `7e0612e` iter(g95): 统计数值支持倒计时模式
- `03eab7a` iter(g94): 补充数据表联动导出配方
- `90bba1c` iter(g93): 树形组件支持按标签搜索
- `ac5c5cd` iter(g92): 徽标支持数字角标与红点
- `47756c8` iter(g91): 表单字段补辅助说明 hint
- `1e6898b` iter(g90): 刷新变更日志至最新提交
- `68ca2ba` iter(g89): 演示产物启用保守压缩
- `9a7c46a` iter(g88): 数据表支持导出 CSV
- `cf4ec96` iter(g87): 轮播补焦点暂停与轮播语义
- `a123140` iter(g86): 弹层外部点击监听改按需挂载
- `bd64e43` iter(g85): 进度条补可访问名与语义色
- `db5d38c` iter(g84): 数据表定宽列支持拖拽调宽
- `151b542` iter(g83): 开关改 switch 语义并补可访问名
- `37412b3` iter(g82): 文件选择补类型体积数量校验
- `f3c83e9` iter(g81): 树组件改用 roving tabindex
- `c324afc` iter(g80): 通知悬停与聚焦暂停自动关闭计时
- `2c0b9fd` iter(g79): 表头排序补键盘可达与 scope 语义
- `b9261fb` iter(g78): 新增 space 间距容器组件
- `6b895bf` iter(g77): 刷新 CHANGELOG 至最新提交
- `45a00f6` iter(g76): 文字头像补 role=img 使名称可播报
- `b77eb18` iter(g75): 评分组件键盘可达性与焦点保持
- `640c286` iter(g74): 弹窗与抽屉补 aria-labelledby 标题关联
- `ebd5793` iter(g73): 表格分页区补导航语义与页码播报
- `2aaf30f` iter(g72): 文档站搜索框与结果区补无障碍语义
- `a6d0692` iter(g71): 数据表表头补 aria-sort 三态播报
- `5fb61e1` iter(g70): 冒烟补多列排序、页大小与 reset 重置断言
- `e6cf875` iter(g69): 修正单击排序升降序循环与 getPageInfo 陈旧快照
- `99981fe` iter(g68): alert 增加语义图标与通栏形态
- `cc3c649` iter(g67): tag 支持 checkable 筛选片,选中态与 aria-pressed 同步
- `805b54d` iter(g66): verify 反向校验入参接口字段均已登记文档
- `b7824f7` iter(g65): verify 校验文档 props 落到实现,并补齐漏记字段
- `4ca6f5e` iter(g64): 刷新 CHANGELOG 并说明刷新时机
- `835967e` iter(g63): card 支持标题操作区、底部操作区与悬停态
- `a6cd41c` iter(g62): verify 校验 demo 实际调用每个组件
- `f56ca51` iter(g61): tree 支持勾选多选与父子级联
- `dbdae9f` iter(g60): 新增 multiSelect 多选下拉组件
- `9ef1b41` iter(g59): verify 检测 README 组件清单重复项
- `7684ae2` iter(g58): 新增 affix 固钉组件
- `fcec391` iter(g57): form 校验支持异步规则
- `e6bf801` iter(g56): ua style 增加单文件 200 行门禁
- `e54fdb6` iter(g55): 新增 checkboxGroup 多选组组件
- `818e20e` iter(g54): 新增 watermark 水印组件
- `697d354` iter(g53): 新增 tour 引导漫游组件
- `81ea189` iter(g52): 新增 colorPicker 颜色选择组件
- `b93b6dd` iter(g51): 新增 backTop 返回顶部按钮
- `e270e09` iter(g50): 新增 datePicker 日期选择组件
- `cb8a9ea` iter(g49): 新增 autoComplete 自动补全组件
- `d7bfabb` iter(g48): 新增 splitter 可拖拽分栏容器
- `d81b724` iter(g47): 新增 cascader 级联选择组件
- `1fe76e2` iter(g46): 新增 transfer 穿梭框组件
- `0a0dc7a` iter(g45): modal/drawer/image 打开时锁定背景滚动
- `b50315b` iter(g44): accordion 标题行方向键导航
- `fc8a541` iter(g43): select/menu/popover/image 的 Esc 接入统一弹层栈
- `314366a` iter(g42): pagination 支持每页条数切换
- `cf25164` iter(g41): verify 校验 README 分组行与清单一致
- `d685f66` iter(g40): 修表单双提交并支持 Enter 提交
- `fa8b0b8` iter(g39): 统一键盘焦点描边并补可访问性约定
- `82909c5` iter(g38): select 支持 searchable 搜索过滤
- `3143a8b` iter(g37): llms-full 增加组合配方章节
- `8ac71c4` iter(g36): 新增 result 结果页组件
- `8b5f355` iter(g35): 新增 notification 通知卡片组件
- `d461a3e` iter(g34): ua info 支持组件 id 查询并输出可读 props 表
- `f20e977` iter(g33): 新增 upload 文件选择组件
- `097f79f` iter(g32): tree 补 ↑↓/Home/End 行间导航
- `4b0dbfe` iter(g31): 新增 tree 树形组件
- `1a161d6` iter(g30): check 链并入 demo 构建并校验产物锚点
- `e5ed297` iter(g29): 新增 carousel 轮播组件
- `d9feeda` iter(g28): 浮层 Esc 逐层关闭,阻止冒泡连带关外层
- `d80e132` iter(g27): 抽出弹层 Esc 栈,多弹层只关最上层
- `6ad0765` iter(g26): verify 增加令牌引用校验并统一令牌来源
- `563730c` iter(g25): 新增 ua tokens 命令与 MCP get_tokens 工具
- `e6b4a84` iter(g24): 新增 list 列表组件(含空状态回落与可点击条目)
- `9e8b435` iter(g23): tabs 支持 Home/End 跳转首末页签
- `9bef9d2` iter(g22): menu 键入字母快跳菜单项
- `c5a4a37` iter(g21): pagination 跳页输入框
- `646fed9` iter(g20): inputNumber 长按连发步进
- `34abe3f` iter(g19): textarea 字数统计
- `44b8697` iter(g18): textField 可清空按钮
- `27d797a` iter(g17): select 键入字母快跳选项
- `a036b0a` iter(g16): image 加载失败占位
- `85988f0` iter(g15): toast 悬停暂停自动关闭
- `00a7b90` iter(g11): 浮层空间不足时自动翻转
- `90d3b64` iter(g13): 新增 ua changelog 生成变更日志
- `b3c3bc7` iter(g14): 演示站目录支持关键字过滤
- `1b75fb4` iter(g12): verify 增加 backlog 与留痕交叉校验
- `2f8ccb6` iter(g10): 新增 statistic 统计数值组件
- `d8d45fc` iter(g09): 新增 descriptions 描述列表组件
- `0e385cd` iter(g08): 新增 segmented 分段控制器组件
- `db96a30` iter(g07): 新增 timeline 时间线组件
- `b6c9489` iter(g06): 组件数门禁覆盖 README
- `9651c39` iter(g05): verify 增加 llms-full 同步校验
- `c0bb8d7` iter(g04): dataTable 筛选框加搜索图标前缀
- `bfa7013` iter(g03): 输入组件补 prefix/suffix 附加块
- `33979b2` iter(g02): 新增 image 图片组件
- `98f557c` iter(g01): ua docs 幂等化防时间戳弄脏工作区
- `a5439fe` iter(f06): 锁文件入库并补全目录树
- `265060f` iter(f05): index 幂等化防时间戳弄脏工作区
- `99ce0cd` iter(f04): commit-lint 收严强制 scope
- `f57da4c` iter(f03): 新增留痕格式门禁 lint-iterations
- `f2fc286` iter(f02): check 链描述补 verify 第六步
- `c19f83b` iter(f01): 组件数漂移纳入 verify 门禁并修正文档
- `c457e0c` iter(e05): 新增 divider 分隔线组件
- `fd4ee01` iter(e04): 新增 empty 空状态组件
- `ee20322` iter(e03): 新增 rate 评分组件
## 功能
- `7072f77` feat(cli): 新增 commit-lint 提交信息校验
## 文档
- `1de7ec3` docs(iteration): 补充多实例错位接力机制
- `62784b1` docs(iteration): 记录调度器粒度限制与自动化改动自检规则
- `dc4bac4` docs: 同步提交规范到 AGENTS/ITERATION/cli 清单
## 维护
- `6a5e12b` chore(backlog): 记录 g127 完成
- `fc58442` chore(backlog): 记录 g126 完成
- `686b0f7` chore(backlog): 记录 g125 完成
- `56e5d18` chore(backlog): 记录 g124 完成
- `85731a2` chore(backlog): 记录 g123 完成
- `0338f21` chore(backlog): 记录 g122 完成
- `f4a5101` chore(backlog): 记录 g121 完成
- `3e1e4ea` chore(backlog): 记录 g120 完成
- `85e6345` chore(backlog): 记录 g119 完成
- `c67b167` chore(backlog): 记录 g118 完成
- `2f9f83e` chore(backlog): 记录 g117 完成
- `dcd5e0e` chore(backlog): 记录 g116 完成
- `9a118f6` chore(backlog): 记录 g115 完成
- `b4ab92e` chore(backlog): 记录 g114 完成
- `b814e47` chore(backlog): 记录 g113 完成
- `5c25e88` chore(backlog): 记录 g112 完成
- `bf1bd22` chore(backlog): 记录 g111 完成
- `f900337` chore(backlog): 记录 g110 完成
- `9abadf0` chore(backlog): 记录 g109 完成
- `d88bcc0` chore(backlog): 记录 g108 完成
- `4d76ba0` chore(backlog): 记录 g107 完成
- `137bf87` chore(backlog): 记录 g106 完成
- `7d57f26` chore(backlog): 记录 g105 完成
- `1132220` chore(backlog): 记录 g104 完成
- `10eb402` chore(backlog): 记录 g103 完成
- `f4701af` chore(backlog): 记录 g102 完成
- `f373b8c` chore(backlog): 记录 g101 完成
- `befed76` chore(backlog): 记录 g100 完成
- `aa16531` chore(backlog): 记录 g99 完成
- `44efe8b` chore(backlog): 记录 g98 完成
- `13266f0` chore(backlog): 记录 g97 完成
- `c8bf4a9` chore(backlog): 记录 g96 完成
- `6e6860a` chore(backlog): 记录 g95 完成
- `5e81cfe` chore(backlog): 记录 g94 完成
- `c82446a` chore(backlog): 记录 g93 完成
- `1b10616` chore(backlog): 记录 g92 完成
- `8e6c84a` chore(backlog): 记录 g91 完成
- `46a90da` chore(backlog): 记录 g90 完成
- `2fc4d17` chore(backlog): 记录 g89 完成
- `ce662bd` chore(backlog): 记录 g88 完成
- `fa07101` chore(backlog): 记录 g87 完成
- `9ff2c7b` chore(backlog): 记录 g86 完成
- `249fa03` chore(backlog): 记录 g85 完成
- `b2beb43` chore(backlog): 记录 g84 完成
- `f5db24a` chore(backlog): 记录 g83 完成
- `ab0f1a5` chore(backlog): 记录 g82 完成
- `9dfe9cf` chore(backlog): 记录 g81 完成
- `ba196b8` chore(backlog): 记录 g80 完成
- `263fbe9` chore(backlog): 记录 g79 完成
- `907b8eb` chore(backlog): 记录 g78 完成
- `9bb0704` chore(backlog): 记录 g77 完成
- `1a913fa` chore(backlog): 记录 g76 完成
- `d487303` chore(backlog): 记录 g75 完成
- `ae9d500` chore(backlog): 记录 g74 完成
- `182158b` chore(backlog): 记录 g73 完成
- `706d863` chore(backlog): 记录 g72 完成
- `6c5e331` chore(backlog): 记录 g71 完成
- `532dcbb` chore(backlog): 记录 g70 完成
- `5c0caeb` chore(backlog): 记录 g69 完成
- `3fe5916` chore(backlog): 记录 g68 完成
- `1cd4731` chore(backlog): 记录 g67 完成
- `173c3d5` chore(backlog): 记录 g66 完成
- `3144295` chore(backlog): 修正 g65 留痕时间格式
- `900ceeb` chore(backlog): 记录 g65 完成
- `9e3d914` chore(backlog): 记录 g64 完成
- `2b91b77` chore(backlog): 记录 g63 完成
- `fd1de1a` chore(backlog): 记录 g62 完成
- `175f6db` chore(backlog): 记录 g61 完成
- `0dd0f50` chore(backlog): 记录 g60 完成
- `184f972` chore(backlog): 记录 g59 完成
- `a0db916` chore(backlog): 记录 g58 完成
- `89cddad` chore(backlog): 记录 g57 完成
- `7f94723` chore(backlog): 记录 g56 完成
- `a755758` chore(backlog): 记录 g55 完成
- `73b37b1` chore(backlog): 记录 g54 完成
- `30f5a45` chore(backlog): 记录 g53 完成
- `bb8c44d` chore(backlog): 记录 g52 完成
- `95b46a0` chore(backlog): 记录 g51 完成
- `1eff67b` chore(backlog): 记录 g50 完成
- `e5c7778` chore(backlog): 记录 g49 完成
- `1fa5933` chore(backlog): 记录 g48 完成
- `5c10eb2` chore(backlog): 记录 g47 完成
- `cdef605` chore(backlog): 记录 g46 完成
- `a650b6d` chore(backlog): 记录 g45 完成
- `7437fed` chore(backlog): 记录 g44 完成
- `c42eb4b` chore(backlog): 记录 g43 完成
- `f0b115d` chore(backlog): 记录 g42 完成
- `39d105a` chore(backlog): 记录 g41 完成
- `931ef70` chore(backlog): 记录 g40 完成
- `78779d7` chore(backlog): 记录 g39 完成
- `b45e6fb` chore(backlog): 记录 g38 完成
- `587ea92` chore(backlog): 记录 g37 完成
- `9466997` chore(backlog): 记录 g36 完成
- `f1703b3` chore(backlog): 记录 g35 完成
- `8711fae` chore(backlog): 记录 g34 完成
- `fe165a3` chore(backlog): 记录 g33 完成
- `052c215` chore(backlog): 记录 g32 完成
- `e203c9e` chore(backlog): 记录 g31 完成
- `4f512b0` chore(backlog): 记录 g30 完成
- `086f145` chore(backlog): 记录 g29 完成
- `84f83df` chore(backlog): 记录 g28 完成
- `b263075` chore(backlog): 记录 g27 完成
- `c6ce184` chore(backlog): 记录 g26 完成
- `d961d57` chore(backlog): 记录 g25 完成
- `ccb99c2` chore(backlog): 记录 g24 完成
- `2b65922` chore(backlog): 记录 g23 完成
- `59dc091` chore(backlog): 记录 g22 完成
- `874c2b9` chore(backlog): 记录 g21 完成
- `e009f5c` chore(backlog): 记录 g20 完成
- `42a954c` chore(backlog): 记录 g19 完成
- `bf05e99` chore(backlog): 记录 g18 完成
- `cfe299c` chore(backlog): 记录 g17 完成
- `2e48d94` chore(backlog): 记录 g16 完成
- `e781e72` chore(backlog): 记录 g15 完成
- `6cd991d` chore(backlog): 记录 g11 完成
- `11ac538` chore(backlog): 记录 g13 完成
- `3161340` chore(backlog): 记录 g14 完成
- `4ffc654` chore(backlog): 记录 g12 完成
- `07b9b75` chore(backlog): 记录 g10 完成
- `cf65939` chore(backlog): 记录 g09 完成
- `086831d` chore(backlog): 记录 g08 完成
- `7cf1f28` chore(backlog): 记录 g07 完成
- `511a390` chore(backlog): 记录 g06 完成
- `8d439f0` chore(backlog): 记录 g05 完成
- `86c72f7` chore(backlog): 记录 g04 完成
- `5131977` chore(backlog): 记录 g03 完成
- `d5ac26a` chore(backlog): 记录 g02 完成
- `0c42c6f` chore(backlog): 记录 g01 完成
- `7ce8bf7` chore(backlog): 记录 f06 完成
- `35c9f00` chore(backlog): 记录 f05 完成
- `fbe0348` chore(backlog): 记录 f04 完成
- `f1363e8` chore(backlog): 记录 f03 完成
- `3fb3cd2` chore(backlog): 记录 f02 完成
- `b9b05f5` chore(backlog): 记录 f01 完成
- `67374c7` chore(backlog): 灌入审计产出的 f01-f06 应修条目
- `cbf1d4a` chore: 留痕补 commit 哈希
- `84d008b` chore: 留痕补 commit 哈希
- `62d4ce6` chore: 留痕补 commit 哈希
- `4f7d1e8` chore: 留痕补 e02 commit 哈希
- `47bea0b` chore: 留痕补 e01 commit 哈希
- `b89d1cd` chore: backlog 记录 d29 done
- `c8154b4` chore: backlog 记录 d27/d28 done
- `734017a` chore: backlog 记录 d26 done
## 其他
- `fc7a1e8` iter: e02 新增 stepper 步骤条组件(三态流转 + active 信号双向绑定 + clickable 回跳)
- `20d7b94` iter: e01 新增 inputNumber 数字输入组件(−/+ 步进 + 键盘上下调节,信号双向绑定,min/max/step 夹取)
- `d7226f4` iter: 协议加时钟硬规范——时长禁止自报估算,预算判断改 date 实测差值
- `f8934ba` iter: d29 menu Home/End 跳转(与 select 键盘导航对称)
- `8e16829` iter: d28 drawer 焦点陷阱(Tab/Shift+Tab 回绕、关闭归还焦点)
- `fac74a3` iter: d27 modal 焦点陷阱(Tab/Shift+Tab 回绕、role=dialog、关闭归还焦点)
- `82f48aa` iter: d26 select 键盘导航(↑↓ 环形移动、Home/End、Esc 回焦触发器)
- `6a5e662` iter: d25 menu 条目支持快捷键提示
- `6efe3ab` iter: d24 重写 README + 组件清单防漂移校验
- `f361a19` iter: d23 alert 标题行 + 可关闭 + role=alert
- `f86da98` iter: d22 新增头像 avatar 组件
- `00a6104` iter: d21 无障碍收尾(aria-label / role / aria-hidden)
- `9cfdb43` iter: d20 progress 支持不确定态
- `4555542` iter: d19 dataTable 选中态受控
- `4012923` iter: d18 硬编码颜色门禁 + 清掉 ui.css 残留 #fff
- `bdc1fec` iter: d17 表单错误态覆盖包裹式控件 + 校验时机事件
- `fa168b9` iter: d16 dataTable 落地列宽 width
- `1c03c81` iter: d15 CLI 包补清单 + 文档组件数纠正
- `d3fc754` iter: d14 新增抽屉 drawer 组件
- `730ee1a` iter: d13 dataTable 列对齐与单元格格式化
- `9eefdcb` iter: d12 新增可关闭标签 tag 组件
- `d1a2864` iter: d11 modal 补 size 档位与 footer 操作区
- `a08f157` iter: d10 toast 手动关闭 + 堆叠上限
- `a11157b` iter: d09 新增滑块 slider 组件
- `1a4b2c1` iter: d08 演示页侧边目录 + 滚动高亮
- `fb9ab88` iter: d07 新增可交互气泡卡片 popover
- `582318a` iter: d06 新增 ua verify 门禁(清单/文档/演示锚点一致性)
- `60c0524` iter: d05 新增面包屑 breadcrumb 组件
- `ccbdcb9` iter: d04 dataTable 接加载态(骨架行 + 交互禁用)
- `df2fb34` iter: d03 新增折叠面板 accordion 组件
- `6b9fa95` iter: d02 select/radioGroup 补 disabled + 修复 select 箭头旋转
- `84277a7` iter: d01 新增下拉菜单 menu 组件(弹层/键盘导航/reduced-motion)
- `f9324dd` iter: c02 textField/textarea 补 disabled 禁用态(布尔或信号绑定)
- `2a5892a` iter: c01 button/checkbox/switch 补 disabled 禁用态(布尔或信号绑定)
- `83bc1e2` iter: b05 文档站 props 表补齐默认值列(df 字段),manifest 驱动链路核查闭环
- `8c9a63b` iter: b04 新增独立 pagination 分页器并与 dataTable 页码联动
- `2882057` iter: b03 新增 skeleton 骨架屏组件(三形状占位 + 扫光 + reduced-motion 兜底)
- `ece38bc` iter: b02 新增 toast 消息提示组件(四语义工厂 + 右上角堆叠 + 3s 自动消失)
- `aaf6fdc` iter: 协议升级为连续迭代+心跳监护模式
- `a57577a` iter: b01 新增 tooltip 悬浮提示组件
- `e9165ea` iter: b01 前置修复——style 检查先剥离字面量,消除 URL 中 // 误判
- `17a4fb1` iter: 新增 Gitea REST API 包装脚本
- `305826e` iter: 新增 Gitea 认证推送包装脚本
- `ccba3db` iter: 自我迭代协议与点子库初始化
- `0de9b6e` init: @ui-arch 私人组件库 monorepo
- `a186d71` Initial commit