@element-plus/nightly 0.0.20260720 → 0.0.20260721

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 (626) hide show
  1. package/es/components/affix/src/affix.d.ts +1 -1
  2. package/es/components/affix/src/affix.vue.d.ts +3 -3
  3. package/es/components/alert/src/alert.d.ts +2 -2
  4. package/es/components/anchor/src/anchor.d.ts +1 -1
  5. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  6. package/es/components/autocomplete/src/autocomplete.d.ts +7 -108
  7. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  8. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  9. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  10. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  11. package/es/components/avatar/src/avatar-group-props.d.ts +9 -106
  12. package/es/components/avatar/src/avatar-group-props.mjs +9 -1
  13. package/es/components/avatar/src/avatar-group-props.mjs.map +1 -1
  14. package/es/components/avatar/src/avatar-group.d.ts +20 -213
  15. package/es/components/avatar/src/avatar.d.ts +3 -3
  16. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  17. package/es/components/badge/src/badge.d.ts +4 -8
  18. package/es/components/badge/src/badge.mjs +9 -1
  19. package/es/components/badge/src/badge.mjs.map +1 -1
  20. package/es/components/badge/src/badge.vue.d.ts +3 -1
  21. package/es/components/badge/src/badge.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  22. package/es/components/badge/src/badge2.mjs.map +1 -1
  23. package/es/components/button/src/button-group.d.ts +2 -2
  24. package/es/components/button/src/button-group.vue.d.ts +1 -1
  25. package/es/components/button/src/button.d.ts +2 -2
  26. package/es/components/button/src/button.vue.d.ts +4 -4
  27. package/es/components/button/src/use-button.d.ts +2 -2
  28. package/es/components/calendar/src/calendar.mjs.map +1 -1
  29. package/es/components/calendar/src/calendar.vue.d.ts +1 -1
  30. package/es/components/calendar/style/css.mjs +1 -1
  31. package/es/components/calendar/style/index.mjs +1 -1
  32. package/es/components/card/src/card.d.ts +8 -7
  33. package/es/components/card/src/card.mjs +27 -3
  34. package/es/components/card/src/card.mjs.map +1 -1
  35. package/es/components/card/src/card.vue.d.ts +4 -0
  36. package/es/components/card/src/card.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  37. package/es/components/card/src/card2.mjs.map +1 -1
  38. package/es/components/carousel/src/carousel.d.ts +1 -1
  39. package/es/components/carousel/src/carousel.vue.d.ts +4 -4
  40. package/es/components/cascader/src/cascader.d.ts +9 -110
  41. package/es/components/cascader/src/cascader.mjs.map +1 -1
  42. package/es/components/cascader/src/cascader.vue.d.ts +22 -20
  43. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  44. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  45. package/es/components/cascader-panel/src/index.vue.d.ts +4 -4
  46. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
  47. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  48. package/es/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  49. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  50. package/es/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  51. package/es/components/checkbox/src/checkbox.d.ts +9 -9
  52. package/es/components/checkbox/src/checkbox.vue.d.ts +6 -6
  53. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  54. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  55. package/es/components/col/src/col.vue.d.ts +1 -1
  56. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  57. package/es/components/collapse/src/collapse.d.ts +1 -1
  58. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  59. package/es/components/color-picker/src/color-picker.d.ts +5 -104
  60. package/es/components/color-picker/src/color-picker.mjs +1 -0
  61. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  62. package/es/components/color-picker/src/color-picker.vue.d.ts +12 -10
  63. package/es/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
  64. package/es/components/color-picker-panel/src/color-picker-panel.mjs +9 -5
  65. package/es/components/color-picker-panel/src/color-picker-panel.mjs.map +1 -1
  66. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +4 -1
  67. package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  68. package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
  69. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  70. package/es/components/config-provider/src/config-provider.d.ts +2 -2
  71. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  72. package/es/components/date-picker/src/date-picker.d.ts +17 -217
  73. package/es/components/date-picker/src/props.d.ts +4 -104
  74. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  75. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +3 -3
  76. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  77. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  78. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  79. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  80. package/es/components/date-picker-panel/src/panel-utils.d.ts +21 -21
  81. package/es/components/date-picker-panel/src/props/basic-date-table.mjs.map +1 -1
  82. package/es/components/descriptions/src/description-item.d.ts +18 -18
  83. package/es/components/descriptions/src/description.d.ts +1 -1
  84. package/es/components/descriptions/src/description.vue.d.ts +2 -2
  85. package/es/components/dialog/src/dialog-content.d.ts +10 -6
  86. package/es/components/dialog/src/dialog-content.mjs +32 -5
  87. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  88. package/es/components/dialog/src/dialog-content.vue.d.ts +5 -1
  89. package/es/components/dialog/src/dialog.d.ts +10 -5
  90. package/es/components/dialog/src/dialog.mjs +11 -14
  91. package/es/components/dialog/src/dialog.mjs.map +1 -1
  92. package/es/components/dialog/src/dialog.vue.d.ts +9 -4
  93. package/es/components/divider/src/divider.d.ts +1 -1
  94. package/es/components/divider/src/divider.vue.d.ts +1 -1
  95. package/es/components/drawer/src/drawer.d.ts +5 -4
  96. package/es/components/drawer/src/drawer.vue.d.ts +12 -7
  97. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  98. package/es/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
  99. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  100. package/es/components/dropdown/src/dropdown.d.ts +5 -106
  101. package/es/components/dropdown/src/dropdown.vue.d.ts +115 -313
  102. package/es/components/dropdown/style/css.mjs +1 -1
  103. package/es/components/dropdown/style/index.mjs +1 -1
  104. package/es/components/form/src/form-item.d.ts +3 -3
  105. package/es/components/form/src/form-item.vue.d.ts +2 -2
  106. package/es/components/form/src/form.d.ts +4 -4
  107. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  108. package/es/components/image/src/image.d.ts +1 -1
  109. package/es/components/image/src/image.mjs.map +1 -1
  110. package/es/components/image/src/image.vue.d.ts +4 -4
  111. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  112. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  113. package/es/components/input/src/input.d.ts +4 -4
  114. package/es/components/input/src/input.vue.d.ts +19 -19
  115. package/es/components/input-number/src/input-number.d.ts +3 -3
  116. package/es/components/input-number/src/input-number.vue.d.ts +10 -10
  117. package/es/components/input-otp/src/input-otp.vue.d.ts +7 -7
  118. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  119. package/es/components/input-tag/src/input-tag.d.ts +3 -3
  120. package/es/components/input-tag/src/input-tag.vue.d.ts +12 -12
  121. package/es/components/link/src/link.d.ts +2 -2
  122. package/es/components/link/src/link.mjs.map +1 -1
  123. package/es/components/mention/src/mention.d.ts +7 -108
  124. package/es/components/mention/src/mention.vue.d.ts +5 -5
  125. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  126. package/es/components/mention/src/mention2.mjs.map +1 -1
  127. package/es/components/menu/src/menu.d.ts +13 -25
  128. package/es/components/menu/src/menu.mjs +18 -2
  129. package/es/components/menu/src/menu.mjs.map +1 -1
  130. package/es/components/menu/src/sub-menu.d.ts +11 -23
  131. package/es/components/menu/src/sub-menu.mjs +18 -2
  132. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  133. package/es/components/message/src/instance.d.ts +1 -1
  134. package/es/components/message/src/message.d.ts +5 -5
  135. package/es/components/message/src/message.mjs +6 -1
  136. package/es/components/message/src/message.mjs.map +1 -1
  137. package/es/components/message/src/message.vue.d.ts +7 -6
  138. package/es/components/message/src/method.mjs.map +1 -1
  139. package/es/components/message-box/src/index.vue.d.ts +73 -81
  140. package/es/components/notification/src/notification.d.ts +4 -3
  141. package/es/components/notification/src/notification.mjs +6 -1
  142. package/es/components/notification/src/notification.mjs.map +1 -1
  143. package/es/components/notification/src/notification.vue.d.ts +5 -4
  144. package/es/components/overlay/index.d.ts +4 -12
  145. package/es/components/overlay/src/overlay.d.ts +5 -18
  146. package/es/components/overlay/src/overlay.mjs +9 -5
  147. package/es/components/overlay/src/overlay.mjs.map +1 -1
  148. package/es/components/pagination/src/components/jumper.d.ts +1 -1
  149. package/es/components/pagination/src/components/jumper.vue.d.ts +2 -2
  150. package/es/components/pagination/src/components/sizes.d.ts +5 -14
  151. package/es/components/pagination/src/components/sizes.mjs +18 -2
  152. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  153. package/es/components/pagination/src/components/sizes.vue.d.ts +10 -27
  154. package/es/components/pagination/src/pagination.d.ts +16 -29
  155. package/es/components/pagination/src/pagination.mjs +15 -2
  156. package/es/components/pagination/src/pagination.mjs.map +1 -1
  157. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  158. package/es/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
  159. package/es/components/popover/src/popover.d.ts +5 -105
  160. package/es/components/popover/src/popover.mjs +1 -0
  161. package/es/components/popover/src/popover.mjs.map +1 -1
  162. package/es/components/popover/src/popover.vue.d.ts +14 -13
  163. package/es/components/popper/src/composables/use-content-dom.d.ts +2 -25
  164. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  165. package/es/components/popper/src/content.d.ts +8 -18
  166. package/es/components/popper/src/content.mjs +13 -7
  167. package/es/components/popper/src/content.mjs.map +1 -1
  168. package/es/components/popper/src/content.vue.d.ts +19 -17
  169. package/es/components/popper/src/popper.d.ts +2 -2
  170. package/es/components/popper/src/popper.mjs.map +1 -1
  171. package/es/components/progress/src/progress.d.ts +1 -1
  172. package/es/components/progress/src/progress.vue.d.ts +2 -2
  173. package/es/components/radio/src/radio-button.d.ts +4 -4
  174. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  175. package/es/components/radio/src/radio-group.d.ts +1 -1
  176. package/es/components/radio/src/radio-group.vue.d.ts +6 -6
  177. package/es/components/radio/src/radio.d.ts +8 -8
  178. package/es/components/radio/src/radio.vue.d.ts +4 -4
  179. package/es/components/radio/src/use-radio.d.ts +1 -1
  180. package/es/components/rate/src/rate.d.ts +1 -1
  181. package/es/components/rate/src/rate.vue.d.ts +3 -3
  182. package/es/components/rate/src/rate.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  183. package/es/components/rate/src/rate2.mjs.map +1 -1
  184. package/es/components/result/src/result.d.ts +1 -1
  185. package/es/components/result/src/result.vue.d.ts +1 -1
  186. package/es/components/row/src/row.d.ts +1 -1
  187. package/es/components/scrollbar/src/scrollbar.d.ts +5 -4
  188. package/es/components/scrollbar/src/scrollbar.mjs +12 -2
  189. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  190. package/es/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
  191. package/es/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  192. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  193. package/es/components/segmented/index.d.ts +2 -2
  194. package/es/components/segmented/src/segmented.d.ts +2 -2
  195. package/es/components/segmented/src/segmented.vue.d.ts +1 -1
  196. package/es/components/select/src/option.d.ts +2 -2
  197. package/es/components/select/src/option.vue.d.ts +5 -5
  198. package/es/components/select/src/select-dropdown.vue.d.ts +2 -1
  199. package/es/components/select/src/select.d.ts +12 -16
  200. package/es/components/select/src/select.mjs +15 -2
  201. package/es/components/select/src/select.mjs.map +1 -1
  202. package/es/components/select/src/select.vue.d.ts +137 -143
  203. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  204. package/es/components/select/src/select2.mjs.map +1 -1
  205. package/es/components/select/src/useOption.d.ts +2 -2
  206. package/es/components/select/src/useSelect.d.ts +7 -7
  207. package/es/components/select/src/useSelect.mjs.map +1 -1
  208. package/es/components/select-v2/src/defaults.d.ts +6 -106
  209. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  210. package/es/components/select-v2/src/select.vue.d.ts +110 -308
  211. package/es/components/select-v2/src/useSelect.d.ts +2 -2
  212. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  213. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  214. package/es/components/slider/src/button.d.ts +2 -1
  215. package/es/components/slider/src/button.mjs +10 -2
  216. package/es/components/slider/src/button.mjs.map +1 -1
  217. package/es/components/slider/src/button.vue.d.ts +6 -4
  218. package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
  219. package/es/components/slider/src/slider.d.ts +4 -4
  220. package/es/components/slider/src/slider.mjs +6 -1
  221. package/es/components/slider/src/slider.mjs.map +1 -1
  222. package/es/components/slider/src/slider.vue.d.ts +16 -16
  223. package/es/components/space/src/space.d.ts +10 -10
  224. package/es/components/space/src/space.mjs +2 -1
  225. package/es/components/space/src/space.mjs.map +1 -1
  226. package/es/components/space/src/use-space.d.ts +2 -3
  227. package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
  228. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  229. package/es/components/steps/src/item.d.ts +1 -1
  230. package/es/components/steps/src/item.vue.d.ts +1 -1
  231. package/es/components/steps/src/steps.d.ts +2 -2
  232. package/es/components/steps/src/steps.vue.d.ts +1 -1
  233. package/es/components/switch/src/switch.d.ts +1 -1
  234. package/es/components/switch/src/switch.vue.d.ts +4 -4
  235. package/es/components/table/src/filter-panel.vue.d.ts +107 -104
  236. package/es/components/table/src/table/defaults.d.ts +6 -6
  237. package/es/components/table/src/table/defaults.mjs.map +1 -1
  238. package/es/components/table/src/table/style-helper.d.ts +2 -2
  239. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  240. package/es/components/table/src/table-column/defaults.d.ts +4 -4
  241. package/es/components/table/src/table-footer/index.d.ts +1 -1
  242. package/es/components/table/src/table-header/index.d.ts +19 -19
  243. package/es/components/table/src/table.vue.d.ts +5 -5
  244. package/es/components/table-v2/src/components/header.d.ts +1 -1
  245. package/es/components/table-v2/src/components/row.d.ts +1 -1
  246. package/es/components/table-v2/src/table-grid.d.ts +4 -4
  247. package/es/components/table-v2/src/table-v2.d.ts +5 -5
  248. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  249. package/es/components/tabs/src/tabs.d.ts +6 -6
  250. package/es/components/tag/src/tag.d.ts +3 -3
  251. package/es/components/tag/src/tag.vue.d.ts +2 -2
  252. package/es/components/text/src/text.d.ts +2 -2
  253. package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  254. package/es/components/time-picker/src/common/picker.vue.d.ts +23 -223
  255. package/es/components/time-picker/src/common/props.d.ts +4 -104
  256. package/es/components/time-picker/src/time-picker.d.ts +17 -217
  257. package/es/components/time-select/src/time-select.d.ts +7 -11
  258. package/es/components/time-select/src/time-select.mjs +15 -2
  259. package/es/components/time-select/src/time-select.mjs.map +1 -1
  260. package/es/components/time-select/src/time-select.vue.d.ts +11 -10
  261. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  262. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  263. package/es/components/tooltip/src/content.d.ts +4 -199
  264. package/es/components/tooltip/src/content.vue.d.ts +18 -16
  265. package/es/components/tooltip/src/tooltip.d.ts +5 -202
  266. package/es/components/tooltip/src/tooltip.vue.d.ts +22 -21
  267. package/es/components/tooltip/src/trigger.d.ts +1 -1
  268. package/es/components/tour/src/content.d.ts +1 -1
  269. package/es/components/tour/src/content.vue.d.ts +1 -1
  270. package/es/components/tour/src/mask.vue.d.ts +1 -1
  271. package/es/components/tour/src/step.d.ts +1 -1
  272. package/es/components/tour/src/step.vue.d.ts +1 -1
  273. package/es/components/tour/src/tour.d.ts +1 -1
  274. package/es/components/tour/src/tour.vue.d.ts +7 -7
  275. package/es/components/transfer/src/transfer.vue.d.ts +1 -1
  276. package/es/components/tree/src/tree-node.vue.d.ts +18 -18
  277. package/es/components/tree/src/tree.vue.d.ts +22 -22
  278. package/es/components/tree-select/src/select.mjs +1 -5
  279. package/es/components/tree-select/src/select.mjs.map +1 -1
  280. package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
  281. package/es/components/tree-select/src/tree-select.vue.d.ts +44 -52
  282. package/es/components/tree-v2/src/composables/useTree.d.ts +13 -12
  283. package/es/components/tree-v2/src/tree.vue.d.ts +5 -5
  284. package/es/components/upload/src/upload-content.d.ts +1 -1
  285. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  286. package/es/components/upload/src/upload-list.d.ts +1 -1
  287. package/es/components/upload/src/upload.d.ts +2 -2
  288. package/es/components/upload/src/upload.mjs.map +1 -1
  289. package/es/components/upload/src/upload.vue.d.ts +2 -2
  290. package/es/components/virtual-list/src/builders/build-grid.d.ts +5 -4
  291. package/es/components/virtual-list/src/builders/build-list.d.ts +7 -6
  292. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +5 -4
  293. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +7 -6
  294. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +5 -4
  295. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +7 -6
  296. package/es/components/virtual-list/src/components/scrollbar.d.ts +4 -2
  297. package/es/components/virtual-list/src/props.d.ts +5 -4
  298. package/es/components/virtual-list/src/props.mjs +15 -2
  299. package/es/components/virtual-list/src/props.mjs.map +1 -1
  300. package/es/components/watermark/src/watermark.mjs.map +1 -1
  301. package/es/components/watermark/src/watermark.vue.d.ts +1 -1
  302. package/es/hooks/use-floating/index.d.ts +12 -12
  303. package/es/hooks/use-popper/index.d.ts +4 -4
  304. package/es/hooks/use-size/index.d.ts +3 -3
  305. package/es/hooks/use-throttle-render/index.mjs.map +1 -1
  306. package/es/utils/index.d.ts +2 -2
  307. package/es/utils/typescript.d.ts +2 -1
  308. package/es/utils/typescript.mjs.map +1 -1
  309. package/es/utils/vue/size.d.ts +1 -1
  310. package/es/version.d.ts +1 -1
  311. package/es/version.mjs +1 -1
  312. package/es/version.mjs.map +1 -1
  313. package/lib/components/affix/src/affix.d.ts +1 -1
  314. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  315. package/lib/components/alert/src/alert.d.ts +2 -2
  316. package/lib/components/anchor/src/anchor.d.ts +1 -1
  317. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  318. package/lib/components/autocomplete/src/autocomplete.d.ts +7 -108
  319. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  320. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  321. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  322. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  323. package/lib/components/avatar/src/avatar-group-props.d.ts +9 -106
  324. package/lib/components/avatar/src/avatar-group-props.js +9 -1
  325. package/lib/components/avatar/src/avatar-group-props.js.map +1 -1
  326. package/lib/components/avatar/src/avatar-group.d.ts +20 -213
  327. package/lib/components/avatar/src/avatar.d.ts +3 -3
  328. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  329. package/lib/components/badge/src/badge.d.ts +4 -8
  330. package/lib/components/badge/src/badge.js +9 -1
  331. package/lib/components/badge/src/badge.js.map +1 -1
  332. package/lib/components/badge/src/badge.vue.d.ts +3 -1
  333. package/lib/components/badge/src/badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/lib/components/badge/src/badge2.js.map +1 -1
  335. package/lib/components/button/src/button-group.d.ts +2 -2
  336. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  337. package/lib/components/button/src/button.d.ts +2 -2
  338. package/lib/components/button/src/button.vue.d.ts +4 -4
  339. package/lib/components/button/src/use-button.d.ts +2 -2
  340. package/lib/components/calendar/src/calendar.js.map +1 -1
  341. package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
  342. package/lib/components/calendar/style/css.js +1 -1
  343. package/lib/components/calendar/style/index.js +1 -1
  344. package/lib/components/card/src/card.d.ts +8 -7
  345. package/lib/components/card/src/card.js +27 -3
  346. package/lib/components/card/src/card.js.map +1 -1
  347. package/lib/components/card/src/card.vue.d.ts +4 -0
  348. package/lib/components/card/src/card.vue_vue_type_script_setup_true_lang.js.map +1 -1
  349. package/lib/components/card/src/card2.js.map +1 -1
  350. package/lib/components/carousel/src/carousel.d.ts +1 -1
  351. package/lib/components/carousel/src/carousel.vue.d.ts +4 -4
  352. package/lib/components/cascader/src/cascader.d.ts +9 -110
  353. package/lib/components/cascader/src/cascader.js.map +1 -1
  354. package/lib/components/cascader/src/cascader.vue.d.ts +22 -20
  355. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  356. package/lib/components/cascader/src/cascader2.js.map +1 -1
  357. package/lib/components/cascader-panel/src/index.vue.d.ts +4 -4
  358. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
  359. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  360. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  361. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  362. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  363. package/lib/components/checkbox/src/checkbox.d.ts +9 -9
  364. package/lib/components/checkbox/src/checkbox.vue.d.ts +6 -6
  365. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  366. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  367. package/lib/components/col/src/col.vue.d.ts +1 -1
  368. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  369. package/lib/components/collapse/src/collapse.d.ts +1 -1
  370. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  371. package/lib/components/color-picker/src/color-picker.d.ts +5 -104
  372. package/lib/components/color-picker/src/color-picker.js +1 -0
  373. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  374. package/lib/components/color-picker/src/color-picker.vue.d.ts +12 -10
  375. package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
  376. package/lib/components/color-picker-panel/src/color-picker-panel.js +9 -5
  377. package/lib/components/color-picker-panel/src/color-picker-panel.js.map +1 -1
  378. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +4 -1
  379. package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  380. package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
  381. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  382. package/lib/components/config-provider/src/config-provider.d.ts +2 -2
  383. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  384. package/lib/components/date-picker/src/date-picker.d.ts +17 -217
  385. package/lib/components/date-picker/src/props.d.ts +4 -104
  386. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  387. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +3 -3
  388. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  389. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  390. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  391. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  392. package/lib/components/date-picker-panel/src/panel-utils.d.ts +21 -21
  393. package/lib/components/date-picker-panel/src/props/basic-date-table.js.map +1 -1
  394. package/lib/components/descriptions/src/description-item.d.ts +18 -18
  395. package/lib/components/descriptions/src/description.d.ts +1 -1
  396. package/lib/components/descriptions/src/description.vue.d.ts +2 -2
  397. package/lib/components/dialog/src/dialog-content.d.ts +10 -6
  398. package/lib/components/dialog/src/dialog-content.js +31 -4
  399. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  400. package/lib/components/dialog/src/dialog-content.vue.d.ts +5 -1
  401. package/lib/components/dialog/src/dialog.d.ts +10 -5
  402. package/lib/components/dialog/src/dialog.js +11 -14
  403. package/lib/components/dialog/src/dialog.js.map +1 -1
  404. package/lib/components/dialog/src/dialog.vue.d.ts +9 -4
  405. package/lib/components/divider/src/divider.d.ts +1 -1
  406. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  407. package/lib/components/drawer/src/drawer.d.ts +5 -4
  408. package/lib/components/drawer/src/drawer.vue.d.ts +12 -7
  409. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  410. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
  411. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  412. package/lib/components/dropdown/src/dropdown.d.ts +5 -106
  413. package/lib/components/dropdown/src/dropdown.vue.d.ts +115 -313
  414. package/lib/components/dropdown/style/css.js +1 -1
  415. package/lib/components/dropdown/style/index.js +1 -1
  416. package/lib/components/form/src/form-item.d.ts +3 -3
  417. package/lib/components/form/src/form-item.vue.d.ts +2 -2
  418. package/lib/components/form/src/form.d.ts +4 -4
  419. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  420. package/lib/components/image/src/image.d.ts +1 -1
  421. package/lib/components/image/src/image.js.map +1 -1
  422. package/lib/components/image/src/image.vue.d.ts +4 -4
  423. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  424. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  425. package/lib/components/input/src/input.d.ts +4 -4
  426. package/lib/components/input/src/input.vue.d.ts +19 -19
  427. package/lib/components/input-number/src/input-number.d.ts +3 -3
  428. package/lib/components/input-number/src/input-number.vue.d.ts +10 -10
  429. package/lib/components/input-otp/src/input-otp.vue.d.ts +7 -7
  430. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  431. package/lib/components/input-tag/src/input-tag.d.ts +3 -3
  432. package/lib/components/input-tag/src/input-tag.vue.d.ts +12 -12
  433. package/lib/components/link/src/link.d.ts +2 -2
  434. package/lib/components/link/src/link.js.map +1 -1
  435. package/lib/components/mention/src/mention.d.ts +7 -108
  436. package/lib/components/mention/src/mention.vue.d.ts +5 -5
  437. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  438. package/lib/components/mention/src/mention2.js.map +1 -1
  439. package/lib/components/menu/src/menu.d.ts +13 -25
  440. package/lib/components/menu/src/menu.js +18 -2
  441. package/lib/components/menu/src/menu.js.map +1 -1
  442. package/lib/components/menu/src/sub-menu.d.ts +11 -23
  443. package/lib/components/menu/src/sub-menu.js +18 -2
  444. package/lib/components/menu/src/sub-menu.js.map +1 -1
  445. package/lib/components/message/src/instance.d.ts +1 -1
  446. package/lib/components/message/src/message.d.ts +5 -5
  447. package/lib/components/message/src/message.js +6 -1
  448. package/lib/components/message/src/message.js.map +1 -1
  449. package/lib/components/message/src/message.vue.d.ts +7 -6
  450. package/lib/components/message/src/method.js.map +1 -1
  451. package/lib/components/message-box/src/index.vue.d.ts +73 -81
  452. package/lib/components/notification/src/notification.d.ts +4 -3
  453. package/lib/components/notification/src/notification.js +6 -1
  454. package/lib/components/notification/src/notification.js.map +1 -1
  455. package/lib/components/notification/src/notification.vue.d.ts +5 -4
  456. package/lib/components/overlay/index.d.ts +4 -12
  457. package/lib/components/overlay/src/overlay.d.ts +5 -18
  458. package/lib/components/overlay/src/overlay.js +9 -5
  459. package/lib/components/overlay/src/overlay.js.map +1 -1
  460. package/lib/components/pagination/src/components/jumper.d.ts +1 -1
  461. package/lib/components/pagination/src/components/jumper.vue.d.ts +2 -2
  462. package/lib/components/pagination/src/components/sizes.d.ts +5 -14
  463. package/lib/components/pagination/src/components/sizes.js +18 -2
  464. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  465. package/lib/components/pagination/src/components/sizes.vue.d.ts +10 -27
  466. package/lib/components/pagination/src/pagination.d.ts +16 -29
  467. package/lib/components/pagination/src/pagination.js +15 -2
  468. package/lib/components/pagination/src/pagination.js.map +1 -1
  469. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  470. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
  471. package/lib/components/popover/src/popover.d.ts +5 -105
  472. package/lib/components/popover/src/popover.js +1 -0
  473. package/lib/components/popover/src/popover.js.map +1 -1
  474. package/lib/components/popover/src/popover.vue.d.ts +14 -13
  475. package/lib/components/popper/src/composables/use-content-dom.d.ts +2 -25
  476. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  477. package/lib/components/popper/src/content.d.ts +8 -18
  478. package/lib/components/popper/src/content.js +13 -7
  479. package/lib/components/popper/src/content.js.map +1 -1
  480. package/lib/components/popper/src/content.vue.d.ts +19 -17
  481. package/lib/components/popper/src/popper.d.ts +2 -2
  482. package/lib/components/popper/src/popper.js.map +1 -1
  483. package/lib/components/progress/src/progress.d.ts +1 -1
  484. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  485. package/lib/components/radio/src/radio-button.d.ts +4 -4
  486. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  487. package/lib/components/radio/src/radio-group.d.ts +1 -1
  488. package/lib/components/radio/src/radio-group.vue.d.ts +6 -6
  489. package/lib/components/radio/src/radio.d.ts +8 -8
  490. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  491. package/lib/components/radio/src/use-radio.d.ts +1 -1
  492. package/lib/components/rate/src/rate.d.ts +1 -1
  493. package/lib/components/rate/src/rate.vue.d.ts +3 -3
  494. package/lib/components/rate/src/rate.vue_vue_type_script_setup_true_lang.js.map +1 -1
  495. package/lib/components/rate/src/rate2.js.map +1 -1
  496. package/lib/components/result/src/result.d.ts +1 -1
  497. package/lib/components/result/src/result.vue.d.ts +1 -1
  498. package/lib/components/row/src/row.d.ts +1 -1
  499. package/lib/components/scrollbar/src/scrollbar.d.ts +5 -4
  500. package/lib/components/scrollbar/src/scrollbar.js +12 -2
  501. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  502. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
  503. package/lib/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  504. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  505. package/lib/components/segmented/index.d.ts +2 -2
  506. package/lib/components/segmented/src/segmented.d.ts +2 -2
  507. package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
  508. package/lib/components/select/src/option.d.ts +2 -2
  509. package/lib/components/select/src/option.vue.d.ts +5 -5
  510. package/lib/components/select/src/select-dropdown.vue.d.ts +2 -1
  511. package/lib/components/select/src/select.d.ts +12 -16
  512. package/lib/components/select/src/select.js +15 -2
  513. package/lib/components/select/src/select.js.map +1 -1
  514. package/lib/components/select/src/select.vue.d.ts +137 -143
  515. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  516. package/lib/components/select/src/select2.js.map +1 -1
  517. package/lib/components/select/src/useOption.d.ts +2 -2
  518. package/lib/components/select/src/useSelect.d.ts +7 -7
  519. package/lib/components/select/src/useSelect.js.map +1 -1
  520. package/lib/components/select-v2/src/defaults.d.ts +6 -106
  521. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  522. package/lib/components/select-v2/src/select.vue.d.ts +110 -308
  523. package/lib/components/select-v2/src/useSelect.d.ts +2 -2
  524. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  525. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  526. package/lib/components/slider/src/button.d.ts +2 -1
  527. package/lib/components/slider/src/button.js +9 -1
  528. package/lib/components/slider/src/button.js.map +1 -1
  529. package/lib/components/slider/src/button.vue.d.ts +6 -4
  530. package/lib/components/slider/src/composables/use-marks.js.map +1 -1
  531. package/lib/components/slider/src/slider.d.ts +4 -4
  532. package/lib/components/slider/src/slider.js +6 -1
  533. package/lib/components/slider/src/slider.js.map +1 -1
  534. package/lib/components/slider/src/slider.vue.d.ts +16 -16
  535. package/lib/components/space/src/space.d.ts +10 -10
  536. package/lib/components/space/src/space.js +2 -1
  537. package/lib/components/space/src/space.js.map +1 -1
  538. package/lib/components/space/src/use-space.d.ts +2 -3
  539. package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
  540. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  541. package/lib/components/steps/src/item.d.ts +1 -1
  542. package/lib/components/steps/src/item.vue.d.ts +1 -1
  543. package/lib/components/steps/src/steps.d.ts +2 -2
  544. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  545. package/lib/components/switch/src/switch.d.ts +1 -1
  546. package/lib/components/switch/src/switch.vue.d.ts +4 -4
  547. package/lib/components/table/src/filter-panel.vue.d.ts +107 -104
  548. package/lib/components/table/src/table/defaults.d.ts +6 -6
  549. package/lib/components/table/src/table/defaults.js.map +1 -1
  550. package/lib/components/table/src/table/style-helper.d.ts +2 -2
  551. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  552. package/lib/components/table/src/table-column/defaults.d.ts +4 -4
  553. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  554. package/lib/components/table/src/table-header/index.d.ts +19 -19
  555. package/lib/components/table/src/table.vue.d.ts +5 -5
  556. package/lib/components/table-v2/src/components/header.d.ts +1 -1
  557. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  558. package/lib/components/table-v2/src/table-grid.d.ts +4 -4
  559. package/lib/components/table-v2/src/table-v2.d.ts +5 -5
  560. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  561. package/lib/components/tabs/src/tabs.d.ts +6 -6
  562. package/lib/components/tag/src/tag.d.ts +3 -3
  563. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  564. package/lib/components/text/src/text.d.ts +2 -2
  565. package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  566. package/lib/components/time-picker/src/common/picker.vue.d.ts +23 -223
  567. package/lib/components/time-picker/src/common/props.d.ts +4 -104
  568. package/lib/components/time-picker/src/time-picker.d.ts +17 -217
  569. package/lib/components/time-select/src/time-select.d.ts +7 -11
  570. package/lib/components/time-select/src/time-select.js +15 -2
  571. package/lib/components/time-select/src/time-select.js.map +1 -1
  572. package/lib/components/time-select/src/time-select.vue.d.ts +11 -10
  573. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  574. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  575. package/lib/components/tooltip/src/content.d.ts +4 -199
  576. package/lib/components/tooltip/src/content.vue.d.ts +18 -16
  577. package/lib/components/tooltip/src/tooltip.d.ts +5 -202
  578. package/lib/components/tooltip/src/tooltip.vue.d.ts +22 -21
  579. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  580. package/lib/components/tour/src/content.d.ts +1 -1
  581. package/lib/components/tour/src/content.vue.d.ts +1 -1
  582. package/lib/components/tour/src/mask.vue.d.ts +1 -1
  583. package/lib/components/tour/src/step.d.ts +1 -1
  584. package/lib/components/tour/src/step.vue.d.ts +1 -1
  585. package/lib/components/tour/src/tour.d.ts +1 -1
  586. package/lib/components/tour/src/tour.vue.d.ts +7 -7
  587. package/lib/components/transfer/src/transfer.vue.d.ts +1 -1
  588. package/lib/components/tree/src/tree-node.vue.d.ts +18 -18
  589. package/lib/components/tree/src/tree.vue.d.ts +22 -22
  590. package/lib/components/tree-select/src/select.js +1 -5
  591. package/lib/components/tree-select/src/select.js.map +1 -1
  592. package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
  593. package/lib/components/tree-select/src/tree-select.vue.d.ts +44 -52
  594. package/lib/components/tree-v2/src/composables/useTree.d.ts +13 -12
  595. package/lib/components/tree-v2/src/tree.vue.d.ts +5 -5
  596. package/lib/components/upload/src/upload-content.d.ts +1 -1
  597. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  598. package/lib/components/upload/src/upload-list.d.ts +1 -1
  599. package/lib/components/upload/src/upload.d.ts +2 -2
  600. package/lib/components/upload/src/upload.js.map +1 -1
  601. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  602. package/lib/components/virtual-list/src/builders/build-grid.d.ts +5 -4
  603. package/lib/components/virtual-list/src/builders/build-list.d.ts +7 -6
  604. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +5 -4
  605. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +7 -6
  606. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +5 -4
  607. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +7 -6
  608. package/lib/components/virtual-list/src/components/scrollbar.d.ts +4 -2
  609. package/lib/components/virtual-list/src/props.d.ts +5 -4
  610. package/lib/components/virtual-list/src/props.js +15 -2
  611. package/lib/components/virtual-list/src/props.js.map +1 -1
  612. package/lib/components/watermark/src/watermark.js.map +1 -1
  613. package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
  614. package/lib/hooks/use-floating/index.d.ts +12 -12
  615. package/lib/hooks/use-popper/index.d.ts +4 -4
  616. package/lib/hooks/use-size/index.d.ts +3 -3
  617. package/lib/hooks/use-throttle-render/index.js.map +1 -1
  618. package/lib/utils/index.d.ts +2 -2
  619. package/lib/utils/typescript.d.ts +2 -1
  620. package/lib/utils/typescript.js.map +1 -1
  621. package/lib/utils/vue/size.d.ts +1 -1
  622. package/lib/version.d.ts +1 -1
  623. package/lib/version.js +1 -1
  624. package/lib/version.js.map +1 -1
  625. package/package.json +2 -2
  626. package/web-types.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
