@element-plus/nightly 0.0.20220108 → 0.0.20220112

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 (279) hide show
  1. package/README.md +27 -82
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +440 -445
  5. package/dist/index.full.min.js +8 -8
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +8 -8
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +444 -450
  10. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  11. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs +1 -0
  12. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  13. package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs +4 -4
  14. package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -1
  15. package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -1
  16. package/es/components/cascader/index.d.ts +18 -2
  17. package/es/components/cascader/src/index.vue.d.ts +9 -1
  18. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  19. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs +5 -3
  20. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
  21. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  22. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs +2 -1
  23. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  24. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +6 -0
  25. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs.map +1 -1
  26. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs.map +1 -1
  27. package/es/components/descriptions/index.d.ts +4 -4
  28. package/es/components/descriptions/src/description-item.d.ts +2 -2
  29. package/es/components/dropdown/index.d.ts +19 -7
  30. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.mjs.map +1 -1
  31. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs +32 -26
  32. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs.map +1 -1
  33. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -2
  34. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs +6 -3
  35. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs.map +1 -1
  36. package/es/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs.map +1 -1
  37. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -0
  38. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs +8 -7
  39. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs.map +1 -1
  40. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs +1 -1
  41. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs.map +1 -1
  42. package/es/components/dropdown/src/dropdown.vue.d.ts +11 -3
  43. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  44. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +1 -0
  45. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  46. package/es/components/index.mjs +1 -0
  47. package/es/components/index.mjs.map +1 -1
  48. package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs.map +1 -1
  49. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs +2 -1
  50. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs.map +1 -1
  51. package/es/components/message-box/src/index.vue.d.ts +2 -2
  52. package/es/components/pagination/index.d.ts +2 -2
  53. package/es/components/pagination/src/pagination.d.ts +2 -2
  54. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs.map +1 -1
  55. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs +2 -1
  56. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs.map +1 -1
  57. package/es/components/popover/index.d.ts +18 -2
  58. package/es/components/popover/src/index.vue.d.ts +9 -1
  59. package/es/components/popover/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  60. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs +2 -1
  61. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs.map +1 -1
  62. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs +2 -1
  63. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs.map +1 -1
  64. package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs.map +1 -1
  65. package/es/components/popper/src/trigger.vue.d.ts +3 -3
  66. package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs +2 -2
  67. package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs.map +1 -1
  68. package/es/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.mjs.map +1 -1
  69. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +1 -1
  70. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  71. package/es/components/select/index.d.ts +9 -1
  72. package/es/components/select/src/select.vue.d.ts +9 -1
  73. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  74. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +1 -0
  75. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  76. package/es/components/select/src/useSelect.d.ts +9 -1
  77. package/es/components/select-v2/index.d.ts +18 -2
  78. package/es/components/select-v2/src/select.vue.d.ts +9 -1
  79. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  80. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs +1 -0
  81. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs.map +1 -1
  82. package/es/components/select-v2/src/useSelect.d.ts +9 -1
  83. package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  84. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs +2 -1
  85. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs.map +1 -1
  86. package/es/components/table/src/filter-panel.vue.d.ts +9 -1
  87. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  88. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs +2 -1
  89. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  90. package/es/components/time-picker/src/common/picker.vue.d.ts +9 -1
  91. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -2
  92. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  93. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs +5 -2
  94. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  95. package/es/components/time-select/index.d.ts +14 -0
  96. package/es/components/time-select/src/time-select.vue.d.ts +7 -0
  97. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs +45 -7
  98. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs.map +1 -1
  99. package/es/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.mjs.map +1 -1
  100. package/es/components/tooltip/index.d.ts +5 -0
  101. package/es/components/tooltip/index.mjs +1 -0
  102. package/es/components/tooltip/index.mjs.map +1 -1
  103. package/es/components/tooltip/src/content.vue.d.ts +13 -6
  104. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs +42 -67
  105. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs.map +1 -1
  106. package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs +53 -56
  107. package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs.map +1 -1
  108. package/es/components/tooltip/src/tokens.d.ts +1 -0
  109. package/es/components/tooltip/src/tokens.mjs.map +1 -1
  110. package/es/components/tooltip/src/tooltip.d.ts +2 -0
  111. package/es/components/tooltip/src/tooltip.mjs +8 -0
  112. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  113. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -0
  114. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs +2 -1
  115. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs.map +1 -1
  116. package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs +2 -1
  117. package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs.map +1 -1
  118. package/es/components/tooltip/src/trigger.vue.d.ts +1 -1
  119. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs +2 -2
  120. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs.map +1 -1
  121. package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs +2 -2
  122. package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs.map +1 -1
  123. package/es/components/tree/src/model/useDragNode.mjs +1 -1
  124. package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
  125. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
  126. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
  127. package/es/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.mjs.map +1 -1
  128. package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  129. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  130. package/es/components/virtual-list/src/builders/build-list.d.ts +2 -2
  131. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  132. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  133. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  134. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  135. package/es/index.mjs +1 -0
  136. package/es/index.mjs.map +1 -1
  137. package/es/version.d.ts +1 -1
  138. package/es/version.mjs +1 -1
  139. package/es/version.mjs.map +1 -1
  140. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  141. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js +1 -0
  142. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  143. package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js +4 -4
  144. package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -1
  145. package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -1
  146. package/lib/components/cascader/index.d.ts +18 -2
  147. package/lib/components/cascader/src/index.vue.d.ts +9 -1
  148. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js.map +1 -1
  149. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js +4 -2
  150. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
  151. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  152. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js +2 -1
  153. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  154. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +6 -0
  155. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js.map +1 -1
  156. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.js.map +1 -1
  157. package/lib/components/descriptions/index.d.ts +4 -4
  158. package/lib/components/descriptions/src/description-item.d.ts +2 -2
  159. package/lib/components/dropdown/index.d.ts +19 -7
  160. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.js.map +1 -1
  161. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js +31 -25
  162. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js.map +1 -1
  163. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -2
  164. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js +6 -3
  165. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js.map +1 -1
  166. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.js.map +1 -1
  167. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -0
  168. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js +7 -6
  169. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js.map +1 -1
  170. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js +1 -1
  171. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js.map +1 -1
  172. package/lib/components/dropdown/src/dropdown.vue.d.ts +11 -3
  173. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  174. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +1 -0
  175. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  176. package/lib/components/index.js +2 -0
  177. package/lib/components/index.js.map +1 -1
  178. package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js.map +1 -1
  179. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js +2 -1
  180. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js.map +1 -1
  181. package/lib/components/message-box/src/index.vue.d.ts +2 -2
  182. package/lib/components/pagination/index.d.ts +2 -2
  183. package/lib/components/pagination/src/pagination.d.ts +2 -2
  184. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js.map +1 -1
  185. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js +2 -1
  186. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js.map +1 -1
  187. package/lib/components/popover/index.d.ts +18 -2
  188. package/lib/components/popover/src/index.vue.d.ts +9 -1
  189. package/lib/components/popover/src/index.vue_vue_type_script_lang.js.map +1 -1
  190. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js +2 -1
  191. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js.map +1 -1
  192. package/lib/components/popper/src/content.vue_vue_type_script_lang.js +2 -1
  193. package/lib/components/popper/src/content.vue_vue_type_script_lang.js.map +1 -1
  194. package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js.map +1 -1
  195. package/lib/components/popper/src/trigger.vue.d.ts +3 -3
  196. package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js +2 -2
  197. package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js.map +1 -1
  198. package/lib/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.js.map +1 -1
  199. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +1 -1
  200. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  201. package/lib/components/select/index.d.ts +9 -1
  202. package/lib/components/select/src/select.vue.d.ts +9 -1
  203. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  204. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +1 -0
  205. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  206. package/lib/components/select/src/useSelect.d.ts +9 -1
  207. package/lib/components/select-v2/index.d.ts +18 -2
  208. package/lib/components/select-v2/src/select.vue.d.ts +9 -1
  209. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  210. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js +1 -0
  211. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js.map +1 -1
  212. package/lib/components/select-v2/src/useSelect.d.ts +9 -1
  213. package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
  214. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js +2 -1
  215. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js.map +1 -1
  216. package/lib/components/table/src/filter-panel.vue.d.ts +9 -1
  217. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  218. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js +2 -1
  219. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  220. package/lib/components/time-picker/src/common/picker.vue.d.ts +9 -1
  221. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -2
  222. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  223. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js +5 -2
  224. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  225. package/lib/components/time-select/index.d.ts +14 -0
  226. package/lib/components/time-select/src/time-select.vue.d.ts +7 -0
  227. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js +50 -7
  228. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js.map +1 -1
  229. package/lib/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.js.map +1 -1
  230. package/lib/components/tooltip/index.d.ts +5 -0
  231. package/lib/components/tooltip/index.js +2 -0
  232. package/lib/components/tooltip/index.js.map +1 -1
  233. package/lib/components/tooltip/src/content.vue.d.ts +13 -6
  234. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js +43 -68
  235. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js.map +1 -1
  236. package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js +52 -55
  237. package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js.map +1 -1
  238. package/lib/components/tooltip/src/tokens.d.ts +1 -0
  239. package/lib/components/tooltip/src/tokens.js.map +1 -1
  240. package/lib/components/tooltip/src/tooltip.d.ts +2 -0
  241. package/lib/components/tooltip/src/tooltip.js +8 -0
  242. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  243. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -0
  244. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js +2 -1
  245. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js.map +1 -1
  246. package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js +2 -1
  247. package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js.map +1 -1
  248. package/lib/components/tooltip/src/trigger.vue.d.ts +1 -1
  249. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js +2 -2
  250. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js.map +1 -1
  251. package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js +2 -2
  252. package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js.map +1 -1
  253. package/lib/components/tree/src/model/useDragNode.js +1 -1
  254. package/lib/components/tree/src/model/useDragNode.js.map +1 -1
  255. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js +1 -1
  256. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
  257. package/lib/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.js.map +1 -1
  258. package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  259. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  260. package/lib/components/virtual-list/src/builders/build-list.d.ts +2 -2
  261. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  262. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  263. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  264. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  265. package/lib/index.js +2 -0
  266. package/lib/index.js.map +1 -1
  267. package/lib/version.d.ts +1 -1
  268. package/lib/version.js +1 -1
  269. package/lib/version.js.map +1 -1
  270. package/package.json +2 -2
  271. package/tags.json +1 -1
  272. package/theme-chalk/el-dropdown.css +1 -1
  273. package/theme-chalk/el-tabs.css +1 -1
  274. package/theme-chalk/el-tree.css +1 -1
  275. package/theme-chalk/index.css +1 -1
  276. package/theme-chalk/src/dropdown.scss +13 -18
  277. package/theme-chalk/src/tabs.scss +8 -6
  278. package/theme-chalk/src/tree.scss +2 -1
  279. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue?vue&type=template&id=78e07aa7&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n defaultValue,\n arrowControl,\n } = pickerBase.props\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue).locale(lang.value)\n if (!defaultValue) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode"],"mappings":";;;;;;EAY+B;;;;;;EAYF;;qBACb,KAAK,EAAC,6BAA6B;;;;;;sBAuFtC,KAAK,EAAC;eA4Bb,KAAK,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;iDAjIqB;;;;;;gBAKvB;;;;;;;iCAOJ;;;cAEI;;;;uBAIS;yBACC;;;;6CAIV;;;;;2BAQY;;4BAEC;;;;;;iCAMM;uBACVA;;;;;;;wBAIX;;;;;;;gBASQ;;;;;YAKJ;gCAAS,CAAgB;;;;;;;gBAIrB;;;;;YAKJ;;gBAAS;;;;;;;;;YAIT,MAAM;YACL;6BACG;0BAEN;YAEE;YACA,KAAK;YAEJ,OAAK;;;;;gBAIF;;;;;YAKJ;gCAAS,CAAiB;;;;;;;gBAItB;;;;;YAKJ;;;;;;;;;;;;;;;;kCAMiB;;;+BAGH;;;;;6BAGhB;;oBAEO,EAAE;;;;;;;;;sBAOA;;;0CAGe;;;;;;;;QAW1B,IAAI,EAAC;QACL;QACA,OAAM;;;yBAGN;;;;;;;MAEF;;;;;"}
