@element-plus/nightly 0.0.20260423 → 0.0.20260425

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 (674) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +4763 -4445
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +10 -10
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +4762 -4446
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +2 -2
  278. package/es/components/alert/src/alert.d.ts +1 -1
  279. package/es/components/alert/src/alert.vue.d.ts +1 -1
  280. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  281. package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
  282. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  283. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  284. package/es/components/avatar/src/avatar-group.d.ts +3 -3
  285. package/es/components/avatar/src/avatar.d.ts +2 -2
  286. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  287. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  288. package/es/components/badge/src/badge.vue.d.ts +1 -1
  289. package/es/components/button/src/button-group.vue.d.ts +1 -1
  290. package/es/components/button/src/button.d.ts +1 -1
  291. package/es/components/button/src/button.vue.d.ts +4 -4
  292. package/es/components/card/src/card.vue.d.ts +1 -1
  293. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  294. package/es/components/cascader/src/cascader.d.ts +10 -2
  295. package/es/components/cascader/src/cascader.mjs +4 -0
  296. package/es/components/cascader/src/cascader.mjs.map +1 -1
  297. package/es/components/cascader/src/cascader.vue.d.ts +30 -22
  298. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +155 -29
  299. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  300. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  301. package/es/components/cascader-panel/index.d.ts +2 -2
  302. package/es/components/cascader-panel/index.mjs +2 -2
  303. package/es/components/cascader-panel/src/config.d.ts +27 -1
  304. package/es/components/cascader-panel/src/config.mjs +18 -1
  305. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  306. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  307. package/es/components/cascader-panel/src/index.vue.d.ts +5 -3
  308. package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs +44 -5
  309. package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  310. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  311. package/es/components/cascader-panel/src/menu.vue.d.ts +23 -22
  312. package/es/components/cascader-panel/src/menu.vue_vue_type_script_setup_true_lang.mjs +120 -6
  313. package/es/components/cascader-panel/src/menu.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  314. package/es/components/cascader-panel/src/node.vue_vue_type_script_setup_true_lang.mjs +4 -1
  315. package/es/components/cascader-panel/src/node.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  316. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  317. package/es/components/cascader-panel/src/types.d.ts +3 -0
  318. package/es/components/cascader-panel/src/types.mjs.map +1 -1
  319. package/es/components/cascader-panel/style/css.mjs +1 -1
  320. package/es/components/cascader-panel/style/index.mjs +1 -1
  321. package/es/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  322. package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  323. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  324. package/es/components/checkbox/src/checkbox.vue.d.ts +6 -6
  325. package/es/components/col/src/col.vue.d.ts +1 -1
  326. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  327. package/es/components/collapse/src/collapse.d.ts +1 -1
  328. package/es/components/collapse/src/collapse.vue.d.ts +2 -2
  329. package/es/components/color-picker/src/color-picker.vue.d.ts +11 -11
  330. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  331. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  332. package/es/components/date-picker/src/date-picker.d.ts +15 -15
  333. package/es/components/date-picker/src/props.d.ts +2 -2
  334. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +6 -6
  335. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  336. package/es/components/descriptions/src/description-item.d.ts +20 -20
  337. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  338. package/es/components/dialog/src/dialog.vue.d.ts +6 -6
  339. package/es/components/divider/src/divider.d.ts +1 -1
  340. package/es/components/divider/src/divider.vue.d.ts +1 -1
  341. package/es/components/drawer/src/drawer.vue.d.ts +6 -6
  342. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  343. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  344. package/es/components/dropdown/src/dropdown.d.ts +4 -4
  345. package/es/components/dropdown/src/dropdown.vue.d.ts +85 -85
  346. package/es/components/form/src/form-item.d.ts +2 -2
  347. package/es/components/form/src/form-item.vue.d.ts +1 -1
  348. package/es/components/form/src/form.d.ts +2 -2
  349. package/es/components/form/src/form.vue.d.ts +1 -1
  350. package/es/components/image/src/image.d.ts +1 -1
  351. package/es/components/image/src/image.vue.d.ts +6 -6
  352. package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  353. package/es/components/index.d.ts +11 -11
  354. package/es/components/index.mjs +7 -7
  355. package/es/components/input/src/input.d.ts +3 -3
  356. package/es/components/input/src/input.vue.d.ts +18 -18
  357. package/es/components/input-number/src/input-number.d.ts +3 -3
  358. package/es/components/input-number/src/input-number.vue.d.ts +11 -11
  359. package/es/components/input-otp/src/input-otp.vue.d.ts +8 -8
  360. package/es/components/input-tag/src/input-tag.d.ts +1 -1
  361. package/es/components/input-tag/src/input-tag.vue.d.ts +13 -13
  362. package/es/components/link/src/link.vue.d.ts +1 -1
  363. package/es/components/mention/src/mention.d.ts +3 -3
  364. package/es/components/mention/src/mention.vue.d.ts +4 -4
  365. package/es/components/menu/src/menu.d.ts +2 -2
  366. package/es/components/menu/src/sub-menu.d.ts +1 -1
  367. package/es/components/message/src/message.d.ts +2 -2
  368. package/es/components/message/src/message.vue.d.ts +6 -6
  369. package/es/components/message-box/index.d.ts +2 -2
  370. package/es/components/message-box/src/message-box.type.d.ts +9 -3
  371. package/es/components/message-box/src/messageBox.mjs +9 -1
  372. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  373. package/es/components/notification/src/notification.d.ts +2 -2
  374. package/es/components/notification/src/notification.vue.d.ts +5 -5
  375. package/es/components/pagination/src/pagination.d.ts +3 -3
  376. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  377. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  378. package/es/components/popover/src/popover.d.ts +2 -2
  379. package/es/components/popover/src/popover.vue.d.ts +12 -12
  380. package/es/components/popper/src/composables/use-content.d.ts +3 -3
  381. package/es/components/popper/src/content.vue.d.ts +14 -14
  382. package/es/components/popper/src/popper.d.ts +2 -2
  383. package/es/components/progress/src/progress.d.ts +1 -1
  384. package/es/components/progress/src/progress.vue.d.ts +3 -3
  385. package/es/components/radio/src/radio-button.d.ts +3 -3
  386. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  387. package/es/components/radio/src/radio-group.vue.d.ts +6 -6
  388. package/es/components/radio/src/radio.d.ts +6 -6
  389. package/es/components/radio/src/radio.vue.d.ts +5 -5
  390. package/es/components/rate/src/rate.vue.d.ts +3 -3
  391. package/es/components/result/src/result.d.ts +1 -1
  392. package/es/components/result/src/result.vue.d.ts +1 -1
  393. package/es/components/row/src/row.vue.d.ts +1 -1
  394. package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  395. package/es/components/segmented/index.d.ts +3 -3
  396. package/es/components/segmented/src/segmented.d.ts +1 -1
  397. package/es/components/segmented/src/segmented.vue.d.ts +2 -2
  398. package/es/components/select/src/option.d.ts +2 -2
  399. package/es/components/select/src/option.vue.d.ts +5 -5
  400. package/es/components/select/src/select.d.ts +3 -3
  401. package/es/components/select/src/select.vue.d.ts +103 -103
  402. package/es/components/select/src/useSelect.mjs +2 -1
  403. package/es/components/select/src/useSelect.mjs.map +1 -1
  404. package/es/components/select-v2/src/defaults.d.ts +1 -1
  405. package/es/components/select-v2/src/select-dropdown.d.ts +2 -2
  406. package/es/components/select-v2/src/select.vue.d.ts +79 -79
  407. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  408. package/es/components/slider/src/button.vue.d.ts +1 -1
  409. package/es/components/slider/src/slider.vue.d.ts +7 -7
  410. package/es/components/space/src/space.d.ts +1 -1
  411. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  412. package/es/components/steps/src/item.d.ts +1 -1
  413. package/es/components/steps/src/item.vue.d.ts +1 -1
  414. package/es/components/steps/src/steps.d.ts +2 -2
  415. package/es/components/steps/src/steps.vue.d.ts +2 -2
  416. package/es/components/switch/src/switch.vue.d.ts +3 -3
  417. package/es/components/table/src/table-column/index.d.ts +26 -26
  418. package/es/components/table/src/table-footer/index.d.ts +1 -1
  419. package/es/components/table/src/table-header/index.d.ts +20 -20
  420. package/es/components/table/src/table-layout.d.ts +1 -0
  421. package/es/components/table/src/table-layout.mjs +5 -1
  422. package/es/components/table/src/table-layout.mjs.map +1 -1
  423. package/es/components/table/src/table.vue.d.ts +57 -57
  424. package/es/components/table-v2/src/table-grid.d.ts +1 -1
  425. package/es/components/table-v2/src/table-v2.d.ts +1 -1
  426. package/es/components/table-v2/style/css.mjs +1 -1
  427. package/es/components/table-v2/style/index.mjs +1 -1
  428. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  429. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  430. package/es/components/tabs/src/tabs.d.ts +6 -6
  431. package/es/components/tag/src/tag.vue.d.ts +2 -2
  432. package/es/components/text/src/text.vue.d.ts +1 -1
  433. package/es/components/time-picker/src/common/picker.vue.d.ts +23 -23
  434. package/es/components/time-picker/src/common/props.d.ts +2 -2
  435. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  436. package/es/components/time-select/src/time-select.vue.d.ts +11 -11
  437. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  438. package/es/components/tooltip/src/content.vue.d.ts +12 -12
  439. package/es/components/tooltip/src/tooltip.d.ts +2 -2
  440. package/es/components/tooltip/src/tooltip.vue.d.ts +14 -14
  441. package/es/components/tooltip/src/trigger.d.ts +1 -1
  442. package/es/components/tour/src/content.d.ts +1 -1
  443. package/es/components/tour/src/step.d.ts +1 -1
  444. package/es/components/tour/src/tour.d.ts +1 -1
  445. package/es/components/tour/src/tour.vue.d.ts +5 -5
  446. package/es/components/transfer/src/transfer.vue.d.ts +2 -2
  447. package/es/components/tree/src/tree.vue.d.ts +32 -32
  448. package/es/components/tree-select/src/tree-select.vue.d.ts +42 -42
  449. package/es/components/tree-v2/src/tree.vue.d.ts +8 -8
  450. package/es/components/upload/src/upload-content.d.ts +1 -1
  451. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  452. package/es/components/upload/src/upload-list.d.ts +1 -1
  453. package/es/components/upload/src/upload.d.ts +2 -2
  454. package/es/components/upload/src/upload.vue.d.ts +3 -3
  455. package/es/components/virtual-list/src/builders/build-grid.d.ts +14 -2
  456. package/es/components/virtual-list/src/builders/build-list.mjs +2 -1
  457. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  458. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +14 -2
  459. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +17 -5
  460. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +14 -2
  461. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +17 -5
  462. package/es/components/virtual-list/src/props.d.ts +18 -0
  463. package/es/components/virtual-list/src/props.mjs +4 -0
  464. package/es/components/virtual-list/src/props.mjs.map +1 -1
  465. package/es/hooks/use-floating/index.d.ts +4 -4
  466. package/es/hooks/use-popper/index.d.ts +3 -3
  467. package/es/index.d.ts +10 -10
  468. package/es/index.mjs +7 -7
  469. package/es/utils/vue/size.d.ts +1 -1
  470. package/es/version.mjs +1 -1
  471. package/es/version.mjs.map +1 -1
  472. package/lib/components/affix/src/affix.vue.d.ts +2 -2
  473. package/lib/components/alert/src/alert.d.ts +1 -1
  474. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  475. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  476. package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
  477. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  478. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  479. package/lib/components/avatar/src/avatar-group.d.ts +3 -3
  480. package/lib/components/avatar/src/avatar.d.ts +2 -2
  481. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  482. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  483. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  484. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  485. package/lib/components/button/src/button.d.ts +1 -1
  486. package/lib/components/button/src/button.vue.d.ts +4 -4
  487. package/lib/components/card/src/card.vue.d.ts +1 -1
  488. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  489. package/lib/components/cascader/src/cascader.d.ts +10 -2
  490. package/lib/components/cascader/src/cascader.js +4 -0
  491. package/lib/components/cascader/src/cascader.js.map +1 -1
  492. package/lib/components/cascader/src/cascader.vue.d.ts +30 -22
  493. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +154 -27
  494. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  495. package/lib/components/cascader/src/cascader2.js.map +1 -1
  496. package/lib/components/cascader-panel/index.d.ts +2 -2
  497. package/lib/components/cascader-panel/index.js +2 -0
  498. package/lib/components/cascader-panel/src/config.d.ts +27 -1
  499. package/lib/components/cascader-panel/src/config.js +19 -0
  500. package/lib/components/cascader-panel/src/config.js.map +1 -1
  501. package/lib/components/cascader-panel/src/index.js.map +1 -1
  502. package/lib/components/cascader-panel/src/index.vue.d.ts +5 -3
  503. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js +44 -5
  504. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js.map +1 -1
  505. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  506. package/lib/components/cascader-panel/src/menu.vue.d.ts +23 -22
  507. package/lib/components/cascader-panel/src/menu.vue_vue_type_script_setup_true_lang.js +119 -5
  508. package/lib/components/cascader-panel/src/menu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  509. package/lib/components/cascader-panel/src/node.vue_vue_type_script_setup_true_lang.js +4 -1
  510. package/lib/components/cascader-panel/src/node.vue_vue_type_script_setup_true_lang.js.map +1 -1
  511. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  512. package/lib/components/cascader-panel/src/types.d.ts +3 -0
  513. package/lib/components/cascader-panel/src/types.js.map +1 -1
  514. package/lib/components/cascader-panel/style/css.js +1 -1
  515. package/lib/components/cascader-panel/style/index.js +1 -1
  516. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  517. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  518. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  519. package/lib/components/checkbox/src/checkbox.vue.d.ts +6 -6
  520. package/lib/components/col/src/col.vue.d.ts +1 -1
  521. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  522. package/lib/components/collapse/src/collapse.d.ts +1 -1
  523. package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
  524. package/lib/components/color-picker/src/color-picker.vue.d.ts +11 -11
  525. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  526. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  527. package/lib/components/date-picker/src/date-picker.d.ts +15 -15
  528. package/lib/components/date-picker/src/props.d.ts +2 -2
  529. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +6 -6
  530. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  531. package/lib/components/descriptions/src/description-item.d.ts +20 -20
  532. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  533. package/lib/components/dialog/src/dialog.vue.d.ts +6 -6
  534. package/lib/components/divider/src/divider.d.ts +1 -1
  535. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  536. package/lib/components/drawer/src/drawer.vue.d.ts +6 -6
  537. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  538. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  539. package/lib/components/dropdown/src/dropdown.d.ts +4 -4
  540. package/lib/components/dropdown/src/dropdown.vue.d.ts +85 -85
  541. package/lib/components/form/src/form-item.d.ts +2 -2
  542. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  543. package/lib/components/form/src/form.d.ts +2 -2
  544. package/lib/components/form/src/form.vue.d.ts +1 -1
  545. package/lib/components/image/src/image.d.ts +1 -1
  546. package/lib/components/image/src/image.vue.d.ts +6 -6
  547. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  548. package/lib/components/index.d.ts +11 -11
  549. package/lib/components/index.js +13 -11
  550. package/lib/components/input/src/input.d.ts +3 -3
  551. package/lib/components/input/src/input.vue.d.ts +18 -18
  552. package/lib/components/input-number/src/input-number.d.ts +3 -3
  553. package/lib/components/input-number/src/input-number.vue.d.ts +11 -11
  554. package/lib/components/input-otp/src/input-otp.vue.d.ts +8 -8
  555. package/lib/components/input-tag/src/input-tag.d.ts +1 -1
  556. package/lib/components/input-tag/src/input-tag.vue.d.ts +13 -13
  557. package/lib/components/link/src/link.vue.d.ts +1 -1
  558. package/lib/components/mention/src/mention.d.ts +3 -3
  559. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  560. package/lib/components/menu/src/menu.d.ts +2 -2
  561. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  562. package/lib/components/message/src/message.d.ts +2 -2
  563. package/lib/components/message/src/message.vue.d.ts +6 -6
  564. package/lib/components/message-box/index.d.ts +2 -2
  565. package/lib/components/message-box/src/message-box.type.d.ts +9 -3
  566. package/lib/components/message-box/src/messageBox.js +9 -1
  567. package/lib/components/message-box/src/messageBox.js.map +1 -1
  568. package/lib/components/notification/src/notification.d.ts +2 -2
  569. package/lib/components/notification/src/notification.vue.d.ts +5 -5
  570. package/lib/components/pagination/src/pagination.d.ts +3 -3
  571. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  572. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  573. package/lib/components/popover/src/popover.d.ts +2 -2
  574. package/lib/components/popover/src/popover.vue.d.ts +12 -12
  575. package/lib/components/popper/src/composables/use-content.d.ts +3 -3
  576. package/lib/components/popper/src/content.vue.d.ts +14 -14
  577. package/lib/components/popper/src/popper.d.ts +2 -2
  578. package/lib/components/progress/src/progress.d.ts +1 -1
  579. package/lib/components/progress/src/progress.vue.d.ts +3 -3
  580. package/lib/components/radio/src/radio-button.d.ts +3 -3
  581. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  582. package/lib/components/radio/src/radio-group.vue.d.ts +6 -6
  583. package/lib/components/radio/src/radio.d.ts +6 -6
  584. package/lib/components/radio/src/radio.vue.d.ts +5 -5
  585. package/lib/components/rate/src/rate.vue.d.ts +3 -3
  586. package/lib/components/result/src/result.d.ts +1 -1
  587. package/lib/components/result/src/result.vue.d.ts +1 -1
  588. package/lib/components/row/src/row.vue.d.ts +1 -1
  589. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  590. package/lib/components/segmented/index.d.ts +3 -3
  591. package/lib/components/segmented/src/segmented.d.ts +1 -1
  592. package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
  593. package/lib/components/select/src/option.d.ts +2 -2
  594. package/lib/components/select/src/option.vue.d.ts +5 -5
  595. package/lib/components/select/src/select.d.ts +3 -3
  596. package/lib/components/select/src/select.vue.d.ts +103 -103
  597. package/lib/components/select/src/useSelect.js +2 -1
  598. package/lib/components/select/src/useSelect.js.map +1 -1
  599. package/lib/components/select-v2/src/defaults.d.ts +1 -1
  600. package/lib/components/select-v2/src/select-dropdown.d.ts +2 -2
  601. package/lib/components/select-v2/src/select.vue.d.ts +79 -79
  602. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  603. package/lib/components/slider/src/button.vue.d.ts +1 -1
  604. package/lib/components/slider/src/slider.vue.d.ts +7 -7
  605. package/lib/components/space/src/space.d.ts +1 -1
  606. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  607. package/lib/components/steps/src/item.d.ts +1 -1
  608. package/lib/components/steps/src/item.vue.d.ts +1 -1
  609. package/lib/components/steps/src/steps.d.ts +2 -2
  610. package/lib/components/steps/src/steps.vue.d.ts +2 -2
  611. package/lib/components/switch/src/switch.vue.d.ts +3 -3
  612. package/lib/components/table/src/table-column/index.d.ts +26 -26
  613. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  614. package/lib/components/table/src/table-header/index.d.ts +20 -20
  615. package/lib/components/table/src/table-layout.d.ts +1 -0
  616. package/lib/components/table/src/table-layout.js +5 -1
  617. package/lib/components/table/src/table-layout.js.map +1 -1
  618. package/lib/components/table/src/table.vue.d.ts +57 -57
  619. package/lib/components/table-v2/src/table-grid.d.ts +1 -1
  620. package/lib/components/table-v2/src/table-v2.d.ts +1 -1
  621. package/lib/components/table-v2/style/css.js +1 -1
  622. package/lib/components/table-v2/style/index.js +1 -1
  623. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  624. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  625. package/lib/components/tabs/src/tabs.d.ts +6 -6
  626. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  627. package/lib/components/text/src/text.vue.d.ts +1 -1
  628. package/lib/components/time-picker/src/common/picker.vue.d.ts +23 -23
  629. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  630. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  631. package/lib/components/time-select/src/time-select.vue.d.ts +11 -11
  632. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  633. package/lib/components/tooltip/src/content.vue.d.ts +12 -12
  634. package/lib/components/tooltip/src/tooltip.d.ts +2 -2
  635. package/lib/components/tooltip/src/tooltip.vue.d.ts +14 -14
  636. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  637. package/lib/components/tour/src/content.d.ts +1 -1
  638. package/lib/components/tour/src/step.d.ts +1 -1
  639. package/lib/components/tour/src/tour.d.ts +1 -1
  640. package/lib/components/tour/src/tour.vue.d.ts +5 -5
  641. package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
  642. package/lib/components/tree/src/tree.vue.d.ts +32 -32
  643. package/lib/components/tree-select/src/tree-select.vue.d.ts +42 -42
  644. package/lib/components/tree-v2/src/tree.vue.d.ts +8 -8
  645. package/lib/components/upload/src/upload-content.d.ts +1 -1
  646. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  647. package/lib/components/upload/src/upload-list.d.ts +1 -1
  648. package/lib/components/upload/src/upload.d.ts +2 -2
  649. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  650. package/lib/components/virtual-list/src/builders/build-grid.d.ts +14 -2
  651. package/lib/components/virtual-list/src/builders/build-list.js +2 -1
  652. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  653. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +14 -2
  654. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +17 -5
  655. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +14 -2
  656. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +17 -5
  657. package/lib/components/virtual-list/src/props.d.ts +18 -0
  658. package/lib/components/virtual-list/src/props.js +4 -0
  659. package/lib/components/virtual-list/src/props.js.map +1 -1
  660. package/lib/hooks/use-floating/index.d.ts +4 -4
  661. package/lib/hooks/use-popper/index.d.ts +3 -3
  662. package/lib/index.d.ts +10 -10
  663. package/lib/index.js +13 -11
  664. package/lib/utils/vue/size.d.ts +1 -1
  665. package/lib/version.js +1 -1
  666. package/lib/version.js.map +1 -1
  667. package/package.json +5 -5
  668. package/tags.json +1 -1
  669. package/theme-chalk/el-cascader-panel.css +1 -1
  670. package/theme-chalk/el-cascader.css +1 -1
  671. package/theme-chalk/index.css +1 -1
  672. package/theme-chalk/src/cascader-panel.scss +11 -0
  673. package/theme-chalk/src/cascader.scss +28 -1
  674. package/web-types.json +1 -1
