chore(backlog): 记录 g213 完成

This commit is contained in:
HIsheR
2026-10-26 19:53:35 +08:00
parent 350544927d
commit 1dca26901b
2 changed files with 10 additions and 0 deletions
+9
View File
@@ -2303,6 +2303,15 @@
"status": "done", "status": "done",
"notes": "tabs.ts 新增 revealActive:先判 scrollWidth > clientWidth(无溢出直接返回),再判激活外壳是否完整落在 [scrollLeft, scrollLeft+clientWidth] 内,被裁才滚且就近对齐(左裁补 left-8、右裁补 right-clientWidth+8),目标钳在 [0, max];只调 head.scrollTo,不走 scrollIntoView 以免带动页面;behavior 依 prefers-reduced-motion 选 smooth/auto;sync 里指示条摆位后调用,effect 与 trackSize 两条路径都覆盖;manifest 补一条手把手(含「已可见不动手」与降动效说明),demo 加 320px 窄容器 + 八页签 + 当前值回显", "notes": "tabs.ts 新增 revealActive:先判 scrollWidth > clientWidth(无溢出直接返回),再判激活外壳是否完整落在 [scrollLeft, scrollLeft+clientWidth] 内,被裁才滚且就近对齐(左裁补 left-8、右裁补 right-clientWidth+8),目标钳在 [0, max];只调 head.scrollTo,不走 scrollIntoView 以免带动页面;behavior 依 prefers-reduced-motion 选 smooth/auto;sync 里指示条摆位后调用,effect 与 trackSize 两条路径都覆盖;manifest 补一条手把手(含「已可见不动手」与降动效说明),demo 加 320px 窄容器 + 八页签 + 当前值回显",
"domain": "tune" "domain": "tune"
},
{
"id": "g213",
"title": "新增 timePicker 时间选择组件",
"motivation": "datePicker 只覆盖日期维度,一天内的时刻(预约、值班、定时任务)没有可用组件;原生 input[type=time] 在各浏览器外观不一、步长与暗色都不可控,与自绘弹层的既有约定也不一致。",
"acceptance": "新增 timePicker(props):时 / 分两列自绘弹层,value 信号双向绑定 HH:mm,minuteStep 可配(缺省 5),当前值所在格高亮并滚到列中部,↑↓/Home/End 列内导航、Esc / 点外部收起且归还焦点;走 overlay 的 Esc 栈与 bindOutside、flip 做空间翻转;样式只消费 --ua-* 令牌,禁止新增硬编码阴影/时长/字号,npm run audit:visual 各类计数不增;10 处落点(实现 / types / index / css / manifest exports / manifest docs / demo / README 清单与分组 / sync-counts / docs)齐全;npm run check 全绿。",
"status": "done",
"notes": "timePicker.ts 113 行:pad 提为模块级纯函数(避免 const TDZ),commit 只在值变化时派发 onChange;列内导航 navigate 复用于时/分两列(↑↓ 环形、Home/End 直达);reveal 用 offsetTop 算 scrollTop 让激活格落到列中部,不走 scrollIntoView 以免带动页面;复用 overlay 的 bindOutside / pushOverlay 与 position 的 flip;ui.css 新增 .ua-timepicker-* 段全部消费令牌(control-h-md / radius-md / shadow-2 / duration-fast / z-dropdown / tint-accent),带 prefers-reduced-motion 兜底,audit:visual 十一类仍为 0;manifest exports 72 条 + docs.components 70 项(props 与 types 双向过 verify),demo 增 sec-timepicker(受控 15 分钟步长 + 禁用态 + 当前值回显),README 清单与分组补名,sync-counts 三处计数 69→70,docs 重生成",
"domain": "new"
} }
] ]
} }
+1
View File
@@ -257,3 +257,4 @@
{"ts":"2026-10-26T19:47:23+08:00","id":"g210","result":"done","commit":"053f389","summary":"滚动条令牌化:新增 color.scrollbar / scrollbarHover 双令牌(含暗色覆盖),13 个滚动容器统一 thin + 令牌拇指、WebKit 伪元素胶囊拇指与悬停加深,audit:visual 十一类计数维持 0"} {"ts":"2026-10-26T19:47:23+08:00","id":"g210","result":"done","commit":"053f389","summary":"滚动条令牌化:新增 color.scrollbar / scrollbarHover 双令牌(含暗色覆盖),13 个滚动容器统一 thin + 令牌拇指、WebKit 伪元素胶囊拇指与悬停加深,audit:visual 十一类计数维持 0"}
{"ts":"2026-10-26T19:49:12+08:00","id":"g211","result":"done","commit":"fd2e951","summary":"verify 新增 checkTokenParity:tokens.json color 键折算成 --ua-color-* 后与 tokens.css 双向查漏,并逐项比对亮/暗值;负向自检(改值、删键)均能报错点名变量"} {"ts":"2026-10-26T19:49:12+08:00","id":"g211","result":"done","commit":"fd2e951","summary":"verify 新增 checkTokenParity:tokens.json color 键折算成 --ua-color-* 后与 tokens.css 双向查漏,并逐项比对亮/暗值;负向自检(改值、删键)均能报错点名变量"}
{"ts":"2026-10-26T19:50:43+08:00","id":"g212","result":"done","commit":"6ccc341","summary":"tabs 激活页签自动回拉:溢出时只滚 .ua-tabs-head、就近对齐留 8px 边、已可见不动手、减弱动效直接跳位;demo 增八个页签窄容器演示"} {"ts":"2026-10-26T19:50:43+08:00","id":"g212","result":"done","commit":"6ccc341","summary":"tabs 激活页签自动回拉:溢出时只滚 .ua-tabs-head、就近对齐留 8px 边、已可见不动手、减弱动效直接跳位;demo 增八个页签窄容器演示"}
{"ts":"2026-10-26T19:53:33+08:00","id":"g213","result":"done","commit":"3505449","summary":"新增 timePicker(70 个组件):时 / 分两列弹层,HH:mm 双向绑定、minuteStep 可配、激活格居中滚动、列内 ↑↓/Home/End 导航,走 Esc 栈与 flip 翻转"}