1
+ {"version":3,"file":"panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue?vue&type=template&id=78e07aa7&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n const popper = inject(TOOLTIP_INJECTION_KEY)\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n defaultValue,\n arrowControl,\n } = pickerBase.props\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n watch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue).locale(lang.value)\n if (!defaultValue) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode"],"mappings":";;;;;;EAY+B;;;;;;EAYF;;qBACb,KAAK,EAAC,6BAA6B;;;;;;sBAuFtC,KAAK,EAAC;eA4Bb,KAAK,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;iDAjIqB;;;;;;gBAKvB;;;;;;;iCAOJ;;;cAEI;;;;uBAIS;yBACC;;;;6CAIV;;;;;2BAQY;;4BAEC;;;;;;iCAMM;uBACVA;;;;;;;wBAIX;;;;;;;gBASQ;;;;;YAKJ;gCAAS,CAAgB;;;;;;;gBAIrB;;;;;YAKJ;;gBAAS;;;;;;;;;YAIT,MAAM;YACL;6BACG;0BAEN;YAEE;YACA,KAAK;YAEJ,OAAK;;;;;gBAIF;;;;;YAKJ;gCAAS,CAAiB;;;;;;;gBAItB;;;;;YAKJ;;;;;;;;;;;;;;;;kCAMiB;;;+BAGH;;;;;6BAGhB;;oBAEO,EAAE;;;;;;;;;sBAOA;;;0CAGe;;;;;;;;QAW1B,IAAI,EAAC;QACL;QACA,OAAM;;;yBAGN;;;;;;;MAEF;;;;;"}
@@ -95,8 +95,8 @@ export declare const ElDescriptions: import("../../utils/types").SFCWithInstall<
95
95
  span: number;
