@element-plus/nightly 0.0.20220528 → 0.0.20220529

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 (440) hide show
  1. package/dist/index.full.js +652 -727
  2. package/dist/index.full.min.js +15 -15
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +18 -18
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +653 -728
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/az.js +1 -1
  16. package/dist/locale/az.min.js +1 -1
  17. package/dist/locale/az.min.mjs +1 -1
  18. package/dist/locale/az.mjs +1 -1
  19. package/dist/locale/bg.js +1 -1
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.mjs +1 -1
  22. package/dist/locale/bg.mjs +1 -1
  23. package/dist/locale/bn.js +1 -1
  24. package/dist/locale/bn.min.js +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +1 -1
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.mjs +1 -1
  30. package/dist/locale/ca.mjs +1 -1
  31. package/dist/locale/cs.js +1 -1
  32. package/dist/locale/cs.min.js +1 -1
  33. package/dist/locale/cs.min.mjs +1 -1
  34. package/dist/locale/cs.mjs +1 -1
  35. package/dist/locale/da.js +1 -1
  36. package/dist/locale/da.min.js +1 -1
  37. package/dist/locale/da.min.mjs +1 -1
  38. package/dist/locale/da.mjs +1 -1
  39. package/dist/locale/de.js +1 -1
  40. package/dist/locale/de.min.js +1 -1
  41. package/dist/locale/de.min.mjs +1 -1
  42. package/dist/locale/de.mjs +1 -1
  43. package/dist/locale/el.js +1 -1
  44. package/dist/locale/el.min.js +1 -1
  45. package/dist/locale/el.min.mjs +1 -1
  46. package/dist/locale/el.mjs +1 -1
  47. package/dist/locale/en.js +1 -1
  48. package/dist/locale/en.min.js +1 -1
  49. package/dist/locale/en.min.mjs +1 -1
  50. package/dist/locale/en.mjs +1 -1
  51. package/dist/locale/eo.js +1 -1
  52. package/dist/locale/eo.min.js +1 -1
  53. package/dist/locale/eo.min.mjs +1 -1
  54. package/dist/locale/eo.mjs +1 -1
  55. package/dist/locale/es.js +1 -1
  56. package/dist/locale/es.min.js +1 -1
  57. package/dist/locale/es.min.mjs +1 -1
  58. package/dist/locale/es.mjs +1 -1
  59. package/dist/locale/et.js +1 -1
  60. package/dist/locale/et.min.js +1 -1
  61. package/dist/locale/et.min.mjs +1 -1
  62. package/dist/locale/et.mjs +1 -1
  63. package/dist/locale/eu.js +1 -1
  64. package/dist/locale/eu.min.js +1 -1
  65. package/dist/locale/eu.min.mjs +1 -1
  66. package/dist/locale/eu.mjs +1 -1
  67. package/dist/locale/fa.js +1 -1
  68. package/dist/locale/fa.min.js +1 -1
  69. package/dist/locale/fa.min.mjs +1 -1
  70. package/dist/locale/fa.mjs +1 -1
  71. package/dist/locale/fi.js +1 -1
  72. package/dist/locale/fi.min.js +1 -1
  73. package/dist/locale/fi.min.mjs +1 -1
  74. package/dist/locale/fi.mjs +1 -1
  75. package/dist/locale/fr.js +1 -1
  76. package/dist/locale/fr.min.js +1 -1
  77. package/dist/locale/fr.min.mjs +1 -1
  78. package/dist/locale/fr.mjs +1 -1
  79. package/dist/locale/he.js +1 -1
  80. package/dist/locale/he.min.js +1 -1
  81. package/dist/locale/he.min.mjs +1 -1
  82. package/dist/locale/he.mjs +1 -1
  83. package/dist/locale/hr.js +1 -1
  84. package/dist/locale/hr.min.js +1 -1
  85. package/dist/locale/hr.min.mjs +1 -1
  86. package/dist/locale/hr.mjs +1 -1
  87. package/dist/locale/hu.js +1 -1
  88. package/dist/locale/hu.min.js +1 -1
  89. package/dist/locale/hu.min.mjs +1 -1
  90. package/dist/locale/hu.mjs +1 -1
  91. package/dist/locale/hy-am.js +1 -1
  92. package/dist/locale/hy-am.min.js +1 -1
  93. package/dist/locale/hy-am.min.mjs +1 -1
  94. package/dist/locale/hy-am.mjs +1 -1
  95. package/dist/locale/id.js +1 -1
  96. package/dist/locale/id.min.js +1 -1
  97. package/dist/locale/id.min.mjs +1 -1
  98. package/dist/locale/id.mjs +1 -1
  99. package/dist/locale/it.js +1 -1
  100. package/dist/locale/it.min.js +1 -1
  101. package/dist/locale/it.min.mjs +1 -1
  102. package/dist/locale/it.mjs +1 -1
  103. package/dist/locale/ja.js +1 -1
  104. package/dist/locale/ja.min.js +1 -1
  105. package/dist/locale/ja.min.mjs +1 -1
  106. package/dist/locale/ja.mjs +1 -1
  107. package/dist/locale/kk.js +1 -1
  108. package/dist/locale/kk.min.js +1 -1
  109. package/dist/locale/kk.min.mjs +1 -1
  110. package/dist/locale/kk.mjs +1 -1
  111. package/dist/locale/km.js +1 -1
  112. package/dist/locale/km.min.js +1 -1
  113. package/dist/locale/km.min.mjs +1 -1
  114. package/dist/locale/km.mjs +1 -1
  115. package/dist/locale/ko.js +1 -1
  116. package/dist/locale/ko.min.js +1 -1
  117. package/dist/locale/ko.min.mjs +1 -1
  118. package/dist/locale/ko.mjs +1 -1
  119. package/dist/locale/ku.js +1 -1
  120. package/dist/locale/ku.min.js +1 -1
  121. package/dist/locale/ku.min.mjs +1 -1
  122. package/dist/locale/ku.mjs +1 -1
  123. package/dist/locale/ky.js +1 -1
  124. package/dist/locale/ky.min.js +1 -1
  125. package/dist/locale/ky.min.mjs +1 -1
  126. package/dist/locale/ky.mjs +1 -1
  127. package/dist/locale/lt.js +1 -1
  128. package/dist/locale/lt.min.js +1 -1
  129. package/dist/locale/lt.min.mjs +1 -1
  130. package/dist/locale/lt.mjs +1 -1
  131. package/dist/locale/lv.js +1 -1
  132. package/dist/locale/lv.min.js +1 -1
  133. package/dist/locale/lv.min.mjs +1 -1
  134. package/dist/locale/lv.mjs +1 -1
  135. package/dist/locale/mg.js +1 -1
  136. package/dist/locale/mg.min.js +1 -1
  137. package/dist/locale/mg.min.mjs +1 -1
  138. package/dist/locale/mg.mjs +1 -1
  139. package/dist/locale/mn.js +1 -1
  140. package/dist/locale/mn.min.js +1 -1
  141. package/dist/locale/mn.min.mjs +1 -1
  142. package/dist/locale/mn.mjs +1 -1
  143. package/dist/locale/nb-no.js +1 -1
  144. package/dist/locale/nb-no.min.js +1 -1
  145. package/dist/locale/nb-no.min.mjs +1 -1
  146. package/dist/locale/nb-no.mjs +1 -1
  147. package/dist/locale/nl.js +1 -1
  148. package/dist/locale/nl.min.js +1 -1
  149. package/dist/locale/nl.min.mjs +1 -1
  150. package/dist/locale/nl.mjs +1 -1
  151. package/dist/locale/pa.js +1 -1
  152. package/dist/locale/pa.min.js +1 -1
  153. package/dist/locale/pa.min.mjs +1 -1
  154. package/dist/locale/pa.mjs +1 -1
  155. package/dist/locale/pl.js +1 -1
  156. package/dist/locale/pl.min.js +1 -1
  157. package/dist/locale/pl.min.mjs +1 -1
  158. package/dist/locale/pl.mjs +1 -1
  159. package/dist/locale/pt-br.js +1 -1
  160. package/dist/locale/pt-br.min.js +1 -1
  161. package/dist/locale/pt-br.min.mjs +1 -1
  162. package/dist/locale/pt-br.mjs +1 -1
  163. package/dist/locale/pt.js +1 -1
  164. package/dist/locale/pt.min.js +1 -1
  165. package/dist/locale/pt.min.mjs +1 -1
  166. package/dist/locale/pt.mjs +1 -1
  167. package/dist/locale/ro.js +1 -1
  168. package/dist/locale/ro.min.js +1 -1
  169. package/dist/locale/ro.min.mjs +1 -1
  170. package/dist/locale/ro.mjs +1 -1
  171. package/dist/locale/ru.js +1 -1
  172. package/dist/locale/ru.min.js +1 -1
  173. package/dist/locale/ru.min.mjs +1 -1
  174. package/dist/locale/ru.mjs +1 -1
  175. package/dist/locale/sk.js +1 -1
  176. package/dist/locale/sk.min.js +1 -1
  177. package/dist/locale/sk.min.mjs +1 -1
  178. package/dist/locale/sk.mjs +1 -1
  179. package/dist/locale/sl.js +1 -1
  180. package/dist/locale/sl.min.js +1 -1
  181. package/dist/locale/sl.min.mjs +1 -1
  182. package/dist/locale/sl.mjs +1 -1
  183. package/dist/locale/sr.js +1 -1
  184. package/dist/locale/sr.min.js +1 -1
  185. package/dist/locale/sr.min.mjs +1 -1
  186. package/dist/locale/sr.mjs +1 -1
  187. package/dist/locale/sv.js +1 -1
  188. package/dist/locale/sv.min.js +1 -1
  189. package/dist/locale/sv.min.mjs +1 -1
  190. package/dist/locale/sv.mjs +1 -1
  191. package/dist/locale/ta.js +1 -1
  192. package/dist/locale/ta.min.js +1 -1
  193. package/dist/locale/ta.min.mjs +1 -1
  194. package/dist/locale/ta.mjs +1 -1
  195. package/dist/locale/th.js +1 -1
  196. package/dist/locale/th.min.js +1 -1
  197. package/dist/locale/th.min.mjs +1 -1
  198. package/dist/locale/th.mjs +1 -1
  199. package/dist/locale/tk.js +1 -1
  200. package/dist/locale/tk.min.js +1 -1
  201. package/dist/locale/tk.min.mjs +1 -1
  202. package/dist/locale/tk.mjs +1 -1
  203. package/dist/locale/tr.js +1 -1
  204. package/dist/locale/tr.min.js +1 -1
  205. package/dist/locale/tr.min.mjs +1 -1
  206. package/dist/locale/tr.mjs +1 -1
  207. package/dist/locale/ug-cn.js +1 -1
  208. package/dist/locale/ug-cn.min.js +1 -1
  209. package/dist/locale/ug-cn.min.mjs +1 -1
  210. package/dist/locale/ug-cn.mjs +1 -1
  211. package/dist/locale/uk.js +1 -1
  212. package/dist/locale/uk.min.js +1 -1
  213. package/dist/locale/uk.min.mjs +1 -1
  214. package/dist/locale/uk.mjs +1 -1
  215. package/dist/locale/uz-uz.js +1 -1
  216. package/dist/locale/uz-uz.min.js +1 -1
  217. package/dist/locale/uz-uz.min.mjs +1 -1
  218. package/dist/locale/uz-uz.mjs +1 -1
  219. package/dist/locale/vi.js +1 -1
  220. package/dist/locale/vi.min.js +1 -1
  221. package/dist/locale/vi.min.mjs +1 -1
  222. package/dist/locale/vi.mjs +1 -1
  223. package/dist/locale/zh-cn.js +1 -1
  224. package/dist/locale/zh-cn.min.js +1 -1
  225. package/dist/locale/zh-cn.min.mjs +1 -1
  226. package/dist/locale/zh-cn.mjs +1 -1
  227. package/dist/locale/zh-tw.js +1 -1
  228. package/dist/locale/zh-tw.min.js +1 -1
  229. package/dist/locale/zh-tw.min.mjs +1 -1
  230. package/dist/locale/zh-tw.mjs +1 -1
  231. package/es/components/affix/src/affix3.mjs +5 -2
  232. package/es/components/affix/src/affix3.mjs.map +1 -1
  233. package/es/components/alert/src/alert4.mjs +5 -2
  234. package/es/components/alert/src/alert4.mjs.map +1 -1
  235. package/es/components/autocomplete/src/autocomplete3.mjs +3 -3
  236. package/es/components/autocomplete/src/autocomplete3.mjs.map +1 -1
  237. package/es/components/autocomplete/src/autocomplete4.mjs +41 -52
  238. package/es/components/autocomplete/src/autocomplete4.mjs.map +1 -1
  239. package/es/components/avatar/src/avatar3.mjs +2 -1
  240. package/es/components/avatar/src/avatar3.mjs.map +1 -1
  241. package/es/components/backtop/src/backtop3.mjs.map +1 -1
  242. package/es/components/backtop/src/backtop4.mjs +1 -1
  243. package/es/components/backtop/src/backtop4.mjs.map +1 -1
  244. package/es/components/breadcrumb/src/breadcrumb-item4.mjs +4 -4
  245. package/es/components/breadcrumb/src/breadcrumb-item4.mjs.map +1 -1
  246. package/es/components/calendar/src/calendar3.mjs +6 -4
  247. package/es/components/calendar/src/calendar3.mjs.map +1 -1
  248. package/es/components/calendar/src/calendar4.mjs +31 -37
  249. package/es/components/calendar/src/calendar4.mjs.map +1 -1
  250. package/es/components/calendar/src/date-table4.mjs.map +1 -1
  251. package/es/components/card/src/card3.mjs +1 -0
  252. package/es/components/card/src/card3.mjs.map +1 -1
  253. package/es/components/check-tag/src/check-tag3.mjs +3 -1
  254. package/es/components/check-tag/src/check-tag3.mjs.map +1 -1
  255. package/es/components/check-tag/src/check-tag4.mjs +3 -1
  256. package/es/components/check-tag/src/check-tag4.mjs.map +1 -1
  257. package/es/components/collapse-transition/src/collapse-transition2.mjs +62 -62
  258. package/es/components/collapse-transition/src/collapse-transition2.mjs.map +1 -1
  259. package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs +2 -2
  260. package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs.map +1 -1
  261. package/es/components/image-viewer/index.mjs +1 -1
  262. package/es/components/image-viewer/index2.mjs +2 -2
  263. package/es/components/image-viewer/src/image-viewer.mjs +1 -1
  264. package/es/components/image-viewer/src/image-viewer3.mjs +399 -34
  265. package/es/components/image-viewer/src/image-viewer3.mjs.map +1 -1
  266. package/es/components/image-viewer/src/image-viewer4.mjs +34 -399
  267. package/es/components/image-viewer/src/image-viewer4.mjs.map +1 -1
  268. package/es/components/index.mjs +1 -1
  269. package/es/components/input-number/src/input-number4.mjs +90 -118
  270. package/es/components/input-number/src/input-number4.mjs.map +1 -1
  271. package/es/components/progress/src/progress3.mjs.map +1 -1
  272. package/es/components/progress/src/progress4.mjs +124 -153
  273. package/es/components/progress/src/progress4.mjs.map +1 -1
  274. package/es/components/rate/src/rate3.mjs +8 -11
  275. package/es/components/rate/src/rate3.mjs.map +1 -1
  276. package/es/components/time-picker/src/time-picker-com/basic-time-spinner2.mjs +2 -2
  277. package/es/components/time-picker/src/time-picker-com/basic-time-spinner2.mjs.map +1 -1
  278. package/es/components/tooltip/src/tooltip3.mjs +3 -1
  279. package/es/components/tooltip/src/tooltip3.mjs.map +1 -1
  280. package/es/directives/repeat-click/index2.mjs +2 -2
  281. package/es/directives/repeat-click/index2.mjs.map +1 -1
  282. package/es/index.mjs +1 -1
  283. package/es/packages/components/alert/index.d.ts +3 -3
  284. package/es/packages/components/alert/src/alert.vue.d.ts +3 -3
  285. package/es/packages/components/autocomplete/index.d.ts +32 -30
  286. package/es/packages/components/autocomplete/src/autocomplete.d.ts +1 -3
  287. package/es/packages/components/autocomplete/src/autocomplete.vue.d.ts +32 -30
  288. package/es/packages/components/backtop/src/backtop.d.ts +2 -0
  289. package/es/packages/components/breadcrumb/index.d.ts +8 -8
  290. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.d.ts +4 -5
  291. package/es/packages/components/calendar/index.d.ts +3 -3
  292. package/es/packages/components/calendar/src/calendar.vue.d.ts +3 -3
  293. package/es/packages/components/card/index.d.ts +3 -3
  294. package/es/packages/components/card/src/card.d.ts +1 -1
  295. package/es/packages/components/card/src/card.vue.d.ts +3 -3
  296. package/es/packages/components/cascader/index.d.ts +18 -18
  297. package/es/packages/components/cascader/src/index.vue.d.ts +9 -9
  298. package/es/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  299. package/es/packages/components/date-picker/src/utils.d.ts +1 -1
  300. package/es/packages/components/dropdown/index.d.ts +9 -9
  301. package/es/packages/components/dropdown/src/dropdown.vue.d.ts +9 -9
  302. package/es/packages/components/input-number/index.d.ts +471 -109
  303. package/es/packages/components/input-number/src/input-number.vue.d.ts +471 -110
  304. package/es/packages/components/pagination/src/components/sizes.vue.d.ts +9 -9
  305. package/es/packages/components/popconfirm/index.d.ts +14 -14
  306. package/es/packages/components/popconfirm/src/popconfirm.vue.d.ts +14 -14
  307. package/es/packages/components/popover/index.d.ts +22 -22
  308. package/es/packages/components/popover/src/index.vue.d.ts +11 -11
  309. package/es/packages/components/popover/src/popover.d.ts +1 -1
  310. package/es/packages/components/progress/index.d.ts +66 -18
  311. package/es/packages/components/progress/src/progress.d.ts +5 -4
  312. package/es/packages/components/progress/src/progress.vue.d.ts +93 -44
  313. package/es/packages/components/rate/index.d.ts +13 -13
  314. package/es/packages/components/rate/src/rate.d.ts +4 -4
  315. package/es/packages/components/rate/src/rate.vue.d.ts +13 -13
  316. package/es/packages/components/select/index.d.ts +9 -9
  317. package/es/packages/components/select/src/select.vue.d.ts +9 -9
  318. package/es/packages/components/select/src/useSelect.d.ts +9 -9
  319. package/es/packages/components/select-v2/index.d.ts +18 -18
  320. package/es/packages/components/select-v2/src/select.vue.d.ts +9 -9
  321. package/es/packages/components/select-v2/src/useSelect.d.ts +9 -9
  322. package/es/packages/components/table/src/filter-panel.vue.d.ts +9 -9
  323. package/es/packages/components/time-picker/src/common/picker.vue.d.ts +9 -9
  324. package/es/packages/components/time-select/index.d.ts +36 -36
  325. package/es/packages/components/time-select/src/time-select.vue.d.ts +18 -18
  326. package/es/packages/components/tooltip/index.d.ts +5 -5
  327. package/es/packages/components/tooltip/src/content.vue.d.ts +2 -2
  328. package/es/packages/components/tooltip/src/tooltip.d.ts +2 -2
  329. package/es/packages/components/tooltip/src/tooltip.vue.d.ts +5 -5
  330. package/es/packages/components/upload/index.d.ts +66 -18
  331. package/es/packages/components/upload/src/upload-list.vue.d.ts +66 -18
  332. package/es/packages/components/upload/src/upload.vue.d.ts +66 -18
  333. package/es/packages/version.d.ts +1 -1
  334. package/es/version2.mjs +1 -1
  335. package/es/version2.mjs.map +1 -1
  336. package/lib/components/affix/src/affix3.js +5 -2
  337. package/lib/components/affix/src/affix3.js.map +1 -1
  338. package/lib/components/alert/src/alert4.js +5 -2
  339. package/lib/components/alert/src/alert4.js.map +1 -1
  340. package/lib/components/autocomplete/src/autocomplete3.js +2 -2
  341. package/lib/components/autocomplete/src/autocomplete3.js.map +1 -1
  342. package/lib/components/autocomplete/src/autocomplete4.js +42 -53
  343. package/lib/components/autocomplete/src/autocomplete4.js.map +1 -1
  344. package/lib/components/avatar/src/avatar3.js +2 -1
  345. package/lib/components/avatar/src/avatar3.js.map +1 -1
  346. package/lib/components/backtop/src/backtop3.js.map +1 -1
  347. package/lib/components/backtop/src/backtop4.js +1 -1
  348. package/lib/components/backtop/src/backtop4.js.map +1 -1
  349. package/lib/components/breadcrumb/src/breadcrumb-item4.js +3 -3
  350. package/lib/components/breadcrumb/src/breadcrumb-item4.js.map +1 -1
  351. package/lib/components/calendar/src/calendar3.js +5 -3
  352. package/lib/components/calendar/src/calendar3.js.map +1 -1
  353. package/lib/components/calendar/src/calendar4.js +31 -37
  354. package/lib/components/calendar/src/calendar4.js.map +1 -1
  355. package/lib/components/calendar/src/date-table4.js.map +1 -1
  356. package/lib/components/card/src/card3.js +1 -0
  357. package/lib/components/card/src/card3.js.map +1 -1
  358. package/lib/components/check-tag/src/check-tag3.js +3 -1
  359. package/lib/components/check-tag/src/check-tag3.js.map +1 -1
  360. package/lib/components/check-tag/src/check-tag4.js +3 -1
  361. package/lib/components/check-tag/src/check-tag4.js.map +1 -1
  362. package/lib/components/collapse-transition/src/collapse-transition2.js +61 -61
  363. package/lib/components/collapse-transition/src/collapse-transition2.js.map +1 -1
  364. package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js +2 -2
  365. package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js.map +1 -1
  366. package/lib/components/image-viewer/index.js +1 -1
  367. package/lib/components/image-viewer/index2.js +2 -2
  368. package/lib/components/image-viewer/src/image-viewer.js +1 -1
  369. package/lib/components/image-viewer/src/image-viewer3.js +399 -35
  370. package/lib/components/image-viewer/src/image-viewer3.js.map +1 -1
  371. package/lib/components/image-viewer/src/image-viewer4.js +35 -399
  372. package/lib/components/image-viewer/src/image-viewer4.js.map +1 -1
  373. package/lib/components/index.js +1 -1
  374. package/lib/components/input-number/src/input-number4.js +95 -123
  375. package/lib/components/input-number/src/input-number4.js.map +1 -1
  376. package/lib/components/progress/src/progress3.js.map +1 -1
  377. package/lib/components/progress/src/progress4.js +125 -154
  378. package/lib/components/progress/src/progress4.js.map +1 -1
  379. package/lib/components/rate/src/rate3.js +7 -10
  380. package/lib/components/rate/src/rate3.js.map +1 -1
  381. package/lib/components/tooltip/src/tooltip3.js +7 -5
  382. package/lib/components/tooltip/src/tooltip3.js.map +1 -1
  383. package/lib/directives/repeat-click/index2.js +2 -2
  384. package/lib/directives/repeat-click/index2.js.map +1 -1
  385. package/lib/index.js +1 -1
  386. package/lib/packages/components/alert/index.d.ts +3 -3
  387. package/lib/packages/components/alert/src/alert.vue.d.ts +3 -3
  388. package/lib/packages/components/autocomplete/index.d.ts +32 -30
  389. package/lib/packages/components/autocomplete/src/autocomplete.d.ts +1 -3
  390. package/lib/packages/components/autocomplete/src/autocomplete.vue.d.ts +32 -30
  391. package/lib/packages/components/backtop/src/backtop.d.ts +2 -0
  392. package/lib/packages/components/breadcrumb/index.d.ts +8 -8
  393. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.d.ts +4 -5
  394. package/lib/packages/components/calendar/index.d.ts +3 -3
  395. package/lib/packages/components/calendar/src/calendar.vue.d.ts +3 -3
  396. package/lib/packages/components/card/index.d.ts +3 -3
  397. package/lib/packages/components/card/src/card.d.ts +1 -1
  398. package/lib/packages/components/card/src/card.vue.d.ts +3 -3
  399. package/lib/packages/components/cascader/index.d.ts +18 -18
  400. package/lib/packages/components/cascader/src/index.vue.d.ts +9 -9
  401. package/lib/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  402. package/lib/packages/components/date-picker/src/utils.d.ts +1 -1
  403. package/lib/packages/components/dropdown/index.d.ts +9 -9
  404. package/lib/packages/components/dropdown/src/dropdown.vue.d.ts +9 -9
  405. package/lib/packages/components/input-number/index.d.ts +471 -109
  406. package/lib/packages/components/input-number/src/input-number.vue.d.ts +471 -110
  407. package/lib/packages/components/pagination/src/components/sizes.vue.d.ts +9 -9
  408. package/lib/packages/components/popconfirm/index.d.ts +14 -14
  409. package/lib/packages/components/popconfirm/src/popconfirm.vue.d.ts +14 -14
  410. package/lib/packages/components/popover/index.d.ts +22 -22
  411. package/lib/packages/components/popover/src/index.vue.d.ts +11 -11
  412. package/lib/packages/components/popover/src/popover.d.ts +1 -1
  413. package/lib/packages/components/progress/index.d.ts +66 -18
  414. package/lib/packages/components/progress/src/progress.d.ts +5 -4
  415. package/lib/packages/components/progress/src/progress.vue.d.ts +93 -44
  416. package/lib/packages/components/rate/index.d.ts +13 -13
  417. package/lib/packages/components/rate/src/rate.d.ts +4 -4
  418. package/lib/packages/components/rate/src/rate.vue.d.ts +13 -13
  419. package/lib/packages/components/select/index.d.ts +9 -9
  420. package/lib/packages/components/select/src/select.vue.d.ts +9 -9
  421. package/lib/packages/components/select/src/useSelect.d.ts +9 -9
  422. package/lib/packages/components/select-v2/index.d.ts +18 -18
  423. package/lib/packages/components/select-v2/src/select.vue.d.ts +9 -9
  424. package/lib/packages/components/select-v2/src/useSelect.d.ts +9 -9
  425. package/lib/packages/components/table/src/filter-panel.vue.d.ts +9 -9
  426. package/lib/packages/components/time-picker/src/common/picker.vue.d.ts +9 -9
  427. package/lib/packages/components/time-select/index.d.ts +36 -36
  428. package/lib/packages/components/time-select/src/time-select.vue.d.ts +18 -18
  429. package/lib/packages/components/tooltip/index.d.ts +5 -5
  430. package/lib/packages/components/tooltip/src/content.vue.d.ts +2 -2
  431. package/lib/packages/components/tooltip/src/tooltip.d.ts +2 -2
  432. package/lib/packages/components/tooltip/src/tooltip.vue.d.ts +5 -5
  433. package/lib/packages/components/upload/index.d.ts +66 -18
  434. package/lib/packages/components/upload/src/upload-list.vue.d.ts +66 -18
  435. package/lib/packages/components/upload/src/upload.vue.d.ts +66 -18
  436. package/lib/packages/version.d.ts +1 -1
  437. package/lib/version2.js +1 -1
  438. package/lib/version2.js.map +1 -1
  439. package/package.json +2 -2
  440. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete3.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = { value: string }[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable<AutocompleteData> | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n },\n teleported: useTooltipContentProps.teleported,\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type AutocompleteProps = ExtractPropTypes<typeof autocompleteProps>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: { value: any }) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType<typeof Autocomplete>\n"],"names":[],"mappings":";;;;;;;;AASY,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE;AACZ,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,KAAK;AACL,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE,sBAAsB,CAAC,UAAU;AAC/C,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACnC,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACpC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;AAClC;;;;"}
