xto-fronted 0.4.72 → 0.4.74

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.
@@ -1,99 +1,126 @@
1
1
  // ==============================================
2
- // CSS Variables - 主题变量
2
+ // CSS Variables - 企业级配色方案
3
+ // 参考:阿里 Ant Design Pro、腾讯云控制台
3
4
  // ==============================================
4
5
 
5
6
  :root {
6
- // 主题色
7
- --color-primary: #409eff;
8
- --color-primary-light-3: #79bbff;
9
- --color-primary-light-5: #a0cfff;
10
- --color-primary-light-7: #c6e2ff;
11
- --color-primary-light-8: #d9ecff;
12
- --color-primary-light-9: #ecf5ff;
13
- --color-primary-dark-2: #337ecc;
14
-
15
- // 功能色
16
- --color-success: #67c23a;
17
- --color-success-light: #e1f3d8;
18
- --color-success-dark: #529b2e;
19
-
20
- --color-warning: #e6a23c;
21
- --color-warning-light: #fdf6ec;
22
- --color-warning-dark: #b88230;
23
-
24
- --color-danger: #f56c6c;
25
- --color-danger-light: #fde2e2;
26
- --color-danger-dark: #c45656;
27
-
28
- --color-info: #909399;
29
- --color-info-light: #f4f4f5;
30
- --color-info-dark: #73767a;
31
-
32
- // 文字颜色
33
- --color-text-primary: #303133;
34
- --color-text-regular: #606266;
35
- --color-text-secondary: #909399;
36
- --color-text-placeholder: #a8abb2;
37
- --color-text-disabled: #c0c4cc;
38
-
39
- // 边框颜色
40
- --color-border: #dcdfe6;
41
- --color-border-light: #e4e7ed;
42
- --color-border-lighter: #ebeef5;
43
- --color-border-extra-light: #f2f6fc;
44
- --color-border-dark: #d4d7de;
45
-
46
- // 填充颜色
47
- --color-fill: #f5f7fa;
7
+ // 主色调 - 科技蓝系(深邃、专业)
8
+ --color-primary: #1677ff;
9
+ --color-primary-light-1: #4096ff;
10
+ --color-primary-light-2: #69b1ff;
11
+ --color-primary-light-3: #91caff;
12
+ --color-primary-light-4: #bae0ff;
13
+ --color-primary-light-5: #e6f4ff;
14
+ --color-primary-light-6: #f0f8ff;
15
+ --color-primary-dark-1: #0958d9;
16
+ --color-primary-dark-2: #003eb3;
17
+ --color-primary-dark-3: #002c8c;
18
+
19
+ // 功能色 - 精致调和
20
+ --color-success: #52c41a;
21
+ --color-success-light: #b7eb8f;
22
+ --color-success-lighter: #f6ffed;
23
+ --color-success-dark: #389e0d;
24
+
25
+ --color-warning: #faad14;
26
+ --color-warning-light: #ffe58f;
27
+ --color-warning-lighter: #fffbe6;
28
+ --color-warning-dark: #d48806;
29
+
30
+ --color-danger: #ff4d4f;
31
+ --color-danger-light: #ffa39e;
32
+ --color-danger-lighter: #fff2f0;
33
+ --color-danger-dark: #cf1322;
34
+
35
+ --color-info: #1677ff;
36
+ --color-info-light: #91caff;
37
+ --color-info-lighter: #e6f4ff;
38
+ --color-info-dark: #0958d9;
39
+
40
+ // 文字颜色 - 层次分明
41
+ --color-text-primary: #1f1f1f;
42
+ --color-text-regular: #424242;
43
+ --color-text-secondary: #757575;
44
+ --color-text-placeholder: #9e9e9e;
45
+ --color-text-disabled: #bdbdbd;
46
+
47
+ // 边框颜色 - 克制淡雅
48
+ --color-border: #d9d9d9;
49
+ --color-border-light: #e8e8e8;
50
+ --color-border-lighter: #f0f0f0;
51
+ --color-border-extra-light: #f5f5f5;
52
+ --color-border-dark: #bfbfbf;
53
+
54
+ // 填充颜色 - 背景层次
55
+ --color-fill: #f5f5f5;
48
56
  --color-fill-light: #fafafa;
49
- --color-fill-lighter: #fafcff;
57
+ --color-fill-lighter: #ffffff;
50
58
  --color-fill-blank: #ffffff;
59
+ --color-fill-dark: #e8e8e8;
51
60
 
52
- // 背景颜色
61
+ // 背景颜色 - 页面层级
53
62
  --bg-color: #ffffff;
54
- --bg-color-page: #f2f3f5;
63
+ --bg-color-page: #f0f2f5;
64
+ --bg-color-component: #ffffff;
55
65
  --bg-color-overlay: #ffffff;
56
-
57
- // 盒子阴影
58
- --box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
59
- --box-shadow-light: 0 2px 8px 0 rgba(0, 0, 0, 0.06);
60
- --box-shadow-lighter: 0 1px 4px 0 rgba(0, 0, 0, 0.04);
61
- --box-shadow-dark: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
62
-
63
- // 字体
64
- --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
65
- 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
66
- 'Noto Color Emoji';
66
+ --bg-color-spotlight: #e6f4ff;
67
+
68
+ // 盒子阴影 - 精致层次
69
+ --box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08),
70
+ 0 3px 6px -4px rgba(0, 0, 0, 0.12),
71
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05);
72
+ --box-shadow-light: 0 1px 2px 0 rgba(0, 0, 0, 0.03),
73
+ 0 1px 6px -1px rgba(0, 0, 0, 0.02),
74
+ 0 2px 4px 0 rgba(0, 0, 0, 0.02);
75
+ --box-shadow-lighter: 0 1px 4px rgba(0, 0, 0, 0.04);
76
+ --box-shadow-dark: 0 6px 16px -8px rgba(0, 0, 0, 0.08),
77
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05),
78
+ 0 12px 48px 16px rgba(0, 0, 0, 0.03);
79
+ --box-shadow-card: 0 1px 10px -6px rgba(0, 0, 0, 0.1);
80
+ --box-shadow-card-hover: 0 6px 16px -8px rgba(0, 0, 0, 0.12);
81
+
82
+ // 字体 - 企业级字体栈
83
+ --font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
84
+ 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
85
+ --font-family-code: 'IBM Plex Mono', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono',
86
+ Consolas, 'Courier New', monospace;
67
87
  --font-size-base: 14px;
