vft 0.0.73 → 0.0.76

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 (369) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/es/component.js +67 -48
  4. package/es/components/affix/affix.js +45 -0
  5. package/es/components/affix/affix.vue.js +4 -0
  6. package/es/components/affix/affix.vue2.js +83 -0
  7. package/es/components/affix/index.js +12 -0
  8. package/es/components/affix/style/css.js +2 -0
  9. package/es/components/affix/style/index.js +2 -0
  10. package/es/components/back-top/back-top.vue2.js +10 -2
  11. package/es/components/button/button.vue2.js +58 -59
  12. package/es/components/button/use-button.js +26 -20
  13. package/es/components/card/card.vue.js +4 -0
  14. package/es/components/card/card.vue2.js +44 -0
  15. package/es/components/card/index.js +12 -0
  16. package/es/components/card/instance.js +1 -0
  17. package/es/components/card/style/css.js +2 -0
  18. package/es/components/card/style/index.js +2 -0
  19. package/es/components/check-tag/check-tag.vue.js +4 -0
  20. package/es/components/check-tag/check-tag.vue2.js +35 -0
  21. package/es/components/check-tag/index.js +12 -0
  22. package/es/components/check-tag/style/css.js +2 -0
  23. package/es/components/check-tag/style/index.js +2 -0
  24. package/es/components/color-picker/color-picker.vue2.js +1 -1
  25. package/es/components/context-menu/context-menu.vue2.js +10 -2
  26. package/es/components/date-picker/composables/use-month-range-header.js +1 -1
  27. package/es/components/date-picker/constants.js +16 -2
  28. package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +37 -34
  29. package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +0 -1
  30. package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +177 -178
  31. package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +328 -336
  32. package/es/components/date-picker/date-picker.js +18 -18
  33. package/es/components/date-picker/index.js +5 -4
  34. package/es/components/date-picker/props/shared.js +1 -1
  35. package/es/components/date-time-select/date-time-select.vue2.js +59 -59
  36. package/es/components/dialog/dialog.vue2.js +12 -12
  37. package/es/components/dialog/hooks/use-dialog.js +4 -4
  38. package/es/components/dropdown/dropdown-menu.vue2.js +4 -4
  39. package/es/components/footer-layout/footer-layout.vue2.js +10 -2
  40. package/es/components/header-layout/header-layout.vue2.js +10 -2
  41. package/es/components/horizontal-menu/constants.js +4 -0
  42. package/es/components/horizontal-menu/horizontal-menu.vue2.js +153 -86
  43. package/es/components/horizontal-menu/index.js +7 -5
  44. package/es/components/index.js +228 -194
  45. package/es/components/md-container/md-container.vue2.js +10 -2
  46. package/es/components/menu/menu-item.vue2.js +58 -58
  47. package/es/components/menu/menu.vue2.js +72 -68
  48. package/es/components/menu/sub-menu.vue2.js +139 -117
  49. package/es/components/multiple-tabs/multiple-tabs.vue2.js +35 -26
  50. package/es/components/option/style/css.js +2 -0
  51. package/es/components/option/style/index.js +2 -0
  52. package/es/components/option-group/style/css.js +2 -0
  53. package/es/components/option-group/style/index.js +2 -0
  54. package/es/components/popconfirm/index.js +12 -0
  55. package/es/components/popconfirm/popconfirm.vue.js +4 -0
  56. package/es/components/popconfirm/popconfirm.vue2.js +112 -0
  57. package/es/components/popconfirm/style/css.js +6 -0
  58. package/es/components/popconfirm/style/index.js +6 -0
  59. package/es/components/popover/style/index.js +1 -1
  60. package/es/components/result/result.vue2.js +10 -2
  61. package/es/components/roving-focus-group/roving-focus-item.vue2.js +1 -1
  62. package/es/components/search/style/css.js +2 -0
  63. package/es/components/search/style/index.js +2 -0
  64. package/es/components/select/index.js +22 -0
  65. package/es/components/select/option-group.vue.js +25 -0
  66. package/es/components/select/option-group.vue2.js +53 -0
  67. package/es/components/select/option.vue.js +27 -0
  68. package/es/components/select/option.vue2.js +58 -0
  69. package/es/components/select/options.js +34 -0
  70. package/es/components/select/select-dropdown.vue.js +15 -0
  71. package/es/components/select/select-dropdown.vue2.js +32 -0
  72. package/es/components/select/select.vue.js +327 -0
  73. package/es/components/select/select.vue2.js +348 -0
  74. package/es/components/select/style/css.js +8 -0
  75. package/es/components/select/style/index.js +8 -0
  76. package/es/components/select/token.js +5 -0
  77. package/es/components/select/useOption.js +71 -0
  78. package/es/components/select/useSelect.js +414 -0
  79. package/es/components/select-v2/select-dropdown.js +1 -1
  80. package/es/components/select-v2/useSelect.js +269 -269
  81. package/es/components/side-menu/side-menu.vue2.js +153 -142
  82. package/es/components/skeleton/index.js +16 -0
  83. package/es/components/skeleton/skeleton-item.vue.js +4 -0
  84. package/es/components/skeleton/skeleton-item.vue2.js +31 -0
  85. package/es/components/skeleton/skeleton.vue.js +4 -0
  86. package/es/components/skeleton/skeleton.vue2.js +55 -0
  87. package/es/components/skeleton/style/css.js +3 -0
  88. package/es/components/skeleton/style/index.js +3 -0
  89. package/es/components/skeleton-item/style/css.js +2 -0
  90. package/es/components/skeleton-item/style/index.js +2 -0
  91. package/es/components/space/index.js +17 -0
  92. package/es/components/space/item.js +24 -0
  93. package/es/components/space/space.js +182 -0
  94. package/es/components/space/style/css.js +2 -0
  95. package/es/components/space/style/index.js +2 -0
  96. package/es/components/space/use-space.js +44 -0
  97. package/es/components/switch/switch.vue2.js +1 -1
  98. package/es/components/tabs/tab-nav.vue2.js +30 -22
  99. package/es/components/tabs/tabs.vue2.js +37 -37
  100. package/es/components/time-picker/common/picker.vue2.js +241 -257
  101. package/es/components/time-picker/common/props.js +10 -6
  102. package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +1 -1
  103. package/es/components/time-picker/time-picker.js +10 -10
  104. package/es/components/time-select/time-select.vue2.js +38 -42
  105. package/es/components/tooltip/content.vue2.js +1 -1
  106. package/es/components/tree/index.js +14 -0
  107. package/es/components/tree/model/node.js +248 -0
  108. package/es/components/tree/model/tree-store.js +197 -0
  109. package/es/components/tree/model/useDragNode.js +71 -0
  110. package/es/components/tree/model/useKeydown.js +81 -0
  111. package/es/components/tree/model/useNodeExpandEventBroadcast.js +19 -0
  112. package/es/components/tree/model/util.js +21 -0
  113. package/es/components/tree/style/css.js +3 -0
  114. package/es/components/tree/style/index.js +3 -0
  115. package/es/components/tree/tree-node-content.vue.js +4 -0
  116. package/es/components/tree/tree-node-content.vue2.js +28 -0
  117. package/es/components/tree/tree-node.vue.js +98 -0
  118. package/es/components/tree/tree-node.vue2.js +152 -0
  119. package/es/components/tree/tree.type.js +1 -0
  120. package/es/components/tree/tree.vue.js +48 -0
  121. package/es/components/tree/tree.vue2.js +268 -0
  122. package/es/components/tree-select/cache-options.js +32 -0
  123. package/es/components/tree-select/index.js +9 -0
  124. package/es/components/tree-select/select.js +38 -0
  125. package/es/components/tree-select/style/css.js +11 -0
  126. package/es/components/tree-select/style/index.js +11 -0
  127. package/es/components/tree-select/tree-select-option.js +21 -0
  128. package/es/components/tree-select/tree-select.vue.js +4 -0
  129. package/es/components/tree-select/tree-select.vue2.js +81 -0
  130. package/es/components/tree-select/tree.js +137 -0
  131. package/es/components/tree-select/utils.js +45 -0
  132. package/es/hooks/index.js +25 -21
  133. package/es/hooks/use-focus/index.js +9 -0
  134. package/es/hooks/use-throttle-render/index.js +21 -0
  135. package/es/index.js +408 -368
  136. package/es/package.json.js +1 -1
  137. package/es/utils/helper.js +5 -2
  138. package/es/utils/index.js +48 -46
  139. package/lib/component.cjs +1 -1
  140. package/lib/components/affix/affix.cjs +1 -0
  141. package/lib/components/affix/affix.vue.cjs +1 -0
  142. package/lib/components/affix/affix.vue2.cjs +1 -0
  143. package/lib/components/affix/index.cjs +1 -0
  144. package/lib/components/affix/style/css.cjs +1 -0
  145. package/lib/components/affix/style/index.cjs +1 -0
  146. package/lib/components/back-top/back-top.vue2.cjs +1 -1
  147. package/lib/components/button/button.vue2.cjs +1 -1
  148. package/lib/components/button/use-button.cjs +1 -1
  149. package/lib/components/card/card.vue.cjs +1 -0
  150. package/lib/components/card/card.vue2.cjs +1 -0
  151. package/lib/components/card/index.cjs +1 -0
  152. package/lib/components/card/instance.cjs +1 -0
  153. package/lib/components/card/style/css.cjs +1 -0
  154. package/lib/components/card/style/index.cjs +1 -0
  155. package/lib/components/check-tag/check-tag.vue.cjs +1 -0
  156. package/lib/components/check-tag/check-tag.vue2.cjs +1 -0
  157. package/lib/components/check-tag/index.cjs +1 -0
  158. package/lib/components/check-tag/style/css.cjs +1 -0
  159. package/lib/components/check-tag/style/index.cjs +1 -0
  160. package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
  161. package/lib/components/context-menu/context-menu.vue2.cjs +1 -1
  162. package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
  163. package/lib/components/date-picker/constants.cjs +1 -1
  164. package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
  165. package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
  166. package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
  167. package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
  168. package/lib/components/date-picker/date-picker.cjs +1 -1
  169. package/lib/components/date-picker/index.cjs +1 -1
  170. package/lib/components/date-picker/props/shared.cjs +1 -1
  171. package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
  172. package/lib/components/dialog/dialog.vue2.cjs +1 -1
  173. package/lib/components/dialog/hooks/use-dialog.cjs +1 -1
  174. package/lib/components/dropdown/dropdown-menu.vue2.cjs +1 -1
  175. package/lib/components/footer-layout/footer-layout.vue2.cjs +1 -1
  176. package/lib/components/header-layout/header-layout.vue2.cjs +1 -1
  177. package/lib/components/horizontal-menu/constants.cjs +1 -0
  178. package/lib/components/horizontal-menu/horizontal-menu.vue2.cjs +1 -1
  179. package/lib/components/horizontal-menu/index.cjs +1 -1
  180. package/lib/components/index.cjs +1 -1
  181. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  182. package/lib/components/menu/menu-item.vue2.cjs +1 -1
  183. package/lib/components/menu/menu.vue2.cjs +1 -1
  184. package/lib/components/menu/sub-menu.vue2.cjs +1 -1
  185. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  186. package/lib/components/option/style/css.cjs +1 -0
  187. package/lib/components/option/style/index.cjs +1 -0
  188. package/lib/components/option-group/style/css.cjs +1 -0
  189. package/lib/components/option-group/style/index.cjs +1 -0
  190. package/lib/components/popconfirm/index.cjs +1 -0
  191. package/lib/components/popconfirm/popconfirm.vue.cjs +1 -0
  192. package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -0
  193. package/lib/components/popconfirm/style/css.cjs +1 -0
  194. package/lib/components/popconfirm/style/index.cjs +1 -0
  195. package/lib/components/popover/style/index.cjs +1 -1
  196. package/lib/components/result/result.vue2.cjs +1 -1
  197. package/lib/components/roving-focus-group/roving-focus-item.vue2.cjs +1 -1
  198. package/lib/components/search/style/css.cjs +1 -1
  199. package/lib/components/search/style/index.cjs +1 -1
  200. package/lib/components/select/index.cjs +1 -0
  201. package/lib/components/select/option-group.vue.cjs +1 -0
  202. package/lib/components/select/option-group.vue2.cjs +1 -0
  203. package/lib/components/select/option.vue.cjs +1 -0
  204. package/lib/components/select/option.vue2.cjs +1 -0
  205. package/lib/components/select/options.cjs +1 -0
  206. package/lib/components/select/select-dropdown.vue.cjs +1 -0
  207. package/lib/components/select/select-dropdown.vue2.cjs +1 -0
  208. package/lib/components/select/select.vue.cjs +1 -0
  209. package/lib/components/select/select.vue2.cjs +1 -0
  210. package/lib/components/select/style/css.cjs +1 -0
  211. package/lib/components/select/style/index.cjs +1 -0
  212. package/lib/components/select/token.cjs +1 -0
  213. package/lib/components/select/useOption.cjs +1 -0
  214. package/lib/components/select/useSelect.cjs +1 -0
  215. package/lib/components/select-v2/select-dropdown.cjs +1 -1
  216. package/lib/components/select-v2/useSelect.cjs +1 -1
  217. package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
  218. package/lib/components/skeleton/index.cjs +1 -0
  219. package/lib/components/skeleton/skeleton-item.vue.cjs +1 -0
  220. package/lib/components/skeleton/skeleton-item.vue2.cjs +1 -0
  221. package/lib/components/skeleton/skeleton.vue.cjs +1 -0
  222. package/lib/components/skeleton/skeleton.vue2.cjs +1 -0
  223. package/lib/components/skeleton/style/css.cjs +1 -0
  224. package/lib/components/skeleton/style/index.cjs +1 -0
  225. package/lib/components/skeleton-item/style/css.cjs +1 -0
  226. package/lib/components/skeleton-item/style/index.cjs +1 -0
  227. package/lib/components/space/index.cjs +1 -0
  228. package/lib/components/space/item.cjs +1 -0
  229. package/lib/components/space/space.cjs +1 -0
  230. package/lib/components/space/style/css.cjs +1 -0
  231. package/lib/components/space/style/index.cjs +1 -0
  232. package/lib/components/space/use-space.cjs +1 -0
  233. package/lib/components/switch/switch.vue2.cjs +1 -1
  234. package/lib/components/tabs/tab-nav.vue2.cjs +1 -1
  235. package/lib/components/tabs/tabs.vue2.cjs +1 -1
  236. package/lib/components/time-picker/common/picker.vue2.cjs +1 -1
  237. package/lib/components/time-picker/common/props.cjs +1 -1
  238. package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
  239. package/lib/components/time-picker/time-picker.cjs +1 -1
  240. package/lib/components/time-select/time-select.vue2.cjs +1 -1
  241. package/lib/components/tooltip/content.vue2.cjs +1 -1
  242. package/lib/components/tree/index.cjs +1 -0
  243. package/lib/components/tree/model/node.cjs +1 -0
  244. package/lib/components/tree/model/tree-store.cjs +1 -0
  245. package/lib/components/tree/model/useDragNode.cjs +1 -0
  246. package/lib/components/tree/model/useKeydown.cjs +1 -0
  247. package/lib/components/tree/model/useNodeExpandEventBroadcast.cjs +1 -0
  248. package/lib/components/tree/model/util.cjs +1 -0
  249. package/lib/components/tree/style/css.cjs +1 -0
  250. package/lib/components/tree/style/index.cjs +1 -0
  251. package/lib/components/tree/tree-node-content.vue.cjs +1 -0
  252. package/lib/components/tree/tree-node-content.vue2.cjs +1 -0
  253. package/lib/components/tree/tree-node.vue.cjs +1 -0
  254. package/lib/components/tree/tree-node.vue2.cjs +1 -0
  255. package/lib/components/tree/tree.type.cjs +1 -0
  256. package/lib/components/tree/tree.vue.cjs +1 -0
  257. package/lib/components/tree/tree.vue2.cjs +1 -0
  258. package/lib/components/tree-select/cache-options.cjs +1 -0
  259. package/lib/components/tree-select/index.cjs +1 -0
  260. package/lib/components/tree-select/select.cjs +1 -0
  261. package/lib/components/tree-select/style/css.cjs +1 -0
  262. package/lib/components/tree-select/style/index.cjs +1 -0
  263. package/lib/components/tree-select/tree-select-option.cjs +1 -0
  264. package/lib/components/tree-select/tree-select.vue.cjs +1 -0
  265. package/lib/components/tree-select/tree-select.vue2.cjs +1 -0
  266. package/lib/components/tree-select/tree.cjs +1 -0
  267. package/lib/components/tree-select/utils.cjs +1 -0
  268. package/lib/hooks/index.cjs +1 -1
  269. package/lib/hooks/use-focus/index.cjs +1 -0
  270. package/lib/hooks/use-throttle-render/index.cjs +1 -0
  271. package/lib/index.cjs +1 -1
  272. package/lib/package.json.cjs +1 -1
  273. package/lib/utils/helper.cjs +1 -1
  274. package/lib/utils/index.cjs +1 -1
  275. package/package.json +1 -1
  276. package/tags.json +1 -1
  277. package/theme-style/base.css +1 -1
  278. package/theme-style/index.css +1 -1
  279. package/theme-style/src/alert.scss +1 -1
  280. package/theme-style/src/autocomplete.scss +2 -2
  281. package/theme-style/src/breadcrumb.scss +4 -4
  282. package/theme-style/src/calendar.scss +2 -2
  283. package/theme-style/src/card.scss +1 -1
  284. package/theme-style/src/carousel.scss +1 -1
  285. package/theme-style/src/cascader.scss +3 -3
  286. package/theme-style/src/check-tag.scss +3 -3
  287. package/theme-style/src/checkbox.scss +1 -1
  288. package/theme-style/src/color-picker.scss +2 -2
  289. package/theme-style/src/common/var.scss +527 -521
  290. package/theme-style/src/date-picker/date-picker.scss +1 -1
  291. package/theme-style/src/date-picker/date-range-picker.scss +2 -2
  292. package/theme-style/src/date-picker/date-table.scss +1 -1
  293. package/theme-style/src/date-picker/month-table.scss +2 -2
  294. package/theme-style/src/date-picker/picker-panel.scss +4 -5
  295. package/theme-style/src/date-picker/picker.scss +7 -9
  296. package/theme-style/src/date-picker/time-picker.scss +2 -2
  297. package/theme-style/src/date-picker/time-spinner.scss +6 -8
  298. package/theme-style/src/date-picker/year-table.scss +3 -3
  299. package/theme-style/src/date-time-select.scss +3 -4
  300. package/theme-style/src/descriptions-item.scss +4 -4
  301. package/theme-style/src/descriptions.scss +2 -2
  302. package/theme-style/src/header-layout.scss +1 -1
  303. package/theme-style/src/horizontal-menu.scss +27 -39
  304. package/theme-style/src/image-viewer.scss +1 -1
  305. package/theme-style/src/index.scss +3 -0
  306. package/theme-style/src/input-number.scss +1 -1
  307. package/theme-style/src/menu.scss +76 -66
  308. package/theme-style/src/mixins/_var.scss +2 -2
  309. package/theme-style/src/mixins/mixins.scss +2 -2
  310. package/theme-style/src/popconfirm.scss +16 -0
  311. package/theme-style/src/popper.scss +4 -2
  312. package/theme-style/src/progress.scss +1 -1
  313. package/theme-style/src/reset.scss +3 -3
  314. package/theme-style/src/result.scss +2 -2
  315. package/theme-style/src/select-dropdown-v2.scss +1 -1
  316. package/theme-style/src/select-dropdown.scss +1 -1
  317. package/theme-style/src/select-v2.scss +2 -2
  318. package/theme-style/src/select.scss +4 -5
  319. package/theme-style/src/side-menu.scss +0 -1
  320. package/theme-style/src/skeleton-item.scss +83 -0
  321. package/theme-style/src/skeleton.scss +44 -0
  322. package/theme-style/src/step.scss +10 -10
  323. package/theme-style/src/tabs.scss +15 -155
  324. package/theme-style/src/timeline-item.scss +2 -2
  325. package/theme-style/src/transfer.scss +5 -5
  326. package/theme-style/src/tree.scss +2 -5
  327. package/theme-style/src/upload.scss +11 -11
  328. package/theme-style/src/var.scss +1 -1
  329. package/theme-style/vft-alert.css +1 -1
  330. package/theme-style/vft-autocomplete.css +1 -1
  331. package/theme-style/vft-breadcrumb.css +1 -1
  332. package/theme-style/vft-calendar.css +1 -1
  333. package/theme-style/vft-card.css +1 -1
  334. package/theme-style/vft-carousel.css +1 -1
  335. package/theme-style/vft-cascader.css +1 -1
  336. package/theme-style/vft-check-tag.css +1 -1
  337. package/theme-style/vft-checkbox.css +1 -1
  338. package/theme-style/vft-color-picker.css +1 -1
  339. package/theme-style/vft-date-picker.css +1 -1
  340. package/theme-style/vft-date-time-select.css +1 -1
  341. package/theme-style/vft-descriptions-item.css +1 -1
  342. package/theme-style/vft-descriptions.css +1 -1
  343. package/theme-style/vft-header-layout.css +1 -1
  344. package/theme-style/vft-horizontal-menu.css +1 -1
  345. package/theme-style/vft-image-viewer.css +1 -1
  346. package/theme-style/vft-input-number.css +1 -1
  347. package/theme-style/vft-menu.css +1 -1
  348. package/theme-style/vft-popconfirm.css +1 -0
  349. package/theme-style/vft-popper.css +1 -1
  350. package/theme-style/vft-progress.css +1 -1
  351. package/theme-style/vft-reset.css +1 -1
  352. package/theme-style/vft-result.css +1 -1
  353. package/theme-style/vft-select-dropdown-v2.css +1 -1
  354. package/theme-style/vft-select-dropdown.css +1 -1
  355. package/theme-style/vft-select-v2.css +1 -1
  356. package/theme-style/vft-select.css +1 -1
  357. package/theme-style/vft-side-menu.css +1 -1
  358. package/theme-style/vft-skeleton-item.css +1 -0
  359. package/theme-style/vft-skeleton.css +1 -0
  360. package/theme-style/vft-step.css +1 -1
  361. package/theme-style/vft-tabs.css +1 -1
  362. package/theme-style/vft-time-picker.css +1 -1
  363. package/theme-style/vft-time-select.css +1 -1
  364. package/theme-style/vft-timeline-item.css +1 -1
  365. package/theme-style/vft-transfer.css +1 -1
  366. package/theme-style/vft-tree.css +1 -1
  367. package/theme-style/vft-upload.css +1 -1
  368. package/theme-style/vft-var.css +1 -1
  369. package/web-types.json +1 -1
