vft 0.0.18 → 0.0.20

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 (788) hide show
  1. package/dist/index.css +1 -1
  2. package/es/component.mjs +63 -32
  3. package/es/component.mjs.map +1 -1
  4. package/es/components/avatar/avatar.vue.d.ts +2 -2
  5. package/es/components/avatar/index.d.ts +2 -2
  6. package/es/components/back-top/back-top.vue2.mjs +28 -13
  7. package/es/components/back-top/back-top.vue2.mjs.map +1 -1
  8. package/es/components/clamp/clamp.vue.d.ts +64 -0
  9. package/es/components/clamp/clamp.vue.mjs +5 -0
  10. package/es/components/clamp/clamp.vue.mjs.map +1 -0
  11. package/es/components/clamp/clamp.vue2.mjs +166 -0
  12. package/es/components/clamp/clamp.vue2.mjs.map +1 -0
  13. package/es/components/clamp/index.d.ts +63 -0
  14. package/es/components/clamp/index.mjs +11 -0
  15. package/es/components/clamp/index.mjs.map +1 -0
  16. package/es/components/clamp/style/css.mjs +3 -0
  17. package/es/components/clamp/style/css.mjs.map +1 -0
  18. package/es/components/clamp/style/index.mjs +3 -0
  19. package/es/components/clamp/style/index.mjs.map +1 -0
  20. package/es/components/clamp-toggle/clamp-toggle.vue.d.ts +101 -0
  21. package/es/components/clamp-toggle/clamp-toggle.vue.mjs +5 -0
  22. package/es/components/clamp-toggle/clamp-toggle.vue.mjs.map +1 -0
  23. package/es/components/clamp-toggle/clamp-toggle.vue2.mjs +57 -0
  24. package/es/components/clamp-toggle/clamp-toggle.vue2.mjs.map +1 -0
  25. package/es/components/clamp-toggle/index.d.ts +100 -0
  26. package/es/components/clamp-toggle/index.mjs +11 -0
  27. package/es/components/clamp-toggle/index.mjs.map +1 -0
  28. package/es/components/{context-menu → clamp-toggle}/style/css.mjs +1 -1
  29. package/es/components/clamp-toggle/style/index.mjs +3 -0
  30. package/es/components/config-provider/config-provider.vue.d.ts +69 -0
  31. package/es/components/config-provider/config-provider.vue.mjs +5 -0
  32. package/es/components/config-provider/config-provider.vue.mjs.map +1 -0
  33. package/es/components/config-provider/config-provider.vue2.mjs +67 -0
  34. package/es/components/config-provider/config-provider.vue2.mjs.map +1 -0
  35. package/es/components/config-provider/constants.d.ts +4 -0
  36. package/es/components/config-provider/constants.mjs +5 -0
  37. package/es/components/config-provider/constants.mjs.map +1 -0
  38. package/es/components/config-provider/hooks/use-global-config.d.ts +31 -0
  39. package/es/components/config-provider/hooks/use-global-config.mjs +68 -0
  40. package/es/components/config-provider/hooks/use-global-config.mjs.map +1 -0
  41. package/es/components/config-provider/index.d.ts +71 -0
  42. package/es/components/config-provider/index.mjs +17 -0
  43. package/es/components/config-provider/index.mjs.map +1 -0
  44. package/es/components/config-provider/style/css.mjs +3 -0
  45. package/es/components/config-provider/style/css.mjs.map +1 -0
  46. package/es/components/config-provider/style/index.d.ts +0 -0
  47. package/es/components/config-provider/style/index.mjs +3 -0
  48. package/es/components/config-provider/style/index.mjs.map +1 -0
  49. package/es/components/config-provider/types.d.ts +18 -0
  50. package/es/components/config-provider/types.mjs +2 -0
  51. package/es/components/config-provider/types.mjs.map +1 -0
  52. package/es/components/context-menu/context-menu.vue2.mjs +46 -31
  53. package/es/components/context-menu/context-menu.vue2.mjs.map +1 -1
  54. package/es/components/descriptions/description-item.vue.d.ts +69 -0
  55. package/es/components/descriptions/description-item.vue.mjs +5 -0
  56. package/es/components/descriptions/description-item.vue.mjs.map +1 -0
  57. package/es/components/descriptions/description-item.vue2.mjs +33 -0
  58. package/es/components/descriptions/description-item.vue2.mjs.map +1 -0
  59. package/es/components/descriptions/description.vue.d.ts +53 -0
  60. package/es/components/descriptions/description.vue.mjs +5 -0
  61. package/es/components/descriptions/description.vue.mjs.map +1 -0
  62. package/es/components/descriptions/description.vue2.mjs +92 -0
  63. package/es/components/descriptions/description.vue2.mjs.map +1 -0
  64. package/es/components/descriptions/descriptions-cell.d.ts +25 -0
  65. package/es/components/descriptions/descriptions-cell.mjs +103 -0
  66. package/es/components/descriptions/descriptions-cell.mjs.map +1 -0
  67. package/es/components/descriptions/descriptions-row.vue.d.ts +13 -0
  68. package/es/components/descriptions/descriptions-row.vue.mjs +5 -0
  69. package/es/components/descriptions/descriptions-row.vue.mjs.map +1 -0
  70. package/es/components/descriptions/descriptions-row.vue2.mjs +68 -0
  71. package/es/components/descriptions/descriptions-row.vue2.mjs.map +1 -0
  72. package/es/components/descriptions/descriptions.type.d.ts +18 -0
  73. package/es/components/descriptions/descriptions.type.mjs +2 -0
  74. package/es/components/descriptions/descriptions.type.mjs.map +1 -0
  75. package/es/components/descriptions/index.d.ts +187 -0
  76. package/es/components/descriptions/index.mjs +15 -0
  77. package/es/components/descriptions/index.mjs.map +1 -0
  78. package/es/components/descriptions/style/css.d.ts +0 -0
  79. package/es/components/descriptions/style/css.mjs +3 -0
  80. package/es/components/descriptions/style/css.mjs.map +1 -0
  81. package/es/components/descriptions/style/index.d.ts +0 -0
  82. package/es/components/descriptions/style/index.mjs +3 -0
  83. package/es/components/descriptions/style/index.mjs.map +1 -0
  84. package/es/components/descriptions/token.d.ts +3 -0
  85. package/es/components/descriptions/token.mjs +5 -0
  86. package/es/components/descriptions/token.mjs.map +1 -0
  87. package/es/components/descriptions-item/style/css.d.ts +0 -0
  88. package/es/components/descriptions-item/style/css.mjs +3 -0
  89. package/es/components/descriptions-item/style/css.mjs.map +1 -0
  90. package/es/components/descriptions-item/style/index.d.ts +0 -0
  91. package/es/components/descriptions-item/style/index.mjs +3 -0
  92. package/es/components/descriptions-item/style/index.mjs.map +1 -0
  93. package/es/components/divider/divider.vue.d.ts +2 -2
  94. package/es/components/divider/index.d.ts +2 -2
  95. package/es/components/full-screen/full-screen.vue.d.ts +2 -0
  96. package/es/components/full-screen/full-screen.vue.mjs +5 -0
  97. package/es/components/full-screen/full-screen.vue.mjs.map +1 -0
  98. package/es/components/full-screen/full-screen.vue2.mjs +35 -0
  99. package/es/components/full-screen/full-screen.vue2.mjs.map +1 -0
  100. package/es/components/full-screen/index.d.ts +2 -0
  101. package/es/components/full-screen/index.mjs +11 -0
  102. package/es/components/full-screen/index.mjs.map +1 -0
  103. package/es/components/full-screen/style/css.d.ts +0 -0
  104. package/es/components/full-screen/style/css.mjs +3 -0
  105. package/es/components/full-screen/style/css.mjs.map +1 -0
  106. package/es/components/full-screen/style/index.d.ts +0 -0
  107. package/es/components/full-screen/style/index.mjs +3 -0
  108. package/es/components/full-screen/style/index.mjs.map +1 -0
  109. package/es/components/header-layout/style/css.mjs +1 -0
  110. package/es/components/header-layout/style/css.mjs.map +1 -1
  111. package/es/components/header-layout/style/index.mjs +1 -0
  112. package/es/components/header-layout/style/index.mjs.map +1 -1
  113. package/es/components/icon-text/icon-text.vue.d.ts +56 -0
  114. package/es/components/icon-text/icon-text.vue.mjs +5 -0
  115. package/es/components/icon-text/icon-text.vue.mjs.map +1 -0
  116. package/es/components/icon-text/icon-text.vue2.mjs +42 -0
  117. package/es/components/icon-text/icon-text.vue2.mjs.map +1 -0
  118. package/es/components/icon-text/index.d.ts +54 -0
  119. package/es/components/icon-text/index.mjs +11 -0
  120. package/es/components/icon-text/index.mjs.map +1 -0
  121. package/es/components/icon-text/style/css.d.ts +0 -0
  122. package/es/components/icon-text/style/css.mjs +3 -0
  123. package/es/components/icon-text/style/css.mjs.map +1 -0
  124. package/es/components/icon-text/style/index.d.ts +0 -0
  125. package/es/components/icon-text/style/index.mjs +3 -0
  126. package/es/components/icon-text/style/index.mjs.map +1 -0
  127. package/es/components/image/image.vue.d.ts +108 -0
  128. package/es/components/image/image.vue.mjs +5 -0
  129. package/es/components/image/image.vue.mjs.map +1 -0
  130. package/es/components/image/image.vue2.mjs +117 -0
  131. package/es/components/image/image.vue2.mjs.map +1 -0
  132. package/es/components/image/index.d.ts +107 -0
  133. package/es/components/image/index.mjs +11 -0
  134. package/es/components/image/index.mjs.map +1 -0
  135. package/es/components/image/style/css.d.ts +0 -0
  136. package/es/components/image/style/css.mjs +3 -0
  137. package/es/components/image/style/css.mjs.map +1 -0
  138. package/es/components/image/style/index.d.ts +0 -0
  139. package/es/components/image/style/index.mjs +3 -0
  140. package/es/components/image/style/index.mjs.map +1 -0
  141. package/es/components/image/types.d.ts +1 -0
  142. package/es/components/image/types.mjs +2 -0
  143. package/es/components/image/types.mjs.map +1 -0
  144. package/es/components/index.d.ts +15 -0
  145. package/es/components/index.mjs +96 -54
  146. package/es/components/index.mjs.map +1 -1
  147. package/es/components/input/index.d.ts +252 -0
  148. package/es/components/input/index.mjs +11 -0
  149. package/es/components/input/index.mjs.map +1 -0
  150. package/es/components/input/input.vue.d.ts +265 -0
  151. package/es/components/input/input.vue.mjs +5 -0
  152. package/es/components/input/input.vue.mjs.map +1 -0
  153. package/es/components/input/input.vue2.mjs +362 -0
  154. package/es/components/input/input.vue2.mjs.map +1 -0
  155. package/es/components/input/style/css.d.ts +0 -0
  156. package/es/components/input/style/css.mjs +3 -0
  157. package/es/components/input/style/css.mjs.map +1 -0
  158. package/es/components/input/style/index.d.ts +0 -0
  159. package/es/components/input/style/index.mjs +3 -0
  160. package/es/components/input/style/index.mjs.map +1 -0
  161. package/es/components/input/utils.d.ts +6 -0
  162. package/es/components/input/utils.mjs +54 -0
  163. package/es/components/input/utils.mjs.map +1 -0
  164. package/es/components/link/index.d.ts +54 -0
  165. package/es/components/link/index.mjs +11 -0
  166. package/es/components/link/index.mjs.map +1 -0
  167. package/es/components/link/link.vue.d.ts +58 -0
  168. package/es/components/link/link.vue.mjs +5 -0
  169. package/es/components/link/link.vue.mjs.map +1 -0
  170. package/es/components/link/link.vue2.mjs +58 -0
  171. package/es/components/link/link.vue2.mjs.map +1 -0
  172. package/es/components/link/style/css.d.ts +0 -0
  173. package/es/components/link/style/css.mjs +3 -0
  174. package/es/components/link/style/css.mjs.map +1 -0
  175. package/es/components/link/style/index.d.ts +0 -0
  176. package/es/components/link/style/index.mjs +3 -0
  177. package/es/components/link/style/index.mjs.map +1 -0
  178. package/es/components/menu/index.d.ts +4 -4
  179. package/es/components/menu/menu-item.vue2.mjs +41 -26
  180. package/es/components/menu/menu-item.vue2.mjs.map +1 -1
  181. package/es/components/menu/menu.vue.d.ts +4 -4
  182. package/es/components/menu/sub-menu.vue2.mjs +60 -45
  183. package/es/components/menu/sub-menu.vue2.mjs.map +1 -1
  184. package/es/components/multiple-tabs/multiple-tabs.vue2.mjs +54 -39
  185. package/es/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -1
  186. package/es/components/multiple-tabs/tab-content.vue2.mjs +29 -14
  187. package/es/components/multiple-tabs/tab-content.vue2.mjs.map +1 -1
  188. package/es/components/overlay/index.d.ts +46 -0
  189. package/es/components/overlay/index.mjs +11 -0
  190. package/es/components/overlay/index.mjs.map +1 -0
  191. package/es/components/overlay/overlay.vue.d.ts +47 -0
  192. package/es/components/overlay/overlay.vue.mjs +5 -0
  193. package/es/components/overlay/overlay.vue.mjs.map +1 -0
  194. package/es/components/overlay/overlay.vue2.mjs +77 -0
  195. package/es/components/overlay/overlay.vue2.mjs.map +1 -0
  196. package/es/components/overlay/style/css.d.ts +0 -0
  197. package/es/components/overlay/style/css.mjs +3 -0
  198. package/es/components/overlay/style/css.mjs.map +1 -0
  199. package/es/components/overlay/style/index.d.ts +0 -0
  200. package/es/components/overlay/style/index.mjs +3 -0
  201. package/es/components/overlay/style/index.mjs.map +1 -0
  202. package/es/components/pagination/components/jumper.vue.d.ts +14 -0
  203. package/es/components/pagination/components/jumper.vue.mjs +5 -0
  204. package/es/components/pagination/components/jumper.vue.mjs.map +1 -0
  205. package/es/components/pagination/components/jumper.vue2.mjs +52 -0
  206. package/es/components/pagination/components/jumper.vue2.mjs.map +1 -0
  207. package/es/components/pagination/components/next.vue.d.ts +39 -0
  208. package/es/components/pagination/components/next.vue.mjs +5 -0
  209. package/es/components/pagination/components/next.vue.mjs.map +1 -0
  210. package/es/components/pagination/components/next.vue2.mjs +34 -0
  211. package/es/components/pagination/components/next.vue2.mjs.map +1 -0
  212. package/es/components/pagination/components/pager.vue.d.ts +39 -0
  213. package/es/components/pagination/components/pager.vue.mjs +5 -0
  214. package/es/components/pagination/components/pager.vue.mjs.map +1 -0
  215. package/es/components/pagination/components/pager.vue2.mjs +153 -0
  216. package/es/components/pagination/components/pager.vue2.mjs.map +1 -0
  217. package/es/components/pagination/components/prev.vue.d.ts +31 -0
  218. package/es/components/pagination/components/prev.vue.mjs +5 -0
  219. package/es/components/pagination/components/prev.vue.mjs.map +1 -0
  220. package/es/components/pagination/components/prev.vue2.mjs +33 -0
  221. package/es/components/pagination/components/prev.vue2.mjs.map +1 -0
  222. package/es/components/pagination/components/sizes.vue.d.ts +47 -0
  223. package/es/components/pagination/components/sizes.vue.mjs +5 -0
  224. package/es/components/pagination/components/sizes.vue.mjs.map +1 -0
  225. package/es/components/pagination/components/sizes.vue2.mjs +45 -0
  226. package/es/components/pagination/components/sizes.vue2.mjs.map +1 -0
  227. package/es/components/pagination/components/total.vue.d.ts +13 -0
  228. package/es/components/pagination/components/total.vue.mjs +5 -0
  229. package/es/components/pagination/components/total.vue.mjs.map +1 -0
  230. package/es/components/pagination/components/total.vue2.mjs +26 -0
  231. package/es/components/pagination/components/total.vue2.mjs.map +1 -0
  232. package/es/components/pagination/index.d.ts +121 -0
  233. package/es/components/pagination/index.mjs +16 -0
  234. package/es/components/pagination/index.mjs.map +1 -0
  235. package/es/components/pagination/pagination.d.ts +237 -0
  236. package/es/components/pagination/pagination.mjs +251 -0
  237. package/es/components/pagination/pagination.mjs.map +1 -0
  238. package/es/components/pagination/style/css.d.ts +0 -0
  239. package/es/components/pagination/style/css.mjs +3 -0
  240. package/es/components/pagination/style/css.mjs.map +1 -0
  241. package/es/components/pagination/style/index.d.ts +0 -0
  242. package/es/components/pagination/style/index.mjs +3 -0
  243. package/es/components/pagination/style/index.mjs.map +1 -0
  244. package/es/components/pagination/usePagination.d.ts +10 -0
  245. package/es/components/pagination/usePagination.mjs +7 -0
  246. package/es/components/pagination/usePagination.mjs.map +1 -0
  247. package/es/components/popover/index.d.ts +6 -6
  248. package/es/components/popover/popover.vue.d.ts +2 -2
  249. package/es/components/popper/composables/use-content.d.ts +2 -2
  250. package/es/components/popper/content.vue.d.ts +3 -3
  251. package/es/components/popper/index.d.ts +2 -2
  252. package/es/components/popper/popper.vue.d.ts +2 -2
  253. package/es/components/qrcode/drawCanvas.d.ts +2 -0
  254. package/es/components/qrcode/drawCanvas.mjs +17 -0
  255. package/es/components/qrcode/drawCanvas.mjs.map +1 -0
  256. package/es/components/qrcode/drawLogo.d.ts +2 -0
  257. package/es/components/qrcode/drawLogo.mjs +39 -0
  258. package/es/components/qrcode/drawLogo.mjs.map +1 -0
  259. package/es/components/qrcode/index.d.ts +50 -0
  260. package/es/components/qrcode/index.mjs +11 -0
  261. package/es/components/qrcode/index.mjs.map +1 -0
  262. package/es/components/qrcode/qrcode.vue.d.ts +51 -0
  263. package/es/components/qrcode/qrcode.vue.mjs +5 -0
  264. package/es/components/qrcode/qrcode.vue.mjs.map +1 -0
  265. package/es/components/qrcode/qrcode.vue2.mjs +81 -0
  266. package/es/components/qrcode/qrcode.vue2.mjs.map +1 -0
  267. package/es/components/qrcode/qrcodePlus.d.ts +3 -0
  268. package/es/components/qrcode/qrcodePlus.mjs +5 -0
  269. package/es/components/qrcode/qrcodePlus.mjs.map +1 -0
  270. package/es/components/qrcode/style/css.d.ts +0 -0
  271. package/es/components/qrcode/style/css.mjs +3 -0
  272. package/es/components/qrcode/style/css.mjs.map +1 -0
  273. package/es/components/qrcode/style/index.d.ts +0 -0
  274. package/es/components/qrcode/style/index.mjs +3 -0
  275. package/es/components/qrcode/style/index.mjs.map +1 -0
  276. package/es/components/qrcode/toCanvas.d.ts +2 -0
  277. package/es/components/qrcode/toCanvas.mjs +7 -0
  278. package/es/components/qrcode/toCanvas.mjs.map +1 -0
  279. package/es/components/qrcode/types.d.ts +31 -0
  280. package/es/components/qrcode/types.mjs +2 -0
  281. package/es/components/qrcode/types.mjs.map +1 -0
  282. package/es/components/result/result.vue2.mjs +22 -7
  283. package/es/components/result/result.vue2.mjs.map +1 -1
  284. package/es/components/side-menu/index.d.ts +117 -0
  285. package/es/components/side-menu/index.mjs +11 -0
  286. package/es/components/side-menu/index.mjs.map +1 -0
  287. package/es/components/side-menu/side-menu.vue.d.ts +118 -0
  288. package/es/components/side-menu/side-menu.vue.mjs +5 -0
  289. package/es/components/side-menu/side-menu.vue.mjs.map +1 -0
  290. package/es/components/side-menu/side-menu.vue2.mjs +226 -0
  291. package/es/components/side-menu/side-menu.vue2.mjs.map +1 -0
  292. package/es/components/side-menu/style/css.d.ts +0 -0
  293. package/es/components/side-menu/style/css.mjs +3 -0
  294. package/es/components/side-menu/style/css.mjs.map +1 -0
  295. package/es/components/side-menu/style/index.d.ts +0 -0
  296. package/es/components/side-menu/style/index.mjs +3 -0
  297. package/es/components/side-menu/style/index.mjs.map +1 -0
  298. package/es/components/side-menu/types.d.ts +19 -0
  299. package/es/components/side-menu/types.mjs +2 -0
  300. package/es/components/side-menu/types.mjs.map +1 -0
  301. package/es/components/tabs/index.d.ts +4 -4
  302. package/es/components/tabs/tab-nav.vue2.mjs +61 -46
  303. package/es/components/tabs/tab-nav.vue2.mjs.map +1 -1
  304. package/es/components/tabs/tabs.vue.d.ts +3 -3
  305. package/es/components/tag/index.d.ts +71 -0
  306. package/es/components/tag/index.mjs +11 -0
  307. package/es/components/tag/index.mjs.map +1 -0
  308. package/es/components/tag/style/css.d.ts +0 -0
  309. package/es/components/tag/style/css.mjs +3 -0
  310. package/es/components/tag/style/css.mjs.map +1 -0
  311. package/es/components/tag/style/index.d.ts +0 -0
  312. package/es/components/{context-menu → tag}/style/index.mjs +1 -1
  313. package/es/components/tag/style/index.mjs.map +1 -0
  314. package/es/components/tag/tag.vue.d.ts +74 -0
  315. package/es/components/tag/tag.vue.mjs +5 -0
  316. package/es/components/tag/tag.vue.mjs.map +1 -0
  317. package/es/components/tag/tag.vue2.mjs +76 -0
  318. package/es/components/tag/tag.vue2.mjs.map +1 -0
  319. package/es/components/tag/types.d.ts +1 -0
  320. package/es/components/tag/types.mjs +2 -0
  321. package/es/components/tag/types.mjs.map +1 -0
  322. package/es/components/tooltip/index.d.ts +13 -13
  323. package/es/components/tooltip/tooltip.vue.d.ts +7 -7
  324. package/es/hooks/index.d.ts +1 -0
  325. package/es/hooks/index.mjs +33 -30
  326. package/es/hooks/index.mjs.map +1 -1
  327. package/es/hooks/use-cursor/index.d.ts +2 -0
  328. package/es/hooks/use-cursor/index.mjs +41 -0
  329. package/es/hooks/use-cursor/index.mjs.map +1 -0
  330. package/es/hooks/use-namespace/index.d.ts +3 -3
  331. package/es/hooks/use-namespace/index.mjs +12 -12
  332. package/es/hooks/use-namespace/index.mjs.map +1 -1
  333. package/es/hooks/use-popper/index.d.ts +2 -2
  334. package/es/hooks/use-z-index/index.d.ts +3 -1
  335. package/es/hooks/use-z-index/index.mjs +9 -8
  336. package/es/hooks/use-z-index/index.mjs.map +1 -1
  337. package/es/index.mjs +149 -104
  338. package/es/index.mjs.map +1 -1
  339. package/es/package.json.mjs +1 -1
  340. package/es/style.css +1 -1
  341. package/es/theme-style/src/clamp-toggle.scss.mjs +5 -0
  342. package/es/theme-style/src/clamp-toggle.scss.mjs.map +1 -0
  343. package/es/theme-style/src/clamp.scss.mjs +5 -0
  344. package/es/theme-style/src/clamp.scss.mjs.map +1 -0
  345. package/es/theme-style/src/config-provider.scss.mjs +5 -0
  346. package/es/theme-style/src/config-provider.scss.mjs.map +1 -0
  347. package/es/theme-style/src/descriptions-item.scss.mjs +5 -0
  348. package/es/theme-style/src/descriptions-item.scss.mjs.map +1 -0
  349. package/es/theme-style/src/descriptions.scss.mjs +5 -0
  350. package/es/theme-style/src/descriptions.scss.mjs.map +1 -0
  351. package/es/theme-style/src/full-screen.scss.mjs +5 -0
  352. package/es/theme-style/src/full-screen.scss.mjs.map +1 -0
  353. package/es/theme-style/src/icon-text.scss.mjs +5 -0
  354. package/es/theme-style/src/icon-text.scss.mjs.map +1 -0
  355. package/es/theme-style/src/image.scss.mjs +5 -0
  356. package/es/theme-style/src/image.scss.mjs.map +1 -0
  357. package/es/theme-style/src/input.scss.mjs +5 -0
  358. package/es/theme-style/src/input.scss.mjs.map +1 -0
  359. package/es/theme-style/src/link.scss.mjs +5 -0
  360. package/es/theme-style/src/link.scss.mjs.map +1 -0
  361. package/es/theme-style/src/overlay.scss.mjs +5 -0
  362. package/es/theme-style/src/overlay.scss.mjs.map +1 -0
  363. package/es/theme-style/src/pagination.scss.mjs +5 -0
  364. package/es/theme-style/src/pagination.scss.mjs.map +1 -0
  365. package/es/theme-style/src/qrcode.scss.mjs +5 -0
  366. package/es/theme-style/src/qrcode.scss.mjs.map +1 -0
  367. package/es/theme-style/src/side-menu.scss.mjs +5 -0
  368. package/es/theme-style/src/side-menu.scss.mjs.map +1 -0
  369. package/es/theme-style/src/tag.scss.mjs +5 -0
  370. package/es/theme-style/src/tag.scss.mjs.map +1 -0
  371. package/es/utils/error.mjs +3 -3
  372. package/es/utils/error.mjs.map +1 -1
  373. package/es/utils/vue/vnode.mjs.map +1 -1
  374. package/lib/component.js +1 -1
  375. package/lib/component.js.map +1 -1
  376. package/lib/components/avatar/avatar.vue.d.ts +2 -2
  377. package/lib/components/avatar/index.d.ts +2 -2
  378. package/lib/components/back-top/back-top.vue2.js +1 -1
  379. package/lib/components/back-top/back-top.vue2.js.map +1 -1
  380. package/lib/components/clamp/clamp.vue.d.ts +64 -0
  381. package/lib/components/clamp/clamp.vue.js +2 -0
  382. package/lib/components/clamp/clamp.vue.js.map +1 -0
  383. package/lib/components/clamp/clamp.vue2.js +2 -0
  384. package/lib/components/clamp/clamp.vue2.js.map +1 -0
  385. package/lib/components/clamp/index.d.ts +63 -0
  386. package/lib/components/clamp/index.js +2 -0
  387. package/lib/components/clamp/index.js.map +1 -0
  388. package/lib/components/clamp/style/css.d.ts +0 -0
  389. package/lib/components/clamp/style/css.js +2 -0
  390. package/lib/components/clamp/style/css.js.map +1 -0
  391. package/lib/components/clamp/style/index.d.ts +0 -0
  392. package/lib/components/clamp/style/index.js +2 -0
  393. package/lib/components/clamp/style/index.js.map +1 -0
  394. package/lib/components/clamp-toggle/clamp-toggle.vue.d.ts +101 -0
  395. package/lib/components/clamp-toggle/clamp-toggle.vue.js +2 -0
  396. package/lib/components/clamp-toggle/clamp-toggle.vue.js.map +1 -0
  397. package/lib/components/clamp-toggle/clamp-toggle.vue2.js +2 -0
  398. package/lib/components/clamp-toggle/clamp-toggle.vue2.js.map +1 -0
  399. package/lib/components/clamp-toggle/index.d.ts +100 -0
  400. package/lib/components/clamp-toggle/index.js +2 -0
  401. package/lib/components/clamp-toggle/index.js.map +1 -0
  402. package/lib/components/clamp-toggle/style/css.d.ts +0 -0
  403. package/lib/components/{context-menu → clamp-toggle}/style/css.js +1 -1
  404. package/lib/components/clamp-toggle/style/index.d.ts +0 -0
  405. package/lib/components/clamp-toggle/style/index.js +2 -0
  406. package/lib/components/config-provider/config-provider.vue.d.ts +69 -0
  407. package/lib/components/config-provider/config-provider.vue.js +2 -0
  408. package/lib/components/config-provider/config-provider.vue.js.map +1 -0
  409. package/lib/components/config-provider/config-provider.vue2.js +2 -0
  410. package/lib/components/config-provider/config-provider.vue2.js.map +1 -0
  411. package/lib/components/config-provider/constants.d.ts +4 -0
  412. package/lib/components/config-provider/constants.js +2 -0
  413. package/lib/components/config-provider/constants.js.map +1 -0
  414. package/lib/components/config-provider/hooks/use-global-config.d.ts +31 -0
  415. package/lib/components/config-provider/hooks/use-global-config.js +2 -0
  416. package/lib/components/config-provider/hooks/use-global-config.js.map +1 -0
  417. package/lib/components/config-provider/index.d.ts +71 -0
  418. package/lib/components/config-provider/index.js +2 -0
  419. package/lib/components/config-provider/index.js.map +1 -0
  420. package/lib/components/config-provider/style/css.d.ts +0 -0
  421. package/lib/components/config-provider/style/css.js +2 -0
  422. package/lib/components/config-provider/style/css.js.map +1 -0
  423. package/lib/components/config-provider/style/index.d.ts +0 -0
  424. package/lib/components/config-provider/style/index.js +2 -0
  425. package/lib/components/config-provider/style/index.js.map +1 -0
  426. package/lib/components/config-provider/types.d.ts +18 -0
  427. package/lib/components/config-provider/types.js +2 -0
  428. package/lib/components/config-provider/types.js.map +1 -0
  429. package/lib/components/context-menu/context-menu.vue2.js +1 -1
  430. package/lib/components/context-menu/context-menu.vue2.js.map +1 -1
  431. package/lib/components/descriptions/description-item.vue.d.ts +69 -0
  432. package/lib/components/descriptions/description-item.vue.js +2 -0
  433. package/lib/components/descriptions/description-item.vue.js.map +1 -0
  434. package/lib/components/descriptions/description-item.vue2.js +2 -0
  435. package/lib/components/descriptions/description-item.vue2.js.map +1 -0
  436. package/lib/components/descriptions/description.vue.d.ts +53 -0
  437. package/lib/components/descriptions/description.vue.js +2 -0
  438. package/lib/components/descriptions/description.vue.js.map +1 -0
  439. package/lib/components/descriptions/description.vue2.js +2 -0
  440. package/lib/components/descriptions/description.vue2.js.map +1 -0
  441. package/lib/components/descriptions/descriptions-cell.d.ts +25 -0
  442. package/lib/components/descriptions/descriptions-cell.js +2 -0
  443. package/lib/components/descriptions/descriptions-cell.js.map +1 -0
  444. package/lib/components/descriptions/descriptions-row.vue.d.ts +13 -0
  445. package/lib/components/descriptions/descriptions-row.vue.js +2 -0
  446. package/lib/components/descriptions/descriptions-row.vue.js.map +1 -0
  447. package/lib/components/descriptions/descriptions-row.vue2.js +2 -0
  448. package/lib/components/descriptions/descriptions-row.vue2.js.map +1 -0
  449. package/lib/components/descriptions/descriptions.type.d.ts +18 -0
  450. package/lib/components/descriptions/descriptions.type.js +2 -0
  451. package/lib/components/descriptions/descriptions.type.js.map +1 -0
  452. package/lib/components/descriptions/index.d.ts +187 -0
  453. package/lib/components/descriptions/index.js +2 -0
  454. package/lib/components/descriptions/index.js.map +1 -0
  455. package/lib/components/descriptions/style/css.d.ts +0 -0
  456. package/lib/components/descriptions/style/css.js +2 -0
  457. package/lib/components/descriptions/style/css.js.map +1 -0
  458. package/lib/components/descriptions/style/index.d.ts +0 -0
  459. package/lib/components/descriptions/style/index.js +2 -0
  460. package/lib/components/descriptions/style/index.js.map +1 -0
  461. package/lib/components/descriptions/token.d.ts +3 -0
  462. package/lib/components/descriptions/token.js +2 -0
  463. package/lib/components/descriptions/token.js.map +1 -0
  464. package/lib/components/descriptions-item/style/css.d.ts +0 -0
  465. package/lib/components/descriptions-item/style/css.js +2 -0
  466. package/lib/components/descriptions-item/style/css.js.map +1 -0
  467. package/lib/components/descriptions-item/style/index.d.ts +0 -0
  468. package/lib/components/descriptions-item/style/index.js +2 -0
  469. package/lib/components/descriptions-item/style/index.js.map +1 -0
  470. package/lib/components/divider/divider.vue.d.ts +2 -2
  471. package/lib/components/divider/index.d.ts +2 -2
  472. package/lib/components/full-screen/full-screen.vue.d.ts +2 -0
  473. package/lib/components/full-screen/full-screen.vue.js +2 -0
  474. package/lib/components/full-screen/full-screen.vue.js.map +1 -0
  475. package/lib/components/full-screen/full-screen.vue2.js +2 -0
  476. package/lib/components/full-screen/full-screen.vue2.js.map +1 -0
  477. package/lib/components/full-screen/index.d.ts +2 -0
  478. package/lib/components/full-screen/index.js +2 -0
  479. package/lib/components/full-screen/index.js.map +1 -0
  480. package/lib/components/full-screen/style/css.d.ts +0 -0
  481. package/lib/components/full-screen/style/css.js +2 -0
  482. package/lib/components/full-screen/style/css.js.map +1 -0
  483. package/lib/components/full-screen/style/index.d.ts +0 -0
  484. package/lib/components/full-screen/style/index.js +2 -0
  485. package/lib/components/full-screen/style/index.js.map +1 -0
  486. package/lib/components/header-layout/style/css.js +1 -1
  487. package/lib/components/header-layout/style/index.js +1 -1
  488. package/lib/components/icon-text/icon-text.vue.d.ts +56 -0
  489. package/lib/components/icon-text/icon-text.vue.js +2 -0
  490. package/lib/components/icon-text/icon-text.vue.js.map +1 -0
  491. package/lib/components/icon-text/icon-text.vue2.js +2 -0
  492. package/lib/components/icon-text/icon-text.vue2.js.map +1 -0
  493. package/lib/components/icon-text/index.d.ts +54 -0
  494. package/lib/components/icon-text/index.js +2 -0
  495. package/lib/components/icon-text/index.js.map +1 -0
  496. package/lib/components/icon-text/style/css.d.ts +0 -0
  497. package/lib/components/icon-text/style/css.js +2 -0
  498. package/lib/components/icon-text/style/css.js.map +1 -0
  499. package/lib/components/icon-text/style/index.d.ts +0 -0
  500. package/lib/components/icon-text/style/index.js +2 -0
  501. package/lib/components/icon-text/style/index.js.map +1 -0
  502. package/lib/components/image/image.vue.d.ts +108 -0
  503. package/lib/components/image/image.vue.js +2 -0
  504. package/lib/components/image/image.vue.js.map +1 -0
  505. package/lib/components/image/image.vue2.js +2 -0
  506. package/lib/components/image/image.vue2.js.map +1 -0
  507. package/lib/components/image/index.d.ts +107 -0
  508. package/lib/components/image/index.js +2 -0
  509. package/lib/components/image/index.js.map +1 -0
  510. package/lib/components/image/style/css.d.ts +0 -0
  511. package/lib/components/image/style/css.js +2 -0
  512. package/lib/components/image/style/css.js.map +1 -0
  513. package/lib/components/image/style/index.d.ts +0 -0
  514. package/lib/components/image/style/index.js +2 -0
  515. package/lib/components/image/style/index.js.map +1 -0
  516. package/lib/components/image/types.d.ts +1 -0
  517. package/lib/components/image/types.js +2 -0
  518. package/lib/components/image/types.js.map +1 -0
  519. package/lib/components/index.d.ts +15 -0
  520. package/lib/components/index.js +1 -1
  521. package/lib/components/input/index.d.ts +252 -0
  522. package/lib/components/input/index.js +2 -0
  523. package/lib/components/input/index.js.map +1 -0
  524. package/lib/components/input/input.vue.d.ts +265 -0
  525. package/lib/components/input/input.vue.js +2 -0
  526. package/lib/components/input/input.vue.js.map +1 -0
  527. package/lib/components/input/input.vue2.js +2 -0
  528. package/lib/components/input/input.vue2.js.map +1 -0
  529. package/lib/components/input/style/css.d.ts +0 -0
  530. package/lib/components/input/style/css.js +2 -0
  531. package/lib/components/input/style/css.js.map +1 -0
  532. package/lib/components/input/style/index.d.ts +0 -0
  533. package/lib/components/input/style/index.js +2 -0
  534. package/lib/components/input/style/index.js.map +1 -0
  535. package/lib/components/input/utils.d.ts +6 -0
  536. package/lib/components/input/utils.js +10 -0
  537. package/lib/components/input/utils.js.map +1 -0
  538. package/lib/components/link/index.d.ts +54 -0
  539. package/lib/components/link/index.js +2 -0
  540. package/lib/components/link/index.js.map +1 -0
  541. package/lib/components/link/link.vue.d.ts +58 -0
  542. package/lib/components/link/link.vue.js +2 -0
  543. package/lib/components/link/link.vue.js.map +1 -0
  544. package/lib/components/link/link.vue2.js +2 -0
  545. package/lib/components/link/link.vue2.js.map +1 -0
  546. package/lib/components/link/style/css.d.ts +0 -0
  547. package/lib/components/link/style/css.js +2 -0
  548. package/lib/components/link/style/css.js.map +1 -0
  549. package/lib/components/link/style/index.d.ts +0 -0
  550. package/lib/components/{context-menu → link}/style/index.js +1 -1
  551. package/lib/components/link/style/index.js.map +1 -0
  552. package/lib/components/menu/index.d.ts +4 -4
  553. package/lib/components/menu/menu-item.vue2.js +1 -1
  554. package/lib/components/menu/menu-item.vue2.js.map +1 -1
  555. package/lib/components/menu/menu.vue.d.ts +4 -4
  556. package/lib/components/menu/sub-menu.vue2.js +1 -1
  557. package/lib/components/menu/sub-menu.vue2.js.map +1 -1
  558. package/lib/components/multiple-tabs/multiple-tabs.vue2.js +1 -1
  559. package/lib/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -1
  560. package/lib/components/multiple-tabs/tab-content.vue2.js +1 -1
  561. package/lib/components/multiple-tabs/tab-content.vue2.js.map +1 -1
  562. package/lib/components/overlay/index.d.ts +46 -0
  563. package/lib/components/overlay/index.js +2 -0
  564. package/lib/components/overlay/index.js.map +1 -0
  565. package/lib/components/overlay/overlay.vue.d.ts +47 -0
  566. package/lib/components/overlay/overlay.vue.js +2 -0
  567. package/lib/components/overlay/overlay.vue.js.map +1 -0
  568. package/lib/components/overlay/overlay.vue2.js +2 -0
  569. package/lib/components/overlay/overlay.vue2.js.map +1 -0
  570. package/lib/components/overlay/style/css.d.ts +0 -0
  571. package/lib/components/overlay/style/css.js +2 -0
  572. package/lib/components/overlay/style/css.js.map +1 -0
  573. package/lib/components/overlay/style/index.d.ts +0 -0
  574. package/lib/components/overlay/style/index.js +2 -0
  575. package/lib/components/overlay/style/index.js.map +1 -0
  576. package/lib/components/pagination/components/jumper.vue.d.ts +14 -0
  577. package/lib/components/pagination/components/jumper.vue.js +2 -0
  578. package/lib/components/pagination/components/jumper.vue.js.map +1 -0
  579. package/lib/components/pagination/components/jumper.vue2.js +2 -0
  580. package/lib/components/pagination/components/jumper.vue2.js.map +1 -0
  581. package/lib/components/pagination/components/next.vue.d.ts +39 -0
  582. package/lib/components/pagination/components/next.vue.js +2 -0
  583. package/lib/components/pagination/components/next.vue.js.map +1 -0
  584. package/lib/components/pagination/components/next.vue2.js +2 -0
  585. package/lib/components/pagination/components/next.vue2.js.map +1 -0
  586. package/lib/components/pagination/components/pager.vue.d.ts +39 -0
  587. package/lib/components/pagination/components/pager.vue.js +2 -0
  588. package/lib/components/pagination/components/pager.vue.js.map +1 -0
  589. package/lib/components/pagination/components/pager.vue2.js +2 -0
  590. package/lib/components/pagination/components/pager.vue2.js.map +1 -0
  591. package/lib/components/pagination/components/prev.vue.d.ts +31 -0
  592. package/lib/components/pagination/components/prev.vue.js +2 -0
  593. package/lib/components/pagination/components/prev.vue.js.map +1 -0
  594. package/lib/components/pagination/components/prev.vue2.js +2 -0
  595. package/lib/components/pagination/components/prev.vue2.js.map +1 -0
  596. package/lib/components/pagination/components/sizes.vue.d.ts +47 -0
  597. package/lib/components/pagination/components/sizes.vue.js +2 -0
  598. package/lib/components/pagination/components/sizes.vue.js.map +1 -0
  599. package/lib/components/pagination/components/sizes.vue2.js +2 -0
  600. package/lib/components/pagination/components/sizes.vue2.js.map +1 -0
  601. package/lib/components/pagination/components/total.vue.d.ts +13 -0
  602. package/lib/components/pagination/components/total.vue.js +2 -0
  603. package/lib/components/pagination/components/total.vue.js.map +1 -0
  604. package/lib/components/pagination/components/total.vue2.js +2 -0
  605. package/lib/components/pagination/components/total.vue2.js.map +1 -0
  606. package/lib/components/pagination/index.d.ts +121 -0
  607. package/lib/components/pagination/index.js +2 -0
  608. package/lib/components/pagination/index.js.map +1 -0
  609. package/lib/components/pagination/pagination.d.ts +237 -0
  610. package/lib/components/pagination/pagination.js +2 -0
  611. package/lib/components/pagination/pagination.js.map +1 -0
  612. package/lib/components/pagination/style/css.d.ts +0 -0
  613. package/lib/components/pagination/style/css.js +2 -0
  614. package/lib/components/pagination/style/css.js.map +1 -0
  615. package/lib/components/pagination/style/index.d.ts +0 -0
  616. package/lib/components/pagination/style/index.js +2 -0
  617. package/lib/components/pagination/style/index.js.map +1 -0
  618. package/lib/components/pagination/usePagination.d.ts +10 -0
  619. package/lib/components/pagination/usePagination.js +2 -0
  620. package/lib/components/pagination/usePagination.js.map +1 -0
  621. package/lib/components/popover/index.d.ts +6 -6
  622. package/lib/components/popover/popover.vue.d.ts +2 -2
  623. package/lib/components/popper/composables/use-content.d.ts +2 -2
  624. package/lib/components/popper/content.vue.d.ts +3 -3
  625. package/lib/components/popper/index.d.ts +2 -2
  626. package/lib/components/popper/popper.vue.d.ts +2 -2
  627. package/lib/components/qrcode/drawCanvas.d.ts +2 -0
  628. package/lib/components/qrcode/drawCanvas.js +2 -0
  629. package/lib/components/qrcode/drawCanvas.js.map +1 -0
  630. package/lib/components/qrcode/drawLogo.d.ts +2 -0
  631. package/lib/components/qrcode/drawLogo.js +2 -0
  632. package/lib/components/qrcode/drawLogo.js.map +1 -0
  633. package/lib/components/qrcode/index.d.ts +50 -0
  634. package/lib/components/qrcode/index.js +2 -0
  635. package/lib/components/qrcode/index.js.map +1 -0
  636. package/lib/components/qrcode/qrcode.vue.d.ts +51 -0
  637. package/lib/components/qrcode/qrcode.vue.js +2 -0
  638. package/lib/components/qrcode/qrcode.vue.js.map +1 -0
  639. package/lib/components/qrcode/qrcode.vue2.js +2 -0
  640. package/lib/components/qrcode/qrcode.vue2.js.map +1 -0
  641. package/lib/components/qrcode/qrcodePlus.d.ts +3 -0
  642. package/lib/components/qrcode/qrcodePlus.js +2 -0
  643. package/lib/components/qrcode/qrcodePlus.js.map +1 -0
  644. package/lib/components/qrcode/style/css.d.ts +0 -0
  645. package/lib/components/qrcode/style/css.js +2 -0
  646. package/lib/components/qrcode/style/css.js.map +1 -0
  647. package/lib/components/qrcode/style/index.d.ts +0 -0
  648. package/lib/components/qrcode/style/index.js +2 -0
  649. package/lib/components/qrcode/style/index.js.map +1 -0
  650. package/lib/components/qrcode/toCanvas.d.ts +2 -0
  651. package/lib/components/qrcode/toCanvas.js +2 -0
  652. package/lib/components/qrcode/toCanvas.js.map +1 -0
  653. package/lib/components/qrcode/types.d.ts +31 -0
  654. package/lib/components/qrcode/types.js +2 -0
  655. package/lib/components/qrcode/types.js.map +1 -0
  656. package/lib/components/result/result.vue2.js +1 -1
  657. package/lib/components/result/result.vue2.js.map +1 -1
  658. package/lib/components/side-menu/index.d.ts +117 -0
  659. package/lib/components/side-menu/index.js +2 -0
  660. package/lib/components/side-menu/index.js.map +1 -0
  661. package/lib/components/side-menu/side-menu.vue.d.ts +118 -0
  662. package/lib/components/side-menu/side-menu.vue.js +2 -0
  663. package/lib/components/side-menu/side-menu.vue.js.map +1 -0
  664. package/lib/components/side-menu/side-menu.vue2.js +2 -0
  665. package/lib/components/side-menu/side-menu.vue2.js.map +1 -0
  666. package/lib/components/side-menu/style/css.d.ts +0 -0
  667. package/lib/components/side-menu/style/css.js +2 -0
  668. package/lib/components/side-menu/style/css.js.map +1 -0
  669. package/lib/components/side-menu/style/index.d.ts +0 -0
  670. package/lib/components/side-menu/style/index.js +2 -0
  671. package/lib/components/side-menu/style/index.js.map +1 -0
  672. package/lib/components/side-menu/types.d.ts +19 -0
  673. package/lib/components/side-menu/types.js +2 -0
  674. package/lib/components/side-menu/types.js.map +1 -0
  675. package/lib/components/tabs/index.d.ts +4 -4
  676. package/lib/components/tabs/tab-nav.vue2.js +1 -1
  677. package/lib/components/tabs/tab-nav.vue2.js.map +1 -1
  678. package/lib/components/tabs/tabs.vue.d.ts +3 -3
  679. package/lib/components/tag/index.d.ts +71 -0
  680. package/lib/components/tag/index.js +2 -0
  681. package/lib/components/tag/index.js.map +1 -0
  682. package/lib/components/tag/style/css.d.ts +0 -0
  683. package/lib/components/tag/style/css.js +2 -0
  684. package/lib/components/tag/style/css.js.map +1 -0
  685. package/lib/components/tag/style/index.d.ts +0 -0
  686. package/lib/components/tag/style/index.js +2 -0
  687. package/lib/components/tag/style/index.js.map +1 -0
  688. package/lib/components/tag/tag.vue.d.ts +74 -0
  689. package/lib/components/tag/tag.vue.js +2 -0
  690. package/lib/components/tag/tag.vue.js.map +1 -0
  691. package/lib/components/tag/tag.vue2.js +2 -0
  692. package/lib/components/tag/tag.vue2.js.map +1 -0
  693. package/lib/components/tag/types.d.ts +1 -0
  694. package/lib/components/tag/types.js +2 -0
  695. package/lib/components/tag/types.js.map +1 -0
  696. package/lib/components/tooltip/index.d.ts +13 -13
  697. package/lib/components/tooltip/tooltip.vue.d.ts +7 -7
  698. package/lib/hooks/index.d.ts +1 -0
  699. package/lib/hooks/index.js +1 -1
  700. package/lib/hooks/use-cursor/index.d.ts +2 -0
  701. package/lib/hooks/use-cursor/index.js +2 -0
  702. package/lib/hooks/use-cursor/index.js.map +1 -0
  703. package/lib/hooks/use-namespace/index.d.ts +3 -3
  704. package/lib/hooks/use-namespace/index.js +1 -1
  705. package/lib/hooks/use-namespace/index.js.map +1 -1
  706. package/lib/hooks/use-popper/index.d.ts +2 -2
  707. package/lib/hooks/use-z-index/index.d.ts +3 -1
  708. package/lib/hooks/use-z-index/index.js +1 -1
  709. package/lib/hooks/use-z-index/index.js.map +1 -1
  710. package/lib/index.js +1 -1
  711. package/lib/index.js.map +1 -1
  712. package/lib/package.json.js +1 -1
  713. package/lib/theme-style/src/clamp-toggle.scss.js +2 -0
  714. package/lib/theme-style/src/clamp-toggle.scss.js.map +1 -0
  715. package/lib/theme-style/src/clamp.scss.js +2 -0
  716. package/lib/theme-style/src/clamp.scss.js.map +1 -0
  717. package/lib/theme-style/src/config-provider.scss.js +2 -0
  718. package/lib/theme-style/src/config-provider.scss.js.map +1 -0
  719. package/lib/theme-style/src/descriptions-item.scss.js +2 -0
  720. package/lib/theme-style/src/descriptions-item.scss.js.map +1 -0
  721. package/lib/theme-style/src/descriptions.scss.js +2 -0
  722. package/lib/theme-style/src/descriptions.scss.js.map +1 -0
  723. package/lib/theme-style/src/full-screen.scss.js +2 -0
  724. package/lib/theme-style/src/full-screen.scss.js.map +1 -0
  725. package/lib/theme-style/src/icon-text.scss.js +2 -0
  726. package/lib/theme-style/src/icon-text.scss.js.map +1 -0
  727. package/lib/theme-style/src/image.scss.js +2 -0
  728. package/lib/theme-style/src/image.scss.js.map +1 -0
  729. package/lib/theme-style/src/input.scss.js +2 -0
  730. package/lib/theme-style/src/input.scss.js.map +1 -0
  731. package/lib/theme-style/src/link.scss.js +2 -0
  732. package/lib/theme-style/src/link.scss.js.map +1 -0
  733. package/lib/theme-style/src/overlay.scss.js +2 -0
  734. package/lib/theme-style/src/overlay.scss.js.map +1 -0
  735. package/lib/theme-style/src/pagination.scss.js +2 -0
  736. package/lib/theme-style/src/pagination.scss.js.map +1 -0
  737. package/lib/theme-style/src/qrcode.scss.js +2 -0
  738. package/lib/theme-style/src/qrcode.scss.js.map +1 -0
  739. package/lib/theme-style/src/side-menu.scss.js +2 -0
  740. package/lib/theme-style/src/side-menu.scss.js.map +1 -0
  741. package/lib/theme-style/src/tag.scss.js +2 -0
  742. package/lib/theme-style/src/tag.scss.js.map +1 -0
  743. package/lib/utils/error.js +1 -1
  744. package/lib/utils/error.js.map +1 -1
  745. package/lib/utils/vue/vnode.js.map +1 -1
  746. package/package.json +4 -1
  747. package/theme-style/index.css +1 -1
  748. package/theme-style/src/clamp-toggle.scss +19 -0
  749. package/theme-style/src/clamp.scss +0 -0
  750. package/theme-style/src/common/var.scss +19 -2
  751. package/theme-style/src/config-provider.scss +0 -0
  752. package/theme-style/src/descriptions-item.scss +71 -0
  753. package/theme-style/src/descriptions.scss +157 -0
  754. package/theme-style/src/full-screen.scss +1 -1
  755. package/theme-style/src/icon-text.scss +23 -0
  756. package/theme-style/src/index.scss +15 -0
  757. package/theme-style/src/input.scss +2 -1
  758. package/theme-style/src/link.scss +91 -0
  759. package/theme-style/src/mixins/_var.scss +17 -17
  760. package/theme-style/src/mixins/function.scss +4 -4
  761. package/theme-style/src/mixins/mixins.scss +3 -3
  762. package/theme-style/src/overlay.scss +18 -0
  763. package/theme-style/src/pagination.scss +232 -0
  764. package/theme-style/src/qrcode.scss +0 -0
  765. package/theme-style/src/side-menu.scss +70 -0
  766. package/theme-style/src/tag.scss +186 -0
  767. package/theme-style/src/var.scss +9 -9
  768. package/theme-style/vft-clamp-toggle.css +1 -0
  769. package/theme-style/vft-clamp.css +0 -0
  770. package/theme-style/vft-config-provider.css +0 -0
  771. package/theme-style/vft-descriptions-item.css +1 -0
  772. package/theme-style/vft-descriptions.css +1 -0
  773. package/theme-style/vft-icon-text.css +1 -0
  774. package/theme-style/vft-link.css +1 -0
  775. package/theme-style/vft-overlay.css +1 -0
  776. package/theme-style/vft-pagination.css +1 -0
  777. package/theme-style/vft-qrcode.css +0 -0
  778. package/theme-style/vft-side-menu.css +1 -0
  779. package/theme-style/vft-tag.css +1 -0
  780. /package/{lib/components/context-menu → es/components/clamp}/style/css.d.ts +0 -0
  781. /package/{lib/components/context-menu → es/components/clamp}/style/index.d.ts +0 -0
  782. /package/es/components/{context-menu → clamp-toggle}/style/css.d.ts +0 -0
  783. /package/es/components/{context-menu → clamp-toggle}/style/css.mjs.map +0 -0
  784. /package/es/components/{context-menu → clamp-toggle}/style/index.d.ts +0 -0
  785. /package/es/components/{context-menu → clamp-toggle}/style/index.mjs.map +0 -0
  786. /package/{theme-style/src/context-menu.css → es/components/config-provider/style/css.d.ts} +0 -0
  787. /package/lib/components/{context-menu → clamp-toggle}/style/css.js.map +0 -0
  788. /package/lib/components/{context-menu → clamp-toggle}/style/index.js.map +0 -0
