sparkdesign 0.3.0 → 0.3.2

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 (104) hide show
  1. package/README.md +7 -5
  2. package/cli/dist/index.js +0 -0
  3. package/cli/dist/utils/tokens.js +103 -17
  4. package/cli/registry/basic/button.test.tsx +333 -0
  5. package/cli/registry/chat/{question-part.tsx → ask-user-part.tsx} +4 -4
  6. package/cli/registry/chat/{browser-use-part.tsx → browser-action-part.tsx} +6 -6
  7. package/cli/registry/chat/{suggestion-part.tsx → hint-banner.tsx} +4 -4
  8. package/cli/registry/chat/markdown.test.tsx +387 -0
  9. package/cli/registry/chat/{reasoning-step.tsx → reasoning-step/compound.tsx} +163 -185
  10. package/cli/registry/chat/reasoning-step/context.tsx +114 -0
  11. package/cli/registry/chat/reasoning-step/index.tsx +45 -0
  12. package/cli/registry/chat/reasoning-step/types.ts +109 -0
  13. package/cli/registry/chat/response/compound.tsx +210 -0
  14. package/cli/registry/chat/{response.tsx → response/context.tsx} +65 -136
  15. package/cli/registry/chat/response/index.tsx +87 -0
  16. package/cli/registry/chat/response/types.ts +123 -0
  17. package/cli/registry/chat/thinking-indicator.test.tsx +244 -0
  18. package/cli/registry/chat/tool-invocation-card.test.tsx +346 -0
  19. package/cli/registry/chat/{request.tsx → user-message.tsx} +3 -3
  20. package/cli/registry/chat/user-question/compound.tsx +324 -0
  21. package/cli/registry/chat/user-question/context.tsx +456 -0
  22. package/cli/registry/chat/user-question/index.tsx +71 -316
  23. package/cli/registry/chat/user-question/useUserQuestionKeyboard.ts +5 -6
  24. package/cli/registry/tokens/index.css +31 -0
  25. package/cli/registry/tokens/scale/computed.css +103 -0
  26. package/cli/registry/tokens/scale/config.css +110 -0
  27. package/cli/registry/tokens/scale/index.css +30 -0
  28. package/cli/registry/tokens/scale/presets/compact.css +30 -0
  29. package/cli/registry/tokens/scale/presets/dense.css +64 -0
  30. package/cli/registry/tokens/scale/presets/sharp.css +40 -0
  31. package/cli/registry/tokens/scale/presets/soft.css +16 -0
  32. package/cli/registry/tokens/scale.css +12 -298
  33. package/cli/registry/tokens/scrollbar-utility.css +35 -0
  34. package/cli/registry/tokens/themes/dark-parchment.css +132 -0
  35. package/cli/registry/tokens/themes/dark-qoder.css +132 -0
  36. package/cli/registry/tokens/themes/light-parchment.css +123 -0
  37. package/cli/registry/tokens/themes/light-qoder.css +131 -0
  38. package/dist/qoder-design.css +1 -1
  39. package/dist/registry/chat/ask-user-part.d.ts +24 -0
  40. package/dist/registry/chat/browser-action-part.d.ts +28 -0
  41. package/dist/registry/chat/{suggestion-part.d.ts → hint-banner.d.ts} +4 -4
  42. package/dist/registry/chat/reasoning-step/compound.d.ts +17 -0
  43. package/dist/registry/chat/reasoning-step/context.d.ts +10 -0
  44. package/dist/registry/chat/reasoning-step/index.d.ts +14 -0
  45. package/dist/registry/chat/reasoning-step/types.d.ts +95 -0
  46. package/dist/registry/chat/response/compound.d.ts +25 -0
  47. package/dist/registry/chat/response/context.d.ts +9 -0
  48. package/dist/registry/chat/response/index.d.ts +15 -0
  49. package/dist/registry/chat/response/types.d.ts +99 -0
  50. package/dist/registry/chat/user-message.d.ts +6 -0
  51. package/dist/registry/chat/user-question/compound.d.ts +37 -0
  52. package/dist/registry/chat/user-question/context.d.ts +55 -0
  53. package/dist/registry/chat/user-question/index.d.ts +13 -5
  54. package/dist/registry/chat/user-question/useUserQuestionKeyboard.d.ts +2 -3
  55. package/dist/scale.css +9 -303
  56. package/dist/spark-design.cjs.js +62 -62
  57. package/dist/spark-design.es.js +3992 -3826
  58. package/dist/src/components/chat/AskUserPart/index.d.ts +6 -0
  59. package/dist/src/components/chat/BrowserActionPart/index.d.ts +7 -0
  60. package/dist/src/components/chat/HintBanner/index.d.ts +6 -0
  61. package/dist/src/components/chat/ReasoningStep/index.d.ts +11 -5
  62. package/dist/src/components/chat/Response/index.d.ts +16 -6
  63. package/dist/src/components/chat/UserMessage/index.d.ts +7 -0
  64. package/dist/src/components/chat/UserQuestion/index.d.ts +18 -4
  65. package/dist/src/components/index.d.ts +63 -63
  66. package/dist/theme.css +13 -800
  67. package/package.json +27 -3
  68. package/dist/registry/chat/browser-use-part.d.ts +0 -28
  69. package/dist/registry/chat/question-part.d.ts +0 -24
  70. package/dist/registry/chat/reasoning-step.d.ts +0 -35
  71. package/dist/registry/chat/request.d.ts +0 -6
  72. package/dist/registry/chat/response.d.ts +0 -28
  73. package/dist/src/components/chat/BrowserUsePart/index.d.ts +0 -7
  74. package/dist/src/components/chat/QuestionPart/index.d.ts +0 -6
  75. package/dist/src/components/chat/Request/index.d.ts +0 -7
  76. package/dist/src/components/chat/SuggestionPart/index.d.ts +0 -6
  77. /package/dist/src/components/{foundation → basic}/AlertDialog/index.d.ts +0 -0
  78. /package/dist/src/components/{foundation → basic}/Avatar/index.d.ts +0 -0
  79. /package/dist/src/components/{foundation → basic}/Button/index.d.ts +0 -0
  80. /package/dist/src/components/{foundation → basic}/Collapse/index.d.ts +0 -0
  81. /package/dist/src/components/{foundation → basic}/Collapsible/index.d.ts +0 -0
  82. /package/dist/src/components/{foundation → basic}/CollapsibleSection/index.d.ts +0 -0
  83. /package/dist/src/components/{foundation → basic}/DropdownMenu/index.d.ts +0 -0
  84. /package/dist/src/components/{foundation → basic}/EllipsisText/index.d.ts +0 -0
  85. /package/dist/src/components/{foundation → basic}/IconButton/index.d.ts +0 -0
  86. /package/dist/src/components/{foundation → basic}/Kbd/index.d.ts +0 -0
  87. /package/dist/src/components/{foundation → basic}/OptionList/index.d.ts +0 -0
  88. /package/dist/src/components/{foundation → basic}/Pagination/index.d.ts +0 -0
  89. /package/dist/src/components/{foundation → basic}/Progress/index.d.ts +0 -0
  90. /package/dist/src/components/{foundation → basic}/RadioGroup/index.d.ts +0 -0
  91. /package/dist/src/components/{foundation → basic}/Resizable/index.d.ts +0 -0
  92. /package/dist/src/components/{foundation → basic}/Scrollbar/index.d.ts +0 -0
  93. /package/dist/src/components/{foundation → basic}/Select/index.d.ts +0 -0
  94. /package/dist/src/components/{foundation → basic}/Skeleton/index.d.ts +0 -0
  95. /package/dist/src/components/{foundation → basic}/Slider/index.d.ts +0 -0
  96. /package/dist/src/components/{foundation → basic}/Spinner/index.d.ts +0 -0
  97. /package/dist/src/components/{foundation → basic}/Switch/index.d.ts +0 -0
  98. /package/dist/src/components/{foundation → basic}/Table/index.d.ts +0 -0
  99. /package/dist/src/components/{foundation → basic}/Tabs/index.d.ts +0 -0
  100. /package/dist/src/components/{foundation → basic}/Tag/index.d.ts +0 -0
  101. /package/dist/src/components/{foundation → basic}/Toast/index.d.ts +0 -0
  102. /package/dist/src/components/{foundation → basic}/Toggle/index.d.ts +0 -0
  103. /package/dist/src/components/{foundation → basic}/Tooltip/index.d.ts +0 -0
  104. /package/dist/src/components/{foundation → basic}/Typography/index.d.ts +0 -0
