xt-element-ui 1.0.9 → 1.1.1

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 (91) hide show
  1. package/lib/css/2.3f7aa432.css +1 -0
  2. package/lib/css/3.ffcc175d.css +1 -0
  3. package/lib/css/4.9abd1f2b.css +1 -0
  4. package/lib/css/5.1a31ed8a.css +1 -0
  5. package/lib/css/6.c2d0d77e.css +1 -0
  6. package/lib/index.common.0.js +120208 -0
  7. package/lib/index.common.2.js +1053 -0
  8. package/lib/index.common.3.js +996 -0
  9. package/lib/index.common.4.js +1108 -0
  10. package/lib/index.common.5.js +1009 -0
  11. package/lib/index.common.6.js +973 -0
  12. package/lib/index.common.js +8515 -631
  13. package/lib/index.css +1 -1
  14. package/lib/index.umd.0.js +120208 -0
  15. package/lib/index.umd.2.js +1053 -0
  16. package/lib/index.umd.3.js +996 -0
  17. package/lib/index.umd.4.js +1108 -0
  18. package/lib/index.umd.5.js +1009 -0
  19. package/lib/index.umd.6.js +973 -0
  20. package/lib/index.umd.js +8515 -631
  21. package/lib/index.umd.min.0.js +34 -0
  22. package/lib/index.umd.min.2.js +1 -0
  23. package/lib/index.umd.min.3.js +1 -0
  24. package/lib/index.umd.min.4.js +1 -0
  25. package/lib/index.umd.min.5.js +1 -0
  26. package/lib/index.umd.min.6.js +1 -0
  27. package/lib/index.umd.min.js +1 -1
  28. package/package.json +6 -2
  29. package/src/components/button/index.vue +30 -24
  30. package/src/components/button/style/index.scss +741 -82
  31. package/src/components/card/style/index.scss +1 -1
  32. package/src/components/card-item/style/index.scss +1 -1
  33. package/src/components/chart/ExBar.vue +203 -0
  34. package/src/components/chart/ExLine.vue +146 -0
  35. package/src/components/chart/ExMulti.vue +257 -0
  36. package/src/components/chart/ExPie.vue +159 -0
  37. package/src/components/chart/ExTrend.vue +121 -0
  38. package/src/components/chart/index.js +2 -0
  39. package/src/components/chart/index.vue +51 -0
  40. package/src/components/chart/pieList.vue +110 -0
  41. package/src/components/chart/theme/blue.js +91 -0
  42. package/src/components/chart/theme/dark.js +91 -0
  43. package/src/components/chart/theme/orange.js +92 -0
  44. package/src/components/chart/theme/starry.js +106 -0
  45. package/src/components/chart/theme/white.js +110 -0
  46. package/src/components/chart/utils.js +273 -0
  47. package/src/components/config-provider/index.vue +155 -39
  48. package/src/components/config-provider/style/index.scss +2 -2
  49. package/src/components/date-picker/SearchDate.vue +45 -0
  50. package/src/components/date-picker/index.js +2 -0
  51. package/src/components/date-picker/index.vue +131 -0
  52. package/src/components/date-picker/quarter.vue +152 -0
  53. package/src/components/grid-box/index.js +2 -0
  54. package/src/components/grid-box/index.vue +42 -0
  55. package/src/components/index.scss +4 -1
  56. package/src/components/input/style/index.scss +1 -1
  57. package/src/components/layout/BaseCollapse.vue +48 -0
  58. package/src/components/layout/ExFieldset.vue +204 -0
  59. package/src/components/page/index.js +0 -0
  60. package/src/components/page/index.vue +109 -0
  61. package/src/components/select-tree/index.js +0 -0
  62. package/src/components/select-tree/index.vue +386 -0
  63. package/src/components/table/ExCell.vue +27 -0
  64. package/src/components/table/ExColumn.vue +36 -0
  65. package/src/components/table/index.js +2 -0
  66. package/src/components/table/index.vue +731 -0
  67. package/src/components/table/processor.js +380 -0
  68. package/src/components/text/index.js +2 -0
  69. package/src/components/text/index.vue +119 -0
  70. package/src/components/text/style/index.scss +67 -0
  71. package/src/components/upload/index.js +2 -0
  72. package/src/components/upload/index.vue +225 -0
  73. package/src/components/upload/preview.vue +333 -0
  74. package/src/index.js +17 -5
  75. package/src/styles/css-variables.scss +258 -0
  76. package/src/styles/theme/{bg.scss → background.scss} +1 -1
  77. package/src/styles/theme/colors.scss +100 -0
  78. package/src/styles/theme/{component.scss → component-variables.scss} +3 -3
  79. package/src/styles/theme/index.scss +9 -9
  80. package/src/styles/variables.scss +1 -1
  81. package/src/utils/index.js +3 -5
  82. package/src/styles/theme/color.scss +0 -11
  83. package/src/styles/vars.scss +0 -168
  84. /package/src/styles/{theme-element.scss → element-theme.scss} +0 -0
  85. /package/src/styles/theme/{radius.scss → border-radius.scss} +0 -0
  86. /package/src/styles/theme/{border.scss → borders.scss} +0 -0
  87. /package/src/styles/theme/{dark.scss → dark-variables.scss} +0 -0
  88. /package/src/styles/theme/{shadow.scss → shadows.scss} +0 -0
  89. /package/src/styles/theme/{transition.scss → transitions.scss} +0 -0
  90. /package/src/styles/theme/{text.scss → typography.scss} +0 -0
  91. /package/src/styles/{export.scss → variables-export.scss} +0 -0
