sparkdesign 0.4.5 → 0.4.6

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 (136) hide show
  1. package/README.md +74 -22
  2. package/cli/dist/commands/add.js +22 -12
  3. package/cli/dist/commands/diff.js +8 -4
  4. package/cli/dist/commands/init.js +84 -9
  5. package/cli/dist/commands/list.js +8 -4
  6. package/cli/dist/index.js +9 -6
  7. package/cli/dist/utils/config.js +16 -8
  8. package/cli/dist/utils/package-manager.js +75 -0
  9. package/cli/dist/utils/registry.js +8 -4
  10. package/cli/dist/utils/tokens.js +33 -25
  11. package/cli/dist/utils/transform.js +9 -5
  12. package/cli/dist/utils/tsconfig.js +182 -0
  13. package/cli/registry/AGENTS.md +18 -0
  14. package/cli/registry/__tests__/chat/thinking-indicator.test.tsx +2 -2
  15. package/cli/registry/chat/chat-input/chat-input-folder-selector.tsx +1 -1
  16. package/cli/registry/chat/chat-input/folder-permission-dialog.tsx +2 -2
  17. package/cli/registry/chat/image-generating.tsx +1 -1
  18. package/cli/registry/chat/response/context.tsx +1 -1
  19. package/cli/registry/chat/thinking-indicator.tsx +1 -1
  20. package/cli/registry/tokens/index.css +8 -5
  21. package/cli/registry/tokens/theme-base.css +235 -0
  22. package/{dist/tokens/themes/dark-qoder.css → cli/registry/tokens/themes/dark-mint.css} +1 -1
  23. package/cli/registry/tokens/themes/dark-parchment.css +104 -103
  24. package/{dist/tokens/themes/light-qoder.css → cli/registry/tokens/themes/light-mint.css} +1 -1
  25. package/cli/registry/tokens/themes/light-parchment.css +103 -102
  26. package/dist/registry/basic/alert-dialog.d.ts +7 -5
  27. package/dist/registry/basic/avatar.d.ts +7 -5
  28. package/dist/registry/basic/collapse.d.ts +7 -5
  29. package/dist/registry/basic/collapsible-card.d.ts +7 -6
  30. package/dist/registry/basic/collapsible.d.ts +7 -5
  31. package/dist/registry/basic/dropdown-menu.d.ts +7 -5
  32. package/dist/registry/basic/icons-inline.d.ts +7 -5
  33. package/dist/registry/basic/kbd.d.ts +7 -5
  34. package/dist/registry/basic/pagination.d.ts +7 -5
  35. package/dist/registry/basic/progress.d.ts +7 -5
  36. package/dist/registry/basic/radio-group.d.ts +7 -5
  37. package/dist/registry/basic/resizable.d.ts +7 -5
  38. package/dist/registry/basic/select.d.ts +7 -5
  39. package/dist/registry/basic/slider.d.ts +7 -5
  40. package/dist/registry/basic/sonner.d.ts +7 -5
  41. package/dist/registry/basic/switch.d.ts +7 -5
  42. package/dist/registry/basic/tabs.d.ts +7 -5
  43. package/dist/registry/basic/tag.d.ts +7 -5
  44. package/dist/registry/basic/theme-from-document.d.ts +7 -5
  45. package/dist/registry/basic/tooltip.d.ts +7 -5
  46. package/dist/registry/basic/typography.d.ts +7 -5
  47. package/dist/registry/chat/ask-user-part.d.ts +9 -3
  48. package/dist/registry/chat/browser-action-part.d.ts +9 -3
  49. package/dist/registry/chat/chat-input/compound.d.ts +7 -5
  50. package/dist/registry/chat/chat-input/context.d.ts +7 -5
  51. package/dist/registry/chat/chat-input/index.d.ts +7 -5
  52. package/dist/registry/chat/chat-input/types.d.ts +9 -3
  53. package/dist/registry/chat/chat-input/useAutoResizeTextarea.d.ts +9 -3
  54. package/dist/registry/chat/code-block-part.d.ts +9 -3
  55. package/dist/registry/chat/file-attachment.d.ts +7 -5
  56. package/dist/registry/chat/file-review-part.d.ts +9 -4
  57. package/dist/registry/chat/generated-images-grid.d.ts +9 -3
  58. package/dist/registry/chat/generation-status-bar.d.ts +8 -4
  59. package/dist/registry/chat/hint-banner.d.ts +9 -3
  60. package/dist/registry/chat/mermaid-part.d.ts +9 -3
  61. package/dist/registry/chat/plan-part.d.ts +9 -3
  62. package/dist/registry/chat/reasoning-step/index.d.ts +8 -6
  63. package/dist/registry/chat/reasoning-step/types.d.ts +9 -3
  64. package/dist/registry/chat/related-prompts.d.ts +9 -3
  65. package/dist/registry/chat/response/index.d.ts +8 -6
  66. package/dist/registry/chat/response/types.d.ts +9 -3
  67. package/dist/registry/chat/task-part.d.ts +9 -3
  68. package/dist/registry/chat/terminal-code-block-part.d.ts +9 -3
  69. package/dist/registry/chat/user-question/UserQuestionCard.d.ts +9 -3
  70. package/dist/registry/chat/user-question/UserQuestionFooter.d.ts +9 -3
  71. package/dist/registry/chat/user-question/UserQuestionHeader.d.ts +9 -3
  72. package/dist/registry/chat/user-question/types.d.ts +8 -5
  73. package/dist/registry/lib/file-icon-maps.d.ts +7 -7
  74. package/dist/registry/lib/utils.d.ts +8 -6
  75. package/dist/spark-design.cjs.js +6 -6
  76. package/dist/spark-design.es.js +10 -10
  77. package/dist/sparkdesign.css +2 -0
  78. package/dist/src/components/basic/AlertDialog/index.d.ts +7 -5
  79. package/dist/src/components/basic/Avatar/index.d.ts +9 -3
  80. package/dist/src/components/basic/Button/index.d.ts +9 -3
  81. package/dist/src/components/basic/Collapse/index.d.ts +7 -4
  82. package/dist/src/components/basic/Collapsible/index.d.ts +9 -4
  83. package/dist/src/components/basic/CollapsibleCard/index.d.ts +9 -3
  84. package/dist/src/components/basic/CollapsibleSection/index.d.ts +7 -7
  85. package/dist/src/components/basic/DropdownMenu/index.d.ts +7 -5
  86. package/dist/src/components/basic/EllipsisText/index.d.ts +7 -15
  87. package/dist/src/components/basic/IconButton/index.d.ts +9 -3
  88. package/dist/src/components/basic/Kbd/index.d.ts +9 -3
  89. package/dist/src/components/basic/OptionList/index.d.ts +9 -3
  90. package/dist/src/components/basic/Pagination/index.d.ts +9 -3
  91. package/dist/src/components/basic/Progress/index.d.ts +9 -3
  92. package/dist/src/components/basic/RadioGroup/index.d.ts +9 -3
  93. package/dist/src/components/basic/Resizable/index.d.ts +9 -3
  94. package/dist/src/components/basic/Scrollbar/index.d.ts +9 -3
  95. package/dist/src/components/basic/Select/index.d.ts +7 -4
  96. package/dist/src/components/basic/ShimmeringText/index.d.ts +9 -3
  97. package/dist/src/components/basic/Skeleton/index.d.ts +9 -3
  98. package/dist/src/components/basic/Slider/index.d.ts +9 -3
  99. package/dist/src/components/basic/Spinner/index.d.ts +9 -3
  100. package/dist/src/components/basic/Switch/index.d.ts +8 -5
  101. package/dist/src/components/basic/Table/index.d.ts +9 -3
  102. package/dist/src/components/basic/Tabs/index.d.ts +9 -3
  103. package/dist/src/components/basic/Tag/index.d.ts +7 -4
  104. package/dist/src/components/basic/Toggle/index.d.ts +9 -3
  105. package/dist/src/components/basic/Tooltip/index.d.ts +7 -4
  106. package/dist/src/components/basic/Typography/index.d.ts +9 -3
  107. package/dist/src/components/chat/GeneratedImagesGrid/index.d.ts +9 -3
  108. package/dist/src/components/chat/GenerationStatusBar/index.d.ts +9 -3
  109. package/dist/src/components/chat/Markdown/demo-content.d.ts +1 -1
  110. package/dist/src/components/chat/Markdown/index.d.ts +9 -3
  111. package/dist/src/components/chat/Response/StreamingMarkdownBlock.d.ts +9 -3
  112. package/dist/src/components/chat/Response/index.d.ts +8 -6
  113. package/dist/src/components/chat/UserMessage/index.d.ts +9 -3
  114. package/dist/src/components/index.d.ts +7 -9
  115. package/dist/src/icons/context.d.ts +7 -6
  116. package/dist/src/icons/types.d.ts +7 -5
  117. package/dist/src/lib/ThemeStyleContext.d.ts +9 -9
  118. package/dist/src/lib/file-icon.d.ts +7 -6
  119. package/dist/src/lib/i18n.d.ts +7 -6
  120. package/dist/src/lib/index.d.ts +9 -3
  121. package/dist/src/lib/utils.d.ts +7 -5
  122. package/dist/theme-base.css +7 -8
  123. package/dist/theme.css +2 -2
  124. package/dist/themes/{dark-qoder.css → dark-mint.css} +1 -1
  125. package/dist/themes/{light-qoder.css → light-mint.css} +1 -1
  126. package/dist/tokens/AGENTS.md +47 -0
  127. package/dist/tokens/index.css +10 -19
  128. package/dist/tokens/theme-base.css +7 -8
  129. package/dist/tokens/theme.css +2 -2
  130. package/dist/tokens/themes/dark-mint.css +133 -0
  131. package/dist/tokens/themes/light-mint.css +132 -0
  132. package/package.json +11 -5
  133. package/cli/registry/tokens/themes/dark-qoder.css +0 -132
  134. package/cli/registry/tokens/themes/light-qoder.css +0 -131
  135. package/dist/qoder-design.css +0 -2
  136. package/dist/tokens/CLAUDE.md +0 -305
