element-ps 2.0.30 → 2.0.31

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 (386) hide show
  1. package/dist/index.full.js +124 -9
  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 +124 -9
  7. package/es/components/affix/index.mjs +2 -2
  8. package/es/components/affix/src/affix.mjs +82 -19
  9. package/es/components/affix/src/affix.mjs.map +1 -1
  10. package/es/components/affix/src/affix2.mjs +19 -82
  11. package/es/components/affix/src/affix2.mjs.map +1 -1
  12. package/es/components/autocomplete/index.d.ts +5 -5
  13. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  14. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  15. package/es/components/badge/index.mjs +2 -2
  16. package/es/components/badge/src/badge.mjs +54 -17
  17. package/es/components/badge/src/badge.mjs.map +1 -1
  18. package/es/components/badge/src/badge2.mjs +17 -54
  19. package/es/components/badge/src/badge2.mjs.map +1 -1
  20. package/es/components/breadcrumb/index.mjs +2 -2
  21. package/es/components/breadcrumb/src/breadcrumb-item.mjs +46 -11
  22. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  23. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +11 -46
  24. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  25. package/es/components/button/index.mjs +1 -1
  26. package/es/components/button/src/button-group.mjs +5 -30
  27. package/es/components/button/src/button-group.mjs.map +1 -1
  28. package/es/components/button/src/button-group2.mjs +30 -5
  29. package/es/components/button/src/button-group2.mjs.map +1 -1
  30. package/es/components/calendar/index.mjs +2 -2
  31. package/es/components/calendar/src/calendar.mjs +9 -188
  32. package/es/components/calendar/src/calendar.mjs.map +1 -1
  33. package/es/components/calendar/src/calendar2.mjs +188 -9
  34. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  35. package/es/components/calendar/src/date-table.mjs +27 -146
  36. package/es/components/calendar/src/date-table.mjs.map +1 -1
  37. package/es/components/calendar/src/date-table2.mjs +146 -27
  38. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  39. package/es/components/cascader/src/index.mjs +1 -1
  40. package/es/components/dropdown/index.d.ts +3 -3
  41. package/es/components/dropdown/index.mjs +2 -2
  42. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  43. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  44. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  45. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  46. package/es/components/dropdown/src/dropdown.mjs +100 -109
  47. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  48. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -3
  49. package/es/components/dropdown/src/dropdown2.mjs +109 -100
  50. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  51. package/es/components/empty/index.mjs +2 -2
  52. package/es/components/empty/src/empty.mjs +11 -56
  53. package/es/components/empty/src/empty.mjs.map +1 -1
  54. package/es/components/empty/src/empty2.mjs +56 -11
  55. package/es/components/empty/src/empty2.mjs.map +1 -1
  56. package/es/components/icon/index.mjs +2 -2
  57. package/es/components/icon/src/icon.mjs +35 -8
  58. package/es/components/icon/src/icon.mjs.map +1 -1
  59. package/es/components/icon/src/icon2.mjs +8 -35
  60. package/es/components/icon/src/icon2.mjs.map +1 -1
  61. package/es/components/image/index.mjs +2 -2
  62. package/es/components/image/src/image.mjs +127 -50
  63. package/es/components/image/src/image.mjs.map +1 -1
  64. package/es/components/image/src/image2.mjs +50 -127
  65. package/es/components/image/src/image2.mjs.map +1 -1
  66. package/es/components/index.mjs +22 -22
  67. package/es/components/input/index.mjs +2 -2
  68. package/es/components/input/src/input.mjs +295 -85
  69. package/es/components/input/src/input.mjs.map +1 -1
  70. package/es/components/input/src/input2.mjs +85 -295
  71. package/es/components/input/src/input2.mjs.map +1 -1
  72. package/es/components/menu/index.d.ts +5 -3
  73. package/es/components/menu/src/menu-item2.mjs +9 -1
  74. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  75. package/es/components/menu/src/menu.d.ts +7 -4
  76. package/es/components/menu/src/menu.mjs +86 -6
  77. package/es/components/menu/src/menu.mjs.map +1 -1
  78. package/es/components/menu/src/sub-menu.mjs +35 -4
  79. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  80. package/es/components/menu/src/types.d.ts +8 -0
  81. package/es/components/popconfirm/index.mjs +2 -2
  82. package/es/components/popconfirm/src/popconfirm.mjs +20 -53
  83. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  84. package/es/components/popconfirm/src/popconfirm2.mjs +53 -20
  85. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  86. package/es/components/popover/index.d.ts +6 -6
  87. package/es/components/popover/src/index.vue.d.ts +3 -3
  88. package/es/components/popover/src/popover.d.ts +1 -1
  89. package/es/components/popover/src/popover.mjs +2 -2
  90. package/es/components/popper/index.mjs +2 -2
  91. package/es/components/popper/src/arrow.mjs +31 -7
  92. package/es/components/popper/src/arrow.mjs.map +1 -1
  93. package/es/components/popper/src/arrow2.mjs +7 -31
  94. package/es/components/popper/src/arrow2.mjs.map +1 -1
  95. package/es/components/radio/index.mjs +4 -4
  96. package/es/components/radio/src/radio-button.mjs +1 -1
  97. package/es/components/radio/src/radio-button2.mjs +1 -1
  98. package/es/components/radio/src/radio-group.mjs +37 -18
  99. package/es/components/radio/src/radio-group.mjs.map +1 -1
  100. package/es/components/radio/src/radio-group2.mjs +18 -37
  101. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  102. package/es/components/radio/src/radio.mjs +74 -62
  103. package/es/components/radio/src/radio.mjs.map +1 -1
  104. package/es/components/radio/src/radio2.mjs +62 -74
  105. package/es/components/radio/src/radio2.mjs.map +1 -1
  106. package/es/components/rate/index.mjs +2 -2
  107. package/es/components/rate/src/rate.mjs +84 -169
  108. package/es/components/rate/src/rate.mjs.map +1 -1
  109. package/es/components/rate/src/rate2.mjs +169 -84
  110. package/es/components/rate/src/rate2.mjs.map +1 -1
  111. package/es/components/result/index.mjs +2 -2
  112. package/es/components/result/src/result.mjs +28 -73
  113. package/es/components/result/src/result.mjs.map +1 -1
  114. package/es/components/result/src/result2.mjs +73 -28
  115. package/es/components/result/src/result2.mjs.map +1 -1
  116. package/es/components/roving-focus-group/index.mjs +3 -3
  117. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  118. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
  119. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  120. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
  121. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  122. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  123. package/es/components/scrollbar/index.mjs +3 -3
  124. package/es/components/scrollbar/src/bar.mjs +35 -22
  125. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  126. package/es/components/scrollbar/src/bar2.mjs +22 -35
  127. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  128. package/es/components/scrollbar/src/scrollbar.mjs +112 -42
  129. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  130. package/es/components/scrollbar/src/scrollbar2.mjs +42 -112
  131. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  132. package/es/components/scrollbar/src/thumb.mjs +11 -59
  133. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  134. package/es/components/scrollbar/src/thumb2.mjs +59 -11
  135. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  136. package/es/components/select/index.d.ts +5 -5
  137. package/es/components/select/src/select.mjs +1 -1
  138. package/es/components/select/src/select.vue.d.ts +5 -5
  139. package/es/components/select/src/useSelect.d.ts +5 -5
  140. package/es/components/select-v2/index.d.ts +10 -10
  141. package/es/components/select-v2/src/defaults.mjs +1 -1
  142. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  143. package/es/components/select-v2/src/select.vue.d.ts +5 -5
  144. package/es/components/select-v2/src/useSelect.d.ts +5 -5
  145. package/es/components/switch/index.mjs +2 -2
  146. package/es/components/switch/src/switch.mjs +176 -81
  147. package/es/components/switch/src/switch.mjs.map +1 -1
  148. package/es/components/switch/src/switch2.mjs +81 -176
  149. package/es/components/switch/src/switch2.mjs.map +1 -1
  150. package/es/components/table/index.d.ts +1 -1
  151. package/es/components/table/src/filter-panel.vue.d.ts +5 -5
  152. package/es/components/table/src/table.vue.d.ts +1 -1
  153. package/es/components/tabs/index.mjs +1 -1
  154. package/es/components/tabs/src/tab-bar.mjs +76 -7
  155. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  156. package/es/components/tabs/src/tab-bar2.mjs +7 -76
  157. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  158. package/es/components/tabs/src/tab-nav.mjs +1 -1
  159. package/es/components/teleport/index.mjs +2 -2
  160. package/es/components/teleport/src/teleport.mjs +18 -43
  161. package/es/components/teleport/src/teleport.mjs.map +1 -1
  162. package/es/components/teleport/src/teleport2.mjs +43 -18
  163. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  164. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -5
  165. package/es/components/timeline/index.mjs +2 -2
  166. package/es/components/timeline/src/timeline-item.mjs +39 -73
  167. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  168. package/es/components/timeline/src/timeline-item2.mjs +73 -39
  169. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  170. package/es/components/tooltip/index.d.ts +3 -3
  171. package/es/components/tooltip/index.mjs +2 -2
  172. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  173. package/es/components/tooltip/src/tooltip.mjs +64 -51
  174. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  175. package/es/components/tooltip/src/tooltip.vue.d.ts +3 -3
  176. package/es/components/tooltip/src/tooltip2.mjs +51 -64
  177. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  178. package/es/components/tooltip/src/trigger.mjs +1 -1
  179. package/es/components/tooltip/src/trigger.vue.d.ts +3 -3
  180. package/es/components/tooltip-v2/index.mjs +3 -3
  181. package/es/components/tooltip-v2/src/arrow.mjs +38 -22
  182. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  183. package/es/components/tooltip-v2/src/arrow2.mjs +22 -38
  184. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  185. package/es/components/tooltip-v2/src/root.mjs +81 -17
  186. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  187. package/es/components/tooltip-v2/src/root2.mjs +17 -81
  188. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  189. package/es/components/tooltip-v2/src/tooltip.mjs +3 -3
  190. package/es/components/tooltip-v2/src/tooltip2.mjs +6 -6
  191. package/es/components/tooltip-v2/src/trigger.mjs +89 -11
  192. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  193. package/es/components/tooltip-v2/src/trigger2.mjs +11 -89
  194. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  195. package/es/index.mjs +22 -22
  196. package/lib/components/affix/index.js +2 -2
  197. package/lib/components/affix/src/affix.js +82 -19
  198. package/lib/components/affix/src/affix.js.map +1 -1
  199. package/lib/components/affix/src/affix2.js +19 -82
  200. package/lib/components/affix/src/affix2.js.map +1 -1
  201. package/lib/components/autocomplete/index.d.ts +5 -5
  202. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  203. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  204. package/lib/components/badge/index.js +2 -2
  205. package/lib/components/badge/src/badge.js +54 -17
  206. package/lib/components/badge/src/badge.js.map +1 -1
  207. package/lib/components/badge/src/badge2.js +17 -54
  208. package/lib/components/badge/src/badge2.js.map +1 -1
  209. package/lib/components/breadcrumb/index.js +2 -2
  210. package/lib/components/breadcrumb/src/breadcrumb-item.js +46 -11
  211. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  212. package/lib/components/breadcrumb/src/breadcrumb-item2.js +11 -46
  213. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  214. package/lib/components/button/index.js +1 -1
  215. package/lib/components/button/src/button-group.js +5 -30
  216. package/lib/components/button/src/button-group.js.map +1 -1
  217. package/lib/components/button/src/button-group2.js +30 -5
  218. package/lib/components/button/src/button-group2.js.map +1 -1
  219. package/lib/components/calendar/index.js +2 -2
  220. package/lib/components/calendar/src/calendar.js +9 -192
  221. package/lib/components/calendar/src/calendar.js.map +1 -1
  222. package/lib/components/calendar/src/calendar2.js +192 -9
  223. package/lib/components/calendar/src/calendar2.js.map +1 -1
  224. package/lib/components/calendar/src/date-table.js +30 -151
  225. package/lib/components/calendar/src/date-table.js.map +1 -1
  226. package/lib/components/calendar/src/date-table2.js +151 -30
  227. package/lib/components/calendar/src/date-table2.js.map +1 -1
  228. package/lib/components/cascader/src/index.js +1 -1
  229. package/lib/components/dropdown/index.d.ts +3 -3
  230. package/lib/components/dropdown/index.js +2 -2
  231. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  232. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  233. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  234. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  235. package/lib/components/dropdown/src/dropdown.js +109 -109
  236. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  237. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -3
  238. package/lib/components/dropdown/src/dropdown2.js +109 -109
  239. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  240. package/lib/components/empty/index.js +2 -2
  241. package/lib/components/empty/src/empty.js +11 -56
  242. package/lib/components/empty/src/empty.js.map +1 -1
  243. package/lib/components/empty/src/empty2.js +56 -11
  244. package/lib/components/empty/src/empty2.js.map +1 -1
  245. package/lib/components/icon/index.js +2 -2
  246. package/lib/components/icon/src/icon.js +35 -8
  247. package/lib/components/icon/src/icon.js.map +1 -1
  248. package/lib/components/icon/src/icon2.js +8 -35
  249. package/lib/components/icon/src/icon2.js.map +1 -1
  250. package/lib/components/image/index.js +2 -2
  251. package/lib/components/image/src/image.js +127 -50
  252. package/lib/components/image/src/image.js.map +1 -1
  253. package/lib/components/image/src/image2.js +50 -127
  254. package/lib/components/image/src/image2.js.map +1 -1
  255. package/lib/components/index.js +22 -22
  256. package/lib/components/input/index.js +2 -2
  257. package/lib/components/input/src/input.js +294 -84
  258. package/lib/components/input/src/input.js.map +1 -1
  259. package/lib/components/input/src/input2.js +84 -294
  260. package/lib/components/input/src/input2.js.map +1 -1
  261. package/lib/components/menu/index.d.ts +5 -3
  262. package/lib/components/menu/src/menu-item2.js +8 -0
  263. package/lib/components/menu/src/menu-item2.js.map +1 -1
  264. package/lib/components/menu/src/menu.d.ts +7 -4
  265. package/lib/components/menu/src/menu.js +87 -7
  266. package/lib/components/menu/src/menu.js.map +1 -1
  267. package/lib/components/menu/src/sub-menu.js +34 -3
  268. package/lib/components/menu/src/sub-menu.js.map +1 -1
  269. package/lib/components/menu/src/types.d.ts +8 -0
  270. package/lib/components/popconfirm/index.js +2 -2
  271. package/lib/components/popconfirm/src/popconfirm.js +20 -53
  272. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  273. package/lib/components/popconfirm/src/popconfirm2.js +53 -20
  274. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  275. package/lib/components/popover/index.d.ts +6 -6
  276. package/lib/components/popover/src/index.vue.d.ts +3 -3
  277. package/lib/components/popover/src/popover.d.ts +1 -1
  278. package/lib/components/popover/src/popover.js +2 -2
  279. package/lib/components/popper/index.js +2 -2
  280. package/lib/components/popper/src/arrow.js +31 -7
  281. package/lib/components/popper/src/arrow.js.map +1 -1
  282. package/lib/components/popper/src/arrow2.js +7 -31
  283. package/lib/components/popper/src/arrow2.js.map +1 -1
  284. package/lib/components/radio/index.js +4 -4
  285. package/lib/components/radio/src/radio-button.js +1 -1
  286. package/lib/components/radio/src/radio-button2.js +1 -1
  287. package/lib/components/radio/src/radio-group.js +37 -18
  288. package/lib/components/radio/src/radio-group.js.map +1 -1
  289. package/lib/components/radio/src/radio-group2.js +18 -37
  290. package/lib/components/radio/src/radio-group2.js.map +1 -1
  291. package/lib/components/radio/src/radio.js +73 -64
  292. package/lib/components/radio/src/radio.js.map +1 -1
  293. package/lib/components/radio/src/radio2.js +64 -73
  294. package/lib/components/radio/src/radio2.js.map +1 -1
  295. package/lib/components/rate/index.js +2 -2
  296. package/lib/components/rate/src/rate.js +84 -169
  297. package/lib/components/rate/src/rate.js.map +1 -1
  298. package/lib/components/rate/src/rate2.js +169 -84
  299. package/lib/components/rate/src/rate2.js.map +1 -1
  300. package/lib/components/result/index.js +2 -2
  301. package/lib/components/result/src/result.js +30 -73
  302. package/lib/components/result/src/result.js.map +1 -1
  303. package/lib/components/result/src/result2.js +73 -30
  304. package/lib/components/result/src/result2.js.map +1 -1
  305. package/lib/components/roving-focus-group/index.js +2 -2
  306. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  307. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
  308. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  309. package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
  310. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  311. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  312. package/lib/components/scrollbar/index.js +3 -3
  313. package/lib/components/scrollbar/src/bar.js +35 -22
  314. package/lib/components/scrollbar/src/bar.js.map +1 -1
  315. package/lib/components/scrollbar/src/bar2.js +22 -35
  316. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  317. package/lib/components/scrollbar/src/scrollbar.js +112 -42
  318. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  319. package/lib/components/scrollbar/src/scrollbar2.js +42 -112
  320. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  321. package/lib/components/scrollbar/src/thumb.js +11 -59
  322. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  323. package/lib/components/scrollbar/src/thumb2.js +59 -11
  324. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  325. package/lib/components/select/index.d.ts +5 -5
  326. package/lib/components/select/src/select.js +1 -1
  327. package/lib/components/select/src/select.vue.d.ts +5 -5
  328. package/lib/components/select/src/useSelect.d.ts +5 -5
  329. package/lib/components/select-v2/index.d.ts +10 -10
  330. package/lib/components/select-v2/src/defaults.js +1 -1
  331. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  332. package/lib/components/select-v2/src/select.vue.d.ts +5 -5
  333. package/lib/components/select-v2/src/useSelect.d.ts +5 -5
  334. package/lib/components/switch/index.js +2 -2
  335. package/lib/components/switch/src/switch.js +176 -81
  336. package/lib/components/switch/src/switch.js.map +1 -1
  337. package/lib/components/switch/src/switch2.js +81 -176
  338. package/lib/components/switch/src/switch2.js.map +1 -1
  339. package/lib/components/table/index.d.ts +1 -1
  340. package/lib/components/table/src/filter-panel.vue.d.ts +5 -5
  341. package/lib/components/table/src/table.vue.d.ts +1 -1
  342. package/lib/components/tabs/index.js +1 -1
  343. package/lib/components/tabs/src/tab-bar.js +76 -7
  344. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  345. package/lib/components/tabs/src/tab-bar2.js +7 -76
  346. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  347. package/lib/components/tabs/src/tab-nav.js +1 -1
  348. package/lib/components/teleport/index.js +2 -2
  349. package/lib/components/teleport/src/teleport.js +18 -43
  350. package/lib/components/teleport/src/teleport.js.map +1 -1
  351. package/lib/components/teleport/src/teleport2.js +43 -18
  352. package/lib/components/teleport/src/teleport2.js.map +1 -1
  353. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -5
  354. package/lib/components/timeline/index.js +2 -2
  355. package/lib/components/timeline/src/timeline-item.js +39 -73
  356. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  357. package/lib/components/timeline/src/timeline-item2.js +73 -39
  358. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  359. package/lib/components/tooltip/index.d.ts +3 -3
  360. package/lib/components/tooltip/index.js +2 -2
  361. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  362. package/lib/components/tooltip/src/tooltip.js +65 -50
  363. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  364. package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -3
  365. package/lib/components/tooltip/src/tooltip2.js +50 -65
  366. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  367. package/lib/components/tooltip/src/trigger.js +1 -1
  368. package/lib/components/tooltip/src/trigger.vue.d.ts +3 -3
  369. package/lib/components/tooltip-v2/index.js +3 -3
  370. package/lib/components/tooltip-v2/src/arrow.js +38 -23
  371. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  372. package/lib/components/tooltip-v2/src/arrow2.js +23 -38
  373. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  374. package/lib/components/tooltip-v2/src/root.js +81 -17
  375. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  376. package/lib/components/tooltip-v2/src/root2.js +17 -81
  377. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  378. package/lib/components/tooltip-v2/src/tooltip.js +3 -3
  379. package/lib/components/tooltip-v2/src/tooltip2.js +6 -6
  380. package/lib/components/tooltip-v2/src/trigger.js +89 -11
  381. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  382. package/lib/components/tooltip-v2/src/trigger2.js +11 -89
  383. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  384. package/lib/index.js +22 -22
  385. package/package.json +1 -1
  386. package/web-types.json +1 -1
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var index$1 = require('../../icon/index.js');
6
+ require('../../../directives/index.js');
7
+ var index$2 = require('../../icon/index.js');
7
8
  var iconsVue = require('@element-plus/icons-vue');
