@element-plus/nightly 0.0.20240428 → 0.0.20240430

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 (326) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +8 -6
  3. package/dist/index.full.min.js +9 -9
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +9 -9
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +8 -6
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hr.js +1 -1
  93. package/dist/locale/hr.min.js +1 -1
  94. package/dist/locale/hr.min.mjs +1 -1
  95. package/dist/locale/hr.mjs +1 -1
  96. package/dist/locale/hu.js +1 -1
  97. package/dist/locale/hu.min.js +1 -1
  98. package/dist/locale/hu.min.mjs +1 -1
  99. package/dist/locale/hu.mjs +1 -1
  100. package/dist/locale/hy-am.js +1 -1
  101. package/dist/locale/hy-am.min.js +1 -1
  102. package/dist/locale/hy-am.min.mjs +1 -1
  103. package/dist/locale/hy-am.mjs +1 -1
  104. package/dist/locale/id.js +1 -1
  105. package/dist/locale/id.min.js +1 -1
  106. package/dist/locale/id.min.mjs +1 -1
  107. package/dist/locale/id.mjs +1 -1
  108. package/dist/locale/it.js +1 -1
  109. package/dist/locale/it.min.js +1 -1
  110. package/dist/locale/it.min.mjs +1 -1
  111. package/dist/locale/it.mjs +1 -1
  112. package/dist/locale/ja.js +1 -1
  113. package/dist/locale/ja.min.js +1 -1
  114. package/dist/locale/ja.min.mjs +1 -1
  115. package/dist/locale/ja.mjs +1 -1
  116. package/dist/locale/kk.js +1 -1
  117. package/dist/locale/kk.min.js +1 -1
  118. package/dist/locale/kk.min.mjs +1 -1
  119. package/dist/locale/kk.mjs +1 -1
  120. package/dist/locale/km.js +1 -1
  121. package/dist/locale/km.min.js +1 -1
  122. package/dist/locale/km.min.mjs +1 -1
  123. package/dist/locale/km.mjs +1 -1
  124. package/dist/locale/ko.js +1 -1
  125. package/dist/locale/ko.min.js +1 -1
  126. package/dist/locale/ko.min.mjs +1 -1
  127. package/dist/locale/ko.mjs +1 -1
  128. package/dist/locale/ku.js +1 -1
  129. package/dist/locale/ku.min.js +1 -1
  130. package/dist/locale/ku.min.mjs +1 -1
  131. package/dist/locale/ku.mjs +1 -1
  132. package/dist/locale/ky.js +1 -1
  133. package/dist/locale/ky.min.js +1 -1
  134. package/dist/locale/ky.min.mjs +1 -1
  135. package/dist/locale/ky.mjs +1 -1
  136. package/dist/locale/lt.js +1 -1
  137. package/dist/locale/lt.min.js +1 -1
  138. package/dist/locale/lt.min.mjs +1 -1
  139. package/dist/locale/lt.mjs +1 -1
  140. package/dist/locale/lv.js +1 -1
  141. package/dist/locale/lv.min.js +1 -1
  142. package/dist/locale/lv.min.mjs +1 -1
  143. package/dist/locale/lv.mjs +1 -1
  144. package/dist/locale/mg.js +1 -1
  145. package/dist/locale/mg.min.js +1 -1
  146. package/dist/locale/mg.min.mjs +1 -1
  147. package/dist/locale/mg.mjs +1 -1
  148. package/dist/locale/mn.js +1 -1
  149. package/dist/locale/mn.min.js +1 -1
  150. package/dist/locale/mn.min.mjs +1 -1
  151. package/dist/locale/mn.mjs +1 -1
  152. package/dist/locale/nb-no.js +1 -1
  153. package/dist/locale/nb-no.min.js +1 -1
  154. package/dist/locale/nb-no.min.mjs +1 -1
  155. package/dist/locale/nb-no.mjs +1 -1
  156. package/dist/locale/nl.js +1 -1
  157. package/dist/locale/nl.min.js +1 -1
  158. package/dist/locale/nl.min.mjs +1 -1
  159. package/dist/locale/nl.mjs +1 -1
  160. package/dist/locale/pa.js +1 -1
  161. package/dist/locale/pa.min.js +1 -1
  162. package/dist/locale/pa.min.mjs +1 -1
  163. package/dist/locale/pa.mjs +1 -1
  164. package/dist/locale/pl.js +1 -1
  165. package/dist/locale/pl.min.js +1 -1
  166. package/dist/locale/pl.min.mjs +1 -1
  167. package/dist/locale/pl.mjs +1 -1
  168. package/dist/locale/pt-br.js +1 -1
  169. package/dist/locale/pt-br.min.js +1 -1
  170. package/dist/locale/pt-br.min.mjs +1 -1
  171. package/dist/locale/pt-br.mjs +1 -1
  172. package/dist/locale/pt.js +1 -1
  173. package/dist/locale/pt.min.js +1 -1
  174. package/dist/locale/pt.min.mjs +1 -1
  175. package/dist/locale/pt.mjs +1 -1
  176. package/dist/locale/ro.js +1 -1
  177. package/dist/locale/ro.min.js +1 -1
  178. package/dist/locale/ro.min.mjs +1 -1
  179. package/dist/locale/ro.mjs +1 -1
  180. package/dist/locale/ru.js +1 -1
  181. package/dist/locale/ru.min.js +1 -1
  182. package/dist/locale/ru.min.mjs +1 -1
  183. package/dist/locale/ru.mjs +1 -1
  184. package/dist/locale/sk.js +1 -1
  185. package/dist/locale/sk.min.js +1 -1
  186. package/dist/locale/sk.min.mjs +1 -1
  187. package/dist/locale/sk.mjs +1 -1
  188. package/dist/locale/sl.js +1 -1
  189. package/dist/locale/sl.min.js +1 -1
  190. package/dist/locale/sl.min.mjs +1 -1
  191. package/dist/locale/sl.mjs +1 -1
  192. package/dist/locale/sr.js +1 -1
  193. package/dist/locale/sr.min.js +1 -1
  194. package/dist/locale/sr.min.mjs +1 -1
  195. package/dist/locale/sr.mjs +1 -1
  196. package/dist/locale/sv.js +1 -1
  197. package/dist/locale/sv.min.js +1 -1
  198. package/dist/locale/sv.min.mjs +1 -1
  199. package/dist/locale/sv.mjs +1 -1
  200. package/dist/locale/sw.js +1 -1
  201. package/dist/locale/sw.min.js +1 -1
  202. package/dist/locale/sw.min.mjs +1 -1
  203. package/dist/locale/sw.mjs +1 -1
  204. package/dist/locale/ta.js +1 -1
  205. package/dist/locale/ta.min.js +1 -1
  206. package/dist/locale/ta.min.mjs +1 -1
  207. package/dist/locale/ta.mjs +1 -1
  208. package/dist/locale/th.js +1 -1
  209. package/dist/locale/th.min.js +1 -1
  210. package/dist/locale/th.min.mjs +1 -1
  211. package/dist/locale/th.mjs +1 -1
  212. package/dist/locale/tk.js +1 -1
  213. package/dist/locale/tk.min.js +1 -1
  214. package/dist/locale/tk.min.mjs +1 -1
  215. package/dist/locale/tk.mjs +1 -1
  216. package/dist/locale/tr.js +1 -1
  217. package/dist/locale/tr.min.js +1 -1
  218. package/dist/locale/tr.min.mjs +1 -1
  219. package/dist/locale/tr.mjs +1 -1
  220. package/dist/locale/ug-cn.js +1 -1
  221. package/dist/locale/ug-cn.min.js +1 -1
  222. package/dist/locale/ug-cn.min.mjs +1 -1
  223. package/dist/locale/ug-cn.mjs +1 -1
  224. package/dist/locale/uk.js +1 -1
  225. package/dist/locale/uk.min.js +1 -1
  226. package/dist/locale/uk.min.mjs +1 -1
  227. package/dist/locale/uk.mjs +1 -1
  228. package/dist/locale/uz-uz.js +1 -1
  229. package/dist/locale/uz-uz.min.js +1 -1
  230. package/dist/locale/uz-uz.min.mjs +1 -1
  231. package/dist/locale/uz-uz.mjs +1 -1
  232. package/dist/locale/vi.js +1 -1
  233. package/dist/locale/vi.min.js +1 -1
  234. package/dist/locale/vi.min.mjs +1 -1
  235. package/dist/locale/vi.mjs +1 -1
  236. package/dist/locale/zh-cn.js +1 -1
  237. package/dist/locale/zh-cn.min.js +1 -1
  238. package/dist/locale/zh-cn.min.mjs +1 -1
  239. package/dist/locale/zh-cn.mjs +1 -1
  240. package/dist/locale/zh-tw.js +1 -1
  241. package/dist/locale/zh-tw.min.js +1 -1
  242. package/dist/locale/zh-tw.min.mjs +1 -1
  243. package/dist/locale/zh-tw.mjs +1 -1
  244. package/es/components/avatar/index.mjs +2 -2
  245. package/es/components/avatar/src/avatar.mjs +67 -32
  246. package/es/components/avatar/src/avatar.mjs.map +1 -1
  247. package/es/components/avatar/src/avatar2.mjs +32 -67
  248. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  249. package/es/components/icon/index.mjs +2 -2
  250. package/es/components/icon/src/icon.mjs +36 -8
  251. package/es/components/icon/src/icon.mjs.map +1 -1
  252. package/es/components/icon/src/icon2.mjs +8 -36
  253. package/es/components/icon/src/icon2.mjs.map +1 -1
  254. package/es/components/index.mjs +4 -4
  255. package/es/components/infinite-scroll/src/index.mjs +2 -0
  256. package/es/components/infinite-scroll/src/index.mjs.map +1 -1
  257. package/es/components/menu/index.mjs +2 -2
  258. package/es/components/menu/src/menu-item.mjs +97 -14
  259. package/es/components/menu/src/menu-item.mjs.map +1 -1
  260. package/es/components/menu/src/menu-item2.mjs +14 -97
  261. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  262. package/es/components/message-box/src/message-box.type.d.ts +1 -1
  263. package/es/components/pagination/src/components/jumper.mjs +9 -60
  264. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  265. package/es/components/pagination/src/components/jumper2.mjs +60 -9
  266. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  267. package/es/components/pagination/src/components/sizes.mjs +23 -69
  268. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  269. package/es/components/pagination/src/components/sizes2.mjs +69 -23
  270. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  271. package/es/components/pagination/src/pagination.mjs +2 -2
  272. package/es/components/time-picker/src/common/picker.mjs +4 -4
  273. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  274. package/es/components/tour/index.mjs +2 -2
  275. package/es/components/tour/src/tour.mjs +152 -69
  276. package/es/components/tour/src/tour.mjs.map +1 -1
  277. package/es/components/tour/src/tour2.mjs +69 -152
  278. package/es/components/tour/src/tour2.mjs.map +1 -1
  279. package/es/index.mjs +4 -4
  280. package/es/version.d.ts +1 -1
  281. package/es/version.mjs +1 -1
  282. package/es/version.mjs.map +1 -1
  283. package/lib/components/avatar/index.js +2 -2
  284. package/lib/components/avatar/src/avatar.js +67 -33
  285. package/lib/components/avatar/src/avatar.js.map +1 -1
  286. package/lib/components/avatar/src/avatar2.js +33 -67
  287. package/lib/components/avatar/src/avatar2.js.map +1 -1
  288. package/lib/components/icon/index.js +2 -2
  289. package/lib/components/icon/src/icon.js +36 -8
  290. package/lib/components/icon/src/icon.js.map +1 -1
  291. package/lib/components/icon/src/icon2.js +8 -36
  292. package/lib/components/icon/src/icon2.js.map +1 -1
  293. package/lib/components/index.js +4 -4
  294. package/lib/components/infinite-scroll/src/index.js +2 -0
  295. package/lib/components/infinite-scroll/src/index.js.map +1 -1
  296. package/lib/components/menu/index.js +2 -2
  297. package/lib/components/menu/src/menu-item.js +97 -15
  298. package/lib/components/menu/src/menu-item.js.map +1 -1
  299. package/lib/components/menu/src/menu-item2.js +15 -97
  300. package/lib/components/menu/src/menu-item2.js.map +1 -1
  301. package/lib/components/message-box/src/message-box.type.d.ts +1 -1
  302. package/lib/components/pagination/src/components/jumper.js +9 -60
  303. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  304. package/lib/components/pagination/src/components/jumper2.js +60 -9
  305. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  306. package/lib/components/pagination/src/components/sizes.js +23 -69
  307. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  308. package/lib/components/pagination/src/components/sizes2.js +69 -23
  309. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  310. package/lib/components/pagination/src/pagination.js +2 -2
  311. package/lib/components/time-picker/src/common/picker.js +4 -4
  312. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  313. package/lib/components/tour/index.js +2 -2
  314. package/lib/components/tour/src/tour.js +151 -69
  315. package/lib/components/tour/src/tour.js.map +1 -1
  316. package/lib/components/tour/src/tour2.js +69 -151
  317. package/lib/components/tour/src/tour2.js.map +1 -1
  318. package/lib/index.js +4 -4
  319. package/lib/version.d.ts +1 -1
  320. package/lib/version.js +1 -1
  321. package/lib/version.js.map +1 -1
  322. package/package.json +2 -2
  323. package/theme-chalk/el-tour.css +1 -1
  324. package/theme-chalk/index.css +1 -1
  325. package/theme-chalk/src/tour.scss +1 -0
  326. package/web-types.json +1 -1
