@element-plus/nightly 0.0.20251110 → 0.0.20251111

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 (496) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +64 -21
  3. package/dist/index.full.min.js +11 -11
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +11 -11
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +64 -21
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/index.mjs +2 -2
  277. package/es/components/affix/src/affix.mjs +129 -24
  278. package/es/components/affix/src/affix.mjs.map +1 -1
  279. package/es/components/affix/src/affix2.mjs +24 -129
  280. package/es/components/affix/src/affix2.mjs.map +1 -1
  281. package/es/components/badge/index.mjs +2 -2
  282. package/es/components/badge/src/badge.mjs +71 -32
  283. package/es/components/badge/src/badge.mjs.map +1 -1
  284. package/es/components/badge/src/badge2.mjs +32 -71
  285. package/es/components/badge/src/badge2.mjs.map +1 -1
  286. package/es/components/carousel/index.mjs +2 -2
  287. package/es/components/carousel/src/carousel.mjs +61 -212
  288. package/es/components/carousel/src/carousel.mjs.map +1 -1
  289. package/es/components/carousel/src/carousel2.mjs +212 -61
  290. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  291. package/es/components/cascader/index.mjs +2 -2
  292. package/es/components/cascader/src/cascader.mjs +99 -717
  293. package/es/components/cascader/src/cascader.mjs.map +1 -1
  294. package/es/components/cascader/src/cascader2.mjs +717 -99
  295. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  296. package/es/components/checkbox/index.mjs +2 -2
  297. package/es/components/checkbox/src/checkbox-group.mjs +47 -92
  298. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  299. package/es/components/checkbox/src/checkbox-group2.mjs +92 -47
  300. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  301. package/es/components/countdown/index.mjs +2 -2
  302. package/es/components/countdown/src/countdown.mjs +21 -79
  303. package/es/components/countdown/src/countdown.mjs.map +1 -1
  304. package/es/components/countdown/src/countdown2.mjs +79 -21
  305. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  306. package/es/components/image-viewer/src/image-viewer2.mjs +5 -4
  307. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  308. package/es/components/index.mjs +17 -17
  309. package/es/components/input-tag/src/composables/use-input-tag-dom.d.ts +7 -0
  310. package/es/components/input-tag/src/composables/use-input-tag-dom.mjs +35 -2
  311. package/es/components/input-tag/src/composables/use-input-tag-dom.mjs.map +1 -1
  312. package/es/components/input-tag/src/input-tag2.mjs +25 -14
  313. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  314. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  315. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  316. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  317. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  318. package/es/components/mention/src/mention2.mjs +1 -1
  319. package/es/components/menu/index.mjs +2 -2
  320. package/es/components/menu/src/menu-item-group.mjs +4 -33
  321. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  322. package/es/components/menu/src/menu-item-group2.mjs +33 -4
  323. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  324. package/es/components/pagination/src/components/next.mjs +35 -18
  325. package/es/components/pagination/src/components/next.mjs.map +1 -1
  326. package/es/components/pagination/src/components/next2.mjs +18 -35
  327. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  328. package/es/components/pagination/src/pagination.mjs +1 -1
  329. package/es/components/popper/index.mjs +4 -4
  330. package/es/components/popper/src/arrow.mjs +30 -7
  331. package/es/components/popper/src/arrow.mjs.map +1 -1
  332. package/es/components/popper/src/arrow2.mjs +7 -30
  333. package/es/components/popper/src/arrow2.mjs.map +1 -1
  334. package/es/components/popper/src/content.mjs +89 -131
  335. package/es/components/popper/src/content.mjs.map +1 -1
  336. package/es/components/popper/src/content2.mjs +131 -89
  337. package/es/components/popper/src/content2.mjs.map +1 -1
  338. package/es/components/progress/index.mjs +2 -2
  339. package/es/components/progress/src/progress.mjs +53 -207
  340. package/es/components/progress/src/progress.mjs.map +1 -1
  341. package/es/components/progress/src/progress2.mjs +207 -53
  342. package/es/components/progress/src/progress2.mjs.map +1 -1
  343. package/es/components/result/index.mjs +2 -2
  344. package/es/components/result/src/result.mjs +62 -30
  345. package/es/components/result/src/result.mjs.map +1 -1
  346. package/es/components/result/src/result2.mjs +30 -62
  347. package/es/components/result/src/result2.mjs.map +1 -1
  348. package/es/components/scrollbar/index.mjs +2 -2
  349. package/es/components/scrollbar/src/bar.mjs +64 -10
  350. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  351. package/es/components/scrollbar/src/bar2.mjs +10 -64
  352. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  353. package/es/components/scrollbar/src/scrollbar.mjs +226 -57
  354. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  355. package/es/components/scrollbar/src/scrollbar2.mjs +57 -226
  356. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  357. package/es/components/select/src/select.mjs +1 -1
  358. package/es/components/tabs/index.mjs +2 -2
  359. package/es/components/tabs/src/tab-pane.mjs +16 -85
  360. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  361. package/es/components/tabs/src/tab-pane2.mjs +85 -16
  362. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  363. package/es/components/tooltip/src/content.mjs +1 -1
  364. package/es/components/tooltip/src/content2.mjs +1 -1
  365. package/es/components/tooltip/src/tooltip.mjs +1 -1
  366. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  367. package/es/components/tour/index.mjs +3 -3
  368. package/es/components/tour/src/content.mjs +67 -43
  369. package/es/components/tour/src/content.mjs.map +1 -1
  370. package/es/components/tour/src/content2.mjs +43 -67
  371. package/es/components/tour/src/content2.mjs.map +1 -1
  372. package/es/components/tour/src/step.mjs +192 -44
  373. package/es/components/tour/src/step.mjs.map +1 -1
  374. package/es/components/tour/src/step2.mjs +44 -192
  375. package/es/components/tour/src/step2.mjs.map +1 -1
  376. package/es/components/tour/src/tour.mjs +1 -1
  377. package/es/components/tour/src/tour2.mjs +1 -1
  378. package/es/components/tree/src/model/node.mjs +1 -0
  379. package/es/components/tree/src/model/node.mjs.map +1 -1
  380. package/es/index.mjs +17 -17
  381. package/es/version.d.ts +1 -1
  382. package/es/version.mjs +1 -1
  383. package/es/version.mjs.map +1 -1
  384. package/lib/components/affix/index.js +2 -2
  385. package/lib/components/affix/src/affix.js +129 -25
  386. package/lib/components/affix/src/affix.js.map +1 -1
  387. package/lib/components/affix/src/affix2.js +25 -129
  388. package/lib/components/affix/src/affix2.js.map +1 -1
  389. package/lib/components/badge/index.js +2 -2
  390. package/lib/components/badge/src/badge.js +71 -32
  391. package/lib/components/badge/src/badge.js.map +1 -1
  392. package/lib/components/badge/src/badge2.js +32 -71
  393. package/lib/components/badge/src/badge2.js.map +1 -1
  394. package/lib/components/carousel/index.js +2 -2
  395. package/lib/components/carousel/src/carousel.js +62 -212
  396. package/lib/components/carousel/src/carousel.js.map +1 -1
  397. package/lib/components/carousel/src/carousel2.js +212 -62
  398. package/lib/components/carousel/src/carousel2.js.map +1 -1
  399. package/lib/components/cascader/index.js +2 -2
  400. package/lib/components/cascader/src/cascader.js +99 -716
  401. package/lib/components/cascader/src/cascader.js.map +1 -1
  402. package/lib/components/cascader/src/cascader2.js +716 -99
  403. package/lib/components/cascader/src/cascader2.js.map +1 -1
  404. package/lib/components/checkbox/index.js +2 -2
  405. package/lib/components/checkbox/src/checkbox-group.js +48 -91
  406. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  407. package/lib/components/checkbox/src/checkbox-group2.js +91 -48
  408. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  409. package/lib/components/countdown/index.js +2 -2
  410. package/lib/components/countdown/src/countdown.js +22 -79
  411. package/lib/components/countdown/src/countdown.js.map +1 -1
  412. package/lib/components/countdown/src/countdown2.js +79 -22
  413. package/lib/components/countdown/src/countdown2.js.map +1 -1
  414. package/lib/components/image-viewer/src/image-viewer2.js +16 -15
  415. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  416. package/lib/components/index.js +17 -17
  417. package/lib/components/input-tag/src/composables/use-input-tag-dom.d.ts +7 -0
  418. package/lib/components/input-tag/src/composables/use-input-tag-dom.js +34 -1
  419. package/lib/components/input-tag/src/composables/use-input-tag-dom.js.map +1 -1
  420. package/lib/components/input-tag/src/input-tag2.js +25 -14
  421. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  422. package/lib/components/mention/src/mention-dropdown.js +166 -16
  423. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  424. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  425. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  426. package/lib/components/mention/src/mention2.js +1 -1
  427. package/lib/components/menu/index.js +2 -2
  428. package/lib/components/menu/src/menu-item-group.js +4 -33
  429. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  430. package/lib/components/menu/src/menu-item-group2.js +33 -4
  431. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  432. package/lib/components/pagination/src/components/next.js +35 -18
  433. package/lib/components/pagination/src/components/next.js.map +1 -1
  434. package/lib/components/pagination/src/components/next2.js +18 -35
  435. package/lib/components/pagination/src/components/next2.js.map +1 -1
  436. package/lib/components/pagination/src/pagination.js +1 -1
  437. package/lib/components/popper/index.js +4 -4
  438. package/lib/components/popper/src/arrow.js +30 -8
  439. package/lib/components/popper/src/arrow.js.map +1 -1
  440. package/lib/components/popper/src/arrow2.js +8 -30
  441. package/lib/components/popper/src/arrow2.js.map +1 -1
  442. package/lib/components/popper/src/content.js +94 -131
  443. package/lib/components/popper/src/content.js.map +1 -1
  444. package/lib/components/popper/src/content2.js +131 -94
  445. package/lib/components/popper/src/content2.js.map +1 -1
  446. package/lib/components/progress/index.js +2 -2
  447. package/lib/components/progress/src/progress.js +53 -207
  448. package/lib/components/progress/src/progress.js.map +1 -1
  449. package/lib/components/progress/src/progress2.js +207 -53
  450. package/lib/components/progress/src/progress2.js.map +1 -1
  451. package/lib/components/result/index.js +2 -2
  452. package/lib/components/result/src/result.js +62 -32
  453. package/lib/components/result/src/result.js.map +1 -1
  454. package/lib/components/result/src/result2.js +32 -62
  455. package/lib/components/result/src/result2.js.map +1 -1
  456. package/lib/components/scrollbar/index.js +2 -2
  457. package/lib/components/scrollbar/src/bar.js +64 -10
  458. package/lib/components/scrollbar/src/bar.js.map +1 -1
  459. package/lib/components/scrollbar/src/bar2.js +10 -64
  460. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  461. package/lib/components/scrollbar/src/scrollbar.js +226 -58
  462. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  463. package/lib/components/scrollbar/src/scrollbar2.js +58 -226
  464. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  465. package/lib/components/select/src/select.js +1 -1
  466. package/lib/components/tabs/index.js +2 -2
  467. package/lib/components/tabs/src/tab-pane.js +16 -85
  468. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  469. package/lib/components/tabs/src/tab-pane2.js +85 -16
  470. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  471. package/lib/components/tooltip/src/content.js +1 -1
  472. package/lib/components/tooltip/src/content2.js +1 -1
  473. package/lib/components/tooltip/src/tooltip.js +1 -1
  474. package/lib/components/tooltip/src/tooltip2.js +1 -1
  475. package/lib/components/tour/index.js +3 -3
  476. package/lib/components/tour/src/content.js +67 -46
  477. package/lib/components/tour/src/content.js.map +1 -1
  478. package/lib/components/tour/src/content2.js +46 -67
  479. package/lib/components/tour/src/content2.js.map +1 -1
  480. package/lib/components/tour/src/step.js +191 -44
  481. package/lib/components/tour/src/step.js.map +1 -1
  482. package/lib/components/tour/src/step2.js +44 -191
  483. package/lib/components/tour/src/step2.js.map +1 -1
  484. package/lib/components/tour/src/tour.js +1 -1
  485. package/lib/components/tour/src/tour2.js +1 -1
  486. package/lib/components/tree/src/model/node.js +1 -0
  487. package/lib/components/tree/src/model/node.js.map +1 -1
  488. package/lib/index.js +17 -17
  489. package/lib/version.d.ts +1 -1
  490. package/lib/version.js +1 -1
  491. package/lib/version.js.map +1 -1
  492. package/package.json +2 -2
  493. package/theme-chalk/el-image-viewer.css +1 -1
  494. package/theme-chalk/index.css +1 -1
  495. package/theme-chalk/src/image-viewer.scss +6 -0
  496. package/web-types.json +1 -1
