@element-plus/nightly 0.0.20250220 → 0.0.20250222

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 (538) hide show
  1. package/dist/index.full.js +11 -9
  2. package/dist/index.full.min.js +10 -10
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +10 -10
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +11 -9
  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/breadcrumb/index.mjs +2 -2
  272. package/es/components/breadcrumb/src/breadcrumb-item.mjs +8 -56
  273. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  274. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +56 -8
  275. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  276. package/es/components/cascader-panel/src/index.mjs +1 -1
  277. package/es/components/cascader-panel/src/menu.mjs +1 -1
  278. package/es/components/cascader-panel/src/node.mjs +115 -206
  279. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  280. package/es/components/cascader-panel/src/node2.mjs +206 -115
  281. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  282. package/es/components/cascader-panel/src/store.mjs +1 -1
  283. package/es/components/checkbox/index.mjs +2 -2
  284. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  285. package/es/components/checkbox/src/checkbox.mjs +119 -59
  286. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  287. package/es/components/checkbox/src/checkbox2.mjs +59 -119
  288. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  289. package/es/components/collection/src/collection.mjs +2 -2
  290. package/es/components/collection/src/collection.mjs.map +1 -1
  291. package/es/components/collection/src/tokens.d.ts +2 -2
  292. package/es/components/countdown/index.mjs +2 -2
  293. package/es/components/countdown/src/countdown.mjs +79 -22
  294. package/es/components/countdown/src/countdown.mjs.map +1 -1
  295. package/es/components/countdown/src/countdown2.mjs +22 -79
  296. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  297. package/es/components/descriptions/index.mjs +2 -2
  298. package/es/components/descriptions/src/description.mjs +126 -26
  299. package/es/components/descriptions/src/description.mjs.map +1 -1
  300. package/es/components/descriptions/src/description2.mjs +26 -126
  301. package/es/components/descriptions/src/description2.mjs.map +1 -1
  302. package/es/components/dialog/src/dialog-content.mjs +87 -29
  303. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  304. package/es/components/dialog/src/dialog-content2.mjs +29 -87
  305. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  306. package/es/components/dialog/src/dialog.mjs +1 -1
  307. package/es/components/dialog/src/dialog2.mjs +1 -1
  308. package/es/components/drawer/index.mjs +2 -2
  309. package/es/components/drawer/src/drawer.mjs +26 -178
  310. package/es/components/drawer/src/drawer.mjs.map +1 -1
  311. package/es/components/drawer/src/drawer2.mjs +178 -26
  312. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  313. package/es/components/dropdown/index.mjs +2 -2
  314. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  315. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  316. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  317. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  318. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  319. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  320. package/es/components/dropdown/src/dropdown.d.ts +2 -2
  321. package/es/components/dropdown/src/dropdown.mjs +299 -106
  322. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  323. package/es/components/dropdown/src/dropdown.vue.d.ts +5 -5
  324. package/es/components/dropdown/src/dropdown2.mjs +108 -298
  325. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  326. package/es/components/dropdown/src/tokens.d.ts +3 -2
  327. package/es/components/dropdown/src/tokens.mjs.map +1 -1
  328. package/es/components/dropdown/src/useDropdown.d.ts +0 -1
  329. package/es/components/dropdown/src/useDropdown.mjs +2 -90
  330. package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
  331. package/es/components/index.mjs +15 -15
  332. package/es/components/mention/index.mjs +2 -2
  333. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  334. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  335. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  336. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  337. package/es/components/mention/src/mention.mjs +282 -62
  338. package/es/components/mention/src/mention.mjs.map +1 -1
  339. package/es/components/mention/src/mention2.mjs +62 -282
  340. package/es/components/mention/src/mention2.mjs.map +1 -1
  341. package/es/components/menu/index.mjs +2 -2
  342. package/es/components/menu/src/menu-item.mjs +15 -97
  343. package/es/components/menu/src/menu-item.mjs.map +1 -1
  344. package/es/components/menu/src/menu-item2.mjs +97 -15
  345. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  346. package/es/components/popover/src/popover.mjs +1 -1
  347. package/es/components/progress/index.mjs +2 -2
  348. package/es/components/progress/src/progress.mjs +207 -53
  349. package/es/components/progress/src/progress.mjs.map +1 -1
  350. package/es/components/progress/src/progress2.mjs +53 -207
  351. package/es/components/progress/src/progress2.mjs.map +1 -1
  352. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  353. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  354. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  355. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
  356. package/es/components/roving-focus-group/src/tokens.d.ts +2 -2
  357. package/es/components/roving-focus-group/src/tokens.mjs.map +1 -1
  358. package/es/components/scrollbar/index.mjs +1 -1
  359. package/es/components/scrollbar/src/bar2.mjs +1 -1
  360. package/es/components/scrollbar/src/thumb.mjs +129 -11
  361. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  362. package/es/components/scrollbar/src/thumb2.mjs +11 -129
  363. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  364. package/es/components/tabs/index.mjs +1 -1
  365. package/es/components/tabs/src/tab-bar.mjs +95 -7
  366. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  367. package/es/components/tabs/src/tab-bar2.mjs +7 -95
  368. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  369. package/es/components/tabs/src/tab-nav.mjs +1 -1
  370. package/es/components/text/index.mjs +2 -2
  371. package/es/components/text/src/text.mjs +67 -21
  372. package/es/components/text/src/text.mjs.map +1 -1
  373. package/es/components/text/src/text2.mjs +21 -67
  374. package/es/components/text/src/text2.mjs.map +1 -1
  375. package/es/components/tooltip/index.mjs +2 -2
  376. package/es/components/tooltip/src/tooltip.mjs +30 -166
  377. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  378. package/es/components/tooltip/src/tooltip2.mjs +166 -30
  379. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  380. package/es/components/tooltip-v2/index.mjs +1 -1
  381. package/es/components/tooltip-v2/src/content.mjs +110 -48
  382. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  383. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  384. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  385. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  386. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  387. package/es/components/tour/index.mjs +2 -2
  388. package/es/components/tour/src/tour.mjs +153 -68
  389. package/es/components/tour/src/tour.mjs.map +1 -1
  390. package/es/components/tour/src/tour2.mjs +68 -153
  391. package/es/components/tour/src/tour2.mjs.map +1 -1
  392. package/es/components/watermark/index.mjs +2 -2
  393. package/es/components/watermark/src/watermark.mjs +27 -210
  394. package/es/components/watermark/src/watermark.mjs.map +1 -1
  395. package/es/components/watermark/src/watermark2.mjs +210 -27
  396. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  397. package/es/directives/click-outside/index.mjs +1 -1
  398. package/es/hooks/use-focus-controller/index.mjs +1 -1
  399. package/es/hooks/use-lockscreen/index.mjs +1 -1
  400. package/es/index.mjs +15 -15
  401. package/es/version.d.ts +1 -1
  402. package/es/version.mjs +1 -1
  403. package/es/version.mjs.map +1 -1
  404. package/lib/components/breadcrumb/index.js +2 -2
  405. package/lib/components/breadcrumb/src/breadcrumb-item.js +8 -56
  406. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  407. package/lib/components/breadcrumb/src/breadcrumb-item2.js +56 -8
  408. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  409. package/lib/components/cascader-panel/src/index.js +1 -1
  410. package/lib/components/cascader-panel/src/menu.js +1 -1
  411. package/lib/components/cascader-panel/src/node.js +115 -206
  412. package/lib/components/cascader-panel/src/node.js.map +1 -1
  413. package/lib/components/cascader-panel/src/node2.js +206 -115
  414. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  415. package/lib/components/cascader-panel/src/store.js +1 -1
  416. package/lib/components/checkbox/index.js +2 -2
  417. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  418. package/lib/components/checkbox/src/checkbox.js +119 -60
  419. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  420. package/lib/components/checkbox/src/checkbox2.js +60 -119
  421. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  422. package/lib/components/collection/src/collection.js +2 -2
  423. package/lib/components/collection/src/collection.js.map +1 -1
  424. package/lib/components/collection/src/tokens.d.ts +2 -2
  425. package/lib/components/countdown/index.js +2 -2
  426. package/lib/components/countdown/src/countdown.js +79 -23
  427. package/lib/components/countdown/src/countdown.js.map +1 -1
  428. package/lib/components/countdown/src/countdown2.js +23 -79
  429. package/lib/components/countdown/src/countdown2.js.map +1 -1
  430. package/lib/components/descriptions/index.js +2 -2
  431. package/lib/components/descriptions/src/description.js +126 -26
  432. package/lib/components/descriptions/src/description.js.map +1 -1
  433. package/lib/components/descriptions/src/description2.js +26 -126
  434. package/lib/components/descriptions/src/description2.js.map +1 -1
  435. package/lib/components/dialog/src/dialog-content.js +86 -29
  436. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  437. package/lib/components/dialog/src/dialog-content2.js +29 -86
  438. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  439. package/lib/components/dialog/src/dialog.js +1 -1
  440. package/lib/components/dialog/src/dialog2.js +1 -1
  441. package/lib/components/drawer/index.js +2 -2
  442. package/lib/components/drawer/src/drawer.js +27 -178
  443. package/lib/components/drawer/src/drawer.js.map +1 -1
  444. package/lib/components/drawer/src/drawer2.js +178 -27
  445. package/lib/components/drawer/src/drawer2.js.map +1 -1
  446. package/lib/components/dropdown/index.js +2 -2
  447. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  448. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  449. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  450. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  451. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  452. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  453. package/lib/components/dropdown/src/dropdown.d.ts +2 -2
  454. package/lib/components/dropdown/src/dropdown.js +299 -115
  455. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  456. package/lib/components/dropdown/src/dropdown.vue.d.ts +5 -5
  457. package/lib/components/dropdown/src/dropdown2.js +117 -298
  458. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  459. package/lib/components/dropdown/src/tokens.d.ts +3 -2
  460. package/lib/components/dropdown/src/tokens.js.map +1 -1
  461. package/lib/components/dropdown/src/useDropdown.d.ts +0 -1
  462. package/lib/components/dropdown/src/useDropdown.js +0 -89
  463. package/lib/components/dropdown/src/useDropdown.js.map +1 -1
  464. package/lib/components/index.js +15 -15
  465. package/lib/components/mention/index.js +2 -2
  466. package/lib/components/mention/src/mention-dropdown.js +166 -16
  467. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  468. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  469. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  470. package/lib/components/mention/src/mention.js +280 -61
  471. package/lib/components/mention/src/mention.js.map +1 -1
  472. package/lib/components/mention/src/mention2.js +61 -280
  473. package/lib/components/mention/src/mention2.js.map +1 -1
  474. package/lib/components/menu/index.js +2 -2
  475. package/lib/components/menu/src/menu-item.js +16 -97
  476. package/lib/components/menu/src/menu-item.js.map +1 -1
  477. package/lib/components/menu/src/menu-item2.js +97 -16
  478. package/lib/components/menu/src/menu-item2.js.map +1 -1
  479. package/lib/components/popover/src/popover.js +1 -1
  480. package/lib/components/progress/index.js +2 -2
  481. package/lib/components/progress/src/progress.js +207 -53
  482. package/lib/components/progress/src/progress.js.map +1 -1
  483. package/lib/components/progress/src/progress2.js +53 -207
  484. package/lib/components/progress/src/progress2.js.map +1 -1
  485. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  486. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  487. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  488. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
  489. package/lib/components/roving-focus-group/src/tokens.d.ts +2 -2
  490. package/lib/components/roving-focus-group/src/tokens.js.map +1 -1
  491. package/lib/components/scrollbar/index.js +1 -1
  492. package/lib/components/scrollbar/src/bar2.js +1 -1
  493. package/lib/components/scrollbar/src/thumb.js +129 -11
  494. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  495. package/lib/components/scrollbar/src/thumb2.js +11 -129
  496. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  497. package/lib/components/tabs/index.js +1 -1
  498. package/lib/components/tabs/src/tab-bar.js +95 -7
  499. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  500. package/lib/components/tabs/src/tab-bar2.js +7 -95
  501. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  502. package/lib/components/tabs/src/tab-nav.js +1 -1
  503. package/lib/components/text/index.js +2 -2
  504. package/lib/components/text/src/text.js +67 -21
  505. package/lib/components/text/src/text.js.map +1 -1
  506. package/lib/components/text/src/text2.js +21 -67
  507. package/lib/components/text/src/text2.js.map +1 -1
  508. package/lib/components/tooltip/index.js +2 -2
  509. package/lib/components/tooltip/src/tooltip.js +34 -166
  510. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  511. package/lib/components/tooltip/src/tooltip2.js +166 -34
  512. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  513. package/lib/components/tooltip-v2/index.js +1 -1
  514. package/lib/components/tooltip-v2/src/content.js +110 -48
  515. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  516. package/lib/components/tooltip-v2/src/content2.js +48 -110
  517. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  518. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  519. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  520. package/lib/components/tour/index.js +2 -2
  521. package/lib/components/tour/src/tour.js +152 -68
  522. package/lib/components/tour/src/tour.js.map +1 -1
  523. package/lib/components/tour/src/tour2.js +68 -152
  524. package/lib/components/tour/src/tour2.js.map +1 -1
  525. package/lib/components/watermark/index.js +2 -2
  526. package/lib/components/watermark/src/watermark.js +27 -210
  527. package/lib/components/watermark/src/watermark.js.map +1 -1
  528. package/lib/components/watermark/src/watermark2.js +210 -27
  529. package/lib/components/watermark/src/watermark2.js.map +1 -1
  530. package/lib/directives/click-outside/index.js +1 -1
  531. package/lib/hooks/use-focus-controller/index.js +1 -1
  532. package/lib/hooks/use-lockscreen/index.js +1 -1
  533. package/lib/index.js +15 -15
  534. package/lib/version.d.ts +1 -1
  535. package/lib/version.js +1 -1
  536. package/lib/version.js.map +1 -1
  537. package/package.json +2 -2
  538. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":["buildProps","dialogProps","dialogEmits"],"mappings":";;;;;;;AAEY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,GAAGC,kBAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAGC;;;;;"}
