ele-admin-plus 1.1.9 → 1.2.0-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 (149) hide show
  1. package/es/core-export.d.ts +1 -0
  2. package/es/core-export.js +1 -0
  3. package/es/ele-alert/index.d.ts +2 -2
  4. package/es/ele-alert/props.d.ts +1 -1
  5. package/es/ele-app/components/message-body.d.ts +39 -0
  6. package/es/ele-app/components/message-body.js +92 -0
  7. package/es/ele-app/el.d.ts +2 -0
  8. package/es/ele-app/style/message/css-var.scss +0 -4
  9. package/es/ele-app/style/message/index.scss +199 -77
  10. package/es/ele-app/style/overwrite/input/index.scss +2 -0
  11. package/es/ele-app/style/overwrite/message-box/index.scss +31 -0
  12. package/es/ele-app/style/overwrite/tag/css-var.scss +0 -16
  13. package/es/ele-app/style/overwrite/tag/index.scss +57 -14
  14. package/es/ele-app/types.d.ts +6 -1
  15. package/es/ele-config-provider/components/receiver-view.js +3 -3
  16. package/es/ele-config-provider/index.d.ts +8 -4
  17. package/es/ele-config-provider/index.js +19 -5
  18. package/es/ele-config-provider/props.d.ts +9 -4
  19. package/es/ele-config-provider/props.js +9 -5
  20. package/es/ele-config-provider/receiver.js +2 -2
  21. package/es/ele-config-provider/types.d.ts +22 -1
  22. package/es/ele-data-table/types.d.ts +2 -0
  23. package/es/ele-drawer/index.d.ts +2 -2
  24. package/es/ele-edit-tag/index.d.ts +9 -4
  25. package/es/ele-edit-tag/index.js +4 -2
  26. package/es/ele-edit-tag/props.d.ts +3 -1
  27. package/es/ele-edit-tag/props.js +2 -0
  28. package/es/ele-edit-tag/style/index.scss +11 -4
  29. package/es/ele-icon-select/index.d.ts +10 -12
  30. package/es/ele-icon-select/props.d.ts +1 -1
  31. package/es/ele-map-picker/index.d.ts +1 -1
  32. package/es/ele-menus/index.d.ts +2 -2
  33. package/es/ele-menus/index.js +11 -0
  34. package/es/ele-modal/index.d.ts +3 -3
  35. package/es/ele-modal/style/index.scss +2 -0
  36. package/es/ele-modal/util.d.ts +1 -1
  37. package/es/ele-modal/util.js +2 -4
  38. package/es/ele-popconfirm/index.d.ts +3 -3
  39. package/es/ele-popconfirm/props.d.ts +1 -1
  40. package/es/ele-popover/index.d.ts +2 -2
  41. package/es/ele-pro-layout/components/pro-header.d.ts +1 -1
  42. package/es/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
  43. package/es/ele-pro-layout/index.js +1 -1
  44. package/es/ele-pro-layout/types.d.ts +4 -4
  45. package/es/ele-pro-table/components/table-tools.d.ts +11 -2
  46. package/es/ele-pro-table/components/table-tools.js +14 -26
  47. package/es/ele-pro-table/components/tool-column.d.ts +1 -0
  48. package/es/ele-pro-table/components/tool-export.d.ts +29 -56
  49. package/es/ele-pro-table/components/tool-export.js +100 -52
  50. package/es/ele-pro-table/components/tool-print-body-cell.js +50 -6
  51. package/es/ele-pro-table/components/tool-print-header-cell.js +4 -1
  52. package/es/ele-pro-table/components/tool-print.d.ts +29 -50
  53. package/es/ele-pro-table/components/tool-print.js +174 -69
  54. package/es/ele-pro-table/index.js +59 -50
  55. package/es/ele-pro-table/style/index.scss +9 -0
  56. package/es/ele-pro-table/types.d.ts +32 -0
  57. package/es/ele-pro-table/util.d.ts +18 -3
  58. package/es/ele-pro-table/util.js +160 -28
  59. package/es/ele-table/style/index.scss +16 -0
  60. package/es/ele-tooltip/index.d.ts +3 -3
  61. package/es/ele-virtual-table/util.d.ts +3 -1
  62. package/es/ele-virtual-table/util.js +7 -2
  63. package/es/icons/LoadingOutlined.js +1 -1
  64. package/es/lang/en_US.js +7 -1
  65. package/es/lang/zh_CN.js +7 -1
  66. package/es/lang/zh_TW.js +7 -1
  67. package/es/style/themes/default.scss +82 -85
  68. package/es/style/themes/rounded.scss +11 -15
  69. package/es/utils/core.d.ts +7 -0
  70. package/es/utils/core.js +16 -2
  71. package/es/utils/message-box.d.ts +25 -0
  72. package/es/utils/message-box.js +71 -0
  73. package/es/utils/message.d.ts +44 -20
  74. package/es/utils/message.js +220 -37
  75. package/lib/core-export.cjs +8 -0
  76. package/lib/core-export.d.ts +1 -0
  77. package/lib/ele-alert/index.d.ts +2 -2
  78. package/lib/ele-alert/props.d.ts +1 -1
  79. package/lib/ele-app/components/message-body.cjs +91 -0
  80. package/lib/ele-app/components/message-body.d.ts +39 -0
  81. package/lib/ele-app/el.d.ts +2 -0
  82. package/lib/ele-app/style/message/css-var.scss +0 -4
  83. package/lib/ele-app/style/message/index.scss +199 -77
  84. package/lib/ele-app/style/overwrite/input/index.scss +2 -0
  85. package/lib/ele-app/style/overwrite/message-box/index.scss +31 -0
  86. package/lib/ele-app/style/overwrite/tag/css-var.scss +0 -16
  87. package/lib/ele-app/style/overwrite/tag/index.scss +57 -14
  88. package/lib/ele-app/types.d.ts +6 -1
  89. package/lib/ele-config-provider/components/receiver-view.cjs +1 -1
  90. package/lib/ele-config-provider/index.cjs +18 -4
  91. package/lib/ele-config-provider/index.d.ts +8 -4
  92. package/lib/ele-config-provider/props.cjs +9 -5
  93. package/lib/ele-config-provider/props.d.ts +9 -4
  94. package/lib/ele-config-provider/receiver.cjs +1 -1
  95. package/lib/ele-config-provider/types.d.ts +22 -1
  96. package/lib/ele-data-table/types.d.ts +2 -0
  97. package/lib/ele-drawer/index.d.ts +2 -2
  98. package/lib/ele-edit-tag/index.cjs +4 -2
  99. package/lib/ele-edit-tag/index.d.ts +9 -4
  100. package/lib/ele-edit-tag/props.cjs +2 -0
  101. package/lib/ele-edit-tag/props.d.ts +3 -1
  102. package/lib/ele-edit-tag/style/index.scss +11 -4
  103. package/lib/ele-icon-select/index.d.ts +10 -12
  104. package/lib/ele-icon-select/props.d.ts +1 -1
  105. package/lib/ele-map-picker/index.d.ts +1 -1
  106. package/lib/ele-menus/index.cjs +11 -0
  107. package/lib/ele-menus/index.d.ts +2 -2
  108. package/lib/ele-modal/index.d.ts +3 -3
  109. package/lib/ele-modal/style/index.scss +2 -0
  110. package/lib/ele-modal/util.cjs +1 -3
  111. package/lib/ele-modal/util.d.ts +1 -1
  112. package/lib/ele-popconfirm/index.d.ts +3 -3
  113. package/lib/ele-popconfirm/props.d.ts +1 -1
  114. package/lib/ele-popover/index.d.ts +2 -2
  115. package/lib/ele-pro-layout/components/pro-header.d.ts +1 -1
  116. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
  117. package/lib/ele-pro-layout/index.cjs +1 -1
  118. package/lib/ele-pro-layout/types.d.ts +4 -4
  119. package/lib/ele-pro-table/components/table-tools.cjs +14 -26
  120. package/lib/ele-pro-table/components/table-tools.d.ts +11 -2
  121. package/lib/ele-pro-table/components/tool-column.d.ts +1 -0
  122. package/lib/ele-pro-table/components/tool-export.cjs +99 -51
  123. package/lib/ele-pro-table/components/tool-export.d.ts +29 -56
  124. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +49 -5
  125. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +4 -1
  126. package/lib/ele-pro-table/components/tool-print.cjs +172 -67
  127. package/lib/ele-pro-table/components/tool-print.d.ts +29 -50
  128. package/lib/ele-pro-table/index.cjs +59 -50
  129. package/lib/ele-pro-table/style/index.scss +9 -0
  130. package/lib/ele-pro-table/types.d.ts +32 -0
  131. package/lib/ele-pro-table/util.cjs +160 -28
  132. package/lib/ele-pro-table/util.d.ts +18 -3
  133. package/lib/ele-table/style/index.scss +16 -0
  134. package/lib/ele-tooltip/index.d.ts +3 -3
  135. package/lib/ele-virtual-table/util.cjs +7 -2
  136. package/lib/ele-virtual-table/util.d.ts +3 -1
  137. package/lib/icons/LoadingOutlined.cjs +1 -1
  138. package/lib/lang/en_US.cjs +7 -1
  139. package/lib/lang/zh_CN.cjs +7 -1
  140. package/lib/lang/zh_TW.cjs +7 -1
  141. package/lib/style/themes/default.scss +82 -85
  142. package/lib/style/themes/rounded.scss +11 -15
  143. package/lib/utils/core.cjs +16 -2
  144. package/lib/utils/core.d.ts +7 -0
  145. package/lib/utils/message-box.cjs +71 -0
  146. package/lib/utils/message-box.d.ts +25 -0
  147. package/lib/utils/message.cjs +216 -33
  148. package/lib/utils/message.d.ts +44 -20
  149. package/package.json +14 -14
