vft 0.0.11 → 0.0.14

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 (1130) hide show
  1. package/dist/index.css +1 -1
  2. package/es/_virtual/_plugin-vue_export-helper.mjs +10 -0
  3. package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  4. package/es/component.mjs +24 -9
  5. package/es/component.mjs.map +1 -1
  6. package/es/components/collapse-transition/index.d.ts +4 -0
  7. package/es/components/collapse-transition/src/collapse-transition.vue.d.ts +2 -0
  8. package/es/components/collapse-transition/style/css.d.ts +0 -0
  9. package/es/components/collapse-transition/style/index.d.ts +0 -0
  10. package/es/components/context-menu/context-menu.vue.d.ts +39 -0
  11. package/es/components/context-menu/createContextMenu.d.ts +3 -0
  12. package/es/components/context-menu/index.d.ts +3 -0
  13. package/es/components/context-menu/style/css.d.ts +0 -0
  14. package/es/components/context-menu/style/index.d.ts +0 -0
  15. package/es/components/context-menu/types.d.ts +23 -0
  16. package/es/components/context-menu/useContextMenu.d.ts +3 -0
  17. package/es/components/focus-trap/focus-trap.vue.d.ts +32 -0
  18. package/es/components/focus-trap/index.d.ts +5 -0
  19. package/es/components/focus-trap/tokens.d.ts +13 -0
  20. package/es/components/focus-trap/utils.d.ts +29 -0
  21. package/es/components/index.d.ts +7 -0
  22. package/es/components/menu/index.d.ts +504 -0
  23. package/es/components/menu/menu-collapse-transition.vue.d.ts +5 -0
  24. package/es/components/menu/menu-item-group.vue.d.ts +13 -0
  25. package/es/components/menu/menu-item.vue.d.ts +81 -0
  26. package/es/components/menu/menu.vue.d.ts +109 -0
  27. package/es/components/menu/style/css.d.ts +0 -0
  28. package/es/components/menu/style/index.d.ts +0 -0
  29. package/es/components/menu/sub-menu.vue.d.ts +112 -0
  30. package/es/components/menu/types.d.ts +59 -0
  31. package/es/components/menu/use-menu-css-var.d.ts +1 -0
  32. package/es/components/menu/use-menu.d.ts +14 -0
  33. package/es/components/menu/utils/menu-bar.d.ts +7 -0
  34. package/es/components/menu/utils/menu-item.d.ts +9 -0
  35. package/es/components/menu/utils/submenu.d.ts +12 -0
  36. package/es/components/menu-item/style/css.d.ts +0 -0
  37. package/es/components/menu-item/style/index.d.ts +0 -0
  38. package/es/components/menu-item-group/style/css.d.ts +0 -0
  39. package/es/components/menu-item-group/style/index.d.ts +0 -0
  40. package/es/components/multiple-tabs/index.d.ts +30 -0
  41. package/es/components/multiple-tabs/multiple-tabs.vue.d.ts +29 -0
  42. package/es/components/multiple-tabs/style/css.d.ts +0 -0
  43. package/es/components/multiple-tabs/style/index.d.ts +0 -0
  44. package/es/components/multiple-tabs/tab-content.vue.d.ts +32 -0
  45. package/es/components/multiple-tabs/types.d.ts +3 -0
  46. package/es/components/multiple-tabs/use/index.d.ts +2 -0
  47. package/es/components/multiple-tabs/use/use-multiple-tabs.d.ts +9 -0
  48. package/es/components/multiple-tabs/use/use-tab-dropdown.d.ts +6 -0
  49. package/es/components/popover/directive.d.ts +4 -0
  50. package/es/components/popover/index.d.ts +181 -0
  51. package/es/components/popover/popover.vue.d.ts +187 -0
  52. package/es/components/popover/style/css.d.ts +0 -0
  53. package/es/components/popover/style/index.d.ts +0 -0
  54. package/es/components/popper/arrow.vue.d.ts +18 -0
  55. package/es/components/popper/composables/index.d.ts +3 -0
  56. package/es/components/popper/composables/use-content-dom.d.ts +16 -0
  57. package/es/components/popper/composables/use-content.d.ts +77 -0
  58. package/es/components/popper/composables/use-focus-trap.d.ts +11 -0
  59. package/es/components/popper/constants.d.ts +24 -0
  60. package/es/components/popper/content.vue.d.ts +222 -0
  61. package/es/components/popper/index.d.ts +18 -0
  62. package/es/components/popper/popper.vue.d.ts +13 -0
  63. package/es/components/popper/style/css.d.ts +0 -0
  64. package/es/components/popper/style/index.d.ts +0 -0
  65. package/es/components/popper/trigger.vue.d.ts +99 -0
  66. package/es/components/popper/types.d.ts +45 -0
  67. package/es/components/popper/utils.d.ts +49 -0
  68. package/es/components/slot/index.d.ts +2 -0
  69. package/es/components/slot/only-child.d.ts +7 -0
  70. package/es/components/sub-menu/style/css.d.ts +0 -0
  71. package/es/components/sub-menu/style/index.d.ts +0 -0
  72. package/es/components/tooltip/constants.d.ts +18 -0
  73. package/es/components/tooltip/content.vue.d.ts +268 -0
  74. package/es/components/tooltip/index.d.ts +396 -0
  75. package/es/components/tooltip/style/css.d.ts +0 -0
  76. package/es/components/tooltip/style/index.d.ts +0 -0
  77. package/es/components/tooltip/tooltip.vue.d.ts +470 -0
  78. package/es/components/tooltip/trigger.vue.d.ts +54 -0
  79. package/es/components/tooltip/types.d.ts +53 -0
  80. package/es/components/tooltip/utils.d.ts +11 -0
  81. package/es/hooks/index.d.ts +8 -0
  82. package/es/hooks/use-delayed-toggle/index.d.ts +10 -0
  83. package/es/hooks/use-forward-ref/index.d.ts +9 -0
  84. package/es/hooks/use-id/index.d.ts +9 -0
  85. package/es/hooks/use-model-toggle/index.d.ts +25 -0
  86. package/es/hooks/use-namespace/index.d.ts +5 -2
  87. package/es/hooks/use-popper/index.d.ts +78 -0
  88. package/es/hooks/use-popper-container/index.d.ts +5 -0
  89. package/es/hooks/use-timeout/index.d.ts +4 -0
  90. package/es/hooks/use-z-index/index.d.ts +7 -0
  91. package/es/index.mjs +104 -47
  92. package/es/index.mjs.map +1 -1
  93. package/es/make-installer.mjs +1 -1
  94. package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs +297 -0
  95. package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs.map +1 -0
  96. package/es/package.json.mjs +1 -1
  97. package/es/packages/components/avatar/avatar.vue2.mjs +56 -0
  98. package/es/packages/components/avatar/avatar.vue2.mjs.map +1 -0
  99. package/es/packages/components/avatar/index.mjs.map +1 -0
  100. package/es/packages/components/back-top/back-top.vue2.mjs +75 -0
  101. package/es/packages/components/back-top/back-top.vue2.mjs.map +1 -0
  102. package/es/packages/components/back-top/index.mjs.map +1 -0
  103. package/es/packages/components/back-top/use-back-top.mjs.map +1 -0
  104. package/es/packages/components/collapse-transition/index.mjs +10 -0
  105. package/es/packages/components/collapse-transition/index.mjs.map +1 -0
  106. package/es/packages/components/collapse-transition/src/collapse-transition.vue.mjs +5 -0
  107. package/es/packages/components/collapse-transition/src/collapse-transition.vue.mjs.map +1 -0
  108. package/es/packages/components/collapse-transition/src/collapse-transition.vue2.mjs +47 -0
  109. package/es/packages/components/collapse-transition/src/collapse-transition.vue2.mjs.map +1 -0
  110. package/es/packages/components/collapse-transition/style/css.mjs +3 -0
  111. package/es/packages/components/collapse-transition/style/index.mjs +3 -0
  112. package/es/packages/components/context-menu/context-menu.vue.mjs +5 -0
  113. package/es/packages/components/context-menu/context-menu.vue.mjs.map +1 -0
  114. package/es/packages/components/context-menu/context-menu.vue2.mjs +93 -0
  115. package/es/packages/components/context-menu/context-menu.vue2.mjs.map +1 -0
  116. package/es/packages/components/context-menu/createContextMenu.mjs +41 -0
  117. package/es/packages/components/context-menu/createContextMenu.mjs.map +1 -0
  118. package/es/packages/components/context-menu/index.mjs +8 -0
  119. package/es/packages/components/context-menu/style/css.mjs +3 -0
  120. package/es/packages/components/context-menu/style/index.mjs +3 -0
  121. package/es/packages/components/context-menu/useContextMenu.mjs +11 -0
  122. package/es/packages/components/context-menu/useContextMenu.mjs.map +1 -0
  123. package/es/packages/components/divider/divider.vue2.mjs +50 -0
  124. package/es/packages/components/divider/divider.vue2.mjs.map +1 -0
  125. package/es/packages/components/divider/index.mjs.map +1 -0
  126. package/es/packages/components/empty/assets/no-collect.png.mjs.map +1 -0
  127. package/es/packages/components/empty/assets/no-data.png.mjs.map +1 -0
  128. package/es/packages/components/empty/assets/no-filter.png.mjs.map +1 -0
  129. package/es/packages/components/empty/assets/no-page-data.png.mjs.map +1 -0
  130. package/es/packages/components/empty/assets/no-search.png.mjs.map +1 -0
  131. package/es/packages/components/empty/constants.mjs.map +1 -0
  132. package/es/packages/components/empty/empty.vue2.mjs +102 -0
  133. package/es/packages/components/empty/empty.vue2.mjs.map +1 -0
  134. package/es/packages/components/empty/index.mjs.map +1 -0
  135. package/es/packages/components/exception/exception.png.mjs.map +1 -0
  136. package/es/packages/components/exception/exception.vue2.mjs.map +1 -0
  137. package/es/packages/components/exception/index.mjs.map +1 -0
  138. package/es/packages/components/focus-trap/focus-trap.vue.mjs +11 -0
  139. package/es/packages/components/focus-trap/focus-trap.vue.mjs.map +1 -0
  140. package/es/packages/components/focus-trap/focus-trap.vue2.mjs +160 -0
  141. package/es/packages/components/focus-trap/focus-trap.vue2.mjs.map +1 -0
  142. package/es/packages/components/focus-trap/index.mjs +26 -0
  143. package/es/packages/components/focus-trap/index.mjs.map +1 -0
  144. package/es/packages/components/focus-trap/tokens.mjs +18 -0
  145. package/es/packages/components/focus-trap/tokens.mjs.map +1 -0
  146. package/es/packages/components/focus-trap/utils.mjs +90 -0
  147. package/es/packages/components/focus-trap/utils.mjs.map +1 -0
  148. package/es/packages/components/icon/icon.vue2.mjs +42 -0
  149. package/es/packages/components/icon/icon.vue2.mjs.map +1 -0
  150. package/es/packages/components/icon/index.mjs.map +1 -0
  151. package/es/packages/components/index.mjs +53 -0
  152. package/es/packages/components/index.mjs.map +1 -0
  153. package/es/packages/components/menu/index.mjs +21 -0
  154. package/es/packages/components/menu/index.mjs.map +1 -0
  155. package/es/packages/components/menu/menu-collapse-transition.vue.mjs +16 -0
  156. package/es/packages/components/menu/menu-collapse-transition.vue.mjs.map +1 -0
  157. package/es/packages/components/menu/menu-collapse-transition.vue2.mjs +34 -0
  158. package/es/packages/components/menu/menu-collapse-transition.vue2.mjs.map +1 -0
  159. package/es/packages/components/menu/menu-item-group.vue.mjs +5 -0
  160. package/es/packages/components/menu/menu-item-group.vue.mjs.map +1 -0
  161. package/es/packages/components/menu/menu-item-group.vue2.mjs +39 -0
  162. package/es/packages/components/menu/menu-item-group.vue2.mjs.map +1 -0
  163. package/es/packages/components/menu/menu-item.vue.mjs +5 -0
  164. package/es/packages/components/menu/menu-item.vue.mjs.map +1 -0
  165. package/es/packages/components/menu/menu-item.vue2.mjs +117 -0
  166. package/es/packages/components/menu/menu-item.vue2.mjs.map +1 -0
  167. package/es/packages/components/menu/menu.vue.mjs +5 -0
  168. package/es/packages/components/menu/menu.vue.mjs.map +1 -0
  169. package/es/packages/components/menu/menu.vue2.mjs +207 -0
  170. package/es/packages/components/menu/menu.vue2.mjs.map +1 -0
  171. package/es/packages/components/menu/style/css.mjs +3 -0
  172. package/es/packages/components/menu/style/css.mjs.map +1 -0
  173. package/es/packages/components/menu/style/index.mjs +3 -0
  174. package/es/packages/components/menu/style/index.mjs.map +1 -0
  175. package/es/packages/components/menu/sub-menu.vue.mjs +5 -0
  176. package/es/packages/components/menu/sub-menu.vue.mjs.map +1 -0
  177. package/es/packages/components/menu/sub-menu.vue2.mjs +234 -0
  178. package/es/packages/components/menu/sub-menu.vue2.mjs.map +1 -0
  179. package/es/packages/components/menu/types.mjs +2 -0
  180. package/es/packages/components/menu/types.mjs.map +1 -0
  181. package/es/packages/components/menu/use-menu-css-var.mjs +18 -0
  182. package/es/packages/components/menu/use-menu-css-var.mjs.map +1 -0
  183. package/es/packages/components/menu/use-menu.mjs +23 -0
  184. package/es/packages/components/menu/use-menu.mjs.map +1 -0
  185. package/es/packages/components/menu/utils/menu-bar.mjs +16 -0
  186. package/es/packages/components/menu/utils/menu-bar.mjs.map +1 -0
  187. package/es/packages/components/menu/utils/menu-item.mjs +42 -0
  188. package/es/packages/components/menu/utils/menu-item.mjs.map +1 -0
  189. package/es/packages/components/menu/utils/submenu.mjs +45 -0
  190. package/es/packages/components/menu/utils/submenu.mjs.map +1 -0
  191. package/es/packages/components/menu-item/style/css.mjs +3 -0
  192. package/es/packages/components/menu-item/style/css.mjs.map +1 -0
  193. package/es/packages/components/menu-item/style/index.mjs +3 -0
  194. package/es/packages/components/menu-item-group/style/css.mjs +3 -0
  195. package/es/packages/components/menu-item-group/style/index.mjs +3 -0
  196. package/es/packages/components/multiple-tabs/index.mjs +16 -0
  197. package/es/packages/components/multiple-tabs/index.mjs.map +1 -0
  198. package/es/packages/components/multiple-tabs/multiple-tabs.vue.mjs +5 -0
  199. package/es/packages/components/multiple-tabs/multiple-tabs.vue.mjs.map +1 -0
  200. package/es/packages/components/multiple-tabs/multiple-tabs.vue2.mjs +152 -0
  201. package/es/packages/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -0
  202. package/es/packages/components/multiple-tabs/style/css.mjs +3 -0
  203. package/es/packages/components/multiple-tabs/style/css.mjs.map +1 -0
  204. package/es/packages/components/multiple-tabs/style/index.mjs +3 -0
  205. package/es/packages/components/multiple-tabs/style/index.mjs.map +1 -0
  206. package/es/packages/components/multiple-tabs/tab-content.vue.mjs +5 -0
  207. package/es/packages/components/multiple-tabs/tab-content.vue.mjs.map +1 -0
  208. package/es/packages/components/multiple-tabs/tab-content.vue2.mjs +49 -0
  209. package/es/packages/components/multiple-tabs/tab-content.vue2.mjs.map +1 -0
  210. package/es/packages/components/multiple-tabs/types.mjs +2 -0
  211. package/es/packages/components/multiple-tabs/types.mjs.map +1 -0
  212. package/es/packages/components/multiple-tabs/use/index.mjs +8 -0
  213. package/es/packages/components/multiple-tabs/use/index.mjs.map +1 -0
  214. package/es/packages/components/multiple-tabs/use/use-multiple-tabs.mjs +54 -0
  215. package/es/packages/components/multiple-tabs/use/use-multiple-tabs.mjs.map +1 -0
  216. package/es/packages/components/multiple-tabs/use/use-tab-dropdown.mjs +71 -0
  217. package/es/packages/components/multiple-tabs/use/use-tab-dropdown.mjs.map +1 -0
  218. package/es/packages/components/popover/directive.mjs +16 -0
  219. package/es/packages/components/popover/directive.mjs.map +1 -0
  220. package/es/packages/components/popover/index.mjs +11 -0
  221. package/es/packages/components/popover/index.mjs.map +1 -0
  222. package/es/packages/components/popover/popover.vue.mjs +5 -0
  223. package/es/packages/components/popover/popover.vue.mjs.map +1 -0
  224. package/es/packages/components/popover/popover.vue2.mjs +117 -0
  225. package/es/packages/components/popover/popover.vue2.mjs.map +1 -0
  226. package/es/packages/components/popover/style/css.mjs +4 -0
  227. package/es/packages/components/popover/style/css.mjs.map +1 -0
  228. package/es/packages/components/popover/style/index.mjs +4 -0
  229. package/es/packages/components/popover/style/index.mjs.map +1 -0
  230. package/es/packages/components/popover/types.mjs +2 -0
  231. package/es/packages/components/popover/types.mjs.map +1 -0
  232. package/es/packages/components/popper/arrow.vue.mjs +5 -0
  233. package/es/packages/components/popper/arrow.vue.mjs.map +1 -0
  234. package/es/packages/components/popper/arrow.vue2.mjs +47 -0
  235. package/es/packages/components/popper/arrow.vue2.mjs.map +1 -0
  236. package/es/packages/components/popper/composables/index.mjs +9 -0
  237. package/es/packages/components/popper/composables/index.mjs.map +1 -0
  238. package/es/packages/components/popper/composables/use-content-dom.mjs +43 -0
  239. package/es/packages/components/popper/composables/use-content-dom.mjs.map +1 -0
  240. package/es/packages/components/popper/composables/use-content.mjs +64 -0
  241. package/es/packages/components/popper/composables/use-content.mjs.map +1 -0
  242. package/es/packages/components/popper/composables/use-focus-trap.mjs +28 -0
  243. package/es/packages/components/popper/composables/use-focus-trap.mjs.map +1 -0
  244. package/es/packages/components/popper/constants.mjs +6 -0
  245. package/es/packages/components/popper/constants.mjs.map +1 -0
  246. package/es/packages/components/popper/content.vue.mjs +5 -0
  247. package/es/packages/components/popper/content.vue.mjs.map +1 -0
  248. package/es/packages/components/popper/content.vue2.mjs +144 -0
  249. package/es/packages/components/popper/content.vue2.mjs.map +1 -0
  250. package/es/packages/components/popper/index.mjs +17 -0
  251. package/es/packages/components/popper/index.mjs.map +1 -0
  252. package/es/packages/components/popper/popper.vue.mjs +5 -0
  253. package/es/packages/components/popper/popper.vue.mjs.map +1 -0
  254. package/es/packages/components/popper/popper.vue2.mjs +40 -0
  255. package/es/packages/components/popper/popper.vue2.mjs.map +1 -0
  256. package/es/packages/components/popper/style/css.mjs +3 -0
  257. package/es/packages/components/popper/style/css.mjs.map +1 -0
  258. package/es/packages/components/popper/style/index.mjs +3 -0
  259. package/es/packages/components/popper/style/index.mjs.map +1 -0
  260. package/es/packages/components/popper/trigger.vue.mjs +5 -0
  261. package/es/packages/components/popper/trigger.vue.mjs.map +1 -0
  262. package/es/packages/components/popper/trigger.vue2.mjs +118 -0
  263. package/es/packages/components/popper/trigger.vue2.mjs.map +1 -0
  264. package/es/packages/components/popper/types.mjs +2 -0
  265. package/es/packages/components/popper/types.mjs.map +1 -0
  266. package/es/packages/components/popper/utils.mjs +56 -0
  267. package/es/packages/components/popper/utils.mjs.map +1 -0
  268. package/es/packages/components/result/index.mjs.map +1 -0
  269. package/es/packages/components/result/result.vue2.mjs +69 -0
  270. package/es/packages/components/result/result.vue2.mjs.map +1 -0
  271. package/es/packages/components/result/style/css.mjs.map +1 -0
  272. package/es/packages/components/result/style/index.mjs.map +1 -0
  273. package/es/packages/components/slot/index.mjs +6 -0
  274. package/es/packages/components/slot/index.mjs.map +1 -0
  275. package/es/packages/components/slot/only-child.mjs +60 -0
  276. package/es/packages/components/slot/only-child.mjs.map +1 -0
  277. package/es/packages/components/sub-menu/style/css.mjs +3 -0
  278. package/es/packages/components/sub-menu/style/css.mjs.map +1 -0
  279. package/es/packages/components/sub-menu/style/index.mjs +3 -0
  280. package/es/packages/components/sub-menu/style/index.mjs.map +1 -0
  281. package/es/packages/components/tab-pane/style/css.mjs.map +1 -0
  282. package/es/packages/components/tab-pane/style/index.mjs.map +1 -0
  283. package/es/packages/components/tabs/index.mjs.map +1 -0
  284. package/es/packages/components/tabs/style/css.mjs.map +1 -0
  285. package/es/packages/components/tabs/style/index.mjs.map +1 -0
  286. package/es/packages/components/tabs/tab-bar.vue2.mjs +56 -0
  287. package/es/packages/components/tabs/tab-bar.vue2.mjs.map +1 -0
  288. package/es/packages/components/tabs/tab-nav.vue2.mjs +185 -0
  289. package/es/packages/components/tabs/tab-nav.vue2.mjs.map +1 -0
  290. package/es/packages/components/tabs/tab-pane.vue2.mjs +63 -0
  291. package/es/packages/components/tabs/tab-pane.vue2.mjs.map +1 -0
  292. package/es/packages/components/tabs/tabs.vue2.mjs +156 -0
  293. package/es/packages/components/tabs/tabs.vue2.mjs.map +1 -0
  294. package/es/packages/components/tabs/types.mjs.map +1 -0
  295. package/es/packages/components/tooltip/constants.mjs +5 -0
  296. package/es/packages/components/tooltip/constants.mjs.map +1 -0
  297. package/es/packages/components/tooltip/content.vue.mjs +5 -0
  298. package/es/packages/components/tooltip/content.vue.mjs.map +1 -0
  299. package/es/packages/components/tooltip/content.vue2.mjs +175 -0
  300. package/es/packages/components/tooltip/content.vue2.mjs.map +1 -0
  301. package/es/packages/components/tooltip/index.mjs +11 -0
  302. package/es/packages/components/tooltip/index.mjs.map +1 -0
  303. package/es/packages/components/tooltip/style/css.mjs +4 -0
  304. package/es/packages/components/tooltip/style/css.mjs.map +1 -0
  305. package/es/packages/components/tooltip/style/index.mjs +4 -0
  306. package/es/packages/components/tooltip/style/index.mjs.map +1 -0
  307. package/es/packages/components/tooltip/tooltip.vue.mjs +5 -0
  308. package/es/packages/components/tooltip/tooltip.vue.mjs.map +1 -0
  309. package/es/packages/components/tooltip/tooltip.vue2.mjs +224 -0
  310. package/es/packages/components/tooltip/tooltip.vue2.mjs.map +1 -0
  311. package/es/packages/components/tooltip/trigger.vue.mjs +5 -0
  312. package/es/packages/components/tooltip/trigger.vue.mjs.map +1 -0
  313. package/es/packages/components/tooltip/trigger.vue2.mjs +91 -0
  314. package/es/packages/components/tooltip/trigger.vue2.mjs.map +1 -0
  315. package/es/packages/components/tooltip/types.mjs +2 -0
  316. package/es/packages/components/tooltip/types.mjs.map +1 -0
  317. package/es/packages/components/tooltip/utils.mjs +19 -0
  318. package/es/packages/components/tooltip/utils.mjs.map +1 -0
  319. package/es/packages/components/types.mjs +2 -0
  320. package/es/packages/components/types.mjs.map +1 -0
  321. package/es/packages/constants/aria.mjs.map +1 -0
  322. package/es/packages/constants/date.mjs.map +1 -0
  323. package/es/packages/constants/event.mjs.map +1 -0
  324. package/es/packages/constants/key.mjs.map +1 -0
  325. package/es/packages/constants/size.mjs.map +1 -0
  326. package/es/packages/hooks/index.mjs +35 -0
  327. package/es/packages/hooks/index.mjs.map +1 -0
  328. package/es/packages/hooks/use-delayed-toggle/index.mjs +21 -0
  329. package/es/packages/hooks/use-delayed-toggle/index.mjs.map +1 -0
  330. package/es/packages/hooks/use-forward-ref/index.mjs +24 -0
  331. package/es/packages/hooks/use-forward-ref/index.mjs.map +1 -0
  332. package/es/packages/hooks/use-id/index.mjs +29 -0
  333. package/es/packages/hooks/use-id/index.mjs.map +1 -0
  334. package/es/packages/hooks/use-model-toggle/index.mjs +62 -0
  335. package/es/packages/hooks/use-model-toggle/index.mjs.map +1 -0
  336. package/es/packages/hooks/use-namespace/index.mjs +47 -0
  337. package/es/packages/hooks/use-namespace/index.mjs.map +1 -0
  338. package/es/packages/hooks/use-ordered-children/index.mjs.map +1 -0
  339. package/es/packages/hooks/use-popper/index.mjs +98 -0
  340. package/es/packages/hooks/use-popper/index.mjs.map +1 -0
  341. package/es/packages/hooks/use-popper-container/index.mjs +27 -0
  342. package/es/packages/hooks/use-popper-container/index.mjs.map +1 -0
  343. package/es/packages/hooks/use-timeout/index.mjs +15 -0
  344. package/es/packages/hooks/use-timeout/index.mjs.map +1 -0
  345. package/es/packages/hooks/use-z-index/index.mjs +18 -0
  346. package/es/packages/hooks/use-z-index/index.mjs.map +1 -0
  347. package/es/packages/theme-style/src/collapse-transition.scss.mjs +5 -0
  348. package/es/packages/theme-style/src/collapse-transition.scss.mjs.map +1 -0
  349. package/es/packages/theme-style/src/menu-item-group.scss.mjs +5 -0
  350. package/es/packages/theme-style/src/menu-item-group.scss.mjs.map +1 -0
  351. package/es/packages/theme-style/src/menu-item.scss.mjs +5 -0
  352. package/es/packages/theme-style/src/menu-item.scss.mjs.map +1 -0
  353. package/es/packages/theme-style/src/menu.scss.mjs +5 -0
  354. package/es/packages/theme-style/src/menu.scss.mjs.map +1 -0
  355. package/es/packages/theme-style/src/multiple-tabs.scss.mjs +5 -0
  356. package/es/packages/theme-style/src/multiple-tabs.scss.mjs.map +1 -0
  357. package/es/packages/theme-style/src/popover.scss.mjs +5 -0
  358. package/es/packages/theme-style/src/popover.scss.mjs.map +1 -0
  359. package/es/packages/theme-style/src/popper.scss.mjs +5 -0
  360. package/es/packages/theme-style/src/popper.scss.mjs.map +1 -0
  361. package/es/packages/theme-style/src/sub-menu.scss.mjs +5 -0
  362. package/es/packages/theme-style/src/sub-menu.scss.mjs.map +1 -0
  363. package/es/packages/theme-style/src/tooltip.scss.mjs +5 -0
  364. package/es/packages/theme-style/src/tooltip.scss.mjs.map +1 -0
  365. package/es/packages/utils/error.mjs.map +1 -0
  366. package/es/packages/utils/event.mjs +10 -0
  367. package/es/packages/utils/event.mjs.map +1 -0
  368. package/es/packages/utils/helper.mjs.map +1 -0
  369. package/es/packages/utils/index.mjs +31 -0
  370. package/es/packages/utils/index.mjs.map +1 -0
  371. package/es/packages/utils/typescript.mjs +5 -0
  372. package/es/packages/utils/typescript.mjs.map +1 -0
  373. package/es/packages/utils/vue/index.mjs.map +1 -0
  374. package/es/packages/utils/vue/install.mjs.map +1 -0
  375. package/es/packages/utils/vue/vnode.mjs.map +1 -0
  376. package/es/style.css +1 -1
  377. package/es/utils/event.d.ts +6 -0
  378. package/es/utils/index.d.ts +2 -0
  379. package/es/utils/typescript.d.ts +12 -0
  380. package/lib/_virtual/_plugin-vue_export-helper.js +2 -0
  381. package/lib/_virtual/_plugin-vue_export-helper.js.map +1 -0
  382. package/lib/component.js +1 -1
  383. package/lib/component.js.map +1 -1
  384. package/lib/components/collapse-transition/index.d.ts +4 -0
  385. package/lib/components/collapse-transition/src/collapse-transition.vue.d.ts +2 -0
  386. package/lib/components/collapse-transition/style/css.d.ts +0 -0
  387. package/lib/components/collapse-transition/style/index.d.ts +0 -0
  388. package/lib/components/context-menu/context-menu.vue.d.ts +39 -0
  389. package/lib/components/context-menu/createContextMenu.d.ts +3 -0
  390. package/lib/components/context-menu/index.d.ts +3 -0
  391. package/lib/components/context-menu/style/css.d.ts +0 -0
  392. package/lib/components/context-menu/style/index.d.ts +0 -0
  393. package/lib/components/context-menu/types.d.ts +23 -0
  394. package/lib/components/context-menu/useContextMenu.d.ts +3 -0
  395. package/lib/components/focus-trap/focus-trap.vue.d.ts +32 -0
  396. package/lib/components/focus-trap/index.d.ts +5 -0
  397. package/lib/components/focus-trap/tokens.d.ts +13 -0
  398. package/lib/components/focus-trap/utils.d.ts +29 -0
  399. package/lib/components/index.d.ts +7 -0
  400. package/lib/components/menu/index.d.ts +504 -0
  401. package/lib/components/menu/menu-collapse-transition.vue.d.ts +5 -0
  402. package/lib/components/menu/menu-item-group.vue.d.ts +13 -0
  403. package/lib/components/menu/menu-item.vue.d.ts +81 -0
  404. package/lib/components/menu/menu.vue.d.ts +109 -0
  405. package/lib/components/menu/style/css.d.ts +0 -0
  406. package/lib/components/menu/style/index.d.ts +0 -0
  407. package/lib/components/menu/sub-menu.vue.d.ts +112 -0
  408. package/lib/components/menu/types.d.ts +59 -0
  409. package/lib/components/menu/use-menu-css-var.d.ts +1 -0
  410. package/lib/components/menu/use-menu.d.ts +14 -0
  411. package/lib/components/menu/utils/menu-bar.d.ts +7 -0
  412. package/lib/components/menu/utils/menu-item.d.ts +9 -0
  413. package/lib/components/menu/utils/submenu.d.ts +12 -0
  414. package/lib/components/menu-item/style/css.d.ts +0 -0
  415. package/lib/components/menu-item/style/index.d.ts +0 -0
  416. package/lib/components/menu-item-group/style/css.d.ts +0 -0
  417. package/lib/components/menu-item-group/style/index.d.ts +0 -0
  418. package/lib/components/multiple-tabs/index.d.ts +30 -0
  419. package/lib/components/multiple-tabs/multiple-tabs.vue.d.ts +29 -0
  420. package/lib/components/multiple-tabs/style/css.d.ts +0 -0
  421. package/lib/components/multiple-tabs/style/index.d.ts +0 -0
  422. package/lib/components/multiple-tabs/tab-content.vue.d.ts +32 -0
  423. package/lib/components/multiple-tabs/types.d.ts +3 -0
  424. package/lib/components/multiple-tabs/use/index.d.ts +2 -0
  425. package/lib/components/multiple-tabs/use/use-multiple-tabs.d.ts +9 -0
  426. package/lib/components/multiple-tabs/use/use-tab-dropdown.d.ts +6 -0
  427. package/lib/components/popover/directive.d.ts +4 -0
  428. package/lib/components/popover/index.d.ts +181 -0
  429. package/lib/components/popover/popover.vue.d.ts +187 -0
  430. package/lib/components/popover/style/css.d.ts +0 -0
  431. package/lib/components/popover/style/index.d.ts +0 -0
  432. package/lib/components/popper/arrow.vue.d.ts +18 -0
  433. package/lib/components/popper/composables/index.d.ts +3 -0
  434. package/lib/components/popper/composables/use-content-dom.d.ts +16 -0
  435. package/lib/components/popper/composables/use-content.d.ts +77 -0
  436. package/lib/components/popper/composables/use-focus-trap.d.ts +11 -0
  437. package/lib/components/popper/constants.d.ts +24 -0
  438. package/lib/components/popper/content.vue.d.ts +222 -0
  439. package/lib/components/popper/index.d.ts +18 -0
  440. package/lib/components/popper/popper.vue.d.ts +13 -0
  441. package/lib/components/popper/style/css.d.ts +0 -0
  442. package/lib/components/popper/style/index.d.ts +0 -0
  443. package/lib/components/popper/trigger.vue.d.ts +99 -0
  444. package/lib/components/popper/types.d.ts +45 -0
  445. package/lib/components/popper/utils.d.ts +49 -0
  446. package/lib/components/slot/index.d.ts +2 -0
  447. package/lib/components/slot/only-child.d.ts +7 -0
  448. package/lib/components/sub-menu/style/css.d.ts +0 -0
  449. package/lib/components/sub-menu/style/index.d.ts +0 -0
  450. package/lib/components/tooltip/constants.d.ts +18 -0
  451. package/lib/components/tooltip/content.vue.d.ts +268 -0
  452. package/lib/components/tooltip/index.d.ts +396 -0
  453. package/lib/components/tooltip/style/css.d.ts +0 -0
  454. package/lib/components/tooltip/style/index.d.ts +0 -0
  455. package/lib/components/tooltip/tooltip.vue.d.ts +470 -0
  456. package/lib/components/tooltip/trigger.vue.d.ts +54 -0
  457. package/lib/components/tooltip/types.d.ts +53 -0
  458. package/lib/components/tooltip/utils.d.ts +11 -0
  459. package/lib/hooks/index.d.ts +8 -0
  460. package/lib/hooks/use-delayed-toggle/index.d.ts +10 -0
  461. package/lib/hooks/use-forward-ref/index.d.ts +9 -0
  462. package/lib/hooks/use-id/index.d.ts +9 -0
  463. package/lib/hooks/use-model-toggle/index.d.ts +25 -0
  464. package/lib/hooks/use-namespace/index.d.ts +5 -2
  465. package/lib/hooks/use-popper/index.d.ts +78 -0
  466. package/lib/hooks/use-popper-container/index.d.ts +5 -0
  467. package/lib/hooks/use-timeout/index.d.ts +4 -0
  468. package/lib/hooks/use-z-index/index.d.ts +7 -0
  469. package/lib/index.js +1 -1
  470. package/lib/index.js.map +1 -1
  471. package/lib/make-installer.js +1 -1
  472. package/lib/make-installer.js.map +1 -1
  473. package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js +2 -0
  474. package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js.map +1 -0
  475. package/lib/package.json.js +1 -1
  476. package/lib/packages/components/avatar/avatar.vue2.js +2 -0
  477. package/lib/packages/components/avatar/avatar.vue2.js.map +1 -0
  478. package/lib/packages/components/avatar/index.js.map +1 -0
  479. package/lib/packages/components/back-top/back-top.vue2.js +2 -0
  480. package/lib/packages/components/back-top/back-top.vue2.js.map +1 -0
  481. package/lib/packages/components/back-top/index.js.map +1 -0
  482. package/lib/packages/components/back-top/use-back-top.js.map +1 -0
  483. package/lib/packages/components/collapse-transition/index.js +2 -0
  484. package/lib/packages/components/collapse-transition/index.js.map +1 -0
  485. package/lib/packages/components/collapse-transition/src/collapse-transition.vue.js +2 -0
  486. package/lib/packages/components/collapse-transition/src/collapse-transition.vue.js.map +1 -0
  487. package/lib/packages/components/collapse-transition/src/collapse-transition.vue2.js +2 -0
  488. package/lib/packages/components/collapse-transition/src/collapse-transition.vue2.js.map +1 -0
  489. package/lib/packages/components/collapse-transition/style/css.js +2 -0
  490. package/lib/packages/components/collapse-transition/style/index.js +2 -0
  491. package/lib/packages/components/context-menu/context-menu.vue.js +2 -0
  492. package/lib/packages/components/context-menu/context-menu.vue.js.map +1 -0
  493. package/lib/packages/components/context-menu/context-menu.vue2.js +2 -0
  494. package/lib/packages/components/context-menu/context-menu.vue2.js.map +1 -0
  495. package/lib/packages/components/context-menu/createContextMenu.js +2 -0
  496. package/lib/packages/components/context-menu/createContextMenu.js.map +1 -0
  497. package/lib/packages/components/context-menu/index.js +2 -0
  498. package/lib/packages/components/context-menu/style/css.js +2 -0
  499. package/lib/packages/components/context-menu/style/index.js +2 -0
  500. package/lib/packages/components/context-menu/useContextMenu.js +2 -0
  501. package/lib/packages/components/context-menu/useContextMenu.js.map +1 -0
  502. package/lib/packages/components/divider/divider.vue2.js +2 -0
  503. package/lib/packages/components/divider/divider.vue2.js.map +1 -0
  504. package/lib/packages/components/divider/index.js.map +1 -0
  505. package/lib/packages/components/empty/assets/no-collect.png.js.map +1 -0
  506. package/lib/packages/components/empty/assets/no-data.png.js.map +1 -0
  507. package/lib/packages/components/empty/assets/no-filter.png.js.map +1 -0
  508. package/lib/packages/components/empty/assets/no-page-data.png.js.map +1 -0
  509. package/lib/packages/components/empty/assets/no-search.png.js.map +1 -0
  510. package/lib/packages/components/empty/constants.js.map +1 -0
  511. package/lib/packages/components/empty/empty.vue2.js +2 -0
  512. package/lib/packages/components/empty/empty.vue2.js.map +1 -0
  513. package/lib/packages/components/empty/index.js.map +1 -0
  514. package/lib/packages/components/exception/exception.png.js.map +1 -0
  515. package/lib/packages/components/exception/exception.vue2.js.map +1 -0
  516. package/lib/packages/components/exception/index.js.map +1 -0
  517. package/lib/packages/components/focus-trap/focus-trap.vue.js +2 -0
  518. package/lib/packages/components/focus-trap/focus-trap.vue.js.map +1 -0
  519. package/lib/packages/components/focus-trap/focus-trap.vue2.js +2 -0
  520. package/lib/packages/components/focus-trap/focus-trap.vue2.js.map +1 -0
  521. package/lib/packages/components/focus-trap/index.js +2 -0
  522. package/lib/packages/components/focus-trap/tokens.js +2 -0
  523. package/lib/packages/components/focus-trap/tokens.js.map +1 -0
  524. package/lib/packages/components/focus-trap/utils.js +2 -0
  525. package/lib/packages/components/focus-trap/utils.js.map +1 -0
  526. package/lib/packages/components/icon/icon.vue2.js +2 -0
  527. package/lib/packages/components/icon/icon.vue2.js.map +1 -0
  528. package/lib/packages/components/icon/index.js.map +1 -0
  529. package/lib/packages/components/index.js +2 -0
  530. package/lib/packages/components/menu/index.js +2 -0
  531. package/lib/packages/components/menu/index.js.map +1 -0
  532. package/lib/packages/components/menu/menu-collapse-transition.vue.js +2 -0
  533. package/lib/packages/components/menu/menu-collapse-transition.vue.js.map +1 -0
  534. package/lib/packages/components/menu/menu-collapse-transition.vue2.js +2 -0
  535. package/lib/packages/components/menu/menu-collapse-transition.vue2.js.map +1 -0
  536. package/lib/packages/components/menu/menu-item-group.vue.js +2 -0
  537. package/lib/packages/components/menu/menu-item-group.vue.js.map +1 -0
  538. package/lib/packages/components/menu/menu-item-group.vue2.js +2 -0
  539. package/lib/packages/components/menu/menu-item-group.vue2.js.map +1 -0
  540. package/lib/packages/components/menu/menu-item.vue.js +2 -0
  541. package/lib/packages/components/menu/menu-item.vue.js.map +1 -0
  542. package/lib/packages/components/menu/menu-item.vue2.js +2 -0
  543. package/lib/packages/components/menu/menu-item.vue2.js.map +1 -0
  544. package/lib/packages/components/menu/menu.vue.js +2 -0
  545. package/lib/packages/components/menu/menu.vue.js.map +1 -0
  546. package/lib/packages/components/menu/menu.vue2.js +2 -0
  547. package/lib/packages/components/menu/menu.vue2.js.map +1 -0
  548. package/lib/packages/components/menu/style/css.js +2 -0
  549. package/lib/packages/components/menu/style/css.js.map +1 -0
  550. package/lib/packages/components/menu/style/index.js +2 -0
  551. package/lib/packages/components/menu/sub-menu.vue.js +2 -0
  552. package/lib/packages/components/menu/sub-menu.vue.js.map +1 -0
  553. package/lib/packages/components/menu/sub-menu.vue2.js +2 -0
  554. package/lib/packages/components/menu/sub-menu.vue2.js.map +1 -0
  555. package/lib/packages/components/menu/types.js +2 -0
  556. package/lib/packages/components/menu/types.js.map +1 -0
  557. package/lib/packages/components/menu/use-menu-css-var.js +2 -0
  558. package/lib/packages/components/menu/use-menu-css-var.js.map +1 -0
  559. package/lib/packages/components/menu/use-menu.js +2 -0
  560. package/lib/packages/components/menu/use-menu.js.map +1 -0
  561. package/lib/packages/components/menu/utils/menu-bar.js +2 -0
  562. package/lib/packages/components/menu/utils/menu-bar.js.map +1 -0
  563. package/lib/packages/components/menu/utils/menu-item.js +2 -0
  564. package/lib/packages/components/menu/utils/menu-item.js.map +1 -0
  565. package/lib/packages/components/menu/utils/submenu.js +2 -0
  566. package/lib/packages/components/menu/utils/submenu.js.map +1 -0
  567. package/lib/packages/components/menu-item/style/css.js +2 -0
  568. package/lib/packages/components/menu-item/style/css.js.map +1 -0
  569. package/lib/packages/components/menu-item/style/index.js +2 -0
  570. package/lib/packages/components/menu-item-group/style/css.js +2 -0
  571. package/lib/packages/components/menu-item-group/style/index.js +2 -0
  572. package/lib/packages/components/multiple-tabs/index.js +2 -0
  573. package/lib/packages/components/multiple-tabs/index.js.map +1 -0
  574. package/lib/packages/components/multiple-tabs/multiple-tabs.vue.js +2 -0
  575. package/lib/packages/components/multiple-tabs/multiple-tabs.vue.js.map +1 -0
  576. package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js +2 -0
  577. package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -0
  578. package/lib/packages/components/multiple-tabs/style/css.js +2 -0
  579. package/lib/packages/components/multiple-tabs/style/css.js.map +1 -0
  580. package/lib/packages/components/multiple-tabs/style/index.js +2 -0
  581. package/lib/packages/components/multiple-tabs/style/index.js.map +1 -0
  582. package/lib/packages/components/multiple-tabs/tab-content.vue.js +2 -0
  583. package/lib/packages/components/multiple-tabs/tab-content.vue.js.map +1 -0
  584. package/lib/packages/components/multiple-tabs/tab-content.vue2.js +2 -0
  585. package/lib/packages/components/multiple-tabs/tab-content.vue2.js.map +1 -0
  586. package/lib/packages/components/multiple-tabs/types.js +2 -0
  587. package/lib/packages/components/multiple-tabs/types.js.map +1 -0
  588. package/lib/packages/components/multiple-tabs/use/index.js +2 -0
  589. package/lib/packages/components/multiple-tabs/use/index.js.map +1 -0
  590. package/lib/packages/components/multiple-tabs/use/use-multiple-tabs.js +2 -0
  591. package/lib/packages/components/multiple-tabs/use/use-multiple-tabs.js.map +1 -0
  592. package/lib/packages/components/multiple-tabs/use/use-tab-dropdown.js +2 -0
  593. package/lib/packages/components/multiple-tabs/use/use-tab-dropdown.js.map +1 -0
  594. package/lib/packages/components/popover/directive.js +2 -0
  595. package/lib/packages/components/popover/directive.js.map +1 -0
  596. package/lib/packages/components/popover/index.js +2 -0
  597. package/lib/packages/components/popover/index.js.map +1 -0
  598. package/lib/packages/components/popover/popover.vue.js +2 -0
  599. package/lib/packages/components/popover/popover.vue.js.map +1 -0
  600. package/lib/packages/components/popover/popover.vue2.js +2 -0
  601. package/lib/packages/components/popover/popover.vue2.js.map +1 -0
  602. package/lib/packages/components/popover/style/css.js +2 -0
  603. package/lib/packages/components/popover/style/css.js.map +1 -0
  604. package/lib/packages/components/popover/style/index.js +2 -0
  605. package/lib/packages/components/popover/style/index.js.map +1 -0
  606. package/lib/packages/components/popover/types.js +2 -0
  607. package/lib/packages/components/popover/types.js.map +1 -0
  608. package/lib/packages/components/popper/arrow.vue.js +2 -0
  609. package/lib/packages/components/popper/arrow.vue.js.map +1 -0
  610. package/lib/packages/components/popper/arrow.vue2.js +2 -0
  611. package/lib/packages/components/popper/arrow.vue2.js.map +1 -0
  612. package/lib/packages/components/popper/composables/index.js +2 -0
  613. package/lib/packages/components/popper/composables/index.js.map +1 -0
  614. package/lib/packages/components/popper/composables/use-content-dom.js +2 -0
  615. package/lib/packages/components/popper/composables/use-content-dom.js.map +1 -0
  616. package/lib/packages/components/popper/composables/use-content.js +2 -0
  617. package/lib/packages/components/popper/composables/use-content.js.map +1 -0
  618. package/lib/packages/components/popper/composables/use-focus-trap.js +2 -0
  619. package/lib/packages/components/popper/composables/use-focus-trap.js.map +1 -0
  620. package/lib/packages/components/popper/constants.js +2 -0
  621. package/lib/packages/components/popper/constants.js.map +1 -0
  622. package/lib/packages/components/popper/content.vue.js +2 -0
  623. package/lib/packages/components/popper/content.vue.js.map +1 -0
  624. package/lib/packages/components/popper/content.vue2.js +2 -0
  625. package/lib/packages/components/popper/content.vue2.js.map +1 -0
  626. package/lib/packages/components/popper/index.js +2 -0
  627. package/lib/packages/components/popper/index.js.map +1 -0
  628. package/lib/packages/components/popper/popper.vue.js +2 -0
  629. package/lib/packages/components/popper/popper.vue.js.map +1 -0
  630. package/lib/packages/components/popper/popper.vue2.js +2 -0
  631. package/lib/packages/components/popper/popper.vue2.js.map +1 -0
  632. package/lib/packages/components/popper/style/css.js +2 -0
  633. package/lib/packages/components/popper/style/css.js.map +1 -0
  634. package/lib/packages/components/popper/style/index.js +2 -0
  635. package/lib/packages/components/popper/style/index.js.map +1 -0
  636. package/lib/packages/components/popper/trigger.vue.js +2 -0
  637. package/lib/packages/components/popper/trigger.vue.js.map +1 -0
  638. package/lib/packages/components/popper/trigger.vue2.js +2 -0
  639. package/lib/packages/components/popper/trigger.vue2.js.map +1 -0
  640. package/lib/packages/components/popper/types.js +2 -0
  641. package/lib/packages/components/popper/types.js.map +1 -0
  642. package/lib/packages/components/popper/utils.js +2 -0
  643. package/lib/packages/components/popper/utils.js.map +1 -0
  644. package/lib/packages/components/result/index.js.map +1 -0
  645. package/lib/packages/components/result/result.vue2.js +2 -0
  646. package/lib/packages/components/result/result.vue2.js.map +1 -0
  647. package/lib/packages/components/result/style/css.js.map +1 -0
  648. package/lib/packages/components/result/style/index.js.map +1 -0
  649. package/lib/packages/components/slot/index.js +2 -0
  650. package/lib/packages/components/slot/index.js.map +1 -0
  651. package/lib/packages/components/slot/only-child.js +2 -0
  652. package/lib/packages/components/slot/only-child.js.map +1 -0
  653. package/lib/packages/components/sub-menu/style/css.js +2 -0
  654. package/lib/packages/components/sub-menu/style/css.js.map +1 -0
  655. package/lib/packages/components/sub-menu/style/index.js +2 -0
  656. package/lib/packages/components/sub-menu/style/index.js.map +1 -0
  657. package/lib/packages/components/tab-pane/style/css.js.map +1 -0
  658. package/lib/packages/components/tab-pane/style/index.js.map +1 -0
  659. package/lib/packages/components/tabs/index.js.map +1 -0
  660. package/lib/packages/components/tabs/style/css.js.map +1 -0
  661. package/lib/packages/components/tabs/style/index.js.map +1 -0
  662. package/lib/packages/components/tabs/tab-bar.vue2.js +2 -0
  663. package/lib/packages/components/tabs/tab-bar.vue2.js.map +1 -0
  664. package/lib/packages/components/tabs/tab-nav.vue2.js +2 -0
  665. package/lib/packages/components/tabs/tab-nav.vue2.js.map +1 -0
  666. package/lib/packages/components/tabs/tab-pane.vue2.js +2 -0
  667. package/lib/packages/components/tabs/tab-pane.vue2.js.map +1 -0
  668. package/lib/packages/components/tabs/tabs.vue2.js +2 -0
  669. package/lib/packages/components/tabs/tabs.vue2.js.map +1 -0
  670. package/lib/packages/components/tabs/types.js.map +1 -0
  671. package/lib/packages/components/tooltip/constants.js +2 -0
  672. package/lib/packages/components/tooltip/constants.js.map +1 -0
  673. package/lib/packages/components/tooltip/content.vue.js +2 -0
  674. package/lib/packages/components/tooltip/content.vue.js.map +1 -0
  675. package/lib/packages/components/tooltip/content.vue2.js +2 -0
  676. package/lib/packages/components/tooltip/content.vue2.js.map +1 -0
  677. package/lib/packages/components/tooltip/index.js +2 -0
  678. package/lib/packages/components/tooltip/index.js.map +1 -0
  679. package/lib/packages/components/tooltip/style/css.js +2 -0
  680. package/lib/packages/components/tooltip/style/css.js.map +1 -0
  681. package/lib/packages/components/tooltip/style/index.js +2 -0
  682. package/lib/packages/components/tooltip/style/index.js.map +1 -0
  683. package/lib/packages/components/tooltip/tooltip.vue.js +2 -0
  684. package/lib/packages/components/tooltip/tooltip.vue.js.map +1 -0
  685. package/lib/packages/components/tooltip/tooltip.vue2.js +2 -0
  686. package/lib/packages/components/tooltip/tooltip.vue2.js.map +1 -0
  687. package/lib/packages/components/tooltip/trigger.vue.js +2 -0
  688. package/lib/packages/components/tooltip/trigger.vue.js.map +1 -0
  689. package/lib/packages/components/tooltip/trigger.vue2.js +2 -0
  690. package/lib/packages/components/tooltip/trigger.vue2.js.map +1 -0
  691. package/lib/packages/components/tooltip/types.js +2 -0
  692. package/lib/packages/components/tooltip/types.js.map +1 -0
  693. package/lib/packages/components/tooltip/utils.js +2 -0
  694. package/lib/packages/components/tooltip/utils.js.map +1 -0
  695. package/lib/packages/components/types.js +2 -0
  696. package/lib/packages/components/types.js.map +1 -0
  697. package/lib/packages/constants/aria.js.map +1 -0
  698. package/lib/packages/constants/date.js.map +1 -0
  699. package/lib/packages/constants/event.js.map +1 -0
  700. package/lib/packages/constants/index.js.map +1 -0
  701. package/lib/packages/constants/key.js.map +1 -0
  702. package/lib/packages/constants/size.js.map +1 -0
  703. package/lib/packages/hooks/index.js +2 -0
  704. package/lib/packages/hooks/index.js.map +1 -0
  705. package/lib/packages/hooks/use-delayed-toggle/index.js +2 -0
  706. package/lib/packages/hooks/use-delayed-toggle/index.js.map +1 -0
  707. package/lib/packages/hooks/use-forward-ref/index.js +2 -0
  708. package/lib/packages/hooks/use-forward-ref/index.js.map +1 -0
  709. package/lib/packages/hooks/use-id/index.js +6 -0
  710. package/lib/packages/hooks/use-id/index.js.map +1 -0
  711. package/lib/packages/hooks/use-model-toggle/index.js +2 -0
  712. package/lib/packages/hooks/use-model-toggle/index.js.map +1 -0
  713. package/lib/packages/hooks/use-namespace/index.js +2 -0
  714. package/lib/packages/hooks/use-namespace/index.js.map +1 -0
  715. package/lib/packages/hooks/use-ordered-children/index.js.map +1 -0
  716. package/lib/packages/hooks/use-popper/index.js +2 -0
  717. package/lib/packages/hooks/use-popper/index.js.map +1 -0
  718. package/lib/packages/hooks/use-popper-container/index.js +2 -0
  719. package/lib/packages/hooks/use-popper-container/index.js.map +1 -0
  720. package/lib/packages/hooks/use-timeout/index.js +2 -0
  721. package/lib/packages/hooks/use-timeout/index.js.map +1 -0
  722. package/lib/packages/hooks/use-z-index/index.js +2 -0
  723. package/lib/packages/hooks/use-z-index/index.js.map +1 -0
  724. package/lib/packages/theme-style/src/collapse-transition.scss.js +2 -0
  725. package/lib/packages/theme-style/src/collapse-transition.scss.js.map +1 -0
  726. package/lib/packages/theme-style/src/menu-item-group.scss.js +2 -0
  727. package/lib/packages/theme-style/src/menu-item-group.scss.js.map +1 -0
  728. package/lib/packages/theme-style/src/menu-item.scss.js +2 -0
  729. package/lib/packages/theme-style/src/menu-item.scss.js.map +1 -0
  730. package/lib/packages/theme-style/src/menu.scss.js +2 -0
  731. package/lib/packages/theme-style/src/menu.scss.js.map +1 -0
  732. package/lib/packages/theme-style/src/multiple-tabs.scss.js +2 -0
  733. package/lib/packages/theme-style/src/multiple-tabs.scss.js.map +1 -0
  734. package/lib/packages/theme-style/src/popover.scss.js +2 -0
  735. package/lib/packages/theme-style/src/popover.scss.js.map +1 -0
  736. package/lib/packages/theme-style/src/popper.scss.js +2 -0
  737. package/lib/packages/theme-style/src/popper.scss.js.map +1 -0
  738. package/lib/packages/theme-style/src/sub-menu.scss.js +2 -0
  739. package/lib/packages/theme-style/src/sub-menu.scss.js.map +1 -0
  740. package/lib/packages/theme-style/src/tooltip.scss.js +2 -0
  741. package/lib/packages/theme-style/src/tooltip.scss.js.map +1 -0
  742. package/lib/packages/utils/error.js.map +1 -0
  743. package/lib/packages/utils/event.js +2 -0
  744. package/lib/packages/utils/event.js.map +1 -0
  745. package/lib/packages/utils/helper.js.map +1 -0
  746. package/lib/packages/utils/index.js +2 -0
  747. package/lib/packages/utils/index.js.map +1 -0
  748. package/lib/packages/utils/typescript.js +2 -0
  749. package/lib/packages/utils/typescript.js.map +1 -0
  750. package/lib/packages/utils/vue/index.js.map +1 -0
  751. package/lib/packages/utils/vue/install.js.map +1 -0
  752. package/lib/packages/utils/vue/vnode.js.map +1 -0
  753. package/lib/utils/event.d.ts +6 -0
  754. package/lib/utils/index.d.ts +2 -0
  755. package/lib/utils/typescript.d.ts +12 -0
  756. package/package.json +3 -1
  757. package/theme-style/index.css +1 -1
  758. package/theme-style/src/collapse-transition.scss +0 -0
  759. package/theme-style/src/common/var.scss +5 -0
  760. package/theme-style/src/context-menu.css +0 -0
  761. package/theme-style/src/index.scss +7 -0
  762. package/theme-style/src/menu-item-group.scss +0 -0
  763. package/theme-style/src/menu-item.scss +0 -0
  764. package/theme-style/src/menu.scss +341 -0
  765. package/theme-style/src/multiple-tabs.scss +19 -0
  766. package/theme-style/src/popover.scss +62 -0
  767. package/theme-style/src/popper.scss +108 -0
  768. package/theme-style/src/sub-menu.scss +0 -0
  769. package/theme-style/src/tooltip.scss +0 -0
  770. package/theme-style/vft-collapse-transition.css +0 -0
  771. package/theme-style/vft-menu-item-group.css +0 -0
  772. package/theme-style/vft-menu-item.css +0 -0
  773. package/theme-style/vft-menu.css +1 -0
  774. package/theme-style/vft-multiple-tabs.css +1 -0
  775. package/theme-style/vft-popover.css +1 -0
  776. package/theme-style/vft-popper.css +1 -0
  777. package/theme-style/vft-sub-menu.css +0 -0
  778. package/theme-style/vft-tooltip.css +0 -0
  779. package/es/components/avatar/avatar.vue2.mjs +0 -52
  780. package/es/components/avatar/avatar.vue2.mjs.map +0 -1
  781. package/es/components/avatar/index.mjs.map +0 -1
  782. package/es/components/back-top/back-top.vue2.mjs +0 -64
  783. package/es/components/back-top/back-top.vue2.mjs.map +0 -1
  784. package/es/components/back-top/index.mjs.map +0 -1
  785. package/es/components/back-top/use-back-top.mjs.map +0 -1
  786. package/es/components/divider/divider.vue2.mjs +0 -46
  787. package/es/components/divider/divider.vue2.mjs.map +0 -1
  788. package/es/components/divider/index.mjs.map +0 -1
  789. package/es/components/empty/assets/no-collect.png.mjs.map +0 -1
  790. package/es/components/empty/assets/no-data.png.mjs.map +0 -1
  791. package/es/components/empty/assets/no-filter.png.mjs.map +0 -1
  792. package/es/components/empty/assets/no-page-data.png.mjs.map +0 -1
  793. package/es/components/empty/assets/no-search.png.mjs.map +0 -1
  794. package/es/components/empty/constants.mjs.map +0 -1
  795. package/es/components/empty/empty.vue2.mjs +0 -98
  796. package/es/components/empty/empty.vue2.mjs.map +0 -1
  797. package/es/components/empty/index.mjs.map +0 -1
  798. package/es/components/exception/exception.png.mjs.map +0 -1
  799. package/es/components/exception/exception.vue2.mjs.map +0 -1
  800. package/es/components/exception/index.mjs.map +0 -1
  801. package/es/components/icon/icon.vue2.mjs +0 -38
  802. package/es/components/icon/icon.vue2.mjs.map +0 -1
  803. package/es/components/icon/index.mjs.map +0 -1
  804. package/es/components/index.mjs +0 -22
  805. package/es/components/index.mjs.map +0 -1
  806. package/es/components/result/index.mjs.map +0 -1
  807. package/es/components/result/result.vue2.mjs +0 -58
  808. package/es/components/result/result.vue2.mjs.map +0 -1
  809. package/es/components/tabs/index.mjs.map +0 -1
  810. package/es/components/tabs/tab-bar.vue2.mjs +0 -53
  811. package/es/components/tabs/tab-bar.vue2.mjs.map +0 -1
  812. package/es/components/tabs/tab-nav.vue2.mjs +0 -175
  813. package/es/components/tabs/tab-nav.vue2.mjs.map +0 -1
  814. package/es/components/tabs/tab-pane.vue2.mjs +0 -59
  815. package/es/components/tabs/tab-pane.vue2.mjs.map +0 -1
  816. package/es/components/tabs/tabs.vue2.mjs +0 -151
  817. package/es/components/tabs/tabs.vue2.mjs.map +0 -1
  818. package/es/components/tabs/types.mjs.map +0 -1
  819. package/es/constants/aria.mjs.map +0 -1
  820. package/es/constants/date.mjs.map +0 -1
  821. package/es/constants/event.mjs.map +0 -1
  822. package/es/constants/key.mjs.map +0 -1
  823. package/es/constants/size.mjs.map +0 -1
  824. package/es/hooks/index.mjs +0 -9
  825. package/es/hooks/use-namespace/index.mjs +0 -42
  826. package/es/hooks/use-namespace/index.mjs.map +0 -1
  827. package/es/hooks/use-ordered-children/index.mjs.map +0 -1
  828. package/es/utils/error.mjs.map +0 -1
  829. package/es/utils/helper.mjs.map +0 -1
  830. package/es/utils/index.mjs +0 -26
  831. package/es/utils/index.mjs.map +0 -1
  832. package/es/utils/vue/install.mjs.map +0 -1
  833. package/es/utils/vue/vnode.mjs.map +0 -1
  834. package/lib/components/avatar/avatar.vue2.js +0 -2
  835. package/lib/components/avatar/avatar.vue2.js.map +0 -1
  836. package/lib/components/avatar/index.js.map +0 -1
  837. package/lib/components/back-top/back-top.vue2.js +0 -2
  838. package/lib/components/back-top/back-top.vue2.js.map +0 -1
  839. package/lib/components/back-top/index.js.map +0 -1
  840. package/lib/components/back-top/use-back-top.js.map +0 -1
  841. package/lib/components/divider/divider.vue2.js +0 -2
  842. package/lib/components/divider/divider.vue2.js.map +0 -1
  843. package/lib/components/divider/index.js.map +0 -1
  844. package/lib/components/empty/assets/no-collect.png.js.map +0 -1
  845. package/lib/components/empty/assets/no-data.png.js.map +0 -1
  846. package/lib/components/empty/assets/no-filter.png.js.map +0 -1
  847. package/lib/components/empty/assets/no-page-data.png.js.map +0 -1
  848. package/lib/components/empty/assets/no-search.png.js.map +0 -1
  849. package/lib/components/empty/constants.js.map +0 -1
  850. package/lib/components/empty/empty.vue2.js +0 -2
  851. package/lib/components/empty/empty.vue2.js.map +0 -1
  852. package/lib/components/empty/index.js.map +0 -1
  853. package/lib/components/exception/exception.png.js.map +0 -1
  854. package/lib/components/exception/exception.vue2.js.map +0 -1
  855. package/lib/components/exception/index.js.map +0 -1
  856. package/lib/components/icon/icon.vue2.js +0 -2
  857. package/lib/components/icon/icon.vue2.js.map +0 -1
  858. package/lib/components/icon/index.js.map +0 -1
  859. package/lib/components/index.js +0 -2
  860. package/lib/components/result/index.js.map +0 -1
  861. package/lib/components/result/result.vue2.js +0 -2
  862. package/lib/components/result/result.vue2.js.map +0 -1
  863. package/lib/components/tabs/index.js.map +0 -1
  864. package/lib/components/tabs/tab-bar.vue2.js +0 -2
  865. package/lib/components/tabs/tab-bar.vue2.js.map +0 -1
  866. package/lib/components/tabs/tab-nav.vue2.js +0 -2
  867. package/lib/components/tabs/tab-nav.vue2.js.map +0 -1
  868. package/lib/components/tabs/tab-pane.vue2.js +0 -2
  869. package/lib/components/tabs/tab-pane.vue2.js.map +0 -1
  870. package/lib/components/tabs/tabs.vue2.js +0 -2
  871. package/lib/components/tabs/tabs.vue2.js.map +0 -1
  872. package/lib/components/tabs/types.js.map +0 -1
  873. package/lib/constants/aria.js.map +0 -1
  874. package/lib/constants/date.js.map +0 -1
  875. package/lib/constants/event.js.map +0 -1
  876. package/lib/constants/key.js.map +0 -1
  877. package/lib/constants/size.js.map +0 -1
  878. package/lib/hooks/index.js +0 -2
  879. package/lib/hooks/use-namespace/index.js +0 -2
  880. package/lib/hooks/use-namespace/index.js.map +0 -1
  881. package/lib/hooks/use-ordered-children/index.js.map +0 -1
  882. package/lib/utils/error.js.map +0 -1
  883. package/lib/utils/helper.js.map +0 -1
  884. package/lib/utils/index.js +0 -2
  885. package/lib/utils/vue/install.js.map +0 -1
  886. package/lib/utils/vue/vnode.js.map +0 -1
  887. /package/es/{components → packages/components}/avatar/avatar.vue.mjs +0 -0
  888. /package/es/{components → packages/components}/avatar/avatar.vue.mjs.map +0 -0
  889. /package/es/{components → packages/components}/avatar/index.mjs +0 -0
  890. /package/es/{components → packages/components}/avatar/style/css.mjs +0 -0
  891. /package/es/{components → packages/components}/avatar/style/css.mjs.map +0 -0
  892. /package/es/{components → packages/components}/avatar/style/index.mjs +0 -0
  893. /package/es/{components → packages/components}/avatar/style/index.mjs.map +0 -0
  894. /package/es/{components → packages/components}/back-top/back-top.vue.mjs +0 -0
  895. /package/es/{components → packages/components}/back-top/back-top.vue.mjs.map +0 -0
  896. /package/es/{components → packages/components}/back-top/index.mjs +0 -0
  897. /package/es/{components → packages/components}/back-top/style/css.mjs +0 -0
  898. /package/es/{components → packages/components}/back-top/style/css.mjs.map +0 -0
  899. /package/es/{components → packages/components}/back-top/style/index.mjs +0 -0
  900. /package/es/{components → packages/components}/back-top/style/index.mjs.map +0 -0
  901. /package/es/{components → packages/components}/back-top/types.mjs +0 -0
  902. /package/es/{components → packages/components}/back-top/types.mjs.map +0 -0
  903. /package/es/{components → packages/components}/back-top/use-back-top.mjs +0 -0
  904. /package/es/{components → packages/components}/base/style/css.mjs +0 -0
  905. /package/es/{components → packages/components}/base/style/css.mjs.map +0 -0
  906. /package/es/{components → packages/components}/base/style/index.mjs +0 -0
  907. /package/es/{components → packages/components}/base/style/index.mjs.map +0 -0
  908. /package/es/{components/divider → packages/components/collapse-transition}/style/css.mjs.map +0 -0
  909. /package/es/{components/divider → packages/components/collapse-transition}/style/index.mjs.map +0 -0
  910. /package/es/{components/empty/style → packages/components/context-menu}/index.mjs.map +0 -0
  911. /package/es/{components/empty → packages/components/context-menu}/style/css.mjs.map +0 -0
  912. /package/es/{components/exception → packages/components/context-menu}/style/index.mjs.map +0 -0
  913. /package/es/{components/divider → packages/components/context-menu}/types.mjs +0 -0
  914. /package/es/{components/divider → packages/components/context-menu}/types.mjs.map +0 -0
  915. /package/es/{components → packages/components}/divider/divider.vue.mjs +0 -0
  916. /package/es/{components → packages/components}/divider/divider.vue.mjs.map +0 -0
  917. /package/es/{components → packages/components}/divider/index.mjs +0 -0
  918. /package/es/{components → packages/components}/divider/style/css.mjs +0 -0
  919. /package/es/{components/exception → packages/components/divider}/style/css.mjs.map +0 -0
  920. /package/es/{components → packages/components}/divider/style/index.mjs +0 -0
  921. /package/es/{components/icon → packages/components/divider}/style/index.mjs.map +0 -0
  922. /package/es/{components → packages/components/divider}/types.mjs +0 -0
  923. /package/es/{components → packages/components/divider}/types.mjs.map +0 -0
  924. /package/es/{components → packages/components}/empty/assets/no-collect.png.mjs +0 -0
  925. /package/es/{components → packages/components}/empty/assets/no-data.png.mjs +0 -0
  926. /package/es/{components → packages/components}/empty/assets/no-filter.png.mjs +0 -0
  927. /package/es/{components → packages/components}/empty/assets/no-page-data.png.mjs +0 -0
  928. /package/es/{components → packages/components}/empty/assets/no-search.png.mjs +0 -0
  929. /package/es/{components → packages/components}/empty/constants.mjs +0 -0
  930. /package/es/{components → packages/components}/empty/empty.vue.mjs +0 -0
  931. /package/es/{components → packages/components}/empty/empty.vue.mjs.map +0 -0
  932. /package/es/{components → packages/components}/empty/index.mjs +0 -0
  933. /package/es/{components → packages/components}/empty/style/css.mjs +0 -0
  934. /package/es/{components/icon → packages/components/empty}/style/css.mjs.map +0 -0
  935. /package/es/{components → packages/components}/empty/style/index.mjs +0 -0
  936. /package/es/{components/result → packages/components/empty}/style/index.mjs.map +0 -0
  937. /package/es/{components → packages/components}/exception/exception.png.mjs +0 -0
  938. /package/es/{components → packages/components}/exception/exception.vue.mjs +0 -0
  939. /package/es/{components → packages/components}/exception/exception.vue.mjs.map +0 -0
  940. /package/es/{components → packages/components}/exception/exception.vue2.mjs +0 -0
  941. /package/es/{components → packages/components}/exception/index.mjs +0 -0
  942. /package/es/{components → packages/components}/exception/style/css.mjs +0 -0
  943. /package/es/{components/result → packages/components/exception}/style/css.mjs.map +0 -0
  944. /package/es/{components → packages/components}/exception/style/index.mjs +0 -0
  945. /package/es/{components/tab-pane → packages/components/exception}/style/index.mjs.map +0 -0
  946. /package/es/{components → packages/components}/icon/icon.vue.mjs +0 -0
  947. /package/es/{components → packages/components}/icon/icon.vue.mjs.map +0 -0
  948. /package/es/{components → packages/components}/icon/index.mjs +0 -0
  949. /package/es/{components → packages/components}/icon/style/css.mjs +0 -0
  950. /package/es/{components/tab-pane → packages/components/icon}/style/css.mjs.map +0 -0
  951. /package/es/{components → packages/components}/icon/style/index.mjs +0 -0
  952. /package/es/{components/tabs → packages/components/icon}/style/index.mjs.map +0 -0
  953. /package/es/{utils/vue → packages/components/menu-item/style}/index.mjs.map +0 -0
  954. /package/es/{components/tabs → packages/components/menu-item-group}/style/css.mjs.map +0 -0
  955. /package/es/{hooks → packages/components/menu-item-group/style}/index.mjs.map +0 -0
  956. /package/es/{components → packages/components}/result/index.mjs +0 -0
  957. /package/es/{components → packages/components}/result/result.vue.mjs +0 -0
  958. /package/es/{components → packages/components}/result/result.vue.mjs.map +0 -0
  959. /package/es/{components → packages/components}/result/style/css.mjs +0 -0
  960. /package/es/{components → packages/components}/result/style/index.mjs +0 -0
  961. /package/es/{components → packages/components}/tab-pane/style/css.mjs +0 -0
  962. /package/es/{components → packages/components}/tab-pane/style/index.mjs +0 -0
  963. /package/es/{components → packages/components}/tabs/index.mjs +0 -0
  964. /package/es/{components → packages/components}/tabs/style/css.mjs +0 -0
  965. /package/es/{components → packages/components}/tabs/style/index.mjs +0 -0
  966. /package/es/{components → packages/components}/tabs/tab-bar.vue.mjs +0 -0
  967. /package/es/{components → packages/components}/tabs/tab-bar.vue.mjs.map +0 -0
  968. /package/es/{components → packages/components}/tabs/tab-nav.vue.mjs +0 -0
  969. /package/es/{components → packages/components}/tabs/tab-nav.vue.mjs.map +0 -0
  970. /package/es/{components → packages/components}/tabs/tab-pane.vue.mjs +0 -0
  971. /package/es/{components → packages/components}/tabs/tab-pane.vue.mjs.map +0 -0
  972. /package/es/{components → packages/components}/tabs/tabs.vue.mjs +0 -0
  973. /package/es/{components → packages/components}/tabs/tabs.vue.mjs.map +0 -0
  974. /package/es/{components → packages/components}/tabs/types.mjs +0 -0
  975. /package/es/{constants → packages/constants}/aria.mjs +0 -0
  976. /package/es/{constants → packages/constants}/date.mjs +0 -0
  977. /package/es/{constants → packages/constants}/event.mjs +0 -0
  978. /package/es/{constants → packages/constants}/index.mjs +0 -0
  979. /package/es/{constants → packages/constants}/index.mjs.map +0 -0
  980. /package/es/{constants → packages/constants}/key.mjs +0 -0
  981. /package/es/{constants → packages/constants}/size.mjs +0 -0
  982. /package/es/{hooks → packages/hooks}/use-ordered-children/index.mjs +0 -0
  983. /package/es/{theme-style → packages/theme-style}/src/avatar.scss.mjs +0 -0
  984. /package/es/{theme-style → packages/theme-style}/src/avatar.scss.mjs.map +0 -0
  985. /package/es/{theme-style → packages/theme-style}/src/back-top.scss.mjs +0 -0
  986. /package/es/{theme-style → packages/theme-style}/src/back-top.scss.mjs.map +0 -0
  987. /package/es/{theme-style → packages/theme-style}/src/base.scss.mjs +0 -0
  988. /package/es/{theme-style → packages/theme-style}/src/base.scss.mjs.map +0 -0
  989. /package/es/{theme-style → packages/theme-style}/src/divider.scss.mjs +0 -0
  990. /package/es/{theme-style → packages/theme-style}/src/divider.scss.mjs.map +0 -0
  991. /package/es/{theme-style → packages/theme-style}/src/empty.scss.mjs +0 -0
  992. /package/es/{theme-style → packages/theme-style}/src/empty.scss.mjs.map +0 -0
  993. /package/es/{theme-style → packages/theme-style}/src/icon.scss.mjs +0 -0
  994. /package/es/{theme-style → packages/theme-style}/src/icon.scss.mjs.map +0 -0
  995. /package/es/{theme-style → packages/theme-style}/src/result.scss.mjs +0 -0
  996. /package/es/{theme-style → packages/theme-style}/src/result.scss.mjs.map +0 -0
  997. /package/es/{theme-style → packages/theme-style}/src/tab-pane.scss.mjs +0 -0
  998. /package/es/{theme-style → packages/theme-style}/src/tab-pane.scss.mjs.map +0 -0
  999. /package/es/{theme-style → packages/theme-style}/src/tabs.scss.mjs +0 -0
  1000. /package/es/{theme-style → packages/theme-style}/src/tabs.scss.mjs.map +0 -0
  1001. /package/es/{utils → packages/utils}/error.mjs +0 -0
  1002. /package/es/{utils → packages/utils}/helper.mjs +0 -0
  1003. /package/es/{utils → packages/utils}/vue/index.mjs +0 -0
  1004. /package/es/{utils → packages/utils}/vue/install.mjs +0 -0
  1005. /package/es/{utils → packages/utils}/vue/typescript.mjs +0 -0
  1006. /package/es/{utils → packages/utils}/vue/typescript.mjs.map +0 -0
  1007. /package/es/{utils → packages/utils}/vue/vnode.mjs +0 -0
  1008. /package/lib/{components → packages/components}/avatar/avatar.vue.js +0 -0
  1009. /package/lib/{components → packages/components}/avatar/avatar.vue.js.map +0 -0
  1010. /package/lib/{components → packages/components}/avatar/index.js +0 -0
  1011. /package/lib/{components → packages/components}/avatar/style/css.js +0 -0
  1012. /package/lib/{components → packages/components}/avatar/style/css.js.map +0 -0
  1013. /package/lib/{components → packages/components}/avatar/style/index.js +0 -0
  1014. /package/lib/{components → packages/components}/avatar/style/index.js.map +0 -0
  1015. /package/lib/{components → packages/components}/back-top/back-top.vue.js +0 -0
  1016. /package/lib/{components → packages/components}/back-top/back-top.vue.js.map +0 -0
  1017. /package/lib/{components → packages/components}/back-top/index.js +0 -0
  1018. /package/lib/{components → packages/components}/back-top/style/css.js +0 -0
  1019. /package/lib/{components → packages/components}/back-top/style/css.js.map +0 -0
  1020. /package/lib/{components → packages/components}/back-top/style/index.js +0 -0
  1021. /package/lib/{components → packages/components}/back-top/style/index.js.map +0 -0
  1022. /package/lib/{components → packages/components}/back-top/types.js +0 -0
  1023. /package/lib/{components → packages/components}/back-top/types.js.map +0 -0
  1024. /package/lib/{components → packages/components}/back-top/use-back-top.js +0 -0
  1025. /package/lib/{components → packages/components}/base/style/css.js +0 -0
  1026. /package/lib/{components → packages/components}/base/style/css.js.map +0 -0
  1027. /package/lib/{components → packages/components}/base/style/index.js +0 -0
  1028. /package/lib/{components → packages/components}/base/style/index.js.map +0 -0
  1029. /package/lib/{components/divider → packages/components/collapse-transition}/style/css.js.map +0 -0
  1030. /package/lib/{components/divider → packages/components/collapse-transition}/style/index.js.map +0 -0
  1031. /package/lib/{components/empty/style → packages/components/context-menu}/index.js.map +0 -0
  1032. /package/lib/{components/empty → packages/components/context-menu}/style/css.js.map +0 -0
  1033. /package/lib/{components/exception → packages/components/context-menu}/style/index.js.map +0 -0
  1034. /package/lib/{components/divider → packages/components/context-menu}/types.js +0 -0
  1035. /package/lib/{components/divider → packages/components/context-menu}/types.js.map +0 -0
  1036. /package/lib/{components → packages/components}/divider/divider.vue.js +0 -0
  1037. /package/lib/{components → packages/components}/divider/divider.vue.js.map +0 -0
  1038. /package/lib/{components → packages/components}/divider/index.js +0 -0
  1039. /package/lib/{components → packages/components}/divider/style/css.js +0 -0
  1040. /package/lib/{components/exception → packages/components/divider}/style/css.js.map +0 -0
  1041. /package/lib/{components → packages/components}/divider/style/index.js +0 -0
  1042. /package/lib/{components/icon → packages/components/divider}/style/index.js.map +0 -0
  1043. /package/lib/{components → packages/components/divider}/types.js +0 -0
  1044. /package/lib/{components → packages/components/divider}/types.js.map +0 -0
  1045. /package/lib/{components → packages/components}/empty/assets/no-collect.png.js +0 -0
  1046. /package/lib/{components → packages/components}/empty/assets/no-data.png.js +0 -0
  1047. /package/lib/{components → packages/components}/empty/assets/no-filter.png.js +0 -0
  1048. /package/lib/{components → packages/components}/empty/assets/no-page-data.png.js +0 -0
  1049. /package/lib/{components → packages/components}/empty/assets/no-search.png.js +0 -0
  1050. /package/lib/{components → packages/components}/empty/constants.js +0 -0
  1051. /package/lib/{components → packages/components}/empty/empty.vue.js +0 -0
  1052. /package/lib/{components → packages/components}/empty/empty.vue.js.map +0 -0
  1053. /package/lib/{components → packages/components}/empty/index.js +0 -0
  1054. /package/lib/{components → packages/components}/empty/style/css.js +0 -0
  1055. /package/lib/{components/icon → packages/components/empty}/style/css.js.map +0 -0
  1056. /package/lib/{components → packages/components}/empty/style/index.js +0 -0
  1057. /package/lib/{components → packages/components/empty/style}/index.js.map +0 -0
  1058. /package/lib/{components → packages/components}/exception/exception.png.js +0 -0
  1059. /package/lib/{components → packages/components}/exception/exception.vue.js +0 -0
  1060. /package/lib/{components → packages/components}/exception/exception.vue.js.map +0 -0
  1061. /package/lib/{components → packages/components}/exception/exception.vue2.js +0 -0
  1062. /package/lib/{components → packages/components}/exception/index.js +0 -0
  1063. /package/lib/{components → packages/components}/exception/style/css.js +0 -0
  1064. /package/lib/{components/result → packages/components/exception}/style/css.js.map +0 -0
  1065. /package/lib/{components → packages/components}/exception/style/index.js +0 -0
  1066. /package/lib/{components/result → packages/components/exception}/style/index.js.map +0 -0
  1067. /package/lib/{components/tab-pane/style → packages/components/focus-trap}/index.js.map +0 -0
  1068. /package/lib/{components → packages/components}/icon/icon.vue.js +0 -0
  1069. /package/lib/{components → packages/components}/icon/icon.vue.js.map +0 -0
  1070. /package/lib/{components → packages/components}/icon/index.js +0 -0
  1071. /package/lib/{components → packages/components}/icon/style/css.js +0 -0
  1072. /package/lib/{components/tab-pane → packages/components/icon}/style/css.js.map +0 -0
  1073. /package/lib/{components → packages/components}/icon/style/index.js +0 -0
  1074. /package/lib/{components/tabs → packages/components/icon}/style/index.js.map +0 -0
  1075. /package/lib/{constants → packages/components}/index.js.map +0 -0
  1076. /package/lib/{utils/vue → packages/components/menu/style}/index.js.map +0 -0
  1077. /package/lib/{utils → packages/components/menu-item/style}/index.js.map +0 -0
  1078. /package/lib/{components/tabs → packages/components/menu-item-group}/style/css.js.map +0 -0
  1079. /package/lib/{hooks → packages/components/menu-item-group/style}/index.js.map +0 -0
  1080. /package/lib/{components → packages/components}/result/index.js +0 -0
  1081. /package/lib/{components → packages/components}/result/result.vue.js +0 -0
  1082. /package/lib/{components → packages/components}/result/result.vue.js.map +0 -0
  1083. /package/lib/{components → packages/components}/result/style/css.js +0 -0
  1084. /package/lib/{components → packages/components}/result/style/index.js +0 -0
  1085. /package/lib/{components → packages/components}/tab-pane/style/css.js +0 -0
  1086. /package/lib/{components → packages/components}/tab-pane/style/index.js +0 -0
  1087. /package/lib/{components → packages/components}/tabs/index.js +0 -0
  1088. /package/lib/{components → packages/components}/tabs/style/css.js +0 -0
  1089. /package/lib/{components → packages/components}/tabs/style/index.js +0 -0
  1090. /package/lib/{components → packages/components}/tabs/tab-bar.vue.js +0 -0
  1091. /package/lib/{components → packages/components}/tabs/tab-bar.vue.js.map +0 -0
  1092. /package/lib/{components → packages/components}/tabs/tab-nav.vue.js +0 -0
  1093. /package/lib/{components → packages/components}/tabs/tab-nav.vue.js.map +0 -0
  1094. /package/lib/{components → packages/components}/tabs/tab-pane.vue.js +0 -0
  1095. /package/lib/{components → packages/components}/tabs/tab-pane.vue.js.map +0 -0
  1096. /package/lib/{components → packages/components}/tabs/tabs.vue.js +0 -0
  1097. /package/lib/{components → packages/components}/tabs/tabs.vue.js.map +0 -0
  1098. /package/lib/{components → packages/components}/tabs/types.js +0 -0
  1099. /package/lib/{constants → packages/constants}/aria.js +0 -0
  1100. /package/lib/{constants → packages/constants}/date.js +0 -0
  1101. /package/lib/{constants → packages/constants}/event.js +0 -0
  1102. /package/lib/{constants → packages/constants}/index.js +0 -0
  1103. /package/lib/{constants → packages/constants}/key.js +0 -0
  1104. /package/lib/{constants → packages/constants}/size.js +0 -0
  1105. /package/lib/{hooks → packages/hooks}/use-ordered-children/index.js +0 -0
  1106. /package/lib/{theme-style → packages/theme-style}/src/avatar.scss.js +0 -0
  1107. /package/lib/{theme-style → packages/theme-style}/src/avatar.scss.js.map +0 -0
  1108. /package/lib/{theme-style → packages/theme-style}/src/back-top.scss.js +0 -0
  1109. /package/lib/{theme-style → packages/theme-style}/src/back-top.scss.js.map +0 -0
  1110. /package/lib/{theme-style → packages/theme-style}/src/base.scss.js +0 -0
  1111. /package/lib/{theme-style → packages/theme-style}/src/base.scss.js.map +0 -0
  1112. /package/lib/{theme-style → packages/theme-style}/src/divider.scss.js +0 -0
  1113. /package/lib/{theme-style → packages/theme-style}/src/divider.scss.js.map +0 -0
  1114. /package/lib/{theme-style → packages/theme-style}/src/empty.scss.js +0 -0
  1115. /package/lib/{theme-style → packages/theme-style}/src/empty.scss.js.map +0 -0
  1116. /package/lib/{theme-style → packages/theme-style}/src/icon.scss.js +0 -0
  1117. /package/lib/{theme-style → packages/theme-style}/src/icon.scss.js.map +0 -0
  1118. /package/lib/{theme-style → packages/theme-style}/src/result.scss.js +0 -0
  1119. /package/lib/{theme-style → packages/theme-style}/src/result.scss.js.map +0 -0
  1120. /package/lib/{theme-style → packages/theme-style}/src/tab-pane.scss.js +0 -0
  1121. /package/lib/{theme-style → packages/theme-style}/src/tab-pane.scss.js.map +0 -0
  1122. /package/lib/{theme-style → packages/theme-style}/src/tabs.scss.js +0 -0
  1123. /package/lib/{theme-style → packages/theme-style}/src/tabs.scss.js.map +0 -0
  1124. /package/lib/{utils → packages/utils}/error.js +0 -0
  1125. /package/lib/{utils → packages/utils}/helper.js +0 -0
  1126. /package/lib/{utils → packages/utils}/vue/index.js +0 -0
  1127. /package/lib/{utils → packages/utils}/vue/install.js +0 -0
  1128. /package/lib/{utils → packages/utils}/vue/typescript.js +0 -0
  1129. /package/lib/{utils → packages/utils}/vue/typescript.js.map +0 -0
  1130. /package/lib/{utils → packages/utils}/vue/vnode.js +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./divider/index.js"),u=require("./icon/index.js"),i=require("./avatar/index.js"),s=require("./empty/index.js"),f=require("./result/index.js"),a=require("./exception/index.js"),t=require("./tabs/index.js"),p=require("./popper/index.js"),c=require("./collapse-transition/index.js"),V=require("./tooltip/index.js"),x=require("./popover/index.js"),e=require("./menu/index.js"),n=require("./context-menu/createContextMenu.js"),d=require("./context-menu/useContextMenu.js"),l=require("./multiple-tabs/index.js"),q=require("./empty/constants.js"),T=require("./tabs/types.js"),b=require("./popper/arrow.vue2.js"),_=require("./popper/trigger.vue2.js"),M=require("./popper/content.vue2.js"),y=require("./multiple-tabs/use/use-tab-dropdown.js"),r=require("./multiple-tabs/use/use-multiple-tabs.js");exports.VftDivider=o.VftDivider;exports.VftIcon=u.VftIcon;exports.VftAvatar=i.VftAvatar;exports.VftEmpty=s.VftEmpty;exports.VftResult=f.VftResult;exports.VftException=a.VftException;exports.VftTabPane=t.VftTabPane;exports.VftTabs=t.VftTabs;exports.VftPopper=p.VftPopper;exports.VftCollapseTransition=c.VftCollapseTransition;exports.VftTooltip=V.VftTooltip;exports.VftPopover=x.VftPopover;exports.VftMenu=e.VftMenu;exports.VftMenuItem=e.VftMenuItem;exports.VftMenuItemGroup=e.VftMenuItemGroup;exports.VftSubMenu=e.VftSubMenu;exports.createContextMenu=n.createContextMenu;exports.destroyContextMenu=n.destroyContextMenu;exports.useContextMenu=d.useContextMenu;exports.VftMultipleTabs=l.VftMultipleTabs;exports.EmptyEnum=q.EmptyEnum;exports.TabsRootContextKey=T.TabsRootContextKey;exports.VftPopperArrow=b.default;exports.VftPopperTrigger=_.default;exports.VftPopperContent=M.default;exports.useTabDropdown=y.useTabDropdown;exports.initAffixTabs=r.initAffixTabs;exports.useTabsDrag=r.useTabsDrag;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../utils/vue/install.js");require("vue");require("@vue/shared");require("@vft/utils");const _=require("./menu.vue2.js"),t=require("./menu-item.vue2.js"),u=require("./menu-item-group.vue2.js"),n=require("./sub-menu.vue2.js"),r=e.withInstall(_.default,{MenuItem:t.default,MenuItemGroup:u.default,SubMenu:n.default}),l=e.withNoopInstall(t.default),s=e.withNoopInstall(u.default),o=e.withNoopInstall(n.default);exports.VftMenu=r;exports.VftMenuItem=l;exports.VftMenuItemGroup=s;exports.VftSubMenu=o;exports.default=r;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/menu/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@vft-ui/utils'\n\nimport Menu from './menu.vue'\nimport MenuItem from './menu-item.vue'\nimport MenuItemGroup from './menu-item-group.vue'\nimport SubMenu from './sub-menu.vue'\n\nexport const VftMenu = withInstall(Menu, {\n\tMenuItem,\n\tMenuItemGroup,\n\tSubMenu,\n})\nexport default VftMenu\nexport const VftMenuItem = withNoopInstall(MenuItem)\nexport const VftMenuItemGroup = withNoopInstall(MenuItemGroup)\nexport const VftSubMenu = withNoopInstall(SubMenu)\n\nexport * from './types'\n"],"names":["VftMenu","withInstall","Menu","MenuItem","MenuItemGroup","SubMenu","VftMenuItem","withNoopInstall","VftMenuItemGroup","VftSubMenu"],"mappings":"gWAOaA,EAAUC,cAAYC,UAAM,CAAA,SACxCC,EAAA,QAAA,cACAC,EAAA,QAAA,QACAC,EAAA,OACD,CAAC,EAEYC,EAAcC,kBAAgBJ,SAAQ,EACtCK,EAAmBD,kBAAgBH,SAAa,EAChDK,EAAaF,kBAAgBF,EAAO,OAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./menu-collapse-transition.vue2.js"),e=require("vue"),o=require("../../../_virtual/_plugin-vue_export-helper.js");function n(t,s,l,i,a,p){return e.openBlock(),e.createBlock(e.Transition,e.mergeProps({mode:"out-in"},t.listeners),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)}const u=o.default(r.default,[["render",n]]);exports.default=u;