@@ -0,0 +1,258 @@
1
+ @import './theme/index.scss';
2
+
3
+ :root {
4
+ // ============================
5
+ // 基础变量(参考 Element Plus)
6
+ // ============================
7
+ color-scheme: light;
8
+
9
+ // 基础颜色
10
+ --xt-color-white: #ffffff;
11
+ --xt-color-black: #000000;
12
+
13
+ // RGB 值
14
+ --xt-color-primary-rgb: 24, 144, 255;
15
+ --xt-color-success-rgb: 103, 194, 58;
16
+ --xt-color-warning-rgb: 230, 162, 60;
17
+ --xt-color-danger-rgb: 245, 108, 108;
18
+ --xt-color-info-rgb: 144, 147, 153;
19
+
20
+ // 主色调系列 (#1890ff)
21
+ --xt-color-primary: #1890ff;
22
+ --xt-color-success: #67c23a;
23
+ --xt-color-warning: #e6a23c;
24
+ --xt-color-danger: #f56c6c;
25
+ --xt-color-error: #f56c6c;
26
+ --xt-color-info: #909399;
27
+
28
+ // Primary 渐变色系 (#1890ff)
29
+ --xt-color-primary-light-3: rgb(93, 177, 255);
30
+ --xt-color-primary-light-5: rgb(140, 200, 255);
31
+ --xt-color-primary-light-7: rgb(186, 222, 255);
32
+ --xt-color-primary-light-8: rgb(209, 233, 255);
33
+ --xt-color-primary-light-9: rgb(232, 244, 255);
34
+ --xt-color-primary-dark-2: rgb(19, 115, 204);
35
+
36
+ // Success 渐变色系
37
+ --xt-color-success-light-3: rgb(149, 212, 117);
38
+ --xt-color-success-light-5: rgb(179, 225, 157);
39
+ --xt-color-success-light-7: rgb(209, 237, 196);
40
+ --xt-color-success-light-8: rgb(225, 243, 216);
41
+ --xt-color-success-light-9: rgb(240, 249, 235);
42
+ --xt-color-success-dark-2: rgb(82, 155, 46);
43
+
44
+ // Warning 渐变色系
45
+ --xt-color-warning-light-3: rgb(238, 190, 119);
46
+ --xt-color-warning-light-5: rgb(243, 209, 158);
47
+ --xt-color-warning-light-7: rgb(248, 227, 197);
48
+ --xt-color-warning-light-8: rgb(250, 236, 216);
49
+ --xt-color-warning-light-9: rgb(253, 246, 236);
50
+ --xt-color-warning-dark-2: rgb(184, 130, 48);
51
+
52
+ // Danger 渐变色系
53
+ --xt-color-danger-light-3: rgb(248, 152, 152);
54
+ --xt-color-danger-light-5: rgb(250, 182, 182);
55
+ --xt-color-danger-light-7: rgb(252, 211, 211);
56
+ --xt-color-danger-light-8: rgb(253, 226, 226);
57
+ --xt-color-danger-light-9: rgb(254, 240, 240);
58
+ --xt-color-danger-dark-2: rgb(196, 86, 86);
59
+
60
+ // Error 渐变色系
61
+ --xt-color-error-light-3: rgb(248, 152, 152);
62
+ --xt-color-error-light-5: rgb(250, 182, 182);
63
+ --xt-color-error-light-7: rgb(252, 211, 211);
64
+ --xt-color-error-light-8: rgb(253, 226, 226);
65
+ --xt-color-error-light-9: rgb(254, 240, 240);
66
+ --xt-color-error-dark-2: rgb(196, 86, 86);
67
+
68
+ // Info 渐变色系
69
+ --xt-color-info-light-3: rgb(177, 179, 184);
70
+ --xt-color-info-light-5: rgb(200, 201, 204);
71
+ --xt-color-info-light-7: rgb(222, 223, 224);
72
+ --xt-color-info-light-8: rgb(233, 233, 235);
73
+ --xt-color-info-light-9: rgb(244, 244, 245);
74
+ --xt-color-info-dark-2: rgb(115, 118, 122);
75
+
76
+ // 背景颜色
77
+ --xt-bg-color: #ffffff;
78
+ --xt-bg-color-page: #f2f3f5;
79
+ --xt-bg-color-overlay: #ffffff;
80
+
81
+ // 文字颜色
82
+ --xt-text-color-primary: #303133;
83
+ --xt-text-color-regular: #606266;
84
+ --xt-text-color-secondary: #909399;
85
+ --xt-text-color-placeholder: #a8abb2;
86
+ --xt-text-color-disabled: #c0c4cc;
87
+
88
+ // 边框颜色
89
+ --xt-border-color: #dcdfe6;
90
+ --xt-border-color-light: #e4e7ed;
91
+ --xt-border-color-lighter: #ebeef5;
92
+ --xt-border-color-extra-light: #f2f6fc;
93
+ --xt-border-color-dark: #d4d7de;
94
+ --xt-border-color-darker: #cdd0d6;
95
+
96
+ // 填充颜色
97
+ --xt-fill-color: #f0f2f5;
98
+ --xt-fill-color-light: #f5f7fa;
99
+ --xt-fill-color-lighter: #fafafa;
100
+ --xt-fill-color-extra-light: #fafcff;
101
+ --xt-fill-color-dark: #ebedf0;
102
+ --xt-fill-color-darker: #e6e8eb;
103
+ --xt-fill-color-blank: #ffffff;
104
+
105
+ // 阴影
106
+ --xt-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);
107
+ --xt-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);
108
+ --xt-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);
109
+ --xt-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);
110
+
111
+ // 禁用状态颜色
112
+ --xt-disabled-bg-color: var(--xt-fill-color-light);
113
+ --xt-disabled-text-color: var(--xt-text-color-placeholder);
114
+ --xt-disabled-border-color: var(--xt-border-color-light);
115
+
116
+ // 遮罩颜色
117
+ --xt-overlay-color: rgba(0, 0, 0, .8);
118
+ --xt-overlay-color-light: rgba(0, 0, 0, .7);
119
+ --xt-overlay-color-lighter: rgba(0, 0, 0, .5);
120
+ --xt-mask-color: rgba(255, 255, 255, .9);
121
+ --xt-mask-color-extra-light: rgba(255, 255, 255, .3);
122
+
123
+ // 边框
124
+ --xt-border-width: 1px;
125
+ --xt-border-style: solid;
126
+ --xt-border-color-hover: var(--xt-text-color-disabled);
127
+ --xt-border: var(--xt-border-width) var(--xt-border-style) var(--xt-border-color);
128
+
129
+ // SVG 灰度
130
+ --xt-svg-monochrome-grey: var(--xt-border-color);
131
+
132
+ // 字体大小
133
+ --xt-font-size-extra-large: 20px;
134
+ --xt-font-size-large: 18px;
135
+ --xt-font-size-medium: 16px;
136
+ --xt-font-size-base: 14px;
137
+ --xt-font-size-small: 13px;
138
+ --xt-font-size-extra-small: 12px;
139
+
140
+ // 字体
141
+ --xt-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
142
+ --xt-font-weight-primary: 500;
143
+ --xt-font-line-height-primary: 24px;
144
+
145
+ // 层级
146
+ --xt-index-normal: 1;
147
+ --xt-index-top: 1000;
148
+ --xt-index-popper: 2000;
149
+
150
+ // 圆角
151
+ --xt-border-radius-base: 4px;
152
+ --xt-border-radius-small: 2px;
153
+ --xt-border-radius-round: 20px;
154
+ --xt-border-radius-circle: 100%;
155
+
156
+ // 过渡动画
157
+ --xt-transition-duration: .3s;
158
+ --xt-transition-duration-fast: .2s;
159
+ --xt-transition-function-ease-in-out-bezier: cubic-bezier(.645, .045, .355, 1);
160
+ --xt-transition-function-fast-bezier: cubic-bezier(.23, 1, .32, 1);
161
+ --xt-transition-all: all var(--xt-transition-duration) var(--xt-transition-function-ease-in-out-bezier);
162
+ --xt-transition-fade: opacity var(--xt-transition-duration) var(--xt-transition-function-fast-bezier);
163
+ --xt-transition-md-fade: transform var(--xt-transition-duration) var(--xt-transition-function-fast-bezier), opacity var(--xt-transition-duration) var(--xt-transition-function-fast-bezier);
164
+ --xt-transition-fade-linear: opacity var(--xt-transition-duration-fast) linear;
165
+ --xt-transition-border: border-color var(--xt-transition-duration-fast) var(--xt-transition-function-ease-in-out-bezier);
166
+ --xt-transition-box-shadow: box-shadow var(--xt-transition-duration-fast) var(--xt-transition-function-ease-in-out-bezier);
167
+ --xt-transition-color: color var(--xt-transition-duration-fast) var(--xt-transition-function-ease-in-out-bezier);
168
+
169
+ // 组件尺寸
170
+ --xt-component-size-large: 40px;
171
+ --xt-component-size: 32px;
172
+ --xt-component-size-small: 24px;
173
+
174
+ // 间距
175
+ --xt-spacing-xs: 8px;
176
+ --xt-spacing-sm: 12px;
177
+ --xt-spacing-md: 16px;
178
+ --xt-spacing-lg: 24px;
179
+ --xt-spacing-xl: 32px;
180
+ }
181
+
182
+ // ============================
183
+ // 暗色主题(参考 Element Plus)
184
+ // ============================
185
+ :root[data-theme="dark"],
186
+ html[data-theme="dark"],
187
+ [data-theme="dark"] {
188
+ color-scheme: dark;
189
+ --xt-color-primary: #409eff;
190
+ --xt-color-primary-light-3: rgb(51, 117, 185);
191
+ --xt-color-primary-light-5: rgb(42, 89, 138);
192
+ --xt-color-primary-light-7: rgb(33, 61, 91);
193
+ --xt-color-primary-light-8: rgb(29, 48, 67);
194
+ --xt-color-primary-light-9: rgb(24, 34, 43);
195
+ --xt-color-primary-dark-2: rgb(102, 177, 255);
196
+ --xt-color-success: #67c23a;
197
+ --xt-color-success-light-3: rgb(78, 142, 47);
198
+ --xt-color-success-light-5: rgb(62, 107, 39);
199
+ --xt-color-success-light-7: rgb(45, 72, 31);
200
+ --xt-color-success-light-8: rgb(37, 55, 28);
201
+ --xt-color-success-light-9: rgb(28, 37, 24);
202
+ --xt-color-success-dark-2: rgb(133, 206, 97);
203
+ --xt-color-warning: #e6a23c;
204
+ --xt-color-warning-light-3: rgb(167, 119, 48);
205
+ --xt-color-warning-light-5: rgb(125, 91, 40);
206
+ --xt-color-warning-light-7: rgb(83, 63, 32);
207
+ --xt-color-warning-light-8: rgb(62, 48, 28);
208
+ --xt-color-warning-light-9: rgb(41, 34, 24);
209
+ --xt-color-warning-dark-2: rgb(235, 181, 99);
210
+ --xt-color-danger: #f56c6c;
211
+ --xt-color-danger-light-3: rgb(178, 82, 82);
212
+ --xt-color-danger-light-5: rgb(133, 64, 64);
213
+ --xt-color-danger-light-7: rgb(88, 46, 46);
214
+ --xt-color-danger-light-8: rgb(65, 38, 38);
215
+ --xt-color-danger-light-9: rgb(42, 29, 29);
216
+ --xt-color-danger-dark-2: rgb(247, 137, 137);
217
+ --xt-color-error: #f56c6c;
218
+ --xt-color-error-light-3: rgb(178, 82, 82);
219
+ --xt-color-error-light-5: rgb(133, 64, 64);
220
+ --xt-color-error-light-7: rgb(88, 46, 46);
221
+ --xt-color-error-light-8: rgb(65, 38, 38);
222
+ --xt-color-error-light-9: rgb(42, 29, 29);
223
+ --xt-color-error-dark-2: rgb(247, 137, 137);
224
+ --xt-color-info: #909399;
225
+ --xt-color-info-light-3: rgb(107, 109, 113);
226
+ --xt-color-info-light-5: rgb(82, 84, 87);
227
+ --xt-color-info-light-7: rgb(57, 58, 60);
228
+ --xt-color-info-light-8: rgb(45, 45, 47);
229
+ --xt-color-info-light-9: rgb(32, 33, 33);
230
+ --xt-color-info-dark-2: rgb(166, 169, 173);
231
+ --xt-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);
232
+ --xt-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);
233
+ --xt-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);
234
+ --xt-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000;
235
+ --xt-bg-color-page: #0a0a0a;
236
+ --xt-bg-color: #141414;
237
+ --xt-bg-color-overlay: #1d1e1f;
238
+ --xt-text-color-primary: #E5EAF3;
239
+ --xt-text-color-regular: #CFD3DC;
240
+ --xt-text-color-secondary: #A3A6AD;
241
+ --xt-text-color-placeholder: #8D9095;
242
+ --xt-text-color-disabled: #6C6E72;
243
+ --xt-border-color-darker: #636466;
244
+ --xt-border-color-dark: #58585B;
245
+ --xt-border-color: #4C4D4F;
246
+ --xt-border-color-light: #414243;
247
+ --xt-border-color-lighter: #363637;
248
+ --xt-border-color-extra-light: #2B2B2C;
249
+ --xt-fill-color-darker: #424243;
250
+ --xt-fill-color-dark: #39393A;
251
+ --xt-fill-color: #303030;
252
+ --xt-fill-color-light: #262727;
253
+ --xt-fill-color-lighter: #1D1D1D;
254
+ --xt-fill-color-extra-light: #191919;
255
+ --xt-fill-color-blank: #141414;
256
+ --xt-mask-color: rgba(0, 0, 0, .8);
257
+ --xt-mask-color-extra-light: rgba(0, 0, 0, .3)
258
+ }
@@ -1,6 +1,6 @@
1
1
  $xt-color-bg-primary: #ffffff; // 主背景色 - 白色
