element-ps 2.0.28 → 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 (374) hide show
  1. package/dist/index.full.js +164 -13
  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 +164 -13
  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/src/autocomplete.mjs +1 -1
  13. package/es/components/backtop/index.mjs +2 -2
  14. package/es/components/backtop/src/backtop.mjs +18 -59
  15. package/es/components/backtop/src/backtop.mjs.map +1 -1
  16. package/es/components/backtop/src/backtop2.mjs +59 -18
  17. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  18. package/es/components/breadcrumb/index.mjs +2 -2
  19. package/es/components/breadcrumb/src/breadcrumb.mjs +12 -37
  20. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  21. package/es/components/breadcrumb/src/breadcrumb2.mjs +37 -12
  22. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  23. package/es/components/calendar/index.mjs +2 -2
  24. package/es/components/calendar/src/calendar.mjs +9 -188
  25. package/es/components/calendar/src/calendar.mjs.map +1 -1
  26. package/es/components/calendar/src/calendar2.mjs +188 -9
  27. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  28. package/es/components/calendar/src/date-table.mjs +27 -146
  29. package/es/components/calendar/src/date-table.mjs.map +1 -1
  30. package/es/components/calendar/src/date-table2.mjs +146 -27
  31. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  32. package/es/components/card/index.mjs +2 -2
  33. package/es/components/card/src/card.mjs +15 -35
  34. package/es/components/card/src/card.mjs.map +1 -1
  35. package/es/components/card/src/card2.mjs +35 -15
  36. package/es/components/card/src/card2.mjs.map +1 -1
  37. package/es/components/cascader/src/index.mjs +1 -1
  38. package/es/components/collection/index.mjs +1 -1
  39. package/es/components/collection/src/collection.mjs +10 -30
  40. package/es/components/collection/src/collection.mjs.map +1 -1
  41. package/es/components/collection/src/collection2.mjs +30 -10
  42. package/es/components/collection/src/collection2.mjs.map +1 -1
  43. package/es/components/divider/index.mjs +2 -2
  44. package/es/components/divider/src/divider.mjs +17 -34
  45. package/es/components/divider/src/divider.mjs.map +1 -1
  46. package/es/components/divider/src/divider2.mjs +34 -17
  47. package/es/components/divider/src/divider2.mjs.map +1 -1
  48. package/es/components/drawer/index.mjs +2 -2
  49. package/es/components/drawer/src/drawer.mjs +117 -23
  50. package/es/components/drawer/src/drawer.mjs.map +1 -1
  51. package/es/components/drawer/src/drawer2.mjs +23 -117
  52. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  53. package/es/components/dropdown/src/dropdown.mjs +2 -2
  54. package/es/components/empty/index.mjs +2 -2
  55. package/es/components/empty/src/empty.mjs +11 -56
  56. package/es/components/empty/src/empty.mjs.map +1 -1
  57. package/es/components/empty/src/empty2.mjs +56 -11
  58. package/es/components/empty/src/empty2.mjs.map +1 -1
  59. package/es/components/form/index.mjs +4 -4
  60. package/es/components/form/src/form-item.mjs +46 -177
  61. package/es/components/form/src/form-item.mjs.map +1 -1
  62. package/es/components/form/src/form-item2.mjs +177 -46
  63. package/es/components/form/src/form-item2.mjs.map +1 -1
  64. package/es/components/form/src/form.mjs +40 -45
  65. package/es/components/form/src/form.mjs.map +1 -1
  66. package/es/components/form/src/form2.mjs +45 -40
  67. package/es/components/form/src/form2.mjs.map +1 -1
  68. package/es/components/icon/index.mjs +2 -2
  69. package/es/components/icon/src/icon.mjs +35 -8
  70. package/es/components/icon/src/icon.mjs.map +1 -1
  71. package/es/components/icon/src/icon2.mjs +8 -35
  72. package/es/components/icon/src/icon2.mjs.map +1 -1
  73. package/es/components/image/index.mjs +2 -2
  74. package/es/components/image/src/image.mjs +127 -50
  75. package/es/components/image/src/image.mjs.map +1 -1
  76. package/es/components/image/src/image2.mjs +50 -127
  77. package/es/components/image/src/image2.mjs.map +1 -1
  78. package/es/components/index.mjs +28 -28
  79. package/es/components/link/index.mjs +2 -2
  80. package/es/components/link/src/link.mjs +43 -19
  81. package/es/components/link/src/link.mjs.map +1 -1
  82. package/es/components/link/src/link2.mjs +19 -43
  83. package/es/components/link/src/link2.mjs.map +1 -1
  84. package/es/components/menu/index.d.ts +2 -0
  85. package/es/components/menu/index.mjs +2 -2
  86. package/es/components/menu/src/menu-item.mjs +15 -65
  87. package/es/components/menu/src/menu-item.mjs.map +1 -1
  88. package/es/components/menu/src/menu-item2.mjs +73 -15
  89. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  90. package/es/components/menu/src/menu.d.ts +3 -0
  91. package/es/components/menu/src/menu.mjs +86 -6
  92. package/es/components/menu/src/menu.mjs.map +1 -1
  93. package/es/components/menu/src/sub-menu.mjs +35 -4
  94. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  95. package/es/components/menu/src/types.d.ts +8 -0
  96. package/es/components/popconfirm/src/popconfirm2.mjs +1 -1
  97. package/es/components/popover/src/popover.mjs +1 -1
  98. package/es/components/popper/index.mjs +6 -6
  99. package/es/components/popper/src/arrow.mjs +31 -7
  100. package/es/components/popper/src/arrow.mjs.map +1 -1
  101. package/es/components/popper/src/arrow2.mjs +7 -31
  102. package/es/components/popper/src/arrow2.mjs.map +1 -1
  103. package/es/components/popper/src/content.mjs +52 -64
  104. package/es/components/popper/src/content.mjs.map +1 -1
  105. package/es/components/popper/src/content2.mjs +64 -52
  106. package/es/components/popper/src/content2.mjs.map +1 -1
  107. package/es/components/popper/src/popper.mjs +20 -27
  108. package/es/components/popper/src/popper.mjs.map +1 -1
  109. package/es/components/popper/src/popper2.mjs +27 -20
  110. package/es/components/popper/src/popper2.mjs.map +1 -1
  111. package/es/components/progress/index.mjs +2 -2
  112. package/es/components/progress/src/progress.mjs +57 -230
  113. package/es/components/progress/src/progress.mjs.map +1 -1
  114. package/es/components/progress/src/progress2.mjs +230 -57
  115. package/es/components/progress/src/progress2.mjs.map +1 -1
  116. package/es/components/radio/index.mjs +6 -6
  117. package/es/components/radio/src/radio-button.mjs +9 -80
  118. package/es/components/radio/src/radio-button.mjs.map +1 -1
  119. package/es/components/radio/src/radio-button2.mjs +80 -9
  120. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  121. package/es/components/radio/src/radio-group.mjs +37 -18
  122. package/es/components/radio/src/radio-group.mjs.map +1 -1
  123. package/es/components/radio/src/radio-group2.mjs +18 -37
  124. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  125. package/es/components/radio/src/radio.mjs +74 -62
  126. package/es/components/radio/src/radio.mjs.map +1 -1
  127. package/es/components/radio/src/radio2.mjs +62 -74
  128. package/es/components/radio/src/radio2.mjs.map +1 -1
  129. package/es/components/roving-focus-group/index.mjs +3 -3
  130. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  131. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
  132. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  133. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
  134. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  135. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  136. package/es/components/select/src/select.mjs +1 -1
  137. package/es/components/select-v2/src/defaults.mjs +1 -1
  138. package/es/components/skeleton/index.mjs +2 -2
  139. package/es/components/skeleton/src/skeleton.mjs +22 -49
  140. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  141. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  142. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  143. package/es/components/tabs/index.d.ts +8 -0
  144. package/es/components/tabs/src/tab-bar.d.ts +1 -0
  145. package/es/components/tabs/src/tab-bar.vue.d.ts +4 -0
  146. package/es/components/tabs/src/tab-nav.d.ts +4 -0
  147. package/es/components/tabs/src/tab-nav.mjs +2 -1
  148. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  149. package/es/components/tabs/src/tab-pane.d.ts +1 -0
  150. package/es/components/tabs/src/tab-pane.mjs +2 -1
  151. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  152. package/es/components/tabs/src/tab-pane.vue.d.ts +3 -0
  153. package/es/components/tabs/src/tab-pane2.mjs +3 -2
  154. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  155. package/es/components/tabs/src/tabs.d.ts +2 -0
  156. package/es/components/tabs/src/tabs.mjs +10 -1
  157. package/es/components/tabs/src/tabs.mjs.map +1 -1
  158. package/es/components/tooltip/index.mjs +2 -2
  159. package/es/components/tooltip/src/tooltip.mjs +64 -51
  160. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  161. package/es/components/tooltip/src/tooltip2.mjs +51 -64
  162. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  163. package/es/components/tooltip/src/trigger.mjs +1 -1
  164. package/es/components/tooltip-v2/index.mjs +2 -2
  165. package/es/components/tooltip-v2/src/root.mjs +81 -17
  166. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  167. package/es/components/tooltip-v2/src/root2.mjs +17 -81
  168. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  169. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  170. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  171. package/es/components/tooltip-v2/src/trigger.mjs +89 -11
  172. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  173. package/es/components/tooltip-v2/src/trigger2.mjs +11 -89
  174. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  175. package/es/components/upload/index.mjs +3 -3
  176. package/es/components/upload/src/upload-content.mjs +15 -46
  177. package/es/components/upload/src/upload-content.mjs.map +1 -1
  178. package/es/components/upload/src/upload-content2.mjs +46 -15
  179. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  180. package/es/components/upload/src/upload-dragger.mjs +11 -32
  181. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  182. package/es/components/upload/src/upload-dragger2.mjs +32 -11
  183. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  184. package/es/components/upload/src/upload-list.mjs +26 -155
  185. package/es/components/upload/src/upload-list.mjs.map +1 -1
  186. package/es/components/upload/src/upload-list2.mjs +155 -26
  187. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  188. package/es/components/upload/src/upload2.mjs +2 -2
  189. package/es/index.mjs +28 -28
  190. package/lib/components/affix/index.js +2 -2
  191. package/lib/components/affix/src/affix.js +82 -19
  192. package/lib/components/affix/src/affix.js.map +1 -1
  193. package/lib/components/affix/src/affix2.js +19 -82
  194. package/lib/components/affix/src/affix2.js.map +1 -1
  195. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  196. package/lib/components/backtop/index.js +2 -2
  197. package/lib/components/backtop/src/backtop.js +18 -59
  198. package/lib/components/backtop/src/backtop.js.map +1 -1
  199. package/lib/components/backtop/src/backtop2.js +59 -18
  200. package/lib/components/backtop/src/backtop2.js.map +1 -1
  201. package/lib/components/breadcrumb/index.js +2 -2
  202. package/lib/components/breadcrumb/src/breadcrumb.js +12 -37
  203. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  204. package/lib/components/breadcrumb/src/breadcrumb2.js +37 -12
  205. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  206. package/lib/components/calendar/index.js +2 -2
  207. package/lib/components/calendar/src/calendar.js +9 -192
  208. package/lib/components/calendar/src/calendar.js.map +1 -1
  209. package/lib/components/calendar/src/calendar2.js +192 -9
  210. package/lib/components/calendar/src/calendar2.js.map +1 -1
  211. package/lib/components/calendar/src/date-table.js +30 -151
  212. package/lib/components/calendar/src/date-table.js.map +1 -1
  213. package/lib/components/calendar/src/date-table2.js +151 -30
  214. package/lib/components/calendar/src/date-table2.js.map +1 -1
  215. package/lib/components/card/index.js +2 -2
  216. package/lib/components/card/src/card.js +15 -35
  217. package/lib/components/card/src/card.js.map +1 -1
  218. package/lib/components/card/src/card2.js +35 -15
  219. package/lib/components/card/src/card2.js.map +1 -1
  220. package/lib/components/cascader/src/index.js +1 -1
  221. package/lib/components/collection/index.js +1 -1
  222. package/lib/components/collection/src/collection.js +9 -30
  223. package/lib/components/collection/src/collection.js.map +1 -1
  224. package/lib/components/collection/src/collection2.js +30 -9
  225. package/lib/components/collection/src/collection2.js.map +1 -1
  226. package/lib/components/divider/index.js +2 -2
  227. package/lib/components/divider/src/divider.js +17 -34
  228. package/lib/components/divider/src/divider.js.map +1 -1
  229. package/lib/components/divider/src/divider2.js +34 -17
  230. package/lib/components/divider/src/divider2.js.map +1 -1
  231. package/lib/components/drawer/index.js +2 -2
  232. package/lib/components/drawer/src/drawer.js +117 -23
  233. package/lib/components/drawer/src/drawer.js.map +1 -1
  234. package/lib/components/drawer/src/drawer2.js +23 -117
  235. package/lib/components/drawer/src/drawer2.js.map +1 -1
  236. package/lib/components/dropdown/src/dropdown.js +2 -2
  237. package/lib/components/empty/index.js +2 -2
  238. package/lib/components/empty/src/empty.js +11 -56
  239. package/lib/components/empty/src/empty.js.map +1 -1
  240. package/lib/components/empty/src/empty2.js +56 -11
  241. package/lib/components/empty/src/empty2.js.map +1 -1
  242. package/lib/components/form/index.js +4 -4
  243. package/lib/components/form/src/form-item.js +47 -177
  244. package/lib/components/form/src/form-item.js.map +1 -1
  245. package/lib/components/form/src/form-item2.js +177 -47
  246. package/lib/components/form/src/form-item2.js.map +1 -1
  247. package/lib/components/form/src/form.js +40 -45
  248. package/lib/components/form/src/form.js.map +1 -1
  249. package/lib/components/form/src/form2.js +45 -40
  250. package/lib/components/form/src/form2.js.map +1 -1
  251. package/lib/components/icon/index.js +2 -2
  252. package/lib/components/icon/src/icon.js +35 -8
  253. package/lib/components/icon/src/icon.js.map +1 -1
  254. package/lib/components/icon/src/icon2.js +8 -35
  255. package/lib/components/icon/src/icon2.js.map +1 -1
  256. package/lib/components/image/index.js +2 -2
  257. package/lib/components/image/src/image.js +127 -50
  258. package/lib/components/image/src/image.js.map +1 -1
  259. package/lib/components/image/src/image2.js +50 -127
  260. package/lib/components/image/src/image2.js.map +1 -1
  261. package/lib/components/index.js +28 -28
  262. package/lib/components/link/index.js +2 -2
  263. package/lib/components/link/src/link.js +43 -19
  264. package/lib/components/link/src/link.js.map +1 -1
  265. package/lib/components/link/src/link2.js +19 -43
  266. package/lib/components/link/src/link2.js.map +1 -1
  267. package/lib/components/menu/index.d.ts +2 -0
  268. package/lib/components/menu/index.js +2 -2
  269. package/lib/components/menu/src/menu-item.js +16 -65
  270. package/lib/components/menu/src/menu-item.js.map +1 -1
  271. package/lib/components/menu/src/menu-item2.js +73 -16
  272. package/lib/components/menu/src/menu-item2.js.map +1 -1
  273. package/lib/components/menu/src/menu.d.ts +3 -0
  274. package/lib/components/menu/src/menu.js +87 -7
  275. package/lib/components/menu/src/menu.js.map +1 -1
  276. package/lib/components/menu/src/sub-menu.js +34 -3
  277. package/lib/components/menu/src/sub-menu.js.map +1 -1
  278. package/lib/components/menu/src/types.d.ts +8 -0
  279. package/lib/components/popconfirm/src/popconfirm2.js +1 -1
  280. package/lib/components/popover/src/popover.js +1 -1
  281. package/lib/components/popper/index.js +6 -6
  282. package/lib/components/popper/src/arrow.js +31 -7
  283. package/lib/components/popper/src/arrow.js.map +1 -1
  284. package/lib/components/popper/src/arrow2.js +7 -31
  285. package/lib/components/popper/src/arrow2.js.map +1 -1
  286. package/lib/components/popper/src/content.js +52 -65
  287. package/lib/components/popper/src/content.js.map +1 -1
  288. package/lib/components/popper/src/content2.js +65 -52
  289. package/lib/components/popper/src/content2.js.map +1 -1
  290. package/lib/components/popper/src/popper.js +21 -27
  291. package/lib/components/popper/src/popper.js.map +1 -1
  292. package/lib/components/popper/src/popper2.js +27 -21
  293. package/lib/components/popper/src/popper2.js.map +1 -1
  294. package/lib/components/progress/index.js +2 -2
  295. package/lib/components/progress/src/progress.js +57 -230
  296. package/lib/components/progress/src/progress.js.map +1 -1
  297. package/lib/components/progress/src/progress2.js +230 -57
  298. package/lib/components/progress/src/progress2.js.map +1 -1
  299. package/lib/components/radio/index.js +6 -6
  300. package/lib/components/radio/src/radio-button.js +9 -80
  301. package/lib/components/radio/src/radio-button.js.map +1 -1
  302. package/lib/components/radio/src/radio-button2.js +80 -9
  303. package/lib/components/radio/src/radio-button2.js.map +1 -1
  304. package/lib/components/radio/src/radio-group.js +37 -18
  305. package/lib/components/radio/src/radio-group.js.map +1 -1
  306. package/lib/components/radio/src/radio-group2.js +18 -37
  307. package/lib/components/radio/src/radio-group2.js.map +1 -1
  308. package/lib/components/radio/src/radio.js +73 -64
  309. package/lib/components/radio/src/radio.js.map +1 -1
  310. package/lib/components/radio/src/radio2.js +64 -73
  311. package/lib/components/radio/src/radio2.js.map +1 -1
  312. package/lib/components/roving-focus-group/index.js +2 -2
  313. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  314. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
  315. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  316. package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
  317. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  318. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  319. package/lib/components/select/src/select.js +1 -1
  320. package/lib/components/select-v2/src/defaults.js +1 -1
  321. package/lib/components/skeleton/index.js +2 -2
  322. package/lib/components/skeleton/src/skeleton.js +22 -49
  323. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  324. package/lib/components/skeleton/src/skeleton2.js +49 -22
  325. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  326. package/lib/components/tabs/index.d.ts +8 -0
  327. package/lib/components/tabs/src/tab-bar.d.ts +1 -0
  328. package/lib/components/tabs/src/tab-bar.vue.d.ts +4 -0
  329. package/lib/components/tabs/src/tab-nav.d.ts +4 -0
  330. package/lib/components/tabs/src/tab-nav.js +2 -1
  331. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  332. package/lib/components/tabs/src/tab-pane.d.ts +1 -0
  333. package/lib/components/tabs/src/tab-pane.js +2 -1
  334. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  335. package/lib/components/tabs/src/tab-pane.vue.d.ts +3 -0
  336. package/lib/components/tabs/src/tab-pane2.js +3 -2
  337. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  338. package/lib/components/tabs/src/tabs.d.ts +2 -0
  339. package/lib/components/tabs/src/tabs.js +9 -0
  340. package/lib/components/tabs/src/tabs.js.map +1 -1
  341. package/lib/components/tooltip/index.js +2 -2
  342. package/lib/components/tooltip/src/tooltip.js +65 -50
  343. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  344. package/lib/components/tooltip/src/tooltip2.js +50 -65
  345. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  346. package/lib/components/tooltip/src/trigger.js +1 -1
  347. package/lib/components/tooltip-v2/index.js +2 -2
  348. package/lib/components/tooltip-v2/src/root.js +81 -17
  349. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  350. package/lib/components/tooltip-v2/src/root2.js +17 -81
  351. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  352. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  353. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  354. package/lib/components/tooltip-v2/src/trigger.js +89 -11
  355. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  356. package/lib/components/tooltip-v2/src/trigger2.js +11 -89
  357. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  358. package/lib/components/upload/index.js +3 -3
  359. package/lib/components/upload/src/upload-content.js +15 -46
  360. package/lib/components/upload/src/upload-content.js.map +1 -1
  361. package/lib/components/upload/src/upload-content2.js +46 -15
  362. package/lib/components/upload/src/upload-content2.js.map +1 -1
  363. package/lib/components/upload/src/upload-dragger.js +12 -32
  364. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  365. package/lib/components/upload/src/upload-dragger2.js +32 -12
  366. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  367. package/lib/components/upload/src/upload-list.js +27 -155
  368. package/lib/components/upload/src/upload-list.js.map +1 -1
  369. package/lib/components/upload/src/upload-list2.js +155 -27
  370. package/lib/components/upload/src/upload-list2.js.map +1 -1
  371. package/lib/components/upload/src/upload2.js +2 -2
  372. package/lib/index.js +28 -28
  373. package/package.json +1 -1
  374. package/web-types.json +1 -1
