ele-admin-plus 1.1.3 → 1.1.4-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/es/ele-alert/index.d.ts +10 -10
  2. package/es/ele-alert/props.d.ts +6 -6
  3. package/es/ele-app/style/message.scss +1 -0
  4. package/es/ele-app/style/overwrite.scss +84 -3
  5. package/es/ele-app/types/index.d.ts +7 -6
  6. package/es/ele-avatar-group/index.d.ts +7 -8
  7. package/es/ele-avatar-group/props.d.ts +3 -4
  8. package/es/ele-basic-select/style/index.scss +4 -6
  9. package/es/ele-bottom-bar/index.d.ts +4 -4
  10. package/es/ele-bottom-bar/props.d.ts +2 -3
  11. package/es/ele-card/index.d.ts +6 -6
  12. package/es/ele-card/props.d.ts +3 -4
  13. package/es/ele-check-card/components/card-item.d.ts +2 -3
  14. package/es/ele-check-card/index.d.ts +4 -4
  15. package/es/ele-check-card/props.d.ts +3 -3
  16. package/es/ele-config-provider/receiver.d.ts +1 -1
  17. package/es/ele-config-provider/receiver.js +29 -29
  18. package/es/ele-copyable/index.d.ts +8 -8
  19. package/es/ele-copyable/index.js +5 -4
  20. package/es/ele-copyable/props.d.ts +5 -5
  21. package/es/ele-copyable/style/index.scss +4 -0
  22. package/es/ele-count-up/index.d.ts +2 -2
  23. package/es/ele-count-up/index.js +2 -1
  24. package/es/ele-count-up/props.d.ts +1 -1
  25. package/es/ele-cropper/index.js +2 -2
  26. package/es/ele-dashboard/index.d.ts +1 -2
  27. package/es/ele-drawer/index.d.ts +16 -10
  28. package/es/ele-drawer/props.d.ts +7 -6
  29. package/es/ele-dropdown/index.d.ts +2 -2
  30. package/es/ele-dropdown/props.d.ts +1 -2
  31. package/es/ele-edit-tag/index.d.ts +4 -4
  32. package/es/ele-edit-tag/props.d.ts +2 -3
  33. package/es/ele-ellipsis/index.d.ts +4 -5
  34. package/es/ele-ellipsis/props.d.ts +1 -1
  35. package/es/ele-ellipsis/style/index.scss +4 -0
  36. package/es/ele-file-list/index.d.ts +2 -7
  37. package/es/ele-file-list/index.js +2 -2
  38. package/es/ele-file-list/types/index.d.ts +0 -4
  39. package/es/ele-icon-select/components/icon-grid.d.ts +5 -5
  40. package/es/ele-icon-select/components/icon-popper.d.ts +15 -15
  41. package/es/ele-icon-select/index.d.ts +15 -16
  42. package/es/ele-icon-select/props.d.ts +8 -8
  43. package/es/ele-loading/index.d.ts +26 -1
  44. package/es/ele-loading/index.js +53 -11
  45. package/es/ele-loading/props.d.ts +11 -1
  46. package/es/ele-loading/props.js +16 -1
  47. package/es/ele-loading/style/css-var.scss +7 -0
  48. package/es/ele-loading/style/index.js +1 -0
  49. package/es/ele-loading/style/index.scss +90 -0
  50. package/es/ele-loading/types/index.d.ts +17 -0
  51. package/es/ele-map-picker/components/map-view.d.ts +2 -2
  52. package/es/ele-map-picker/index.d.ts +2 -2
  53. package/es/ele-map-picker/props.d.ts +3 -3
  54. package/es/ele-menus/index.d.ts +2 -0
  55. package/es/ele-menus/index.js +11 -5
  56. package/es/ele-menus/props.d.ts +10 -0
  57. package/es/ele-menus/props.js +7 -1
  58. package/es/ele-menus/style/index.scss +18 -18
  59. package/es/ele-menus/types/index.d.ts +4 -0
  60. package/es/ele-menus/util.d.ts +4 -3
  61. package/es/ele-menus/util.js +23 -12
  62. package/es/ele-modal/index.d.ts +19 -13
  63. package/es/ele-modal/props.d.ts +8 -7
  64. package/es/ele-modal/types/index.d.ts +9 -0
  65. package/es/ele-modal/util.js +45 -32
  66. package/es/ele-pagination/index.d.ts +1 -1
  67. package/es/ele-popconfirm/index.d.ts +10 -10
  68. package/es/ele-popconfirm/index.js +8 -2
  69. package/es/ele-popconfirm/props.d.ts +6 -6
  70. package/es/ele-popover/index.d.ts +6 -6
  71. package/es/ele-popover/props.d.ts +3 -4
  72. package/es/ele-printer/index.d.ts +7 -6
  73. package/es/ele-printer/index.js +11 -4
  74. package/es/ele-printer/props.d.ts +3 -4
  75. package/es/ele-pro-layout/components/pro-header.d.ts +7 -2
  76. package/es/ele-pro-layout/components/pro-header.js +15 -5
  77. package/es/ele-pro-layout/components/pro-iframe.js +10 -7
  78. package/es/ele-pro-layout/components/pro-sidebar.d.ts +7 -2
  79. package/es/ele-pro-layout/components/pro-sidebar.js +14 -5
  80. package/es/ele-pro-layout/components/pro-sidebox.d.ts +11 -4
  81. package/es/ele-pro-layout/components/pro-sidebox.js +16 -5
  82. package/es/ele-pro-layout/components/tab-dropdown.js +1 -4
  83. package/es/ele-pro-layout/index.d.ts +17 -3
  84. package/es/ele-pro-layout/index.js +208 -105
  85. package/es/ele-pro-layout/props.d.ts +6 -1
  86. package/es/ele-pro-layout/props.js +10 -0
  87. package/es/ele-pro-layout/style/collapse.scss +9 -10
  88. package/es/ele-pro-layout/style/index.js +0 -1
  89. package/es/ele-pro-layout/style/layout-mobile.scss +1 -0
  90. package/es/ele-pro-layout/types/index.d.ts +9 -0
  91. package/es/ele-pro-layout/util.d.ts +4 -2
  92. package/es/ele-pro-layout/util.js +20 -17
  93. package/es/ele-pro-table/components/table-view.d.ts +9 -3
  94. package/es/ele-pro-table/components/table-view.js +27 -24
  95. package/es/ele-pro-table/components/tool-column.d.ts +2 -1
  96. package/es/ele-pro-table/components/tool-column.js +26 -18
  97. package/es/ele-pro-table/index.d.ts +46 -25
  98. package/es/ele-pro-table/index.js +182 -196
  99. package/es/ele-pro-table/props.d.ts +27 -15
  100. package/es/ele-pro-table/props.js +15 -3
  101. package/es/ele-pro-table/style/index.js +1 -1
  102. package/es/ele-pro-table/style/index.scss +64 -8
  103. package/es/ele-pro-table/types/index.d.ts +39 -5
  104. package/es/ele-pro-table/util.d.ts +84 -49
  105. package/es/ele-pro-table/util.js +193 -78
  106. package/es/ele-qr-code/index.d.ts +3 -3
  107. package/es/ele-qr-code/props.d.ts +1 -2
  108. package/es/ele-qr-code-svg/index.d.ts +3 -3
  109. package/es/ele-split-panel/index.d.ts +6 -6
  110. package/es/ele-split-panel/props.d.ts +3 -4
  111. package/es/ele-table/style/index.scss +1 -0
  112. package/es/ele-tabs/index.js +4 -3
  113. package/es/ele-tabs/types/index.d.ts +3 -0
  114. package/es/ele-text/index.d.ts +3 -3
  115. package/es/ele-text/props.d.ts +2 -2
  116. package/es/ele-toolbar/index.d.ts +6 -6
  117. package/es/ele-toolbar/props.d.ts +3 -4
  118. package/es/ele-tooltip/index.d.ts +3 -3
  119. package/es/ele-tooltip/props.d.ts +1 -2
  120. package/es/ele-tour/index.d.ts +2 -3
  121. package/es/ele-tour/style/index.scss +1 -1
  122. package/es/ele-tour/util.js +3 -3
  123. package/es/ele-upload-list/index.d.ts +8 -7
  124. package/es/ele-upload-list/index.js +18 -11
  125. package/es/ele-upload-list/props.d.ts +4 -4
  126. package/es/ele-upload-list/props.js +1 -1
  127. package/es/ele-watermark/index.d.ts +16 -8
  128. package/es/ele-watermark/index.js +18 -12
  129. package/es/ele-watermark/props.d.ts +3 -1
  130. package/es/ele-watermark/props.js +5 -1
  131. package/es/ele-watermark/util.js +1 -1
  132. package/es/ele-xg-player/index.js +1 -0
  133. package/es/style/index.scss +1 -0
  134. package/es/style/nprogress.scss +2 -2
  135. package/es/style/themes/default.scss +36 -12
  136. package/es/style/themes/rounded.scss +4 -2
  137. package/es/style/themes/theme-util.scss +2 -0
  138. package/es/utils/core.d.ts +1 -1
  139. package/es/utils/core.js +17 -15
  140. package/es/utils/resolvers.js +2 -2
  141. package/lib/ele-alert/index.d.ts +10 -10
  142. package/lib/ele-alert/props.d.ts +6 -6
  143. package/lib/ele-app/style/message.scss +1 -0
  144. package/lib/ele-app/style/overwrite.scss +84 -3
  145. package/lib/ele-app/types/index.d.ts +7 -6
  146. package/lib/ele-avatar-group/index.d.ts +7 -8
  147. package/lib/ele-avatar-group/props.d.ts +3 -4
  148. package/lib/ele-basic-select/style/index.scss +4 -6
  149. package/lib/ele-bottom-bar/index.d.ts +4 -4
  150. package/lib/ele-bottom-bar/props.d.ts +2 -3
  151. package/lib/ele-card/index.d.ts +6 -6
  152. package/lib/ele-card/props.d.ts +3 -4
  153. package/lib/ele-check-card/components/card-item.d.ts +2 -3
  154. package/lib/ele-check-card/index.d.ts +4 -4
  155. package/lib/ele-check-card/props.d.ts +3 -3
  156. package/lib/ele-config-provider/receiver.d.ts +1 -1
  157. package/lib/ele-config-provider/receiver.js +2 -2
  158. package/lib/ele-copyable/index.d.ts +8 -8
  159. package/lib/ele-copyable/index.js +4 -3
  160. package/lib/ele-copyable/props.d.ts +5 -5
  161. package/lib/ele-copyable/style/index.scss +4 -0
  162. package/lib/ele-count-up/index.d.ts +2 -2
  163. package/lib/ele-count-up/index.js +2 -1
  164. package/lib/ele-count-up/props.d.ts +1 -1
  165. package/lib/ele-cropper/index.js +2 -2
  166. package/lib/ele-dashboard/index.d.ts +1 -2
  167. package/lib/ele-drawer/index.d.ts +16 -10
  168. package/lib/ele-drawer/props.d.ts +7 -6
  169. package/lib/ele-dropdown/index.d.ts +2 -2
  170. package/lib/ele-dropdown/props.d.ts +1 -2
  171. package/lib/ele-edit-tag/index.d.ts +4 -4
  172. package/lib/ele-edit-tag/props.d.ts +2 -3
  173. package/lib/ele-ellipsis/index.d.ts +4 -5
  174. package/lib/ele-ellipsis/props.d.ts +1 -1
  175. package/lib/ele-ellipsis/style/index.scss +4 -0
  176. package/lib/ele-file-list/index.d.ts +2 -7
  177. package/lib/ele-file-list/index.js +2 -2
  178. package/lib/ele-file-list/types/index.d.ts +0 -4
  179. package/lib/ele-icon-select/components/icon-grid.d.ts +5 -5
  180. package/lib/ele-icon-select/components/icon-popper.d.ts +15 -15
  181. package/lib/ele-icon-select/index.d.ts +15 -16
  182. package/lib/ele-icon-select/props.d.ts +8 -8
  183. package/lib/ele-loading/index.d.ts +26 -1
  184. package/lib/ele-loading/index.js +52 -10
  185. package/lib/ele-loading/props.d.ts +11 -1
  186. package/lib/ele-loading/props.js +16 -1
  187. package/lib/ele-loading/style/css-var.scss +7 -0
  188. package/lib/ele-loading/style/index.js +1 -0
  189. package/lib/ele-loading/style/index.scss +90 -0
  190. package/lib/ele-loading/types/index.d.ts +17 -0
  191. package/lib/ele-map-picker/components/map-view.d.ts +2 -2
  192. package/lib/ele-map-picker/index.d.ts +2 -2
  193. package/lib/ele-map-picker/props.d.ts +3 -3
  194. package/lib/ele-menus/index.d.ts +2 -0
  195. package/lib/ele-menus/index.js +9 -3
  196. package/lib/ele-menus/props.d.ts +10 -0
  197. package/lib/ele-menus/props.js +6 -0
  198. package/lib/ele-menus/style/index.scss +18 -18
  199. package/lib/ele-menus/types/index.d.ts +4 -0
  200. package/lib/ele-menus/util.d.ts +4 -3
  201. package/lib/ele-menus/util.js +23 -12
  202. package/lib/ele-modal/index.d.ts +19 -13
  203. package/lib/ele-modal/props.d.ts +8 -7
  204. package/lib/ele-modal/types/index.d.ts +9 -0
  205. package/lib/ele-modal/util.js +45 -32
  206. package/lib/ele-pagination/index.d.ts +1 -1
  207. package/lib/ele-popconfirm/index.d.ts +10 -10
  208. package/lib/ele-popconfirm/index.js +8 -2
  209. package/lib/ele-popconfirm/props.d.ts +6 -6
  210. package/lib/ele-popover/index.d.ts +6 -6
  211. package/lib/ele-popover/props.d.ts +3 -4
  212. package/lib/ele-printer/index.d.ts +7 -6
  213. package/lib/ele-printer/index.js +10 -3
  214. package/lib/ele-printer/props.d.ts +3 -4
  215. package/lib/ele-pro-layout/components/pro-header.d.ts +7 -2
  216. package/lib/ele-pro-layout/components/pro-header.js +15 -5
  217. package/lib/ele-pro-layout/components/pro-iframe.js +10 -7
  218. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +7 -2
  219. package/lib/ele-pro-layout/components/pro-sidebar.js +14 -5
  220. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +11 -4
  221. package/lib/ele-pro-layout/components/pro-sidebox.js +16 -5
  222. package/lib/ele-pro-layout/components/tab-dropdown.js +1 -4
  223. package/lib/ele-pro-layout/index.d.ts +17 -3
  224. package/lib/ele-pro-layout/index.js +205 -102
  225. package/lib/ele-pro-layout/props.d.ts +6 -1
  226. package/lib/ele-pro-layout/props.js +10 -0
  227. package/lib/ele-pro-layout/style/collapse.scss +9 -10
  228. package/lib/ele-pro-layout/style/index.js +0 -1
  229. package/lib/ele-pro-layout/style/layout-mobile.scss +1 -0
  230. package/lib/ele-pro-layout/types/index.d.ts +9 -0
  231. package/lib/ele-pro-layout/util.d.ts +4 -2
  232. package/lib/ele-pro-layout/util.js +19 -16
  233. package/lib/ele-pro-table/components/table-view.d.ts +9 -3
  234. package/lib/ele-pro-table/components/table-view.js +25 -22
  235. package/lib/ele-pro-table/components/tool-column.d.ts +2 -1
  236. package/lib/ele-pro-table/components/tool-column.js +25 -17
  237. package/lib/ele-pro-table/index.d.ts +46 -25
  238. package/lib/ele-pro-table/index.js +180 -194
  239. package/lib/ele-pro-table/props.d.ts +27 -15
  240. package/lib/ele-pro-table/props.js +15 -3
  241. package/lib/ele-pro-table/style/index.js +1 -1
  242. package/lib/ele-pro-table/style/index.scss +64 -8
  243. package/lib/ele-pro-table/types/index.d.ts +39 -5
  244. package/lib/ele-pro-table/util.d.ts +84 -49
  245. package/lib/ele-pro-table/util.js +192 -77
  246. package/lib/ele-qr-code/index.d.ts +3 -3
  247. package/lib/ele-qr-code/props.d.ts +1 -2
  248. package/lib/ele-qr-code-svg/index.d.ts +3 -3
  249. package/lib/ele-split-panel/index.d.ts +6 -6
  250. package/lib/ele-split-panel/props.d.ts +3 -4
  251. package/lib/ele-table/style/index.scss +1 -0
  252. package/lib/ele-tabs/index.js +4 -3
  253. package/lib/ele-tabs/types/index.d.ts +3 -0
  254. package/lib/ele-text/index.d.ts +3 -3
  255. package/lib/ele-text/props.d.ts +2 -2
  256. package/lib/ele-toolbar/index.d.ts +6 -6
  257. package/lib/ele-toolbar/props.d.ts +3 -4
  258. package/lib/ele-tooltip/index.d.ts +3 -3
  259. package/lib/ele-tooltip/props.d.ts +1 -2
  260. package/lib/ele-tour/index.d.ts +2 -3
  261. package/lib/ele-tour/style/index.scss +1 -1
  262. package/lib/ele-tour/util.js +3 -3
  263. package/lib/ele-upload-list/index.d.ts +8 -7
  264. package/lib/ele-upload-list/index.js +17 -10
  265. package/lib/ele-upload-list/props.d.ts +4 -4
  266. package/lib/ele-upload-list/props.js +1 -1
  267. package/lib/ele-watermark/index.d.ts +16 -8
  268. package/lib/ele-watermark/index.js +17 -11
  269. package/lib/ele-watermark/props.d.ts +3 -1
  270. package/lib/ele-watermark/props.js +5 -1
  271. package/lib/ele-watermark/util.js +1 -1
  272. package/lib/ele-xg-player/index.js +1 -0
  273. package/lib/style/index.scss +1 -0
  274. package/lib/style/nprogress.scss +2 -2
  275. package/lib/style/themes/default.scss +36 -12
  276. package/lib/style/themes/rounded.scss +4 -2
  277. package/lib/style/themes/theme-util.scss +2 -0
  278. package/lib/utils/core.d.ts +1 -1
  279. package/lib/utils/core.js +17 -15
  280. package/lib/utils/resolvers.js +2 -2
  281. package/package.json +25 -23
  282. package/typings/global.d.ts +52 -52
  283. package/es/ele-alert/types/index.d.ts +0 -0
  284. package/lib/ele-alert/types/index.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { PropType } from 'vue';
