@element-plus/nightly 0.0.20251108 → 0.0.20251109

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 (536) hide show
  1. package/dist/index.full.js +37 -4
  2. package/dist/index.full.min.js +11 -11
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +16 -16
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +37 -4
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/alert/index.mjs +2 -2
  276. package/es/components/alert/src/alert.mjs +108 -41
  277. package/es/components/alert/src/alert.mjs.map +1 -1
  278. package/es/components/alert/src/alert2.mjs +41 -108
  279. package/es/components/alert/src/alert2.mjs.map +1 -1
  280. package/es/components/anchor/index.mjs +3 -3
  281. package/es/components/anchor/src/anchor-link.mjs +5 -81
  282. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  283. package/es/components/anchor/src/anchor-link2.mjs +81 -5
  284. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  285. package/es/components/anchor/src/anchor.mjs +207 -40
  286. package/es/components/anchor/src/anchor.mjs.map +1 -1
  287. package/es/components/anchor/src/anchor2.mjs +40 -207
  288. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  289. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  290. package/es/components/cascader/src/cascader.mjs +1 -1
  291. package/es/components/color-picker/src/color-picker.mjs +1 -1
  292. package/es/components/descriptions/src/description2.mjs +1 -1
  293. package/es/components/descriptions/src/descriptions-row.mjs +6 -63
  294. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  295. package/es/components/descriptions/src/descriptions-row2.mjs +63 -6
  296. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  297. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  298. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  299. package/es/components/dropdown/src/dropdown.mjs +2 -2
  300. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  301. package/es/components/empty/index.mjs +2 -2
  302. package/es/components/empty/src/empty.mjs +11 -52
  303. package/es/components/empty/src/empty.mjs.map +1 -1
  304. package/es/components/empty/src/empty2.mjs +52 -11
  305. package/es/components/empty/src/empty2.mjs.map +1 -1
  306. package/es/components/form/index.mjs +4 -4
  307. package/es/components/form/src/form-item.mjs +322 -47
  308. package/es/components/form/src/form-item.mjs.map +1 -1
  309. package/es/components/form/src/form-item2.mjs +47 -322
  310. package/es/components/form/src/form-item2.mjs.map +1 -1
  311. package/es/components/form/src/form.mjs +161 -54
  312. package/es/components/form/src/form.mjs.map +1 -1
  313. package/es/components/form/src/form2.mjs +54 -161
  314. package/es/components/form/src/form2.mjs.map +1 -1
  315. package/es/components/index.mjs +22 -22
  316. package/es/components/mention/index.mjs +2 -2
  317. package/es/components/mention/src/mention.mjs +73 -308
  318. package/es/components/mention/src/mention.mjs.map +1 -1
  319. package/es/components/mention/src/mention2.mjs +308 -73
  320. package/es/components/mention/src/mention2.mjs.map +1 -1
  321. package/es/components/menu/index.mjs +2 -2
  322. package/es/components/menu/src/menu-item.mjs +101 -15
  323. package/es/components/menu/src/menu-item.mjs.map +1 -1
  324. package/es/components/menu/src/menu-item2.mjs +15 -101
  325. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  326. package/es/components/notification/index.mjs +1 -1
  327. package/es/components/notification/src/notification.mjs +147 -73
  328. package/es/components/notification/src/notification.mjs.map +1 -1
  329. package/es/components/notification/src/notification2.mjs +73 -147
  330. package/es/components/notification/src/notification2.mjs.map +1 -1
  331. package/es/components/notification/src/notify.mjs +2 -2
  332. package/es/components/page-header/index.mjs +2 -2
  333. package/es/components/page-header/src/page-header.mjs +97 -16
  334. package/es/components/page-header/src/page-header.mjs.map +1 -1
  335. package/es/components/page-header/src/page-header2.mjs +16 -97
  336. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  337. package/es/components/pagination/src/components/pager.mjs +210 -16
  338. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  339. package/es/components/pagination/src/components/pager2.mjs +16 -210
  340. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  341. package/es/components/pagination/src/pagination.mjs +1 -1
  342. package/es/components/popconfirm/src/popconfirm2.mjs +1 -1
  343. package/es/components/popover/src/popover.mjs +1 -1
  344. package/es/components/popper/index.mjs +4 -4
  345. package/es/components/popper/src/popper.mjs +22 -32
  346. package/es/components/popper/src/popper.mjs.map +1 -1
  347. package/es/components/popper/src/popper2.mjs +32 -22
  348. package/es/components/popper/src/popper2.mjs.map +1 -1
  349. package/es/components/popper/src/trigger.mjs +127 -31
  350. package/es/components/popper/src/trigger.mjs.map +1 -1
  351. package/es/components/popper/src/trigger2.mjs +31 -127
  352. package/es/components/popper/src/trigger2.mjs.map +1 -1
  353. package/es/components/radio/index.mjs +4 -4
  354. package/es/components/radio/src/radio-button.mjs +1 -1
  355. package/es/components/radio/src/radio-group.mjs +51 -86
  356. package/es/components/radio/src/radio-group.mjs.map +1 -1
  357. package/es/components/radio/src/radio-group2.mjs +86 -51
  358. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  359. package/es/components/radio/src/radio.mjs +74 -32
  360. package/es/components/radio/src/radio.mjs.map +1 -1
  361. package/es/components/radio/src/radio2.mjs +32 -74
  362. package/es/components/radio/src/radio2.mjs.map +1 -1
  363. package/es/components/roving-focus-group/index.mjs +3 -3
  364. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  365. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  366. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  367. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  368. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  369. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  370. package/es/components/scrollbar/index.mjs +2 -2
  371. package/es/components/scrollbar/src/scrollbar.mjs +226 -57
  372. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  373. package/es/components/scrollbar/src/scrollbar2.mjs +57 -226
  374. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  375. package/es/components/select/index.mjs +2 -2
  376. package/es/components/select/src/select.mjs +522 -149
  377. package/es/components/select/src/select.mjs.map +1 -1
  378. package/es/components/select/src/select2.mjs +149 -522
  379. package/es/components/select/src/select2.mjs.map +1 -1
  380. package/es/components/select-v2/src/defaults.mjs +1 -1
  381. package/es/components/splitter/index.mjs +2 -2
  382. package/es/components/splitter/src/split-panel.mjs +157 -17
  383. package/es/components/splitter/src/split-panel.mjs.map +1 -1
  384. package/es/components/splitter/src/split-panel2.mjs +17 -157
  385. package/es/components/splitter/src/split-panel2.mjs.map +1 -1
  386. package/es/components/table/src/filter-panel.mjs +1 -1
  387. package/es/components/time-picker/src/common/props.mjs +1 -1
  388. package/es/components/tooltip/index.mjs +1 -1
  389. package/es/components/tooltip/src/content.mjs +198 -29
  390. package/es/components/tooltip/src/content.mjs.map +1 -1
  391. package/es/components/tooltip/src/content2.mjs +29 -198
  392. package/es/components/tooltip/src/content2.mjs.map +1 -1
  393. package/es/components/tooltip/src/tooltip.mjs +2 -2
  394. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  395. package/es/components/tooltip/src/trigger.mjs +1 -1
  396. package/es/components/tooltip/src/trigger2.mjs +1 -1
  397. package/es/components/tree-select/src/select.mjs +38 -1
  398. package/es/components/tree-select/src/select.mjs.map +1 -1
  399. package/es/components/tree-select/src/tree.mjs +1 -2
  400. package/es/components/tree-select/src/tree.mjs.map +1 -1
  401. package/es/index.mjs +22 -22
  402. package/es/version.d.ts +1 -1
  403. package/es/version.mjs +1 -1
  404. package/es/version.mjs.map +1 -1
  405. package/lib/components/alert/index.js +2 -2
  406. package/lib/components/alert/src/alert.js +107 -42
  407. package/lib/components/alert/src/alert.js.map +1 -1
  408. package/lib/components/alert/src/alert2.js +42 -107
  409. package/lib/components/alert/src/alert2.js.map +1 -1
  410. package/lib/components/anchor/index.js +3 -3
  411. package/lib/components/anchor/src/anchor-link.js +5 -81
  412. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  413. package/lib/components/anchor/src/anchor-link2.js +81 -5
  414. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  415. package/lib/components/anchor/src/anchor.js +206 -40
  416. package/lib/components/anchor/src/anchor.js.map +1 -1
  417. package/lib/components/anchor/src/anchor2.js +40 -206
  418. package/lib/components/anchor/src/anchor2.js.map +1 -1
  419. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  420. package/lib/components/cascader/src/cascader.js +1 -1
  421. package/lib/components/color-picker/src/color-picker.js +1 -1
  422. package/lib/components/descriptions/src/description2.js +1 -1
  423. package/lib/components/descriptions/src/descriptions-row.js +6 -63
  424. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  425. package/lib/components/descriptions/src/descriptions-row2.js +63 -6
  426. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  427. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  428. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  429. package/lib/components/dropdown/src/dropdown.js +2 -2
  430. package/lib/components/dropdown/src/dropdown2.js +1 -1
  431. package/lib/components/empty/index.js +2 -2
  432. package/lib/components/empty/src/empty.js +11 -52
  433. package/lib/components/empty/src/empty.js.map +1 -1
  434. package/lib/components/empty/src/empty2.js +52 -11
  435. package/lib/components/empty/src/empty2.js.map +1 -1
  436. package/lib/components/form/index.js +4 -4
  437. package/lib/components/form/src/form-item.js +326 -48
  438. package/lib/components/form/src/form-item.js.map +1 -1
  439. package/lib/components/form/src/form-item2.js +48 -326
  440. package/lib/components/form/src/form-item2.js.map +1 -1
  441. package/lib/components/form/src/form.js +160 -55
  442. package/lib/components/form/src/form.js.map +1 -1
  443. package/lib/components/form/src/form2.js +55 -160
  444. package/lib/components/form/src/form2.js.map +1 -1
  445. package/lib/components/index.js +27 -27
  446. package/lib/components/mention/index.js +2 -2
  447. package/lib/components/mention/src/mention.js +73 -306
  448. package/lib/components/mention/src/mention.js.map +1 -1
  449. package/lib/components/mention/src/mention2.js +306 -73
  450. package/lib/components/mention/src/mention2.js.map +1 -1
  451. package/lib/components/menu/index.js +2 -2
  452. package/lib/components/menu/src/menu-item.js +101 -16
  453. package/lib/components/menu/src/menu-item.js.map +1 -1
  454. package/lib/components/menu/src/menu-item2.js +16 -101
  455. package/lib/components/menu/src/menu-item2.js.map +1 -1
  456. package/lib/components/notification/index.js +1 -1
  457. package/lib/components/notification/src/notification.js +146 -74
  458. package/lib/components/notification/src/notification.js.map +1 -1
  459. package/lib/components/notification/src/notification2.js +74 -146
  460. package/lib/components/notification/src/notification2.js.map +1 -1
  461. package/lib/components/notification/src/notify.js +2 -2
  462. package/lib/components/page-header/index.js +2 -2
  463. package/lib/components/page-header/src/page-header.js +97 -17
  464. package/lib/components/page-header/src/page-header.js.map +1 -1
  465. package/lib/components/page-header/src/page-header2.js +17 -97
  466. package/lib/components/page-header/src/page-header2.js.map +1 -1
  467. package/lib/components/pagination/src/components/pager.js +210 -16
  468. package/lib/components/pagination/src/components/pager.js.map +1 -1
  469. package/lib/components/pagination/src/components/pager2.js +16 -210
  470. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  471. package/lib/components/pagination/src/pagination.js +1 -1
  472. package/lib/components/popconfirm/src/popconfirm2.js +1 -1
  473. package/lib/components/popover/src/popover.js +1 -1
  474. package/lib/components/popper/index.js +4 -4
  475. package/lib/components/popper/src/popper.js +25 -32
  476. package/lib/components/popper/src/popper.js.map +1 -1
  477. package/lib/components/popper/src/popper2.js +32 -25
  478. package/lib/components/popper/src/popper2.js.map +1 -1
  479. package/lib/components/popper/src/trigger.js +127 -32
  480. package/lib/components/popper/src/trigger.js.map +1 -1
  481. package/lib/components/popper/src/trigger2.js +32 -127
  482. package/lib/components/popper/src/trigger2.js.map +1 -1
  483. package/lib/components/radio/index.js +4 -4
  484. package/lib/components/radio/src/radio-button.js +1 -1
  485. package/lib/components/radio/src/radio-group.js +52 -85
  486. package/lib/components/radio/src/radio-group.js.map +1 -1
  487. package/lib/components/radio/src/radio-group2.js +85 -52
  488. package/lib/components/radio/src/radio-group2.js.map +1 -1
  489. package/lib/components/radio/src/radio.js +73 -33
  490. package/lib/components/radio/src/radio.js.map +1 -1
  491. package/lib/components/radio/src/radio2.js +33 -73
  492. package/lib/components/radio/src/radio2.js.map +1 -1
  493. package/lib/components/roving-focus-group/index.js +2 -2
  494. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  495. package/lib/components/roving-focus-group/src/roving-focus-group.js +31 -27
  496. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  497. package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -31
  498. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  499. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  500. package/lib/components/scrollbar/index.js +2 -2
  501. package/lib/components/scrollbar/src/scrollbar.js +226 -58
  502. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  503. package/lib/components/scrollbar/src/scrollbar2.js +58 -226
  504. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  505. package/lib/components/select/index.js +2 -2
  506. package/lib/components/select/src/select.js +521 -149
  507. package/lib/components/select/src/select.js.map +1 -1
  508. package/lib/components/select/src/select2.js +149 -521
  509. package/lib/components/select/src/select2.js.map +1 -1
  510. package/lib/components/select-v2/src/defaults.js +1 -1
  511. package/lib/components/splitter/index.js +2 -2
  512. package/lib/components/splitter/src/split-panel.js +157 -17
  513. package/lib/components/splitter/src/split-panel.js.map +1 -1
  514. package/lib/components/splitter/src/split-panel2.js +17 -157
  515. package/lib/components/splitter/src/split-panel2.js.map +1 -1
  516. package/lib/components/table/src/filter-panel.js +1 -1
  517. package/lib/components/time-picker/src/common/props.js +1 -1
  518. package/lib/components/tooltip/index.js +1 -1
  519. package/lib/components/tooltip/src/content.js +198 -29
  520. package/lib/components/tooltip/src/content.js.map +1 -1
  521. package/lib/components/tooltip/src/content2.js +29 -198
  522. package/lib/components/tooltip/src/content2.js.map +1 -1
  523. package/lib/components/tooltip/src/tooltip.js +2 -2
  524. package/lib/components/tooltip/src/tooltip2.js +1 -1
  525. package/lib/components/tooltip/src/trigger.js +1 -1
  526. package/lib/components/tooltip/src/trigger2.js +1 -1
  527. package/lib/components/tree-select/src/select.js +39 -2
  528. package/lib/components/tree-select/src/select.js.map +1 -1
  529. package/lib/components/tree-select/src/tree.js +1 -2
  530. package/lib/components/tree-select/src/tree.js.map +1 -1
  531. package/lib/index.js +27 -27
  532. package/lib/version.d.ts +1 -1
  533. package/lib/version.js +1 -1
  534. package/lib/version.js.map +1 -1
  535. package/package.json +2 -2
  536. package/web-types.json +1 -1