@@ -2,77 +2,43 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var index$1 = require('../../icon/index.js');
7
- require('../../../hooks/index.js');
8
5
  require('../../../utils/index.js');
9
- var avatar = require('./avatar.js');
10
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
- var index = require('../../../hooks/use-namespace/index.js');
12
- var shared = require('@vue/shared');
6
+ require('../../../constants/index.js');
7
+ var runtime = require('../../../utils/vue/props/runtime.js');
8
+ var size = require('../../../constants/size.js');
13
9
  var types = require('../../../utils/types.js');
14
- var style = require('../../../utils/dom/style.js');
10
+ var icon = require('../../../utils/vue/icon.js');
15
11
 
16
- const _hoisted_1 = ["src", "alt", "srcset"];
17
- const __default__ = vue.defineComponent({
18
- name: "ElAvatar"
19
- });
20
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
- ...__default__,
22
- props: avatar.avatarProps,
23
- emits: avatar.avatarEmits,
24
- setup(__props, { emit }) {
25
- const props = __props;
26
- const ns = index.useNamespace("avatar");
27
- const hasLoadError = vue.ref(false);
28
- const avatarClass = vue.computed(() => {
29
- const { size, icon, shape } = props;
30
- const classList = [ns.b()];
31
- if (shared.isString(size))
32
- classList.push(ns.m(size));
33
- if (icon)
34
- classList.push(ns.m("icon"));
35
- if (shape)
36
- classList.push(ns.m(shape));
37
- return classList;
38
- });
39
- const sizeStyle = vue.computed(() => {
40
- const { size } = props;
41
- return types.isNumber(size) ? ns.cssVarBlock({
42
- size: style.addUnit(size) || ""
43
- }) : void 0;
44
- });
45
- const fitStyle = vue.computed(() => ({
46
- objectFit: props.fit
47
- }));
48
- vue.watch(() => props.src, () => hasLoadError.value = false);
49
- function handleError(e) {
50
- hasLoadError.value = true;
51
- emit("error", e);
52
- }
53
- return (_ctx, _cache) => {
54
- return vue.openBlock(), vue.createElementBlock("span", {
55
- class: vue.normalizeClass(vue.unref(avatarClass)),
56
- style: vue.normalizeStyle(vue.unref(sizeStyle))
57
- }, [
58
- (_ctx.src || _ctx.srcSet) && !hasLoadError.value ? (vue.openBlock(), vue.createElementBlock("img", {
59
- key: 0,
60
- src: _ctx.src,
61
- alt: _ctx.alt,
62
- srcset: _ctx.srcSet,
63
- style: vue.normalizeStyle(vue.unref(fitStyle)),
64
- onError: handleError
65
- }, null, 44, _hoisted_1)) : _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 1 }, {
66
- default: vue.withCtx(() => [
67
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon)))
68
- ]),
69
- _: 1
70
- })) : vue.renderSlot(_ctx.$slots, "default", { key: 2 })
71
- ], 6);
72
- };
12
+ const avatarProps = runtime.buildProps({
13
+ size: {
14
+ type: [Number, String],
15
+ values: size.componentSizes,
16
+ default: "",
17
+ validator: (val) => types.isNumber(val)
18
+ },
19
+ shape: {
20
+ type: String,
21
+ values: ["circle", "square"],
22
+ default: "circle"
23
+ },
24
+ icon: {
25
+ type: icon.iconPropType
26
+ },
27
+ src: {
28
+ type: String,
29
+ default: ""
30
+ },
31
+ alt: String,
32
+ srcSet: String,
33
+ fit: {
34
+ type: runtime.definePropType(String),
35
+ default: "cover"
73
36
  }
74
37
  });