@@ -20,7 +20,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
20
20
  required: false;
21
21
  };
22
22
  tabPosition: {
23
- type: import("vue").PropType<"left" | "right" | "top" | "bottom" | undefined>;
23
+ type: import("vue").PropType<"left" | "right" | "bottom" | "top" | undefined>;
24
24
  required: false;
25
25
  };
26
26
  beforeLeave: {
@@ -88,7 +88,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
88
88
  attrs: Record<string, any>;
89
89
  }, index: number, ev: Event) => boolean;
90
90
  tabChange: (name: Numberish) => boolean;
91
- edit: (paneName: Numberish | undefined, action: "remove" | "add") => boolean;
91
+ edit: (paneName: Numberish | undefined, action: "add" | "remove") => boolean;
92
92
  tabRemove: (name: Numberish) => boolean;
93
93
  tabAdd: () => true;
94
94
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -113,7 +113,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
113
113
  required: false;
114
114
  };
115
115
  tabPosition: {
116
- type: import("vue").PropType<"left" | "right" | "top" | "bottom" | undefined>;
116
+ type: import("vue").PropType<"left" | "right" | "bottom" | "top" | undefined>;
117
117
  required: false;
118
118
  };
119
119
  beforeLeave: {
@@ -179,7 +179,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
179
179
  attrs: Record<string, any>;
180
180
  }, index: number, ev: Event) => any) | undefined;
