advance-semi-theme 1.0.0

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 (169) hide show
  1. package/README.md +214 -0
  2. package/dist/antd/index.d.ts +159 -0
  3. package/dist/antd/index.js +1378 -0
  4. package/dist/antd/plugin.d.ts +34 -0
  5. package/dist/antd/plugin.js +12 -0
  6. package/dist/antd/styles/all.css +83 -0
  7. package/dist/antd/styles/base.css +202 -0
  8. package/dist/antd/styles/components/affix.css +7 -0
  9. package/dist/antd/styles/components/ai.css +242 -0
  10. package/dist/antd/styles/components/alert.css +149 -0
  11. package/dist/antd/styles/components/anchor.css +40 -0
  12. package/dist/antd/styles/components/app.css +9 -0
  13. package/dist/antd/styles/components/autocomplete.css +56 -0
  14. package/dist/antd/styles/components/avatar.css +37 -0
  15. package/dist/antd/styles/components/backtop.css +106 -0
  16. package/dist/antd/styles/components/badge.css +76 -0
  17. package/dist/antd/styles/components/breadcrumb.css +37 -0
  18. package/dist/antd/styles/components/button.css +528 -0
  19. package/dist/antd/styles/components/calendar.css +55 -0
  20. package/dist/antd/styles/components/card.css +113 -0
  21. package/dist/antd/styles/components/carousel.css +57 -0
  22. package/dist/antd/styles/components/cascader.css +99 -0
  23. package/dist/antd/styles/components/checkableTag.css +26 -0
  24. package/dist/antd/styles/components/checkbox.css +119 -0
  25. package/dist/antd/styles/components/collapse.css +74 -0
  26. package/dist/antd/styles/components/colorpicker.css +94 -0
  27. package/dist/antd/styles/components/configprovider.css +6 -0
  28. package/dist/antd/styles/components/datepicker.css +346 -0
  29. package/dist/antd/styles/components/descriptions.css +63 -0
  30. package/dist/antd/styles/components/divider.css +34 -0
  31. package/dist/antd/styles/components/drawer.css +71 -0
  32. package/dist/antd/styles/components/dropdown.css +94 -0
  33. package/dist/antd/styles/components/empty.css +40 -0
  34. package/dist/antd/styles/components/flex.css +19 -0
  35. package/dist/antd/styles/components/floatbutton.css +65 -0
  36. package/dist/antd/styles/components/form.css +90 -0
  37. package/dist/antd/styles/components/grid.css +11 -0
  38. package/dist/antd/styles/components/icon.css +18 -0
  39. package/dist/antd/styles/components/image.css +125 -0
  40. package/dist/antd/styles/components/input.css +459 -0
  41. package/dist/antd/styles/components/inputnumber.css +102 -0
  42. package/dist/antd/styles/components/layout.css +63 -0
  43. package/dist/antd/styles/components/list.css +109 -0
  44. package/dist/antd/styles/components/mentions.css +84 -0
  45. package/dist/antd/styles/components/menu.css +190 -0
  46. package/dist/antd/styles/components/message.css +68 -0
  47. package/dist/antd/styles/components/modal.css +124 -0
  48. package/dist/antd/styles/components/notification.css +89 -0
  49. package/dist/antd/styles/components/pageheader.css +62 -0
  50. package/dist/antd/styles/components/pagination.css +139 -0
  51. package/dist/antd/styles/components/popconfirm.css +64 -0
  52. package/dist/antd/styles/components/popover.css +40 -0
  53. package/dist/antd/styles/components/progress.css +105 -0
  54. package/dist/antd/styles/components/qrcode.css +43 -0
  55. package/dist/antd/styles/components/radio.css +166 -0
  56. package/dist/antd/styles/components/rate.css +47 -0
  57. package/dist/antd/styles/components/result.css +63 -0
  58. package/dist/antd/styles/components/scrollbar.css +22 -0
  59. package/dist/antd/styles/components/segmented.css +75 -0
  60. package/dist/antd/styles/components/select.css +282 -0
  61. package/dist/antd/styles/components/skeleton.css +96 -0
  62. package/dist/antd/styles/components/slider.css +119 -0
  63. package/dist/antd/styles/components/space.css +59 -0
  64. package/dist/antd/styles/components/spin.css +91 -0
  65. package/dist/antd/styles/components/statistic.css +48 -0
  66. package/dist/antd/styles/components/steps.css +176 -0
  67. package/dist/antd/styles/components/switch.css +128 -0
  68. package/dist/antd/styles/components/table.css +197 -0
  69. package/dist/antd/styles/components/tabs.css +212 -0
  70. package/dist/antd/styles/components/tag.css +286 -0
  71. package/dist/antd/styles/components/textArea.css +40 -0
  72. package/dist/antd/styles/components/timeline.css +106 -0
  73. package/dist/antd/styles/components/timepicker.css +105 -0
  74. package/dist/antd/styles/components/tooltip.css +37 -0
  75. package/dist/antd/styles/components/tour.css +114 -0
  76. package/dist/antd/styles/components/transfer.css +232 -0
  77. package/dist/antd/styles/components/tree.css +143 -0
  78. package/dist/antd/styles/components/treeselect.css +46 -0
  79. package/dist/antd/styles/components/typography.css +184 -0
  80. package/dist/antd/styles/components/upload.css +181 -0
  81. package/dist/antd/styles/components/watermark.css +16 -0
  82. package/dist/antd/styles/dark.css +533 -0
  83. package/dist/antd/styles/index.css +115 -0
  84. package/dist/antd/styles/overrides.css +147 -0
  85. package/dist/antd/styles/variables.css +259 -0
  86. package/dist/chunk-FMQWBDDZ.js +207 -0
  87. package/dist/chunk-NGAVTDQ2.js +200 -0
  88. package/dist/chunk-QQOB6AOA.js +213 -0
  89. package/dist/core/index.d.ts +179 -0
  90. package/dist/core/index.js +10 -0
  91. package/dist/core/variables.css +258 -0
  92. package/dist/element/index.d.ts +3 -0
  93. package/dist/element/index.js +17 -0
  94. package/dist/element/plugin.d.ts +34 -0
  95. package/dist/element/plugin.js +12 -0
  96. package/dist/element/styles/base.css +277 -0
  97. package/dist/element/styles/components/affix.css +7 -0
  98. package/dist/element/styles/components/alert.css +44 -0
  99. package/dist/element/styles/components/anchor.css +34 -0
  100. package/dist/element/styles/components/autocomplete.css +61 -0
  101. package/dist/element/styles/components/avatar.css +31 -0
  102. package/dist/element/styles/components/backtop.css +22 -0
  103. package/dist/element/styles/components/badge.css +48 -0
  104. package/dist/element/styles/components/breadcrumb.css +38 -0
  105. package/dist/element/styles/components/button.css +193 -0
  106. package/dist/element/styles/components/calendar.css +58 -0
  107. package/dist/element/styles/components/card.css +29 -0
  108. package/dist/element/styles/components/carousel.css +78 -0
  109. package/dist/element/styles/components/cascader.css +120 -0
  110. package/dist/element/styles/components/check-tag.css +35 -0
  111. package/dist/element/styles/components/checkbox.css +39 -0
  112. package/dist/element/styles/components/collapse.css +58 -0
  113. package/dist/element/styles/components/color-picker.css +82 -0
  114. package/dist/element/styles/components/config-provider.css +6 -0
  115. package/dist/element/styles/components/container.css +26 -0
  116. package/dist/element/styles/components/datepicker.css +165 -0
  117. package/dist/element/styles/components/descriptions-item.css +6 -0
  118. package/dist/element/styles/components/descriptions.css +51 -0
  119. package/dist/element/styles/components/dialog.css +91 -0
  120. package/dist/element/styles/components/divider.css +37 -0
  121. package/dist/element/styles/components/drawer.css +33 -0
  122. package/dist/element/styles/components/dropdown.css +30 -0
  123. package/dist/element/styles/components/empty.css +28 -0
  124. package/dist/element/styles/components/form.css +106 -0
  125. package/dist/element/styles/components/image.css +59 -0
  126. package/dist/element/styles/components/infinite-scroll.css +24 -0
  127. package/dist/element/styles/components/input-number.css +95 -0
  128. package/dist/element/styles/components/input.css +170 -0
  129. package/dist/element/styles/components/link.css +73 -0
  130. package/dist/element/styles/components/loading.css +50 -0
  131. package/dist/element/styles/components/mention.css +49 -0
  132. package/dist/element/styles/components/menu.css +140 -0
  133. package/dist/element/styles/components/message.css +88 -0
  134. package/dist/element/styles/components/notification.css +81 -0
  135. package/dist/element/styles/components/page-header.css +41 -0
  136. package/dist/element/styles/components/pagination.css +135 -0
  137. package/dist/element/styles/components/popconfirm.css +35 -0
  138. package/dist/element/styles/components/popover.css +22 -0
  139. package/dist/element/styles/components/progress.css +28 -0
  140. package/dist/element/styles/components/radio.css +64 -0
  141. package/dist/element/styles/components/rate.css +33 -0
  142. package/dist/element/styles/components/result.css +51 -0
  143. package/dist/element/styles/components/row.css +11 -0
  144. package/dist/element/styles/components/scrollbar.css +33 -0
  145. package/dist/element/styles/components/segmented.css +59 -0
  146. package/dist/element/styles/components/select.css +226 -0
  147. package/dist/element/styles/components/skeleton.css +65 -0
  148. package/dist/element/styles/components/slider.css +93 -0
  149. package/dist/element/styles/components/space.css +19 -0
  150. package/dist/element/styles/components/statistic.css +33 -0
  151. package/dist/element/styles/components/steps.css +122 -0
  152. package/dist/element/styles/components/switch.css +32 -0
  153. package/dist/element/styles/components/table.css +144 -0
  154. package/dist/element/styles/components/tabs.css +125 -0
  155. package/dist/element/styles/components/tag.css +150 -0
  156. package/dist/element/styles/components/text.css +50 -0
  157. package/dist/element/styles/components/time-picker.css +106 -0
  158. package/dist/element/styles/components/timeline.css +58 -0
  159. package/dist/element/styles/components/tooltip.css +22 -0
  160. package/dist/element/styles/components/tour.css +58 -0
  161. package/dist/element/styles/components/transfer.css +181 -0
  162. package/dist/element/styles/components/tree-select.css +28 -0
  163. package/dist/element/styles/components/tree.css +66 -0
  164. package/dist/element/styles/components/upload.css +96 -0
  165. package/dist/element/styles/components/virtualized.css +75 -0
  166. package/dist/element/styles/components/watermark.css +20 -0
  167. package/dist/element/styles/dark.css +82 -0
  168. package/dist/element/styles/index.css +107 -0
  169. package/package.json +78 -0