@@ -1,33 +1,202 @@
1
- import { popperContentProps } from '../../popper/src/content.mjs';
2
- import { teleportProps } from '../../teleport/src/teleport.mjs';
3
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
4
- import { useDelayedToggleProps } from '../../../hooks/use-delayed-toggle/index.mjs';
5
- import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
1
+ import { defineComponent, ref, inject, computed, onBeforeUnmount, unref, watch, openBlock, createBlock, withCtx, Transition, withDirectives, createVNode, mergeProps, renderSlot, vShow, createCommentVNode } from 'vue';
2
+ import { computedEager, onClickOutside } from '@vueuse/core';
3
+ import '../../popper/index.mjs';
4
+ import { ElTeleport } from '../../teleport/index.mjs';
5
+ import { TOOLTIP_INJECTION_KEY } from './constants.mjs';
6
+ import { useTooltipContentProps } from './content2.mjs';
7
+ import { isTriggerType } from './utils.mjs';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
+ import { usePopperContainerId } from '../../../hooks/use-popper-container/index.mjs';
10
+ import { castArray } from '../../../utils/arrays.mjs';
11
+ import ElPopperContent from '../../popper/src/content2.mjs';
12
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
+ import { focusElement } from '../../../utils/dom/aria.mjs';
14
+ import { composeEventHandlers } from '../../../utils/dom/event.mjs';
6
15
 