@@ -0,0 +1,235 @@
1
+ /* ============================================
2
+ * Tailwind v4 @theme 映射 (CLI 分发版)
3
+ *
4
+ * 此文件定义了 Token → Tailwind 的映射契约,不包含具体颜色值。
5
+ * 颜色值由 themes/*.css 中的 [data-theme="xxx"] 块定义。
6
+ *
7
+ * 用户自定义主题时只需:
8
+ * 1. 引入此文件(定义映射)
9
+ * 2. 引入自己的主题 CSS(覆盖 --token-color-* 变量)
10
+ * ============================================ */
11
+
12
+ @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *, [data-theme="dark-parchment"], [data-theme="dark-parchment"] *));
13
+
14
+ /* font-size / radius / spacing 随 data-style 变化,需用 @theme inline 让工具类直接引用运行时变量 */
15
+ @theme inline {
16
+ --text-xs: var(--font-size-xs);
17
+ --text-xs--line-height: var(--font-size-xs--line-height);
18
+ --text-sm: var(--font-size-sm);
19
+ --text-sm--line-height: var(--font-size-sm--line-height);
20
+ --text-base: var(--font-size-base);
21
+ --text-base--line-height: var(--font-size-base--line-height);
22
+ --text-lg: var(--font-size-lg);
23
+ --text-lg--line-height: var(--font-size-lg--line-height);
24
+ --text-xl: var(--font-size-xl);
25
+ --text-xl--line-height: var(--font-size-xl--line-height);
26
+ --text-2xl: var(--font-size-2xl);
27
+ --text-2xl--line-height: var(--font-size-2xl--line-height);
28
+ --text-3xl: var(--font-size-3xl);
29
+ --text-3xl--line-height: var(--font-size-3xl--line-height);
30
+ --text-4xl: var(--font-size-4xl);
31
+ --text-4xl--line-height: var(--font-size-4xl--line-height);
32
+ --text-5xl: var(--font-size-5xl);
33
+ --text-5xl--line-height: var(--font-size-5xl--line-height);
34
+ --text-6xl: var(--font-size-6xl);
35
+ --text-6xl--line-height: var(--font-size-6xl--line-height);
36
+ --radius: var(--radius-DEFAULT);
37
+ --radius-none: var(--radius-none);
38
+ --radius-sm: var(--radius-sm);
39
+ --radius-md: var(--radius-md);
40
+ --radius-lg: var(--radius-lg);
41
+ --radius-xl: var(--radius-xl);
42
+ --radius-2xl: var(--radius-2xl);
43
+ --radius-3xl: var(--radius-3xl);
44
+ --radius-full: var(--radius-full);
45
+ --spacing-0: var(--spacing-0);
46
+ --spacing-px: var(--spacing-px);
47
+ --spacing-0\.5: var(--spacing-0\.5);
48
+ --spacing-1: var(--spacing-1);
49
+ --spacing-1\.5: var(--spacing-1\.5);
50
+ --spacing-2: var(--spacing-2);
51
+ --spacing-2\.5: var(--spacing-2\.5);
52
+ --spacing-3: var(--spacing-3);
53
+ --spacing-3\.5: var(--spacing-3\.5);
54
+ --spacing-4: var(--spacing-4);
55
+ --spacing-5: var(--spacing-5);
56
+ --spacing-6: var(--spacing-6);
57
+ --spacing-7: var(--spacing-7);
58
+ --spacing-8: var(--spacing-8);
59
+ --spacing-9: var(--spacing-9);
60
+ --spacing-10: var(--spacing-10);
61
+ --spacing-11: var(--spacing-11);
62
+ --spacing-12: var(--spacing-12);
63
+ --spacing-14: var(--spacing-14);
64
+ --spacing-16: var(--spacing-16);
65
+ --spacing-20: var(--spacing-20);
66
+ --spacing-24: var(--spacing-24);
67
+ --spacing-28: var(--spacing-28);
68
+ --spacing-32: var(--spacing-32);
69
+ --spacing-36: var(--spacing-36);
70
+ --spacing-40: var(--spacing-40);
71
+ --spacing-44: var(--spacing-44);
72
+ --spacing-48: var(--spacing-48);
73
+ --spacing-52: var(--spacing-52);
74
+ --spacing-56: var(--spacing-56);
75
+ --spacing-60: var(--spacing-60);
76
+ --spacing-64: var(--spacing-64);
77
+ --spacing-72: var(--spacing-72);
78
+ --spacing-80: var(--spacing-80);
79
+ --spacing-96: var(--spacing-96);
80
+ }
81
+
82
+ @theme {
83
+ /* Font */
84
+ --font-display: 'Inter var', system-ui, sans-serif;
85
+ /* Primary */
86
+ --color-primary: var(--token-color-primary);
87
+ --color-primary-hover: var(--token-color-primary-hover);
88
+ --color-primary-active: var(--token-color-primary-active);
89
+ --color-primary-bg: var(--token-color-primary-bg);
90
+ --color-primary-bg-hover: var(--token-color-primary-bg-hover);
91
+ --color-primary-border: var(--token-color-primary-border);
92
+ --color-primary-border-hover: var(--token-color-primary-border-hover);
93
+ --color-primary-text: var(--token-color-primary-text);
94
+ --color-primary-text-hover: var(--token-color-primary-text-hover);
95
+ --color-primary-text-active: var(--token-color-primary-text-active);
96
+ --color-text-on-primary: var(--token-color-text-on-primary);
97
+
98
+ /* Text */
99
+ --color-text: var(--token-color-text);
100
+ --color-text-secondary: var(--token-color-text-secondary);
101
+ --color-text-tertiary: var(--token-color-text-tertiary);
102
+ --color-text-quaternary: var(--token-color-text-quaternary);
103
+ --color-text-base: var(--token-color-text-base);
104
+
105
+ /* Border */
106
+ --color-border: var(--token-color-border);
107
+ --color-input: var(--token-color-border-tertiary);
108
+ --color-ring: var(--token-color-primary-border);
109
+ --color-popover: var(--token-color-bg-container);
110
+ --color-popover-foreground: var(--token-color-text);
111
+ --color-accent: var(--token-color-fill-secondary);
112
+ --color-accent-foreground: var(--token-color-text);
113
+ --color-muted: var(--token-color-fill-tertiary);
114
+ --color-muted-foreground: var(--token-color-text-secondary);
115
+ --color-background: var(--token-color-bg-base);
116
+ --color-border-secondary: var(--token-color-border-secondary);
117
+ --color-border-tertiary: var(--token-color-border-tertiary);
118
+
119
+ /* Fill */
120
+ --color-fill: var(--token-color-fill);
121
+ --color-fill-secondary: var(--token-color-fill-secondary);
122
+ --color-fill-tertiary: var(--token-color-fill-tertiary);
123
+ --color-fill-quaternary: var(--token-color-fill-quaternary);
124
+ --color-fill-disable: var(--token-color-fill-disable);
125
+
126
+ /* Background */
127
+ --color-bg-container: var(--token-color-bg-container);
128
+ --color-bg-elevated: var(--token-color-bg-elevated);
129
+ --color-bg-layout: var(--token-color-bg-layout);
130
+ --color-bg-spotlight: var(--token-color-bg-spotlight);
131
+ --color-bg-mask: var(--token-color-bg-mask);
132
+ --color-mask-shimmer-weak: var(--token-color-mask-shimmer-weak);
133
+ --color-mask-shimmer-strong: var(--token-color-mask-shimmer-strong);
134
+ --color-mask-shimmer-full: var(--token-color-mask-shimmer-full);
135
+ --color-bg-base: var(--token-color-bg-base);
136
+ --color-bg-highlight: var(--token-color-bg-highlight);
137
+ --color-bg-highlight-hover: var(--token-color-bg-highlight-hover);
138
+
139
+ /* Shadow */
140
+ --color-shadow-primary: var(--token-color-shadow-primary);
141
+ --color-shadow-secondary: var(--token-color-shadow-secondary);
142
+ --color-shadow-tertiary: var(--token-color-shadow-tertiary);
143
+ --color-shadow-quaternary: var(--token-color-shadow-quaternary);
144
+
145
+ /* Semantic */
146
+ --color-link: var(--token-color-link);
147
+ --color-error: var(--token-color-error);
148
+ --color-error-hover: var(--token-color-error-hover);
149
+ --color-error-bg: var(--token-color-error-bg);
150
+ --color-error-bg-hover: var(--token-color-error-bg-hover);
151
+ --color-error-border: var(--token-color-error-border);
152
+ --color-info: var(--token-color-info);
153
+ --color-info-hover: var(--token-color-info-hover);
154
+ --color-info-bg: var(--token-color-info-bg);
155
+ --color-info-bg-hover: var(--token-color-info-bg-hover);
156
+ --color-info-border: var(--token-color-info-border);
157
+ --color-success: var(--token-color-success);
158
+ --color-success-hover: var(--token-color-success-hover);
159
+ --color-success-bg: var(--token-color-success-bg);
160
+ --color-success-bg-hover: var(--token-color-success-bg-hover);
161
+ --color-success-border: var(--token-color-success-border);
162
+ --color-warning: var(--token-color-warning);
163
+ --color-warning-hover: var(--token-color-warning-hover);
164
+ --color-warning-bg: var(--token-color-warning-bg);
165
+ --color-warning-bg-hover: var(--token-color-warning-bg-hover);
166
+ --color-warning-border: var(--token-color-warning-border);
167
+
168
+ /* Accent */
169
+ --color-pink: var(--token-color-pink);
170
+ --color-pink-bg: var(--token-color-pink-bg);
171
+ --color-pink-bg-hover: var(--token-color-pink-bg-hover);
172
+ --color-purple: var(--token-color-purple);
173
+ --color-purple-bg: var(--token-color-purple-bg);
174
+ --color-purple-bg-hover: var(--token-color-purple-bg-hover);
175
+ --color-yellow: var(--token-color-yellow);
176
+ --color-yellow-bg: var(--token-color-yellow-bg);
177
+ --color-yellow-bg-hover: var(--token-color-yellow-bg-hover);
178
+ --color-orange: var(--token-color-orange);
179
+ --color-orange-bg: var(--token-color-orange-bg);
180
+ --color-orange-bg-hover: var(--token-color-orange-bg-hover);
181
+ --color-teal: var(--token-color-teal);
182
+ --color-teal-bg: var(--token-color-teal-bg);
183
+ --color-teal-bg-hover: var(--token-color-teal-bg-hover);
184
+ --color-blue: var(--token-color-blue);
185
+ --color-blue-bg: var(--token-color-blue-bg);
186
+ --color-blue-bg-hover: var(--token-color-blue-bg-hover);
187
+ --color-mauve: var(--token-color-mauve);
188
+ --color-mauve-bg: var(--token-color-mauve-bg);
189
+ --color-mauve-bg-hover: var(--token-color-mauve-bg-hover);
190
+ --color-slate: var(--token-color-slate);
191
+ --color-slate-bg: var(--token-color-slate-bg);
192
+ --color-slate-bg-hover: var(--token-color-slate-bg-hover);
193
+ --color-lavender: var(--token-color-lavender);
194
+ --color-lavender-bg: var(--token-color-lavender-bg);
195
+ --color-lavender-bg-hover: var(--token-color-lavender-bg-hover);
196
+ --color-sage: var(--token-color-sage);
197
+ --color-sage-bg: var(--token-color-sage-bg);
198
+ --color-sage-bg-hover: var(--token-color-sage-bg-hover);
199
+
200
+ /* Diff */
201
+ --color-diff-insert: var(--token-color-diff-insert);
202
+ --color-diff-insert-bg: var(--token-color-diff-insert-bg);
203
+ --color-diff-remove: var(--token-color-diff-remove);
204
+ --color-diff-remove-bg: var(--token-color-diff-remove-bg);
205
+
206
+ /* Accordion animation */
207
+ --animate-accordion-down: accordion-down 0.2s ease-out;
208
+ --animate-accordion-up: accordion-up 0.2s ease-out;
209
+ --animate-accordion-right: accordion-right 0.2s ease-out;
210
+ --animate-accordion-left: accordion-left 0.2s ease-out;
211
+ }
212
+
213
+ /* 行高随 data-style 变化 */
214
+ .leading-xs { line-height: var(--font-size-xs--line-height); }
215
+ .leading-sm { line-height: var(--font-size-sm--line-height); }
216
+ .leading-base { line-height: var(--font-size-base--line-height); }
217
+ .leading-lg { line-height: var(--font-size-lg--line-height); }
218
+ .leading-xl { line-height: var(--font-size-xl--line-height); }
219
+
220
+ @keyframes accordion-down {
221
+ from { height: 0; }
222
+ to { height: var(--radix-accordion-content-height); }
223
+ }
224
+ @keyframes accordion-up {
225
+ from { height: var(--radix-accordion-content-height); }
226
+ to { height: 0; }
227
+ }
228
+ @keyframes accordion-right {
229
+ from { width: 0; }
230
+ to { width: var(--radix-accordion-content-width); }
231
+ }
232
+ @keyframes accordion-left {
233
+ from { width: var(--radix-accordion-content-width); }
234
+ to { width: 0; }
235
+ }
@@ -1,5 +1,5 @@
1
1
  /* ============================================
2
- * Theme: Dark (暗色模式)
2
+ * Theme: Dark Mint (暗色模式)
3
3
  * 用户可复制此文件作为自定义主题模板
4
4
  * ============================================ */