@@ -91,12 +91,12 @@ var fixedSizeGrid = require('./virtual-list/src/components/fixed-size-grid.js');
91
91
  var dynamicSizeGrid = require('./virtual-list/src/components/dynamic-size-grid.js');
92
92
  var directive = require('./loading/src/directive.js');
93
93
  var service = require('./loading/src/service.js');
94
- var affix = require('./affix/src/affix.js');
94
+ var affix = require('./affix/src/affix2.js');
95
95
  var alert = require('./alert/src/alert.js');
96
96
  var autocomplete = require('./autocomplete/src/autocomplete.js');
97
97
  var avatar = require('./avatar/src/avatar.js');
98
98
  var backtop = require('./backtop/src/backtop.js');
99
- var badge = require('./badge/src/badge.js');
99
+ var badge = require('./badge/src/badge2.js');
100
100
  var breadcrumb = require('./breadcrumb/src/breadcrumb.js');
101
101
  var breadcrumbItem = require('./breadcrumb/src/breadcrumb-item.js');
102
102
  var constants = require('./breadcrumb/src/constants.js');
@@ -104,14 +104,14 @@ var button = require('./button/src/button.js');
104
104
  var constants$1 = require('./button/src/constants.js');
105
105
  var calendar = require('./calendar/src/calendar.js');