7
- const useTooltipContentProps = buildProps({
8
- ...useDelayedToggleProps,
9
- ...popperContentProps,
10
- appendTo: {
11
- type: teleportProps.to.type
12
- },
13
- content: {
14
- type: String,
15
- default: ""
16
- },
17
- rawContent: Boolean,
18
- persistent: Boolean,
19
- visible: {
20
- type: definePropType(Boolean),
21
- default: null
22
- },
23
- transition: String,
24
- teleported: {
25
- type: Boolean,
26
- default: true
27
- },
28
- disabled: Boolean,
29
- ...useAriaProps(["ariaLabel"])
16
+ const __default__ = defineComponent({
17
+ name: "ElTooltipContent",
18
+ inheritAttrs: false
30
19
  });
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ ...__default__,
22
+ props: useTooltipContentProps,
23
+ setup(__props, { expose }) {
24
+ const props = __props;
25
+ const { selector } = usePopperContainerId();
26
+ const ns = useNamespace("tooltip");
27
+ const contentRef = ref();
28
+ const popperContentRef = computedEager(() => {
29
+ var _a;
30
+ return (_a = contentRef.value) == null ? void 0 : _a.popperContentRef;
31
+ });
32
+ let stopHandle;
33
+ const {
34
+ controlled,
35
+ id,
36
+ open,
37
+ trigger,
38
+ onClose,
39
+ onOpen,
40
+ onShow,
41
+ onHide,
42
+ onBeforeShow,
43
+ onBeforeHide
44
+ } = inject(TOOLTIP_INJECTION_KEY, void 0);
45
+ const transitionClass = computed(() => {
46
+ return props.transition || `${ns.namespace.value}-fade-in-linear`;
47
+ });
48
+ const persistentRef = computed(() => {
49
+ return props.persistent;
50
+ });
51
+ onBeforeUnmount(() => {
52
+ stopHandle == null ? void 0 : stopHandle();
53
+ });
54
+ const shouldRender = computed(() => {
55
+ return unref(persistentRef) ? true : unref(open);
56
+ });
57
+ const shouldShow = computed(() => {
58
+ return props.disabled ? false : unref(open);
59
+ });
60
+ const appendTo = computed(() => {
61
+ return props.appendTo || selector.value;
62
+ });
63
+ const contentStyle = computed(() => {
64
+ var _a;
65
+ return (_a = props.style) != null ? _a : {};
66
+ });
67
+ const ariaHidden = ref(true);
68
+ const onTransitionLeave = () => {
69
+ onHide();
70
+ isFocusInsideContent() && focusElement(document.body, { preventScroll: true });
71
+ ariaHidden.value = true;
72
+ };
73
+ const stopWhenControlled = () => {
74
+ if (unref(controlled))
75
+ return true;
76
+ };
77
+ const onContentEnter = composeEventHandlers(stopWhenControlled, () => {
78
+ if (props.enterable && isTriggerType(unref(trigger), "hover")) {
79
+ onOpen();
80
+ }
81
+ });
82
+ const onContentLeave = composeEventHandlers(stopWhenControlled, () => {
83
+ if (isTriggerType(unref(trigger), "hover")) {
84
+ onClose();
85
+ }
86
+ });
87
+ const onBeforeEnter = () => {
88
+ var _a, _b;
89
+ (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a);
90
+ onBeforeShow == null ? void 0 : onBeforeShow();
91
+ };
92
+ const onBeforeLeave = () => {
93
+ onBeforeHide == null ? void 0 : onBeforeHide();
94
+ };
95
+ const onAfterShow = () => {
96
+ onShow();
97
+ };
98
+ const onBlur = () => {
99
+ if (!props.virtualTriggering) {
100
+ onClose();
101
+ }
102
+ };
103
+ const isFocusInsideContent = (event) => {
104
+ var _a;
105
+ const popperContent = (_a = contentRef.value) == null ? void 0 : _a.popperContentRef;
106
+ const activeElement = (event == null ? void 0 : event.relatedTarget) || document.activeElement;
107
+ return popperContent == null ? void 0 : popperContent.contains(activeElement);
108
+ };
109
+ watch(() => unref(open), (val) => {
110
+ if (!val) {
111
+ stopHandle == null ? void 0 : stopHandle();
112
+ } else {
113
+ ariaHidden.value = false;
114
+ stopHandle = onClickOutside(popperContentRef, () => {
115
+ if (unref(controlled))
116
+ return;
117
+ const needClose = castArray(unref(trigger)).every((item) => {
118
+ return item !== "hover" && item !== "focus";
119
+ });
120
+ if (needClose) {
121
+ onClose();
122
+ }
123
+ }, { detectIframe: true });
124
+ }
125
+ }, {
126
+ flush: "post"
127
+ });
128
+ watch(() => props.content, () => {
129
+ var _a, _b;
130
+ (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a);
131
+ });
132
+ expose({
133
+ contentRef,
134
+ isFocusInsideContent
135
+ });
136
+ return (_ctx, _cache) => {
137
+ return openBlock(), createBlock(unref(ElTeleport), {
138
+ disabled: !_ctx.teleported,
139
+ to: unref(appendTo)
140
+ }, {
141
+ default: withCtx(() => [
142
+ unref(shouldRender) || !ariaHidden.value ? (openBlock(), createBlock(Transition, {
143
+ key: 0,
144
+ name: unref(transitionClass),
145
+ appear: !unref(persistentRef),
146
+ onAfterLeave: onTransitionLeave,
147
+ onBeforeEnter,
148
+ onAfterEnter: onAfterShow,
149
+ onBeforeLeave,
150
+ persisted: ""
151
+ }, {
152
+ default: withCtx(() => [
153
+ withDirectives(createVNode(unref(ElPopperContent), mergeProps({
154
+ id: unref(id),
155
+ ref_key: "contentRef",
156
+ ref: contentRef
157
+ }, _ctx.$attrs, {
158
+ "aria-label": _ctx.ariaLabel,
159
+ "aria-hidden": ariaHidden.value,
160
+ "boundaries-padding": _ctx.boundariesPadding,
161
+ "fallback-placements": _ctx.fallbackPlacements,
162
+ "gpu-acceleration": _ctx.gpuAcceleration,
163
+ offset: _ctx.offset,
164
+ placement: _ctx.placement,
165
+ "popper-options": _ctx.popperOptions,
166
+ "arrow-offset": _ctx.arrowOffset,
167
+ strategy: _ctx.strategy,
168
+ effect: _ctx.effect,
169
+ enterable: _ctx.enterable,
170
+ pure: _ctx.pure,
171
+ "popper-class": _ctx.popperClass,
172
+ "popper-style": [_ctx.popperStyle, unref(contentStyle)],
173
+ "reference-el": _ctx.referenceEl,
174
+ "trigger-target-el": _ctx.triggerTargetEl,
175
+ visible: unref(shouldShow),
176
+ "z-index": _ctx.zIndex,
177
+ loop: _ctx.loop,
178
+ onMouseenter: unref(onContentEnter),
179
+ onMouseleave: unref(onContentLeave),
180
+ onBlur,
181
+ onClose: unref(onClose)
182
+ }), {
183
+ default: withCtx(() => [
184
+ renderSlot(_ctx.$slots, "default")
185
+ ]),
186
+ _: 3
187
+ }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "arrow-offset", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "loop", "onMouseenter", "onMouseleave", "onClose"]), [
188
+ [vShow, unref(shouldShow)]
189
+ ])
190
+ ]),
191
+ _: 3
192
+ }, 8, ["name", "appear"])) : createCommentVNode("v-if", true)
193
+ ]),
194
+ _: 3
195
+ }, 8, ["disabled", "to"]);
196
+ };
197
+ }
198
+ });
199
+ var ElTooltipContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "content.vue"]]);
31
200
 
