beyond-webui 1.1.44 → 1.1.46

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 (796) hide show
  1. package/dist/index.full.js +488 -252
  2. package/dist/index.full.min.js +23 -23
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +24 -24
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +489 -254
  7. package/es/components/autocomplete/index.d.ts +10 -10
  8. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  9. package/es/components/autocomplete/src/autocomplete.vue.d.ts +10 -10
  10. package/es/components/avatar/index.mjs +2 -2
  11. package/es/components/avatar/src/avatar.mjs +32 -67
  12. package/es/components/avatar/src/avatar.mjs.map +1 -1
  13. package/es/components/avatar/src/avatar2.mjs +67 -32
  14. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  15. package/es/components/backtop/index.mjs +2 -2
  16. package/es/components/backtop/src/backtop.mjs +21 -54
  17. package/es/components/backtop/src/backtop.mjs.map +1 -1
  18. package/es/components/backtop/src/backtop2.mjs +54 -21
  19. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  20. package/es/components/badge/index.mjs +2 -2
  21. package/es/components/badge/src/badge.mjs +55 -17
  22. package/es/components/badge/src/badge.mjs.map +1 -1
  23. package/es/components/badge/src/badge2.mjs +17 -55
  24. package/es/components/badge/src/badge2.mjs.map +1 -1
  25. package/es/components/breadcrumb/index.mjs +2 -2
  26. package/es/components/breadcrumb/src/breadcrumb.mjs +11 -36
  27. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  28. package/es/components/breadcrumb/src/breadcrumb2.mjs +36 -11
  29. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  30. package/es/components/button/index.d.ts +1 -1
  31. package/es/components/button/index.mjs +2 -2
  32. package/es/components/button/src/button-group2.mjs +1 -1
  33. package/es/components/button/src/button.mjs +57 -76
  34. package/es/components/button/src/button.mjs.map +1 -1
  35. package/es/components/button/src/button.vue.d.ts +1 -1
  36. package/es/components/button/src/button2.mjs +76 -57
  37. package/es/components/button/src/button2.mjs.map +1 -1
  38. package/es/components/calendar/index.d.ts +1 -1
  39. package/es/components/calendar/index.mjs +2 -2
  40. package/es/components/calendar/src/calendar.mjs +18 -131
  41. package/es/components/calendar/src/calendar.mjs.map +1 -1
  42. package/es/components/calendar/src/calendar.vue.d.ts +1 -1
  43. package/es/components/calendar/src/calendar2.mjs +131 -18
  44. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  45. package/es/components/card/index.mjs +2 -2
  46. package/es/components/card/src/card.mjs +16 -35
  47. package/es/components/card/src/card.mjs.map +1 -1
  48. package/es/components/card/src/card2.mjs +35 -16
  49. package/es/components/card/src/card2.mjs.map +1 -1
  50. package/es/components/carousel/index.d.ts +36 -2
  51. package/es/components/carousel/index.mjs +1 -1
  52. package/es/components/carousel/src/carousel-item.mjs +18 -11
  53. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  54. package/es/components/carousel/src/carousel-item.vue.d.ts +4 -1
  55. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  56. package/es/components/carousel/src/carousel.d.ts +7 -0
  57. package/es/components/carousel/src/carousel.mjs +148 -84
  58. package/es/components/carousel/src/carousel.mjs.map +1 -1
  59. package/es/components/carousel/src/carousel.vue.d.ts +28 -0
  60. package/es/components/carousel/src/carousel2.mjs +6 -1
  61. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  62. package/es/components/carousel/src/constants.d.ts +6 -2
  63. package/es/components/carousel/src/constants.mjs +2 -1
  64. package/es/components/carousel/src/constants.mjs.map +1 -1
  65. package/es/components/carousel/src/instance.d.ts +2 -2
  66. package/es/components/carousel/src/use-carousel-item.d.ts +2 -1
  67. package/es/components/carousel/src/use-carousel-item.mjs +35 -34
  68. package/es/components/carousel/src/use-carousel-item.mjs.map +1 -1
  69. package/es/components/carousel/src/use-carousel.d.ts +18 -0
  70. package/es/components/carousel/src/use-carousel.mjs +77 -11
  71. package/es/components/carousel/src/use-carousel.mjs.map +1 -1
  72. package/es/components/cascader/index.d.ts +28 -28
  73. package/es/components/cascader/index.mjs +2 -2
  74. package/es/components/cascader/src/cascader.mjs +619 -61
  75. package/es/components/cascader/src/cascader.mjs.map +1 -1
  76. package/es/components/cascader/src/cascader.vue.d.ts +14 -14
  77. package/es/components/cascader/src/cascader2.mjs +61 -619
  78. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  79. package/es/components/cascader-panel/index.d.ts +2 -2
  80. package/es/components/cascader-panel/src/index.mjs +1 -1
  81. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  82. package/es/components/cascader-panel/src/menu.mjs +1 -1
  83. package/es/components/cascader-panel/src/node.mjs +209 -116
  84. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  85. package/es/components/cascader-panel/src/node2.mjs +116 -209
  86. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  87. package/es/components/cascader-panel/src/store.mjs +1 -1
  88. package/es/components/checkbox/index.mjs +2 -2
  89. package/es/components/checkbox/src/checkbox-group.mjs +72 -28
  90. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  91. package/es/components/checkbox/src/checkbox-group2.mjs +28 -72
  92. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  93. package/es/components/col/index.d.ts +1 -1
  94. package/es/components/col/index.mjs +2 -2
  95. package/es/components/col/src/col.mjs +66 -43
  96. package/es/components/col/src/col.mjs.map +1 -1
  97. package/es/components/col/src/col.vue.d.ts +1 -1
  98. package/es/components/col/src/col2.mjs +43 -66
  99. package/es/components/col/src/col2.mjs.map +1 -1
  100. package/es/components/collapse/index.mjs +2 -2
  101. package/es/components/collapse/src/collapse.mjs +17 -30
  102. package/es/components/collapse/src/collapse.mjs.map +1 -1
  103. package/es/components/collapse/src/collapse2.mjs +30 -17
  104. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  105. package/es/components/collection/index.mjs +1 -1
  106. package/es/components/collection/src/collection.mjs +62 -10
  107. package/es/components/collection/src/collection.mjs.map +1 -1
  108. package/es/components/collection/src/collection2.mjs +10 -62
  109. package/es/components/collection/src/collection2.mjs.map +1 -1
  110. package/es/components/color-picker/index.d.ts +11 -11
  111. package/es/components/color-picker/index.mjs +2 -2
  112. package/es/components/color-picker/src/color-picker.mjs +321 -38
  113. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  114. package/es/components/color-picker/src/color-picker.vue.d.ts +11 -11
  115. package/es/components/color-picker/src/color-picker2.mjs +38 -321
  116. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  117. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  118. package/es/components/countdown/index.mjs +2 -2
  119. package/es/components/countdown/src/countdown.mjs +23 -74
  120. package/es/components/countdown/src/countdown.mjs.map +1 -1
  121. package/es/components/countdown/src/countdown2.mjs +74 -23
  122. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  123. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  124. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  125. package/es/components/date-picker/src/panel-utils.d.ts +2 -2
  126. package/es/components/descriptions/index.mjs +2 -2
  127. package/es/components/descriptions/src/description.mjs +25 -111
  128. package/es/components/descriptions/src/description.mjs.map +1 -1
  129. package/es/components/descriptions/src/description2.mjs +111 -25
  130. package/es/components/descriptions/src/description2.mjs.map +1 -1
  131. package/es/components/descriptions/src/descriptions-row.mjs +64 -7
  132. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  133. package/es/components/descriptions/src/descriptions-row2.mjs +7 -64
  134. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  135. package/es/components/dialog/index.mjs +2 -2
  136. package/es/components/dialog/src/dialog-content.mjs +37 -95
  137. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  138. package/es/components/dialog/src/dialog-content2.mjs +95 -37
  139. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  140. package/es/components/dialog/src/dialog.mjs +172 -74
  141. package/es/components/dialog/src/dialog.mjs.map +1 -1
  142. package/es/components/dialog/src/dialog2.mjs +74 -172
  143. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  144. package/es/components/divider/index.mjs +2 -2
  145. package/es/components/divider/src/divider.mjs +17 -35
  146. package/es/components/divider/src/divider.mjs.map +1 -1
  147. package/es/components/divider/src/divider2.mjs +35 -17
  148. package/es/components/divider/src/divider2.mjs.map +1 -1
  149. package/es/components/drawer/index.mjs +2 -2
  150. package/es/components/drawer/src/drawer.mjs +26 -177
  151. package/es/components/drawer/src/drawer.mjs.map +1 -1
  152. package/es/components/drawer/src/drawer2.mjs +177 -26
  153. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  154. package/es/components/dropdown/index.d.ts +7 -7
  155. package/es/components/dropdown/index.mjs +2 -2
  156. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  157. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  158. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  159. package/es/components/dropdown/src/dropdown.mjs +97 -307
  160. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  161. package/es/components/dropdown/src/dropdown.vue.d.ts +7 -7
  162. package/es/components/dropdown/src/dropdown2.mjs +307 -97
  163. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  164. package/es/components/form/index.mjs +2 -2
  165. package/es/components/form/src/form.mjs +152 -55
  166. package/es/components/form/src/form.mjs.map +1 -1
  167. package/es/components/form/src/form2.mjs +55 -152
  168. package/es/components/form/src/form2.mjs.map +1 -1
  169. package/es/components/image/index.mjs +2 -2
  170. package/es/components/image/src/image.mjs +220 -62
  171. package/es/components/image/src/image.mjs.map +1 -1
  172. package/es/components/image/src/image2.mjs +62 -220
  173. package/es/components/image/src/image2.mjs.map +1 -1
  174. package/es/components/index.mjs +46 -46
  175. package/es/components/input/index.mjs +2 -2
  176. package/es/components/input/src/input.mjs +143 -552
  177. package/es/components/input/src/input.mjs.map +1 -1
  178. package/es/components/input/src/input2.mjs +552 -143
  179. package/es/components/input/src/input2.mjs.map +1 -1
  180. package/es/components/input-number/index.mjs +2 -2
  181. package/es/components/input-number/src/input-number.mjs +58 -311
  182. package/es/components/input-number/src/input-number.mjs.map +1 -1
  183. package/es/components/input-number/src/input-number2.mjs +311 -58
  184. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  185. package/es/components/menu/index.mjs +4 -4
  186. package/es/components/menu/src/menu-item-group.mjs +35 -4
  187. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  188. package/es/components/menu/src/menu-item-group2.mjs +4 -35
  189. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  190. package/es/components/menu/src/menu-item.mjs +14 -97
  191. package/es/components/menu/src/menu-item.mjs.map +1 -1
  192. package/es/components/menu/src/menu-item2.mjs +97 -14
  193. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  194. package/es/components/message/index.mjs +1 -1
  195. package/es/components/message/src/message.mjs +198 -91
  196. package/es/components/message/src/message.mjs.map +1 -1
  197. package/es/components/message/src/message.vue.d.ts +2 -2
  198. package/es/components/message/src/message2.mjs +91 -198
  199. package/es/components/message/src/message2.mjs.map +1 -1
  200. package/es/components/message/src/method.mjs +2 -2
  201. package/es/components/notification/src/notification.vue.d.ts +1 -1
  202. package/es/components/pagination/src/components/pager.mjs +17 -214
  203. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  204. package/es/components/pagination/src/components/pager2.mjs +214 -17
  205. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  206. package/es/components/pagination/src/components/prev.mjs +58 -18
  207. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  208. package/es/components/pagination/src/components/prev2.mjs +18 -58
  209. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  210. package/es/components/pagination/src/components/sizes.mjs +68 -22
  211. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  212. package/es/components/pagination/src/components/sizes.vue.d.ts +7 -7
  213. package/es/components/pagination/src/components/sizes2.mjs +22 -68
  214. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  215. package/es/components/pagination/src/pagination.mjs +4 -4
  216. package/es/components/pagination/src/pagination.mjs.map +1 -1
  217. package/es/components/popconfirm/index.d.ts +12 -12
  218. package/es/components/popconfirm/src/popconfirm.mjs +2 -2
  219. package/es/components/popconfirm/src/popconfirm.vue.d.ts +12 -12
  220. package/es/components/popover/index.d.ts +11 -11
  221. package/es/components/popover/src/popover.vue.d.ts +11 -11
  222. package/es/components/popover/src/popover2.mjs +2 -2
  223. package/es/components/popper/index.mjs +4 -4
  224. package/es/components/popper/src/content.vue.d.ts +1 -1
  225. package/es/components/popper/src/popper.mjs +25 -32
  226. package/es/components/popper/src/popper.mjs.map +1 -1
  227. package/es/components/popper/src/popper2.mjs +32 -25
  228. package/es/components/popper/src/popper2.mjs.map +1 -1
  229. package/es/components/popper/src/trigger.mjs +119 -31
  230. package/es/components/popper/src/trigger.mjs.map +1 -1
  231. package/es/components/popper/src/trigger2.mjs +31 -119
  232. package/es/components/popper/src/trigger2.mjs.map +1 -1
  233. package/es/components/progress/index.d.ts +1 -1
  234. package/es/components/progress/index.mjs +2 -2
  235. package/es/components/progress/src/progress.mjs +57 -202
  236. package/es/components/progress/src/progress.mjs.map +1 -1
  237. package/es/components/progress/src/progress.vue.d.ts +1 -1
  238. package/es/components/progress/src/progress2.mjs +202 -57
  239. package/es/components/progress/src/progress2.mjs.map +1 -1
  240. package/es/components/rate/index.mjs +2 -2
  241. package/es/components/rate/src/rate.mjs +255 -87
  242. package/es/components/rate/src/rate.mjs.map +1 -1
  243. package/es/components/rate/src/rate2.mjs +87 -255
  244. package/es/components/rate/src/rate2.mjs.map +1 -1
  245. package/es/components/result/index.mjs +2 -2
  246. package/es/components/result/src/result.mjs +29 -63
  247. package/es/components/result/src/result.mjs.map +1 -1
  248. package/es/components/result/src/result2.mjs +63 -29
  249. package/es/components/result/src/result2.mjs.map +1 -1
  250. package/es/components/roving-focus-group/src/roving-focus-group.mjs +1 -1
  251. package/es/components/row/index.mjs +2 -2
  252. package/es/components/row/src/row.mjs +30 -45
  253. package/es/components/row/src/row.mjs.map +1 -1
  254. package/es/components/row/src/row2.mjs +45 -30
  255. package/es/components/row/src/row2.mjs.map +1 -1
  256. package/es/components/scrollbar/index.mjs +2 -2
  257. package/es/components/scrollbar/src/bar.mjs +17 -42
  258. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  259. package/es/components/scrollbar/src/bar2.mjs +42 -17
  260. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  261. package/es/components/scrollbar/src/scrollbar.mjs +174 -46
  262. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  263. package/es/components/scrollbar/src/scrollbar2.mjs +46 -174
  264. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  265. package/es/components/select/index.d.ts +7 -7
  266. package/es/components/select/src/select.mjs +1 -1
  267. package/es/components/select/src/select.vue.d.ts +7 -7
  268. package/es/components/select/src/useSelect.d.ts +7 -7
  269. package/es/components/select-v2/index.d.ts +16 -16
  270. package/es/components/select-v2/src/defaults.mjs +1 -1
  271. package/es/components/select-v2/src/select.vue.d.ts +8 -8
  272. package/es/components/select-v2/src/useSelect.d.ts +7 -7
  273. package/es/components/skeleton/index.mjs +4 -4
  274. package/es/components/skeleton/src/skeleton-item.mjs +23 -18
  275. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  276. package/es/components/skeleton/src/skeleton-item2.mjs +18 -23
  277. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  278. package/es/components/skeleton/src/skeleton.mjs +22 -49
  279. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  280. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  281. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  282. package/es/components/slider/index.d.ts +15 -15
  283. package/es/components/slider/index.mjs +2 -2
  284. package/es/components/slider/src/button.vue.d.ts +3 -3
  285. package/es/components/slider/src/composables/use-slide.d.ts +12 -12
  286. package/es/components/slider/src/slider.mjs +91 -233
  287. package/es/components/slider/src/slider.mjs.map +1 -1
  288. package/es/components/slider/src/slider.vue.d.ts +15 -15
  289. package/es/components/slider/src/slider2.mjs +233 -91
  290. package/es/components/slider/src/slider2.mjs.map +1 -1
  291. package/es/components/statistic/index.mjs +2 -2
  292. package/es/components/statistic/src/statistic.mjs +25 -70
  293. package/es/components/statistic/src/statistic.mjs.map +1 -1
  294. package/es/components/statistic/src/statistic2.mjs +70 -25
  295. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  296. package/es/components/steps/index.mjs +4 -4
  297. package/es/components/steps/src/item.mjs +19 -188
  298. package/es/components/steps/src/item.mjs.map +1 -1
  299. package/es/components/steps/src/item2.mjs +188 -19
  300. package/es/components/steps/src/item2.mjs.map +1 -1
  301. package/es/components/steps/src/steps.mjs +34 -36
  302. package/es/components/steps/src/steps.mjs.map +1 -1
  303. package/es/components/steps/src/steps2.mjs +36 -34
  304. package/es/components/steps/src/steps2.mjs.map +1 -1
  305. package/es/components/switch/index.mjs +2 -2
  306. package/es/components/switch/src/switch.mjs +241 -88
  307. package/es/components/switch/src/switch.mjs.map +1 -1
  308. package/es/components/switch/src/switch2.mjs +88 -241
  309. package/es/components/switch/src/switch2.mjs.map +1 -1
  310. package/es/components/table/index.d.ts +14 -14
  311. package/es/components/table/src/filter-panel.vue.d.ts +7 -7
  312. package/es/components/table/src/table/defaults.d.ts +2 -2
  313. package/es/components/table/src/table/style-helper.d.ts +1 -1
  314. package/es/components/table/src/table-body/defaults.d.ts +1 -1
  315. package/es/components/table/src/table-body/index.d.ts +2 -2
  316. package/es/components/table/src/table-column/defaults.d.ts +1 -1
  317. package/es/components/table/src/table-column/index.d.ts +3 -3
  318. package/es/components/table/src/table.vue.d.ts +8 -8
  319. package/es/components/tabs/index.d.ts +39 -31
  320. package/es/components/tabs/index.mjs +1 -1
  321. package/es/components/tabs/src/constants.d.ts +9 -4
  322. package/es/components/tabs/src/constants.mjs.map +1 -1
  323. package/es/components/tabs/src/tab-bar.d.ts +35 -5
  324. package/es/components/tabs/src/tab-bar.mjs +11 -75
  325. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  326. package/es/components/tabs/src/tab-bar.vue.d.ts +117 -14
  327. package/es/components/tabs/src/tab-bar2.mjs +88 -7
  328. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  329. package/es/components/tabs/src/tab-nav.d.ts +85 -18
  330. package/es/components/tabs/src/tab-nav.mjs +47 -38
  331. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  332. package/es/components/tabs/src/tab-pane.d.ts +1 -1
  333. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  334. package/es/components/tabs/src/tab-pane.vue.d.ts +6 -0
  335. package/es/components/tabs/src/tab-pane2.mjs +18 -6
  336. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  337. package/es/components/tabs/src/tabs.d.ts +25 -51
  338. package/es/components/tabs/src/tabs.mjs +58 -41
  339. package/es/components/tabs/src/tabs.mjs.map +1 -1
  340. package/es/components/teleport/index.mjs +2 -2
  341. package/es/components/teleport/src/teleport.mjs +44 -18
  342. package/es/components/teleport/src/teleport.mjs.map +1 -1
  343. package/es/components/teleport/src/teleport2.mjs +18 -44
  344. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  345. package/es/components/time-picker/src/common/picker.vue.d.ts +10 -10
  346. package/es/components/time-select/index.d.ts +28 -28
  347. package/es/components/time-select/index.mjs +1 -1
  348. package/es/components/time-select/src/time-select.mjs +118 -48
  349. package/es/components/time-select/src/time-select.mjs.map +1 -1
  350. package/es/components/time-select/src/time-select.vue.d.ts +14 -14
  351. package/es/components/time-select/src/time-select2.mjs +48 -118
  352. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  353. package/es/components/timeline/index.mjs +2 -2
  354. package/es/components/timeline/src/timeline-item.mjs +70 -42
  355. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  356. package/es/components/timeline/src/timeline-item2.mjs +42 -70
  357. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  358. package/es/components/tooltip/index.d.ts +3 -3
  359. package/es/components/tooltip/index.mjs +1 -1
  360. package/es/components/tooltip/src/content.mjs +31 -177
  361. package/es/components/tooltip/src/content.mjs.map +1 -1
  362. package/es/components/tooltip/src/content.vue.d.ts +2 -2
  363. package/es/components/tooltip/src/content2.mjs +177 -31
  364. package/es/components/tooltip/src/content2.mjs.map +1 -1
  365. package/es/components/tooltip/src/tooltip.mjs +1 -1
  366. package/es/components/tooltip/src/tooltip.vue.d.ts +3 -3
  367. package/es/components/tooltip/src/tooltip2.mjs +2 -2
  368. package/es/components/tooltip/src/trigger.mjs +1 -1
  369. package/es/components/tooltip/src/trigger2.mjs +1 -1
  370. package/es/components/tooltip-v2/index.d.ts +6 -6
  371. package/es/components/tooltip-v2/index.mjs +2 -2
  372. package/es/components/tooltip-v2/src/content.vue.d.ts +1 -1
  373. package/es/components/tooltip-v2/src/tooltip.mjs +20 -73
  374. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  375. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +6 -6
  376. package/es/components/tooltip-v2/src/tooltip2.mjs +73 -20
  377. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  378. package/es/components/transfer/index.d.ts +1 -1
  379. package/es/components/transfer/src/transfer.vue.d.ts +1 -1
  380. package/es/components/upload/index.d.ts +1 -1
  381. package/es/components/upload/index.mjs +3 -3
  382. package/es/components/upload/src/upload-content.mjs +1 -1
  383. package/es/components/upload/src/upload-content2.mjs +2 -2
  384. package/es/components/upload/src/upload-dragger.mjs +72 -11
  385. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  386. package/es/components/upload/src/upload-dragger2.mjs +11 -72
  387. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  388. package/es/components/upload/src/upload-list.mjs +1 -1
  389. package/es/components/upload/src/upload-list.vue.d.ts +1 -1
  390. package/es/components/upload/src/upload.mjs +105 -119
  391. package/es/components/upload/src/upload.mjs.map +1 -1
  392. package/es/components/upload/src/upload.vue.d.ts +1 -1
  393. package/es/components/upload/src/upload2.mjs +119 -105
  394. package/es/components/upload/src/upload2.mjs.map +1 -1
  395. package/es/components/upload/src/use-handlers.mjs +1 -1
  396. package/es/hooks/use-ordered-children/index.d.ts +10 -4
  397. package/es/hooks/use-ordered-children/index.mjs +46 -8
  398. package/es/hooks/use-ordered-children/index.mjs.map +1 -1
  399. package/es/index.mjs +46 -46
  400. package/lib/components/autocomplete/index.d.ts +10 -10
  401. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  402. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +10 -10
  403. package/lib/components/avatar/index.js +2 -2
  404. package/lib/components/avatar/src/avatar.js +33 -67
  405. package/lib/components/avatar/src/avatar.js.map +1 -1
  406. package/lib/components/avatar/src/avatar2.js +67 -33
  407. package/lib/components/avatar/src/avatar2.js.map +1 -1
  408. package/lib/components/backtop/index.js +2 -2
  409. package/lib/components/backtop/src/backtop.js +22 -54
  410. package/lib/components/backtop/src/backtop.js.map +1 -1
  411. package/lib/components/backtop/src/backtop2.js +54 -22
  412. package/lib/components/backtop/src/backtop2.js.map +1 -1
  413. package/lib/components/badge/index.js +2 -2
  414. package/lib/components/badge/src/badge.js +55 -17
  415. package/lib/components/badge/src/badge.js.map +1 -1
  416. package/lib/components/badge/src/badge2.js +17 -55
  417. package/lib/components/badge/src/badge2.js.map +1 -1
  418. package/lib/components/breadcrumb/index.js +2 -2
  419. package/lib/components/breadcrumb/src/breadcrumb.js +11 -36
  420. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  421. package/lib/components/breadcrumb/src/breadcrumb2.js +36 -11
  422. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  423. package/lib/components/button/index.d.ts +1 -1
  424. package/lib/components/button/index.js +2 -2
  425. package/lib/components/button/src/button-group2.js +1 -1
  426. package/lib/components/button/src/button.js +60 -76
  427. package/lib/components/button/src/button.js.map +1 -1
  428. package/lib/components/button/src/button.vue.d.ts +1 -1
  429. package/lib/components/button/src/button2.js +76 -60
  430. package/lib/components/button/src/button2.js.map +1 -1
  431. package/lib/components/calendar/index.d.ts +1 -1
  432. package/lib/components/calendar/index.js +2 -2
  433. package/lib/components/calendar/src/calendar.js +19 -131
  434. package/lib/components/calendar/src/calendar.js.map +1 -1
  435. package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
  436. package/lib/components/calendar/src/calendar2.js +131 -19
  437. package/lib/components/calendar/src/calendar2.js.map +1 -1
  438. package/lib/components/card/index.js +2 -2
  439. package/lib/components/card/src/card.js +16 -35
  440. package/lib/components/card/src/card.js.map +1 -1
  441. package/lib/components/card/src/card2.js +35 -16
  442. package/lib/components/card/src/card2.js.map +1 -1
  443. package/lib/components/carousel/index.d.ts +36 -2
  444. package/lib/components/carousel/index.js +1 -0
  445. package/lib/components/carousel/index.js.map +1 -1
  446. package/lib/components/carousel/src/carousel-item.js +18 -11
  447. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  448. package/lib/components/carousel/src/carousel-item.vue.d.ts +4 -1
  449. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  450. package/lib/components/carousel/src/carousel.d.ts +7 -0
  451. package/lib/components/carousel/src/carousel.js +148 -84
  452. package/lib/components/carousel/src/carousel.js.map +1 -1
  453. package/lib/components/carousel/src/carousel.vue.d.ts +28 -0
  454. package/lib/components/carousel/src/carousel2.js +6 -1
  455. package/lib/components/carousel/src/carousel2.js.map +1 -1
  456. package/lib/components/carousel/src/constants.d.ts +6 -2
  457. package/lib/components/carousel/src/constants.js +2 -0
  458. package/lib/components/carousel/src/constants.js.map +1 -1
  459. package/lib/components/carousel/src/instance.d.ts +2 -2
  460. package/lib/components/carousel/src/use-carousel-item.d.ts +2 -1
  461. package/lib/components/carousel/src/use-carousel-item.js +33 -32
  462. package/lib/components/carousel/src/use-carousel-item.js.map +1 -1
  463. package/lib/components/carousel/src/use-carousel.d.ts +18 -0
  464. package/lib/components/carousel/src/use-carousel.js +75 -9
  465. package/lib/components/carousel/src/use-carousel.js.map +1 -1
  466. package/lib/components/cascader/index.d.ts +28 -28
  467. package/lib/components/cascader/index.js +2 -2
  468. package/lib/components/cascader/src/cascader.js +619 -62
  469. package/lib/components/cascader/src/cascader.js.map +1 -1
  470. package/lib/components/cascader/src/cascader.vue.d.ts +14 -14
  471. package/lib/components/cascader/src/cascader2.js +62 -619
  472. package/lib/components/cascader/src/cascader2.js.map +1 -1
  473. package/lib/components/cascader-panel/index.d.ts +2 -2
  474. package/lib/components/cascader-panel/src/index.js +1 -1
  475. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  476. package/lib/components/cascader-panel/src/menu.js +1 -1
  477. package/lib/components/cascader-panel/src/node.js +209 -116
  478. package/lib/components/cascader-panel/src/node.js.map +1 -1
  479. package/lib/components/cascader-panel/src/node2.js +116 -209
  480. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  481. package/lib/components/cascader-panel/src/store.js +1 -1
  482. package/lib/components/checkbox/index.js +2 -2
  483. package/lib/components/checkbox/src/checkbox-group.js +72 -29
  484. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  485. package/lib/components/checkbox/src/checkbox-group2.js +29 -72
  486. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  487. package/lib/components/col/index.d.ts +1 -1
  488. package/lib/components/col/index.js +2 -2
  489. package/lib/components/col/src/col.js +66 -43
  490. package/lib/components/col/src/col.js.map +1 -1
  491. package/lib/components/col/src/col.vue.d.ts +1 -1
  492. package/lib/components/col/src/col2.js +43 -66
  493. package/lib/components/col/src/col2.js.map +1 -1
  494. package/lib/components/collapse/index.js +2 -2
  495. package/lib/components/collapse/src/collapse.js +19 -30
  496. package/lib/components/collapse/src/collapse.js.map +1 -1
  497. package/lib/components/collapse/src/collapse2.js +30 -19
  498. package/lib/components/collapse/src/collapse2.js.map +1 -1
  499. package/lib/components/collection/index.js +1 -1
  500. package/lib/components/collection/src/collection.js +62 -9
  501. package/lib/components/collection/src/collection.js.map +1 -1
  502. package/lib/components/collection/src/collection2.js +9 -62
  503. package/lib/components/collection/src/collection2.js.map +1 -1
  504. package/lib/components/color-picker/index.d.ts +11 -11
  505. package/lib/components/color-picker/index.js +2 -2
  506. package/lib/components/color-picker/src/color-picker.js +319 -38
  507. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  508. package/lib/components/color-picker/src/color-picker.vue.d.ts +11 -11
  509. package/lib/components/color-picker/src/color-picker2.js +38 -319
  510. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  511. package/lib/components/color-picker/src/components/predefine.js +1 -1
  512. package/lib/components/countdown/index.js +2 -2
  513. package/lib/components/countdown/src/countdown.js +24 -74
  514. package/lib/components/countdown/src/countdown.js.map +1 -1
  515. package/lib/components/countdown/src/countdown2.js +74 -24
  516. package/lib/components/countdown/src/countdown2.js.map +1 -1
  517. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  518. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  519. package/lib/components/date-picker/src/panel-utils.d.ts +2 -2
  520. package/lib/components/descriptions/index.js +2 -2
  521. package/lib/components/descriptions/src/description.js +25 -111
  522. package/lib/components/descriptions/src/description.js.map +1 -1
  523. package/lib/components/descriptions/src/description2.js +111 -25
  524. package/lib/components/descriptions/src/description2.js.map +1 -1
  525. package/lib/components/descriptions/src/descriptions-row.js +64 -7
  526. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  527. package/lib/components/descriptions/src/descriptions-row2.js +7 -64
  528. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  529. package/lib/components/dialog/index.js +2 -2
  530. package/lib/components/dialog/src/dialog-content.js +37 -94
  531. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  532. package/lib/components/dialog/src/dialog-content2.js +94 -37
  533. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  534. package/lib/components/dialog/src/dialog.js +171 -74
  535. package/lib/components/dialog/src/dialog.js.map +1 -1
  536. package/lib/components/dialog/src/dialog2.js +74 -171
  537. package/lib/components/dialog/src/dialog2.js.map +1 -1
  538. package/lib/components/divider/index.js +2 -2
  539. package/lib/components/divider/src/divider.js +17 -35
  540. package/lib/components/divider/src/divider.js.map +1 -1
  541. package/lib/components/divider/src/divider2.js +35 -17
  542. package/lib/components/divider/src/divider2.js.map +1 -1
  543. package/lib/components/drawer/index.js +2 -2
  544. package/lib/components/drawer/src/drawer.js +27 -177
  545. package/lib/components/drawer/src/drawer.js.map +1 -1
  546. package/lib/components/drawer/src/drawer2.js +177 -27
  547. package/lib/components/drawer/src/drawer2.js.map +1 -1
  548. package/lib/components/dropdown/index.d.ts +7 -7
  549. package/lib/components/dropdown/index.js +2 -2
  550. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  551. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  552. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  553. package/lib/components/dropdown/src/dropdown.js +106 -307
  554. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  555. package/lib/components/dropdown/src/dropdown.vue.d.ts +7 -7
  556. package/lib/components/dropdown/src/dropdown2.js +307 -106
  557. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  558. package/lib/components/form/index.js +2 -2
  559. package/lib/components/form/src/form.js +151 -55
  560. package/lib/components/form/src/form.js.map +1 -1
  561. package/lib/components/form/src/form2.js +55 -151
  562. package/lib/components/form/src/form2.js.map +1 -1
  563. package/lib/components/image/index.js +2 -2
  564. package/lib/components/image/src/image.js +219 -62
  565. package/lib/components/image/src/image.js.map +1 -1
  566. package/lib/components/image/src/image2.js +62 -219
  567. package/lib/components/image/src/image2.js.map +1 -1
  568. package/lib/components/index.js +46 -45
  569. package/lib/components/index.js.map +1 -1
  570. package/lib/components/input/index.js +2 -2
  571. package/lib/components/input/src/input.js +143 -551
  572. package/lib/components/input/src/input.js.map +1 -1
  573. package/lib/components/input/src/input2.js +551 -143
  574. package/lib/components/input/src/input2.js.map +1 -1
  575. package/lib/components/input-number/index.js +2 -2
  576. package/lib/components/input-number/src/input-number.js +57 -309
  577. package/lib/components/input-number/src/input-number.js.map +1 -1
  578. package/lib/components/input-number/src/input-number2.js +309 -57
  579. package/lib/components/input-number/src/input-number2.js.map +1 -1
  580. package/lib/components/menu/index.js +4 -4
  581. package/lib/components/menu/src/menu-item-group.js +35 -4
  582. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  583. package/lib/components/menu/src/menu-item-group2.js +4 -35
  584. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  585. package/lib/components/menu/src/menu-item.js +15 -97
  586. package/lib/components/menu/src/menu-item.js.map +1 -1
  587. package/lib/components/menu/src/menu-item2.js +97 -15
  588. package/lib/components/menu/src/menu-item2.js.map +1 -1
  589. package/lib/components/message/index.js +1 -1
  590. package/lib/components/message/src/message.js +196 -92
  591. package/lib/components/message/src/message.js.map +1 -1
  592. package/lib/components/message/src/message.vue.d.ts +2 -2
  593. package/lib/components/message/src/message2.js +92 -196
  594. package/lib/components/message/src/message2.js.map +1 -1
  595. package/lib/components/message/src/method.js +2 -2
  596. package/lib/components/notification/src/notification.vue.d.ts +1 -1
  597. package/lib/components/pagination/src/components/pager.js +17 -214
  598. package/lib/components/pagination/src/components/pager.js.map +1 -1
  599. package/lib/components/pagination/src/components/pager2.js +214 -17
  600. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  601. package/lib/components/pagination/src/components/prev.js +58 -19
  602. package/lib/components/pagination/src/components/prev.js.map +1 -1
  603. package/lib/components/pagination/src/components/prev2.js +19 -58
  604. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  605. package/lib/components/pagination/src/components/sizes.js +68 -22
  606. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  607. package/lib/components/pagination/src/components/sizes.vue.d.ts +7 -7
  608. package/lib/components/pagination/src/components/sizes2.js +22 -68
  609. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  610. package/lib/components/pagination/src/pagination.js +4 -4
  611. package/lib/components/pagination/src/pagination.js.map +1 -1
  612. package/lib/components/popconfirm/index.d.ts +12 -12
  613. package/lib/components/popconfirm/src/popconfirm.js +2 -2
  614. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +12 -12
  615. package/lib/components/popover/index.d.ts +11 -11
  616. package/lib/components/popover/src/popover.vue.d.ts +11 -11
  617. package/lib/components/popover/src/popover2.js +2 -2
  618. package/lib/components/popper/index.js +4 -4
  619. package/lib/components/popper/src/content.vue.d.ts +1 -1
  620. package/lib/components/popper/src/popper.js +28 -32
  621. package/lib/components/popper/src/popper.js.map +1 -1
  622. package/lib/components/popper/src/popper2.js +32 -28
  623. package/lib/components/popper/src/popper2.js.map +1 -1
  624. package/lib/components/popper/src/trigger.js +119 -32
  625. package/lib/components/popper/src/trigger.js.map +1 -1
  626. package/lib/components/popper/src/trigger2.js +32 -119
  627. package/lib/components/popper/src/trigger2.js.map +1 -1
  628. package/lib/components/progress/index.d.ts +1 -1
  629. package/lib/components/progress/index.js +2 -2
  630. package/lib/components/progress/src/progress.js +57 -202
  631. package/lib/components/progress/src/progress.js.map +1 -1
  632. package/lib/components/progress/src/progress.vue.d.ts +1 -1
  633. package/lib/components/progress/src/progress2.js +202 -57
  634. package/lib/components/progress/src/progress2.js.map +1 -1
  635. package/lib/components/rate/index.js +2 -2
  636. package/lib/components/rate/src/rate.js +254 -87
  637. package/lib/components/rate/src/rate.js.map +1 -1
  638. package/lib/components/rate/src/rate2.js +87 -254
  639. package/lib/components/rate/src/rate2.js.map +1 -1
  640. package/lib/components/result/index.js +2 -2
  641. package/lib/components/result/src/result.js +31 -63
  642. package/lib/components/result/src/result.js.map +1 -1
  643. package/lib/components/result/src/result2.js +63 -31
  644. package/lib/components/result/src/result2.js.map +1 -1
  645. package/lib/components/roving-focus-group/src/roving-focus-group.js +1 -1
  646. package/lib/components/row/index.js +2 -2
  647. package/lib/components/row/src/row.js +32 -45
  648. package/lib/components/row/src/row.js.map +1 -1
  649. package/lib/components/row/src/row2.js +45 -32
  650. package/lib/components/row/src/row2.js.map +1 -1
  651. package/lib/components/scrollbar/index.js +2 -2
  652. package/lib/components/scrollbar/src/bar.js +17 -42
  653. package/lib/components/scrollbar/src/bar.js.map +1 -1
  654. package/lib/components/scrollbar/src/bar2.js +42 -17
  655. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  656. package/lib/components/scrollbar/src/scrollbar.js +174 -47
  657. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  658. package/lib/components/scrollbar/src/scrollbar2.js +47 -174
  659. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  660. package/lib/components/select/index.d.ts +7 -7
  661. package/lib/components/select/src/select.js +1 -1
  662. package/lib/components/select/src/select.vue.d.ts +7 -7
  663. package/lib/components/select/src/useSelect.d.ts +7 -7
  664. package/lib/components/select-v2/index.d.ts +16 -16
  665. package/lib/components/select-v2/src/defaults.js +1 -1
  666. package/lib/components/select-v2/src/select.vue.d.ts +8 -8
  667. package/lib/components/select-v2/src/useSelect.d.ts +7 -7
  668. package/lib/components/skeleton/index.js +4 -4
  669. package/lib/components/skeleton/src/skeleton-item.js +23 -18
  670. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  671. package/lib/components/skeleton/src/skeleton-item2.js +18 -23
  672. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  673. package/lib/components/skeleton/src/skeleton.js +22 -49
  674. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  675. package/lib/components/skeleton/src/skeleton2.js +49 -22
  676. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  677. package/lib/components/slider/index.d.ts +15 -15
  678. package/lib/components/slider/index.js +2 -2
  679. package/lib/components/slider/src/button.vue.d.ts +3 -3
  680. package/lib/components/slider/src/composables/use-slide.d.ts +12 -12
  681. package/lib/components/slider/src/slider.js +92 -233
  682. package/lib/components/slider/src/slider.js.map +1 -1
  683. package/lib/components/slider/src/slider.vue.d.ts +15 -15
  684. package/lib/components/slider/src/slider2.js +233 -92
  685. package/lib/components/slider/src/slider2.js.map +1 -1
  686. package/lib/components/statistic/index.js +2 -2
  687. package/lib/components/statistic/src/statistic.js +25 -70
  688. package/lib/components/statistic/src/statistic.js.map +1 -1
  689. package/lib/components/statistic/src/statistic2.js +70 -25
  690. package/lib/components/statistic/src/statistic2.js.map +1 -1
  691. package/lib/components/steps/index.js +4 -4
  692. package/lib/components/steps/src/item.js +19 -188
  693. package/lib/components/steps/src/item.js.map +1 -1
  694. package/lib/components/steps/src/item2.js +188 -19
  695. package/lib/components/steps/src/item2.js.map +1 -1
  696. package/lib/components/steps/src/steps.js +34 -37
  697. package/lib/components/steps/src/steps.js.map +1 -1
  698. package/lib/components/steps/src/steps2.js +37 -34
  699. package/lib/components/steps/src/steps2.js.map +1 -1
  700. package/lib/components/switch/index.js +2 -2
  701. package/lib/components/switch/src/switch.js +240 -88
  702. package/lib/components/switch/src/switch.js.map +1 -1
  703. package/lib/components/switch/src/switch2.js +88 -240
  704. package/lib/components/switch/src/switch2.js.map +1 -1
  705. package/lib/components/table/index.d.ts +14 -14
  706. package/lib/components/table/src/filter-panel.vue.d.ts +7 -7
  707. package/lib/components/table/src/table/defaults.d.ts +2 -2
  708. package/lib/components/table/src/table/style-helper.d.ts +1 -1
  709. package/lib/components/table/src/table-body/defaults.d.ts +1 -1
  710. package/lib/components/table/src/table-body/index.d.ts +2 -2
  711. package/lib/components/table/src/table-column/defaults.d.ts +1 -1
  712. package/lib/components/table/src/table-column/index.d.ts +3 -3
  713. package/lib/components/table/src/table.vue.d.ts +8 -8
  714. package/lib/components/tabs/index.d.ts +39 -31
  715. package/lib/components/tabs/index.js +1 -1
  716. package/lib/components/tabs/src/constants.d.ts +9 -4
  717. package/lib/components/tabs/src/constants.js.map +1 -1
  718. package/lib/components/tabs/src/tab-bar.d.ts +35 -5
  719. package/lib/components/tabs/src/tab-bar.js +11 -75
  720. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  721. package/lib/components/tabs/src/tab-bar.vue.d.ts +117 -14
  722. package/lib/components/tabs/src/tab-bar2.js +88 -7
  723. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  724. package/lib/components/tabs/src/tab-nav.d.ts +85 -18
  725. package/lib/components/tabs/src/tab-nav.js +46 -37
  726. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  727. package/lib/components/tabs/src/tab-pane.d.ts +1 -1
  728. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  729. package/lib/components/tabs/src/tab-pane.vue.d.ts +6 -0
  730. package/lib/components/tabs/src/tab-pane2.js +17 -5
  731. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  732. package/lib/components/tabs/src/tabs.d.ts +25 -51
  733. package/lib/components/tabs/src/tabs.js +58 -41
  734. package/lib/components/tabs/src/tabs.js.map +1 -1
  735. package/lib/components/teleport/index.js +2 -2
  736. package/lib/components/teleport/src/teleport.js +44 -18
  737. package/lib/components/teleport/src/teleport.js.map +1 -1
  738. package/lib/components/teleport/src/teleport2.js +18 -44
  739. package/lib/components/teleport/src/teleport2.js.map +1 -1
  740. package/lib/components/time-picker/src/common/picker.vue.d.ts +10 -10
  741. package/lib/components/time-select/index.d.ts +28 -28
  742. package/lib/components/time-select/index.js +1 -1
  743. package/lib/components/time-select/src/time-select.js +123 -48
  744. package/lib/components/time-select/src/time-select.js.map +1 -1
  745. package/lib/components/time-select/src/time-select.vue.d.ts +14 -14
  746. package/lib/components/time-select/src/time-select2.js +48 -123
  747. package/lib/components/time-select/src/time-select2.js.map +1 -1
  748. package/lib/components/timeline/index.js +2 -2
  749. package/lib/components/timeline/src/timeline-item.js +70 -42
  750. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  751. package/lib/components/timeline/src/timeline-item2.js +42 -70
  752. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  753. package/lib/components/tooltip/index.d.ts +3 -3
  754. package/lib/components/tooltip/index.js +1 -1
  755. package/lib/components/tooltip/src/content.js +31 -177
  756. package/lib/components/tooltip/src/content.js.map +1 -1
  757. package/lib/components/tooltip/src/content.vue.d.ts +2 -2
  758. package/lib/components/tooltip/src/content2.js +177 -31
  759. package/lib/components/tooltip/src/content2.js.map +1 -1
  760. package/lib/components/tooltip/src/tooltip.js +1 -1
  761. package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -3
  762. package/lib/components/tooltip/src/tooltip2.js +2 -2
  763. package/lib/components/tooltip/src/trigger.js +1 -1
  764. package/lib/components/tooltip/src/trigger2.js +1 -1
  765. package/lib/components/tooltip-v2/index.d.ts +6 -6
  766. package/lib/components/tooltip-v2/index.js +2 -2
  767. package/lib/components/tooltip-v2/src/content.vue.d.ts +1 -1
  768. package/lib/components/tooltip-v2/src/tooltip.js +20 -73
  769. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  770. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +6 -6
  771. package/lib/components/tooltip-v2/src/tooltip2.js +73 -20
  772. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  773. package/lib/components/transfer/index.d.ts +1 -1
  774. package/lib/components/transfer/src/transfer.vue.d.ts +1 -1
  775. package/lib/components/upload/index.d.ts +1 -1
  776. package/lib/components/upload/index.js +3 -3
  777. package/lib/components/upload/src/upload-content.js +1 -1
  778. package/lib/components/upload/src/upload-content2.js +2 -2
  779. package/lib/components/upload/src/upload-dragger.js +72 -12
  780. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  781. package/lib/components/upload/src/upload-dragger2.js +12 -72
  782. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  783. package/lib/components/upload/src/upload-list.js +1 -1
  784. package/lib/components/upload/src/upload-list.vue.d.ts +1 -1
  785. package/lib/components/upload/src/upload.js +108 -119
  786. package/lib/components/upload/src/upload.js.map +1 -1
  787. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  788. package/lib/components/upload/src/upload2.js +119 -108
  789. package/lib/components/upload/src/upload2.js.map +1 -1
  790. package/lib/components/upload/src/use-handlers.js +1 -1
  791. package/lib/hooks/use-ordered-children/index.d.ts +10 -4
  792. package/lib/hooks/use-ordered-children/index.js +45 -7
  793. package/lib/hooks/use-ordered-children/index.js.map +1 -1
  794. package/lib/index.js +46 -45
  795. package/lib/index.js.map +1 -1
  796. package/package.json +1 -1
