@element-plus/nightly 0.0.20250521 → 0.0.20250522

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 (480) hide show
  1. package/dist/index.full.js +12 -3
  2. package/dist/index.full.min.js +7 -7
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +9 -9
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +12 -3
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/alert/index.mjs +2 -2
  276. package/es/components/alert/src/alert.mjs +36 -91
  277. package/es/components/alert/src/alert.mjs.map +1 -1
  278. package/es/components/alert/src/alert2.mjs +91 -36
  279. package/es/components/alert/src/alert2.mjs.map +1 -1
  280. package/es/components/autocomplete/index.mjs +2 -2
  281. package/es/components/autocomplete/src/autocomplete.mjs +80 -370
  282. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  283. package/es/components/autocomplete/src/autocomplete2.mjs +370 -80
  284. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  285. package/es/components/avatar/index.mjs +2 -2
  286. package/es/components/avatar/src/avatar.mjs +65 -31
  287. package/es/components/avatar/src/avatar.mjs.map +1 -1
  288. package/es/components/avatar/src/avatar2.mjs +31 -65
  289. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  290. package/es/components/calendar/src/calendar2.mjs +1 -1
  291. package/es/components/calendar/src/date-table.mjs +31 -89
  292. package/es/components/calendar/src/date-table.mjs.map +1 -1
  293. package/es/components/calendar/src/date-table2.mjs +89 -31
  294. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  295. package/es/components/calendar/src/use-date-table.mjs +1 -1
  296. package/es/components/image-viewer/index.mjs +2 -2
  297. package/es/components/image-viewer/src/image-viewer.mjs +447 -49
  298. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  299. package/es/components/image-viewer/src/image-viewer2.mjs +49 -447
  300. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  301. package/es/components/index.mjs +10 -10
  302. package/es/components/input-tag/index.mjs +2 -2
  303. package/es/components/input-tag/src/input-tag.mjs +215 -73
  304. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  305. package/es/components/input-tag/src/input-tag2.mjs +73 -215
  306. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  307. package/es/components/message/src/message.d.ts +5 -1
  308. package/es/components/message/src/message.mjs.map +1 -1
  309. package/es/components/pagination/src/components/next.mjs +18 -35
  310. package/es/components/pagination/src/components/next.mjs.map +1 -1
  311. package/es/components/pagination/src/components/next2.mjs +35 -18
  312. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  313. package/es/components/pagination/src/components/pager.mjs +16 -210
  314. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  315. package/es/components/pagination/src/components/pager2.mjs +210 -16
  316. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  317. package/es/components/pagination/src/components/sizes.mjs +23 -71
  318. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  319. package/es/components/pagination/src/components/sizes2.mjs +71 -23
  320. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  321. package/es/components/pagination/src/components/total.mjs +26 -6
  322. package/es/components/pagination/src/components/total.mjs.map +1 -1
  323. package/es/components/pagination/src/components/total2.mjs +6 -26
  324. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  325. package/es/components/pagination/src/pagination.mjs +4 -4
  326. package/es/components/scrollbar/index.mjs +1 -1
  327. package/es/components/scrollbar/src/bar2.mjs +1 -1
  328. package/es/components/scrollbar/src/thumb.mjs +131 -11
  329. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  330. package/es/components/scrollbar/src/thumb2.mjs +11 -131
  331. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  332. package/es/components/select/index.mjs +2 -2
  333. package/es/components/select/src/select.mjs +450 -130
  334. package/es/components/select/src/select.mjs.map +1 -1
  335. package/es/components/select/src/select2.mjs +130 -450
  336. package/es/components/select/src/select2.mjs.map +1 -1
  337. package/es/components/slider/index.mjs +2 -2
  338. package/es/components/slider/src/slider.mjs +92 -238
  339. package/es/components/slider/src/slider.mjs.map +1 -1
  340. package/es/components/slider/src/slider2.mjs +238 -92
  341. package/es/components/slider/src/slider2.mjs.map +1 -1
  342. package/es/components/statistic/index.mjs +2 -2
  343. package/es/components/statistic/src/statistic.mjs +25 -69
  344. package/es/components/statistic/src/statistic.mjs.map +1 -1
  345. package/es/components/statistic/src/statistic2.mjs +69 -25
  346. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  347. package/es/components/steps/index.mjs +2 -2
  348. package/es/components/steps/src/item.mjs +190 -19
  349. package/es/components/steps/src/item.mjs.map +1 -1
  350. package/es/components/steps/src/item2.mjs +19 -190
  351. package/es/components/steps/src/item2.mjs.map +1 -1
  352. package/es/components/table/src/store/tree.mjs +4 -1
  353. package/es/components/table/src/store/tree.mjs.map +1 -1
  354. package/es/components/table-v2/src/table-grid.mjs +7 -1
  355. package/es/components/table-v2/src/table-grid.mjs.map +1 -1
  356. package/es/components/tooltip/src/content2.mjs +1 -1
  357. package/es/components/tooltip/src/content2.mjs.map +1 -1
  358. package/es/components/tooltip-v2/index.mjs +3 -3
  359. package/es/components/tooltip-v2/src/content.mjs +48 -110
  360. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  361. package/es/components/tooltip-v2/src/content2.mjs +110 -48
  362. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  363. package/es/components/tooltip-v2/src/tooltip.mjs +19 -77
  364. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  365. package/es/components/tooltip-v2/src/tooltip2.mjs +77 -19
  366. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  367. package/es/components/visual-hidden/index.mjs +3 -3
  368. package/es/components/visual-hidden/src/visual-hidden.mjs +6 -35
  369. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  370. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -6
  371. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  372. package/es/index.d.ts +5 -1
  373. package/es/index.mjs +10 -10
  374. package/es/version.d.ts +1 -1
  375. package/es/version.mjs +1 -1
  376. package/es/version.mjs.map +1 -1
  377. package/lib/components/alert/index.js +2 -2
  378. package/lib/components/alert/src/alert.js +37 -90
  379. package/lib/components/alert/src/alert.js.map +1 -1
  380. package/lib/components/alert/src/alert2.js +90 -37
  381. package/lib/components/alert/src/alert2.js.map +1 -1
  382. package/lib/components/autocomplete/index.js +2 -2
  383. package/lib/components/autocomplete/src/autocomplete.js +79 -368
  384. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  385. package/lib/components/autocomplete/src/autocomplete2.js +368 -79
  386. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  387. package/lib/components/avatar/index.js +2 -2
  388. package/lib/components/avatar/src/avatar.js +65 -32
  389. package/lib/components/avatar/src/avatar.js.map +1 -1
  390. package/lib/components/avatar/src/avatar2.js +32 -65
  391. package/lib/components/avatar/src/avatar2.js.map +1 -1
  392. package/lib/components/calendar/src/calendar2.js +1 -1
  393. package/lib/components/calendar/src/date-table.js +35 -89
  394. package/lib/components/calendar/src/date-table.js.map +1 -1
  395. package/lib/components/calendar/src/date-table2.js +89 -35
  396. package/lib/components/calendar/src/date-table2.js.map +1 -1
  397. package/lib/components/calendar/src/use-date-table.js +1 -1
  398. package/lib/components/image-viewer/index.js +2 -2
  399. package/lib/components/image-viewer/src/image-viewer.js +447 -50
  400. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  401. package/lib/components/image-viewer/src/image-viewer2.js +50 -447
  402. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  403. package/lib/components/index.js +10 -10
  404. package/lib/components/input-tag/index.js +2 -2
  405. package/lib/components/input-tag/src/input-tag.js +214 -73
  406. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  407. package/lib/components/input-tag/src/input-tag2.js +73 -214
  408. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  409. package/lib/components/message/src/message.d.ts +5 -1
  410. package/lib/components/message/src/message.js.map +1 -1
  411. package/lib/components/pagination/src/components/next.js +18 -35
  412. package/lib/components/pagination/src/components/next.js.map +1 -1
  413. package/lib/components/pagination/src/components/next2.js +35 -18
  414. package/lib/components/pagination/src/components/next2.js.map +1 -1
  415. package/lib/components/pagination/src/components/pager.js +16 -210
  416. package/lib/components/pagination/src/components/pager.js.map +1 -1
  417. package/lib/components/pagination/src/components/pager2.js +210 -16
  418. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  419. package/lib/components/pagination/src/components/sizes.js +23 -71
  420. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  421. package/lib/components/pagination/src/components/sizes2.js +71 -23
  422. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  423. package/lib/components/pagination/src/components/total.js +26 -6
  424. package/lib/components/pagination/src/components/total.js.map +1 -1
  425. package/lib/components/pagination/src/components/total2.js +6 -26
  426. package/lib/components/pagination/src/components/total2.js.map +1 -1
  427. package/lib/components/pagination/src/pagination.js +4 -4
  428. package/lib/components/scrollbar/index.js +1 -1
  429. package/lib/components/scrollbar/src/bar2.js +1 -1
  430. package/lib/components/scrollbar/src/thumb.js +131 -11
  431. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  432. package/lib/components/scrollbar/src/thumb2.js +11 -131
  433. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  434. package/lib/components/select/index.js +2 -2
  435. package/lib/components/select/src/select.js +450 -131
  436. package/lib/components/select/src/select.js.map +1 -1
  437. package/lib/components/select/src/select2.js +131 -450
  438. package/lib/components/select/src/select2.js.map +1 -1
  439. package/lib/components/slider/index.js +2 -2
  440. package/lib/components/slider/src/slider.js +93 -238
  441. package/lib/components/slider/src/slider.js.map +1 -1
  442. package/lib/components/slider/src/slider2.js +238 -93
  443. package/lib/components/slider/src/slider2.js.map +1 -1
  444. package/lib/components/statistic/index.js +2 -2
  445. package/lib/components/statistic/src/statistic.js +25 -69
  446. package/lib/components/statistic/src/statistic.js.map +1 -1
  447. package/lib/components/statistic/src/statistic2.js +69 -25
  448. package/lib/components/statistic/src/statistic2.js.map +1 -1
  449. package/lib/components/steps/index.js +2 -2
  450. package/lib/components/steps/src/item.js +190 -19
  451. package/lib/components/steps/src/item.js.map +1 -1
  452. package/lib/components/steps/src/item2.js +19 -190
  453. package/lib/components/steps/src/item2.js.map +1 -1
  454. package/lib/components/table/src/store/tree.js +4 -1
  455. package/lib/components/table/src/store/tree.js.map +1 -1
  456. package/lib/components/table-v2/src/table-grid.js +6 -0
  457. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  458. package/lib/components/tooltip/src/content2.js +1 -1
  459. package/lib/components/tooltip/src/content2.js.map +1 -1
  460. package/lib/components/tooltip-v2/index.js +3 -3
  461. package/lib/components/tooltip-v2/src/content.js +48 -110
  462. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  463. package/lib/components/tooltip-v2/src/content2.js +110 -48
  464. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  465. package/lib/components/tooltip-v2/src/tooltip.js +19 -77
  466. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  467. package/lib/components/tooltip-v2/src/tooltip2.js +77 -19
  468. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  469. package/lib/components/visual-hidden/index.js +2 -2
  470. package/lib/components/visual-hidden/src/visual-hidden.js +6 -35
  471. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  472. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -6
  473. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  474. package/lib/index.d.ts +5 -1
  475. package/lib/index.js +10 -10
  476. package/lib/version.d.ts +1 -1
  477. package/lib/version.js +1 -1
  478. package/lib/version.js.map +1 -1
  479. package/package.json +2 -2
  480. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../../../../packages/components/table/src/store/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, getCurrentInstance, ref, unref, watch } from 'vue'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { getRowIdentity, walkTreeNode } from '../util'\n\nimport type { WatcherPropsData } from '.'\nimport type { Table, TableProps } from '../table/defaults'\n\nfunction useTree<T>(watcherData: WatcherPropsData<T>) {\n const expandRowKeys = ref<string[]>([])\n const treeData = ref<unknown>({})\n const indent = ref(16)\n const lazy = ref(false)\n const lazyTreeNodeMap = ref({})\n const lazyColumnIdentifier = ref('hasChildren')\n const childrenColumnName = ref('children')\n const checkStrictly = ref(false)\n const instance = getCurrentInstance() as Table<T>\n const normalizedData = computed(() => {\n if (!watcherData.rowKey.value) return {}\n const data = watcherData.data.value || []\n return normalize(data)\n })\n const normalizedLazyNode = computed(() => {\n const rowKey = watcherData.rowKey.value\n const keys = Object.keys(lazyTreeNodeMap.value)\n const res = {}\n if (!keys.length) return res\n keys.forEach((key) => {\n if (lazyTreeNodeMap.value[key].length) {\n const item = { children: [] }\n lazyTreeNodeMap.value[key].forEach((row) => {\n const currentRowKey = getRowIdentity(row, rowKey)\n item.children.push(currentRowKey)\n if (row[lazyColumnIdentifier.value] && !res[currentRowKey]) {\n res[currentRowKey] = { children: [] }\n }\n })\n res[key] = item\n }\n })\n return res\n })\n\n const normalize = (data) => {\n const rowKey = watcherData.rowKey.value\n const res = {}\n walkTreeNode(\n data,\n (parent, children, level) => {\n const parentId = getRowIdentity(parent, rowKey)\n if (isArray(children)) {\n res[parentId] = {\n children: children.map((row) => getRowIdentity(row, rowKey)),\n level,\n }\n } else if (lazy.value) {\n // 当 children 不存在且 lazy 为 true,该节点即为懒加载的节点\n res[parentId] = {\n children: [],\n lazy: true,\n level,\n }\n }\n },\n childrenColumnName.value,\n lazyColumnIdentifier.value\n )\n return res\n }\n\n let isInitTree = true\n const updateTreeData = (ifChangeExpandRowKeys = false) => {\n const nested = normalizedData.value\n const normalizedLazyNode_ = normalizedLazyNode.value\n const keys = Object.keys(nested)\n const newTreeData = {}\n const ifExpandAll =\n instance.store?.states.defaultExpandAll.value && isInitTree\n isInitTree = false\n if (keys.length) {\n const oldTreeData = unref(treeData)\n const rootLazyRowKeys = []\n const getExpanded = (oldValue, key) => {\n if (ifChangeExpandRowKeys) {\n if (expandRowKeys.value.length) {\n return ifExpandAll || expandRowKeys.value.includes(key)\n } else {\n return !!(ifExpandAll || oldValue?.expanded)\n }\n } else {\n const included =\n ifExpandAll ||\n (expandRowKeys.value && expandRowKeys.value.includes(key))\n return !!(oldValue?.expanded || included)\n }\n }\n // 合并 expanded 与 display,确保数据刷新后,状态不变\n keys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const newValue = { ...nested[key] }\n newValue.expanded = getExpanded(oldValue, key)\n if (newValue.lazy) {\n const { loaded = false, loading = false } = oldValue || {}\n newValue.loaded = !!loaded\n newValue.loading = !!loading\n rootLazyRowKeys.push(key)\n }\n newTreeData[key] = newValue\n })\n // 根据懒加载数据更新 treeData\n const lazyKeys = Object.keys(normalizedLazyNode_)\n if (lazy.value && lazyKeys.length && rootLazyRowKeys.length) {\n lazyKeys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const lazyNodeChildren = normalizedLazyNode_[key].children\n if (rootLazyRowKeys.includes(key)) {\n // 懒加载的 root 节点,更新一下原有的数据,原来的 children 一定是空数组\n if (newTreeData[key].children.length !== 0) {\n throw new Error('[ElTable]children must be an empty array.')\n }\n newTreeData[key].children = lazyNodeChildren\n } else {\n const { loaded = false, loading = false } = oldValue || {}\n newTreeData[key] = {\n lazy: true,\n loaded: !!loaded,\n loading: !!loading,\n expanded: getExpanded(oldValue, key),\n children: lazyNodeChildren,\n level: '',\n }\n }\n })\n }\n }\n treeData.value = newTreeData\n instance.store?.updateTableScrollY()\n }\n\n watch(\n () => expandRowKeys.value,\n () => {\n updateTreeData(true)\n }\n )\n\n watch(\n () => normalizedData.value,\n () => {\n isInitTree = true\n updateTreeData()\n }\n )\n watch(\n () => normalizedLazyNode.value,\n () => {\n updateTreeData()\n }\n )\n\n const updateTreeExpandKeys = (value: string[]) => {\n expandRowKeys.value = value\n updateTreeData()\n }\n const isUseLazy = (data): boolean => {\n return lazy.value && data && 'loaded' in data && !data.loaded\n }\n const toggleTreeExpansion = (row: T, expanded?: boolean) => {\n instance.store.assertRowKey()\n\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = id && treeData.value[id]\n if (id && data && 'expanded' in data) {\n const oldExpanded = data.expanded\n expanded = isUndefined(expanded) ? !data.expanded : expanded\n treeData.value[id].expanded = expanded\n if (oldExpanded !== expanded) {\n instance.emit('expand-change', row, expanded)\n }\n isUseLazy(data) && loadData(row, id, data)\n instance.store.updateTableScrollY()\n }\n }\n\n const loadOrToggle = (row) => {\n instance.store.assertRowKey()\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = treeData.value[id]\n if (isUseLazy(data)) {\n loadData(row, id, data)\n } else {\n toggleTreeExpansion(row, undefined)\n }\n }\n\n const loadData = (row: T, key: string, treeNode) => {\n const { load } = instance.props as unknown as TableProps<T>\n if (load && !treeData.value[key].loaded) {\n treeData.value[key].loading = true\n load(row, treeNode, (data) => {\n if (!isArray(data)) {\n throw new TypeError('[ElTable] data must be an array')\n }\n treeData.value[key].loading = false\n treeData.value[key].loaded = true\n treeData.value[key].expanded = true\n if (data.length) {\n lazyTreeNodeMap.value[key] = data\n }\n instance.emit('expand-change', row, true)\n })\n }\n }\n\n const updateKeyChildren = (key: string, data: T[]) => {\n const { lazy, rowKey } = instance.props as unknown as TableProps<T>\n if (!lazy) return\n if (!rowKey) throw new Error('[Table] rowKey is required in updateKeyChild')\n\n if (lazyTreeNodeMap.value[key]) {\n lazyTreeNodeMap.value[key] = data\n }\n }\n\n return {\n loadData,\n loadOrToggle,\n toggleTreeExpansion,\n updateTreeExpandKeys,\n updateTreeData,\n updateKeyChildren,\n normalize,\n states: {\n expandRowKeys,\n treeData,\n indent,\n lazy,\n lazyTreeNodeMap,\n lazyColumnIdentifier,\n childrenColumnName,\n checkStrictly,\n },\n }\n}\n\nexport default useTree\n"],"names":["ref","getCurrentInstance","computed","getRowIdentity","walkTreeNode","isArray","unref","watch","isUndefined"],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../../../../packages/components/table/src/store/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, getCurrentInstance, ref, unref, watch } from 'vue'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { getRowIdentity, walkTreeNode } from '../util'\n\nimport type { WatcherPropsData } from '.'\nimport type { Table, TableProps } from '../table/defaults'\n\nfunction useTree<T>(watcherData: WatcherPropsData<T>) {\n const expandRowKeys = ref<string[]>([])\n const treeData = ref<unknown>({})\n const indent = ref(16)\n const lazy = ref(false)\n const lazyTreeNodeMap = ref({})\n const lazyColumnIdentifier = ref('hasChildren')\n const childrenColumnName = ref('children')\n const checkStrictly = ref(false)\n const instance = getCurrentInstance() as Table<T>\n const normalizedData = computed(() => {\n if (!watcherData.rowKey.value) return {}\n const data = watcherData.data.value || []\n return normalize(data)\n })\n const normalizedLazyNode = computed(() => {\n const rowKey = watcherData.rowKey.value\n const keys = Object.keys(lazyTreeNodeMap.value)\n const res = {}\n if (!keys.length) return res\n keys.forEach((key) => {\n if (lazyTreeNodeMap.value[key].length) {\n const item = { children: [] }\n lazyTreeNodeMap.value[key].forEach((row) => {\n const currentRowKey = getRowIdentity(row, rowKey)\n item.children.push(currentRowKey)\n if (row[lazyColumnIdentifier.value] && !res[currentRowKey]) {\n res[currentRowKey] = { children: [] }\n }\n })\n res[key] = item\n }\n })\n return res\n })\n\n const normalize = (data) => {\n const rowKey = watcherData.rowKey.value\n const res = {}\n walkTreeNode(\n data,\n (parent, children, level) => {\n const parentId = getRowIdentity(parent, rowKey)\n if (isArray(children)) {\n res[parentId] = {\n children: children.map((row) => getRowIdentity(row, rowKey)),\n level,\n }\n } else if (lazy.value) {\n // 当 children 不存在且 lazy 为 true,该节点即为懒加载的节点\n res[parentId] = {\n children: [],\n lazy: true,\n level,\n }\n }\n },\n childrenColumnName.value,\n lazyColumnIdentifier.value\n )\n return res\n }\n\n let isInitTree = true\n let hasUpdateExpandRowKeys = false\n\n const updateTreeData = (ifChangeExpandRowKeys = false) => {\n const nested = normalizedData.value\n const normalizedLazyNode_ = normalizedLazyNode.value\n const keys = Object.keys(nested)\n const newTreeData = {}\n const ifExpandAll =\n instance.store?.states.defaultExpandAll.value && isInitTree\n isInitTree = false\n if (keys.length) {\n const oldTreeData = unref(treeData)\n const rootLazyRowKeys = []\n const getExpanded = (oldValue, key) => {\n if (ifChangeExpandRowKeys) {\n if (expandRowKeys.value.length || hasUpdateExpandRowKeys) {\n hasUpdateExpandRowKeys = false\n return ifExpandAll || expandRowKeys.value.includes(key)\n } else {\n return !!(ifExpandAll || oldValue?.expanded)\n }\n } else {\n const included =\n ifExpandAll ||\n (expandRowKeys.value && expandRowKeys.value.includes(key))\n return !!(oldValue?.expanded || included)\n }\n }\n // 合并 expanded 与 display,确保数据刷新后,状态不变\n keys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const newValue = { ...nested[key] }\n newValue.expanded = getExpanded(oldValue, key)\n if (newValue.lazy) {\n const { loaded = false, loading = false } = oldValue || {}\n newValue.loaded = !!loaded\n newValue.loading = !!loading\n rootLazyRowKeys.push(key)\n }\n newTreeData[key] = newValue\n })\n // 根据懒加载数据更新 treeData\n const lazyKeys = Object.keys(normalizedLazyNode_)\n if (lazy.value && lazyKeys.length && rootLazyRowKeys.length) {\n lazyKeys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const lazyNodeChildren = normalizedLazyNode_[key].children\n if (rootLazyRowKeys.includes(key)) {\n // 懒加载的 root 节点,更新一下原有的数据,原来的 children 一定是空数组\n if (newTreeData[key].children.length !== 0) {\n throw new Error('[ElTable]children must be an empty array.')\n }\n newTreeData[key].children = lazyNodeChildren\n } else {\n const { loaded = false, loading = false } = oldValue || {}\n newTreeData[key] = {\n lazy: true,\n loaded: !!loaded,\n loading: !!loading,\n expanded: getExpanded(oldValue, key),\n children: lazyNodeChildren,\n level: '',\n }\n }\n })\n }\n }\n treeData.value = newTreeData\n instance.store?.updateTableScrollY()\n }\n\n watch(\n () => expandRowKeys.value,\n () => {\n hasUpdateExpandRowKeys = true\n updateTreeData(true)\n }\n )\n\n watch(\n () => normalizedData.value,\n () => {\n isInitTree = true\n updateTreeData()\n }\n )\n watch(\n () => normalizedLazyNode.value,\n () => {\n updateTreeData()\n }\n )\n\n const updateTreeExpandKeys = (value: string[]) => {\n expandRowKeys.value = value\n updateTreeData()\n }\n const isUseLazy = (data): boolean => {\n return lazy.value && data && 'loaded' in data && !data.loaded\n }\n const toggleTreeExpansion = (row: T, expanded?: boolean) => {\n instance.store.assertRowKey()\n\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = id && treeData.value[id]\n if (id && data && 'expanded' in data) {\n const oldExpanded = data.expanded\n expanded = isUndefined(expanded) ? !data.expanded : expanded\n treeData.value[id].expanded = expanded\n if (oldExpanded !== expanded) {\n instance.emit('expand-change', row, expanded)\n }\n isUseLazy(data) && loadData(row, id, data)\n instance.store.updateTableScrollY()\n }\n }\n\n const loadOrToggle = (row) => {\n instance.store.assertRowKey()\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = treeData.value[id]\n if (isUseLazy(data)) {\n loadData(row, id, data)\n } else {\n toggleTreeExpansion(row, undefined)\n }\n }\n\n const loadData = (row: T, key: string, treeNode) => {\n const { load } = instance.props as unknown as TableProps<T>\n if (load && !treeData.value[key].loaded) {\n treeData.value[key].loading = true\n load(row, treeNode, (data) => {\n if (!isArray(data)) {\n throw new TypeError('[ElTable] data must be an array')\n }\n treeData.value[key].loading = false\n treeData.value[key].loaded = true\n treeData.value[key].expanded = true\n if (data.length) {\n lazyTreeNodeMap.value[key] = data\n }\n instance.emit('expand-change', row, true)\n })\n }\n }\n\n const updateKeyChildren = (key: string, data: T[]) => {\n const { lazy, rowKey } = instance.props as unknown as TableProps<T>\n if (!lazy) return\n if (!rowKey) throw new Error('[Table] rowKey is required in updateKeyChild')\n\n if (lazyTreeNodeMap.value[key]) {\n lazyTreeNodeMap.value[key] = data\n }\n }\n\n return {\n loadData,\n loadOrToggle,\n toggleTreeExpansion,\n updateTreeExpandKeys,\n updateTreeData,\n updateKeyChildren,\n normalize,\n states: {\n expandRowKeys,\n treeData,\n indent,\n lazy,\n lazyTreeNodeMap,\n lazyColumnIdentifier,\n childrenColumnName,\n checkStrictly,\n },\n }\n}\n\nexport default useTree\n"],"names":["ref","getCurrentInstance","computed","getRowIdentity","walkTreeNode","isArray","unref","watch","isUndefined"],"mappings":"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"}
@@ -151,6 +151,12 @@ const TableGrid = vue.defineComponent({
151
151
  scrollLeft
152
152
  } = useTableGrid(props);
153
153
  vue.provide("tableV2GridScrollLeft", scrollLeft);
154
+ vue.onActivated(async () => {
155
+ var _a;
156
+ await vue.nextTick();
157
+ const scrollTop = (_a = bodyRef.value) == null ? void 0 : _a.states.scrollTop;
158
+ scrollTop && scrollToTop(Math.round(scrollTop) + 1);
159
+ });
154
160
  expose({
155
161
  forceUpdate,
156
162
  totalHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide('tableV2GridScrollLeft', scrollLeft)\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","watch","isNumber","$forceUpdate","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","defineComponent","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","scrollToRow","provide","DynamicSizeGrid","FixedSizeGrid","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","_headerHeight","class"],"mappings":"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"}
1
+ {"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide('tableV2GridScrollLeft', scrollLeft)\n\n onActivated(async () => {\n await nextTick()\n const scrollTop = bodyRef.value?.states.scrollTop\n scrollTop && scrollToTop(Math.round(scrollTop) + 1)\n })\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","watch","isNumber","$forceUpdate","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","defineComponent","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","nextTick","scrollToRow","provide","onActivated","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","DynamicSizeGrid","_headerHeight"],"mappings":"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"}
@@ -49,7 +49,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
49
49
  });
50
50
  const persistentRef = vue.computed(() => {
51
51
  if (process.env.NODE_ENV === "test") {
52
- if (process.env.RUN_TEST_FILE_NAME !== "select") {
52
+ if (!process.env.RUN_TEST_WITH_PERSISTENT) {
53
53
  return true;
54
54
  }
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"content2.js","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transitionClass\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\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 @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 { composeEventHandlers } from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { tryFocus } from '@element-plus/components/focus-trap'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\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_FILE_NAME !== 'select') {\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 ?? {}) as any)\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && tryFocus(document.body)\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (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(popperContentRef, () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\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":["usePopperContainerId","useNamespace","ref","computedEager","inject","TOOLTIP_INJECTION_KEY","computed","onBeforeUnmount","unref","tryFocus","composeEventHandlers","watch","onClickOutside","_openBlock","_createBlock","_unref","ElTeleport"],"mappings":"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"}
1
+ {"version":3,"file":"content2.js","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transitionClass\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\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 @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 { composeEventHandlers } from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { tryFocus } from '@element-plus/components/focus-trap'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\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 ?? {}) as any)\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && tryFocus(document.body)\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (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(popperContentRef, () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\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":["usePopperContainerId","useNamespace","ref","computedEager","inject","TOOLTIP_INJECTION_KEY","computed","onBeforeUnmount","unref","tryFocus","composeEventHandlers","watch","onClickOutside","_openBlock","_createBlock","_unref","ElTeleport"],"mappings":";;;;;;;;;;;;;;;;;uCAyDc,CAAA;AAAA,EACZ,IAAM,EAAA,kBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,EAAE,QAAS,EAAA,GAAIA,0BAAqB,EAAA,CAAA;AAC1C,IAAM,MAAA,EAAA,GAAKC,qBAAa,SAAS,CAAA,CAAA;AAEjC,IAAA,MAAM,aAAaC,OAA2B,EAAA,CAAA;AAC9C,IAAA,MAAM,gBAAmB,GAAAC,kBAAA,CAAc,MAAM;AAC7C,MAAI,IAAA,EAAA,CAAA;AACJ,MAAM,OAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAA;AAAA,KACJ,CAAA,CAAA;AAAA,IACA,IAAA,UAAA,CAAA;AAAA,IACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,EAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACF,MAAW;AACX,MAAM,YAAA;AACJ,MAAA,YAAa;AAAmC,KACjD,GAAAC,UAAA,CAAAC,+BAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACD,IAAM,MAAA,eAAA,eAA+B,CAAA,MAAA;AAGnC,MAAI,OAAA,KAAQ,CAAI,UAAA,IAAA,CAAA,EAAqB,EAAA,CAAA,SAAA,CAAA,KAAA,CAAA,eAAA,CAAA,CAAA;AACnC,KAAI,CAAA,CAAA;AACF,IAAO,MAAA,aAAA,GAAAC,YAAA,CAAA,MAAA;AAAA,MACT,IAAA,OAAA,CAAA,GAAA,CAAA,QAAA,KAAA,MAAA,EAAA;AAAA,QACF,IAAA,CAAA,OAAA,CAAA,GAAA,CAAA,wBAAA,EAAA;AACA,UAAA,OAAa,IAAA,CAAA;AAAA,SACd;AAED,OAAA;AACE,MAAa,OAAA,KAAA,CAAA,UAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAED,IAAMC,mBAAA,CAAA;AACJ,MAAA,UAAa,IAAA,IAAA,GAAA,KAAa,CAAI,GAAA,aAAa;AAAI,KAChD,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,eAA4B,CAAA,MAAA;AAChC,MAAA,OAAOC,SAAM,CAAA,aAAmB,CAAA,GAAA,IAAA,GAAAA,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,KAC3C,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,eAA0B,CAAA,MAAA;AAC9B,MAAO,OAAA,KAAA,CAAM,gBAAqB,GAAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KACnC,CAAA,CAAA;AAED,IAAA,MAAM,uBAAwB,CAAA,MAAA;AAE9B,MAAM,OAAA,KAAA,CAAA,QAAiB,IAAI,QAAA,CAAA,KAAA,CAAA;AAE3B,KAAA,CAAA,CAAA;AACE,IAAO,MAAA,YAAA,GAAAF,YAAA,CAAA,MAAA;AACP,MAAqB,IAAA,EAAA,CAAA;AACrB,MAAA,OAAA,CAAA,EAAA,GAAmB,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA,CAAA;AAAA,KACrB,CAAA,CAAA;AAEA,IAAA,MAAM,yBAAqB,CAAM,CAAA;AAC/B,IAAI,MAAA,iBAAgB,GAAU,MAAA;AAAA,MAChC,MAAA,EAAA,CAAA;AAEA,MAAM,oBAAA,EAAsC,IAAAG,cAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAC1C,MAAA,UAAU,CAAA,KAAA,GAAA,IAAa,CAAM;AAC3B,KAAO,CAAA;AAAA,IACT,MAAA,kBAAA,GAAA,MAAA;AAAA,MACD,IAAAD,SAAA,CAAA,UAAA,CAAA;AAED,QAAM,OAAA,IAAA,CAAA;AACJ,KAAI,CAAA;AACF,IAAQ,MAAA,cAAA,GAAAE,0BAAA,CAAA,kBAAA,EAAA,MAAA;AAAA,MACV,IAAA,KAAA,CAAA,SAAA,IAAAF,SAAA,CAAA,OAAA,CAAA,KAAA,OAAA,EAAA;AAAA,QACD,MAAA,EAAA,CAAA;AAED,OAAA;AACE,KAAA,CAAA,CAAA;AACA,IAAe,MAAA,cAAA,GAAAE,0BAAA,CAAA,kBAAA,EAAA,MAAA;AAAA,MACjB,IAAAF,SAAA,CAAA,OAAA,CAAA,KAAA,OAAA,EAAA;AAEA,QAAA;AACE,OAAe;AAAA,KACjB,CAAA,CAAA;AAEA,IAAA,MAAM,gBAAoB,MAAA;AACxB,MAAO,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MACT,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAEA,MAAA,gBAAqB,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,EAAA,CAAA;AACnB,KAAI,CAAA;AACF,IAAQ,MAAA,aAAA,GAAA,MAAA;AAAA,MACV,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,EAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAA,MAAA;AACJ,MAAM,MAAA,EAAA,CAAA;AAEN,KAAM,CAAA;AAEN,IAAO,MAAA,MAAA,GAAA,MAAA;AAAqC,MAC9C,IAAA,CAAA,KAAA,CAAA,iBAAA,EAAA;AAEA,QAAA,OAAA,EAAA,CAAA;AAAA,OACE;AAAgB,KAAA,CAChB;AACE,IAAA,MAAA,oBAAU,GAAA,CAAA,KAAA,KAAA;AACR,MAAa,IAAA,EAAA,CAAA;AAAA,MAAA,MACR,aAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAA;AACL,MAAA,MAAA,aAAmB,GAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,aAAA,KAAA,QAAA,CAAA,aAAA,CAAA;AACnB,MAAa,OAAA,aAAA,IAAA,IAAA,GAAA,sBAAuC,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAClD,KAAI,CAAA;AACJ,IAAMG,SAAA,CAAA,MAAAH,SAAA,CAAA,IAAA,CAAA,EAAW,SAAa;AAC9B,MAAA,IAAA,CAAA,GAAA,EAAI;AACF,QAAQ,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,EAAA,CAAA;AAAA,OACV,MAAA;AAAA,QAAA,UACD,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,QACH,UAAA,GAAAI,mBAAA,CAAA,gBAAA,EAAA,MAAA;AAAA,UACF,IAAAJ,SAAA,CAAA,UAAA,CAAA;AAAA,YACA,OAAA;AAAA,UACS,MAAA,QAAA,GAAAA,SAAA,CAAA,OAAA,CAAA,CAAA;AAAA,UACT,IAAA,QAAA,KAAA,OAAA,EAAA;AAAA,YACF,OAAA,EAAA,CAAA;AAEA,WAAA;AAAA;AACc,OACN;AACJ,KAAA,EAAA;AAAiC,MACnC,KAAA,EAAA,MAAA;AAAA,KACF,CAAA,CAAA;AAEA,IAAaG,SAAA,CAAA,MAAA,KAAA,CAAA,OAAA,EAAA,MAAA;AAAA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAIX,MAAA,CAAA;AAAA,MAAA,UAAA;AAAA,MAAA,oBAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAIA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACD,OAAAE,aAAA,EAAA,EAAAC,eAAA,CAAAC,SAAA,CAAAC,kBAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tooltip$1 = require('./src/tooltip.js');
5
+ var tooltip$1 = require('./src/tooltip2.js');
6
6
  var arrow = require('./src/arrow.js');
7
- var content = require('./src/content2.js');
7
+ var content = require('./src/content.js');
8
8
  var root = require('./src/root.js');
9
- var tooltip = require('./src/tooltip2.js');
9
+ var tooltip = require('./src/tooltip.js');
10
10
  var trigger = require('./src/trigger.js');
11
11
  var constants = require('./src/constants.js');
12
12
  var install = require('../../utils/vue/install.js');
@@ -2,117 +2,55 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var dom = require('@floating-ui/dom');
7
- var visualHidden = require('../../visual-hidden/src/visual-hidden.js');
8
- var constants = require('./constants.js');
9
- var content = require('./content2.js');
10
- var common = require('./common.js');
11
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
- var index = require('../../../hooks/use-floating/index.js');
13
- var index$1 = require('../../../hooks/use-z-index/index.js');
14
- var index$2 = require('../../../hooks/use-namespace/index.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
6
+ var index = require('../../../hooks/use-aria/index.js');
15
7
 
16
- const __default__ = vue.defineComponent({
17
- name: "ElTooltipV2Content"
8
+ const tooltipV2Strategies = ["absolute", "fixed"];
9
+ const tooltipV2Placements = [
10
+ "top-start",
11
+ "top-end",
12
+ "top",
13
+ "bottom-start",
14
+ "bottom-end",
15
+ "bottom",
16
+ "left-start",
17
+ "left-end",
18
+ "left",
19
+ "right-start",
20
+ "right-end",
21
+ "right"
22
+ ];
23
+ const tooltipV2ContentProps = runtime.buildProps({
24
+ arrowPadding: {
25
+ type: runtime.definePropType(Number),
26
+ default: 5
27
+ },
28
+ effect: {
29
+ type: runtime.definePropType(String),
30
+ default: "light"
31
+ },
32
+ contentClass: String,
33
+ placement: {
34
+ type: runtime.definePropType(String),
35
+ values: tooltipV2Placements,
36
+ default: "bottom"
37
+ },
38
+ reference: {
39
+ type: runtime.definePropType(Object),
40
+ default: null
41
+ },
42
+ offset: {
43
+ type: Number,
44
+ default: 8
45
+ },
46
+ strategy: {
47
+ type: runtime.definePropType(String),
48
+ values: tooltipV2Strategies,
49
+ default: "absolute"
50
+ },
51
+ showArrow: Boolean,
52
+ ...index.useAriaProps(["ariaLabel"])
18
53
  });
19
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
- ...__default__,
21
- props: { ...content.tooltipV2ContentProps, ...common.tooltipV2CommonProps },
22
- setup(__props) {
23
- const props = __props;
24
- const { triggerRef, contentId } = vue.inject(constants.tooltipV2RootKey);
25
- const placement = vue.ref(props.placement);
26
- const strategy = vue.ref(props.strategy);
27
- const arrowRef = vue.ref(null);
28
- const { referenceRef, contentRef, middlewareData, x, y, update } = index.useFloating({
29
- placement,
30
- strategy,
31
- middleware: vue.computed(() => {
32
- const middleware = [dom.offset(props.offset)];
33
- if (props.showArrow) {
34
- middleware.push(index.arrowMiddleware({
35
- arrowRef
36
- }));
37
- }
38
- return middleware;
39
- })
40
- });
41
- const zIndex = index$1.useZIndex().nextZIndex();
42
- const ns = index$2.useNamespace("tooltip-v2");
43
- const side = vue.computed(() => {
44
- return placement.value.split("-")[0];
45
- });
46
- const contentStyle = vue.computed(() => {
47
- return {
48
- position: vue.unref(strategy),
49
- top: `${vue.unref(y) || 0}px`,
50
- left: `${vue.unref(x) || 0}px`,
51
- zIndex
52
- };
53
- });
54
- const arrowStyle = vue.computed(() => {
55
- if (!props.showArrow)
56
- return {};
57
- const { arrow } = vue.unref(middlewareData);
58
- return {
59
- [`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow == null ? void 0 : arrow.x}px` || "",
60
- [`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow == null ? void 0 : arrow.y}px` || ""
61
- };
62
- });
63
- const contentClass = vue.computed(() => [
64
- ns.e("content"),
65
- ns.is("dark", props.effect === "dark"),
66
- ns.is(vue.unref(strategy)),
67
- props.contentClass
68
- ]);
69
- vue.watch(arrowRef, () => update());
70
- vue.watch(() => props.placement, (val) => placement.value = val);
71
- vue.onMounted(() => {
72
- vue.watch(() => props.reference || triggerRef.value, (el) => {
73
- referenceRef.value = el || void 0;
74
- }, {
75
- immediate: true
76
- });
77
- });
78
- vue.provide(constants.tooltipV2ContentKey, { arrowRef });
79
- return (_ctx, _cache) => {
80
- return vue.openBlock(), vue.createElementBlock("div", {
81
- ref_key: "contentRef",
82
- ref: contentRef,
83
- style: vue.normalizeStyle(vue.unref(contentStyle)),
84
- "data-tooltip-v2-root": ""
85
- }, [
86
- !_ctx.nowrap ? (vue.openBlock(), vue.createElementBlock("div", {
87
- key: 0,
88
- "data-side": vue.unref(side),
89
- class: vue.normalizeClass(vue.unref(contentClass))
90
- }, [
91
- vue.renderSlot(_ctx.$slots, "default", {
92
- contentStyle: vue.unref(contentStyle),
93
- contentClass: vue.unref(contentClass)
94
- }),
95
- vue.createVNode(vue.unref(visualHidden["default"]), {
96
- id: vue.unref(contentId),
97
- role: "tooltip"
98
- }, {
99
- default: vue.withCtx(() => [
100
- _ctx.ariaLabel ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
101
- vue.createTextVNode(vue.toDisplayString(_ctx.ariaLabel), 1)
102
- ], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
103
- ]),
104
- _: 3
105
- }, 8, ["id"]),
106
- vue.renderSlot(_ctx.$slots, "arrow", {
107
- style: vue.normalizeStyle(vue.unref(arrowStyle)),
108
- side: vue.unref(side)
109
- })
110
- ], 10, ["data-side"])) : vue.createCommentVNode("v-if", true)
111
- ], 4);
112
- };
113
- }
114
- });
115
- var TooltipV2Content = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "content.vue"]]);
116
54
 
117
- exports["default"] = TooltipV2Content;
55
+ exports.tooltipV2ContentProps = tooltipV2ContentProps;
118
56
  //# sourceMappingURL=content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sources":["../../../../../../packages/components/tooltip-v2/src/content.vue"],"sourcesContent":["<template>\n <div ref=\"contentRef\" :style=\"contentStyle\" data-tooltip-v2-root>\n <div v-if=\"!nowrap\" :data-side=\"side\" :class=\"contentClass\">\n <slot :content-style=\"contentStyle\" :content-class=\"contentClass\" />\n <el-visually-hidden :id=\"contentId\" role=\"tooltip\">\n <template v-if=\"ariaLabel\">\n {{ ariaLabel }}\n </template>\n <slot v-else />\n </el-visually-hidden>\n <slot name=\"arrow\" :style=\"arrowStyle\" :side=\"side\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onMounted, provide, ref, unref, watch } from 'vue'\nimport { offset } from '@floating-ui/dom'\nimport {\n arrowMiddleware,\n useFloating,\n useNamespace,\n useZIndex,\n} from '@element-plus/hooks'\nimport ElVisuallyHidden from '@element-plus/components/visual-hidden'\nimport { tooltipV2ContentKey, tooltipV2RootKey } from './constants'\nimport { tooltipV2ContentProps } from './content'\nimport { tooltipV2CommonProps } from './common'\n\nimport type { CSSProperties } from 'vue'\nimport type { Middleware } from '@floating-ui/dom'\n\ndefineOptions({\n name: 'ElTooltipV2Content',\n})\n\nconst props = defineProps({ ...tooltipV2ContentProps, ...tooltipV2CommonProps })\n\nconst { triggerRef, contentId } = inject(tooltipV2RootKey)!\n\nconst placement = ref(props.placement)\nconst strategy = ref(props.strategy)\nconst arrowRef = ref<HTMLElement | null>(null)\n\nconst { referenceRef, contentRef, middlewareData, x, y, update } = useFloating({\n placement,\n strategy,\n middleware: computed(() => {\n const middleware: Middleware[] = [offset(props.offset)]\n\n if (props.showArrow) {\n middleware.push(\n arrowMiddleware({\n arrowRef,\n })\n )\n }\n\n return middleware\n }),\n})\n\nconst zIndex = useZIndex().nextZIndex()\n\nconst ns = useNamespace('tooltip-v2')\n\nconst side = computed(() => {\n return placement.value.split('-')[0]\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n return {\n position: unref(strategy),\n top: `${unref(y) || 0}px`,\n left: `${unref(x) || 0}px`,\n zIndex,\n }\n})\n\nconst arrowStyle = computed<CSSProperties>(() => {\n if (!props.showArrow) return {}\n\n const { arrow } = unref(middlewareData)\n\n return {\n [`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow?.x}px` || '',\n [`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow?.y}px` || '',\n }\n})\n\nconst contentClass = computed(() => [\n ns.e('content'),\n ns.is('dark', props.effect === 'dark'),\n ns.is(unref(strategy)),\n props.contentClass,\n])\n\nwatch(arrowRef, () => update())\n\nwatch(\n () => props.placement,\n (val) => (placement.value = val)\n)\n\nonMounted(() => {\n watch(\n () => props.reference || triggerRef.value,\n (el) => {\n referenceRef.value = el || undefined\n },\n {\n immediate: true,\n }\n )\n})\n\nprovide(tooltipV2ContentKey, { arrowRef })\n</script>\n"],"names":["inject","tooltipV2RootKey","ref","useFloating","computed","offset","arrowMiddleware","useZIndex","useNamespace","unref","watch","onMounted","provide","tooltipV2ContentKey","_openBlock","_createElementBlock","_normalizeStyle","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sources":["../../../../../../packages/components/tooltip-v2/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { useAriaProps } from '@element-plus/hooks'\n\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Placement, Strategy, VirtualElement } from '@floating-ui/dom'\n\nconst tooltipV2Strategies = ['absolute', 'fixed'] as const\n\nconst tooltipV2Placements = [\n 'top-start',\n 'top-end',\n 'top',\n 'bottom-start',\n 'bottom-end',\n 'bottom',\n 'left-start',\n 'left-end',\n 'left',\n 'right-start',\n 'right-end',\n 'right',\n] as const\n\nexport const tooltipV2ContentProps = buildProps({\n arrowPadding: {\n type: definePropType<number>(Number),\n default: 5,\n },\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n contentClass: String,\n /**\n * Placement of tooltip content relative to reference element (when absent it refers to trigger)\n */\n placement: {\n type: definePropType<Placement>(String),\n values: tooltipV2Placements,\n default: 'bottom',\n },\n /**\n * Reference element for tooltip content to set its position\n */\n reference: {\n type: definePropType<HTMLElement | VirtualElement | null>(Object),\n default: null,\n },\n offset: {\n type: Number,\n default: 8,\n },\n strategy: {\n type: definePropType<Strategy>(String),\n values: tooltipV2Strategies,\n default: 'absolute',\n },\n showArrow: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type TooltipV2ContentProps = ExtractPropTypes<\n typeof tooltipV2ContentProps\n>\n"],"names":["buildProps","definePropType","useAriaProps"],"mappings":";;;;;;;AAEA,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,mBAAmB,GAAG;AAC5B,EAAE,WAAW;AACb,EAAE,SAAS;AACX,EAAE,KAAK;AACP,EAAE,cAAc;AAChB,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,OAAO;AACT,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAGA,kBAAU,CAAC;AAChD,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEC,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,YAAY,EAAE,MAAM;AACtB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,mBAAmB;AAC/B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,mBAAmB;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,GAAGC,kBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;;;;"}
@@ -2,55 +2,117 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var index = require('../../../hooks/use-aria/index.js');
5
+ var vue = require('vue');
6
+ var dom = require('@floating-ui/dom');
7
+ var visualHidden = require('../../visual-hidden/src/visual-hidden2.js');
8
+ var constants = require('./constants.js');
9
+ var content = require('./content.js');
10
+ var common = require('./common.js');
11
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
+ var index = require('../../../hooks/use-floating/index.js');
13
+ var index$1 = require('../../../hooks/use-z-index/index.js');
14
+ var index$2 = require('../../../hooks/use-namespace/index.js');
7
15
 
8
- const tooltipV2Strategies = ["absolute", "fixed"];
9
- const tooltipV2Placements = [
10
- "top-start",
11
- "top-end",
12
- "top",
13
- "bottom-start",
14
- "bottom-end",
15
- "bottom",
16
- "left-start",
17
- "left-end",
18
- "left",
19
- "right-start",
20
- "right-end",
21
- "right"
22
- ];
23
- const tooltipV2ContentProps = runtime.buildProps({
24
- arrowPadding: {
25
- type: runtime.definePropType(Number),
26
- default: 5
27
- },
28
- effect: {
29
- type: runtime.definePropType(String),
30
- default: "light"
31
- },
32
- contentClass: String,
33
- placement: {
34
- type: runtime.definePropType(String),
35
- values: tooltipV2Placements,
36
- default: "bottom"
37
- },
38
- reference: {
39
- type: runtime.definePropType(Object),
40
- default: null
41
- },
42
- offset: {
43
- type: Number,
44
- default: 8
45
- },
46
- strategy: {
47
- type: runtime.definePropType(String),
48
- values: tooltipV2Strategies,
49
- default: "absolute"
50
- },
51
- showArrow: Boolean,
52
- ...index.useAriaProps(["ariaLabel"])
16
+ const __default__ = vue.defineComponent({
17
+ name: "ElTooltipV2Content"
53
18
  });
19
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ ...__default__,
21
+ props: { ...content.tooltipV2ContentProps, ...common.tooltipV2CommonProps },
22
+ setup(__props) {
23
+ const props = __props;
24
+ const { triggerRef, contentId } = vue.inject(constants.tooltipV2RootKey);
25
+ const placement = vue.ref(props.placement);
26
+ const strategy = vue.ref(props.strategy);
27
+ const arrowRef = vue.ref(null);
28
+ const { referenceRef, contentRef, middlewareData, x, y, update } = index.useFloating({
29
+ placement,
30
+ strategy,
31
+ middleware: vue.computed(() => {
32
+ const middleware = [dom.offset(props.offset)];
33
+ if (props.showArrow) {
34
+ middleware.push(index.arrowMiddleware({
35
+ arrowRef
36
+ }));
37
+ }
38
+ return middleware;
39
+ })
40
+ });
41
+ const zIndex = index$1.useZIndex().nextZIndex();
42
+ const ns = index$2.useNamespace("tooltip-v2");
43
+ const side = vue.computed(() => {
44
+ return placement.value.split("-")[0];
45
+ });
46
+ const contentStyle = vue.computed(() => {
47
+ return {
48
+ position: vue.unref(strategy),
49
+ top: `${vue.unref(y) || 0}px`,
50
+ left: `${vue.unref(x) || 0}px`,
51
+ zIndex
52
+ };
53
+ });
54
+ const arrowStyle = vue.computed(() => {
55
+ if (!props.showArrow)
56
+ return {};
57
+ const { arrow } = vue.unref(middlewareData);
58
+ return {
59
+ [`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow == null ? void 0 : arrow.x}px` || "",
60
+ [`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow == null ? void 0 : arrow.y}px` || ""
61
+ };
62
+ });
63
+ const contentClass = vue.computed(() => [
64
+ ns.e("content"),
65
+ ns.is("dark", props.effect === "dark"),
66
+ ns.is(vue.unref(strategy)),
67
+ props.contentClass
68
+ ]);
69
+ vue.watch(arrowRef, () => update());
70
+ vue.watch(() => props.placement, (val) => placement.value = val);
71
+ vue.onMounted(() => {
72
+ vue.watch(() => props.reference || triggerRef.value, (el) => {
73
+ referenceRef.value = el || void 0;
74
+ }, {
75
+ immediate: true
76
+ });
77
+ });
78
+ vue.provide(constants.tooltipV2ContentKey, { arrowRef });
79
+ return (_ctx, _cache) => {
80
+ return vue.openBlock(), vue.createElementBlock("div", {
81
+ ref_key: "contentRef",
82
+ ref: contentRef,
83
+ style: vue.normalizeStyle(vue.unref(contentStyle)),
84
+ "data-tooltip-v2-root": ""
85
+ }, [
86
+ !_ctx.nowrap ? (vue.openBlock(), vue.createElementBlock("div", {
87
+ key: 0,
88
+ "data-side": vue.unref(side),
89
+ class: vue.normalizeClass(vue.unref(contentClass))
90
+ }, [
91
+ vue.renderSlot(_ctx.$slots, "default", {
92
+ contentStyle: vue.unref(contentStyle),
93
+ contentClass: vue.unref(contentClass)
94
+ }),
95
+ vue.createVNode(vue.unref(visualHidden["default"]), {
96
+ id: vue.unref(contentId),
97
+ role: "tooltip"
98
+ }, {
99
+ default: vue.withCtx(() => [
100
+ _ctx.ariaLabel ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
101
+ vue.createTextVNode(vue.toDisplayString(_ctx.ariaLabel), 1)
102
+ ], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
103
+ ]),
104
+ _: 3
105
+ }, 8, ["id"]),
106
+ vue.renderSlot(_ctx.$slots, "arrow", {
107
+ style: vue.normalizeStyle(vue.unref(arrowStyle)),
108
+ side: vue.unref(side)
109
+ })
110
+ ], 10, ["data-side"])) : vue.createCommentVNode("v-if", true)
111
+ ], 4);
112
+ };
113
+ }
114
+ });
115
+ var TooltipV2Content = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "content.vue"]]);
54
116
 
55
- exports.tooltipV2ContentProps = tooltipV2ContentProps;
117
+ exports["default"] = TooltipV2Content;
56
118
  //# sourceMappingURL=content2.js.map