32
- export { useTooltipContentProps };
201
+ export { ElTooltipContent as default };
33
202
  //# sourceMappingURL=content.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { popperContentProps } from '@element-plus/components/popper'\nimport { useAriaProps, useDelayedToggleProps } from '@element-plus/hooks'\nimport { teleportProps } from '@element-plus/components/teleport'\n\nimport type TooltipContent from './content.vue'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\n\nexport const useTooltipContentProps = buildProps({\n ...useDelayedToggleProps,\n ...popperContentProps,\n /**\n * @description which element the tooltip CONTENT appends to\n */\n appendTo: {\n type: teleportProps.to.type,\n },\n /**\n * @description display content, can be overridden by `slot#content`\n */\n content: {\n type: String,\n default: '',\n },\n /**\n * @description whether `content` is treated as HTML string\n */\n rawContent: Boolean,\n /**\n * @description when tooltip inactive and `persistent` is `false` , popconfirm will be destroyed\n */\n persistent: Boolean,\n // because model toggle prop is generated dynamically\n // so the typing cannot be evaluated by typescript as type:\n // [name]: { type: Boolean, default: null }\n // so we need to declare that again for type checking.\n /**\n * @description visibility of Tooltip\n */\n visible: {\n type: definePropType<boolean | null>(Boolean),\n default: null,\n },\n /**\n * @description animation name\n */\n transition: String,\n /**\n * @description whether tooltip content is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Tooltip is disabled\n */\n disabled: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type ElTooltipContentProps = ExtractPropTypes<\n typeof useTooltipContentProps\n>\nexport type ElTooltipContentPropsPublic = __ExtractPublicPropTypes<\n typeof useTooltipContentProps\n>\n\nexport type TooltipContentInstance = InstanceType<typeof TooltipContent> &\n unknown\n"],"names":[],"mappings":";;;;;;AAIY,MAAC,sBAAsB,GAAG,UAAU,CAAC;AACjD,EAAE,GAAG,qBAAqB;AAC1B,EAAE,GAAG,kBAAkB;AACvB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI;AAC/B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;AACjC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;;;;"}