106
106
  var card = require('./card/src/card.js');
107
- var carousel = require('./carousel/src/carousel2.js');
107
+ var carousel = require('./carousel/src/carousel.js');
108
108
  var carouselItem = require('./carousel/src/carousel-item.js');
109
109
  var constants$2 = require('./carousel/src/constants.js');
110
- var cascader = require('./cascader/src/cascader2.js');
110
+ var cascader = require('./cascader/src/cascader.js');
111
111
  var types = require('./cascader-panel/src/types.js');
112
112
  var config = require('./cascader-panel/src/config.js');
113
113
  var checkTag = require('./check-tag/src/check-tag.js');
114
- var checkboxGroup = require('./checkbox/src/checkbox-group2.js');
114
+ var checkboxGroup = require('./checkbox/src/checkbox-group.js');
115
115
  var checkbox = require('./checkbox/src/checkbox.js');
116
116
  var constants$3 = require('./checkbox/src/constants.js');
117
117
  var col = require('./col/src/col.js');
@@ -124,7 +124,7 @@ var configProvider = require('./config-provider/src/config-provider.js');
124
124
  var configProviderProps = require('./config-provider/src/config-provider-props.js');
125
125
  var constants$5 = require('./config-provider/src/constants.js');
126
126
  var useGlobalConfig = require('./config-provider/src/hooks/use-global-config.js');
127
- var countdown = require('./countdown/src/countdown2.js');
127
+ var countdown = require('./countdown/src/countdown.js');
128
128
  var props = require('./date-picker/src/props.js');
129
129
  var constants$6 = require('./date-picker-panel/src/constants.js');
130
130
  var datePickerPanel = require('./date-picker-panel/src/props/date-picker-panel.js');
@@ -152,7 +152,7 @@ var inputTag = require('./input-tag/src/input-tag.js');
152
152
  var link = require('./link/src/link.js');
153
153
  var menu = require('./menu/src/menu.js');
154
154
  var menuItem = require('./menu/src/menu-item.js');
155
- var menuItemGroup = require('./menu/src/menu-item-group2.js');
155
+ var menuItemGroup = require('./menu/src/menu-item-group.js');
156
156
  var subMenu = require('./menu/src/sub-menu.js');
157
157
  var tokens$1 = require('./menu/src/tokens.js');
158
158
  var overlay = require('./overlay/src/overlay.js');
@@ -162,23 +162,23 @@ var constants$9 = require('./pagination/src/constants.js');
162
162
  var popconfirm = require('./popconfirm/src/popconfirm.js');
163
163
  var popper = require('./popper/src/popper.js');
164
164
  var trigger$1 = require('./popper/src/trigger.js');
165
- var content$1 = require('./popper/src/content2.js');
166
- var arrow$1 = require('./popper/src/arrow.js');
165
+ var content$1 = require('./popper/src/content.js');
166
+ var arrow$1 = require('./popper/src/arrow2.js');
167
167
  var constants$a = require('./popper/src/constants.js');
168
- var arrow = require('./popper/src/arrow2.js');
168
+ var arrow = require('./popper/src/arrow.js');
169
169
  var trigger = require('./popper/src/trigger2.js');
170
- var content = require('./popper/src/content.js');
171
- var progress = require('./progress/src/progress2.js');
170
+ var content = require('./popper/src/content2.js');
171
+ var progress = require('./progress/src/progress.js');
172
172
  var radio = require('./radio/src/radio.js');
173
173
  var radioGroup = require('./radio/src/radio-group.js');
174
174
  var radioButton = require('./radio/src/radio-button.js');
175
175
  var constants$b = require('./radio/src/constants.js');
176
176
  var rate = require('./rate/src/rate.js');
177
- var result = require('./result/src/result.js');
177
+ var result = require('./result/src/result2.js');
178
178
  var row = require('./row/src/row.js');
179
179
  var constants$c = require('./row/src/constants.js');
180
180
  var util = require('./scrollbar/src/util.js');
181
- var scrollbar = require('./scrollbar/src/scrollbar.js');
181
+ var scrollbar = require('./scrollbar/src/scrollbar2.js');
182
182
  var thumb = require('./scrollbar/src/thumb.js');
183
183
  var constants$d = require('./scrollbar/src/constants.js');
184
184
  var token = require('./select/src/token.js');
@@ -205,7 +205,7 @@ var row$1 = require('./table-v2/src/row.js');
205
205
  var tabs = require('./tabs/src/tabs.js');
206
206
  var tabBar = require('./tabs/src/tab-bar.js');
207
207
  var tabNav = require('./tabs/src/tab-nav.js');
208
- var tabPane = require('./tabs/src/tab-pane2.js');
208
+ var tabPane = require('./tabs/src/tab-pane.js');
209
209
  var constants$g = require('./tabs/src/constants.js');
210
210
  var tag = require('./tag/src/tag.js');
211
211
  var text = require('./text/src/text.js');