@@ -1,9 +1,12 @@
1
1
  import type { ExtractPropTypes } from 'vue';
2
- import type { TabsPaneContext } from './constants';
3
- import type { TabPaneName } from './tabs';
2
+ import type { TabBarInstance } from './tab-bar';
3
+ import type { TabPaneName, TabsPaneContext } from './constants';
4
4
  export declare const tabNavProps: {
5
5
  readonly panes: import("beyond-webui/es/utils").EpPropFinalized<(new (...args: any[]) => {
6
6
  uid: number;
7
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
8
+ [key: string]: any;
9
+ }>;
7
10
  slots: Readonly<{
8
11
  [name: string]: import("vue").Slot | undefined;
9
12
  }>;
@@ -14,12 +17,16 @@ export declare const tabNavProps: {
14
17
  readonly lazy: boolean;
15
18
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
16
19
  };
17
- paneName: string | number | undefined;
20
+ paneName: TabPaneName | undefined;
18
21
  active: boolean;
19
22
  index: string | undefined;
20
23
  isClosable: boolean;
24
+ isFocusInsidePane: () => boolean | undefined;
21
25
  }[]) | (() => {
22
26
  uid: number;
27
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
+ [key: string]: any;
29
+ }>;
23
30
  slots: Readonly<{
24
31
  [name: string]: import("vue").Slot | undefined;
25
32
  }>;
@@ -30,12 +37,16 @@ export declare const tabNavProps: {
30
37
  readonly lazy: boolean;
31
38
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
32
39
  };
33
- paneName: string | number | undefined;
40
+ paneName: TabPaneName | undefined;
34
41
  active: boolean;
35
42
  index: string | undefined;
36
43
  isClosable: boolean;
44
+ isFocusInsidePane: () => boolean | undefined;
37
45
  }[]) | ((new (...args: any[]) => {
38
46
  uid: number;
47
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
48
+ [key: string]: any;
49
+ }>;
39
50
  slots: Readonly<{
40
51
  [name: string]: import("vue").Slot | undefined;
41
52
  }>;
@@ -46,12 +57,16 @@ export declare const tabNavProps: {
46
57
  readonly lazy: boolean;
47
58
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
48
59
  };
49
- paneName: string | number | undefined;
60
+ paneName: TabPaneName | undefined;
50
61
  active: boolean;
51
62
  index: string | undefined;
52
63
  isClosable: boolean;
64
+ isFocusInsidePane: () => boolean | undefined;
53
65
  }[]) | (() => {
54
66
  uid: number;
67
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
68
+ [key: string]: any;
69
+ }>;
55
70
  slots: Readonly<{
56
71
  [name: string]: import("vue").Slot | undefined;
57
72
  }>;
@@ -62,10 +77,11 @@ export declare const tabNavProps: {
62
77
  readonly lazy: boolean;
63
78
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
64
79
  };
65
- paneName: string | number | undefined;
80
+ paneName: TabPaneName | undefined;
66
81
  active: boolean;
67
82
  index: string | undefined;
68
83
  isClosable: boolean;
84
+ isFocusInsidePane: () => boolean | undefined;
69
85
  }[]))[], unknown, unknown, () => [], boolean>;