2
+ import { ClassValue } from "../../../utils/typescript.js";
2
3
  import * as _$vue from "vue";
3
- import { CSSProperties, ExtractPropTypes, ExtractPublicPropTypes } from "vue";
4
+ import { ExtractPropTypes, ExtractPublicPropTypes, StyleValue } from "vue";
4
5
 
5
6
  //#region ../../packages/components/menu/src/sub-menu.d.ts
6
7
  declare const subMenuProps: {
@@ -12,13 +13,8 @@ declare const subMenuProps: {
12
13
  };
13
14
  readonly showTimeout: NumberConstructor;
14
15
  readonly hideTimeout: NumberConstructor;
15
- readonly popperClass: StringConstructor;
16
- readonly popperStyle: {
17
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | CSSProperties) | (() => string | CSSProperties) | (((new (...args: any[]) => string | CSSProperties) | (() => string | CSSProperties)) | null)[], unknown, unknown>>;
18
- readonly required: false;
19
- readonly validator: ((val: unknown) => boolean) | undefined;
20
- __epPropKey: true;
21
- };
16
+ readonly popperClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, undefined, boolean>;
17
+ readonly popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
22
18
  readonly disabled: BooleanConstructor;
23
19
  readonly teleported: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
24
20
  readonly popperOffset: NumberConstructor;
