@element-plus/nightly 0.0.20220220 → 0.0.20220224

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 (599) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +3347 -6119
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +3348 -6120
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/components/affix/index.d.ts +6 -8
  230. package/es/components/affix/src/affix.vue.d.ts +6 -8
  231. package/es/components/affix/src/affix2.mjs +35 -34
  232. package/es/components/affix/src/affix2.mjs.map +1 -1
  233. package/es/components/avatar/index.d.ts +58 -0
  234. package/es/components/avatar/index.mjs +2 -2
  235. package/es/components/avatar/index.mjs.map +1 -1
  236. package/es/components/avatar/src/avatar.vue.d.ts +58 -0
  237. package/es/components/avatar/src/avatar2.mjs +29 -38
  238. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  239. package/es/components/badge/src/badge2.mjs +4 -1
  240. package/es/components/badge/src/badge2.mjs.map +1 -1
  241. package/es/components/button/index.d.ts +12 -1
  242. package/es/components/button/index.mjs +3 -3
  243. package/es/components/button/index.mjs.map +1 -1
  244. package/es/components/button/src/button-group.vue.d.ts +6 -0
  245. package/es/components/button/src/button-group2.mjs +15 -16
  246. package/es/components/button/src/button-group2.mjs.map +1 -1
  247. package/es/components/button/src/button.vue.d.ts +0 -1
  248. package/es/components/button/src/button2.mjs +3 -5
  249. package/es/components/button/src/button2.mjs.map +1 -1
  250. package/es/components/calendar/index.d.ts +1 -1
  251. package/es/components/card/index.mjs +2 -2
  252. package/es/components/card/index.mjs.map +1 -1
  253. package/es/components/card/src/card2.mjs +27 -29
  254. package/es/components/card/src/card2.mjs.map +1 -1
  255. package/es/components/cascader/index.d.ts +22 -12
  256. package/es/components/cascader/src/index.vue.d.ts +11 -6
  257. package/es/components/config-provider/index.d.ts +3 -3
  258. package/es/components/config-provider/src/config-provider.d.ts +2 -1
  259. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  260. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  261. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  262. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  263. package/es/components/descriptions/index.d.ts +2 -2
  264. package/es/components/descriptions/src/description-item.d.ts +1 -1
  265. package/es/components/dialog/index.d.ts +200 -32
  266. package/es/components/dialog/index.mjs +2 -2
  267. package/es/components/dialog/index.mjs.map +1 -1
  268. package/es/components/dialog/src/dialog-content.d.ts +12 -0
  269. package/es/components/dialog/src/dialog-content.mjs +40 -0
  270. package/es/components/dialog/src/dialog-content.mjs.map +1 -0
  271. package/es/components/dialog/src/dialog-content.vue.d.ts +84 -0
  272. package/es/components/dialog/src/dialog-content2.mjs +84 -0
  273. package/es/components/dialog/src/dialog-content2.mjs.map +1 -0
  274. package/es/components/dialog/src/dialog.d.ts +9 -7
  275. package/es/components/dialog/src/dialog.mjs +5 -30
  276. package/es/components/dialog/src/dialog.mjs.map +1 -1
  277. package/es/components/dialog/src/dialog.vue.d.ts +236 -67
  278. package/es/components/dialog/src/dialog2.mjs +96 -122
  279. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  280. package/es/components/dialog/src/token.d.ts +10 -0
  281. package/es/components/dialog/src/token.mjs +4 -0
  282. package/es/components/dialog/src/token.mjs.map +1 -0
  283. package/es/components/drawer/index.d.ts +22 -18
  284. package/es/components/drawer/src/drawer.d.ts +9 -7
  285. package/es/components/drawer/src/drawer.vue.d.ts +22 -18
  286. package/es/components/dropdown/index.d.ts +8 -3
  287. package/es/components/dropdown/src/dropdown-item-impl.mjs +5 -5
  288. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  289. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  290. package/es/components/dropdown/src/dropdown-item.mjs +2 -2
  291. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  292. package/es/components/dropdown/src/dropdown.vue.d.ts +8 -3
  293. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  294. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  295. package/es/components/focus-trap/src/focus-trap.mjs +19 -15
  296. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  297. package/es/components/message/index.d.ts +1 -1
  298. package/es/components/message/src/message-method.d.ts +1 -1
  299. package/es/components/message/src/message-method.mjs +10 -7
  300. package/es/components/message/src/message-method.mjs.map +1 -1
  301. package/es/components/message/src/message.d.ts +3 -3
  302. package/es/components/message/src/message.mjs.map +1 -1
  303. package/es/components/notification/index.d.ts +1 -1
  304. package/es/components/popconfirm/index.d.ts +3 -0
  305. package/es/components/popconfirm/src/popconfirm.d.ts +1 -0
  306. package/es/components/popconfirm/src/popconfirm.mjs +2 -1
  307. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  308. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  309. package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
  310. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  311. package/es/components/popover/index.d.ts +30 -10
  312. package/es/components/popover/src/index.mjs +19 -3
  313. package/es/components/popover/src/index.mjs.map +1 -1
  314. package/es/components/popover/src/index.vue.d.ts +15 -5
  315. package/es/components/popover/src/popover.d.ts +1 -0
  316. package/es/components/popover/src/popover.mjs +4 -0
  317. package/es/components/popover/src/popover.mjs.map +1 -1
  318. package/es/components/popper/src/content.mjs +9 -0
  319. package/es/components/popper/src/content.mjs.map +1 -1
  320. package/es/components/popper/src/content.vue.d.ts +3 -0
  321. package/es/components/popper/src/popper.d.ts +1 -0
  322. package/es/components/popper/src/popper.mjs +3 -0
  323. package/es/components/popper/src/popper.mjs.map +1 -1
  324. package/es/components/row/index.d.ts +3 -3
  325. package/es/components/row/src/row.d.ts +4 -4
  326. package/es/components/row/src/row.mjs +8 -1
  327. package/es/components/row/src/row.mjs.map +1 -1
  328. package/es/components/scrollbar/index.d.ts +1 -1
  329. package/es/components/scrollbar/src/bar.vue.d.ts +2 -2
  330. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  331. package/es/components/select/index.d.ts +8 -3
  332. package/es/components/select/src/select.vue.d.ts +8 -3
  333. package/es/components/select/src/useSelect.d.ts +8 -3
  334. package/es/components/select-v2/index.d.ts +18 -8
  335. package/es/components/select-v2/src/select.vue.d.ts +9 -4
  336. package/es/components/select-v2/src/useSelect.d.ts +8 -3
  337. package/es/components/slider/index.d.ts +2 -2
  338. package/es/components/slider/src/index.vue.d.ts +1 -1
  339. package/es/components/slot/src/only-child.mjs +3 -1
  340. package/es/components/slot/src/only-child.mjs.map +1 -1
  341. package/es/components/switch/src/switch2.mjs +2 -2
  342. package/es/components/switch/src/switch2.mjs.map +1 -1
  343. package/es/components/table/src/filter-panel.vue.d.ts +8 -3
  344. package/es/components/table/src/store/watcher.mjs +4 -8
  345. package/es/components/table/src/store/watcher.mjs.map +1 -1
  346. package/es/components/table/src/table/style-helper.mjs +2 -2
  347. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  348. package/es/components/table/src/table-footer/index.mjs +3 -1
  349. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  350. package/es/components/table/src/table-layout.mjs +2 -5
  351. package/es/components/table/src/table-layout.mjs.map +1 -1
  352. package/es/components/table/src/table.mjs +1 -0
  353. package/es/components/table/src/table.mjs.map +1 -1
  354. package/es/components/time-picker/src/common/picker.mjs +6 -2
  355. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  356. package/es/components/time-picker/src/common/picker.vue.d.ts +9 -3
  357. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  358. package/es/components/tooltip/index.d.ts +4 -1
  359. package/es/components/tooltip/src/content.mjs +22 -4
  360. package/es/components/tooltip/src/content.mjs.map +1 -1
  361. package/es/components/tooltip/src/content.vue.d.ts +8 -2
  362. package/es/components/tooltip/src/tokens.d.ts +2 -0
  363. package/es/components/tooltip/src/tokens.mjs.map +1 -1
  364. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -1
  365. package/es/components/tooltip/src/tooltip2.mjs +7 -1
  366. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  367. package/es/components/transfer/index.d.ts +4 -4
  368. package/es/components/transfer/src/index.vue.d.ts +2 -2
  369. package/es/components/tree-v2/index.d.ts +1 -1
  370. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  371. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  372. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  373. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  374. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  375. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  376. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  377. package/es/defaults.d.ts +1 -1
  378. package/es/hooks/use-global-config/index.d.ts +1 -1
  379. package/es/hooks/use-model-toggle/index.d.ts +10 -7
  380. package/es/hooks/use-model-toggle/index.mjs +9 -7
  381. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  382. package/es/index.d.ts +1 -1
  383. package/es/{locale.d.ts → locales.d.ts} +0 -0
  384. package/es/{locale.mjs → locales.mjs} +1 -1
  385. package/es/locales.mjs.map +1 -0
  386. package/es/utils/vue/install.d.ts +2 -2
  387. package/es/utils/vue/install.mjs +2 -0
  388. package/es/utils/vue/install.mjs.map +1 -1
  389. package/es/utils/vue/typescript.d.ts +4 -1
  390. package/es/version.d.ts +1 -1
  391. package/es/version.mjs +1 -1
  392. package/es/version.mjs.map +1 -1
  393. package/lib/components/affix/index.d.ts +6 -8
  394. package/lib/components/affix/src/affix.vue.d.ts +6 -8
  395. package/lib/components/affix/src/affix2.js +34 -33
  396. package/lib/components/affix/src/affix2.js.map +1 -1
  397. package/lib/components/avatar/index.d.ts +58 -0
  398. package/lib/components/avatar/src/avatar.vue.d.ts +58 -0
  399. package/lib/components/avatar/src/avatar2.js +31 -40
  400. package/lib/components/avatar/src/avatar2.js.map +1 -1
  401. package/lib/components/badge/src/badge2.js +4 -1
  402. package/lib/components/badge/src/badge2.js.map +1 -1
  403. package/lib/components/button/index.d.ts +12 -1
  404. package/lib/components/button/src/button-group.vue.d.ts +6 -0
  405. package/lib/components/button/src/button-group2.js +14 -15
  406. package/lib/components/button/src/button-group2.js.map +1 -1
  407. package/lib/components/button/src/button.vue.d.ts +0 -1
  408. package/lib/components/button/src/button2.js +3 -5
  409. package/lib/components/button/src/button2.js.map +1 -1
  410. package/lib/components/calendar/index.d.ts +1 -1
  411. package/lib/components/card/src/card2.js +26 -28
  412. package/lib/components/card/src/card2.js.map +1 -1
  413. package/lib/components/cascader/index.d.ts +22 -12
  414. package/lib/components/cascader/src/index.vue.d.ts +11 -6
  415. package/lib/components/config-provider/index.d.ts +3 -3
  416. package/lib/components/config-provider/src/config-provider.d.ts +2 -1
  417. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  418. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  419. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  420. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  421. package/lib/components/descriptions/index.d.ts +2 -2
  422. package/lib/components/descriptions/src/description-item.d.ts +1 -1
  423. package/lib/components/dialog/index.d.ts +200 -32
  424. package/lib/components/dialog/src/dialog-content.d.ts +12 -0
  425. package/lib/components/dialog/src/dialog-content.js +45 -0
  426. package/lib/components/dialog/src/dialog-content.js.map +1 -0
  427. package/lib/components/dialog/src/dialog-content.vue.d.ts +84 -0
  428. package/lib/components/dialog/src/dialog-content2.js +88 -0
  429. package/lib/components/dialog/src/dialog-content2.js.map +1 -0
  430. package/lib/components/dialog/src/dialog.d.ts +9 -7
  431. package/lib/components/dialog/src/dialog.js +5 -30
  432. package/lib/components/dialog/src/dialog.js.map +1 -1
  433. package/lib/components/dialog/src/dialog.vue.d.ts +236 -67
  434. package/lib/components/dialog/src/dialog2.js +101 -127
  435. package/lib/components/dialog/src/dialog2.js.map +1 -1
  436. package/lib/components/dialog/src/token.d.ts +10 -0
  437. package/lib/components/dialog/src/token.js +8 -0
  438. package/lib/components/dialog/src/token.js.map +1 -0
  439. package/lib/components/drawer/index.d.ts +22 -18
  440. package/lib/components/drawer/src/drawer.d.ts +9 -7
  441. package/lib/components/drawer/src/drawer.vue.d.ts +22 -18
  442. package/lib/components/dropdown/index.d.ts +8 -3
  443. package/lib/components/dropdown/src/dropdown-item-impl.js +5 -5
  444. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  445. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  446. package/lib/components/dropdown/src/dropdown-item.js +2 -2
  447. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  448. package/lib/components/dropdown/src/dropdown.vue.d.ts +8 -3
  449. package/lib/components/dropdown/src/dropdown2.js +1 -1
  450. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  451. package/lib/components/focus-trap/src/focus-trap.js +18 -14
  452. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  453. package/lib/components/message/index.d.ts +1 -1
  454. package/lib/components/message/src/message-method.d.ts +1 -1
  455. package/lib/components/message/src/message-method.js +10 -7
  456. package/lib/components/message/src/message-method.js.map +1 -1
  457. package/lib/components/message/src/message.d.ts +3 -3
  458. package/lib/components/message/src/message.js.map +1 -1
  459. package/lib/components/notification/index.d.ts +1 -1
  460. package/lib/components/popconfirm/index.d.ts +3 -0
  461. package/lib/components/popconfirm/src/popconfirm.d.ts +1 -0
  462. package/lib/components/popconfirm/src/popconfirm.js +2 -1
  463. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  464. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  465. package/lib/components/popconfirm/src/popconfirm2.js +2 -2
  466. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  467. package/lib/components/popover/index.d.ts +30 -10
  468. package/lib/components/popover/src/index.js +19 -3
  469. package/lib/components/popover/src/index.js.map +1 -1
  470. package/lib/components/popover/src/index.vue.d.ts +15 -5
  471. package/lib/components/popover/src/popover.d.ts +1 -0
  472. package/lib/components/popover/src/popover.js +4 -0
  473. package/lib/components/popover/src/popover.js.map +1 -1
  474. package/lib/components/popper/src/content.js +9 -0
  475. package/lib/components/popper/src/content.js.map +1 -1
  476. package/lib/components/popper/src/content.vue.d.ts +3 -0
  477. package/lib/components/popper/src/popper.d.ts +1 -0
  478. package/lib/components/popper/src/popper.js +3 -0
  479. package/lib/components/popper/src/popper.js.map +1 -1
  480. package/lib/components/row/index.d.ts +3 -3
  481. package/lib/components/row/src/row.d.ts +4 -4
  482. package/lib/components/row/src/row.js +8 -1
  483. package/lib/components/row/src/row.js.map +1 -1
  484. package/lib/components/scrollbar/index.d.ts +1 -1
  485. package/lib/components/scrollbar/src/bar.vue.d.ts +2 -2
  486. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  487. package/lib/components/select/index.d.ts +8 -3
  488. package/lib/components/select/src/select.vue.d.ts +8 -3
  489. package/lib/components/select/src/useSelect.d.ts +8 -3
  490. package/lib/components/select-v2/index.d.ts +18 -8
  491. package/lib/components/select-v2/src/select.vue.d.ts +9 -4
  492. package/lib/components/select-v2/src/useSelect.d.ts +8 -3
  493. package/lib/components/slider/index.d.ts +2 -2
  494. package/lib/components/slider/src/index.vue.d.ts +1 -1
  495. package/lib/components/slot/src/only-child.js +2 -0
  496. package/lib/components/slot/src/only-child.js.map +1 -1
  497. package/lib/components/switch/src/switch2.js +2 -2
  498. package/lib/components/switch/src/switch2.js.map +1 -1
  499. package/lib/components/table/src/filter-panel.vue.d.ts +8 -3
  500. package/lib/components/table/src/store/watcher.js +4 -8
  501. package/lib/components/table/src/store/watcher.js.map +1 -1
  502. package/lib/components/table/src/table/style-helper.js +2 -2
  503. package/lib/components/table/src/table/style-helper.js.map +1 -1
  504. package/lib/components/table/src/table-footer/index.js +3 -1
  505. package/lib/components/table/src/table-footer/index.js.map +1 -1
  506. package/lib/components/table/src/table-layout.js +2 -5
  507. package/lib/components/table/src/table-layout.js.map +1 -1
  508. package/lib/components/table/src/table.js +1 -0
  509. package/lib/components/table/src/table.js.map +1 -1
  510. package/lib/components/time-picker/src/common/picker.js +6 -2
  511. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  512. package/lib/components/time-picker/src/common/picker.vue.d.ts +9 -3
  513. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  514. package/lib/components/tooltip/index.d.ts +4 -1
  515. package/lib/components/tooltip/src/content.js +22 -4
  516. package/lib/components/tooltip/src/content.js.map +1 -1
  517. package/lib/components/tooltip/src/content.vue.d.ts +8 -2
  518. package/lib/components/tooltip/src/tokens.d.ts +2 -0
  519. package/lib/components/tooltip/src/tokens.js.map +1 -1
  520. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -1
  521. package/lib/components/tooltip/src/tooltip2.js +7 -1
  522. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  523. package/lib/components/transfer/index.d.ts +4 -4
  524. package/lib/components/transfer/src/index.vue.d.ts +2 -2
  525. package/lib/components/tree-v2/index.d.ts +1 -1
  526. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  527. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  528. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  529. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  530. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  531. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  532. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  533. package/lib/defaults.d.ts +1 -1
  534. package/lib/hooks/use-global-config/index.d.ts +1 -1
  535. package/lib/hooks/use-model-toggle/index.d.ts +10 -7
  536. package/lib/hooks/use-model-toggle/index.js +9 -7
  537. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  538. package/lib/index.d.ts +1 -1
  539. package/lib/{locale.d.ts → locales.d.ts} +0 -0
  540. package/lib/{locale.js → locales.js} +1 -1
  541. package/lib/locales.js.map +1 -0
  542. package/lib/utils/vue/install.d.ts +2 -2
  543. package/lib/utils/vue/install.js +2 -0
  544. package/lib/utils/vue/install.js.map +1 -1
  545. package/lib/utils/vue/typescript.d.ts +4 -1
  546. package/lib/version.d.ts +1 -1
  547. package/lib/version.js +1 -1
  548. package/lib/version.js.map +1 -1
  549. package/package.json +6 -6
  550. package/tags.json +1 -1
  551. package/theme-chalk/base.css +1 -1
  552. package/theme-chalk/display.css +1 -1
  553. package/theme-chalk/el-button.css +1 -1
  554. package/theme-chalk/el-cascader.css +1 -1
  555. package/theme-chalk/el-check-tag.css +1 -1
  556. package/theme-chalk/el-checkbox-button.css +1 -1
  557. package/theme-chalk/el-date-picker.css +1 -1
  558. package/theme-chalk/el-dialog.css +1 -1
  559. package/theme-chalk/el-dropdown.css +1 -1
  560. package/theme-chalk/el-form.css +1 -1
  561. package/theme-chalk/el-input-number.css +1 -1
  562. package/theme-chalk/el-input.css +1 -1
  563. package/theme-chalk/el-reset.css +1 -1
  564. package/theme-chalk/el-row.css +1 -1
  565. package/theme-chalk/el-select-v2.css +1 -1
  566. package/theme-chalk/el-select.css +1 -1
  567. package/theme-chalk/el-switch.css +1 -1
  568. package/theme-chalk/el-table-column.css +1 -1
  569. package/theme-chalk/el-tag.css +1 -1
  570. package/theme-chalk/el-time-picker.css +1 -1
  571. package/theme-chalk/el-time-select.css +1 -1
  572. package/theme-chalk/el-var.css +1 -1
  573. package/theme-chalk/index.css +1 -1
  574. package/theme-chalk/src/button.scss +1 -1
  575. package/theme-chalk/src/cascader.scss +13 -12
  576. package/theme-chalk/src/check-tag.scss +7 -5
  577. package/theme-chalk/src/checkbox-button.scss +1 -1
  578. package/theme-chalk/src/common/var.scss +37 -21
  579. package/theme-chalk/src/dark/vars.scss +6 -0
  580. package/theme-chalk/src/date-picker/date-table.scss +14 -14
  581. package/theme-chalk/src/date-picker/picker.scss +3 -4
  582. package/theme-chalk/src/dialog.scss +6 -2
  583. package/theme-chalk/src/form.scss +2 -2
  584. package/theme-chalk/src/input-number.scss +6 -4
  585. package/theme-chalk/src/input.scss +146 -40
  586. package/theme-chalk/src/mixins/_button.scss +119 -15
  587. package/theme-chalk/src/mixins/_var.scss +21 -8
  588. package/theme-chalk/src/mixins/function.scss +17 -0
  589. package/theme-chalk/src/mixins/mixins.scss +8 -0
  590. package/theme-chalk/src/reset.scss +1 -1
  591. package/theme-chalk/src/row.scss +3 -1
  592. package/theme-chalk/src/select-v2.scss +2 -1
  593. package/theme-chalk/src/select.scss +15 -4
  594. package/theme-chalk/src/switch.scss +2 -0
  595. package/theme-chalk/src/tag.scss +64 -66
  596. package/theme-chalk/src/var.scss +6 -0
  597. package/web-types.json +1 -1
  598. package/es/locale.mjs.map +0 -1
  599. package/lib/locale.js.map +0 -1