70
86
  readonly currentName: import("beyond-webui/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
71
87
  readonly editable: BooleanConstructor;
@@ -81,6 +97,9 @@ export declare type TabNavEmits = typeof tabNavEmits;
81
97
  declare const TabNav: import("vue").DefineComponent<{
82
98
  readonly panes: import("beyond-webui/es/utils").EpPropFinalized<(new (...args: any[]) => {
83
99
  uid: number;
100
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
101
+ [key: string]: any;
102
+ }>;
84
103
  slots: Readonly<{
85
104
  [name: string]: import("vue").Slot | undefined;
86
105
  }>;
@@ -91,12 +110,16 @@ declare const TabNav: import("vue").DefineComponent<{
91
110
  readonly lazy: boolean;
92
111
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
93
112
  };
94
- paneName: string | number | undefined;
113
+ paneName: TabPaneName | undefined;
95
114
  active: boolean;
96
115
  index: string | undefined;
97
116
  isClosable: boolean;
117
+ isFocusInsidePane: () => boolean | undefined;
98
118
  }[]) | (() => {
99
119
  uid: number;
120
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
121
+ [key: string]: any;
122
+ }>;
100
123
  slots: Readonly<{
101
124
  [name: string]: import("vue").Slot | undefined;
102
125
  }>;
@@ -107,12 +130,16 @@ declare const TabNav: import("vue").DefineComponent<{
107
130
  readonly lazy: boolean;
108
131
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
109
132
  };
110
- paneName: string | number | undefined;
133
+ paneName: TabPaneName | undefined;
111
134
  active: boolean;
112
135
  index: string | undefined;
113
136
  isClosable: boolean;
137
+ isFocusInsidePane: () => boolean | undefined;
114
138
  }[]) | ((new (...args: any[]) => {
115
139
  uid: number;
140
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
141
+ [key: string]: any;
142
+ }>;
116
143
  slots: Readonly<{
117
144
  [name: string]: import("vue").Slot | undefined;
118
145
  }>;
@@ -123,12 +150,16 @@ declare const TabNav: import("vue").DefineComponent<{
123
150
  readonly lazy: boolean;
124
151
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
125
152
  };
126
- paneName: string | number | undefined;
153
+ paneName: TabPaneName | undefined;
127
154
  active: boolean;
128
155
  index: string | undefined;
129
156
  isClosable: boolean;
157
+ isFocusInsidePane: () => boolean | undefined;
130
158
  }[]) | (() => {
131
159
  uid: number;
160
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
161
+ [key: string]: any;
162
+ }>;
132
163
  slots: Readonly<{
133
164
  [name: string]: import("vue").Slot | undefined;
134
165
  }>;
@@ -139,10 +170,11 @@ declare const TabNav: import("vue").DefineComponent<{
139
170
  readonly lazy: boolean;
140
171
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
141
172
  };
142
- paneName: string | number | undefined;
173
+ paneName: TabPaneName | undefined;
143
174
  active: boolean;
144
175
  index: string | undefined;
145
176
  isClosable: boolean;
177
+ isFocusInsidePane: () => boolean | undefined;
146
178
  }[]))[], unknown, unknown, () => [], boolean>;
