@teamix-evo/skills 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/package.json +2 -2
  2. package/src/teamix-evo-design-opentrek/SKILL.md +210 -42
  3. package/src/teamix-evo-design-opentrek/boundaries.md +3 -3
  4. package/src/teamix-evo-design-opentrek/components.md +41 -40
  5. package/src/teamix-evo-design-opentrek/examples/detail-ai-gateway-1.html +1069 -0
  6. package/src/teamix-evo-design-opentrek/examples/detail-ai-gateway-instance.html +941 -0
  7. package/src/teamix-evo-design-opentrek/examples/detail-page-api-doc.html +906 -0
  8. package/src/teamix-evo-design-opentrek/examples/detail-page-config.html +993 -0
  9. package/src/teamix-evo-design-opentrek/examples/detail-page-monitor.html +1339 -0
  10. package/src/teamix-evo-design-opentrek/examples/detail-page.html +933 -0
  11. package/src/teamix-evo-design-opentrek/examples/settings-page.html +1119 -0
  12. package/src/teamix-evo-design-opentrek/examples/standard-card-list.html +1094 -0
  13. package/src/teamix-evo-design-opentrek/examples/standard-table-list.html +1361 -0
  14. package/src/teamix-evo-design-opentrek/examples/wizard-form-page.html +877 -0
  15. package/src/teamix-evo-design-opentrek/flows.md +85 -12
  16. package/src/teamix-evo-design-opentrek/foundations.md +9 -9
  17. package/src/teamix-evo-design-opentrek/generation-flow.md +15 -3
  18. package/src/teamix-evo-design-opentrek/pages/detail-page/SKILL.md +260 -0
  19. package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/api-doc-detail.md +163 -0
  20. package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/comparison-detail.md +100 -0
  21. package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/monitor-detail.md +190 -0
  22. package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/resource-detail.md +148 -0
  23. package/src/teamix-evo-design-opentrek/pages/form-page/SKILL.md +362 -0
  24. package/src/teamix-evo-design-opentrek/pages/list-page/SKILL.md +286 -0
  25. package/src/teamix-evo-design-opentrek/pages/list-page/_shared/action-column-spec.md +60 -0
  26. package/src/teamix-evo-design-opentrek/pages/list-page/_shared/column-meta-rules.md +117 -0
  27. package/src/teamix-evo-design-opentrek/pages/list-page/_shared/search-combo-spec.md +194 -0
  28. package/src/teamix-evo-design-opentrek/pages/list-page/_shared/state-action-pattern.md +51 -0
  29. package/src/teamix-evo-design-opentrek/pages/list-page/patterns/advanced-filter-list.md +94 -0
  30. package/src/teamix-evo-design-opentrek/pages/list-page/patterns/card-list.md +558 -0
  31. package/src/teamix-evo-design-opentrek/pages/list-page/patterns/drawer-list.md +76 -0
  32. package/src/teamix-evo-design-opentrek/pages/list-page/patterns/expandable-list.md +70 -0
  33. package/src/teamix-evo-design-opentrek/pages/list-page/patterns/l2-sidebar-list.md +73 -0
  34. package/src/teamix-evo-design-opentrek/pages/list-page/patterns/standard-list.md +198 -0
  35. package/src/teamix-evo-design-opentrek/patterns/color-mapping.md +1 -1
  36. package/src/teamix-evo-design-opentrek/patterns/detail-page.md +217 -152
  37. package/src/teamix-evo-design-opentrek/patterns/form-page.md +437 -231
  38. package/src/teamix-evo-design-opentrek/patterns/list-page.md +220 -292
  39. package/src/teamix-evo-design-opentrek/patterns/page-types.md +40 -130
  40. package/src/teamix-evo-design-opentrek/rules/_assets/OP_AGENT RUNTIME.svg +1 -0
  41. package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI GATEWAY.svg +1 -0
  42. package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI STUDIO.svg +1 -0
  43. package/src/teamix-evo-design-opentrek/rules/_assets/OP_DEV-2.svg +1 -0
  44. package/src/teamix-evo-design-opentrek/rules/_assets/OP_LOGO.svg +1 -0
  45. package/src/teamix-evo-design-opentrek/rules/_assets/OP_OPS.svg +1 -0
  46. package/src/teamix-evo-design-opentrek/rules/boundaries.rules.json +3 -3
  47. package/src/teamix-evo-design-opentrek/rules/business-mapping.json +124 -0
  48. package/src/teamix-evo-design-opentrek/rules/common-components.json +924 -0
  49. package/src/teamix-evo-design-opentrek/rules/component-specs.json +1083 -0
  50. package/src/teamix-evo-design-opentrek/rules/design-tokens.css +433 -0
  51. package/src/teamix-evo-design-opentrek/rules/design-tokens.json +2798 -0
  52. package/src/teamix-evo-design-opentrek/rules/layout-rules.json +218 -0
  53. package/src/teamix-evo-design-opentrek/rules/page-flow.json +351 -0
  54. package/src/teamix-evo-design-opentrek/rules/page-frame.json +241 -0
  55. package/src/teamix-evo-design-opentrek/rules/page-header-spec.md +123 -0
  56. package/src/teamix-evo-design-opentrek/rules/page-types.json +206 -0
  57. package/src/teamix-evo-design-opentrek/rules/sidebar-spec.md +217 -0
  58. package/src/teamix-evo-design-opentrek/rules/styling.json +188 -0
  59. package/src/teamix-evo-design-opentrek/rules/token-mapping.md +284 -0
  60. package/src/teamix-evo-design-uni-manager/SKILL.md +1 -1
  61. package/src/teamix-evo-design-uni-manager/boundaries.md +3 -3
  62. package/src/teamix-evo-design-uni-manager/brand.md +1 -1
  63. package/src/teamix-evo-design-uni-manager/components.md +30 -28
  64. package/src/teamix-evo-design-uni-manager/foundations.md +21 -21
  65. package/src/teamix-evo-design-uni-manager/generation-flow.md +3 -1
  66. package/src/teamix-evo-design-uni-manager/patterns/detail-page.md +1 -1
  67. package/src/teamix-evo-design-uni-manager/patterns/form-page.md +18 -18
  68. package/src/teamix-evo-design-uni-manager/patterns/list-page.md +29 -29
  69. package/src/teamix-evo-design-uni-manager/patterns/page-types.md +11 -11
  70. package/src/teamix-evo-design-uni-manager/philosophy.md +1 -1
  71. package/src/teamix-evo-design-uni-manager/rules/boundaries.rules.json +3 -3
  72. package/src/teamix-evo-design-opentrek/patterns/sidebar.md +0 -122
