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

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 (269) 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 +79 -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-cropper/index.js +2 -2
  23. package/es/ele-dashboard/index.d.ts +1 -2
  24. package/es/ele-drawer/index.d.ts +16 -10
  25. package/es/ele-drawer/props.d.ts +7 -6
  26. package/es/ele-dropdown/index.d.ts +2 -2
  27. package/es/ele-dropdown/props.d.ts +1 -2
  28. package/es/ele-edit-tag/index.d.ts +4 -4
  29. package/es/ele-edit-tag/props.d.ts +2 -3
  30. package/es/ele-ellipsis/index.d.ts +4 -5
  31. package/es/ele-ellipsis/props.d.ts +1 -1
  32. package/es/ele-ellipsis/style/index.scss +4 -0
  33. package/es/ele-file-list/index.d.ts +2 -7
  34. package/es/ele-file-list/index.js +2 -2
  35. package/es/ele-file-list/types/index.d.ts +0 -4
  36. package/es/ele-icon-select/components/icon-grid.d.ts +5 -5
  37. package/es/ele-icon-select/components/icon-popper.d.ts +15 -15
  38. package/es/ele-icon-select/index.d.ts +15 -16
  39. package/es/ele-icon-select/props.d.ts +8 -8
  40. package/es/ele-loading/index.d.ts +26 -1
  41. package/es/ele-loading/index.js +53 -11
  42. package/es/ele-loading/props.d.ts +11 -1
  43. package/es/ele-loading/props.js +16 -1
  44. package/es/ele-loading/style/css-var.scss +7 -0
  45. package/es/ele-loading/style/index.js +1 -0
  46. package/es/ele-loading/style/index.scss +90 -0
  47. package/es/ele-loading/types/index.d.ts +17 -0
  48. package/es/ele-map-picker/components/map-view.d.ts +2 -2
  49. package/es/ele-map-picker/index.d.ts +2 -2
  50. package/es/ele-map-picker/props.d.ts +3 -3
  51. package/es/ele-menus/index.d.ts +2 -0
  52. package/es/ele-menus/index.js +11 -5
  53. package/es/ele-menus/props.d.ts +10 -0
  54. package/es/ele-menus/props.js +7 -1
  55. package/es/ele-menus/style/index.scss +18 -18
  56. package/es/ele-menus/types/index.d.ts +4 -0
  57. package/es/ele-menus/util.d.ts +4 -3
  58. package/es/ele-menus/util.js +23 -12
  59. package/es/ele-modal/index.d.ts +19 -13
  60. package/es/ele-modal/props.d.ts +8 -7
  61. package/es/ele-modal/util.js +2 -2
  62. package/es/ele-pagination/index.d.ts +1 -1
  63. package/es/ele-popconfirm/index.d.ts +10 -10
  64. package/es/ele-popconfirm/index.js +8 -2
  65. package/es/ele-popconfirm/props.d.ts +6 -6
  66. package/es/ele-popover/index.d.ts +6 -6
  67. package/es/ele-popover/props.d.ts +3 -4
  68. package/es/ele-printer/index.d.ts +6 -6
  69. package/es/ele-printer/props.d.ts +3 -4
  70. package/es/ele-pro-layout/components/pro-header.d.ts +7 -2
  71. package/es/ele-pro-layout/components/pro-header.js +15 -5
  72. package/es/ele-pro-layout/components/pro-iframe.js +10 -7
  73. package/es/ele-pro-layout/components/pro-sidebar.d.ts +7 -2
  74. package/es/ele-pro-layout/components/pro-sidebar.js +14 -5
  75. package/es/ele-pro-layout/components/pro-sidebox.d.ts +11 -4
  76. package/es/ele-pro-layout/components/pro-sidebox.js +16 -5
  77. package/es/ele-pro-layout/components/tab-dropdown.js +1 -4
  78. package/es/ele-pro-layout/index.d.ts +17 -3
  79. package/es/ele-pro-layout/index.js +208 -105
  80. package/es/ele-pro-layout/props.d.ts +6 -1
  81. package/es/ele-pro-layout/props.js +10 -0
  82. package/es/ele-pro-layout/style/collapse.scss +9 -10
  83. package/es/ele-pro-layout/style/index.js +0 -1
  84. package/es/ele-pro-layout/types/index.d.ts +9 -0
  85. package/es/ele-pro-layout/util.d.ts +4 -2
  86. package/es/ele-pro-layout/util.js +20 -17
  87. package/es/ele-pro-table/components/table-view.d.ts +9 -3
  88. package/es/ele-pro-table/components/table-view.js +27 -24
  89. package/es/ele-pro-table/components/tool-column.d.ts +2 -1
  90. package/es/ele-pro-table/components/tool-column.js +26 -18
  91. package/es/ele-pro-table/index.d.ts +46 -25
  92. package/es/ele-pro-table/index.js +182 -196
  93. package/es/ele-pro-table/props.d.ts +27 -15
  94. package/es/ele-pro-table/props.js +15 -3
  95. package/es/ele-pro-table/style/index.js +1 -1
  96. package/es/ele-pro-table/style/index.scss +64 -8
  97. package/es/ele-pro-table/types/index.d.ts +39 -5
  98. package/es/ele-pro-table/util.d.ts +84 -49
  99. package/es/ele-pro-table/util.js +193 -78
  100. package/es/ele-qr-code/index.d.ts +3 -3
  101. package/es/ele-qr-code/props.d.ts +1 -2
  102. package/es/ele-qr-code-svg/index.d.ts +3 -3
  103. package/es/ele-split-panel/index.d.ts +6 -6
  104. package/es/ele-split-panel/props.d.ts +3 -4
  105. package/es/ele-table/style/index.scss +1 -0
  106. package/es/ele-tabs/index.js +3 -3
  107. package/es/ele-tabs/types/index.d.ts +3 -0
  108. package/es/ele-text/index.d.ts +3 -3
  109. package/es/ele-text/props.d.ts +2 -2
  110. package/es/ele-toolbar/index.d.ts +6 -6
  111. package/es/ele-toolbar/props.d.ts +3 -4
  112. package/es/ele-tooltip/index.d.ts +3 -3
  113. package/es/ele-tooltip/props.d.ts +1 -2
  114. package/es/ele-tour/index.d.ts +2 -3
  115. package/es/ele-tour/style/index.scss +1 -1
  116. package/es/ele-tour/util.js +3 -3
  117. package/es/ele-upload-list/index.d.ts +8 -7
  118. package/es/ele-upload-list/index.js +18 -11
  119. package/es/ele-upload-list/props.d.ts +4 -4
  120. package/es/ele-upload-list/props.js +1 -1
  121. package/es/ele-watermark/index.d.ts +16 -8
  122. package/es/ele-watermark/index.js +18 -12
  123. package/es/ele-watermark/props.d.ts +3 -1
  124. package/es/ele-watermark/props.js +5 -1
  125. package/es/ele-watermark/util.js +1 -1
  126. package/es/style/index.scss +1 -0
  127. package/es/style/nprogress.scss +2 -2
  128. package/es/style/themes/default.scss +36 -12
  129. package/es/style/themes/rounded.scss +4 -2
  130. package/es/style/themes/theme-util.scss +2 -0
  131. package/es/utils/core.d.ts +1 -1
  132. package/es/utils/core.js +17 -15
  133. package/es/utils/resolvers.js +2 -2
  134. package/lib/ele-alert/index.d.ts +10 -10
  135. package/lib/ele-alert/props.d.ts +6 -6
  136. package/lib/ele-app/style/message.scss +1 -0
  137. package/lib/ele-app/style/overwrite.scss +79 -3
  138. package/lib/ele-app/types/index.d.ts +7 -6
  139. package/lib/ele-avatar-group/index.d.ts +7 -8
  140. package/lib/ele-avatar-group/props.d.ts +3 -4
  141. package/lib/ele-basic-select/style/index.scss +4 -6
  142. package/lib/ele-bottom-bar/index.d.ts +4 -4
  143. package/lib/ele-bottom-bar/props.d.ts +2 -3
  144. package/lib/ele-card/index.d.ts +6 -6
  145. package/lib/ele-card/props.d.ts +3 -4
  146. package/lib/ele-check-card/components/card-item.d.ts +2 -3
  147. package/lib/ele-check-card/index.d.ts +4 -4
  148. package/lib/ele-check-card/props.d.ts +3 -3
  149. package/lib/ele-config-provider/receiver.d.ts +1 -1
  150. package/lib/ele-config-provider/receiver.js +2 -2
  151. package/lib/ele-copyable/index.d.ts +8 -8
  152. package/lib/ele-copyable/index.js +4 -3
  153. package/lib/ele-copyable/props.d.ts +5 -5
  154. package/lib/ele-copyable/style/index.scss +4 -0
  155. package/lib/ele-cropper/index.js +2 -2
  156. package/lib/ele-dashboard/index.d.ts +1 -2
  157. package/lib/ele-drawer/index.d.ts +16 -10
  158. package/lib/ele-drawer/props.d.ts +7 -6
  159. package/lib/ele-dropdown/index.d.ts +2 -2
  160. package/lib/ele-dropdown/props.d.ts +1 -2
  161. package/lib/ele-edit-tag/index.d.ts +4 -4
  162. package/lib/ele-edit-tag/props.d.ts +2 -3
  163. package/lib/ele-ellipsis/index.d.ts +4 -5
  164. package/lib/ele-ellipsis/props.d.ts +1 -1
  165. package/lib/ele-ellipsis/style/index.scss +4 -0
  166. package/lib/ele-file-list/index.d.ts +2 -7
  167. package/lib/ele-file-list/index.js +2 -2
  168. package/lib/ele-file-list/types/index.d.ts +0 -4
  169. package/lib/ele-icon-select/components/icon-grid.d.ts +5 -5
  170. package/lib/ele-icon-select/components/icon-popper.d.ts +15 -15
  171. package/lib/ele-icon-select/index.d.ts +15 -16
  172. package/lib/ele-icon-select/props.d.ts +8 -8
  173. package/lib/ele-loading/index.d.ts +26 -1
  174. package/lib/ele-loading/index.js +52 -10
  175. package/lib/ele-loading/props.d.ts +11 -1
  176. package/lib/ele-loading/props.js +16 -1
  177. package/lib/ele-loading/style/css-var.scss +7 -0
  178. package/lib/ele-loading/style/index.js +1 -0
  179. package/lib/ele-loading/style/index.scss +90 -0
  180. package/lib/ele-loading/types/index.d.ts +17 -0
  181. package/lib/ele-map-picker/components/map-view.d.ts +2 -2
  182. package/lib/ele-map-picker/index.d.ts +2 -2
  183. package/lib/ele-map-picker/props.d.ts +3 -3
  184. package/lib/ele-menus/index.d.ts +2 -0
  185. package/lib/ele-menus/index.js +9 -3
  186. package/lib/ele-menus/props.d.ts +10 -0
  187. package/lib/ele-menus/props.js +6 -0
  188. package/lib/ele-menus/style/index.scss +18 -18
  189. package/lib/ele-menus/types/index.d.ts +4 -0
  190. package/lib/ele-menus/util.d.ts +4 -3
  191. package/lib/ele-menus/util.js +23 -12
  192. package/lib/ele-modal/index.d.ts +19 -13
  193. package/lib/ele-modal/props.d.ts +8 -7
  194. package/lib/ele-modal/util.js +2 -2
  195. package/lib/ele-pagination/index.d.ts +1 -1
  196. package/lib/ele-popconfirm/index.d.ts +10 -10
  197. package/lib/ele-popconfirm/index.js +8 -2
  198. package/lib/ele-popconfirm/props.d.ts +6 -6
  199. package/lib/ele-popover/index.d.ts +6 -6
  200. package/lib/ele-popover/props.d.ts +3 -4
  201. package/lib/ele-printer/index.d.ts +6 -6
  202. package/lib/ele-printer/props.d.ts +3 -4
  203. package/lib/ele-pro-layout/components/pro-header.d.ts +7 -2
  204. package/lib/ele-pro-layout/components/pro-header.js +15 -5
  205. package/lib/ele-pro-layout/components/pro-iframe.js +10 -7
  206. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +7 -2
  207. package/lib/ele-pro-layout/components/pro-sidebar.js +14 -5
  208. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +11 -4
  209. package/lib/ele-pro-layout/components/pro-sidebox.js +16 -5
  210. package/lib/ele-pro-layout/components/tab-dropdown.js +1 -4
  211. package/lib/ele-pro-layout/index.d.ts +17 -3
  212. package/lib/ele-pro-layout/index.js +205 -102
  213. package/lib/ele-pro-layout/props.d.ts +6 -1
  214. package/lib/ele-pro-layout/props.js +10 -0
  215. package/lib/ele-pro-layout/style/collapse.scss +9 -10
  216. package/lib/ele-pro-layout/style/index.js +0 -1
  217. package/lib/ele-pro-layout/types/index.d.ts +9 -0
  218. package/lib/ele-pro-layout/util.d.ts +4 -2
  219. package/lib/ele-pro-layout/util.js +19 -16
  220. package/lib/ele-pro-table/components/table-view.d.ts +9 -3
  221. package/lib/ele-pro-table/components/table-view.js +25 -22
  222. package/lib/ele-pro-table/components/tool-column.d.ts +2 -1
  223. package/lib/ele-pro-table/components/tool-column.js +25 -17
  224. package/lib/ele-pro-table/index.d.ts +46 -25
  225. package/lib/ele-pro-table/index.js +180 -194
  226. package/lib/ele-pro-table/props.d.ts +27 -15
  227. package/lib/ele-pro-table/props.js +15 -3
  228. package/lib/ele-pro-table/style/index.js +1 -1
  229. package/lib/ele-pro-table/style/index.scss +64 -8
  230. package/lib/ele-pro-table/types/index.d.ts +39 -5
  231. package/lib/ele-pro-table/util.d.ts +84 -49
  232. package/lib/ele-pro-table/util.js +192 -77
  233. package/lib/ele-qr-code/index.d.ts +3 -3
  234. package/lib/ele-qr-code/props.d.ts +1 -2
  235. package/lib/ele-qr-code-svg/index.d.ts +3 -3
  236. package/lib/ele-split-panel/index.d.ts +6 -6
  237. package/lib/ele-split-panel/props.d.ts +3 -4
  238. package/lib/ele-table/style/index.scss +1 -0
  239. package/lib/ele-tabs/index.js +3 -3
  240. package/lib/ele-tabs/types/index.d.ts +3 -0
  241. package/lib/ele-text/index.d.ts +3 -3
  242. package/lib/ele-text/props.d.ts +2 -2
  243. package/lib/ele-toolbar/index.d.ts +6 -6
  244. package/lib/ele-toolbar/props.d.ts +3 -4
  245. package/lib/ele-tooltip/index.d.ts +3 -3
  246. package/lib/ele-tooltip/props.d.ts +1 -2
  247. package/lib/ele-tour/index.d.ts +2 -3
  248. package/lib/ele-tour/style/index.scss +1 -1
  249. package/lib/ele-tour/util.js +3 -3
  250. package/lib/ele-upload-list/index.d.ts +8 -7
  251. package/lib/ele-upload-list/index.js +17 -10
  252. package/lib/ele-upload-list/props.d.ts +4 -4
  253. package/lib/ele-upload-list/props.js +1 -1
  254. package/lib/ele-watermark/index.d.ts +16 -8
  255. package/lib/ele-watermark/index.js +17 -11
  256. package/lib/ele-watermark/props.d.ts +3 -1
  257. package/lib/ele-watermark/props.js +5 -1
  258. package/lib/ele-watermark/util.js +1 -1
  259. package/lib/style/index.scss +1 -0
  260. package/lib/style/nprogress.scss +2 -2
  261. package/lib/style/themes/default.scss +36 -12
  262. package/lib/style/themes/rounded.scss +4 -2
  263. package/lib/style/themes/theme-util.scss +2 -0
  264. package/lib/utils/core.d.ts +1 -1
  265. package/lib/utils/core.js +17 -15
  266. package/lib/utils/resolvers.js +2 -2
  267. package/package.json +26 -24
  268. package/es/ele-alert/types/index.d.ts +0 -0
  269. package/lib/ele-alert/types/index.d.ts +0 -0