@@ -1,27 +1,54 @@
1
- import '../../../utils/index.mjs';
2
- import { buildProps } from '../../../utils/vue/props.mjs';
1
+ import { defineComponent, toRef, unref, openBlock, createElementBlock, mergeProps, Fragment, renderList, renderSlot, createVNode, normalizeClass, createBlock, createCommentVNode, normalizeProps } from 'vue';
2
+ import '../../../hooks/index.mjs';
3
+ import { skeletonProps } from './skeleton.mjs';
4
+ import SkeletonItem from './skeleton-item2.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
+ import { useThrottleRender } from '../../../hooks/use-throttle-render/index.mjs';
3
8
 
4
- const skeletonProps = buildProps({
5
- animated: {
6
- type: Boolean,
7
- default: false
8
- },
9
- count: {
10
- type: Number,
11
- default: 1
12
- },
13
- rows: {
14
- type: Number,
15
- default: 3
16
- },
17
- loading: {
18
- type: Boolean,
19
- default: true
20
- },
21
- throttle: {
22
- type: Number
9
+ const __default__ = {
10
+ name: "PsSkeleton"
11
+ };
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ ...__default__,
14
+ props: skeletonProps,
15
+ setup(__props, { expose }) {
16
+ const props = __props;
17
+ const ns = useNamespace("skeleton");
18
+ const uiLoading = useThrottleRender(toRef(props, "loading"), props.throttle);
19
+ expose({
20
+ uiLoading
21
+ });
22
+ return (_ctx, _cache) => {
23
+ return unref(uiLoading) ? (openBlock(), createElementBlock("div", mergeProps({
24
+ key: 0,
25
+ class: [unref(ns).b(), unref(ns).is("animated", _ctx.animated)]
26
+ }, _ctx.$attrs), [
27
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.count, (i) => {
28
+ return openBlock(), createElementBlock(Fragment, { key: i }, [
29
+ _ctx.loading ? renderSlot(_ctx.$slots, "template", { key: i }, () => [
30
+ createVNode(SkeletonItem, {
31
+ class: normalizeClass(unref(ns).is("first")),
32
+ variant: "p"
33
+ }, null, 8, ["class"]),
34
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, (item) => {
35
+ return openBlock(), createBlock(SkeletonItem, {
36
+ key: item,
37
+ class: normalizeClass([
38
+ unref(ns).e("paragraph"),
39
+ unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
40
+ ]),
41
+ variant: "p"
42
+ }, null, 8, ["class"]);
43
+ }), 128))
44
+ ]) : createCommentVNode("v-if", true)
45
+ ], 64);
46
+ }), 128))
47
+ ], 16)) : renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 1 }, _ctx.$attrs)));
48
+ };
23
49
  }
