ele-admin-plus 1.1.9-beta.10 → 1.1.9-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/es/ele-alert/index.js +2 -2
  2. package/es/ele-basic-select/index.d.ts +1 -1
  3. package/es/ele-basic-select/index.js +7 -1
  4. package/es/ele-config-provider/types.d.ts +3 -1
  5. package/es/ele-cropper-modal/index.js +1 -1
  6. package/es/ele-drawer/index.d.ts +8 -5
  7. package/es/ele-drawer/index.js +107 -113
  8. package/es/ele-drawer/style/index.scss +48 -105
  9. package/es/ele-edit-tag/index.js +1 -1
  10. package/es/ele-file-list/components/file-grid-item.js +1 -1
  11. package/es/ele-file-list/components/file-table-item.js +1 -1
  12. package/es/ele-icon-select/components/icon-grid.js +1 -1
  13. package/es/ele-loading/index.d.ts +0 -4
  14. package/es/ele-loading/index.js +10 -16
  15. package/es/ele-map-picker/components/map-view.js +1 -1
  16. package/es/ele-map-picker/index.js +1 -1
  17. package/es/ele-menus/index.d.ts +4 -6
  18. package/es/ele-menus/index.js +1 -1
  19. package/es/ele-menus/props.d.ts +1 -3
  20. package/es/ele-menus/props.js +1 -3
  21. package/es/ele-menus/style/css-var.scss +1 -5
  22. package/es/ele-modal/index.d.ts +12 -6
  23. package/es/ele-modal/index.js +163 -184
  24. package/es/ele-modal/props.d.ts +2 -0
  25. package/es/ele-modal/props.js +2 -0
  26. package/es/ele-modal/style/index.scss +85 -146
  27. package/es/ele-modal/util.d.ts +18 -44
  28. package/es/ele-modal/util.js +53 -179
  29. package/es/ele-pagination/index.d.ts +9 -0
  30. package/es/ele-pagination/index.js +4 -1
  31. package/es/ele-pagination/props.d.ts +5 -0
  32. package/es/ele-pagination/props.js +5 -0
  33. package/es/ele-popconfirm/index.d.ts +3 -3
  34. package/es/ele-popconfirm/index.js +6 -28
  35. package/es/ele-popover/index.d.ts +2 -2
  36. package/es/ele-popover/index.js +6 -14
  37. package/es/ele-pro-layout/components/pro-header.d.ts +66 -11
  38. package/es/ele-pro-layout/components/pro-header.js +110 -20
  39. package/es/ele-pro-layout/components/pro-sidebar.d.ts +2 -7
  40. package/es/ele-pro-layout/components/pro-sidebar.js +2 -5
  41. package/es/ele-pro-layout/components/pro-sidebox.d.ts +2 -7
  42. package/es/ele-pro-layout/components/pro-sidebox.js +2 -5
  43. package/es/ele-pro-layout/components/tab-dropdown.js +1 -1
  44. package/es/ele-pro-layout/index.d.ts +25 -27
  45. package/es/ele-pro-layout/index.js +45 -29
  46. package/es/ele-pro-layout/props.d.ts +3 -6
  47. package/es/ele-pro-layout/props.js +2 -4
  48. package/es/ele-pro-layout/style/css-var.scss +3 -18
  49. package/es/ele-pro-layout/style/header.scss +74 -9
  50. package/es/ele-pro-layout/style/layout-mobile.scss +2 -2
  51. package/es/ele-pro-layout/style/layout-style.scss +8 -3
  52. package/es/ele-pro-layout/style/layout-theme.scss +48 -23
  53. package/es/ele-pro-layout/style/layout.scss +23 -3
  54. package/es/ele-pro-layout/style/sidebar.scss +0 -1
  55. package/es/ele-pro-layout/style/tabs.scss +19 -11
  56. package/es/ele-pro-layout/types.d.ts +1 -1
  57. package/es/ele-pro-table/components/tool-print.js +0 -3
  58. package/es/ele-pro-table/index.d.ts +3 -5
  59. package/es/ele-pro-table/index.js +2 -1
  60. package/es/ele-pro-table/util.d.ts +1 -1
  61. package/es/ele-tab-wrap/index.js +2 -1
  62. package/es/ele-table-select/index.d.ts +13 -12
  63. package/es/ele-table-select/index.js +27 -26
  64. package/es/ele-tabs/index.js +1 -0
  65. package/es/ele-tabs/style/css-var.scss +1 -30
  66. package/es/ele-tabs/style/index.scss +372 -241
  67. package/es/ele-tabs/types.d.ts +2 -1
  68. package/es/ele-tooltip/index.js +3 -0
  69. package/es/ele-tooltip/props.d.ts +5 -0
  70. package/es/ele-tooltip/props.js +2 -0
  71. package/es/ele-virtual-table/style/index.scss +1 -1
  72. package/es/icons/ResizeOutlined.d.ts +2 -0
  73. package/es/icons/ResizeOutlined.js +30 -0
  74. package/es/icons/index.d.ts +1 -0
  75. package/es/icons/index.js +50 -48
  76. package/es/style/themes/dark.scss +9 -15
  77. package/es/style/themes/default.scss +56 -80
  78. package/es/style/themes/rounded.scss +16 -30
  79. package/lib/ele-alert/index.cjs +2 -2
  80. package/lib/ele-basic-select/index.cjs +7 -1
  81. package/lib/ele-basic-select/index.d.ts +1 -1
  82. package/lib/ele-config-provider/types.d.ts +3 -1
  83. package/lib/ele-cropper-modal/index.cjs +1 -1
  84. package/lib/ele-drawer/index.cjs +105 -111
  85. package/lib/ele-drawer/index.d.ts +8 -5
  86. package/lib/ele-drawer/style/index.scss +48 -105
  87. package/lib/ele-edit-tag/index.cjs +1 -1
  88. package/lib/ele-file-list/components/file-grid-item.cjs +1 -1
  89. package/lib/ele-file-list/components/file-table-item.cjs +1 -1
  90. package/lib/ele-icon-select/components/icon-grid.cjs +1 -1
  91. package/lib/ele-loading/index.cjs +9 -15
  92. package/lib/ele-loading/index.d.ts +0 -4
  93. package/lib/ele-map-picker/components/map-view.cjs +1 -1
  94. package/lib/ele-map-picker/index.cjs +1 -1
  95. package/lib/ele-menus/index.cjs +1 -1
  96. package/lib/ele-menus/index.d.ts +4 -6
  97. package/lib/ele-menus/props.cjs +1 -3
  98. package/lib/ele-menus/props.d.ts +1 -3
  99. package/lib/ele-menus/style/css-var.scss +1 -5
  100. package/lib/ele-modal/index.cjs +176 -197
  101. package/lib/ele-modal/index.d.ts +12 -6
  102. package/lib/ele-modal/props.cjs +2 -0
  103. package/lib/ele-modal/props.d.ts +2 -0
  104. package/lib/ele-modal/style/index.scss +85 -146
  105. package/lib/ele-modal/util.cjs +53 -179
  106. package/lib/ele-modal/util.d.ts +18 -44
  107. package/lib/ele-pagination/index.cjs +4 -1
  108. package/lib/ele-pagination/index.d.ts +9 -0
  109. package/lib/ele-pagination/props.cjs +5 -0
  110. package/lib/ele-pagination/props.d.ts +5 -0
  111. package/lib/ele-popconfirm/index.cjs +5 -27
  112. package/lib/ele-popconfirm/index.d.ts +3 -3
  113. package/lib/ele-popover/index.cjs +5 -13
  114. package/lib/ele-popover/index.d.ts +2 -2
  115. package/lib/ele-pro-layout/components/pro-header.cjs +109 -19
  116. package/lib/ele-pro-layout/components/pro-header.d.ts +66 -11
  117. package/lib/ele-pro-layout/components/pro-sidebar.cjs +2 -5
  118. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +2 -7
  119. package/lib/ele-pro-layout/components/pro-sidebox.cjs +2 -5
  120. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +2 -7
  121. package/lib/ele-pro-layout/components/tab-dropdown.cjs +1 -1
  122. package/lib/ele-pro-layout/index.cjs +45 -29
  123. package/lib/ele-pro-layout/index.d.ts +25 -27
  124. package/lib/ele-pro-layout/props.cjs +2 -4
  125. package/lib/ele-pro-layout/props.d.ts +3 -6
  126. package/lib/ele-pro-layout/style/css-var.scss +3 -18
  127. package/lib/ele-pro-layout/style/header.scss +74 -9
  128. package/lib/ele-pro-layout/style/layout-mobile.scss +2 -2
  129. package/lib/ele-pro-layout/style/layout-style.scss +8 -3
  130. package/lib/ele-pro-layout/style/layout-theme.scss +48 -23
  131. package/lib/ele-pro-layout/style/layout.scss +23 -3
  132. package/lib/ele-pro-layout/style/sidebar.scss +0 -1
  133. package/lib/ele-pro-layout/style/tabs.scss +19 -11
  134. package/lib/ele-pro-layout/types.d.ts +1 -1
  135. package/lib/ele-pro-table/components/tool-print.cjs +0 -3
  136. package/lib/ele-pro-table/index.cjs +2 -1
  137. package/lib/ele-pro-table/index.d.ts +3 -5
  138. package/lib/ele-pro-table/util.d.ts +1 -1
  139. package/lib/ele-tab-wrap/index.cjs +2 -1
  140. package/lib/ele-table-select/index.cjs +27 -26
  141. package/lib/ele-table-select/index.d.ts +13 -12
  142. package/lib/ele-tabs/index.cjs +1 -0
  143. package/lib/ele-tabs/style/css-var.scss +1 -30
  144. package/lib/ele-tabs/style/index.scss +372 -241
  145. package/lib/ele-tabs/types.d.ts +2 -1
  146. package/lib/ele-tooltip/index.cjs +3 -0
  147. package/lib/ele-tooltip/props.cjs +2 -0
  148. package/lib/ele-tooltip/props.d.ts +5 -0
  149. package/lib/ele-virtual-table/style/index.scss +1 -1
  150. package/lib/icons/ResizeOutlined.cjs +29 -0
  151. package/lib/icons/ResizeOutlined.d.ts +2 -0
  152. package/lib/icons/index.cjs +2 -0
  153. package/lib/icons/index.d.ts +1 -0
  154. package/lib/style/themes/dark.scss +9 -15
  155. package/lib/style/themes/default.scss +56 -80
  156. package/lib/style/themes/rounded.scss +16 -30
  157. package/package.json +9 -9