1
+ {"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[ns.b(), direction, visible && 'open']\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"[ns.e('header'), headerClass]\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <close />\n </el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"[ns.e('body'), bodyClass]\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\ndefineOptions({\n name: 'ElDrawer',\n inheritAttrs: false,\n})\n\nconst props = defineProps(drawerProps)\ndefineEmits(drawerEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst drawerRef = ref<HTMLElement>()\nconst focusStartRef = ref<HTMLElement>()\nconst ns = useNamespace('drawer')\nconst { t } = useLocale()\nconst {\n afterEnter,\n afterLeave,\n beforeLeave,\n visible,\n rendered,\n titleId,\n bodyId,\n zIndex,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusoutPrevented,\n onCloseRequested,\n handleClose,\n} = useDialog(props, drawerRef)\n\nconst isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n)\nconst drawerSize = computed(() => addUnit(props.size))\n\ndefineExpose({\n handleClose,\n afterEnter,\n afterLeave,\n})\n</script>\n"],"names":["useSlots","useDeprecated","computed","ref","useNamespace","useDialog","addUnit","_openBlock","_createBlock","_unref","ElTeleport"],"mappings":";;;;;;;;;;;;;;;;;;uCAwGc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IAAAC,mBAAA,CAAA;AAAA,MACE,KAAA,EAAA,WAAA;AAAA,MAAA,IACS,EAAA,gBAAA;AAAA,MAAA,WACD,EAAA,iBAAA;AAAA,MAAA,OACO,EAAA,OAAA;AAAA,MAAA,GACJ,EAAA,4DAAA;AAAA,KAAA,EAAAC,YACJ,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACP,MAAA,SAAA,GAAAC,OAAA,EAAA,CAAA;AAAA,IAAA,MACS,aAAQ,UAAM,EAAK,CAAA;AAAA,IAC9B,MAAA,EAAA,GAAAC,oBAAA,CAAA,QAAA,CAAA,CAAA;AAEA,IAAA,MAAM,yBAA6B,EAAA,CAAA;AACnC,IAAA,MAAM;AACN,MAAM;AACN,MAAM,UAAI;AACV,MAAM,WAAA;AAAA,MACJ,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,KACA,GAAAC,mBAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACA,MAAA,YAAA,GAAAH,YAAA,CAAA,MAAA,KAAA,CAAA,SAAA,KAAA,KAAA,IAAA,KAAA,CAAA,SAAA,KAAA,KAAA,CAAA,CAAA;AAAA,IACA,MAAA,UAAA,GAAAA,YAAA,CAAA,MAAAI,aAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,IACF,MAAc,CAAA;AAEd,MAAA,WAAqB;AAAA,MACnB,UAAM;AAAiD,MACzD,UAAA;AACA,KAAA,CAAA,CAAA;AAEA,IAAa,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACX,OAAAC,aAAA,EAAA,EAAAC,eAAA,CAAAC,SAAA,CAAAC,kBAAA,CAAA,EAAA;AAAA,QACA,EAAA,EAAA,IAAA,CAAA,QAAA;AAAA,QACA,QAAA,EAAA,IAAA,CAAA,QAAA,KAAA,MAAA,GAAA,KAAA,GAAA,CAAA,IAAA,CAAA,YAAA;AAAA,OACD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dropdown$1 = require('./src/dropdown2.js');
5
+ var dropdown$1 = require('./src/dropdown.js');
6
6
  var dropdownItem = require('./src/dropdown-item.js');