181
181
  onTabChange?: ((name: Numberish) => any) | undefined;
182
- onEdit?: ((paneName: Numberish | undefined, action: "remove" | "add") => any) | undefined;
182
+ onEdit?: ((paneName: Numberish | undefined, action: "add" | "remove") => any) | undefined;
183
183
  onTabRemove?: ((name: Numberish) => any) | undefined;
184
184
  onTabAdd?: (() => any) | undefined;
185
185
  }, {}>> & {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("@vue/shared");const G=require("../../utils/error.js");require("../divider/index.js");const V=require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("./index.js");require("../popper/index.js");require("../collapse-transition/index.js");require("../tooltip/index.js");require("../popover/index.js");require("../menu/index.js");const w=require("@vft/utils");require("@vft/use");require("../multiple-tabs/index.js");require("../header-layout/index.js");require("../footer-layout/index.js");require("../iframe-layout/index.js");require("../router-view-content/index.js");require("../logo/index.js");const R=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");const T=require("@vueuse/core"),x=require("@vft/constants"),J=require("./types.js"),Q=require("./tab-bar.vue2.js"),P=R.useNamespace("tab-nav"),Z=t.defineComponent({name:P.b()}),_=t.defineComponent({...Z,props:{panes:null,editable:{type:Boolean},addable:{type:Boolean},type:null,stretch:{type:Boolean},closeIconCfg:null,addIconCfg:null,arrowLeftIconCfg:null,arrowRightIconCfg:null},emits:["tabClick","tabRemove","tabAdd","tabContextmenu"],setup(l,{expose:A,emit:C}){var E;const D=t.getCurrentInstance(),g=t.inject(J.TabsRootContextKey);g||G.throwError(P.b(),"<vft-tabs><tab-nav /></vft-tabs>");const n=R.useNamespace("tabs"),F=T.useDocumentVisibility(),L=T.useWindowFocus(),N=t.ref(),b=t.ref(),q=t.ref(),f=t.ref(!1),d=t.ref(0),y=t.ref(!1),p=t.ref(!0),h=t.computed(()=>["top","bottom"].includes(g.props.tabPosition)?"width":"height"),M=t.computed(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${d.value}px)`})),K=()=>{if(!b.value)return;const o=b.value[`offset${w.capitalize(h.value)}`],e=d.value;e&&(d.value=e>o?e-o:0)},j=()=>{if(!b.value||!q.value)return;const o=q.value[`offset${w.capitalize(h.value)}`],e=b.value[`offset${w.capitalize(h.value)}`],a=d.value;o-a<=e||(d.value=o-a>e*2?a+e:o-e)},$=async()=>{const o=q.value;if(!f.value||!N.value||!b.value||!o)return;await t.nextTick();const e=N.value.querySelector(".is-active");if(!e)return;const a=b.value,m=["top","bottom"].includes(g.props.tabPosition),c=e.getBoundingClientRect(),s=a.getBoundingClientRect(),u=m?o.offsetWidth-s.width:o.offsetHeight-s.height,i=d.value;let r=i;m?(c.left<s.left&&(r=i-(s.left-c.left)),c.right>s.right&&(r=i+c.right-s.right)):(c.top<s.top&&(r=i-(s.top-c.top)),c.bottom>s.bottom&&(r=i+(c.bottom-s.bottom))),r=Math.max(r,0),d.value=Math.min(r,u)},O=()=>{if(!q.value||!b.value)return;const o=q.value[`offset${w.capitalize(h.value)}`],e=b.value[`offset${w.capitalize(h.value)}`],a=d.value;e<o?(f.value=f.value||{},f.value.prev=a,f.value.next=a+e<o,o-a<e&&(d.value=o-e)):(f.value=!1,a>0&&(d.value=0))},H=o=>{const e=o.code,{up:a,down:m,left:c,right:s}=x.EVENT_CODE;if(![a,m,c,s].includes(e))return;const u=Array.from(o.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),i=u.indexOf(o.target);let r;e===c||e===a?i===0?r=u.length-1:r=i-1:i<u.length-1?r=i+1:r=0,u[r].focus(),u[r].click(),z()},z=()=>{p.value&&(y.value=!0)},I=()=>y.value=!1;t.watch(F,o=>{o==="hidden"?p.value=!1:o==="visible"&&setTimeout(()=>p.value=!0,50)}),t.watch(L,o=>{o?setTimeout(()=>p.value=!0,50):p.value=!1}),T.useResizeObserver(N,O),t.onMounted(()=>setTimeout(()=>$(),0)),t.onUpdated(()=>O()),A({scrollToActiveTab:$,removeFocus:I}),t.watch(()=>l.panes,()=>D.update(),{flush:"post"});const W=t.computed(()=>{var o,e;return f.value?[t.createVNode("span",{class:[n.e("nav-prev"),n.is("disabled",!f.value.prev)],onClick:K},[(o=l.arrowLeftIconCfg)!=null&&o.icon?t.createVNode(V.VftIcon,l.arrowLeftIconCfg,null):null]),t.createVNode("span",{class:[n.e("nav-next"),n.is("disabled",!f.value.next)],onClick:j},[(e=l.arrowRightIconCfg)!=null&&e.icon?t.createVNode(V.VftIcon,l.arrowRightIconCfg,null):null])]:null}),U=t.computed(()=>{var o;return(o=l.panes)==null?void 0:o.map((e,a)=>{var S,k,B;const m=e.uid,c=e.props.disabled,s=e.props.name??e.index??`${a}`,u=!c&&(e.isClosable||l.editable);e.index=`${a}`;const i=u?t.createVNode("span",{class:"is-icon-close",onClick:v=>C("tabRemove",e,v)},[(S=l.closeIconCfg)!=null&&S.icon?t.createVNode(V.VftIcon,l.closeIconCfg,null):null]):null,r=((B=(k=e.slots).label)==null?void 0:B.call(k))||e.props.label,Y=!c&&e.active?0:-1;return t.createVNode("div",{ref:`tab-${m}`,class:[n.e("item"),n.is(g.props.tabPosition),n.is("active",e.active),n.is("disabled",c),n.is("closable",u),n.is("focus",y.value)],id:`tab-${s}`,key:`tab-${m}`,"aria-controls":`pane-${s}`,role:"tab","aria-selected":e.active,tabindex:Y,onFocus:()=>z(),onBlur:()=>I(),onClick:v=>{I(),C("tabClick",e,s,v)},onContextmenu:v=>{v.preventDefault(),C("tabContextmenu",{pane:e,index:a,event:v})},onKeydown:v=>{u&&(v.code===x.EVENT_CODE.delete||v.code===x.EVENT_CODE.backspace)&&C("tabRemove",e,v)}},[r,i])})}),X=l.editable||l.addable?t.createVNode("span",{class:n.e("new-tab"),tabindex:"0",onClick:()=>C("tabAdd"),onKeydown:o=>{o.code===x.EVENT_CODE.enter&&C("tabAdd")}},[(E=l.addIconCfg)!=null&&E.icon?t.createVNode(V.VftIcon,l.addIconCfg,null):null]):null;return()=>t.createVNode("div",{ref:N,class:[n.e("nav-wrap"),n.is("scrollable",!!f.value),n.is(g.props.tabPosition)]},[W.value,t.createVNode("div",{class:n.e("nav-scroll"),ref:b},[t.createVNode("div",{class:[n.e("nav"),n.is(g.props.tabPosition),n.is("stretch",l.stretch&&["top","bottom"].includes(g.props.tabPosition))],ref:q,style:M.value,role:"tablist",onKeydown:H},[l.type?null:t.createVNode(Q.default,{tabs:[...l.panes]},null),U.value]),X])])}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("@vue/shared");const G=require("../../utils/error.js");require("../divider/index.js");const V=require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("./index.js");require("../popper/index.js");require("../collapse-transition/index.js");require("../tooltip/index.js");require("../popover/index.js");require("../menu/index.js");const w=require("@vft/utils");require("@vft/use");require("../multiple-tabs/index.js");require("../header-layout/index.js");require("../footer-layout/index.js");require("../iframe-layout/index.js");require("../router-view-content/index.js");require("../logo/index.js");require("../back-top/index.js");require("../config-provider/index.js");require("../descriptions/index.js");require("../full-screen/index.js");require("../icon-text/index.js");require("../image/index.js");require("../input/index.js");require("../link/index.js");require("../pagination/index.js");require("../tag/index.js");require("../side-menu/index.js");require("../qrcode/index.js");require("../overlay/index.js");require("../clamp/index.js");require("../clamp-toggle/index.js");const R=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");const T=require("@vueuse/core"),x=require("@vft/constants"),J=require("./types.js"),Q=require("./tab-bar.vue2.js"),P=R.useNamespace("tab-nav"),Z=t.defineComponent({name:P.b()}),_=t.defineComponent({...Z,props:{panes:null,editable:{type:Boolean},addable:{type:Boolean},type:null,stretch:{type:Boolean},closeIconCfg:null,addIconCfg:null,arrowLeftIconCfg:null,arrowRightIconCfg:null},emits:["tabClick","tabRemove","tabAdd","tabContextmenu"],setup(a,{expose:A,emit:m}){var E;const D=t.getCurrentInstance(),q=t.inject(J.TabsRootContextKey);q||G.throwError(P.b(),"<vft-tabs><tab-nav /></vft-tabs>");const n=R.useNamespace("tabs"),F=T.useDocumentVisibility(),L=T.useWindowFocus(),N=t.ref(),b=t.ref(),C=t.ref(),f=t.ref(!1),d=t.ref(0),y=t.ref(!1),p=t.ref(!0),h=t.computed(()=>["top","bottom"].includes(q.props.tabPosition)?"width":"height"),M=t.computed(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${d.value}px)`})),K=()=>{if(!b.value)return;const o=b.value[`offset${w.capitalize(h.value)}`],e=d.value;e&&(d.value=e>o?e-o:0)},j=()=>{if(!b.value||!C.value)return;const o=C.value[`offset${w.capitalize(h.value)}`],e=b.value[`offset${w.capitalize(h.value)}`],r=d.value;o-r<=e||(d.value=o-r>e*2?r+e:o-e)},$=async()=>{const o=C.value;if(!f.value||!N.value||!b.value||!o)return;await t.nextTick();const e=N.value.querySelector(".is-active");if(!e)return;const r=b.value,g=["top","bottom"].includes(q.props.tabPosition),i=e.getBoundingClientRect(),l=r.getBoundingClientRect(),u=g?o.offsetWidth-l.width:o.offsetHeight-l.height,c=d.value;let s=c;g?(i.left<l.left&&(s=c-(l.left-i.left)),i.right>l.right&&(s=c+i.right-l.right)):(i.top<l.top&&(s=c-(l.top-i.top)),i.bottom>l.bottom&&(s=c+(i.bottom-l.bottom))),s=Math.max(s,0),d.value=Math.min(s,u)},O=()=>{if(!C.value||!b.value)return;const o=C.value[`offset${w.capitalize(h.value)}`],e=b.value[`offset${w.capitalize(h.value)}`],r=d.value;e<o?(f.value=f.value||{},f.value.prev=r,f.value.next=r+e<o,o-r<e&&(d.value=o-e)):(f.value=!1,r>0&&(d.value=0))},H=o=>{const e=o.code,{up:r,down:g,left:i,right:l}=x.EVENT_CODE;if(![r,g,i,l].includes(e))return;const u=Array.from(o.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),c=u.indexOf(o.target);let s;e===i||e===r?c===0?s=u.length-1:s=c-1:c<u.length-1?s=c+1:s=0,u[s].focus(),u[s].click(),z()},z=()=>{p.value&&(y.value=!0)},I=()=>y.value=!1;t.watch(F,o=>{o==="hidden"?p.value=!1:o==="visible"&&setTimeout(()=>p.value=!0,50)}),t.watch(L,o=>{o?setTimeout(()=>p.value=!0,50):p.value=!1}),T.useResizeObserver(N,O),t.onMounted(()=>setTimeout(()=>$(),0)),t.onUpdated(()=>O()),A({scrollToActiveTab:$,removeFocus:I}),t.watch(()=>a.panes,()=>D.update(),{flush:"post"});const W=t.computed(()=>{var o,e;return f.value?[t.createVNode("span",{class:[n.e("nav-prev"),n.is("disabled",!f.value.prev)],onClick:K},[(o=a.arrowLeftIconCfg)!=null&&o.icon?t.createVNode(V.VftIcon,a.arrowLeftIconCfg,null):null]),t.createVNode("span",{class:[n.e("nav-next"),n.is("disabled",!f.value.next)],onClick:j},[(e=a.arrowRightIconCfg)!=null&&e.icon?t.createVNode(V.VftIcon,a.arrowRightIconCfg,null):null])]:null}),U=t.computed(()=>{var o;return(o=a.panes)==null?void 0:o.map((e,r)=>{var S,k,B;const g=e.uid,i=e.props.disabled,l=e.props.name??e.index??`${r}`,u=!i&&(e.isClosable||a.editable);e.index=`${r}`;const c=u?t.createVNode("span",{class:"is-icon-close",onClick:v=>m("tabRemove",e,v)},[(S=a.closeIconCfg)!=null&&S.icon?t.createVNode(V.VftIcon,a.closeIconCfg,null):null]):null,s=((B=(k=e.slots).label)==null?void 0:B.call(k))||e.props.label,Y=!i&&e.active?0:-1;return t.createVNode("div",{ref:`tab-${g}`,class:[n.e("item"),n.is(q.props.tabPosition),n.is("active",e.active),n.is("disabled",i),n.is("closable",u),n.is("focus",y.value)],id:`tab-${l}`,key:`tab-${g}`,"aria-controls":`pane-${l}`,role:"tab","aria-selected":e.active,tabindex:Y,onFocus:()=>z(),onBlur:()=>I(),onClick:v=>{I(),m("tabClick",e,l,v)},onContextmenu:v=>{v.preventDefault(),m("tabContextmenu",{pane:e,index:r,event:v})},onKeydown:v=>{u&&(v.code===x.EVENT_CODE.delete||v.code===x.EVENT_CODE.backspace)&&m("tabRemove",e,v)}},[s,c])})}),X=a.editable||a.addable?t.createVNode("span",{class:n.e("new-tab"),tabindex:"0",onClick:()=>m("tabAdd"),onKeydown:o=>{o.code===x.EVENT_CODE.enter&&m("tabAdd")}},[(E=a.addIconCfg)!=null&&E.icon?t.createVNode(V.VftIcon,a.addIconCfg,null):null]):null;return()=>t.createVNode("div",{ref:N,class:[n.e("nav-wrap"),n.is("scrollable",!!f.value),n.is(q.props.tabPosition)]},[W.value,t.createVNode("div",{class:n.e("nav-scroll"),ref:b},[t.createVNode("div",{class:[n.e("nav"),n.is(q.props.tabPosition),n.is("stretch",a.stretch&&["top","bottom"].includes(q.props.tabPosition))],ref:C,style:M.value,role:"tablist",onKeydown:H},[a.type?null:t.createVNode(Q.default,{tabs:[...a.panes]},null),U.value]),X])])}});exports.default=_;
2
2
  //# sourceMappingURL=tab-nav.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.vue2.js","sources":["../../../../../packages/components/tabs/tab-nav.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns_nav = /* hoist-static*/ useNamespace('tab-nav')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns_nav.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { throwError } from '@vft-ui/utils';\nimport {\n computed,\n type CSSProperties,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch\n} from 'vue';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { capitalize } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport { TabsRootContextKey } from './types';\nimport type { TabsPaneContext, TabsType, Scrollable } from './types';\nimport { useDocumentVisibility, useResizeObserver, useWindowFocus } from '@vueuse/core';\nimport TabBar from './tab-bar.vue';\n\ninterface TabNavProps {\n panes: TabsPaneContext[];\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** tab 类型 */\n type?: TabsType;\n stretch?: boolean;\n /** 图标配置 */\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\ndefineProps({\n \"panes\": null,\n \"editable\": { type: Boolean, },\n \"addable\": { type: Boolean, },\n \"type\": null,\n \"stretch\": { type: Boolean, },\n \"closeIconCfg\": null,\n \"addIconCfg\": null,\n \"arrowLeftIconCfg\": null,\n \"arrowRightIconCfg\": null\n})\n\nconst emit = defineEmits(['tabClick', 'tabRemove', 'tabAdd', 'tabContextmenu']);\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\n// 获取从 index.vue 提供的数据信息\nconst rootTabs = inject(TabsRootContextKey)!;\nif (!rootTabs) throwError(ns_nav.b(), `<vft-tabs><tab-nav /></vft-tabs>`)\n\nconst ns = useNamespace('tabs');\nconst visibility = useDocumentVisibility();\nconst focused = useWindowFocus();\n\n// 整个 nav dom 包含前进后退 btn (vft-tabs__nav-wrap)\nconst el$ = ref<HTMLDivElement>();\n// el$ 子节点 包含 newButton (vft-tabs__nav-scroll)\nconst navScroll$ = ref<HTMLDivElement>();\n// navScroll$ 子节点 (vft-tabs__nav)\nconst nav$ = ref<HTMLDivElement>();\n\n/** 是否展示左右滚动 */\nconst scrollable = ref<false | Scrollable>(false);\n// 记录滚动时的偏移量\nconst navOffset = ref(0);\nconst isFocus = ref(false);\nconst focusable = ref(true);\n\n// 根据 tabPosition 确定 sizeName 是 width or height\nconst sizeName = computed(() => ['top', 'bottom'].includes(rootTabs.props.tabPosition!) ? 'width' : 'height');\n\n// 设置 tab 导航栏的 translateX or translateY 的偏移量\nconst navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y';\n return {\n transform: `translate${dir}(-${navOffset.value}px)`\n };\n});\n\n// 向前滚动\nconst scrollPrev = () => {\n if (!navScroll$.value) return;\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (!currentOffset) return;\n\n navOffset.value = currentOffset > containerSize ? currentOffset - containerSize : 0;\n};\n\n// 向后滚动\nconst 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 navOffset.value = navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize;\n};\n\n// 滚动到激活的 tab 主要是获取 navOffset 的值\nconst 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 // vft-tabs__nav-scroll\n const navScrollBounding = navScroll.getBoundingClientRect();\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height;\n\n const currentOffset = navOffset.value;\n\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\nconst update = () => {\n if (!nav$.value || !navScroll$.value) return;\n // 根据 position 的不同 获取 nav$(vft-tabs__nav) 的 offsetWidth or offsetHeight\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到 navScroll$ 的 offsetWidth or offsetHeight\n const containerSize = navScroll$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到当前的偏移量\n const currentOffset = navOffset.value;\n // 由于 navScroll$ 的 overflow 是 hidden,所以当 vft-tabs__nav 撑开时其宽度可能会超过 vft-tabs__nav-scroll\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\nconst 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(); // 改变焦点元素\n tabList[nextIndex].click(); // 选中下一个tab\n setFocus();\n};\n\nconst setFocus = () => {\n if (focusable.value) isFocus.value = true;\n};\nconst removeFocus = () => (isFocus.value = false);\n\nwatch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false;\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50);\n }\n});\n\nwatch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50);\n } else {\n focusable.value = false;\n }\n});\n\n// 监听 resize 触发 update\nuseResizeObserver(el$, update);\n\nonMounted(() => setTimeout(() => scrollToActiveTab(), 0));\nonUpdated(() => update());\n\ndefineExpose({\n scrollToActiveTab,\n removeFocus\n});\n\nwatch(\n () => __props.panes,\n () => vm.update(),\n { flush: 'post' }\n);\n\n// 前进后退标签\nconst scrollBtn = computed(() => {\n return 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 {__props.arrowLeftIconCfg?.icon ? <VftIcon {...__props.arrowLeftIconCfg}></VftIcon> : null}\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next)\n ]}\n onClick={scrollNext}\n >\n {__props.arrowRightIconCfg?.icon ? <VftIcon {...__props.arrowRightIconCfg}></VftIcon> : null}\n </span>\n ]\n : null;\n});\n\n// 渲染 tab-pane\nconst tabs = computed(() => {\n return __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 // 关闭标签图标\n const btnClose = closable ? (\n <span class=\"is-icon-close\" onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}>\n {__props.closeIconCfg?.icon ? <VftIcon {...__props.closeIconCfg}></VftIcon> : null}\n </span>\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 onContextmenu={(event) => {\n event.preventDefault();\n emit('tabContextmenu', { pane, index, event });\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\n// 增加 tab 的 dom\nconst newButton =\n __props.editable || __props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={() => emit('tabAdd')}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) emit('tabAdd');\n }}\n >\n {__props.addIconCfg?.icon ? <VftIcon {...__props.addIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\ndefineRender(() => {\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.value}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is(\n 'stretch',\n __props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition!)\n )\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !__props.type ? <TabBar tabs={[...__props.panes]} /> : null,\n tabs.value\n ]}\n </div>\n {newButton}\n </div>\n </div>\n );\n});\n</script>\n"],"names":["ns_nav","useNamespace","__default__","DO_defineComponent","name","b","vm","getCurrentInstance","rootTabs","inject","TabsRootContextKey","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","el$","ref","navScroll$","nav$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","props","tabPosition","navStyle","transform","value","scrollPrev","containerSize","capitalize","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","nextTick","activeTab","querySelector","navScroll","isHorizontal","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","width","offsetHeight","height","newOffset","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","e","code","up","down","EVENT_CODE","tabList","Array","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","click","setFocus","removeFocus","watch","setTimeout","useResizeObserver","onMounted","onUpdated","expose","__props","panes","flush","scrollBtn","_createVNode","is","arrowLeftIconCfg","icon","VftIcon","arrowRightIconCfg","tabs","map","pane","index","uid","disabled","tabName","closable","isClosable","editable","btnClose","ev","emit","closeIconCfg","tabLabelContent","slots","label","tabindex","active","onFocus","onBlur","event","preventDefault","delete","backspace","newButton","addable","onClick","enter","addIconCfg","stretch","type","TabBar"],"mappings":"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"}
1
+ {"version":3,"file":"tab-nav.vue2.js","sources":["../../../../../packages/components/tabs/tab-nav.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns_nav = /* hoist-static*/ useNamespace('tab-nav')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns_nav.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { throwError } from '@vft-ui/utils';\nimport {\n computed,\n type CSSProperties,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch\n} from 'vue';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { capitalize } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport { TabsRootContextKey } from './types';\nimport type { TabsPaneContext, TabsType, Scrollable } from './types';\nimport { useDocumentVisibility, useResizeObserver, useWindowFocus } from '@vueuse/core';\nimport TabBar from './tab-bar.vue';\n\ninterface TabNavProps {\n panes: TabsPaneContext[];\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** tab 类型 */\n type?: TabsType;\n stretch?: boolean;\n /** 图标配置 */\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\ndefineProps({\n \"panes\": null,\n \"editable\": { type: Boolean, },\n \"addable\": { type: Boolean, },\n \"type\": null,\n \"stretch\": { type: Boolean, },\n \"closeIconCfg\": null,\n \"addIconCfg\": null,\n \"arrowLeftIconCfg\": null,\n \"arrowRightIconCfg\": null\n})\n\nconst emit = defineEmits(['tabClick', 'tabRemove', 'tabAdd', 'tabContextmenu']);\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\n// 获取从 index.vue 提供的数据信息\nconst rootTabs = inject(TabsRootContextKey)!;\nif (!rootTabs) throwError(ns_nav.b(), `<vft-tabs><tab-nav /></vft-tabs>`)\n\nconst ns = useNamespace('tabs');\nconst visibility = useDocumentVisibility();\nconst focused = useWindowFocus();\n\n// 整个 nav dom 包含前进后退 btn (vft-tabs__nav-wrap)\nconst el$ = ref<HTMLDivElement>();\n// el$ 子节点 包含 newButton (vft-tabs__nav-scroll)\nconst navScroll$ = ref<HTMLDivElement>();\n// navScroll$ 子节点 (vft-tabs__nav)\nconst nav$ = ref<HTMLDivElement>();\n\n/** 是否展示左右滚动 */\nconst scrollable = ref<false | Scrollable>(false);\n// 记录滚动时的偏移量\nconst navOffset = ref(0);\nconst isFocus = ref(false);\nconst focusable = ref(true);\n\n// 根据 tabPosition 确定 sizeName 是 width or height\nconst sizeName = computed(() => ['top', 'bottom'].includes(rootTabs.props.tabPosition!) ? 'width' : 'height');\n\n// 设置 tab 导航栏的 translateX or translateY 的偏移量\nconst navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y';\n return {\n transform: `translate${dir}(-${navOffset.value}px)`\n };\n});\n\n// 向前滚动\nconst scrollPrev = () => {\n if (!navScroll$.value) return;\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (!currentOffset) return;\n\n navOffset.value = currentOffset > containerSize ? currentOffset - containerSize : 0;\n};\n\n// 向后滚动\nconst 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 navOffset.value = navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize;\n};\n\n// 滚动到激活的 tab 主要是获取 navOffset 的值\nconst 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 // vft-tabs__nav-scroll\n const navScrollBounding = navScroll.getBoundingClientRect();\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height;\n\n const currentOffset = navOffset.value;\n\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\nconst update = () => {\n if (!nav$.value || !navScroll$.value) return;\n // 根据 position 的不同 获取 nav$(vft-tabs__nav) 的 offsetWidth or offsetHeight\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到 navScroll$ 的 offsetWidth or offsetHeight\n const containerSize = navScroll$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到当前的偏移量\n const currentOffset = navOffset.value;\n // 由于 navScroll$ 的 overflow 是 hidden,所以当 vft-tabs__nav 撑开时其宽度可能会超过 vft-tabs__nav-scroll\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\nconst 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(); // 改变焦点元素\n tabList[nextIndex].click(); // 选中下一个tab\n setFocus();\n};\n\nconst setFocus = () => {\n if (focusable.value) isFocus.value = true;\n};\nconst removeFocus = () => (isFocus.value = false);\n\nwatch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false;\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50);\n }\n});\n\nwatch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50);\n } else {\n focusable.value = false;\n }\n});\n\n// 监听 resize 触发 update\nuseResizeObserver(el$, update);\n\nonMounted(() => setTimeout(() => scrollToActiveTab(), 0));\nonUpdated(() => update());\n\ndefineExpose({\n scrollToActiveTab,\n removeFocus\n});\n\nwatch(\n () => __props.panes,\n () => vm.update(),\n { flush: 'post' }\n);\n\n// 前进后退标签\nconst scrollBtn = computed(() => {\n return 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 {__props.arrowLeftIconCfg?.icon ? <VftIcon {...__props.arrowLeftIconCfg}></VftIcon> : null}\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next)\n ]}\n onClick={scrollNext}\n >\n {__props.arrowRightIconCfg?.icon ? <VftIcon {...__props.arrowRightIconCfg}></VftIcon> : null}\n </span>\n ]\n : null;\n});\n\n// 渲染 tab-pane\nconst tabs = computed(() => {\n return __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 // 关闭标签图标\n const btnClose = closable ? (\n <span class=\"is-icon-close\" onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}>\n {__props.closeIconCfg?.icon ? <VftIcon {...__props.closeIconCfg}></VftIcon> : null}\n </span>\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 onContextmenu={(event) => {\n event.preventDefault();\n emit('tabContextmenu', { pane, index, event });\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\n// 增加 tab 的 dom\nconst newButton =\n __props.editable || __props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={() => emit('tabAdd')}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) emit('tabAdd');\n }}\n >\n {__props.addIconCfg?.icon ? <VftIcon {...__props.addIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\ndefineRender(() => {\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.value}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is(\n 'stretch',\n __props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition!)\n )\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !__props.type ? <TabBar tabs={[...__props.panes]} /> : null,\n tabs.value\n ]}\n </div>\n {newButton}\n </div>\n </div>\n );\n});\n</script>\n"],"names":["ns_nav","useNamespace","__default__","DO_defineComponent","name","b","vm","getCurrentInstance","rootTabs","inject","TabsRootContextKey","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","el$","ref","navScroll$","nav$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","props","tabPosition","navStyle","transform","value","scrollPrev","containerSize","capitalize","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","nextTick","activeTab","querySelector","navScroll","isHorizontal","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","width","offsetHeight","height","newOffset","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","e","code","up","down","EVENT_CODE","tabList","Array","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","click","setFocus","removeFocus","watch","setTimeout","useResizeObserver","onMounted","onUpdated","expose","__props","panes","flush","scrollBtn","_createVNode","is","arrowLeftIconCfg","icon","VftIcon","arrowRightIconCfg","tabs","map","pane","index","uid","disabled","tabName","closable","isClosable","editable","btnClose","ev","emit","closeIconCfg","tabLabelContent","slots","label","tabindex","active","onFocus","onBlur","event","preventDefault","delete","backspace","newButton","addable","onClick","enter","addIconCfg","stretch","type","TabBar"],"mappings":"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"}
@@ -23,7 +23,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
23
23
  required: false;
24
24
  };
25
25
  tabPosition: {
26
- type: __PropType<"left" | "right" | "top" | "bottom" | undefined>;
26
+ type: __PropType<"left" | "right" | "bottom" | "top" | undefined>;
27
27
  required: false;
28
28
  };
29
29
  beforeLeave: {
@@ -86,7 +86,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
86
86
  required: false;
87
87
  };
88
88
  tabPosition: {
89
- type: __PropType<"left" | "right" | "top" | "bottom" | undefined>;
89
+ type: __PropType<"left" | "right" | "bottom" | "top" | undefined>;
90
90
  required: false;
91
91
  };
92
92
  beforeLeave: {
@@ -152,7 +152,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
152
152
  attrs: Record<string, any>;
153
153
  }, index: number, ev: Event) => any) | undefined;
154
154
  onTabChange?: ((name: Numberish) => any) | undefined;
155
- onEdit?: ((paneName: Numberish | undefined, action: "remove" | "add") => any) | undefined;
155
+ onEdit?: ((paneName: Numberish | undefined, action: "add" | "remove") => any) | undefined;
156
156
  onTabRemove?: ((name: Numberish) => any) | undefined;
157
157
  onTabAdd?: (() => any) | undefined;
158
158
  }, {}>;
@@ -0,0 +1,71 @@
1
+ export declare const VftTag: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
+ closable: {
3
+ type: import("vue").PropType<boolean | undefined>;
4
+ required: false;
5
+ };
6
+ type: {
7
+ type: import("vue").PropType<import("./types").TagType | undefined>;
8
+ required: false;
9
+ };
10
+ hit: {
11
+ type: import("vue").PropType<boolean | undefined>;
12
+ required: false;
13
+ };
14
+ disableTransitions: {
15
+ type: import("vue").PropType<boolean | undefined>;
16
+ required: false;
17
+ };
18
+ color: {
19
+ type: import("vue").PropType<string | undefined>;
20
+ required: false;
21
+ };
22
+ size: {
23
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
24
+ required: false;
25
+ };
26
+ effect: {
27
+ type: import("vue").PropType<"dark" | "light" | "plain" | undefined>;
28
+ required: false;
29
+ };
30
+ round: {
31
+ type: import("vue").PropType<boolean | undefined>;
32
+ required: false;
33
+ };
34
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close")[], "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
35
+ closable: {
36
+ type: import("vue").PropType<boolean | undefined>;
37
+ required: false;
38
+ };
39
+ type: {
40
+ type: import("vue").PropType<import("./types").TagType | undefined>;
41
+ required: false;
42
+ };
43
+ hit: {
44
+ type: import("vue").PropType<boolean | undefined>;
45
+ required: false;
46
+ };
47
+ disableTransitions: {
48
+ type: import("vue").PropType<boolean | undefined>;
49
+ required: false;
50
+ };
51
+ color: {
52
+ type: import("vue").PropType<string | undefined>;
53
+ required: false;
54
+ };
55
+ size: {
56
+ type: import("vue").PropType<import("../types").ComponentSize | undefined>;
57
+ required: false;
58
+ };
59
+ effect: {
60
+ type: import("vue").PropType<"dark" | "light" | "plain" | undefined>;
61
+ required: false;
62
+ };
63
+ round: {
64
+ type: import("vue").PropType<boolean | undefined>;
65
+ required: false;
66
+ };
67
+ }>> & {
68
+ onClick?: ((...args: any[]) => any) | undefined;
69
+ onClose?: ((...args: any[]) => any) | undefined;
70
+ }, {}>> & Record<string, any>;
71
+ export default VftTag;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../utils/vue/install.js");require("vue");require("@vue/shared");require("@vft/utils");const r=require("./tag.vue2.js"),e=t.withInstall(r.default);exports.VftTag=e;exports.default=e;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/tag/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Tag from './tag.vue'\n\nexport const VftTag = withInstall(Tag)\n\nexport default VftTag\n\n"],"names":["VftTag","withInstall","Tag"],"mappings":"uPAIaA,EAASC,cAAYC,EAAG,OAAA"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-tag.css");
2
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";require("../../../theme-style/src/base.scss.js");require("../../../theme-style/src/tag.scss.js");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import { type ComponentSize } from '../types';
3
+ import type { TagType } from './types';
4
+ declare const _sfc_main: import("vue").DefineComponent<{
5
+ closable: {
6
+ type: __PropType<boolean | undefined>;
7
+ required: false;
8
+ };
9
+ type: {
10
+ type: __PropType<TagType | undefined>;
11
+ required: false;
12
+ };
13
+ hit: {
14
+ type: __PropType<boolean | undefined>;
15
+ required: false;
16
+ };
17
+ disableTransitions: {
18
+ type: __PropType<boolean | undefined>;
19
+ required: false;
20
+ };
21
+ color: {
22
+ type: __PropType<string | undefined>;
23
+ required: false;
24
+ };
25
+ size: {
26
+ type: __PropType<ComponentSize | undefined>;
27
+ required: false;
28
+ };
29
+ effect: {
30
+ type: __PropType<"dark" | "light" | "plain" | undefined>;
31
+ required: false;
32
+ };
33
+ round: {
34
+ type: __PropType<boolean | undefined>;
35
+ required: false;
36
+ };
37
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close")[], "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
+ closable: {
39
+ type: __PropType<boolean | undefined>;
40
+ required: false;
41
+ };
42
+ type: {
43
+ type: __PropType<TagType | undefined>;
44
+ required: false;
45
+ };
46
+ hit: {
47
+ type: __PropType<boolean | undefined>;
48
+ required: false;
49
+ };
50
+ disableTransitions: {
51
+ type: __PropType<boolean | undefined>;
52
+ required: false;
53
+ };
54
+ color: {
55
+ type: __PropType<string | undefined>;
56
+ required: false;
57
+ };
58
+ size: {
59
+ type: __PropType<ComponentSize | undefined>;
60
+ required: false;
61
+ };
62
+ effect: {
63
+ type: __PropType<"dark" | "light" | "plain" | undefined>;
64
+ required: false;
65
+ };
66
+ round: {
67
+ type: __PropType<boolean | undefined>;
68
+ required: false;
69
+ };
70
+ }>> & {
71
+ onClick?: ((...args: any[]) => any) | undefined;
72
+ onClose?: ((...args: any[]) => any) | undefined;
73
+ }, {}>;
74
+ export default _sfc_main;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./tag.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=tag.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),d=require("element-plus"),f=require("../icon/index.js"),b=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");require("@vueuse/core");require("@vue/shared");require("@vft/utils");function m(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!o.isVNode(e)}const q=o.defineComponent({__name:"tag",props:{closable:{type:Boolean},type:null,hit:{type:Boolean},disableTransitions:{type:Boolean,default:!0},color:null,size:null,effect:{default:"light"},round:{type:Boolean}},emits:["close","click"],setup(e,{emit:c}){const l=o.useSlots(),r=d.useSize(),t=b.useNamespace("tag"),s=o.computed(()=>[t.b(),t.is("closable",e.closable),t.m(e.type),t.m(r.value),t.m(e.effect),t.is("hit",e.hit),t.is("round",e.round)]),i=n=>{c("close",n)},u=n=>{c("click",n)},a=()=>{var n;return o.createVNode("span",{class:s.value,style:{backgroundColor:e.color},onClick:u},[o.createVNode("span",{class:t.e("content")},[(n=l.default)==null?void 0:n.call(l)]),e.closable?o.createVNode("div",{class:t.e("close"),onClick:i},[o.createVNode(f.VftIcon,{icon:"vi-close"},null)]):""])};return()=>{let n;return e.disableTransitions?a():o.createVNode(o.Transition,{name:`${t.namespace.value}-zoom-in-center`,appear:!0},m(n=a())?n:{default:()=>[n]})}}});exports.default=q;
2
+ //# sourceMappingURL=tag.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.vue2.js","sources":["../../../../../packages/components/tag/tag.vue"],"sourcesContent":["<script lang=\"tsx\" setup>\nimport { useSize } from 'element-plus';\nimport { type ComponentSize } from '../types';\nimport Icon from '@vft-ui/components/icon';\nimport { computed, Transition, useSlots } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport type { TagType } from './types';\n\ninterface Props {\n closable?: boolean;\n type?: TagType;\n hit?: boolean;\n disableTransitions?: boolean;\n color?: string;\n size?: ComponentSize;\n effect?: 'dark' | 'light' | 'plain';\n round?: boolean;\n}\n\ndefineProps({\n \"closable\": { type: Boolean, },\n \"type\": null,\n \"hit\": { type: Boolean, },\n \"disableTransitions\": { type: Boolean, default: true },\n \"color\": null,\n \"size\": null,\n \"effect\": { default: 'light' },\n \"round\": { type: Boolean, }\n})\n\nconst emit = defineEmits(['close', 'click']);\nconst slots = useSlots();\n\nconst tagSize = useSize();\nconst ns = useNamespace('tag');\nconst classes = computed(() => {\n return [\n ns.b(),\n ns.is('closable', __props.closable),\n ns.m(__props.type),\n ns.m(tagSize.value),\n ns.m(__props.effect),\n ns.is('hit', __props.hit),\n ns.is('round', __props.round)\n ];\n});\n\n// methods\nconst handleClose = (event: MouseEvent) => {\n emit('close', event);\n};\n\nconst handleClick = (event: MouseEvent) => {\n emit('click', event);\n};\n\nconst renderTag = () => {\n return <span class={classes.value}\n style={{ backgroundColor: __props.color }} onClick={handleClick}>\n <span class={ns.e('content')}>\n {slots.default?.()}\n </span>\n {\n __props.closable ? <div class={ns.e('close')} onClick={handleClose}>\n <Icon icon=\"vi-close\" />\n </div> : ''\n }\n </span>;\n};\n\ndefineRender(() => {\n return __props.disableTransitions ? renderTag() :\n <Transition name={`${ns.namespace.value}-zoom-in-center`} appear>\n {renderTag()}\n </Transition>;\n});\n</script>\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","slots","useSlots","tagSize","useSize","ns","useNamespace","classes","computed","b","is","__props","closable","m","type","value","effect","hit","round","handleClose","event","emit","handleClick","renderTag","_createVNode","backgroundColor","color","e","default","Icon","_slot","disableTransitions","Transition","namespace"],"mappings":"wYAK6C,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,IAAAK,mBAAAA,CAAAA,EAAA,QAAAL,CAAA,CAAA,gQA0B7C,MAAMM,EAAQC,EAAAA,WAERC,EAAUC,EAAAA,UACVC,EAAKC,eAAa,KAAK,EACvBC,EAAUC,EAAAA,SAAS,IAChB,CACLH,EAAGI,EAAC,EACJJ,EAAGK,GAAG,WAAYC,EAAQC,QAAQ,EAClCP,EAAGQ,EAAEF,EAAQG,IAAI,EACjBT,EAAGQ,EAAEV,EAAQY,KAAK,EAClBV,EAAGQ,EAAEF,EAAQK,MAAM,EACnBX,EAAGK,GAAG,MAAOC,EAAQM,GAAG,EACxBZ,EAAGK,GAAG,QAASC,EAAQO,KAAK,CAAC,CAEhC,EAGKC,EAAeC,GAAsB,CACzCC,EAAK,QAASD,CAAK,GAGfE,EAAeF,GAAsB,CACzCC,EAAK,QAASD,CAAK,GAGfG,EAAYA,IAAM,OACtB,OAAAC,EAAAA,YAAA,OAAA,CAAA,MAAoBjB,EAAQQ,MAAK,MACxB,CAAEU,gBAAiBd,EAAQe,KAAO,EAAA,QAAWJ,CAAW,EAAA,CAAAE,EAAA,YAAA,OAAA,CAAA,MAClDnB,EAAGsB,EAAE,SAAS,GACxB1B,EAAAA,EAAAA,EAAM2B,UAAN3B,YAAAA,EAAAA,KAAAA,EAAiB,GAGlBU,EAAQC,SAAQY,EAAA,YAAA,MAAA,CAAA,MAAenB,EAAGsB,EAAE,OAAO,EAAC,QAAWR,GAAWK,CAAAA,EAAA,YAAAK,UAAA,CAAA,KACrD,UAAU,EAAA,IAAA,CAAA,CAAA,EACd,EAAE,CAAA,GAKJ,MAAA,IAAM,CAAA,IAAAC,EACjB,OAAOnB,EAAQoB,mBAAqBR,EAAS,EAAEC,EAAAA,YAAAQ,EAAAA,WAAA,CAAA,KAC1B,GAAE3B,EAAG4B,UAAUlB,uBAAsB,OAAA,EAAA,EAAArB,EAAAoC,EACrDP,EAAW,CAAA,EAAAO,EAAA,CAAAF,QAAAA,IAAA,CAAAE,CAAA,EACD"}
@@ -0,0 +1 @@
1
+ export type TagType = 'success' | 'info' | 'warning' | 'danger' | '';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
2
  role: {
3
- type: import("vue").PropType<"dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tooltip" | "tree" | undefined>;
3
+ type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
4
4
  required: false;
5
5
  };
6
6
  showArrow: {
@@ -60,7 +60,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
60
60
  required: false;
61
61
  };
62
62
  fallbackPlacements: {
63
- type: import("vue").PropType<import("@popperjs/core").Placement[] | undefined>;
63
+ type: import("vue").PropType<import("element-plus").Placement[] | undefined>;
64
64
  required: false;
65
65
  };
66
66
  gpuAcceleration: {
@@ -72,11 +72,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
72
72
  required: false;
73
73
  };
74
74
  placement: {
75
- type: import("vue").PropType<import("@popperjs/core").Placement | undefined>;
75
+ type: import("vue").PropType<import("element-plus").Placement | undefined>;
76
76
  required: false;
77
77
  };
78
78
  popperOptions: {
79
- type: import("vue").PropType<Partial<import("@popperjs/core").Options> | undefined>;
79
+ type: import("vue").PropType<Partial<import("element-plus").Options> | undefined>;
80
80
  required: false;
81
81
  };
82
82
  strategy: {
@@ -92,7 +92,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
92
92
  required: false;
93
93
  };
94
94
  effect: {
95
- type: import("vue").PropType<"light" | "dark" | undefined>;
95
+ type: import("vue").PropType<"dark" | "light" | undefined>;
96
96
  required: false;
97
97
  };
98
98
  visible: {
@@ -195,9 +195,9 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
195
195
  onOpen: (event?: Event | undefined) => void;
196
196
  onClose: (event?: Event | undefined) => void;
197
197
  hide: (event?: Event | undefined) => void;
198
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "open" | "before-show" | "before-hide" | "show" | "hide")[], "close" | "open" | "before-show" | "before-hide" | "show" | "hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
198
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hide" | "show" | "open" | "before-show" | "before-hide")[], "close" | "hide" | "show" | "open" | "before-show" | "before-hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
199
199
  role: {
200
- type: import("vue").PropType<"dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tooltip" | "tree" | undefined>;
200
+ type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
201
201
  required: false;
202
202
  };
203
203
  showArrow: {
@@ -257,7 +257,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
257
257
  required: false;
258
258
  };
259
259
  fallbackPlacements: {
260
- type: import("vue").PropType<import("@popperjs/core").Placement[] | undefined>;
260
+ type: import("vue").PropType<import("element-plus").Placement[] | undefined>;
261
261
  required: false;
262
262
  };
263
263
  gpuAcceleration: {
@@ -269,11 +269,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
269
269
  required: false;
270
270
  };
271
271
  placement: {
272
- type: import("vue").PropType<import("@popperjs/core").Placement | undefined>;
272
+ type: import("vue").PropType<import("element-plus").Placement | undefined>;
273
273
  required: false;
274
274
  };
275
275
  popperOptions: {
276
- type: import("vue").PropType<Partial<import("@popperjs/core").Options> | undefined>;
276
+ type: import("vue").PropType<Partial<import("element-plus").Options> | undefined>;
277
277
  required: false;
278
278
  };
279
279
  strategy: {
@@ -289,7 +289,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
289
289
  required: false;
290
290
  };
291
291
  effect: {
292
- type: import("vue").PropType<"light" | "dark" | undefined>;
292
+ type: import("vue").PropType<"dark" | "light" | undefined>;
293
293
  required: false;
294
294
  };
295
295
  visible: {
@@ -386,11 +386,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
386
386
  };
387
387
  }>> & {
388
388
  onClose?: ((...args: any[]) => any) | undefined;
389
+ onShow?: ((...args: any[]) => any) | undefined;
389
390
  onOpen?: ((...args: any[]) => any) | undefined;
391
+ onHide?: ((...args: any[]) => any) | undefined;
390
392
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
391
393
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
392
- onShow?: ((...args: any[]) => any) | undefined;
393
- onHide?: ((...args: any[]) => any) | undefined;
394
394
  }, {}>> & Record<string, any>;
395
395
  export default VftTooltip;
396
396
  export * from './types';
@@ -54,7 +54,7 @@ export interface ToolTipProps {
54
54
  }
55
55
  declare const _sfc_main: import("vue").DefineComponent<{
56
56
  role: {
57
- type: __PropType<"dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tooltip" | "tree" | undefined>;
57
+ type: __PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
58
58
  required: false;
59
59
  };
60
60
  showArrow: {
@@ -146,7 +146,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
146
146
  required: false;
147
147
  };
148
148
  effect: {
149
- type: __PropType<"light" | "dark" | undefined>;
149
+ type: __PropType<"dark" | "light" | undefined>;
150
150
  required: false;
151
151
  };
152
152
  visible: {
@@ -270,9 +270,9 @@ declare const _sfc_main: import("vue").DefineComponent<{
270
270
  * @description expose hide function
271
271
  */
272
272
  hide: (event?: Event | undefined) => void;
273
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "open" | "before-show" | "before-hide" | "show" | "hide")[], "close" | "open" | "before-show" | "before-hide" | "show" | "hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
273
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hide" | "show" | "open" | "before-show" | "before-hide")[], "close" | "hide" | "show" | "open" | "before-show" | "before-hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
274
274
  role: {
275
- type: __PropType<"dialog" | "grid" | "group" | "listbox" | "menu" | "navigation" | "tooltip" | "tree" | undefined>;
275
+ type: __PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
276
276
  required: false;
277
277
  };
278
278
  showArrow: {
@@ -364,7 +364,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
364
364
  required: false;
365
365
  };
366
366
  effect: {
367
- type: __PropType<"light" | "dark" | undefined>;
367
+ type: __PropType<"dark" | "light" | undefined>;
368
368
  required: false;
369
369
  };
370
370
  visible: {
@@ -461,10 +461,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
461
461
  };
462
462
  }>> & {
463
463
  onClose?: ((...args: any[]) => any) | undefined;
464
+ onShow?: ((...args: any[]) => any) | undefined;
464
465
  onOpen?: ((...args: any[]) => any) | undefined;
466
+ onHide?: ((...args: any[]) => any) | undefined;
465
467
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
466
468
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
467
- onShow?: ((...args: any[]) => any) | undefined;
468
- onHide?: ((...args: any[]) => any) | undefined;
469
469
  }, {}>;
470
470
  export default _sfc_main;
@@ -1,4 +1,5 @@
1
1
  export * from './use-namespace';
2
+ export * from './use-cursor';
2
3
  export * from './use-popper';
3
4
  export * from './use-z-index';
4
5
  export * from './use-forward-ref';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./use-namespace/index.js"),d=require("./use-popper/index.js"),u=require("./use-z-index/index.js"),o=require("./use-forward-ref/index.js"),r=require("./use-id/index.js"),n=require("./use-popper-container/index.js"),t=require("./use-delayed-toggle/index.js"),i=require("./use-timeout/index.js"),a=require("./use-ordered-children/index.js"),s=require("./use-model-toggle/index.js");exports._bem=e._bem;exports.defaultNamespace=e.defaultNamespace;exports.namespaceContextKey=e.namespaceContextKey;exports.useGetDerivedNamespace=e.useGetDerivedNamespace;exports.useNamespace=e.useNamespace;exports.usePopper=d.usePopper;exports.useZIndex=u.useZIndex;exports.zIndexContextKey=u.zIndexContextKey;exports.FORWARD_REF_INJECTION_KEY=o.FORWARD_REF_INJECTION_KEY;exports.useForwardRef=o.useForwardRef;exports.useForwardRefDirective=o.useForwardRefDirective;exports.ID_INJECTION_KEY=r.ID_INJECTION_KEY;exports.useId=r.useId;exports.useIdInjection=r.useIdInjection;exports.usePopperContainer=n.usePopperContainer;exports.usePopperContainerId=n.usePopperContainerId;exports.useDelayedToggle=t.useDelayedToggle;exports.useTimeout=i.useTimeout;exports.useOrderedChildren=a.useOrderedChildren;exports.createModelToggleComposable=s.createModelToggleComposable;exports.useModelToggle=s.useModelToggle;exports.useModelToggleEmits=s.useModelToggleEmits;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./use-namespace/index.js"),d=require("./use-cursor/index.js"),i=require("./use-popper/index.js"),r=require("./use-z-index/index.js"),s=require("./use-forward-ref/index.js"),o=require("./use-id/index.js"),n=require("./use-popper-container/index.js"),t=require("./use-delayed-toggle/index.js"),a=require("./use-timeout/index.js"),l=require("./use-ordered-children/index.js"),u=require("./use-model-toggle/index.js");exports._bem=e._bem;exports.defaultNamespace=e.defaultNamespace;exports.namespaceContextKey=e.namespaceContextKey;exports.useGetDerivedNamespace=e.useGetDerivedNamespace;exports.useNamespace=e.useNamespace;exports.useCursor=d.useCursor;exports.usePopper=i.usePopper;exports.defaultInitialZIndex=r.defaultInitialZIndex;exports.useZIndex=r.useZIndex;exports.zIndexContextKey=r.zIndexContextKey;exports.FORWARD_REF_INJECTION_KEY=s.FORWARD_REF_INJECTION_KEY;exports.useForwardRef=s.useForwardRef;exports.useForwardRefDirective=s.useForwardRefDirective;exports.ID_INJECTION_KEY=o.ID_INJECTION_KEY;exports.useId=o.useId;exports.useIdInjection=o.useIdInjection;exports.usePopperContainer=n.usePopperContainer;exports.usePopperContainerId=n.usePopperContainerId;exports.useDelayedToggle=t.useDelayedToggle;exports.useTimeout=a.useTimeout;exports.useOrderedChildren=l.useOrderedChildren;exports.createModelToggleComposable=u.createModelToggleComposable;exports.useModelToggle=u.useModelToggle;exports.useModelToggleEmits=u.useModelToggleEmits;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import type { ShallowRef } from 'vue';
2
+ export declare function useCursor(input: ShallowRef<HTMLInputElement | undefined>): [() => void, () => void];
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("vue");function v(n){const l=f.ref();function i(){if(n.value==null)return;const{selectionStart:e,selectionEnd:t,value:r}=n.value;if(e==null||t==null)return;const s=r.slice(0,Math.max(0,e)),o=r.slice(Math.max(0,t));l.value={selectionStart:e,selectionEnd:t,value:r,beforeTxt:s,afterTxt:o}}function a(){if(n.value==null||l.value==null)return;const{value:e}=n.value,{beforeTxt:t,afterTxt:r,selectionStart:s}=l.value;if(t==null||r==null||s==null)return;let o=e.length;if(e.endsWith(r))o=e.length-r.length;else if(e.startsWith(t))o=t.length;else{const c=t[s-1],u=e.indexOf(c,s-1);u!==-1&&(o=u+1)}n.value.setSelectionRange(o,o)}return[i,a]}exports.useCursor=v;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-cursor/index.ts"],"sourcesContent":["import { ref } from 'vue'\n\nimport type { ShallowRef } from 'vue'\n\n// Keep input cursor in the correct position when we use formatter.\nexport function useCursor(\n input: ShallowRef<HTMLInputElement | undefined>\n): [() => void, () => void] {\n const selectionRef = ref<{\n selectionStart?: number\n selectionEnd?: number\n value?: string\n beforeTxt?: string\n afterTxt?: string\n }>()\n\n function recordCursor() {\n if (input.value == undefined) return\n\n const { selectionStart, selectionEnd, value } = input.value\n\n if (selectionStart == null || selectionEnd == null) return\n\n const beforeTxt = value.slice(0, Math.max(0, selectionStart))\n const afterTxt = value.slice(Math.max(0, selectionEnd))\n\n selectionRef.value = {\n selectionStart,\n selectionEnd,\n value,\n beforeTxt,\n afterTxt,\n }\n }\n function setCursor() {\n if (input.value == undefined || selectionRef.value == undefined) return\n\n const { value } = input.value\n const { beforeTxt, afterTxt, selectionStart } = selectionRef.value\n\n if (\n beforeTxt == undefined ||\n afterTxt == undefined ||\n selectionStart == undefined\n )\n return\n\n let startPos = value.length\n\n if (value.endsWith(afterTxt)) {\n startPos = value.length - afterTxt.length\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length\n } else {\n const beforeLastChar = beforeTxt[selectionStart - 1]\n const newIndex = value.indexOf(beforeLastChar, selectionStart - 1)\n if (newIndex !== -1) {\n startPos = newIndex + 1\n }\n }\n\n input.value.setSelectionRange(startPos, startPos)\n }\n\n return [recordCursor, setCursor]\n}\n"],"names":["useCursor","input","selectionRef","ref","recordCursor","selectionStart","selectionEnd","value","beforeTxt","afterTxt","setCursor","startPos","beforeLastChar","newIndex"],"mappings":"uGAKO,SAASA,EACdC,EAC0B,CAC1B,MAAMC,EAAeC,EAAAA,MAQrB,SAASC,GAAe,CACtB,GAAIH,EAAM,OAAS,KAAW,OAE9B,KAAM,CAAE,eAAAI,EAAgB,aAAAC,EAAc,MAAAC,CAAA,EAAUN,EAAM,MAElD,GAAAI,GAAkB,MAAQC,GAAgB,KAAM,OAE9C,MAAAE,EAAYD,EAAM,MAAM,EAAG,KAAK,IAAI,EAAGF,CAAc,CAAC,EACtDI,EAAWF,EAAM,MAAM,KAAK,IAAI,EAAGD,CAAY,CAAC,EAEtDJ,EAAa,MAAQ,CACnB,eAAAG,EACA,aAAAC,EACA,MAAAC,EACA,UAAAC,EACA,SAAAC,CAAA,CAEJ,CACA,SAASC,GAAY,CACnB,GAAIT,EAAM,OAAS,MAAaC,EAAa,OAAS,KAAW,OAE3D,KAAA,CAAE,MAAAK,CAAM,EAAIN,EAAM,MAClB,CAAE,UAAAO,EAAW,SAAAC,EAAU,eAAAJ,CAAA,EAAmBH,EAAa,MAE7D,GACEM,GAAa,MACbC,GAAY,MACZJ,GAAkB,KAElB,OAEF,IAAIM,EAAWJ,EAAM,OAEjB,GAAAA,EAAM,SAASE,CAAQ,EACdE,EAAAJ,EAAM,OAASE,EAAS,eAC1BF,EAAM,WAAWC,CAAS,EACnCG,EAAWH,EAAU,WAChB,CACC,MAAAI,EAAiBJ,EAAUH,EAAiB,CAAC,EAC7CQ,EAAWN,EAAM,QAAQK,EAAgBP,EAAiB,CAAC,EAC7DQ,IAAa,KACfF,EAAWE,EAAW,EAE1B,CAEMZ,EAAA,MAAM,kBAAkBU,EAAUA,CAAQ,CAClD,CAEO,MAAA,CAACP,EAAcM,CAAS,CACjC"}