@@ -3,6 +3,7 @@ export * from './utils/chart-theme';
3
3
  export * from './utils/core';
4
4
  export * from './utils/menu-util';
5
5
  export * from './utils/message';
6
+ export * from './utils/message-box';
6
7
  export * from './utils/validate';
7
8
  export { default as HeaderTool } from "./ele-pro-layout/components/header-tool";
8
9
  export { default as SidebarTool } from "./ele-pro-layout/components/sidebar-tool";
package/es/core-export.js CHANGED
@@ -3,6 +3,7 @@ export * from "./utils/chart-theme";
3
3
  export * from "./utils/core";
4
4
  export * from "./utils/menu-util";
5
5
  export * from "./utils/message";
6
+ export * from "./utils/message-box";
6
7
  export * from "./utils/validate";
7
8
  import { default as default2 } from "./ele-pro-layout/components/header-tool";
8
9
  import { default as default3 } from "./ele-pro-layout/components/sidebar-tool";
@@ -1,6 +1,6 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
2
  title: StringConstructor;
3
- type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "error", unknown> | undefined>;
3
+ type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "error" | "info", unknown> | undefined>;
4
4
  description: StringConstructor;
5
5
  closable: {
6
6
  type: BooleanConstructor;
@@ -30,7 +30,7 @@ declare const _default: import('vue').DefineComponent<{
30
30
  close: (_e: MouseEvent) => boolean;
31
31
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
32
32
  title: StringConstructor;
33
- type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "error", unknown> | undefined>;
33
+ type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "error" | "info", unknown> | undefined>;
34
34
  description: StringConstructor;
35
35
  closable: {
36
36
  type: BooleanConstructor;
@@ -8,7 +8,7 @@ export declare const alertProps: {
8
8
  /** 标题 */
9
9
  title: StringConstructor;
10
10
  /** 类型 */
11
- type: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "error", unknown> | undefined>;
11
+ type: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "error" | "info", unknown> | undefined>;
12
12
  /** 描述 */
13
13
  description: StringConstructor;
14
14
  /** 是否可关闭 */
@@ -0,0 +1,39 @@
1
+ import { PropType } from 'vue';
2
+
3
+ declare const _default: import('vue').DefineComponent<{
4
+ /** 内容 */
5
+ message: StringConstructor;
6
+ /** 类型 */
7
+ type: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "error" | "info", unknown> | undefined>;
8
+ /** 图标 */
9
+ icon: PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>) & {}) | (() => string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>) | ((new (...args: any[]) => (string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>) & {}) | (() => string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>))[], unknown, unknown> | undefined>;
10
+ /** 是否显示关闭按钮 */
11
+ showClose: BooleanConstructor;
12
+ /** 内容是否是富文本 */
13
+ dangerouslyUseHTMLString: BooleanConstructor;
14
+ /** 是否是加载框 */
15
+ loading: PropType<boolean | null>;
16
+ }, {
17
+ onClose: () => void;
18
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ close: () => true;
20
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
21
+ /** 内容 */
22
+ message: StringConstructor;
23
+ /** 类型 */
24
+ type: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "success" | "warning" | "error" | "info", unknown> | undefined>;
25
+ /** 图标 */
26
+ icon: PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>) & {}) | (() => string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>) | ((new (...args: any[]) => (string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>) & {}) | (() => string | import('vue').Component<any, any, any, import('vue').ComputedOptions, import('vue').MethodOptions, {}, any>))[], unknown, unknown> | undefined>;
27
+ /** 是否显示关闭按钮 */
28
+ showClose: BooleanConstructor;
29
+ /** 内容是否是富文本 */
30
+ dangerouslyUseHTMLString: BooleanConstructor;
31
+ /** 是否是加载框 */
32
+ loading: PropType<boolean | null>;
33
+ }>> & {
34
+ onClose?: (() => any) | undefined;
35
+ }, {
36
+ dangerouslyUseHTMLString: boolean;
37
+ showClose: boolean;
38
+ }, {}>;
39
+ export default _default;
@@ -0,0 +1,92 @@
1
+ import { defineComponent, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, createVNode, normalizeClass, withCtx, createBlock, resolveDynamicComponent, renderSlot, toDisplayString, createCommentVNode } from "vue";
2
+ import { ElIcon } from "element-plus";
3
+ import { CloseOutlined, InfoCircleFilled, CheckCircleFilled, ExclamationCircleFilled, CloseCircleFilled, LoadingOutlined } from "../../icons";
4
+ const _sfc_main = defineComponent({
5
+ name: "MessageBody",
6
+ components: {
7
+ ElIcon,
8
+ CloseOutlined,
9
+ InfoCircleFilled,
10
+ CheckCircleFilled,
11
+ ExclamationCircleFilled,
12
+ CloseCircleFilled,
13
+ LoadingOutlined
14
+ },
15
+ props: {
16
+ /** 内容 */
17
+ message: String,
18
+ /** 类型 */
19
+ type: String,
20
+ /** 图标 */
21
+ icon: [String, Object, Function],
22
+ /** 是否显示关闭按钮 */
23
+ showClose: Boolean,
24
+ /** 内容是否是富文本 */
25
+ dangerouslyUseHTMLString: Boolean,
26
+ /** 是否是加载框 */
27
+ loading: Boolean
28
+ },
29
+ emits: {
30
+ close: () => true
31
+ },
32
+ setup(_props, { emit }) {
33
+ return { onClose: () => emit("close") };
34
+ }
35
+ });
36
+ const _export_sfc = (sfc, props) => {
37
+ const target = sfc.__vccOpts || sfc;
38
+ for (const [key, val] of props) {
39
+ target[key] = val;
40
+ }
41
+ return target;
42
+ };
43
+ const _hoisted_1 = { class: "ele-message-icon" };
44
+ const _hoisted_2 = ["innerHTML"];
45
+ const _hoisted_3 = {
46
+ key: 1,
47
+ class: "ele-message-content"
48
+ };
49
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
50
+ const _component_LoadingOutlined = resolveComponent("LoadingOutlined");
51
+ const _component_CheckCircleFilled = resolveComponent("CheckCircleFilled");
52
+ const _component_ExclamationCircleFilled = resolveComponent("ExclamationCircleFilled");
53
+ const _component_CloseCircleFilled = resolveComponent("CloseCircleFilled");
54
+ const _component_InfoCircleFilled = resolveComponent("InfoCircleFilled");
55
+ const _component_ElIcon = resolveComponent("ElIcon");
56
+ const _component_CloseOutlined = resolveComponent("CloseOutlined");
57
+ return openBlock(), createElementBlock(Fragment, null, [
58
+ createElementVNode("div", _hoisted_1, [
59
+ createVNode(_component_ElIcon, {
60
+ class: normalizeClass({ "is-loading": _ctx.loading })
61
+ }, {
62
+ default: withCtx(() => [
63
+ _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : _ctx.loading ? (openBlock(), createBlock(_component_LoadingOutlined, { key: 1 })) : _ctx.type === "success" ? (openBlock(), createBlock(_component_CheckCircleFilled, { key: 2 })) : _ctx.type === "warning" ? (openBlock(), createBlock(_component_ExclamationCircleFilled, { key: 3 })) : _ctx.type === "error" ? (openBlock(), createBlock(_component_CloseCircleFilled, { key: 4 })) : (openBlock(), createBlock(_component_InfoCircleFilled, { key: 5 }))
64
+ ]),
65
+ _: 1
66
+ }, 8, ["class"])
67
+ ]),
68
+ renderSlot(_ctx.$slots, "default", {}, () => [
69
+ _ctx.dangerouslyUseHTMLString ? (openBlock(), createElementBlock("div", {
70
+ key: 0,
71
+ innerHTML: _ctx.message,
72
+ class: "ele-message-content"
73
+ }, null, 8, _hoisted_2)) : (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(_ctx.message), 1))
74
+ ]),
75
+ _ctx.showClose ? (openBlock(), createElementBlock("div", {
76
+ key: 0,
77
+ class: "ele-message-close",
78
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClose && _ctx.onClose(...args))
79
+ }, [
80
+ createVNode(_component_ElIcon, null, {
81
+ default: withCtx(() => [
82
+ createVNode(_component_CloseOutlined)
83
+ ]),
84
+ _: 1
85
+ })
86
+ ])) : createCommentVNode("", true)
87
+ ], 64);
88
+ }
89
+ const messageBody = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
90
+ export {
91
+ messageBody as default
92
+ };
@@ -57,9 +57,11 @@ import type { dropdownProps } from 'element-plus';
57
57
  import type { dropdownItemProps } from 'element-plus';
