@epxing/dashboard 0.0.0-stage → 5.3.0-beta.2

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 (64) hide show
  1. package/API.md +80 -0
  2. package/README.md +41 -2
  3. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  4. package/dist/_virtual/preload-helper.js +88 -0
  5. package/dist/assets/technology_bg-oWIS2awO.jpg +0 -0
  6. package/dist/src/Dashboard.js +333 -0
  7. package/dist/src/DashboardGrid.js +183 -0
  8. package/dist/src/DesignGrid.js +712 -0
  9. package/dist/src/DesignItem.js +64 -0
  10. package/dist/src/Div.js +409 -0
  11. package/dist/src/Header.js +386 -0
  12. package/dist/src/Preview.js +28 -0
  13. package/dist/src/Tabs.js +469 -0
  14. package/dist/src/Title.js +102 -0
  15. package/dist/src/Widget.js +267 -0
  16. package/dist/src/chart-request-scope.js +33 -0
  17. package/dist/src/design-target.js +58 -0
  18. package/dist/src/grid/compact.js +69 -0
  19. package/dist/src/grid/compat/GridItem.js +36 -0
  20. package/dist/src/grid/compat/GridLayout.js +77 -0
  21. package/dist/src/grid/designState.js +22 -0
  22. package/dist/src/grid/engines.js +26 -0
  23. package/dist/src/grid/geometry.js +45 -0
  24. package/dist/src/grid/gridstackParams.js +70 -0
  25. package/dist/src/grid/mixins.js +109 -0
  26. package/dist/src/grid/model.js +224 -0
  27. package/dist/src/grid/useViewportGate.js +56 -0
  28. package/dist/src/index.js +27 -0
  29. package/dist/src/layout-util.js +109 -0
  30. package/dist/src/mobile-design.js +51 -0
  31. package/dist/src/theme-style.js +134 -0
  32. package/dist/style.css +1009 -0
  33. package/package.json +86 -3
  34. package/src/Dashboard.vue +459 -0
  35. package/src/DashboardGrid.vue +189 -0
  36. package/src/DesignGrid.vue +851 -0
  37. package/src/DesignItem.vue +124 -0
  38. package/src/Div.vue +419 -0
  39. package/src/Header.vue +501 -0
  40. package/src/Preview.vue +30 -0
  41. package/src/Tabs.vue +484 -0
  42. package/src/Title.vue +107 -0
  43. package/src/Widget.vue +354 -0
  44. package/src/chart-request-scope.js +22 -0
  45. package/src/design-target.js +55 -0
  46. package/src/grid/compact.js +81 -0
  47. package/src/grid/compat/GridItem.vue +30 -0
  48. package/src/grid/compat/GridLayout.vue +76 -0
  49. package/src/grid/designState.js +17 -0
  50. package/src/grid/engines.js +22 -0
  51. package/src/grid/geometry.js +55 -0
  52. package/src/grid/gridstackParams.js +72 -0
  53. package/src/grid/mixins.js +114 -0
  54. package/src/grid/model.js +259 -0
  55. package/src/grid/useViewportGate.js +57 -0
  56. package/src/index.js +28 -0
  57. package/src/layout-util.js +157 -0
  58. package/src/mobile-design.js +50 -0
  59. package/src/theme-style.js +185 -0
  60. package/types/div.d.ts +1 -0
  61. package/types/index.d.ts +7 -0
  62. package/types/tabs.d.ts +1 -0
  63. package/types/title.d.ts +1 -0
  64. package/types/widget.d.ts +1 -0
