xto-fronted 0.4.113 → 0.5.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 (114) hide show
  1. package/dist/assets/404-BYUyVmEj.js +1 -0
  2. package/dist/assets/404-CcAc5uFh.css +1 -0
  3. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  4. package/dist/assets/index-4oN1au3P.css +1 -0
  5. package/dist/assets/index-BEwGthu5.js +1 -0
  6. package/dist/assets/index-BG5gsGCY.js +1 -0
  7. package/dist/assets/index-BHABoX0X.css +1 -0
  8. package/dist/assets/index-BRR97dc6.js +1 -0
  9. package/dist/assets/index-BUqGJdah.css +1 -0
  10. package/dist/assets/index-BvN8lC5q.js +1 -0
  11. package/dist/assets/index-C6ibP7SB.css +1 -0
  12. package/dist/assets/index-CJGmoNxx.css +1 -0
  13. package/dist/assets/index-DPrbBY2e.css +1 -0
  14. package/dist/assets/index-DUV7VLAm.js +2 -0
  15. package/dist/assets/index-DcPnYH2c.js +1 -0
  16. package/dist/assets/index-DhwBftHU.css +1 -0
  17. package/dist/assets/index-oc3LDwZZ.js +1 -0
  18. package/dist/assets/index-vuy5HH8m.js +1 -0
  19. package/dist/assets/vendor-CWD9azq9.js +16 -0
  20. package/dist/assets/vue-vendor-sSbh4bdR.js +29 -0
  21. package/dist/assets/xto-base-Bv2ek7Ha.css +1 -0
  22. package/dist/assets/xto-base-kM8Cl-e6.js +1 -0
  23. package/dist/assets/xto-business-CW6DXcvI.css +1 -0
  24. package/dist/assets/xto-core-DsKtn1lm.js +1 -0
  25. package/dist/assets/xto-data-CDPTH0CA.js +1 -0
  26. package/dist/assets/xto-data-CEFTtli6.css +1 -0
  27. package/dist/assets/xto-feedback-Di1AeKNY.css +1 -0
  28. package/dist/assets/xto-feedback-Dp_1dES5.js +1 -0
  29. package/dist/assets/xto-form-Bl3jCZ4e.js +1 -0
  30. package/dist/assets/xto-form-DC11rd9L.css +1 -0
  31. package/dist/assets/xto-layout-BR7iLA0e.css +1 -0
  32. package/dist/assets/xto-navigation-Bl-kwgN_.css +1 -0
  33. package/dist/assets/xto-navigation-Brox2Ork.js +1 -0
  34. package/dist/index.html +28 -0
  35. package/package.json +18 -19
  36. package/src/App.vue +9 -9
  37. package/src/assets/styles/_dark.scss +181 -181
  38. package/src/assets/styles/_reset.scss +14 -14
  39. package/src/assets/styles/_root.scss +153 -132
  40. package/src/assets/styles/_transition.scss +10 -10
  41. package/src/assets/styles/_variables.scss +26 -25
  42. package/src/assets/styles/index.scss +62 -62
  43. package/src/components/Layout/Footer.vue +1 -1
  44. package/src/components/Layout/Header.vue +69 -69
  45. package/src/components/Layout/MixTopMenu.vue +66 -66
  46. package/src/components/Layout/Sidebar.vue +6 -6
  47. package/src/components/Layout/SidebarMenuItem.vue +3 -3
  48. package/src/components/Layout/Tabs.vue +6 -6
  49. package/src/components/Layout/TopMenu.vue +66 -66
  50. package/src/components/Layout/index.vue +7 -7
  51. package/src/stores/app.ts +4 -4
  52. package/src/style.scss +14 -14
  53. package/src/views/dashboard/index.vue +54 -54
  54. package/src/views/error/403.vue +18 -18
  55. package/src/views/error/404.vue +23 -23
  56. package/src/views/login/index.vue +20 -20
  57. package/src/views/system/menu/index.vue +26 -26
  58. package/src/views/system/role/index.vue +27 -27
  59. package/src/views/system/user/index.vue +30 -30
  60. package/dist/App.vue.d.ts +0 -2
  61. package/dist/api/auth.d.ts +0 -8
  62. package/dist/api/index.d.ts +0 -6
  63. package/dist/api/index.js +0 -26
  64. package/dist/api/system.d.ts +0 -16
  65. package/dist/api/user.d.ts +0 -13
  66. package/dist/api.d.ts +0 -2
  67. package/dist/components/Layout/Footer.vue.d.ts +0 -2
  68. package/dist/components/Layout/Header.vue.d.ts +0 -5
  69. package/dist/components/Layout/MixTopMenu.vue.d.ts +0 -10
  70. package/dist/components/Layout/Sidebar.vue.d.ts +0 -13
  71. package/dist/components/Layout/SidebarMenuItem.vue.d.ts +0 -5
  72. package/dist/components/Layout/Tabs.vue.d.ts +0 -2
  73. package/dist/components/Layout/TopMenu.vue.d.ts +0 -10
  74. package/dist/components/Layout/index.vue.d.ts +0 -7
  75. package/dist/composables/useApp.d.ts +0 -30
  76. package/dist/composables/useAuth.d.ts +0 -6
  77. package/dist/composables/useForm.d.ts +0 -20
  78. package/dist/composables/useI18n.d.ts +0 -30
  79. package/dist/composables/useTable.d.ts +0 -29
  80. package/dist/directives/permission.d.ts +0 -4
  81. package/dist/enums/index.d.ts +0 -32
  82. package/dist/index-11ZvkUE8.js +0 -641
  83. package/dist/index-BVEs9eIP.js +0 -3171
  84. package/dist/index-BuVnk-Ka.js +0 -189
  85. package/dist/index-CPUyTvNq.js +0 -479
  86. package/dist/index-CaIet-zn.js +0 -515
  87. package/dist/index.d.ts +0 -63
  88. package/dist/index.js +0 -99
  89. package/dist/main.d.ts +0 -0
  90. package/dist/router/dynamicRoutes.d.ts +0 -30
  91. package/dist/router/guards.d.ts +0 -17
  92. package/dist/router/index.d.ts +0 -6
  93. package/dist/router/layoutRoute.d.ts +0 -23
  94. package/dist/router/staticRoutes.d.ts +0 -2
  95. package/dist/stores/app.d.ts +0 -99
  96. package/dist/stores/auth.d.ts +0 -41
  97. package/dist/stores/index.d.ts +0 -10
  98. package/dist/stores/locale.d.ts +0 -42
  99. package/dist/stores/menu.d.ts +0 -83
  100. package/dist/stores/user.d.ts +0 -101
  101. package/dist/style.css +0 -1
  102. package/dist/user-ChcAx-5W.js +0 -1186
  103. package/dist/utils/auth.d.ts +0 -27
  104. package/dist/utils/config.d.ts +0 -51
  105. package/dist/utils/permission.d.ts +0 -17
  106. package/dist/utils/request.d.ts +0 -34
  107. package/dist/utils/storage.d.ts +0 -24
  108. package/dist/views/dashboard/index.vue.d.ts +0 -2
  109. package/dist/views/error/403.vue.d.ts +0 -2
  110. package/dist/views/error/404.vue.d.ts +0 -2
  111. package/dist/views/login/index.vue.d.ts +0 -4
  112. package/dist/views/system/menu/index.vue.d.ts +0 -4
  113. package/dist/views/system/role/index.vue.d.ts +0 -4
  114. package/dist/views/system/user/index.vue.d.ts +0 -4