2
+ //# sourceMappingURL=menu-collapse-transition.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-collapse-transition.vue.js","sources":["../../../../../../packages/components/menu/menu-collapse-transition.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { addClass, hasClass, removeClass } from '@vft/utils';\n\nimport type { BaseTransitionProps, TransitionProps } from 'vue';\n\nexport default defineComponent({\n setup() {\n const ns = useNamespace('menu');\n const listeners = {\n onBeforeEnter: (el) => (el.style.opacity = '0.2'),\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '1';\n done();\n },\n\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '';\n },\n\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;(el as any).dataset = {};\n }\n\n if (hasClass(el, ns.m('collapse'))) {\n removeClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m('collapse'));\n } else {\n addClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m('collapse'));\n }\n\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = 'hidden';\n },\n\n onLeave(el: HTMLElement) {\n addClass(el, 'horizontal-collapse-transition');\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n } as BaseTransitionProps<HTMLElement> as TransitionProps;\n\n return {\n listeners\n };\n }\n});\n</script>\n\n<template>\n <transition mode=\"out-in\" v-bind=\"listeners\">\n <slot />\n </transition>\n</template>\n"],"names":["_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_Transition","_mergeProps","_withCtx"],"mappings":"+OA2DY,SAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,QAARC,YAAQ,EAAAC,cAAAC,EAAAA,WAAAC,EAAA,WAAA,CAAA,KAAA,QAAA,EAAAT,EAAA,SAAA,EAAA,CAAA,QAAAU,EAAA,QAAA,IAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),r=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");require("@vueuse/core");require("@vue/shared");const t=require("@vft/utils"),i=o.defineComponent({setup(){const s=r.useNamespace("menu");return{listeners:{onBeforeEnter:e=>e.style.opacity="0.2",onEnter(e,a){t.addClass(e,`${s.namespace.value}-opacity-transition`),e.style.opacity="1",a()},onAfterEnter(e){t.removeClass(e,`${s.namespace.value}-opacity-transition`),e.style.opacity=""},onBeforeLeave(e){e.dataset||(e.dataset={}),t.hasClass(e,s.m("collapse"))?(t.removeClass(e,s.m("collapse")),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),t.addClass(e,s.m("collapse"))):(t.addClass(e,s.m("collapse")),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),t.removeClass(e,s.m("collapse"))),e.style.width=`${e.scrollWidth}px`,e.style.overflow="hidden"},onLeave(e){t.addClass(e,"horizontal-collapse-transition"),e.style.width=`${e.dataset.scrollWidth}px`}}}}});exports.default=i;
2
+ //# sourceMappingURL=menu-collapse-transition.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-collapse-transition.vue2.js","sources":["../../../../../../packages/components/menu/menu-collapse-transition.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { addClass, hasClass, removeClass } from '@vft/utils';\n\nimport type { BaseTransitionProps, TransitionProps } from 'vue';\n\nexport default defineComponent({\n setup() {\n const ns = useNamespace('menu');\n const listeners = {\n onBeforeEnter: (el) => (el.style.opacity = '0.2'),\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '1';\n done();\n },\n\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '';\n },\n\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;(el as any).dataset = {};\n }\n\n if (hasClass(el, ns.m('collapse'))) {\n removeClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m('collapse'));\n } else {\n addClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m('collapse'));\n }\n\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = 'hidden';\n },\n\n onLeave(el: HTMLElement) {\n addClass(el, 'horizontal-collapse-transition');\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n } as BaseTransitionProps<HTMLElement> as TransitionProps;\n\n return {\n listeners\n };\n }\n});\n</script>\n\n<template>\n <transition mode=\"out-in\" v-bind=\"listeners\">\n <slot />\n </transition>\n</template>\n"],"names":["_sfc_main","defineComponent","ns","useNamespace","el","done","addClass","removeClass","hasClass"],"mappings":"wVAOAA,EAAeC,kBAAgB,CAC7B,OAAQ,CACA,MAAAC,EAAKC,eAAa,MAAM,EAyCvB,MAAA,CACL,UAzCgB,CAChB,cAAgBC,GAAQA,EAAG,MAAM,QAAU,MAC3C,QAAQA,EAAIC,EAAM,CAChBC,EAAA,SAASF,EAAI,GAAGF,EAAG,UAAU,0BAA0B,EACvDE,EAAG,MAAM,QAAU,IACdC,GACP,EAEA,aAAaD,EAAI,CACfG,EAAA,YAAYH,EAAI,GAAGF,EAAG,UAAU,0BAA0B,EAC1DE,EAAG,MAAM,QAAU,EACrB,EAEA,cAAcA,EAAI,CACXA,EAAG,UACJA,EAAW,QAAU,IAGrBI,EAAAA,SAASJ,EAAIF,EAAG,EAAE,UAAU,CAAC,GAC/BK,EAAAA,YAAYH,EAAIF,EAAG,EAAE,UAAU,CAAC,EAC7BE,EAAA,QAAQ,YAAcA,EAAG,MAAM,SAClCA,EAAG,QAAQ,YAAcA,EAAG,YAAY,SAAS,EACjDE,EAAAA,SAASF,EAAIF,EAAG,EAAE,UAAU,CAAC,IAE7BI,EAAAA,SAASF,EAAIF,EAAG,EAAE,UAAU,CAAC,EAC1BE,EAAA,QAAQ,YAAcA,EAAG,MAAM,SAClCA,EAAG,QAAQ,YAAcA,EAAG,YAAY,SAAS,EACjDG,EAAAA,YAAYH,EAAIF,EAAG,EAAE,UAAU,CAAC,GAG/BE,EAAA,MAAM,MAAQ,GAAGA,EAAG,gBACvBA,EAAG,MAAM,SAAW,QACtB,EAEA,QAAQA,EAAiB,CACvBE,WAASF,EAAI,gCAAgC,EAC7CA,EAAG,MAAM,MAAQ,GAAGA,EAAG,QAAQ,eACjC,CAAA,CAIA,CAEJ,CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./menu-item-group.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=menu-item-group.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item-group.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=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");const r=n.useNamespace("menu-item-group"),o=e.defineComponent({name:r.b()}),s=e.defineComponent({...o,props:{title:null},setup(l){return(t,u)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(e.unref(r).b())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(r).e("title"))},[t.$slots.title?e.renderSlot(t.$slots,"title",{key:1}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(l.title),1)],64))],2),e.createElementVNode("ul",null,[e.renderSlot(t.$slots,"default")])],2))}});exports.default=s;
2
+ //# sourceMappingURL=menu-item-group.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item-group.vue2.js","sources":["../../../../../../packages/components/menu/menu-item-group.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu-item-group')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<template>\n <li :class=\"ns.b()\">\n <div :class=\"ns.e('title')\">\n <template v-if=\"!$slots.title\">{{ title }}</template>\n <slot v-else name=\"title\" />\n </div>\n <ul>\n <slot />\n </ul>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@vft-ui/hooks';\n\ninterface Props {\n\ttitle?: string\n}\n\ndefineProps({\n \"title\": null\n});\n\n\n\n;\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent"],"mappings":"gVACA,MAAMA,EAAuBC,EAAAA,aAAa,iBAAiB,EAG3DC,EAA6BC,EAAAA,gBAAmB,CAC/C,KAAMH,EAAG,EAAE,CACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./menu-item.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=menu-item.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("@vft/utils");require("@vue/shared");const x=require("../../utils/error.js"),c=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");require("@vueuse/core");const A=require("./use-menu.js"),y=require("../divider/index.js"),U=require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("../tabs/index.js");require("../popper/index.js");require("../collapse-transition/index.js");const $=require("../tooltip/index.js");require("../popover/index.js");require("./index.js");require("@vft/use");require("../multiple-tabs/index.js");const E=["title"],a=c.useNamespace("menu-item"),I=e.defineComponent({name:a.b()}),S=e.defineComponent({...I,props:{index:null,route:null,disabled:{type:Boolean},icon:null,title:null,isAloneUse:{type:Boolean},divider:{type:Boolean},className:null,reverse:{type:Boolean}},emits:["click"],setup(n,{emit:C}){const s=e.getCurrentInstance(),V=c.useNamespace("menu"),o=c.useNamespace("menu-item"),t=n.isAloneUse?null:e.inject("rootMenu");!t&&!n.isAloneUse&&x.throwError(a.b(),"can not inject root menu");const{parentMenu:d,indexPath:m}=A.default(s,e.computed(()=>n.index)),r=n.isAloneUse?null:e.inject(`subMenu:${d.value.uid}`);!r&&!n.isAloneUse&&x.throwError(a.b(),"can not inject sub menu");const f=e.computed(()=>n.index===(t==null?void 0:t.activeIndex)),i=e.reactive({index:n.index,indexPath:m,active:f}),h=()=>{n.disabled||(t==null||t.handleMenuItemClick({index:n.index,indexPath:m.value,route:n.route}),C("click",i))},k=e.computed(()=>u.singleAttrToObj(n.icon,"icon")),q=e.computed(()=>u.renderTNode(s,"title"));return e.onMounted(()=>{n.isAloneUse||(r==null||r.addSubMenu(i),t==null||t.addMenuItem(i))}),e.onBeforeUnmount(()=>{n.isAloneUse||(r==null||r.removeSubMenu(i),t==null||t.removeMenuItem(i))}),(l,j)=>{var v,B,b,N,g;return e.openBlock(),e.createElementBlock(e.Fragment,null,[n.reverse&&n.divider?(e.openBlock(),e.createBlock(e.unref(y.VftDivider),{key:0,marginY:"0"})):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass([n.className,e.unref(o).b(),e.unref(o).is("active",n.isAloneUse?!1:e.unref(f)),e.unref(o).is("disabled",n.disabled)]),role:"menuitem",tabindex:"-1",onClick:h},[((B=(v=e.unref(d))==null?void 0:v.type)==null?void 0:B.name)==="vft-menu"&&((b=e.unref(t))!=null&&b.props.collapse)&&l.$slots.title?(e.openBlock(),e.createBlock(e.unref($.VftTooltip),{key:0,placement:"right","fallback-placements":["left"],persistent:""},{content:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(V).be("tooltip","trigger"))},[e.renderSlot(l.$slots,"default")],2)]),_:3})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(N=l.$slots)!=null&&N.default?e.renderSlot(l.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(g=e.unref(k))!=null&&g.icon?(e.openBlock(),e.createBlock(e.unref(U.VftIcon),e.normalizeProps(e.mergeProps({key:0},e.unref(k))),null,16)):e.createCommentVNode("",!0),e.createElementVNode("span",{title:e.unref(q)},[e.createVNode(e.unref(u.VNode),{content:e.unref(q)},null,8,["content"])],8,E)],64))],64))],2),!n.reverse&&n.divider?(e.openBlock(),e.createBlock(e.unref(y.VftDivider),{key:1,marginY:"0"})):e.createCommentVNode("",!0)],64)}}});exports.default=S;
2
+ //# sourceMappingURL=menu-item.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.vue2.js","sources":["../../../../../../packages/components/menu/menu-item.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu-item')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { renderTNode, singleAttrToObj, VNode } from '@vft/utils';\nimport { computed, getCurrentInstance, inject, onBeforeUnmount, onMounted, reactive } from 'vue';\nimport { throwError } from '@vft-ui/utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { type RouteLocationRaw } from 'vue-router';\nimport useMenu from './use-menu';\nimport { VftIcon as Icon, type IconProps, VftTooltip as Tooltip, VftDivider } from '@vft-ui/components';\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types';\n\ninterface Props {\n /** 唯一标志 */\n index?: string;\n /** Vue Router 路径对象 */\n route?: RouteLocationRaw;\n /** 是否禁用 */\n disabled?: boolean;\n icon?: IconProps;\n title?: string;\n isAloneUse?: boolean;\n divider?: boolean;\n className?: string\n reverse?: boolean\n}\n\ndefineProps({\n \"index\": null,\n \"route\": null,\n \"disabled\": { type: Boolean, },\n \"icon\": null,\n \"title\": null,\n \"isAloneUse\": { type: Boolean, },\n \"divider\": { type: Boolean, },\n \"className\": null,\n \"reverse\": { type: Boolean, }\n})\n\n\n\nconst emit = defineEmits(['click']);\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst nsMenu = useNamespace('menu');\n\nconst nsMenuItem = useNamespace('menu-item');\n\n// 获取来自 menu.vue 中注入的数据\nconst rootMenu = !__props.isAloneUse ? inject<MenuProvider>('rootMenu') : null;\nif (!rootMenu && !__props.isAloneUse) throwError(ns.b(), 'can not inject root menu');\n\n// indexPath:当前 menu-item 对应的 index 和 vft-sub-menu 的 index,parentMenu 为 vft-sub-menu 组件\nconst { parentMenu, indexPath } = useMenu(\n instance,\n computed(() => __props.index!)\n);\n\n// 注入来自 sub-menu 中的 provide 数据\nconst subMenu = !__props.isAloneUse ? inject<SubMenuProvider>(`subMenu:${parentMenu.value.uid}`) : null;\nif (!subMenu && !__props.isAloneUse) throwError(ns.b(), 'can not inject sub menu');\n\n// 当前是否为 active\nconst active = computed(() => __props.index === rootMenu?.activeIndex);\n\nconst item: MenuItemRegistered = reactive({\n index: __props.index!,\n indexPath,\n active\n});\n\n// 点击具体菜单项\nconst handleClick = () => {\n if (!__props.disabled) {\n rootMenu?.handleMenuItemClick({\n index: __props.index!,\n indexPath: indexPath.value,\n route: __props.route\n });\n emit('click', item);\n }\n};\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst title = computed(() => {\n return renderTNode(instance, 'title');\n});\n\nonMounted(() => {\n if (!__props.isAloneUse) {\n // 触发 sub-menu,vue 中的 addSubMenu\n subMenu?.addSubMenu(item);\n // 触发 menu.vue 中的 addMenuItem 更新 items\n rootMenu?.addMenuItem(item);\n }\n});\n\nonBeforeUnmount(() => {\n if (!__props.isAloneUse) {\n subMenu?.removeSubMenu(item);\n rootMenu?.removeMenuItem(item);\n }\n});\n</script>\n\n<template>\n <vft-divider v-if=\"reverse && divider\" marginY=\"0\" />\n <li :class=\"[className, nsMenuItem.b(), nsMenuItem.is('active', isAloneUse ? false : active), nsMenuItem.is('disabled', disabled)]\" role=\"menuitem\" tabindex=\"-1\" @click=\"handleClick\">\n <tooltip\n v-if=\"parentMenu?.type?.name === 'vft-menu' && rootMenu?.props.collapse && $slots.title\"\n placement=\"right\" :fallback-placements=\"['left']\" persistent>\n <template #content>\n <slot name=\"title\" />\n </template>\n <div :class=\"nsMenu.be('tooltip', 'trigger')\">\n <slot />\n </div>\n </tooltip>\n <template v-else>\n <slot v-if=\"$slots?.default\"/>\n <template v-else>\n <Icon v-if=\"_icon?.icon\" v-bind=\"_icon\" />\n <span :title=\"title\"><v-node :content=\"title\" /></span>\n </template>\n </template>\n </li>\n <vft-divider v-if=\"!reverse && divider\" marginY=\"0\" />\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","nsMenu","nsMenuItem","rootMenu","__props","inject","throwError","parentMenu","indexPath","useMenu","computed","subMenu","active","item","reactive","handleClick","emit","_icon","singleAttrToObj","title","renderTNode","onMounted","onBeforeUnmount"],"mappings":"g2BACMA,EAAuBC,EAAAA,aAAa,WAAW,EAGrDC,EAA6BC,EAAAA,gBAAmB,CAC9C,KAAMH,EAAG,EAAE,CACb,CAAC,gOA6CD,MAAMI,EAAWC,EAAAA,qBAEXC,EAASL,eAAa,MAAM,EAE5BM,EAAaN,eAAa,WAAW,EAGrCO,EAAYC,EAAQ,WAAgD,KAAnCC,EAAAA,OAAqB,UAAU,EAClE,CAACF,GAAY,CAACC,EAAQ,YAAuBE,EAAAA,WAAAX,EAAG,EAAE,EAAG,0BAA0B,EAG7E,KAAA,CAAE,WAAAY,EAAY,UAAAC,CAAA,EAAcC,EAAA,QAChCV,EACAW,WAAS,IAAMN,EAAQ,KAAM,CAAA,EAIzBO,EAAWP,EAAQ,WAA0E,KAA7DC,EAAAA,OAAwB,WAAWE,EAAW,MAAM,KAAK,EAC3F,CAACI,GAAW,CAACP,EAAQ,YAAuBE,EAAAA,WAAAX,EAAG,EAAE,EAAG,yBAAyB,EAGjF,MAAMiB,EAASF,EAAAA,SAAS,IAAMN,EAAQ,SAAUD,GAAA,YAAAA,EAAU,YAAW,EAE/DU,EAA2BC,EAAAA,SAAS,CACxC,MAAOV,EAAQ,MACf,UAAAI,EACA,OAAAI,CAAA,CACD,EAGKG,EAAc,IAAM,CACnBX,EAAQ,WACXD,GAAA,MAAAA,EAAU,oBAAoB,CAC5B,MAAOC,EAAQ,MACf,UAAWI,EAAU,MACrB,MAAOJ,EAAQ,KAAA,GAEjBY,EAAK,QAASH,CAAI,EACpB,EAGII,EAAQP,EAAAA,SAAS,IACdQ,kBAAgBd,EAAQ,KAAM,MAAM,CAC5C,EAEKe,EAAQT,EAAAA,SAAS,IACdU,EAAA,YAAYrB,EAAU,OAAO,CACrC,EAEDsB,OAAAA,EAAAA,UAAU,IAAM,CACTjB,EAAQ,aAEXO,GAAA,MAAAA,EAAS,WAAWE,GAEpBV,GAAA,MAAAA,EAAU,YAAYU,GACxB,CACD,EAEDS,EAAAA,gBAAgB,IAAM,CACflB,EAAQ,aACXO,GAAA,MAAAA,EAAS,cAAcE,GACvBV,GAAA,MAAAA,EAAU,eAAeU,GAC3B,CACD"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./menu.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=menu.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),j=require("@vueuse/core");require("@vue/shared");const F=require("../../utils/vue/vnode.js");require("@vft/utils");const P=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");const G=require("./utils/menu-bar.js"),H=require("./menu-collapse-transition.vue.js"),J=require("./sub-menu.vue2.js"),K=require("./use-menu-css-var.js"),Q=require("../icon/index.js"),b=P.useNamespace("menu"),U=l.defineComponent({name:b.b()}),X=l.defineComponent({...U,props:{mode:{default:"vertical"},defaultActive:{default:""},defaultOpeneds:{default:[]},uniqueOpened:{type:Boolean},router:{type:Boolean},menuTrigger:{default:"hover"},collapse:{type:Boolean},backgroundColor:null,textColor:null,activeTextColor:null,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0}},emits:["close","open","select"],setup(n,{expose:k,emit:g}){const C=l.useSlots(),m=l.getCurrentInstance(),I=m.appContext.config.globalProperties.$router,c=l.ref(),S=P.useNamespace("sub-menu"),v=l.ref(-1),o=l.ref(n.defaultOpeneds&&!n.collapse?n.defaultOpeneds.slice(0):[]),a=l.ref(n.defaultActive),r=l.ref({}),h=l.ref({}),B=l.computed(()=>n.mode==="horizontal"||n.mode==="vertical"&&n.collapse),N=()=>{const e=a.value&&r.value[a.value];if(!e||n.mode==="horizontal"||n.collapse)return;e.indexPath.forEach(u=>{const s=h.value[u];s&&p(u,s.indexPath)})},p=(e,t)=>{o.value.includes(e)||(n.uniqueOpened&&(o.value=o.value.filter(u=>t.includes(u))),o.value.push(e),g("open",e,t))},y=(e,t)=>{const u=o.value.indexOf(e);u!==-1&&o.value.splice(u,1),g("close",e,t)},R=({index:e,indexPath:t})=>{o.value.includes(e)?y(e,t):p(e,t)},A=e=>{(n.mode==="horizontal"||n.collapse)&&(o.value=[]);const{index:t,indexPath:u}=e;if(!(t===void 0||u===void 0))if(n.router&&I){const s=e.route||t,f=I.push(s).then(i=>(i||(a.value=t),i));g("select",e,f)}else a.value=t,g("select",e)},W=e=>{const t=r.value,u=t[e]||a.value&&t[a.value]||t[n.defaultActive];u?a.value=u.index:a.value=e},E=()=>{var d;if(!c.value)return-1;const e=Array.from(((d=c.value)==null?void 0:d.childNodes)??[]).filter(q=>q.nodeName!=="#text"||q.nodeValue),t=64,u=Number.parseInt(getComputedStyle(c.value).paddingLeft,10),s=Number.parseInt(getComputedStyle(c.value).paddingRight,10),f=c.value.clientWidth-u-s;let i=0,M=0;return e.forEach((q,L)=>{i+=q.offsetWidth||0,i<=f-t&&(M=L+1)}),M===e.length?-1:M},V=(e,t=33.34)=>{let u;return()=>{u&&clearTimeout(u),u=setTimeout(()=>{e()},t)}};let O=!0;const T=()=>{const e=()=>{v.value=-1,l.nextTick(()=>{v.value=E()})};O?e():V(e)(),O=!1};l.watch(()=>n.defaultActive,e=>{r.value[e]||(a.value=""),W(e)}),l.watch(()=>n.collapse,e=>{e&&(o.value=[])}),l.watch(r.value,N);let x;l.watchEffect(()=>{n.mode==="horizontal"&&n.ellipsis?x=j.useResizeObserver(c,T).stop:x==null||x()});const w=e=>{h.value[e.index]=e},z=e=>{delete h.value[e.index]},$=e=>{r.value[e.index]=e},D=e=>{delete r.value[e.index]};return l.provide("rootMenu",l.reactive({props:m.props,openedMenus:o,items:r,subMenus:h,activeIndex:a,isMenuPopup:B,addMenuItem:$,removeMenuItem:D,addSubMenu:w,removeSubMenu:z,openMenu:p,closeMenu:y,handleMenuItemClick:A,handleSubMenuClick:R})),l.provide(`subMenu:${m.uid}`,{addSubMenu:w,removeSubMenu:z,mouseInChild:l.ref(!1),level:0}),l.onMounted(()=>{n.mode==="horizontal"&&new G.default(m.vnode.el,b.namespace.value)}),k({open:e=>{const{indexPath:t}=h.value[e];t.forEach(u=>p(u,t))},close:y,handleResize:T}),()=>{var f;let e=((f=C.default)==null?void 0:f.call(C))??[];const t=[];if(n.mode==="horizontal"&&c.value){const i=F.flattedChildren(e),M=v.value===-1?i:i.slice(0,v.value),d=v.value===-1?[]:i.slice(v.value);d!=null&&d.length&&n.ellipsis&&(e=M,t.push(l.h(J.default,{index:"sub-menu-more",class:S.e("hide-arrow")},{title:()=>l.h(Q.VftIcon,{icon:"vi-item",class:S.e("icon-more")}),default:()=>d})))}const u=K.useMenuCssVar(m.props,0),s=l.h("ul",{key:String(n.collapse),role:"menubar",ref:c,style:u.value,class:{[b.b()]:!0,[b.m(n.mode)]:!0,[b.m("collapse")]:n.collapse}},[...e,...t]);return n.collapseTransition&&n.mode==="vertical"?l.h(H.default,()=>s):s}}});exports.default=X;
2
+ //# sourceMappingURL=menu.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.vue2.js","sources":["../../../../../../packages/components/menu/menu.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n watchEffect,\n useSlots\n} from 'vue';\nimport { useResizeObserver } from '@vueuse/core';\nimport { flattedChildren } from '../../utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport Menubar from './utils/menu-bar';\nimport MenuCollapseTransition from './menu-collapse-transition.vue';\nimport SubMenu from './sub-menu.vue';\nimport { useMenuCssVar } from './use-menu-css-var';\nimport type { MenuProvider, SubMenuProvider } from './types';\nimport type { Router } from 'vue-router';\nimport type { VNode, VNodeArrayChildren } from 'vue';\nimport type { UseResizeObserverReturn } from '@vueuse/core';\nimport Icon from '@vft-ui/components/icon';\n\ninterface MenuProps {\n /** 菜单展示模式 */\n mode?: 'horizontal' | 'vertical';\n /** 页面加载时默认激活菜单的 index(menu-item 的index) */\n defaultActive?: string;\n /** 默认打开的 sub-menu 的 index 的数组 */\n defaultOpeneds?: string[];\n /** 是否只保持一个子菜单的展开 */\n uniqueOpened?: boolean;\n /** 是否启用 vue-router 模式。 启用该模式会在激活导航时以 index 作为 path 进行路由跳转 使用 default-active 来设置加载时的激活项 */\n router?: boolean;\n /** 子菜单打开的触发方式,只在 mode 为 horizontal 时有效 */\n menuTrigger?: 'hover' | 'click';\n collapse?: boolean;\n /** 是否水平折叠收起菜单(仅在 mode 为 vertical 时可用) */\n backgroundColor?: string;\n textColor?: string;\n activeTextColor?: string;\n /** 是否开启折叠动画 */\n collapseTransition?: boolean;\n /** 是否省略多余的子项(仅在横向模式生效) */\n ellipsis?: boolean;\n}\n\ndefineProps({\n \"mode\": { default: 'vertical' },\n \"defaultActive\": { default: '' },\n \"defaultOpeneds\": { default: [] },\n \"uniqueOpened\": { type: Boolean, },\n \"router\": { type: Boolean, },\n \"menuTrigger\": { default: 'hover' },\n \"collapse\": { type: Boolean, },\n \"backgroundColor\": null,\n \"textColor\": null,\n \"activeTextColor\": null,\n \"collapseTransition\": { type: Boolean, default: true },\n \"ellipsis\": { type: Boolean, default: true }\n})\n\nconst emit = defineEmits([\n 'close',\n 'open',\n 'select'\n]);\n\n\n\n;\n\nconst slots = useSlots();\n\nconst instance = getCurrentInstance()!;\n\n// get router instance\nconst _router = instance.appContext.config.globalProperties.$router as Router;\n\nconst menu = ref<HTMLUListElement>();\n\nconst nsSubMenu = useNamespace('sub-menu');\n\n// data\nconst sliceIndex = ref(-1);\n\n// 展开的菜单项数组 defaultOpeneds 配置的对应 sub-menu 中的数组,并且菜单不能是收缩状态\nconst openedMenus = ref<MenuProvider['openedMenus']>(\n __props.defaultOpeneds && !__props.collapse ? __props.defaultOpeneds.slice(0) : []\n);\n\n// 页面加载时默认激活菜单的 index,最终提供给 menu-item 去使用\nconst activeIndex = ref<MenuProvider['activeIndex']>(__props.defaultActive);\n\n/**\n * 主要是存储 menu-item 中的菜单项\n * 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n */\nconst items = ref<MenuProvider['items']>({});\n\n/**\n * 主要是存储 sub-menu 中的菜单项\n * 格式如下\n * ```\n * {\n * mio:{index: 'mio', indexPath: ['mio'], active: false},\n * test:{index: 'test', indexPath: ['test'], active: false}\n * }\n * ```\n */\nconst subMenus = ref<MenuProvider['subMenus']>({});\n\n/**\n * @description 是否需要 tooltip 1.水平模式的菜单需要 2.竖直类型的菜单在收缩时需要\n * @author wfd\n * @date 2022/11/8 13:22\n * @example\n * @type {ComputedRef<MenuProvider[\"isMenuPopup\"]>}\n */\nconst isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return __props.mode === 'horizontal' || (__props.mode === 'vertical' && __props.collapse) as MenuProvider['isMenuPopup'];\n});\n\n// 当配置了 defaultActive 时菜单的展开设置\nconst initMenu = () => {\n // 如果设置了 activeIndex 且当前的 activeIndex 项在 items 中存在\n // 获取当前激活菜单的 item {index: '1-1', indexPath: ['mio', '1-1'], active: false}\n const activeItem = activeIndex.value && items.value[activeIndex.value];\n // 只在竖直模式,且非折叠模式,且子菜单配置为激活时触发\n if (!activeItem || __props.mode === 'horizontal' || __props.collapse) return;\n // ['mio', '1-1']\n const indexPath = activeItem.indexPath;\n\n // 展开该菜单项的路径上所有子菜单\n indexPath.forEach((index) => {\n // {index: 'mio', indexPath: ['mio'], active: false}\n const subMenu = subMenus.value[index];\n subMenu && openMenu(index, subMenu.indexPath);\n });\n};\n\n/**\n * @description 展开子菜单\n * @author wfd\n * @date 2022/11/8 16:44\n * @example\n * @param {string} index\n * @param {string[]} indexPath\n */\nconst openMenu: MenuProvider['openMenu'] = (index: string, indexPath: string[]) => {\n // 如果当前点击的 index 在 openedMenus 中,则不向下执行操作\n if (openedMenus.value.includes(index)) return;\n // 将不在该菜单路径下的其余菜单收起\n if (__props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) => indexPath.includes(index));\n }\n // 将点击的 index 加入到 openedMenus 中\n openedMenus.value.push(index);\n emit('open', index, indexPath);\n};\n\n/**\n * @description 关闭当前点击的 sub-menu 对应的 index,主要是从 openedMenus 移除该项\n * @author wfd\n * @date 2022/11/8 16:43\n * @example\n * @param {string} index\n * @param {string[]} indexPath\n */\nconst closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index);\n if (i !== -1) {\n openedMenus.value.splice(i, 1);\n }\n emit('close', index, indexPath);\n};\n\n// sub-menu 点击事件,主要是展开收缩菜单,通过控制 openedMenus 的值\nconst handleSubMenuClick: MenuProvider['handleSubMenuClick'] = ({ index, indexPath }) => {\n // 判断当前点击的 sub-menu 菜单是否已经在 openedMenus 中\n const isOpened = openedMenus.value.includes(index);\n\n // 如果已经在 openedMenus 中,代表当前菜单已经展开(展开则调用 close 关闭),否则未打开(则调用 open 给展开)\n if (isOpened) {\n closeMenu(index, indexPath);\n } else {\n openMenu(index, indexPath);\n }\n};\n\n/**\n * @description 子项点击跳转事件,如果 menu.vue 配置了 route 为 true,则执行路由跳转,否则触发\n * emit('select') 只返回数据\n * @author wfd\n * @date 2022/11/8 18:30\n * @example\n * @param {MenuItemClicked} menuItem\n */\nconst handleMenuItemClick: MenuProvider['handleMenuItemClick'] = (menuItem) => {\n\n if (__props.mode === 'horizontal' || __props.collapse) {\n openedMenus.value = [];\n }\n const { index, indexPath } = menuItem;\n if (index === undefined || indexPath === undefined) return;\n\n if (__props.router && _router) {\n // 路由跳转的路径如果 menu-item 配置了则,采用 menu-item 的,否则采用 index 为 router 路径\n const route = menuItem.route || index;\n const routerResult = _router.push(route).then((res) => {\n if (!res) activeIndex.value = index;\n return res;\n });\n emit('select', menuItem, routerResult);\n } else {\n activeIndex.value = index;\n\n emit('select', menuItem);\n }\n};\n\n/**\n * 更新 activeIndex\n * @param {string} val\n */\nconst updateActiveIndex = (val: string) => {\n const itemsInData = items.value;\n // 首先从最新的 val 中去 items 取数据,如果没有取到再去 items 对应的 activeIndex 去取\n const item = itemsInData[val] || (activeIndex.value && itemsInData[activeIndex.value]) || itemsInData[__props.defaultActive];\n\n // 更新 activeIndex\n if (item) {\n activeIndex.value = item.index;\n } else {\n activeIndex.value = val;\n }\n};\n\nconst calcSliceIndex = () => {\n if (!menu.value) return -1;\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue) as HTMLElement[];\n const moreItemWidth = 64;\n const paddingLeft = Number.parseInt(getComputedStyle(menu.value!).paddingLeft, 10);\n const paddingRight = Number.parseInt(getComputedStyle(menu.value!).paddingRight, 10);\n const menuWidth = menu.value!.clientWidth - paddingLeft - paddingRight;\n let calcWidth = 0;\n let sliceIndex = 0;\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0;\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1;\n }\n });\n return sliceIndex === items.length ? -1 : sliceIndex;\n};\n\n// 常见的计算机监视器FPS为60Hz,这意味着每秒重画60次。计算公式:1000ms60≈ 16.67ms,为了避免“调整大小”时重复触发的特定机会,将等待设置为16.67 2=33.34\nconst debounce = (fn: () => void, wait = 33.34) => {\n let timmer: ReturnType<typeof setTimeout> | null;\n return () => {\n timmer && clearTimeout(timmer);\n timmer = setTimeout(() => {\n fn();\n }, wait);\n };\n};\n\nlet isFirstTimeRender = true;\nconst handleResize = () => {\n const callback = () => {\n sliceIndex.value = -1;\n nextTick(() => {\n sliceIndex.value = calcSliceIndex();\n });\n };\n // 第一次调整大小时直接执行回调以避免抖动\n isFirstTimeRender ? callback() : debounce(callback)();\n isFirstTimeRender = false;\n};\n\n// defaultActive 变化时触发时更新 activeIndex\nwatch(\n () => __props.defaultActive,\n (currentActive) => {\n // 如果最新的 defaultActive 在 items 中不存在则 activeIndex 更新为空\n if (!items.value[currentActive]) {\n activeIndex.value = '';\n }\n updateActiveIndex(currentActive);\n }\n);\n\nwatch(\n () => __props.collapse,\n (value) => {\n if (value) openedMenus.value = [];\n }\n);\n\n// 监控 items 的变化(在 menu-item.vue 中的 onMounted 中执行产生变化),然后执行 initMenu\nwatch(items.value, initMenu);\n\nlet resizeStopper: UseResizeObserverReturn['stop'];\nwatchEffect(() => {\n if (__props.mode === 'horizontal' && __props.ellipsis) resizeStopper = useResizeObserver(menu, handleResize).stop;\n else resizeStopper?.();\n});\n\n// 提供给 sub-menu.vue 使用,将每一个 sub-menu 的数据存储在 subMenus 中\nconst addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item;\n};\n\nconst removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index];\n};\n\n/**\n * 此函数在 menu-item 中触发,items.value 默认为空对象\n * 最后添加后的 items 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\nconst addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item;\n};\n\nconst removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index];\n};\n\n/**\n * 提供以下方法与属性给 sub-menu.vue 使用\n */\nprovide<MenuProvider>(\n 'rootMenu',\n reactive({\n props: instance.props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick\n })\n);\n\nprovide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n // 表示当前是第一级的 sub-menu\n level: 0\n});\n\nonMounted(() => {\n if (__props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, ns.namespace.value);\n }\n});\n\n// 触发展开菜单事件\nconst open = (index: string) => {\n const { indexPath } = subMenus.value[index];\n indexPath.forEach((i) => openMenu(i, indexPath));\n};\n\ndefineExpose({\n open,\n close: closeMenu,\n handleResize\n});\n\ndefineRender(() => {\n let slot: VNodeArrayChildren = slots.default?.() ?? [];\n const vShowMore: VNode[] = [];\n\n // 水平默认下执行\n if (__props.mode === 'horizontal' && menu.value) {\n const originalSlot = flattedChildren(slot) as VNodeArrayChildren;\n const slotDefault = sliceIndex.value === -1 ? originalSlot : originalSlot.slice(0,\n sliceIndex.value);\n\n const slotMore = sliceIndex.value === -1 ? [] : originalSlot.slice(sliceIndex.value);\n\n if (slotMore?.length && __props.ellipsis) {\n slot = slotDefault;\n vShowMore.push(\n h(\n SubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow')\n },\n {\n title: () => h(\n Icon,\n {\n icon: 'vi-item',\n class: nsSubMenu.e('icon-more')\n }\n ),\n default: () => slotMore\n }\n )\n );\n }\n }\n\n const ulStyle = useMenuCssVar(instance.props, 0);\n\n const vMenu = h(\n 'ul',\n {\n key: String(__props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [ns.b()]: true,\n [ns.m(__props.mode)]: true,\n [ns.m('collapse')]: __props.collapse\n }\n },\n [...slot, ...vShowMore]\n );\n\n if (__props.collapseTransition && __props.mode === 'vertical') {\n return h(MenuCollapseTransition, () => vMenu);\n }\n\n return vMenu;\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","slots","useSlots","instance","getCurrentInstance","_router","menu","ref","nsSubMenu","sliceIndex","openedMenus","__props","activeIndex","items","subMenus","isMenuPopup","computed","initMenu","activeItem","index","subMenu","openMenu","indexPath","emit","closeMenu","i","handleSubMenuClick","handleMenuItemClick","menuItem","route","routerResult","res","updateActiveIndex","val","itemsInData","item","calcSliceIndex","_a","moreItemWidth","paddingLeft","paddingRight","menuWidth","calcWidth","debounce","fn","wait","timmer","isFirstTimeRender","handleResize","callback","nextTick","watch","currentActive","value","resizeStopper","watchEffect","useResizeObserver","addSubMenu","removeSubMenu","addMenuItem","removeMenuItem","provide","reactive","onMounted","Menubar","expose","slot","vShowMore","originalSlot","flattedChildren","slotDefault","slotMore","h","SubMenu","Icon","ulStyle","useMenuCssVar","vMenu","MenuCollapseTransition"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-menu.css");
2
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";require("../../../theme-style/src/base.scss.js");require("../../../theme-style/src/menu.scss.js");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./sub-menu.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=sub-menu.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub-menu.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../divider/index.js");const N=require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("../tabs/index.js");require("../popper/index.js");const Q=require("../collapse-transition/index.js"),W=require("../tooltip/index.js");require("../popover/index.js");require("./index.js");const O=require("@vft/utils");require("@vft/use");require("../multiple-tabs/index.js");const w=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");const R=require("@vueuse/core");require("@vue/shared");const D=require("../../utils/error.js"),X=require("./use-menu.js"),Y=require("./use-menu-css-var.js"),y=w.useNamespace("sub-menu"),_=e.defineComponent({name:y.b()}),ee=e.defineComponent({..._,props:{index:null,showTimeout:{default:300},hideTimeout:{default:300},popperClass:null,disabled:{type:Boolean},popperAppendToBody:{type:Boolean,default:void 0},popperOffset:{default:6},expandIcon:{default:{}},collapseIcon:{default:{}},title:null,icon:null,showArrow:{type:Boolean,default:!0},toolTipCfg:null},setup(t,{expose:H}){const v=e.getCurrentInstance(),{indexPath:h,parentMenu:S}=X.default(v,e.computed(()=>t.index)),a=w.useNamespace("menu"),s=w.useNamespace("sub-menu"),o=e.inject("rootMenu");o||D.throwError(y.b(),"can not inject root menu");const r=e.inject(`subMenu:${S.value.uid}`);r||D.throwError(y.b(),"can not inject sub menu");const x=e.ref({});let i;const I=e.ref(!1),L=e.ref(),k=e.ref(null),z=e.computed(()=>d.value==="horizontal"&&b.value?"bottom-start":"right-start"),b=e.computed(()=>r.level===0),g=e.computed(()=>t.popperAppendToBody===void 0?b.value:Boolean(t.popperAppendToBody)),U=e.computed(()=>o.props.collapse?`${a.namespace.value}-zoom-in-left`:`${a.namespace.value}-zoom-in-top`),Z=e.computed(()=>d.value==="horizontal"&&b.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),c=e.computed(()=>o.openedMenus.includes(t.index)),m=e.computed(()=>{let n=!1;return Object.values(x.value).forEach(l=>{l.active&&(n=!0)}),t.index===o.activeIndex&&(n=!0),n}),B=e.computed(()=>o.props.backgroundColor||""),A=e.computed(()=>o.props.activeTextColor||""),P=e.computed(()=>o.props.textColor||""),d=e.computed(()=>o.props.mode),M=e.reactive({index:t.index,indexPath:h,active:m}),$=e.computed(()=>d.value!=="horizontal"?{color:P.value}:{borderBottomColor:m.value?o.props.activeTextColor?A.value:"":"transparent",color:m.value?A.value:P.value}),G=()=>{var n,l,u;return(u=(l=(n=k.value)==null?void 0:n.popperRef)==null?void 0:l.popperInstanceRef)==null?void 0:u.destroy()},J=n=>{n||G()},j=()=>{o.props.menuTrigger==="hover"&&o.props.mode==="horizontal"||o.props.collapse&&o.props.mode==="vertical"||t.disabled||o.handleSubMenuClick({index:t.index,indexPath:h.value,active:m.value})},C=(n,l=t.showTimeout)=>{var u;n.type!=="focus"&&(o.props.menuTrigger==="click"&&o.props.mode==="horizontal"||!o.props.collapse&&o.props.mode==="vertical"||t.disabled||(r.mouseInChild.value=!0,i==null||i(),{stop:i}=R.useTimeoutFn(()=>{o.openMenu(t.index,h.value)},l),g.value&&((u=S.value.vnode.el)==null||u.dispatchEvent(new MouseEvent("mouseenter")))))},T=(n=!1)=>{var l,u;o.props.menuTrigger==="click"&&o.props.mode==="horizontal"||!o.props.collapse&&o.props.mode==="vertical"||(i==null||i(),r.mouseInChild.value=!1,{stop:i}=R.useTimeoutFn(()=>!I.value&&o.closeMenu(t.index,h.value),t.hideTimeout),g.value&&n&&((l=v.parent)==null?void 0:l.type.name)==="vft-sub-menu"&&((u=r.handleMouseleave)==null||u.call(r,!0)))};e.watch(()=>o.props.collapse,n=>J(Boolean(n)));{const n=u=>{x.value[u.index]=u},l=u=>{delete x.value[u.index]};e.provide(`subMenu:${v.uid}`,{addSubMenu:n,removeSubMenu:l,handleMouseleave:T,mouseInChild:I,level:r.level+1})}H({opened:c}),e.onMounted(()=>{o.addSubMenu(M),r.addSubMenu(M)}),e.onBeforeUnmount(()=>{r.removeSubMenu(M),o.removeSubMenu(M)});const p=e.useSlots(),K=e.computed(()=>d.value==="horizontal"&&b.value||d.value==="vertical"&&!o.props.collapse?{icon:"vi-arrow-down",size:20,...t.expandIcon}:{icon:"vi-arrow-right",size:18,...t.collapseIcon}),E=e.computed(()=>O.singleAttrToObj(t.icon,"icon")),F=e.computed(()=>O.renderTNode(v,"title"));return()=>{var V;const n=[(V=E.value)!=null&&V.icon?e.h(N.VftIcon,{...E.value}):null,e.h("span",{class:t.showArrow?s.e("text"):"",title:v.props.title},F.value),t.showArrow?e.h(N.VftIcon,{class:s.e("icon-arrow"),...K.value,style:{transform:c.value?"rotateZ(180deg)":"none"}}):!1],l=Y.useMenuCssVar(o.props,r.level+1),u=o.isMenuPopup?e.h(W.VftTooltip,{ref:k,visible:c.value,effect:"light",pure:!0,offset:t.popperOffset,showArrow:!1,persistent:!0,popperClass:t.popperClass,placement:z.value,teleported:g.value,fallbackPlacements:Z.value,transition:U.value,gpuAcceleration:!1,...t.toolTipCfg},{content:()=>{var f;return e.h("div",{class:[a.m(d.value),a.m("popup-container"),t.popperClass],onMouseenter:q=>C(q,100),onMouseleave:()=>T(!0),onFocus:q=>C(q,100)},[e.h("ul",{class:[a.b(),a.m("popup"),a.m(`popup-${z.value}`)],style:l.value},[(f=p.default)==null?void 0:f.call(p)])])},default:()=>e.h("div",{class:s.e("title"),style:[$.value,{backgroundColor:B.value}],onClick:j},n)}):e.h(e.Fragment,{},[F.value?e.h("div",{class:s.e("title"),style:[$.value,{backgroundColor:B.value}],ref:L,onClick:j},n):null,e.h(Q.VftCollapseTransition,{},{default:()=>{var f;return e.withDirectives(e.h("ul",{role:"menu",class:[a.b(),a.m("inline")],style:l.value},[(f=p.default)==null?void 0:f.call(p)]),[[e.vShow,c.value]])}})]);return e.h("li",{class:[s.b(),s.is("active",m.value),s.is("opened",c.value),s.is("disabled",t.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:c.value,onMouseenter:C,onMouseleave:()=>T(!0),onFocus:C},[u])}}});exports.default=ee;
2
+ //# sourceMappingURL=sub-menu.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub-menu.vue2.js","sources":["../../../../../../packages/components/menu/sub-menu.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('sub-menu')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { type IconProps, type Placement, type ToolTipProps, VftCollapseTransition as CollapseTransition, VftIcon as Icon, VftTooltip as Tooltip } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { throwError } from '@vft-ui/utils';\nimport { renderTNode, singleAttrToObj } from '@vft/utils';\nimport { useTimeoutFn } from '@vueuse/core';\nimport type { CSSProperties, VNodeArrayChildren } from 'vue';\nimport { computed, Fragment, getCurrentInstance, h, inject, onBeforeUnmount, onMounted, provide, reactive, ref, useSlots, vShow, watch, withDirectives } from 'vue';\nimport type { MenuProvider, SubMenuProvider } from './types';\nimport useMenu from './use-menu';\nimport { useMenuCssVar } from './use-menu-css-var';\n\ninterface Props {\n /** 唯一标志 */\n index: string;\n /** 展开 sub-menu 的延时 */\n showTimeout?: number;\n /** 收起 sub-menu 的延时 */\n hideTimeout?: number;\n /** 为 popper 添加类名 */\n popperClass?: ClassType;\n /** 是否禁用 */\n disabled?: boolean;\n popperAppendToBody?: boolean;\n /** 弹出窗口偏移 */\n popperOffset?: number;\n expandIcon?: IconProps;\n collapseIcon?: IconProps;\n title?: string;\n icon?: IconProps | string;\n showArrow?: boolean;\n toolTipCfg?: ToolTipProps;\n}\n\ndefineProps({\n \"index\": null,\n \"showTimeout\": { default: 300 },\n \"hideTimeout\": { default: 300 },\n \"popperClass\": null,\n \"disabled\": { type: Boolean, },\n \"popperAppendToBody\": { type: Boolean, default: undefined },\n \"popperOffset\": { default: 6 },\n \"expandIcon\": { default: {} },\n \"collapseIcon\": { default: {} },\n \"title\": null,\n \"icon\": null,\n \"showArrow\": { type: Boolean, default: true },\n \"toolTipCfg\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\n// 返回当前 sub-menu 对应的 indexPath 页面中对 submenu 定义的 index parentMenu -> vft-menu 组件\nconst { indexPath, parentMenu } = useMenu(instance, computed(() => __props.index));\n\nconst nsMenu = useNamespace('menu');\nconst nsSubMenu = useNamespace('sub-menu');\n\n// 接受 vft-menu 组件中注入的数据\nconst rootMenu = inject<MenuProvider>('rootMenu');\nif (!rootMenu) throwError(ns.b(), 'can not inject root menu');\n\n// 接受 vft-menu 组件中注入的数据 parentMenu.value!.uid 当前 sub-menu 组件对应的 menu.vue 组件\nconst subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`);\nif (!subMenu) throwError(ns.b(), 'can not inject sub menu');\n\n/**\n * 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\nconst subMenus = ref<MenuProvider['subMenus']>({});\n\nlet timeout: (() => void) | undefined;\nconst mouseInChild = ref(false);\n\n// sub-menu-title 的 ref\nconst verticalTitleRef = ref<HTMLDivElement>();\n// tooltip 的实例\nconst vPopper = ref(null);\n\n// toolTop 的展示位置\nconst currentPlacement = computed<Placement>(\n () => (mode.value === 'horizontal' && isFirstLevel.value ? 'bottom-start' : 'right-start'));\n\n// 是否为第一级的 subMenu\nconst isFirstLevel = computed(() => {\n return subMenu.level === 0;\n});\n\nconst appendToBody = computed(() => {\n return __props.popperAppendToBody === undefined ? isFirstLevel.value : Boolean(__props.popperAppendToBody);\n});\n\n// toolTip 弹出的动画名称\nconst menuTransitionName = computed(\n () => (rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`));\n\nconst fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? ['bottom-start', 'bottom-end', 'top-start', 'top-end', 'right-start', 'left-start']\n : ['right-start', 'left-start', 'bottom-start', 'bottom-end', 'top-start', 'top-end']\n);\n\n// 获取当前的 index 是否包含在 openedMenus 中,表示当前 sub-menu 是否已经展开,子节点就是通过这个使用 v-show 来显隐\nconst opened = computed(() => rootMenu.openedMenus.includes(__props.index));\n\nconst active = computed(() => {\n let isActive = false;\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true;\n }\n });\n if (__props.index === rootMenu.activeIndex) {\n isActive = true;\n }\n return isActive;\n});\n\nconst backgroundColor = computed(() => rootMenu.props.backgroundColor || '');\n\nconst activeTextColor = computed(() => rootMenu.props.activeTextColor || '');\n\nconst textColor = computed(() => rootMenu.props.textColor || '');\n\nconst mode = computed(() => rootMenu.props.mode);\n\nconst item = reactive({\n index: __props.index,\n indexPath,\n active\n});\n\n//\nconst titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value\n };\n }\n return {\n borderBottomColor: active.value ? (rootMenu.props.activeTextColor ? activeTextColor.value : '') : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value\n };\n});\n\n// 销毁 toolTip\nconst doDestroy = () => vPopper.value?.popperRef?.popperInstanceRef?.destroy();\n\n// 当菜单收缩展开时执行销毁 toolTip\nconst handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy();\n }\n};\n\n// sub-menu 菜单点击事件\nconst handleClick = () => {\n // 以下几种情况不执行点击事件操作\n if ((rootMenu.props.menuTrigger === 'hover' && rootMenu.props.mode === 'horizontal') || (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) return;\n\n // 调用 menn.vue 中的 handleSubMenuClick 点击事件,传入参数\n rootMenu.handleSubMenuClick({\n index: __props.index,\n indexPath: indexPath.value,\n active: active.value\n });\n};\n\n// 滑入 sub-menu 菜单事件\nconst handleMouseenter = (event: MouseEvent | FocusEvent, _showTimeout = __props.showTimeout) => {\n if (event.type === 'focus') {\n return;\n }\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) {\n return;\n }\n subMenu.mouseInChild.value = true;\n\n // 根据 _showTimeout 展开滑入的菜单子项\n timeout?.();\n ({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(__props.index, indexPath.value);\n }, _showTimeout));\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'));\n }\n};\n\n// 离开滑入的菜单\nconst handleMouseleave = (deepDispatch = false) => {\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')) {\n return;\n }\n timeout?.();\n subMenu.mouseInChild.value = false;\n ({ stop: timeout } = useTimeoutFn(\n () => !mouseInChild.value && rootMenu.closeMenu(__props.index, indexPath.value),\n __props.hideTimeout));\n\n if (appendToBody.value && deepDispatch) {\n if (instance.parent?.type.name === 'vft-sub-menu') {\n subMenu.handleMouseleave?.(true);\n }\n }\n};\n\n// 监听菜单的收缩展开决定是否销毁 ToolTip\nwatch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n);\n\n// 以下代码在 menu-item.vue 中触发\n{\n /**\n * 此函数在 menu-item 中触发,items.value 默认为空对象\n * 最后添加后的 items 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item;\n };\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index];\n };\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1\n });\n}\n\ndefineExpose({\n opened\n});\n\nonMounted(() => {\n rootMenu.addSubMenu(item);\n subMenu.addSubMenu(item);\n});\n\nonBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeSubMenu(item);\n});\n\nconst slots = useSlots();\n\n// 箭头设置\nconst subMenuIcon = computed(() => {\n // 水平模式第一级 或者 竖直非折叠\n return (mode.value === 'horizontal' && isFirstLevel.value) || (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? { icon: 'vi-arrow-down', size: 20, ...__props.expandIcon } :\n { icon: 'vi-arrow-right', size: 18, ...__props.collapseIcon };\n});\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst titleCon = computed(() => {\n return renderTNode(instance, 'title');\n});\n\ndefineRender(() => {\n // sub-menu 的标题以及展开箭头 icon 相关\n const titleTag: VNodeArrayChildren = [\n _icon.value?.icon ? h(Icon, { ..._icon.value }) : null,\n h(\n 'span',\n {\n class: __props.showArrow ? nsSubMenu.e('text') : '',\n title: instance.props.title\n },\n titleCon.value\n ),\n __props.showArrow ? h(\n Icon,\n {\n class: nsSubMenu.e('icon-arrow'),\n ...subMenuIcon.value,\n style: { transform: opened.value ? 'rotateZ(180deg)' : 'none' }\n }\n ) : false\n ];\n\n // 给 vft-menu class 这一栏加入 level 等级,以此来区分当前的 level: --vft-menu-level:2;\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);\n\n /**\n * rootMenu.isMenuPopup 是否需要 tooltip 1.水平模式的菜单需要 2.竖直类型的菜单在收缩时需要\n * 如果需要 tooltip 用 h 函数渲染时,则采用 ElTooltip 组件\n * @type {VNode}\n */\n const child = rootMenu.isMenuPopup\n ? h(\n Tooltip,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: __props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: __props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n ...__props.toolTipCfg\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [nsMenu.m(mode.value), nsMenu.m('popup-container'), __props.popperClass],\n onMouseenter: (evt: MouseEvent) => handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100)\n },\n [\n h(\n 'ul',\n {\n class: [nsMenu.b(), nsMenu.m('popup'), nsMenu.m(\n `popup-${currentPlacement.value}`)],\n style: ulStyle.value\n },\n [slots.default?.()]\n )\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n onClick: handleClick\n },\n titleTag\n )\n }\n )\n :\n /**\n * Fragment 碎片化节点,可以让 dom 没有根节点\n *\n * 以下是无需 tooltip 渲染的组件,通常是侧边栏没有折叠的时候\n */\n h(Fragment, {}, [\n titleCon.value ? h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n ref: verticalTitleRef,\n onClick: handleClick\n },\n titleTag\n ) : null,\n h(\n CollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n )\n }\n )\n ]);\n\n return h(\n 'li',\n {\n class: [nsSubMenu.b(), nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value), nsSubMenu.is('disabled', __props.disabled)],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(true),\n onFocus: handleMouseenter\n },\n [child]\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","name","b","instance","getCurrentInstance","indexPath","parentMenu","useMenu","computed","__props","index","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","value","uid","subMenus","ref","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","level","appendToBody","popperAppendToBody","undefined","Boolean","menuTransitionName","props","collapse","namespace","fallbackPlacements","opened","openedMenus","includes","active","isActive","Object","values","forEach","subItem","activeIndex","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","color","borderBottomColor","doDestroy","popperRef","popperInstanceRef","destroy","handleCollapseToggle","handleClick","menuTrigger","disabled","handleSubMenuClick","handleMouseenter","event","_showTimeout","showTimeout","type","stop","useTimeoutFn","openMenu","vnode","el","dispatchEvent","MouseEvent","handleMouseleave","deepDispatch","closeMenu","hideTimeout","parent","watch","addSubMenu","removeSubMenu","provide","expose","onMounted","onBeforeUnmount","slots","useSlots","subMenuIcon","icon","size","expandIcon","collapseIcon","_icon","singleAttrToObj","titleCon","renderTNode","titleTag","h","Icon","class","showArrow","e","title","style","transform","ulStyle","useMenuCssVar","child","isMenuPopup","Tooltip","visible","effect","pure","offset","popperOffset","persistent","popperClass","placement","teleported","transition","gpuAcceleration","toolTipCfg","content","m","onMouseenter","evt","onMouseleave","onFocus","default","onClick","Fragment","CollapseTransition","withDirectives","role","vShow","is","ariaHaspopup","ariaExpanded"],"mappings":"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"}
@@ -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":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),s=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");const n=(t,e)=>{const r=s.useNamespace("menu");return u.computed(()=>r.cssVarBlock({level:`${e}`}))};exports.useMenuCssVar=n;
2
+ //# sourceMappingURL=use-menu-css-var.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-menu-css-var.js","sources":["../../../../../../packages/components/menu/use-menu-css-var.ts"],"sourcesContent":["import { computed } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\n\nexport const useMenuCssVar = (props: any, level: number) => {\n const ns = useNamespace('menu');\n return computed(() => {\n return ns.cssVarBlock({\n level: `${level}`\n });\n });\n};\n"],"names":["useMenuCssVar","props","level","ns","useNamespace","computed"],"mappings":"oTAGa,MAAAA,EAAgB,CAACC,EAAYC,IAAkB,CACpD,MAAAC,EAAKC,eAAa,MAAM,EAC9B,OAAOC,WAAS,IACPF,EAAG,YAAY,CACpB,MAAO,GAAGD,GAAA,CACX,CACF,CACH"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("vue");function a(t,r){const p=u.computed(()=>{let e=t.parent;const n=[r.value];for(;e.type.name!=="vft-menu";)e.props.index&&n.unshift(e.props.index),e=e.parent;return n});return{parentMenu:u.computed(()=>{let e=t.parent;for(;e&&!["vft-menu","vft-sub-menu"].includes(e.type.name);)e=e.parent;return e}),indexPath:p}}exports.default=a;
2
+ //# sourceMappingURL=use-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-menu.js","sources":["../../../../../../packages/components/menu/use-menu.ts"],"sourcesContent":["import { computed } from 'vue';\n\nimport type { ComponentInternalInstance, Ref } from 'vue';\n\n/**\n * @description menu-item 与 sub-menu 都会调用此方法\n * @author wfd\n * @date 2022/11/8 14:02\n * @example\n * @param {ComponentInternalInstance} instance\n * @param {Ref<string>} currentIndex\n * @returns {{indexPath: ComputedRef<string[]>, parentMenu: ComputedRef<ComponentInternalInstance>}}\n */\nexport default function useMenu(\n instance: ComponentInternalInstance,\n currentIndex: Ref<string>\n) {\n \n /**\n * 这个 indexPath 是如何查找的,一般我们会给 vft-sub-menu 组件一个 index 属性,由于这个文件只有 menu-item 与 sub-menu 调用,\n * 由于 sub-menu 向上查询,不会有 index 属性了,主要是不断去找 menu-item 的父组件的 props 中的 index 属性\n *\n * 所以最终 indexPath 返回 menu-item:[自身的 index,sub-menu 的 index],sub-menu: [自身的index]\n *\n * sub-menu:['mio'] menu-item:['mio', '1-2']\n * @type {ComputedRef<string[]>}\n */\n const indexPath = computed(() => {\n let parent = instance.parent!;\n \n const path = [currentIndex.value];\n while (parent.type.name !== 'vft-menu') {\n if (parent.props.index) {\n path.unshift(parent.props.index as string);\n }\n parent = parent.parent!;\n }\n return path;\n });\n \n /**\n * @description 如果是 sub-menu 文件最终返回的 parent 是 vft-menu 组件,如果是 menu-item 最终返回的是 vft-sub-menu 组件\n * @author wfd\n * @date 2022/11/8 16:23\n * @example\n * @type {ComputedRef<ComponentInternalInstance>}\n */\n const parentMenu = computed(() => {\n let parent = instance.parent;\n while (parent && !['vft-menu', 'vft-sub-menu'].includes(parent.type.name!)) {\n parent = parent.parent;\n }\n return parent!;\n });\n \n return {\n parentMenu,\n indexPath\n };\n}\n"],"names":["useMenu","instance","currentIndex","indexPath","computed","parent","path"],"mappings":"mIAawB,SAAAA,EACtBC,EACAC,EACA,CAWM,MAAAC,EAAYC,EAAAA,SAAS,IAAM,CAC/B,IAAIC,EAASJ,EAAS,OAEhB,MAAAK,EAAO,CAACJ,EAAa,KAAK,EACzB,KAAAG,EAAO,KAAK,OAAS,YACtBA,EAAO,MAAM,OACVC,EAAA,QAAQD,EAAO,MAAM,KAAe,EAE3CA,EAASA,EAAO,OAEX,OAAAC,CAAA,CACR,EAiBM,MAAA,CACL,WATiBF,EAAAA,SAAS,IAAM,CAChC,IAAIC,EAASJ,EAAS,OACf,KAAAI,GAAU,CAAC,CAAC,WAAY,cAAc,EAAE,SAASA,EAAO,KAAK,IAAK,GACvEA,EAASA,EAAO,OAEX,OAAAA,CAAA,CACR,EAIC,UAAAF,CAAA,CAEJ"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("./menu-item.js");class r{constructor(e,t){this.domNode=e,this.init(t)}init(e){const t=this.domNode.childNodes;Array.from(t).forEach(o=>{o.nodeType===1&&new i.default(o,e)})}}exports.default=r;
2
+ //# sourceMappingURL=menu-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-bar.js","sources":["../../../../../../../packages/components/menu/utils/menu-bar.ts"],"sourcesContent":["import MenuItem from './menu-item';\n\nimport type { RendererNode } from 'vue';\n\nclass Menu {\n constructor(public domNode: RendererNode, namespace: string) {\n this.init(namespace);\n }\n init(namespace: string): void {\n const menuChildren = this.domNode.childNodes;\n Array.from<Node>(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child as HTMLElement, namespace);\n }\n });\n }\n}\n\nexport default Menu;\n"],"names":["Menu","domNode","namespace","menuChildren","child","MenuItem"],"mappings":"8IAIA,MAAMA,CAAK,CACT,YAAmBC,EAAuBC,EAAmB,CAA1C,KAAA,QAAAD,EACjB,KAAK,KAAKC,CAAS,CACrB,CACA,KAAKA,EAAyB,CACtB,MAAAC,EAAe,KAAK,QAAQ,WAClC,MAAM,KAAWA,CAAY,EAAE,QAASC,GAAU,CAC5CA,EAAM,WAAa,GACjB,IAAAC,EAAA,QAASD,EAAsBF,CAAS,CAC9C,CACD,CACH,CACF"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("@vft/utils"),s=require("@vft/constants"),r=require("./submenu.js");class n{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute("tabindex","0");const t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new r.default(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",e=>{let t=!1;switch(e.code){case s.EVENT_CODE.down:{u.triggerEvent(e.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),t=!0;break}case s.EVENT_CODE.up:{u.triggerEvent(e.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),t=!0;break}case s.EVENT_CODE.tab:{u.triggerEvent(e.currentTarget,"mouseleave");break}case s.EVENT_CODE.enter:case s.EVENT_CODE.space:{t=!0,e.currentTarget.click();break}}t&&e.preventDefault()})}}exports.default=n;
2
+ //# sourceMappingURL=menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.js","sources":["../../../../../../../packages/components/menu/utils/menu-item.ts"],"sourcesContent":["import { triggerEvent } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport SubMenu from './submenu';\n\nclass MenuItem {\n public submenu: SubMenu | null = null;\n constructor(public domNode: HTMLElement, namespace: string) {\n this.submenu = null;\n this.init(namespace);\n }\n\n init(namespace: string): void {\n this.domNode.setAttribute('tabindex', '0');\n const menuChild = this.domNode.querySelector(`.${namespace}-menu`);\n if (menuChild) {\n this.submenu = new SubMenu(this, menuChild);\n }\n this.addListeners();\n }\n\n addListeners(): void {\n this.domNode.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter');\n this.submenu && this.submenu.gotoSubIndex(0);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter');\n this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseleave');\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n (event.currentTarget as HTMLElement).click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n }\n });\n }\n}\n\nexport default MenuItem;\n"],"names":["MenuItem","domNode","namespace","menuChild","SubMenu","event","prevDef","EVENT_CODE","triggerEvent"],"mappings":"gMAIA,MAAMA,CAAS,CAEb,YAAmBC,EAAsBC,EAAmB,CAAzC,KAAA,QAAAD,EADnB,KAAO,QAA0B,KAE/B,KAAK,QAAU,KACf,KAAK,KAAKC,CAAS,CACrB,CAEA,KAAKA,EAAyB,CACvB,KAAA,QAAQ,aAAa,WAAY,GAAG,EACzC,MAAMC,EAAY,KAAK,QAAQ,cAAc,IAAID,QAAgB,EAC7DC,IACF,KAAK,QAAU,IAAIC,EAAQ,QAAA,KAAMD,CAAS,GAE5C,KAAK,aAAa,CACpB,CAEA,cAAqB,CACnB,KAAK,QAAQ,iBAAiB,UAAYE,GAAyB,CACjE,IAAIC,EAAU,GACd,OAAQD,EAAM,KAAM,CAClB,KAAKE,EAAAA,WAAW,KAAM,CACPC,EAAAA,aAAAH,EAAM,cAA8B,YAAY,EAC7D,KAAK,SAAW,KAAK,QAAQ,aAAa,CAAC,EACjCC,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,GAAI,CACLC,EAAAA,aAAAH,EAAM,cAA8B,YAAY,EACxD,KAAA,SAAW,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,OAAS,CAAC,EACpEC,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,IAAK,CACNC,EAAAA,aAAAH,EAAM,cAA8B,YAAY,EAC7D,KACF,CACA,KAAKE,EAAAA,WAAW,MAChB,KAAKA,EAAAA,WAAW,MAAO,CACXD,EAAA,GACTD,EAAM,cAA8B,QACrC,KACF,CACF,CACIC,GACFD,EAAM,eAAe,CACvB,CACD,CACH,CACF"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("@vft/utils"),t=require("@vft/constants");class o{constructor(e,u){this.parent=e,this.domNode=u,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){const e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,u=>{u.addEventListener("keydown",s=>{let r=!1;switch(s.code){case t.EVENT_CODE.down:{this.gotoSubIndex(this.subIndex+1),r=!0;break}case t.EVENT_CODE.up:{this.gotoSubIndex(this.subIndex-1),r=!0;break}case t.EVENT_CODE.tab:{n.triggerEvent(e,"mouseleave");break}case t.EVENT_CODE.enter:case t.EVENT_CODE.space:{r=!0,s.currentTarget.click();break}}return r&&(s.preventDefault(),s.stopPropagation()),!1})})}}exports.default=o;
2
+ //# sourceMappingURL=submenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submenu.js","sources":["../../../../../../../packages/components/menu/utils/submenu.ts"],"sourcesContent":["// @ts-nocheck\nimport { triggerEvent } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport type MenuItem from './menu-item';\n\nclass SubMenu {\n public subMenuItems: NodeList;\n public subIndex = 0;\n constructor(public parent: MenuItem, public domNode: ParentNode) {\n this.subIndex = 0;\n this.init();\n }\n\n init(): void {\n this.subMenuItems = this.domNode.querySelectorAll('li');\n this.addListeners();\n }\n\n gotoSubIndex(idx: number): void {\n if (idx === this.subMenuItems.length) {\n idx = 0;\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1;\n }\n (this.subMenuItems[idx] as HTMLElement).focus();\n this.subIndex = idx;\n }\n\n addListeners(): void {\n const parentNode = this.parent.domNode;\n Array.prototype.forEach.call(this.subMenuItems, (el: Element) => {\n el.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n this.gotoSubIndex(this.subIndex + 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n this.gotoSubIndex(this.subIndex - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(parentNode as HTMLElement, 'mouseleave');\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n (event.currentTarget as HTMLElement).click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n event.stopPropagation();\n }\n return false;\n });\n });\n }\n}\n\nexport default SubMenu;\n"],"names":["SubMenu","parent","domNode","idx","parentNode","el","event","prevDef","EVENT_CODE","triggerEvent"],"mappings":"sKAKA,MAAMA,CAAQ,CAGZ,YAAmBC,EAAyBC,EAAqB,CAA9C,KAAA,OAAAD,EAAyB,KAAA,QAAAC,EAD5C,KAAO,SAAW,EAEhB,KAAK,SAAW,EAChB,KAAK,KAAK,CACZ,CAEA,MAAa,CACX,KAAK,aAAe,KAAK,QAAQ,iBAAiB,IAAI,EACtD,KAAK,aAAa,CACpB,CAEA,aAAaC,EAAmB,CAC1BA,IAAQ,KAAK,aAAa,OACtBA,EAAA,EACGA,EAAM,IACTA,EAAA,KAAK,aAAa,OAAS,GAElC,KAAK,aAAaA,CAAG,EAAkB,MAAM,EAC9C,KAAK,SAAWA,CAClB,CAEA,cAAqB,CACb,MAAAC,EAAa,KAAK,OAAO,QAC/B,MAAM,UAAU,QAAQ,KAAK,KAAK,aAAeC,GAAgB,CAC5DA,EAAA,iBAAiB,UAAYC,GAAyB,CACvD,IAAIC,EAAU,GACd,OAAQD,EAAM,KAAM,CAClB,KAAKE,EAAAA,WAAW,KAAM,CACf,KAAA,aAAa,KAAK,SAAW,CAAC,EACzBD,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,GAAI,CACb,KAAA,aAAa,KAAK,SAAW,CAAC,EACzBD,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,IAAK,CACnBC,eAAaL,EAA2B,YAAY,EACpD,KACF,CACA,KAAKI,EAAAA,WAAW,MAChB,KAAKA,EAAAA,WAAW,MAAO,CACXD,EAAA,GACTD,EAAM,cAA8B,QACrC,KACF,CACF,CACA,OAAIC,IACFD,EAAM,eAAe,EACrBA,EAAM,gBAAgB,GAEjB,EAAA,CACR,CAAA,CACF,CACH,CACF"}
@@ -0,0 +1,2 @@
1
+ "use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-menu-item.css");
2
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";require("../../../theme-style/src/base.scss.js");require("../../../theme-style/src/menu-item.scss.js");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-menu-item-group.css");
2
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";require("../../../theme-style/src/base.scss.js");require("../../../theme-style/src/menu-item-group.scss.js");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("../../utils/vue/install.js");require("vue");require("@vue/shared");require("@vft/utils");const s=require("./multiple-tabs.vue2.js"),r=require("./use/use-tab-dropdown.js"),e=require("./use/use-multiple-tabs.js"),t=u.withInstall(s.default);exports.useTabDropdown=r.useTabDropdown;exports.initAffixTabs=e.initAffixTabs;exports.useTabsDrag=e.useTabsDrag;exports.VftMultipleTabs=t;exports.default=t;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/multiple-tabs/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport MultipleTabs from './multiple-tabs.vue';\n\nexport const VftMultipleTabs = withInstall(MultipleTabs)\nexport default VftMultipleTabs\nexport * from './use';\nexport * from './types';\n"],"names":["VftMultipleTabs","withInstall","MultipleTabs"],"mappings":"gVAIaA,EAAkBC,cAAYC,EAAY,OAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./multiple-tabs.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=multiple-tabs.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiple-tabs.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("@vft/router"),x=require("@vft/store"),w=require("@vft/use"),g=require("@vft/utils"),I=require("../../../node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js"),q=require("vue-router"),K=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("../divider/index.js");require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");const y=require("../tabs/index.js");require("../popper/index.js");require("../collapse-transition/index.js");require("../tooltip/index.js");require("../popover/index.js");require("../menu/index.js");require("./index.js");const A=require("./tab-content.vue2.js"),R=require("./use/use-multiple-tabs.js"),_=K.useNamespace("multiple-tabs"),z=e.defineComponent({name:_.b()}),D=e.defineComponent({...z,props:{tabsStyle:null,contextMenuStyle:null,canDrag:{type:Boolean}},setup(m){const u=R.initAffixTabs();m.canDrag&&R.useTabsDrag(u);const f=x.useMultipleTabStore(),a=e.ref(""),l=e.ref(0),v=e.ref(),h=q.useRouter(),{go:b}=s.useRouterHelper(),d=e.computed(()=>f.getTabList.filter(t=>{var n;return!((n=t.meta)!=null&&n.hideTab)}));e.watchEffect(()=>{var t;if(a.value){const n=d.value.findIndex(r=>s.getRouterKeyPath(r)===a.value);n===-1?l.value=((t=d.value)==null?void 0:t.length)-1:l.value=n,l.value=l.value<(u==null?void 0:u.length)?(u==null?void 0:u.length)-1:l.value}}),q.onBeforeRouteLeave(()=>{v.value=e.unref(h.currentRoute)}),s.listenerRouteChange(t=>{if(!t)return;const{meta:n={}}=t,{currentActivePath:r,hideTab:o}=n,i=o?r:null,c=s.getRouterKeyPath(t);if(a.value!==c&&(a.value=c),i){let p=h.getRoutes().find(V=>V.path===r);p&&f.addTab(p,e.unref(v),l.value,t)}else f.addTab(e.unref(t),e.unref(v),l.value)});function C(t){var o,i;if(a.value===t.paneName)return;const n=d.value[t.attrs.index];a.value=t.paneName;const r=(i=(o=n==null?void 0:n.meta)==null?void 0:o.hideActiveRoute)==null?void 0:i.fullPath;b(r||n.fullPath||n.path)}function T(t){f.closeTabByKey(t,h)}const[S,P]=w.useRefs();function M(t){const n=t.pane.attrs.index,r=t.event;S.value[n].handleContext(r)}const k=e.computed(()=>{let t={padding:"4px 0 0","header-height":"26px","item-color":"#5C5C5C","item-bg-color":"#f8f8f8","font-size":"13px","item-padding":"0 10px","close-icon-left":"8px","item-distance":"10px","item-max-width":"348px","header-margin":"0 0 0 8px"};return{...g.generateCssVars(t,"tabs"),...m.tabsStyle}}),{closeCurrent:B}=x.useTabs();I.default("command+e, ctrl+e",function(){return B(),!1});const N=e.computed(()=>({...g.generateCssVars({border:"1px solid #dcdfe6","sub-item-height":"40px","item-min-width":"150px"},"menu"),...m.contextMenuStyle}));return(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(_).b()),style:e.normalizeStyle(e.unref(k))},[e.createVNode(e.unref(y.VftTabs),{"model-value":a.value,"onUpdate:modelValue":n[0]||(n[0]=r=>a.value=r),type:"card",onTabClick:C,onTabRemove:T,onTabContextMenu:M,closeIconCfg:{color:"white"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(r,o)=>{var i;return e.openBlock(),e.createBlock(e.unref(y.VftTabPane),{key:e.unref(s.getRouterKeyPath)(r)+o,closable:!((i=r.meta)!=null&&i.affix),index:o,name:e.unref(s.getRouterKeyPath)(r)},{label:e.withCtx(()=>{var c;return[e.createVNode(A.default,{contextMenuStyle:e.unref(N),affixNum:(c=e.unref(u))==null?void 0:c.length,ref_for:!0,ref:e.unref(P)(o),tabItem:r},null,8,["contextMenuStyle","affixNum","tabItem"])]}),_:2},1032,["closable","index","name"])}),128))]),_:1},8,["model-value"])],6))}});exports.default=D;
2
+ //# sourceMappingURL=multiple-tabs.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiple-tabs.vue2.js","sources":["../../../../../../packages/components/multiple-tabs/multiple-tabs.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('multiple-tabs')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { getRouterKeyPath, listenerRouteChange, useRouterHelper } from '@vft/router';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\nimport { useRefs } from '@vft/use';\nimport { generateCssVars } from '@vft/utils';\nimport hotkeys from 'hotkeys-js';\nimport { computed, ref, unref, watchEffect } from 'vue';\nimport type { RouteLocationNormalized, RouteMeta } from 'vue-router';\nimport { useRouter, onBeforeRouteLeave } from 'vue-router';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { VftTabs, VftTabPane, type TabsPaneContext } from '@vft-ui/components';\n\nimport TabContent from './tab-content.vue';\nimport type { TabContentExpose } from './types';\nimport { initAffixTabs, useTabsDrag } from './use';\n\ninterface MultipleTabsProps {\n tabsStyle?: Record<string, Numberish>;\n contextMenuStyle?: Record<string, Numberish>;\n canDrag?: boolean;\n}\n\ndefineProps({\n \"tabsStyle\": null,\n \"contextMenuStyle\": null,\n \"canDrag\": { type: Boolean, }\n})\n\n\n\n;\n\nconst affixList = initAffixTabs();\n\nif (__props.canDrag) {\n useTabsDrag(affixList);\n}\n\nconst tabStore = useMultipleTabStore();\n\n// active path for tab\nconst activePathRef = ref('');\nconst activeIndex = ref(0);\nconst fromRoute = ref();\n\nconst router = useRouter();\nconst { go } = useRouterHelper();\n\n// get current tab list\nconst getTabsState = computed(() => {\n return tabStore.getTabList.filter((item) => {\n return !item.meta?.hideTab;\n });\n});\n\n\nwatchEffect(() => {\n if (activePathRef.value) {\n const _activeIndex = getTabsState.value.findIndex(item => {\n return getRouterKeyPath(item) === activePathRef.value;\n });\n if (_activeIndex === -1) {\n activeIndex.value = getTabsState.value?.length - 1;\n } else {\n activeIndex.value = _activeIndex;\n }\n activeIndex.value = activeIndex.value < affixList?.length ? affixList?.length - 1 : activeIndex.value;\n }\n});\n\nonBeforeRouteLeave(() => {\n fromRoute.value = unref(router.currentRoute);\n});\n\nlistenerRouteChange((route) => {\n if (!route) {\n return;\n }\n\n const { meta = {} } = route;\n const { currentActivePath, hideTab } = meta as RouteMeta;\n\n const isHide = !hideTab ? null : currentActivePath;\n\n // set current active tab value\n const activePath = getRouterKeyPath(route);\n\n if (activePathRef.value !== activePath) {\n activePathRef.value = activePath;\n }\n\n if (isHide) {\n // 如果当前 tab 是隐藏的,则从路由中根据 currentActivePath 寻找到此路由的信息,然后在 tabStore 添加此路由\n let findParentRoute = router.getRoutes().find((item) => item.path === currentActivePath);\n findParentRoute && tabStore.addTab(findParentRoute as unknown as RouteLocationNormalized, unref(fromRoute), activeIndex.value, route);\n } else {\n tabStore.addTab(unref(route), unref(fromRoute), activeIndex.value);\n }\n});\n\n// 点击 tab 根据 tab 传入的 path 路径,跳转到对应页面\nfunction handleClick (pane: TabsPaneContext) {\n if (activePathRef.value === pane.paneName) {\n \treturn;\n }\n const clickTab = getTabsState.value[pane.attrs.index];\n activePathRef.value = pane.paneName as string;\n const hideActiveRoutePath = (clickTab?.meta?.hideActiveRoute as RouteLocationNormalized)?.fullPath;\n if (hideActiveRoutePath) {\n go(hideActiveRoutePath);\n } else {\n go(clickTab.fullPath || clickTab.path);\n }\n}\n\n// click x close tab\nfunction handleRemove (targetPath: string) {\n tabStore.closeTabByKey(targetPath, router);\n}\n\nconst [refs, setRefs] = useRefs<TabContentExpose>();\n\nfunction handleContextMenu (data: {pane: {attrs: {index: number;};}; event: any;}) {\n const _index = data.pane.attrs.index;\n const _event = data.event;\n refs.value[_index].handleContext(_event);\n}\n\nconst _tabsStyle = computed(() => {\n let initTabStyle: Record<string, Numberish> = {\n padding: '4px 0 0',\n 'header-height': '26px',\n 'item-color': '#5C5C5C',\n 'item-bg-color': '#f8f8f8',\n 'font-size': '13px',\n 'item-padding': '0 10px',\n 'close-icon-left': '8px',\n 'item-distance': '10px',\n 'item-max-width': '348px',\n 'header-margin': '0 0 0 8px'\n };\n\n return { ...generateCssVars(initTabStyle, 'tabs'), ...__props.tabsStyle };\n});\n\nconst { closeCurrent } = useTabs();\n\nhotkeys('command+e, ctrl+e', function () {\n closeCurrent();\n return false;\n});\n\nconst _contextMenuStyle = computed(() => {\n return {\n ...generateCssVars({\n border: '1px solid #dcdfe6',\n 'sub-item-height': '40px',\n 'item-min-width': '150px'\n }, 'menu'),\n ...__props.contextMenuStyle\n };\n});\n</script>\n\n<template>\n <div :class=\"ns.b()\" :style=\"_tabsStyle\">\n <vft-tabs\n v-model:model-value=\"activePathRef\"\n type=\"card\"\n @tabClick=\"handleClick\"\n @tabRemove=\"handleRemove\"\n @tabContextMenu=\"handleContextMenu\"\n :closeIconCfg=\"{ color: 'white'}\"\n >\n <!--why key add index:key not update after sort -->\n <template v-for=\"(item, index) in getTabsState\" :key=\"getRouterKeyPath(item) + index\">\n <vft-tab-pane :closable=\"!(item.meta?.affix)\" :index=\"index\" :name=\"getRouterKeyPath(item)\">\n <template #label>\n <tab-content :contextMenuStyle=\"_contextMenuStyle\" :affixNum=\"affixList?.length\"\n :ref=\"setRefs(index)\" :tabItem=\"item\" />\n </template>\n </vft-tab-pane>\n </template>\n </vft-tabs>\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","affixList","initAffixTabs","__props","useTabsDrag","tabStore","useMultipleTabStore","activePathRef","ref","activeIndex","fromRoute","router","useRouter","go","useRouterHelper","getTabsState","computed","item","_a","watchEffect","_activeIndex","getRouterKeyPath","onBeforeRouteLeave","unref","listenerRouteChange","route","meta","currentActivePath","hideTab","isHide","activePath","findParentRoute","handleClick","pane","clickTab","hideActiveRoutePath","_b","handleRemove","targetPath","refs","setRefs","useRefs","handleContextMenu","data","_index","_event","_tabsStyle","initTabStyle","generateCssVars","closeCurrent","useTabs","hotkeys","_contextMenuStyle"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-multiple-tabs.css");
2
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";require("../../../theme-style/src/base.scss.js");require("../../../theme-style/src/multiple-tabs.scss.js");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./tab-content.vue2.js");exports.default=e.default;
2
+ //# sourceMappingURL=tab-content.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-content.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vft/utils");require("@vft/use");require("../divider/index.js");require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("../tabs/index.js");require("../popper/index.js");require("../collapse-transition/index.js");require("../tooltip/index.js");require("../popover/index.js");require("../menu/index.js");require("./index.js");const s=require("../context-menu/useContextMenu.js"),c=require("./use/use-tab-dropdown.js");require("vue-router");require("@vft/store");const q=["title","onContextmenu"],m=e.defineComponent({__name:"tab-content",props:{tabItem:null,affixNum:null,contextMenuStyle:null},setup(t,{expose:i}){const[o]=s.useContextMenu(),n=e.computed(()=>t.tabItem.meta&&t.tabItem.meta.title),{getDropMenuList:l,handleContextMenu:a}=c.useTabDropdown(t.tabItem,t.affixNum);function u(r){a(t.tabItem)(r),o({event:r,styles:t.contextMenuStyle,items:l.value})}return i({handleContext:u}),(r,d)=>(e.openBlock(),e.createElementBlock("span",{title:e.unref(n),class:"vri-multiple-tabs__title",onContextmenu:e.withModifiers(u,["stop"])},e.toDisplayString(e.unref(n)),41,q))}});exports.default=m;
2
+ //# sourceMappingURL=tab-content.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-content.vue2.js","sources":["../../../../../../packages/components/multiple-tabs/tab-content.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { useContextMenu } from '@vft-ui/components/context-menu';\nimport type { TabContentExpose } from './types';\nimport { useTabDropdown } from './use';\n\ninterface Props {\n tabItem: RouteLocationNormalized;\n affixNum: number;\n contextMenuStyle?: Record<string, Numberish>;\n}\n\ndefineProps({\n \"tabItem\": null,\n \"affixNum\": null,\n \"contextMenuStyle\": null\n})\n\nconst [createContextMenu] = useContextMenu();\n\nconst getTitle = computed(() => {\n return __props.tabItem.meta && (__props.tabItem.meta.title as string);\n});\n\nconst { getDropMenuList, handleContextMenu } = useTabDropdown(__props.tabItem, __props.affixNum);\n\nfunction handleContext(e: MouseEvent) {\n handleContextMenu(__props.tabItem)(e);\n createContextMenu({\n event: e,\n styles: __props.contextMenuStyle,\n items: getDropMenuList.value\n });\n}\n\ndefineExpose<TabContentExpose>({\n handleContext\n});\n</script>\n\n<template>\n <span :title=\"getTitle\" class=\"vri-multiple-tabs__title\" @contextmenu.stop=\"handleContext\">{{ getTitle }}</span>\n</template>\n"],"names":["createContextMenu","useContextMenu","getTitle","computed","__props","getDropMenuList","handleContextMenu","useTabDropdown","handleContext","e","expose"],"mappings":"w1BAmBM,KAAA,CAACA,CAAiB,EAAIC,EAAAA,iBAEtBC,EAAWC,EAAAA,SAAS,IACjBC,EAAQ,QAAQ,MAASA,EAAQ,QAAQ,KAAK,KACtD,EAEK,CAAE,gBAAAC,EAAiB,kBAAAC,GAAsBC,EAAAA,eAAeH,EAAQ,QAASA,EAAQ,QAAQ,EAE/F,SAASI,EAAcC,EAAe,CAClBH,EAAAF,EAAQ,OAAO,EAAEK,CAAC,EAClBT,EAAA,CAChB,MAAOS,EACP,OAAQL,EAAQ,iBAChB,MAAOC,EAAgB,KAAA,CACxB,CACH,CAE+B,OAAAK,EAAA,CAC7B,cAAAF,CAAA,CACD"}
@@ -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":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./use-tab-dropdown.js"),e=require("./use-multiple-tabs.js");exports.useTabDropdown=s.useTabDropdown;exports.initAffixTabs=e.initAffixTabs;exports.useTabsDrag=e.useTabsDrag;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@vft/use"),u=require("@vft/utils"),f=require("vue"),T=require("vue-router"),b=require("@vft/store");function x(){const n=f.ref([]),s=b.useMultipleTabStore(),i=T.useRouter();function o(t){const e=[];return t&&t.forEach(l=>{var c;(c=l.meta)!=null&&c.affix&&e.push(f.toRaw(l))}),e}function a(){const t=o(i.getRoutes());u.arrSort(t,["meta","order"]),n.value=t;for(const e of t)s.addTab({meta:e.meta,name:e.name,path:e.path})}let r=!1;return r||(a(),r=!0),n.value.map(t=>{var e;return(e=t.meta)==null?void 0:e.title}).filter(Boolean)}function m(n){const s=b.useMultipleTabStore();f.nextTick(()=>{var a;const i=(a=document.querySelectorAll(".vft-tabs__nav"))==null?void 0:a[0],{initSortable:o}=d.useSortable(i,{draggable:".is-closable",filter:r=>{var e;const t=(e=r==null?void 0:r.target)==null?void 0:e.innerText;return t?n.includes(t):!1},onEnd:r=>{const{oldIndex:t,newIndex:e}=r;u.isNullOrUndefined(t)||u.isNullOrUndefined(e)||t===e||s.sortTabs(t,e)}});o()})}exports.initAffixTabs=x;exports.useTabsDrag=m;
2
+ //# sourceMappingURL=use-multiple-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-multiple-tabs.js","sources":["../../../../../../../packages/components/multiple-tabs/use/use-multiple-tabs.ts"],"sourcesContent":["import { useSortable } from '@vft/use';\nimport { arrSort, isNullOrUndefined } from '@vft/utils';\nimport type { SortableEvent } from 'sortablejs';\nimport { nextTick, ref, toRaw } from 'vue';\nimport type { RouteLocationNormalized } from 'vue-router';\nimport { useRouter } from 'vue-router';\nimport { useMultipleTabStore } from '@vft/store';\n\n/**\n * @description 初始化需要固定的 tab 标签\n * @author wfd\n * @date 2022/10/15 19:03\n * @example\n * @returns {string[]}\n */\nexport function initAffixTabs(): string[] {\n const affixList = ref<RouteLocationNormalized[]>([]);\n\n const tabStore = useMultipleTabStore();\n const router = useRouter();\n\n // 过滤需要固定的标签\n function filterAffixTabs(routes: RouteLocationNormalized[]) {\n const tabs: RouteLocationNormalized[] = [];\n routes &&\n routes.forEach((route) => {\n if (route.meta?.affix) {\n // console.log(route, 777, toRaw(route));\n tabs.push(toRaw(route));\n }\n });\n return tabs;\n }\n\n function addAffixTabs() {\n const affixTabs = filterAffixTabs(router.getRoutes() as unknown as RouteLocationNormalized[]);\n\n arrSort(affixTabs, ['meta', 'order']);\n\n affixList.value = affixTabs;\n\n for (const tab of affixTabs) {\n tabStore.addTab({\n meta: tab.meta,\n name: tab.name,\n path: tab.path\n } as RouteLocationNormalized);\n }\n }\n\n let isAddAffix = false;\n\n // 开始执行固定标签\n if (!isAddAffix) {\n addAffixTabs();\n isAddAffix = true;\n }\n return affixList.value.map((item) => item.meta?.title).filter(Boolean) as string[];\n}\n\nexport function useTabsDrag(affixTextList: string[]) {\n const tabStore = useMultipleTabStore();\n nextTick(() => {\n const el = document.querySelectorAll('.vft-tabs__nav')?.[0] as HTMLElement;\n\n const { initSortable } = useSortable(el, {\n draggable: '.is-closable',\n filter: (e) => {\n const text = (e?.target as HTMLElement)?.innerText;\n if (!text) return false;\n return affixTextList.includes(text);\n },\n\n onEnd: (evt: SortableEvent) => {\n const { oldIndex, newIndex } = evt;\n\n if (isNullOrUndefined(oldIndex) || isNullOrUndefined(newIndex) || oldIndex === newIndex) {\n return;\n }\n\n tabStore.sortTabs(oldIndex, newIndex);\n }\n });\n initSortable();\n });\n}\n"],"names":["initAffixTabs","affixList","ref","tabStore","useMultipleTabStore","router","useRouter","filterAffixTabs","routes","tabs","route","_a","toRaw","addAffixTabs","affixTabs","arrSort","tab","isAddAffix","item","useTabsDrag","affixTextList","nextTick","el","initSortable","useSortable","e","text","evt","oldIndex","newIndex","isNullOrUndefined"],"mappings":"qMAeO,SAASA,GAA0B,CAClC,MAAAC,EAAYC,MAA+B,CAAA,CAAE,EAE7CC,EAAWC,EAAAA,sBACXC,EAASC,EAAAA,YAGf,SAASC,EAAgBC,EAAmC,CAC1D,MAAMC,EAAkC,CAAA,EAEtC,OAAAD,GAAAA,EAAO,QAASE,GAAU,QACpBC,EAAAD,EAAM,OAAN,MAAAC,EAAY,OAETF,EAAA,KAAKG,QAAMF,CAAK,CAAC,CACxB,CACD,EACID,CACT,CAEA,SAASI,GAAe,CACtB,MAAMC,EAAYP,EAAgBF,EAAO,UAAmD,CAAA,EAE5FU,EAAAA,QAAQD,EAAW,CAAC,OAAQ,OAAO,CAAC,EAEpCb,EAAU,MAAQa,EAElB,UAAWE,KAAOF,EAChBX,EAAS,OAAO,CACd,KAAMa,EAAI,KACV,KAAMA,EAAI,KACV,KAAMA,EAAI,IAAA,CACgB,CAEhC,CAEA,IAAIC,EAAa,GAGjB,OAAKA,IACUJ,IACAI,EAAA,IAERhB,EAAU,MAAM,IAAKiB,GAAA,OAAS,OAAAP,EAAAO,EAAK,OAAL,YAAAP,EAAW,MAAK,EAAE,OAAO,OAAO,CACvE,CAEO,SAASQ,EAAYC,EAAyB,CACnD,MAAMjB,EAAWC,EAAAA,sBACjBiB,EAAAA,SAAS,IAAM,OACb,MAAMC,GAAKX,EAAA,SAAS,iBAAiB,gBAAgB,IAA1C,YAAAA,EAA8C,GAEnD,CAAE,aAAAY,CAAA,EAAiBC,EAAA,YAAYF,EAAI,CACvC,UAAW,eACX,OAASG,GAAM,OACP,MAAAC,GAAQf,EAAAc,GAAA,YAAAA,EAAG,SAAH,YAAAd,EAA2B,UACzC,OAAKe,EACEN,EAAc,SAASM,CAAI,EADhB,EAEpB,EAEA,MAAQC,GAAuB,CACvB,KAAA,CAAE,SAAAC,EAAU,SAAAC,CAAa,EAAAF,EAE3BG,EAAAA,kBAAkBF,CAAQ,GAAKE,EAAAA,kBAAkBD,CAAQ,GAAKD,IAAaC,GAItE1B,EAAA,SAASyB,EAAUC,CAAQ,CACtC,CAAA,CACD,EACYN,GAAA,CACd,CACH"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@vft/router"),u=require("vue"),g=require("@vft/store");function D(e,r){const i=u.reactive({current:null,currentIndex:0}),n=g.useMultipleTabStore(),{refreshPage:a,closeAll:h,close:b,closeLeft:v,closeOther:L,closeRight:T,newWinTab:f}=g.useTabs(),x=u.computed(()=>{if(!e)return;const{meta:o}=e,t=i.currentIndex,s=t===0||t<=r,c=n.getTabList.length<=r||t===n.getTabList.length-1&&n.getLastDragEndIndex>=0,C=n.getTabList.length===r||n.getTabList.length===r+1&&t===r,l=n.getTabList.length===r;return[{iconCfg:{icon:"vi-refresh"},text:"刷新",handler:()=>a(e)},{iconCfg:{icon:"vi-new-page"},text:"新页面打开",handler:()=>f(e),divider:!0},{iconCfg:{icon:"vi-close"},text:"关闭标签页",disabled:!!(o!=null&&o.affix)||l,handler:()=>b(e)},{iconCfg:{icon:"vi-close-left"},text:"关闭左侧标签页",disabled:s,handler:()=>v(e)},{iconCfg:{icon:"vi-close-right"},text:"关闭右侧标签页",disabled:c,divider:!0,handler:()=>T(e)},{iconCfg:{icon:"vi-close-other"},text:"关闭其它标签页",disabled:C,handler:()=>L(e)},{iconCfg:{icon:"vi-close-all"},text:"关闭所有标签页",disabled:l,handler:()=>h()}]});function p(o){return t=>{if(!o)return;t==null||t.preventDefault();const s=n.getTabList.findIndex(c=>d.getRouterKeyPath(c)===d.getRouterKeyPath(o));i.current=o,i.currentIndex=s}}return{getDropMenuList:x,handleContextMenu:p}}exports.useTabDropdown=D;
2
+ //# sourceMappingURL=use-tab-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tab-dropdown.js","sources":["../../../../../../../packages/components/multiple-tabs/use/use-tab-dropdown.ts"],"sourcesContent":["import { getRouterKeyPath } from '@vft/router';\nimport { computed, reactive, unref } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { type ContextMenuItem } from '@vft-ui/components/context-menu';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\n\nexport function useTabDropdown(tabItem: RouteLocationNormalized, affixNum: number) {\n // 记录当前点击多 tab 的索引与 tab 的信息\n const state = reactive({\n current: null as Nullable<RouteLocationNormalized>,\n currentIndex: 0\n });\n\n const tabStore = useMultipleTabStore();\n const { refreshPage, closeAll, close, closeLeft, closeOther, closeRight, newWinTab } = useTabs();\n\n /**\n * @description 多 tab 菜单列表\n */\n const getDropMenuList = computed(() => {\n if (!tabItem) {\n return;\n }\n const { meta } = tabItem;\n\n const index = state.currentIndex;\n\n // 关闭左侧标签页\n const closeLeftDisabled = index === 0 || index <= affixNum;\n // 关闭右侧标签页\n const closeRightDisabled = tabStore.getTabList.length <= affixNum || (index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0);\n // 关闭其他\n const closeOtherDisabled = tabStore.getTabList.length === affixNum || (tabStore.getTabList.length === affixNum + 1 && index === affixNum);\n // 关闭所有\n const disabled = tabStore.getTabList.length === affixNum;\n\n const dropMenuList: ContextMenuItem[] = [\n {\n iconCfg: { icon: 'vi-refresh' },\n text: '刷新',\n handler: () => refreshPage(tabItem)\n },\n {\n iconCfg: { icon: 'vi-new-page' },\n text: '新页面打开',\n handler: () => newWinTab(tabItem),\n divider: true\n },\n {\n iconCfg: { icon: 'vi-close' },\n text: '关闭标签页',\n disabled: !!meta?.affix || disabled,\n handler: () => close(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-left' },\n text: '关闭左侧标签页',\n disabled: closeLeftDisabled,\n handler: () => closeLeft(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-right' },\n text: '关闭右侧标签页',\n disabled: closeRightDisabled,\n divider: true,\n handler: () => closeRight(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-other' },\n text: '关闭其它标签页',\n disabled: closeOtherDisabled,\n handler: () => closeOther(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-all' },\n text: '关闭所有标签页',\n disabled,\n handler: () => closeAll()\n }\n ];\n\n return dropMenuList;\n });\n\n // 点击 tab 右侧菜单事件\n function handleContextMenu(tabItem: RouteLocationNormalized) {\n return (e: Event) => {\n if (!tabItem) {\n return;\n }\n e?.preventDefault();\n\n // 获取当前点击的 tab 在多 tab 列表中的位置\n const index = tabStore.getTabList.findIndex((tab) => getRouterKeyPath(tab) === getRouterKeyPath(tabItem));\n state.current = tabItem;\n state.currentIndex = index;\n };\n }\n\n return { getDropMenuList, handleContextMenu };\n}\n"],"names":["useTabDropdown","tabItem","affixNum","state","reactive","tabStore","useMultipleTabStore","refreshPage","closeAll","close","closeLeft","closeOther","closeRight","newWinTab","useTabs","getDropMenuList","computed","meta","index","closeLeftDisabled","closeRightDisabled","closeOtherDisabled","disabled","handleContextMenu","e","tab","getRouterKeyPath"],"mappings":"wJAMgB,SAAAA,EAAeC,EAAkCC,EAAkB,CAEjF,MAAMC,EAAQC,EAAAA,SAAS,CACrB,QAAS,KACT,aAAc,CAAA,CACf,EAEKC,EAAWC,EAAAA,sBACX,CAAE,YAAAC,EAAa,SAAAC,EAAU,MAAAC,EAAO,UAAAC,EAAW,WAAAC,EAAY,WAAAC,EAAY,UAAAC,GAAcC,EAAAA,UAKjFC,EAAkBC,EAAAA,SAAS,IAAM,CACrC,GAAI,CAACf,EACH,OAEI,KAAA,CAAE,KAAAgB,CAAS,EAAAhB,EAEXiB,EAAQf,EAAM,aAGdgB,EAAoBD,IAAU,GAAKA,GAAShB,EAE5CkB,EAAqBf,EAAS,WAAW,QAAUH,GAAagB,IAAUb,EAAS,WAAW,OAAS,GAAKA,EAAS,qBAAuB,EAE5IgB,EAAqBhB,EAAS,WAAW,SAAWH,GAAaG,EAAS,WAAW,SAAWH,EAAW,GAAKgB,IAAUhB,EAE1HoB,EAAWjB,EAAS,WAAW,SAAWH,EA+CzC,MA7CiC,CACtC,CACE,QAAS,CAAE,KAAM,YAAa,EAC9B,KAAM,KACN,QAAS,IAAMK,EAAYN,CAAO,CACpC,EACA,CACE,QAAS,CAAE,KAAM,aAAc,EAC/B,KAAM,QACN,QAAS,IAAMY,EAAUZ,CAAO,EAChC,QAAS,EACX,EACA,CACE,QAAS,CAAE,KAAM,UAAW,EAC5B,KAAM,QACN,SAAU,CAAC,EAACgB,GAAA,MAAAA,EAAM,QAASK,EAC3B,QAAS,IAAMb,EAAMR,CAAO,CAC9B,EACA,CACE,QAAS,CAAE,KAAM,eAAgB,EACjC,KAAM,UACN,SAAUkB,EACV,QAAS,IAAMT,EAAUT,CAAO,CAClC,EACA,CACE,QAAS,CAAE,KAAM,gBAAiB,EAClC,KAAM,UACN,SAAUmB,EACV,QAAS,GACT,QAAS,IAAMR,EAAWX,CAAO,CACnC,EACA,CACE,QAAS,CAAE,KAAM,gBAAiB,EAClC,KAAM,UACN,SAAUoB,EACV,QAAS,IAAMV,EAAWV,CAAO,CACnC,EACA,CACE,QAAS,CAAE,KAAM,cAAe,EAChC,KAAM,UACN,SAAAqB,EACA,QAAS,IAAMd,EAAS,CAC1B,CAAA,CAGK,CACR,EAGD,SAASe,EAAkBtB,EAAkC,CAC3D,OAAQuB,GAAa,CACnB,GAAI,CAACvB,EACH,OAEFuB,GAAA,MAAAA,EAAG,iBAGG,MAAAN,EAAQb,EAAS,WAAW,UAAWoB,GAAQC,EAAA,iBAAiBD,CAAG,IAAMC,mBAAiBzB,CAAO,CAAC,EACxGE,EAAM,QAAUF,EAChBE,EAAM,aAAee,CAAA,CAEzB,CAEO,MAAA,CAAE,gBAAAH,EAAiB,kBAAAQ,EAC5B"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=(t,e)=>{const o=e.arg||e.value,r=o==null?void 0:o.popperRef;r&&(r.triggerRef=t)},u={mounted(t,e){s(t,e)},updated(t,e){s(t,e)}},a="popover";exports.VPopover=a;exports.default=u;
2
+ //# sourceMappingURL=directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive.js","sources":["../../../../../../packages/components/popover/directive.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\n// import type { PopoverInstance } from './popover'\n\nconst attachEvents = (el: HTMLElement, binding: DirectiveBinding) => {\n\tconst popperComponent: any = binding.arg || binding.value\n\tconst popover = popperComponent?.popperRef\n\tif (popover) {\n\t\tpopover.triggerRef = el\n\t}\n}\n\nexport default {\n\tmounted (el, binding) {\n\t\tattachEvents(el, binding)\n\t},\n\tupdated (el, binding) {\n\t\tattachEvents(el, binding)\n\t},\n} as ObjectDirective\n\nexport const VPopover = 'popover'\n"],"names":["attachEvents","el","binding","popperComponent","popover","directive","VPopover"],"mappings":"4GAGA,MAAMA,EAAe,CAACC,EAAiBC,IAA8B,CAC9D,MAAAC,EAAuBD,EAAQ,KAAOA,EAAQ,MAC9CE,EAAUD,GAAA,YAAAA,EAAiB,UAC7BC,IACHA,EAAQ,WAAaH,EAEvB,EAEeI,EAAA,CACd,QAASJ,EAAIC,EAAS,CACrBF,EAAaC,EAAIC,CAAO,CACzB,EACA,QAASD,EAAIC,EAAS,CACrBF,EAAaC,EAAIC,CAAO,CACzB,CACD,EAEaI,EAAW"}
@@ -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("./popover.vue2.js"),e=t.withInstall(r.default);exports.VftPopover=e;exports.default=e;
2
+ //# sourceMappingURL=index.js.map