@@ -1,32 +1,33 @@
1
1
  import "./types.js";
2
2
  import { Node } from "./node.js";
3
+ import { CascaderCommonProps } from "./config.js";
4
+ import { FixedSizeListInstance } from "../../virtual-list/src/components/fixed-size-list.js";
5
+ import "../../virtual-list/index.js";
3
6
  import * as vue from "vue";
4
- import { PropType } from "vue";
5
7
 
6
8
  //#region ../../packages/components/cascader-panel/src/menu.vue.d.ts
7
- declare var __VLS_29: {};
9
+ type __VLS_Props = {
10
+ nodes: Node[];
11
+ index: number;
12
+ } & Pick<CascaderCommonProps, 'virtualScroll' | 'itemSize' | 'height'>;
13
+ declare var __VLS_28: {}, __VLS_58: {};
8
14
  type __VLS_Slots = {} & {
9
- empty?: (props: typeof __VLS_29) => any;
15
+ empty?: (props: typeof __VLS_28) => any;
16
+ } & {
17
+ empty?: (props: typeof __VLS_58) => any;
10
18
  };
11
- declare const __VLS_base: vue.DefineComponent<vue.ExtractPropTypes<{
12
- nodes: {
13
- type: PropType<Node[]>;
14
- required: true;
15
- };
16
- index: {
17
- type: NumberConstructor;
18
- required: true;
19
- };
20
- }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
21
- nodes: {
22
- type: PropType<Node[]>;
23
- required: true;
24
- };
25
- index: {
26
- type: NumberConstructor;
27
- required: true;
28
- };
29
- }>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
19
+ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
20
+ getActiveNodeIndex: () => number;
21
+ getNodeIndexById: (nodeId: string | undefined) => number;
22
+ scrollToItem: (index: number) => void;
23
+ focusNodeAt: (index: number) => void;
24
+ virtualListRef: vue.Ref<FixedSizeListInstance | undefined, FixedSizeListInstance | undefined>;
25
+ readonly $el: HTMLElement;
26
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
27
+ height: number;
28
+ itemSize: number;
29
+ virtualScroll: boolean;
30
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
30
31
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
31
32
  declare const _default: typeof __VLS_export;
