@element-plus/nightly 0.0.20230412 → 0.0.20230413

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 (294) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +7 -3
  4. package/dist/index.full.min.js +4 -4
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +4 -4
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +7 -3
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/ckb.js +1 -1
  34. package/dist/locale/ckb.min.js +1 -1
  35. package/dist/locale/ckb.min.mjs +1 -1
  36. package/dist/locale/ckb.mjs +1 -1
  37. package/dist/locale/cs.js +1 -1
  38. package/dist/locale/cs.min.js +1 -1
  39. package/dist/locale/cs.min.mjs +1 -1
  40. package/dist/locale/cs.mjs +1 -1
  41. package/dist/locale/da.js +1 -1
  42. package/dist/locale/da.min.js +1 -1
  43. package/dist/locale/da.min.mjs +1 -1
  44. package/dist/locale/da.mjs +1 -1
  45. package/dist/locale/de.js +1 -1
  46. package/dist/locale/de.min.js +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +1 -1
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.mjs +1 -1
  52. package/dist/locale/el.mjs +1 -1
  53. package/dist/locale/en.js +1 -1
  54. package/dist/locale/en.min.js +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +1 -1
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.mjs +1 -1
  60. package/dist/locale/eo.mjs +1 -1
  61. package/dist/locale/es.js +1 -1
  62. package/dist/locale/es.min.js +1 -1
  63. package/dist/locale/es.min.mjs +1 -1
  64. package/dist/locale/es.mjs +1 -1
  65. package/dist/locale/et.js +1 -1
  66. package/dist/locale/et.min.js +1 -1
  67. package/dist/locale/et.min.mjs +1 -1
  68. package/dist/locale/et.mjs +1 -1
  69. package/dist/locale/eu.js +1 -1
  70. package/dist/locale/eu.min.js +1 -1
  71. package/dist/locale/eu.min.mjs +1 -1
  72. package/dist/locale/eu.mjs +1 -1
  73. package/dist/locale/fa.js +1 -1
  74. package/dist/locale/fa.min.js +1 -1
  75. package/dist/locale/fa.min.mjs +1 -1
  76. package/dist/locale/fa.mjs +1 -1
  77. package/dist/locale/fi.js +1 -1
  78. package/dist/locale/fi.min.js +1 -1
  79. package/dist/locale/fi.min.mjs +1 -1
  80. package/dist/locale/fi.mjs +1 -1
  81. package/dist/locale/fr.js +1 -1
  82. package/dist/locale/fr.min.js +1 -1
  83. package/dist/locale/fr.min.mjs +1 -1
  84. package/dist/locale/fr.mjs +1 -1
  85. package/dist/locale/he.js +1 -1
  86. package/dist/locale/he.min.js +1 -1
  87. package/dist/locale/he.min.mjs +1 -1
  88. package/dist/locale/he.mjs +1 -1
  89. package/dist/locale/hr.js +1 -1
  90. package/dist/locale/hr.min.js +1 -1
  91. package/dist/locale/hr.min.mjs +1 -1
  92. package/dist/locale/hr.mjs +1 -1
  93. package/dist/locale/hu.js +1 -1
  94. package/dist/locale/hu.min.js +1 -1
  95. package/dist/locale/hu.min.mjs +1 -1
  96. package/dist/locale/hu.mjs +1 -1
  97. package/dist/locale/hy-am.js +1 -1
  98. package/dist/locale/hy-am.min.js +1 -1
  99. package/dist/locale/hy-am.min.mjs +1 -1
  100. package/dist/locale/hy-am.mjs +1 -1
  101. package/dist/locale/id.js +1 -1
  102. package/dist/locale/id.min.js +1 -1
  103. package/dist/locale/id.min.mjs +1 -1
  104. package/dist/locale/id.mjs +1 -1
  105. package/dist/locale/it.js +1 -1
  106. package/dist/locale/it.min.js +1 -1
  107. package/dist/locale/it.min.mjs +1 -1
  108. package/dist/locale/it.mjs +1 -1
  109. package/dist/locale/ja.js +1 -1
  110. package/dist/locale/ja.min.js +1 -1
  111. package/dist/locale/ja.min.mjs +1 -1
  112. package/dist/locale/ja.mjs +1 -1
  113. package/dist/locale/kk.js +1 -1
  114. package/dist/locale/kk.min.js +1 -1
  115. package/dist/locale/kk.min.mjs +1 -1
  116. package/dist/locale/kk.mjs +1 -1
  117. package/dist/locale/km.js +1 -1
  118. package/dist/locale/km.min.js +1 -1
  119. package/dist/locale/km.min.mjs +1 -1
  120. package/dist/locale/km.mjs +1 -1
  121. package/dist/locale/ko.js +1 -1
  122. package/dist/locale/ko.min.js +1 -1
  123. package/dist/locale/ko.min.mjs +1 -1
  124. package/dist/locale/ko.mjs +1 -1
  125. package/dist/locale/ku.js +1 -1
  126. package/dist/locale/ku.min.js +1 -1
  127. package/dist/locale/ku.min.mjs +1 -1
  128. package/dist/locale/ku.mjs +1 -1
  129. package/dist/locale/ky.js +1 -1
  130. package/dist/locale/ky.min.js +1 -1
  131. package/dist/locale/ky.min.mjs +1 -1
  132. package/dist/locale/ky.mjs +1 -1
  133. package/dist/locale/lt.js +1 -1
  134. package/dist/locale/lt.min.js +1 -1
  135. package/dist/locale/lt.min.mjs +1 -1
  136. package/dist/locale/lt.mjs +1 -1
  137. package/dist/locale/lv.js +1 -1
  138. package/dist/locale/lv.min.js +1 -1
  139. package/dist/locale/lv.min.mjs +1 -1
  140. package/dist/locale/lv.mjs +1 -1
  141. package/dist/locale/mg.js +1 -1
  142. package/dist/locale/mg.min.js +1 -1
  143. package/dist/locale/mg.min.mjs +1 -1
  144. package/dist/locale/mg.mjs +1 -1
  145. package/dist/locale/mn.js +1 -1
  146. package/dist/locale/mn.min.js +1 -1
  147. package/dist/locale/mn.min.mjs +1 -1
  148. package/dist/locale/mn.mjs +1 -1
  149. package/dist/locale/nb-no.js +1 -1
  150. package/dist/locale/nb-no.min.js +1 -1
  151. package/dist/locale/nb-no.min.mjs +1 -1
  152. package/dist/locale/nb-no.mjs +1 -1
  153. package/dist/locale/nl.js +1 -1
  154. package/dist/locale/nl.min.js +1 -1
  155. package/dist/locale/nl.min.mjs +1 -1
  156. package/dist/locale/nl.mjs +1 -1
  157. package/dist/locale/pa.js +1 -1
  158. package/dist/locale/pa.min.js +1 -1
  159. package/dist/locale/pa.min.mjs +1 -1
  160. package/dist/locale/pa.mjs +1 -1
  161. package/dist/locale/pl.js +1 -1
  162. package/dist/locale/pl.min.js +1 -1
  163. package/dist/locale/pl.min.mjs +1 -1
  164. package/dist/locale/pl.mjs +1 -1
  165. package/dist/locale/pt-br.js +1 -1
  166. package/dist/locale/pt-br.min.js +1 -1
  167. package/dist/locale/pt-br.min.mjs +1 -1
  168. package/dist/locale/pt-br.mjs +1 -1
  169. package/dist/locale/pt.js +1 -1
  170. package/dist/locale/pt.min.js +1 -1
  171. package/dist/locale/pt.min.mjs +1 -1
  172. package/dist/locale/pt.mjs +1 -1
  173. package/dist/locale/ro.js +1 -1
  174. package/dist/locale/ro.min.js +1 -1
  175. package/dist/locale/ro.min.mjs +1 -1
  176. package/dist/locale/ro.mjs +1 -1
  177. package/dist/locale/ru.js +1 -1
  178. package/dist/locale/ru.min.js +1 -1
  179. package/dist/locale/ru.min.mjs +1 -1
  180. package/dist/locale/ru.mjs +1 -1
  181. package/dist/locale/sk.js +1 -1
  182. package/dist/locale/sk.min.js +1 -1
  183. package/dist/locale/sk.min.mjs +1 -1
  184. package/dist/locale/sk.mjs +1 -1
  185. package/dist/locale/sl.js +1 -1
  186. package/dist/locale/sl.min.js +1 -1
  187. package/dist/locale/sl.min.mjs +1 -1
  188. package/dist/locale/sl.mjs +1 -1
  189. package/dist/locale/sr.js +1 -1
  190. package/dist/locale/sr.min.js +1 -1
  191. package/dist/locale/sr.min.mjs +1 -1
  192. package/dist/locale/sr.mjs +1 -1
  193. package/dist/locale/sv.js +1 -1
  194. package/dist/locale/sv.min.js +1 -1
  195. package/dist/locale/sv.min.mjs +1 -1
  196. package/dist/locale/sv.mjs +1 -1
  197. package/dist/locale/ta.js +1 -1
  198. package/dist/locale/ta.min.js +1 -1
  199. package/dist/locale/ta.min.mjs +1 -1
  200. package/dist/locale/ta.mjs +1 -1
  201. package/dist/locale/th.js +1 -1
  202. package/dist/locale/th.min.js +1 -1
  203. package/dist/locale/th.min.mjs +1 -1
  204. package/dist/locale/th.mjs +1 -1
  205. package/dist/locale/tk.js +1 -1
  206. package/dist/locale/tk.min.js +1 -1
  207. package/dist/locale/tk.min.mjs +1 -1
  208. package/dist/locale/tk.mjs +1 -1
  209. package/dist/locale/tr.js +1 -1
  210. package/dist/locale/tr.min.js +1 -1
  211. package/dist/locale/tr.min.mjs +1 -1
  212. package/dist/locale/tr.mjs +1 -1
  213. package/dist/locale/ug-cn.js +1 -1
  214. package/dist/locale/ug-cn.min.js +1 -1
  215. package/dist/locale/ug-cn.min.mjs +1 -1
  216. package/dist/locale/ug-cn.mjs +1 -1
  217. package/dist/locale/uk.js +1 -1
  218. package/dist/locale/uk.min.js +1 -1
  219. package/dist/locale/uk.min.mjs +1 -1
  220. package/dist/locale/uk.mjs +1 -1
  221. package/dist/locale/uz-uz.js +1 -1
  222. package/dist/locale/uz-uz.min.js +1 -1
  223. package/dist/locale/uz-uz.min.mjs +1 -1
  224. package/dist/locale/uz-uz.mjs +1 -1
  225. package/dist/locale/vi.js +1 -1
  226. package/dist/locale/vi.min.js +1 -1
  227. package/dist/locale/vi.min.mjs +1 -1
  228. package/dist/locale/vi.mjs +1 -1
  229. package/dist/locale/zh-cn.js +1 -1
  230. package/dist/locale/zh-cn.min.js +1 -1
  231. package/dist/locale/zh-cn.min.mjs +1 -1
  232. package/dist/locale/zh-cn.mjs +1 -1
  233. package/dist/locale/zh-tw.js +1 -1
  234. package/dist/locale/zh-tw.min.js +1 -1
  235. package/dist/locale/zh-tw.min.mjs +1 -1
  236. package/dist/locale/zh-tw.mjs +1 -1
  237. package/es/components/alert/index.mjs +2 -2
  238. package/es/components/alert/src/alert.mjs +36 -96
  239. package/es/components/alert/src/alert.mjs.map +1 -1
  240. package/es/components/alert/src/alert2.mjs +96 -36
  241. package/es/components/alert/src/alert2.mjs.map +1 -1
  242. package/es/components/index.mjs +2 -2
  243. package/es/components/notification/index.mjs +1 -1
  244. package/es/components/notification/src/notification.mjs +69 -147
  245. package/es/components/notification/src/notification.mjs.map +1 -1
  246. package/es/components/notification/src/notification2.mjs +147 -69
  247. package/es/components/notification/src/notification2.mjs.map +1 -1
  248. package/es/components/notification/src/notify.mjs +2 -2
  249. package/es/components/progress/index.d.ts +8 -0
  250. package/es/components/progress/src/progress.d.ts +2 -0
  251. package/es/components/progress/src/progress.mjs +2 -0
  252. package/es/components/progress/src/progress.mjs.map +1 -1
  253. package/es/components/progress/src/progress.vue.d.ts +8 -0
  254. package/es/components/progress/src/progress2.mjs +3 -1
  255. package/es/components/progress/src/progress2.mjs.map +1 -1
  256. package/es/components/upload/index.d.ts +8 -0
  257. package/es/components/upload/src/upload-list.vue.d.ts +8 -0
  258. package/es/components/upload/src/upload.vue.d.ts +8 -0
  259. package/es/index.mjs +2 -2
  260. package/es/version.d.ts +1 -1
  261. package/es/version.mjs +1 -1
  262. package/es/version.mjs.map +1 -1
  263. package/lib/components/alert/index.js +2 -2
  264. package/lib/components/alert/src/alert.js +37 -95
  265. package/lib/components/alert/src/alert.js.map +1 -1
  266. package/lib/components/alert/src/alert2.js +95 -37
  267. package/lib/components/alert/src/alert2.js.map +1 -1
  268. package/lib/components/index.js +2 -2
  269. package/lib/components/notification/index.js +1 -1
  270. package/lib/components/notification/src/notification.js +70 -146
  271. package/lib/components/notification/src/notification.js.map +1 -1
  272. package/lib/components/notification/src/notification2.js +146 -70
  273. package/lib/components/notification/src/notification2.js.map +1 -1
  274. package/lib/components/notification/src/notify.js +2 -2
  275. package/lib/components/progress/index.d.ts +8 -0
  276. package/lib/components/progress/src/progress.d.ts +2 -0
  277. package/lib/components/progress/src/progress.js +2 -0
  278. package/lib/components/progress/src/progress.js.map +1 -1
  279. package/lib/components/progress/src/progress.vue.d.ts +8 -0
  280. package/lib/components/progress/src/progress2.js +3 -1
  281. package/lib/components/progress/src/progress2.js.map +1 -1
  282. package/lib/components/upload/index.d.ts +8 -0
  283. package/lib/components/upload/src/upload-list.vue.d.ts +8 -0
  284. package/lib/components/upload/src/upload.vue.d.ts +8 -0
  285. package/lib/index.js +2 -2
  286. package/lib/version.d.ts +1 -1
  287. package/lib/version.js +1 -1
  288. package/lib/version.js.map +1 -1
  289. package/package.json +2 -2
  290. package/tags.json +1 -1
  291. package/theme-chalk/el-progress.css +1 -1
  292. package/theme-chalk/index.css +1 -1
  293. package/theme-chalk/src/progress.scss +18 -0
  294. package/web-types.json +1 -1
