@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.
- package/package.json +2 -2
- package/src/teamix-evo-design-opentrek/SKILL.md +210 -42
- package/src/teamix-evo-design-opentrek/boundaries.md +3 -3
- package/src/teamix-evo-design-opentrek/components.md +41 -40
- package/src/teamix-evo-design-opentrek/examples/detail-ai-gateway-1.html +1069 -0
- package/src/teamix-evo-design-opentrek/examples/detail-ai-gateway-instance.html +941 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page-api-doc.html +906 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page-config.html +993 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page-monitor.html +1339 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page.html +933 -0
- package/src/teamix-evo-design-opentrek/examples/settings-page.html +1119 -0
- package/src/teamix-evo-design-opentrek/examples/standard-card-list.html +1094 -0
- package/src/teamix-evo-design-opentrek/examples/standard-table-list.html +1361 -0
- package/src/teamix-evo-design-opentrek/examples/wizard-form-page.html +877 -0
- package/src/teamix-evo-design-opentrek/flows.md +85 -12
- package/src/teamix-evo-design-opentrek/foundations.md +9 -9
- package/src/teamix-evo-design-opentrek/generation-flow.md +15 -3
- package/src/teamix-evo-design-opentrek/pages/detail-page/SKILL.md +260 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/api-doc-detail.md +163 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/comparison-detail.md +100 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/monitor-detail.md +190 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/resource-detail.md +148 -0
- package/src/teamix-evo-design-opentrek/pages/form-page/SKILL.md +362 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/SKILL.md +286 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/action-column-spec.md +60 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/column-meta-rules.md +117 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/search-combo-spec.md +194 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/state-action-pattern.md +51 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/advanced-filter-list.md +94 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/card-list.md +558 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/drawer-list.md +76 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/expandable-list.md +70 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/l2-sidebar-list.md +73 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/standard-list.md +198 -0
- package/src/teamix-evo-design-opentrek/patterns/color-mapping.md +1 -1
- package/src/teamix-evo-design-opentrek/patterns/detail-page.md +217 -152
- package/src/teamix-evo-design-opentrek/patterns/form-page.md +437 -231
- package/src/teamix-evo-design-opentrek/patterns/list-page.md +220 -292
- package/src/teamix-evo-design-opentrek/patterns/page-types.md +40 -130
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AGENT RUNTIME.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI GATEWAY.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI STUDIO.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_DEV-2.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_LOGO.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_OPS.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/boundaries.rules.json +3 -3
- package/src/teamix-evo-design-opentrek/rules/business-mapping.json +124 -0
- package/src/teamix-evo-design-opentrek/rules/common-components.json +924 -0
- package/src/teamix-evo-design-opentrek/rules/component-specs.json +1083 -0
- package/src/teamix-evo-design-opentrek/rules/design-tokens.css +433 -0
- package/src/teamix-evo-design-opentrek/rules/design-tokens.json +2798 -0
- package/src/teamix-evo-design-opentrek/rules/layout-rules.json +218 -0
- package/src/teamix-evo-design-opentrek/rules/page-flow.json +351 -0
- package/src/teamix-evo-design-opentrek/rules/page-frame.json +241 -0
- package/src/teamix-evo-design-opentrek/rules/page-header-spec.md +123 -0
- package/src/teamix-evo-design-opentrek/rules/page-types.json +206 -0
- package/src/teamix-evo-design-opentrek/rules/sidebar-spec.md +217 -0
- package/src/teamix-evo-design-opentrek/rules/styling.json +188 -0
- package/src/teamix-evo-design-opentrek/rules/token-mapping.md +284 -0
- package/src/teamix-evo-design-uni-manager/SKILL.md +1 -1
- package/src/teamix-evo-design-uni-manager/boundaries.md +3 -3
- package/src/teamix-evo-design-uni-manager/brand.md +1 -1
- package/src/teamix-evo-design-uni-manager/components.md +30 -28
- package/src/teamix-evo-design-uni-manager/foundations.md +21 -21
- package/src/teamix-evo-design-uni-manager/generation-flow.md +3 -1
- package/src/teamix-evo-design-uni-manager/patterns/detail-page.md +1 -1
- package/src/teamix-evo-design-uni-manager/patterns/form-page.md +18 -18
- package/src/teamix-evo-design-uni-manager/patterns/list-page.md +29 -29
- package/src/teamix-evo-design-uni-manager/patterns/page-types.md +11 -11
- package/src/teamix-evo-design-uni-manager/philosophy.md +1 -1
- package/src/teamix-evo-design-uni-manager/rules/boundaries.rules.json +3 -3
- package/src/teamix-evo-design-opentrek/patterns/sidebar.md +0 -122
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTrek Design Tokens — v4.1(teamix-evo 对齐版)
|
|
3
|
+
*
|
|
4
|
+
* 信源:TrekClaw v4.1(OP Design Tokens v4.1 / tokens-v4.json)
|
|
5
|
+
* 品牌主色:#0055EE(深蓝 218.6°)
|
|
6
|
+
*
|
|
7
|
+
* 命名空间:颜色 token 统一使用 `--color-*` 前缀,对齐
|
|
8
|
+
* `@teamix-evo/tokens/variants/opentrek/theme.css` 的 Tailwind v4 @theme 命名。
|
|
9
|
+
* 非颜色 token(spacing / radius / font / shadow / duration / z-index 等)保持原命名,
|
|
10
|
+
* 已与 teamix-evo 一致。
|
|
11
|
+
*
|
|
12
|
+
* 值格式:保留 TrekClaw 的 HSL 三元组(不含 hsl() 包裹),
|
|
13
|
+
* 使用方式:`hsl(var(--color-token-name))`。
|
|
14
|
+
* 这与运行时 `@teamix-evo/tokens` 的 hsl() 包裹格式存在写法差异,
|
|
15
|
+
* 详见同目录 token-mapping.md「值格式差异」章节。
|
|
16
|
+
*
|
|
17
|
+
* 本文件仅作为 AI Skill 设计规则的参考文档,不参与运行时构建。
|
|
18
|
+
* 真正落地的 token 由 `teamix-evo tokens init opentrek` 写入消费方根 `tokens/`。
|
|
19
|
+
*
|
|
20
|
+
* 更新时间:2026-06-10(对齐 v7.8.5:Shadow 注释补齐)
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
@layer base {
|
|
24
|
+
:root {
|
|
25
|
+
/* ========================================
|
|
26
|
+
* Brand / 主色(#0055EE 深蓝,真实色相 218.6°)
|
|
27
|
+
* 实测 #0055EE 的 HSL ≈ hsl(218.6, 100%, 46.7%),以实际色值为准。
|
|
28
|
+
* ======================================== */
|
|
29
|
+
--color-primary: 218.6 100% 46.7%; /* #0055EE 主按钮、链接、选中态、聚焦态边框、行动点、高亮 */
|
|
30
|
+
--color-primary-foreground: 0 0% 100%; /* #FFFFFF 主色上的前景文字 */
|
|
31
|
+
--color-primary-hover: 218.6 100% 42%; /* #004CD6 主按钮 hover 态 */
|
|
32
|
+
--color-primary-pressed: 218.6 100% 37.5%; /* #0044BF 主按钮 pressed 态 */
|
|
33
|
+
--color-primary-glow: 226.9 100% 68.6%; /* #5F82FF 主色光晕 / 渐变起始(sidebar Gradient) */
|
|
34
|
+
|
|
35
|
+
/* ========================================
|
|
36
|
+
* Accent / 辅助色(MasterGuide 提取)
|
|
37
|
+
* 用途:UI 强调色、图标、标签、次要操作
|
|
38
|
+
* 排序:蓝 → 紫 → 杏 → 靛 → 绿 → 洋红 → 青 → 橙 → 莓 → 橄榄
|
|
39
|
+
* ======================================== */
|
|
40
|
+
--color-accent-blue: 217.4 92.8% 67.5%; /* #5F99F9 */
|
|
41
|
+
--color-accent-violet: 261.8 100% 74.1%; /* #AB7BFF */
|
|
42
|
+
--color-accent-apricot: 38.1 95.9% 62.0%; /* #CF8A1C */
|
|
43
|
+
--color-accent-indigo: 238.0 100% 76.7%; /* #888BFF */
|
|
44
|
+
--color-accent-green: 140.2 43.7% 52.0%; /* #4CB36F */
|
|
45
|
+
--color-accent-magenta: 297.6 66.1% 62.9%; /* #DA62DF */
|
|
46
|
+
--color-accent-turquoise: 186.1 98.9% 37.1%; /* #33AFA9 */
|
|
47
|
+
--color-accent-orange: 21.2 89.9% 64.9%; /* #EF702C */
|
|
48
|
+
--color-accent-berry: 341.2 80.1% 66.5%; /* #EE6590 */
|
|
49
|
+
--color-accent-olive: 84.1 51.8% 52.0%; /* #7BAD30 */
|
|
50
|
+
|
|
51
|
+
/* ========================================
|
|
52
|
+
* Gray / 灰色完整色阶(v7.4 重构 — 合并整合 + 反白色新增)
|
|
53
|
+
* 色相统一冷灰调(210°/216°/218°/220°),8 级语义分层
|
|
54
|
+
* ======================================== */
|
|
55
|
+
--color-gray-primary: 220 9% 7%; /* #101113 主要文字、大标题、sidebar 激活文字、顶部导航背景 */
|
|
56
|
+
--color-gray-primary-foreground: 210 33% 99%; /* #FBFCFD 主题反白色 / 侧边栏反白文字色 */
|
|
57
|
+
--color-gray-secondary-foreground: 216 4% 26%; /* #414346 次要文字颜色 */
|
|
58
|
+
--color-muted-foreground: 216 2% 45%; /* #717376 弱化文字色(替代旧 --gray-tertiary) */
|
|
59
|
+
--color-gray-disabled: 210 3% 63%; /* #9DA0A3 禁用文字颜色、输入框激活态 */
|
|
60
|
+
--color-gray-line: 210 9% 91%; /* #E6E8EA 描边色、分割线、卡片边框(合并旧 --gray-border + --color-gray-line) */
|
|
61
|
+
--color-gray-sidebar-accent: 210 12% 93%; /* #ECEEF0 sidebar 激活态背景 */
|
|
62
|
+
--color-gray-muted: 220 18% 97%; /* #F5F6F8 表单禁用态色、目录激活背景色、表头颜色、页面背景、消息填充(合并旧 --gray-bg-dark + --gray-bg + --gray-fill) */
|
|
63
|
+
--color-gray-white: 0 0% 100%; /* #FFFFFF 纯白 */
|
|
64
|
+
|
|
65
|
+
/* ========================================
|
|
66
|
+
* Legacy 别名(保留兼容旧引用,不新增使用)
|
|
67
|
+
* ======================================== */
|
|
68
|
+
--gray-title: 220 9% 7%; /* #101113 */
|
|
69
|
+
--gray-secondary: 216 4% 26%; /* #414346 */
|
|
70
|
+
--gray-tertiary: 216 2% 45%; /* #717376 */
|
|
71
|
+
--gray-border: 210 9% 91%; /* #E6E8EA */
|
|
72
|
+
--gray-fill: 220 18% 97%; /* #F5F6F8 */
|
|
73
|
+
--gray-bg-dark: 220 18% 97%; /* #F5F6F8 */
|
|
74
|
+
--gray-bg: 220 18% 97%; /* #F5F6F8 */
|
|
75
|
+
|
|
76
|
+
/* ========================================
|
|
77
|
+
* 语义映射(shadcn 标准)
|
|
78
|
+
* ======================================== */
|
|
79
|
+
--color-foreground: 220 9% 7%; /* #101113 shadcn 主前景文字(→ --color-gray-primary) */
|
|
80
|
+
--page-title: 220 9% 7%; /* #101113 页面标题色(v7.4 起合并 → --color-gray-primary) */
|
|
81
|
+
--color-border: 210 9% 91%; /* #E6E8EA shadcn 标准边框 token(→ --color-gray-line),区别于 colorMapping.border 语义引用 */
|
|
82
|
+
--color-input: 210 9% 91%; /* #E6E8EA shadcn input 边框色(→ --color-gray-line) */
|
|
83
|
+
--color-ring: 218.6 100% 46.7%; /* #0055EE shadcn focus ring(→ --color-primary) */
|
|
84
|
+
|
|
85
|
+
/* ========================================
|
|
86
|
+
* Background
|
|
87
|
+
* ======================================== */
|
|
88
|
+
--color-background: 220 18% 97%; /* #F5F6F8 页面级背景 */
|
|
89
|
+
--color-background-dark: 216 42.9% 93.1%; /* #E6ECF5 导航经过色(legacy) */
|
|
90
|
+
--color-background-panel: 220 27.3% 97.8%; /* #F8F9FB 画布配置面板背景 */
|
|
91
|
+
--background-end: 220 18% 97%; /* #F5F6F8 页面背景渐变结束色(与 --color-background 一致) */
|
|
92
|
+
|
|
93
|
+
/* ========================================
|
|
94
|
+
* Card / Popover / Secondary / Accent
|
|
95
|
+
* ======================================== */
|
|
96
|
+
--color-card: 0 0% 100%; /* #FFFFFF 卡片与弹窗背景、输入框背景 */
|
|
97
|
+
--color-card-foreground: 220 9% 7%; /* #101113 卡片上的前景文字(→ --color-gray-primary) */
|
|
98
|
+
--color-popover: 0 0% 100%; /* #FFFFFF 浮层(Popover/Dropdown)背景 */
|
|
99
|
+
--color-popover-foreground: 220 9% 7%; /* #101113 浮层文字色(→ --color-gray-primary) */
|
|
100
|
+
--color-secondary: 220 18% 97%; /* #F5F6F8 shadcn secondary 背景(→ --color-gray-muted) */
|
|
101
|
+
--color-secondary-foreground: 220 9% 7%; /* #101113 shadcn secondary 文字(→ --color-gray-primary) */
|
|
102
|
+
--color-muted: 220 18% 97%; /* #F5F6F8 shadcn muted 背景(→ --color-gray-muted),区别于 --color-muted-foreground 文字色 */
|
|
103
|
+
--color-accent: 220 18% 97%; /* #F5F6F8 shadcn accent 高亮(→ --color-gray-muted) */
|
|
104
|
+
--color-accent-foreground: 220 9% 7%; /* #101113 shadcn accent 上的前景文字(→ --color-gray-primary) */
|
|
105
|
+
|
|
106
|
+
/* ========================================
|
|
107
|
+
* Success / 成功色(#16A34A,Tailwind green-600)
|
|
108
|
+
* ======================================== */
|
|
109
|
+
--color-success: 142 76% 36%; /* #16A34A 成功状态、运行中、已开通 */
|
|
110
|
+
--color-success-foreground: 0 0% 100%; /* #FFFFFF 成功色上的前景文字 */
|
|
111
|
+
--color-success-hover: 142 72% 29%; /* #15803D 成功按钮 hover 态 */
|
|
112
|
+
--color-success-pressed: 143 60% 24%; /* #166534 成功按钮 pressed 态 */
|
|
113
|
+
--color-success-bg: 152 82% 96%; /* #ECFDF5 成功状态背景 */
|
|
114
|
+
--color-success-border: 142 77% 73%; /* #86EFAC 成功状态边框 */
|
|
115
|
+
--success-dark: 142 72% 29%; /* #15803D → --color-success-hover */
|
|
116
|
+
--success-medium: 142 77% 73%; /* #86EFAC → --color-success-border */
|
|
117
|
+
--success-light: 152 82% 96%; /* #ECFDF5 → --color-success-bg */
|
|
118
|
+
--success-aura: 0 0 8px rgba(22, 163, 74, 0.25); /* 成功色光晕(box-shadow 用) */
|
|
119
|
+
|
|
120
|
+
/* ========================================
|
|
121
|
+
* Destructive / 警示色(#DC2626,Tailwind red-600)
|
|
122
|
+
* ======================================== */
|
|
123
|
+
--color-destructive: 0 72% 51%; /* #DC2626 错误状态、已停止、失败、删除操作 */
|
|
124
|
+
--color-destructive-foreground: 0 0% 100%; /* #FFFFFF 警示色上的前景文字 */
|
|
125
|
+
--color-destructive-hover: 0 74% 42%; /* #B91C1C destructive 按钮 hover 态 */
|
|
126
|
+
--color-destructive-pressed: 0 70% 35%; /* #991B1B 警示按钮 pressed 态 */
|
|
127
|
+
--color-destructive-bg: 0 86% 97%; /* #FEF2F2 错误状态背景 */
|
|
128
|
+
--color-destructive-border: 0 93% 82%; /* #FCA5A5 错误状态边框 */
|
|
129
|
+
--destructive-dark: 0 74% 42%; /* #B91C1C → --color-destructive-hover */
|
|
130
|
+
--destructive-light: 0 86% 97%; /* #FEF2F2 → --color-destructive-bg */
|
|
131
|
+
--destructive-aura: 0 0 8px rgba(220, 38, 38, 0.25); /* 警示色光晕(box-shadow 用) */
|
|
132
|
+
|
|
133
|
+
/* ========================================
|
|
134
|
+
* Warning / 提醒色(#D97706,Tailwind amber-600)
|
|
135
|
+
* ======================================== */
|
|
136
|
+
--color-warning: 40 88% 48%; /* #D97706 警告状态、创建中、停止中 */
|
|
137
|
+
--color-warning-foreground: 0 0% 100%; /* #FFFFFF 警告色上的前景文字 */
|
|
138
|
+
--color-warning-hover: 38 85% 40%; /* #B45309 警告按钮 hover 态 */
|
|
139
|
+
--color-warning-pressed: 35 78% 34%; /* #92400E 警告按钮 pressed 态 */
|
|
140
|
+
--color-warning-bg: 43 100% 94%; /* #FFF3DB 警告状态背景 */
|
|
141
|
+
--color-warning-border: 40 92% 68%; /* #FBBF24 警告状态边框 */
|
|
142
|
+
--warning-dark: 38 85% 40%; /* #B45309 → --color-warning-hover */
|
|
143
|
+
--warning-light: 43 100% 94%; /* #FFF3DB → --color-warning-bg */
|
|
144
|
+
--warning-aura: 0 0 8px rgba(217, 119, 6, 0.25); /* 警告色光晕(box-shadow 用) */
|
|
145
|
+
|
|
146
|
+
/* ========================================
|
|
147
|
+
* Info / 信息提示色(#2563EB,Tailwind blue-600)
|
|
148
|
+
* ======================================== */
|
|
149
|
+
--color-info: 221 83% 53%; /* #2563EB 信息提示、异步操作中 */
|
|
150
|
+
--color-info-foreground: 0 0% 100%; /* #FFFFFF 信息色上的前景文字 */
|
|
151
|
+
--color-info-hover: 224 76% 48%; /* #1D4ED8 信息按钮 hover 态 */
|
|
152
|
+
--color-info-pressed: 226 71% 40%; /* #1E40AF 信息按钮 pressed 态 */
|
|
153
|
+
--color-info-bg: 214 100% 97%; /* #EFF6FF 信息状态背景 */
|
|
154
|
+
--color-info-border: 212 96% 78%; /* #93C5FD 信息状态边框 */
|
|
155
|
+
--color-info-light: 213 100% 98.2%; /* #F6FAFF 信息浅色背景(与 sidebar gradient 联动) */
|
|
156
|
+
--info-aura: 0 0 8px rgba(37, 99, 235, 0.25); /* 信息色光晕(box-shadow 用) */
|
|
157
|
+
|
|
158
|
+
/* ========================================
|
|
159
|
+
* 图表用色 — 10 色标准组合(MasterGuide 提取)
|
|
160
|
+
* ======================================== */
|
|
161
|
+
--color-chart-1: 246.4 93.4% 64.5%; /* #6250F9 */
|
|
162
|
+
--color-chart-2: 261.8 100% 74.1%; /* #33AFA9 */
|
|
163
|
+
--color-chart-3: 297.3 56.9% 54.5%; /* #AE34B4 */
|
|
164
|
+
--color-chart-4: 36.1 88.1% 57.1%; /* #5F99F9 */
|
|
165
|
+
--color-chart-5: 266.2 77.7% 57.8%; /* #9C660D */
|
|
166
|
+
--color-chart-6: 140.4 40.4% 50.0%; /* #EE6590 */
|
|
167
|
+
--color-chart-7: 217.4 68.5% 51.4%; /* #068580 */
|
|
168
|
+
--color-chart-8: 49.4 65.0% 42.5%; /* #AB7BFF */
|
|
169
|
+
--color-chart-9: 207.7 11.0% 53.7%; /* #5A8219 */
|
|
170
|
+
--color-chart-10: 341.2 80.1% 66.5%; /* #7C8A96 */
|
|
171
|
+
|
|
172
|
+
/* ========================================
|
|
173
|
+
* Legacy 别名(兼容 --data-* 旧命名)
|
|
174
|
+
* ======================================== */
|
|
175
|
+
--data-1: var(--color-chart-1); /* → --color-chart-1 */
|
|
176
|
+
--data-2: var(--color-chart-2); /* → --color-chart-2 */
|
|
177
|
+
--data-3: var(--color-chart-3); /* → --color-chart-3 */
|
|
178
|
+
--data-4: var(--color-chart-4); /* → --color-chart-4 */
|
|
179
|
+
--data-5: var(--color-chart-5); /* → --color-chart-5 */
|
|
180
|
+
--data-6: var(--color-chart-6); /* → --color-chart-6 */
|
|
181
|
+
--data-7: var(--color-chart-7); /* → --color-chart-7 */
|
|
182
|
+
--data-8: var(--color-chart-8); /* → --color-chart-8 */
|
|
183
|
+
--data-9: var(--color-chart-9); /* → --color-chart-9 */
|
|
184
|
+
--data-10: var(--color-chart-10); /* → --color-chart-10 */
|
|
185
|
+
|
|
186
|
+
/* ========================================
|
|
187
|
+
* 顶栏 / 侧边栏
|
|
188
|
+
* ======================================== */
|
|
189
|
+
--color-topbar: 0 0% 7.8%; /* #141414 顶栏背景色 */
|
|
190
|
+
--color-topbar-foreground: 0 0% 100%; /* #FFFFFF 顶栏文字色 */
|
|
191
|
+
--color-topbar-divider: 0 0% 30.2%; /* #4D4D4D 顶栏分割线 */
|
|
192
|
+
--topbar-height: 48px; /* 顶栏高度 */
|
|
193
|
+
--color-sidebar: 220 18% 97%; /* #F5F6F8 侧边栏背景色(v7.4 起 → --color-gray-muted) */
|
|
194
|
+
--color-sidebar-foreground: 220 9% 7%; /* #101113 侧边栏默认文字色(v7.4 起 → --color-gray-primary) */
|
|
195
|
+
--color-sidebar-active: 210 12% 93%; /* #ECEEF0 侧边栏激活态背景色(v7.4 起 → --color-gray-sidebar-accent) */
|
|
196
|
+
--color-sidebar-active-foreground: 220 9% 7%; /* #101113 侧边栏激活态文字色(v7.4 起 → --color-gray-primary) */
|
|
197
|
+
--color-sidebar-hover: 220 18% 97%; /* #F5F6F8 侧边栏菜单项 hover 背景色(v7.4 起 → --color-gray-muted) */
|
|
198
|
+
--color-sidebar-title: 220 9% 7%; /* #101113 侧边栏标题文字色(v7.4 起 → --color-gray-primary) */
|
|
199
|
+
--color-sidebar-group: 216 2% 45%; /* #717376 侧边栏分组标题文字色(v7.4 起 → --color-muted-foreground) */
|
|
200
|
+
--color-sidebar-item: 220 9% 7%; /* #101113 侧边栏菜单项文字色(v7.4 起 → --color-gray-primary) */
|
|
201
|
+
--color-sidebar-item-muted: 216 4% 26%; /* #414346 侧边栏次要菜单项文字色(v7.4 起 → --color-gray-secondary-foreground) */
|
|
202
|
+
--color-sidebar-accent: 210 12% 93%; /* #F6FAFF 表格行选中背景(sidebar 选中态用 --color-sidebar-active,见 sidebarRules.colors.menuItem.active) */
|
|
203
|
+
--color-sidebar-accent-foreground: 218.6 100% 46.7%; /* #0055EE 侧边栏强调文字色(= primary) */
|
|
204
|
+
--color-sidebar-border: 210 9% 91%; /* #E6E8EA 侧边栏内部分隔线(菜单组间/折叠态边框),v7.4 起 → --color-gray-line;侧边栏容器禁止右侧外边框(详见 sidebarRules.colors.container.border: none) */
|
|
205
|
+
--color-sidebar-ring: 218.6 100% 46.7%; /* #0055EE 侧边栏焦点环(= primary) */
|
|
206
|
+
--color-sidebar-primary: 218.6 100% 46.7%; /* #0055EE 侧边栏主色(= primary) */
|
|
207
|
+
--color-sidebar-primary-foreground: 0 0% 100%; /* #FFFFFF 侧边栏主色上的文字(白色) */
|
|
208
|
+
--color-avatar-bg: 216 11.1% 91.2%; /* #E3E5E8 Sidebar 头像背景色 */
|
|
209
|
+
|
|
210
|
+
/* ========================================
|
|
211
|
+
* Sidebar Collapsed State
|
|
212
|
+
* ======================================== */
|
|
213
|
+
--sidebar-collapsed-width: 68px; /* 侧边栏收起状态宽度(仅显示图标) */
|
|
214
|
+
--sidebar-menu-item-height: 40px; /* 菜单项高度(展开/收起共用) */
|
|
215
|
+
--sidebar-menu-item-size-collapsed: 40px; /* 收起态菜单项正方形尺寸 */
|
|
216
|
+
--sidebar-menu-item-gap-collapsed: 0px; /* 收起态菜单项内部 gap(消除隐形文字节点的 flex 间距) */
|
|
217
|
+
--sidebar-header-padding-collapsed: 0 12px; /* 收起态品牌区 padding */
|
|
218
|
+
--sidebar-footer-padding-collapsed: 12px 10px 16px; /* 收起态底部 padding */
|
|
219
|
+
--sidebar-flyout-z-index: 200; /* Flyout 浮层 z-index */
|
|
220
|
+
--sidebar-flyout-min-width: 160px; /* Flyout 浮层最小宽度 */
|
|
221
|
+
--sidebar-flyout-item-height: 36px; /* Flyout 浮层菜单项高度 */
|
|
222
|
+
--sidebar-centered-axis: 34px; /* 收起态视觉中轴(68/2 = 34px) */
|
|
223
|
+
--sidebar-expand-icon-size: 14px; /* 展开/折叠按钮图标尺寸 */
|
|
224
|
+
|
|
225
|
+
/* ========================================
|
|
226
|
+
* 类型标识 - API / MCP
|
|
227
|
+
* ======================================== */
|
|
228
|
+
--color-type-api: 221 83% 53%; /* #2563EB API 类型主色 */
|
|
229
|
+
--color-type-api-light: 214 100% 92%; /* #D6E8FF API 类型浅底 */
|
|
230
|
+
--color-type-api-border: 213 97% 87%; /* #BFDBFE API 类型边框 */
|
|
231
|
+
--color-type-mcp: 271 81% 56%; /* #9333EA MCP 类型主色 */
|
|
232
|
+
--color-type-mcp-light: 264 77% 95%; /* #F0E8FC MCP 类型浅底 */
|
|
233
|
+
--color-type-mcp-border: 269 100% 92%; /* #E9D5FF MCP 类型边框 */
|
|
234
|
+
|
|
235
|
+
/* ========================================
|
|
236
|
+
* 状态指示点
|
|
237
|
+
* ======================================== */
|
|
238
|
+
--color-status-running: 142 76% 36%; /* #16A34A 运行中(→ --color-success) */
|
|
239
|
+
--color-status-stopped: 222 7.6% 74.1%; /* #BABCBF 已停止(→ --color-gray-disabled 同色系) */
|
|
240
|
+
--color-status-error: 0 72% 51%; /* #DC2626 错误(→ --color-destructive) */
|
|
241
|
+
|
|
242
|
+
/* ========================================
|
|
243
|
+
* 终端 / 代码块
|
|
244
|
+
* ======================================== */
|
|
245
|
+
--color-terminal: 222 47% 11%; /* #0F172A 终端背景 */
|
|
246
|
+
--color-terminal-foreground: 142 69% 58%; /* #4ADE80 终端前景(绿色字符) */
|
|
247
|
+
|
|
248
|
+
/* ========================================
|
|
249
|
+
* Font Family / 字体族(v7.8.4 新增)
|
|
250
|
+
* body 必须使用 var(--font-sans),代码片段使用 var(--font-mono)
|
|
251
|
+
* 禁止在页面中硬编码 font-family 堆栈
|
|
252
|
+
* ======================================== */
|
|
253
|
+
--font-sans: 'PingFang SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; /* UI 文字、正文、标题、标签、按钮等所有非代码文本 */
|
|
254
|
+
--font-mono: 'SF Mono', Monaco, 'Courier New', monospace; /* 代码/ID/IP/版本号/实例规格等机器可读标识符 */
|
|
255
|
+
|
|
256
|
+
/* ========================================
|
|
257
|
+
* Typography / 字号等级(v4 规则)
|
|
258
|
+
* base=12 / lg=14 / xl=16 / 2xl=18
|
|
259
|
+
* ======================================== */
|
|
260
|
+
--font-size-base: 0.75rem; /* 正文/标签/脚注/输入框/表格/Badge/分页/页面副标题 */
|
|
261
|
+
--font-size-lg: 0.875rem; /* 强调正文/弹窗标题/抽屉标题/Tab */
|
|
262
|
+
--font-size-xl: 1rem; /* Sidebar 品牌区文字、小标题、卡片标题、区块标题 */
|
|
263
|
+
--font-size-2xl: 1.125rem; /* 页面主标题(PageHeader)、概览统计大数字 */
|
|
264
|
+
--font-size-page-header: 1.125rem; /* PageHeader 页面主标题专用字号(映射到 --font-size-2xl)。生成页面时 .page-header-title 必须使用此变量。 */
|
|
265
|
+
--font-weight-normal: 400; /* 正文、Tab 常态、表格单元格 */
|
|
266
|
+
--font-weight-medium: 500; /* 标签、导航、Tab 激活、弹窗标题、按钮 */
|
|
267
|
+
--font-weight-black: 900; /* Sidebar 品牌区文字 */
|
|
268
|
+
--line-height-input: 1.5;
|
|
269
|
+
--line-height-normal: 1.5;
|
|
270
|
+
--line-height-dialog-title: 1.57;
|
|
271
|
+
--letter-spacing-tight: -0.025em;
|
|
272
|
+
--letter-spacing-normal: 0em;
|
|
273
|
+
|
|
274
|
+
/* ========================================
|
|
275
|
+
* 间距(v4 保留项目原值:button-gap=8 / card-gap=16 / page-container-*)
|
|
276
|
+
* ======================================== */
|
|
277
|
+
--gap-xs: 4px; /* Button 内部 icon↔文字间距 */
|
|
278
|
+
--btn-padding-x: 16px; /* 按钮水平内边距(默认尺寸 height=32px) */
|
|
279
|
+
--btn-padding-x-sm: 12px; /* 小号按钮水平内边距(卡片内操作等紧凑场景) */
|
|
280
|
+
--button-gap: 8px; /* 操作栏按钮行/筛选器行/分页器间距 */
|
|
281
|
+
--tabs-gap: 24px; /* Tabs 标签项之间的水平间距 */
|
|
282
|
+
--card-gap: 16px; /* 卡片网格间距/区块之间垂直间距 */
|
|
283
|
+
--page-container-gap: 16px; /* 白卡外间距同义别名(v7.5 由 20px → 16px) */
|
|
284
|
+
--page-container-padding: 16px; /* 白卡外间距(上/右/下)/ PageContainer 内边距(top/right/bottom)(v7.5 由 20px → 16px) */
|
|
285
|
+
--page-container-padding-left: 0px; /* 主内容区左边缘 → 白卡容器左边缘间距;sidebar 与内容区之间不预留间距,白卡紧贴 sidebar 右侧 */
|
|
286
|
+
--card-padding-x: 20px; /* 白卡容器(ContentCard)内部左右内边距(v7.5 由 24px → 20px);Card 内所有子组件的唯一外侧呼吸来源。独立于 --page-container-padding(PageContainer 外层间距 16px),两者属不同设计层级,不可混用。 */
|
|
287
|
+
|
|
288
|
+
/* ========================================
|
|
289
|
+
* Layout Frame Width
|
|
290
|
+
* ======================================== */
|
|
291
|
+
--layout-sidebar-width: 240px;
|
|
292
|
+
|
|
293
|
+
/* ========================================
|
|
294
|
+
* Table Cell Padding (v7.5 三层模型)
|
|
295
|
+
* ======================================== */
|
|
296
|
+
--table-cell-padding-x: 12px; /* 中间列 td 水平内边距 */
|
|
297
|
+
--table-first-cell-padding-left: 20px; /* 首列 padding-left(额外缩进 20px) */
|
|
298
|
+
--table-last-cell-padding-right: 20px; /* 末列 padding-right(额外缩进 20px) */
|
|
299
|
+
|
|
300
|
+
/* ========================================
|
|
301
|
+
* CardGrid 列宽预设 (v7.2 新增,业务卡片页 minWidth token 化)
|
|
302
|
+
* ======================================== */
|
|
303
|
+
--card-grid-min-compact: 240px; /* iconStyle=avatar + density=minimal */
|
|
304
|
+
--card-grid-min-standard: 300px; /* iconStyle=avatar + density=standard(默认) */
|
|
305
|
+
--card-grid-min-comfortable: 320px; /* iconStyle=tile + density=standard */
|
|
306
|
+
--card-grid-min-feature: 360px; /* iconStyle=avatar + density=complex */
|
|
307
|
+
|
|
308
|
+
/* ========================================
|
|
309
|
+
* Page Header
|
|
310
|
+
* ======================================== */
|
|
311
|
+
--page-header-height: 64px; /* PageHeader 高度 */
|
|
312
|
+
--breadcrumb-height: 64px; /* Breadcrumb 高度 */
|
|
313
|
+
|
|
314
|
+
/* ========================================
|
|
315
|
+
* ActionToolbar
|
|
316
|
+
* ======================================== */
|
|
317
|
+
--action-toolbar-search-combo-gap: 20px; /* ActionToolbar 中 SearchCombo 与 .left-actions 间距 */
|
|
318
|
+
|
|
319
|
+
/* ========================================
|
|
320
|
+
* 圆角(v4 更新)
|
|
321
|
+
* sm=4 / md=8 / lg=12 / xl=16 / full=9999
|
|
322
|
+
* drawer-radius 已移除
|
|
323
|
+
* ======================================== */
|
|
324
|
+
--radius: 1rem; /* 全局基准圆角(= --radius-xl 16px,对话框/大型容器) */
|
|
325
|
+
--radius-sm: 4px; /* Badge、Chip、Checkbox、select-item */
|
|
326
|
+
--radius-md: 8px; /* 按钮、输入框、Select trigger、Toggle capsule */
|
|
327
|
+
--radius-lg: 12px; /* 卡片 */
|
|
328
|
+
--radius-xl: 16px; /* 对话框、大型容器(= --radius) */
|
|
329
|
+
--radius-full: 9999px; /* 完全圆形、药丸标签、Switch handle */
|
|
330
|
+
--card-radius: 12px; /* → --radius-lg(卡片圆角,原 8px 已升至 12px) */
|
|
331
|
+
--input-radius: 8px; /* → --radius-md(输入框圆角,原 6px 已升至 8px) */
|
|
332
|
+
|
|
333
|
+
/* ========================================
|
|
334
|
+
* Input / 输入框
|
|
335
|
+
* ======================================== */
|
|
336
|
+
--input-height: 32px;
|
|
337
|
+
--input-font-size: 12px;
|
|
338
|
+
--text-font-size: 14px; /* → --font-size-lg(强调正文 legacy 别名) */
|
|
339
|
+
--input-line-height: 18px;
|
|
340
|
+
--input-padding-x: 8px;
|
|
341
|
+
--input-padding-y: 7px;
|
|
342
|
+
--color-input-placeholder: 0 0% 66.7%; /* #AAAAAA 占位符、不可用文字 */
|
|
343
|
+
--input-icon-size: 16px;
|
|
344
|
+
|
|
345
|
+
/* ========================================
|
|
346
|
+
* Dialog / 弹窗
|
|
347
|
+
* ======================================== */
|
|
348
|
+
--dialog-width-s: 400px; /* 二次确认/极简字段 */
|
|
349
|
+
--dialog-width-m: 600px; /* 常用弹窗 */
|
|
350
|
+
--dialog-width-l: 800px; /* 宽表格 */
|
|
351
|
+
--dialog-width-xl: 1000px; /* 分栏/超复杂 */
|
|
352
|
+
--dialog-header-height: 46px;
|
|
353
|
+
--dialog-footer-height: 64px;
|
|
354
|
+
--dialog-body-padding-x: 20px;
|
|
355
|
+
--dialog-body-padding-y: 16px;
|
|
356
|
+
--shadow-dialog: 0px 12px 48px 0px rgba(0, 0, 0, 0.2);
|
|
357
|
+
|
|
358
|
+
/* ========================================
|
|
359
|
+
* Drawer / 抽屉
|
|
360
|
+
* ======================================== */
|
|
361
|
+
--drawer-width-s: 400px;
|
|
362
|
+
--drawer-width-m: 600px;
|
|
363
|
+
--drawer-width-l: 800px;
|
|
364
|
+
--drawer-width-xl: 1200px;
|
|
365
|
+
|
|
366
|
+
/* ========================================
|
|
367
|
+
* Shadow / 阴影等级(v4 新增;v7.6 补充 ContentCard surface 规则)
|
|
368
|
+
* ----------------------------------------
|
|
369
|
+
* v7.6 内容区大卡片容器(ContentCard / G-C024 作为白卡容器使用时)表面规则:
|
|
370
|
+
* - 去掉 1px solid border(不使用 --color-gray-line 边框)
|
|
371
|
+
* - 使用最弱阴影 var(--shadow-sm) = 0 1px 2px rgba(0,0,0,0.05)
|
|
372
|
+
* 详见 design-tokens.json · shadowMapping
|
|
373
|
+
* ======================================== */
|
|
374
|
+
--shadow-none: 0 0 #0000; /* 无阴影 */
|
|
375
|
+
--shadow-sm: 0 1px 2px rgba(0,0,0,0.05); /* 按钮、输入框微浮起;v7.6 起作为 ContentCard 白卡容器唯一阴影源(无边框方案的最弱阴影) */
|
|
376
|
+
--shadow-DEFAULT: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); /* 卡片默认阴影(v7.6 起 ContentCard 不再使用,已转为 sm) */
|
|
377
|
+
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); /* 卡片、面板、Dropdown */
|
|
378
|
+
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); /* Popover、Toast、右键菜单 */
|
|
379
|
+
--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); /* Dialog、Sheet、Command Palette */
|
|
380
|
+
--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25); /* 顶层模态、全屏遮罩 */
|
|
381
|
+
--shadow-dialog: 0px 12px 48px 0px rgba(0, 0, 0, 0.2); /* 弹窗专属阴影 */
|
|
382
|
+
--shadow-select-content: 0 6px 24px rgba(0,0,0,0.1); /* Select 弹层阴影 */
|
|
383
|
+
|
|
384
|
+
/* ========================================
|
|
385
|
+
* Animation / 动画(v4 新增)
|
|
386
|
+
* ======================================== */
|
|
387
|
+
--duration-fast: 150ms; /* 微交互(hover/focus) */
|
|
388
|
+
--duration-normal: 200ms; /* 常规过渡(Accordion/Tabs) */
|
|
389
|
+
--duration-slow: 300ms; /* 面板滑入(Sheet/Dialog) */
|
|
390
|
+
--duration-slower: 500ms; /* 大型展开动画 */
|
|
391
|
+
--easing-linear: cubic-bezier(0, 0, 1, 1);
|
|
392
|
+
--easing-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
393
|
+
--easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
394
|
+
--easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
395
|
+
--easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
396
|
+
|
|
397
|
+
/* ========================================
|
|
398
|
+
* Z-index 层级
|
|
399
|
+
* ======================================== */
|
|
400
|
+
--z-base: 0;
|
|
401
|
+
--z-dropdown: 50;
|
|
402
|
+
--z-sticky: 100;
|
|
403
|
+
--z-overlay: 200;
|
|
404
|
+
--z-modal: 300;
|
|
405
|
+
--z-tooltip: 500;
|
|
406
|
+
|
|
407
|
+
/* ========================================
|
|
408
|
+
* Form Layout / 表单布局
|
|
409
|
+
* ======================================== */
|
|
410
|
+
--form-label-width: 140px; /* 左右布局下 label 列宽度 */
|
|
411
|
+
--form-control-max-width: 400px; /* 表单控件最大宽度 */
|
|
412
|
+
--form-row-gap: 24px; /* 表单分组间距 */
|
|
413
|
+
--form-row-padding-y: 12px; /* 表单行垂直内边距 */
|
|
414
|
+
--form-description-font-size: 13px; /* 表单描述文字字号 */
|
|
415
|
+
--form-required-indicator-margin-left: 2px; /* 必填星号与 label 间距 */
|
|
416
|
+
|
|
417
|
+
/* ========================================
|
|
418
|
+
* Pagination / 分页
|
|
419
|
+
* ======================================== */
|
|
420
|
+
--pagination-button-size: 32px; /* 分页按钮正方形尺寸 */
|
|
421
|
+
--pagination-arrow-icon-size: 20px; /* 左右翻页箭头图标尺寸 */
|
|
422
|
+
--pagination-ellipsis-icon-size: 16px; /* 省略号图标尺寸 */
|
|
423
|
+
--button-sm-height: 28px; /* 小号按钮高度(分页/紧凑场景共用) */
|
|
424
|
+
|
|
425
|
+
/* ========================================
|
|
426
|
+
* Stepper / 步进器
|
|
427
|
+
* ======================================== */
|
|
428
|
+
--stepper-button-width: 32px; /* 加减按钮宽度 */
|
|
429
|
+
--stepper-button-height: 36px; /* 加减按钮高度 */
|
|
430
|
+
--stepper-input-width: 60px; /* 数值输入框宽度 */
|
|
431
|
+
--stepper-input-height: 36px; /* 数值输入框高度 */
|
|
432
|
+
}
|
|
433
|
+
}
|