32
33
  type __VLS_WithSlots<T, S> = T & {
@@ -1,12 +1,16 @@
1
+ import { focusNode } from "../../../utils/dom/aria.mjs";
1
2
  import { useLocale } from "../../../hooks/use-locale/index.mjs";
2
3
  import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
3
4
  import { useId } from "../../../hooks/use-id/index.mjs";
4
5
  import { ElIcon } from "../../icon/index.mjs";
5
6
  import { ElScrollbar } from "../../scrollbar/index.mjs";
7
+ import { CASCADER_PANEL_HEIGHT, CASCADER_PANEL_ITEM_SIZE } from "./config.mjs";
8
+ import FixedSizeList from "../../virtual-list/src/components/fixed-size-list.mjs";
6
9
  import { CASCADER_PANEL_INJECTION_KEY } from "./types.mjs";
7
10
  import node_default from "./node2.mjs";
11
+ import { clamp } from "lodash-unified";
8
12
  import { Loading } from "@element-plus/icons-vue";
9
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, getCurrentInstance, inject, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, unref, withCtx } from "vue";
13
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, getCurrentInstance, inject, nextTick, normalizeClass, normalizeStyle, openBlock, ref, renderList, renderSlot, toDisplayString, unref, withCtx } from "vue";
10
14
 
11
15
  //#region ../../packages/components/cascader-panel/src/menu.vue?vue&type=script&setup=true&lang.ts
12
16
  var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -20,9 +24,24 @@ var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
20
24
  index: {
21
25
  type: Number,
22
26
  required: true
27
+ },
28
+ virtualScroll: {
29
+ type: Boolean,
30
+ required: false,
31
+ default: false
32
+ },
33
+ itemSize: {
34
+ type: Number,
35
+ required: false,
36
+ default: CASCADER_PANEL_ITEM_SIZE
37
+ },
38
+ height: {
39
+ type: Number,
40
+ required: false,
41
+ default: CASCADER_PANEL_HEIGHT
23
42
  }
24
43
  },
