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
@@ -1,7 +1,6 @@
1
1
  import { MenuItem, TabItem, Layout, SidebarLayout, HeaderStyle, SidebarStyle, TabStyle, MenuI18n, TabItemEventOption, BodySizeChangeOption, MenuItemTrigger, BeforeClick } from './types';
2
2
  import { EleDropdownProps } from '../ele-app/plus';
3
3
  import { ContextMenus } from '../ele-tabs/types';
4
- import { EllipsisProps } from '../ele-menus/types';
5
4
  import { PropType, ExtractPropTypes } from 'vue';
6
5
 
7
6
  /**
@@ -20,7 +19,7 @@ export declare const proLayoutProps: {
20
19
  maximized: BooleanConstructor;
21
20
  /** 是否需要页签栏 */
22
21
  tabBar: {
23
- type: BooleanConstructor;
22
+ type: PropType<boolean | "header">;
24
23
  default: boolean;
25
24
  };
26
25
  /** 是否需要面包屑导航 */
@@ -61,7 +60,7 @@ export declare const proLayoutProps: {
61
60
  default: boolean;
62
61
  };
63
62
  /** 顶栏菜单省略项的属性 */
64
- ellipsisProps: PropType<EllipsisProps>;
63
+ ellipsisProps: PropType<import('../ele-menus/types').EllipsisProps | undefined>;
65
64
  /** 顶栏子菜单触发方式 */
