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
@@ -22,6 +22,8 @@ const _sfc_main = defineComponent({
22
22
  ellipsisProps: Object,
23
23
  // 子菜单触发方式
24
24
  menuTrigger: String,
25
+ // 菜单项触发模式
26
+ itemTrigger: String,
25
27
  // 侧栏是否折叠
26
28
  collapse: Boolean,
27
29
  // 当前是否有侧栏
@@ -47,11 +49,14 @@ const _sfc_main = defineComponent({
47
49
  emits: {
48
50
  logoClick: () => true,
49
51
  open: (_index, _indexPath) => true,
50
- close: (_index, _indexPath) => true
52
+ close: (_index, _indexPath) => true,
53
+ itemClick: (_item) => true
51
54
  },
52
55
  setup(props, { emit }) {
53
56
  const levelItems = shallowRef([]);
54
- const menuItems = computed(() => getMenuItems(props.menus));
57
+ const menuItems = computed(() => {
58
+ return getMenuItems(props.menus, props.itemTrigger != "click");
59
+ });
55
60
  const isDark = computed(() => props.headerStyle === "dark");
56
61
  const isPrimary = computed(() => props.headerStyle === "primary");
57
62
  const isIconSeparator = computed(() => {
@@ -66,6 +71,9 @@ const _sfc_main = defineComponent({
66
71
  const onClose = (index, indexPath) => {
67
72
  emit("close", index, indexPath);
68
73
  };
74
+ const onItemClick = (item) => {
75
+ emit("itemClick", item);
76
+ };
69
77
  watch(
70
78
  [() => props.isHome, () => props.homePath, () => props.levels],
71
79
  () => {
@@ -95,7 +103,8 @@ const _sfc_main = defineComponent({
95
103
  isIconSeparator,
96
104
  onLogoClick,
97
105
  onOpen,
98
- onClose
106
+ onClose,
107
+ onItemClick
99
108
  };
100
109
  }
101
110
  });
@@ -169,7 +178,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
169
178
  defaultActive: _ctx.active,
170
179
  menuTrigger: _ctx.menuTrigger,
171
180
  onOpen: _ctx.onOpen,
172
- onClose: _ctx.onClose
181
+ onClose: _ctx.onClose,
182
+ onItemClick: _ctx.onItemClick
173
183
  }, createSlots({ _: 2 }, [
174
184
  _ctx.iconSlot && _ctx.$slots[_ctx.iconSlot] ? {
175
185
  name: "icon",
@@ -185,7 +195,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
185
195
  ]),
186
196
  key: "1"
187
197
  } : void 0
188
- ]), 1032, ["items", "theme", "popupTheme", "ellipsis", "ellipsisProps", "defaultActive", "menuTrigger", "onOpen", "onClose"])) : createCommentVNode("", true)
198
+ ]), 1032, ["items", "theme", "popupTheme", "ellipsis", "ellipsisProps", "defaultActive", "menuTrigger", "onOpen", "onClose", "onItemClick"])) : createCommentVNode("", true)
189
199
  ]),