5
5
 
@@ -1,132 +1,133 @@
1
1
  /* ============================================
2
2
  * Theme: Dark Parchment (羊皮纸暗色)
3
- * 复制此文件作为自定义主题模板
3
+ * 用户可复制此文件作为自定义主题模板
4
4
  * ============================================ */
5
5
 
6
6
  [data-theme="dark-parchment"] {
7
7
  color-scheme: dark;
8
8
  /* --- Primary --- */
9
- --color-primary: #C4B8A8;
10
- --color-primary-hover: #D4C9BC;
11
- --color-primary-active: #A89888;
12
- --color-primary-bg: #2D2A22;
13
- --color-primary-bg-hover: #363228;
14
- --color-primary-border: #4A463C;
15
- --color-primary-border-hover: #5B564C;
16
- --color-primary-text: #FAF9F6;
17
- --color-primary-text-hover: #D4C9BC;
18
- --color-primary-text-active: #C4B8A8;
19
- --color-text-on-primary: #1A1814;
9
+ --token-color-primary: #C4B8A8;
10
+ --token-color-primary-hover: #D4C9BC;
11
+ --token-color-primary-active: #A89888;
12
+ --token-color-primary-bg: #2D2A22;
13
+ --token-color-primary-bg-hover: #363228;
14
+ --token-color-primary-border: #4A463C;
15
+ --token-color-primary-border-hover: #5B564C;
16
+ --token-color-primary-text: #FAF9F6;
17
+ --token-color-primary-text-hover: #D4C9BC;
18
+ --token-color-primary-text-active: #C4B8A8;
19
+ --token-color-text-on-primary: #1A1814;
20
20
 
21
21
  /* --- Text --- */
22
- --color-text: #FAF9F6;
23
- --color-text-secondary: #C9C4B8;
24
- --color-text-tertiary: #A8A296;
25
- --color-text-quaternary: #8A857A;
26
- --color-text-base: #F0EDE7;
22
+ --token-color-text: #FAF9F6;
23
+ --token-color-text-secondary: #C9C4B8;
24
+ --token-color-text-tertiary: #A8A296;
25
+ --token-color-text-quaternary: #8A857A;
26
+ --token-color-text-base: #F0EDE7;
27
27
 
28
28
  /* --- Border --- */
29
- --color-border: #4A463C;
30
- --color-border-secondary: #3D3930;
31
- --color-border-tertiary: #2D2A22;
29
+ --token-color-border: #4A463C;
30
+ --token-color-border-secondary: #3D3930;
31
+ --token-color-border-tertiary: #2D2A22;
32
32
 
33
33
  /* --- Fill --- */
34
- --color-fill: #3D3930;
35
- --color-fill-secondary: #363228;
36
- --color-fill-tertiary: #252220;
37
- --color-fill-quaternary: #1E1C18;
38
- --color-fill-disable: #4A463C;
34
+ --token-color-fill: #3D3930;
35
+ --token-color-fill-secondary: #363228;
36
+ --token-color-fill-tertiary: #252220;
37
+ --token-color-fill-quaternary: #1E1C18;
38
+ --token-color-fill-disable: #4A463C;
39
39
 
40
40
  /* --- Background --- */
41
- --color-bg-container: #1E1C18;
42
- --color-bg-elevated: #252220;
43
- --color-bg-layout: #1A1814;
44
- --color-bg-spotlight: #252220;
45
- --color-bg-mask: rgba(0, 0, 0, 0.6);
46
- --color-mask-shimmer-weak: rgba(0, 0, 0, 0.3);
47
- --color-mask-shimmer-strong: rgba(0, 0, 0, 0.8);
48
- --color-mask-shimmer-full: rgba(0, 0, 0, 1);
49
- --color-bg-base: #1A1814;
50
- --color-bg-highlight: #C9C4B8;
51
- --color-bg-highlight-hover: #D4C9BC;
41
+ --token-color-bg-container: #1E1C18;
42
+ --token-color-bg-elevated: #252220;
43
+ --token-color-bg-layout: #1A1814;
44
+ --token-color-bg-spotlight: #252220;
45
+ --token-color-bg-mask: rgba(0, 0, 0, 0.6);
46
+ /* PlanPart 点阵高亮遮罩渐变(随主题) */
47
+ --token-color-mask-shimmer-weak: rgba(0, 0, 0, 0.3);
48
+ --token-color-mask-shimmer-strong: rgba(0, 0, 0, 0.8);
49
+ --token-color-mask-shimmer-full: rgba(0, 0, 0, 1);
50
+ --token-color-bg-base: #1A1814;
51
+ --token-color-bg-highlight: #C9C4B8;
52
+ --token-color-bg-highlight-hover: #D4C9BC;
52
53
 
53
54
  /* --- Semantic Colors --- */
54
- --color-link: #C4B8A8;
55
- --color-error: #FF6B6B;
56
- --color-error-hover: #FF8787;
57
- --color-error-bg: #4A2A2A;
58
- --color-error-bg-hover: #5C3535;
59
- --color-error-border: #663338;
60
- --color-info: #5EBCFF;
61
- --color-info-hover: #7EC9FF;
62
- --color-info-bg: #1A2838;
63
- --color-info-bg-hover: #223244;
64
- --color-info-border: #2A4050;
65
- --color-success: #6B8F71;
66
- --color-success-hover: #7FA385;
67
- --color-success-bg: #1C2A1E;
68
- --color-success-bg-hover: #243224;
69
- --color-success-border: #3D4A3C;
70
- --color-warning: #E5A814;
71
- --color-warning-hover: #F5C024;
72
- --color-warning-bg: #4A4019;
73
- --color-warning-bg-hover: #5C4E1F;
74
- --color-warning-border: #664D19;
55
+ --token-color-link: #C4B8A8;
56
+ --token-color-error: #FF6B6B;
57
+ --token-color-error-hover: #FF8787;
58
+ --token-color-error-bg: #4A2A2A;
59
+ --token-color-error-bg-hover: #5C3535;
60
+ --token-color-error-border: #663338;
61
+ --token-color-info: #5EBCFF;
62
+ --token-color-info-hover: #7EC9FF;
63
+ --token-color-info-bg: #1A2838;
64
+ --token-color-info-bg-hover: #223244;
65
+ --token-color-info-border: #2A4050;
66
+ --token-color-success: #6B8F71;
67
+ --token-color-success-hover: #7FA385;
68
+ --token-color-success-bg: #1C2A1E;
69
+ --token-color-success-bg-hover: #243224;
70
+ --token-color-success-border: #3D4A3C;
71
+ --token-color-warning: #E5A814;
72
+ --token-color-warning-hover: #F5C024;
73
+ --token-color-warning-bg: #4A4019;
74
+ --token-color-warning-bg-hover: #5C4E1F;
75
+ --token-color-warning-border: #664D19;
75
76
 
76
77
  /* --- Accent Colors --- */
77
- --color-pink: #EC4899;
78
- --color-pink-bg: #4A2A38;
79
- --color-pink-bg-hover: #5C3540;
80
- --color-purple: #8B7BED;
81
- --color-purple-bg: #2A2238;
82
- --color-purple-bg-hover: #362E44;
83
- --color-yellow: #E5C04A;
84
- --color-yellow-bg: #4A4030;
85
- --color-yellow-bg-hover: #5C5040;
86
- --color-orange: #E07830;
87
- --color-orange-bg: #4A3020;
88
- --color-orange-bg-hover: #5C3A28;
89
- --color-teal: #14B8A6;
90
- --color-teal-bg: #1A3230;
91
- --color-teal-bg-hover: #243A38;
92
- --color-blue: #0090FF;
93
- --color-blue-bg: #1A2838;
94
- --color-blue-bg-hover: #223244;
95
- --color-mauve: #9C9AA8;
96
- --color-mauve-bg: #2A2830;
97
- --color-mauve-bg-hover: #363438;
98
- --color-slate: #5C5A52;
99
- --color-slate-bg: #2D2A22;
100
- --color-slate-bg-hover: #363228;
101
- --color-lavender: #B99DFF;
102
- --color-lavender-bg: #2A2238;
103
- --color-lavender-bg-hover: #362E44;
104
- --color-sage: #6BB394;
105
- --color-sage-bg: #1C2A24;
106
- --color-sage-bg-hover: #243228;
78
+ --token-color-pink: #EC4899;
79
+ --token-color-pink-bg: #4A2A38;
80
+ --token-color-pink-bg-hover: #5C3540;
81
+ --token-color-purple: #8B7BED;
82
+ --token-color-purple-bg: #2A2238;
83
+ --token-color-purple-bg-hover: #362E44;
84
+ --token-color-yellow: #E5C04A;
85
+ --token-color-yellow-bg: #4A4030;
86
+ --token-color-yellow-bg-hover: #5C5040;
87
+ --token-color-orange: #E07830;
88
+ --token-color-orange-bg: #4A3020;
89
+ --token-color-orange-bg-hover: #5C3A28;
90
+ --token-color-teal: #14B8A6;
91
+ --token-color-teal-bg: #1A3230;
92
+ --token-color-teal-bg-hover: #243A38;
93
+ --token-color-blue: #0090FF;
94
+ --token-color-blue-bg: #1A2838;
95
+ --token-color-blue-bg-hover: #223244;
96
+ --token-color-mauve: #9C9AA8;
97
+ --token-color-mauve-bg: #2A2830;
98
+ --token-color-mauve-bg-hover: #363438;
99
+ --token-color-slate: #5C5A52;
100
+ --token-color-slate-bg: #2D2A22;
101
+ --token-color-slate-bg-hover: #363228;
102
+ --token-color-lavender: #B99DFF;
103
+ --token-color-lavender-bg: #2A2238;
104
+ --token-color-lavender-bg-hover: #362E44;
105
+ --token-color-sage: #6BB394;
106
+ --token-color-sage-bg: #1C2A24;
107
+ --token-color-sage-bg-hover: #243228;
107
108
 
108
- /* --- Component aliases --- */
109
- --color-input: var(--color-border-tertiary);
110
- --color-ring: var(--color-primary-border);
111
- --color-popover: var(--color-bg-container);
112
- --color-popover-foreground: var(--color-text);
113
- --color-accent: var(--color-fill-secondary);
114
- --color-accent-foreground: var(--color-text);
115
- --color-muted: var(--color-fill-tertiary);
116
- --color-muted-foreground: var(--color-text-secondary);
117
- --color-background: var(--color-bg-base);
109
+ /* --- Select 等组件 (input/ring/popover 等) --- */
110
+ --token-color-input: var(--token-color-border-tertiary);
111
+ --token-color-ring: var(--token-color-primary-border);
112
+ --token-color-popover: var(--token-color-bg-container);
113
+ --token-color-popover-foreground: var(--token-color-text);
114
+ --token-color-accent: var(--token-color-fill-secondary);
115
+ --token-color-accent-foreground: var(--token-color-text);
116
+ --token-color-muted: var(--token-color-fill-tertiary);
117
+ --token-color-muted-foreground: var(--token-color-text-secondary);
118
+ --token-color-background: var(--token-color-bg-base);
118
119
 
119
120
  /* --- Diff --- */
120
- --color-diff-insert: #6B8F71;
121
- --color-diff-insert-bg: #1C2A1E;
122
- --color-diff-remove: #FC6B83;
123
- --color-diff-remove-bg: #2A1C1E;
121
+ --token-color-diff-insert: #6B8F71;
122
+ --token-color-diff-insert-bg: #1C2A1E;
123
+ --token-color-diff-remove: #FC6B83;
124
+ --token-color-diff-remove-bg: #2A1C1E;
124
125
  }
125
126
 
126
127
  /* SendButton: dark-parchment 模式下 normal 状态使用 success 色 */
127
128
  [data-theme="dark-parchment"] .SendButton-send {
128
- background-color: var(--color-success);
129
+ background-color: var(--token-color-success);
129
130
  }
130
131
  [data-theme="dark-parchment"] .SendButton-send:hover:not(:disabled) {
131
- background-color: var(--color-success-hover);
132
+ background-color: var(--token-color-success-hover);
132
133
  }
@@ -1,5 +1,5 @@
1
1
  /* ============================================
2
- * Theme: Light (亮色模式)
2
+ * Theme: Light Mint (亮色模式)
3
3
  * 用户可复制此文件作为自定义主题模板
4
4
  * ============================================ */
5
5