24
50
  });
51
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/skeleton/src/skeleton.vue"]]);
25
52
 
26
- export { skeletonProps };
53
+ export { Skeleton as default };
27
54
  //# sourceMappingURL=skeleton2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type Skeleton from './skeleton.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const skeletonProps = buildProps({\n animated: {\n type: Boolean,\n default: false,\n },\n count: {\n type: Number,\n default: 1,\n },\n rows: {\n type: Number,\n default: 3,\n },\n loading: {\n type: Boolean,\n default: true,\n },\n throttle: {\n type: Number,\n },\n} as const)\nexport type SkeletonProps = ExtractPropTypes<typeof skeletonProps>\n\nexport type SkeletonInstance = InstanceType<typeof Skeleton>\n"],"names":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"skeleton2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.vue"],"sourcesContent":["<template>\n <template v-if=\"uiLoading\">\n <div :class=\"[ns.b(), ns.is('animated', animated)]\" v-bind=\"$attrs\">\n <template v-for=\"i in count\" :key=\"i\">\n <slot v-if=\"loading\" :key=\"i\" name=\"template\">\n <ps-skeleton-item :class=\"ns.is('first')\" variant=\"p\" />\n <ps-skeleton-item\n v-for=\"item in rows\"\n :key=\"item\"\n :class=\"[\n ns.e('paragraph'),\n ns.is('last', item === rows && rows > 1),\n ]\"\n variant=\"p\"\n />\n </slot>\n </template>\n </div>\n </template>\n <template v-else>\n <slot v-bind=\"$attrs\" />\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { toRef } from 'vue'\nimport { useNamespace, useThrottleRender } from '@element-ps/hooks'\nimport { skeletonProps } from './skeleton'\nimport PsSkeletonItem from './skeleton-item.vue'\n\ndefineOptions({\n name: 'PsSkeleton',\n})\nconst props = defineProps(skeletonProps)\n\nconst ns = useNamespace('skeleton')\nconst uiLoading = useThrottleRender(toRef(props, 'loading'), props.throttle)\n\ndefineExpose({\n /** @description loading state */\n uiLoading,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAmCA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,iBAAA,CAAA,KAAA,CAAA,OAAA,SAAA,CAAA,EAAA,MAAA,QAAA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,SAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,6 +20,7 @@ export declare const PsTabs: import("element-ps/es/utils").SFCWithInstall<import