147
179
  readonly currentName: import("beyond-webui/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
148
180
  readonly editable: BooleanConstructor;
@@ -154,6 +186,9 @@ declare const TabNav: import("vue").DefineComponent<{
154
186
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
155
187
  readonly panes: import("beyond-webui/es/utils").EpPropFinalized<(new (...args: any[]) => {
156
188
  uid: number;
189
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
190
+ [key: string]: any;
191
+ }>;
157
192
  slots: Readonly<{
158
193
  [name: string]: import("vue").Slot | undefined;
159
194
  }>;
@@ -164,12 +199,16 @@ declare const TabNav: import("vue").DefineComponent<{
164
199
  readonly lazy: boolean;
165
200
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
166
201
  };
167
- paneName: string | number | undefined;
202
+ paneName: TabPaneName | undefined;
168
203
  active: boolean;
169
204
  index: string | undefined;
170
205
  isClosable: boolean;
206
+ isFocusInsidePane: () => boolean | undefined;
171
207
  }[]) | (() => {
172
208
  uid: number;
209
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
210
+ [key: string]: any;
211
+ }>;
173
212
  slots: Readonly<{
174
213
  [name: string]: import("vue").Slot | undefined;
175
214
  }>;
@@ -180,12 +219,16 @@ declare const TabNav: import("vue").DefineComponent<{
180
219
  readonly lazy: boolean;
181
220
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
182
221
  };
183
- paneName: string | number | undefined;
222
+ paneName: TabPaneName | undefined;
184
223
  active: boolean;
185
224
  index: string | undefined;
186
225
  isClosable: boolean;
226
+ isFocusInsidePane: () => boolean | undefined;
187
227
  }[]) | ((new (...args: any[]) => {
188
228
  uid: number;
229
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
230
+ [key: string]: any;
231
+ }>;
189
232
  slots: Readonly<{
190
233
  [name: string]: import("vue").Slot | undefined;
191
234
  }>;
@@ -196,12 +239,16 @@ declare const TabNav: import("vue").DefineComponent<{
196
239
  readonly lazy: boolean;
197
240
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
198
241
  };
199
- paneName: string | number | undefined;
242
+ paneName: TabPaneName | undefined;
200
243
  active: boolean;
201
244
  index: string | undefined;
202
245
  isClosable: boolean;
246
+ isFocusInsidePane: () => boolean | undefined;
203
247
  }[]) | (() => {
204
248
  uid: number;
249
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
250
+ [key: string]: any;
251
+ }>;
205
252
  slots: Readonly<{
206
253
  [name: string]: import("vue").Slot | undefined;
207
254
  }>;
@@ -212,10 +259,11 @@ declare const TabNav: import("vue").DefineComponent<{
212
259
  readonly lazy: boolean;
213
260
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
214
261
  };
215
- paneName: string | number | undefined;
262
+ paneName: TabPaneName | undefined;
216
263
  active: boolean;
217
264
  index: string | undefined;
218
265
  isClosable: boolean;
266
+ isFocusInsidePane: () => boolean | undefined;
219
267
  }[]))[], unknown, unknown, () => [], boolean>;