58
58
  import type columnProps from 'element-plus/es/components/table/src/table-column/defaults';
59
59
  import type { TreeProps } from 'element-plus/es/components/tree-v2/src/types';
60
+ import type { MessageOptions } from 'element-plus/es/components/message';
60
61
  import type { ComponentProps } from './types';
61
62
 
62
63
  export type ElFormItemRule = Partial<FormItemRule>;
64
+ export type ElMessageOptions = Partial<MessageOptions>;
63
65
 
64
66
  /**
65
67
  * 组件属性
@@ -5,8 +5,4 @@
5
5
  .ele-message {
6
6
  @include set-ele-var('message', $var);
7
7
  }
8
-
9
- .ele-message-mask {
10
- @include set-ele-var('message-mask', $var);
11
- }
12
8
  }
@@ -4,121 +4,243 @@
4
4
 
5
5
  @include set-message-var($ele);
6
6
 
7
- /* 消息提示 */
8
7
  .ele-message.el-message {
9
- width: max-content;
10
- padding: eleVar('message', 'padding');
11
- border-radius: eleVar('message', 'radius');
12
- box-shadow: eleVar('message', 'shadow');
8
+ gap: 0;
9
+ padding: 0;
13
10
  border: none;
11
+ border-radius: 0;
12
+ background: none;
13
+ width: max-content;
14
+ pointer-events: auto;
15
+ align-items: flex-start;
16
+ margin: 0 auto eleVar('message', 'space') auto;
17
+ transition: margin-bottom 0.2s;
18
+ position: relative !important;
19
+ left: auto !important;
20
+ top: auto !important;
21
+ transform: none;
22
+ opacity: 1;
23
+
24
+ & > .el-message__content {
25
+ display: none;
26
+ }
27
+
28
+ & > .el-message__icon,
29
+ & > .el-message__badge {
30
+ z-index: calc(#{elVar('index', 'popper')} + 2);
31
+ transition: (
32
+ margin-top 0.4s,
33
+ transform elVar('transition-duration'),
34
+ opacity elVar('transition-duration')
35
+ );
36
+ }
14
37
 
15
- .el-message__content {
38
+ & > .el-message__icon {
39
+ width: auto;
40
+ height: auto;
41
+ max-width: 100%;
42
+ line-height: normal;
43
+ font-style: normal;
44
+ display: flex;
45
+ flex-shrink: 0;
16
46
  color: eleVar('message', 'color');
17
47
  font-size: eleVar('message', 'size');
48
+ padding: eleVar('message', 'padding');
49
+ box-shadow: eleVar('message', 'shadow');
50
+ border-radius: eleVar('message', 'radius');
51
+ background: elVar('color-primary', 'light-9');
52
+ border: 0 solid elVar('color-primary', 'light-8');
53
+ z-index: calc(#{elVar('index', 'popper')} + 1);
18
54
  box-sizing: border-box;
55
+ position: relative;
19
56
  }
57
+ }
20
58
 
21
- .el-message__icon {
22
- font-size: eleVar('message', 'icon-size');
23
- margin: eleVar('message', 'icon-margin');
24
- }
59
+ .ele-message + .ele-message {
60
+ margin-top: 0 !important;
61
+ }
25
62
 
26
- .el-message__closeBtn {
27
- width: eleVar('message', 'close-size');
28
- height: eleVar('message', 'close-size');
29
- line-height: eleVar('message', 'close-size');
30
- color: eleVar('message', 'close-color');
31
- font-size: eleVar('message', 'close-font-size');
32
- margin: eleVar('message', 'close-margin');
33
- border-radius: eleVar('message', 'close-radius');
34
- transition: (color $ele-transition, background-color $ele-transition);
35
- position: static;
36
- top: auto;
37
- right: auto;
38
- transform: none;
39
-
40
- &:hover {
41
- color: eleVar('message', 'close-hover-color');
42
- background: eleVar('message', 'close-hover-bg');
43
- }
44
- }
63
+ .ele-message-icon {
64
+ flex-shrink: 0;
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ color: elVar('color-primary');
69
+ font-size: eleVar('message', 'icon-size');
70
+ margin: eleVar('message', 'icon-margin');
71
+ }
45
72
 
46
- &.is-closable .el-message__content {
47
- padding-right: 0;
73
+ .ele-message-close {
74
+ flex-shrink: 0;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ width: eleVar('message', 'close-size');
79
+ height: eleVar('message', 'close-size');
80
+ line-height: eleVar('message', 'close-size');
81
+ color: eleVar('message', 'close-color');
82
+ font-size: eleVar('message', 'close-font-size');
83
+ margin: eleVar('message', 'close-margin');
84
+ border-radius: eleVar('message', 'close-radius');
85
+ transition: (color $ele-transition, background-color $ele-transition);
86
+ cursor: pointer;
87
+
88
+ &:hover {
89
+ color: eleVar('message', 'close-hover-color');
90
+ background: eleVar('message', 'close-hover-bg');
48
91
  }
92
+ }
49
93
 
50
- &.el-message--info {
51
- #{elVarName('message', 'text-color')}: elVar('color-primary');
52
- #{elVarName('message', 'bg-color')}: elVar('color-primary', 'light-9');
53
- #{elVarName('message', 'border-color')}: elVar('color-primary', 'light-8');
54
- }
94
+ /* 情景色类型 */
95
+ .ele-message.el-message--success > .el-message__icon {
96
+ background: elVar('color-success', 'light-9');
97
+ border-color: elVar('color-success', 'light-7');
55
98
 
56
- /* 简约风格 */
57
- &.is-plain {
58
- #{elVarName('message', 'bg-color')}: eleVar('message', 'plain-bg');
99
+ & > .ele-message-icon {
100
+ color: elVar('color-success');
59
101
  }
102
+ }
60
103
 
61
- /* 加载框 */
62
- &.ele-message-loading {
63
- #{elVarName('message', 'text-color')}: elVar('color-primary');
64
- #{elVarName('message', 'bg-color')}: elVar('color-primary', 'light-9');
65
- #{elVarName('message', 'border-color')}: elVar('color-primary', 'light-8');
104
+ .ele-message.el-message--warning > .el-message__icon {
105
+ background: elVar('color-warning', 'light-9');
106
+ border-color: elVar('color-warning', 'light-7');
66
107
 
67
- &.is-plain {
68
- #{elVarName('message', 'bg-color')}: eleVar('message', 'plain-bg');
69
- }
108
+ & > .ele-message-icon {
109
+ color: elVar('color-warning');
70
110
  }
71
111
  }
72
112
 
73
- /* 加载框 */
74
- .ele-message-loading.el-message {
75
- left: 0;
76
- right: 0;
77
- margin: 0 auto;
78
- transform: none;
79
- transition: (opacity elVar('transition-duration'), margin 0.4s, top 0.4s);
113
+ .ele-message.el-message--error > .el-message__icon {
114
+ background: elVar('color-error', 'light-9');
115
+ border-color: elVar('color-error', 'light-7');
80
116
 
81
- &.el-message-fade-enter-from,
82
- &.el-message-fade-leave-to {
83
- margin-top: -62px;
117
+ & > .ele-message-icon {
118
+ color: elVar('color-error');
84
119
  }
120
+ }
121
+
122
+ .ele-message.el-message--info > .el-message__badge > .el-badge__content {
123
+ background: elVar('color-primary');
124
+ }
125
+
126
+ /* 简约风格 */
127
+ .ele-message.is-plain.el-message {
128
+ background: none;
129
+ box-shadow: none;
130
+ }
131
+
132
+ .ele-message.is-plain > .el-message__icon,
133
+ .ele-message.is-plain-alert > .el-message__icon {
134
+ background: eleVar('message', 'plain-bg');
135
+ }
136
+
137
+ /* 彩色风格 */
138
+ .ele-message.is-alert > .el-message__icon {
139
+ color: elVar('color-primary');
140
+ padding: eleVar('message', 'alert-padding');
141
+ border-width: 1px;
142
+ box-shadow: none;
143
+ }
144
+
145
+ .ele-message.is-plain-alert > .el-message__icon {
146
+ color: elVar('color-primary');
147
+ }
148
+
149
+ .el-message--success.is-alert > .el-message__icon,
150
+ .el-message--success.is-plain-alert > .el-message__icon {
151
+ color: elVar('color-success');
152
+ }
153
+
154
+ .el-message--warning.is-alert > .el-message__icon,
155
+ .el-message--warning.is-plain-alert > .el-message__icon {
156
+ color: elVar('color-warning');
157
+ }
158
+
159
+ .el-message--error.is-alert > .el-message__icon,
160
+ .el-message--error.is-plain-alert > .el-message__icon {
161
+ color: elVar('color-error');
162
+ }
163
+
164
+ /* 加载框 */
165
+ .ele-message.is-loading {
166
+ position: static !important;
85
167
 
86
168
  &::before {
87
169
  content: '';
88
- position: fixed;
170
+ position: absolute;
89
171
  top: 0;
90
172
  left: 0;
91
173
  right: 0;
92
174
  bottom: 0;
175
+ transition: opacity elVar('transition-duration');
176
+ z-index: elVar('index', 'popper');
93
177
  }
94
178
 
95
- & > .el-message__content {
96
- position: relative;
179
+ & > .el-message__badge {
180
+ display: none;
181
+ }
182
+ }
183
+
184
+ /* 遮罩 */
185
+ .ele-message.is-show-mask::before {
186
+ background: eleVar('message', 'mask-color');
187
+ }
188
+
189
+ /* 居中 */
190
+ .ele-message.is-centered {
191
+ margin: 0 !important;
192
+ position: absolute !important;
193
+ top: 0 !important;
194
+ left: 0 !important;
195
+ right: 0;
196
+ bottom: 0;
197
+ width: 100%;
198
+ height: 100%;
199
+ max-width: none;
200
+ align-items: center;
201
+ justify-content: center;
202
+
203
+ &.el-message-fade-enter-from > .el-message__icon,
204
+ &.el-message-fade-leave-to > .el-message__icon {
205
+ transform: scale(0.6);
206
+ margin-top: 0;
97
207
  }
208
+ }
209
+
210
+ /* 进入和关闭动画 */
211
+ .ele-message.el-message-fade-enter-from,
212
+ .ele-message.el-message-fade-leave-to {
213
+ margin-bottom: 0;
98
214
 
99
215
  & > .el-message__icon,
100
- & > .el-message__content,
101
- & > .el-message__closeBtn {
102
- z-index: 1;
216
+ & > .el-message__badge {
217
+ opacity: 0;
218
+ margin-top: -88px;
103
219
  }
104
220
 
105
- & > .el-message__icon > .el-icon {
106
- font-size: 16px;
107
- animation: rotating 1s linear infinite;
221
+ &::before {
222
+ opacity: 0;
108
223
  }
224
+ }
109
225
 
110
- /* 遮罩 */
111
- &.ele-message-mask {
112
- box-shadow:
113
- eleVar('message', 'shadow'),
114
- 0 0 0 eleVar('message-mask', 'size') eleVar('message-mask', 'color');
226
+ /* 容器 */
227
+ .ele-message-wrapper {
228
+ position: absolute;
229
+ top: 0;
230
+ left: 0;
231
+ right: 0;
232
+ bottom: 0;
233
+ width: 100%;
234
+ height: 100%;
235
+ box-sizing: border-box;
236
+ pointer-events: none;
237
+ overflow: hidden;
238
+
239
+ & > .ele-message:first-child {
240
+ margin-top: eleVar('message', 'space');
115
241
  }
116
242
 
117
- /* 居中 */
118
- &.is-centered {
119
- top: 0 !important;
120
- bottom: 0;
121
- height: max-content;
122
- margin: auto;
243
+ &.is-hide {
244
+ display: none;
123
245
  }
124
246
  }
@@ -285,6 +285,8 @@ body .el-input.is-disabled .el-input__wrapper,
285
285
  body .el-textarea.is-disabled .el-textarea__inner,
286
286
  body .el-select.el-select--disabled .el-input.is-disabled .el-input__wrapper,
287
287
  .el-select .el-select__wrapper.is-disabled,
288
+ .el-select .el-select__wrapper.is-disabled:hover,
289
+ .el-select .el-select__wrapper.is-disabled.is-hovering,
288
290
  .el-date-editor.el-range-editor.is-disabled.el-input__wrapper {
289
291
  cursor: not-allowed;
290
292
  border: eleVar('input', 'disabled-border');
@@ -84,6 +84,10 @@
84
84
  }
85
85
  }
86
86
 
87
+ .el-message-box .el-message-box__status.el-message-box-icon--info {
88
+ color: elVar('color-primary');
89
+ }
90
+
87
91
  .el-message-box__message {
88
92
  word-break: break-all;
89
93
  }
@@ -96,3 +100,30 @@ body .el-overlay.is-message-box > .el-overlay-message-box {
96
100
  display: none;
97
101
  }
98
102
  }
103
+
104
+ /* 容器 */
105
+ .ele-message-box-wrapper {
106
+ position: absolute;
107
+ top: 0;
108
+ left: 0;
109
+ right: 0;
110
+ bottom: 0;
111
+ width: 100%;
112
+ height: 100%;
113
+ box-sizing: border-box;
114
+ pointer-events: none;
115
+ overflow: hidden;
116
+
117
+ & > .el-overlay.is-message-box {
118
+ pointer-events: auto;
119
+ position: absolute;
120
+
121
+ & > .el-overlay-message-box {
122
+ position: absolute;
123
+ }
124
+ }
125
+
126
+ &.is-hide {
127
+ display: none;
128
+ }
129
+ }
@@ -5,20 +5,4 @@
5
5
  .el-tag {
6
6
  @include set-ele-var('tag', $var);
7
7
  }
8
-
9
- .el-tag--small {
10
- @include set-ele-var('tag-sm', $var);
11
- }
12
-
13
- .el-tag--large {
14
- @include set-ele-var('tag-lg', $var);
15
- }
16
-
17
- .el-tag--dark {
18
- @include set-ele-var('tag-dark', $var);
19
- }
20
-
21
- .el-tag--plain {
22
- @include set-ele-var('tag-plain', $var);
23
- }
24
8
  }