sparkdesign 0.0.1 → 0.1.10

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 (118) hide show
  1. package/README.md +188 -4
  2. package/dist/commands/add.js +93 -0
  3. package/dist/commands/diff.js +54 -0
  4. package/dist/commands/init.js +96 -0
  5. package/dist/commands/list.js +25 -0
  6. package/dist/index.js +37 -0
  7. package/dist/utils/config.js +53 -0
  8. package/dist/utils/registry.js +34 -0
  9. package/dist/utils/tokens.js +176 -0
  10. package/dist/utils/transform.js +19 -0
  11. package/package.json +33 -10
  12. package/registry/__tests__/basic/button.test.tsx +333 -0
  13. package/registry/__tests__/chat/markdown.test.tsx +387 -0
  14. package/registry/__tests__/chat/thinking-indicator.test.tsx +244 -0
  15. package/registry/__tests__/chat/tool-invocation-card.test.tsx +346 -0
  16. package/registry/basic/alert-dialog.tsx +180 -0
  17. package/registry/basic/avatar.tsx +120 -0
  18. package/registry/basic/button.tsx +100 -0
  19. package/registry/basic/collapse.tsx +94 -0
  20. package/registry/basic/collapsible-card.tsx +230 -0
  21. package/registry/basic/collapsible.tsx +21 -0
  22. package/registry/basic/dropdown-menu.tsx +254 -0
  23. package/registry/basic/icon-button.tsx +66 -0
  24. package/registry/basic/icons-inline.tsx +206 -0
  25. package/registry/basic/kbd.tsx +50 -0
  26. package/registry/basic/option-list.tsx +125 -0
  27. package/registry/basic/pagination.tsx +132 -0
  28. package/registry/basic/progress.tsx +42 -0
  29. package/registry/basic/radio-group.tsx +69 -0
  30. package/registry/basic/resizable.tsx +67 -0
  31. package/registry/basic/scrollbar.tsx +114 -0
  32. package/registry/basic/select.tsx +177 -0
  33. package/registry/basic/shimmering-text.tsx +115 -0
  34. package/registry/basic/sidebar-menu.tsx +177 -0
  35. package/registry/basic/skeleton.tsx +33 -0
  36. package/registry/basic/slider.tsx +55 -0
  37. package/registry/basic/sonner.tsx +104 -0
  38. package/registry/basic/spinner.tsx +17 -0
  39. package/registry/basic/switch.tsx +49 -0
  40. package/registry/basic/table.tsx +117 -0
  41. package/registry/basic/tabs.tsx +85 -0
  42. package/registry/basic/tag.tsx +161 -0
  43. package/registry/basic/theme-from-document.ts +10 -0
  44. package/registry/basic/toggle.tsx +223 -0
  45. package/registry/basic/tooltip.tsx +80 -0
  46. package/registry/basic/typography.tsx +201 -0
  47. package/registry/chat/ask-user-part.tsx +70 -0
  48. package/registry/chat/browser-action-part.tsx +166 -0
  49. package/registry/chat/chat-input/chat-input-folder-selector.tsx +185 -0
  50. package/registry/chat/chat-input/chat-input-model-switcher.tsx +131 -0
  51. package/registry/chat/chat-input/chat-input-textarea.tsx +67 -0
  52. package/registry/chat/chat-input/compound.tsx +334 -0
  53. package/registry/chat/chat-input/context.tsx +189 -0
  54. package/registry/chat/chat-input/folder-permission-dialog.tsx +61 -0
  55. package/registry/chat/chat-input/index.tsx +123 -0
  56. package/registry/chat/chat-input/types.ts +77 -0
  57. package/registry/chat/chat-input/useAutoResizeTextarea.ts +20 -0
  58. package/registry/chat/code-block-part.tsx +151 -0
  59. package/registry/chat/file-attachment.tsx +44 -0
  60. package/registry/chat/file-card.tsx +68 -0
  61. package/registry/chat/file-review-part.tsx +259 -0
  62. package/registry/chat/folder-button.tsx +169 -0
  63. package/registry/chat/generated-images-grid.tsx +56 -0
  64. package/registry/chat/generation-status-bar.tsx +72 -0
  65. package/registry/chat/hint-banner.tsx +165 -0
  66. package/registry/chat/image-attachment.tsx +166 -0
  67. package/registry/chat/image-generating.tsx +281 -0
  68. package/registry/chat/markdown.tsx +146 -0
  69. package/registry/chat/mermaid-part.tsx +90 -0
  70. package/registry/chat/permission-card.tsx +178 -0
  71. package/registry/chat/plan-part.tsx +168 -0
  72. package/registry/chat/queue-indicator.tsx +234 -0
  73. package/registry/chat/reasoning-step/compound.tsx +336 -0
  74. package/registry/chat/reasoning-step/context.tsx +114 -0
  75. package/registry/chat/reasoning-step/index.tsx +45 -0
  76. package/registry/chat/reasoning-step/types.ts +109 -0
  77. package/registry/chat/related-prompts.tsx +91 -0
  78. package/registry/chat/response/compound.tsx +210 -0
  79. package/registry/chat/response/context.tsx +200 -0
  80. package/registry/chat/response/index.tsx +87 -0
  81. package/registry/chat/response/types.ts +123 -0
  82. package/registry/chat/send-button.tsx +94 -0
  83. package/registry/chat/streaming-markdown-block.tsx +111 -0
  84. package/registry/chat/task-part.tsx +109 -0
  85. package/registry/chat/terminal-code-block-part.tsx +69 -0
  86. package/registry/chat/thinking-indicator.tsx +91 -0
  87. package/registry/chat/tool-invocation-card.tsx +132 -0
  88. package/registry/chat/user-message.tsx +38 -0
  89. package/registry/chat/user-question/UserQuestionCard.tsx +198 -0
  90. package/registry/chat/user-question/UserQuestionFooter.tsx +66 -0
  91. package/registry/chat/user-question/UserQuestionHeader.tsx +64 -0
  92. package/registry/chat/user-question/compound.tsx +324 -0
  93. package/registry/chat/user-question/context.tsx +456 -0
  94. package/registry/chat/user-question/index.tsx +95 -0
  95. package/registry/chat/user-question/types.ts +61 -0
  96. package/registry/chat/user-question/useUserQuestionKeyboard.ts +126 -0
  97. package/registry/chat/user-question/useUserQuestionState.ts +165 -0
  98. package/registry/chat/user-question-answer.tsx +62 -0
  99. package/registry/lib/file-icon-maps.ts +150 -0
  100. package/registry/lib/use-mermaid-render.ts +76 -0
  101. package/registry/lib/utils.ts +6 -0
  102. package/registry/meta.json +1 -0
  103. package/registry/tokens/index.css +31 -0
  104. package/registry/tokens/scale/computed.css +103 -0
  105. package/registry/tokens/scale/config.css +110 -0
  106. package/registry/tokens/scale/index.css +30 -0
  107. package/registry/tokens/scale/presets/compact.css +30 -0
  108. package/registry/tokens/scale/presets/dense.css +64 -0
  109. package/registry/tokens/scale/presets/sharp.css +40 -0
  110. package/registry/tokens/scale/presets/soft.css +16 -0
  111. package/registry/tokens/scale.css +13 -0
  112. package/registry/tokens/scrollbar-utility.css +35 -0
  113. package/registry/tokens/theme.css +633 -0
  114. package/registry/tokens/themes/dark-parchment.css +132 -0
  115. package/registry/tokens/themes/dark-qoder.css +132 -0
  116. package/registry/tokens/themes/light-parchment.css +123 -0
  117. package/registry/tokens/themes/light-qoder.css +131 -0
  118. package/index.js +0 -5