@@ -1,14 +1,39 @@
1
+ import { ComponentProps } from '../ele-app/types';
2
+ import type { CircleProps } from './types';
1
3
  declare const _default: import("vue").DefineComponent<{
2
4
  loading: BooleanConstructor;
3
5
  text: StringConstructor;
4
6
  background: StringConstructor;
5
7
  spinner: StringConstructor;
6
- }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ svgViewBox: StringConstructor;
9
+ type: {
10
+ type: import("vue").PropType<import("./types").LoadingType>;
11
+ default: string;
12
+ };
13
+ blur: BooleanConstructor;
14
+ size: import("vue").PropType<import("./types").LoadingSize>;
15
+ spinnerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
16
+ textStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
17
+ }, {
18
+ isCircle: import("vue").ComputedRef<boolean>;
19
+ rootProps: import("vue").ComputedRef<ComponentProps<CircleProps>>;
20
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
7
21
  loading: BooleanConstructor;
8
22
  text: StringConstructor;
9
23
  background: StringConstructor;
10
24
  spinner: StringConstructor;
25
+ svgViewBox: StringConstructor;
26
+ type: {
27
+ type: import("vue").PropType<import("./types").LoadingType>;
28
+ default: string;
29
+ };
30
+ blur: BooleanConstructor;
31
+ size: import("vue").PropType<import("./types").LoadingSize>;
32
+ spinnerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
33
+ textStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
11
34
  }>>, {
35
+ type: import("./types").LoadingType;
12
36
  loading: boolean;
37
+ blur: boolean;
13
38
  }, {}>;