25
- setup(__props) {
44
+ setup(__props, { expose: __expose }) {
26
45
  const props = __props;
27
46
  const instance = getCurrentInstance();
28
47
  const ns = useNamespace("cascader-menu");
@@ -32,9 +51,36 @@ var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
32
51
  let hoverTimer;
33
52
  const panel = inject(CASCADER_PANEL_INJECTION_KEY);
34
53
  const hoverZone = ref();
54
+ const virtualListRef = ref();
35
55
  const isEmpty = computed(() => !props.nodes.length);
36
56
  const isLoading = computed(() => !panel.initialLoaded);
37
57
  const menuId = computed(() => `${id.value}-${props.index}`);
58
+ const getActiveNodeIndex = () => {
59
+ let activeNodeId;
60
+ if (panel.expandingNode) {
61
+ const { level, pathNodes } = panel.expandingNode;
62
+ if (props.index < level) activeNodeId = pathNodes[props.index]?.uid;
63
+ else if (props.index === level && panel.checkedNodes.length > 0) activeNodeId = panel.checkedNodes[0]?.pathNodes[props.index]?.uid;
64
+ } else if (panel.checkedNodes.length > 0 && props.index < panel.checkedNodes[0].pathNodes.length) activeNodeId = panel.checkedNodes[0].pathNodes[props.index]?.uid;
65
+ return activeNodeId !== void 0 ? props.nodes.findIndex((node) => node.uid === activeNodeId) : -1;
66
+ };
67
+ const getNodeIndexById = (nodeId) => {
68
+ if (!nodeId) return -1;
69
+ return props.nodes.findIndex((node) => `${menuId.value}-${node.uid}` === nodeId);
70
+ };
71
+ const scrollToItem = (index) => {
72
+ const targetIndex = clamp(index, 0, props.nodes.length - 1);
73
+ virtualListRef.value?.scrollToItem(targetIndex);
74
+ };
75
+ const focusNodeAt = (index) => {
76
+ if (!props.nodes.length) return;
77
+ const targetIndex = clamp(index, 0, props.nodes.length - 1);
78
+ scrollToItem(targetIndex);
79
+ nextTick(() => {
80
+ const node = instance.vnode.el?.querySelector(`#${menuId.value}-${props.nodes[targetIndex].uid}`);
81
+ if (node) focusNode(node);
82
+ });
83
+ };
38
84
  const handleExpand = (e) => {
39
85
  activeNode = e.target;
40
86
  };
@@ -48,7 +94,7 @@ var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
48
94
  const startX = e.clientX - left;
49
95
  const top = activeNode.offsetTop;
50
96
  const bottom = top + activeNode.offsetHeight;
51
- const scrollTop = el.querySelector(`.${ns.e("wrap")}`)?.scrollTop || 0;
97
+ const scrollTop = props.virtualScroll ? virtualListRef.value?.states?.scrollOffset || 0 : el.querySelector(`.${ns.e("wrap")}`)?.scrollTop || 0;
52
98
  hoverZone.value.innerHTML = `
53
99
  <path style="pointer-events: auto;" fill="transparent" d="M${startX} ${top} L${offsetWidth} ${scrollTop} V${top} Z" />
54
100
  <path style="pointer-events: auto;" fill="transparent" d="M${startX} ${bottom} L${offsetWidth} ${offsetHeight + scrollTop} V${bottom} Z" />
@@ -65,8 +111,76 @@ var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
65
111
  hoverZone.value.innerHTML = "";
66
112
  clearHoverTimer();
67
113
  };
114
+ __expose({
115
+ getActiveNodeIndex,
116
+ getNodeIndexById,
117
+ scrollToItem,
118
+ focusNodeAt,
119
+ virtualListRef,
120
+ get $el() {
121
+ return instance.vnode.el;
122
+ }
123
+ });
68
124
  return (_ctx, _cache) => {
69
- return openBlock(), createBlock(unref(ElScrollbar), {
125
+ return __props.virtualScroll ? (openBlock(), createElementBlock("div", {
126
+ key: menuId.value,
127
+ class: normalizeClass(unref(ns).b()),
128
+ onMousemove: handleMouseMove,
129
+ onMouseleave: clearHoverZone
130
+ }, [
131
+ createVNode(unref(FixedSizeList), {
132
+ ref_key: "virtualListRef",
133
+ ref: virtualListRef,
134
+ height: __props.height,
135
+ "item-size": __props.itemSize,
136
+ data: __props.nodes,
137
+ total: __props.nodes.length,
138
+ "class-name": unref(ns).e("list"),
139
+ "inner-element": "ul",
140
+ "inner-props": {
141
+ role: "menu",
142
+ class: unref(ns).is("empty", isEmpty.value)
143
+ }
144
+ }, {
145
+ default: withCtx(({ data, index: nodeIndex, style }) => [(openBlock(), createBlock(node_default, {
146
+ key: data[nodeIndex].uid,
147
+ node: data[nodeIndex],
148
+ "menu-id": menuId.value,
149
+ style: normalizeStyle(style),
150
+ onExpand: handleExpand
151
+ }, null, 8, [
152
+ "node",
153
+ "menu-id",
154
+ "style"
155
+ ]))]),
156
+ _: 1
157
+ }, 8, [
158
+ "height",
159
+ "item-size",
160
+ "data",
161
+ "total",
162
+ "class-name",
163
+ "inner-props"
164
+ ]),
165
+ isLoading.value ? (openBlock(), createElementBlock("div", {
166
+ key: 0,
167
+ class: normalizeClass(unref(ns).e("empty-text"))
168
+ }, [createVNode(unref(ElIcon), {
169
+ size: 14,
170
+ class: normalizeClass(unref(ns).is("loading"))
171
+ }, {
172
+ default: withCtx(() => [createVNode(unref(Loading))]),
173
+ _: 1
174
+ }, 8, ["class"]), createTextVNode(" " + toDisplayString(unref(t)("el.cascader.loading")), 1)], 2)) : isEmpty.value ? (openBlock(), createElementBlock("div", {
175
+ key: 1,
176
+ class: normalizeClass(unref(ns).e("empty-text"))
177
+ }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref(t)("el.cascader.noData")), 1)])], 2)) : unref(panel)?.isHoverMenu ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [createCommentVNode(" eslint-disable vue/html-self-closing "), (openBlock(), createElementBlock("svg", {
178
+ ref_key: "hoverZone",
179
+ ref: hoverZone,
180
+ class: normalizeClass(unref(ns).e("hover-zone"))
181
+ }, null, 2))], 2112)) : createCommentVNode("v-if", true),
182
+ createCommentVNode(" eslint-enable vue/html-self-closing ")
183
+ ], 34)) : (openBlock(), createBlock(unref(ElScrollbar), {
70
184
  key: menuId.value,
71
185
  tag: "ul",
72
186
  role: "menu",
@@ -89,7 +203,7 @@ var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
89
203
  key: 0,
90
204
  class: normalizeClass(unref(ns).e("empty-text"))
91
205
  }, [createVNode(unref(ElIcon), {
92
- size: "14",
206
+ size: 14,
93
207
  class: normalizeClass(unref(ns).is("loading"))
94
208
  }, {
95
209
  default: withCtx(() => [createVNode(unref(Loading))]),
@@ -109,7 +223,7 @@ var menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
109
223
  "class",
110
224
  "wrap-class",
111
225
  "view-class"
112
- ]);
226
+ ]));
113
227
  };
114
228
  }
115
229
  });
@@ -1 +1 @@
1
- {"version":3,"file":"menu.vue_vue_type_script_setup_true_lang.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/menu.vue"],"sourcesContent":["<template>\n <el-scrollbar\n :key=\"menuId\"\n tag=\"ul\"\n role=\"menu\"\n :class=\"ns.b()\"\n :wrap-class=\"ns.e('wrap')\"\n :view-class=\"[ns.e('list'), ns.is('empty', isEmpty)]\"\n @mousemove=\"handleMouseMove\"\n @mouseleave=\"clearHoverZone\"\n >\n <el-cascader-node\n v-for=\"node in nodes\"\n :key=\"node.uid\"\n :node=\"node\"\n :menu-id=\"menuId\"\n @expand=\"handleExpand\"\n />\n <div v-if=\"isLoading\" :class=\"ns.e('empty-text')\">\n <el-icon size=\"14\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n {{ t('el.cascader.loading') }}\n </div>\n <div v-else-if=\"isEmpty\" :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ t('el.cascader.noData') }}</slot>\n </div>\n <!-- eslint-disable vue/html-self-closing -->\n <svg\n v-else-if=\"panel?.isHoverMenu\"\n ref=\"hoverZone\"\n :class=\"ns.e('hover-zone')\"\n ></svg>\n <!-- eslint-enable vue/html-self-closing -->\n </el-scrollbar>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, getCurrentInstance, inject, ref } from 'vue'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { Loading } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport ElCascaderNode from './node.vue'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { CascaderNode } from './types'\nimport type { PropType } from 'vue'\n\ndefineOptions({\n name: 'ElCascaderMenu',\n})\n\nconst props = defineProps({\n nodes: {\n type: Array as PropType<CascaderNode[]>,\n required: true,\n },\n index: {\n type: Number,\n required: true,\n },\n})\n\nconst instance = getCurrentInstance()!\nconst ns = useNamespace('cascader-menu')\n\nconst { t } = useLocale()\nconst id = useId()\nlet activeNode: HTMLElement\nlet hoverTimer: number | undefined\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst hoverZone = ref<SVGSVGElement>()\n\nconst isEmpty = computed(() => !props.nodes.length)\nconst isLoading = computed(() => !panel.initialLoaded)\nconst menuId = computed(() => `${id.value}-${props.index}`)\n\nconst handleExpand = (e: MouseEvent) => {\n activeNode = e.target as HTMLElement\n}\n\nconst handleMouseMove = (e: MouseEvent) => {\n if (!panel.isHoverMenu || !activeNode || !hoverZone.value) return\n\n if (activeNode.contains(e.target as HTMLElement)) {\n clearHoverTimer()\n\n const el = instance.vnode.el as HTMLElement\n const { left } = el.getBoundingClientRect()\n const { offsetWidth, offsetHeight } = el\n const startX = e.clientX - left\n const top = activeNode.offsetTop\n const bottom = top + activeNode.offsetHeight\n const scrollTop = el.querySelector(`.${ns.e('wrap')}`)?.scrollTop || 0\n\n hoverZone.value.innerHTML = `\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${top} L${offsetWidth} ${scrollTop} V${top} Z\" />\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${bottom} L${offsetWidth} ${offsetHeight + scrollTop} V${bottom} Z\" />\n `\n } else if (!hoverTimer) {\n hoverTimer = window.setTimeout(clearHoverZone, panel.config.hoverThreshold)\n }\n}\n\nconst clearHoverTimer = () => {\n if (!hoverTimer) return\n clearTimeout(hoverTimer)\n hoverTimer = undefined\n}\n\nconst clearHoverZone = () => {\n if (!hoverZone.value) return\n hoverZone.value.innerHTML = ''\n clearHoverTimer()\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAqDA,MAAM,QAAQ;EAWd,MAAM,WAAW,oBAAoB;EACrC,MAAM,KAAK,aAAa,gBAAe;EAEvC,MAAM,EAAE,MAAM,WAAU;EACxB,MAAM,KAAK,OAAM;EACjB,IAAI;EACJ,IAAI;EAEJ,MAAM,QAAQ,OAAO,6BAA6B;EAElD,MAAM,YAAY,KAAmB;EAErC,MAAM,UAAU,eAAe,CAAC,MAAM,MAAM,OAAM;EAClD,MAAM,YAAY,eAAe,CAAC,MAAM,cAAa;EACrD,MAAM,SAAS,eAAe,GAAG,GAAG,MAAM,GAAG,MAAM,QAAO;EAE1D,MAAM,gBAAgB,MAAkB;AACtC,gBAAa,EAAE;;EAGjB,MAAM,mBAAmB,MAAkB;AACzC,OAAI,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,UAAU,MAAO;AAE3D,OAAI,WAAW,SAAS,EAAE,OAAsB,EAAE;AAChD,qBAAgB;IAEhB,MAAM,KAAK,SAAS,MAAM;IAC1B,MAAM,EAAE,SAAS,GAAG,uBAAsB;IAC1C,MAAM,EAAE,aAAa,iBAAiB;IACtC,MAAM,SAAS,EAAE,UAAU;IAC3B,MAAM,MAAM,WAAW;IACvB,MAAM,SAAS,MAAM,WAAW;IAChC,MAAM,YAAY,GAAG,cAAc,IAAI,GAAG,EAAE,OAAO,GAAG,EAAE,aAAa;AAErE,cAAU,MAAM,YAAY;uEACuC,OAAO,GAAG,IAAI,IAAI,YAAY,GAAG,UAAU,IAAI,IAAI;uEACnD,OAAO,GAAG,OAAO,IAAI,YAAY,GAAG,eAAe,UAAU,IAAI,OAAO;;cAElI,CAAC,WACV,cAAa,OAAO,WAAW,gBAAgB,MAAM,OAAO,eAAc;;EAI9E,MAAM,wBAAwB;AAC5B,OAAI,CAAC,WAAY;AACjB,gBAAa,WAAU;AACvB,gBAAa;;EAGf,MAAM,uBAAuB;AAC3B,OAAI,CAAC,UAAU,MAAO;AACtB,aAAU,MAAM,YAAY;AAC5B,oBAAgB;;;uBAnHhB,YAiCe,MAAA,YAAA,EAAA;IAhCZ,KAAK,OAAA;IACN,KAAI;IACJ,MAAK;IACJ,OAAK,eAAE,MAAA,GAAE,CAAC,GAAC,CAAA;IACX,cAAY,MAAA,GAAE,CAAC,EAAC,OAAA;IAChB,cAAU,CAAG,MAAA,GAAE,CAAC,EAAC,OAAA,EAAU,MAAA,GAAE,CAAC,GAAE,SAAU,QAAA,MAAO,CAAA;IACjD,aAAW;IACX,cAAY;;2BAGU;uBADvB,mBAME,UAAA,MAAA,WALe,QAAA,QAAR,SAAI;0BADb,YAME,cAAA;OAJC,KAAK,KAAK;OACJ;OACN,WAAS,OAAA;OACT,UAAQ;;;KAEA,UAAA,sBAAX,mBAKM,OAAA;;MALiB,OAAK,eAAE,MAAA,GAAE,CAAC,EAAC,aAAA,CAAA;SAChC,YAEU,MAAA,OAAA,EAAA;MAFD,MAAK;MAAM,OAAK,eAAE,MAAA,GAAE,CAAC,GAAE,UAAA,CAAA;;6BACnB,CAAX,YAAW,MAAA,QAAA,CAAA;;uCACH,MACV,gBAAG,MAAA,EAAC,CAAA,sBAAA,CAAA,EAAA,EAAA,SAEU,QAAA,sBAAhB,mBAEM,OAAA;;MAFoB,OAAK,eAAE,MAAA,GAAE,CAAC,EAAC,aAAA,CAAA;SACnC,WAAuD,KAAA,QAAA,SAAA,EAAA,QAAA,iCAAjC,MAAA,EAAC,CAAA,qBAAA,CAAA,EAAA,EAAA,WAIZ,MAAA,MAAK,EAAE,4BADpB,mBAIO,UAAA,EAAA,KAAA,GAAA,EAAA,CALP,mBAAA,yCAA6C,gBAC7C,mBAIO,OAAA;eAFD;MAAJ,KAAI;MACH,OAAK,eAAE,MAAA,GAAE,CAAC,EAAC,aAAA,CAAA;;KAEd,mBAAA,wCAA4C"}
1
+ {"version":3,"file":"menu.vue_vue_type_script_setup_true_lang.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/menu.vue"],"sourcesContent":["<template>\n <template v-if=\"virtualScroll\">\n <div\n :key=\"menuId\"\n :class=\"ns.b()\"\n @mousemove=\"handleMouseMove\"\n @mouseleave=\"clearHoverZone\"\n >\n <el-fixed-size-list\n ref=\"virtualListRef\"\n :height=\"height\"\n :item-size=\"itemSize\"\n :data=\"nodes\"\n :total=\"nodes.length\"\n :class-name=\"ns.e('list')\"\n inner-element=\"ul\"\n :inner-props=\"{\n role: 'menu',\n class: ns.is('empty', isEmpty),\n }\"\n >\n <template #default=\"{ data, index: nodeIndex, style }\">\n <el-cascader-node\n :key=\"data[nodeIndex].uid\"\n :node=\"data[nodeIndex]\"\n :menu-id=\"menuId\"\n :style=\"style\"\n @expand=\"handleExpand\"\n />\n </template>\n </el-fixed-size-list>\n <div v-if=\"isLoading\" :class=\"ns.e('empty-text')\">\n <el-icon :size=\"14\" :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n {{ t('el.cascader.loading') }}\n </div>\n <div v-else-if=\"isEmpty\" :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ t('el.cascader.noData') }}</slot>\n </div>\n <!-- eslint-disable vue/html-self-closing -->\n <svg\n v-else-if=\"panel?.isHoverMenu\"\n ref=\"hoverZone\"\n :class=\"ns.e('hover-zone')\"\n ></svg>\n <!-- eslint-enable vue/html-self-closing -->\n </div>\n </template>\n <el-scrollbar\n v-else\n :key=\"menuId\"\n tag=\"ul\"\n role=\"menu\"\n :class=\"ns.b()\"\n :wrap-class=\"ns.e('wrap')\"\n :view-class=\"[ns.e('list'), ns.is('empty', isEmpty)]\"\n @mousemove=\"handleMouseMove\"\n @mouseleave=\"clearHoverZone\"\n >\n <el-cascader-node\n v-for=\"node in nodes\"\n :key=\"node.uid\"\n :node=\"node\"\n :menu-id=\"menuId\"\n @expand=\"handleExpand\"\n />\n <div v-if=\"isLoading\" :class=\"ns.e('empty-text')\">\n <el-icon :size=\"14\" :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n {{ t('el.cascader.loading') }}\n </div>\n <div v-else-if=\"isEmpty\" :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ t('el.cascader.noData') }}</slot>\n </div>\n <!-- eslint-disable vue/html-self-closing -->\n <svg\n v-else-if=\"panel?.isHoverMenu\"\n ref=\"hoverZone\"\n :class=\"ns.e('hover-zone')\"\n ></svg>\n <!-- eslint-enable vue/html-self-closing -->\n </el-scrollbar>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, getCurrentInstance, inject, nextTick, ref } from 'vue'\nimport { clamp } from 'lodash-unified'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { FixedSizeList as ElFixedSizeList } from '@element-plus/components/virtual-list'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { Loading } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { focusNode } from '@element-plus/utils'\nimport ElCascaderNode from './node.vue'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\nimport { CASCADER_PANEL_HEIGHT, CASCADER_PANEL_ITEM_SIZE } from './config'\n\nimport type { CascaderNode } from './types'\nimport type { CascaderCommonProps } from './config'\nimport type { FixedSizeListInstance } from '@element-plus/components/virtual-list'\n\ndefineOptions({\n name: 'ElCascaderMenu',\n})\n\nconst props = withDefaults(\n defineProps<\n {\n nodes: CascaderNode[]\n index: number\n } & Pick<CascaderCommonProps, 'virtualScroll' | 'itemSize' | 'height'>\n >(),\n {\n virtualScroll: false,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n }\n)\n\nconst instance = getCurrentInstance()!\nconst ns = useNamespace('cascader-menu')\n\nconst { t } = useLocale()\nconst id = useId()\nlet activeNode: HTMLElement\nlet hoverTimer: number | undefined\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst hoverZone = ref<SVGSVGElement>()\nconst virtualListRef = ref<FixedSizeListInstance>()\n\nconst isEmpty = computed(() => !props.nodes.length)\nconst isLoading = computed(() => !panel.initialLoaded)\nconst menuId = computed(() => `${id.value}-${props.index}`)\n\nconst getActiveNodeIndex = () => {\n let activeNodeId: number | undefined\n\n if (panel.expandingNode) {\n const { level, pathNodes } = panel.expandingNode\n if (props.index < level) {\n activeNodeId = pathNodes[props.index]?.uid\n } else if (props.index === level && panel.checkedNodes.length > 0) {\n activeNodeId = panel.checkedNodes[0]?.pathNodes[props.index]?.uid\n }\n } else if (\n panel.checkedNodes.length > 0 &&\n props.index < panel.checkedNodes[0].pathNodes.length\n ) {\n activeNodeId = panel.checkedNodes[0].pathNodes[props.index]?.uid\n }\n\n return activeNodeId !== undefined\n ? props.nodes.findIndex((node) => node.uid === activeNodeId)\n : -1\n}\n\nconst getNodeIndexById = (nodeId: string | undefined) => {\n if (!nodeId) return -1\n return props.nodes.findIndex(\n (node) => `${menuId.value}-${node.uid}` === nodeId\n )\n}\n\nconst scrollToItem = (index: number) => {\n const targetIndex = clamp(index, 0, props.nodes.length - 1)\n virtualListRef.value?.scrollToItem(targetIndex)\n}\n\nconst focusNodeAt = (index: number) => {\n if (!props.nodes.length) return\n const targetIndex = clamp(index, 0, props.nodes.length - 1)\n scrollToItem(targetIndex)\n nextTick(() => {\n const node = (instance.vnode.el as HTMLElement)?.querySelector<HTMLElement>(\n `#${menuId.value}-${props.nodes[targetIndex].uid}`\n )\n if (node) focusNode(node)\n })\n}\n\nconst handleExpand = (e: MouseEvent) => {\n activeNode = e.target as HTMLElement\n}\n\nconst handleMouseMove = (e: MouseEvent) => {\n if (!panel.isHoverMenu || !activeNode || !hoverZone.value) return\n\n if (activeNode.contains(e.target as HTMLElement)) {\n clearHoverTimer()\n\n const el = instance.vnode.el as HTMLElement\n const { left } = el.getBoundingClientRect()\n const { offsetWidth, offsetHeight } = el\n const startX = e.clientX - left\n const top = activeNode.offsetTop\n const bottom = top + activeNode.offsetHeight\n\n const scrollTop = props.virtualScroll\n ? virtualListRef.value?.states?.scrollOffset || 0\n : el.querySelector(`.${ns.e('wrap')}`)?.scrollTop || 0\n\n hoverZone.value.innerHTML = `\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${top} L${offsetWidth} ${scrollTop} V${top} Z\" />\n <path style=\"pointer-events: auto;\" fill=\"transparent\" d=\"M${startX} ${bottom} L${offsetWidth} ${offsetHeight + scrollTop} V${bottom} Z\" />\n `\n } else if (!hoverTimer) {\n hoverTimer = window.setTimeout(clearHoverZone, panel.config.hoverThreshold)\n }\n}\n\nconst clearHoverTimer = () => {\n if (!hoverTimer) return\n clearTimeout(hoverTimer)\n hoverTimer = undefined\n}\n\nconst clearHoverZone = () => {\n if (!hoverZone.value) return\n hoverZone.value.innerHTML = ''\n clearHoverTimer()\n}\n\ndefineExpose({\n getActiveNodeIndex,\n getNodeIndexById,\n scrollToItem,\n focusNodeAt,\n virtualListRef,\n get $el() {\n return instance.vnode.el as HTMLElement\n },\n})\n</script>\n"],"mappings":"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"}
@@ -23,7 +23,10 @@ var node_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
23
23
  type: Object,
