iter(g129): 新增排版文本组件 typography
This commit is contained in:
@@ -1388,6 +1388,46 @@
|
||||
"acceptance": "npm run changelog 重新生成(329 提交),changelog:check 一致(提交本条后按约定再差一条,属正常);npm run check 全绿",
|
||||
"notes": "自补:发版前刷新步骤;本次唤起收尾轮,顺带提交 g127 漏带的 llms-full.txt",
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"id": "g129",
|
||||
"title": "新增排版文本组件 typography",
|
||||
"motivation": "文档类页面(详情、说明、条款)目前只能手搓 h/p + 内联样式,标题层级、语义色、多行省略、复制都没有统一入口",
|
||||
"acceptance": "typography 支持 variant(title/text/paragraph) + level + type + 装饰位(strong/underline/delete/mark/code) + align + ellipsis 多行截断 + copyable;标题出语义 h1-h5;样式只消费 --ua-*;manifest/docs/README/demo/llms-full 同步;npm run check 全绿",
|
||||
"status": "open",
|
||||
"notes": "自补:组件补充方向"
|
||||
},
|
||||
{
|
||||
"id": "g130",
|
||||
"title": "新增栅格布局 row / col",
|
||||
"motivation": "页面骨架只能靠 space 与手写 flex,24 栅格、列间距、响应式断点缺失,示例页布局各写一套",
|
||||
"acceptance": "row 提供 gutter 列间距与 justify/align,col 提供 span/offset 与 sm/md 断点;窄屏自动堆叠;样式只消费 --ua-*;文档与演示同步;npm run check 全绿",
|
||||
"status": "open",
|
||||
"notes": "自补:组件补充方向"
|
||||
},
|
||||
{
|
||||
"id": "g131",
|
||||
"title": "新增悬浮操作按钮 floatButton",
|
||||
"motivation": "backTop 只能回顶,页面里「新建 / 帮助 / 客服」这类常驻悬浮入口没有统一件,各处自己 fixed 定位",
|
||||
"acceptance": "floatButton 固定右下角,支持 icon/label/tooltip/badge/点击回调与 position 偏移,键盘可达;样式只消费 --ua-*;文档与演示同步;npm run check 全绿",
|
||||
"status": "open",
|
||||
"notes": "自补:组件补充方向"
|
||||
},
|
||||
{
|
||||
"id": "g132",
|
||||
"title": "@提及输入补 mentions 组件",
|
||||
"motivation": "评论 / 协作场景要 @ 选人,目前只能 textarea + 自己接 autoComplete,光标定位与插入逻辑重复实现",
|
||||
"acceptance": "mentions 在 @ 触发后按光标位置弹候选,↑↓/Enter/Tab 选择、Esc 关闭,选中插入文本并回调 onSelect;受控 value 信号;样式只消费 --ua-*;文档与演示同步;npm run check 全绿",
|
||||
"status": "open",
|
||||
"notes": "自补:组件补充方向"
|
||||
},
|
||||
{
|
||||
"id": "g133",
|
||||
"title": "树形选择补 treeSelect 组件",
|
||||
"motivation": "tree 与 select 都在,但「可搜索的层级下拉选择」缺位,级联选择 cascader 不适配任意深度懒加载场景",
|
||||
"acceptance": "treeSelect 点击开弹层、支持搜索过滤、单选/多选、父子联动、清空,弹层沿用 overlay 的 Esc 栈与外部点击收起;样式只消费 --ua-*;文档与演示同步;npm run check 全绿",
|
||||
"status": "open",
|
||||
"notes": "自补:组件补充方向"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+88
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "ui-arch-registry-index/0.1",
|
||||
"generatedAt": "2026-10-26T06:49:03.720Z",
|
||||
"generatedAt": "2026-10-26T07:17:51.824Z",
|
||||
"repoRoot": ".",
|
||||
"packages": [
|
||||
{
|
||||
@@ -203,7 +203,8 @@
|
||||
"multiSelect(props):多选下拉,标签式回显 + 可搜索弹层,点选不收起便于连续多选,max 到限后未选项禁用",
|
||||
"anchor(props):锚点导航,竖排区块链接,滚动时按目标位置高亮当前区块(aria-current 同步),点击按 offset 偏移量平滑定位并回写 hash;container 可指定内滚容器",
|
||||
"popconfirm(props, trigger):二次确认气泡,挂在任意触发器上,就地确认危险操作;确定后先收起再回调,取消 / 点外部 / Esc 走 onCancel,展开即聚焦「取消」",
|
||||
"calendar(props):月历,整月网格内嵌页面(排期 / 值班 / 日程),每日可带 marker 标记文案,方向键漫游 + Enter 选中,翻月走 onMonthChange"
|
||||
"calendar(props):月历,整月网格内嵌页面(排期 / 值班 / 日程),每日可带 marker 标记文案,方向键漫游 + Enter 选中,翻月走 onMonthChange",
|
||||
"typography(props):排版文本,variant 决定语义(标题出 h1-h5 / 段落出 p / 行内出 span),支持语义色、装饰位、对齐、多行截断与复制按钮"
|
||||
],
|
||||
"keyTypes": [
|
||||
"ButtonProps",
|
||||
@@ -3075,6 +3076,91 @@
|
||||
"需要显示每天有几件事就传 marker:返回非空文案即渲染小徽标,并拼进 aria-label 让读屏也听得到",
|
||||
"键盘:Tab 进入网格一次,←→ 逐日、↑↓ 逐周、Enter / 空格 选中;跨月会自动翻页并交接焦点"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "typography",
|
||||
"title": "排版文本 Typography",
|
||||
"demo": "sec-typography",
|
||||
"props": [
|
||||
{
|
||||
"n": "content",
|
||||
"t": "string | Node",
|
||||
"r": 1,
|
||||
"d": "文本内容:字符串按纯文本渲染;传 DOM 则原样插入(此时不参与截断与复制)"
|
||||
},
|
||||
{
|
||||
"n": "variant",
|
||||
"t": "'title' | 'text' | 'paragraph'",
|
||||
"df": "text",
|
||||
"d": "排版形态,决定语义标签与字号:title 出 h1-h5、paragraph 出 p、text 出 span"
|
||||
},
|
||||
{
|
||||
"n": "level",
|
||||
"t": "1 | 2 | 3 | 4 | 5",
|
||||
"df": "3",
|
||||
"d": "标题层级,仅 variant=title 生效;越界值会被夹到 1-5"
|
||||
},
|
||||
{
|
||||
"n": "type",
|
||||
"t": "'secondary' | 'success' | 'warning' | 'danger'",
|
||||
"d": "语义色调;缺省主文本色"
|
||||
},
|
||||
{
|
||||
"n": "strong",
|
||||
"t": "boolean",
|
||||
"df": "false",
|
||||
"d": "加粗强调"
|
||||
},
|
||||
{
|
||||
"n": "underline",
|
||||
"t": "boolean",
|
||||
"df": "false",
|
||||
"d": "下划线(可为链接式文案保留指引视觉)"
|
||||
},
|
||||
{
|
||||
"n": "delete",
|
||||
"t": "boolean",
|
||||
"df": "false",
|
||||
"d": "删除线,用于作废文案;会同时弱化文字颜色"
|
||||
},
|
||||
{
|
||||
"n": "mark",
|
||||
"t": "boolean",
|
||||
"df": "false",
|
||||
"d": "高亮底纹(警示色 24% 混透明),用于搜索命中片段"
|
||||
},
|
||||
{
|
||||
"n": "code",
|
||||
"t": "boolean",
|
||||
"df": "false",
|
||||
"d": "等宽代码样式,用于行内字段名 / 命令"
|
||||
},
|
||||
{
|
||||
"n": "align",
|
||||
"t": "'left' | 'center' | 'right'",
|
||||
"d": "水平对齐;缺省左对齐"
|
||||
},
|
||||
{
|
||||
"n": "ellipsis",
|
||||
"t": "number",
|
||||
"d": "截断行数(1 起):超出显示省略号,纯文本自动挂 title 供悬停看全文;缺省不截断"
|
||||
},
|
||||
{
|
||||
"n": "copyable",
|
||||
"t": "boolean",
|
||||
"df": "false",
|
||||
"d": "右侧附复制按钮:点击写剪贴板并回显「已复制 / 复制失败」,1.2 秒后复原"
|
||||
}
|
||||
],
|
||||
"example": "typography({ variant: 'title', level: 2, content: '部署说明' }); typography({ content: 'RB-2048', code: true, copyable: true }); typography({ variant: 'paragraph', ellipsis: 2, content: '一段很长的说明……' })",
|
||||
"steps": [
|
||||
"正文一律用 variant='text' 或 'paragraph',标题用 variant='title' + level,标签自动出 h1-h5,别自己写 h 标签再叠样式",
|
||||
"文内强调用装饰位组合:strong 加粗、mark 高亮、code 等宽、underline / delete 表示链接与作废,一个组件内可叠加",
|
||||
"长描述(卡片摘要、表格说明)用 ellipsis 给行数:超出显示省略号并自动挂 title,悬停即看全文,不必额外做展开按钮",
|
||||
"订单号 / 密钥 / 命令这类要复制的内容传 copyable:按钮独立于文本节点,复制失败会回显「复制失败」而不是静默",
|
||||
"content 传 DOM 时组件只负责语义标签与类名:截断与复制对 DOM 内容不生效(取不到稳定文本)",
|
||||
"段落连续排列时相邻 .ua-type-paragraph 自动留出间距,单个段落不额外撑高,嵌进卡片也不会有空隙"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user