@@ -85,6 +85,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
85
85
  } | (string | {
86
86
  [x: string]: any;
87
87
  } | any)[])[])[])[])[])[])[])[])[])[])[];
88
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
88
89
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
89
90
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
90
91
  popperClass: string | {
@@ -115,7 +116,6 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
115
116
  popperStyle: import("vue").StyleValue;
116
117
  referenceEl: HTMLElement;
117
118
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
118
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
119
119
  content: string;
120
120
  showAfter: number;
121
121
  hideAfter: number;
@@ -127,6 +127,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
127
127
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
128
128
  virtualRef: import("..").Measurable;
129
129
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
130
+ "onUpdate:visible": (val: boolean) => void;
130
131
  openDelay: number;
131
132
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
132
133
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -214,9 +215,10 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
214
215
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
215
216
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
216
217
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
218
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
217
219
  }>> & {
218
220
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
219
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
221
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "visible" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
220
222
  $attrs: {
221
223
  [x: string]: unknown;
222
224
  };
@@ -314,6 +316,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
314
316
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
315
317
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
316
318
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
319
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
317
320
  }>> & {
318
321
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
319
322
  }, {
@@ -399,6 +402,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
399
402
  } | (string | {
400
403
  [x: string]: any;
401
404
  } | any)[])[])[])[])[])[])[])[])[])[])[];