@@ -0,0 +1,533 @@
1
+ /**
2
+ * antd-semi-theme Dark Mode
3
+ * 深色模式完整样式覆盖
4
+ *
5
+ * Usage:
6
+ * import 'antd-semi-theme/styles/dark'
7
+ *
8
+ * 然后在根元素添加以下任一属性/类名:
9
+ * - [theme-mode="dark"]
10
+ * - [data-theme="dark"]
11
+ * - .semi-dark
12
+ * - .dark
13
+ */
14
+
15
+ /* ========== 深色模式 CSS 变量 ========== */
16
+ :root[theme-mode="dark"],
17
+ [data-theme="dark"],
18
+ .semi-dark,
19
+ .dark {
20
+ /* 深色模式颜色变量 */
21
+ --semi-blue-5: 84, 169, 255;
22
+ --semi-green-5: 93, 194, 100;
23
+ --semi-red-5: 252, 114, 102;
24
+ --semi-orange-5: 255, 166, 51;
25
+ --semi-yellow-5: 255, 214, 51;
26
+ --semi-purple-5: 189, 108, 255;
27
+ --semi-grey-7: 79, 81, 89;
28
+ --semi-grey-8: 255, 255, 255;
29
+ --semi-grey-9: 249, 249, 249;
30
+
31
+ /* 语义颜色(深色模式调亮) */
32
+ --semi-color-primary: rgb(var(--semi-blue-5));
33
+ --semi-color-primary-hover: #7FC1FF;
34
+ --semi-color-primary-active: #A9D9FF;
35
+ --semi-color-primary-light: rgba(0, 100, 250, 0.2);
36
+
37
+ --semi-color-success: rgb(var(--semi-green-5));
38
+ --semi-color-danger: rgb(var(--semi-red-5));
39
+ --semi-color-warning: rgb(var(--semi-orange-5));
40
+
41
+ /* 填充色 */
42
+ --semi-color-fill-0: rgba(255, 255, 255, 0.12);
43
+ --semi-color-fill-1: rgba(255, 255, 255, 0.16);
44
+ --semi-color-fill-2: rgba(255, 255, 255, 0.20);
45
+
46
+ /* 文本色 */
47
+ --semi-color-text-0: rgba(249, 249, 249, 1);
48
+ --semi-color-text-1: rgba(249, 249, 249, 0.8);
49
+ --semi-color-text-2: rgba(249, 249, 249, 0.6);
50
+ --semi-color-text-3: rgba(249, 249, 249, 0.35);
51
+
52
+ /* 背景色 */
53
+ --semi-color-bg-0: #16161A;
54
+ --semi-color-bg-1: #232429;
55
+ --semi-color-bg-2: #35363C;
56
+ --semi-color-bg-3: #43444A;
57
+ --semi-color-bg-4: #4F5159;
58
+
59
+ /* 边框 */
60
+ --semi-color-border: rgba(255, 255, 255, 0.08);
61
+
62
+ /* 阴影 */
63
+ --semi-shadow-elevated: inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 4px 14px rgba(0, 0, 0, 0.25);
64
+
65
+ /* AI 渐变(深色模式版本) */
66
+ --semi-color-ai-gradient: linear-gradient(135deg, #BD6CFF 0%, #54A9FF 50%, #00C6FF 100%);
67
+ }
68
+
69
+ /* ========================================================================== */
70
+ /* ============================= 深色模式覆盖 ================================ */
71
+ /* ========================================================================== */
72
+
73
+ /* ========== 下拉面板 ========== */
74
+ :root[theme-mode="dark"] .ant-select-dropdown,
75
+ [data-theme="dark"] .ant-select-dropdown,
76
+ .semi-dark .ant-select-dropdown,
77
+ .dark .ant-select-dropdown,
78
+ :root[theme-mode="dark"] .ant-dropdown-menu,
79
+ [data-theme="dark"] .ant-dropdown-menu,
80
+ .semi-dark .ant-dropdown-menu,
81
+ .dark .ant-dropdown-menu,
82
+ :root[theme-mode="dark"] .ant-popover-inner,
83
+ [data-theme="dark"] .ant-popover-inner,
84
+ .semi-dark .ant-popover-inner,
85
+ .dark .ant-popover-inner,
86
+ :root[theme-mode="dark"] .ant-picker-dropdown,
87
+ [data-theme="dark"] .ant-picker-dropdown,
88
+ .semi-dark .ant-picker-dropdown,
89
+ .dark .ant-picker-dropdown,
90
+ :root[theme-mode="dark"] .ant-cascader-menus,
91
+ [data-theme="dark"] .ant-cascader-menus,
92
+ .semi-dark .ant-cascader-menus,
93
+ .dark .ant-cascader-menus,
94
+ :root[theme-mode="dark"] .ant-tree-select-dropdown,
95
+ [data-theme="dark"] .ant-tree-select-dropdown,
96
+ .semi-dark .ant-tree-select-dropdown,
97
+ .dark .ant-tree-select-dropdown,
98
+ :root[theme-mode="dark"] .ant-mentions-dropdown,
99
+ [data-theme="dark"] .ant-mentions-dropdown,
100
+ .semi-dark .ant-mentions-dropdown,
101
+ .dark .ant-mentions-dropdown {
102
+ background: var(--semi-color-bg-2) !important;
103
+ }
104
+
105
+ /* ========== 表格 ========== */
106
+ :root[theme-mode="dark"] .ant-table,
107
+ [data-theme="dark"] .ant-table,
108
+ .semi-dark .ant-table,
109
+ .dark .ant-table {
110
+ background: var(--semi-color-bg-1) !important;
111
+ }
112
+
113
+ :root[theme-mode="dark"] .ant-table-thead > tr > th,
114
+ [data-theme="dark"] .ant-table-thead > tr > th,
115
+ .semi-dark .ant-table-thead > tr > th,
116
+ .dark .ant-table-thead > tr > th {
117
+ background: rgba(255, 255, 255, 0.04) !important;
118
+ color: var(--semi-color-text-2) !important;
119
+ border-bottom-color: var(--semi-color-border) !important;
120
+ }
121
+
122
+ :root[theme-mode="dark"] .ant-table-tbody > tr > td,
123
+ [data-theme="dark"] .ant-table-tbody > tr > td,
124
+ .semi-dark .ant-table-tbody > tr > td,
125
+ .dark .ant-table-tbody > tr > td {
126
+ border-bottom-color: var(--semi-color-border) !important;
127
+ }
128
+
129
+ :root[theme-mode="dark"] .ant-table-tbody > tr:hover > td,
130
+ [data-theme="dark"] .ant-table-tbody > tr:hover > td,
131
+ .semi-dark .ant-table-tbody > tr:hover > td,
132
+ .dark .ant-table-tbody > tr:hover > td {
133
+ background: var(--semi-color-fill-0) !important;
134
+ }
135
+
136
+ :root[theme-mode="dark"] .ant-table-filter-dropdown,
137
+ [data-theme="dark"] .ant-table-filter-dropdown,
138
+ .semi-dark .ant-table-filter-dropdown,
139
+ .dark .ant-table-filter-dropdown {
140
+ background: var(--semi-color-bg-2) !important;
141
+ }
142
+
143
+ /* ========== 卡片 ========== */
144
+ :root[theme-mode="dark"] .ant-card,
145
+ [data-theme="dark"] .ant-card,
146
+ .semi-dark .ant-card,
147
+ .dark .ant-card {
148
+ background: var(--semi-color-bg-2) !important;
149
+ border-color: var(--semi-color-border) !important;
150
+ }
151
+
152
+ :root[theme-mode="dark"] .ant-card-head,
153
+ [data-theme="dark"] .ant-card-head,
154
+ .semi-dark .ant-card-head,
155
+ .dark .ant-card-head {
156
+ border-bottom-color: var(--semi-color-border) !important;
157
+ }
158
+
159
+ :root[theme-mode="dark"] .ant-card-actions,
160
+ [data-theme="dark"] .ant-card-actions,
161
+ .semi-dark .ant-card-actions,
162
+ .dark .ant-card-actions {
163
+ background: rgba(255, 255, 255, 0.04) !important;
164
+ border-top-color: var(--semi-color-border) !important;
165
+ }
166
+
167
+ /* ========== 模态框 ========== */
168
+ :root[theme-mode="dark"] .ant-modal-content,
169
+ [data-theme="dark"] .ant-modal-content,
170
+ .semi-dark .ant-modal-content,
171
+ .dark .ant-modal-content {
172
+ background: var(--semi-color-bg-2) !important;
173
+ }
174
+
175
+ :root[theme-mode="dark"] .ant-modal-header,
176
+ [data-theme="dark"] .ant-modal-header,
177
+ .semi-dark .ant-modal-header,
178
+ .dark .ant-modal-header {
179
+ background: var(--semi-color-bg-2) !important;
180
+ border-bottom-color: var(--semi-color-border) !important;
181
+ }
182
+
183
+ :root[theme-mode="dark"] .ant-modal-footer,
184
+ [data-theme="dark"] .ant-modal-footer,
185
+ .semi-dark .ant-modal-footer,
186
+ .dark .ant-modal-footer {
187
+ border-top-color: var(--semi-color-border) !important;
188
+ }
189
+
190
+ :root[theme-mode="dark"] .ant-modal-confirm-body,
191
+ [data-theme="dark"] .ant-modal-confirm-body,
192
+ .semi-dark .ant-modal-confirm-body,
193
+ .dark .ant-modal-confirm-body {
194
+ background: var(--semi-color-bg-2) !important;
195
+ }
196
+
197
+ /* ========== 抽屉 ========== */
198
+ :root[theme-mode="dark"] .ant-drawer-content,
199
+ [data-theme="dark"] .ant-drawer-content,
200
+ .semi-dark .ant-drawer-content,
201
+ .dark .ant-drawer-content {
202
+ background: var(--semi-color-bg-2) !important;
203
+ }
204
+
205
+ :root[theme-mode="dark"] .ant-drawer-header,
206
+ [data-theme="dark"] .ant-drawer-header,
207
+ .semi-dark .ant-drawer-header,
208
+ .dark .ant-drawer-header {
209
+ border-bottom-color: var(--semi-color-border) !important;
210
+ }
211
+
212
+ :root[theme-mode="dark"] .ant-drawer-footer,
213
+ [data-theme="dark"] .ant-drawer-footer,
214
+ .semi-dark .ant-drawer-footer,
215
+ .dark .ant-drawer-footer {
216
+ border-top-color: var(--semi-color-border) !important;
217
+ }
218
+
219
+ /* ========== 消息和通知 ========== */
220
+ :root[theme-mode="dark"] .ant-message-notice-content,
221
+ [data-theme="dark"] .ant-message-notice-content,
222
+ .semi-dark .ant-message-notice-content,
223
+ .dark .ant-message-notice-content {
224
+ background: var(--semi-color-bg-3) !important;
225
+ color: var(--semi-color-text-0) !important;
226
+ }
227
+
228
+ :root[theme-mode="dark"] .ant-notification-notice,
229
+ [data-theme="dark"] .ant-notification-notice,
230
+ .semi-dark .ant-notification-notice,
231
+ .dark .ant-notification-notice {
232
+ background: var(--semi-color-bg-3) !important;
233
+ color: var(--semi-color-text-0) !important;
234
+ }
235
+
236
+ /* ========== 折叠面板 ========== */
237
+ :root[theme-mode="dark"] .ant-collapse,
238
+ [data-theme="dark"] .ant-collapse,
239
+ .semi-dark .ant-collapse,
240
+ .dark .ant-collapse {
241
+ background: var(--semi-color-bg-1) !important;
242
+ border-color: var(--semi-color-border) !important;
243
+ }
244
+
245
+ :root[theme-mode="dark"] .ant-collapse > .ant-collapse-item,
246
+ [data-theme="dark"] .ant-collapse > .ant-collapse-item,
247
+ .semi-dark .ant-collapse > .ant-collapse-item,
248
+ .dark .ant-collapse > .ant-collapse-item {
249
+ border-bottom-color: var(--semi-color-border) !important;
250
+ }
251
+
252
+ :root[theme-mode="dark"] .ant-collapse-content,
253
+ [data-theme="dark"] .ant-collapse-content,
254
+ .semi-dark .ant-collapse-content,
255
+ .dark .ant-collapse-content {
256
+ background: var(--semi-color-bg-1) !important;
257
+ border-top-color: var(--semi-color-border) !important;
258
+ }
259
+
260
+ /* ========== Tooltip ========== */
261
+ :root[theme-mode="dark"] .ant-tooltip-inner,
262
+ [data-theme="dark"] .ant-tooltip-inner,
263
+ .semi-dark .ant-tooltip-inner,
264
+ .dark .ant-tooltip-inner {
265
+ background: var(--semi-color-bg-4) !important;
266
+ }
267
+
268
+ :root[theme-mode="dark"] .ant-tooltip-arrow::before,
269
+ [data-theme="dark"] .ant-tooltip-arrow::before,
270
+ .semi-dark .ant-tooltip-arrow::before,
271
+ .dark .ant-tooltip-arrow::before {
272
+ background: var(--semi-color-bg-4) !important;
273
+ }
274
+
275
+ /* ========== 菜单 ========== */
276
+ :root[theme-mode="dark"] .ant-menu,
277
+ [data-theme="dark"] .ant-menu,
278
+ .semi-dark .ant-menu,
279
+ .dark .ant-menu {
280
+ background: transparent !important;
281
+ color: var(--semi-color-text-0) !important;
282
+ }
283
+
284
+ :root[theme-mode="dark"] .ant-menu-item,
285
+ [data-theme="dark"] .ant-menu-item,
286
+ .semi-dark .ant-menu-item,
287
+ .dark .ant-menu-item,
288
+ :root[theme-mode="dark"] .ant-menu-submenu-title,
289
+ [data-theme="dark"] .ant-menu-submenu-title,
290
+ .semi-dark .ant-menu-submenu-title,
291
+ .dark .ant-menu-submenu-title {
292
+ color: var(--semi-color-text-1) !important;
293
+ }
294
+
295
+ :root[theme-mode="dark"] .ant-menu-submenu-popup .ant-menu,
296
+ [data-theme="dark"] .ant-menu-submenu-popup .ant-menu,
297
+ .semi-dark .ant-menu-submenu-popup .ant-menu,
298
+ .dark .ant-menu-submenu-popup .ant-menu {
299
+ background: var(--semi-color-bg-2) !important;
300
+ }
301
+
302
+ /* ========== Tabs 卡片式 ========== */
303
+ :root[theme-mode="dark"] .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab,
304
+ [data-theme="dark"] .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab,
305
+ .semi-dark .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab,
306
+ .dark .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab {
307
+ background: rgba(255, 255, 255, 0.04) !important;
308
+ border-color: var(--semi-color-border) !important;
309
+ }
310
+
311
+ :root[theme-mode="dark"] .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active,
312
+ [data-theme="dark"] .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active,
313
+ .semi-dark .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active,
314
+ .dark .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active {
315
+ background: var(--semi-color-bg-2) !important;
316
+ }
317
+
318
+ /* ========== Segmented ========== */
319
+ :root[theme-mode="dark"] .ant-segmented-item-selected,
320
+ [data-theme="dark"] .ant-segmented-item-selected,
321
+ .semi-dark .ant-segmented-item-selected,
322
+ .dark .ant-segmented-item-selected {
323
+ background: var(--semi-color-bg-4) !important;
324
+ }
325
+
326
+ /* ========== Alert ========== */
327
+ :root[theme-mode="dark"] .ant-alert-info,
328
+ [data-theme="dark"] .ant-alert-info,
329
+ .semi-dark .ant-alert-info,
330
+ .dark .ant-alert-info {
331
+ background: rgba(0, 100, 250, 0.15) !important;
332
+ }
333
+
334
+ :root[theme-mode="dark"] .ant-alert-success,
335
+ [data-theme="dark"] .ant-alert-success,
336
+ .semi-dark .ant-alert-success,
337
+ .dark .ant-alert-success {
338
+ background: rgba(59, 179, 70, 0.15) !important;
339
+ }
340
+
341
+ :root[theme-mode="dark"] .ant-alert-warning,
342
+ [data-theme="dark"] .ant-alert-warning,
343
+ .semi-dark .ant-alert-warning,
344
+ .dark .ant-alert-warning {
345
+ background: rgba(252, 136, 0, 0.15) !important;
346
+ }
347
+
348
+ :root[theme-mode="dark"] .ant-alert-error,
349
+ [data-theme="dark"] .ant-alert-error,
350
+ .semi-dark .ant-alert-error,
351
+ .dark .ant-alert-error {
352
+ background: rgba(249, 57, 32, 0.15) !important;
353
+ }
354
+
355
+ /* ========== 骨架屏 ========== */
356
+ :root[theme-mode="dark"] .ant-skeleton-element .ant-skeleton-avatar,
357
+ :root[theme-mode="dark"] .ant-skeleton-element .ant-skeleton-button,
358
+ :root[theme-mode="dark"] .ant-skeleton-element .ant-skeleton-input,
359
+ :root[theme-mode="dark"] .ant-skeleton-content .ant-skeleton-title,
360
+ :root[theme-mode="dark"] .ant-skeleton-content .ant-skeleton-paragraph > li,
361
+ [data-theme="dark"] .ant-skeleton-element .ant-skeleton-avatar,
362
+ [data-theme="dark"] .ant-skeleton-element .ant-skeleton-button,
363
+ [data-theme="dark"] .ant-skeleton-element .ant-skeleton-input,
364
+ [data-theme="dark"] .ant-skeleton-content .ant-skeleton-title,
365
+ [data-theme="dark"] .ant-skeleton-content .ant-skeleton-paragraph > li,
366
+ .semi-dark .ant-skeleton-element .ant-skeleton-avatar,
367
+ .semi-dark .ant-skeleton-element .ant-skeleton-button,
368
+ .semi-dark .ant-skeleton-element .ant-skeleton-input,
369
+ .semi-dark .ant-skeleton-content .ant-skeleton-title,
370
+ .semi-dark .ant-skeleton-content .ant-skeleton-paragraph > li,
371
+ .dark .ant-skeleton-element .ant-skeleton-avatar,
372
+ .dark .ant-skeleton-element .ant-skeleton-button,
373
+ .dark .ant-skeleton-element .ant-skeleton-input,
374
+ .dark .ant-skeleton-content .ant-skeleton-title,
375
+ .dark .ant-skeleton-content .ant-skeleton-paragraph > li {
376
+ background: linear-gradient(90deg,
377
+ rgba(255, 255, 255, 0.11) 25%,
378
+ rgba(255, 255, 255, 0.05) 37%,
379
+ rgba(255, 255, 255, 0.11) 63%
380
+ ) !important;
381
+ }
382
+
383
+ /* ========== Descriptions ========== */
384
+ :root[theme-mode="dark"] .ant-descriptions-bordered .ant-descriptions-item-label,
385
+ [data-theme="dark"] .ant-descriptions-bordered .ant-descriptions-item-label,
386
+ .semi-dark .ant-descriptions-bordered .ant-descriptions-item-label,
387
+ .dark .ant-descriptions-bordered .ant-descriptions-item-label {
388
+ background: rgba(255, 255, 255, 0.04) !important;
389
+ }
390
+
391
+ :root[theme-mode="dark"] .ant-descriptions-bordered .ant-descriptions-view,
392
+ :root[theme-mode="dark"] .ant-descriptions-bordered .ant-descriptions-row,
393
+ :root[theme-mode="dark"] .ant-descriptions-bordered .ant-descriptions-item-label,
394
+ :root[theme-mode="dark"] .ant-descriptions-bordered .ant-descriptions-item-content,
395
+ [data-theme="dark"] .ant-descriptions-bordered .ant-descriptions-view,
396
+ [data-theme="dark"] .ant-descriptions-bordered .ant-descriptions-row,
397
+ [data-theme="dark"] .ant-descriptions-bordered .ant-descriptions-item-label,
398
+ [data-theme="dark"] .ant-descriptions-bordered .ant-descriptions-item-content,
399
+ .semi-dark .ant-descriptions-bordered .ant-descriptions-view,
400
+ .semi-dark .ant-descriptions-bordered .ant-descriptions-row,
401
+ .semi-dark .ant-descriptions-bordered .ant-descriptions-item-label,
402
+ .semi-dark .ant-descriptions-bordered .ant-descriptions-item-content,
403
+ .dark .ant-descriptions-bordered .ant-descriptions-view,
404
+ .dark .ant-descriptions-bordered .ant-descriptions-row,
405
+ .dark .ant-descriptions-bordered .ant-descriptions-item-label,
406
+ .dark .ant-descriptions-bordered .ant-descriptions-item-content {
407
+ border-color: var(--semi-color-border) !important;
408
+ }
409
+
410
+ /* ========== Transfer ========== */
411
+ :root[theme-mode="dark"] .ant-transfer-list,
412
+ [data-theme="dark"] .ant-transfer-list,
413
+ .semi-dark .ant-transfer-list,
414
+ .dark .ant-transfer-list {
415
+ background: var(--semi-color-bg-1) !important;
416
+ border-color: var(--semi-color-border) !important;
417
+ }
418
+
419
+ :root[theme-mode="dark"] .ant-transfer-list-header,
420
+ [data-theme="dark"] .ant-transfer-list-header,
421
+ .semi-dark .ant-transfer-list-header,
422
+ .dark .ant-transfer-list-header {
423
+ border-bottom-color: var(--semi-color-border) !important;
424
+ }
425
+
426
+ /* ========== Timeline ========== */
427
+ :root[theme-mode="dark"] .ant-timeline-item-head,
428
+ [data-theme="dark"] .ant-timeline-item-head,
429
+ .semi-dark .ant-timeline-item-head,
430
+ .dark .ant-timeline-item-head {
431
+ background: var(--semi-color-bg-1) !important;
432
+ }
433
+
434
+ :root[theme-mode="dark"] .ant-timeline-item-tail,
435
+ [data-theme="dark"] .ant-timeline-item-tail,
436
+ .semi-dark .ant-timeline-item-tail,
437
+ .dark .ant-timeline-item-tail {
438
+ border-left-color: rgba(255, 255, 255, 0.15) !important;
439
+ }
440
+
441
+ /* ========== Steps ========== */
442
+ :root[theme-mode="dark"] .ant-steps-item-wait .ant-steps-item-icon,
443
+ [data-theme="dark"] .ant-steps-item-wait .ant-steps-item-icon,
444
+ .semi-dark .ant-steps-item-wait .ant-steps-item-icon,
445
+ .dark .ant-steps-item-wait .ant-steps-item-icon {
446
+ background: rgba(255, 255, 255, 0.12) !important;
447
+ border-color: rgba(255, 255, 255, 0.2) !important;
448
+ }
449
+
450
+ :root[theme-mode="dark"] .ant-steps-item-title::after,
451
+ [data-theme="dark"] .ant-steps-item-title::after,
452
+ .semi-dark .ant-steps-item-title::after,
453
+ .dark .ant-steps-item-title::after {
454
+ background: var(--semi-color-border) !important;
455
+ }
456
+
457
+ /* ========== Progress ========== */
458
+ :root[theme-mode="dark"] .ant-progress-inner,
459
+ [data-theme="dark"] .ant-progress-inner,
460
+ .semi-dark .ant-progress-inner,
461
+ .dark .ant-progress-inner {
462
+ background: rgba(255, 255, 255, 0.12) !important;
463
+ }
464
+
465
+ :root[theme-mode="dark"] .ant-progress-circle-trail,
466
+ [data-theme="dark"] .ant-progress-circle-trail,
467
+ .semi-dark .ant-progress-circle-trail,
468
+ .dark .ant-progress-circle-trail {
469
+ stroke: rgba(255, 255, 255, 0.12) !important;
470
+ }
471
+
472
+ /* ========== List ========== */
473
+ :root[theme-mode="dark"] .ant-list-item,
474
+ [data-theme="dark"] .ant-list-item,
475
+ .semi-dark .ant-list-item,
476
+ .dark .ant-list-item {
477
+ border-bottom-color: var(--semi-color-border) !important;
478
+ }
479
+
480
+ /* ========== Avatar Group ========== */
481
+ :root[theme-mode="dark"] .ant-avatar-group .ant-avatar,
482
+ [data-theme="dark"] .ant-avatar-group .ant-avatar,
483
+ .semi-dark .ant-avatar-group .ant-avatar,
484
+ .dark .ant-avatar-group .ant-avatar {
485
+ border-color: var(--semi-color-bg-1) !important;
486
+ }
487
+
488
+ /* ========== 滚动条 ========== */
489
+ :root[theme-mode="dark"] ::-webkit-scrollbar-thumb,
490
+ [data-theme="dark"] ::-webkit-scrollbar-thumb,
491
+ .semi-dark ::-webkit-scrollbar-thumb,
492
+ .dark ::-webkit-scrollbar-thumb {
493
+ background: rgba(255, 255, 255, 0.2);
494
+ }
495
+
496
+ :root[theme-mode="dark"] ::-webkit-scrollbar-thumb:hover,
497
+ [data-theme="dark"] ::-webkit-scrollbar-thumb:hover,
498
+ .semi-dark ::-webkit-scrollbar-thumb:hover,
499
+ .dark ::-webkit-scrollbar-thumb:hover {
500
+ background: rgba(255, 255, 255, 0.3);
501
+ }
502
+
503
+ /* ========== Tour ========== */
504
+ :root[theme-mode="dark"] .ant-tour .ant-tour-inner,
505
+ [data-theme="dark"] .ant-tour .ant-tour-inner,
506
+ .semi-dark .ant-tour .ant-tour-inner,
507
+ .dark .ant-tour .ant-tour-inner {
508
+ background: var(--semi-color-bg-2) !important;
509
+ }
510
+
511
+ /* ========== Calendar ========== */
512
+ :root[theme-mode="dark"] .ant-picker-calendar,
513
+ [data-theme="dark"] .ant-picker-calendar,
514
+ .semi-dark .ant-picker-calendar,
515
+ .dark .ant-picker-calendar {
516
+ background: var(--semi-color-bg-1) !important;
517
+ }
518
+
519
+ /* ========== Tree ========== */
520
+ :root[theme-mode="dark"] .ant-tree,
521
+ [data-theme="dark"] .ant-tree,
522
+ .semi-dark .ant-tree,
523
+ .dark .ant-tree {
524
+ background: transparent !important;
525
+ }
526
+
527
+ /* ========== Form ========== */
528
+ :root[theme-mode="dark"] .ant-form-item-explain-error,
529
+ [data-theme="dark"] .ant-form-item-explain-error,
530
+ .semi-dark .ant-form-item-explain-error,
531
+ .dark .ant-form-item-explain-error {
532
+ color: var(--semi-color-danger) !important;
533
+ }
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Semi Theme for Ant Design Vue - 主样式入口
3
+ *
4
+ * 使用方式:
5
+ *
6
+ * 1. 全局模式(推荐)
7
+ * import { createSemiTheme } from 'semi-theme/antd'
8
+ * import 'semi-theme/antd/styles'
9
+ * app.use(createSemiTheme())
10
+ *
11
+ * 2. 组件模式
12
+ * import { createSemiTheme } from 'semi-theme/antd'
13
+ * import 'semi-theme/antd/styles'
14
+ * app.use(createSemiTheme({ components: ['Button', 'Input'] }))
15
+ *
16
+ * 原理:
17
+ * - 插件会在 body 上添加 .semi 类名和 data-semi 属性
18
+ * - CSS 通过选择器 .semi[data-semi="all"] 或 .semi[data-semi-{component}] 控制
19
+ * - 无需手动添加任何类名,使用 Ant Design Vue 原生 API 即可
20
+ */
21
+
22
+ /* ========== 基础样式和变量 ========== */
23
+ @import './base.css';
24
+
25
+ /* ========== 组件样式 ========== */
26
+ /* 通用 */
27
+ @import './components/button.css';
28
+ @import './components/divider.css';
29
+ @import './components/space.css';
30
+ @import './components/icon.css';
31
+ @import './components/typography.css';
32
+ @import './components/flex.css';
33
+
34
+ /* 布局 */
35
+ @import './components/grid.css';
36
+ @import './components/layout.css';
37
+
38
+ /* 数据录入 */
39
+ @import './components/input.css';
40
+ @import './components/textArea.css';
41
+ @import './components/inputnumber.css';
42
+ @import './components/select.css';
43
+ @import './components/cascader.css';
44
+ @import './components/autocomplete.css';
45
+ @import './components/mentions.css';
46
+ @import './components/checkbox.css';
47
+ @import './components/radio.css';
48
+ @import './components/switch.css';
49
+ @import './components/slider.css';
50
+ @import './components/rate.css';
51
+ @import './components/datepicker.css';
52
+ @import './components/timepicker.css';
53
+ @import './components/colorpicker.css';
54
+ @import './components/upload.css';
55
+ @import './components/transfer.css';
56
+ @import './components/treeselect.css';
57
+ @import './components/form.css';
58
+
59
+ /* 数据展示 */
60
+ @import './components/table.css';
61
+ @import './components/card.css';
62
+ @import './components/tag.css';
63
+ @import './components/checkableTag.css';
64
+ @import './components/tabs.css';
65
+ @import './components/collapse.css';
66
+ @import './components/list.css';
67
+ @import './components/avatar.css';
68
+ @import './components/badge.css';
69
+ @import './components/timeline.css';
70
+ @import './components/tree.css';
71
+ @import './components/tooltip.css';
72
+ @import './components/popover.css';
73
+ @import './components/popconfirm.css';
74
+ @import './components/descriptions.css';
75
+ @import './components/statistic.css';
76
+ @import './components/empty.css';
77
+ @import './components/skeleton.css';
78
+ @import './components/image.css';
79
+ @import './components/carousel.css';
80
+ @import './components/calendar.css';
81
+ @import './components/segmented.css';
82
+ @import './components/qrcode.css';
83
+ @import './components/tour.css';
84
+
85
+ /* 反馈 */
86
+ @import './components/modal.css';
87
+ @import './components/drawer.css';
88
+ @import './components/message.css';
89
+ @import './components/notification.css';
90
+ @import './components/progress.css';
91
+ @import './components/alert.css';
92
+ @import './components/spin.css';
93
+ @import './components/result.css';
94
+
95
+ /* 导航 */
96
+ @import './components/steps.css';
97
+ @import './components/pagination.css';
98
+ @import './components/menu.css';
99
+ @import './components/dropdown.css';
100
+ @import './components/breadcrumb.css';
101
+ @import './components/anchor.css';
102
+ @import './components/backtop.css';
103
+ @import './components/pageheader.css';
104
+ @import './components/affix.css';
105
+
106
+ /* 其他 */
107
+ @import './components/app.css';
108
+ @import './components/configprovider.css';
109
+ @import './components/floatbutton.css';
110
+ @import './components/watermark.css';
111
+ @import './components/scrollbar.css';
112
+
113
+ /* 特殊样式 */
114
+ @import './components/ai.css';
115
+ @import './overrides.css';