1
+ {"version":3,"file":"autocomplete3.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = Record<string, any>[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable<AutocompleteData> | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n },\n teleported: useTooltipContentProps.teleported,\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type AutocompleteProps = ExtractPropTypes<typeof autocompleteProps>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: { value: any }) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType<typeof Autocomplete>\n"],"names":[],"mappings":";;;;;;;;AAaY,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE;AACZ,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,KAAK;AACL,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE,sBAAsB,CAAC,UAAU;AAC/C,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC3C,EAAE,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;AAClC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, useAttrs as useAttrs$1, ref, computed, nextTick, onMounted, openBlock, createBlock, unref, isRef, withCtx, createElementVNode, normalizeClass, normalizeStyle, createVNode, createElementBlock, Fragment, renderList, renderSlot, createTextVNode, toDisplayString, mergeProps, withKeys, withModifiers, createSlots } from 'vue';
2
2
  import { debounce } from 'lodash-unified';
3
3
  import { onClickOutside } from '@vueuse/core';
4
+ import { Loading } from '@element-plus/icons-vue';
4
5
  import '../../../hooks/index2.mjs';
5
6
  import '../../../utils/index2.mjs';
6
7
  import '../../../constants/index2.mjs';
@@ -8,15 +9,14 @@ import { ElInput } from '../../input/index2.mjs';
8
9
  import { ElScrollbar } from '../../scrollbar/index2.mjs';