20
20
  readonly label: string;
21
21
  readonly closable: boolean;
22
22
  readonly lazy: boolean;
23
+ readonly widget?: string | undefined;
23
24
  };
24
25
  paneName: string | number | undefined;
25
26
  active: boolean;
@@ -52,6 +53,7 @@ export declare const PsTabs: import("element-ps/es/utils").SFCWithInstall<import
52
53
  readonly label: string;
53
54
  readonly closable: boolean;
54
55
  readonly lazy: boolean;
56
+ readonly widget?: string | undefined;
55
57
  };
56
58
  paneName: string | number | undefined;
57
59
  active: boolean;
@@ -79,6 +81,7 @@ export declare const PsTabs: import("element-ps/es/utils").SFCWithInstall<import
79
81
  readonly closable: BooleanConstructor;
80
82
  readonly disabled: BooleanConstructor;
81
83
  readonly lazy: BooleanConstructor;
84
+ readonly widget: StringConstructor;
82
85
  }, {
83
86
  COMPONENT_NAME: string;
84
87
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -87,6 +90,7 @@ export declare const PsTabs: import("element-ps/es/utils").SFCWithInstall<import
87
90
  readonly closable: BooleanConstructor;
88
91
  readonly disabled: BooleanConstructor;
89
92
  readonly lazy: BooleanConstructor;
93
+ readonly widget: StringConstructor;
90
94
  }>> & {
91
95
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
92
96
  }>>;
@@ -118,6 +122,7 @@ export declare const PsTabs: import("element-ps/es/utils").SFCWithInstall<import
118
122
  readonly closable: BooleanConstructor;
119
123
  readonly disabled: BooleanConstructor;
120
124
  readonly lazy: BooleanConstructor;
