@element-plus/nightly 0.0.20240407 → 0.0.20240409

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 (276) hide show
  1. package/dist/index.full.js +2 -2
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +2 -2
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -2
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/nb-no.js +1 -1
  152. package/dist/locale/nb-no.min.js +1 -1
  153. package/dist/locale/nb-no.min.mjs +1 -1
  154. package/dist/locale/nb-no.mjs +1 -1
  155. package/dist/locale/nl.js +1 -1
  156. package/dist/locale/nl.min.js +1 -1
  157. package/dist/locale/nl.min.mjs +1 -1
  158. package/dist/locale/nl.mjs +1 -1
  159. package/dist/locale/pa.js +1 -1
  160. package/dist/locale/pa.min.js +1 -1
  161. package/dist/locale/pa.min.mjs +1 -1
  162. package/dist/locale/pa.mjs +1 -1
  163. package/dist/locale/pl.js +1 -1
  164. package/dist/locale/pl.min.js +1 -1
  165. package/dist/locale/pl.min.mjs +1 -1
  166. package/dist/locale/pl.mjs +1 -1
  167. package/dist/locale/pt-br.js +1 -1
  168. package/dist/locale/pt-br.min.js +1 -1
  169. package/dist/locale/pt-br.min.mjs +1 -1
  170. package/dist/locale/pt-br.mjs +1 -1
  171. package/dist/locale/pt.js +1 -1
  172. package/dist/locale/pt.min.js +1 -1
  173. package/dist/locale/pt.min.mjs +1 -1
  174. package/dist/locale/pt.mjs +1 -1
  175. package/dist/locale/ro.js +1 -1
  176. package/dist/locale/ro.min.js +1 -1
  177. package/dist/locale/ro.min.mjs +1 -1
  178. package/dist/locale/ro.mjs +1 -1
  179. package/dist/locale/ru.js +1 -1
  180. package/dist/locale/ru.min.js +1 -1
  181. package/dist/locale/ru.min.mjs +1 -1
  182. package/dist/locale/ru.mjs +1 -1
  183. package/dist/locale/sk.js +1 -1
  184. package/dist/locale/sk.min.js +1 -1
  185. package/dist/locale/sk.min.mjs +1 -1
  186. package/dist/locale/sk.mjs +1 -1
  187. package/dist/locale/sl.js +1 -1
  188. package/dist/locale/sl.min.js +1 -1
  189. package/dist/locale/sl.min.mjs +1 -1
  190. package/dist/locale/sl.mjs +1 -1
  191. package/dist/locale/sr.js +1 -1
  192. package/dist/locale/sr.min.js +1 -1
  193. package/dist/locale/sr.min.mjs +1 -1
  194. package/dist/locale/sr.mjs +1 -1
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/sw.js +1 -1
  200. package/dist/locale/sw.min.js +1 -1
  201. package/dist/locale/sw.min.mjs +1 -1
  202. package/dist/locale/sw.mjs +1 -1
  203. package/dist/locale/ta.js +1 -1
  204. package/dist/locale/ta.min.js +1 -1
  205. package/dist/locale/ta.min.mjs +1 -1
  206. package/dist/locale/ta.mjs +1 -1
  207. package/dist/locale/th.js +1 -1
  208. package/dist/locale/th.min.js +1 -1
  209. package/dist/locale/th.min.mjs +1 -1
  210. package/dist/locale/th.mjs +1 -1
  211. package/dist/locale/tk.js +1 -1
  212. package/dist/locale/tk.min.js +1 -1
  213. package/dist/locale/tk.min.mjs +1 -1
  214. package/dist/locale/tk.mjs +1 -1
  215. package/dist/locale/tr.js +1 -1
  216. package/dist/locale/tr.min.js +1 -1
  217. package/dist/locale/tr.min.mjs +1 -1
  218. package/dist/locale/tr.mjs +1 -1
  219. package/dist/locale/ug-cn.js +1 -1
  220. package/dist/locale/ug-cn.min.js +1 -1
  221. package/dist/locale/ug-cn.min.mjs +1 -1
  222. package/dist/locale/ug-cn.mjs +1 -1
  223. package/dist/locale/uk.js +1 -1
  224. package/dist/locale/uk.min.js +1 -1
  225. package/dist/locale/uk.min.mjs +1 -1
  226. package/dist/locale/uk.mjs +1 -1
  227. package/dist/locale/uz-uz.js +1 -1
  228. package/dist/locale/uz-uz.min.js +1 -1
  229. package/dist/locale/uz-uz.min.mjs +1 -1
  230. package/dist/locale/uz-uz.mjs +1 -1
  231. package/dist/locale/vi.js +1 -1
  232. package/dist/locale/vi.min.js +1 -1
  233. package/dist/locale/vi.min.mjs +1 -1
  234. package/dist/locale/vi.mjs +1 -1
  235. package/dist/locale/zh-cn.js +1 -1
  236. package/dist/locale/zh-cn.min.js +1 -1
  237. package/dist/locale/zh-cn.min.mjs +1 -1
  238. package/dist/locale/zh-cn.mjs +1 -1
  239. package/dist/locale/zh-tw.js +1 -1
  240. package/dist/locale/zh-tw.min.js +1 -1
  241. package/dist/locale/zh-tw.min.mjs +1 -1
  242. package/dist/locale/zh-tw.mjs +1 -1
  243. package/es/components/index.mjs +2 -2
  244. package/es/components/message/index.mjs +1 -1
  245. package/es/components/message/src/message.mjs +91 -149
  246. package/es/components/message/src/message.mjs.map +1 -1
  247. package/es/components/message/src/message2.mjs +149 -91
  248. package/es/components/message/src/message2.mjs.map +1 -1
  249. package/es/components/message/src/method.mjs +2 -2
  250. package/es/components/steps/index.mjs +2 -2
  251. package/es/components/steps/src/item.mjs +19 -191
  252. package/es/components/steps/src/item.mjs.map +1 -1
  253. package/es/components/steps/src/item2.mjs +191 -19
  254. package/es/components/steps/src/item2.mjs.map +1 -1
  255. package/es/index.mjs +2 -2
  256. package/es/version.d.ts +1 -1
  257. package/es/version.mjs +1 -1
  258. package/es/version.mjs.map +1 -1
  259. package/lib/components/index.js +2 -2
  260. package/lib/components/message/index.js +1 -1
  261. package/lib/components/message/src/message.js +93 -148
  262. package/lib/components/message/src/message.js.map +1 -1
  263. package/lib/components/message/src/message2.js +148 -93
  264. package/lib/components/message/src/message2.js.map +1 -1
  265. package/lib/components/message/src/method.js +2 -2
  266. package/lib/components/steps/index.js +2 -2
  267. package/lib/components/steps/src/item.js +19 -191
  268. package/lib/components/steps/src/item.js.map +1 -1
  269. package/lib/components/steps/src/item2.js +191 -19
  270. package/lib/components/steps/src/item2.js.map +1 -1
  271. package/lib/index.js +2 -2
  272. package/lib/version.d.ts +1 -1
  273. package/lib/version.js +1 -1
  274. package/lib/version.js.map +1 -1
  275. package/package.json +2 -2
  276. package/web-types.json +1 -1