@@ -1,71 +1,45 @@
1
1
  import { ModalProps } from './props';
2
- import { Resizable, PositionObject, MoveOut } from './types';
2
+ import { Position } from './types';
3
3
 
4
+ export declare const containerClass = "ele-modal-container";
4
5
  export declare const wrapperClass = "ele-modal";
5
- export declare const containerId = "ele-modal-container";
6
- export declare const movableClass = "ele-modal-movable";
7
- export declare const resizableClass = "ele-modal-resizable";
8
- export declare const multipleClass = "ele-modal-multiple";
9
- export declare const fullscreenClass = "ele-modal-fullscreen";
10
- export declare const innerClass = "ele-modal-inner";
11
- export declare const responsiveClass = "ele-modal-responsive";
12
6
  export declare const closedClass = "ele-modal-closed";
13
- export declare const hideClass = "ele-modal-hide";
14
- export declare const collapseClass = "ele-state-collapse";
15
- export declare const compactClass = "ele-state-compact";
16
- export declare const maximizedClass = "ele-state-maximized";
17
- export declare const hasTabClass = "ele-state-has-tab";
18
- export declare const mixSidebarClass = "ele-state-mix-sidebar";
19
- export declare const singleSidebarClass = "ele-state-single-sidebar";
20
- export declare const topLayoutClass = "ele-state-top-layout";
21
- export declare const expandedClass = "ele-state-expanded";
22
- export declare const mobileClass = "ele-state-mobile";
23
7
  /**
24
- * 创建并获取弹窗容器
8
+ * 获取弹窗容器
9
+ * @param inner 是否限制在主体内部
25
10
  * @param multiple 是否支持同时打开多个
26
- * @param appendTo 自定义插入的位置
11
+ * @param appendTo 自定义插入的容器
12
+ * @param modalsEl 限制在主体内部时的容器
27
13
  */