@@ -0,0 +1,103 @@
1
+ /* ============================================
2
+ * Scale Computed - 应用配置,产出实际变量
3
+ *
4
+ * 此文件将 --config-* 映射到 --spacing-* / --radius-* / --font-size-*
5
+ * 组件和样式使用这些实际变量,不直接使用 --config-*
6
+ * ============================================ */
7
+
8
+ :root,
9
+ [data-style="neutral"] {
10
+ /* ============================================
11
+ Spacing (从配置映射)
12
+ ============================================ */
13
+ --spacing: var(--config-spacing-1);
14
+ --spacing-0: var(--config-spacing-0);
15
+ --spacing-px: var(--config-spacing-px);
16
+ --spacing-0\.5: var(--config-spacing-0\.5);
17
+ --spacing-1: var(--config-spacing-1);
18
+ --spacing-1\.5: var(--config-spacing-1\.5);
19
+ --spacing-2: var(--config-spacing-2);
20
+ --spacing-2\.5: var(--config-spacing-2\.5);
21
+ --spacing-3: var(--config-spacing-3);
22
+ --spacing-3\.5: var(--config-spacing-3\.5);
23
+ --spacing-4: var(--config-spacing-4);
24
+ --spacing-5: var(--config-spacing-5);
25
+ --spacing-6: var(--config-spacing-6);
26
+ --spacing-7: var(--config-spacing-7);
27
+ --spacing-8: var(--config-spacing-8);
28
+ --spacing-9: var(--config-spacing-9);
29
+ --spacing-10: var(--config-spacing-10);
30
+ --spacing-11: var(--config-spacing-11);
31
+ --spacing-12: var(--config-spacing-12);
32
+ --spacing-14: var(--config-spacing-14);
33
+ --spacing-16: var(--config-spacing-16);
34
+ --spacing-20: var(--config-spacing-20);
35
+ --spacing-24: var(--config-spacing-24);
36
+ --spacing-28: var(--config-spacing-28);
37
+ --spacing-32: var(--config-spacing-32);
38
+ --spacing-36: var(--config-spacing-36);
39
+ --spacing-40: var(--config-spacing-40);
40
+ --spacing-44: var(--config-spacing-44);
41
+ --spacing-48: var(--config-spacing-48);
42
+ --spacing-52: var(--config-spacing-52);
43
+ --spacing-56: var(--config-spacing-56);
44
+ --spacing-60: var(--config-spacing-60);
45
+ --spacing-64: var(--config-spacing-64);
46
+ --spacing-72: var(--config-spacing-72);
47
+ --spacing-80: var(--config-spacing-80);
48
+ --spacing-96: var(--config-spacing-96);
49
+
50
+ /* ============================================
51
+ Radius (从配置映射)
52
+ ============================================ */
53
+ --radius-none: var(--config-radius-none);
54
+ --radius-sm: var(--config-radius-sm);
55
+ --radius-DEFAULT: var(--config-radius-default);
56
+ --radius-md: var(--config-radius-md);
57
+ --radius-lg: var(--config-radius-lg);
58
+ --radius-xl: var(--config-radius-xl);
59
+ --radius-2xl: var(--config-radius-2xl);
60
+ --radius-3xl: var(--config-radius-3xl);
61
+ --radius-full: var(--config-radius-full);
62
+ --radius: var(--radius-DEFAULT);
63
+
64
+ /* ============================================
65
+ Font Size (从配置映射)
66
+ ============================================ */
67
+ --font-size-xs: var(--config-font-size-xs);
68
+ --font-size-xs--line-height: var(--config-font-size-xs-lh);
69
+ --font-size-sm: var(--config-font-size-sm);
70
+ --font-size-sm--line-height: var(--config-font-size-sm-lh);
71
+ --font-size-base: var(--config-font-size-base);
72
+ --font-size-base--line-height: var(--config-font-size-base-lh);
73
+ --font-size-lg: var(--config-font-size-lg);
74
+ --font-size-lg--line-height: var(--config-font-size-lg-lh);
75
+ --font-size-xl: var(--config-font-size-xl);
76
+ --font-size-xl--line-height: var(--config-font-size-xl-lh);
77
+ --font-size-2xl: var(--config-font-size-2xl);
78
+ --font-size-2xl--line-height: var(--config-font-size-2xl-lh);
79
+ --font-size-3xl: var(--config-font-size-3xl);
80
+ --font-size-3xl--line-height: var(--config-font-size-3xl-lh);
81
+ --font-size-4xl: var(--config-font-size-4xl);
82
+ --font-size-4xl--line-height: var(--config-font-size-4xl-lh);
83
+ --font-size-5xl: var(--config-font-size-5xl);
84
+ --font-size-5xl--line-height: var(--config-font-size-5xl-lh);
85
+ --font-size-6xl: var(--config-font-size-6xl);
86
+ --font-size-6xl--line-height: var(--config-font-size-6xl-lh);
87
+ --font-size-7xl: var(--config-font-size-7xl);
88
+ --font-size-7xl--line-height: var(--config-font-size-7xl-lh);
89
+ --font-size-8xl: var(--config-font-size-8xl);
90
+ --font-size-8xl--line-height: var(--config-font-size-8xl-lh);
91
+ --font-size-9xl: var(--config-font-size-9xl);
92
+ --font-size-9xl--line-height: var(--config-font-size-9xl-lh);
93
+
94
+ /* ============================================
95
+ Motion (从配置映射)
96
+ ============================================ */
97
+ --motion-duration-fast: var(--config-motion-duration-fast);
98
+ --motion-duration-base: var(--config-motion-duration-base);
99
+ --motion-duration-slow: var(--config-motion-duration-slow);
100
+ --motion-ease-standard: var(--config-motion-ease-standard);
101
+ --motion-ease-emphasized: var(--config-motion-ease-emphasized);
102
+ --motion-ease-out: var(--config-motion-ease-out);
103
+ }
@@ -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
+ }
@@ -0,0 +1,13 @@
1
+ /* ============================================
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
+ }