package/dist/style.css ADDED
@@ -0,0 +1,1009 @@
1
+ @charset "UTF-8";
2
+ /* BEM support Func
3
+ -------------------------- */
4
+ /* 53a8ff */
5
+ /* 66b1ff */
6
+ /* 79bbff */
7
+ /* 8cc5ff */
8
+ /* a0cfff */
9
+ /* b3d8ff */
10
+ /* c6e2ff */
11
+ /* d9ecff */
12
+ /* ecf5ff */
13
+ /* 链接颜色
14
+ -------------------------- */
15
+ /* Border
16
+ -------------------------- */
17
+ /*****BEM*********/
18
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
19
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
20
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
21
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
22
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
23
+ -------------------------- */
24
+ /* Break-points
25
+ -------------------------- */
26
+ /* Scrollbar
27
+ -------------------------- */
28
+ /* Placeholder
29
+ -------------------------- */
30
+ /* BEM
31
+ -------------------------- */
32
+ .header[data-v-370a2887] {
33
+ margin-bottom: 10px;
34
+ }
35
+ .header-inner[data-v-370a2887] {
36
+ display: flex;
37
+ justify-content: space-between;
38
+ align-items: center;
39
+ background: var(--epx-bg-card);
40
+ width: 100%;
41
+ height: 50px;
42
+ padding: 0 16px;
43
+ box-sizing: border-box;
44
+ }
45
+ .header-inner .title[data-v-370a2887] {
46
+ font-size: var(--epx-font-size-l);
47
+ color: #333333;
48
+ }
49
+ .header-inner .title i[data-v-370a2887] {
50
+ font-size: 22px;
51
+ position: relative;
52
+ top: 2px;
53
+ cursor: pointer;
54
+ vertical-align: baseline;
55
+ }
56
+ .header-inner .tabs[data-v-370a2887] {
57
+ display: flex;
58
+ flex: 1;
59
+ padding-left: 20px;
60
+ }
61
+ .header-inner .tab-item[data-v-370a2887] {
62
+ cursor: pointer;
63
+ font-size: var(--epx-font-size-l);
64
+ line-height: 1;
65
+ color: #666;
66
+ padding: 0 12px;
67
+ border-right: 1px solid #ccc;
68
+ }
69
+ .header-inner .tab-item.active[data-v-370a2887] {
70
+ color: rgba(var(--color-primary), 1);
71
+ }
72
+ .header-inner .tab-item.active[data-v-370a2887]:hover {
73
+ color: color-mix(in srgb, rgb(var(--color-primary)) 80%, #fff);
74
+ }
75
+ .header-inner .tab-item[data-v-370a2887]:last-child {
76
+ border: 0;
77
+ }
78
+ .header-inner .opera[data-v-370a2887] .el-button {
79
+ padding: 8px 16px;
80
+ }
81
+ .header-inner .opera .more[data-v-370a2887] {
82
+ font-size: var(--epx-font-size-xl);
83
+ padding: 5px 14px;
84
+ }
85
+ .header-inner .opera .opera-text[data-v-370a2887] {
86
+ border: 1px solid #999;
87
+ padding: 0 12px;
88
+ font-size: var(--epx-font-size-xl);
89
+ color: #8395a7;
90
+ line-height: 1;
91
+ cursor: pointer;
92
+ }
93
+ .header-inner .opera .opera-text i[data-v-370a2887] {
94
+ margin-right: 4px;
95
+ }
96
+ .header-inner .opera .opera-text[data-v-370a2887] {
97
+ margin-left: 24px;
98
+ }
99
+ .opera-item[data-v-370a2887] {
100
+ color: #444;
101
+ margin: 0;
102
+ }
103
+ .epx-header[data-v-370a2887] {
104
+ margin-bottom: 10px;
105
+ padding: 6px 12px;
106
+ display: flex;
107
+ }
108
+ .mobile-header[data-v-370a2887] {
109
+ background: var(--epx-bg-card);
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: space-between;
113
+ padding: 12px;
114
+ font-size: var(--epx-font-size-l);
115
+ color: #333;
116
+ border-bottom: 1px solid #e3e3e3;
117
+ }
118
+ .mobile-header .title[data-v-370a2887] {
119
+ line-height: 20px;
120
+ }
121
+ .mobile-header .title i[data-v-370a2887] {
122
+ font-size: var(--epx-font-size-xl);
123
+ margin: 0;
124
+ }
125
+ .mobile-header i[data-v-370a2887] {
126
+ font-size: 18px;
127
+ color: #666;
128
+ margin-left: 8px;
129
+ }
130
+ .setting-list li[data-v-370a2887] {
131
+ padding: 6px 8px;
132
+ border-bottom: 1px solid #e3e3e3;
133
+ }
134
+ .setting-list li i[data-v-370a2887] {
135
+ margin-right: 6px;
136
+ }
137
+ .setting-list li[data-v-370a2887]:last-child {
138
+ border: 0;
139
+ }
140
+ .help-dialog[data-v-370a2887] .el-dialog__header {
141
+ padding: 15px 20px;
142
+ font-size: var(--epx-font-size-l);
143
+ line-height: 20px;
144
+ }
145
+ .help-dialog[data-v-370a2887] .el-dialog__headerbtn {
146
+ top: 14px;
147
+ }
148
+ .help-dialog[data-v-370a2887] .el-dialog__body {
149
+ position: relative;
150
+ max-height: 70vh;
151
+ overflow: auto;
152
+ padding: 10px;
153
+ }
154
+ .help-dialog[data-v-370a2887] .is-fullscreen .el-dialog__body {
155
+ box-sizing: border-box;
156
+ height: calc(100% - 52px);
157
+ max-height: none;
158
+ }
159
+ .full-btn[data-v-370a2887] {
160
+ float: right;
161
+ font-size: var(--epx-font-size-base);
162
+ margin-right: 30px;
163
+ margin-top: 2px;
164
+ color: #999;
165
+ cursor: pointer;
166
+ }
167
+ @media screen and (max-width: 992px) {
168
+ .mobile-header[data-v-370a2887] {
169
+ margin: 10px !important;
170
+ margin-bottom: 0 !important;
171
+ }
172
+ .epx-header[data-v-370a2887] {
173
+ margin-bottom: 0;
174
+ position: relative;
175
+ }
176
+ .epx-header[data-v-370a2887]::after {
177
+ content: "";
178
+ position: absolute;
179
+ bottom: 0;
180
+ left: 0;
181
+ width: 100%;
182
+ height: 1px;
183
+ background: #e3e3e3;
184
+ transform: scaleY(0.5);
185
+ }
186
+ .epx-header[data-v-370a2887] .el-page-header__title {
187
+ display: none;
188
+ }
189
+ .epx-header[data-v-370a2887] .el-page-header__left {
190
+ margin-right: 0;
191
+ }
192
+ .epx-header[data-v-370a2887] .el-page-header__left::after {
193
+ display: none;
194
+ }
195
+ .epx-header[data-v-370a2887] .el-page-header__content {
196
+ flex: 1;
197
+ text-align: center;
198
+ font-size: var(--epx-font-size-l);
199
+ }
200
+ }
201
+ .menu-container[data-v-370a2887] {
202
+ display: flex;
203
+ flex-direction: column;
204
+ height: 100%;
205
+ }
206
+ .menu-container .menu[data-v-370a2887] {
207
+ flex: 1;
208
+ }
209
+ .menu-container .to-index[data-v-370a2887] {
210
+ flex-shrink: 0;
211
+ width: 100%;
212
+ height: 44px;
213
+ border-top: 1px solid #e3e3e3;
214
+ font-size: var(--epx-font-size-base);
215
+ color: rgba(var(--color-primary), 1);
216
+ }
217
+ .menu-container .to-index[data-v-370a2887]:hover {
218
+ color: color-mix(in srgb, rgb(var(--color-primary)) 80%, #fff);
219
+ }
220
+ .menu-container .to-index[data-v-370a2887] {
221
+ text-align: center;
222
+ line-height: 44px;
223
+ }
224
+ .menu-container .to-index i[data-v-370a2887] {
225
+ color: rgba(var(--color-primary), 1);
226
+ }
227
+ .menu-container .to-index i[data-v-370a2887]:hover {
228
+ color: color-mix(in srgb, rgb(var(--color-primary)) 80%, #fff);
229
+ }
230
+ .menu-container .to-index i[data-v-370a2887] {
231
+ position: relative;
232
+ top: 1px;
233
+ margin-right: 4px;
234
+ }
235
+ .allow-click[data-v-370a2887] {
236
+ cursor: pointer;
237
+ }
238
+ .allow-click[data-v-370a2887]:hover {
239
+ color: rgba(var(--color-primary), 1);
240
+ }
241
+ .allow-click[data-v-370a2887]:hover:hover {
242
+ color: color-mix(in srgb, rgb(var(--color-primary)) 80%, #fff);
243
+ }
244
+ .mobile-operate-btn[data-v-370a2887] {
245
+ color: rgba(var(--color-primary), 1);
246
+ }
247
+ .mobile-operate-btn[data-v-370a2887]:hover {
248
+ color: color-mix(in srgb, rgb(var(--color-primary)) 80%, #fff);
249
+ }
250
+ .mobile-operate-btn[data-v-370a2887] {
251
+ font-size: var(--epx-font-size-base);
252
+ }
253
+ .seach-flag[data-v-370a2887] .el-switch__label.is-active {
254
+ color: #333;
255
+ }
256
+ .search-fields[data-v-370a2887] {
257
+ border-top: 1px solid #F2F3F7;
258
+ }
259
+ /* BEM support Func
260
+ -------------------------- */
261
+ /* 53a8ff */
262
+ /* 66b1ff */
263
+ /* 79bbff */
264
+ /* 8cc5ff */
265
+ /* a0cfff */
266
+ /* b3d8ff */
267
+ /* c6e2ff */
268
+ /* d9ecff */
269
+ /* ecf5ff */
270
+ /* 链接颜色
271
+ -------------------------- */
272
+ /* Border
273
+ -------------------------- */
274
+ /*****BEM*********/
275
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
276
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
277
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
278
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
279
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
280
+ -------------------------- */
281
+ /* Break-points
282
+ -------------------------- */
283
+ /* Scrollbar
284
+ -------------------------- */
285
+ /* Placeholder
286
+ -------------------------- */
287
+ /* BEM
288
+ -------------------------- */
289
+ .epx-dashboard-grid {
290
+ position: relative;
291
+ width: 100%;
292
+ }
293
+ .epx-dashboard-grid__item {
294
+ position: absolute;
295
+ box-sizing: border-box;
296
+ }
297
+ .epx-dashboard-grid__item .epx-chart {
298
+ height: 100% !important;
299
+ min-height: 0 !important;
300
+ max-height: 100% !important;
301
+ overflow: hidden !important;
302
+ }
303
+ /* BEM support Func
304
+ -------------------------- */
305
+ /* 53a8ff */
306
+ /* 66b1ff */
307
+ /* 79bbff */
308
+ /* 8cc5ff */
309
+ /* a0cfff */
310
+ /* b3d8ff */
311
+ /* c6e2ff */
312
+ /* d9ecff */
313
+ /* ecf5ff */
314
+ /* 链接颜色
315
+ -------------------------- */
316
+ /* Border
317
+ -------------------------- */
318
+ /*****BEM*********/
319
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
320
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
321
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
322
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
323
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
324
+ -------------------------- */
325
+ /* Break-points
326
+ -------------------------- */
327
+ /* Scrollbar
328
+ -------------------------- */
329
+ /* Placeholder
330
+ -------------------------- */
331
+ /* BEM
332
+ -------------------------- */
333
+ .epx-dashboard {
334
+ width: 100%;
335
+ height: 100%;
336
+ overflow: auto;
337
+ overflow-x: hidden;
338
+ display: flex;
339
+ flex-direction: column;
340
+ }
341
+ .epx-dashboard--hidden-scroll-bar .epx-dashboard__container::-webkit-scrollbar-thumb {
342
+ background: none;
343
+ }
344
+ .epx-dashboard--hidden-scroll-bar .epx-dashboard__container::-webkit-scrollbar-thumb:hover {
345
+ background-color: rgba(95, 95, 95, 0.3);
346
+ }
347
+ .epx-dashboard__container {
348
+ width: 100%;
349
+ flex: 1;
350
+ overflow: auto;
351
+ }
352
+ .epx-dashboard__component-container {
353
+ width: 100%;
354
+ height: 100%;
355
+ overflow: visible;
356
+ }
357
+ .epx-dashboard__component {
358
+ height: 100%;
359
+ overflow: auto;
360
+ }
361
+ .epx-dashboard .epx-card-num__title {
362
+ color: inher;
363
+ }
364
+ @media only screen and (max-width: 992px) {
365
+ .epx-dashboard .epx-card-num {
366
+ padding: 12px;
367
+ }
368
+ .epx-dashboard .epx-card-num__title {
369
+ font-size: 13px;
370
+ }
371
+ .epx-dashboard .epx-card-num__num > font {
372
+ font-size: 22px;
373
+ }
374
+ .epx-dashboard .epx-chart__title {
375
+ font-size: 14px;
376
+ }
377
+ .epx-dashboard .epx-chart__header {
378
+ padding: 0 8px;
379
+ }
380
+ }
381
+ /* BEM support Func
382
+ -------------------------- */
383
+ /* 53a8ff */
384
+ /* 66b1ff */
385
+ /* 79bbff */
386
+ /* 8cc5ff */
387
+ /* a0cfff */
388
+ /* b3d8ff */
389
+ /* c6e2ff */
390
+ /* d9ecff */
391
+ /* ecf5ff */
392
+ /* 链接颜色
393
+ -------------------------- */
394
+ /* Border
395
+ -------------------------- */
396
+ /*****BEM*********/
397
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
398
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
399
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
400
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
401
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
402
+ -------------------------- */
403
+ /* Break-points
404
+ -------------------------- */
405
+ /* Scrollbar
406
+ -------------------------- */
407
+ /* Placeholder
408
+ -------------------------- */
409
+ /* BEM
410
+ -------------------------- */
411
+ /* BEM support Func
412
+ -------------------------- */
413
+ /* 53a8ff */
414
+ /* 66b1ff */
415
+ /* 79bbff */
416
+ /* 8cc5ff */
417
+ /* a0cfff */
418
+ /* b3d8ff */
419
+ /* c6e2ff */
420
+ /* d9ecff */
421
+ /* ecf5ff */
422
+ /* 链接颜色
423
+ -------------------------- */
424
+ /* Border
425
+ -------------------------- */
426
+ /*****BEM*********/
427
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
428
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
429
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
430
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
431
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
432
+ -------------------------- */
433
+ /* Break-points
434
+ -------------------------- */
435
+ /* Scrollbar
436
+ -------------------------- */
437
+ /* Placeholder
438
+ -------------------------- */
439
+ /* BEM
440
+ -------------------------- */
441
+ .epx-dashboard-design-grid {
442
+ position: relative;
443
+ min-height: 60px;
444
+ user-select: none;
445
+ }
446
+ .epx-dashboard-design-grid--root {
447
+ isolation: isolate;
448
+ }
449
+ .epx-dashboard-design-grid__stack {
450
+ min-height: var(--epx-design-grid-min-height, 60px);
451
+ }
452
+ .epx-dashboard-design-grid > .epx-dashboard-design-grid__float {
453
+ position: absolute;
454
+ top: 0;
455
+ left: 0;
456
+ z-index: 500;
457
+ pointer-events: none;
458
+ }
459
+ .epx-dashboard-design-grid > .epx-dashboard-design-grid__float > .grid-stack-item {
460
+ pointer-events: auto;
461
+ }
462
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item > .grid-stack-item-content::after {
463
+ content: "";
464
+ position: absolute;
465
+ inset: 0;
466
+ border: 1px dashed transparent;
467
+ pointer-events: none;
468
+ z-index: 601;
469
+ }
470
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item:hover > .grid-stack-item-content::after, .epx-dashboard-design-grid .grid-stack > .grid-stack-item.epx-dashboard-design-grid__item--selected > .grid-stack-item-content::after {
471
+ border-color: rgba(var(--color-primary), 1);
472
+ }
473
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item:has(.grid-stack-item:hover, .grid-stack-item.epx-dashboard-design-grid__item--selected) > .grid-stack-item-content::after {
474
+ border-color: transparent !important;
475
+ }
476
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item:has(.grid-stack-item:hover, .grid-stack-item.epx-dashboard-design-grid__item--selected) > .grid-stack-item-content > .epx-dashboard-design-item > .epx-dashboard-design-item__handle,
477
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item:has(.grid-stack-item:hover, .grid-stack-item.epx-dashboard-design-grid__item--selected) > .grid-stack-item-content > .epx-dashboard-design-item > .epx-dashboard-design-item__operates {
478
+ display: none !important;
479
+ }
480
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item.epx-dashboard-design-grid__item--selected {
481
+ z-index: 600 !important;
482
+ }
483
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item.ui-draggable-dragging,
484
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item.ui-resizable-resizing {
485
+ z-index: 10000 !important;
486
+ }
487
+ .epx-dashboard-design-grid--dragging .epx-dashboard-design-grid__float > .grid-stack-item {
488
+ pointer-events: none;
489
+ }
490
+ .epx-dashboard-design-grid--dragging .grid-stack > .grid-stack-item > .grid-stack-item-content::after {
491
+ border-color: transparent !important;
492
+ }
493
+ .epx-dashboard-design-grid--dragging .epx-dashboard-design-item__handle,
494
+ .epx-dashboard-design-grid--dragging .epx-dashboard-design-item__operates {
495
+ display: none !important;
496
+ }
497
+ .epx-dashboard-design-grid .grid-stack > .grid-stack-item > .grid-stack-item-content {
498
+ overflow: visible;
499
+ }
500
+ .epx-dashboard-design-grid .grid-stack-item-content > .epx-dashboard-design-item > .epx-dashboard-design-item__body {
501
+ height: 100%;
502
+ overflow: hidden;
503
+ }
504
+ .epx-dashboard-design-grid .grid-stack-item-content > .epx-dashboard-design-item .drag-component,
505
+ .epx-dashboard-design-grid .grid-stack-item-content > .epx-dashboard-design-item .epx-chart {
506
+ height: 100% !important;
507
+ min-height: 0 !important;
508
+ max-height: 100% !important;
509
+ overflow: hidden !important;
510
+ }
511
+ .epx-dashboard-design-grid .grid-stack-item-content > .dashboard-component {
512
+ height: 100% !important;
513
+ overflow: hidden !important;
514
+ }
515
+ .epx-dashboard-design-grid .grid-stack-item-content > .dashboard-component .epx-chart {
516
+ height: 100% !important;
517
+ min-height: 0 !important;
518
+ max-height: 100% !important;
519
+ overflow: hidden !important;
520
+ }
521
+ .epx-dashboard-design-grid .grid-stack-item.ui-draggable-dragging,
522
+ .epx-dashboard-design-grid .grid-stack-item.ui-draggable-dragging * {
523
+ pointer-events: none !important;
524
+ }
525
+ .epx-dashboard-design-grid .grid-stack-placeholder {
526
+ pointer-events: none;
527
+ }
528
+ /* BEM support Func
529
+ -------------------------- */
530
+ /* 53a8ff */
531
+ /* 66b1ff */
532
+ /* 79bbff */
533
+ /* 8cc5ff */
534
+ /* a0cfff */
535
+ /* b3d8ff */
536
+ /* c6e2ff */
537
+ /* d9ecff */
538
+ /* ecf5ff */
539
+ /* 链接颜色
540
+ -------------------------- */
541
+ /* Border
542
+ -------------------------- */
543
+ /*****BEM*********/
544
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
545
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
546
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
547
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
548
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
549
+ -------------------------- */
550
+ /* Break-points
551
+ -------------------------- */
552
+ /* Scrollbar
553
+ -------------------------- */
554
+ /* Placeholder
555
+ -------------------------- */
556
+ /* BEM
557
+ -------------------------- */
558
+ .epx-dashboard-design-item {
559
+ position: relative;
560
+ height: 100%;
561
+ box-sizing: border-box;
562
+ }
563
+ .epx-dashboard-design-item:hover > .epx-dashboard-design-item__handle, .epx-dashboard-design-item.epx-dashboard-design-item--active > .epx-dashboard-design-item__handle {
564
+ display: block;
565
+ }
566
+ .epx-dashboard-design-item:hover > .epx-dashboard-design-item__operates, .epx-dashboard-design-item.epx-dashboard-design-item--active > .epx-dashboard-design-item__operates {
567
+ display: flex;
568
+ }
569
+ .epx-dashboard-design-item__body {
570
+ height: 100%;
571
+ }
572
+ .epx-dashboard-design-item__handle {
573
+ position: absolute;
574
+ display: none;
575
+ width: 6px;
576
+ height: 6px;
577
+ border-radius: 50%;
578
+ pointer-events: none;
579
+ z-index: 2;
580
+ background-color: rgba(var(--color-primary), 1);
581
+ }
582
+ .epx-dashboard-design-item__float {
583
+ display: block;
584
+ width: 20px;
585
+ font-size: var(--epx-font-size-base);
586
+ line-height: 20px;
587
+ text-align: center;
588
+ color: #fff;
589
+ cursor: pointer;
590
+ border-radius: 2px;
591
+ }
592
+ .epx-dashboard-design-item__float.is-on {
593
+ color: #0874E7;
594
+ background: #fff;
595
+ }
596
+ .epx-dashboard-design-item__operates {
597
+ position: absolute;
598
+ top: 24px;
599
+ right: 12px;
600
+ display: none;
601
+ align-items: center;
602
+ gap: 4px;
603
+ padding: 0 4px;
604
+ background: #0874E7;
605
+ border-radius: 4px;
606
+ z-index: 200;
607
+ }
608
+ .epx-dashboard-design-item__handle--n {
609
+ top: -3px;
610
+ left: 50%;
611
+ margin-left: -3px;
612
+ }
613
+ .epx-dashboard-design-item__handle--s {
614
+ bottom: -3px;
615
+ left: 50%;
616
+ margin-left: -3px;
617
+ }
618
+ .epx-dashboard-design-item__handle--e {
619
+ right: -3px;
620
+ top: 50%;
621
+ margin-top: -3px;
622
+ }
623
+ .epx-dashboard-design-item__handle--w {
624
+ left: -3px;
625
+ top: 50%;
626
+ margin-top: -3px;
627
+ }
628
+ .epx-dashboard-design-item__handle--ne {
629
+ top: -3px;
630
+ right: -3px;
631
+ }
632
+ .epx-dashboard-design-item__handle--nw {
633
+ top: -3px;
634
+ left: -3px;
635
+ }
636
+ .epx-dashboard-design-item__handle--se {
637
+ bottom: -3px;
638
+ right: -3px;
639
+ }
640
+ .epx-dashboard-design-item__handle--sw {
641
+ bottom: -3px;
642
+ left: -3px;
643
+ }
644
+ .epx-dashboard-design-grid .grid-stack-item > .ui-resizable-handle {
645
+ background-image: none;
646
+ transform: none;
647
+ }
648
+ /* BEM support Func
649
+ -------------------------- */
650
+ /* 53a8ff */
651
+ /* 66b1ff */
652
+ /* 79bbff */
653
+ /* 8cc5ff */
654
+ /* a0cfff */
655
+ /* b3d8ff */
656
+ /* c6e2ff */
657
+ /* d9ecff */
658
+ /* ecf5ff */
659
+ /* 链接颜色
660
+ -------------------------- */
661
+ /* Border
662
+ -------------------------- */
663
+ /*****BEM*********/
664
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
665
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
666
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
667
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
668
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
669
+ -------------------------- */
670
+ /* Break-points
671
+ -------------------------- */
672
+ /* Scrollbar
673
+ -------------------------- */
674
+ /* Placeholder
675
+ -------------------------- */
676
+ /* BEM
677
+ -------------------------- */
678
+ div.container[data-v-668cf4f9] {
679
+ height: 100%;
680
+ pointer-events: all !important;
681
+ }
682
+ div.container.is-design[data-v-668cf4f9] {
683
+ display: flex;
684
+ flex-direction: column;
685
+ }
686
+ div.container.is-design > .epx-chart__header[data-v-668cf4f9] {
687
+ flex: none;
688
+ }
689
+ .epx-dashboard-div__design-body[data-v-668cf4f9] {
690
+ flex: 1;
691
+ min-height: 0;
692
+ overflow: auto;
693
+ }
694
+ .epx-dashboard-div__grid[data-v-668cf4f9] {
695
+ min-height: 100%;
696
+ }
697
+ .drag-component[data-v-668cf4f9] {
698
+ width: 100%;
699
+ height: 100%;
700
+ overflow: auto;
701
+ }
702
+ .is-design .drag-component[data-v-668cf4f9] > * {
703
+ pointer-events: none;
704
+ }
705
+ .component-operate__item[data-v-668cf4f9] {
706
+ display: block;
707
+ font-size: var(--epx-font-size-base);
708
+ color: #fff;
709
+ line-height: 20px;
710
+ text-align: center;
711
+ cursor: pointer;
712
+ margin: 2px 0;
713
+ }
714
+ .componnet-dropdown .component-operate__item[data-v-668cf4f9] {
715
+ width: 20px;
716
+ margin-top: 0;
717
+ }
718
+ /* BEM support Func
719
+ -------------------------- */
720
+ /* 53a8ff */
721
+ /* 66b1ff */
722
+ /* 79bbff */
723
+ /* 8cc5ff */
724
+ /* a0cfff */
725
+ /* b3d8ff */
726
+ /* c6e2ff */
727
+ /* d9ecff */
728
+ /* ecf5ff */
729
+ /* 链接颜色
730
+ -------------------------- */
731
+ /* Border
732
+ -------------------------- */
733
+ /*****BEM*********/
734
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
735
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
736
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
737
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
738
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
739
+ -------------------------- */
740
+ /* Break-points
741
+ -------------------------- */
742
+ /* Scrollbar
743
+ -------------------------- */
744
+ /* Placeholder
745
+ -------------------------- */
746
+ /* BEM
747
+ -------------------------- */
748
+ .epx-dashboard-div {
749
+ background: var(--epx-bg-card);
750
+ }
751
+ .epx-dashboard-div--dark {
752
+ background: rgba(255, 255, 255, 0.1);
753
+ }
754
+ .epx-dashboard-div--dark .epx-dashboard-div__title {
755
+ color: rgba(255, 255, 255, 0.8);
756
+ }
757
+ .epx-dashboard-div--dark .epx-dashboard-div__num {
758
+ color: #fff;
759
+ }
760
+ .epx-dashboard-div--dark .epx-dashboard-div__num > font {
761
+ color: #fff;
762
+ }
763
+ .epx-dashboard-div--technology {
764
+ background: rgba(255, 255, 255, 0.1);
765
+ backdrop-filter: blur(4px);
766
+ position: relative;
767
+ }
768
+ .epx-dashboard-div--technology.is-design {
769
+ backdrop-filter: none;
770
+ }
771
+ .epx-dashboard-div--technology::before {
772
+ content: "";
773
+ position: absolute;
774
+ top: 0;
775
+ display: block;
776
+ width: 100%;
777
+ height: 1px;
778
+ background: linear-gradient(90deg, rgba(45, 164, 247, 0) 0%, #2DA4F7 50%, rgba(45, 164, 247, 0) 100%);
779
+ opacity: 0.5;
780
+ }
781
+ .epx-dashboard-div--technology .epx-chart__header-icon {
782
+ width: 40px;
783
+ background: url("data:image/png;base64,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") no-repeat center;
784
+ background-size: 100% 100%;
785
+ }
786
+ .epx-dashboard-div--technology .epx-chart__header-icon::after {
787
+ display: none;
788
+ }
789
+ .vgl-layout.epx-dashboard-grid-compat { position: relative; width: 100%;
790
+ }
791
+ /* 旧库的 grid-item 自带 box-sizing: border-box,复刻模板给 grid-item 加 border / padding 时盒子不撑大 */
792
+ .vgl-layout.epx-dashboard-grid-compat .vgl-item { box-sizing: border-box;
793
+ }
794
+
795
+ /* BEM support Func
796
+ -------------------------- */
797
+ /* 53a8ff */
798
+ /* 66b1ff */
799
+ /* 79bbff */
800
+ /* 8cc5ff */
801
+ /* a0cfff */
802
+ /* b3d8ff */
803
+ /* c6e2ff */
804
+ /* d9ecff */
805
+ /* ecf5ff */
806
+ /* 链接颜色
807
+ -------------------------- */
808
+ /* Border
809
+ -------------------------- */
810
+ /*****BEM*********/
811
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
812
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
813
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
814
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
815
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
816
+ -------------------------- */
817
+ /* Break-points
818
+ -------------------------- */
819
+ /* Scrollbar
820
+ -------------------------- */
821
+ /* Placeholder
822
+ -------------------------- */
823
+ /* BEM
824
+ -------------------------- */
825
+ div.container[data-v-503fe9af] {
826
+ height: 100%;
827
+ pointer-events: all !important;
828
+ }
829
+ .tabs[data-v-503fe9af] {
830
+ height: 100%;
831
+ }
832
+ .tabs[data-v-503fe9af] .el-tabs__content {
833
+ height: calc(100% - 58px);
834
+ }
835
+ .tabs[data-v-503fe9af] .el-tab-pane {
836
+ height: 100%;
837
+ overflow: auto;
838
+ }
839
+ .tabs[data-v-503fe9af] .el-tabs__item {
840
+ color: inherit;
841
+ }
842
+ .drag-element[data-v-503fe9af] .el-tab-pane {
843
+ border: 1px dashed;
844
+ border-color: rgba(var(--color-primary), 1);
845
+ }
846
+ .epx-dashboard-tabs__grid[data-v-503fe9af] {
847
+ min-height: 100%;
848
+ }
849
+ .drag-component[data-v-503fe9af] {
850
+ width: 100%;
851
+ height: 100%;
852
+ overflow: auto;
853
+ }
854
+ .is-design .drag-component[data-v-503fe9af] > * {
855
+ pointer-events: none;
856
+ }
857
+ .component-operate__item[data-v-503fe9af] {
858
+ display: block;
859
+ font-size: var(--epx-font-size-base);
860
+ color: #fff;
861
+ line-height: 20px;
862
+ text-align: center;
863
+ cursor: pointer;
864
+ margin: 2px 0;
865
+ }
866
+ .componnet-dropdown .component-operate__item[data-v-503fe9af] {
867
+ width: 20px;
868
+ margin-top: 0;
869
+ }
870
+ .edit-tab__input[data-v-503fe9af] {
871
+ border: none;
872
+ outline: none;
873
+ }
874
+ /* BEM support Func
875
+ -------------------------- */
876
+ /* 53a8ff */
877
+ /* 66b1ff */
878
+ /* 79bbff */
879
+ /* 8cc5ff */
880
+ /* a0cfff */
881
+ /* b3d8ff */
882
+ /* c6e2ff */
883
+ /* d9ecff */
884
+ /* ecf5ff */
885
+ /* 链接颜色
886
+ -------------------------- */
887
+ /* Border
888
+ -------------------------- */
889
+ /*****BEM*********/
890
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
891
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
892
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
893
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
894
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
895
+ -------------------------- */
896
+ /* Break-points
897
+ -------------------------- */
898
+ /* Scrollbar
899
+ -------------------------- */
900
+ /* Placeholder
901
+ -------------------------- */
902
+ /* BEM
903
+ -------------------------- */
904
+ .epx-dashboard-title {
905
+ height: 100%;
906
+ vertical-align: middle;
907
+ display: flex;
908
+ flex-direction: column;
909
+ align-items: center;
910
+ justify-content: space-around;
911
+ text-align: center;
912
+ }
913
+ .epx-dashboard-title i {
914
+ margin-right: 4px;
915
+ }
916
+ .epx-dashboard-title__sub-title {
917
+ margin: 4px 0 0;
918
+ font-size: 12px;
919
+ color: var(--color-text-assistant);
920
+ }
921
+ .epx-dashboard-title--dark {
922
+ color: rgba(255, 255, 255, 0.8);
923
+ }
924
+ .epx-dashboard-title--dark .epx-dashboard-title__sub-title {
925
+ color: rgba(255, 255, 255, 0.5);
926
+ }
927
+ .epx-dashboard-title--technology {
928
+ color: rgba(255, 255, 255, 0.8);
929
+ }
930
+ .epx-dashboard-title--technology .epx-dashboard-title__sub-title {
931
+ color: rgba(255, 255, 255, 0.5);
932
+ }
933
+ @media only screen and (max-width: 992px) {
934
+ .epx-dashboard-title h1 {
935
+ font-size: 1.5em;
936
+ }
937
+ .epx-dashboard-title h2 {
938
+ font-size: 1.25em;
939
+ }
940
+ .epx-dashboard-title h3 {
941
+ font-size: 1em;
942
+ }
943
+ }
944
+ /* BEM support Func
945
+ -------------------------- */
946
+ /* 53a8ff */
947
+ /* 66b1ff */
948
+ /* 79bbff */
949
+ /* 8cc5ff */
950
+ /* a0cfff */
951
+ /* b3d8ff */
952
+ /* c6e2ff */
953
+ /* d9ecff */
954
+ /* ecf5ff */
955
+ /* 链接颜色
956
+ -------------------------- */
957
+ /* Border
958
+ -------------------------- */
959
+ /*****BEM*********/
960
+ /* 主题色 mixin —— 已塌缩为 CSS 变量单条规则
961
+ 原实现每个 mixin 经 @each 展开 12 套 [data-theme=x] 规则,346 个调用点 ≈4500 条规则,
962
+ 是组件库 CSS 体积大头。现依赖上方每套主题的 --color-primary(RGB 三元组):
963
+ 透明度走 rgba(var(--color-primary), a);混合色走原生 color-mix(同 EP tokens 先例,
964
+ 平台 Chrome 支持)。签名不变,346 个调用点零改动。
965
+ -------------------------- */
966
+ /* Break-points
967
+ -------------------------- */
968
+ /* Scrollbar
969
+ -------------------------- */
970
+ /* Placeholder
971
+ -------------------------- */
972
+ /* BEM
973
+ -------------------------- */
974
+ .dashboard[data-v-d068f7d2] {
975
+ width: 100%;
976
+ height: 100%;
977
+ overflow: auto;
978
+ overflow-x: hidden;
979
+ display: flex;
980
+ flex-direction: column;
981
+ }
982
+ .dashboard .base-page[data-v-d068f7d2] {
983
+ position: static;
984
+ overflow-x: hidden;
985
+ padding: 0;
986
+ }
987
+ .dashboard--hidden-scroll-bar .dashboard-container[data-v-d068f7d2]::-webkit-scrollbar-thumb {
988
+ background: none;
989
+ }
990
+ .dashboard--hidden-scroll-bar .dashboard-container[data-v-d068f7d2]::-webkit-scrollbar-thumb:hover {
991
+ background-color: rgba(95, 95, 95, 0.3);
992
+ }
993
+ .dashboard-container[data-v-d068f7d2] {
994
+ width: 100%;
995
+ flex: 1;
996
+ overflow: auto;
997
+ }
998
+ .dashboard-component[data-v-d068f7d2] {
999
+ width: 100%;
1000
+ height: 100%;
1001
+ overflow: auto;
1002
+ }
1003
+ .dashboard--dark .dashboard-container[data-v-d068f7d2] {
1004
+ background: #151C3D;
1005
+ }
1006
+ .dashboard--technology .dashboard-container[data-v-d068f7d2] {
1007
+ background: url("./assets/technology_bg-oWIS2awO.jpg") no-repeat center;
1008
+ background-size: cover;
1009
+ }