iter: b03 新增 skeleton 骨架屏组件(三形状占位 + 扫光 + reduced-motion 兜底)

This commit is contained in:
HIsheR
2026-10-23 15:53:34 +08:00
parent ece38bcac9
commit 28820574e8
11 changed files with 162 additions and 10 deletions
+25 -2
View File
@@ -1,6 +1,6 @@
# @ui-arch 组件库 Agent 文档(无图形版)
> 自动生成于 2026-10-23T07:49:42.422Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 自动生成于 2026-10-23T07:52:40.603Z,数据源:各包 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
18 个 DOM 组件,统一用法:组件是普通函数,传入 props 返回 DOM 节点;需要状态时先创建 signal 再双向绑定。引入 CSS:import '@ui-arch/ui/ui.css'(内部已消费 tokens)。
19 个 DOM 组件,统一用法:组件是普通函数,传入 props 返回 DOM 节点;需要状态时先创建 signal 再双向绑定。引入 CSS:import '@ui-arch/ui/ui.css'(内部已消费 tokens)。
### button — 按钮 Button
@@ -260,6 +260,28 @@ alert({ message: '操作可能存在风险', variant: 'warning' })
现场演示:apps/docs/demo.html#sec-feedback
### skeleton — 骨架屏 Skeleton
参数:
- variant:'text' | 'rect' | 'circle' —— 占位形状;缺省 rect(整块矩形)
- rows:number —— text 形状的行数;缺省 3,末行自动缩短模拟段落
示例:
```
skeleton({ variant: 'text', rows: 3 }); skeleton({ variant: 'circle' }); skeleton({ variant: 'rect' })
```
手把手:
1. 数据加载期间用 skeleton 顶替真实内容,加载完成后整体替换
2. 文本段落用 variant: 'text' + rows 控制行数,头像用 'circle',卡片/图片区域用 'rect'
3. 占位块自带扫光动画,reduced-motion 用户自动静态化为纯灰块
4. 组合布局:skeleton 是普通 DOM,可放进 card / row 等任意容器
现场演示:apps/docs/demo.html#sec-skeleton
### toast — 消息提示 Toast
参数:
@@ -469,6 +491,7 @@ API 速览:
- alert(props):提示条,variant = info | success | warning | danger
- toast.info/success/warning/error(message, duration?):消息提示工厂,右上角堆叠,默认 3s 自动消失,出入场微动画;showToast(props) 为完整入参版本
- tooltip(props, trigger):悬浮提示,包裹触发器,hover / focus 延迟 150ms 出场,移出 / 失焦 / Esc 收起
- skeleton(props):骨架屏占位,variant = text | rect | circle,text 支持 rows 多行,扫光微动画
- spinner(props):加载指示器,size 控制直径
- progress(props):进度条,轨道 + 渐变流动填充,value 信号驱动 0-100,满格切 success 色
- tabs(props):标签页,active 信号双向绑定,滑动指示条 + 方向键环形导航,支持禁用页签