@@ -234,8 +234,8 @@ var dynamicSizeList = require('./virtual-list/src/components/dynamic-size-list.j
234
234
  var props$2 = require('./virtual-list/src/props.js');
235
235
  var watermark = require('./watermark/src/watermark.js');
236
236
  var tour = require('./tour/src/tour.js');
237
- var step = require('./tour/src/step.js');
238
- var content$3 = require('./tour/src/content.js');
237
+ var step = require('./tour/src/step2.js');
238
+ var content$3 = require('./tour/src/content2.js');
239
239
  var anchor = require('./anchor/src/anchor.js');
240
240
  var segmented = require('./segmented/src/segmented.js');
241
241
  var mention = require('./mention/src/mention.js');
@@ -54,5 +54,12 @@ export declare function useInputTagDom({ props, isFocused, hovering, disabled, i
54
54
  innerKls: ComputedRef<string[]>;
55
55
  showClear: ComputedRef<boolean | "" | 0 | undefined>;
56
56
  showSuffix: ComputedRef<boolean | "" | import("vue").Slot>;
57
+ tagStyle: ComputedRef<{
58
+ maxWidth?: undefined;
59
+ } | {
60
+ maxWidth: string;
61
+ }>;
62
+ collapseItemRef: Ref<HTMLElement | undefined>;
63
+ innerRef: Ref<HTMLElement | undefined>;
57
64
  };
58
65
  export {};
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
+ var core = require('@vueuse/core');
6
7
  var index = require('../../../../hooks/use-namespace/index.js');
8
+ var form = require('../../../../constants/form.js');
7
9
 
8
10
  function useInputTagDom({
9
11
  props,
@@ -20,6 +22,8 @@ function useInputTagDom({
20
22
  const slots = vue.useSlots();
21
23
  const ns = index.useNamespace("input-tag");
22
24
  const nsInput = index.useNamespace("input");
25
+ const collapseItemRef = vue.ref();
26
+ const innerRef = vue.ref();
23
27
  const containerKls = vue.computed(() => [
24
28
  ns.b(),
25
29
  ns.is("focused", isFocused.value),
@@ -46,6 +50,32 @@ function useInputTagDom({
46
50
  const showSuffix = vue.computed(() => {
47
51
  return slots.suffix || showClear.value || validateState.value && validateIcon.value && needStatusIcon.value;
48
52
  });
53
+ const states = vue.reactive({
54
+ innerWidth: 0,
55
+ collapseItemWidth: 0
56
+ });
57
+ const getGapWidth = () => {
58
+ if (!innerRef.value)
59
+ return 0;
60
+ const style = window.getComputedStyle(innerRef.value);
61
+ return Number.parseFloat(style.gap || "6px");
62
+ };
63
+ const resetInnerWidth = () => {
64
+ states.innerWidth = Number.parseFloat(window.getComputedStyle(innerRef.value).width);
65
+ };
66
+ const resetCollapseItemWidth = () => {
67
+ states.collapseItemWidth = collapseItemRef.value.getBoundingClientRect().width;
68
+ };
69
+ const tagStyle = vue.computed(() => {
70
+ if (!props.collapseTags)
71
+ return {};
72
+ const gapWidth = getGapWidth();
73
+ const inputSlotWidth = gapWidth + form.MINIMUM_INPUT_WIDTH;
74
+ const maxWidth = collapseItemRef.value && props.maxCollapseTags === 1 ? states.innerWidth - states.collapseItemWidth - gapWidth - inputSlotWidth : states.innerWidth - inputSlotWidth;
75
+ return { maxWidth: `${Math.max(maxWidth, 0)}px` };
76
+ });
77
+ core.useResizeObserver(innerRef, resetInnerWidth);
78
+ core.useResizeObserver(collapseItemRef, resetCollapseItemWidth);
49
79
  return {
50
80
  ns,
51
81
  nsInput,
@@ -53,7 +83,10 @@ function useInputTagDom({
53
83
  containerStyle,
54
84
  innerKls,
55
85
  showClear,
56
- showSuffix
86
+ showSuffix,
87
+ tagStyle,
88
+ collapseItemRef,
89
+ innerRef
57
90
  };
58
91
  }
59
92
 
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-tag-dom.js","sources":["../../../../../../../packages/components/input-tag/src/composables/use-input-tag-dom.ts"],"sourcesContent":["import { computed, useAttrs, useSlots } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { InputTagProps } from '../input-tag'\n\ninterface UseInputTagDomOptions {\n props: InputTagProps\n isFocused: Ref<boolean>\n hovering: Ref<boolean>\n disabled: ComputedRef<boolean>\n inputValue: Ref<string | undefined>\n size: ComputedRef<ComponentSize>\n validateState: ComputedRef<string>\n validateIcon: ComputedRef<boolean>\n needStatusIcon: ComputedRef<boolean>\n}\n\nexport function useInputTagDom({\n props,\n isFocused,\n hovering,\n disabled,\n inputValue,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n}: UseInputTagDomOptions) {\n const attrs = useAttrs()\n const slots = useSlots()\n const ns = useNamespace('input-tag')\n const nsInput = useNamespace('input')\n\n const containerKls = computed(() => [\n ns.b(),\n ns.is('focused', isFocused.value),\n ns.is('hovering', hovering.value),\n ns.is('disabled', disabled.value),\n ns.m(size.value),\n ns.e('wrapper'),\n attrs.class,\n ])\n const containerStyle = computed<StyleValue>(() => [attrs.style as StyleValue])\n const innerKls = computed(() => [\n ns.e('inner'),\n ns.is('draggable', props.draggable),\n ns.is('left-space', !props.modelValue?.length && !slots.prefix),\n ns.is('right-space', !props.modelValue?.length && !showSuffix.value),\n ])\n const showClear = computed(() => {\n return (\n props.clearable &&\n !disabled.value &&\n !props.readonly &&\n (props.modelValue?.length || inputValue.value) &&\n (isFocused.value || hovering.value)\n )\n })\n const showSuffix = computed(() => {\n return (\n slots.suffix ||\n showClear.value ||\n (validateState.value && validateIcon.value && needStatusIcon.value)\n )\n })\n\n return {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n }\n}\n"],"names":["useAttrs","useSlots","useNamespace","computed"],"mappings":"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"}
1
+ {"version":3,"file":"use-input-tag-dom.js","sources":["../../../../../../../packages/components/input-tag/src/composables/use-input-tag-dom.ts"],"sourcesContent":["import { computed, reactive, ref, useAttrs, useSlots } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { MINIMUM_INPUT_WIDTH } from '@element-plus/constants'\nimport { useResizeObserver } from '@vueuse/core'\n\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { InputTagProps } from '../input-tag'\n\ninterface UseInputTagDomOptions {\n props: InputTagProps\n isFocused: Ref<boolean>\n hovering: Ref<boolean>\n disabled: ComputedRef<boolean>\n inputValue: Ref<string | undefined>\n size: ComputedRef<ComponentSize>\n validateState: ComputedRef<string>\n validateIcon: ComputedRef<boolean>\n needStatusIcon: ComputedRef<boolean>\n}\n\nexport function useInputTagDom({\n props,\n isFocused,\n hovering,\n disabled,\n inputValue,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n}: UseInputTagDomOptions) {\n const attrs = useAttrs()\n const slots = useSlots()\n const ns = useNamespace('input-tag')\n const nsInput = useNamespace('input')\n\n const collapseItemRef = ref<HTMLElement>()\n const innerRef = ref<HTMLElement>()\n\n const containerKls = computed(() => [\n ns.b(),\n ns.is('focused', isFocused.value),\n ns.is('hovering', hovering.value),\n ns.is('disabled', disabled.value),\n ns.m(size.value),\n ns.e('wrapper'),\n attrs.class,\n ])\n const containerStyle = computed<StyleValue>(() => [attrs.style as StyleValue])\n const innerKls = computed(() => [\n ns.e('inner'),\n ns.is('draggable', props.draggable),\n ns.is('left-space', !props.modelValue?.length && !slots.prefix),\n ns.is('right-space', !props.modelValue?.length && !showSuffix.value),\n ])\n const showClear = computed(() => {\n return (\n props.clearable &&\n !disabled.value &&\n !props.readonly &&\n (props.modelValue?.length || inputValue.value) &&\n (isFocused.value || hovering.value)\n )\n })\n const showSuffix = computed(() => {\n return (\n slots.suffix ||\n showClear.value ||\n (validateState.value && validateIcon.value && needStatusIcon.value)\n )\n })\n\n const states = reactive({\n innerWidth: 0,\n collapseItemWidth: 0,\n })\n\n const getGapWidth = () => {\n if (!innerRef.value) return 0\n const style = window.getComputedStyle(innerRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n const resetInnerWidth = () => {\n states.innerWidth = Number.parseFloat(\n window.getComputedStyle(innerRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const tagStyle = computed(() => {\n if (!props.collapseTags) return {}\n const gapWidth = getGapWidth()\n\n const inputSlotWidth = gapWidth + MINIMUM_INPUT_WIDTH\n\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.innerWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.innerWidth - inputSlotWidth\n\n return { maxWidth: `${Math.max(maxWidth, 0)}px` }\n })\n\n useResizeObserver(innerRef, resetInnerWidth)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n return {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n tagStyle,\n collapseItemRef,\n innerRef,\n }\n}\n"],"names":["useAttrs","useSlots","useNamespace","ref","computed","reactive","MINIMUM_INPUT_WIDTH","useResizeObserver"],"mappings":"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"}
@@ -81,7 +81,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
81
81
  containerStyle,
82
82
  innerKls,
83
83
  showClear,
84
- showSuffix
84
+ showSuffix,
85
+ tagStyle,
86
+ collapseItemRef,
87
+ innerRef
85
88
  } = useInputTagDom.useInputTagDom({
86
89
  props,
87
90
  hovering,
@@ -113,6 +116,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
113
116
  vue.renderSlot(_ctx.$slots, "prefix")
114
117
  ], 2)) : vue.createCommentVNode("v-if", true),
115
118
  vue.createElementVNode("div", {
119
+ ref_key: "innerRef",
120
+ ref: innerRef,
116
121
  class: vue.normalizeClass(vue.unref(innerKls))
117
122
  }, [
118
123
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(showTagList), (item, index) => {
@@ -123,6 +128,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
123
128
  type: _ctx.tagType,
124
129
  effect: _ctx.tagEffect,
125
130
  draggable: vue.unref(closable) && _ctx.draggable,
131
+ style: vue.normalizeStyle(vue.unref(tagStyle)),
126
132
  "disable-transitions": "",
127
133
  onClose: ($event) => vue.unref(handleRemoveTag)(index),
128
134
  onDragstart: (event) => vue.unref(handleDragStart)(event, index),
@@ -140,7 +146,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
140
146
  ])
141
147
  ]),
142
148
  _: 2
143
- }, 1032, ["size", "closable", "type", "effect", "draggable", "onClose", "onDragstart", "onDragover", "onDragend", "onDrop"]);
149
+ }, 1032, ["size", "closable", "type", "effect", "draggable", "style", "onClose", "onDragstart", "onDragover", "onDragend", "onDrop"]);
144
150
  }), 128)),