@@ -1,153 +1,75 @@
1
- import { defineComponent, ref, computed, onMounted, openBlock, createBlock, Transition, unref, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, resolveDynamicComponent, createCommentVNode, toDisplayString, renderSlot, createElementBlock, Fragment, vShow, withModifiers, createVNode } from 'vue';
2
- import { useTimeoutFn, useEventListener } from '@vueuse/core';
3
1
  import '../../../utils/index.mjs';
4
- import '../../../constants/index.mjs';
5
- import { ElIcon } from '../../icon/index.mjs';
6
- import '../../config-provider/index.mjs';
7
- import { notificationProps, notificationEmits } from './notification2.mjs';
8
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
- import { useGlobalComponentSettings } from '../../config-provider/src/hooks/use-global-config.mjs';
10
- import { CloseComponents, TypeComponentsMap } from '../../../utils/vue/icon.mjs';
11
- import { EVENT_CODE } from '../../../constants/aria.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
+ import { iconPropType } from '../../../utils/vue/icon.mjs';
12
4
 
13
- const _hoisted_1 = ["id"];
14
- const _hoisted_2 = ["textContent"];
15
- const _hoisted_3 = { key: 0 };
16
- const _hoisted_4 = ["innerHTML"];
17
- const __default__ = defineComponent({
18
- name: "ElNotification"
19
- });
20
- const _sfc_main = /* @__PURE__ */ defineComponent({
21
- ...__default__,
22
- props: notificationProps,
23
- emits: notificationEmits,
24
- setup(__props, { expose }) {
25
- const props = __props;
26
- const { ns, zIndex } = useGlobalComponentSettings("notification");
27
- const { nextZIndex, currentZIndex } = zIndex;
28
- const { Close } = CloseComponents;
29
- const visible = ref(false);
30
- let timer = void 0;
31
- const typeClass = computed(() => {
32
- const type = props.type;
33
- return type && TypeComponentsMap[props.type] ? ns.m(type) : "";
34
- });
35
- const iconComponent = computed(() => {
36
- if (!props.type)
37
- return props.icon;
38
- return TypeComponentsMap[props.type] || props.icon;
39
- });
40
- const horizontalClass = computed(() => props.position.endsWith("right") ? "right" : "left");
41
- const verticalProperty = computed(() => props.position.startsWith("top") ? "top" : "bottom");
42
- const positionStyle = computed(() => {
43
- return {
44
- [verticalProperty.value]: `${props.offset}px`,
45
- zIndex: currentZIndex.value
46
- };
47
- });
48
- function startTimer() {
49
- if (props.duration > 0) {
50
- ;
51
- ({ stop: timer } = useTimeoutFn(() => {
52
- if (visible.value)
53
- close();
54
- }, props.duration));
55
- }
56
- }
57
- function clearTimer() {
58
- timer == null ? void 0 : timer();
59
- }
60
- function close() {
61
- visible.value = false;
62
- }
63
- function onKeydown({ code }) {
64
- if (code === EVENT_CODE.delete || code === EVENT_CODE.backspace) {
65
- clearTimer();
66
- } else if (code === EVENT_CODE.esc) {
67
- if (visible.value) {
68
- close();
69
- }
70
- } else {
71
- startTimer();
72
- }
73
- }
74
- onMounted(() => {
75
- startTimer();
76
- nextZIndex();
77
- visible.value = true;
78
- });
79
- useEventListener(document, "keydown", onKeydown);
80
- expose({
81
- visible,
82
- close
83
- });
84
- return (_ctx, _cache) => {
85
- return openBlock(), createBlock(Transition, {
86
- name: unref(ns).b("fade"),
87
- onBeforeLeave: _ctx.onClose,
88
- onAfterLeave: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("destroy")),
89
- persisted: ""
90
- }, {
91
- default: withCtx(() => [
92
- withDirectives(createElementVNode("div", {
93
- id: _ctx.id,
94
- class: normalizeClass([unref(ns).b(), _ctx.customClass, unref(horizontalClass)]),
95
- style: normalizeStyle(unref(positionStyle)),
96
- role: "alert",
97
- onMouseenter: clearTimer,
98
- onMouseleave: startTimer,
99
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
100
- }, [
101
- unref(iconComponent) ? (openBlock(), createBlock(unref(ElIcon), {
102
- key: 0,
103
- class: normalizeClass([unref(ns).e("icon"), unref(typeClass)])
104
- }, {
105
- default: withCtx(() => [
106
- (openBlock(), createBlock(resolveDynamicComponent(unref(iconComponent))))
107
- ]),
108
- _: 1
109
- }, 8, ["class"])) : createCommentVNode("v-if", true),
110
- createElementVNode("div", {
111
- class: normalizeClass(unref(ns).e("group"))
112
- }, [
113
- createElementVNode("h2", {
114
- class: normalizeClass(unref(ns).e("title")),
115
- textContent: toDisplayString(_ctx.title)
116
- }, null, 10, _hoisted_2),
117
- withDirectives(createElementVNode("div", {
118
- class: normalizeClass(unref(ns).e("content")),
119
- style: normalizeStyle(!!_ctx.title ? void 0 : { margin: 0 })
120
- }, [
121
- renderSlot(_ctx.$slots, "default", {}, () => [
122
- !_ctx.dangerouslyUseHTMLString ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(_ctx.message), 1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
123
- createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),
124
- createElementVNode("p", { innerHTML: _ctx.message }, null, 8, _hoisted_4)
125
- ], 2112))
126
- ])
127
- ], 6), [
128
- [vShow, _ctx.message]
129
- ]),
130
- _ctx.showClose ? (openBlock(), createBlock(unref(ElIcon), {
131
- key: 0,
132
- class: normalizeClass(unref(ns).e("closeBtn")),
133
- onClick: withModifiers(close, ["stop"])
134
- }, {
135
- default: withCtx(() => [
136
- createVNode(unref(Close))
137
- ]),
138
- _: 1
139
- }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true)
140
- ], 2)
141
- ], 46, _hoisted_1), [
142
- [vShow, visible.value]
143
- ])
144
- ]),
145
- _: 3
146
- }, 8, ["name", "onBeforeLeave"]);
147
- };
5
+ const notificationTypes = [
6
+ "success",
7
+ "info",
8
+ "warning",
9
+ "error"
10
+ ];
11
+ const notificationProps = buildProps({
12
+ customClass: {
13
+ type: String,
14
+ default: ""
15
+ },
16
+ dangerouslyUseHTMLString: {
17
+ type: Boolean,
18
+ default: false
19
+ },
20
+ duration: {
21
+ type: Number,
22
+ default: 4500
23
+ },
24
+ icon: {
25
+ type: iconPropType
26
+ },
27
+ id: {
28
+ type: String,
29
+ default: ""
30
+ },
31
+ message: {
32
+ type: definePropType([String, Object]),
33
+ default: ""
34
+ },
35
+ offset: {
36
+ type: Number,
37
+ default: 0
38
+ },
39
+ onClick: {
40
+ type: definePropType(Function),
41
+ default: () => void 0
42
+ },
43
+ onClose: {
44
+ type: definePropType(Function),
45
+ required: true
46
+ },
47
+ position: {
48
+ type: String,
49
+ values: ["top-right", "top-left", "bottom-right", "bottom-left"],
50
+ default: "top-right"
51
+ },
52
+ showClose: {
53
+ type: Boolean,
54
+ default: true
55
+ },
56
+ title: {
57
+ type: String,
58
+ default: ""
59
+ },
60
+ type: {
61
+ type: String,
62
+ values: [...notificationTypes, ""],
63
+ default: ""
64
+ },
65
+ zIndex: {
66
+ type: Number,
67
+ default: 0
148
68
  }
149
69
  });