190
200
  _ctx.$slots.right ? (openBlock(), createElementBlock("div", _hoisted_4, [
191
201
  renderSlot(_ctx.$slots, "right", { sidebar: _ctx.sidebar })
@@ -57,14 +57,17 @@ const _sfc_main = defineComponent({
57
57
  state.timer = null;
58
58
  }
59
59
  };
60
- watch([() => props.tabActive, () => props.tabData], () => {
61
- clearTimer();
62
- if (visible.value) {
63
- active.value = null;
64
- } else {
65
- onAfterLeave(props.transitionDelay);
60
+ watch(
61
+ () => props.tabActive,
62
+ () => {
63
+ clearTimer();
64
+ if (visible.value) {
65
+ active.value = null;
66
+ } else {
67
+ onAfterLeave(props.transitionDelay);
68
+ }
66
69
  }
67
- });
70
+ );
68
71
  onBeforeUnmount(() => {
69
72
  clearTimer();
70
73
  });
@@ -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[]>;
@@ -13,16 +13,19 @@ declare const _default: import("vue").DefineComponent<{
13
13
  uniqueOpened: BooleanConstructor;
14
14
  defaultOpeneds: PropType<string[]>;
15
15
  popperEffect: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown>>;
16
+ itemTrigger: PropType<MenuItemTrigger>;
16
17
  titleSlot: StringConstructor;
17
18
  iconSlot: StringConstructor;
18
19
  }, {
19
20
  menusRef: import("vue").Ref<ElScrollbarInstance>;
20
- menuItems: import("vue").ComputedRef<import("../../ele-menus/types").MenuItem[]>;
21
+ menuItems: import("vue").ComputedRef<MenuItemProps[]>;
21
22
  onOpen: (index: string, indexPath: string[]) => void;
22
23
  onClose: (index: string, indexPath: string[]) => void;
24
+ onItemClick: (item: MenuItemProps) => void;
23
25
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
26
  open: (_index: string, _indexPath: string[]) => true;
25
27
  close: (_index: string, _indexPath: string[]) => true;
28
+ itemClick: (_item: MenuItemProps) => true;
26
29
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
30
  menus: {
28
31
  type: PropType<MenuItem[]>;
@@ -35,11 +38,13 @@ declare const _default: import("vue").DefineComponent<{
35
38
  uniqueOpened: BooleanConstructor;
36
39
  defaultOpeneds: PropType<string[]>;
37
40
  popperEffect: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown>>;
41
+ itemTrigger: PropType<MenuItemTrigger>;
38
42
  titleSlot: StringConstructor;
39
43
  iconSlot: StringConstructor;
40
44
  }>> & {
41
45
  onOpen?: ((_index: string, _indexPath: string[]) => any) | undefined;
42
46
  onClose?: ((_index: string, _indexPath: string[]) => any) | undefined;
47
+ onItemClick?: ((_item: MenuItemProps) => any) | undefined;
43
48
  }, {
44
49
  uniqueOpened: boolean;
45
50
  collapse: boolean;
@@ -25,6 +25,8 @@ const _sfc_main = defineComponent({
25
25
  defaultOpeneds: Array,
26
26
  // tooltip 主题
27
27
  popperEffect: String,
28
+ // 菜单项触发模式
29
+ itemTrigger: String,
28
30
  // 标题插槽名称
29
31
  titleSlot: String,
30
32
  // 图标插槽名称
@@ -32,7 +34,8 @@ const _sfc_main = defineComponent({
32
34
  },
33
35
  emits: {
34
36
  open: (_index, _indexPath) => true,
35
- close: (_index, _indexPath) => true
37
+ close: (_index, _indexPath) => true,
38
+ itemClick: (_item) => true
36
39
  },
37
40
  setup(props, { emit }) {
38
41
  const { scrollIntoView } = useMenuScroll(() => {
@@ -40,13 +43,18 @@ const _sfc_main = defineComponent({
40
43
  return (_a = menusRef.value) == null ? void 0 : _a.$el;
41
44
  });
42
45
  const menusRef = ref(null);
43
- const menuItems = computed(() => getMenuItems(props.menus));
46
+ const menuItems = computed(() => {
47
+ return getMenuItems(props.menus, props.itemTrigger != "click");
48
+ });
44
49
  const onOpen = (index, indexPath) => {
45
50
  emit("open", index, indexPath);
46
51
  };
47
52
  const onClose = (index, indexPath) => {
48
53
  emit("close", index, indexPath);
49
54
  };
55
+ const onItemClick = (item) => {
56
+ emit("itemClick", item);
57
+ };
50
58
  watch(
51
59
  () => props.active,
52
60
  () => {
@@ -55,7 +63,7 @@ const _sfc_main = defineComponent({
55
63
  });
56
64
  }
57
65
  );
58
- return { menusRef, menuItems, onOpen, onClose };
66
+ return { menusRef, menuItems, onOpen, onClose, onItemClick };
59
67
  }
60
68
  });
61
69
  const _export_sfc = (sfc, props) => {
@@ -87,7 +95,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
87
95
  popperEffect: _ctx.popperEffect,
88
96
  collapseTransition: false,
89
97
  onOpen: _ctx.onOpen,
90
- onClose: _ctx.onClose
98
+ onClose: _ctx.onClose,
99
+ onItemClick: _ctx.onItemClick
91
100
  }, createSlots({ _: 2 }, [
92
101
  _ctx.iconSlot && _ctx.$slots[_ctx.iconSlot] ? {
93
102
  name: "icon",
@@ -103,7 +112,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
103
112
  ]),
104
113
  key: "1"
105
114
  } : void 0
106
- ]), 1032, ["items", "theme", "colorful", "collapse", "defaultActive", "defaultOpeneds", "uniqueOpened", "popperEffect", "onOpen", "onClose"])
115
+ ]), 1032, ["items", "theme", "colorful", "collapse", "defaultActive", "defaultOpeneds", "uniqueOpened", "popperEffect", "onOpen", "onClose", "onItemClick"])
107
116
  ]),
108
117
  _: 3
109
118
  }, 512),