14
39
  export default _default;
@@ -1,12 +1,32 @@
1
- import { defineComponent, resolveDirective, withDirectives, openBlock, createElementBlock, renderSlot } from "vue";
1
+ import { defineComponent, computed, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeProps, guardReactiveProps, renderSlot, normalizeStyle, normalizeClass, toDisplayString, createCommentVNode, vShow, createElementVNode } from "vue";
2
2
  import { vLoading } from "element-plus";
3
+ import { useLicense } from "../ele-config-provider/receiver";
3
4
  import { loadingProps } from "./props";
4
5
  const _sfc_main = defineComponent({
5
6
  name: "EleLoading",
6
7
  directives: {
7
8
  loading: vLoading
8
9
  },
9
- props: loadingProps
10
+ props: loadingProps,
11
+ setup(props) {
12
+ const { authenticated } = useLicense();
13
+ const isCircle = computed(() => {
14
+ return !authenticated.value || props.type === "circle";
15
+ });
16
+ const rootProps = computed(() => {
17
+ const obj = {
18
+ class: ["ele-loading", { "ele-loading-show": props.loading }]
19
+ };
20
+ if (isCircle.value) {
21
+ obj["element-loading-text"] = props.text;
22
+ obj["element-loading-background"] = props.background;
23
+ obj["element-loading-spinner"] = props.spinner;
24
+ obj["element-loading-svg-view-box"] = props.svgViewBox;
25
+ }
26
+ return obj;
27
+ });
28
+ return { isCircle, rootProps };
29
+ }
10
30
  });
