element-ps 2.0.29 → 2.0.32

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 (824) hide show
  1. package/dist/index.full.js +260 -94
  2. package/dist/index.full.min.js +8 -8
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +260 -94
  7. package/es/components/affix/index.d.ts +5 -1
  8. package/es/components/affix/index.mjs +2 -2
  9. package/es/components/affix/src/affix.mjs +19 -82
  10. package/es/components/affix/src/affix.mjs.map +1 -1
  11. package/es/components/affix/src/affix.vue.d.ts +5 -1
  12. package/es/components/affix/src/affix2.mjs +82 -19
  13. package/es/components/affix/src/affix2.mjs.map +1 -1
  14. package/es/components/alert/index.d.ts +8 -0
  15. package/es/components/alert/index.mjs +2 -2
  16. package/es/components/alert/src/alert.mjs +83 -33
  17. package/es/components/alert/src/alert.mjs.map +1 -1
  18. package/es/components/alert/src/alert.vue.d.ts +8 -0
  19. package/es/components/alert/src/alert2.mjs +33 -83
  20. package/es/components/alert/src/alert2.mjs.map +1 -1
  21. package/es/components/autocomplete/index.d.ts +47 -27
  22. package/es/components/autocomplete/index.mjs +2 -2
  23. package/es/components/autocomplete/src/autocomplete.mjs +94 -58
  24. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  25. package/es/components/autocomplete/src/autocomplete.vue.d.ts +47 -27
  26. package/es/components/autocomplete/src/autocomplete2.mjs +58 -94
  27. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  28. package/es/components/avatar/index.d.ts +8 -0
  29. package/es/components/avatar/index.mjs +2 -2
  30. package/es/components/avatar/src/avatar.mjs +61 -29
  31. package/es/components/avatar/src/avatar.mjs.map +1 -1
  32. package/es/components/avatar/src/avatar.vue.d.ts +8 -0
  33. package/es/components/avatar/src/avatar2.mjs +29 -61
  34. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  35. package/es/components/backtop/index.d.ts +8 -0
  36. package/es/components/backtop/index.mjs +2 -2
  37. package/es/components/backtop/src/backtop.mjs +18 -59
  38. package/es/components/backtop/src/backtop.mjs.map +1 -1
  39. package/es/components/backtop/src/backtop.vue.d.ts +8 -0
  40. package/es/components/backtop/src/backtop2.mjs +59 -18
  41. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  42. package/es/components/badge/index.d.ts +5 -1
  43. package/es/components/badge/src/badge.vue.d.ts +5 -1
  44. package/es/components/breadcrumb/index.d.ts +20 -0
  45. package/es/components/breadcrumb/src/breadcrumb-item.vue.d.ts +8 -0
  46. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +4 -0
  47. package/es/components/button/index.d.ts +16 -0
  48. package/es/components/button/src/button-group.vue.d.ts +4 -0
  49. package/es/components/button/src/button.vue.d.ts +8 -0
  50. package/es/components/calendar/index.d.ts +28 -0
  51. package/es/components/calendar/index.mjs +2 -2
  52. package/es/components/calendar/src/calendar.mjs +188 -9
  53. package/es/components/calendar/src/calendar.mjs.map +1 -1
  54. package/es/components/calendar/src/calendar.vue.d.ts +28 -0
  55. package/es/components/calendar/src/calendar2.mjs +9 -188
  56. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  57. package/es/components/calendar/src/date-table.mjs +146 -27
  58. package/es/components/calendar/src/date-table.mjs.map +1 -1
  59. package/es/components/calendar/src/date-table.vue.d.ts +8 -0
  60. package/es/components/calendar/src/date-table2.mjs +27 -146
  61. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  62. package/es/components/card/index.d.ts +4 -0
  63. package/es/components/card/src/card.vue.d.ts +4 -0
  64. package/es/components/carousel/index.d.ts +18 -2
  65. package/es/components/carousel/index.mjs +4 -4
  66. package/es/components/carousel/src/carousel-item.mjs +148 -7
  67. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  68. package/es/components/carousel/src/carousel-item.vue.d.ts +4 -0
  69. package/es/components/carousel/src/carousel-item2.mjs +7 -148
  70. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  71. package/es/components/carousel/src/carousel.mjs +201 -43
  72. package/es/components/carousel/src/carousel.mjs.map +1 -1
  73. package/es/components/carousel/src/carousel.vue.d.ts +10 -2
  74. package/es/components/carousel/src/carousel2.mjs +43 -201
  75. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  76. package/es/components/cascader/index.d.ts +60 -12
  77. package/es/components/cascader/src/index.mjs +1 -1
  78. package/es/components/cascader/src/index.vue.d.ts +30 -6
  79. package/es/components/cascader-panel/index.d.ts +10 -2
  80. package/es/components/cascader-panel/src/config.mjs +1 -1
  81. package/es/components/cascader-panel/src/index.mjs +1 -1
  82. package/es/components/cascader-panel/src/index.vue.d.ts +5 -1
  83. package/es/components/cascader-panel/src/menu.mjs +1 -1
  84. package/es/components/cascader-panel/src/menu.vue.d.ts +4 -0
  85. package/es/components/cascader-panel/src/node-content.d.ts +4 -0
  86. package/es/components/cascader-panel/src/node.mjs +120 -200
  87. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  88. package/es/components/cascader-panel/src/node.vue.d.ts +4 -0
  89. package/es/components/cascader-panel/src/node2.mjs +200 -120
  90. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  91. package/es/components/cascader-panel/src/store.mjs +1 -1
  92. package/es/components/check-tag/index.d.ts +4 -0
  93. package/es/components/check-tag/index.mjs +2 -2
  94. package/es/components/check-tag/src/check-tag.mjs +20 -7
  95. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  96. package/es/components/check-tag/src/check-tag.vue.d.ts +4 -0
  97. package/es/components/check-tag/src/check-tag2.mjs +7 -20
  98. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  99. package/es/components/checkbox/index.d.ts +12 -0
  100. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -0
  101. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -0
  102. package/es/components/col/index.d.ts +1 -1
  103. package/es/components/col/src/col.d.ts +1 -1
  104. package/es/components/collapse/index.d.ts +28 -0
  105. package/es/components/collapse/src/collapse-item.vue.d.ts +12 -0
  106. package/es/components/collapse/src/collapse.vue.d.ts +4 -0
  107. package/es/components/collapse-transition/index.d.ts +8 -0
  108. package/es/components/collapse-transition/src/collapse-transition.vue.d.ts +4 -0
  109. package/es/components/color-picker/index.d.ts +8 -0
  110. package/es/components/color-picker/src/index.vue.d.ts +4 -0
  111. package/es/components/container/index.d.ts +36 -0
  112. package/es/components/container/src/aside.vue.d.ts +4 -0
  113. package/es/components/container/src/container.vue.d.ts +4 -0
  114. package/es/components/container/src/footer.vue.d.ts +4 -0
  115. package/es/components/container/src/header.vue.d.ts +4 -0
  116. package/es/components/container/src/main.vue.d.ts +4 -0
  117. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  118. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  119. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  120. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  121. package/es/components/descriptions/index.d.ts +8 -4
  122. package/es/components/descriptions/src/description-item.d.ts +1 -1
  123. package/es/components/descriptions/src/index.vue.d.ts +6 -2
  124. package/es/components/dialog/index.d.ts +12 -0
  125. package/es/components/dialog/src/dialog-content.mjs +79 -34
  126. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  127. package/es/components/dialog/src/dialog-content.vue.d.ts +8 -0
  128. package/es/components/dialog/src/dialog-content2.mjs +34 -79
  129. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  130. package/es/components/dialog/src/dialog.mjs +1 -1
  131. package/es/components/dialog/src/dialog.vue.d.ts +12 -0
  132. package/es/components/dialog/src/dialog2.mjs +1 -1
  133. package/es/components/divider/index.d.ts +4 -0
  134. package/es/components/divider/src/divider.vue.d.ts +4 -0
  135. package/es/components/drawer/index.d.ts +5 -1
  136. package/es/components/drawer/src/drawer.vue.d.ts +5 -1
  137. package/es/components/dropdown/index.d.ts +9 -5
  138. package/es/components/dropdown/index.mjs +2 -2
  139. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  140. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +4 -0
  141. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  142. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  143. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  144. package/es/components/dropdown/src/dropdown.mjs +109 -100
  145. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  146. package/es/components/dropdown/src/dropdown.vue.d.ts +9 -5
  147. package/es/components/dropdown/src/dropdown2.mjs +100 -109
  148. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  149. package/es/components/empty/index.d.ts +5 -1
  150. package/es/components/empty/index.mjs +2 -2
  151. package/es/components/empty/src/empty.mjs +56 -11
  152. package/es/components/empty/src/empty.mjs.map +1 -1
  153. package/es/components/empty/src/empty.vue.d.ts +5 -1
  154. package/es/components/empty/src/empty2.mjs +11 -56
  155. package/es/components/empty/src/empty2.mjs.map +1 -1
  156. package/es/components/form/index.d.ts +12 -0
  157. package/es/components/form/index.mjs +2 -2
  158. package/es/components/form/src/form-item.vue.d.ts +4 -0
  159. package/es/components/form/src/form.mjs +45 -40
  160. package/es/components/form/src/form.mjs.map +1 -1
  161. package/es/components/form/src/form.vue.d.ts +4 -0
  162. package/es/components/form/src/form2.mjs +40 -45
  163. package/es/components/form/src/form2.mjs.map +1 -1
  164. package/es/components/icon/index.d.ts +4 -0
  165. package/es/components/icon/index.mjs +2 -2
  166. package/es/components/icon/src/icon.mjs +35 -8
  167. package/es/components/icon/src/icon.mjs.map +1 -1
  168. package/es/components/icon/src/icon.vue.d.ts +4 -0
  169. package/es/components/icon/src/icon2.mjs +8 -35
  170. package/es/components/icon/src/icon2.mjs.map +1 -1
  171. package/es/components/image/index.d.ts +16 -4
  172. package/es/components/image/index.mjs +2 -2
  173. package/es/components/image/src/image.d.ts +1 -1
  174. package/es/components/image/src/image.mjs +127 -50
  175. package/es/components/image/src/image.mjs.map +1 -1
  176. package/es/components/image/src/image.vue.d.ts +16 -4
  177. package/es/components/image/src/image2.mjs +50 -127
  178. package/es/components/image/src/image2.mjs.map +1 -1
  179. package/es/components/image-viewer/index.d.ts +8 -0
  180. package/es/components/image-viewer/src/image-viewer.vue.d.ts +8 -0
  181. package/es/components/index.mjs +25 -25
  182. package/es/components/input/index.d.ts +10 -2
  183. package/es/components/input/src/input.vue.d.ts +10 -2
  184. package/es/components/input-number/index.d.ts +24 -4
  185. package/es/components/input-number/src/input-number.vue.d.ts +24 -4
  186. package/es/components/link/index.d.ts +8 -0
  187. package/es/components/link/index.mjs +2 -2
  188. package/es/components/link/src/link.mjs +43 -19
  189. package/es/components/link/src/link.mjs.map +1 -1
  190. package/es/components/link/src/link.vue.d.ts +8 -0
  191. package/es/components/link/src/link2.mjs +19 -43
  192. package/es/components/link/src/link2.mjs.map +1 -1
  193. package/es/components/menu/index.d.ts +31 -7
  194. package/es/components/menu/index.mjs +4 -4
  195. package/es/components/menu/src/menu-collapse-transition.mjs +53 -3
  196. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  197. package/es/components/menu/src/menu-collapse-transition.vue.d.ts +4 -1
  198. package/es/components/menu/src/menu-item-group.mjs +4 -56
  199. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  200. package/es/components/menu/src/menu-item-group.vue.d.ts +4 -1
  201. package/es/components/menu/src/menu-item-group2.mjs +35 -4
  202. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  203. package/es/components/menu/src/menu-item.mjs +100 -14
  204. package/es/components/menu/src/menu-item.mjs.map +1 -1
  205. package/es/components/menu/src/menu-item.vue.d.ts +9 -1
  206. package/es/components/menu/src/menu-item2.mjs +15 -65
  207. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  208. package/es/components/menu/src/menu.d.ts +7 -4
  209. package/es/components/menu/src/menu.mjs +89 -8
  210. package/es/components/menu/src/menu.mjs.map +1 -1
  211. package/es/components/menu/src/sub-menu.mjs +45 -20
  212. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  213. package/es/components/menu/src/types.d.ts +9 -0
  214. package/es/components/menu/src/use-menu-css-var.d.ts +1 -7
  215. package/es/components/menu/src/use-menu-css-var.mjs +12 -8
  216. package/es/components/menu/src/use-menu-css-var.mjs.map +1 -1
  217. package/es/components/menu/src/use-menu.d.ts +1 -2
  218. package/es/components/menu/src/use-menu.mjs +1 -24
  219. package/es/components/menu/src/use-menu.mjs.map +1 -1
  220. package/es/components/menu/src/utils/menu-bar.mjs.map +1 -1
  221. package/es/components/menu/src/utils/menu-item.mjs.map +1 -1
  222. package/es/components/menu/src/utils/submenu.mjs.map +1 -1
  223. package/es/components/page-header/index.d.ts +8 -0
  224. package/es/components/page-header/src/page-header.vue.d.ts +8 -0
  225. package/es/components/pagination/index.d.ts +1 -1
  226. package/es/components/pagination/src/components/jumper.vue.d.ts +4 -0
  227. package/es/components/pagination/src/components/pager.vue.d.ts +8 -0
  228. package/es/components/pagination/src/components/sizes.vue.d.ts +4 -0
  229. package/es/components/pagination/src/components/total.vue.d.ts +4 -0
  230. package/es/components/pagination/src/pagination.d.ts +1 -1
  231. package/es/components/popconfirm/index.d.ts +7 -3
  232. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  233. package/es/components/popconfirm/src/popconfirm.vue.d.ts +7 -3
  234. package/es/components/popover/index.d.ts +26 -18
  235. package/es/components/popover/src/index.vue.d.ts +13 -9
  236. package/es/components/popover/src/popover.d.ts +1 -1
  237. package/es/components/popover/src/popover.mjs +2 -2
  238. package/es/components/popper/index.mjs +2 -2
  239. package/es/components/popper/src/arrow.mjs +7 -31
  240. package/es/components/popper/src/arrow.mjs.map +1 -1
  241. package/es/components/popper/src/arrow.vue.d.ts +4 -0
  242. package/es/components/popper/src/arrow2.mjs +31 -7
  243. package/es/components/popper/src/arrow2.mjs.map +1 -1
  244. package/es/components/popper/src/content.vue.d.ts +7 -3
  245. package/es/components/popper/src/utils.d.ts +1 -1
  246. package/es/components/progress/index.d.ts +4 -0
  247. package/es/components/progress/src/progress.vue.d.ts +4 -0
  248. package/es/components/radio/index.d.ts +20 -0
  249. package/es/components/radio/index.mjs +4 -4
  250. package/es/components/radio/src/radio-button.mjs +80 -9
  251. package/es/components/radio/src/radio-button.mjs.map +1 -1
  252. package/es/components/radio/src/radio-button.vue.d.ts +4 -0
  253. package/es/components/radio/src/radio-button2.mjs +9 -80
  254. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  255. package/es/components/radio/src/radio-group.mjs +18 -37
  256. package/es/components/radio/src/radio-group.mjs.map +1 -1
  257. package/es/components/radio/src/radio-group.vue.d.ts +4 -0
  258. package/es/components/radio/src/radio-group2.mjs +37 -18
  259. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  260. package/es/components/radio/src/radio.vue.d.ts +4 -0
  261. package/es/components/rate/index.d.ts +8 -0
  262. package/es/components/rate/src/rate.vue.d.ts +8 -0
  263. package/es/components/result/index.d.ts +4 -0
  264. package/es/components/result/src/result.vue.d.ts +4 -0
  265. package/es/components/row/index.d.ts +3 -3
  266. package/es/components/row/src/row.d.ts +4 -4
  267. package/es/components/scrollbar/index.d.ts +5 -1
  268. package/es/components/scrollbar/src/bar.mjs +35 -22
  269. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  270. package/es/components/scrollbar/src/bar.vue.d.ts +1 -1
  271. package/es/components/scrollbar/src/bar2.mjs +22 -35
  272. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  273. package/es/components/scrollbar/src/scrollbar.vue.d.ts +5 -1
  274. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  275. package/es/components/scrollbar/src/thumb.vue.d.ts +4 -0
  276. package/es/components/select/index.d.ts +43 -23
  277. package/es/components/select/src/option-group.vue.d.ts +4 -0
  278. package/es/components/select/src/option.vue.d.ts +4 -0
  279. package/es/components/select/src/select-dropdown.vue.d.ts +4 -0
  280. package/es/components/select/src/select.mjs +1 -1
  281. package/es/components/select/src/select.vue.d.ts +27 -23
  282. package/es/components/select/src/useSelect.d.ts +22 -22
  283. package/es/components/select-v2/index.d.ts +64 -48
  284. package/es/components/select-v2/src/defaults.mjs +1 -1
  285. package/es/components/select-v2/src/group-item.vue.d.ts +4 -0
  286. package/es/components/select-v2/src/option-item.vue.d.ts +5 -1
  287. package/es/components/select-v2/src/select-dropdown.vue.d.ts +4 -0
  288. package/es/components/select-v2/src/select.vue.d.ts +32 -24
  289. package/es/components/select-v2/src/useSelect.d.ts +30 -22
  290. package/es/components/skeleton/index.d.ts +25 -9
  291. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  292. package/es/components/skeleton/src/skeleton-item.vue.d.ts +7 -3
  293. package/es/components/skeleton/src/skeleton.vue.d.ts +11 -3
  294. package/es/components/slider/index.d.ts +8 -0
  295. package/es/components/slider/src/button.vue.d.ts +4 -0
  296. package/es/components/slider/src/index.vue.d.ts +4 -0
  297. package/es/components/slider/src/marker.vue.d.ts +4 -0
  298. package/es/components/space/index.d.ts +2 -2
  299. package/es/components/space/src/space.d.ts +2 -2
  300. package/es/components/steps/index.d.ts +13 -1
  301. package/es/components/steps/src/index.vue.d.ts +5 -1
  302. package/es/components/steps/src/item.vue.d.ts +4 -0
  303. package/es/components/switch/index.d.ts +6 -2
  304. package/es/components/switch/index.mjs +2 -2
  305. package/es/components/switch/src/switch.mjs +176 -81
  306. package/es/components/switch/src/switch.mjs.map +1 -1
  307. package/es/components/switch/src/switch.vue.d.ts +6 -2
  308. package/es/components/switch/src/switch2.mjs +81 -176
  309. package/es/components/switch/src/switch2.mjs.map +1 -1
  310. package/es/components/table/index.d.ts +6 -2
  311. package/es/components/table/src/filter-panel.vue.d.ts +26 -22
  312. package/es/components/table/src/table-body/index.d.ts +4 -0
  313. package/es/components/table/src/table-footer/index.d.ts +4 -0
  314. package/es/components/table/src/table-header/index.d.ts +4 -0
  315. package/es/components/table/src/table.vue.d.ts +6 -2
  316. package/es/components/tabs/index.d.ts +16 -0
  317. package/es/components/tabs/index.mjs +1 -1
  318. package/es/components/tabs/src/tab-bar.d.ts +1 -0
  319. package/es/components/tabs/src/tab-bar.mjs +76 -7
  320. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  321. package/es/components/tabs/src/tab-bar.vue.d.ts +8 -0
  322. package/es/components/tabs/src/tab-bar2.mjs +7 -76
  323. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  324. package/es/components/tabs/src/tab-nav.d.ts +4 -0
  325. package/es/components/tabs/src/tab-nav.mjs +3 -2
  326. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  327. package/es/components/tabs/src/tab-pane.d.ts +1 -0
  328. package/es/components/tabs/src/tab-pane.mjs +2 -1
  329. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  330. package/es/components/tabs/src/tab-pane.vue.d.ts +7 -0
  331. package/es/components/tabs/src/tab-pane2.mjs +3 -2
  332. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  333. package/es/components/tabs/src/tabs.d.ts +2 -0
  334. package/es/components/tag/index.d.ts +8 -0
  335. package/es/components/tag/src/tag.vue.d.ts +8 -0
  336. package/es/components/teleport/index.d.ts +4 -0
  337. package/es/components/teleport/index.mjs +2 -2
  338. package/es/components/teleport/src/teleport.mjs +43 -18
  339. package/es/components/teleport/src/teleport.mjs.map +1 -1
  340. package/es/components/teleport/src/teleport.vue.d.ts +4 -0
  341. package/es/components/teleport/src/teleport2.mjs +18 -43
  342. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  343. package/es/components/time-picker/src/common/picker.vue.d.ts +34 -22
  344. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +4 -0
  345. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +5 -1
  346. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +9 -1
  347. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  348. package/es/components/time-select/index.d.ts +14 -6
  349. package/es/components/time-select/src/time-select.vue.d.ts +7 -3
  350. package/es/components/timeline/index.d.ts +10 -2
  351. package/es/components/timeline/src/timeline-item.vue.d.ts +5 -1
  352. package/es/components/tooltip/index.d.ts +11 -11
  353. package/es/components/tooltip/index.mjs +2 -2
  354. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  355. package/es/components/tooltip/src/tooltip.mjs +64 -51
  356. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  357. package/es/components/tooltip/src/tooltip.vue.d.ts +11 -11
  358. package/es/components/tooltip/src/tooltip2.mjs +51 -64
  359. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  360. package/es/components/tooltip/src/trigger.mjs +1 -1
  361. package/es/components/tooltip/src/trigger.vue.d.ts +7 -3
  362. package/es/components/tooltip-v2/index.d.ts +59 -47
  363. package/es/components/tooltip-v2/index.mjs +4 -4
  364. package/es/components/tooltip-v2/src/arrow.vue.d.ts +6 -2
  365. package/es/components/tooltip-v2/src/content.d.ts +1 -1
  366. package/es/components/tooltip-v2/src/content.vue.d.ts +10 -6
  367. package/es/components/tooltip-v2/src/root.mjs +81 -17
  368. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  369. package/es/components/tooltip-v2/src/root.vue.d.ts +4 -0
  370. package/es/components/tooltip-v2/src/root2.mjs +17 -81
  371. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  372. package/es/components/tooltip-v2/src/tooltip.d.ts +1 -1
  373. package/es/components/tooltip-v2/src/tooltip.mjs +73 -20
  374. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  375. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +59 -47
  376. package/es/components/tooltip-v2/src/tooltip2.mjs +20 -73
  377. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  378. package/es/components/tooltip-v2/src/trigger.mjs +89 -11
  379. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  380. package/es/components/tooltip-v2/src/trigger2.mjs +11 -89
  381. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  382. package/es/components/transfer/index.d.ts +40 -0
  383. package/es/components/transfer/src/index.vue.d.ts +20 -0
  384. package/es/components/transfer/src/transfer-panel.vue.d.ts +4 -0
  385. package/es/components/tree/index.d.ts +8 -0
  386. package/es/components/tree/src/tree-node.vue.d.ts +4 -0
  387. package/es/components/tree/src/tree.vue.d.ts +4 -0
  388. package/es/components/tree-select/src/tree-select-option.d.ts +24 -0
  389. package/es/components/tree-v2/index.d.ts +4 -0
  390. package/es/components/tree-v2/src/tree-node.vue.d.ts +4 -0
  391. package/es/components/tree-v2/src/tree.vue.d.ts +4 -0
  392. package/es/components/upload/index.d.ts +44 -0
  393. package/es/components/upload/index.mjs +2 -2
  394. package/es/components/upload/src/upload-content.mjs +1 -1
  395. package/es/components/upload/src/upload-content.vue.d.ts +8 -0
  396. package/es/components/upload/src/upload-dragger.vue.d.ts +4 -0
  397. package/es/components/upload/src/upload-list.mjs +1 -1
  398. package/es/components/upload/src/upload-list.vue.d.ts +20 -0
  399. package/es/components/upload/src/upload.mjs +106 -99
  400. package/es/components/upload/src/upload.mjs.map +1 -1
  401. package/es/components/upload/src/upload.vue.d.ts +44 -0
  402. package/es/components/upload/src/upload2.mjs +99 -106
  403. package/es/components/upload/src/upload2.mjs.map +1 -1
  404. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  405. package/es/components/virtual-list/src/builders/build-list.d.ts +6 -2
  406. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  407. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +6 -2
  408. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  409. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +6 -2
  410. package/es/hooks/use-namespace/index.d.ts +4 -0
  411. package/es/hooks/use-namespace/index.mjs +21 -1
  412. package/es/hooks/use-namespace/index.mjs.map +1 -1
  413. package/es/index.mjs +25 -25
  414. package/es/utils/vue/vnode.d.ts +6 -6
  415. package/lib/components/affix/index.d.ts +5 -1
  416. package/lib/components/affix/index.js +2 -2
  417. package/lib/components/affix/src/affix.js +19 -82
  418. package/lib/components/affix/src/affix.js.map +1 -1
  419. package/lib/components/affix/src/affix.vue.d.ts +5 -1
  420. package/lib/components/affix/src/affix2.js +82 -19
  421. package/lib/components/affix/src/affix2.js.map +1 -1
  422. package/lib/components/alert/index.d.ts +8 -0
  423. package/lib/components/alert/index.js +2 -2
  424. package/lib/components/alert/src/alert.js +82 -33
  425. package/lib/components/alert/src/alert.js.map +1 -1
  426. package/lib/components/alert/src/alert.vue.d.ts +8 -0
  427. package/lib/components/alert/src/alert2.js +33 -82
  428. package/lib/components/alert/src/alert2.js.map +1 -1
  429. package/lib/components/autocomplete/index.d.ts +47 -27
  430. package/lib/components/autocomplete/index.js +2 -2
  431. package/lib/components/autocomplete/src/autocomplete.js +94 -58
  432. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  433. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +47 -27
  434. package/lib/components/autocomplete/src/autocomplete2.js +58 -94
  435. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  436. package/lib/components/avatar/index.d.ts +8 -0
  437. package/lib/components/avatar/index.js +2 -2
  438. package/lib/components/avatar/src/avatar.js +61 -29
  439. package/lib/components/avatar/src/avatar.js.map +1 -1
  440. package/lib/components/avatar/src/avatar.vue.d.ts +8 -0
  441. package/lib/components/avatar/src/avatar2.js +29 -61
  442. package/lib/components/avatar/src/avatar2.js.map +1 -1
  443. package/lib/components/backtop/index.d.ts +8 -0
  444. package/lib/components/backtop/index.js +2 -2
  445. package/lib/components/backtop/src/backtop.js +18 -59
  446. package/lib/components/backtop/src/backtop.js.map +1 -1
  447. package/lib/components/backtop/src/backtop.vue.d.ts +8 -0
  448. package/lib/components/backtop/src/backtop2.js +59 -18
  449. package/lib/components/backtop/src/backtop2.js.map +1 -1
  450. package/lib/components/badge/index.d.ts +5 -1
  451. package/lib/components/badge/src/badge.vue.d.ts +5 -1
  452. package/lib/components/breadcrumb/index.d.ts +20 -0
  453. package/lib/components/breadcrumb/src/breadcrumb-item.vue.d.ts +8 -0
  454. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +4 -0
  455. package/lib/components/button/index.d.ts +16 -0
  456. package/lib/components/button/src/button-group.vue.d.ts +4 -0
  457. package/lib/components/button/src/button.vue.d.ts +8 -0
  458. package/lib/components/calendar/index.d.ts +28 -0
  459. package/lib/components/calendar/index.js +2 -2
  460. package/lib/components/calendar/src/calendar.js +192 -9
  461. package/lib/components/calendar/src/calendar.js.map +1 -1
  462. package/lib/components/calendar/src/calendar.vue.d.ts +28 -0
  463. package/lib/components/calendar/src/calendar2.js +9 -192
  464. package/lib/components/calendar/src/calendar2.js.map +1 -1
  465. package/lib/components/calendar/src/date-table.js +151 -30
  466. package/lib/components/calendar/src/date-table.js.map +1 -1
  467. package/lib/components/calendar/src/date-table.vue.d.ts +8 -0
  468. package/lib/components/calendar/src/date-table2.js +30 -151
  469. package/lib/components/calendar/src/date-table2.js.map +1 -1
  470. package/lib/components/card/index.d.ts +4 -0
  471. package/lib/components/card/src/card.vue.d.ts +4 -0
  472. package/lib/components/carousel/index.d.ts +18 -2
  473. package/lib/components/carousel/index.js +4 -4
  474. package/lib/components/carousel/src/carousel-item.js +148 -7
  475. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  476. package/lib/components/carousel/src/carousel-item.vue.d.ts +4 -0
  477. package/lib/components/carousel/src/carousel-item2.js +7 -148
  478. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  479. package/lib/components/carousel/src/carousel.js +201 -43
  480. package/lib/components/carousel/src/carousel.js.map +1 -1
  481. package/lib/components/carousel/src/carousel.vue.d.ts +10 -2
  482. package/lib/components/carousel/src/carousel2.js +43 -201
  483. package/lib/components/carousel/src/carousel2.js.map +1 -1
  484. package/lib/components/cascader/index.d.ts +60 -12
  485. package/lib/components/cascader/src/index.js +1 -1
  486. package/lib/components/cascader/src/index.vue.d.ts +30 -6
  487. package/lib/components/cascader-panel/index.d.ts +10 -2
  488. package/lib/components/cascader-panel/src/config.js +1 -1
  489. package/lib/components/cascader-panel/src/index.js +1 -1
  490. package/lib/components/cascader-panel/src/index.vue.d.ts +5 -1
  491. package/lib/components/cascader-panel/src/menu.js +1 -1
  492. package/lib/components/cascader-panel/src/menu.vue.d.ts +4 -0
  493. package/lib/components/cascader-panel/src/node-content.d.ts +4 -0
  494. package/lib/components/cascader-panel/src/node.js +121 -200
  495. package/lib/components/cascader-panel/src/node.js.map +1 -1
  496. package/lib/components/cascader-panel/src/node.vue.d.ts +4 -0
  497. package/lib/components/cascader-panel/src/node2.js +200 -121
  498. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  499. package/lib/components/cascader-panel/src/store.js +1 -1
  500. package/lib/components/check-tag/index.d.ts +4 -0
  501. package/lib/components/check-tag/index.js +2 -2
  502. package/lib/components/check-tag/src/check-tag.js +20 -7
  503. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  504. package/lib/components/check-tag/src/check-tag.vue.d.ts +4 -0
  505. package/lib/components/check-tag/src/check-tag2.js +7 -20
  506. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  507. package/lib/components/checkbox/index.d.ts +12 -0
  508. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -0
  509. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -0
  510. package/lib/components/col/index.d.ts +1 -1
  511. package/lib/components/col/src/col.d.ts +1 -1
  512. package/lib/components/collapse/index.d.ts +28 -0
  513. package/lib/components/collapse/src/collapse-item.vue.d.ts +12 -0
  514. package/lib/components/collapse/src/collapse.vue.d.ts +4 -0
  515. package/lib/components/collapse-transition/index.d.ts +8 -0
  516. package/lib/components/collapse-transition/src/collapse-transition.vue.d.ts +4 -0
  517. package/lib/components/color-picker/index.d.ts +8 -0
  518. package/lib/components/color-picker/src/index.vue.d.ts +4 -0
  519. package/lib/components/container/index.d.ts +36 -0
  520. package/lib/components/container/src/aside.vue.d.ts +4 -0
  521. package/lib/components/container/src/container.vue.d.ts +4 -0
  522. package/lib/components/container/src/footer.vue.d.ts +4 -0
  523. package/lib/components/container/src/header.vue.d.ts +4 -0
  524. package/lib/components/container/src/main.vue.d.ts +4 -0
  525. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  526. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  527. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  528. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  529. package/lib/components/descriptions/index.d.ts +8 -4
  530. package/lib/components/descriptions/src/description-item.d.ts +1 -1
  531. package/lib/components/descriptions/src/index.vue.d.ts +6 -2
  532. package/lib/components/dialog/index.d.ts +12 -0
  533. package/lib/components/dialog/src/dialog-content.js +78 -33
  534. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  535. package/lib/components/dialog/src/dialog-content.vue.d.ts +8 -0
  536. package/lib/components/dialog/src/dialog-content2.js +33 -78
  537. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  538. package/lib/components/dialog/src/dialog.js +1 -1
  539. package/lib/components/dialog/src/dialog.vue.d.ts +12 -0
  540. package/lib/components/dialog/src/dialog2.js +1 -1
  541. package/lib/components/divider/index.d.ts +4 -0
  542. package/lib/components/divider/src/divider.vue.d.ts +4 -0
  543. package/lib/components/drawer/index.d.ts +5 -1
  544. package/lib/components/drawer/src/drawer.vue.d.ts +5 -1
  545. package/lib/components/dropdown/index.d.ts +9 -5
  546. package/lib/components/dropdown/index.js +2 -2
  547. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  548. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +4 -0
  549. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  550. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  551. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  552. package/lib/components/dropdown/src/dropdown.js +109 -109
  553. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  554. package/lib/components/dropdown/src/dropdown.vue.d.ts +9 -5
  555. package/lib/components/dropdown/src/dropdown2.js +109 -109
  556. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  557. package/lib/components/empty/index.d.ts +5 -1
  558. package/lib/components/empty/index.js +2 -2
  559. package/lib/components/empty/src/empty.js +56 -11
  560. package/lib/components/empty/src/empty.js.map +1 -1
  561. package/lib/components/empty/src/empty.vue.d.ts +5 -1
  562. package/lib/components/empty/src/empty2.js +11 -56
  563. package/lib/components/empty/src/empty2.js.map +1 -1
  564. package/lib/components/form/index.d.ts +12 -0
  565. package/lib/components/form/index.js +2 -2
  566. package/lib/components/form/src/form-item.vue.d.ts +4 -0
  567. package/lib/components/form/src/form.js +45 -40
  568. package/lib/components/form/src/form.js.map +1 -1
  569. package/lib/components/form/src/form.vue.d.ts +4 -0
  570. package/lib/components/form/src/form2.js +40 -45
  571. package/lib/components/form/src/form2.js.map +1 -1
  572. package/lib/components/icon/index.d.ts +4 -0
  573. package/lib/components/icon/index.js +2 -2
  574. package/lib/components/icon/src/icon.js +35 -8
  575. package/lib/components/icon/src/icon.js.map +1 -1
  576. package/lib/components/icon/src/icon.vue.d.ts +4 -0
  577. package/lib/components/icon/src/icon2.js +8 -35
  578. package/lib/components/icon/src/icon2.js.map +1 -1
  579. package/lib/components/image/index.d.ts +16 -4
  580. package/lib/components/image/index.js +2 -2
  581. package/lib/components/image/src/image.d.ts +1 -1
  582. package/lib/components/image/src/image.js +127 -50
  583. package/lib/components/image/src/image.js.map +1 -1
  584. package/lib/components/image/src/image.vue.d.ts +16 -4
  585. package/lib/components/image/src/image2.js +50 -127
  586. package/lib/components/image/src/image2.js.map +1 -1
  587. package/lib/components/image-viewer/index.d.ts +8 -0
  588. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +8 -0
  589. package/lib/components/index.js +25 -25
  590. package/lib/components/input/index.d.ts +10 -2
  591. package/lib/components/input/src/input.vue.d.ts +10 -2
  592. package/lib/components/input-number/index.d.ts +24 -4
  593. package/lib/components/input-number/src/input-number.vue.d.ts +24 -4
  594. package/lib/components/link/index.d.ts +8 -0
  595. package/lib/components/link/index.js +2 -2
  596. package/lib/components/link/src/link.js +43 -19
  597. package/lib/components/link/src/link.js.map +1 -1
  598. package/lib/components/link/src/link.vue.d.ts +8 -0
  599. package/lib/components/link/src/link2.js +19 -43
  600. package/lib/components/link/src/link2.js.map +1 -1
  601. package/lib/components/menu/index.d.ts +31 -7
  602. package/lib/components/menu/index.js +4 -4
  603. package/lib/components/menu/src/menu-collapse-transition.js +52 -2
  604. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  605. package/lib/components/menu/src/menu-collapse-transition.vue.d.ts +4 -1
  606. package/lib/components/menu/src/menu-item-group.js +4 -56
  607. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  608. package/lib/components/menu/src/menu-item-group.vue.d.ts +4 -1
  609. package/lib/components/menu/src/menu-item-group2.js +35 -4
  610. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  611. package/lib/components/menu/src/menu-item.js +100 -15
  612. package/lib/components/menu/src/menu-item.js.map +1 -1
  613. package/lib/components/menu/src/menu-item.vue.d.ts +9 -1
  614. package/lib/components/menu/src/menu-item2.js +16 -65
  615. package/lib/components/menu/src/menu-item2.js.map +1 -1
  616. package/lib/components/menu/src/menu.d.ts +7 -4
  617. package/lib/components/menu/src/menu.js +90 -9
  618. package/lib/components/menu/src/menu.js.map +1 -1
  619. package/lib/components/menu/src/sub-menu.js +44 -19
  620. package/lib/components/menu/src/sub-menu.js.map +1 -1
  621. package/lib/components/menu/src/types.d.ts +9 -0
  622. package/lib/components/menu/src/use-menu-css-var.d.ts +1 -7
  623. package/lib/components/menu/src/use-menu-css-var.js +12 -8
  624. package/lib/components/menu/src/use-menu-css-var.js.map +1 -1
  625. package/lib/components/menu/src/use-menu.d.ts +1 -2
  626. package/lib/components/menu/src/use-menu.js +0 -23
  627. package/lib/components/menu/src/use-menu.js.map +1 -1
  628. package/lib/components/menu/src/utils/menu-bar.js.map +1 -1
  629. package/lib/components/menu/src/utils/menu-item.js.map +1 -1
  630. package/lib/components/menu/src/utils/submenu.js.map +1 -1
  631. package/lib/components/page-header/index.d.ts +8 -0
  632. package/lib/components/page-header/src/page-header.vue.d.ts +8 -0
  633. package/lib/components/pagination/index.d.ts +1 -1
  634. package/lib/components/pagination/src/components/jumper.vue.d.ts +4 -0
  635. package/lib/components/pagination/src/components/pager.vue.d.ts +8 -0
  636. package/lib/components/pagination/src/components/sizes.vue.d.ts +4 -0
  637. package/lib/components/pagination/src/components/total.vue.d.ts +4 -0
  638. package/lib/components/pagination/src/pagination.d.ts +1 -1
  639. package/lib/components/popconfirm/index.d.ts +7 -3
  640. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  641. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +7 -3
  642. package/lib/components/popover/index.d.ts +26 -18
  643. package/lib/components/popover/src/index.vue.d.ts +13 -9
  644. package/lib/components/popover/src/popover.d.ts +1 -1
  645. package/lib/components/popover/src/popover.js +2 -2
  646. package/lib/components/popper/index.js +2 -2
  647. package/lib/components/popper/src/arrow.js +7 -31
  648. package/lib/components/popper/src/arrow.js.map +1 -1
  649. package/lib/components/popper/src/arrow.vue.d.ts +4 -0
  650. package/lib/components/popper/src/arrow2.js +31 -7
  651. package/lib/components/popper/src/arrow2.js.map +1 -1
  652. package/lib/components/popper/src/content.vue.d.ts +7 -3
  653. package/lib/components/popper/src/utils.d.ts +1 -1
  654. package/lib/components/progress/index.d.ts +4 -0
  655. package/lib/components/progress/src/progress.vue.d.ts +4 -0
  656. package/lib/components/radio/index.d.ts +20 -0
  657. package/lib/components/radio/index.js +4 -4
  658. package/lib/components/radio/src/radio-button.js +79 -8
  659. package/lib/components/radio/src/radio-button.js.map +1 -1
  660. package/lib/components/radio/src/radio-button.vue.d.ts +4 -0
  661. package/lib/components/radio/src/radio-button2.js +8 -79
  662. package/lib/components/radio/src/radio-button2.js.map +1 -1
  663. package/lib/components/radio/src/radio-group.js +18 -37
  664. package/lib/components/radio/src/radio-group.js.map +1 -1
  665. package/lib/components/radio/src/radio-group.vue.d.ts +4 -0
  666. package/lib/components/radio/src/radio-group2.js +37 -18
  667. package/lib/components/radio/src/radio-group2.js.map +1 -1
  668. package/lib/components/radio/src/radio.vue.d.ts +4 -0
  669. package/lib/components/rate/index.d.ts +8 -0
  670. package/lib/components/rate/src/rate.vue.d.ts +8 -0
  671. package/lib/components/result/index.d.ts +4 -0
  672. package/lib/components/result/src/result.vue.d.ts +4 -0
  673. package/lib/components/row/index.d.ts +3 -3
  674. package/lib/components/row/src/row.d.ts +4 -4
  675. package/lib/components/scrollbar/index.d.ts +5 -1
  676. package/lib/components/scrollbar/src/bar.js +35 -22
  677. package/lib/components/scrollbar/src/bar.js.map +1 -1
  678. package/lib/components/scrollbar/src/bar.vue.d.ts +1 -1
  679. package/lib/components/scrollbar/src/bar2.js +22 -35
  680. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  681. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +5 -1
  682. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  683. package/lib/components/scrollbar/src/thumb.vue.d.ts +4 -0
  684. package/lib/components/select/index.d.ts +43 -23
  685. package/lib/components/select/src/option-group.vue.d.ts +4 -0
  686. package/lib/components/select/src/option.vue.d.ts +4 -0
  687. package/lib/components/select/src/select-dropdown.vue.d.ts +4 -0
  688. package/lib/components/select/src/select.js +1 -1
  689. package/lib/components/select/src/select.vue.d.ts +27 -23
  690. package/lib/components/select/src/useSelect.d.ts +22 -22
  691. package/lib/components/select-v2/index.d.ts +64 -48
  692. package/lib/components/select-v2/src/defaults.js +1 -1
  693. package/lib/components/select-v2/src/group-item.vue.d.ts +4 -0
  694. package/lib/components/select-v2/src/option-item.vue.d.ts +5 -1
  695. package/lib/components/select-v2/src/select-dropdown.vue.d.ts +4 -0
  696. package/lib/components/select-v2/src/select.vue.d.ts +32 -24
  697. package/lib/components/select-v2/src/useSelect.d.ts +30 -22
  698. package/lib/components/skeleton/index.d.ts +25 -9
  699. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  700. package/lib/components/skeleton/src/skeleton-item.vue.d.ts +7 -3
  701. package/lib/components/skeleton/src/skeleton.vue.d.ts +11 -3
  702. package/lib/components/slider/index.d.ts +8 -0
  703. package/lib/components/slider/src/button.vue.d.ts +4 -0
  704. package/lib/components/slider/src/index.vue.d.ts +4 -0
  705. package/lib/components/slider/src/marker.vue.d.ts +4 -0
  706. package/lib/components/space/index.d.ts +2 -2
  707. package/lib/components/space/src/space.d.ts +2 -2
  708. package/lib/components/steps/index.d.ts +13 -1
  709. package/lib/components/steps/src/index.vue.d.ts +5 -1
  710. package/lib/components/steps/src/item.vue.d.ts +4 -0
  711. package/lib/components/switch/index.d.ts +6 -2
  712. package/lib/components/switch/index.js +2 -2
  713. package/lib/components/switch/src/switch.js +176 -81
  714. package/lib/components/switch/src/switch.js.map +1 -1
  715. package/lib/components/switch/src/switch.vue.d.ts +6 -2
  716. package/lib/components/switch/src/switch2.js +81 -176
  717. package/lib/components/switch/src/switch2.js.map +1 -1
  718. package/lib/components/table/index.d.ts +6 -2
  719. package/lib/components/table/src/filter-panel.vue.d.ts +26 -22
  720. package/lib/components/table/src/table-body/index.d.ts +4 -0
  721. package/lib/components/table/src/table-footer/index.d.ts +4 -0
  722. package/lib/components/table/src/table-header/index.d.ts +4 -0
  723. package/lib/components/table/src/table.vue.d.ts +6 -2
  724. package/lib/components/tabs/index.d.ts +16 -0
  725. package/lib/components/tabs/index.js +1 -1
  726. package/lib/components/tabs/src/tab-bar.d.ts +1 -0
  727. package/lib/components/tabs/src/tab-bar.js +76 -7
  728. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  729. package/lib/components/tabs/src/tab-bar.vue.d.ts +8 -0
  730. package/lib/components/tabs/src/tab-bar2.js +7 -76
  731. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  732. package/lib/components/tabs/src/tab-nav.d.ts +4 -0
  733. package/lib/components/tabs/src/tab-nav.js +3 -2
  734. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  735. package/lib/components/tabs/src/tab-pane.d.ts +1 -0
  736. package/lib/components/tabs/src/tab-pane.js +2 -1
  737. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  738. package/lib/components/tabs/src/tab-pane.vue.d.ts +7 -0
  739. package/lib/components/tabs/src/tab-pane2.js +3 -2
  740. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  741. package/lib/components/tabs/src/tabs.d.ts +2 -0
  742. package/lib/components/tag/index.d.ts +8 -0
  743. package/lib/components/tag/src/tag.vue.d.ts +8 -0
  744. package/lib/components/teleport/index.d.ts +4 -0
  745. package/lib/components/teleport/index.js +2 -2
  746. package/lib/components/teleport/src/teleport.js +43 -18
  747. package/lib/components/teleport/src/teleport.js.map +1 -1
  748. package/lib/components/teleport/src/teleport.vue.d.ts +4 -0
  749. package/lib/components/teleport/src/teleport2.js +18 -43
  750. package/lib/components/teleport/src/teleport2.js.map +1 -1
  751. package/lib/components/time-picker/src/common/picker.vue.d.ts +34 -22
  752. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +4 -0
  753. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +5 -1
  754. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +9 -1
  755. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  756. package/lib/components/time-select/index.d.ts +14 -6
  757. package/lib/components/time-select/src/time-select.vue.d.ts +7 -3
  758. package/lib/components/timeline/index.d.ts +10 -2
  759. package/lib/components/timeline/src/timeline-item.vue.d.ts +5 -1
  760. package/lib/components/tooltip/index.d.ts +11 -11
  761. package/lib/components/tooltip/index.js +2 -2
  762. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  763. package/lib/components/tooltip/src/tooltip.js +65 -50
  764. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  765. package/lib/components/tooltip/src/tooltip.vue.d.ts +11 -11
  766. package/lib/components/tooltip/src/tooltip2.js +50 -65
  767. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  768. package/lib/components/tooltip/src/trigger.js +1 -1
  769. package/lib/components/tooltip/src/trigger.vue.d.ts +7 -3
  770. package/lib/components/tooltip-v2/index.d.ts +59 -47
  771. package/lib/components/tooltip-v2/index.js +4 -4
  772. package/lib/components/tooltip-v2/src/arrow.vue.d.ts +6 -2
  773. package/lib/components/tooltip-v2/src/content.d.ts +1 -1
  774. package/lib/components/tooltip-v2/src/content.vue.d.ts +10 -6
  775. package/lib/components/tooltip-v2/src/root.js +81 -17
  776. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  777. package/lib/components/tooltip-v2/src/root.vue.d.ts +4 -0
  778. package/lib/components/tooltip-v2/src/root2.js +17 -81
  779. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  780. package/lib/components/tooltip-v2/src/tooltip.d.ts +1 -1
  781. package/lib/components/tooltip-v2/src/tooltip.js +73 -20
  782. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  783. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +59 -47
  784. package/lib/components/tooltip-v2/src/tooltip2.js +20 -73
  785. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  786. package/lib/components/tooltip-v2/src/trigger.js +89 -11
  787. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  788. package/lib/components/tooltip-v2/src/trigger2.js +11 -89
  789. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  790. package/lib/components/transfer/index.d.ts +40 -0
  791. package/lib/components/transfer/src/index.vue.d.ts +20 -0
  792. package/lib/components/transfer/src/transfer-panel.vue.d.ts +4 -0
  793. package/lib/components/tree/index.d.ts +8 -0
  794. package/lib/components/tree/src/tree-node.vue.d.ts +4 -0
  795. package/lib/components/tree/src/tree.vue.d.ts +4 -0
  796. package/lib/components/tree-select/src/tree-select-option.d.ts +24 -0
  797. package/lib/components/tree-v2/index.d.ts +4 -0
  798. package/lib/components/tree-v2/src/tree-node.vue.d.ts +4 -0
  799. package/lib/components/tree-v2/src/tree.vue.d.ts +4 -0
  800. package/lib/components/upload/index.d.ts +44 -0
  801. package/lib/components/upload/index.js +2 -2
  802. package/lib/components/upload/src/upload-content.js +1 -1
  803. package/lib/components/upload/src/upload-content.vue.d.ts +8 -0
  804. package/lib/components/upload/src/upload-dragger.vue.d.ts +4 -0
  805. package/lib/components/upload/src/upload-list.js +1 -1
  806. package/lib/components/upload/src/upload-list.vue.d.ts +20 -0
  807. package/lib/components/upload/src/upload.js +109 -99
  808. package/lib/components/upload/src/upload.js.map +1 -1
  809. package/lib/components/upload/src/upload.vue.d.ts +44 -0
  810. package/lib/components/upload/src/upload2.js +99 -109
  811. package/lib/components/upload/src/upload2.js.map +1 -1
  812. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  813. package/lib/components/virtual-list/src/builders/build-list.d.ts +6 -2
  814. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  815. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +6 -2
  816. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  817. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +6 -2
  818. package/lib/hooks/use-namespace/index.d.ts +4 -0
  819. package/lib/hooks/use-namespace/index.js +21 -1
  820. package/lib/hooks/use-namespace/index.js.map +1 -1
  821. package/lib/index.js +25 -25
  822. package/lib/utils/vue/vnode.d.ts +6 -6
  823. package/package.json +1 -1
  824. package/web-types.json +1 -1
