@ccn-ui-kit/ui-kit 0.1.2 → 0.1.3

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.
package/dist/style.css ADDED
@@ -0,0 +1,2322 @@
1
+ :root {
2
+ --ui-color-primary: #409eff;
3
+ --ui-color-success: #67c23a;
4
+ --ui-color-warning: #e6a23c;
5
+ --ui-color-danger: #f56c6c;
6
+ --ui-color-info: #909399;
7
+ --ui-font-size-base: 14px;
8
+ --ui-border-radius-base: 4px;
9
+ }
10
+
11
+ *,
12
+ *::before,
13
+ *::after {
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ .ui-button {
18
+ display: inline-flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ padding: 8px 16px;
22
+ font-size: var(--ui-font-size-base);
23
+ border-radius: var(--ui-border-radius-base);
24
+ border: 1px solid transparent;
25
+ cursor: pointer;
26
+ transition: all 0.2s;
27
+ }
28
+ .ui-button--primary {
29
+ background: var(--ui-color-primary);
30
+ color: #fff;
31
+ }
32
+ .ui-button--large {
33
+ padding: 12px 20px;
34
+ }
35
+ .ui-button--small {
36
+ padding: 6px 12px;
37
+ }
38
+ .ui-button.is-disabled {
39
+ opacity: 0.5;
40
+ cursor: not-allowed;
41
+ }
42
+
43
+ .ui-icon {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ line-height: 1;
48
+ }
49
+ .ui-icon svg {
50
+ display: block;
51
+ width: 1em;
52
+ height: 1em;
53
+ }
54
+ .ui-icon.is-spin {
55
+ animation: ui-icon-spin 1s linear infinite;
56
+ }
57
+
58
+ @keyframes ui-icon-spin {
59
+ from {
60
+ transform: rotate(0deg);
61
+ }
62
+ to {
63
+ transform: rotate(360deg);
64
+ }
65
+ }
66
+ .ui-input {
67
+ display: inline-flex;
68
+ align-items: center;
69
+ }
70
+ .ui-input__inner {
71
+ padding: 8px 12px;
72
+ font-size: var(--ui-font-size-base);
73
+ border-radius: var(--ui-border-radius-base);
74
+ border: 1px solid #dcdfe6;
75
+ outline: none;
76
+ transition: border-color 0.2s;
77
+ }
78
+ .ui-input__inner:focus {
79
+ border-color: var(--ui-color-primary);
80
+ }
81
+ .ui-input.is-disabled {
82
+ opacity: 0.5;
83
+ cursor: not-allowed;
84
+ }
85
+
86
+ .ui-link {
87
+ display: inline-flex;
88
+ align-items: center;
89
+ gap: 4px;
90
+ color: var(--ui-color-primary);
91
+ font-size: var(--ui-font-size-base);
92
+ text-decoration: none;
93
+ cursor: pointer;
94
+ transition: color 0.2s, opacity 0.2s;
95
+ }
96
+ .ui-link:hover {
97
+ opacity: 0.85;
98
+ }
99
+ .ui-link:hover.is-underline {
100
+ text-decoration: underline;
101
+ }
102
+ .ui-link--primary {
103
+ color: var(--ui-color-primary);
104
+ }
105
+ .ui-link--success {
106
+ color: var(--ui-color-success);
107
+ }
108
+ .ui-link--warning {
109
+ color: var(--ui-color-warning);
110
+ }
111
+ .ui-link--danger {
112
+ color: var(--ui-color-danger);
113
+ }
114
+ .ui-link--info {
115
+ color: var(--ui-color-info);
116
+ }
117
+ .ui-link.is-disabled {
118
+ color: var(--ui-color-info);
119
+ cursor: not-allowed;
120
+ opacity: 0.5;
121
+ }
122
+ .ui-link.is-disabled:hover {
123
+ opacity: 0.5;
124
+ text-decoration: none;
125
+ }
126
+
127
+ .ui-loading {
128
+ position: absolute;
129
+ inset: 0;
130
+ z-index: 10;
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ background: rgba(255, 255, 255, 0.7);
135
+ }
136
+ .ui-loading--fullscreen {
137
+ position: fixed;
138
+ z-index: 2000;
139
+ }
140
+ .ui-loading__spinner {
141
+ display: flex;
142
+ flex-direction: column;
143
+ align-items: center;
144
+ gap: 8px;
145
+ }
146
+ .ui-loading__spinner-icon {
147
+ width: 28px;
148
+ height: 28px;
149
+ border: 3px solid var(--ui-color-primary);
150
+ border-top-color: transparent;
151
+ border-radius: 50%;
152
+ animation: ui-loading-rotate 0.8s linear infinite;
153
+ }
154
+ .ui-loading__text {
155
+ margin: 0;
156
+ font-size: var(--ui-font-size-base);
157
+ color: var(--ui-color-info);
158
+ }
159
+
160
+ @keyframes ui-loading-rotate {
161
+ to {
162
+ transform: rotate(360deg);
163
+ }
164
+ }
165
+ .ui-badge {
166
+ position: relative;
167
+ display: inline-block;
168
+ vertical-align: middle;
169
+ }
170
+ .ui-badge__content {
171
+ position: absolute;
172
+ top: -4px;
173
+ right: -4px;
174
+ z-index: 1;
175
+ transform: translate(50%, -50%);
176
+ display: inline-flex;
177
+ align-items: center;
178
+ justify-content: center;
179
+ min-width: 18px;
180
+ height: 18px;
181
+ padding: 0 6px;
182
+ box-sizing: border-box;
183
+ border-radius: 9px;
184
+ background: var(--ui-color-danger);
185
+ color: #fff;
186
+ font-size: 12px;
187
+ line-height: 1;
188
+ text-align: center;
189
+ white-space: nowrap;
190
+ }
191
+ .ui-badge__content.is-dot {
192
+ width: 8px;
193
+ min-width: 8px;
194
+ height: 8px;
195
+ padding: 0;
196
+ border-radius: 50%;
197
+ }
198
+ .ui-badge--primary {
199
+ background: var(--ui-color-primary);
200
+ }
201
+ .ui-badge--success {
202
+ background: var(--ui-color-success);
203
+ }
204
+ .ui-badge--warning {
205
+ background: var(--ui-color-warning);
206
+ }
207
+ .ui-badge--danger {
208
+ background: var(--ui-color-danger);
209
+ }
210
+ .ui-badge--info {
211
+ background: var(--ui-color-info);
212
+ }
213
+
214
+ .ui-breadcrumb {
215
+ font-size: var(--ui-font-size-base);
216
+ }
217
+ .ui-breadcrumb__list {
218
+ display: flex;
219
+ align-items: center;
220
+ flex-wrap: wrap;
221
+ margin: 0;
222
+ padding: 0;
223
+ list-style: none;
224
+ }
225
+ .ui-breadcrumb__item {
226
+ display: inline-flex;
227
+ align-items: center;
228
+ color: var(--ui-color-info);
229
+ }
230
+ .ui-breadcrumb__item:last-child .ui-breadcrumb__separator {
231
+ display: none;
232
+ }
233
+ .ui-breadcrumb__inner {
234
+ display: inline-flex;
235
+ align-items: center;
236
+ color: inherit;
237
+ text-decoration: none;
238
+ transition: color 0.2s;
239
+ }
240
+ .ui-breadcrumb__inner[href]:hover {
241
+ color: var(--ui-color-primary);
242
+ }
243
+ .ui-breadcrumb__separator {
244
+ margin: 0 8px;
245
+ color: #c0c4cc;
246
+ user-select: none;
247
+ }
248
+
249
+ .ui-date-picker {
250
+ position: relative;
251
+ display: inline-block;
252
+ }
253
+ .ui-date-picker__trigger {
254
+ position: relative;
255
+ }
256
+ .ui-date-picker__inner {
257
+ width: 100%;
258
+ padding: 8px 12px;
259
+ font-size: var(--ui-font-size-base);
260
+ border-radius: var(--ui-border-radius-base);
261
+ border: 1px solid #dcdfe6;
262
+ outline: none;
263
+ cursor: pointer;
264
+ transition: border-color 0.2s;
265
+ }
266
+ .ui-date-picker__inner:focus {
267
+ border-color: var(--ui-color-primary);
268
+ }
269
+ .ui-date-picker.is-disabled .ui-date-picker__inner {
270
+ opacity: 0.5;
271
+ cursor: not-allowed;
272
+ }
273
+ .ui-date-picker__clear {
274
+ position: absolute;
275
+ top: 50%;
276
+ right: 10px;
277
+ transform: translateY(-50%);
278
+ color: #c0c4cc;
279
+ cursor: pointer;
280
+ }
281
+ .ui-date-picker__clear:hover {
282
+ color: #909399;
283
+ }
284
+
285
+ .ui-date-panel {
286
+ position: absolute;
287
+ top: calc(100% + 4px);
288
+ left: 0;
289
+ z-index: 10;
290
+ width: 280px;
291
+ padding: 12px;
292
+ background: #fff;
293
+ border: 1px solid #e4e7ed;
294
+ border-radius: var(--ui-border-radius-base);
295
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
296
+ }
297
+ .ui-date-panel__header {
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: space-between;
301
+ margin-bottom: 8px;
302
+ }
303
+ .ui-date-panel__title {
304
+ font-size: 14px;
305
+ font-weight: 600;
306
+ }
307
+ .ui-date-panel__title--back {
308
+ cursor: pointer;
309
+ }
310
+ .ui-date-panel__year-link, .ui-date-panel__month-link {
311
+ padding: 0 4px;
312
+ border-radius: var(--ui-border-radius-base);
313
+ cursor: pointer;
314
+ }
315
+ .ui-date-panel__year-link:hover, .ui-date-panel__month-link:hover {
316
+ background: #f5f7fa;
317
+ }
318
+ .ui-date-panel__arrow {
319
+ border: none;
320
+ background: none;
321
+ font-size: 16px;
322
+ color: var(--ui-color-info);
323
+ cursor: pointer;
324
+ }
325
+ .ui-date-panel__arrow:hover {
326
+ color: var(--ui-color-primary);
327
+ }
328
+ .ui-date-panel__week {
329
+ display: grid;
330
+ grid-template-columns: repeat(7, 1fr);
331
+ margin-bottom: 4px;
332
+ }
333
+ .ui-date-panel__week-cell {
334
+ padding: 4px 0;
335
+ text-align: center;
336
+ font-size: 12px;
337
+ color: #909399;
338
+ }
339
+ .ui-date-panel__body {
340
+ display: grid;
341
+ grid-template-columns: repeat(7, 1fr);
342
+ gap: 2px;
343
+ }
344
+ .ui-date-panel__cell {
345
+ display: flex;
346
+ align-items: center;
347
+ justify-content: center;
348
+ height: 32px;
349
+ font-size: 13px;
350
+ border-radius: var(--ui-border-radius-base);
351
+ cursor: pointer;
352
+ transition: background 0.2s;
353
+ }
354
+ .ui-date-panel__cell:hover {
355
+ background: #f5f7fa;
356
+ }
357
+ .ui-date-panel__cell.is-other {
358
+ color: #c0c4cc;
359
+ }
360
+ .ui-date-panel__cell.is-today {
361
+ color: var(--ui-color-primary);
362
+ font-weight: 600;
363
+ }
364
+ .ui-date-panel__cell.is-selected, .ui-date-panel__cell.is-selected:hover {
365
+ background: var(--ui-color-primary);
366
+ color: #fff;
367
+ }
368
+ .ui-date-panel__year-body, .ui-date-panel__month-body {
369
+ display: grid;
370
+ grid-template-columns: repeat(4, 1fr);
371
+ gap: 4px;
372
+ }
373
+ .ui-date-panel__year-cell, .ui-date-panel__month-cell {
374
+ display: flex;
375
+ align-items: center;
376
+ justify-content: center;
377
+ height: 40px;
378
+ font-size: 13px;
379
+ border-radius: var(--ui-border-radius-base);
380
+ cursor: pointer;
381
+ transition: background 0.2s;
382
+ }
383
+ .ui-date-panel__year-cell:hover, .ui-date-panel__month-cell:hover {
384
+ background: #f5f7fa;
385
+ }
386
+ .ui-date-panel__year-cell.is-current, .ui-date-panel__month-cell.is-current {
387
+ color: var(--ui-color-primary);
388
+ font-weight: 600;
389
+ }
390
+
391
+ .ui-descriptions {
392
+ font-size: var(--ui-font-size-base);
393
+ color: #303133;
394
+ }
395
+ .ui-descriptions__title {
396
+ margin-bottom: 20px;
397
+ font-size: 18px;
398
+ font-weight: 600;
399
+ line-height: 1.4;
400
+ color: #1f2d3d;
401
+ }
402
+ .ui-descriptions__body {
403
+ display: grid;
404
+ }
405
+ .ui-descriptions__item {
406
+ display: flex;
407
+ align-items: stretch;
408
+ min-height: 36px;
409
+ padding: 10px 14px;
410
+ box-sizing: border-box;
411
+ }
412
+ .ui-descriptions__label {
413
+ display: flex;
414
+ align-items: center;
415
+ flex-shrink: 0;
416
+ margin-right: 14px;
417
+ color: #606266;
418
+ font-weight: 500;
419
+ }
420
+ .ui-descriptions__content {
421
+ display: flex;
422
+ align-items: center;
423
+ flex: 1;
424
+ min-width: 0;
425
+ color: #303133;
426
+ }
427
+ .ui-descriptions.is-bordered {
428
+ border: 1px solid #e4e7ed;
429
+ border-radius: 8px;
430
+ overflow: hidden;
431
+ }
432
+ .ui-descriptions.is-bordered .ui-descriptions__item {
433
+ min-height: 44px;
434
+ padding: 0;
435
+ border-right: 1px solid #e4e7ed;
436
+ border-bottom: 1px solid #e4e7ed;
437
+ background-color: #fff;
438
+ }
439
+ .ui-descriptions.is-bordered .ui-descriptions__label {
440
+ align-self: stretch;
441
+ margin-right: 0;
442
+ padding: 10px 14px;
443
+ background-color: #f5f7fa;
444
+ border-right: 1px solid #e4e7ed;
445
+ color: #606266;
446
+ font-weight: 600;
447
+ min-width: 100px;
448
+ }
449
+ .ui-descriptions.is-bordered .ui-descriptions__content {
450
+ padding: 10px 14px;
451
+ }
452
+
453
+ .ui-divider {
454
+ color: #303133;
455
+ font-size: var(--ui-font-size-base);
456
+ }
457
+ .ui-divider--horizontal {
458
+ display: flex;
459
+ align-items: center;
460
+ width: 100%;
461
+ margin: 24px 0;
462
+ }
463
+ .ui-divider--horizontal::before, .ui-divider--horizontal::after {
464
+ content: "";
465
+ flex: 1 1 0;
466
+ height: 1px;
467
+ background-color: #dcdfe6;
468
+ }
469
+ .ui-divider--horizontal.is-left::before {
470
+ flex: 0 0 20px;
471
+ }
472
+ .ui-divider--horizontal.is-right::after {
473
+ flex: 0 0 20px;
474
+ }
475
+ .ui-divider--horizontal.is-dashed::before, .ui-divider--horizontal.is-dashed::after {
476
+ background-image: repeating-linear-gradient(90deg, #dcdfe6 0, #dcdfe6 4px, transparent 4px, transparent 8px);
477
+ }
478
+ .ui-divider--vertical {
479
+ display: inline-block;
480
+ width: 1px;
481
+ height: 1em;
482
+ margin: 0 8px;
483
+ vertical-align: middle;
484
+ background-color: #dcdfe6;
485
+ }
486
+ .ui-divider--vertical.is-dashed {
487
+ background-image: repeating-linear-gradient(180deg, #dcdfe6 0, #dcdfe6 4px, transparent 4px, transparent 8px);
488
+ }
489
+ .ui-divider__text {
490
+ flex-shrink: 0;
491
+ padding: 0 20px;
492
+ font-weight: 500;
493
+ color: #303133;
494
+ }
495
+
496
+ .ui-dropdown {
497
+ position: relative;
498
+ display: inline-block;
499
+ }
500
+ .ui-dropdown__trigger {
501
+ display: inline-block;
502
+ cursor: pointer;
503
+ }
504
+ .ui-dropdown__trigger.is-disabled {
505
+ cursor: not-allowed;
506
+ opacity: 0.5;
507
+ pointer-events: none;
508
+ }
509
+ .ui-dropdown__menu {
510
+ position: absolute;
511
+ z-index: 1000;
512
+ min-width: 100px;
513
+ margin: 0;
514
+ padding: 5px 0;
515
+ list-style: none;
516
+ background-color: #fff;
517
+ border: 1px solid #e4e7ed;
518
+ border-radius: 4px;
519
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
520
+ }
521
+ .ui-dropdown__menu.is-bottom-start {
522
+ top: calc(100% + 4px);
523
+ left: 0;
524
+ }
525
+ .ui-dropdown__menu.is-bottom {
526
+ top: calc(100% + 4px);
527
+ left: 50%;
528
+ transform: translateX(-50%);
529
+ }
530
+ .ui-dropdown__menu.is-bottom-end {
531
+ top: calc(100% + 4px);
532
+ right: 0;
533
+ }
534
+ .ui-dropdown__menu.is-top-start {
535
+ bottom: calc(100% + 4px);
536
+ left: 0;
537
+ }
538
+ .ui-dropdown__menu.is-top {
539
+ bottom: calc(100% + 4px);
540
+ left: 50%;
541
+ transform: translateX(-50%);
542
+ }
543
+ .ui-dropdown__menu.is-top-end {
544
+ bottom: calc(100% + 4px);
545
+ right: 0;
546
+ }
547
+ .ui-dropdown__menu.is-left-start {
548
+ right: calc(100% + 4px);
549
+ top: 0;
550
+ }
551
+ .ui-dropdown__menu.is-left {
552
+ right: calc(100% + 4px);
553
+ top: 50%;
554
+ transform: translateY(-50%);
555
+ }
556
+ .ui-dropdown__menu.is-left-end {
557
+ right: calc(100% + 4px);
558
+ bottom: 0;
559
+ }
560
+ .ui-dropdown__menu.is-right-start {
561
+ left: calc(100% + 4px);
562
+ top: 0;
563
+ }
564
+ .ui-dropdown__menu.is-right {
565
+ left: calc(100% + 4px);
566
+ top: 50%;
567
+ transform: translateY(-50%);
568
+ }
569
+ .ui-dropdown__menu.is-right-end {
570
+ left: calc(100% + 4px);
571
+ bottom: 0;
572
+ }
573
+ .ui-dropdown__item {
574
+ display: flex;
575
+ align-items: center;
576
+ padding: 8px 16px;
577
+ font-size: var(--ui-font-size-base);
578
+ color: #303133;
579
+ white-space: nowrap;
580
+ cursor: pointer;
581
+ user-select: none;
582
+ }
583
+ .ui-dropdown__item:hover {
584
+ background-color: #f5f7fa;
585
+ color: var(--ui-color-primary);
586
+ }
587
+ .ui-dropdown__item.is-disabled {
588
+ color: #c0c4cc;
589
+ cursor: not-allowed;
590
+ }
591
+ .ui-dropdown__item.is-disabled:hover {
592
+ background-color: transparent;
593
+ color: #c0c4cc;
594
+ }
595
+ .ui-dropdown__item.is-divided {
596
+ margin-top: 5px;
597
+ padding-top: 12px;
598
+ border-top: 1px solid #e4e7ed;
599
+ }
600
+
601
+ .ui-dropdown-fade-enter-active,
602
+ .ui-dropdown-fade-leave-active {
603
+ transition: opacity 0.2s ease;
604
+ }
605
+
606
+ .ui-dropdown-fade-enter-from,
607
+ .ui-dropdown-fade-leave-to {
608
+ opacity: 0;
609
+ }
610
+
611
+ .ui-menu {
612
+ margin: 0;
613
+ padding: 0;
614
+ font-size: var(--ui-font-size-base);
615
+ color: #303133;
616
+ background-color: #fff;
617
+ list-style: none;
618
+ }
619
+ .ui-menu--vertical {
620
+ width: 220px;
621
+ border-right: 1px solid #e4e7ed;
622
+ }
623
+ .ui-menu--horizontal {
624
+ display: flex;
625
+ border-bottom: 1px solid #e4e7ed;
626
+ }
627
+
628
+ .ui-menu-item {
629
+ display: block;
630
+ padding: 0 20px;
631
+ cursor: pointer;
632
+ user-select: none;
633
+ transition: color 0.2s, background-color 0.2s, border-color 0.2s;
634
+ }
635
+ .ui-menu-item:hover {
636
+ background-color: #f5f7fa;
637
+ }
638
+ .ui-menu-item.is-disabled {
639
+ color: #c0c4cc;
640
+ cursor: not-allowed;
641
+ }
642
+ .ui-menu-item.is-disabled:hover {
643
+ background-color: transparent;
644
+ }
645
+
646
+ .ui-menu--vertical .ui-menu-item {
647
+ height: 56px;
648
+ line-height: 56px;
649
+ border-left: 2px solid transparent;
650
+ }
651
+ .ui-menu--vertical .ui-menu-item.is-active {
652
+ color: var(--ui-color-primary);
653
+ border-left-color: var(--ui-color-primary);
654
+ background-color: #ecf5ff;
655
+ }
656
+
657
+ .ui-menu--horizontal .ui-menu-item {
658
+ height: 60px;
659
+ line-height: 60px;
660
+ border-bottom: 2px solid transparent;
661
+ }
662
+ .ui-menu--horizontal .ui-menu-item.is-active {
663
+ color: var(--ui-color-primary);
664
+ border-bottom-color: var(--ui-color-primary);
665
+ }
666
+
667
+ .ui-sub-menu__title {
668
+ display: flex;
669
+ align-items: center;
670
+ justify-content: space-between;
671
+ height: 56px;
672
+ line-height: 56px;
673
+ padding: 0 20px;
674
+ cursor: pointer;
675
+ user-select: none;
676
+ transition: color 0.2s, background-color 0.2s;
677
+ }
678
+ .ui-sub-menu__title:hover {
679
+ background-color: #f5f7fa;
680
+ }
681
+ .ui-sub-menu__arrow {
682
+ margin-left: 8px;
683
+ font-size: 12px;
684
+ transition: transform 0.2s;
685
+ }
686
+ .ui-sub-menu.is-open > .ui-sub-menu__title .ui-sub-menu__arrow {
687
+ transform: rotate(180deg);
688
+ }
689
+ .ui-sub-menu.is-disabled .ui-sub-menu__title {
690
+ color: #c0c4cc;
691
+ cursor: not-allowed;
692
+ }
693
+ .ui-sub-menu.is-disabled .ui-sub-menu__title:hover {
694
+ background-color: transparent;
695
+ }
696
+ .ui-sub-menu__children {
697
+ margin: 0;
698
+ padding: 0;
699
+ list-style: none;
700
+ }
701
+
702
+ .ui-menu--vertical .ui-sub-menu__children .ui-menu-item,
703
+ .ui-menu--vertical .ui-sub-menu__children .ui-sub-menu__title {
704
+ padding-left: 40px;
705
+ }
706
+ .ui-menu--vertical .ui-sub-menu__children .ui-sub-menu__children .ui-menu-item,
707
+ .ui-menu--vertical .ui-sub-menu__children .ui-sub-menu__children .ui-sub-menu__title {
708
+ padding-left: 60px;
709
+ }
710
+
711
+ .ui-menu--horizontal .ui-sub-menu {
712
+ position: relative;
713
+ }
714
+ .ui-menu--horizontal .ui-sub-menu > .ui-sub-menu__title {
715
+ height: 60px;
716
+ line-height: 60px;
717
+ }
718
+ .ui-menu--horizontal .ui-sub-menu__children {
719
+ position: absolute;
720
+ top: 100%;
721
+ left: 0;
722
+ z-index: 1000;
723
+ min-width: 160px;
724
+ padding: 5px 0;
725
+ background-color: #fff;
726
+ border: 1px solid #e4e7ed;
727
+ border-radius: var(--ui-border-radius-base);
728
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
729
+ }
730
+ .ui-menu--horizontal .ui-sub-menu__children .ui-menu-item,
731
+ .ui-menu--horizontal .ui-sub-menu__children .ui-sub-menu__title {
732
+ display: block;
733
+ height: 40px;
734
+ line-height: 40px;
735
+ border-bottom: none;
736
+ border-left: none;
737
+ background-color: transparent;
738
+ }
739
+ .ui-menu--horizontal .ui-sub-menu__children .ui-menu-item.is-active,
740
+ .ui-menu--horizontal .ui-sub-menu__children .ui-sub-menu__title.is-active {
741
+ border-bottom-color: transparent;
742
+ background-color: transparent;
743
+ color: var(--ui-color-primary);
744
+ }
745
+ .ui-menu--horizontal .ui-sub-menu__children .ui-sub-menu {
746
+ position: relative;
747
+ }
748
+ .ui-menu--horizontal .ui-sub-menu__children .ui-sub-menu__children {
749
+ top: 0;
750
+ left: 100%;
751
+ }
752
+
753
+ .ui-message-container {
754
+ position: fixed;
755
+ top: 20px;
756
+ left: 50%;
757
+ transform: translateX(-50%);
758
+ z-index: 3000;
759
+ display: flex;
760
+ flex-direction: column;
761
+ align-items: center;
762
+ gap: 10px;
763
+ pointer-events: none;
764
+ }
765
+
766
+ .ui-message__item {
767
+ opacity: 0;
768
+ transform: translateY(-12px);
769
+ transition: opacity 0.3s ease, transform 0.3s ease;
770
+ pointer-events: auto;
771
+ }
772
+ .ui-message__item.is-enter {
773
+ opacity: 1;
774
+ transform: translateY(0);
775
+ }
776
+ .ui-message__item.is-leave {
777
+ opacity: 0;
778
+ transform: translateY(-12px);
779
+ }
780
+
781
+ .ui-message {
782
+ display: flex;
783
+ align-items: center;
784
+ gap: 8px;
785
+ min-width: 240px;
786
+ max-width: 60vw;
787
+ padding: 10px 16px;
788
+ font-size: var(--ui-font-size-base);
789
+ color: #303133;
790
+ background-color: #fff;
791
+ border: 1px solid #e4e7ed;
792
+ border-left-width: 3px;
793
+ border-radius: var(--ui-border-radius-base);
794
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
795
+ }
796
+ .ui-message--success {
797
+ border-left-color: var(--ui-color-success);
798
+ }
799
+ .ui-message--success .ui-message__icon {
800
+ color: var(--ui-color-success);
801
+ }
802
+ .ui-message--warning {
803
+ border-left-color: var(--ui-color-warning);
804
+ }
805
+ .ui-message--warning .ui-message__icon {
806
+ color: var(--ui-color-warning);
807
+ }
808
+ .ui-message--info {
809
+ border-left-color: var(--ui-color-info);
810
+ }
811
+ .ui-message--info .ui-message__icon {
812
+ color: var(--ui-color-info);
813
+ }
814
+ .ui-message--error {
815
+ border-left-color: var(--ui-color-danger);
816
+ }
817
+ .ui-message--error .ui-message__icon {
818
+ color: var(--ui-color-danger);
819
+ }
820
+ .ui-message__icon {
821
+ flex-shrink: 0;
822
+ color: var(--ui-color-info);
823
+ }
824
+ .ui-message__content {
825
+ flex: 1;
826
+ line-height: 1.5;
827
+ }
828
+ .ui-message__close {
829
+ display: inline-flex;
830
+ align-items: center;
831
+ justify-content: center;
832
+ padding: 2px;
833
+ margin-left: 4px;
834
+ color: #909399;
835
+ background: none;
836
+ border: none;
837
+ border-radius: var(--ui-border-radius-base);
838
+ cursor: pointer;
839
+ transition: color 0.2s, background-color 0.2s;
840
+ }
841
+ .ui-message__close:hover {
842
+ color: #303133;
843
+ background-color: #f5f7fa;
844
+ }
845
+
846
+ .ui-modal-overlay {
847
+ position: fixed;
848
+ inset: 0;
849
+ z-index: 2000;
850
+ display: flex;
851
+ justify-content: center;
852
+ align-items: flex-start;
853
+ padding: 0 16px;
854
+ overflow-y: auto;
855
+ background-color: rgba(0, 0, 0, 0.5);
856
+ }
857
+
858
+ .ui-modal {
859
+ position: relative;
860
+ display: flex;
861
+ flex-direction: column;
862
+ margin: 0 auto;
863
+ max-width: 100%;
864
+ background-color: #fff;
865
+ border-radius: var(--ui-border-radius-base);
866
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
867
+ color: #303133;
868
+ font-size: var(--ui-font-size-base);
869
+ outline: none;
870
+ }
871
+ .ui-modal--center {
872
+ margin: auto;
873
+ }
874
+ .ui-modal__header {
875
+ flex-shrink: 0;
876
+ padding: 16px 48px 16px 20px;
877
+ font-size: 16px;
878
+ font-weight: 600;
879
+ line-height: 1.4;
880
+ }
881
+ .ui-modal__body {
882
+ flex: 1;
883
+ overflow-y: auto;
884
+ padding: 0 20px 20px;
885
+ line-height: 1.5;
886
+ }
887
+ .ui-modal__footer {
888
+ display: flex;
889
+ justify-content: flex-end;
890
+ gap: 8px;
891
+ flex-shrink: 0;
892
+ padding: 12px 20px;
893
+ border-top: 1px solid #e4e7ed;
894
+ }
895
+ .ui-modal__close {
896
+ position: absolute;
897
+ top: 12px;
898
+ right: 12px;
899
+ display: inline-flex;
900
+ align-items: center;
901
+ justify-content: center;
902
+ width: 28px;
903
+ height: 28px;
904
+ padding: 0;
905
+ color: #909399;
906
+ background: none;
907
+ border: none;
908
+ border-radius: var(--ui-border-radius-base);
909
+ cursor: pointer;
910
+ transition: color 0.2s, background-color 0.2s;
911
+ }
912
+ .ui-modal__close:hover {
913
+ color: #303133;
914
+ background-color: #f5f7fa;
915
+ }
916
+
917
+ .ui-modal-fade-enter-active,
918
+ .ui-modal-fade-leave-active {
919
+ transition: opacity 0.3s ease;
920
+ }
921
+ .ui-modal-fade-enter-active .ui-modal,
922
+ .ui-modal-fade-leave-active .ui-modal {
923
+ transition: transform 0.3s ease;
924
+ }
925
+
926
+ .ui-modal-fade-enter-from,
927
+ .ui-modal-fade-leave-to {
928
+ opacity: 0;
929
+ }
930
+ .ui-modal-fade-enter-from .ui-modal,
931
+ .ui-modal-fade-leave-to .ui-modal {
932
+ transform: scale(0.9);
933
+ }
934
+
935
+ .ui-notification-container {
936
+ position: fixed;
937
+ z-index: 3000;
938
+ display: flex;
939
+ flex-direction: column;
940
+ gap: 12px;
941
+ max-width: calc(100vw - 32px);
942
+ pointer-events: none;
943
+ }
944
+ .ui-notification-container--top-right {
945
+ top: 20px;
946
+ right: 20px;
947
+ align-items: flex-end;
948
+ }
949
+ .ui-notification-container--top-left {
950
+ top: 20px;
951
+ left: 20px;
952
+ align-items: flex-start;
953
+ }
954
+ .ui-notification-container--bottom-right {
955
+ bottom: 20px;
956
+ right: 20px;
957
+ align-items: flex-end;
958
+ }
959
+ .ui-notification-container--bottom-left {
960
+ bottom: 20px;
961
+ left: 20px;
962
+ align-items: flex-start;
963
+ }
964
+
965
+ .ui-notification__item {
966
+ opacity: 0;
967
+ transition: opacity 0.3s ease, transform 0.3s ease;
968
+ pointer-events: auto;
969
+ }
970
+
971
+ .ui-notification-container--top-right .ui-notification__item,
972
+ .ui-notification-container--bottom-right .ui-notification__item {
973
+ transform: translateX(100%);
974
+ }
975
+
976
+ .ui-notification-container--top-left .ui-notification__item,
977
+ .ui-notification-container--bottom-left .ui-notification__item {
978
+ transform: translateX(-100%);
979
+ }
980
+
981
+ .ui-notification__item.is-enter {
982
+ opacity: 1;
983
+ transform: translateX(0);
984
+ }
985
+
986
+ .ui-notification__item.is-leave {
987
+ opacity: 0;
988
+ }
989
+
990
+ .ui-notification {
991
+ position: relative;
992
+ display: flex;
993
+ align-items: flex-start;
994
+ gap: 12px;
995
+ width: 330px;
996
+ max-width: 100%;
997
+ padding: 14px 16px;
998
+ background-color: #fff;
999
+ border: 1px solid #e4e7ed;
1000
+ border-radius: var(--ui-border-radius-base);
1001
+ box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
1002
+ color: #303133;
1003
+ font-size: var(--ui-font-size-base);
1004
+ cursor: pointer;
1005
+ user-select: none;
1006
+ }
1007
+ .ui-notification--success .ui-notification__icon {
1008
+ color: var(--ui-color-success);
1009
+ }
1010
+ .ui-notification--warning .ui-notification__icon {
1011
+ color: var(--ui-color-warning);
1012
+ }
1013
+ .ui-notification--info .ui-notification__icon {
1014
+ color: var(--ui-color-info);
1015
+ }
1016
+ .ui-notification--error .ui-notification__icon {
1017
+ color: var(--ui-color-danger);
1018
+ }
1019
+ .ui-notification__icon {
1020
+ flex-shrink: 0;
1021
+ color: var(--ui-color-info);
1022
+ }
1023
+ .ui-notification__main {
1024
+ flex: 1;
1025
+ min-width: 0;
1026
+ }
1027
+ .ui-notification__title {
1028
+ padding-right: 24px;
1029
+ margin-bottom: 4px;
1030
+ font-weight: 600;
1031
+ line-height: 1.4;
1032
+ }
1033
+ .ui-notification__content {
1034
+ color: #606266;
1035
+ line-height: 1.5;
1036
+ word-break: break-word;
1037
+ }
1038
+ .ui-notification__close {
1039
+ position: absolute;
1040
+ top: 10px;
1041
+ right: 10px;
1042
+ display: inline-flex;
1043
+ align-items: center;
1044
+ justify-content: center;
1045
+ width: 24px;
1046
+ height: 24px;
1047
+ padding: 0;
1048
+ color: #909399;
1049
+ background: none;
1050
+ border: none;
1051
+ border-radius: var(--ui-border-radius-base);
1052
+ cursor: pointer;
1053
+ transition: color 0.2s, background-color 0.2s;
1054
+ }
1055
+ .ui-notification__close:hover {
1056
+ color: #303133;
1057
+ background-color: #f5f7fa;
1058
+ }
1059
+
1060
+ .ui-pagination {
1061
+ display: inline-flex;
1062
+ align-items: center;
1063
+ gap: 4px;
1064
+ font-size: var(--ui-font-size-base);
1065
+ }
1066
+ .ui-pagination__total {
1067
+ margin-right: 4px;
1068
+ color: var(--ui-color-info);
1069
+ }
1070
+ .ui-pagination__pager {
1071
+ display: inline-flex;
1072
+ align-items: center;
1073
+ gap: 4px;
1074
+ margin: 0;
1075
+ padding: 0;
1076
+ list-style: none;
1077
+ }
1078
+ .ui-pagination__pager li {
1079
+ display: inline-flex;
1080
+ }
1081
+ .ui-pagination__btn, .ui-pagination__item {
1082
+ display: inline-flex;
1083
+ align-items: center;
1084
+ justify-content: center;
1085
+ min-width: 32px;
1086
+ height: 32px;
1087
+ padding: 0 8px;
1088
+ box-sizing: border-box;
1089
+ border: 1px solid #dcdfe6;
1090
+ border-radius: var(--ui-border-radius-base);
1091
+ background: #fff;
1092
+ color: #303133;
1093
+ cursor: pointer;
1094
+ transition: color 0.2s, border-color 0.2s, background-color 0.2s;
1095
+ }
1096
+ .ui-pagination__btn:hover:not(.is-active):not(:disabled), .ui-pagination__item:hover:not(.is-active):not(:disabled) {
1097
+ color: var(--ui-color-primary);
1098
+ border-color: var(--ui-color-primary);
1099
+ }
1100
+ .ui-pagination__btn:disabled, .ui-pagination__item:disabled {
1101
+ cursor: not-allowed;
1102
+ opacity: 0.5;
1103
+ }
1104
+ .ui-pagination__btn {
1105
+ padding: 0 10px;
1106
+ }
1107
+ .ui-pagination__item.is-active {
1108
+ background: var(--ui-color-primary);
1109
+ border-color: var(--ui-color-primary);
1110
+ color: #fff;
1111
+ cursor: default;
1112
+ }
1113
+ .ui-pagination__more {
1114
+ letter-spacing: 2px;
1115
+ color: var(--ui-color-info);
1116
+ }
1117
+ .ui-pagination.is-disabled {
1118
+ opacity: 0.5;
1119
+ cursor: not-allowed;
1120
+ }
1121
+
1122
+ .ui-popconfirm {
1123
+ position: relative;
1124
+ display: inline-block;
1125
+ }
1126
+ .ui-popconfirm__trigger {
1127
+ display: inline-block;
1128
+ cursor: pointer;
1129
+ }
1130
+ .ui-popconfirm__trigger.is-disabled {
1131
+ cursor: not-allowed;
1132
+ opacity: 0.5;
1133
+ pointer-events: none;
1134
+ }
1135
+ .ui-popconfirm__popper {
1136
+ position: fixed;
1137
+ z-index: 1000;
1138
+ box-sizing: border-box;
1139
+ padding: 12px;
1140
+ background-color: #fff;
1141
+ border: 1px solid #e4e7ed;
1142
+ border-radius: var(--ui-border-radius-base);
1143
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
1144
+ }
1145
+ .ui-popconfirm__popper::after {
1146
+ content: "";
1147
+ position: absolute;
1148
+ width: 8px;
1149
+ height: 8px;
1150
+ background-color: #fff;
1151
+ border-style: solid;
1152
+ border-width: 0;
1153
+ border-color: #e4e7ed;
1154
+ transform: rotate(45deg);
1155
+ }
1156
+ .ui-popconfirm__popper.is-top::after, .ui-popconfirm__popper.is-top-start::after, .ui-popconfirm__popper.is-top-end::after {
1157
+ border-bottom-width: 1px;
1158
+ border-right-width: 1px;
1159
+ bottom: -5px;
1160
+ }
1161
+ .ui-popconfirm__popper.is-top::after {
1162
+ left: 50%;
1163
+ margin-left: -4px;
1164
+ }
1165
+ .ui-popconfirm__popper.is-top-start::after {
1166
+ left: 16px;
1167
+ }
1168
+ .ui-popconfirm__popper.is-top-end::after {
1169
+ right: 16px;
1170
+ }
1171
+ .ui-popconfirm__popper.is-bottom::after, .ui-popconfirm__popper.is-bottom-start::after, .ui-popconfirm__popper.is-bottom-end::after {
1172
+ border-top-width: 1px;
1173
+ border-left-width: 1px;
1174
+ top: -5px;
1175
+ }
1176
+ .ui-popconfirm__popper.is-bottom::after {
1177
+ left: 50%;
1178
+ margin-left: -4px;
1179
+ }
1180
+ .ui-popconfirm__popper.is-bottom-start::after {
1181
+ left: 16px;
1182
+ }
1183
+ .ui-popconfirm__popper.is-bottom-end::after {
1184
+ right: 16px;
1185
+ }
1186
+ .ui-popconfirm__popper.is-left::after, .ui-popconfirm__popper.is-left-start::after, .ui-popconfirm__popper.is-left-end::after {
1187
+ border-top-width: 1px;
1188
+ border-right-width: 1px;
1189
+ right: -5px;
1190
+ }
1191
+ .ui-popconfirm__popper.is-left::after {
1192
+ top: 50%;
1193
+ margin-top: -4px;
1194
+ }
1195
+ .ui-popconfirm__popper.is-left-start::after {
1196
+ top: 16px;
1197
+ }
1198
+ .ui-popconfirm__popper.is-left-end::after {
1199
+ bottom: 16px;
1200
+ }
1201
+ .ui-popconfirm__popper.is-right::after, .ui-popconfirm__popper.is-right-start::after, .ui-popconfirm__popper.is-right-end::after {
1202
+ border-bottom-width: 1px;
1203
+ border-left-width: 1px;
1204
+ left: -5px;
1205
+ }
1206
+ .ui-popconfirm__popper.is-right::after {
1207
+ top: 50%;
1208
+ margin-top: -4px;
1209
+ }
1210
+ .ui-popconfirm__popper.is-right-start::after {
1211
+ top: 16px;
1212
+ }
1213
+ .ui-popconfirm__popper.is-right-end::after {
1214
+ bottom: 16px;
1215
+ }
1216
+ .ui-popconfirm__body {
1217
+ margin-bottom: 8px;
1218
+ font-size: var(--ui-font-size-base);
1219
+ line-height: 1.5;
1220
+ color: #303133;
1221
+ }
1222
+ .ui-popconfirm__footer {
1223
+ display: flex;
1224
+ justify-content: flex-end;
1225
+ gap: 8px;
1226
+ }
1227
+ .ui-popconfirm__footer .ui-button {
1228
+ flex-shrink: 0;
1229
+ white-space: nowrap;
1230
+ }
1231
+
1232
+ .ui-popconfirm-fade-enter-active,
1233
+ .ui-popconfirm-fade-leave-active {
1234
+ transition: opacity 0.2s ease;
1235
+ }
1236
+
1237
+ .ui-popconfirm-fade-enter-from,
1238
+ .ui-popconfirm-fade-leave-to {
1239
+ opacity: 0;
1240
+ }
1241
+
1242
+ .ui-form {
1243
+ font-size: var(--ui-font-size-base);
1244
+ color: #303133;
1245
+ }
1246
+ .ui-form.is-inline {
1247
+ display: flex;
1248
+ flex-wrap: wrap;
1249
+ }
1250
+ .ui-form.is-inline .ui-form-item {
1251
+ margin-right: 24px;
1252
+ }
1253
+
1254
+ .ui-form-item {
1255
+ display: flex;
1256
+ align-items: flex-start;
1257
+ margin-bottom: 18px;
1258
+ }
1259
+ .ui-form-item.is-label-top {
1260
+ flex-direction: column;
1261
+ align-items: stretch;
1262
+ }
1263
+ .ui-form-item.is-label-top .ui-form-item__label {
1264
+ margin-bottom: 6px;
1265
+ line-height: 1.4;
1266
+ padding-right: 0;
1267
+ }
1268
+ .ui-form-item.is-required .ui-form-item__label::before {
1269
+ content: "*";
1270
+ margin-right: 4px;
1271
+ color: var(--ui-color-danger);
1272
+ }
1273
+ .ui-form-item.is-disabled {
1274
+ opacity: 0.5;
1275
+ }
1276
+ .ui-form-item__label {
1277
+ flex-shrink: 0;
1278
+ padding-right: 12px;
1279
+ line-height: 34px;
1280
+ white-space: nowrap;
1281
+ color: #606266;
1282
+ }
1283
+ .ui-form-item.is-label-right .ui-form-item__label {
1284
+ text-align: right;
1285
+ }
1286
+ .ui-form-item.is-label-left .ui-form-item__label {
1287
+ text-align: left;
1288
+ }
1289
+ .ui-form-item__content {
1290
+ flex: 1;
1291
+ min-width: 0;
1292
+ }
1293
+ .ui-form-item__content .ui-input,
1294
+ .ui-form-item__content .ui-date-picker {
1295
+ width: 100%;
1296
+ }
1297
+ .ui-form-item__content .ui-input__inner,
1298
+ .ui-form-item__content .ui-date-picker__inner {
1299
+ width: 100%;
1300
+ box-sizing: border-box;
1301
+ }
1302
+ .ui-form-item__error {
1303
+ margin: 4px 0 0;
1304
+ font-size: 12px;
1305
+ line-height: 1.4;
1306
+ color: var(--ui-color-danger);
1307
+ }
1308
+
1309
+ .ui-form-fade-enter-active,
1310
+ .ui-form-fade-leave-active {
1311
+ transition: opacity 0.2s, transform 0.2s;
1312
+ }
1313
+
1314
+ .ui-form-fade-enter-from,
1315
+ .ui-form-fade-leave-to {
1316
+ opacity: 0;
1317
+ transform: translateY(-4px);
1318
+ }
1319
+
1320
+ .ui-table {
1321
+ --ui-table-header-bg: #f5f7fa;
1322
+ --ui-table-border-color: #ebeef5;
1323
+ --ui-table-text-color: #606266;
1324
+ width: 100%;
1325
+ font-size: var(--ui-font-size-base);
1326
+ color: var(--ui-table-text-color);
1327
+ box-sizing: border-box;
1328
+ }
1329
+
1330
+ .ui-table__inner {
1331
+ width: 100%;
1332
+ table-layout: fixed;
1333
+ border-collapse: collapse;
1334
+ }
1335
+
1336
+ .ui-table__cell {
1337
+ padding: 8px 12px;
1338
+ text-align: left;
1339
+ border-bottom: 1px solid var(--ui-table-border-color);
1340
+ box-sizing: border-box;
1341
+ word-break: break-all;
1342
+ }
1343
+ .ui-table__cell.is-center {
1344
+ text-align: center;
1345
+ }
1346
+ .ui-table__cell.is-right {
1347
+ text-align: right;
1348
+ }
1349
+
1350
+ .ui-table__head .ui-table__cell {
1351
+ background: var(--ui-table-header-bg);
1352
+ font-weight: 600;
1353
+ }
1354
+
1355
+ .ui-table__sort-btn {
1356
+ display: inline-flex;
1357
+ align-items: center;
1358
+ gap: 4px;
1359
+ padding: 0;
1360
+ border: none;
1361
+ background: none;
1362
+ font: inherit;
1363
+ color: inherit;
1364
+ cursor: pointer;
1365
+ }
1366
+ .ui-table__sort-btn:hover .ui-table__sort-icons .ui-icon {
1367
+ color: var(--ui-table-text-color);
1368
+ }
1369
+
1370
+ .ui-table__sort-label {
1371
+ vertical-align: middle;
1372
+ }
1373
+
1374
+ .ui-table__sort-icons {
1375
+ display: inline-flex;
1376
+ flex-direction: column;
1377
+ line-height: 0;
1378
+ }
1379
+ .ui-table__sort-icons .ui-icon {
1380
+ color: #c0c4cc;
1381
+ transition: color 0.2s;
1382
+ }
1383
+ .ui-table__sort-icons .ui-icon.is-active {
1384
+ color: var(--ui-color-primary);
1385
+ }
1386
+
1387
+ .ui-table__empty {
1388
+ padding: 24px 0;
1389
+ text-align: center;
1390
+ color: var(--ui-color-info);
1391
+ }
1392
+
1393
+ .ui-table--large .ui-table__cell {
1394
+ padding: 12px 16px;
1395
+ }
1396
+
1397
+ .ui-table--medium .ui-table__cell {
1398
+ padding: 8px 12px;
1399
+ }
1400
+
1401
+ .ui-table--small .ui-table__cell {
1402
+ padding: 6px 10px;
1403
+ font-size: 12px;
1404
+ }
1405
+
1406
+ .ui-table.is-striped .ui-table__body tr:nth-child(even) .ui-table__cell {
1407
+ background: #fafafa;
1408
+ }
1409
+
1410
+ .ui-table.is-bordered .ui-table__inner {
1411
+ border: 1px solid var(--ui-table-border-color);
1412
+ }
1413
+
1414
+ .ui-table.is-bordered .ui-table__cell {
1415
+ border-right: 1px solid var(--ui-table-border-color);
1416
+ }
1417
+
1418
+ .ui-tree {
1419
+ position: relative;
1420
+ font-size: var(--ui-font-size-base);
1421
+ color: #303133;
1422
+ background-color: #fff;
1423
+ }
1424
+ .ui-tree__empty {
1425
+ padding: 12px 0;
1426
+ text-align: center;
1427
+ font-size: var(--ui-font-size-base);
1428
+ color: #c0c4cc;
1429
+ }
1430
+
1431
+ .ui-tree-node {
1432
+ user-select: none;
1433
+ }
1434
+ .ui-tree-node__content {
1435
+ display: flex;
1436
+ align-items: center;
1437
+ padding-right: 8px;
1438
+ cursor: pointer;
1439
+ transition: background-color 0.2s;
1440
+ }
1441
+ .ui-tree-node__content:hover {
1442
+ background-color: #f5f7fa;
1443
+ }
1444
+ .ui-tree-node.is-current > .ui-tree-node__content {
1445
+ background-color: #ecf5ff;
1446
+ color: var(--ui-color-primary);
1447
+ }
1448
+ .ui-tree-node.is-current > .ui-tree-node__content:hover {
1449
+ background-color: #ecf5ff;
1450
+ }
1451
+ .ui-tree-node__expand-icon {
1452
+ display: inline-flex;
1453
+ align-items: center;
1454
+ justify-content: center;
1455
+ flex-shrink: 0;
1456
+ width: 20px;
1457
+ height: 20px;
1458
+ margin-right: 2px;
1459
+ color: #909399;
1460
+ cursor: pointer;
1461
+ transition: color 0.2s;
1462
+ }
1463
+ .ui-tree-node__expand-icon:hover {
1464
+ color: var(--ui-color-primary);
1465
+ }
1466
+ .ui-tree-node__expand-icon.is-loading {
1467
+ cursor: default;
1468
+ }
1469
+ .ui-tree-node__expand-placeholder {
1470
+ width: 14px;
1471
+ height: 14px;
1472
+ }
1473
+ .ui-tree-node__checkbox {
1474
+ display: inline-flex;
1475
+ align-items: center;
1476
+ flex-shrink: 0;
1477
+ margin-right: 6px;
1478
+ cursor: pointer;
1479
+ }
1480
+ .ui-tree-node__checkbox input[type=checkbox] {
1481
+ width: 14px;
1482
+ height: 14px;
1483
+ margin: 0;
1484
+ accent-color: var(--ui-color-primary);
1485
+ cursor: pointer;
1486
+ }
1487
+ .ui-tree-node__checkbox input[type=checkbox]:disabled {
1488
+ cursor: not-allowed;
1489
+ }
1490
+ .ui-tree-node__label {
1491
+ display: inline-flex;
1492
+ align-items: center;
1493
+ min-height: 28px;
1494
+ padding: 4px 0;
1495
+ line-height: 20px;
1496
+ }
1497
+ .ui-tree-node__label.is-disabled {
1498
+ color: #c0c4cc;
1499
+ cursor: not-allowed;
1500
+ }
1501
+ .ui-tree-node__fade-enter-active, .ui-tree-node__fade-leave-active {
1502
+ transition: opacity 0.2s;
1503
+ }
1504
+ .ui-tree-node__fade-enter-from, .ui-tree-node__fade-leave-to {
1505
+ opacity: 0;
1506
+ }
1507
+
1508
+ .ui-tabs {
1509
+ --ui-tabs-border-color: #e4e7ed;
1510
+ font-size: var(--ui-font-size-base);
1511
+ color: #303133;
1512
+ box-sizing: border-box;
1513
+ }
1514
+
1515
+ .ui-tabs__nav-wrap {
1516
+ border-bottom: 1px solid var(--ui-tabs-border-color);
1517
+ }
1518
+
1519
+ .ui-tabs__nav {
1520
+ display: flex;
1521
+ align-items: flex-end;
1522
+ }
1523
+
1524
+ .ui-tabs__item {
1525
+ position: relative;
1526
+ display: inline-flex;
1527
+ align-items: center;
1528
+ margin-right: 4px;
1529
+ padding: 12px 16px;
1530
+ border: none;
1531
+ background: none;
1532
+ font: inherit;
1533
+ font-size: var(--ui-font-size-base);
1534
+ color: #606266;
1535
+ white-space: nowrap;
1536
+ user-select: none;
1537
+ cursor: pointer;
1538
+ transition: color 0.2s;
1539
+ }
1540
+ .ui-tabs__item::after {
1541
+ content: "";
1542
+ position: absolute;
1543
+ left: 0;
1544
+ right: 0;
1545
+ bottom: -1px;
1546
+ height: 2px;
1547
+ background: var(--ui-color-primary);
1548
+ opacity: 0;
1549
+ transition: opacity 0.2s;
1550
+ }
1551
+ .ui-tabs__item:hover {
1552
+ color: var(--ui-color-primary);
1553
+ }
1554
+ .ui-tabs__item.is-active {
1555
+ color: var(--ui-color-primary);
1556
+ }
1557
+ .ui-tabs__item.is-active::after {
1558
+ opacity: 1;
1559
+ }
1560
+ .ui-tabs__item.is-disabled {
1561
+ color: #c0c4cc;
1562
+ cursor: not-allowed;
1563
+ }
1564
+ .ui-tabs__item.is-disabled:hover {
1565
+ color: #c0c4cc;
1566
+ }
1567
+
1568
+ .ui-tabs__close {
1569
+ display: inline-flex;
1570
+ align-items: center;
1571
+ justify-content: center;
1572
+ width: 16px;
1573
+ height: 16px;
1574
+ margin-left: 4px;
1575
+ font-size: 14px;
1576
+ line-height: 1;
1577
+ color: #909399;
1578
+ border-radius: 50%;
1579
+ cursor: pointer;
1580
+ transition: background-color 0.2s, color 0.2s;
1581
+ }
1582
+ .ui-tabs__close:hover {
1583
+ background-color: #c0c4cc;
1584
+ color: #fff;
1585
+ }
1586
+
1587
+ .ui-tabs__content {
1588
+ padding: 16px 0;
1589
+ }
1590
+
1591
+ .ui-tabs--card .ui-tabs__item {
1592
+ border: 1px solid var(--ui-tabs-border-color);
1593
+ border-bottom: none;
1594
+ margin-right: -1px;
1595
+ border-radius: var(--ui-border-radius-base) var(--ui-border-radius-base) 0 0;
1596
+ background: #fff;
1597
+ }
1598
+ .ui-tabs--card .ui-tabs__item::after {
1599
+ display: none;
1600
+ }
1601
+ .ui-tabs--card .ui-tabs__item.is-active {
1602
+ color: var(--ui-color-primary);
1603
+ border-bottom: 1px solid #fff;
1604
+ }
1605
+
1606
+ .ui-tabs--border-card {
1607
+ border: 1px solid var(--ui-tabs-border-color);
1608
+ border-radius: var(--ui-border-radius-base);
1609
+ overflow: hidden;
1610
+ }
1611
+ .ui-tabs--border-card .ui-tabs__nav-wrap {
1612
+ background: #f5f7fa;
1613
+ border-bottom: 1px solid var(--ui-tabs-border-color);
1614
+ }
1615
+ .ui-tabs--border-card .ui-tabs__item {
1616
+ margin-right: 0;
1617
+ border-radius: 0;
1618
+ border-left: 1px solid var(--ui-tabs-border-color);
1619
+ }
1620
+ .ui-tabs--border-card .ui-tabs__item:first-child {
1621
+ border-left: none;
1622
+ }
1623
+ .ui-tabs--border-card .ui-tabs__item::after {
1624
+ display: none;
1625
+ }
1626
+ .ui-tabs--border-card .ui-tabs__item.is-active {
1627
+ background: #fff;
1628
+ color: var(--ui-color-primary);
1629
+ }
1630
+ .ui-tabs--border-card .ui-tabs__content {
1631
+ padding: 16px;
1632
+ background: #fff;
1633
+ }
1634
+
1635
+ .ui-rich-editor {
1636
+ --ui-rich-editor-border: #dcdfe6;
1637
+ font-size: var(--ui-font-size-base);
1638
+ color: #303133;
1639
+ border: 1px solid var(--ui-rich-editor-border);
1640
+ border-radius: var(--ui-border-radius-base);
1641
+ overflow: hidden;
1642
+ transition: border-color 0.2s;
1643
+ }
1644
+ .ui-rich-editor:focus-within {
1645
+ border-color: var(--ui-color-primary);
1646
+ }
1647
+ .ui-rich-editor.is-disabled {
1648
+ background: #f5f7fa;
1649
+ }
1650
+ .ui-rich-editor.is-disabled .ui-rich-editor__content {
1651
+ cursor: not-allowed;
1652
+ }
1653
+
1654
+ .ui-rich-editor__toolbar {
1655
+ display: flex;
1656
+ flex-wrap: wrap;
1657
+ align-items: center;
1658
+ gap: 4px;
1659
+ padding: 6px 8px;
1660
+ background: #f5f7fa;
1661
+ border-bottom: 1px solid var(--ui-rich-editor-border);
1662
+ }
1663
+
1664
+ .ui-rich-editor__divider {
1665
+ width: 1px;
1666
+ height: 16px;
1667
+ margin: 0 4px;
1668
+ background: var(--ui-rich-editor-border);
1669
+ }
1670
+
1671
+ .ui-rich-editor__tool {
1672
+ min-width: 28px;
1673
+ padding: 3px 6px;
1674
+ font-size: 12px;
1675
+ line-height: 1.5;
1676
+ color: #606266;
1677
+ background: transparent;
1678
+ border: 1px solid transparent;
1679
+ border-radius: var(--ui-border-radius-base);
1680
+ cursor: pointer;
1681
+ user-select: none;
1682
+ transition: color 0.2s, background-color 0.2s, border-color 0.2s;
1683
+ }
1684
+ .ui-rich-editor__tool:hover:not(:disabled) {
1685
+ color: var(--ui-color-primary);
1686
+ background-color: #ecf5ff;
1687
+ }
1688
+ .ui-rich-editor__tool.is-active {
1689
+ color: var(--ui-color-primary);
1690
+ background-color: #ecf5ff;
1691
+ border-color: #b3d8ff;
1692
+ }
1693
+ .ui-rich-editor__tool:disabled {
1694
+ color: #c0c4cc;
1695
+ cursor: not-allowed;
1696
+ }
1697
+
1698
+ .ui-rich-editor__content {
1699
+ padding: 10px 12px;
1700
+ min-height: 120px;
1701
+ outline: none;
1702
+ line-height: 1.6;
1703
+ overflow-y: auto;
1704
+ word-break: break-word;
1705
+ }
1706
+ .ui-rich-editor__content.is-empty::before {
1707
+ content: attr(data-placeholder);
1708
+ color: #a8abb2;
1709
+ pointer-events: none;
1710
+ }
1711
+ .ui-rich-editor__content p {
1712
+ margin: 0 0 8px;
1713
+ }
1714
+ .ui-rich-editor__content ul,
1715
+ .ui-rich-editor__content ol {
1716
+ margin: 0 0 8px;
1717
+ padding-left: 20px;
1718
+ }
1719
+ .ui-rich-editor__content img {
1720
+ max-width: 100%;
1721
+ }
1722
+ .ui-rich-editor__content a {
1723
+ color: var(--ui-color-primary);
1724
+ }
1725
+
1726
+ .ui-select {
1727
+ position: relative;
1728
+ display: inline-block;
1729
+ min-width: 200px;
1730
+ font-size: var(--ui-font-size-base);
1731
+ vertical-align: middle;
1732
+ }
1733
+ .ui-select__trigger {
1734
+ position: relative;
1735
+ display: flex;
1736
+ align-items: center;
1737
+ flex-wrap: wrap;
1738
+ gap: 4px;
1739
+ min-height: 34px;
1740
+ padding: 4px 12px;
1741
+ box-sizing: border-box;
1742
+ background: #fff;
1743
+ border: 1px solid #dcdfe6;
1744
+ border-radius: var(--ui-border-radius-base);
1745
+ cursor: pointer;
1746
+ outline: none;
1747
+ user-select: none;
1748
+ transition: border-color 0.2s;
1749
+ }
1750
+ .ui-select__trigger:hover {
1751
+ border-color: #c0c4cc;
1752
+ }
1753
+ .ui-select__trigger:focus-visible {
1754
+ border-color: var(--ui-color-primary);
1755
+ }
1756
+ .ui-select.is-open .ui-select__trigger {
1757
+ border-color: var(--ui-color-primary);
1758
+ }
1759
+ .ui-select__selected {
1760
+ flex: 1;
1761
+ min-width: 0;
1762
+ overflow: hidden;
1763
+ text-overflow: ellipsis;
1764
+ white-space: nowrap;
1765
+ color: #303133;
1766
+ }
1767
+ .ui-select__selected.is-placeholder {
1768
+ color: #c0c4cc;
1769
+ }
1770
+ .ui-select__filter {
1771
+ flex: 1;
1772
+ min-width: 0;
1773
+ padding: 0;
1774
+ border: none;
1775
+ outline: none;
1776
+ background: transparent;
1777
+ font-size: inherit;
1778
+ color: #303133;
1779
+ }
1780
+ .ui-select__filter::placeholder {
1781
+ color: #c0c4cc;
1782
+ }
1783
+ .ui-select__tag {
1784
+ display: inline-flex;
1785
+ align-items: center;
1786
+ gap: 4px;
1787
+ padding: 2px 8px;
1788
+ margin: 2px 2px 2px 0;
1789
+ font-size: 12px;
1790
+ line-height: 18px;
1791
+ color: var(--ui-color-primary);
1792
+ background: #ecf5ff;
1793
+ border-radius: 3px;
1794
+ }
1795
+ .ui-select__tag-close {
1796
+ font-style: normal;
1797
+ cursor: pointer;
1798
+ line-height: 1;
1799
+ }
1800
+ .ui-select__tag-close:hover {
1801
+ color: var(--ui-color-danger);
1802
+ }
1803
+ .ui-select__suffix {
1804
+ display: inline-flex;
1805
+ align-items: center;
1806
+ gap: 4px;
1807
+ margin-left: auto;
1808
+ color: #909399;
1809
+ }
1810
+ .ui-select__arrow {
1811
+ transition: transform 0.2s;
1812
+ }
1813
+ .ui-select.is-open .ui-select__arrow {
1814
+ transform: rotate(180deg);
1815
+ }
1816
+ .ui-select__clear {
1817
+ cursor: pointer;
1818
+ }
1819
+ .ui-select__clear:hover {
1820
+ color: var(--ui-color-danger);
1821
+ }
1822
+ .ui-select__panel {
1823
+ position: absolute;
1824
+ top: calc(100% + 4px);
1825
+ left: 0;
1826
+ right: 0;
1827
+ z-index: 1000;
1828
+ max-height: 240px;
1829
+ overflow-y: auto;
1830
+ background: #fff;
1831
+ border: 1px solid #e4e7ed;
1832
+ border-radius: var(--ui-border-radius-base);
1833
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
1834
+ }
1835
+ .ui-select.is-up .ui-select__panel {
1836
+ top: auto;
1837
+ bottom: calc(100% + 4px);
1838
+ }
1839
+ .ui-select__list {
1840
+ margin: 0;
1841
+ padding: 5px 0;
1842
+ list-style: none;
1843
+ }
1844
+ .ui-select__item {
1845
+ display: flex;
1846
+ align-items: center;
1847
+ justify-content: space-between;
1848
+ padding: 8px 12px;
1849
+ color: #303133;
1850
+ cursor: pointer;
1851
+ user-select: none;
1852
+ }
1853
+ .ui-select__item:hover {
1854
+ background-color: #f5f7fa;
1855
+ }
1856
+ .ui-select__item.is-highlighted {
1857
+ background-color: #f5f7fa;
1858
+ }
1859
+ .ui-select__item.is-selected {
1860
+ color: var(--ui-color-primary);
1861
+ font-weight: 600;
1862
+ }
1863
+ .ui-select__item.is-disabled {
1864
+ color: #c0c4cc;
1865
+ cursor: not-allowed;
1866
+ }
1867
+ .ui-select__item.is-disabled:hover {
1868
+ background-color: transparent;
1869
+ }
1870
+ .ui-select__item-check {
1871
+ color: var(--ui-color-primary);
1872
+ }
1873
+ .ui-select__empty {
1874
+ padding: 16px;
1875
+ text-align: center;
1876
+ color: #909399;
1877
+ }
1878
+ .ui-select.is-disabled {
1879
+ cursor: not-allowed;
1880
+ }
1881
+
1882
+ .ui-select.is-disabled .ui-select__trigger {
1883
+ cursor: not-allowed;
1884
+ pointer-events: none;
1885
+ }
1886
+
1887
+ .ui-select-fade-enter-active,
1888
+ .ui-select-fade-leave-active {
1889
+ transition: opacity 0.2s ease;
1890
+ }
1891
+
1892
+ .ui-select-fade-enter-from,
1893
+ .ui-select-fade-leave-to {
1894
+ opacity: 0;
1895
+ }
1896
+
1897
+ .ui-space {
1898
+ display: inline-flex;
1899
+ column-gap: var(--ui-space-column-gap, 8px);
1900
+ row-gap: var(--ui-space-row-gap, 8px);
1901
+ vertical-align: middle;
1902
+ }
1903
+ .ui-space.is-vertical {
1904
+ flex-direction: column;
1905
+ }
1906
+ .ui-space.is-wrap {
1907
+ flex-wrap: wrap;
1908
+ }
1909
+ .ui-space.is-start {
1910
+ align-items: flex-start;
1911
+ }
1912
+ .ui-space.is-center {
1913
+ align-items: center;
1914
+ }
1915
+ .ui-space.is-end {
1916
+ align-items: flex-end;
1917
+ }
1918
+ .ui-space.is-baseline {
1919
+ align-items: baseline;
1920
+ }
1921
+ .ui-space.is-stretch {
1922
+ align-items: stretch;
1923
+ }
1924
+ .ui-space.is-fill {
1925
+ display: flex;
1926
+ width: 100%;
1927
+ }
1928
+ .ui-space.is-fill > *:not(.ui-space__spacer) {
1929
+ flex: 1;
1930
+ }
1931
+ .ui-space__spacer {
1932
+ display: inline-flex;
1933
+ align-items: center;
1934
+ }
1935
+
1936
+ .ui-steps {
1937
+ display: flex;
1938
+ }
1939
+ .ui-steps.is-vertical {
1940
+ flex-direction: column;
1941
+ }
1942
+
1943
+ .ui-step {
1944
+ flex: 1;
1945
+ min-width: 0;
1946
+ position: relative;
1947
+ color: #303133;
1948
+ }
1949
+ .ui-step__head {
1950
+ position: relative;
1951
+ display: flex;
1952
+ align-items: center;
1953
+ justify-content: center;
1954
+ }
1955
+ .ui-step__icon {
1956
+ position: relative;
1957
+ z-index: 1;
1958
+ display: flex;
1959
+ align-items: center;
1960
+ justify-content: center;
1961
+ flex-shrink: 0;
1962
+ width: 30px;
1963
+ height: 30px;
1964
+ box-sizing: border-box;
1965
+ font-size: 15px;
1966
+ font-weight: 500;
1967
+ line-height: 1;
1968
+ color: #909399;
1969
+ background: #fff;
1970
+ border: 2px solid #dcdfe6;
1971
+ border-radius: 50%;
1972
+ transition: color 0.2s, background-color 0.2s, border-color 0.2s;
1973
+ }
1974
+ .ui-step__icon .ui-icon {
1975
+ font-size: 16px;
1976
+ }
1977
+ .ui-step__line {
1978
+ position: absolute;
1979
+ top: 50%;
1980
+ left: calc(50% + 16px);
1981
+ right: calc(-50% + 16px);
1982
+ height: 2px;
1983
+ transform: translateY(-50%);
1984
+ background: #e4e7ed;
1985
+ overflow: hidden;
1986
+ }
1987
+ .ui-step__line-inner {
1988
+ width: 100%;
1989
+ height: 100%;
1990
+ background: var(--ui-color-primary);
1991
+ transform: scaleX(0);
1992
+ transform-origin: left center;
1993
+ transition: transform 0.3s;
1994
+ }
1995
+ .ui-step__main {
1996
+ margin-top: 10px;
1997
+ padding: 0 4px;
1998
+ text-align: center;
1999
+ }
2000
+ .ui-step__title {
2001
+ font-size: var(--ui-font-size-base);
2002
+ line-height: 1.4;
2003
+ font-weight: 400;
2004
+ color: #303133;
2005
+ transition: color 0.2s;
2006
+ }
2007
+ .ui-step__description {
2008
+ margin-top: 4px;
2009
+ font-size: 12px;
2010
+ line-height: 1.4;
2011
+ color: #909399;
2012
+ }
2013
+ .ui-step.is-finish .ui-step__icon {
2014
+ color: var(--ui-color-primary);
2015
+ border-color: var(--ui-color-primary);
2016
+ }
2017
+ .ui-step.is-finish .ui-step__line-inner {
2018
+ transform: scaleX(1);
2019
+ }
2020
+ .ui-step.is-finish .ui-step__title {
2021
+ color: var(--ui-color-primary);
2022
+ }
2023
+ .ui-step.is-process .ui-step__icon {
2024
+ color: #fff;
2025
+ background: var(--ui-color-primary);
2026
+ border-color: var(--ui-color-primary);
2027
+ }
2028
+ .ui-step.is-process .ui-step__line-inner {
2029
+ transform: scaleX(0.5);
2030
+ }
2031
+ .ui-step.is-process .ui-step__title {
2032
+ color: #303133;
2033
+ font-weight: 600;
2034
+ }
2035
+ .ui-step.is-error .ui-step__icon {
2036
+ color: #fff;
2037
+ background: var(--ui-color-danger);
2038
+ border-color: var(--ui-color-danger);
2039
+ }
2040
+ .ui-step.is-error .ui-step__line-inner {
2041
+ transform: scaleX(1);
2042
+ background: var(--ui-color-danger);
2043
+ }
2044
+ .ui-step.is-error .ui-step__title {
2045
+ color: var(--ui-color-danger);
2046
+ }
2047
+ .ui-step.is-success .ui-step__icon {
2048
+ color: var(--ui-color-success);
2049
+ border-color: var(--ui-color-success);
2050
+ }
2051
+ .ui-step.is-success .ui-step__line-inner {
2052
+ transform: scaleX(1);
2053
+ background: var(--ui-color-success);
2054
+ }
2055
+ .ui-step.is-success .ui-step__title {
2056
+ color: var(--ui-color-success);
2057
+ }
2058
+ .ui-step.is-wait .ui-step__line-inner {
2059
+ transform: scaleX(0);
2060
+ }
2061
+ .ui-step.is-wait .ui-step__title {
2062
+ color: #909399;
2063
+ }
2064
+ .ui-step.is-disabled .ui-step__icon {
2065
+ color: #c0c4cc;
2066
+ background: #fff;
2067
+ border-color: #dcdfe6;
2068
+ }
2069
+ .ui-step.is-disabled .ui-step__title {
2070
+ color: #c0c4cc;
2071
+ }
2072
+ .ui-step.is-disabled .ui-step__line-inner {
2073
+ background: #c0c4cc;
2074
+ }
2075
+ .ui-step.is-last .ui-step__line {
2076
+ display: none;
2077
+ }
2078
+ .ui-step.is-vertical {
2079
+ display: flex;
2080
+ flex: none;
2081
+ position: relative;
2082
+ padding-bottom: 24px;
2083
+ }
2084
+ .ui-step.is-vertical:last-child {
2085
+ padding-bottom: 0;
2086
+ }
2087
+ .ui-step.is-vertical .ui-step__head {
2088
+ position: static;
2089
+ flex-direction: column;
2090
+ align-items: center;
2091
+ flex-shrink: 0;
2092
+ }
2093
+ .ui-step.is-vertical .ui-step__line {
2094
+ position: absolute;
2095
+ top: 34px;
2096
+ bottom: 0;
2097
+ left: 14px;
2098
+ width: 2px;
2099
+ height: auto;
2100
+ margin: 0;
2101
+ transform: none;
2102
+ }
2103
+ .ui-step.is-vertical .ui-step__line-inner {
2104
+ width: 100%;
2105
+ height: 100%;
2106
+ transform: scaleY(0);
2107
+ transform-origin: top center;
2108
+ }
2109
+ .ui-step.is-vertical.is-finish .ui-step__line-inner, .ui-step.is-vertical.is-error .ui-step__line-inner, .ui-step.is-vertical.is-success .ui-step__line-inner {
2110
+ transform: scaleY(1);
2111
+ }
2112
+ .ui-step.is-vertical.is-process .ui-step__line-inner {
2113
+ transform: scaleY(0.5);
2114
+ }
2115
+ .ui-step.is-vertical .ui-step__main {
2116
+ flex: 1;
2117
+ min-width: 0;
2118
+ margin: 0 0 0 14px;
2119
+ padding: 0;
2120
+ text-align: left;
2121
+ }
2122
+
2123
+ .ui-steps.is-align-center .ui-step.is-vertical .ui-step__main {
2124
+ text-align: center;
2125
+ }
2126
+
2127
+ .ui-upload {
2128
+ display: inline-block;
2129
+ }
2130
+ .ui-upload__input {
2131
+ display: none;
2132
+ }
2133
+ .ui-upload__trigger {
2134
+ display: inline-block;
2135
+ cursor: pointer;
2136
+ vertical-align: top;
2137
+ }
2138
+ .ui-upload__trigger--card {
2139
+ width: 96px;
2140
+ height: 96px;
2141
+ border: 1px dashed #c0c4cc;
2142
+ border-radius: var(--ui-border-radius-base);
2143
+ transition: border-color 0.2s;
2144
+ }
2145
+ .ui-upload__trigger--card:hover {
2146
+ border-color: var(--ui-color-primary);
2147
+ }
2148
+ .ui-upload__drag {
2149
+ display: block;
2150
+ min-width: 280px;
2151
+ padding: 32px 48px;
2152
+ border: 1px dashed #c0c4cc;
2153
+ border-radius: var(--ui-border-radius-base);
2154
+ text-align: center;
2155
+ color: var(--ui-color-info);
2156
+ background-color: rgba(0, 0, 0, 0.02);
2157
+ transition: border-color 0.2s, color 0.2s;
2158
+ }
2159
+ .ui-upload__drag.is-dragging {
2160
+ border-color: var(--ui-color-primary);
2161
+ color: var(--ui-color-primary);
2162
+ }
2163
+ .ui-upload__drag-inner p {
2164
+ margin: 8px 0 0;
2165
+ font-size: var(--ui-font-size-base);
2166
+ }
2167
+ .ui-upload__list {
2168
+ margin: 8px 0 0;
2169
+ padding: 0;
2170
+ list-style: none;
2171
+ }
2172
+ .ui-upload__list--picture-card {
2173
+ display: flex;
2174
+ flex-wrap: wrap;
2175
+ gap: 8px;
2176
+ }
2177
+ .ui-upload__file {
2178
+ position: relative;
2179
+ display: flex;
2180
+ align-items: center;
2181
+ gap: 8px;
2182
+ padding: 6px 8px;
2183
+ border: 1px solid #e4e7ed;
2184
+ border-radius: var(--ui-border-radius-base);
2185
+ font-size: var(--ui-font-size-base);
2186
+ overflow: hidden;
2187
+ }
2188
+ .ui-upload__file.is-success {
2189
+ border-color: #e1f3d8;
2190
+ }
2191
+ .ui-upload__file.is-fail {
2192
+ border-color: #fde2e2;
2193
+ }
2194
+ .ui-upload .ui-upload__list--text .ui-upload__file + .ui-upload__file,
2195
+ .ui-upload .ui-upload__list--picture .ui-upload__file + .ui-upload__file {
2196
+ margin-top: 6px;
2197
+ }
2198
+ .ui-upload__thumb {
2199
+ width: 48px;
2200
+ height: 48px;
2201
+ object-fit: cover;
2202
+ border-radius: 2px;
2203
+ flex-shrink: 0;
2204
+ }
2205
+ .ui-upload__file-icon {
2206
+ display: inline-flex;
2207
+ align-items: center;
2208
+ color: var(--ui-color-info);
2209
+ flex-shrink: 0;
2210
+ }
2211
+ .ui-upload__file-info {
2212
+ display: flex;
2213
+ flex-direction: column;
2214
+ gap: 2px;
2215
+ min-width: 0;
2216
+ flex: 1;
2217
+ }
2218
+ .ui-upload__file-name {
2219
+ white-space: nowrap;
2220
+ overflow: hidden;
2221
+ text-overflow: ellipsis;
2222
+ color: #606266;
2223
+ }
2224
+ .ui-upload__file-size {
2225
+ font-size: 12px;
2226
+ color: var(--ui-color-info);
2227
+ }
2228
+ .ui-upload__file-status {
2229
+ display: inline-flex;
2230
+ align-items: center;
2231
+ flex-shrink: 0;
2232
+ }
2233
+ .ui-upload__file-status .is-success {
2234
+ color: var(--ui-color-success);
2235
+ }
2236
+ .ui-upload__file-status .is-danger {
2237
+ color: var(--ui-color-danger);
2238
+ }
2239
+ .ui-upload__file-percent {
2240
+ font-size: 12px;
2241
+ color: var(--ui-color-primary);
2242
+ }
2243
+ .ui-upload__file-remove {
2244
+ flex-shrink: 0;
2245
+ color: var(--ui-color-info);
2246
+ cursor: pointer;
2247
+ opacity: 0;
2248
+ transition: opacity 0.2s, color 0.2s;
2249
+ }
2250
+ .ui-upload__file-remove:hover {
2251
+ color: var(--ui-color-danger);
2252
+ }
2253
+ .ui-upload .ui-upload__file:hover .ui-upload__file-remove {
2254
+ opacity: 1;
2255
+ }
2256
+ .ui-upload__progress {
2257
+ position: absolute;
2258
+ left: 0;
2259
+ right: 0;
2260
+ bottom: 0;
2261
+ height: 3px;
2262
+ background: #e4e7ed;
2263
+ }
2264
+ .ui-upload__progress-bar {
2265
+ height: 100%;
2266
+ background: var(--ui-color-primary);
2267
+ transition: width 0.2s;
2268
+ }
2269
+ .ui-upload__file.is-card {
2270
+ display: block;
2271
+ width: 96px;
2272
+ height: 96px;
2273
+ padding: 0;
2274
+ border: 1px solid #e4e7ed;
2275
+ border-radius: var(--ui-border-radius-base);
2276
+ overflow: hidden;
2277
+ }
2278
+ .ui-upload__file.is-card .ui-upload__thumb {
2279
+ width: 100%;
2280
+ height: 100%;
2281
+ }
2282
+ .ui-upload__file.is-card .ui-upload__file-remove {
2283
+ opacity: 1;
2284
+ }
2285
+ .ui-upload__thumb-placeholder {
2286
+ display: flex;
2287
+ align-items: center;
2288
+ justify-content: center;
2289
+ width: 100%;
2290
+ height: 100%;
2291
+ font-size: 12px;
2292
+ color: var(--ui-color-info);
2293
+ background: #f5f7fa;
2294
+ }
2295
+ .ui-upload__card-actions {
2296
+ position: absolute;
2297
+ inset: 0;
2298
+ display: flex;
2299
+ align-items: center;
2300
+ justify-content: center;
2301
+ gap: 12px;
2302
+ background: rgba(0, 0, 0, 0.5);
2303
+ color: #fff;
2304
+ opacity: 0;
2305
+ transition: opacity 0.2s;
2306
+ }
2307
+ .ui-upload__card-actions .ui-icon {
2308
+ cursor: pointer;
2309
+ }
2310
+ .ui-upload .ui-upload__file.is-card:hover .ui-upload__card-actions {
2311
+ opacity: 1;
2312
+ }
2313
+ .ui-upload__card-add {
2314
+ display: flex;
2315
+ flex-direction: column;
2316
+ align-items: center;
2317
+ justify-content: center;
2318
+ gap: 4px;
2319
+ height: 100%;
2320
+ font-size: 12px;
2321
+ color: var(--ui-color-info);
2322
+ }