11
31
  const _export_sfc = (sfc, props) => {
12
32
  const target = sfc.__vccOpts || sfc;
@@ -15,17 +35,39 @@ const _export_sfc = (sfc, props) => {
15
35
  }
16
36
  return target;
17
37
  };
18
- const _hoisted_1 = ["element-loading-text", "element-loading-background", "element-loading-spinner"];
38
+ const _hoisted_1 = /* @__PURE__ */ createElementVNode("div", { class: "ele-loading-dot" }, [
39
+ /* @__PURE__ */ createElementVNode("i"),
40
+ /* @__PURE__ */ createElementVNode("i"),
41
+ /* @__PURE__ */ createElementVNode("i"),
42
+ /* @__PURE__ */ createElementVNode("i")
43
+ ], -1);
19
44
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
20
45
  const _directive_loading = resolveDirective("loading");
21
- return withDirectives((openBlock(), createElementBlock("div", {
22
- "element-loading-text": _ctx.text,
23
- "element-loading-background": _ctx.background,
24
- "element-loading-spinner": _ctx.spinner
25
- }, [
26
- renderSlot(_ctx.$slots, "default")
27
- ], 8, _hoisted_1)), [
28
- [_directive_loading, _ctx.loading]
46
+ return withDirectives((openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(_ctx.rootProps)), [
47
+ renderSlot(_ctx.$slots, "default"),
48
+ !_ctx.isCircle ? withDirectives((openBlock(), createElementBlock("div", {
49
+ key: 0,
50
+ style: normalizeStyle(_ctx.spinnerStyle),
51
+ class: normalizeClass([
52
+ "ele-loading-spinner",
53
+ { "ele-loading-blur": _ctx.blur },
54
+ { "ele-loading-small": _ctx.size === "small" },
55
+ { "ele-loading-large": _ctx.size === "large" }
56
+ ])
57
+ }, [
58
+ renderSlot(_ctx.$slots, "spinner", {}, () => [
59
+ _hoisted_1
60
+ ]),
61
+ _ctx.text ? (openBlock(), createElementBlock("div", {
62
+ key: 0,
63
+ class: "ele-loading-text",
64
+ style: normalizeStyle(_ctx.textStyle)
65
+ }, toDisplayString(_ctx.text), 5)) : createCommentVNode("", true)
66
+ ], 6)), [
67
+ [vShow, _ctx.loading]
68
+ ]) : createCommentVNode("", true)
69
+ ], 16)), [
70
+ [_directive_loading, _ctx.isCircle && _ctx.loading]
29
71
  ]);