75
- var Avatar = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "avatar.vue"]]);
38
+ const avatarEmits = {
39
+ error: (evt) => evt instanceof Event
40
+ };
76
41
 
77
- exports["default"] = Avatar;
42
+ exports.avatarEmits = avatarEmits;
43
+ exports.avatarProps = avatarProps;
78
44
  //# sourceMappingURL=avatar2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar2.js","sources":["../../../../../../packages/components/avatar/src/avatar.vue"],"sourcesContent":["<template>\n <span :class=\"avatarClass\" :style=\"sizeStyle\">\n <img\n v-if=\"(src || srcSet) && !hasLoadError\"\n :src=\"src\"\n :alt=\"alt\"\n :srcset=\"srcSet\"\n :style=\"fitStyle\"\n @error=\"handleError\"\n />\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <slot v-else />\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addUnit, isNumber, isString } from '@element-plus/utils'\nimport { avatarEmits, avatarProps } from './avatar'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElAvatar',\n})\n\nconst props = defineProps(avatarProps)\nconst emit = defineEmits(avatarEmits)\n\nconst ns = useNamespace('avatar')\n\nconst hasLoadError = ref(false)\n\nconst avatarClass = computed(() => {\n const { size, icon, shape } = props\n const classList = [ns.b()]\n if (isString(size)) classList.push(ns.m(size))\n if (icon) classList.push(ns.m('icon'))\n if (shape) classList.push(ns.m(shape))\n return classList\n})\n\nconst sizeStyle = computed(() => {\n const { size } = props\n return isNumber(size)\n ? (ns.cssVarBlock({\n size: addUnit(size) || '',\n }) as CSSProperties)\n : undefined\n})\n\nconst fitStyle = computed<CSSProperties>(() => ({\n objectFit: props.fit,\n}))\n\n// need reset hasLoadError to false if src changed\nwatch(\n () => props.src,\n () => (hasLoadError.value = false)\n)\n\nfunction handleError(e: Event) {\n hasLoadError.value = true\n emit('error', e)\n}\n</script>\n"],"names":["useNamespace","ref","computed","isString","isNumber","addUnit","watch"],"mappings":";;;;;;;;;;;;;;;;uCA0Bc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAKA,mBAAa,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,YAAA,GAAeC,QAAI,KAAK,CAAA,CAAA;AAE9B,IAAM,MAAA,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAM,MAAA,EAAE,IAAM,EAAA,IAAA,EAAM,KAAU,EAAA,GAAA,KAAA,CAAA;AAC9B,MAAA,MAAM,SAAY,GAAA,CAAC,EAAG,CAAA,CAAA,EAAG,CAAA,CAAA;AACzB,MAAA,IAAIC,gBAAS,IAAI,CAAA;AAAG,QAAA,SAAA,CAAU,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,IAAI,CAAC,CAAA,CAAA;AAC7C,MAAI,IAAA,IAAA;AAAM,QAAA,SAAA,CAAU,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,MAAM,CAAC,CAAA,CAAA;AACrC,MAAI,IAAA,KAAA;AAAO,QAAA,SAAA,CAAU,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,KAAK,CAAC,CAAA,CAAA;AACrC,MAAO,OAAA,SAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAYD,aAAS,MAAM;AAC/B,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAA,OAAOE,cAAS,CAAA,IAAI,CACf,GAAA,EAAA,CAAG,WAAY,CAAA;AAAA,QACd,IAAA,EAAMC,aAAQ,CAAA,IAAI,CAAK,IAAA,EAAA;AAAA,OACxB,CACD,GAAA,KAAA,CAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAWH,aAAwB,OAAO;AAAA,MAC9C,WAAW,KAAM,CAAA,GAAA;AAAA,KACjB,CAAA,CAAA,CAAA;AAGF,IAAAI,SAAA,CACE,MAAM,KAAM,CAAA,GAAA,EACZ,MAAO,YAAA,CAAa,QAAQ,KAC9B,CAAA,CAAA;AAEA,IAAA,SAAA,WAAA,CAAqB,CAAU,EAAA;AAC7B,MAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AACrB,MAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAA;AAAA,KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"avatar2.js","sources":["../../../../../../packages/components/avatar/src/avatar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n} from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ObjectFitProperty } from 'csstype'\n\nexport const avatarProps = buildProps({\n /**\n * @description avatar size.\n */\n size: {\n type: [Number, String],\n values: componentSizes,\n default: '',\n validator: (val: unknown): val is number => isNumber(val),\n },\n /**\n * @description avatar shape.\n */\n shape: {\n type: String,\n values: ['circle', 'square'],\n default: 'circle',\n },\n /**\n * @description representation type to icon, more info on icon component.\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description the source of the image for an image avatar.\n */\n src: {\n type: String,\n default: '',\n },\n /**\n * @description native attribute `alt` of image avatar.\n */\n alt: String,\n /**\n * @description native attribute srcset of image avatar.\n */\n srcSet: String,\n /**\n * @description set how the image fit its container for an image avatar.\n */\n fit: {\n type: definePropType<ObjectFitProperty>(String),\n default: 'cover',\n },\n} as const)\nexport type AvatarProps = ExtractPropTypes<typeof avatarProps>\n\nexport const avatarEmits = {\n error: (evt: Event) => evt instanceof Event,\n}\nexport type AvatarEmits = typeof avatarEmits\n"],"names":["buildProps","componentSizes","isNumber","iconPropType","definePropType"],"mappings":";;;;;;;;;;;AAOY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,EAAEC,mBAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,CAAC,GAAG,KAAKC,cAAQ,CAAC,GAAG,CAAC;AACrC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAChC,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAEC,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACtC;;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var icon$1 = require('./src/icon2.js');
