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,6 +1,6 @@
|
|
|
1
1
|
import r from "./focus-trap.vue2.mjs";
|
|
2
2
|
import { renderSlot as e } from "vue";
|
|
3
|
-
import t from "
|
|
3
|
+
import t from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
4
|
function n(o, s, f, p, a, d) {
|
|
5
5
|
return e(o.$slots, "default", { handleKeydown: o.onKeydown });
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-trap.vue2.mjs","sources":["../../../../../packages/components/focus-trap/focus-trap.vue"],"sourcesContent":["<template>\n <slot :handle-keydown=\"onKeydown\" />\n</template>\n\n<script lang=\"ts\">\nimport { EVENT_CODE } from '@vft/constants';\nimport { useEscapeKeydown } from '@vft/use';\nimport { isString } from '@vft/utils';\nimport { isNil } from 'lodash';\nimport type { PropType } from 'vue';\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch\n} from 'vue';\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT\n} from './tokens';\nimport type { FocusLayer } from './utils';\nimport {\n createFocusOutPreventedEvent,\n focusableStack,\n focusFirstDescendant,\n getEdges,\n isFocusCausedByUserEvent,\n obtainAllFocusableElements,\n tryFocus,\n useFocusReason\n} from './utils';\n\nexport default defineComponent({\n name: 'VftFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first'\n }\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested'\n ],\n setup (props, { emit }) {\n\t\tconst forwardRef = ref<HTMLElement | undefined>()\n\t\tlet lastFocusBeforeTrapped: HTMLElement | null\n\t\tlet lastFocusAfterTrapped: HTMLElement | null\n\n\t\tconst { focusReason } = useFocusReason()\n\n\t\tuseEscapeKeydown((event) => {\n\t\t\tif (props.trapped && !focusLayer.paused) {\n\t\t\t\temit('release-requested', event)\n\t\t\t}\n\t\t})\n\n\t\tconst focusLayer: FocusLayer = {\n\t\t\tpaused: false,\n\t\t\tpause () {\n\t\t\t\tthis.paused = true\n\t\t\t},\n\t\t\tresume () {\n\t\t\t\tthis.paused = false\n\t\t\t},\n\t\t}\n\n\t\tconst onKeydown = (e: KeyboardEvent) => {\n\t\t\tif (!props.loop && !props.trapped) return\n\t\t\tif (focusLayer.paused) return\n\n\t\t\tconst { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n\t\t\tconst { loop } = props\n\t\t\tconst isTabbing =\n\t\t\t\tkey === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n\t\t\tconst currentFocusingEl = document.activeElement\n\t\t\tif (isTabbing && currentFocusingEl) {\n\t\t\t\tconst container = currentTarget as HTMLElement\n\t\t\t\tconst [first, last] = getEdges(container)\n\t\t\t\tconst isTabbable = first && last\n\t\t\t\tif (!isTabbable) {\n\t\t\t\t\tif (currentFocusingEl === container) {\n\t\t\t\t\t\tconst focusoutPreventedEvent = createFocusOutPreventedEvent({\n\t\t\t\t\t\t\tfocusReason: focusReason.value,\n\t\t\t\t\t\t})\n\t\t\t\t\t\temit('focusout-prevented', focusoutPreventedEvent)\n\t\t\t\t\t\tif (!focusoutPreventedEvent.defaultPrevented) {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!shiftKey && currentFocusingEl === last) {\n\t\t\t\t\t\tconst focusoutPreventedEvent = createFocusOutPreventedEvent({\n\t\t\t\t\t\t\tfocusReason: focusReason.value,\n\t\t\t\t\t\t})\n\t\t\t\t\t\temit('focusout-prevented', focusoutPreventedEvent)\n\t\t\t\t\t\tif (!focusoutPreventedEvent.defaultPrevented) {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tif (loop) tryFocus(first, true)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tshiftKey &&\n\t\t\t\t\t\t[first, container].includes(currentFocusingEl as HTMLElement)\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst focusoutPreventedEvent = createFocusOutPreventedEvent({\n\t\t\t\t\t\t\tfocusReason: focusReason.value,\n\t\t\t\t\t\t})\n\t\t\t\t\t\temit('focusout-prevented', focusoutPreventedEvent)\n\t\t\t\t\t\tif (!focusoutPreventedEvent.defaultPrevented) {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tif (loop) tryFocus(last, true)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tprovide(FOCUS_TRAP_INJECTION_KEY, {\n\t\t\tfocusTrapRef: forwardRef,\n\t\t\tonKeydown,\n\t\t})\n\n\t\twatch(\n\t\t\t() => props.focusTrapEl,\n\t\t\t(focusTrapEl) => {\n\t\t\t\tif (focusTrapEl) {\n\t\t\t\t\tforwardRef.value = focusTrapEl\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ immediate: true }\n\t\t)\n\n\t\twatch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n\t\t\tif (forwardRef) {\n\t\t\t\tforwardRef.addEventListener('keydown', onKeydown)\n\t\t\t\tforwardRef.addEventListener('focusin', onFocusIn)\n\t\t\t\tforwardRef.addEventListener('focusout', onFocusOut)\n\t\t\t}\n\t\t\tif (oldForwardRef) {\n\t\t\t\toldForwardRef.removeEventListener('keydown', onKeydown)\n\t\t\t\toldForwardRef.removeEventListener('focusin', onFocusIn)\n\t\t\t\toldForwardRef.removeEventListener('focusout', onFocusOut)\n\t\t\t}\n\t\t})\n\n\t\tconst trapOnFocus = (e: Event) => {\n\t\t\temit(ON_TRAP_FOCUS_EVT, e)\n\t\t}\n\t\tconst releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n\t\tconst onFocusIn = (e: FocusEvent) => {\n\t\t\tconst trapContainer = unref(forwardRef)\n\t\t\tif (!trapContainer) return\n\n\t\t\tconst target = e.target as HTMLElement | null\n\t\t\tconst relatedTarget = e.relatedTarget as HTMLElement | null\n\t\t\tconst isFocusedInTrap = target && trapContainer.contains(target)\n\n\t\t\tif (!props.trapped) {\n\t\t\t\tconst isPrevFocusedInTrap =\n\t\t\t\t\trelatedTarget && trapContainer.contains(relatedTarget)\n\t\t\t\tif (!isPrevFocusedInTrap) {\n\t\t\t\t\tlastFocusBeforeTrapped = relatedTarget\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isFocusedInTrap) emit('focusin', e)\n\n\t\t\tif (focusLayer.paused) return\n\n\t\t\tif (props.trapped) {\n\t\t\t\tif (isFocusedInTrap) {\n\t\t\t\t\tlastFocusAfterTrapped = target\n\t\t\t\t} else {\n\t\t\t\t\ttryFocus(lastFocusAfterTrapped, true)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst onFocusOut = (e: Event) => {\n\t\t\tconst trapContainer = unref(forwardRef)\n\t\t\tif (focusLayer.paused || !trapContainer) return\n\n\t\t\tif (props.trapped) {\n\t\t\t\tconst relatedTarget = (e as FocusEvent)\n\t\t\t\t\t.relatedTarget as HTMLElement | null\n\t\t\t\tif (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n\t\t\t\t\t// Give embedded focus layer time to pause this layer before reclaiming focus\n\t\t\t\t\t// And only reclaim focus if it should currently be trapping\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (!focusLayer.paused && props.trapped) {\n\t\t\t\t\t\t\tconst focusoutPreventedEvent = createFocusOutPreventedEvent({\n\t\t\t\t\t\t\t\tfocusReason: focusReason.value,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\temit('focusout-prevented', focusoutPreventedEvent)\n\t\t\t\t\t\t\tif (!focusoutPreventedEvent.defaultPrevented) {\n\t\t\t\t\t\t\t\ttryFocus(lastFocusAfterTrapped, true)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst target = e.target as HTMLElement | null\n\t\t\t\tconst isFocusedInTrap = target && trapContainer.contains(target)\n\t\t\t\tif (!isFocusedInTrap) emit('focusout', e)\n\t\t\t}\n\t\t}\n\n\t\tasync function startTrap () {\n\t\t\t// Wait for forwardRef to resolve\n\t\t\tawait nextTick()\n\t\t\tconst trapContainer = unref(forwardRef)\n\t\t\tif (trapContainer) {\n\t\t\t\tfocusableStack.push(focusLayer)\n\t\t\t\tconst prevFocusedElement = trapContainer.contains(\n\t\t\t\t\tdocument.activeElement\n\t\t\t\t)\n\t\t\t\t\t? lastFocusBeforeTrapped\n\t\t\t\t\t: document.activeElement\n\t\t\t\tlastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n\t\t\t\tconst isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n\t\t\t\tif (!isPrevFocusContained) {\n\t\t\t\t\tconst focusEvent = new Event(\n\t\t\t\t\t\tFOCUS_AFTER_TRAPPED,\n\t\t\t\t\t\tFOCUS_AFTER_TRAPPED_OPTS\n\t\t\t\t\t)\n\t\t\t\t\ttrapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\t\t\t\t\ttrapContainer.dispatchEvent(focusEvent)\n\t\t\t\t\tif (!focusEvent.defaultPrevented) {\n\t\t\t\t\t\tnextTick(() => {\n\t\t\t\t\t\t\tlet focusStartEl = props.focusStartEl\n\t\t\t\t\t\t\tif (!isString(focusStartEl)) {\n\t\t\t\t\t\t\t\ttryFocus(focusStartEl)\n\t\t\t\t\t\t\t\tif (document.activeElement !== focusStartEl) {\n\t\t\t\t\t\t\t\t\tfocusStartEl = 'first'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (focusStartEl === 'first') {\n\t\t\t\t\t\t\t\tfocusFirstDescendant(\n\t\t\t\t\t\t\t\t\tobtainAllFocusableElements(trapContainer),\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdocument.activeElement === prevFocusedElement ||\n\t\t\t\t\t\t\t\tfocusStartEl === 'container'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\ttryFocus(trapContainer)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction stopTrap () {\n\t\t\tconst trapContainer = unref(forwardRef)\n\n\t\t\tif (trapContainer) {\n\t\t\t\ttrapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n\t\t\t\tconst releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {\n\t\t\t\t\t...FOCUS_AFTER_TRAPPED_OPTS,\n\t\t\t\t\tdetail: {\n\t\t\t\t\t\tfocusReason: focusReason.value,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\ttrapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n\t\t\t\ttrapContainer.dispatchEvent(releasedEvent)\n\t\t\t\tif (\n\t\t\t\t\t!releasedEvent.defaultPrevented &&\n\t\t\t\t\t(focusReason.value == 'keyboard' ||\n\t\t\t\t\t\t!isFocusCausedByUserEvent() ||\n\t\t\t\t\t\ttrapContainer.contains(document.activeElement))\n\t\t\t\t) {\n\t\t\t\t\ttryFocus(lastFocusBeforeTrapped ?? document.body)\n\t\t\t\t}\n\n\t\t\t\ttrapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus)\n\t\t\t\tfocusableStack.remove(focusLayer)\n\t\t\t}\n\t\t}\n\n\t\tonMounted(() => {\n\t\t\tif (props.trapped) {\n\t\t\t\tstartTrap()\n\t\t\t}\n\n\t\t\twatch(\n\t\t\t\t() => props.trapped,\n\t\t\t\t(trapped) => {\n\t\t\t\t\tif (trapped) {\n\t\t\t\t\t\tstartTrap()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstopTrap()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t})\n\n\t\tonBeforeUnmount(() => {\n\t\t\tif (props.trapped) {\n\t\t\t\tstopTrap()\n\t\t\t}\n\t\t})\n\n\t\treturn {\n\t\t\tonKeydown,\n\t\t}\n }\n});\n</script>\n"],"names":["_sfc_main","defineComponent","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","props","emit","forwardRef","ref","lastFocusBeforeTrapped","lastFocusAfterTrapped","focusReason","useFocusReason","useEscapeKeydown","event","focusLayer","onKeydown","key","altKey","ctrlKey","metaKey","currentTarget","shiftKey","loop","isTabbing","EVENT_CODE","currentFocusingEl","container","first","last","getEdges","focusoutPreventedEvent","createFocusOutPreventedEvent","tryFocus","provide","FOCUS_TRAP_INJECTION_KEY","watch","focusTrapEl","oldForwardRef","onFocusIn","onFocusOut","trapOnFocus","releaseOnFocus","trapContainer","unref","target","relatedTarget","isFocusedInTrap","isNil","startTrap","nextTick","focusableStack","prevFocusedElement","focusEvent","FOCUS_AFTER_TRAPPED","FOCUS_AFTER_TRAPPED_OPTS","focusStartEl","isString","focusFirstDescendant","obtainAllFocusableElements","stopTrap","releasedEvent","FOCUS_AFTER_RELEASED","isFocusCausedByUserEvent","onMounted","trapped","onBeforeUnmount"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.mjs","sources":["../../../../../packages/components/focus-trap/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\n\nexport const FOCUS_AFTER_TRAPPED = 'focus-trap.focus-after-trapped';\nexport const FOCUS_AFTER_RELEASED = 'focus-trap.focus-after-released';\nexport const FOCUSOUT_PREVENTED = 'focus-trap.focusout-prevented';\nexport const FOCUS_AFTER_TRAPPED_OPTS: EventInit = {\n\tcancelable: true,\n\tbubbles: false,\n};\nexport const FOCUSOUT_PREVENTED_OPTS: EventInit = {\n\tcancelable: true,\n\tbubbles: false,\n};\n\nexport const ON_TRAP_FOCUS_EVT = 'focusAfterTrapped';\nexport const ON_RELEASE_FOCUS_EVT = 'focusAfterReleased';\n\nexport type FocusTrapInjectionContext = {\n\tfocusTrapRef: Ref<HTMLElement | undefined>\n\tonKeydown: (e: KeyboardEvent) => void\n}\n\nexport const FOCUS_TRAP_INJECTION_KEY: InjectionKey<FocusTrapInjectionContext> =\n\tSymbol('vftFocusTrap');\n"],"names":["FOCUS_AFTER_TRAPPED","FOCUS_AFTER_RELEASED","FOCUSOUT_PREVENTED","FOCUS_AFTER_TRAPPED_OPTS","FOCUSOUT_PREVENTED_OPTS","ON_TRAP_FOCUS_EVT","ON_RELEASE_FOCUS_EVT","FOCUS_TRAP_INJECTION_KEY"],"mappings":"AAEO,MAAMA,IAAsB,kCACtBC,IAAuB,mCACvBC,IAAqB,iCACrBC,IAAsC;AAAA,EAClD,YAAY;AAAA,EACZ,SAAS;AACV,GACaC,IAAqC;AAAA,EACjD,YAAY;AAAA,EACZ,SAAS;AACV,GAEaC,IAAoB,qBACpBC,IAAuB,sBAOvBC,IACZ,OAAO,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../../packages/components/focus-trap/utils.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, ref } from 'vue'\nimport { FOCUSOUT_PREVENTED, FOCUSOUT_PREVENTED_OPTS } from './tokens'\n\nconst focusReason = ref<'pointer' | 'keyboard'>()\nconst lastUserFocusTimestamp = ref<number>(0)\nconst lastAutomatedFocusTimestamp = ref<number>(0)\nlet focusReasonUserCount = 0\n\nexport type FocusLayer = {\n\tpaused: boolean\n\tpause: () => void\n\tresume: () => void\n}\n\nexport type FocusStack = FocusLayer[]\n\nexport const obtainAllFocusableElements = (\n\telement: HTMLElement\n): HTMLElement[] => {\n\tconst nodes: HTMLElement[] = []\n\tconst walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, {\n\t\tacceptNode: (\n\t\t\tnode: Element & {\n\t\t\t\tdisabled: boolean\n\t\t\t\thidden: boolean\n\t\t\t\ttype: string\n\t\t\t\ttabIndex: number\n\t\t\t}\n\t\t) => {\n\t\t\tconst isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden'\n\t\t\tif (node.disabled || node.hidden || isHiddenInput)\n\t\t\t\treturn NodeFilter.FILTER_SKIP\n\t\t\treturn node.tabIndex >= 0 || node === document.activeElement\n\t\t\t\t? NodeFilter.FILTER_ACCEPT\n\t\t\t\t: NodeFilter.FILTER_SKIP\n\t\t},\n\t})\n\twhile (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement)\n\t\n\treturn nodes\n}\n\nexport const getVisibleElement = (\n\telements: HTMLElement[],\n\tcontainer: HTMLElement\n) => {\n\tfor (const element of elements) {\n\t\tif (!isHidden(element, container)) return element\n\t}\n}\n\nexport const isHidden = (element: HTMLElement, container: HTMLElement) => {\n\tif (process.env.NODE_ENV === 'test') return false\n\tif (getComputedStyle(element).visibility === 'hidden') return true\n\t\n\twhile (element) {\n\t\tif (container && element === container) return false\n\t\tif (getComputedStyle(element).display === 'none') return true\n\t\telement = element.parentElement as HTMLElement\n\t}\n\t\n\treturn false\n}\n\nexport const getEdges = (container: HTMLElement) => {\n\tconst focusable = obtainAllFocusableElements(container)\n\tconst first = getVisibleElement(focusable, container)\n\tconst last = getVisibleElement(focusable.reverse(), container)\n\treturn [first, last]\n}\n\nconst isSelectable = (\n\telement: any\n): element is HTMLInputElement & {select: () => void} => {\n\treturn element instanceof HTMLInputElement && 'select' in element\n}\n\nexport const tryFocus = (\n\telement?: HTMLElement | {focus: () => void} | null,\n\tshouldSelect?: boolean\n) => {\n\tif (element && element.focus) {\n\t\tconst prevFocusedElement = document.activeElement\n\t\telement.focus({ preventScroll: true })\n\t\tlastAutomatedFocusTimestamp.value = window.performance.now()\n\t\tif (\n\t\t\telement !== prevFocusedElement &&\n\t\t\tisSelectable(element) &&\n\t\t\tshouldSelect\n\t\t) {\n\t\t\telement.select()\n\t\t}\n\t}\n}\n\nfunction removeFromStack<T> (list: T[], item: T) {\n\tconst copy = [...list]\n\t\n\tconst idx = list.indexOf(item)\n\t\n\tif (idx !== -1) {\n\t\tcopy.splice(idx, 1)\n\t}\n\treturn copy\n}\n\nconst createFocusableStack = () => {\n\tlet stack = [] as FocusStack\n\t\n\tconst push = (layer: FocusLayer) => {\n\t\tconst currentLayer = stack[0]\n\t\t\n\t\tif (currentLayer && layer !== currentLayer) {\n\t\t\tcurrentLayer.pause()\n\t\t}\n\t\t\n\t\tstack = removeFromStack(stack, layer)\n\t\tstack.unshift(layer)\n\t}\n\t\n\tconst remove = (layer: FocusLayer) => {\n\t\tstack = removeFromStack(stack, layer)\n\t\tstack[0]?.resume?.()\n\t}\n\t\n\treturn {\n\t\tpush,\n\t\tremove,\n\t}\n}\n\nexport const focusFirstDescendant = (\n\telements: HTMLElement[],\n\tshouldSelect = false\n) => {\n\tconst prevFocusedElement = document.activeElement\n\tfor (const element of elements) {\n\t\ttryFocus(element, shouldSelect)\n\t\tif (document.activeElement !== prevFocusedElement) return\n\t}\n}\n\nexport const focusableStack = createFocusableStack()\n\nexport const isFocusCausedByUserEvent = (): boolean => {\n\treturn lastUserFocusTimestamp.value > lastAutomatedFocusTimestamp.value\n}\n\nconst notifyFocusReasonPointer = () => {\n\tfocusReason.value = 'pointer'\n\tlastUserFocusTimestamp.value = window.performance.now()\n}\n\nconst notifyFocusReasonKeydown = () => {\n\tfocusReason.value = 'keyboard'\n\tlastUserFocusTimestamp.value = window.performance.now()\n}\n\nexport const useFocusReason = (): {\n\tfocusReason: typeof focusReason\n\tlastUserFocusTimestamp: typeof lastUserFocusTimestamp\n\tlastAutomatedFocusTimestamp: typeof lastAutomatedFocusTimestamp\n} => {\n\tonMounted(() => {\n\t\tif (focusReasonUserCount === 0) {\n\t\t\tdocument.addEventListener('mousedown', notifyFocusReasonPointer)\n\t\t\tdocument.addEventListener('touchstart', notifyFocusReasonPointer)\n\t\t\tdocument.addEventListener('keydown', notifyFocusReasonKeydown)\n\t\t}\n\t\tfocusReasonUserCount++\n\t})\n\t\n\tonBeforeUnmount(() => {\n\t\tfocusReasonUserCount--\n\t\tif (focusReasonUserCount <= 0) {\n\t\t\tdocument.removeEventListener('mousedown', notifyFocusReasonPointer)\n\t\t\tdocument.removeEventListener('touchstart', notifyFocusReasonPointer)\n\t\t\tdocument.removeEventListener('keydown', notifyFocusReasonKeydown)\n\t\t}\n\t})\n\t\n\treturn {\n\t\tfocusReason,\n\t\tlastUserFocusTimestamp,\n\t\tlastAutomatedFocusTimestamp,\n\t}\n}\n\nexport const createFocusOutPreventedEvent = (\n\tdetail: CustomEventInit['detail']\n) => {\n\treturn new CustomEvent(FOCUSOUT_PREVENTED, {\n\t\t...FOCUSOUT_PREVENTED_OPTS,\n\t\tdetail,\n\t})\n}\n"],"names":["focusReason","ref","lastUserFocusTimestamp","lastAutomatedFocusTimestamp","focusReasonUserCount","obtainAllFocusableElements","element","nodes","walker","node","isHiddenInput","getVisibleElement","elements","container","isHidden","getEdges","focusable","first","last","isSelectable","tryFocus","shouldSelect","prevFocusedElement","removeFromStack","list","item","copy","idx","createFocusableStack","stack","layer","currentLayer","_b","_a","focusFirstDescendant","focusableStack","isFocusCausedByUserEvent","notifyFocusReasonPointer","notifyFocusReasonKeydown","useFocusReason","onMounted","onBeforeUnmount","createFocusOutPreventedEvent","detail","FOCUSOUT_PREVENTED","FOCUSOUT_PREVENTED_OPTS"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.vue2.mjs","sources":["../../../../../packages/components/icon/icon.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('icon')\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 { computed, type CSSProperties, inject } from 'vue';\nimport { addUnit } from '@vft/utils';\nimport { useNamespace } from '@vft-ui/hooks';\n\nexport interface IconProps {\n /** 是否显示图标右上角小红点 */\n dot?: boolean;\n /** 图标名称或图片链接 */\n icon: string;\n /** 图标大小 */\n size?: Numberish;\n /** 图标右上角徽标的内容 */\n badge?: Numberish;\n /** 图标颜色 */\n color?: string;\n /** 类名前缀,用于使用自定义图标 */\n classPrefix?: string;\n spin?: boolean;\n cursor?: boolean;\n scale?: number\n}\n\nconst emit = defineEmits(['click']);\n\ndefineProps({\n \"dot\": { type: Boolean, },\n \"icon\": null,\n \"size\": null,\n \"badge\": null,\n \"color\": null,\n \"classPrefix\": null,\n \"spin\": { type: Boolean, },\n \"cursor\": { type: Boolean, },\n \"scale\": null\n})\n\n\n\n;\n\nconst style = computed(() => {\n const _style: CSSProperties = {};\n if (__props.color) {\n _style['color'] = __props.color;\n }\n if (__props.size) {\n _style['fontSize'] = addUnit(__props.size);\n }\n if (__props.spin) {\n _style['animation'] = 'vft-rotate 1s linear 0s infinite';\n }\n if (__props.cursor) {\n _style['cursor'] = 'pointer';\n }\n if (__props.scale) {\n _style.transform = 'scale(0.8)';\n }\n return _style;\n});\n\nconst isImage = (name?: string) => name?.includes('/');\nconst isImageIcon = isImage(__props.icon);\n\n\nconst _classPrefix = computed(() => __props.classPrefix);\nconst classes = computed(() => (isImageIcon ? '' : [__props.icon.startsWith('vi-') ? 'vicon' : 'iconfont', `${_classPrefix.value || ''}${__props.icon}`]));\n</script>\n\n<template>\n\t<div>\n\t\t<slot></slot>\n\t</div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","computed","_style","__props","addUnit","isImageIcon","name","_classPrefix"],"mappings":";;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,MAAM;AAAA,GAGhDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;;;;;AA0Ca,IAAAI,EAAS,MAAM;AAC3B,YAAMC,IAAwB,CAAA;AAC9B,aAAIC,EAAQ,UACHD,EAAA,QAAWC,EAAQ,QAExBA,EAAQ,SACVD,EAAO,WAAcE,EAAQD,EAAQ,IAAI,IAEvCA,EAAQ,SACVD,EAAO,YAAe,qCAEpBC,EAAQ,WACVD,EAAO,SAAY,YAEjBC,EAAQ,UACVD,EAAO,YAAY,eAEdA;AAAA,IAAA,CACR;AAGK,UAAAG,KADU,CAACC,MAAkBA,KAAA,gBAAAA,EAAM,SAAS,MACtBH,EAAQ,IAAI,GAGlCI,IAAeN,EAAS,MAAME,EAAQ,WAAW;AACvC,WAAAF,EAAS,MAAOI,IAAc,KAAK,CAACF,EAAQ,KAAK,WAAW,KAAK,IAAI,UAAU,YAAY,GAAGI,EAAa,SAAS,KAAKJ,EAAQ,MAAM,CAAE;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/icon/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils';\n\nimport Icon, { type IconProps } from './icon.vue';\n\nexport {\n\ttype IconProps\n} from './icon.vue';\n\nexport const VftIcon = withInstall(Icon);\nexport default VftIcon;\n"],"names":["VftIcon","withInstall","Icon"],"mappings":";;;;;AAQa,MAAAA,IAAUC,EAAYC,CAAI;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/menu/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@vft-ui/utils'\n\nimport Menu from './menu.vue'\nimport MenuItem from './menu-item.vue'\nimport MenuItemGroup from './menu-item-group.vue'\nimport SubMenu from './sub-menu.vue'\n\nexport const VftMenu = withInstall(Menu, {\n\tMenuItem,\n\tMenuItemGroup,\n\tSubMenu,\n})\nexport default VftMenu\nexport const VftMenuItem = withNoopInstall(MenuItem)\nexport const VftMenuItemGroup = withNoopInstall(MenuItemGroup)\nexport const VftSubMenu = withNoopInstall(SubMenu)\n\nexport * from './types'\n"],"names":["VftMenu","withInstall","Menu","MenuItem","MenuItemGroup","SubMenu","VftMenuItem","withNoopInstall","VftMenuItemGroup","VftSubMenu"],"mappings":";;;;;;;;AAOa,MAAAA,IAAUC,EAAYC,GAAM;AAAA,EAAA,UACxCC;AAAAA,EAAA,eACAC;AAAAA,EAAA,SACAC;AACD,CAAC,GAEYC,IAAcC,EAAgBJ,CAAQ,GACtCK,IAAmBD,EAAgBH,CAAa,GAChDK,IAAaF,EAAgBF,CAAO;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import o from "./menu-collapse-transition.vue2.mjs";
|
|
2
2
|
import { openBlock as r, createBlock as t, Transition as n, mergeProps as s, withCtx as i, renderSlot as a } from "vue";
|
|
3
|
-
import p from "
|
|
3
|
+
import p from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
4
|
function f(e, l, c, m, d, u) {
|
|
5
5
|
return r(), t(n, s({ mode: "out-in" }, e.listeners), {
|
|
6
6
|
default: i(() => [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-collapse-transition.vue.mjs","sources":["../../../../../packages/components/menu/menu-collapse-transition.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { addClass, hasClass, removeClass } from '@vft/utils';\n\nimport type { BaseTransitionProps, TransitionProps } from 'vue';\n\nexport default defineComponent({\n setup() {\n const ns = useNamespace('menu');\n const listeners = {\n onBeforeEnter: (el) => (el.style.opacity = '0.2'),\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '1';\n done();\n },\n\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '';\n },\n\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;(el as any).dataset = {};\n }\n\n if (hasClass(el, ns.m('collapse'))) {\n removeClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m('collapse'));\n } else {\n addClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m('collapse'));\n }\n\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = 'hidden';\n },\n\n onLeave(el: HTMLElement) {\n addClass(el, 'horizontal-collapse-transition');\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n } as BaseTransitionProps<HTMLElement> as TransitionProps;\n\n return {\n listeners\n };\n }\n});\n</script>\n\n<template>\n <transition mode=\"out-in\" v-bind=\"listeners\">\n <slot />\n </transition>\n</template>\n"],"names":["_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_Transition","_mergeProps","_withCtx"],"mappings":";;;AA2DY,SAAAA,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SAARC,EAAQ,GAAAC,EAAAC,GAAAC,EAAA,EAAA,MAAA,SAAA,GAAAT,EAAA,SAAA,GAAA;AAAA,IAAA,SAAAU,EAAA,MAAA;AAAA;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-collapse-transition.vue2.mjs","sources":["../../../../../packages/components/menu/menu-collapse-transition.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { addClass, hasClass, removeClass } from '@vft/utils';\n\nimport type { BaseTransitionProps, TransitionProps } from 'vue';\n\nexport default defineComponent({\n setup() {\n const ns = useNamespace('menu');\n const listeners = {\n onBeforeEnter: (el) => (el.style.opacity = '0.2'),\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '1';\n done();\n },\n\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = '';\n },\n\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;(el as any).dataset = {};\n }\n\n if (hasClass(el, ns.m('collapse'))) {\n removeClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m('collapse'));\n } else {\n addClass(el, ns.m('collapse'));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m('collapse'));\n }\n\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = 'hidden';\n },\n\n onLeave(el: HTMLElement) {\n addClass(el, 'horizontal-collapse-transition');\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n } as BaseTransitionProps<HTMLElement> as TransitionProps;\n\n return {\n listeners\n };\n }\n});\n</script>\n\n<template>\n <transition mode=\"out-in\" v-bind=\"listeners\">\n <slot />\n </transition>\n</template>\n"],"names":["_sfc_main","defineComponent","ns","useNamespace","el","done","addClass","removeClass","hasClass"],"mappings":";;;;;;;;AAOA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,QAAQ;AACA,UAAAC,IAAKC,EAAa,MAAM;AAyCvB,WAAA;AAAA,MACL,WAzCgB;AAAA,QAChB,eAAe,CAACC,MAAQA,EAAG,MAAM,UAAU;AAAA,QAC3C,QAAQA,GAAIC,GAAM;AAChB,UAAAC,EAASF,GAAI,GAAGF,EAAG,UAAU,0BAA0B,GACvDE,EAAG,MAAM,UAAU,KACdC;QACP;AAAA,QAEA,aAAaD,GAAI;AACf,UAAAG,EAAYH,GAAI,GAAGF,EAAG,UAAU,0BAA0B,GAC1DE,EAAG,MAAM,UAAU;AAAA,QACrB;AAAA,QAEA,cAAcA,GAAI;AACZ,UAACA,EAAG,YACJA,EAAW,UAAU,KAGrBI,EAASJ,GAAIF,EAAG,EAAE,UAAU,CAAC,KAC/BK,EAAYH,GAAIF,EAAG,EAAE,UAAU,CAAC,GAC7BE,EAAA,QAAQ,cAAcA,EAAG,MAAM,UAClCA,EAAG,QAAQ,cAAcA,EAAG,YAAY,SAAS,GACjDE,EAASF,GAAIF,EAAG,EAAE,UAAU,CAAC,MAE7BI,EAASF,GAAIF,EAAG,EAAE,UAAU,CAAC,GAC1BE,EAAA,QAAQ,cAAcA,EAAG,MAAM,UAClCA,EAAG,QAAQ,cAAcA,EAAG,YAAY,SAAS,GACjDG,EAAYH,GAAIF,EAAG,EAAE,UAAU,CAAC,IAG/BE,EAAA,MAAM,QAAQ,GAAGA,EAAG,iBACvBA,EAAG,MAAM,WAAW;AAAA,QACtB;AAAA,QAEA,QAAQA,GAAiB;AACvB,UAAAE,EAASF,GAAI,gCAAgC,GAC7CA,EAAG,MAAM,QAAQ,GAAGA,EAAG,QAAQ;AAAA,QACjC;AAAA,MAAA;AAAA,IAIA;AAAA,EAEJ;AACF,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item-group.vue2.mjs","sources":["../../../../../packages/components/menu/menu-item-group.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu-item-group')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns.b()\n});</script>\n<template>\n <li :class=\"ns.b()\">\n <div :class=\"ns.e('title')\">\n <template v-if=\"!$slots.title\">{{ title }}</template>\n <slot v-else name=\"title\" />\n </div>\n <ul>\n <slot />\n </ul>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@vft-ui/hooks';\n\ninterface Props {\n\ttitle?: string\n}\n\ndefineProps({\n \"title\": null\n});\n\n\n\n;\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent"],"mappings":";;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,iBAAiB;AAAA,GAG3DC,IAA6BC,EAAmB;AAAA,EAC/C,MAAMH,EAAG,EAAE;AACZ,CAAC;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item.vue2.mjs","sources":["../../../../../packages/components/menu/menu-item.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu-item')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { renderTNode, singleAttrToObj, VNode } from '@vft/utils';\nimport { computed, getCurrentInstance, inject, onBeforeUnmount, onMounted, reactive } from 'vue';\nimport { throwError } from '@vft-ui/utils';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { type RouteLocationRaw } from 'vue-router';\nimport useMenu from './use-menu';\nimport { VftIcon as Icon, type IconProps, VftTooltip as Tooltip, VftDivider } from '@vft-ui/components';\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types';\n\ninterface Props {\n /** 唯一标志 */\n index?: string;\n /** Vue Router 路径对象 */\n route?: RouteLocationRaw;\n /** 是否禁用 */\n disabled?: boolean;\n icon?: IconProps;\n title?: string;\n isAloneUse?: boolean;\n divider?: boolean;\n className?: string\n reverse?: boolean\n}\n\ndefineProps({\n \"index\": null,\n \"route\": null,\n \"disabled\": { type: Boolean, },\n \"icon\": null,\n \"title\": null,\n \"isAloneUse\": { type: Boolean, },\n \"divider\": { type: Boolean, },\n \"className\": null,\n \"reverse\": { type: Boolean, }\n})\n\n\n\nconst emit = defineEmits(['click']);\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst nsMenu = useNamespace('menu');\n\nconst nsMenuItem = useNamespace('menu-item');\n\n// 获取来自 menu.vue 中注入的数据\nconst rootMenu = !__props.isAloneUse ? inject<MenuProvider>('rootMenu') : null;\nif (!rootMenu && !__props.isAloneUse) throwError(ns.b(), 'can not inject root menu');\n\n// indexPath:当前 menu-item 对应的 index 和 vft-sub-menu 的 index,parentMenu 为 vft-sub-menu 组件\nconst { parentMenu, indexPath } = useMenu(\n instance,\n computed(() => __props.index!)\n);\n\n// 注入来自 sub-menu 中的 provide 数据\nconst subMenu = !__props.isAloneUse ? inject<SubMenuProvider>(`subMenu:${parentMenu.value.uid}`) : null;\nif (!subMenu && !__props.isAloneUse) throwError(ns.b(), 'can not inject sub menu');\n\n// 当前是否为 active\nconst active = computed(() => __props.index === rootMenu?.activeIndex);\n\nconst item: MenuItemRegistered = reactive({\n index: __props.index!,\n indexPath,\n active\n});\n\n// 点击具体菜单项\nconst handleClick = () => {\n if (!__props.disabled) {\n rootMenu?.handleMenuItemClick({\n index: __props.index!,\n indexPath: indexPath.value,\n route: __props.route\n });\n emit('click', item);\n }\n};\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst title = computed(() => {\n return renderTNode(instance, 'title');\n});\n\nonMounted(() => {\n if (!__props.isAloneUse) {\n // 触发 sub-menu,vue 中的 addSubMenu\n subMenu?.addSubMenu(item);\n // 触发 menu.vue 中的 addMenuItem 更新 items\n rootMenu?.addMenuItem(item);\n }\n});\n\nonBeforeUnmount(() => {\n if (!__props.isAloneUse) {\n subMenu?.removeSubMenu(item);\n rootMenu?.removeMenuItem(item);\n }\n});\n</script>\n\n<template>\n <vft-divider v-if=\"reverse && divider\" marginY=\"0\" />\n <li :class=\"[className, nsMenuItem.b(), nsMenuItem.is('active', isAloneUse ? false : active), nsMenuItem.is('disabled', disabled)]\" role=\"menuitem\" tabindex=\"-1\" @click=\"handleClick\">\n <tooltip\n v-if=\"parentMenu?.type?.name === 'vft-menu' && rootMenu?.props.collapse && $slots.title\"\n placement=\"right\" :fallback-placements=\"['left']\" persistent>\n <template #content>\n <slot name=\"title\" />\n </template>\n <div :class=\"nsMenu.be('tooltip', 'trigger')\">\n <slot />\n </div>\n </tooltip>\n <template v-else>\n <slot v-if=\"$slots?.default\"/>\n <template v-else>\n <Icon v-if=\"_icon?.icon\" v-bind=\"_icon\" />\n <span :title=\"title\"><v-node :content=\"title\" /></span>\n </template>\n </template>\n </li>\n <vft-divider v-if=\"!reverse && divider\" marginY=\"0\" />\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","instance","getCurrentInstance","nsMenu","nsMenuItem","rootMenu","__props","inject","throwError","parentMenu","indexPath","useMenu","computed","subMenu","active","item","reactive","handleClick","emit","_icon","singleAttrToObj","title","renderTNode","onMounted","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;qBACMA;AAAA;AAAA,EAAuBC,EAAa,WAAW;AAAA,GAGrDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;;;;;AA6CD,UAAMI,IAAWC,KAEXC,IAASL,EAAa,MAAM,GAE5BM,IAAaN,EAAa,WAAW,GAGrCO,IAAYC,EAAQ,aAAgD,OAAnCC,EAAqB,UAAU;AAClE,IAAA,CAACF,KAAY,CAACC,EAAQ,cAAuBE,EAAAX,EAAG,EAAE,GAAG,0BAA0B;AAG7E,UAAA,EAAE,YAAAY,GAAY,WAAAC,EAAA,IAAcC;AAAA,MAChCV;AAAA,MACAW,EAAS,MAAMN,EAAQ,KAAM;AAAA,IAAA,GAIzBO,IAAWP,EAAQ,aAA0E,OAA7DC,EAAwB,WAAWE,EAAW,MAAM,KAAK;AAC3F,IAAA,CAACI,KAAW,CAACP,EAAQ,cAAuBE,EAAAX,EAAG,EAAE,GAAG,yBAAyB;AAGjF,UAAMiB,IAASF,EAAS,MAAMN,EAAQ,WAAUD,KAAA,gBAAAA,EAAU,YAAW,GAE/DU,IAA2BC,EAAS;AAAA,MACxC,OAAOV,EAAQ;AAAA,MACf,WAAAI;AAAA,MACA,QAAAI;AAAA,IAAA,CACD,GAGKG,IAAc,MAAM;AACpB,MAACX,EAAQ,aACXD,KAAA,QAAAA,EAAU,oBAAoB;AAAA,QAC5B,OAAOC,EAAQ;AAAA,QACf,WAAWI,EAAU;AAAA,QACrB,OAAOJ,EAAQ;AAAA,MAAA,IAEjBY,EAAK,SAASH,CAAI;AAAA,IACpB,GAGII,IAAQP,EAAS,MACdQ,EAAgBd,EAAQ,MAAM,MAAM,CAC5C,GAEKe,IAAQT,EAAS,MACdU,EAAYrB,GAAU,OAAO,CACrC;AAED,WAAAsB,EAAU,MAAM;AACV,MAACjB,EAAQ,eAEXO,KAAA,QAAAA,EAAS,WAAWE,IAEpBV,KAAA,QAAAA,EAAU,YAAYU;AAAA,IACxB,CACD,GAEDS,EAAgB,MAAM;AAChB,MAAClB,EAAQ,eACXO,KAAA,QAAAA,EAAS,cAAcE,IACvBV,KAAA,QAAAA,EAAU,eAAeU;AAAA,IAC3B,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -3,7 +3,7 @@ import { useRouterHelper as $, getRouterKeyPath as f, listenerRouteChange as j }
|
|
|
3
3
|
import { useMultipleTabStore as q, useTabs as G } from "@vft/store";
|
|
4
4
|
import { useRefs as J } from "@vft/use";
|
|
5
5
|
import { generateCssVars as S } from "@vft/utils";
|
|
6
|
-
import L from "
|
|
6
|
+
import L from "hotkeys-js";
|
|
7
7
|
import { useRouter as O, onBeforeRouteLeave as Q } from "vue-router";
|
|
8
8
|
import { useNamespace as W } from "../../hooks/use-namespace/index.mjs";
|
|
9
9
|
import "@popperjs/core";
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
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;;"}
|