66
65
  menuTrigger: {
67
66
  type: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "hover" | "click", unknown> | undefined>;
@@ -194,9 +193,7 @@ export declare const proLayoutProps: {
194
193
  default: number;
195
194
  };
196
195
  /** 是否开启菜单文本溢出提示 */
197
- menuTextEllipsisTooltip: BooleanConstructor;
198
- /** 菜单文本溢出提示属性 */
199
- menuTextEllipsisTooltipProps: PropType<Partial<import('../ele-tooltip/props').TooltipProps>>;
196
+ menuTextEllipsisTooltip: PropType<boolean | Partial<import('../ele-tooltip/props').TooltipProps> | undefined>;
200
197
  /** 是否支持内链缓存 */
201
198
  keepAlive: BooleanConstructor;
202
199
  /** 内链切换动画 */
@@ -9,21 +9,10 @@
9
9
  .ele-admin-header,
10
10
  .ele-admin-sidebar,
11
11
  .ele-admin-sidebox,
12
- .ele-admin-tabs,
13
- .ele-modal-inner,
14
- .ele-drawer-inner {
12
+ .ele-admin-tabs {
15
13
  @include set-ele-var('header', $var);
16
14
  }
17
15
 
18
- .ele-admin-header.is-dark,
19
- .ele-admin-header.is-primary {
20
- @include set-ele-var('header-dark', $var);
21
- }
22
-
23
- .ele-admin-header.is-primary {
24
- @include set-ele-var('header-primary', $var);
25
- }
26
-
27
16
  .ele-admin-logo {
28
17
  @include set-ele-var('logo', $var);
29
18
  }
@@ -32,18 +21,14 @@
32
21
  .ele-admin-sidebar,
33
22
  .ele-admin-sidebox,
34
23
  .ele-admin-body,
35
- .ele-admin-mask,
36
- .ele-modal-inner,
37
- .ele-drawer-inner {
24
+ .ele-admin-mask {
38
25
  @include set-ele-var('sidebar', $var);
39
26
  }
40
27
 
41
28
  .ele-admin-header,
42
29
  .ele-admin-sidebox,
43
30
  .ele-admin-sidebox-popup,
44
- .ele-admin-body,
45
- .ele-modal-inner,
46
- .ele-drawer-inner {
31
+ .ele-admin-body {
47
32
  @include set-ele-var('sidebox', $var);
48
33
  }
49
34
  }
@@ -13,6 +13,11 @@
13
13
  z-index: calc(#{eleVar('layout', 'index')} + 3);
14
14
  flex-shrink: 0;
15
15
 
16
+ &.is-ghost {
17
+ background: hsla(0, 0%, 100%, 0.04);
18
+ backdrop-filter: blur(8px);
19
+ }
20
+
16
21
  /* 图标 */
17
22
  .ele-admin-logo {
18
23
  color: eleVar('logo', 'color');
@@ -41,7 +46,9 @@
41
46
 
42
47
  /* 面包屑 */
43
48
  .ele-admin-breadcrumb {
49
+ $tool-padding: eleVar('header', 'tool-padding');
44
50
  flex-shrink: 0;
51
+ margin-left: calc(#{eleVar('header', 'tools-padding')} + #{$tool-padding});
45
52
  }
46
53
 
47
54
  /* 菜单 */
@@ -59,21 +66,79 @@
59
66
  }
60
67
  }
61
68
 
62
- /* 工具栏 */
63
- .ele-admin-tools {
64
- height: 100%;
65
- flex-shrink: 0;
66
- padding: 0 12px;
67
- display: flex;
68
- align-items: center;
69
- box-sizing: border-box;
69
+ /* 页签栏 */
70
+ & > .ele-admin-tabs {
71
+ flex: 1;
72
+ overflow: hidden;
73
+ line-height: normal;
74
+
75
+ &.ele-tab-wrap {
76
+ padding-right: 0;
77
+ background: none;
78
+ box-shadow: none;
79
+ }
80
+
81
+ & + .ele-admin-tools {
82
+ padding-left: 0;
83
+ }
84
+
85
+ &.is-simple,
86
+ &.is-indicator {
87
+ align-self: flex-end;
88
+ }
89
+ }
90
+
91
+ & > .ele-admin-tabs.ele-tab-wrap.is-simple,
92
+ & > .ele-admin-tabs.ele-tab-wrap.is-indicator,
93
+ & > .ele-tab-wrap .ele-tabs.is-simple,
94
+ & > .ele-tab-wrap .ele-tabs.is-indicator {
95
+ $height: eleVar('header', 'height');
96
+ $tool-height: eleVar('header', 'tool-height');
97
+ $tab-height: calc(#{$height} - (#{$height} - #{$tool-height}) / 2);
98
+ #{eleVarName('tab', 'height')}: #{$tab-height};
99
+ }
100
+ }
101
+
102
+ /* 工具栏 */
103
+ .ele-admin-tools {
104
+ display: flex;
105
+ align-items: center;
106
+ padding: 0 eleVar('header', 'tools-padding');
107
+ box-sizing: border-box;
108
+ flex-shrink: 0;
109
+ height: 100%;
110
+
111
+ & + .ele-admin-breadcrumb {
112
+ margin-left: 0;
113
+ }
114
+
115
+ & + .ele-admin-tabs {
116
+ &.ele-tab-wrap,
117
+ &:not(.is-fixed-home) .el-tabs__nav-wrap:not(.is-scrollable) .el-tabs__nav {
118
+ padding-left: 0;
119
+ }
120
+ }
121
+
122
+ & + .is-simple,
123
+ & + .is-indicator {
124
+ &.is-fixed-home,
125
+ &:not(.is-fixed-home) .el-tabs__nav-wrap:not(.is-scrollable) .el-tabs__nav {
126
+ padding-left: eleVar('tab', 'simple-angle-size');
127
+ }
128
+ }
129
+
130
+ & + .is-button {
131
+ &.is-fixed-home,
132
+ &:not(.is-fixed-home) .el-tabs__nav-wrap:not(.is-scrollable) .el-tabs__nav {
133
+ padding-left: eleVar('tab', 'button-space');
134
+ }
70
135
  }
71
136
  }
72
137
 
73
138
  /* 操作按钮 */
74
139
  .ele-admin-tool {
75
140
  height: eleVar('header', 'tool-height');
76
- padding: 0 12px;
141
+ padding: 0 eleVar('header', 'tool-padding');
77
142
  display: flex;
78
143
  align-items: center;
79
144
  border-radius: eleVar('header', 'tool-radius');
@@ -30,7 +30,7 @@
30
30
  width: 100% !important;
31
31
  }
32
32
 
33
- .ele-admin-tabs {
33
+ .ele-admin-body > .ele-admin-tabs {
34
34
  left: 0 !important;
35
35
  }
36
36
 
@@ -56,7 +56,7 @@
56
56
 
57
57
  &.is-dark,
58
58
  &.is-primary {
59
- box-shadow: eleVar('header-dark', 'shadow');
59
+ box-shadow: eleVar('header', 'dark-shadow');
60
60
  }
61
61
  }
62
62
  }
@@ -8,7 +8,7 @@
8
8
  top: 0;
9
9
  }
10
10
 
11
- .ele-admin-tabs {
11
+ .ele-admin-body > .ele-admin-tabs {
12
12
  position: sticky;
13
13
  top: eleVar('header', 'height');
14
14
  }
@@ -85,6 +85,7 @@
85
85
 
86
86
  .ele-admin-main,
87
87
  .ele-admin-body,
88
+ .ele-admin-wrapper,
88
89
  .ele-admin-content {
89
90
  overflow-x: hidden;
90
91
  overflow-y: auto;
@@ -95,6 +96,10 @@
95
96
  .ele-admin-sidebox {
96
97
  height: 100%;
97
98
  }
99
+
100
+ .ele-admin-wrapper > .el-backtop {
101
+ z-index: eleVar('layout', 'index');
102
+ }
98
103
  }
99
104
 
100
105
  /* 内容全屏 */
@@ -102,11 +107,11 @@
102
107
  .ele-admin-header,
103
108
  .ele-admin-sidebar,
104
109
  .ele-admin-sidebox,
105
- &.ele-admin-expanded .ele-admin-tabs {
110
+ &.ele-admin-expanded .ele-admin-body > .ele-admin-tabs {
106
111
  display: none;
107
112
  }
108
113
 
109
- &.ele-admin-fixed-header .ele-admin-tabs {
114
+ &.ele-admin-fixed-header .ele-admin-body > .ele-admin-tabs {
110
115
  top: 0;
111
116
  }
112
117
 
@@ -4,9 +4,9 @@
4
4
  /* 暗色顶栏 */
5
5
  .ele-admin-header.is-dark,
6
6
  .ele-admin-header.is-primary {
7
- color: eleVar('menu-dark', 'active-color');
8
- background: eleVar('header-dark', 'bg');
9
- box-shadow: eleVar('header-dark', 'shadow');
7
+ color: eleVar('header', 'dark-color');
8
+ background: eleVar('header', 'dark-bg');
9
+ box-shadow: eleVar('header', 'dark-shadow');
10
10
 
11
11
  /* 操作按钮 */
12
12
  .ele-admin-tool:hover {
@@ -15,32 +15,63 @@
15
15
 
16
16
  /* 面包屑 */
17
17
  .ele-breadcrumb .el-breadcrumb__item {
18
- .el-breadcrumb__inner {
19
- color: eleVar('menu-dark', 'color');
20
-
21
- &.is-link:hover {
22
- color: eleVar('menu-dark', 'active-color');
23
- }
18
+ .el-breadcrumb__inner,
19
+ .el-breadcrumb__separator {
20
+ color: rgba(255, 255, 255, 0.8);
24
21
  }
25
22
 
23
+ .el-breadcrumb__inner.is-link:hover,
26
24
  &:last-child .el-breadcrumb__inner {
27
- color: eleVar('menu-dark', 'active-color');
25
+ color: eleVar('header', 'dark-color');
28
26
  }
27
+ }
29
28
 
30
- .el-breadcrumb__separator {
31
- color: eleVar('menu-dark', 'color');
32
- }
29
+ /* 页签栏 */
30
+ & > .ele-admin-tabs.ele-tab-wrap,
31
+ & > .ele-admin-tabs .ele-tabs {
32
+ $color: eleVar('header', 'dark-color');
33
+ $hover-bg: eleVar('header', 'dark-tool-hover-bg');
34
+ #{eleVarName('tab', 'color')}: #{$color};
35
+ #{eleVarName('tab', 'hover-color')}: #{$color};
36
+ #{eleVarName('tab', 'close-color')}: #{$color};
37
+ #{eleVarName('tab', 'close-hover-color')}: #{$color};
38
+ #{eleVarName('tab', 'close-hover-bg')}: #{$hover-bg};
39
+ #{eleVarName('tab', 'tool-color')}: #{$color};
40
+ #{eleVarName('tab', 'tool-hover-color')}: #{$color};
41
+ #{eleVarName('tab', 'simple-hover-color')}: #{$color};
42
+ #{eleVarName('tab', 'simple-hover-bg')}: #{$hover-bg};
43
+ #{eleVarName('tab', 'simple-active-bg')}: #{elVar('bg-color', 'overlay')};
44
+ #{eleVarName('tab', 'simple-active-line')}: 0px;
45
+ #{eleVarName('tab', 'simple-tool-hover-bg')}: transparent;
46
+ #{eleVarName('tab', 'indicator-dot-color')}: rgba(255, 255, 255, 0.4);
47
+ #{eleVarName('tab', 'indicator-dot-hover-color')}: rgba(255, 255, 255, 0.6);
48
+ #{eleVarName('tab', 'button-bg')}: #{$hover-bg};
49
+ #{eleVarName('tab', 'button-hover-bg')}: rgba(255, 255, 255, 0.2);
50
+ #{eleVarName('tab', 'button-hover-color')}: #{$color};
33
51
  }
34
52
  }
35
53
 
54
+ .ele-admin-header.is-dark > .ele-admin-tabs.ele-tab-wrap,
55
+ .ele-admin-header.is-dark > .ele-admin-tabs .ele-tabs {
56
+ $color: eleVar('header', 'dark-color');
57
+ $hover-bg: eleVar('header', 'dark-tool-hover-bg');
58
+ #{eleVarName('tab', 'active-close-color')}: #{$color};
59
+ #{eleVarName('tab', 'active-close-hover-color')}: #{$color};
60
+ #{eleVarName('tab', 'active-close-hover-bg')}: #{$hover-bg};
61
+ #{eleVarName('tab', 'simple-active-color')}: #{$color};
62
+ #{eleVarName('tab', 'simple-active-bg')}: #{elVar('color-primary')};
63
+ #{eleVarName('tab', 'indicator-dot-active-color')}: #{$color};
64
+ #{eleVarName('tab', 'button-active-color')}: #{$color};
65
+ #{eleVarName('tab', 'button-active-bg')}: #{elVar('color-primary')};
66
+ }
67
+
36
68
  /* 主色顶栏 */
37
69
  .ele-admin-header.is-primary {
38
70
  background: elVar('color-primary');
39
71
 
72
+ /* 菜单 */
40
73
  .ele-admin-menus > .ele-menu {
41
- $hover-bg: eleVar('header-primary', 'hover-bg');
42
- $active-bg: eleVar('header-primary', 'active-bg');
43
- #{eleVarName('menu-horizontal', 'dark-hover-bg')}: #{$hover-bg};
74
+ $active-bg: eleVar('header', 'primary-active-bg');
44
75
  #{eleVarName('menu-horizontal', 'dark-active-bg')}: #{$active-bg};
45
76
  }
46
77
  }
@@ -68,18 +99,12 @@
68
99
 
69
100
  .ele-admin-sidebox {
70
101
  background: eleVar('sidebar', 'dark-bg');
71
-
72
- .ele-admin-menus > .el-scrollbar__wrap > .el-scrollbar__view > .ele-menu {
73
- & > .el-sub-menu.is-active > .el-sub-menu__title {
74
- background: eleVar('menu-dark', 'active-bg');
75
- }
76
- }
77
102
  }
78
103
  }
79
104
 
80
105
  .ele-admin-sidebox .ele-sidebar-tool,
81
106
  &:not(.ele-admin-mix-sidebar) .ele-admin-sidebar .ele-sidebar-tool {
82
- color: eleVar('menu-dark', 'active-color');
107
+ color: eleVar('header', 'dark-color');
83
108
 
84
109
  &:hover {
85
110
  background: eleVar('header', 'dark-tool-hover-bg');
@@ -19,14 +19,21 @@
19
19
  transition: width $ele-transition;
20
20
  }
21
21
 
22
- .ele-admin-content {
22
+ .ele-admin-wrapper {
23
23
  flex: auto;
24
24
  display: flex;
25
25
  flex-direction: column;
26
+ position: relative;
27
+
28
+ & > .el-backtop {
29
+ z-index: calc(#{eleVar('layout', 'index')} + 1);
30
+ }
26
31
  }
27
32
 
28
- & > .el-backtop {
29
- z-index: eleVar('layout', 'index');
33
+ .ele-admin-content {
34
+ flex: auto;
35
+ display: flex;
36
+ flex-direction: column;
30
37
  }
31
38
  }
32
39
 
@@ -72,3 +79,16 @@
72
79
  flex-shrink: 0;
73
80
  overflow: hidden;
74
81
  }
82
+
83
+ /* 弹窗容器 */
84
+ .ele-admin-modals {
85
+ position: absolute;
86
+ top: 0;
87
+ left: 0;
88
+ right: 0;
89
+ bottom: 0;
90
+ width: 100%;
91
+ height: 100%;
92
+ pointer-events: none;
93
+ z-index: eleVar('layout', 'index');
94
+ }
@@ -103,7 +103,6 @@
103
103
  }
104
104
 
105
105
  & > .el-sub-menu.is-active > .el-sub-menu__title {
106
- background: eleVar('menu-item', 'active-bg');
107
106
  transition: none;
108
107
  }
109
108
 
@@ -15,6 +15,25 @@
15
15
  /* 固定主页页签 */
16
16
  &.is-fixed-home {
17
17
  padding-left: eleVar('page', 'padding');
18
+
19
+ &.is-tag .el-tabs__nav-wrap:not(.is-scrollable) .el-tabs__nav {
20
+ padding-left: eleVar('tab', 'tag-space');
21
+ }
22
+
23
+ &.is-button .el-tabs__nav-wrap:not(.is-scrollable) .el-tabs__nav {
24
+ padding-left: eleVar('tab', 'button-space');
25
+ }
26
+ }
27
+
28
+ /* 页签风格适配 */
29
+ &.is-tag {
30
+ padding-right: eleVar('tab', 'tag-space');
31
+ }
32
+
33
+ &.is-button {
34
+ padding-right: eleVar('page', 'padding');
35
+ background: eleVar('layout', 'bg');
36
+ box-shadow: none;
18
37
  }
19
38
  }
20
39
 
@@ -24,14 +43,3 @@
24
43
  box-shadow: 0 -0.8px 0 eleVar('header', 'line-color') inset;
25
44
  }
26
45
  }
27
-
28
- /* 按钮风格页签 */
29
- .ele-admin-tab-card .ele-admin-tabs {
30
- padding-right: eleVar('page', 'padding');
31
- background: eleVar('layout', 'bg');
32
- box-shadow: none;
33
-
34
- &.is-fixed-home .el-tabs__nav-wrap:not(.is-scrollable) .el-tabs__nav {
35
- padding-left: eleVar('tab-button', 'space');
36
- }
37
- }
@@ -117,7 +117,7 @@ export type SidebarStyle = 'light' | 'dark';
117
117
  /**
118
118
  * 页签风格
119
119
  */
120
- export type TabStyle = 'simple' | 'indicator' | 'button';
120
+ export type TabStyle = 'simple' | 'indicator' | 'button' | 'tag';
121
121
 
122
122
  /**
123
123
  * 菜单标题国际化方法
@@ -130,9 +130,6 @@ const _sfc_main = vue.defineComponent({
130
130
  };
131
131
  const onPrintDone = () => {
132
132
  hideLoading();
133
- if (props.printerProps != null && typeof props.printerProps.onDone === "function") {
134
- props.printerProps.onDone();
135
- }
136
133
  };
137
134
  const printData = (data) => {
138
135
  showLoading();
@@ -61,7 +61,8 @@ const _sfc_main = vue.defineComponent({
61
61
  {
62
62
  total: tableTotal.value,
63
63
  pageSize: tableLimit.value,
64
- currentPage: tablePage.value
64
+ currentPage: tablePage.value,
65
+ hasNext: tableData.value.length >= tableLimit.value
65
66
  }
66
67
  );
67
68
  });
@@ -121,7 +121,6 @@ declare const _default: import('vue').DefineComponent<{
121
121
  row: any;
122
122
  rowIndex: number;
123
123
  column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
124
- /** 请求数据回调 */
125
124
  columnIndex: number;
126
125
  }) => number[] | {
127
126
  rowspan: number;
@@ -222,7 +221,7 @@ declare const _default: import('vue').DefineComponent<{
222
221
  'update:current': (_current?: DataItem | null | undefined) => boolean;
223
222
  columnsChange: (_columns: Columns) => boolean;
224
223
  sizeChange: (_size: "" | "default" | "small" | "large" | undefined) => boolean;
225
- maximizedChange: (_maximized: boolean) => boolean;
224
+ maximizedChange: (_maximized: boolean) => boolean; /** 表格尺寸 */
226
225
  refresh: () => boolean;
227
226
  select: (_selection: DataItem[], _row: DataItem) => boolean;
228
227
  selectAll: (_selection: DataItem[]) => boolean;
@@ -241,9 +240,9 @@ declare const _default: import('vue').DefineComponent<{
241
240
  filterChange: (_filter: Filter) => boolean;
242
241
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
243
242
  headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean;
244
- expandChange: (_row: DataItem, _expanded: boolean) => boolean; /** 数据请求状态 */
243
+ expandChange: (_row: DataItem, _expanded: boolean) => boolean;
245
244
  'update:currentRowKey': (_currentRowKey?: import("../ele-data-table/types").DataKey | undefined) => boolean;
246
- 'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean;
245
+ 'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean; /** 表格尺寸 */
247
246
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
248
247
  rowKey: {
249
248
  type: import("vue").PropType<string | ((row: DataItem) => string) | undefined>;
@@ -362,7 +361,6 @@ declare const _default: import('vue').DefineComponent<{
362
361
  row: any;
363
362
  rowIndex: number;
364
363
  column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
365
- /** 请求数据回调 */
366
364
  columnIndex: number;
367
365
  }) => number[] | {
368
366
  rowspan: number;
@@ -27,7 +27,7 @@ export declare function getTableLimit(pagination: boolean | TablePagination | un
27
27
  * @param globalPagination 全局配置分页组件属性
28
28
  * @param pageProps 分页相关的属性
29
29
  */
30
- export declare function getPaginationProps(size: TableSize, pagination: boolean | TablePagination | undefined, globalPagination: boolean | TablePagination | undefined, pageProps?: Pick<ElePaginationProps, 'total' | 'pageSize' | 'currentPage'>): ElePaginationProps | null;
30
+ export declare function getPaginationProps(size: TableSize, pagination: boolean | TablePagination | undefined, globalPagination: boolean | TablePagination | undefined, pageProps?: Pick<ElePaginationProps, 'total' | 'pageSize' | 'currentPage' | 'hasNext'>): ElePaginationProps | null;
31
31
  /**
32
32
  * 判断是否开启自动修正页码
33
33
  * @param pagination 分页组件属性
@@ -20,7 +20,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
20
20
  { "is-large": _ctx.size === "large" },
21
21
  { "is-simple": _ctx.type === "simple" },
22
22
  { "is-indicator": _ctx.type === "indicator" },
23
- { "is-button": _ctx.type === "button" }
23
+ { "is-button": _ctx.type === "button" },
24
+ { "is-tag": _ctx.type === "tag" }
24
25
  ])
25
26
  }, [
26
27
  vue.renderSlot(_ctx.$slots, "default")
@@ -229,39 +229,35 @@ const _sfc_main = vue.defineComponent({
229
229
  updateModelValue(rowKey);
230
230
  }
231
231
  };
232
- const onTableCurrentChange = (row, old) => {
232
+ const onTableCurrentChange = (row) => {
233
233
  if (!props2.multiple && row != null) {
234
234
  updateSelectedItems(true);
235
- emit("select", row);
236
- }
237
- if (props2.tableProps != null && typeof props2.tableProps.onCurrentChange === "function") {
238
- props2.tableProps.onCurrentChange(row, old);
239
235
  }
240
236
  };
241
- const onTableSelectionChange = (selection) => {
237
+ const onTableSelectionChange = () => {
242
238
  if (props2.multiple) {
243
239
  updateSelectedItems(true);
244
- emit("select", selection);
245
- }
246
- if (props2.tableProps != null && typeof props2.tableProps.onSelectionChange === "function") {
247
- props2.tableProps.onSelectionChange(selection);
248
240
  }
249
241
  };
250
- const onTableRowClick = (row, column, e) => {
242
+ const onTableRowClick = (row) => {
243
+ var _a;
251
244
  if (!props2.multiple) {
252
245
  updateVisible(false);
246
+ emit("select", row);
247
+ } else if (((_a = props2.tableProps) == null ? void 0 : _a.rowClickChecked) && tableRef.value) {
248
+ emit("select", tableRef.value.getSelectionRows() || []);
253
249
  }
254
- if (props2.tableProps != null && typeof props2.tableProps.onRowClick === "function") {
255
- props2.tableProps.onRowClick(row, column, e);
256
- }
257
250
  };
258
- const onTableDone = (result, parent) => {
251
+ const onTableSelect = (selection) => {
252
+ emit("select", selection);
253
+ };
254
+ const onTableSelectAll = (selection) => {
255
+ emit("select", selection);
256
+ };
257
+ const onTableDone = () => {
259
258
  vue.nextTick(() => {
260
259
  updatePopover();
261
260
  });
262
- if (props2.tableProps != null && typeof props2.tableProps.onDone === "function") {
263
- props2.tableProps.onDone(result, parent);
264
- }
265
261
  };
266
262
  vue.watch(
267
263
  () => props2.modelValue,
@@ -323,6 +319,8 @@ const _sfc_main = vue.defineComponent({
323
319
  onTableCurrentChange,
324
320
  onTableSelectionChange,
325
321
  onTableRowClick,
322
+ onTableSelect,
323
+ onTableSelectAll,
326
324
  onTableDone
327
325
  };
328
326
  }
@@ -371,19 +369,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
371
369
  }, vue.createSlots({
372
370
  default: vue.withCtx(() => [
373
371
  vue.renderSlot(_ctx.$slots, "topExtra"),
374
- vue.createVNode(_component_EleProTable, vue.mergeProps(_ctx.tableProps || {}, {
375
- ref: "tableRef",
376
- rowKey: _ctx.valueKey,
377
- reserveCurrent: true,
378
- highlightCurrentRow: !_ctx.multiple,
379
- currentRowKey: _ctx.currentRowKey,
380
- selectedRowKeys: _ctx.selectedRowKeys,
372
+ vue.createVNode(_component_EleProTable, vue.mergeProps({
381
373
  "onUpdate:selectedRowKeys": _ctx.updateSelectedRowKeys,
382
374
  "onUpdate:currentRowKey": _ctx.updateCurrentRowKey,
383
375
  onSelectionChange: _ctx.onTableSelectionChange,
384
376
  onCurrentChange: _ctx.onTableCurrentChange,
385
377
  onRowClick: _ctx.onTableRowClick,
378
+ onSelect: _ctx.onTableSelect,
379
+ onSelectAll: _ctx.onTableSelectAll,
386
380
  onDone: _ctx.onTableDone
381
+ }, _ctx.tableProps || {}, {
382
+ ref: "tableRef",
383
+ rowKey: _ctx.valueKey,
384
+ reserveCurrent: true,
385
+ highlightCurrentRow: !_ctx.multiple,
386
+ currentRowKey: _ctx.currentRowKey,
387
+ selectedRowKeys: _ctx.selectedRowKeys
387
388
  }), vue.createSlots({ _: 2 }, [
388
389
  vue.renderList(Object.keys(_ctx.$slots).filter(
389
390
  (k) => !["topExtra", "bottomExtra", "maxTagPlaceholder"].includes(k)
@@ -395,7 +396,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
395
396
  ])
396
397
  };
397
398
  })
398
- ]), 1040, ["rowKey", "highlightCurrentRow", "currentRowKey", "selectedRowKeys", "onUpdate:selectedRowKeys", "onUpdate:currentRowKey", "onSelectionChange", "onCurrentChange", "onRowClick", "onDone"]),
399
+ ]), 1040, ["onUpdate:selectedRowKeys", "onUpdate:currentRowKey", "onSelectionChange", "onCurrentChange", "onRowClick", "onSelect", "onSelectAll", "onDone", "rowKey", "highlightCurrentRow", "currentRowKey", "selectedRowKeys"]),
399
400
  vue.renderSlot(_ctx.$slots, "bottomExtra")
400
401
  ]),
401
402
  _: 2