@@ -1,70 +1,20 @@
1
- import { defineComponent, getCurrentInstance, inject, toRef, computed, reactive, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, Fragment } from 'vue';
2
- import '../../popper/index.mjs';
3
1
  import '../../../utils/index.mjs';
4
- import '../../../hooks/index.mjs';
5
- import useMenu from './use-menu.mjs';
6
- import { menuItemProps, menuItemEmits } from './menu-item.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
- import { throwError } from '../../../utils/error.mjs';
10
- import { Effect } from '../../popper/src/popper.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
3
+ import { isString } from '@vue/shared';
11
4
 
12
- const COMPONENT_NAME = "PsMenuItem";
13
- const _sfc_main = defineComponent({
14
- name: COMPONENT_NAME,
15
- props: menuItemProps,
16
- emits: menuItemEmits,
17
- setup(props, { emit }) {
18
- const instance = getCurrentInstance();
19
- const rootMenu = inject("rootMenu");
20
- const nsMenu = useNamespace("menu");
21
- const nsMenuItem = useNamespace("menu-item");
22
- if (!rootMenu)
23
- throwError(COMPONENT_NAME, "can not inject root menu");
24
- const { parentMenu, paddingStyle, indexPath } = useMenu(instance, toRef(props, "index"));
25
- const subMenu = inject(`subMenu:${parentMenu.value.uid}`);
26
- if (!subMenu)
27
- throwError(COMPONENT_NAME, "can not inject sub menu");
28
- const active = computed(() => props.index === rootMenu.activeIndex);
29
- const item = reactive({
30
- index: props.index,
31
- indexPath,
32
- active
33
- });
34
- return {
35
- Effect,
36
- parentMenu,
37
- rootMenu,
38
- paddingStyle,
39
- active,
40
- nsMenu,
41
- nsMenuItem
42
- };
43
- }
5
+ const menuItemProps = buildProps({
6
+ index: {
7
+ type: definePropType([String, null]),
8
+ default: null
9
+ },
10
+ route: {
11
+ type: definePropType([String, Object])
12
+ },
13
+ disabled: Boolean
44
14
  });
45
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
46
- return openBlock(), createElementBlock("li", {
47
- class: normalizeClass([
48
- _ctx.nsMenuItem.b(),
49
- _ctx.nsMenuItem.is("active", _ctx.active),
50
- _ctx.nsMenuItem.is("disabled", _ctx.disabled)
51
- ]),
52
- role: "menuitem",
53
- tabindex: "-1",
54
- style: normalizeStyle(_ctx.paddingStyle)
55
- }, [
56
- _ctx.parentMenu.type.name === "PsMenu" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (openBlock(), createElementBlock("div", {
57
- key: 0,
58
- class: normalizeClass(_ctx.nsMenu.be("tooltip", "trigger"))
59
- }, [
60
- renderSlot(_ctx.$slots, "default")
61
- ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
62
- renderSlot(_ctx.$slots, "default"),
63
- renderSlot(_ctx.$slots, "title")
64
- ], 64))
65
- ], 6);
66
- }
67
- var MenuItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/menu/src/menu-item.vue"]]);
15
+ const menuItemEmits = {
16
+ click: (item) => isString(item.index) && Array.isArray(item.indexPath)
17
+ };
68
18
 
69
- export { MenuItem as default };
19
+ export { menuItemEmits, menuItemProps };
70
20
  //# sourceMappingURL=menu-item2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item2.mjs","sources":["../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["<template>\n <li\n :class=\"[\n nsMenuItem.b(),\n nsMenuItem.is('active', active),\n nsMenuItem.is('disabled', disabled),\n ]\"\n role=\"menuitem\"\n tabindex=\"-1\"\n :style=\"paddingStyle\"\n >\n <div\n v-if=\"\n parentMenu.type.name === 'PsMenu' &&\n rootMenu.props.collapse &&\n $slots.title\n \"\n :class=\"nsMenu.be('tooltip', 'trigger')\">\n <slot />\n </div>\n <template v-else>\n <slot />\n <slot name=\"title\" />\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n reactive,\n toRef,\n} from 'vue'\nimport { Effect } from '@element-ps/components/popper'\nimport { throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport useMenu from './use-menu'\nimport { menuItemEmits, menuItemProps } from './menu-item'\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types'\n\nconst COMPONENT_NAME = 'PsMenuItem'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: menuItemProps,\n emits: menuItemEmits,\n\n setup(props, { emit }) {\n const instance = getCurrentInstance()!\n const rootMenu = inject<MenuProvider>('rootMenu')\n const nsMenu = useNamespace('menu')\n const nsMenuItem = useNamespace('menu-item')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const { parentMenu, paddingStyle, indexPath } = useMenu(\n instance,\n toRef(props, 'index')\n )\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value.uid}`)\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const active = computed(() => props.index === rootMenu.activeIndex)\n const item: MenuItemRegistered = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n return {\n Effect,\n parentMenu,\n rootMenu,\n paddingStyle,\n active,\n nsMenu,\n nsMenuItem,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_openBlock","_Fragment"],"mappings":";;;;;;;;;;;AA8CA,MAAM,cAAiB,GAAA,YAAA,CAAA;AACvB,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EAEP,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAM,MAAA,QAAA,GAAW,OAAqB,UAAU,CAAA,CAAA;AAChD,IAAM,MAAA,MAAA,GAAS,aAAa,MAAM,CAAA,CAAA;AAClC,IAAM,MAAA,UAAA,GAAa,aAAa,WAAW,CAAA,CAAA;AAC3C,IAAA,IAAI,CAAC,QAAA;AAAU,MAAA,UAAA,CAAW,gBAAgB,0BAA0B,CAAA,CAAA;AAEpE,IAAM,MAAA,EAAE,YAAY,YAAc,EAAA,SAAA,EAAA,GAAc,QAC9C,QACA,EAAA,KAAA,CAAM,KAAO,EAAA,OAAO,CACtB,CAAA,CAAA;AAEA,IAAA,MAAM,OAAU,GAAA,MAAA,CAAwB,CAAW,QAAA,EAAA,UAAA,CAAW,MAAM,GAAK,CAAA,CAAA,CAAA,CAAA;AACzE,IAAA,IAAI,CAAC,OAAA;AAAS,MAAA,UAAA,CAAW,gBAAgB,yBAAyB,CAAA,CAAA;AAElE,IAAA,MAAM,SAAS,QAAS,CAAA,MAAM,KAAM,CAAA,KAAA,KAAU,SAAS,WAAW,CAAA,CAAA;AAClE,IAAA,MAAM,OAA2B,QAAS,CAAA;AAAA,MACxC,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,SAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,MAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;sBAnFCA,kBAuBK,CAAA,IAAA,EAAA;AAAA,IAtBF,KAAK,EAAAC,cAAA,CAAA;AAAA,MAAU,gBAAW,CAAC,EAAA;AAAA,MAAU,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA,QAAA,EAAW,IAAM,CAAA,MAAA,CAAA;AAAA,MAAS,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA,UAAA,EAAa,IAAQ,CAAA,QAAA,CAAA;AAAA,KAAA,CAAA;IAK/G,IAAK,EAAA,UAAA;AAAA,IACL,QAAS,EAAA,IAAA;AAAA,IACR,KAAA,EAAKC,eAAE,IAAY,CAAA,YAAA,CAAA;AAAA,GAAA,EAAA;IAGC,IAAW,CAAA,UAAA,CAAA,IAAA,CAAK,SAAI,QAA2B,IAAA,IAAA,CAAA,QAAA,CAAS,MAAM,QAAsB,IAAA,IAAA,CAAA,MAAA,CAAO,sBADhHF,kBAQQ,CAAA,KAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;MAFH,KAAK,EAAAC,cAAA,CAAE,YAAO,EAAE,CAAA,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,KAAA,EAAA;MACjBE,UAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,KAAA,EAAA,CAAA,CAAA,KAAAC,SAAA,EAAA,EAEZJ,kBAGW,CAAAK,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,MAFTF,UAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,MACRA,UAAqB,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,CAAA;AAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;"}
1
+ {"version":3,"file":"menu-item2.mjs","sources":["../../../../../../packages/components/menu/src/menu-item.ts"],"sourcesContent":["import { buildProps, definePropType, isString } from '@element-ps/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { MenuItemRegistered } from './types'\n\nexport const menuItemProps = buildProps({\n index: {\n type: definePropType<string | null>([String, null]),\n default: null,\n },\n route: {\n type: definePropType<RouteLocationRaw>([String, Object]),\n },\n disabled: Boolean,\n} as const)\nexport type MenuItemProps = ExtractPropTypes<typeof menuItemProps>\n\nexport const menuItemEmits = {\n click: (item: MenuItemRegistered) =>\n isString(item.index) && Array.isArray(item.indexPath),\n}\nexport type MenuItemEmits = typeof menuItemEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AACxE;;;;"}
@@ -5,13 +5,14 @@ export declare const menuProps: {
5
5
  readonly defaultOpeneds: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string[]>, () => [], unknown, unknown, unknown>;
6
6
  readonly uniqueOpened: BooleanConstructor;
7
7
  readonly router: BooleanConstructor;
8
- readonly menuTrigger: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "hover", unknown, "click" | "hover", unknown>;
8
+ readonly menuTrigger: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "hover", unknown, "hover" | "click", unknown>;
9
9
  readonly collapse: BooleanConstructor;
10
10
  readonly backgroundColor: StringConstructor;
11
11
  readonly textColor: StringConstructor;
12
12
  readonly activeTextColor: StringConstructor;
13
13
  readonly collapseTransition: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
14
14
  readonly ellipsis: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
15
+ readonly widget: StringConstructor;
15
16
  };
16
17
  export declare type MenuProps = ExtractPropTypes<typeof menuProps>;
17
18
  declare const _default: import("vue").DefineComponent<{
@@ -20,13 +21,14 @@ declare const _default: import("vue").DefineComponent<{
20
21
  readonly defaultOpeneds: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string[]>, () => [], unknown, unknown, unknown>;
21
22
  readonly uniqueOpened: BooleanConstructor;
22
23
  readonly router: BooleanConstructor;
23
- readonly menuTrigger: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "hover", unknown, "click" | "hover", unknown>;
24
+ readonly menuTrigger: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "hover", unknown, "hover" | "click", unknown>;
24
25
  readonly collapse: BooleanConstructor;
25
26
  readonly backgroundColor: StringConstructor;
26
27
  readonly textColor: StringConstructor;
27
28
  readonly activeTextColor: StringConstructor;
28
29
  readonly collapseTransition: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
29
30
  readonly ellipsis: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
31
+ readonly widget: StringConstructor;
30
32
  }, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
31
33
  [key: string]: any;
32
34
  }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
@@ -35,20 +37,21 @@ declare const _default: import("vue").DefineComponent<{
35
37
  readonly defaultOpeneds: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string[]>, () => [], unknown, unknown, unknown>;
36
38
  readonly uniqueOpened: BooleanConstructor;
37
39
  readonly router: BooleanConstructor;
38
- readonly menuTrigger: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "hover", unknown, "click" | "hover", unknown>;
40
+ readonly menuTrigger: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "hover", unknown, "hover" | "click", unknown>;
39
41
  readonly collapse: BooleanConstructor;
40
42
  readonly backgroundColor: StringConstructor;
41
43
  readonly textColor: StringConstructor;
42
44
  readonly activeTextColor: StringConstructor;
43
45
  readonly collapseTransition: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
44
46
  readonly ellipsis: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
47
+ readonly widget: StringConstructor;
45
48
  }>>, {
46
49
  ellipsis: import("element-ps/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
47
50
  collapse: boolean;
48
51
  mode: import("element-ps/es/utils").BuildPropType<StringConstructor, "horizontal" | "vertical", unknown>;
49
52
  defaultActive: string;
50
53
  defaultOpeneds: string[];
51
- menuTrigger: import("element-ps/es/utils").BuildPropType<StringConstructor, "click" | "hover", unknown>;
54
+ menuTrigger: import("element-ps/es/utils").BuildPropType<StringConstructor, "hover" | "click", unknown>;
52
55
  collapseTransition: import("element-ps/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
53
56
  uniqueOpened: boolean;
54
57
  router: boolean;
@@ -1,4 +1,5 @@
1
- import { defineComponent, getCurrentInstance, ref, computed, provide, reactive, onMounted, h } from 'vue';
1
+ import { defineComponent, getCurrentInstance, ref, computed, nextTick, watch, provide, reactive, onMounted, withDirectives, h } from 'vue';
2
+ import '../../../directives/index.mjs';
2
3
  import { PsIcon } from '../../icon/index.mjs';
3
4
  import { More } from '@element-plus/icons-vue';
4
5
  import '../../../utils/index.mjs';
@@ -9,7 +10,9 @@ import SubMenu from './sub-menu.mjs';
9
10
  import { useMenuCssVar } from './use-menu-css-var.mjs';
10
11
  import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
11
12
  import { mutable } from '../../../utils/typescript.mjs';
13
+ import { isString } from '@vue/shared';
12
14
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
15
+ import Resize from '../../../directives/resize/index.mjs';
13
16
 
14
17
  const menuProps = buildProps({
15
18
  mode: {
@@ -43,13 +46,16 @@ const menuProps = buildProps({
43
46
  ellipsis: {
44
47
  type: Boolean,
45
48
  default: true
46
- }
49
+ },
50
+ widget: String
47
51
  });
52
+ const checkIndexPath = (indexPath) => Array.isArray(indexPath) && indexPath.every((path) => isString(path));
48
53
  var Menu = defineComponent({
49
54
  name: "PsMenu",
50
55
  props: menuProps,
51
- setup(props, { slots }) {
56
+ setup(props, { slots, expose }) {
52
57
  const instance = getCurrentInstance();
58
+ const router = instance.appContext.config.globalProperties.$router;
53
59
  const menu = ref();
54
60
  const nsMenu = useNamespace("menu");
55
61
  const nsSubMenu = useNamespace("sub-menu");
@@ -64,18 +70,82 @@ var Menu = defineComponent({
64
70
  const activeItem = activeIndex.value && items.value[activeIndex.value];
65
71
  if (!activeItem || props.mode === "horizontal" || props.collapse)
66
72
  return;
73
+ const indexPath = activeItem.indexPath;
74
+ indexPath.forEach((index) => {
75
+ const subMenu = subMenus.value[index];
76
+ subMenu && openMenu(index, subMenu.indexPath);
77
+ });
67
78
  };
79
+ const openMenu = (index, indexPath) => {
80
+ if (openedMenus.value.includes(index))
81
+ return;
82
+ if (props.uniqueOpened) {
83
+ openedMenus.value = openedMenus.value.filter((index2) => indexPath.includes(index2));
84
+ }
85
+ openedMenus.value.push(index);
86
+ };
87
+ const closeMenu = (index, indexPath) => {
88
+ const i = openedMenus.value.indexOf(index);
89
+ if (i !== -1) {
90
+ openedMenus.value.splice(i, 1);
91
+ }
92
+ };
93
+ const updateActiveIndex = (val) => {
94
+ const itemsInData = items.value;
95
+ const item = itemsInData[val] || activeIndex.value && itemsInData[activeIndex.value] || itemsInData[props.defaultActive];
96
+ if (item) {
97
+ activeIndex.value = item.index;
98
+ initMenu();
99
+ } else {
100
+ activeIndex.value = val;
101
+ }
102
+ };
103
+ const handleResize = () => {
104
+ nextTick(() => instance.proxy.$forceUpdate());
105
+ };
106
+ watch(() => props.defaultActive, (currentActive) => {
107
+ if (!items.value[currentActive]) {
108
+ activeIndex.value = "";
109
+ }
110
+ updateActiveIndex(currentActive);
111
+ });
112
+ watch(items.value, () => initMenu());
113
+ watch(() => props.collapse, (value) => {
114
+ if (value)
115
+ openedMenus.value = [];
116
+ });
68
117
  {
118
+ const addSubMenu = (item) => {
119
+ subMenus.value[item.index] = item;
120
+ };
121
+ const removeSubMenu = (item) => {
122
+ delete subMenus.value[item.index];
123
+ };
124
+ const addMenuItem = (item) => {
125
+ items.value[item.index] = item;
126
+ };
127
+ const removeMenuItem = (item) => {
128
+ delete items.value[item.index];
129
+ };
69
130
  provide("rootMenu", reactive({
70
131
  props,
71
132
  openedMenus,
72
133
  items,
73
134
  subMenus,
74
135
  activeIndex,
75
- isMenuPopup
136
+ isMenuPopup,
137
+ addMenuItem,
138
+ removeMenuItem,
139
+ addSubMenu,
140
+ removeSubMenu,
141
+ openMenu,
142
+ closeMenu
76
143
  }));
77
144
  provide(`subMenu:${instance.uid}`, {
78
- mouseInChild: ref(false)
145
+ addSubMenu,
146
+ removeSubMenu,
147
+ mouseInChild: ref(false),
148
+ level: 0
79
149
  });
80
150
  }
81
151
  onMounted(() => {
@@ -84,6 +154,17 @@ var Menu = defineComponent({
84
154
  new Menu$1(instance.vnode.el, nsMenu.namespace.value);
85
155
  }
86
156
  });
157
+ {
158
+ const open = (index) => {
159
+ const { indexPath } = subMenus.value[index];
160
+ indexPath.forEach((i) => openMenu(i, indexPath));
161
+ };
162
+ expose({
163
+ open,
164
+ close: closeMenu,
165
+ handleResize
166
+ });
167
+ }
87
168
  const flattedChildren = (children) => {
88
169
  const vnodes = Array.isArray(children) ? children : [children];
89
170
  const result = [];
@@ -96,7 +177,7 @@ var Menu = defineComponent({
96
177
  });
97
178
  return result;
98
179
  };
99
- const useVNodeResize = (vnode) => vnode;
180
+ const useVNodeResize = (vnode) => props.mode === "horizontal" ? withDirectives(vnode, [[Resize, handleResize]]) : vnode;
100
181
  return () => {
101
182
  var _a, _b, _c, _d;
102
183
  let slot = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : [];
@@ -131,7 +212,7 @@ var Menu = defineComponent({
131
212
  }));
132
213
  }
133
214
  }
134
- const ulStyle = useMenuCssVar(props);
215
+ const ulStyle = useMenuCssVar(props, 0);
135
216
  const resizeMenu = (vNode) => props.ellipsis ? useVNodeResize(vNode) : vNode;
136
217
  const vMenu = resizeMenu(h("ul", {
137
218
  key: String(props.collapse),
@@ -140,7 +221,7 @@ var Menu = defineComponent({
140
221
  style: ulStyle.value,
141
222
  class: {
142
223
  [nsMenu.b()]: true,
143
- [nsMenu.m("horizontal")]: props.mode === "horizontal",
224
+ [nsMenu.m(props.mode)]: true,
144
225
  [nsMenu.m("collapse")]: props.collapse
145
226
  }
146
227
  }, [...slot, ...vShowMore]));
@@ -1 +1 @@
1
- {"version":3,"file":"menu.mjs","sources":["../../../../../../packages/components/menu/src/menu.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onMounted,\n provide,\n reactive,\n ref,\n} from 'vue'\nimport PsIcon from '@element-ps/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n mutable,\n} from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport Menubar from './utils/menu-bar'\nimport PsMenuCollapseTransition from './menu-collapse-transition.vue'\nimport PsSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { MenuProvider, SubMenuProvider } from './types'\nimport type { ExtractPropTypes, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport const menuProps = buildProps({\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n defaultActive: {\n type: String,\n default: '',\n },\n defaultOpeneds: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n ellipsis: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type MenuProps = ExtractPropTypes<typeof menuProps>\n\nexport default defineComponent({\n name: 'PsMenu',\n props: menuProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance()!\n const menu = ref<HTMLUListElement>()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const openedMenus = ref<MenuProvider['openedMenus']>(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref<MenuProvider['activeIndex']>(props.defaultActive)\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n // computed\n const isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n }\n\n // provide\n {\n provide<MenuProvider>(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n })\n )\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n mouseInChild: ref(false),\n })\n }\n\n // lifecycle\n onMounted(() => {\n initMenu()\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n const flattedChildren = (children: VNodeNormalizedChildren) => {\n const vnodes = Array.isArray(children) ? children : [children]\n const result: any[] = []\n vnodes.forEach((child: any) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n }\n })\n return result\n }\n\n const useVNodeResize = (vnode: VNode) => vnode\n return () => {\n let slot = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue\n ) as HTMLElement[]\n const originalSlot = flattedChildren(slot)\n const moreItemWidth = 64\n const paddingLeft = Number.parseInt(\n getComputedStyle(menu.value).paddingLeft,\n 10\n )\n const paddingRight = Number.parseInt(\n getComputedStyle(menu.value).paddingRight,\n 10\n )\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n const slotDefault = originalSlot.slice(0, sliceIndex)\n const slotMore = originalSlot.slice(sliceIndex)\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n PsSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n },\n {\n title: () =>\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n { default: () => h(More) }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const ulStyle = useMenuCssVar(props)\n\n const resizeMenu = (vNode: VNode) =>\n props.ellipsis ? useVNodeResize(vNode) : vNode\n\n const vMenu = resizeMenu(\n h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m('horizontal')]: props.mode === 'horizontal',\n [nsMenu.m('collapse')]: props.collapse,\n },\n },\n [...slot, ...vShowMore]\n )\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(PsMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n"],"names":["Menubar","PsSubMenu"],"mappings":"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"}
1
+ {"version":3,"file":"menu.mjs","sources":["../../../../../../packages/components/menu/src/menu.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n withDirectives,\n} from 'vue'\nimport { Resize } from '@element-ps/directives'\nimport PsIcon from '@element-ps/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n isObject,\n isString,\n mutable,\n} from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport Menubar from './utils/menu-bar'\nimport PsMenuCollapseTransition from './menu-collapse-transition.vue'\nimport PsSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { MenuItemClicked, MenuProvider, SubMenuProvider } from './types'\nimport type { NavigationFailure, Router } from 'vue-router'\nimport type { ExtractPropTypes, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport const menuProps = buildProps({\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n defaultActive: {\n type: String,\n default: '',\n },\n defaultOpeneds: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n ellipsis: {\n type: Boolean,\n default: true,\n },\n widget: String\n} as const)\nexport type MenuProps = ExtractPropTypes<typeof menuProps>\n\nconst checkIndexPath = (indexPath: unknown): indexPath is string[] =>\n Array.isArray(indexPath) && indexPath.every((path) => isString(path))\n\n\nexport default defineComponent({\n name: 'PsMenu',\n\n props: menuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const menu = ref<HTMLUListElement>()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const openedMenus = ref<MenuProvider['openedMenus']>(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref<MenuProvider['activeIndex']>(props.defaultActive)\n const items = ref<MenuProvider['items']>({})\n const subMenus = ref<MenuProvider['subMenus']>({})\n\n // computed\n const isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n\n const indexPath = activeItem.indexPath\n\n // 展开该菜单项的路径上所有子菜单\n // expand all subMenus of the menu item\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index]\n subMenu && openMenu(index, subMenu.indexPath)\n })\n }\n\n const openMenu: MenuProvider['openMenu'] = (index, indexPath) => {\n if (openedMenus.value.includes(index)) return\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) =>\n indexPath.includes(index)\n )\n }\n openedMenus.value.push(index)\n }\n\n const closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index)\n if (i !== -1) {\n openedMenus.value.splice(i, 1)\n }\n }\n\n const updateActiveIndex = (val: string) => {\n const itemsInData = items.value\n const item =\n itemsInData[val] ||\n (activeIndex.value && itemsInData[activeIndex.value]) ||\n itemsInData[props.defaultActive]\n\n if (item) {\n activeIndex.value = item.index\n initMenu()\n } else {\n activeIndex.value = val\n }\n }\n const handleResize = () => {\n nextTick(() => instance.proxy!.$forceUpdate())\n }\n\n watch(\n () => props.defaultActive,\n (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = ''\n }\n updateActiveIndex(currentActive)\n }\n )\n\n watch(items.value, () => initMenu())\n\n watch(\n () => props.collapse,\n (value) => {\n if (value) openedMenus.value = []\n }\n )\n\n // provide\n {\n const addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n\n const removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n\n const addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item\n }\n\n const removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index]\n }\n provide<MenuProvider>(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n })\n )\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n level: 0,\n })\n }\n\n // lifecycle\n onMounted(() => {\n initMenu()\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n {\n const open = (index: string) => {\n const { indexPath } = subMenus.value[index]\n indexPath.forEach((i) => openMenu(i, indexPath))\n }\n expose({\n open,\n close: closeMenu,\n handleResize,\n })\n }\n\n const flattedChildren = (children: VNodeNormalizedChildren) => {\n const vnodes = Array.isArray(children) ? children : [children]\n const result: any[] = []\n vnodes.forEach((child: any) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n }\n })\n return result\n }\n\n const useVNodeResize = (vnode: VNode) =>\n props.mode === 'horizontal'\n ? withDirectives(vnode, [[Resize, handleResize]])\n : vnode\n return () => {\n let slot = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue\n ) as HTMLElement[]\n const originalSlot = flattedChildren(slot)\n const moreItemWidth = 64\n const paddingLeft = Number.parseInt(\n getComputedStyle(menu.value).paddingLeft,\n 10\n )\n const paddingRight = Number.parseInt(\n getComputedStyle(menu.value).paddingRight,\n 10\n )\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n const slotDefault = originalSlot.slice(0, sliceIndex)\n const slotMore = originalSlot.slice(sliceIndex)\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n PsSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n },\n {\n title: () =>\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n { default: () => h(More) }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const ulStyle = useMenuCssVar(props, 0)\n\n const resizeMenu = (vNode: VNode) =>\n props.ellipsis ? useVNodeResize(vNode) : vNode\n\n const vMenu = resizeMenu(\n h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m('collapse')]: props.collapse,\n },\n },\n [...slot, ...vShowMore]\n )\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(PsMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n"],"names":["Menubar","PsSubMenu"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, getCurrentInstance, computed, inject, ref, provide, h, Fragment, withDirectives, vShow } from 'vue';
1
+ import { defineComponent, getCurrentInstance, computed, inject, ref, reactive, watch, provide, onMounted, onBeforeUnmount, h, Fragment, withDirectives, vShow } from 'vue';
2
2
  import _CollapseTransition from '../../collapse-transition/index.mjs';
3
3
  import { PsTooltip } from '../../tooltip/index.mjs';
4
4
  import '../../../utils/index.mjs';
@@ -41,7 +41,7 @@ var SubMenu = defineComponent({
41
41
  props: subMenuProps,
42
42
  setup(props, { slots, expose }) {
43
43
  const instance = getCurrentInstance();
44
- const { paddingStyle, parentMenu } = useMenu(instance, computed(() => props.index));
44
+ const { indexPath, parentMenu } = useMenu(instance, computed(() => props.index));
45
45
  const nsMenu = useNamespace("menu");
46
46
  const nsSubMenu = useNamespace("sub-menu");
47
47
  const rootMenu = inject("rootMenu");
@@ -52,6 +52,7 @@ var SubMenu = defineComponent({
52
52
  throwError(COMPONENT_NAME, "can not inject sub menu");
53
53
  const items = ref({});
54
54
  const subMenus = ref({});
55
+ let timeout;
55
56
  const mouseInChild = ref(false);
56
57
  const verticalTitleRef = ref();
57
58
  const vPopper = ref(null);
@@ -60,17 +61,7 @@ var SubMenu = defineComponent({
60
61
  return mode.value === "horizontal" && isFirstLevel.value || mode.value === "vertical" && !rootMenu.props.collapse ? ArrowDown : ArrowRight;
61
62
  });
62
63
  const isFirstLevel = computed(() => {
63
- let isFirstLevel2 = true;
64
- let parent = instance.parent;
65
- while (parent && parent.type.name !== "PsMenu") {
66
- if (["PsSubMenu", "PsMenuItemGroup"].includes(parent.type.name)) {
67
- isFirstLevel2 = false;
68
- break;
69
- } else {
70
- parent = parent.parent;
71
- }
72
- }
73
- return isFirstLevel2;
64
+ return subMenu.level === 0;
74
65
  });
75
66
  const appendToBody = computed(() => {
76
67
  return props.popperAppendToBody === void 0 ? isFirstLevel.value : Boolean(props.popperAppendToBody);
@@ -94,8 +85,8 @@ var SubMenu = defineComponent({
94
85
  const opened = computed(() => rootMenu.openedMenus.includes(props.index));
95
86
  const active = computed(() => {
96
87
  let isActive = false;
97
- Object.values(items.value).forEach((item) => {
98
- if (item.active) {
88
+ Object.values(items.value).forEach((item2) => {
89
+ if (item2.active) {
99
90
  isActive = true;
100
91
  }
101
92
  });
@@ -110,6 +101,11 @@ var SubMenu = defineComponent({
110
101
  const activeTextColor = computed(() => rootMenu.props.activeTextColor || "");
111
102
  const textColor = computed(() => rootMenu.props.textColor || "");
112
103
  const mode = computed(() => rootMenu.props.mode);
104
+ const item = reactive({
105
+ index: props.index,
106
+ indexPath,
107
+ active
108
+ });
113
109
  const titleStyle = computed(() => {
114
110
  if (mode.value !== "horizontal") {
115
111
  return {
@@ -121,14 +117,41 @@ var SubMenu = defineComponent({
121
117
  color: active.value ? activeTextColor.value : textColor.value
122
118
  };
123
119
  });
120
+ const doDestroy = () => {
121
+ var _a, _b, _c;
122
+ return (_c = (_b = (_a = vPopper.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.popperInstanceRef) == null ? void 0 : _c.destroy();
123
+ };
124
+ const handleCollapseToggle = (value) => {
125
+ if (!value) {
126
+ doDestroy();
127
+ }
128
+ };
129
+ watch(() => rootMenu.props.collapse, (value) => handleCollapseToggle(Boolean(value)));
124
130
  {
131
+ const addSubMenu = (item2) => {
132
+ subMenus.value[item2.index] = item2;
133
+ };
134
+ const removeSubMenu = (item2) => {
135
+ delete subMenus.value[item2.index];
136
+ };
125
137
  provide(`subMenu:${instance.uid}`, {
126
- mouseInChild
138
+ addSubMenu,
139
+ removeSubMenu,
140
+ mouseInChild,
141
+ level: subMenu.level + 1
127
142
  });
128
143
  }
129
144
  expose({
130
145
  opened
131
146
  });
147
+ onMounted(() => {
148
+ rootMenu.addSubMenu(item);
149
+ subMenu.addSubMenu(item);
150
+ });
151
+ onBeforeUnmount(() => {
152
+ subMenu.removeSubMenu(item);
153
+ rootMenu.removeSubMenu(item);
154
+ });
132
155
  return () => {
133
156
  var _a;
134
157
  const titleTag = [
@@ -137,7 +160,7 @@ var SubMenu = defineComponent({
137
160
  class: nsSubMenu.e("icon-arrow")
138
161
  }, { default: () => h(subMenuTitleIcon.value) })
139
162
  ];
140
- const ulStyle = useMenuCssVar(rootMenu.props);
163
+ const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);
141
164
  const child = rootMenu.isMenuPopup ? h(PsTooltip, {
142
165
  ref: vPopper,
143
166
  visible: opened.value,
@@ -156,7 +179,11 @@ var SubMenu = defineComponent({
156
179
  content: () => {
157
180
  var _a2;
158
181
  return h("div", {
159
- class: [nsMenu.m(mode.value), props.popperClass]
182
+ class: [
183
+ nsMenu.m(mode.value),
184
+ nsMenu.m("popup-container"),
185
+ props.popperClass
186
+ ]
160
187
  }, [
161
188
  h("ul", {
162
189
  class: [
@@ -171,7 +198,6 @@ var SubMenu = defineComponent({
171
198
  default: () => h("div", {
172
199
  class: nsSubMenu.e("title"),
173
200
  style: [
174
- paddingStyle.value,
175
201
  titleStyle.value,
176
202
  { backgroundColor: backgroundColor.value }
177
203
  ]
@@ -180,7 +206,6 @@ var SubMenu = defineComponent({
180
206
  h("div", {
181
207
  class: nsSubMenu.e("title"),
182
208
  style: [
183
- paddingStyle.value,
184
209
  titleStyle.value,
185
210
  { backgroundColor: backgroundColor.value }
186
211
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.mjs","sources":["../../../../../../packages/components/menu/src/sub-menu.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n provide,\n ref,\n vShow,\n withDirectives,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport PsCollapseTransition from '@element-ps/components/collapse-transition'\nimport PsTooltip from '@element-ps/components/tooltip'\nimport { buildProps, throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { Placement } from '@element-ps/components/popper'\nimport type { CSSProperties, ExtractPropTypes, VNodeArrayChildren } from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n index: {\n type: String,\n required: true,\n },\n showTimeout: {\n type: Number,\n default: 300,\n },\n hideTimeout: {\n type: Number,\n default: 300,\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n popperOffset: {\n type: Number,\n default: 6,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>\n\nconst COMPONENT_NAME = 'PsSubMenu'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const { paddingStyle, 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>('rootMenu')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`)\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 const mouseInChild = ref(false)\n const verticalTitleRef = ref<HTMLDivElement>()\n const vPopper = ref<InstanceType<typeof PsTooltip> | null>(null)\n\n // computed\n const currentPlacement = computed<Placement>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n return (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? ArrowDown\n : ArrowRight\n })\n const isFirstLevel = computed(() => {\n let isFirstLevel = true\n let parent = instance.parent\n while (parent && parent.type.name !== 'PsMenu') {\n if (['PsSubMenu', 'PsMenuItemGroup'].includes(parent.type.name!)) {\n isFirstLevel = false\n break\n } else {\n parent = parent.parent\n }\n }\n return isFirstLevel\n })\n const appendToBody = computed(() => {\n return props.popperAppendToBody === undefined\n ? isFirstLevel.value\n : Boolean(props.popperAppendToBody)\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 '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 let isActive = false\n\n Object.values(items.value).forEach((item) => {\n if (item.active) {\n isActive = true\n }\n })\n\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true\n }\n })\n\n return isActive\n })\n\n const backgroundColor = computed(() => rootMenu.props.backgroundColor || '')\n const activeTextColor = computed(() => rootMenu.props.activeTextColor || '')\n const textColor = computed(() => rootMenu.props.textColor || '')\n const mode = computed(() => rootMenu.props.mode)\n\n const titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value,\n }\n }\n return {\n borderBottomColor: active.value\n ? rootMenu.props.activeTextColor\n ? activeTextColor.value\n : ''\n : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value,\n }\n })\n\n // provide\n {\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n mouseInChild,\n })\n }\n\n // expose\n expose({\n opened,\n })\n\n return () => {\n const titleTag: VNodeArrayChildren = [\n slots.title?.(),\n h(\n PsIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n },\n { default: () => h(subMenuTitleIcon.value) }\n ),\n ]\n\n const ulStyle = useMenuCssVar(rootMenu.props)\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n // temporarily mark PsPopper as any due to type inconsistency.\n const child = rootMenu.isMenuPopup\n ? h(\n // TODO: correct popper's type.\n PsTooltip as any,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: props.popperClass,\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: [nsMenu.m(mode.value), props.popperClass],\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 style: [\n paddingStyle.value,\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [\n paddingStyle.value,\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n ref: verticalTitleRef,\n },\n titleTag\n ),\n h(\n PsCollapseTransition,\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 },\n [child]\n )\n }\n },\n})\n"],"names":["PsCollapseTransition"],"mappings":"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"}
1
+ {"version":3,"file":"sub-menu.mjs","sources":["../../../../../../packages/components/menu/src/sub-menu.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\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 PsCollapseTransition from '@element-ps/components/collapse-transition'\nimport PsTooltip from '@element-ps/components/tooltip'\nimport { buildProps, throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { Placement } from '@element-ps/components/popper'\nimport type { CSSProperties, ExtractPropTypes, VNodeArrayChildren } from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n index: {\n type: String,\n required: true,\n },\n showTimeout: {\n type: Number,\n default: 300,\n },\n hideTimeout: {\n type: Number,\n default: 300,\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n popperOffset: {\n type: Number,\n default: 6,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>\n\nconst COMPONENT_NAME = 'PsSubMenu'\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>('rootMenu')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`)\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<InstanceType<typeof PsTooltip> | null>(null)\n\n // computed\n const currentPlacement = computed<Placement>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n return (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? ArrowDown\n : ArrowRight\n })\n const isFirstLevel = computed(() => {\n return subMenu.level === 0\n })\n const appendToBody = computed(() => {\n return props.popperAppendToBody === undefined\n ? isFirstLevel.value\n : Boolean(props.popperAppendToBody)\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 '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 let isActive = false\n\n Object.values(items.value).forEach((item) => {\n if (item.active) {\n isActive = true\n }\n })\n\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true\n }\n })\n\n return isActive\n })\n\n const backgroundColor = computed(() => rootMenu.props.backgroundColor || '')\n const activeTextColor = computed(() => rootMenu.props.activeTextColor || '')\n const textColor = computed(() => rootMenu.props.textColor || '')\n const mode = computed(() => rootMenu.props.mode)\n const item = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value,\n }\n }\n return {\n borderBottomColor: active.value\n ? rootMenu.props.activeTextColor\n ? activeTextColor.value\n : ''\n : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value,\n }\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 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>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\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 PsIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n },\n { default: () => h(subMenuTitleIcon.value) }\n ),\n ]\n\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1)\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n // temporarily mark PsPopper as any due to type inconsistency.\n const child = rootMenu.isMenuPopup\n ? h(\n // TODO: correct popper's type.\n PsTooltip as any,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: props.popperClass,\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 props.popperClass,\n ],\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 style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value },\n ],\n ref: verticalTitleRef,\n },\n titleTag\n ),\n h(\n PsCollapseTransition,\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 },\n [child]\n )\n }\n },\n})\n"],"names":["PsCollapseTransition"],"mappings":"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"}