145
151
  _ctx.collapseTags && _ctx.modelValue && _ctx.modelValue.length > _ctx.maxCollapseTags ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ElTooltip), {
146
152
  key: 0,
@@ -152,18 +158,23 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
152
158
  placement: "bottom"
153
159
  }, {
154
160
  default: vue.withCtx(() => [
155
- vue.createVNode(vue.unref(index$2.ElTag), {
156
- closable: false,
157
- size: vue.unref(tagSize),
158
- type: _ctx.tagType,
159
- effect: _ctx.tagEffect,
160
- "disable-transitions": ""
161
- }, {
162
- default: vue.withCtx(() => [
163
- vue.createTextVNode(" + " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 1)
164
- ]),
165
- _: 1
166
- }, 8, ["size", "type", "effect"])
161
+ vue.createElementVNode("div", {
162
+ ref_key: "collapseItemRef",
163
+ ref: collapseItemRef
164
+ }, [
165
+ vue.createVNode(vue.unref(index$2.ElTag), {
166
+ closable: false,
167
+ size: vue.unref(tagSize),
168
+ type: _ctx.tagType,
169
+ effect: _ctx.tagEffect,
170
+ "disable-transitions": ""
171
+ }, {
172
+ default: vue.withCtx(() => [
173
+ vue.createTextVNode(" + " + vue.toDisplayString(_ctx.modelValue.length - _ctx.maxCollapseTags), 1)
174
+ ]),
175
+ _: 1
176
+ }, 8, ["size", "type", "effect"])
177
+ ], 512)
167
178
  ]),
168
179
  content: vue.withCtx(() => [
169
180
  vue.createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"input-tag2.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapperRef\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div v-if=\"slots.prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\" />\n </div>\n <div :class=\"innerKls\">\n <el-tag\n v-for=\"(item, index) in showTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :draggable=\"closable && draggable\"\n disable-transitions\n @close=\"handleRemoveTag(index)\"\n @dragstart=\"(event: DragEvent) => handleDragStart(event, index)\"\n @dragover=\"(event: DragEvent) => handleDragOver(event, index)\"\n @dragend=\"handleDragEnd\"\n @drop.stop\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index\">\n {{ item }}\n </slot>\n </el-tag>\n <el-tooltip\n v-if=\"collapseTags && modelValue && modelValue.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"!collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"tagEffect\"\n placement=\"bottom\"\n >\n <template #default>\n <el-tag\n :closable=\"false\"\n :size=\"tagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n + {{ modelValue.length - maxCollapseTags }}\n </el-tag>\n </template>\n <template #content>\n <div :class=\"ns.e('input-tag-list')\">\n <el-tag\n v-for=\"(item, index) in collapseTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"handleRemoveTag(index + maxCollapseTags)\"\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index + maxCollapseTags\">\n {{ item }}\n </slot>\n </el-tag>\n </div>\n </template>\n </el-tooltip>\n <div :class=\"ns.e('input-wrapper')\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n v-bind=\"attrs\"\n type=\"text\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :placeholder=\"placeholder\"\n :autofocus=\"autofocus\"\n :ariaLabel=\"ariaLabel\"\n :class=\"ns.e('input')\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @keydown=\"handleKeydown\"\n @keyup=\"handleKeyup\"\n />\n <span\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"ns.e('input-calculator')\"\n v-text=\"inputValue\"\n />\n </div>\n <div\n v-show=\"showDropIndicator\"\n ref=\"dropIndicatorRef\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n <div v-if=\"showSuffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\" />\n <el-icon\n v-if=\"showClear\"\n :class=\"[ns.e('icon'), ns.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { useAttrs, useCalcInputWidth } from '@element-plus/hooks'\nimport { NOOP, ValidateComponentsMap } from '@element-plus/utils'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTag from '@element-plus/components/tag'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { inputTagEmits, inputTagProps } from './input-tag'\nimport {\n useDragTag,\n useHovering,\n useInputTag,\n useInputTagDom,\n} from './composables'\n\ndefineOptions({\n name: 'ElInputTag',\n inheritAttrs: false,\n})\n\nconst props = defineProps(inputTagProps)\nconst emit = defineEmits(inputTagEmits)\n\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, { formItemContext: formItem })\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value]\n})\n\nconst {\n inputRef,\n wrapperRef,\n tagTooltipRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n showTagList,\n collapseTagList,\n handleDragged,\n handleInput,\n handleKeydown,\n handleKeyup,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n} = useInputTag({ props, emit, formItem })\nconst { hovering, handleMouseEnter, handleMouseLeave } = useHovering()\nconst { calculatorRef, inputStyle } = useCalcInputWidth()\nconst {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd,\n} = useDragTag({ wrapperRef, handleDragged, afterDragged: focus })\nconst {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n} = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n})\n\ndefineExpose({\n focus,\n blur,\n})\n</script>\n"],"names":["useAttrs","useSlots","useFormItem","useFormItemInputId","computed","ValidateComponentsMap","useInputTag","useHovering","useCalcInputWidth","useDragTag","useInputTagDom"],"mappings":"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"}
1
+ {"version":3,"file":"input-tag2.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapperRef\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div v-if=\"slots.prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\" />\n </div>\n <div ref=\"innerRef\" :class=\"innerKls\">\n <el-tag\n v-for=\"(item, index) in showTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :draggable=\"closable && draggable\"\n :style=\"tagStyle\"\n disable-transitions\n @close=\"handleRemoveTag(index)\"\n @dragstart=\"(event: DragEvent) => handleDragStart(event, index)\"\n @dragover=\"(event: DragEvent) => handleDragOver(event, index)\"\n @dragend=\"handleDragEnd\"\n @drop.stop\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index\">\n {{ item }}\n </slot>\n </el-tag>\n <el-tooltip\n v-if=\"collapseTags && modelValue && modelValue.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"!collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"tagEffect\"\n placement=\"bottom\"\n >\n <template #default>\n <div ref=\"collapseItemRef\">\n <el-tag\n :closable=\"false\"\n :size=\"tagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n + {{ modelValue.length - maxCollapseTags }}\n </el-tag>\n </div>\n </template>\n <template #content>\n <div :class=\"ns.e('input-tag-list')\">\n <el-tag\n v-for=\"(item, index) in collapseTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"handleRemoveTag(index + maxCollapseTags)\"\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index + maxCollapseTags\">\n {{ item }}\n </slot>\n </el-tag>\n </div>\n </template>\n </el-tooltip>\n <div :class=\"ns.e('input-wrapper')\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n v-bind=\"attrs\"\n type=\"text\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :placeholder=\"placeholder\"\n :autofocus=\"autofocus\"\n :ariaLabel=\"ariaLabel\"\n :class=\"ns.e('input')\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @keydown=\"handleKeydown\"\n @keyup=\"handleKeyup\"\n />\n <span\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"ns.e('input-calculator')\"\n v-text=\"inputValue\"\n />\n </div>\n <div\n v-show=\"showDropIndicator\"\n ref=\"dropIndicatorRef\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n <div v-if=\"showSuffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\" />\n <el-icon\n v-if=\"showClear\"\n :class=\"[ns.e('icon'), ns.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { useAttrs, useCalcInputWidth } from '@element-plus/hooks'\nimport { NOOP, ValidateComponentsMap } from '@element-plus/utils'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTag from '@element-plus/components/tag'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { inputTagEmits, inputTagProps } from './input-tag'\nimport {\n useDragTag,\n useHovering,\n useInputTag,\n useInputTagDom,\n} from './composables'\n\ndefineOptions({\n name: 'ElInputTag',\n inheritAttrs: false,\n})\n\nconst props = defineProps(inputTagProps)\nconst emit = defineEmits(inputTagEmits)\n\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, { formItemContext: formItem })\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value]\n})\n\nconst {\n inputRef,\n wrapperRef,\n tagTooltipRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n showTagList,\n collapseTagList,\n handleDragged,\n handleInput,\n handleKeydown,\n handleKeyup,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n} = useInputTag({ props, emit, formItem })\nconst { hovering, handleMouseEnter, handleMouseLeave } = useHovering()\nconst { calculatorRef, inputStyle } = useCalcInputWidth()\nconst {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd,\n} = useDragTag({ wrapperRef, handleDragged, afterDragged: focus })\nconst {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n tagStyle,\n collapseItemRef,\n innerRef,\n} = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n})\n\ndefineExpose({\n focus,\n blur,\n})\n</script>\n"],"names":["useAttrs","useSlots","useFormItem","useFormItemInputId","computed","ValidateComponentsMap","useInputTag","useHovering","useCalcInputWidth","useDragTag","useInputTagDom"],"mappings":"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"}
@@ -2,23 +2,173 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var shared = require('@vue/shared');
5
+ var vue = require('vue');
6
+ var index$2 = require('../../scrollbar/index.js');
7
+ var mentionDropdown = require('./mention-dropdown2.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-namespace/index.js');
10
+ var index$1 = require('../../../hooks/use-locale/index.js');
11
+ var scroll = require('../../../utils/dom/scroll.js');
7
12
 
