vft 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/component.mjs +13 -13
- package/es/components/avatar/avatar.vue2.mjs.map +1 -0
- package/es/components/avatar/index.mjs.map +1 -0
- package/es/components/back-top/back-top.vue2.mjs.map +1 -0
- package/es/components/back-top/index.mjs.map +1 -0
- package/es/components/back-top/use-back-top.mjs.map +1 -0
- package/es/components/collapse-transition/index.mjs.map +1 -0
- package/es/components/collapse-transition/src/collapse-transition.vue2.mjs.map +1 -0
- package/es/components/context-menu/context-menu.vue2.mjs.map +1 -0
- package/es/components/context-menu/createContextMenu.mjs.map +1 -0
- package/es/components/context-menu/useContextMenu.mjs.map +1 -0
- package/es/components/divider/divider.vue2.mjs.map +1 -0
- package/es/components/divider/index.mjs.map +1 -0
- package/es/components/empty/assets/no-collect.png.mjs.map +1 -0
- package/es/components/empty/assets/no-data.png.mjs.map +1 -0
- package/es/components/empty/assets/no-filter.png.mjs.map +1 -0
- package/es/components/empty/assets/no-page-data.png.mjs.map +1 -0
- package/es/components/empty/assets/no-search.png.mjs.map +1 -0
- package/es/components/empty/constants.mjs.map +1 -0
- package/es/components/empty/empty.vue2.mjs.map +1 -0
- package/es/components/empty/index.mjs.map +1 -0
- package/es/components/exception/exception.png.mjs.map +1 -0
- package/es/components/exception/exception.vue2.mjs.map +1 -0
- package/es/components/exception/index.mjs.map +1 -0
- package/es/{packages/components → components}/focus-trap/focus-trap.vue.mjs +1 -1
- package/es/components/focus-trap/focus-trap.vue2.mjs.map +1 -0
- package/es/components/focus-trap/tokens.mjs.map +1 -0
- package/es/components/focus-trap/utils.mjs.map +1 -0
- package/es/components/icon/icon.vue2.mjs.map +1 -0
- package/es/components/icon/index.mjs.map +1 -0
- package/es/components/menu/index.mjs.map +1 -0
- package/es/{packages/components → components}/menu/menu-collapse-transition.vue.mjs +1 -1
- package/es/components/menu/menu-collapse-transition.vue.mjs.map +1 -0
- package/es/components/menu/menu-collapse-transition.vue2.mjs.map +1 -0
- package/es/components/menu/menu-item-group.vue2.mjs.map +1 -0
- package/es/components/menu/menu-item.vue2.mjs.map +1 -0
- package/es/components/menu/menu.vue2.mjs.map +1 -0
- package/es/components/menu/sub-menu.vue2.mjs.map +1 -0
- package/es/components/menu/use-menu-css-var.mjs.map +1 -0
- package/es/components/menu/use-menu.mjs.map +1 -0
- package/es/components/menu/utils/menu-bar.mjs.map +1 -0
- package/es/components/menu/utils/menu-item.mjs.map +1 -0
- package/es/components/menu/utils/submenu.mjs.map +1 -0
- package/es/components/multiple-tabs/index.mjs.map +1 -0
- package/es/{packages/components → components}/multiple-tabs/multiple-tabs.vue2.mjs +1 -1
- package/es/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -0
- package/es/components/multiple-tabs/tab-content.vue2.mjs.map +1 -0
- package/es/components/multiple-tabs/use/use-multiple-tabs.mjs.map +1 -0
- package/es/components/multiple-tabs/use/use-tab-dropdown.mjs.map +1 -0
- package/es/components/popover/directive.mjs.map +1 -0
- package/es/components/popover/index.mjs.map +1 -0
- package/es/components/popover/popover.vue2.mjs.map +1 -0
- package/es/components/popper/arrow.vue2.mjs.map +1 -0
- package/es/components/popper/composables/use-content-dom.mjs.map +1 -0
- package/es/components/popper/composables/use-content.mjs.map +1 -0
- package/es/components/popper/composables/use-focus-trap.mjs.map +1 -0
- package/es/components/popper/constants.mjs.map +1 -0
- package/es/components/popper/content.vue2.mjs.map +1 -0
- package/es/components/popper/index.mjs.map +1 -0
- package/es/components/popper/popper.vue2.mjs.map +1 -0
- package/es/components/popper/trigger.vue2.mjs.map +1 -0
- package/es/components/popper/utils.mjs.map +1 -0
- package/es/components/result/index.mjs.map +1 -0
- package/es/components/result/result.vue2.mjs.map +1 -0
- package/es/components/slot/only-child.mjs.map +1 -0
- package/es/components/tabs/index.mjs.map +1 -0
- package/es/components/tabs/tab-bar.vue2.mjs.map +1 -0
- package/es/components/tabs/tab-nav.vue2.mjs.map +1 -0
- package/es/components/tabs/tab-pane.vue2.mjs.map +1 -0
- package/es/components/tabs/tabs.vue2.mjs.map +1 -0
- package/es/components/tabs/types.mjs.map +1 -0
- package/es/components/tooltip/constants.mjs.map +1 -0
- package/es/components/tooltip/content.vue2.mjs.map +1 -0
- package/es/components/tooltip/index.mjs.map +1 -0
- package/es/components/tooltip/tooltip.vue2.mjs.map +1 -0
- package/es/components/tooltip/trigger.vue2.mjs.map +1 -0
- package/es/components/tooltip/utils.mjs.map +1 -0
- package/es/constants/aria.mjs.map +1 -0
- package/es/constants/date.mjs.map +1 -0
- package/es/constants/event.mjs.map +1 -0
- package/es/constants/key.mjs.map +1 -0
- package/es/constants/size.mjs.map +1 -0
- package/es/hooks/use-delayed-toggle/index.mjs.map +1 -0
- package/es/hooks/use-forward-ref/index.mjs.map +1 -0
- package/es/hooks/use-id/index.mjs.map +1 -0
- package/es/hooks/use-model-toggle/index.mjs.map +1 -0
- package/es/hooks/use-namespace/index.mjs.map +1 -0
- package/es/hooks/use-ordered-children/index.mjs.map +1 -0
- package/es/hooks/use-popper/index.mjs.map +1 -0
- package/es/hooks/use-popper-container/index.mjs.map +1 -0
- package/es/hooks/use-timeout/index.mjs.map +1 -0
- package/es/hooks/use-z-index/index.mjs.map +1 -0
- package/es/index.mjs +37 -37
- package/es/make-installer.mjs +1 -1
- package/es/package.json.mjs +1 -1
- package/es/style.css +1 -1
- package/es/utils/error.mjs.map +1 -0
- package/es/utils/event.mjs.map +1 -0
- package/es/utils/helper.mjs.map +1 -0
- package/es/utils/typescript.mjs.map +1 -0
- package/es/utils/vue/install.mjs.map +1 -0
- package/es/utils/vue/vnode.mjs.map +1 -0
- package/lib/component.js +1 -1
- package/lib/component.js.map +1 -1
- package/lib/components/avatar/avatar.vue2.js.map +1 -0
- package/lib/components/avatar/index.js.map +1 -0
- package/lib/components/back-top/back-top.vue2.js.map +1 -0
- package/lib/components/back-top/index.js.map +1 -0
- package/lib/components/back-top/use-back-top.js.map +1 -0
- package/lib/components/collapse-transition/index.js.map +1 -0
- package/lib/components/collapse-transition/src/collapse-transition.vue2.js.map +1 -0
- package/lib/components/context-menu/context-menu.vue2.js.map +1 -0
- package/lib/components/context-menu/createContextMenu.js.map +1 -0
- package/lib/components/context-menu/useContextMenu.js.map +1 -0
- package/lib/components/divider/divider.vue2.js.map +1 -0
- package/lib/components/divider/index.js.map +1 -0
- package/lib/components/empty/assets/no-collect.png.js.map +1 -0
- package/lib/components/empty/assets/no-data.png.js.map +1 -0
- package/lib/components/empty/assets/no-filter.png.js.map +1 -0
- package/lib/components/empty/assets/no-page-data.png.js.map +1 -0
- package/lib/components/empty/assets/no-search.png.js.map +1 -0
- package/lib/components/empty/constants.js.map +1 -0
- package/lib/components/empty/empty.vue2.js.map +1 -0
- package/lib/components/empty/index.js.map +1 -0
- package/lib/components/exception/exception.png.js.map +1 -0
- package/lib/components/exception/exception.vue2.js.map +1 -0
- package/lib/components/exception/index.js.map +1 -0
- package/lib/components/focus-trap/focus-trap.vue.js +2 -0
- package/lib/components/focus-trap/focus-trap.vue2.js.map +1 -0
- package/lib/components/focus-trap/tokens.js.map +1 -0
- package/lib/components/focus-trap/utils.js.map +1 -0
- package/lib/components/icon/icon.vue2.js.map +1 -0
- package/lib/components/icon/index.js.map +1 -0
- package/lib/components/menu/index.js.map +1 -0
- package/lib/components/menu/menu-collapse-transition.vue.js +2 -0
- package/lib/components/menu/menu-collapse-transition.vue.js.map +1 -0
- package/lib/components/menu/menu-collapse-transition.vue2.js.map +1 -0
- package/lib/components/menu/menu-item-group.vue2.js.map +1 -0
- package/lib/components/menu/menu-item.vue2.js.map +1 -0
- package/lib/components/menu/menu.vue2.js.map +1 -0
- package/lib/components/menu/sub-menu.vue2.js.map +1 -0
- package/lib/components/menu/use-menu-css-var.js.map +1 -0
- package/lib/components/menu/use-menu.js.map +1 -0
- package/lib/components/menu/utils/menu-bar.js.map +1 -0
- package/lib/components/menu/utils/menu-item.js.map +1 -0
- package/lib/components/menu/utils/submenu.js.map +1 -0
- package/lib/components/multiple-tabs/index.js.map +1 -0
- package/lib/components/multiple-tabs/multiple-tabs.vue2.js +2 -0
- package/lib/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -0
- package/lib/components/multiple-tabs/tab-content.vue2.js.map +1 -0
- package/lib/components/multiple-tabs/use/use-multiple-tabs.js.map +1 -0
- package/lib/components/multiple-tabs/use/use-tab-dropdown.js.map +1 -0
- package/lib/components/popover/directive.js.map +1 -0
- package/lib/components/popover/index.js.map +1 -0
- package/lib/components/popover/popover.vue2.js.map +1 -0
- package/lib/components/popper/arrow.vue2.js.map +1 -0
- package/lib/components/popper/composables/use-content-dom.js.map +1 -0
- package/lib/components/popper/composables/use-content.js.map +1 -0
- package/lib/components/popper/composables/use-focus-trap.js.map +1 -0
- package/lib/components/popper/constants.js.map +1 -0
- package/lib/components/popper/content.vue2.js.map +1 -0
- package/lib/components/popper/index.js.map +1 -0
- package/lib/components/popper/popper.vue2.js.map +1 -0
- package/lib/components/popper/trigger.vue2.js.map +1 -0
- package/lib/components/popper/utils.js.map +1 -0
- package/lib/components/result/index.js.map +1 -0
- package/lib/components/result/result.vue2.js.map +1 -0
- package/lib/components/slot/only-child.js.map +1 -0
- package/lib/components/tabs/index.js.map +1 -0
- package/lib/components/tabs/tab-bar.vue2.js.map +1 -0
- package/lib/components/tabs/tab-nav.vue2.js.map +1 -0
- package/lib/components/tabs/tab-pane.vue2.js.map +1 -0
- package/lib/components/tabs/tabs.vue2.js.map +1 -0
- package/lib/components/tabs/types.js.map +1 -0
- package/lib/components/tooltip/constants.js.map +1 -0
- package/lib/components/tooltip/content.vue2.js.map +1 -0
- package/lib/components/tooltip/index.js.map +1 -0
- package/lib/components/tooltip/tooltip.vue2.js.map +1 -0
- package/lib/components/tooltip/trigger.vue2.js.map +1 -0
- package/lib/components/tooltip/utils.js.map +1 -0
- package/lib/constants/aria.js.map +1 -0
- package/lib/constants/date.js.map +1 -0
- package/lib/constants/event.js.map +1 -0
- package/lib/constants/key.js.map +1 -0
- package/lib/constants/size.js.map +1 -0
- package/lib/hooks/use-delayed-toggle/index.js.map +1 -0
- package/lib/hooks/use-forward-ref/index.js.map +1 -0
- package/lib/hooks/use-id/index.js.map +1 -0
- package/lib/hooks/use-model-toggle/index.js.map +1 -0
- package/lib/hooks/use-namespace/index.js.map +1 -0
- package/lib/hooks/use-ordered-children/index.js.map +1 -0
- package/lib/hooks/use-popper/index.js.map +1 -0
- package/lib/hooks/use-popper-container/index.js.map +1 -0
- package/lib/hooks/use-timeout/index.js.map +1 -0
- package/lib/hooks/use-z-index/index.js.map +1 -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/package.json.js +1 -1
- package/lib/utils/error.js.map +1 -0
- package/lib/utils/event.js.map +1 -0
- package/lib/utils/helper.js.map +1 -0
- package/lib/utils/typescript.js.map +1 -0
- package/lib/utils/vue/install.js.map +1 -0
- package/lib/utils/vue/vnode.js.map +1 -0
- package/package.json +4 -2
- package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs +0 -297
- package/es/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.mjs.map +0 -1
- package/es/packages/components/avatar/avatar.vue2.mjs.map +0 -1
- package/es/packages/components/avatar/index.mjs.map +0 -1
- package/es/packages/components/back-top/back-top.vue2.mjs.map +0 -1
- package/es/packages/components/back-top/index.mjs.map +0 -1
- package/es/packages/components/back-top/use-back-top.mjs.map +0 -1
- package/es/packages/components/collapse-transition/index.mjs.map +0 -1
- package/es/packages/components/collapse-transition/src/collapse-transition.vue2.mjs.map +0 -1
- package/es/packages/components/context-menu/context-menu.vue2.mjs.map +0 -1
- package/es/packages/components/context-menu/createContextMenu.mjs.map +0 -1
- package/es/packages/components/context-menu/useContextMenu.mjs.map +0 -1
- package/es/packages/components/divider/divider.vue2.mjs.map +0 -1
- package/es/packages/components/divider/index.mjs.map +0 -1
- package/es/packages/components/empty/assets/no-collect.png.mjs.map +0 -1
- package/es/packages/components/empty/assets/no-data.png.mjs.map +0 -1
- package/es/packages/components/empty/assets/no-filter.png.mjs.map +0 -1
- package/es/packages/components/empty/assets/no-page-data.png.mjs.map +0 -1
- package/es/packages/components/empty/assets/no-search.png.mjs.map +0 -1
- package/es/packages/components/empty/constants.mjs.map +0 -1
- package/es/packages/components/empty/empty.vue2.mjs.map +0 -1
- package/es/packages/components/empty/index.mjs.map +0 -1
- package/es/packages/components/exception/exception.png.mjs.map +0 -1
- package/es/packages/components/exception/exception.vue2.mjs.map +0 -1
- package/es/packages/components/exception/index.mjs.map +0 -1
- package/es/packages/components/focus-trap/focus-trap.vue2.mjs.map +0 -1
- package/es/packages/components/focus-trap/tokens.mjs.map +0 -1
- package/es/packages/components/focus-trap/utils.mjs.map +0 -1
- package/es/packages/components/icon/icon.vue2.mjs.map +0 -1
- package/es/packages/components/icon/index.mjs.map +0 -1
- package/es/packages/components/menu/index.mjs.map +0 -1
- package/es/packages/components/menu/menu-collapse-transition.vue.mjs.map +0 -1
- package/es/packages/components/menu/menu-collapse-transition.vue2.mjs.map +0 -1
- package/es/packages/components/menu/menu-item-group.vue2.mjs.map +0 -1
- package/es/packages/components/menu/menu-item.vue2.mjs.map +0 -1
- package/es/packages/components/menu/menu.vue2.mjs.map +0 -1
- package/es/packages/components/menu/sub-menu.vue2.mjs.map +0 -1
- package/es/packages/components/menu/use-menu-css-var.mjs.map +0 -1
- package/es/packages/components/menu/use-menu.mjs.map +0 -1
- package/es/packages/components/menu/utils/menu-bar.mjs.map +0 -1
- package/es/packages/components/menu/utils/menu-item.mjs.map +0 -1
- package/es/packages/components/menu/utils/submenu.mjs.map +0 -1
- package/es/packages/components/multiple-tabs/index.mjs.map +0 -1
- package/es/packages/components/multiple-tabs/multiple-tabs.vue2.mjs.map +0 -1
- package/es/packages/components/multiple-tabs/tab-content.vue2.mjs.map +0 -1
- package/es/packages/components/multiple-tabs/use/use-multiple-tabs.mjs.map +0 -1
- package/es/packages/components/multiple-tabs/use/use-tab-dropdown.mjs.map +0 -1
- package/es/packages/components/popover/directive.mjs.map +0 -1
- package/es/packages/components/popover/index.mjs.map +0 -1
- package/es/packages/components/popover/popover.vue2.mjs.map +0 -1
- package/es/packages/components/popper/arrow.vue2.mjs.map +0 -1
- package/es/packages/components/popper/composables/use-content-dom.mjs.map +0 -1
- package/es/packages/components/popper/composables/use-content.mjs.map +0 -1
- package/es/packages/components/popper/composables/use-focus-trap.mjs.map +0 -1
- package/es/packages/components/popper/constants.mjs.map +0 -1
- package/es/packages/components/popper/content.vue2.mjs.map +0 -1
- package/es/packages/components/popper/index.mjs.map +0 -1
- package/es/packages/components/popper/popper.vue2.mjs.map +0 -1
- package/es/packages/components/popper/trigger.vue2.mjs.map +0 -1
- package/es/packages/components/popper/utils.mjs.map +0 -1
- package/es/packages/components/result/index.mjs.map +0 -1
- package/es/packages/components/result/result.vue2.mjs.map +0 -1
- package/es/packages/components/slot/only-child.mjs.map +0 -1
- package/es/packages/components/tabs/index.mjs.map +0 -1
- package/es/packages/components/tabs/tab-bar.vue2.mjs.map +0 -1
- package/es/packages/components/tabs/tab-nav.vue2.mjs.map +0 -1
- package/es/packages/components/tabs/tab-pane.vue2.mjs.map +0 -1
- package/es/packages/components/tabs/tabs.vue2.mjs.map +0 -1
- package/es/packages/components/tabs/types.mjs.map +0 -1
- package/es/packages/components/tooltip/constants.mjs.map +0 -1
- package/es/packages/components/tooltip/content.vue2.mjs.map +0 -1
- package/es/packages/components/tooltip/index.mjs.map +0 -1
- package/es/packages/components/tooltip/tooltip.vue2.mjs.map +0 -1
- package/es/packages/components/tooltip/trigger.vue2.mjs.map +0 -1
- package/es/packages/components/tooltip/utils.mjs.map +0 -1
- package/es/packages/constants/aria.mjs.map +0 -1
- package/es/packages/constants/date.mjs.map +0 -1
- package/es/packages/constants/event.mjs.map +0 -1
- package/es/packages/constants/key.mjs.map +0 -1
- package/es/packages/constants/size.mjs.map +0 -1
- package/es/packages/hooks/use-delayed-toggle/index.mjs.map +0 -1
- package/es/packages/hooks/use-forward-ref/index.mjs.map +0 -1
- package/es/packages/hooks/use-id/index.mjs.map +0 -1
- package/es/packages/hooks/use-model-toggle/index.mjs.map +0 -1
- package/es/packages/hooks/use-namespace/index.mjs.map +0 -1
- package/es/packages/hooks/use-ordered-children/index.mjs.map +0 -1
- package/es/packages/hooks/use-popper/index.mjs.map +0 -1
- package/es/packages/hooks/use-popper-container/index.mjs.map +0 -1
- package/es/packages/hooks/use-timeout/index.mjs.map +0 -1
- package/es/packages/hooks/use-z-index/index.mjs.map +0 -1
- package/es/packages/utils/error.mjs.map +0 -1
- package/es/packages/utils/event.mjs.map +0 -1
- package/es/packages/utils/helper.mjs.map +0 -1
- package/es/packages/utils/typescript.mjs.map +0 -1
- package/es/packages/utils/vue/install.mjs.map +0 -1
- package/es/packages/utils/vue/vnode.mjs.map +0 -1
- package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js +0 -2
- package/lib/node_modules/.pnpm/hotkeys-js@3.10.1/node_modules/hotkeys-js/dist/hotkeys.esm.js.map +0 -1
- package/lib/packages/components/avatar/avatar.vue2.js.map +0 -1
- package/lib/packages/components/avatar/index.js.map +0 -1
- package/lib/packages/components/back-top/back-top.vue2.js.map +0 -1
- package/lib/packages/components/back-top/index.js.map +0 -1
- package/lib/packages/components/back-top/use-back-top.js.map +0 -1
- package/lib/packages/components/collapse-transition/index.js.map +0 -1
- package/lib/packages/components/collapse-transition/src/collapse-transition.vue2.js.map +0 -1
- package/lib/packages/components/context-menu/context-menu.vue2.js.map +0 -1
- package/lib/packages/components/context-menu/createContextMenu.js.map +0 -1
- package/lib/packages/components/context-menu/useContextMenu.js.map +0 -1
- package/lib/packages/components/divider/divider.vue2.js.map +0 -1
- package/lib/packages/components/divider/index.js.map +0 -1
- package/lib/packages/components/empty/assets/no-collect.png.js.map +0 -1
- package/lib/packages/components/empty/assets/no-data.png.js.map +0 -1
- package/lib/packages/components/empty/assets/no-filter.png.js.map +0 -1
- package/lib/packages/components/empty/assets/no-page-data.png.js.map +0 -1
- package/lib/packages/components/empty/assets/no-search.png.js.map +0 -1
- package/lib/packages/components/empty/constants.js.map +0 -1
- package/lib/packages/components/empty/empty.vue2.js.map +0 -1
- package/lib/packages/components/empty/index.js.map +0 -1
- package/lib/packages/components/exception/exception.png.js.map +0 -1
- package/lib/packages/components/exception/exception.vue2.js.map +0 -1
- package/lib/packages/components/exception/index.js.map +0 -1
- package/lib/packages/components/focus-trap/focus-trap.vue.js +0 -2
- package/lib/packages/components/focus-trap/focus-trap.vue2.js.map +0 -1
- package/lib/packages/components/focus-trap/tokens.js.map +0 -1
- package/lib/packages/components/focus-trap/utils.js.map +0 -1
- package/lib/packages/components/icon/icon.vue2.js.map +0 -1
- package/lib/packages/components/icon/index.js.map +0 -1
- package/lib/packages/components/menu/index.js.map +0 -1
- package/lib/packages/components/menu/menu-collapse-transition.vue.js +0 -2
- package/lib/packages/components/menu/menu-collapse-transition.vue.js.map +0 -1
- package/lib/packages/components/menu/menu-collapse-transition.vue2.js.map +0 -1
- package/lib/packages/components/menu/menu-item-group.vue2.js.map +0 -1
- package/lib/packages/components/menu/menu-item.vue2.js.map +0 -1
- package/lib/packages/components/menu/menu.vue2.js.map +0 -1
- package/lib/packages/components/menu/sub-menu.vue2.js.map +0 -1
- package/lib/packages/components/menu/use-menu-css-var.js.map +0 -1
- package/lib/packages/components/menu/use-menu.js.map +0 -1
- package/lib/packages/components/menu/utils/menu-bar.js.map +0 -1
- package/lib/packages/components/menu/utils/menu-item.js.map +0 -1
- package/lib/packages/components/menu/utils/submenu.js.map +0 -1
- package/lib/packages/components/multiple-tabs/index.js.map +0 -1
- package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js +0 -2
- package/lib/packages/components/multiple-tabs/multiple-tabs.vue2.js.map +0 -1
- package/lib/packages/components/multiple-tabs/tab-content.vue2.js.map +0 -1
- package/lib/packages/components/multiple-tabs/use/use-multiple-tabs.js.map +0 -1
- package/lib/packages/components/multiple-tabs/use/use-tab-dropdown.js.map +0 -1
- package/lib/packages/components/popover/directive.js.map +0 -1
- package/lib/packages/components/popover/index.js.map +0 -1
- package/lib/packages/components/popover/popover.vue2.js.map +0 -1
- package/lib/packages/components/popper/arrow.vue2.js.map +0 -1
- package/lib/packages/components/popper/composables/use-content-dom.js.map +0 -1
- package/lib/packages/components/popper/composables/use-content.js.map +0 -1
- package/lib/packages/components/popper/composables/use-focus-trap.js.map +0 -1
- package/lib/packages/components/popper/constants.js.map +0 -1
- package/lib/packages/components/popper/content.vue2.js.map +0 -1
- package/lib/packages/components/popper/index.js.map +0 -1
- package/lib/packages/components/popper/popper.vue2.js.map +0 -1
- package/lib/packages/components/popper/trigger.vue2.js.map +0 -1
- package/lib/packages/components/popper/utils.js.map +0 -1
- package/lib/packages/components/result/index.js.map +0 -1
- package/lib/packages/components/result/result.vue2.js.map +0 -1
- package/lib/packages/components/slot/only-child.js.map +0 -1
- package/lib/packages/components/tabs/index.js.map +0 -1
- package/lib/packages/components/tabs/tab-bar.vue2.js.map +0 -1
- package/lib/packages/components/tabs/tab-nav.vue2.js.map +0 -1
- package/lib/packages/components/tabs/tab-pane.vue2.js.map +0 -1
- package/lib/packages/components/tabs/tabs.vue2.js.map +0 -1
- package/lib/packages/components/tabs/types.js.map +0 -1
- package/lib/packages/components/tooltip/constants.js.map +0 -1
- package/lib/packages/components/tooltip/content.vue2.js.map +0 -1
- package/lib/packages/components/tooltip/index.js.map +0 -1
- package/lib/packages/components/tooltip/tooltip.vue2.js.map +0 -1
- package/lib/packages/components/tooltip/trigger.vue2.js.map +0 -1
- package/lib/packages/components/tooltip/utils.js.map +0 -1
- package/lib/packages/constants/aria.js.map +0 -1
- package/lib/packages/constants/date.js.map +0 -1
- package/lib/packages/constants/event.js.map +0 -1
- package/lib/packages/constants/key.js.map +0 -1
- package/lib/packages/constants/size.js.map +0 -1
- package/lib/packages/hooks/use-delayed-toggle/index.js.map +0 -1
- package/lib/packages/hooks/use-forward-ref/index.js.map +0 -1
- package/lib/packages/hooks/use-id/index.js.map +0 -1
- package/lib/packages/hooks/use-model-toggle/index.js.map +0 -1
- package/lib/packages/hooks/use-namespace/index.js.map +0 -1
- package/lib/packages/hooks/use-ordered-children/index.js.map +0 -1
- package/lib/packages/hooks/use-popper/index.js.map +0 -1
- package/lib/packages/hooks/use-popper-container/index.js.map +0 -1
- package/lib/packages/hooks/use-timeout/index.js.map +0 -1
- package/lib/packages/hooks/use-z-index/index.js.map +0 -1
- package/lib/packages/utils/error.js.map +0 -1
- package/lib/packages/utils/event.js.map +0 -1
- package/lib/packages/utils/helper.js.map +0 -1
- package/lib/packages/utils/typescript.js.map +0 -1
- package/lib/packages/utils/vue/install.js.map +0 -1
- package/lib/packages/utils/vue/vnode.js.map +0 -1
- /package/es/{packages/components → components}/avatar/avatar.vue.mjs +0 -0
- /package/es/{packages/components → components}/avatar/avatar.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/avatar/avatar.vue2.mjs +0 -0
- /package/es/{packages/components → components}/avatar/index.mjs +0 -0
- /package/es/{packages/components → components}/avatar/style/css.mjs +0 -0
- /package/es/{packages/components → components}/avatar/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/avatar/style/index.mjs +0 -0
- /package/es/{packages/components → components}/avatar/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/back-top/back-top.vue.mjs +0 -0
- /package/es/{packages/components → components}/back-top/back-top.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/back-top/back-top.vue2.mjs +0 -0
- /package/es/{packages/components → components}/back-top/index.mjs +0 -0
- /package/es/{packages/components → components}/back-top/style/css.mjs +0 -0
- /package/es/{packages/components → components}/back-top/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/back-top/style/index.mjs +0 -0
- /package/es/{packages/components → components}/back-top/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/back-top/types.mjs +0 -0
- /package/es/{packages/components → components}/back-top/types.mjs.map +0 -0
- /package/es/{packages/components → components}/back-top/use-back-top.mjs +0 -0
- /package/es/{packages/components → components}/base/style/css.mjs +0 -0
- /package/es/{packages/components → components}/base/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/base/style/index.mjs +0 -0
- /package/es/{packages/components → components}/base/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/collapse-transition/index.mjs +0 -0
- /package/es/{packages/components → components}/collapse-transition/src/collapse-transition.vue.mjs +0 -0
- /package/es/{packages/components → components}/collapse-transition/src/collapse-transition.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/collapse-transition/src/collapse-transition.vue2.mjs +0 -0
- /package/es/{packages/components → components}/collapse-transition/style/css.mjs +0 -0
- /package/es/{packages/components → components}/collapse-transition/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/collapse-transition/style/index.mjs +0 -0
- /package/es/{packages/components → components}/collapse-transition/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/context-menu/context-menu.vue.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/context-menu.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/context-menu/context-menu.vue2.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/createContextMenu.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/index.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/index.mjs.map +0 -0
- /package/es/{packages/components → components}/context-menu/style/css.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/context-menu/style/index.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/context-menu/types.mjs +0 -0
- /package/es/{packages/components → components}/context-menu/types.mjs.map +0 -0
- /package/es/{packages/components → components}/context-menu/useContextMenu.mjs +0 -0
- /package/es/{packages/components → components}/divider/divider.vue.mjs +0 -0
- /package/es/{packages/components → components}/divider/divider.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/divider/divider.vue2.mjs +0 -0
- /package/es/{packages/components → components}/divider/index.mjs +0 -0
- /package/es/{packages/components → components}/divider/style/css.mjs +0 -0
- /package/es/{packages/components → components}/divider/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/divider/style/index.mjs +0 -0
- /package/es/{packages/components → components}/divider/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/divider/types.mjs +0 -0
- /package/es/{packages/components → components}/divider/types.mjs.map +0 -0
- /package/es/{packages/components → components}/empty/assets/no-collect.png.mjs +0 -0
- /package/es/{packages/components → components}/empty/assets/no-data.png.mjs +0 -0
- /package/es/{packages/components → components}/empty/assets/no-filter.png.mjs +0 -0
- /package/es/{packages/components → components}/empty/assets/no-page-data.png.mjs +0 -0
- /package/es/{packages/components → components}/empty/assets/no-search.png.mjs +0 -0
- /package/es/{packages/components → components}/empty/constants.mjs +0 -0
- /package/es/{packages/components → components}/empty/empty.vue.mjs +0 -0
- /package/es/{packages/components → components}/empty/empty.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/empty/empty.vue2.mjs +0 -0
- /package/es/{packages/components → components}/empty/index.mjs +0 -0
- /package/es/{packages/components → components}/empty/style/css.mjs +0 -0
- /package/es/{packages/components → components}/empty/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/empty/style/index.mjs +0 -0
- /package/es/{packages/components → components}/empty/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/exception/exception.png.mjs +0 -0
- /package/es/{packages/components → components}/exception/exception.vue.mjs +0 -0
- /package/es/{packages/components → components}/exception/exception.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/exception/exception.vue2.mjs +0 -0
- /package/es/{packages/components → components}/exception/index.mjs +0 -0
- /package/es/{packages/components → components}/exception/style/css.mjs +0 -0
- /package/es/{packages/components → components}/exception/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/exception/style/index.mjs +0 -0
- /package/es/{packages/components → components}/exception/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/focus-trap/focus-trap.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/focus-trap/focus-trap.vue2.mjs +0 -0
- /package/es/{packages/components → components}/focus-trap/index.mjs +0 -0
- /package/es/{packages/components → components}/focus-trap/index.mjs.map +0 -0
- /package/es/{packages/components → components}/focus-trap/tokens.mjs +0 -0
- /package/es/{packages/components → components}/focus-trap/utils.mjs +0 -0
- /package/es/{packages/components → components}/icon/icon.vue.mjs +0 -0
- /package/es/{packages/components → components}/icon/icon.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/icon/icon.vue2.mjs +0 -0
- /package/es/{packages/components → components}/icon/index.mjs +0 -0
- /package/es/{packages/components → components}/icon/style/css.mjs +0 -0
- /package/es/{packages/components → components}/icon/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/icon/style/index.mjs +0 -0
- /package/es/{packages/components → components}/icon/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/index.mjs +0 -0
- /package/es/{packages/components → components}/index.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/index.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu-collapse-transition.vue2.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu-item-group.vue.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu-item-group.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/menu-item-group.vue2.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu-item.vue.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu-item.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/menu-item.vue2.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu.vue.mjs +0 -0
- /package/es/{packages/components → components}/menu/menu.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/menu.vue2.mjs +0 -0
- /package/es/{packages/components → components}/menu/style/css.mjs +0 -0
- /package/es/{packages/components → components}/menu/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/style/index.mjs +0 -0
- /package/es/{packages/components → components}/menu/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/sub-menu.vue.mjs +0 -0
- /package/es/{packages/components → components}/menu/sub-menu.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/sub-menu.vue2.mjs +0 -0
- /package/es/{packages/components → components}/menu/types.mjs +0 -0
- /package/es/{packages/components → components}/menu/types.mjs.map +0 -0
- /package/es/{packages/components → components}/menu/use-menu-css-var.mjs +0 -0
- /package/es/{packages/components → components}/menu/use-menu.mjs +0 -0
- /package/es/{packages/components → components}/menu/utils/menu-bar.mjs +0 -0
- /package/es/{packages/components → components}/menu/utils/menu-item.mjs +0 -0
- /package/es/{packages/components → components}/menu/utils/submenu.mjs +0 -0
- /package/es/{packages/components → components}/menu-item/style/css.mjs +0 -0
- /package/es/{packages/components → components}/menu-item/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/menu-item/style/index.mjs +0 -0
- /package/es/{packages/components → components}/menu-item/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/menu-item-group/style/css.mjs +0 -0
- /package/es/{packages/components → components}/menu-item-group/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/menu-item-group/style/index.mjs +0 -0
- /package/es/{packages/components → components}/menu-item-group/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/index.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/multiple-tabs.vue.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/multiple-tabs.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/style/css.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/style/index.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/tab-content.vue.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/tab-content.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/tab-content.vue2.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/types.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/types.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/use/index.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/use/index.mjs.map +0 -0
- /package/es/{packages/components → components}/multiple-tabs/use/use-multiple-tabs.mjs +0 -0
- /package/es/{packages/components → components}/multiple-tabs/use/use-tab-dropdown.mjs +0 -0
- /package/es/{packages/components → components}/popover/directive.mjs +0 -0
- /package/es/{packages/components → components}/popover/index.mjs +0 -0
- /package/es/{packages/components → components}/popover/popover.vue.mjs +0 -0
- /package/es/{packages/components → components}/popover/popover.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/popover/popover.vue2.mjs +0 -0
- /package/es/{packages/components → components}/popover/style/css.mjs +0 -0
- /package/es/{packages/components → components}/popover/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/popover/style/index.mjs +0 -0
- /package/es/{packages/components → components}/popover/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/popover/types.mjs +0 -0
- /package/es/{packages/components → components}/popover/types.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/arrow.vue.mjs +0 -0
- /package/es/{packages/components → components}/popper/arrow.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/arrow.vue2.mjs +0 -0
- /package/es/{packages/components → components}/popper/composables/index.mjs +0 -0
- /package/es/{packages/components → components}/popper/composables/index.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/composables/use-content-dom.mjs +0 -0
- /package/es/{packages/components → components}/popper/composables/use-content.mjs +0 -0
- /package/es/{packages/components → components}/popper/composables/use-focus-trap.mjs +0 -0
- /package/es/{packages/components → components}/popper/constants.mjs +0 -0
- /package/es/{packages/components → components}/popper/content.vue.mjs +0 -0
- /package/es/{packages/components → components}/popper/content.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/content.vue2.mjs +0 -0
- /package/es/{packages/components → components}/popper/index.mjs +0 -0
- /package/es/{packages/components → components}/popper/popper.vue.mjs +0 -0
- /package/es/{packages/components → components}/popper/popper.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/popper.vue2.mjs +0 -0
- /package/es/{packages/components → components}/popper/style/css.mjs +0 -0
- /package/es/{packages/components → components}/popper/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/style/index.mjs +0 -0
- /package/es/{packages/components → components}/popper/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/trigger.vue.mjs +0 -0
- /package/es/{packages/components → components}/popper/trigger.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/trigger.vue2.mjs +0 -0
- /package/es/{packages/components → components}/popper/types.mjs +0 -0
- /package/es/{packages/components → components}/popper/types.mjs.map +0 -0
- /package/es/{packages/components → components}/popper/utils.mjs +0 -0
- /package/es/{packages/components → components}/result/index.mjs +0 -0
- /package/es/{packages/components → components}/result/result.vue.mjs +0 -0
- /package/es/{packages/components → components}/result/result.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/result/result.vue2.mjs +0 -0
- /package/es/{packages/components → components}/result/style/css.mjs +0 -0
- /package/es/{packages/components → components}/result/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/result/style/index.mjs +0 -0
- /package/es/{packages/components → components}/result/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/slot/index.mjs +0 -0
- /package/es/{packages/components → components}/slot/index.mjs.map +0 -0
- /package/es/{packages/components → components}/slot/only-child.mjs +0 -0
- /package/es/{packages/components → components}/sub-menu/style/css.mjs +0 -0
- /package/es/{packages/components → components}/sub-menu/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/sub-menu/style/index.mjs +0 -0
- /package/es/{packages/components → components}/sub-menu/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/tab-pane/style/css.mjs +0 -0
- /package/es/{packages/components → components}/tab-pane/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/tab-pane/style/index.mjs +0 -0
- /package/es/{packages/components → components}/tab-pane/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/index.mjs +0 -0
- /package/es/{packages/components → components}/tabs/style/css.mjs +0 -0
- /package/es/{packages/components → components}/tabs/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/style/index.mjs +0 -0
- /package/es/{packages/components → components}/tabs/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/tab-bar.vue.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tab-bar.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/tab-bar.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tab-nav.vue.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tab-nav.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/tab-nav.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tab-pane.vue.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tab-pane.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/tab-pane.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tabs.vue.mjs +0 -0
- /package/es/{packages/components → components}/tabs/tabs.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tabs/tabs.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tabs/types.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/constants.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/content.vue.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/content.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tooltip/content.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/index.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/style/css.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/style/css.mjs.map +0 -0
- /package/es/{packages/components → components}/tooltip/style/index.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/style/index.mjs.map +0 -0
- /package/es/{packages/components → components}/tooltip/tooltip.vue.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/tooltip.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tooltip/tooltip.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/trigger.vue.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/trigger.vue.mjs.map +0 -0
- /package/es/{packages/components → components}/tooltip/trigger.vue2.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/types.mjs +0 -0
- /package/es/{packages/components → components}/tooltip/types.mjs.map +0 -0
- /package/es/{packages/components → components}/tooltip/utils.mjs +0 -0
- /package/es/{packages/components → components}/types.mjs +0 -0
- /package/es/{packages/components → components}/types.mjs.map +0 -0
- /package/es/{packages/constants → constants}/aria.mjs +0 -0
- /package/es/{packages/constants → constants}/date.mjs +0 -0
- /package/es/{packages/constants → constants}/event.mjs +0 -0
- /package/es/{packages/constants → constants}/index.mjs +0 -0
- /package/es/{packages/constants → constants}/index.mjs.map +0 -0
- /package/es/{packages/constants → constants}/key.mjs +0 -0
- /package/es/{packages/constants → constants}/size.mjs +0 -0
- /package/es/{packages/hooks → hooks}/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/index.mjs.map +0 -0
- /package/es/{packages/hooks → hooks}/use-delayed-toggle/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-forward-ref/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-id/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-model-toggle/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-namespace/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-ordered-children/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-popper/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-popper-container/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-timeout/index.mjs +0 -0
- /package/es/{packages/hooks → hooks}/use-z-index/index.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/avatar.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/avatar.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/back-top.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/back-top.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/base.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/base.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/collapse-transition.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/collapse-transition.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/divider.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/divider.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/empty.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/empty.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/icon.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/icon.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/menu-item-group.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/menu-item-group.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/menu-item.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/menu-item.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/menu.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/menu.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/multiple-tabs.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/multiple-tabs.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/popover.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/popover.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/popper.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/popper.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/result.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/result.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/sub-menu.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/sub-menu.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/tab-pane.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/tab-pane.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/tabs.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/tabs.scss.mjs.map +0 -0
- /package/es/{packages/theme-style → theme-style}/src/tooltip.scss.mjs +0 -0
- /package/es/{packages/theme-style → theme-style}/src/tooltip.scss.mjs.map +0 -0
- /package/es/{packages/utils → utils}/error.mjs +0 -0
- /package/es/{packages/utils → utils}/event.mjs +0 -0
- /package/es/{packages/utils → utils}/helper.mjs +0 -0
- /package/es/{packages/utils → utils}/index.mjs +0 -0
- /package/es/{packages/utils → utils}/index.mjs.map +0 -0
- /package/es/{packages/utils → utils}/typescript.mjs +0 -0
- /package/es/{packages/utils → utils}/vue/index.mjs +0 -0
- /package/es/{packages/utils → utils}/vue/index.mjs.map +0 -0
- /package/es/{packages/utils → utils}/vue/install.mjs +0 -0
- /package/es/{packages/utils → utils}/vue/typescript.mjs +0 -0
- /package/es/{packages/utils → utils}/vue/typescript.mjs.map +0 -0
- /package/es/{packages/utils → utils}/vue/vnode.mjs +0 -0
- /package/lib/{packages/components → components}/avatar/avatar.vue.js +0 -0
- /package/lib/{packages/components → components}/avatar/avatar.vue.js.map +0 -0
- /package/lib/{packages/components → components}/avatar/avatar.vue2.js +0 -0
- /package/lib/{packages/components → components}/avatar/index.js +0 -0
- /package/lib/{packages/components → components}/avatar/style/css.js +0 -0
- /package/lib/{packages/components → components}/avatar/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/avatar/style/index.js +0 -0
- /package/lib/{packages/components → components}/avatar/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/back-top/back-top.vue.js +0 -0
- /package/lib/{packages/components → components}/back-top/back-top.vue.js.map +0 -0
- /package/lib/{packages/components → components}/back-top/back-top.vue2.js +0 -0
- /package/lib/{packages/components → components}/back-top/index.js +0 -0
- /package/lib/{packages/components → components}/back-top/style/css.js +0 -0
- /package/lib/{packages/components → components}/back-top/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/back-top/style/index.js +0 -0
- /package/lib/{packages/components → components}/back-top/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/back-top/types.js +0 -0
- /package/lib/{packages/components → components}/back-top/types.js.map +0 -0
- /package/lib/{packages/components → components}/back-top/use-back-top.js +0 -0
- /package/lib/{packages/components → components}/base/style/css.js +0 -0
- /package/lib/{packages/components → components}/base/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/base/style/index.js +0 -0
- /package/lib/{packages/components → components}/base/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/collapse-transition/index.js +0 -0
- /package/lib/{packages/components → components}/collapse-transition/src/collapse-transition.vue.js +0 -0
- /package/lib/{packages/components → components}/collapse-transition/src/collapse-transition.vue.js.map +0 -0
- /package/lib/{packages/components → components}/collapse-transition/src/collapse-transition.vue2.js +0 -0
- /package/lib/{packages/components → components}/collapse-transition/style/css.js +0 -0
- /package/lib/{packages/components → components}/collapse-transition/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/collapse-transition/style/index.js +0 -0
- /package/lib/{packages/components → components}/collapse-transition/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/context-menu/context-menu.vue.js +0 -0
- /package/lib/{packages/components → components}/context-menu/context-menu.vue.js.map +0 -0
- /package/lib/{packages/components → components}/context-menu/context-menu.vue2.js +0 -0
- /package/lib/{packages/components → components}/context-menu/createContextMenu.js +0 -0
- /package/lib/{packages/components → components}/context-menu/index.js +0 -0
- /package/lib/{packages/components → components}/context-menu/index.js.map +0 -0
- /package/lib/{packages/components → components}/context-menu/style/css.js +0 -0
- /package/lib/{packages/components → components}/context-menu/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/context-menu/style/index.js +0 -0
- /package/lib/{packages/components → components}/context-menu/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/context-menu/types.js +0 -0
- /package/lib/{packages/components → components}/context-menu/types.js.map +0 -0
- /package/lib/{packages/components → components}/context-menu/useContextMenu.js +0 -0
- /package/lib/{packages/components → components}/divider/divider.vue.js +0 -0
- /package/lib/{packages/components → components}/divider/divider.vue.js.map +0 -0
- /package/lib/{packages/components → components}/divider/divider.vue2.js +0 -0
- /package/lib/{packages/components → components}/divider/index.js +0 -0
- /package/lib/{packages/components → components}/divider/style/css.js +0 -0
- /package/lib/{packages/components → components}/divider/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/divider/style/index.js +0 -0
- /package/lib/{packages/components → components}/divider/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/divider/types.js +0 -0
- /package/lib/{packages/components → components}/divider/types.js.map +0 -0
- /package/lib/{packages/components → components}/empty/assets/no-collect.png.js +0 -0
- /package/lib/{packages/components → components}/empty/assets/no-data.png.js +0 -0
- /package/lib/{packages/components → components}/empty/assets/no-filter.png.js +0 -0
- /package/lib/{packages/components → components}/empty/assets/no-page-data.png.js +0 -0
- /package/lib/{packages/components → components}/empty/assets/no-search.png.js +0 -0
- /package/lib/{packages/components → components}/empty/constants.js +0 -0
- /package/lib/{packages/components → components}/empty/empty.vue.js +0 -0
- /package/lib/{packages/components → components}/empty/empty.vue.js.map +0 -0
- /package/lib/{packages/components → components}/empty/empty.vue2.js +0 -0
- /package/lib/{packages/components → components}/empty/index.js +0 -0
- /package/lib/{packages/components → components}/empty/style/css.js +0 -0
- /package/lib/{packages/components → components}/empty/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/empty/style/index.js +0 -0
- /package/lib/{packages/components → components}/empty/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/exception/exception.png.js +0 -0
- /package/lib/{packages/components → components}/exception/exception.vue.js +0 -0
- /package/lib/{packages/components → components}/exception/exception.vue.js.map +0 -0
- /package/lib/{packages/components → components}/exception/exception.vue2.js +0 -0
- /package/lib/{packages/components → components}/exception/index.js +0 -0
- /package/lib/{packages/components → components}/exception/style/css.js +0 -0
- /package/lib/{packages/components → components}/exception/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/exception/style/index.js +0 -0
- /package/lib/{packages/components → components}/exception/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/focus-trap/focus-trap.vue.js.map +0 -0
- /package/lib/{packages/components → components}/focus-trap/focus-trap.vue2.js +0 -0
- /package/lib/{packages/components → components}/focus-trap/index.js +0 -0
- /package/lib/{packages/components → components}/focus-trap/index.js.map +0 -0
- /package/lib/{packages/components → components}/focus-trap/tokens.js +0 -0
- /package/lib/{packages/components → components}/focus-trap/utils.js +0 -0
- /package/lib/{packages/components → components}/icon/icon.vue.js +0 -0
- /package/lib/{packages/components → components}/icon/icon.vue.js.map +0 -0
- /package/lib/{packages/components → components}/icon/icon.vue2.js +0 -0
- /package/lib/{packages/components → components}/icon/index.js +0 -0
- /package/lib/{packages/components → components}/icon/style/css.js +0 -0
- /package/lib/{packages/components → components}/icon/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/icon/style/index.js +0 -0
- /package/lib/{packages/components → components}/icon/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/index.js +0 -0
- /package/lib/{packages/components → components}/index.js.map +0 -0
- /package/lib/{packages/components → components}/menu/index.js +0 -0
- /package/lib/{packages/components → components}/menu/menu-collapse-transition.vue2.js +0 -0
- /package/lib/{packages/components → components}/menu/menu-item-group.vue.js +0 -0
- /package/lib/{packages/components → components}/menu/menu-item-group.vue.js.map +0 -0
- /package/lib/{packages/components → components}/menu/menu-item-group.vue2.js +0 -0
- /package/lib/{packages/components → components}/menu/menu-item.vue.js +0 -0
- /package/lib/{packages/components → components}/menu/menu-item.vue.js.map +0 -0
- /package/lib/{packages/components → components}/menu/menu-item.vue2.js +0 -0
- /package/lib/{packages/components → components}/menu/menu.vue.js +0 -0
- /package/lib/{packages/components → components}/menu/menu.vue.js.map +0 -0
- /package/lib/{packages/components → components}/menu/menu.vue2.js +0 -0
- /package/lib/{packages/components → components}/menu/style/css.js +0 -0
- /package/lib/{packages/components → components}/menu/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/menu/style/index.js +0 -0
- /package/lib/{packages/components → components}/menu/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/menu/sub-menu.vue.js +0 -0
- /package/lib/{packages/components → components}/menu/sub-menu.vue.js.map +0 -0
- /package/lib/{packages/components → components}/menu/sub-menu.vue2.js +0 -0
- /package/lib/{packages/components → components}/menu/types.js +0 -0
- /package/lib/{packages/components → components}/menu/types.js.map +0 -0
- /package/lib/{packages/components → components}/menu/use-menu-css-var.js +0 -0
- /package/lib/{packages/components → components}/menu/use-menu.js +0 -0
- /package/lib/{packages/components → components}/menu/utils/menu-bar.js +0 -0
- /package/lib/{packages/components → components}/menu/utils/menu-item.js +0 -0
- /package/lib/{packages/components → components}/menu/utils/submenu.js +0 -0
- /package/lib/{packages/components → components}/menu-item/style/css.js +0 -0
- /package/lib/{packages/components → components}/menu-item/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/menu-item/style/index.js +0 -0
- /package/lib/{packages/components → components}/menu-item/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/menu-item-group/style/css.js +0 -0
- /package/lib/{packages/components → components}/menu-item-group/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/menu-item-group/style/index.js +0 -0
- /package/lib/{packages/components → components}/menu-item-group/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/index.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/multiple-tabs.vue.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/multiple-tabs.vue.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/style/css.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/style/index.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/tab-content.vue.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/tab-content.vue.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/tab-content.vue2.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/types.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/types.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/use/index.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/use/index.js.map +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/use/use-multiple-tabs.js +0 -0
- /package/lib/{packages/components → components}/multiple-tabs/use/use-tab-dropdown.js +0 -0
- /package/lib/{packages/components → components}/popover/directive.js +0 -0
- /package/lib/{packages/components → components}/popover/index.js +0 -0
- /package/lib/{packages/components → components}/popover/popover.vue.js +0 -0
- /package/lib/{packages/components → components}/popover/popover.vue.js.map +0 -0
- /package/lib/{packages/components → components}/popover/popover.vue2.js +0 -0
- /package/lib/{packages/components → components}/popover/style/css.js +0 -0
- /package/lib/{packages/components → components}/popover/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/popover/style/index.js +0 -0
- /package/lib/{packages/components → components}/popover/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/popover/types.js +0 -0
- /package/lib/{packages/components → components}/popover/types.js.map +0 -0
- /package/lib/{packages/components → components}/popper/arrow.vue.js +0 -0
- /package/lib/{packages/components → components}/popper/arrow.vue.js.map +0 -0
- /package/lib/{packages/components → components}/popper/arrow.vue2.js +0 -0
- /package/lib/{packages/components → components}/popper/composables/index.js +0 -0
- /package/lib/{packages/components → components}/popper/composables/index.js.map +0 -0
- /package/lib/{packages/components → components}/popper/composables/use-content-dom.js +0 -0
- /package/lib/{packages/components → components}/popper/composables/use-content.js +0 -0
- /package/lib/{packages/components → components}/popper/composables/use-focus-trap.js +0 -0
- /package/lib/{packages/components → components}/popper/constants.js +0 -0
- /package/lib/{packages/components → components}/popper/content.vue.js +0 -0
- /package/lib/{packages/components → components}/popper/content.vue.js.map +0 -0
- /package/lib/{packages/components → components}/popper/content.vue2.js +0 -0
- /package/lib/{packages/components → components}/popper/index.js +0 -0
- /package/lib/{packages/components → components}/popper/popper.vue.js +0 -0
- /package/lib/{packages/components → components}/popper/popper.vue.js.map +0 -0
- /package/lib/{packages/components → components}/popper/popper.vue2.js +0 -0
- /package/lib/{packages/components → components}/popper/style/css.js +0 -0
- /package/lib/{packages/components → components}/popper/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/popper/style/index.js +0 -0
- /package/lib/{packages/components → components}/popper/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/popper/trigger.vue.js +0 -0
- /package/lib/{packages/components → components}/popper/trigger.vue.js.map +0 -0
- /package/lib/{packages/components → components}/popper/trigger.vue2.js +0 -0
- /package/lib/{packages/components → components}/popper/types.js +0 -0
- /package/lib/{packages/components → components}/popper/types.js.map +0 -0
- /package/lib/{packages/components → components}/popper/utils.js +0 -0
- /package/lib/{packages/components → components}/result/index.js +0 -0
- /package/lib/{packages/components → components}/result/result.vue.js +0 -0
- /package/lib/{packages/components → components}/result/result.vue.js.map +0 -0
- /package/lib/{packages/components → components}/result/result.vue2.js +0 -0
- /package/lib/{packages/components → components}/result/style/css.js +0 -0
- /package/lib/{packages/components → components}/result/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/result/style/index.js +0 -0
- /package/lib/{packages/components → components}/result/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/slot/index.js +0 -0
- /package/lib/{packages/components → components}/slot/index.js.map +0 -0
- /package/lib/{packages/components → components}/slot/only-child.js +0 -0
- /package/lib/{packages/components → components}/sub-menu/style/css.js +0 -0
- /package/lib/{packages/components → components}/sub-menu/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/sub-menu/style/index.js +0 -0
- /package/lib/{packages/components → components}/sub-menu/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/tab-pane/style/css.js +0 -0
- /package/lib/{packages/components → components}/tab-pane/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/tab-pane/style/index.js +0 -0
- /package/lib/{packages/components → components}/tab-pane/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/index.js +0 -0
- /package/lib/{packages/components → components}/tabs/style/css.js +0 -0
- /package/lib/{packages/components → components}/tabs/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/style/index.js +0 -0
- /package/lib/{packages/components → components}/tabs/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/tab-bar.vue.js +0 -0
- /package/lib/{packages/components → components}/tabs/tab-bar.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/tab-bar.vue2.js +0 -0
- /package/lib/{packages/components → components}/tabs/tab-nav.vue.js +0 -0
- /package/lib/{packages/components → components}/tabs/tab-nav.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/tab-nav.vue2.js +0 -0
- /package/lib/{packages/components → components}/tabs/tab-pane.vue.js +0 -0
- /package/lib/{packages/components → components}/tabs/tab-pane.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/tab-pane.vue2.js +0 -0
- /package/lib/{packages/components → components}/tabs/tabs.vue.js +0 -0
- /package/lib/{packages/components → components}/tabs/tabs.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tabs/tabs.vue2.js +0 -0
- /package/lib/{packages/components → components}/tabs/types.js +0 -0
- /package/lib/{packages/components → components}/tooltip/constants.js +0 -0
- /package/lib/{packages/components → components}/tooltip/content.vue.js +0 -0
- /package/lib/{packages/components → components}/tooltip/content.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tooltip/content.vue2.js +0 -0
- /package/lib/{packages/components → components}/tooltip/index.js +0 -0
- /package/lib/{packages/components → components}/tooltip/style/css.js +0 -0
- /package/lib/{packages/components → components}/tooltip/style/css.js.map +0 -0
- /package/lib/{packages/components → components}/tooltip/style/index.js +0 -0
- /package/lib/{packages/components → components}/tooltip/style/index.js.map +0 -0
- /package/lib/{packages/components → components}/tooltip/tooltip.vue.js +0 -0
- /package/lib/{packages/components → components}/tooltip/tooltip.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tooltip/tooltip.vue2.js +0 -0
- /package/lib/{packages/components → components}/tooltip/trigger.vue.js +0 -0
- /package/lib/{packages/components → components}/tooltip/trigger.vue.js.map +0 -0
- /package/lib/{packages/components → components}/tooltip/trigger.vue2.js +0 -0
- /package/lib/{packages/components → components}/tooltip/types.js +0 -0
- /package/lib/{packages/components → components}/tooltip/types.js.map +0 -0
- /package/lib/{packages/components → components}/tooltip/utils.js +0 -0
- /package/lib/{packages/components → components}/types.js +0 -0
- /package/lib/{packages/components → components}/types.js.map +0 -0
- /package/lib/{packages/constants → constants}/aria.js +0 -0
- /package/lib/{packages/constants → constants}/date.js +0 -0
- /package/lib/{packages/constants → constants}/event.js +0 -0
- /package/lib/{packages/constants → constants}/index.js +0 -0
- /package/lib/{packages/constants → constants}/index.js.map +0 -0
- /package/lib/{packages/constants → constants}/key.js +0 -0
- /package/lib/{packages/constants → constants}/size.js +0 -0
- /package/lib/{packages/hooks → hooks}/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/index.js.map +0 -0
- /package/lib/{packages/hooks → hooks}/use-delayed-toggle/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-forward-ref/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-id/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-model-toggle/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-namespace/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-ordered-children/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-popper/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-popper-container/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-timeout/index.js +0 -0
- /package/lib/{packages/hooks → hooks}/use-z-index/index.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/avatar.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/avatar.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/back-top.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/back-top.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/base.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/base.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/collapse-transition.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/collapse-transition.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/divider.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/divider.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/empty.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/empty.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/icon.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/icon.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/menu-item-group.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/menu-item-group.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/menu-item.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/menu-item.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/menu.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/menu.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/multiple-tabs.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/multiple-tabs.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/popover.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/popover.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/popper.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/popper.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/result.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/result.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/sub-menu.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/sub-menu.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/tab-pane.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/tab-pane.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/tabs.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/tabs.scss.js.map +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/tooltip.scss.js +0 -0
- /package/lib/{packages/theme-style → theme-style}/src/tooltip.scss.js.map +0 -0
- /package/lib/{packages/utils → utils}/error.js +0 -0
- /package/lib/{packages/utils → utils}/event.js +0 -0
- /package/lib/{packages/utils → utils}/helper.js +0 -0
- /package/lib/{packages/utils → utils}/index.js +0 -0
- /package/lib/{packages/utils → utils}/index.js.map +0 -0
- /package/lib/{packages/utils → utils}/typescript.js +0 -0
- /package/lib/{packages/utils → utils}/vue/index.js +0 -0
- /package/lib/{packages/utils → utils}/vue/index.js.map +0 -0
- /package/lib/{packages/utils → utils}/vue/install.js +0 -0
- /package/lib/{packages/utils → utils}/vue/typescript.js +0 -0
- /package/lib/{packages/utils → utils}/vue/typescript.js.map +0 -0
- /package/lib/{packages/utils → utils}/vue/vnode.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.vue2.mjs","sources":["../../../../../../packages/components/menu/menu.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n watchEffect,\n useSlots\n} from 'vue';\nimport { useResizeObserver } from '@vueuse/core';\nimport { flattedChildren } from '../../utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport Menubar from './utils/menu-bar';\nimport MenuCollapseTransition from './menu-collapse-transition.vue';\nimport SubMenu from './sub-menu.vue';\nimport { useMenuCssVar } from './use-menu-css-var';\nimport type { MenuProvider, SubMenuProvider } from './types';\nimport type { Router } from 'vue-router';\nimport type { VNode, VNodeArrayChildren } from 'vue';\nimport type { UseResizeObserverReturn } from '@vueuse/core';\nimport Icon from '@vft-ui/components/icon';\n\ninterface MenuProps {\n /** 菜单展示模式 */\n mode?: 'horizontal' | 'vertical';\n /** 页面加载时默认激活菜单的 index(menu-item 的index) */\n defaultActive?: string;\n /** 默认打开的 sub-menu 的 index 的数组 */\n defaultOpeneds?: string[];\n /** 是否只保持一个子菜单的展开 */\n uniqueOpened?: boolean;\n /** 是否启用 vue-router 模式。 启用该模式会在激活导航时以 index 作为 path 进行路由跳转 使用 default-active 来设置加载时的激活项 */\n router?: boolean;\n /** 子菜单打开的触发方式,只在 mode 为 horizontal 时有效 */\n menuTrigger?: 'hover' | 'click';\n collapse?: boolean;\n /** 是否水平折叠收起菜单(仅在 mode 为 vertical 时可用) */\n backgroundColor?: string;\n textColor?: string;\n activeTextColor?: string;\n /** 是否开启折叠动画 */\n collapseTransition?: boolean;\n /** 是否省略多余的子项(仅在横向模式生效) */\n ellipsis?: boolean;\n}\n\ndefineProps({\n \"mode\": { default: 'vertical' },\n \"defaultActive\": { default: '' },\n \"defaultOpeneds\": { default: [] },\n \"uniqueOpened\": { type: Boolean, },\n \"router\": { type: Boolean, },\n \"menuTrigger\": { default: 'hover' },\n \"collapse\": { type: Boolean, },\n \"backgroundColor\": null,\n \"textColor\": null,\n \"activeTextColor\": null,\n \"collapseTransition\": { type: Boolean, default: true },\n \"ellipsis\": { type: Boolean, default: true }\n})\n\nconst emit = defineEmits([\n 'close',\n 'open',\n 'select'\n]);\n\n\n\n;\n\nconst slots = useSlots();\n\nconst instance = getCurrentInstance()!;\n\n// get router instance\nconst _router = instance.appContext.config.globalProperties.$router as Router;\n\nconst menu = ref<HTMLUListElement>();\n\nconst nsSubMenu = useNamespace('sub-menu');\n\n// data\nconst sliceIndex = ref(-1);\n\n// 展开的菜单项数组 defaultOpeneds 配置的对应 sub-menu 中的数组,并且菜单不能是收缩状态\nconst openedMenus = ref<MenuProvider['openedMenus']>(\n __props.defaultOpeneds && !__props.collapse ? __props.defaultOpeneds.slice(0) : []\n);\n\n// 页面加载时默认激活菜单的 index,最终提供给 menu-item 去使用\nconst activeIndex = ref<MenuProvider['activeIndex']>(__props.defaultActive);\n\n/**\n * 主要是存储 menu-item 中的菜单项\n * 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n */\nconst items = ref<MenuProvider['items']>({});\n\n/**\n * 主要是存储 sub-menu 中的菜单项\n * 格式如下\n * ```\n * {\n * mio:{index: 'mio', indexPath: ['mio'], active: false},\n * test:{index: 'test', indexPath: ['test'], active: false}\n * }\n * ```\n */\nconst subMenus = ref<MenuProvider['subMenus']>({});\n\n/**\n * @description 是否需要 tooltip 1.水平模式的菜单需要 2.竖直类型的菜单在收缩时需要\n * @author wfd\n * @date 2022/11/8 13:22\n * @example\n * @type {ComputedRef<MenuProvider[\"isMenuPopup\"]>}\n */\nconst isMenuPopup = computed<MenuProvider['isMenuPopup']>(() => {\n return __props.mode === 'horizontal' || (__props.mode === 'vertical' && __props.collapse) as MenuProvider['isMenuPopup'];\n});\n\n// 当配置了 defaultActive 时菜单的展开设置\nconst initMenu = () => {\n // 如果设置了 activeIndex 且当前的 activeIndex 项在 items 中存在\n // 获取当前激活菜单的 item {index: '1-1', indexPath: ['mio', '1-1'], active: false}\n const activeItem = activeIndex.value && items.value[activeIndex.value];\n // 只在竖直模式,且非折叠模式,且子菜单配置为激活时触发\n if (!activeItem || __props.mode === 'horizontal' || __props.collapse) return;\n // ['mio', '1-1']\n const indexPath = activeItem.indexPath;\n\n // 展开该菜单项的路径上所有子菜单\n indexPath.forEach((index) => {\n // {index: 'mio', indexPath: ['mio'], active: false}\n const subMenu = subMenus.value[index];\n subMenu && openMenu(index, subMenu.indexPath);\n });\n};\n\n/**\n * @description 展开子菜单\n * @author wfd\n * @date 2022/11/8 16:44\n * @example\n * @param {string} index\n * @param {string[]} indexPath\n */\nconst openMenu: MenuProvider['openMenu'] = (index: string, indexPath: string[]) => {\n // 如果当前点击的 index 在 openedMenus 中,则不向下执行操作\n if (openedMenus.value.includes(index)) return;\n // 将不在该菜单路径下的其余菜单收起\n if (__props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) => indexPath.includes(index));\n }\n // 将点击的 index 加入到 openedMenus 中\n openedMenus.value.push(index);\n emit('open', index, indexPath);\n};\n\n/**\n * @description 关闭当前点击的 sub-menu 对应的 index,主要是从 openedMenus 移除该项\n * @author wfd\n * @date 2022/11/8 16:43\n * @example\n * @param {string} index\n * @param {string[]} indexPath\n */\nconst closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index);\n if (i !== -1) {\n openedMenus.value.splice(i, 1);\n }\n emit('close', index, indexPath);\n};\n\n// sub-menu 点击事件,主要是展开收缩菜单,通过控制 openedMenus 的值\nconst handleSubMenuClick: MenuProvider['handleSubMenuClick'] = ({ index, indexPath }) => {\n // 判断当前点击的 sub-menu 菜单是否已经在 openedMenus 中\n const isOpened = openedMenus.value.includes(index);\n\n // 如果已经在 openedMenus 中,代表当前菜单已经展开(展开则调用 close 关闭),否则未打开(则调用 open 给展开)\n if (isOpened) {\n closeMenu(index, indexPath);\n } else {\n openMenu(index, indexPath);\n }\n};\n\n/**\n * @description 子项点击跳转事件,如果 menu.vue 配置了 route 为 true,则执行路由跳转,否则触发\n * emit('select') 只返回数据\n * @author wfd\n * @date 2022/11/8 18:30\n * @example\n * @param {MenuItemClicked} menuItem\n */\nconst handleMenuItemClick: MenuProvider['handleMenuItemClick'] = (menuItem) => {\n\n if (__props.mode === 'horizontal' || __props.collapse) {\n openedMenus.value = [];\n }\n const { index, indexPath } = menuItem;\n if (index === undefined || indexPath === undefined) return;\n\n if (__props.router && _router) {\n // 路由跳转的路径如果 menu-item 配置了则,采用 menu-item 的,否则采用 index 为 router 路径\n const route = menuItem.route || index;\n const routerResult = _router.push(route).then((res) => {\n if (!res) activeIndex.value = index;\n return res;\n });\n emit('select', menuItem, routerResult);\n } else {\n activeIndex.value = index;\n\n emit('select', menuItem);\n }\n};\n\n/**\n * 更新 activeIndex\n * @param {string} val\n */\nconst updateActiveIndex = (val: string) => {\n const itemsInData = items.value;\n // 首先从最新的 val 中去 items 取数据,如果没有取到再去 items 对应的 activeIndex 去取\n const item = itemsInData[val] || (activeIndex.value && itemsInData[activeIndex.value]) || itemsInData[__props.defaultActive];\n\n // 更新 activeIndex\n if (item) {\n activeIndex.value = item.index;\n } else {\n activeIndex.value = val;\n }\n};\n\nconst calcSliceIndex = () => {\n if (!menu.value) return -1;\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) => item.nodeName !== '#text' || item.nodeValue) as HTMLElement[];\n const moreItemWidth = 64;\n const paddingLeft = Number.parseInt(getComputedStyle(menu.value!).paddingLeft, 10);\n const paddingRight = Number.parseInt(getComputedStyle(menu.value!).paddingRight, 10);\n const menuWidth = menu.value!.clientWidth - paddingLeft - paddingRight;\n let calcWidth = 0;\n let sliceIndex = 0;\n items.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0;\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1;\n }\n });\n return sliceIndex === items.length ? -1 : sliceIndex;\n};\n\n// 常见的计算机监视器FPS为60Hz,这意味着每秒重画60次。计算公式:1000ms60≈ 16.67ms,为了避免“调整大小”时重复触发的特定机会,将等待设置为16.67 2=33.34\nconst debounce = (fn: () => void, wait = 33.34) => {\n let timmer: ReturnType<typeof setTimeout> | null;\n return () => {\n timmer && clearTimeout(timmer);\n timmer = setTimeout(() => {\n fn();\n }, wait);\n };\n};\n\nlet isFirstTimeRender = true;\nconst handleResize = () => {\n const callback = () => {\n sliceIndex.value = -1;\n nextTick(() => {\n sliceIndex.value = calcSliceIndex();\n });\n };\n // 第一次调整大小时直接执行回调以避免抖动\n isFirstTimeRender ? callback() : debounce(callback)();\n isFirstTimeRender = false;\n};\n\n// defaultActive 变化时触发时更新 activeIndex\nwatch(\n () => __props.defaultActive,\n (currentActive) => {\n // 如果最新的 defaultActive 在 items 中不存在则 activeIndex 更新为空\n if (!items.value[currentActive]) {\n activeIndex.value = '';\n }\n updateActiveIndex(currentActive);\n }\n);\n\nwatch(\n () => __props.collapse,\n (value) => {\n if (value) openedMenus.value = [];\n }\n);\n\n// 监控 items 的变化(在 menu-item.vue 中的 onMounted 中执行产生变化),然后执行 initMenu\nwatch(items.value, initMenu);\n\nlet resizeStopper: UseResizeObserverReturn['stop'];\nwatchEffect(() => {\n if (__props.mode === 'horizontal' && __props.ellipsis) resizeStopper = useResizeObserver(menu, handleResize).stop;\n else resizeStopper?.();\n});\n\n// 提供给 sub-menu.vue 使用,将每一个 sub-menu 的数据存储在 subMenus 中\nconst addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item;\n};\n\nconst removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index];\n};\n\n/**\n * 此函数在 menu-item 中触发,items.value 默认为空对象\n * 最后添加后的 items 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\nconst addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item;\n};\n\nconst removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index];\n};\n\n/**\n * 提供以下方法与属性给 sub-menu.vue 使用\n */\nprovide<MenuProvider>(\n 'rootMenu',\n reactive({\n props: instance.props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick\n })\n);\n\nprovide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n // 表示当前是第一级的 sub-menu\n level: 0\n});\n\nonMounted(() => {\n if (__props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, ns.namespace.value);\n }\n});\n\n// 触发展开菜单事件\nconst open = (index: string) => {\n const { indexPath } = subMenus.value[index];\n indexPath.forEach((i) => openMenu(i, indexPath));\n};\n\ndefineExpose({\n open,\n close: closeMenu,\n handleResize\n});\n\ndefineRender(() => {\n let slot: VNodeArrayChildren = slots.default?.() ?? [];\n const vShowMore: VNode[] = [];\n\n // 水平默认下执行\n if (__props.mode === 'horizontal' && menu.value) {\n const originalSlot = flattedChildren(slot) as VNodeArrayChildren;\n const slotDefault = sliceIndex.value === -1 ? originalSlot : originalSlot.slice(0,\n sliceIndex.value);\n\n const slotMore = sliceIndex.value === -1 ? [] : originalSlot.slice(sliceIndex.value);\n\n if (slotMore?.length && __props.ellipsis) {\n slot = slotDefault;\n vShowMore.push(\n h(\n SubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow')\n },\n {\n title: () => h(\n Icon,\n {\n icon: 'vi-item',\n class: nsSubMenu.e('icon-more')\n }\n ),\n default: () => slotMore\n }\n )\n );\n }\n }\n\n const ulStyle = useMenuCssVar(instance.props, 0);\n\n const vMenu = h(\n 'ul',\n {\n key: String(__props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [ns.b()]: true,\n [ns.m(__props.mode)]: true,\n [ns.m('collapse')]: __props.collapse\n }\n },\n [...slot, ...vShowMore]\n );\n\n if (__props.collapseTransition && __props.mode === 'vertical') {\n return h(MenuCollapseTransition, () => vMenu);\n }\n\n return vMenu;\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","slots","useSlots","instance","getCurrentInstance","_router","menu","ref","nsSubMenu","sliceIndex","openedMenus","__props","activeIndex","items","subMenus","isMenuPopup","computed","initMenu","activeItem","index","subMenu","openMenu","indexPath","emit","closeMenu","i","handleSubMenuClick","handleMenuItemClick","menuItem","route","routerResult","res","updateActiveIndex","val","itemsInData","item","calcSliceIndex","_a","moreItemWidth","paddingLeft","paddingRight","menuWidth","calcWidth","debounce","fn","wait","timmer","isFirstTimeRender","handleResize","callback","nextTick","watch","currentActive","value","resizeStopper","watchEffect","useResizeObserver","addSubMenu","removeSubMenu","addMenuItem","removeMenuItem","provide","reactive","onMounted","Menubar","expose","slot","vShowMore","originalSlot","flattedChildren","slotDefault","slotMore","h","SubMenu","Icon","ulStyle","useMenuCssVar","vMenu","MenuCollapseTransition"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.vue2.mjs","sources":["../../../../../../packages/components/menu/sub-menu.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('sub-menu')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { type IconProps, type Placement, type ToolTipProps, VftCollapseTransition as CollapseTransition, VftIcon as Icon, VftTooltip as Tooltip } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { throwError } from '@vft-ui/utils';\nimport { renderTNode, singleAttrToObj } from '@vft/utils';\nimport { useTimeoutFn } from '@vueuse/core';\nimport type { CSSProperties, VNodeArrayChildren } from 'vue';\nimport { computed, Fragment, getCurrentInstance, h, inject, onBeforeUnmount, onMounted, provide, reactive, ref, useSlots, vShow, watch, withDirectives } from 'vue';\nimport type { MenuProvider, SubMenuProvider } from './types';\nimport useMenu from './use-menu';\nimport { useMenuCssVar } from './use-menu-css-var';\n\ninterface Props {\n /** 唯一标志 */\n index: string;\n /** 展开 sub-menu 的延时 */\n showTimeout?: number;\n /** 收起 sub-menu 的延时 */\n hideTimeout?: number;\n /** 为 popper 添加类名 */\n popperClass?: ClassType;\n /** 是否禁用 */\n disabled?: boolean;\n popperAppendToBody?: boolean;\n /** 弹出窗口偏移 */\n popperOffset?: number;\n expandIcon?: IconProps;\n collapseIcon?: IconProps;\n title?: string;\n icon?: IconProps | string;\n showArrow?: boolean;\n toolTipCfg?: ToolTipProps;\n}\n\ndefineProps({\n \"index\": null,\n \"showTimeout\": { default: 300 },\n \"hideTimeout\": { default: 300 },\n \"popperClass\": null,\n \"disabled\": { type: Boolean, },\n \"popperAppendToBody\": { type: Boolean, default: undefined },\n \"popperOffset\": { default: 6 },\n \"expandIcon\": { default: {} },\n \"collapseIcon\": { default: {} },\n \"title\": null,\n \"icon\": null,\n \"showArrow\": { type: Boolean, default: true },\n \"toolTipCfg\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\n// 返回当前 sub-menu 对应的 indexPath 页面中对 submenu 定义的 index parentMenu -> vft-menu 组件\nconst { indexPath, parentMenu } = useMenu(instance, computed(() => __props.index));\n\nconst nsMenu = useNamespace('menu');\nconst nsSubMenu = useNamespace('sub-menu');\n\n// 接受 vft-menu 组件中注入的数据\nconst rootMenu = inject<MenuProvider>('rootMenu');\nif (!rootMenu) throwError(ns.b(), 'can not inject root menu');\n\n// 接受 vft-menu 组件中注入的数据 parentMenu.value!.uid 当前 sub-menu 组件对应的 menu.vue 组件\nconst subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`);\nif (!subMenu) throwError(ns.b(), 'can not inject sub menu');\n\n/**\n * 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\nconst subMenus = ref<MenuProvider['subMenus']>({});\n\nlet timeout: (() => void) | undefined;\nconst mouseInChild = ref(false);\n\n// sub-menu-title 的 ref\nconst verticalTitleRef = ref<HTMLDivElement>();\n// tooltip 的实例\nconst vPopper = ref(null);\n\n// toolTop 的展示位置\nconst currentPlacement = computed<Placement>(\n () => (mode.value === 'horizontal' && isFirstLevel.value ? 'bottom-start' : 'right-start'));\n\n// 是否为第一级的 subMenu\nconst isFirstLevel = computed(() => {\n return subMenu.level === 0;\n});\n\nconst appendToBody = computed(() => {\n return __props.popperAppendToBody === undefined ? isFirstLevel.value : Boolean(__props.popperAppendToBody);\n});\n\n// toolTip 弹出的动画名称\nconst menuTransitionName = computed(\n () => (rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`));\n\nconst fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? ['bottom-start', 'bottom-end', 'top-start', 'top-end', 'right-start', 'left-start']\n : ['right-start', 'left-start', 'bottom-start', 'bottom-end', 'top-start', 'top-end']\n);\n\n// 获取当前的 index 是否包含在 openedMenus 中,表示当前 sub-menu 是否已经展开,子节点就是通过这个使用 v-show 来显隐\nconst opened = computed(() => rootMenu.openedMenus.includes(__props.index));\n\nconst active = computed(() => {\n let isActive = false;\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true;\n }\n });\n if (__props.index === rootMenu.activeIndex) {\n isActive = true;\n }\n return isActive;\n});\n\nconst backgroundColor = computed(() => rootMenu.props.backgroundColor || '');\n\nconst activeTextColor = computed(() => rootMenu.props.activeTextColor || '');\n\nconst textColor = computed(() => rootMenu.props.textColor || '');\n\nconst mode = computed(() => rootMenu.props.mode);\n\nconst item = reactive({\n index: __props.index,\n indexPath,\n active\n});\n\n//\nconst titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value\n };\n }\n return {\n borderBottomColor: active.value ? (rootMenu.props.activeTextColor ? activeTextColor.value : '') : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value\n };\n});\n\n// 销毁 toolTip\nconst doDestroy = () => vPopper.value?.popperRef?.popperInstanceRef?.destroy();\n\n// 当菜单收缩展开时执行销毁 toolTip\nconst handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy();\n }\n};\n\n// sub-menu 菜单点击事件\nconst handleClick = () => {\n // 以下几种情况不执行点击事件操作\n if ((rootMenu.props.menuTrigger === 'hover' && rootMenu.props.mode === 'horizontal') || (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) return;\n\n // 调用 menn.vue 中的 handleSubMenuClick 点击事件,传入参数\n rootMenu.handleSubMenuClick({\n index: __props.index,\n indexPath: indexPath.value,\n active: active.value\n });\n};\n\n// 滑入 sub-menu 菜单事件\nconst handleMouseenter = (event: MouseEvent | FocusEvent, _showTimeout = __props.showTimeout) => {\n if (event.type === 'focus') {\n return;\n }\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) {\n return;\n }\n subMenu.mouseInChild.value = true;\n\n // 根据 _showTimeout 展开滑入的菜单子项\n timeout?.();\n ({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(__props.index, indexPath.value);\n }, _showTimeout));\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'));\n }\n};\n\n// 离开滑入的菜单\nconst handleMouseleave = (deepDispatch = false) => {\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')) {\n return;\n }\n timeout?.();\n subMenu.mouseInChild.value = false;\n ({ stop: timeout } = useTimeoutFn(\n () => !mouseInChild.value && rootMenu.closeMenu(__props.index, indexPath.value),\n __props.hideTimeout));\n\n if (appendToBody.value && deepDispatch) {\n if (instance.parent?.type.name === 'vft-sub-menu') {\n subMenu.handleMouseleave?.(true);\n }\n }\n};\n\n// 监听菜单的收缩展开决定是否销毁 ToolTip\nwatch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n);\n\n// 以下代码在 menu-item.vue 中触发\n{\n /**\n * 此函数在 menu-item 中触发,items.value 默认为空对象\n * 最后添加后的 items 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item;\n };\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index];\n };\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1\n });\n}\n\ndefineExpose({\n opened\n});\n\nonMounted(() => {\n rootMenu.addSubMenu(item);\n subMenu.addSubMenu(item);\n});\n\nonBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeSubMenu(item);\n});\n\nconst slots = useSlots();\n\n// 箭头设置\nconst subMenuIcon = computed(() => {\n // 水平模式第一级 或者 竖直非折叠\n return (mode.value === 'horizontal' && isFirstLevel.value) || (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? { icon: 'vi-arrow-down', size: 20, ...__props.expandIcon } :\n { icon: 'vi-arrow-right', size: 18, ...__props.collapseIcon };\n});\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst titleCon = computed(() => {\n return renderTNode(instance, 'title');\n});\n\ndefineRender(() => {\n // sub-menu 的标题以及展开箭头 icon 相关\n const titleTag: VNodeArrayChildren = [\n _icon.value?.icon ? h(Icon, { ..._icon.value }) : null,\n h(\n 'span',\n {\n class: __props.showArrow ? nsSubMenu.e('text') : '',\n title: instance.props.title\n },\n titleCon.value\n ),\n __props.showArrow ? h(\n Icon,\n {\n class: nsSubMenu.e('icon-arrow'),\n ...subMenuIcon.value,\n style: { transform: opened.value ? 'rotateZ(180deg)' : 'none' }\n }\n ) : false\n ];\n\n // 给 vft-menu class 这一栏加入 level 等级,以此来区分当前的 level: --vft-menu-level:2;\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);\n\n /**\n * rootMenu.isMenuPopup 是否需要 tooltip 1.水平模式的菜单需要 2.竖直类型的菜单在收缩时需要\n * 如果需要 tooltip 用 h 函数渲染时,则采用 ElTooltip 组件\n * @type {VNode}\n */\n const child = rootMenu.isMenuPopup\n ? h(\n Tooltip,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: __props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: __props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n ...__props.toolTipCfg\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [nsMenu.m(mode.value), nsMenu.m('popup-container'), __props.popperClass],\n onMouseenter: (evt: MouseEvent) => handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100)\n },\n [\n h(\n 'ul',\n {\n class: [nsMenu.b(), nsMenu.m('popup'), nsMenu.m(\n `popup-${currentPlacement.value}`)],\n style: ulStyle.value\n },\n [slots.default?.()]\n )\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n onClick: handleClick\n },\n titleTag\n )\n }\n )\n :\n /**\n * Fragment 碎片化节点,可以让 dom 没有根节点\n *\n * 以下是无需 tooltip 渲染的组件,通常是侧边栏没有折叠的时候\n */\n h(Fragment, {}, [\n titleCon.value ? h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n ref: verticalTitleRef,\n onClick: handleClick\n },\n titleTag\n ) : null,\n h(\n CollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n )\n }\n )\n ]);\n\n return h(\n 'li',\n {\n class: [nsSubMenu.b(), nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value), nsSubMenu.is('disabled', __props.disabled)],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(true),\n onFocus: handleMouseenter\n },\n [child]\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","name","b","instance","getCurrentInstance","indexPath","parentMenu","useMenu","computed","__props","index","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","value","uid","subMenus","ref","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","level","appendToBody","popperAppendToBody","undefined","Boolean","menuTransitionName","props","collapse","namespace","fallbackPlacements","opened","openedMenus","includes","active","isActive","Object","values","forEach","subItem","activeIndex","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","color","borderBottomColor","doDestroy","popperRef","popperInstanceRef","destroy","handleCollapseToggle","handleClick","menuTrigger","disabled","handleSubMenuClick","handleMouseenter","event","_showTimeout","showTimeout","type","stop","useTimeoutFn","openMenu","vnode","el","dispatchEvent","MouseEvent","handleMouseleave","deepDispatch","closeMenu","hideTimeout","parent","watch","addSubMenu","removeSubMenu","provide","expose","onMounted","onBeforeUnmount","slots","useSlots","subMenuIcon","icon","size","expandIcon","collapseIcon","_icon","singleAttrToObj","titleCon","renderTNode","titleTag","h","Icon","class","showArrow","e","title","style","transform","ulStyle","useMenuCssVar","child","isMenuPopup","Tooltip","visible","effect","pure","offset","popperOffset","persistent","popperClass","placement","teleported","transition","gpuAcceleration","toolTipCfg","content","m","onMouseenter","evt","onMouseleave","onFocus","default","onClick","Fragment","CollapseTransition","withDirectives","role","vShow","is","ariaHaspopup","ariaExpanded"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-menu-css-var.mjs","sources":["../../../../../../packages/components/menu/use-menu-css-var.ts"],"sourcesContent":["import { computed } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\n\nexport const useMenuCssVar = (props: any, level: number) => {\n const ns = useNamespace('menu');\n return computed(() => {\n return ns.cssVarBlock({\n level: `${level}`\n });\n });\n};\n"],"names":["useMenuCssVar","props","level","ns","useNamespace","computed"],"mappings":";;;;;;;;AAGa,MAAAA,IAAgB,CAACC,GAAYC,MAAkB;AACpD,QAAAC,IAAKC,EAAa,MAAM;AAC9B,SAAOC,EAAS,MACPF,EAAG,YAAY;AAAA,IACpB,OAAO,GAAGD;AAAA,EAAA,CACX,CACF;AACH;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-menu.mjs","sources":["../../../../../../packages/components/menu/use-menu.ts"],"sourcesContent":["import { computed } from 'vue';\n\nimport type { ComponentInternalInstance, Ref } from 'vue';\n\n/**\n * @description menu-item 与 sub-menu 都会调用此方法\n * @author wfd\n * @date 2022/11/8 14:02\n * @example\n * @param {ComponentInternalInstance} instance\n * @param {Ref<string>} currentIndex\n * @returns {{indexPath: ComputedRef<string[]>, parentMenu: ComputedRef<ComponentInternalInstance>}}\n */\nexport default function useMenu(\n instance: ComponentInternalInstance,\n currentIndex: Ref<string>\n) {\n \n /**\n * 这个 indexPath 是如何查找的,一般我们会给 vft-sub-menu 组件一个 index 属性,由于这个文件只有 menu-item 与 sub-menu 调用,\n * 由于 sub-menu 向上查询,不会有 index 属性了,主要是不断去找 menu-item 的父组件的 props 中的 index 属性\n *\n * 所以最终 indexPath 返回 menu-item:[自身的 index,sub-menu 的 index],sub-menu: [自身的index]\n *\n * sub-menu:['mio'] menu-item:['mio', '1-2']\n * @type {ComputedRef<string[]>}\n */\n const indexPath = computed(() => {\n let parent = instance.parent!;\n \n const path = [currentIndex.value];\n while (parent.type.name !== 'vft-menu') {\n if (parent.props.index) {\n path.unshift(parent.props.index as string);\n }\n parent = parent.parent!;\n }\n return path;\n });\n \n /**\n * @description 如果是 sub-menu 文件最终返回的 parent 是 vft-menu 组件,如果是 menu-item 最终返回的是 vft-sub-menu 组件\n * @author wfd\n * @date 2022/11/8 16:23\n * @example\n * @type {ComputedRef<ComponentInternalInstance>}\n */\n const parentMenu = computed(() => {\n let parent = instance.parent;\n while (parent && !['vft-menu', 'vft-sub-menu'].includes(parent.type.name!)) {\n parent = parent.parent;\n }\n return parent!;\n });\n \n return {\n parentMenu,\n indexPath\n };\n}\n"],"names":["useMenu","instance","currentIndex","indexPath","computed","parent","path"],"mappings":";AAawB,SAAAA,EACtBC,GACAC,GACA;AAWM,QAAAC,IAAYC,EAAS,MAAM;AAC/B,QAAIC,IAASJ,EAAS;AAEhB,UAAAK,IAAO,CAACJ,EAAa,KAAK;AACzB,WAAAG,EAAO,KAAK,SAAS;AACtB,MAAAA,EAAO,MAAM,SACVC,EAAA,QAAQD,EAAO,MAAM,KAAe,GAE3CA,IAASA,EAAO;AAEX,WAAAC;AAAA,EAAA,CACR;AAiBM,SAAA;AAAA,IACL,YATiBF,EAAS,MAAM;AAChC,UAAIC,IAASJ,EAAS;AACf,aAAAI,KAAU,CAAC,CAAC,YAAY,cAAc,EAAE,SAASA,EAAO,KAAK,IAAK;AACvE,QAAAA,IAASA,EAAO;AAEX,aAAAA;AAAA,IAAA,CACR;AAAA,IAIC,WAAAF;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.mjs","sources":["../../../../../../../packages/components/menu/utils/menu-bar.ts"],"sourcesContent":["import MenuItem from './menu-item';\n\nimport type { RendererNode } from 'vue';\n\nclass Menu {\n constructor(public domNode: RendererNode, namespace: string) {\n this.init(namespace);\n }\n init(namespace: string): void {\n const menuChildren = this.domNode.childNodes;\n Array.from<Node>(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child as HTMLElement, namespace);\n }\n });\n }\n}\n\nexport default Menu;\n"],"names":["Menu","domNode","namespace","menuChildren","child","MenuItem"],"mappings":";AAIA,MAAMA,EAAK;AAAA,EACT,YAAmBC,GAAuBC,GAAmB;AAA1C,SAAA,UAAAD,GACjB,KAAK,KAAKC,CAAS;AAAA,EACrB;AAAA,EACA,KAAKA,GAAyB;AACtB,UAAAC,IAAe,KAAK,QAAQ;AAClC,UAAM,KAAWA,CAAY,EAAE,QAAQ,CAACC,MAAU;AAC5C,MAAAA,EAAM,aAAa,KACjB,IAAAC,EAASD,GAAsBF,CAAS;AAAA,IAC9C,CACD;AAAA,EACH;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.mjs","sources":["../../../../../../../packages/components/menu/utils/menu-item.ts"],"sourcesContent":["import { triggerEvent } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport SubMenu from './submenu';\n\nclass MenuItem {\n public submenu: SubMenu | null = null;\n constructor(public domNode: HTMLElement, namespace: string) {\n this.submenu = null;\n this.init(namespace);\n }\n\n init(namespace: string): void {\n this.domNode.setAttribute('tabindex', '0');\n const menuChild = this.domNode.querySelector(`.${namespace}-menu`);\n if (menuChild) {\n this.submenu = new SubMenu(this, menuChild);\n }\n this.addListeners();\n }\n\n addListeners(): void {\n this.domNode.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter');\n this.submenu && this.submenu.gotoSubIndex(0);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter');\n this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseleave');\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n (event.currentTarget as HTMLElement).click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n }\n });\n }\n}\n\nexport default MenuItem;\n"],"names":["MenuItem","domNode","namespace","menuChild","SubMenu","event","prevDef","EVENT_CODE","triggerEvent"],"mappings":";;;AAIA,MAAMA,EAAS;AAAA,EAEb,YAAmBC,GAAsBC,GAAmB;AAAzC,SAAA,UAAAD,GADnB,KAAO,UAA0B,MAE/B,KAAK,UAAU,MACf,KAAK,KAAKC,CAAS;AAAA,EACrB;AAAA,EAEA,KAAKA,GAAyB;AACvB,SAAA,QAAQ,aAAa,YAAY,GAAG;AACzC,UAAMC,IAAY,KAAK,QAAQ,cAAc,IAAID,QAAgB;AACjE,IAAIC,MACF,KAAK,UAAU,IAAIC,EAAQ,MAAMD,CAAS,IAE5C,KAAK,aAAa;AAAA,EACpB;AAAA,EAEA,eAAqB;AACnB,SAAK,QAAQ,iBAAiB,WAAW,CAACE,MAAyB;AACjE,UAAIC,IAAU;AACd,cAAQD,EAAM,MAAM;AAAA,QAClB,KAAKE,EAAW,MAAM;AACP,UAAAC,EAAAH,EAAM,eAA8B,YAAY,GAC7D,KAAK,WAAW,KAAK,QAAQ,aAAa,CAAC,GACjCC,IAAA;AACV;AAAA,QACF;AAAA,QACA,KAAKC,EAAW,IAAI;AACL,UAAAC,EAAAH,EAAM,eAA8B,YAAY,GACxD,KAAA,WAAW,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,SAAS,CAAC,GACpEC,IAAA;AACV;AAAA,QACF;AAAA,QACA,KAAKC,EAAW,KAAK;AACN,UAAAC,EAAAH,EAAM,eAA8B,YAAY;AAC7D;AAAA,QACF;AAAA,QACA,KAAKE,EAAW;AAAA,QAChB,KAAKA,EAAW,OAAO;AACX,UAAAD,IAAA,IACTD,EAAM,cAA8B;AACrC;AAAA,QACF;AAAA,MACF;AACA,MAAIC,KACFD,EAAM,eAAe;AAAA,IACvB,CACD;AAAA,EACH;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submenu.mjs","sources":["../../../../../../../packages/components/menu/utils/submenu.ts"],"sourcesContent":["// @ts-nocheck\nimport { triggerEvent } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport type MenuItem from './menu-item';\n\nclass SubMenu {\n public subMenuItems: NodeList;\n public subIndex = 0;\n constructor(public parent: MenuItem, public domNode: ParentNode) {\n this.subIndex = 0;\n this.init();\n }\n\n init(): void {\n this.subMenuItems = this.domNode.querySelectorAll('li');\n this.addListeners();\n }\n\n gotoSubIndex(idx: number): void {\n if (idx === this.subMenuItems.length) {\n idx = 0;\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1;\n }\n (this.subMenuItems[idx] as HTMLElement).focus();\n this.subIndex = idx;\n }\n\n addListeners(): void {\n const parentNode = this.parent.domNode;\n Array.prototype.forEach.call(this.subMenuItems, (el: Element) => {\n el.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n this.gotoSubIndex(this.subIndex + 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n this.gotoSubIndex(this.subIndex - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(parentNode as HTMLElement, 'mouseleave');\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n (event.currentTarget as HTMLElement).click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n event.stopPropagation();\n }\n return false;\n });\n });\n }\n}\n\nexport default SubMenu;\n"],"names":["SubMenu","parent","domNode","idx","parentNode","el","event","prevDef","EVENT_CODE","triggerEvent"],"mappings":";;AAKA,MAAMA,EAAQ;AAAA,EAGZ,YAAmBC,GAAyBC,GAAqB;AAA9C,SAAA,SAAAD,GAAyB,KAAA,UAAAC,GAD5C,KAAO,WAAW,GAEhB,KAAK,WAAW,GAChB,KAAK,KAAK;AAAA,EACZ;AAAA,EAEA,OAAa;AACX,SAAK,eAAe,KAAK,QAAQ,iBAAiB,IAAI,GACtD,KAAK,aAAa;AAAA,EACpB;AAAA,EAEA,aAAaC,GAAmB;AAC1B,IAAAA,MAAQ,KAAK,aAAa,SACtBA,IAAA,IACGA,IAAM,MACTA,IAAA,KAAK,aAAa,SAAS,IAElC,KAAK,aAAaA,CAAG,EAAkB,MAAM,GAC9C,KAAK,WAAWA;AAAA,EAClB;AAAA,EAEA,eAAqB;AACb,UAAAC,IAAa,KAAK,OAAO;AAC/B,UAAM,UAAU,QAAQ,KAAK,KAAK,cAAc,CAACC,MAAgB;AAC5D,MAAAA,EAAA,iBAAiB,WAAW,CAACC,MAAyB;AACvD,YAAIC,IAAU;AACd,gBAAQD,EAAM,MAAM;AAAA,UAClB,KAAKE,EAAW,MAAM;AACf,iBAAA,aAAa,KAAK,WAAW,CAAC,GACzBD,IAAA;AACV;AAAA,UACF;AAAA,UACA,KAAKC,EAAW,IAAI;AACb,iBAAA,aAAa,KAAK,WAAW,CAAC,GACzBD,IAAA;AACV;AAAA,UACF;AAAA,UACA,KAAKC,EAAW,KAAK;AACnB,YAAAC,EAAaL,GAA2B,YAAY;AACpD;AAAA,UACF;AAAA,UACA,KAAKI,EAAW;AAAA,UAChB,KAAKA,EAAW,OAAO;AACX,YAAAD,IAAA,IACTD,EAAM,cAA8B;AACrC;AAAA,UACF;AAAA,QACF;AACA,eAAIC,MACFD,EAAM,eAAe,GACrBA,EAAM,gBAAgB,IAEjB;AAAA,MAAA,CACR;AAAA,IAAA,CACF;AAAA,EACH;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/multiple-tabs/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport MultipleTabs from './multiple-tabs.vue';\n\nexport const VftMultipleTabs = withInstall(MultipleTabs)\nexport default VftMultipleTabs\nexport * from './use';\nexport * from './types';\n"],"names":["VftMultipleTabs","withInstall","MultipleTabs"],"mappings":";;;;;;;AAIa,MAAAA,IAAkBC,EAAYC,CAAY;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-tabs.vue2.mjs","sources":["../../../../../../packages/components/multiple-tabs/multiple-tabs.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('multiple-tabs')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { getRouterKeyPath, listenerRouteChange, useRouterHelper } from '@vft/router';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\nimport { useRefs } from '@vft/use';\nimport { generateCssVars } from '@vft/utils';\nimport hotkeys from 'hotkeys-js';\nimport { computed, ref, unref, watchEffect } from 'vue';\nimport type { RouteLocationNormalized, RouteMeta } from 'vue-router';\nimport { useRouter, onBeforeRouteLeave } from 'vue-router';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { VftTabs, VftTabPane, type TabsPaneContext } from '@vft-ui/components';\n\nimport TabContent from './tab-content.vue';\nimport type { TabContentExpose } from './types';\nimport { initAffixTabs, useTabsDrag } from './use';\n\ninterface MultipleTabsProps {\n tabsStyle?: Record<string, Numberish>;\n contextMenuStyle?: Record<string, Numberish>;\n canDrag?: boolean;\n}\n\ndefineProps({\n \"tabsStyle\": null,\n \"contextMenuStyle\": null,\n \"canDrag\": { type: Boolean, }\n})\n\n\n\n;\n\nconst affixList = initAffixTabs();\n\nif (__props.canDrag) {\n useTabsDrag(affixList);\n}\n\nconst tabStore = useMultipleTabStore();\n\n// active path for tab\nconst activePathRef = ref('');\nconst activeIndex = ref(0);\nconst fromRoute = ref();\n\nconst router = useRouter();\nconst { go } = useRouterHelper();\n\n// get current tab list\nconst getTabsState = computed(() => {\n return tabStore.getTabList.filter((item) => {\n return !item.meta?.hideTab;\n });\n});\n\n\nwatchEffect(() => {\n if (activePathRef.value) {\n const _activeIndex = getTabsState.value.findIndex(item => {\n return getRouterKeyPath(item) === activePathRef.value;\n });\n if (_activeIndex === -1) {\n activeIndex.value = getTabsState.value?.length - 1;\n } else {\n activeIndex.value = _activeIndex;\n }\n activeIndex.value = activeIndex.value < affixList?.length ? affixList?.length - 1 : activeIndex.value;\n }\n});\n\nonBeforeRouteLeave(() => {\n fromRoute.value = unref(router.currentRoute);\n});\n\nlistenerRouteChange((route) => {\n if (!route) {\n return;\n }\n\n const { meta = {} } = route;\n const { currentActivePath, hideTab } = meta as RouteMeta;\n\n const isHide = !hideTab ? null : currentActivePath;\n\n // set current active tab value\n const activePath = getRouterKeyPath(route);\n\n if (activePathRef.value !== activePath) {\n activePathRef.value = activePath;\n }\n\n if (isHide) {\n // 如果当前 tab 是隐藏的,则从路由中根据 currentActivePath 寻找到此路由的信息,然后在 tabStore 添加此路由\n let findParentRoute = router.getRoutes().find((item) => item.path === currentActivePath);\n findParentRoute && tabStore.addTab(findParentRoute as unknown as RouteLocationNormalized, unref(fromRoute), activeIndex.value, route);\n } else {\n tabStore.addTab(unref(route), unref(fromRoute), activeIndex.value);\n }\n});\n\n// 点击 tab 根据 tab 传入的 path 路径,跳转到对应页面\nfunction handleClick (pane: TabsPaneContext) {\n if (activePathRef.value === pane.paneName) {\n \treturn;\n }\n const clickTab = getTabsState.value[pane.attrs.index];\n activePathRef.value = pane.paneName as string;\n const hideActiveRoutePath = (clickTab?.meta?.hideActiveRoute as RouteLocationNormalized)?.fullPath;\n if (hideActiveRoutePath) {\n go(hideActiveRoutePath);\n } else {\n go(clickTab.fullPath || clickTab.path);\n }\n}\n\n// click x close tab\nfunction handleRemove (targetPath: string) {\n tabStore.closeTabByKey(targetPath, router);\n}\n\nconst [refs, setRefs] = useRefs<TabContentExpose>();\n\nfunction handleContextMenu (data: {pane: {attrs: {index: number;};}; event: any;}) {\n const _index = data.pane.attrs.index;\n const _event = data.event;\n refs.value[_index].handleContext(_event);\n}\n\nconst _tabsStyle = computed(() => {\n let initTabStyle: Record<string, Numberish> = {\n padding: '4px 0 0',\n 'header-height': '26px',\n 'item-color': '#5C5C5C',\n 'item-bg-color': '#f8f8f8',\n 'font-size': '13px',\n 'item-padding': '0 10px',\n 'close-icon-left': '8px',\n 'item-distance': '10px',\n 'item-max-width': '348px',\n 'header-margin': '0 0 0 8px'\n };\n\n return { ...generateCssVars(initTabStyle, 'tabs'), ...__props.tabsStyle };\n});\n\nconst { closeCurrent } = useTabs();\n\nhotkeys('command+e, ctrl+e', function () {\n closeCurrent();\n return false;\n});\n\nconst _contextMenuStyle = computed(() => {\n return {\n ...generateCssVars({\n border: '1px solid #dcdfe6',\n 'sub-item-height': '40px',\n 'item-min-width': '150px'\n }, 'menu'),\n ...__props.contextMenuStyle\n };\n});\n</script>\n\n<template>\n <div :class=\"ns.b()\" :style=\"_tabsStyle\">\n <vft-tabs\n v-model:model-value=\"activePathRef\"\n type=\"card\"\n @tabClick=\"handleClick\"\n @tabRemove=\"handleRemove\"\n @tabContextMenu=\"handleContextMenu\"\n :closeIconCfg=\"{ color: 'white'}\"\n >\n <!--why key add index:key not update after sort -->\n <template v-for=\"(item, index) in getTabsState\" :key=\"getRouterKeyPath(item) + index\">\n <vft-tab-pane :closable=\"!(item.meta?.affix)\" :index=\"index\" :name=\"getRouterKeyPath(item)\">\n <template #label>\n <tab-content :contextMenuStyle=\"_contextMenuStyle\" :affixNum=\"affixList?.length\"\n :ref=\"setRefs(index)\" :tabItem=\"item\" />\n </template>\n </vft-tab-pane>\n </template>\n </vft-tabs>\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","affixList","initAffixTabs","__props","useTabsDrag","tabStore","useMultipleTabStore","activePathRef","ref","activeIndex","fromRoute","router","useRouter","go","useRouterHelper","getTabsState","computed","item","_a","watchEffect","_activeIndex","getRouterKeyPath","onBeforeRouteLeave","unref","listenerRouteChange","route","meta","currentActivePath","hideTab","isHide","activePath","findParentRoute","handleClick","pane","clickTab","hideActiveRoutePath","_b","handleRemove","targetPath","refs","setRefs","useRefs","handleContextMenu","data","_index","_event","_tabsStyle","generateCssVars","closeCurrent","useTabs","hotkeys","_contextMenuStyle"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-content.vue2.mjs","sources":["../../../../../../packages/components/multiple-tabs/tab-content.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { useContextMenu } from '@vft-ui/components/context-menu';\nimport type { TabContentExpose } from './types';\nimport { useTabDropdown } from './use';\n\ninterface Props {\n tabItem: RouteLocationNormalized;\n affixNum: number;\n contextMenuStyle?: Record<string, Numberish>;\n}\n\ndefineProps({\n \"tabItem\": null,\n \"affixNum\": null,\n \"contextMenuStyle\": null\n})\n\nconst [createContextMenu] = useContextMenu();\n\nconst getTitle = computed(() => {\n return __props.tabItem.meta && (__props.tabItem.meta.title as string);\n});\n\nconst { getDropMenuList, handleContextMenu } = useTabDropdown(__props.tabItem, __props.affixNum);\n\nfunction handleContext(e: MouseEvent) {\n handleContextMenu(__props.tabItem)(e);\n createContextMenu({\n event: e,\n styles: __props.contextMenuStyle,\n items: getDropMenuList.value\n });\n}\n\ndefineExpose<TabContentExpose>({\n handleContext\n});\n</script>\n\n<template>\n <span :title=\"getTitle\" class=\"vri-multiple-tabs__title\" @contextmenu.stop=\"handleContext\">{{ getTitle }}</span>\n</template>\n"],"names":["createContextMenu","useContextMenu","getTitle","computed","__props","getDropMenuList","handleContextMenu","useTabDropdown","handleContext","expose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBM,UAAA,CAACA,CAAiB,IAAIC,KAEtBC,IAAWC,EAAS,MACjBC,EAAQ,QAAQ,QAASA,EAAQ,QAAQ,KAAK,KACtD,GAEK,EAAE,iBAAAC,GAAiB,mBAAAC,MAAsBC,EAAeH,EAAQ,SAASA,EAAQ,QAAQ;AAE/F,aAASI,EAAc,GAAe;AAClB,MAAAF,EAAAF,EAAQ,OAAO,EAAE,CAAC,GAClBJ,EAAA;AAAA,QAChB,OAAO;AAAA,QACP,QAAQI,EAAQ;AAAA,QAChB,OAAOC,EAAgB;AAAA,MAAA,CACxB;AAAA,IACH;AAE+B,WAAAI,EAAA;AAAA,MAC7B,eAAAD;AAAA,IAAA,CACD;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-multiple-tabs.mjs","sources":["../../../../../../../packages/components/multiple-tabs/use/use-multiple-tabs.ts"],"sourcesContent":["import { useSortable } from '@vft/use';\nimport { arrSort, isNullOrUndefined } from '@vft/utils';\nimport type { SortableEvent } from 'sortablejs';\nimport { nextTick, ref, toRaw } from 'vue';\nimport type { RouteLocationNormalized } from 'vue-router';\nimport { useRouter } from 'vue-router';\nimport { useMultipleTabStore } from '@vft/store';\n\n/**\n * @description 初始化需要固定的 tab 标签\n * @author wfd\n * @date 2022/10/15 19:03\n * @example\n * @returns {string[]}\n */\nexport function initAffixTabs(): string[] {\n const affixList = ref<RouteLocationNormalized[]>([]);\n\n const tabStore = useMultipleTabStore();\n const router = useRouter();\n\n // 过滤需要固定的标签\n function filterAffixTabs(routes: RouteLocationNormalized[]) {\n const tabs: RouteLocationNormalized[] = [];\n routes &&\n routes.forEach((route) => {\n if (route.meta?.affix) {\n // console.log(route, 777, toRaw(route));\n tabs.push(toRaw(route));\n }\n });\n return tabs;\n }\n\n function addAffixTabs() {\n const affixTabs = filterAffixTabs(router.getRoutes() as unknown as RouteLocationNormalized[]);\n\n arrSort(affixTabs, ['meta', 'order']);\n\n affixList.value = affixTabs;\n\n for (const tab of affixTabs) {\n tabStore.addTab({\n meta: tab.meta,\n name: tab.name,\n path: tab.path\n } as RouteLocationNormalized);\n }\n }\n\n let isAddAffix = false;\n\n // 开始执行固定标签\n if (!isAddAffix) {\n addAffixTabs();\n isAddAffix = true;\n }\n return affixList.value.map((item) => item.meta?.title).filter(Boolean) as string[];\n}\n\nexport function useTabsDrag(affixTextList: string[]) {\n const tabStore = useMultipleTabStore();\n nextTick(() => {\n const el = document.querySelectorAll('.vft-tabs__nav')?.[0] as HTMLElement;\n\n const { initSortable } = useSortable(el, {\n draggable: '.is-closable',\n filter: (e) => {\n const text = (e?.target as HTMLElement)?.innerText;\n if (!text) return false;\n return affixTextList.includes(text);\n },\n\n onEnd: (evt: SortableEvent) => {\n const { oldIndex, newIndex } = evt;\n\n if (isNullOrUndefined(oldIndex) || isNullOrUndefined(newIndex) || oldIndex === newIndex) {\n return;\n }\n\n tabStore.sortTabs(oldIndex, newIndex);\n }\n });\n initSortable();\n });\n}\n"],"names":["initAffixTabs","affixList","ref","tabStore","useMultipleTabStore","router","useRouter","filterAffixTabs","routes","tabs","route","_a","toRaw","addAffixTabs","affixTabs","arrSort","tab","isAddAffix","item","useTabsDrag","affixTextList","nextTick","el","initSortable","useSortable","e","text","evt","oldIndex","newIndex","isNullOrUndefined"],"mappings":";;;;;AAeO,SAASA,IAA0B;AAClC,QAAAC,IAAYC,EAA+B,CAAA,CAAE,GAE7CC,IAAWC,KACXC,IAASC;AAGf,WAASC,EAAgBC,GAAmC;AAC1D,UAAMC,IAAkC,CAAA;AAEtC,WAAAD,KAAAA,EAAO,QAAQ,CAACE,MAAU;;AACpB,OAAAC,IAAAD,EAAM,SAAN,QAAAC,EAAY,SAETF,EAAA,KAAKG,EAAMF,CAAK,CAAC;AAAA,IACxB,CACD,GACID;AAAA,EACT;AAEA,WAASI,IAAe;AACtB,UAAMC,IAAYP,EAAgBF,EAAO,UAAmD,CAAA;AAE5F,IAAAU,EAAQD,GAAW,CAAC,QAAQ,OAAO,CAAC,GAEpCb,EAAU,QAAQa;AAElB,eAAWE,KAAOF;AAChB,MAAAX,EAAS,OAAO;AAAA,QACd,MAAMa,EAAI;AAAA,QACV,MAAMA,EAAI;AAAA,QACV,MAAMA,EAAI;AAAA,MAAA,CACgB;AAAA,EAEhC;AAEA,MAAIC,IAAa;AAGjB,SAAKA,MACUJ,KACAI,IAAA,KAERhB,EAAU,MAAM,IAAI,CAACiB,MAAA;;AAAS,YAAAP,IAAAO,EAAK,SAAL,gBAAAP,EAAW;AAAA,GAAK,EAAE,OAAO,OAAO;AACvE;AAEO,SAASQ,EAAYC,GAAyB;AACnD,QAAMjB,IAAWC;AACjB,EAAAiB,EAAS,MAAM;;AACb,UAAMC,KAAKX,IAAA,SAAS,iBAAiB,gBAAgB,MAA1C,gBAAAA,EAA8C,IAEnD,EAAE,cAAAY,EAAA,IAAiBC,EAAYF,GAAI;AAAA,MACvC,WAAW;AAAA,MACX,QAAQ,CAACG,MAAM;;AACP,cAAAC,KAAQf,IAAAc,KAAA,gBAAAA,EAAG,WAAH,gBAAAd,EAA2B;AACzC,eAAKe,IACEN,EAAc,SAASM,CAAI,IADhB;AAAA,MAEpB;AAAA,MAEA,OAAO,CAACC,MAAuB;AACvB,cAAA,EAAE,UAAAC,GAAU,UAAAC,EAAa,IAAAF;AAE/B,QAAIG,EAAkBF,CAAQ,KAAKE,EAAkBD,CAAQ,KAAKD,MAAaC,KAItE1B,EAAA,SAASyB,GAAUC,CAAQ;AAAA,MACtC;AAAA,IAAA,CACD;AACY,IAAAN;EAAA,CACd;AACH;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-tab-dropdown.mjs","sources":["../../../../../../../packages/components/multiple-tabs/use/use-tab-dropdown.ts"],"sourcesContent":["import { getRouterKeyPath } from '@vft/router';\nimport { computed, reactive, unref } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { type ContextMenuItem } from '@vft-ui/components/context-menu';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\n\nexport function useTabDropdown(tabItem: RouteLocationNormalized, affixNum: number) {\n // 记录当前点击多 tab 的索引与 tab 的信息\n const state = reactive({\n current: null as Nullable<RouteLocationNormalized>,\n currentIndex: 0\n });\n\n const tabStore = useMultipleTabStore();\n const { refreshPage, closeAll, close, closeLeft, closeOther, closeRight, newWinTab } = useTabs();\n\n /**\n * @description 多 tab 菜单列表\n */\n const getDropMenuList = computed(() => {\n if (!tabItem) {\n return;\n }\n const { meta } = tabItem;\n\n const index = state.currentIndex;\n\n // 关闭左侧标签页\n const closeLeftDisabled = index === 0 || index <= affixNum;\n // 关闭右侧标签页\n const closeRightDisabled = tabStore.getTabList.length <= affixNum || (index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0);\n // 关闭其他\n const closeOtherDisabled = tabStore.getTabList.length === affixNum || (tabStore.getTabList.length === affixNum + 1 && index === affixNum);\n // 关闭所有\n const disabled = tabStore.getTabList.length === affixNum;\n\n const dropMenuList: ContextMenuItem[] = [\n {\n iconCfg: { icon: 'vi-refresh' },\n text: '刷新',\n handler: () => refreshPage(tabItem)\n },\n {\n iconCfg: { icon: 'vi-new-page' },\n text: '新页面打开',\n handler: () => newWinTab(tabItem),\n divider: true\n },\n {\n iconCfg: { icon: 'vi-close' },\n text: '关闭标签页',\n disabled: !!meta?.affix || disabled,\n handler: () => close(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-left' },\n text: '关闭左侧标签页',\n disabled: closeLeftDisabled,\n handler: () => closeLeft(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-right' },\n text: '关闭右侧标签页',\n disabled: closeRightDisabled,\n divider: true,\n handler: () => closeRight(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-other' },\n text: '关闭其它标签页',\n disabled: closeOtherDisabled,\n handler: () => closeOther(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-all' },\n text: '关闭所有标签页',\n disabled,\n handler: () => closeAll()\n }\n ];\n\n return dropMenuList;\n });\n\n // 点击 tab 右侧菜单事件\n function handleContextMenu(tabItem: RouteLocationNormalized) {\n return (e: Event) => {\n if (!tabItem) {\n return;\n }\n e?.preventDefault();\n\n // 获取当前点击的 tab 在多 tab 列表中的位置\n const index = tabStore.getTabList.findIndex((tab) => getRouterKeyPath(tab) === getRouterKeyPath(tabItem));\n state.current = tabItem;\n state.currentIndex = index;\n };\n }\n\n return { getDropMenuList, handleContextMenu };\n}\n"],"names":["useTabDropdown","tabItem","affixNum","state","reactive","tabStore","useMultipleTabStore","refreshPage","closeAll","close","closeLeft","closeOther","closeRight","newWinTab","useTabs","getDropMenuList","computed","meta","index","closeLeftDisabled","closeRightDisabled","closeOtherDisabled","disabled","handleContextMenu","e","tab","getRouterKeyPath"],"mappings":";;;AAMgB,SAAAA,EAAeC,GAAkCC,GAAkB;AAEjF,QAAMC,IAAQC,EAAS;AAAA,IACrB,SAAS;AAAA,IACT,cAAc;AAAA,EAAA,CACf,GAEKC,IAAWC,KACX,EAAE,aAAAC,GAAa,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,YAAAC,GAAY,YAAAC,GAAY,WAAAC,MAAcC,KAKjFC,IAAkBC,EAAS,MAAM;AACrC,QAAI,CAACf;AACH;AAEI,UAAA,EAAE,MAAAgB,EAAS,IAAAhB,GAEXiB,IAAQf,EAAM,cAGdgB,IAAoBD,MAAU,KAAKA,KAAShB,GAE5CkB,IAAqBf,EAAS,WAAW,UAAUH,KAAagB,MAAUb,EAAS,WAAW,SAAS,KAAKA,EAAS,uBAAuB,GAE5IgB,IAAqBhB,EAAS,WAAW,WAAWH,KAAaG,EAAS,WAAW,WAAWH,IAAW,KAAKgB,MAAUhB,GAE1HoB,IAAWjB,EAAS,WAAW,WAAWH;AA+CzC,WA7CiC;AAAA,MACtC;AAAA,QACE,SAAS,EAAE,MAAM,aAAa;AAAA,QAC9B,MAAM;AAAA,QACN,SAAS,MAAMK,EAAYN,CAAO;AAAA,MACpC;AAAA,MACA;AAAA,QACE,SAAS,EAAE,MAAM,cAAc;AAAA,QAC/B,MAAM;AAAA,QACN,SAAS,MAAMY,EAAUZ,CAAO;AAAA,QAChC,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS,EAAE,MAAM,WAAW;AAAA,QAC5B,MAAM;AAAA,QACN,UAAU,CAAC,EAACgB,KAAA,QAAAA,EAAM,UAASK;AAAA,QAC3B,SAAS,MAAMb,EAAMR,CAAO;AAAA,MAC9B;AAAA,MACA;AAAA,QACE,SAAS,EAAE,MAAM,gBAAgB;AAAA,QACjC,MAAM;AAAA,QACN,UAAUkB;AAAA,QACV,SAAS,MAAMT,EAAUT,CAAO;AAAA,MAClC;AAAA,MACA;AAAA,QACE,SAAS,EAAE,MAAM,iBAAiB;AAAA,QAClC,MAAM;AAAA,QACN,UAAUmB;AAAA,QACV,SAAS;AAAA,QACT,SAAS,MAAMR,EAAWX,CAAO;AAAA,MACnC;AAAA,MACA;AAAA,QACE,SAAS,EAAE,MAAM,iBAAiB;AAAA,QAClC,MAAM;AAAA,QACN,UAAUoB;AAAA,QACV,SAAS,MAAMV,EAAWV,CAAO;AAAA,MACnC;AAAA,MACA;AAAA,QACE,SAAS,EAAE,MAAM,eAAe;AAAA,QAChC,MAAM;AAAA,QACN,UAAAqB;AAAA,QACA,SAAS,MAAMd,EAAS;AAAA,MAC1B;AAAA,IAAA;AAAA,EAGK,CACR;AAGD,WAASe,EAAkBtB,GAAkC;AAC3D,WAAO,CAACuB,MAAa;AACnB,UAAI,CAACvB;AACH;AAEF,MAAAuB,KAAA,QAAAA,EAAG;AAGG,YAAAN,IAAQb,EAAS,WAAW,UAAU,CAACoB,MAAQC,EAAiBD,CAAG,MAAMC,EAAiBzB,CAAO,CAAC;AACxG,MAAAE,EAAM,UAAUF,GAChBE,EAAM,eAAee;AAAA,IAAA;AAAA,EAEzB;AAEO,SAAA,EAAE,iBAAAH,GAAiB,mBAAAQ;AAC5B;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directive.mjs","sources":["../../../../../../packages/components/popover/directive.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\n// import type { PopoverInstance } from './popover'\n\nconst attachEvents = (el: HTMLElement, binding: DirectiveBinding) => {\n\tconst popperComponent: any = binding.arg || binding.value\n\tconst popover = popperComponent?.popperRef\n\tif (popover) {\n\t\tpopover.triggerRef = el\n\t}\n}\n\nexport default {\n\tmounted (el, binding) {\n\t\tattachEvents(el, binding)\n\t},\n\tupdated (el, binding) {\n\t\tattachEvents(el, binding)\n\t},\n} as ObjectDirective\n\nexport const VPopover = 'popover'\n"],"names":["attachEvents","el","binding","popperComponent","popover","directive","VPopover"],"mappings":"AAGA,MAAMA,IAAe,CAACC,GAAiBC,MAA8B;AAC9D,QAAAC,IAAuBD,EAAQ,OAAOA,EAAQ,OAC9CE,IAAUD,KAAA,gBAAAA,EAAiB;AACjC,EAAIC,MACHA,EAAQ,aAAaH;AAEvB,GAEeI,IAAA;AAAA,EACd,QAASJ,GAAIC,GAAS;AACrB,IAAAF,EAAaC,GAAIC,CAAO;AAAA,EACzB;AAAA,EACA,QAASD,GAAIC,GAAS;AACrB,IAAAF,EAAaC,GAAIC,CAAO;AAAA,EACzB;AACD,GAEaI,IAAW;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Popover from './popover.vue'\n\nexport const VftPopover = withInstall(Popover)\nexport default VftPopover\n\n"],"names":["VftPopover","withInstall","Popover"],"mappings":";;;;;AAIa,MAAAA,IAAaC,EAAYC,CAAO;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.vue2.mjs","sources":["../../../../../../packages/components/popover/popover.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('popover')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<template>\n\t<vft-tooltip\n\t\t\tref=\"tooltipRef\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\t:trigger=\"trigger\"\n\t\t\t:placement=\"placement\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:visible=\"visible\"\n\t\t\t:transition=\"transition\"\n\t\t\t:popper-options=\"popperOptions\"\n\t\t\t:tabindex=\"tabindex\"\n\t\t\t:content=\"content\"\n\t\t\t:offset=\"offset\"\n\t\t\t:show-after=\"showAfter\"\n\t\t\t:hide-after=\"hideAfter\"\n\t\t\t:auto-close=\"autoClose\"\n\t\t\t:show-arrow=\"showArrow\"\n\t\t\t:aria-label=\"title\"\n\t\t\t:effect=\"effect\"\n\t\t\t:enterable=\"enterable\"\n\t\t\t:popper-class=\"kls\"\n\t\t\t:popper-style=\"style\"\n\t\t\t:teleported=\"teleported\"\n\t\t\t:persistent=\"persistent\"\n\t\t\t:gpu-acceleration=\"gpuAcceleration\"\n\t\t\t@before-show=\"beforeEnter\"\n\t\t\t@before-hide=\"beforeLeave\"\n\t\t\t@show=\"afterEnter\"\n\t\t\t@hide=\"afterLeave\"\n\t>\n\t\t<template v-if=\"$slots.reference\">\n\t\t\t<slot name=\"reference\" />\n\t\t</template>\n\n\t\t<template #content>\n\t\t\t<div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n\t\t\t\t{{ title }}\n\t\t\t</div>\n\t\t\t<slot>\n\t\t\t\t{{ content }}\n\t\t\t</slot>\n\t\t</template>\n\t</vft-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport type { Options, Placement } from '@popperjs/core';\nimport { computed, ref, type StyleValue, unref } from 'vue';\nimport { addUnit } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { VftTooltip, type TooltipTriggerType } from '@vft-ui/components/tooltip';\n\ninterface PopoverProps {\n\ttrigger?: TooltipTriggerType;\n\tplacement?: Placement;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\ttransition?: string;\n\tpopperOptions?: Partial<Options>;\n\ttabindex?: number;\n\tcontent?: string;\n\tpopperStyle?: StyleValue;\n\tpopperClass?: ClassType;\n\tenterable?: boolean;\n\teffect?: 'light' | 'dark';\n\tteleported?: boolean;\n\ttitle?: string;\n\twidth?: string | number;\n\toffset?: number;\n\tshowAfter?: number;\n\thideAfter?: number;\n\tautoClose?: number;\n\tshowArrow?: boolean;\n\tpersistent?: boolean;\n}\n\ndefineProps({\n \"trigger\": { default: 'hover' },\n \"placement\": { default: 'bottom' },\n \"disabled\": { type: Boolean, },\n \"visible\": { type: Boolean, default: null },\n \"transition\": { default: 'vft-fade-in-linear' },\n \"popperOptions\": null,\n \"tabindex\": { default: 0 },\n \"content\": null,\n \"popperStyle\": null,\n \"popperClass\": null,\n \"enterable\": { type: Boolean, default: true },\n \"effect\": { default: 'light' },\n \"teleported\": { type: Boolean, default: true },\n \"title\": null,\n \"width\": { default: 150 },\n \"offset\": null,\n \"showAfter\": { default: 0 },\n \"hideAfter\": { default: 200 },\n \"autoClose\": { default: 0 },\n \"showArrow\": { type: Boolean, default: true },\n \"persistent\": { type: Boolean, default: true }\n})\n\nconst emit = defineEmits(['update:visible', 'before-enter', 'before-leave', 'after-enter', 'after-leave']);\n\n\n\n;\n\nconst tooltipRef = ref();\nconst popperRef = computed(() => {\n\treturn unref(tooltipRef)?.popperRef;\n});\n\nconst style = computed(() => {\n\treturn [\n\t\t{\n\t\t\twidth: addUnit(__props.width)\n\t\t},\n\t\t__props.popperStyle!\n\t];\n});\n\nconst kls = computed(() => {\n\treturn [ns.b(), __props.popperClass!, { [ns.m('plain')]: !!__props.content }];\n});\n\nconst gpuAcceleration = computed(() => {\n\treturn __props.transition === `${ns.namespace.value}-fade-in-linear`;\n});\n\nconst hide = () => {\n\ttooltipRef.value?.hide();\n};\n\nconst beforeEnter = () => {\n\temit('before-enter');\n};\nconst beforeLeave = () => {\n\temit('before-leave');\n};\n\nconst afterEnter = () => {\n\temit('after-enter');\n};\n\nconst afterLeave = () => {\n\temit('update:visible', false);\n\temit('after-leave');\n};\n\ndefineExpose({\n\t/** @description popper ref */\n\tpopperRef,\n\t/** @description hide popover */\n\thide\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","tooltipRef","ref","popperRef","computed","_a","unref","style","addUnit","__props","kls","gpuAcceleration","hide","beforeEnter","emit","beforeLeave","afterEnter","afterLeave","expose"],"mappings":";;;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,SAAS;AAAA,GAGnDC,IAA6BC,EAAmB;AAAA,EAC/C,MAAMH,EAAG,EAAE;AACZ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GD,UAAMI,IAAaC,KACbC,IAAYC,EAAS,MAAM;;AACzB,cAAAC,IAAAC,EAAML,CAAU,MAAhB,gBAAAI,EAAmB;AAAA,IAAA,CAC1B,GAEKE,IAAQH,EAAS,MACf;AAAA,MACN;AAAA,QACC,OAAOI,EAAQC,EAAQ,KAAK;AAAA,MAC7B;AAAA,MACAA,EAAQ;AAAA,IAAA,CAET,GAEKC,IAAMN,EAAS,MACb,CAACP,EAAG,EAAK,GAAAY,EAAQ,aAAc,EAAE,CAACZ,EAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAACY,EAAQ,QAAS,CAAA,CAC5E,GAEKE,IAAkBP,EAAS,MACzBK,EAAQ,eAAe,GAAGZ,EAAG,UAAU,sBAC9C,GAEKe,IAAO,MAAM;;AAClB,OAAAP,IAAAJ,EAAW,UAAX,QAAAI,EAAkB;AAAA,IAAK,GAGlBQ,IAAc,MAAM;AACzB,MAAAC,EAAK,cAAc;AAAA,IAAA,GAEdC,IAAc,MAAM;AACzB,MAAAD,EAAK,cAAc;AAAA,IAAA,GAGdE,IAAa,MAAM;AACxB,MAAAF,EAAK,aAAa;AAAA,IAAA,GAGbG,IAAa,MAAM;AACxB,MAAAH,EAAK,kBAAkB,EAAK,GAC5BA,EAAK,aAAa;AAAA,IAAA;AAGN,WAAAI,EAAA;AAAA;AAAA,MAEZ,WAAAf;AAAA;AAAA,MAEA,MAAAS;AAAA,IAAA,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arrow.vue2.mjs","sources":["../../../../../../packages/components/popper/arrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'vft-popper-arrow',\n\tinheritAttrs: false\n});\n</script>\n<template>\n <span ref=\"arrowRef\" :class=\"ns.e('arrow')\" data-popper-arrow :style=\"arrowStyle\" />\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, onBeforeUnmount, watch } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { POPPER_CONTENT_INJECTION_KEY } from './constants';\n\ninterface Props {\n arrowOffset?: number\n}\n\ndefineProps({\n \"arrowOffset\": { default: 5 }\n})\n\n;\n\nconst ns = useNamespace('popper');\nconst { arrowOffset: _arrowOffset, arrowRef, arrowStyle } = inject(\n POPPER_CONTENT_INJECTION_KEY,\n undefined\n)!;\n\nwatch(\n () => __props.arrowOffset,\n (val) => {\n _arrowOffset.value = val;\n }\n);\nonBeforeUnmount(() => {\n arrowRef.value = undefined;\n});\n\ndefineExpose({\n /**\n * @description Arrow element\n */\n arrowRef\n});\n</script>\n"],"names":["__default__","DO_defineComponent","ns","useNamespace","_arrowOffset","arrowRef","arrowStyle","inject","POPPER_CONTENT_INJECTION_KEY","watch","__props","val","onBeforeUnmount","expose"],"mappings":";;;;;;;;;AAEA,MAAAA,IAA6BC,EAAmB;AAAA,EAC/C,MAAM;AAAA,EACN,cAAc;AACf,CAAC;;;;;;AAqBK,UAAAC,IAAKC,EAAa,QAAQ,GAC1B,EAAE,aAAaC,GAAc,UAAAC,GAAU,YAAAC,EAAe,IAAAC;AAAA,MAC1DC;AAAA,MACA;AAAA,IAAA;AAGF,WAAAC;AAAA,MACE,MAAMC,EAAQ;AAAA,MACd,CAACC,MAAQ;AACP,QAAAP,EAAa,QAAQO;AAAA,MACvB;AAAA,IAAA,GAEFC,EAAgB,MAAM;AACpB,MAAAP,EAAS,QAAQ;AAAA,IAAA,CAClB,GAEYQ,EAAA;AAAA;AAAA;AAAA;AAAA,MAIX,UAAAR;AAAA,IAAA,CACD;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-content-dom.mjs","sources":["../../../../../../../packages/components/popper/composables/use-content-dom.ts"],"sourcesContent":["import { computed, ref, unref } from 'vue'\nimport { useNamespace, useZIndex } from '@vft-ui/hooks'\n\nimport type { CSSProperties, StyleValue } from 'vue'\nimport type { UsePopperReturn } from '@vft-ui/hooks'\nimport type { UsePopperContentReturn } from './use-content'\nimport type { PopperContentProps } from '../types'\n\nexport const usePopperContentDOM = (\n props: PopperContentProps,\n {\n attributes,\n styles,\n role,\n }: Pick<UsePopperReturn, 'attributes' | 'styles'> &\n Pick<UsePopperContentReturn, 'role'>\n) => {\n const { nextZIndex } = useZIndex()\n const ns = useNamespace('popper')\n\n const contentAttrs = computed(() => unref(attributes).popper)\n const contentZIndex = ref<number>(props.zIndex || nextZIndex())\n const contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect!),\n props.popperClass,\n ])\n const contentStyle = computed<StyleValue[]>(() => {\n return [\n { zIndex: unref(contentZIndex) } as CSSProperties,\n props.popperStyle || {},\n unref(styles).popper as CSSProperties,\n ]\n })\n const ariaModal = computed<string | undefined>(() =>\n role.value === 'dialog' ? 'false' : undefined\n )\n const arrowStyle = computed(\n () => (unref(styles).arrow || {}) as CSSProperties\n )\n\n const updateZIndex = () => {\n contentZIndex.value = props.zIndex || nextZIndex()\n }\n\n return {\n ariaModal,\n arrowStyle,\n contentAttrs,\n contentClass,\n contentStyle,\n contentZIndex,\n\n updateZIndex,\n }\n}\n\nexport type UsePopperContentDOMReturn = ReturnType<typeof usePopperContentDOM>\n"],"names":["usePopperContentDOM","props","attributes","styles","role","nextZIndex","useZIndex","ns","useNamespace","contentAttrs","computed","unref","contentZIndex","ref","contentClass","contentStyle","ariaModal","arrowStyle"],"mappings":";;;;;;;;AAQa,MAAAA,IAAsB,CACjCC,GACA;AAAA,EACE,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AACF,MAEG;AACG,QAAA,EAAE,YAAAC,MAAeC,KACjBC,IAAKC,EAAa,QAAQ,GAE1BC,IAAeC,EAAS,MAAMC,EAAMT,CAAU,EAAE,MAAM,GACtDU,IAAgBC,EAAYZ,EAAM,UAAUI,EAAY,CAAA,GACxDS,IAAeJ,EAAS,MAAM;AAAA,IAClCH,EAAG,EAAE;AAAA,IACLA,EAAG,GAAG,QAAQN,EAAM,IAAI;AAAA,IACxBM,EAAG,GAAGN,EAAM,MAAO;AAAA,IACnBA,EAAM;AAAA,EAAA,CACP,GACKc,IAAeL,EAAuB,MACnC;AAAA,IACL,EAAE,QAAQC,EAAMC,CAAa,EAAE;AAAA,IAC/BX,EAAM,eAAe,CAAC;AAAA,IACtBU,EAAMR,CAAM,EAAE;AAAA,EAAA,CAEjB,GACKa,IAAYN;AAAA,IAA6B,MAC7CN,EAAK,UAAU,WAAW,UAAU;AAAA,EAAA,GAEhCa,IAAaP;AAAA,IACjB,MAAOC,EAAMR,CAAM,EAAE,SAAS,CAAC;AAAA,EAAA;AAO1B,SAAA;AAAA,IACL,WAAAa;AAAA,IACA,YAAAC;AAAA,IACA,cAAAR;AAAA,IACA,cAAAK;AAAA,IACA,cAAAC;AAAA,IACA,eAAAH;AAAA,IAEA,cAZmB,MAAM;AACX,MAAAA,EAAA,QAAQX,EAAM,UAAUI,EAAW;AAAA,IAAA;AAAA,EAWjD;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-content.mjs","sources":["../../../../../../../packages/components/popper/composables/use-content.ts"],"sourcesContent":["import { computed, inject, onMounted, ref, unref, watch } from 'vue'\nimport { isUndefined } from 'lodash'\nimport { usePopper } from '@vft-ui/hooks'\nimport { POPPER_INJECTION_KEY } from '../constants'\nimport { buildPopperOptions, unwrapMeasurableEl } from '../utils'\n\nimport type { Modifier } from '@popperjs/core'\nimport type { PartialOptions } from '@vft-ui/hooks'\nimport type { PopperContentProps } from '../types'\n\nconst DEFAULT_ARROW_OFFSET = 0\n\nexport const usePopperContent = (props: PopperContentProps) => {\n const { popperInstanceRef, contentRef, triggerRef, role } = inject(\n POPPER_INJECTION_KEY,\n undefined\n )!\n\n const arrowRef = ref<HTMLElement>()\n const arrowOffset = ref<number>()\n\n const eventListenerModifier = computed(() => {\n return {\n name: 'eventListeners',\n enabled: !!props.visible,\n } as Modifier<'eventListeners', any>\n })\n\n const arrowModifier = computed(() => {\n const arrowEl = unref(arrowRef)\n const offset = unref(arrowOffset) ?? DEFAULT_ARROW_OFFSET\n // Seems like the `phase` and `fn` is required by Modifier type\n // But on its documentation they didn't specify that.\n // Refer to https://popper.js.org/docs/v2/modifiers/arrow/\n return {\n name: 'arrow',\n enabled: !isUndefined(arrowEl),\n options: {\n element: arrowEl,\n padding: offset,\n },\n } as any\n })\n\n const options = computed<PartialOptions>(() => {\n return {\n onFirstUpdate: () => {\n update()\n },\n // @ts-ignore\n ...buildPopperOptions(props, [\n unref(arrowModifier),\n unref(eventListenerModifier),\n ]),\n }\n })\n\n const computedReference = computed(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)\n )\n\n const { attributes, state, styles, update, forceUpdate, instanceRef } =\n usePopper(computedReference, contentRef, options)\n\n watch(instanceRef, (instance) => (popperInstanceRef.value = instance))\n\n onMounted(() => {\n watch(\n () => unref(computedReference)?.getBoundingClientRect(),\n () => {\n update()\n }\n )\n })\n\n return {\n attributes,\n arrowRef,\n contentRef,\n instanceRef,\n state,\n styles,\n role,\n\n forceUpdate,\n update,\n }\n}\n\nexport type UsePopperContentReturn = ReturnType<typeof usePopperContent>\n"],"names":["DEFAULT_ARROW_OFFSET","usePopperContent","props","popperInstanceRef","contentRef","triggerRef","role","inject","POPPER_INJECTION_KEY","arrowRef","ref","arrowOffset","eventListenerModifier","computed","arrowModifier","arrowEl","unref","offset","isUndefined","options","update","buildPopperOptions","computedReference","unwrapMeasurableEl","attributes","state","styles","forceUpdate","instanceRef","usePopper","watch","instance","onMounted","_a"],"mappings":";;;;;;;;;AAUA,MAAMA,IAAuB,GAEhBC,IAAmB,CAACC,MAA8B;AAC7D,QAAM,EAAE,mBAAAC,GAAmB,YAAAC,GAAY,YAAAC,GAAY,MAAAC,EAAS,IAAAC;AAAA,IAC1DC;AAAA,IACA;AAAA,EAAA,GAGIC,IAAWC,KACXC,IAAcD,KAEdE,IAAwBC,EAAS,OAC9B;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,CAACX,EAAM;AAAA,EAAA,EAEpB,GAEKY,IAAgBD,EAAS,MAAM;AAC7B,UAAAE,IAAUC,EAAMP,CAAQ,GACxBQ,IAASD,EAAML,CAAW,KAAKX;AAI9B,WAAA;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAACkB,EAAYH,CAAO;AAAA,MAC7B,SAAS;AAAA,QACP,SAASA;AAAA,QACT,SAASE;AAAA,MACX;AAAA,IAAA;AAAA,EACF,CACD,GAEKE,IAAUN,EAAyB,OAChC;AAAA,IACL,eAAe,MAAM;AACZ,MAAAO;IACT;AAAA;AAAA,IAEA,GAAGC,EAAmBnB,GAAO;AAAA,MAC3Bc,EAAMF,CAAa;AAAA,MACnBE,EAAMJ,CAAqB;AAAA,IAAA,CAC5B;AAAA,EAAA,EAEJ,GAEKU,IAAoBT;AAAA,IACxB,MAAMU,EAAmBrB,EAAM,WAAW,KAAKc,EAAMX,CAAU;AAAA,EAAA,GAG3D,EAAE,YAAAmB,GAAY,OAAAC,GAAO,QAAAC,GAAQ,QAAAN,GAAQ,aAAAO,GAAa,aAAAC,EAAA,IACtDC,EAAUP,GAAmBlB,GAAYe,CAAO;AAElD,SAAAW,EAAMF,GAAa,CAACG,MAAc5B,EAAkB,QAAQ4B,CAAS,GAErEC,EAAU,MAAM;AACd,IAAAF;AAAA,MACE;;AAAM,gBAAAG,IAAAjB,EAAMM,CAAiB,MAAvB,gBAAAW,EAA0B;AAAA;AAAA,MAChC,MAAM;AACG,QAAAb;MACT;AAAA,IAAA;AAAA,EACF,CACD,GAEM;AAAA,IACL,YAAAI;AAAA,IACA,UAAAf;AAAA,IACA,YAAAL;AAAA,IACA,aAAAwB;AAAA,IACA,OAAAH;AAAA,IACA,QAAAC;AAAA,IACA,MAAApB;AAAA,IAEA,aAAAqB;AAAA,IACA,QAAAP;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-focus-trap.mjs","sources":["../../../../../../../packages/components/popper/composables/use-focus-trap.ts"],"sourcesContent":["import { ref } from 'vue'\n\nimport type { SetupContext } from 'vue'\nimport type { PopperContentProps } from '../types'\n\nexport const usePopperContentFocusTrap = (\n props: PopperContentProps,\n emit: any\n) => {\n const trapped = ref(false)\n const focusStartRef = ref<'container' | 'first' | HTMLElement>()\n\n const onFocusAfterTrapped = () => {\n emit('focus')\n }\n\n const onFocusAfterReleased = (event: CustomEvent) => {\n if (event.detail?.focusReason !== 'pointer') {\n focusStartRef.value = 'first'\n emit('blur')\n }\n }\n\n const onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n }\n }\n\n const onFocusoutPrevented = (event: CustomEvent) => {\n if (!props.trapping) {\n if (event.detail.focusReason === 'pointer') {\n event.preventDefault()\n }\n trapped.value = false\n }\n }\n\n const onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n }\n\n return {\n focusStartRef,\n trapped,\n\n onFocusAfterReleased,\n onFocusAfterTrapped,\n onFocusInTrap,\n onFocusoutPrevented,\n onReleaseRequested,\n }\n}\n\nexport type UsePopperContentFocusTrapReturn = ReturnType<\n typeof usePopperContentFocusTrap\n>\n"],"names":["usePopperContentFocusTrap","props","emit","trapped","ref","focusStartRef","event","_a"],"mappings":";AAKa,MAAAA,IAA4B,CACvCC,GACAC,MACG;AACG,QAAAC,IAAUC,EAAI,EAAK,GACnBC,IAAgBD;AAoCf,SAAA;AAAA,IACL,eAAAC;AAAA,IACA,SAAAF;AAAA,IAEA,sBAlC2B,CAACG,MAAuB;;AAC/C,QAAAC,IAAAD,EAAM,WAAN,gBAAAC,EAAc,iBAAgB,cAChCF,EAAc,QAAQ,SACtBH,EAAK,MAAM;AAAA,IACb;AAAA,IA+BA,qBAvC0B,MAAM;AAChC,MAAAA,EAAK,OAAO;AAAA,IAAA;AAAA,IAuCZ,eA7BoB,CAACI,MAAsB;AAC3C,MAAIL,EAAM,WAAW,CAACE,EAAQ,UACxBG,EAAM,WACRD,EAAc,QAAQC,EAAM,SAE9BH,EAAQ,QAAQ;AAAA,IAClB;AAAA,IAwBA,qBArB0B,CAACG,MAAuB;AAC9C,MAACL,EAAM,aACLK,EAAM,OAAO,gBAAgB,aAC/BA,EAAM,eAAe,GAEvBH,EAAQ,QAAQ;AAAA,IAClB;AAAA,IAgBA,oBAbyB,MAAM;AAC/B,MAAAA,EAAQ,QAAQ,IAChBD,EAAK,OAAO;AAAA,IAAA;AAAA,EAWZ;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../../packages/components/popper/constants.ts"],"sourcesContent":["import type { CSSProperties, ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { Instance } from '@popperjs/core'\n\nexport type Measurable = {\n getBoundingClientRect: () => DOMRect\n}\n\n/**\n * triggerRef indicates the element that triggers popper\n * contentRef indicates the element of popper content\n * referenceRef indicates the element that popper content relative with\n */\nexport type VftPopperInjectionContext = {\n triggerRef: Ref<Measurable | undefined>\n contentRef: Ref<HTMLElement | undefined>\n popperInstanceRef: Ref<Instance | undefined>\n referenceRef: Ref<Measurable | undefined>\n role: ComputedRef<string>\n}\n\nexport type VftPopperContentInjectionContext = {\n arrowRef: Ref<HTMLElement | undefined>\n arrowOffset: Ref<number | undefined>\n arrowStyle: ComputedRef<CSSProperties>\n}\n\nexport const POPPER_INJECTION_KEY: InjectionKey<VftPopperInjectionContext> =\n Symbol('popper')\n\nexport const POPPER_CONTENT_INJECTION_KEY: InjectionKey<VftPopperContentInjectionContext> =\n Symbol('popperContent')\n"],"names":["POPPER_INJECTION_KEY","POPPER_CONTENT_INJECTION_KEY"],"mappings":"AA0Ba,MAAAA,IACX,OAAO,QAAQ,GAEJC,IACX,OAAO,eAAe;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content.vue2.mjs","sources":["../../../../../../packages/components/popper/content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: 'vft-popper-content'\n});\n</script>\n<template>\n <div ref=\"contentRef\"\n\t\t\tv-bind=\"contentAttrs\"\n\t\t\t:style=\"contentStyle\"\n\t\t\t:class=\"contentClass\"\n\t\t\ttabindex=\"-1\"\n\t\t\t@mouseenter=\"(e) => $emit('mouseenter', e)\"\n\t\t\t@mouseleave=\"(e) => $emit('mouseleave', e)\">\n <focus-trap\n\t\t\t\t:trapped=\"trapped\"\n\t\t\t\t:trap-on-focus-in=\"true\"\n\t\t\t\t:focus-trap-el=\"contentRef\"\n\t\t\t\t:focus-start-el=\"focusStartRef\"\n\t\t\t\t@focus-after-trapped=\"onFocusAfterTrapped\"\n\t\t\t\t@focus-after-released=\"onFocusAfterReleased\"\n\t\t\t\t@focusin=\"onFocusInTrap\"\n\t\t\t\t@focusout-prevented=\"onFocusoutPrevented\"\n\t\t\t\t@release-requested=\"onReleaseRequested\"\n >\n <slot />\n </focus-trap>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport type { Options, Placement } from '@popperjs/core';\nimport FocusTrap from '@vft-ui/components/focus-trap';\nimport { isElement } from '@vft/utils';\nimport { isNil } from 'lodash';\nimport type { WatchStopHandle } from 'vue';\nimport { getCurrentInstance, onBeforeUnmount, onMounted, provide, ref, type StyleValue, unref, watch } from 'vue';\nimport { usePopperContent, usePopperContentDOM, usePopperContentFocusTrap, } from './composables';\nimport { POPPER_CONTENT_INJECTION_KEY } from './constants';\n\n;\n\ninterface Props {\n boundariesPadding?: number;\n fallbackPlacements?: Placement[];\n gpuAcceleration?: boolean;\n offset?: number;\n placement?: Placement;\n popperOptions?: Partial<Options>;\n strategy?: 'fixed' | 'absolute';\n id?: string;\n style?: StyleValue;\n className?: ClassType;\n effect?: string;\n visible?: boolean;\n enterable?: boolean;\n pure?: boolean;\n focusOnShow?: boolean;\n trapping?: boolean;\n popperClass?: ClassType;\n popperStyle?: StyleValue;\n referenceEl?: HTMLElement;\n triggerTargetEl?: HTMLElement;\n stopPopperMouseEvent?: boolean;\n ariaLabel?: string;\n virtualTriggering?: boolean;\n zIndex?: number;\n}\n\ndefineProps({\n \"boundariesPadding\": { default: 0 },\n \"fallbackPlacements\": null,\n \"gpuAcceleration\": { type: Boolean, default: true },\n \"offset\": { default: 12 },\n \"placement\": { default: 'bottom' },\n \"popperOptions\": { default: {} },\n \"strategy\": { default: 'absolute' },\n \"id\": null,\n \"style\": null,\n \"className\": null,\n \"effect\": { default: 'dark' },\n \"visible\": { type: Boolean, },\n \"enterable\": { type: Boolean, default: true },\n \"pure\": { type: Boolean, },\n \"focusOnShow\": { type: Boolean, default: false },\n \"trapping\": { type: Boolean, default: false },\n \"popperClass\": null,\n \"popperStyle\": null,\n \"referenceEl\": null,\n \"triggerTargetEl\": null,\n \"stopPopperMouseEvent\": { type: Boolean, default: true },\n \"ariaLabel\": null,\n \"virtualTriggering\": { type: Boolean, },\n \"zIndex\": null\n})\n\nconst emit = defineEmits(['mouseenter', 'mouseleave', 'focus', 'blur', 'close']);\n\nconst instance = getCurrentInstance()!;\n\nconst {\n\tfocusStartRef,\n\ttrapped,\n\tonFocusAfterReleased,\n\tonFocusAfterTrapped,\n\tonFocusInTrap,\n\tonFocusoutPrevented,\n\tonReleaseRequested,\n} = usePopperContentFocusTrap(instance.props, emit)\n\nconst { attributes, arrowRef, contentRef, styles, instanceRef, role, update } =\n\tusePopperContent(instance.props)\n\nconst {\n\tariaModal,\n\tarrowStyle,\n\tcontentAttrs,\n\tcontentClass,\n\tcontentStyle,\n\tupdateZIndex,\n} = usePopperContentDOM(instance.props, {\n\tstyles,\n\tattributes,\n\trole,\n})\n\n// const formItemContext = inject(formItemContextKey, undefined)\nconst arrowOffset = ref<number>()\n\nprovide(POPPER_CONTENT_INJECTION_KEY, {\n\tarrowStyle,\n\tarrowRef,\n\tarrowOffset,\n})\n\n// if (\n// \tformItemContext &&\n// \t(formItemContext.addInputId || formItemContext.removeInputId)\n// ) {\n// \t// disallow auto-id from inside popper content\n// \tprovide(formItemContextKey, {\n// \t\t...formItemContext,\n// \t\taddInputId: NOOP,\n// \t\tremoveInputId: NOOP,\n// \t})\n// }\n\nlet triggerTargetAriaStopWatch: WatchStopHandle | undefined = undefined\n\nconst updatePopper = (shouldUpdateZIndex = true) => {\n\tupdate()\n\tshouldUpdateZIndex && updateZIndex()\n}\n\nconst togglePopperAlive = () => {\n\tupdatePopper(false)\n\tif (__props.visible && __props.focusOnShow) {\n\t\ttrapped.value = true\n\t} else if (__props.visible === false) {\n\t\ttrapped.value = false\n\t}\n}\n\nonMounted(() => {\n\twatch(\n\t\t() => __props.triggerTargetEl,\n\t\t(triggerTargetEl, prevTriggerTargetEl) => {\n\t\t\ttriggerTargetAriaStopWatch?.()\n\t\t\ttriggerTargetAriaStopWatch = undefined\n\n\t\t\tconst el = unref(triggerTargetEl || contentRef.value)\n\t\t\tconst prevEl = unref(prevTriggerTargetEl || contentRef.value)\n\n\t\t\tif (isElement(el)) {\n\t\t\t\ttriggerTargetAriaStopWatch = watch(\n\t\t\t\t\t[role, () => __props.ariaLabel, ariaModal, () => __props.id],\n\t\t\t\t\t(watches) => {\n\t\t\t\t\t\t;['role', 'aria-label', 'aria-modal', 'id'].forEach((key, idx) => {\n\t\t\t\t\t\t\tisNil(watches[idx])\n\t\t\t\t\t\t\t\t? el.removeAttribute(key)\n\t\t\t\t\t\t\t\t: el.setAttribute(key, watches[idx]!)\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t{ immediate: true }\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (prevEl !== el && isElement(prevEl)) {\n\t\t\t\t;['role', 'aria-label', 'aria-modal', 'id'].forEach((key) => {\n\t\t\t\t\tprevEl.removeAttribute(key)\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\t{ immediate: true }\n\t)\n\n\twatch(() => __props.visible, togglePopperAlive, { immediate: true })\n})\n\nonBeforeUnmount(() => {\n\ttriggerTargetAriaStopWatch?.()\n\ttriggerTargetAriaStopWatch = undefined\n})\n\ndefineExpose({\n\t/**\n\t * @description popper content element\n\t */\n\tpopperContentRef: contentRef,\n\t/**\n\t * @description popperjs instance\n\t */\n\tpopperInstanceRef: instanceRef,\n\t/**\n\t * @description method for updating popper\n\t */\n\tupdatePopper,\n\n\t/**\n\t * @description content style\n\t */\n\tcontentStyle,\n})\n</script>\n"],"names":["__default__","DO_defineComponent","instance","getCurrentInstance","focusStartRef","trapped","onFocusAfterReleased","onFocusAfterTrapped","onFocusInTrap","onFocusoutPrevented","onReleaseRequested","usePopperContentFocusTrap","emit","attributes","arrowRef","contentRef","styles","instanceRef","role","update","usePopperContent","ariaModal","arrowStyle","contentAttrs","contentClass","contentStyle","updateZIndex","usePopperContentDOM","arrowOffset","ref","provide","POPPER_CONTENT_INJECTION_KEY","triggerTargetAriaStopWatch","updatePopper","shouldUpdateZIndex","togglePopperAlive","__props","onMounted","watch","triggerTargetEl","prevTriggerTargetEl","el","unref","prevEl","isElement","watches","key","idx","isNil","onBeforeUnmount","expose"],"mappings":";;;;;;;;;AAEA,MAAAA,KAA6BC,EAAmB;AAAA,EAC9C,MAAM;AACR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8FD,UAAMC,IAAWC,KAEX;AAAA,MACL,eAAAC;AAAA,MACA,SAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,oBAAAC;AAAA,IACG,IAAAC,GAA0BT,EAAS,OAAOU,CAAI,GAE5C,EAAE,YAAAC,GAAY,UAAAC,GAAU,YAAAC,GAAY,QAAAC,GAAQ,aAAAC,GAAa,MAAAC,GAAM,QAAAC,EAAO,IAC3EC,EAAiBlB,EAAS,KAAK,GAE1B;AAAA,MACL,WAAAmB;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,IAAA,IACGC,EAAoBzB,EAAS,OAAO;AAAA,MACvC,QAAAc;AAAA,MACA,YAAAH;AAAA,MACA,MAAAK;AAAA,IAAA,CACA,GAGKU,IAAcC;AAEpB,IAAAC,EAAQC,IAA8B;AAAA,MACrC,YAAAT;AAAA,MACA,UAAAR;AAAA,MACA,aAAAc;AAAA,IAAA,CACA;AAcD,QAAII;AAEE,UAAAC,IAAe,CAACC,IAAqB,OAAS;AAC5C,MAAAf,KACPe,KAAsBR,EAAa;AAAA,IAAA,GAG9BS,IAAoB,MAAM;AAC/B,MAAAF,EAAa,EAAK,GACdG,EAAQ,WAAWA,EAAQ,cAC9B/B,EAAQ,QAAQ,KACN+B,EAAQ,YAAY,OAC9B/B,EAAQ,QAAQ;AAAA,IACjB;AAGD,WAAAgC,EAAU,MAAM;AACf,MAAAC;AAAA,QACC,MAAMF,EAAQ;AAAA,QACd,CAACG,GAAiBC,MAAwB;AACZ,UAAAR,KAAA,QAAAA,KACAA,IAAA;AAE7B,gBAAMS,IAAKC,EAAMH,KAAmBxB,EAAW,KAAK,GAC9C4B,IAASD,EAAMF,KAAuBzB,EAAW,KAAK;AAExD,UAAA6B,EAAUH,CAAE,MACcT,IAAAM;AAAA,YAC5B,CAACpB,GAAM,MAAMkB,EAAQ,WAAWf,GAAW,MAAMe,EAAQ,EAAE;AAAA,YAC3D,CAACS,MAAY;AACV,eAAA,QAAQ,cAAc,cAAc,IAAI,EAAE,QAAQ,CAACC,GAAKC,MAAQ;AACjE,gBAAAC,EAAMH,EAAQE,CAAG,CAAC,IACfN,EAAG,gBAAgBK,CAAG,IACtBL,EAAG,aAAaK,GAAKD,EAAQE,CAAG,CAAE;AAAA,cAAA,CACrC;AAAA,YACF;AAAA,YACA,EAAE,WAAW,GAAK;AAAA,UAAA,IAGhBJ,MAAWF,KAAMG,EAAUD,CAAM,KACnC,CAAC,QAAQ,cAAc,cAAc,IAAI,EAAE,QAAQ,CAACG,MAAQ;AAC5D,YAAAH,EAAO,gBAAgBG,CAAG;AAAA,UAAA,CAC1B;AAAA,QAEH;AAAA,QACA,EAAE,WAAW,GAAK;AAAA,MAAA,GAGnBR,EAAM,MAAMF,EAAQ,SAASD,GAAmB,EAAE,WAAW,IAAM;AAAA,IAAA,CACnE,GAEDc,EAAgB,MAAM;AACQ,MAAAjB,KAAA,QAAAA,KACAA,IAAA;AAAA,IAAA,CAC7B,GAEYkB,EAAA;AAAA;AAAA;AAAA;AAAA,MAIZ,kBAAkBnC;AAAA;AAAA;AAAA;AAAA,MAIlB,mBAAmBE;AAAA;AAAA;AAAA;AAAA,MAInB,cAAAgB;AAAA;AAAA;AAAA;AAAA,MAKA,cAAAR;AAAA,IAAA,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popper/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\nimport Popper from './popper.vue'\n\nimport VftPopperArrow from './arrow.vue'\nimport VftPopperTrigger from './trigger.vue'\nimport VftPopperContent from './content.vue'\n\nexport { VftPopperArrow, VftPopperTrigger, VftPopperContent }\n\nexport const VftPopper = withInstall(Popper)\nexport default VftPopper\n\nexport type { Placement, Options } from '@popperjs/core'\nexport * from './types'\n"],"names":["VftPopper","withInstall","Popper"],"mappings":";;;;;;;;AASa,MAAAA,IAAYC,EAAYC,CAAM;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popper.vue2.mjs","sources":["../../../../../../packages/components/popper/popper.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: 'vft-popper',\n inheritAttrs: false\n});\n</script>\n<template>\n <slot />\n</template>\n\n<script lang=\"ts\" setup>\nimport type { Instance as PopperInstance } from '@popperjs/core';\nimport { computed, provide, ref } from 'vue';\nimport type { VftPopperInjectionContext } from './constants';\nimport { POPPER_INJECTION_KEY } from './constants';\n\n;\n\ninterface Props {\n role?: 'dialog' | 'grid' | 'group' | 'listbox' | 'menu' | 'navigation' | 'tooltip' | 'tree';\n}\n\ndefineProps({\n \"role\": { default: 'tooltip' }\n})\n\nconst triggerRef = ref<HTMLElement>();\nconst popperInstanceRef = ref<PopperInstance>();\nconst contentRef = ref<HTMLElement>();\nconst referenceRef = ref<HTMLElement>();\nconst _role = computed(() => __props.role);\n\nconst popperProvides = {\n /**\n * @description trigger element\n */\n triggerRef,\n /**\n * @description popperjs instance\n */\n popperInstanceRef,\n /**\n * @description popper content element\n */\n contentRef,\n /**\n * @description popper reference element\n */\n referenceRef,\n /**\n * @description role determines how aria attributes are distributed\n */\n role: _role\n} as VftPopperInjectionContext;\n\ndefineExpose(popperProvides);\n\nprovide(POPPER_INJECTION_KEY, popperProvides);\n</script>\n"],"names":["__default__","DO_defineComponent","triggerRef","ref","popperInstanceRef","contentRef","referenceRef","_role","computed","__props","popperProvides","expose","provide","POPPER_INJECTION_KEY"],"mappings":";;AAEA,MAAAA,IAA6BC,EAAmB;AAAA,EAC9C,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;;;;;;AAsBD,UAAMC,IAAaC,KACbC,IAAoBD,KACpBE,IAAaF,KACbG,IAAeH,KACfI,IAAQC,EAAS,MAAMC,EAAQ,IAAI,GAEnCC,IAAiB;AAAA;AAAA;AAAA;AAAA,MAIrB,YAAAR;AAAA;AAAA;AAAA;AAAA,MAIA,mBAAAE;AAAA;AAAA;AAAA;AAAA,MAIA,YAAAC;AAAA;AAAA;AAAA;AAAA,MAIA,cAAAC;AAAA;AAAA;AAAA;AAAA,MAIA,MAAMC;AAAA,IAAA;AAGR,WAAAI,EAAaD,CAAc,GAE3BE,EAAQC,GAAsBH,CAAc;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.vue2.mjs","sources":["../../../../../../packages/components/popper/trigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: 'VftPopperTrigger',\n inheritAttrs: false\n});\n</script>\n<template>\n <vft-only-child\n v-if=\"!virtualTriggering\"\n v-bind=\"$attrs\"\n :aria-controls=\"ariaControls\"\n :aria-describedby=\"ariaDescribedby\"\n :aria-expanded=\"ariaExpanded\"\n :aria-haspopup=\"ariaHaspopup\"\n >\n <slot />\n </vft-only-child>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, onMounted, watch, getCurrentInstance } from 'vue';\nimport { isNil } from 'lodash';\nimport { unrefElement } from '@vueuse/core';\nimport { VftOnlyChild } from '@vft-ui/components/slot'\nimport { useForwardRef } from '@vft-ui/hooks';\nimport { POPPER_INJECTION_KEY } from './constants';\nimport { isElement } from '@vft/utils';\n\nimport type { WatchStopHandle } from 'vue';\nimport type { Measurable } from './types';\n\n;\n\ninterface Props {\n virtualRef?: Measurable\n virtualTriggering?: boolean\n onMouseenter?: Function\n onMouseleave?: Function\n onClick?: Function\n onKeydown?: Function\n onFocus?: Function\n onBlur?: Function\n onContextmenu?: Function\n id?: string\n open?: boolean\n}\n\ndefineProps({\n \"virtualRef\": null,\n \"virtualTriggering\": { type: Boolean, },\n \"onMouseenter\": { type: Function, },\n \"onMouseleave\": { type: Function, },\n \"onClick\": { type: Function, },\n \"onKeydown\": { type: Function, },\n \"onFocus\": { type: Function, },\n \"onBlur\": { type: Function, },\n \"onContextmenu\": { type: Function, },\n \"id\": null,\n \"open\": { type: Boolean, }\n})\n\nconst instance = getCurrentInstance()!;\n\nconst { role, triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!;\n\nuseForwardRef(triggerRef);\n\nconst ariaControls = computed<string | undefined>(() => {\n return ariaHaspopup.value ? __props.id : undefined;\n});\n\nconst ariaDescribedby = computed<string | undefined>(() => {\n if (role && role.value === 'tooltip') {\n return __props.open && __props.id ? __props.id : undefined;\n }\n return undefined;\n});\n\nconst ariaHaspopup = computed<string | undefined>(() => {\n if (role && role.value !== 'tooltip') {\n return role.value;\n }\n return undefined;\n});\n\nconst ariaExpanded = computed<string | undefined>(() => {\n return ariaHaspopup.value ? `${__props.open}` : undefined;\n});\n\nlet virtualTriggerAriaStopWatch: WatchStopHandle | undefined = undefined;\n\nonMounted(() => {\n watch(\n () => __props.virtualRef,\n (virtualEl) => {\n if (virtualEl) {\n triggerRef.value = unrefElement(virtualEl as HTMLElement);\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n triggerRef,\n (el, prevEl) => {\n virtualTriggerAriaStopWatch?.();\n virtualTriggerAriaStopWatch = undefined;\n if (isElement(el)) {\n ;(\n [\n 'onMouseenter',\n 'onMouseleave',\n 'onClick',\n 'onKeydown',\n 'onFocus',\n 'onBlur',\n 'onContextmenu'\n ] as const\n ).forEach((eventName) => {\n const handler: any = instance.props[eventName];\n if (handler) {\n ;(el as HTMLElement).addEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n ;(prevEl as HTMLElement)?.removeEventListener?.(\n eventName.slice(2).toLowerCase(),\n handler\n );\n }\n });\n virtualTriggerAriaStopWatch = watch(\n [ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded],\n (watches) => {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded'\n ].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx]!);\n });\n },\n { immediate: true }\n );\n }\n if (isElement(prevEl)) {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded'\n ].forEach((key) => prevEl.removeAttribute(key));\n }\n },\n {\n immediate: true\n }\n );\n});\n\nonBeforeUnmount(() => {\n virtualTriggerAriaStopWatch?.();\n virtualTriggerAriaStopWatch = undefined;\n});\n\ndefineExpose({\n /**\n * @description trigger element\n */\n triggerRef\n});\n</script>\n"],"names":["__default__","DO_defineComponent","instance","getCurrentInstance","role","triggerRef","inject","POPPER_INJECTION_KEY","useForwardRef","ariaControls","computed","ariaHaspopup","__props","ariaDescribedby","ariaExpanded","virtualTriggerAriaStopWatch","onMounted","watch","virtualEl","unrefElement","el","prevEl","isElement","eventName","handler","_a","watches","key","idx","isNil","onBeforeUnmount","expose"],"mappings":";;;;;;;;;;AAEA,MAAAA,IAA6BC,EAAmB;AAAA,EAC9C,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;;;;;;;;;;;;;;;;AAyDD,UAAMC,IAAWC,KAEX,EAAE,MAAAC,GAAM,YAAAC,EAAe,IAAAC,EAAOC,GAAsB,MAAS;AAEnE,IAAAC,EAAcH,CAAU;AAElB,UAAAI,IAAeC,EAA6B,MACzCC,EAAa,QAAQC,EAAQ,KAAK,MAC1C,GAEKC,IAAkBH,EAA6B,MAAM;AACrD,UAAAN,KAAQA,EAAK,UAAU;AACzB,eAAOQ,EAAQ,QAAQA,EAAQ,KAAKA,EAAQ,KAAK;AAAA,IAE5C,CACR,GAEKD,IAAeD,EAA6B,MAAM;AAClD,UAAAN,KAAQA,EAAK,UAAU;AACzB,eAAOA,EAAK;AAAA,IAEP,CACR,GAEKU,IAAeJ,EAA6B,MACzCC,EAAa,QAAQ,GAAGC,EAAQ,SAAS,MACjD;AAED,QAAIG;AAEJ,WAAAC,EAAU,MAAM;AACd,MAAAC;AAAA,QACE,MAAML,EAAQ;AAAA,QACd,CAACM,MAAc;AACb,UAAIA,MACSb,EAAA,QAAQc,EAAaD,CAAwB;AAAA,QAE5D;AAAA,QACA;AAAA,UACE,WAAW;AAAA,QACb;AAAA,MAAA,GAGFD;AAAA,QACEZ;AAAA,QACA,CAACe,GAAIC,MAAW;AACgB,UAAAN,KAAA,QAAAA,KACAA,IAAA,QAC1BO,EAAUF,CAAE,MAEZ;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EAEF,QAAQ,CAACG,MAAc;;AACjB,kBAAAC,IAAetB,EAAS,MAAMqB,CAAS;AAC7C,YAAIC,MACAJ,EAAmB;AAAA,cACnBG,EAAU,MAAM,CAAC,EAAE,YAAY;AAAA,cAC/BC;AAAA,YAAA,IAEAC,IAAAJ,KAAA,gBAAAA,EAAwB,wBAAxB,QAAAI,EAAA;AAAA,cAAAJ;AAAA,cACAE,EAAU,MAAM,CAAC,EAAE,YAAY;AAAA,cAC/BC;AAAA;AAAA,UAEJ,CACD,GAC6BT,IAAAE;AAAA,YAC5B,CAACR,GAAcI,GAAiBF,GAAcG,CAAY;AAAA,YAC1D,CAACY,MAAY;AACV;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cAAA,EACA,QAAQ,CAACC,GAAKC,MAAQ;AACtB,gBAAAC,EAAMH,EAAQE,CAAG,CAAC,IACdR,EAAG,gBAAgBO,CAAG,IACtBP,EAAG,aAAaO,GAAKD,EAAQE,CAAG,CAAE;AAAA,cAAA,CACvC;AAAA,YACH;AAAA,YACA,EAAE,WAAW,GAAK;AAAA,UAAA,IAGlBN,EAAUD,CAAM,KACjB;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EACA,QAAQ,CAACM,MAAQN,EAAO,gBAAgBM,CAAG,CAAC;AAAA,QAElD;AAAA,QACA;AAAA,UACE,WAAW;AAAA,QACb;AAAA,MAAA;AAAA,IACF,CACD,GAEDG,EAAgB,MAAM;AACU,MAAAf,KAAA,QAAAA,KACAA,IAAA;AAAA,IAAA,CAC/B,GAEYgB,EAAA;AAAA;AAAA;AAAA;AAAA,MAIX,YAAA1B;AAAA,IAAA,CACD;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/popper/utils.ts"],"sourcesContent":["import { isClient, unrefElement } from '@vueuse/core'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Modifier } from '@popperjs/core'\nimport type { Measurable } from './constants'\nimport type { PopperCoreConfigProps } from './types'\n\nexport const buildPopperOptions = (\n\tprops: PopperCoreConfigProps,\n\tmodifiers: Modifier<any, any>[] = []\n) => {\n\tconst { placement, strategy, popperOptions } = props\n\tconst options = {\n\t\tplacement,\n\t\tstrategy,\n\t\t...popperOptions,\n\t\tmodifiers: [...genModifiers(props), ...modifiers],\n\t}\n\t\n\tderiveExtraModifiers(options, popperOptions?.modifiers)\n\treturn options\n}\n\nexport const unwrapMeasurableEl = (\n\t$el: MaybeRef<Measurable | undefined | ComponentPublicInstance>\n) => {\n\tif (!isClient) return\n\treturn unrefElement($el as HTMLElement)\n}\n\nfunction genModifiers (options: PopperCoreConfigProps) {\n\tconst { offset, gpuAcceleration, fallbackPlacements } = options\n\treturn [\n\t\t{\n\t\t\tname: 'offset',\n\t\t\toptions: {\n\t\t\t\toffset: [0, offset ?? 12],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'preventOverflow',\n\t\t\toptions: {\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 2,\n\t\t\t\t\tbottom: 2,\n\t\t\t\t\tleft: 5,\n\t\t\t\t\tright: 5,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'flip',\n\t\t\toptions: {\n\t\t\t\tpadding: 5,\n\t\t\t\tfallbackPlacements,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'computeStyles',\n\t\t\toptions: {\n\t\t\t\tgpuAcceleration,\n\t\t\t},\n\t\t},\n\t]\n}\n\nfunction deriveExtraModifiers (\n\toptions: any,\n\tmodifiers: PopperCoreConfigProps['popperOptions']['modifiers']\n) {\n\tif (modifiers) {\n\t\toptions.modifiers = [...options.modifiers, ...(modifiers ?? [])]\n\t}\n}\n"],"names":["buildPopperOptions","props","modifiers","placement","strategy","popperOptions","options","genModifiers","deriveExtraModifiers","unwrapMeasurableEl","$el","isClient","unrefElement","offset","gpuAcceleration","fallbackPlacements"],"mappings":";AAQO,MAAMA,IAAqB,CACjCC,GACAC,IAAkC,OAC9B;AACJ,QAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,eAAAC,EAAA,IAAkBJ,GACzCK,IAAU;AAAA,IACf,WAAAH;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,IACH,WAAW,CAAC,GAAGE,EAAaN,CAAK,GAAG,GAAGC,CAAS;AAAA,EAAA;AAG5B,SAAAM,EAAAF,GAASD,KAAA,gBAAAA,EAAe,SAAS,GAC/CC;AACR,GAEaG,IAAqB,CACjCC,MACI;AACJ,MAAKC;AACL,WAAOC,EAAaF,CAAkB;AACvC;AAEA,SAASH,EAAcD,GAAgC;AACtD,QAAM,EAAE,QAAAO,GAAQ,iBAAAC,GAAiB,oBAAAC,EAAA,IAAuBT;AACjD,SAAA;AAAA,IACN;AAAA,MACC,MAAM;AAAA,MACN,SAAS;AAAA,QACR,QAAQ,CAAC,GAAGO,KAAU,EAAE;AAAA,MACzB;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,SAAS;AAAA,QACR,SAAS;AAAA,UACR,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,SAAS;AAAA,QACR,SAAS;AAAA,QACT,oBAAAE;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,SAAS;AAAA,QACR,iBAAAD;AAAA,MACD;AAAA,IACD;AAAA,EAAA;AAEF;AAEA,SAASN,EACRF,GACAJ,GACC;AACD,EAAIA,MACKI,EAAA,YAAY,CAAC,GAAGA,EAAQ,WAAW,GAAIJ,KAAa,CAAA,CAAG;AAEjE;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/result/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Result from './result.vue'\n\nexport const VftResult = withInstall(Result)\nexport default VftResult\n"],"names":["VftResult","withInstall","Result"],"mappings":";;;;;AAIa,MAAAA,IAAYC,EAAYC,CAAM;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"result.vue2.mjs","sources":["../../../../../../packages/components/result/result.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('result')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script setup lang=\"ts\">\nimport { renderTNode, singleAttrToObj } from '@vft/utils';\nimport { h, getCurrentInstance, computed, useSlots } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\n\ninterface Props {\n title?: string | number;\n subTitle?: string | number;\n icon?: IconProps;\n}\n\ndefineProps({\n \"title\": null,\n \"subTitle\": null,\n \"icon\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst slots = useSlots();\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst vIcon = _icon.value?.icon ? h('div', {\n class: ns.e('icon')\n}, [h(VftIcon, { ..._icon.value })]) : slots.default?.();\n\nconst vCon = (attrName: string) => {\n const nodeCon = renderTNode(instance, attrName);\n return nodeCon ? h(\n 'div',\n {\n class: ns.e(attrName)\n }, [h('p', {}, { default: () => nodeCon })]\n ) : null;\n};\n\ndefineRender(() => {\n return (\n h(\n 'div', { class: ns.b() }, {\n default: () => [\n vIcon,\n vCon('title'),\n vCon('sub-title'),\n slots.extra ? h('div', { class: ns.e('extra') }, { default: ()=> slots.extra?.() }) : null\n ]\n }\n )\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","slots","useSlots","_icon","computed","singleAttrToObj","__props","vIcon","_a","h","VftIcon","_b","vCon","attrName","nodeCon","renderTNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,QAAQ;AAAA,GAGlDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;AAuBD,UAAMI,IAAWC,KAEXC,IAAQC,KAERC,IAAQC,EAAS,MACdC,EAAgBC,EAAQ,MAAM,MAAM,CAC5C,GAEKC,KAAQC,IAAAL,EAAM,UAAN,QAAAK,EAAa,OAAOC,EAAE,OAAO;AAAA,MACzC,OAAOd,EAAG,EAAE,MAAM;AAAA,IACjB,GAAA,CAACc,EAAEC,GAAS,EAAE,GAAGP,EAAM,MAAO,CAAA,CAAC,CAAC,KAAIQ,IAAAV,EAAM,YAAN,gBAAAU,EAAA,KAAAV,IAEjCW,IAAO,CAACC,MAAqB;AAC3B,YAAAC,IAAUC,EAAYhB,GAAUc,CAAQ;AAC9C,aAAOC,IAAUL;AAAA,QACf;AAAA,QACA;AAAA,UACE,OAAOd,EAAG,EAAEkB,CAAQ;AAAA,QACtB;AAAA,QAAG,CAACJ,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,MAAMK,EAAQ,CAAC,CAAC;AAAA,MACxC,IAAA;AAAA,IAAA;AAGO,WAAA,MAETL;AAAA,MACE;AAAA,MAAO,EAAE,OAAOd,EAAG,IAAI;AAAA,MAAG;AAAA,QACxB,SAAS,MAAM;AAAA,UACbY;AAAA,UACAK,EAAK,OAAO;AAAA,UACZA,EAAK,WAAW;AAAA,UAChBX,EAAM,QAAQQ,EAAE,OAAO,EAAE,OAAOd,EAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,MAAA;;AAAK,oBAAAa,IAAAP,EAAM,UAAN,gBAAAO,EAAA,KAAAP;AAAA,YAAiB,CAAA,IAAI;AAAA,QACxF;AAAA,MACF;AAAA,IAAA;AAAA;;"}
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1 +0,0 @@
|
|
|
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;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
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;;"}
|
|
@@ -1 +0,0 @@
|
|
|
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;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content.vue2.mjs","sources":["../../../../../../packages/components/tooltip/content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'VftTooltipContent',\n\tinheritAttrs: false\n});\n</script>\n<template>\n\t<teleport :disabled=\"!teleported\" :to=\"_appendTo\">\n\t\t<transition\n\t\t\t\t:name=\"transitionClass\"\n\t\t\t\t@after-leave=\"onTransitionLeave\"\n\t\t\t\t@before-enter=\"onBeforeEnter\"\n\t\t\t\t@after-enter=\"onAfterShow\"\n\t\t\t\t@before-leave=\"onBeforeLeave\"\n\t\t>\n\t\t\t<vft-popper-content\n\t\t\t\t\tv-if=\"shouldRender\"\n\t\t\t\t\tv-show=\"shouldShow\"\n\t\t\t\t\t:id=\"id\"\n\t\t\t\t\tref=\"contentRef\"\n\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t\t\t:aria-hidden=\"ariaHidden\"\n\t\t\t\t\t:boundaries-padding=\"boundariesPadding\"\n\t\t\t\t\t:fallback-placements=\"fallbackPlacements\"\n\t\t\t\t\t:gpu-acceleration=\"gpuAcceleration\"\n\t\t\t\t\t:offset=\"offset\"\n\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t:popper-options=\"popperOptions\"\n\t\t\t\t\t:strategy=\"strategy\"\n\t\t\t\t\t:effect=\"effect\"\n\t\t\t\t\t:enterable=\"enterable\"\n\t\t\t\t\t:pure=\"pure\"\n\t\t\t\t\t:popper-class=\"popperClass\"\n\t\t\t\t\t:popper-style=\"[popperStyle, contentStyle]\"\n\t\t\t\t\t:reference-el=\"referenceEl\"\n\t\t\t\t\t:trigger-target-el=\"triggerTargetEl\"\n\t\t\t\t\t:visible=\"shouldShow\"\n\t\t\t\t\t:z-index=\"zIndex\"\n\t\t\t\t\t@mouseenter=\"onContentEnter\"\n\t\t\t\t\t@mouseleave=\"onContentLeave\"\n\t\t\t\t\t@blur=\"onBlur\"\n\t\t\t\t\t@close=\"onClose\"\n\t\t\t>\n\t\t\t\t<template v-if=\"!destroyed\">\n\t\t\t\t\t<slot />\n\t\t\t\t</template>\n\t\t\t</vft-popper-content>\n\t\t</transition>\n\t</teleport>\n</template>\n\n<script lang=\"ts\" setup>\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { Options, Placement } from '@popperjs/core';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { computed, inject, onBeforeUnmount, ref, type StyleValue, unref, watch } from 'vue';\nimport { onClickOutside } from '@vueuse/core';\nimport { usePopperContainerId } from '@vft-ui/hooks';\nimport { composeEventHandlers } from '@vft-ui/utils';\nimport { VftPopperContent } from '@vft-ui/components/popper';\nimport { TOOLTIP_INJECTION_KEY } from './constants';\n\n;\n\ninterface ToolTipProps {\n\tboundariesPadding?: number;\n\tfallbackPlacements?: Placement[];\n\tgpuAcceleration?: boolean;\n\toffset?: number;\n\tplacement?: Placement;\n\tpopperOptions?: Partial<Options>;\n\tstrategy?: 'fixed' | 'absolute';\n\tstyle?: StyleValue;\n\tclassName?: ClassType;\n\teffect?: string;\n\tenterable?: boolean;\n\tpure?: boolean;\n\tfocusOnShow?: boolean;\n\ttrapping?: boolean;\n\tpopperClass?: ClassType;\n\tpopperStyle?: StyleValue;\n\treferenceEl?: HTMLElement;\n\ttriggerTargetEl?: HTMLElement;\n\tstopPopperMouseEvent?: boolean;\n\tvirtualTriggering?: boolean;\n\tzIndex?: number;\n\t// ---- useDelayedToggleProps\n\tshowAfter?: number;\n\thideAfter?: number;\n\t// ---- tooltip content\n\tappendTo?: HTMLElement | string;\n\tcontent?: string;\n\trawContent?: boolean;\n\tpersistent?: boolean;\n\tariaLabel?: string;\n\tvisible?: boolean;\n\ttransition?: string;\n\tteleported?: boolean;\n\tdisabled?: boolean;\n}\n\ndefineProps({\n \"boundariesPadding\": { default: 0 },\n \"fallbackPlacements\": null,\n \"gpuAcceleration\": { type: Boolean, default: true },\n \"offset\": { default: 12 },\n \"placement\": { default: 'bottom' },\n \"popperOptions\": { default: {} },\n \"strategy\": { default: 'absolute' },\n \"style\": null,\n \"className\": null,\n \"effect\": { default: 'dark' },\n \"enterable\": { type: Boolean, default: true },\n \"pure\": { type: Boolean, },\n \"focusOnShow\": { type: Boolean, default: false },\n \"trapping\": { type: Boolean, default: false },\n \"popperClass\": null,\n \"popperStyle\": null,\n \"referenceEl\": null,\n \"triggerTargetEl\": null,\n \"stopPopperMouseEvent\": { type: Boolean, default: true },\n \"virtualTriggering\": { type: Boolean, },\n \"zIndex\": null,\n \"showAfter\": { default: 0 },\n \"hideAfter\": { default: 200 },\n \"appendTo\": null,\n \"content\": { default: '' },\n \"rawContent\": { type: Boolean, default: false },\n \"persistent\": { type: Boolean, },\n \"ariaLabel\": null,\n \"visible\": { type: Boolean, default: null },\n \"transition\": { default: 'vft-fade-in-linear' },\n \"teleported\": { type: Boolean, default: true },\n \"disabled\": { type: Boolean, }\n})\n\nconst { selector } = usePopperContainerId();\nconst ns = useNamespace('tooltip');\n// TODO any is temporary, replace with `InstanceType<typeof ElPopperContent> | null` later\nconst contentRef = ref<any>(null);\nconst destroyed = ref(false);\nconst {\n\tcontrolled,\n\tid,\n\topen,\n\ttrigger,\n\tonClose,\n\tonOpen,\n\tonShow,\n\tonHide,\n\tonBeforeShow,\n\tonBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!;\n\nconst transitionClass = computed(() => {\n\treturn __props.transition || `${ns.namespace.value}-fade-in-linear`;\n});\n\nconst persistentRef = computed(() => {\n\t// For testing, we would always want the content to be rendered\n\t// to the DOM, so we need to return true here.\n\tif (process.env.NODE_ENV === 'test') {\n\t\treturn true\n\t}\n\treturn __props.persistent\n})\n\nonBeforeUnmount(() => {\n\tdestroyed.value = true\n})\n\nconst shouldRender = computed(() => {\n\treturn unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n\treturn __props.disabled ? false : unref(open)\n})\n\nconst _appendTo = computed(() => {\n\treturn __props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => (__props.style ?? {}) as any)\n\nconst ariaHidden = computed(() => !unref(open))\n\nconst onTransitionLeave = () => {\n\tonHide()\n}\n\nconst stopWhenControlled = () => {\n\tif (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n\tif (__props.enterable && unref(trigger) === 'hover') {\n\t\tonOpen()\n\t}\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n\tif (unref(trigger) === 'hover') {\n\t\tonClose()\n\t}\n})\n\nconst onBeforeEnter = () => {\n\tcontentRef.value?.updatePopper?.()\n\tonBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n\tonBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n\tonShow()\n\tstopHandle = onClickOutside(\n\t\tcomputed(() => {\n\t\t\treturn contentRef.value?.popperContentRef\n\t\t}),\n\t\t() => {\n\t\t\tif (unref(controlled)) return\n\t\t\tconst $trigger = unref(trigger)\n\t\t\tif ($trigger !== 'hover') {\n\t\t\t\tonClose()\n\t\t\t}\n\t\t}\n\t)\n}\n\nconst onBlur = () => {\n\tif (!__props.virtualTriggering) {\n\t\tonClose()\n\t}\n}\n\nlet stopHandle: ReturnType<typeof onClickOutside>\n\nwatch(\n\t() => unref(open),\n\t(val) => {\n\t\tif (!val) {\n\t\t\tstopHandle?.()\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n)\n\nwatch(\n\t() => __props.content,\n\t() => {\n\t\tcontentRef.value?.updatePopper?.()\n\t}\n)\n\ndefineExpose({\n\t/**\n\t * @description el-popper-content component instance\n\t */\n\tcontentRef,\n})\n</script>\n"],"names":["__default__","DO_defineComponent","selector","usePopperContainerId","ns","useNamespace","contentRef","ref","destroyed","controlled","id","open","trigger","onClose","onOpen","onShow","onHide","onBeforeShow","onBeforeHide","inject","TOOLTIP_INJECTION_KEY","transitionClass","computed","__props","persistentRef","onBeforeUnmount","shouldRender","unref","shouldShow","_appendTo","contentStyle","ariaHidden","onTransitionLeave","stopWhenControlled","onContentEnter","composeEventHandlers","onContentLeave","onBeforeEnter","_b","_a","onBeforeLeave","onAfterShow","stopHandle","onClickOutside","onBlur","watch","val","expose"],"mappings":";;;;;;;;;;;;;AAEA,MAAAA,KAA6BC,EAAmB;AAAA,EAC/C,MAAM;AAAA,EACN,cAAc;AACf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqIK,UAAA,EAAE,UAAAC,MAAaC,MACfC,IAAKC,EAAa,SAAS,GAE3BC,IAAaC,EAAS,IAAI,GAC1BC,IAAYD,EAAI,EAAK,GACrB;AAAA,MACL,YAAAE;AAAA,MACA,IAAAC;AAAA,MACA,MAAAC;AAAA,MACA,SAAAC;AAAA,MACA,SAAAC;AAAA,MACA,QAAAC;AAAA,MACA,QAAAC;AAAA,MACA,QAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,IACD,IAAIC,EAAOC,IAAuB,MAAS,GAErCC,IAAkBC,EAAS,MACzBC,EAAQ,cAAc,GAAGnB,EAAG,UAAU,sBAC7C,GAEKoB,IAAgBF,EAAS,MAG1B,QAAQ,IAAI,aAAa,SACrB,KAEDC,EAAQ,UACf;AAED,IAAAE,EAAgB,MAAM;AACrB,MAAAjB,EAAU,QAAQ;AAAA,IAAA,CAClB;AAEK,UAAAkB,IAAeJ,EAAS,MACtBK,EAAMH,CAAa,IAAI,KAAOG,EAAMhB,CAAI,CAC/C,GAEKiB,IAAaN,EAAS,MACpBC,EAAQ,WAAW,KAAQI,EAAMhB,CAAI,CAC5C,GAEKkB,IAAYP,EAAS,MACnBC,EAAQ,YAAYrB,EAAS,KACpC,GAEK4B,IAAeR,EAAS,MAAOC,EAAQ,SAAS,CAAU,CAAA,GAE1DQ,IAAaT,EAAS,MAAM,CAACK,EAAMhB,CAAI,CAAC,GAExCqB,IAAoB,MAAM;AACxB,MAAAhB;IAAA,GAGFiB,IAAqB,MAAM;AAChC,UAAIN,EAAMlB,CAAU;AAAU,eAAA;AAAA,IAAA,GAGzByB,IAAiBC,EAAqBF,GAAoB,MAAM;AACrE,MAAIV,EAAQ,aAAaI,EAAMf,CAAO,MAAM,WACpCE;IACR,CACA,GAEKsB,IAAiBD,EAAqBF,GAAoB,MAAM;AACjE,MAAAN,EAAMf,CAAO,MAAM,WACdC;IACT,CACA,GAEKwB,IAAgB,MAAM;;AAC3B,OAAAC,KAAAC,IAAAjC,EAAW,UAAX,gBAAAiC,EAAkB,iBAAlB,QAAAD,EAAA,KAAAC,IACetB,KAAA,QAAAA;AAAA,IAAA,GAGVuB,IAAgB,MAAM;AACZ,MAAAtB,KAAA,QAAAA;AAAA,IAAA,GAGVuB,IAAc,MAAM;AAClB,MAAA1B,KACM2B,IAAAC;AAAA,QACZrB,EAAS,MAAM;;AACd,kBAAOiB,IAAAjC,EAAW,UAAX,gBAAAiC,EAAkB;AAAA,QAAA,CACzB;AAAA,QACD,MAAM;AACL,cAAIZ,EAAMlB,CAAU;AAAG;AAEvB,UADiBkB,EAAMf,CAAO,MACb,WACRC;QAEV;AAAA,MAAA;AAAA,IACD,GAGK+B,IAAS,MAAM;AAChB,MAACrB,EAAQ,qBACJV;IACT;AAGG,QAAA6B;AAEJ,WAAAG;AAAA,MACC,MAAMlB,EAAMhB,CAAI;AAAA,MAChB,CAACmC,MAAQ;AACR,QAAKA,KACSJ,KAAA,QAAAA;AAAA,MAEf;AAAA,MACA;AAAA,QACC,OAAO;AAAA,MACR;AAAA,IAAA,GAGDG;AAAA,MACC,MAAMtB,EAAQ;AAAA,MACd,MAAM;;AACL,SAAAe,KAAAC,IAAAjC,EAAW,UAAX,gBAAAiC,EAAkB,iBAAlB,QAAAD,EAAA,KAAAC;AAAA,MACD;AAAA,IAAA,GAGYQ,EAAA;AAAA;AAAA;AAAA;AAAA,MAIZ,YAAAzC;AAAA,IAAA,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|