@@ -2,159 +2,104 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var core = require('@vueuse/core');
7
5
  require('../../../utils/index.js');
8
- require('../../../constants/index.js');
9
- var index = require('../../badge/index.js');
10
- require('../../config-provider/index.js');
11
- var index$1 = require('../../icon/index.js');
12
- var message = require('./message2.js');
13
- var instance = require('./instance.js');
14
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
6
+ var typescript = require('../../../utils/typescript.js');
7
+ var core = require('@vueuse/core');
8
+ var runtime = require('../../../utils/vue/props/runtime.js');
15
9
  var icon = require('../../../utils/vue/icon.js');
16
- var useGlobalConfig = require('../../config-provider/src/hooks/use-global-config.js');
17
- var aria = require('../../../constants/aria.js');
18
10
 
19
- const _hoisted_1 = ["id"];
20
- const _hoisted_2 = ["innerHTML"];
21
- const __default__ = vue.defineComponent({
22
- name: "ElMessage"
11
+ const messageTypes = ["success", "info", "warning", "error"];
12
+ const messageDefaults = typescript.mutable({
13
+ customClass: "",
14
+ center: false,
15
+ dangerouslyUseHTMLString: false,
16
+ duration: 3e3,
17
+ icon: void 0,
18
+ id: "",
19
+ message: "",
20
+ onClose: void 0,
21
+ showClose: false,
22
+ type: "info",
23
+ plain: false,
24
+ offset: 16,
25
+ zIndex: 0,
26
+ grouping: false,
27
+ repeatNum: 1,
28
+ appendTo: core.isClient ? document.body : void 0
23
29
  });
24
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
25
- ...__default__,
26
- props: message.messageProps,
27
- emits: message.messageEmits,
28
- setup(__props, { expose }) {
29
- const props = __props;
30
- const { Close } = icon.TypeComponents;
31
- const { ns, zIndex } = useGlobalConfig.useGlobalComponentSettings("message");
32
- const { currentZIndex, nextZIndex } = zIndex;
33
- const messageRef = vue.ref();
34
- const visible = vue.ref(false);
35
- const height = vue.ref(0);
36
- let stopTimer = void 0;
37
- const badgeType = vue.computed(() => props.type ? props.type === "error" ? "danger" : props.type : "info");
38
- const typeClass = vue.computed(() => {
39
- const type = props.type;
40
- return { [ns.bm("icon", type)]: type && icon.TypeComponentsMap[type] };
41
- });
42
- const iconComponent = vue.computed(() => props.icon || icon.TypeComponentsMap[props.type] || "");
43
- const lastOffset = vue.computed(() => instance.getLastOffset(props.id));
44
- const offset = vue.computed(() => instance.getOffsetOrSpace(props.id, props.offset) + lastOffset.value);
45
- const bottom = vue.computed(() => height.value + offset.value);
46
- const customStyle = vue.computed(() => ({
47
- top: `${offset.value}px`,
48
- zIndex: currentZIndex.value
49
- }));
50
- function startTimer() {
51
- if (props.duration === 0)
52
- return;
53
- ({ stop: stopTimer } = core.useTimeoutFn(() => {
54
- close();
55
- }, props.duration));
56
- }
57
- function clearTimer() {
58
- stopTimer == null ? void 0 : stopTimer();
59
- }
60
- function close() {
61
- visible.value = false;
62
- }
63
- function keydown({ code }) {
64
- if (code === aria.EVENT_CODE.esc) {
65
- close();
66
- }
67
- }
68
- vue.onMounted(() => {
69
- startTimer();
70
- nextZIndex();
71
- visible.value = true;
72
- });
73
- vue.watch(() => props.repeatNum, () => {
74
- clearTimer();
75
- startTimer();
76
- });
77
- core.useEventListener(document, "keydown", keydown);
78
- core.useResizeObserver(messageRef, () => {
79
- height.value = messageRef.value.getBoundingClientRect().height;
80
- });
81
- expose({
82
- visible,
83
- bottom,
84
- close
85
- });
86
- return (_ctx, _cache) => {
87
- return vue.openBlock(), vue.createBlock(vue.Transition, {
88
- name: vue.unref(ns).b("fade"),
89
- onBeforeLeave: _ctx.onClose,
90
- onAfterLeave: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("destroy")),
91
- persisted: ""
92
- }, {
93
- default: vue.withCtx(() => [
94
- vue.withDirectives(vue.createElementVNode("div", {
95
- id: _ctx.id,
96
- ref_key: "messageRef",
97
- ref: messageRef,
98
- class: vue.normalizeClass([
99
- vue.unref(ns).b(),
100
- { [vue.unref(ns).m(_ctx.type)]: _ctx.type },
101
- vue.unref(ns).is("center", _ctx.center),
102
- vue.unref(ns).is("closable", _ctx.showClose),
103
- vue.unref(ns).is("plain", _ctx.plain),
104
- _ctx.customClass
105
- ]),
106
- style: vue.normalizeStyle(vue.unref(customStyle)),
107
- role: "alert",
108
- onMouseenter: clearTimer,
109
- onMouseleave: startTimer
110
- }, [
111
- _ctx.repeatNum > 1 ? (vue.openBlock(), vue.createBlock(vue.unref(index.ElBadge), {
112
- key: 0,
113
- value: _ctx.repeatNum,
114
- type: vue.unref(badgeType),
115
- class: vue.normalizeClass(vue.unref(ns).e("badge"))
116
- }, null, 8, ["value", "type", "class"])) : vue.createCommentVNode("v-if", true),
117
- vue.unref(iconComponent) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
118
- key: 1,
119
- class: vue.normalizeClass([vue.unref(ns).e("icon"), vue.unref(typeClass)])
120
- }, {
121
- default: vue.withCtx(() => [
122
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(iconComponent))))
123
- ]),
124
- _: 1
125
- }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
126
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
127
- !_ctx.dangerouslyUseHTMLString ? (vue.openBlock(), vue.createElementBlock("p", {
128
- key: 0,
129
- class: vue.normalizeClass(vue.unref(ns).e("content"))
130
- }, vue.toDisplayString(_ctx.message), 3)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
131
- vue.createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),
132
- vue.createElementVNode("p", {
133
- class: vue.normalizeClass(vue.unref(ns).e("content")),
134
- innerHTML: _ctx.message
135
- }, null, 10, _hoisted_2)
136
- ], 2112))
137
- ]),
138
- _ctx.showClose ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
139
- key: 2,
140
- class: vue.normalizeClass(vue.unref(ns).e("closeBtn")),
141
- onClick: vue.withModifiers(close, ["stop"])
142
- }, {
143
- default: vue.withCtx(() => [
144
- vue.createVNode(vue.unref(Close))
145
- ]),
146
- _: 1
147
- }, 8, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
148
- ], 46, _hoisted_1), [
149
- [vue.vShow, visible.value]
150
- ])
151
- ]),
152
- _: 3
153
- }, 8, ["name", "onBeforeLeave"]);
154
- };
30
+ const messageProps = runtime.buildProps({
31
+ customClass: {
32
+ type: String,
33
+ default: messageDefaults.customClass
34
+ },
35
+ center: {
36
+ type: Boolean,
37
+ default: messageDefaults.center
38
+ },
39
+ dangerouslyUseHTMLString: {
40
+ type: Boolean,
41
+ default: messageDefaults.dangerouslyUseHTMLString
42
+ },
43
+ duration: {
44
+ type: Number,
45
+ default: messageDefaults.duration
46
+ },
47
+ icon: {
48
+ type: icon.iconPropType,
49
+ default: messageDefaults.icon
50
+ },
51
+ id: {
52
+ type: String,
53
+ default: messageDefaults.id
54
+ },
55
+ message: {
56
+ type: runtime.definePropType([
57
+ String,
58
+ Object,
59
+ Function
60
+ ]),
61
+ default: messageDefaults.message
62
+ },
63
+ onClose: {
64
+ type: runtime.definePropType(Function),
65
+ default: messageDefaults.onClose
66
+ },
67
+ showClose: {
68
+ type: Boolean,
69
+ default: messageDefaults.showClose
70
+ },
71
+ type: {
72
+ type: String,
73
+ values: messageTypes,
74
+ default: messageDefaults.type
75
+ },
76
+ plain: {
77
+ type: Boolean,
78
+ default: messageDefaults.plain
79
+ },
80
+ offset: {
81
+ type: Number,
82
+ default: messageDefaults.offset
83
+ },
84
+ zIndex: {
85
+ type: Number,
86
+ default: messageDefaults.zIndex
87
+ },
88
+ grouping: {
89
+ type: Boolean,
90
+ default: messageDefaults.grouping
91
+ },
92
+ repeatNum: {
93
+ type: Number,
94
+ default: messageDefaults.repeatNum
155
95
  }
156
96
  });
