ele-admin-plus 1.1.9-beta.10 → 1.1.9-beta.11

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 (157) hide show
  1. package/es/ele-alert/index.js +2 -2
  2. package/es/ele-basic-select/index.d.ts +1 -1
  3. package/es/ele-basic-select/index.js +7 -1
  4. package/es/ele-config-provider/types.d.ts +3 -1
  5. package/es/ele-cropper-modal/index.js +1 -1
  6. package/es/ele-drawer/index.d.ts +8 -5
  7. package/es/ele-drawer/index.js +107 -113
  8. package/es/ele-drawer/style/index.scss +48 -105
  9. package/es/ele-edit-tag/index.js +1 -1
  10. package/es/ele-file-list/components/file-grid-item.js +1 -1
  11. package/es/ele-file-list/components/file-table-item.js +1 -1
  12. package/es/ele-icon-select/components/icon-grid.js +1 -1
  13. package/es/ele-loading/index.d.ts +0 -4
  14. package/es/ele-loading/index.js +10 -16
  15. package/es/ele-map-picker/components/map-view.js +1 -1
  16. package/es/ele-map-picker/index.js +1 -1
  17. package/es/ele-menus/index.d.ts +4 -6
  18. package/es/ele-menus/index.js +1 -1
  19. package/es/ele-menus/props.d.ts +1 -3
  20. package/es/ele-menus/props.js +1 -3
  21. package/es/ele-menus/style/css-var.scss +1 -5
  22. package/es/ele-modal/index.d.ts +12 -6
  23. package/es/ele-modal/index.js +163 -184
  24. package/es/ele-modal/props.d.ts +2 -0
  25. package/es/ele-modal/props.js +2 -0
  26. package/es/ele-modal/style/index.scss +85 -146
  27. package/es/ele-modal/util.d.ts +18 -44
  28. package/es/ele-modal/util.js +53 -179
  29. package/es/ele-pagination/index.d.ts +9 -0
  30. package/es/ele-pagination/index.js +4 -1
  31. package/es/ele-pagination/props.d.ts +5 -0
  32. package/es/ele-pagination/props.js +5 -0
  33. package/es/ele-popconfirm/index.d.ts +3 -3
  34. package/es/ele-popconfirm/index.js +6 -28
  35. package/es/ele-popover/index.d.ts +2 -2
  36. package/es/ele-popover/index.js +6 -14
  37. package/es/ele-pro-layout/components/pro-header.d.ts +66 -11
  38. package/es/ele-pro-layout/components/pro-header.js +110 -20
  39. package/es/ele-pro-layout/components/pro-sidebar.d.ts +2 -7
  40. package/es/ele-pro-layout/components/pro-sidebar.js +2 -5
  41. package/es/ele-pro-layout/components/pro-sidebox.d.ts +2 -7
  42. package/es/ele-pro-layout/components/pro-sidebox.js +2 -5
  43. package/es/ele-pro-layout/components/tab-dropdown.js +1 -1
  44. package/es/ele-pro-layout/index.d.ts +25 -27
  45. package/es/ele-pro-layout/index.js +45 -29
  46. package/es/ele-pro-layout/props.d.ts +3 -6
  47. package/es/ele-pro-layout/props.js +2 -4
  48. package/es/ele-pro-layout/style/css-var.scss +3 -18
  49. package/es/ele-pro-layout/style/header.scss +74 -9
  50. package/es/ele-pro-layout/style/layout-mobile.scss +2 -2
  51. package/es/ele-pro-layout/style/layout-style.scss +8 -3
  52. package/es/ele-pro-layout/style/layout-theme.scss +48 -23
  53. package/es/ele-pro-layout/style/layout.scss +23 -3
  54. package/es/ele-pro-layout/style/sidebar.scss +0 -1
  55. package/es/ele-pro-layout/style/tabs.scss +19 -11
  56. package/es/ele-pro-layout/types.d.ts +1 -1
  57. package/es/ele-pro-table/components/tool-print.js +0 -3
  58. package/es/ele-pro-table/index.d.ts +3 -5
  59. package/es/ele-pro-table/index.js +2 -1
  60. package/es/ele-pro-table/util.d.ts +1 -1
  61. package/es/ele-tab-wrap/index.js +2 -1
  62. package/es/ele-table-select/index.d.ts +13 -12
  63. package/es/ele-table-select/index.js +27 -26
  64. package/es/ele-tabs/index.js +1 -0
  65. package/es/ele-tabs/style/css-var.scss +1 -30
  66. package/es/ele-tabs/style/index.scss +372 -241
  67. package/es/ele-tabs/types.d.ts +2 -1
  68. package/es/ele-tooltip/index.js +3 -0
  69. package/es/ele-tooltip/props.d.ts +5 -0
  70. package/es/ele-tooltip/props.js +2 -0
  71. package/es/ele-virtual-table/style/index.scss +1 -1
  72. package/es/icons/ResizeOutlined.d.ts +2 -0
  73. package/es/icons/ResizeOutlined.js +30 -0
  74. package/es/icons/index.d.ts +1 -0
  75. package/es/icons/index.js +50 -48
  76. package/es/style/themes/dark.scss +9 -15
  77. package/es/style/themes/default.scss +56 -80
  78. package/es/style/themes/rounded.scss +16 -30
  79. package/lib/ele-alert/index.cjs +2 -2
  80. package/lib/ele-basic-select/index.cjs +7 -1
  81. package/lib/ele-basic-select/index.d.ts +1 -1
  82. package/lib/ele-config-provider/types.d.ts +3 -1
  83. package/lib/ele-cropper-modal/index.cjs +1 -1
  84. package/lib/ele-drawer/index.cjs +105 -111
  85. package/lib/ele-drawer/index.d.ts +8 -5
  86. package/lib/ele-drawer/style/index.scss +48 -105
  87. package/lib/ele-edit-tag/index.cjs +1 -1
  88. package/lib/ele-file-list/components/file-grid-item.cjs +1 -1
  89. package/lib/ele-file-list/components/file-table-item.cjs +1 -1
  90. package/lib/ele-icon-select/components/icon-grid.cjs +1 -1
  91. package/lib/ele-loading/index.cjs +9 -15
  92. package/lib/ele-loading/index.d.ts +0 -4
  93. package/lib/ele-map-picker/components/map-view.cjs +1 -1
  94. package/lib/ele-map-picker/index.cjs +1 -1
  95. package/lib/ele-menus/index.cjs +1 -1
  96. package/lib/ele-menus/index.d.ts +4 -6
  97. package/lib/ele-menus/props.cjs +1 -3
  98. package/lib/ele-menus/props.d.ts +1 -3
  99. package/lib/ele-menus/style/css-var.scss +1 -5
  100. package/lib/ele-modal/index.cjs +176 -197
  101. package/lib/ele-modal/index.d.ts +12 -6
  102. package/lib/ele-modal/props.cjs +2 -0
  103. package/lib/ele-modal/props.d.ts +2 -0
  104. package/lib/ele-modal/style/index.scss +85 -146
  105. package/lib/ele-modal/util.cjs +53 -179
  106. package/lib/ele-modal/util.d.ts +18 -44
  107. package/lib/ele-pagination/index.cjs +4 -1
  108. package/lib/ele-pagination/index.d.ts +9 -0
  109. package/lib/ele-pagination/props.cjs +5 -0
  110. package/lib/ele-pagination/props.d.ts +5 -0
  111. package/lib/ele-popconfirm/index.cjs +5 -27
  112. package/lib/ele-popconfirm/index.d.ts +3 -3
  113. package/lib/ele-popover/index.cjs +5 -13
  114. package/lib/ele-popover/index.d.ts +2 -2
  115. package/lib/ele-pro-layout/components/pro-header.cjs +109 -19
  116. package/lib/ele-pro-layout/components/pro-header.d.ts +66 -11
  117. package/lib/ele-pro-layout/components/pro-sidebar.cjs +2 -5
  118. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +2 -7
  119. package/lib/ele-pro-layout/components/pro-sidebox.cjs +2 -5
  120. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +2 -7
  121. package/lib/ele-pro-layout/components/tab-dropdown.cjs +1 -1
  122. package/lib/ele-pro-layout/index.cjs +45 -29
  123. package/lib/ele-pro-layout/index.d.ts +25 -27
  124. package/lib/ele-pro-layout/props.cjs +2 -4
  125. package/lib/ele-pro-layout/props.d.ts +3 -6
  126. package/lib/ele-pro-layout/style/css-var.scss +3 -18
  127. package/lib/ele-pro-layout/style/header.scss +74 -9
  128. package/lib/ele-pro-layout/style/layout-mobile.scss +2 -2
  129. package/lib/ele-pro-layout/style/layout-style.scss +8 -3
  130. package/lib/ele-pro-layout/style/layout-theme.scss +48 -23
  131. package/lib/ele-pro-layout/style/layout.scss +23 -3
  132. package/lib/ele-pro-layout/style/sidebar.scss +0 -1
  133. package/lib/ele-pro-layout/style/tabs.scss +19 -11
  134. package/lib/ele-pro-layout/types.d.ts +1 -1
  135. package/lib/ele-pro-table/components/tool-print.cjs +0 -3
  136. package/lib/ele-pro-table/index.cjs +2 -1
  137. package/lib/ele-pro-table/index.d.ts +3 -5
  138. package/lib/ele-pro-table/util.d.ts +1 -1
  139. package/lib/ele-tab-wrap/index.cjs +2 -1
  140. package/lib/ele-table-select/index.cjs +27 -26
  141. package/lib/ele-table-select/index.d.ts +13 -12
  142. package/lib/ele-tabs/index.cjs +1 -0
  143. package/lib/ele-tabs/style/css-var.scss +1 -30
  144. package/lib/ele-tabs/style/index.scss +372 -241
  145. package/lib/ele-tabs/types.d.ts +2 -1
  146. package/lib/ele-tooltip/index.cjs +3 -0
  147. package/lib/ele-tooltip/props.cjs +2 -0
  148. package/lib/ele-tooltip/props.d.ts +5 -0
  149. package/lib/ele-virtual-table/style/index.scss +1 -1
  150. package/lib/icons/ResizeOutlined.cjs +29 -0
  151. package/lib/icons/ResizeOutlined.d.ts +2 -0
  152. package/lib/icons/index.cjs +2 -0
  153. package/lib/icons/index.d.ts +1 -0
  154. package/lib/style/themes/dark.scss +9 -15
  155. package/lib/style/themes/default.scss +56 -80
  156. package/lib/style/themes/rounded.scss +16 -30
  157. package/package.json +9 -9