7
- var icon = require('./src/icon.js');
6
+ var icon$1 = require('./src/icon.js');
7
+ var icon = require('./src/icon2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const ElIcon = install.withInstall(icon$1["default"]);
@@ -2,17 +2,45 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
5
6
  require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
+ require('../../../hooks/index.js');
8
+ var icon = require('./icon2.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
11
+ var types = require('../../../utils/types.js');
12
+ var style = require('../../../utils/dom/style.js');
7
13
 
8
- const iconProps = runtime.buildProps({
9
- size: {
10
- type: runtime.definePropType([Number, String])
11
- },
12
- color: {
13
- type: String
14
+ const __default__ = vue.defineComponent({
15
+ name: "ElIcon",
16
+ inheritAttrs: false
17
+ });
18
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
+ ...__default__,
20
+ props: icon.iconProps,
21
+ setup(__props) {
22
+ const props = __props;
23
+ const ns = index.useNamespace("icon");
24
+ const style$1 = vue.computed(() => {
25
+ const { size, color } = props;
26
+ if (!size && !color)
27
+ return {};
28
+ return {
29
+ fontSize: types.isUndefined(size) ? void 0 : style.addUnit(size),
30
+ "--color": color
31
+ };
32
+ });
33
+ return (_ctx, _cache) => {
34
+ return vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
35
+ class: vue.unref(ns).b(),
36
+ style: vue.unref(style$1)
37
+ }, _ctx.$attrs), [
38
+ vue.renderSlot(_ctx.$slots, "default")
39
+ ], 16);
40
+ };
14
41
  }
15
42
  });
43
+ var Icon = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "icon.vue"]]);
16
44
 
17
- exports.iconProps = iconProps;
45
+ exports["default"] = Icon;
18
46
  //# sourceMappingURL=icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../../../packages/components/icon/src/icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Icon from './icon.vue'\n\nexport const iconProps = buildProps({\n /**\n * @description SVG icon size, size x size\n */\n size: {\n type: definePropType<number | string>([Number, String]),\n },\n /**\n * @description SVG tag's fill attribute\n */\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes<typeof iconProps>\nexport type IconInstance = InstanceType<typeof Icon>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,SAAS,GAAGA,kBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"icon.js","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<template>\n <i :class=\"ns.b()\" :style=\"style\" v-bind=\"$attrs\">\n <slot />\n </i>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { addUnit, isUndefined } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { iconProps } from './icon'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElIcon',\n inheritAttrs: false,\n})\nconst props = defineProps(iconProps)\nconst ns = useNamespace('icon')\n\nconst style = computed<CSSProperties>(() => {\n const { size, color } = props\n if (!size && !color) return {}\n\n return {\n fontSize: isUndefined(size) ? undefined : addUnit(size),\n '--color': color,\n }\n})\n</script>\n"],"names":["useNamespace","style","computed","isUndefined","addUnit"],"mappings":";;;;;;;;;;;;;uCAac,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAEA,IAAM,MAAA,EAAA,GAAKA,mBAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAAC,OAAA,GAAQC,aAAwB,MAAM;AAC1C,MAAM,MAAA,EAAE,MAAM,KAAU,EAAA,GAAA,KAAA,CAAA;AACxB,MAAI,IAAA,CAAC,QAAQ,CAAC,KAAA;AAAO,QAAA,OAAO,EAAC,CAAA;AAE7B,MAAO,OAAA;AAAA,QACL,UAAUC,iBAAY,CAAA,IAAI,CAAI,GAAA,KAAA,CAAA,GAAYC,cAAQ,IAAI,CAAA;AAAA,QACtD,SAAW,EAAA,KAAA;AAAA,OACb,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;"}
