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
@@ -2,30 +2,57 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var props = require('../../../utils/vue/props.js');
5
+ var vue = require('vue');
6
+ require('../../../hooks/index.js');
7
+ var skeleton = require('./skeleton.js');
8
+ var skeletonItem = require('./skeleton-item2.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
11
+ var index$1 = require('../../../hooks/use-throttle-render/index.js');
7
12
 
8
- const skeletonProps = props.buildProps({
9
- animated: {
10
- type: Boolean,
11
- default: false
12
- },
13
- count: {
14
- type: Number,
15
- default: 1
16
- },
17
- rows: {
18
- type: Number,
19
- default: 3
20
- },
21
- loading: {
22
- type: Boolean,
23
- default: true
24
- },
25
- throttle: {
26
- type: Number
13
+ const __default__ = {
14
+ name: "PsSkeleton"
15
+ };
16
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...__default__,
18
+ props: skeleton.skeletonProps,
19
+ setup(__props, { expose }) {
20
+ const props = __props;
21
+ const ns = index.useNamespace("skeleton");
22
+ const uiLoading = index$1.useThrottleRender(vue.toRef(props, "loading"), props.throttle);
23
+ expose({
24
+ uiLoading
25
+ });
26
+ return (_ctx, _cache) => {
27
+ return vue.unref(uiLoading) ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
28
+ key: 0,
29
+ class: [vue.unref(ns).b(), vue.unref(ns).is("animated", _ctx.animated)]
30
+ }, _ctx.$attrs), [
31
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.count, (i) => {
32
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: i }, [
33
+ _ctx.loading ? vue.renderSlot(_ctx.$slots, "template", { key: i }, () => [
34
+ vue.createVNode(skeletonItem["default"], {
35
+ class: vue.normalizeClass(vue.unref(ns).is("first")),
36
+ variant: "p"
37
+ }, null, 8, ["class"]),
38
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.rows, (item) => {
39
+ return vue.openBlock(), vue.createBlock(skeletonItem["default"], {
40
+ key: item,
41
+ class: vue.normalizeClass([
42
+ vue.unref(ns).e("paragraph"),
43
+ vue.unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
44
+ ]),
45
+ variant: "p"
46
+ }, null, 8, ["class"]);
47
+ }), 128))
48
+ ]) : vue.createCommentVNode("v-if", true)
49
+ ], 64);
50
+ }), 128))
51
+ ], 16)) : vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.mergeProps({ key: 1 }, _ctx.$attrs)));
52
+ };
27
53
  }
28
54
  });
55
+ var Skeleton = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/skeleton/src/skeleton.vue"]]);
29
56
 
30
- exports.skeletonProps = skeletonProps;
57
+ exports["default"] = Skeleton;
31
58
  //# sourceMappingURL=skeleton2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton2.js","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":["buildProps"],"mappings":";;;;;;;AACY,MAAC,aAAa,GAAGA,gBAAU,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.js","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":["useNamespace","useThrottleRender","toRef"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmCA,IAAA,MAAA,EAAA,GAAAA,mBAAA,UAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAAC,yBAAA,CAAAC,SAAA,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;
@@ -245,7 +245,8 @@ const TabNav = vue.defineComponent({
245
245
  if (closable && (ev.code === aria.EVENT_CODE.delete || ev.code === aria.EVENT_CODE.backspace)) {
246
246
  props.onTabRemove(pane, ev);
247
247
  }
248
- }
248
+ },
249
+ "widget": pane.props.widget ? "tab-pane:label:" + pane.props.widget.split(":")[1] : void 0
249
250
  }, [...[tabLabelContent, btnClose]]);
250
251
  });
251
252
  return vue.createVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.js","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","inject","tabsRootContextKey","throwError","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","EVENT_CODE","down","currentTarget","currentIndex","nextIndex","tabList","watch","focus","click","setFocus","_createVNode","setTimeout","PsIcon","ArrowLeft","useResizeObserver","onUpdated","ArrowRight","removeFocus","scrollBtn","Close","map","pane","tabName","closable","btnClose","ev","tabindex","active","tabLabelContent","TabBar"],"mappings":"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"}
1
+ {"version":3,"file":"tab-nav.js","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","inject","tabsRootContextKey","throwError","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","EVENT_CODE","down","currentTarget","currentIndex","nextIndex","tabList","watch","focus","click","setFocus","_createVNode","setTimeout","PsIcon","ArrowLeft","useResizeObserver","onUpdated","ArrowRight","removeFocus","scrollBtn","Close","map","pane","tabName","closable","btnClose","ev","tabindex","active","delete","backspace","tabLabelContent","TabBar"],"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>;
@@ -16,7 +16,8 @@ const tabPaneProps = props.buildProps({
16
16
  },
17
17
  closable: Boolean,
18
18
  disabled: Boolean,
19
- lazy: Boolean
19
+ lazy: Boolean,
20
+ widget: String
20
21
  });
21
22
 