@@ -0,0 +1,70 @@
1
+ # 可展开列表页 (expandable)
2
+
3
+ > 路由自 `../SKILL.md`
4
+ > 布局模式: 模式D
5
+ > 核心差异: DataTable 行内展开显示子数据/详情
6
+
7
+ ## 1. 布局骨架
8
+
9
+ 在标准列表页(standard-list.md)基础上,DataTable 支持行内展开:
10
+
11
+ ```
12
+ ┌──────────────────────────────────────────────────────────────────────┐
13
+ │ PageHeader + ActionToolbar (同标准列表页) │
14
+ │ ──┬────────────────────────────────────────────────────────────┬── │
15
+ │ DataTable (行内展开) │
16
+ │ ☑|ID|名称|状态|标签|...|操作 │
17
+ │ ▶|i-xxx|test|●运行中|🏷|...|管理|... │
18
+ │ ┌─────────────────────────────────────────────────────────┐ │
19
+ │ │ 子项1: 详情A | 详情B | 详情C │ │
20
+ │ │ 子项2: 详情D | 详情E │ │
21
+ │ └─────────────────────────────────────────────────────────┘ │
22
+ │ ▶|i-yyy|prod|●运行中|🏷|...|管理|... │
23
+ │ ───────────────────────────────────────────────────────────── │
24
+ │ BulkActionBar + Pagination (同标准列表页) │
25
+ └──────────────────────────────────────────────────────────────────────┘
26
+ ```
27
+
28
+ ## 2. 核心差异
29
+
30
+ | 维度 | 标准列表 | 可展开列表 |
31
+ |------|----------|-----------|
32
+ | 行展开 | 不支持 | **支持** |
33
+ | 展开触发 | — | **点击行首展开图标(▶) 或 点击行** |
34
+ | 展开方式 | — | **行内展开,不弹出 Dialog/Sheet** |
35
+ | 展开高度 | — | **自适应,最大高度 200px** |
36
+ | 展开状态持久化 | — | **翻页后保持展开状态** |
37
+
38
+ ## 3. 行内展开交互规范
39
+
40
+ | 交互 | 行为 |
41
+ |------|------|
42
+ | 点击展开图标(▶) | 展开/收起该行,展开图标变为 ▼ |
43
+ | 点击行(非操作区) | 同展开图标,切换展开状态 |
44
+ | 同时展开 | 支持多行同时展开 |
45
+ | 展开内容 | 子数据表格 / 详情描述列表 / 关联信息 |
46
+ | 收起所有 | 提供"收起全部"按钮(可选) |
47
+ | 翻页行为 | 展开状态持久化,翻回原页时保持 | 待确认: 参考文档为"换页不保留" |
48
+
49
+ ## 4. 引用共享规则
50
+
51
+ | 共享规则 | 路径 | 说明 |
52
+ |----------|------|------|
53
+ | 表格列元规则 | `../_shared/column-meta-rules.md` | 列元规则(显隐/拖拽/排序)
54
+ | 产品列定义 | `products/{产品}/columns.json` | 具体列名/宽度/类型 |
55
+ | 操作列规范 | `../_shared/action-column-spec.md` | 操作列结构、行为 |
56
+ | 状态-操作模式 | `../_shared/state-action-pattern.md` | 状态驱动操作元规则
57
+ | 产品状态机 | `products/{产品}/states.json` | 具体状态/操作可用性 |
58
+
59
+ > DataTable(不含展开行为)、BulkActionBar、Pagination、ActionToolbar 等组件及交互行为与标准列表页一致,不再重复。
60
+
61
+ ## 5. 验证清单
62
+
63
+ > 通用检查项见 `../../../docs/validation-workflow.md` 验证清单。此处仅列出本模式差异项。
64
+
65
+ | 验证项 | 检查点 | 目标 |
66
+ |--------|--------|------|
67
+ | 展开图标 | ▶/▼ 切换正确 | 正确 |
68
+ | 行内展开 | 不弹出新窗口/Dialog | 正确 |
69
+ | 多行展开 | 支持同时展开多行 | 正确 |
70
+ | 翻页持久化 | 翻回原页时展开状态保持 | 正确 |
@@ -0,0 +1,73 @@
1
+ # 带 L2 导航列表页 (l2-sidebar)
2
+
3
+ > 路由自 `../SKILL.md`
4
+ > 布局模式: 模式D + Sidebar(TWO_COL)
5
+ > 核心差异: 左侧 240px 分类导航 + 右侧标准列表
6
+
7
+ ## 1. 布局骨架
8
+
9
+ 在标准列表页(standard-list.md)基础上,页面采用 **TWO_COL** 布局:
10
+
11
+ ```
12
+ ┌──────────┬──────────────────────────────────────────────┤
13
+ │ │ PageHeader + ActionToolbar + DataTable │
14
+ │ Sidebar │ + BulkActionBar + Pagination │
15
+ │ (240px) │ (同标准列表页完整结构) │
16
+ │ │ │
17
+ │ [分类A] │ │
18
+ │ [分类B] │ │
19
+ │ [分类C] │ │
20
+ │ ── │ │
21
+ │ [子分类] │ │
22
+ │ [子分类] │ │
23
+ └──────────┴──────────────────────────────────────────────┘
24
+ ```
25
+
26
+ ## 2. 核心差异
27
+
28
+ | 维度 | 标准列表 | L2 导航列表 |
29
+ |------|----------|-------------|
30
+ | 布局 | SINGLE_COL / TWO_COL | **TWO_COL** |
31
+ | Sidebar | 可选 | **必需** |
32
+ > Sidebar 收起/展开、交互规范、色彩全部引用 `rules/design-tokens.json` sidebarRules(统一规范)。
33
+
34
+ ## 3. Sidebar 交互规范
35
+
36
+ | 交互 | 行为 |
37
+ |------|------|
38
+ | 点击分类 | 刷新右侧列表数据,保持当前页码 |
39
+ | 展开/收起 | 切换子分类列表,动画过渡 |
40
+ | 收起 Sidebar | 宽度缩至 68px,仅显示图标(详见 design-tokens.json sidebarRules.collapseBehavior) |
41
+ | 选中态 | 灰色背景 var(--sidebar-active)(详见 design-tokens.json sidebarRules.colors.menuItem.active) |
42
+ | 手风琴 | 打开一个分组自动关闭其他分组 |
43
+ | 收起态 Tooltip | Hover显示节点名称 |
44
+ | 展开持久化 | 展开/收起状态持久化 |
45
+ | 计数徽章 | 每项右侧显示数据量(灰色 12px),数据驱动,实时刷新 |
46
+ | 状态指示灯 | 菜单项前圆点(8px)+文字,颜色对应状态(绿/灰/蓝脉冲) |
47
+ | 约束 | 最大 20 项 / 最大 2 级嵌套 |
48
+
49
+ ## 4. 引用共享规则
50
+
51
+ 与标准列表页共享相同的规则文件:
52
+
53
+ | 共享规则 | 路径 | 说明 |
54
+ |----------|------|------|
55
+ | 表格列元规则 | `../_shared/column-meta-rules.md` | 列元规则(显隐/拖拽/排序)
56
+ | 产品列定义 | `products/{产品}/columns.json` | 具体列名/宽度/类型 |
57
+ | 操作列规范 | `../_shared/action-column-spec.md` | 操作列结构、行为 |
58
+ | 状态-操作模式 | `../_shared/state-action-pattern.md` | 状态驱动操作元规则
59
+ | 产品状态机 | `products/{产品}/states.json` | 具体状态/操作可用性 |
60
+
61
+ > DataTable、BulkActionBar、Pagination、ActionToolbar 等组件及交互行为与标准列表页一致,不再重复。
62
+
63
+ ## 5. 验证清单
64
+
65
+ > 通用检查项见 `../../../docs/validation-workflow.md` 验证清单。此处仅列出本模式差异项。
66
+
67
+ | 验证项 | 检查点 | 目标 |
68
+ |--------|--------|------|
69
+ | Sidebar 规格 | 展开240px/收起68px(详见 design-tokens.json sidebarRules) | 正确 |
70
+ | 分类选中态 | 灰色背景 var(--sidebar-active) | 正确 |
71
+ | 分类切换 | 右侧列表刷新 | 正确 |
72
+ | 计数徽章 | 每项右侧显示数据量(灰色12px) | 正确 |
73
+ | 状态指示灯 | 圆点(8px)+文字,颜色对应状态 | 正确 |
@@ -0,0 +1,198 @@
1
+ # 标准列表页 (standard)
2
+
3
+ > 路由自 `../SKILL.md`
4
+ > 布局模式: 模式D (复合模式)
5
+ > 核心组件: DataTable + Pagination
6
+
7
+ ## 1. 布局骨架
8
+
9
+ ```
10
+ ┌──────────┬──────────────────────────────────────────────┤
11
+ │ │ PageHeader │
12
+ │ Sidebar │ 标题(18px/medium) [描述*] + [了解更多 12px] │
13
+ │ │ ───────────────────────── │
14
+ │ │ ActionToolbar (单行 flex, nowrap) │
15
+ │ │ [创建] [批量创建] [全部▼][输入...]🔍 [刷新] │
16
+ │ │ ──┬─────────────────────────────────────┬── │
17
+ │ │ DataTable (固定列: 左选择框+ID, 右操作) │
18
+ │ │ ☑|ID|名称|状态|监控|标签|IP|规格|...|操作 │
19
+ │ │ ☐|i-c7p...|test|●运行中|📊|🏷|192.168|2C2G|...│ │
20
+ │ │ ──────────────────────────────────────── │
21
+ │ │ BulkActionBar (内嵌表格wrapper, 选中时显示) │
22
+ │ │ ☑全选 [启动][停止][重启][删除] 已选2项 共8条 │
23
+ │ │ ──────────────────────────────────────── │
24
+ │ │ Pagination │
25
+ │ │ [‹] [1] [›] 每页显示: [10 ▼] │
26
+ └──────────┴──────────────────────────────────────────────┘
27
+ ```
28
+
29
+ > 注: Sidebar 非必需,有 L2 导航需求时采用 TWO_COL,否则 SINGLE_COL。
30
+
31
+ ## 2. 必需组件(补充)
32
+
33
+ | 组件 | 引用 | 层级 | 位置 | 说明 |
34
+ |------|------|------|------|------|
35
+ | DataTable | — | ORGANISM | center | 数据表格,支持排序/筛选/选择/固定列 |
36
+ | BulkActionBar | — | MOLECULAR | bottom | 批量操作栏,内嵌于 DataTable 同一 wrapper 内,选中时显示 |
37
+
38
+ ## 3. 可选组件
39
+
40
+ | 组件 | 引用 | 条件 | 说明 |
41
+ |------|------|------|------|
42
+ | QueryFilter | — | 筛选条件>3个时 | 高级搜索面板 |
43
+ | ColumnConfig | — | 表格列>8列时 | 列配置弹窗,支持列显隐切换 |
44
+ | Dialog | — | 删除/批量操作确认 | 确认弹窗 |
45
+ | Sheet | — | 列表嵌入抽屉 | 侦滑面板 |
46
+ | Tag | — | 标签/状态展示 | 20px 高度小标签 |
47
+ | Badge | — | 状态徽章 | 圆形状态点 + 文字 |
48
+ | Empty | — | 空数据 | 空状态 + 新建引导 |
49
+ | Spinner | — | 加载中 | Loading 状态 |
50
+ | Alert | — | 需要操作提示时 | 操作前警告提示 |
51
+ | Sonner | — | 操作反馈 | Sonner 提示 |
52
+ | Tooltip | — | 列标题/操作说明 | 悬浮提示 |
53
+ | FilterTag | — | 已选筛选条件 | 筛选标签(以Tag形式展示,可单独移除) |
54
+
55
+ ## 4. 操作工具栏 (ActionToolbar)
56
+
57
+ ### 结构
58
+
59
+ - **布局**: 单行 flex 布局 (`flex-wrap: nowrap`),工具栏内部 gap = 8px
60
+ - **左侧 `.left-actions`**: 主要操作按钮(创建等),内部 gap = 8px
61
+ - **SearchCombo(紧跟 .left-actions 后方)**: 作为 `.action-toolbar` 的直接子元素(**不嵌套在 .right-tools 内**),与 `.left-actions` 间距 = **20px**【硬约束】。CSS:`.action-toolbar > .search-combo { margin-left: calc(20px - var(--button-gap)); }`
62
+ - **右侧 `.right-tools`**: 工具按钮(刷新/设置),通过 `margin-left: auto` 推到右侧,内部间距 8px
63
+ - **DOM 顺序**: `.left-actions` → `.search-combo` → `.right-tools`
64
+ - **禁止**: 换行、多行布局;禁止将 SearchCombo 嵌套在 .right-tools 或 .left-actions 内
65
+ - **Primary 按钮**: 同一区域内最多 1 个
66
+ - **按钮数量**: 直接展示 ≤3 个,超出入 Dropdown
67
+
68
+ ### SearchCombo 结构
69
+
70
+ - **搜索模式下拉框**: 无边框,与输入框共用外层容器边框,默认"全部"(全部/实例ID/名称/IP等维度)
71
+ - **搜索输入框**: 无边框,与下拉框共用外层容器边框,placeholder 自动识别
72
+ - **搜索图标**: 位于输入框内部右侧,绝对定位
73
+ - **布局**: 外层统一边框容器,内部下拉框与输入框无边框,通过右侧分隔线区分
74
+
75
+ ### SearchCombo CSS 实现
76
+
77
+ > 详细 CSS 规范见 `../_shared/search-combo-spec.md`(容器样式、状态、内部元素)。
78
+
79
+ ### 搜索与筛选交互
80
+
81
+ - 搜索模式下拉框切换维度(全部/实例ID/名称/IP)
82
+ - 输入框回车键执行搜索
83
+ - 搜索图标点击也可执行搜索
84
+ - 筛选条件组合为 AND 关系
85
+ - 已选筛选项以 FilterTag 形式展示,可单独移除
86
+ - 筛选条件清空后,FilterTag 区域隐藏(display:none)
87
+ - 搜索框支持最近搜索记录(可选)
88
+
89
+ ### 筛选区展开布局(可选)
90
+
91
+ 当需要高级筛选时,ActionToolbar 下方可展开筛选区:
92
+
93
+ ```
94
+ 筛选区 (可展开, 每行最多 4 个 Select):
95
+ 状态[Select] 地域[Select] 规格[Select] 标签[Select]
96
+ [搜索] [重置]
97
+ ```
98
+
99
+ - 每行最多 4 个 Select(超过时换行或收入高级筛选面板)
100
+ - 筛选条件与 FilterTag 联动,选中条件以 Tag 形式展示在表格上方
101
+ - "重置"按钮一键清除所有筛选条件
102
+ - 筛选无结果时:保留表头,显示"未找到匹配结果" + "清除筛选"按钮
103
+
104
+ ## 5. 批量操作
105
+
106
+ - 触发条件:至少选中 1 行
107
+ - 未选中时批量工具栏隐藏
108
+ - **位置**: 选中后内嵌显示在表格底部(Pagination 上方),非独立卡片区域
109
+ - 批量操作后执行:刷新列表 + Sonner 提示结果
110
+ - 批量删除需 Dialog 二次确认 + 输入确认文本
111
+ - 工具栏结构:[操作按钮组] + "已选 N 条"计数,右侧"共 M 条"
112
+ - 异步批量操作:Sonner "批量操作已提交, 共N条", 轮询状态刷新
113
+ - disabled 样式:`opacity: 0.45; pointer-events: none; cursor: not-allowed`
114
+
115
+ ## 6. 分页约定
116
+
117
+ - 默认每页条数:10(业务可根据数据量调整为 5/10/20/50)
118
+ - 可选每页条数:5 / 10 / 20 / 50(根据业务数据规模配置)
119
+ - 翻页后保持筛选条件和滚动位置
120
+ - 总数显示:`共 {total} 条`(非"项")
121
+ - 支持"前往 X 页"跳转 + 确定按钮
122
+
123
+ ## 7. 键盘快捷键
124
+
125
+ | 快捷键 | 操作 |
126
+ |-------|------|
127
+ | `Enter` | 执行搜索 |
128
+ | `Esc` | 关闭弹窗/取消选择 |
129
+ | `Ctrl/Cmd + A` | 全选当前页 |
130
+ | `Ctrl/Cmd + F` | 聚焦搜索框 |
131
+ | `↑/↓` | 表格行导航(聚焦时) |
132
+ | `Space` | 切换行选中状态 |
133
+
134
+ ## 8. 边界情况处理
135
+
136
+ | 场景 | 处理方式 | 文案规范 | ActionBar 状态 |
137
+ |------|----------|---------|---------------|
138
+ | 首次使用 | Empty 组件 + 新建引导 | "暂无内容" + 创建入口链接 | 创建按钮必须可用 |
139
+ | 加载中 | Skeleton 骨架屏 / Spinner 组件 | — | 搜索/刷新保留 |
140
+ | 加载失败 | ErrorState + 重试按钮 | — | 刷新可用 |
141
+ | 筛选无结果 | 保留表头 + 空状态区 | "未找到匹配结果" + "清除筛选"链接 | 创建可用, 导出禁用 |
142
+ | 数据已清空 | Empty 组件 | "暂无数据" | 刷新可用 |
143
+ | 权限不足 | 操作按钮隐藏或置灰 | — | 根据权限动态显隐 |
144
+ | 分页溢出 | 重置到第 1 页 | — | — |
145
+
146
+ **空状态规则:**
147
+ - 必须有引导操作(创建/清除/帮助),不要只显示"暂无数据"无引导
148
+ - 文案以"暂无"开头
149
+ - 列表页空状态保留表头
150
+ - 空状态时隐藏分页器
151
+
152
+ ## 9. 引用共享规则
153
+
154
+ > 读取规则:元规则定义通用约束 + 产品配置定义具体列/状态。
155
+
156
+ | 共享规则 | 路径 | 说明 |
157
+ |----------|------|------|
158
+ | 表格列元规则 | `../_shared/column-meta-rules.md` | 列定义结构、显隐规则、拖拽、排序 |
159
+ | 产品列定义 | `products/{产品}/columns.json` | 具体列名/宽度/类型/显隐条件 |
160
+ | 操作列规范 | `../_shared/action-column-spec.md` | 操作列结构、行为、禁用样式 |
161
+ | 状态-操作模式 | `../_shared/state-action-pattern.md` | 状态驱动操作的元规则、异步处理、确认级别 |
162
+ | 产品状态机 | `products/{产品}/states.json` | 具体状态名/操作可用性/确认级别 |
163
+
164
+ **示例**(以 PolarDB 为例):
165
+ - 列定义读 `products/polar-db/columns.json`(11列:集群ID/名称/状态/数据库类型/地域/规格/节点数/存储空间/连接地址/到期时间/资源组)
166
+ - 状态机读 `products/polar-db/states.json`(5种状态:运行中/已停止/创建中/变配中/释放中)
167
+
168
+ ## 10. 与 PageContainer 模式对照
169
+
170
+ > 布局模式定义见 `../../../rules/layout-rules.json`
171
+
172
+ 标准列表页使用 **模式D(复合模式)**:
173
+ ```
174
+ PageContainer → ContentWrapper → PageHeader + ActionToolbar + DataTable + BulkActionBar + Pagination
175
+ ```
176
+ 当不需要筛选时退化为 **模式B**:
177
+ ```
178
+ PageContainer → ContentWrapper → PageHeader + DataTable + BulkActionBar + Pagination
179
+ ```
180
+
181
+ ## 11. 验证清单
182
+
183
+ > 通用检查项见 `../../../docs/validation-workflow.md` 验证清单。此处仅列出标准列表模式差异项。
184
+
185
+ | 验证项 | 检查点 | 目标 |
186
+ |--------|--------|------|
187
+ | **Card.paddingX 外侧提供** | Card 白卡容器 `padding: 0 var(--card-padding-x)` (左右 20px);PageHeader / ActionToolbar / BulkActionBar / Pagination 的水平 padding 全部 = 0 | **必须 100% 一致**,非 Table 子组件重复设置 paddingX 即为违反 |
188
+ | **Table 分层 padding v7.5** | 中间列 th/td paddingX = 12px(列间距 24px);首列 padding-left = **20px**;末列 padding-right = **20px**;首列内容 X = Card 外缘 + 40;末列右缘 X = Card 右缘 - 40;唯一可接受模式:`px-3 first:pl-5 last:pr-5` | 100% |
189
+ | 表格列 | 列数、类型、宽度、对齐、排序、固定匹配规范 | 全部匹配 |
190
+ | 列显隐 | 条件列(监控/可用区/组织)按规则显隐 | 正确 |
191
+ | 操作列 | 分隔线、按钮样式、disabled 样式 | 正确 |
192
+ | 标签列 | 无标签显示"-"、最多 3 个、超出+N | 正确 |
193
+ | SearchCombo | 容器边框、内部无边框、回车搜索 | 正确 |
194
+ | 批量操作 | 选中≥1行显示、混合状态禁用 | 正确 |
195
+ | 分页 | 默认 10条/页、"共N条" | 正确 |
196
+ | Do's & Don'ts | 主按钮左侧第一位、操作列固定右侧、空数据隐藏分页、Primary≤1 | 全部遵守 |
197
+ | 筛选无结果 | 保留表头 + "未找到匹配结果" + "清除筛选" | 正确 |
198
+ | 三态Checkbox | 未选/半选/全选状态正确 | 正确 |
@@ -83,7 +83,7 @@
83
83
 
84
84
  ## 6. Sidebar / Topbar 命名空间
85
85
 
86
- 详见 [sidebar.md §3](./sidebar.md#3-颜色映射v41-品牌化)。**不**使用主色槽(`--color-primary` 等),全部走 `--color-sidebar-*` / `--color-topbar-*`。
86
+ 详见 [sidebar-spec.md §3](../rules/sidebar-spec.md#3-颜色映射v41-品牌化)。**不**使用主色槽(`--color-primary` 等),全部走 `--color-sidebar-*` / `--color-topbar-*`。
87
87
 
88
88
  ---
89
89