405
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
402
406
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
403
407
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
404
408
  popperClass: string | {
@@ -429,7 +433,6 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
429
433
  popperStyle: import("vue").StyleValue;
430
434
  referenceEl: HTMLElement;
431
435
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
432
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
433
436
  content: string;
434
437
  showAfter: number;
435
438
  hideAfter: number;
@@ -441,6 +444,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
441
444
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
442
445
  virtualRef: import("..").Measurable;
443
446
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
447
+ "onUpdate:visible": (val: boolean) => void;
444
448
  openDelay: number;
445
449
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
446
450
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -548,6 +552,7 @@ export declare const ElDropdown: import("element-plus/es/utils").SFCWithInstall<
548
552
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
549
553
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
550
554
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
555
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
551
556
  }>> & {
552
557
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
553
558
  } & import("vue").ShallowUnwrapRef<{
@@ -25,7 +25,7 @@ const _sfc_main = vue.defineComponent({
25
25
  ElIcon: index.ElIcon
26
26
  },
27
27
  props: dropdown.dropdownItemProps,
28
- emits: ["pointermove", "pointerleave", "click"],
28
+ emits: ["pointermove", "pointerleave", "click", "clickimpl"],
29
29
  setup(_, { emit }) {
30
30
  const ns = index$1.useNamespace("dropdown");
31
31
  const { collectionItemRef: dropdownCollectionItemRef } = vue.inject(dropdown.DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, void 0);
@@ -43,7 +43,7 @@ const _sfc_main = vue.defineComponent({
43
43
  if (code === aria.EVENT_CODE.enter || code === aria.EVENT_CODE.space) {
44
44
  e.preventDefault();
45
45
  e.stopImmediatePropagation();
46
- emit("click", e);
46
+ emit("clickimpl", e);
47
47
  return true;
48
48
  }
49
49
  }, handleItemKeydown);
@@ -64,16 +64,16 @@ const _hoisted_1 = ["aria-disabled", "tabindex"];
64
64
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
65
65
  const _component_el_icon = vue.resolveComponent("el-icon");
66
66
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
67
- _ctx.divided ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
67
+ _ctx.divided ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
68
68
  key: 0,
69
69
  class: _ctx.ns.bem("menu", "item", "divided")
70
70
  }, _ctx.$attrs), null, 16)) : vue.createCommentVNode("v-if", true),