28
- export declare function getModalContainer(multiple?: boolean, appendTo?: string): Element | string;
14
+ export declare function getModalContainer(inner?: boolean, multiple?: boolean, appendTo?: string, modalsEl?: HTMLElement | null): Element | string;
29
15
  /**
30
16
  * 弹窗移动事件处理
17
+ * @param modalEl 弹窗节点
31
18
  * @param event 事件
32
19
  * @param props 属性
33
20
  */
34
- export declare function handleMovable(event: MouseEvent, props: ModalProps): void;
21
+ export declare function handleMove(modalEl: HTMLElement, event: MouseEvent, props: ModalProps): void;
35
22
  /**
36
23
  * 弹窗拉伸事件处理
37
24
  * @param event 事件
38
25
  * @param props 属性
39
26
  */
40
- export declare function handleResizable(event: MouseEvent, props: ModalProps): void;
27
+ export declare function handleResize(modalEl: HTMLElement, event: MouseEvent, props: ModalProps): void;
41
28
  /**
42
29
  * 置顶弹窗
43
- * @param modalEl 弹窗节点
30
+ * @param modalEl 弹窗
44
31
  * @param zIndex 弹窗初始层级
45
- * @returns
46
32
  */
47
- export declare function setModalTop(modalEl?: HTMLElement, zIndex?: number): void;
33
+ export declare function topModal(modalEl?: HTMLElement, zIndex?: number): void;
48
34
  /**
49
- * 重置弹窗位置及大小
50
- * @param modalEl 弹窗节点
51
- * @param width 初始宽度
52
- * @param top 初始顶部距离
53
- */
54
- export declare function resetModalStyle(modalEl?: HTMLElement, width?: string | number, top?: string | number): void;
55
- /**
56
- * 设置弹窗位置
57
- * @param modalEl 弹窗节点
35
+ * 获取位置对应的外间距值
58
36
  * @param position 位置
59
- * @param resizable 是否可以拉伸
60
- * @param moveOut 是否可以拉出容器
61
37
  */