1
+ {"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n v-if=\"shouldRender || !ariaHidden\"\n :name=\"transitionClass\"\n :appear=\"!persistentRef\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle!, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n :loop=\"loop\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport {\n castArray,\n composeEventHandlers,\n focusElement,\n} from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\nimport { isTriggerType } from './utils'\n\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(useTooltipContentProps)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && isTriggerType(unref(trigger), 'hover')) {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (isTriggerType(unref(trigger), 'hover')) {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(\n popperContentRef,\n () => {\n if (unref(controlled)) return\n const needClose = castArray(unref(trigger)).every((item) => {\n return item !== 'hover' && item !== 'focus'\n })\n if (needClose) {\n onClose()\n }\n },\n { detectIframe: true }\n )\n }\n },\n {\n flush: 'post',\n }\n)\n\nwatch(\n () => props.content,\n () => {\n contentRef.value?.updatePopper?.()\n }\n)\n\ndefineExpose({\n /**\n * @description el-popper-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-popper-content\n */\n isFocusInsideContent,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_withCtx"],"mappings":"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"}
@@ -1,202 +1,33 @@
1
- import { defineComponent, ref, inject, computed, onBeforeUnmount, unref, watch, openBlock, createBlock, withCtx, Transition, withDirectives, createVNode, mergeProps, renderSlot, vShow, createCommentVNode } from 'vue';
2
- import { computedEager, onClickOutside } from '@vueuse/core';
3
- import '../../popper/index.mjs';
4
- import { ElTeleport } from '../../teleport/index.mjs';
5
- import { TOOLTIP_INJECTION_KEY } from './constants.mjs';
6
- import { useTooltipContentProps } from './content.mjs';
7
- import { isTriggerType } from './utils.mjs';
8
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
- import { usePopperContainerId } from '../../../hooks/use-popper-container/index.mjs';
10
- import { castArray } from '../../../utils/arrays.mjs';
11
- import ElPopperContent from '../../popper/src/content2.mjs';
12
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
- import { focusElement } from '../../../utils/dom/aria.mjs';
14
- import { composeEventHandlers } from '../../../utils/dom/event.mjs';
1
+ import { popperContentProps } from '../../popper/src/content.mjs';
2
+ import { teleportProps } from '../../teleport/src/teleport.mjs';
3
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
4
+ import { useDelayedToggleProps } from '../../../hooks/use-delayed-toggle/index.mjs';
5
+ import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
15
6
 