157
- var MessageConstructor = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "message.vue"]]);
97
+ const messageEmits = {
98
+ destroy: () => true
99
+ };
158
100
 
159
- exports["default"] = MessageConstructor;
101
+ exports.messageDefaults = messageDefaults;
102
+ exports.messageEmits = messageEmits;
103
+ exports.messageProps = messageProps;
104
+ exports.messageTypes = messageTypes;
160
105
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sources":["../../../../../../packages/components/message/src/message.vue"],"sourcesContent":["<template>\n <transition\n :name=\"ns.b('fade')\"\n @before-leave=\"onClose\"\n @after-leave=\"$emit('destroy')\"\n >\n <div\n v-show=\"visible\"\n :id=\"id\"\n ref=\"messageRef\"\n :class=\"[\n ns.b(),\n { [ns.m(type)]: type },\n ns.is('center', center),\n ns.is('closable', showClose),\n ns.is('plain', plain),\n customClass,\n ]\"\n :style=\"customStyle\"\n role=\"alert\"\n @mouseenter=\"clearTimer\"\n @mouseleave=\"startTimer\"\n >\n <el-badge\n v-if=\"repeatNum > 1\"\n :value=\"repeatNum\"\n :type=\"badgeType\"\n :class=\"ns.e('badge')\"\n />\n <el-icon v-if=\"iconComponent\" :class=\"[ns.e('icon'), typeClass]\">\n <component :is=\"iconComponent\" />\n </el-icon>\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\" :class=\"ns.e('content')\">\n {{ message }}\n </p>\n <!-- Caution here, message could've been compromised, never use user's input as message -->\n <p v-else :class=\"ns.e('content')\" v-html=\"message\" />\n </slot>\n <el-icon v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n <Close />\n </el-icon>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { useEventListener, useResizeObserver, useTimeoutFn } from '@vueuse/core'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport ElBadge from '@element-plus/components/badge'\nimport { useGlobalComponentSettings } from '@element-plus/components/config-provider'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { messageEmits, messageProps } from './message'\nimport { getLastOffset, getOffsetOrSpace } from './instance'\nimport type { BadgeProps } from '@element-plus/components/badge'\nimport type { CSSProperties } from 'vue'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n name: 'ElMessage',\n})\n\nconst props = defineProps(messageProps)\ndefineEmits(messageEmits)\n\nconst { ns, zIndex } = useGlobalComponentSettings('message')\nconst { currentZIndex, nextZIndex } = zIndex\n\nconst messageRef = ref<HTMLDivElement>()\nconst visible = ref(false)\nconst height = ref(0)\n\nlet stopTimer: (() => void) | undefined = undefined\n\nconst badgeType = computed<BadgeProps['type']>(() =>\n props.type ? (props.type === 'error' ? 'danger' : props.type) : 'info'\n)\nconst typeClass = computed(() => {\n const type = props.type\n return { [ns.bm('icon', type)]: type && TypeComponentsMap[type] }\n})\nconst iconComponent = computed(\n () => props.icon || TypeComponentsMap[props.type] || ''\n)\n\nconst lastOffset = computed(() => getLastOffset(props.id))\nconst offset = computed(\n () => getOffsetOrSpace(props.id, props.offset) + lastOffset.value\n)\nconst bottom = computed((): number => height.value + offset.value)\nconst customStyle = computed<CSSProperties>(() => ({\n top: `${offset.value}px`,\n zIndex: currentZIndex.value,\n}))\n\nfunction startTimer() {\n if (props.duration === 0) return\n ;({ stop: stopTimer } = useTimeoutFn(() => {\n close()\n }, props.duration))\n}\n\nfunction clearTimer() {\n stopTimer?.()\n}\n\nfunction close() {\n visible.value = false\n}\n\nfunction keydown({ code }: KeyboardEvent) {\n if (code === EVENT_CODE.esc) {\n // press esc to close the message\n close()\n }\n}\n\nonMounted(() => {\n startTimer()\n nextZIndex()\n visible.value = true\n})\n\nwatch(\n () => props.repeatNum,\n () => {\n clearTimer()\n startTimer()\n }\n)\n\nuseEventListener(document, 'keydown', keydown)\n\nuseResizeObserver(messageRef, () => {\n height.value = messageRef.value!.getBoundingClientRect().height\n})\n\ndefineExpose({\n visible,\n bottom,\n close,\n})\n</script>\n"],"names":["TypeComponents","useGlobalComponentSettings","ref","computed","TypeComponentsMap","getLastOffset","getOffsetOrSpace","useTimeoutFn","EVENT_CODE","onMounted","watch","useEventListener","useResizeObserver"],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isClient,\n mutable,\n} from '@element-plus/utils'\nimport type { AppContext, ExtractPropTypes, VNode } from 'vue'\nimport type { Mutable } from '@element-plus/utils'\nimport type MessageConstructor from './message.vue'\n\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const\n\nexport type messageType = typeof messageTypes[number]\n\nexport interface MessageConfigContext {\n max?: number\n}\n\nexport const messageDefaults = mutable({\n customClass: '',\n center: false,\n dangerouslyUseHTMLString: false,\n duration: 3000,\n icon: undefined,\n id: '',\n message: '',\n onClose: undefined,\n showClose: false,\n type: 'info',\n plain: false,\n offset: 16,\n zIndex: 0,\n grouping: false,\n repeatNum: 1,\n appendTo: isClient ? document.body : (undefined as never),\n} as const)\n\nexport const messageProps = buildProps({\n /**\n * @description custom class name for Message\n */\n customClass: {\n type: String,\n default: messageDefaults.customClass,\n },\n /**\n * @description whether to center the text\n */\n center: {\n type: Boolean,\n default: messageDefaults.center,\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: messageDefaults.dangerouslyUseHTMLString,\n },\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration: {\n type: Number,\n default: messageDefaults.duration,\n },\n /**\n * @description custom icon component, overrides `type`\n */\n icon: {\n type: iconPropType,\n default: messageDefaults.icon,\n },\n /**\n * @description message dom id\n */\n id: {\n type: String,\n default: messageDefaults.id,\n },\n /**\n * @description message text\n */\n message: {\n type: definePropType<string | VNode | (() => VNode)>([\n String,\n Object,\n Function,\n ]),\n default: messageDefaults.message,\n },\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose: {\n type: definePropType<() => void>(Function),\n default: messageDefaults.onClose,\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: messageDefaults.showClose,\n },\n /**\n * @description message type\n */\n type: {\n type: String,\n values: messageTypes,\n default: messageDefaults.type,\n },\n /**\n * @description whether message is plain\n */\n plain: {\n type: Boolean,\n default: messageDefaults.plain,\n },\n /**\n * @description set the distance to the top of viewport\n */\n offset: {\n type: Number,\n default: messageDefaults.offset,\n },\n /**\n * @description input box size\n */\n zIndex: {\n type: Number,\n default: messageDefaults.zIndex,\n },\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping: {\n type: Boolean,\n default: messageDefaults.grouping,\n },\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum: {\n type: Number,\n default: messageDefaults.repeatNum,\n },\n} as const)\nexport type MessageProps = ExtractPropTypes<typeof messageProps>\n\nexport const messageEmits = {\n destroy: () => true,\n}\nexport type MessageEmits = typeof messageEmits\n\nexport type MessageInstance = InstanceType<typeof MessageConstructor>\n\nexport type MessageOptions = Partial<\n Mutable<\n Omit<MessageProps, 'id'> & {\n appendTo?: HTMLElement | string\n }\n >\n>\nexport type MessageParams = MessageOptions | MessageOptions['message']\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n /**\n * @description set the root element for the message, default to `document.body`\n */\n appendTo: HTMLElement\n}\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>\nexport type MessageParamsWithType =\n | MessageOptionsWithType\n | MessageOptions['message']\n\nexport interface MessageHandler {\n /**\n * @description close the Message\n */\n close: () => void\n}\n\nexport type MessageFn = {\n (options?: MessageParams, appContext?: null | AppContext): MessageHandler\n closeAll(type?: messageType): void\n}\nexport type MessageTypedFn = (\n options?: MessageParamsWithType,\n appContext?: null | AppContext\n) => MessageHandler\n\nexport interface Message extends MessageFn {\n success: MessageTypedFn\n warning: MessageTypedFn\n info: MessageTypedFn\n error: MessageTypedFn\n}\n"],"names":["mutable","isClient","buildProps","iconPropType","definePropType"],"mappings":"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"}
@@ -2,104 +2,159 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var typescript = require('../../../utils/typescript.js');
5
+ var vue = require('vue');
7
6
  var core = require('@vueuse/core');