7
7
  var dropdownMenu = require('./src/dropdown-menu.js');
8
- var dropdown = require('./src/dropdown.js');
8
+ var dropdown = require('./src/dropdown2.js');
9
9
  var tokens = require('./src/tokens.js');
10
10
  var install = require('../../utils/vue/install.js');
11
11
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var index = require('../../icon/index.js');
7
- var dropdown = require('./dropdown.js');
7
+ var dropdown = require('./dropdown2.js');
8
8
  var tokens = require('./tokens.js');
9
9
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
10
  var rovingFocusGroup = require('../../roving-focus-group/src/roving-focus-group.js');
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item-impl.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <li\n v-if=\"divided\"\n role=\"separator\"\n :class=\"ns.bem('menu', 'item', 'divided')\"\n />\n <li\n :ref=\"itemRef\"\n v-bind=\"{ ...dataset, ...$attrs }\"\n :aria-disabled=\"disabled\"\n :class=\"[ns.be('menu', 'item'), ns.is('disabled', disabled)]\"\n :tabindex=\"tabIndex\"\n :role=\"role\"\n @click=\"(e) => $emit('clickimpl', e)\"\n @focus=\"handleFocus\"\n @keydown.self=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <slot />\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, inject } from 'vue'\nimport {\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n} from '@element-plus/components/roving-focus-group'\nimport { COLLECTION_ITEM_SIGN } from '@element-plus/components/collection'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click', 'clickimpl'],\n setup(_, { emit }) {\n const ns = useNamespace('dropdown')\n\n const { role: menuRole } = inject(DROPDOWN_INJECTION_KEY, undefined)!\n\n const { collectionItemRef: dropdownCollectionItemRef } = inject(\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n undefined\n )!\n\n const { collectionItemRef: rovingFocusCollectionItemRef } = inject(\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupItemRef,\n tabIndex,\n handleFocus,\n handleKeydown: handleItemKeydown,\n handleMousedown,\n } = inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, undefined)!\n\n const itemRef = composeRefs(\n dropdownCollectionItemRef,\n rovingFocusCollectionItemRef,\n rovingFocusGroupItemRef\n )\n\n const role = computed<string>(() => {\n if (menuRole.value === 'menu') {\n return 'menuitem'\n } else if (menuRole.value === 'navigation') {\n return 'link'\n }\n return 'button'\n })\n\n const handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n if (\n [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space].includes(\n e.code\n )\n ) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('clickimpl', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n ns,\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n role,\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","dropdownItemProps","useNamespace","inject","DROPDOWN_INJECTION_KEY","DROPDOWN_COLLECTION_ITEM_INJECTION_KEY","ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY","composeRefs","computed","composeEventHandlers","EVENT_CODE","COLLECTION_ITEM_SIGN","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_normalizeClass","_createCommentVNode","_createElementVNode","_mergeProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-item-impl.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <li\n v-if=\"divided\"\n role=\"separator\"\n :class=\"ns.bem('menu', 'item', 'divided')\"\n />\n <li\n :ref=\"itemRef\"\n v-bind=\"{ ...dataset, ...$attrs }\"\n :aria-disabled=\"disabled\"\n :class=\"[ns.be('menu', 'item'), ns.is('disabled', disabled)]\"\n :tabindex=\"tabIndex\"\n :role=\"role\"\n @click=\"(e) => $emit('clickimpl', e)\"\n @focus=\"handleFocus\"\n @keydown.self=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <slot />\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject } from 'vue'\nimport {\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n} from '@element-plus/components/roving-focus-group'\nimport { COLLECTION_ITEM_SIGN } from '@element-plus/components/collection'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click', 'clickimpl'],\n setup(_, { emit }) {\n const ns = useNamespace('dropdown')\n\n const { role: menuRole } = inject(DROPDOWN_INJECTION_KEY, undefined)!\n\n const { collectionItemRef: dropdownCollectionItemRef } = inject(\n DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n undefined\n )!\n\n const { collectionItemRef: rovingFocusCollectionItemRef } = inject(\n ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupItemRef,\n tabIndex,\n handleFocus,\n handleKeydown: handleItemKeydown,\n handleMousedown,\n } = inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, undefined)!\n\n const itemRef = composeRefs(\n dropdownCollectionItemRef,\n rovingFocusCollectionItemRef,\n rovingFocusGroupItemRef\n )\n\n const role = computed<string>(() => {\n if (menuRole.value === 'menu') {\n return 'menuitem'\n } else if (menuRole.value === 'navigation') {\n return 'link'\n }\n return 'button'\n })\n\n const handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n if (\n [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space].includes(\n e.code\n )\n ) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('clickimpl', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n ns,\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n role,\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","dropdownItemProps","useNamespace","inject","DROPDOWN_INJECTION_KEY","DROPDOWN_COLLECTION_ITEM_INJECTION_KEY","ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY","composeRefs","computed","composeEventHandlers","EVENT_CODE","COLLECTION_ITEM_SIGN","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_normalizeClass","_createCommentVNode","_createElementVNode","_mergeProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}
@@ -6,7 +6,7 @@ var vue = require('vue');
6
6
  var rovingFocusItem = require('../../roving-focus-group/src/roving-focus-item.js');