68
88
  --font-size-small: 12px;
69
89
  --font-size-large: 16px;
70
- --font-size-extra-large: 18px;
71
-
72
- // 圆角
73
- --border-radius-base: 4px;
74
- --border-radius-small: 2px;
90
+ --font-size-extra-large: 20px;
91
+ --font-size-title: 24px;
92
+ --font-size-hero: 38px;
93
+ --font-line-height: 1.5714285714285714;
94
+
95
+ // 圆角 - 精致圆润
96
+ --border-radius-base: 6px;
97
+ --border-radius-small: 4px;
75
98
  --border-radius-large: 8px;
76
- --border-radius-round: 20px;
99
+ --border-radius-extra-large: 12px;
100
+ --border-radius-round: 24px;
77
101
  --border-radius-circle: 50%;
78
102
 
79
- // 间距
103
+ // 间距 - 8px 基础网格
80
104
  --spacing-xs: 4px;
81
105
  --spacing-sm: 8px;
82
106
  --spacing-md: 16px;
83
107
  --spacing-lg: 24px;
84
108
  --spacing-xl: 32px;
109
+ --spacing-xxl: 48px;
85
110
 
86
- // 尺寸
111
+ // 尺寸 - 组件规格
87
112
  --component-size-large: 40px;
88
113
  --component-size-default: 32px;
89
114
  --component-size-small: 24px;
90
115
 
91
- // 过渡时间
92
- --transition-duration: 0.3s;
93
- --transition-duration-fast: 0.2s;
94
- --transition-duration-slow: 0.5s;
116
+ // 过渡 - 流畅动效
117
+ --transition-duration: 0.2s;
118
+ --transition-duration-fast: 0.1s;
119
+ --transition-duration-slow: 0.3s;
120
+ --transition-easing: cubic-bezier(0.645, 0.045, 0.355, 1);
121
+ --transition-easing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
95
122
 
