sparkdesign 0.3.1 → 0.3.3

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
@@ -0,0 +1,110 @@
1
+ /* ============================================
2
+ * Scale Config - 可配置的布局基础变量
3
+ *
4
+ * 用户可覆盖这些变量来自定义布局风格:
5
+ * :root {
6
+ * --config-radius-default: 10px; // 自定义默认圆角
7
+ * --config-spacing-4: 18px; // 自定义 spacing-4
8
+ * }
9
+ * ============================================ */
10
+
11
+ :root {
12
+ /* ============================================
13
+ Spacing 配置 (Tailwind 兼容)
14
+ ============================================ */
15
+ --config-spacing-unit: 4px; /* 基础单位 */
16
+ --config-spacing-0: 0;
17
+ --config-spacing-px: 1px;
18
+ --config-spacing-0\.5: 2px;
19
+ --config-spacing-1: 4px;
20
+ --config-spacing-1\.5: 6px;
21
+ --config-spacing-2: 8px;
22
+ --config-spacing-2\.5: 10px;
23
+ --config-spacing-3: 12px;
24
+ --config-spacing-3\.5: 14px;
25
+ --config-spacing-4: 16px;
26
+ --config-spacing-5: 20px;
27
+ --config-spacing-6: 24px;
28
+ --config-spacing-7: 28px;
29
+ --config-spacing-8: 32px;
30
+ --config-spacing-9: 36px;
31
+ --config-spacing-10: 40px;
32
+ --config-spacing-11: 44px;
33
+ --config-spacing-12: 48px;
34
+ --config-spacing-14: 56px;
35
+ --config-spacing-16: 64px;
36
+ --config-spacing-20: 80px;
37
+ --config-spacing-24: 96px;
38
+ --config-spacing-28: 112px;
39
+ --config-spacing-32: 128px;
40
+ --config-spacing-36: 144px;
41
+ --config-spacing-40: 160px;
42
+ --config-spacing-44: 176px;
43
+ --config-spacing-48: 192px;
44
+ --config-spacing-52: 208px;
45
+ --config-spacing-56: 224px;
46
+ --config-spacing-60: 240px;
47
+ --config-spacing-64: 256px;
48
+ --config-spacing-72: 288px;
49
+ --config-spacing-80: 320px;
50
+ --config-spacing-96: 384px;
51
+
52
+ /* ============================================
53
+ Radius 配置
54
+ ============================================ */
55
+ --config-radius-none: 0;
56
+ --config-radius-sm: 4px;
57
+ --config-radius-default: 6px;
58
+ --config-radius-md: 6px;
59
+ --config-radius-lg: 8px;
60
+ --config-radius-xl: 12px;
61
+ --config-radius-2xl: 16px;
62
+ --config-radius-3xl: 24px;
63
+ --config-radius-full: 9999px;
64
+
65
+ /* ============================================
66
+ Font Size 配置
67
+ ============================================ */
68
+ --config-font-size-xs: 12px;
69
+ --config-font-size-xs-lh: 16px;
70
+ --config-font-size-sm: 14px;
71
+ --config-font-size-sm-lh: 20px;
72
+ --config-font-size-base: 14px;
73
+ --config-font-size-base-lh: 20px;
74
+ --config-font-size-lg: 16px;
75
+ --config-font-size-lg-lh: 24px;
76
+ --config-font-size-xl: 18px;
77
+ --config-font-size-xl-lh: 24px;
78
+ --config-font-size-2xl: 20px;
79
+ --config-font-size-2xl-lh: 24px;
80
+ --config-font-size-3xl: 24px;
81
+ --config-font-size-3xl-lh: 28px;
82
+ --config-font-size-4xl: 30px;
83
+ --config-font-size-4xl-lh: 32px;
84
+ --config-font-size-5xl: 36px;
85
+ --config-font-size-5xl-lh: 36px;
86
+ --config-font-size-6xl: 48px;
87
+ --config-font-size-6xl-lh: 1;
88
+ --config-font-size-7xl: 60px;
89
+ --config-font-size-7xl-lh: 1;
90
+ --config-font-size-8xl: 72px;
91
+ --config-font-size-8xl-lh: 1;
92
+ --config-font-size-9xl: 96px;
93
+ --config-font-size-9xl-lh: 1;
94
+
95
+ /* ============================================
96
+ Motion 配置
97
+ ============================================ */
98
+ --config-motion-duration-fast: 150ms;
99
+ --config-motion-duration-base: 200ms;
100
+ --config-motion-duration-slow: 300ms;
101
+ --config-motion-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
102
+ --config-motion-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
103
+ --config-motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
104
+
105
+ /* ============================================
106
+ Font Family 配置
107
+ ============================================ */
108
+ --config-font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
109
+ --config-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
110
+ }
@@ -0,0 +1,30 @@
1
+ /* ============================================
2
+ * Scale 布局风格系统 - 统一入口
3
+ *
4
+ * 引入方式:
5
+ * 1. 全量引入(推荐): @import "./scale/index.css";
6
+ * 2. 按需引入:
7
+ * @import "./scale/config.css";
8
+ * @import "./scale/computed.css";
9
+ * @import "./scale/presets/compact.css";
10
+ *
11
+ * 自定义配置:
12
+ * @import "./scale/config.css";
13
+ * @import "./scale/computed.css";
14
+ * :root {
15
+ * --config-radius-default: 10px; // 自定义圆角
16
+ * --config-spacing-4: 18px; // 自定义间距
17
+ * }
18
+ * ============================================ */
19
+
20
+ /* 配置层:可覆盖的基础变量 */
21
+ @import "./config.css";
22
+
23
+ /* 计算层:映射到实际变量 */
24
+ @import "./computed.css";
25
+
26
+ /* 预设风格 */
27
+ @import "./presets/compact.css";
28
+ @import "./presets/soft.css";
29
+ @import "./presets/sharp.css";
30
+ @import "./presets/dense.css";
@@ -0,0 +1,30 @@
1
+ /* ============================================
2
+ * Preset: Compact - 紧凑风格
3
+ * 优化效率,适合信息密集场景
4
+ * ============================================ */
5
+
6
+ [data-style="compact"] {
7
+ /* Spacing (紧凑比例) */
8
+ --spacing-3: 10px;
9
+ --spacing-4: 14px;
10
+ --spacing-9: 32px;
11
+ --spacing-11: 40px;
12
+
13
+ /* Radius (略小) */
14
+ --radius-xl: 10px;
15
+ --radius-2xl: 12px;
16
+ --radius-3xl: 16px;
17
+
18
+ /* Font Size (略小) */
19
+ --font-size-sm: 12px;
20
+ --font-size-lg: 14px;
21
+ --font-size-xl: 16px;
22
+ --font-size-2xl: 18px;
23
+ --font-size-3xl: 22px;
24
+ --font-size-4xl: 28px;
25
+ --font-size-5xl: 34px;
26
+ --font-size-6xl: 44px;
27
+ --font-size-7xl: 56px;
28
+ --font-size-8xl: 64px;
29
+ --font-size-9xl: 88px;
30
+ }
@@ -0,0 +1,64 @@
1
+ /* ============================================
2
+ * Preset: Dense - 密集风格
3
+ * 信息密集,最大化内容展示
4
+ * ============================================ */
5
+
6
+ [data-style="dense"] {
7
+ /* Spacing (压缩比例) */
8
+ --spacing-2: 6px;
9
+ --spacing-2\.5: 8px;
10
+ --spacing-3: 8px;
11
+ --spacing-3\.5: 10px;
12
+ --spacing-4: 12px;
13
+ --spacing-5: 16px;
14
+ --spacing-6: 20px;
15
+ --spacing-7: 20px;
16
+ --spacing-8: 28px;
17
+ --spacing-9: 28px;
18
+ --spacing-10: 32px;
19
+ --spacing-11: 32px;
20
+ --spacing-12: 40px;
21
+ --spacing-14: 48px;
22
+ --spacing-16: 56px;
23
+ --spacing-20: 64px;
24
+ --spacing-24: 80px;
25
+ --spacing-28: 96px;
26
+ --spacing-32: 112px;
27
+ --spacing-36: 128px;
28
+ --spacing-40: 144px;
29
+ --spacing-44: 160px;
30
+ --spacing-48: 176px;
31
+ --spacing-52: 192px;
32
+ --spacing-56: 208px;
33
+ --spacing-60: 224px;
34
+ --spacing-64: 240px;
35
+ --spacing-72: 272px;
36
+ --spacing-80: 304px;
37
+ --spacing-96: 368px;
38
+
39
+ /* Radius (小圆角) */
40
+ --radius-sm: 2px;
41
+ --radius-DEFAULT: 4px;
42
+ --radius-md: 4px;
43
+ --radius-lg: 6px;
44
+ --radius-xl: 6px;
45
+ --radius-2xl: 8px;
46
+ --radius-3xl: 8px;
47
+ --radius: var(--radius-DEFAULT);
48
+
49
+ /* ChatInput 特殊配置 */
50
+ --chat-status-overlap: 4px;
51
+
52
+ /* Font Size (更小) */
53
+ --font-size-base: 12px;
54
+ --font-size-lg: 14px;
55
+ --font-size-xl: 14px;
56
+ --font-size-2xl: 16px;
57
+ --font-size-3xl: 18px;
58
+ --font-size-4xl: 22px;
59
+ --font-size-5xl: 28px;
60
+ --font-size-6xl: 36px;
61
+ --font-size-7xl: 44px;
62
+ --font-size-8xl: 56px;
63
+ --font-size-9xl: 72px;
64
+ }
@@ -0,0 +1,40 @@
1
+ /* ============================================
2
+ * Preset: Sharp - 锐利风格
3
+ * 几何精度,无圆角 + 等宽字体
4
+ * ============================================ */
5
+
6
+ [data-style="sharp"] {
7
+ /* Spacing (与 compact 相同) */
8
+ --spacing-3: 10px;
9
+ --spacing-4: 14px;
10
+ --spacing-9: 32px;
11
+ --spacing-11: 40px;
12
+
13
+ /* Radius (全部为 0) */
14
+ --radius-sm: 0;
15
+ --radius-DEFAULT: 0;
16
+ --radius-md: 0;
17
+ --radius-lg: 0;
18
+ --radius-xl: 0;
19
+ --radius-2xl: 0;
20
+ --radius-3xl: 0;
21
+ --radius-full: 0;
22
+ --radius: 0;
23
+
24
+ /* Font (等宽字体) */
25
+ --font-sans: var(--config-font-mono);
26
+ font-family: var(--font-sans);
27
+
28
+ /* Font Size (与 compact 相同) */
29
+ --font-size-sm: 12px;
30
+ --font-size-lg: 14px;
31
+ --font-size-xl: 16px;
32
+ --font-size-2xl: 18px;
33
+ --font-size-3xl: 22px;
34
+ --font-size-4xl: 28px;
35
+ --font-size-5xl: 34px;
36
+ --font-size-6xl: 44px;
37
+ --font-size-7xl: 56px;
38
+ --font-size-8xl: 64px;
39
+ --font-size-9xl: 88px;
40
+ }
@@ -0,0 +1,16 @@
1
+ /* ============================================
2
+ * Preset: Soft - 柔和风格
3
+ * 舒适至上,适合阅读和休闲场景
4
+ * ============================================ */
5
+
6
+ [data-style="soft"] {
7
+ /* 只覆盖 Radius (大圆角) */
8
+ --radius-sm: 8px;
9
+ --radius-DEFAULT: 12px;
10
+ --radius-md: 12px;
11
+ --radius-lg: 16px;
12
+ --radius-xl: 20px;
13
+ --radius-2xl: 24px;
14
+ --radius-3xl: 28px;
15
+ --radius: var(--radius-DEFAULT);
16
+ }
@@ -1,299 +1,13 @@
1
1
  /* ============================================
2
- Design Token System - Tailwind 原生映射
3
- ============================================
4
- 设计理念:5 种风格 → spacing/radius/font-size;颜色独立 data-theme。
5
- 结构(Good Taste):只覆盖差异,避免整段复制。
6
- - :root + neutral:完整基准
7
- - soft:仅覆盖 --radius(继承 spacing/font)
8
- - compact + sharp:共用 spacing/font 块,再分别补 radius
9
- - dense:独立完整 scale(与基准差异大)
10
- ============================================ */
11
-
12
- /* ============================================
13
- 维度 1: 布局风格 (data-style)
14
- ============================================ */
15
-
16
- /* --- Neutral: 平衡的标准 --- */
17
- :root,
18
- [data-style="neutral"] {
19
- /* Tailwind 基准:h-7 = calc(var(--spacing)*7),需与 scale 对齐 */
20
- --spacing: var(--spacing-1);
21
- /* Spacing Scale (Tailwind 兼容) */
22
- --spacing-0: 0;
23
- --spacing-px: 1px;
24
- --spacing-0\.5: 2px; /* 0.5 */
25
- --spacing-1: 4px; /* 1 */
26
- --spacing-1\.5: 6px; /* 1.5 */
27
- --spacing-2: 8px; /* 2 */
28
- --spacing-2\.5: 10px; /* 2.5 */
29
- --spacing-3: 12px; /* 3 */
30
- --spacing-3\.5: 14px; /* 3.5 */
31
- --spacing-4: 16px; /* 4 */
32
- --spacing-5: 20px; /* 5 */
33
- --spacing-6: 24px; /* 6 */
34
- --spacing-7: 28px; /* 7 */
35
- --spacing-8: 32px; /* 8 */
36
- --spacing-9: 36px; /* 9 */
37
- --spacing-10: 40px; /* 10 */
38
- --spacing-11: 44px; /* 11 */
39
- --spacing-12: 48px; /* 12 */
40
- --spacing-14: 56px; /* 14 */
41
- --spacing-16: 64px; /* 16 */
42
- --spacing-20: 80px; /* 20 */
43
- --spacing-24: 96px; /* 24 */
44
- --spacing-28: 112px; /* 28 */
45
- --spacing-32: 128px; /* 32 */
46
- --spacing-36: 144px; /* 36 */
47
- --spacing-40: 160px; /* 40 */
48
- --spacing-44: 176px; /* 44 */
49
- --spacing-48: 192px; /* 48 */
50
- --spacing-52: 208px; /* 52 */
51
- --spacing-56: 224px; /* 56 */
52
- --spacing-60: 240px; /* 60 */
53
- --spacing-64: 256px; /* 64 */
54
- --spacing-72: 288px; /* 72 */
55
- --spacing-80: 320px; /* 80 */
56
- --spacing-96: 384px; /* 96 */
57
-
58
- /* Radius Scale (Tailwind 兼容),--radius 供 .rounded 在子树上解析 */
59
- --radius-none: 0;
60
- --radius-sm: 4px;
61
- --radius-DEFAULT: 6px;
62
- --radius-md: 6px;
63
- --radius-lg: 8px;
64
- --radius-xl: 12px;
65
- --radius-2xl: 16px;
66
- --radius-3xl: 24px;
67
- --radius-full: 9999px;
68
- --radius: var(--radius-DEFAULT);
69
-
70
- /* Font Size Scale (Tailwind 兼容),行高/字号均为偶数 px */
71
- --font-size-xs: 12px;
72
- --font-size-xs--line-height: 16px;
73
- --font-size-sm: 14px;
74
- --font-size-sm--line-height: 20px;
75
- --font-size-base: 14px;
76
- --font-size-base--line-height: 20px;
77
- --font-size-lg: 16px;
78
- --font-size-lg--line-height: 24px;
79
- --font-size-xl: 18px;
80
- --font-size-xl--line-height: 24px;
81
- --font-size-2xl: 20px;
82
- --font-size-2xl--line-height: 24px;
83
- --font-size-3xl: 24px;
84
- --font-size-3xl--line-height: 28px;
85
- --font-size-4xl: 30px;
86
- --font-size-4xl--line-height: 32px;
87
- --font-size-5xl: 36px;
88
- --font-size-5xl--line-height: 36px;
89
- --font-size-6xl: 48px;
90
- --font-size-6xl--line-height: 1;
91
- --font-size-7xl: 60px;
92
- --font-size-7xl--line-height: 1;
93
- --font-size-8xl: 72px;
94
- --font-size-8xl--line-height: 1;
95
- --font-size-9xl: 96px;
96
- --font-size-9xl--line-height: 1;
97
-
98
- /* Motion tokens */
99
- --motion-duration-fast: 150ms;
100
- --motion-duration-base: 200ms;
101
- --motion-duration-slow: 300ms;
102
- --motion-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
103
- --motion-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
104
- --motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
105
- }
106
-
107
- /* --- Compact / Sharp: 共用 scale(h-7/9/11=28/32/40,px-2/3/4 与高度同比例)--- */
108
- [data-style="compact"],
109
- [data-style="sharp"] {
110
- --spacing: var(--spacing-1);
111
- --spacing-0: 0;
112
- --spacing-px: 1px;
113
- --spacing-0\.5: 2px;
114
- --spacing-1: 4px;
115
- --spacing-1\.5: 6px;
116
- --spacing-2: 8px;
117
- --spacing-2\.5: 10px;
118
- --spacing-3: 10px;
119
- --spacing-3\.5: 12px;
120
- --spacing-4: 14px;
121
- --spacing-5: 20px;
122
- --spacing-6: 24px;
123
- --spacing-7: 28px;
124
- --spacing-8: 32px;
125
- --spacing-9: 32px;
126
- --spacing-10: 40px;
127
- --spacing-11: 40px;
128
- --spacing-12: 48px;
129
- --spacing-14: 56px;
130
- --spacing-16: 64px;
131
- --spacing-20: 80px;
132
- --spacing-24: 96px;
133
- --spacing-28: 112px;
134
- --spacing-32: 128px;
135
- --spacing-36: 144px;
136
- --spacing-40: 160px;
137
- --spacing-44: 176px;
138
- --spacing-48: 192px;
139
- --spacing-52: 208px;
140
- --spacing-56: 224px;
141
- --spacing-60: 240px;
142
- --spacing-64: 256px;
143
- --spacing-72: 288px;
144
- --spacing-80: 320px;
145
- --spacing-96: 384px;
146
-
147
- --font-size-xs: 12px;
148
- --font-size-xs--line-height: 16px;
149
- --font-size-sm: 12px;
150
- --font-size-sm--line-height: 20px;
151
- --font-size-base: 14px;
152
- --font-size-base--line-height: 20px;
153
- --font-size-lg: 14px;
154
- --font-size-lg--line-height: 24px;
155
- --font-size-xl: 16px;
156
- --font-size-xl--line-height: 24px;
157
- --font-size-2xl: 18px;
158
- --font-size-2xl--line-height: 24px;
159
- --font-size-3xl: 22px;
160
- --font-size-3xl--line-height: 28px;
161
- --font-size-4xl: 28px;
162
- --font-size-4xl--line-height: 32px;
163
- --font-size-5xl: 34px;
164
- --font-size-5xl--line-height: 36px;
165
- --font-size-6xl: 44px;
166
- --font-size-6xl--line-height: 1;
167
- --font-size-7xl: 56px;
168
- --font-size-7xl--line-height: 1;
169
- --font-size-8xl: 64px;
170
- --font-size-8xl--line-height: 1;
171
- --font-size-9xl: 88px;
172
- --font-size-9xl--line-height: 1;
173
- }
174
-
175
- [data-style="compact"] {
176
- --radius-none: 0;
177
- --radius-sm: 4px;
178
- --radius-DEFAULT: 6px;
179
- --radius-md: 6px;
180
- --radius-lg: 8px;
181
- --radius-xl: 10px;
182
- --radius-2xl: 12px;
183
- --radius-3xl: 16px;
184
- --radius-full: 9999px;
185
- --radius: var(--radius-DEFAULT);
186
- }
187
-
188
- /* --- Soft: 舒适至上(继承 neutral spacing/font,圆角全量放大)--- */
189
- [data-style="soft"] {
190
- --radius-none: 0;
191
- --radius-sm: 8px;
192
- --radius-DEFAULT: 12px;
193
- --radius-md: 12px;
194
- --radius-lg: 16px;
195
- --radius-xl: 20px;
196
- --radius-2xl: 24px;
197
- --radius-3xl: 28px;
198
- --radius-full: 9999px;
199
- --radius: var(--radius-DEFAULT);
200
- }
201
-
202
- /* --- Sharp: 继承 compact scale,仅圆角 0 + 等宽字体 --- */
203
- [data-style="sharp"] {
204
- --radius-none: 0;
205
- --radius-sm: 0;
206
- --radius-DEFAULT: 0;
207
- --radius-md: 0;
208
- --radius-lg: 0;
209
- --radius-xl: 0;
210
- --radius-2xl: 0;
211
- --radius-3xl: 0;
212
- --radius-full: 0;
213
- --radius: var(--radius-DEFAULT);
214
- --font-sans: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
215
- font-family: var(--font-sans);
216
- }
217
-
218
- /* --- Dense: 信息密集(h-7/9/11=20/28/32,px-2/3/4 与高度同比例)--- */
219
- [data-style="dense"] {
220
- --spacing: var(--spacing-1);
221
- --spacing-0: 0;
222
- --spacing-px: 1px;
223
- --spacing-0\.5: 2px;
224
- --spacing-1: 4px;
225
- --spacing-1\.5: 6px;
226
- --spacing-2: 6px;
227
- --spacing-2\.5: 8px;
228
- --spacing-3: 8px;
229
- --spacing-3\.5: 10px;
230
- --spacing-4: 12px;
231
- --spacing-5: 16px;
232
- --spacing-6: 20px;
233
- --spacing-7: 20px;
234
- --spacing-8: 28px;
235
- --spacing-9: 28px;
236
- --spacing-10: 32px;
237
- --spacing-11: 32px;
238
- --spacing-12: 40px;
239
- --spacing-14: 48px;
240
- --spacing-16: 56px;
241
- --spacing-20: 64px;
242
- --spacing-24: 80px;
243
- --spacing-28: 96px;
244
- --spacing-32: 112px;
245
- --spacing-36: 128px;
246
- --spacing-40: 144px;
247
- --spacing-44: 160px;
248
- --spacing-48: 176px;
249
- --spacing-52: 192px;
250
- --spacing-56: 208px;
251
- --spacing-60: 224px;
252
- --spacing-64: 240px;
253
- --spacing-72: 272px;
254
- --spacing-80: 304px;
255
- --spacing-96: 368px;
256
-
257
- /* Radius Scale:偶数 */
258
- --radius-none: 0;
259
- --radius-sm: 2px;
260
- --radius-DEFAULT: 4px;
261
- --radius-md: 4px;
262
- --radius-lg: 6px;
263
- --radius-xl: 6px;
264
- --radius-2xl: 8px;
265
- --radius-3xl: 8px;
266
- --radius-full: 9999px;
267
- --radius: var(--radius-DEFAULT);
268
-
269
- /* ChatInput 生成状态栏与输入框 overlap,dense 下缩小使文字到顶端/输入框顶端距离相等 */
270
- --chat-status-overlap: 4px;
271
-
272
- /* Font Size Scale:偶数 px,行高偶数 */
273
- --font-size-xs: 10px;
274
- --font-size-xs--line-height: 16px;
275
- --font-size-sm: 12px;
276
- --font-size-sm--line-height: 20px;
277
- --font-size-base: 12px;
278
- --font-size-base--line-height: 20px;
279
- --font-size-lg: 14px;
280
- --font-size-lg--line-height: 24px;
281
- --font-size-xl: 14px;
282
- --font-size-xl--line-height: 24px;
283
- --font-size-2xl: 16px;
284
- --font-size-2xl--line-height: 24px;
285
- --font-size-3xl: 18px;
286
- --font-size-3xl--line-height: 28px;
287
- --font-size-4xl: 22px;
288
- --font-size-4xl--line-height: 32px;
289
- --font-size-5xl: 28px;
290
- --font-size-5xl--line-height: 36px;
291
- --font-size-6xl: 36px;
292
- --font-size-6xl--line-height: 1;
293
- --font-size-7xl: 44px;
294
- --font-size-7xl--line-height: 1;
295
- --font-size-8xl: 56px;
296
- --font-size-8xl--line-height: 1;
297
- --font-size-9xl: 72px;
298
- --font-size-9xl--line-height: 1;
299
- }
2
+ * [DEPRECATED] 此文件保留用于向后兼容
3
+ * 新代码请使用 @import "./scale/index.css";
4
+ *
5
+ * 如需自定义配置:
6
+ * @import "./scale/config.css";
7
+ * @import "./scale/computed.css";
8
+ * :root {
9
+ * --config-radius-default: 10px;
10
+ * }
11
+ * ============================================ */
12
+
13
+ @import "./scale/index.css";
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 与 Scrollbar 组件 auto 模式一致的滚动条样式工具类
3
+ * 用于无法使用 Scrollbar 组件的场景(table 双轴、textarea、collapsible-card 等)
4
+ * 保持产品内滚动条视觉一致:默认透明,hover 时 fill-secondary,0.2s 过渡
5
+ */
6
+ .scrollbar-auto::-webkit-scrollbar {
7
+ width: 6px;
8
+ height: 6px;
9
+ }
10
+ .scrollbar-auto::-webkit-scrollbar-track {
11
+ background: transparent;
12
+ }
13
+ .scrollbar-auto::-webkit-scrollbar-thumb {
14
+ background-color: transparent;
15
+ border-radius: 3px;
16
+ min-height: var(--spacing-8);
17
+ transition: background-color 0.2s ease;
18
+ }
19
+ .scrollbar-auto:hover::-webkit-scrollbar-thumb {
20
+ background-color: var(--color-fill-secondary);
21
+ }
22
+ .scrollbar-auto::-webkit-scrollbar-corner {
23
+ background: transparent;
24
+ }
25
+ .scrollbar-auto {
26
+ scrollbar-width: thin;
27
+ }
28
+ @supports (scrollbar-width: thin) {
29
+ .scrollbar-auto {
30
+ scrollbar-color: transparent transparent;
31
+ }
32
+ .scrollbar-auto:hover {
33
+ scrollbar-color: var(--color-fill-secondary) transparent;
34
+ }
35
+ }