22
23
  exports.tabPaneProps = tabPaneProps;
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane.js","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":["buildProps"],"mappings":";;;;;;;AACY,MAAC,YAAY,GAAGA,gBAAU,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.js","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":["buildProps"],"mappings":";;;;;;;AACY,MAAC,YAAY,GAAGA,gBAAU,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>;
@@ -13,7 +13,7 @@ var tabs = require('../../../tokens/tabs.js');
13
13
  var error = require('../../../utils/error.js');
14
14
  var index = require('../../../hooks/use-namespace/index.js');
15
15
 
16
- const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
16
+ const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby", "widget"];
17
17
  const __default__ = {
18
18
  name: "PsTabPane"
19
19
  };
@@ -54,7 +54,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
54
  class: vue.normalizeClass(vue.unref(ns).b()),
55
55
  role: "tabpanel",
56
56
  "aria-hidden": !vue.unref(active),
57
- "aria-labelledby": `tab-${vue.unref(paneName)}`
57
+ "aria-labelledby": `tab-${vue.unref(paneName)}`,
58
+ widget: _ctx.widget ? "tab-pane:default:" + _ctx.widget.split(":")[1] : void 0
58
59
  }, [
59
60
  vue.renderSlot(_ctx.$slots, "default")
60
61
  ], 10, _hoisted_1)), [
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane2.js","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":["getCurrentInstance","inject","tabsRootContextKey","throwError","useNamespace","index","ref","computed","eagerComputed","watch","reactive","markRaw"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAAA,sBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAAC,WAAAC,uBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAAC,gBAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAAC,mBAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAAC,UAAAC,OAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAAC,YAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAAC,mBACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,IAAA,IAAAH,OAAA,CAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAAC,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAAC,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAAF,QAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAAG,mBACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KACA,CAAA,CAAA;AAEA,IAAAC,SAAA,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,gBACAC,YAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAAC,YAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,aACAN,OAAA;AAAA,MACA,UAAA;AAAA,KACA,CACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tab-pane2.js","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":["getCurrentInstance","inject","tabsRootContextKey","throwError","useNamespace","index","ref","computed","eagerComputed","watch","reactive","markRaw"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAAA,sBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAAC,WAAAC,uBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAAC,gBAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAAC,mBAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAAC,UAAAC,OAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAAC,YAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAAC,mBACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,IAAA,IAAAH,OAAA,CAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAAC,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAAC,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAAF,QAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAAG,mBACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KACA,CAAA,CAAA;AAEA,IAAAC,SAAA,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,gBACAC,YAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAAC,YAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,aACAN,OAAA;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;
@@ -152,6 +152,15 @@ var Tabs = vue.defineComponent({
152
152
  };
153
153
  vue.onUpdated(() => updatePaneInstances());
154
154
  vue.onMounted(() => updatePaneInstances());
155
+ vue.watch(() => props.activeName, (modelValue) => setCurrentName(modelValue));
156
+ vue.watch(() => props.modelValue, (modelValue) => setCurrentName(modelValue));
157
+ vue.watch(currentName, async () => {
158
+ var _a, _b;
159
+ updatePaneInstances(true);
160
+ await vue.nextTick();
161
+ await ((_a = nav$.value) == null ? void 0 : _a.$nextTick());
162
+ (_b = nav$.value) == null ? void 0 : _b.scrollToActiveTab();
163
+ });
155
164
  vue.provide(tabs.tabsRootContextKey, {
156
165
  props,
157
166
  currentName,
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","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","INPUT_EVENT","name","edit","isPanelName","getPaneInstanceFromSlot","vnode","children","Fragment","paneInstanceList","props","getCurrentInstance","emits","expose","instance","useDeprecated","scope","isFunction","from","useNamespace","replacement","ref","version","computed","ns","nav$","paneStatesMap","slots","content","Array","class","panesChanged","panes","length","UPDATE_MODEL_EVENT","changeCurrentName","currentName","emit","isPromise","value","setCurrentName","canLeave","NOOP","handleTabClick","tabName","tab","disabled","onMounted","ev","handleTabAdd","_createVNode","onUpdated","updatePaneInstances","Plus","pane","TabNav","newButton","is","renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","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","INPUT_EVENT","name","edit","isPanelName","getPaneInstanceFromSlot","vnode","children","Fragment","paneInstanceList","props","getCurrentInstance","emits","expose","instance","useDeprecated","scope","isFunction","from","useNamespace","replacement","ref","version","computed","ns","nav$","paneStatesMap","slots","content","Array","class","panesChanged","panes","length","UPDATE_MODEL_EVENT","changeCurrentName","currentName","emit","isPromise","value","setCurrentName","canLeave","NOOP","handleTabClick","tabName","tab","disabled","onMounted","watch","handleTabRemove","ev","pane","handleTabAdd","tabsRootContextKey","onUpdated","updatePaneInstances","_createVNode","PsIcon","Plus","TabNav","newButton","renderSlot"],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var tooltip$1 = require('./src/tooltip.js');
7
- var tooltip = require('./src/tooltip2.js');
6
+ var tooltip$1 = require('./src/tooltip2.js');
7
+ var tooltip = require('./src/tooltip.js');
8
8
  var tokens = require('./src/tokens.js');
9
9
  var install = require('../../utils/vue/install.js');
10
10