220
268
  readonly currentName: import("beyond-webui/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
221
269
  readonly editable: BooleanConstructor;
@@ -224,6 +272,9 @@ declare const TabNav: import("vue").DefineComponent<{
224
272
  }>> & {
225
273
  onTabClick?: ((tab: {
226
274
  uid: number;
275
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
276
+ [key: string]: any;
277
+ }>;
227
278
  slots: Readonly<{
228
279
  [name: string]: import("vue").Slot | undefined;
229
280
  }>;
@@ -234,13 +285,17 @@ declare const TabNav: import("vue").DefineComponent<{
234
285
  readonly lazy: boolean;
235
286
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
236
287
  };
237
- paneName: string | number | undefined;
288
+ paneName: TabPaneName | undefined;
238
289
  active: boolean;
239
290
  index: string | undefined;
240
291
  isClosable: boolean;
292
+ isFocusInsidePane: () => boolean | undefined;
241
293
  }, tabName: TabPaneName, ev: Event) => any) | undefined;
242
294
  onTabRemove?: ((tab: {
243
295
  uid: number;
296
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
297
+ [key: string]: any;
298
+ }>;
244
299
  slots: Readonly<{
245
300
  [name: string]: import("vue").Slot | undefined;
246
301
  }>;
@@ -251,10 +306,11 @@ declare const TabNav: import("vue").DefineComponent<{
251
306
  readonly lazy: boolean;
252
307
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
253
308
  };
254
- paneName: string | number | undefined;
309
+ paneName: TabPaneName | undefined;
255
310
  active: boolean;
256
311
  index: string | undefined;
257
312
  isClosable: boolean;
313
+ isFocusInsidePane: () => boolean | undefined;
258
314
  }, ev: Event) => any) | undefined;