package/dist/scale.css CHANGED
@@ -1,307 +1,13 @@
1
1
  /* ============================================
2
- * [POS]: src/tokens/scale.css - 布局风格令牌,定义 spacing/radius/font-size
3
- * [OUTPUT]: CSS 变量 --spacing-* / --radius-* / --font-size-* / --motion-*
2
+ * [DEPRECATED] 此文件保留用于向后兼容
3
+ * 新代码请使用 @import "./scale/index.css";
4
4
  *
5
- * [PROTOCOL]:
6
- * 1. 修改布局风格数值时需保持各风格相对关系
7
- * 2. 新增风格需遵循 spacing/radius/font-size 三类完整性
8
- * 3. 更新后必须上浮检查 L2 tokens/CLAUDE.md
9
- *
10
- * Design Token System - Tailwind 原生映射
11
- * ============================================
12
- * 设计理念:5 种风格 → spacing/radius/font-size;颜色独立 data-theme。
13
- * 结构(Good Taste):只覆盖差异,避免整段复制。
14
- * - :root + neutral:完整基准
15
- * - soft:仅覆盖 --radius(继承 spacing/font)
16
- * - compact + sharp:共用 spacing/font 块,再分别补 radius
17
- * - dense:独立完整 scale(与基准差异大)
5
+ * 如需自定义配置:
6
+ * @import "./scale/config.css";
7
+ * @import "./scale/computed.css";
8
+ * :root {
9
+ * --config-radius-default: 10px;
10
+ * }
18
11
  * ============================================ */