16
- const __default__ = defineComponent({
17
- name: "ElTooltipContent",
18
- inheritAttrs: false
7
+ const useTooltipContentProps = buildProps({
8
+ ...useDelayedToggleProps,
9
+ ...popperContentProps,
10
+ appendTo: {
11
+ type: teleportProps.to.type
12
+ },
13
+ content: {
14
+ type: String,
15
+ default: ""
16
+ },
17
+ rawContent: Boolean,
18
+ persistent: Boolean,
19
+ visible: {
20
+ type: definePropType(Boolean),
21
+ default: null
22
+ },
23
+ transition: String,
24
+ teleported: {
25
+ type: Boolean,
26
+ default: true
27
+ },
28
+ disabled: Boolean,
29
+ ...useAriaProps(["ariaLabel"])
19
30
  });
20
- const _sfc_main = /* @__PURE__ */ defineComponent({
21
- ...__default__,
22
- props: useTooltipContentProps,
23
- setup(__props, { expose }) {
24
- const props = __props;
25
- const { selector } = usePopperContainerId();
26
- const ns = useNamespace("tooltip");
27
- const contentRef = ref();
28
- const popperContentRef = computedEager(() => {
29
- var _a;
30
- return (_a = contentRef.value) == null ? void 0 : _a.popperContentRef;
31
- });
32
- let stopHandle;
33
- const {
34
- controlled,
35
- id,
36
- open,
37
- trigger,
38
- onClose,
39
- onOpen,
40
- onShow,
41
- onHide,
42
- onBeforeShow,
43
- onBeforeHide
44
- } = inject(TOOLTIP_INJECTION_KEY, void 0);
45
- const transitionClass = computed(() => {
46
- return props.transition || `${ns.namespace.value}-fade-in-linear`;
47
- });
48
- const persistentRef = computed(() => {
49
- return props.persistent;
50
- });
51
- onBeforeUnmount(() => {
52
- stopHandle == null ? void 0 : stopHandle();
53
- });
54
- const shouldRender = computed(() => {
55
- return unref(persistentRef) ? true : unref(open);
56
- });
57
- const shouldShow = computed(() => {
58
- return props.disabled ? false : unref(open);
59
- });
60
- const appendTo = computed(() => {
61
- return props.appendTo || selector.value;
62
- });
63
- const contentStyle = computed(() => {
64
- var _a;
65
- return (_a = props.style) != null ? _a : {};
66
- });
67
- const ariaHidden = ref(true);
68
- const onTransitionLeave = () => {
69
- onHide();
70
- isFocusInsideContent() && focusElement(document.body, { preventScroll: true });
71
- ariaHidden.value = true;
72
- };
73
- const stopWhenControlled = () => {
74
- if (unref(controlled))
75
- return true;
76
- };
77
- const onContentEnter = composeEventHandlers(stopWhenControlled, () => {
78
- if (props.enterable && isTriggerType(unref(trigger), "hover")) {
79
- onOpen();
80
- }
81
- });
82
- const onContentLeave = composeEventHandlers(stopWhenControlled, () => {
83
- if (isTriggerType(unref(trigger), "hover")) {
84
- onClose();
85
- }
86
- });
87
- const onBeforeEnter = () => {
88
- var _a, _b;
89
- (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a);
90
- onBeforeShow == null ? void 0 : onBeforeShow();
91
- };
92
- const onBeforeLeave = () => {
93
- onBeforeHide == null ? void 0 : onBeforeHide();
94
- };
95
- const onAfterShow = () => {
96
- onShow();
97
- };
98
- const onBlur = () => {
99
- if (!props.virtualTriggering) {
100
- onClose();
101
- }
102
- };
103
- const isFocusInsideContent = (event) => {
104
- var _a;
105
- const popperContent = (_a = contentRef.value) == null ? void 0 : _a.popperContentRef;
106
- const activeElement = (event == null ? void 0 : event.relatedTarget) || document.activeElement;
107
- return popperContent == null ? void 0 : popperContent.contains(activeElement);
108
- };
109
- watch(() => unref(open), (val) => {
110
- if (!val) {
111
- stopHandle == null ? void 0 : stopHandle();
112
- } else {
113
- ariaHidden.value = false;
114
- stopHandle = onClickOutside(popperContentRef, () => {
115
- if (unref(controlled))
116
- return;
117
- const needClose = castArray(unref(trigger)).every((item) => {
118
- return item !== "hover" && item !== "focus";
119
- });
120
- if (needClose) {
121
- onClose();
122
- }
123
- }, { detectIframe: true });
124
- }
125
- }, {
126
- flush: "post"
127
- });
128
- watch(() => props.content, () => {
129
- var _a, _b;
130
- (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a);
131
- });
132
- expose({
133
- contentRef,
134
- isFocusInsideContent
135
- });
136
- return (_ctx, _cache) => {
137
- return openBlock(), createBlock(unref(ElTeleport), {
138
- disabled: !_ctx.teleported,
139
- to: unref(appendTo)
140
- }, {
141
- default: withCtx(() => [
142
- unref(shouldRender) || !ariaHidden.value ? (openBlock(), createBlock(Transition, {
143
- key: 0,
144
- name: unref(transitionClass),
145
- appear: !unref(persistentRef),
146
- onAfterLeave: onTransitionLeave,
147
- onBeforeEnter,
148
- onAfterEnter: onAfterShow,
149
- onBeforeLeave,
150
- persisted: ""
151
- }, {
152
- default: withCtx(() => [
153
- withDirectives(createVNode(unref(ElPopperContent), mergeProps({
154
- id: unref(id),
155
- ref_key: "contentRef",
156
- ref: contentRef
157
- }, _ctx.$attrs, {
158
- "aria-label": _ctx.ariaLabel,
159
- "aria-hidden": ariaHidden.value,
160
- "boundaries-padding": _ctx.boundariesPadding,
161
- "fallback-placements": _ctx.fallbackPlacements,
162
- "gpu-acceleration": _ctx.gpuAcceleration,
163
- offset: _ctx.offset,
164
- placement: _ctx.placement,
165
- "popper-options": _ctx.popperOptions,
166
- "arrow-offset": _ctx.arrowOffset,
167
- strategy: _ctx.strategy,
168
- effect: _ctx.effect,
169
- enterable: _ctx.enterable,
170
- pure: _ctx.pure,
171
- "popper-class": _ctx.popperClass,
172
- "popper-style": [_ctx.popperStyle, unref(contentStyle)],
173
- "reference-el": _ctx.referenceEl,
174
- "trigger-target-el": _ctx.triggerTargetEl,
175
- visible: unref(shouldShow),
176
- "z-index": _ctx.zIndex,
177
- loop: _ctx.loop,
178
- onMouseenter: unref(onContentEnter),
179
- onMouseleave: unref(onContentLeave),
180
- onBlur,
181
- onClose: unref(onClose)
182
- }), {
183
- default: withCtx(() => [
184
- renderSlot(_ctx.$slots, "default")
185
- ]),
186
- _: 3
187
- }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "arrow-offset", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "loop", "onMouseenter", "onMouseleave", "onClose"]), [
188
- [vShow, unref(shouldShow)]
189
- ])
190
- ]),
191
- _: 3
192
- }, 8, ["name", "appear"])) : createCommentVNode("v-if", true)
193
- ]),
194
- _: 3
195
- }, 8, ["disabled", "to"]);
196
- };
197
- }
198
- });
199
- var ElTooltipContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "content.vue"]]);
200
31
 
201
- export { ElTooltipContent as default };
32
+ export { useTooltipContentProps };
202
33
  //# sourceMappingURL=content2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n v-if=\"shouldRender || !ariaHidden\"\n :name=\"transitionClass\"\n :appear=\"!persistentRef\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle!, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n :loop=\"loop\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport {\n castArray,\n composeEventHandlers,\n focusElement,\n} from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\nimport { isTriggerType } from './utils'\n\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(useTooltipContentProps)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && isTriggerType(unref(trigger), 'hover')) {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (isTriggerType(unref(trigger), 'hover')) {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(\n popperContentRef,\n () => {\n if (unref(controlled)) return\n const needClose = castArray(unref(trigger)).every((item) => {\n return item !== 'hover' && item !== 'focus'\n })\n if (needClose) {\n onClose()\n }\n },\n { detectIframe: true }\n )\n }\n },\n {\n flush: 'post',\n }\n)\n\nwatch(\n () => props.content,\n () => {\n contentRef.value?.updatePopper?.()\n }\n)\n\ndefineExpose({\n /**\n * @description el-popper-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-popper-content\n */\n isFocusInsideContent,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_withCtx"],"mappings":"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"}