24
24
  required: true
25
25
  },
26
- menuId: String
26
+ menuId: {
27
+ type: String,
28
+ required: false
29
+ }
27
30
  },
28
31
  emits: ["expand"],
29
32
  setup(__props, { emit: __emit }) {
@@ -1 +1 @@
1
- {"version":3,"file":"node.vue_vue_type_script_setup_true_lang.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? undefined : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple && showPrefix\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly && showPrefix\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </el-radio>\n <el-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content :node=\"node\" />\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </el-icon>\n <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { CascaderNode } from './types'\nimport type { PropType } from 'vue'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElCascaderNode',\n})\n\nconst props = defineProps({\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n})\nconst emit = defineEmits(['expand'])\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst ns = useNamespace('cascader-node')\nconst isHoverMenu = computed(() => panel.isHoverMenu)\nconst multiple = computed(() => panel.config.multiple)\nconst checkStrictly = computed(() => panel.config.checkStrictly)\nconst showPrefix = computed(() => panel.config.showPrefix)\nconst checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\nconst isDisabled = computed(() => props.node.isDisabled)\nconst isLeaf = computed(() => props.node.isLeaf)\nconst expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n)\nconst inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n\n// only useful in check-strictly mode\nconst inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n)\n\nconst isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n}\n\nconst doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n}\n\nconst doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n}\n\nconst doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n}\n\nconst handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n}\n\nconst handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n}\n\nconst handleClick = () => {\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else if (\n ((panel.config.checkOnClickNode &&\n (multiple.value || checkStrictly.value)) ||\n (isLeaf.value && panel.config.checkOnClickLeaf)) &&\n !isDisabled.value\n ) {\n handleSelectCheck(!props.node.checked)\n } else if (!isHoverMenu.value) {\n handleExpand()\n }\n}\n\nconst handleSelectCheck = (checked: CheckboxValueType | undefined) => {\n if (checkStrictly.value) {\n doCheck(checked as boolean)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked as boolean)\n }\n}\n\nconst handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n}\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"node.vue_vue_type_script_setup_true_lang.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? undefined : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple && showPrefix\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly && showPrefix\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </el-radio>\n <el-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content :node=\"node\" />\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </el-icon>\n <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { CascaderNode } from './types'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElCascaderNode',\n})\n\nconst props = defineProps<{\n node: CascaderNode\n menuId?: string\n}>()\nconst emit = defineEmits(['expand'])\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst ns = useNamespace('cascader-node')\nconst isHoverMenu = computed(() => panel.isHoverMenu)\nconst multiple = computed(() => panel.config.multiple)\nconst checkStrictly = computed(() => panel.config.checkStrictly)\nconst showPrefix = computed(() => panel.config.showPrefix)\nconst checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\nconst isDisabled = computed(() => props.node.isDisabled)\nconst isLeaf = computed(() => props.node.isLeaf)\nconst expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n)\nconst inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n\n// only useful in check-strictly mode\nconst inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n)\n\nconst isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n}\n\nconst doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n}\n\nconst doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n}\n\nconst doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n}\n\nconst handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n}\n\nconst handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n}\n\nconst handleClick = () => {\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else if (\n ((panel.config.checkOnClickNode &&\n (multiple.value || checkStrictly.value)) ||\n (isLeaf.value && panel.config.checkOnClickLeaf)) &&\n !isDisabled.value\n ) {\n handleSelectCheck(!props.node.checked)\n } else if (!isHoverMenu.value) {\n handleExpand()\n }\n}\n\nconst handleSelectCheck = (checked: CheckboxValueType | undefined) => {\n if (checkStrictly.value) {\n doCheck(checked as boolean)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked as boolean)\n }\n}\n\nconst handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n}\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node2.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? undefined : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple && showPrefix\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly && showPrefix\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </el-radio>\n <el-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content :node=\"node\" />\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </el-icon>\n <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { CascaderNode } from './types'\nimport type { PropType } from 'vue'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElCascaderNode',\n})\n\nconst props = defineProps({\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n})\nconst emit = defineEmits(['expand'])\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst ns = useNamespace('cascader-node')\nconst isHoverMenu = computed(() => panel.isHoverMenu)\nconst multiple = computed(() => panel.config.multiple)\nconst checkStrictly = computed(() => panel.config.checkStrictly)\nconst showPrefix = computed(() => panel.config.showPrefix)\nconst checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\nconst isDisabled = computed(() => props.node.isDisabled)\nconst isLeaf = computed(() => props.node.isLeaf)\nconst expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n)\nconst inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n\n// only useful in check-strictly mode\nconst inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n)\n\nconst isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n}\n\nconst doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n}\n\nconst doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n}\n\nconst doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n}\n\nconst handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n}\n\nconst handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n}\n\nconst handleClick = () => {\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else if (\n ((panel.config.checkOnClickNode &&\n (multiple.value || checkStrictly.value)) ||\n (isLeaf.value && panel.config.checkOnClickLeaf)) &&\n !isDisabled.value\n ) {\n handleSelectCheck(!props.node.checked)\n } else if (!isHoverMenu.value) {\n handleExpand()\n }\n}\n\nconst handleSelectCheck = (checked: CheckboxValueType | undefined) => {\n if (checkStrictly.value) {\n doCheck(checked as boolean)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked as boolean)\n }\n}\n\nconst handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n}\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"node2.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? undefined : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple && showPrefix\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly && showPrefix\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </el-radio>\n <el-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </el-icon>\n\n <!-- content -->\n <node-content :node=\"node\" />\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </el-icon>\n <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport ElRadio from '@element-plus/components/radio'\nimport ElIcon from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { CascaderNode } from './types'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\ndefineOptions({\n name: 'ElCascaderNode',\n})\n\nconst props = defineProps<{\n node: CascaderNode\n menuId?: string\n}>()\nconst emit = defineEmits(['expand'])\n\nconst panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\nconst ns = useNamespace('cascader-node')\nconst isHoverMenu = computed(() => panel.isHoverMenu)\nconst multiple = computed(() => panel.config.multiple)\nconst checkStrictly = computed(() => panel.config.checkStrictly)\nconst showPrefix = computed(() => panel.config.showPrefix)\nconst checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\nconst isDisabled = computed(() => props.node.isDisabled)\nconst isLeaf = computed(() => props.node.isLeaf)\nconst expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n)\nconst inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n\n// only useful in check-strictly mode\nconst inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n)\n\nconst isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n}\n\nconst doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n}\n\nconst doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n}\n\nconst doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n}\n\nconst handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n}\n\nconst handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n}\n\nconst handleClick = () => {\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else if (\n ((panel.config.checkOnClickNode &&\n (multiple.value || checkStrictly.value)) ||\n (isLeaf.value && panel.config.checkOnClickLeaf)) &&\n !isDisabled.value\n ) {\n handleSelectCheck(!props.node.checked)\n } else if (!isHoverMenu.value) {\n handleExpand()\n }\n}\n\nconst handleSelectCheck = (checked: CheckboxValueType | undefined) => {\n if (checkStrictly.value) {\n doCheck(checked as boolean)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked as boolean)\n }\n}\n\nconst handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n}\n</script>\n"],"mappings":""}
@@ -56,6 +56,9 @@ interface ElCascaderPanelContext {
56
56
  isHoverMenu: boolean;
57
57
  initialLoaded: boolean;
58
58
  renderLabelFn?: RenderLabel;
59
+ virtualScroll: boolean;
60
+ itemSize: number;
61
+ height: number;
59
62
  lazyLoad: (node?: Node, cb?: (dataList: CascaderOption[]) => void) => void;
60
63
  expandNode: (node: Node, silent?: boolean) => void;
61
64
  handleCheckChange: (node: Node, checked: boolean, emitClose?: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/types.ts"],"sourcesContent":["import type { InjectionKey, VNode } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { default as CascaderNode } from './node'\n\nexport type { CascaderNode, Nullable }\nexport type CascaderNodeValue = string | number | Record<string, any>\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue =\n | CascaderNodeValue\n | CascaderNodePathValue\n | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required<CascaderProps>\nexport type ExpandTrigger = 'click' | 'hover'\nexport type isDisabled = (data: CascaderOption, node: CascaderNode) => boolean\nexport type isLeaf = (data: CascaderOption, node: CascaderNode) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (\n node: CascaderNode,\n resolve: Resolve,\n reject: () => void\n) => void\nexport interface RenderLabelProps {\n node: CascaderNode\n data: CascaderOption\n}\nexport type RenderLabel = (props: RenderLabelProps) => VNode | VNode[]\nexport interface CascaderOption extends Record<string, unknown> {\n label?: string\n value?: CascaderNodeValue\n children?: CascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport interface CascaderProps {\n expandTrigger?: ExpandTrigger\n multiple?: boolean\n checkStrictly?: boolean\n emitPath?: boolean\n lazy?: boolean\n lazyLoad?: LazyLoad\n value?: string\n label?: string\n children?: string\n disabled?: string | isDisabled\n leaf?: string | isLeaf\n hoverThreshold?: number\n checkOnClickNode?: boolean\n checkOnClickLeaf?: boolean\n showPrefix?: boolean\n}\n\nexport interface Tag {\n node?: CascaderNode\n key: number\n text: string\n hitState?: boolean\n closable: boolean\n}\n\nexport interface ElCascaderPanelContext {\n config: CascaderConfig\n expandingNode: CascaderNode | undefined\n checkedNodes: CascaderNode[]\n isHoverMenu: boolean\n initialLoaded: boolean\n renderLabelFn?: RenderLabel\n lazyLoad: (\n node?: CascaderNode,\n cb?: (dataList: CascaderOption[]) => void\n ) => void\n expandNode: (node: CascaderNode, silent?: boolean) => void\n handleCheckChange: (\n node: CascaderNode,\n checked: boolean,\n emitClose?: boolean\n ) => void\n}\n\nexport const CASCADER_PANEL_INJECTION_KEY: InjectionKey<ElCascaderPanelContext> =\n Symbol()\n"],"mappings":";AA+EA,MAAa,+BACX,QAAQ"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/types.ts"],"sourcesContent":["import type { InjectionKey, VNode } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { default as CascaderNode } from './node'\n\nexport type { CascaderNode, Nullable }\nexport type CascaderNodeValue = string | number | Record<string, any>\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue =\n | CascaderNodeValue\n | CascaderNodePathValue\n | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required<CascaderProps>\nexport type ExpandTrigger = 'click' | 'hover'\nexport type isDisabled = (data: CascaderOption, node: CascaderNode) => boolean\nexport type isLeaf = (data: CascaderOption, node: CascaderNode) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (\n node: CascaderNode,\n resolve: Resolve,\n reject: () => void\n) => void\nexport interface RenderLabelProps {\n node: CascaderNode\n data: CascaderOption\n}\nexport type RenderLabel = (props: RenderLabelProps) => VNode | VNode[]\nexport interface CascaderOption extends Record<string, unknown> {\n label?: string\n value?: CascaderNodeValue\n children?: CascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport interface CascaderProps {\n expandTrigger?: ExpandTrigger\n multiple?: boolean\n checkStrictly?: boolean\n emitPath?: boolean\n lazy?: boolean\n lazyLoad?: LazyLoad\n value?: string\n label?: string\n children?: string\n disabled?: string | isDisabled\n leaf?: string | isLeaf\n hoverThreshold?: number\n checkOnClickNode?: boolean\n checkOnClickLeaf?: boolean\n showPrefix?: boolean\n}\n\nexport interface Tag {\n node?: CascaderNode\n key: number\n text: string\n hitState?: boolean\n closable: boolean\n}\n\nexport interface ElCascaderPanelContext {\n config: CascaderConfig\n expandingNode: CascaderNode | undefined\n checkedNodes: CascaderNode[]\n isHoverMenu: boolean\n initialLoaded: boolean\n renderLabelFn?: RenderLabel\n virtualScroll: boolean\n itemSize: number\n height: number\n lazyLoad: (\n node?: CascaderNode,\n cb?: (dataList: CascaderOption[]) => void\n ) => void\n expandNode: (node: CascaderNode, silent?: boolean) => void\n handleCheckChange: (\n node: CascaderNode,\n checked: boolean,\n emitClose?: boolean\n ) => void\n}\n\nexport const CASCADER_PANEL_INJECTION_KEY: InjectionKey<ElCascaderPanelContext> =\n Symbol()\n"],"mappings":";AAkFA,MAAa,+BACX,QAAQ"}
@@ -1,5 +1,5 @@
1
1
  import "../../base/style/css.mjs";
2
- import "../../scrollbar/style/css.mjs";
3
2
  import "../../checkbox/style/css.mjs";
4
3
  import "../../radio/style/css.mjs";
4
+ import "../../virtual-list/style/css.mjs";
5
5
  import "@element-plus/nightly/theme-chalk/el-cascader-panel.css";
@@ -1,5 +1,5 @@
1
1
  import "../../base/style/index.mjs";
2
- import "../../scrollbar/style/index.mjs";
3
2
  import "../../checkbox/style/index.mjs";
4
3
  import "../../radio/style/index.mjs";
4
+ import "../../virtual-list/style/index.mjs";
5
5
  import "@element-plus/nightly/theme-chalk/src/cascader-panel.scss";
@@ -8,23 +8,23 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_1) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- "update:modelValue": (val: CheckboxValueType) => void;
12
11
  change: (val: CheckboxValueType) => void;
