ele-admin-plus 1.2.0-beta.4 → 1.2.0-beta.6

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.
@@ -420,10 +420,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
420
420
  key: 0,
421
421
  mode: "horizontal",
422
422
  theme: _ctx.isDarkHeader || _ctx.isPrimaryHeader ? "dark" : "light",
423
- popupTheme: _ctx.isDarkHeader ? "dark" : "light"
423
+ popupTheme: _ctx.isDarkHeader ? "dark" : "light",
424
+ defaultActive: _ctx.headerActive
424
425
  }, _ctx.headerMenuProps || {}, {
425
426
  items: _ctx.headerMenus,
426
- defaultActive: _ctx.headerActive,
427
427
  onOpen: _ctx.handleHeadMenuOpen,
428
428
  onClose: _ctx.handleHeadMenuClose,
429
429
  onItemClick: _ctx.handleHeadMenuItemClick,
@@ -444,7 +444,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
444
444
  ]),
445
445
  key: "1"
446
446
  } : void 0
447
- ]), 1040, ["theme", "popupTheme", "items", "defaultActive", "onOpen", "onClose", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : createCommentVNode("", true)
447
+ ]), 1040, ["theme", "popupTheme", "defaultActive", "items", "onOpen", "onClose", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : createCommentVNode("", true)
448
448
  ])) : createCommentVNode("", true),
449
449
  _ctx.showHeaderTabs ? (openBlock(), createBlock(_component_LayoutTabs, {
450
450
  key: 4,
@@ -521,11 +521,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
521
521
  mode: "compact",
522
522
  uniqueOpened: true,
523
523
  collapseTransition: false,
524
- theme: _ctx.sidebarStyle
524
+ theme: _ctx.sidebarStyle,
525
+ defaultActive: _ctx.sideboxActive,
526
+ collapse: _ctx.compact
525
527
  }, _ctx.sideboxMenuProps || {}, {
526
528
  items: _ctx.sideboxMenus,
527
- defaultActive: _ctx.sideboxActive,
528
- collapse: _ctx.compact,
529
529
  onItemClick: _ctx.handleBoxMenuItemClick,
530
530
  onItemMouseenter: _ctx.handleBoxMenuItemMouseenter,
531
531
  onItemMouseleave: _ctx.handleBoxMenuItemMouseleave
@@ -544,7 +544,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
544
544
  ]),
545
545
  key: "1"
546
546
  } : void 0
547
- ]), 1040, ["theme", "items", "defaultActive", "collapse", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : createCommentVNode("", true)
547
+ ]), 1040, ["theme", "defaultActive", "collapse", "items", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : createCommentVNode("", true)
548
548
  ]),
549
549
  _: 3
550
550
  }),
@@ -585,11 +585,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
585
585
  ref: "sidebarMenuRef",
586
586
  uniqueOpened: true,
587
587
  collapseTransition: false,
588
- theme: _ctx.isMixSidebar && !_ctx.isDarkMixSidebar ? void 0 : _ctx.sidebarStyle
588
+ theme: _ctx.isMixSidebar && !_ctx.isDarkMixSidebar ? void 0 : _ctx.sidebarStyle,
589
+ defaultActive: _ctx.sidebarActive,
590
+ collapse: _ctx.isMixSidebar ? false : _ctx.isCollapseSidebar
589
591
  }, _ctx.sidebarMenuProps || {}, {
590
592
  items: _ctx.sidebarMenus,
591
- defaultActive: _ctx.sidebarActive,
592
- collapse: _ctx.isMixSidebar ? false : _ctx.isCollapseSidebar,
593
593
  onOpen: _ctx.handleSideMenuOpen,
594
594
  onClose: _ctx.handleSideMenuClose,
595
595
  onItemClick: _ctx.handleSideMenuItemClick
@@ -608,7 +608,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
608
608
  ]),
609
609
  key: "1"
610
610
  } : void 0
611
- ]), 1040, ["theme", "items", "defaultActive", "collapse", "onOpen", "onClose", "onItemClick"])) : createCommentVNode("", true)
611
+ ]), 1040, ["theme", "defaultActive", "collapse", "items", "onOpen", "onClose", "onItemClick"])) : createCommentVNode("", true)
612
612
  ]),
613
613
  _: 3
614
614
  }),
@@ -140,6 +140,7 @@
140
140
  /* 移动端风格 */