96
96
  width: string | number;
97
97
  align: string;
98
- minWidth: string | number;
99
98
  className: string;
99
+ minWidth: string | number;
100
100
  labelAlign: string;
101
101
  labelClassName: string;
102
102
  } & {}>, {
@@ -104,8 +104,8 @@ export declare const ElDescriptions: import("../../utils/types").SFCWithInstall<
104
104
  span: number;
105
105
  width: string | number;
106
106
  align: string;
107
- minWidth: string | number;
108
107
  className: string;
108
+ minWidth: string | number;
109
109
  labelAlign: string;
110
110
  labelClassName: string;
111
111
  }>;
@@ -158,8 +158,8 @@ export declare const ElDescriptionsItem: import("../../utils/types").SFCWithInst
158
158
  span: number;
159
159
  width: string | number;
160
160
  align: string;
161
- minWidth: string | number;
162
161
  className: string;
162
+ minWidth: string | number;
163
163
  labelAlign: string;
164
164
  labelClassName: string;
165
165
  } & {}>, {
@@ -167,8 +167,8 @@ export declare const ElDescriptionsItem: import("../../utils/types").SFCWithInst
167
167
  span: number;
168
168
  width: string | number;
169
169
  align: string;
170
- minWidth: string | number;
171
170
  className: string;
171
+ minWidth: string | number;
172
172
  labelAlign: string;
173
173
  labelClassName: string;
174
174
  }>>;
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
45
45
  span: number;