@@ -1,115 +1,182 @@
1
- import { defineComponent as v, computed as i, getCurrentInstance as N, createVNode as l } from "vue";
2
- import "@vft/utils";
3
- import "lodash";
4
- import "@vueuse/core";
5
- import { generateCssVars as D } from "../../utils/ns-cover.js";
6
- import { VftMenu as V, VftSubMenu as R, VftMenuItem as b } from "../menu/index.js";
7
- import { useNamespace as L } from "../../hooks/use-namespace/index.js";
1
+ import { defineComponent as B, computed as w, getCurrentInstance as G, useSlots as K, ref as Q, createVNode as v, mergeProps as J } from "vue";
2
+ import { VftMenu as W, VftSubMenu as X, VftMenuItem as Y } from "../menu/index.js";
3
+ import { useNamespace as Z } from "../../hooks/use-namespace/index.js";
8
4
  import "@popperjs/core";
5
+ import "lodash";
9
6
  import "../../hooks/use-z-index/index.js";
10
- import { useRouterHelper as S } from "@vft/router";
11
- const w = (
7
+ import "@vueuse/core";
8
+ import { isUrl as _ } from "@vft/utils";
9
+ import "../../utils/ns-cover.js";
10
+ import { useRouterHelper as A } from "@vft/router";
11
+ import { MenuTypeEnum as ee } from "./constants.js";
12
+ const y = (
12
13
  /* hoist-static*/
13
- L("horizontal-menu")
14
- ), z = v({
15
- name: w.b()
16
- }), G = /* @__PURE__ */ v({
17
- ...z,
14
+ Z("horizontal-menu")
15
+ ), ne = B({
16
+ name: y.b()
17
+ }), ge = /* @__PURE__ */ B({
18
+ ...ne,
18
19
  props: {
19
20
  menus: null,
20
- showDir: {
21
+ attrMapping: null,
22
+ openDisabled: {
21
23
  type: Boolean,
22
- default: !0
24
+ default: !1
25
+ },
26
+ disabledJudgeTurnOver: {
27
+ type: Boolean,
28
+ default: !1
29
+ },
30
+ subMenuCfg: {
31
+ default: {}
32
+ },
33
+ useRouterJump: {
34
+ type: Boolean,
35
+ default: !1
23
36
  },
24
- attrMapping: null,
25
37
  maxRowLength: {
26
38
  type: [Boolean, Number],
27
39
  default: 8
28
40
  },
29
- dirItemOrder: {
30
- default: [[0], [1], [2], [3, 4], [5, 6], [7, 8]]
31
- }
41
+ defaultActive: null,
42
+ defaultOpeneds: null
32
43
  },
33
- setup(e) {
34
- const y = D({
35
- "border-bottom": "none",
36
- "bg-color": "transparent",
37
- "sub-menu-bg-color": "transparent",
38
- "hover-bg-color": "transparent"
39
- }, "menu"), C = i(() => (r) => {
40
- var n, t, o, s, c, a;
44
+ emits: ["open", "close"],
45
+ setup(o, {
46
+ expose: L,
47
+ emit: I
48
+ }) {
49
+ const z = w(() => (e, t) => {
50
+ var u, d, r, n;
41
51
  return {
42
- "grid-template-rows": `repeat(${Math.min(((o = (t = (n = e.menus) == null ? void 0 : n[r]) == null ? void 0 : t.children) == null ? void 0 : o.length) || 0, Number(e.maxRowLength ? e.maxRowLength : (a = (c = (s = e.menus) == null ? void 0 : s[r]) == null ? void 0 : c.children) == null ? void 0 : a.length))}, auto)`
52
+ "grid-template-rows": `repeat(${Math.min(((d = (u = e == null ? void 0 : e[t]) == null ? void 0 : u[l.value.children]) == null ? void 0 : d.length) || 0, Number(o.maxRowLength ? o.maxRowLength : (n = (r = e == null ? void 0 : e[t]) == null ? void 0 : r[l.value.children]) == null ? void 0 : n.length))}, auto)`
43
53
  };
44
- }), u = i(() => ({
54
+ }), l = w(() => ({
45
55
  path: "path",
46
56
  children: "children",
47
57
  title: "title",
48
58
  index: "path",
49
59
  icon: "icon",
50
60
  disabled: "disabled",
51
- ...e.attrMapping
52
- })), M = N().appContext.config.globalProperties.$router, {
53
- go: k
54
- } = S(M), I = i(() => e.showDir ? [{
55
- title: "目录"
56
- }].concat(e.menus) : e.menus), m = (r) => {
57
- k(r.path);
58
- }, d = (r, n) => n.map((t, o) => l(b, {
59
- key: o,
60
- index: r ? "parentId" + t.title : t.title,
61
- className: "item",
62
- onClick: () => m(t)
63
- }, {
64
- default: () => [t == null ? void 0 : t.title]
65
- }));
66
- return () => l(V, {
61
+ ...o.attrMapping
62
+ })), D = G(), p = K(), S = Q(), x = D.appContext.config.globalProperties.$router, {
63
+ go: P
64
+ } = A(x), E = (e) => {
65
+ const t = l.value.path;
66
+ P(e[t]);
67
+ }, O = (e, t, u) => {
68
+ const d = e[l.value.path], r = e[l.value.title], n = e == null ? void 0 : e[l.value.index], b = e == null ? void 0 : e[l.value.icon], f = !!(e != null && e[l.value.disabled]), s = o.disabledJudgeTurnOver ? !f : f, i = n || d || t + r;
69
+ return v(Y, J(e, {
70
+ key: i,
71
+ index: i,
72
+ icon: b,
73
+ title: r,
74
+ disabled: o.openDisabled && s,
75
+ className: u ? "vft-menu-popup-item" : "vft-menu-no-popup-item",
76
+ onClick: () => E(e)
77
+ }), {
78
+ default: u ? p.menuTopItem ? () => {
79
+ var g;
80
+ return (g = p.menuTopItem) == null ? void 0 : g.call(p, {
81
+ item: e
82
+ });
83
+ } : null : p.menuItem ? () => {
84
+ var g;
85
+ return (g = p.menuItem) == null ? void 0 : g.call(p, {
86
+ item: e
87
+ });
88
+ } : null
89
+ });
90
+ }, $ = () => {
91
+ I("open");
92
+ }, j = () => {
93
+ I("close");
94
+ }, R = (e, t, u) => {
95
+ const d = e[l.value.path], r = e[l.value.title], n = e == null ? void 0 : e[l.value.children], b = e == null ? void 0 : e[l.value.index], f = e == null ? void 0 : e[l.value.icon], s = e == null ? void 0 : e.menuOrder, i = !!(e != null && e[l.value.disabled]), g = o.disabledJudgeTurnOver ? !i : i, C = b || d || t + r, k = e.type === ee.TILE;
96
+ let T = [];
97
+ if (k)
98
+ if (s) {
99
+ const a = s.flat();
100
+ if ((a == null ? void 0 : a.length) < n.length) {
101
+ const M = Math.max.apply(null, a);
102
+ for (let c = M + 1; c < n.length; c++)
103
+ s.push([c]);
104
+ }
105
+ T = s;
106
+ } else
107
+ for (let a = 0; a < n.length; a++)
108
+ T.push([a]);
109
+ return n != null && n.length || e != null && e.render ? v(X, J(o.subMenuCfg, e, {
110
+ index: C,
111
+ key: C,
112
+ icon: f,
113
+ showArrow: e.showArrow ?? !0,
114
+ disabled: o.openDisabled && g,
115
+ teleported: !1,
116
+ "popper-class": [k ? y.e("tile") : "", y.e("normal")]
117
+ }), {
118
+ default: () => [e != null && e.render ? e == null ? void 0 : e.render : k ? T.map((a, M) => v("div", {
119
+ class: "content-main",
120
+ key: M
121
+ }, [a.map((c, m) => {
122
+ var N, V;
123
+ const h = (N = n == null ? void 0 : n[c]) == null ? void 0 : N[l.value.children];
124
+ return n != null && n.length ? v("div", {
125
+ class: "content-col",
126
+ key: m
127
+ }, [v("span", {
128
+ class: h != null && h.length ? "title" : ""
129
+ }, [(V = n == null ? void 0 : n[c]) == null ? void 0 : V[l.value.title]]), h != null && h.length ? v("div", {
130
+ class: "content",
131
+ style: z.value(n, c)
132
+ }, [h.map((q, F) => O(q, F, !0))]) : null]) : null;
133
+ })])) : n.map((a, M) => {
134
+ var c;
135
+ return (c = a[l.value.children]) != null && c.length ? R(a, M, !0) : O(a, M, !0);
136
+ })],
137
+ title: () => r
138
+ }) : O(e, t, u);
139
+ };
140
+ async function H(e) {
141
+ var t, u, d;
142
+ if (o.useRouterJump) {
143
+ const {
144
+ go: r
145
+ } = A(x), n = e.route;
146
+ let b = e.route;
147
+ e.indexPath.some((s) => _(s)) && (b = e.indexPath.slice(-2).join("/"));
148
+ const f = (d = (u = (t = x.getRoutes().filter((s) => s.path === b)) == null ? void 0 : t[0]) == null ? void 0 : u.meta) == null ? void 0 : d.linkTarget;
149
+ r(f ? {
150
+ url: n,
151
+ winOpenOpt: {
152
+ target: f
153
+ }
154
+ } : n);
155
+ }
156
+ }
157
+ const U = w(() => {
158
+ var e;
159
+ return (e = S.value) == null ? void 0 : e.inSubMenu;
160
+ });
161
+ return L({
162
+ isInSubMenu: U
163
+ }), () => v(W, {
164
+ ref: S,
165
+ onSelect: H,
166
+ onOpen: $,
167
+ onClose: j,
67
168
  mode: "horizontal",
68
- class: w.b(),
69
- style: y
169
+ class: y.b(),
170
+ defaultActive: o.defaultActive,
171
+ defaultOpeneds: o.defaultOpeneds
70
172
  }, {
71
173
  default: () => {
72
- var r;
73
- return [(r = I.value) == null ? void 0 : r.map((n, t) => {
74
- var o;
75
- return e.showDir && t === 0 || (o = n[u.value.children]) != null && o.length ? l(R, {
76
- key: t,
77
- showArrow: !1,
78
- index: n[u.value.title],
79
- teleported: !1,
80
- toolTipCfg: {
81
- showArrow: !0
82
- },
83
- "popper-class": [e.showDir && t === 0 ? "menu-popover-dir" : "", "menu-popover"]
84
- }, {
85
- default: () => [e.showDir && t === 0 ? e.dirItemOrder.map((s, c) => l("div", {
86
- class: "content-main",
87
- key: c
88
- }, [s.map((a, x) => {
89
- var h, f, p, g;
90
- return (h = e.menus) != null && h[a] ? l("div", {
91
- class: "content-col",
92
- key: x
93
- }, [l("span", {
94
- class: "title"
95
- }, [(f = e.menus[a]) == null ? void 0 : f[u.value.title]]), (g = (p = e.menus[a]) == null ? void 0 : p[u.value.children]) != null && g.length ? l("div", {
96
- class: "content",
97
- style: C.value(a)
98
- }, [d(!0, e.menus[a].children)]) : null]) : null;
99
- })])) : d(!1, n[u.value.children] || [])],
100
- title: () => n[u.value.title]
101
- }) : l(b, {
102
- className: "item",
103
- index: n.title,
104
- onClick: () => m(n)
105
- }, {
106
- default: () => [n.title]
107
- });
108
- })];
174
+ var e;
175
+ return [(e = o.menus) != null && e.length ? o.menus.map((t, u) => R(t, u, !1)) : null];
109
176
  }
110
177
  });
111
178
  }
112
179
  });
113
180
  export {
114
- G as default
181
+ ge as default
115
182
  };
@@ -1,12 +1,14 @@
1
- import { withInstall as t } from "../../utils/vue/install.js";
1
+ import { withInstall as o } from "../../utils/vue/install.js";
2
2
  import "vue";
3
3
  import "@vft/utils";
4
4
  import "lodash";
5
5
  import "@vueuse/core";
6
6
  import "../../utils/ns-cover.js";
7
- import o from "./horizontal-menu.vue2.js";
8
- const l = t(o);
7
+ import t from "./horizontal-menu.vue2.js";
8
+ import { MenuTypeEnum as u } from "./constants.js";
9
+ const a = o(t);
9
10
  export {
10
- l as VftHorizontalMenu,
11
- l as default
11
+ u as MenuTypeEnum,
12
+ a as VftHorizontalMenu,
13
+ a as default
12
14
  };