@@ -2,80 +2,80 @@
2
2
  // Dark Theme Override - 暗黑主题覆盖
3
3
  // ==============================================
4
4
 
5
- .dark {
5
+ html.dark {
6
6
  // 侧边栏
7
7
  .sidebar,
8
8
  .layout__aside {
9
- background-color: #1d1e1f;
9
+ background-color: var(--xto-bg-color, #111827);
10
10
  }
11
11
 
12
12
  .sidebar {
13
- border-right: 1px solid #363637;
13
+ border-right: 1px solid var(--xto-border-color, #374151);
14
14
  }
15
15
 
16
16
  .sidebar__search-results {
17
- background-color: #1d1e1f;
18
- border-color: #363637;
17
+ background-color: var(--xto-bg-color-overlay, #1F2937);
18
+ border-color: var(--xto-border-color, #374151);
19
19
  }
20
20
 
21
21
  .sidebar__search-item:hover {
22
- background-color: #262727;
22
+ background-color: var(--xto-fill-color, #1F2937);
23
23
  }
24
24
 
25
25
  .sidebar__search-item-title {
26
- color: #cfd3dc;
26
+ color: var(--xto-color-text-regular, #E5E7EB);
27
27
  }
28
28
 
29
29
  .sidebar__search-item-parent {
30
- color: #a3a6ad;
30
+ color: var(--xto-color-text-secondary, #9CA3AF);
31
31
  }
32
32
 
33
33
  .sidebar__logo {
34
- border-bottom-color: #363637;
34
+ border-bottom-color: var(--xto-border-color, #374151);
35
35
  }
36
36
 
37
37
  .sidebar__user {
38
- border-top-color: #363637;
38
+ border-top-color: var(--xto-border-color, #374151);
39
39
  }
40
40
 
41
41
  .sidebar__user-name {
42
- color: #cfd3dc;
42
+ color: var(--xto-color-text-regular, #E5E7EB);
43
43
  }
44
44
 
45
45
  .sidebar__user-role {
46
- color: #a3a6ad;
46
+ color: var(--xto-color-text-secondary, #9CA3AF);
47
47
  }
48
48
 
49
49
  // 菜单
50
50
  .x-menu {
51
- background-color: #1d1e1f !important;
52
- border-color: #363637;
53
- color: #cfd3dc;
51
+ background-color: var(--xto-bg-color, #111827) !important;
52
+ border-color: var(--xto-border-color, #374151);
53
+ color: var(--xto-color-text-regular, #E5E7EB);
54
54
 
55
55
  &.x-menu--vertical {
56
- border-right-color: #363637;
56
+ border-right-color: var(--xto-border-color, #374151);
57
57
  }
58
58
 
59
59
  &.x-menu--horizontal {
60
- border-bottom-color: #363637;
61
- background-color: #1d1e1f !important;
60
+ border-bottom-color: var(--xto-border-color, #374151);
61
+ background-color: var(--xto-bg-color, #111827) !important;
62
62
  }
63
63
  }
64
64
 
65
65
  .x-menu-item {
66
- color: #cfd3dc !important;
66
+ color: var(--xto-color-text-regular, #E5E7EB) !important;
67
67
  background-color: transparent !important;
68
68
 
69
69
  &:hover {
70
- background-color: #262727 !important;
70
+ background-color: var(--xto-fill-color, #1F2937) !important;
71
71
  }
72
72
 
73
73
  &.is-active {
74
- color: #409eff !important;
75
- background-color: rgba(64, 158, 255, 0.1) !important;
74
+ color: var(--xto-color-primary, #818CF8) !important;
75
+ background-color: rgba(129, 140, 248, 0.1) !important;
76
76
 
77
77
  &::before {
78
- background-color: #409eff;
78
+ background-color: var(--xto-color-primary, #818CF8);
79
79
  }
80
80
  }
81
81
 
@@ -87,44 +87,44 @@
87
87
 
88
88
  &.is-active {
89
89
  background-color: transparent !important;
90
- border-bottom-color: #409eff;
90
+ border-bottom-color: var(--xto-color-primary, #818CF8);
91
91
  }
92
92
  }
93
93
  }
94
94
 
95
95
  .x-sub-menu {
96
96
  &__title {
97
- color: #cfd3dc !important;
97
+ color: var(--xto-color-text-regular, #E5E7EB) !important;
98
98
  background-color: transparent !important;
99
99
 
100
100
  &:hover {
101
- background-color: #262727 !important;
101
+ background-color: var(--xto-fill-color, #1F2937) !important;
102
102
  }
103
103
  }
104
104
 
105
105
  &__menu {
106
- background-color: #1d1e1f !important;
107
- border: 1px solid #363637;
106
+ background-color: var(--xto-bg-color-overlay, #1F2937) !important;
107
+ border: 1px solid var(--xto-border-color, #374151);
108
108
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
109
109
 
110
110
  // 子菜单中的菜单项
111
111
  .x-menu-item {
112
112
  background-color: transparent !important;
113
- color: #cfd3dc !important;
113
+ color: var(--xto-color-text-regular, #E5E7EB) !important;
114
114
 
115
115
  &:hover {
116
- background-color: #262727 !important;
116
+ background-color: var(--xto-fill-color, #1F2937) !important;
117
117
  }
118
118
 
119
119
  &.is-active {
120
- color: #409eff !important;
121
- background-color: rgba(64, 158, 255, 0.1) !important;
120
+ color: var(--xto-color-primary, #818CF8) !important;
121
+ background-color: rgba(129, 140, 248, 0.1) !important;
122
122
  }
123
123
  }
124
124
  }
125
125
 
126
126
  &__arrow {
127
- color: #a3a6ad;
127
+ color: var(--xto-color-text-secondary, #9CA3AF);
128
128
  }
129
129
 
130
130
  &.is-opened > .x-sub-menu__title {
@@ -132,7 +132,7 @@
132
132
  }
133
133
 
134
134
  &.is-active > .x-sub-menu__title {
135
- color: #409eff !important;
135
+ color: var(--xto-color-primary, #818CF8) !important;
136
136
  }
137
137
 
138
138
  // 水平模式下的子菜单
@@ -142,134 +142,134 @@
142
142
  }
143
143
 
144
144
  .x-sub-menu__menu {
145
- background-color: #1d1e1f !important;
146
- border: 1px solid #363637;
145
+ background-color: var(--xto-bg-color-overlay, #1F2937) !important;
146
+ border: 1px solid var(--xto-border-color, #374151);
147
147
  }
148
148
  }
149
149
 
150
150
  // 收起状态下的弹出菜单
151
151
  &.is-collapse > .x-sub-menu__menu {
152
- background-color: #1d1e1f !important;
153
- border: 1px solid #363637;
152
+ background-color: var(--xto-bg-color-overlay, #1F2937) !important;
153
+ border: 1px solid var(--xto-border-color, #374151);
154
154
  }
155
155
  }
156
156
 
157
157
  // 顶部导航
158
158
  .header {
159
- background-color: #1d1e1f;
160
- border-bottom-color: #363637;
159
+ background-color: var(--xto-bg-color, #111827);
160
+ border-bottom-color: var(--xto-border-color, #374151);
161
161
  }
162
162
 
163
163
  .header__collapse {
164
- color: #cfd3dc;
164
+ color: var(--xto-color-text-regular, #E5E7EB);
165
165
  }
166
166
 
167
167
  .header__breadcrumb {
168
- color: #a3a6ad;
168
+ color: var(--xto-color-text-secondary, #9CA3AF);
169
169
  }
170
170
 
171
171
  .header__user-name {
172
- color: #cfd3dc;
172
+ color: var(--xto-color-text-regular, #E5E7EB);
173
173
  }
174
174
 
175
175
  .header__user-arrow {
176
- color: #a3a6ad;
176
+ color: var(--xto-color-text-secondary, #9CA3AF);
177
177
  }
178
178
 
179
179
  .header__action:hover {
180
- background-color: #262727;
180
+ background-color: var(--xto-fill-color, #1F2937);
181
181
  }
182
182
 
183
183
  .header__user-trigger:hover {
184
- background-color: #262727;
184
+ background-color: var(--xto-fill-color, #1F2937);
185
185
  }
186
186
 
187
187
  // 下拉菜单
188
188
  .header__dropdown {
189
- background-color: #1d1e1f;
190
- border: 1px solid #363637;
189
+ background-color: var(--xto-bg-color-overlay, #1F2937);
190
+ border: 1px solid var(--xto-border-color, #374151);
191
191
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
192
192
  }
193
193
 
194
194
  .header__dropdown-name {
195
- color: #e5eaf3;
195
+ color: var(--xto-color-text-primary, #F9FAFB);
196
196
  }
197
197
 
198
198
  .header__dropdown-role {
199
- color: #a3a6ad;
199
+ color: var(--xto-color-text-secondary, #9CA3AF);
200
200
  }
201
201
 
202
202
  .header__dropdown-divider {
203
- background-color: #363637;
203
+ background-color: var(--xto-border-color, #374151);
204
204
  }
205
205
 
206
206
  .header__dropdown-item {
207
- color: #cfd3dc;
207
+ color: var(--xto-color-text-regular, #E5E7EB);
208
208
 
209
209
  &:hover {
210
- background-color: #262727;
211
- color: #e5eaf3;
210
+ background-color: var(--xto-fill-color, #1F2937);
211
+ color: var(--xto-color-text-primary, #F9FAFB);
212
212
  }
213
213
  }
214
214
 
215
215
  // 顶部菜单组件
216
216
  .top-menu {
217
- background-color: #1d1e1f;
217
+ background-color: var(--xto-bg-color, #111827);
218
218
 
219
219
  &__menu {
220
- background-color: #1d1e1f !important;
220
+ background-color: var(--xto-bg-color, #111827) !important;
221
221
  }
222
222
 
223
223
  &__menu-char {
224
- background-color: rgba(64, 158, 255, 0.2);
225
- color: #79bbff;
224
+ background-color: rgba(129, 140, 248, 0.2);
225
+ color: var(--xto-color-primary-light-3, #7578F3);
226
226
  }
227
227
 
228
228
  &__action {
229
- color: #cfd3dc;
229
+ color: var(--xto-color-text-regular, #E5E7EB);
230
230
 
231
231
  &:hover {
232
- background-color: #262727;
233
- color: #409eff;
232
+ background-color: var(--xto-fill-color, #1F2937);
233
+ color: var(--xto-color-primary, #818CF8);
234
234
  }
235
235
  }
236
236
 
237
237
  &__user-trigger:hover {
238
- background-color: #262727;
238
+ background-color: var(--xto-fill-color, #1F2937);
239
239
  }
240
240
 
241
241
  &__user-name {
242
- color: #cfd3dc;
242
+ color: var(--xto-color-text-regular, #E5E7EB);
243
243
  }
244
244
 
245
245
  &__user-arrow {
246
- color: #a3a6ad;
246
+ color: var(--xto-color-text-secondary, #9CA3AF);
247
247
  }
248
248
 
249
249
  &__dropdown {
250
- background-color: #1d1e1f;
251
- border: 1px solid #363637;
250
+ background-color: var(--xto-bg-color-overlay, #1F2937);
251
+ border: 1px solid var(--xto-border-color, #374151);
252
252
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
253
253
  }
254
254
 
255
255
  &__dropdown-name {
256
- color: #e5eaf3;
256
+ color: var(--xto-color-text-primary, #F9FAFB);
257
257
  }
258
258
 
259
259
  &__dropdown-role {
260
- color: #a3a6ad;
260
+ color: var(--xto-color-text-secondary, #9CA3AF);
261
261
  }
262
262
 
263
263
  &__dropdown-divider {
264
- background-color: #363637;
264
+ background-color: var(--xto-border-color, #374151);
265
265
  }
266
266
 
267
267
  &__dropdown-item {
268
- color: #cfd3dc;
268
+ color: var(--xto-color-text-regular, #E5E7EB);
269
269
 
270
270
  &:hover {
271
- background-color: #262727;
272
- color: #e5eaf3;
271
+ background-color: var(--xto-fill-color, #1F2937);
272
+ color: var(--xto-color-text-primary, #F9FAFB);
273
273
  }
274
274
  }
275
275
  }
@@ -277,86 +277,86 @@
277
277
  // 按钮
278
278
  .x-button {
279
279
  &.x-button--default {
280
- background-color: #1d1e1f;
281
- border-color: #4c4d4f;
282
- color: #cfd3dc;
280
+ background-color: var(--xto-bg-color, #111827);
281
+ border-color: var(--xto-border-color-light, #1F2937);
282
+ color: var(--xto-color-text-regular, #E5E7EB);
283
283
 
284
284
  &:hover {
285
- border-color: #409eff;
286
- color: #409eff;
285
+ border-color: var(--xto-color-primary, #818CF8);
286
+ color: var(--xto-color-primary, #818CF8);
287
287
  }
288
288
  }
289
289
 
290
290
  &.x-button--text {
291
- color: #409eff;
291
+ color: var(--xto-color-primary, #818CF8);
292
292
  }
293
293
  }
294
294
 
295
295
  // 表单
296
296
  .x-form-item__label {
297
- color: #cfd3dc;
297
+ color: var(--xto-color-text-regular, #E5E7EB);
298
298
  }
299
299
 
300
300
  .x-form-item__error {
301
- color: #f56c6c;
301
+ color: var(--xto-color-danger, #F87171);
302
302
  }
303
303
 
304
304
  // 输入框
305
305
  .x-input {
306
- background-color: #1d1e1f;
307
- border-color: #4c4d4f;
306
+ background-color: var(--xto-bg-color, #111827);
307
+ border-color: var(--xto-border-color-light, #1F2937);
308
308
 
309
309
  &.is-focus {
310
- border-color: #409eff;
310
+ border-color: var(--xto-color-primary, #818CF8);
311
311
  }
312
312
 
313
313
  .x-input__inner {
314
314
  background-color: transparent;
315
- color: #e5eaf3;
315
+ color: var(--xto-color-text-primary, #F9FAFB);
316
316
 
317
317
  &::placeholder {
318
- color: #6c6e72;
318
+ color: var(--xto-color-text-placeholder, #6B7280);
319
319
  }
320
320
  }
321
321
 
322
322
  .x-input__suffix,
323
323
  .x-input__prefix {
324
- color: #a3a6ad;
324
+ color: var(--xto-color-text-secondary, #9CA3AF);
325
325
  }
326
326
  }
327
327
 
328
328
  // 选择器
329
329
  .x-select {
330
- background-color: #1d1e1f;
331
- border-color: #4c4d4f;
330
+ background-color: var(--xto-bg-color, #111827);
331
+ border-color: var(--xto-border-color-light, #1F2937);
332
332
  }
333
333
 
334
334
  // 卡片
335
335
  .x-card {
336
- background-color: #1d1e1f;
337
- border-color: #363637;
336
+ background-color: var(--xto-bg-color-overlay, #1F2937);
337
+ border-color: var(--xto-border-color, #374151);
338
338
  }
339
339
 
340
340
  .x-card__header {
341
- border-bottom-color: #363637;
342
- color: #e5eaf3;
341
+ border-bottom-color: var(--xto-border-color, #374151);
342
+ color: var(--xto-color-text-primary, #F9FAFB);
343
343
  }
344
344
 
345
345
  // 表格
346
346
  .data-table {
347
347
  th {
348
- background-color: #262727;
349
- color: #cfd3dc;
350
- border-bottom-color: #363637;
348
+ background-color: var(--xto-fill-color, #1F2937);
349
+ color: var(--xto-color-text-regular, #E5E7EB);
350
+ border-bottom-color: var(--xto-border-color, #374151);
351
351
  }
352
352
 
353
353
  td {
354
- border-bottom-color: #363637;
355
- color: #cfd3dc;
354
+ border-bottom-color: var(--xto-border-color, #374151);
355
+ color: var(--xto-color-text-regular, #E5E7EB);
356
356
  }
357
357
 
358
358
  tr:hover td {
359
- background-color: #262727;
359
+ background-color: var(--xto-fill-color, #1F2937);
360
360
  }
361
361
  }
362
362
 
@@ -367,84 +367,84 @@
367
367
  }
368
368
 
369
369
  &__container {
370
- background-color: #1d1e1f;
371
- border: 1px solid #363637;
370
+ background-color: var(--xto-bg-color-overlay, #1F2937);
371
+ border: 1px solid var(--xto-border-color, #374151);
372
372
  }
373
373
 
374
374
  &__header {
375
- border-bottom-color: #363637;
376
- color: #e5eaf3;
375
+ border-bottom-color: var(--xto-border-color, #374151);
376
+ color: var(--xto-color-text-primary, #F9FAFB);
377
377
  }
378
378
 
379
379
  &__footer {
380
- border-top-color: #363637;
380
+ border-top-color: var(--xto-border-color, #374151);
381
381
  }
382
382
  }
383
383
 
384
384
  // 消息提示
385
385
  .x-message {
386
- background-color: #1d1e1f;
387
- border: 1px solid #363637;
386
+ background-color: var(--xto-bg-color-overlay, #1F2937);
387
+ border: 1px solid var(--xto-border-color, #374151);
388
388
  }
389
389
 
390
390
  // 标签
391
391
  .x-tag {
392
392
  &.x-tag--primary {
393
- background-color: rgba(64, 158, 255, 0.2);
394
- color: #79bbff;
395
- border-color: rgba(64, 158, 255, 0.3);
393
+ background-color: rgba(129, 140, 248, 0.2);
394
+ color: var(--xto-color-primary-light-3, #7578F3);
395
+ border-color: rgba(129, 140, 248, 0.3);
396
396
  }
397
397
 
398
398
  &.x-tag--success {
399
- background-color: rgba(103, 194, 58, 0.2);
400
- color: #95d475;
401
- border-color: rgba(103, 194, 58, 0.3);
399
+ background-color: rgba(52, 211, 153, 0.2);
400
+ color: var(--xto-color-success-light-3, #2DD4A0);
401
+ border-color: rgba(52, 211, 153, 0.3);
402
402
  }
403
403
 
404
404
  &.x-tag--warning {
405
- background-color: rgba(230, 162, 60, 0.2);
406
- color: #eebe77;
407
- border-color: rgba(230, 162, 60, 0.3);
405
+ background-color: rgba(251, 191, 36, 0.2);
406
+ color: var(--xto-color-warning-light-3, #FBBF24);
407
+ border-color: rgba(251, 191, 36, 0.3);
408
408
  }
409
409
 
410
410
  &.x-tag--danger {
411
- background-color: rgba(245, 108, 108, 0.2);
412
- color: #fab6b6;
413
- border-color: rgba(245, 108, 108, 0.3);
411
+ background-color: rgba(248, 113, 113, 0.2);
412
+ color: var(--xto-color-danger-light-3, #F87171);
413
+ border-color: rgba(248, 113, 113, 0.3);
414
414
  }
415
415
 
416
416
  &.x-tag--info {
417
- background-color: rgba(144, 147, 153, 0.2);
418
- color: #c0c4cc;
419
- border-color: rgba(144, 147, 153, 0.3);
417
+ background-color: rgba(156, 163, 175, 0.2);
418
+ color: var(--xto-color-text-disabled, #4B5563);
419
+ border-color: rgba(156, 163, 175, 0.3);
420
420
  }
421
421
  }
422
422
 
423
423
  // 开关
424
424
  .x-switch {
425
- background-color: #4c4d4f;
425
+ background-color: var(--xto-border-color-light, #1F2937);
426
426
 
427
427
  &.is-checked {
428
- background-color: #409eff;
428
+ background-color: var(--xto-color-primary, #818CF8);
429
429
  }
430
430
  }
431
431
 
432
432
  // 分页
433
433
  .x-pagination {
434
- color: #cfd3dc;
434
+ color: var(--xto-color-text-regular, #E5E7EB);
435
435
 
436
436
  &__item {
437
- background-color: #1d1e1f;
438
- border-color: #4c4d4f;
439
- color: #cfd3dc;
437
+ background-color: var(--xto-bg-color, #111827);
438
+ border-color: var(--xto-border-color-light, #1F2937);
439
+ color: var(--xto-color-text-regular, #E5E7EB);
440
440
 
441
441
  &:hover {
442
- color: #409eff;
442
+ color: var(--xto-color-primary, #818CF8);
443
443
  }
444
444
 
445
445
  &.is-active {
446
- background-color: #409eff;
447
- border-color: #409eff;
446
+ background-color: var(--xto-color-primary, #818CF8);
447
+ border-color: var(--xto-color-primary, #818CF8);
448
448
  color: #fff;
449
449
  }
450
450
  }
@@ -456,90 +456,90 @@
456
456
  }
457
457
 
458
458
  .login__container {
459
- background-color: #1d1e1f;
460
- border: 1px solid #363637;
459
+ background-color: var(--xto-bg-color-overlay, #1F2937);
460
+ border: 1px solid var(--xto-border-color, #374151);
461
461
  }
462
462
 
463
463
  .login__title {
464
- color: #409eff;
464
+ color: var(--xto-color-primary, #818CF8);
465
465
  }
466
466
 
467
467
  .login__subtitle {
468
- color: #a3a6ad;
468
+ color: var(--xto-color-text-secondary, #9CA3AF);
469
469
  }
470
470
 
471
471
  .login__footer {
472
- color: #6c6e72;
472
+ color: var(--xto-color-text-placeholder, #6B7280);
473
473
  }
474
474
 
475
475
  // 仪表盘
476
476
  .stat-card__title {
477
- color: #a3a6ad;
477
+ color: var(--xto-color-text-secondary, #9CA3AF);
478
478
  }
479
479
 
480
480
  .quick-link {
481
- background-color: #262727;
481
+ background-color: var(--xto-fill-color, #1F2937);
482
482
 
483
483
  &:hover {
484
- background-color: rgba(64, 158, 255, 0.1);
484
+ background-color: rgba(129, 140, 248, 0.1);
485
485
  }
486
486
 
487
487
  &__title {
488
- color: #cfd3dc;
488
+ color: var(--xto-color-text-regular, #E5E7EB);
489
489
  }
490
490
  }
491
491
 
492
492
  .activity-item {
493
- border-bottom-color: #363637;
493
+ border-bottom-color: var(--xto-border-color, #374151);
494
494
 
495
495
  &__action {
496
- color: #cfd3dc;
496
+ color: var(--xto-color-text-regular, #E5E7EB);
497
497
  }
498
498
  }
499
499
 
500
500
  // 搜索卡片
501
501
  .search-card {
502
- background-color: #1d1e1f;
503
- border: 1px solid #363637;
502
+ background-color: var(--xto-bg-color-overlay, #1F2937);
503
+ border: 1px solid var(--xto-border-color, #374151);
504
504
  }
505
505
 
506
506
  // 表格卡片
507
507
  .table-card {
508
- background-color: #1d1e1f;
509
- border: 1px solid #363637;
508
+ background-color: var(--xto-bg-color-overlay, #1F2937);
509
+ border: 1px solid var(--xto-border-color, #374151);
510
510
  }
511
511
 
512
512
  // Popconfirm
513
513
  .x-popconfirm {
514
- background-color: #1d1e1f;
515
- border: 1px solid #363637;
514
+ background-color: var(--xto-bg-color-overlay, #1F2937);
515
+ border: 1px solid var(--xto-border-color, #374151);
516
516
  }
517
517
 
518
518
  // Drawer 抽屉组件
519
519
  .x-drawer {
520
- background-color: #1d1e1f;
520
+ background-color: var(--xto-bg-color-overlay, #1F2937);
521
521
 
522
522
  &__header {
523
- background-color: #1d1e1f;
524
- border-bottom-color: #363637;
525
- color: #e5eaf3;
523
+ background-color: var(--xto-bg-color-overlay, #1F2937);
524
+ border-bottom-color: var(--xto-border-color, #374151);
525
+ color: var(--xto-color-text-primary, #F9FAFB);
526
526
  }
527
527
 
528
528
  &__body {
529
- background-color: #1d1e1f;
530
- color: #cfd3dc;
529
+ background-color: var(--xto-bg-color-overlay, #1F2937);
530
+ color: var(--xto-color-text-regular, #E5E7EB);
531
531
  }
532
532
 
533
533
  &__footer {
534
- background-color: #1d1e1f;
535
- border-top-color: #363637;
534
+ background-color: var(--xto-bg-color-overlay, #1F2937);
535
+ border-top-color: var(--xto-border-color, #374151);
536
536
  }
537
537
  }
538
538
 
539
539
  // 设置抽屉内容
540
540
  .settings-drawer {
541
541
  .settings-title {
542
- color: #e5eaf3;
542
+ color: var(--xto-color-text-primary, #F9FAFB);
543
543
  }
544
544
 
545
545
  .settings-section {
@@ -547,93 +547,93 @@
547
547
  }
548
548
 
549
549
  .layout-option {
550
- border-color: #4c4d4f;
550
+ border-color: var(--xto-border-color-light, #1F2937);
551
551
  background-color: transparent;
552
552
 
553
553
  &:hover {
554
- border-color: #409eff;
554
+ border-color: var(--xto-color-primary, #818CF8);
555
555
  }
556
556
 
557
557
  &.is-active {
558
- border-color: #409eff;
559
- background-color: rgba(64, 158, 255, 0.1);
558
+ border-color: var(--xto-color-primary, #818CF8);
559
+ background-color: rgba(129, 140, 248, 0.1);
560
560
  }
561
561
 
562
562
  &__label {
563
- color: #cfd3dc;
563
+ color: var(--xto-color-text-regular, #E5E7EB);
564
564
  }
565
565
  }
566
566
 
567
567
  .settings-switch-item {
568
568
  span {
569
- color: #cfd3dc;
569
+ color: var(--xto-color-text-regular, #E5E7EB);
570
570
  }
571
571
  }
572
572
  }
573
573
 
574
574
  // 混合顶部菜单
575
575
  .mix-top-menu {
576
- background-color: #1d1e1f;
577
- border-bottom-color: #363637;
576
+ background-color: var(--xto-bg-color, #111827);
577
+ border-bottom-color: var(--xto-border-color, #374151);
578
578
 
579
579
  &__logo-text {
580
- color: #409eff;
580
+ color: var(--xto-color-primary, #818CF8);
581
581
  }
582
582
 
583
583
  &__menu {
584
- background-color: #1d1e1f !important;
584
+ background-color: var(--xto-bg-color, #111827) !important;
585
585
  }
586
586
 
587
587
  &__menu-char {
588
- color: #79bbff;
589
- background-color: rgba(64, 158, 255, 0.2);
588
+ color: var(--xto-color-primary-light-3, #7578F3);
589
+ background-color: rgba(129, 140, 248, 0.2);
590
590
  }
591
591
 
592
592
  &__action {
593
- color: #cfd3dc;
593
+ color: var(--xto-color-text-regular, #E5E7EB);
594
594
 
595
595
  &:hover {
596
- background-color: #262727;
597
- color: #409eff;
596
+ background-color: var(--xto-fill-color, #1F2937);
597
+ color: var(--xto-color-primary, #818CF8);
598
598
  }
599
599
  }
600
600
 
601
601
  &__user-trigger:hover {
602
- background-color: #262727;
602
+ background-color: var(--xto-fill-color, #1F2937);
603
603
  }
604
604
 
605
605
  &__user-name {
606
- color: #cfd3dc;
606
+ color: var(--xto-color-text-regular, #E5E7EB);
607
607
  }
608
608
 
609
609
  &__user-arrow {
610
- color: #a3a6ad;
610
+ color: var(--xto-color-text-secondary, #9CA3AF);
611
611
  }
612
612
 
613
613
  &__dropdown {
614
- background-color: #1d1e1f;
615
- border: 1px solid #363637;
614
+ background-color: var(--xto-bg-color-overlay, #1F2937);
615
+ border: 1px solid var(--xto-border-color, #374151);
616
616
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
617
617
  }
618
618
 
619
619
  &__dropdown-name {
620
- color: #e5eaf3;
620
+ color: var(--xto-color-text-primary, #F9FAFB);
621
621
  }
622
622
 
623
623
  &__dropdown-role {
624
- color: #a3a6ad;
624
+ color: var(--xto-color-text-secondary, #9CA3AF);
625
625
  }
626
626
 
627
627
  &__dropdown-divider {
628
- background-color: #363637;
628
+ background-color: var(--xto-border-color, #374151);
629
629
  }
630
630
 
631
631
  &__dropdown-item {
632
- color: #cfd3dc;
632
+ color: var(--xto-color-text-regular, #E5E7EB);
633
633
 
634
634
  &:hover {
635
- background-color: #262727;
636
- color: #e5eaf3;
635
+ background-color: var(--xto-fill-color, #1F2937);
636
+ color: var(--xto-color-text-primary, #F9FAFB);
637
637
  }
638
638
  }
639
639
  }