30
72
  }
31
73
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1,4 +1,5 @@
1
- import type { ExtractPropTypes } from 'vue';
1
+ import type { PropType, ExtractPropTypes } from 'vue';
2
+ import type { LoadingType, LoadingSize } from './types';
2
3
  /**
3
4
  * 属性
4
5
  */
@@ -7,5 +8,14 @@ export declare const loadingProps: {
7
8
  text: StringConstructor;
8
9
  background: StringConstructor;
9
10
  spinner: StringConstructor;
11
+ svgViewBox: StringConstructor;
12
+ type: {
13
+ type: PropType<LoadingType>;
14
+ default: string;
15
+ };
16
+ blur: BooleanConstructor;
17
+ size: PropType<LoadingSize>;
18
+ spinnerStyle: PropType<Partial<import("vue").CSSProperties>>;
19
+ textStyle: PropType<Partial<import("vue").CSSProperties>>;
10
20
  };
11
21
  export type LoadingProps = ExtractPropTypes<typeof loadingProps>;
@@ -6,7 +6,22 @@ const loadingProps = {
6
6
  // 背景遮罩的颜色
7
7
  background: String,
8
8
  // 自定义加载图标
9
- spinner: String
9
+ spinner: String,
10
+ // 自定义加载图标svg的view-box
11
+ svgViewBox: String,
12
+ // 加载器类型
13
+ type: {
14
+ type: String,
15
+ default: "dot"
16
+ },
17
+ // 背景模糊效果
18
+ blur: Boolean,
19
+ // 加载器尺寸
20
+ size: String,
21
+ // 自定义加载器样式
22
+ spinnerStyle: Object,
23
+ // 自定义文本样式
24
+ textStyle: Object
10
25
  };