2
2
  $xt-color-bg-secondary: #f5f7fa; // 次要背景色 - 浅灰
3
3
  $xt-color-bg-hover: #f5f5f5; // 悬停背景色
4
- $xt-color-bg-container: #f5f7fa; // 容器背景色
4
+ $xt-color-bg-container: #f0f0f2; // 容器背景色
5
5
  $xt-color-bg-main: #ffffff; // 主内容区域背景色
6
6
  $xt-color-bg-overlay: #ffffff; // 浮层背景色
@@ -0,0 +1,100 @@
1
+ $xt-color-primary: #1890ff; // 主颜色 - XT UI 标准蓝色
2
+ $xt-color-success: #37c3a4; // 成功色 - XT UI 标准绿色
3
+ $xt-color-warning: #FFB74D; // 警告色 - XT UI 标准橙色
4
+ $xt-color-danger: #EA1D34; // 危险色 - XT UI 标准红色
5
+ $xt-color-info: #999999; // 信息色 - XT UI 标准灰色
6
+
7
+ $xt-color-primary-light-3: #5DB1FF; // 主色浅色 30%
8
+ $xt-color-primary-light-5: #8CC8FF; // 主色浅色 50%
9
+ $xt-color-primary-light-7: #BADEFF; // 主色浅色 70%
10
+ $xt-color-primary-light-8: #D1E9FF; // 主色浅色 80%
11
+ $xt-color-primary-light-9: #E8F4FF; // 主色浅色 90%
12
+
13
+ // 主色调深色系列(与 config-provider darkenColor 算法保持一致)
14
+ $xt-color-primary-dark-2: #1373cc; // 主色深色 20%
15
+ $xt-color-primary-dark-3: #1165b3; // 主色深色 30%
16
+ $xt-color-primary-dark-4: #0e5699; // 主色深色 40%
17
+
18
+ // ============================
19
+ // Success 成功色渐变色系
20
+ // ============================
21
+ $xt-color-success-light-3: #5dd3b0; // 成功色浅色 30%
22
+ $xt-color-success-light-5: #8be9d0; // 成功色浅色 50%
23
+ $xt-color-success-light-7: #b8f0e0; // 成功色浅色 70%
24
+ $xt-color-success-light-8: #d1f5ec; // 成功色浅色 80%
25
+ $xt-color-success-light-9: #e8faf5; // 成功色浅色 90%
26
+ $xt-color-success-dark-2: #2da88a; // 成功色深色 20%
27
+
28
+ // ============================
29
+ // Warning 警告色渐变色系
30
+ // ============================
31
+ $xt-color-warning-light-3: #f5c976; // 警告色浅色 30%
32
+ $xt-color-warning-light-5: #f9d8a3; // 警告色浅色 50%
33
+ $xt-color-warning-light-7: #fce7cf; // 警告色浅色 70%
34
+ $xt-color-warning-light-8: #fdf2e7; // 警告色浅色 80%
35
+ $xt-color-warning-light-9: #fff8f0; // 警告色浅色 90%
36
+ $xt-color-warning-dark-2: #e5a033; // 警告色深色 20%
37
+
38
+ // ============================
39
+ // Danger 危险色渐变色系
40
+ // ============================
41
+ $xt-color-danger-light-3: #f04a5e; // 危险色浅色 30%
42
+ $xt-color-danger-light-5: #f57786; // 危险色浅色 50%
43
+ $xt-color-danger-light-7: #f9a4ad; // 危险色浅色 70%
44
+ $xt-color-danger-light-8: #fbc8cd; // 危险色浅色 80%
45
+ $xt-color-danger-light-9: #fee8ea; // 危险色浅色 90%
46
+ $xt-color-danger-dark-2: #d4162c; // 危险色深色 20%
47
+
48
+ // ============================
49
+ // Info 信息色渐变色系
50
+ // ============================
51
+ $xt-color-info-light-3: #a4a6aa; // 信息色浅色 30%
52
+ $xt-color-info-light-5: #babbbc; // 信息色浅色 50%
53
+ $xt-color-info-light-7: #d0d1d3; // 信息色浅色 70%
54
+ $xt-color-info-light-8: #e0e1e2; // 信息色浅色 80%
55
+ $xt-color-info-light-9: #f0f0f0; // 信息色浅色 90%
56
+ $xt-color-info-dark-2: #7a7c80; // 信息色深色 20%
57
+
58
+ // ============================
59
+ // 暗色主题渐变色系(参考 Element Plus)
60
+ // ============================
61
+
62
+ // Primary 暗色主题渐变色系
63
+ $xt-dark-color-primary-light-3: #336eb9; // 主色暗色 30%
64
+ $xt-dark-color-primary-light-5: #2a598a; // 主色暗色 50%
65
+ $xt-dark-color-primary-light-7: #213d5b; // 主色暗色 70%
66
+ $xt-dark-color-primary-light-8: #1d3043; // 主色暗色 80%
67
+ $xt-dark-color-primary-light-9: #18222b; // 主色暗色 90%
68
+ $xt-dark-color-primary-dark-2: #66b1ff; // 主色亮色 20%
69
+
70
+ // Success 暗色主题渐变色系
71
+ $xt-dark-color-success-light-3: #4e8e2f; // 成功色暗色 30%
72
+ $xt-dark-color-success-light-5: #3e6b27; // 成功色暗色 50%
73
+ $xt-dark-color-success-light-7: #2d481f; // 成功色暗色 70%
74
+ $xt-dark-color-success-light-8: #25371c; // 成功色暗色 80%
75
+ $xt-dark-color-success-light-9: #1c2518; // 成功色暗色 90%
76
+ $xt-dark-color-success-dark-2: #85ce61; // 成功色亮色 20%
77
+
78
+ // Warning 暗色主题渐变色系
79
+ $xt-dark-color-warning-light-3: #a77730; // 警告色暗色 30%
80
+ $xt-dark-color-warning-light-5: #7d5b28; // 警告色暗色 50%
81
+ $xt-dark-color-warning-light-7: #533f20; // 警告色暗色 70%
82
+ $xt-dark-color-warning-light-8: #3e301c; // 警告色暗色 80%
83
+ $xt-dark-color-warning-light-9: #292218; // 警告色暗色 90%
84
+ $xt-dark-color-warning-dark-2: #ebb563; // 警告色亮色 20%
85
+
86
+ // Danger 暗色主题渐变色系
87
+ $xt-dark-color-danger-light-3: #b25252; // 危险色暗色 30%
88
+ $xt-dark-color-danger-light-5: #854040; // 危险色暗色 50%
89
+ $xt-dark-color-danger-light-7: #582e2e; // 危险色暗色 70%
90
+ $xt-dark-color-danger-light-8: #412626; // 危险色暗色 80%
91
+ $xt-dark-color-danger-light-9: #2a1d1d; // 危险色暗色 90%
92
+ $xt-dark-color-danger-dark-2: #f78989; // 危险色亮色 20%
93
+
94
+ // Info 暗色主题渐变色系
95
+ $xt-dark-color-info-light-3: #6b6d71; // 信息色暗色 30%
96
+ $xt-dark-color-info-light-5: #525457; // 信息色暗色 50%
97
+ $xt-dark-color-info-light-7: #393a3c; // 信息色暗色 70%
98
+ $xt-dark-color-info-light-8: #2d2d2f; // 信息色暗色 80%
99
+ $xt-dark-color-info-light-9: #202121; // 信息色暗色 90%
100
+ $xt-dark-color-info-dark-2: #a6a9ad; // 信息色亮色 20%
@@ -45,10 +45,10 @@ $xt-flex-box-gap: 8px; // FlexBox 默认间距
45
45
  // ===========================