150
- var NotificationConstructor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/notification/src/notification.vue"]]);
70
+ const notificationEmits = {
71
+ destroy: () => true
72
+ };
151
73
 
152
- export { NotificationConstructor as default };
74
+ export { notificationEmits, notificationProps, notificationTypes };
153
75
  //# sourceMappingURL=notification.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.mjs","sources":["../../../../../../packages/components/notification/src/notification.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 :class=\"[ns.b(), customClass, horizontalClass]\"\n :style=\"positionStyle\"\n role=\"alert\"\n @mouseenter=\"clearTimer\"\n @mouseleave=\"startTimer\"\n @click=\"onClick\"\n >\n <el-icon v-if=\"iconComponent\" :class=\"[ns.e('icon'), typeClass]\">\n <component :is=\"iconComponent\" />\n </el-icon>\n <div :class=\"ns.e('group')\">\n <h2 :class=\"ns.e('title')\" v-text=\"title\" />\n <div\n v-show=\"message\"\n :class=\"ns.e('content')\"\n :style=\"!!title ? undefined : { margin: 0 }\"\n >\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\">{{ message }}</p>\n <!-- Caution here, message could've been compromised, never use user's input as message -->\n <p v-else v-html=\"message\" />\n </slot>\n </div>\n <el-icon v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n <Close />\n </el-icon>\n </div>\n </div>\n </transition>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref } from 'vue'\nimport { useEventListener, useTimeoutFn } from '@vueuse/core'\nimport { CloseComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useGlobalComponentSettings } from '@element-plus/components/config-provider'\nimport { notificationEmits, notificationProps } from './notification'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElNotification',\n})\n\nconst props = defineProps(notificationProps)\ndefineEmits(notificationEmits)\n\nconst { ns, zIndex } = useGlobalComponentSettings('notification')\nconst { nextZIndex, currentZIndex } = zIndex\n\nconst { Close } = CloseComponents\n\nconst visible = ref(false)\nlet timer: (() => void) | undefined = undefined\n\nconst typeClass = computed(() => {\n const type = props.type\n return type && TypeComponentsMap[props.type] ? ns.m(type) : ''\n})\n\nconst iconComponent = computed(() => {\n if (!props.type) return props.icon\n return TypeComponentsMap[props.type] || props.icon\n})\n\nconst horizontalClass = computed(() =>\n props.position.endsWith('right') ? 'right' : 'left'\n)\n\nconst verticalProperty = computed(() =>\n props.position.startsWith('top') ? 'top' : 'bottom'\n)\n\nconst positionStyle = computed<CSSProperties>(() => {\n return {\n [verticalProperty.value]: `${props.offset}px`,\n zIndex: currentZIndex.value,\n }\n})\n\nfunction startTimer() {\n if (props.duration > 0) {\n ;({ stop: timer } = useTimeoutFn(() => {\n if (visible.value) close()\n }, props.duration))\n }\n}\n\nfunction clearTimer() {\n timer?.()\n}\n\nfunction close() {\n visible.value = false\n}\n\nfunction onKeydown({ code }: KeyboardEvent) {\n if (code === EVENT_CODE.delete || code === EVENT_CODE.backspace) {\n clearTimer() // press delete/backspace clear timer\n } else if (code === EVENT_CODE.esc) {\n // press esc to close the notification\n if (visible.value) {\n close()\n }\n } else {\n startTimer() // resume timer\n }\n}\n\n// lifecycle\nonMounted(() => {\n startTimer()\n nextZIndex()\n visible.value = true\n})\n\nuseEventListener(document, 'keydown', onKeydown)\n\ndefineExpose({\n visible,\n /** @description close notification */\n close,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.mjs","sources":["../../../../../../packages/components/notification/src/notification.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, VNode } from 'vue'\nimport type Notification from './notification.vue'\n\nexport const notificationTypes = [\n 'success',\n 'info',\n 'warning',\n 'error',\n] as const\n\nexport const notificationProps = buildProps({\n /**\n * @description custom class name for Notification\n */\n customClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: false,\n },\n /**\n * @description duration before close. It will not automatically close if set 0\n */\n duration: {\n type: Number,\n default: 4500,\n },\n /**\n * @description custom icon component. It will be overridden by `type`\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description notification dom id\n */\n id: {\n type: String,\n default: '',\n },\n /**\n * @description description text\n */\n message: {\n type: definePropType<string | VNode>([String, Object]),\n default: '',\n },\n /**\n * @description offset from the top edge of the screen. Every Notification instance of the same moment should have the same offset\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description callback function when notification clicked\n */\n onClick: {\n type: definePropType<() => void>(Function),\n default: () => undefined,\n },\n /**\n * @description callback function when closed\n */\n onClose: {\n type: definePropType<() => void>(Function),\n required: true,\n },\n /**\n * @description custom position\n */\n position: {\n type: String,\n values: ['top-right', 'top-left', 'bottom-right', 'bottom-left'],\n default: 'top-right',\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n /**\n * @description title\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description notification type\n */\n type: {\n type: String,\n values: [...notificationTypes, ''],\n default: '',\n },\n /**\n * @description initial zIndex\n */\n zIndex: {\n type: Number,\n default: 0,\n },\n} as const)\nexport type NotificationProps = ExtractPropTypes<typeof notificationProps>\n\nexport const notificationEmits = {\n destroy: () => true,\n}\nexport type NotificationEmits = typeof notificationEmits\n\nexport type NotificationInstance = InstanceType<typeof Notification>\n\nexport type NotificationOptions = Omit<NotificationProps, 'id'> & {\n /**\n * @description set the root element for the notification, default to `document.body`\n */\n appendTo?: HTMLElement | string\n}\nexport type NotificationOptionsTyped = Omit<NotificationOptions, 'type'>\n\nexport interface NotificationHandle {\n close: () => void\n}\n\nexport type NotificationParams = Partial<NotificationOptions> | string | VNode\nexport type NotificationParamsTyped =\n | Partial<NotificationOptionsTyped>\n | string\n | VNode\n\nexport type NotifyFn = ((\n options?: NotificationParams\n) => NotificationHandle) & { closeAll: () => void }\n\nexport type NotifyTypedFn = (\n options?: NotificationParamsTyped\n) => NotificationHandle\n\nexport interface Notify extends NotifyFn {\n success: NotifyTypedFn\n warning: NotifyTypedFn\n error: NotifyTypedFn\n info: NotifyTypedFn\n}\n\nexport interface NotificationQueueItem {\n vm: VNode\n}\n\nexport type NotificationQueue = NotificationQueueItem[]\n"],"names":[],"mappings":";;;;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE;AACU,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,wBAAwB,EAAE;AAC5B,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,MAAM,KAAK,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC;AACpE,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,GAAG,iBAAiB,EAAE,EAAE,CAAC;AACtC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,OAAO,EAAE,MAAM,IAAI;AACrB;;;;"}