259
315
  }, {
260
316
  readonly type: import("beyond-webui/es/utils").EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
@@ -262,6 +318,9 @@ declare const TabNav: import("vue").DefineComponent<{
262
318
  readonly editable: boolean;
263
319
  readonly panes: {
264
320
  uid: number;
321
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
322
+ [key: string]: any;
323
+ }>;
265
324
  slots: Readonly<{
266
325
  [name: string]: import("vue").Slot | undefined;
267
326
  }>;
@@ -272,12 +331,20 @@ declare const TabNav: import("vue").DefineComponent<{
272
331
  readonly lazy: boolean;
273
332
  readonly name?: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
274
333
  };
275
- paneName: string | number | undefined;
334
+ paneName: TabPaneName | undefined;
276
335
  active: boolean;
277
336
  index: string | undefined;
278
337
  isClosable: boolean;
338
+ isFocusInsidePane: () => boolean | undefined;
279
339
  }[];
280
340
  readonly currentName: import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
281
341
  }>;
282
- export declare type TabNavInstance = InstanceType<typeof TabNav>;
342
+ export declare type TabNavInstance = InstanceType<typeof TabNav> & {
343
+ scrollToActiveTab: () => Promise<void>;
344
+ removeFocus: () => void;
345
+ focusActiveTab: () => void;
346
+ scheduleRender: () => void;
347
+ tabListRef: HTMLDivElement | undefined;
348
+ tabBarRef: TabBarInstance | undefined;
349
+ };
283
350
  export default TabNav;