2
2
  import type { ElScrollbarInstance } from '../../ele-app/types';
3
- import type { MenuItem, SidebarStyle } from '../types';
3
+ import type { MenuItem, SidebarStyle, MenuItemTrigger, MenuItemProps } from '../types';
4
4
  declare const _default: import("vue").DefineComponent<{
5
5
  menus: {
6
6
  type: PropType<MenuItem[]>;
@@ -12,12 +12,16 @@ declare const _default: import("vue").DefineComponent<{
12
12
  compact: BooleanConstructor;
13
13
  collapse: BooleanConstructor;
14
14
  popperEffect: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown>>;
15
+ itemTrigger: PropType<MenuItemTrigger>;
15
16
  titleSlot: StringConstructor;
16
17
  iconSlot: StringConstructor;
17
18
  }, {
18
19
  menusRef: import("vue").Ref<ElScrollbarInstance>;
19
- menuItems: import("vue").ComputedRef<import("../../ele-menus/types").MenuItem[]>;
20
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
+ menuItems: import("vue").ComputedRef<MenuItemProps[]>;
21
+ onItemClick: (item: MenuItemProps) => void;
22
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ itemClick: (_item: MenuItemProps) => true;
24
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
21
25
  menus: {
22
26
  type: PropType<MenuItem[]>;
23
27
  required: true;
@@ -28,9 +32,12 @@ declare const _default: import("vue").DefineComponent<{
28
32
  compact: BooleanConstructor;
29
33
  collapse: BooleanConstructor;
30
34
  popperEffect: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown>>;
35
+ itemTrigger: PropType<MenuItemTrigger>;
31
36
  titleSlot: StringConstructor;
32
37
  iconSlot: StringConstructor;
33
- }>>, {
38
+ }>> & {
39
+ onItemClick?: ((_item: MenuItemProps) => any) | undefined;
40
+ }, {
34
41
  collapse: boolean;
35
42
  compact: boolean;
36
43
  colorfulIcon: boolean;
@@ -24,18 +24,28 @@ const _sfc_main = vue.defineComponent({
24
24
  collapse: Boolean,
25
25
  // tooltip 主题
26
26
  popperEffect: String,
27
+ // 菜单项触发模式
28
+ itemTrigger: String,
27
29
  // 标题插槽名称
28
30
  titleSlot: String,
29
31
  // 图标插槽名称
30
32
  iconSlot: String
31
33
  },
32
- setup(props) {
34
+ emits: {
35
+ itemClick: (_item) => true
36
+ },
37
+ setup(props, { emit }) {
33
38
  const { scrollIntoView } = util.useMenuScroll(() => {
34
39
  var _a;
35
40
  return (_a = menusRef.value) == null ? void 0 : _a.$el;
36
41
  });
37
42
  const menusRef = vue.ref(null);
38
- const menuItems = vue.computed(() => util.getMenuItems(props.menus));
43
+ const menuItems = vue.computed(() => {
44
+ return util.getMenuItems(props.menus, props.itemTrigger != "click");
45
+ });
46
+ const onItemClick = (item) => {
47
+ emit("itemClick", item);
48
+ };
39
49
  vue.watch(
40
50
  () => props.active,
41
51
  () => {
@@ -44,7 +54,7 @@ const _sfc_main = vue.defineComponent({
44
54
  });
45
55
  }
46
56
  );
47
- return { menusRef, menuItems };
57
+ return { menusRef, menuItems, onItemClick };
48
58
  }
49
59
  });
50
60
  const _export_sfc = (sfc, props) => {
@@ -75,7 +85,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
75
85
  popperEffect: _ctx.popperEffect,
76
86
  collapseTransition: false,
77
87
  firstPopperClass: "ele-admin-sidebox-popup",
78
- tooltipDisabled: !_ctx.compact
88
+ tooltipDisabled: !_ctx.compact,
89
+ onItemClick: _ctx.onItemClick
79
90
  }, vue.createSlots({ _: 2 }, [
80
91
  _ctx.iconSlot && _ctx.$slots[_ctx.iconSlot] ? {
81
92
  name: "icon",
@@ -91,7 +102,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
91
102
  ]),
92
103
  key: "1"
93
104
  } : void 0
94
- ]), 1032, ["items", "theme", "popupColorful", "collapse", "defaultActive", "popperEffect", "tooltipDisabled"])
105
+ ]), 1032, ["items", "theme", "popupColorful", "collapse", "defaultActive", "popperEffect", "tooltipDisabled", "onItemClick"])
95
106
  ]),