@@ -112,6 +112,15 @@
112
112
  }
113
113
  }
114
114
 
115
+ .el-tabs__nav-wrap .el-tabs__item.is-active .is-icon-close {
116
+ color: eleVar('tab', 'active-close-color');
117
+
118
+ &:hover {
119
+ color: eleVar('tab', 'active-close-hover-color');
120
+ background: eleVar('tab', 'active-close-hover-bg');
121
+ }
122
+ }
123
+
115
124
  /* 拖动 */
116
125
  .el-tabs__item.sortable-ghost {
117
126
  opacity: 0;
@@ -180,74 +189,74 @@
180
189
  /* 小型尺寸 */
181
190
  .ele-tabs.is-small > .el-tabs__header {
182
191
  .el-tabs__item {
183
- height: eleVar('tab-sm', 'height');
184
- line-height: eleVar('tab-sm', 'height');
185
- font-size: eleVar('tab-sm', 'font-size');
192
+ height: eleVar('tab', 'sm-height');
193
+ line-height: eleVar('tab', 'sm-height');
194
+ font-size: eleVar('tab', 'sm-font-size');
186
195
  }
187
196
 
188
197
  .ele-tab-title {
189
- padding: 0 eleVar('tab-sm', 'padding');
198
+ padding: 0 eleVar('tab', 'sm-padding');
190
199
  }
191
200
 
192
201
  .el-tabs__item.is-closable .ele-tab-title {
193
- $padding: eleVar('tab-sm', 'padding');
194
- $size: eleVar('tab-sm', 'close-size');
202
+ $padding: eleVar('tab', 'sm-padding');
203
+ $size: eleVar('tab', 'sm-close-size');
195
204
  padding-right: calc(#{$padding} + #{$size} / 2 + #{$padding} / 4);
196
205
  }
197
206
 
198
207
  .ele-tab-icon {
199
- font-size: eleVar('tab-sm', 'icon-font-size');
208
+ font-size: eleVar('tab', 'sm-icon-font-size');
200
209
  }
201
210
 
202
211
  .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item .is-icon-close {
203
- width: eleVar('tab-sm', 'close-size');
204
- height: eleVar('tab-sm', 'close-size');
205
- font-size: eleVar('tab-sm', 'close-font-size');
206
- right: calc(#{eleVar('tab-sm', 'padding')} / 2);
212
+ width: eleVar('tab', 'sm-close-size');
213
+ height: eleVar('tab', 'sm-close-size');
214
+ font-size: eleVar('tab', 'sm-close-font-size');
215
+ right: calc(#{eleVar('tab', 'sm-padding')} / 2);
207
216
  }
208
217
 
209
218
  .el-tabs__nav-prev,
210
219
  .el-tabs__nav-next {
211
- width: eleVar('tab-sm', 'height');
212
- height: eleVar('tab-sm', 'height');
213
- font-size: eleVar('tab-sm', 'tool-font-size');
220
+ width: eleVar('tab', 'sm-height');
221
+ height: eleVar('tab', 'sm-height');
222
+ font-size: eleVar('tab', 'sm-tool-font-size');
214
223
  }
215
224
  }
216
225
 
217
226
  /* 大型尺寸 */
218
227
  .ele-tabs.is-large > .el-tabs__header {
219
228
  .el-tabs__item {
220
- height: eleVar('tab-lg', 'height');
221
- line-height: eleVar('tab-lg', 'height');
222
- font-size: eleVar('tab-lg', 'font-size');
229
+ height: eleVar('tab', 'lg-height');
230
+ line-height: eleVar('tab', 'lg-height');
231
+ font-size: eleVar('tab', 'lg-font-size');
223
232
  }
224
233
 
225
234
  .ele-tab-title {
226
- padding: 0 eleVar('tab-lg', 'padding');
235
+ padding: 0 eleVar('tab', 'lg-padding');
227
236
  }
228
237
 
229
238
  .el-tabs__item.is-closable .ele-tab-title {
230
- $padding: eleVar('tab-lg', 'padding');
231
- $size: eleVar('tab-lg', 'close-size');
239
+ $padding: eleVar('tab', 'lg-padding');
240
+ $size: eleVar('tab', 'lg-close-size');
232
241
  padding-right: calc(#{$padding} + #{$size} / 2 + #{$padding} / 4);
233
242
  }
234
243
 
235
244
  .ele-tab-icon {
236
- font-size: eleVar('tab-lg', 'icon-font-size');
245
+ font-size: eleVar('tab', 'lg-icon-font-size');
237
246
  }
238
247
 
239
248
  .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item .is-icon-close {
240
- width: eleVar('tab-lg', 'close-size');
241
- height: eleVar('tab-lg', 'close-size');
242
- font-size: eleVar('tab-lg', 'close-font-size');
243
- right: calc(#{eleVar('tab-lg', 'padding')} / 2);
249
+ width: eleVar('tab', 'lg-close-size');
250
+ height: eleVar('tab', 'lg-close-size');
251
+ font-size: eleVar('tab', 'lg-close-font-size');
252
+ right: calc(#{eleVar('tab', 'lg-padding')} / 2);
244
253
  }
245
254
 
246
255
  .el-tabs__nav-prev,
247
256
  .el-tabs__nav-next {
248
- width: eleVar('tab-lg', 'height');
249
- height: eleVar('tab-lg', 'height');
250
- font-size: eleVar('tab-lg', 'tool-font-size');
257
+ width: eleVar('tab', 'lg-height');
258
+ height: eleVar('tab', 'lg-height');
259
+ font-size: eleVar('tab', 'lg-tool-font-size');
251
260
  }
252
261
  }
253
262
 
@@ -340,21 +349,21 @@
340
349
 
341
350
  &.is-small > .el-tabs__header {
342
351
  .el-tabs__item + .el-tabs__item {
343
- margin-left: calc(#{eleVar('tab-sm', 'padding')} * 2 - 4px);
352
+ margin-left: calc(#{eleVar('tab', 'sm-padding')} * 2 - 4px);
344
353
  }
345
354
 
346
355
  .el-tabs__item.is-closable .ele-tab-title {
347
- padding-right: calc(#{eleVar('tab-sm', 'close-size')} + 2px);
356
+ padding-right: calc(#{eleVar('tab', 'sm-close-size')} + 2px);
348
357
  }
349
358
  }
350
359
 
351
360
  &.is-large > .el-tabs__header {
352
361
  .el-tabs__item + .el-tabs__item {
353
- margin-left: calc(#{eleVar('tab-lg', 'padding')} * 2 - 4px);
362
+ margin-left: calc(#{eleVar('tab', 'lg-padding')} * 2 - 4px);
354
363
  }
355
364
 
356
365
  .el-tabs__item.is-closable .ele-tab-title {
357
- padding-right: calc(#{eleVar('tab-lg', 'close-size')} + 2px);
366
+ padding-right: calc(#{eleVar('tab', 'lg-close-size')} + 2px);
358
367
  }
359
368
  }
360
369
  }
@@ -367,150 +376,160 @@
367
376
  /* 简约风格 */
368
377
  .ele-tabs.is-simple > .el-tabs__header,
369
378
  .ele-tabs.is-indicator > .el-tabs__header {
370
- .el-tabs__item {
371
- border-radius: eleVar('tab-simple', 'radius');
372
-
373
- /* 指示线 */
374
- &::after {
375
- content: '';
376
- width: 0;
377
- height: eleVar('tab-simple', 'active-line');
378
- display: eleVar('tab-simple', 'line-display');
379
- background: elVar('color-primary');
380
- pointer-events: none;
381
- position: absolute;
382
- bottom: 0;
383
- left: 0;
384
- }
385
-
386
- /* 两侧反圆角 */
387
- & > .el-dropdown {
388
- $size: eleVar('tab-simple', 'angle-size');
389
- $bg-size: calc(#{$size} * 2);
390
- $bg: transparent;
379
+ $angle-size: eleVar('tab', 'simple-angle-size');
391
380
 
392
- &::after,
393
- &::before {
394
- content: '';
395
- width: $size;
396
- height: $size;
397
- display: eleVar('tab-simple', 'angle-display');
398
- transition: all $ele-transition;
399
- pointer-events: none;
400
- position: absolute;
401
- bottom: 0;
402
- }
381
+ .el-tabs__item {
382
+ border-radius: eleVar('tab', 'simple-radius');
383
+ }
403
384
 
404
- &::before {
405
- left: calc(0px - $size);
406
- background: radial-gradient(
407
- #{$bg-size} at left top,
408
- transparent 50%,
409
- #{$bg} 0
410
- );
411
- }
385
+ .el-tabs__nav-prev,
386
+ .el-tabs__nav-next {
387
+ width: calc(#{eleVar('tab', 'height')} - #{$angle-size});
412
388
 
413
- &::after {
414
- right: calc(0px - $size);
415
- background: radial-gradient(
416
- #{$bg-size} at right top,
417
- transparent 50%,
418
- #{$bg} 0
419
- );
420
- }
389
+ &:not(.is-disabled):hover {
390
+ background: eleVar('tab', 'simple-tool-hover-bg');
421
391
  }
392
+ }
422
393
 
394
+ /* 加左右间距为反圆角留点位置 */
395
+ .el-tabs__nav {
396
+ padding: 0 $angle-size;
397
+ }
398
+ }
399
+
400
+ .ele-tabs.is-simple > .el-tabs__header,
401
+ .ele-tabs.is-indicator > .el-tabs__header,
402
+ .ele-tabs.is-tag > .el-tabs__header {
403
+ .el-tabs__item {
423
404
  &:hover {
424
- $bg: eleVar('tab-simple', 'hover-bg');
425
- color: eleVar('tab-simple', 'hover-color');
405
+ $bg: eleVar('tab', 'simple-hover-bg');
406
+ color: eleVar('tab', 'simple-hover-color');
426
407
  z-index: eleVar('tab', 'hover-index');
427
408
  background: $bg;
428
-
429
- & > .el-dropdown {
430
- $bg-size: calc(#{eleVar('tab-simple', 'angle-size')} * 2);
431
-
432
- &::before {
433
- background: radial-gradient(
434
- #{$bg-size} at left top,
435
- transparent 50%,
436
- #{$bg} 0
437
- );
438
- }
439
-
440
- &::after {
441
- background: radial-gradient(
442
- #{$bg-size} at right top,
443
- transparent 50%,
444
- #{$bg} 0
445
- );
446
- }
447
- }
448
409
  }
449
410
 
450
- /* 选中样式 */
451
411
  &.is-active {
452
- $bg: eleVar('tab-simple', 'active-bg');
453
- color: eleVar('tab-simple', 'active-color');
454
- font-weight: eleVar('tab-simple', 'active-weight');
412
+ $bg: eleVar('tab', 'simple-active-bg');
413
+ color: eleVar('tab', 'simple-active-color');
414
+ font-weight: eleVar('tab', 'simple-active-weight');
455
415
  z-index: eleVar('tab', 'active-index');
456
416
  background: $bg;
417
+ }
418
+ }
457
419
 
458
- &::after {
459
- width: 100%;
460
- }
420
+ .el-tabs__active-bar,
421
+ .el-tabs__nav-wrap::after {
422
+ display: none;
423
+ }
424
+ }
461
425
 
462
- & > .el-dropdown {
463
- $bg-size: calc(#{eleVar('tab-simple', 'angle-size')} * 2);
426
+ /* 简约风格指示线 */
427
+ .ele-tabs.is-simple > .el-tabs__header .el-tabs__item {
428
+ &::after {
429
+ content: '';
430
+ width: 0;
431
+ height: eleVar('tab', 'simple-active-line');
432
+ display: eleVar('tab', 'simple-line-display');
433
+ background: elVar('color-primary');
434
+ pointer-events: none;
435
+ position: absolute;
436
+ bottom: 0;
437
+ left: 0;
438
+ }
464
439
 
465
- &::before {
466
- background: radial-gradient(
467
- #{$bg-size} at left top,
468
- transparent 50%,
469
- #{$bg} 0
470
- );
471
- }
440
+ &.is-active::after {
441
+ width: 100%;
442
+ }
443
+ }
472
444
 
473
- &::after {
474
- background: radial-gradient(
475
- #{$bg-size} at right top,
476
- transparent 50%,
477
- #{$bg} 0
478
- );
479
- }
480
- }
445
+ /* 简约风格两侧反圆角 */
446
+ .ele-tabs.is-simple > .el-tabs__header .el-tabs__item,
447
+ .ele-tabs.is-indicator > .el-tabs__header .el-tabs__item {
448
+ & > .el-dropdown {
449
+ $size: eleVar('tab', 'simple-angle-size');
450
+ $bg-size: calc(#{$size} * 2);
451
+ $bg: transparent;
452
+
453
+ &::after,
454
+ &::before {
455
+ content: '';
456
+ width: $size;
457
+ height: $size;
458
+ display: eleVar('tab', 'simple-angle-display');
459
+ transition: all $ele-transition;
460
+ pointer-events: none;
461
+ position: absolute;
462
+ bottom: 0;
481
463
  }
482
- }
483
464
 
484
- .el-tabs__nav-prev:not(.is-disabled),
485
- .el-tabs__nav-next:not(.is-disabled) {
486
- border-radius: eleVar('tab-simple', 'radius');
465
+ &::before {
466
+ left: calc(0px - $size);
467
+ background: radial-gradient(
468
+ #{$bg-size} at left top,
469
+ transparent 50%,
470
+ #{$bg} 0
471
+ );
472
+ }
487
473
 
488
- &:hover {
489
- background: eleVar('tab-simple', 'tool-hover-bg');
474
+ &::after {
475
+ right: calc(0px - $size);
476
+ background: radial-gradient(
477
+ #{$bg-size} at right top,
478
+ transparent 50%,
479
+ #{$bg} 0
480
+ );
490
481
  }
491
482
  }
492
483
 
493
- .el-tabs__active-bar,
494
- .el-tabs__nav-wrap::after {
495
- display: none;
484
+ &:hover > .el-dropdown {
485
+ $bg: eleVar('tab', 'simple-hover-bg');
486
+ $bg-size: calc(#{eleVar('tab', 'simple-angle-size')} * 2);
487
+
488
+ &::before {
489
+ background: radial-gradient(
490
+ #{$bg-size} at left top,
491
+ transparent 50%,
492
+ #{$bg} 0
493
+ );
494
+ }
495
+
496
+ &::after {
497
+ background: radial-gradient(
498
+ #{$bg-size} at right top,
499
+ transparent 50%,
500
+ #{$bg} 0
501
+ );
502
+ }
496
503
  }
497
504
 
498
- /* 加左右间距为反圆角留点位置 */
499
- .el-tabs__nav {
500
- padding: 0 eleVar('tab-simple', 'angle-size');
505
+ &.is-active > .el-dropdown {
506
+ $bg: eleVar('tab', 'simple-active-bg');
507
+ $bg-size: calc(#{eleVar('tab', 'simple-angle-size')} * 2);
508
+
509
+ &::before {
510
+ background: radial-gradient(
511
+ #{$bg-size} at left top,
512
+ transparent 50%,
513
+ #{$bg} 0
514
+ );
515
+ }
516
+
517
+ &::after {
518
+ background: radial-gradient(
519
+ #{$bg-size} at right top,
520
+ transparent 50%,
521
+ #{$bg} 0
522
+ );
523
+ }
501
524
  }
502
525
  }
503
526
 
504
527
  /* 指示器风格 */
505
528
  .ele-tabs.is-indicator {
506
- $size: eleVar('tab-indicator', 'size');
507
- $margin: eleVar('tab-indicator', 'margin');
529
+ $size: eleVar('tab', 'indicator-dot-size');
530
+ $margin: eleVar('tab', 'indicator-margin');
508
531
 
509
532
  & > .el-tabs__header {
510
- .el-tabs__item::after {
511
- display: none;
512
- }
513
-
514
533
  .ele-tab-title {
515
534
  $padding: eleVar('tab', 'padding');
516
535
  padding-left: calc(#{$padding} + #{$size} / 2 + #{$margin});
@@ -520,7 +539,7 @@
520
539
  width: $size;
521
540
  height: $size;
522
541
  border-radius: 50%;
523
- background: eleVar('tab-indicator', 'color');
542
+ background: eleVar('tab', 'indicator-dot-color');
524
543
  position: absolute;
525
544
  left: calc(#{$padding} - #{$size} / 2);
526
545
  top: 50%;
@@ -530,16 +549,16 @@
530
549
  }
531
550
 
532
551
  .el-tabs__item:hover .ele-tab-title::before {
533
- background: eleVar('tab-indicator', 'hover-color');
552
+ background: eleVar('tab', 'indicator-dot-hover-color');
534
553
  }
535
554
 
536
555
  .el-tabs__item.is-active .ele-tab-title::before {
537
- background: elVar('color-primary');
556
+ background: eleVar('tab', 'indicator-dot-active-color');
538
557
  }
539
558
  }
540
559
 
541
560
  &.is-small > .el-tabs__header .ele-tab-title {
542
- $padding: eleVar('tab-sm', 'padding');
561
+ $padding: eleVar('tab', 'sm-padding');
543
562
  padding-left: calc(#{$padding} + #{$size} / 2 + #{$margin});
544
563
 
545
564
  &::before {
@@ -548,7 +567,7 @@
548
567
  }
549
568
 
550
569
  &.is-large > .el-tabs__header .ele-tab-title {
551
- $padding: eleVar('tab-lg', 'padding');
570
+ $padding: eleVar('tab', 'lg-padding');
552
571
  padding-left: calc(#{$padding} + #{$size} / 2 + #{$margin});
553
572
 
554
573
  &::before {
@@ -557,9 +576,77 @@
557
576
  }
558
577
  }
559
578
 
579
+ /* 标签风格 */
580
+ .ele-tabs.is-tag {
581
+ $space: eleVar('tab', 'tag-space');
582
+
583
+ & > .el-tabs__header {
584
+ $height: calc(#{eleVar('tab', 'height')} - #{$space});
585
+
586
+ .el-tabs__nav {
587
+ padding-top: $space;
588
+ padding-bottom: $space;
589
+ }
590
+
591
+ .el-tabs__item {
592
+ height: $height;
593
+ line-height: $height;
594
+ border-radius: eleVar('tab', 'tag-radius');
595
+
596
+ & + .el-tabs__item {
597
+ margin-left: $space;
598
+ }
599
+ }
600
+
601
+ .el-tabs__nav-prev,
602
+ .el-tabs__nav-next {
603
+ width: $height;
604
+ height: $height;
605
+ line-height: $height;
606
+ margin-top: $space;
607
+
608
+ &::before {
609
+ display: none;
610
+ }
611
+ }
612
+ }
613
+
614
+ &.is-small > .el-tabs__header {
615
+ $height: calc(#{eleVar('tab', 'sm-height')} - #{$space});
616
+
617
+ .el-tabs__item {
618
+ height: $height;
619
+ line-height: $height;
620
+ }
621
+
622
+ .el-tabs__nav-prev,
623
+ .el-tabs__nav-next {
624
+ width: $height;
625
+ height: $height;
626
+ line-height: $height;
627
+ }
628
+ }
629
+
630
+ &.is-large > .el-tabs__header {
631
+ $height: calc(#{eleVar('tab', 'lg-height')} - #{$space});
632
+
633
+ .el-tabs__item {
634
+ height: $height;
635
+ line-height: $height;
636
+ }
637
+
638
+ .el-tabs__nav-prev,
639
+ .el-tabs__nav-next {
640
+ width: $height;
641
+ height: $height;
642
+ line-height: $height;
643
+ }
644
+ }
645
+ }
646
+
560
647
  /* 按钮风格 */
561
648
  .ele-tabs.is-button {
562
- $space: eleVar('tab-button', 'space');
649
+ $space: eleVar('tab', 'button-space');
563
650
 
564
651
  & > .el-tabs__header {
565
652
  $height: calc(#{eleVar('tab', 'height')} - #{$space});
@@ -572,21 +659,23 @@
572
659
  .el-tabs__item {
573
660
  height: $height;
574
661
  line-height: $height;
575
- border-radius: eleVar('tab-button', 'radius');
576
- background: eleVar('tab-button', 'bg');
662
+ border-radius: eleVar('tab', 'button-radius');
663
+ background: eleVar('tab', 'button-bg');
577
664
 
578
665
  & + .el-tabs__item {
579
666
  margin-left: $space;
580
667
  }
581
668
 
582
669
  &:hover {
583
- background: eleVar('tab-button', 'hover-bg');
670
+ color: eleVar('tab', 'button-hover-color');
671
+ background: eleVar('tab', 'button-hover-bg');
584
672
  }
585
673
 
586
674
  &.is-active {
587
- font-weight: eleVar('tab-button', 'active-weight');
588
- background: eleVar('tab-button', 'active-bg');
589
- box-shadow: eleVar('tab-button', 'active-shadow');
675
+ color: eleVar('tab', 'button-active-color');
676
+ font-weight: eleVar('tab', 'button-active-weight');
677
+ background: eleVar('tab', 'button-active-bg');
678
+ box-shadow: eleVar('tab', 'button-active-shadow');
590
679
  }
591
680
  }
592
681
 
@@ -609,7 +698,7 @@
609
698
  }
610
699
 
611
700
  &.is-small > .el-tabs__header {
612
- $height: calc(#{eleVar('tab-sm', 'height')} - #{$space});
701
+ $height: calc(#{eleVar('tab', 'sm-height')} - #{$space});
613
702
 
614
703
  .el-tabs__item {
615
704
  height: $height;
@@ -625,7 +714,7 @@
625
714
  }
626
715
 
627
716
  &.is-large > .el-tabs__header {
628
- $height: calc(#{eleVar('tab-lg', 'height')} - #{$space});
717
+ $height: calc(#{eleVar('tab', 'lg-height')} - #{$space});
629
718
 
630
719
  .el-tabs__item {
631
720
  height: $height;
@@ -647,10 +736,11 @@
647
736
  height: eleVar('tab', 'height');
648
737
  line-height: eleVar('tab', 'height');
649
738
  min-width: eleVar('tab', 'height');
739
+ text-align: center;
650
740
  color: eleVar('tab', 'tool-color');
651
741
  font-size: eleVar('tab', 'tool-font-size');
652
- transition-duration: $ele-transition;
653
742
  transition-property: eleVar('tab', 'transition');
743
+ transition-duration: $ele-transition;
654
744
  position: relative;
655
745
  cursor: pointer;
656
746
 
@@ -714,58 +804,77 @@
714
804
  /* 取消反圆角预留间距 */
715
805
  .ele-tab-tool.is-tab + .ele-tabs.is-simple,
716
806
  .ele-tab-tool.is-tab + .ele-tabs.is-indicator {
717
- margin-left: calc(0px - eleVar('tab-simple', 'angle-size'));
807
+ margin-left: calc(0px - eleVar('tab', 'simple-angle-size'));
718
808
 
719
809
  .el-tabs__nav-wrap.is-scrollable {
720
- padding-left: eleVar('tab-simple', 'angle-size');
810
+ padding-left: eleVar('tab', 'simple-angle-size');
721
811
  }
722
812
  }
723
813
 
724
814
  /* 小型尺寸 */
725
815
  &.is-small .ele-tab-tool {
726
- height: eleVar('tab-sm', 'height');
727
- line-height: eleVar('tab-sm', 'height');
728
- min-width: eleVar('tab-sm', 'height');
729
- font-size: eleVar('tab-sm', 'tool-font-size');
816
+ height: eleVar('tab', 'sm-height');
817
+ line-height: eleVar('tab', 'sm-height');
818
+ min-width: eleVar('tab', 'sm-height');
819
+ font-size: eleVar('tab', 'sm-tool-font-size');
730
820
 
731
821
  &.is-tab {
732
- font-size: eleVar('tab-sm', 'font-size');
822
+ font-size: eleVar('tab', 'sm-font-size');
733
823
  }
734
824
 
735
825
  .ele-tab-icon {
736
- font-size: eleVar('tab-sm', 'icon-font-size');
826
+ font-size: eleVar('tab', 'sm-icon-font-size');
737
827
  }
738
828
  }
739
829
 
740
830
  /* 大型尺寸 */
741
831
  &.is-large .ele-tab-tool {
742
- height: eleVar('tab-lg', 'height');
743
- line-height: eleVar('tab-lg', 'height');
744
- min-width: eleVar('tab-lg', 'height');
745
- font-size: eleVar('tab-lg', 'tool-font-size');
832
+ height: eleVar('tab', 'lg-height');
833
+ line-height: eleVar('tab', 'lg-height');
834
+ min-width: eleVar('tab', 'lg-height');
835
+ font-size: eleVar('tab', 'lg-tool-font-size');
746
836
 
747
837
  &.is-tab {
748
- font-size: eleVar('tab-lg', 'font-size');
838
+ font-size: eleVar('tab', 'lg-font-size');
749
839
  }
750
840
 
751
841
  .ele-tab-icon {
752
- font-size: eleVar('tab-lg', 'icon-font-size');
842
+ font-size: eleVar('tab', 'lg-icon-font-size');
753
843
  }
754
844
  }
755
845
 
756
- /* 简约风格和指示器风格 */
846
+ /* 简约风格和指示器风格以及标签风格 */
757
847
  &.is-simple .ele-tab-tool,
758
- &.is-indicator .ele-tab-tool {
759
- border-radius: eleVar('tab-simple', 'radius');
760
-
848
+ &.is-indicator .ele-tab-tool,
849
+ &.is-tag .ele-tab-tool {
761
850
  &:hover {
762
- background: eleVar('tab-simple', 'tool-hover-bg');
851
+ background: eleVar('tab', 'simple-tool-hover-bg');
852
+ }
853
+
854
+ &.is-tab {
855
+ &:hover {
856
+ color: eleVar('tab', 'simple-hover-color');
857
+ background: eleVar('tab', 'simple-hover-bg');
858
+ z-index: eleVar('tab', 'hover-index');
859
+ }
860
+
861
+ &.is-active {
862
+ color: eleVar('tab', 'simple-active-color');
863
+ font-weight: eleVar('tab', 'simple-active-weight');
864
+ background: eleVar('tab', 'simple-active-bg');
865
+ z-index: eleVar('tab', 'active-index');
866
+ }
763
867
  }
868
+ }
869
+
870
+ &.is-simple .ele-tab-tool,
871
+ &.is-indicator .ele-tab-tool {
872
+ border-radius: eleVar('tab', 'simple-radius');
764
873
 
765
874
  &.is-tab {
766
875
  /* 两侧反圆角 */
767
876
  & > .el-dropdown {
768
- $size: eleVar('tab-simple', 'angle-size');
877
+ $size: eleVar('tab', 'simple-angle-size');
769
878
  $bg-size: calc(#{$size} * 2);
770
879
  $bg: transparent;
771
880
 
@@ -774,7 +883,7 @@
774
883
  content: '';
775
884
  width: $size;
776
885
  height: $size;
777
- display: eleVar('tab-simple', 'angle-display');
886
+ display: eleVar('tab', 'simple-angle-display');
778
887
  transition: all $ele-transition;
779
888
  position: absolute;
780
889
  bottom: 0;
@@ -799,58 +908,45 @@
799
908
  }
800
909
  }
801
910
 
802
- &:hover {
803
- color: eleVar('tab-simple', 'hover-color');
804
- background: eleVar('tab-simple', 'hover-bg');
805
- z-index: eleVar('tab', 'hover-index');
911
+ &:hover > .el-dropdown {
912
+ $bg-size: calc(#{eleVar('tab', 'simple-angle-size')} * 2);
913
+ $bg: eleVar('tab', 'simple-hover-bg');
806
914
 
807
- & > .el-dropdown {
808
- $bg-size: calc(#{eleVar('tab-simple', 'angle-size')} * 2);
809
- $bg: eleVar('tab-simple', 'hover-bg');
810
-
811
- &::before {
812
- background: radial-gradient(
813
- #{$bg-size} at left top,
814
- transparent 50%,
815
- #{$bg} 0
816
- );
817
- }
818
-
819
- &::after {
820
- background: radial-gradient(
821
- #{$bg-size} at right top,
822
- transparent 50%,
823
- #{$bg} 0
824
- );
825
- }
915
+ &::before {
916
+ background: radial-gradient(
917
+ #{$bg-size} at left top,
918
+ transparent 50%,
919
+ #{$bg} 0
920
+ );
921
+ }
922
+
923
+ &::after {
924
+ background: radial-gradient(
925
+ #{$bg-size} at right top,
926
+ transparent 50%,
927
+ #{$bg} 0
928
+ );
826
929
  }
827
930
  }
828
931
 
829
- &.is-active {
830
- $bg: eleVar('tab-simple', 'active-bg');
831
- color: eleVar('tab-simple', 'active-color');
832
- font-weight: eleVar('tab-simple', 'active-weight');
833
- z-index: eleVar('tab', 'active-index');
834
- background: $bg;
835
-
836
- & > .el-dropdown {
837
- $bg-size: calc(#{eleVar('tab-simple', 'angle-size')} * 2);
838
-
839
- &::before {
840
- background: radial-gradient(
841
- #{$bg-size} at left top,
842
- transparent 50%,
843
- #{$bg} 0
844
- );
845
- }
846
-
847
- &::after {
848
- background: radial-gradient(
849
- #{$bg-size} at right top,
850
- transparent 50%,
851
- #{$bg} 0
852
- );
853
- }
932
+ &.is-active > .el-dropdown {
933
+ $bg-size: calc(#{eleVar('tab', 'simple-angle-size')} * 2);
934
+ $bg: eleVar('tab', 'simple-active-bg');
935
+
936
+ &::before {
937
+ background: radial-gradient(
938
+ #{$bg-size} at left top,
939
+ transparent 50%,
940
+ #{$bg} 0
941
+ );
942
+ }
943
+
944
+ &::after {
945
+ background: radial-gradient(
946
+ #{$bg-size} at right top,
947
+ transparent 50%,
948
+ #{$bg} 0
949
+ );
854
950
  }
855
951
  }
856
952
  }
@@ -860,8 +956,8 @@
860
956
  &::after {
861
957
  content: '';
862
958
  width: 0;
863
- height: eleVar('tab-simple', 'active-line');
864
- display: eleVar('tab-simple', 'line-display');
959
+ height: eleVar('tab', 'simple-active-line');
960
+ display: eleVar('tab', 'simple-line-display');
865
961
  background: elVar('color-primary');
866
962
  position: absolute;
867
963
  bottom: 0;
@@ -873,17 +969,50 @@
873
969
  }
874
970
  }
875
971
 
972
+ /* 标签风格 */
973
+ &.is-tag {
974
+ $space: eleVar('tab', 'tag-space');
975
+
976
+ .ele-tab-tool {
977
+ $height: eleVar('tab', 'height');
978
+ height: calc(#{$height} - #{$space});
979
+ line-height: calc(#{$height} - #{$space});
980
+ min-width: calc(#{$height} - #{$space});
981
+ border-radius: eleVar('tab', 'tag-radius');
982
+ margin-top: $space;
983
+ margin-bottom: $space;
984
+
985
+ & + .ele-tab-tool {
986
+ margin-left: $space;
987
+ }
988
+ }
989
+
990
+ &.is-small .ele-tab-tool {
991
+ $height: eleVar('tab', 'sm-height');
992
+ height: calc(#{$height} - #{$space});
993
+ line-height: calc(#{$height} - #{$space});
994
+ min-width: calc(#{$height} - #{$space});
995
+ }
996
+
997
+ &.is-large .ele-tab-tool {
998
+ $height: eleVar('tab', 'lg-height');
999
+ height: calc(#{$height} - #{$space});
1000
+ line-height: calc(#{$height} - #{$space});
1001
+ min-width: calc(#{$height} - #{$space});
1002
+ }
1003
+ }
1004
+
876
1005
  /* 按钮风格 */
877
1006
  &.is-button {
878
- $space: eleVar('tab-button', 'space');
1007
+ $space: eleVar('tab', 'button-space');
879
1008
 
880
1009
  .ele-tab-tool {
881
1010
  $height: eleVar('tab', 'height');
882
1011
  height: calc(#{$height} - #{$space});
883
1012
  line-height: calc(#{$height} - #{$space});
884
1013
  min-width: calc(#{$height} - #{$space});
885
- border-radius: eleVar('tab-button', 'radius');
886
- background: eleVar('tab-button', 'hover-bg');
1014
+ border-radius: eleVar('tab', 'button-radius');
1015
+ background: eleVar('tab', 'button-hover-bg');
887
1016
  margin-top: $space;
888
1017
  margin-bottom: $space;
889
1018
 
@@ -892,33 +1021,35 @@
892
1021
  }
893
1022
 
894
1023
  &:not(.is-tab):hover {
895
- box-shadow: eleVar('tab-button', 'active-shadow');
1024
+ box-shadow: eleVar('tab', 'button-active-shadow');
896
1025
  }
897
1026
 
898
1027
  &.is-tab {
899
- background: eleVar('tab-button', 'bg');
1028
+ background: eleVar('tab', 'button-bg');
900
1029
 
901
1030
  &:hover {
902
- background: eleVar('tab-button', 'hover-bg');
1031
+ color: eleVar('tab', 'button-hover-color');
1032
+ background: eleVar('tab', 'button-hover-bg');
903
1033
  }
904
1034
 
905
1035
  &.is-active {
906
- font-weight: eleVar('tab-button', 'active-weight');
907
- background: eleVar('tab-button', 'active-bg');
908
- box-shadow: eleVar('tab-button', 'active-shadow');
1036
+ color: eleVar('tab', 'button-active-color');
1037
+ font-weight: eleVar('tab', 'button-active-weight');
1038
+ background: eleVar('tab', 'button-active-bg');
1039
+ box-shadow: eleVar('tab', 'button-active-shadow');
909
1040
  }
910
1041
  }
911
1042
  }
912
1043
 
913
1044
  &.is-small .ele-tab-tool {
914
- $height: eleVar('tab-sm', 'height');
1045
+ $height: eleVar('tab', 'sm-height');
915
1046
  height: calc(#{$height} - #{$space});
916
1047
  line-height: calc(#{$height} - #{$space});
917
1048
  min-width: calc(#{$height} - #{$space});
918
1049
  }
919
1050
 
920
1051
  &.is-large .ele-tab-tool {
921
- $height: eleVar('tab-lg', 'height');
1052
+ $height: eleVar('tab', 'lg-height');
922
1053
  height: calc(#{$height} - #{$space});
923
1054
  line-height: calc(#{$height} - #{$space});
924
1055
  min-width: calc(#{$height} - #{$space});