vft 0.0.14 → 0.0.15

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 (1008) hide show
  1. package/es/component.mjs +13 -13
  2. package/es/components/avatar/avatar.vue2.mjs.map +1 -0
  3. package/es/components/avatar/index.mjs.map +1 -0
  4. package/es/components/back-top/back-top.vue2.mjs.map +1 -0
  5. package/es/components/back-top/index.mjs.map +1 -0
  6. package/es/components/back-top/use-back-top.mjs.map +1 -0
  7. package/es/components/collapse-transition/index.mjs.map +1 -0
  8. package/es/components/collapse-transition/src/collapse-transition.vue2.mjs.map +1 -0
  9. package/es/components/context-menu/context-menu.vue2.mjs.map +1 -0
  10. package/es/components/context-menu/createContextMenu.mjs.map +1 -0
  11. package/es/components/context-menu/useContextMenu.mjs.map +1 -0
  12. package/es/components/divider/divider.vue2.mjs.map +1 -0
  13. package/es/components/divider/index.mjs.map +1 -0
  14. package/es/components/empty/assets/no-collect.png.mjs.map +1 -0
  15. package/es/components/empty/assets/no-data.png.mjs.map +1 -0
  16. package/es/components/empty/assets/no-filter.png.mjs.map +1 -0
  17. package/es/components/empty/assets/no-page-data.png.mjs.map +1 -0
  18. package/es/components/empty/assets/no-search.png.mjs.map +1 -0
  19. package/es/components/empty/constants.mjs.map +1 -0
  20. package/es/components/empty/empty.vue2.mjs.map +1 -0
  21. package/es/components/empty/index.mjs.map +1 -0
  22. package/es/components/exception/exception.png.mjs.map +1 -0
  23. package/es/components/exception/exception.vue2.mjs.map +1 -0
  24. package/es/components/exception/index.mjs.map +1 -0
  25. package/es/{packages/components → components}/focus-trap/focus-trap.vue.mjs +1 -1
  26. package/es/components/focus-trap/focus-trap.vue2.mjs.map +1 -0
  27. package/es/components/focus-trap/tokens.mjs.map +1 -0
  28. package/es/components/focus-trap/utils.mjs.map +1 -0
  29. package/es/components/icon/icon.vue2.mjs.map +1 -0
  30. package/es/components/icon/index.mjs.map +1 -0
  31. package/es/components/menu/index.mjs.map +1 -0
  32. package/es/{packages/components → components}/menu/menu-collapse-transition.vue.mjs +1 -1
  33. package/es/components/menu/menu-collapse-transition.vue.mjs.map +1 -0
  34. package/es/components/menu/menu-collapse-transition.vue2.mjs.map +1 -0
  35. package/es/components/menu/menu-item-group.vue2.mjs.map +1 -0
  36. package/es/components/menu/menu-item.vue2.mjs.map +1 -0
  37. package/es/components/menu/menu.vue2.mjs.map +1 -0
  38. package/es/components/menu/sub-menu.vue2.mjs.map +1 -0
  39. package/es/components/menu/use-menu-css-var.mjs.map +1 -0
  40. package/es/components/menu/use-menu.mjs.map +1 -0
  41. package/es/components/menu/utils/menu-bar.mjs.map +1 -0
  42. package/es/components/menu/utils/menu-item.mjs.map +1 -0
  43. package/es/components/menu/utils/submenu.mjs.map +1 -0
  44. package/es/components/multiple-tabs/index.mjs.map +1 -0
  45. package/es/{packages/components → components}/multiple-tabs/multiple-tabs.vue2.mjs +1 -1
  46. package/es/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -0
  47. package/es/components/multiple-tabs/tab-content.vue2.mjs.map +1 -0
  48. package/es/components/multiple-tabs/use/use-multiple-tabs.mjs.map +1 -0
  49. package/es/components/multiple-tabs/use/use-tab-dropdown.mjs.map +1 -0
  50. package/es/components/popover/directive.mjs.map +1 -0
  51. package/es/components/popover/index.mjs.map +1 -0
  52. package/es/components/popover/popover.vue2.mjs.map +1 -0
  53. package/es/components/popper/arrow.vue2.mjs.map +1 -0
  54. package/es/components/popper/composables/use-content-dom.mjs.map +1 -0
  55. package/es/components/popper/composables/use-content.mjs.map +1 -0
  56. package/es/components/popper/composables/use-focus-trap.mjs.map +1 -0
  57. package/es/components/popper/constants.mjs.map +1 -0
  58. package/es/components/popper/content.vue2.mjs.map +1 -0
  59. package/es/components/popper/index.mjs.map +1 -0
  60. package/es/components/popper/popper.vue2.mjs.map +1 -0
  61. package/es/components/popper/trigger.vue2.mjs.map +1 -0
  62. package/es/components/popper/utils.mjs.map +1 -0
  63. package/es/components/result/index.mjs.map +1 -0
  64. package/es/components/result/result.vue2.mjs.map +1 -0
  65. package/es/components/slot/only-child.mjs.map +1 -0
  66. package/es/components/tabs/index.mjs.map +1 -0
  67. package/es/components/tabs/tab-bar.vue2.mjs.map +1 -0
  68. package/es/components/tabs/tab-nav.vue2.mjs.map +1 -0
  69. package/es/components/tabs/tab-pane.vue2.mjs.map +1 -0
  70. package/es/components/tabs/tabs.vue2.mjs.map +1 -0
  71. package/es/components/tabs/types.mjs.map +1 -0
  72. package/es/components/tooltip/constants.mjs.map +1 -0
  73. package/es/components/tooltip/content.vue2.mjs.map +1 -0
  74. package/es/components/tooltip/index.mjs.map +1 -0
  75. package/es/components/tooltip/tooltip.vue2.mjs.map +1 -0
  76. package/es/components/tooltip/trigger.vue2.mjs.map +1 -0
  77. package/es/components/tooltip/utils.mjs.map +1 -0
  78. package/es/constants/aria.mjs.map +1 -0
  79. package/es/constants/date.mjs.map +1 -0
  80. package/es/constants/event.mjs.map +1 -0
  81. package/es/constants/key.mjs.map +1 -0
  82. package/es/constants/size.mjs.map +1 -0
  83. package/es/hooks/use-delayed-toggle/index.mjs.map +1 -0
  84. package/es/hooks/use-forward-ref/index.mjs.map +1 -0
  85. package/es/hooks/use-id/index.mjs.map +1 -0
  86. package/es/hooks/use-model-toggle/index.mjs.map +1 -0
  87. package/es/hooks/use-namespace/index.mjs.map +1 -0
  88. package/es/hooks/use-ordered-children/index.mjs.map +1 -0
  89. package/es/hooks/use-popper/index.mjs.map +1 -0
  90. package/es/hooks/use-popper-container/index.mjs.map +1 -0
  91. package/es/hooks/use-timeout/index.mjs.map +1 -0
  92. package/es/hooks/use-z-index/index.mjs.map +1 -0
  93. package/es/index.mjs +37 -37
  94. package/es/make-installer.mjs +1 -1
  95. package/es/package.json.mjs +1 -1
  96. package/es/style.css +1 -1
  97. package/es/utils/error.mjs.map +1 -0
  98. package/es/utils/event.mjs.map +1 -0
  99. package/es/utils/helper.mjs.map +1 -0
  100. package/es/utils/typescript.mjs.map +1 -0
  101. package/es/utils/vue/install.mjs.map +1 -0
  102. package/es/utils/vue/vnode.mjs.map +1 -0
  103. package/lib/component.js +1 -1
  104. package/lib/component.js.map +1 -1
  105. package/lib/components/avatar/avatar.vue2.js.map +1 -0
  106. package/lib/components/avatar/index.js.map +1 -0
  107. package/lib/components/back-top/back-top.vue2.js.map +1 -0
  108. package/lib/components/back-top/index.js.map +1 -0
  109. package/lib/components/back-top/use-back-top.js.map +1 -0
  110. package/lib/components/collapse-transition/index.js.map +1 -0
  111. package/lib/components/collapse-transition/src/collapse-transition.vue2.js.map +1 -0
  112. package/lib/components/context-menu/context-menu.vue2.js.map +1 -0
  113. package/lib/components/context-menu/createContextMenu.js.map +1 -0
  114. package/lib/components/context-menu/useContextMenu.js.map +1 -0
  115. package/lib/components/divider/divider.vue2.js.map +1 -0
  116. package/lib/components/divider/index.js.map +1 -0
  117. package/lib/components/empty/assets/no-collect.png.js.map +1 -0
  118. package/lib/components/empty/assets/no-data.png.js.map +1 -0
  119. package/lib/components/empty/assets/no-filter.png.js.map +1 -0
  120. package/lib/components/empty/assets/no-page-data.png.js.map +1 -0
  121. package/lib/components/empty/assets/no-search.png.js.map +1 -0
  122. package/lib/components/empty/constants.js.map +1 -0
  123. package/lib/components/empty/empty.vue2.js.map +1 -0
  124. package/lib/components/empty/index.js.map +1 -0
  125. package/lib/components/exception/exception.png.js.map +1 -0
  126. package/lib/components/exception/exception.vue2.js.map +1 -0
  127. package/lib/components/exception/index.js.map +1 -0
  128. package/lib/components/focus-trap/focus-trap.vue.js +2 -0
  129. package/lib/components/focus-trap/focus-trap.vue2.js.map +1 -0
  130. package/lib/components/focus-trap/tokens.js.map +1 -0
  131. package/lib/components/focus-trap/utils.js.map +1 -0
  132. package/lib/components/icon/icon.vue2.js.map +1 -0
  133. package/lib/components/icon/index.js.map +1 -0
  134. package/lib/components/menu/index.js.map +1 -0
  135. package/lib/components/menu/menu-collapse-transition.vue.js +2 -0
  136. package/lib/components/menu/menu-collapse-transition.vue.js.map +1 -0
  137. package/lib/components/menu/menu-collapse-transition.vue2.js.map +1 -0
  138. package/lib/components/menu/menu-item-group.vue2.js.map +1 -0
  139. package/lib/components/menu/menu-item.vue2.js.map +1 -0
  140. package/lib/components/menu/menu.vue2.js.map +1 -0
  141. package/lib/components/menu/sub-menu.vue2.js.map +1 -0
  142. package/lib/components/menu/use-menu-css-var.js.map +1 -0
  143. package/lib/components/menu/use-menu.js.map +1 -0
  144. package/lib/components/menu/utils/menu-bar.js.map +1 -0
  145. package/lib/components/menu/utils/menu-item.js.map +1 -0
  146. package/lib/components/menu/utils/submenu.js.map +1 -0
  147. package/lib/components/multiple-tabs/index.js.map +1 -0
  148. package/lib/components/multiple-tabs/multiple-tabs.vue2.js +2 -0
  149. package/lib/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -0
  150. package/lib/components/multiple-tabs/tab-content.vue2.js.map +1 -0
  151. package/lib/components/multiple-tabs/use/use-multiple-tabs.js.map +1 -0
  152. package/lib/components/multiple-tabs/use/use-tab-dropdown.js.map +1 -0
  153. package/lib/components/popover/directive.js.map +1 -0
  154. package/lib/components/popover/index.js.map +1 -0
  155. package/lib/components/popover/popover.vue2.js.map +1 -0
  156. package/lib/components/popper/arrow.vue2.js.map +1 -0
  157. package/lib/components/popper/composables/use-content-dom.js.map +1 -0
  158. package/lib/components/popper/composables/use-content.js.map +1 -0
  159. package/lib/components/popper/composables/use-focus-trap.js.map +1 -0
  160. package/lib/components/popper/constants.js.map +1 -0
  161. package/lib/components/popper/content.vue2.js.map +1 -0
  162. package/lib/components/popper/index.js.map +1 -0
  163. package/lib/components/popper/popper.vue2.js.map +1 -0
  164. package/lib/components/popper/trigger.vue2.js.map +1 -0
  165. package/lib/components/popper/utils.js.map +1 -0
  166. package/lib/components/result/index.js.map +1 -0
  167. package/lib/components/result/result.vue2.js.map +1 -0
  168. package/lib/components/slot/only-child.js.map +1 -0
  169. package/lib/components/tabs/index.js.map +1 -0
  170. package/lib/components/tabs/tab-bar.vue2.js.map +1 -0
  171. package/lib/components/tabs/tab-nav.vue2.js.map +1 -0
  172. package/lib/components/tabs/tab-pane.vue2.js.map +1 -0
  173. package/lib/components/tabs/tabs.vue2.js.map +1 -0
  174. package/lib/components/tabs/types.js.map +1 -0
  175. package/lib/components/tooltip/constants.js.map +1 -0
  176. package/lib/components/tooltip/content.vue2.js.map +1 -0
  177. package/lib/components/tooltip/index.js.map +1 -0
  178. package/lib/components/tooltip/tooltip.vue2.js.map +1 -0
  179. package/lib/components/tooltip/trigger.vue2.js.map +1 -0
  180. package/lib/components/tooltip/utils.js.map +1 -0
  181. package/lib/constants/aria.js.map +1 -0
  182. package/lib/constants/date.js.map +1 -0
  183. package/lib/constants/event.js.map +1 -0
  184. package/lib/constants/key.js.map +1 -0
  185. package/lib/constants/size.js.map +1 -0
  186. package/lib/hooks/use-delayed-toggle/index.js.map +1 -0
  187. package/lib/hooks/use-forward-ref/index.js.map +1 -0
  188. package/lib/hooks/use-id/index.js.map +1 -0
  189. package/lib/hooks/use-model-toggle/index.js.map +1 -0
  190. package/lib/hooks/use-namespace/index.js.map +1 -0
  191. package/lib/hooks/use-ordered-children/index.js.map +1 -0
  192. package/lib/hooks/use-popper/index.js.map +1 -0
  193. package/lib/hooks/use-popper-container/index.js.map +1 -0
  194. package/lib/hooks/use-timeout/index.js.map +1 -0
  195. package/lib/hooks/use-z-index/index.js.map +1 -0
  196. package/lib/index.js +1 -1
  197. package/lib/index.js.map +1 -1
  198. package/lib/make-installer.js +1 -1
  199. package/lib/make-installer.js.map +1 -1
  200. package/lib/package.json.js +1 -1
  201. package/lib/utils/error.js.map +1 -0
  202. package/lib/utils/event.js.map +1 -0
  203. package/lib/utils/helper.js.map +1 -0
  204. package/lib/utils/typescript.js.map +1 -0
  205. package/lib/utils/vue/install.js.map +1 -0
  206. package/lib/utils/vue/vnode.js.map +1 -0
  207. package/package.json +4 -2
  208. package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs +0 -297
  209. package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs.map +0 -1
  210. package/es/packages/components/avatar/avatar.vue2.mjs.map +0 -1
  211. package/es/packages/components/avatar/index.mjs.map +0 -1
  212. package/es/packages/components/back-top/back-top.vue2.mjs.map +0 -1
  213. package/es/packages/components/back-top/index.mjs.map +0 -1
  214. package/es/packages/components/back-top/use-back-top.mjs.map +0 -1
  215. package/es/packages/components/collapse-transition/index.mjs.map +0 -1
  216. package/es/packages/components/collapse-transition/src/collapse-transition.vue2.mjs.map +0 -1
  217. package/es/packages/components/context-menu/context-menu.vue2.mjs.map +0 -1
  218. package/es/packages/components/context-menu/createContextMenu.mjs.map +0 -1
  219. package/es/packages/components/context-menu/useContextMenu.mjs.map +0 -1
  220. package/es/packages/components/divider/divider.vue2.mjs.map +0 -1
  221. package/es/packages/components/divider/index.mjs.map +0 -1
  222. package/es/packages/components/empty/assets/no-collect.png.mjs.map +0 -1
  223. package/es/packages/components/empty/assets/no-data.png.mjs.map +0 -1
  224. package/es/packages/components/empty/assets/no-filter.png.mjs.map +0 -1
  225. package/es/packages/components/empty/assets/no-page-data.png.mjs.map +0 -1
  226. package/es/packages/components/empty/assets/no-search.png.mjs.map +0 -1
  227. package/es/packages/components/empty/constants.mjs.map +0 -1
  228. package/es/packages/components/empty/empty.vue2.mjs.map +0 -1
  229. package/es/packages/components/empty/index.mjs.map +0 -1
  230. package/es/packages/components/exception/exception.png.mjs.map +0 -1
  231. package/es/packages/components/exception/exception.vue2.mjs.map +0 -1
  232. package/es/packages/components/exception/index.mjs.map +0 -1
  233. package/es/packages/components/focus-trap/focus-trap.vue2.mjs.map +0 -1
  234. package/es/packages/components/focus-trap/tokens.mjs.map +0 -1
  235. package/es/packages/components/focus-trap/utils.mjs.map +0 -1
  236. package/es/packages/components/icon/icon.vue2.mjs.map +0 -1
  237. package/es/packages/components/icon/index.mjs.map +0 -1
  238. package/es/packages/components/menu/index.mjs.map +0 -1
  239. package/es/packages/components/menu/menu-collapse-transition.vue.mjs.map +0 -1
  240. package/es/packages/components/menu/menu-collapse-transition.vue2.mjs.map +0 -1
  241. package/es/packages/components/menu/menu-item-group.vue2.mjs.map +0 -1
  242. package/es/packages/components/menu/menu-item.vue2.mjs.map +0 -1
  243. package/es/packages/components/menu/menu.vue2.mjs.map +0 -1
  244. package/es/packages/components/menu/sub-menu.vue2.mjs.map +0 -1
  245. package/es/packages/components/menu/use-menu-css-var.mjs.map +0 -1
  246. package/es/packages/components/menu/use-menu.mjs.map +0 -1
  247. package/es/packages/components/menu/utils/menu-bar.mjs.map +0 -1
  248. package/es/packages/components/menu/utils/menu-item.mjs.map +0 -1
  249. package/es/packages/components/menu/utils/submenu.mjs.map +0 -1
  250. package/es/packages/components/multiple-tabs/index.mjs.map +0 -1
  251. package/es/packages/components/multiple-tabs/multiple-tabs.vue2.mjs.map +0 -1
  252. package/es/packages/components/multiple-tabs/tab-content.vue2.mjs.map +0 -1
  253. package/es/packages/components/multiple-tabs/use/use-multiple-tabs.mjs.map +0 -1
  254. package/es/packages/components/multiple-tabs/use/use-tab-dropdown.mjs.map +0 -1
  255. package/es/packages/components/popover/directive.mjs.map +0 -1
  256. package/es/packages/components/popover/index.mjs.map +0 -1
  257. package/es/packages/components/popover/popover.vue2.mjs.map +0 -1
  258. package/es/packages/components/popper/arrow.vue2.mjs.map +0 -1
  259. package/es/packages/components/popper/composables/use-content-dom.mjs.map +0 -1
  260. package/es/packages/components/popper/composables/use-content.mjs.map +0 -1
  261. package/es/packages/components/popper/composables/use-focus-trap.mjs.map +0 -1
  262. package/es/packages/components/popper/constants.mjs.map +0 -1
  263. package/es/packages/components/popper/content.vue2.mjs.map +0 -1
  264. package/es/packages/components/popper/index.mjs.map +0 -1
  265. package/es/packages/components/popper/popper.vue2.mjs.map +0 -1
  266. package/es/packages/components/popper/trigger.vue2.mjs.map +0 -1
  267. package/es/packages/components/popper/utils.mjs.map +0 -1
  268. package/es/packages/components/result/index.mjs.map +0 -1
  269. package/es/packages/components/result/result.vue2.mjs.map +0 -1
  270. package/es/packages/components/slot/only-child.mjs.map +0 -1
  271. package/es/packages/components/tabs/index.mjs.map +0 -1
  272. package/es/packages/components/tabs/tab-bar.vue2.mjs.map +0 -1
  273. package/es/packages/components/tabs/tab-nav.vue2.mjs.map +0 -1
  274. package/es/packages/components/tabs/tab-pane.vue2.mjs.map +0 -1
  275. package/es/packages/components/tabs/tabs.vue2.mjs.map +0 -1
  276. package/es/packages/components/tabs/types.mjs.map +0 -1
  277. package/es/packages/components/tooltip/constants.mjs.map +0 -1
  278. package/es/packages/components/tooltip/content.vue2.mjs.map +0 -1
  279. package/es/packages/components/tooltip/index.mjs.map +0 -1
  280. package/es/packages/components/tooltip/tooltip.vue2.mjs.map +0 -1
  281. package/es/packages/components/tooltip/trigger.vue2.mjs.map +0 -1
  282. package/es/packages/components/tooltip/utils.mjs.map +0 -1
  283. package/es/packages/constants/aria.mjs.map +0 -1
  284. package/es/packages/constants/date.mjs.map +0 -1
  285. package/es/packages/constants/event.mjs.map +0 -1
  286. package/es/packages/constants/key.mjs.map +0 -1
  287. package/es/packages/constants/size.mjs.map +0 -1
  288. package/es/packages/hooks/use-delayed-toggle/index.mjs.map +0 -1
  289. package/es/packages/hooks/use-forward-ref/index.mjs.map +0 -1
  290. package/es/packages/hooks/use-id/index.mjs.map +0 -1
  291. package/es/packages/hooks/use-model-toggle/index.mjs.map +0 -1
  292. package/es/packages/hooks/use-namespace/index.mjs.map +0 -1
  293. package/es/packages/hooks/use-ordered-children/index.mjs.map +0 -1
  294. package/es/packages/hooks/use-popper/index.mjs.map +0 -1
  295. package/es/packages/hooks/use-popper-container/index.mjs.map +0 -1
  296. package/es/packages/hooks/use-timeout/index.mjs.map +0 -1
  297. package/es/packages/hooks/use-z-index/index.mjs.map +0 -1
  298. package/es/packages/utils/error.mjs.map +0 -1
  299. package/es/packages/utils/event.mjs.map +0 -1
  300. package/es/packages/utils/helper.mjs.map +0 -1
  301. package/es/packages/utils/typescript.mjs.map +0 -1
  302. package/es/packages/utils/vue/install.mjs.map +0 -1
  303. package/es/packages/utils/vue/vnode.mjs.map +0 -1
  304. package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js +0 -2
  305. package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js.map +0 -1
  306. package/lib/packages/components/avatar/avatar.vue2.js.map +0 -1
  307. package/lib/packages/components/avatar/index.js.map +0 -1
  308. package/lib/packages/components/back-top/back-top.vue2.js.map +0 -1
  309. package/lib/packages/components/back-top/index.js.map +0 -1
  310. package/lib/packages/components/back-top/use-back-top.js.map +0 -1
  311. package/lib/packages/components/collapse-transition/index.js.map +0 -1
  312. package/lib/packages/components/collapse-transition/src/collapse-transition.vue2.js.map +0 -1
  313. package/lib/packages/components/context-menu/context-menu.vue2.js.map +0 -1
  314. package/lib/packages/components/context-menu/createContextMenu.js.map +0 -1
  315. package/lib/packages/components/context-menu/useContextMenu.js.map +0 -1
  316. package/lib/packages/components/divider/divider.vue2.js.map +0 -1
  317. package/lib/packages/components/divider/index.js.map +0 -1
  318. package/lib/packages/components/empty/assets/no-collect.png.js.map +0 -1
  319. package/lib/packages/components/empty/assets/no-data.png.js.map +0 -1
  320. package/lib/packages/components/empty/assets/no-filter.png.js.map +0 -1
  321. package/lib/packages/components/empty/assets/no-page-data.png.js.map +0 -1
  322. package/lib/packages/components/empty/assets/no-search.png.js.map +0 -1
  323. package/lib/packages/components/empty/constants.js.map +0 -1
  324. package/lib/packages/components/empty/empty.vue2.js.map +0 -1
  325. package/lib/packages/components/empty/index.js.map +0 -1
  326. package/lib/packages/components/exception/exception.png.js.map +0 -1
  327. package/lib/packages/components/exception/exception.vue2.js.map +0 -1
  328. package/lib/packages/components/exception/index.js.map +0 -1
  329. package/lib/packages/components/focus-trap/focus-trap.vue.js +0 -2
  330. package/lib/packages/components/focus-trap/focus-trap.vue2.js.map +0 -1
  331. package/lib/packages/components/focus-trap/tokens.js.map +0 -1
  332. package/lib/packages/components/focus-trap/utils.js.map +0 -1
  333. package/lib/packages/components/icon/icon.vue2.js.map +0 -1
  334. package/lib/packages/components/icon/index.js.map +0 -1
  335. package/lib/packages/components/menu/index.js.map +0 -1
  336. package/lib/packages/components/menu/menu-collapse-transition.vue.js +0 -2
  337. package/lib/packages/components/menu/menu-collapse-transition.vue.js.map +0 -1
  338. package/lib/packages/components/menu/menu-collapse-transition.vue2.js.map +0 -1
  339. package/lib/packages/components/menu/menu-item-group.vue2.js.map +0 -1
  340. package/lib/packages/components/menu/menu-item.vue2.js.map +0 -1
  341. package/lib/packages/components/menu/menu.vue2.js.map +0 -1
  342. package/lib/packages/components/menu/sub-menu.vue2.js.map +0 -1
  343. package/lib/packages/components/menu/use-menu-css-var.js.map +0 -1
  344. package/lib/packages/components/menu/use-menu.js.map +0 -1
  345. package/lib/packages/components/menu/utils/menu-bar.js.map +0 -1
  346. package/lib/packages/components/menu/utils/menu-item.js.map +0 -1
  347. package/lib/packages/components/menu/utils/submenu.js.map +0 -1
  348. package/lib/packages/components/multiple-tabs/index.js.map +0 -1
  349. package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js +0 -2
  350. package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js.map +0 -1
  351. package/lib/packages/components/multiple-tabs/tab-content.vue2.js.map +0 -1
  352. package/lib/packages/components/multiple-tabs/use/use-multiple-tabs.js.map +0 -1
  353. package/lib/packages/components/multiple-tabs/use/use-tab-dropdown.js.map +0 -1
  354. package/lib/packages/components/popover/directive.js.map +0 -1
  355. package/lib/packages/components/popover/index.js.map +0 -1
  356. package/lib/packages/components/popover/popover.vue2.js.map +0 -1
  357. package/lib/packages/components/popper/arrow.vue2.js.map +0 -1
  358. package/lib/packages/components/popper/composables/use-content-dom.js.map +0 -1
  359. package/lib/packages/components/popper/composables/use-content.js.map +0 -1
  360. package/lib/packages/components/popper/composables/use-focus-trap.js.map +0 -1
  361. package/lib/packages/components/popper/constants.js.map +0 -1
  362. package/lib/packages/components/popper/content.vue2.js.map +0 -1
  363. package/lib/packages/components/popper/index.js.map +0 -1
  364. package/lib/packages/components/popper/popper.vue2.js.map +0 -1
  365. package/lib/packages/components/popper/trigger.vue2.js.map +0 -1
  366. package/lib/packages/components/popper/utils.js.map +0 -1
  367. package/lib/packages/components/result/index.js.map +0 -1
  368. package/lib/packages/components/result/result.vue2.js.map +0 -1
  369. package/lib/packages/components/slot/only-child.js.map +0 -1
  370. package/lib/packages/components/tabs/index.js.map +0 -1
  371. package/lib/packages/components/tabs/tab-bar.vue2.js.map +0 -1
  372. package/lib/packages/components/tabs/tab-nav.vue2.js.map +0 -1
  373. package/lib/packages/components/tabs/tab-pane.vue2.js.map +0 -1
  374. package/lib/packages/components/tabs/tabs.vue2.js.map +0 -1
  375. package/lib/packages/components/tabs/types.js.map +0 -1
  376. package/lib/packages/components/tooltip/constants.js.map +0 -1
  377. package/lib/packages/components/tooltip/content.vue2.js.map +0 -1
  378. package/lib/packages/components/tooltip/index.js.map +0 -1
  379. package/lib/packages/components/tooltip/tooltip.vue2.js.map +0 -1
  380. package/lib/packages/components/tooltip/trigger.vue2.js.map +0 -1
  381. package/lib/packages/components/tooltip/utils.js.map +0 -1
  382. package/lib/packages/constants/aria.js.map +0 -1
  383. package/lib/packages/constants/date.js.map +0 -1
  384. package/lib/packages/constants/event.js.map +0 -1
  385. package/lib/packages/constants/key.js.map +0 -1
  386. package/lib/packages/constants/size.js.map +0 -1
  387. package/lib/packages/hooks/use-delayed-toggle/index.js.map +0 -1
  388. package/lib/packages/hooks/use-forward-ref/index.js.map +0 -1
  389. package/lib/packages/hooks/use-id/index.js.map +0 -1
  390. package/lib/packages/hooks/use-model-toggle/index.js.map +0 -1
  391. package/lib/packages/hooks/use-namespace/index.js.map +0 -1
  392. package/lib/packages/hooks/use-ordered-children/index.js.map +0 -1
  393. package/lib/packages/hooks/use-popper/index.js.map +0 -1
  394. package/lib/packages/hooks/use-popper-container/index.js.map +0 -1
  395. package/lib/packages/hooks/use-timeout/index.js.map +0 -1
  396. package/lib/packages/hooks/use-z-index/index.js.map +0 -1
  397. package/lib/packages/utils/error.js.map +0 -1
  398. package/lib/packages/utils/event.js.map +0 -1
  399. package/lib/packages/utils/helper.js.map +0 -1
  400. package/lib/packages/utils/typescript.js.map +0 -1
  401. package/lib/packages/utils/vue/install.js.map +0 -1
  402. package/lib/packages/utils/vue/vnode.js.map +0 -1
  403. /package/es/{packages/components → components}/avatar/avatar.vue.mjs +0 -0
  404. /package/es/{packages/components → components}/avatar/avatar.vue.mjs.map +0 -0
  405. /package/es/{packages/components → components}/avatar/avatar.vue2.mjs +0 -0
  406. /package/es/{packages/components → components}/avatar/index.mjs +0 -0
  407. /package/es/{packages/components → components}/avatar/style/css.mjs +0 -0
  408. /package/es/{packages/components → components}/avatar/style/css.mjs.map +0 -0
  409. /package/es/{packages/components → components}/avatar/style/index.mjs +0 -0
  410. /package/es/{packages/components → components}/avatar/style/index.mjs.map +0 -0
  411. /package/es/{packages/components → components}/back-top/back-top.vue.mjs +0 -0
  412. /package/es/{packages/components → components}/back-top/back-top.vue.mjs.map +0 -0
  413. /package/es/{packages/components → components}/back-top/back-top.vue2.mjs +0 -0
  414. /package/es/{packages/components → components}/back-top/index.mjs +0 -0
  415. /package/es/{packages/components → components}/back-top/style/css.mjs +0 -0
  416. /package/es/{packages/components → components}/back-top/style/css.mjs.map +0 -0
  417. /package/es/{packages/components → components}/back-top/style/index.mjs +0 -0
  418. /package/es/{packages/components → components}/back-top/style/index.mjs.map +0 -0
  419. /package/es/{packages/components → components}/back-top/types.mjs +0 -0
  420. /package/es/{packages/components → components}/back-top/types.mjs.map +0 -0
  421. /package/es/{packages/components → components}/back-top/use-back-top.mjs +0 -0
  422. /package/es/{packages/components → components}/base/style/css.mjs +0 -0
  423. /package/es/{packages/components → components}/base/style/css.mjs.map +0 -0
  424. /package/es/{packages/components → components}/base/style/index.mjs +0 -0
  425. /package/es/{packages/components → components}/base/style/index.mjs.map +0 -0
  426. /package/es/{packages/components → components}/collapse-transition/index.mjs +0 -0
  427. /package/es/{packages/components → components}/collapse-transition/src/collapse-transition.vue.mjs +0 -0
  428. /package/es/{packages/components → components}/collapse-transition/src/collapse-transition.vue.mjs.map +0 -0
  429. /package/es/{packages/components → components}/collapse-transition/src/collapse-transition.vue2.mjs +0 -0
  430. /package/es/{packages/components → components}/collapse-transition/style/css.mjs +0 -0
  431. /package/es/{packages/components → components}/collapse-transition/style/css.mjs.map +0 -0
  432. /package/es/{packages/components → components}/collapse-transition/style/index.mjs +0 -0
  433. /package/es/{packages/components → components}/collapse-transition/style/index.mjs.map +0 -0
  434. /package/es/{packages/components → components}/context-menu/context-menu.vue.mjs +0 -0
  435. /package/es/{packages/components → components}/context-menu/context-menu.vue.mjs.map +0 -0
  436. /package/es/{packages/components → components}/context-menu/context-menu.vue2.mjs +0 -0
  437. /package/es/{packages/components → components}/context-menu/createContextMenu.mjs +0 -0
  438. /package/es/{packages/components → components}/context-menu/index.mjs +0 -0
  439. /package/es/{packages/components → components}/context-menu/index.mjs.map +0 -0
  440. /package/es/{packages/components → components}/context-menu/style/css.mjs +0 -0
  441. /package/es/{packages/components → components}/context-menu/style/css.mjs.map +0 -0
  442. /package/es/{packages/components → components}/context-menu/style/index.mjs +0 -0
  443. /package/es/{packages/components → components}/context-menu/style/index.mjs.map +0 -0
  444. /package/es/{packages/components → components}/context-menu/types.mjs +0 -0
  445. /package/es/{packages/components → components}/context-menu/types.mjs.map +0 -0
  446. /package/es/{packages/components → components}/context-menu/useContextMenu.mjs +0 -0
  447. /package/es/{packages/components → components}/divider/divider.vue.mjs +0 -0
  448. /package/es/{packages/components → components}/divider/divider.vue.mjs.map +0 -0
  449. /package/es/{packages/components → components}/divider/divider.vue2.mjs +0 -0
  450. /package/es/{packages/components → components}/divider/index.mjs +0 -0
  451. /package/es/{packages/components → components}/divider/style/css.mjs +0 -0
  452. /package/es/{packages/components → components}/divider/style/css.mjs.map +0 -0
  453. /package/es/{packages/components → components}/divider/style/index.mjs +0 -0
  454. /package/es/{packages/components → components}/divider/style/index.mjs.map +0 -0
  455. /package/es/{packages/components → components}/divider/types.mjs +0 -0
  456. /package/es/{packages/components → components}/divider/types.mjs.map +0 -0
  457. /package/es/{packages/components → components}/empty/assets/no-collect.png.mjs +0 -0
  458. /package/es/{packages/components → components}/empty/assets/no-data.png.mjs +0 -0
  459. /package/es/{packages/components → components}/empty/assets/no-filter.png.mjs +0 -0
  460. /package/es/{packages/components → components}/empty/assets/no-page-data.png.mjs +0 -0
  461. /package/es/{packages/components → components}/empty/assets/no-search.png.mjs +0 -0
  462. /package/es/{packages/components → components}/empty/constants.mjs +0 -0
  463. /package/es/{packages/components → components}/empty/empty.vue.mjs +0 -0
  464. /package/es/{packages/components → components}/empty/empty.vue.mjs.map +0 -0
  465. /package/es/{packages/components → components}/empty/empty.vue2.mjs +0 -0
  466. /package/es/{packages/components → components}/empty/index.mjs +0 -0
  467. /package/es/{packages/components → components}/empty/style/css.mjs +0 -0
  468. /package/es/{packages/components → components}/empty/style/css.mjs.map +0 -0
  469. /package/es/{packages/components → components}/empty/style/index.mjs +0 -0
  470. /package/es/{packages/components → components}/empty/style/index.mjs.map +0 -0
  471. /package/es/{packages/components → components}/exception/exception.png.mjs +0 -0
  472. /package/es/{packages/components → components}/exception/exception.vue.mjs +0 -0
  473. /package/es/{packages/components → components}/exception/exception.vue.mjs.map +0 -0
  474. /package/es/{packages/components → components}/exception/exception.vue2.mjs +0 -0
  475. /package/es/{packages/components → components}/exception/index.mjs +0 -0
  476. /package/es/{packages/components → components}/exception/style/css.mjs +0 -0
  477. /package/es/{packages/components → components}/exception/style/css.mjs.map +0 -0
  478. /package/es/{packages/components → components}/exception/style/index.mjs +0 -0
  479. /package/es/{packages/components → components}/exception/style/index.mjs.map +0 -0
  480. /package/es/{packages/components → components}/focus-trap/focus-trap.vue.mjs.map +0 -0
  481. /package/es/{packages/components → components}/focus-trap/focus-trap.vue2.mjs +0 -0
  482. /package/es/{packages/components → components}/focus-trap/index.mjs +0 -0
  483. /package/es/{packages/components → components}/focus-trap/index.mjs.map +0 -0
  484. /package/es/{packages/components → components}/focus-trap/tokens.mjs +0 -0
  485. /package/es/{packages/components → components}/focus-trap/utils.mjs +0 -0
  486. /package/es/{packages/components → components}/icon/icon.vue.mjs +0 -0
  487. /package/es/{packages/components → components}/icon/icon.vue.mjs.map +0 -0
  488. /package/es/{packages/components → components}/icon/icon.vue2.mjs +0 -0
  489. /package/es/{packages/components → components}/icon/index.mjs +0 -0
  490. /package/es/{packages/components → components}/icon/style/css.mjs +0 -0
  491. /package/es/{packages/components → components}/icon/style/css.mjs.map +0 -0
  492. /package/es/{packages/components → components}/icon/style/index.mjs +0 -0
  493. /package/es/{packages/components → components}/icon/style/index.mjs.map +0 -0
  494. /package/es/{packages/components → components}/index.mjs +0 -0
  495. /package/es/{packages/components → components}/index.mjs.map +0 -0
  496. /package/es/{packages/components → components}/menu/index.mjs +0 -0
  497. /package/es/{packages/components → components}/menu/menu-collapse-transition.vue2.mjs +0 -0
  498. /package/es/{packages/components → components}/menu/menu-item-group.vue.mjs +0 -0
  499. /package/es/{packages/components → components}/menu/menu-item-group.vue.mjs.map +0 -0
  500. /package/es/{packages/components → components}/menu/menu-item-group.vue2.mjs +0 -0
  501. /package/es/{packages/components → components}/menu/menu-item.vue.mjs +0 -0
  502. /package/es/{packages/components → components}/menu/menu-item.vue.mjs.map +0 -0
  503. /package/es/{packages/components → components}/menu/menu-item.vue2.mjs +0 -0
  504. /package/es/{packages/components → components}/menu/menu.vue.mjs +0 -0
  505. /package/es/{packages/components → components}/menu/menu.vue.mjs.map +0 -0
  506. /package/es/{packages/components → components}/menu/menu.vue2.mjs +0 -0
  507. /package/es/{packages/components → components}/menu/style/css.mjs +0 -0
  508. /package/es/{packages/components → components}/menu/style/css.mjs.map +0 -0
  509. /package/es/{packages/components → components}/menu/style/index.mjs +0 -0
  510. /package/es/{packages/components → components}/menu/style/index.mjs.map +0 -0
  511. /package/es/{packages/components → components}/menu/sub-menu.vue.mjs +0 -0
  512. /package/es/{packages/components → components}/menu/sub-menu.vue.mjs.map +0 -0
  513. /package/es/{packages/components → components}/menu/sub-menu.vue2.mjs +0 -0
  514. /package/es/{packages/components → components}/menu/types.mjs +0 -0
  515. /package/es/{packages/components → components}/menu/types.mjs.map +0 -0
  516. /package/es/{packages/components → components}/menu/use-menu-css-var.mjs +0 -0
  517. /package/es/{packages/components → components}/menu/use-menu.mjs +0 -0
  518. /package/es/{packages/components → components}/menu/utils/menu-bar.mjs +0 -0
  519. /package/es/{packages/components → components}/menu/utils/menu-item.mjs +0 -0
  520. /package/es/{packages/components → components}/menu/utils/submenu.mjs +0 -0
  521. /package/es/{packages/components → components}/menu-item/style/css.mjs +0 -0
  522. /package/es/{packages/components → components}/menu-item/style/css.mjs.map +0 -0
  523. /package/es/{packages/components → components}/menu-item/style/index.mjs +0 -0
  524. /package/es/{packages/components → components}/menu-item/style/index.mjs.map +0 -0
  525. /package/es/{packages/components → components}/menu-item-group/style/css.mjs +0 -0
  526. /package/es/{packages/components → components}/menu-item-group/style/css.mjs.map +0 -0
  527. /package/es/{packages/components → components}/menu-item-group/style/index.mjs +0 -0
  528. /package/es/{packages/components → components}/menu-item-group/style/index.mjs.map +0 -0
  529. /package/es/{packages/components → components}/multiple-tabs/index.mjs +0 -0
  530. /package/es/{packages/components → components}/multiple-tabs/multiple-tabs.vue.mjs +0 -0
  531. /package/es/{packages/components → components}/multiple-tabs/multiple-tabs.vue.mjs.map +0 -0
  532. /package/es/{packages/components → components}/multiple-tabs/style/css.mjs +0 -0
  533. /package/es/{packages/components → components}/multiple-tabs/style/css.mjs.map +0 -0
  534. /package/es/{packages/components → components}/multiple-tabs/style/index.mjs +0 -0
  535. /package/es/{packages/components → components}/multiple-tabs/style/index.mjs.map +0 -0
  536. /package/es/{packages/components → components}/multiple-tabs/tab-content.vue.mjs +0 -0
  537. /package/es/{packages/components → components}/multiple-tabs/tab-content.vue.mjs.map +0 -0
  538. /package/es/{packages/components → components}/multiple-tabs/tab-content.vue2.mjs +0 -0
  539. /package/es/{packages/components → components}/multiple-tabs/types.mjs +0 -0
  540. /package/es/{packages/components → components}/multiple-tabs/types.mjs.map +0 -0
  541. /package/es/{packages/components → components}/multiple-tabs/use/index.mjs +0 -0
  542. /package/es/{packages/components → components}/multiple-tabs/use/index.mjs.map +0 -0
  543. /package/es/{packages/components → components}/multiple-tabs/use/use-multiple-tabs.mjs +0 -0
  544. /package/es/{packages/components → components}/multiple-tabs/use/use-tab-dropdown.mjs +0 -0
  545. /package/es/{packages/components → components}/popover/directive.mjs +0 -0
  546. /package/es/{packages/components → components}/popover/index.mjs +0 -0
  547. /package/es/{packages/components → components}/popover/popover.vue.mjs +0 -0
  548. /package/es/{packages/components → components}/popover/popover.vue.mjs.map +0 -0
  549. /package/es/{packages/components → components}/popover/popover.vue2.mjs +0 -0
  550. /package/es/{packages/components → components}/popover/style/css.mjs +0 -0
  551. /package/es/{packages/components → components}/popover/style/css.mjs.map +0 -0
  552. /package/es/{packages/components → components}/popover/style/index.mjs +0 -0
  553. /package/es/{packages/components → components}/popover/style/index.mjs.map +0 -0
  554. /package/es/{packages/components → components}/popover/types.mjs +0 -0
  555. /package/es/{packages/components → components}/popover/types.mjs.map +0 -0
  556. /package/es/{packages/components → components}/popper/arrow.vue.mjs +0 -0
  557. /package/es/{packages/components → components}/popper/arrow.vue.mjs.map +0 -0
  558. /package/es/{packages/components → components}/popper/arrow.vue2.mjs +0 -0
  559. /package/es/{packages/components → components}/popper/composables/index.mjs +0 -0
  560. /package/es/{packages/components → components}/popper/composables/index.mjs.map +0 -0
  561. /package/es/{packages/components → components}/popper/composables/use-content-dom.mjs +0 -0
  562. /package/es/{packages/components → components}/popper/composables/use-content.mjs +0 -0
  563. /package/es/{packages/components → components}/popper/composables/use-focus-trap.mjs +0 -0
  564. /package/es/{packages/components → components}/popper/constants.mjs +0 -0
  565. /package/es/{packages/components → components}/popper/content.vue.mjs +0 -0
  566. /package/es/{packages/components → components}/popper/content.vue.mjs.map +0 -0
  567. /package/es/{packages/components → components}/popper/content.vue2.mjs +0 -0
  568. /package/es/{packages/components → components}/popper/index.mjs +0 -0
  569. /package/es/{packages/components → components}/popper/popper.vue.mjs +0 -0
  570. /package/es/{packages/components → components}/popper/popper.vue.mjs.map +0 -0
  571. /package/es/{packages/components → components}/popper/popper.vue2.mjs +0 -0
  572. /package/es/{packages/components → components}/popper/style/css.mjs +0 -0
  573. /package/es/{packages/components → components}/popper/style/css.mjs.map +0 -0
  574. /package/es/{packages/components → components}/popper/style/index.mjs +0 -0
  575. /package/es/{packages/components → components}/popper/style/index.mjs.map +0 -0
  576. /package/es/{packages/components → components}/popper/trigger.vue.mjs +0 -0
  577. /package/es/{packages/components → components}/popper/trigger.vue.mjs.map +0 -0
  578. /package/es/{packages/components → components}/popper/trigger.vue2.mjs +0 -0
  579. /package/es/{packages/components → components}/popper/types.mjs +0 -0
  580. /package/es/{packages/components → components}/popper/types.mjs.map +0 -0
  581. /package/es/{packages/components → components}/popper/utils.mjs +0 -0
  582. /package/es/{packages/components → components}/result/index.mjs +0 -0
  583. /package/es/{packages/components → components}/result/result.vue.mjs +0 -0
  584. /package/es/{packages/components → components}/result/result.vue.mjs.map +0 -0
  585. /package/es/{packages/components → components}/result/result.vue2.mjs +0 -0
  586. /package/es/{packages/components → components}/result/style/css.mjs +0 -0
  587. /package/es/{packages/components → components}/result/style/css.mjs.map +0 -0
  588. /package/es/{packages/components → components}/result/style/index.mjs +0 -0
  589. /package/es/{packages/components → components}/result/style/index.mjs.map +0 -0
  590. /package/es/{packages/components → components}/slot/index.mjs +0 -0
  591. /package/es/{packages/components → components}/slot/index.mjs.map +0 -0
  592. /package/es/{packages/components → components}/slot/only-child.mjs +0 -0
  593. /package/es/{packages/components → components}/sub-menu/style/css.mjs +0 -0
  594. /package/es/{packages/components → components}/sub-menu/style/css.mjs.map +0 -0
  595. /package/es/{packages/components → components}/sub-menu/style/index.mjs +0 -0
  596. /package/es/{packages/components → components}/sub-menu/style/index.mjs.map +0 -0
  597. /package/es/{packages/components → components}/tab-pane/style/css.mjs +0 -0
  598. /package/es/{packages/components → components}/tab-pane/style/css.mjs.map +0 -0
  599. /package/es/{packages/components → components}/tab-pane/style/index.mjs +0 -0
  600. /package/es/{packages/components → components}/tab-pane/style/index.mjs.map +0 -0
  601. /package/es/{packages/components → components}/tabs/index.mjs +0 -0
  602. /package/es/{packages/components → components}/tabs/style/css.mjs +0 -0
  603. /package/es/{packages/components → components}/tabs/style/css.mjs.map +0 -0
  604. /package/es/{packages/components → components}/tabs/style/index.mjs +0 -0
  605. /package/es/{packages/components → components}/tabs/style/index.mjs.map +0 -0
  606. /package/es/{packages/components → components}/tabs/tab-bar.vue.mjs +0 -0
  607. /package/es/{packages/components → components}/tabs/tab-bar.vue.mjs.map +0 -0
  608. /package/es/{packages/components → components}/tabs/tab-bar.vue2.mjs +0 -0
  609. /package/es/{packages/components → components}/tabs/tab-nav.vue.mjs +0 -0
  610. /package/es/{packages/components → components}/tabs/tab-nav.vue.mjs.map +0 -0
  611. /package/es/{packages/components → components}/tabs/tab-nav.vue2.mjs +0 -0
  612. /package/es/{packages/components → components}/tabs/tab-pane.vue.mjs +0 -0
  613. /package/es/{packages/components → components}/tabs/tab-pane.vue.mjs.map +0 -0
  614. /package/es/{packages/components → components}/tabs/tab-pane.vue2.mjs +0 -0
  615. /package/es/{packages/components → components}/tabs/tabs.vue.mjs +0 -0
  616. /package/es/{packages/components → components}/tabs/tabs.vue.mjs.map +0 -0
  617. /package/es/{packages/components → components}/tabs/tabs.vue2.mjs +0 -0
  618. /package/es/{packages/components → components}/tabs/types.mjs +0 -0
  619. /package/es/{packages/components → components}/tooltip/constants.mjs +0 -0
  620. /package/es/{packages/components → components}/tooltip/content.vue.mjs +0 -0
  621. /package/es/{packages/components → components}/tooltip/content.vue.mjs.map +0 -0
  622. /package/es/{packages/components → components}/tooltip/content.vue2.mjs +0 -0
  623. /package/es/{packages/components → components}/tooltip/index.mjs +0 -0
  624. /package/es/{packages/components → components}/tooltip/style/css.mjs +0 -0
  625. /package/es/{packages/components → components}/tooltip/style/css.mjs.map +0 -0
  626. /package/es/{packages/components → components}/tooltip/style/index.mjs +0 -0
  627. /package/es/{packages/components → components}/tooltip/style/index.mjs.map +0 -0
  628. /package/es/{packages/components → components}/tooltip/tooltip.vue.mjs +0 -0
  629. /package/es/{packages/components → components}/tooltip/tooltip.vue.mjs.map +0 -0
  630. /package/es/{packages/components → components}/tooltip/tooltip.vue2.mjs +0 -0
  631. /package/es/{packages/components → components}/tooltip/trigger.vue.mjs +0 -0
  632. /package/es/{packages/components → components}/tooltip/trigger.vue.mjs.map +0 -0
  633. /package/es/{packages/components → components}/tooltip/trigger.vue2.mjs +0 -0
  634. /package/es/{packages/components → components}/tooltip/types.mjs +0 -0
  635. /package/es/{packages/components → components}/tooltip/types.mjs.map +0 -0
  636. /package/es/{packages/components → components}/tooltip/utils.mjs +0 -0
  637. /package/es/{packages/components → components}/types.mjs +0 -0
  638. /package/es/{packages/components → components}/types.mjs.map +0 -0
  639. /package/es/{packages/constants → constants}/aria.mjs +0 -0
  640. /package/es/{packages/constants → constants}/date.mjs +0 -0
  641. /package/es/{packages/constants → constants}/event.mjs +0 -0
  642. /package/es/{packages/constants → constants}/index.mjs +0 -0
  643. /package/es/{packages/constants → constants}/index.mjs.map +0 -0
  644. /package/es/{packages/constants → constants}/key.mjs +0 -0
  645. /package/es/{packages/constants → constants}/size.mjs +0 -0
  646. /package/es/{packages/hooks → hooks}/index.mjs +0 -0
  647. /package/es/{packages/hooks → hooks}/index.mjs.map +0 -0
  648. /package/es/{packages/hooks → hooks}/use-delayed-toggle/index.mjs +0 -0
  649. /package/es/{packages/hooks → hooks}/use-forward-ref/index.mjs +0 -0
  650. /package/es/{packages/hooks → hooks}/use-id/index.mjs +0 -0
  651. /package/es/{packages/hooks → hooks}/use-model-toggle/index.mjs +0 -0
  652. /package/es/{packages/hooks → hooks}/use-namespace/index.mjs +0 -0
  653. /package/es/{packages/hooks → hooks}/use-ordered-children/index.mjs +0 -0
  654. /package/es/{packages/hooks → hooks}/use-popper/index.mjs +0 -0
  655. /package/es/{packages/hooks → hooks}/use-popper-container/index.mjs +0 -0
  656. /package/es/{packages/hooks → hooks}/use-timeout/index.mjs +0 -0
  657. /package/es/{packages/hooks → hooks}/use-z-index/index.mjs +0 -0
  658. /package/es/{packages/theme-style → theme-style}/src/avatar.scss.mjs +0 -0
  659. /package/es/{packages/theme-style → theme-style}/src/avatar.scss.mjs.map +0 -0
  660. /package/es/{packages/theme-style → theme-style}/src/back-top.scss.mjs +0 -0
  661. /package/es/{packages/theme-style → theme-style}/src/back-top.scss.mjs.map +0 -0
  662. /package/es/{packages/theme-style → theme-style}/src/base.scss.mjs +0 -0
  663. /package/es/{packages/theme-style → theme-style}/src/base.scss.mjs.map +0 -0
  664. /package/es/{packages/theme-style → theme-style}/src/collapse-transition.scss.mjs +0 -0
  665. /package/es/{packages/theme-style → theme-style}/src/collapse-transition.scss.mjs.map +0 -0
  666. /package/es/{packages/theme-style → theme-style}/src/divider.scss.mjs +0 -0
  667. /package/es/{packages/theme-style → theme-style}/src/divider.scss.mjs.map +0 -0
  668. /package/es/{packages/theme-style → theme-style}/src/empty.scss.mjs +0 -0
  669. /package/es/{packages/theme-style → theme-style}/src/empty.scss.mjs.map +0 -0
  670. /package/es/{packages/theme-style → theme-style}/src/icon.scss.mjs +0 -0
  671. /package/es/{packages/theme-style → theme-style}/src/icon.scss.mjs.map +0 -0
  672. /package/es/{packages/theme-style → theme-style}/src/menu-item-group.scss.mjs +0 -0
  673. /package/es/{packages/theme-style → theme-style}/src/menu-item-group.scss.mjs.map +0 -0
  674. /package/es/{packages/theme-style → theme-style}/src/menu-item.scss.mjs +0 -0
  675. /package/es/{packages/theme-style → theme-style}/src/menu-item.scss.mjs.map +0 -0
  676. /package/es/{packages/theme-style → theme-style}/src/menu.scss.mjs +0 -0
  677. /package/es/{packages/theme-style → theme-style}/src/menu.scss.mjs.map +0 -0
  678. /package/es/{packages/theme-style → theme-style}/src/multiple-tabs.scss.mjs +0 -0
  679. /package/es/{packages/theme-style → theme-style}/src/multiple-tabs.scss.mjs.map +0 -0
  680. /package/es/{packages/theme-style → theme-style}/src/popover.scss.mjs +0 -0
  681. /package/es/{packages/theme-style → theme-style}/src/popover.scss.mjs.map +0 -0
  682. /package/es/{packages/theme-style → theme-style}/src/popper.scss.mjs +0 -0
  683. /package/es/{packages/theme-style → theme-style}/src/popper.scss.mjs.map +0 -0
  684. /package/es/{packages/theme-style → theme-style}/src/result.scss.mjs +0 -0
  685. /package/es/{packages/theme-style → theme-style}/src/result.scss.mjs.map +0 -0
  686. /package/es/{packages/theme-style → theme-style}/src/sub-menu.scss.mjs +0 -0
  687. /package/es/{packages/theme-style → theme-style}/src/sub-menu.scss.mjs.map +0 -0
  688. /package/es/{packages/theme-style → theme-style}/src/tab-pane.scss.mjs +0 -0
  689. /package/es/{packages/theme-style → theme-style}/src/tab-pane.scss.mjs.map +0 -0
  690. /package/es/{packages/theme-style → theme-style}/src/tabs.scss.mjs +0 -0
  691. /package/es/{packages/theme-style → theme-style}/src/tabs.scss.mjs.map +0 -0
  692. /package/es/{packages/theme-style → theme-style}/src/tooltip.scss.mjs +0 -0
  693. /package/es/{packages/theme-style → theme-style}/src/tooltip.scss.mjs.map +0 -0
  694. /package/es/{packages/utils → utils}/error.mjs +0 -0
  695. /package/es/{packages/utils → utils}/event.mjs +0 -0
  696. /package/es/{packages/utils → utils}/helper.mjs +0 -0
  697. /package/es/{packages/utils → utils}/index.mjs +0 -0
  698. /package/es/{packages/utils → utils}/index.mjs.map +0 -0
  699. /package/es/{packages/utils → utils}/typescript.mjs +0 -0
  700. /package/es/{packages/utils → utils}/vue/index.mjs +0 -0
  701. /package/es/{packages/utils → utils}/vue/index.mjs.map +0 -0
  702. /package/es/{packages/utils → utils}/vue/install.mjs +0 -0
  703. /package/es/{packages/utils → utils}/vue/typescript.mjs +0 -0
  704. /package/es/{packages/utils → utils}/vue/typescript.mjs.map +0 -0
  705. /package/es/{packages/utils → utils}/vue/vnode.mjs +0 -0
  706. /package/lib/{packages/components → components}/avatar/avatar.vue.js +0 -0
  707. /package/lib/{packages/components → components}/avatar/avatar.vue.js.map +0 -0
  708. /package/lib/{packages/components → components}/avatar/avatar.vue2.js +0 -0
  709. /package/lib/{packages/components → components}/avatar/index.js +0 -0
  710. /package/lib/{packages/components → components}/avatar/style/css.js +0 -0
  711. /package/lib/{packages/components → components}/avatar/style/css.js.map +0 -0
  712. /package/lib/{packages/components → components}/avatar/style/index.js +0 -0
  713. /package/lib/{packages/components → components}/avatar/style/index.js.map +0 -0
  714. /package/lib/{packages/components → components}/back-top/back-top.vue.js +0 -0
  715. /package/lib/{packages/components → components}/back-top/back-top.vue.js.map +0 -0
  716. /package/lib/{packages/components → components}/back-top/back-top.vue2.js +0 -0
  717. /package/lib/{packages/components → components}/back-top/index.js +0 -0
  718. /package/lib/{packages/components → components}/back-top/style/css.js +0 -0
  719. /package/lib/{packages/components → components}/back-top/style/css.js.map +0 -0
  720. /package/lib/{packages/components → components}/back-top/style/index.js +0 -0
  721. /package/lib/{packages/components → components}/back-top/style/index.js.map +0 -0
  722. /package/lib/{packages/components → components}/back-top/types.js +0 -0
  723. /package/lib/{packages/components → components}/back-top/types.js.map +0 -0
  724. /package/lib/{packages/components → components}/back-top/use-back-top.js +0 -0
  725. /package/lib/{packages/components → components}/base/style/css.js +0 -0
  726. /package/lib/{packages/components → components}/base/style/css.js.map +0 -0
  727. /package/lib/{packages/components → components}/base/style/index.js +0 -0
  728. /package/lib/{packages/components → components}/base/style/index.js.map +0 -0
  729. /package/lib/{packages/components → components}/collapse-transition/index.js +0 -0
  730. /package/lib/{packages/components → components}/collapse-transition/src/collapse-transition.vue.js +0 -0
  731. /package/lib/{packages/components → components}/collapse-transition/src/collapse-transition.vue.js.map +0 -0
  732. /package/lib/{packages/components → components}/collapse-transition/src/collapse-transition.vue2.js +0 -0
  733. /package/lib/{packages/components → components}/collapse-transition/style/css.js +0 -0
  734. /package/lib/{packages/components → components}/collapse-transition/style/css.js.map +0 -0
  735. /package/lib/{packages/components → components}/collapse-transition/style/index.js +0 -0
  736. /package/lib/{packages/components → components}/collapse-transition/style/index.js.map +0 -0
  737. /package/lib/{packages/components → components}/context-menu/context-menu.vue.js +0 -0
  738. /package/lib/{packages/components → components}/context-menu/context-menu.vue.js.map +0 -0
  739. /package/lib/{packages/components → components}/context-menu/context-menu.vue2.js +0 -0
  740. /package/lib/{packages/components → components}/context-menu/createContextMenu.js +0 -0
  741. /package/lib/{packages/components → components}/context-menu/index.js +0 -0
  742. /package/lib/{packages/components → components}/context-menu/index.js.map +0 -0
  743. /package/lib/{packages/components → components}/context-menu/style/css.js +0 -0
  744. /package/lib/{packages/components → components}/context-menu/style/css.js.map +0 -0
  745. /package/lib/{packages/components → components}/context-menu/style/index.js +0 -0
  746. /package/lib/{packages/components → components}/context-menu/style/index.js.map +0 -0
  747. /package/lib/{packages/components → components}/context-menu/types.js +0 -0
  748. /package/lib/{packages/components → components}/context-menu/types.js.map +0 -0
  749. /package/lib/{packages/components → components}/context-menu/useContextMenu.js +0 -0
  750. /package/lib/{packages/components → components}/divider/divider.vue.js +0 -0
  751. /package/lib/{packages/components → components}/divider/divider.vue.js.map +0 -0
  752. /package/lib/{packages/components → components}/divider/divider.vue2.js +0 -0
  753. /package/lib/{packages/components → components}/divider/index.js +0 -0
  754. /package/lib/{packages/components → components}/divider/style/css.js +0 -0
  755. /package/lib/{packages/components → components}/divider/style/css.js.map +0 -0
  756. /package/lib/{packages/components → components}/divider/style/index.js +0 -0
  757. /package/lib/{packages/components → components}/divider/style/index.js.map +0 -0
  758. /package/lib/{packages/components → components}/divider/types.js +0 -0
  759. /package/lib/{packages/components → components}/divider/types.js.map +0 -0
  760. /package/lib/{packages/components → components}/empty/assets/no-collect.png.js +0 -0
  761. /package/lib/{packages/components → components}/empty/assets/no-data.png.js +0 -0
  762. /package/lib/{packages/components → components}/empty/assets/no-filter.png.js +0 -0
  763. /package/lib/{packages/components → components}/empty/assets/no-page-data.png.js +0 -0
  764. /package/lib/{packages/components → components}/empty/assets/no-search.png.js +0 -0
  765. /package/lib/{packages/components → components}/empty/constants.js +0 -0
  766. /package/lib/{packages/components → components}/empty/empty.vue.js +0 -0
  767. /package/lib/{packages/components → components}/empty/empty.vue.js.map +0 -0
  768. /package/lib/{packages/components → components}/empty/empty.vue2.js +0 -0
  769. /package/lib/{packages/components → components}/empty/index.js +0 -0
  770. /package/lib/{packages/components → components}/empty/style/css.js +0 -0
  771. /package/lib/{packages/components → components}/empty/style/css.js.map +0 -0
  772. /package/lib/{packages/components → components}/empty/style/index.js +0 -0
  773. /package/lib/{packages/components → components}/empty/style/index.js.map +0 -0
  774. /package/lib/{packages/components → components}/exception/exception.png.js +0 -0
  775. /package/lib/{packages/components → components}/exception/exception.vue.js +0 -0
  776. /package/lib/{packages/components → components}/exception/exception.vue.js.map +0 -0
  777. /package/lib/{packages/components → components}/exception/exception.vue2.js +0 -0
  778. /package/lib/{packages/components → components}/exception/index.js +0 -0
  779. /package/lib/{packages/components → components}/exception/style/css.js +0 -0
  780. /package/lib/{packages/components → components}/exception/style/css.js.map +0 -0
  781. /package/lib/{packages/components → components}/exception/style/index.js +0 -0
  782. /package/lib/{packages/components → components}/exception/style/index.js.map +0 -0
  783. /package/lib/{packages/components → components}/focus-trap/focus-trap.vue.js.map +0 -0
  784. /package/lib/{packages/components → components}/focus-trap/focus-trap.vue2.js +0 -0
  785. /package/lib/{packages/components → components}/focus-trap/index.js +0 -0
  786. /package/lib/{packages/components → components}/focus-trap/index.js.map +0 -0
  787. /package/lib/{packages/components → components}/focus-trap/tokens.js +0 -0
  788. /package/lib/{packages/components → components}/focus-trap/utils.js +0 -0
  789. /package/lib/{packages/components → components}/icon/icon.vue.js +0 -0
  790. /package/lib/{packages/components → components}/icon/icon.vue.js.map +0 -0
  791. /package/lib/{packages/components → components}/icon/icon.vue2.js +0 -0
  792. /package/lib/{packages/components → components}/icon/index.js +0 -0
  793. /package/lib/{packages/components → components}/icon/style/css.js +0 -0
  794. /package/lib/{packages/components → components}/icon/style/css.js.map +0 -0
  795. /package/lib/{packages/components → components}/icon/style/index.js +0 -0
  796. /package/lib/{packages/components → components}/icon/style/index.js.map +0 -0
  797. /package/lib/{packages/components → components}/index.js +0 -0
  798. /package/lib/{packages/components → components}/index.js.map +0 -0
  799. /package/lib/{packages/components → components}/menu/index.js +0 -0
  800. /package/lib/{packages/components → components}/menu/menu-collapse-transition.vue2.js +0 -0
  801. /package/lib/{packages/components → components}/menu/menu-item-group.vue.js +0 -0
  802. /package/lib/{packages/components → components}/menu/menu-item-group.vue.js.map +0 -0
  803. /package/lib/{packages/components → components}/menu/menu-item-group.vue2.js +0 -0
  804. /package/lib/{packages/components → components}/menu/menu-item.vue.js +0 -0
  805. /package/lib/{packages/components → components}/menu/menu-item.vue.js.map +0 -0
  806. /package/lib/{packages/components → components}/menu/menu-item.vue2.js +0 -0
  807. /package/lib/{packages/components → components}/menu/menu.vue.js +0 -0
  808. /package/lib/{packages/components → components}/menu/menu.vue.js.map +0 -0
  809. /package/lib/{packages/components → components}/menu/menu.vue2.js +0 -0
  810. /package/lib/{packages/components → components}/menu/style/css.js +0 -0
  811. /package/lib/{packages/components → components}/menu/style/css.js.map +0 -0
  812. /package/lib/{packages/components → components}/menu/style/index.js +0 -0
  813. /package/lib/{packages/components → components}/menu/style/index.js.map +0 -0
  814. /package/lib/{packages/components → components}/menu/sub-menu.vue.js +0 -0
  815. /package/lib/{packages/components → components}/menu/sub-menu.vue.js.map +0 -0
  816. /package/lib/{packages/components → components}/menu/sub-menu.vue2.js +0 -0
  817. /package/lib/{packages/components → components}/menu/types.js +0 -0
  818. /package/lib/{packages/components → components}/menu/types.js.map +0 -0
  819. /package/lib/{packages/components → components}/menu/use-menu-css-var.js +0 -0
  820. /package/lib/{packages/components → components}/menu/use-menu.js +0 -0
  821. /package/lib/{packages/components → components}/menu/utils/menu-bar.js +0 -0
  822. /package/lib/{packages/components → components}/menu/utils/menu-item.js +0 -0
  823. /package/lib/{packages/components → components}/menu/utils/submenu.js +0 -0
  824. /package/lib/{packages/components → components}/menu-item/style/css.js +0 -0
  825. /package/lib/{packages/components → components}/menu-item/style/css.js.map +0 -0
  826. /package/lib/{packages/components → components}/menu-item/style/index.js +0 -0
  827. /package/lib/{packages/components → components}/menu-item/style/index.js.map +0 -0
  828. /package/lib/{packages/components → components}/menu-item-group/style/css.js +0 -0
  829. /package/lib/{packages/components → components}/menu-item-group/style/css.js.map +0 -0
  830. /package/lib/{packages/components → components}/menu-item-group/style/index.js +0 -0
  831. /package/lib/{packages/components → components}/menu-item-group/style/index.js.map +0 -0
  832. /package/lib/{packages/components → components}/multiple-tabs/index.js +0 -0
  833. /package/lib/{packages/components → components}/multiple-tabs/multiple-tabs.vue.js +0 -0
  834. /package/lib/{packages/components → components}/multiple-tabs/multiple-tabs.vue.js.map +0 -0
  835. /package/lib/{packages/components → components}/multiple-tabs/style/css.js +0 -0
  836. /package/lib/{packages/components → components}/multiple-tabs/style/css.js.map +0 -0
  837. /package/lib/{packages/components → components}/multiple-tabs/style/index.js +0 -0
  838. /package/lib/{packages/components → components}/multiple-tabs/style/index.js.map +0 -0
  839. /package/lib/{packages/components → components}/multiple-tabs/tab-content.vue.js +0 -0
  840. /package/lib/{packages/components → components}/multiple-tabs/tab-content.vue.js.map +0 -0
  841. /package/lib/{packages/components → components}/multiple-tabs/tab-content.vue2.js +0 -0
  842. /package/lib/{packages/components → components}/multiple-tabs/types.js +0 -0
  843. /package/lib/{packages/components → components}/multiple-tabs/types.js.map +0 -0
  844. /package/lib/{packages/components → components}/multiple-tabs/use/index.js +0 -0
  845. /package/lib/{packages/components → components}/multiple-tabs/use/index.js.map +0 -0
  846. /package/lib/{packages/components → components}/multiple-tabs/use/use-multiple-tabs.js +0 -0
  847. /package/lib/{packages/components → components}/multiple-tabs/use/use-tab-dropdown.js +0 -0
  848. /package/lib/{packages/components → components}/popover/directive.js +0 -0
  849. /package/lib/{packages/components → components}/popover/index.js +0 -0
  850. /package/lib/{packages/components → components}/popover/popover.vue.js +0 -0
  851. /package/lib/{packages/components → components}/popover/popover.vue.js.map +0 -0
  852. /package/lib/{packages/components → components}/popover/popover.vue2.js +0 -0
  853. /package/lib/{packages/components → components}/popover/style/css.js +0 -0
  854. /package/lib/{packages/components → components}/popover/style/css.js.map +0 -0
  855. /package/lib/{packages/components → components}/popover/style/index.js +0 -0
  856. /package/lib/{packages/components → components}/popover/style/index.js.map +0 -0
  857. /package/lib/{packages/components → components}/popover/types.js +0 -0
  858. /package/lib/{packages/components → components}/popover/types.js.map +0 -0
  859. /package/lib/{packages/components → components}/popper/arrow.vue.js +0 -0
  860. /package/lib/{packages/components → components}/popper/arrow.vue.js.map +0 -0
  861. /package/lib/{packages/components → components}/popper/arrow.vue2.js +0 -0
  862. /package/lib/{packages/components → components}/popper/composables/index.js +0 -0
  863. /package/lib/{packages/components → components}/popper/composables/index.js.map +0 -0
  864. /package/lib/{packages/components → components}/popper/composables/use-content-dom.js +0 -0
  865. /package/lib/{packages/components → components}/popper/composables/use-content.js +0 -0
  866. /package/lib/{packages/components → components}/popper/composables/use-focus-trap.js +0 -0
  867. /package/lib/{packages/components → components}/popper/constants.js +0 -0
  868. /package/lib/{packages/components → components}/popper/content.vue.js +0 -0
  869. /package/lib/{packages/components → components}/popper/content.vue.js.map +0 -0
  870. /package/lib/{packages/components → components}/popper/content.vue2.js +0 -0
  871. /package/lib/{packages/components → components}/popper/index.js +0 -0
  872. /package/lib/{packages/components → components}/popper/popper.vue.js +0 -0
  873. /package/lib/{packages/components → components}/popper/popper.vue.js.map +0 -0
  874. /package/lib/{packages/components → components}/popper/popper.vue2.js +0 -0
  875. /package/lib/{packages/components → components}/popper/style/css.js +0 -0
  876. /package/lib/{packages/components → components}/popper/style/css.js.map +0 -0
  877. /package/lib/{packages/components → components}/popper/style/index.js +0 -0
  878. /package/lib/{packages/components → components}/popper/style/index.js.map +0 -0
  879. /package/lib/{packages/components → components}/popper/trigger.vue.js +0 -0
  880. /package/lib/{packages/components → components}/popper/trigger.vue.js.map +0 -0
  881. /package/lib/{packages/components → components}/popper/trigger.vue2.js +0 -0
  882. /package/lib/{packages/components → components}/popper/types.js +0 -0
  883. /package/lib/{packages/components → components}/popper/types.js.map +0 -0
  884. /package/lib/{packages/components → components}/popper/utils.js +0 -0
  885. /package/lib/{packages/components → components}/result/index.js +0 -0
  886. /package/lib/{packages/components → components}/result/result.vue.js +0 -0
  887. /package/lib/{packages/components → components}/result/result.vue.js.map +0 -0
  888. /package/lib/{packages/components → components}/result/result.vue2.js +0 -0
  889. /package/lib/{packages/components → components}/result/style/css.js +0 -0
  890. /package/lib/{packages/components → components}/result/style/css.js.map +0 -0
  891. /package/lib/{packages/components → components}/result/style/index.js +0 -0
  892. /package/lib/{packages/components → components}/result/style/index.js.map +0 -0
  893. /package/lib/{packages/components → components}/slot/index.js +0 -0
  894. /package/lib/{packages/components → components}/slot/index.js.map +0 -0
  895. /package/lib/{packages/components → components}/slot/only-child.js +0 -0
  896. /package/lib/{packages/components → components}/sub-menu/style/css.js +0 -0
  897. /package/lib/{packages/components → components}/sub-menu/style/css.js.map +0 -0
  898. /package/lib/{packages/components → components}/sub-menu/style/index.js +0 -0
  899. /package/lib/{packages/components → components}/sub-menu/style/index.js.map +0 -0
  900. /package/lib/{packages/components → components}/tab-pane/style/css.js +0 -0
  901. /package/lib/{packages/components → components}/tab-pane/style/css.js.map +0 -0
  902. /package/lib/{packages/components → components}/tab-pane/style/index.js +0 -0
  903. /package/lib/{packages/components → components}/tab-pane/style/index.js.map +0 -0
  904. /package/lib/{packages/components → components}/tabs/index.js +0 -0
  905. /package/lib/{packages/components → components}/tabs/style/css.js +0 -0
  906. /package/lib/{packages/components → components}/tabs/style/css.js.map +0 -0
  907. /package/lib/{packages/components → components}/tabs/style/index.js +0 -0
  908. /package/lib/{packages/components → components}/tabs/style/index.js.map +0 -0
  909. /package/lib/{packages/components → components}/tabs/tab-bar.vue.js +0 -0
  910. /package/lib/{packages/components → components}/tabs/tab-bar.vue.js.map +0 -0
  911. /package/lib/{packages/components → components}/tabs/tab-bar.vue2.js +0 -0
  912. /package/lib/{packages/components → components}/tabs/tab-nav.vue.js +0 -0
  913. /package/lib/{packages/components → components}/tabs/tab-nav.vue.js.map +0 -0
  914. /package/lib/{packages/components → components}/tabs/tab-nav.vue2.js +0 -0
  915. /package/lib/{packages/components → components}/tabs/tab-pane.vue.js +0 -0
  916. /package/lib/{packages/components → components}/tabs/tab-pane.vue.js.map +0 -0
  917. /package/lib/{packages/components → components}/tabs/tab-pane.vue2.js +0 -0
  918. /package/lib/{packages/components → components}/tabs/tabs.vue.js +0 -0
  919. /package/lib/{packages/components → components}/tabs/tabs.vue.js.map +0 -0
  920. /package/lib/{packages/components → components}/tabs/tabs.vue2.js +0 -0
  921. /package/lib/{packages/components → components}/tabs/types.js +0 -0
  922. /package/lib/{packages/components → components}/tooltip/constants.js +0 -0
  923. /package/lib/{packages/components → components}/tooltip/content.vue.js +0 -0
  924. /package/lib/{packages/components → components}/tooltip/content.vue.js.map +0 -0
  925. /package/lib/{packages/components → components}/tooltip/content.vue2.js +0 -0
  926. /package/lib/{packages/components → components}/tooltip/index.js +0 -0
  927. /package/lib/{packages/components → components}/tooltip/style/css.js +0 -0
  928. /package/lib/{packages/components → components}/tooltip/style/css.js.map +0 -0
  929. /package/lib/{packages/components → components}/tooltip/style/index.js +0 -0
  930. /package/lib/{packages/components → components}/tooltip/style/index.js.map +0 -0
  931. /package/lib/{packages/components → components}/tooltip/tooltip.vue.js +0 -0
  932. /package/lib/{packages/components → components}/tooltip/tooltip.vue.js.map +0 -0
  933. /package/lib/{packages/components → components}/tooltip/tooltip.vue2.js +0 -0
  934. /package/lib/{packages/components → components}/tooltip/trigger.vue.js +0 -0
  935. /package/lib/{packages/components → components}/tooltip/trigger.vue.js.map +0 -0
  936. /package/lib/{packages/components → components}/tooltip/trigger.vue2.js +0 -0
  937. /package/lib/{packages/components → components}/tooltip/types.js +0 -0
  938. /package/lib/{packages/components → components}/tooltip/types.js.map +0 -0
  939. /package/lib/{packages/components → components}/tooltip/utils.js +0 -0
  940. /package/lib/{packages/components → components}/types.js +0 -0
  941. /package/lib/{packages/components → components}/types.js.map +0 -0
  942. /package/lib/{packages/constants → constants}/aria.js +0 -0
  943. /package/lib/{packages/constants → constants}/date.js +0 -0
  944. /package/lib/{packages/constants → constants}/event.js +0 -0
  945. /package/lib/{packages/constants → constants}/index.js +0 -0
  946. /package/lib/{packages/constants → constants}/index.js.map +0 -0
  947. /package/lib/{packages/constants → constants}/key.js +0 -0
  948. /package/lib/{packages/constants → constants}/size.js +0 -0
  949. /package/lib/{packages/hooks → hooks}/index.js +0 -0
  950. /package/lib/{packages/hooks → hooks}/index.js.map +0 -0
  951. /package/lib/{packages/hooks → hooks}/use-delayed-toggle/index.js +0 -0
  952. /package/lib/{packages/hooks → hooks}/use-forward-ref/index.js +0 -0
  953. /package/lib/{packages/hooks → hooks}/use-id/index.js +0 -0
  954. /package/lib/{packages/hooks → hooks}/use-model-toggle/index.js +0 -0
  955. /package/lib/{packages/hooks → hooks}/use-namespace/index.js +0 -0
  956. /package/lib/{packages/hooks → hooks}/use-ordered-children/index.js +0 -0
  957. /package/lib/{packages/hooks → hooks}/use-popper/index.js +0 -0
  958. /package/lib/{packages/hooks → hooks}/use-popper-container/index.js +0 -0
  959. /package/lib/{packages/hooks → hooks}/use-timeout/index.js +0 -0
  960. /package/lib/{packages/hooks → hooks}/use-z-index/index.js +0 -0
  961. /package/lib/{packages/theme-style → theme-style}/src/avatar.scss.js +0 -0
  962. /package/lib/{packages/theme-style → theme-style}/src/avatar.scss.js.map +0 -0
  963. /package/lib/{packages/theme-style → theme-style}/src/back-top.scss.js +0 -0
  964. /package/lib/{packages/theme-style → theme-style}/src/back-top.scss.js.map +0 -0
  965. /package/lib/{packages/theme-style → theme-style}/src/base.scss.js +0 -0
  966. /package/lib/{packages/theme-style → theme-style}/src/base.scss.js.map +0 -0
  967. /package/lib/{packages/theme-style → theme-style}/src/collapse-transition.scss.js +0 -0
  968. /package/lib/{packages/theme-style → theme-style}/src/collapse-transition.scss.js.map +0 -0
  969. /package/lib/{packages/theme-style → theme-style}/src/divider.scss.js +0 -0
  970. /package/lib/{packages/theme-style → theme-style}/src/divider.scss.js.map +0 -0
  971. /package/lib/{packages/theme-style → theme-style}/src/empty.scss.js +0 -0
  972. /package/lib/{packages/theme-style → theme-style}/src/empty.scss.js.map +0 -0
  973. /package/lib/{packages/theme-style → theme-style}/src/icon.scss.js +0 -0
  974. /package/lib/{packages/theme-style → theme-style}/src/icon.scss.js.map +0 -0
  975. /package/lib/{packages/theme-style → theme-style}/src/menu-item-group.scss.js +0 -0
  976. /package/lib/{packages/theme-style → theme-style}/src/menu-item-group.scss.js.map +0 -0
  977. /package/lib/{packages/theme-style → theme-style}/src/menu-item.scss.js +0 -0
  978. /package/lib/{packages/theme-style → theme-style}/src/menu-item.scss.js.map +0 -0
  979. /package/lib/{packages/theme-style → theme-style}/src/menu.scss.js +0 -0
  980. /package/lib/{packages/theme-style → theme-style}/src/menu.scss.js.map +0 -0
  981. /package/lib/{packages/theme-style → theme-style}/src/multiple-tabs.scss.js +0 -0
  982. /package/lib/{packages/theme-style → theme-style}/src/multiple-tabs.scss.js.map +0 -0
  983. /package/lib/{packages/theme-style → theme-style}/src/popover.scss.js +0 -0
  984. /package/lib/{packages/theme-style → theme-style}/src/popover.scss.js.map +0 -0
  985. /package/lib/{packages/theme-style → theme-style}/src/popper.scss.js +0 -0
  986. /package/lib/{packages/theme-style → theme-style}/src/popper.scss.js.map +0 -0
  987. /package/lib/{packages/theme-style → theme-style}/src/result.scss.js +0 -0
  988. /package/lib/{packages/theme-style → theme-style}/src/result.scss.js.map +0 -0
  989. /package/lib/{packages/theme-style → theme-style}/src/sub-menu.scss.js +0 -0
  990. /package/lib/{packages/theme-style → theme-style}/src/sub-menu.scss.js.map +0 -0
  991. /package/lib/{packages/theme-style → theme-style}/src/tab-pane.scss.js +0 -0
  992. /package/lib/{packages/theme-style → theme-style}/src/tab-pane.scss.js.map +0 -0
  993. /package/lib/{packages/theme-style → theme-style}/src/tabs.scss.js +0 -0
  994. /package/lib/{packages/theme-style → theme-style}/src/tabs.scss.js.map +0 -0
  995. /package/lib/{packages/theme-style → theme-style}/src/tooltip.scss.js +0 -0
  996. /package/lib/{packages/theme-style → theme-style}/src/tooltip.scss.js.map +0 -0
  997. /package/lib/{packages/utils → utils}/error.js +0 -0
  998. /package/lib/{packages/utils → utils}/event.js +0 -0
  999. /package/lib/{packages/utils → utils}/helper.js +0 -0
  1000. /package/lib/{packages/utils → utils}/index.js +0 -0
  1001. /package/lib/{packages/utils → utils}/index.js.map +0 -0
  1002. /package/lib/{packages/utils → utils}/typescript.js +0 -0
  1003. /package/lib/{packages/utils → utils}/vue/index.js +0 -0
  1004. /package/lib/{packages/utils → utils}/vue/index.js.map +0 -0
  1005. /package/lib/{packages/utils → utils}/vue/install.js +0 -0
  1006. /package/lib/{packages/utils → utils}/vue/typescript.js +0 -0
  1007. /package/lib/{packages/utils → utils}/vue/typescript.js.map +0 -0
  1008. /package/lib/{packages/utils → utils}/vue/vnode.js +0 -0
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
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":"q4BACMA,EAAuBC,EAAAA,aAAa,UAAU,EAGpDC,EAA6BC,EAAAA,gBAAmB,CAC9CC,KAAMJ,EAAGK,EAAC,CACZ,CAAC,sWAuDD,MAAMC,EAAWC,EAAAA,qBAGX,CAAEC,UAAAA,EAAWC,WAAAA,CAAW,EAAIC,EAAAA,QAAQJ,EAAUK,EAAAA,SAAS,IAAMC,EAAQC,KAAK,CAAC,EAE3EC,EAASb,eAAa,MAAM,EAC5Bc,EAAYd,eAAa,UAAU,EAGnCe,EAAWC,SAAqB,UAAU,EAC3CD,GAAUE,EAAU,WAAClB,EAAGK,EAAC,EAAI,0BAA0B,EAG5D,MAAMc,EAAUF,EAAM,OAAmB,WAAUR,EAAWW,MAAOC,KAAK,EACrEF,GAASD,EAAU,WAAClB,EAAGK,EAAC,EAAI,yBAAyB,EAY1D,MAAMiB,EAAWC,MAA8B,CAAA,CAAE,EAEjD,IAAIC,EACJ,MAAMC,EAAeF,MAAI,EAAK,EAGxBG,EAAmBH,EAAAA,MAEnBI,EAAUJ,MAAI,IAAI,EAGlBK,EAAmBjB,EAAAA,SACvB,IAAOkB,EAAKT,QAAU,cAAgBU,EAAaV,MAAQ,eAAiB,aAAc,EAGtFU,EAAenB,EAAAA,SAAS,IACrBQ,EAAQY,QAAU,CAC1B,EAEKC,EAAerB,EAAAA,SAAS,IACrBC,EAAQqB,qBAAuBC,OAAYJ,EAAaV,MAAQe,QAAQvB,EAAQqB,kBAAkB,CAC1G,EAGKG,EAAqBzB,EAAAA,SACzB,IAAOK,EAASqB,MAAMC,SAAY,GAAExB,EAAOyB,UAAUnB,qBAAwB,GAAEN,EAAOyB,UAAUnB,mBAAoB,EAEhHoB,EAAqB7B,EAAAA,SAAsB,IAC/CkB,EAAKT,QAAU,cAAgBU,EAAaV,MACxC,CAAC,eAAgB,aAAc,YAAa,UAAW,cAAe,YAAY,EAClF,CAAC,cAAe,aAAc,eAAgB,aAAc,YAAa,SAAS,CAAC,EAInFqB,EAAS9B,EAAQ,SAAC,IAAMK,EAAS0B,YAAYC,SAAS/B,EAAQC,KAAK,CAAC,EAEpE+B,EAASjC,EAAAA,SAAS,IAAM,CAC5B,IAAIkC,EAAW,GACfC,cAAOC,OAAOzB,EAASF,KAAK,EAAE4B,QAASC,GAAY,CAC7CA,EAAQL,SACVC,EAAW,GAEf,CAAC,EACGjC,EAAQC,QAAUG,EAASkC,cAC7BL,EAAW,IAENA,CACT,CAAC,EAEKM,EAAkBxC,EAAAA,SAAS,IAAMK,EAASqB,MAAMc,iBAAmB,EAAE,EAErEC,EAAkBzC,EAAAA,SAAS,IAAMK,EAASqB,MAAMe,iBAAmB,EAAE,EAErEC,EAAY1C,EAAAA,SAAS,IAAMK,EAASqB,MAAMgB,WAAa,EAAE,EAEzDxB,EAAOlB,EAAAA,SAAS,IAAMK,EAASqB,MAAMR,IAAI,EAEzCyB,EAAOC,EAAAA,SAAS,CACpB1C,MAAOD,EAAQC,MACfL,UAAAA,EACAoC,OAAAA,CACF,CAAC,EAGKY,EAAa7C,EAAAA,SAAwB,IACrCkB,EAAKT,QAAU,aACV,CACLqC,MAAOJ,EAAUjC,OAGd,CACLsC,kBAAmBd,EAAOxB,MAASJ,EAASqB,MAAMe,gBAAkBA,EAAgBhC,MAAQ,GAAM,cAClGqC,MAAOb,EAAOxB,MAAQgC,EAAgBhC,MAAQiC,EAAUjC,MAE3D,EAGKuC,EAAYA,IAAAA,WAAMhC,OAAAA,GAAAA,GAAAA,EAAAA,EAAQP,QAARO,YAAAA,EAAeiC,YAAfjC,YAAAA,EAA0BkC,oBAA1BlC,YAAAA,EAA6CmC,WAG/DC,EAAwB3C,GAAmB,CAC1CA,GACHuC,KAKEK,EAAcA,IAAM,CAEnBhD,EAASqB,MAAM4B,cAAgB,SAAWjD,EAASqB,MAAMR,OAAS,cAAkBb,EAASqB,MAAMC,UAAYtB,EAASqB,MAAMR,OAAS,YAAejB,EAAQsD,UAGnKlD,EAASmD,mBAAmB,CAC1BtD,MAAOD,EAAQC,MACfL,UAAWA,EAAUY,MACrBwB,OAAQA,EAAOxB,KACjB,CAAC,GAIGgD,EAAmBA,CAACC,EAAgCC,EAAe1D,EAAQ2D,cAAgB,OAC3FF,EAAMG,OAAS,UAGdxD,EAASqB,MAAM4B,cAAgB,SAAWjD,EAASqB,MAAMR,OAAS,cAAkB,CAACb,EAASqB,MAAMC,UAAYtB,EAASqB,MAAMR,OAAS,YAAejB,EAAQsD,WAGpK/C,EAAQM,aAAaL,MAAQ,GAG7BI,GAAAA,MAAAA,IACC,CAAEiD,KAAMjD,CAAS,EAAGkD,EAAY,aAAC,IAAM,CACtC1D,EAAS2D,SAAS/D,EAAQC,MAAOL,EAAUY,KAAK,CACjD,EAAEkD,CAAY,EAEXtC,EAAaZ,SACfX,EAAAA,EAAWW,MAAMwD,MAAMC,KAAvBpE,MAAAA,EAA2BqE,cAAc,IAAIC,WAAW,YAAY,OAKlEC,EAAmBA,CAACC,EAAe,KAAU,SAC5CjE,EAASqB,MAAM4B,cAAgB,SAAWjD,EAASqB,MAAMR,OAAS,cAAkB,CAACb,EAASqB,MAAMC,UAAYtB,EAASqB,MAAMR,OAAS,aAG7IL,GAAAA,MAAAA,IACAL,EAAQM,aAAaL,MAAQ,GAC5B,CAAEqD,KAAMjD,CAAS,EAAGkD,EAAY,aAC/B,IAAM,CAACjD,EAAaL,OAASJ,EAASkE,UAAUtE,EAAQC,MAAOL,EAAUY,KAAK,EAC9ER,EAAQuE,WAAW,EAEjBnD,EAAaZ,OAAS6D,KACpB3E,EAAAA,EAAS8E,SAAT9E,YAAAA,EAAiBkE,KAAKpE,QAAS,kBACjCe,EAAAA,EAAQ6D,mBAAR7D,MAAAA,EAAAA,KAAAA,EAA2B,OAMjCkE,QACE,IAAMrE,EAASqB,MAAMC,SACpBlB,GAAU2C,EAAqB5B,QAAQf,CAAK,CAAC,CAAC,EAIjD,CAYE,MAAMkE,EAA6ChC,GAAS,CAC1DhC,EAASF,MAAMkC,EAAKzC,KAAK,EAAIyC,GAEzBiC,EAAmDjC,GAAS,CAChE,OAAOhC,EAASF,MAAMkC,EAAKzC,KAAK,GAElC2E,EAAAA,QAA0B,WAAUlF,EAASe,MAAO,CAClDiE,WAAAA,EACAC,cAAAA,EACAP,iBAAAA,EACAvD,aAAAA,EACAM,MAAOZ,EAAQY,MAAQ,CACzB,CAAC,CACH,CAEA0D,EAAa,CACXhD,OAAAA,CACF,CAAC,EAEDiD,EAAAA,UAAU,IAAM,CACd1E,EAASsE,WAAWhC,CAAI,EACxBnC,EAAQmE,WAAWhC,CAAI,CACzB,CAAC,EAEDqC,EAAAA,gBAAgB,IAAM,CACpBxE,EAAQoE,cAAcjC,CAAI,EAC1BtC,EAASuE,cAAcjC,CAAI,CAC7B,CAAC,EAED,MAAMsC,EAAQC,EAAAA,WAGRC,EAAcnF,EAAAA,SAAS,IAEnBkB,EAAKT,QAAU,cAAgBU,EAAaV,OAAWS,EAAKT,QAAU,YAAc,CAACJ,EAASqB,MAAMC,SACxG,CAAEyD,KAAM,gBAAiBC,KAAM,GAAI,GAAGpF,EAAQqF,UAAW,EAC3D,CAAEF,KAAM,iBAAkBC,KAAM,GAAI,GAAGpF,EAAQsF,aAClD,EAEKC,EAAQxF,EAAAA,SAAS,IACdyF,kBAAgBxF,EAAQmF,KAAM,MAAM,CAC5C,EAEKM,EAAW1F,EAAAA,SAAS,IACjB2F,EAAW,YAAChG,EAAU,OAAO,CACrC,EAEY,MAAA,IAAM,OAEjB,MAAMiG,EAA+B,EACnCJ,EAAAA,EAAM/E,QAAN+E,MAAAA,EAAaJ,KAAOS,EAAC,EAACC,UAAM,CAAE,GAAGN,EAAM/E,KAAM,CAAC,EAAI,KAClDoF,EAAC,EACC,OACA,CACEE,MAAO9F,EAAQ+F,UAAY5F,EAAU6F,EAAE,MAAM,EAAI,GACjDC,MAAOvG,EAAS+B,MAAMwE,KACxB,EACAR,EAASjF,KAAK,EAEhBR,EAAQ+F,UAAYH,EAAC,EACnBC,UACA,CACEC,MAAO3F,EAAU6F,EAAE,YAAY,EAC/B,GAAGd,EAAY1E,MACf0F,MAAO,CAAEC,UAAWtE,EAAOrB,MAAQ,kBAAoB,MAAO,EAC/D,EACC,EAAK,EAIL4F,EAAUC,EAAAA,cAAcjG,EAASqB,MAAOlB,EAAQY,MAAQ,CAAC,EAOzDmF,EAAQlG,EAASmG,YACnBX,EAAAA,EACAY,EAAAA,WACA,CACE7F,IAAKI,EACL0F,QAAS5E,EAAOrB,MAChBkG,OAAQ,QACRC,KAAM,GACNC,OAAQ5G,EAAQ6G,aAChBd,UAAW,GACXe,WAAY,GACZC,YAAa/G,EAAQ+G,YACrBC,UAAWhG,EAAiBR,MAC5ByG,WAAY7F,EAAaZ,MACzBoB,mBAAoBA,EAAmBpB,MACvC0G,WAAY1F,EAAmBhB,MAC/B2G,gBAAiB,GACjB,GAAGnH,EAAQoH,UACb,EACA,CACEC,QAASA,IAAAA,OACPzB,OAAAA,EAAC,EACC,MACA,CACEE,MAAO,CAAC5F,EAAOoH,EAAErG,EAAKT,KAAK,EAAGN,EAAOoH,EAAE,iBAAiB,EAAGtH,EAAQ+G,WAAW,EAC9EQ,aAAeC,GAAoBhE,EAAiBgE,EAAK,GAAG,EAC5DC,aAAcA,IAAMrD,EAAiB,EAAI,EACzCsD,QAAUF,GAAoBhE,EAAiBgE,EAAK,GAAG,CACzD,EACA,CACE5B,EAAC,EACC,KACA,CACEE,MAAO,CAAC5F,EAAOT,EAAG,EAAES,EAAOoH,EAAE,OAAO,EAAGpH,EAAOoH,EAC3C,SAAQtG,EAAiBR,OAAO,CAAC,EACpC0F,MAAOE,EAAQ5F,KAChB,EACD,EAACwE,EAAAA,EAAM2C,UAAN3C,YAAAA,EAAAA,KAAAA,EAAiB,CAAC,CACpB,CACF,GAEL2C,QAASA,IACP/B,EAAC,EACC,MACA,CACEE,MAAO3F,EAAU6F,EAAE,OAAO,EAC1BE,MAAO,CAACtD,EAAWpC,MAAO,CAAE+B,gBAAiBA,EAAgB/B,KAAM,CAAC,EACpEoH,QAASxE,CACV,EACDuC,CAAQ,CAEd,CAAC,EAQHC,EAAC,EAACiC,EAAQ,SAAE,GAAI,CACdpC,EAASjF,MAAQoF,EAAC,EAChB,MACA,CACEE,MAAO3F,EAAU6F,EAAE,OAAO,EAC1BE,MAAO,CAACtD,EAAWpC,MAAO,CAAE+B,gBAAiBA,EAAgB/B,KAAM,CAAC,EACpEG,IAAKG,EACL8G,QAASxE,CACV,EACDuC,CAAQ,EACN,KACJC,EAAAA,EACEkC,EAAAA,sBACA,CAAA,EACA,CACEH,QAASA,IACPI,OAAAA,OAAAA,EAAAA,eACEnC,EAAC,EACC,KACA,CACEoC,KAAM,OACNlC,MAAO,CAAC5F,EAAOT,EAAC,EAAIS,EAAOoH,EAAE,QAAQ,CAAC,EACtCpB,MAAOE,EAAQ5F,KACjB,EACA,EAACwE,EAAAA,EAAM2C,UAAN3C,YAAAA,EAAAA,KAAAA,EAAiB,CAAC,EAErB,CAAC,CAACiD,QAAOpG,EAAOrB,KAAK,CAAC,CAAC,EAE5B,CAAA,CACF,CACF,EAEH,OAAOoF,EAAAA,EACL,KACA,CACEE,MAAO,CAAC3F,EAAUV,IAAKU,EAAU+H,GAAG,SAAUlG,EAAOxB,KAAK,EACxDL,EAAU+H,GAAG,SAAUrG,EAAOrB,KAAK,EAAGL,EAAU+H,GAAG,WAAYlI,EAAQsD,QAAQ,CAAC,EAClF0E,KAAM,WACNG,aAAc,GACdC,aAAcvG,EAAOrB,MACrB+G,aAAc/D,EACdiE,aAAcA,IAAMrD,EAAiB,EAAI,EACzCsD,QAASlE,CACX,EACA,CAAC8C,CAAK,CAAC"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
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
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/popover/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Popover from './popover.vue'\n\nexport const VftPopover = withInstall(Popover)\nexport default VftPopover\n\n"],"names":["VftPopover","withInstall","Popover"],"mappings":"2PAIaA,EAAaC,cAAYC,EAAO,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.vue2.js","sources":["../../../../../../packages/components/popover/popover.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('popover')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<template>\n\t<vft-tooltip\n\t\t\tref=\"tooltipRef\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\t:trigger=\"trigger\"\n\t\t\t:placement=\"placement\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:visible=\"visible\"\n\t\t\t:transition=\"transition\"\n\t\t\t:popper-options=\"popperOptions\"\n\t\t\t:tabindex=\"tabindex\"\n\t\t\t:content=\"content\"\n\t\t\t:offset=\"offset\"\n\t\t\t:show-after=\"showAfter\"\n\t\t\t:hide-after=\"hideAfter\"\n\t\t\t:auto-close=\"autoClose\"\n\t\t\t:show-arrow=\"showArrow\"\n\t\t\t:aria-label=\"title\"\n\t\t\t:effect=\"effect\"\n\t\t\t:enterable=\"enterable\"\n\t\t\t:popper-class=\"kls\"\n\t\t\t:popper-style=\"style\"\n\t\t\t:teleported=\"teleported\"\n\t\t\t:persistent=\"persistent\"\n\t\t\t:gpu-acceleration=\"gpuAcceleration\"\n\t\t\t@before-show=\"beforeEnter\"\n\t\t\t@before-hide=\"beforeLeave\"\n\t\t\t@show=\"afterEnter\"\n\t\t\t@hide=\"afterLeave\"\n\t>\n\t\t<template v-if=\"$slots.reference\">\n\t\t\t<slot name=\"reference\" />\n\t\t</template>\n\n\t\t<template #content>\n\t\t\t<div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n\t\t\t\t{{ title }}\n\t\t\t</div>\n\t\t\t<slot>\n\t\t\t\t{{ content }}\n\t\t\t</slot>\n\t\t</template>\n\t</vft-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport type { Options, Placement } from '@popperjs/core';\nimport { computed, ref, type StyleValue, unref } from 'vue';\nimport { addUnit } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { VftTooltip, type TooltipTriggerType } from '@vft-ui/components/tooltip';\n\ninterface PopoverProps {\n\ttrigger?: TooltipTriggerType;\n\tplacement?: Placement;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\ttransition?: string;\n\tpopperOptions?: Partial<Options>;\n\ttabindex?: number;\n\tcontent?: string;\n\tpopperStyle?: StyleValue;\n\tpopperClass?: ClassType;\n\tenterable?: boolean;\n\teffect?: 'light' | 'dark';\n\tteleported?: boolean;\n\ttitle?: string;\n\twidth?: string | number;\n\toffset?: number;\n\tshowAfter?: number;\n\thideAfter?: number;\n\tautoClose?: number;\n\tshowArrow?: boolean;\n\tpersistent?: boolean;\n}\n\ndefineProps({\n \"trigger\": { default: 'hover' },\n \"placement\": { default: 'bottom' },\n \"disabled\": { type: Boolean, },\n \"visible\": { type: Boolean, default: null },\n \"transition\": { default: 'vft-fade-in-linear' },\n \"popperOptions\": null,\n \"tabindex\": { default: 0 },\n \"content\": null,\n \"popperStyle\": null,\n \"popperClass\": null,\n \"enterable\": { type: Boolean, default: true },\n \"effect\": { default: 'light' },\n \"teleported\": { type: Boolean, default: true },\n \"title\": null,\n \"width\": { default: 150 },\n \"offset\": null,\n \"showAfter\": { default: 0 },\n \"hideAfter\": { default: 200 },\n \"autoClose\": { default: 0 },\n \"showArrow\": { type: Boolean, default: true },\n \"persistent\": { type: Boolean, default: true }\n})\n\nconst emit = defineEmits(['update:visible', 'before-enter', 'before-leave', 'after-enter', 'after-leave']);\n\n\n\n;\n\nconst tooltipRef = ref();\nconst popperRef = computed(() => {\n\treturn unref(tooltipRef)?.popperRef;\n});\n\nconst style = computed(() => {\n\treturn [\n\t\t{\n\t\t\twidth: addUnit(__props.width)\n\t\t},\n\t\t__props.popperStyle!\n\t];\n});\n\nconst kls = computed(() => {\n\treturn [ns.b(), __props.popperClass!, { [ns.m('plain')]: !!__props.content }];\n});\n\nconst gpuAcceleration = computed(() => {\n\treturn __props.transition === `${ns.namespace.value}-fade-in-linear`;\n});\n\nconst hide = () => {\n\ttooltipRef.value?.hide();\n};\n\nconst beforeEnter = () => {\n\temit('before-enter');\n};\nconst beforeLeave = () => {\n\temit('before-leave');\n};\n\nconst afterEnter = () => {\n\temit('after-enter');\n};\n\nconst afterLeave = () => {\n\temit('update:visible', false);\n\temit('after-leave');\n};\n\ndefineExpose({\n\t/** @description popper ref */\n\tpopperRef,\n\t/** @description hide popover */\n\thide\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","tooltipRef","ref","popperRef","computed","unref","style","addUnit","__props","kls","gpuAcceleration","hide","_a","beforeEnter","emit","beforeLeave","afterEnter","afterLeave","expose"],"mappings":"yXACMA,EAAuBC,EAAAA,aAAa,SAAS,EAGnDC,EAA6BC,EAAAA,gBAAmB,CAC/C,KAAMH,EAAG,EAAE,CACZ,CAAC,gqBA0GD,MAAMI,EAAaC,EAAAA,MACbC,EAAYC,EAAAA,SAAS,IAAM,OACzB,OAAAC,EAAAA,EAAA,MAAMJ,CAAU,IAAhBI,YAAAA,EAAmB,SAAA,CAC1B,EAEKC,EAAQF,EAAAA,SAAS,IACf,CACN,CACC,MAAOG,EAAAA,QAAQC,EAAQ,KAAK,CAC7B,EACAA,EAAQ,WAAA,CAET,EAEKC,EAAML,EAAAA,SAAS,IACb,CAACP,EAAG,EAAK,EAAAW,EAAQ,YAAc,CAAE,CAACX,EAAG,EAAE,OAAO,CAAC,EAAG,CAAC,CAACW,EAAQ,OAAS,CAAA,CAC5E,EAEKE,EAAkBN,EAAAA,SAAS,IACzBI,EAAQ,aAAe,GAAGX,EAAG,UAAU,sBAC9C,EAEKc,EAAO,IAAM,QAClBC,EAAAX,EAAW,QAAX,MAAAW,EAAkB,MAAK,EAGlBC,EAAc,IAAM,CACzBC,EAAK,cAAc,CAAA,EAEdC,EAAc,IAAM,CACzBD,EAAK,cAAc,CAAA,EAGdE,EAAa,IAAM,CACxBF,EAAK,aAAa,CAAA,EAGbG,EAAa,IAAM,CACxBH,EAAK,iBAAkB,EAAK,EAC5BA,EAAK,aAAa,CAAA,EAGN,OAAAI,EAAA,CAEZ,UAAAf,EAEA,KAAAQ,CAAA,CACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrow.vue2.js","sources":["../../../../../../packages/components/popper/arrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'vft-popper-arrow',\n\tinheritAttrs: false\n});\n</script>\n<template>\n <span ref=\"arrowRef\" :class=\"ns.e('arrow')\" data-popper-arrow :style=\"arrowStyle\" />\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, onBeforeUnmount, watch } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { POPPER_CONTENT_INJECTION_KEY } from './constants';\n\ninterface Props {\n arrowOffset?: number\n}\n\ndefineProps({\n \"arrowOffset\": { default: 5 }\n})\n\n;\n\nconst ns = useNamespace('popper');\nconst { arrowOffset: _arrowOffset, arrowRef, arrowStyle } = inject(\n POPPER_CONTENT_INJECTION_KEY,\n undefined\n)!;\n\nwatch(\n () => __props.arrowOffset,\n (val) => {\n _arrowOffset.value = val;\n }\n);\nonBeforeUnmount(() => {\n arrowRef.value = undefined;\n});\n\ndefineExpose({\n /**\n * @description Arrow element\n */\n arrowRef\n});\n</script>\n"],"names":["__default__","DO_defineComponent","ns","useNamespace","_arrowOffset","arrowRef","arrowStyle","inject","POPPER_CONTENT_INJECTION_KEY","watch","__props","val","onBeforeUnmount","expose"],"mappings":"kXAEAA,EAA6BC,EAAAA,gBAAmB,CAC/C,KAAM,mBACN,aAAc,EACf,CAAC,gFAqBK,MAAAC,EAAKC,eAAa,QAAQ,EAC1B,CAAE,YAAaC,EAAc,SAAAC,EAAU,WAAAC,CAAe,EAAAC,EAAA,OAC1DC,EAAA,6BACA,MAAA,EAGFC,OAAAA,EAAA,MACE,IAAMC,EAAQ,YACbC,GAAQ,CACPP,EAAa,MAAQO,CACvB,CAAA,EAEFC,EAAAA,gBAAgB,IAAM,CACpBP,EAAS,MAAQ,MAAA,CAClB,EAEYQ,EAAA,CAIX,SAAAR,CAAA,CACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-content-dom.js","sources":["../../../../../../../packages/components/popper/composables/use-content-dom.ts"],"sourcesContent":["import { computed, ref, unref } from 'vue'\nimport { useNamespace, useZIndex } from '@vft-ui/hooks'\n\nimport type { CSSProperties, StyleValue } from 'vue'\nimport type { UsePopperReturn } from '@vft-ui/hooks'\nimport type { UsePopperContentReturn } from './use-content'\nimport type { PopperContentProps } from '../types'\n\nexport const usePopperContentDOM = (\n props: PopperContentProps,\n {\n attributes,\n styles,\n role,\n }: Pick<UsePopperReturn, 'attributes' | 'styles'> &\n Pick<UsePopperContentReturn, 'role'>\n) => {\n const { nextZIndex } = useZIndex()\n const ns = useNamespace('popper')\n\n const contentAttrs = computed(() => unref(attributes).popper)\n const contentZIndex = ref<number>(props.zIndex || nextZIndex())\n const contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect!),\n props.popperClass,\n ])\n const contentStyle = computed<StyleValue[]>(() => {\n return [\n { zIndex: unref(contentZIndex) } as CSSProperties,\n props.popperStyle || {},\n unref(styles).popper as CSSProperties,\n ]\n })\n const ariaModal = computed<string | undefined>(() =>\n role.value === 'dialog' ? 'false' : undefined\n )\n const arrowStyle = computed(\n () => (unref(styles).arrow || {}) as CSSProperties\n )\n\n const updateZIndex = () => {\n contentZIndex.value = props.zIndex || nextZIndex()\n }\n\n return {\n ariaModal,\n arrowStyle,\n contentAttrs,\n contentClass,\n contentStyle,\n contentZIndex,\n\n updateZIndex,\n }\n}\n\nexport type UsePopperContentDOMReturn = ReturnType<typeof usePopperContentDOM>\n"],"names":["usePopperContentDOM","props","attributes","styles","role","nextZIndex","useZIndex","ns","useNamespace","contentAttrs","computed","unref","contentZIndex","ref","contentClass","contentStyle","ariaModal","arrowStyle"],"mappings":"kUAQa,MAAAA,EAAsB,CACjCC,EACA,CACE,WAAAC,EACA,OAAAC,EACA,KAAAC,CACF,IAEG,CACG,KAAA,CAAE,WAAAC,GAAeC,EAAAA,YACjBC,EAAKC,eAAa,QAAQ,EAE1BC,EAAeC,EAAAA,SAAS,IAAMC,EAAM,MAAAT,CAAU,EAAE,MAAM,EACtDU,EAAgBC,EAAAA,IAAYZ,EAAM,QAAUI,EAAY,CAAA,EACxDS,EAAeJ,EAAAA,SAAS,IAAM,CAClCH,EAAG,EAAE,EACLA,EAAG,GAAG,OAAQN,EAAM,IAAI,EACxBM,EAAG,GAAGN,EAAM,MAAO,EACnBA,EAAM,WAAA,CACP,EACKc,EAAeL,EAAAA,SAAuB,IACnC,CACL,CAAE,OAAQC,QAAMC,CAAa,CAAE,EAC/BX,EAAM,aAAe,CAAC,EACtBU,EAAA,MAAMR,CAAM,EAAE,MAAA,CAEjB,EACKa,EAAYN,EAAA,SAA6B,IAC7CN,EAAK,QAAU,SAAW,QAAU,MAAA,EAEhCa,EAAaP,EAAA,SACjB,IAAOC,QAAMR,CAAM,EAAE,OAAS,CAAC,CAAA,EAO1B,MAAA,CACL,UAAAa,EACA,WAAAC,EACA,aAAAR,EACA,aAAAK,EACA,aAAAC,EACA,cAAAH,EAEA,aAZmB,IAAM,CACXA,EAAA,MAAQX,EAAM,QAAUI,EAAW,CAAA,CAWjD,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-content.js","sources":["../../../../../../../packages/components/popper/composables/use-content.ts"],"sourcesContent":["import { computed, inject, onMounted, ref, unref, watch } from 'vue'\nimport { isUndefined } from 'lodash'\nimport { usePopper } from '@vft-ui/hooks'\nimport { POPPER_INJECTION_KEY } from '../constants'\nimport { buildPopperOptions, unwrapMeasurableEl } from '../utils'\n\nimport type { Modifier } from '@popperjs/core'\nimport type { PartialOptions } from '@vft-ui/hooks'\nimport type { PopperContentProps } from '../types'\n\nconst DEFAULT_ARROW_OFFSET = 0\n\nexport const usePopperContent = (props: PopperContentProps) => {\n const { popperInstanceRef, contentRef, triggerRef, role } = inject(\n POPPER_INJECTION_KEY,\n undefined\n )!\n\n const arrowRef = ref<HTMLElement>()\n const arrowOffset = ref<number>()\n\n const eventListenerModifier = computed(() => {\n return {\n name: 'eventListeners',\n enabled: !!props.visible,\n } as Modifier<'eventListeners', any>\n })\n\n const arrowModifier = computed(() => {\n const arrowEl = unref(arrowRef)\n const offset = unref(arrowOffset) ?? DEFAULT_ARROW_OFFSET\n // Seems like the `phase` and `fn` is required by Modifier type\n // But on its documentation they didn't specify that.\n // Refer to https://popper.js.org/docs/v2/modifiers/arrow/\n return {\n name: 'arrow',\n enabled: !isUndefined(arrowEl),\n options: {\n element: arrowEl,\n padding: offset,\n },\n } as any\n })\n\n const options = computed<PartialOptions>(() => {\n return {\n onFirstUpdate: () => {\n update()\n },\n // @ts-ignore\n ...buildPopperOptions(props, [\n unref(arrowModifier),\n unref(eventListenerModifier),\n ]),\n }\n })\n\n const computedReference = computed(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)\n )\n\n const { attributes, state, styles, update, forceUpdate, instanceRef } =\n usePopper(computedReference, contentRef, options)\n\n watch(instanceRef, (instance) => (popperInstanceRef.value = instance))\n\n onMounted(() => {\n watch(\n () => unref(computedReference)?.getBoundingClientRect(),\n () => {\n update()\n }\n )\n })\n\n return {\n attributes,\n arrowRef,\n contentRef,\n instanceRef,\n state,\n styles,\n role,\n\n forceUpdate,\n update,\n }\n}\n\nexport type UsePopperContentReturn = ReturnType<typeof usePopperContent>\n"],"names":["DEFAULT_ARROW_OFFSET","usePopperContent","props","popperInstanceRef","contentRef","triggerRef","role","inject","POPPER_INJECTION_KEY","arrowRef","ref","arrowOffset","eventListenerModifier","computed","arrowModifier","arrowEl","unref","offset","isUndefined","options","update","buildPopperOptions","computedReference","unwrapMeasurableEl","attributes","state","styles","forceUpdate","instanceRef","usePopper","watch","instance","onMounted"],"mappings":"2VAUMA,EAAuB,EAEhBC,EAAoBC,GAA8B,CAC7D,KAAM,CAAE,kBAAAC,EAAmB,WAAAC,EAAY,WAAAC,EAAY,KAAAC,CAAS,EAAAC,EAAA,OAC1DC,EAAA,qBACA,MAAA,EAGIC,EAAWC,EAAAA,MACXC,EAAcD,EAAAA,MAEdE,EAAwBC,EAAAA,SAAS,KAC9B,CACL,KAAM,iBACN,QAAS,CAAC,CAACX,EAAM,OAAA,EAEpB,EAEKY,EAAgBD,EAAAA,SAAS,IAAM,CAC7B,MAAAE,EAAUC,QAAMP,CAAQ,EACxBQ,EAASD,EAAAA,MAAML,CAAW,GAAKX,EAI9B,MAAA,CACL,KAAM,QACN,QAAS,CAACkB,EAAA,YAAYH,CAAO,EAC7B,QAAS,CACP,QAASA,EACT,QAASE,CACX,CAAA,CACF,CACD,EAEKE,EAAUN,EAAAA,SAAyB,KAChC,CACL,cAAe,IAAM,CACZO,GACT,EAEA,GAAGC,EAAAA,mBAAmBnB,EAAO,CAC3Bc,EAAAA,MAAMF,CAAa,EACnBE,EAAAA,MAAMJ,CAAqB,CAAA,CAC5B,CAAA,EAEJ,EAEKU,EAAoBT,EAAA,SACxB,IAAMU,EAAmB,mBAAArB,EAAM,WAAW,GAAKc,EAAAA,MAAMX,CAAU,CAAA,EAG3D,CAAE,WAAAmB,EAAY,MAAAC,EAAO,OAAAC,EAAQ,OAAAN,EAAQ,YAAAO,EAAa,YAAAC,CAAA,EACtDC,EAAAA,UAAUP,EAAmBlB,EAAYe,CAAO,EAElDW,OAAAA,EAAA,MAAMF,EAAcG,GAAc5B,EAAkB,MAAQ4B,CAAS,EAErEC,EAAAA,UAAU,IAAM,CACdF,EAAA,MACE,WAAMd,OAAAA,EAAAA,EAAA,MAAMM,CAAiB,IAAvBN,YAAAA,EAA0B,yBAChC,IAAM,CACGI,GACT,CAAA,CACF,CACD,EAEM,CACL,WAAAI,EACA,SAAAf,EACA,WAAAL,EACA,YAAAwB,EACA,MAAAH,EACA,OAAAC,EACA,KAAApB,EAEA,YAAAqB,EACA,OAAAP,CAAA,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-focus-trap.js","sources":["../../../../../../../packages/components/popper/composables/use-focus-trap.ts"],"sourcesContent":["import { ref } from 'vue'\n\nimport type { SetupContext } from 'vue'\nimport type { PopperContentProps } from '../types'\n\nexport const usePopperContentFocusTrap = (\n props: PopperContentProps,\n emit: any\n) => {\n const trapped = ref(false)\n const focusStartRef = ref<'container' | 'first' | HTMLElement>()\n\n const onFocusAfterTrapped = () => {\n emit('focus')\n }\n\n const onFocusAfterReleased = (event: CustomEvent) => {\n if (event.detail?.focusReason !== 'pointer') {\n focusStartRef.value = 'first'\n emit('blur')\n }\n }\n\n const onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n }\n }\n\n const onFocusoutPrevented = (event: CustomEvent) => {\n if (!props.trapping) {\n if (event.detail.focusReason === 'pointer') {\n event.preventDefault()\n }\n trapped.value = false\n }\n }\n\n const onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n }\n\n return {\n focusStartRef,\n trapped,\n\n onFocusAfterReleased,\n onFocusAfterTrapped,\n onFocusInTrap,\n onFocusoutPrevented,\n onReleaseRequested,\n }\n}\n\nexport type UsePopperContentFocusTrapReturn = ReturnType<\n typeof usePopperContentFocusTrap\n>\n"],"names":["usePopperContentFocusTrap","props","emit","trapped","ref","focusStartRef","event","_a"],"mappings":"uGAKaA,EAA4B,CACvCC,EACAC,IACG,CACG,MAAAC,EAAUC,MAAI,EAAK,EACnBC,EAAgBD,EAAAA,MAoCf,MAAA,CACL,cAAAC,EACA,QAAAF,EAEA,qBAlC4BG,GAAuB,SAC/CC,EAAAD,EAAM,SAAN,YAAAC,EAAc,eAAgB,YAChCF,EAAc,MAAQ,QACtBH,EAAK,MAAM,EACb,EA+BA,oBAvC0B,IAAM,CAChCA,EAAK,OAAO,CAAA,EAuCZ,cA7BqBI,GAAsB,CACvCL,EAAM,SAAW,CAACE,EAAQ,QACxBG,EAAM,SACRD,EAAc,MAAQC,EAAM,QAE9BH,EAAQ,MAAQ,GAClB,EAwBA,oBArB2BG,GAAuB,CAC7CL,EAAM,WACLK,EAAM,OAAO,cAAgB,WAC/BA,EAAM,eAAe,EAEvBH,EAAQ,MAAQ,GAClB,EAgBA,mBAbyB,IAAM,CAC/BA,EAAQ,MAAQ,GAChBD,EAAK,OAAO,CAAA,CAWZ,CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../packages/components/popper/constants.ts"],"sourcesContent":["import type { CSSProperties, ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { Instance } from '@popperjs/core'\n\nexport type Measurable = {\n getBoundingClientRect: () => DOMRect\n}\n\n/**\n * triggerRef indicates the element that triggers popper\n * contentRef indicates the element of popper content\n * referenceRef indicates the element that popper content relative with\n */\nexport type VftPopperInjectionContext = {\n triggerRef: Ref<Measurable | undefined>\n contentRef: Ref<HTMLElement | undefined>\n popperInstanceRef: Ref<Instance | undefined>\n referenceRef: Ref<Measurable | undefined>\n role: ComputedRef<string>\n}\n\nexport type VftPopperContentInjectionContext = {\n arrowRef: Ref<HTMLElement | undefined>\n arrowOffset: Ref<number | undefined>\n arrowStyle: ComputedRef<CSSProperties>\n}\n\nexport const POPPER_INJECTION_KEY: InjectionKey<VftPopperInjectionContext> =\n Symbol('popper')\n\nexport const POPPER_CONTENT_INJECTION_KEY: InjectionKey<VftPopperContentInjectionContext> =\n Symbol('popperContent')\n"],"names":["POPPER_INJECTION_KEY","POPPER_CONTENT_INJECTION_KEY"],"mappings":"gFA0Ba,MAAAA,EACX,OAAO,QAAQ,EAEJC,EACX,OAAO,eAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.vue2.js","sources":["../../../../../../packages/components/popper/content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: 'vft-popper-content'\n});\n</script>\n<template>\n <div ref=\"contentRef\"\n\t\t\tv-bind=\"contentAttrs\"\n\t\t\t:style=\"contentStyle\"\n\t\t\t:class=\"contentClass\"\n\t\t\ttabindex=\"-1\"\n\t\t\t@mouseenter=\"(e) => $emit('mouseenter', e)\"\n\t\t\t@mouseleave=\"(e) => $emit('mouseleave', e)\">\n <focus-trap\n\t\t\t\t:trapped=\"trapped\"\n\t\t\t\t:trap-on-focus-in=\"true\"\n\t\t\t\t:focus-trap-el=\"contentRef\"\n\t\t\t\t:focus-start-el=\"focusStartRef\"\n\t\t\t\t@focus-after-trapped=\"onFocusAfterTrapped\"\n\t\t\t\t@focus-after-released=\"onFocusAfterReleased\"\n\t\t\t\t@focusin=\"onFocusInTrap\"\n\t\t\t\t@focusout-prevented=\"onFocusoutPrevented\"\n\t\t\t\t@release-requested=\"onReleaseRequested\"\n >\n <slot />\n </focus-trap>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport type { Options, Placement } from '@popperjs/core';\nimport FocusTrap from '@vft-ui/components/focus-trap';\nimport { isElement } from '@vft/utils';\nimport { isNil } from 'lodash';\nimport type { WatchStopHandle } from 'vue';\nimport { getCurrentInstance, onBeforeUnmount, onMounted, provide, ref, type StyleValue, unref, watch } from 'vue';\nimport { usePopperContent, usePopperContentDOM, usePopperContentFocusTrap, } from './composables';\nimport { POPPER_CONTENT_INJECTION_KEY } from './constants';\n\n;\n\ninterface Props {\n boundariesPadding?: number;\n fallbackPlacements?: Placement[];\n gpuAcceleration?: boolean;\n offset?: number;\n placement?: Placement;\n popperOptions?: Partial<Options>;\n strategy?: 'fixed' | 'absolute';\n id?: string;\n style?: StyleValue;\n className?: ClassType;\n effect?: string;\n visible?: boolean;\n enterable?: boolean;\n pure?: boolean;\n focusOnShow?: boolean;\n trapping?: boolean;\n popperClass?: ClassType;\n popperStyle?: StyleValue;\n referenceEl?: HTMLElement;\n triggerTargetEl?: HTMLElement;\n stopPopperMouseEvent?: boolean;\n ariaLabel?: string;\n virtualTriggering?: boolean;\n zIndex?: number;\n}\n\ndefineProps({\n \"boundariesPadding\": { default: 0 },\n \"fallbackPlacements\": null,\n \"gpuAcceleration\": { type: Boolean, default: true },\n \"offset\": { default: 12 },\n \"placement\": { default: 'bottom' },\n \"popperOptions\": { default: {} },\n \"strategy\": { default: 'absolute' },\n \"id\": null,\n \"style\": null,\n \"className\": null,\n \"effect\": { default: 'dark' },\n \"visible\": { type: Boolean, },\n \"enterable\": { type: Boolean, default: true },\n \"pure\": { type: Boolean, },\n \"focusOnShow\": { type: Boolean, default: false },\n \"trapping\": { type: Boolean, default: false },\n \"popperClass\": null,\n \"popperStyle\": null,\n \"referenceEl\": null,\n \"triggerTargetEl\": null,\n \"stopPopperMouseEvent\": { type: Boolean, default: true },\n \"ariaLabel\": null,\n \"virtualTriggering\": { type: Boolean, },\n \"zIndex\": null\n})\n\nconst emit = defineEmits(['mouseenter', 'mouseleave', 'focus', 'blur', 'close']);\n\nconst instance = getCurrentInstance()!;\n\nconst {\n\tfocusStartRef,\n\ttrapped,\n\tonFocusAfterReleased,\n\tonFocusAfterTrapped,\n\tonFocusInTrap,\n\tonFocusoutPrevented,\n\tonReleaseRequested,\n} = usePopperContentFocusTrap(instance.props, emit)\n\nconst { attributes, arrowRef, contentRef, styles, instanceRef, role, update } =\n\tusePopperContent(instance.props)\n\nconst {\n\tariaModal,\n\tarrowStyle,\n\tcontentAttrs,\n\tcontentClass,\n\tcontentStyle,\n\tupdateZIndex,\n} = usePopperContentDOM(instance.props, {\n\tstyles,\n\tattributes,\n\trole,\n})\n\n// const formItemContext = inject(formItemContextKey, undefined)\nconst arrowOffset = ref<number>()\n\nprovide(POPPER_CONTENT_INJECTION_KEY, {\n\tarrowStyle,\n\tarrowRef,\n\tarrowOffset,\n})\n\n// if (\n// \tformItemContext &&\n// \t(formItemContext.addInputId || formItemContext.removeInputId)\n// ) {\n// \t// disallow auto-id from inside popper content\n// \tprovide(formItemContextKey, {\n// \t\t...formItemContext,\n// \t\taddInputId: NOOP,\n// \t\tremoveInputId: NOOP,\n// \t})\n// }\n\nlet triggerTargetAriaStopWatch: WatchStopHandle | undefined = undefined\n\nconst updatePopper = (shouldUpdateZIndex = true) => {\n\tupdate()\n\tshouldUpdateZIndex && updateZIndex()\n}\n\nconst togglePopperAlive = () => {\n\tupdatePopper(false)\n\tif (__props.visible && __props.focusOnShow) {\n\t\ttrapped.value = true\n\t} else if (__props.visible === false) {\n\t\ttrapped.value = false\n\t}\n}\n\nonMounted(() => {\n\twatch(\n\t\t() => __props.triggerTargetEl,\n\t\t(triggerTargetEl, prevTriggerTargetEl) => {\n\t\t\ttriggerTargetAriaStopWatch?.()\n\t\t\ttriggerTargetAriaStopWatch = undefined\n\n\t\t\tconst el = unref(triggerTargetEl || contentRef.value)\n\t\t\tconst prevEl = unref(prevTriggerTargetEl || contentRef.value)\n\n\t\t\tif (isElement(el)) {\n\t\t\t\ttriggerTargetAriaStopWatch = watch(\n\t\t\t\t\t[role, () => __props.ariaLabel, ariaModal, () => __props.id],\n\t\t\t\t\t(watches) => {\n\t\t\t\t\t\t;['role', 'aria-label', 'aria-modal', 'id'].forEach((key, idx) => {\n\t\t\t\t\t\t\tisNil(watches[idx])\n\t\t\t\t\t\t\t\t? el.removeAttribute(key)\n\t\t\t\t\t\t\t\t: el.setAttribute(key, watches[idx]!)\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t{ immediate: true }\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (prevEl !== el && isElement(prevEl)) {\n\t\t\t\t;['role', 'aria-label', 'aria-modal', 'id'].forEach((key) => {\n\t\t\t\t\tprevEl.removeAttribute(key)\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\t{ immediate: true }\n\t)\n\n\twatch(() => __props.visible, togglePopperAlive, { immediate: true })\n})\n\nonBeforeUnmount(() => {\n\ttriggerTargetAriaStopWatch?.()\n\ttriggerTargetAriaStopWatch = undefined\n})\n\ndefineExpose({\n\t/**\n\t * @description popper content element\n\t */\n\tpopperContentRef: contentRef,\n\t/**\n\t * @description popperjs instance\n\t */\n\tpopperInstanceRef: instanceRef,\n\t/**\n\t * @description method for updating popper\n\t */\n\tupdatePopper,\n\n\t/**\n\t * @description content style\n\t */\n\tcontentStyle,\n})\n</script>\n"],"names":["__default__","DO_defineComponent","instance","getCurrentInstance","focusStartRef","trapped","onFocusAfterReleased","onFocusAfterTrapped","onFocusInTrap","onFocusoutPrevented","onReleaseRequested","usePopperContentFocusTrap","emit","attributes","arrowRef","contentRef","styles","instanceRef","role","update","usePopperContent","ariaModal","arrowStyle","contentAttrs","contentClass","contentStyle","updateZIndex","usePopperContentDOM","arrowOffset","ref","provide","POPPER_CONTENT_INJECTION_KEY","triggerTargetAriaStopWatch","updatePopper","shouldUpdateZIndex","togglePopperAlive","__props","onMounted","watch","triggerTargetEl","prevTriggerTargetEl","el","unref","prevEl","isElement","watches","key","idx","isNil","onBeforeUnmount","expose"],"mappings":"qaAEAA,EAA6BC,EAAAA,gBAAmB,CAC9C,KAAM,oBACR,CAAC,usBA8FD,MAAMC,EAAWC,EAAAA,qBAEX,CACL,cAAAC,EACA,QAAAC,EACA,qBAAAC,EACA,oBAAAC,EACA,cAAAC,EACA,oBAAAC,EACA,mBAAAC,CACG,EAAAC,4BAA0BT,EAAS,MAAOU,CAAI,EAE5C,CAAE,WAAAC,EAAY,SAAAC,EAAU,WAAAC,EAAY,OAAAC,EAAQ,YAAAC,EAAa,KAAAC,EAAM,OAAAC,CAAO,EAC3EC,EAAAA,iBAAiBlB,EAAS,KAAK,EAE1B,CACL,UAAAmB,EACA,WAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,CAAA,EACGC,EAAoB,oBAAAzB,EAAS,MAAO,CACvC,OAAAc,EACA,WAAAH,EACA,KAAAK,CAAA,CACA,EAGKU,EAAcC,EAAAA,MAEpBC,EAAAA,QAAQC,EAAAA,6BAA8B,CACrC,WAAAT,EACA,SAAAR,EACA,YAAAc,CAAA,CACA,EAcD,IAAII,EAEE,MAAAC,EAAe,CAACC,EAAqB,KAAS,CAC5Cf,IACPe,GAAsBR,EAAa,CAAA,EAG9BS,EAAoB,IAAM,CAC/BF,EAAa,EAAK,EACdG,EAAQ,SAAWA,EAAQ,YAC9B/B,EAAQ,MAAQ,GACN+B,EAAQ,UAAY,KAC9B/B,EAAQ,MAAQ,GACjB,EAGDgC,OAAAA,EAAAA,UAAU,IAAM,CACfC,EAAA,MACC,IAAMF,EAAQ,gBACd,CAACG,EAAiBC,IAAwB,CACZR,GAAA,MAAAA,IACAA,EAAA,OAE7B,MAAMS,EAAKC,EAAA,MAAMH,GAAmBxB,EAAW,KAAK,EAC9C4B,EAASD,EAAA,MAAMF,GAAuBzB,EAAW,KAAK,EAExD6B,EAAAA,UAAUH,CAAE,IACcT,EAAAM,EAAA,MAC5B,CAACpB,EAAM,IAAMkB,EAAQ,UAAWf,EAAW,IAAMe,EAAQ,EAAE,EAC1DS,GAAY,CACV,CAAA,OAAQ,aAAc,aAAc,IAAI,EAAE,QAAQ,CAACC,EAAKC,IAAQ,CACjEC,EAAAA,MAAMH,EAAQE,CAAG,CAAC,EACfN,EAAG,gBAAgBK,CAAG,EACtBL,EAAG,aAAaK,EAAKD,EAAQE,CAAG,CAAE,CAAA,CACrC,CACF,EACA,CAAE,UAAW,EAAK,CAAA,GAGhBJ,IAAWF,GAAMG,EAAU,UAAAD,CAAM,GACnC,CAAC,OAAQ,aAAc,aAAc,IAAI,EAAE,QAASG,GAAQ,CAC5DH,EAAO,gBAAgBG,CAAG,CAAA,CAC1B,CAEH,EACA,CAAE,UAAW,EAAK,CAAA,EAGnBR,EAAA,MAAM,IAAMF,EAAQ,QAASD,EAAmB,CAAE,UAAW,GAAM,CAAA,CACnE,EAEDc,EAAAA,gBAAgB,IAAM,CACQjB,GAAA,MAAAA,IACAA,EAAA,MAAA,CAC7B,EAEYkB,EAAA,CAIZ,iBAAkBnC,EAIlB,kBAAmBE,EAInB,aAAAgB,EAKA,aAAAR,CAAA,CACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/popper/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\nimport Popper from './popper.vue'\n\nimport VftPopperArrow from './arrow.vue'\nimport VftPopperTrigger from './trigger.vue'\nimport VftPopperContent from './content.vue'\n\nexport { VftPopperArrow, VftPopperTrigger, VftPopperContent }\n\nexport const VftPopper = withInstall(Popper)\nexport default VftPopper\n\nexport type { Placement, Options } from '@popperjs/core'\nexport * from './types'\n"],"names":["VftPopper","withInstall","Popper"],"mappings":"qVASaA,EAAYC,cAAYC,EAAM,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popper.vue2.js","sources":["../../../../../../packages/components/popper/popper.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: 'vft-popper',\n inheritAttrs: false\n});\n</script>\n<template>\n <slot />\n</template>\n\n<script lang=\"ts\" setup>\nimport type { Instance as PopperInstance } from '@popperjs/core';\nimport { computed, provide, ref } from 'vue';\nimport type { VftPopperInjectionContext } from './constants';\nimport { POPPER_INJECTION_KEY } from './constants';\n\n;\n\ninterface Props {\n role?: 'dialog' | 'grid' | 'group' | 'listbox' | 'menu' | 'navigation' | 'tooltip' | 'tree';\n}\n\ndefineProps({\n \"role\": { default: 'tooltip' }\n})\n\nconst triggerRef = ref<HTMLElement>();\nconst popperInstanceRef = ref<PopperInstance>();\nconst contentRef = ref<HTMLElement>();\nconst referenceRef = ref<HTMLElement>();\nconst _role = computed(() => __props.role);\n\nconst popperProvides = {\n /**\n * @description trigger element\n */\n triggerRef,\n /**\n * @description popperjs instance\n */\n popperInstanceRef,\n /**\n * @description popper content element\n */\n contentRef,\n /**\n * @description popper reference element\n */\n referenceRef,\n /**\n * @description role determines how aria attributes are distributed\n */\n role: _role\n} as VftPopperInjectionContext;\n\ndefineExpose(popperProvides);\n\nprovide(POPPER_INJECTION_KEY, popperProvides);\n</script>\n"],"names":["__default__","DO_defineComponent","triggerRef","ref","popperInstanceRef","contentRef","referenceRef","_role","computed","__props","popperProvides","expose","provide","POPPER_INJECTION_KEY"],"mappings":"+JAEAA,EAA6BC,EAAAA,gBAAmB,CAC9C,KAAM,aACN,aAAc,EAChB,CAAC,iFAsBD,MAAMC,EAAaC,EAAAA,MACbC,EAAoBD,EAAAA,MACpBE,EAAaF,EAAAA,MACbG,EAAeH,EAAAA,MACfI,EAAQC,EAAA,SAAS,IAAMC,EAAQ,IAAI,EAEnCC,EAAiB,CAIrB,WAAAR,EAIA,kBAAAE,EAIA,WAAAC,EAIA,aAAAC,EAIA,KAAMC,CAAA,EAGR,OAAAI,EAAaD,CAAc,EAE3BE,UAAQC,EAAAA,qBAAsBH,CAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger.vue2.js","sources":["../../../../../../packages/components/popper/trigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: 'VftPopperTrigger',\n inheritAttrs: false\n});\n</script>\n<template>\n <vft-only-child\n v-if=\"!virtualTriggering\"\n v-bind=\"$attrs\"\n :aria-controls=\"ariaControls\"\n :aria-describedby=\"ariaDescribedby\"\n :aria-expanded=\"ariaExpanded\"\n :aria-haspopup=\"ariaHaspopup\"\n >\n <slot />\n </vft-only-child>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, onMounted, watch, getCurrentInstance } from 'vue';\nimport { isNil } from 'lodash';\nimport { unrefElement } from '@vueuse/core';\nimport { VftOnlyChild } from '@vft-ui/components/slot'\nimport { useForwardRef } from '@vft-ui/hooks';\nimport { POPPER_INJECTION_KEY } from './constants';\nimport { isElement } from '@vft/utils';\n\nimport type { WatchStopHandle } from 'vue';\nimport type { Measurable } from './types';\n\n;\n\ninterface Props {\n virtualRef?: Measurable\n virtualTriggering?: boolean\n onMouseenter?: Function\n onMouseleave?: Function\n onClick?: Function\n onKeydown?: Function\n onFocus?: Function\n onBlur?: Function\n onContextmenu?: Function\n id?: string\n open?: boolean\n}\n\ndefineProps({\n \"virtualRef\": null,\n \"virtualTriggering\": { type: Boolean, },\n \"onMouseenter\": { type: Function, },\n \"onMouseleave\": { type: Function, },\n \"onClick\": { type: Function, },\n \"onKeydown\": { type: Function, },\n \"onFocus\": { type: Function, },\n \"onBlur\": { type: Function, },\n \"onContextmenu\": { type: Function, },\n \"id\": null,\n \"open\": { type: Boolean, }\n})\n\nconst instance = getCurrentInstance()!;\n\nconst { role, triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!;\n\nuseForwardRef(triggerRef);\n\nconst ariaControls = computed<string | undefined>(() => {\n return ariaHaspopup.value ? __props.id : undefined;\n});\n\nconst ariaDescribedby = computed<string | undefined>(() => {\n if (role && role.value === 'tooltip') {\n return __props.open && __props.id ? __props.id : undefined;\n }\n return undefined;\n});\n\nconst ariaHaspopup = computed<string | undefined>(() => {\n if (role && role.value !== 'tooltip') {\n return role.value;\n }\n return undefined;\n});\n\nconst ariaExpanded = computed<string | undefined>(() => {\n return ariaHaspopup.value ? `${__props.open}` : undefined;\n});\n\nlet virtualTriggerAriaStopWatch: WatchStopHandle | undefined = undefined;\n\nonMounted(() => {\n watch(\n () => __props.virtualRef,\n (virtualEl) => {\n if (virtualEl) {\n triggerRef.value = unrefElement(virtualEl as HTMLElement);\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n triggerRef,\n (el, prevEl) => {\n virtualTriggerAriaStopWatch?.();\n virtualTriggerAriaStopWatch = undefined;\n if (isElement(el)) {\n ;(\n [\n 'onMouseenter',\n 'onMouseleave',\n 'onClick',\n 'onKeydown',\n 'onFocus',\n 'onBlur',\n 'onContextmenu'\n ] as const\n ).forEach((eventName) => {\n const handler: any = instance.props[eventName];\n if (handler) {\n ;(el as HTMLElement).addEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n ;(prevEl as HTMLElement)?.removeEventListener?.(\n eventName.slice(2).toLowerCase(),\n handler\n );\n }\n });\n virtualTriggerAriaStopWatch = watch(\n [ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded],\n (watches) => {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded'\n ].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx]!);\n });\n },\n { immediate: true }\n );\n }\n if (isElement(prevEl)) {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded'\n ].forEach((key) => prevEl.removeAttribute(key));\n }\n },\n {\n immediate: true\n }\n );\n});\n\nonBeforeUnmount(() => {\n virtualTriggerAriaStopWatch?.();\n virtualTriggerAriaStopWatch = undefined;\n});\n\ndefineExpose({\n /**\n * @description trigger element\n */\n triggerRef\n});\n</script>\n"],"names":["__default__","DO_defineComponent","instance","getCurrentInstance","role","triggerRef","inject","POPPER_INJECTION_KEY","useForwardRef","ariaControls","computed","ariaHaspopup","__props","ariaDescribedby","ariaExpanded","virtualTriggerAriaStopWatch","onMounted","watch","virtualEl","unrefElement","el","prevEl","isElement","eventName","handler","_a","watches","key","idx","isNil","onBeforeUnmount","expose"],"mappings":"maAEAA,EAA6BC,EAAAA,gBAAmB,CAC9C,KAAM,mBACN,aAAc,EAChB,CAAC,8TAyDD,MAAMC,EAAWC,EAAAA,qBAEX,CAAE,KAAAC,EAAM,WAAAC,CAAe,EAAAC,EAAA,OAAOC,uBAAsB,MAAS,EAEnEC,EAAA,cAAcH,CAAU,EAElB,MAAAI,EAAeC,EAAAA,SAA6B,IACzCC,EAAa,MAAQC,EAAQ,GAAK,MAC1C,EAEKC,EAAkBH,EAAAA,SAA6B,IAAM,CACrD,GAAAN,GAAQA,EAAK,QAAU,UACzB,OAAOQ,EAAQ,MAAQA,EAAQ,GAAKA,EAAQ,GAAK,MAE5C,CACR,EAEKD,EAAeD,EAAAA,SAA6B,IAAM,CAClD,GAAAN,GAAQA,EAAK,QAAU,UACzB,OAAOA,EAAK,KAEP,CACR,EAEKU,EAAeJ,EAAAA,SAA6B,IACzCC,EAAa,MAAQ,GAAGC,EAAQ,OAAS,MACjD,EAED,IAAIG,EAEJC,OAAAA,EAAAA,UAAU,IAAM,CACdC,EAAA,MACE,IAAML,EAAQ,WACbM,GAAc,CACTA,IACSb,EAAA,MAAQc,eAAaD,CAAwB,EAE5D,EACA,CACE,UAAW,EACb,CAAA,EAGFD,EAAA,MACEZ,EACA,CAACe,EAAIC,IAAW,CACgBN,GAAA,MAAAA,IACAA,EAAA,OAC1BO,EAAAA,UAAUF,CAAE,IAEZ,CACE,eACA,eACA,UACA,YACA,UACA,SACA,eAAA,EAEF,QAASG,GAAc,OACjB,MAAAC,EAAetB,EAAS,MAAMqB,CAAS,EACzCC,IACAJ,EAAmB,iBACnBG,EAAU,MAAM,CAAC,EAAE,YAAY,EAC/BC,CAAA,GAEAC,EAAAJ,GAAA,YAAAA,EAAwB,sBAAxB,MAAAI,EAAA,KAAAJ,EACAE,EAAU,MAAM,CAAC,EAAE,YAAY,EAC/BC,GAEJ,CACD,EAC6BT,EAAAE,EAAA,MAC5B,CAACR,EAAcI,EAAiBF,EAAcG,CAAY,EACzDY,GAAY,CACV,CACC,gBACA,mBACA,gBACA,eAAA,EACA,QAAQ,CAACC,EAAKC,IAAQ,CACtBC,EAAAA,MAAMH,EAAQE,CAAG,CAAC,EACdR,EAAG,gBAAgBO,CAAG,EACtBP,EAAG,aAAaO,EAAKD,EAAQE,CAAG,CAAE,CAAA,CACvC,CACH,EACA,CAAE,UAAW,EAAK,CAAA,GAGlBN,EAAAA,UAAUD,CAAM,GACjB,CACC,gBACA,mBACA,gBACA,eAAA,EACA,QAASM,GAAQN,EAAO,gBAAgBM,CAAG,CAAC,CAElD,EACA,CACE,UAAW,EACb,CAAA,CACF,CACD,EAEDG,EAAAA,gBAAgB,IAAM,CACUf,GAAA,MAAAA,IACAA,EAAA,MAAA,CAC/B,EAEYgB,EAAA,CAIX,WAAA1B,CAAA,CACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../packages/components/popper/utils.ts"],"sourcesContent":["import { isClient, unrefElement } from '@vueuse/core'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Modifier } from '@popperjs/core'\nimport type { Measurable } from './constants'\nimport type { PopperCoreConfigProps } from './types'\n\nexport const buildPopperOptions = (\n\tprops: PopperCoreConfigProps,\n\tmodifiers: Modifier<any, any>[] = []\n) => {\n\tconst { placement, strategy, popperOptions } = props\n\tconst options = {\n\t\tplacement,\n\t\tstrategy,\n\t\t...popperOptions,\n\t\tmodifiers: [...genModifiers(props), ...modifiers],\n\t}\n\t\n\tderiveExtraModifiers(options, popperOptions?.modifiers)\n\treturn options\n}\n\nexport const unwrapMeasurableEl = (\n\t$el: MaybeRef<Measurable | undefined | ComponentPublicInstance>\n) => {\n\tif (!isClient) return\n\treturn unrefElement($el as HTMLElement)\n}\n\nfunction genModifiers (options: PopperCoreConfigProps) {\n\tconst { offset, gpuAcceleration, fallbackPlacements } = options\n\treturn [\n\t\t{\n\t\t\tname: 'offset',\n\t\t\toptions: {\n\t\t\t\toffset: [0, offset ?? 12],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'preventOverflow',\n\t\t\toptions: {\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 2,\n\t\t\t\t\tbottom: 2,\n\t\t\t\t\tleft: 5,\n\t\t\t\t\tright: 5,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'flip',\n\t\t\toptions: {\n\t\t\t\tpadding: 5,\n\t\t\t\tfallbackPlacements,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'computeStyles',\n\t\t\toptions: {\n\t\t\t\tgpuAcceleration,\n\t\t\t},\n\t\t},\n\t]\n}\n\nfunction deriveExtraModifiers (\n\toptions: any,\n\tmodifiers: PopperCoreConfigProps['popperOptions']['modifiers']\n) {\n\tif (modifiers) {\n\t\toptions.modifiers = [...options.modifiers, ...(modifiers ?? [])]\n\t}\n}\n"],"names":["buildPopperOptions","props","modifiers","placement","strategy","popperOptions","options","genModifiers","deriveExtraModifiers","unwrapMeasurableEl","$el","isClient","unrefElement","offset","gpuAcceleration","fallbackPlacements"],"mappings":"gHAQaA,EAAqB,CACjCC,EACAC,EAAkC,KAC9B,CACJ,KAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,cAAAC,CAAA,EAAkBJ,EACzCK,EAAU,CACf,UAAAH,EACA,SAAAC,EACA,GAAGC,EACH,UAAW,CAAC,GAAGE,EAAaN,CAAK,EAAG,GAAGC,CAAS,CAAA,EAG5B,OAAAM,EAAAF,EAASD,GAAA,YAAAA,EAAe,SAAS,EAC/CC,CACR,EAEaG,EACZC,GACI,CACJ,GAAKC,EAAA,SACL,OAAOC,EAAAA,aAAaF,CAAkB,CACvC,EAEA,SAASH,EAAcD,EAAgC,CACtD,KAAM,CAAE,OAAAO,EAAQ,gBAAAC,EAAiB,mBAAAC,CAAA,EAAuBT,EACjD,MAAA,CACN,CACC,KAAM,SACN,QAAS,CACR,OAAQ,CAAC,EAAGO,GAAU,EAAE,CACzB,CACD,EACA,CACC,KAAM,kBACN,QAAS,CACR,QAAS,CACR,IAAK,EACL,OAAQ,EACR,KAAM,EACN,MAAO,CACR,CACD,CACD,EACA,CACC,KAAM,OACN,QAAS,CACR,QAAS,EACT,mBAAAE,CACD,CACD,EACA,CACC,KAAM,gBACN,QAAS,CACR,gBAAAD,CACD,CACD,CAAA,CAEF,CAEA,SAASN,EACRF,EACAJ,EACC,CACGA,IACKI,EAAA,UAAY,CAAC,GAAGA,EAAQ,UAAW,GAAIJ,GAAa,CAAA,CAAG,EAEjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/result/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Result from './result.vue'\n\nexport const VftResult = withInstall(Result)\nexport default VftResult\n"],"names":["VftResult","withInstall","Result"],"mappings":"0PAIaA,EAAYC,cAAYC,EAAM,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.vue2.js","sources":["../../../../../../packages/components/result/result.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('result')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script setup lang=\"ts\">\nimport { renderTNode, singleAttrToObj } from '@vft/utils';\nimport { h, getCurrentInstance, computed, useSlots } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\n\ninterface Props {\n title?: string | number;\n subTitle?: string | number;\n icon?: IconProps;\n}\n\ndefineProps({\n \"title\": null,\n \"subTitle\": null,\n \"icon\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst slots = useSlots();\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst vIcon = _icon.value?.icon ? h('div', {\n class: ns.e('icon')\n}, [h(VftIcon, { ..._icon.value })]) : slots.default?.();\n\nconst vCon = (attrName: string) => {\n const nodeCon = renderTNode(instance, attrName);\n return nodeCon ? h(\n 'div',\n {\n class: ns.e(attrName)\n }, [h('p', {}, { default: () => nodeCon })]\n ) : null;\n};\n\ndefineRender(() => {\n return (\n h(\n 'div', { class: ns.b() }, {\n default: () => [\n vIcon,\n vCon('title'),\n vCon('sub-title'),\n slots.extra ? h('div', { class: ns.e('extra') }, { default: ()=> slots.extra?.() }) : null\n ]\n }\n )\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","slots","useSlots","_icon","computed","singleAttrToObj","__props","vIcon","_a","h","VftIcon","_b","vCon","attrName","nodeCon","renderTNode"],"mappings":"+vBACA,MAAMA,EAAuBC,EAAAA,aAAa,QAAQ,EAGlDC,EAA6BC,EAAAA,gBAAmB,CAC9C,KAAMH,EAAG,EAAE,CACb,CAAC,wFAuBD,MAAMI,EAAWC,EAAAA,qBAEXC,EAAQC,EAAAA,WAERC,EAAQC,EAAAA,SAAS,IACdC,kBAAgBC,EAAQ,KAAM,MAAM,CAC5C,EAEKC,GAAQC,EAAAL,EAAM,QAAN,MAAAK,EAAa,KAAOC,EAAAA,EAAE,MAAO,CACzC,MAAOd,EAAG,EAAE,MAAM,CACjB,EAAA,CAACc,EAAE,EAAAC,UAAS,CAAE,GAAGP,EAAM,KAAO,CAAA,CAAC,CAAC,GAAIQ,EAAAV,EAAM,UAAN,YAAAU,EAAA,KAAAV,GAEjCW,EAAQC,GAAqB,CAC3B,MAAAC,EAAUC,EAAAA,YAAYhB,EAAUc,CAAQ,EAC9C,OAAOC,EAAUL,EAAA,EACf,MACA,CACE,MAAOd,EAAG,EAAEkB,CAAQ,CACtB,EAAG,CAACJ,EAAAA,EAAE,IAAK,CAAC,EAAG,CAAE,QAAS,IAAMK,CAAQ,CAAC,CAAC,CACxC,EAAA,IAAA,EAGO,MAAA,IAETL,EAAA,EACE,MAAO,CAAE,MAAOd,EAAG,GAAI,EAAG,CACxB,QAAS,IAAM,CACbY,EACAK,EAAK,OAAO,EACZA,EAAK,WAAW,EAChBX,EAAM,MAAQQ,EAAA,EAAE,MAAO,CAAE,MAAOd,EAAG,EAAE,OAAO,CAAE,EAAG,CAAE,QAAS,IAAA,OAAK,OAAAa,EAAAP,EAAM,QAAN,YAAAO,EAAA,KAAAP,GAAiB,CAAA,EAAI,IACxF,CACF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"only-child.js","sources":["../../../../../../packages/components/slot/only-child.tsx"],"sourcesContent":["import {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n inject,\n withDirectives,\n} from 'vue'\nimport { NOOP, isObject } from '@vue/shared'\nimport {\n FORWARD_REF_INJECTION_KEY,\n useForwardRefDirective,\n useNamespace,\n} from '@vft-ui/hooks'\nimport { debugWarn } from '@vft-ui/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nconst NAME = 'VftOnlyChild'\n\nexport const OnlyChild = defineComponent({\n name: NAME,\n setup(_, { slots, attrs }) {\n const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY)\n const forwardRefDirective = useForwardRefDirective(\n forwardRefInjection?.setForwardRef ?? NOOP\n )\n return () => {\n const defaultSlot = slots.default?.(attrs)\n if (!defaultSlot) return null\n\n if (defaultSlot.length > 1) {\n debugWarn(NAME, 'requires exact only one valid child.')\n return null\n }\n\n const firstLegitNode = findFirstLegitChild(defaultSlot)\n if (!firstLegitNode) {\n debugWarn(NAME, 'no valid child node found')\n return null\n }\n\n return withDirectives(cloneVNode(firstLegitNode!, attrs), [\n [forwardRefDirective],\n ])\n }\n },\n})\n\nfunction findFirstLegitChild(node: VNode[] | undefined): VNode | null {\n if (!node) return null\n const children = node as VNode[]\n for (const child of children) {\n /**\n * when user uses h(Fragment, [text]) to render plain string,\n * this switch case just cannot handle, when the value is primitives\n * we should just return the wrapped string\n */\n if (isObject(child)) {\n switch (child.type) {\n case Comment:\n continue\n case Text:\n case 'svg':\n return wrapTextContent(child)\n case Fragment:\n return findFirstLegitChild(child.children as VNode[])\n default:\n return child\n }\n }\n return wrapTextContent(child)\n }\n return null\n}\n\nfunction wrapTextContent(s: string | VNode) {\n const ns = useNamespace('only-child')\n return <span class={ns.e('content')}>{s}</span>\n}\n\nexport type OnlyChildExpose = {\n forwardRef: Ref<HTMLElement>\n}\n"],"names":["NAME","OnlyChild","defineComponent","name","setup","_","slots","attrs","forwardRefInjection","inject","FORWARD_REF_INJECTION_KEY","forwardRefDirective","useForwardRefDirective","setForwardRef","NOOP","defaultSlot","default","length","debugWarn","firstLegitNode","findFirstLegitChild","withDirectives","cloneVNode","node","children","child","isObject","type","Comment","Text","wrapTextContent","Fragment","s","ns","useNamespace","_createVNode","e"],"mappings":"sZAmBA,MAAMA,EAAO,eAEAC,EAAYC,EAAAA,gBAAgB,CACvCC,KAAMH,EACNI,MAAMC,EAAG,CAAEC,MAAAA,EAAOC,MAAAA,CAAM,EAAG,CACzB,MAAMC,EAAsBC,SAAOC,EAAAA,yBAAyB,EACtDC,EAAsBC,EAAsB,wBAChDJ,GAAAA,YAAAA,EAAqBK,gBAAiBC,EAAI,IAAA,EAE5C,MAAO,IAAM,OACX,MAAMC,GAAcT,EAAAA,EAAMU,UAANV,YAAAA,EAAAA,KAAAA,EAAgBC,GACpC,GAAI,CAACQ,EAAa,OAAO,KAEzB,GAAIA,EAAYE,OAAS,EACvBC,OAAAA,YAAUlB,EAAM,sCAAsC,EAC/C,KAGT,MAAMmB,EAAiBC,EAAoBL,CAAW,EACtD,OAAKI,EAKEE,EAAc,eAACC,EAAU,WAACH,EAAiBZ,CAAK,EAAG,CACxD,CAACI,CAAmB,CAAC,CACtB,GANCO,YAAUlB,EAAM,2BAA2B,EACpC,MAOb,CACF,CAAC,EAED,SAASoB,EAAoBG,EAAyC,CACpE,GAAI,CAACA,EAAM,OAAO,KAClB,MAAMC,EAAWD,EACjB,UAAWE,KAASD,EAAU,CAM5B,GAAIE,EAAAA,SAASD,CAAK,EAChB,OAAQA,EAAME,KAAI,CAChB,KAAKC,EAAO,QACV,SACF,KAAKC,OACL,IAAK,MACH,OAAOC,EAAgBL,CAAK,EAC9B,KAAKM,EAAQ,SACX,OAAOX,EAAoBK,EAAMD,QAAQ,EAC3C,QACE,OAAOC,CAAK,CAGlB,OAAOK,EAAgBL,CAAK,CAC9B,CACA,OAAO,IACT,CAEA,SAASK,EAAgBE,EAAmB,CAC1C,MAAMC,EAAKC,eAAa,YAAY,EACpC,OAAAC,EAAAA,YAAA,OAAA,CAAA,MAAoBF,EAAGG,EAAE,SAAS,CAAC,EAAA,CAAGJ,CAAC,CAAA,CACzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/tabs/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@vft-ui/utils'\nimport Tabs from './tabs.vue';\nimport TabPane from './tab-pane.vue';\n\nexport const VftTabs = withInstall(Tabs, { TabPane })\nexport const VftTabPane = withNoopInstall(TabPane)\nexport default VftTabs\n\nexport * from './types';\n"],"names":["VftTabs","withInstall","Tabs","TabPane","VftTabPane","withNoopInstall"],"mappings":"gTAIaA,EAAUC,EAAA,YAAYC,UAAM,CAAA,QAAEC,UAAS,EACvCC,EAAaC,kBAAgBF,EAAO,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-bar.vue2.js","sources":["../../../../../../packages/components/tabs/tab-bar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { type TabsPaneContext, TabsRootContextKey } from './types';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { capitalize } from '@vft/utils';\nimport { getCurrentInstance, inject, nextTick, ref, watch, computed } from 'vue';\nimport { useResizeObserver } from '@vueuse/core';\n\nimport type { CSSProperties } from 'vue';\n\nconst props = defineProps({\n \"tabs\": null\n});\n\nconst instance = getCurrentInstance()!;\nconst rootTabs = inject(TabsRootContextKey)!;\n\nconst ns = useNamespace('tabs');\n\nconst barRef = ref<HTMLDivElement>();\nconst barStyle = ref<CSSProperties>();\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0;\n let tabSize = 0;\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition!)\n ? 'width'\n : 'height';\n const sizeDir = sizeName === 'width' ? 'x' : 'y';\n const position = sizeDir === 'x' ? 'left' : 'top';\n\n props.tabs.every((tab) => {\n const $el = instance.parent?.refs?.[`tab-${tab.uid}`] as HTMLElement;\n if (!$el) return false;\n\n if (!tab.active) {\n return true;\n }\n offset = $el[`offset${capitalize(position)}`];\n tabSize = $el[`client${capitalize(sizeName)}`];\n\n const tabStyles = window.getComputedStyle($el);\n\n if (sizeName === 'width') {\n if (props.tabs.length > 1) {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight);\n }\n offset += Number.parseFloat(tabStyles.paddingLeft);\n }\n return false;\n });\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`\n };\n};\n\nconst update = () => (barStyle.value = getBarStyle());\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick();\n update();\n },\n { immediate: true }\n);\n\nconst _tabPosition = computed(() => {\n return rootTabs.props.tabPosition!;\n});\n\nuseResizeObserver(barRef, () => update());\n\ndefineExpose({\n ref: barRef,\n update\n});\n</script>\n\n<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(_tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n"],"names":["instance","getCurrentInstance","rootTabs","inject","TabsRootContextKey","ns","useNamespace","barRef","ref","barStyle","getBarStyle","offset","tabSize","sizeName","sizeDir","position","props","tab","$el","_b","_a","capitalize","tabStyles","update","watch","nextTick","_tabPosition","computed","useResizeObserver","expose"],"mappings":"8cAaMA,EAAWC,EAAAA,qBACXC,EAAWC,SAAOC,EAAAA,kBAAkB,EAEpCC,EAAKC,eAAa,MAAM,EAExBC,EAASC,EAAAA,MACTC,EAAWD,EAAAA,MAEXE,EAAc,IAAqB,CACvC,IAAIC,EAAS,EACTC,EAAU,EAER,MAAAC,EAAW,CAAC,MAAO,QAAQ,EAAE,SAASX,EAAS,MAAM,WAAY,EACnE,QACA,SACEY,EAAUD,IAAa,QAAU,IAAM,IACvCE,EAAWD,IAAY,IAAM,OAAS,MAEtC,OAAAE,EAAA,KAAK,MAAOC,GAAQ,SACxB,MAAMC,GAAMC,GAAAC,EAAApB,EAAS,SAAT,YAAAoB,EAAiB,OAAjB,YAAAD,EAAwB,OAAOF,EAAI,OAC/C,GAAI,CAACC,EAAY,MAAA,GAEb,GAAA,CAACD,EAAI,OACA,MAAA,GAETN,EAASO,EAAI,SAASG,EAAW,WAAAN,CAAQ,GAAG,EAC5CH,EAAUM,EAAI,SAASG,EAAW,WAAAR,CAAQ,GAAG,EAEvC,MAAAS,EAAY,OAAO,iBAAiBJ,CAAG,EAE7C,OAAIL,IAAa,UACXG,EAAM,KAAK,OAAS,IAEpBJ,GAAA,OAAO,WAAWU,EAAU,WAAW,EACvC,OAAO,WAAWA,EAAU,YAAY,GAElCX,GAAA,OAAO,WAAWW,EAAU,WAAW,GAE5C,EAAA,CACR,EAEM,CACL,CAACT,CAAQ,EAAG,GAAGD,MACf,UAAW,YAAYS,EAAW,WAAAP,CAAO,KAAKH,MAAA,CAChD,EAGIY,EAAS,IAAOd,EAAS,MAAQC,EAAY,EAEnDc,EAAA,MACE,IAAMR,EAAM,KACZ,SAAY,CACV,MAAMS,EAAS,SAAA,EACRF,GACT,EACA,CAAE,UAAW,EAAK,CAAA,EAGd,MAAAG,EAAeC,EAAAA,SAAS,IACrBzB,EAAS,MAAM,WACvB,EAEiB0B,OAAAA,EAAAA,kBAAArB,EAAQ,IAAMgB,EAAA,CAAQ,EAE3BM,EAAA,CACX,IAAKtB,EACL,OAAAgB,CAAA,CACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-nav.vue2.js","sources":["../../../../../../packages/components/tabs/tab-nav.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns_nav = /* hoist-static*/ useNamespace('tab-nav')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns_nav.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { throwError } from '@vft-ui/utils';\nimport {\n computed,\n type CSSProperties,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch\n} from 'vue';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { capitalize } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport { TabsRootContextKey } from './types';\nimport type { TabsPaneContext, TabsType, Scrollable } from './types';\nimport { useDocumentVisibility, useResizeObserver, useWindowFocus } from '@vueuse/core';\nimport TabBar from './tab-bar.vue';\n\ninterface TabNavProps {\n panes: TabsPaneContext[];\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** tab 类型 */\n type?: TabsType;\n stretch?: boolean;\n /** 图标配置 */\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\ndefineProps({\n \"panes\": null,\n \"editable\": { type: Boolean, },\n \"addable\": { type: Boolean, },\n \"type\": null,\n \"stretch\": { type: Boolean, },\n \"closeIconCfg\": null,\n \"addIconCfg\": null,\n \"arrowLeftIconCfg\": null,\n \"arrowRightIconCfg\": null\n})\n\nconst emit = defineEmits(['tabClick', 'tabRemove', 'tabAdd', 'tabContextmenu']);\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\n// 获取从 index.vue 提供的数据信息\nconst rootTabs = inject(TabsRootContextKey)!;\nif (!rootTabs) throwError(ns_nav.b(), `<vft-tabs><tab-nav /></vft-tabs>`)\n\nconst ns = useNamespace('tabs');\nconst visibility = useDocumentVisibility();\nconst focused = useWindowFocus();\n\n// 整个 nav dom 包含前进后退 btn (vft-tabs__nav-wrap)\nconst el$ = ref<HTMLDivElement>();\n// el$ 子节点 包含 newButton (vft-tabs__nav-scroll)\nconst navScroll$ = ref<HTMLDivElement>();\n// navScroll$ 子节点 (vft-tabs__nav)\nconst nav$ = ref<HTMLDivElement>();\n\n/** 是否展示左右滚动 */\nconst scrollable = ref<false | Scrollable>(false);\n// 记录滚动时的偏移量\nconst navOffset = ref(0);\nconst isFocus = ref(false);\nconst focusable = ref(true);\n\n// 根据 tabPosition 确定 sizeName 是 width or height\nconst sizeName = computed(() => ['top', 'bottom'].includes(rootTabs.props.tabPosition!) ? 'width' : 'height');\n\n// 设置 tab 导航栏的 translateX or translateY 的偏移量\nconst navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y';\n return {\n transform: `translate${dir}(-${navOffset.value}px)`\n };\n});\n\n// 向前滚动\nconst scrollPrev = () => {\n if (!navScroll$.value) return;\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (!currentOffset) return;\n\n navOffset.value = currentOffset > containerSize ? currentOffset - containerSize : 0;\n};\n\n// 向后滚动\nconst scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return;\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (navSize - currentOffset <= containerSize) return;\n\n navOffset.value = navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize;\n};\n\n// 滚动到激活的 tab 主要是获取 navOffset 的值\nconst scrollToActiveTab = async() => {\n const nav = nav$.value;\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return;\n\n await nextTick();\n\n const activeTab = el$.value.querySelector('.is-active');\n if (!activeTab) return;\n\n const navScroll = navScroll$.value;\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition!\n );\n const activeTabBounding = activeTab.getBoundingClientRect();\n // vft-tabs__nav-scroll\n const navScrollBounding = navScroll.getBoundingClientRect();\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height;\n\n const currentOffset = navOffset.value;\n\n let newOffset = currentOffset;\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left);\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right;\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top);\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom);\n }\n }\n newOffset = Math.max(newOffset, 0);\n navOffset.value = Math.min(newOffset, maxOffset);\n};\n\nconst update = () => {\n if (!nav$.value || !navScroll$.value) return;\n // 根据 position 的不同 获取 nav$(vft-tabs__nav) 的 offsetWidth or offsetHeight\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到 navScroll$ 的 offsetWidth or offsetHeight\n const containerSize = navScroll$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到当前的偏移量\n const currentOffset = navOffset.value;\n // 由于 navScroll$ 的 overflow 是 hidden,所以当 vft-tabs__nav 撑开时其宽度可能会超过 vft-tabs__nav-scroll\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {};\n scrollable.value.prev = currentOffset;\n scrollable.value.next = currentOffset + containerSize < navSize;\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize;\n }\n } else {\n scrollable.value = false;\n if (currentOffset > 0) {\n navOffset.value = 0;\n }\n }\n};\n\nconst changeTab = (e: KeyboardEvent) => {\n const code = e.code;\n\n const { up, down, left, right } = EVENT_CODE;\n if (![up, down, left, right].includes(code)) return;\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n );\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement);\n\n let nextIndex: number;\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1;\n } else {\n nextIndex = currentIndex - 1;\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1;\n } else {\n nextIndex = 0;\n }\n }\n tabList[nextIndex].focus(); // 改变焦点元素\n tabList[nextIndex].click(); // 选中下一个tab\n setFocus();\n};\n\nconst setFocus = () => {\n if (focusable.value) isFocus.value = true;\n};\nconst removeFocus = () => (isFocus.value = false);\n\nwatch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false;\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50);\n }\n});\n\nwatch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50);\n } else {\n focusable.value = false;\n }\n});\n\n// 监听 resize 触发 update\nuseResizeObserver(el$, update);\n\nonMounted(() => setTimeout(() => scrollToActiveTab(), 0));\nonUpdated(() => update());\n\ndefineExpose({\n scrollToActiveTab,\n removeFocus\n});\n\nwatch(\n () => __props.panes,\n () => vm.update(),\n { flush: 'post' }\n);\n\n// 前进后退标签\nconst scrollBtn = computed(() => {\n return scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev)\n ]}\n onClick={scrollPrev}\n >\n {__props.arrowLeftIconCfg?.icon ? <VftIcon {...__props.arrowLeftIconCfg}></VftIcon> : null}\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next)\n ]}\n onClick={scrollNext}\n >\n {__props.arrowRightIconCfg?.icon ? <VftIcon {...__props.arrowRightIconCfg}></VftIcon> : null}\n </span>\n ]\n : null;\n});\n\n// 渲染 tab-pane\nconst tabs = computed(() => {\n return __props.panes?.map((pane, index) => {\n const uid = pane.uid;\n const disabled = pane.props.disabled;\n const tabName = pane.props.name ?? pane.index ?? `${index}`;\n const closable = !disabled && (pane.isClosable || __props.editable);\n pane.index = `${index}`;\n\n // 关闭标签图标\n const btnClose = closable ? (\n <span class=\"is-icon-close\" onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}>\n {__props.closeIconCfg?.icon ? <VftIcon {...__props.closeIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label;\n const tabindex = !disabled && pane.active ? 0 : -1;\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value)\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus();\n emit('tabClick', pane, tabName, ev);\n }}\n onContextmenu={(event) => {\n event.preventDefault();\n emit('tabContextmenu', { pane, index, event });\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev);\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n );\n });\n});\n\n// 增加 tab 的 dom\nconst newButton =\n __props.editable || __props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={() => emit('tabAdd')}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) emit('tabAdd');\n }}\n >\n {__props.addIconCfg?.icon ? <VftIcon {...__props.addIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\ndefineRender(() => {\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition!)\n ]}\n >\n {scrollBtn.value}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is(\n 'stretch',\n __props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition!)\n )\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !__props.type ? <TabBar tabs={[...__props.panes]} /> : null,\n tabs.value\n ]}\n </div>\n {newButton}\n </div>\n </div>\n );\n});\n</script>\n"],"names":["ns_nav","useNamespace","__default__","DO_defineComponent","name","b","vm","getCurrentInstance","rootTabs","inject","TabsRootContextKey","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","el$","ref","navScroll$","nav$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","props","tabPosition","navStyle","transform","value","scrollPrev","containerSize","capitalize","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","nextTick","activeTab","querySelector","navScroll","isHorizontal","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","width","offsetHeight","height","newOffset","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","e","code","up","down","EVENT_CODE","tabList","Array","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","click","setFocus","removeFocus","watch","setTimeout","useResizeObserver","onMounted","onUpdated","expose","__props","panes","flush","scrollBtn","_createVNode","is","arrowLeftIconCfg","icon","VftIcon","arrowRightIconCfg","tabs","map","pane","index","uid","disabled","tabName","closable","isClosable","editable","btnClose","ev","emit","closeIconCfg","tabLabelContent","slots","label","tabindex","active","onFocus","onBlur","event","preventDefault","delete","backspace","newButton","addable","onClick","enter","addIconCfg","stretch","type","TabBar"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tab-pane.vue2.js","sources":["../../../../../../packages/components/tabs/tab-pane.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('tab-pane')\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 { throwError } from '@vft-ui/utils';\nimport { type TabsPaneContext, TabsRootContextKey } from './types';\nimport { useNamespace } from '@vft-ui/hooks';\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch\n} from 'vue';\nimport { eagerComputed } from '@vueuse/core';\n\ninterface TabPaneProps {\n /** 选项卡标题 */\n label?: string;\n /** 与选项卡绑定值 value 对应的标识符,表示选项卡别名 */\n name?: Numberish;\n /** 标签是否可关闭 */\n closable?: boolean;\n /** 是否禁用 */\n disabled?: boolean;\n /** 标签是否延迟渲染 */\n lazy?: boolean;\n}\n\ndefineProps({\n \"label\": null,\n \"name\": null,\n \"closable\": { type: Boolean, },\n \"disabled\": { type: Boolean, },\n \"lazy\": { type: Boolean, }\n})\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\nconst slots = useSlots();\n\nconst tabsRoot = inject(TabsRootContextKey)!;\n\nif (!tabsRoot)\n\tthrowError(ns.b(), 'usage: <vft-tabs><vft-tab-pane /></vft-tabs/>')\n\nconst index = ref<string>();\n// 可关闭\nconst isClosable = computed(() => __props.closable || tabsRoot.props.closable);\n// 激活\nconst active = eagerComputed(() => {\n return tabsRoot.currentName.value === (__props.name ?? index.value);\n});\n\nconst loaded = ref(active.value);\n\nconst paneName = computed(() => __props.name ?? index.value);\n\nconst shouldBeRender = eagerComputed(() => {\n return !__props.lazy || loaded.value || active.value;\n});\n\nwatch(active, (val) => {\n if (val) loaded.value = true;\n});\n\nconst pane = reactive({\n uid: vm.uid,\n slots,\n props: vm.props as unknown as TabPaneProps,\n paneName,\n active,\n index,\n isClosable,\n attrs: vm.attrs\n});\n\n\nonMounted(() => {\n tabsRoot.registerPane(pane as TabsPaneContext);\n});\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid);\n});\n</script>\n\n<template>\n <div v-if=\"shouldBeRender\" v-show=\"active\" :id=\"`pane-${paneName}`\" :class=\"ns.b()\"\n role=\"tabpanel\" :aria-hidden=\"!active\" :aria-labelledby=\"`tab-${paneName}`\">\n <slot />\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","vm","getCurrentInstance","slots","useSlots","tabsRoot","inject","TabsRootContextKey","throwError","index","ref","isClosable","computed","__props","active","eagerComputed","loaded","paneName","shouldBeRender","watch","val","pane","reactive","onMounted","onUnmounted"],"mappings":"ucACMA,EAAuBC,EAAAA,aAAa,UAAU,EAGpDC,EAA6BC,EAAAA,gBAAmB,CAC9C,KAAMH,EAAG,EAAE,CACb,CAAC,sIA2CD,MAAMI,EAAKC,EAAAA,qBAELC,EAAQC,EAAAA,WAERC,EAAWC,SAAOC,EAAAA,kBAAkB,EAErCF,GACOG,EAAAA,WAAAX,EAAG,EAAE,EAAG,+CAA+C,EAEnE,MAAMY,EAAQC,EAAAA,MAERC,EAAaC,EAAS,SAAA,IAAMC,EAAQ,UAAYR,EAAS,MAAM,QAAQ,EAEvES,EAASC,EAAAA,cAAc,IACpBV,EAAS,YAAY,SAAWQ,EAAQ,MAAQJ,EAAM,MAC9D,EAEKO,EAASN,EAAAA,IAAII,EAAO,KAAK,EAEzBG,EAAWL,EAAAA,SAAS,IAAMC,EAAQ,MAAQJ,EAAM,KAAK,EAErDS,EAAiBH,EAAAA,cAAc,IAC5B,CAACF,EAAQ,MAAQG,EAAO,OAASF,EAAO,KAChD,EAEKK,QAAAL,EAASM,GAAQ,CACjBA,IAAKJ,EAAO,MAAQ,GAAA,CACzB,EAED,MAAMK,EAAOC,EAAAA,SAAS,CACpB,IAAKrB,EAAG,IACR,MAAAE,EACA,MAAOF,EAAG,MACV,SAAAgB,EACA,OAAAH,EACA,MAAAL,EACA,WAAAE,EACA,MAAOV,EAAG,KAAA,CACX,EAGDsB,OAAAA,EAAAA,UAAU,IAAM,CACdlB,EAAS,aAAagB,CAAuB,CAAA,CAC9C,EAEDG,EAAAA,YAAY,IAAM,CACPnB,EAAA,eAAegB,EAAK,GAAG,CAAA,CACjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs.vue2.js","sources":["../../../../../../packages/components/tabs/tabs.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('tabs')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script setup lang=\"tsx\">\nimport { type IconProps } from '@vft-ui/components';\nimport { useNamespace, useOrderedChildren } from '@vft-ui/hooks';\nimport { UPDATE_MODEL_EVENT } from '@vft/constants';\nimport { isNumberish, isUndefined } from '@vft/utils';\nimport { computed, getCurrentInstance, nextTick, provide, ref, useSlots, watch } from 'vue';\nimport TabNav from './tab-nav.vue';\nimport { type TabsPaneContext, type TabsProps, TabsRootContextKey, type TabsType } from './types';\n\ninterface TabsProps {\n /** 风格类型 */\n type?: TabsType;\n /** 标签是否可关闭 */\n closable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** 绑定值,选中选项卡的 name */\n modelValue: Numberish;\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 选项卡所在位置 */\n tabPosition?: 'top' | 'right' | 'bottom' | 'left';\n /** 切换标签之前的钩子函数, 若返回 false 或者返回被 reject 的 Promise,则阻止切换 */\n beforeLeave?: Function;\n /** 是否自动撑开宽度 */\n stretch?: boolean;\n /** icon 配置 */\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\ndefineProps({\n \"type\": { default: '' },\n \"closable\": { type: Boolean, },\n \"addable\": { type: Boolean, default: false },\n \"modelValue\": null,\n \"editable\": { type: Boolean, },\n \"tabPosition\": { default: 'top' },\n \"beforeLeave\": { type: Function, },\n \"stretch\": { type: Boolean, },\n \"closeIconCfg\": null,\n \"addIconCfg\": null,\n \"arrowLeftIconCfg\": null,\n \"arrowRightIconCfg\": null\n})\n\nconst emit = defineEmits({\n [UPDATE_MODEL_EVENT]: (name: Numberish) => isNumberish(name),\n /** 点击 */\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n /** 右键点击 */\n tabContextMenu: (pane: TabsPaneContext, index: number, ev: Event) => ev instanceof Event,\n tabChange: (name: Numberish) => isNumberish(name),\n edit: (paneName: Numberish | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n /** 移除 */\n tabRemove: (name: Numberish) => isNumberish(name),\n /** 增加 */\n tabAdd: () => true\n});\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\nconst slots = useSlots();\n\n// tab-nav 实例\nconst nav$ = ref();\n\n// 默认的激活的 tab\nconst currentName = ref<Numberish>(__props.modelValue ?? '0');\n\n// 更新当前 current tab 触发 tabChange 以及更新 modelValue\nconst changeCurrentName = (value: Numberish) => {\n currentName.value = value;\n emit('update:modelValue', value);\n emit('tabChange', value);\n};\n\n// value 值为当前点击的 tab 值\nconst setCurrentName = async (value?: Numberish) => {\n // 如果 currentName 等于原值,或者 value 不存在,不执行\n if (currentName.value === value || isUndefined(value)) return;\n\n try {\n // 切换标签之前的钩子函数, 若返回 false 或者返回被 reject 的 Promise,则阻止切换 */\n const canLeave = await __props.beforeLeave?.(value, currentName.value);\n if (canLeave !== false) {\n // 更新 tab 值\n changeCurrentName(value);\n //\n nav$.value?.removeFocus?.();\n }\n } catch {}\n};\n\n/**\n * @description tab 点击事件\n * @author wfd\n * @date 2022/10/18 09:07\n * @example\n * @param {TabsPaneContext} tab 当前被点击的 tab 信息\n * @param {Numberish} tabName 被点击的 tab 值\n * @param {Event} event\n */\nconst handleTabClick = (tab: TabsPaneContext, tabName: Numberish, event: Event) => {\n // 如果 TabPaneProps 中设置了 disabled 则禁止点击\n if (tab.props.disabled) return;\n // 更新 currentName\n setCurrentName(tabName);\n // 抛出 tabClick 事件\n emit('tabClick', tab, event);\n};\n\nconst handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return;\n ev.stopPropagation();\n emit('edit', pane.props.name, 'remove');\n emit('tabRemove', pane.props.name);\n};\n\n// 监听 modelValue 改变触发改变 currentName\nwatch(\n () => __props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n);\n\n// 当前激活的 tab 变化触发 nav$ scrollToActiveTab 方法\nwatch(currentName, async () => {\n await nextTick();\n nav$.value?.scrollToActiveTab();\n});\n\n// 增加 tab 事件\nconst handleTabAdd = () => {\n emit('edit', undefined, 'add');\n emit('tabAdd');\n};\n\nconst handleContextmenu = (pane: TabsPaneContext, index: number, ev: Event) => {\n emit('tabContextMenu', pane, index, ev);\n};\n\n// 默认渲染的内容区域\nconst panels = computed(() => {\n return <div class={ns.e('content')}>{slots.default?.()}</div>;\n});\n\n// 找出当前 tab 组件下 vft-tab-pane 的组件实例对象\nconst { children: panes, addChild: registerPane, removeChild: unregisterPane } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'vft-tab-pane');\n\nprovide(TabsRootContextKey, {\n props: vm.props as unknown as TabsProps,\n currentName,\n registerPane,\n unregisterPane\n});\n\ndefineExpose({\n currentName\n});\n\n// 图标相关\nconst _addIconCfg = computed(() => {\n return {\n icon: 'vi-add',\n color: 'black',\n size: 12,\n ...__props.addIconCfg\n };\n});\n\nconst _closeIconCfg = computed(() => {\n return {\n icon: 'vi-close',\n size: 12,\n ...__props.closeIconCfg\n };\n});\n\nconst _arrowLeftIconCfg = computed(() => {\n return {\n icon: 'vi-arrow-left',\n size: 18,\n ...__props.arrowLeftIconCfg\n };\n});\n\nconst _arrowRightIconCfg = computed(() => {\n return {\n icon: 'vi-arrow-right',\n size: 18,\n ...__props.arrowRightIconCfg\n };\n});\n\nconst header = computed(() => {\n return (\n <div class={[ns.e('header'), ns.is(__props.tabPosition)]}>\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n panes={panes.value}\n stretch={__props.stretch}\n closeIconCfg={_closeIconCfg.value}\n addIconCfg={_addIconCfg.value}\n arrowRightIconCfg={_arrowRightIconCfg.value}\n arrowLeftIconCfg={_arrowLeftIconCfg.value}\n editable={__props.editable}\n addable={__props.addable}\n type={__props.type}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n onTabAdd={handleTabAdd}\n onTabContextmenu={handleContextmenu}\n />\n {slots.headerRight?.()}\n </div>\n );\n});\n\ndefineRender(() => {\n return (\n <div\n class={[\n ns.b(),\n ns.m(__props.tabPosition),\n {\n [ns.m('card')]: __props.type === 'card',\n [ns.m('border-card')]: __props.type === 'border-card'\n }\n ]}\n >\n {...__props.tabPosition !== 'bottom' ? [header.value, panels.value] : [panels.value, header.value]}\n </div>\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","name","b","vm","getCurrentInstance","slots","useSlots","nav$","ref","currentName","__props","modelValue","changeCurrentName","value","emit","setCurrentName","isUndefined","beforeLeave","removeFocus","handleTabClick","tab","tabName","event","props","disabled","handleTabRemove","pane","ev","stopPropagation","watch","nextTick","scrollToActiveTab","handleTabAdd","undefined","handleContextmenu","index","panels","computed","_createVNode","e","default","children","panes","addChild","registerPane","removeChild","unregisterPane","useOrderedChildren","provide","TabsRootContextKey","expose","_addIconCfg","icon","color","size","addIconCfg","_closeIconCfg","closeIconCfg","_arrowLeftIconCfg","arrowLeftIconCfg","_arrowRightIconCfg","arrowRightIconCfg","header","is","tabPosition","TabNav","stretch","editable","addable","type","headerRight","m"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../packages/components/tabs/types.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey, Ref, Slots, UnwrapRef } from 'vue';\nimport { type IconProps } from '@vft-ui/components';\n\nexport type TabsPaneContext = UnwrapRef<{\n uid: number;\n slots: Slots;\n props: TabPaneProps;\n paneName: ComputedRef<string | number | undefined>;\n active: ComputedRef<boolean>;\n index: Ref<string | undefined>;\n isClosable: ComputedRef<boolean>;\n attrs: Record<string, any>;\n}>;\n\nexport type TabsType = 'card' | 'border-card' | '';\n\nexport interface TabsRootContext {\n props: TabsProps;\n currentName: Ref<string | number>;\n registerPane: (pane: TabsPaneContext) => void;\n unregisterPane: (uid: number) => void;\n}\n\nexport interface TabPaneProps {\n /** 选项卡标题 */\n label: string;\n /** 与选项卡绑定值 value 对应的标识符,表示选项卡别名 */\n name: Numberish;\n /** 标签是否可关闭 */\n closable: boolean;\n /** 是否禁用 */\n disabled: boolean;\n /** 标签是否延迟渲染 */\n lazy: boolean;\n}\n\nexport interface TabsProps {\n /** 风格类型 */\n type?: TabsType;\n /** 标签是否可关闭 */\n closable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** 绑定值,选中选项卡的 name */\n modelValue: Numberish;\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 选项卡所在位置 */\n tabPosition?: 'top' | 'right' | 'bottom' | 'left';\n /** 切换标签之前的钩子函数, 若返回 false 或者返回被 reject 的 Promise,则阻止切换 */\n beforeLeave?: Function;\n stretch?: boolean;\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\nexport const TabsRootContextKey: InjectionKey<TabsRootContext> = Symbol('tabsRootContextKey');\n\nexport interface Scrollable {\n next?: boolean;\n prev?: number;\n}\n\nexport type TabsPanes = Record<number, TabsPaneContext>;\n"],"names":["TabsRootContextKey"],"mappings":"gFA0Da,MAAAA,EAAoD,OAAO,oBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../packages/components/tooltip/constants.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\n\nexport type Arrayable<T> = T | T[];\nexport type TooltipTriggerType = 'hover' | 'focus' | 'click' | 'contextmenu';\n\nexport type VftTooltipInjectionContext = {\n controlled: Ref<boolean>\n id: Ref<string>\n open: Ref<boolean>\n trigger: Ref<Arrayable<TooltipTriggerType>>\n onOpen: (e?: Event) => void\n onClose: (e?: Event) => void\n onToggle: (e: Event) => void\n onShow: () => void\n onHide: () => void\n onBeforeShow: () => void\n onBeforeHide: () => void\n updatePopper: () => void\n}\n\nexport const TOOLTIP_INJECTION_KEY: InjectionKey<VftTooltipInjectionContext> = Symbol('vftTooltip');\n"],"names":["TOOLTIP_INJECTION_KEY"],"mappings":"gFAoBa,MAAAA,EAAkE,OAAO,YAAY"}