7
7
  var dropdownItemImpl = require('./dropdown-item-impl.js');
8
8
  var useDropdown = require('./useDropdown.js');
9
- var dropdown = require('./dropdown.js');
9
+ var dropdown = require('./dropdown2.js');
10
10
  var tokens = require('./tokens.js');
11
11
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
12
  var event = require('../../../utils/dom/event.js');
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var tokens$1 = require('./tokens.js');
7
- var dropdown = require('./dropdown.js');
7
+ var dropdown = require('./dropdown2.js');
8
8
  var useDropdown = require('./useDropdown.js');
9
9
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
10
  var tokens$2 = require('../../roving-focus-group/src/tokens.js');
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-menu.vue"],"sourcesContent":["<template>\n <ul\n :ref=\"dropdownListWrapperRef\"\n :class=\"dropdownKls\"\n :style=\"rovingFocusGroupRootStyle\"\n :tabindex=\"-1\"\n :role=\"role\"\n :aria-labelledby=\"triggerId\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @keydown.self=\"handleKeydown\"\n @mousedown.self=\"onMousedown\"\n >\n <slot />\n </ul>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, inject, unref } from 'vue'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n focusFirst,\n} from '@element-plus/components/roving-focus-group'\nimport { useNamespace } from '@element-plus/hooks'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\nimport {\n DROPDOWN_COLLECTION_INJECTION_KEY,\n FIRST_LAST_KEYS,\n LAST_KEYS,\n dropdownMenuProps,\n} from './dropdown'\nimport { useDropdown } from './useDropdown'\n\nexport default defineComponent({\n name: 'ElDropdownMenu',\n props: dropdownMenuProps,\n setup(props) {\n const ns = useNamespace('dropdown')\n const { _elDropdownSize } = useDropdown()\n const size = _elDropdownSize.value\n\n const { focusTrapRef, onKeydown } = inject(\n FOCUS_TRAP_INJECTION_KEY,\n undefined\n )!\n\n const { contentRef, role, triggerId } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const { collectionRef: dropdownCollectionRef, getItems } = inject(\n DROPDOWN_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n tabIndex,\n onBlur,\n onFocus,\n onMousedown,\n } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, undefined)!\n\n const { collectionRef: rovingFocusGroupCollectionRef } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const dropdownKls = computed(() => {\n return [ns.b('menu'), ns.bm('menu', size?.value)]\n })\n\n const dropdownListWrapperRef = composeRefs(\n contentRef,\n dropdownCollectionRef,\n focusTrapRef,\n rovingFocusGroupRef,\n rovingFocusGroupCollectionRef\n )\n\n const composedKeydown = composeEventHandlers(\n (e: KeyboardEvent) => {\n props.onKeydown?.(e)\n },\n (e) => {\n const { currentTarget, code, target } = e\n const isKeydownContained = (currentTarget as Node).contains(\n target as Node\n )\n\n if (isKeydownContained) {\n // TODO: implement typeahead search\n }\n\n if (EVENT_CODE.tab === code) {\n e.stopImmediatePropagation()\n }\n\n e.preventDefault()\n\n if (target !== unref(contentRef) || !FIRST_LAST_KEYS.includes(code))\n return\n const items = getItems<{ disabled: boolean }>().filter(\n (item) => !item.disabled\n )\n const targets = items.map((item) => item.ref!)\n if (LAST_KEYS.includes(code)) {\n targets.reverse()\n }\n focusFirst(targets)\n }\n )\n\n const handleKeydown = (e: KeyboardEvent) => {\n composedKeydown(e)\n onKeydown(e)\n }\n\n return {\n size,\n rovingFocusGroupRootStyle,\n tabIndex,\n dropdownKls,\n role,\n triggerId,\n dropdownListWrapperRef,\n handleKeydown,\n onBlur,\n onFocus,\n onMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","dropdownMenuProps","useNamespace","useDropdown","inject","FOCUS_TRAP_INJECTION_KEY","DROPDOWN_INJECTION_KEY","DROPDOWN_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_INJECTION_KEY","ROVING_FOCUS_COLLECTION_INJECTION_KEY","computed","composeRefs","composeEventHandlers","EVENT_CODE","unref","FIRST_LAST_KEYS","LAST_KEYS","focusFirst","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_withModifiers","_renderSlot","_export_sfc"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-menu.vue"],"sourcesContent":["<template>\n <ul\n :ref=\"dropdownListWrapperRef\"\n :class=\"dropdownKls\"\n :style=\"rovingFocusGroupRootStyle\"\n :tabindex=\"-1\"\n :role=\"role\"\n :aria-labelledby=\"triggerId\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @keydown.self=\"handleKeydown\"\n @mousedown.self=\"onMousedown\"\n >\n <slot />\n </ul>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, unref } from 'vue'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@element-plus/components/focus-trap'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n focusFirst,\n} from '@element-plus/components/roving-focus-group'\nimport { useNamespace } from '@element-plus/hooks'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\nimport {\n DROPDOWN_COLLECTION_INJECTION_KEY,\n FIRST_LAST_KEYS,\n LAST_KEYS,\n dropdownMenuProps,\n} from './dropdown'\nimport { useDropdown } from './useDropdown'\n\nexport default defineComponent({\n name: 'ElDropdownMenu',\n props: dropdownMenuProps,\n setup(props) {\n const ns = useNamespace('dropdown')\n const { _elDropdownSize } = useDropdown()\n const size = _elDropdownSize.value\n\n const { focusTrapRef, onKeydown } = inject(\n FOCUS_TRAP_INJECTION_KEY,\n undefined\n )!\n\n const { contentRef, role, triggerId } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const { collectionRef: dropdownCollectionRef, getItems } = inject(\n DROPDOWN_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const {\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n tabIndex,\n onBlur,\n onFocus,\n onMousedown,\n } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, undefined)!\n\n const { collectionRef: rovingFocusGroupCollectionRef } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const dropdownKls = computed(() => {\n return [ns.b('menu'), ns.bm('menu', size?.value)]\n })\n\n const dropdownListWrapperRef = composeRefs(\n contentRef,\n dropdownCollectionRef,\n focusTrapRef,\n rovingFocusGroupRef,\n rovingFocusGroupCollectionRef\n )\n\n const composedKeydown = composeEventHandlers(\n (e: KeyboardEvent) => {\n props.onKeydown?.(e)\n },\n (e) => {\n const { currentTarget, code, target } = e\n const isKeydownContained = (currentTarget as Node).contains(\n target as Node\n )\n\n if (isKeydownContained) {\n // TODO: implement typeahead search\n }\n\n if (EVENT_CODE.tab === code) {\n e.stopImmediatePropagation()\n }\n\n e.preventDefault()\n\n if (target !== unref(contentRef) || !FIRST_LAST_KEYS.includes(code))\n return\n const items = getItems<{ disabled: boolean }>().filter(\n (item) => !item.disabled\n )\n const targets = items.map((item) => item.ref!)\n if (LAST_KEYS.includes(code)) {\n targets.reverse()\n }\n focusFirst(targets)\n }\n )\n\n const handleKeydown = (e: KeyboardEvent) => {\n composedKeydown(e)\n onKeydown(e)\n }\n\n return {\n size,\n rovingFocusGroupRootStyle,\n tabIndex,\n dropdownKls,\n role,\n triggerId,\n dropdownListWrapperRef,\n handleKeydown,\n onBlur,\n onFocus,\n onMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","dropdownMenuProps","useNamespace","useDropdown","inject","FOCUS_TRAP_INJECTION_KEY","DROPDOWN_INJECTION_KEY","DROPDOWN_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_INJECTION_KEY","ROVING_FOCUS_COLLECTION_INJECTION_KEY","computed","composeRefs","composeEventHandlers","EVENT_CODE","unref","FIRST_LAST_KEYS","LAST_KEYS","focusFirst","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_withModifiers","_renderSlot","_export_sfc"],"mappings":"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"}
@@ -10,7 +10,7 @@ declare const _default: import("vue").DefineComponent<{
10
10
  rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
11
11
  tabIndex: import("vue").Ref<number>;
12
12
  dropdownKls: import("vue").ComputedRef<string[]>;
13
- role: import("vue").ComputedRef<string>;
13
+ role: import("vue").ComputedRef<import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "dialog" | "menu" | "grid" | "listbox" | "tooltip" | "tree" | "group" | "navigation", unknown>>;
14
14
  triggerId: import("vue").ComputedRef<string>;
15
15
  dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance | null) => void;