@@ -1,75 +1,153 @@
1
+ import { defineComponent, ref, computed, onMounted, openBlock, createBlock, Transition, unref, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, resolveDynamicComponent, createCommentVNode, toDisplayString, renderSlot, createElementBlock, Fragment, vShow, withModifiers, createVNode } from 'vue';
2
+ import { useTimeoutFn, useEventListener } from '@vueuse/core';
1
3
  import '../../../utils/index.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { iconPropType } from '../../../utils/vue/icon.mjs';
4
+ import '../../../constants/index.mjs';
5
+ import { ElIcon } from '../../icon/index.mjs';
6
+ import '../../config-provider/index.mjs';
7
+ import { notificationProps, notificationEmits } from './notification.mjs';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
+ import { useGlobalComponentSettings } from '../../config-provider/src/hooks/use-global-config.mjs';
10
+ import { CloseComponents, TypeComponentsMap } from '../../../utils/vue/icon.mjs';
11
+ import { EVENT_CODE } from '../../../constants/aria.mjs';
4
12
 
5
- const notificationTypes = [
6
- "success",
7
- "info",
8
- "warning",
9
- "error"
10
- ];
11
- const notificationProps = buildProps({
12
- customClass: {
13
- type: String,
14
- default: ""
15
- },
16
- dangerouslyUseHTMLString: {
17
- type: Boolean,
18
- default: false
19
- },
20
- duration: {
21
- type: Number,
22
- default: 4500
23
- },
24
- icon: {
25
- type: iconPropType
26
- },
27
- id: {
28
- type: String,
29
- default: ""
30
- },
31
- message: {
32
- type: definePropType([String, Object]),
33
- default: ""
34
- },
35
- offset: {
36
- type: Number,
37
- default: 0
38
- },
39
- onClick: {
40
- type: definePropType(Function),
41
- default: () => void 0
42
- },
43
- onClose: {
44
- type: definePropType(Function),
45
- required: true
46
- },
47
- position: {
48
- type: String,
49
- values: ["top-right", "top-left", "bottom-right", "bottom-left"],
50
- default: "top-right"
51
- },
52
- showClose: {
53
- type: Boolean,
54
- default: true
55
- },
56
- title: {
57
- type: String,
58
- default: ""
59
- },
60
- type: {
61
- type: String,
62
- values: [...notificationTypes, ""],
63
- default: ""
64
- },
65
- zIndex: {
66
- type: Number,
67
- default: 0
13
+ const _hoisted_1 = ["id"];
14
+ const _hoisted_2 = ["textContent"];
15
+ const _hoisted_3 = { key: 0 };
16
+ const _hoisted_4 = ["innerHTML"];
17
+ const __default__ = defineComponent({
18
+ name: "ElNotification"
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ ...__default__,
22
+ props: notificationProps,
23
+ emits: notificationEmits,
24
+ setup(__props, { expose }) {
25
+ const props = __props;
26
+ const { ns, zIndex } = useGlobalComponentSettings("notification");
27
+ const { nextZIndex, currentZIndex } = zIndex;
28
+ const { Close } = CloseComponents;
29
+ const visible = ref(false);
30
+ let timer = void 0;
31
+ const typeClass = computed(() => {
32
+ const type = props.type;
33
+ return type && TypeComponentsMap[props.type] ? ns.m(type) : "";
34
+ });
35
+ const iconComponent = computed(() => {
36
+ if (!props.type)
37
+ return props.icon;
38
+ return TypeComponentsMap[props.type] || props.icon;
39
+ });
40
+ const horizontalClass = computed(() => props.position.endsWith("right") ? "right" : "left");
41
+ const verticalProperty = computed(() => props.position.startsWith("top") ? "top" : "bottom");
42
+ const positionStyle = computed(() => {
43
+ return {
44
+ [verticalProperty.value]: `${props.offset}px`,
45
+ zIndex: currentZIndex.value
46
+ };
47
+ });
48
+ function startTimer() {
49
+ if (props.duration > 0) {
50
+ ;
51
+ ({ stop: timer } = useTimeoutFn(() => {
52
+ if (visible.value)
53
+ close();
54
+ }, props.duration));
55
+ }
56
+ }
57
+ function clearTimer() {
58
+ timer == null ? void 0 : timer();
59
+ }
60
+ function close() {
61
+ visible.value = false;
62
+ }
63
+ function onKeydown({ code }) {
64
+ if (code === EVENT_CODE.delete || code === EVENT_CODE.backspace) {
65
+ clearTimer();
66
+ } else if (code === EVENT_CODE.esc) {
67
+ if (visible.value) {
68
+ close();
69
+ }
70
+ } else {
71
+ startTimer();
72
+ }
73
+ }
74
+ onMounted(() => {
75
+ startTimer();
76
+ nextZIndex();
77
+ visible.value = true;
78
+ });
79
+ useEventListener(document, "keydown", onKeydown);
80
+ expose({
81
+ visible,
82
+ close
83
+ });
84
+ return (_ctx, _cache) => {
85
+ return openBlock(), createBlock(Transition, {
86
+ name: unref(ns).b("fade"),
87
+ onBeforeLeave: _ctx.onClose,
88
+ onAfterLeave: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("destroy")),
89
+ persisted: ""
90
+ }, {
91
+ default: withCtx(() => [
92
+ withDirectives(createElementVNode("div", {
93
+ id: _ctx.id,
94
+ class: normalizeClass([unref(ns).b(), _ctx.customClass, unref(horizontalClass)]),
95
+ style: normalizeStyle(unref(positionStyle)),
96
+ role: "alert",
97
+ onMouseenter: clearTimer,
98
+ onMouseleave: startTimer,
99
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
100
+ }, [
101
+ unref(iconComponent) ? (openBlock(), createBlock(unref(ElIcon), {
102
+ key: 0,
103
+ class: normalizeClass([unref(ns).e("icon"), unref(typeClass)])
104
+ }, {
105
+ default: withCtx(() => [
106
+ (openBlock(), createBlock(resolveDynamicComponent(unref(iconComponent))))
107
+ ]),
108
+ _: 1
109
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
110
+ createElementVNode("div", {
111
+ class: normalizeClass(unref(ns).e("group"))
112
+ }, [
113
+ createElementVNode("h2", {
114
+ class: normalizeClass(unref(ns).e("title")),
115
+ textContent: toDisplayString(_ctx.title)
116
+ }, null, 10, _hoisted_2),
117
+ withDirectives(createElementVNode("div", {
118
+ class: normalizeClass(unref(ns).e("content")),
119
+ style: normalizeStyle(!!_ctx.title ? void 0 : { margin: 0 })
120
+ }, [
121
+ renderSlot(_ctx.$slots, "default", {}, () => [
122
+ !_ctx.dangerouslyUseHTMLString ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(_ctx.message), 1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
123
+ createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),
124
+ createElementVNode("p", { innerHTML: _ctx.message }, null, 8, _hoisted_4)
125
+ ], 2112))
126
+ ])
127
+ ], 6), [
128
+ [vShow, _ctx.message]
129
+ ]),
130
+ _ctx.showClose ? (openBlock(), createBlock(unref(ElIcon), {
131
+ key: 0,
132
+ class: normalizeClass(unref(ns).e("closeBtn")),
133
+ onClick: withModifiers(close, ["stop"])
134
+ }, {
135
+ default: withCtx(() => [
136
+ createVNode(unref(Close))
137
+ ]),
138
+ _: 1
139
+ }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true)
140
+ ], 2)
141
+ ], 46, _hoisted_1), [
142
+ [vShow, visible.value]
143
+ ])
144
+ ]),
145
+ _: 3
146
+ }, 8, ["name", "onBeforeLeave"]);
147
+ };
68
148
  }
69
149
  });
70
- const notificationEmits = {
71
- destroy: () => true
72
- };
150
+ var NotificationConstructor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/notification/src/notification.vue"]]);
73
151
 
74
- export { notificationEmits, notificationProps, notificationTypes };
152
+ export { NotificationConstructor as default };
75
153
  //# sourceMappingURL=notification2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification2.mjs","sources":["../../../../../../packages/components/notification/src/notification.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, VNode } from 'vue'\nimport type Notification from './notification.vue'\n\nexport const notificationTypes = [\n 'success',\n 'info',\n 'warning',\n 'error',\n] as const\n\nexport const notificationProps = buildProps({\n /**\n * @description custom class name for Notification\n */\n customClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: false,\n },\n /**\n * @description duration before close. It will not automatically close if set 0\n */\n duration: {\n type: Number,\n default: 4500,\n },\n /**\n * @description custom icon component. It will be overridden by `type`\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description notification dom id\n */\n id: {\n type: String,\n default: '',\n },\n /**\n * @description description text\n */\n message: {\n type: definePropType<string | VNode>([String, Object]),\n default: '',\n },\n /**\n * @description offset from the top edge of the screen. Every Notification instance of the same moment should have the same offset\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description callback function when notification clicked\n */\n onClick: {\n type: definePropType<() => void>(Function),\n default: () => undefined,\n },\n /**\n * @description callback function when closed\n */\n onClose: {\n type: definePropType<() => void>(Function),\n required: true,\n },\n /**\n * @description custom position\n */\n position: {\n type: String,\n values: ['top-right', 'top-left', 'bottom-right', 'bottom-left'],\n default: 'top-right',\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n /**\n * @description title\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description notification type\n */\n type: {\n type: String,\n values: [...notificationTypes, ''],\n default: '',\n },\n /**\n * @description initial zIndex\n */\n zIndex: {\n type: Number,\n default: 0,\n },\n} as const)\nexport type NotificationProps = ExtractPropTypes<typeof notificationProps>\n\nexport const notificationEmits = {\n destroy: () => true,\n}\nexport type NotificationEmits = typeof notificationEmits\n\nexport type NotificationInstance = InstanceType<typeof Notification>\n\nexport type NotificationOptions = Omit<NotificationProps, 'id'> & {\n /**\n * @description set the root element for the notification, default to `document.body`\n */\n appendTo?: HTMLElement | string\n}\nexport type NotificationOptionsTyped = Omit<NotificationOptions, 'type'>\n\nexport interface NotificationHandle {\n close: () => void\n}\n\nexport type NotificationParams = Partial<NotificationOptions> | string | VNode\nexport type NotificationParamsTyped =\n | Partial<NotificationOptionsTyped>\n | string\n | VNode\n\nexport type NotifyFn = ((\n options?: NotificationParams\n) => NotificationHandle) & { closeAll: () => void }\n\nexport type NotifyTypedFn = (\n options?: NotificationParamsTyped\n) => NotificationHandle\n\nexport interface Notify extends NotifyFn {\n success: NotifyTypedFn\n warning: NotifyTypedFn\n error: NotifyTypedFn\n info: NotifyTypedFn\n}\n\nexport interface NotificationQueueItem {\n vm: VNode\n}\n\nexport type NotificationQueue = NotificationQueueItem[]\n"],"names":[],"mappings":";;;;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE;AACU,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,wBAAwB,EAAE;AAC5B,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,MAAM,KAAK,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC;AACpE,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,GAAG,iBAAiB,EAAE,EAAE,CAAC;AACtC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,OAAO,EAAE,MAAM,IAAI;AACrB;;;;"}
1
+ {"version":3,"file":"notification2.mjs","sources":["../../../../../../packages/components/notification/src/notification.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 :class=\"[ns.b(), customClass, horizontalClass]\"\n :style=\"positionStyle\"\n role=\"alert\"\n @mouseenter=\"clearTimer\"\n @mouseleave=\"startTimer\"\n @click=\"onClick\"\n >\n <el-icon v-if=\"iconComponent\" :class=\"[ns.e('icon'), typeClass]\">\n <component :is=\"iconComponent\" />\n </el-icon>\n <div :class=\"ns.e('group')\">\n <h2 :class=\"ns.e('title')\" v-text=\"title\" />\n <div\n v-show=\"message\"\n :class=\"ns.e('content')\"\n :style=\"!!title ? undefined : { margin: 0 }\"\n >\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\">{{ message }}</p>\n <!-- Caution here, message could've been compromised, never use user's input as message -->\n <p v-else v-html=\"message\" />\n </slot>\n </div>\n <el-icon v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n <Close />\n </el-icon>\n </div>\n </div>\n </transition>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref } from 'vue'\nimport { useEventListener, useTimeoutFn } from '@vueuse/core'\nimport { CloseComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useGlobalComponentSettings } from '@element-plus/components/config-provider'\nimport { notificationEmits, notificationProps } from './notification'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElNotification',\n})\n\nconst props = defineProps(notificationProps)\ndefineEmits(notificationEmits)\n\nconst { ns, zIndex } = useGlobalComponentSettings('notification')\nconst { nextZIndex, currentZIndex } = zIndex\n\nconst { Close } = CloseComponents\n\nconst visible = ref(false)\nlet timer: (() => void) | undefined = undefined\n\nconst typeClass = computed(() => {\n const type = props.type\n return type && TypeComponentsMap[props.type] ? ns.m(type) : ''\n})\n\nconst iconComponent = computed(() => {\n if (!props.type) return props.icon\n return TypeComponentsMap[props.type] || props.icon\n})\n\nconst horizontalClass = computed(() =>\n props.position.endsWith('right') ? 'right' : 'left'\n)\n\nconst verticalProperty = computed(() =>\n props.position.startsWith('top') ? 'top' : 'bottom'\n)\n\nconst positionStyle = computed<CSSProperties>(() => {\n return {\n [verticalProperty.value]: `${props.offset}px`,\n zIndex: currentZIndex.value,\n }\n})\n\nfunction startTimer() {\n if (props.duration > 0) {\n ;({ stop: timer } = useTimeoutFn(() => {\n if (visible.value) close()\n }, props.duration))\n }\n}\n\nfunction clearTimer() {\n timer?.()\n}\n\nfunction close() {\n visible.value = false\n}\n\nfunction onKeydown({ code }: KeyboardEvent) {\n if (code === EVENT_CODE.delete || code === EVENT_CODE.backspace) {\n clearTimer() // press delete/backspace clear timer\n } else if (code === EVENT_CODE.esc) {\n // press esc to close the notification\n if (visible.value) {\n close()\n }\n } else {\n startTimer() // resume timer\n }\n}\n\n// lifecycle\nonMounted(() => {\n startTimer()\n nextZIndex()\n visible.value = true\n})\n\nuseEventListener(document, 'keydown', onKeydown)\n\ndefineExpose({\n visible,\n /** @description close notification */\n close,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { isVNode, createVNode, render } from 'vue';
2
2
  import { isClient } from '@vueuse/core';
3
3
  import '../../../utils/index.mjs';
4
- import NotificationConstructor from './notification.mjs';
5
- import { notificationTypes } from './notification2.mjs';
4
+ import NotificationConstructor from './notification2.mjs';
5
+ import { notificationTypes } from './notification.mjs';
6
6
  import { isElement } from '../../../utils/types.mjs';
7
7
  import { isString } from '@vue/shared';
8
8
  import { debugWarn } from '../../../utils/error.mjs';
@@ -10,6 +10,8 @@ export declare const ElProgress: import("element-plus/es/utils").SFCWithInstall<
10
10
  readonly width: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 126, boolean>;
11
11
  readonly showText: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
12
12
  readonly color: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) & {}) | (() => string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) | ((new (...args: any[]) => (string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) & {}) | (() => string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]))[], unknown, unknown, "", boolean>;
13
+ readonly striped: BooleanConstructor;
14
+ readonly stripedFlow: BooleanConstructor;
13
15
  readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./src/progress").ProgressFn) | (() => import("./src/progress").ProgressFn) | {
14
16
  (): import("./src/progress").ProgressFn;
15
17
  new (): any;
@@ -33,6 +35,8 @@ export declare const ElProgress: import("element-plus/es/utils").SFCWithInstall<
33
35
  readonly width: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 126, boolean>;
34
36
  readonly showText: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
35
37
  readonly color: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) & {}) | (() => string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) | ((new (...args: any[]) => (string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) & {}) | (() => string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]))[], unknown, unknown, "", boolean>;