@@ -58,13 +54,8 @@ declare const _default: _$vue.DefineComponent<ExtractPropTypes<{
58
54
  };
59
55
  readonly showTimeout: NumberConstructor;
60
56
  readonly hideTimeout: NumberConstructor;
61
- readonly popperClass: StringConstructor;
62
- readonly popperStyle: {
63
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | CSSProperties) | (() => string | CSSProperties) | (((new (...args: any[]) => string | CSSProperties) | (() => string | CSSProperties)) | null)[], unknown, unknown>>;
64
- readonly required: false;
65
- readonly validator: ((val: unknown) => boolean) | undefined;
66
- __epPropKey: true;
67
- };
57
+ readonly popperClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, undefined, boolean>;
58
+ readonly popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
68
59
  readonly disabled: BooleanConstructor;
69
60
  readonly teleported: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
70
61
  readonly popperOffset: NumberConstructor;
@@ -103,13 +94,8 @@ declare const _default: _$vue.DefineComponent<ExtractPropTypes<{
103
94
  };
104
95
  readonly showTimeout: NumberConstructor;
105
96
  readonly hideTimeout: NumberConstructor;
106
- readonly popperClass: StringConstructor;
107
- readonly popperStyle: {
108
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | CSSProperties) | (() => string | CSSProperties) | (((new (...args: any[]) => string | CSSProperties) | (() => string | CSSProperties)) | null)[], unknown, unknown>>;
109
- readonly required: false;
110
- readonly validator: ((val: unknown) => boolean) | undefined;
111
- __epPropKey: true;
112
- };
97
+ readonly popperClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, undefined, boolean>;
98
+ readonly popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
113
99
  readonly disabled: BooleanConstructor;