16
16
  handleKeydown: (e: KeyboardEvent) => void;
@@ -1,6 +1,6 @@
1
+ import { type Placement } from '@element-plus/nightly/es/components/popper';
1
2
  import type { Options } from '@popperjs/core';
2
3
  import type { ButtonProps } from '@element-plus/nightly/es/components/button';
3
- import type { Placement } from '@element-plus/nightly/es/components/popper';
4
4
  import type { ComponentInternalInstance, ComputedRef } from 'vue';
5
5
  import type { Nullable } from '@element-plus/nightly/es/utils';
6
6
  export interface IElDropdownInstance {
@@ -43,7 +43,7 @@ export declare const dropdownProps: {
43
43
  readonly maxHeight: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
44
44
  readonly popperClass: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
45
45
  readonly disabled: BooleanConstructor;
46
- readonly role: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "menu", boolean>;
46
+ readonly role: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "dialog" | "menu" | "grid" | "listbox" | "tooltip" | "tree" | "group" | "navigation", unknown, "menu", boolean>;
47
47
  readonly buttonProps: {
48
48
  readonly type: import("vue").PropType<ButtonProps>;
49
49
  readonly required: false;
@@ -2,124 +2,308 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var trigger = require('../../tooltip/src/trigger.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
- var aria = require('../../../constants/aria.js');
8
- var content = require('../../tooltip/src/content.js');
9
- var icon = require('../../../utils/vue/icon.js');
10
- var collection = require('../../collection/src/collection.js');
5
+ var vue = require('vue');
6
+ var index = require('../../button/index.js');
7
+ var index$2 = require('../../tooltip/index.js');
8
+ var index$1 = require('../../scrollbar/index.js');
9
+ var index$3 = require('../../icon/index.js');
10
+ var rovingFocusGroup = require('../../roving-focus-group/src/roving-focus-group2.js');
11
+ var iconsVue = require('@element-plus/icons-vue');
12
+ var dropdown = require('./dropdown2.js');
13
+ var tokens = require('./tokens.js');
14
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
15
+ var onlyChild = require('../../slot/src/only-child.js');
16
+ var index$4 = require('../../../hooks/use-namespace/index.js');
17
+ var index$5 = require('../../../hooks/use-locale/index.js');
18
+ var style = require('../../../utils/dom/style.js');
19
+ var lodashUnified = require('lodash-unified');
20
+ var index$6 = require('../../../hooks/use-id/index.js');
21
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
11
22
 
12
- const dropdownProps = runtime.buildProps({
13
- trigger: trigger.useTooltipTriggerProps.trigger,
14
- triggerKeys: {
15
- type: runtime.definePropType(Array),
16
- default: () => [
17
- aria.EVENT_CODE.enter,
18
- aria.EVENT_CODE.numpadEnter,
19
- aria.EVENT_CODE.space,
20
- aria.EVENT_CODE.down
21
- ]
23
+ const { ButtonGroup: ElButtonGroup } = index.ElButton;
24
+ const _sfc_main = vue.defineComponent({
25
+ name: "ElDropdown",
26
+ components: {
27
+ ElButton: index.ElButton,
28
+ ElButtonGroup,
29
+ ElScrollbar: index$1.ElScrollbar,
30
+ ElDropdownCollection: dropdown.ElCollection,
31
+ ElTooltip: index$2.ElTooltip,
32
+ ElRovingFocusGroup: rovingFocusGroup["default"],
33
+ ElOnlyChild: onlyChild.OnlyChild,
34
+ ElIcon: index$3.ElIcon,
35
+ ArrowDown: iconsVue.ArrowDown
22
36
  },
23
- effect: {
24
- ...content.useTooltipContentProps.effect,
25
- default: "light"
26
- },
27
- type: {
28
- type: runtime.definePropType(String)
29
- },
30
- placement: {
31
- type: runtime.definePropType(String),
32
- default: "bottom"
33
- },
34
- popperOptions: {
35
- type: runtime.definePropType(Object),
36
- default: () => ({})
37
- },
38
- id: String,
39
- size: {
40
- type: String,
41
- default: ""
42
- },
43
- splitButton: Boolean,
44
- hideOnClick: {
45
- type: Boolean,
46
- default: true
47
- },
48
- loop: {
49
- type: Boolean,
50
- default: true
51
- },
52
- showTimeout: {
53
- type: Number,
54
- default: 150
55
- },
56
- hideTimeout: {
57
- type: Number,
58
- default: 150
59
- },
60
- tabindex: {
61
- type: runtime.definePropType([Number, String]),
62
- default: 0
63
- },
64
- maxHeight: {
65
- type: runtime.definePropType([Number, String]),
66
- default: ""
67
- },
68
- popperClass: {
69
- type: String,
70
- default: ""
71
- },
72
- disabled: Boolean,
73
- role: {
74
- type: String,
75
- default: "menu"
76
- },
77
- buttonProps: {
78
- type: runtime.definePropType(Object)
79
- },
80
- teleported: content.useTooltipContentProps.teleported,
81
- persistent: {
82
- type: Boolean,
83
- default: true
37
+ props: dropdown.dropdownProps,
38
+ emits: ["visible-change", "click", "command"],
39
+ setup(props, { emit }) {
40
+ const _instance = vue.getCurrentInstance();
41
+ const ns = index$4.useNamespace("dropdown");
42
+ const { t } = index$5.useLocale();
43
+ const triggeringElementRef = vue.ref();
44
+ const referenceElementRef = vue.ref();
45
+ const popperRef = vue.ref();
46
+ const contentRef = vue.ref();
47
+ const scrollbar = vue.ref(null);
48
+ const currentTabId = vue.ref(null);
49
+ const isUsingKeyboard = vue.ref(false);
50
+ const wrapStyle = vue.computed(() => ({
51
+ maxHeight: style.addUnit(props.maxHeight)
52
+ }));
53
+ const dropdownTriggerKls = vue.computed(() => [ns.m(dropdownSize.value)]);
54
+ const trigger = vue.computed(() => lodashUnified.castArray(props.trigger));
55
+ const defaultTriggerId = index$6.useId().value;
56
+ const triggerId = vue.computed(() => props.id || defaultTriggerId);
57
+ vue.watch([triggeringElementRef, trigger], ([triggeringElement, trigger2], [prevTriggeringElement]) => {
58
+ var _a, _b, _c;
59
+ if ((_a = prevTriggeringElement == null ? void 0 : prevTriggeringElement.$el) == null ? void 0 : _a.removeEventListener) {
60
+ prevTriggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
61
+ }
62
+ if ((_b = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _b.removeEventListener) {
63
+ triggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
64
+ }
65
+ if (((_c = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _c.addEventListener) && trigger2.includes("hover")) {
66
+ triggeringElement.$el.addEventListener("pointerenter", onAutofocusTriggerEnter);
67
+ }
68
+ }, { immediate: true });
69
+ vue.onBeforeUnmount(() => {
70
+ var _a, _b;
71
+ if ((_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.removeEventListener) {
72
+ triggeringElementRef.value.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
73
+ }
74
+ });
75
+ function handleClick() {
76
+ handleClose();
77
+ }
78
+ function handleClose() {
79
+ var _a;
80
+ (_a = popperRef.value) == null ? void 0 : _a.onClose();
81
+ }
82
+ function handleOpen() {
83
+ var _a;
84
+ (_a = popperRef.value) == null ? void 0 : _a.onOpen();
85
+ }
86
+ const dropdownSize = useFormCommonProps.useFormSize();
87
+ function commandHandler(...args) {
88
+ emit("command", ...args);
89
+ }
90
+ function onAutofocusTriggerEnter() {
91
+ var _a, _b;
92
+ (_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.focus();
93
+ }
94
+ function onItemEnter() {
95
+ }
96
+ function onItemLeave() {
97
+ const contentEl = vue.unref(contentRef);
98
+ trigger.value.includes("hover") && (contentEl == null ? void 0 : contentEl.focus());
99
+ currentTabId.value = null;
100
+ }
101
+ function handleCurrentTabIdChange(id) {
102
+ currentTabId.value = id;
103
+ }
104
+ function handleEntryFocus(e) {
105
+ if (!isUsingKeyboard.value) {
106
+ e.preventDefault();
107
+ e.stopImmediatePropagation();
108
+ }
109
+ }
110
+ function handleBeforeShowTooltip() {
111
+ emit("visible-change", true);
112
+ }
113
+ function handleShowTooltip(event) {
114
+ var _a;
115
+ if ((event == null ? void 0 : event.type) === "keydown") {
116
+ (_a = contentRef.value) == null ? void 0 : _a.focus();
117
+ }
118
+ }
119
+ function handleBeforeHideTooltip() {
120
+ emit("visible-change", false);
121
+ }
122
+ vue.provide(tokens.DROPDOWN_INJECTION_KEY, {
123
+ contentRef,
124
+ role: vue.computed(() => props.role),
125
+ triggerId,
126
+ isUsingKeyboard,
127
+ onItemEnter,
128
+ onItemLeave
129
+ });
130
+ vue.provide("elDropdown", {
131
+ instance: _instance,
132
+ dropdownSize,
133
+ handleClick,
134
+ commandHandler,
135
+ trigger: vue.toRef(props, "trigger"),
136
+ hideOnClick: vue.toRef(props, "hideOnClick")
137
+ });
138
+ const onFocusAfterTrapped = (e) => {
139
+ var _a, _b;
140
+ e.preventDefault();
141
+ (_b = (_a = contentRef.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a, {
142
+ preventScroll: true
143
+ });
144
+ };
145
+ const handlerMainButtonClick = (event) => {
146
+ emit("click", event);
147
+ };
148
+ return {
149
+ t,
150
+ ns,
151
+ scrollbar,
152
+ wrapStyle,
153
+ dropdownTriggerKls,
154
+ dropdownSize,
155
+ triggerId,
156
+ currentTabId,
157
+ handleCurrentTabIdChange,
158
+ handlerMainButtonClick,
159
+ handleEntryFocus,
160
+ handleClose,
161
+ handleOpen,
162
+ handleBeforeShowTooltip,
163
+ handleShowTooltip,
164
+ handleBeforeHideTooltip,
165
+ onFocusAfterTrapped,
166
+ popperRef,
167
+ contentRef,
168
+ triggeringElementRef,
169
+ referenceElementRef
170
+ };
84
171
  }
85
172
  });
86
- const dropdownItemProps = runtime.buildProps({
87
- command: {
88
- type: [Object, String, Number],
89
- default: () => ({})
90
- },
91
- disabled: Boolean,
92
- divided: Boolean,
93
- textValue: String,
94
- icon: {
95
- type: icon.iconPropType
96
- }
97
- });
98
- const dropdownMenuProps = runtime.buildProps({
99
- onKeydown: { type: runtime.definePropType(Function) }
100
- });
101
- const FIRST_KEYS = [
102
- aria.EVENT_CODE.down,
103
- aria.EVENT_CODE.pageDown,
104
- aria.EVENT_CODE.home
105
- ];
106
- const LAST_KEYS = [aria.EVENT_CODE.up, aria.EVENT_CODE.pageUp, aria.EVENT_CODE.end];
107
- const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
108
- const {
109
- ElCollection,
110
- ElCollectionItem,
111
- COLLECTION_INJECTION_KEY,
112
- COLLECTION_ITEM_INJECTION_KEY
113
- } = collection.createCollectionWithScope("Dropdown");
173
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
174
+ var _a;
175
+ const _component_el_dropdown_collection = vue.resolveComponent("el-dropdown-collection");
176
+ const _component_el_roving_focus_group = vue.resolveComponent("el-roving-focus-group");
177
+ const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
178
+ const _component_el_only_child = vue.resolveComponent("el-only-child");
179
+ const _component_el_tooltip = vue.resolveComponent("el-tooltip");
180
+ const _component_el_button = vue.resolveComponent("el-button");
181
+ const _component_arrow_down = vue.resolveComponent("arrow-down");
182
+ const _component_el_icon = vue.resolveComponent("el-icon");
183
+ const _component_el_button_group = vue.resolveComponent("el-button-group");
184
+ return vue.openBlock(), vue.createElementBlock("div", {
185
+ class: vue.normalizeClass([_ctx.ns.b(), _ctx.ns.is("disabled", _ctx.disabled)])
186
+ }, [
187
+ vue.createVNode(_component_el_tooltip, {
188
+ ref: "popperRef",
189
+ role: _ctx.role,
190
+ effect: _ctx.effect,
191
+ "fallback-placements": ["bottom", "top"],
192
+ "popper-options": _ctx.popperOptions,
193
+ "gpu-acceleration": false,
194
+ "hide-after": _ctx.trigger === "hover" ? _ctx.hideTimeout : 0,
195
+ "manual-mode": true,
196
+ placement: _ctx.placement,
197
+ "popper-class": [_ctx.ns.e("popper"), _ctx.popperClass],
198
+ "reference-element": (_a = _ctx.referenceElementRef) == null ? void 0 : _a.$el,
199
+ trigger: _ctx.trigger,
200
+ "trigger-keys": _ctx.triggerKeys,
201
+ "trigger-target-el": _ctx.contentRef,
202
+ "show-after": _ctx.trigger === "hover" ? _ctx.showTimeout : 0,
203
+ "stop-popper-mouse-event": false,
204
+ "virtual-ref": _ctx.triggeringElementRef,
205
+ "virtual-triggering": _ctx.splitButton,
206
+ disabled: _ctx.disabled,
207
+ transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
208
+ teleported: _ctx.teleported,
209
+ pure: "",
210
+ persistent: _ctx.persistent,
211
+ onBeforeShow: _ctx.handleBeforeShowTooltip,
212
+ onShow: _ctx.handleShowTooltip,
213
+ onBeforeHide: _ctx.handleBeforeHideTooltip
214
+ }, vue.createSlots({
215
+ content: vue.withCtx(() => [
216
+ vue.createVNode(_component_el_scrollbar, {
217
+ ref: "scrollbar",
218
+ "wrap-style": _ctx.wrapStyle,
219
+ tag: "div",
220
+ "view-class": _ctx.ns.e("list")
221
+ }, {
222
+ default: vue.withCtx(() => [
223
+ vue.createVNode(_component_el_roving_focus_group, {
224
+ loop: _ctx.loop,
225
+ "current-tab-id": _ctx.currentTabId,
226
+ orientation: "horizontal",
227
+ onCurrentTabIdChange: _ctx.handleCurrentTabIdChange,
228
+ onEntryFocus: _ctx.handleEntryFocus
229
+ }, {
230
+ default: vue.withCtx(() => [
231
+ vue.createVNode(_component_el_dropdown_collection, null, {
232
+ default: vue.withCtx(() => [
233
+ vue.renderSlot(_ctx.$slots, "dropdown")
234
+ ]),
235
+ _: 3
236
+ })
237
+ ]),
238
+ _: 3
239
+ }, 8, ["loop", "current-tab-id", "onCurrentTabIdChange", "onEntryFocus"])
240
+ ]),
241
+ _: 3
242
+ }, 8, ["wrap-style", "view-class"])
243
+ ]),
244
+ _: 2
245
+ }, [
246
+ !_ctx.splitButton ? {
247
+ name: "default",
248
+ fn: vue.withCtx(() => [
249
+ vue.createVNode(_component_el_only_child, {
250
+ id: _ctx.triggerId,
251
+ ref: "triggeringElementRef",
252
+ role: "button",
253
+ tabindex: _ctx.tabindex
254
+ }, {
255
+ default: vue.withCtx(() => [
256
+ vue.renderSlot(_ctx.$slots, "default")
257
+ ]),
258
+ _: 3
259
+ }, 8, ["id", "tabindex"])
260
+ ])
261
+ } : void 0
262
+ ]), 1032, ["role", "effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "trigger-keys", "trigger-target-el", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition", "teleported", "persistent", "onBeforeShow", "onShow", "onBeforeHide"]),
263
+ _ctx.splitButton ? (vue.openBlock(), vue.createBlock(_component_el_button_group, { key: 0 }, {
264
+ default: vue.withCtx(() => [
265
+ vue.createVNode(_component_el_button, vue.mergeProps({ ref: "referenceElementRef" }, _ctx.buttonProps, {
266
+ size: _ctx.dropdownSize,
267
+ type: _ctx.type,
268
+ disabled: _ctx.disabled,
269
+ tabindex: _ctx.tabindex,
270
+ onClick: _ctx.handlerMainButtonClick
271
+ }), {
272
+ default: vue.withCtx(() => [
273
+ vue.renderSlot(_ctx.$slots, "default")
274
+ ]),
275
+ _: 3
276
+ }, 16, ["size", "type", "disabled", "tabindex", "onClick"]),
277
+ vue.createVNode(_component_el_button, vue.mergeProps({
278
+ id: _ctx.triggerId,
279
+ ref: "triggeringElementRef"
280
+ }, _ctx.buttonProps, {
281
+ role: "button",
282
+ size: _ctx.dropdownSize,
283
+ type: _ctx.type,
284
+ class: _ctx.ns.e("caret-button"),
285
+ disabled: _ctx.disabled,
286
+ tabindex: _ctx.tabindex,
287
+ "aria-label": _ctx.t("el.dropdown.toggleDropdown")
288
+ }), {
289
+ default: vue.withCtx(() => [
290
+ vue.createVNode(_component_el_icon, {
291
+ class: vue.normalizeClass(_ctx.ns.e("icon"))
292
+ }, {
293
+ default: vue.withCtx(() => [
294
+ vue.createVNode(_component_arrow_down)
295
+ ]),
296
+ _: 1
297
+ }, 8, ["class"])
298
+ ]),
299
+ _: 1
300
+ }, 16, ["id", "size", "type", "class", "disabled", "tabindex", "aria-label"])
301
+ ]),
302
+ _: 3
303
+ })) : vue.createCommentVNode("v-if", true)
304
+ ], 2);
305
+ }
306
+ var Dropdown = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "dropdown.vue"]]);
114
307
 
115
- exports.DROPDOWN_COLLECTION_INJECTION_KEY = COLLECTION_INJECTION_KEY;
116
- exports.DROPDOWN_COLLECTION_ITEM_INJECTION_KEY = COLLECTION_ITEM_INJECTION_KEY;
117
- exports.ElCollection = ElCollection;
118
- exports.ElCollectionItem = ElCollectionItem;
119
- exports.FIRST_KEYS = FIRST_KEYS;
120
- exports.FIRST_LAST_KEYS = FIRST_LAST_KEYS;
121
- exports.LAST_KEYS = LAST_KEYS;
122
- exports.dropdownItemProps = dropdownItemProps;
123
- exports.dropdownMenuProps = dropdownMenuProps;
124
- exports.dropdownProps = dropdownProps;
308
+ exports["default"] = Dropdown;
125
309
  //# sourceMappingURL=dropdown.js.map