{ "schemaVersion": 2, "sourceKind": "structured-spec", "confidence": "high", "slug": "cardlist", "name": "卡片列表 CardList", "semanticTypeCandidates": [ "card-grid", "list" ], "variantDimensions": [ { "name": "load", "values": [ "pagination", "infinite-scroll" ] }, { "name": "columns", "values": [ "grid" ] } ], "representativeVariants": [ { "load": "pagination", "columns": "grid", "label": "栅格 + 分页" }, { "load": "infinite-scroll", "columns": "grid", "label": "栅格 + 无限滚动" } ], "anatomy": { "card": "卡片单元:内容自定义", "row": "每行可显示多个卡片(栅格)" }, "structurePatterns": { "layout": "栅格,每行多个卡片" }, "usageHints": [ "以卡片形式展示列表数据", "每行可显示多个卡片(栅格)", "卡片内容自定义", "支持分页或无限滚动" ], "doNotInvent": [ "卡片内部的字段与布局(内容由使用方自定义)", "默认列数与断点(未拍板前不得当作契约)" ], "unknowns": [ "栅格列数与响应式断点", "卡片 gap 取值", "无限滚动的触底阈值" ], "clarificationNotes": [ { "item": "栅格列数与响应式断点", "kind": "open-question", "meaning": "每行卡片数及随容器宽度的断点。", "why": "规范与实现均未给出列数/断点。", "decision": "保持开放:本轮不发明默认值,使用方按布局自行决定。" }, { "item": "卡片 gap 取值", "kind": "open-question", "meaning": "相邻卡片间距。", "why": "仅有 16px/24px 通用梯度,无卡片专用 gap。", "decision": "保持开放:不把实现值升级为契约。" }, { "item": "无限滚动的触底阈值", "kind": "open-question", "meaning": "触发加载更多的滚动阈值。", "why": "规范未定义。", "decision": "保持开放。" } ] }