paseo-antd-themes 0.1.0 → 0.1.1

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/DESIGN.md CHANGED
@@ -59,7 +59,7 @@
59
59
  规则:
60
60
 
61
61
  - **降级强调用 `text-text-secondary`,不要用 `opacity`**。主题已经给了四档,`opacity: 0.6` 在不同表面上会落进对比度盲区。
62
- - `text-text-quaternary` 在浅色下只有约 3:1,任何需要阅读的内容都不许用它;它只用于 placeholder、disabled。
62
+ - `text-text-quaternary` 在浅色下约 2.5:1,任何需要阅读的内容都不许用它;它只用于 placeholder、disabled。
63
63
  - 三级(元信息)的 4.5:1 承诺覆盖页面底与卡片两种表面;浮层(`#FFFFFF` / `#272A29`)上不保证,浮层里的说明文字升一档改用二级。
64
64
  - 表格数字、ID、代码、diff 内容用 `font-mono`;金额和统计加 `tabular-nums` 保持列对齐。
65
65
  - 标题不需要单独颜色:用 `text-text` + 字重 600 表达层级。
package/MAPPING.md CHANGED
@@ -90,9 +90,9 @@ Claude 品牌表面 + Claude Code 信号色 + paseo 归一化状态色(OKLCH L
90
90
  | `colorBgSpotlight` | map | `#1F1E1D` | `—` | Tooltip stays dark ink with white text. |
91
91
  | `colorBgMask` | map | `rgba(20, 20, 19, 0.45)` | `—` | |
92
92
  | `colorText` | map | `#3C3C2C` | `foreground` | |
93
- | `colorTextSecondary` | map | `#5C5C54` | `foregroundMuted` | |
94
- | `colorTextTertiary` | map | `#65635E` | `foregroundExtraMuted` | |
95
- | `colorTextQuaternary` | map | `#878681` | `foregroundFaint` | Placeholder/disabled only — not a body-text level. |
93
+ | `colorTextSecondary` | map | `#55554B` | `foregroundMuted` | Deepened one step from the sampled #5C5C54 so tiers 2→3 stay clearly separated (1.31 apart). |
94
+ | `colorTextTertiary` | map | `#65635E` | `foregroundExtraMuted` | Held at ≥4.5:1 — this tier carries timestamps and meta text. |
95
+ | `colorTextQuaternary` | map | `#98978F` | `foregroundFaint` | Placeholder/disabled only — 2.5:1, visibly sunken; not a body-text level. |
96
96
  | `colorTextLightSolid` | map | `#FFFFFF` | `—` | Danger/solid labels stay white; primary buttons override with Button.primaryColor. |
97
97
  | `colorBorder` | map | `#DBD9D0` | `border` | |
98
98
  | `colorBorderSecondary` | map | `#E8E6DF` | `borderAccent` | |
@@ -191,9 +191,9 @@ hover/active/色阶槽位),浅色写在 `:root`,深色同时写在 `@media
191
191
  | `--paseo-surface-head` | `#E0DDD0` | `#1E2120` | `paseoSurfaceHead` / `paseoSurface1` | 深色主题没有 paper-on-paper 表头概念,用面板色 surface1 补位(与 Table.headerBg 一致)。 |
192
192
  | `--paseo-surface-hover` | `#DDD9CE` | `#1E2120` | `paseoSurfaceHover` / `paseoSurface1` | 深色主题的卡片 hover 就是面板色 surface1(与 Table.rowHoverBg 一致)。 |
193
193
  | `--paseo-text` | `#3C3C2C` | `#fafafa` | `colorText` | |
194
- | `--paseo-text-secondary` | `#5C5C54` | `#A1A5A4` | `colorTextSecondary` | |
194
+ | `--paseo-text-secondary` | `#55554B` | `#A1A5A4` | `colorTextSecondary` | |
195
195
  | `--paseo-text-tertiary` | `#65635E` | `#8A8E8D` | `colorTextTertiary` | |
196
- | `--paseo-text-quaternary` | `#878681` | `#595B5B` | `colorTextQuaternary` | |
196
+ | `--paseo-text-quaternary` | `#98978F` | `#595B5B` | `colorTextQuaternary` | |
197
197
  | `--paseo-text-light-solid` | `#FFFFFF` | `#fff` | `colorTextLightSolid` | |
198
198
  | `--paseo-border` | `#DBD9D0` | `#252B2A` | `colorBorder` | |
199
199
  | `--paseo-border-secondary` | `#E8E6DF` | `#2F3534` | `colorBorderSecondary` | |
