vft 0.0.11 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/es/_virtual/_plugin-vue_export-helper.mjs +10 -0
- package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
- package/es/component.mjs +24 -9
- package/es/component.mjs.map +1 -1
- package/es/components/collapse-transition/index.d.ts +4 -0
- package/es/components/collapse-transition/src/collapse-transition.vue.d.ts +2 -0
- package/es/components/collapse-transition/style/css.d.ts +0 -0
- package/es/components/collapse-transition/style/index.d.ts +0 -0
- package/es/components/context-menu/context-menu.vue.d.ts +39 -0
- package/es/components/context-menu/createContextMenu.d.ts +3 -0
- package/es/components/context-menu/index.d.ts +3 -0
- package/es/components/context-menu/style/css.d.ts +0 -0
- package/es/components/context-menu/style/index.d.ts +0 -0
- package/es/components/context-menu/types.d.ts +23 -0
- package/es/components/context-menu/useContextMenu.d.ts +3 -0
- package/es/components/focus-trap/focus-trap.vue.d.ts +32 -0
- package/es/components/focus-trap/index.d.ts +5 -0
- package/es/components/focus-trap/tokens.d.ts +13 -0
- package/es/components/focus-trap/utils.d.ts +29 -0
- package/es/components/index.d.ts +7 -0
- package/es/components/menu/index.d.ts +504 -0
- package/es/components/menu/menu-collapse-transition.vue.d.ts +5 -0
- package/es/components/menu/menu-item-group.vue.d.ts +13 -0
- package/es/components/menu/menu-item.vue.d.ts +81 -0
- package/es/components/menu/menu.vue.d.ts +109 -0
- package/es/components/menu/style/css.d.ts +0 -0
- package/es/components/menu/style/index.d.ts +0 -0
- package/es/components/menu/sub-menu.vue.d.ts +112 -0
- package/es/components/menu/types.d.ts +59 -0
- package/es/components/menu/use-menu-css-var.d.ts +1 -0
- package/es/components/menu/use-menu.d.ts +14 -0
- package/es/components/menu/utils/menu-bar.d.ts +7 -0
- package/es/components/menu/utils/menu-item.d.ts +9 -0
- package/es/components/menu/utils/submenu.d.ts +12 -0
- package/es/components/menu-item/style/css.d.ts +0 -0
- package/es/components/menu-item/style/index.d.ts +0 -0
- package/es/components/menu-item-group/style/css.d.ts +0 -0
- package/es/components/menu-item-group/style/index.d.ts +0 -0
- package/es/components/multiple-tabs/index.d.ts +30 -0
- package/es/components/multiple-tabs/multiple-tabs.vue.d.ts +29 -0
- package/es/components/multiple-tabs/style/css.d.ts +0 -0
- package/es/components/multiple-tabs/style/index.d.ts +0 -0
- package/es/components/multiple-tabs/tab-content.vue.d.ts +32 -0
- package/es/components/multiple-tabs/types.d.ts +3 -0
- package/es/components/multiple-tabs/use/index.d.ts +2 -0
- package/es/components/multiple-tabs/use/use-multiple-tabs.d.ts +9 -0
- package/es/components/multiple-tabs/use/use-tab-dropdown.d.ts +6 -0
- package/es/components/popover/directive.d.ts +4 -0
- package/es/components/popover/index.d.ts +181 -0
- package/es/components/popover/popover.vue.d.ts +187 -0
- package/es/components/popover/style/css.d.ts +0 -0
- package/es/components/popover/style/index.d.ts +0 -0
- package/es/components/popper/arrow.vue.d.ts +18 -0
- package/es/components/popper/composables/index.d.ts +3 -0
- package/es/components/popper/composables/use-content-dom.d.ts +16 -0
- package/es/components/popper/composables/use-content.d.ts +77 -0
- package/es/components/popper/composables/use-focus-trap.d.ts +11 -0
- package/es/components/popper/constants.d.ts +24 -0
- package/es/components/popper/content.vue.d.ts +222 -0
- package/es/components/popper/index.d.ts +18 -0
- package/es/components/popper/popper.vue.d.ts +13 -0
- package/es/components/popper/style/css.d.ts +0 -0
- package/es/components/popper/style/index.d.ts +0 -0
- package/es/components/popper/trigger.vue.d.ts +99 -0
- package/es/components/popper/types.d.ts +45 -0
- package/es/components/popper/utils.d.ts +49 -0
- package/es/components/slot/index.d.ts +2 -0
- package/es/components/slot/only-child.d.ts +7 -0
- package/es/components/sub-menu/style/css.d.ts +0 -0
- package/es/components/sub-menu/style/index.d.ts +0 -0
- package/es/components/tooltip/constants.d.ts +18 -0
- package/es/components/tooltip/content.vue.d.ts +268 -0
- package/es/components/tooltip/index.d.ts +396 -0
- package/es/components/tooltip/style/css.d.ts +0 -0
- package/es/components/tooltip/style/index.d.ts +0 -0
- package/es/components/tooltip/tooltip.vue.d.ts +470 -0
- package/es/components/tooltip/trigger.vue.d.ts +54 -0
- package/es/components/tooltip/types.d.ts +53 -0
- package/es/components/tooltip/utils.d.ts +11 -0
- package/es/hooks/index.d.ts +8 -0
- package/es/hooks/use-delayed-toggle/index.d.ts +10 -0
- package/es/hooks/use-forward-ref/index.d.ts +9 -0
- package/es/hooks/use-id/index.d.ts +9 -0
- package/es/hooks/use-model-toggle/index.d.ts +25 -0
- package/es/hooks/use-namespace/index.d.ts +5 -2
- package/es/hooks/use-popper/index.d.ts +78 -0
- package/es/hooks/use-popper-container/index.d.ts +5 -0
- package/es/hooks/use-timeout/index.d.ts +4 -0
- package/es/hooks/use-z-index/index.d.ts +7 -0
- package/es/index.mjs +104 -47
- package/es/index.mjs.map +1 -1
- package/es/make-installer.mjs +1 -1
- package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs +297 -0
- package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs.map +1 -0
- package/es/package.json.mjs +1 -1
- package/es/packages/components/avatar/avatar.vue2.mjs +56 -0
- package/es/packages/components/avatar/avatar.vue2.mjs.map +1 -0
- package/es/packages/components/avatar/index.mjs.map +1 -0
- package/es/packages/components/back-top/back-top.vue2.mjs +75 -0
- package/es/packages/components/back-top/back-top.vue2.mjs.map +1 -0
- package/es/packages/components/back-top/index.mjs.map +1 -0
- package/es/packages/components/back-top/use-back-top.mjs.map +1 -0
- package/es/packages/components/collapse-transition/index.mjs +10 -0
- package/es/packages/components/collapse-transition/index.mjs.map +1 -0
- package/es/packages/components/collapse-transition/src/collapse-transition.vue.mjs +5 -0
- package/es/packages/components/collapse-transition/src/collapse-transition.vue.mjs.map +1 -0
- package/es/packages/components/collapse-transition/src/collapse-transition.vue2.mjs +47 -0
- package/es/packages/components/collapse-transition/src/collapse-transition.vue2.mjs.map +1 -0
- package/es/packages/components/collapse-transition/style/css.mjs +3 -0
- package/es/packages/components/collapse-transition/style/index.mjs +3 -0
- package/es/packages/components/context-menu/context-menu.vue.mjs +5 -0
- package/es/packages/components/context-menu/context-menu.vue.mjs.map +1 -0
- package/es/packages/components/context-menu/context-menu.vue2.mjs +93 -0
- package/es/packages/components/context-menu/context-menu.vue2.mjs.map +1 -0
- package/es/packages/components/context-menu/createContextMenu.mjs +41 -0
- package/es/packages/components/context-menu/createContextMenu.mjs.map +1 -0
- package/es/packages/components/context-menu/index.mjs +8 -0
- package/es/packages/components/context-menu/style/css.mjs +3 -0
- package/es/packages/components/context-menu/style/index.mjs +3 -0
- package/es/packages/components/context-menu/useContextMenu.mjs +11 -0
- package/es/packages/components/context-menu/useContextMenu.mjs.map +1 -0
- package/es/packages/components/divider/divider.vue2.mjs +50 -0
- package/es/packages/components/divider/divider.vue2.mjs.map +1 -0
- package/es/packages/components/divider/index.mjs.map +1 -0
- package/es/packages/components/empty/assets/no-collect.png.mjs.map +1 -0
- package/es/packages/components/empty/assets/no-data.png.mjs.map +1 -0
- package/es/packages/components/empty/assets/no-filter.png.mjs.map +1 -0
- package/es/packages/components/empty/assets/no-page-data.png.mjs.map +1 -0
- package/es/packages/components/empty/assets/no-search.png.mjs.map +1 -0
- package/es/packages/components/empty/constants.mjs.map +1 -0
- package/es/packages/components/empty/empty.vue2.mjs +102 -0
- package/es/packages/components/empty/empty.vue2.mjs.map +1 -0
- package/es/packages/components/empty/index.mjs.map +1 -0
- package/es/packages/components/exception/exception.png.mjs.map +1 -0
- package/es/packages/components/exception/exception.vue2.mjs.map +1 -0
- package/es/packages/components/exception/index.mjs.map +1 -0
- package/es/packages/components/focus-trap/focus-trap.vue.mjs +11 -0
- package/es/packages/components/focus-trap/focus-trap.vue.mjs.map +1 -0
- package/es/packages/components/focus-trap/focus-trap.vue2.mjs +160 -0
- package/es/packages/components/focus-trap/focus-trap.vue2.mjs.map +1 -0
- package/es/packages/components/focus-trap/index.mjs +26 -0
- package/es/packages/components/focus-trap/index.mjs.map +1 -0
- package/es/packages/components/focus-trap/tokens.mjs +18 -0
- package/es/packages/components/focus-trap/tokens.mjs.map +1 -0
- package/es/packages/components/focus-trap/utils.mjs +90 -0
- package/es/packages/components/focus-trap/utils.mjs.map +1 -0
- package/es/packages/components/icon/icon.vue2.mjs +42 -0
- package/es/packages/components/icon/icon.vue2.mjs.map +1 -0
- package/es/packages/components/icon/index.mjs.map +1 -0
- package/es/packages/components/index.mjs +53 -0
- package/es/packages/components/index.mjs.map +1 -0
- package/es/packages/components/menu/index.mjs +21 -0
- package/es/packages/components/menu/index.mjs.map +1 -0
- package/es/packages/components/menu/menu-collapse-transition.vue.mjs +16 -0
- package/es/packages/components/menu/menu-collapse-transition.vue.mjs.map +1 -0
- package/es/packages/components/menu/menu-collapse-transition.vue2.mjs +34 -0
- package/es/packages/components/menu/menu-collapse-transition.vue2.mjs.map +1 -0
- package/es/packages/components/menu/menu-item-group.vue.mjs +5 -0
- package/es/packages/components/menu/menu-item-group.vue.mjs.map +1 -0
- package/es/packages/components/menu/menu-item-group.vue2.mjs +39 -0
- package/es/packages/components/menu/menu-item-group.vue2.mjs.map +1 -0
- package/es/packages/components/menu/menu-item.vue.mjs +5 -0
- package/es/packages/components/menu/menu-item.vue.mjs.map +1 -0
- package/es/packages/components/menu/menu-item.vue2.mjs +117 -0
- package/es/packages/components/menu/menu-item.vue2.mjs.map +1 -0
- package/es/packages/components/menu/menu.vue.mjs +5 -0
- package/es/packages/components/menu/menu.vue.mjs.map +1 -0
- package/es/packages/components/menu/menu.vue2.mjs +207 -0
- package/es/packages/components/menu/menu.vue2.mjs.map +1 -0
- package/es/packages/components/menu/style/css.mjs +3 -0
- package/es/packages/components/menu/style/css.mjs.map +1 -0
- package/es/packages/components/menu/style/index.mjs +3 -0
- package/es/packages/components/menu/style/index.mjs.map +1 -0
- package/es/packages/components/menu/sub-menu.vue.mjs +5 -0
- package/es/packages/components/menu/sub-menu.vue.mjs.map +1 -0
- package/es/packages/components/menu/sub-menu.vue2.mjs +234 -0
- package/es/packages/components/menu/sub-menu.vue2.mjs.map +1 -0
- package/es/packages/components/menu/types.mjs +2 -0
- package/es/packages/components/menu/types.mjs.map +1 -0
- package/es/packages/components/menu/use-menu-css-var.mjs +18 -0
- package/es/packages/components/menu/use-menu-css-var.mjs.map +1 -0
- package/es/packages/components/menu/use-menu.mjs +23 -0
- package/es/packages/components/menu/use-menu.mjs.map +1 -0
- package/es/packages/components/menu/utils/menu-bar.mjs +16 -0
- package/es/packages/components/menu/utils/menu-bar.mjs.map +1 -0
- package/es/packages/components/menu/utils/menu-item.mjs +42 -0
- package/es/packages/components/menu/utils/menu-item.mjs.map +1 -0
- package/es/packages/components/menu/utils/submenu.mjs +45 -0
- package/es/packages/components/menu/utils/submenu.mjs.map +1 -0
- package/es/packages/components/menu-item/style/css.mjs +3 -0
- package/es/packages/components/menu-item/style/css.mjs.map +1 -0
- package/es/packages/components/menu-item/style/index.mjs +3 -0
- package/es/packages/components/menu-item-group/style/css.mjs +3 -0
- package/es/packages/components/menu-item-group/style/index.mjs +3 -0
- package/es/packages/components/multiple-tabs/index.mjs +16 -0
- package/es/packages/components/multiple-tabs/index.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/multiple-tabs.vue.mjs +5 -0
- package/es/packages/components/multiple-tabs/multiple-tabs.vue.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/multiple-tabs.vue2.mjs +152 -0
- package/es/packages/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/style/css.mjs +3 -0
- package/es/packages/components/multiple-tabs/style/css.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/style/index.mjs +3 -0
- package/es/packages/components/multiple-tabs/style/index.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/tab-content.vue.mjs +5 -0
- package/es/packages/components/multiple-tabs/tab-content.vue.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/tab-content.vue2.mjs +49 -0
- package/es/packages/components/multiple-tabs/tab-content.vue2.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/types.mjs +2 -0
- package/es/packages/components/multiple-tabs/types.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/use/index.mjs +8 -0
- package/es/packages/components/multiple-tabs/use/index.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/use/use-multiple-tabs.mjs +54 -0
- package/es/packages/components/multiple-tabs/use/use-multiple-tabs.mjs.map +1 -0
- package/es/packages/components/multiple-tabs/use/use-tab-dropdown.mjs +71 -0
- package/es/packages/components/multiple-tabs/use/use-tab-dropdown.mjs.map +1 -0
- package/es/packages/components/popover/directive.mjs +16 -0
- package/es/packages/components/popover/directive.mjs.map +1 -0
- package/es/packages/components/popover/index.mjs +11 -0
- package/es/packages/components/popover/index.mjs.map +1 -0
- package/es/packages/components/popover/popover.vue.mjs +5 -0
- package/es/packages/components/popover/popover.vue.mjs.map +1 -0
- package/es/packages/components/popover/popover.vue2.mjs +117 -0
- package/es/packages/components/popover/popover.vue2.mjs.map +1 -0
- package/es/packages/components/popover/style/css.mjs +4 -0
- package/es/packages/components/popover/style/css.mjs.map +1 -0
- package/es/packages/components/popover/style/index.mjs +4 -0
- package/es/packages/components/popover/style/index.mjs.map +1 -0
- package/es/packages/components/popover/types.mjs +2 -0
- package/es/packages/components/popover/types.mjs.map +1 -0
- package/es/packages/components/popper/arrow.vue.mjs +5 -0
- package/es/packages/components/popper/arrow.vue.mjs.map +1 -0
- package/es/packages/components/popper/arrow.vue2.mjs +47 -0
- package/es/packages/components/popper/arrow.vue2.mjs.map +1 -0
- package/es/packages/components/popper/composables/index.mjs +9 -0
- package/es/packages/components/popper/composables/index.mjs.map +1 -0
- package/es/packages/components/popper/composables/use-content-dom.mjs +43 -0
- package/es/packages/components/popper/composables/use-content-dom.mjs.map +1 -0
- package/es/packages/components/popper/composables/use-content.mjs +64 -0
- package/es/packages/components/popper/composables/use-content.mjs.map +1 -0
- package/es/packages/components/popper/composables/use-focus-trap.mjs +28 -0
- package/es/packages/components/popper/composables/use-focus-trap.mjs.map +1 -0
- package/es/packages/components/popper/constants.mjs +6 -0
- package/es/packages/components/popper/constants.mjs.map +1 -0
- package/es/packages/components/popper/content.vue.mjs +5 -0
- package/es/packages/components/popper/content.vue.mjs.map +1 -0
- package/es/packages/components/popper/content.vue2.mjs +144 -0
- package/es/packages/components/popper/content.vue2.mjs.map +1 -0
- package/es/packages/components/popper/index.mjs +17 -0
- package/es/packages/components/popper/index.mjs.map +1 -0
- package/es/packages/components/popper/popper.vue.mjs +5 -0
- package/es/packages/components/popper/popper.vue.mjs.map +1 -0
- package/es/packages/components/popper/popper.vue2.mjs +40 -0
- package/es/packages/components/popper/popper.vue2.mjs.map +1 -0
- package/es/packages/components/popper/style/css.mjs +3 -0
- package/es/packages/components/popper/style/css.mjs.map +1 -0
- package/es/packages/components/popper/style/index.mjs +3 -0
- package/es/packages/components/popper/style/index.mjs.map +1 -0
- package/es/packages/components/popper/trigger.vue.mjs +5 -0
- package/es/packages/components/popper/trigger.vue.mjs.map +1 -0
- package/es/packages/components/popper/trigger.vue2.mjs +118 -0
- package/es/packages/components/popper/trigger.vue2.mjs.map +1 -0
- package/es/packages/components/popper/types.mjs +2 -0
- package/es/packages/components/popper/types.mjs.map +1 -0
- package/es/packages/components/popper/utils.mjs +56 -0
- package/es/packages/components/popper/utils.mjs.map +1 -0
- package/es/packages/components/result/index.mjs.map +1 -0
- package/es/packages/components/result/result.vue2.mjs +69 -0
- package/es/packages/components/result/result.vue2.mjs.map +1 -0
- package/es/packages/components/result/style/css.mjs.map +1 -0
- package/es/packages/components/result/style/index.mjs.map +1 -0
- package/es/packages/components/slot/index.mjs +6 -0
- package/es/packages/components/slot/index.mjs.map +1 -0
- package/es/packages/components/slot/only-child.mjs +60 -0
- package/es/packages/components/slot/only-child.mjs.map +1 -0
- package/es/packages/components/sub-menu/style/css.mjs +3 -0
- package/es/packages/components/sub-menu/style/css.mjs.map +1 -0
- package/es/packages/components/sub-menu/style/index.mjs +3 -0
- package/es/packages/components/sub-menu/style/index.mjs.map +1 -0
- package/es/packages/components/tab-pane/style/css.mjs.map +1 -0
- package/es/packages/components/tab-pane/style/index.mjs.map +1 -0
- package/es/packages/components/tabs/index.mjs.map +1 -0
- package/es/packages/components/tabs/style/css.mjs.map +1 -0
- package/es/packages/components/tabs/style/index.mjs.map +1 -0
- package/es/packages/components/tabs/tab-bar.vue2.mjs +56 -0
- package/es/packages/components/tabs/tab-bar.vue2.mjs.map +1 -0
- package/es/packages/components/tabs/tab-nav.vue2.mjs +185 -0
- package/es/packages/components/tabs/tab-nav.vue2.mjs.map +1 -0
- package/es/packages/components/tabs/tab-pane.vue2.mjs +63 -0
- package/es/packages/components/tabs/tab-pane.vue2.mjs.map +1 -0
- package/es/packages/components/tabs/tabs.vue2.mjs +156 -0
- package/es/packages/components/tabs/tabs.vue2.mjs.map +1 -0
- package/es/packages/components/tabs/types.mjs.map +1 -0
- package/es/packages/components/tooltip/constants.mjs +5 -0
- package/es/packages/components/tooltip/constants.mjs.map +1 -0
- package/es/packages/components/tooltip/content.vue.mjs +5 -0
- package/es/packages/components/tooltip/content.vue.mjs.map +1 -0
- package/es/packages/components/tooltip/content.vue2.mjs +175 -0
- package/es/packages/components/tooltip/content.vue2.mjs.map +1 -0
- package/es/packages/components/tooltip/index.mjs +11 -0
- package/es/packages/components/tooltip/index.mjs.map +1 -0
- package/es/packages/components/tooltip/style/css.mjs +4 -0
- package/es/packages/components/tooltip/style/css.mjs.map +1 -0
- package/es/packages/components/tooltip/style/index.mjs +4 -0
- package/es/packages/components/tooltip/style/index.mjs.map +1 -0
- package/es/packages/components/tooltip/tooltip.vue.mjs +5 -0
- package/es/packages/components/tooltip/tooltip.vue.mjs.map +1 -0
- package/es/packages/components/tooltip/tooltip.vue2.mjs +224 -0
- package/es/packages/components/tooltip/tooltip.vue2.mjs.map +1 -0
- package/es/packages/components/tooltip/trigger.vue.mjs +5 -0
- package/es/packages/components/tooltip/trigger.vue.mjs.map +1 -0
- package/es/packages/components/tooltip/trigger.vue2.mjs +91 -0
- package/es/packages/components/tooltip/trigger.vue2.mjs.map +1 -0
- package/es/packages/components/tooltip/types.mjs +2 -0
- package/es/packages/components/tooltip/types.mjs.map +1 -0
- package/es/packages/components/tooltip/utils.mjs +19 -0
- package/es/packages/components/tooltip/utils.mjs.map +1 -0
- package/es/packages/components/types.mjs +2 -0
- package/es/packages/components/types.mjs.map +1 -0
- package/es/packages/constants/aria.mjs.map +1 -0
- package/es/packages/constants/date.mjs.map +1 -0
- package/es/packages/constants/event.mjs.map +1 -0
- package/es/packages/constants/key.mjs.map +1 -0
- package/es/packages/constants/size.mjs.map +1 -0
- package/es/packages/hooks/index.mjs +35 -0
- package/es/packages/hooks/index.mjs.map +1 -0
- package/es/packages/hooks/use-delayed-toggle/index.mjs +21 -0
- package/es/packages/hooks/use-delayed-toggle/index.mjs.map +1 -0
- package/es/packages/hooks/use-forward-ref/index.mjs +24 -0
- package/es/packages/hooks/use-forward-ref/index.mjs.map +1 -0
- package/es/packages/hooks/use-id/index.mjs +29 -0
- package/es/packages/hooks/use-id/index.mjs.map +1 -0
- package/es/packages/hooks/use-model-toggle/index.mjs +62 -0
- package/es/packages/hooks/use-model-toggle/index.mjs.map +1 -0
- package/es/packages/hooks/use-namespace/index.mjs +47 -0
- package/es/packages/hooks/use-namespace/index.mjs.map +1 -0
- package/es/packages/hooks/use-ordered-children/index.mjs.map +1 -0
- package/es/packages/hooks/use-popper/index.mjs +98 -0
- package/es/packages/hooks/use-popper/index.mjs.map +1 -0
- package/es/packages/hooks/use-popper-container/index.mjs +27 -0
- package/es/packages/hooks/use-popper-container/index.mjs.map +1 -0
- package/es/packages/hooks/use-timeout/index.mjs +15 -0
- package/es/packages/hooks/use-timeout/index.mjs.map +1 -0
- package/es/packages/hooks/use-z-index/index.mjs +18 -0
- package/es/packages/hooks/use-z-index/index.mjs.map +1 -0
- package/es/packages/theme-style/src/collapse-transition.scss.mjs +5 -0
- package/es/packages/theme-style/src/collapse-transition.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/menu-item-group.scss.mjs +5 -0
- package/es/packages/theme-style/src/menu-item-group.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/menu-item.scss.mjs +5 -0
- package/es/packages/theme-style/src/menu-item.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/menu.scss.mjs +5 -0
- package/es/packages/theme-style/src/menu.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/multiple-tabs.scss.mjs +5 -0
- package/es/packages/theme-style/src/multiple-tabs.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/popover.scss.mjs +5 -0
- package/es/packages/theme-style/src/popover.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/popper.scss.mjs +5 -0
- package/es/packages/theme-style/src/popper.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/sub-menu.scss.mjs +5 -0
- package/es/packages/theme-style/src/sub-menu.scss.mjs.map +1 -0
- package/es/packages/theme-style/src/tooltip.scss.mjs +5 -0
- package/es/packages/theme-style/src/tooltip.scss.mjs.map +1 -0
- package/es/packages/utils/error.mjs.map +1 -0
- package/es/packages/utils/event.mjs +10 -0
- package/es/packages/utils/event.mjs.map +1 -0
- package/es/packages/utils/helper.mjs.map +1 -0
- package/es/packages/utils/index.mjs +31 -0
- package/es/packages/utils/index.mjs.map +1 -0
- package/es/packages/utils/typescript.mjs +5 -0
- package/es/packages/utils/typescript.mjs.map +1 -0
- package/es/packages/utils/vue/index.mjs.map +1 -0
- package/es/packages/utils/vue/install.mjs.map +1 -0
- package/es/packages/utils/vue/vnode.mjs.map +1 -0
- package/es/style.css +1 -1
- package/es/utils/event.d.ts +6 -0
- package/es/utils/index.d.ts +2 -0
- package/es/utils/typescript.d.ts +12 -0
- package/lib/_virtual/_plugin-vue_export-helper.js +2 -0
- package/lib/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/lib/component.js +1 -1
- package/lib/component.js.map +1 -1
- package/lib/components/collapse-transition/index.d.ts +4 -0
- package/lib/components/collapse-transition/src/collapse-transition.vue.d.ts +2 -0
- package/lib/components/collapse-transition/style/css.d.ts +0 -0
- package/lib/components/collapse-transition/style/index.d.ts +0 -0
- package/lib/components/context-menu/context-menu.vue.d.ts +39 -0
- package/lib/components/context-menu/createContextMenu.d.ts +3 -0
- package/lib/components/context-menu/index.d.ts +3 -0
- package/lib/components/context-menu/style/css.d.ts +0 -0
- package/lib/components/context-menu/style/index.d.ts +0 -0
- package/lib/components/context-menu/types.d.ts +23 -0
- package/lib/components/context-menu/useContextMenu.d.ts +3 -0
- package/lib/components/focus-trap/focus-trap.vue.d.ts +32 -0
- package/lib/components/focus-trap/index.d.ts +5 -0
- package/lib/components/focus-trap/tokens.d.ts +13 -0
- package/lib/components/focus-trap/utils.d.ts +29 -0
- package/lib/components/index.d.ts +7 -0
- package/lib/components/menu/index.d.ts +504 -0
- package/lib/components/menu/menu-collapse-transition.vue.d.ts +5 -0
- package/lib/components/menu/menu-item-group.vue.d.ts +13 -0
- package/lib/components/menu/menu-item.vue.d.ts +81 -0
- package/lib/components/menu/menu.vue.d.ts +109 -0
- package/lib/components/menu/style/css.d.ts +0 -0
- package/lib/components/menu/style/index.d.ts +0 -0
- package/lib/components/menu/sub-menu.vue.d.ts +112 -0
- package/lib/components/menu/types.d.ts +59 -0
- package/lib/components/menu/use-menu-css-var.d.ts +1 -0
- package/lib/components/menu/use-menu.d.ts +14 -0
- package/lib/components/menu/utils/menu-bar.d.ts +7 -0
- package/lib/components/menu/utils/menu-item.d.ts +9 -0
- package/lib/components/menu/utils/submenu.d.ts +12 -0
- package/lib/components/menu-item/style/css.d.ts +0 -0
- package/lib/components/menu-item/style/index.d.ts +0 -0
- package/lib/components/menu-item-group/style/css.d.ts +0 -0
- package/lib/components/menu-item-group/style/index.d.ts +0 -0
- package/lib/components/multiple-tabs/index.d.ts +30 -0
- package/lib/components/multiple-tabs/multiple-tabs.vue.d.ts +29 -0
- package/lib/components/multiple-tabs/style/css.d.ts +0 -0
- package/lib/components/multiple-tabs/style/index.d.ts +0 -0
- package/lib/components/multiple-tabs/tab-content.vue.d.ts +32 -0
- package/lib/components/multiple-tabs/types.d.ts +3 -0
- package/lib/components/multiple-tabs/use/index.d.ts +2 -0
- package/lib/components/multiple-tabs/use/use-multiple-tabs.d.ts +9 -0
- package/lib/components/multiple-tabs/use/use-tab-dropdown.d.ts +6 -0
- package/lib/components/popover/directive.d.ts +4 -0
- package/lib/components/popover/index.d.ts +181 -0
- package/lib/components/popover/popover.vue.d.ts +187 -0
- package/lib/components/popover/style/css.d.ts +0 -0
- package/lib/components/popover/style/index.d.ts +0 -0
- package/lib/components/popper/arrow.vue.d.ts +18 -0
- package/lib/components/popper/composables/index.d.ts +3 -0
- package/lib/components/popper/composables/use-content-dom.d.ts +16 -0
- package/lib/components/popper/composables/use-content.d.ts +77 -0
- package/lib/components/popper/composables/use-focus-trap.d.ts +11 -0
- package/lib/components/popper/constants.d.ts +24 -0
- package/lib/components/popper/content.vue.d.ts +222 -0
- package/lib/components/popper/index.d.ts +18 -0
- package/lib/components/popper/popper.vue.d.ts +13 -0
- package/lib/components/popper/style/css.d.ts +0 -0
- package/lib/components/popper/style/index.d.ts +0 -0
- package/lib/components/popper/trigger.vue.d.ts +99 -0
- package/lib/components/popper/types.d.ts +45 -0
- package/lib/components/popper/utils.d.ts +49 -0
- package/lib/components/slot/index.d.ts +2 -0
- package/lib/components/slot/only-child.d.ts +7 -0
- package/lib/components/sub-menu/style/css.d.ts +0 -0
- package/lib/components/sub-menu/style/index.d.ts +0 -0
- package/lib/components/tooltip/constants.d.ts +18 -0
- package/lib/components/tooltip/content.vue.d.ts +268 -0
- package/lib/components/tooltip/index.d.ts +396 -0
- package/lib/components/tooltip/style/css.d.ts +0 -0
- package/lib/components/tooltip/style/index.d.ts +0 -0
- package/lib/components/tooltip/tooltip.vue.d.ts +470 -0
- package/lib/components/tooltip/trigger.vue.d.ts +54 -0
- package/lib/components/tooltip/types.d.ts +53 -0
- package/lib/components/tooltip/utils.d.ts +11 -0
- package/lib/hooks/index.d.ts +8 -0
- package/lib/hooks/use-delayed-toggle/index.d.ts +10 -0
- package/lib/hooks/use-forward-ref/index.d.ts +9 -0
- package/lib/hooks/use-id/index.d.ts +9 -0
- package/lib/hooks/use-model-toggle/index.d.ts +25 -0
- package/lib/hooks/use-namespace/index.d.ts +5 -2
- package/lib/hooks/use-popper/index.d.ts +78 -0
- package/lib/hooks/use-popper-container/index.d.ts +5 -0
- package/lib/hooks/use-timeout/index.d.ts +4 -0
- package/lib/hooks/use-z-index/index.d.ts +7 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/make-installer.js +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js +2 -0
- package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js.map +1 -0
- package/lib/package.json.js +1 -1
- package/lib/packages/components/avatar/avatar.vue2.js +2 -0
- package/lib/packages/components/avatar/avatar.vue2.js.map +1 -0
- package/lib/packages/components/avatar/index.js.map +1 -0
- package/lib/packages/components/back-top/back-top.vue2.js +2 -0
- package/lib/packages/components/back-top/back-top.vue2.js.map +1 -0
- package/lib/packages/components/back-top/index.js.map +1 -0
- package/lib/packages/components/back-top/use-back-top.js.map +1 -0
- package/lib/packages/components/collapse-transition/index.js +2 -0
- package/lib/packages/components/collapse-transition/index.js.map +1 -0
- package/lib/packages/components/collapse-transition/src/collapse-transition.vue.js +2 -0
- package/lib/packages/components/collapse-transition/src/collapse-transition.vue.js.map +1 -0
- package/lib/packages/components/collapse-transition/src/collapse-transition.vue2.js +2 -0
- package/lib/packages/components/collapse-transition/src/collapse-transition.vue2.js.map +1 -0
- package/lib/packages/components/collapse-transition/style/css.js +2 -0
- package/lib/packages/components/collapse-transition/style/index.js +2 -0
- package/lib/packages/components/context-menu/context-menu.vue.js +2 -0
- package/lib/packages/components/context-menu/context-menu.vue.js.map +1 -0
- package/lib/packages/components/context-menu/context-menu.vue2.js +2 -0
- package/lib/packages/components/context-menu/context-menu.vue2.js.map +1 -0
- package/lib/packages/components/context-menu/createContextMenu.js +2 -0
- package/lib/packages/components/context-menu/createContextMenu.js.map +1 -0
- package/lib/packages/components/context-menu/index.js +2 -0
- package/lib/packages/components/context-menu/style/css.js +2 -0
- package/lib/packages/components/context-menu/style/index.js +2 -0
- package/lib/packages/components/context-menu/useContextMenu.js +2 -0
- package/lib/packages/components/context-menu/useContextMenu.js.map +1 -0
- package/lib/packages/components/divider/divider.vue2.js +2 -0
- package/lib/packages/components/divider/divider.vue2.js.map +1 -0
- package/lib/packages/components/divider/index.js.map +1 -0
- package/lib/packages/components/empty/assets/no-collect.png.js.map +1 -0
- package/lib/packages/components/empty/assets/no-data.png.js.map +1 -0
- package/lib/packages/components/empty/assets/no-filter.png.js.map +1 -0
- package/lib/packages/components/empty/assets/no-page-data.png.js.map +1 -0
- package/lib/packages/components/empty/assets/no-search.png.js.map +1 -0
- package/lib/packages/components/empty/constants.js.map +1 -0
- package/lib/packages/components/empty/empty.vue2.js +2 -0
- package/lib/packages/components/empty/empty.vue2.js.map +1 -0
- package/lib/packages/components/empty/index.js.map +1 -0
- package/lib/packages/components/exception/exception.png.js.map +1 -0
- package/lib/packages/components/exception/exception.vue2.js.map +1 -0
- package/lib/packages/components/exception/index.js.map +1 -0
- package/lib/packages/components/focus-trap/focus-trap.vue.js +2 -0
- package/lib/packages/components/focus-trap/focus-trap.vue.js.map +1 -0
- package/lib/packages/components/focus-trap/focus-trap.vue2.js +2 -0
- package/lib/packages/components/focus-trap/focus-trap.vue2.js.map +1 -0
- package/lib/packages/components/focus-trap/index.js +2 -0
- package/lib/packages/components/focus-trap/tokens.js +2 -0
- package/lib/packages/components/focus-trap/tokens.js.map +1 -0
- package/lib/packages/components/focus-trap/utils.js +2 -0
- package/lib/packages/components/focus-trap/utils.js.map +1 -0
- package/lib/packages/components/icon/icon.vue2.js +2 -0
- package/lib/packages/components/icon/icon.vue2.js.map +1 -0
- package/lib/packages/components/icon/index.js.map +1 -0
- package/lib/packages/components/index.js +2 -0
- package/lib/packages/components/menu/index.js +2 -0
- package/lib/packages/components/menu/index.js.map +1 -0
- package/lib/packages/components/menu/menu-collapse-transition.vue.js +2 -0
- package/lib/packages/components/menu/menu-collapse-transition.vue.js.map +1 -0
- package/lib/packages/components/menu/menu-collapse-transition.vue2.js +2 -0
- package/lib/packages/components/menu/menu-collapse-transition.vue2.js.map +1 -0
- package/lib/packages/components/menu/menu-item-group.vue.js +2 -0
- package/lib/packages/components/menu/menu-item-group.vue.js.map +1 -0
- package/lib/packages/components/menu/menu-item-group.vue2.js +2 -0
- package/lib/packages/components/menu/menu-item-group.vue2.js.map +1 -0
- package/lib/packages/components/menu/menu-item.vue.js +2 -0
- package/lib/packages/components/menu/menu-item.vue.js.map +1 -0
- package/lib/packages/components/menu/menu-item.vue2.js +2 -0
- package/lib/packages/components/menu/menu-item.vue2.js.map +1 -0
- package/lib/packages/components/menu/menu.vue.js +2 -0
- package/lib/packages/components/menu/menu.vue.js.map +1 -0
- package/lib/packages/components/menu/menu.vue2.js +2 -0
- package/lib/packages/components/menu/menu.vue2.js.map +1 -0
- package/lib/packages/components/menu/style/css.js +2 -0
- package/lib/packages/components/menu/style/css.js.map +1 -0
- package/lib/packages/components/menu/style/index.js +2 -0
- package/lib/packages/components/menu/sub-menu.vue.js +2 -0
- package/lib/packages/components/menu/sub-menu.vue.js.map +1 -0
- package/lib/packages/components/menu/sub-menu.vue2.js +2 -0
- package/lib/packages/components/menu/sub-menu.vue2.js.map +1 -0
- package/lib/packages/components/menu/types.js +2 -0
- package/lib/packages/components/menu/types.js.map +1 -0
- package/lib/packages/components/menu/use-menu-css-var.js +2 -0
- package/lib/packages/components/menu/use-menu-css-var.js.map +1 -0
- package/lib/packages/components/menu/use-menu.js +2 -0
- package/lib/packages/components/menu/use-menu.js.map +1 -0
- package/lib/packages/components/menu/utils/menu-bar.js +2 -0
- package/lib/packages/components/menu/utils/menu-bar.js.map +1 -0
- package/lib/packages/components/menu/utils/menu-item.js +2 -0
- package/lib/packages/components/menu/utils/menu-item.js.map +1 -0
- package/lib/packages/components/menu/utils/submenu.js +2 -0
- package/lib/packages/components/menu/utils/submenu.js.map +1 -0
- package/lib/packages/components/menu-item/style/css.js +2 -0
- package/lib/packages/components/menu-item/style/css.js.map +1 -0
- package/lib/packages/components/menu-item/style/index.js +2 -0
- package/lib/packages/components/menu-item-group/style/css.js +2 -0
- package/lib/packages/components/menu-item-group/style/index.js +2 -0
- package/lib/packages/components/multiple-tabs/index.js +2 -0
- package/lib/packages/components/multiple-tabs/index.js.map +1 -0
- package/lib/packages/components/multiple-tabs/multiple-tabs.vue.js +2 -0
- package/lib/packages/components/multiple-tabs/multiple-tabs.vue.js.map +1 -0
- package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js +2 -0
- package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -0
- package/lib/packages/components/multiple-tabs/style/css.js +2 -0
- package/lib/packages/components/multiple-tabs/style/css.js.map +1 -0
- package/lib/packages/components/multiple-tabs/style/index.js +2 -0
- package/lib/packages/components/multiple-tabs/style/index.js.map +1 -0
- package/lib/packages/components/multiple-tabs/tab-content.vue.js +2 -0
- package/lib/packages/components/multiple-tabs/tab-content.vue.js.map +1 -0
- package/lib/packages/components/multiple-tabs/tab-content.vue2.js +2 -0
- package/lib/packages/components/multiple-tabs/tab-content.vue2.js.map +1 -0
- package/lib/packages/components/multiple-tabs/types.js +2 -0
- package/lib/packages/components/multiple-tabs/types.js.map +1 -0
- package/lib/packages/components/multiple-tabs/use/index.js +2 -0
- package/lib/packages/components/multiple-tabs/use/index.js.map +1 -0
- package/lib/packages/components/multiple-tabs/use/use-multiple-tabs.js +2 -0
- package/lib/packages/components/multiple-tabs/use/use-multiple-tabs.js.map +1 -0
- package/lib/packages/components/multiple-tabs/use/use-tab-dropdown.js +2 -0
- package/lib/packages/components/multiple-tabs/use/use-tab-dropdown.js.map +1 -0
- package/lib/packages/components/popover/directive.js +2 -0
- package/lib/packages/components/popover/directive.js.map +1 -0
- package/lib/packages/components/popover/index.js +2 -0
- package/lib/packages/components/popover/index.js.map +1 -0
- package/lib/packages/components/popover/popover.vue.js +2 -0
- package/lib/packages/components/popover/popover.vue.js.map +1 -0
- package/lib/packages/components/popover/popover.vue2.js +2 -0
- package/lib/packages/components/popover/popover.vue2.js.map +1 -0
- package/lib/packages/components/popover/style/css.js +2 -0
- package/lib/packages/components/popover/style/css.js.map +1 -0
- package/lib/packages/components/popover/style/index.js +2 -0
- package/lib/packages/components/popover/style/index.js.map +1 -0
- package/lib/packages/components/popover/types.js +2 -0
- package/lib/packages/components/popover/types.js.map +1 -0
- package/lib/packages/components/popper/arrow.vue.js +2 -0
- package/lib/packages/components/popper/arrow.vue.js.map +1 -0
- package/lib/packages/components/popper/arrow.vue2.js +2 -0
- package/lib/packages/components/popper/arrow.vue2.js.map +1 -0
- package/lib/packages/components/popper/composables/index.js +2 -0
- package/lib/packages/components/popper/composables/index.js.map +1 -0
- package/lib/packages/components/popper/composables/use-content-dom.js +2 -0
- package/lib/packages/components/popper/composables/use-content-dom.js.map +1 -0
- package/lib/packages/components/popper/composables/use-content.js +2 -0
- package/lib/packages/components/popper/composables/use-content.js.map +1 -0
- package/lib/packages/components/popper/composables/use-focus-trap.js +2 -0
- package/lib/packages/components/popper/composables/use-focus-trap.js.map +1 -0
- package/lib/packages/components/popper/constants.js +2 -0
- package/lib/packages/components/popper/constants.js.map +1 -0
- package/lib/packages/components/popper/content.vue.js +2 -0
- package/lib/packages/components/popper/content.vue.js.map +1 -0
- package/lib/packages/components/popper/content.vue2.js +2 -0
- package/lib/packages/components/popper/content.vue2.js.map +1 -0
- package/lib/packages/components/popper/index.js +2 -0
- package/lib/packages/components/popper/index.js.map +1 -0
- package/lib/packages/components/popper/popper.vue.js +2 -0
- package/lib/packages/components/popper/popper.vue.js.map +1 -0
- package/lib/packages/components/popper/popper.vue2.js +2 -0
- package/lib/packages/components/popper/popper.vue2.js.map +1 -0
- package/lib/packages/components/popper/style/css.js +2 -0
- package/lib/packages/components/popper/style/css.js.map +1 -0
- package/lib/packages/components/popper/style/index.js +2 -0
- package/lib/packages/components/popper/style/index.js.map +1 -0
- package/lib/packages/components/popper/trigger.vue.js +2 -0
- package/lib/packages/components/popper/trigger.vue.js.map +1 -0
- package/lib/packages/components/popper/trigger.vue2.js +2 -0
- package/lib/packages/components/popper/trigger.vue2.js.map +1 -0
- package/lib/packages/components/popper/types.js +2 -0
- package/lib/packages/components/popper/types.js.map +1 -0
- package/lib/packages/components/popper/utils.js +2 -0
- package/lib/packages/components/popper/utils.js.map +1 -0
- package/lib/packages/components/result/index.js.map +1 -0
- package/lib/packages/components/result/result.vue2.js +2 -0
- package/lib/packages/components/result/result.vue2.js.map +1 -0
- package/lib/packages/components/result/style/css.js.map +1 -0
- package/lib/packages/components/result/style/index.js.map +1 -0
- package/lib/packages/components/slot/index.js +2 -0
- package/lib/packages/components/slot/index.js.map +1 -0
- package/lib/packages/components/slot/only-child.js +2 -0
- package/lib/packages/components/slot/only-child.js.map +1 -0
- package/lib/packages/components/sub-menu/style/css.js +2 -0
- package/lib/packages/components/sub-menu/style/css.js.map +1 -0
- package/lib/packages/components/sub-menu/style/index.js +2 -0
- package/lib/packages/components/sub-menu/style/index.js.map +1 -0
- package/lib/packages/components/tab-pane/style/css.js.map +1 -0
- package/lib/packages/components/tab-pane/style/index.js.map +1 -0
- package/lib/packages/components/tabs/index.js.map +1 -0
- package/lib/packages/components/tabs/style/css.js.map +1 -0
- package/lib/packages/components/tabs/style/index.js.map +1 -0
- package/lib/packages/components/tabs/tab-bar.vue2.js +2 -0
- package/lib/packages/components/tabs/tab-bar.vue2.js.map +1 -0
- package/lib/packages/components/tabs/tab-nav.vue2.js +2 -0
- package/lib/packages/components/tabs/tab-nav.vue2.js.map +1 -0
- package/lib/packages/components/tabs/tab-pane.vue2.js +2 -0
- package/lib/packages/components/tabs/tab-pane.vue2.js.map +1 -0
- package/lib/packages/components/tabs/tabs.vue2.js +2 -0
- package/lib/packages/components/tabs/tabs.vue2.js.map +1 -0
- package/lib/packages/components/tabs/types.js.map +1 -0
- package/lib/packages/components/tooltip/constants.js +2 -0
- package/lib/packages/components/tooltip/constants.js.map +1 -0
- package/lib/packages/components/tooltip/content.vue.js +2 -0
- package/lib/packages/components/tooltip/content.vue.js.map +1 -0
- package/lib/packages/components/tooltip/content.vue2.js +2 -0
- package/lib/packages/components/tooltip/content.vue2.js.map +1 -0
- package/lib/packages/components/tooltip/index.js +2 -0
- package/lib/packages/components/tooltip/index.js.map +1 -0
- package/lib/packages/components/tooltip/style/css.js +2 -0
- package/lib/packages/components/tooltip/style/css.js.map +1 -0
- package/lib/packages/components/tooltip/style/index.js +2 -0
- package/lib/packages/components/tooltip/style/index.js.map +1 -0
- package/lib/packages/components/tooltip/tooltip.vue.js +2 -0
- package/lib/packages/components/tooltip/tooltip.vue.js.map +1 -0
- package/lib/packages/components/tooltip/tooltip.vue2.js +2 -0
- package/lib/packages/components/tooltip/tooltip.vue2.js.map +1 -0
- package/lib/packages/components/tooltip/trigger.vue.js +2 -0
- package/lib/packages/components/tooltip/trigger.vue.js.map +1 -0
- package/lib/packages/components/tooltip/trigger.vue2.js +2 -0
- package/lib/packages/components/tooltip/trigger.vue2.js.map +1 -0
- package/lib/packages/components/tooltip/types.js +2 -0
- package/lib/packages/components/tooltip/types.js.map +1 -0
- package/lib/packages/components/tooltip/utils.js +2 -0
- package/lib/packages/components/tooltip/utils.js.map +1 -0
- package/lib/packages/components/types.js +2 -0
- package/lib/packages/components/types.js.map +1 -0
- package/lib/packages/constants/aria.js.map +1 -0
- package/lib/packages/constants/date.js.map +1 -0
- package/lib/packages/constants/event.js.map +1 -0
- package/lib/packages/constants/index.js.map +1 -0
- package/lib/packages/constants/key.js.map +1 -0
- package/lib/packages/constants/size.js.map +1 -0
- package/lib/packages/hooks/index.js +2 -0
- package/lib/packages/hooks/index.js.map +1 -0
- package/lib/packages/hooks/use-delayed-toggle/index.js +2 -0
- package/lib/packages/hooks/use-delayed-toggle/index.js.map +1 -0
- package/lib/packages/hooks/use-forward-ref/index.js +2 -0
- package/lib/packages/hooks/use-forward-ref/index.js.map +1 -0
- package/lib/packages/hooks/use-id/index.js +6 -0
- package/lib/packages/hooks/use-id/index.js.map +1 -0
- package/lib/packages/hooks/use-model-toggle/index.js +2 -0
- package/lib/packages/hooks/use-model-toggle/index.js.map +1 -0
- package/lib/packages/hooks/use-namespace/index.js +2 -0
- package/lib/packages/hooks/use-namespace/index.js.map +1 -0
- package/lib/packages/hooks/use-ordered-children/index.js.map +1 -0
- package/lib/packages/hooks/use-popper/index.js +2 -0
- package/lib/packages/hooks/use-popper/index.js.map +1 -0
- package/lib/packages/hooks/use-popper-container/index.js +2 -0
- package/lib/packages/hooks/use-popper-container/index.js.map +1 -0
- package/lib/packages/hooks/use-timeout/index.js +2 -0
- package/lib/packages/hooks/use-timeout/index.js.map +1 -0
- package/lib/packages/hooks/use-z-index/index.js +2 -0
- package/lib/packages/hooks/use-z-index/index.js.map +1 -0
- package/lib/packages/theme-style/src/collapse-transition.scss.js +2 -0
- package/lib/packages/theme-style/src/collapse-transition.scss.js.map +1 -0
- package/lib/packages/theme-style/src/menu-item-group.scss.js +2 -0
- package/lib/packages/theme-style/src/menu-item-group.scss.js.map +1 -0
- package/lib/packages/theme-style/src/menu-item.scss.js +2 -0
- package/lib/packages/theme-style/src/menu-item.scss.js.map +1 -0
- package/lib/packages/theme-style/src/menu.scss.js +2 -0
- package/lib/packages/theme-style/src/menu.scss.js.map +1 -0
- package/lib/packages/theme-style/src/multiple-tabs.scss.js +2 -0
- package/lib/packages/theme-style/src/multiple-tabs.scss.js.map +1 -0
- package/lib/packages/theme-style/src/popover.scss.js +2 -0
- package/lib/packages/theme-style/src/popover.scss.js.map +1 -0
- package/lib/packages/theme-style/src/popper.scss.js +2 -0
- package/lib/packages/theme-style/src/popper.scss.js.map +1 -0
- package/lib/packages/theme-style/src/sub-menu.scss.js +2 -0
- package/lib/packages/theme-style/src/sub-menu.scss.js.map +1 -0
- package/lib/packages/theme-style/src/tooltip.scss.js +2 -0
- package/lib/packages/theme-style/src/tooltip.scss.js.map +1 -0
- package/lib/packages/utils/error.js.map +1 -0
- package/lib/packages/utils/event.js +2 -0
- package/lib/packages/utils/event.js.map +1 -0
- package/lib/packages/utils/helper.js.map +1 -0
- package/lib/packages/utils/index.js +2 -0
- package/lib/packages/utils/index.js.map +1 -0
- package/lib/packages/utils/typescript.js +2 -0
- package/lib/packages/utils/typescript.js.map +1 -0
- package/lib/packages/utils/vue/index.js.map +1 -0
- package/lib/packages/utils/vue/install.js.map +1 -0
- package/lib/packages/utils/vue/vnode.js.map +1 -0
- package/lib/utils/event.d.ts +6 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/typescript.d.ts +12 -0
- package/package.json +3 -1
- package/theme-style/index.css +1 -1
- package/theme-style/src/collapse-transition.scss +0 -0
- package/theme-style/src/common/var.scss +5 -0
- package/theme-style/src/context-menu.css +0 -0
- package/theme-style/src/index.scss +7 -0
- package/theme-style/src/menu-item-group.scss +0 -0
- package/theme-style/src/menu-item.scss +0 -0
- package/theme-style/src/menu.scss +341 -0
- package/theme-style/src/multiple-tabs.scss +19 -0
- package/theme-style/src/popover.scss +62 -0
- package/theme-style/src/popper.scss +108 -0
- package/theme-style/src/sub-menu.scss +0 -0
- package/theme-style/src/tooltip.scss +0 -0
- package/theme-style/vft-collapse-transition.css +0 -0
- package/theme-style/vft-menu-item-group.css +0 -0
- package/theme-style/vft-menu-item.css +0 -0
- package/theme-style/vft-menu.css +1 -0
- package/theme-style/vft-multiple-tabs.css +1 -0
- package/theme-style/vft-popover.css +1 -0
- package/theme-style/vft-popper.css +1 -0
- package/theme-style/vft-sub-menu.css +0 -0
- package/theme-style/vft-tooltip.css +0 -0
- package/es/components/avatar/avatar.vue2.mjs +0 -52
- package/es/components/avatar/avatar.vue2.mjs.map +0 -1
- package/es/components/avatar/index.mjs.map +0 -1
- package/es/components/back-top/back-top.vue2.mjs +0 -64
- package/es/components/back-top/back-top.vue2.mjs.map +0 -1
- package/es/components/back-top/index.mjs.map +0 -1
- package/es/components/back-top/use-back-top.mjs.map +0 -1
- package/es/components/divider/divider.vue2.mjs +0 -46
- package/es/components/divider/divider.vue2.mjs.map +0 -1
- package/es/components/divider/index.mjs.map +0 -1
- package/es/components/empty/assets/no-collect.png.mjs.map +0 -1
- package/es/components/empty/assets/no-data.png.mjs.map +0 -1
- package/es/components/empty/assets/no-filter.png.mjs.map +0 -1
- package/es/components/empty/assets/no-page-data.png.mjs.map +0 -1
- package/es/components/empty/assets/no-search.png.mjs.map +0 -1
- package/es/components/empty/constants.mjs.map +0 -1
- package/es/components/empty/empty.vue2.mjs +0 -98
- package/es/components/empty/empty.vue2.mjs.map +0 -1
- package/es/components/empty/index.mjs.map +0 -1
- package/es/components/exception/exception.png.mjs.map +0 -1
- package/es/components/exception/exception.vue2.mjs.map +0 -1
- package/es/components/exception/index.mjs.map +0 -1
- package/es/components/icon/icon.vue2.mjs +0 -38
- package/es/components/icon/icon.vue2.mjs.map +0 -1
- package/es/components/icon/index.mjs.map +0 -1
- package/es/components/index.mjs +0 -22
- package/es/components/index.mjs.map +0 -1
- package/es/components/result/index.mjs.map +0 -1
- package/es/components/result/result.vue2.mjs +0 -58
- package/es/components/result/result.vue2.mjs.map +0 -1
- package/es/components/tabs/index.mjs.map +0 -1
- package/es/components/tabs/tab-bar.vue2.mjs +0 -53
- package/es/components/tabs/tab-bar.vue2.mjs.map +0 -1
- package/es/components/tabs/tab-nav.vue2.mjs +0 -175
- package/es/components/tabs/tab-nav.vue2.mjs.map +0 -1
- package/es/components/tabs/tab-pane.vue2.mjs +0 -59
- package/es/components/tabs/tab-pane.vue2.mjs.map +0 -1
- package/es/components/tabs/tabs.vue2.mjs +0 -151
- package/es/components/tabs/tabs.vue2.mjs.map +0 -1
- package/es/components/tabs/types.mjs.map +0 -1
- package/es/constants/aria.mjs.map +0 -1
- package/es/constants/date.mjs.map +0 -1
- package/es/constants/event.mjs.map +0 -1
- package/es/constants/key.mjs.map +0 -1
- package/es/constants/size.mjs.map +0 -1
- package/es/hooks/index.mjs +0 -9
- package/es/hooks/use-namespace/index.mjs +0 -42
- package/es/hooks/use-namespace/index.mjs.map +0 -1
- package/es/hooks/use-ordered-children/index.mjs.map +0 -1
- package/es/utils/error.mjs.map +0 -1
- package/es/utils/helper.mjs.map +0 -1
- package/es/utils/index.mjs +0 -26
- package/es/utils/index.mjs.map +0 -1
- package/es/utils/vue/install.mjs.map +0 -1
- package/es/utils/vue/vnode.mjs.map +0 -1
- package/lib/components/avatar/avatar.vue2.js +0 -2
- package/lib/components/avatar/avatar.vue2.js.map +0 -1
- package/lib/components/avatar/index.js.map +0 -1
- package/lib/components/back-top/back-top.vue2.js +0 -2
- package/lib/components/back-top/back-top.vue2.js.map +0 -1
- package/lib/components/back-top/index.js.map +0 -1
- package/lib/components/back-top/use-back-top.js.map +0 -1
- package/lib/components/divider/divider.vue2.js +0 -2
- package/lib/components/divider/divider.vue2.js.map +0 -1
- package/lib/components/divider/index.js.map +0 -1
- package/lib/components/empty/assets/no-collect.png.js.map +0 -1
- package/lib/components/empty/assets/no-data.png.js.map +0 -1
- package/lib/components/empty/assets/no-filter.png.js.map +0 -1
- package/lib/components/empty/assets/no-page-data.png.js.map +0 -1
- package/lib/components/empty/assets/no-search.png.js.map +0 -1
- package/lib/components/empty/constants.js.map +0 -1
- package/lib/components/empty/empty.vue2.js +0 -2
- package/lib/components/empty/empty.vue2.js.map +0 -1
- package/lib/components/empty/index.js.map +0 -1
- package/lib/components/exception/exception.png.js.map +0 -1
- package/lib/components/exception/exception.vue2.js.map +0 -1
- package/lib/components/exception/index.js.map +0 -1
- package/lib/components/icon/icon.vue2.js +0 -2
- package/lib/components/icon/icon.vue2.js.map +0 -1
- package/lib/components/icon/index.js.map +0 -1
- package/lib/components/index.js +0 -2
- package/lib/components/result/index.js.map +0 -1
- package/lib/components/result/result.vue2.js +0 -2
- package/lib/components/result/result.vue2.js.map +0 -1
- package/lib/components/tabs/index.js.map +0 -1
- package/lib/components/tabs/tab-bar.vue2.js +0 -2
- package/lib/components/tabs/tab-bar.vue2.js.map +0 -1
- package/lib/components/tabs/tab-nav.vue2.js +0 -2
- package/lib/components/tabs/tab-nav.vue2.js.map +0 -1
- package/lib/components/tabs/tab-pane.vue2.js +0 -2
- package/lib/components/tabs/tab-pane.vue2.js.map +0 -1
- package/lib/components/tabs/tabs.vue2.js +0 -2
- package/lib/components/tabs/tabs.vue2.js.map +0 -1
- package/lib/components/tabs/types.js.map +0 -1
- package/lib/constants/aria.js.map +0 -1
- package/lib/constants/date.js.map +0 -1
- package/lib/constants/event.js.map +0 -1
- package/lib/constants/key.js.map +0 -1
- package/lib/constants/size.js.map +0 -1
- package/lib/hooks/index.js +0 -2
- package/lib/hooks/use-namespace/index.js +0 -2
- package/lib/hooks/use-namespace/index.js.map +0 -1
- package/lib/hooks/use-ordered-children/index.js.map +0 -1
- package/lib/utils/error.js.map +0 -1
- package/lib/utils/helper.js.map +0 -1
- package/lib/utils/index.js +0 -2
- package/lib/utils/vue/install.js.map +0 -1
- package/lib/utils/vue/vnode.js.map +0 -1
- /package/es/{components → packages/components}/avatar/avatar.vue.mjs +0 -0
- /package/es/{components → packages/components}/avatar/avatar.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/avatar/index.mjs +0 -0
- /package/es/{components → packages/components}/avatar/style/css.mjs +0 -0
- /package/es/{components → packages/components}/avatar/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/avatar/style/index.mjs +0 -0
- /package/es/{components → packages/components}/avatar/style/index.mjs.map +0 -0
- /package/es/{components → packages/components}/back-top/back-top.vue.mjs +0 -0
- /package/es/{components → packages/components}/back-top/back-top.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/back-top/index.mjs +0 -0
- /package/es/{components → packages/components}/back-top/style/css.mjs +0 -0
- /package/es/{components → packages/components}/back-top/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/back-top/style/index.mjs +0 -0
- /package/es/{components → packages/components}/back-top/style/index.mjs.map +0 -0
- /package/es/{components → packages/components}/back-top/types.mjs +0 -0
- /package/es/{components → packages/components}/back-top/types.mjs.map +0 -0
- /package/es/{components → packages/components}/back-top/use-back-top.mjs +0 -0
- /package/es/{components → packages/components}/base/style/css.mjs +0 -0
- /package/es/{components → packages/components}/base/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/base/style/index.mjs +0 -0
- /package/es/{components → packages/components}/base/style/index.mjs.map +0 -0
- /package/es/{components/divider → packages/components/collapse-transition}/style/css.mjs.map +0 -0
- /package/es/{components/divider → packages/components/collapse-transition}/style/index.mjs.map +0 -0
- /package/es/{components/empty/style → packages/components/context-menu}/index.mjs.map +0 -0
- /package/es/{components/empty → packages/components/context-menu}/style/css.mjs.map +0 -0
- /package/es/{components/exception → packages/components/context-menu}/style/index.mjs.map +0 -0
- /package/es/{components/divider → packages/components/context-menu}/types.mjs +0 -0
- /package/es/{components/divider → packages/components/context-menu}/types.mjs.map +0 -0
- /package/es/{components → packages/components}/divider/divider.vue.mjs +0 -0
- /package/es/{components → packages/components}/divider/divider.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/divider/index.mjs +0 -0
- /package/es/{components → packages/components}/divider/style/css.mjs +0 -0
- /package/es/{components/exception → packages/components/divider}/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/divider/style/index.mjs +0 -0
- /package/es/{components/icon → packages/components/divider}/style/index.mjs.map +0 -0
- /package/es/{components → packages/components/divider}/types.mjs +0 -0
- /package/es/{components → packages/components/divider}/types.mjs.map +0 -0
- /package/es/{components → packages/components}/empty/assets/no-collect.png.mjs +0 -0
- /package/es/{components → packages/components}/empty/assets/no-data.png.mjs +0 -0
- /package/es/{components → packages/components}/empty/assets/no-filter.png.mjs +0 -0
- /package/es/{components → packages/components}/empty/assets/no-page-data.png.mjs +0 -0
- /package/es/{components → packages/components}/empty/assets/no-search.png.mjs +0 -0
- /package/es/{components → packages/components}/empty/constants.mjs +0 -0
- /package/es/{components → packages/components}/empty/empty.vue.mjs +0 -0
- /package/es/{components → packages/components}/empty/empty.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/empty/index.mjs +0 -0
- /package/es/{components → packages/components}/empty/style/css.mjs +0 -0
- /package/es/{components/icon → packages/components/empty}/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/empty/style/index.mjs +0 -0
- /package/es/{components/result → packages/components/empty}/style/index.mjs.map +0 -0
- /package/es/{components → packages/components}/exception/exception.png.mjs +0 -0
- /package/es/{components → packages/components}/exception/exception.vue.mjs +0 -0
- /package/es/{components → packages/components}/exception/exception.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/exception/exception.vue2.mjs +0 -0
- /package/es/{components → packages/components}/exception/index.mjs +0 -0
- /package/es/{components → packages/components}/exception/style/css.mjs +0 -0
- /package/es/{components/result → packages/components/exception}/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/exception/style/index.mjs +0 -0
- /package/es/{components/tab-pane → packages/components/exception}/style/index.mjs.map +0 -0
- /package/es/{components → packages/components}/icon/icon.vue.mjs +0 -0
- /package/es/{components → packages/components}/icon/icon.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/icon/index.mjs +0 -0
- /package/es/{components → packages/components}/icon/style/css.mjs +0 -0
- /package/es/{components/tab-pane → packages/components/icon}/style/css.mjs.map +0 -0
- /package/es/{components → packages/components}/icon/style/index.mjs +0 -0
- /package/es/{components/tabs → packages/components/icon}/style/index.mjs.map +0 -0
- /package/es/{utils/vue → packages/components/menu-item/style}/index.mjs.map +0 -0
- /package/es/{components/tabs → packages/components/menu-item-group}/style/css.mjs.map +0 -0
- /package/es/{hooks → packages/components/menu-item-group/style}/index.mjs.map +0 -0
- /package/es/{components → packages/components}/result/index.mjs +0 -0
- /package/es/{components → packages/components}/result/result.vue.mjs +0 -0
- /package/es/{components → packages/components}/result/result.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/result/style/css.mjs +0 -0
- /package/es/{components → packages/components}/result/style/index.mjs +0 -0
- /package/es/{components → packages/components}/tab-pane/style/css.mjs +0 -0
- /package/es/{components → packages/components}/tab-pane/style/index.mjs +0 -0
- /package/es/{components → packages/components}/tabs/index.mjs +0 -0
- /package/es/{components → packages/components}/tabs/style/css.mjs +0 -0
- /package/es/{components → packages/components}/tabs/style/index.mjs +0 -0
- /package/es/{components → packages/components}/tabs/tab-bar.vue.mjs +0 -0
- /package/es/{components → packages/components}/tabs/tab-bar.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/tabs/tab-nav.vue.mjs +0 -0
- /package/es/{components → packages/components}/tabs/tab-nav.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/tabs/tab-pane.vue.mjs +0 -0
- /package/es/{components → packages/components}/tabs/tab-pane.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/tabs/tabs.vue.mjs +0 -0
- /package/es/{components → packages/components}/tabs/tabs.vue.mjs.map +0 -0
- /package/es/{components → packages/components}/tabs/types.mjs +0 -0
- /package/es/{constants → packages/constants}/aria.mjs +0 -0
- /package/es/{constants → packages/constants}/date.mjs +0 -0
- /package/es/{constants → packages/constants}/event.mjs +0 -0
- /package/es/{constants → packages/constants}/index.mjs +0 -0
- /package/es/{constants → packages/constants}/index.mjs.map +0 -0
- /package/es/{constants → packages/constants}/key.mjs +0 -0
- /package/es/{constants → packages/constants}/size.mjs +0 -0
- /package/es/{hooks → packages/hooks}/use-ordered-children/index.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/avatar.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/avatar.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/back-top.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/back-top.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/base.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/base.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/divider.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/divider.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/empty.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/empty.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/icon.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/icon.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/result.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/result.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/tab-pane.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/tab-pane.scss.mjs.map +0 -0
- /package/es/{theme-style → packages/theme-style}/src/tabs.scss.mjs +0 -0
- /package/es/{theme-style → packages/theme-style}/src/tabs.scss.mjs.map +0 -0
- /package/es/{utils → packages/utils}/error.mjs +0 -0
- /package/es/{utils → packages/utils}/helper.mjs +0 -0
- /package/es/{utils → packages/utils}/vue/index.mjs +0 -0
- /package/es/{utils → packages/utils}/vue/install.mjs +0 -0
- /package/es/{utils → packages/utils}/vue/typescript.mjs +0 -0
- /package/es/{utils → packages/utils}/vue/typescript.mjs.map +0 -0
- /package/es/{utils → packages/utils}/vue/vnode.mjs +0 -0
- /package/lib/{components → packages/components}/avatar/avatar.vue.js +0 -0
- /package/lib/{components → packages/components}/avatar/avatar.vue.js.map +0 -0
- /package/lib/{components → packages/components}/avatar/index.js +0 -0
- /package/lib/{components → packages/components}/avatar/style/css.js +0 -0
- /package/lib/{components → packages/components}/avatar/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/avatar/style/index.js +0 -0
- /package/lib/{components → packages/components}/avatar/style/index.js.map +0 -0
- /package/lib/{components → packages/components}/back-top/back-top.vue.js +0 -0
- /package/lib/{components → packages/components}/back-top/back-top.vue.js.map +0 -0
- /package/lib/{components → packages/components}/back-top/index.js +0 -0
- /package/lib/{components → packages/components}/back-top/style/css.js +0 -0
- /package/lib/{components → packages/components}/back-top/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/back-top/style/index.js +0 -0
- /package/lib/{components → packages/components}/back-top/style/index.js.map +0 -0
- /package/lib/{components → packages/components}/back-top/types.js +0 -0
- /package/lib/{components → packages/components}/back-top/types.js.map +0 -0
- /package/lib/{components → packages/components}/back-top/use-back-top.js +0 -0
- /package/lib/{components → packages/components}/base/style/css.js +0 -0
- /package/lib/{components → packages/components}/base/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/base/style/index.js +0 -0
- /package/lib/{components → packages/components}/base/style/index.js.map +0 -0
- /package/lib/{components/divider → packages/components/collapse-transition}/style/css.js.map +0 -0
- /package/lib/{components/divider → packages/components/collapse-transition}/style/index.js.map +0 -0
- /package/lib/{components/empty/style → packages/components/context-menu}/index.js.map +0 -0
- /package/lib/{components/empty → packages/components/context-menu}/style/css.js.map +0 -0
- /package/lib/{components/exception → packages/components/context-menu}/style/index.js.map +0 -0
- /package/lib/{components/divider → packages/components/context-menu}/types.js +0 -0
- /package/lib/{components/divider → packages/components/context-menu}/types.js.map +0 -0
- /package/lib/{components → packages/components}/divider/divider.vue.js +0 -0
- /package/lib/{components → packages/components}/divider/divider.vue.js.map +0 -0
- /package/lib/{components → packages/components}/divider/index.js +0 -0
- /package/lib/{components → packages/components}/divider/style/css.js +0 -0
- /package/lib/{components/exception → packages/components/divider}/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/divider/style/index.js +0 -0
- /package/lib/{components/icon → packages/components/divider}/style/index.js.map +0 -0
- /package/lib/{components → packages/components/divider}/types.js +0 -0
- /package/lib/{components → packages/components/divider}/types.js.map +0 -0
- /package/lib/{components → packages/components}/empty/assets/no-collect.png.js +0 -0
- /package/lib/{components → packages/components}/empty/assets/no-data.png.js +0 -0
- /package/lib/{components → packages/components}/empty/assets/no-filter.png.js +0 -0
- /package/lib/{components → packages/components}/empty/assets/no-page-data.png.js +0 -0
- /package/lib/{components → packages/components}/empty/assets/no-search.png.js +0 -0
- /package/lib/{components → packages/components}/empty/constants.js +0 -0
- /package/lib/{components → packages/components}/empty/empty.vue.js +0 -0
- /package/lib/{components → packages/components}/empty/empty.vue.js.map +0 -0
- /package/lib/{components → packages/components}/empty/index.js +0 -0
- /package/lib/{components → packages/components}/empty/style/css.js +0 -0
- /package/lib/{components/icon → packages/components/empty}/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/empty/style/index.js +0 -0
- /package/lib/{components → packages/components/empty/style}/index.js.map +0 -0
- /package/lib/{components → packages/components}/exception/exception.png.js +0 -0
- /package/lib/{components → packages/components}/exception/exception.vue.js +0 -0
- /package/lib/{components → packages/components}/exception/exception.vue.js.map +0 -0
- /package/lib/{components → packages/components}/exception/exception.vue2.js +0 -0
- /package/lib/{components → packages/components}/exception/index.js +0 -0
- /package/lib/{components → packages/components}/exception/style/css.js +0 -0
- /package/lib/{components/result → packages/components/exception}/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/exception/style/index.js +0 -0
- /package/lib/{components/result → packages/components/exception}/style/index.js.map +0 -0
- /package/lib/{components/tab-pane/style → packages/components/focus-trap}/index.js.map +0 -0
- /package/lib/{components → packages/components}/icon/icon.vue.js +0 -0
- /package/lib/{components → packages/components}/icon/icon.vue.js.map +0 -0
- /package/lib/{components → packages/components}/icon/index.js +0 -0
- /package/lib/{components → packages/components}/icon/style/css.js +0 -0
- /package/lib/{components/tab-pane → packages/components/icon}/style/css.js.map +0 -0
- /package/lib/{components → packages/components}/icon/style/index.js +0 -0
- /package/lib/{components/tabs → packages/components/icon}/style/index.js.map +0 -0
- /package/lib/{constants → packages/components}/index.js.map +0 -0
- /package/lib/{utils/vue → packages/components/menu/style}/index.js.map +0 -0
- /package/lib/{utils → packages/components/menu-item/style}/index.js.map +0 -0
- /package/lib/{components/tabs → packages/components/menu-item-group}/style/css.js.map +0 -0
- /package/lib/{hooks → packages/components/menu-item-group/style}/index.js.map +0 -0
- /package/lib/{components → packages/components}/result/index.js +0 -0
- /package/lib/{components → packages/components}/result/result.vue.js +0 -0
- /package/lib/{components → packages/components}/result/result.vue.js.map +0 -0
- /package/lib/{components → packages/components}/result/style/css.js +0 -0
- /package/lib/{components → packages/components}/result/style/index.js +0 -0
- /package/lib/{components → packages/components}/tab-pane/style/css.js +0 -0
- /package/lib/{components → packages/components}/tab-pane/style/index.js +0 -0
- /package/lib/{components → packages/components}/tabs/index.js +0 -0
- /package/lib/{components → packages/components}/tabs/style/css.js +0 -0
- /package/lib/{components → packages/components}/tabs/style/index.js +0 -0
- /package/lib/{components → packages/components}/tabs/tab-bar.vue.js +0 -0
- /package/lib/{components → packages/components}/tabs/tab-bar.vue.js.map +0 -0
- /package/lib/{components → packages/components}/tabs/tab-nav.vue.js +0 -0
- /package/lib/{components → packages/components}/tabs/tab-nav.vue.js.map +0 -0
- /package/lib/{components → packages/components}/tabs/tab-pane.vue.js +0 -0
- /package/lib/{components → packages/components}/tabs/tab-pane.vue.js.map +0 -0
- /package/lib/{components → packages/components}/tabs/tabs.vue.js +0 -0
- /package/lib/{components → packages/components}/tabs/tabs.vue.js.map +0 -0
- /package/lib/{components → packages/components}/tabs/types.js +0 -0
- /package/lib/{constants → packages/constants}/aria.js +0 -0
- /package/lib/{constants → packages/constants}/date.js +0 -0
- /package/lib/{constants → packages/constants}/event.js +0 -0
- /package/lib/{constants → packages/constants}/index.js +0 -0
- /package/lib/{constants → packages/constants}/key.js +0 -0
- /package/lib/{constants → packages/constants}/size.js +0 -0
- /package/lib/{hooks → packages/hooks}/use-ordered-children/index.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/avatar.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/avatar.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/back-top.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/back-top.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/base.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/base.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/divider.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/divider.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/empty.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/empty.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/icon.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/icon.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/result.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/result.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/tab-pane.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/tab-pane.scss.js.map +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/tabs.scss.js +0 -0
- /package/lib/{theme-style → packages/theme-style}/src/tabs.scss.js.map +0 -0
- /package/lib/{utils → packages/utils}/error.js +0 -0
- /package/lib/{utils → packages/utils}/helper.js +0 -0
- /package/lib/{utils → packages/utils}/vue/index.js +0 -0
- /package/lib/{utils → packages/utils}/vue/install.js +0 -0
- /package/lib/{utils → packages/utils}/vue/typescript.js +0 -0
- /package/lib/{utils → packages/utils}/vue/typescript.js.map +0 -0
- /package/lib/{utils → packages/utils}/vue/vnode.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"only-child.mjs","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":";;;;;;;;;;AAmBA,MAAMA,IAAO,gBAEAC,IAAYC,gBAAAA,EAAgB;AAAA,EACvCC,MAAMH;AAAAA,EACNI,MAAMC,GAAG;AAAA,IAAEC,OAAAA;AAAAA,IAAOC,OAAAA;AAAAA,EAAM,GAAG;AACzB,UAAMC,IAAsBC,EAAOC,CAAyB,GACtDC,IAAsBC,GAC1BJ,KAAAA,gBAAAA,EAAqBK,kBAAiBC,CAAI;AAE5C,WAAO,MAAM;;AACX,YAAMC,KAAcT,IAAAA,EAAMU,YAANV,gBAAAA,EAAAA,KAAAA,GAAgBC;AACpC,UAAI,CAACQ;AAAa,eAAO;AAEzB,UAAIA,EAAYE,SAAS;AACvBC,eAAAA,EAAUlB,GAAM,sCAAsC,GAC/C;AAGT,YAAMmB,IAAiBC,EAAoBL,CAAW;AACtD,aAAKI,IAKEE,EAAeC,EAAWH,GAAiBZ,CAAK,GAAG,CACxD,CAACI,CAAmB,CAAC,CACtB,KANCO,EAAUlB,GAAM,2BAA2B,GACpC;AAAA;EAOb;AACF,CAAC;AAED,SAASoB,EAAoBG,GAAyC;AACpE,MAAI,CAACA;AAAM,WAAO;AAClB,QAAMC,IAAWD;AACjB,aAAWE,KAASD,GAAU;AAM5B,QAAIE,EAASD,CAAK;AAChB,cAAQA,EAAME,MAAI;AAAA,QAChB,KAAKC;AACH;AAAA,QACF,KAAKC;AAAAA,QACL,KAAK;AACH,iBAAOC,EAAgBL,CAAK;AAAA,QAC9B,KAAKM;AACH,iBAAOX,EAAoBK,EAAMD,QAAQ;AAAA,QAC3C;AACE,iBAAOC;AAAAA,MAAK;AAGlB,WAAOK,EAAgBL,CAAK;AAAA,EAC9B;AACA,SAAO;AACT;AAEA,SAASK,EAAgBE,GAAmB;AAC1C,QAAMC,IAAKC,EAAa,YAAY;AACpC,SAAAC,EAAA,QAAA;AAAA,IAAA,OAAoBF,EAAGG,EAAE,SAAS;AAAA,EAAC,GAAA,CAAGJ,CAAC,CAAA;AACzC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","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":";;;;;;;AAIO,MAAMA,IAAUC,EAAYC,GAAM,EAAA,SAAEC,GAAS,GACvCC,IAAaC,EAAgBF,CAAO;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { defineComponent as $, getCurrentInstance as S, inject as C, ref as g, watch as N, nextTick as R, computed as k, openBlock as B, createElementBlock as F, normalizeClass as P, unref as p, normalizeStyle as T } from "vue";
|
|
2
|
+
import { TabsRootContextKey as L } from "./types.mjs";
|
|
3
|
+
import { useNamespace as j } from "../../hooks/use-namespace/index.mjs";
|
|
4
|
+
import "@popperjs/core";
|
|
5
|
+
import "lodash";
|
|
6
|
+
import "../../hooks/use-z-index/index.mjs";
|
|
7
|
+
import { useResizeObserver as D } from "@vueuse/core";
|
|
8
|
+
import "@vue/shared";
|
|
9
|
+
import { capitalize as c } from "@vft/utils";
|
|
10
|
+
const M = /* @__PURE__ */ $({
|
|
11
|
+
__name: "tab-bar",
|
|
12
|
+
props: {
|
|
13
|
+
tabs: null
|
|
14
|
+
},
|
|
15
|
+
setup(h, { expose: x }) {
|
|
16
|
+
const s = h, _ = S(), l = C(L), m = j("tabs"), a = g(), f = g(), v = () => {
|
|
17
|
+
let t = 0, e = 0;
|
|
18
|
+
const o = ["top", "bottom"].includes(l.props.tabPosition) ? "width" : "height", u = o === "width" ? "x" : "y", z = u === "x" ? "left" : "top";
|
|
19
|
+
return s.tabs.every((b) => {
|
|
20
|
+
var d, y;
|
|
21
|
+
const r = (y = (d = _.parent) == null ? void 0 : d.refs) == null ? void 0 : y[`tab-${b.uid}`];
|
|
22
|
+
if (!r)
|
|
23
|
+
return !1;
|
|
24
|
+
if (!b.active)
|
|
25
|
+
return !0;
|
|
26
|
+
t = r[`offset${c(z)}`], e = r[`client${c(o)}`];
|
|
27
|
+
const i = window.getComputedStyle(r);
|
|
28
|
+
return o === "width" && (s.tabs.length > 1 && (e -= Number.parseFloat(i.paddingLeft) + Number.parseFloat(i.paddingRight)), t += Number.parseFloat(i.paddingLeft)), !1;
|
|
29
|
+
}), {
|
|
30
|
+
[o]: `${e}px`,
|
|
31
|
+
transform: `translate${c(u)}(${t}px)`
|
|
32
|
+
};
|
|
33
|
+
}, n = () => f.value = v();
|
|
34
|
+
N(
|
|
35
|
+
() => s.tabs,
|
|
36
|
+
async () => {
|
|
37
|
+
await R(), n();
|
|
38
|
+
},
|
|
39
|
+
{ immediate: !0 }
|
|
40
|
+
);
|
|
41
|
+
const w = k(() => l.props.tabPosition);
|
|
42
|
+
return D(a, () => n()), x({
|
|
43
|
+
ref: a,
|
|
44
|
+
update: n
|
|
45
|
+
}), (t, e) => (B(), F("div", {
|
|
46
|
+
ref_key: "barRef",
|
|
47
|
+
ref: a,
|
|
48
|
+
class: P([p(m).e("active-bar"), p(m).is(p(w))]),
|
|
49
|
+
style: T(f.value)
|
|
50
|
+
}, null, 6));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
export {
|
|
54
|
+
M as default
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=tab-bar.vue2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-bar.vue2.mjs","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":";;;;;;;;;;;;;;;iBAaMA,IAAWC,KACXC,IAAWC,EAAOC,CAAkB,GAEpCC,IAAKC,EAAa,MAAM,GAExBC,IAASC,KACTC,IAAWD,KAEXE,IAAc,MAAqB;AACvC,UAAIC,IAAS,GACTC,IAAU;AAER,YAAAC,IAAW,CAAC,OAAO,QAAQ,EAAE,SAASX,EAAS,MAAM,WAAY,IACnE,UACA,UACEY,IAAUD,MAAa,UAAU,MAAM,KACvCE,IAAWD,MAAY,MAAM,SAAS;AAEtC,aAAAE,EAAA,KAAK,MAAM,CAACC,MAAQ;;AACxB,cAAMC,KAAMC,KAAAC,IAAApB,EAAS,WAAT,gBAAAoB,EAAiB,SAAjB,gBAAAD,EAAwB,OAAOF,EAAI;AAC/C,YAAI,CAACC;AAAY,iBAAA;AAEb,YAAA,CAACD,EAAI;AACA,iBAAA;AAET,QAAAN,IAASO,EAAI,SAASG,EAAWN,CAAQ,GAAG,GAC5CH,IAAUM,EAAI,SAASG,EAAWR,CAAQ,GAAG;AAEvC,cAAAS,IAAY,OAAO,iBAAiBJ,CAAG;AAE7C,eAAIL,MAAa,YACXG,EAAM,KAAK,SAAS,MAEpBJ,KAAA,OAAO,WAAWU,EAAU,WAAW,IACvC,OAAO,WAAWA,EAAU,YAAY,IAElCX,KAAA,OAAO,WAAWW,EAAU,WAAW,IAE5C;AAAA,MAAA,CACR,GAEM;AAAA,QACL,CAACT,CAAQ,GAAG,GAAGD;AAAA,QACf,WAAW,YAAYS,EAAWP,CAAO,KAAKH;AAAA,MAAA;AAAA,IAChD,GAGIY,IAAS,MAAOd,EAAS,QAAQC,EAAY;AAEnD,IAAAc;AAAA,MACE,MAAMR,EAAM;AAAA,MACZ,YAAY;AACV,cAAMS,EAAS,GACRF;MACT;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IAAA;AAGd,UAAAG,IAAeC,EAAS,MACrBzB,EAAS,MAAM,WACvB;AAEiB,WAAA0B,EAAArB,GAAQ,MAAMgB,EAAA,CAAQ,GAE3BM,EAAA;AAAA,MACX,KAAKtB;AAAA,MACL,QAAAgB;AAAA,IAAA,CACD;;;;;;;;"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { defineComponent as E, getCurrentInstance as Z, inject as _, ref as g, computed as I, watch as O, onMounted as tt, onUpdated as et, createVNode as c, nextTick as ot } from "vue";
|
|
2
|
+
import "@vue/shared";
|
|
3
|
+
import { throwError as nt } from "../../utils/error.mjs";
|
|
4
|
+
import "../divider/index.mjs";
|
|
5
|
+
import { VftIcon as T } from "../icon/index.mjs";
|
|
6
|
+
import "../avatar/index.mjs";
|
|
7
|
+
import "../empty/index.mjs";
|
|
8
|
+
import "../result/index.mjs";
|
|
9
|
+
import "../exception/index.mjs";
|
|
10
|
+
import "./index.mjs";
|
|
11
|
+
import "../popper/index.mjs";
|
|
12
|
+
import "../collapse-transition/index.mjs";
|
|
13
|
+
import "../tooltip/index.mjs";
|
|
14
|
+
import "../popover/index.mjs";
|
|
15
|
+
import "../menu/index.mjs";
|
|
16
|
+
import { capitalize as y } from "@vft/utils";
|
|
17
|
+
import "@vft/use";
|
|
18
|
+
import "../multiple-tabs/index.mjs";
|
|
19
|
+
import { useNamespace as K } from "../../hooks/use-namespace/index.mjs";
|
|
20
|
+
import "@popperjs/core";
|
|
21
|
+
import "lodash";
|
|
22
|
+
import "../../hooks/use-z-index/index.mjs";
|
|
23
|
+
import { useDocumentVisibility as lt, useWindowFocus as at, useResizeObserver as st } from "@vueuse/core";
|
|
24
|
+
import { EVENT_CODE as k } from "@vft/constants";
|
|
25
|
+
import { TabsRootContextKey as it } from "./types.mjs";
|
|
26
|
+
import ct from "./tab-bar.vue2.mjs";
|
|
27
|
+
const V = (
|
|
28
|
+
/* hoist-static*/
|
|
29
|
+
K("tab-nav")
|
|
30
|
+
), rt = E({
|
|
31
|
+
name: V.b()
|
|
32
|
+
}), Lt = /* @__PURE__ */ E({
|
|
33
|
+
...rt,
|
|
34
|
+
props: {
|
|
35
|
+
panes: null,
|
|
36
|
+
editable: {
|
|
37
|
+
type: Boolean
|
|
38
|
+
},
|
|
39
|
+
addable: {
|
|
40
|
+
type: Boolean
|
|
41
|
+
},
|
|
42
|
+
type: null,
|
|
43
|
+
stretch: {
|
|
44
|
+
type: Boolean
|
|
45
|
+
},
|
|
46
|
+
closeIconCfg: null,
|
|
47
|
+
addIconCfg: null,
|
|
48
|
+
arrowLeftIconCfg: null,
|
|
49
|
+
arrowRightIconCfg: null
|
|
50
|
+
},
|
|
51
|
+
emits: ["tabClick", "tabRemove", "tabAdd", "tabContextmenu"],
|
|
52
|
+
setup(l, {
|
|
53
|
+
expose: D,
|
|
54
|
+
emit: C
|
|
55
|
+
}) {
|
|
56
|
+
var A;
|
|
57
|
+
const M = Z(), m = _(it);
|
|
58
|
+
m || nt(V.b(), "<vft-tabs><tab-nav /></vft-tabs>");
|
|
59
|
+
const o = K("tabs"), q = lt(), H = at(), $ = g(), b = g(), h = g(), f = g(!1), v = g(0), S = g(!1), x = g(!0), w = I(() => ["top", "bottom"].includes(m.props.tabPosition) ? "width" : "height"), W = I(() => ({
|
|
60
|
+
transform: `translate${w.value === "width" ? "X" : "Y"}(-${v.value}px)`
|
|
61
|
+
})), j = () => {
|
|
62
|
+
if (!b.value)
|
|
63
|
+
return;
|
|
64
|
+
const e = b.value[`offset${y(w.value)}`], t = v.value;
|
|
65
|
+
t && (v.value = t > e ? t - e : 0);
|
|
66
|
+
}, U = () => {
|
|
67
|
+
if (!b.value || !h.value)
|
|
68
|
+
return;
|
|
69
|
+
const e = h.value[`offset${y(w.value)}`], t = b.value[`offset${y(w.value)}`], n = v.value;
|
|
70
|
+
e - n <= t || (v.value = e - n > t * 2 ? n + t : e - t);
|
|
71
|
+
}, R = async () => {
|
|
72
|
+
const e = h.value;
|
|
73
|
+
if (!f.value || !$.value || !b.value || !e)
|
|
74
|
+
return;
|
|
75
|
+
await ot();
|
|
76
|
+
const t = $.value.querySelector(".is-active");
|
|
77
|
+
if (!t)
|
|
78
|
+
return;
|
|
79
|
+
const n = b.value, p = ["top", "bottom"].includes(m.props.tabPosition), i = t.getBoundingClientRect(), a = n.getBoundingClientRect(), u = p ? e.offsetWidth - a.width : e.offsetHeight - a.height, r = v.value;
|
|
80
|
+
let s = r;
|
|
81
|
+
p ? (i.left < a.left && (s = r - (a.left - i.left)), i.right > a.right && (s = r + i.right - a.right)) : (i.top < a.top && (s = r - (a.top - i.top)), i.bottom > a.bottom && (s = r + (i.bottom - a.bottom))), s = Math.max(s, 0), v.value = Math.min(s, u);
|
|
82
|
+
}, z = () => {
|
|
83
|
+
if (!h.value || !b.value)
|
|
84
|
+
return;
|
|
85
|
+
const e = h.value[`offset${y(w.value)}`], t = b.value[`offset${y(w.value)}`], n = v.value;
|
|
86
|
+
t < e ? (f.value = f.value || {}, f.value.prev = n, f.value.next = n + t < e, e - n < t && (v.value = e - t)) : (f.value = !1, n > 0 && (v.value = 0));
|
|
87
|
+
}, X = (e) => {
|
|
88
|
+
const t = e.code, {
|
|
89
|
+
up: n,
|
|
90
|
+
down: p,
|
|
91
|
+
left: i,
|
|
92
|
+
right: a
|
|
93
|
+
} = k;
|
|
94
|
+
if (![n, p, i, a].includes(t))
|
|
95
|
+
return;
|
|
96
|
+
const u = Array.from(e.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")), r = u.indexOf(e.target);
|
|
97
|
+
let s;
|
|
98
|
+
t === i || t === n ? r === 0 ? s = u.length - 1 : s = r - 1 : r < u.length - 1 ? s = r + 1 : s = 0, u[s].focus(), u[s].click(), P();
|
|
99
|
+
}, P = () => {
|
|
100
|
+
x.value && (S.value = !0);
|
|
101
|
+
}, B = () => S.value = !1;
|
|
102
|
+
O(q, (e) => {
|
|
103
|
+
e === "hidden" ? x.value = !1 : e === "visible" && setTimeout(() => x.value = !0, 50);
|
|
104
|
+
}), O(H, (e) => {
|
|
105
|
+
e ? setTimeout(() => x.value = !0, 50) : x.value = !1;
|
|
106
|
+
}), st($, z), tt(() => setTimeout(() => R(), 0)), et(() => z()), D({
|
|
107
|
+
scrollToActiveTab: R,
|
|
108
|
+
removeFocus: B
|
|
109
|
+
}), O(() => l.panes, () => M.update(), {
|
|
110
|
+
flush: "post"
|
|
111
|
+
});
|
|
112
|
+
const Y = I(() => {
|
|
113
|
+
var e, t;
|
|
114
|
+
return f.value ? [c("span", {
|
|
115
|
+
class: [o.e("nav-prev"), o.is("disabled", !f.value.prev)],
|
|
116
|
+
onClick: j
|
|
117
|
+
}, [(e = l.arrowLeftIconCfg) != null && e.icon ? c(T, l.arrowLeftIconCfg, null) : null]), c("span", {
|
|
118
|
+
class: [o.e("nav-next"), o.is("disabled", !f.value.next)],
|
|
119
|
+
onClick: U
|
|
120
|
+
}, [(t = l.arrowRightIconCfg) != null && t.icon ? c(T, l.arrowRightIconCfg, null) : null])] : null;
|
|
121
|
+
}), G = I(() => {
|
|
122
|
+
var e;
|
|
123
|
+
return (e = l.panes) == null ? void 0 : e.map((t, n) => {
|
|
124
|
+
var N, F, L;
|
|
125
|
+
const p = t.uid, i = t.props.disabled, a = t.props.name ?? t.index ?? `${n}`, u = !i && (t.isClosable || l.editable);
|
|
126
|
+
t.index = `${n}`;
|
|
127
|
+
const r = u ? c("span", {
|
|
128
|
+
class: "is-icon-close",
|
|
129
|
+
onClick: (d) => C("tabRemove", t, d)
|
|
130
|
+
}, [(N = l.closeIconCfg) != null && N.icon ? c(T, l.closeIconCfg, null) : null]) : null, s = ((L = (F = t.slots).label) == null ? void 0 : L.call(F)) || t.props.label, Q = !i && t.active ? 0 : -1;
|
|
131
|
+
return c("div", {
|
|
132
|
+
ref: `tab-${p}`,
|
|
133
|
+
class: [o.e("item"), o.is(m.props.tabPosition), o.is("active", t.active), o.is("disabled", i), o.is("closable", u), o.is("focus", S.value)],
|
|
134
|
+
id: `tab-${a}`,
|
|
135
|
+
key: `tab-${p}`,
|
|
136
|
+
"aria-controls": `pane-${a}`,
|
|
137
|
+
role: "tab",
|
|
138
|
+
"aria-selected": t.active,
|
|
139
|
+
tabindex: Q,
|
|
140
|
+
onFocus: () => P(),
|
|
141
|
+
onBlur: () => B(),
|
|
142
|
+
onClick: (d) => {
|
|
143
|
+
B(), C("tabClick", t, a, d);
|
|
144
|
+
},
|
|
145
|
+
onContextmenu: (d) => {
|
|
146
|
+
d.preventDefault(), C("tabContextmenu", {
|
|
147
|
+
pane: t,
|
|
148
|
+
index: n,
|
|
149
|
+
event: d
|
|
150
|
+
});
|
|
151
|
+
},
|
|
152
|
+
onKeydown: (d) => {
|
|
153
|
+
u && (d.code === k.delete || d.code === k.backspace) && C("tabRemove", t, d);
|
|
154
|
+
}
|
|
155
|
+
}, [s, r]);
|
|
156
|
+
});
|
|
157
|
+
}), J = l.editable || l.addable ? c("span", {
|
|
158
|
+
class: o.e("new-tab"),
|
|
159
|
+
tabindex: "0",
|
|
160
|
+
onClick: () => C("tabAdd"),
|
|
161
|
+
onKeydown: (e) => {
|
|
162
|
+
e.code === k.enter && C("tabAdd");
|
|
163
|
+
}
|
|
164
|
+
}, [(A = l.addIconCfg) != null && A.icon ? c(T, l.addIconCfg, null) : null]) : null;
|
|
165
|
+
return () => c("div", {
|
|
166
|
+
ref: $,
|
|
167
|
+
class: [o.e("nav-wrap"), o.is("scrollable", !!f.value), o.is(m.props.tabPosition)]
|
|
168
|
+
}, [Y.value, c("div", {
|
|
169
|
+
class: o.e("nav-scroll"),
|
|
170
|
+
ref: b
|
|
171
|
+
}, [c("div", {
|
|
172
|
+
class: [o.e("nav"), o.is(m.props.tabPosition), o.is("stretch", l.stretch && ["top", "bottom"].includes(m.props.tabPosition))],
|
|
173
|
+
ref: h,
|
|
174
|
+
style: W.value,
|
|
175
|
+
role: "tablist",
|
|
176
|
+
onKeydown: X
|
|
177
|
+
}, [l.type ? null : c(ct, {
|
|
178
|
+
tabs: [...l.panes]
|
|
179
|
+
}, null), G.value]), J])]);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
export {
|
|
183
|
+
Lt as default
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=tab-nav.vue2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-nav.vue2.mjs","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":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,MAAMA;AAAAA;AAAAA,EAA2BC,EAAa,SAAS;AAAA,GAGvDC,KAA6BC,EAAmB;AAAA,EAC/CC,MAAMJ,EAAOK,EAAC;AACf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AAyDD,UAAMC,IAAKC,KAGLC,IAAWC,EAAOC,EAAkB;AAC1C,IAAKF,KAAUG,GAAWX,EAAOK,KAAM,kCAAiC;AAExE,UAAMO,IAAKX,EAAa,MAAM,GACxBY,IAAaC,MACbC,IAAUC,MAGVC,IAAMC,KAENC,IAAaD,KAEbE,IAAOF,KAGPG,IAAaH,EAAwB,EAAK,GAE1CI,IAAYJ,EAAI,CAAC,GACjBK,IAAUL,EAAI,EAAK,GACnBM,IAAYN,EAAI,EAAI,GAGpBO,IAAWC,EAAS,MAAM,CAAC,OAAO,QAAQ,EAAEC,SAASnB,EAASoB,MAAMC,WAAW,IAAK,UAAU,QAAQ,GAGtGC,IAAWJ,EAAwB,OAEhC;AAAA,MACLK,WAAY,YAFFN,EAASO,UAAU,UAAU,MAAM,QAEdV,EAAUU;AAAAA,MAE5C,GAGKC,IAAaA,MAAM;AACvB,UAAI,CAACd,EAAWa;AAAO;AACvB,YAAME,IACJf,EAAWa,MAAO,SAAQG,EAAWV,EAASO,KAAK,GAAG,GAClDI,IAAgBd,EAAUU;AAEhC,MAAKI,MAELd,EAAUU,QAAQI,IAAgBF,IAAgBE,IAAgBF,IAAgB;AAAA,OAI9EG,IAAaA,MAAM;AACvB,UAAI,CAAClB,EAAWa,SAAS,CAACZ,EAAKY;AAAO;AAEtC,YAAMM,IAAUlB,EAAKY,MAAO,SAAQG,EAAWV,EAASO,KAAK,GAAG,GAC1DE,IACJf,EAAWa,MAAO,SAAQG,EAAWV,EAASO,KAAK,GAAG,GAClDI,IAAgBd,EAAUU;AAEhC,MAAIM,IAAUF,KAAiBF,MAE/BZ,EAAUU,QAAQM,IAAUF,IAAgBF,IAAgB,IACxDE,IAAgBF,IAChBI,IAAUJ;AAAAA,OAIVK,IAAoB,YAAW;AACnC,YAAMC,IAAMpB,EAAKY;AACjB,UAAI,CAACX,EAAWW,SAAS,CAACf,EAAIe,SAAS,CAACb,EAAWa,SAAS,CAACQ;AAAK;AAElE,YAAMC,GAAQ;AAEd,YAAMC,IAAYzB,EAAIe,MAAMW,cAAc,YAAY;AACtD,UAAI,CAACD;AAAW;AAEhB,YAAME,IAAYzB,EAAWa,OACvBa,IAAe,CAAC,OAAO,QAAQ,EAAElB,SACrCnB,EAASoB,MAAMC,WAAW,GAEtBiB,IAAoBJ,EAAUK,yBAE9BC,IAAoBJ,EAAUG,yBAC9BE,IAAYJ,IACdL,EAAIU,cAAcF,EAAkBG,QACpCX,EAAIY,eAAeJ,EAAkBK,QAEnCjB,IAAgBd,EAAUU;AAEhC,UAAIsB,IAAYlB;AAEhB,MAAIS,KACEC,EAAkBS,OAAOP,EAAkBO,SAC7CD,IACElB,KAAiBY,EAAkBO,OAAOT,EAAkBS,QAE5DT,EAAkBU,QAAQR,EAAkBQ,UAC9CF,IACElB,IAAgBU,EAAkBU,QAAQR,EAAkBQ,WAG5DV,EAAkBW,MAAMT,EAAkBS,QAC5CH,IACElB,KAAiBY,EAAkBS,MAAMX,EAAkBW,OAE3DX,EAAkBY,SAASV,EAAkBU,WAC/CJ,IACElB,KACCU,EAAkBY,SAASV,EAAkBU,WAGpDJ,IAAYK,KAAKC,IAAIN,GAAW,CAAC,GACjChC,EAAUU,QAAQ2B,KAAKE,IAAIP,GAAWL,CAAS;AAAA,OAG3Ca,IAASA,MAAM;AACnB,UAAI,CAAC1C,EAAKY,SAAS,CAACb,EAAWa;AAAO;AAEtC,YAAMM,IAAUlB,EAAKY,MAAO,SAAQG,EAAWV,EAASO,KAAK,GAAG,GAE1DE,IAAgBf,EAAWa,MAAO,SAAQG,EAAWV,EAASO,KAAK,GAAG,GAEtEI,IAAgBd,EAAUU;AAEhC,MAAIE,IAAgBI,KAClBjB,EAAWW,QAAQX,EAAWW,SAAS,CAAA,GACvCX,EAAWW,MAAM+B,OAAO3B,GACxBf,EAAWW,MAAMgC,OAAO5B,IAAgBF,IAAgBI,GACpDA,IAAUF,IAAgBF,MAC5BZ,EAAUU,QAAQM,IAAUJ,OAG9Bb,EAAWW,QAAQ,IACfI,IAAgB,MAClBd,EAAUU,QAAQ;AAAA,OAKlBiC,IAAaC,OAAqB;AACtC,YAAMC,IAAOD,EAAEC,MAET;AAAA,QAAEC,IAAAA;AAAAA,QAAIC,MAAAA;AAAAA,QAAMd,MAAAA;AAAAA,QAAMC,OAAAA;AAAAA,MAAO,IAAGc;AAClC,UAAI,CAAC,CAACF,GAAIC,GAAMd,GAAMC,CAAK,EAAE7B,SAASwC,CAAI;AAAG;AAG7C,YAAMI,IAAUC,MAAMC,KACnBP,EAAEQ,cAAiCC,iBAClC,8BAA8B,CAC/B,GAEGC,IAAeL,EAAQM,QAAQX,EAAEY,MAAM;AAE7C,UAAIC;AACJ,MAAIZ,MAASZ,KAAQY,MAASC,IAExBQ,MAAiB,IAEnBG,IAAYR,EAAQS,SAAS,IAE7BD,IAAYH,IAAe,IAIzBA,IAAeL,EAAQS,SAAS,IAElCD,IAAYH,IAAe,IAE3BG,IAAY,GAGhBR,EAAQQ,CAAS,EAAEE,SACnBV,EAAQQ,CAAS,EAAEG,SACnBC;OAGIA,IAAWA,MAAM;AACrB,MAAI3D,EAAUQ,UAAOT,EAAQS,QAAQ;AAAA,OAEjCoD,IAAcA,MAAO7D,EAAQS,QAAQ;AAE3CqD,IAAAA,EAAMxE,GAAaA,CAAAA,MAAe;AAChC,MAAIA,MAAe,WACjBW,EAAUQ,QAAQ,KACTnB,MAAe,aACxByE,WAAW,MAAO9D,EAAUQ,QAAQ,IAAO,EAAE;AAAA,IAEjD,CAAC,GAEDqD,EAAMtE,GAAUA,CAAAA,MAAY;AAC1B,MAAIA,IACFuE,WAAW,MAAO9D,EAAUQ,QAAQ,IAAO,EAAE,IAE7CR,EAAUQ,QAAQ;AAAA,IAEtB,CAAC,GAGDuD,GAAkBtE,GAAK6C,CAAM,GAE7B0B,GAAU,MAAMF,WAAW,MAAM/C,EAAiB,GAAI,CAAC,CAAC,GACxDkD,GAAU,MAAM3B,EAAM,CAAE,GAExB4B,EAAa;AAAA,MACXnD,mBAAAA;AAAAA,MACA6C,aAAAA;AAAAA,IACF,CAAC,GAEDC,EACE,MAAMM,EAAQC,OACd,MAAMtF,EAAGwD,OAAM,GACf;AAAA,MAAE+B,OAAO;AAAA,IAAO,CAAC;AAInB,UAAMC,IAAYpE,EAAS,MAAM;;AAC/B,aAAOL,EAAWW,QACd,CAAA+D,EAAA,QAAA;AAAA,QAAA,OAES,CACLnF,EAAGsD,EAAE,UAAU,GACftD,EAAGoF,GAAG,YAAY,CAAC3E,EAAWW,MAAM+B,IAAI,CAAC;AAAA,QAC1C,SACQ9B;AAAAA,MAAU,GAAA,EAElB0D,IAAAA,EAAQM,qBAARN,QAAAA,EAA0BO,OAAIH,EAAAI,GAAgBR,EAAQM,kBAA+B,IAAA,IAAA,IAAI,IAAAF,EAAA,QAAA;AAAA,QAAA,OAGnF,CACLnF,EAAGsD,EAAE,UAAU,GACftD,EAAGoF,GAAG,YAAY,CAAC3E,EAAWW,MAAMgC,IAAI,CAAC;AAAA,QAC1C,SACQ3B;AAAAA,MAAU,GAAA,EAEjBsD,IAAAA,EAAQS,sBAART,QAAAA,EAA2BO,OAAIH,EAAAI,GAAgBR,EAAQS,2BAAgC,IAAI,CAAA,CAAA,IAG/F;AAAA,IACN,CAAC,GAGKC,IAAO3E,EAAS,MAAM;;AAC1B,cAAOiE,IAAAA,EAAQC,UAARD,gBAAAA,EAAeW,IAAI,CAACC,GAAMC,MAAU;;AACzC,cAAMC,IAAMF,EAAKE,KACXC,IAAWH,EAAK3E,MAAM8E,UACtBC,IAAUJ,EAAK3E,MAAMxB,QAAQmG,EAAKC,SAAU,GAAEA,KAC9CI,IAAW,CAACF,MAAaH,EAAKM,cAAclB,EAAQmB;AAC1DP,QAAAA,EAAKC,QAAS,GAAEA;AAGhB,cAAMO,IAAWH,IAAQb,EAAA,QAAA;AAAA,UAAA,OACX;AAAA,UAAe,SAAWiB,CAAAA,MAAmBC,EAAK,aAAaV,GAAMS,CAAE;AAAA,QAAC,GAAA,EACjFrB,IAAAA,EAAQuB,iBAARvB,QAAAA,EAAsBO,OAAIH,EAAAI,GAAgBR,EAAQuB,cAA2B,IAAA,IAAA,IAAI,KAElF,MAEEC,MAAkBZ,KAAAA,IAAAA,EAAKa,OAAMC,UAAXd,gBAAAA,EAAAA,KAAAA,OAAwBA,EAAK3E,MAAMyF,OACrDC,IAAW,CAACZ,KAAYH,EAAKgB,SAAS,IAAI;AAEhD,eAAAxB,EAAA,OAAA;AAAA,UAAA,KAEU,OAAMU;AAAAA,UAAK,OACV,CACL7F,EAAGsD,EAAE,MAAM,GACXtD,EAAGoF,GAAGxF,EAASoB,MAAMC,WAAW,GAChCjB,EAAGoF,GAAG,UAAUO,EAAKgB,MAAM,GAC3B3G,EAAGoF,GAAG,YAAYU,CAAQ,GAC1B9F,EAAGoF,GAAG,YAAYY,CAAQ,GAC1BhG,EAAGoF,GAAG,SAASzE,EAAQS,KAAK,CAAC;AAAA,UAC9B,IACI,OAAM2E;AAAAA,UAAS,KACd,OAAMF;AAAAA,UAAK,iBACD,QAAOE;AAAAA,UAAS,MAC3B;AAAA,UAAK,iBACKJ,EAAKgB;AAAAA,UAAM,UAChBD;AAAAA,UAAQ,SACTE,MAAMrC,EAAU;AAAA,UAAA,QACjBsC,MAAMrC,EAAa;AAAA,UAAA,SACjB4B,CAAAA,MAAmB;AAC3B5B,YAAAA,KACA6B,EAAK,YAAYV,GAAMI,GAASK,CAAE;AAAA,UACnC;AAAA,UAAA,eACeU,CAAAA,MAAU;AACxBA,YAAAA,EAAMC,eAAc,GACpBV,EAAK,kBAAkB;AAAA,cAAEV,MAAAA;AAAAA,cAAMC,OAAAA;AAAAA,cAAOkB,OAAAA;AAAAA,YAAM,CAAC;AAAA,UAC9C;AAAA,UAAA,WACWV,CAAAA,MAAsB;AAChC,YACEJ,MACCI,EAAG7C,SAASG,EAAWsD,UACtBZ,EAAG7C,SAASG,EAAWuD,cAEzBZ,EAAK,aAAaV,GAAMS,CAAE;AAAA,UAE9B;AAAA,QAAC,GAAA,CAEIG,GAAiBJ,CAAS,CAAA;AAAA,MAGrC;AAAA,IACF,CAAC,GAGKe,IACJnC,EAAQmB,YAAYnB,EAAQoC,UAAOhC,EAAA,QAAA;AAAA,MAAA,OAExBnF,EAAGsD,EAAE,SAAS;AAAA,MAAC,UACb;AAAA,MAAG,SACH8D,MAAMf,EAAK,QAAQ;AAAA,MAAC,WACjBD,CAAAA,MAAsB;AAChC,QAAIA,EAAG7C,SAASG,EAAW2D,SAAOhB,EAAK,QAAQ;AAAA,MACjD;AAAA,IAAC,GAAA,EAEAtB,IAAAA,EAAQuC,eAARvC,QAAAA,EAAoBO,OAAIH,EAAAI,GAAgBR,EAAQuC,YAAyB,IAAA,IAAA,IAAI,KAE9E;AAEO,WAAA,MACXnC,EAAA,OAAA;AAAA,MAAA,KAES9E;AAAAA,MAAG,OACD,CACLL,EAAGsD,EAAE,UAAU,GACftD,EAAGoF,GAAG,cAAc,CAAC,CAAC3E,EAAWW,KAAK,GACtCpB,EAAGoF,GAAGxF,EAASoB,MAAMC,WAAW,CAAE;AAAA,IACnC,GAAA,CAEAiE,EAAU9D,OAAK+D,EAAA,OAAA;AAAA,MAAA,OACJnF,EAAGsD,EAAE,YAAY;AAAA,MAAC,KAAO/C;AAAAA,IAAU,GAAA,CAAA4E,EAAA,OAAA;AAAA,MAAA,OAEpC,CACLnF,EAAGsD,EAAE,KAAK,GACVtD,EAAGoF,GAAGxF,EAASoB,MAAMC,WAAW,GAChCjB,EAAGoF,GACD,WACAL,EAAQwC,WACR,CAAC,OAAO,QAAQ,EAAExG,SAASnB,EAASoB,MAAMC,WAAW,CAAE,CACxD;AAAA,MACF,KACIT;AAAAA,MAAI,OACFU,EAASE;AAAAA,MAAK,MAChB;AAAA,MAAS,WACHiC;AAAAA,OAEP,CACD0B,EAAQyC,OAA8C,OAA1CrC,EAAAsC,IAAA;AAAA,MAAA,MAAiB,CAAC,GAAG1C,EAAQC,KAAK;AAAA,IAAC,GAAA,IAAA,GAChDS,EAAKrE,KACN,IAEF8F,CAAS,CAAA,CAAA,CAAA;AAAA;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { defineComponent as b, getCurrentInstance as y, useSlots as C, inject as B, ref as m, computed as d, watch as g, reactive as w, onMounted as N, onUnmounted as k, unref as t, withDirectives as x, openBlock as z, createElementBlock as R, normalizeClass as S, renderSlot as _, vShow as $, createCommentVNode as E } from "vue";
|
|
2
|
+
import "@vue/shared";
|
|
3
|
+
import { throwError as P } from "../../utils/error.mjs";
|
|
4
|
+
import { TabsRootContextKey as j } from "./types.mjs";
|
|
5
|
+
import { useNamespace as D } from "../../hooks/use-namespace/index.mjs";
|
|
6
|
+
import "@popperjs/core";
|
|
7
|
+
import "lodash";
|
|
8
|
+
import "../../hooks/use-z-index/index.mjs";
|
|
9
|
+
import { eagerComputed as p } from "@vueuse/core";
|
|
10
|
+
import "@vft/utils";
|
|
11
|
+
const I = ["id", "aria-hidden", "aria-labelledby"], i = (
|
|
12
|
+
/* hoist-static*/
|
|
13
|
+
D("tab-pane")
|
|
14
|
+
), K = b({
|
|
15
|
+
name: i.b()
|
|
16
|
+
}), O = /* @__PURE__ */ b({
|
|
17
|
+
...K,
|
|
18
|
+
props: {
|
|
19
|
+
label: null,
|
|
20
|
+
name: null,
|
|
21
|
+
closable: { type: Boolean },
|
|
22
|
+
disabled: { type: Boolean },
|
|
23
|
+
lazy: { type: Boolean }
|
|
24
|
+
},
|
|
25
|
+
setup(o) {
|
|
26
|
+
const n = y(), f = C(), a = B(j);
|
|
27
|
+
a || P(i.b(), "usage: <vft-tabs><vft-tab-pane /></vft-tabs/>");
|
|
28
|
+
const r = m(), v = d(() => o.closable || a.props.closable), e = p(() => a.currentName.value === (o.name ?? r.value)), c = m(e.value), l = d(() => o.name ?? r.value), h = p(() => !o.lazy || c.value || e.value);
|
|
29
|
+
g(e, (s) => {
|
|
30
|
+
s && (c.value = !0);
|
|
31
|
+
});
|
|
32
|
+
const u = w({
|
|
33
|
+
uid: n.uid,
|
|
34
|
+
slots: f,
|
|
35
|
+
props: n.props,
|
|
36
|
+
paneName: l,
|
|
37
|
+
active: e,
|
|
38
|
+
index: r,
|
|
39
|
+
isClosable: v,
|
|
40
|
+
attrs: n.attrs
|
|
41
|
+
});
|
|
42
|
+
return N(() => {
|
|
43
|
+
a.registerPane(u);
|
|
44
|
+
}), k(() => {
|
|
45
|
+
a.unregisterPane(u.uid);
|
|
46
|
+
}), (s, M) => t(h) ? x((z(), R("div", {
|
|
47
|
+
key: 0,
|
|
48
|
+
id: `pane-${t(l)}`,
|
|
49
|
+
class: S(t(i).b()),
|
|
50
|
+
role: "tabpanel",
|
|
51
|
+
"aria-hidden": !t(e),
|
|
52
|
+
"aria-labelledby": `tab-${t(l)}`
|
|
53
|
+
}, [
|
|
54
|
+
_(s.$slots, "default")
|
|
55
|
+
], 10, I)), [
|
|
56
|
+
[$, t(e)]
|
|
57
|
+
]) : E("", !0);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
export {
|
|
61
|
+
O as default
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=tab-pane.vue2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-pane.vue2.mjs","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":";;;;;;;;;;oDACMA;AAAA;AAAA,EAAuBC,EAAa,UAAU;AAAA,GAGpDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;AA2CD,UAAMI,IAAKC,KAELC,IAAQC,KAERC,IAAWC,EAAOC,CAAkB;AAE1C,IAAKF,KACOG,EAAAX,EAAG,EAAE,GAAG,+CAA+C;AAEnE,UAAMY,IAAQC,KAERC,IAAaC,EAAS,MAAMC,EAAQ,YAAYR,EAAS,MAAM,QAAQ,GAEvES,IAASC,EAAc,MACpBV,EAAS,YAAY,WAAWQ,EAAQ,QAAQJ,EAAM,MAC9D,GAEKO,IAASN,EAAII,EAAO,KAAK,GAEzBG,IAAWL,EAAS,MAAMC,EAAQ,QAAQJ,EAAM,KAAK,GAErDS,IAAiBH,EAAc,MAC5B,CAACF,EAAQ,QAAQG,EAAO,SAASF,EAAO,KAChD;AAEK,IAAAK,EAAAL,GAAQ,CAACM,MAAQ;AACjB,MAAAA,MAAKJ,EAAO,QAAQ;AAAA,IAAA,CACzB;AAED,UAAMK,IAAOC,EAAS;AAAA,MACpB,KAAKrB,EAAG;AAAA,MACR,OAAAE;AAAA,MACA,OAAOF,EAAG;AAAA,MACV,UAAAgB;AAAA,MACA,QAAAH;AAAA,MACA,OAAAL;AAAA,MACA,YAAAE;AAAA,MACA,OAAOV,EAAG;AAAA,IAAA,CACX;AAGD,WAAAsB,EAAU,MAAM;AACd,MAAAlB,EAAS,aAAagB,CAAuB;AAAA,IAAA,CAC9C,GAEDG,EAAY,MAAM;AACP,MAAAnB,EAAA,eAAegB,EAAK,GAAG;AAAA,IAAA,CACjC;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { defineComponent as y, getCurrentInstance as g, useSlots as M, ref as h, watch as I, nextTick as D, computed as l, createVNode as s, provide as F } from "vue";
|
|
2
|
+
import { useNamespace as O } from "../../hooks/use-namespace/index.mjs";
|
|
3
|
+
import "@popperjs/core";
|
|
4
|
+
import "lodash";
|
|
5
|
+
import "../../hooks/use-z-index/index.mjs";
|
|
6
|
+
import "@vueuse/core";
|
|
7
|
+
import "@vue/shared";
|
|
8
|
+
import { isNumberish as f, isUndefined as p } from "@vft/utils";
|
|
9
|
+
import { useOrderedChildren as U } from "../../hooks/use-ordered-children/index.mjs";
|
|
10
|
+
import { UPDATE_MODEL_EVENT as $ } from "@vft/constants";
|
|
11
|
+
import K from "./tab-nav.vue2.mjs";
|
|
12
|
+
import { TabsRootContextKey as S } from "./types.mjs";
|
|
13
|
+
const r = (
|
|
14
|
+
/* hoist-static*/
|
|
15
|
+
O("tabs")
|
|
16
|
+
), j = y({
|
|
17
|
+
name: r.b()
|
|
18
|
+
}), ne = /* @__PURE__ */ y({
|
|
19
|
+
...j,
|
|
20
|
+
props: {
|
|
21
|
+
type: {
|
|
22
|
+
default: ""
|
|
23
|
+
},
|
|
24
|
+
closable: {
|
|
25
|
+
type: Boolean
|
|
26
|
+
},
|
|
27
|
+
addable: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: !1
|
|
30
|
+
},
|
|
31
|
+
modelValue: null,
|
|
32
|
+
editable: {
|
|
33
|
+
type: Boolean
|
|
34
|
+
},
|
|
35
|
+
tabPosition: {
|
|
36
|
+
default: "top"
|
|
37
|
+
},
|
|
38
|
+
beforeLeave: {
|
|
39
|
+
type: Function
|
|
40
|
+
},
|
|
41
|
+
stretch: {
|
|
42
|
+
type: Boolean
|
|
43
|
+
},
|
|
44
|
+
closeIconCfg: null,
|
|
45
|
+
addIconCfg: null,
|
|
46
|
+
arrowLeftIconCfg: null,
|
|
47
|
+
arrowRightIconCfg: null
|
|
48
|
+
},
|
|
49
|
+
emits: {
|
|
50
|
+
[$]: (t) => f(t),
|
|
51
|
+
/** 点击 */
|
|
52
|
+
tabClick: (t, d) => d instanceof Event,
|
|
53
|
+
/** 右键点击 */
|
|
54
|
+
tabContextMenu: (t, d, a) => a instanceof Event,
|
|
55
|
+
tabChange: (t) => f(t),
|
|
56
|
+
edit: (t, d) => ["remove", "add"].includes(d),
|
|
57
|
+
/** 移除 */
|
|
58
|
+
tabRemove: (t) => f(t),
|
|
59
|
+
/** 增加 */
|
|
60
|
+
tabAdd: () => !0
|
|
61
|
+
},
|
|
62
|
+
setup(t, {
|
|
63
|
+
expose: d,
|
|
64
|
+
emit: a
|
|
65
|
+
}) {
|
|
66
|
+
const w = g(), i = M(), u = h(), c = h(t.modelValue ?? "0"), T = (e) => {
|
|
67
|
+
c.value = e, a("update:modelValue", e), a("tabChange", e);
|
|
68
|
+
}, m = async (e) => {
|
|
69
|
+
var n, o, C;
|
|
70
|
+
if (!(c.value === e || p(e)))
|
|
71
|
+
try {
|
|
72
|
+
await ((n = t.beforeLeave) == null ? void 0 : n.call(t, e, c.value)) !== !1 && (T(e), (C = (o = u.value) == null ? void 0 : o.removeFocus) == null || C.call(o));
|
|
73
|
+
} catch {
|
|
74
|
+
}
|
|
75
|
+
}, R = (e, n, o) => {
|
|
76
|
+
e.props.disabled || (m(n), a("tabClick", e, o));
|
|
77
|
+
}, L = (e, n) => {
|
|
78
|
+
e.props.disabled || p(e.props.name) || (n.stopPropagation(), a("edit", e.props.name, "remove"), a("tabRemove", e.props.name));
|
|
79
|
+
};
|
|
80
|
+
I(() => t.modelValue, (e) => m(e)), I(c, async () => {
|
|
81
|
+
var e;
|
|
82
|
+
await D(), (e = u.value) == null || e.scrollToActiveTab();
|
|
83
|
+
});
|
|
84
|
+
const N = () => {
|
|
85
|
+
a("edit", void 0, "add"), a("tabAdd");
|
|
86
|
+
}, x = (e, n, o) => {
|
|
87
|
+
a("tabContextMenu", e, n, o);
|
|
88
|
+
}, b = l(() => {
|
|
89
|
+
var e;
|
|
90
|
+
return s("div", {
|
|
91
|
+
class: r.e("content")
|
|
92
|
+
}, [(e = i.default) == null ? void 0 : e.call(i)]);
|
|
93
|
+
}), {
|
|
94
|
+
children: P,
|
|
95
|
+
addChild: k,
|
|
96
|
+
removeChild: A
|
|
97
|
+
} = U(g(), "vft-tab-pane");
|
|
98
|
+
F(S, {
|
|
99
|
+
props: w.props,
|
|
100
|
+
currentName: c,
|
|
101
|
+
registerPane: k,
|
|
102
|
+
unregisterPane: A
|
|
103
|
+
}), d({
|
|
104
|
+
currentName: c
|
|
105
|
+
});
|
|
106
|
+
const E = l(() => ({
|
|
107
|
+
icon: "vi-add",
|
|
108
|
+
color: "black",
|
|
109
|
+
size: 12,
|
|
110
|
+
...t.addIconCfg
|
|
111
|
+
})), V = l(() => ({
|
|
112
|
+
icon: "vi-close",
|
|
113
|
+
size: 12,
|
|
114
|
+
...t.closeIconCfg
|
|
115
|
+
})), z = l(() => ({
|
|
116
|
+
icon: "vi-arrow-left",
|
|
117
|
+
size: 18,
|
|
118
|
+
...t.arrowLeftIconCfg
|
|
119
|
+
})), B = l(() => ({
|
|
120
|
+
icon: "vi-arrow-right",
|
|
121
|
+
size: 18,
|
|
122
|
+
...t.arrowRightIconCfg
|
|
123
|
+
})), v = l(() => {
|
|
124
|
+
var e;
|
|
125
|
+
return s("div", {
|
|
126
|
+
class: [r.e("header"), r.is(t.tabPosition)]
|
|
127
|
+
}, [s(K, {
|
|
128
|
+
ref: u,
|
|
129
|
+
currentName: c.value,
|
|
130
|
+
panes: P.value,
|
|
131
|
+
stretch: t.stretch,
|
|
132
|
+
closeIconCfg: V.value,
|
|
133
|
+
addIconCfg: E.value,
|
|
134
|
+
arrowRightIconCfg: B.value,
|
|
135
|
+
arrowLeftIconCfg: z.value,
|
|
136
|
+
editable: t.editable,
|
|
137
|
+
addable: t.addable,
|
|
138
|
+
type: t.type,
|
|
139
|
+
onTabClick: R,
|
|
140
|
+
onTabRemove: L,
|
|
141
|
+
onTabAdd: N,
|
|
142
|
+
onTabContextmenu: x
|
|
143
|
+
}, null), (e = i.headerRight) == null ? void 0 : e.call(i)]);
|
|
144
|
+
});
|
|
145
|
+
return () => s("div", {
|
|
146
|
+
class: [r.b(), r.m(t.tabPosition), {
|
|
147
|
+
[r.m("card")]: t.type === "card",
|
|
148
|
+
[r.m("border-card")]: t.type === "border-card"
|
|
149
|
+
}]
|
|
150
|
+
}, [...t.tabPosition !== "bottom" ? [v.value, b.value] : [b.value, v.value]]);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
export {
|
|
154
|
+
ne as default
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=tabs.vue2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.vue2.mjs","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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","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":"AA0Da,MAAAA,IAAoD,OAAO,oBAAoB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","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":"AAoBa,MAAAA,IAAkE,OAAO,YAAY;"}
|