19
12
 
20
- /* ============================================
21
- 维度 1: 布局风格 (data-style)
22
- ============================================ */
23
-
24
- /* --- Neutral: 平衡的标准 --- */
25
- :root,
26
- [data-style="neutral"] {
27
- /* Tailwind 基准:h-7 = calc(var(--spacing)*7),需与 scale 对齐 */
28
- --spacing: var(--spacing-1);
29
- /* Spacing Scale (Tailwind 兼容) */
30
- --spacing-0: 0;
31
- --spacing-px: 1px;
32
- --spacing-0\.5: 2px; /* 0.5 */
33
- --spacing-1: 4px; /* 1 */
34
- --spacing-1\.5: 6px; /* 1.5 */
35
- --spacing-2: 8px; /* 2 */
36
- --spacing-2\.5: 10px; /* 2.5 */
37
- --spacing-3: 12px; /* 3 */
38
- --spacing-3\.5: 14px; /* 3.5 */
39
- --spacing-4: 16px; /* 4 */
40
- --spacing-5: 20px; /* 5 */
41
- --spacing-6: 24px; /* 6 */
42
- --spacing-7: 28px; /* 7 */
43
- --spacing-8: 32px; /* 8 */
44
- --spacing-9: 36px; /* 9 */
45
- --spacing-10: 40px; /* 10 */
46
- --spacing-11: 44px; /* 11 */
47
- --spacing-12: 48px; /* 12 */
48
- --spacing-14: 56px; /* 14 */
49
- --spacing-16: 64px; /* 16 */
50
- --spacing-20: 80px; /* 20 */
51
- --spacing-24: 96px; /* 24 */
52
- --spacing-28: 112px; /* 28 */
53
- --spacing-32: 128px; /* 32 */
54
- --spacing-36: 144px; /* 36 */
55
- --spacing-40: 160px; /* 40 */
56
- --spacing-44: 176px; /* 44 */
57
- --spacing-48: 192px; /* 48 */
58
- --spacing-52: 208px; /* 52 */
59
- --spacing-56: 224px; /* 56 */
60
- --spacing-60: 240px; /* 60 */
61
- --spacing-64: 256px; /* 64 */
62
- --spacing-72: 288px; /* 72 */
63
- --spacing-80: 320px; /* 80 */
64
- --spacing-96: 384px; /* 96 */
65
-
66
- /* Radius Scale (Tailwind 兼容),--radius 供 .rounded 在子树上解析 */
67
- --radius-none: 0;
68
- --radius-sm: 4px;
69
- --radius-DEFAULT: 6px;
70
- --radius-md: 6px;
71
- --radius-lg: 8px;
72
- --radius-xl: 12px;
73
- --radius-2xl: 16px;
74
- --radius-3xl: 24px;
75
- --radius-full: 9999px;
76
- --radius: var(--radius-DEFAULT);
77
-
78
- /* Font Size Scale (Tailwind 兼容),行高/字号均为偶数 px */
79
- --font-size-xs: 12px;
80
- --font-size-xs--line-height: 16px;
81
- --font-size-sm: 14px;
82
- --font-size-sm--line-height: 20px;
83
- --font-size-base: 14px;
84
- --font-size-base--line-height: 20px;
85
- --font-size-lg: 16px;
86
- --font-size-lg--line-height: 24px;
87
- --font-size-xl: 18px;
88
- --font-size-xl--line-height: 24px;
89
- --font-size-2xl: 20px;
90
- --font-size-2xl--line-height: 24px;
91
- --font-size-3xl: 24px;
92
- --font-size-3xl--line-height: 28px;
93
- --font-size-4xl: 30px;
94
- --font-size-4xl--line-height: 32px;
95
- --font-size-5xl: 36px;
96
- --font-size-5xl--line-height: 36px;
97
- --font-size-6xl: 48px;
98
- --font-size-6xl--line-height: 1;
99
- --font-size-7xl: 60px;
100
- --font-size-7xl--line-height: 1;
101
- --font-size-8xl: 72px;
102
- --font-size-8xl--line-height: 1;
103
- --font-size-9xl: 96px;
104
- --font-size-9xl--line-height: 1;
105
-
106
- /* Motion tokens */
107
- --motion-duration-fast: 150ms;
108
- --motion-duration-base: 200ms;
109
- --motion-duration-slow: 300ms;
110
- --motion-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
111
- --motion-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
112
- --motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
113
- }
114
-
115
- /* --- Compact / Sharp: 共用 scale(h-7/9/11=28/32/40,px-2/3/4 与高度同比例)--- */
116
- [data-style="compact"],
117
- [data-style="sharp"] {
118
- --spacing: var(--spacing-1);
119
- --spacing-0: 0;
120
- --spacing-px: 1px;
121
- --spacing-0\.5: 2px;
122
- --spacing-1: 4px;
123
- --spacing-1\.5: 6px;
124
- --spacing-2: 8px;
125
- --spacing-2\.5: 10px;
126
- --spacing-3: 10px;
127
- --spacing-3\.5: 12px;
128
- --spacing-4: 14px;
129
- --spacing-5: 20px;
130
- --spacing-6: 24px;
131
- --spacing-7: 28px;
132
- --spacing-8: 32px;
133
- --spacing-9: 32px;
134
- --spacing-10: 40px;
135
- --spacing-11: 40px;
136
- --spacing-12: 48px;
137
- --spacing-14: 56px;
138
- --spacing-16: 64px;
139
- --spacing-20: 80px;
140
- --spacing-24: 96px;
141
- --spacing-28: 112px;
142
- --spacing-32: 128px;
143
- --spacing-36: 144px;
144
- --spacing-40: 160px;
145
- --spacing-44: 176px;
146
- --spacing-48: 192px;
147
- --spacing-52: 208px;
148
- --spacing-56: 224px;
149
- --spacing-60: 240px;
150
- --spacing-64: 256px;
151
- --spacing-72: 288px;
152
- --spacing-80: 320px;
153
- --spacing-96: 384px;
154
-
155
- --font-size-xs: 12px;
156
- --font-size-xs--line-height: 16px;
157
- --font-size-sm: 12px;
158
- --font-size-sm--line-height: 20px;
159
- --font-size-base: 14px;
160
- --font-size-base--line-height: 20px;
161
- --font-size-lg: 14px;
162
- --font-size-lg--line-height: 24px;
163
- --font-size-xl: 16px;
164
- --font-size-xl--line-height: 24px;
165
- --font-size-2xl: 18px;
166
- --font-size-2xl--line-height: 24px;
167
- --font-size-3xl: 22px;
168
- --font-size-3xl--line-height: 28px;
169
- --font-size-4xl: 28px;
170
- --font-size-4xl--line-height: 32px;
171
- --font-size-5xl: 34px;
172
- --font-size-5xl--line-height: 36px;
173
- --font-size-6xl: 44px;
174
- --font-size-6xl--line-height: 1;
175
- --font-size-7xl: 56px;
176
- --font-size-7xl--line-height: 1;
177
- --font-size-8xl: 64px;
178
- --font-size-8xl--line-height: 1;
179
- --font-size-9xl: 88px;
180
- --font-size-9xl--line-height: 1;
181
- }
182
-
183
- [data-style="compact"] {
184
- --radius-none: 0;
185
- --radius-sm: 4px;
186
- --radius-DEFAULT: 6px;
187
- --radius-md: 6px;
188
- --radius-lg: 8px;
189
- --radius-xl: 10px;
190
- --radius-2xl: 12px;
191
- --radius-3xl: 16px;
192
- --radius-full: 9999px;
193
- --radius: var(--radius-DEFAULT);
194
- }
195
-
196
- /* --- Soft: 舒适至上(继承 neutral spacing/font,圆角全量放大)--- */
197
- [data-style="soft"] {
198
- --radius-none: 0;
199
- --radius-sm: 8px;
200
- --radius-DEFAULT: 12px;
201
- --radius-md: 12px;
202
- --radius-lg: 16px;
203
- --radius-xl: 20px;
204
- --radius-2xl: 24px;
205
- --radius-3xl: 28px;
206
- --radius-full: 9999px;
207
- --radius: var(--radius-DEFAULT);
208
- }
209
-
210
- /* --- Sharp: 继承 compact scale,仅圆角 0 + 等宽字体 --- */
211
- [data-style="sharp"] {
212
- --radius-none: 0;
213
- --radius-sm: 0;
214
- --radius-DEFAULT: 0;
215
- --radius-md: 0;
216
- --radius-lg: 0;
217
- --radius-xl: 0;
218
- --radius-2xl: 0;
219
- --radius-3xl: 0;
220
- --radius-full: 0;
221
- --radius: var(--radius-DEFAULT);
222
- --font-sans: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
223
- font-family: var(--font-sans);
224
- }
225
-
226
- /* --- Dense: 信息密集(h-7/9/11=20/28/32,px-2/3/4 与高度同比例)--- */
227
- [data-style="dense"] {
228
- --spacing: var(--spacing-1);
229
- --spacing-0: 0;
230
- --spacing-px: 1px;
231
- --spacing-0\.5: 2px;
232
- --spacing-1: 4px;
233
- --spacing-1\.5: 6px;
234
- --spacing-2: 6px;
235
- --spacing-2\.5: 8px;
236
- --spacing-3: 8px;
237
- --spacing-3\.5: 10px;
238
- --spacing-4: 12px;
239
- --spacing-5: 16px;
240
- --spacing-6: 20px;
241
- --spacing-7: 20px;
242
- --spacing-8: 28px;
243
- --spacing-9: 28px;
244
- --spacing-10: 32px;
245
- --spacing-11: 32px;
246
- --spacing-12: 40px;
247
- --spacing-14: 48px;
248
- --spacing-16: 56px;
249
- --spacing-20: 64px;
250
- --spacing-24: 80px;
251
- --spacing-28: 96px;
252
- --spacing-32: 112px;
253
- --spacing-36: 128px;
254
- --spacing-40: 144px;
255
- --spacing-44: 160px;
256
- --spacing-48: 176px;
257
- --spacing-52: 192px;
258
- --spacing-56: 208px;
259
- --spacing-60: 224px;
260
- --spacing-64: 240px;
261
- --spacing-72: 272px;
262
- --spacing-80: 304px;
263
- --spacing-96: 368px;
264
-
265
- /* Radius Scale:偶数 */
266
- --radius-none: 0;
267
- --radius-sm: 2px;
268
- --radius-DEFAULT: 4px;
269
- --radius-md: 4px;
270
- --radius-lg: 6px;
271
- --radius-xl: 6px;
272
- --radius-2xl: 8px;
273
- --radius-3xl: 8px;
274
- --radius-full: 9999px;
275
- --radius: var(--radius-DEFAULT);
276
-
277
- /* ChatInput 生成状态栏与输入框 overlap,dense 下缩小使文字到顶端/输入框顶端距离相等 */
278
- --chat-status-overlap: 4px;
279
-
280
- /* Font Size Scale:偶数 px,行高偶数 */
281
- --font-size-xs: 12px;
282
- --font-size-xs--line-height: 16px;
283
- --font-size-sm: 12px;
284
- --font-size-sm--line-height: 20px;
285
- --font-size-base: 12px;
286
- --font-size-base--line-height: 20px;
287
- --font-size-lg: 14px;
288
- --font-size-lg--line-height: 24px;
289
- --font-size-xl: 14px;
290
- --font-size-xl--line-height: 24px;
291
- --font-size-2xl: 16px;
292
- --font-size-2xl--line-height: 24px;
293
- --font-size-3xl: 18px;
294
- --font-size-3xl--line-height: 28px;
295
- --font-size-4xl: 22px;
296
- --font-size-4xl--line-height: 32px;
297
- --font-size-5xl: 28px;
298
- --font-size-5xl--line-height: 36px;
299
- --font-size-6xl: 36px;
300
- --font-size-6xl--line-height: 1;
301
- --font-size-7xl: 44px;
302
- --font-size-7xl--line-height: 1;
303
- --font-size-8xl: 56px;
304
- --font-size-8xl--line-height: 1;
305
- --font-size-9xl: 72px;
306
- --font-size-9xl--line-height: 1;
307
- }
13
+ @import "./scale/index.css";