71
- vue.createElementVNode("div", vue.mergeProps({ ref: _ctx.itemRef }, { ..._ctx.dataset, ..._ctx.$attrs }, {
71
+ vue.createElementVNode("li", vue.mergeProps({ ref: _ctx.itemRef }, { ..._ctx.dataset, ..._ctx.$attrs }, {
72
72
  "aria-disabled": _ctx.disabled,
73
73
  class: [_ctx.ns.be("menu", "item"), _ctx.ns.is("disabled", _ctx.disabled)],
74
74
  tabindex: _ctx.tabIndex,
75
75
  role: "menuitem",
76
- onClick: _cache[0] || (_cache[0] = (e) => _ctx.$emit("click", e)),
76
+ onClick: _cache[0] || (_cache[0] = (e) => _ctx.$emit("clickimpl", e)),
77
77
  onFocus: _cache[1] || (_cache[1] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
78
78
  onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)),
79
79
  onMousedown: _cache[3] || (_cache[3] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args)),
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item-impl.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div\n v-if=\"divided\"\n :class=\"ns.bem('menu', 'item', 'divided')\"\n v-bind=\"$attrs\"\n ></div>\n <div\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=\"menuitem\"\n @click=\"(e) => $emit('click', e)\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { 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'\n\nexport default defineComponent({\n name: 'DropdownItemImpl',\n components: {\n ElIcon,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(_, { emit }) {\n const ns = useNamespace('dropdown')\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 handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n const { code } = e\n if (code === EVENT_CODE.enter || code === EVENT_CODE.space) {\n e.preventDefault()\n e.stopImmediatePropagation()\n emit('click', e)\n return true\n }\n }, handleItemKeydown)\n\n return {\n ns,\n itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","dropdownItemProps","useNamespace","inject","DROPDOWN_COLLECTION_ITEM_INJECTION_KEY","ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY","composeRefs","composeEventHandlers","EVENT_CODE","COLLECTION_ITEM_SIGN","_createElementBlock","_mergeProps","_createElementVNode","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,GAAG,EAAE,QAAQ;AACjB,UAAM,KAAKC,qBAAa;AAExB,UAAM,EAAE,mBAAmB,8BAA8BC,WACvDC,iDACA;AAGF,UAAM,EAAE,mBAAmB,iCAAiCD,WAC1DE,6DACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,QACEF,WAAOG,8CAAuC;AAElD,UAAM,UAAUC,iBACd,2BACA,8BACA;AAGF,UAAM,gBAAgBC,2BAAqB,CAAC,MAAqB;AAC/D,YAAM,EAAE,SAAS;AACjB,UAAI,SAASC,gBAAW,SAAS,SAASA,gBAAW,OAAO;AAC1D,UAAE;AACF,UAAE;AACF,aAAK,SAAS;AACd,eAAO;AAAA;AAAA,OAER;AAEH,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS;AAAA,SACNC,kCAAuB;AAAA;AAAA,MAE1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;IA5FI,iCADRC,uBAIO,OAJPC,eAIO;AAAA;MAFJ,OAAO,QAAG,IAAG;AAAA,OACN,cAAM;IAEhBC,uBAgBM,OAhBND,eAgBM,EAfH,KAAK,gBAAO,KACA,iBAAY,eAAM;AAAA,MAC9B,iBAAe;AAAA,MACf,OAAK,CAAG,QAAG,GAAE,iBAAkB,QAAG,GAAE,YAAa;AAAA,MACjD,UAAU;AAAA,MACX,MAAK;AAAA,MACJ,SAAK,2BAAG,MAAM,WAAK,SAAU;AAAA,MAC7B,SAAK,uCAAE;AAAA,MACP,WAAO,uCAAE;AAAA,MACT,aAAS,uCAAE;AAAA,MACX,eAAW,2BAAG,MAAM,WAAK,eAAgB;AAAA,MACzC,gBAAY,2BAAG,MAAM,WAAK,gBAAiB;AAAA;MAE7B,8BAAfE,gBAAuD;AAAA,6BAAlC,MAAwB;AAAA,4BAAxBA,gBAAwBC,4BAAR;AAAA;AAAA;;MACrCC,eAAQ;AAAA;;;;;;;"}
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 :class=\"ns.bem('menu', 'item', 'divided')\"\n v-bind=\"$attrs\"\n ></li>\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=\"menuitem\"\n @click=\"(e) => $emit('clickimpl', e)\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMousedown\"\n @pointermove=\"(e) => $emit('pointermove', e)\"\n @pointerleave=\"(e) => $emit('pointerleave', e)\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <slot />\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { 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'\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 { 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 handleKeydown = composeEventHandlers((e: KeyboardEvent) => {\n const { code } = e\n if (code === EVENT_CODE.enter || code === EVENT_CODE.space) {\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 tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","dropdownItemProps","useNamespace","inject","DROPDOWN_COLLECTION_ITEM_INJECTION_KEY","ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY","ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY","composeRefs","composeEventHandlers","EVENT_CODE","COLLECTION_ITEM_SIGN","_createElementBlock","_mergeProps","_createElementVNode","_createBlock","_resolveDynamicComponent","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAChD,MAAM,GAAG,EAAE,QAAQ;AACjB,UAAM,KAAKC,qBAAa;AAExB,UAAM,EAAE,mBAAmB,8BAA8BC,WACvDC,iDACA;AAGF,UAAM,EAAE,mBAAmB,iCAAiCD,WAC1DE,6DACA;AAGF,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,QACEF,WAAOG,8CAAuC;AAElD,UAAM,UAAUC,iBACd,2BACA,8BACA;AAGF,UAAM,gBAAgBC,2BAAqB,CAAC,MAAqB;AAC/D,YAAM,EAAE,SAAS;AACjB,UAAI,SAASC,gBAAW,SAAS,SAASA,gBAAW,OAAO;AAC1D,UAAE;AACF,UAAE;AACF,aAAK,aAAa;AAClB,eAAO;AAAA;AAAA,OAER;AAEH,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS;AAAA,SACNC,kCAAuB;AAAA;AAAA,MAE1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;IA5FI,iCADRC,uBAIM,MAJNC,eAIM;AAAA;MAFH,OAAO,QAAG,IAAG;AAAA,OACN,cAAM;IAEhBC,uBAgBK,MAhBLD,eAgBK,EAfF,KAAK,gBAAO,KACA,iBAAY,eAAM;AAAA,MAC9B,iBAAe;AAAA,MACf,OAAK,CAAG,QAAG,GAAE,iBAAkB,QAAG,GAAE,YAAa;AAAA,MACjD,UAAU;AAAA,MACX,MAAK;AAAA,MACJ,SAAK,2BAAG,MAAM,WAAK,aAAc;AAAA,MACjC,SAAK,uCAAE;AAAA,MACP,WAAO,uCAAE;AAAA,MACT,aAAS,uCAAE;AAAA,MACX,eAAW,2BAAG,MAAM,WAAK,eAAgB;AAAA,MACzC,gBAAY,2BAAG,MAAM,WAAK,gBAAiB;AAAA;MAE7B,8BAAfE,gBAAuD;AAAA,6BAAlC,MAAwB;AAAA,4BAAxBA,gBAAwBC,4BAAR;AAAA;AAAA;;MACrCC,eAAQ;AAAA;;;;;;;"}
@@ -27,7 +27,7 @@ declare const _default: import("vue").DefineComponent<{
27
27
  handleFocus: (e: Event) => void;
28
28
  handleKeydown: (event: KeyboardEvent) => void;
29
29
  handleMousedown: (e: Event) => void;
30
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointermove" | "pointerleave")[], "click" | "pointermove" | "pointerleave", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointermove" | "pointerleave" | "clickimpl")[], "click" | "pointermove" | "pointerleave" | "clickimpl", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
31
31
  readonly command: import("element-plus/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
32
32
  readonly disabled: BooleanConstructor;
33
33
  readonly divided: BooleanConstructor;
@@ -37,6 +37,7 @@ declare const _default: import("vue").DefineComponent<{
37
37
  onClick?: ((...args: any[]) => any) | undefined;
38
38
  onPointermove?: ((...args: any[]) => any) | undefined;
39
39
  onPointerleave?: ((...args: any[]) => any) | undefined;
40
+ onClickimpl?: ((...args: any[]) => any) | undefined;
40
41
  }, {
41
42
  icon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
42
43
  disabled: boolean;
@@ -96,13 +96,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
96
96
  vue.createVNode(_component_el_dropdown_item_impl, vue.mergeProps(_ctx.propsAndAttrs, {
97
97
  onPointerleave: _ctx.handlePointerLeave,
98
98
  onPointermove: _ctx.handlePointerMove,
99
- onClick: _ctx.handleClick
99
+ onClickimpl: _ctx.handleClick
100
100
  }), {
101
101
  default: vue.withCtx(() => [
102
102
  vue.renderSlot(_ctx.$slots, "default")
103
103
  ]),
104
104
  _: 3
105
- }, 16, ["onPointerleave", "onPointermove", "onClick"])
105
+ }, 16, ["onPointerleave", "onPointermove", "onClickimpl"])
106
106
  ]),