@@ -2,45 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
5
  require('../../../utils/index.js');
7
- require('../../../hooks/index.js');
8
- var icon = require('./icon.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var index = require('../../../hooks/use-namespace/index.js');
11
- var types = require('../../../utils/types.js');
12
- var style = require('../../../utils/dom/style.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
13
7
 
14
- const __default__ = vue.defineComponent({
15
- name: "ElIcon",
16
- inheritAttrs: false
17
- });
18
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
- ...__default__,
20
- props: icon.iconProps,
21
- setup(__props) {
22
- const props = __props;
23
- const ns = index.useNamespace("icon");
24
- const style$1 = vue.computed(() => {
25
- const { size, color } = props;
26
- if (!size && !color)
27
- return {};
28
- return {
29
- fontSize: types.isUndefined(size) ? void 0 : style.addUnit(size),
30
- "--color": color
31
- };
32
- });
33
- return (_ctx, _cache) => {
34
- return vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
35
- class: vue.unref(ns).b(),
36
- style: vue.unref(style$1)
37
- }, _ctx.$attrs), [
38
- vue.renderSlot(_ctx.$slots, "default")
39
- ], 16);
40
- };
8
+ const iconProps = runtime.buildProps({
9
+ size: {
10
+ type: runtime.definePropType([Number, String])
11
+ },
12
+ color: {
13
+ type: String
41
14
  }
42
15
  });
43
- var Icon = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "icon.vue"]]);
44
16
 
45
- exports["default"] = Icon;
17
+ exports.iconProps = iconProps;
46
18
  //# sourceMappingURL=icon2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon2.js","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<template>\n <i :class=\"ns.b()\" :style=\"style\" v-bind=\"$attrs\">\n <slot />\n </i>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { addUnit, isUndefined } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { iconProps } from './icon'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElIcon',\n inheritAttrs: false,\n})\nconst props = defineProps(iconProps)\nconst ns = useNamespace('icon')\n\nconst style = computed<CSSProperties>(() => {\n const { size, color } = props\n if (!size && !color) return {}\n\n return {\n fontSize: isUndefined(size) ? undefined : addUnit(size),\n '--color': color,\n }\n})\n</script>\n"],"names":["useNamespace","style","computed","isUndefined","addUnit"],"mappings":";;;;;;;;;;;;;uCAac,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAEA,IAAM,MAAA,EAAA,GAAKA,mBAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAAC,OAAA,GAAQC,aAAwB,MAAM;AAC1C,MAAM,MAAA,EAAE,MAAM,KAAU,EAAA,GAAA,KAAA,CAAA;AACxB,MAAI,IAAA,CAAC,QAAQ,CAAC,KAAA;AAAO,QAAA,OAAO,EAAC,CAAA;AAE7B,MAAO,OAAA;AAAA,QACL,UAAUC,iBAAY,CAAA,IAAI,CAAI,GAAA,KAAA,CAAA,GAAYC,cAAQ,IAAI,CAAA;AAAA,QACtD,SAAW,EAAA,KAAA;AAAA,OACb,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"icon2.js","sources":["../../../../../../packages/components/icon/src/icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Icon from './icon.vue'\n\nexport const iconProps = buildProps({\n /**\n * @description SVG icon size, size x size\n */\n size: {\n type: definePropType<number | string>([Number, String]),\n },\n /**\n * @description SVG tag's fill attribute\n */\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes<typeof iconProps>\nexport type IconInstance = InstanceType<typeof Icon>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,SAAS,GAAGA,kBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
@@ -86,7 +86,7 @@ var index$1f = require('./popover/index.js');
86
86
  var affix = require('./affix/src/affix.js');
87
87
  var alert = require('./alert/src/alert.js');
88
88
  var autocomplete = require('./autocomplete/src/autocomplete.js');
89
- var avatar = require('./avatar/src/avatar.js');
89
+ var avatar = require('./avatar/src/avatar2.js');
90
90
  var backtop = require('./backtop/src/backtop.js');
91
91
  var badge = require('./badge/src/badge.js');
92
92
  var breadcrumb = require('./breadcrumb/src/breadcrumb.js');
@@ -133,14 +133,14 @@ var formItem = require('./form/src/form-item.js');
133
133
  var constants$8 = require('./form/src/constants.js');
134
134
  var useFormCommonProps = require('./form/src/hooks/use-form-common-props.js');
135
135
  var useFormItem = require('./form/src/hooks/use-form-item.js');
136
- var icon = require('./icon/src/icon.js');
136
+ var icon = require('./icon/src/icon2.js');
137
137
  var image = require('./image/src/image.js');
138
138
  var imageViewer = require('./image-viewer/src/image-viewer.js');
139
139
  var input = require('./input/src/input.js');
140
140
  var inputNumber = require('./input-number/src/input-number.js');
141
141
  var link = require('./link/src/link.js');
142
142
  var menu = require('./menu/src/menu.js');
143
- var menuItem = require('./menu/src/menu-item.js');
143
+ var menuItem = require('./menu/src/menu-item2.js');
144
144
  var menuItemGroup = require('./menu/src/menu-item-group.js');
145
145
  var subMenu = require('./menu/src/sub-menu.js');
146
146
  var overlay = require('./overlay/src/overlay.js');
@@ -217,7 +217,7 @@ var fixedSizeGrid = require('./virtual-list/src/components/fixed-size-grid.js');
217
217
  var dynamicSizeGrid = require('./virtual-list/src/components/dynamic-size-grid.js');
218
218
  var props$1 = require('./virtual-list/src/props.js');
219
219
  var watermark = require('./watermark/src/watermark.js');
220
- var tour = require('./tour/src/tour.js');
220
+ var tour = require('./tour/src/tour2.js');
221
221
  var step = require('./tour/src/step.js');
222
222
  var content$3 = require('./tour/src/content.js');
223
223
  var anchor = require('./anchor/src/anchor.js');
@@ -113,6 +113,8 @@ const InfiniteScroll = {
113
113
  container.addEventListener("scroll", onScroll);
114
114
  },