125
+ readonly widget: StringConstructor;
121
126
  }>>, {
122
127
  disabled: boolean;
123
128
  name: import("element-ps/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
@@ -132,6 +137,7 @@ export declare const PsTabPane: import("element-ps/es/utils").SFCWithInstall<imp
132
137
  readonly closable: BooleanConstructor;
133
138
  readonly disabled: BooleanConstructor;
134
139
  readonly lazy: BooleanConstructor;
140
+ readonly widget: StringConstructor;
135
141
  }, {
136
142
  COMPONENT_NAME: string;
137
143
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -140,6 +146,7 @@ export declare const PsTabPane: import("element-ps/es/utils").SFCWithInstall<imp
140
146
  readonly closable: BooleanConstructor;
141
147
  readonly disabled: BooleanConstructor;
142
148
  readonly lazy: BooleanConstructor;
149
+ readonly widget: StringConstructor;
143
150
  }>> & {
144
151
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
145
152
  }>>;
@@ -171,6 +178,7 @@ export declare const PsTabPane: import("element-ps/es/utils").SFCWithInstall<imp
171
178
  readonly closable: BooleanConstructor;
172
179
  readonly disabled: BooleanConstructor;
173
180
  readonly lazy: BooleanConstructor;
181
+ readonly widget: StringConstructor;
174
182
  }>>, {
175
183
  disabled: boolean;
176
184
  name: import("element-ps/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
@@ -10,6 +10,7 @@ export declare const tabBarProps: {
10
10
  readonly label: string;
11
11
  readonly closable: boolean;
12
12
  readonly lazy: boolean;
13
+ readonly widget?: string | undefined;
13
14
  };
14
15
  paneName: string | number | undefined;
15
16
  active: boolean;
@@ -9,6 +9,7 @@ declare const _default: import("vue").DefineComponent<{
9
9
  readonly label: string;
10
10
  readonly closable: boolean;
11
11
  readonly lazy: boolean;
12
+ readonly widget?: string | undefined;
12
13
  };
13
14
  paneName: string | number | undefined;
14
15
  active: boolean;
@@ -27,6 +28,7 @@ declare const _default: import("vue").DefineComponent<{
27
28
  readonly label: string;
28
29
  readonly closable: boolean;
29
30
  readonly lazy: boolean;
31
+ readonly widget?: string | undefined;
30
32
  };
31
33
  paneName: string | number | undefined;
32
34
  active: boolean;
@@ -66,6 +68,7 @@ declare const _default: import("vue").DefineComponent<{
66
68
  readonly label: string;
67
69
  readonly closable: boolean;
68
70
  readonly lazy: boolean;
71
+ readonly widget?: string | undefined;
69
72
  };
70
73
  paneName: string | number | undefined;
71
74
  active: boolean;
@@ -82,6 +85,7 @@ declare const _default: import("vue").DefineComponent<{
82
85
  readonly label: string;
83
86
  readonly closable: boolean;
84
87
  readonly lazy: boolean;
88
+ readonly widget?: string | undefined;
85
89
  };
86
90
  paneName: string | number | undefined;
87
91
  active: boolean;
@@ -11,6 +11,7 @@ export declare const tabNavProps: {
11
11
  readonly label: string;
12
12
  readonly closable: boolean;
13
13
  readonly lazy: boolean;
14
+ readonly widget?: string | undefined;
14
15
  };
15
16
  paneName: string | number | undefined;
16
17
  active: boolean;
@@ -35,6 +36,7 @@ declare const TabNav: import("vue").DefineComponent<{
35
36
  readonly label: string;
36
37
  readonly closable: boolean;
37
38
  readonly lazy: boolean;
39
+ readonly widget?: string | undefined;
38
40
  };
39
41
  paneName: string | number | undefined;
40
42
  active: boolean;
@@ -57,6 +59,7 @@ declare const TabNav: import("vue").DefineComponent<{
57
59
  readonly label: string;
58
60
  readonly closable: boolean;
59
61
  readonly lazy: boolean;
62
+ readonly widget?: string | undefined;
60
63
  };
61
64
  paneName: string | number | undefined;
62
65
  active: boolean;
@@ -82,6 +85,7 @@ declare const TabNav: import("vue").DefineComponent<{
82
85
  readonly label: string;
83
86
  readonly closable: boolean;
84
87
  readonly lazy: boolean;
88
+ readonly widget?: string | undefined;
85
89
  };
86
90
  paneName: string | number | undefined;
87
91
  active: boolean;
@@ -241,7 +241,8 @@ const TabNav = defineComponent({
241
241
  if (closable && (ev.code === EVENT_CODE.delete || ev.code === EVENT_CODE.backspace)) {
242
242
  props.onTabRemove(pane, ev);
243
243
  }
244
- }
244
+ },
245
+ "widget": pane.props.widget ? "tab-pane:label:" + pane.props.widget.split(":")[1] : void 0
245
246
  }, [...[tabLabelContent, btnClose]]);
246
247
  });
247
248
  return createVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-ps/utils'\nimport { EVENT_CODE } from '@element-ps/constants'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { useNamespace } from '@element-ps/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-ps/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'PsTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<ps-tabs><tab-nav /></ps-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <PsIcon>\n <ArrowLeft />\n </PsIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <PsIcon>\n <ArrowRight />\n </PsIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name || pane.index || `${index}`\n const closable: boolean = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <PsIcon\n class=\"is-icon-close\"\n // @ts-expect-error native event\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </PsIcon>\n ) : null\n\n const tabLabelContent =\n pane.instance.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', pane.props.disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","onTabClick","Function","NOOP","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","querySelector","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","next","changeTab","down","EVENT_CODE","currentTarget","currentIndex","nextIndex","tabList","focus","click","setFocus","watch","_createVNode","setTimeout","useResizeObserver","onUpdated","removeFocus","scrollBtn","map","pane","tabName","closable","btnClose","ev","tabindex","active","tabLabelContent"],"mappings":"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"}
1
+ {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-ps/utils'\nimport { EVENT_CODE } from '@element-ps/constants'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { useNamespace } from '@element-ps/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-ps/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'PsTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<ps-tabs><tab-nav /></ps-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <PsIcon>\n <ArrowLeft />\n </PsIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <PsIcon>\n <ArrowRight />\n </PsIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name || pane.index || `${index}`\n const closable: boolean = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <PsIcon\n class=\"is-icon-close\"\n // @ts-expect-error native event\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </PsIcon>\n ) : null\n\n const tabLabelContent =\n pane.instance.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', pane.props.disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n // @ts-ignore\n widget={pane.props.widget ? 'tab-pane:label:' + pane.props.widget.split(':')[1] : undefined}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","onTabClick","Function","NOOP","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","querySelector","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","next","changeTab","down","EVENT_CODE","currentTarget","currentIndex","nextIndex","tabList","focus","click","setFocus","watch","_createVNode","setTimeout","useResizeObserver","onUpdated","removeFocus","scrollBtn","map","pane","tabName","closable","btnClose","ev","tabindex","active","delete","backspace","tabLabelContent"],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare const tabPaneProps: {
6
6
  readonly closable: BooleanConstructor;
7
7
  readonly disabled: BooleanConstructor;
8
8
  readonly lazy: BooleanConstructor;
9
+ readonly widget: StringConstructor;
9
10
  };
10
11
  export declare type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>;
11
12
  export declare type TabPaneInstance = InstanceType<typeof TabPane>;
@@ -12,7 +12,8 @@ const tabPaneProps = buildProps({
12
12
  },
13
13
  closable: Boolean,
14
14
  disabled: Boolean,
15
- lazy: Boolean
15
+ lazy: Boolean,
16
+ widget: String
16
17
  });
17
18
 
