iter(g78): 新增 space 间距容器组件

This commit is contained in:
HIsheR
2026-10-26 12:55:53 +08:00
parent 1de7ec3166
commit b9261fb4ab
13 changed files with 198 additions and 8 deletions
+8
View File
@@ -980,6 +980,14 @@
"acceptance": "npm run changelog 重新生成(226 提交),changelog:check 不再报漂移;npm run check 全绿",
"status": "done",
"notes": "自补:发版前刷新步骤,按 g64 约定的方式执行"
},
{
"id": "g78",
"title": "新增 space 间距容器组件",
"motivation": "库里 56 个组件都在各自实现里写 margin/gap,「一排按钮统一间距」「工具栏两端撑开」这类布局诉求没有承载物,演示页与业务方只能重复拼 style",
"acceptance": "新增 space(props, ...children):direction / size(sm|md|lg 走令牌,数字按像素)/ align / justify / wrap / block;manifest 参数表 + 手把手步骤 + api.exports 登记;demo 有 sec-space 区块真实调用;README 计数与分组同步;npm run check 全绿",
"status": "open",
"notes": "自补:布局基础件缺失;间距一律走 --ua-space-* 令牌,几何用内联 style 不进皮肤样式表"
}
]
}
+46 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "ui-arch-registry-index/0.1",
"generatedAt": "2026-10-26T04:40:12.953Z",
"generatedAt": "2026-10-26T04:55:25.133Z",
"repoRoot": ".",
"packages": [
{
@@ -172,6 +172,7 @@
"rate(props):评分星标,value 信号双向绑定,hover 预览移出还原,键盘方向键调节,max 可配",
"empty(props):空状态占位,title/description 可选,action 放操作区",
"divider(props):分隔线,水平/垂直两种方向,可带居中文案标签,dashed 切虚线",
"space(props):间距容器,flex gap 统一子元素间距,direction / size / align / justify / wrap / block 可调",
"modal(props, ...children):弹窗,open 信号驱动显隐,Esc / 遮罩 / × 关闭,size 三档宽度,footer 提供底部操作区",
"drawer(props, ...children):抽屉,open 信号驱动侧滑面板,placement 左右可配、width 可调、footer 操作区,遮罩 / × / Esc 关闭",
"form(props, items):表单容器,布局 + 聚合校验,全部通过才触发 onSubmit",
@@ -1424,6 +1425,50 @@
"工具栏内用 vertical: true 的行内竖线,dashed: true 切虚线弱化分隔感"
]
},
{
"id": "space",
"title": "间距容器 Space",
"demo": "sec-space",
"props": [
{
"n": "direction",
"t": "'horizontal' | 'vertical'",
"d": "主轴方向;缺省 horizontal 横排"
},
{
"n": "size",
"t": "'sm' | 'md' | 'lg' | number",
"d": "子元素间距:三档走 --ua-space-* 令牌,数字按像素;缺省 md"
},
{
"n": "align",
"t": "'start' | 'center' | 'end' | 'baseline'",
"d": "交叉轴对齐;缺省 center,按钮与文字混排不错位"
},
{
"n": "justify",
"t": "'start' | 'center' | 'end' | 'between'",
"d": "主轴分布;缺省 start,between 两端撑开"
},
{
"n": "wrap",
"t": "boolean",
"d": "空间不足是否换行;缺省 false"
},
{
"n": "block",
"t": "boolean",
"d": "是否占满父容器宽度;缺省按内容收缩"
}
],
"example": "space({ size: 'lg' }, button({ label: '保存' }), button({ label: '取消', variant: 'ghost' })) / space({ direction: 'vertical', align: 'start' }, ...)",
"steps": [
"把一排需要统一间距的元素交给 space 托管,不再各自写 margin",
"调间距:size 传 sm/md/lg 走令牌,需要精确像素时直接给数字",
"竖排用 direction: 'vertical',配 align: 'start' 让子元素左对齐",
"工具栏两端撑开用 justify: 'between' + block: true;窄屏放不下时加 wrap"
]
},
{
"id": "pagination",
"title": "分页器 Pagination",