8
- const mentionDropdownProps = runtime.buildProps({
9
- options: {
10
- type: runtime.definePropType(Array),
11
- default: () => []
12
- },
13
- loading: Boolean,
14
- disabled: Boolean,
15
- contentId: String,
16
- ariaLabel: String
13
+ const __default__ = vue.defineComponent({
14
+ name: "ElMentionDropdown"
17
15
  });
18
- const mentionDropdownEmits = {
19
- select: (option) => shared.isString(option.value)
20
- };
16
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...__default__,
18
+ props: mentionDropdown.mentionDropdownProps,
19
+ emits: mentionDropdown.mentionDropdownEmits,
20
+ setup(__props, { expose, emit }) {
21
+ const props = __props;
22
+ const ns = index.useNamespace("mention");
23
+ const { t } = index$1.useLocale();
24
+ const hoveringIndex = vue.ref(-1);
25
+ const scrollbarRef = vue.ref();
26
+ const optionRefs = vue.ref();
27
+ const dropdownRef = vue.ref();
28
+ const optionkls = (item, index) => [
29
+ ns.be("dropdown", "item"),
30
+ ns.is("hovering", hoveringIndex.value === index),
31
+ ns.is("disabled", item.disabled || props.disabled)
32
+ ];
33
+ const handleSelect = (item) => {
34
+ if (item.disabled || props.disabled)
35
+ return;
36
+ emit("select", item);
37
+ };
38
+ const handleMouseEnter = (index) => {
39
+ hoveringIndex.value = index;
40
+ };
41
+ const filteredAllDisabled = vue.computed(() => props.disabled || props.options.every((item) => item.disabled));
42
+ const hoverOption = vue.computed(() => props.options[hoveringIndex.value]);
43
+ const selectHoverOption = () => {
44
+ if (!hoverOption.value)
45
+ return;
46
+ emit("select", hoverOption.value);
47
+ };
48
+ const navigateOptions = (direction) => {
49
+ const { options } = props;
50
+ if (options.length === 0 || filteredAllDisabled.value)
51
+ return;
52
+ if (direction === "next") {
53
+ hoveringIndex.value++;
54
+ if (hoveringIndex.value === options.length) {
55
+ hoveringIndex.value = 0;
56
+ }
57
+ } else if (direction === "prev") {
58
+ hoveringIndex.value--;
59
+ if (hoveringIndex.value < 0) {
60
+ hoveringIndex.value = options.length - 1;
61
+ }
62
+ }
63
+ const option = options[hoveringIndex.value];
64
+ if (option.disabled) {
65
+ navigateOptions(direction);
66
+ return;
67
+ }
68
+ vue.nextTick(() => scrollToOption(option));
69
+ };
70
+ const scrollToOption = (option) => {
71
+ var _a, _b, _c, _d;
72
+ const { options } = props;
73
+ const index = options.findIndex((item) => item.value === option.value);
74
+ const target = (_a = optionRefs.value) == null ? void 0 : _a[index];
75
+ if (target) {
76
+ const menu = (_c = (_b = dropdownRef.value) == null ? void 0 : _b.querySelector) == null ? void 0 : _c.call(_b, `.${ns.be("dropdown", "wrap")}`);
77
+ if (menu) {
78
+ scroll.scrollIntoView(menu, target);
79
+ }
80
+ }
81
+ (_d = scrollbarRef.value) == null ? void 0 : _d.handleScroll();
82
+ };
83
+ const resetHoveringIndex = () => {
84
+ if (filteredAllDisabled.value || props.options.length === 0) {
85
+ hoveringIndex.value = -1;
86
+ } else {
87
+ hoveringIndex.value = 0;
88
+ }
89
+ };
90
+ vue.watch(() => props.options, resetHoveringIndex, {
91
+ immediate: true
92
+ });
93
+ expose({
94
+ hoveringIndex,
95
+ navigateOptions,
96
+ selectHoverOption,
97
+ hoverOption
98
+ });
99
+ return (_ctx, _cache) => {
100
+ return vue.openBlock(), vue.createElementBlock("div", {
101
+ ref_key: "dropdownRef",
102
+ ref: dropdownRef,
103
+ class: vue.normalizeClass(vue.unref(ns).b("dropdown"))
104
+ }, [
105
+ _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
106
+ key: 0,
107
+ class: vue.normalizeClass(vue.unref(ns).be("dropdown", "header"))
108
+ }, [
109
+ vue.renderSlot(_ctx.$slots, "header")
110
+ ], 2)) : vue.createCommentVNode("v-if", true),
111
+ vue.withDirectives(vue.createVNode(vue.unref(index$2.ElScrollbar), {
112
+ id: _ctx.contentId,
113
+ ref_key: "scrollbarRef",
114
+ ref: scrollbarRef,
115
+ tag: "ul",
116
+ "wrap-class": vue.unref(ns).be("dropdown", "wrap"),
117
+ "view-class": vue.unref(ns).be("dropdown", "list"),
118
+ role: "listbox",
119
+ "aria-label": _ctx.ariaLabel,
120
+ "aria-orientation": "vertical"
121
+ }, {
122
+ default: vue.withCtx(() => [
123
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (item, index) => {
124
+ return vue.openBlock(), vue.createElementBlock("li", {
125
+ id: `${_ctx.contentId}-${index}`,
126
+ ref_for: true,
127
+ ref_key: "optionRefs",
128
+ ref: optionRefs,
129
+ key: index,
130
+ class: vue.normalizeClass(optionkls(item, index)),
131
+ role: "option",
132
+ "aria-disabled": item.disabled || _ctx.disabled || void 0,
133
+ "aria-selected": hoveringIndex.value === index,
134
+ onMousemove: ($event) => handleMouseEnter(index),
135
+ onClick: vue.withModifiers(($event) => handleSelect(item), ["stop"])
136
+ }, [
137
+ vue.renderSlot(_ctx.$slots, "label", {
138
+ item,
139
+ index
140
+ }, () => {
141
+ var _a;
142
+ return [
143
+ vue.createElementVNode("span", null, vue.toDisplayString((_a = item.label) != null ? _a : item.value), 1)
144
+ ];
145
+ })
146
+ ], 42, ["id", "aria-disabled", "aria-selected", "onMousemove", "onClick"]);
147
+ }), 128))
148
+ ]),
149
+ _: 3
150
+ }, 8, ["id", "wrap-class", "view-class", "aria-label"]), [
151
+ [vue.vShow, _ctx.options.length > 0 && !_ctx.loading]
152
+ ]),
153
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", {
154
+ key: 1,
155
+ class: vue.normalizeClass(vue.unref(ns).be("dropdown", "loading"))
156
+ }, [
157
+ vue.renderSlot(_ctx.$slots, "loading", {}, () => [
158
+ vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.mention.loading")), 1)
159
+ ])
160
+ ], 2)) : vue.createCommentVNode("v-if", true),
161
+ _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
162
+ key: 2,
163
+ class: vue.normalizeClass(vue.unref(ns).be("dropdown", "footer"))
164
+ }, [
165
+ vue.renderSlot(_ctx.$slots, "footer")
166
+ ], 2)) : vue.createCommentVNode("v-if", true)
167
+ ], 2);
168
+ };
169
+ }
170
+ });
171
+ var ElMentionDropdown = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "mention-dropdown.vue"]]);
21
172
 