115
115
  unmounted(el) {
116
+ if (!el[SCOPE])
117
+ return;
116
118
  const { container, onScroll } = el[SCOPE];
117
119
  container == null ? void 0 : container.removeEventListener("scroll", onScroll);
118
120
  destroyObserver(el);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/infinite-scroll/src/index.ts"],"sourcesContent":["// @ts-nocheck\nimport { nextTick } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { throttle } from 'lodash-unified'\nimport {\n getOffsetTopDistance,\n getScrollContainer,\n throwError,\n} from '@element-plus/utils'\n\nimport type { ComponentPublicInstance, ObjectDirective } from 'vue'\n\nexport const SCOPE = 'ElInfiniteScroll'\nexport const CHECK_INTERVAL = 50\nexport const DEFAULT_DELAY = 200\nexport const DEFAULT_DISTANCE = 0\n\nconst attributes = {\n delay: {\n type: Number,\n default: DEFAULT_DELAY,\n },\n distance: {\n type: Number,\n default: DEFAULT_DISTANCE,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n immediate: {\n type: Boolean,\n default: true,\n },\n}\n\ntype Attrs = typeof attributes\ntype ScrollOptions = { [K in keyof Attrs]: Attrs[K]['default'] }\ntype InfiniteScrollCallback = () => void\ntype InfiniteScrollEl = HTMLElement & {\n [SCOPE]: {\n container: HTMLElement | Window\n containerEl: HTMLElement\n instance: ComponentPublicInstance\n delay: number // export for test\n lastScrollTop: number\n cb: InfiniteScrollCallback\n onScroll: () => void\n observer?: MutationObserver\n }\n}\n\nconst getScrollOptions = (\n el: HTMLElement,\n instance: ComponentPublicInstance\n): ScrollOptions => {\n return Object.entries(attributes).reduce((acm, [name, option]) => {\n const { type, default: defaultValue } = option\n const attrVal = el.getAttribute(`infinite-scroll-${name}`)\n let value = instance[attrVal] ?? attrVal ?? defaultValue\n value = value === 'false' ? false : value\n value = type(value)\n acm[name] = Number.isNaN(value) ? defaultValue : value\n return acm\n }, {} as ScrollOptions)\n}\n\nconst destroyObserver = (el: InfiniteScrollEl) => {\n const { observer } = el[SCOPE]\n\n if (observer) {\n observer.disconnect()\n delete el[SCOPE].observer\n }\n}\n\nconst handleScroll = (el: InfiniteScrollEl, cb: InfiniteScrollCallback) => {\n const { container, containerEl, instance, observer, lastScrollTop } =\n el[SCOPE]\n const { disabled, distance } = getScrollOptions(el, instance)\n const { clientHeight, scrollHeight, scrollTop } = containerEl\n const delta = scrollTop - lastScrollTop\n\n el[SCOPE].lastScrollTop = scrollTop\n\n // trigger only if full check has done and not disabled and scroll down\n if (observer || disabled || delta < 0) return\n\n let shouldTrigger = false\n\n if (container === el) {\n shouldTrigger = scrollHeight - (clientHeight + scrollTop) <= distance\n } else {\n // get the scrollHeight since el might be visible overflow\n const { clientTop, scrollHeight: height } = el\n const offsetTop = getOffsetTopDistance(el, containerEl)\n shouldTrigger =\n scrollTop + clientHeight >= offsetTop + clientTop + height - distance\n }\n\n if (shouldTrigger) {\n cb.call(instance)\n }\n}\n\nfunction checkFull(el: InfiniteScrollEl, cb: InfiniteScrollCallback) {\n const { containerEl, instance } = el[SCOPE]\n const { disabled } = getScrollOptions(el, instance)\n\n if (disabled || containerEl.clientHeight === 0) return\n\n if (containerEl.scrollHeight <= containerEl.clientHeight) {\n cb.call(instance)\n } else {\n destroyObserver(el)\n }\n}\n\nconst InfiniteScroll: ObjectDirective<\n InfiniteScrollEl,\n InfiniteScrollCallback\n> = {\n async mounted(el, binding) {\n const { instance, value: cb } = binding\n\n if (!isFunction(cb)) {\n throwError(SCOPE, \"'v-infinite-scroll' binding value must be a function\")\n }\n\n // ensure parentNode mounted\n await nextTick()\n\n const { delay, immediate } = getScrollOptions(el, instance)\n const container = getScrollContainer(el, true)\n const containerEl =\n container === window\n ? document.documentElement\n : (container as HTMLElement)\n const onScroll = throttle(handleScroll.bind(null, el, cb), delay)\n\n if (!container) return\n\n el[SCOPE] = {\n instance,\n container,\n containerEl,\n delay,\n cb,\n onScroll,\n lastScrollTop: containerEl.scrollTop,\n }\n\n if (immediate) {\n const observer = new MutationObserver(\n throttle(checkFull.bind(null, el, cb), CHECK_INTERVAL)\n )\n el[SCOPE].observer = observer\n observer.observe(el, { childList: true, subtree: true })\n checkFull(el, cb)\n }\n\n container.addEventListener('scroll', onScroll)\n },\n unmounted(el) {\n const { container, onScroll } = el[SCOPE]\n\n container?.removeEventListener('scroll', onScroll)\n destroyObserver(el)\n },\n async updated(el) {\n if (!el[SCOPE]) {\n await nextTick()\n } else {\n const { containerEl, cb, observer } = el[SCOPE]\n if (containerEl.clientHeight && observer) {\n checkFull(el, cb)\n }\n }\n },\n}\n\nexport default InfiniteScroll\n"],"names":["getOffsetTopDistance","isFunction","throwError","nextTick","getScrollContainer","throttle"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/infinite-scroll/src/index.ts"],"sourcesContent":["// @ts-nocheck\nimport { nextTick } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { throttle } from 'lodash-unified'\nimport {\n getOffsetTopDistance,\n getScrollContainer,\n throwError,\n} from '@element-plus/utils'\n\nimport type { ComponentPublicInstance, ObjectDirective } from 'vue'\n\nexport const SCOPE = 'ElInfiniteScroll'\nexport const CHECK_INTERVAL = 50\nexport const DEFAULT_DELAY = 200\nexport const DEFAULT_DISTANCE = 0\n\nconst attributes = {\n delay: {\n type: Number,\n default: DEFAULT_DELAY,\n },\n distance: {\n type: Number,\n default: DEFAULT_DISTANCE,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n immediate: {\n type: Boolean,\n default: true,\n },\n}\n\ntype Attrs = typeof attributes\ntype ScrollOptions = { [K in keyof Attrs]: Attrs[K]['default'] }\ntype InfiniteScrollCallback = () => void\ntype InfiniteScrollEl = HTMLElement & {\n [SCOPE]: {\n container: HTMLElement | Window\n containerEl: HTMLElement\n instance: ComponentPublicInstance\n delay: number // export for test\n lastScrollTop: number\n cb: InfiniteScrollCallback\n onScroll: () => void\n observer?: MutationObserver\n }\n}\n\nconst getScrollOptions = (\n el: HTMLElement,\n instance: ComponentPublicInstance\n): ScrollOptions => {\n return Object.entries(attributes).reduce((acm, [name, option]) => {\n const { type, default: defaultValue } = option\n const attrVal = el.getAttribute(`infinite-scroll-${name}`)\n let value = instance[attrVal] ?? attrVal ?? defaultValue\n value = value === 'false' ? false : value\n value = type(value)\n acm[name] = Number.isNaN(value) ? defaultValue : value\n return acm\n }, {} as ScrollOptions)\n}\n\nconst destroyObserver = (el: InfiniteScrollEl) => {\n const { observer } = el[SCOPE]\n\n if (observer) {\n observer.disconnect()\n delete el[SCOPE].observer\n }\n}\n\nconst handleScroll = (el: InfiniteScrollEl, cb: InfiniteScrollCallback) => {\n const { container, containerEl, instance, observer, lastScrollTop } =\n el[SCOPE]\n const { disabled, distance } = getScrollOptions(el, instance)\n const { clientHeight, scrollHeight, scrollTop } = containerEl\n const delta = scrollTop - lastScrollTop\n\n el[SCOPE].lastScrollTop = scrollTop\n\n // trigger only if full check has done and not disabled and scroll down\n if (observer || disabled || delta < 0) return\n\n let shouldTrigger = false\n\n if (container === el) {\n shouldTrigger = scrollHeight - (clientHeight + scrollTop) <= distance\n } else {\n // get the scrollHeight since el might be visible overflow\n const { clientTop, scrollHeight: height } = el\n const offsetTop = getOffsetTopDistance(el, containerEl)\n shouldTrigger =\n scrollTop + clientHeight >= offsetTop + clientTop + height - distance\n }\n\n if (shouldTrigger) {\n cb.call(instance)\n }\n}\n\nfunction checkFull(el: InfiniteScrollEl, cb: InfiniteScrollCallback) {\n const { containerEl, instance } = el[SCOPE]\n const { disabled } = getScrollOptions(el, instance)\n\n if (disabled || containerEl.clientHeight === 0) return\n\n if (containerEl.scrollHeight <= containerEl.clientHeight) {\n cb.call(instance)\n } else {\n destroyObserver(el)\n }\n}\n\nconst InfiniteScroll: ObjectDirective<\n InfiniteScrollEl,\n InfiniteScrollCallback\n> = {\n async mounted(el, binding) {\n const { instance, value: cb } = binding\n\n if (!isFunction(cb)) {\n throwError(SCOPE, \"'v-infinite-scroll' binding value must be a function\")\n }\n\n // ensure parentNode mounted\n await nextTick()\n\n const { delay, immediate } = getScrollOptions(el, instance)\n const container = getScrollContainer(el, true)\n const containerEl =\n container === window\n ? document.documentElement\n : (container as HTMLElement)\n const onScroll = throttle(handleScroll.bind(null, el, cb), delay)\n\n if (!container) return\n\n el[SCOPE] = {\n instance,\n container,\n containerEl,\n delay,\n cb,\n onScroll,\n lastScrollTop: containerEl.scrollTop,\n }\n\n if (immediate) {\n const observer = new MutationObserver(\n throttle(checkFull.bind(null, el, cb), CHECK_INTERVAL)\n )\n el[SCOPE].observer = observer\n observer.observe(el, { childList: true, subtree: true })\n checkFull(el, cb)\n }\n\n container.addEventListener('scroll', onScroll)\n },\n unmounted(el) {\n if (!el[SCOPE]) return\n const { container, onScroll } = el[SCOPE]\n\n container?.removeEventListener('scroll', onScroll)\n destroyObserver(el)\n },\n async updated(el) {\n if (!el[SCOPE]) {\n await nextTick()\n } else {\n const { containerEl, cb, observer } = el[SCOPE]\n if (containerEl.clientHeight && observer) {\n checkFull(el, cb)\n }\n }\n },\n}\n\nexport default InfiniteScroll\n"],"names":["getOffsetTopDistance","isFunction","throwError","nextTick","getScrollContainer","throttle"],"mappings":"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"}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
6
  var menu = require('./src/menu.js');
7
- var menuItem$1 = require('./src/menu-item2.js');
7
+ var menuItem$1 = require('./src/menu-item.js');
8
8
  var menuItemGroup$1 = require('./src/menu-item-group2.js');
9
9
  var subMenu = require('./src/sub-menu.js');
10
- var menuItem = require('./src/menu-item.js');
10
+ var menuItem = require('./src/menu-item2.js');
11
11
  var menuItemGroup = require('./src/menu-item-group.js');
12
12
  require('./src/types.js');
13
13
  require('./src/instance.js');
@@ -2,24 +2,106 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
6
+ var index = require('../../tooltip/index.js');
5
7
  require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
- var shared = require('@vue/shared');
8
+ require('../../../hooks/index.js');
9
+ var useMenu = require('./use-menu.js');
10
+ var menuItem = require('./menu-item2.js');
11
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
+ var index$1 = require('../../../hooks/use-namespace/index.js');
13
+ var error = require('../../../utils/error.js');
8
14
 
9
- const menuItemProps = runtime.buildProps({
10
- index: {
11
- type: runtime.definePropType([String, null]),
12
- default: null
15
+ const COMPONENT_NAME = "ElMenuItem";
16
+ const _sfc_main = vue.defineComponent({
17
+ name: COMPONENT_NAME,
18
+ components: {
19
+ ElTooltip: index.ElTooltip
13
20
  },
14
- route: {
15
- type: runtime.definePropType([String, Object])
16
- },
17
- disabled: Boolean
21
+ props: menuItem.menuItemProps,
22
+ emits: menuItem.menuItemEmits,
23
+ setup(props, { emit }) {
24
+ const instance = vue.getCurrentInstance();
25
+ const rootMenu = vue.inject("rootMenu");
26
+ const nsMenu = index$1.useNamespace("menu");
27
+ const nsMenuItem = index$1.useNamespace("menu-item");
28
+ if (!rootMenu)
29
+ error.throwError(COMPONENT_NAME, "can not inject root menu");
30
+ const { parentMenu, indexPath } = useMenu["default"](instance, vue.toRef(props, "index"));
31
+ const subMenu = vue.inject(`subMenu:${parentMenu.value.uid}`);
32
+ if (!subMenu)
33
+ error.throwError(COMPONENT_NAME, "can not inject sub menu");
34
+ const active = vue.computed(() => props.index === rootMenu.activeIndex);
35
+ const item = vue.reactive({
36
+ index: props.index,
37
+ indexPath,
38
+ active
39
+ });
40
+ const handleClick = () => {
41
+ if (!props.disabled) {
42
+ rootMenu.handleMenuItemClick({
43
+ index: props.index,
44
+ indexPath: indexPath.value,
45
+ route: props.route
46
+ });
47
+ emit("click", item);
48
+ }
49
+ };
50
+ vue.onMounted(() => {
51
+ subMenu.addSubMenu(item);
52
+ rootMenu.addMenuItem(item);
53
+ });
54
+ vue.onBeforeUnmount(() => {
55
+ subMenu.removeSubMenu(item);
56
+ rootMenu.removeMenuItem(item);
57
+ });
58
+ return {
59
+ parentMenu,
60
+ rootMenu,
61
+ active,
62
+ nsMenu,
63
+ nsMenuItem,
64
+ handleClick
65
+ };
66
+ }
18
67
  });
19
- const menuItemEmits = {
20
- click: (item) => shared.isString(item.index) && Array.isArray(item.indexPath)
21
- };
68
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
69
+ const _component_el_tooltip = vue.resolveComponent("el-tooltip");
70
+ return vue.openBlock(), vue.createElementBlock("li", {
71
+ class: vue.normalizeClass([
72
+ _ctx.nsMenuItem.b(),
73
+ _ctx.nsMenuItem.is("active", _ctx.active),
74
+ _ctx.nsMenuItem.is("disabled", _ctx.disabled)
75
+ ]),
76
+ role: "menuitem",
77
+ tabindex: "-1",
78
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
79
+ }, [
80
+ _ctx.parentMenu.type.name === "ElMenu" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (vue.openBlock(), vue.createBlock(_component_el_tooltip, {
81
+ key: 0,
82
+ effect: _ctx.rootMenu.props.popperEffect,
83
+ placement: "right",
84
+ "fallback-placements": ["left"],
85
+ persistent: ""
86
+ }, {
87
+ content: vue.withCtx(() => [
88
+ vue.renderSlot(_ctx.$slots, "title")
89
+ ]),
90
+ default: vue.withCtx(() => [
91
+ vue.createElementVNode("div", {
92
+ class: vue.normalizeClass(_ctx.nsMenu.be("tooltip", "trigger"))
93
+ }, [
94
+ vue.renderSlot(_ctx.$slots, "default")
95
+ ], 2)
96
+ ]),
97
+ _: 3
98
+ }, 8, ["effect"])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
99
+ vue.renderSlot(_ctx.$slots, "default"),
100
+ vue.renderSlot(_ctx.$slots, "title")
101
+ ], 64))
102
+ ], 2);
103
+ }
104
+ var MenuItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "menu-item.vue"]]);
22
105
 