8
9
  require('../../../utils/index.js');
9
10
  require('../../../hooks/index.js');
@@ -13,7 +14,9 @@ var subMenu = require('./sub-menu.js');
13
14
  var useMenuCssVar = require('./use-menu-css-var.js');
14
15
  var props = require('../../../utils/vue/props.js');
15
16
  var typescript = require('../../../utils/typescript.js');
17
+ var shared = require('@vue/shared');
16
18
  var index = require('../../../hooks/use-namespace/index.js');
19
+ var index$1 = require('../../../directives/resize/index.js');
17
20
 
18
21
  const menuProps = props.buildProps({
19
22
  mode: {
@@ -47,12 +50,14 @@ const menuProps = props.buildProps({
47
50
  ellipsis: {
48
51
  type: Boolean,
49
52
  default: true
50
- }
53
+ },
54
+ widget: String
51
55
  });
56
+ const checkIndexPath = (indexPath) => Array.isArray(indexPath) && indexPath.every((path) => shared.isString(path));
52
57
  var Menu = vue.defineComponent({
53
58
  name: "PsMenu",
54
59
  props: menuProps,
55
- setup(props, { slots }) {
60
+ setup(props, { slots, expose }) {
56
61
  const instance = vue.getCurrentInstance();
57
62
  const menu = vue.ref();
58
63
  const nsMenu = index.useNamespace("menu");
@@ -68,17 +73,80 @@ var Menu = vue.defineComponent({
68
73
  const activeItem = activeIndex.value && items.value[activeIndex.value];
69
74
  if (!activeItem || props.mode === "horizontal" || props.collapse)
70
75
  return;
76
+ const indexPath = activeItem.indexPath;
77
+ indexPath.forEach((index) => {
78
+ const subMenu = subMenus.value[index];
79
+ subMenu && openMenu(index, subMenu.indexPath);
80
+ });
81
+ };
82
+ const openMenu = (index, indexPath) => {
83
+ if (openedMenus.value.includes(index))
84
+ return;
85
+ if (props.uniqueOpened) {
86
+ openedMenus.value = openedMenus.value.filter((index2) => indexPath.includes(index2));
87
+ }
88
+ openedMenus.value.push(index);
89
+ };
90
+ const closeMenu = (index, indexPath) => {
91
+ const i = openedMenus.value.indexOf(index);
92
+ if (i !== -1) {
93
+ openedMenus.value.splice(i, 1);
94
+ }
95
+ };
96
+ const updateActiveIndex = (val) => {
97
+ const itemsInData = items.value;
98
+ const item = itemsInData[val] || activeIndex.value && itemsInData[activeIndex.value] || itemsInData[props.defaultActive];
99
+ if (item) {
100
+ activeIndex.value = item.index;
101
+ initMenu();
102
+ } else {
103
+ activeIndex.value = val;
104
+ }
105
+ };
106
+ const handleResize = () => {
107
+ vue.nextTick(() => instance.proxy.$forceUpdate());
71
108
  };
109
+ vue.watch(() => props.defaultActive, (currentActive) => {
110
+ if (!items.value[currentActive]) {
111
+ activeIndex.value = "";
112
+ }
113
+ updateActiveIndex(currentActive);
114
+ });
115
+ vue.watch(items.value, () => initMenu());
116
+ vue.watch(() => props.collapse, (value) => {
117
+ if (value)
118
+ openedMenus.value = [];
119
+ });
72
120
  {
121
+ const addSubMenu = (item) => {
122
+ subMenus.value[item.index] = item;
123
+ };
124
+ const removeSubMenu = (item) => {
125
+ delete subMenus.value[item.index];
126
+ };
127
+ const addMenuItem = (item) => {
128
+ items.value[item.index] = item;
129
+ };
130
+ const removeMenuItem = (item) => {
131
+ delete items.value[item.index];
132
+ };
73
133
  vue.provide("rootMenu", vue.reactive({
74
134
  props,
75
135
  openedMenus,
76
136
  items,
77
137
  subMenus,
78
138
  activeIndex,
79
- isMenuPopup
139
+ isMenuPopup,
140
+ addMenuItem,
141
+ removeMenuItem,
142
+ addSubMenu,
143
+ removeSubMenu,
144
+ openMenu,
145
+ closeMenu
80
146
  }));
81
147
  vue.provide(`subMenu:${instance.uid}`, {
148
+ addSubMenu,
149
+ removeSubMenu,
82
150
  mouseInChild: vue.ref(false)
83
151
  });
84
152
  }
@@ -88,6 +156,17 @@ var Menu = vue.defineComponent({
88
156
  new menuBar["default"](instance.vnode.el, nsMenu.namespace.value);
89
157
  }
90
158
  });
159
+ {
160
+ const open = (index) => {
161
+ const { indexPath } = subMenus.value[index];
162
+ indexPath.forEach((i) => openMenu(i, indexPath));
163
+ };
164
+ expose({
165
+ open,
166
+ close: closeMenu,
167
+ handleResize
168
+ });
169
+ }
91
170
  const flattedChildren = (children) => {
92
171
  const vnodes = Array.isArray(children) ? children : [children];
93
172
  const result = [];
@@ -100,7 +179,7 @@ var Menu = vue.defineComponent({
100
179
  });
101
180
  return result;
102
181
  };
103
- const useVNodeResize = (vnode) => vnode;
182
+ const useVNodeResize = (vnode) => props.mode === "horizontal" ? vue.withDirectives(vnode, [[index$1["default"], handleResize]]) : vnode;
104
183
  return () => {
105
184
  var _a, _b, _c, _d;
106
185
  let slot = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : [];
@@ -128,7 +207,7 @@ var Menu = vue.defineComponent({
128
207
  index: "sub-menu-more",
129
208
  class: nsSubMenu.e("hide-arrow")
130
209
  }, {
131
- title: () => vue.h(index$1.PsIcon, {
210
+ title: () => vue.h(index$2.PsIcon, {
132
211
  class: nsSubMenu.e("icon-more")
133
212
  }, { default: () => vue.h(iconsVue.More) }),
134
213
  default: () => slotMore
@@ -146,7 +225,8 @@ var Menu = vue.defineComponent({
146
225
  [nsMenu.b()]: true,
147
226
  [nsMenu.m("horizontal")]: props.mode === "horizontal",
148
227
  [nsMenu.m("collapse")]: props.collapse
149
- }
228
+ },
229
+ widget: props.widget
150
230
  }, [...slot, ...vShowMore]));
151
231
  if (props.collapseTransition && props.mode === "vertical") {
152
232
  return vue.h(menuCollapseTransition["default"], () => vMenu);
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","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":["buildProps","definePropType","mutable","defineComponent","getCurrentInstance","ref","useNamespace","computed","provide","reactive","onMounted","Menubar","h","PsSubMenu","PsIcon","More","useMenuCssVar","PsMenuCollapseTransition"],"mappings":"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"}
1
+ {"version":3,"file":"menu.js","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 { 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 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\nexport default defineComponent({\n name: 'PsMenu',\n props: menuProps,\n setup(props, { slots, expose }) {\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 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 })\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)\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 widget: props.widget\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":["buildProps","definePropType","mutable","isString","defineComponent","getCurrentInstance","ref","useNamespace","computed","nextTick","watch","provide","reactive","onMounted","Menubar","withDirectives","Resize","h","PsSubMenu","PsIcon","More","useMenuCssVar","PsMenuCollapseTransition"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BY,MAAC,SAAS,GAAGA,gBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAEC,oBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,CAAC,EAAE;AACH,MAAM,cAAc,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5G,WAAeC,mBAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AAClC,IAAI,MAAM,QAAQ,GAAGC,sBAAkB,EAAE,CAAC;AAC1C,IAAI,MAAM,IAAI,GAAGC,OAAG,EAAE,CAAC;AACvB,IAAI,MAAM,MAAM,GAAGC,kBAAY,CAAC,MAAM,CAAC,CAAC;AACxC,IAAI,MAAM,SAAS,GAAGA,kBAAY,CAAC,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,WAAW,GAAGD,OAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1G,IAAI,MAAM,WAAW,GAAGA,OAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACjD,IAAI,MAAM,KAAK,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAI,MAAM,QAAQ,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AAC7B,IAAI,MAAM,WAAW,GAAGE,YAAQ,CAAC,MAAM;AACvC,MAAM,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;AACxF,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,QAAQ,GAAG,MAAM;AAC3B,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,QAAQ;AACtE,QAAQ,OAAO;AACf,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AAC7C,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACnC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAQ,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AACtD,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AAC3C,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC3C,QAAQ,OAAO;AACf,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE;AAC9B,QAAQ,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7F,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK;AAC5C,MAAM,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACpB,QAAQ,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACvC,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;AACtC,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC/H,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACvC,QAAQ,QAAQ,EAAE,CAAC;AACnB,OAAO,MAAM;AACb,QAAQ,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;AAChC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,YAAY,GAAG,MAAM;AAC/B,MAAMC,YAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;AACpD,KAAK,CAAC;AACN,IAAIC,SAAK,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,KAAK;AACxD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AACvC,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACvC,KAAK,CAAC,CAAC;AACP,IAAIA,SAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,QAAQ,EAAE,CAAC,CAAC;AACzC,IAAIA,SAAK,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK;AAC3C,MAAM,IAAI,KAAK;AACf,QAAQ,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP,IAAI;AACJ,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK;AACnC,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC1C,OAAO,CAAC;AACR,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK;AACtC,QAAQ,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,OAAO,CAAC;AACR,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK;AACpC,QAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACvC,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,KAAK;AACvC,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,OAAO,CAAC;AACR,MAAMC,WAAO,CAAC,UAAU,EAAEC,YAAQ,CAAC;AACnC,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,cAAc;AACtB,QAAQ,UAAU;AAClB,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,OAAO,CAAC,CAAC,CAAC;AACV,MAAMD,WAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,QAAQ,UAAU;AAClB,QAAQ,aAAa;AACrB,QAAQ,YAAY,EAAEL,OAAG,CAAC,KAAK,CAAC;AAChC,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAIO,aAAS,CAAC,MAAM;AACpB,MAAM,QAAQ,EAAE,CAAC;AACjB,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACvC,QAAQ,IAAIC,kBAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/D,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI;AACJ,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC9B,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpD,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACzD,OAAO,CAAC;AACR,MAAM,MAAM,CAAC;AACb,QAAQ,IAAI;AACZ,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,YAAY;AACpB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC1C,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAChC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC3C,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAS,MAAM;AACf,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,GAAGC,kBAAc,CAAC,KAAK,EAAE,CAAC,CAACC,kBAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC5H,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACzB,MAAM,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AACjG,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAC3B,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7K,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AACnD,QAAQ,MAAM,aAAa,GAAG,EAAE,CAAC;AACjC,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC1F,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC5F,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAC9E,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC;AAC1B,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC;AAC3B,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACxC,UAAU,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AAC7C,UAAU,IAAI,SAAS,IAAI,SAAS,GAAG,aAAa,EAAE;AACtD,YAAY,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;AACnC,WAAW;AACX,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9D,QAAQ,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;AAC7E,UAAU,IAAI,GAAG,WAAW,CAAC;AAC7B,UAAU,SAAS,CAAC,IAAI,CAACC,KAAC,CAACC,kBAAS,EAAE;AACtC,YAAY,KAAK,EAAE,eAAe;AAClC,YAAY,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5C,WAAW,EAAE;AACb,YAAY,KAAK,EAAE,MAAMD,KAAC,CAACE,cAAM,EAAE;AACnC,cAAc,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7C,aAAa,EAAE,EAAE,OAAO,EAAE,MAAMF,KAAC,CAACG,aAAI,CAAC,EAAE,CAAC;AAC1C,YAAY,OAAO,EAAE,MAAM,QAAQ;AACnC,WAAW,CAAC,CAAC,CAAC;AACd,SAAS;AACT,OAAO;AACP,MAAM,MAAM,OAAO,GAAGC,2BAAa,CAAC,KAAK,CAAC,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACnF,MAAM,MAAM,KAAK,GAAG,UAAU,CAACJ,KAAC,CAAC,IAAI,EAAE;AACvC,QAAQ,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACnC,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,GAAG,EAAE,IAAI;AACjB,QAAQ,KAAK,EAAE,OAAO,CAAC,KAAK;AAC5B,QAAQ,KAAK,EAAE;AACf,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI;AAC5B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY;AAC/D,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ;AAChD,SAAS;AACT,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AACjE,QAAQ,OAAOA,KAAC,CAACK,iCAAwB,EAAE,MAAM,KAAK,CAAC,CAAC;AACxD,OAAO;AACP,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;;"}
@@ -45,7 +45,7 @@ var SubMenu = vue.defineComponent({
45
45
  props: subMenuProps,
46
46
  setup(props, { slots, expose }) {
47
47
  const instance = vue.getCurrentInstance();
48
- const { paddingStyle, parentMenu } = useMenu["default"](instance, vue.computed(() => props.index));
48
+ const { paddingStyle, indexPath, parentMenu } = useMenu["default"](instance, vue.computed(() => props.index));
49
49
  const nsMenu = index.useNamespace("menu");
50
50
  const nsSubMenu = index.useNamespace("sub-menu");
51
51
  const rootMenu = vue.inject("rootMenu");
@@ -98,8 +98,8 @@ var SubMenu = vue.defineComponent({
98
98
  const opened = vue.computed(() => rootMenu.openedMenus.includes(props.index));
99
99
  const active = vue.computed(() => {
100
100
  let isActive = false;
101
- Object.values(items.value).forEach((item) => {
102
- if (item.active) {
101
+ Object.values(items.value).forEach((item2) => {
102
+ if (item2.active) {
103
103
  isActive = true;
104
104
  }
105
105
  });
@@ -114,6 +114,11 @@ var SubMenu = vue.defineComponent({
114
114
  const activeTextColor = vue.computed(() => rootMenu.props.activeTextColor || "");
115
115
  const textColor = vue.computed(() => rootMenu.props.textColor || "");
116
116
  const mode = vue.computed(() => rootMenu.props.mode);
117
+ const item = vue.reactive({
118
+ index: props.index,
119
+ indexPath,
120
+ active
121
+ });
117
122
  const titleStyle = vue.computed(() => {
118
123
  if (mode.value !== "horizontal") {
119
124
  return {
@@ -125,14 +130,40 @@ var SubMenu = vue.defineComponent({
125
130
  color: active.value ? activeTextColor.value : textColor.value
126
131
  };
127
132
  });
133
+ const doDestroy = () => {
134
+ var _a, _b, _c;
135
+ return (_c = (_b = (_a = vPopper.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.popperInstanceRef) == null ? void 0 : _c.destroy();
136
+ };
137
+ const handleCollapseToggle = (value) => {
138
+ if (!value) {
139
+ doDestroy();
140
+ }
141
+ };
142
+ vue.watch(() => rootMenu.props.collapse, (value) => handleCollapseToggle(Boolean(value)));
128
143
  {
144
+ const addSubMenu = (item2) => {
145
+ subMenus.value[item2.index] = item2;
146
+ };
147
+ const removeSubMenu = (item2) => {
148
+ delete subMenus.value[item2.index];
149
+ };
129
150
  vue.provide(`subMenu:${instance.uid}`, {
151
+ addSubMenu,
152
+ removeSubMenu,
130
153
  mouseInChild
131
154
  });
132
155
  }
133
156
  expose({
134
157
  opened
135
158
  });
159
+ vue.onMounted(() => {
160
+ rootMenu.addSubMenu(item);
161
+ subMenu.addSubMenu(item);
162
+ });
163
+ vue.onBeforeUnmount(() => {
164
+ subMenu.removeSubMenu(item);
165
+ rootMenu.removeSubMenu(item);
166
+ });
136
167
  return () => {
137
168
  var _a;
138
169
  const titleTag = [
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.js","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":["buildProps","defineComponent","getCurrentInstance","useMenu","computed","useNamespace","inject","throwError","ref","ArrowDown","ArrowRight","provide","h","PsIcon","useMenuCssVar","PsTooltip","Fragment","PsCollapseTransition","withDirectives","vShow"],"mappings":"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"}
1
+ {"version":3,"file":"sub-menu.js","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 { paddingStyle, 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 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 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 })\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)\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":["buildProps","defineComponent","getCurrentInstance","useMenu","computed","useNamespace","inject","throwError","ref","ArrowDown","ArrowRight","reactive","watch","provide","onMounted","onBeforeUnmount","h","PsIcon","useMenuCssVar","PsTooltip","Fragment","PsCollapseTransition","withDirectives","vShow"],"mappings":"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"}
@@ -18,7 +18,15 @@ export interface MenuProvider {
18
18
  activeIndex?: string;
19
19
  isMenuPopup: boolean;
20
20
  props: MenuProps;
21
+ addMenuItem: (item: MenuItemRegistered) => void;
22
+ removeMenuItem: (item: MenuItemRegistered) => void;
23
+ addSubMenu: (item: MenuItemRegistered) => void;
24
+ removeSubMenu: (item: MenuItemRegistered) => void;
25
+ openMenu: (index: string, indexPath: string[]) => void;
26
+ closeMenu: (index: string, indexPath: string[]) => void;
21
27
  }
22
28
  export interface SubMenuProvider {
29
+ addSubMenu: (item: MenuItemRegistered) => void;
30
+ removeSubMenu: (item: MenuItemRegistered) => void;
23
31
  mouseInChild: Ref<boolean>;
24
32
  }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var popconfirm$1 = require('./src/popconfirm2.js');
7
- var popconfirm = require('./src/popconfirm.js');
6
+ var popconfirm$1 = require('./src/popconfirm.js');
7
+ var popconfirm = require('./src/popconfirm2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const PsPopconfirm = install.withInstall(popconfirm$1["default"]);
@@ -2,60 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../button/index.js');
6
- var iconsVue = require('@element-plus/icons-vue');
7
- require('../../../utils/index.js');
8
- require('../../tooltip/index.js');
9
- var props = require('../../../utils/vue/props.js');
10
- var button = require('../../button/src/button.js');
11
- var icon = require('../../../utils/vue/icon.js');
12
- var tooltip = require('../../tooltip/src/tooltip2.js');
5
+ var vue = require('vue');
6
+ require('../../../hooks/index.js');
7
+ var popconfirm = require('./popconfirm2.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-namespace/index.js');
13
10
 
14
- const popconfirmProps = props.buildProps({
15
- title: {
16
- type: String
17
- },
18
- confirmButtonText: {
19
- type: String
20
- },
21
- cancelButtonText: {
22
- type: String
23
- },
24
- confirmButtonType: {
25
- type: String,
26
- values: button.buttonTypes,
27
- default: "primary"
28
- },
29
- cancelButtonType: {
30
- type: String,
31
- values: button.buttonTypes,
32
- default: "text"
33
- },
34
- icon: {
35
- type: icon.iconPropType,
36
- default: iconsVue.QuestionFilled
37
- },
38
- iconColor: {
39
- type: String,
40
- default: "#f90"
41
- },
42
- hideIcon: {
43
- type: Boolean,
44
- default: false
45
- },
46
- hideAfter: {
47
- type: Number,
48
- default: 200
49
- },
50
- onConfirm: {
51
- type: props.definePropType(Function)
52
- },
53
- onCancel: {
54
- type: props.definePropType(Function)
55
- },
56
- teleported: tooltip.useTooltipContentProps.teleported,
57
- persistent: tooltip.useTooltipContentProps.persistent
11
+ const COMPONENT_NAME = "PsPopconfirm";
12
+ const _sfc_main = vue.defineComponent({
13
+ name: COMPONENT_NAME,
14
+ props: popconfirm.popconfirmProps,
15
+ setup() {
16
+ const ns = index.useNamespace("popconfirm");
17
+ return {
18
+ ns
19
+ };
20
+ }
58
21
  });
22
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
23
+ return _ctx.$slots.reference ? vue.renderSlot(_ctx.$slots, "reference", { key: 0 }) : vue.createCommentVNode("v-if", true);
24
+ }
25
+ var Popconfirm = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/popconfirm/src/popconfirm.vue"]]);
59
26
 
60
- exports.popconfirmProps = popconfirmProps;
27
+ exports["default"] = Popconfirm;
61
28
  //# sourceMappingURL=popconfirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popconfirm.js","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.ts"],"sourcesContent":["import { buttonTypes } from '@element-ps/components/button'\nimport { QuestionFilled } from '@element-plus/icons-vue'\nimport { buildProps, definePropType, iconPropType } from '@element-ps/utils'\nimport { useTooltipContentProps } from '@element-ps/components/tooltip'\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const popconfirmProps = buildProps({\n title: {\n type: String,\n },\n confirmButtonText: {\n type: String,\n },\n cancelButtonText: {\n type: String,\n },\n confirmButtonType: {\n type: String,\n values: buttonTypes,\n default: 'primary',\n },\n cancelButtonType: {\n type: String,\n values: buttonTypes,\n default: 'text',\n },\n icon: {\n type: iconPropType,\n default: QuestionFilled as Component,\n },\n iconColor: {\n type: String,\n default: '#f90',\n },\n hideIcon: {\n type: Boolean,\n default: false,\n },\n hideAfter: {\n type: Number,\n default: 200,\n },\n onConfirm: {\n type: definePropType<(e: Event) => Promise<void> | void>(Function),\n },\n onCancel: {\n type: definePropType<(e: Event) => Promise<void> | void>(Function),\n },\n teleported: useTooltipContentProps.teleported,\n persistent: useTooltipContentProps.persistent,\n} as const)\nexport type PopconfirmProps = ExtractPropTypes<typeof popconfirmProps>\n"],"names":["buildProps","buttonTypes","iconPropType","QuestionFilled","definePropType","useTooltipContentProps"],"mappings":";;;;;;;;;;;;;AAIY,MAAC,eAAe,GAAGA,gBAAU,CAAC;AAC1C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,kBAAW;AACvB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEA,kBAAW;AACvB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,IAAI,OAAO,EAAEC,uBAAc;AAC3B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEC,oBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAEA,oBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,UAAU,EAAEC,8BAAsB,CAAC,UAAU;AAC/C,EAAE,UAAU,EAAEA,8BAAsB,CAAC,UAAU;AAC/C,CAAC;;;;"}
1
+ {"version":3,"file":"popconfirm.js","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-ps/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nconst COMPONENT_NAME = 'PsPopconfirm'\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n props: popconfirmProps,\n\n setup() {\n const ns = useNamespace('popconfirm')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","popconfirmProps","useNamespace","_renderSlot","_createCommentVNode"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAiB,GAAA,cAAA,CAAA;AACvB,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EAEN,KAAO,EAAAC,0BAAA;AAAA,EAEP,KAAQ,GAAA;AACN,IAAM,MAAA,EAAA,GAAKC,mBAAa,YAAY,CAAA,CAAA;AAEpC,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;AAvBiB,EAAA,OAAA,IAAA,CAAA,MAAA,CAAO,YACrBC,cAAyB,CAAA,IAAA,CAAA,MAAA,EAAA,WAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA,CAAA;;;;;;"}
@@ -2,27 +2,60 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- require('../../../hooks/index.js');
7
- var popconfirm = require('./popconfirm.js');
8
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
- var index = require('../../../hooks/use-namespace/index.js');
5
+ require('../../button/index.js');
6
+ var iconsVue = require('@element-plus/icons-vue');
7
+ require('../../../utils/index.js');
8
+ require('../../tooltip/index.js');
9
+ var props = require('../../../utils/vue/props.js');
10
+ var button = require('../../button/src/button.js');
11
+ var icon = require('../../../utils/vue/icon.js');
12
+ var tooltip = require('../../tooltip/src/tooltip.js');
10
13
 
11
- const COMPONENT_NAME = "PsPopconfirm";
12
- const _sfc_main = vue.defineComponent({
13
- name: COMPONENT_NAME,
14
- props: popconfirm.popconfirmProps,
15
- setup() {
16
- const ns = index.useNamespace("popconfirm");
17
- return {
18
- ns
19
- };
20
- }
14
+ const popconfirmProps = props.buildProps({
15
+ title: {
16
+ type: String
17
+ },
18
+ confirmButtonText: {
19
+ type: String
20
+ },
21
+ cancelButtonText: {
22
+ type: String
23
+ },
24
+ confirmButtonType: {
25
+ type: String,
26
+ values: button.buttonTypes,
27
+ default: "primary"
28
+ },
29
+ cancelButtonType: {
30
+ type: String,
31
+ values: button.buttonTypes,
32
+ default: "text"
33
+ },
34
+ icon: {
35
+ type: icon.iconPropType,
36
+ default: iconsVue.QuestionFilled
37
+ },
38
+ iconColor: {
39
+ type: String,
40
+ default: "#f90"
41
+ },
42
+ hideIcon: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ hideAfter: {
47
+ type: Number,
48
+ default: 200
49
+ },
50
+ onConfirm: {
51
+ type: props.definePropType(Function)
52
+ },
53
+ onCancel: {
54
+ type: props.definePropType(Function)
55
+ },
56
+ teleported: tooltip.useTooltipContentProps.teleported,
57
+ persistent: tooltip.useTooltipContentProps.persistent
21
58
  });
22
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
23
- return _ctx.$slots.reference ? vue.renderSlot(_ctx.$slots, "reference", { key: 0 }) : vue.createCommentVNode("v-if", true);
24
- }
25
- var Popconfirm = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/popconfirm/src/popconfirm.vue"]]);
26
59
 
27
- exports["default"] = Popconfirm;
60
+ exports.popconfirmProps = popconfirmProps;
28
61
  //# sourceMappingURL=popconfirm2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popconfirm2.js","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-ps/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nconst COMPONENT_NAME = 'PsPopconfirm'\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n props: popconfirmProps,\n\n setup() {\n const ns = useNamespace('popconfirm')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","popconfirmProps","useNamespace","_renderSlot","_createCommentVNode"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAiB,GAAA,cAAA,CAAA;AACvB,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EAEN,KAAO,EAAAC,0BAAA;AAAA,EAEP,KAAQ,GAAA;AACN,IAAM,MAAA,EAAA,GAAKC,mBAAa,YAAY,CAAA,CAAA;AAEpC,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;AAvBiB,EAAA,OAAA,IAAA,CAAA,MAAA,CAAO,YACrBC,cAAyB,CAAA,IAAA,CAAA,MAAA,EAAA,WAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"popconfirm2.js","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.ts"],"sourcesContent":["import { buttonTypes } from '@element-ps/components/button'\nimport { QuestionFilled } from '@element-plus/icons-vue'\nimport { buildProps, definePropType, iconPropType } from '@element-ps/utils'\nimport { useTooltipContentProps } from '@element-ps/components/tooltip'\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const popconfirmProps = buildProps({\n title: {\n type: String,\n },\n confirmButtonText: {\n type: String,\n },\n cancelButtonText: {\n type: String,\n },\n confirmButtonType: {\n type: String,\n values: buttonTypes,\n default: 'primary',\n },\n cancelButtonType: {\n type: String,\n values: buttonTypes,\n default: 'text',\n },\n icon: {\n type: iconPropType,\n default: QuestionFilled as Component,\n },\n iconColor: {\n type: String,\n default: '#f90',\n },\n hideIcon: {\n type: Boolean,\n default: false,\n },\n hideAfter: {\n type: Number,\n default: 200,\n },\n onConfirm: {\n type: definePropType<(e: Event) => Promise<void> | void>(Function),\n },\n onCancel: {\n type: definePropType<(e: Event) => Promise<void> | void>(Function),\n },\n teleported: useTooltipContentProps.teleported,\n persistent: useTooltipContentProps.persistent,\n} as const)\nexport type PopconfirmProps = ExtractPropTypes<typeof popconfirmProps>\n"],"names":["buildProps","buttonTypes","iconPropType","QuestionFilled","definePropType","useTooltipContentProps"],"mappings":";;;;;;;;;;;;;AAIY,MAAC,eAAe,GAAGA,gBAAU,CAAC;AAC1C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,kBAAW;AACvB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEA,kBAAW;AACvB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,IAAI,OAAO,EAAEC,uBAAc;AAC3B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEC,oBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAEA,oBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,UAAU,EAAEC,8BAAsB,CAAC,UAAU;AAC/C,EAAE,UAAU,EAAEA,8BAAsB,CAAC,UAAU;AAC/C,CAAC;;;;"}