46
46
  width: string | number;
47
47
  align: string;
48
- minWidth: string | number;
49
48
  className: string;
49
+ minWidth: string | number;
50
50
  labelAlign: string;
51
51
  labelClassName: string;
52
52
  } & {}>, {
@@ -54,8 +54,8 @@ declare const _default: import("vue").DefineComponent<{
54
54
  span: number;
55
55
  width: string | number;
56
56
  align: string;
57
- minWidth: string | number;
58
57
  className: string;
58
+ minWidth: string | number;
59
59
  labelAlign: string;
60
60
  labelClassName: string;
61
61
  }>;
@@ -107,6 +107,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
107
107
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
108
108
  showAfter: number;
109
109
  hideAfter: number;
110
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
110
111
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
111
112
  persistent: boolean;
112
113
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -126,6 +127,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
126
127
  trigger?: unknown;
127
128
  virtualRef?: unknown;
128
129
  virtualTriggering?: unknown;
130
+ appendTo?: unknown;
129
131
  content?: unknown;
130
132
  rawContent?: unknown;
131
133
  persistent?: unknown;
@@ -223,6 +225,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
223
225
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
224
226
  showAfter: number;
225
227
  hideAfter: number;
228
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
226
229
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
227
230
  persistent: boolean;
228
231
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -237,7 +240,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
237
240
  virtualTriggering?: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown> | undefined;
238
241
  }> & {
239
242
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
240
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
243
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
241
244
  $attrs: {
242
245
  [x: string]: unknown;
243
246
  };
@@ -261,6 +264,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
261
264
  trigger?: unknown;
262
265
  virtualRef?: unknown;
263
266
  virtualTriggering?: unknown;
267
+ appendTo?: unknown;
264
268
  content?: unknown;
265
269
  rawContent?: unknown;
266
270
  persistent?: unknown;
@@ -358,6 +362,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
358
362
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
359
363
  showAfter: number;
360
364
  hideAfter: number;
365
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
361
366
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
362
367
  persistent: boolean;
363
368
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -489,6 +494,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
489
494
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
490
495
  showAfter: number;
491
496
  hideAfter: number;
497
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
492
498
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
493
499
  persistent: boolean;
494
500
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -528,6 +534,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
528
534
  trigger?: unknown;
529
535
  virtualRef?: unknown;
530
536
  virtualTriggering?: unknown;
537
+ appendTo?: unknown;
531
538
  content?: unknown;
532
539
  rawContent?: unknown;
533
540
  persistent?: unknown;
@@ -625,6 +632,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
625
632
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
626
633
  showAfter: number;
627
634
  hideAfter: number;
635
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
628
636
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
629
637
  persistent: boolean;
630
638
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -704,9 +712,9 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
704
712
  } & {
705
713
  size: string;
706
714
  effect: string;
707
- maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
708
715
  placement: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
709
716
  popperClass: string;
717
+ maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
710
718
  trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
711
719
  tabindex: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
712
720
  hideOnClick: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -724,9 +732,9 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
724
732
  type: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("../../utils/props").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown>;
725
733
  size: string;
726
734
  effect: string;
727
- maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
728
735
  placement: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<import("@popperjs/core").Placement>, unknown, unknown>;
729
736
  popperClass: string;
737
+ maxHeight: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
730
738
  trigger: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
731
739
  tabindex: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | number>, unknown, unknown>;
732
740
  loop: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -742,11 +750,11 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
742
750
  readonly textValue: StringConstructor;
743
751
  readonly icon: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
744
752
  }, {
745
- handleClick: (e: UIEvent) => void;
753
+ handleClick: (event: PointerEvent) => void;
746
754
  handlePointerMove: (event: PointerEvent) => void;
747
755
  handlePointerLeave: (event: PointerEvent) => void;
748
756
  textContent: import("vue").ComputedRef<string>;
749
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pointerleave" | "pointermove")[], "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
757
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointerleave" | "pointermove")[], "click" | "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
750
758
  readonly command?: unknown;
751
759
  readonly disabled?: unknown;
752
760
  readonly divided?: unknown;
@@ -760,6 +768,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
760
768
  icon?: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown> | undefined;
761
769
  textValue?: string | undefined;
762
770
  }> & {
771
+ onClick?: ((...args: any[]) => any) | undefined;
763
772
  onPointermove?: ((...args: any[]) => any) | undefined;
764
773
  onPointerleave?: ((...args: any[]) => any) | undefined;
765
774
  }, {
@@ -774,6 +783,7 @@ export declare const ElDropdown: import("../../utils/types").SFCWithInstall<impo
774
783
  size: import("vue").ComputedRef<string> | undefined;
775
784
  rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
776
785
  tabIndex: import("vue").Ref<number>;
786
+ dropdownKls: import("vue").ComputedRef<string[]>;
777
787
  dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null) => void;
