From 1dca26901b617d53403c2a7a1c10cfb0c7bcf73a Mon Sep 17 00:00:00 2001 From: HIsheR Date: Mon, 26 Oct 2026 19:53:35 +0800 Subject: [PATCH] =?UTF-8?q?chore(backlog):=20=E8=AE=B0=E5=BD=95=20g213=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ua/backlog.json | 9 +++++++++ .ua/iterations.log | 1 + 2 files changed, 10 insertions(+) diff --git a/.ua/backlog.json b/.ua/backlog.json index 341354a..48e150f 100644 --- a/.ua/backlog.json +++ b/.ua/backlog.json @@ -2303,6 +2303,15 @@ "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 窄容器 + 八页签 + 当前值回显", "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" } ] } diff --git a/.ua/iterations.log b/.ua/iterations.log index 2004032..321dee1 100644 --- a/.ua/iterations.log +++ b/.ua/iterations.log @@ -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: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:53:33+08:00","id":"g213","result":"done","commit":"3505449","summary":"新增 timePicker(70 个组件):时 / 分两列弹层,HH:mm 双向绑定、minuteStep 可配、激活格居中滚动、列内 ↑↓/Home/End 导航,走 Esc 栈与 flip 翻转"}