38
+ readonly striped: BooleanConstructor;
39
+ readonly stripedFlow: BooleanConstructor;
36
40
  readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./src/progress").ProgressFn) | (() => import("./src/progress").ProgressFn) | {
37
41
  (): import("./src/progress").ProgressFn;
38
42
  new (): any;
@@ -153,6 +157,8 @@ export declare const ElProgress: import("element-plus/es/utils").SFCWithInstall<
153
157
  readonly width: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 126, boolean>;
154
158
  readonly showText: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
155
159
  readonly color: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) & {}) | (() => string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) | ((new (...args: any[]) => (string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]) & {}) | (() => string | import("./src/progress").ProgressFn | import("./src/progress").ProgressColor[]))[], unknown, unknown, "", boolean>;
160
+ readonly striped: BooleanConstructor;
161
+ readonly stripedFlow: BooleanConstructor;
156
162
  readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./src/progress").ProgressFn) | (() => import("./src/progress").ProgressFn) | {
157
163
  (): import("./src/progress").ProgressFn;
158
164
  new (): any;
@@ -175,6 +181,8 @@ export declare const ElProgress: import("element-plus/es/utils").SFCWithInstall<
175
181
  readonly duration: number;
176
182
  readonly textInside: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
177
183
  readonly showText: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
184
+ readonly striped: boolean;
185
+ readonly stripedFlow: boolean;
178
186
  }>> & Record<string, any>;
179
187
  export default ElProgress;
180
188
  export * from './src/progress';
@@ -17,6 +17,8 @@ export declare const progressProps: {
17
17
  readonly width: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 126, boolean>;
18
18
  readonly showText: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
19
19
  readonly color: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | ProgressFn | ProgressColor[]) & {}) | (() => string | ProgressFn | ProgressColor[]) | ((new (...args: any[]) => (string | ProgressFn | ProgressColor[]) & {}) | (() => string | ProgressFn | ProgressColor[]))[], unknown, unknown, "", boolean>;
20
+ readonly striped: BooleanConstructor;
21
+ readonly stripedFlow: BooleanConstructor;
20
22
  readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => ProgressFn) | (() => ProgressFn) | {
21
23
  (): ProgressFn;
22
24
  new (): any;
@@ -53,6 +53,8 @@ const progressProps = buildProps({
53
53
  ]),
54
54
  default: ""
55
55
  },
56
+ striped: Boolean,
57
+ stripedFlow: Boolean,
56
58
  format: {
57
59
  type: definePropType(Function),
58
60
  default: (percentage) => `${percentage}%`