778
788
  handleKeydown: (e: KeyboardEvent) => void;
779
789
  onBlur: (e: Event) => void;
@@ -795,11 +805,11 @@ export declare const ElDropdownItem: import("../../utils/types").SFCWithInstall<
795
805
  readonly textValue: StringConstructor;
796
806
  readonly icon: import("../../utils/props").BuildPropReturn<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
797
807
  }, {
798
- handleClick: (e: UIEvent) => void;
808
+ handleClick: (event: PointerEvent) => void;
799
809
  handlePointerMove: (event: PointerEvent) => void;
800
810
  handlePointerLeave: (event: PointerEvent) => void;
801
811
  textContent: import("vue").ComputedRef<string>;
802
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pointerleave" | "pointermove")[], "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
812
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointerleave" | "pointermove")[], "click" | "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
803
813
  readonly command?: unknown;
804
814
  readonly disabled?: unknown;
805
815
  readonly divided?: unknown;
@@ -813,6 +823,7 @@ export declare const ElDropdownItem: import("../../utils/types").SFCWithInstall<
813
823
  icon?: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown> | undefined;
814
824
  textValue?: string | undefined;
815
825
  }> & {
826
+ onClick?: ((...args: any[]) => any) | undefined;
816
827
  onPointermove?: ((...args: any[]) => any) | undefined;
817
828
  onPointerleave?: ((...args: any[]) => any) | undefined;
818
829
  }, {
@@ -827,6 +838,7 @@ export declare const ElDropdownMenu: import("../../utils/types").SFCWithInstall<
827
838
  size: import("vue").ComputedRef<string> | undefined;
828
839
  rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
829
840
  tabIndex: import("vue").Ref<number>;
841
+ dropdownKls: import("vue").ComputedRef<string[]>;
830
842
  dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null) => void;
831
843
  handleKeydown: (e: KeyboardEvent) => void;
832
844
  onBlur: (e: Event) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item-impl.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n 'el-dropdown-menu__item--divided': divided,\n }\"\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 { EVENT_CODE } from '@element-plus/utils/aria'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils/dom'\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 { 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 itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAqCA,aAAe;;AAEf,EAAE,UAAU;IACR,MAAM;GACP;OACI,EAAE;EACP;EACA,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACjB,MAAM,EAAE,iBAAiB,EAAE;IAC3B;IACA,MAAM;MACJ,uBAAuB;MACvB,QAAQ;;;MAGR,eAAe;QACb,MAAM,CAAC;UACL;IACN;;MAEE,IAAI;QACF,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,CAAC;QACL,OAAO,IAAI;OACZ;wBACiB,CAAC,CAAC;;MAEpB,OAAO;MACP,OAAO,EAAE;QACP,CAAC,oBAAoB,GAAG,EAAE;OAC3B;;;MAGD,aAAa;MACb,eAAe;MACf;;;;;;"}
1
+ {"version":3,"file":"dropdown-item-impl.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue"],"sourcesContent":["<template>\n <div v-if=\"divided\" class=\"el-dropdown-menu__item--divided\"></div>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n }\"\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 { EVENT_CODE } from '@element-plus/utils/aria'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils/dom'\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 { 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 itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAqCA,aAAe;;AAEf,EAAE,UAAU;IACR,MAAM;GACP;OACI,EAAE;EACP;EACA,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IACjB,MAAM,EAAE,iBAAiB,EAAE;IAC3B;IACA,MAAM;MACJ,uBAAuB;MACvB,QAAQ;;;MAGR,eAAe;QACb,MAAM,CAAC;UACL;IACN;;MAEE,IAAI;QACF,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,CAAC;QACL,OAAO,IAAI;OACZ;wBACiB,CAAC,CAAC;;MAEpB,OAAO;MACP,OAAO,EAAE;QACP,CAAC,oBAAoB,GAAG,EAAE;OAC3B;;;MAGD,aAAa;MACb,eAAe;MACf;;;;;;"}
@@ -1,32 +1,38 @@
1
- import { resolveComponent, openBlock, createElementBlock, mergeProps, createBlock, withCtx, resolveDynamicComponent, createCommentVNode, renderSlot } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createElementVNode, mergeProps, createBlock, withCtx, resolveDynamicComponent, renderSlot } from 'vue';
2
2
 