11
26
  export {
12
27
  loadingProps
@@ -0,0 +1,7 @@
1
+ @use '../../style/util.scss' as *;
2
+
3
+ @mixin set-loading-var($var) {
4
+ .ele-loading {
5
+ @include set-ele-var('loading', $var);
6
+ }
7
+ }
@@ -1 +1,2 @@
1
1
  import 'element-plus/es/components/loading/style/index';
2
+ import './index.scss';
@@ -0,0 +1,90 @@
1
+ @use '../../style/themes/default.scss' as *;
2
+ @use '../../style/util.scss' as *;
3
+ @use './css-var.scss' as *;
4
+
5
+ @include set-loading-var($ele);
6
+
7
+ .ele-loading {
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ .ele-loading-show {
12
+ position: relative;
13
+ }
14
+
15
+ .ele-loading-spinner {
16
+ position: absolute;
17
+ top: 0;
18
+ left: 0;
19
+ width: 100%;
20
+ height: 100%;
21
+ background: eleVar('loading', 'bg');
22
+ box-sizing: border-box;
23
+ display: flex;
24
+ flex-direction: column;
25
+ justify-content: center;
26
+ align-items: center;
27
+ z-index: eleVar('loading', 'index');
28
+ }
29
+
30
+ /* 模糊背景 */
31
+ .ele-loading-blur {
32
+ backdrop-filter: blur(2px);
33
+ }
34
+
35
+ /* 文本 */
36
+ .ele-loading-text {
37
+ color: elVar('color-primary');
38
+ font-size: elVar('font-size', 'base');
39
+ margin-top: 10px;
40
+ text-align: center;
41
+ }
42
+
43
+ /* 圆点风格 */
44
+ .ele-loading-dot {
45
+ width: eleVar('loading', 'size');
46
+ height: eleVar('loading', 'size');
47
+ display: grid;
48
+ grid-gap: eleVar('loading', 'space');
49
+ grid-template-columns: repeat(2, 1fr);
50
+ grid-template-rows: repeat(2, 1fr);
51
+ transform: rotate(45deg);
52
+ animation: eleloadingRotate 1.2s infinite linear;
53
+
54
+ & > i {
55
+ background: elVar('color-primary');
56
+ border-radius: 50%;
57
+
58
+ &:nth-child(2) {
59
+ background: elVar('color-primary', 'light-3');
60
+ }
61
+
62
+ &:nth-child(3) {
63
+ background: elVar('color-primary', 'light-7');
64
+ }
65
+
66
+ &:nth-child(4) {
67
+ background: elVar('color-primary', 'light-8');
68
+ }
69
+ }
70
+ }
71
+
72
+ @keyframes eleloadingRotate {
73
+ to {
74
+ transform: rotate(405deg);
75
+ }
76
+ }
77
+
78
+ /* 小型尺寸 */
79
+ .ele-loading-small .ele-loading-dot {
80
+ width: eleVar('loading', 'sm-size');
81
+ height: eleVar('loading', 'sm-size');
82
+ grid-gap: eleVar('loading', 'sm-space');
83
+ }
84
+
85
+ /* 大型尺寸 */
86
+ .ele-loading-large .ele-loading-dot {
87
+ width: eleVar('loading', 'lg-size');
88
+ height: eleVar('loading', 'lg-size');
89
+ grid-gap: eleVar('loading', 'lg-space');
90
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 加载器类型
3
+ */
4
+ export type LoadingType = 'circle' | 'dot';
5
+ /**
6
+ * 加载器尺寸
7
+ */
8
+ export type LoadingSize = 'small' | 'default' | 'large';
9
+ /**
10
+ * 圆形加载器属性
11
+ */
12
+ export interface CircleProps {
13
+ ['element-loading-text']?: string;
14
+ ['element-loading-background']?: string;
15
+ ['element-loading-spinner']?: string;
16
+ ['element-loading-svg-view-box']?: string;
17
+ }
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<{
54
54
  darkMode: BooleanConstructor;
55
55
  okText: StringConstructor;
56
56
  emptyProps: import("vue").PropType<import("../../ele-app/types").ElEmptyProps>;
57
- headerStyle: import("vue").PropType<import("../../ele-app/types").StyleValue>;
57
+ headerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
58
58
  }, {
59
59
  mapRef: import("vue").Ref<HTMLDivElement | null>;
60
60
  loading: import("vue").Ref<boolean>;
@@ -168,7 +168,7 @@ declare const _default: import("vue").DefineComponent<{
168
168
  darkMode: BooleanConstructor;
169
169
  okText: StringConstructor;
170
170
  emptyProps: import("vue").PropType<import("../../ele-app/types").ElEmptyProps>;
171
- headerStyle: import("vue").PropType<import("../../ele-app/types").StyleValue>;
171
+ headerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
172
172
  }>> & {
173
173
  onDone?: ((_result: CenterPoint) => any) | undefined;
174
174
  onMapDone?: ((_ins: any) => any) | undefined;
@@ -65,7 +65,7 @@ declare const _default: import("vue").DefineComponent<{
65
65
  darkMode: BooleanConstructor;
66
66
  okText: StringConstructor;
67
67
  emptyProps: import("vue").PropType<import("../ele-app/types").ElEmptyProps>;
68
- headerStyle: import("vue").PropType<import("../ele-app/types").StyleValue>;
68
+ headerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
69
69
  }, {
70
70
  mapRef: Ref<MapViewInstance>;
71
71
  lang: import("vue").ComputedRef<MapLocale>;
@@ -143,7 +143,7 @@ declare const _default: import("vue").DefineComponent<{
143
143
  darkMode: BooleanConstructor;
144
144
  okText: StringConstructor;
145
145
  emptyProps: import("vue").PropType<import("../ele-app/types").ElEmptyProps>;
146
- headerStyle: import("vue").PropType<import("../ele-app/types").StyleValue>;
146
+ headerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
147
147
  }>> & {
148
148
  "onUpdate:modelValue"?: ((_value: boolean) => any) | undefined;
149
149
  onOpen?: (() => any) | undefined;
@@ -1,5 +1,5 @@
1
1
  import type { PropType, ExtractPropTypes } from 'vue';
2
- import type { StyleValue, ElEmptyProps } from '../ele-app/types';
2
+ import type { ElEmptyProps } from '../ele-app/types';
3
3
  import type { ModalProps } from '../ele-modal/props';
4
4
  import type { MapLocale, CenterPoint } from './types';
5
5
  /**
@@ -60,7 +60,7 @@ export declare const mapProps: {
60
60
  darkMode: BooleanConstructor;
61
61
  okText: StringConstructor;
62
62
  emptyProps: PropType<ElEmptyProps>;
63
- headerStyle: PropType<StyleValue>;
63
+ headerStyle: PropType<Partial<import("vue").CSSProperties>>;
64
64
  };
65
65
  export declare const mapPickerProps: {
66
66
  modelValue: BooleanConstructor;
@@ -124,7 +124,7 @@ export declare const mapPickerProps: {
124
124
  darkMode: BooleanConstructor;
125
125
  okText: StringConstructor;
126
126
  emptyProps: PropType<ElEmptyProps>;
127
- headerStyle: PropType<StyleValue>;
127
+ headerStyle: PropType<Partial<import("vue").CSSProperties>>;
128
128
  };
129
129
  export type MapPickerProps = ExtractPropTypes<typeof mapPickerProps>;
130
130
  export type MapProps = ExtractPropTypes<typeof mapProps>;
@@ -37,6 +37,7 @@ declare const _default: import("vue").DefineComponent<{
37
37
  open: (index: string) => void;
38
38
  close: (index: string) => void;
39
39
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
40
+ itemClick: (_item: import("./types").MenuItem) => boolean;
40
41
  close: (index: string, indexPath: string[]) => boolean;
41
42
  open: (index: string, indexPath: string[]) => boolean;
42
43
  select: (index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => boolean;
@@ -75,6 +76,7 @@ declare const _default: import("vue").DefineComponent<{
75
76
  onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
76
77
  onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
77
78
  onClose?: ((index: string, indexPath: string[]) => any) | undefined;
79
+ onItemClick?: ((_item: import("./types").MenuItem) => any) | undefined;
78
80
  }, {
79
81
  mode: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
80
82
  defaultActive: string;
@@ -1,14 +1,14 @@
1
1
  import { defineComponent, ref, computed, onMounted, watch, h } from "vue";
2
- import { menuEmits, ElMenu, ElSubMenu, ElIcon } from "element-plus";
2
+ import { ElMenu, ElSubMenu, ElIcon } from "element-plus";
3
3
  import { useLicense } from "../ele-config-provider/receiver";
4
4
  import { pick } from "../utils/core";
5
5
  import { EllipsisOutlined } from "../icons";
6
6
  import { useMenuEllipsis, getMenuItems, renderItems, getPopperClass, ellipsisClass } from "./util";
7
- import { menusProps, menuPropKeys } from "./props";
7
+ import { menusProps, menusEmits, menuPropKeys } from "./props";
8
8
  const index = defineComponent({
9
9
  name: "EleMenus",
10
10
  props: menusProps,
11
- emits: menuEmits,
11
+ emits: menusEmits,
12
12
  setup(props, { slots, emit, expose }) {
13
13
  const { authenticated } = useLicense();
14
14
  const menuRef = ref(null);
@@ -56,6 +56,9 @@ const index = defineComponent({
56
56
  }
57
57
  }
58
58
  );
59
+ const onItemClick = (item) => {
60
+ emit("itemClick", item);
61
+ };
59
62
  const exposeValue = {
60
63
  menuRef,
61
64
  open: (index2) => {
@@ -108,7 +111,8 @@ const index = defineComponent({
108
111
  props.colorful,
109
112
  props.popupColorful,
110
113
  props.firstPopperClass,
111
- true
114
+ true,
115
+ onItemClick
112
116
  );
113
117
  if (moreItems) {
114
118
  const ellipsisProps = props.ellipsisProps || {};
@@ -144,7 +148,9 @@ const index = defineComponent({
144
148
  props.popupTheme,
145
149
  props.colorful,
146
150
  props.popupColorful,
147
- props.firstPopperClass
151
+ props.firstPopperClass,
152
+ false,
153
+ onItemClick
148
154
  );
149
155
  },
150
156
  title: () => {
@@ -42,3 +42,13 @@ export type MenuPropKeys = Array<keyof typeof menuProps>;
42
42
  * 菜单组件属性名
43
43
  */
44
44
  export declare const menuPropKeys: MenuPropKeys;
45
+ /**
46
+ * 事件
47
+ */
48
+ export declare const menusEmits: {
49
+ /** 菜单项点击事件 */
50
+ itemClick: (_item: MenuItem) => boolean;
51
+ close: (index: string, indexPath: string[]) => boolean;
52
+ open: (index: string, indexPath: string[]) => boolean;
53
+ select: (index: string, indexPath: string[], item: import("element-plus").MenuItemClicked, routerResult?: Promise<void | import("vue-router").NavigationFailure> | undefined) => boolean;
54
+ };
@@ -1,4 +1,4 @@
1
- import { menuProps } from "element-plus";
1
+ import { menuProps, menuEmits } from "element-plus";
2
2
  const menusProps = {
3
3
  ...menuProps,
4
4
  // 菜单数据
@@ -28,7 +28,13 @@ const menusProps = {
28
28
  ellipsisProps: Object
29
29
  };
30
30
  const menuPropKeys = Object.keys(menuProps);
31
+ const menusEmits = {
32
+ ...menuEmits,
33
+ /** 菜单项点击事件 */
34
+ itemClick: (_item) => true
35
+ };
31
36
  export {
32
37
  menuPropKeys,
38
+ menusEmits,
33
39
  menusProps
34
40
  };
@@ -704,23 +704,23 @@
704
704
  }
705
705
  }
706
706
 
707
- // 兼容横向菜单溢出的菜单
708
- /* .el-popper > .el-menu--popup-container {
709
- display: block;
710
- border: none;
711
- }
707
+ // Tooltip
708
+ .el-popper.is-dark > .ele-menu-title {
709
+ position: static;
712
710
 
713
- .el-menu--popup-container > .el-menu--popup {
714
- background: none;
715
- box-shadow: none;
716
- border-radius: 0;
717
- max-height: calc(100vh - 10px);
718
- overflow-y: auto;
719
- overflow-y: overlay;
720
- }
711
+ &::before {
712
+ content: '';
713
+ background: eleVar('tooltip', 'bg');
714
+ border-radius: eleVar('tooltip', 'radius');
715
+ position: absolute;
716
+ top: 0;
717
+ left: 0;
718
+ right: 0;
719
+ bottom: 0;
720
+ z-index: -1;
721
+ }
721
722
 
722
- .el-menu--popup > .el-menu-item > .el-badge,
723
- .el-menu--popup > .el-sub-menu > .el-sub-menu__title > .el-badge {
724
- order: 3;
725
- line-height: 1;
726
- } */
723
+ & + .el-popper__arrow {
724
+ z-index: -2;
725
+ }
726
+ }
@@ -61,6 +61,10 @@ export interface MenuResult {
61
61
  /** 省略的菜单数据 */
62
62
  moreItems?: MenuItem[];
63
63
  }
64
+ /**
65
+ * 菜单项点击事件
66
+ */
67
+ export type ItemClick = (item: MenuItem) => void;
64
68
  /**
65
69
  * 菜单省略计算参数
66
70
  */
@@ -1,13 +1,14 @@
1
1
  import type { VNode, Slot } from 'vue';
2
- import type { MenuItem, MenuTheme, PopupMenuTheme, PopupColorful, MenuResult, MenuEllipsisOption } from './types';
2
+ import type { MenuItem, MenuTheme, PopupMenuTheme, PopupColorful, MenuResult, MenuEllipsisOption, ItemClick } from './types';
3
3
  export declare const linkClass = "ele-menu-link";
4
+ export declare const titleClass = "ele-menu-title";
4
5
  export declare const overflowClass = "ele-menu-overflow";
5
6
  export declare const ellipsisClass = "ele-sub-menu-ellipsis";
6
7
  /**
7
8
  * 生成菜单链接节点
8
9
  * @param path 链接地址
9
10
  */
10
- export declare function getLinkNode(path?: string): VNode | undefined;
11
+ export declare function getLinkNode(item: MenuItem, onItemClick?: ItemClick): VNode | undefined;
11
12
  /**
12
13
  * 生成菜单内容节点
13
14
  * @param icons 图标节点
@@ -29,7 +30,7 @@ export declare function getNodes(icons?: VNode[], titles?: VNode[], badge?: VNod
29
30
  * @param firstPopClass 第一级气泡菜单类名
30
31
  * @param first 是否是第一级菜单
31
32
  */
32
- export declare function renderItems(items?: MenuItem[], sIcon?: Slot, sTitle?: Slot, tipDisabled?: boolean, theme?: MenuTheme, popTheme?: PopupMenuTheme, colorful?: boolean, popupColorful?: PopupColorful, firstPopClass?: string, first?: boolean): VNode[];
33
+ export declare function renderItems(items?: MenuItem[], sIcon?: Slot, sTitle?: Slot, tipDisabled?: boolean, theme?: MenuTheme, popTheme?: PopupMenuTheme, colorful?: boolean, popupColorful?: PopupColorful, firstPopClass?: string, first?: boolean, onItemClick?: ItemClick): VNode[];
33
34
  /**
34
35
  * 生成菜单数据
35
36
  * @param items 菜单数据
@@ -4,21 +4,25 @@ import { ElIcon, ElBadge, ElMenuItem, ElMenuItemGroup, ElSubMenu } from "element
4
4
  import { isExternalLink, getCurrentStyle, debounce } from "../utils/core";
5
5
  import { ArrowDown, ArrowRight } from "../icons";
6
6
  const linkClass = "ele-menu-link";
7
+ const titleClass = "ele-menu-title";
7
8
  const overflowClass = "ele-menu-overflow";
8
9
  const ellipsisClass = "ele-sub-menu-ellipsis";
9
- function getLinkNode(path) {
10
- if (!path) {
10
+ function getLinkNode(item, onItemClick) {
11
+ if (!(item == null ? void 0 : item.path)) {
11
12
  return;
12
13
  }
13
- if (isExternalLink(path)) {
14
+ if (isExternalLink(item.path)) {
14
15
  return h("a", {
15
- href: path,
16
+ href: item.path,
16
17
  target: "_blank",
17
18
  class: linkClass,
18
- onClick: (e) => e.stopPropagation()
19
+ onClick: (e) => {
20
+ e.stopPropagation();
21
+ onItemClick && onItemClick(item);
22
+ }
19
23
  });
20
24
  }
21
- return h(RouterLink, { to: path, class: linkClass });
25
+ return h(RouterLink, { to: item.path, class: linkClass });
22
26
  }
23
27
  function getNodes(icons, titles, badge, link) {
24
28
  const nodes = [];
@@ -40,7 +44,7 @@ function getNodes(icons, titles, badge, link) {
40
44
  }
41
45
  return nodes;
42
46
  }
43
- function renderItems(items, sIcon, sTitle, tipDisabled, theme, popTheme, colorful, popupColorful, firstPopClass, first) {
47
+ function renderItems(items, sIcon, sTitle, tipDisabled, theme, popTheme, colorful, popupColorful, firstPopClass, first, onItemClick) {
44
48
  const nodes = [];
45
49
  if (!items) {
46
50
  return nodes;
@@ -57,11 +61,11 @@ function renderItems(items, sIcon, sTitle, tipDisabled, theme, popTheme, colorfu
57
61
  }
58
62
  const tNodes = sTitle ? sTitle({ item, title: item.title }) ?? [] : [];
59
63
  if (!tNodes.length && item.title) {
60
- tNodes.push(h("span", item.title));
64
+ tNodes.push(h("span", { class: titleClass }, item.title));
61
65
  }
62
66
  const bNode = item.badge != null ? h(ElBadge, item.badge) : null;
63
67
  if (!((_a = item.children) == null ? void 0 : _a.length)) {
64
- const linkNode = getLinkNode(item.path);
68
+ const linkNode = getLinkNode(item, onItemClick);
65
69
  const key = item.key || item.index || item.path;
66
70
  nodes.push(
67
71
  h(
@@ -71,7 +75,10 @@ function renderItems(items, sIcon, sTitle, tipDisabled, theme, popTheme, colorfu
71
75
  index: item.index,
72
76
  route: item.route,
73
77
  disabled: item.disabled,
74
- class: item.overflow ? overflowClass : void 0
78
+ class: item.overflow ? overflowClass : void 0,
79
+ onClick: () => {
80
+ onItemClick && onItemClick(item);
81
+ }
75
82
  },
76
83
  {
77
84
  default: () => {
@@ -103,7 +110,8 @@ function renderItems(items, sIcon, sTitle, tipDisabled, theme, popTheme, colorfu
103
110
  colorful,
104
111
  popupColorful,
105
112
  firstPopClass,
106
- first
113
+ first,
114
+ onItemClick
107
115
  );
108
116
  },
109
117
  title: () => getNodes(iNodes, tNodes, bNode)
@@ -154,7 +162,9 @@ function renderItems(items, sIcon, sTitle, tipDisabled, theme, popTheme, colorfu
154
162
  popTheme,
155
163
  colorful,
156
164
  popupColorful,
157
- firstPopClass
165
+ firstPopClass,
166
+ false,
167
+ onItemClick
158
168
  );
159
169
  },
160
170
  title: () => getNodes(iNodes, tNodes, bNode)
@@ -299,5 +309,6 @@ export {
299
309
  linkClass,
300
310
  overflowClass,
301
311
  renderItems,
312
+ titleClass,
302
313
  useMenuEllipsis
303
314
  };