114
100
  readonly teleported: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
115
101
  readonly popperOffset: NumberConstructor;
@@ -138,8 +124,10 @@ declare const _default: _$vue.DefineComponent<ExtractPropTypes<{
138
124
  __epPropKey: true;
139
125
  };
140
126
  }>> & Readonly<{}>, {
141
- readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
142
127
  readonly disabled: boolean;
128
+ readonly popperClass: ClassValue;
129
+ readonly popperStyle: StyleValue;
130
+ readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
143
131
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
144
132
  //#endregion
145
133
  export { SubMenuProps, SubMenuPropsPublic, _default as default, subMenuProps };
@@ -39,11 +39,27 @@ const subMenuProps = require_runtime$1.buildProps({
39
39
  /**
40
40
  * @description custom class name for the popup menu
41
41
  */
42
- popperClass: String,
42
+ popperClass: {
43
+ type: require_runtime$1.definePropType([
44
+ String,
45
+ Array,
46
+ Object,
47
+ Boolean
48
+ ]),
49
+ default: void 0
50
+ },
43
51
  /**
44
52
  * @description custom style for the popup menu
45
53
  */
46
- popperStyle: { type: require_runtime$1.definePropType([String, Object]) },
54
+ popperStyle: {
55
+ type: require_runtime$1.definePropType([
56
+ String,
57
+ Array,
58
+ Object,
59
+ Boolean
60
+ ]),
61
+ default: void 0
62
+ },
47
63
  /**
48
64
  * @description whether the sub-menu is disabled
49
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.js","names":["buildProps","definePropType","iconPropType","useMenu","useNamespace","MENU_INJECTION_KEY","SUB_MENU_INJECTION_KEY","ArrowDown","ArrowRight","isUndefined","useMenuCssVar","ElIcon","ElTooltip","Fragment","ElCollapseTransition","vShow"],"sources":["../../../../../../packages/components/menu/src/sub-menu.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport {\n buildProps,\n definePropType,\n focusElement,\n iconPropType,\n isString,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\nimport { MENU_INJECTION_KEY, SUB_MENU_INJECTION_KEY } from './tokens'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type {\n CSSProperties,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n VNodeArrayChildren,\n} from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n /**\n * @description unique identification\n */\n index: {\n type: String,\n required: true,\n },\n /**\n * @description timeout before showing a sub-menu(inherit `show-timeout` of the menu by default.)\n */\n showTimeout: Number,\n /**\n * @description timeout before hiding a sub-menu(inherit `hide-timeout` of the menu by default.)\n */\n hideTimeout: Number,\n /**\n * @description custom class name for the popup menu\n */\n popperClass: String,\n /**\n * @description custom style for the popup menu\n */\n popperStyle: {\n type: definePropType<string | CSSProperties>([String, Object]),\n },\n /**\n * @description whether the sub-menu is disabled\n */\n disabled: Boolean,\n /**\n * @description whether popup menu is teleported to the body\n */\n teleported: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description offset of the popper (overrides the `popper` of menu)\n */\n popperOffset: Number,\n /**\n * @description Icon when menu are expanded and submenu are closed, `expand-close-icon` and `expand-open-icon` need to be passed together to take effect\n */\n expandCloseIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are expanded and submenu are opened, `expand-open-icon` and `expand-close-icon` need to be passed together to take effect\n */\n expandOpenIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are collapsed and submenu are closed, `collapse-close-icon` and `collapse-open-icon` need to be passed together to take effect\n */\n collapseCloseIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are collapsed and submenu are opened, `collapse-open-icon` and `collapse-close-icon` need to be passed together to take effect\n */\n collapseOpenIcon: {\n type: iconPropType,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>\nexport type SubMenuPropsPublic = ExtractPublicPropTypes<typeof subMenuProps>\n\nconst COMPONENT_NAME = 'ElSubMenu'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const { indexPath, parentMenu } = useMenu(\n instance,\n computed(() => props.index)\n )\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // inject\n const rootMenu = inject<MenuProvider>(MENU_INJECTION_KEY)\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject<SubMenuProvider>(\n `${SUB_MENU_INJECTION_KEY}${parentMenu.value!.uid}`\n )\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n let timeout: (() => void) | undefined\n const mouseInChild = ref(false)\n const verticalTitleRef = ref<HTMLDivElement>()\n const vPopper = ref<TooltipInstance>()\n\n // computed\n const isFirstLevel = computed(() => subMenu.level === 0)\n const currentPlacement = computed<Placement>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n const isExpandedMode =\n (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n\n if (isExpandedMode) {\n if (props.expandCloseIcon && props.expandOpenIcon) {\n return opened.value ? props.expandOpenIcon : props.expandCloseIcon\n }\n return ArrowDown\n } else {\n if (props.collapseCloseIcon && props.collapseOpenIcon) {\n return opened.value ? props.collapseOpenIcon : props.collapseCloseIcon\n }\n return ArrowRight\n }\n })\n\n const appendToBody = computed(() => {\n const value = props.teleported\n return isUndefined(value) ? isFirstLevel.value : value\n })\n const menuTransitionName = computed(() =>\n rootMenu.props.collapse\n ? `${nsMenu.namespace.value}-zoom-in-left`\n : `${nsMenu.namespace.value}-zoom-in-top`\n )\n const fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? [\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'left-start',\n ]\n : [\n 'right-start',\n 'right',\n 'right-end',\n 'left-start',\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n ]\n )\n const opened = computed(() => rootMenu.openedMenus.includes(props.index))\n const active = computed(() =>\n [...Object.values(items.value), ...Object.values(subMenus.value)].some(\n ({ active }) => active\n )\n )\n\n const mode = computed(() => rootMenu.props.mode)\n const persistent = computed(() => rootMenu.props.persistent)\n const item = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1)\n\n const subMenuPopperOffset = computed(\n () => props.popperOffset ?? rootMenu.props.popperOffset\n )\n\n const subMenuPopperClass = computed(\n () => props.popperClass ?? rootMenu.props.popperClass\n )\n\n const subMenuPopperStyle = computed(\n () => props.popperStyle ?? rootMenu.props.popperStyle\n )\n\n const subMenuShowTimeout = computed(\n () => props.showTimeout ?? rootMenu.props.showTimeout\n )\n\n const subMenuHideTimeout = computed(\n () => props.hideTimeout ?? rootMenu.props.hideTimeout\n )\n\n // methods\n const doDestroy = () =>\n vPopper.value?.popperRef?.popperInstanceRef?.destroy()\n\n const handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy()\n }\n }\n\n const handleClick = () => {\n if (\n (rootMenu.props.menuTrigger === 'hover' &&\n rootMenu.props.mode === 'horizontal') ||\n (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||\n props.disabled\n )\n return\n\n rootMenu.handleSubMenuClick({\n index: props.index,\n indexPath: indexPath.value,\n active: active.value,\n })\n }\n\n const handleMouseenter = (\n event: MouseEvent | FocusEvent,\n showTimeout = subMenuShowTimeout.value\n ) => {\n if (event.type === 'focus') return\n\n if (\n (rootMenu.props.menuTrigger === 'click' &&\n rootMenu.props.mode === 'horizontal') ||\n (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||\n props.disabled\n ) {\n subMenu.mouseInChild.value = true\n return\n }\n subMenu.mouseInChild.value = true\n\n timeout?.()\n ;({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(props.index, indexPath.value)\n }, showTimeout))\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'))\n }\n\n if (event.type === 'mouseenter' && event.target) {\n nextTick(() => {\n focusElement(event.target as HTMLElement, { preventScroll: true })\n })\n }\n }\n\n const handleMouseleave = (deepDispatch = false) => {\n if (\n (rootMenu.props.menuTrigger === 'click' &&\n rootMenu.props.mode === 'horizontal') ||\n (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')\n ) {\n subMenu.mouseInChild.value = false\n return\n }\n timeout?.()\n subMenu.mouseInChild.value = false\n ;({ stop: timeout } = useTimeoutFn(\n () =>\n !mouseInChild.value &&\n rootMenu.closeMenu(props.index, indexPath.value),\n subMenuHideTimeout.value\n ))\n\n if (appendToBody.value && deepDispatch) {\n subMenu.handleMouseleave?.(true)\n }\n }\n\n watch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n )\n\n // provide\n {\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n provide<SubMenuProvider>(`${SUB_MENU_INJECTION_KEY}${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1,\n })\n }\n\n // expose\n expose({\n opened,\n })\n\n // lifecycle\n onMounted(() => {\n rootMenu.addSubMenu(item)\n subMenu.addSubMenu(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeSubMenu(item)\n })\n\n return () => {\n const titleTag: VNodeArrayChildren = [\n slots.title?.(),\n h(\n ElIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n style: {\n transform: opened.value\n ? (props.expandCloseIcon && props.expandOpenIcon) ||\n (props.collapseCloseIcon &&\n props.collapseOpenIcon &&\n rootMenu.props.collapse)\n ? 'none'\n : 'rotateZ(180deg)'\n : 'none',\n },\n },\n {\n default: () =>\n isString(subMenuTitleIcon.value)\n ? h(instance.appContext.components[subMenuTitleIcon.value])\n : h(subMenuTitleIcon.value),\n }\n ),\n ]\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n const child = rootMenu.isMenuPopup\n ? h(\n ElTooltip,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: subMenuPopperOffset.value,\n showArrow: false,\n persistent: persistent.value,\n popperClass: subMenuPopperClass.value,\n popperStyle: subMenuPopperStyle.value,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [\n nsMenu.m(mode.value),\n nsMenu.m('popup-container'),\n subMenuPopperClass.value,\n ],\n onMouseenter: (evt: MouseEvent) =>\n handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100),\n },\n [\n h(\n 'ul',\n {\n class: [\n nsMenu.b(),\n nsMenu.m('popup'),\n nsMenu.m(`popup-${currentPlacement.value}`),\n ],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n onClick: handleClick,\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n ref: verticalTitleRef,\n onClick: handleClick,\n },\n titleTag\n ),\n h(\n ElCollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n ),\n }\n ),\n ])\n\n return h(\n 'li',\n {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value),\n nsSubMenu.is('disabled', props.disabled),\n ],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(),\n onFocus: handleMouseenter,\n },\n [child]\n )\n }\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"sub-menu.js","names":["buildProps","definePropType","iconPropType","useMenu","useNamespace","MENU_INJECTION_KEY","SUB_MENU_INJECTION_KEY","ArrowDown","ArrowRight","isUndefined","useMenuCssVar","ElIcon","ElTooltip","Fragment","ElCollapseTransition","vShow"],"sources":["../../../../../../packages/components/menu/src/sub-menu.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport {\n buildProps,\n definePropType,\n focusElement,\n iconPropType,\n isString,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\nimport { MENU_INJECTION_KEY, SUB_MENU_INJECTION_KEY } from './tokens'\n\nimport type { ClassValue } from '@element-plus/utils'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type {\n ExtractPropTypes,\n ExtractPublicPropTypes,\n StyleValue,\n VNodeArrayChildren,\n} from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n /**\n * @description unique identification\n */\n index: {\n type: String,\n required: true,\n },\n /**\n * @description timeout before showing a sub-menu(inherit `show-timeout` of the menu by default.)\n */\n showTimeout: Number,\n /**\n * @description timeout before hiding a sub-menu(inherit `hide-timeout` of the menu by default.)\n */\n hideTimeout: Number,\n /**\n * @description custom class name for the popup menu\n */\n popperClass: {\n type: definePropType<ClassValue>([String, Array, Object, Boolean]),\n default: undefined,\n },\n /**\n * @description custom style for the popup menu\n */\n popperStyle: {\n type: definePropType<StyleValue>([String, Array, Object, Boolean]),\n default: undefined,\n },\n /**\n * @description whether the sub-menu is disabled\n */\n disabled: Boolean,\n /**\n * @description whether popup menu is teleported to the body\n */\n teleported: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description offset of the popper (overrides the `popper` of menu)\n */\n popperOffset: Number,\n /**\n * @description Icon when menu are expanded and submenu are closed, `expand-close-icon` and `expand-open-icon` need to be passed together to take effect\n */\n expandCloseIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are expanded and submenu are opened, `expand-open-icon` and `expand-close-icon` need to be passed together to take effect\n */\n expandOpenIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are collapsed and submenu are closed, `collapse-close-icon` and `collapse-open-icon` need to be passed together to take effect\n */\n collapseCloseIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are collapsed and submenu are opened, `collapse-open-icon` and `collapse-close-icon` need to be passed together to take effect\n */\n collapseOpenIcon: {\n type: iconPropType,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>\nexport type SubMenuPropsPublic = ExtractPublicPropTypes<typeof subMenuProps>\n\nconst COMPONENT_NAME = 'ElSubMenu'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const { indexPath, parentMenu } = useMenu(\n instance,\n computed(() => props.index)\n )\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // inject\n const rootMenu = inject<MenuProvider>(MENU_INJECTION_KEY)\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject<SubMenuProvider>(\n `${SUB_MENU_INJECTION_KEY}${parentMenu.value!.uid}`\n )\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n let timeout: (() => void) | undefined\n const mouseInChild = ref(false)\n const verticalTitleRef = ref<HTMLDivElement>()\n const vPopper = ref<TooltipInstance>()\n\n // computed\n const isFirstLevel = computed(() => subMenu.level === 0)\n const currentPlacement = computed<Placement>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n const isExpandedMode =\n (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n\n if (isExpandedMode) {\n if (props.expandCloseIcon && props.expandOpenIcon) {\n return opened.value ? props.expandOpenIcon : props.expandCloseIcon\n }\n return ArrowDown\n } else {\n if (props.collapseCloseIcon && props.collapseOpenIcon) {\n return opened.value ? props.collapseOpenIcon : props.collapseCloseIcon\n }\n return ArrowRight\n }\n })\n\n const appendToBody = computed(() => {\n const value = props.teleported\n return isUndefined(value) ? isFirstLevel.value : value\n })\n const menuTransitionName = computed(() =>\n rootMenu.props.collapse\n ? `${nsMenu.namespace.value}-zoom-in-left`\n : `${nsMenu.namespace.value}-zoom-in-top`\n )\n const fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? [\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'left-start',\n ]\n : [\n 'right-start',\n 'right',\n 'right-end',\n 'left-start',\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n ]\n )\n const opened = computed(() => rootMenu.openedMenus.includes(props.index))\n const active = computed(() =>\n [...Object.values(items.value), ...Object.values(subMenus.value)].some(\n ({ active }) => active\n )\n )\n\n const mode = computed(() => rootMenu.props.mode)\n const persistent = computed(() => rootMenu.props.persistent)\n const item = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1)\n\n const subMenuPopperOffset = computed(\n () => props.popperOffset ?? rootMenu.props.popperOffset\n )\n\n const subMenuPopperClass = computed(\n () => props.popperClass ?? rootMenu.props.popperClass\n )\n\n const subMenuPopperStyle = computed(\n () => props.popperStyle ?? rootMenu.props.popperStyle\n )\n\n const subMenuShowTimeout = computed(\n () => props.showTimeout ?? rootMenu.props.showTimeout\n )\n\n const subMenuHideTimeout = computed(\n () => props.hideTimeout ?? rootMenu.props.hideTimeout\n )\n\n // methods\n const doDestroy = () =>\n vPopper.value?.popperRef?.popperInstanceRef?.destroy()\n\n const handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy()\n }\n }\n\n const handleClick = () => {\n if (\n (rootMenu.props.menuTrigger === 'hover' &&\n rootMenu.props.mode === 'horizontal') ||\n (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||\n props.disabled\n )\n return\n\n rootMenu.handleSubMenuClick({\n index: props.index,\n indexPath: indexPath.value,\n active: active.value,\n })\n }\n\n const handleMouseenter = (\n event: MouseEvent | FocusEvent,\n showTimeout = subMenuShowTimeout.value\n ) => {\n if (event.type === 'focus') return\n\n if (\n (rootMenu.props.menuTrigger === 'click' &&\n rootMenu.props.mode === 'horizontal') ||\n (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||\n props.disabled\n ) {\n subMenu.mouseInChild.value = true\n return\n }\n subMenu.mouseInChild.value = true\n\n timeout?.()\n ;({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(props.index, indexPath.value)\n }, showTimeout))\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'))\n }\n\n if (event.type === 'mouseenter' && event.target) {\n nextTick(() => {\n focusElement(event.target as HTMLElement, { preventScroll: true })\n })\n }\n }\n\n const handleMouseleave = (deepDispatch = false) => {\n if (\n (rootMenu.props.menuTrigger === 'click' &&\n rootMenu.props.mode === 'horizontal') ||\n (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')\n ) {\n subMenu.mouseInChild.value = false\n return\n }\n timeout?.()\n subMenu.mouseInChild.value = false\n ;({ stop: timeout } = useTimeoutFn(\n () =>\n !mouseInChild.value &&\n rootMenu.closeMenu(props.index, indexPath.value),\n subMenuHideTimeout.value\n ))\n\n if (appendToBody.value && deepDispatch) {\n subMenu.handleMouseleave?.(true)\n }\n }\n\n watch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n )\n\n // provide\n {\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n provide<SubMenuProvider>(`${SUB_MENU_INJECTION_KEY}${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1,\n })\n }\n\n // expose\n expose({\n opened,\n })\n\n // lifecycle\n onMounted(() => {\n rootMenu.addSubMenu(item)\n subMenu.addSubMenu(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeSubMenu(item)\n })\n\n return () => {\n const titleTag: VNodeArrayChildren = [\n slots.title?.(),\n h(\n ElIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n style: {\n transform: opened.value\n ? (props.expandCloseIcon && props.expandOpenIcon) ||\n (props.collapseCloseIcon &&\n props.collapseOpenIcon &&\n rootMenu.props.collapse)\n ? 'none'\n : 'rotateZ(180deg)'\n : 'none',\n },\n },\n {\n default: () =>\n isString(subMenuTitleIcon.value)\n ? h(instance.appContext.components[subMenuTitleIcon.value])\n : h(subMenuTitleIcon.value),\n }\n ),\n ]\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n const child = rootMenu.isMenuPopup\n ? h(\n ElTooltip,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: subMenuPopperOffset.value,\n showArrow: false,\n persistent: persistent.value,\n popperClass: subMenuPopperClass.value,\n popperStyle: subMenuPopperStyle.value,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [\n nsMenu.m(mode.value),\n nsMenu.m('popup-container'),\n subMenuPopperClass.value,\n ],\n onMouseenter: (evt: MouseEvent) =>\n handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100),\n },\n [\n h(\n 'ul',\n {\n class: [\n nsMenu.b(),\n nsMenu.m('popup'),\n nsMenu.m(`popup-${currentPlacement.value}`),\n ],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n onClick: handleClick,\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n ref: verticalTitleRef,\n onClick: handleClick,\n },\n titleTag\n ),\n h(\n ElCollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n ),\n }\n ),\n ])\n\n return h(\n 'li',\n {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value),\n nsSubMenu.is('disabled', props.disabled),\n ],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(),\n onFocus: handleMouseenter,\n },\n [child]\n )\n }\n },\n})\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ type MessageContext = {
11
11
  vm: ComponentInternalInstance;
12
12
  props: Mutable<MessageProps>;
13
13
  };
14
- declare const placementInstances: _$vue.ShallowReactive<Record<"top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", MessageContext[]>>;
14
+ declare const placementInstances: _$vue.ShallowReactive<Record<"bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right", MessageContext[]>>;
15
15
  declare const getOrCreatePlacementInstances: (placement: MessagePlacement) => MessageContext[];
16
16
  declare const getInstance: (id: string, placement: MessagePlacement) => {
17
17
  current: MessageContext;
@@ -1,6 +1,6 @@
1
1
  import { IconPropType } from "../../../utils/vue/icon.js";
2
2
  import { EpPropFinalized } from "../../../utils/vue/props/types.js";
3
- import { Mutable } from "../../../utils/typescript.js";
3
+ import { ClassValue, Mutable } from "../../../utils/typescript.js";
4
4
  import _default from "./message.vue.js";
5
5
  import * as _$vue from "vue";
6
6
  import { AppContext, ExtractPublicPropTypes, VNode } from "vue";
@@ -10,7 +10,7 @@ interface MessageProps {
10
10
  /**
11
11
  * @description custom class name for Message
12
12
  */
13
- customClass?: string;
13
+ customClass?: ClassValue;
14
14
  /**
15
15
  * @description whether `message` is treated as HTML string
16
16
  */
@@ -106,7 +106,7 @@ declare const messageDefaults: Mutable<{
106
106
  * @deprecated Removed after 3.0.0, Use `MessageProps` instead.
107
107
  */
108
108
  declare const messageProps: {
109
- readonly customClass: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
109
+ readonly customClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, "", boolean>;
110
110
  readonly dangerouslyUseHTMLString: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
111
111
  readonly duration: EpPropFinalized<NumberConstructor, unknown, unknown, 3000, boolean>;
112
112
  readonly icon: EpPropFinalized<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown, undefined, boolean>;
@@ -130,10 +130,10 @@ declare const messageProps: {
130
130
  readonly prototype: any;
131
131
  }) | null)[], unknown, unknown, undefined, boolean>;
132
132
  readonly showClose: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
133
- readonly type: EpPropFinalized<StringConstructor, "error" | "info" | "primary" | "success" | "warning", unknown, "info", boolean>;
133
+ readonly type: EpPropFinalized<StringConstructor, "primary" | "success" | "warning" | "info" | "error", unknown, "info", boolean>;
134
134
  readonly plain: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
135
135
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 16, boolean>;
136
- readonly placement: EpPropFinalized<StringConstructor, "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", unknown, undefined, boolean>;
136
+ readonly placement: EpPropFinalized<StringConstructor, "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right", unknown, undefined, boolean>;
137
137
  readonly zIndex: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
138
138
  readonly grouping: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
139
139
  readonly repeatNum: EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -47,7 +47,12 @@ const messageProps = require_runtime$1.buildProps({
47
47
  * @description custom class name for Message
48
48
  */
49
49
  customClass: {
50
- type: String,
50
+ type: require_runtime$1.definePropType([
51
+ String,
52
+ Array,
53
+ Object,
54
+ Boolean
55
+ ]),
51
56
  default: messageDefaults.customClass
52
57
  },
53
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","names":["mutable","isClient","buildProps","iconPropType","definePropType"],"sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isClient,\n mutable,\n} from '@element-plus/utils'\n\nimport type { AppContext, ExtractPublicPropTypes, VNode } from 'vue'\nimport type { IconPropType, Mutable } from '@element-plus/utils'\nimport type MessageConstructor from './message.vue'\n\nexport interface MessageProps {\n /**\n * @description custom class name for Message\n */\n customClass?: string\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString?: boolean\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration?: number\n /**\n * @description custom icon component, overrides `type`\n */\n icon?: IconPropType\n /**\n * @description message dom id\n */\n id?: string\n /**\n * @description message text\n */\n message?: string | VNode | (() => VNode)\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose?: () => void\n /**\n * @description whether to show a close button\n */\n showClose?: boolean\n /**\n * @description message type\n */\n type?: MessageType\n /**\n * @description whether message is plain\n */\n plain?: boolean\n /**\n * @description set the distance to the top of viewport\n */\n offset?: number\n /**\n * @description message placement position\n */\n placement?: MessagePlacement\n /**\n * @description message element zIndex value\n */\n zIndex?: number\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping?: boolean\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum?: number\n}\n\nexport const messageTypes = [\n 'primary',\n 'success',\n 'info',\n 'warning',\n 'error',\n] as const\n\nexport const messagePlacement = [\n 'top',\n 'top-left',\n 'top-right',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n] as const\n\nexport const MESSAGE_DEFAULT_PLACEMENT = 'top'\n\nexport type MessageType = (typeof messageTypes)[number]\nexport type MessagePlacement = (typeof messagePlacement)[number]\n/** @deprecated please use `MessageType` instead */\nexport type messageType = MessageType // will be removed in 3.0.0.\n\nexport interface MessageConfigContext {\n max?: number\n grouping?: boolean\n duration?: number\n offset?: number\n showClose?: boolean\n plain?: boolean\n placement?: string\n}\n\nexport const messageDefaults = mutable({\n customClass: '',\n dangerouslyUseHTMLString: false,\n duration: 3000,\n icon: undefined,\n id: '',\n message: '',\n onClose: undefined,\n showClose: false,\n type: 'info',\n plain: false,\n offset: 16,\n placement: undefined,\n zIndex: 0,\n grouping: false,\n repeatNum: 1,\n appendTo: isClient ? document.body : (undefined as never),\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `MessageProps` instead.\n */\nexport const messageProps = buildProps({\n /**\n * @description custom class name for Message\n */\n customClass: {\n type: String,\n default: messageDefaults.customClass,\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: messageDefaults.dangerouslyUseHTMLString,\n },\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration: {\n type: Number,\n default: messageDefaults.duration,\n },\n /**\n * @description custom icon component, overrides `type`\n */\n icon: {\n type: iconPropType,\n default: messageDefaults.icon,\n },\n /**\n * @description message dom id\n */\n id: {\n type: String,\n default: messageDefaults.id,\n },\n /**\n * @description message text\n */\n message: {\n type: definePropType<string | VNode | (() => VNode)>([\n String,\n Object,\n Function,\n ]),\n default: messageDefaults.message,\n },\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose: {\n type: definePropType<() => void>(Function),\n default: messageDefaults.onClose,\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: messageDefaults.showClose,\n },\n /**\n * @description message type\n */\n type: {\n type: String,\n values: messageTypes,\n default: messageDefaults.type,\n },\n /**\n * @description whether message is plain\n */\n plain: {\n type: Boolean,\n default: messageDefaults.plain,\n },\n /**\n * @description set the distance to the top of viewport\n */\n offset: {\n type: Number,\n default: messageDefaults.offset,\n },\n /**\n * @description message placement position\n */\n placement: {\n type: String,\n values: messagePlacement,\n default: messageDefaults.placement,\n },\n /**\n * @description message element zIndex value\n */\n zIndex: {\n type: Number,\n default: messageDefaults.zIndex,\n },\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping: {\n type: Boolean,\n default: messageDefaults.grouping,\n },\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum: {\n type: Number,\n default: messageDefaults.repeatNum,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `MessageProps` instead.\n */\nexport type MessagePropsPublic = ExtractPublicPropTypes<typeof messageProps>\n\nexport const messageEmits = {\n destroy: () => true,\n}\nexport type MessageEmits = typeof messageEmits\n\nexport type MessageInstance = InstanceType<typeof MessageConstructor> & unknown\n\nexport type MessageOptions = Partial<\n Mutable<\n Omit<MessageProps, 'id'> & {\n appendTo?: HTMLElement | string\n }\n >\n>\nexport type MessageParams = MessageOptions | MessageOptions['message']\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n /**\n * @description set the root element for the message, default to `document.body`\n */\n appendTo: HTMLElement\n}\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>\nexport type MessageParamsWithType =\n | MessageOptionsWithType\n | MessageOptions['message']\n\nexport interface MessageHandler {\n /**\n * @description close the Message\n */\n close: () => void\n}\n\nexport type MessageFn = {\n (options?: MessageParams, appContext?: null | AppContext): MessageHandler\n closeAll(type?: MessageType): void\n closeAllByPlacement(position: MessagePlacement): void\n}\nexport type MessageTypedFn = (\n options?: MessageParamsWithType,\n appContext?: null | AppContext\n) => MessageHandler\n\nexport type Message = MessageFn & {\n primary: MessageTypedFn\n success: MessageTypedFn\n warning: MessageTypedFn\n info: MessageTypedFn\n error: MessageTypedFn\n}\n"],"mappings":";;;;;;;AA2EA,MAAa,eAAe;CAC1B;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,mBAAmB;CAC9B;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,4BAA4B;AAiBzC,MAAa,kBAAkBA,mBAAAA,QAAQ;CACrC,aAAa;CACb,0BAA0B;CAC1B,UAAU;CACV,MAAM,KAAA;CACN,IAAI;CACJ,SAAS;CACT,SAAS,KAAA;CACT,WAAW;CACX,MAAM;CACN,OAAO;CACP,QAAQ;CACR,WAAW,KAAA;CACX,QAAQ;CACR,UAAU;CACV,WAAW;CACX,UAAUC,aAAAA,WAAW,SAAS,OAAQ,KAAA;CACvC,CAAU;;;;AAKX,MAAa,eAAeC,kBAAAA,WAAW;;;;CAIrC,aAAa;EACX,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,0BAA0B;EACxB,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,MAAM;EACJ,MAAMC,aAAAA;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,IAAI;EACF,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,SAAS;EACP,MAAMC,kBAAAA,eAA+C;GACnD;GACA;GACA;GACD,CAAC;EACF,SAAS,gBAAgB;EAC1B;;;;CAID,SAAS;EACP,MAAMA,kBAAAA,eAA2B,SAAS;EAC1C,SAAS,gBAAgB;EAC1B;;;;CAID,WAAW;EACT,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,MAAM;EACJ,MAAM;EACN,QAAQ;EACR,SAAS,gBAAgB;EAC1B;;;;CAID,OAAO;EACL,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,WAAW;EACT,MAAM;EACN,QAAQ;EACR,SAAS,gBAAgB;EAC1B;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,WAAW;EACT,MAAM;EACN,SAAS,gBAAgB;EAC1B;CACF,CAAU;AAOX,MAAa,eAAe,EAC1B,eAAe,MAChB"}
1
+ {"version":3,"file":"message.js","names":["mutable","isClient","buildProps","definePropType","iconPropType"],"sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isClient,\n mutable,\n} from '@element-plus/utils'\n\nimport type { AppContext, ExtractPublicPropTypes, VNode } from 'vue'\nimport type { ClassValue, IconPropType, Mutable } from '@element-plus/utils'\nimport type MessageConstructor from './message.vue'\n\nexport interface MessageProps {\n /**\n * @description custom class name for Message\n */\n customClass?: ClassValue\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString?: boolean\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration?: number\n /**\n * @description custom icon component, overrides `type`\n */\n icon?: IconPropType\n /**\n * @description message dom id\n */\n id?: string\n /**\n * @description message text\n */\n message?: string | VNode | (() => VNode)\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose?: () => void\n /**\n * @description whether to show a close button\n */\n showClose?: boolean\n /**\n * @description message type\n */\n type?: MessageType\n /**\n * @description whether message is plain\n */\n plain?: boolean\n /**\n * @description set the distance to the top of viewport\n */\n offset?: number\n /**\n * @description message placement position\n */\n placement?: MessagePlacement\n /**\n * @description message element zIndex value\n */\n zIndex?: number\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping?: boolean\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum?: number\n}\n\nexport const messageTypes = [\n 'primary',\n 'success',\n 'info',\n 'warning',\n 'error',\n] as const\n\nexport const messagePlacement = [\n 'top',\n 'top-left',\n 'top-right',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n] as const\n\nexport const MESSAGE_DEFAULT_PLACEMENT = 'top'\n\nexport type MessageType = (typeof messageTypes)[number]\nexport type MessagePlacement = (typeof messagePlacement)[number]\n/** @deprecated please use `MessageType` instead */\nexport type messageType = MessageType // will be removed in 3.0.0.\n\nexport interface MessageConfigContext {\n max?: number\n grouping?: boolean\n duration?: number\n offset?: number\n showClose?: boolean\n plain?: boolean\n placement?: string\n}\n\nexport const messageDefaults = mutable({\n customClass: '',\n dangerouslyUseHTMLString: false,\n duration: 3000,\n icon: undefined,\n id: '',\n message: '',\n onClose: undefined,\n showClose: false,\n type: 'info',\n plain: false,\n offset: 16,\n placement: undefined,\n zIndex: 0,\n grouping: false,\n repeatNum: 1,\n appendTo: isClient ? document.body : (undefined as never),\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `MessageProps` instead.\n */\nexport const messageProps = buildProps({\n /**\n * @description custom class name for Message\n */\n customClass: {\n type: definePropType<ClassValue>([String, Array, Object, Boolean]),\n default: messageDefaults.customClass,\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: messageDefaults.dangerouslyUseHTMLString,\n },\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration: {\n type: Number,\n default: messageDefaults.duration,\n },\n /**\n * @description custom icon component, overrides `type`\n */\n icon: {\n type: iconPropType,\n default: messageDefaults.icon,\n },\n /**\n * @description message dom id\n */\n id: {\n type: String,\n default: messageDefaults.id,\n },\n /**\n * @description message text\n */\n message: {\n type: definePropType<string | VNode | (() => VNode)>([\n String,\n Object,\n Function,\n ]),\n default: messageDefaults.message,\n },\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose: {\n type: definePropType<() => void>(Function),\n default: messageDefaults.onClose,\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: messageDefaults.showClose,\n },\n /**\n * @description message type\n */\n type: {\n type: String,\n values: messageTypes,\n default: messageDefaults.type,\n },\n /**\n * @description whether message is plain\n */\n plain: {\n type: Boolean,\n default: messageDefaults.plain,\n },\n /**\n * @description set the distance to the top of viewport\n */\n offset: {\n type: Number,\n default: messageDefaults.offset,\n },\n /**\n * @description message placement position\n */\n placement: {\n type: String,\n values: messagePlacement,\n default: messageDefaults.placement,\n },\n /**\n * @description message element zIndex value\n */\n zIndex: {\n type: Number,\n default: messageDefaults.zIndex,\n },\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping: {\n type: Boolean,\n default: messageDefaults.grouping,\n },\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum: {\n type: Number,\n default: messageDefaults.repeatNum,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `MessageProps` instead.\n */\nexport type MessagePropsPublic = ExtractPublicPropTypes<typeof messageProps>\n\nexport const messageEmits = {\n destroy: () => true,\n}\nexport type MessageEmits = typeof messageEmits\n\nexport type MessageInstance = InstanceType<typeof MessageConstructor> & unknown\n\nexport type MessageOptions = Partial<\n Mutable<\n Omit<MessageProps, 'id'> & {\n appendTo?: HTMLElement | string\n }\n >\n>\nexport type MessageParams = MessageOptions | MessageOptions['message']\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n /**\n * @description set the root element for the message, default to `document.body`\n */\n appendTo: HTMLElement\n}\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>\nexport type MessageParamsWithType =\n MessageOptionsWithType | MessageOptions['message']\n\nexport interface MessageHandler {\n /**\n * @description close the Message\n */\n close: () => void\n}\n\nexport type MessageFn = {\n (options?: MessageParams, appContext?: null | AppContext): MessageHandler\n closeAll(type?: MessageType): void\n closeAllByPlacement(position: MessagePlacement): void\n}\nexport type MessageTypedFn = (\n options?: MessageParamsWithType,\n appContext?: null | AppContext\n) => MessageHandler\n\nexport type Message = MessageFn & {\n primary: MessageTypedFn\n success: MessageTypedFn\n warning: MessageTypedFn\n info: MessageTypedFn\n error: MessageTypedFn\n}\n"],"mappings":";;;;;;;AA2EA,MAAa,eAAe;CAC1B;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,mBAAmB;CAC9B;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,4BAA4B;AAiBzC,MAAa,kBAAkBA,mBAAAA,QAAQ;CACrC,aAAa;CACb,0BAA0B;CAC1B,UAAU;CACV,MAAM,KAAA;CACN,IAAI;CACJ,SAAS;CACT,SAAS,KAAA;CACT,WAAW;CACX,MAAM;CACN,OAAO;CACP,QAAQ;CACR,WAAW,KAAA;CACX,QAAQ;CACR,UAAU;CACV,WAAW;CACX,UAAUC,aAAAA,WAAW,SAAS,OAAQ,KAAA;CACvC,CAAU;;;;AAKX,MAAa,eAAeC,kBAAAA,WAAW;;;;CAIrC,aAAa;EACX,MAAMC,kBAAAA,eAA2B;GAAC;GAAQ;GAAO;GAAQ;GAAQ,CAAC;EAClE,SAAS,gBAAgB;EAC1B;;;;CAID,0BAA0B;EACxB,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,MAAM;EACJ,MAAMC,aAAAA;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,IAAI;EACF,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,SAAS;EACP,MAAMD,kBAAAA,eAA+C;GACnD;GACA;GACA;GACD,CAAC;EACF,SAAS,gBAAgB;EAC1B;;;;CAID,SAAS;EACP,MAAMA,kBAAAA,eAA2B,SAAS;EAC1C,SAAS,gBAAgB;EAC1B;;;;CAID,WAAW;EACT,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,MAAM;EACJ,MAAM;EACN,QAAQ;EACR,SAAS,gBAAgB;EAC1B;;;;CAID,OAAO;EACL,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,WAAW;EACT,MAAM;EACN,QAAQ;EACR,SAAS,gBAAgB;EAC1B;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS,gBAAgB;EAC1B;;;;CAID,WAAW;EACT,MAAM;EACN,SAAS,gBAAgB;EAC1B;CACF,CAAU;AAOX,MAAa,eAAe,EAC1B,eAAe,MAChB"}
@@ -1,4 +1,5 @@
1
1
  import { IconPropType } from "../../../utils/vue/icon.js";
2
+ import { ClassValue } from "../../../utils/typescript.js";
2
3
  import { MessagePlacement, MessageProps, MessageType } from "./message.js";
3
4
  import * as _$vue from "vue";
4
5
 
@@ -17,18 +18,18 @@ declare const __VLS_base: _$vue.DefineComponent<MessageProps, {
17
18
  }, string, _$vue.PublicProps, Readonly<MessageProps> & Readonly<{
18
19
  onDestroy?: (() => any) | undefined;
19
20
  }>, {
21
+ id: string;
20
22
  type: MessageType;
23
+ icon: IconPropType;
24
+ zIndex: number;
21
25
  offset: number;
22
26
  placement: MessagePlacement;
23
- id: string;
24
- zIndex: number;
25
- onClose: () => void;
26
- icon: IconPropType;
27
- plain: boolean;
28
27
  message: string | _$vue.VNode | (() => _$vue.VNode);
29
28
  showClose: boolean;
29
+ onClose: () => void;
30
+ plain: boolean;
30
31
  duration: number;
31
- customClass: string;
32
+ customClass: string | false | Record<string, any> | ClassValue[] | null;
32
33
  dangerouslyUseHTMLString: boolean;
33
34
  grouping: boolean;
34
35
  repeatNum: number;
@@ -1 +1 @@
1
- {"version":3,"file":"method.js","names":["isElement","messageConfig","messagePlacement","messageDefaults","isBoolean","isNumber","placementInstances","MessageConstructor","isClient","getOrCreatePlacementInstances","messageTypes"],"sources":["../../../../../../packages/components/message/src/method.ts"],"sourcesContent":["import { createVNode, isVNode, render } from 'vue'\nimport {\n debugWarn,\n hasOwn,\n isBoolean,\n isClient,\n isElement,\n isFunction,\n isNumber,\n isString,\n} from '@element-plus/utils'\nimport { messageConfig } from '@element-plus/components/config-provider'\nimport MessageConstructor from './message.vue'\nimport {\n MESSAGE_DEFAULT_PLACEMENT,\n messageDefaults,\n messagePlacement,\n messageTypes,\n} from './message'\nimport { getOrCreatePlacementInstances, placementInstances } from './instance'\n\nimport type { MessageContext } from './instance'\nimport type { AppContext } from 'vue'\nimport type {\n Message,\n MessageFn,\n MessageHandler,\n MessageOptions,\n MessageParams,\n MessageParamsNormalized,\n MessagePlacement,\n MessageType,\n} from './message'\n\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst normalizeAppendTo = (normalized: MessageOptions) => {\n const appendTo = normalized.appendTo\n if (!appendTo) {\n normalized.appendTo = document.body\n } else if (isString(normalized.appendTo)) {\n let appendTo = document.querySelector<HTMLElement>(normalized.appendTo)\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n normalized.appendTo = appendTo\n }\n}\n\nconst normalizePlacement = (normalized: MessageOptions) => {\n // if placement is not passed and global has config, use global config\n if (\n !normalized.placement &&\n isString(messageConfig.placement) &&\n messageConfig.placement\n ) {\n normalized.placement = messageConfig.placement as\n | MessagePlacement\n | undefined\n }\n // if placement is not passed and global has no config, use default config\n if (!normalized.placement) {\n normalized.placement = MESSAGE_DEFAULT_PLACEMENT\n }\n // if placement is not valid, use default config\n if (!messagePlacement.includes(normalized.placement!)) {\n debugWarn(\n 'ElMessage',\n `Invalid placement: ${normalized.placement}. Falling back to '${MESSAGE_DEFAULT_PLACEMENT}'.`\n )\n normalized.placement = MESSAGE_DEFAULT_PLACEMENT\n }\n}\n\nconst normalizeOptions = (params?: MessageParams) => {\n const options: MessageOptions =\n !params || isString(params) || isVNode(params) || isFunction(params)\n ? { message: params }\n : params\n\n const normalized: MessageOptions = {\n ...messageDefaults,\n ...options,\n }\n\n normalizeAppendTo(normalized)\n normalizePlacement(normalized)\n\n // When grouping is configured globally,\n // if grouping is manually set when calling message individually and it is not equal to the default value,\n // the global configuration cannot override the current setting. default => false\n if (isBoolean(messageConfig.grouping) && !normalized.grouping) {\n normalized.grouping = messageConfig.grouping\n }\n if (isNumber(messageConfig.duration) && normalized.duration === 3000) {\n normalized.duration = messageConfig.duration\n }\n if (isNumber(messageConfig.offset) && normalized.offset === 16) {\n normalized.offset = messageConfig.offset\n }\n if (isBoolean(messageConfig.showClose) && !normalized.showClose) {\n normalized.showClose = messageConfig.showClose\n }\n if (isBoolean(messageConfig.plain) && !normalized.plain) {\n normalized.plain = messageConfig.plain\n }\n\n return normalized as MessageParamsNormalized\n}\n\nconst closeMessage = (instance: MessageContext) => {\n const placement = instance.props.placement || MESSAGE_DEFAULT_PLACEMENT\n const instances = placementInstances[placement]\n\n const idx = instances.indexOf(instance)\n if (idx === -1) return\n instances.splice(idx, 1)\n const { handler } = instance\n handler.close()\n}\n\nconst createMessage = (\n { appendTo, ...options }: MessageParamsNormalized,\n context?: AppContext | null\n): MessageContext => {\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n\n const container = document.createElement('div')\n\n const props = {\n ...options,\n // now the zIndex will be used inside the message.vue component instead of here.\n // zIndex: nextIndex() + options.zIndex\n id,\n onClose: () => {\n userOnClose?.()\n closeMessage(instance)\n },\n\n // clean message element preventing mem leak\n onDestroy: () => {\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n render(null, container)\n },\n }\n const vnode = createVNode(\n MessageConstructor,\n props,\n isFunction(props.message) || isVNode(props.message)\n ? {\n default: isFunction(props.message)\n ? props.message\n : () => props.message,\n }\n : null\n )\n vnode.appContext = context || message._context\n\n render(vnode, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n appendTo.appendChild(container.firstElementChild!)\n\n const vm = vnode.component!\n\n const handler: MessageHandler = {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n vm.exposed!.close()\n },\n }\n\n const instance: MessageContext = {\n id,\n vnode,\n vm,\n handler,\n props: (vnode.component as any).props,\n }\n\n return instance\n}\n\nconst message: MessageFn &\n Partial<Message> & { _context: AppContext | null } = (\n options = {},\n context\n) => {\n if (!isClient) return { close: () => undefined }\n\n const normalized = normalizeOptions(options)\n const instances = getOrCreatePlacementInstances(\n normalized.placement || MESSAGE_DEFAULT_PLACEMENT\n )\n\n if (normalized.grouping && instances.length) {\n const instance = instances.find(\n ({ vnode: vm }) => vm.props?.message === normalized.message\n )\n if (instance) {\n instance.props.repeatNum! += 1\n instance.props.type = normalized.type\n return instance.handler\n }\n }\n\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n const instance = createMessage(normalized, context)\n\n instances.push(instance)\n return instance.handler\n}\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext) => {\n const normalized = normalizeOptions(options)\n return message({ ...normalized, type }, appContext)\n }\n})\n\nexport function closeAll(type?: MessageType): void {\n for (const placement in placementInstances) {\n if (hasOwn(placementInstances, placement)) {\n // Create a copy of instances to avoid modification during iteration\n const instances: MessageContext[] = [...placementInstances[placement]]\n for (const instance of instances) {\n if (!type || type === instance.props.type) {\n instance.handler.close()\n }\n }\n }\n }\n}\n\nexport function closeAllByPlacement(placement: MessagePlacement) {\n if (!placementInstances[placement]) return\n // Create a copy of instances to avoid modification during iteration\n const instances = [...placementInstances[placement]]\n instances.forEach((instance) => instance.handler.close())\n}\n\nmessage.closeAll = closeAll\nmessage.closeAllByPlacement = closeAllByPlacement\nmessage._context = null\n\nexport default message as Message\n"],"mappings":";;;;;;;;;;;;;;;AAkCA,IAAI,OAAO;AAIX,MAAM,qBAAqB,eAA+B;CAExD,IAAI,CADa,WAAW,UAE1B,WAAW,WAAW,SAAS;MAC1B,KAAA,GAAA,YAAA,UAAa,WAAW,SAAS,EAAE;EACxC,IAAI,WAAW,SAAS,cAA2B,WAAW,SAAS;EAGvE,IAAI,CAACA,cAAAA,UAAU,SAAS,EAAE;GACxB,cAAA,UACE,aACA,4EACD;GACD,WAAW,SAAS;;EAEtB,WAAW,WAAW;;;AAI1B,MAAM,sBAAsB,eAA+B;CAEzD,IACE,CAAC,WAAW,cAAA,GAAA,YAAA,UACHC,wBAAAA,cAAc,UAAU,IACjCA,wBAAAA,cAAc,WAEd,WAAW,YAAYA,wBAAAA,cAAc;CAKvC,IAAI,CAAC,WAAW,WACd,WAAW,YAAA;CAGb,IAAI,CAACC,gBAAAA,iBAAiB,SAAS,WAAW,UAAW,EAAE;EACrD,cAAA,UACE,aACA,sBAAsB,WAAW,UAAU,0BAC5C;EACD,WAAW,YAAA;;;AAIf,MAAM,oBAAoB,WAA2B;CACnD,MAAM,UACJ,CAAC,WAAA,GAAA,YAAA,UAAmB,OAAO,KAAA,GAAA,IAAA,SAAY,OAAO,KAAA,GAAA,YAAA,YAAe,OAAO,GAChE,EAAE,SAAS,QAAQ,GACnB;CAEN,MAAM,aAA6B;EACjC,GAAGC,gBAAAA;EACH,GAAG;EACJ;CAED,kBAAkB,WAAW;CAC7B,mBAAmB,WAAW;CAK9B,IAAIC,cAAAA,UAAUH,wBAAAA,cAAc,SAAS,IAAI,CAAC,WAAW,UACnD,WAAW,WAAWA,wBAAAA,cAAc;CAEtC,IAAII,cAAAA,SAASJ,wBAAAA,cAAc,SAAS,IAAI,WAAW,aAAa,KAC9D,WAAW,WAAWA,wBAAAA,cAAc;CAEtC,IAAII,cAAAA,SAASJ,wBAAAA,cAAc,OAAO,IAAI,WAAW,WAAW,IAC1D,WAAW,SAASA,wBAAAA,cAAc;CAEpC,IAAIG,cAAAA,UAAUH,wBAAAA,cAAc,UAAU,IAAI,CAAC,WAAW,WACpD,WAAW,YAAYA,wBAAAA,cAAc;CAEvC,IAAIG,cAAAA,UAAUH,wBAAAA,cAAc,MAAM,IAAI,CAAC,WAAW,OAChD,WAAW,QAAQA,wBAAAA,cAAc;CAGnC,OAAO;;AAGT,MAAM,gBAAgB,aAA6B;CAEjD,MAAM,YAAYK,iBAAAA,mBADA,SAAS,MAAM,aAAA;CAGjC,MAAM,MAAM,UAAU,QAAQ,SAAS;CACvC,IAAI,QAAQ,IAAI;CAChB,UAAU,OAAO,KAAK,EAAE;CACxB,MAAM,EAAE,YAAY;CACpB,QAAQ,OAAO;;AAGjB,MAAM,iBACJ,EAAE,UAAU,GAAG,WACf,YACmB;CACnB,MAAM,KAAK,WAAW;CACtB,MAAM,cAAc,QAAQ;CAE5B,MAAM,YAAY,SAAS,cAAc,MAAM;CAE/C,MAAM,QAAQ;EACZ,GAAG;EAGH;EACA,eAAe;GACb,eAAe;GACf,aAAa,SAAS;;EAIxB,iBAAiB;GAIf,CAAA,GAAA,IAAA,QAAO,MAAM,UAAU;;EAE1B;CACD,MAAM,SAAA,GAAA,IAAA,aACJC,kBAAAA,SACA,QAAA,GAAA,YAAA,YACW,MAAM,QAAQ,KAAA,GAAA,IAAA,SAAY,MAAM,QAAQ,GAC/C,EACE,UAAA,GAAA,YAAA,YAAoB,MAAM,QAAQ,GAC9B,MAAM,gBACA,MAAM,SACjB,GACD,KACL;CACD,MAAM,aAAa,WAAW,QAAQ;CAEtC,CAAA,GAAA,IAAA,QAAO,OAAO,UAAU;CAExB,SAAS,YAAY,UAAU,kBAAmB;CAElD,MAAM,KAAK,MAAM;CAUjB,MAAM,WAA2B;EAC/B;EACA;EACA;EACA,SAAA,EATA,aAAa;GACX,GAAG,QAAS,OAAO;KAQd;EACP,OAAQ,MAAM,UAAkB;EACjC;CAED,OAAO;;AAGT,MAAM,WAEJ,UAAU,EAAE,EACZ,YACG;CACH,IAAI,CAACC,aAAAA,UAAU,OAAO,EAAE,aAAa,KAAA,GAAW;CAEhD,MAAM,aAAa,iBAAiB,QAAQ;CAC5C,MAAM,YAAYC,iBAAAA,8BAChB,WAAW,aAAA,MACZ;CAED,IAAI,WAAW,YAAY,UAAU,QAAQ;EAC3C,MAAM,WAAW,UAAU,MACxB,EAAE,OAAO,SAAS,GAAG,OAAO,YAAY,WAAW,QACrD;EACD,IAAI,UAAU;GACZ,SAAS,MAAM,aAAc;GAC7B,SAAS,MAAM,OAAO,WAAW;GACjC,OAAO,SAAS;;;CAIpB,IAAIJ,cAAAA,SAASJ,wBAAAA,cAAc,IAAI,IAAI,UAAU,UAAUA,wBAAAA,cAAc,KACnE,OAAO,EAAE,aAAa,KAAA,GAAW;CAGnC,MAAM,WAAW,cAAc,YAAY,QAAQ;CAEnD,UAAU,KAAK,SAAS;CACxB,OAAO,SAAS;;AAGlBS,gBAAAA,aAAa,SAAS,SAAS;CAC7B,QAAQ,SAAS,UAAU,EAAE,EAAE,eAAe;EAE5C,OAAO,QAAQ;GAAE,GADE,iBAAiB,QACN;GAAE;GAAM,EAAE,WAAW;;EAErD;AAEF,SAAgB,SAAS,MAA0B;CACjD,KAAK,MAAM,aAAaJ,iBAAAA,oBACtB,KAAA,GAAA,YAAA,QAAWA,iBAAAA,oBAAoB,UAAU,EAAE;EAEzC,MAAM,YAA8B,CAAC,GAAGA,iBAAAA,mBAAmB,WAAW;EACtE,KAAK,MAAM,YAAY,WACrB,IAAI,CAAC,QAAQ,SAAS,SAAS,MAAM,MACnC,SAAS,QAAQ,OAAO;;;AAOlC,SAAgB,oBAAoB,WAA6B;CAC/D,IAAI,CAACA,iBAAAA,mBAAmB,YAAY;CAGpC,CADmB,GAAGA,iBAAAA,mBAAmB,WAChC,CAAC,SAAS,aAAa,SAAS,QAAQ,OAAO,CAAC;;AAG3D,QAAQ,WAAW;AACnB,QAAQ,sBAAsB;AAC9B,QAAQ,WAAW"}
1
+ {"version":3,"file":"method.js","names":["isElement","messageConfig","messagePlacement","messageDefaults","isBoolean","isNumber","placementInstances","MessageConstructor","isClient","getOrCreatePlacementInstances","messageTypes"],"sources":["../../../../../../packages/components/message/src/method.ts"],"sourcesContent":["import { createVNode, isVNode, render } from 'vue'\nimport {\n debugWarn,\n hasOwn,\n isBoolean,\n isClient,\n isElement,\n isFunction,\n isNumber,\n isString,\n} from '@element-plus/utils'\nimport { messageConfig } from '@element-plus/components/config-provider'\nimport MessageConstructor from './message.vue'\nimport {\n MESSAGE_DEFAULT_PLACEMENT,\n messageDefaults,\n messagePlacement,\n messageTypes,\n} from './message'\nimport { getOrCreatePlacementInstances, placementInstances } from './instance'\n\nimport type { MessageContext } from './instance'\nimport type { AppContext } from 'vue'\nimport type {\n Message,\n MessageFn,\n MessageHandler,\n MessageOptions,\n MessageParams,\n MessageParamsNormalized,\n MessagePlacement,\n MessageType,\n} from './message'\n\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst normalizeAppendTo = (normalized: MessageOptions) => {\n const appendTo = normalized.appendTo\n if (!appendTo) {\n normalized.appendTo = document.body\n } else if (isString(normalized.appendTo)) {\n let appendTo = document.querySelector<HTMLElement>(normalized.appendTo)\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n normalized.appendTo = appendTo\n }\n}\n\nconst normalizePlacement = (normalized: MessageOptions) => {\n // if placement is not passed and global has config, use global config\n if (\n !normalized.placement &&\n isString(messageConfig.placement) &&\n messageConfig.placement\n ) {\n normalized.placement = messageConfig.placement as\n MessagePlacement | undefined\n }\n // if placement is not passed and global has no config, use default config\n if (!normalized.placement) {\n normalized.placement = MESSAGE_DEFAULT_PLACEMENT\n }\n // if placement is not valid, use default config\n if (!messagePlacement.includes(normalized.placement!)) {\n debugWarn(\n 'ElMessage',\n `Invalid placement: ${normalized.placement}. Falling back to '${MESSAGE_DEFAULT_PLACEMENT}'.`\n )\n normalized.placement = MESSAGE_DEFAULT_PLACEMENT\n }\n}\n\nconst normalizeOptions = (params?: MessageParams) => {\n const options: MessageOptions =\n !params || isString(params) || isVNode(params) || isFunction(params)\n ? { message: params }\n : params\n\n const normalized: MessageOptions = {\n ...messageDefaults,\n ...options,\n }\n\n normalizeAppendTo(normalized)\n normalizePlacement(normalized)\n\n // When grouping is configured globally,\n // if grouping is manually set when calling message individually and it is not equal to the default value,\n // the global configuration cannot override the current setting. default => false\n if (isBoolean(messageConfig.grouping) && !normalized.grouping) {\n normalized.grouping = messageConfig.grouping\n }\n if (isNumber(messageConfig.duration) && normalized.duration === 3000) {\n normalized.duration = messageConfig.duration\n }\n if (isNumber(messageConfig.offset) && normalized.offset === 16) {\n normalized.offset = messageConfig.offset\n }\n if (isBoolean(messageConfig.showClose) && !normalized.showClose) {\n normalized.showClose = messageConfig.showClose\n }\n if (isBoolean(messageConfig.plain) && !normalized.plain) {\n normalized.plain = messageConfig.plain\n }\n\n return normalized as MessageParamsNormalized\n}\n\nconst closeMessage = (instance: MessageContext) => {\n const placement = instance.props.placement || MESSAGE_DEFAULT_PLACEMENT\n const instances = placementInstances[placement]\n\n const idx = instances.indexOf(instance)\n if (idx === -1) return\n instances.splice(idx, 1)\n const { handler } = instance\n handler.close()\n}\n\nconst createMessage = (\n { appendTo, ...options }: MessageParamsNormalized,\n context?: AppContext | null\n): MessageContext => {\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n\n const container = document.createElement('div')\n\n const props = {\n ...options,\n // now the zIndex will be used inside the message.vue component instead of here.\n // zIndex: nextIndex() + options.zIndex\n id,\n onClose: () => {\n userOnClose?.()\n closeMessage(instance)\n },\n\n // clean message element preventing mem leak\n onDestroy: () => {\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n render(null, container)\n },\n }\n const vnode = createVNode(\n MessageConstructor,\n props,\n isFunction(props.message) || isVNode(props.message)\n ? {\n default: isFunction(props.message)\n ? props.message\n : () => props.message,\n }\n : null\n )\n vnode.appContext = context || message._context\n\n render(vnode, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n appendTo.appendChild(container.firstElementChild!)\n\n const vm = vnode.component!\n\n const handler: MessageHandler = {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n vm.exposed!.close()\n },\n }\n\n const instance: MessageContext = {\n id,\n vnode,\n vm,\n handler,\n props: (vnode.component as any).props,\n }\n\n return instance\n}\n\nconst message: MessageFn &\n Partial<Message> & { _context: AppContext | null } = (\n options = {},\n context\n) => {\n if (!isClient) return { close: () => undefined }\n\n const normalized = normalizeOptions(options)\n const instances = getOrCreatePlacementInstances(\n normalized.placement || MESSAGE_DEFAULT_PLACEMENT\n )\n\n if (normalized.grouping && instances.length) {\n const instance = instances.find(\n ({ vnode: vm }) => vm.props?.message === normalized.message\n )\n if (instance) {\n instance.props.repeatNum! += 1\n instance.props.type = normalized.type\n return instance.handler\n }\n }\n\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n const instance = createMessage(normalized, context)\n\n instances.push(instance)\n return instance.handler\n}\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext) => {\n const normalized = normalizeOptions(options)\n return message({ ...normalized, type }, appContext)\n }\n})\n\nexport function closeAll(type?: MessageType): void {\n for (const placement in placementInstances) {\n if (hasOwn(placementInstances, placement)) {\n // Create a copy of instances to avoid modification during iteration\n const instances: MessageContext[] = [...placementInstances[placement]]\n for (const instance of instances) {\n if (!type || type === instance.props.type) {\n instance.handler.close()\n }\n }\n }\n }\n}\n\nexport function closeAllByPlacement(placement: MessagePlacement) {\n if (!placementInstances[placement]) return\n // Create a copy of instances to avoid modification during iteration\n const instances = [...placementInstances[placement]]\n instances.forEach((instance) => instance.handler.close())\n}\n\nmessage.closeAll = closeAll\nmessage.closeAllByPlacement = closeAllByPlacement\nmessage._context = null\n\nexport default message as Message\n"],"mappings":"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"}