3
- const _hoisted_1 = ["aria-disabled", "tabindex"];
3
+ const _hoisted_1 = {
4
+ key: 0,
5
+ class: "el-dropdown-menu__item--divided"
6
+ };
7
+ const _hoisted_2 = ["aria-disabled", "tabindex"];
4
8
  function render(_ctx, _cache, $props, $setup, $data, $options) {
5
9
  const _component_el_icon = resolveComponent("el-icon");
6
- return openBlock(), createElementBlock("div", mergeProps({ ref: _ctx.itemRef }, _ctx.dataset, {
7
- "aria-disabled": _ctx.disabled,
8
- class: {
9
- "el-dropdown-menu__item": true,
10
- "is-disabled": _ctx.disabled,
11
- "el-dropdown-menu__item--divided": _ctx.divided
12
- },
13
- tabindex: _ctx.tabIndex,
14
- role: "menuitem",
15
- onClick: _cache[0] || (_cache[0] = (e) => _ctx.$emit("click", e)),
16
- onFocus: _cache[1] || (_cache[1] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
17
- onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)),
18
- onMousedown: _cache[3] || (_cache[3] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args)),
19
- onPointermove: _cache[4] || (_cache[4] = (e) => _ctx.$emit("pointermove", e)),
20
- onPointerleave: _cache[5] || (_cache[5] = (e) => _ctx.$emit("pointerleave", e))
21
- }), [
22
- _ctx.icon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
23
- default: withCtx(() => [
24
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
25
- ]),
26
- _: 1
27
- })) : createCommentVNode("v-if", true),
28
- renderSlot(_ctx.$slots, "default")
29
- ], 16, _hoisted_1);
10
+ return openBlock(), createElementBlock(Fragment, null, [
11
+ _ctx.divided ? (openBlock(), createElementBlock("div", _hoisted_1)) : createCommentVNode("v-if", true),
12
+ createElementVNode("div", mergeProps({ ref: _ctx.itemRef }, _ctx.dataset, {
13
+ "aria-disabled": _ctx.disabled,
14
+ class: {
15
+ "el-dropdown-menu__item": true,
16
+ "is-disabled": _ctx.disabled
17
+ },
18
+ tabindex: _ctx.tabIndex,
19
+ role: "menuitem",
20
+ onClick: _cache[0] || (_cache[0] = (e) => _ctx.$emit("click", e)),
21
+ onFocus: _cache[1] || (_cache[1] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
22
+ onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)),
23
+ onMousedown: _cache[3] || (_cache[3] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args)),
24
+ onPointermove: _cache[4] || (_cache[4] = (e) => _ctx.$emit("pointermove", e)),
25
+ onPointerleave: _cache[5] || (_cache[5] = (e) => _ctx.$emit("pointerleave", e))
26
+ }), [
27
+ _ctx.icon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
28
+ default: withCtx(() => [
29
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
30
+ ]),
31
+ _: 1
32
+ })) : createCommentVNode("v-if", true),
33
+ renderSlot(_ctx.$slots, "default")
34
+ ], 16, _hoisted_2)
35
+ ], 64);
30
36
  }
31
37
 