107
107
  _: 3
108
108
  }, 8, ["focusable"])
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"propsAndAttrs\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n inheritAttrs: false,\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit, attrs }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n // direct usage of v-bind={ ...$props, ...$attrs } causes type errors\n const propsAndAttrs = computed(() => {\n return { ...props, ...attrs }\n })\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n propsAndAttrs,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl","dropdownItemProps","useDropdown","getCurrentInstance","ref","computed"],"mappings":";;;;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVC;AAAA,uBACAC;AAAA,wBACAC;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,EAAE,eAAeC;AACvB,UAAM,YAAYC;AAClB,UAAM,UAAUC,QAAwB;AACxC,UAAM,cAAcC,aAAS,MAAM;AACnC,UAAM,EAAE;AAKR,kCAA0B,qBACxB;AACE;AACA;AAAS;AAGT,UAAI,gBAAgB;AAClB;AAAY;AAEZ;AACA,eAAO;AACL;AAAC;AAAkC;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB;AACE;AACA;AAAS,OAEX;AACE;AAAY;AAIhB;AAEI;AACA;AAAS,OAEX,CAAC;AACC,UAAI;AACF,UAAE;AACF;AAAA;AAEF,UAAI;AACF;AAAW;AAEb;AAAsD;AAK1D,UAAM,gBAAgB;AACpB;AAAsB;AAGxB;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA;AACA;AAAA;AAAA;;;;;;AA/F0B;AAbjB;AACe;;AAWH;AAAA,sBATS;AAAG;;AAQT;AAND,+BACN;AAAA;AACD;AACN;;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown-item.js","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"propsAndAttrs\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @clickimpl=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n inheritAttrs: false,\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit, attrs }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n // direct usage of v-bind={ ...$props, ...$attrs } causes type errors\n const propsAndAttrs = computed(() => {\n return { ...props, ...attrs }\n })\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n propsAndAttrs,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl","dropdownItemProps","useDropdown","getCurrentInstance","ref","computed"],"mappings":";;;;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVC;AAAA,uBACAC;AAAA,wBACAC;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAOC;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,EAAE,eAAeC;AACvB,UAAM,YAAYC;AAClB,UAAM,UAAUC,QAAwB;AACxC,UAAM,cAAcC,aAAS,MAAM;AACnC,UAAM,EAAE;AAKR,kCAA0B,qBACxB;AACE;AACA;AAAS;AAGT,UAAI,gBAAgB;AAClB;AAAY;AAEZ;AACA,eAAO;AACL;AAAC;AAAkC;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB;AACE;AACA;AAAS,OAEX;AACE;AAAY;AAIhB;AAEI;AACA;AAAS,OAEX,CAAC;AACC,UAAI;AACF,UAAE;AACF;AAAA;AAEF,UAAI;AACF;AAAW;AAEb;AAAsD;AAK1D,UAAM,gBAAgB;AACpB;AAAsB;AAGxB;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA;AACA;AAAA;AAAA;;;;;;AA/F0B;AAbjB;AACe;;AAWH;AAAA,sBATS;AAAG;;AAQT;AAND,+BACN;AAAA;AACD,yBACF;AAAA;;AAEJ;AAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
@@ -86,6 +86,7 @@ declare const _default: import("vue").DefineComponent<{
86
86
  } | (string | {
87
87
  [x: string]: any;
88
88
  } | any)[])[])[])[])[])[])[])[])[])[])[];
89
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
89
90
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
90
91
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
91
92
  popperClass: string | {
@@ -116,7 +117,6 @@ declare const _default: import("vue").DefineComponent<{
116
117
  popperStyle: import("vue").StyleValue;
117
118
  referenceEl: HTMLElement;
118
119
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
119
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
120
120
  content: string;
121
121
  showAfter: number;
122
122
  hideAfter: number;
@@ -128,6 +128,7 @@ declare const _default: import("vue").DefineComponent<{
128
128
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
129
129
  virtualRef: import("../..").Measurable;
130
130
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
131
+ "onUpdate:visible": (val: boolean) => void;
131
132
  openDelay: number;
132
133
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
133
134
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -215,9 +216,10 @@ declare const _default: import("vue").DefineComponent<{
215
216
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
216
217
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
217
218
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
219
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
218
220
  }>> & {
219
221
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
220
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
222
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "visible" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
221
223
  $attrs: {
222
224
  [x: string]: unknown;
223
225
  };
@@ -315,6 +317,7 @@ declare const _default: import("vue").DefineComponent<{
315
317
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
316
318
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
317
319
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
320
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
318
321
  }>> & {
319
322
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
320
323
  }, {
@@ -400,6 +403,7 @@ declare const _default: import("vue").DefineComponent<{
400
403
  } | (string | {
401
404
  [x: string]: any;
402
405
  } | any)[])[])[])[])[])[])[])[])[])[])[];