141
141
  &.is-mobile > .ele-admin-side {
142
142
  width: 0;
143
+ z-index: calc(#{eleVar('layout', 'mask-index')} + 1);
143
144
  }
144
145
 
145
146
  &.is-collapse > .ele-admin-side {
@@ -301,7 +302,7 @@
301
302
  bottom: 0;
302
303
  width: 100%;
303
304
  height: 100%;
304
- z-index: calc(#{eleVar('layout', 'index')} + 2);
305
+ z-index: eleVar('layout', 'mask-index');
305
306
  background: elVar('overlay-color', 'lighter');
306
307
  transition: all $transition-base;
307
308
  }
@@ -15,7 +15,7 @@
15
15
  align-items: flex-start;
16
16
  margin: 0 auto eleVar('message', 'space') auto;
17
17
  transition: margin-bottom 0.2s;
18
- position: relative !important;
18
+ position: static !important;
19
19
  left: auto !important;
20
20
  top: auto !important;
21
21
  transform: none;
@@ -25,16 +25,31 @@
25
25
  display: none;
26
26
  }
27
27
 
28
- & > .el-message__icon,
28
+ /* 徽章 */
29
29
  & > .el-message__badge {
30
- z-index: calc(#{elVar('index', 'popper')} + 2);
30
+ position: relative;
31
+ top: auto;
32
+ right: auto;
33
+ width: 0;
34
+ height: 0;
35
+ overflow: visible;
36
+ order: 2;
37
+ z-index: calc(#{eleVar('message', 'index')} + 2);
31
38
  transition: (
32
39
  margin-top 0.4s,
33
40
  transform elVar('transition-duration'),
34
41
  opacity elVar('transition-duration')
35
42
  );
43
+
44
+ & > .el-badge__content {
45
+ position: absolute;
46
+ top: 8px;
47
+ right: -8px;
48
+ transform: translateY(-100%);
49
+ }
36
50
  }
37
51
 
52
+ /* 主体 */
38
53
  & > .el-message__icon {
39
54
  width: auto;
40
55
  height: auto;
@@ -50,7 +65,12 @@
50
65
  border-radius: eleVar('message', 'radius');
51
66
  background: elVar('color-primary', 'light-9');
52
67
  border: 0 solid elVar('color-primary', 'light-8');
53
- z-index: calc(#{elVar('index', 'popper')} + 1);
68
+ z-index: calc(#{eleVar('message', 'index')} + 1);
69
+ transition: (
70
+ margin-top 0.4s,
71
+ transform elVar('transition-duration'),
72
+ opacity elVar('transition-duration')
73
+ );
54
74
  box-sizing: border-box;
55
75
  position: relative;
56
76
  }
@@ -60,6 +80,7 @@
60
80
  margin-top: 0 !important;
61
81
  }
62
82
 
83
+ /* 图标 */
63
84
  .ele-message-icon {
64
85
  flex-shrink: 0;
65
86
  display: flex;
@@ -70,6 +91,7 @@
70
91
  margin: eleVar('message', 'icon-margin');
71
92
  }
72
93
 
94
+ /* 关闭按钮 */
73
95
  .ele-message-close {
74
96
  flex-shrink: 0;
75
97
  display: flex;
@@ -119,7 +141,8 @@
119
141
  }
120
142
  }
121
143
 
122
- .ele-message.el-message--info > .el-message__badge > .el-badge__content {
144
+ .ele-message.el-message--info > .el-message__badge > .el-badge__content,
145
+ .ele-message.is-loading > .el-message__badge > .el-badge__content {
123
146
  background: elVar('color-primary');
124
147
  }
125
148
 
@@ -162,23 +185,15 @@
162
185
  }
163
186
 
164
187
  /* 加载框 */
165
- .ele-message.is-loading {
166
- position: static !important;
167
-
168
- &::before {
169
- content: '';
170
- position: absolute;
171
- top: 0;
172
- left: 0;
173
- right: 0;
174
- bottom: 0;
175
- transition: opacity elVar('transition-duration');
176
- z-index: elVar('index', 'popper');
177
- }
178
-
179
- & > .el-message__badge {
180
- display: none;
181
- }
188
+ .ele-message.is-loading::before {
189
+ content: '';
190
+ position: absolute;
191
+ top: 0;
192
+ left: 0;
193
+ right: 0;
194
+ bottom: 0;
195
+ transition: opacity elVar('transition-duration');
196
+ z-index: eleVar('message', 'index');
182
197
  }
183
198
 
184
199
  /* 遮罩 */
@@ -12,7 +12,6 @@ import "./notification/index";
12
12
  import "./popper/index";
13
13
  import "./radio/index";
14
14
  import "./select/index";
15
- import "./table-filter/index";
16
15
  import "./tag/index";
17
16
  import "./tree/index";
18
17
  import "./tree-select/index";
@@ -1,8 +1,8 @@
1
- @use '../../../../style/util.scss' as *;
2
-
3
- /* ElTree 主题变量 */
4
- @mixin set-el-tree-var($var) {
5
- .el-tree {
6
- @include set-ele-var('tree', $var);
7
- }
8
- }
1
+ @use '../../../../style/util.scss' as *;
2
+
3
+ /* ElTree 主题变量 */
4
+ @mixin set-el-tree-var($var) {
5
+ .el-tree {
6
+ @include set-ele-var('tree', $var);
7
+ }
8
+ }
@@ -1,5 +1,5 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
- target: import('vue').PropType<string | HTMLElement>;
2
+ target: import('vue').PropType<string | HTMLElement | null>;
3
3
  visibilityHeight: {
4
4
  type: NumberConstructor;
5
5
  default: number;
@@ -14,7 +14,7 @@ declare const _default: import('vue').DefineComponent<{
14
14
  };
15
15
  transitionName: {
16
16
  type: StringConstructor;
17
- default: string; /** 目标元素 */
17
+ default: string;
18
18
  };
19
19
  }, {
20
20
  visible: import('vue').Ref<boolean>;
@@ -22,7 +22,7 @@ declare const _default: import('vue').DefineComponent<{
22
22
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
23
  click: (_e: MouseEvent) => boolean;
24
24
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
25
- target: import('vue').PropType<string | HTMLElement>;
25
+ target: import('vue').PropType<string | HTMLElement | null>;
26
26
  visibilityHeight: {
27
27
  type: NumberConstructor;
28
28
  default: number;
@@ -37,7 +37,7 @@ declare const _default: import('vue').DefineComponent<{
37
37
  };
38
38
  transitionName: {
39
39
  type: StringConstructor;
40
- default: string; /** 目标元素 */
40
+ default: string;
41
41
  };
42
42
  }>> & {
43
43
  onClick?: ((_e: MouseEvent) => any) | undefined;
@@ -1,10 +1,11 @@
1
1
  import { defineComponent, ref, shallowRef, watch, onMounted, onBeforeUnmount, resolveComponent, openBlock, createBlock, Transition, withCtx, createElementBlock, normalizeStyle, renderSlot, createVNode, createCommentVNode } from "vue";
2
+ import { ElIcon } from "element-plus";
2
3
  import { ArrowUp } from "../icons";
3
4
  import { throttle } from "../utils/core";
4
5
  import { backtopProps, backtopEmits } from "./props";
5
6
  const _sfc_main = defineComponent({
6
7
  name: "EleBacktop",
7
- components: { ArrowUp },
8
+ components: { ElIcon, ArrowUp },
8
9
  props: backtopProps,
9
10
  emits: backtopEmits,
10
11
  setup(props, { emit }) {
@@ -5,7 +5,7 @@ import { PropType, ExtractPropTypes } from 'vue';
5
5
  */
6
6
  export declare const backtopProps: {
7
7
  /** 触发滚动的对象 */
8
- target: PropType<string | HTMLElement>;
8
+ target: PropType<string | HTMLElement | null>;
9
9
  /** 滚动高度达到此参数值才出现 */
10
10
  visibilityHeight: {
11
11
  type: NumberConstructor;
@@ -1 +1,2 @@
1
+ import "element-plus/es/components/icon/style/index";
1
2
  import "./index.scss";
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as j, ref as N, computed as R, watch as T, resolveComponent as x, openBlock as y, createBlock as V, normalizeStyle as W, withCtx as Y, renderSlot as z } from "vue";
2
2
  import I from "../../ele-watermark/index";
3
3
  import { useReceiver as K } from "../receiver";
4
- const O = "1.1";
4
+ const O = "1.2";
5
5
  function J(t) {
6
6
  const r = (v, D, a) => {
7
7
  const s = ((l, S) => {
@@ -504,9 +504,6 @@ const _sfc_main = defineComponent({
504
504
  }
505
505
  emit("tabSortChange", result);
506
506
  };
507
- const handleTabAdd = (data) => {
508
- emit("tabAdd", data);
509
- };
510
507
  const getContentElem = () => {
511
508
  if (!layoutRef.value) {
512
509
  return null;
@@ -543,7 +540,7 @@ const _sfc_main = defineComponent({
543
540
  const t = getRouteTab(route, tabData.value, homeMenuPath.value, title);
544
541
  isHome.value = t.home;
545
542
  tabActive.value = t.key;
546
- handleTabAdd(t);
543
+ emit("tabAdd", t);
547
544
  if (!navigationIsChanged && !sideNavigationIsChanged) {
548
545
  updateMenuActive(active, matched);
549
546
  if (navigation.value === "mix" || sideNavigation.value === "mix" || sideNavigation.value === "box") {
@@ -645,10 +642,8 @@ const _sfc_main = defineComponent({
645
642
  return;
646
643
  }
647
644
  tabData.value = props.tabs.map((item) => {
648
- var _a;
649
645
  const m = findMenuByPath(item.path, menuData.value);
650
- const title = ((_a = m == null ? void 0 : m.meta) == null ? void 0 : _a.title) || routeI18n(item.path) || item.title;
651
- return { ...item, title };
646
+ return { ...item, title: routeI18n(item.path, m) || item.title };
652
647
  });
653
648
  };
654
649
  const updateLevelData = () => {
@@ -656,7 +651,7 @@ const _sfc_main = defineComponent({
656
651
  var _a;
657
652
  const t = findTabByPath(item.path, tabData.value);
658
653
  const m = findMenuByPath(item.path, menuData.value);
659
- const title = (t == null ? void 0 : t.title) || ((_a = m == null ? void 0 : m.meta) == null ? void 0 : _a.title) || routeI18n(item.path);
654
+ const title = (t == null ? void 0 : t.title) || ((_a = m == null ? void 0 : m.meta) == null ? void 0 : _a.title) || routeI18n(item.path, m);
660
655
  return { ...item, title: title || item.title };
661
656
  });
662
657
  };
@@ -46,6 +46,7 @@ const _sfc_main = defineComponent({
46
46
  maxWidth: "none !important",
47
47
  maxHeight: "none !important",
48
48
  zoom: "1 !important",
49
+ mask: "none !important",
49
50
  display: "block !important",
50
51
  ...props.customStyle || {}
51
52
  };
@@ -14,7 +14,8 @@ $ele-dark: map.deep-merge(
14
14
  'tool-hover-bg': rgba(255, 255, 255, 0.05),
15
15
  'dark-tool-hover-bg': rgba(255, 255, 255, 0.05),
16
16
  'dark-bg': #1f1f1f,
17
- 'dark-shadow': 0 1px 4px rgba(0, 0, 0, 0.6)
17
+ 'dark-shadow': 0 1px 4px rgba(0, 0, 0, 0.6),
18
+ 'ghost-bg': hsla(0, 0%, 32%, 0.4)
18
19
  ),
19
20
  'logo': (
20
21
  'shadow': 0 3px 4px rgba(0, 0, 0, 0.6),
@@ -37,7 +37,8 @@ $ele: map.deep-merge(
37
37
  'layout': (
38
38
  // 布局
39
39
  'bg': elVar('bg-color', 'page'),
40
- 'index': 99
40
+ 'index': 99,
41
+ 'mask-index': calc(#{elVar('index', 'popper')} + 2000)
41
42
  ),
42
43
  'header': (
43
44
  // 顶栏
@@ -152,7 +153,8 @@ $ele: map.deep-merge(
152
153
  'close-hover-bg': transparent,
153
154
  'plain-bg': elVar('bg-color', 'overlay'),
154
155
  'alert-padding': 10px 14px,
155
- 'mask-color': elVar('overlay-color', 'lighter')
156
+ 'mask-color': elVar('overlay-color', 'lighter'),
157
+ 'index': calc(#{elVar('index', 'popper')} + 2002)
156
158
  ),
157
159
  'bottom-bar': (
158
160
  // 底部工具栏
@@ -54,7 +54,7 @@ $ele-rounded: map.deep-merge(
54
54
  'menu-active-line': 0
55
55
  ),
56
56
  'map': (
57
- 'search-padding': 0 12px 6px 12px
57
+ 'search-padding': 2px 12px 6px 12px
58
58
  ),
59
59
  'menu': (
60
60
  'arrow-margin': 0 -8px 0 6px,
@@ -421,10 +421,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
421
421
  key: 0,
422
422
  mode: "horizontal",
423
423
  theme: _ctx.isDarkHeader || _ctx.isPrimaryHeader ? "dark" : "light",
424
- popupTheme: _ctx.isDarkHeader ? "dark" : "light"
424
+ popupTheme: _ctx.isDarkHeader ? "dark" : "light",
425
+ defaultActive: _ctx.headerActive
425
426
  }, _ctx.headerMenuProps || {}, {
426
427
  items: _ctx.headerMenus,
427
- defaultActive: _ctx.headerActive,
428
428
  onOpen: _ctx.handleHeadMenuOpen,
429
429
  onClose: _ctx.handleHeadMenuClose,
430
430
  onItemClick: _ctx.handleHeadMenuItemClick,
@@ -445,7 +445,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
445
445
  ]),
446
446
  key: "1"
447
447
  } : void 0
448
- ]), 1040, ["theme", "popupTheme", "items", "defaultActive", "onOpen", "onClose", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : vue.createCommentVNode("", true)
448
+ ]), 1040, ["theme", "popupTheme", "defaultActive", "items", "onOpen", "onClose", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : vue.createCommentVNode("", true)
449
449
  ])) : vue.createCommentVNode("", true),
450
450
  _ctx.showHeaderTabs ? (vue.openBlock(), vue.createBlock(_component_LayoutTabs, {
451
451
  key: 4,
@@ -522,11 +522,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
522
522
  mode: "compact",
523
523
  uniqueOpened: true,
524
524
  collapseTransition: false,
525
- theme: _ctx.sidebarStyle
525
+ theme: _ctx.sidebarStyle,
526
+ defaultActive: _ctx.sideboxActive,
527
+ collapse: _ctx.compact
526
528
  }, _ctx.sideboxMenuProps || {}, {
527
529
  items: _ctx.sideboxMenus,
528
- defaultActive: _ctx.sideboxActive,
529
- collapse: _ctx.compact,
530
530
  onItemClick: _ctx.handleBoxMenuItemClick,
531
531
  onItemMouseenter: _ctx.handleBoxMenuItemMouseenter,
532
532
  onItemMouseleave: _ctx.handleBoxMenuItemMouseleave
@@ -545,7 +545,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
545
545
  ]),
546
546
  key: "1"
547
547
  } : void 0
548
- ]), 1040, ["theme", "items", "defaultActive", "collapse", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : vue.createCommentVNode("", true)
548
+ ]), 1040, ["theme", "defaultActive", "collapse", "items", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : vue.createCommentVNode("", true)
549
549
  ]),
550
550
  _: 3
551
551
  }),
@@ -586,11 +586,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
586
586
  ref: "sidebarMenuRef",
587
587
  uniqueOpened: true,
588
588
  collapseTransition: false,
589
- theme: _ctx.isMixSidebar && !_ctx.isDarkMixSidebar ? void 0 : _ctx.sidebarStyle
589
+ theme: _ctx.isMixSidebar && !_ctx.isDarkMixSidebar ? void 0 : _ctx.sidebarStyle,
590
+ defaultActive: _ctx.sidebarActive,
591
+ collapse: _ctx.isMixSidebar ? false : _ctx.isCollapseSidebar
590
592
  }, _ctx.sidebarMenuProps || {}, {
591
593
  items: _ctx.sidebarMenus,
592
- defaultActive: _ctx.sidebarActive,
593
- collapse: _ctx.isMixSidebar ? false : _ctx.isCollapseSidebar,
594
594
  onOpen: _ctx.handleSideMenuOpen,
595
595
  onClose: _ctx.handleSideMenuClose,
596
596
  onItemClick: _ctx.handleSideMenuItemClick
@@ -609,7 +609,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
609
609
  ]),
610
610
  key: "1"
611
611
  } : void 0
612
- ]), 1040, ["theme", "items", "defaultActive", "collapse", "onOpen", "onClose", "onItemClick"])) : vue.createCommentVNode("", true)
612
+ ]), 1040, ["theme", "defaultActive", "collapse", "items", "onOpen", "onClose", "onItemClick"])) : vue.createCommentVNode("", true)
613
613
  ]),
614
614
  _: 3
615
615
  }),