32
38
  export { render };
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue?vue&type=template&id=6daab4f2&lang.js"],"sourcesContent":["<template>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n 'el-dropdown-menu__item--divided': divided,\n }\"\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 { EVENT_CODE } from '@element-plus/utils/aria'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils/dom'\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 { 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 itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;;;mBAIkB,EAAE,aAAQ;;;;;;IAMvB,uBAAkB;IACnB;IACC,oCAAQ,gBAAW;IACnB;IACA;IACA;IACA,aAAWA,2CAAc;;;;;4BAGmB;0BAAxB;;;;;;"}
1
+ {"version":3,"file":"dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item-impl.vue?vue&type=template&id=6daab4f2&lang.js"],"sourcesContent":["<template>\n <div v-if=\"divided\" class=\"el-dropdown-menu__item--divided\"></div>\n <div\n :ref=\"itemRef\"\n v-bind=\"dataset\"\n :aria-disabled=\"disabled\"\n :class=\"{\n 'el-dropdown-menu__item': true,\n 'is-disabled': disabled,\n }\"\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 { EVENT_CODE } from '@element-plus/utils/aria'\nimport { composeEventHandlers, composeRefs } from '@element-plus/utils/dom'\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 { 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 itemRef,\n dataset: {\n [COLLECTION_ITEM_SIGN]: '',\n },\n tabIndex,\n handleFocus,\n handleKeydown,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["_withCtx"],"mappings":";;;;;EACsB;;;;;;;;;;;;MAIjB,eAAa;MACb;;;;MAIA;MACD;MACC,oCAAQ,CAAC,KAAK;MACd;MACA,SAAO;iBACEA;;;;OAIK;;;;;;;;"}
@@ -5,11 +5,11 @@ declare const _default: import("vue").DefineComponent<{
5
5
  readonly textValue: StringConstructor;
6
6
  readonly icon: import("../../../utils/props").BuildPropReturn<import("../../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
7
7
  }, {
8
- handleClick: (e: UIEvent) => void;
8
+ handleClick: (event: PointerEvent) => void;
9
9
  handlePointerMove: (event: PointerEvent) => void;
10
10
  handlePointerLeave: (event: PointerEvent) => void;
11
11
  textContent: import("vue").ComputedRef<string>;
12
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pointerleave" | "pointermove")[], "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
12
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointerleave" | "pointermove")[], "click" | "pointerleave" | "pointermove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
13
13
  readonly command?: unknown;
14
14
  readonly disabled?: unknown;
15
15
  readonly divided?: unknown;
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
23
23
  icon?: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown> | undefined;
24
24
  textValue?: string | undefined;
25
25
  }> & {
26
+ onClick?: ((...args: any[]) => any) | undefined;
26
27
  onPointermove?: ((...args: any[]) => any) | undefined;
27
28
  onPointerleave?: ((...args: any[]) => any) | undefined;
28
29
  }, {
@@ -16,7 +16,7 @@ var script = defineComponent({
16
16
  ElDropdownItemImpl: script$2
17
17
  },
18
18
  props: dropdownItemProps,
19
- emits: ["pointermove", "pointerleave"],
19
+ emits: ["pointermove", "pointerleave", "click"],
20
20
  setup(props, { emit }) {
21
21
  const { elDropdown } = useDropdown();
22
22
  const _instance = getCurrentInstance();
@@ -47,7 +47,10 @@ var script = defineComponent({
47
47
  }, whenMouse((e) => {
48
48
  onItemLeave(e);
49
49
  }));
50
- function handleClick(e) {
50
+ const handleClick = composeEventHandlers((e) => {
51
+ emit("click", e);
52
+ return e.defaultPrevented;
53
+ }, (e) => {
51
54
  var _a, _b, _c;
52
55
  if (props.disabled) {
53
56
  e.stopImmediatePropagation();
@@ -57,7 +60,7 @@ var script = defineComponent({
57
60
  (_b = elDropdown.handleClick) == null ? void 0 : _b.call(elDropdown);
58
61
  }
59
62
  (_c = elDropdown.commandHandler) == null ? void 0 : _c.call(elDropdown, props.command, _instance, e);
60
- }
63
+ });
61
64
  return {
62
65
  handleClick,
63
66
  handlePointerMove,
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.vue_vue_type_script_lang.mjs","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=\"$props\"\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/dom'\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 props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave'],\n setup(props, { emit }) {\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 function handleClick(e: UIEvent) {\n // if disabled don't collapse the drop-down list\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 return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl"],"mappings":";;;;;;;;;;AAkCA,aAAe,eAAe;;AAE9B,EAAE,UAAU;8BACRA;uBACAC;wBACAC,QAAkB;;OAEf,EAAE;EACP;EACA,KAAK,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,UAAU,KAAK,WAAW,EAAE;IACpC,MAAM,SAAS,GAAG;IAClB,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,cAAc,QAAQ,CAAC,MAAM;MACjC,IAAI,EAAE,EAAE,EAAE;MACV,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;KAC1D,CAAC,CAAC;UACG,EAAE,WAAW,EAAE;UACf;;;KAGL,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK;MAClB,IAAI,EAAE,CAAC;UACH,KAAK,CAAC,QAAQ,EAAE;QAClB,WAAW,CAAC,CAAC,CAAC,CAAC;OAChB;QACC,YAAY,CAAC,EAAE;QACf,IAAI,CAAC,CAAC,CAAC;UACL,CAAC;UACD,CAAC,EAAE;;;;UAIH;;MAEJ;;;KAGD,CAAC,CAAC,CAAC;aACK,WAAW,CAAC;UACf,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;UACX,KAAK,CAAC,QAAQ,EAAE;;QAElB,OAAO;;MAET;;OAEC;MACD,CAAC,EAAE,GAAG,UAAU,CAAC,cAAc,KAAK,IAAI;;WAEnC;;MAEL;MACA,kBAAkB;iBACP;MACX;;;;;;"}
1
+ {"version":3,"file":"dropdown-item.vue_vue_type_script_lang.mjs","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=\"$props\"\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/dom'\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 props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\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 return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem","ElRovingFocusItem","ElDropdownItemImpl"],"mappings":";;;;;;;;;;AAkCA,aAAe,eAAe;;AAE9B,EAAE,UAAU;8BACRA;uBACAC;wBACAC,QAAkB;;OAEf,EAAE;EACP;EACA,KAAK,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,UAAU,KAAK,WAAW,GAAG;IACrC,MAAM,SAAS,GAAG;IAClB,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,cAAc,QAAQ,CAAC,MAAM;MACjC,IAAI,EAAE,EAAE,EAAE;MACV,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;KAC1D,CAAC,CAAC;UACG,EAAE,WAAW,EAAE;UACf;;;KAGL,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK;MAClB,IAAI,EAAE,CAAC;UACH,KAAK,CAAC,QAAQ,EAAE;QAClB,WAAW,CAAC,CAAC,CAAC,CAAC;OAChB;QACC,YAAY,CAAC,EAAE;QACf,IAAI,CAAC,CAAC,CAAC;UACL,CAAC;UACD,CAAC,EAAE;;;;UAIH;;MAEJ;;;KAGD,CAAC,CAAC,CAAC;UACE,WAAW,GAAG;UACd,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACV,EAAE,gBAAgB,CAAC;OACzB;MACD,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;UACX,KAAK,CAAC;;;;MAIV,IAAI,CAAC,EAAE,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC;QACnC,GAAG,GAAG,UAAU,CAAC;;SAEhB,GAAG,UAAU,CAAC;MACjB,CAAC;WACI;iBACM;uBACM;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue?vue&type=template&id=396ed16b&lang.js"],"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=\"$props\"\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/dom'\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 props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave'],\n setup(props, { emit }) {\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 function handleClick(e: UIEvent) {\n // if disabled don't collapse the drop-down list\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 return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;IAEK;;;;;;;;;YAMI;YACA,aAAW;YACX;;6BAED;cAAA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue?vue&type=template&id=396ed16b&lang.js"],"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=\"$props\"\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/dom'\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 props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\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 return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;IAEK;;;;;;;;;YAMI;YACA,aAAW;YACX;;6BAED;cAAA;;;;;;;;;;;;;"}
@@ -4,6 +4,7 @@ declare const _default: import("vue").DefineComponent<{
4
4
  size: import("vue").ComputedRef<string> | undefined;
5
5
  rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
6
6
  tabIndex: import("vue").Ref<number>;
7
+ dropdownKls: import("vue").ComputedRef<string[]>;
7
8
  dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null) => void;
8
9
  handleKeydown: (e: KeyboardEvent) => void;
9
10
  onBlur: (e: Event) => void;
@@ -1,5 +1,4 @@
1
- import { defineComponent, inject, unref } from 'vue';
2
- import '../../../directives/index.mjs';
1
+ import { defineComponent, inject, computed, unref } from 'vue';
3
2
  import { EVENT_CODE } from '../../../utils/aria.mjs';
4
3
  import '../../focus-trap/index.mjs';
5
4
  import '../../roving-focus-group/index.mjs';
@@ -7,7 +6,6 @@ import { composeRefs, composeEventHandlers } from '../../../utils/dom.mjs';
7
6
  import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
8
7
  import { dropdownMenuProps, DROPDOWN_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY, FIRST_LAST_KEYS, LAST_KEYS } from './dropdown.mjs';
9
8
  import { useDropdown } from './useDropdown.mjs';
10
- import ClickOutside from '../../../directives/click-outside/index.mjs';
11
9
  import { FOCUS_TRAP_INJECTION_KEY } from '../../focus-trap/src/tokens.mjs';
12
10
  import { ROVING_FOCUS_GROUP_INJECTION_KEY } from '../../roving-focus-group/src/tokens.mjs';
13
11
  import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY$1 } from '../../roving-focus-group/src/roving-focus-group.mjs';
@@ -15,10 +13,6 @@ import { focusFirst } from '../../roving-focus-group/src/utils.mjs';
15
13
 
16
14
  var script = defineComponent({
17
15
  name: "ElDropdownMenu",
18
- directives: {
19
- ClickOutside
20
- },
21
- inheritAttrs: false,
22
16
  props: dropdownMenuProps,
23
17
  setup(props) {
24
18
  const { _elDropdownSize } = useDropdown();
@@ -35,6 +29,12 @@ var script = defineComponent({
35
29
  onMousedown
36
30
  } = inject(ROVING_FOCUS_GROUP_INJECTION_KEY, void 0);
37
31
  const { collectionRef: rovingFocusGroupCollectionRef } = inject(COLLECTION_INJECTION_KEY$1, void 0);
32
+ const dropdownKls = computed(() => {
33
+ return [
34
+ "el-dropdown-menu",
35
+ size.value && `el-dropdown-menu--${size.value}`
36
+ ];
37
+ });
38
38
  const dropdownListWrapperRef = composeRefs(contentRef, dropdownCollectionRef, focusTrapRef, rovingFocusGroupRef, rovingFocusGroupCollectionRef);
39
39
  const composedKeydown = composeEventHandlers((e) => {
40
40
  var _a;
@@ -67,6 +67,7 @@ var script = defineComponent({
67
67
  size,
68
68
  rovingFocusGroupRootStyle,
69
69
  tabIndex,
70
+ dropdownKls,
70
71
  dropdownListWrapperRef,
71
72
  handleKeydown,
72
73
  onBlur,