1
+ {"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tooltip/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { popperContentProps } from '@element-plus/components/popper'\nimport { useAriaProps, useDelayedToggleProps } from '@element-plus/hooks'\nimport { teleportProps } from '@element-plus/components/teleport'\n\nimport type TooltipContent from './content.vue'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\n\nexport const useTooltipContentProps = buildProps({\n ...useDelayedToggleProps,\n ...popperContentProps,\n /**\n * @description which element the tooltip CONTENT appends to\n */\n appendTo: {\n type: teleportProps.to.type,\n },\n /**\n * @description display content, can be overridden by `slot#content`\n */\n content: {\n type: String,\n default: '',\n },\n /**\n * @description whether `content` is treated as HTML string\n */\n rawContent: Boolean,\n /**\n * @description when tooltip inactive and `persistent` is `false` , popconfirm will be destroyed\n */\n persistent: Boolean,\n // because model toggle prop is generated dynamically\n // so the typing cannot be evaluated by typescript as type:\n // [name]: { type: Boolean, default: null }\n // so we need to declare that again for type checking.\n /**\n * @description visibility of Tooltip\n */\n visible: {\n type: definePropType<boolean | null>(Boolean),\n default: null,\n },\n /**\n * @description animation name\n */\n transition: String,\n /**\n * @description whether tooltip content is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Tooltip is disabled\n */\n disabled: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type ElTooltipContentProps = ExtractPropTypes<\n typeof useTooltipContentProps\n>\nexport type ElTooltipContentPropsPublic = __ExtractPublicPropTypes<\n typeof useTooltipContentProps\n>\n\nexport type TooltipContentInstance = InstanceType<typeof TooltipContent> &\n unknown\n"],"names":[],"mappings":";;;;;;AAIY,MAAC,sBAAsB,GAAG,UAAU,CAAC;AACjD,EAAE,GAAG,qBAAqB;AAC1B,EAAE,GAAG,kBAAkB;AACvB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI;AAC/B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;AACjC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { useTooltipContentProps } from './content.mjs';
1
+ import { useTooltipContentProps } from './content2.mjs';
2
2
  import { useTooltipTriggerProps } from './trigger.mjs';
3
- import { popperProps } from '../../popper/src/popper2.mjs';
3
+ import { popperProps } from '../../popper/src/popper.mjs';
4
4
  import { popperArrowProps } from '../../popper/src/arrow.mjs';
5
5
  import { createModelToggleComposable } from '../../../hooks/use-model-toggle/index.mjs';
6
6
  import { buildProps } from '../../../utils/vue/props/runtime.mjs';
@@ -3,7 +3,7 @@ import { ElPopper } from '../../popper/index.mjs';
3
3
  import { TOOLTIP_INJECTION_KEY } from './constants.mjs';
4
4
  import { useTooltipProps, tooltipEmits, useTooltipModelToggle } from './tooltip.mjs';
5
5
  import ElTooltipTrigger from './trigger2.mjs';
6
- import ElTooltipContent from './content2.mjs';
6
+ import ElTooltipContent from './content.mjs';
7
7
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
8
  import { usePopperContainer } from '../../../hooks/use-popper-container/index.mjs';
9
9
  import ElPopperArrow from '../../popper/src/arrow2.mjs';
@@ -1,4 +1,4 @@
1
- import { popperTriggerProps } from '../../popper/src/trigger.mjs';
1
+ import { popperTriggerProps } from '../../popper/src/trigger2.mjs';
2
2
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
3
  import { EVENT_CODE } from '../../../constants/aria.mjs';
4
4
 
@@ -4,7 +4,7 @@ import { TOOLTIP_INJECTION_KEY } from './constants.mjs';
4
4
  import { useTooltipTriggerProps } from './trigger.mjs';
5
5
  import { whenTrigger } from './utils.mjs';
6
6
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
- import ElPopperTrigger from '../../popper/src/trigger2.mjs';
7
+ import ElPopperTrigger from '../../popper/src/trigger.mjs';
8
8
  import { composeEventHandlers, getEventCode } from '../../../utils/dom/event.mjs';
9
9
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
10
  import { focusElement } from '../../../utils/dom/aria.mjs';
@@ -1,7 +1,10 @@
1
- import { watch, nextTick, toRefs, computed } from 'vue';
1
+ import { watch, nextTick, onMounted, toRefs, computed } from 'vue';
2
+ import { useEventListener } from '@vueuse/core';
2
3
  import { pick } from 'lodash-unified';
3
4
  import { ElSelect } from '../../select/index.mjs';
4
5
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
6
+ import { getEventCode } from '../../../utils/dom/event.mjs';
7
+ import { EVENT_CODE } from '../../../constants/aria.mjs';
5
8
  import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
6
9
 
7
10
  const useSelect = (props, { attrs, emit }, {
@@ -18,6 +21,40 @@ const useSelect = (props, { attrs, emit }, {
18
21
  });
19
22
  }
20
23
  }, { flush: "post" });