62
- export declare function setModalPosition(modalEl?: HTMLElement, resizable?: Resizable, position?: PositionObject, moveOut?: MoveOut): void;
38
+ export declare function getPositionMargin(position?: Position): string | undefined;
63
39
  /**
64
- * 设置弹窗初始位置
40
+ * 重置弹窗位置及大小
65
41
  * @param modalEl 弹窗节点
66
- * @param position 位置
67
- * @param resizable 是否可以拉伸
68
- * @param moveOut 是否可以拉出容器
69
- * @param force 是否强制更新
42
+ * @param width 初始宽度
43
+ * @param top 初始顶部距离
70
44
  */
71
- export declare function setInitPosition(modalEl?: HTMLElement, resizable?: Resizable, position?: PositionObject, moveOut?: MoveOut, force?: boolean): void;
45
+ export declare function resetModalStyle(modalEl?: HTMLElement, width?: string | number, position?: Position): void;
@@ -11,7 +11,10 @@ const _sfc_main = vue.defineComponent({
11
11
  const isInfinite = vue.computed(() => "*" === props2.total);
12
12
  const pageTotal = vue.computed(() => {
13
13
  if (isInfinite.value) {
14
- return Number.MAX_SAFE_INTEGER;
14
+ if (props2.hasNext) {
15
+ return Number.MAX_SAFE_INTEGER;
16
+ }
17
+ return (props2.currentPage || 1) * (props2.pageSize || 10);
15
18
  }
16
19
  const num = props2.total == null ? void 0 : Number(props2.total);
17
20
  return num == null || isNaN(num) ? void 0 : num;
@@ -1,5 +1,9 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
2
  total: import("vue").PropType<import("./types").PaginationTotal>;
3
+ hasNext: {
4
+ type: BooleanConstructor;
5
+ default: boolean;
6
+ };
3
7
  type: {
4
8
  type: import("vue").PropType<import("./types").PaginationType>;
5
9
  default: string;
@@ -32,6 +36,10 @@ declare const _default: import('vue').DefineComponent<{
32
36
  'update:pageSize': (_pageSize: number) => boolean;
33
37
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
34
38
  total: import("vue").PropType<import("./types").PaginationTotal>;
39
+ hasNext: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
35
43
  type: {
36
44
  type: import("vue").PropType<import("./types").PaginationType>;
37
45
  default: string;
@@ -59,6 +67,7 @@ declare const _default: import('vue').DefineComponent<{
59
67
  "onUpdate:pageSize"?: ((_pageSize: number) => any) | undefined;
60
68
  }, {
61
69
  type: import("./types").PaginationType;
70
+ hasNext: boolean;
62
71
  pagerCount: number;
63
72
  layout: string;
64
73
  pageSizes: number[];
@@ -5,6 +5,11 @@ const paginationProps = {
5
5
  ...elementPlus.paginationProps,
6
6
  /** 总条目数 */
7
7
  total: [String, Number],
8
+ /** 是否还有下一页 */
9
+ hasNext: {
10
+ type: Boolean,
11
+ default: true
12
+ },
8
13
  /** 风格 */
9
14
  type: {
10
15
  type: String,
@@ -7,6 +7,11 @@ import { PropType, ExtractPropTypes } from 'vue';
7
7
  export declare const paginationProps: {
8
8
  /** 总条目数 */
9
9
  total: PropType<PaginationTotal>;
10
+ /** 是否还有下一页 */
11
+ hasNext: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
10
15
  /** 风格 */
11
16
  type: {
12
17
  type: PropType<PaginationType>;
@@ -3,6 +3,7 @@ const vue = require("vue");
3
3
  const elementPlus = require("element-plus");
4
4
  const core = require("../utils/core");
5
5
  const EleTooltip = require("../ele-tooltip/index");
6
+ const props$1 = require("../ele-tooltip/props");
6
7
  const icons = require("../icons");
7
8
  const props = require("./props");
8
9
  const _sfc_main = vue.defineComponent({
@@ -14,33 +15,10 @@ const _sfc_main = vue.defineComponent({
14
15
  const { t } = elementPlus.useLocale();
15
16
  const tooltipRef = vue.ref(null);
16
17
  const tooltipProps = vue.computed(() => {
17
- const options = core.omit(props2, [
18
- "title",
19
- "content",
20
- "bodyClass",
21
- "bodyStyle",
22
- "titleStyle",
23
- "contentStyle",
24
- "confirmButtonText",
25
- "cancelButtonText",
26
- "confirmButtonType",
27
- "cancelButtonType",
28
- "icon",
29
- "iconColor",
30
- "hideIcon",
31
- "hideConfirmButton",
32
- "hideCancelButton",
33
- "iconStyle",
34
- "iconProps",
35
- "confirmButtonProps",
36
- "cancelButtonProps",
37
- "footerStyle",
38
- "onUpdate:visible",
39
- "onBefore-enter",
40
- "onBefore-leave",
41
- "onAfter-enter",
42
- "onAfter-leave"
43
- ]);
18
+ const keys = props$1.tooltipPropKeys.filter(
19
+ (k) => !["content", "bodyStyle"].includes(k)
20
+ );
21
+ const options = core.pick(props2, keys);
44
22
  options.ariaLabel = props2.title;
45
23
  options.gpuAcceleration = props2.transition === "el-fade-in-linear";
46
24
  const classes = ["ele-popconfirm"];
@@ -37,7 +37,6 @@ declare const _default: import('vue').DefineComponent<{
37
37
  bodyStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
38
38
  titleStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
39
39
  contentStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
40
- width: import("element-plus/es/utils/index").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
41
40
  offset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
42
41
  effect: {
43
42
  readonly default: "light";
@@ -72,6 +71,7 @@ declare const _default: import('vue').DefineComponent<{
72
71
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
73
72
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
74
73
  title: StringConstructor;
74
+ width: import("element-plus/es/utils/index").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
75
75
  popperClass: StringConstructor;
76
76
  bg: StringConstructor;
77
77
  arrowOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
@@ -153,7 +153,6 @@ declare const _default: import('vue').DefineComponent<{
153
153
  bodyStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
154
154
  titleStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
155
155
  contentStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
156
- width: import("element-plus/es/utils/index").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
157
156
  offset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
158
157
  effect: {
159
158
  readonly default: "light";
@@ -188,6 +187,7 @@ declare const _default: import('vue').DefineComponent<{
188
187
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
189
188
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
190
189
  title: StringConstructor;
190
+ width: import("element-plus/es/utils/index").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
191
191
  popperClass: StringConstructor;
192
192
  bg: StringConstructor;
193
193
  arrowOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
@@ -220,7 +220,6 @@ declare const _default: import('vue').DefineComponent<{
220
220
  onConfirm?: ((_e: MouseEvent) => any) | undefined;
221
221
  onCancel?: ((_e: MouseEvent) => any) | undefined;
222
222
  }, {
223
- width: import("element-plus/es/utils/index").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
224
223
  offset: number;
225
224
  trigger: import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import("element-plus").TooltipTriggerType[]) | (() => import("element-plus/es/utils/typescript").Arrayable<import("element-plus").TooltipTriggerType>) | ((new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import("element-plus").TooltipTriggerType[]) | (() => import("element-plus/es/utils/typescript").Arrayable<import("element-plus").TooltipTriggerType>))[], unknown, unknown> | undefined;
226
225
  effect: string;
@@ -242,6 +241,7 @@ declare const _default: import('vue').DefineComponent<{
242
241
  showAfter: number;
243
242
  hideAfter: number;
244
243
  autoClose: number;
244
+ width: import("element-plus/es/utils/index").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
245
245
  confirmButtonType: import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger", unknown> | undefined;
246
246
  cancelButtonType: import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger", unknown> | undefined;
247
247
  iconColor: string;
@@ -2,6 +2,7 @@
2
2
  const vue = require("vue");
3
3
  const core = require("../utils/core");
4
4
  const EleTooltip = require("../ele-tooltip/index");
5
+ const props$1 = require("../ele-tooltip/props");
5
6
  const props = require("./props");
6
7
  const _sfc_main = vue.defineComponent({
7
8
  name: "ElePopover",
@@ -11,19 +12,10 @@ const _sfc_main = vue.defineComponent({
11
12
  setup(props2, { emit }) {
12
13
  const tooltipRef = vue.ref(null);
13
14
  const tooltipProps = vue.computed(() => {
14
- const options = core.omit(props2, [
15
- "title",
16
- "content",
17
- "bodyClass",
18
- "bodyStyle",
19
- "titleStyle",
20
- "contentStyle",
21
- "onUpdate:visible",
22
- "onBefore-enter",
23
- "onBefore-leave",
24
- "onAfter-enter",
25
- "onAfter-leave"
26
- ]);
15
+ const keys = props$1.tooltipPropKeys.filter(
16
+ (k) => !["content", "bodyStyle"].includes(k)
17
+ );
18
+ const options = core.pick(props2, keys);
27
19
  options.ariaLabel = props2.title;
28
20
  options.gpuAcceleration = props2.transition === "el-fade-in-linear";
29
21
  return options;
@@ -9,6 +9,7 @@ declare const _default: import('vue').DefineComponent<{
9
9
  bodyStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
10
10
  titleStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
11
11
  contentStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
12
+ title: StringConstructor;
12
13
  width: import("element-plus/es/utils/index").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
13
14
  offset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
14
15
  trigger: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import("element-plus").TooltipTriggerType[]) | (() => import("element-plus/es/utils/typescript").Arrayable<import("element-plus").TooltipTriggerType>) | ((new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import("element-plus").TooltipTriggerType[]) | (() => import("element-plus/es/utils/typescript").Arrayable<import("element-plus").TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
@@ -44,7 +45,6 @@ declare const _default: import('vue').DefineComponent<{
44
45
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
45
46
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
46
47
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
47
- title: StringConstructor;
48
48
  popperClass: StringConstructor;
49
49
  bg: StringConstructor;
50
50
  arrowOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
@@ -92,6 +92,7 @@ declare const _default: import('vue').DefineComponent<{
92
92
  bodyStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
93
93
  titleStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
94
94
  contentStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
95
+ title: StringConstructor;
95
96
  width: import("element-plus/es/utils/index").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
96
97
  offset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
97
98
  trigger: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import("element-plus").TooltipTriggerType[]) | (() => import("element-plus/es/utils/typescript").Arrayable<import("element-plus").TooltipTriggerType>) | ((new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import("element-plus").TooltipTriggerType[]) | (() => import("element-plus/es/utils/typescript").Arrayable<import("element-plus").TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
@@ -127,7 +128,6 @@ declare const _default: import('vue').DefineComponent<{
127
128
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
128
129
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
129
130
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
130
- title: StringConstructor;
131
131
  popperClass: StringConstructor;
132
132
  bg: StringConstructor;
133
133
  arrowOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
@@ -4,9 +4,10 @@ const icons = require("../../icons");
4
4
  const EleBreadcrumb = require("../../ele-breadcrumb/index");
5
5
  const EleMenus = require("../../ele-menus/index");
6
6
  const util = require("../util");
7
+ const ProTabs = require("./pro-tabs");
7
8
  const _sfc_main = vue.defineComponent({
8
9
  name: "ProHeader",
9
- components: { EleBreadcrumb, EleMenus },
10
+ components: { EleBreadcrumb, EleMenus, ProTabs },
10
11
  props: {
11
12
  /** 菜单数据 */
12
13
  menus: {
@@ -47,9 +48,29 @@ const _sfc_main = vue.defineComponent({
47
48
  /** 当前路由是否是主页 */
48
49
  isHome: Boolean,
49
50
  /** 是否开启菜单文本溢出提示 */
50
- menuTextEllipsisTooltip: Boolean,
51
- /** 菜单文本溢出提示属性 */
52
- menuTextEllipsisTooltipProps: Object
51
+ menuTextEllipsisTooltip: [Boolean, Object],
52
+ /** 页签数据 */
53
+ tabs: {
54
+ type: Array,
55
+ required: true
56
+ },
57
+ /** 页签选中 */
58
+ tabActive: {
59
+ type: String,
60
+ required: true
61
+ },
62
+ /** 是否需要固定的主页页签 */
63
+ fixedHome: Boolean,
64
+ /** 页签风格 */
65
+ tabStyle: String,
66
+ /** 是否支持右键菜单 */
67
+ tabContextMenu: [Boolean, Object],
68
+ /** 右键菜单 */
69
+ tabContextMenus: [Array, Function],
70
+ /** 是否支持拖动排序 */
71
+ tabSortable: Boolean,
72
+ /** 是否需要页签栏 */
73
+ tabBar: [Boolean, String]
53
74
  },
54
75
  emits: {
55
76
  logoClick: () => true,
@@ -59,7 +80,11 @@ const _sfc_main = vue.defineComponent({
59
80
  itemMouseenter: (_item, _e) => true,
60
81
  itemMouseleave: (_item, _e) => true,
61
82
  mouseEnter: (_e) => true,
62
- mouseLeave: (_e) => true
83
+ mouseLeave: (_e) => true,
84
+ tabClick: (_opt) => true,
85
+ tabRemove: (_opt) => true,
86
+ tabContextMenu: (_opt) => true,
87
+ tabSortChange: (_data) => true
63
88
  },
64
89
  setup(props, { emit }) {
65
90
  const state = { hover: false, timer: null };
@@ -75,6 +100,7 @@ const _sfc_main = vue.defineComponent({
75
100
  const isIconSeparator = vue.computed(() => {
76
101
  return typeof props.breadcrumbSeparator !== "string";
77
102
  });
103
+ const hasTab = vue.computed(() => props.tabBar === "header");
78
104
  const onLogoClick = () => {
79
105
  emit("logoClick");
80
106
  };
@@ -115,6 +141,18 @@ const _sfc_main = vue.defineComponent({
115
141
  emit("mouseLeave", e);
116
142
  }, 300);
117
143
  };
144
+ const onTabClick = (opt) => {
145
+ emit("tabClick", opt);
146
+ };
147
+ const onTabRemove = (opt) => {
148
+ emit("tabRemove", opt);
149
+ };
150
+ const onTabContextMenu = (opt) => {
151
+ emit("tabContextMenu", opt);
152
+ };
153
+ const onTabSortChange = (data) => {
154
+ emit("tabSortChange", data);
155
+ };
118
156
  vue.watch(
119
157
  [() => props.isHome, () => props.homePath, () => props.levels],
120
158
  () => {
@@ -152,6 +190,7 @@ const _sfc_main = vue.defineComponent({
152
190
  isDark,
153
191
  isPrimary,
154
192
  isIconSeparator,
193
+ hasTab,
155
194
  onLogoClick,
156
195
  onOpen,
157
196
  onClose,
@@ -159,7 +198,11 @@ const _sfc_main = vue.defineComponent({
159
198
  onItemMouseenter,
160
199
  onItemMouseleave,
161
200
  onMouseenter,
162
- onMouseleave
201
+ onMouseleave,
202
+ onTabClick,
203
+ onTabRemove,
204
+ onTabContextMenu,
205
+ onTabSortChange
163
206
  };
164
207
  }
165
208
  });
@@ -178,19 +221,24 @@ const _hoisted_2 = {
178
221
  key: 2,
179
222
  class: "ele-admin-breadcrumb"
180
223
  };
181
- const _hoisted_3 = { class: "ele-admin-menus" };
182
- const _hoisted_4 = {
224
+ const _hoisted_3 = {
183
225
  key: 3,
226
+ class: "ele-admin-menus"
227
+ };
228
+ const _hoisted_4 = {
229
+ key: 5,
184
230
  class: "ele-admin-tools"
185
231
  };
186
232
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
187
233
  const _component_EleBreadcrumb = vue.resolveComponent("EleBreadcrumb");
188
234
  const _component_EleMenus = vue.resolveComponent("EleMenus");
235
+ const _component_ProTabs = vue.resolveComponent("ProTabs");
189
236
  return vue.openBlock(), vue.createElementBlock("div", {
190
237
  class: vue.normalizeClass([
191
238
  "ele-admin-header",
192
239
  { "is-dark": _ctx.isDark },
193
- { "is-primary": _ctx.isPrimary }
240
+ { "is-primary": _ctx.isPrimary },
241
+ { "is-ghost": !_ctx.isDark && !_ctx.isPrimary && _ctx.hasTab && _ctx.tabStyle === "button" }
194
242
  ]),
195
243
  onMouseenter: _cache[1] || (_cache[1] = (...args) => _ctx.onMouseenter && _ctx.onMouseenter(...args)),
196
244
  onMouseleave: _cache[2] || (_cache[2] = (...args) => _ctx.onMouseleave && _ctx.onMouseleave(...args))
@@ -223,7 +271,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
223
271
  ])
224
272
  ])) : vue.createCommentVNode("", true),
225
273
  vue.renderSlot(_ctx.$slots, "center", { sidebar: _ctx.sidebar }),
226
- vue.createElementVNode("div", _hoisted_3, [
274
+ _ctx.menuItems.length || !_ctx.hasTab ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
227
275
  _ctx.menuItems.length ? (vue.openBlock(), vue.createBlock(_component_EleMenus, {
228
276
  key: 0,
229
277
  items: _ctx.menuItems,
@@ -235,33 +283,75 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
235
283
  defaultActive: _ctx.active,
236
284
  menuTrigger: _ctx.menuTrigger,
237
285
  textEllipsisTooltip: _ctx.menuTextEllipsisTooltip,
238
- textEllipsisTooltipProps: _ctx.menuTextEllipsisTooltipProps,
239
286
  onOpen: _ctx.onOpen,
240
287
  onClose: _ctx.onClose,
241
288
  onItemClick: _ctx.onItemClick,
242
289
  onItemMouseenter: _ctx.onItemMouseenter,
243
290
  onItemMouseleave: _ctx.onItemMouseleave
244
291
  }, vue.createSlots({ _: 2 }, [
245
- _ctx.iconSlot && !["logo", "left", "right", "center", "breadcrumb"].includes(
246
- _ctx.iconSlot
247
- ) && _ctx.$slots[_ctx.iconSlot] ? {
292
+ _ctx.iconSlot && ![
293
+ "logo",
294
+ "left",
295
+ "right",
296
+ "center",
297
+ "breadcrumb",
298
+ "tabTitle",
299
+ "tabContext",
300
+ "tabExtra",
301
+ "tabHome"
302
+ ].includes(_ctx.iconSlot) && _ctx.$slots[_ctx.iconSlot] ? {
248
303
  name: "icon",
249
304
  fn: vue.withCtx((slotProps) => [
250
305
  vue.renderSlot(_ctx.$slots, _ctx.iconSlot, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
251
306
  ]),
252
307
  key: "0"
253
308
  } : void 0,
254
- _ctx.titleSlot && !["logo", "left", "right", "center", "breadcrumb"].includes(
255
- _ctx.titleSlot
256
- ) && _ctx.$slots[_ctx.titleSlot] ? {
309
+ _ctx.titleSlot && ![
310
+ "logo",
311
+ "left",
312
+ "right",
313
+ "center",
314
+ "breadcrumb",
315
+ "tabTitle",
316
+ "tabContext",
317
+ "tabExtra",
318
+ "tabHome"
319
+ ].includes(_ctx.titleSlot) && _ctx.$slots[_ctx.titleSlot] ? {
257
320
  name: "title",
258
321
  fn: vue.withCtx((slotProps) => [
259
322
  vue.renderSlot(_ctx.$slots, _ctx.titleSlot, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
260
323
  ]),
261
324
  key: "1"
262
325
  } : void 0
263
- ]), 1032, ["items", "theme", "popupTheme", "ellipsis", "ellipsisProps", "defaultActive", "menuTrigger", "textEllipsisTooltip", "textEllipsisTooltipProps", "onOpen", "onClose", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : vue.createCommentVNode("", true)
264
- ]),
326
+ ]), 1032, ["items", "theme", "popupTheme", "ellipsis", "ellipsisProps", "defaultActive", "menuTrigger", "textEllipsisTooltip", "onOpen", "onClose", "onItemClick", "onItemMouseenter", "onItemMouseleave"])) : vue.createCommentVNode("", true)
327
+ ])) : vue.createCommentVNode("", true),
328
+ _ctx.hasTab ? (vue.openBlock(), vue.createBlock(_component_ProTabs, {
329
+ key: 4,
330
+ tabs: _ctx.tabs,
331
+ active: _ctx.tabActive,
332
+ tabStyle: _ctx.tabStyle,
333
+ fixedHome: _ctx.fixedHome,
334
+ homePath: _ctx.homePath,
335
+ isHome: _ctx.isHome,
336
+ tabContextMenu: _ctx.tabContextMenu,
337
+ tabContextMenus: _ctx.tabContextMenus,
338
+ tabSortable: _ctx.tabSortable,
339
+ onTabClick: _ctx.onTabClick,
340
+ onTabRemove: _ctx.onTabRemove,
341
+ onTabContextMenu: _ctx.onTabContextMenu,
342
+ onTabSortChange: _ctx.onTabSortChange
343
+ }, vue.createSlots({ _: 2 }, [
344
+ vue.renderList(Object.keys(_ctx.$slots).filter(
345
+ (k) => ["tabTitle", "tabContext", "tabExtra", "tabHome"].includes(k)
346
+ ), (name) => {
347
+ return {
348
+ name,
349
+ fn: vue.withCtx((slotProps) => [
350
+ vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
351
+ ])
352
+ };
353
+ })
354
+ ]), 1032, ["tabs", "active", "tabStyle", "fixedHome", "homePath", "isHome", "tabContextMenu", "tabContextMenus", "tabSortable", "onTabClick", "onTabRemove", "onTabContextMenu", "onTabSortChange"])) : vue.createCommentVNode("", true),
265
355
  _ctx.$slots.right ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
266
356
  vue.renderSlot(_ctx.$slots, "right", { sidebar: _ctx.sidebar })
267
357
  ])) : vue.createCommentVNode("", true)