18
19
  export { tabPaneProps };
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n widget: String\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,MAAM,EAAE,MAAM;AAChB,CAAC;;;;"}
@@ -4,6 +4,7 @@ declare const _default: import("vue").DefineComponent<{
4
4
  readonly closable: BooleanConstructor;
5
5
  readonly disabled: BooleanConstructor;
6
6
  readonly lazy: BooleanConstructor;
7
+ readonly widget: StringConstructor;
7
8
  }, {
8
9
  COMPONENT_NAME: string;
9
10
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -12,6 +13,7 @@ declare const _default: import("vue").DefineComponent<{
12
13
  readonly closable: BooleanConstructor;
13
14
  readonly disabled: BooleanConstructor;
14
15
  readonly lazy: BooleanConstructor;
16
+ readonly widget: StringConstructor;
15
17
  }>> & {
16
18
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
17
19
  }>>;
@@ -43,6 +45,7 @@ declare const _default: import("vue").DefineComponent<{
43
45
  readonly closable: BooleanConstructor;
44
46
  readonly disabled: BooleanConstructor;
45
47
  readonly lazy: BooleanConstructor;
48
+ readonly widget: StringConstructor;
46
49
  }>>, {
47
50
  disabled: boolean;
48
51
  name: import("element-ps/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
@@ -9,7 +9,7 @@ import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
9
9
  import { throwError } from '../../../utils/error.mjs';
10
10
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
11
 
12
- const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
12
+ const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby", "widget"];
13
13
  const __default__ = {
14
14
  name: "PsTabPane"
15
15
  };
@@ -50,7 +50,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
50
  class: normalizeClass(unref(ns).b()),
51
51
  role: "tabpanel",
52
52
  "aria-hidden": !unref(active),
53
- "aria-labelledby": `tab-${unref(paneName)}`
53
+ "aria-labelledby": `tab-${unref(paneName)}`,
54
+ widget: _ctx.widget ? "tab-pane:default:" + _ctx.widget.split(":")[1] : void 0
54
55
  }, [
55
56
  renderSlot(_ctx.$slots, "default")
56
57
  ], 10, _hoisted_1)), [
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n markRaw,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'PsTabPane'\ndefineOptions({\n name: 'PsTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <ps-tabs><ps-tab-pane /></ps-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name || index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\ntabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,OAAA,kBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAA,UAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,QAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,cACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,IAAA,IAAA,KAAA,CAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,MAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,cACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KACA,CAAA,CAAA;AAEA,IAAA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA;AAAA,QAAA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,QAAA,CAAA,gBACA,QAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAA,QAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KACA,CACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n :widget=\"widget ? 'tab-pane:default:' + widget.split(':')[1] : undefined\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n markRaw,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'PsTabPane'\ndefineOptions({\n name: 'PsTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <ps-tabs><ps-tab-pane /></ps-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name || index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\ntabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,OAAA,kBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAA,UAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,QAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,cACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,IAAA,IAAA,KAAA,CAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,MAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,cACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KACA,CAAA,CAAA;AAEA,IAAA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA;AAAA,QAAA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,QAAA,CAAA,gBACA,QAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAA,QAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KACA,CACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -48,6 +48,7 @@ declare const _default: import("vue").DefineComponent<{
48
48
  readonly label: string;
49
49
  readonly closable: boolean;
50
50
  readonly lazy: boolean;
51
+ readonly widget?: string | undefined;
51
52
  };
52
53
  paneName: string | number | undefined;
53
54
  active: boolean;
@@ -80,6 +81,7 @@ declare const _default: import("vue").DefineComponent<{
80
81
  readonly label: string;
81
82
  readonly closable: boolean;
82
83
  readonly lazy: boolean;
84
+ readonly widget?: string | undefined;
83
85
  };
84
86
  paneName: string | number | undefined;
85
87
  active: boolean;
@@ -1,4 +1,4 @@
1
- import { Fragment, defineComponent, getCurrentInstance, computed, ref, onUpdated, onMounted, provide, createVNode, renderSlot } from 'vue';
1
+ import { Fragment, defineComponent, getCurrentInstance, computed, ref, onUpdated, onMounted, watch, nextTick, provide, createVNode, renderSlot } from 'vue';
2
2
  import { isString, isFunction, isPromise, NOOP } from '@vue/shared';
3
3
  import '../../../utils/index.mjs';
4
4
  import '../../../constants/index.mjs';
@@ -148,6 +148,15 @@ var Tabs = defineComponent({
148
148
  };
149
149
  onUpdated(() => updatePaneInstances());
150
150
  onMounted(() => updatePaneInstances());
151
+ watch(() => props.activeName, (modelValue) => setCurrentName(modelValue));
152
+ watch(() => props.modelValue, (modelValue) => setCurrentName(modelValue));
153
+ watch(currentName, async () => {
154
+ var _a, _b;
155
+ updatePaneInstances(true);
156
+ await nextTick();
157
+ await ((_a = nav$.value) == null ? void 0 : _a.$nextTick());
158
+ (_b = nav$.value) == null ? void 0 : _b.scrollToActiveTab();
159
+ });
151
160
  provide(tabsRootContextKey, {
152
161
  props,
153
162
  currentName,
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isFunction,\n isNumber,\n isPromise,\n isString,\n} from '@element-ps/utils'\nimport {\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-ps/constants'\nimport PsIcon from '@element-ps/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { useDeprecated, useNamespace } from '@element-ps/hooks'\nimport TabNav from './tab-nav'\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from '@element-ps/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n ExtractPropTypes,\n Ref,\n VNode,\n} from 'vue'\nimport type { Awaitable } from '@element-ps/utils'\n\nexport type TabPanelName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newName: TabPanelName,\n oldName: TabPanelName\n ) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPanelName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPanelName) => isPanelName(name),\n /** @deprecated use `tab-change` instead */\n [INPUT_EVENT]: (name: TabPanelName) => isPanelName(name),\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n 'tab-change': (name: TabPanelName) => isPanelName(name),\n edit: (paneName: TabPanelName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n 'tab-remove': (name: TabPanelName) => isPanelName(name),\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'PsTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'PsTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n\n useDeprecated(\n {\n scope: 'el-tabs',\n type: 'Event',\n from: 'input',\n replacement: 'tab-change',\n version: '2.5.0',\n ref: 'https://element-ps.org/en-US/component/tabs.html#tabs-events',\n },\n computed(() => isFunction(instance.vnode.props?.onInput))\n )\n\n const ns = useNamespace('tabs')\n\n const nav$ = ref<TabNavInstance>()\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === ns.e('content')\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) => pane.uid === panes.value[index].uid\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: TabPanelName) => {\n currentName.value = value\n /** @deprecated use `tab-change` instead */\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n emit('tab-change', value)\n }\n\n const setCurrentName = (value: TabPanelName) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPanelName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n >\n <PsIcon class={ns.is('icon-plus')}>\n <Plus />\n </PsIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={panes.value}\n stretch={props.stretch}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","name","edit","isPanelName","getPaneInstanceFromSlot","vnode","children","paneInstanceList","props","emits","expose","instance","getCurrentInstance","useDeprecated","scope","from","replacement","version","ref","computed","ns","nav$","paneStatesMap","slots","content","Array","class","panesChanged","panes","length","changeCurrentName","currentName","emit","INPUT_EVENT","value","UPDATE_MODEL_EVENT","setCurrentName","canLeave","isPromise","NOOP","handleTabClick","tabName","tab","disabled","ev","handleTabAdd","_createVNode","onUpdated","updatePaneInstances","onMounted","pane","newButton","is"],"mappings":";;;;;;;;;;;;;;;;AA8CaA,MAAAA,SAAS,GAAGC,UAAU,CAAC;AAClCC,EAAAA,IAAI,EAAE;AACJA,IAAAA,IAAI,EAAEC,MADF;AAEJC,IAAAA,MAAM,EAAE,CAAC,MAAD,EAAS,aAAT,EAAwB,EAAxB,CAFJ;AAGJC,IAAAA,OAAO,EAAE,EAAA;GAJuB;AAMlCC,EAAAA,UAAU,EAAE;AACVJ,IAAAA,IAAI,EAAE,CAACC,MAAD,EAASI,MAAT,CADI;AAEVF,IAAAA,OAAO,EAAE,EAAA;GARuB;AAUlCG,EAAAA,QAAQ,EAAEC,OAVwB;AAWlCC,EAAAA,OAAO,EAAED,OAXyB;AAYlCE,EAAAA,UAAU,EAAE;AACVT,IAAAA,IAAI,EAAE,CAACC,MAAD,EAASI,MAAT,CADI;AAEVF,IAAAA,OAAO,EAAE,EAAA;GAduB;AAgBlCO,EAAAA,QAAQ,EAAEH,OAhBwB;AAiBlCI,EAAAA,WAAW,EAAE;AACXX,IAAAA,IAAI,EAAEC,MADK;IAEXC,MAAM,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,EAA2B,MAA3B,CAFG;AAGXC,IAAAA,OAAO,EAAE,KAAA;GApBuB;AAsBlCS,EAAAA,WAAW,EAAE;AACXZ,IAAAA,IAAI,EAAEa,cAAc,CAKlBC,QALkB,CADT;AAOXX,IAAAA,OAAO,EAAE,MAAM,IAAA;GA7BiB;AA+BlCY,EAAAA,OAAO,EAAER,OAAAA;AA/ByB,CAAD,EAA5B;;AAmCU,MAAA,SAAG,GAAA;;AAGpB,EAAO,CAAA,mBAAe,KAAG,WAAA,CAAA,IAAA,CAAA;AACvB,EAAA,oBAAuBS,EAAAA,mBAAkC,KAAA;;AACzD,EAAA,IAAA,EAAA,CAAA,QAAA,EAAA,MAAA,KAAA,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA,QAAA,CAAA,MAAA,CAAA;AACA,EAAA,YAAA,EAAgBA,CAAAA,IAAD,KAAmC,WAACA,KAH5B,CAAA;AAIvB,EAAA,SAAA,EAAA,MAAa;AACb,EAAA;AACAC,MAAI,uBACF,GAAA,CAAA,KAAA,EAAA,gBAAA,UAPqB;AAQvB,EAAA,MAAA,QAAeD,GAAD,KAAwBE,CAAW,QAAA,OAAA;AACjD,EAAA,KAAA,CAAA,IAAA,CAAW,QAAM,CAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAA;AATM,IAAlB,IAAA,IAAA,GAAA,IAAA,CAAA,IAAA,CAAA;;AAaP,IAAMC,IAAAA,IAAAA,KAAAA,WAAAA,IAA0B,IAC9BC,CAAAA,SAC6C,EAAA;AAE7C,MAAA,gBAAkBA,CAAAA,IAAMC,CAAAA,IAAAA,CAAN,SAAlB,CAAA,CAAA;KACK,UAAMA,IAAAA,KAAX,YAAuC,IAAA,KAAA,UAAA,EAAA;AACrC,MAAA,uBAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAA;AACArB,KAAAA;;AACA,EAAA,uBAAa,CAAA;AACXsB,CAAAA,CAAAA;WACStB;AACTmB,EAAAA,IAAAA,EAAAA,QAAAA;AACD,EAAA,KAAA,EAAA,SAAA;EACF,KARD,EAAA,SAAA;AASA,EAAA,KAAA,CAAA,KAAA,EAAA;AACD,IAfD,IAAA;;AAiBA,IAAA,MAAA;AACEH,GAAAA,EAAAA;AAEAO,IAAAA,MAH6B,QAAA,GAAA,kBAAA,EAAA,CAAA;AAI7BC,IAAAA,aAJ6B,CAAA;;MAMxB,aAAQ;MAAA,IAAA,EAAA,OAAA;MAAA,WAAA,EAAA,YAAA;AAAeC,MAAAA,OAAAA,EAAAA,OAAAA;AAAf,MAAyB,GAAA,EAAA,8DAAA;KAC9BC,EAAAA,QAAAA,CAAAA,MAAWC;AAEjBC,MAAAA,IAAAA,EAAAA,CAAAA;AAEIC,MAAAA,OAAO,UADT,CAAA,CAAA,EAAA,GAAA,QAAA,CAAA,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAEE7B,KAAAA,CAAAA,CAAAA,CAAAA;AACA8B,IAAAA,MAAI,EAAE,GAHR,YAAA,CAAA,MAAA,CAAA,CAAA;AAIEC,IAAAA,MAAAA,IAAAA,GAAW,GAJb,EAAA,CAAA;AAKEC,IAAAA,MAAAA,KAAS,GALX,GAAA,CAAA,EAAA,CAAA,CAAA;AAMEC,IAAAA,MAAK,WAAA,GAAA,GAAA,CAAA,KAAA,CAAA,UAAA,IAAA,KAAA,CAAA,UAAA,IAAA,GAAA,CAAA,CAAA;AANP,IAAA,MAQAC;AAGF,IAAA,MAAMC,oCAAN,GAAA,KAAA,KAAA;MAEMC,IAAAA,KAAOH,CAAAA,OAAb,EAAA;AACA,QAAA,MAAmC,QAAO,GAA1C,QAAA,CAAA,OAAA,CAAA,QAAA,CAAA;AACA,QAAA,MAAiB,OAAA,GAAGA,KAAS,CAAA,IAACxB,CAAN,QAAA,CAAA,CAAA,IAAyB,CAAA,CAAA;UAE3C4B,KAAAA,EAAAA,MAA8C;;AAEpD,QAAA;UACMC,OAAMnC;AACR,QAAA,MAAMkB,gBAAWK,GAAQ,uBAAzB,CAAA,OAAA,CAAA,CAAA,GAAA,CAAA,CAAA,aAAA,KAAA,aAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA;QACA,MAAMa,YAAUC,GAAK,EAACV,gBAAN,CAAA,MACb,KAAA,KAAA,CAAA,KAAA,CAAA,MAAA,IAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,IAAA,EAAA,KAAA,KAAA,IAAA,CAAA,GAAA,KAAA,KAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAEP,QAAAA,IAAAA,aAAAA,IAAAA,YAAAA,EAAAA;UAAH,KAAoB,CAAA,KAAEkB,GAAP,gBAAiB,CAAA;SAE9B;AAEJ,OAAA,MAAA,sBAA4CtB,KAAAA,CAAAA,EAAAA;AAI5C,QAAA,KAAA,CAAMuB,KAAY,GAAA,EAAA,CAAA;;;UAQhBC,iBAAA,GAAA,CAAA,KAAA,KAAA;AACD,MAAA,WAAA,CAAA,KAAA,GAAA,KAAA,CAAA;MACF,IArBD,CAAA,WAqBgB,OAAOC,CAAAA,CAAAA;UAChB,CAAA,kBAAL,EAAA,KAAA,CAAA,CAAA;AACD,MAAA,IAAA,CAAA,YAAA,EAAA,KAAA,CAAA,CAAA;KAxBH,CAAA;;MA2BMC,IAAAA,EAAAA,CAAAA;MACJC,IAAW,WAAX,CAAA,KAAA,KAAA,KAAA;AACA,QAAA,OAAA;;AACAC,MAAAA,IAAI,SAACC,CAAAA,QAAaC,CAAd,EAAJ;AACAF,QAAAA,QAAKG,CAAAA,IAAAA,CAAAA,MAAAA;AACLH,UAAI,IAAC,GAAA,EAAA,EAAA,CAAA;UALP,iBAAA,CAAA,KAAA,CAAA,CAAA;;SAQMI,EAAAA,IAAAA,CAAAA,CAAAA;AACJ,OAAA,MAAA,IAAA,QAAA,KAAA,KAAA,EAAA;AACA,QAAA,iBAAI,CAAA,KAAA,CAAsBF;OAEpBG;;AACN,IAAA,MAAIC,cAAS,GAAA,CAAA,GAAY,EAAA,OAAA,EAAA,KAAA,KAAA;UACf,GAAA,CAAA,KAAR,CAAA,QACQ;AACJR,QAAAA,OAAAA;AAGA,MAAA,cAAA,CAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,WAAA,EAAA,GAAA,EAAA,KAAA,CAAA,CAAA;;UACAT,eAAA,GAAA,CAAA,IAAA,EAAA,EAAA,KAAA;AACD,MAAA,IACD,IAAA,CAAA,KAAA,CAAA,QAAA;QACAkB,OAVF;AAYD,MAAA,EAAM,CAAA,eAAY,EAAA,CAAA;UACA,CAAA,MAAA,EAAA,IAAA,CAAA,UAAjB,EAAA,QAAA,CAAA,CAAA;AACD,MAAA,IAAA,CAAA,YAAA,EAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;KApBH,CAAA;;MAuBMC,IAAAA,CAAAA,MAAAA,EAAAA,KAAc,GAAG,MAErBC,CAFqB;AAKrB,MAAA,IAAIC,CAAG,SAAOC;MACdP;AACAJ,IAAAA,SAAI,CAAA,MAAA,mBAAJ,EAAA,CAAA,CAAA;IACD,SARD,CAAA,MAAA,mBAAA,EAAA,CAAA,CAAA;;AAUA,MAAA;AACE,MAAA,WAAI;AACJY,MAAAA,eAAA,EAAA,CAAA,IAAA,KAAA,aAAA,CAAA,IAAA,CAAA,GAAA,CAAA,GAAA,IAAA;MACAZ,CAAI;UACA,CAAC;MAJP,WAAA;;IAOA,OAAMa,MAAAA;AACJb,MAAAA,MAAI,SAAA,GAAA,KAAA,CAAoB,QAAxB,IAAA,KAAA,CAAA,OAAA,GAAAc,WAAA,CAAA,MAAA,EAAA;QACI,YAAA,CAAJ,CAAA,SAAA,CAAA;QAFF,UAAA,EAAA,GAAA;;AAKAC,QAAAA,OAAU,EAAA,EAAA,CAAMC,EAAmB,CAAA,WAAA,CAAA;AACnCC,OAAAA,EAAAA;QAEO,2BAAqB,CAAA,IAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;OAAA,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA;MAE1BlB,MAF0B,MAAA,GAAAe,WAAA,CAAA,KAAA,EAAA;QAGX,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAGI,QAAU5B,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,CAAAA,KAAc4B,CAAI,WAAQA,CAAAA,CAAAA;AAH5B,OAA5B,EAAA,CAAA,SAAA,EAAAJ,WAAA,CAAA,MAAA,EAAA;AAMApC,QAAAA,KAAO,EAAA,IAAA;AACLqB,QAAAA,aAAAA,EAAAA,WAAAA,CAAAA,KAAAA;AADK,QAAP,UAAA,EAAA,KAAA,CAAA,QAAA;AAIA,QAAA,MAAa,EAAA,KAAA,CAAA,IAAA;QACLoB,OAAAA,EAAAA,WACC;AAAL,QAAA,SAEW/B,EAAE,aAFb;SAGa,IAAA,CAAA,CAAA,CAAA,CAAA;AAHb,MAAA,MAAA,MAAA,GAAA0B,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAKmB1B,EAAE,CAACgC,CAAH,CAAA,SAAA,CAAA;AALnB,OAAA,EAAA,CAAA,UAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OAAAN,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OADF,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,WAAA,CAAA,EAAA;;AAYA,UAAA,CAAA,EAAY,CAAA,CAAA,CAAA,aAAA,CAAA,GAAA,KAAA,CAAA,IAAA,KAAA,aAAA;AAAA,SAAA,CAAA;AAAA,OAAA,EAAA,CAEPK,GAFO,KAAA,CAAA,WAAA,KAAA,QAAA,GAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n buildProps,\n definePropType,\n isFunction,\n isNumber,\n isPromise,\n isString,\n} from '@element-ps/utils'\nimport {\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-ps/constants'\nimport PsIcon from '@element-ps/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { useDeprecated, useNamespace } from '@element-ps/hooks'\nimport TabNav from './tab-nav'\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from '@element-ps/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n ExtractPropTypes,\n Ref,\n VNode,\n} from 'vue'\nimport type { Awaitable } from '@element-ps/utils'\n\nexport type TabPanelName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newName: TabPanelName,\n oldName: TabPanelName\n ) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPanelName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPanelName) => isPanelName(name),\n /** @deprecated use `tab-change` instead */\n [INPUT_EVENT]: (name: TabPanelName) => isPanelName(name),\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n 'tab-change': (name: TabPanelName) => isPanelName(name),\n edit: (paneName: TabPanelName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n 'tab-remove': (name: TabPanelName) => isPanelName(name),\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'PsTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'PsTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n\n useDeprecated(\n {\n scope: 'el-tabs',\n type: 'Event',\n from: 'input',\n replacement: 'tab-change',\n version: '2.5.0',\n ref: 'https://element-ps.org/en-US/component/tabs.html#tabs-events',\n },\n computed(() => isFunction(instance.vnode.props?.onInput))\n )\n\n const ns = useNamespace('tabs')\n\n const nav$ = ref<TabNavInstance>()\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === ns.e('content')\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) => pane.uid === panes.value[index].uid\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: TabPanelName) => {\n currentName.value = value\n /** @deprecated use `tab-change` instead */\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n emit('tab-change', value)\n }\n\n const setCurrentName = (value: TabPanelName) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPanelName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n >\n <PsIcon class={ns.is('icon-plus')}>\n <Plus />\n </PsIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={panes.value}\n stretch={props.stretch}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","name","edit","isPanelName","getPaneInstanceFromSlot","vnode","children","paneInstanceList","props","emits","expose","instance","getCurrentInstance","useDeprecated","scope","from","replacement","version","ref","computed","ns","nav$","paneStatesMap","slots","content","Array","class","panesChanged","panes","length","changeCurrentName","currentName","emit","INPUT_EVENT","value","UPDATE_MODEL_EVENT","setCurrentName","canLeave","isPromise","NOOP","handleTabClick","tabName","tab","disabled","handleTabRemove","ev","pane","handleTabAdd","onUpdated","onMounted","watch","updatePaneInstances","_createVNode","tabsRootContextKey","newButton"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import Tooltip from './src/tooltip.mjs';
3
- export { useTooltipContentProps, useTooltipProps, useTooltipTriggerProps } from './src/tooltip2.mjs';
2
+ import Tooltip from './src/tooltip2.mjs';
3
+ export { useTooltipContentProps, useTooltipProps, useTooltipTriggerProps } from './src/tooltip.mjs';
4
4
  export { TOOLTIP_INJECTION_KEY } from './src/tokens.mjs';
5
5
  import { withInstall } from '../../utils/vue/install.mjs';
6
6