23
- exports.menuItemEmits = menuItemEmits;
24
- exports.menuItemProps = menuItemProps;
106
+ exports["default"] = MenuItem;
25
107
  //# sourceMappingURL=menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sources":["../../../../../../packages/components/menu/src/menu-item.ts"],"sourcesContent":["import { buildProps, definePropType, isString } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { MenuItemRegistered } from './types'\n\nexport const menuItemProps = buildProps({\n index: {\n type: definePropType<string | null>([String, null]),\n default: null,\n },\n route: {\n type: definePropType<RouteLocationRaw>([String, Object]),\n },\n disabled: Boolean,\n} as const)\nexport type MenuItemProps = ExtractPropTypes<typeof menuItemProps>\n\nexport const menuItemEmits = {\n click: (item: MenuItemRegistered) =>\n isString(item.index) && Array.isArray(item.indexPath),\n}\nexport type MenuItemEmits = typeof menuItemEmits\n"],"names":["buildProps","definePropType","isString"],"mappings":";;;;;;;;AACY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,CAAC,IAAI,KAAKC,eAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AACxE;;;;;"}
1
+ {"version":3,"file":"menu-item.js","sources":["../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["<template>\n <li\n :class=\"[\n nsMenuItem.b(),\n nsMenuItem.is('active', active),\n nsMenuItem.is('disabled', disabled),\n ]\"\n role=\"menuitem\"\n tabindex=\"-1\"\n @click=\"handleClick\"\n >\n <el-tooltip\n v-if=\"\n parentMenu.type.name === 'ElMenu' &&\n rootMenu.props.collapse &&\n $slots.title\n \"\n :effect=\"rootMenu.props.popperEffect\"\n placement=\"right\"\n :fallback-placements=\"['left']\"\n persistent\n >\n <template #content>\n <slot name=\"title\" />\n </template>\n <div :class=\"nsMenu.be('tooltip', 'trigger')\">\n <slot />\n </div>\n </el-tooltip>\n <template v-else>\n <slot />\n <slot name=\"title\" />\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n reactive,\n toRef,\n} from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport useMenu from './use-menu'\nimport { menuItemEmits, menuItemProps } from './menu-item'\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types'\n\nconst COMPONENT_NAME = 'ElMenuItem'\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n\n props: menuItemProps,\n emits: menuItemEmits,\n\n setup(props, { emit }) {\n const instance = getCurrentInstance()!\n const rootMenu = inject<MenuProvider>('rootMenu')\n const nsMenu = useNamespace('menu')\n const nsMenuItem = useNamespace('menu-item')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const { parentMenu, indexPath } = useMenu(instance, toRef(props, 'index'))\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value.uid}`)\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const active = computed(() => props.index === rootMenu.activeIndex)\n const item: MenuItemRegistered = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const handleClick = () => {\n if (!props.disabled) {\n rootMenu.handleMenuItemClick({\n index: props.index,\n indexPath: indexPath.value,\n route: props.route,\n })\n emit('click', item)\n }\n }\n\n onMounted(() => {\n subMenu.addSubMenu(item)\n rootMenu.addMenuItem(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeMenuItem(item)\n })\n\n return {\n parentMenu,\n rootMenu,\n active,\n nsMenu,\n nsMenuItem,\n handleClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","menuItemProps","menuItemEmits","getCurrentInstance","inject","useNamespace","throwError","useMenu","toRef","computed","reactive","onMounted","onBeforeUnmount","_createElementBlock","_normalizeClass","_createBlock","_withCtx","_renderSlot","_createElementVNode","_Fragment"],"mappings":"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"}