46
46
  $xt-header-bg: #ffffff; // 头部背景色
47
47
  $xt-header-text-color: #303133; // 头部文字颜色
48
- $xt-header-active-text: #409EFF; // 头部激活状态文字颜色
49
- $xt-header-hover-text: #409EFF; // 头部悬停状态文字颜色
48
+ $xt-header-active-text: #1890ff; // 头部激活状态文字颜色
49
+ $xt-header-hover-text: #1890ff; // 头部悬停状态文字颜色
50
50
 
51
- $xt-hamburger-bg: #409EFF; // 汉堡按钮背景色
51
+ $xt-hamburger-bg: #1890ff; // 汉堡按钮背景色
52
52
 
53
53
  $xt-menu-bg: #304156; // 菜单背景色
54
54
  $xt-menu-hover: #263445; // 菜单悬停背景色
@@ -1,11 +1,11 @@
1
- @import './color.scss';
2
- @import './text.scss';
3
- @import './bg.scss';
4
- @import './border.scss';
1
+ @import './colors.scss';
2
+ @import './typography.scss';
3
+ @import './background.scss';
4
+ @import './borders.scss';
5
5
  @import './font.scss';
6
6
  @import './spacing.scss';
7
- @import './radius.scss';
8
- @import './shadow.scss';
9
- @import './transition.scss';
10
- @import './dark.scss';
11
- @import './component.scss';
7
+ @import './border-radius.scss';
8
+ @import './shadows.scss';
9
+ @import './transitions.scss';
10
+ @import './dark-variables.scss';
11
+ @import './component-variables.scss';
@@ -1 +1 @@
1
- @import './theme/index.scss';
1
+ @import './theme/index.scss';
@@ -1,8 +1,8 @@
1
1
  // 默认配置