package/dist/index.js CHANGED
@@ -710,12 +710,12 @@ const claudeLight = {
710
710
  // strongest fill / menu selected
711
711
  foreground: "#3C3C2C",
712
712
  // warm ink (9.6:1 on the page)
713
- foregroundMuted: "#5C5C54",
714
- // warm gray (5.8:1)
713
+ foregroundMuted: "#55554B",
714
+ // warm gray (6.4:1) — kept a clear step above tier 3
715
715
  foregroundExtraMuted: "#65635E",
716
716
  // 5.1:1
717
- foregroundFaint: "#878681",
718
- // placeholder/disabled only (3.1:1)
717
+ foregroundFaint: "#98978F",
718
+ // placeholder/disabled only (2.5:1)
719
719
  border: "#DBD9D0",
720
720
  borderAccent: "#E8E6DF",
721
721
  accent: "#BA5B37",
package/dist/tailwind.css CHANGED
@@ -1,508 +1,508 @@
1
- /*
2
- * 由 scripts/gen-tailwind.ts 生成(npm run gen:tailwind),请勿手改。
3
- *
4
- * 默认配对:浅色槽 = Claude Light(:root);深色槽 = Paseo Dark,同时写在
5
- * @media (prefers-color-scheme: dark) 与 .dark(类选择器在后,两种同时命中时类胜出)。
6
- * 换配对时用 paseo-antd-themes/tailwind 的 generateTailwindCss({ light, dark })
7
- * 重新生成这份 CSS,否则工具类色值和组件主题会对不上。
8
- *
9
- * Tailwind v4 用法:在入口 CSS 里
10
- * @import "tailwindcss";
11
- * @import "paseo-antd-themes/tailwind.css";
12
- * 之后 bg-primary、text-secondary、border-split、bg-surface-1 等工具类直接可用。
13
- * 注意 --font-sans 与 --radius-* 覆盖了 Tailwind 的默认刻度(字体用 paseo 的系统栈,圆角对齐 12px 形态)。
14
- */
15
-
16
- @theme inline {
17
- /* 主色 */
18
- --color-primary: var(--paseo-primary);
19
- --color-primary-hover: var(--paseo-primary-hover);
20
- --color-primary-active: var(--paseo-primary-active);
21
- --color-primary-bg: var(--paseo-primary-bg);
22
- --color-primary-bg-hover: var(--paseo-primary-bg-hover);
23
- --color-primary-border: var(--paseo-primary-border);
24
- --color-primary-border-hover: var(--paseo-primary-border-hover);
25
- --color-primary-text: var(--paseo-primary-text);
26
- --color-primary-text-hover: var(--paseo-primary-text-hover);
27
- --color-primary-text-active: var(--paseo-primary-text-active);
28
- /* 状态色 */
29
- --color-success: var(--paseo-success);
30
- --color-success-hover: var(--paseo-success-hover);
31
- --color-success-active: var(--paseo-success-active);
32
- --color-success-bg: var(--paseo-success-bg);
33
- --color-success-bg-hover: var(--paseo-success-bg-hover);
34
- --color-success-border: var(--paseo-success-border);
35
- --color-success-border-hover: var(--paseo-success-border-hover);
36
- --color-success-text: var(--paseo-success-text);
37
- --color-success-text-hover: var(--paseo-success-text-hover);
38
- --color-success-text-active: var(--paseo-success-text-active);
39
- --color-warning: var(--paseo-warning);
40
- --color-warning-hover: var(--paseo-warning-hover);
41
- --color-warning-active: var(--paseo-warning-active);
42
- --color-warning-bg: var(--paseo-warning-bg);
43
- --color-warning-bg-hover: var(--paseo-warning-bg-hover);
44
- --color-warning-border: var(--paseo-warning-border);
45
- --color-warning-border-hover: var(--paseo-warning-border-hover);
46
- --color-warning-text: var(--paseo-warning-text);
47
- --color-warning-text-hover: var(--paseo-warning-text-hover);
48
- --color-warning-text-active: var(--paseo-warning-text-active);
49
- --color-error: var(--paseo-error);
50
- --color-error-hover: var(--paseo-error-hover);
51
- --color-error-active: var(--paseo-error-active);
52
- --color-error-bg: var(--paseo-error-bg);
53
- --color-error-bg-hover: var(--paseo-error-bg-hover);
54
- --color-error-border: var(--paseo-error-border);
55
- --color-error-border-hover: var(--paseo-error-border-hover);
56
- --color-error-text: var(--paseo-error-text);
57
- --color-error-text-hover: var(--paseo-error-text-hover);
58
- --color-error-text-active: var(--paseo-error-text-active);
59
- --color-info: var(--paseo-info);
60
- --color-info-hover: var(--paseo-info-hover);
61
- --color-info-active: var(--paseo-info-active);
62
- --color-info-bg: var(--paseo-info-bg);
63
- --color-info-bg-hover: var(--paseo-info-bg-hover);
64
- --color-info-border: var(--paseo-info-border);
65
- --color-info-border-hover: var(--paseo-info-border-hover);
66
- --color-info-text: var(--paseo-info-text);
67
- --color-info-text-hover: var(--paseo-info-text-hover);
68
- --color-info-text-active: var(--paseo-info-text-active);
69
- /* 表面 */
70
- --color-bg-layout: var(--paseo-bg-layout);
71
- --color-bg-container: var(--paseo-bg-container);
72
- --color-bg-elevated: var(--paseo-bg-elevated);
73
- --color-bg-spotlight: var(--paseo-bg-spotlight);
74
- --color-bg-mask: var(--paseo-bg-mask);
75
- --color-surface-0: var(--paseo-surface-0);
76
- --color-surface-1: var(--paseo-surface-1);
77
- --color-surface-2: var(--paseo-surface-2);
78
- --color-surface-3: var(--paseo-surface-3);
79
- --color-surface-4: var(--paseo-surface-4);
80
- --color-surface-sidebar: var(--paseo-surface-sidebar);
81
- --color-surface-head: var(--paseo-surface-head);
82
- --color-surface-hover: var(--paseo-surface-hover);
83
- /* 文字 */
84
- --color-text: var(--paseo-text);
85
- --color-text-secondary: var(--paseo-text-secondary);
86
- --color-text-tertiary: var(--paseo-text-tertiary);
87
- --color-text-quaternary: var(--paseo-text-quaternary);
88
- --color-text-light-solid: var(--paseo-text-light-solid);
89
- /* 边框与分隔 */
90
- --color-border: var(--paseo-border);
91
- --color-border-secondary: var(--paseo-border-secondary);
92
- --color-split: var(--paseo-split);
93
- /* 填充 */
94
- --color-fill: var(--paseo-fill);
95
- --color-fill-secondary: var(--paseo-fill-secondary);
96
- --color-fill-tertiary: var(--paseo-fill-tertiary);
97
- --color-fill-quaternary: var(--paseo-fill-quaternary);
98
- /* 控件底色 */
99
- --color-control-item-bg-hover: var(--paseo-control-item-bg-hover);
100
- --color-control-item-bg-active: var(--paseo-control-item-bg-active);
101
- /* 链接 */
102
- --color-link: var(--paseo-link);
103
- --color-link-hover: var(--paseo-link-hover);
104
- --color-link-active: var(--paseo-link-active);
105
- /* Diff */
106
- --color-diff-addition: var(--paseo-diff-addition);
107
- --color-diff-addition-text: var(--paseo-diff-addition-text);
108
- --color-diff-deletion: var(--paseo-diff-deletion);
109
- --color-diff-deletion-text: var(--paseo-diff-deletion-text);
110
- /* 状态点 */
111
- --color-status-dot-success: var(--paseo-status-dot-success);
112
- --color-status-dot-danger: var(--paseo-status-dot-danger);
113
- --color-status-dot-warning: var(--paseo-status-dot-warning);
114
- --color-status-dot-running: var(--paseo-status-dot-running);
115
- --color-status-merged: var(--paseo-status-merged);
116
- /* 选区 */
117
- --color-selection: var(--paseo-selection);
118
- /* 身份色 */
119
- --color-identity-violet: var(--paseo-identity-violet);
120
- --color-identity-sky: var(--paseo-identity-sky);
121
- --color-identity-emerald: var(--paseo-identity-emerald);
122
- --color-identity-orange: var(--paseo-identity-orange);
123
- --color-identity-pink: var(--paseo-identity-pink);
124
- --color-identity-indigo: var(--paseo-identity-indigo);
125
- --color-identity-teal: var(--paseo-identity-teal);
126
- --color-identity-red: var(--paseo-identity-red);
127
- --color-identity-amber: var(--paseo-identity-amber);
128
- --color-identity-blue: var(--paseo-identity-blue);
129
- /* 字体 */
130
- --font-sans: var(--paseo-font);
131
- --font-mono: var(--paseo-font-mono);
132
- /* 圆角 */
133
- --radius-xs: var(--paseo-radius-xs);
134
- --radius-sm: var(--paseo-radius-sm);
135
- --radius-md: var(--paseo-radius-md);
136
- --radius-lg: var(--paseo-radius-lg);
137
- }
138
-
139
- :root, :host {
140
- /* 主色 */
141
- --paseo-primary: #BA5B37;
142
- --paseo-primary-hover: #943F25;
143
- --paseo-primary-active: #6E2716;
144
- --paseo-primary-bg: #FAF1EB;
145
- --paseo-primary-bg-hover: #EDE5DF;
146
- --paseo-primary-border: #E0C1AF;
147
- --paseo-primary-border-hover: #D49E83;
148
- --paseo-primary-text: #A34E2D;
149
- --paseo-primary-text-hover: #7D351D;
150
- --paseo-primary-text-active: #571F10;
151
- /* 状态色 */
152
- --paseo-success: #467650;
153
- --paseo-success-hover: #50865c;
154
- --paseo-success-active: #3a6343;
155
- --paseo-success-bg: #d2f6d8;
156
- --paseo-success-bg-hover: #b8f3c2;
157
- --paseo-success-border: #92eda5;
158
- --paseo-success-border-hover: #88de9b;
159
- --paseo-success-text: #467650;
160
- --paseo-success-text-hover: #3e6947;
161
- --paseo-success-text-active: #365d3e;
162
- --paseo-warning: #806340;
163
- --paseo-warning-hover: #91714a;
164
- --paseo-warning-active: #6c5335;
165
- --paseo-warning-bg: #f6e9da;
166
- --paseo-warning-bg-hover: #f2dec7;
167
- --paseo-warning-border: #eccfad;
168
- --paseo-warning-border-hover: #e7c092;
169
- --paseo-warning-text: #806340;
170
- --paseo-warning-text-hover: #725839;
171
- --paseo-warning-text-active: #654e31;
172
- --paseo-error: #a14b43;
173
- --paseo-error-hover: #b7554d;
174
- --paseo-error-active: #883e38;
175
- --paseo-error-bg: #f6e7e5;
176
- --paseo-error-bg-hover: #f2dbd8;
177
- --paseo-error-border: #edcbc7;
178
- --paseo-error-border-hover: #e7bbb6;
179
- --paseo-error-text: #a14b43;
180
- --paseo-error-text-hover: #91423c;
181
- --paseo-error-text-active: #803a34;
182
- --paseo-info: #436c96;
183
- --paseo-info-hover: #4d7baa;
184
- --paseo-info-active: #375b7e;
185
- --paseo-info-bg: #e3ecf6;
186
- --paseo-info-bg-hover: #d5e3f2;
187
- --paseo-info-border: #c3d7ec;
188
- --paseo-info-border-hover: #b0cbe6;
189
- --paseo-info-text: #436c96;
190
- --paseo-info-text-hover: #3b6186;
191
- --paseo-info-text-active: #345577;
192
- /* 表面 */
193
- --paseo-bg-layout: #F0EDE2;
194
- --paseo-bg-container: #F5F4EC;
195
- --paseo-bg-elevated: #FFFFFF;
196
- --paseo-bg-spotlight: #1F1E1D;
197
- --paseo-bg-mask: rgba(20, 20, 19, 0.45);
198
- --paseo-surface-0: #F0EDE2;
199
- --paseo-surface-1: #F5F4EC;
200
- --paseo-surface-2: #FFFFFF;
201
- --paseo-surface-3: #D7D2C7;
202
- --paseo-surface-4: #D1CCBF;
203
- --paseo-surface-sidebar: #E2E0D6;
204
- --paseo-surface-head: #E0DDD0;
205
- --paseo-surface-hover: #DDD9CE;
206
- /* 文字 */
207
- --paseo-text: #3C3C2C;
208
- --paseo-text-secondary: #5C5C54;
209
- --paseo-text-tertiary: #65635E;
210
- --paseo-text-quaternary: #878681;
211
- --paseo-text-light-solid: #FFFFFF;
212
- /* 边框与分隔 */
213
- --paseo-border: #DBD9D0;
214
- --paseo-border-secondary: #E8E6DF;
215
- --paseo-split: rgba(28,11,19,0.06);
216
- /* 填充 */
217
- --paseo-fill: #D1CCBF;
218
- --paseo-fill-secondary: #D7D2C7;
219
- --paseo-fill-tertiary: #DDD9CE;
220
- --paseo-fill-quaternary: #EDEBE0;
221
- /* 控件底色 */
222
- --paseo-control-item-bg-hover: #DDD9CE;
223
- --paseo-control-item-bg-active: #FAF1EB;
224
- /* 链接 */
225
- --paseo-link: #A34E2D;
226
- --paseo-link-hover: #7D351D;
227
- --paseo-link-active: #571F10;
228
- /* Diff */
229
- --paseo-diff-addition: #c1f4ca;
230
- --paseo-diff-addition-text: #3e6947;
231
- --paseo-diff-deletion: #f3dfdd;
232
- --paseo-diff-deletion-text: #91423c;
233
- /* 状态点 */
234
- --paseo-status-dot-success: #467650;
235
- --paseo-status-dot-danger: #a14b43;
236
- --paseo-status-dot-warning: #806340;
237
- --paseo-status-dot-running: #436c96;
238
- --paseo-status-merged: #774fb3;
239
- /* 选区 */
240
- --paseo-selection: rgba(186, 91, 55, 0.32);
241
- /* 身份色 */
242
- --paseo-identity-violet: #7a5ac1;
243
- --paseo-identity-sky: #4a7795;
244
- --paseo-identity-emerald: #4c7d6b;
245
- --paseo-identity-orange: #936646;
246
- --paseo-identity-pink: #a84f76;
247
- --paseo-identity-indigo: #6166c1;
248
- --paseo-identity-teal: #4c7b7b;
249
- --paseo-identity-red: #ad5151;
250
- --paseo-identity-amber: #807046;
251
- --paseo-identity-blue: #4773ae;
252
- /* 字体 */
253
- --paseo-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
254
- --paseo-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
255
- /* 圆角 */
256
- --paseo-radius-xs: 4px;
257
- --paseo-radius-sm: 8px;
258
- --paseo-radius-md: 12px;
259
- --paseo-radius-lg: 12px;
260
- }
261
-
262
- @media (prefers-color-scheme: dark) {
263
- :root, :host {
264
- /* 主色 */
265
- --paseo-primary: #20744A;
266
- --paseo-primary-hover: #347552;
267
- --paseo-primary-active: #1c5237;
268
- --paseo-primary-bg: #183124;
269
- --paseo-primary-bg-hover: #193f2c;
270
- --paseo-primary-border: #183124;
271
- --paseo-primary-border-hover: #193f2c;
272
- --paseo-primary-text: #7ccba0;
273
- --paseo-primary-text-hover: #ecfaf1;
274
- --paseo-primary-text-active: #cbdcd2;
275
- /* 状态色 */
276
- --paseo-success: #6cb17b;
277
- --paseo-success-hover: #85ac8c;
278
- --paseo-success-active: #4d7a57;
279
- --paseo-success-bg: #19201b;
280
- --paseo-success-bg-hover: #223226;
281
- --paseo-success-border: #2e4333;
282
- --paseo-success-border-hover: #3c5b42;
283
- --paseo-success-text: #c4d0c6;
284
- --paseo-success-text-hover: #d1dfd2;
285
- --paseo-success-text-active: #b3c0b5;
286
- --paseo-warning: #c09664;
287
- --paseo-warning-hover: #baa17f;
288
- --paseo-warning-active: #846948;
289
- --paseo-warning-bg: #221d18;
290
- --paseo-warning-bg-hover: #352c21;
291
- --paseo-warning-border: #483b2c;
292
- --paseo-warning-border-hover: #614f38;
293
- --paseo-warning-text: #e0dbd2;
294
- --paseo-warning-text-hover: #eeeae0;
295
- --paseo-warning-text-active: #cfc2ae;
296
- --paseo-error: #d8847b;
297
- --paseo-error-hover: #d1a099;
298
- --paseo-error-active: #935d57;
299
- --paseo-error-bg: #261b1b;
300
- --paseo-error-bg-hover: #3c2826;
301
- --paseo-error-border: #4f3633;
302
- --paseo-error-border-hover: #6c4642;
303
- --paseo-error-text: #f8ece9;
304
- --paseo-error-text-hover: #faefec;
305
- --paseo-error-text-active: #e7d2ce;
306
- --paseo-info: #5caaf6;
307
- --paseo-info-hover: #7cb5e8;
308
- --paseo-info-active: #4376a7;
309
- --paseo-info-bg: #18202a;
310
- --paseo-info-bg-hover: #203043;
311
- --paseo-info-border: #2a4158;
312
- --paseo-info-border-hover: #34587a;
313
- --paseo-info-text: #d3e9f8;
314
- --paseo-info-text-hover: #ecf4fa;
315
- --paseo-info-text-active: #a8d3f3;
316
- /* 表面 */
317
- --paseo-bg-layout: #181B1A;
318
- --paseo-bg-container: #1E2120;
319
- --paseo-bg-elevated: #272A29;
320
- --paseo-bg-spotlight: #272A29;
321
- --paseo-bg-mask: rgba(0, 0, 0, 0.65);
322
- --paseo-surface-0: #181B1A;
323
- --paseo-surface-1: #1E2120;
324
- --paseo-surface-2: #272A29;
325
- --paseo-surface-3: #434645;
326
- --paseo-surface-4: #595B5B;
327
- --paseo-surface-sidebar: #141716;
328
- --paseo-surface-head: #1E2120;
329
- --paseo-surface-hover: #1E2120;
330
- /* 文字 */
331
- --paseo-text: #fafafa;
332
- --paseo-text-secondary: #A1A5A4;
333
- --paseo-text-tertiary: #8A8E8D;
334
- --paseo-text-quaternary: #595B5B;
335
- --paseo-text-light-solid: #fff;
336
- /* 边框与分隔 */
337
- --paseo-border: #252B2A;
338
- --paseo-border-secondary: #2F3534;
339
- --paseo-split: rgba(219,255,254,0.09);
340
- /* 填充 */
341
- --paseo-fill: #434645;
342
- --paseo-fill-secondary: #272A29;
343
- --paseo-fill-tertiary: #1E2120;
344
- --paseo-fill-quaternary: #252B2A;
345
- /* 控件底色 */
346
- --paseo-control-item-bg-hover: #1E2120;
347
- --paseo-control-item-bg-active: #183124;
348
- /* 链接 */
349
- --paseo-link: #7ccba0;
350
- --paseo-link-hover: #deebe3;
351
- --paseo-link-active: #cbdcd2;
352
- /* Diff */
353
- --paseo-diff-addition: #32573a;
354
- --paseo-diff-addition-text: #6cb17b;
355
- --paseo-diff-deletion: #783630;
356
- --paseo-diff-deletion-text: #d8847b;
357
- /* 状态点 */
358
- --paseo-status-dot-success: #35c264;
359
- --paseo-status-dot-danger: #f7796d;
360
- --paseo-status-dot-warning: #db932e;
361
- --paseo-status-dot-running: #5caaf6;
362
- --paseo-status-merged: #a890d5;
363
- /* 选区 */
364
- --paseo-selection: rgba(255, 255, 255, 0.2);
365
- /* 身份色 */
366
- --paseo-identity-violet: #a392d5;
367
- --paseo-identity-sky: #6aa6ce;
368
- --paseo-identity-emerald: #6cae96;
369
- --paseo-identity-orange: #cc8f64;
370
- --paseo-identity-pink: #d87da3;
371
- --paseo-identity-indigo: #9299d5;
372
- --paseo-identity-teal: #6cacab;
373
- --paseo-identity-red: #d88381;
374
- --paseo-identity-amber: #b29d64;
375
- --paseo-identity-blue: #7ba1d5;
376
- /* 字体 */
377
- --paseo-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
378
- --paseo-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
379
- /* 圆角 */
380
- --paseo-radius-xs: 4px;
381
- --paseo-radius-sm: 8px;
382
- --paseo-radius-md: 12px;
383
- --paseo-radius-lg: 12px;
384
- }
385
- }
386
-
387
- .dark {
388
- /* 主色 */
389
- --paseo-primary: #20744A;
390
- --paseo-primary-hover: #347552;
391
- --paseo-primary-active: #1c5237;
392
- --paseo-primary-bg: #183124;
393
- --paseo-primary-bg-hover: #193f2c;
394
- --paseo-primary-border: #183124;
395
- --paseo-primary-border-hover: #193f2c;
396
- --paseo-primary-text: #7ccba0;
397
- --paseo-primary-text-hover: #ecfaf1;
398
- --paseo-primary-text-active: #cbdcd2;
399
- /* 状态色 */
400
- --paseo-success: #6cb17b;
401
- --paseo-success-hover: #85ac8c;
402
- --paseo-success-active: #4d7a57;
403
- --paseo-success-bg: #19201b;
404
- --paseo-success-bg-hover: #223226;
405
- --paseo-success-border: #2e4333;
406
- --paseo-success-border-hover: #3c5b42;
407
- --paseo-success-text: #c4d0c6;
408
- --paseo-success-text-hover: #d1dfd2;
409
- --paseo-success-text-active: #b3c0b5;
410
- --paseo-warning: #c09664;
411
- --paseo-warning-hover: #baa17f;
412
- --paseo-warning-active: #846948;
413
- --paseo-warning-bg: #221d18;
414
- --paseo-warning-bg-hover: #352c21;
415
- --paseo-warning-border: #483b2c;
416
- --paseo-warning-border-hover: #614f38;
417
- --paseo-warning-text: #e0dbd2;
418
- --paseo-warning-text-hover: #eeeae0;
419
- --paseo-warning-text-active: #cfc2ae;
420
- --paseo-error: #d8847b;
421
- --paseo-error-hover: #d1a099;
422
- --paseo-error-active: #935d57;
423
- --paseo-error-bg: #261b1b;
424
- --paseo-error-bg-hover: #3c2826;
425
- --paseo-error-border: #4f3633;
426
- --paseo-error-border-hover: #6c4642;
427
- --paseo-error-text: #f8ece9;
428
- --paseo-error-text-hover: #faefec;
429
- --paseo-error-text-active: #e7d2ce;
430
- --paseo-info: #5caaf6;
431
- --paseo-info-hover: #7cb5e8;
432
- --paseo-info-active: #4376a7;
433
- --paseo-info-bg: #18202a;
434
- --paseo-info-bg-hover: #203043;
435
- --paseo-info-border: #2a4158;
436
- --paseo-info-border-hover: #34587a;
437
- --paseo-info-text: #d3e9f8;
438
- --paseo-info-text-hover: #ecf4fa;
439
- --paseo-info-text-active: #a8d3f3;
440
- /* 表面 */
441
- --paseo-bg-layout: #181B1A;
442
- --paseo-bg-container: #1E2120;
443
- --paseo-bg-elevated: #272A29;
444
- --paseo-bg-spotlight: #272A29;
445
- --paseo-bg-mask: rgba(0, 0, 0, 0.65);
446
- --paseo-surface-0: #181B1A;
447
- --paseo-surface-1: #1E2120;
448
- --paseo-surface-2: #272A29;
449
- --paseo-surface-3: #434645;
450
- --paseo-surface-4: #595B5B;
451
- --paseo-surface-sidebar: #141716;
452
- --paseo-surface-head: #1E2120;
453
- --paseo-surface-hover: #1E2120;
454
- /* 文字 */
455
- --paseo-text: #fafafa;
456
- --paseo-text-secondary: #A1A5A4;
457
- --paseo-text-tertiary: #8A8E8D;
458
- --paseo-text-quaternary: #595B5B;
459
- --paseo-text-light-solid: #fff;
460
- /* 边框与分隔 */
461
- --paseo-border: #252B2A;
462
- --paseo-border-secondary: #2F3534;
463
- --paseo-split: rgba(219,255,254,0.09);
464
- /* 填充 */
465
- --paseo-fill: #434645;
466
- --paseo-fill-secondary: #272A29;
467
- --paseo-fill-tertiary: #1E2120;
468
- --paseo-fill-quaternary: #252B2A;
469
- /* 控件底色 */
470
- --paseo-control-item-bg-hover: #1E2120;
471
- --paseo-control-item-bg-active: #183124;
472
- /* 链接 */
473
- --paseo-link: #7ccba0;
474
- --paseo-link-hover: #deebe3;
475
- --paseo-link-active: #cbdcd2;
476
- /* Diff */
477
- --paseo-diff-addition: #32573a;
478
- --paseo-diff-addition-text: #6cb17b;
479
- --paseo-diff-deletion: #783630;
480
- --paseo-diff-deletion-text: #d8847b;
481
- /* 状态点 */
482
- --paseo-status-dot-success: #35c264;
483
- --paseo-status-dot-danger: #f7796d;
484
- --paseo-status-dot-warning: #db932e;
485
- --paseo-status-dot-running: #5caaf6;
486
- --paseo-status-merged: #a890d5;
487
- /* 选区 */
488
- --paseo-selection: rgba(255, 255, 255, 0.2);
489
- /* 身份色 */
490
- --paseo-identity-violet: #a392d5;
491
- --paseo-identity-sky: #6aa6ce;
492
- --paseo-identity-emerald: #6cae96;
493
- --paseo-identity-orange: #cc8f64;
494
- --paseo-identity-pink: #d87da3;
495
- --paseo-identity-indigo: #9299d5;
496
- --paseo-identity-teal: #6cacab;
497
- --paseo-identity-red: #d88381;
498
- --paseo-identity-amber: #b29d64;
499
- --paseo-identity-blue: #7ba1d5;
500
- /* 字体 */
501
- --paseo-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
502
- --paseo-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
503
- /* 圆角 */
504
- --paseo-radius-xs: 4px;
505
- --paseo-radius-sm: 8px;
506
- --paseo-radius-md: 12px;
507
- --paseo-radius-lg: 12px;
508
- }
1
+ /*
2
+ * 由 scripts/gen-tailwind.ts 生成(npm run gen:tailwind),请勿手改。
3
+ *
4
+ * 默认配对:浅色槽 = Claude Light(:root);深色槽 = Paseo Dark,同时写在
5
+ * @media (prefers-color-scheme: dark) 与 .dark(类选择器在后,两种同时命中时类胜出)。
6
+ * 换配对时用 paseo-antd-themes/tailwind 的 generateTailwindCss({ light, dark })
7
+ * 重新生成这份 CSS,否则工具类色值和组件主题会对不上。
8
+ *
9
+ * Tailwind v4 用法:在入口 CSS 里
10
+ * @import "tailwindcss";
11
+ * @import "paseo-antd-themes/tailwind.css";
12
+ * 之后 bg-primary、text-secondary、border-split、bg-surface-1 等工具类直接可用。
13
+ * 注意 --font-sans 与 --radius-* 覆盖了 Tailwind 的默认刻度(字体用 paseo 的系统栈,圆角对齐 12px 形态)。
14
+ */
15
+
16
+ @theme inline {
17
+ /* 主色 */
18
+ --color-primary: var(--paseo-primary);
19
+ --color-primary-hover: var(--paseo-primary-hover);
20
+ --color-primary-active: var(--paseo-primary-active);
21
+ --color-primary-bg: var(--paseo-primary-bg);
22
+ --color-primary-bg-hover: var(--paseo-primary-bg-hover);
23
+ --color-primary-border: var(--paseo-primary-border);
24
+ --color-primary-border-hover: var(--paseo-primary-border-hover);
25
+ --color-primary-text: var(--paseo-primary-text);
26
+ --color-primary-text-hover: var(--paseo-primary-text-hover);
27
+ --color-primary-text-active: var(--paseo-primary-text-active);
28
+ /* 状态色 */
29
+ --color-success: var(--paseo-success);
30
+ --color-success-hover: var(--paseo-success-hover);
31
+ --color-success-active: var(--paseo-success-active);
32
+ --color-success-bg: var(--paseo-success-bg);
33
+ --color-success-bg-hover: var(--paseo-success-bg-hover);
34
+ --color-success-border: var(--paseo-success-border);
35
+ --color-success-border-hover: var(--paseo-success-border-hover);
36
+ --color-success-text: var(--paseo-success-text);
37
+ --color-success-text-hover: var(--paseo-success-text-hover);
38
+ --color-success-text-active: var(--paseo-success-text-active);
39
+ --color-warning: var(--paseo-warning);
40
+ --color-warning-hover: var(--paseo-warning-hover);
41
+ --color-warning-active: var(--paseo-warning-active);
42
+ --color-warning-bg: var(--paseo-warning-bg);
43
+ --color-warning-bg-hover: var(--paseo-warning-bg-hover);
44
+ --color-warning-border: var(--paseo-warning-border);
45
+ --color-warning-border-hover: var(--paseo-warning-border-hover);
46
+ --color-warning-text: var(--paseo-warning-text);
47
+ --color-warning-text-hover: var(--paseo-warning-text-hover);
48
+ --color-warning-text-active: var(--paseo-warning-text-active);
49
+ --color-error: var(--paseo-error);
50
+ --color-error-hover: var(--paseo-error-hover);
51
+ --color-error-active: var(--paseo-error-active);
52
+ --color-error-bg: var(--paseo-error-bg);
53
+ --color-error-bg-hover: var(--paseo-error-bg-hover);
54
+ --color-error-border: var(--paseo-error-border);
55
+ --color-error-border-hover: var(--paseo-error-border-hover);
56
+ --color-error-text: var(--paseo-error-text);
57
+ --color-error-text-hover: var(--paseo-error-text-hover);
58
+ --color-error-text-active: var(--paseo-error-text-active);
59
+ --color-info: var(--paseo-info);
60
+ --color-info-hover: var(--paseo-info-hover);
61
+ --color-info-active: var(--paseo-info-active);
62
+ --color-info-bg: var(--paseo-info-bg);
63
+ --color-info-bg-hover: var(--paseo-info-bg-hover);
64
+ --color-info-border: var(--paseo-info-border);
65
+ --color-info-border-hover: var(--paseo-info-border-hover);
66
+ --color-info-text: var(--paseo-info-text);
67
+ --color-info-text-hover: var(--paseo-info-text-hover);
68
+ --color-info-text-active: var(--paseo-info-text-active);
69
+ /* 表面 */
70
+ --color-bg-layout: var(--paseo-bg-layout);
71
+ --color-bg-container: var(--paseo-bg-container);
72
+ --color-bg-elevated: var(--paseo-bg-elevated);
73
+ --color-bg-spotlight: var(--paseo-bg-spotlight);
74
+ --color-bg-mask: var(--paseo-bg-mask);
75
+ --color-surface-0: var(--paseo-surface-0);
76
+ --color-surface-1: var(--paseo-surface-1);
77
+ --color-surface-2: var(--paseo-surface-2);
78
+ --color-surface-3: var(--paseo-surface-3);
79
+ --color-surface-4: var(--paseo-surface-4);
80
+ --color-surface-sidebar: var(--paseo-surface-sidebar);
81
+ --color-surface-head: var(--paseo-surface-head);
82
+ --color-surface-hover: var(--paseo-surface-hover);
83
+ /* 文字 */
84
+ --color-text: var(--paseo-text);
85
+ --color-text-secondary: var(--paseo-text-secondary);
86
+ --color-text-tertiary: var(--paseo-text-tertiary);
87
+ --color-text-quaternary: var(--paseo-text-quaternary);
88
+ --color-text-light-solid: var(--paseo-text-light-solid);
89
+ /* 边框与分隔 */
90
+ --color-border: var(--paseo-border);
91
+ --color-border-secondary: var(--paseo-border-secondary);
92
+ --color-split: var(--paseo-split);
93
+ /* 填充 */
94
+ --color-fill: var(--paseo-fill);
95
+ --color-fill-secondary: var(--paseo-fill-secondary);
96
+ --color-fill-tertiary: var(--paseo-fill-tertiary);
97
+ --color-fill-quaternary: var(--paseo-fill-quaternary);
98
+ /* 控件底色 */
99
+ --color-control-item-bg-hover: var(--paseo-control-item-bg-hover);
100
+ --color-control-item-bg-active: var(--paseo-control-item-bg-active);
101
+ /* 链接 */
102
+ --color-link: var(--paseo-link);
103
+ --color-link-hover: var(--paseo-link-hover);
104
+ --color-link-active: var(--paseo-link-active);
105
+ /* Diff */
106
+ --color-diff-addition: var(--paseo-diff-addition);
107
+ --color-diff-addition-text: var(--paseo-diff-addition-text);
108
+ --color-diff-deletion: var(--paseo-diff-deletion);
109
+ --color-diff-deletion-text: var(--paseo-diff-deletion-text);
110
+ /* 状态点 */
111
+ --color-status-dot-success: var(--paseo-status-dot-success);
112
+ --color-status-dot-danger: var(--paseo-status-dot-danger);
113
+ --color-status-dot-warning: var(--paseo-status-dot-warning);
114
+ --color-status-dot-running: var(--paseo-status-dot-running);
115
+ --color-status-merged: var(--paseo-status-merged);
116
+ /* 选区 */
117
+ --color-selection: var(--paseo-selection);
118
+ /* 身份色 */
119
+ --color-identity-violet: var(--paseo-identity-violet);
120
+ --color-identity-sky: var(--paseo-identity-sky);
121
+ --color-identity-emerald: var(--paseo-identity-emerald);
122
+ --color-identity-orange: var(--paseo-identity-orange);
123
+ --color-identity-pink: var(--paseo-identity-pink);
124
+ --color-identity-indigo: var(--paseo-identity-indigo);
125
+ --color-identity-teal: var(--paseo-identity-teal);
126
+ --color-identity-red: var(--paseo-identity-red);
127
+ --color-identity-amber: var(--paseo-identity-amber);
128
+ --color-identity-blue: var(--paseo-identity-blue);
129
+ /* 字体 */
130
+ --font-sans: var(--paseo-font);
131
+ --font-mono: var(--paseo-font-mono);
132
+ /* 圆角 */
133
+ --radius-xs: var(--paseo-radius-xs);
134
+ --radius-sm: var(--paseo-radius-sm);
135
+ --radius-md: var(--paseo-radius-md);
136
+ --radius-lg: var(--paseo-radius-lg);
137
+ }
138
+
139
+ :root, :host {
140
+ /* 主色 */
141
+ --paseo-primary: #BA5B37;
142
+ --paseo-primary-hover: #943F25;
143
+ --paseo-primary-active: #6E2716;
144
+ --paseo-primary-bg: #FAF1EB;
145
+ --paseo-primary-bg-hover: #EDE5DF;
146
+ --paseo-primary-border: #E0C1AF;
147
+ --paseo-primary-border-hover: #D49E83;
148
+ --paseo-primary-text: #A34E2D;
149
+ --paseo-primary-text-hover: #7D351D;
150
+ --paseo-primary-text-active: #571F10;
151
+ /* 状态色 */
152
+ --paseo-success: #467650;
153
+ --paseo-success-hover: #50865c;
154
+ --paseo-success-active: #3a6343;
155
+ --paseo-success-bg: #d2f6d8;
156
+ --paseo-success-bg-hover: #b8f3c2;
157
+ --paseo-success-border: #92eda5;
158
+ --paseo-success-border-hover: #88de9b;
159
+ --paseo-success-text: #467650;
160
+ --paseo-success-text-hover: #3e6947;
161
+ --paseo-success-text-active: #365d3e;
162
+ --paseo-warning: #806340;
163
+ --paseo-warning-hover: #91714a;
164
+ --paseo-warning-active: #6c5335;
165
+ --paseo-warning-bg: #f6e9da;
166
+ --paseo-warning-bg-hover: #f2dec7;
167
+ --paseo-warning-border: #eccfad;
168
+ --paseo-warning-border-hover: #e7c092;
169
+ --paseo-warning-text: #806340;
170
+ --paseo-warning-text-hover: #725839;
171
+ --paseo-warning-text-active: #654e31;
172
+ --paseo-error: #a14b43;
173
+ --paseo-error-hover: #b7554d;
174
+ --paseo-error-active: #883e38;
175
+ --paseo-error-bg: #f6e7e5;
176
+ --paseo-error-bg-hover: #f2dbd8;
177
+ --paseo-error-border: #edcbc7;
178
+ --paseo-error-border-hover: #e7bbb6;
179
+ --paseo-error-text: #a14b43;
180
+ --paseo-error-text-hover: #91423c;
181
+ --paseo-error-text-active: #803a34;
182
+ --paseo-info: #436c96;
183
+ --paseo-info-hover: #4d7baa;
184
+ --paseo-info-active: #375b7e;
185
+ --paseo-info-bg: #e3ecf6;
186
+ --paseo-info-bg-hover: #d5e3f2;
187
+ --paseo-info-border: #c3d7ec;
188
+ --paseo-info-border-hover: #b0cbe6;
189
+ --paseo-info-text: #436c96;
190
+ --paseo-info-text-hover: #3b6186;
191
+ --paseo-info-text-active: #345577;
192
+ /* 表面 */
193
+ --paseo-bg-layout: #F0EDE2;
194
+ --paseo-bg-container: #F5F4EC;
195
+ --paseo-bg-elevated: #FFFFFF;
196
+ --paseo-bg-spotlight: #1F1E1D;
197
+ --paseo-bg-mask: rgba(20, 20, 19, 0.45);
198
+ --paseo-surface-0: #F0EDE2;
199
+ --paseo-surface-1: #F5F4EC;
200
+ --paseo-surface-2: #FFFFFF;
201
+ --paseo-surface-3: #D7D2C7;
202
+ --paseo-surface-4: #D1CCBF;
203
+ --paseo-surface-sidebar: #E2E0D6;
204
+ --paseo-surface-head: #E0DDD0;
205
+ --paseo-surface-hover: #DDD9CE;
206
+ /* 文字 */
207
+ --paseo-text: #3C3C2C;
208
+ --paseo-text-secondary: #55554B;
209
+ --paseo-text-tertiary: #65635E;
210
+ --paseo-text-quaternary: #98978F;
211
+ --paseo-text-light-solid: #FFFFFF;
212
+ /* 边框与分隔 */
213
+ --paseo-border: #DBD9D0;
214
+ --paseo-border-secondary: #E8E6DF;
215
+ --paseo-split: rgba(28,11,19,0.06);
216
+ /* 填充 */
217
+ --paseo-fill: #D1CCBF;
218
+ --paseo-fill-secondary: #D7D2C7;
219
+ --paseo-fill-tertiary: #DDD9CE;
220
+ --paseo-fill-quaternary: #EDEBE0;
221
+ /* 控件底色 */
222
+ --paseo-control-item-bg-hover: #DDD9CE;
223
+ --paseo-control-item-bg-active: #FAF1EB;
224
+ /* 链接 */
225
+ --paseo-link: #A34E2D;
226
+ --paseo-link-hover: #7D351D;
227
+ --paseo-link-active: #571F10;
228
+ /* Diff */
229
+ --paseo-diff-addition: #c1f4ca;
230
+ --paseo-diff-addition-text: #3e6947;
231
+ --paseo-diff-deletion: #f3dfdd;
232
+ --paseo-diff-deletion-text: #91423c;
233
+ /* 状态点 */
234
+ --paseo-status-dot-success: #467650;
235
+ --paseo-status-dot-danger: #a14b43;
236
+ --paseo-status-dot-warning: #806340;
237
+ --paseo-status-dot-running: #436c96;
238
+ --paseo-status-merged: #774fb3;
239
+ /* 选区 */
240
+ --paseo-selection: rgba(186, 91, 55, 0.32);
241
+ /* 身份色 */
242
+ --paseo-identity-violet: #7a5ac1;
243
+ --paseo-identity-sky: #4a7795;
244
+ --paseo-identity-emerald: #4c7d6b;
245
+ --paseo-identity-orange: #936646;
246
+ --paseo-identity-pink: #a84f76;
247
+ --paseo-identity-indigo: #6166c1;
248
+ --paseo-identity-teal: #4c7b7b;
249
+ --paseo-identity-red: #ad5151;
250
+ --paseo-identity-amber: #807046;
251
+ --paseo-identity-blue: #4773ae;
252
+ /* 字体 */
253
+ --paseo-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
254
+ --paseo-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
255
+ /* 圆角 */
256
+ --paseo-radius-xs: 4px;
257
+ --paseo-radius-sm: 8px;
258
+ --paseo-radius-md: 12px;
259
+ --paseo-radius-lg: 12px;
260
+ }
261
+
262
+ @media (prefers-color-scheme: dark) {
263
+ :root, :host {
264
+ /* 主色 */
265
+ --paseo-primary: #20744A;
266
+ --paseo-primary-hover: #347552;
267
+ --paseo-primary-active: #1c5237;
268
+ --paseo-primary-bg: #183124;
269
+ --paseo-primary-bg-hover: #193f2c;
270
+ --paseo-primary-border: #183124;
271
+ --paseo-primary-border-hover: #193f2c;
272
+ --paseo-primary-text: #7ccba0;
273
+ --paseo-primary-text-hover: #ecfaf1;
274
+ --paseo-primary-text-active: #cbdcd2;
275
+ /* 状态色 */
276
+ --paseo-success: #6cb17b;
277
+ --paseo-success-hover: #85ac8c;
278
+ --paseo-success-active: #4d7a57;
279
+ --paseo-success-bg: #19201b;
280
+ --paseo-success-bg-hover: #223226;
281
+ --paseo-success-border: #2e4333;
282
+ --paseo-success-border-hover: #3c5b42;
283
+ --paseo-success-text: #c4d0c6;
284
+ --paseo-success-text-hover: #d1dfd2;
285
+ --paseo-success-text-active: #b3c0b5;
286
+ --paseo-warning: #c09664;
287
+ --paseo-warning-hover: #baa17f;
288
+ --paseo-warning-active: #846948;
289
+ --paseo-warning-bg: #221d18;
290
+ --paseo-warning-bg-hover: #352c21;
291
+ --paseo-warning-border: #483b2c;
292
+ --paseo-warning-border-hover: #614f38;
293
+ --paseo-warning-text: #e0dbd2;
294
+ --paseo-warning-text-hover: #eeeae0;
295
+ --paseo-warning-text-active: #cfc2ae;
296
+ --paseo-error: #d8847b;
297
+ --paseo-error-hover: #d1a099;
298
+ --paseo-error-active: #935d57;
299
+ --paseo-error-bg: #261b1b;
300
+ --paseo-error-bg-hover: #3c2826;
301
+ --paseo-error-border: #4f3633;
302
+ --paseo-error-border-hover: #6c4642;
303
+ --paseo-error-text: #f8ece9;
304
+ --paseo-error-text-hover: #faefec;
305
+ --paseo-error-text-active: #e7d2ce;
306
+ --paseo-info: #5caaf6;
307
+ --paseo-info-hover: #7cb5e8;
308
+ --paseo-info-active: #4376a7;
309
+ --paseo-info-bg: #18202a;
310
+ --paseo-info-bg-hover: #203043;
311
+ --paseo-info-border: #2a4158;
312
+ --paseo-info-border-hover: #34587a;
313
+ --paseo-info-text: #d3e9f8;
314
+ --paseo-info-text-hover: #ecf4fa;
315
+ --paseo-info-text-active: #a8d3f3;
316
+ /* 表面 */
317
+ --paseo-bg-layout: #181B1A;
318
+ --paseo-bg-container: #1E2120;
319
+ --paseo-bg-elevated: #272A29;
320
+ --paseo-bg-spotlight: #272A29;
321
+ --paseo-bg-mask: rgba(0, 0, 0, 0.65);
322
+ --paseo-surface-0: #181B1A;
323
+ --paseo-surface-1: #1E2120;
324
+ --paseo-surface-2: #272A29;
325
+ --paseo-surface-3: #434645;
326
+ --paseo-surface-4: #595B5B;
327
+ --paseo-surface-sidebar: #141716;
328
+ --paseo-surface-head: #1E2120;
329
+ --paseo-surface-hover: #1E2120;
330
+ /* 文字 */
331
+ --paseo-text: #fafafa;
332
+ --paseo-text-secondary: #A1A5A4;
333
+ --paseo-text-tertiary: #8A8E8D;
334
+ --paseo-text-quaternary: #595B5B;
335
+ --paseo-text-light-solid: #fff;
336
+ /* 边框与分隔 */
337
+ --paseo-border: #252B2A;
338
+ --paseo-border-secondary: #2F3534;
339
+ --paseo-split: rgba(219,255,254,0.09);
340
+ /* 填充 */
341
+ --paseo-fill: #434645;
342
+ --paseo-fill-secondary: #272A29;
343
+ --paseo-fill-tertiary: #1E2120;
344
+ --paseo-fill-quaternary: #252B2A;
345
+ /* 控件底色 */
346
+ --paseo-control-item-bg-hover: #1E2120;
347
+ --paseo-control-item-bg-active: #183124;
348
+ /* 链接 */
349
+ --paseo-link: #7ccba0;
350
+ --paseo-link-hover: #deebe3;
351
+ --paseo-link-active: #cbdcd2;
352
+ /* Diff */
353
+ --paseo-diff-addition: #32573a;
354
+ --paseo-diff-addition-text: #6cb17b;
355
+ --paseo-diff-deletion: #783630;
356
+ --paseo-diff-deletion-text: #d8847b;
357
+ /* 状态点 */
358
+ --paseo-status-dot-success: #35c264;
359
+ --paseo-status-dot-danger: #f7796d;
360
+ --paseo-status-dot-warning: #db932e;
361
+ --paseo-status-dot-running: #5caaf6;
362
+ --paseo-status-merged: #a890d5;
363
+ /* 选区 */
364
+ --paseo-selection: rgba(255, 255, 255, 0.2);
365
+ /* 身份色 */
366
+ --paseo-identity-violet: #a392d5;
367
+ --paseo-identity-sky: #6aa6ce;
368
+ --paseo-identity-emerald: #6cae96;
369
+ --paseo-identity-orange: #cc8f64;
370
+ --paseo-identity-pink: #d87da3;
371
+ --paseo-identity-indigo: #9299d5;
372
+ --paseo-identity-teal: #6cacab;
373
+ --paseo-identity-red: #d88381;
374
+ --paseo-identity-amber: #b29d64;
375
+ --paseo-identity-blue: #7ba1d5;
376
+ /* 字体 */
377
+ --paseo-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
378
+ --paseo-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
379
+ /* 圆角 */
380
+ --paseo-radius-xs: 4px;
381
+ --paseo-radius-sm: 8px;
382
+ --paseo-radius-md: 12px;
383
+ --paseo-radius-lg: 12px;
384
+ }
385
+ }
386
+
387
+ .dark {
388
+ /* 主色 */
389
+ --paseo-primary: #20744A;
390
+ --paseo-primary-hover: #347552;
391
+ --paseo-primary-active: #1c5237;
392
+ --paseo-primary-bg: #183124;
393
+ --paseo-primary-bg-hover: #193f2c;
394
+ --paseo-primary-border: #183124;
395
+ --paseo-primary-border-hover: #193f2c;
396
+ --paseo-primary-text: #7ccba0;
397
+ --paseo-primary-text-hover: #ecfaf1;
398
+ --paseo-primary-text-active: #cbdcd2;
399
+ /* 状态色 */
400
+ --paseo-success: #6cb17b;
401
+ --paseo-success-hover: #85ac8c;
402
+ --paseo-success-active: #4d7a57;
403
+ --paseo-success-bg: #19201b;
404
+ --paseo-success-bg-hover: #223226;
405
+ --paseo-success-border: #2e4333;
406
+ --paseo-success-border-hover: #3c5b42;
407
+ --paseo-success-text: #c4d0c6;
408
+ --paseo-success-text-hover: #d1dfd2;
409
+ --paseo-success-text-active: #b3c0b5;
410
+ --paseo-warning: #c09664;
411
+ --paseo-warning-hover: #baa17f;
412
+ --paseo-warning-active: #846948;
413
+ --paseo-warning-bg: #221d18;
414
+ --paseo-warning-bg-hover: #352c21;
415
+ --paseo-warning-border: #483b2c;
416
+ --paseo-warning-border-hover: #614f38;
417
+ --paseo-warning-text: #e0dbd2;
418
+ --paseo-warning-text-hover: #eeeae0;
419
+ --paseo-warning-text-active: #cfc2ae;
420
+ --paseo-error: #d8847b;
421
+ --paseo-error-hover: #d1a099;
422
+ --paseo-error-active: #935d57;
423
+ --paseo-error-bg: #261b1b;
424
+ --paseo-error-bg-hover: #3c2826;
425
+ --paseo-error-border: #4f3633;
426
+ --paseo-error-border-hover: #6c4642;
427
+ --paseo-error-text: #f8ece9;
428
+ --paseo-error-text-hover: #faefec;
429
+ --paseo-error-text-active: #e7d2ce;
430
+ --paseo-info: #5caaf6;
431
+ --paseo-info-hover: #7cb5e8;
432
+ --paseo-info-active: #4376a7;
433
+ --paseo-info-bg: #18202a;
434
+ --paseo-info-bg-hover: #203043;
435
+ --paseo-info-border: #2a4158;
436
+ --paseo-info-border-hover: #34587a;
437
+ --paseo-info-text: #d3e9f8;
438
+ --paseo-info-text-hover: #ecf4fa;
439
+ --paseo-info-text-active: #a8d3f3;
440
+ /* 表面 */
441
+ --paseo-bg-layout: #181B1A;
442
+ --paseo-bg-container: #1E2120;
443
+ --paseo-bg-elevated: #272A29;
444
+ --paseo-bg-spotlight: #272A29;
445
+ --paseo-bg-mask: rgba(0, 0, 0, 0.65);
446
+ --paseo-surface-0: #181B1A;
447
+ --paseo-surface-1: #1E2120;
448
+ --paseo-surface-2: #272A29;
449
+ --paseo-surface-3: #434645;
450
+ --paseo-surface-4: #595B5B;
451
+ --paseo-surface-sidebar: #141716;
452
+ --paseo-surface-head: #1E2120;
453
+ --paseo-surface-hover: #1E2120;
454
+ /* 文字 */
455
+ --paseo-text: #fafafa;
456
+ --paseo-text-secondary: #A1A5A4;
457
+ --paseo-text-tertiary: #8A8E8D;
458
+ --paseo-text-quaternary: #595B5B;
459
+ --paseo-text-light-solid: #fff;
460
+ /* 边框与分隔 */
461
+ --paseo-border: #252B2A;
462
+ --paseo-border-secondary: #2F3534;
463
+ --paseo-split: rgba(219,255,254,0.09);
464
+ /* 填充 */
465
+ --paseo-fill: #434645;
466
+ --paseo-fill-secondary: #272A29;
467
+ --paseo-fill-tertiary: #1E2120;
468
+ --paseo-fill-quaternary: #252B2A;
469
+ /* 控件底色 */
470
+ --paseo-control-item-bg-hover: #1E2120;
471
+ --paseo-control-item-bg-active: #183124;
472
+ /* 链接 */
473
+ --paseo-link: #7ccba0;
474
+ --paseo-link-hover: #deebe3;
475
+ --paseo-link-active: #cbdcd2;
476
+ /* Diff */
477
+ --paseo-diff-addition: #32573a;
478
+ --paseo-diff-addition-text: #6cb17b;
479
+ --paseo-diff-deletion: #783630;
480
+ --paseo-diff-deletion-text: #d8847b;
481
+ /* 状态点 */
482
+ --paseo-status-dot-success: #35c264;
483
+ --paseo-status-dot-danger: #f7796d;
484
+ --paseo-status-dot-warning: #db932e;
485
+ --paseo-status-dot-running: #5caaf6;
486
+ --paseo-status-merged: #a890d5;
487
+ /* 选区 */
488
+ --paseo-selection: rgba(255, 255, 255, 0.2);
489
+ /* 身份色 */
490
+ --paseo-identity-violet: #a392d5;
491
+ --paseo-identity-sky: #6aa6ce;
492
+ --paseo-identity-emerald: #6cae96;
493
+ --paseo-identity-orange: #cc8f64;
494
+ --paseo-identity-pink: #d87da3;
495
+ --paseo-identity-indigo: #9299d5;
496
+ --paseo-identity-teal: #6cacab;
497
+ --paseo-identity-red: #d88381;
498
+ --paseo-identity-amber: #b29d64;
499
+ --paseo-identity-blue: #7ba1d5;
500
+ /* 字体 */
501
+ --paseo-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
502
+ --paseo-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
503
+ /* 圆角 */
504
+ --paseo-radius-xs: 4px;
505
+ --paseo-radius-sm: 8px;
506
+ --paseo-radius-md: 12px;
507
+ --paseo-radius-lg: 12px;
508
+ }
@@ -4,7 +4,7 @@
4
4
  * Provenance:
5
5
  * surfaces / neutrals — sampled from the claude.ai UI (V4)
6
6
  * page #F0EDE2, card #F5F4EC (1.06 above the page), hover #E4E4D4,
7
- * ink #3C3C2C, secondary #5C5C54, clay #BC5C3C.
7
+ * ink #3C3C2C, secondary #55554B, clay #BC5C3C.
8
8
  * clay — #C6613F, the interactive clay used on Claude's site (the brand
9
9
  * palette's #D97757 is its lighter decorative variant). White text on it
10
10
  * is 4.05:1, the theme's one documented contrast exception.
@@ -41,9 +41,9 @@ export declare const claudeLight: {
41
41
  readonly surface3: "#D7D2C7";
42
42
  readonly surface4: "#D1CCBF";
43
43
  readonly foreground: "#3C3C2C";
44
- readonly foregroundMuted: "#5C5C54";
44
+ readonly foregroundMuted: "#55554B";
45
45
  readonly foregroundExtraMuted: "#65635E";
46
- readonly foregroundFaint: "#878681";
46
+ readonly foregroundFaint: "#98978F";
47
47
  readonly border: "#DBD9D0";
48
48
  readonly borderAccent: "#E8E6DF";
49
49
  readonly accent: "#BA5B37";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paseo-antd-themes",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Paseo Dark and Claude Light themes for Ant Design v6.",
5
5
  "type": "module",
6
6
  "license": "MIT",