96
107
  _: 3
97
108
  }, 512),
@@ -64,10 +64,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
64
64
  placement: "bottom-end",
65
65
  popperClass: "ele-tab-popup",
66
66
  popperOptions: {
67
- modifiers: [
68
- { name: "arrow", options: { padding: 12 } },
69
- { name: "offset", options: { offset: [12, 8] } }
70
- ]
67
+ modifiers: [{ name: "offset", options: { offset: [12, 8] } }]
71
68
  },
72
69
  items: _ctx.items,
73
70
  onCommand: _ctx.onCommand
@@ -1,6 +1,6 @@
1
1
  import type { Ref } from 'vue';
2
2
  import type { ClassValues } from '../ele-app/types';
3
- import type { MenuItem, TabItem, LevelItem, TabItemEventOption } from './types';
3
+ import type { MenuItem, TabItem, LevelItem, TabItemEventOption, MenuItemProps } from './types';
4
4
  declare const _default: import("vue").DefineComponent<{
5
5
  menus: import("vue").PropType<MenuItem[] | null>;
6
6
  tabs: import("vue").PropType<TabItem[] | null>;
@@ -35,6 +35,7 @@ declare const _default: import("vue").DefineComponent<{
35
35
  type: NumberConstructor;
36
36
  default: number;
37
37
  };
38
+ backTopTarget: StringConstructor;
38
39
  ellipsis: {
39
40
  type: BooleanConstructor;
40
41
  default: boolean;
@@ -126,6 +127,10 @@ declare const _default: import("vue").DefineComponent<{
126
127
  default: string;
127
128
  };
128
129
  tooltipEffect: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown> | undefined>;
130
+ navTrigger: import("vue").PropType<import("./types").MenuItemTrigger>;
131
+ boxTrigger: import("vue").PropType<import("./types").MenuItemTrigger>;
132
+ itemTrigger: import("vue").PropType<import("./types").MenuItemTrigger>;
133
+ beforeClick: import("vue").PropType<import("./types").BeforeClick>;
129
134
  keepAlive: BooleanConstructor;
130
135
  transitionName: StringConstructor;
131
136
  transitionDelay: {
@@ -137,8 +142,8 @@ declare const _default: import("vue").DefineComponent<{
137
142
  default: boolean;
138
143
  };
139
144
  }, {
140
- UNAUTHORIZED_TIP: string;
141
145
  authenticated: Ref<boolean>;
146
+ watermark: Ref<string[]>;
142
147
  contentRef: Ref<HTMLElement | null>;
143
148
  levelData: import("vue").ShallowRef<LevelItem[]>;
144
149
  tabData: import("vue").ShallowRef<TabItem[]>;
@@ -155,6 +160,7 @@ declare const _default: import("vue").DefineComponent<{
155
160
  sidebox: import("vue").ComputedRef<boolean>;
156
161
  sidebar: import("vue").ComputedRef<boolean>;
157
162
  layoutClass: import("vue").ComputedRef<ClassValues>;
163
+ backTopSelector: import("vue").ComputedRef<string | undefined>;
158
164
  sidebarCollapse: import("vue").ComputedRef<boolean>;
159
165
  sidebarTheme: import("vue").ComputedRef<"light" | "dark">;
160
166
  updateCollapse: (val?: boolean | MouseEvent) => void;
@@ -167,6 +173,9 @@ declare const _default: import("vue").DefineComponent<{
167
173
  onSideMenuClose: (index: string, indexPath: string[]) => void;
168
174
  onHeadMenuOpen: (index: string, indexPath: string[]) => void;
169
175
  onHeadMenuClose: (index: string, indexPath: string[]) => void;
176
+ onNavItemClick: (item: MenuItemProps) => void;
177
+ onBoxItemClick: (item: MenuItemProps) => void;
178
+ onMenuItemClick: (item: MenuItemProps) => void;
170
179
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
171
180
  'update:collapse': (_collapse: boolean) => boolean;
172
181
  'update:maximized': (_val: boolean) => boolean;
@@ -215,6 +224,7 @@ declare const _default: import("vue").DefineComponent<{
215
224
  type: NumberConstructor;
216
225
  default: number;
217
226
  };
227
+ backTopTarget: StringConstructor;
218
228
  ellipsis: {
219
229
  type: BooleanConstructor;
220
230
  default: boolean;
@@ -306,6 +316,10 @@ declare const _default: import("vue").DefineComponent<{
306
316
  default: string;
307
317
  };
308
318
  tooltipEffect: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown> | undefined>;
319
+ navTrigger: import("vue").PropType<import("./types").MenuItemTrigger>;
320
+ boxTrigger: import("vue").PropType<import("./types").MenuItemTrigger>;
321
+ itemTrigger: import("vue").PropType<import("./types").MenuItemTrigger>;
322
+ beforeClick: import("vue").PropType<import("./types").BeforeClick>;
309
323
  keepAlive: BooleanConstructor;
310
324
  transitionName: StringConstructor;
311
325
  transitionDelay: {
@@ -335,6 +349,7 @@ declare const _default: import("vue").DefineComponent<{
335
349
  menuTrigger: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "hover" | "click", unknown> | undefined;
336
350
  collapse: boolean;
337
351
  ellipsis: boolean;
352
+ transitionDelay: number;
338
353
  layout: import("./types").Layout;
339
354
  maximized: boolean;
340
355
  compact: boolean;
@@ -342,7 +357,6 @@ declare const _default: import("vue").DefineComponent<{
342
357
  tabBar: boolean;
343
358
  keepAlive: boolean;
344
359
  responsive: boolean;
345
- transitionDelay: number;
346
360
  breadcrumb: boolean;
347
361
  breadcrumbSeparator: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown> | undefined;
348
362
  backTop: boolean;
@@ -4,7 +4,7 @@ const vueRouter = require("vue-router");
4
4
  const elementPlus = require("element-plus");
5
5
  const core = require("../utils/core");
6
6
  const receiver = require("../ele-config-provider/receiver");
7
- const EleAlert = require("../ele-alert/index");
7
+ const EleWatermark = require("../ele-watermark/index");
8
8
  const ProHeader = require("./components/pro-header");
9
9
  const ProSidebar = require("./components/pro-sidebar");
10
10
  const ProSidebox = require("./components/pro-sidebox");
@@ -16,7 +16,7 @@ const _sfc_main = vue.defineComponent({
16
16
  name: "EleProLayout",
17
17
  components: {
18
18
  ElBacktop: elementPlus.ElBacktop,
19
- EleAlert,
19
+ EleWatermark,
20
20
  ProHeader,
21
21
  ProSidebar,
22
22
  ProSidebox,
@@ -27,7 +27,7 @@ const _sfc_main = vue.defineComponent({
27
27
  emits: props.proLayoutEmits,
28
28
  setup(props2, { emit }) {
29
29
  const { authenticated } = receiver.useLicense();
30
- const { currentRoute } = vueRouter.useRouter();
30
+ const { currentRoute, push } = vueRouter.useRouter();
31
31
  const { disableTransition } = util.useDisableTransition();
32
32
  const contentRef = vue.ref(null);
33
33
  const levelData = vue.shallowRef([]);
@@ -46,6 +46,7 @@ const _sfc_main = vue.defineComponent({
46
46
  const homeMenuPath = vue.ref(util.getHomePath(props2.homePath));
47
47
  const isHome = vue.ref(false);
48
48
  const mobile = vue.ref(false);
49
+ const watermark = vue.ref(receiver.UNAUTHORIZED_TIP.split(",") || "Error");
49
50
  const topLayout = vue.computed(() => props2.layout === "top");
50
51
  const mixLayout = vue.computed(() => props2.layout === "mix");
51
52
  const mixSidebar = vue.computed(() => props2.sidebarLayout === "mix");
@@ -65,6 +66,7 @@ const _sfc_main = vue.defineComponent({
65
66
  const hasSide = sidebox.value || sidebar.value;
66
67
  const fixedSide = props2.fixedSidebar && !props2.fixedBody && hasSide;
67
68
  const logoAuto = props2.logoInHeader || topLayout.value || !hasSide;
69
+ const hasMix = mixSidebar.value && sidebox.value;
68
70
  return [
69
71
  "ele-admin-layout",
70
72
  // 折叠侧栏
@@ -72,7 +74,9 @@ const _sfc_main = vue.defineComponent({
72
74
  // 双侧栏折叠一级
73
75
  { "ele-admin-compact": props2.compact && sidebox.value },
74
76
  // 双侧栏
75
- { "ele-admin-mix-sidebar": mixSidebar.value && sidebox.value },
77
+ { "ele-admin-mix-sidebar": hasMix },
78
+ // 双侧栏时侧栏空数据
79
+ { "ele-admin-none-sidebar": hasMix && !sidebar.value },
76
80
  // 固定顶栏
77
81
  { "ele-admin-fixed-header": props2.fixedHeader && !props2.fixedBody },
78
82
  // 固定侧栏
@@ -97,6 +101,15 @@ const _sfc_main = vue.defineComponent({
97
101
  { "ele-admin-mobile": mobile.value }
98
102
  ];
99
103
  });
104
+ const backTopSelector = vue.computed(() => {
105
+ if (props2.backTopTarget) {
106
+ return props2.backTopTarget;
107
+ }
108
+ if (props2.fixedBody) {
109
+ return ".ele-admin-layout.ele-admin-fixed-body>.ele-admin-main>.ele-admin-body>.ele-admin-content";
110
+ }
111
+ return void 0;
112
+ });
100
113
  const sidebarCollapse = vue.computed(() => {
101
114
  return mobile.value || mixSidebar.value ? false : props2.collapse;
102
115
  });
@@ -225,7 +238,8 @@ const _sfc_main = vue.defineComponent({
225
238
  path: d.path,
226
239
  component: d.component,
227
240
  redirect: d.redirect,
228
- meta: d.meta
241
+ meta: d.meta,
242
+ tempChildren: d.children
229
243
  };
230
244
  });
231
245
  const childMenus = util.getActiveChilds(
@@ -323,6 +337,90 @@ const _sfc_main = vue.defineComponent({
323
337
  });
324
338
  }
325
339
  };
340
+ const onNavItemClick = (item) => {
341
+ if (!item.index || props2.navTrigger != "click") {
342
+ return;
343
+ }
344
+ if (props2.beforeClick && props2.beforeClick(item) === false) {
345
+ return;
346
+ }
347
+ if (core.isExternalLink(item.index)) {
348
+ window.open(item.index);
349
+ return;
350
+ }
351
+ headerActive.value = item.index;
352
+ const temp = util.getActiveChilds(
353
+ headerData.value,
354
+ headerActive.value,
355
+ "tempChildren"
356
+ );
357
+ const isChild = !temp.some((d) => {
358
+ var _a;
359
+ return !((_a = d.meta) == null ? void 0 : _a.hide);
360
+ });
361
+ if (isChild && item.index !== vue.unref(currentRoute).fullPath) {
362
+ push(item.index);
363
+ return;
364
+ }
365
+ if (mixSidebar.value) {
366
+ sideboxData.value = temp.map((d) => {
367
+ return {
368
+ name: d.name,
369
+ path: d.path,
370
+ component: d.component,
371
+ redirect: d.redirect,
372
+ meta: d.meta,
373
+ children: props2.collapse ? d.children : void 0,
374
+ tempChildren: d.children
375
+ };
376
+ });
377
+ return;
378
+ }
379
+ sidebarData.value = temp;
380
+ };
381
+ const onBoxItemClick = (item) => {
382
+ if (!item.index || props2.boxTrigger != "click") {
383
+ return;
384
+ }
385
+ if (props2.beforeClick && props2.beforeClick(item) === false) {
386
+ return;
387
+ }
388
+ if (core.isExternalLink(item.index)) {
389
+ window.open(item.index);
390
+ return;
391
+ }
392
+ sideboxActive.value = item.index;
393
+ const temp = util.getActiveChilds(
394
+ sideboxData.value,
395
+ sideboxActive.value,
396
+ "tempChildren"
397
+ );
398
+ const isChild = !temp.some((d) => {
399
+ var _a;
400
+ return !((_a = d.meta) == null ? void 0 : _a.hide);
401
+ });
402
+ if (isChild && item.index !== vue.unref(currentRoute).fullPath) {
403
+ push(item.index);
404
+ return;
405
+ }
406
+ sidebarData.value = temp;
407
+ };
408
+ const onMenuItemClick = (item) => {
409
+ if (!item.index || props2.itemTrigger != "click") {
410
+ return;
411
+ }
412
+ if (props2.beforeClick && props2.beforeClick(item) === false) {
413
+ return;
414
+ }
415
+ if (core.isExternalLink(item.index)) {
416
+ window.open(item.index);
417
+ return;
418
+ }
419
+ sidebarActive.value = item.index;
420
+ if (item.index !== vue.unref(currentRoute).fullPath) {
421
+ push(item.index);
422
+ }
423
+ };
326
424
  vue.watch(
327
425
  () => props2.menus,
328
426
  () => {
@@ -447,8 +545,8 @@ const _sfc_main = vue.defineComponent({
447
545
  });
448
546
  vue.provide(receiver.LAYOUT_KEY, layoutProvide);
449
547
  return {
450
- UNAUTHORIZED_TIP: receiver.UNAUTHORIZED_TIP,
451
548
  authenticated,
549
+ watermark,
452
550
  contentRef,
453
551
  levelData,
454
552
  tabData,
@@ -465,6 +563,7 @@ const _sfc_main = vue.defineComponent({
465
563
  sidebox,
466
564
  sidebar,
467
565
  layoutClass,
566
+ backTopSelector,
468
567
  sidebarCollapse,
469
568
  sidebarTheme,
470
569
  updateCollapse,
@@ -476,7 +575,10 @@ const _sfc_main = vue.defineComponent({
476
575
  onSideMenuOpen,
477
576
  onSideMenuClose,
478
577
  onHeadMenuOpen,
479
- onHeadMenuClose
578
+ onHeadMenuClose,
579
+ onNavItemClick,
580
+ onBoxItemClick,
581
+ onMenuItemClick
480
582
  };
481
583
  }
482
584
  });
@@ -487,25 +589,18 @@ const _export_sfc = (sfc, props2) => {
487
589
  }
488
590
  return target;
489
591
  };
490
- const _hoisted_1 = { class: "ele-admin-main" };
491
- const _hoisted_2 = { class: "ele-admin-body" };
492
- const _hoisted_3 = {
493
- key: 1,
592
+ const _hoisted_1 = { class: "ele-admin-body" };
593
+ const _hoisted_2 = {
494
594
  ref: "contentRef",
495
595
  class: "ele-admin-content"
496
596
  };
497
- const _hoisted_4 = {
498
- key: 2,
499
- class: "ele-admin-content",
500
- style: { "padding": "16px" }
501
- };
502
597
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
503
598
  const _component_ProHeader = vue.resolveComponent("ProHeader");
504
599
  const _component_ProSidebox = vue.resolveComponent("ProSidebox");
505
600
  const _component_ProSidebar = vue.resolveComponent("ProSidebar");
506
601
  const _component_ProTabs = vue.resolveComponent("ProTabs");
507
602
  const _component_ProIframe = vue.resolveComponent("ProIframe");
508
- const _component_EleAlert = vue.resolveComponent("EleAlert");
603
+ const _component_EleWatermark = vue.resolveComponent("EleWatermark");
509
604
  const _component_ElBacktop = vue.resolveComponent("ElBacktop");
510
605
  return vue.openBlock(), vue.createElementBlock("div", {
511
606
  class: vue.normalizeClass(_ctx.layoutClass)
@@ -517,6 +612,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
517
612
  ellipsis: _ctx.ellipsis,
518
613
  ellipsisProps: _ctx.ellipsisProps,
519
614
  menuTrigger: _ctx.menuTrigger,
615
+ itemTrigger: _ctx.navTrigger,
520
616
  collapse: _ctx.collapse,
521
617
  sidebar: _ctx.sidebar,
522
618
  titleSlot: _ctx.headerTitleSlot,
@@ -528,7 +624,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
528
624
  isHome: _ctx.isHome,
529
625
  onLogoClick: _ctx.onLogoClick,
530
626
  onOpen: _ctx.onHeadMenuOpen,
531
- onClsoe: _ctx.onHeadMenuClose
627
+ onClsoe: _ctx.onHeadMenuClose,
628
+ onItemClick: _ctx.onNavItemClick
532
629
  }, vue.createSlots({ _: 2 }, [
533
630
  vue.renderList(Object.keys(_ctx.$slots), (name) => {
534
631
  return {
@@ -538,69 +635,54 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
538
635
  ])
539
636
  };
540
637
  })
541
- ]), 1032, ["menus", "headerStyle", "active", "ellipsis", "ellipsisProps", "menuTrigger", "collapse", "sidebar", "titleSlot", "iconSlot", "levels", "breadcrumb", "breadcrumbSeparator", "homePath", "isHome", "onLogoClick", "onOpen", "onClsoe"]),
542
- vue.createElementVNode("div", _hoisted_1, [
543
- _ctx.sidebox ? (vue.openBlock(), vue.createBlock(_component_ProSidebox, {
544
- key: 0,
545
- menus: _ctx.sideboxData,
546
- sidebarStyle: _ctx.sidebarStyle,
547
- colorfulIcon: _ctx.colorfulIcon,
548
- active: _ctx.collapse ? _ctx.sidebarActive : _ctx.sideboxActive,
549
- compact: _ctx.compact,
550
- collapse: _ctx.collapse,
551
- popperEffect: _ctx.tooltipEffect,
552
- titleSlot: _ctx.sideboxTitleSlot,
553
- iconSlot: _ctx.sideboxIconSlot
554
- }, vue.createSlots({ _: 2 }, [
555
- vue.renderList(Object.keys(_ctx.$slots), (name) => {
556
- return {
557
- name,
558
- fn: vue.withCtx((slotProps) => [
559
- vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
560
- ])
561
- };
562
- })
563
- ]), 1032, ["menus", "sidebarStyle", "colorfulIcon", "active", "compact", "collapse", "popperEffect", "titleSlot", "iconSlot"])) : vue.createCommentVNode("", true),
564
- _ctx.sidebar ? (vue.openBlock(), vue.createBlock(_component_ProSidebar, {
565
- key: 1,
566
- menus: _ctx.authenticated ? _ctx.sidebarData : [],
567
- sidebarStyle: _ctx.sidebarTheme,
568
- colorfulIcon: _ctx.colorfulIcon,
569
- active: _ctx.sidebarActive,
570
- collapse: _ctx.sidebarCollapse,
571
- uniqueOpened: _ctx.uniqueOpened,
572
- defaultOpeneds: _ctx.sidebarOpeneds,
573
- popperEffect: _ctx.tooltipEffect,
574
- titleSlot: _ctx.sidebarTitleSlot,
575
- iconSlot: _ctx.sidebarIconSlot,
576
- onOpen: _ctx.onSideMenuOpen,
577
- onClsoe: _ctx.onSideMenuClose
578
- }, vue.createSlots({ _: 2 }, [
579
- vue.renderList(Object.keys(_ctx.$slots), (name) => {
580
- return {
581
- name,
582
- fn: vue.withCtx((slotProps) => [
583
- vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
584
- ])
585
- };
586
- })
587
- ]), 1032, ["menus", "sidebarStyle", "colorfulIcon", "active", "collapse", "uniqueOpened", "defaultOpeneds", "popperEffect", "titleSlot", "iconSlot", "onOpen", "onClsoe"])) : vue.createCommentVNode("", true),
588
- vue.createElementVNode("div", _hoisted_2, [
589
- _ctx.authenticated && _ctx.tabBar ? (vue.openBlock(), vue.createBlock(_component_ProTabs, {
638
+ ]), 1032, ["menus", "headerStyle", "active", "ellipsis", "ellipsisProps", "menuTrigger", "itemTrigger", "collapse", "sidebar", "titleSlot", "iconSlot", "levels", "breadcrumb", "breadcrumbSeparator", "homePath", "isHome", "onLogoClick", "onOpen", "onClsoe", "onItemClick"]),
639
+ vue.createVNode(_component_EleWatermark, {
640
+ class: "ele-admin-main",
641
+ height: 68,
642
+ disabled: _ctx.authenticated,
643
+ fixed: true,
644
+ content: _ctx.watermark
645
+ }, {
646
+ default: vue.withCtx(() => [
647
+ _ctx.sidebox ? (vue.openBlock(), vue.createBlock(_component_ProSidebox, {
590
648
  key: 0,
591
- tabs: _ctx.tabData,
592
- active: _ctx.tabActive,
593
- tabStyle: _ctx.tabStyle,
594
- fixedHome: _ctx.fixedHome,
595
- homePath: _ctx.homeMenuPath,
596
- isHome: _ctx.isHome,
597
- tabContextMenu: _ctx.tabContextMenu,
598
- tabContextMenus: _ctx.tabContextMenus,
599
- tabSortable: _ctx.tabSortable,
600
- onTabClick: _ctx.onTabClick,
601
- onTabRemove: _ctx.onTabRemove,
602
- onTabContextMenu: _ctx.onTabContextMenu,
603
- onTabSortChange: _ctx.onTabSortChange
649
+ menus: _ctx.sideboxData,
650
+ sidebarStyle: _ctx.sidebarStyle,
651
+ colorfulIcon: _ctx.colorfulIcon,
652
+ active: _ctx.collapse ? _ctx.sidebarActive : _ctx.sideboxActive,
653
+ compact: _ctx.compact,
654
+ collapse: _ctx.collapse,
655
+ popperEffect: _ctx.tooltipEffect,
656
+ itemTrigger: _ctx.boxTrigger,
657
+ titleSlot: _ctx.sideboxTitleSlot,
658
+ iconSlot: _ctx.sideboxIconSlot,
659
+ onItemClick: _ctx.onBoxItemClick
660
+ }, vue.createSlots({ _: 2 }, [
661
+ vue.renderList(Object.keys(_ctx.$slots), (name) => {
662
+ return {
663
+ name,
664
+ fn: vue.withCtx((slotProps) => [
665
+ vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
666
+ ])
667
+ };
668
+ })
669
+ ]), 1032, ["menus", "sidebarStyle", "colorfulIcon", "active", "compact", "collapse", "popperEffect", "itemTrigger", "titleSlot", "iconSlot", "onItemClick"])) : vue.createCommentVNode("", true),
670
+ _ctx.sidebar ? (vue.openBlock(), vue.createBlock(_component_ProSidebar, {
671
+ key: 1,
672
+ menus: _ctx.sidebarData,
673
+ sidebarStyle: _ctx.sidebarTheme,
674
+ colorfulIcon: _ctx.colorfulIcon,
675
+ active: _ctx.sidebarActive,
676
+ collapse: _ctx.sidebarCollapse,
677
+ uniqueOpened: _ctx.uniqueOpened,
678
+ defaultOpeneds: _ctx.sidebarOpeneds,
679
+ popperEffect: _ctx.tooltipEffect,
680
+ itemTrigger: _ctx.itemTrigger,
681
+ titleSlot: _ctx.sidebarTitleSlot,
682
+ iconSlot: _ctx.sidebarIconSlot,
683
+ onOpen: _ctx.onSideMenuOpen,
684
+ onClsoe: _ctx.onSideMenuClose,
685
+ onItemClick: _ctx.onMenuItemClick
604
686
  }, vue.createSlots({ _: 2 }, [
605
687
  vue.renderList(Object.keys(_ctx.$slots), (name) => {
606
688
  return {
@@ -610,28 +692,49 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
610
692
  ])
611
693
  };
612
694
  })
613
- ]), 1032, ["tabs", "active", "tabStyle", "fixedHome", "homePath", "isHome", "tabContextMenu", "tabContextMenus", "tabSortable", "onTabClick", "onTabRemove", "onTabContextMenu", "onTabSortChange"])) : vue.createCommentVNode("", true),
614
- _ctx.authenticated ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
615
- _ctx.tabBar && _ctx.keepAlive ? (vue.openBlock(), vue.createBlock(_component_ProIframe, {
695
+ ]), 1032, ["menus", "sidebarStyle", "colorfulIcon", "active", "collapse", "uniqueOpened", "defaultOpeneds", "popperEffect", "itemTrigger", "titleSlot", "iconSlot", "onOpen", "onClsoe", "onItemClick"])) : vue.createCommentVNode("", true),
696
+ vue.createElementVNode("div", _hoisted_1, [
697
+ _ctx.tabBar ? (vue.openBlock(), vue.createBlock(_component_ProTabs, {
616
698
  key: 0,
617
- keepAlive: _ctx.keepAlive,
618
- transitionName: _ctx.transitionName,
619
- transitionDelay: _ctx.transitionDelay,
620
- tabData: _ctx.tabData,
621
- tabActive: _ctx.tabActive
622
- }, null, 8, ["keepAlive", "transitionName", "transitionDelay", "tabData", "tabActive"])) : vue.createCommentVNode("", true),
623
- vue.renderSlot(_ctx.$slots, "default"),
624
- !_ctx.hideFooter ? vue.renderSlot(_ctx.$slots, "footer", { key: 1 }) : vue.createCommentVNode("", true)
625
- ], 512)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
626
- vue.createVNode(_component_EleAlert, {
627
- type: "warning",
628
- showIcon: true,
629
- closable: false,
630
- title: _ctx.UNAUTHORIZED_TIP
631
- }, null, 8, ["title"])
632
- ]))
633
- ])
634
- ]),
699
+ tabs: _ctx.tabData,
700
+ active: _ctx.tabActive,
701
+ tabStyle: _ctx.tabStyle,
702
+ fixedHome: _ctx.fixedHome,
703
+ homePath: _ctx.homeMenuPath,
704
+ isHome: _ctx.isHome,
705
+ tabContextMenu: _ctx.tabContextMenu,
706
+ tabContextMenus: _ctx.tabContextMenus,
707
+ tabSortable: _ctx.tabSortable,
708
+ onTabClick: _ctx.onTabClick,
709
+ onTabRemove: _ctx.onTabRemove,
710
+ onTabContextMenu: _ctx.onTabContextMenu,
711
+ onTabSortChange: _ctx.onTabSortChange
712
+ }, vue.createSlots({ _: 2 }, [
713
+ vue.renderList(Object.keys(_ctx.$slots), (name) => {
714
+ return {
715
+ name,
716
+ fn: vue.withCtx((slotProps) => [
717
+ vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
718
+ ])
719
+ };
720
+ })
721
+ ]), 1032, ["tabs", "active", "tabStyle", "fixedHome", "homePath", "isHome", "tabContextMenu", "tabContextMenus", "tabSortable", "onTabClick", "onTabRemove", "onTabContextMenu", "onTabSortChange"])) : vue.createCommentVNode("", true),
722
+ vue.createElementVNode("div", _hoisted_2, [
723
+ _ctx.tabBar && _ctx.keepAlive ? (vue.openBlock(), vue.createBlock(_component_ProIframe, {
724
+ key: 0,
725
+ keepAlive: _ctx.keepAlive,
726
+ transitionName: _ctx.transitionName,
727
+ transitionDelay: _ctx.transitionDelay,
728
+ tabData: _ctx.tabData,
729
+ tabActive: _ctx.tabActive
730
+ }, null, 8, ["keepAlive", "transitionName", "transitionDelay", "tabData", "tabActive"])) : vue.createCommentVNode("", true),
731
+ vue.renderSlot(_ctx.$slots, "default"),
732
+ !_ctx.hideFooter ? vue.renderSlot(_ctx.$slots, "footer", { key: 1 }) : vue.createCommentVNode("", true)
733
+ ], 512)
734
+ ])
735
+ ]),
736
+ _: 3
737
+ }, 8, ["disabled", "content"]),
635
738
  vue.createElementVNode("div", {
636
739
  class: "ele-admin-mask",
637
740
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.updateCollapse && _ctx.updateCollapse(...args))
@@ -641,7 +744,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
641
744
  right: _ctx.backTopRight,
642
745
  bottom: _ctx.backTopBottom,
643
746
  visibilityHeight: _ctx.backTopVisibilityHeight,
644
- target: _ctx.fixedBody ? ".ele-admin-layout .ele-admin-content" : void 0
747
+ target: _ctx.backTopSelector
645
748
  }, null, 8, ["right", "bottom", "visibilityHeight", "target"])) : vue.createCommentVNode("", true)
646
749
  ], 2);
647
750
  }
@@ -2,7 +2,7 @@ import type { PropType, ExtractPropTypes } from 'vue';
2
2
  import type { EllipsisProps } from '../ele-menus/types';
3
3
  import type { ContextMenus } from '../ele-tabs/types';
4
4
  import type { EleDropdownProps } from '../ele-file-list/types';
5
- import type { MenuItem, TabItem, Layout, SidebarLayout, HeaderStyle, SidebarStyle, TabStyle, MenuI18n, TabItemEventOption, BodySizeChangeOption } from './types';
5
+ import type { MenuItem, TabItem, Layout, SidebarLayout, HeaderStyle, SidebarStyle, TabStyle, MenuI18n, TabItemEventOption, BodySizeChangeOption, MenuItemTrigger, BeforeClick } from './types';
6
6
  /**
7
7
  * 属性
8
8
  */
@@ -40,6 +40,7 @@ export declare const proLayoutProps: {
40
40
  type: NumberConstructor;
41
41
  default: number;
42
42
  };
43
+ backTopTarget: StringConstructor;
43
44
  ellipsis: {
44
45
  type: BooleanConstructor;
45
46
  default: boolean;
@@ -131,6 +132,10 @@ export declare const proLayoutProps: {
131
132
  default: string;
132
133
  };
133
134
  tooltipEffect: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown> | undefined>;
135
+ navTrigger: PropType<MenuItemTrigger>;
136
+ boxTrigger: PropType<MenuItemTrigger>;
137
+ itemTrigger: PropType<MenuItemTrigger>;
138
+ beforeClick: PropType<BeforeClick>;
134
139
  keepAlive: BooleanConstructor;
135
140
  transitionName: StringConstructor;
136
141
  transitionDelay: {