22
- exports.mentionDropdownEmits = mentionDropdownEmits;
23
- exports.mentionDropdownProps = mentionDropdownProps;
173
+ exports["default"] = ElMentionDropdown;
24
174
  //# sourceMappingURL=mention-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mention-dropdown.js","sources":["../../../../../../packages/components/mention/src/mention-dropdown.ts"],"sourcesContent":["import { buildProps, definePropType, isString } from '@element-plus/utils'\n\nimport type { MentionOption } from './types'\n\nexport const mentionDropdownProps = buildProps({\n options: {\n type: definePropType<MentionOption[]>(Array),\n default: () => [],\n },\n loading: Boolean,\n disabled: Boolean,\n contentId: String,\n ariaLabel: String,\n})\n\nexport const mentionDropdownEmits = {\n select: (option: MentionOption) => isString(option.value),\n}\n"],"names":["buildProps","definePropType","isString"],"mappings":";;;;;;;AACY,MAAC,oBAAoB,GAAGA,kBAAU,CAAC;AAC/C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,SAAS,EAAE,MAAM;AACnB,CAAC,EAAE;AACS,MAAC,oBAAoB,GAAG;AACpC,EAAE,MAAM,EAAE,CAAC,MAAM,KAAKC,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5C;;;;;"}
1
+ {"version":3,"file":"mention-dropdown.js","sources":["../../../../../../packages/components/mention/src/mention-dropdown.vue"],"sourcesContent":["<template>\n <div ref=\"dropdownRef\" :class=\"ns.b('dropdown')\">\n <div v-if=\"$slots.header\" :class=\"ns.be('dropdown', 'header')\">\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"options.length > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"ns.be('dropdown', 'wrap')\"\n :view-class=\"ns.be('dropdown', 'list')\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n >\n <li\n v-for=\"(item, index) in options\"\n :id=\"`${contentId}-${index}`\"\n ref=\"optionRefs\"\n :key=\"index\"\n :class=\"optionkls(item, index)\"\n role=\"option\"\n :aria-disabled=\"item.disabled || disabled || undefined\"\n :aria-selected=\"hoveringIndex === index\"\n @mousemove=\"handleMouseEnter(index)\"\n @click.stop=\"handleSelect(item)\"\n >\n <slot name=\"label\" :item=\"item\" :index=\"index\">\n <span>{{ item.label ?? item.value }}</span>\n </slot>\n </li>\n </el-scrollbar>\n <div v-if=\"loading\" :class=\"ns.be('dropdown', 'loading')\">\n <slot name=\"loading\"> {{ t('el.mention.loading') }} </slot>\n </div>\n <div v-if=\"$slots.footer\" :class=\"ns.be('dropdown', 'footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { scrollIntoView } from '@element-plus/utils'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { mentionDropdownEmits, mentionDropdownProps } from './mention-dropdown'\n\nimport type { MentionOption } from './types'\n\ndefineOptions({\n name: 'ElMentionDropdown',\n})\n\nconst props = defineProps(mentionDropdownProps)\nconst emit = defineEmits(mentionDropdownEmits)\n\nconst ns = useNamespace('mention')\nconst { t } = useLocale()\nconst hoveringIndex = ref(-1)\n\nconst scrollbarRef = ref<InstanceType<typeof ElScrollbar>>()\nconst optionRefs = ref<HTMLElement[]>()\nconst dropdownRef = ref<HTMLElement>()\n\nconst optionkls = (item: MentionOption, index: number) => [\n ns.be('dropdown', 'item'),\n ns.is('hovering', hoveringIndex.value === index),\n ns.is('disabled', item.disabled || props.disabled),\n]\n\nconst handleSelect = (item: MentionOption) => {\n if (item.disabled || props.disabled) return\n emit('select', item)\n}\n\nconst handleMouseEnter = (index: number) => {\n hoveringIndex.value = index\n}\n\nconst filteredAllDisabled = computed(\n () => props.disabled || props.options.every((item) => item.disabled)\n)\n\nconst hoverOption = computed(() => props.options[hoveringIndex.value])\n\nconst selectHoverOption = () => {\n if (!hoverOption.value) return\n emit('select', hoverOption.value)\n}\n\nconst navigateOptions = (direction: 'next' | 'prev') => {\n const { options } = props\n if (options.length === 0 || filteredAllDisabled.value) return\n\n if (direction === 'next') {\n hoveringIndex.value++\n if (hoveringIndex.value === options.length) {\n hoveringIndex.value = 0\n }\n } else if (direction === 'prev') {\n hoveringIndex.value--\n if (hoveringIndex.value < 0) {\n hoveringIndex.value = options.length - 1\n }\n }\n const option = options[hoveringIndex.value]\n if (option.disabled) {\n navigateOptions(direction)\n return\n }\n nextTick(() => scrollToOption(option))\n}\n\nconst scrollToOption = (option: MentionOption) => {\n const { options } = props\n\n const index = options.findIndex((item) => item.value === option.value)\n const target = optionRefs.value?.[index]\n\n if (target) {\n const menu = dropdownRef.value?.querySelector?.(\n `.${ns.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n}\n\nconst resetHoveringIndex = () => {\n if (filteredAllDisabled.value || props.options.length === 0) {\n hoveringIndex.value = -1\n } else {\n hoveringIndex.value = 0\n }\n}\n\nwatch(() => props.options, resetHoveringIndex, {\n immediate: true,\n})\n\ndefineExpose({\n hoveringIndex,\n navigateOptions,\n selectHoverOption,\n hoverOption,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","computed","nextTick","scrollIntoView","watch"],"mappings":"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"}