9
10
  import { ElTooltip } from '../../tooltip/index2.mjs';
10
11
  import { ElIcon } from '../../icon/index2.mjs';
11
- import { Loading } from '@element-plus/icons-vue';
12
12
  import { autocompleteProps, autocompleteEmits } from './autocomplete3.mjs';
13
13
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
14
- import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
15
14
  import { useAttrs } from '../../../hooks/use-attrs/index2.mjs';
15
+ import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
16
16
  import { generateId } from '../../../utils/rand2.mjs';
17
17
  import { isArray } from '@vue/shared';
18
18
  import { throwError } from '../../../utils/error2.mjs';
19
- import { UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
19
+ import { INPUT_EVENT, UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event2.mjs';
20
20
 
21
21
  const _hoisted_1 = ["aria-expanded", "aria-owns"];
22
22
  const _hoisted_2 = { key: 0 };
@@ -32,68 +32,60 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
32
32
  setup(__props, { expose, emit }) {
33
33
  const props = __props;
34
34
  const COMPONENT_NAME = "ElAutocomplete";
35
+ const attrs = useAttrs();
36
+ const rawAttrs = useAttrs$1();
35
37
  const ns = useNamespace("autocomplete");
38
+ const inputRef = ref();
39
+ const regionRef = ref();
40
+ const popperRef = ref();
41
+ const listboxRef = ref();
36
42
  let isClear = false;
37
- const attrs = useAttrs();
38
- const compAttrs = useAttrs$1();
39
43
  const suggestions = ref([]);
40
44
  const highlightedIndex = ref(-1);
41
45
  const dropdownWidth = ref("");
42
46
  const activated = ref(false);
43
47
  const suggestionDisabled = ref(false);
44
48
  const loading = ref(false);
45
- const inputRef = ref();
46
- const regionRef = ref();
47
- const popperRef = ref();
48
- const listboxRef = ref();
49
- const listboxId = computed(() => {
50
- return ns.b(String(generateId()));
51
- });
52
- const styles = computed(() => compAttrs.style);
49
+ const listboxId = computed(() => ns.b(String(generateId())));
50
+ const styles = computed(() => rawAttrs.style);
53
51
  const suggestionVisible = computed(() => {
54
- const isValidData = isArray(suggestions.value) && suggestions.value.length > 0;
52
+ const isValidData = suggestions.value.length > 0;
55
53
  return (isValidData || loading.value) && activated.value;
56
54
  });
57
- const suggestionLoading = computed(() => {
58
- return !props.hideLoading && loading.value;
59
- });
60
- const onSuggestionShow = () => {
61
- nextTick(() => {
62
- if (suggestionVisible.value) {
63
- dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
64
- }
65
- });
55
+ const suggestionLoading = computed(() => !props.hideLoading && loading.value);
56
+ const onSuggestionShow = async () => {
57
+ await nextTick();
58
+ if (suggestionVisible.value) {
59
+ dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
60
+ }
66
61
  };
67
62
  const getData = async (queryString) => {
68
- if (suggestionDisabled.value) {
63
+ if (suggestionDisabled.value)
69
64
  return;
70
- }
71
- loading.value = true;
72
- const cb = (suggestionsArg) => {
65
+ const cb = (suggestionList) => {
73
66
  loading.value = false;
74
- if (suggestionDisabled.value) {
67
+ if (suggestionDisabled.value)
75
68
  return;
76
- }
77
- if (isArray(suggestionsArg)) {
78
- suggestions.value = suggestionsArg;
69
+ if (isArray(suggestionList)) {
70
+ suggestions.value = suggestionList;
79
71
  highlightedIndex.value = props.highlightFirstItem ? 0 : -1;
80
72
  } else {
81
73
  throwError(COMPONENT_NAME, "autocomplete suggestions must be an array");
82
74
  }
83
75
  };
76
+ loading.value = true;
84
77
  if (isArray(props.fetchSuggestions)) {
85
78
  cb(props.fetchSuggestions);
86
79
  } else {
87
80
  const result = await props.fetchSuggestions(queryString, cb);
88
- if (isArray(result)) {
81
+ if (isArray(result))
89
82
  cb(result);
90
- }
91
83
  }
92
84
  };
93
85
  const debouncedGetData = debounce(getData, props.debounce);
94
86
  const handleInput = (value) => {
95
- const valuePresented = Boolean(value);
96
- emit("input", value);
87
+ const valuePresented = !!value;
88
+ emit(INPUT_EVENT, value);
97
89
  emit(UPDATE_MODEL_EVENT, value);
98
90
  suggestionDisabled.value = false;
99
91
  activated.value || (activated.value = isClear && valuePresented);
@@ -108,7 +100,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
108
100
  debouncedGetData(value);
109
101
  };
110
102
  const handleChange = (value) => {
111
- emit("change", value);
103
+ emit(CHANGE_EVENT, value);
112
104
  };
113
105
  const handleFocus = (evt) => {
114
106
  activated.value = true;
@@ -126,21 +118,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
126
118
  emit(UPDATE_MODEL_EVENT, "");
127
119
  emit("clear");
128
120
  };
129
- const handleKeyEnter = () => {
121
+ const handleKeyEnter = async () => {
130
122
  if (suggestionVisible.value && highlightedIndex.value >= 0 && highlightedIndex.value < suggestions.value.length) {
131
123
  handleSelect(suggestions.value[highlightedIndex.value]);
132
124
  } else if (props.selectWhenUnmatched) {
133
125
  emit("select", { value: props.modelValue });
134
- nextTick(() => {
135
- suggestions.value = [];
136
- highlightedIndex.value = -1;
137
- });
126
+ await nextTick();
127
+ suggestions.value = [];
128
+ highlightedIndex.value = -1;
138
129
  }
139
130
  };
140
- const handleKeyEscape = (e) => {
131
+ const handleKeyEscape = (evt) => {
141
132
  if (suggestionVisible.value) {
142
- e.preventDefault();
143
- e.stopPropagation();
133
+ evt.preventDefault();
134
+ evt.stopPropagation();
144
135
  close();
145
136
  }
146
137
  };
@@ -151,19 +142,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
151
142
  var _a;
152
143
  (_a = inputRef.value) == null ? void 0 : _a.focus();
153
144
  };
154
- const handleSelect = (item) => {
155
- emit("input", item[props.valueKey]);
145
+ const handleSelect = async (item) => {
146
+ emit(INPUT_EVENT, item[props.valueKey]);
156
147
  emit(UPDATE_MODEL_EVENT, item[props.valueKey]);
157
148
  emit("select", item);
158
- nextTick(() => {
159
- suggestions.value = [];
160
- highlightedIndex.value = -1;
161
- });
149
+ await nextTick();
150
+ suggestions.value = [];
151
+ highlightedIndex.value = -1;
162
152
  };
163
153
  const highlight = (index) => {
164
- if (!suggestionVisible.value || loading.value) {
154
+ if (!suggestionVisible.value || loading.value)
165
155
  return;
166
- }
167
156
  if (index < 0) {
168
157
  highlightedIndex.value = -1;
169
158
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete4.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useCompAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst ns = useNamespace('autocomplete')\nlet isClear = false\nconst attrs = useAttrs()\nconst compAttrs = useCompAttrs()\nconst suggestions = ref<any[]>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nconst listboxId = computed(() => {\n return ns.b(String(generateId()))\n})\nconst styles = computed(() => compAttrs.style as StyleValue)\nconst suggestionVisible = computed(() => {\n const isValidData = isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\nconst suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n})\n\nconst onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n const cb = (suggestionsArg: any[]) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) {\n cb(result)\n }\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\nconst handleInput = (value: string) => {\n const valuePresented = Boolean(value)\n\n emit('input', value)\n emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n activated.value ||= isClear && valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n if (isClear && valuePresented) {\n isClear = false\n }\n debouncedGetData(value)\n}\nconst handleChange = (value: string) => {\n emit('change', value)\n}\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\nconst handleClear = () => {\n activated.value = false\n isClear = true\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\nconst handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n}\nconst handleKeyEscape = (e) => {\n if (suggestionVisible.value) {\n e.preventDefault()\n e.stopPropagation()\n close()\n }\n}\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = (item: any) => {\n emit('input', item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n}\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useCompAttrs"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete4.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet isClear = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = computed(() => ns.b(String(generateId())))\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst onSuggestionShow = async () => {\n await nextTick()\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= isClear && valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n if (isClear && valuePresented) {\n isClear = false\n }\n debouncedGetData(value)\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\n\nconst handleClear = () => {\n activated.value = false\n isClear = true\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n await nextTick()\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n await nextTick()\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useRawAttrs"],"mappings":"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"}
@@ -2,6 +2,7 @@ import '../../../utils/index2.mjs';
2
2
  import '../../../constants/index2.mjs';
3
3
  import { buildProps, definePropType } from '../../../utils/vue/props2.mjs';
4
4
  import { componentSizes } from '../../../constants/size2.mjs';
5
+ import { isNumber } from '@vueuse/core';
5
6
  import { iconPropType } from '../../../utils/vue/icon2.mjs';
6
7
 
7
8
  const avatarProps = buildProps({
@@ -9,7 +10,7 @@ const avatarProps = buildProps({
9
10
  type: [Number, String],
10
11
  values: componentSizes,
11
12
  default: "",
12
- validator: (val) => typeof val === "number"
13
+ validator: (val) => isNumber(val)
13
14
  },
14
15
  shape: {
15
16
  type: String,
@@ -1 +1 @@
1
- {"version":3,"file":"avatar3.mjs","sources":["../../../../../../packages/components/avatar/src/avatar.ts"],"sourcesContent":["import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ObjectFitProperty } from 'csstype'\nimport type Avatar from './avatar.vue'\n\nexport const avatarProps = buildProps({\n size: {\n type: [Number, String],\n values: componentSizes,\n default: '',\n validator: (val: unknown): val is number => typeof val === 'number',\n },\n shape: {\n type: String,\n values: ['circle', 'square'],\n default: 'circle',\n },\n icon: {\n type: iconPropType,\n },\n src: {\n type: String,\n default: '',\n },\n alt: String,\n srcSet: String,\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\nexport type AvatarInstance = InstanceType<typeof Avatar>\n"],"names":[],"mappings":";;;;;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ;AAC/C,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,EAAE,YAAY;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,EAAE,cAAc,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;;;;"}
1
+ {"version":3,"file":"avatar3.mjs","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'\nimport type Avatar from './avatar.vue'\n\nexport const avatarProps = buildProps({\n size: {\n type: [Number, String],\n values: componentSizes,\n default: '',\n validator: (val: unknown): val is number => isNumber(val),\n },\n shape: {\n type: String,\n values: ['circle', 'square'],\n default: 'circle',\n },\n icon: {\n type: iconPropType,\n },\n src: {\n type: String,\n default: '',\n },\n alt: String,\n srcSet: String,\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\nexport type AvatarInstance = InstanceType<typeof Avatar>\n"],"names":[],"mappings":";;;;;;;AAOY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,QAAQ,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,EAAE,YAAY;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,EAAE,cAAc,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;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"backtop3.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const backtopProps = {\n visibilityHeight: {\n type: Number,\n default: 200,\n },\n target: {\n type: String,\n default: '',\n },\n right: {\n type: Number,\n default: 40,\n },\n bottom: {\n type: Number,\n default: 40,\n },\n} as const\nexport type BacktopProps = ExtractPropTypes<typeof backtopProps>\n\nexport const backtopEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type BacktopEmits = typeof backtopEmits\n"],"names":[],"mappings":"AAAY,MAAC,YAAY,GAAG;AAC5B,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE;AACU,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;"}
1
+ {"version":3,"file":"backtop3.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\nimport type Backtop from './backtop.vue'\n\nexport const backtopProps = {\n visibilityHeight: {\n type: Number,\n default: 200,\n },\n target: {\n type: String,\n default: '',\n },\n right: {\n type: Number,\n default: 40,\n },\n bottom: {\n type: Number,\n default: 40,\n },\n} as const\nexport type BacktopProps = ExtractPropTypes<typeof backtopProps>\n\nexport const backtopEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type BacktopEmits = typeof backtopEmits\n\nexport type BacktopInstance = InstanceType<typeof Backtop>\n"],"names":[],"mappings":"AAAY,MAAC,YAAY,GAAG;AAC5B,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE;AACU,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;"}
@@ -56,6 +56,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
56
56
  emit("click", event);
57
57
  };
58
58
  const handleScrollThrottled = useThrottleFn(handleScroll, 300);
59
+ useEventListener(container, "scroll", handleScrollThrottled);
59
60
  onMounted(() => {
60
61
  var _a;
61
62
  container.value = document;
@@ -67,7 +68,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
68
  }
68
69
  container.value = el.value;
69
70
  }
70
- useEventListener(container, "scroll", handleScrollThrottled);
71
71
  });
72
72
  return (_ctx, _cache) => {
73
73
  return openBlock(), createBlock(Transition, {
@@ -1 +1 @@
1
- {"version":3,"file":"backtop4.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"backTopStyle\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic, throwError } from '@element-plus/utils'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\ndefineOptions({\n name: 'ElBacktop',\n})\n\nconst props = defineProps(backtopProps)\nconst emit = defineEmits(backtopEmits)\n\nconst ns = useNamespace('backtop')\nconst el = shallowRef<HTMLElement>()\nconst container = shallowRef<Document | HTMLElement>()\nconst visible = ref(false)\n\nconst backTopStyle = computed(() => ({\n right: `${props.right}px`,\n bottom: `${props.bottom}px`,\n}))\n\nconst scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n}\nconst handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n}\nconst handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n}\n\nconst handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\nonMounted(() => {\n container.value = document\n el.value = document.documentElement\n\n if (props.target) {\n el.value = document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AASA,IAAA,MAAA,EAAA,GAAA,aAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,YAAA,GAAA,SAAA,OAAA;AAAA,MACA,KAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,MACA,MAAA,EAAA,GAAA,KAAA,CAAA,MAAA,CAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,MAAA;AACA,MAAA,IAAA,CAAA,EAAA,CAAA,KAAA;AAAA,QAAA,OAAA;AACA,MAAA,MAAA,SAAA,GAAA,KAAA,GAAA,EAAA,CAAA;AACA,MAAA,MAAA,UAAA,GAAA,GAAA,KAAA,CAAA,SAAA,CAAA;AACA,MAAA,MAAA,YAAA,MAAA;AACA,QAAA,IAAA,CAAA,EAAA,CAAA,KAAA;AAAA,UAAA,OAAA;AACA,QAAA,MAAA,QAAA,GAAA,CAAA,IAAA,CAAA,GAAA,EAAA,GAAA,SAAA,IAAA,GAAA,CAAA;AACA,QAAA,IAAA,WAAA,CAAA,EAAA;AACA,UAAA,EAAA,CAAA,KAAA,CAAA,SAAA,GAAA,UAAA,IAAA,CAAA,GAAA,eAAA,QAAA,CAAA,CAAA,CAAA;AACA,UAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,EAAA,CAAA,MAAA,SAAA,GAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA,CAAA;AACA,MAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA,KAAA;AAAA,QAAA,OAAA,CAAA,KAAA,GAAA,EAAA,CAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,gBAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,WAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,qBAAA,GAAA,aAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;AAEA,IAAA,SAAA,CAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,eAAA,GAAA,QAAA,CAAA;AAEA,MAAA,EAAA,CAAA,QAAA,QAAA,CAAA,eAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,EAAA;AACA,QAAA,EAAA,CAAA,KAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,EAAA,CAAA,KAAA,EAAA;AAAA,UACA,UAAA,CAAA,cAAA,EAAA,CAAA,uBAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AACA,SAAA;AAAA,QACA,SAAA,CAAA,KAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAEA,OAAA;AAAA,MACA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,qBAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"backtop4.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"backTopStyle\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic, throwError } from '@element-plus/utils'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\ndefineOptions({\n name: 'ElBacktop',\n})\n\nconst props = defineProps(backtopProps)\nconst emit = defineEmits(backtopEmits)\n\nconst ns = useNamespace('backtop')\nconst el = shallowRef<HTMLElement>()\nconst container = shallowRef<Document | HTMLElement>()\nconst visible = ref(false)\n\nconst backTopStyle = computed(() => ({\n right: `${props.right}px`,\n bottom: `${props.bottom}px`,\n}))\n\nconst scrollToTop = () => {\n // TODO: use https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo, with behavior: 'smooth'\n\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n}\nconst handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n}\nconst handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n}\n\nconst handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\nuseEventListener(container, 'scroll', handleScrollThrottled)\nonMounted(() => {\n container.value = document\n el.value = document.documentElement\n\n if (props.target) {\n el.value = document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AASA,IAAA,MAAA,EAAA,GAAA,aAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,YAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAA,YAAA,GAAA,SAAA,OAAA;AAAA,MACA,KAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,MACA,MAAA,EAAA,GAAA,KAAA,CAAA,MAAA,CAAA,EAAA,CAAA;AAAA,KACA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,MAAA;AAGA,MAAA,IAAA,CAAA,EAAA,CAAA,KAAA;AAAA,QAAA,OAAA;AACA,MAAA,MAAA,SAAA,GAAA,KAAA,GAAA,EAAA,CAAA;AACA,MAAA,MAAA,UAAA,GAAA,GAAA,KAAA,CAAA,SAAA,CAAA;AACA,MAAA,MAAA,YAAA,MAAA;AACA,QAAA,IAAA,CAAA,EAAA,CAAA,KAAA;AAAA,UAAA,OAAA;AACA,QAAA,MAAA,QAAA,GAAA,CAAA,IAAA,CAAA,GAAA,EAAA,GAAA,SAAA,IAAA,GAAA,CAAA;AACA,QAAA,IAAA,WAAA,CAAA,EAAA;AACA,UAAA,EAAA,CAAA,KAAA,CAAA,SAAA,GAAA,UAAA,IAAA,CAAA,GAAA,eAAA,QAAA,CAAA,CAAA,CAAA;AACA,UAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,EAAA,CAAA,MAAA,SAAA,GAAA,CAAA,CAAA;AAAA,SACA;AAAA,OACA,CAAA;AACA,MAAA,qBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,eAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA,KAAA;AAAA,QAAA,OAAA,CAAA,KAAA,GAAA,EAAA,CAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,gBAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,WAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,SAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,qBAAA,GAAA,aAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;AAEA,IAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,qBAAA,CAAA,CAAA;AACA,IAAA,SAAA,CAAA,MAAA;AACA,MAAA,IAAA,EAAA,CAAA;AACA,MAAA,eAAA,GAAA,QAAA,CAAA;AAEA,MAAA,EAAA,CAAA,QAAA,QAAA,CAAA,eAAA,CAAA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,EAAA;AACA,QAAA,EAAA,CAAA,KAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,CAAA;AACA,QAAA,IAAA,CAAA,EAAA,CAAA,KAAA,EAAA;AAAA,UACA,UAAA,CAAA,cAAA,EAAA,CAAA,uBAAA,EAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AACA,SAAA;AAAA,QACA,SAAA,CAAA,KAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAAA,OACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, getCurrentInstance, inject, ref, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createBlock, withCtx, resolveDynamicComponent, toDisplayString } from 'vue';
1
+ import { defineComponent, getCurrentInstance, inject, toRefs, ref, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createBlock, withCtx, resolveDynamicComponent, toDisplayString } from 'vue';
2
2
  import { ElIcon } from '../../icon/index2.mjs';
3
3
  import '../../../tokens/index2.mjs';
4
4
  import '../../../hooks/index2.mjs';
@@ -16,10 +16,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16
16
  setup(__props) {
17
17
  const props = __props;
18
18
  const instance = getCurrentInstance();
19
- const router = instance.appContext.config.globalProperties.$router;
20
- const breadcrumbInjection = inject(breadcrumbKey, {});
19
+ const breadcrumbContext = inject(breadcrumbKey, void 0);
21
20
  const ns = useNamespace("breadcrumb");
22
- const { separator, separatorIcon } = breadcrumbInjection;
21
+ const { separator, separatorIcon } = toRefs(breadcrumbContext);
22
+ const router = instance.appContext.config.globalProperties.$router;
23
23
  const link = ref();
24
24
  const onClick = () => {
25
25
  if (!props.to || !router)
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-item4.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span\n ref=\"link\"\n :class=\"[ns.e('inner'), ns.is('link', !!to)]\"\n role=\"link\"\n @click=\"onClick\"\n >\n <slot />\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getCurrentInstance, inject, ref } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { breadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\nimport type { BreadcrumbProps } from './breadcrumb'\n\ndefineOptions({\n name: 'ElBreadcrumbItem',\n})\n\nconst props = defineProps(breadcrumbItemProps)\n\nconst instance = getCurrentInstance()!\nconst router = instance.appContext.config.globalProperties.$router as Router\nconst breadcrumbInjection = inject(breadcrumbKey, {} as BreadcrumbProps)!\n\nconst ns = useNamespace('breadcrumb')\n\nconst { separator, separatorIcon } = breadcrumbInjection\n\nconst link = ref<HTMLSpanElement>()\n\nconst onClick = () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAmCA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,OAAA,CAAA;AACA,IAAA,MAAA,mBAAA,GAAA,MAAA,CAAA,aAAA,EAAA,EAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,YAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,WAAA,aAAA,EAAA,GAAA,mBAAA,CAAA;AAEA,IAAA,MAAA,OAAA,GAAA,EAAA,CAAA;AAEA,IAAA,MAAA,UAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QAAA,OAAA;AACA,MAAA,KAAA,CAAA,OAAA,GAAA,OAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,GAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"breadcrumb-item4.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span\n ref=\"link\"\n :class=\"[ns.e('inner'), ns.is('link', !!to)]\"\n role=\"link\"\n @click=\"onClick\"\n >\n <slot />\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { getCurrentInstance, inject, ref, toRefs } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { breadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\ndefineOptions({\n name: 'ElBreadcrumbItem',\n})\n\nconst props = defineProps(breadcrumbItemProps)\n\nconst instance = getCurrentInstance()!\nconst breadcrumbContext = inject(breadcrumbKey, undefined)!\nconst ns = useNamespace('breadcrumb')\n\nconst { separator, separatorIcon } = toRefs(breadcrumbContext)\nconst router = instance.appContext.config.globalProperties.$router as Router\n\nconst link = ref<HTMLSpanElement>()\n\nconst onClick = () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAkCA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,iBAAA,GAAA,MAAA,CAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,YAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,GAAA,MAAA,CAAA,iBAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,OAAA,CAAA;AAEA,IAAA,MAAA,OAAA,GAAA,EAAA,CAAA;AAEA,IAAA,MAAA,UAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QAAA,OAAA;AACA,MAAA,KAAA,CAAA,OAAA,GAAA,OAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,GAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,20 +1,22 @@
1
1
  import '../../../utils/index2.mjs';
2
2
  import '../../../constants/index2.mjs';
3
+ import { isArray, isDate } from '@vue/shared';
3
4
  import { buildProps, definePropType } from '../../../utils/vue/props2.mjs';
4
- import { UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
5
+ import { UPDATE_MODEL_EVENT, INPUT_EVENT } from '../../../constants/event2.mjs';
5
6
 
7
+ const isValidRange = (range) => isArray(range) && range.length === 2 && range.every((item) => isDate(item));
6
8
  const calendarProps = buildProps({
7
9
  modelValue: {
8
10
  type: Date
9
11
  },
10
12
  range: {
11
13
  type: definePropType(Array),
12
- validator: (range) => Array.isArray(range) && range.length === 2 && range.every((item) => item instanceof Date)
14
+ validator: isValidRange
13
15
  }
14
16
  });
15
17
  const calendarEmits = {
16
- [UPDATE_MODEL_EVENT]: (value) => value instanceof Date,
17
- input: (value) => value instanceof Date
18
+ [UPDATE_MODEL_EVENT]: (value) => isDate(value),
19
+ [INPUT_EVENT]: (value) => isDate(value)
18
20
  };
19
21
 
20
22
  export { calendarEmits, calendarProps };
@@ -1 +1 @@
1
- {"version":3,"file":"calendar3.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Calendar from './calendar.vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport const calendarProps = buildProps({\n modelValue: {\n type: Date,\n },\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: (range: unknown): range is [Date, Date] =>\n Array.isArray(range) &&\n range.length === 2 &&\n range.every((item) => item instanceof Date),\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => value instanceof Date,\n input: (value: Date) => value instanceof Date,\n}\nexport type CalendarEmits = typeof calendarEmits\n\nexport type CalendarInstance = InstanceType<typeof Calendar>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,YAAY,IAAI,CAAC;AACnH,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,KAAK,YAAY,IAAI;AACxD,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,YAAY,IAAI;AACzC;;;;"}
1
+ {"version":3,"file":"calendar3.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Calendar from './calendar.vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n modelValue: {\n type: Date,\n },\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n\nexport type CalendarInstance = InstanceType<typeof Calendar>\n"],"names":[],"mappings":";;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AACzC;;;;"}
@@ -3,11 +3,13 @@ import dayjs from 'dayjs';
3
3
  import { ElButtonGroup, ElButton } from '../../button/index2.mjs';
4
4
  import '../../../hooks/index2.mjs';
5
5
  import '../../../utils/index2.mjs';
6
+ import '../../../constants/index2.mjs';
6
7
  import DateTable from './date-table4.mjs';
7
8
  import { calendarProps, calendarEmits } from './calendar3.mjs';
8
9
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
10
  import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
10
11
  import { useLocale } from '../../../hooks/use-locale/index2.mjs';
12
+ import { INPUT_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
11
13
  import { debugWarn } from '../../../utils/error2.mjs';
12
14
 
13
15
  const __default__ = {
@@ -24,22 +26,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
26
  const { t, lang } = useLocale();
25
27
  const selectedDay = ref();
26
28
  const now = dayjs().locale(lang.value);
27
- const prevMonthDayjs = computed(() => {
28
- return date.value.subtract(1, "month").date(1);
29
- });
30
- const nextMonthDayjs = computed(() => {
31
- return date.value.add(1, "month").date(1);
32
- });
33
- const prevYearDayjs = computed(() => {
34
- return date.value.subtract(1, "year").date(1);
35
- });
36
- const nextYearDayjs = computed(() => {
37
- return date.value.add(1, "year").date(1);
38
- });
39
- const i18nDate = computed(() => {
40
- const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
41
- return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
42
- });
43
29
  const realSelectedDay = computed({
44
30
  get() {
45
31
  if (!props.modelValue)
@@ -51,8 +37,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
51
37
  return;
52
38
  selectedDay.value = val;
53
39
  const result = val.toDate();
54
- emit("input", result);
55
- emit("update:modelValue", result);
40
+ emit(INPUT_EVENT, result);
41
+ emit(UPDATE_MODEL_EVENT, result);
42
+ }
43
+ });
44
+ const validatedRange = computed(() => {
45
+ if (!props.range)
46
+ return [];
47
+ const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value));
48
+ const [startDayjs, endDayjs] = rangeArrDayjs;
49
+ if (startDayjs.isAfter(endDayjs)) {
50
+ debugWarn(COMPONENT_NAME, "end time should be greater than start time");
51
+ return [];
52
+ }
53
+ if (startDayjs.isSame(endDayjs, "month")) {
54
+ return calculateValidatedDateRange(startDayjs, endDayjs);
55
+ } else {
56
+ if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
57
+ debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
58
+ return [];
59
+ }
60
+ return calculateValidatedDateRange(startDayjs, endDayjs);
56
61
  }
57
62
  });
58
63
  const date = computed(() => {
@@ -67,6 +72,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
72
  return dayjs(props.modelValue).locale(lang.value);
68
73
  }
69
74
  });
75
+ const prevMonthDayjs = computed(() => date.value.subtract(1, "month").date(1));
76
+ const nextMonthDayjs = computed(() => date.value.add(1, "month").date(1));
77
+ const prevYearDayjs = computed(() => date.value.subtract(1, "year").date(1));
78
+ const nextYearDayjs = computed(() => date.value.add(1, "year").date(1));
79
+ const i18nDate = computed(() => {
80
+ const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
81
+ return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
82
+ });
70
83
  const calculateValidatedDateRange = (startDayjs, endDayjs) => {
71
84
  const firstDay = startDayjs.startOf("week");
72
85
  const lastDay = endDayjs.endOf("week");
@@ -100,25 +113,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
113
  return [];
101
114
  }
102
115
  };
103
- const validatedRange = computed(() => {
104
- if (!props.range)
105
- return [];
106
- const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value));
107
- const [startDayjs, endDayjs] = rangeArrDayjs;
108
- if (startDayjs.isAfter(endDayjs)) {
109
- debugWarn(COMPONENT_NAME, "end time should be greater than start time");
110
- return [];
111
- }
112
- if (startDayjs.isSame(endDayjs, "month")) {
113
- return calculateValidatedDateRange(startDayjs, endDayjs);
114
- } else {
115
- if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
116
- debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
117
- return [];
118
- }
119
- return calculateValidatedDateRange(startDayjs, endDayjs);
120
- }
121
- });
122
116
  const pickDay = (day) => {
123
117
  realSelectedDay.value = day;
124
118
  };