2
2
  const defaultConfig = {
3
- theme: 'light',
3
+ theme: 'white',
4
4
  size: 'medium',
5
- primaryColor: '#409EFF'
5
+ primaryColor: '#1890ff'
6
6
  }
7
7
 
8
8
  // 当前配置
@@ -46,7 +46,7 @@ export const setConfig = function(config) {
46
46
 
47
47
  // 设置主题
48
48
  export const setTheme = function(theme) {
49
- const validThemes = ['light', 'dark']
49
+ const validThemes = ['white', 'dark']
50
50
  if (!validThemes.includes(theme)) {
51
51
  console.warn(`[XtElementUI] 无效的主题值: ${theme},可选值: ${validThemes.join(', ')}`)
52
52
  return
@@ -57,10 +57,8 @@ export const setTheme = function(theme) {
57
57
 
58
58
  // 使用类名方式切换主题(兼容 Element Plus 风格)
59
59
  if (theme === 'dark') {
60
- root.classList.add('dark')
61
60
  root.setAttribute('data-theme', 'dark')
62
61
  } else {
63
- root.classList.remove('dark')
64
62
  root.removeAttribute('data-theme')
65
63
  }
66
64
 
@@ -1,11 +0,0 @@
1
- $xt-color-primary: #409EFF; // 主颜色 - Element UI 标准蓝色
2
- $xt-color-success: #67C23A; // 成功色 - Element UI 标准绿色
3
- $xt-color-warning: #E6A23C; // 警告色 - Element UI 标准橙色
4
- $xt-color-danger: #F56C6C; // 危险色 - Element UI 标准红色
5
- $xt-color-info: #909399; // 信息色 - Element UI 标准灰色
6
-
7
- $xt-color-primary-light-3: #79BBFF; // 主色浅色 30%
8
- $xt-color-primary-light-5: #A0CFFF; // 主色浅色 50%
9
- $xt-color-primary-light-7: #C6E2FF; // 主色浅色 70%
10
- $xt-color-primary-light-8: #D9ECFF; // 主色浅色 80%
11
- $xt-color-primary-light-9: #ECF5FF; // 主色浅色 90%
@@ -1,168 +0,0 @@
1
- @import './theme/index.scss';
2
-
3
- :root {
4
- // 主色调系列
5
- --xt-color-primary: #{$xt-color-primary};
6
- --xt-color-success: #{$xt-color-success};
7
- --xt-color-warning: #{$xt-color-warning};
8
- --xt-color-danger: #{$xt-color-danger};
9
- --xt-color-info: #{$xt-color-info};
10
-
11
- // 主色调浅色系列
12
- --xt-color-primary-light-3: #{$xt-color-primary-light-3};
13
- --xt-color-primary-light-5: #{$xt-color-primary-light-5};
14
- --xt-color-primary-light-7: #{$xt-color-primary-light-7};
15
- --xt-color-primary-light-8: #{$xt-color-primary-light-8};
16
- --xt-color-primary-light-9: #{$xt-color-primary-light-9};
17
-
18
- // 文字颜色
19
- --xt-color-text-primary: #{$xt-color-text-primary};
20
- --xt-color-text-regular: #{$xt-color-text-regular};
21
- --xt-color-text-secondary: #{$xt-color-text-secondary};
22
- --xt-color-text-placeholder: #{$xt-color-text-placeholder};
23
- --xt-color-text-disabled: #{$xt-color-text-disabled};
24
-
25
- // 背景颜色
26
- --xt-color-bg-primary: #{$xt-color-bg-primary};
27
- --xt-color-bg-secondary: #{$xt-color-bg-secondary};
28
- --xt-color-bg-hover: #{$xt-color-bg-hover};
29
- --xt-color-bg-container: #{$xt-color-bg-container};
30
- --xt-color-bg-overlay: #{$xt-color-bg-overlay};
31
-
32
- // 边框颜色
33
- --xt-color-border: #{$xt-color-border};
34
- --xt-color-border-light: #{$xt-color-border-light};
35
- --xt-color-border-lighter: #{$xt-color-border-lighter};
36
- --xt-color-border-extra-light: #{$xt-color-border-extra-light};
37
-
38
- // 字体大小
39
- --xt-font-size-extra-large: #{$xt-font-size-extra-large};
40
- --xt-font-size-large: #{$xt-font-size-large};
41
- --xt-font-size-medium: #{$xt-font-size-medium};
42
- --xt-font-size-base: #{$xt-font-size-base};
43
- --xt-font-size-small: #{$xt-font-size-small};
44
- --xt-font-size-extra-small: #{$xt-font-size-extra-small};
45
-
46
- // 间距
47
- --xt-spacing-xs: #{$xt-spacing-xs};
48
- --xt-spacing-sm: #{$xt-spacing-sm};
49
- --xt-spacing-md: #{$xt-spacing-md};
50
- --xt-spacing-lg: #{$xt-spacing-lg};
51
- --xt-spacing-xl: #{$xt-spacing-xl};
52
-
53
- // 圆角
54
- --xt-border-radius-base: #{$xt-border-radius-base};
55
- --xt-border-radius-small: #{$xt-border-radius-small};
56
- --xt-border-radius-round: #{$xt-border-radius-round};
57
- --xt-border-radius-circle: #{$xt-border-radius-circle};
58
-
59
- // 阴影
60
- --xt-shadow-sm: #{$xt-shadow-sm};
61
- --xt-shadow-md: #{$xt-shadow-md};
62
- --xt-shadow-lg: #{$xt-shadow-lg};
63
-
64
- // 过渡动画
65
- --xt-transition-duration: #{$xt-transition-duration};
66
- --xt-transition-duration-fast: #{$xt-transition-duration-fast};
67
-
68
- // 按钮专用变量
69
- --xt-button-height: #{$xt-button-height};
70
- --xt-button-padding-x: #{$xt-button-padding-x};
71
- --xt-button-padding-y: #{$xt-button-padding-y};
72
- --xt-button-font-weight: #{$xt-button-font-weight};
73
- --xt-button-border-width: #{$xt-button-border-width};
74
- --xt-button-transition: #{$xt-button-transition};
75
-
76
- // 卡片专用变量
77
- --xt-card-bg-color: #{$xt-card-bg-color};
78
- --xt-card-border-color: #{$xt-card-border-color};
79
- --xt-card-border-radius: #{$xt-card-border-radius};
80
- --xt-card-padding: #{$xt-card-padding};
81
- --xt-card-header-padding: #{$xt-card-header-padding};
82
- --xt-card-shadow: #{$xt-card-shadow};
83
-
84
- // 卡片项专用变量
85
- --xt-card-item-min-height: #{$xt-card-item-min-height};
86
- --xt-card-item-gap: #{$xt-card-item-gap};
87
- --xt-card-item-border-width: #{$xt-card-item-border-width};
88
-
89
- // 输入框专用变量
90
- --xt-input-height: #{$xt-input-height};
91
- --xt-input-padding-x: #{$xt-input-padding-x};
92
- --xt-input-bg-color: #{$xt-input-bg-color};
93
- --xt-input-border-color: #{$xt-input-border-color};
94
- --xt-input-text-color: #{$xt-input-text-color};
95
- --xt-input-placeholder-color: #{$xt-input-placeholder-color};
96
-
97
- // FlexBox 专用变量
98
- --xt-flex-box-gap: #{$xt-flex-box-gap};
99
- }
100
-
101
- // 暗色主题
102
- html.dark, html[data-theme="dark"] {
103
- --xt-color-primary: var(--xt-color-primary);
104
- --xt-color-success: #{$xt-dark-color-success};
105
- --xt-color-warning: #{$xt-dark-color-warning};
106
- --xt-color-danger: #{$xt-dark-color-danger};
107
- --xt-color-info: #{$xt-dark-color-info};
108
-
109
- --xt-color-text-primary: #{$xt-dark-color-text-primary};
110
- --xt-color-text-regular: #{$xt-dark-color-text-regular};
111
- --xt-color-text-secondary: #{$xt-dark-color-text-secondary};
112
- --xt-color-text-placeholder: #{$xt-dark-color-text-placeholder};
113
- --xt-color-text-disabled: #{$xt-dark-color-text-disabled};
114
-
115
- --xt-color-bg-primary: #{$xt-dark-color-bg-primary};
116
- --xt-color-bg-secondary: #{$xt-dark-color-bg-secondary};
117
- --xt-color-bg-hover: #{$xt-dark-color-bg-hover};
118
- --xt-color-bg-container: #{$xt-dark-color-bg-container};
119
- --xt-color-bg-overlay: #{$xt-dark-color-bg-overlay};
120
-
121
- --xt-color-border: #{$xt-dark-color-border};
122
- --xt-color-border-light: #{$xt-dark-color-border-light};
123
- --xt-color-border-lighter: #{$xt-dark-color-border-lighter};
124
- --xt-color-border-extra-light: #{$xt-dark-color-border-extra-light};
125
-
126
- // 暗色主题下的组件变量
127
- --xt-card-bg-color: #{$xt-dark-color-bg-primary};
128
- --xt-card-border-color: #{$xt-dark-color-border};
129
- --xt-input-bg-color: #{$xt-dark-color-bg-secondary};
130
- --xt-input-border-color: #{$xt-dark-color-border};
131
- --xt-input-text-color: #{$xt-dark-color-text-primary};
132
- --xt-input-placeholder-color: #{$xt-dark-color-text-placeholder};
133
-
134
- // 暗色主题按钮颜色变量
135
- --xt-dark-button-primary-bg: #{$xt-dark-button-primary-bg};
136
- --xt-dark-button-success-bg: #{$xt-dark-button-success-bg};
137
- --xt-dark-button-warning-bg: #{$xt-dark-button-warning-bg};
138
- --xt-dark-button-danger-bg: #{$xt-dark-button-danger-bg};
139
- --xt-dark-button-info-bg: #{$xt-dark-button-info-bg};
140
- }
141
-
142
- // 字体大小主题(基于增量)
143
- [data-size="small"] {
144
- --xt-font-size-extra-large: #{$xt-font-size-extra-large + $xt-font-size-increment-small};
145
- --xt-font-size-large: #{$xt-font-size-large + $xt-font-size-increment-small};
146
- --xt-font-size-medium: #{$xt-font-size-medium + $xt-font-size-increment-small};
147
- --xt-font-size-base: #{$xt-font-size-base + $xt-font-size-increment-small};
148
- --xt-font-size-small: #{$xt-font-size-small + $xt-font-size-increment-small};
149
- --xt-font-size-extra-small: #{$xt-font-size-extra-small + $xt-font-size-increment-small};
150
- }
151
-
152
- [data-size="medium"] {
153
- --xt-font-size-extra-large: #{$xt-font-size-extra-large + $xt-font-size-increment-medium};
154
- --xt-font-size-large: #{$xt-font-size-large + $xt-font-size-increment-medium};
155
- --xt-font-size-medium: #{$xt-font-size-medium + $xt-font-size-increment-medium};
156
- --xt-font-size-base: #{$xt-font-size-base + $xt-font-size-increment-medium};
157
- --xt-font-size-small: #{$xt-font-size-small + $xt-font-size-increment-medium};
158
- --xt-font-size-extra-small: #{$xt-font-size-extra-small + $xt-font-size-increment-medium};
159
- }
160
-
161
- [data-size="large"] {
162
- --xt-font-size-extra-large: #{$xt-font-size-extra-large + $xt-font-size-increment-large};
163
- --xt-font-size-large: #{$xt-font-size-large + $xt-font-size-increment-large};
164
- --xt-font-size-medium: #{$xt-font-size-medium + $xt-font-size-increment-large};
165
- --xt-font-size-base: #{$xt-font-size-base + $xt-font-size-increment-large};
166
- --xt-font-size-small: #{$xt-font-size-small + $xt-font-size-increment-large};
167
- --xt-font-size-extra-small: #{$xt-font-size-extra-small + $xt-font-size-increment-large};
168
- }
File without changes
File without changes
File without changes