24
+ const focusLastNode = (listNode) => {
25
+ var _a;
26
+ const lastNode = listNode.at(-1);
27
+ if (lastNode.expanded && lastNode.childNodes.at(-1)) {
28
+ focusLastNode([lastNode.childNodes.at(-1)]);
29
+ } else {
30
+ const el = (_a = tree.value.el$) == null ? void 0 : _a.querySelector(`[data-key="${listNode.at(-1).key}"]`);
31
+ el == null ? void 0 : el.focus({ preventScroll: true });
32
+ return;
33
+ }
34
+ };
35
+ onMounted(() => {
36
+ useEventListener(() => {
37
+ var _a;
38
+ return (_a = select.value) == null ? void 0 : _a.$el;
39
+ }, "keydown", async (evt) => {
40
+ const code = getEventCode(evt);
41
+ const { dropdownMenuVisible } = select.value;
42
+ if ([EVENT_CODE.down, EVENT_CODE.up].includes(code) && dropdownMenuVisible) {
43
+ await nextTick();
44
+ setTimeout(() => {
45
+ var _a, _b, _c;
46
+ if (EVENT_CODE.up === code) {
47
+ const listNode = tree.value.store.root.childNodes;
48
+ focusLastNode(listNode);
49
+ return;
50
+ }
51
+ (_c = (_b = (_a = select.value.optionsArray[select.value.states.hoveringIndex].$el) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.parentNode) == null ? void 0 : _c.focus({ preventScroll: true });
52
+ });
53
+ }
54
+ }, {
55
+ capture: true
56
+ });
57
+ });
21
58
  const result = {
22
59
  ...pick(toRefs(props), Object.keys(ElSelect.props)),
23
60
  ...attrs,
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/tree-select/src/select.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { pick } from 'lodash-unified'\nimport ElSelect from '@element-plus/components/select'\nimport { useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type { Ref } from 'vue'\nimport type { SelectInstance } from '@element-plus/components/select'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useSelect = (\n props,\n { attrs, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<SelectInstance | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n const ns = useNamespace('tree-select')\n\n // update tree data when use filterMethod/remoteMethod\n watch(\n () => props.data,\n () => {\n if (props.filterable) {\n nextTick(() => {\n // let tree node expand only, same with tree filter\n tree.value?.filter(select.value?.states.inputValue)\n })\n }\n },\n { flush: 'post' }\n )\n\n const result = {\n ...pick(toRefs(props), Object.keys(ElSelect.props)),\n ...attrs,\n class: computed(() => attrs.class),\n style: computed(() => attrs.style),\n // attrs is not reactive, when v-model binding source changes,\n // this listener is still old, see the bug(or test 'v-model source change'):\n // https://github.com/element-plus/element-plus/issues/14204\n 'onUpdate:modelValue': (value) => emit(UPDATE_MODEL_EVENT, value),\n valueKey: key,\n popperClass: computed(() => {\n const classes = [ns.e('popper')]\n if (props.popperClass) classes.push(props.popperClass)\n return classes.join(' ')\n }),\n filterMethod: (keyword = '') => {\n if (props.filterMethod) {\n props.filterMethod(keyword)\n } else if (props.remoteMethod) {\n props.remoteMethod(keyword)\n } else {\n // let tree node expand only, same with tree filter\n tree.value?.filter(keyword)\n }\n },\n }\n\n return result\n}\n"],"names":[],"mappings":";;;;;;AAKY,MAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;AAClD,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,GAAG;AACL,CAAC,KAAK;AACN,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AACzC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM;AAChC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;AAC1B,MAAM,QAAQ,CAAC,MAAM;AACrB,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACpH,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvD,IAAI,GAAG,KAAK;AACZ,IAAI,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC;AACtC,IAAI,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC;AACtC,IAAI,qBAAqB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC;AACrE,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,WAAW,EAAE,QAAQ,CAAC,MAAM;AAChC,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,MAAM,IAAI,KAAK,CAAC,WAAW;AAC3B,QAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACxC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,KAAK,CAAC;AACN,IAAI,YAAY,EAAE,CAAC,OAAO,GAAG,EAAE,KAAK;AACpC,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE;AAC9B,QAAQ,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACpC,OAAO,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE;AACrC,QAAQ,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACpC,OAAO,MAAM;AACb,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChE,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/tree-select/src/select.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, onMounted, toRefs, watch } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { pick } from 'lodash-unified'\nimport ElSelect from '@element-plus/components/select'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { getEventCode } from '@element-plus/utils'\n\nimport type { Ref } from 'vue'\nimport type { SelectInstance } from '@element-plus/components/select'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useSelect = (\n props,\n { attrs, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<SelectInstance | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n const ns = useNamespace('tree-select')\n\n // update tree data when use filterMethod/remoteMethod\n watch(\n () => props.data,\n () => {\n if (props.filterable) {\n nextTick(() => {\n // let tree node expand only, same with tree filter\n tree.value?.filter(select.value?.states.inputValue)\n })\n }\n },\n { flush: 'post' }\n )\n\n const focusLastNode = (listNode) => {\n const lastNode = listNode.at(-1)\n if (lastNode.expanded && lastNode.childNodes.at(-1)) {\n focusLastNode([lastNode.childNodes.at(-1)])\n } else {\n const el = tree.value.el$?.querySelector(\n `[data-key=\"${listNode.at(-1).key}\"]`\n )\n el?.focus({ preventScroll: true })\n return\n }\n }\n\n onMounted(() => {\n useEventListener(\n () => select.value?.$el,\n 'keydown',\n async (evt) => {\n const code = getEventCode(evt)\n const { dropdownMenuVisible } = select.value!\n if (\n [EVENT_CODE.down, EVENT_CODE.up].includes(code) &&\n dropdownMenuVisible\n ) {\n await nextTick()\n // wait navigateOption to finish\n setTimeout(() => {\n if (EVENT_CODE.up === code) {\n const listNode = tree.value.store.root.childNodes\n focusLastNode(listNode)\n return\n }\n // el-select-dropdown__item => el-tree-node__content => el-tree-node__content\n select.value.optionsArray[\n select.value.states.hoveringIndex\n ].$el?.parentNode?.parentNode?.focus({ preventScroll: true })\n })\n }\n },\n {\n capture: true,\n }\n )\n })\n\n const result = {\n ...pick(toRefs(props), Object.keys(ElSelect.props)),\n ...attrs,\n class: computed(() => attrs.class),\n style: computed(() => attrs.style),\n // attrs is not reactive, when v-model binding source changes,\n // this listener is still old, see the bug(or test 'v-model source change'):\n // https://github.com/element-plus/element-plus/issues/14204\n 'onUpdate:modelValue': (value) => emit(UPDATE_MODEL_EVENT, value),\n valueKey: key,\n popperClass: computed(() => {\n const classes = [ns.e('popper')]\n if (props.popperClass) classes.push(props.popperClass)\n return classes.join(' ')\n }),\n filterMethod: (keyword = '') => {\n if (props.filterMethod) {\n props.filterMethod(keyword)\n } else if (props.remoteMethod) {\n props.remoteMethod(keyword)\n } else {\n // let tree node expand only, same with tree filter\n tree.value?.filter(keyword)\n }\n },\n }\n\n return result\n}\n"],"names":[],"mappings":"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"}