iter(g07): 新增 timeline 时间线组件

This commit is contained in:
HIsheR
2026-10-26 10:17:38 +08:00
parent 511a3901a7
commit db96a30439
12 changed files with 278 additions and 12 deletions
+40 -3
View File
@@ -1,6 +1,6 @@
{
"$schema": "ui-arch-registry-index/0.1",
"generatedAt": "2026-10-23T11:03:12.689Z",
"generatedAt": "2026-10-26T02:16:50.161Z",
"repoRoot": ".",
"packages": [
{
@@ -176,7 +176,8 @@
"form(props, items):表单容器,布局 + 聚合校验,全部通过才触发 onSubmit",
"formItem(props, control):表单字段,label + 必填红星 + 规则校验 + 错误区,返回 { el, validate } 句柄",
"dataTable(props):数据表格,粘性表头 / 行选择(全选三态)/ 排序 / 筛选 / 分页 / 空状态;loading 为真时数据行换骨架行且筛选/翻页禁用,内核为 table-core",
"image(props):图片,缩略图点击 / 回车开遮罩大图预览(Esc 或点击遮罩关闭),width 控制缩略宽"
"image(props):图片,缩略图点击 / 回车开遮罩大图预览(Esc 或点击遮罩关闭),width 控制缩略宽",
"timeline(props):时间线,items 按序渲染纵向事件流(标题 / 时间 / 正文 + 语义色节点),mode 控制轴线左右,pending 追加进行中节点"
],
"keyTypes": [
"ButtonProps",
@@ -213,7 +214,9 @@
"SliderProps",
"TagProps",
"DrawerProps",
"AvatarProps"
"AvatarProps",
"TimelineItem",
"TimelineProps"
]
},
"usage": "const checked = signal(false); checkbox({ label: '同意', checked }); const open = signal(false); modal({ title: '确认', open }, '内容')",
@@ -1579,6 +1582,40 @@
"需要独立分页器联动时传 page 信号:const page = signal(1),dataTable({ page }) 与 pagination({ page }) 共用",
"需要批量操作时传 selected 信号:内部勾选实时写回,外部置空或赋值即同步整表(跨页保留,按 rowKey 存)"
]
},
{
"id": "timeline",
"title": "时间线 Timeline",
"demo": "sec-timeline",
"props": [
{
"n": "items",
"t": "TimelineItem[]",
"r": 1,
"d": "条目列表,按时间顺序自上而下;每项含 title(必填)、content、time、variant"
},
{
"n": "mode",
"t": "'left' | 'right'",
"d": "轴线与节点所在侧;缺省 left(内容在右),right 时内容左对齐轴线居右",
"df": "left"
},
{
"n": "pending",
"t": "boolean",
"d": "末尾追加虚线「进行中…」节点,表示流程尚未结束;缺省 false",
"df": "false"
}
],
"example": "timeline({ items: [{ title: '提交审批', time: '09:12', variant: 'success' }, { title: '财务复核', time: '10:30', content: '等待张工处理' }], pending: true })",
"steps": [
"事件流按时间顺序排(组件不做排序):较早的条目放前面,最新的放最后",
"variant 只承载语义:success 完成、warning 待处理、danger 失败、default 普通记录(节点色走 --ua-* 令牌,随暗色主题变化)",
"time 是纯展示文案,格式自由('09:12' / '10-23 18:00'),组件不做日期解析",
"流程未结束时传 pending: true,末尾自动补一个虚线脉冲节点,完成后置回 false 即消失",
"需要轴线居右(如右侧栏时间流)时传 mode: 'right',条目与节点整体镜像",
"content 为纯文本;需要按钮等交互内容时改用 accordion / card 组合"
]
}
]
},