@element-plus/nightly 0.0.20250422 → 0.0.20250423

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 (494) hide show
  1. package/dist/index.full.js +8 -3
  2. package/dist/index.full.min.js +8 -8
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +8 -3
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/affix/index.mjs +2 -2
  276. package/es/components/affix/src/affix.mjs +119 -24
  277. package/es/components/affix/src/affix.mjs.map +1 -1
  278. package/es/components/affix/src/affix2.mjs +24 -119
  279. package/es/components/affix/src/affix2.mjs.map +1 -1
  280. package/es/components/anchor/index.mjs +1 -1
  281. package/es/components/anchor/src/anchor-link.mjs +5 -81
  282. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  283. package/es/components/anchor/src/anchor-link2.mjs +81 -5
  284. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  285. package/es/components/autocomplete/index.mjs +2 -2
  286. package/es/components/autocomplete/src/autocomplete.mjs +80 -370
  287. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  288. package/es/components/autocomplete/src/autocomplete2.mjs +370 -80
  289. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  290. package/es/components/badge/index.mjs +2 -2
  291. package/es/components/badge/src/badge.mjs +71 -32
  292. package/es/components/badge/src/badge.mjs.map +1 -1
  293. package/es/components/badge/src/badge2.mjs +32 -71
  294. package/es/components/badge/src/badge2.mjs.map +1 -1
  295. package/es/components/cascader/index.mjs +2 -2
  296. package/es/components/cascader/src/cascader.mjs +80 -637
  297. package/es/components/cascader/src/cascader.mjs.map +1 -1
  298. package/es/components/cascader/src/cascader2.mjs +637 -80
  299. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  300. package/es/components/cascader-panel/src/index.mjs +1 -1
  301. package/es/components/cascader-panel/src/menu.mjs +1 -1
  302. package/es/components/cascader-panel/src/node.mjs +206 -115
  303. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  304. package/es/components/cascader-panel/src/node2.mjs +115 -206
  305. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  306. package/es/components/cascader-panel/src/store.mjs +1 -1
  307. package/es/components/col/index.mjs +2 -2
  308. package/es/components/col/src/col.mjs +64 -43
  309. package/es/components/col/src/col.mjs.map +1 -1
  310. package/es/components/col/src/col2.mjs +43 -64
  311. package/es/components/col/src/col2.mjs.map +1 -1
  312. package/es/components/countdown/index.mjs +2 -2
  313. package/es/components/countdown/src/countdown.mjs +21 -79
  314. package/es/components/countdown/src/countdown.mjs.map +1 -1
  315. package/es/components/countdown/src/countdown2.mjs +79 -21
  316. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  317. package/es/components/dialog/src/dialog-content.mjs +29 -88
  318. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  319. package/es/components/dialog/src/dialog-content2.mjs +88 -29
  320. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  321. package/es/components/dialog/src/dialog.mjs +1 -1
  322. package/es/components/dialog/src/dialog2.mjs +1 -1
  323. package/es/components/dropdown/index.mjs +2 -2
  324. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  325. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  326. package/es/components/dropdown/src/dropdown-menu.mjs +2 -2
  327. package/es/components/dropdown/src/dropdown.mjs +299 -108
  328. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  329. package/es/components/dropdown/src/dropdown2.mjs +108 -299
  330. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  331. package/es/components/image-viewer/index.mjs +2 -2
  332. package/es/components/image-viewer/src/image-viewer.mjs +49 -447
  333. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  334. package/es/components/image-viewer/src/image-viewer2.mjs +447 -49
  335. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  336. package/es/components/index.mjs +12 -12
  337. package/es/components/pagination/src/components/next.mjs +18 -35
  338. package/es/components/pagination/src/components/next.mjs.map +1 -1
  339. package/es/components/pagination/src/components/next2.mjs +35 -18
  340. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  341. package/es/components/pagination/src/pagination.mjs +1 -1
  342. package/es/components/popover/src/popover.mjs +1 -1
  343. package/es/components/roving-focus-group/index.mjs +3 -3
  344. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  345. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  346. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  347. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  348. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  349. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  350. package/es/components/select/index.mjs +2 -2
  351. package/es/components/select/src/select.mjs +130 -428
  352. package/es/components/select/src/select.mjs.map +1 -1
  353. package/es/components/select/src/select2.mjs +428 -130
  354. package/es/components/select/src/select2.mjs.map +1 -1
  355. package/es/components/steps/index.mjs +2 -2
  356. package/es/components/steps/src/item.mjs +190 -19
  357. package/es/components/steps/src/item.mjs.map +1 -1
  358. package/es/components/steps/src/item2.mjs +19 -190
  359. package/es/components/steps/src/item2.mjs.map +1 -1
  360. package/es/components/table-v2/src/use-table.mjs +6 -1
  361. package/es/components/table-v2/src/use-table.mjs.map +1 -1
  362. package/es/components/tabs/index.mjs +1 -1
  363. package/es/components/tabs/src/tab-bar.mjs +7 -95
  364. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  365. package/es/components/tabs/src/tab-bar2.mjs +95 -7
  366. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  367. package/es/components/tabs/src/tab-nav.mjs +1 -1
  368. package/es/components/upload/index.mjs +2 -2
  369. package/es/components/upload/src/upload-content.mjs +1 -1
  370. package/es/components/upload/src/upload-content2.mjs +1 -1
  371. package/es/components/upload/src/upload-list.mjs +1 -1
  372. package/es/components/upload/src/upload.mjs +125 -97
  373. package/es/components/upload/src/upload.mjs.map +1 -1
  374. package/es/components/upload/src/upload2.mjs +97 -125
  375. package/es/components/upload/src/upload2.mjs.map +1 -1
  376. package/es/components/upload/src/use-handlers.mjs +1 -1
  377. package/es/directives/click-outside/index.mjs +1 -1
  378. package/es/hooks/use-focus-controller/index.mjs +1 -1
  379. package/es/hooks/use-lockscreen/index.mjs +1 -1
  380. package/es/index.mjs +12 -12
  381. package/es/version.d.ts +1 -1
  382. package/es/version.mjs +1 -1
  383. package/es/version.mjs.map +1 -1
  384. package/lib/components/affix/index.js +2 -2
  385. package/lib/components/affix/src/affix.js +119 -25
  386. package/lib/components/affix/src/affix.js.map +1 -1
  387. package/lib/components/affix/src/affix2.js +25 -119
  388. package/lib/components/affix/src/affix2.js.map +1 -1
  389. package/lib/components/anchor/index.js +1 -1
  390. package/lib/components/anchor/src/anchor-link.js +5 -81
  391. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  392. package/lib/components/anchor/src/anchor-link2.js +81 -5
  393. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  394. package/lib/components/autocomplete/index.js +2 -2
  395. package/lib/components/autocomplete/src/autocomplete.js +79 -368
  396. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  397. package/lib/components/autocomplete/src/autocomplete2.js +368 -79
  398. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  399. package/lib/components/badge/index.js +2 -2
  400. package/lib/components/badge/src/badge.js +71 -32
  401. package/lib/components/badge/src/badge.js.map +1 -1
  402. package/lib/components/badge/src/badge2.js +32 -71
  403. package/lib/components/badge/src/badge2.js.map +1 -1
  404. package/lib/components/cascader/index.js +2 -2
  405. package/lib/components/cascader/src/cascader.js +81 -637
  406. package/lib/components/cascader/src/cascader.js.map +1 -1
  407. package/lib/components/cascader/src/cascader2.js +637 -81
  408. package/lib/components/cascader/src/cascader2.js.map +1 -1
  409. package/lib/components/cascader-panel/src/index.js +1 -1
  410. package/lib/components/cascader-panel/src/menu.js +1 -1
  411. package/lib/components/cascader-panel/src/node.js +206 -115
  412. package/lib/components/cascader-panel/src/node.js.map +1 -1
  413. package/lib/components/cascader-panel/src/node2.js +115 -206
  414. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  415. package/lib/components/cascader-panel/src/store.js +1 -1
  416. package/lib/components/col/index.js +2 -2
  417. package/lib/components/col/src/col.js +64 -43
  418. package/lib/components/col/src/col.js.map +1 -1
  419. package/lib/components/col/src/col2.js +43 -64
  420. package/lib/components/col/src/col2.js.map +1 -1
  421. package/lib/components/countdown/index.js +2 -2
  422. package/lib/components/countdown/src/countdown.js +22 -79
  423. package/lib/components/countdown/src/countdown.js.map +1 -1
  424. package/lib/components/countdown/src/countdown2.js +79 -22
  425. package/lib/components/countdown/src/countdown2.js.map +1 -1
  426. package/lib/components/dialog/src/dialog-content.js +29 -87
  427. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  428. package/lib/components/dialog/src/dialog-content2.js +87 -29
  429. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  430. package/lib/components/dialog/src/dialog.js +1 -1
  431. package/lib/components/dialog/src/dialog2.js +1 -1
  432. package/lib/components/dropdown/index.js +2 -2
  433. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  434. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  435. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  436. package/lib/components/dropdown/src/dropdown.js +299 -117
  437. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  438. package/lib/components/dropdown/src/dropdown2.js +117 -299
  439. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  440. package/lib/components/image-viewer/index.js +2 -2
  441. package/lib/components/image-viewer/src/image-viewer.js +50 -447
  442. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  443. package/lib/components/image-viewer/src/image-viewer2.js +447 -50
  444. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  445. package/lib/components/index.js +12 -12
  446. package/lib/components/pagination/src/components/next.js +18 -35
  447. package/lib/components/pagination/src/components/next.js.map +1 -1
  448. package/lib/components/pagination/src/components/next2.js +35 -18
  449. package/lib/components/pagination/src/components/next2.js.map +1 -1
  450. package/lib/components/pagination/src/pagination.js +1 -1
  451. package/lib/components/popover/src/popover.js +1 -1
  452. package/lib/components/roving-focus-group/index.js +2 -2
  453. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  454. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -31
  455. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  456. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -27
  457. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  458. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  459. package/lib/components/select/index.js +2 -2
  460. package/lib/components/select/src/select.js +131 -428
  461. package/lib/components/select/src/select.js.map +1 -1
  462. package/lib/components/select/src/select2.js +428 -131
  463. package/lib/components/select/src/select2.js.map +1 -1
  464. package/lib/components/steps/index.js +2 -2
  465. package/lib/components/steps/src/item.js +190 -19
  466. package/lib/components/steps/src/item.js.map +1 -1
  467. package/lib/components/steps/src/item2.js +19 -190
  468. package/lib/components/steps/src/item2.js.map +1 -1
  469. package/lib/components/table-v2/src/use-table.js +6 -1
  470. package/lib/components/table-v2/src/use-table.js.map +1 -1
  471. package/lib/components/tabs/index.js +1 -1
  472. package/lib/components/tabs/src/tab-bar.js +7 -95
  473. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  474. package/lib/components/tabs/src/tab-bar2.js +95 -7
  475. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  476. package/lib/components/tabs/src/tab-nav.js +1 -1
  477. package/lib/components/upload/index.js +2 -2
  478. package/lib/components/upload/src/upload-content.js +1 -1
  479. package/lib/components/upload/src/upload-content2.js +1 -1
  480. package/lib/components/upload/src/upload-list.js +1 -1
  481. package/lib/components/upload/src/upload.js +125 -100
  482. package/lib/components/upload/src/upload.js.map +1 -1
  483. package/lib/components/upload/src/upload2.js +100 -125
  484. package/lib/components/upload/src/upload2.js.map +1 -1
  485. package/lib/components/upload/src/use-handlers.js +1 -1
  486. package/lib/directives/click-outside/index.js +1 -1
  487. package/lib/hooks/use-focus-controller/index.js +1 -1
  488. package/lib/hooks/use-lockscreen/index.js +1 -1
  489. package/lib/index.js +12 -12
  490. package/lib/version.d.ts +1 -1
  491. package/lib/version.js +1 -1
  492. package/lib/version.js.map +1 -1
  493. package/package.json +2 -2
  494. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select2.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { scrollbarEmits } from '@element-plus/components/scrollbar'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport {\n EmitFn,\n buildProps,\n definePropType,\n iconPropType,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '@element-plus/components/tag'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Select from './select.vue'\nimport type {\n Options,\n Placement,\n PopperEffect,\n} from '@element-plus/components/popper'\nimport type { OptionValue } from './type'\n\nexport const SelectProps = buildProps({\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<OptionValue | OptionValue[]>([\n Array,\n String,\n Number,\n Boolean,\n Object,\n ]),\n default: undefined,\n },\n /**\n * @description the autocomplete attribute of select input\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether Select is disabled\n */\n disabled: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({} as Partial<Options>),\n },\n /**\n * @description whether options are loaded from server\n */\n remote: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n */\n noDataText: String,\n /**\n * @description custom remote search method\n */\n remoteMethod: Function,\n /**\n * @description custom filter method\n */\n filterMethod: Function,\n /**\n * @description whether multiple-select is activated\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description placeholder, default is 'Select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description select first matching option on enter key. Use with `filterable` or `remote`\n */\n defaultFirstOption: Boolean,\n /**\n * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether select dropdown is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description custom suffix icon component\n */\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n /**\n * @description tag type\n */\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the dropdown\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description which element the selection dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n})\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectEmits = {\n [UPDATE_MODEL_EVENT]: (val: ISelectProps['modelValue']) => true,\n [CHANGE_EVENT]: (val: ISelectProps['modelValue']) => true,\n 'popup-scroll': scrollbarEmits.scroll,\n 'remove-tag': (val: unknown) => true,\n 'visible-change': (visible: boolean) => true,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type ISelectProps = ExtractPropTypes<typeof SelectProps>\nexport type SelectEmits = EmitFn<typeof selectEmits>\nexport type SelectInstance = InstanceType<typeof Select> & unknown\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot v-if=\"multiple\" name=\"tag\">\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"teleported\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"collapseTagStyle\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is('hidden', !filterable),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n :tabindex=\"tabindex\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete.stop=\"deletePrevTag\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n @scroll=\"popupScroll\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot />\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isArray } from '@element-plus/utils'\nimport { useCalcInputWidth } from '@element-plus/hooks'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\nimport { SelectProps } from './select'\n\nimport type { SelectContext } from './type'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n 'popup-scroll',\n ],\n\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n selectRef: API.selectRef,\n optionsArray: API.optionsArray,\n setSelected: API.setSelected,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n }) satisfies SelectContext\n )\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.selected.map((i) => i.currentLabel as string)\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n }\n },\n})\n</script>\n"],"names":["ElOption","_resolveComponent","_createVNode","_withCtx","_createElementVNode","_normalizeClass","_withModifiers","_openBlock","_createElementBlock","_renderSlot","_createCommentVNode","_Fragment","_renderList","_createTextVNode","_toDisplayString","_createBlock","_withKeys","_vModelText","_resolveDynamicComponent","_withDirectives","_vShow"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import Steps from './src/steps2.mjs';
2
- import Step from './src/item2.mjs';
3
- export { stepProps } from './src/item.mjs';
2
+ import Step from './src/item.mjs';
3
+ export { stepProps } from './src/item2.mjs';
4
4
  export { stepsEmits, stepsProps } from './src/steps.mjs';
5
5
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
6
6
 
@@ -1,24 +1,195 @@
1
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
2
- import { iconPropType } from '../../../utils/vue/icon.mjs';
1
+ import { defineComponent, ref, inject, getCurrentInstance, onMounted, watch, onBeforeUnmount, computed, reactive, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createCommentVNode, createElementVNode, renderSlot, createBlock, withCtx, resolveDynamicComponent, createVNode, toDisplayString, createTextVNode } from 'vue';
2
+ import { ElIcon } from '../../icon/index.mjs';
3
+ import { Check, Close } from '@element-plus/icons-vue';
4
+ import { stepProps } from './item2.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
+ import { isNumber } from '../../../utils/types.mjs';
3
8
 
4
- const stepProps = buildProps({
5
- title: {
6
- type: String,
7
- default: ""
8
- },
9
- icon: {
10
- type: iconPropType
11
- },
12
- description: {
13
- type: String,
14
- default: ""
15
- },
16
- status: {
17
- type: String,
18
- values: ["", "wait", "process", "finish", "error", "success"],
19
- default: ""
9
+ const __default__ = defineComponent({
10
+ name: "ElStep"
11
+ });
12
+ const _sfc_main = defineComponent({
13
+ ...__default__,
14
+ props: stepProps,
15
+ setup(__props) {
16
+ const props = __props;
17
+ const ns = useNamespace("step");
18
+ const index = ref(-1);
19
+ const lineStyle = ref({});
20
+ const internalStatus = ref("");
21
+ const parent = inject("ElSteps");
22
+ const currentInstance = getCurrentInstance();
23
+ onMounted(() => {
24
+ watch([
25
+ () => parent.props.active,
26
+ () => parent.props.processStatus,
27
+ () => parent.props.finishStatus
28
+ ], ([active]) => {
29
+ updateStatus(active);
30
+ }, { immediate: true });
31
+ });
32
+ onBeforeUnmount(() => {
33
+ parent.removeStep(stepItemState.uid);
34
+ });
35
+ const currentStatus = computed(() => {
36
+ return props.status || internalStatus.value;
37
+ });
38
+ const prevStatus = computed(() => {
39
+ const prevStep = parent.steps.value[index.value - 1];
40
+ return prevStep ? prevStep.currentStatus : "wait";
41
+ });
42
+ const isCenter = computed(() => {
43
+ return parent.props.alignCenter;
44
+ });
45
+ const isVertical = computed(() => {
46
+ return parent.props.direction === "vertical";
47
+ });
48
+ const isSimple = computed(() => {
49
+ return parent.props.simple;
50
+ });
51
+ const stepsCount = computed(() => {
52
+ return parent.steps.value.length;
53
+ });
54
+ const isLast = computed(() => {
55
+ var _a;
56
+ return ((_a = parent.steps.value[stepsCount.value - 1]) == null ? void 0 : _a.uid) === (currentInstance == null ? void 0 : currentInstance.uid);
57
+ });
58
+ const space = computed(() => {
59
+ return isSimple.value ? "" : parent.props.space;
60
+ });
61
+ const containerKls = computed(() => {
62
+ return [
63
+ ns.b(),
64
+ ns.is(isSimple.value ? "simple" : parent.props.direction),
65
+ ns.is("flex", isLast.value && !space.value && !isCenter.value),
66
+ ns.is("center", isCenter.value && !isVertical.value && !isSimple.value)
67
+ ];
68
+ });
69
+ const style = computed(() => {
70
+ const style2 = {
71
+ flexBasis: isNumber(space.value) ? `${space.value}px` : space.value ? space.value : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`
72
+ };
73
+ if (isVertical.value)
74
+ return style2;
75
+ if (isLast.value) {
76
+ style2.maxWidth = `${100 / stepsCount.value}%`;
77
+ }
78
+ return style2;
79
+ });
80
+ const setIndex = (val) => {
81
+ index.value = val;
82
+ };
83
+ const calcProgress = (status) => {
84
+ const isWait = status === "wait";
85
+ const style2 = {
86
+ transitionDelay: `${isWait ? "-" : ""}${150 * index.value}ms`
87
+ };
88
+ const step = status === parent.props.processStatus || isWait ? 0 : 100;
89
+ style2.borderWidth = step && !isSimple.value ? "1px" : 0;
90
+ style2[parent.props.direction === "vertical" ? "height" : "width"] = `${step}%`;
91
+ lineStyle.value = style2;
92
+ };
93
+ const updateStatus = (activeIndex) => {
94
+ if (activeIndex > index.value) {
95
+ internalStatus.value = parent.props.finishStatus;
96
+ } else if (activeIndex === index.value && prevStatus.value !== "error") {
97
+ internalStatus.value = parent.props.processStatus;
98
+ } else {
99
+ internalStatus.value = "wait";
100
+ }
101
+ const prevChild = parent.steps.value[index.value - 1];
102
+ if (prevChild)
103
+ prevChild.calcProgress(internalStatus.value);
104
+ };
105
+ const stepItemState = reactive({
106
+ uid: currentInstance.uid,
107
+ currentStatus,
108
+ setIndex,
109
+ calcProgress
110
+ });
111
+ parent.addStep(stepItemState);
112
+ return (_ctx, _cache) => {
113
+ return openBlock(), createElementBlock("div", {
114
+ style: normalizeStyle(unref(style)),
115
+ class: normalizeClass(unref(containerKls))
116
+ }, [
117
+ createCommentVNode(" icon & line "),
118
+ createElementVNode("div", {
119
+ class: normalizeClass([unref(ns).e("head"), unref(ns).is(unref(currentStatus))])
120
+ }, [
121
+ !unref(isSimple) ? (openBlock(), createElementBlock("div", {
122
+ key: 0,
123
+ class: normalizeClass(unref(ns).e("line"))
124
+ }, [
125
+ createElementVNode("i", {
126
+ class: normalizeClass(unref(ns).e("line-inner")),
127
+ style: normalizeStyle(lineStyle.value)
128
+ }, null, 6)
129
+ ], 2)) : createCommentVNode("v-if", true),
130
+ createElementVNode("div", {
131
+ class: normalizeClass([unref(ns).e("icon"), unref(ns).is(_ctx.icon || _ctx.$slots.icon ? "icon" : "text")])
132
+ }, [
133
+ renderSlot(_ctx.$slots, "icon", {}, () => [
134
+ _ctx.icon ? (openBlock(), createBlock(unref(ElIcon), {
135
+ key: 0,
136
+ class: normalizeClass(unref(ns).e("icon-inner"))
137
+ }, {
138
+ default: withCtx(() => [
139
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
140
+ ]),
141
+ _: 1
142
+ }, 8, ["class"])) : unref(currentStatus) === "success" ? (openBlock(), createBlock(unref(ElIcon), {
143
+ key: 1,
144
+ class: normalizeClass([unref(ns).e("icon-inner"), unref(ns).is("status")])
145
+ }, {
146
+ default: withCtx(() => [
147
+ createVNode(unref(Check))
148
+ ]),
149
+ _: 1
150
+ }, 8, ["class"])) : unref(currentStatus) === "error" ? (openBlock(), createBlock(unref(ElIcon), {
151
+ key: 2,
152
+ class: normalizeClass([unref(ns).e("icon-inner"), unref(ns).is("status")])
153
+ }, {
154
+ default: withCtx(() => [
155
+ createVNode(unref(Close))
156
+ ]),
157
+ _: 1
158
+ }, 8, ["class"])) : !unref(isSimple) ? (openBlock(), createElementBlock("div", {
159
+ key: 3,
160
+ class: normalizeClass(unref(ns).e("icon-inner"))
161
+ }, toDisplayString(index.value + 1), 3)) : createCommentVNode("v-if", true)
162
+ ])
163
+ ], 2)
164
+ ], 2),
165
+ createCommentVNode(" title & description "),
166
+ createElementVNode("div", {
167
+ class: normalizeClass(unref(ns).e("main"))
168
+ }, [
169
+ createElementVNode("div", {
170
+ class: normalizeClass([unref(ns).e("title"), unref(ns).is(unref(currentStatus))])
171
+ }, [
172
+ renderSlot(_ctx.$slots, "title", {}, () => [
173
+ createTextVNode(toDisplayString(_ctx.title), 1)
174
+ ])
175
+ ], 2),
176
+ unref(isSimple) ? (openBlock(), createElementBlock("div", {
177
+ key: 0,
178
+ class: normalizeClass(unref(ns).e("arrow"))
179
+ }, null, 2)) : (openBlock(), createElementBlock("div", {
180
+ key: 1,
181
+ class: normalizeClass([unref(ns).e("description"), unref(ns).is(unref(currentStatus))])
182
+ }, [
183
+ renderSlot(_ctx.$slots, "description", {}, () => [
184
+ createTextVNode(toDisplayString(_ctx.description), 1)
185
+ ])
186
+ ], 2))
187
+ ], 2)
188
+ ], 6);
189
+ };
20
190
  }
21
191
  });
192
+ var Step = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "item.vue"]]);
22
193
 
23
- export { stepProps };
194
+ export { Step as default };
24
195
  //# sourceMappingURL=item.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/steps/src/item.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\nimport type Step from './item.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const stepProps = buildProps({\n /**\n * @description step title\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description step custom icon. Icons can be passed via named slot as well\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description step description\n */\n description: {\n type: String,\n default: '',\n },\n /**\n * @description current status. It will be automatically set by Steps if not configured.\n */\n status: {\n type: String,\n values: ['', 'wait', 'process', 'finish', 'error', 'success'],\n default: '',\n },\n} as const)\n\nexport type StepProps = ExtractPropTypes<typeof stepProps>\n\nexport type StepInstance = InstanceType<typeof Step> & unknown\n"],"names":[],"mappings":";;;AACY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;AACjE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/steps/src/item.vue"],"sourcesContent":["<template>\n <div :style=\"style\" :class=\"containerKls\">\n <!-- icon & line -->\n <div :class=\"[ns.e('head'), ns.is(currentStatus)]\">\n <div v-if=\"!isSimple\" :class=\"ns.e('line')\">\n <i :class=\"ns.e('line-inner')\" :style=\"lineStyle\" />\n </div>\n\n <div\n :class=\"[ns.e('icon'), ns.is(icon || $slots.icon ? 'icon' : 'text')]\"\n >\n <slot name=\"icon\">\n <el-icon v-if=\"icon\" :class=\"ns.e('icon-inner')\">\n <component :is=\"icon\" />\n </el-icon>\n <el-icon\n v-else-if=\"currentStatus === 'success'\"\n :class=\"[ns.e('icon-inner'), ns.is('status')]\"\n >\n <Check />\n </el-icon>\n <el-icon\n v-else-if=\"currentStatus === 'error'\"\n :class=\"[ns.e('icon-inner'), ns.is('status')]\"\n >\n <Close />\n </el-icon>\n <div v-else-if=\"!isSimple\" :class=\"ns.e('icon-inner')\">\n {{ index + 1 }}\n </div>\n </slot>\n </div>\n </div>\n <!-- title & description -->\n <div :class=\"ns.e('main')\">\n <div :class=\"[ns.e('title'), ns.is(currentStatus)]\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div v-if=\"isSimple\" :class=\"ns.e('arrow')\" />\n <div v-else :class=\"[ns.e('description'), ns.is(currentStatus)]\">\n <slot name=\"description\">{{ description }}</slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Check, Close } from '@element-plus/icons-vue'\nimport { isNumber } from '@element-plus/utils'\nimport { stepProps } from './item'\n\nimport type { CSSProperties, Ref } from 'vue'\n\nexport interface IStepsProps {\n space: number | string\n active: number\n direction: string\n alignCenter: boolean\n simple: boolean\n finishStatus: string\n processStatus: string\n}\n\nexport interface StepItemState {\n uid: number\n currentStatus: string\n setIndex: (val: number) => void\n calcProgress: (status: string) => void\n}\n\nexport interface IStepsInject {\n props: IStepsProps\n steps: Ref<StepItemState[]>\n addStep: (item: StepItemState) => void\n removeStep: (uid: number) => void\n}\n\ndefineOptions({\n name: 'ElStep',\n})\n\nconst props = defineProps(stepProps)\nconst ns = useNamespace('step')\nconst index = ref(-1)\nconst lineStyle = ref({})\nconst internalStatus = ref('')\nconst parent = inject('ElSteps') as IStepsInject\nconst currentInstance = getCurrentInstance()\n\nonMounted(() => {\n watch(\n [\n () => parent.props.active,\n () => parent.props.processStatus,\n () => parent.props.finishStatus,\n ],\n ([active]) => {\n updateStatus(active)\n },\n { immediate: true }\n )\n})\n\nonBeforeUnmount(() => {\n parent.removeStep(stepItemState.uid)\n})\n\nconst currentStatus = computed(() => {\n return props.status || internalStatus.value\n})\n\nconst prevStatus = computed(() => {\n const prevStep = parent.steps.value[index.value - 1]\n return prevStep ? prevStep.currentStatus : 'wait'\n})\n\nconst isCenter = computed(() => {\n return parent.props.alignCenter\n})\n\nconst isVertical = computed(() => {\n return parent.props.direction === 'vertical'\n})\n\nconst isSimple = computed(() => {\n return parent.props.simple\n})\n\nconst stepsCount = computed(() => {\n return parent.steps.value.length\n})\n\nconst isLast = computed(() => {\n return parent.steps.value[stepsCount.value - 1]?.uid === currentInstance?.uid\n})\n\nconst space = computed(() => {\n return isSimple.value ? '' : parent.props.space\n})\n\nconst containerKls = computed(() => {\n return [\n ns.b(),\n ns.is(isSimple.value ? 'simple' : parent.props.direction),\n ns.is('flex', isLast.value && !space.value && !isCenter.value),\n ns.is('center', isCenter.value && !isVertical.value && !isSimple.value),\n ]\n})\n\nconst style = computed(() => {\n const style: CSSProperties = {\n flexBasis: isNumber(space.value)\n ? `${space.value}px`\n : space.value\n ? space.value\n : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`,\n }\n if (isVertical.value) return style\n if (isLast.value) {\n style.maxWidth = `${100 / stepsCount.value}%`\n }\n return style\n})\n\nconst setIndex = (val: number) => {\n index.value = val\n}\n\nconst calcProgress = (status: string) => {\n const isWait = status === 'wait'\n const style: CSSProperties = {\n transitionDelay: `${isWait ? '-' : ''}${150 * index.value}ms`,\n }\n const step = status === parent.props.processStatus || isWait ? 0 : 100\n\n style.borderWidth = step && !isSimple.value ? '1px' : 0\n style[parent.props.direction === 'vertical' ? 'height' : 'width'] = `${step}%`\n lineStyle.value = style\n}\n\nconst updateStatus = (activeIndex: number) => {\n if (activeIndex > index.value) {\n internalStatus.value = parent.props.finishStatus\n } else if (activeIndex === index.value && prevStatus.value !== 'error') {\n internalStatus.value = parent.props.processStatus\n } else {\n internalStatus.value = 'wait'\n }\n const prevChild = parent.steps.value[index.value - 1]\n if (prevChild) prevChild.calcProgress(internalStatus.value)\n}\n\nconst stepItemState = reactive({\n uid: currentInstance!.uid,\n currentStatus,\n setIndex,\n calcProgress,\n})\n\nparent.addStep(stepItemState)\n</script>\n"],"names":["style"],"mappings":"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"}
@@ -1,195 +1,24 @@
1
- import { defineComponent, ref, inject, getCurrentInstance, onMounted, watch, onBeforeUnmount, computed, reactive, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createCommentVNode, createElementVNode, renderSlot, createBlock, withCtx, resolveDynamicComponent, createVNode, toDisplayString, createTextVNode } from 'vue';
2
- import { ElIcon } from '../../icon/index.mjs';
3
- import { Check, Close } from '@element-plus/icons-vue';
4
- import { stepProps } from './item.mjs';
5
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
- import { isNumber } from '../../../utils/types.mjs';
1
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
2
+ import { iconPropType } from '../../../utils/vue/icon.mjs';
8
3
 
9
- const __default__ = defineComponent({
10
- name: "ElStep"
11
- });
12
- const _sfc_main = defineComponent({
13
- ...__default__,
14
- props: stepProps,
15
- setup(__props) {
16
- const props = __props;
17
- const ns = useNamespace("step");
18
- const index = ref(-1);
19
- const lineStyle = ref({});
20
- const internalStatus = ref("");
21
- const parent = inject("ElSteps");
22
- const currentInstance = getCurrentInstance();
23
- onMounted(() => {
24
- watch([
25
- () => parent.props.active,
26
- () => parent.props.processStatus,
27
- () => parent.props.finishStatus
28
- ], ([active]) => {
29
- updateStatus(active);
30
- }, { immediate: true });
31
- });
32
- onBeforeUnmount(() => {
33
- parent.removeStep(stepItemState.uid);
34
- });
35
- const currentStatus = computed(() => {
36
- return props.status || internalStatus.value;
37
- });
38
- const prevStatus = computed(() => {
39
- const prevStep = parent.steps.value[index.value - 1];
40
- return prevStep ? prevStep.currentStatus : "wait";
41
- });
42
- const isCenter = computed(() => {
43
- return parent.props.alignCenter;
44
- });
45
- const isVertical = computed(() => {
46
- return parent.props.direction === "vertical";
47
- });
48
- const isSimple = computed(() => {
49
- return parent.props.simple;
50
- });
51
- const stepsCount = computed(() => {
52
- return parent.steps.value.length;
53
- });
54
- const isLast = computed(() => {
55
- var _a;
56
- return ((_a = parent.steps.value[stepsCount.value - 1]) == null ? void 0 : _a.uid) === (currentInstance == null ? void 0 : currentInstance.uid);
57
- });
58
- const space = computed(() => {
59
- return isSimple.value ? "" : parent.props.space;
60
- });
61
- const containerKls = computed(() => {
62
- return [
63
- ns.b(),
64
- ns.is(isSimple.value ? "simple" : parent.props.direction),
65
- ns.is("flex", isLast.value && !space.value && !isCenter.value),
66
- ns.is("center", isCenter.value && !isVertical.value && !isSimple.value)
67
- ];
68
- });
69
- const style = computed(() => {
70
- const style2 = {
71
- flexBasis: isNumber(space.value) ? `${space.value}px` : space.value ? space.value : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`
72
- };
73
- if (isVertical.value)
74
- return style2;
75
- if (isLast.value) {
76
- style2.maxWidth = `${100 / stepsCount.value}%`;
77
- }
78
- return style2;
79
- });
80
- const setIndex = (val) => {
81
- index.value = val;
82
- };
83
- const calcProgress = (status) => {
84
- const isWait = status === "wait";
85
- const style2 = {
86
- transitionDelay: `${isWait ? "-" : ""}${150 * index.value}ms`
87
- };
88
- const step = status === parent.props.processStatus || isWait ? 0 : 100;
89
- style2.borderWidth = step && !isSimple.value ? "1px" : 0;
90
- style2[parent.props.direction === "vertical" ? "height" : "width"] = `${step}%`;
91
- lineStyle.value = style2;
92
- };
93
- const updateStatus = (activeIndex) => {
94
- if (activeIndex > index.value) {
95
- internalStatus.value = parent.props.finishStatus;
96
- } else if (activeIndex === index.value && prevStatus.value !== "error") {
97
- internalStatus.value = parent.props.processStatus;
98
- } else {
99
- internalStatus.value = "wait";
100
- }
101
- const prevChild = parent.steps.value[index.value - 1];
102
- if (prevChild)
103
- prevChild.calcProgress(internalStatus.value);
104
- };
105
- const stepItemState = reactive({
106
- uid: currentInstance.uid,
107
- currentStatus,
108
- setIndex,
109
- calcProgress
110
- });
111
- parent.addStep(stepItemState);
112
- return (_ctx, _cache) => {
113
- return openBlock(), createElementBlock("div", {
114
- style: normalizeStyle(unref(style)),
115
- class: normalizeClass(unref(containerKls))
116
- }, [
117
- createCommentVNode(" icon & line "),
118
- createElementVNode("div", {
119
- class: normalizeClass([unref(ns).e("head"), unref(ns).is(unref(currentStatus))])
120
- }, [
121
- !unref(isSimple) ? (openBlock(), createElementBlock("div", {
122
- key: 0,
123
- class: normalizeClass(unref(ns).e("line"))
124
- }, [
125
- createElementVNode("i", {
126
- class: normalizeClass(unref(ns).e("line-inner")),
127
- style: normalizeStyle(lineStyle.value)
128
- }, null, 6)
129
- ], 2)) : createCommentVNode("v-if", true),
130
- createElementVNode("div", {
131
- class: normalizeClass([unref(ns).e("icon"), unref(ns).is(_ctx.icon || _ctx.$slots.icon ? "icon" : "text")])
132
- }, [
133
- renderSlot(_ctx.$slots, "icon", {}, () => [
134
- _ctx.icon ? (openBlock(), createBlock(unref(ElIcon), {
135
- key: 0,
136
- class: normalizeClass(unref(ns).e("icon-inner"))
137
- }, {
138
- default: withCtx(() => [
139
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
140
- ]),
141
- _: 1
142
- }, 8, ["class"])) : unref(currentStatus) === "success" ? (openBlock(), createBlock(unref(ElIcon), {
143
- key: 1,
144
- class: normalizeClass([unref(ns).e("icon-inner"), unref(ns).is("status")])
145
- }, {
146
- default: withCtx(() => [
147
- createVNode(unref(Check))
148
- ]),
149
- _: 1
150
- }, 8, ["class"])) : unref(currentStatus) === "error" ? (openBlock(), createBlock(unref(ElIcon), {
151
- key: 2,
152
- class: normalizeClass([unref(ns).e("icon-inner"), unref(ns).is("status")])
153
- }, {
154
- default: withCtx(() => [
155
- createVNode(unref(Close))
156
- ]),
157
- _: 1
158
- }, 8, ["class"])) : !unref(isSimple) ? (openBlock(), createElementBlock("div", {
159
- key: 3,
160
- class: normalizeClass(unref(ns).e("icon-inner"))
161
- }, toDisplayString(index.value + 1), 3)) : createCommentVNode("v-if", true)
162
- ])
163
- ], 2)
164
- ], 2),
165
- createCommentVNode(" title & description "),
166
- createElementVNode("div", {
167
- class: normalizeClass(unref(ns).e("main"))
168
- }, [
169
- createElementVNode("div", {
170
- class: normalizeClass([unref(ns).e("title"), unref(ns).is(unref(currentStatus))])
171
- }, [
172
- renderSlot(_ctx.$slots, "title", {}, () => [
173
- createTextVNode(toDisplayString(_ctx.title), 1)
174
- ])
175
- ], 2),
176
- unref(isSimple) ? (openBlock(), createElementBlock("div", {
177
- key: 0,
178
- class: normalizeClass(unref(ns).e("arrow"))
179
- }, null, 2)) : (openBlock(), createElementBlock("div", {
180
- key: 1,
181
- class: normalizeClass([unref(ns).e("description"), unref(ns).is(unref(currentStatus))])
182
- }, [
183
- renderSlot(_ctx.$slots, "description", {}, () => [
184
- createTextVNode(toDisplayString(_ctx.description), 1)
185
- ])
186
- ], 2))
187
- ], 2)
188
- ], 6);
189
- };
4
+ const stepProps = buildProps({
5
+ title: {
6
+ type: String,
7
+ default: ""
8
+ },
9
+ icon: {
10
+ type: iconPropType
11
+ },
12
+ description: {
13
+ type: String,
14
+ default: ""
15
+ },
16
+ status: {
17
+ type: String,
18
+ values: ["", "wait", "process", "finish", "error", "success"],
19
+ default: ""
190
20
  }
191
21
  });
192
- var Step = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "item.vue"]]);
193
22
 
194
- export { Step as default };
23
+ export { stepProps };
195
24
  //# sourceMappingURL=item2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"item2.mjs","sources":["../../../../../../packages/components/steps/src/item.vue"],"sourcesContent":["<template>\n <div :style=\"style\" :class=\"containerKls\">\n <!-- icon & line -->\n <div :class=\"[ns.e('head'), ns.is(currentStatus)]\">\n <div v-if=\"!isSimple\" :class=\"ns.e('line')\">\n <i :class=\"ns.e('line-inner')\" :style=\"lineStyle\" />\n </div>\n\n <div\n :class=\"[ns.e('icon'), ns.is(icon || $slots.icon ? 'icon' : 'text')]\"\n >\n <slot name=\"icon\">\n <el-icon v-if=\"icon\" :class=\"ns.e('icon-inner')\">\n <component :is=\"icon\" />\n </el-icon>\n <el-icon\n v-else-if=\"currentStatus === 'success'\"\n :class=\"[ns.e('icon-inner'), ns.is('status')]\"\n >\n <Check />\n </el-icon>\n <el-icon\n v-else-if=\"currentStatus === 'error'\"\n :class=\"[ns.e('icon-inner'), ns.is('status')]\"\n >\n <Close />\n </el-icon>\n <div v-else-if=\"!isSimple\" :class=\"ns.e('icon-inner')\">\n {{ index + 1 }}\n </div>\n </slot>\n </div>\n </div>\n <!-- title & description -->\n <div :class=\"ns.e('main')\">\n <div :class=\"[ns.e('title'), ns.is(currentStatus)]\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div v-if=\"isSimple\" :class=\"ns.e('arrow')\" />\n <div v-else :class=\"[ns.e('description'), ns.is(currentStatus)]\">\n <slot name=\"description\">{{ description }}</slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Check, Close } from '@element-plus/icons-vue'\nimport { isNumber } from '@element-plus/utils'\nimport { stepProps } from './item'\n\nimport type { CSSProperties, Ref } from 'vue'\n\nexport interface IStepsProps {\n space: number | string\n active: number\n direction: string\n alignCenter: boolean\n simple: boolean\n finishStatus: string\n processStatus: string\n}\n\nexport interface StepItemState {\n uid: number\n currentStatus: string\n setIndex: (val: number) => void\n calcProgress: (status: string) => void\n}\n\nexport interface IStepsInject {\n props: IStepsProps\n steps: Ref<StepItemState[]>\n addStep: (item: StepItemState) => void\n removeStep: (uid: number) => void\n}\n\ndefineOptions({\n name: 'ElStep',\n})\n\nconst props = defineProps(stepProps)\nconst ns = useNamespace('step')\nconst index = ref(-1)\nconst lineStyle = ref({})\nconst internalStatus = ref('')\nconst parent = inject('ElSteps') as IStepsInject\nconst currentInstance = getCurrentInstance()\n\nonMounted(() => {\n watch(\n [\n () => parent.props.active,\n () => parent.props.processStatus,\n () => parent.props.finishStatus,\n ],\n ([active]) => {\n updateStatus(active)\n },\n { immediate: true }\n )\n})\n\nonBeforeUnmount(() => {\n parent.removeStep(stepItemState.uid)\n})\n\nconst currentStatus = computed(() => {\n return props.status || internalStatus.value\n})\n\nconst prevStatus = computed(() => {\n const prevStep = parent.steps.value[index.value - 1]\n return prevStep ? prevStep.currentStatus : 'wait'\n})\n\nconst isCenter = computed(() => {\n return parent.props.alignCenter\n})\n\nconst isVertical = computed(() => {\n return parent.props.direction === 'vertical'\n})\n\nconst isSimple = computed(() => {\n return parent.props.simple\n})\n\nconst stepsCount = computed(() => {\n return parent.steps.value.length\n})\n\nconst isLast = computed(() => {\n return parent.steps.value[stepsCount.value - 1]?.uid === currentInstance?.uid\n})\n\nconst space = computed(() => {\n return isSimple.value ? '' : parent.props.space\n})\n\nconst containerKls = computed(() => {\n return [\n ns.b(),\n ns.is(isSimple.value ? 'simple' : parent.props.direction),\n ns.is('flex', isLast.value && !space.value && !isCenter.value),\n ns.is('center', isCenter.value && !isVertical.value && !isSimple.value),\n ]\n})\n\nconst style = computed(() => {\n const style: CSSProperties = {\n flexBasis: isNumber(space.value)\n ? `${space.value}px`\n : space.value\n ? space.value\n : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`,\n }\n if (isVertical.value) return style\n if (isLast.value) {\n style.maxWidth = `${100 / stepsCount.value}%`\n }\n return style\n})\n\nconst setIndex = (val: number) => {\n index.value = val\n}\n\nconst calcProgress = (status: string) => {\n const isWait = status === 'wait'\n const style: CSSProperties = {\n transitionDelay: `${isWait ? '-' : ''}${150 * index.value}ms`,\n }\n const step = status === parent.props.processStatus || isWait ? 0 : 100\n\n style.borderWidth = step && !isSimple.value ? '1px' : 0\n style[parent.props.direction === 'vertical' ? 'height' : 'width'] = `${step}%`\n lineStyle.value = style\n}\n\nconst updateStatus = (activeIndex: number) => {\n if (activeIndex > index.value) {\n internalStatus.value = parent.props.finishStatus\n } else if (activeIndex === index.value && prevStatus.value !== 'error') {\n internalStatus.value = parent.props.processStatus\n } else {\n internalStatus.value = 'wait'\n }\n const prevChild = parent.steps.value[index.value - 1]\n if (prevChild) prevChild.calcProgress(internalStatus.value)\n}\n\nconst stepItemState = reactive({\n uid: currentInstance!.uid,\n currentStatus,\n setIndex,\n calcProgress,\n})\n\nparent.addStep(stepItemState)\n</script>\n"],"names":["style"],"mappings":"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"}
1
+ {"version":3,"file":"item2.mjs","sources":["../../../../../../packages/components/steps/src/item.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\nimport type Step from './item.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const stepProps = buildProps({\n /**\n * @description step title\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description step custom icon. Icons can be passed via named slot as well\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description step description\n */\n description: {\n type: String,\n default: '',\n },\n /**\n * @description current status. It will be automatically set by Steps if not configured.\n */\n status: {\n type: String,\n values: ['', 'wait', 'process', 'finish', 'error', 'success'],\n default: '',\n },\n} as const)\n\nexport type StepProps = ExtractPropTypes<typeof stepProps>\n\nexport type StepInstance = InstanceType<typeof Step> & unknown\n"],"names":[],"mappings":";;;AACY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;AACjE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
@@ -100,6 +100,7 @@ function useTable(props) {
100
100
  return rowHeight;
101
101
  return unref(rowHeights)[unref(data)[rowIndex][rowKey]] || estimatedRowHeight;
102
102
  }
103
+ const isEndReached = ref(false);
103
104
  function onMaybeEndReached() {
104
105
  const { onEndReached } = props;
105
106
  if (!onEndReached)
@@ -108,10 +109,14 @@ function useTable(props) {
108
109
  const _totalHeight = unref(rowsHeight);
109
110
  const clientHeight = unref(windowHeight);
110
111
  const remainDistance = _totalHeight - (scrollTop + clientHeight) + props.hScrollbarSize;
111
- if (unref(lastRenderedRowIndex) >= 0 && _totalHeight <= scrollTop + unref(mainTableHeight) - unref(headerHeight)) {
112
+ if (!isEndReached.value && unref(lastRenderedRowIndex) >= 0 && _totalHeight <= scrollTop + unref(mainTableHeight) - unref(headerHeight)) {
113
+ isEndReached.value = true;
112
114
  onEndReached(remainDistance);
115
+ } else {
116
+ isEndReached.value = false;
113
117
  }
114
118
  }
119
+ watch(() => unref(rowsHeight), () => isEndReached.value = false);
115
120
  watch(() => props.expandedRowKeys, (val) => expandedRowKeys.value = val, {
116
121
  deep: true
117
122
  });