96
- // z-index
123
+ // z-index - 层级管理
97
124
  --z-index-dropdown: 1000;
98
125
  --z-index-sticky: 1020;
99
126
  --z-index-fixed: 1030;
@@ -102,39 +129,56 @@
102
129
  --z-index-popover: 1060;
103
130
  --z-index-tooltip: 1070;
104
131
 
105
- // 布局
106
- --sidebar-width: 210px;
132
+ // 布局 - 精确尺寸
133
+ --sidebar-width: 220px;
107
134
  --sidebar-collapsed-width: 64px;
108
- --header-height: 50px;
135
+ --header-height: 56px;
109
136
  --tabs-height: 40px;
110
- --footer-height: 30px;
137
+ --footer-height: 32px;
138
+
139
+ // 特殊效果
140
+ --gradient-primary: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
141
+ --gradient-hero: linear-gradient(135deg, #002c8c 0%, #1677ff 50%, #4096ff 100%);
142
+ --gradient-card: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);
143
+ --gradient-mask: linear-gradient(180deg, rgba(0, 44, 140, 0.03) 0%, rgba(0, 0, 0, 0) 100%);
111
144
  }
112
145
 
113
- // 暗色主题
146
+ // 暗色主题 - 深邃科技感
114
147
  .dark {
115
- --color-text-primary: #e5eaf3;
116
- --color-text-regular: #cfd3dc;
117
- --color-text-secondary: #a3a6ad;
118
- --color-text-placeholder: #8d9095;
119
- --color-text-disabled: #6c6e72;
120
-
121
- --color-border: #4c4d4f;
122
- --color-border-light: #414243;
123
- --color-border-lighter: #363637;
124
- --color-border-extra-light: #2b2b2c;
125
- --color-border-dark: #58585b;
126
-
127
- --color-fill: #303030;
128
- --color-fill-light: #262727;
129
- --color-fill-lighter: #1d1d1d;
148
+ --color-text-primary: #ffffff;
149
+ --color-text-regular: #e0e0e0;
150
+ --color-text-secondary: #a6a6a6;
151
+ --color-text-placeholder: #737373;
152
+ --color-text-disabled: #5c5c5c;
153
+
154
+ --color-border: #434343;
155
+ --color-border-light: #363636;
156
+ --color-border-lighter: #2a2a2a;
157
+ --color-border-extra-light: #1f1f1f;
158
+ --color-border-dark: #5c5c5c;
159
+
160
+ --color-fill: #262626;
161
+ --color-fill-light: #1f1f1f;
162
+ --color-fill-lighter: #141414;
130
163
  --color-fill-blank: #141414;
164
+ --color-fill-dark: #363636;
131
165
 
132
- --bg-color: #1d1e1f;
166
+ --bg-color: #141414;
133
167
  --bg-color-page: #0a0a0a;
134
- --bg-color-overlay: #1d1e1f;
135
-
136
- --box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.3);
137
- --box-shadow-light: 0 2px 8px 0 rgba(0, 0, 0, 0.24);
138
- --box-shadow-lighter: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
139
- --box-shadow-dark: 0 4px 16px 0 rgba(0, 0, 0, 0.36);
168
+ --bg-color-component: #1f1f1f;
169
+ --bg-color-overlay: #1f1f1f;
170
+ --bg-color-spotlight: #111d2c;
171
+
172
+ --box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.32),
173
+ 0 3px 6px -4px rgba(0, 0, 0, 0.48),
174
+ 0 9px 28px 8px rgba(0, 0, 0, 0.2);
175
+ --box-shadow-light: 0 1px 2px 0 rgba(0, 0, 0, 0.16),
176
+ 0 1px 6px -1px rgba(0, 0, 0, 0.12),
177
+ 0 2px 4px 0 rgba(0, 0, 0, 0.08);
178
+ --box-shadow-card: 0 1px 10px -6px rgba(0, 0, 0, 0.32);
179
+ --box-shadow-card-hover: 0 6px 16px -8px rgba(0, 0, 0, 0.48);
180
+
181
+ --gradient-primary: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
182
+ --gradient-hero: linear-gradient(135deg, #002c8c 0%, #0958d9 50%, #1677ff 100%);
183
+ --gradient-card: linear-gradient(180deg, rgba(20, 20, 20, 0) 0%, rgba(20, 20, 20, 0.8) 100%);
140
184
  }
