@element-plus/nightly 0.0.20250205 → 0.0.20250207

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 (468) hide show
  1. package/dist/index.full.js +10 -3
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +7 -7
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +10 -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/lt.js +1 -1
  140. package/dist/locale/lt.min.js +1 -1
  141. package/dist/locale/lt.min.mjs +1 -1
  142. package/dist/locale/lt.mjs +1 -1
  143. package/dist/locale/lv.js +1 -1
  144. package/dist/locale/lv.min.js +1 -1
  145. package/dist/locale/lv.min.mjs +1 -1
  146. package/dist/locale/lv.mjs +1 -1
  147. package/dist/locale/mg.js +1 -1
  148. package/dist/locale/mg.min.js +1 -1
  149. package/dist/locale/mg.min.mjs +1 -1
  150. package/dist/locale/mg.mjs +1 -1
  151. package/dist/locale/mn.js +1 -1
  152. package/dist/locale/mn.min.js +1 -1
  153. package/dist/locale/mn.min.mjs +1 -1
  154. package/dist/locale/mn.mjs +1 -1
  155. package/dist/locale/ms.js +1 -1
  156. package/dist/locale/ms.min.js +1 -1
  157. package/dist/locale/ms.min.mjs +1 -1
  158. package/dist/locale/ms.mjs +1 -1
  159. package/dist/locale/my.js +1 -1
  160. package/dist/locale/my.min.js +1 -1
  161. package/dist/locale/my.min.mjs +1 -1
  162. package/dist/locale/my.mjs +1 -1
  163. package/dist/locale/nb-no.js +1 -1
  164. package/dist/locale/nb-no.min.js +1 -1
  165. package/dist/locale/nb-no.min.mjs +1 -1
  166. package/dist/locale/nb-no.mjs +1 -1
  167. package/dist/locale/nl.js +1 -1
  168. package/dist/locale/nl.min.js +1 -1
  169. package/dist/locale/nl.min.mjs +1 -1
  170. package/dist/locale/nl.mjs +1 -1
  171. package/dist/locale/no.js +1 -1
  172. package/dist/locale/no.min.js +1 -1
  173. package/dist/locale/no.min.mjs +1 -1
  174. package/dist/locale/no.mjs +1 -1
  175. package/dist/locale/pa.js +1 -1
  176. package/dist/locale/pa.min.js +1 -1
  177. package/dist/locale/pa.min.mjs +1 -1
  178. package/dist/locale/pa.mjs +1 -1
  179. package/dist/locale/pl.js +1 -1
  180. package/dist/locale/pl.min.js +1 -1
  181. package/dist/locale/pl.min.mjs +1 -1
  182. package/dist/locale/pl.mjs +1 -1
  183. package/dist/locale/pt-br.js +1 -1
  184. package/dist/locale/pt-br.min.js +1 -1
  185. package/dist/locale/pt-br.min.mjs +1 -1
  186. package/dist/locale/pt-br.mjs +1 -1
  187. package/dist/locale/pt.js +1 -1
  188. package/dist/locale/pt.min.js +1 -1
  189. package/dist/locale/pt.min.mjs +1 -1
  190. package/dist/locale/pt.mjs +1 -1
  191. package/dist/locale/ro.js +1 -1
  192. package/dist/locale/ro.min.js +1 -1
  193. package/dist/locale/ro.min.mjs +1 -1
  194. package/dist/locale/ro.mjs +1 -1
  195. package/dist/locale/ru.js +1 -1
  196. package/dist/locale/ru.min.js +1 -1
  197. package/dist/locale/ru.min.mjs +1 -1
  198. package/dist/locale/ru.mjs +1 -1
  199. package/dist/locale/sk.js +1 -1
  200. package/dist/locale/sk.min.js +1 -1
  201. package/dist/locale/sk.min.mjs +1 -1
  202. package/dist/locale/sk.mjs +1 -1
  203. package/dist/locale/sl.js +1 -1
  204. package/dist/locale/sl.min.js +1 -1
  205. package/dist/locale/sl.min.mjs +1 -1
  206. package/dist/locale/sl.mjs +1 -1
  207. package/dist/locale/sr.js +1 -1
  208. package/dist/locale/sr.min.js +1 -1
  209. package/dist/locale/sr.min.mjs +1 -1
  210. package/dist/locale/sr.mjs +1 -1
  211. package/dist/locale/sv.js +1 -1
  212. package/dist/locale/sv.min.js +1 -1
  213. package/dist/locale/sv.min.mjs +1 -1
  214. package/dist/locale/sv.mjs +1 -1
  215. package/dist/locale/sw.js +1 -1
  216. package/dist/locale/sw.min.js +1 -1
  217. package/dist/locale/sw.min.mjs +1 -1
  218. package/dist/locale/sw.mjs +1 -1
  219. package/dist/locale/ta.js +1 -1
  220. package/dist/locale/ta.min.js +1 -1
  221. package/dist/locale/ta.min.mjs +1 -1
  222. package/dist/locale/ta.mjs +1 -1
  223. package/dist/locale/te.js +1 -1
  224. package/dist/locale/te.min.js +1 -1
  225. package/dist/locale/te.min.mjs +1 -1
  226. package/dist/locale/te.mjs +1 -1
  227. package/dist/locale/th.js +1 -1
  228. package/dist/locale/th.min.js +1 -1
  229. package/dist/locale/th.min.mjs +1 -1
  230. package/dist/locale/th.mjs +1 -1
  231. package/dist/locale/tk.js +1 -1
  232. package/dist/locale/tk.min.js +1 -1
  233. package/dist/locale/tk.min.mjs +1 -1
  234. package/dist/locale/tk.mjs +1 -1
  235. package/dist/locale/tr.js +1 -1
  236. package/dist/locale/tr.min.js +1 -1
  237. package/dist/locale/tr.min.mjs +1 -1
  238. package/dist/locale/tr.mjs +1 -1
  239. package/dist/locale/ug-cn.js +1 -1
  240. package/dist/locale/ug-cn.min.js +1 -1
  241. package/dist/locale/ug-cn.min.mjs +1 -1
  242. package/dist/locale/ug-cn.mjs +1 -1
  243. package/dist/locale/uk.js +1 -1
  244. package/dist/locale/uk.min.js +1 -1
  245. package/dist/locale/uk.min.mjs +1 -1
  246. package/dist/locale/uk.mjs +1 -1
  247. package/dist/locale/uz-uz.js +1 -1
  248. package/dist/locale/uz-uz.min.js +1 -1
  249. package/dist/locale/uz-uz.min.mjs +1 -1
  250. package/dist/locale/uz-uz.mjs +1 -1
  251. package/dist/locale/vi.js +1 -1
  252. package/dist/locale/vi.min.js +1 -1
  253. package/dist/locale/vi.min.mjs +1 -1
  254. package/dist/locale/vi.mjs +1 -1
  255. package/dist/locale/zh-cn.js +1 -1
  256. package/dist/locale/zh-cn.min.js +1 -1
  257. package/dist/locale/zh-cn.min.mjs +1 -1
  258. package/dist/locale/zh-cn.mjs +1 -1
  259. package/dist/locale/zh-hk.js +1 -1
  260. package/dist/locale/zh-hk.min.js +1 -1
  261. package/dist/locale/zh-hk.min.mjs +1 -1
  262. package/dist/locale/zh-hk.mjs +1 -1
  263. package/dist/locale/zh-mo.js +1 -1
  264. package/dist/locale/zh-mo.min.js +1 -1
  265. package/dist/locale/zh-mo.min.mjs +1 -1
  266. package/dist/locale/zh-mo.mjs +1 -1
  267. package/dist/locale/zh-tw.js +1 -1
  268. package/dist/locale/zh-tw.min.js +1 -1
  269. package/dist/locale/zh-tw.min.mjs +1 -1
  270. package/dist/locale/zh-tw.mjs +1 -1
  271. package/es/components/autocomplete/index.mjs +2 -2
  272. package/es/components/autocomplete/src/autocomplete.mjs +79 -367
  273. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  274. package/es/components/autocomplete/src/autocomplete2.mjs +367 -79
  275. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  276. package/es/components/carousel/index.mjs +2 -2
  277. package/es/components/carousel/src/carousel-item.mjs +7 -69
  278. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  279. package/es/components/carousel/src/carousel-item2.mjs +69 -7
  280. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  281. package/es/components/cascader-panel/src/node.vue.d.ts +2 -1
  282. package/es/components/cascader-panel/src/node2.mjs +1 -1
  283. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  284. package/es/components/index.mjs +13 -13
  285. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  286. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  287. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  288. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  289. package/es/components/mention/src/mention2.mjs +1 -1
  290. package/es/components/notification/index.mjs +1 -1
  291. package/es/components/notification/src/notification.mjs +68 -142
  292. package/es/components/notification/src/notification.mjs.map +1 -1
  293. package/es/components/notification/src/notification2.mjs +142 -68
  294. package/es/components/notification/src/notification2.mjs.map +1 -1
  295. package/es/components/notification/src/notify.mjs +2 -2
  296. package/es/components/pagination/src/components/total.mjs +6 -26
  297. package/es/components/pagination/src/components/total.mjs.map +1 -1
  298. package/es/components/pagination/src/components/total2.mjs +26 -6
  299. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  300. package/es/components/pagination/src/pagination.mjs +1 -1
  301. package/es/components/popper/index.mjs +2 -2
  302. package/es/components/popper/src/arrow.mjs +7 -36
  303. package/es/components/popper/src/arrow.mjs.map +1 -1
  304. package/es/components/popper/src/arrow2.mjs +36 -7
  305. package/es/components/popper/src/arrow2.mjs.map +1 -1
  306. package/es/components/radio/index.mjs +4 -4
  307. package/es/components/radio/src/radio-button.mjs +1 -1
  308. package/es/components/radio/src/radio-group.mjs +34 -65
  309. package/es/components/radio/src/radio-group.mjs.map +1 -1
  310. package/es/components/radio/src/radio-group2.mjs +65 -34
  311. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  312. package/es/components/radio/src/radio.mjs +32 -73
  313. package/es/components/radio/src/radio.mjs.map +1 -1
  314. package/es/components/radio/src/radio2.mjs +73 -32
  315. package/es/components/radio/src/radio2.mjs.map +1 -1
  316. package/es/components/scrollbar/index.mjs +2 -2
  317. package/es/components/scrollbar/src/scrollbar.mjs +55 -170
  318. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  319. package/es/components/scrollbar/src/scrollbar2.mjs +170 -55
  320. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  321. package/es/components/slider/index.mjs +2 -2
  322. package/es/components/slider/src/slider.mjs +88 -238
  323. package/es/components/slider/src/slider.mjs.map +1 -1
  324. package/es/components/slider/src/slider2.mjs +238 -88
  325. package/es/components/slider/src/slider2.mjs.map +1 -1
  326. package/es/components/statistic/index.mjs +2 -2
  327. package/es/components/statistic/src/statistic.mjs +69 -25
  328. package/es/components/statistic/src/statistic.mjs.map +1 -1
  329. package/es/components/statistic/src/statistic2.mjs +25 -69
  330. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  331. package/es/components/switch/index.mjs +2 -2
  332. package/es/components/switch/src/switch.mjs +72 -228
  333. package/es/components/switch/src/switch.mjs.map +1 -1
  334. package/es/components/switch/src/switch2.mjs +228 -72
  335. package/es/components/switch/src/switch2.mjs.map +1 -1
  336. package/es/components/table-v2/src/table-grid.mjs +8 -1
  337. package/es/components/table-v2/src/table-grid.mjs.map +1 -1
  338. package/es/components/text/index.mjs +2 -2
  339. package/es/components/text/src/text.mjs +67 -21
  340. package/es/components/text/src/text.mjs.map +1 -1
  341. package/es/components/text/src/text2.mjs +21 -67
  342. package/es/components/text/src/text2.mjs.map +1 -1
  343. package/es/components/tooltip/src/tooltip.mjs +1 -1
  344. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  345. package/es/components/tooltip-v2/index.mjs +1 -1
  346. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  347. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  348. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  349. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  350. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  351. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  352. package/es/components/tour/index.mjs +1 -1
  353. package/es/components/tour/src/content.mjs +43 -67
  354. package/es/components/tour/src/content.mjs.map +1 -1
  355. package/es/components/tour/src/content2.mjs +67 -43
  356. package/es/components/tour/src/content2.mjs.map +1 -1
  357. package/es/components/tour/src/step.mjs +1 -1
  358. package/es/components/tour/src/tour.mjs +1 -1
  359. package/es/components/tour/src/tour2.mjs +1 -1
  360. package/es/index.mjs +13 -13
  361. package/es/locale/index.d.ts +8 -0
  362. package/es/locale/index.mjs +8 -0
  363. package/es/locale/index.mjs.map +1 -1
  364. package/es/locales.mjs +8 -0
  365. package/es/locales.mjs.map +1 -1
  366. package/es/version.d.ts +1 -1
  367. package/es/version.mjs +1 -1
  368. package/es/version.mjs.map +1 -1
  369. package/lib/components/autocomplete/index.js +2 -2
  370. package/lib/components/autocomplete/src/autocomplete.js +79 -366
  371. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  372. package/lib/components/autocomplete/src/autocomplete2.js +366 -79
  373. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  374. package/lib/components/carousel/index.js +2 -2
  375. package/lib/components/carousel/src/carousel-item.js +7 -69
  376. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  377. package/lib/components/carousel/src/carousel-item2.js +69 -7
  378. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  379. package/lib/components/cascader-panel/src/node.vue.d.ts +2 -1
  380. package/lib/components/cascader-panel/src/node2.js +1 -1
  381. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  382. package/lib/components/index.js +13 -13
  383. package/lib/components/mention/src/mention-dropdown.js +166 -16
  384. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  385. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  386. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  387. package/lib/components/mention/src/mention2.js +1 -1
  388. package/lib/components/notification/index.js +1 -1
  389. package/lib/components/notification/src/notification.js +69 -141
  390. package/lib/components/notification/src/notification.js.map +1 -1
  391. package/lib/components/notification/src/notification2.js +141 -69
  392. package/lib/components/notification/src/notification2.js.map +1 -1
  393. package/lib/components/notification/src/notify.js +2 -2
  394. package/lib/components/pagination/src/components/total.js +6 -26
  395. package/lib/components/pagination/src/components/total.js.map +1 -1
  396. package/lib/components/pagination/src/components/total2.js +26 -6
  397. package/lib/components/pagination/src/components/total2.js.map +1 -1
  398. package/lib/components/pagination/src/pagination.js +1 -1
  399. package/lib/components/popper/index.js +2 -2
  400. package/lib/components/popper/src/arrow.js +8 -36
  401. package/lib/components/popper/src/arrow.js.map +1 -1
  402. package/lib/components/popper/src/arrow2.js +36 -8
  403. package/lib/components/popper/src/arrow2.js.map +1 -1
  404. package/lib/components/radio/index.js +4 -4
  405. package/lib/components/radio/src/radio-button.js +1 -1
  406. package/lib/components/radio/src/radio-group.js +35 -65
  407. package/lib/components/radio/src/radio-group.js.map +1 -1
  408. package/lib/components/radio/src/radio-group2.js +65 -35
  409. package/lib/components/radio/src/radio-group2.js.map +1 -1
  410. package/lib/components/radio/src/radio.js +34 -73
  411. package/lib/components/radio/src/radio.js.map +1 -1
  412. package/lib/components/radio/src/radio2.js +73 -34
  413. package/lib/components/radio/src/radio2.js.map +1 -1
  414. package/lib/components/scrollbar/index.js +2 -2
  415. package/lib/components/scrollbar/src/scrollbar.js +56 -170
  416. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  417. package/lib/components/scrollbar/src/scrollbar2.js +170 -56
  418. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  419. package/lib/components/slider/index.js +2 -2
  420. package/lib/components/slider/src/slider.js +89 -238
  421. package/lib/components/slider/src/slider.js.map +1 -1
  422. package/lib/components/slider/src/slider2.js +238 -89
  423. package/lib/components/slider/src/slider2.js.map +1 -1
  424. package/lib/components/statistic/index.js +2 -2
  425. package/lib/components/statistic/src/statistic.js +69 -25
  426. package/lib/components/statistic/src/statistic.js.map +1 -1
  427. package/lib/components/statistic/src/statistic2.js +25 -69
  428. package/lib/components/statistic/src/statistic2.js.map +1 -1
  429. package/lib/components/switch/index.js +2 -2
  430. package/lib/components/switch/src/switch.js +72 -227
  431. package/lib/components/switch/src/switch.js.map +1 -1
  432. package/lib/components/switch/src/switch2.js +227 -72
  433. package/lib/components/switch/src/switch2.js.map +1 -1
  434. package/lib/components/table-v2/src/table-grid.js +7 -0
  435. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  436. package/lib/components/text/index.js +2 -2
  437. package/lib/components/text/src/text.js +67 -21
  438. package/lib/components/text/src/text.js.map +1 -1
  439. package/lib/components/text/src/text2.js +21 -67
  440. package/lib/components/text/src/text2.js.map +1 -1
  441. package/lib/components/tooltip/src/tooltip.js +1 -1
  442. package/lib/components/tooltip/src/tooltip2.js +1 -1
  443. package/lib/components/tooltip-v2/index.js +1 -1
  444. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  445. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  446. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  447. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  448. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  449. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  450. package/lib/components/tour/index.js +1 -1
  451. package/lib/components/tour/src/content.js +46 -67
  452. package/lib/components/tour/src/content.js.map +1 -1
  453. package/lib/components/tour/src/content2.js +67 -46
  454. package/lib/components/tour/src/content2.js.map +1 -1
  455. package/lib/components/tour/src/step.js +1 -1
  456. package/lib/components/tour/src/tour.js +1 -1
  457. package/lib/components/tour/src/tour2.js +1 -1
  458. package/lib/index.js +13 -13
  459. package/lib/locale/index.d.ts +8 -0
  460. package/lib/locale/index.js +16 -0
  461. package/lib/locale/index.js.map +1 -1
  462. package/lib/locales.js +16 -0
  463. package/lib/locales.js.map +1 -1
  464. package/lib/version.d.ts +1 -1
  465. package/lib/version.js +1 -1
  466. package/lib/version.js.map +1 -1
  467. package/package.json +2 -2
  468. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n isString,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useAriaProps } from '@element-plus/hooks'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type Switch from './switch.vue'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\nexport const switchProps = buildProps({\n /**\n * @description binding value, it should be equivalent to either `active-value` or `inactive-value`, by default it's `boolean` type\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description whether Switch is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Switch is in loading state\n */\n loading: Boolean,\n /**\n * @description size of Switch\n */\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n /**\n * @description width of Switch\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether icon or text is displayed inside dot, only the first character will be rendered for text\n */\n inlinePrompt: Boolean,\n /**\n * @description component of the icon displayed in action when in `off` state\n */\n inactiveActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed in action when in `on` state\n */\n activeActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `on` state, overrides `active-text`\n */\n activeIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `off` state, overrides `inactive-text`\n */\n inactiveIcon: {\n type: iconPropType,\n },\n /**\n * @description text displayed when in `on` state\n */\n activeText: {\n type: String,\n default: '',\n },\n /**\n * @description text displayed when in `off` state\n */\n inactiveText: {\n type: String,\n default: '',\n },\n /**\n * @description switch value when in `on` state\n */\n activeValue: {\n type: [Boolean, String, Number],\n default: true,\n },\n /**\n * @description switch value when in `off` state\n */\n inactiveValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description input name of Switch\n */\n name: {\n type: String,\n default: '',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description before-change hook before the switch state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop switching\n */\n beforeChange: {\n type: definePropType<() => Promise<boolean> | boolean>(Function),\n },\n /**\n * @description id for input\n */\n id: String,\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type SwitchProps = ExtractPropTypes<typeof switchProps>\n\nexport const switchEmits = {\n [UPDATE_MODEL_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [CHANGE_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [INPUT_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n}\nexport type SwitchEmits = typeof switchEmits\n\nexport type SwitchInstance = InstanceType<typeof Switch>\n"],"names":[],"mappings":";;;;;;;;AAeY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AACjF,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC3E,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC1E;;;;"}
1
+ {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :aria-label=\"ariaLabel\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"labelLeftKls\"\n >\n <el-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span ref=\"core\" :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n <slot v-else-if=\"checked\" name=\"active-action\">\n <el-icon v-if=\"activeActionIcon\">\n <component :is=\"activeActionIcon\" />\n </el-icon>\n </slot>\n <slot v-else-if=\"!checked\" name=\"inactive-action\">\n <el-icon v-if=\"inactiveActionIcon\">\n <component :is=\"inactiveActionIcon\" />\n </el-icon>\n </slot>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"labelRightKls\"\n >\n <el-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport {\n addUnit,\n debugWarn,\n isBoolean,\n isPromise,\n throwError,\n} from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(computed(() => props.loading))\nconst isControlled = ref(props.modelValue !== false)\nconst input = ref<HTMLInputElement>()\nconst core = ref<HTMLSpanElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst labelLeftKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked.value),\n])\n\nconst labelRightKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : false\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_createElementVNode"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, provide, unref, createVNode, ref, computed } from 'vue';
1
+ import { defineComponent, inject, provide, unref, createVNode, ref, computed, watch } from 'vue';
2
2
  import { TableV2InjectionKey } from './tokens.mjs';
3
3
  import { tableV2GridProps } from './grid.mjs';
4
4
  import { sum } from './utils.mjs';
@@ -94,6 +94,13 @@ const useTableGrid = (props) => {
94
94
  (_a = unref(bodyRef)) == null ? void 0 : _a.$forceUpdate();
95
95
  (_b = unref(headerRef)) == null ? void 0 : _b.$forceUpdate();
96
96
  }
97
+ watch(() => props.bodyWidth, () => {
98
+ var _a;
99
+ if (isNumber(props.estimatedRowHeight))
100
+ (_a = bodyRef.value) == null ? void 0 : _a.resetAfter({
101
+ columnIndex: 0
102
+ }, false);
103
+ });
97
104
  return {
98
105
  bodyRef,
99
106
  forceUpdate,
@@ -1 +1 @@
1
- {"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, provide, ref, unref } 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 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","data","rowHeight","estimatedRowHeight","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","TableGrid","name","expose","ns","inject","TableV2InjectionKey","onItemRendered","resetAfterRowIndex","scrollTo","scrollToRow","provide","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","Grid","_headerHeight","e","class"],"mappings":"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"}
1
+ {"version":3,"file":"table-grid.mjs","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","data","rowHeight","estimatedRowHeight","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","$forceUpdate","watch","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","scrollToRow","provide","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","DynamicSizeGrid","_headerHeight","class"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import Text from './src/text2.mjs';
2
- export { textProps } from './src/text.mjs';
1
+ import Text from './src/text.mjs';
2
+ export { textProps } from './src/text2.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElText = withInstall(Text);
@@ -1,26 +1,72 @@
1
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
2
- import { componentSizes } from '../../../constants/size.mjs';
1
+ import { defineComponent, ref, computed, useAttrs, onMounted, onUpdated, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, normalizeStyle, withCtx, renderSlot } from 'vue';
2
+ import { textProps } from './text2.mjs';
3
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
+ import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
5
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
6
+ import { isUndefined } from '../../../utils/types.mjs';
3
7
 
4
- const textProps = buildProps({
5
- type: {
6
- type: String,
7
- values: ["primary", "success", "info", "warning", "danger", ""],
8
- default: ""
9
- },
10
- size: {
11
- type: String,
12
- values: componentSizes,
13
- default: ""
14
- },
15
- truncated: Boolean,
16
- lineClamp: {
17
- type: [String, Number]
18
- },
19
- tag: {
20
- type: String,
21
- default: "span"
8
+ const __default__ = defineComponent({
9
+ name: "ElText"
10
+ });
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ ...__default__,
13
+ props: textProps,
14
+ setup(__props) {
15
+ const props = __props;
16
+ const textRef = ref();
17
+ const textSize = useFormSize();
18
+ const ns = useNamespace("text");
19
+ const textKls = computed(() => [
20
+ ns.b(),
21
+ ns.m(props.type),
22
+ ns.m(textSize.value),
23
+ ns.is("truncated", props.truncated),
24
+ ns.is("line-clamp", !isUndefined(props.lineClamp))
25
+ ]);
26
+ const inheritTitle = useAttrs().title;
27
+ const bindTitle = () => {
28
+ var _a, _b, _c, _d, _e;
29
+ if (inheritTitle)
30
+ return;
31
+ let shouldAddTitle = false;
32
+ const text = ((_a = textRef.value) == null ? void 0 : _a.textContent) || "";
33
+ if (props.truncated) {
34
+ const width = (_b = textRef.value) == null ? void 0 : _b.offsetWidth;
35
+ const scrollWidth = (_c = textRef.value) == null ? void 0 : _c.scrollWidth;
36
+ if (width && scrollWidth && scrollWidth > width) {
37
+ shouldAddTitle = true;
38
+ }
39
+ } else if (!isUndefined(props.lineClamp)) {
40
+ const height = (_d = textRef.value) == null ? void 0 : _d.offsetHeight;
41
+ const scrollHeight = (_e = textRef.value) == null ? void 0 : _e.scrollHeight;
42
+ if (height && scrollHeight && scrollHeight > height) {
43
+ shouldAddTitle = true;
44
+ }
45
+ }
46
+ if (shouldAddTitle) {
47
+ textRef.value.setAttribute("title", text);
48
+ } else {
49
+ textRef.value.removeAttribute("title");
50
+ }
51
+ };
52
+ onMounted(bindTitle);
53
+ onUpdated(bindTitle);
54
+ return (_ctx, _cache) => {
55
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
56
+ ref_key: "textRef",
57
+ ref: textRef,
58
+ class: normalizeClass(unref(textKls)),
59
+ style: normalizeStyle({ "-webkit-line-clamp": _ctx.lineClamp })
60
+ }, {
61
+ default: withCtx(() => [
62
+ renderSlot(_ctx.$slots, "default")
63
+ ]),
64
+ _: 3
65
+ }, 8, ["class", "style"]);
66
+ };
22
67
  }
23
68
  });
69
+ var Text = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "text.vue"]]);
24
70
 
25
- export { textProps };
71
+ export { Text as default };
26
72
  //# sourceMappingURL=text.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.mjs","sources":["../../../../../../packages/components/text/src/text.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const textProps = buildProps({\n /**\n * @description text type\n */\n type: {\n type: String,\n values: ['primary', 'success', 'info', 'warning', 'danger', ''],\n default: '',\n },\n /**\n * @description text size\n */\n size: {\n type: String,\n values: componentSizes,\n default: '',\n },\n /**\n * @description render ellipsis\n */\n truncated: Boolean,\n /**\n * @description maximum lines\n */\n lineClamp: {\n type: [String, Number],\n },\n /**\n * @description custom element tag\n */\n tag: {\n type: String,\n default: 'span',\n },\n} as const)\n\nexport type TextProps = ExtractPropTypes<typeof textProps>\n"],"names":[],"mappings":";;;AAEY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AACnE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"text.mjs","sources":["../../../../../../packages/components/text/src/text.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n ref=\"textRef\"\n :class=\"textKls\"\n :style=\"{ '-webkit-line-clamp': lineClamp }\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, onUpdated, ref, useAttrs } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport { isUndefined } from '@element-plus/utils'\nimport { textProps } from './text'\n\ndefineOptions({\n name: 'ElText',\n})\n\nconst props = defineProps(textProps)\nconst textRef = ref<HTMLElement>()\n\nconst textSize = useFormSize()\nconst ns = useNamespace('text')\n\nconst textKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.m(textSize.value),\n ns.is('truncated', props.truncated),\n ns.is('line-clamp', !isUndefined(props.lineClamp)),\n])\n\nconst inheritTitle = useAttrs().title\n\nconst bindTitle = () => {\n if (inheritTitle) return\n let shouldAddTitle = false\n const text = textRef.value?.textContent || ''\n if (props.truncated) {\n const width = textRef.value?.offsetWidth\n const scrollWidth = textRef.value?.scrollWidth\n if (width && scrollWidth && scrollWidth > width) {\n shouldAddTitle = true\n }\n } else if (!isUndefined(props.lineClamp)) {\n const height = textRef.value?.offsetHeight\n const scrollHeight = textRef.value?.scrollHeight\n if (height && scrollHeight && scrollHeight > height) {\n shouldAddTitle = true\n }\n }\n if (shouldAddTitle) {\n textRef.value!.setAttribute('title', text)\n } else {\n textRef.value!.removeAttribute('title')\n }\n}\n\nonMounted(bindTitle)\nonUpdated(bindTitle)\n</script>\n"],"names":[],"mappings":";;;;;;;mCAkBc,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAGA,IAAA,MAAM,UAAU,GAAiB,EAAA,CAAA;AAEjC,IAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAAA,MAC7B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACf,EAAA,CAAG,CAAE,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MACnB,EAAG,CAAA,EAAA,CAAG,WAAa,EAAA,KAAA,CAAM,SAAS,CAAA;AAAA,MAClC,GAAG,EAAG,CAAA,YAAA,EAAc,CAAC,WAAY,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,UAAW,CAAA,KAAA,CAAA;AAEhC,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,EAAc,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAClB,MAAA,IAAI,YAAiB;AACrB,QAAM,OAAA;AACN,MAAA,IAAI,cAAiB,GAAA,KAAA,CAAA;AACnB,MAAM,MAAA,IAAA,GAAA,CAAA,CAAA,YAAuB,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAA,EAAA,CAAA;AAC7B,MAAM,IAAA,KAAA,CAAA,SAAA,EAAA;AACN,QAAI,MAAA,KAAA,GAAwB,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAc,GAAO,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAC/C,QAAiB,MAAA,WAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAAA,QACnB,IAAA,KAAA,IAAA,WAAA,IAAA,WAAA,GAAA,KAAA,EAAA;AAAA,UACS,cAAa,GAAA,IAAA,CAAA;AACtB,SAAM;AACN,OAAM,MAAA,IAAA,CAAA,WAAe,gBAAe,CAAA,EAAA;AACpC,QAAI,MAAA,MAAA,GAA0B,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAuB,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AACnD,QAAiB,MAAA,YAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AAAA,QACnB,IAAA,MAAA,IAAA,YAAA,IAAA,YAAA,GAAA,MAAA,EAAA;AAAA,UACF,cAAA,GAAA,IAAA,CAAA;AACA,SAAA;AACE,OAAQ;AAAiC,MAC3C,IAAO,cAAA,EAAA;AACL,QAAQ,OAAA,CAAA,KAAA,CAAO,oBAAuB,EAAA,IAAA,CAAA,CAAA;AAAA,OACxC,MAAA;AAAA,QACF,OAAA,CAAA,KAAA,CAAA,eAAA,CAAA,OAAA,CAAA,CAAA;AAEA,OAAA;AACA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,72 +1,26 @@
1
- import { defineComponent, ref, computed, useAttrs, onMounted, onUpdated, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, normalizeStyle, withCtx, renderSlot } from 'vue';
2
- import { textProps } from './text.mjs';
3
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
- import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
5
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
6
- import { isUndefined } from '../../../utils/types.mjs';
1
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
2
+ import { componentSizes } from '../../../constants/size.mjs';
7
3
 
8
- const __default__ = defineComponent({
9
- name: "ElText"
10
- });
11
- const _sfc_main = /* @__PURE__ */ defineComponent({
12
- ...__default__,
13
- props: textProps,
14
- setup(__props) {
15
- const props = __props;
16
- const textRef = ref();
17
- const textSize = useFormSize();
18
- const ns = useNamespace("text");
19
- const textKls = computed(() => [
20
- ns.b(),
21
- ns.m(props.type),
22
- ns.m(textSize.value),
23
- ns.is("truncated", props.truncated),
24
- ns.is("line-clamp", !isUndefined(props.lineClamp))
25
- ]);
26
- const inheritTitle = useAttrs().title;
27
- const bindTitle = () => {
28
- var _a, _b, _c, _d, _e;
29
- if (inheritTitle)
30
- return;
31
- let shouldAddTitle = false;
32
- const text = ((_a = textRef.value) == null ? void 0 : _a.textContent) || "";
33
- if (props.truncated) {
34
- const width = (_b = textRef.value) == null ? void 0 : _b.offsetWidth;
35
- const scrollWidth = (_c = textRef.value) == null ? void 0 : _c.scrollWidth;
36
- if (width && scrollWidth && scrollWidth > width) {
37
- shouldAddTitle = true;
38
- }
39
- } else if (!isUndefined(props.lineClamp)) {
40
- const height = (_d = textRef.value) == null ? void 0 : _d.offsetHeight;
41
- const scrollHeight = (_e = textRef.value) == null ? void 0 : _e.scrollHeight;
42
- if (height && scrollHeight && scrollHeight > height) {
43
- shouldAddTitle = true;
44
- }
45
- }
46
- if (shouldAddTitle) {
47
- textRef.value.setAttribute("title", text);
48
- } else {
49
- textRef.value.removeAttribute("title");
50
- }
51
- };
52
- onMounted(bindTitle);
53
- onUpdated(bindTitle);
54
- return (_ctx, _cache) => {
55
- return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
56
- ref_key: "textRef",
57
- ref: textRef,
58
- class: normalizeClass(unref(textKls)),
59
- style: normalizeStyle({ "-webkit-line-clamp": _ctx.lineClamp })
60
- }, {
61
- default: withCtx(() => [
62
- renderSlot(_ctx.$slots, "default")
63
- ]),
64
- _: 3
65
- }, 8, ["class", "style"]);
66
- };
4
+ const textProps = buildProps({
5
+ type: {
6
+ type: String,
7
+ values: ["primary", "success", "info", "warning", "danger", ""],
8
+ default: ""
9
+ },
10
+ size: {
11
+ type: String,
12
+ values: componentSizes,
13
+ default: ""
14
+ },
15
+ truncated: Boolean,
16
+ lineClamp: {
17
+ type: [String, Number]
18
+ },
19
+ tag: {
20
+ type: String,
21
+ default: "span"
67
22
  }
68
23
  });
69
- var Text = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "text.vue"]]);
70
24
 
71
- export { Text as default };
25
+ export { textProps };
72
26
  //# sourceMappingURL=text2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"text2.mjs","sources":["../../../../../../packages/components/text/src/text.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n ref=\"textRef\"\n :class=\"textKls\"\n :style=\"{ '-webkit-line-clamp': lineClamp }\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, onUpdated, ref, useAttrs } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport { isUndefined } from '@element-plus/utils'\nimport { textProps } from './text'\n\ndefineOptions({\n name: 'ElText',\n})\n\nconst props = defineProps(textProps)\nconst textRef = ref<HTMLElement>()\n\nconst textSize = useFormSize()\nconst ns = useNamespace('text')\n\nconst textKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.m(textSize.value),\n ns.is('truncated', props.truncated),\n ns.is('line-clamp', !isUndefined(props.lineClamp)),\n])\n\nconst inheritTitle = useAttrs().title\n\nconst bindTitle = () => {\n if (inheritTitle) return\n let shouldAddTitle = false\n const text = textRef.value?.textContent || ''\n if (props.truncated) {\n const width = textRef.value?.offsetWidth\n const scrollWidth = textRef.value?.scrollWidth\n if (width && scrollWidth && scrollWidth > width) {\n shouldAddTitle = true\n }\n } else if (!isUndefined(props.lineClamp)) {\n const height = textRef.value?.offsetHeight\n const scrollHeight = textRef.value?.scrollHeight\n if (height && scrollHeight && scrollHeight > height) {\n shouldAddTitle = true\n }\n }\n if (shouldAddTitle) {\n textRef.value!.setAttribute('title', text)\n } else {\n textRef.value!.removeAttribute('title')\n }\n}\n\nonMounted(bindTitle)\nonUpdated(bindTitle)\n</script>\n"],"names":[],"mappings":";;;;;;;mCAkBc,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAGA,IAAA,MAAM,UAAU,GAAiB,EAAA,CAAA;AAEjC,IAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAAA,MAC7B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACf,EAAA,CAAG,CAAE,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MACnB,EAAG,CAAA,EAAA,CAAG,WAAa,EAAA,KAAA,CAAM,SAAS,CAAA;AAAA,MAClC,GAAG,EAAG,CAAA,YAAA,EAAc,CAAC,WAAY,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,UAAW,CAAA,KAAA,CAAA;AAEhC,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,EAAc,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAClB,MAAA,IAAI,YAAiB;AACrB,QAAM,OAAA;AACN,MAAA,IAAI,cAAiB,GAAA,KAAA,CAAA;AACnB,MAAM,MAAA,IAAA,GAAA,CAAA,CAAA,YAAuB,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAA,EAAA,CAAA;AAC7B,MAAM,IAAA,KAAA,CAAA,SAAA,EAAA;AACN,QAAI,MAAA,KAAA,GAAwB,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAc,GAAO,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAC/C,QAAiB,MAAA,WAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAAA,QACnB,IAAA,KAAA,IAAA,WAAA,IAAA,WAAA,GAAA,KAAA,EAAA;AAAA,UACS,cAAa,GAAA,IAAA,CAAA;AACtB,SAAM;AACN,OAAM,MAAA,IAAA,CAAA,WAAe,gBAAe,CAAA,EAAA;AACpC,QAAI,MAAA,MAAA,GAA0B,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAuB,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AACnD,QAAiB,MAAA,YAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA;AAAA,QACnB,IAAA,MAAA,IAAA,YAAA,IAAA,YAAA,GAAA,MAAA,EAAA;AAAA,UACF,cAAA,GAAA,IAAA,CAAA;AACA,SAAA;AACE,OAAQ;AAAiC,MAC3C,IAAO,cAAA,EAAA;AACL,QAAQ,OAAA,CAAA,KAAA,CAAO,oBAAuB,EAAA,IAAA,CAAA,CAAA;AAAA,OACxC,MAAA;AAAA,QACF,OAAA,CAAA,KAAA,CAAA,eAAA,CAAA,OAAA,CAAA,CAAA;AAEA,OAAA;AACA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"text2.mjs","sources":["../../../../../../packages/components/text/src/text.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const textProps = buildProps({\n /**\n * @description text type\n */\n type: {\n type: String,\n values: ['primary', 'success', 'info', 'warning', 'danger', ''],\n default: '',\n },\n /**\n * @description text size\n */\n size: {\n type: String,\n values: componentSizes,\n default: '',\n },\n /**\n * @description render ellipsis\n */\n truncated: Boolean,\n /**\n * @description maximum lines\n */\n lineClamp: {\n type: [String, Number],\n },\n /**\n * @description custom element tag\n */\n tag: {\n type: String,\n default: 'span',\n },\n} as const)\n\nexport type TextProps = ExtractPropTypes<typeof textProps>\n"],"names":[],"mappings":";;;AAEY,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AACnE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { useTooltipContentProps } from './content.mjs';
2
2
  import { useTooltipTriggerProps } from './trigger.mjs';
3
3
  import { popperProps } from '../../popper/src/popper.mjs';
4
- import { popperArrowProps } from '../../popper/src/arrow2.mjs';
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';
7
7
 
@@ -7,7 +7,7 @@ import ElTooltipContent from './content2.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 { useDelayedToggle } from '../../../hooks/use-delayed-toggle/index.mjs';
10
- import ElPopperArrow from '../../popper/src/arrow.mjs';
10
+ import ElPopperArrow from '../../popper/src/arrow2.mjs';
11
11
  import { useId } from '../../../hooks/use-id/index.mjs';
12
12
  import { isBoolean } from '../../../utils/types.mjs';
13
13
 
@@ -3,7 +3,7 @@ export { tooltipV2ArrowProps, tooltipV2ArrowSpecialProps } from './src/arrow.mjs
3
3
  export { tooltipV2ContentProps } from './src/content.mjs';
4
4
  export { tooltipV2RootProps } from './src/root.mjs';
5
5
  export { tooltipV2Props } from './src/tooltip.mjs';
6
- export { tooltipV2TriggerProps } from './src/trigger2.mjs';
6
+ export { tooltipV2TriggerProps } from './src/trigger.mjs';
7
7
  export { TOOLTIP_V2_OPEN, tooltipV2ContentKey, tooltipV2RootKey } from './src/constants.mjs';
8
8
  import { withInstall } from '../../utils/vue/install.mjs';
9
9
 
@@ -1,5 +1,5 @@
1
1
  import { tooltipV2RootProps } from './root.mjs';
2
- import { tooltipV2TriggerProps } from './trigger2.mjs';
2
+ import { tooltipV2TriggerProps } from './trigger.mjs';
3
3
  import { tooltipV2ArrowProps } from './arrow.mjs';
4
4
  import { tooltipV2ContentProps } from './content.mjs';
5
5
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
@@ -5,11 +5,11 @@ import { tooltipV2ArrowProps } from './arrow.mjs';
5
5
  import { tooltipV2ContentProps } from './content.mjs';
6
6
  import { tooltipV2RootProps } from './root.mjs';
7
7
  import { tooltipV2Props } from './tooltip.mjs';
8
- import { tooltipV2TriggerProps } from './trigger2.mjs';
8
+ import { tooltipV2TriggerProps } from './trigger.mjs';
9
9
  import TooltipV2Root from './root2.mjs';
10
10
  import TooltipV2Arrow from './arrow2.mjs';
11
11
  import TooltipV2Content from './content2.mjs';
12
- import TooltipV2Trigger from './trigger.mjs';
12
+ import TooltipV2Trigger from './trigger2.mjs';
13
13
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
14
14
 
15
15
  const __default__ = defineComponent({
@@ -1,93 +1,16 @@
1
- import { defineComponent, inject, watch, onBeforeUnmount, openBlock, createBlock, unref, withCtx, renderSlot, createElementBlock, mergeProps } from 'vue';
2
- import { tooltipV2RootKey } from './constants.mjs';
3
- import ForwardRef from './forward-ref.mjs';
4
- import { tooltipV2TriggerProps } from './trigger2.mjs';
5
- import { tooltipV2CommonProps } from './common.mjs';
6
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
- import { composeEventHandlers } from '../../../utils/dom/event.mjs';
1
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
8
2
 
9
- const __default__ = defineComponent({
10
- name: "ElTooltipV2Trigger"
3
+ const EventHandler = {
4
+ type: definePropType(Function)
5
+ };
6
+ const tooltipV2TriggerProps = buildProps({
7
+ onBlur: EventHandler,
8
+ onClick: EventHandler,
9
+ onFocus: EventHandler,
10
+ onMouseDown: EventHandler,
11
+ onMouseEnter: EventHandler,
12
+ onMouseLeave: EventHandler
11
13
  });
12
- const _sfc_main = /* @__PURE__ */ defineComponent({
13
- ...__default__,
14
- props: {
15
- ...tooltipV2CommonProps,
16
- ...tooltipV2TriggerProps
17
- },
18
- setup(__props) {
19
- const props = __props;
20
- const { onClose, onOpen, onDelayOpen, triggerRef, contentId } = inject(tooltipV2RootKey);
21
- let isMousedown = false;
22
- const setTriggerRef = (el) => {
23
- triggerRef.value = el;
24
- };
25
- const onMouseup = () => {
26
- isMousedown = false;
27
- };
28
- const onMouseenter = composeEventHandlers(props.onMouseEnter, onDelayOpen);
29
- const onMouseleave = composeEventHandlers(props.onMouseLeave, onClose);
30
- const onMousedown = composeEventHandlers(props.onMouseDown, () => {
31
- onClose();
32
- isMousedown = true;
33
- document.addEventListener("mouseup", onMouseup, { once: true });
34
- });
35
- const onFocus = composeEventHandlers(props.onFocus, () => {
36
- if (!isMousedown)
37
- onOpen();
38
- });
39
- const onBlur = composeEventHandlers(props.onBlur, onClose);
40
- const onClick = composeEventHandlers(props.onClick, (e) => {
41
- if (e.detail === 0)
42
- onClose();
43
- });
44
- const events = {
45
- blur: onBlur,
46
- click: onClick,
47
- focus: onFocus,
48
- mousedown: onMousedown,
49
- mouseenter: onMouseenter,
50
- mouseleave: onMouseleave
51
- };
52
- const setEvents = (el, events2, type) => {
53
- if (el) {
54
- Object.entries(events2).forEach(([name, handler]) => {
55
- el[type](name, handler);
56
- });
57
- }
58
- };
59
- watch(triggerRef, (triggerEl, previousTriggerEl) => {
60
- setEvents(triggerEl, events, "addEventListener");
61
- setEvents(previousTriggerEl, events, "removeEventListener");
62
- if (triggerEl) {
63
- triggerEl.setAttribute("aria-describedby", contentId.value);
64
- }
65
- });
66
- onBeforeUnmount(() => {
67
- setEvents(triggerRef.value, events, "removeEventListener");
68
- document.removeEventListener("mouseup", onMouseup);
69
- });
70
- return (_ctx, _cache) => {
71
- return _ctx.nowrap ? (openBlock(), createBlock(unref(ForwardRef), {
72
- key: 0,
73
- "set-ref": setTriggerRef,
74
- "only-child": ""
75
- }, {
76
- default: withCtx(() => [
77
- renderSlot(_ctx.$slots, "default")
78
- ]),
79
- _: 3
80
- })) : (openBlock(), createElementBlock("button", mergeProps({
81
- key: 1,
82
- ref_key: "triggerRef",
83
- ref: triggerRef
84
- }, _ctx.$attrs), [
85
- renderSlot(_ctx.$slots, "default")
86
- ], 16));
87
- };
88
- }
89
- });
90
- var TooltipV2Trigger = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "trigger.vue"]]);
91
14
 
92
- export { TooltipV2Trigger as default };
15
+ export { tooltipV2TriggerProps };
93
16
  //# sourceMappingURL=trigger.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/trigger.vue"],"sourcesContent":["<template>\n <forward-ref v-if=\"nowrap\" :set-ref=\"setTriggerRef\" only-child>\n <slot />\n </forward-ref>\n <button v-else ref=\"triggerRef\" v-bind=\"$attrs\">\n <slot />\n </button>\n</template>\n\n<script setup lang=\"ts\">\nimport { inject, onBeforeUnmount, watch } from 'vue'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { tooltipV2RootKey } from './constants'\nimport ForwardRef from './forward-ref'\nimport { tooltipV2TriggerProps } from './trigger'\nimport { tooltipV2CommonProps } from './common'\n\ndefineOptions({\n name: 'ElTooltipV2Trigger',\n})\n\nconst props = defineProps({\n ...tooltipV2CommonProps,\n ...tooltipV2TriggerProps,\n})\n\n/**\n * onOpen opens the tooltip instantly, onTrigger acts a lil bit differently,\n * it will check if delayDuration is set to greater than 0 and based on that result,\n * if true, it opens the tooltip after delayDuration, otherwise it opens it instantly.\n */\nconst { onClose, onOpen, onDelayOpen, triggerRef, contentId } =\n inject(tooltipV2RootKey)!\n\nlet isMousedown = false\n\nconst setTriggerRef = (el: HTMLElement | null) => {\n triggerRef.value = el\n}\n\nconst onMouseup = () => {\n isMousedown = false\n}\n\nconst onMouseenter = composeEventHandlers(props.onMouseEnter, onDelayOpen)\n\nconst onMouseleave = composeEventHandlers(props.onMouseLeave, onClose)\n\nconst onMousedown = composeEventHandlers(props.onMouseDown, () => {\n onClose()\n isMousedown = true\n document.addEventListener('mouseup', onMouseup, { once: true })\n})\n\nconst onFocus = composeEventHandlers(props.onFocus, () => {\n if (!isMousedown) onOpen()\n})\n\nconst onBlur = composeEventHandlers(props.onBlur, onClose)\n\nconst onClick = composeEventHandlers(props.onClick, (e) => {\n if ((e as MouseEvent).detail === 0) onClose()\n})\n\nconst events = {\n blur: onBlur,\n click: onClick,\n focus: onFocus,\n mousedown: onMousedown,\n mouseenter: onMouseenter,\n mouseleave: onMouseleave,\n}\n\nconst setEvents = <T extends (e: Event) => void>(\n el: HTMLElement | null | undefined,\n events: Record<string, T>,\n type: 'addEventListener' | 'removeEventListener'\n) => {\n if (el) {\n Object.entries(events).forEach(([name, handler]) => {\n el[type](name, handler)\n })\n }\n}\n\nwatch(triggerRef, (triggerEl, previousTriggerEl) => {\n setEvents(triggerEl, events, 'addEventListener')\n setEvents(previousTriggerEl, events, 'removeEventListener')\n\n if (triggerEl) {\n triggerEl.setAttribute('aria-describedby', contentId.value)\n }\n})\n\nonBeforeUnmount(() => {\n setEvents(triggerRef.value, events, 'removeEventListener')\n document.removeEventListener('mouseup', onMouseup)\n})\n</script>\n"],"names":["events"],"mappings":";;;;;;;;mCAiBc,CAAA;AAAA,EACZ,IAAM,EAAA,oBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;AAYA,IAAM,MAAA,EAAE,SAAS,MAAQ,EAAA,WAAA,EAAa,YAAY,SAAU,EAAA,GAC1D,OAAO,gBAAgB,CAAA,CAAA;AAEzB,IAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAElB,IAAM,MAAA,aAAA,GAAgB,CAAC,EAA2B,KAAA;AAChD,MAAA,UAAA,CAAW,KAAQ,GAAA,EAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAc,WAAA,GAAA,KAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,MAAM,YAAe,GAAA,oBAAA,CAAqB,KAAM,CAAA,YAAA,EAAc,WAAW,CAAA,CAAA;AAEzE,IAAA,MAAM,YAAe,GAAA,oBAAA,CAAqB,KAAM,CAAA,YAAA,EAAc,OAAO,CAAA,CAAA;AAErE,IAAA,MAAM,WAAc,GAAA,oBAAA,CAAqB,KAAM,CAAA,WAAA,EAAa,MAAM;AAChE,MAAQ,OAAA,EAAA,CAAA;AACR,MAAc,WAAA,GAAA,IAAA,CAAA;AACd,MAAA,QAAA,CAAS,iBAAiB,SAAW,EAAA,SAAA,EAAW,EAAE,IAAA,EAAM,MAAM,CAAA,CAAA;AAAA,KAC/D,CAAA,CAAA;AAED,IAAA,MAAM,OAAU,GAAA,oBAAA,CAAqB,KAAM,CAAA,OAAA,EAAS,MAAM;AACxD,MAAI,IAAA,CAAC;AAAoB,QAC1B,MAAA,EAAA,CAAA;AAED,KAAA,CAAA,CAAA;AAEA,IAAA,MAAM,MAAU,GAAA,oBAAA,CAAA,KAA2B,CAAA,MAAA,EAAA,OAAgB,CAAA,CAAA;AACzD,IAAK,MAAA,OAA4B,GAAA,oBAAW,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA,KAAA;AAAA,MAC7C,IAAA,CAAA,CAAA,MAAA,KAAA,CAAA;AAED,QAAA,OAAe,EAAA,CAAA;AAAA,KAAA,CACb,CAAM;AAAA,IAAA,MACC,MAAA,GAAA;AAAA,MACP,IAAO,EAAA,MAAA;AAAA,MACP,KAAW,EAAA,OAAA;AAAA,MACX,KAAY,EAAA,OAAA;AAAA,MACZ,SAAY,EAAA,WAAA;AAAA,MACd,UAAA,EAAA,YAAA;AAEA,MAAA,UAAkB,EAAA,YAEhBA;AAGA,KAAA,CAAA;AACE,IAAO,MAAA,SAAA,GAAA,CAAQA,WAAQ,EAAA,IAAQ,KAAE;AAC/B,MAAG,IAAA,EAAA,EAAA;AAAmB,QACxB,MAAC,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,KAAA;AAAA,UACH,EAAA,CAAA,IAAA,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AAEA,OAAM;AACJ,KAAU,CAAA;AACV,IAAU,KAAA,CAAA,UAAA,EAAA,CAAA,SAAA,EAAA,iBAAgD,KAAA;AAE1D,MAAA,SAAe,CAAA,SAAA,EAAA,MAAA,EAAA,kBAAA,CAAA,CAAA;AACb,MAAU,SAAA,CAAA,iBAAiC,EAAA,MAAA,EAAA,qBAAe,CAAA,CAAA;AAAA,MAC5D,IAAA,SAAA,EAAA;AAAA,QACD,SAAA,CAAA,YAAA,CAAA,kBAAA,EAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAED,OAAA;AACE,KAAU,CAAA,CAAA;AACV,IAAS,eAAA,CAAA,MAAA;AAAwC,MAClD,SAAA,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,EAAA,qBAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"trigger.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/trigger.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nconst EventHandler = {\n type: definePropType<(e: Event) => boolean | void>(Function),\n} as const\n\nexport const tooltipV2TriggerProps = buildProps({\n onBlur: EventHandler,\n onClick: EventHandler,\n onFocus: EventHandler,\n onMouseDown: EventHandler,\n onMouseEnter: EventHandler,\n onMouseLeave: EventHandler,\n} as const)\n\nexport type TooltipV2TriggerProps = ExtractPropTypes<\n typeof tooltipV2TriggerProps\n>\n"],"names":[],"mappings":";;AACA,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAChC,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,WAAW,EAAE,YAAY;AAC3B,EAAE,YAAY,EAAE,YAAY;AAC5B,EAAE,YAAY,EAAE,YAAY;AAC5B,CAAC;;;;"}