iter: b01 新增 tooltip 悬浮提示组件

- packages/skin/ui/src/tooltip.ts:包裹式 API tooltip(props, trigger),hover/focus 150ms 延迟出场,移出/失焦/Esc 收起
- types.ts 增 TooltipProps;index.ts 导出;ui.css 增气泡样式(纯 --ua-* 令牌 + 出入场过渡 + reduced-motion 兜底)
- ua.manifest.json / llms-full.txt / .ua/index.json / llms.txt 同步;demo 增 sec-tooltip 区块
- backlog b01 置 done,iterations.log 留痕
This commit is contained in:
HIsheR
2026-10-23 15:34:23 +08:00
parent e9165ead18
commit a57577a995
13 changed files with 228 additions and 12 deletions
+29 -2
View File
@@ -1,6 +1,6 @@
# @ui-arch 组件库 Agent 文档(无图形版)
> 自动生成于 2026-10-23T06:57:51.085Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 自动生成于 2026-10-23T07:34:01.200Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
## 快速上手
@@ -40,7 +40,7 @@
## @ui-arch/ui(skin-dom)v0.1.0
16 个 DOM 组件,统一用法:组件是普通函数,传入 props 返回 DOM 节点;需要状态时先创建 signal 再双向绑定。引入 CSS:import '@ui-arch/ui/ui.css'(内部已消费 tokens)。
17 个 DOM 组件,统一用法:组件是普通函数,传入 props 返回 DOM 节点;需要状态时先创建 signal 再双向绑定。引入 CSS:import '@ui-arch/ui/ui.css'(内部已消费 tokens)。
### button — 按钮 Button
@@ -260,6 +260,32 @@ alert({ message: '操作可能存在风险', variant: 'warning' })
现场演示:apps/docs/demo.html#sec-feedback
### tooltip — 悬浮提示 Tooltip
参数:
- content(必填):string —— 提示文案(纯文本)
- placement:'top' | 'bottom' —— 气泡方位;缺省 top(触发器上方)
- delay:number —— 出场延迟毫秒;缺省 150,传 0 立即显示
- trigger(必填):HTMLElement —— 第二个参数:被包裹的触发器元素(按钮 / 输入框等任意 DOM)
示例:
```
tooltip({ content: '保存后立即生效' }, button({ label: '保存', onClick: save }))
```
手把手:
1. 先创建触发器元素,如 const btn = button({ label: '保存' })
2. 用 tooltip(props, trigger) 包一层:返回带气泡的包裹元素,原触发器仍是独立节点
3. 鼠标移入或键盘聚焦约 150ms 后出场,移出 / 失焦立即收起;按 Esc 可立刻关闭
4. 气泡默认在上方,空间不足或需要避让时传 placement: 'bottom'
5. 气泡 pointer-events: none 不抢指针;判读依赖 aria-describedby + role='tooltip',读屏可读
6. 只做展示:不要在气泡里放可点击元素,需要交互请用 modal 或自绘弹层
现场演示:apps/docs/demo.html#sec-tooltip
### spinner — 加载指示器 Spinner
参数:
@@ -418,6 +444,7 @@ API 速览:
- card(props, ...children):卡片容器
- badge(props):徽标,variant = default | success | warning | danger
- alert(props):提示条,variant = info | success | warning | danger
- tooltip(props, trigger):悬浮提示,包裹触发器,hover / focus 延迟 150ms 出场,移出 / 失焦 / Esc 收起
- spinner(props):加载指示器,size 控制直径
- progress(props):进度条,轨道 + 渐变流动填充,value 信号驱动 0-100,满格切 success 色
- tabs(props):标签页,active 信号双向绑定,滑动指示条 + 方向键环形导航,支持禁用页签