@@ -2,44 +2,69 @@
2
2
  // SCSS Variables - 用于样式计算
3
3
  // ==============================================
4
4
 
5
- // 主题色
6
- $color-primary: #409eff;
7
- $color-success: #67c23a;
8
- $color-warning: #e6a23c;
9
- $color-danger: #f56c6c;
10
- $color-info: #909399;
5
+ // 主题色 - 科技蓝
6
+ $color-primary: #1677ff;
7
+ $color-primary-light: #4096ff;
8
+ $color-primary-lighter: #91caff;
9
+ $color-primary-dark: #0958d9;
10
+ $color-primary-darker: #003eb3;
11
+
12
+ // 功能色
13
+ $color-success: #52c41a;
14
+ $color-warning: #faad14;
15
+ $color-danger: #ff4d4f;
16
+ $color-info: #1677ff;
11
17
 
12
18
  // 文字颜色
13
- $color-text-primary: #303133;
14
- $color-text-regular: #606266;
15
- $color-text-secondary: #909399;
19
+ $color-text-primary: #1f1f1f;
20
+ $color-text-regular: #424242;
21
+ $color-text-secondary: #757575;
22
+ $color-text-placeholder: #9e9e9e;
16
23
 
17
24
  // 边框颜色
18
- $color-border: #dcdfe6;
19
- $color-border-light: #e4e7ed;
20
- $color-border-lighter: #ebeef5;
25
+ $color-border: #d9d9d9;
26
+ $color-border-light: #e8e8e8;
27
+ $color-border-lighter: #f0f0f0;
21
28
 
22
29
  // 背景颜色
23
30
  $bg-color: #ffffff;
24
- $bg-color-page: #f2f3f5;
31
+ $bg-color-page: #f0f2f5;
32
+ $bg-color-component: #ffffff;
25
33
 
26
34
  // 字体
35
+ $font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
36
+ $font-family-code: 'IBM Plex Mono', 'SF Mono', Monaco, Consolas, monospace;
27
37
  $font-size-base: 14px;
28
38
  $font-size-small: 12px;
39
+ $font-size-large: 16px;
40
+ $font-size-extra-large: 20px;
29
41
 
30
42
  // 圆角
31
- $border-radius-base: 4px;
43
+ $border-radius-base: 6px;
44
+ $border-radius-small: 4px;
32
45
  $border-radius-large: 8px;
46
+ $border-radius-extra-large: 12px;
47
+ $border-radius-round: 24px;
33
48
 
34
- // 间距
49
+ // 间距 - 8px 网格系统
35
50
  $spacing-xs: 4px;
36
51
  $spacing-sm: 8px;
37
52
  $spacing-md: 16px;
38
53
  $spacing-lg: 24px;
54
+ $spacing-xl: 32px;
55
+ $spacing-xxl: 48px;
39
56
 
40
- // 布局
41
- $sidebar-width: 210px;
57
+ // 布局尺寸
58
+ $sidebar-width: 220px;
42
59
  $sidebar-collapsed-width: 64px;
43
- $header-height: 50px;
60
+ $header-height: 56px;
44
61
  $tabs-height: 40px;
45
- $footer-height: 30px;
62
+ $footer-height: 32px;
63
+
64
+ // 过渡
65
+ $transition-duration: 0.2s;
66
+ $transition-easing: cubic-bezier(0.645, 0.045, 0.355, 1);
67
+
68
+ // 阴影
69
+ $box-shadow-card: 0 1px 10px -6px rgba(0, 0, 0, 0.1);
70
+ $box-shadow-card-hover: 0 6px 16px -8px rgba(0, 0, 0, 0.12);