8
- var runtime = require('../../../utils/vue/props/runtime.js');
7
+ require('../../../utils/index.js');
8
+ require('../../../constants/index.js');
9
+ var index = require('../../badge/index.js');
10
+ require('../../config-provider/index.js');
11
+ var index$1 = require('../../icon/index.js');
12
+ var message = require('./message.js');
13
+ var instance = require('./instance.js');
14
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
15
  var icon = require('../../../utils/vue/icon.js');
16
+ var useGlobalConfig = require('../../config-provider/src/hooks/use-global-config.js');
17
+ var aria = require('../../../constants/aria.js');
10
18
 
11
- const messageTypes = ["success", "info", "warning", "error"];
12
- const messageDefaults = typescript.mutable({
13
- customClass: "",
14
- center: false,
15
- dangerouslyUseHTMLString: false,
16
- duration: 3e3,
17
- icon: void 0,
18
- id: "",
19
- message: "",
20
- onClose: void 0,
21
- showClose: false,
22
- type: "info",
23
- plain: false,
24
- offset: 16,
25
- zIndex: 0,
26
- grouping: false,
27
- repeatNum: 1,
28
- appendTo: core.isClient ? document.body : void 0
19
+ const _hoisted_1 = ["id"];
20
+ const _hoisted_2 = ["innerHTML"];
21
+ const __default__ = vue.defineComponent({
22
+ name: "ElMessage"
29
23
  });
30
- const messageProps = runtime.buildProps({
31
- customClass: {
32
- type: String,
33
- default: messageDefaults.customClass
34
- },
35
- center: {
36
- type: Boolean,
37
- default: messageDefaults.center
38
- },
39
- dangerouslyUseHTMLString: {
40
- type: Boolean,
41
- default: messageDefaults.dangerouslyUseHTMLString
42
- },
43
- duration: {
44
- type: Number,
45
- default: messageDefaults.duration
46
- },
47
- icon: {
48
- type: icon.iconPropType,
49
- default: messageDefaults.icon
50
- },
51
- id: {
52
- type: String,
53
- default: messageDefaults.id
54
- },
55
- message: {
56
- type: runtime.definePropType([
57
- String,
58
- Object,
59
- Function
60
- ]),
61
- default: messageDefaults.message
62
- },
63
- onClose: {
64
- type: runtime.definePropType(Function),
65
- default: messageDefaults.onClose
66
- },
67
- showClose: {
68
- type: Boolean,
69
- default: messageDefaults.showClose
70
- },
71
- type: {
72
- type: String,
73
- values: messageTypes,
74
- default: messageDefaults.type
75
- },
76
- plain: {
77
- type: Boolean,
78
- default: messageDefaults.plain
79
- },
80
- offset: {
81
- type: Number,
82
- default: messageDefaults.offset
83
- },
84
- zIndex: {
85
- type: Number,
86
- default: messageDefaults.zIndex
87
- },
88
- grouping: {
89
- type: Boolean,
90
- default: messageDefaults.grouping
91
- },
92
- repeatNum: {
93
- type: Number,
94
- default: messageDefaults.repeatNum
24
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
25
+ ...__default__,
26
+ props: message.messageProps,
27
+ emits: message.messageEmits,
28
+ setup(__props, { expose }) {
29
+ const props = __props;
30
+ const { Close } = icon.TypeComponents;
31
+ const { ns, zIndex } = useGlobalConfig.useGlobalComponentSettings("message");
32
+ const { currentZIndex, nextZIndex } = zIndex;
33
+ const messageRef = vue.ref();
34
+ const visible = vue.ref(false);
35
+ const height = vue.ref(0);
36
+ let stopTimer = void 0;
37
+ const badgeType = vue.computed(() => props.type ? props.type === "error" ? "danger" : props.type : "info");
38
+ const typeClass = vue.computed(() => {
39
+ const type = props.type;
40
+ return { [ns.bm("icon", type)]: type && icon.TypeComponentsMap[type] };
41
+ });
42
+ const iconComponent = vue.computed(() => props.icon || icon.TypeComponentsMap[props.type] || "");
43
+ const lastOffset = vue.computed(() => instance.getLastOffset(props.id));
44
+ const offset = vue.computed(() => instance.getOffsetOrSpace(props.id, props.offset) + lastOffset.value);
45
+ const bottom = vue.computed(() => height.value + offset.value);
46
+ const customStyle = vue.computed(() => ({
47
+ top: `${offset.value}px`,
48
+ zIndex: currentZIndex.value
49
+ }));
50
+ function startTimer() {
51
+ if (props.duration === 0)
52
+ return;
53
+ ({ stop: stopTimer } = core.useTimeoutFn(() => {
54
+ close();
55
+ }, props.duration));
56
+ }
57
+ function clearTimer() {
58
+ stopTimer == null ? void 0 : stopTimer();
59
+ }
60
+ function close() {
61
+ visible.value = false;
62
+ }
63
+ function keydown({ code }) {
64
+ if (code === aria.EVENT_CODE.esc) {
65
+ close();
66
+ }
67
+ }
68
+ vue.onMounted(() => {
69
+ startTimer();
70
+ nextZIndex();
71
+ visible.value = true;
72
+ });
73
+ vue.watch(() => props.repeatNum, () => {
74
+ clearTimer();
75
+ startTimer();
76
+ });
77
+ core.useEventListener(document, "keydown", keydown);
78
+ core.useResizeObserver(messageRef, () => {
79
+ height.value = messageRef.value.getBoundingClientRect().height;
80
+ });
81
+ expose({
82
+ visible,
83
+ bottom,
84
+ close
85
+ });
86
+ return (_ctx, _cache) => {
87
+ return vue.openBlock(), vue.createBlock(vue.Transition, {
88
+ name: vue.unref(ns).b("fade"),
89
+ onBeforeLeave: _ctx.onClose,
90
+ onAfterLeave: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("destroy")),
91
+ persisted: ""
92
+ }, {
93
+ default: vue.withCtx(() => [
94
+ vue.withDirectives(vue.createElementVNode("div", {
95
+ id: _ctx.id,
96
+ ref_key: "messageRef",
97
+ ref: messageRef,
98
+ class: vue.normalizeClass([
99
+ vue.unref(ns).b(),
100
+ { [vue.unref(ns).m(_ctx.type)]: _ctx.type },
101
+ vue.unref(ns).is("center", _ctx.center),
102
+ vue.unref(ns).is("closable", _ctx.showClose),
103
+ vue.unref(ns).is("plain", _ctx.plain),
104
+ _ctx.customClass
105
+ ]),
106
+ style: vue.normalizeStyle(vue.unref(customStyle)),
107
+ role: "alert",
108
+ onMouseenter: clearTimer,
109
+ onMouseleave: startTimer
110
+ }, [
111
+ _ctx.repeatNum > 1 ? (vue.openBlock(), vue.createBlock(vue.unref(index.ElBadge), {
112
+ key: 0,
113
+ value: _ctx.repeatNum,
114
+ type: vue.unref(badgeType),
115
+ class: vue.normalizeClass(vue.unref(ns).e("badge"))
116
+ }, null, 8, ["value", "type", "class"])) : vue.createCommentVNode("v-if", true),
117
+ vue.unref(iconComponent) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
118
+ key: 1,
119
+ class: vue.normalizeClass([vue.unref(ns).e("icon"), vue.unref(typeClass)])
120
+ }, {
121
+ default: vue.withCtx(() => [
122
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(iconComponent))))
123
+ ]),
124
+ _: 1
125
+ }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
126
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
127
+ !_ctx.dangerouslyUseHTMLString ? (vue.openBlock(), vue.createElementBlock("p", {
128
+ key: 0,
129
+ class: vue.normalizeClass(vue.unref(ns).e("content"))
130
+ }, vue.toDisplayString(_ctx.message), 3)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
131
+ vue.createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),
132
+ vue.createElementVNode("p", {
133
+ class: vue.normalizeClass(vue.unref(ns).e("content")),
134
+ innerHTML: _ctx.message
135
+ }, null, 10, _hoisted_2)
136
+ ], 2112))
137
+ ]),
138
+ _ctx.showClose ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
139
+ key: 2,
140
+ class: vue.normalizeClass(vue.unref(ns).e("closeBtn")),
141
+ onClick: vue.withModifiers(close, ["stop"])
142
+ }, {
143
+ default: vue.withCtx(() => [
144
+ vue.createVNode(vue.unref(Close))
145
+ ]),
146
+ _: 1
147
+ }, 8, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
148
+ ], 46, _hoisted_1), [
149
+ [vue.vShow, visible.value]
150
+ ])
151
+ ]),
152
+ _: 3
153
+ }, 8, ["name", "onBeforeLeave"]);
154
+ };
95
155
  }
96
156
  });
97
- const messageEmits = {
98
- destroy: () => true
99
- };
157
+ var MessageConstructor = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "message.vue"]]);
100
158
 
101
- exports.messageDefaults = messageDefaults;
102
- exports.messageEmits = messageEmits;
103
- exports.messageProps = messageProps;
104
- exports.messageTypes = messageTypes;
159
+ exports["default"] = MessageConstructor;
105
160
  //# sourceMappingURL=message2.js.map