@@ -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;
@@ -23,18 +23,28 @@ const _sfc_main = defineComponent({
23
23
  collapse: Boolean,
24
24
  // tooltip 主题
25
25
  popperEffect: String,
26
+ // 菜单项触发模式
27
+ itemTrigger: String,
26
28
  // 标题插槽名称
27
29
  titleSlot: String,
28
30
  // 图标插槽名称
29
31
  iconSlot: String
30
32
  },
31
- setup(props) {
33
+ emits: {
34
+ itemClick: (_item) => true
35
+ },
36
+ setup(props, { emit }) {
32
37
  const { scrollIntoView } = useMenuScroll(() => {
33
38
  var _a;
34
39
  return (_a = menusRef.value) == null ? void 0 : _a.$el;
35
40
  });
36
41
  const menusRef = ref(null);
37
- const menuItems = computed(() => getMenuItems(props.menus));
42
+ const menuItems = computed(() => {
43
+ return getMenuItems(props.menus, props.itemTrigger != "click");
44
+ });
45
+ const onItemClick = (item) => {
46
+ emit("itemClick", item);
47
+ };
38
48
  watch(
39
49
  () => props.active,
40
50
  () => {
@@ -43,7 +53,7 @@ const _sfc_main = defineComponent({
43
53
  });
44
54
  }
45
55
  );
46
- return { menusRef, menuItems };
56
+ return { menusRef, menuItems, onItemClick };
47
57
  }
48
58
  });
49
59
  const _export_sfc = (sfc, props) => {
@@ -74,7 +84,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
74
84
  popperEffect: _ctx.popperEffect,
75
85
  collapseTransition: false,
76
86
  firstPopperClass: "ele-admin-sidebox-popup",
77
- tooltipDisabled: !_ctx.compact
87
+ tooltipDisabled: !_ctx.compact,
88
+ onItemClick: _ctx.onItemClick
78
89
  }, createSlots({ _: 2 }, [
79
90
  _ctx.iconSlot && _ctx.$slots[_ctx.iconSlot] ? {
80
91
  name: "icon",
@@ -90,7 +101,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
90
101
  ]),
91
102
  key: "1"
92
103
  } : void 0
93
- ]), 1032, ["items", "theme", "popupColorful", "collapse", "defaultActive", "popperEffect", "tooltipDisabled"])
104
+ ]), 1032, ["items", "theme", "popupColorful", "collapse", "defaultActive", "popperEffect", "tooltipDisabled", "onItemClick"])
94
105
  ]),
95
106
  _: 3
96
107
  }, 512),
@@ -63,10 +63,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
63
63
  placement: "bottom-end",
64
64
  popperClass: "ele-tab-popup",
65
65
  popperOptions: {
66
- modifiers: [
67
- { name: "arrow", options: { padding: 12 } },
68
- { name: "offset", options: { offset: [12, 8] } }
69
- ]
66
+ modifiers: [{ name: "offset", options: { offset: [12, 8] } }]
70
67
  },
71
68
  items: _ctx.items,
72
69
  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;