@@ -1,11 +1,11 @@
1
- import { defineComponent, getCurrentInstance, inject, ref, computed, nextTick, watch, onMounted, onUpdated, createVNode } from 'vue';
1
+ import { defineComponent, inject, ref, shallowRef, computed, nextTick, watch, onMounted, onUpdated, triggerRef, createVNode } from 'vue';
2
2
  import { useDocumentVisibility, useWindowFocus, useResizeObserver } from '@vueuse/core';
3
3
  import '../../../utils/index.mjs';
4
4
  import '../../../constants/index.mjs';
5
5
  import { ElIcon } from '../../icon/index.mjs';
6
6
  import { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue';
7
7
  import '../../../hooks/index.mjs';
8
- import TabBar from './tab-bar.mjs';
8
+ import TabBar from './tab-bar2.mjs';
9
9
  import { tabsRootContextKey } from './constants.mjs';
10
10
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
11
11
  import { mutable } from '../../../utils/typescript.mjs';
@@ -44,7 +44,6 @@ const TabNav = defineComponent({
44
44
  expose,
45
45
  emit
46
46
  }) {
47
- const vm = getCurrentInstance();
48
47
  const rootTabs = inject(tabsRootContextKey);
49
48
  if (!rootTabs)
50
49
  throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`);
@@ -54,11 +53,13 @@ const TabNav = defineComponent({
54
53
  const navScroll$ = ref();
55
54
  const nav$ = ref();
56
55
  const el$ = ref();
56
+ const tabRefsMap = ref({});
57
57
  const tabBarRef = ref();
58
58
  const scrollable = ref(false);
59
59
  const navOffset = ref(0);
60
60
  const isFocus = ref(false);
61
61
  const focusable = ref(true);
62
+ const tracker = shallowRef();
62
63
  const sizeName = computed(() => ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height");
63
64
  const navStyle = computed(() => {
64
65
  const dir = sizeName.value === "width" ? "X" : "Y";
@@ -92,7 +93,7 @@ const TabNav = defineComponent({
92
93
  if (!scrollable.value || !el$.value || !navScroll$.value || !nav)
93
94
  return;
94
95
  await nextTick();
95
- const activeTab = el$.value.querySelector(".is-active");
96
+ const activeTab = tabRefsMap.value[props.currentName];
96
97
  if (!activeTab)
97
98
  return;
98
99
  const navScroll = navScroll$.value;
@@ -142,31 +143,27 @@ const TabNav = defineComponent({
142
143
  }
143
144
  }
144
145
  };
145
- const changeTab = (e) => {
146
- const code = e.code;
147
- const {
148
- up,
149
- down,
150
- left,
151
- right
152
- } = EVENT_CODE;
153
- if (![up, down, left, right].includes(code))
154
- return;
155
- const tabList = Array.from(e.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));
156
- const currentIndex = tabList.indexOf(e.target);
157
- let nextIndex;
158
- if (code === left || code === up) {
159
- if (currentIndex === 0) {
160
- nextIndex = tabList.length - 1;
161
- } else {
162
- nextIndex = currentIndex - 1;
163
- }
164
- } else {
165
- if (currentIndex < tabList.length - 1) {
166
- nextIndex = currentIndex + 1;
167
- } else {
168
- nextIndex = 0;
169
- }
146
+ const changeTab = (event) => {
147
+ let step = 0;
148
+ switch (event.code) {
149
+ case EVENT_CODE.left:
150
+ case EVENT_CODE.up:
151
+ step = -1;
152
+ break;
153
+ case EVENT_CODE.right:
154
+ case EVENT_CODE.down:
155
+ step = 1;
156
+ break;
157
+ default:
158
+ return;
159
+ }
160
+ const tabList = Array.from(event.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));
161
+ const currentIndex = tabList.indexOf(event.target);
162
+ let nextIndex = currentIndex + step;
163
+ if (nextIndex < 0) {
164
+ nextIndex = tabList.length - 1;
165
+ } else if (nextIndex >= tabList.length) {
166
+ nextIndex = 0;
170
167
  }
171
168
  tabList[nextIndex].focus({
172
169
  preventScroll: true
@@ -179,6 +176,16 @@ const TabNav = defineComponent({
179
176
  isFocus.value = true;
180
177
  };
181
178
  const removeFocus = () => isFocus.value = false;
179
+ const setRefs = (el, key) => {
180
+ tabRefsMap.value[key] = el;
181
+ };
182
+ const focusActiveTab = async () => {
183
+ await nextTick();
184
+ const activeTab = tabRefsMap.value[props.currentName];
185
+ activeTab == null ? void 0 : activeTab.focus({
186
+ preventScroll: true
187
+ });
188
+ };
182
189
  watch(visibility, (visibility2) => {
183
190
  if (visibility2 === "hidden") {
184
191
  focusable.value = false;
@@ -198,11 +205,11 @@ const TabNav = defineComponent({
198
205
  onUpdated(() => update());
199
206
  expose({
200
207
  scrollToActiveTab,
201
- removeFocus
202
- });
203
- watch(() => props.panes, () => vm.update(), {
204
- flush: "post",
205
- deep: true
208
+ removeFocus,
209
+ focusActiveTab,
210
+ tabListRef: nav$,
211
+ tabBarRef,
212
+ scheduleRender: () => triggerRef(tracker)
206
213
  });
207
214
  return () => {
208
215
  const scrollBtn = scrollable.value ? [createVNode("span", {
@@ -232,7 +239,7 @@ const TabNav = defineComponent({
232
239
  const tabLabelContent = ((_d = (_c = pane.slots).label) == null ? void 0 : _d.call(_c)) || pane.props.label;
233
240
  const tabindex = !disabled && pane.active ? 0 : -1;
234
241
  return createVNode("div", {
235
- "ref": `tab-${uid}`,
242
+ "ref": (el) => setRefs(el, tabName),
236
243
  "class": [ns.e("item"), ns.is(rootTabs.props.tabPosition), ns.is("active", pane.active), ns.is("disabled", disabled), ns.is("closable", closable), ns.is("focus", isFocus.value)],
237
244
  "id": `tab-${tabName}`,
238
245
  "key": `tab-${uid}`,
@@ -253,13 +260,14 @@ const TabNav = defineComponent({
253
260
  }
254
261
  }, [...[tabLabelContent, btnClose]]);
255
262
  });
263
+ tracker.value;
256
264
  return createVNode("div", {
257
265
  "ref": el$,
258
266
  "class": [ns.e("nav-wrap"), ns.is("scrollable", !!scrollable.value), ns.is(rootTabs.props.tabPosition)]
259
267
  }, [scrollBtn, createVNode("div", {
260
268
  "class": ns.e("nav-scroll"),
261
269
  "ref": navScroll$
262
- }, [createVNode("div", {
270
+ }, [props.panes.length > 0 ? createVNode("div", {
263
271
  "class": [ns.e("nav"), ns.is(rootTabs.props.tabPosition), ns.is("stretch", props.stretch && ["top", "bottom"].includes(rootTabs.props.tabPosition))],
264
272
  "ref": nav$,
265
273
  "style": navStyle.value,
@@ -267,8 +275,9 @@ const TabNav = defineComponent({
267
275
  "onKeydown": changeTab
268
276
  }, [...[!props.type ? createVNode(TabBar, {
269
277
  "ref": tabBarRef,
270
- "tabs": [...props.panes]
271
- }, null) : null, tabs]])])]);
278
+ "tabs": [...props.panes],
279
+ "tabRefs": tabRefsMap.value
280
+ }, null) : null, tabs]]) : null])]);
272
281
  };
273
282
  }
274
283
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\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-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from './constants'\nimport type { TabPaneName } 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 type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-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 tabBarRef = ref<InstanceType<typeof TabBar>>()\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 = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\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 props.stretch && tabBarRef.value?.update()\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 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]:not(.is-disabled)'\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({ preventScroll: true }) // 改变焦点元素\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 watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post', deep: true }\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 <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\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 emit('tabClick', 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 emit('tabRemove', 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 ? (\n <TabBar ref={tabBarRef} tabs={[...props.panes]} />\n ) : 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","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","vm","getCurrentInstance","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabBarRef","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","prev","changeTab","code","left","down","tabList","currentIndex","nextIndex","preventScroll","click","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","removeFocus","flush","deep","e","pane","index","closable","disabled","btnClose","delete","backspace","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 nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\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-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type {\n CSSProperties,\n ComponentPublicInstance,\n ExtractPropTypes,\n} from 'vue'\nimport type { TabBarInstance } from './tab-bar'\nimport type { TabPaneName, TabsPaneContext } from './constants'\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 type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-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 const tabRefsMap = ref<{ [key: TabPaneName]: HTMLDivElement }>({})\n\n const tabBarRef = ref<TabBarInstance>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n const tracker = shallowRef()\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 = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\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 props.stretch && tabBarRef.value?.update()\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 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 = (event: KeyboardEvent) => {\n let step = 0\n\n switch (event.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n step = -1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n step = 1\n break\n default:\n return\n }\n\n const tabList = Array.from(\n (\n event.currentTarget as HTMLDivElement\n ).querySelectorAll<HTMLDivElement>('[role=tab]:not(.is-disabled)')\n )\n const currentIndex = tabList.indexOf(event.target as HTMLDivElement)\n let nextIndex = currentIndex + step\n\n if (nextIndex < 0) {\n nextIndex = tabList.length - 1\n } else if (nextIndex >= tabList.length) {\n nextIndex = 0\n }\n\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\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 const setRefs = (\n el: Element | ComponentPublicInstance | null,\n key: TabPaneName\n ) => {\n tabRefsMap.value[key] = el as HTMLDivElement\n }\n\n const focusActiveTab = async () => {\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n activeTab?.focus({ preventScroll: true })\n }\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 focusActiveTab,\n tabListRef: nav$,\n tabBarRef,\n scheduleRender: () => triggerRef(tracker),\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 <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={(el) => setRefs(el, tabName)}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\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 emit('tabClick', 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 emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n // By tracking the value property, we can schedule a job to re-render `TabNav` when needed.\n // Unlike `instance.update`, the scheduler ensures the job is queued only once even if we trigger it multiple times.\n tracker.value\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 {props.panes.length > 0 ? (\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 ? (\n <TabBar\n ref={tabBarRef}\n tabs={[...props.panes]}\n tabRefs={tabRefsMap.value}\n />\n ) : null,\n tabs,\n ]}\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n focusActiveTab: () => void\n scheduleRender: () => void\n tabListRef: HTMLDivElement | undefined\n tabBarRef: TabBarInstance | undefined\n}\n\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabRefsMap","tabBarRef","scrollable","navOffset","isFocus","focusable","tracker","shallowRef","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","prev","changeTab","event","step","EVENT_CODE","left","currentIndex","tabList","nextIndex","preventScroll","click","setFocus","key","focusActiveTab","focus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","tabListRef","scheduleRender","triggerRef","e","is","pane","index","uid","disabled","isClosable","btnClose","closable","setRefs","el","tabLabelContent"],"mappings":"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"}
@@ -13,4 +13,4 @@ export declare const tabPaneProps: {
13
13
  readonly lazy: BooleanConstructor;
14
14
  };
15
15
  export declare type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>;
16
- export declare type TabPaneInstance = InstanceType<typeof TabPane>;
16
+ export declare type TabPaneInstance = InstanceType<typeof TabPane> & unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/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 },\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,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-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n /**\n * @description title of the tab\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description identifier corresponding to the name of Tabs, representing the alias of the tab-pane, the default is ordinal number of the tab-pane in the sequence, e.g. the first tab-pane is '0'\n */\n name: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Tab is lazily rendered\n */\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane> & unknown\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,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
@@ -48,14 +48,19 @@ declare const _default: import("vue").DefineComponent<{
48
48
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
49
49
  cssVarBlockName: (name: string) => string;
50
50
  };
51
+ paneRef: import("vue").Ref<HTMLDivElement | undefined>;
51
52
  index: import("vue").Ref<string | undefined>;
52
53
  isClosable: import("vue").ComputedRef<boolean>;
53
54
  active: Readonly<import("vue").Ref<boolean>>;
54
55
  loaded: import("vue").Ref<boolean>;
55
56
  paneName: import("vue").ComputedRef<import("beyond-webui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined>;
56
57
  shouldBeRender: Readonly<import("vue").Ref<boolean>>;
58
+ isFocusInsidePane: () => boolean | undefined;
57
59
  pane: {
58
60
  uid: number;
61
+ getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
62
+ [key: string]: any;
63
+ }>;
59
64
  slots: Readonly<{
60
65
  [name: string]: import("vue").Slot | undefined;
61
66
  }>;
@@ -71,6 +76,7 @@ declare const _default: import("vue").DefineComponent<{
71
76
  active: boolean;
72
77
  index: string | undefined;
73
78
  isClosable: boolean;
79
+ isFocusInsidePane: () => boolean | undefined;
74
80
  };
75
81
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
76
82
  readonly label: import("beyond-webui/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;