12
+ "update:modelValue": (val: CheckboxValueType) => void;
13
13
  }, string, vue.PublicProps, Readonly<CheckboxProps> & Readonly<{
14
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
15
14
  onChange?: ((val: CheckboxValueType) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
16
16
  }>, {
17
- id: string;
18
- disabled: boolean;
19
17
  name: string;
20
- modelValue: number | string | boolean;
21
18
  value: string | boolean | number | object;
19
+ disabled: boolean;
20
+ modelValue: number | string | boolean;
22
21
  label: string | boolean | number | object;
23
- validateEvent: boolean;
24
22
  trueValue: string | number;
25
23
  falseValue: string | number;
26
24
  trueLabel: string | number;
27
25
  falseLabel: string | number;
26
+ id: string;
27
+ validateEvent: boolean;
28
28
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
30
  declare const _default: typeof __VLS_export;
@@ -9,18 +9,18 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_8) => any;
10
10
  };
11
11
  declare const __VLS_base: vue.DefineComponent<CheckboxGroupProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
12
- "update:modelValue": (val: CheckboxGroupValueType) => void;
13
12
  change: (val: CheckboxValueType[]) => void;
13
+ "update:modelValue": (val: CheckboxGroupValueType) => void;
14
14
  }, string, vue.PublicProps, Readonly<CheckboxGroupProps> & Readonly<{
15
- "onUpdate:modelValue"?: ((val: CheckboxGroupValueType) => any) | undefined;
16
15
  onChange?: ((val: CheckboxValueType[]) => any) | undefined;
16
+ "onUpdate:modelValue"?: ((val: CheckboxGroupValueType) => any) | undefined;
17
17
  }>, {
18
+ type: "checkbox" | "button";
18
19
  props: {
19
20
  value?: string;
20
21
  label?: string;
21
22
  disabled?: string;
22
23
  };
23
- type: "checkbox" | "button";
24
24
  disabled: boolean;
25
25
  modelValue: CheckboxGroupValueType;
26
26
  validateEvent: boolean;
@@ -86,21 +86,21 @@ declare const checkboxProps: {
86
86
  * @description binding value
87
87
  */
88
88
  modelValue: {
89
- type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
89
+ type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
90
90
  default: undefined;
91
91
  };
92
92
  /**
93
93
  * @description label of the Checkbox when used inside a `checkbox-group`
94
94
  */
95
95
  label: {
96
- type: (BooleanConstructor | NumberConstructor | StringConstructor | ObjectConstructor)[];
96
+ type: (BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
97
97
  default: undefined;
98
98
  };
99
99
  /**
100
100
  * @description value of the Checkbox when used inside a `checkbox-group`
101
101
  */
102
102
  value: {
103
- type: (BooleanConstructor | NumberConstructor | StringConstructor | ObjectConstructor)[];
103
+ type: (BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
104
104
  default: undefined;
105
105
  };
106
106
  /**
@@ -129,14 +129,14 @@ declare const checkboxProps: {
129
129
  * @description value of the Checkbox if it's checked
130
130
  */
131
131
  trueValue: {
132
- type: (NumberConstructor | StringConstructor)[];
132
+ type: (StringConstructor | NumberConstructor)[];
133
133
  default: undefined;
134
134
  };
135
135
  /**
136
136
  * @description value of the Checkbox if it's not checked
137
137
  */
138
138
  falseValue: {
139
- type: (NumberConstructor | StringConstructor)[];
139
+ type: (StringConstructor | NumberConstructor)[];
140
140
  default: undefined;
141
141
  };
142
142
  /**
@@ -144,7 +144,7 @@ declare const checkboxProps: {
144
144
  * @description value of the Checkbox if it's checked
145
145
  */
146
146
  trueLabel: {
147
- type: (NumberConstructor | StringConstructor)[];
147
+ type: (StringConstructor | NumberConstructor)[];
148
148
  default: undefined;
149
149
  };
150
150
  /**
@@ -152,7 +152,7 @@ declare const checkboxProps: {
152
152
  * @description value of the Checkbox if it's not checked
153
153
  */
154
154
  falseLabel: {
155
- type: (NumberConstructor | StringConstructor)[];
155
+ type: (StringConstructor | NumberConstructor)[];
156
156
  default: undefined;
157
157
  };
158
158
  /**
@@ -178,7 +178,7 @@ declare const checkboxProps: {
178
178
  /**
179
179
  * @description input tabindex
180
180
  */
181
- tabindex: (NumberConstructor | StringConstructor)[];
181
+ tabindex: (StringConstructor | NumberConstructor)[];
182
182
  /**
183
183
  * @description whether to trigger form validation
184
184
  */
@@ -8,23 +8,23 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- "update:modelValue": (val: CheckboxValueType) => void;
12
11
  change: (val: CheckboxValueType) => void;
12
+ "update:modelValue": (val: CheckboxValueType) => void;
13
13
  }, string, vue.PublicProps, Readonly<CheckboxProps> & Readonly<{
14
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
15
14
  onChange?: ((val: CheckboxValueType) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
16
16
  }>, {
17
- id: string;
18
- disabled: boolean;
19
17
  name: string;
20
- modelValue: number | string | boolean;
21
18
  value: string | boolean | number | object;
19
+ disabled: boolean;
20
+ modelValue: number | string | boolean;
22
21
  label: string | boolean | number | object;
23
- validateEvent: boolean;
24
22
  trueValue: string | number;
25
23
  falseValue: string | number;
26
24
  trueLabel: string | number;
27
25
  falseLabel: string | number;
26
+ id: string;
27
+ validateEvent: boolean;
28
28
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
30
  declare const _default: typeof __VLS_export;
@@ -9,8 +9,8 @@ type __VLS_Slots = {} & {
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<ColProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ColProps> & Readonly<{}>, {
11
11
  push: number;
12
- offset: number;
13
12
  tag: string;
13
+ offset: number;
14
14
  span: number;
15
15
  pull: number;
16
16
  xs: ColSize;
@@ -19,8 +19,8 @@ type __VLS_Slots = {} & {
19
19
  declare const __VLS_base: vue.DefineComponent<CollapseItemProps, {
20
20
  /** @description current collapse-item whether active */isActive: vue.ComputedRef<boolean | undefined>;
21
21
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<CollapseItemProps> & Readonly<{}>, {
22
- icon: IconPropType;
23
22
  title: string;
23
+ icon: IconPropType;
24
24
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
25
25
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
26
  declare const _default: typeof __VLS_export;
@@ -33,7 +33,7 @@ interface CollapseProps {
33
33
  declare const collapseProps: {
34
34
  readonly accordion: BooleanConstructor;
35
35
  readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number | CollapseActiveName[]) | (() => CollapseModelValue) | (((new (...args: any[]) => string | number | CollapseActiveName[]) | (() => CollapseModelValue)) | null)[], unknown, unknown, () => [], boolean>;
36
- readonly expandIconPosition: EpPropFinalized<(new (...args: any[]) => "right" | "left") | (() => CollapseIconPositionType) | (((new (...args: any[]) => "right" | "left") | (() => CollapseIconPositionType)) | null)[], unknown, unknown, "right", boolean>;
36
+ readonly expandIconPosition: EpPropFinalized<(new (...args: any[]) => "left" | "right") | (() => CollapseIconPositionType) | (((new (...args: any[]) => "left" | "right") | (() => CollapseIconPositionType)) | null)[], unknown, unknown, "right", boolean>;
37
37
  readonly beforeCollapse: {
38
38
  readonly type: vue.PropType<(name: CollapseActiveName) => Awaitable<boolean>>;
39
39
  readonly required: false;
@@ -11,11 +11,11 @@ declare const __VLS_base: vue.DefineComponent<CollapseProps, {
11
11
  /** @description active names */activeNames: vue.Ref<(string | number)[], (string | number)[]>; /** @description set active names */
12
12
  setActiveNames: (_activeNames: CollapseActiveName[]) => void;
13
13
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
14
- "update:modelValue": (value: CollapseModelValue) => void;
15
14
  change: (value: CollapseModelValue) => void;
15
+ "update:modelValue": (value: CollapseModelValue) => void;
16
16
  }, string, vue.PublicProps, Readonly<CollapseProps> & Readonly<{
17
- "onUpdate:modelValue"?: ((value: CollapseModelValue) => any) | undefined;
18
17
  onChange?: ((value: CollapseModelValue) => any) | undefined;
18
+ "onUpdate:modelValue"?: ((value: CollapseModelValue) => any) | undefined;
19
19
  }>, {
20
20
  modelValue: CollapseModelValue;
21
21
  expandIconPosition: CollapseIconPositionType;