406
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
403
407
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
404
408
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
405
409
  popperClass: string | {
@@ -430,7 +434,6 @@ declare const _default: import("vue").DefineComponent<{
430
434
  popperStyle: import("vue").StyleValue;
431
435
  referenceEl: HTMLElement;
432
436
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
433
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
434
437
  content: string;
435
438
  showAfter: number;
436
439
  hideAfter: number;
@@ -442,6 +445,7 @@ declare const _default: import("vue").DefineComponent<{
442
445
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
443
446
  virtualRef: import("../..").Measurable;
444
447
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
448
+ "onUpdate:visible": (val: boolean) => void;
445
449
  openDelay: number;
446
450
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
447
451
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -549,6 +553,7 @@ declare const _default: import("vue").DefineComponent<{
549
553
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
550
554
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
551
555
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
556
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
552
557
  }>> & {
553
558
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
554
559
  } & import("vue").ShallowUnwrapRef<{
@@ -166,7 +166,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
166
166
  vue.createVNode(_component_el_scrollbar, {
167
167
  ref: "scrollbar",
168
168
  "wrap-style": _ctx.wrapStyle,
169
- tag: "ul",
169
+ tag: "div",
170
170
  "view-class": _ctx.ns.e("list")
171
171
  }, {
172
172
  default: vue.withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"ul\"\n :view-class=\"ns.e('list')\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElFocusTrap","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","ref","computed","addUnit","useSize","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmGA,MAAM,EAAE,aAAa,kBAAkBA;AAEvC,MAAK,YAAaC,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVD;AAAA,iBACAE;AAAA,IACA;AAAA,iBACAC;AAAA,0BACAC;AAAA,eACAC;AAAA,wBACAC;AAAA,YACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,kBAAkB,SAAS;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,uBAAuBC;AAC7B,UAAM,sBAAsBA;AAC5B,UAAM,YAAYA,QAA2C;AAC7D,UAAM,aAAaA,QAAwB;AAC3C,UAAM,YAAYA,QAAI;AACtB,UAAM,eAAeA,QAAmB;AACxC,UAAM,kBAAkBA,QAAI;AAE5B,UAAM,YAAYC,aAAwB;AAAO,MAC/C,WAAWC,cAAQ,MAAM;AAAA;AAE3B,UAAM,qBAAqBD,aAAS,MAAM,CAAC,GAAG,EAAE,aAAa;AAE7D,2BAAuB;AACrB;AAAA;AAGF,2BAAuB;AACrB;AAAiB;AAGnB;AACE,uBAAiB;AAAA;AAGnB;AAEA;AACE,sBAAgB,GAAGE;AAAA;AAGrB;AAAuB;AAIvB,2BAAuB;AACrB;AAEA;AACA;AAAqB;AAGvB;AACE;AAAqB;AAGvB,8BAA0B;AACxB;AACE;AACA,UAAE;AAAA;AAAA;AAIN;AAAgC;AAC9B;AACA,MACA;AAAA,MACA;AAAA;AAGF;AAAsB,MACpB;AAAU;AACV,MACA;AAAA,MACA;AAAA,MACA;AAAsB,MACtB;AAA0B;AAG5B;AACE;AACA,wBAAkB;AAAQ;AACT;AAAA;AAInB;AACE;AAAc;AAGhB;AAAO,MACL;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;AA9IE;AAxEU;;AAmDD;AAjDP;AACK;AACa;AACL,MAChB;AAAkB,MAClB;AAAY,MACZ;AAAa,MACb;AAAW,MACX,yBAAkB;AAAa,MAC/B;AAAwC,MACxC;AAAS,MACT;AAAY,MACZ,2BAAyB;AAAA,MACzB;AAAa,MACb;AAAoB,MACrB;AAAA,MACA;AAAA,MACC,eAAe;AAAa,MAC7B;AAAA,MACC;AAAW,MACX,QAAI;AAAO;MAED;AAoBM,qBAAA;AAAA;AAlBT;AACS,eACTC;AAAA;AACa;4BAEjB;AAYgB;AAAA;AAZD;AAAyB;;AAWd;AAAA;AATf;AACU,kCACL;AAAA;AACY,kBACvB;AAAa;;AAIW;AAAA;AADM;AAAA;AAAA;;;;;;;;;;;;;;;;AAMR;AAGvB;AAAA,YAFA;AAAO;YACXA;AAAuB;;;;;AAsBT;AATJ;AAAA,eANN;AAAA;AACG;AACA;AACC;;AAEe;AAAA;AAAA;;;AASb;AANN,UACH;AAAM;AACA,4CACI,EAAC;AAAA;;AAE2C,yBAAA;AAAA,wCAAtC;AAAI;;AAAwB;AAAA;AAAA;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <el-tooltip\n ref=\"popperRef\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"hideTimeout\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :show-after=\"showTimeout\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n append-to-body\n pure\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"$emit('visible-change', true)\"\n @hide=\"$emit('visible-change', false)\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-focus-trap trapped @mount-on-focus=\"onMountOnFocus\">\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\"></slot>\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-focus-trap>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <div :class=\"dropdownTriggerKls\">\n <slot name=\"default\" />\n </div>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n ref=\"triggeringElementRef\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n toRef,\n unref,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { addUnit } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElFocusTrap,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onMountOnFocus = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n onMountOnFocus,\n popperRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElFocusTrap","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","ref","computed","addUnit","useSize","_withCtx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmGA,MAAM,EAAE,aAAa,kBAAkBA;AAEvC,MAAK,YAAaC,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVD;AAAA,iBACAE;AAAA,IACA;AAAA,iBACAC;AAAA,0BACAC;AAAA,eACAC;AAAA,wBACAC;AAAA,YACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO,CAAC,kBAAkB,SAAS;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,uBAAuBC;AAC7B,UAAM,sBAAsBA;AAC5B,UAAM,YAAYA,QAA2C;AAC7D,UAAM,aAAaA,QAAwB;AAC3C,UAAM,YAAYA,QAAI;AACtB,UAAM,eAAeA,QAAmB;AACxC,UAAM,kBAAkBA,QAAI;AAE5B,UAAM,YAAYC,aAAwB;AAAO,MAC/C,WAAWC,cAAQ,MAAM;AAAA;AAE3B,UAAM,qBAAqBD,aAAS,MAAM,CAAC,GAAG,EAAE,aAAa;AAE7D,2BAAuB;AACrB;AAAA;AAGF,2BAAuB;AACrB;AAAiB;AAGnB;AACE,uBAAiB;AAAA;AAGnB;AAEA;AACE,sBAAgB,GAAGE;AAAA;AAGrB;AAAuB;AAIvB,2BAAuB;AACrB;AAEA;AACA;AAAqB;AAGvB;AACE;AAAqB;AAGvB,8BAA0B;AACxB;AACE;AACA,UAAE;AAAA;AAAA;AAIN;AAAgC;AAC9B;AACA,MACA;AAAA,MACA;AAAA;AAGF;AAAsB,MACpB;AAAU;AACV,MACA;AAAA,MACA;AAAA,MACA;AAAsB,MACtB;AAA0B;AAG5B;AACE;AACA,wBAAkB;AAAQ;AACT;AAAA;AAInB;AACE;AAAc;AAGhB;AAAO,MACL;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;AA9IE;AAxEU;;AAmDD;AAjDP;AACK;AACa;AACL,MAChB;AAAkB,MAClB;AAAY,MACZ;AAAa,MACb;AAAW,MACX,yBAAkB;AAAa,MAC/B;AAAwC,MACxC;AAAS,MACT;AAAY,MACZ,2BAAyB;AAAA,MACzB;AAAa,MACb;AAAoB,MACrB;AAAA,MACA;AAAA,MACC,eAAe;AAAa,MAC7B;AAAA,MACC;AAAW,MACX,QAAI;AAAO;MAED;AAoBM,qBAAA;AAAA;AAlBT;AACS,eACTC;AAAA;AACa;4BAEjB;AAYgB;AAAA;AAZD;AAAyB;;AAWd;AAAA;AATf;AACU,kCACL;AAAA;AACY,kBACvB;AAAa;;AAIW;AAAA;AADM;AAAA;AAAA;;;;;;;;;;;;;;;;AAMR;AAGvB;AAAA,YAFA;AAAO;YACXA;AAAuB;;;;;AAsBT;AATJ;AAAA,eANN;AAAA;AACG;AACA;AACC;;AAEe;AAAA;AAAA;;;AASb;AANN,UACH;AAAM;AACA,4CACI,EAAC;AAAA;;AAE2C,yBAAA;AAAA,wCAAtC;AAAI;;AAAwB;AAAA;AAAA;;;;;;;;;;;;;;;;;;"}
@@ -3,13 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- require('../../../utils/index.js');
7
6
  require('../../../constants/index.js');
8
7
  var utils = require('./utils.js');
9
8
  var tokens = require('./tokens.js');
10
9
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
10
  var aria = require('../../../constants/aria.js');
12
- var event = require('../../../utils/dom/event.js');
13
11
 
14
12
  const _sfc_main = vue.defineComponent({
15
13
  name: "ElFocusTrap",
@@ -89,6 +87,10 @@ const _sfc_main = vue.defineComponent({
89
87
  utils.tryFocus(lastFocusAfterMounted, true);
90
88
  }
91
89
  };
90
+ const cleanupDocumentListeners = () => {
91
+ document.removeEventListener("focusin", onFocusIn);
92
+ document.removeEventListener("focusout", onFocusOut);
93
+ };
92
94
  vue.onMounted(() => {
93
95
  const trapContainer = vue.unref(forwardRef);
94
96
  if (trapContainer) {
@@ -98,37 +100,39 @@ const _sfc_main = vue.defineComponent({
98
100
  const isPrevFocusContained = trapContainer.contains(prevFocusedElement);
99
101
  if (!isPrevFocusContained) {
100
102
  const mountEvent = new Event(tokens.FOCUS_ON_MOUNT, tokens.FOCUS_ON_MOUNT_OPTS);
101
- event.on(trapContainer, tokens.FOCUS_ON_MOUNT, focusOnMount);
103
+ trapContainer.addEventListener(tokens.FOCUS_ON_MOUNT, focusOnMount);
102
104
  trapContainer.dispatchEvent(mountEvent);
103
105
  if (!mountEvent.defaultPrevented) {
104
- utils.focusFirstDescendant(utils.obtainAllFocusableElements(trapContainer), true);
105
- if (document.activeElement === prevFocusedElement) {
106
- utils.tryFocus(trapContainer);
107
- }
106
+ vue.nextTick(() => {
107
+ utils.focusFirstDescendant(utils.obtainAllFocusableElements(trapContainer), true);
108
+ if (document.activeElement === prevFocusedElement) {
109
+ utils.tryFocus(trapContainer);
110
+ }
111
+ });
108
112
  }
109
113
  }
110
114
  }
111
115
  vue.watch(() => props.trapped, (trapped) => {
112
116
  if (trapped) {
113
- event.on(document, "focusin", onFocusIn);
114
- event.on(document, "focusout", onFocusOut);
117
+ document.addEventListener("focusin", onFocusIn);
118
+ document.addEventListener("focusout", onFocusOut);
115
119
  } else {
116
- event.off(document, "focusin", onFocusIn);
117
- event.off(document, "focusout", onFocusOut);
120
+ cleanupDocumentListeners();
118
121
  }
119
122
  }, { immediate: true });
120
123
  });
121
124
  vue.onBeforeUnmount(() => {
125
+ cleanupDocumentListeners();
122
126
  const trapContainer = vue.unref(forwardRef);
123
127
  if (trapContainer) {
124
- event.off(trapContainer, tokens.FOCUS_ON_MOUNT, focusOnMount);
128
+ trapContainer.removeEventListener(tokens.FOCUS_ON_MOUNT, focusOnMount);
125
129
  const unmountEvent = new Event(tokens.FOCUS_ON_UNMOUNT, tokens.FOCUS_ON_MOUNT_OPTS);
126
- event.on(trapContainer, tokens.FOCUS_ON_UNMOUNT, focusOnUnmount);
130
+ trapContainer.addEventListener(tokens.FOCUS_ON_UNMOUNT, focusOnUnmount);
127
131
  trapContainer.dispatchEvent(unmountEvent);
128
132
  if (!unmountEvent.defaultPrevented) {
129
133
  utils.tryFocus(lastFocusBeforeMounted != null ? lastFocusBeforeMounted : document.body, true);
130
134
  }
131
- event.off(trapContainer, tokens.FOCUS_ON_UNMOUNT, focusOnUnmount);
135
+ trapContainer.removeEventListener(tokens.FOCUS_ON_UNMOUNT, focusOnMount);
132
136
  utils.focusableStack.remove(focusLayer);
133
137
  }
134
138
  });
@@ -1 +1 @@
1
- {"version":3,"file":"focus-trap.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n onMounted,\n onBeforeUnmount,\n provide,\n unref,\n watch,\n} from 'vue'\nimport { on, off } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n focusableStack,\n focusFirstDescendant,\n getEdges,\n tryFocus,\n obtainAllFocusableElements,\n} from './utils'\nimport {\n FOCUS_TRAP_INJECTION_KEY,\n FOCUS_ON_MOUNT,\n FOCUS_ON_MOUNT_OPTS,\n ON_MOUNT_FOCUS_EVT,\n ON_UNMOUNT_FOCUS_EVT,\n FOCUS_ON_UNMOUNT,\n} from './tokens'\n\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n },\n emits: [ON_MOUNT_FOCUS_EVT, ON_UNMOUNT_FOCUS_EVT],\n setup(props, { emit }) {\n const focusTrapRef = ref<HTMLElement | null>()\n const forwardRef = ref<HTMLElement | null>(null)\n let lastFocusBeforeMounted: HTMLElement | null\n let lastFocusAfterMounted: HTMLElement | null\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n\n if (!isTabbable) {\n if (currentFocusingEl === container) e.preventDefault()\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n } else if (shiftKey && currentFocusingEl === first) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n const focusOnMount = (e: Event) => {\n emit(ON_MOUNT_FOCUS_EVT, e)\n }\n const focusOnUnmount = (e: Event) => emit(ON_UNMOUNT_FOCUS_EVT, e)\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n const target = e.target as HTMLElement | null\n if (target && trapContainer.contains(target)) {\n lastFocusAfterMounted = target\n } else {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (\n !trapContainer.contains(\n (e as FocusEvent).relatedTarget as HTMLElement | null\n )\n ) {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n onMounted(() => {\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeMounted = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const mountEvent = new Event(FOCUS_ON_MOUNT, FOCUS_ON_MOUNT_OPTS)\n on(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n trapContainer.dispatchEvent(mountEvent)\n if (!mountEvent.defaultPrevented) {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n if (document.activeElement === prevFocusedElement) {\n tryFocus(trapContainer)\n }\n }\n }\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n on(document, 'focusin', onFocusIn)\n on(document, 'focusout', onFocusOut)\n } else {\n off(document, 'focusin', onFocusIn)\n off(document, 'focusout', onFocusOut)\n }\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n off(trapContainer, FOCUS_ON_MOUNT, focusOnMount)\n const unmountEvent = new Event(FOCUS_ON_UNMOUNT, FOCUS_ON_MOUNT_OPTS)\n\n on(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n trapContainer.dispatchEvent(unmountEvent)\n\n if (!unmountEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeMounted ?? document.body, true)\n }\n\n off(trapContainer, FOCUS_ON_UNMOUNT, focusOnUnmount)\n\n focusableStack.remove(focusLayer)\n }\n })\n\n return {\n focusTrapRef,\n forwardRef,\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_MOUNT_FOCUS_EVT","ON_UNMOUNT_FOCUS_EVT","ref","EVENT_CODE","getEdges","FOCUS_TRAP_INJECTION_KEY","unref","FOCUS_ON_MOUNT","FOCUS_ON_MOUNT_OPTS","obtainAllFocusableElements","FOCUS_ON_UNMOUNT","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"focus-trap.js","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n onMounted,\n onBeforeUnmount,\n provide,\n unref,\n watch,\n nextTick,\n} from 'vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n focusableStack,\n focusFirstDescendant,\n getEdges,\n tryFocus,\n obtainAllFocusableElements,\n} from './utils'\nimport {\n FOCUS_TRAP_INJECTION_KEY,\n FOCUS_ON_MOUNT,\n FOCUS_ON_MOUNT_OPTS,\n ON_MOUNT_FOCUS_EVT,\n ON_UNMOUNT_FOCUS_EVT,\n FOCUS_ON_UNMOUNT,\n} from './tokens'\n\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n },\n emits: [ON_MOUNT_FOCUS_EVT, ON_UNMOUNT_FOCUS_EVT],\n setup(props, { emit }) {\n const focusTrapRef = ref<HTMLElement | null>()\n const forwardRef = ref<HTMLElement | null>(null)\n let lastFocusBeforeMounted: HTMLElement | null\n let lastFocusAfterMounted: HTMLElement | null\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n\n if (!isTabbable) {\n if (currentFocusingEl === container) e.preventDefault()\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n } else if (shiftKey && currentFocusingEl === first) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n const focusOnMount = (e: Event) => {\n emit(ON_MOUNT_FOCUS_EVT, e)\n }\n const focusOnUnmount = (e: Event) => emit(ON_UNMOUNT_FOCUS_EVT, e)\n const onFocusIn = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n const target = e.target as HTMLElement | null\n if (target && trapContainer.contains(target)) {\n lastFocusAfterMounted = target\n } else {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (\n !trapContainer.contains(\n (e as FocusEvent).relatedTarget as HTMLElement | null\n )\n ) {\n tryFocus(lastFocusAfterMounted, true)\n }\n }\n\n const cleanupDocumentListeners = () => {\n document.removeEventListener('focusin', onFocusIn)\n document.removeEventListener('focusout', onFocusOut)\n }\n\n onMounted(() => {\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = document.activeElement\n lastFocusBeforeMounted = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const mountEvent = new Event(FOCUS_ON_MOUNT, FOCUS_ON_MOUNT_OPTS)\n trapContainer.addEventListener(FOCUS_ON_MOUNT, focusOnMount)\n trapContainer.dispatchEvent(mountEvent)\n if (!mountEvent.defaultPrevented) {\n nextTick(() => {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n if (document.activeElement === prevFocusedElement) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n document.addEventListener('focusin', onFocusIn)\n document.addEventListener('focusout', onFocusOut)\n } else {\n cleanupDocumentListeners()\n }\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n cleanupDocumentListeners()\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_ON_MOUNT, focusOnMount)\n const unmountEvent = new Event(FOCUS_ON_UNMOUNT, FOCUS_ON_MOUNT_OPTS)\n\n trapContainer.addEventListener(FOCUS_ON_UNMOUNT, focusOnUnmount)\n trapContainer.dispatchEvent(unmountEvent)\n\n if (!unmountEvent.defaultPrevented) {\n tryFocus(lastFocusBeforeMounted ?? document.body, true)\n }\n\n trapContainer.removeEventListener(FOCUS_ON_UNMOUNT, focusOnMount)\n focusableStack.remove(focusLayer)\n }\n })\n\n return {\n focusTrapRef,\n forwardRef,\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ON_MOUNT_FOCUS_EVT","ON_UNMOUNT_FOCUS_EVT","ref","EVENT_CODE","getEdges","FOCUS_TRAP_INJECTION_KEY","unref","FOCUS_ON_MOUNT","FOCUS_ON_MOUNT_OPTS","obtainAllFocusableElements","FOCUS_ON_UNMOUNT","_renderSlot"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const ElMessage: import("element-plus/es/utils").SFCWithInstall<import("./src/message").Message>;
1
+ export declare const ElMessage: import("element-plus/es/utils").SFCInstallWithContext<import("./src/message").Message>;
2
2
  export default ElMessage;
3
3
  export * from './src/message';
@@ -1,5 +1,5 @@
1
- import type { Message } from './message';
2
1
  import type { VNode } from 'vue';
2
+ import type { Message } from './message';
3
3
  export declare function close(id: string, userOnClose?: (vm: VNode) => void): void;
4
4
  export declare function closeAll(): void;
5
5
  declare const _default: Message;
@@ -9,18 +9,19 @@ require('../../../hooks/index.js');
9
9
  var configProvider = require('../../config-provider/src/config-provider.js');
10
10
  var message$1 = require('./message2.js');
11
11
  var message$2 = require('./message.js');
12
+ var shared = require('@vue/shared');
12
13
  var index = require('../../../hooks/use-z-index/index.js');
13
14
  var error = require('../../../utils/error.js');
14
15
 
15
16
  const instances = [];
16
17
  let seed = 1;
17
- const message = function(options = {}) {
18
+ const message = function(options = {}, context) {
18
19
  if (!core.isClient)
19
20
  return { close: () => void 0 };
20
21
  if (core.isNumber(configProvider.messageConfig.max) && instances.length >= configProvider.messageConfig.max) {
21
22
  return { close: () => void 0 };
22
23
  }
23
- if (!vue.isVNode(options) && typeof options === "object" && options.grouping && !vue.isVNode(options.message) && instances.length) {
24
+ if (!vue.isVNode(options) && shared.isObject(options) && options.grouping && !vue.isVNode(options.message) && instances.length) {
24
25
  const tempVm = instances.find((item) => {
25
26
  var _a, _b, _c;
26
27
  return `${(_b = (_a = item.vm.props) == null ? void 0 : _a.message) != null ? _b : ""}` === `${(_c = options.message) != null ? _c : ""}`;
@@ -33,7 +34,7 @@ const message = function(options = {}) {
33
34
  };
34
35
  }
35
36
  }
36
- if (typeof options === "string" || vue.isVNode(options)) {
37
+ if (shared.isString(options) || vue.isVNode(options)) {
37
38
  options = { message: options };
38
39
  }
39
40
  let verticalOffset = options.offset || 20;
@@ -57,7 +58,7 @@ const message = function(options = {}) {
57
58
  let appendTo = document.body;
58
59
  if (options.appendTo instanceof HTMLElement) {
59
60
  appendTo = options.appendTo;
60
- } else if (typeof options.appendTo === "string") {
61
+ } else if (shared.isString(options.appendTo)) {
61
62
  appendTo = document.querySelector(options.appendTo);
62
63
  }
63
64
  if (!(appendTo instanceof HTMLElement)) {
@@ -66,8 +67,9 @@ const message = function(options = {}) {
66
67
  }
67
68
  const container = document.createElement("div");
68
69
  container.className = `container_${id}`;
69
- const message2 = props.message;
70
- const vm = vue.createVNode(message$1["default"], props, vue.isVNode(props.message) ? { default: () => message2 } : null);
70
+ const messageContent = props.message;
71
+ const vm = vue.createVNode(message$1["default"], props, vue.isVNode(messageContent) ? { default: () => messageContent } : null);
72
+ vm.appContext = context || message._context;
71
73
  vm.props.onDestroy = () => {
72
74
  vue.render(null, container);
73
75
  };
@@ -80,7 +82,7 @@ const message = function(options = {}) {
80
82
  };
81
83
  message$2.messageTypes.forEach((type) => {
82
84
  message[type] = (options = {}) => {
83
- if (typeof options === "string" || vue.isVNode(options)) {
85
+ if (shared.isString(options) || vue.isVNode(options)) {
84
86
  options = {
85
87
  message: options
86
88
  };
@@ -117,6 +119,7 @@ function closeAll() {
117
119
  }
118
120
  }
119
121
  message.closeAll = closeAll;
122
+ message._context = null;
120
123
 
121
124
  exports.close = close;
122
125
  exports.closeAll = closeAll;
@@ -1 +1 @@
1
- {"version":3,"file":"message-method.js","sources":["../../../../../../packages/components/message/src/message-method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isVNode, isNumber, debugWarn } from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageTypes } from './message'\n\nimport type { Message, MessageFn, MessageQueue, MessageProps } from './message'\nimport type { ComponentPublicInstance, VNode } from 'vue'\n\nconst instances: MessageQueue = []\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst message: MessageFn & Partial<Message> = function (options = {}) {\n if (!isClient) return { close: () => undefined }\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n if (\n !isVNode(options) &&\n typeof options === 'object' &&\n options.grouping &&\n !isVNode(options.message) &&\n instances.length\n ) {\n const tempVm: any = instances.find(\n (item) =>\n `${item.vm.props?.message ?? ''}` ===\n `${(options as any).message ?? ''}`\n )\n if (tempVm) {\n tempVm.vm.component!.props.repeatNum += 1\n tempVm.vm.component!.props.type = options?.type\n return {\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false),\n }\n }\n }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n let verticalOffset = options.offset || 20\n instances.forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + 16\n })\n verticalOffset += 16\n\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<MessageProps> = {\n zIndex: nextZIndex(),\n offset: verticalOffset,\n ...options,\n id,\n onClose: () => {\n close(id, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (options.appendTo instanceof HTMLElement) {\n appendTo = options.appendTo\n } else if (typeof options.appendTo === 'string') {\n appendTo = document.querySelector(options.appendTo)\n }\n // should fallback to default value with a warning\n if (!(appendTo instanceof HTMLElement)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n container.className = `container_${id}`\n\n const message = props.message\n const vm = createVNode(\n MessageConstructor,\n props,\n isVNode(props.message) ? { default: () => message } : null\n )\n\n // clean message element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n }\n\n render(vm, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n instances.push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false),\n }\n}\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return message({\n ...options,\n type,\n })\n }\n})\n\nexport function close(id: string, userOnClose?: (vm: VNode) => void): void {\n const idx = instances.findIndex(({ vm }) => id === vm.component!.props.id)\n if (idx === -1) return\n\n const { vm } = instances[idx]\n if (!vm) return\n userOnClose?.(vm)\n\n const removedHeight = vm.el!.offsetHeight\n instances.splice(idx, 1)\n\n // adjust other instances vertical offset\n const len = instances.length\n if (len < 1) return\n for (let i = idx; i < len; i++) {\n const pos =\n parseInt(instances[i].vm.el!.style['top'], 10) - removedHeight - 16\n\n instances[i].vm.component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n for (let i = instances.length - 1; i >= 0; i--) {\n const instance = instances[i].vm.component\n ;(instance?.proxy as any)?.close()\n }\n}\n\nmessage.closeAll = closeAll\n\nexport default message as Message\n"],"names":["isClient","isNumber","messageConfig","isVNode","useZIndex","debugWarn","createVNode","MessageConstructor","render","messageTypes"],"mappings":"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"}
1
+ {"version":3,"file":"message-method.js","sources":["../../../../../../packages/components/message/src/message-method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n isVNode,\n isNumber,\n isObject,\n isString,\n debugWarn,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageTypes } from './message'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type { Message, MessageFn, MessageQueue, MessageProps } from './message'\n\nconst instances: MessageQueue = []\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } =\n function (options = {}, context?: AppContext | null) {\n if (!isClient) return { close: () => undefined }\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n if (\n !isVNode(options) &&\n isObject(options) &&\n options.grouping &&\n !isVNode(options.message) &&\n instances.length\n ) {\n const tempVm: any = instances.find(\n (item) =>\n `${item.vm.props?.message ?? ''}` ===\n `${(options as any).message ?? ''}`\n )\n if (tempVm) {\n tempVm.vm.component!.props.repeatNum += 1\n tempVm.vm.component!.props.type = options?.type\n return {\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{\n visible: boolean\n }>\n ).visible = false),\n }\n }\n }\n\n if (isString(options) || isVNode(options)) {\n options = { message: options }\n }\n\n let verticalOffset = options.offset || 20\n instances.forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + 16\n })\n verticalOffset += 16\n\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<MessageProps> = {\n zIndex: nextZIndex(),\n offset: verticalOffset,\n ...options,\n id,\n onClose: () => {\n close(id, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (options.appendTo instanceof HTMLElement) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n // should fallback to default value with a warning\n if (!(appendTo instanceof HTMLElement)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n container.className = `container_${id}`\n\n const messageContent = props.message\n const vm = createVNode(\n MessageConstructor,\n props,\n isVNode(messageContent) ? { default: () => messageContent } : null\n )\n\n vm.appContext = context || message._context\n\n // clean message element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n }\n\n render(vm, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n instances.push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false),\n }\n }\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}) => {\n if (isString(options) || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return message({\n ...options,\n type,\n })\n }\n})\n\nexport function close(id: string, userOnClose?: (vm: VNode) => void): void {\n const idx = instances.findIndex(({ vm }) => id === vm.component!.props.id)\n if (idx === -1) return\n\n const { vm } = instances[idx]\n if (!vm) return\n userOnClose?.(vm)\n\n const removedHeight = vm.el!.offsetHeight\n instances.splice(idx, 1)\n\n // adjust other instances vertical offset\n const len = instances.length\n if (len < 1) return\n for (let i = idx; i < len; i++) {\n const pos =\n parseInt(instances[i].vm.el!.style['top'], 10) - removedHeight - 16\n\n instances[i].vm.component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n for (let i = instances.length - 1; i >= 0; i--) {\n const instance = instances[i].vm.component\n ;(instance?.proxy as any)?.close()\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":["isClient","isNumber","messageConfig","isVNode","isObject","isString","useZIndex","debugWarn","createVNode","MessageConstructor","render","messageTypes"],"mappings":"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"}