@@ -140,6 +140,7 @@
140
140
  /* 移动端风格 */
141
141
  &.is-mobile > .ele-admin-side {
142
142
  width: 0;
143
+ z-index: calc(#{eleVar('layout', 'mask-index')} + 1);
143
144
  }
144
145
 
145
146
  &.is-collapse > .ele-admin-side {
@@ -301,7 +302,7 @@
301
302
  bottom: 0;
302
303
  width: 100%;
303
304
  height: 100%;
304
- z-index: calc(#{eleVar('layout', 'index')} + 2);
305
+ z-index: eleVar('layout', 'mask-index');
305
306
  background: elVar('overlay-color', 'lighter');
306
307
  transition: all $transition-base;
307
308
  }
@@ -15,7 +15,7 @@
15
15
  align-items: flex-start;
16
16
  margin: 0 auto eleVar('message', 'space') auto;
17
17
  transition: margin-bottom 0.2s;
18
- position: relative !important;
18
+ position: static !important;
19
19
  left: auto !important;
20
20
  top: auto !important;
21
21
  transform: none;
@@ -25,16 +25,31 @@
25
25
  display: none;
26
26
  }
27
27
 
28
- & > .el-message__icon,
28
+ /* 徽章 */
29
29
  & > .el-message__badge {
30
- z-index: calc(#{elVar('index', 'popper')} + 2);
30
+ position: relative;
31
+ top: auto;
32
+ right: auto;
33
+ width: 0;
34
+ height: 0;
35
+ overflow: visible;
36
+ order: 2;
37
+ z-index: calc(#{eleVar('message', 'index')} + 2);
31
38
  transition: (
32
39
  margin-top 0.4s,
33
40
  transform elVar('transition-duration'),
34
41
  opacity elVar('transition-duration')
35
42
  );
43
+
44
+ & > .el-badge__content {
45
+ position: absolute;
46
+ top: 8px;
47
+ right: -8px;
48
+ transform: translateY(-100%);
49
+ }
36
50
  }
37
51
 
52
+ /* 主体 */
38
53
  & > .el-message__icon {
39
54
  width: auto;
40
55
  height: auto;
@@ -50,7 +65,12 @@
50
65
  border-radius: eleVar('message', 'radius');
51
66
  background: elVar('color-primary', 'light-9');
52
67
  border: 0 solid elVar('color-primary', 'light-8');
53
- z-index: calc(#{elVar('index', 'popper')} + 1);
68
+ z-index: calc(#{eleVar('message', 'index')} + 1);
69
+ transition: (
70
+ margin-top 0.4s,
71
+ transform elVar('transition-duration'),
72
+ opacity elVar('transition-duration')
73
+ );
54
74
  box-sizing: border-box;
55
75
  position: relative;
56
76
  }
@@ -60,6 +80,7 @@
60
80
  margin-top: 0 !important;
61
81
  }
62
82
 
83
+ /* 图标 */
63
84
  .ele-message-icon {
64
85
  flex-shrink: 0;
65
86
  display: flex;
@@ -70,6 +91,7 @@
70
91
  margin: eleVar('message', 'icon-margin');
71
92
  }
72
93
 
94
+ /* 关闭按钮 */
73
95
  .ele-message-close {
74
96
  flex-shrink: 0;
75
97
  display: flex;
@@ -119,7 +141,8 @@
119
141
  }
120
142
  }
121
143
 
122
- .ele-message.el-message--info > .el-message__badge > .el-badge__content {
144
+ .ele-message.el-message--info > .el-message__badge > .el-badge__content,
145
+ .ele-message.is-loading > .el-message__badge > .el-badge__content {
123
146
  background: elVar('color-primary');
124
147
  }
125
148
 
@@ -162,23 +185,15 @@
162
185
  }
163
186
 
164
187
  /* 加载框 */
165
- .ele-message.is-loading {
166
- position: static !important;
167
-
168
- &::before {
169
- content: '';
170
- position: absolute;
171
- top: 0;
172
- left: 0;
173
- right: 0;
174
- bottom: 0;
175
- transition: opacity elVar('transition-duration');
176
- z-index: elVar('index', 'popper');
177
- }
178
-
179
- & > .el-message__badge {
180
- display: none;
181
- }
188
+ .ele-message.is-loading::before {
189
+ content: '';
190
+ position: absolute;
191
+ top: 0;
192
+ left: 0;
193
+ right: 0;
194
+ bottom: 0;
195
+ transition: opacity elVar('transition-duration');
196
+ z-index: eleVar('message', 'index');
182
197
  }
183
198
 
184
199
  /* 遮罩 */
@@ -13,7 +13,6 @@ require("./notification/index");
13
13
  require("./popper/index");
14
14
  require("./radio/index");
15
15
  require("./select/index");
16
- require("./table-filter/index");
17
16
  require("./tag/index");
18
17
  require("./tree/index");
19
18
  require("./tree-select/index");
@@ -1,8 +1,8 @@
1
- @use '../../../../style/util.scss' as *;
2
-
3
- /* ElTree 主题变量 */
4
- @mixin set-el-tree-var($var) {
5
- .el-tree {
6
- @include set-ele-var('tree', $var);
7
- }
8
- }
1
+ @use '../../../../style/util.scss' as *;
2
+
3
+ /* ElTree 主题变量 */
4
+ @mixin set-el-tree-var($var) {
5
+ .el-tree {
6
+ @include set-ele-var('tree', $var);
7
+ }
8
+ }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
+ const elementPlus = require("element-plus");
3
4
  const icons = require("../icons");
4
5
  const core = require("../utils/core");
5
6
  const props = require("./props");
6
7
  const _sfc_main = vue.defineComponent({
7
8
  name: "EleBacktop",
8
- components: { ArrowUp: icons.ArrowUp },
9
+ components: { ElIcon: elementPlus.ElIcon, ArrowUp: icons.ArrowUp },
9
10
  props: props.backtopProps,
10
11
  emits: props.backtopEmits,
11
12
  setup(props2, { emit }) {
@@ -1,5 +1,5 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
- target: import('vue').PropType<string | HTMLElement>;
2
+ target: import('vue').PropType<string | HTMLElement | null>;
3
3
  visibilityHeight: {
4
4
  type: NumberConstructor;
5
5
  default: number;
@@ -14,7 +14,7 @@ declare const _default: import('vue').DefineComponent<{
14
14
  };
15
15
  transitionName: {
16
16
  type: StringConstructor;
17
- default: string; /** 目标元素 */
17
+ default: string;
18
18
  };
19
19
  }, {
20
20
  visible: import('vue').Ref<boolean>;
@@ -22,7 +22,7 @@ declare const _default: import('vue').DefineComponent<{
22
22
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
23
  click: (_e: MouseEvent) => boolean;
24
24
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
25
- target: import('vue').PropType<string | HTMLElement>;
25
+ target: import('vue').PropType<string | HTMLElement | null>;
26
26
  visibilityHeight: {
27
27
  type: NumberConstructor;
28
28
  default: number;
@@ -37,7 +37,7 @@ declare const _default: import('vue').DefineComponent<{
37
37
  };
38
38
  transitionName: {
39
39
  type: StringConstructor;
40
- default: string; /** 目标元素 */
40
+ default: string;
41
41
  };
42
42
  }>> & {
43
43
  onClick?: ((_e: MouseEvent) => any) | undefined;
@@ -5,7 +5,7 @@ import { PropType, ExtractPropTypes } from 'vue';
5
5
  */
6
6
  export declare const backtopProps: {
7
7
  /** 触发滚动的对象 */
8
- target: PropType<string | HTMLElement>;
8
+ target: PropType<string | HTMLElement | null>;
9
9
  /** 滚动高度达到此参数值才出现 */
10
10
  visibilityHeight: {
11
11
  type: NumberConstructor;
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+ require("element-plus/es/components/icon/style/index");
2
3
  require("./index.scss");
@@ -1,2 +1,2 @@
1
- "use strict";const a=require("vue"),N=require("../../ele-watermark/index"),R=require("../receiver"),P="1.1";function T(t){const r=(C,A,c)=>{const s=((l,B)=>{const O=l.length-B;if(O<=0)return l;const k=new Array(l.length);for(let D=0;D<l.length;D++)D<B?k[D]=l[O+D]:k[D]=l[D-B];return k})(C.split(""),c).join(""),w=[];let E=0;for(;E<s.length;){let l=E+A;l>s.length&&(l=s.length);const B=s.substring(E,l);w.push(B.split("").reverse().join("")),E=l}return w.join("")},e="BAFEDIHGLKJONMRQPUTSXWVaZYdcbgfejihmlkponsrqvutyxw10z432765+98/C",i=t.indexOf("="),u=i===-1?t:t.substring(0,i),o=i===-1?"":t.substring(i),f=(r(u,12,3)+o).replace(/[^A-Za-z0-9\+\/\=]/g,""),p=r(e,3,1)+"=";let n="",_,d,v,F,m,b,$,S=0;for(;S<f.length;)F=p.indexOf(f.charAt(S++)),m=p.indexOf(f.charAt(S++)),b=p.indexOf(f.charAt(S++)),$=p.indexOf(f.charAt(S++)),_=F<<2|m>>4,d=(m&15)<<4|b>>2,v=(b&3)<<6|$,n=n+String.fromCharCode(_),b!=64&&(n=n+String.fromCharCode(d)),$!=64&&(n=n+String.fromCharCode(v));return n=(C=>{let A="",c=0,s=0,w=0,E=0;for(;c<C.length;)s=C.charCodeAt(c),s<128?(A+=String.fromCharCode(s),c++):s>191&&s<224?(w=C.charCodeAt(c+1),A+=String.fromCharCode((s&31)<<6|w&63),c+=2):(w=C.charCodeAt(c+1),E=C.charCodeAt(c+2),A+=String.fromCharCode((s&15)<<12|(w&63)<<6|E&63),c+=3);return A})(n),n}const j="EleAdminPlus\u9700\u8981\u6388\u6743\u4F7F\u7528,\u8BF7\u524D\u5F80eleadmin.com\u8D2D\u4E70\u6388\u6743";function g(t,r,e,i){const u=new Array(60).join("*"),o=[u];if(o.push(j),t==null&&r==null&&e==null&&i==null&&o.push("\u8BF7\u5148\u914D\u7F6E\u81EA\u5DF1\u7684\u6388\u6743\u7801;"),!t&&r==null&&!e&&o.push("\u8BF7\u4F7F\u7528\u6B63\u786E\u683C\u5F0F\u7684\u6388\u6743\u7801;"),t&&o.push(`\u6388\u6743\u7248\u672C\u53F7\u4E0D\u5339\u914D, \u8BF7\u4F7F\u7528: ${t}, \u5F53\u524D\u7248\u672C: ${P};`),typeof r=="number"){const h=new Date(r*1e3).toLocaleString();o.push(`\u6388\u6743\u5DF2\u5931\u6548, \u5230\u671F\u65F6\u95F4: ${h};`)}e&&o.push(`\u57DF\u540D\u4E0D\u5339\u914D, \u8BF7\u90E8\u7F72\u5728: ${e} \u4E0B, \u5F53\u524D\u57DF\u540D: ${i};`),o.push(u),console.error(o.join(`
1
+ "use strict";const a=require("vue"),N=require("../../ele-watermark/index"),R=require("../receiver"),P="1.2";function T(t){const r=(C,A,c)=>{const s=((l,B)=>{const O=l.length-B;if(O<=0)return l;const k=new Array(l.length);for(let D=0;D<l.length;D++)D<B?k[D]=l[O+D]:k[D]=l[D-B];return k})(C.split(""),c).join(""),w=[];let E=0;for(;E<s.length;){let l=E+A;l>s.length&&(l=s.length);const B=s.substring(E,l);w.push(B.split("").reverse().join("")),E=l}return w.join("")},e="BAFEDIHGLKJONMRQPUTSXWVaZYdcbgfejihmlkponsrqvutyxw10z432765+98/C",i=t.indexOf("="),u=i===-1?t:t.substring(0,i),o=i===-1?"":t.substring(i),f=(r(u,12,3)+o).replace(/[^A-Za-z0-9\+\/\=]/g,""),p=r(e,3,1)+"=";let n="",_,d,v,F,m,b,$,S=0;for(;S<f.length;)F=p.indexOf(f.charAt(S++)),m=p.indexOf(f.charAt(S++)),b=p.indexOf(f.charAt(S++)),$=p.indexOf(f.charAt(S++)),_=F<<2|m>>4,d=(m&15)<<4|b>>2,v=(b&3)<<6|$,n=n+String.fromCharCode(_),b!=64&&(n=n+String.fromCharCode(d)),$!=64&&(n=n+String.fromCharCode(v));return n=(C=>{let A="",c=0,s=0,w=0,E=0;for(;c<C.length;)s=C.charCodeAt(c),s<128?(A+=String.fromCharCode(s),c++):s>191&&s<224?(w=C.charCodeAt(c+1),A+=String.fromCharCode((s&31)<<6|w&63),c+=2):(w=C.charCodeAt(c+1),E=C.charCodeAt(c+2),A+=String.fromCharCode((s&15)<<12|(w&63)<<6|E&63),c+=3);return A})(n),n}const j="EleAdminPlus\u9700\u8981\u6388\u6743\u4F7F\u7528,\u8BF7\u524D\u5F80eleadmin.com\u8D2D\u4E70\u6388\u6743";function g(t,r,e,i){const u=new Array(60).join("*"),o=[u];if(o.push(j),t==null&&r==null&&e==null&&i==null&&o.push("\u8BF7\u5148\u914D\u7F6E\u81EA\u5DF1\u7684\u6388\u6743\u7801;"),!t&&r==null&&!e&&o.push("\u8BF7\u4F7F\u7528\u6B63\u786E\u683C\u5F0F\u7684\u6388\u6743\u7801;"),t&&o.push(`\u6388\u6743\u7248\u672C\u53F7\u4E0D\u5339\u914D, \u8BF7\u4F7F\u7528: ${t}, \u5F53\u524D\u7248\u672C: ${P};`),typeof r=="number"){const h=new Date(r*1e3).toLocaleString();o.push(`\u6388\u6743\u5DF2\u5931\u6548, \u5230\u671F\u65F6\u95F4: ${h};`)}e&&o.push(`\u57DF\u540D\u4E0D\u5339\u914D, \u8BF7\u90E8\u7F72\u5728: ${e} \u4E0B, \u5F53\u524D\u57DF\u540D: ${i};`),o.push(u),console.error(o.join(`
2
2
  `))}const q=a.defineComponent({name:"ReceiverView",components:{EleWatermark:N},props:{wrapPosition:{type:Boolean,default:!0}},setup(t){const r=R.useReceiver(),e=a.ref(!1),i=a.computed(()=>{const u=r.license;return u?u.trim():void 0});return a.watch(i,u=>{var o;if(typeof u!="string"||!u){e.value=!1,g();return}try{const h=JSON.parse(T(u)),{version:f,expiration:p,domain:n,product:_}=h;if(f&&f!==P){e.value=!1,g(f);return}if(_!=="EleAdminPlus"){e.value=!1,g("");return}if(p&&p<Date.now()/1e3){e.value=!1,g(void 0,p);return}if(n){const d=(o=window==null?void 0:window.location)==null?void 0:o.hostname;if(!d){e.value=!1,g(void 0,void 0,n,"");return}if(d!=="localhost"&&d!=="127.0.0.1"){const v=n.split("."),F=d.split(".");for(let m=v.length-1;m>=0;m--)if(v[m]!==F[m]){e.value=!1,g(void 0,void 0,n,d);return}if(F.length>v.length&&F[F.length-v.length-1]!=="www"){e.value=!1,g(void 0,void 0,n,d);return}}}}catch(h){e.value=!1,console.error(h),g("");return}e.value=!0},{immediate:!0}),{authenticated:e,watermark:j.split(",")}}}),x=(t,r)=>{const e=t.__vccOpts||t;for(const[i,u]of r)e[i]=u;return e};function y(t,r,e,i,u,o){const h=a.resolveComponent("EleWatermark");return a.openBlock(),a.createBlock(h,{wrapPosition:!1,style:a.normalizeStyle(!t.wrapPosition||t.authenticated?void 0:{position:"relative"}),disabled:t.authenticated,content:t.watermark},{default:a.withCtx(()=>[a.renderSlot(t.$slots,"default",{authenticated:t.authenticated})]),_:3},8,["style","disabled","content"])}const V=x(q,[["render",y]]);module.exports=V;
@@ -505,9 +505,6 @@ const _sfc_main = vue.defineComponent({
505
505
  }
506
506
  emit("tabSortChange", result);
507
507
  };
508
- const handleTabAdd = (data) => {
509
- emit("tabAdd", data);
510
- };
511
508
  const getContentElem = () => {
512
509
  if (!layoutRef.value) {
513
510
  return null;
@@ -544,7 +541,7 @@ const _sfc_main = vue.defineComponent({
544
541
  const t = util.getRouteTab(route, tabData.value, homeMenuPath.value, title);
545
542
  isHome.value = t.home;
546
543
  tabActive.value = t.key;
547
- handleTabAdd(t);
544
+ emit("tabAdd", t);
548
545
  if (!navigationIsChanged && !sideNavigationIsChanged) {
549
546
  updateMenuActive(active, matched);
550
547
  if (navigation.value === "mix" || sideNavigation.value === "mix" || sideNavigation.value === "box") {
@@ -646,10 +643,8 @@ const _sfc_main = vue.defineComponent({
646
643
  return;
647
644
  }
648
645
  tabData.value = props$1.tabs.map((item) => {
649
- var _a;
650
646
  const m = util.findMenuByPath(item.path, menuData.value);
651
- const title = ((_a = m == null ? void 0 : m.meta) == null ? void 0 : _a.title) || routeI18n(item.path) || item.title;
652
- return { ...item, title };
647
+ return { ...item, title: routeI18n(item.path, m) || item.title };
653
648
  });
654
649
  };
655
650
  const updateLevelData = () => {
@@ -657,7 +652,7 @@ const _sfc_main = vue.defineComponent({
657
652
  var _a;
658
653
  const t = util.findTabByPath(item.path, tabData.value);
659
654
  const m = util.findMenuByPath(item.path, menuData.value);
660
- const title = (t == null ? void 0 : t.title) || ((_a = m == null ? void 0 : m.meta) == null ? void 0 : _a.title) || routeI18n(item.path);
655
+ const title = (t == null ? void 0 : t.title) || ((_a = m == null ? void 0 : m.meta) == null ? void 0 : _a.title) || routeI18n(item.path, m);
661
656
  return { ...item, title: title || item.title };
662
657
  });
663
658
  };
@@ -47,6 +47,7 @@ const _sfc_main = vue.defineComponent({
47
47
  maxWidth: "none !important",
48
48
  maxHeight: "none !important",
49
49
  zoom: "1 !important",
50
+ mask: "none !important",
50
51
  display: "block !important",
51
52
  ...props2.customStyle || {}
52
53
  };
@@ -14,7 +14,8 @@ $ele-dark: map.deep-merge(
14
14
  'tool-hover-bg': rgba(255, 255, 255, 0.05),
15
15
  'dark-tool-hover-bg': rgba(255, 255, 255, 0.05),
16
16
  'dark-bg': #1f1f1f,
17
- 'dark-shadow': 0 1px 4px rgba(0, 0, 0, 0.6)
17
+ 'dark-shadow': 0 1px 4px rgba(0, 0, 0, 0.6),
18
+ 'ghost-bg': hsla(0, 0%, 32%, 0.4)
18
19
  ),
19
20
  'logo': (
20
21
  'shadow': 0 3px 4px rgba(0, 0, 0, 0.6),
@@ -37,7 +37,8 @@ $ele: map.deep-merge(
37
37
  'layout': (
38
38
  // 布局
39
39
  'bg': elVar('bg-color', 'page'),
40
- 'index': 99
40
+ 'index': 99,
41
+ 'mask-index': calc(#{elVar('index', 'popper')} + 2000)
41
42
  ),
42
43
  'header': (
43
44
  // 顶栏
@@ -152,7 +153,8 @@ $ele: map.deep-merge(
152
153
  'close-hover-bg': transparent,
153
154
  'plain-bg': elVar('bg-color', 'overlay'),
154
155
  'alert-padding': 10px 14px,
155
- 'mask-color': elVar('overlay-color', 'lighter')
156
+ 'mask-color': elVar('overlay-color', 'lighter'),
157
+ 'index': calc(#{elVar('index', 'popper')} + 2002)
156
158
  ),
157
159
  'bottom-bar': (
158
160
  // 底部工具栏
@@ -54,7 +54,7 @@ $ele-rounded: map.deep-merge(
54
54
  'menu-active-line': 0
55
55
  ),
56
56
  'map': (
57
- 'search-padding': 0 12px 6px 12px
57
+ 'search-padding': 2px 12px 6px 12px
58
58
  ),
59
59
  'menu': (
60
60
  'arrow-margin': 0 -8px 0 6px,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ele-admin-plus",
3
- "version": "1.2.0-beta.4",
3
+ "version": "1.2.0-beta.6",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite --host --config vite.global.ts",