vft 0.0.29 → 0.0.32
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/_virtual/_plugin-vue_export-helper.mjs +0 -1
- package/es/comp-resolver.mjs +0 -1
- package/es/component.mjs +0 -1
- package/es/components/avatar/avatar.vue.mjs +0 -1
- package/es/components/avatar/avatar.vue2.mjs +0 -1
- package/es/components/avatar/index.mjs +0 -1
- package/es/components/avatar/style/css.mjs +0 -1
- package/es/components/avatar/style/index.mjs +0 -1
- package/es/components/back-top/back-top.vue.mjs +0 -1
- package/es/components/back-top/back-top.vue2.mjs +0 -1
- package/es/components/back-top/index.mjs +0 -1
- package/es/components/back-top/style/css.mjs +0 -1
- package/es/components/back-top/style/index.mjs +0 -1
- package/es/components/back-top/types.mjs +0 -1
- package/es/components/back-top/use-back-top.mjs +0 -1
- package/es/components/base/style/css.mjs +0 -1
- package/es/components/base/style/index.mjs +0 -1
- package/es/components/clamp/clamp.vue.mjs +0 -1
- package/es/components/clamp/clamp.vue2.mjs +0 -1
- package/es/components/clamp/index.mjs +0 -1
- package/es/components/clamp/style/css.mjs +0 -1
- package/es/components/clamp/style/index.mjs +0 -1
- package/es/components/clamp-toggle/clamp-toggle.vue.mjs +0 -1
- package/es/components/clamp-toggle/clamp-toggle.vue2.mjs +0 -1
- package/es/components/clamp-toggle/index.mjs +0 -1
- package/es/components/clamp-toggle/style/css.mjs +0 -1
- package/es/components/clamp-toggle/style/index.mjs +0 -1
- package/es/components/collapse-transition/index.mjs +0 -1
- package/es/components/collapse-transition/src/collapse-transition.vue.mjs +0 -1
- package/es/components/collapse-transition/src/collapse-transition.vue2.mjs +0 -1
- package/es/components/collapse-transition/style/css.mjs +0 -1
- package/es/components/collapse-transition/style/index.mjs +0 -1
- package/es/components/config-provider/config-provider.vue.mjs +0 -1
- package/es/components/config-provider/config-provider.vue2.mjs +0 -1
- package/es/components/config-provider/constants.mjs +0 -1
- package/es/components/config-provider/hooks/use-global-config.mjs +0 -1
- package/es/components/config-provider/index.mjs +0 -1
- package/es/components/config-provider/style/css.mjs +0 -1
- package/es/components/config-provider/style/index.mjs +0 -1
- package/es/components/config-provider/types.mjs +0 -1
- package/es/components/context-menu/context-menu.vue.mjs +0 -1
- package/es/components/context-menu/context-menu.vue2.mjs +0 -1
- package/es/components/context-menu/createContextMenu.mjs +0 -1
- package/es/components/context-menu/index.mjs +0 -1
- package/es/components/context-menu/style/css.mjs +0 -1
- package/es/components/context-menu/style/index.mjs +0 -1
- package/es/components/context-menu/types.mjs +0 -1
- package/es/components/context-menu/useContextMenu.mjs +0 -1
- package/es/components/descriptions/description-item.vue.mjs +0 -1
- package/es/components/descriptions/description-item.vue2.mjs +0 -1
- package/es/components/descriptions/description.vue.mjs +0 -1
- package/es/components/descriptions/description.vue2.mjs +0 -1
- package/es/components/descriptions/descriptions-cell.mjs +0 -1
- package/es/components/descriptions/descriptions-row.vue.mjs +0 -1
- package/es/components/descriptions/descriptions-row.vue2.mjs +0 -1
- package/es/components/descriptions/descriptions.type.mjs +0 -1
- package/es/components/descriptions/index.mjs +0 -1
- package/es/components/descriptions/style/css.mjs +0 -1
- package/es/components/descriptions/style/index.mjs +0 -1
- package/es/components/descriptions/token.mjs +0 -1
- package/es/components/descriptions-item/style/css.mjs +0 -1
- package/es/components/descriptions-item/style/index.mjs +0 -1
- package/es/components/divider/divider.vue.mjs +0 -1
- package/es/components/divider/divider.vue2.mjs +0 -1
- package/es/components/divider/index.mjs +0 -1
- package/es/components/divider/style/css.mjs +0 -1
- package/es/components/divider/style/index.mjs +0 -1
- package/es/components/divider/types.mjs +0 -1
- package/es/components/empty/assets/no-collect.png.mjs +0 -1
- package/es/components/empty/assets/no-data.png.mjs +0 -1
- package/es/components/empty/assets/no-filter.png.mjs +0 -1
- package/es/components/empty/assets/no-page-data.png.mjs +0 -1
- package/es/components/empty/assets/no-search.png.mjs +0 -1
- package/es/components/empty/constants.mjs +0 -1
- package/es/components/empty/empty.vue.mjs +0 -1
- package/es/components/empty/empty.vue2.mjs +0 -1
- package/es/components/empty/index.mjs +0 -1
- package/es/components/empty/style/css.mjs +0 -1
- package/es/components/empty/style/index.mjs +0 -1
- package/es/components/exception/exception.png.mjs +0 -1
- package/es/components/exception/exception.vue.mjs +0 -1
- package/es/components/exception/exception.vue2.mjs +0 -1
- package/es/components/exception/index.mjs +0 -1
- package/es/components/exception/style/css.mjs +0 -1
- package/es/components/exception/style/index.mjs +0 -1
- package/es/components/focus-trap/focus-trap.vue.mjs +0 -1
- package/es/components/focus-trap/focus-trap.vue2.mjs +0 -1
- package/es/components/focus-trap/index.mjs +0 -1
- package/es/components/focus-trap/tokens.mjs +0 -1
- package/es/components/focus-trap/utils.mjs +0 -1
- package/es/components/footer-layout/footer-layout.vue.mjs +0 -1
- package/es/components/footer-layout/footer-layout.vue2.mjs +0 -1
- package/es/components/footer-layout/index.mjs +0 -1
- package/es/components/footer-layout/style/css.mjs +0 -1
- package/es/components/footer-layout/style/index.mjs +0 -1
- package/es/components/full-screen/full-screen.vue.mjs +0 -1
- package/es/components/full-screen/full-screen.vue2.mjs +0 -1
- package/es/components/full-screen/index.mjs +0 -1
- package/es/components/full-screen/style/css.mjs +0 -1
- package/es/components/full-screen/style/index.mjs +0 -1
- package/es/components/header-layout/header-layout.vue.mjs +0 -1
- package/es/components/header-layout/header-layout.vue2.mjs +0 -1
- package/es/components/header-layout/index.mjs +0 -1
- package/es/components/header-layout/style/css.mjs +0 -1
- package/es/components/header-layout/style/index.mjs +0 -1
- package/es/components/icon/icon.vue.mjs +0 -1
- package/es/components/icon/icon.vue2.mjs +0 -1
- package/es/components/icon/index.mjs +0 -1
- package/es/components/icon/style/css.mjs +0 -1
- package/es/components/icon/style/index.mjs +0 -1
- package/es/components/icon-text/icon-text.vue.mjs +0 -1
- package/es/components/icon-text/icon-text.vue2.mjs +0 -1
- package/es/components/icon-text/index.mjs +0 -1
- package/es/components/icon-text/style/css.mjs +0 -1
- package/es/components/icon-text/style/index.mjs +0 -1
- package/es/components/iframe-layout/iframe-layout.vue.mjs +0 -1
- package/es/components/iframe-layout/iframe-layout.vue2.mjs +0 -1
- package/es/components/iframe-layout/iframe-page.vue.mjs +0 -1
- package/es/components/iframe-layout/iframe-page.vue2.mjs +0 -1
- package/es/components/iframe-layout/index.mjs +0 -1
- package/es/components/iframe-layout/style/css.mjs +0 -1
- package/es/components/iframe-layout/style/index.mjs +0 -1
- package/es/components/image/image.vue.mjs +0 -1
- package/es/components/image/image.vue2.mjs +0 -1
- package/es/components/image/index.mjs +0 -1
- package/es/components/image/style/css.mjs +0 -1
- package/es/components/image/style/index.mjs +0 -1
- package/es/components/image/types.mjs +0 -1
- package/es/components/index.mjs +0 -1
- package/es/components/input/index.mjs +0 -1
- package/es/components/input/input.vue.mjs +0 -1
- package/es/components/input/input.vue2.mjs +0 -1
- package/es/components/input/style/css.mjs +0 -1
- package/es/components/input/style/index.mjs +0 -1
- package/es/components/input/utils.mjs +0 -1
- package/es/components/link/index.mjs +0 -1
- package/es/components/link/link.vue.mjs +0 -1
- package/es/components/link/link.vue2.mjs +0 -1
- package/es/components/link/style/css.mjs +0 -1
- package/es/components/link/style/index.mjs +0 -1
- package/es/components/loading/directive.mjs +0 -1
- package/es/components/loading/index.mjs +0 -1
- package/es/components/loading/loading.mjs +0 -1
- package/es/components/loading/service.mjs +0 -1
- package/es/components/loading/style/css.mjs +0 -1
- package/es/components/loading/style/index.mjs +0 -1
- package/es/components/loading/types.mjs +0 -1
- package/es/components/logo/index.mjs +0 -1
- package/es/components/logo/logo.vue.mjs +0 -1
- package/es/components/logo/logo.vue2.mjs +0 -1
- package/es/components/logo/style/css.mjs +0 -1
- package/es/components/logo/style/index.mjs +0 -1
- package/es/components/logo/types.mjs +0 -1
- package/es/components/md-code-demo/code-demo/code.mjs +0 -1
- package/es/components/md-code-demo/code-demo/index.mjs +0 -1
- package/es/components/md-code-demo/code-demo/loadScript.mjs +0 -1
- package/es/components/md-code-demo/code-demo/typings.mjs +0 -1
- package/es/components/md-code-demo/code-demo/utils.mjs +0 -1
- package/es/components/md-code-demo/index.mjs +0 -1
- package/es/components/md-code-demo/md-code-demo.mjs +0 -1
- package/es/components/md-code-demo/style/css.mjs +0 -1
- package/es/components/md-code-demo/style/index.mjs +0 -1
- package/es/components/md-code-demo/type.mjs +0 -1
- package/es/components/md-code-demo/utils.mjs +0 -1
- package/es/components/md-code-tabs/index.mjs +0 -1
- package/es/components/md-code-tabs/md-code-tabs.mjs +0 -1
- package/es/components/md-code-tabs/style/css.mjs +0 -1
- package/es/components/md-code-tabs/style/index.mjs +0 -1
- package/es/components/md-comment/index.mjs +0 -1
- package/es/components/md-comment/md-comment.vue.mjs +0 -1
- package/es/components/md-comment/md-comment.vue2.mjs +0 -1
- package/es/components/md-comment/style/css.mjs +0 -1
- package/es/components/md-comment/style/index.mjs +0 -1
- package/es/components/md-container/index.mjs +0 -1
- package/es/components/md-container/md-container.vue.mjs +0 -1
- package/es/components/md-container/md-container.vue2.mjs +0 -1
- package/es/components/md-container/style/css.mjs +0 -1
- package/es/components/md-container/style/index.mjs +0 -1
- package/es/components/md-container/toc.mjs +0 -1
- package/es/components/md-container/use/index.mjs +0 -1
- package/es/components/md-container/use/useActiveHeaderLinks.mjs +0 -1
- package/es/components/md-container/use/useCopyCode.mjs +0 -1
- package/es/components/md-container/utils.mjs +0 -1
- package/es/components/md-tabs/index.mjs +0 -1
- package/es/components/md-tabs/md-tabs.mjs +0 -1
- package/es/components/md-tabs/style/css.mjs +0 -1
- package/es/components/md-tabs/style/index.mjs +0 -1
- package/es/components/md-vue-playground/index.mjs +0 -1
- package/es/components/md-vue-playground/md-vue-playground.vue.mjs +0 -1
- package/es/components/md-vue-playground/md-vue-playground.vue2.mjs +0 -1
- package/es/components/md-vue-playground/playground.mjs +0 -1
- package/es/components/md-vue-playground/style/css.mjs +0 -1
- package/es/components/md-vue-playground/style/index.mjs +0 -1
- package/es/components/menu/index.mjs +0 -1
- package/es/components/menu/menu-collapse-transition.vue.mjs +0 -1
- package/es/components/menu/menu-collapse-transition.vue2.mjs +0 -1
- package/es/components/menu/menu-item-group.vue.mjs +0 -1
- package/es/components/menu/menu-item-group.vue2.mjs +0 -1
- package/es/components/menu/menu-item.vue.mjs +0 -1
- package/es/components/menu/menu-item.vue2.mjs +0 -1
- package/es/components/menu/menu.vue.mjs +0 -1
- package/es/components/menu/menu.vue2.mjs +0 -1
- package/es/components/menu/style/css.mjs +0 -1
- package/es/components/menu/style/index.mjs +0 -1
- package/es/components/menu/sub-menu.vue.mjs +0 -1
- package/es/components/menu/sub-menu.vue2.mjs +0 -1
- package/es/components/menu/types.mjs +0 -1
- package/es/components/menu/use-menu-css-var.mjs +0 -1
- package/es/components/menu/use-menu.mjs +0 -1
- package/es/components/menu/utils/menu-bar.mjs +0 -1
- package/es/components/menu/utils/menu-item.mjs +0 -1
- package/es/components/menu/utils/submenu.mjs +0 -1
- package/es/components/menu-item/style/css.mjs +0 -1
- package/es/components/menu-item/style/index.mjs +0 -1
- package/es/components/menu-item-group/style/css.mjs +0 -1
- package/es/components/menu-item-group/style/index.mjs +0 -1
- package/es/components/message/index.mjs +0 -1
- package/es/components/message/instance.mjs +0 -1
- package/es/components/message/message.vue.mjs +0 -1
- package/es/components/message/message.vue2.mjs +0 -1
- package/es/components/message/method.mjs +0 -1
- package/es/components/message/style/css.mjs +0 -1
- package/es/components/message/style/index.mjs +0 -1
- package/es/components/message/types.mjs +0 -1
- package/es/components/multiple-tabs/index.mjs +0 -1
- package/es/components/multiple-tabs/multiple-tabs.vue.mjs +0 -1
- package/es/components/multiple-tabs/multiple-tabs.vue2.mjs +0 -1
- package/es/components/multiple-tabs/style/css.mjs +0 -1
- package/es/components/multiple-tabs/style/index.mjs +0 -1
- package/es/components/multiple-tabs/tab-content.vue.mjs +0 -1
- package/es/components/multiple-tabs/tab-content.vue2.mjs +0 -1
- package/es/components/multiple-tabs/types.mjs +0 -1
- package/es/components/multiple-tabs/use/index.mjs +0 -1
- package/es/components/multiple-tabs/use/use-multiple-tabs.mjs +0 -1
- package/es/components/multiple-tabs/use/use-tab-dropdown.mjs +0 -1
- package/es/components/overlay/index.mjs +0 -1
- package/es/components/overlay/overlay.vue.mjs +0 -1
- package/es/components/overlay/overlay.vue2.mjs +0 -1
- package/es/components/overlay/style/css.mjs +0 -1
- package/es/components/overlay/style/index.mjs +0 -1
- package/es/components/page-wrapper/index.mjs +0 -1
- package/es/components/page-wrapper/page-wrapper.vue.mjs +0 -1
- package/es/components/page-wrapper/page-wrapper.vue2.mjs +0 -1
- package/es/components/page-wrapper/style/css.mjs +0 -1
- package/es/components/page-wrapper/style/index.mjs +0 -1
- package/es/components/pagination/components/jumper.vue.mjs +0 -1
- package/es/components/pagination/components/jumper.vue2.mjs +0 -1
- package/es/components/pagination/components/next.vue.mjs +0 -1
- package/es/components/pagination/components/next.vue2.mjs +0 -1
- package/es/components/pagination/components/pager.vue.mjs +0 -1
- package/es/components/pagination/components/pager.vue2.mjs +0 -1
- package/es/components/pagination/components/prev.vue.mjs +0 -1
- package/es/components/pagination/components/prev.vue2.mjs +0 -1
- package/es/components/pagination/components/sizes.vue.mjs +0 -1
- package/es/components/pagination/components/sizes.vue2.mjs +0 -1
- package/es/components/pagination/components/total.vue.mjs +0 -1
- package/es/components/pagination/components/total.vue2.mjs +0 -1
- package/es/components/pagination/index.mjs +0 -1
- package/es/components/pagination/pagination.mjs +0 -1
- package/es/components/pagination/style/css.mjs +0 -1
- package/es/components/pagination/style/index.mjs +0 -1
- package/es/components/pagination/usePagination.mjs +0 -1
- package/es/components/popover/directive.mjs +0 -1
- package/es/components/popover/index.mjs +0 -1
- package/es/components/popover/popover.vue.mjs +0 -1
- package/es/components/popover/popover.vue2.mjs +0 -1
- package/es/components/popover/style/css.mjs +0 -1
- package/es/components/popover/style/index.mjs +0 -1
- package/es/components/popover/types.mjs +0 -1
- package/es/components/popper/arrow.vue.mjs +0 -1
- package/es/components/popper/arrow.vue2.mjs +0 -1
- package/es/components/popper/composables/index.mjs +0 -1
- package/es/components/popper/composables/use-content-dom.mjs +0 -1
- package/es/components/popper/composables/use-content.mjs +0 -1
- package/es/components/popper/composables/use-focus-trap.mjs +0 -1
- package/es/components/popper/constants.mjs +0 -1
- package/es/components/popper/content.vue.mjs +0 -1
- package/es/components/popper/content.vue2.mjs +0 -1
- package/es/components/popper/index.mjs +0 -1
- package/es/components/popper/popper.vue.mjs +0 -1
- package/es/components/popper/popper.vue2.mjs +0 -1
- package/es/components/popper/style/css.mjs +0 -1
- package/es/components/popper/style/index.mjs +0 -1
- package/es/components/popper/trigger.vue.mjs +0 -1
- package/es/components/popper/trigger.vue2.mjs +0 -1
- package/es/components/popper/types.mjs +0 -1
- package/es/components/popper/utils.mjs +0 -1
- package/es/components/qrcode/drawCanvas.mjs +0 -1
- package/es/components/qrcode/drawLogo.mjs +0 -1
- package/es/components/qrcode/index.mjs +0 -1
- package/es/components/qrcode/qrcode.vue.mjs +0 -1
- package/es/components/qrcode/qrcode.vue2.mjs +0 -1
- package/es/components/qrcode/qrcodePlus.mjs +0 -1
- package/es/components/qrcode/style/css.mjs +0 -1
- package/es/components/qrcode/style/index.mjs +0 -1
- package/es/components/qrcode/toCanvas.mjs +0 -1
- package/es/components/qrcode/types.mjs +0 -1
- package/es/components/result/index.mjs +0 -1
- package/es/components/result/result.vue.mjs +0 -1
- package/es/components/result/result.vue2.mjs +0 -1
- package/es/components/result/style/css.mjs +0 -1
- package/es/components/result/style/index.mjs +0 -1
- package/es/components/router-view-content/index.mjs +0 -1
- package/es/components/router-view-content/router-view-content.vue.mjs +0 -1
- package/es/components/router-view-content/router-view-content.vue2.mjs +0 -1
- package/es/components/router-view-content/style/css.mjs +0 -1
- package/es/components/router-view-content/style/index.mjs +0 -1
- package/es/components/search/index.mjs +0 -1
- package/es/components/search/search.vue.mjs +0 -1
- package/es/components/search/search.vue2.mjs +0 -1
- package/es/components/search/style/css.mjs +0 -1
- package/es/components/search/style/index.mjs +0 -1
- package/es/components/side-menu/index.mjs +0 -1
- package/es/components/side-menu/side-menu.vue.mjs +0 -1
- package/es/components/side-menu/side-menu.vue2.mjs +0 -1
- package/es/components/side-menu/style/css.mjs +0 -1
- package/es/components/side-menu/style/index.mjs +0 -1
- package/es/components/side-menu/types.mjs +0 -1
- package/es/components/slot/index.mjs +0 -1
- package/es/components/slot/only-child.mjs +0 -1
- package/es/components/sub-menu/style/css.mjs +0 -1
- package/es/components/sub-menu/style/index.mjs +0 -1
- package/es/components/tab-pane/style/css.mjs +0 -1
- package/es/components/tab-pane/style/index.mjs +0 -1
- package/es/components/tabs/index.mjs +0 -1
- package/es/components/tabs/style/css.mjs +0 -1
- package/es/components/tabs/style/index.mjs +0 -1
- package/es/components/tabs/tab-bar.vue.mjs +0 -1
- package/es/components/tabs/tab-bar.vue2.mjs +0 -1
- package/es/components/tabs/tab-nav.vue.mjs +0 -1
- package/es/components/tabs/tab-nav.vue2.mjs +0 -1
- package/es/components/tabs/tab-pane.vue.mjs +0 -1
- package/es/components/tabs/tab-pane.vue2.mjs +0 -1
- package/es/components/tabs/tabs.vue.mjs +0 -1
- package/es/components/tabs/tabs.vue2.mjs +0 -1
- package/es/components/tabs/types.mjs +0 -1
- package/es/components/tag/index.mjs +0 -1
- package/es/components/tag/style/css.mjs +0 -1
- package/es/components/tag/style/index.mjs +0 -1
- package/es/components/tag/tag.vue.mjs +0 -1
- package/es/components/tag/tag.vue2.mjs +0 -1
- package/es/components/tag/types.mjs +0 -1
- package/es/components/tooltip/constants.mjs +0 -1
- package/es/components/tooltip/content.vue.mjs +0 -1
- package/es/components/tooltip/content.vue2.mjs +0 -1
- package/es/components/tooltip/index.mjs +0 -1
- package/es/components/tooltip/style/css.mjs +0 -1
- package/es/components/tooltip/style/index.mjs +0 -1
- package/es/components/tooltip/tooltip.vue.mjs +0 -1
- package/es/components/tooltip/tooltip.vue2.mjs +0 -1
- package/es/components/tooltip/trigger.vue.mjs +0 -1
- package/es/components/tooltip/trigger.vue2.mjs +0 -1
- package/es/components/tooltip/types.mjs +0 -1
- package/es/components/tooltip/utils.mjs +0 -1
- package/es/components/types.mjs +0 -1
- package/es/constants/aria.mjs +0 -1
- package/es/constants/date.mjs +0 -1
- package/es/constants/event.mjs +0 -1
- package/es/constants/index.mjs +0 -1
- package/es/constants/key.mjs +0 -1
- package/es/constants/size.mjs +0 -1
- package/es/defaults.mjs +0 -1
- package/es/hooks/index.mjs +0 -1
- package/es/hooks/use-cursor/index.mjs +0 -1
- package/es/hooks/use-delayed-toggle/index.mjs +0 -1
- package/es/hooks/use-forward-ref/index.mjs +0 -1
- package/es/hooks/use-id/index.mjs +0 -1
- package/es/hooks/use-model-toggle/index.mjs +0 -1
- package/es/hooks/use-namespace/index.mjs +0 -1
- package/es/hooks/use-ordered-children/index.mjs +0 -1
- package/es/hooks/use-popper/index.mjs +0 -1
- package/es/hooks/use-popper-container/index.mjs +0 -1
- package/es/hooks/use-timeout/index.mjs +0 -1
- package/es/hooks/use-z-index/index.mjs +0 -1
- package/es/index.mjs +0 -1
- package/es/make-installer.mjs +0 -1
- package/es/package.json.mjs +1 -2
- package/es/plugin.mjs +0 -1
- package/es/utils/error.mjs +0 -1
- package/es/utils/event.mjs +0 -1
- package/es/utils/helper.mjs +0 -1
- package/es/utils/index.mjs +0 -1
- package/es/utils/typescript.mjs +0 -1
- package/es/utils/vue/index.mjs +0 -1
- package/es/utils/vue/install.mjs +0 -1
- package/es/utils/vue/typescript.mjs +0 -1
- package/es/utils/vue/vnode.mjs +0 -1
- package/lib/_virtual/_plugin-vue_export-helper.js +0 -1
- package/lib/comp-resolver.js +0 -1
- package/lib/component.js +0 -1
- package/lib/components/avatar/avatar.vue.js +0 -1
- package/lib/components/avatar/avatar.vue2.js +0 -1
- package/lib/components/avatar/index.js +0 -1
- package/lib/components/avatar/style/css.js +0 -1
- package/lib/components/avatar/style/index.js +0 -1
- package/lib/components/back-top/back-top.vue.js +0 -1
- package/lib/components/back-top/back-top.vue2.js +0 -1
- package/lib/components/back-top/index.js +0 -1
- package/lib/components/back-top/style/css.js +0 -1
- package/lib/components/back-top/style/index.js +0 -1
- package/lib/components/back-top/types.js +0 -1
- package/lib/components/back-top/use-back-top.js +0 -1
- package/lib/components/base/style/css.js +0 -1
- package/lib/components/base/style/index.js +0 -1
- package/lib/components/clamp/clamp.vue.js +0 -1
- package/lib/components/clamp/clamp.vue2.js +0 -1
- package/lib/components/clamp/index.js +0 -1
- package/lib/components/clamp/style/css.js +0 -1
- package/lib/components/clamp/style/index.js +0 -1
- package/lib/components/clamp-toggle/clamp-toggle.vue.js +0 -1
- package/lib/components/clamp-toggle/clamp-toggle.vue2.js +0 -1
- package/lib/components/clamp-toggle/index.js +0 -1
- package/lib/components/clamp-toggle/style/css.js +0 -1
- package/lib/components/clamp-toggle/style/index.js +0 -1
- package/lib/components/collapse-transition/index.js +0 -1
- package/lib/components/collapse-transition/src/collapse-transition.vue.js +0 -1
- package/lib/components/collapse-transition/src/collapse-transition.vue2.js +0 -1
- package/lib/components/collapse-transition/style/css.js +0 -1
- package/lib/components/collapse-transition/style/index.js +0 -1
- package/lib/components/config-provider/config-provider.vue.js +0 -1
- package/lib/components/config-provider/config-provider.vue2.js +0 -1
- package/lib/components/config-provider/constants.js +0 -1
- package/lib/components/config-provider/hooks/use-global-config.js +0 -1
- package/lib/components/config-provider/index.js +0 -1
- package/lib/components/config-provider/style/css.js +0 -1
- package/lib/components/config-provider/style/index.js +0 -1
- package/lib/components/config-provider/types.js +0 -1
- package/lib/components/context-menu/context-menu.vue.js +0 -1
- package/lib/components/context-menu/context-menu.vue2.js +0 -1
- package/lib/components/context-menu/createContextMenu.js +0 -1
- package/lib/components/context-menu/index.js +0 -1
- package/lib/components/context-menu/style/css.js +0 -1
- package/lib/components/context-menu/style/index.js +0 -1
- package/lib/components/context-menu/types.js +0 -1
- package/lib/components/context-menu/useContextMenu.js +0 -1
- package/lib/components/descriptions/description-item.vue.js +0 -1
- package/lib/components/descriptions/description-item.vue2.js +0 -1
- package/lib/components/descriptions/description.vue.js +0 -1
- package/lib/components/descriptions/description.vue2.js +0 -1
- package/lib/components/descriptions/descriptions-cell.js +0 -1
- package/lib/components/descriptions/descriptions-row.vue.js +0 -1
- package/lib/components/descriptions/descriptions-row.vue2.js +0 -1
- package/lib/components/descriptions/descriptions.type.js +0 -1
- package/lib/components/descriptions/index.js +0 -1
- package/lib/components/descriptions/style/css.js +0 -1
- package/lib/components/descriptions/style/index.js +0 -1
- package/lib/components/descriptions/token.js +0 -1
- package/lib/components/descriptions-item/style/css.js +0 -1
- package/lib/components/descriptions-item/style/index.js +0 -1
- package/lib/components/divider/divider.vue.js +0 -1
- package/lib/components/divider/divider.vue2.js +0 -1
- package/lib/components/divider/index.js +0 -1
- package/lib/components/divider/style/css.js +0 -1
- package/lib/components/divider/style/index.js +0 -1
- package/lib/components/divider/types.js +0 -1
- package/lib/components/empty/assets/no-collect.png.js +0 -1
- package/lib/components/empty/assets/no-data.png.js +0 -1
- package/lib/components/empty/assets/no-filter.png.js +0 -1
- package/lib/components/empty/assets/no-page-data.png.js +0 -1
- package/lib/components/empty/assets/no-search.png.js +0 -1
- package/lib/components/empty/constants.js +0 -1
- package/lib/components/empty/empty.vue.js +0 -1
- package/lib/components/empty/empty.vue2.js +0 -1
- package/lib/components/empty/index.js +0 -1
- package/lib/components/empty/style/css.js +0 -1
- package/lib/components/empty/style/index.js +0 -1
- package/lib/components/exception/exception.png.js +0 -1
- package/lib/components/exception/exception.vue.js +0 -1
- package/lib/components/exception/exception.vue2.js +0 -1
- package/lib/components/exception/index.js +0 -1
- package/lib/components/exception/style/css.js +0 -1
- package/lib/components/exception/style/index.js +0 -1
- package/lib/components/focus-trap/focus-trap.vue.js +0 -1
- package/lib/components/focus-trap/focus-trap.vue2.js +0 -1
- package/lib/components/focus-trap/index.js +0 -1
- package/lib/components/focus-trap/tokens.js +0 -1
- package/lib/components/focus-trap/utils.js +0 -1
- package/lib/components/footer-layout/footer-layout.vue.js +0 -1
- package/lib/components/footer-layout/footer-layout.vue2.js +0 -1
- package/lib/components/footer-layout/index.js +0 -1
- package/lib/components/footer-layout/style/css.js +0 -1
- package/lib/components/footer-layout/style/index.js +0 -1
- package/lib/components/full-screen/full-screen.vue.js +0 -1
- package/lib/components/full-screen/full-screen.vue2.js +0 -1
- package/lib/components/full-screen/index.js +0 -1
- package/lib/components/full-screen/style/css.js +0 -1
- package/lib/components/full-screen/style/index.js +0 -1
- package/lib/components/header-layout/header-layout.vue.js +0 -1
- package/lib/components/header-layout/header-layout.vue2.js +0 -1
- package/lib/components/header-layout/index.js +0 -1
- package/lib/components/header-layout/style/css.js +0 -1
- package/lib/components/header-layout/style/index.js +0 -1
- package/lib/components/icon/icon.vue.js +0 -1
- package/lib/components/icon/icon.vue2.js +0 -1
- package/lib/components/icon/index.js +0 -1
- package/lib/components/icon/style/css.js +0 -1
- package/lib/components/icon/style/index.js +0 -1
- package/lib/components/icon-text/icon-text.vue.js +0 -1
- package/lib/components/icon-text/icon-text.vue2.js +0 -1
- package/lib/components/icon-text/index.js +0 -1
- package/lib/components/icon-text/style/css.js +0 -1
- package/lib/components/icon-text/style/index.js +0 -1
- package/lib/components/iframe-layout/iframe-layout.vue.js +0 -1
- package/lib/components/iframe-layout/iframe-layout.vue2.js +0 -1
- package/lib/components/iframe-layout/iframe-page.vue.js +0 -1
- package/lib/components/iframe-layout/iframe-page.vue2.js +0 -1
- package/lib/components/iframe-layout/index.js +0 -1
- package/lib/components/iframe-layout/style/css.js +0 -1
- package/lib/components/iframe-layout/style/index.js +0 -1
- package/lib/components/image/image.vue.js +0 -1
- package/lib/components/image/image.vue2.js +0 -1
- package/lib/components/image/index.js +0 -1
- package/lib/components/image/style/css.js +0 -1
- package/lib/components/image/style/index.js +0 -1
- package/lib/components/image/types.js +0 -1
- package/lib/components/index.js +0 -1
- package/lib/components/input/index.js +0 -1
- package/lib/components/input/input.vue.js +0 -1
- package/lib/components/input/input.vue2.js +0 -1
- package/lib/components/input/style/css.js +0 -1
- package/lib/components/input/style/index.js +0 -1
- package/lib/components/input/utils.js +0 -1
- package/lib/components/link/index.js +0 -1
- package/lib/components/link/link.vue.js +0 -1
- package/lib/components/link/link.vue2.js +0 -1
- package/lib/components/link/style/css.js +0 -1
- package/lib/components/link/style/index.js +0 -1
- package/lib/components/loading/directive.js +0 -1
- package/lib/components/loading/index.js +0 -1
- package/lib/components/loading/loading.js +0 -1
- package/lib/components/loading/service.js +0 -1
- package/lib/components/loading/style/css.js +0 -1
- package/lib/components/loading/style/index.js +0 -1
- package/lib/components/loading/types.js +0 -1
- package/lib/components/logo/index.js +0 -1
- package/lib/components/logo/logo.vue.js +0 -1
- package/lib/components/logo/logo.vue2.js +0 -1
- package/lib/components/logo/style/css.js +0 -1
- package/lib/components/logo/style/index.js +0 -1
- package/lib/components/logo/types.js +0 -1
- package/lib/components/md-code-demo/code-demo/code.js +0 -1
- package/lib/components/md-code-demo/code-demo/index.js +0 -1
- package/lib/components/md-code-demo/code-demo/loadScript.js +0 -1
- package/lib/components/md-code-demo/code-demo/typings.js +0 -1
- package/lib/components/md-code-demo/code-demo/utils.js +0 -1
- package/lib/components/md-code-demo/index.js +0 -1
- package/lib/components/md-code-demo/md-code-demo.js +0 -1
- package/lib/components/md-code-demo/style/css.js +0 -1
- package/lib/components/md-code-demo/style/index.js +0 -1
- package/lib/components/md-code-demo/type.js +0 -1
- package/lib/components/md-code-demo/utils.js +0 -1
- package/lib/components/md-code-tabs/index.js +0 -1
- package/lib/components/md-code-tabs/md-code-tabs.js +0 -1
- package/lib/components/md-code-tabs/style/css.js +0 -1
- package/lib/components/md-code-tabs/style/index.js +0 -1
- package/lib/components/md-comment/index.js +0 -1
- package/lib/components/md-comment/md-comment.vue.js +0 -1
- package/lib/components/md-comment/md-comment.vue2.js +0 -1
- package/lib/components/md-comment/style/css.js +0 -1
- package/lib/components/md-comment/style/index.js +0 -1
- package/lib/components/md-container/index.js +0 -1
- package/lib/components/md-container/md-container.vue.js +0 -1
- package/lib/components/md-container/md-container.vue2.js +0 -1
- package/lib/components/md-container/style/css.js +0 -1
- package/lib/components/md-container/style/index.js +0 -1
- package/lib/components/md-container/toc.js +0 -1
- package/lib/components/md-container/use/index.js +0 -1
- package/lib/components/md-container/use/useActiveHeaderLinks.js +0 -1
- package/lib/components/md-container/use/useCopyCode.js +0 -1
- package/lib/components/md-container/utils.js +0 -1
- package/lib/components/md-tabs/index.js +0 -1
- package/lib/components/md-tabs/md-tabs.js +0 -1
- package/lib/components/md-tabs/style/css.js +0 -1
- package/lib/components/md-tabs/style/index.js +0 -1
- package/lib/components/md-vue-playground/index.js +0 -1
- package/lib/components/md-vue-playground/md-vue-playground.vue.js +0 -1
- package/lib/components/md-vue-playground/md-vue-playground.vue2.js +0 -1
- package/lib/components/md-vue-playground/playground.js +0 -1
- package/lib/components/md-vue-playground/style/css.js +0 -1
- package/lib/components/md-vue-playground/style/index.js +0 -1
- package/lib/components/menu/index.js +0 -1
- package/lib/components/menu/menu-collapse-transition.vue.js +0 -1
- package/lib/components/menu/menu-collapse-transition.vue2.js +0 -1
- package/lib/components/menu/menu-item-group.vue.js +0 -1
- package/lib/components/menu/menu-item-group.vue2.js +0 -1
- package/lib/components/menu/menu-item.vue.js +0 -1
- package/lib/components/menu/menu-item.vue2.js +0 -1
- package/lib/components/menu/menu.vue.js +0 -1
- package/lib/components/menu/menu.vue2.js +0 -1
- package/lib/components/menu/style/css.js +0 -1
- package/lib/components/menu/style/index.js +0 -1
- package/lib/components/menu/sub-menu.vue.js +0 -1
- package/lib/components/menu/sub-menu.vue2.js +0 -1
- package/lib/components/menu/types.js +0 -1
- package/lib/components/menu/use-menu-css-var.js +0 -1
- package/lib/components/menu/use-menu.js +0 -1
- package/lib/components/menu/utils/menu-bar.js +0 -1
- package/lib/components/menu/utils/menu-item.js +0 -1
- package/lib/components/menu/utils/submenu.js +0 -1
- package/lib/components/menu-item/style/css.js +0 -1
- package/lib/components/menu-item/style/index.js +0 -1
- package/lib/components/menu-item-group/style/css.js +0 -1
- package/lib/components/menu-item-group/style/index.js +0 -1
- package/lib/components/message/index.js +0 -1
- package/lib/components/message/instance.js +0 -1
- package/lib/components/message/message.vue.js +0 -1
- package/lib/components/message/message.vue2.js +0 -1
- package/lib/components/message/method.js +0 -1
- package/lib/components/message/style/css.js +0 -1
- package/lib/components/message/style/index.js +0 -1
- package/lib/components/message/types.js +0 -1
- package/lib/components/multiple-tabs/index.js +0 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue.js +0 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.js +0 -1
- package/lib/components/multiple-tabs/style/css.js +0 -1
- package/lib/components/multiple-tabs/style/index.js +0 -1
- package/lib/components/multiple-tabs/tab-content.vue.js +0 -1
- package/lib/components/multiple-tabs/tab-content.vue2.js +0 -1
- package/lib/components/multiple-tabs/types.js +0 -1
- package/lib/components/multiple-tabs/use/index.js +0 -1
- package/lib/components/multiple-tabs/use/use-multiple-tabs.js +0 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.js +0 -1
- package/lib/components/overlay/index.js +0 -1
- package/lib/components/overlay/overlay.vue.js +0 -1
- package/lib/components/overlay/overlay.vue2.js +0 -1
- package/lib/components/overlay/style/css.js +0 -1
- package/lib/components/overlay/style/index.js +0 -1
- package/lib/components/page-wrapper/index.js +0 -1
- package/lib/components/page-wrapper/page-wrapper.vue.js +0 -1
- package/lib/components/page-wrapper/page-wrapper.vue2.js +0 -1
- package/lib/components/page-wrapper/style/css.js +0 -1
- package/lib/components/page-wrapper/style/index.js +0 -1
- package/lib/components/pagination/components/jumper.vue.js +0 -1
- package/lib/components/pagination/components/jumper.vue2.js +0 -1
- package/lib/components/pagination/components/next.vue.js +0 -1
- package/lib/components/pagination/components/next.vue2.js +0 -1
- package/lib/components/pagination/components/pager.vue.js +0 -1
- package/lib/components/pagination/components/pager.vue2.js +0 -1
- package/lib/components/pagination/components/prev.vue.js +0 -1
- package/lib/components/pagination/components/prev.vue2.js +0 -1
- package/lib/components/pagination/components/sizes.vue.js +0 -1
- package/lib/components/pagination/components/sizes.vue2.js +0 -1
- package/lib/components/pagination/components/total.vue.js +0 -1
- package/lib/components/pagination/components/total.vue2.js +0 -1
- package/lib/components/pagination/index.js +0 -1
- package/lib/components/pagination/pagination.js +0 -1
- package/lib/components/pagination/style/css.js +0 -1
- package/lib/components/pagination/style/index.js +0 -1
- package/lib/components/pagination/usePagination.js +0 -1
- package/lib/components/popover/directive.js +0 -1
- package/lib/components/popover/index.js +0 -1
- package/lib/components/popover/popover.vue.js +0 -1
- package/lib/components/popover/popover.vue2.js +0 -1
- package/lib/components/popover/style/css.js +0 -1
- package/lib/components/popover/style/index.js +0 -1
- package/lib/components/popover/types.js +0 -1
- package/lib/components/popper/arrow.vue.js +0 -1
- package/lib/components/popper/arrow.vue2.js +0 -1
- package/lib/components/popper/composables/index.js +0 -1
- package/lib/components/popper/composables/use-content-dom.js +0 -1
- package/lib/components/popper/composables/use-content.js +0 -1
- package/lib/components/popper/composables/use-focus-trap.js +0 -1
- package/lib/components/popper/constants.js +0 -1
- package/lib/components/popper/content.vue.js +0 -1
- package/lib/components/popper/content.vue2.js +0 -1
- package/lib/components/popper/index.js +0 -1
- package/lib/components/popper/popper.vue.js +0 -1
- package/lib/components/popper/popper.vue2.js +0 -1
- package/lib/components/popper/style/css.js +0 -1
- package/lib/components/popper/style/index.js +0 -1
- package/lib/components/popper/trigger.vue.js +0 -1
- package/lib/components/popper/trigger.vue2.js +0 -1
- package/lib/components/popper/types.js +0 -1
- package/lib/components/popper/utils.js +0 -1
- package/lib/components/qrcode/drawCanvas.js +0 -1
- package/lib/components/qrcode/drawLogo.js +0 -1
- package/lib/components/qrcode/index.js +0 -1
- package/lib/components/qrcode/qrcode.vue.js +0 -1
- package/lib/components/qrcode/qrcode.vue2.js +0 -1
- package/lib/components/qrcode/qrcodePlus.js +0 -1
- package/lib/components/qrcode/style/css.js +0 -1
- package/lib/components/qrcode/style/index.js +0 -1
- package/lib/components/qrcode/toCanvas.js +0 -1
- package/lib/components/qrcode/types.js +0 -1
- package/lib/components/result/index.js +0 -1
- package/lib/components/result/result.vue.js +0 -1
- package/lib/components/result/result.vue2.js +0 -1
- package/lib/components/result/style/css.js +0 -1
- package/lib/components/result/style/index.js +0 -1
- package/lib/components/router-view-content/index.js +0 -1
- package/lib/components/router-view-content/router-view-content.vue.js +0 -1
- package/lib/components/router-view-content/router-view-content.vue2.js +0 -1
- package/lib/components/router-view-content/style/css.js +0 -1
- package/lib/components/router-view-content/style/index.js +0 -1
- package/lib/components/search/index.js +0 -1
- package/lib/components/search/search.vue.js +0 -1
- package/lib/components/search/search.vue2.js +0 -1
- package/lib/components/search/style/css.js +0 -1
- package/lib/components/search/style/index.js +0 -1
- package/lib/components/side-menu/index.js +0 -1
- package/lib/components/side-menu/side-menu.vue.js +0 -1
- package/lib/components/side-menu/side-menu.vue2.js +0 -1
- package/lib/components/side-menu/style/css.js +0 -1
- package/lib/components/side-menu/style/index.js +0 -1
- package/lib/components/side-menu/types.js +0 -1
- package/lib/components/slot/index.js +0 -1
- package/lib/components/slot/only-child.js +0 -1
- package/lib/components/sub-menu/style/css.js +0 -1
- package/lib/components/sub-menu/style/index.js +0 -1
- package/lib/components/tab-pane/style/css.js +0 -1
- package/lib/components/tab-pane/style/index.js +0 -1
- package/lib/components/tabs/index.js +0 -1
- package/lib/components/tabs/style/css.js +0 -1
- package/lib/components/tabs/style/index.js +0 -1
- package/lib/components/tabs/tab-bar.vue.js +0 -1
- package/lib/components/tabs/tab-bar.vue2.js +0 -1
- package/lib/components/tabs/tab-nav.vue.js +0 -1
- package/lib/components/tabs/tab-nav.vue2.js +0 -1
- package/lib/components/tabs/tab-pane.vue.js +0 -1
- package/lib/components/tabs/tab-pane.vue2.js +0 -1
- package/lib/components/tabs/tabs.vue.js +0 -1
- package/lib/components/tabs/tabs.vue2.js +0 -1
- package/lib/components/tabs/types.js +0 -1
- package/lib/components/tag/index.js +0 -1
- package/lib/components/tag/style/css.js +0 -1
- package/lib/components/tag/style/index.js +0 -1
- package/lib/components/tag/tag.vue.js +0 -1
- package/lib/components/tag/tag.vue2.js +0 -1
- package/lib/components/tag/types.js +0 -1
- package/lib/components/tooltip/constants.js +0 -1
- package/lib/components/tooltip/content.vue.js +0 -1
- package/lib/components/tooltip/content.vue2.js +0 -1
- package/lib/components/tooltip/index.js +0 -1
- package/lib/components/tooltip/style/css.js +0 -1
- package/lib/components/tooltip/style/index.js +0 -1
- package/lib/components/tooltip/tooltip.vue.js +0 -1
- package/lib/components/tooltip/tooltip.vue2.js +0 -1
- package/lib/components/tooltip/trigger.vue.js +0 -1
- package/lib/components/tooltip/trigger.vue2.js +0 -1
- package/lib/components/tooltip/types.js +0 -1
- package/lib/components/tooltip/utils.js +0 -1
- package/lib/components/types.js +0 -1
- package/lib/constants/aria.js +0 -1
- package/lib/constants/date.js +0 -1
- package/lib/constants/event.js +0 -1
- package/lib/constants/index.js +0 -1
- package/lib/constants/key.js +0 -1
- package/lib/constants/size.js +0 -1
- package/lib/defaults.js +0 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/use-cursor/index.js +0 -1
- package/lib/hooks/use-delayed-toggle/index.js +0 -1
- package/lib/hooks/use-forward-ref/index.js +0 -1
- package/lib/hooks/use-id/index.js +0 -1
- package/lib/hooks/use-model-toggle/index.js +0 -1
- package/lib/hooks/use-namespace/index.js +0 -1
- package/lib/hooks/use-ordered-children/index.js +0 -1
- package/lib/hooks/use-popper/index.js +0 -1
- package/lib/hooks/use-popper-container/index.js +0 -1
- package/lib/hooks/use-timeout/index.js +0 -1
- package/lib/hooks/use-z-index/index.js +0 -1
- package/lib/index.js +0 -1
- package/lib/make-installer.js +0 -1
- package/lib/package.json.js +1 -2
- package/lib/plugin.js +0 -1
- package/lib/utils/error.js +0 -1
- package/lib/utils/event.js +0 -1
- package/lib/utils/helper.js +0 -1
- package/lib/utils/index.js +0 -1
- package/lib/utils/typescript.js +0 -1
- package/lib/utils/vue/index.js +0 -1
- package/lib/utils/vue/install.js +0 -1
- package/lib/utils/vue/typescript.js +0 -1
- package/lib/utils/vue/vnode.js +0 -1
- package/package.json +1 -1
- package/theme-style/src/message.scss +2 -6
- package/es/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
- package/es/comp-resolver.mjs.map +0 -1
- package/es/component.mjs.map +0 -1
- package/es/components/avatar/avatar.vue.mjs.map +0 -1
- package/es/components/avatar/avatar.vue2.mjs.map +0 -1
- package/es/components/avatar/index.mjs.map +0 -1
- package/es/components/avatar/style/css.mjs.map +0 -1
- package/es/components/avatar/style/index.mjs.map +0 -1
- package/es/components/back-top/back-top.vue.mjs.map +0 -1
- package/es/components/back-top/back-top.vue2.mjs.map +0 -1
- package/es/components/back-top/index.mjs.map +0 -1
- package/es/components/back-top/style/css.mjs.map +0 -1
- package/es/components/back-top/style/index.mjs.map +0 -1
- package/es/components/back-top/types.mjs.map +0 -1
- package/es/components/back-top/use-back-top.mjs.map +0 -1
- package/es/components/base/style/css.mjs.map +0 -1
- package/es/components/base/style/index.mjs.map +0 -1
- package/es/components/clamp/clamp.vue.mjs.map +0 -1
- package/es/components/clamp/clamp.vue2.mjs.map +0 -1
- package/es/components/clamp/index.mjs.map +0 -1
- package/es/components/clamp/style/css.mjs.map +0 -1
- package/es/components/clamp/style/index.mjs.map +0 -1
- package/es/components/clamp-toggle/clamp-toggle.vue.mjs.map +0 -1
- package/es/components/clamp-toggle/clamp-toggle.vue2.mjs.map +0 -1
- package/es/components/clamp-toggle/index.mjs.map +0 -1
- package/es/components/clamp-toggle/style/css.mjs.map +0 -1
- package/es/components/clamp-toggle/style/index.mjs.map +0 -1
- package/es/components/collapse-transition/index.mjs.map +0 -1
- package/es/components/collapse-transition/src/collapse-transition.vue.mjs.map +0 -1
- package/es/components/collapse-transition/src/collapse-transition.vue2.mjs.map +0 -1
- package/es/components/collapse-transition/style/css.mjs.map +0 -1
- package/es/components/collapse-transition/style/index.mjs.map +0 -1
- package/es/components/config-provider/config-provider.vue.mjs.map +0 -1
- package/es/components/config-provider/config-provider.vue2.mjs.map +0 -1
- package/es/components/config-provider/constants.mjs.map +0 -1
- package/es/components/config-provider/hooks/use-global-config.mjs.map +0 -1
- package/es/components/config-provider/index.mjs.map +0 -1
- package/es/components/config-provider/style/css.mjs.map +0 -1
- package/es/components/config-provider/style/index.mjs.map +0 -1
- package/es/components/config-provider/types.mjs.map +0 -1
- package/es/components/context-menu/context-menu.vue.mjs.map +0 -1
- package/es/components/context-menu/context-menu.vue2.mjs.map +0 -1
- package/es/components/context-menu/createContextMenu.mjs.map +0 -1
- package/es/components/context-menu/index.mjs.map +0 -1
- package/es/components/context-menu/style/css.mjs.map +0 -1
- package/es/components/context-menu/style/index.mjs.map +0 -1
- package/es/components/context-menu/types.mjs.map +0 -1
- package/es/components/context-menu/useContextMenu.mjs.map +0 -1
- package/es/components/descriptions/description-item.vue.mjs.map +0 -1
- package/es/components/descriptions/description-item.vue2.mjs.map +0 -1
- package/es/components/descriptions/description.vue.mjs.map +0 -1
- package/es/components/descriptions/description.vue2.mjs.map +0 -1
- package/es/components/descriptions/descriptions-cell.mjs.map +0 -1
- package/es/components/descriptions/descriptions-row.vue.mjs.map +0 -1
- package/es/components/descriptions/descriptions-row.vue2.mjs.map +0 -1
- package/es/components/descriptions/descriptions.type.mjs.map +0 -1
- package/es/components/descriptions/index.mjs.map +0 -1
- package/es/components/descriptions/style/css.mjs.map +0 -1
- package/es/components/descriptions/style/index.mjs.map +0 -1
- package/es/components/descriptions/token.mjs.map +0 -1
- package/es/components/descriptions-item/style/css.mjs.map +0 -1
- package/es/components/descriptions-item/style/index.mjs.map +0 -1
- package/es/components/divider/divider.vue.mjs.map +0 -1
- package/es/components/divider/divider.vue2.mjs.map +0 -1
- package/es/components/divider/index.mjs.map +0 -1
- package/es/components/divider/style/css.mjs.map +0 -1
- package/es/components/divider/style/index.mjs.map +0 -1
- package/es/components/divider/types.mjs.map +0 -1
- package/es/components/empty/assets/no-collect.png.mjs.map +0 -1
- package/es/components/empty/assets/no-data.png.mjs.map +0 -1
- package/es/components/empty/assets/no-filter.png.mjs.map +0 -1
- package/es/components/empty/assets/no-page-data.png.mjs.map +0 -1
- package/es/components/empty/assets/no-search.png.mjs.map +0 -1
- package/es/components/empty/constants.mjs.map +0 -1
- package/es/components/empty/empty.vue.mjs.map +0 -1
- package/es/components/empty/empty.vue2.mjs.map +0 -1
- package/es/components/empty/index.mjs.map +0 -1
- package/es/components/empty/style/css.mjs.map +0 -1
- package/es/components/empty/style/index.mjs.map +0 -1
- package/es/components/exception/exception.png.mjs.map +0 -1
- package/es/components/exception/exception.vue.mjs.map +0 -1
- package/es/components/exception/exception.vue2.mjs.map +0 -1
- package/es/components/exception/index.mjs.map +0 -1
- package/es/components/exception/style/css.mjs.map +0 -1
- package/es/components/exception/style/index.mjs.map +0 -1
- package/es/components/focus-trap/focus-trap.vue.mjs.map +0 -1
- package/es/components/focus-trap/focus-trap.vue2.mjs.map +0 -1
- package/es/components/focus-trap/index.mjs.map +0 -1
- package/es/components/focus-trap/tokens.mjs.map +0 -1
- package/es/components/focus-trap/utils.mjs.map +0 -1
- package/es/components/footer-layout/footer-layout.vue.mjs.map +0 -1
- package/es/components/footer-layout/footer-layout.vue2.mjs.map +0 -1
- package/es/components/footer-layout/index.mjs.map +0 -1
- package/es/components/footer-layout/style/css.mjs.map +0 -1
- package/es/components/footer-layout/style/index.mjs.map +0 -1
- package/es/components/full-screen/full-screen.vue.mjs.map +0 -1
- package/es/components/full-screen/full-screen.vue2.mjs.map +0 -1
- package/es/components/full-screen/index.mjs.map +0 -1
- package/es/components/full-screen/style/css.mjs.map +0 -1
- package/es/components/full-screen/style/index.mjs.map +0 -1
- package/es/components/header-layout/header-layout.vue.mjs.map +0 -1
- package/es/components/header-layout/header-layout.vue2.mjs.map +0 -1
- package/es/components/header-layout/index.mjs.map +0 -1
- package/es/components/header-layout/style/css.mjs.map +0 -1
- package/es/components/header-layout/style/index.mjs.map +0 -1
- package/es/components/icon/icon.vue.mjs.map +0 -1
- package/es/components/icon/icon.vue2.mjs.map +0 -1
- package/es/components/icon/index.mjs.map +0 -1
- package/es/components/icon/style/css.mjs.map +0 -1
- package/es/components/icon/style/index.mjs.map +0 -1
- package/es/components/icon-text/icon-text.vue.mjs.map +0 -1
- package/es/components/icon-text/icon-text.vue2.mjs.map +0 -1
- package/es/components/icon-text/index.mjs.map +0 -1
- package/es/components/icon-text/style/css.mjs.map +0 -1
- package/es/components/icon-text/style/index.mjs.map +0 -1
- package/es/components/iframe-layout/iframe-layout.vue.mjs.map +0 -1
- package/es/components/iframe-layout/iframe-layout.vue2.mjs.map +0 -1
- package/es/components/iframe-layout/iframe-page.vue.mjs.map +0 -1
- package/es/components/iframe-layout/iframe-page.vue2.mjs.map +0 -1
- package/es/components/iframe-layout/index.mjs.map +0 -1
- package/es/components/iframe-layout/style/css.mjs.map +0 -1
- package/es/components/iframe-layout/style/index.mjs.map +0 -1
- package/es/components/image/image.vue.mjs.map +0 -1
- package/es/components/image/image.vue2.mjs.map +0 -1
- package/es/components/image/index.mjs.map +0 -1
- package/es/components/image/style/css.mjs.map +0 -1
- package/es/components/image/style/index.mjs.map +0 -1
- package/es/components/image/types.mjs.map +0 -1
- package/es/components/index.mjs.map +0 -1
- package/es/components/input/index.mjs.map +0 -1
- package/es/components/input/input.vue.mjs.map +0 -1
- package/es/components/input/input.vue2.mjs.map +0 -1
- package/es/components/input/style/css.mjs.map +0 -1
- package/es/components/input/style/index.mjs.map +0 -1
- package/es/components/input/utils.mjs.map +0 -1
- package/es/components/link/index.mjs.map +0 -1
- package/es/components/link/link.vue.mjs.map +0 -1
- package/es/components/link/link.vue2.mjs.map +0 -1
- package/es/components/link/style/css.mjs.map +0 -1
- package/es/components/link/style/index.mjs.map +0 -1
- package/es/components/loading/directive.mjs.map +0 -1
- package/es/components/loading/index.mjs.map +0 -1
- package/es/components/loading/loading.mjs.map +0 -1
- package/es/components/loading/service.mjs.map +0 -1
- package/es/components/loading/style/css.mjs.map +0 -1
- package/es/components/loading/style/index.mjs.map +0 -1
- package/es/components/loading/types.mjs.map +0 -1
- package/es/components/logo/index.mjs.map +0 -1
- package/es/components/logo/logo.vue.mjs.map +0 -1
- package/es/components/logo/logo.vue2.mjs.map +0 -1
- package/es/components/logo/style/css.mjs.map +0 -1
- package/es/components/logo/style/index.mjs.map +0 -1
- package/es/components/logo/types.mjs.map +0 -1
- package/es/components/md-code-demo/code-demo/code.mjs.map +0 -1
- package/es/components/md-code-demo/code-demo/index.mjs.map +0 -1
- package/es/components/md-code-demo/code-demo/loadScript.mjs.map +0 -1
- package/es/components/md-code-demo/code-demo/typings.mjs.map +0 -1
- package/es/components/md-code-demo/code-demo/utils.mjs.map +0 -1
- package/es/components/md-code-demo/index.mjs.map +0 -1
- package/es/components/md-code-demo/md-code-demo.mjs.map +0 -1
- package/es/components/md-code-demo/style/css.mjs.map +0 -1
- package/es/components/md-code-demo/style/index.mjs.map +0 -1
- package/es/components/md-code-demo/type.mjs.map +0 -1
- package/es/components/md-code-demo/utils.mjs.map +0 -1
- package/es/components/md-code-tabs/index.mjs.map +0 -1
- package/es/components/md-code-tabs/md-code-tabs.mjs.map +0 -1
- package/es/components/md-code-tabs/style/css.mjs.map +0 -1
- package/es/components/md-code-tabs/style/index.mjs.map +0 -1
- package/es/components/md-comment/index.mjs.map +0 -1
- package/es/components/md-comment/md-comment.vue.mjs.map +0 -1
- package/es/components/md-comment/md-comment.vue2.mjs.map +0 -1
- package/es/components/md-comment/style/css.mjs.map +0 -1
- package/es/components/md-comment/style/index.mjs.map +0 -1
- package/es/components/md-container/index.mjs.map +0 -1
- package/es/components/md-container/md-container.vue.mjs.map +0 -1
- package/es/components/md-container/md-container.vue2.mjs.map +0 -1
- package/es/components/md-container/style/css.mjs.map +0 -1
- package/es/components/md-container/style/index.mjs.map +0 -1
- package/es/components/md-container/toc.mjs.map +0 -1
- package/es/components/md-container/use/index.mjs.map +0 -1
- package/es/components/md-container/use/useActiveHeaderLinks.mjs.map +0 -1
- package/es/components/md-container/use/useCopyCode.mjs.map +0 -1
- package/es/components/md-container/utils.mjs.map +0 -1
- package/es/components/md-tabs/index.mjs.map +0 -1
- package/es/components/md-tabs/md-tabs.mjs.map +0 -1
- package/es/components/md-tabs/style/css.mjs.map +0 -1
- package/es/components/md-tabs/style/index.mjs.map +0 -1
- package/es/components/md-vue-playground/index.mjs.map +0 -1
- package/es/components/md-vue-playground/md-vue-playground.vue.mjs.map +0 -1
- package/es/components/md-vue-playground/md-vue-playground.vue2.mjs.map +0 -1
- package/es/components/md-vue-playground/playground.mjs.map +0 -1
- package/es/components/md-vue-playground/style/css.mjs.map +0 -1
- package/es/components/md-vue-playground/style/index.mjs.map +0 -1
- package/es/components/menu/index.mjs.map +0 -1
- package/es/components/menu/menu-collapse-transition.vue.mjs.map +0 -1
- package/es/components/menu/menu-collapse-transition.vue2.mjs.map +0 -1
- package/es/components/menu/menu-item-group.vue.mjs.map +0 -1
- package/es/components/menu/menu-item-group.vue2.mjs.map +0 -1
- package/es/components/menu/menu-item.vue.mjs.map +0 -1
- package/es/components/menu/menu-item.vue2.mjs.map +0 -1
- package/es/components/menu/menu.vue.mjs.map +0 -1
- package/es/components/menu/menu.vue2.mjs.map +0 -1
- package/es/components/menu/style/css.mjs.map +0 -1
- package/es/components/menu/style/index.mjs.map +0 -1
- package/es/components/menu/sub-menu.vue.mjs.map +0 -1
- package/es/components/menu/sub-menu.vue2.mjs.map +0 -1
- package/es/components/menu/types.mjs.map +0 -1
- package/es/components/menu/use-menu-css-var.mjs.map +0 -1
- package/es/components/menu/use-menu.mjs.map +0 -1
- package/es/components/menu/utils/menu-bar.mjs.map +0 -1
- package/es/components/menu/utils/menu-item.mjs.map +0 -1
- package/es/components/menu/utils/submenu.mjs.map +0 -1
- package/es/components/menu-item/style/css.mjs.map +0 -1
- package/es/components/menu-item/style/index.mjs.map +0 -1
- package/es/components/menu-item-group/style/css.mjs.map +0 -1
- package/es/components/menu-item-group/style/index.mjs.map +0 -1
- package/es/components/message/index.mjs.map +0 -1
- package/es/components/message/instance.mjs.map +0 -1
- package/es/components/message/message.vue.mjs.map +0 -1
- package/es/components/message/message.vue2.mjs.map +0 -1
- package/es/components/message/method.mjs.map +0 -1
- package/es/components/message/style/css.mjs.map +0 -1
- package/es/components/message/style/index.mjs.map +0 -1
- package/es/components/message/types.mjs.map +0 -1
- package/es/components/multiple-tabs/index.mjs.map +0 -1
- package/es/components/multiple-tabs/multiple-tabs.vue.mjs.map +0 -1
- package/es/components/multiple-tabs/multiple-tabs.vue2.mjs.map +0 -1
- package/es/components/multiple-tabs/style/css.mjs.map +0 -1
- package/es/components/multiple-tabs/style/index.mjs.map +0 -1
- package/es/components/multiple-tabs/tab-content.vue.mjs.map +0 -1
- package/es/components/multiple-tabs/tab-content.vue2.mjs.map +0 -1
- package/es/components/multiple-tabs/types.mjs.map +0 -1
- package/es/components/multiple-tabs/use/index.mjs.map +0 -1
- package/es/components/multiple-tabs/use/use-multiple-tabs.mjs.map +0 -1
- package/es/components/multiple-tabs/use/use-tab-dropdown.mjs.map +0 -1
- package/es/components/overlay/index.mjs.map +0 -1
- package/es/components/overlay/overlay.vue.mjs.map +0 -1
- package/es/components/overlay/overlay.vue2.mjs.map +0 -1
- package/es/components/overlay/style/css.mjs.map +0 -1
- package/es/components/overlay/style/index.mjs.map +0 -1
- package/es/components/page-wrapper/index.mjs.map +0 -1
- package/es/components/page-wrapper/page-wrapper.vue.mjs.map +0 -1
- package/es/components/page-wrapper/page-wrapper.vue2.mjs.map +0 -1
- package/es/components/page-wrapper/style/css.mjs.map +0 -1
- package/es/components/page-wrapper/style/index.mjs.map +0 -1
- package/es/components/pagination/components/jumper.vue.mjs.map +0 -1
- package/es/components/pagination/components/jumper.vue2.mjs.map +0 -1
- package/es/components/pagination/components/next.vue.mjs.map +0 -1
- package/es/components/pagination/components/next.vue2.mjs.map +0 -1
- package/es/components/pagination/components/pager.vue.mjs.map +0 -1
- package/es/components/pagination/components/pager.vue2.mjs.map +0 -1
- package/es/components/pagination/components/prev.vue.mjs.map +0 -1
- package/es/components/pagination/components/prev.vue2.mjs.map +0 -1
- package/es/components/pagination/components/sizes.vue.mjs.map +0 -1
- package/es/components/pagination/components/sizes.vue2.mjs.map +0 -1
- package/es/components/pagination/components/total.vue.mjs.map +0 -1
- package/es/components/pagination/components/total.vue2.mjs.map +0 -1
- package/es/components/pagination/index.mjs.map +0 -1
- package/es/components/pagination/pagination.mjs.map +0 -1
- package/es/components/pagination/style/css.mjs.map +0 -1
- package/es/components/pagination/style/index.mjs.map +0 -1
- package/es/components/pagination/usePagination.mjs.map +0 -1
- package/es/components/popover/directive.mjs.map +0 -1
- package/es/components/popover/index.mjs.map +0 -1
- package/es/components/popover/popover.vue.mjs.map +0 -1
- package/es/components/popover/popover.vue2.mjs.map +0 -1
- package/es/components/popover/style/css.mjs.map +0 -1
- package/es/components/popover/style/index.mjs.map +0 -1
- package/es/components/popover/types.mjs.map +0 -1
- package/es/components/popper/arrow.vue.mjs.map +0 -1
- package/es/components/popper/arrow.vue2.mjs.map +0 -1
- package/es/components/popper/composables/index.mjs.map +0 -1
- package/es/components/popper/composables/use-content-dom.mjs.map +0 -1
- package/es/components/popper/composables/use-content.mjs.map +0 -1
- package/es/components/popper/composables/use-focus-trap.mjs.map +0 -1
- package/es/components/popper/constants.mjs.map +0 -1
- package/es/components/popper/content.vue.mjs.map +0 -1
- package/es/components/popper/content.vue2.mjs.map +0 -1
- package/es/components/popper/index.mjs.map +0 -1
- package/es/components/popper/popper.vue.mjs.map +0 -1
- package/es/components/popper/popper.vue2.mjs.map +0 -1
- package/es/components/popper/style/css.mjs.map +0 -1
- package/es/components/popper/style/index.mjs.map +0 -1
- package/es/components/popper/trigger.vue.mjs.map +0 -1
- package/es/components/popper/trigger.vue2.mjs.map +0 -1
- package/es/components/popper/types.mjs.map +0 -1
- package/es/components/popper/utils.mjs.map +0 -1
- package/es/components/qrcode/drawCanvas.mjs.map +0 -1
- package/es/components/qrcode/drawLogo.mjs.map +0 -1
- package/es/components/qrcode/index.mjs.map +0 -1
- package/es/components/qrcode/qrcode.vue.mjs.map +0 -1
- package/es/components/qrcode/qrcode.vue2.mjs.map +0 -1
- package/es/components/qrcode/qrcodePlus.mjs.map +0 -1
- package/es/components/qrcode/style/css.mjs.map +0 -1
- package/es/components/qrcode/style/index.mjs.map +0 -1
- package/es/components/qrcode/toCanvas.mjs.map +0 -1
- package/es/components/qrcode/types.mjs.map +0 -1
- package/es/components/result/index.mjs.map +0 -1
- package/es/components/result/result.vue.mjs.map +0 -1
- package/es/components/result/result.vue2.mjs.map +0 -1
- package/es/components/result/style/css.mjs.map +0 -1
- package/es/components/result/style/index.mjs.map +0 -1
- package/es/components/router-view-content/index.mjs.map +0 -1
- package/es/components/router-view-content/router-view-content.vue.mjs.map +0 -1
- package/es/components/router-view-content/router-view-content.vue2.mjs.map +0 -1
- package/es/components/router-view-content/style/css.mjs.map +0 -1
- package/es/components/router-view-content/style/index.mjs.map +0 -1
- package/es/components/search/index.mjs.map +0 -1
- package/es/components/search/search.vue.mjs.map +0 -1
- package/es/components/search/search.vue2.mjs.map +0 -1
- package/es/components/search/style/css.mjs.map +0 -1
- package/es/components/search/style/index.mjs.map +0 -1
- package/es/components/side-menu/index.mjs.map +0 -1
- package/es/components/side-menu/side-menu.vue.mjs.map +0 -1
- package/es/components/side-menu/side-menu.vue2.mjs.map +0 -1
- package/es/components/side-menu/style/css.mjs.map +0 -1
- package/es/components/side-menu/style/index.mjs.map +0 -1
- package/es/components/side-menu/types.mjs.map +0 -1
- package/es/components/slot/index.mjs.map +0 -1
- package/es/components/slot/only-child.mjs.map +0 -1
- package/es/components/sub-menu/style/css.mjs.map +0 -1
- package/es/components/sub-menu/style/index.mjs.map +0 -1
- package/es/components/tab-pane/style/css.mjs.map +0 -1
- package/es/components/tab-pane/style/index.mjs.map +0 -1
- package/es/components/tabs/index.mjs.map +0 -1
- package/es/components/tabs/style/css.mjs.map +0 -1
- package/es/components/tabs/style/index.mjs.map +0 -1
- package/es/components/tabs/tab-bar.vue.mjs.map +0 -1
- package/es/components/tabs/tab-bar.vue2.mjs.map +0 -1
- package/es/components/tabs/tab-nav.vue.mjs.map +0 -1
- package/es/components/tabs/tab-nav.vue2.mjs.map +0 -1
- package/es/components/tabs/tab-pane.vue.mjs.map +0 -1
- package/es/components/tabs/tab-pane.vue2.mjs.map +0 -1
- package/es/components/tabs/tabs.vue.mjs.map +0 -1
- package/es/components/tabs/tabs.vue2.mjs.map +0 -1
- package/es/components/tabs/types.mjs.map +0 -1
- package/es/components/tag/index.mjs.map +0 -1
- package/es/components/tag/style/css.mjs.map +0 -1
- package/es/components/tag/style/index.mjs.map +0 -1
- package/es/components/tag/tag.vue.mjs.map +0 -1
- package/es/components/tag/tag.vue2.mjs.map +0 -1
- package/es/components/tag/types.mjs.map +0 -1
- package/es/components/tooltip/constants.mjs.map +0 -1
- package/es/components/tooltip/content.vue.mjs.map +0 -1
- package/es/components/tooltip/content.vue2.mjs.map +0 -1
- package/es/components/tooltip/index.mjs.map +0 -1
- package/es/components/tooltip/style/css.mjs.map +0 -1
- package/es/components/tooltip/style/index.mjs.map +0 -1
- package/es/components/tooltip/tooltip.vue.mjs.map +0 -1
- package/es/components/tooltip/tooltip.vue2.mjs.map +0 -1
- package/es/components/tooltip/trigger.vue.mjs.map +0 -1
- package/es/components/tooltip/trigger.vue2.mjs.map +0 -1
- package/es/components/tooltip/types.mjs.map +0 -1
- package/es/components/tooltip/utils.mjs.map +0 -1
- package/es/components/types.mjs.map +0 -1
- package/es/constants/aria.mjs.map +0 -1
- package/es/constants/date.mjs.map +0 -1
- package/es/constants/event.mjs.map +0 -1
- package/es/constants/index.mjs.map +0 -1
- package/es/constants/key.mjs.map +0 -1
- package/es/constants/size.mjs.map +0 -1
- package/es/defaults.mjs.map +0 -1
- package/es/hooks/index.mjs.map +0 -1
- package/es/hooks/use-cursor/index.mjs.map +0 -1
- package/es/hooks/use-delayed-toggle/index.mjs.map +0 -1
- package/es/hooks/use-forward-ref/index.mjs.map +0 -1
- package/es/hooks/use-id/index.mjs.map +0 -1
- package/es/hooks/use-model-toggle/index.mjs.map +0 -1
- package/es/hooks/use-namespace/index.mjs.map +0 -1
- package/es/hooks/use-ordered-children/index.mjs.map +0 -1
- package/es/hooks/use-popper/index.mjs.map +0 -1
- package/es/hooks/use-popper-container/index.mjs.map +0 -1
- package/es/hooks/use-timeout/index.mjs.map +0 -1
- package/es/hooks/use-z-index/index.mjs.map +0 -1
- package/es/index.mjs.map +0 -1
- package/es/make-installer.mjs.map +0 -1
- package/es/package.json.mjs.map +0 -1
- package/es/plugin.mjs.map +0 -1
- package/es/utils/error.mjs.map +0 -1
- package/es/utils/event.mjs.map +0 -1
- package/es/utils/helper.mjs.map +0 -1
- package/es/utils/index.mjs.map +0 -1
- package/es/utils/typescript.mjs.map +0 -1
- package/es/utils/vue/index.mjs.map +0 -1
- package/es/utils/vue/install.mjs.map +0 -1
- package/es/utils/vue/typescript.mjs.map +0 -1
- package/es/utils/vue/vnode.mjs.map +0 -1
- package/lib/_virtual/_plugin-vue_export-helper.js.map +0 -1
- package/lib/comp-resolver.js.map +0 -1
- package/lib/component.js.map +0 -1
- package/lib/components/avatar/avatar.vue.js.map +0 -1
- package/lib/components/avatar/avatar.vue2.js.map +0 -1
- package/lib/components/avatar/index.js.map +0 -1
- package/lib/components/avatar/style/css.js.map +0 -1
- package/lib/components/avatar/style/index.js.map +0 -1
- package/lib/components/back-top/back-top.vue.js.map +0 -1
- package/lib/components/back-top/back-top.vue2.js.map +0 -1
- package/lib/components/back-top/index.js.map +0 -1
- package/lib/components/back-top/style/css.js.map +0 -1
- package/lib/components/back-top/style/index.js.map +0 -1
- package/lib/components/back-top/types.js.map +0 -1
- package/lib/components/back-top/use-back-top.js.map +0 -1
- package/lib/components/base/style/css.js.map +0 -1
- package/lib/components/base/style/index.js.map +0 -1
- package/lib/components/clamp/clamp.vue.js.map +0 -1
- package/lib/components/clamp/clamp.vue2.js.map +0 -1
- package/lib/components/clamp/index.js.map +0 -1
- package/lib/components/clamp/style/css.js.map +0 -1
- package/lib/components/clamp/style/index.js.map +0 -1
- package/lib/components/clamp-toggle/clamp-toggle.vue.js.map +0 -1
- package/lib/components/clamp-toggle/clamp-toggle.vue2.js.map +0 -1
- package/lib/components/clamp-toggle/index.js.map +0 -1
- package/lib/components/clamp-toggle/style/css.js.map +0 -1
- package/lib/components/clamp-toggle/style/index.js.map +0 -1
- package/lib/components/collapse-transition/index.js.map +0 -1
- package/lib/components/collapse-transition/src/collapse-transition.vue.js.map +0 -1
- package/lib/components/collapse-transition/src/collapse-transition.vue2.js.map +0 -1
- package/lib/components/collapse-transition/style/css.js.map +0 -1
- package/lib/components/collapse-transition/style/index.js.map +0 -1
- package/lib/components/config-provider/config-provider.vue.js.map +0 -1
- package/lib/components/config-provider/config-provider.vue2.js.map +0 -1
- package/lib/components/config-provider/constants.js.map +0 -1
- package/lib/components/config-provider/hooks/use-global-config.js.map +0 -1
- package/lib/components/config-provider/index.js.map +0 -1
- package/lib/components/config-provider/style/css.js.map +0 -1
- package/lib/components/config-provider/style/index.js.map +0 -1
- package/lib/components/config-provider/types.js.map +0 -1
- package/lib/components/context-menu/context-menu.vue.js.map +0 -1
- package/lib/components/context-menu/context-menu.vue2.js.map +0 -1
- package/lib/components/context-menu/createContextMenu.js.map +0 -1
- package/lib/components/context-menu/index.js.map +0 -1
- package/lib/components/context-menu/style/css.js.map +0 -1
- package/lib/components/context-menu/style/index.js.map +0 -1
- package/lib/components/context-menu/types.js.map +0 -1
- package/lib/components/context-menu/useContextMenu.js.map +0 -1
- package/lib/components/descriptions/description-item.vue.js.map +0 -1
- package/lib/components/descriptions/description-item.vue2.js.map +0 -1
- package/lib/components/descriptions/description.vue.js.map +0 -1
- package/lib/components/descriptions/description.vue2.js.map +0 -1
- package/lib/components/descriptions/descriptions-cell.js.map +0 -1
- package/lib/components/descriptions/descriptions-row.vue.js.map +0 -1
- package/lib/components/descriptions/descriptions-row.vue2.js.map +0 -1
- package/lib/components/descriptions/descriptions.type.js.map +0 -1
- package/lib/components/descriptions/index.js.map +0 -1
- package/lib/components/descriptions/style/css.js.map +0 -1
- package/lib/components/descriptions/style/index.js.map +0 -1
- package/lib/components/descriptions/token.js.map +0 -1
- package/lib/components/descriptions-item/style/css.js.map +0 -1
- package/lib/components/descriptions-item/style/index.js.map +0 -1
- package/lib/components/divider/divider.vue.js.map +0 -1
- package/lib/components/divider/divider.vue2.js.map +0 -1
- package/lib/components/divider/index.js.map +0 -1
- package/lib/components/divider/style/css.js.map +0 -1
- package/lib/components/divider/style/index.js.map +0 -1
- package/lib/components/divider/types.js.map +0 -1
- package/lib/components/empty/assets/no-collect.png.js.map +0 -1
- package/lib/components/empty/assets/no-data.png.js.map +0 -1
- package/lib/components/empty/assets/no-filter.png.js.map +0 -1
- package/lib/components/empty/assets/no-page-data.png.js.map +0 -1
- package/lib/components/empty/assets/no-search.png.js.map +0 -1
- package/lib/components/empty/constants.js.map +0 -1
- package/lib/components/empty/empty.vue.js.map +0 -1
- package/lib/components/empty/empty.vue2.js.map +0 -1
- package/lib/components/empty/index.js.map +0 -1
- package/lib/components/empty/style/css.js.map +0 -1
- package/lib/components/empty/style/index.js.map +0 -1
- package/lib/components/exception/exception.png.js.map +0 -1
- package/lib/components/exception/exception.vue.js.map +0 -1
- package/lib/components/exception/exception.vue2.js.map +0 -1
- package/lib/components/exception/index.js.map +0 -1
- package/lib/components/exception/style/css.js.map +0 -1
- package/lib/components/exception/style/index.js.map +0 -1
- package/lib/components/focus-trap/focus-trap.vue.js.map +0 -1
- package/lib/components/focus-trap/focus-trap.vue2.js.map +0 -1
- package/lib/components/focus-trap/index.js.map +0 -1
- package/lib/components/focus-trap/tokens.js.map +0 -1
- package/lib/components/focus-trap/utils.js.map +0 -1
- package/lib/components/footer-layout/footer-layout.vue.js.map +0 -1
- package/lib/components/footer-layout/footer-layout.vue2.js.map +0 -1
- package/lib/components/footer-layout/index.js.map +0 -1
- package/lib/components/footer-layout/style/css.js.map +0 -1
- package/lib/components/footer-layout/style/index.js.map +0 -1
- package/lib/components/full-screen/full-screen.vue.js.map +0 -1
- package/lib/components/full-screen/full-screen.vue2.js.map +0 -1
- package/lib/components/full-screen/index.js.map +0 -1
- package/lib/components/full-screen/style/css.js.map +0 -1
- package/lib/components/full-screen/style/index.js.map +0 -1
- package/lib/components/header-layout/header-layout.vue.js.map +0 -1
- package/lib/components/header-layout/header-layout.vue2.js.map +0 -1
- package/lib/components/header-layout/index.js.map +0 -1
- package/lib/components/header-layout/style/css.js.map +0 -1
- package/lib/components/header-layout/style/index.js.map +0 -1
- package/lib/components/icon/icon.vue.js.map +0 -1
- package/lib/components/icon/icon.vue2.js.map +0 -1
- package/lib/components/icon/index.js.map +0 -1
- package/lib/components/icon/style/css.js.map +0 -1
- package/lib/components/icon/style/index.js.map +0 -1
- package/lib/components/icon-text/icon-text.vue.js.map +0 -1
- package/lib/components/icon-text/icon-text.vue2.js.map +0 -1
- package/lib/components/icon-text/index.js.map +0 -1
- package/lib/components/icon-text/style/css.js.map +0 -1
- package/lib/components/icon-text/style/index.js.map +0 -1
- package/lib/components/iframe-layout/iframe-layout.vue.js.map +0 -1
- package/lib/components/iframe-layout/iframe-layout.vue2.js.map +0 -1
- package/lib/components/iframe-layout/iframe-page.vue.js.map +0 -1
- package/lib/components/iframe-layout/iframe-page.vue2.js.map +0 -1
- package/lib/components/iframe-layout/index.js.map +0 -1
- package/lib/components/iframe-layout/style/css.js.map +0 -1
- package/lib/components/iframe-layout/style/index.js.map +0 -1
- package/lib/components/image/image.vue.js.map +0 -1
- package/lib/components/image/image.vue2.js.map +0 -1
- package/lib/components/image/index.js.map +0 -1
- package/lib/components/image/style/css.js.map +0 -1
- package/lib/components/image/style/index.js.map +0 -1
- package/lib/components/image/types.js.map +0 -1
- package/lib/components/index.js.map +0 -1
- package/lib/components/input/index.js.map +0 -1
- package/lib/components/input/input.vue.js.map +0 -1
- package/lib/components/input/input.vue2.js.map +0 -1
- package/lib/components/input/style/css.js.map +0 -1
- package/lib/components/input/style/index.js.map +0 -1
- package/lib/components/input/utils.js.map +0 -1
- package/lib/components/link/index.js.map +0 -1
- package/lib/components/link/link.vue.js.map +0 -1
- package/lib/components/link/link.vue2.js.map +0 -1
- package/lib/components/link/style/css.js.map +0 -1
- package/lib/components/link/style/index.js.map +0 -1
- package/lib/components/loading/directive.js.map +0 -1
- package/lib/components/loading/index.js.map +0 -1
- package/lib/components/loading/loading.js.map +0 -1
- package/lib/components/loading/service.js.map +0 -1
- package/lib/components/loading/style/css.js.map +0 -1
- package/lib/components/loading/style/index.js.map +0 -1
- package/lib/components/loading/types.js.map +0 -1
- package/lib/components/logo/index.js.map +0 -1
- package/lib/components/logo/logo.vue.js.map +0 -1
- package/lib/components/logo/logo.vue2.js.map +0 -1
- package/lib/components/logo/style/css.js.map +0 -1
- package/lib/components/logo/style/index.js.map +0 -1
- package/lib/components/logo/types.js.map +0 -1
- package/lib/components/md-code-demo/code-demo/code.js.map +0 -1
- package/lib/components/md-code-demo/code-demo/index.js.map +0 -1
- package/lib/components/md-code-demo/code-demo/loadScript.js.map +0 -1
- package/lib/components/md-code-demo/code-demo/typings.js.map +0 -1
- package/lib/components/md-code-demo/code-demo/utils.js.map +0 -1
- package/lib/components/md-code-demo/index.js.map +0 -1
- package/lib/components/md-code-demo/md-code-demo.js.map +0 -1
- package/lib/components/md-code-demo/style/css.js.map +0 -1
- package/lib/components/md-code-demo/style/index.js.map +0 -1
- package/lib/components/md-code-demo/type.js.map +0 -1
- package/lib/components/md-code-demo/utils.js.map +0 -1
- package/lib/components/md-code-tabs/index.js.map +0 -1
- package/lib/components/md-code-tabs/md-code-tabs.js.map +0 -1
- package/lib/components/md-code-tabs/style/css.js.map +0 -1
- package/lib/components/md-code-tabs/style/index.js.map +0 -1
- package/lib/components/md-comment/index.js.map +0 -1
- package/lib/components/md-comment/md-comment.vue.js.map +0 -1
- package/lib/components/md-comment/md-comment.vue2.js.map +0 -1
- package/lib/components/md-comment/style/css.js.map +0 -1
- package/lib/components/md-comment/style/index.js.map +0 -1
- package/lib/components/md-container/index.js.map +0 -1
- package/lib/components/md-container/md-container.vue.js.map +0 -1
- package/lib/components/md-container/md-container.vue2.js.map +0 -1
- package/lib/components/md-container/style/css.js.map +0 -1
- package/lib/components/md-container/style/index.js.map +0 -1
- package/lib/components/md-container/toc.js.map +0 -1
- package/lib/components/md-container/use/index.js.map +0 -1
- package/lib/components/md-container/use/useActiveHeaderLinks.js.map +0 -1
- package/lib/components/md-container/use/useCopyCode.js.map +0 -1
- package/lib/components/md-container/utils.js.map +0 -1
- package/lib/components/md-tabs/index.js.map +0 -1
- package/lib/components/md-tabs/md-tabs.js.map +0 -1
- package/lib/components/md-tabs/style/css.js.map +0 -1
- package/lib/components/md-tabs/style/index.js.map +0 -1
- package/lib/components/md-vue-playground/index.js.map +0 -1
- package/lib/components/md-vue-playground/md-vue-playground.vue.js.map +0 -1
- package/lib/components/md-vue-playground/md-vue-playground.vue2.js.map +0 -1
- package/lib/components/md-vue-playground/playground.js.map +0 -1
- package/lib/components/md-vue-playground/style/css.js.map +0 -1
- package/lib/components/md-vue-playground/style/index.js.map +0 -1
- package/lib/components/menu/index.js.map +0 -1
- package/lib/components/menu/menu-collapse-transition.vue.js.map +0 -1
- package/lib/components/menu/menu-collapse-transition.vue2.js.map +0 -1
- package/lib/components/menu/menu-item-group.vue.js.map +0 -1
- package/lib/components/menu/menu-item-group.vue2.js.map +0 -1
- package/lib/components/menu/menu-item.vue.js.map +0 -1
- package/lib/components/menu/menu-item.vue2.js.map +0 -1
- package/lib/components/menu/menu.vue.js.map +0 -1
- package/lib/components/menu/menu.vue2.js.map +0 -1
- package/lib/components/menu/style/css.js.map +0 -1
- package/lib/components/menu/style/index.js.map +0 -1
- package/lib/components/menu/sub-menu.vue.js.map +0 -1
- package/lib/components/menu/sub-menu.vue2.js.map +0 -1
- package/lib/components/menu/types.js.map +0 -1
- package/lib/components/menu/use-menu-css-var.js.map +0 -1
- package/lib/components/menu/use-menu.js.map +0 -1
- package/lib/components/menu/utils/menu-bar.js.map +0 -1
- package/lib/components/menu/utils/menu-item.js.map +0 -1
- package/lib/components/menu/utils/submenu.js.map +0 -1
- package/lib/components/menu-item/style/css.js.map +0 -1
- package/lib/components/menu-item/style/index.js.map +0 -1
- package/lib/components/menu-item-group/style/css.js.map +0 -1
- package/lib/components/menu-item-group/style/index.js.map +0 -1
- package/lib/components/message/index.js.map +0 -1
- package/lib/components/message/instance.js.map +0 -1
- package/lib/components/message/message.vue.js.map +0 -1
- package/lib/components/message/message.vue2.js.map +0 -1
- package/lib/components/message/method.js.map +0 -1
- package/lib/components/message/style/css.js.map +0 -1
- package/lib/components/message/style/index.js.map +0 -1
- package/lib/components/message/types.js.map +0 -1
- package/lib/components/multiple-tabs/index.js.map +0 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue.js.map +0 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.js.map +0 -1
- package/lib/components/multiple-tabs/style/css.js.map +0 -1
- package/lib/components/multiple-tabs/style/index.js.map +0 -1
- package/lib/components/multiple-tabs/tab-content.vue.js.map +0 -1
- package/lib/components/multiple-tabs/tab-content.vue2.js.map +0 -1
- package/lib/components/multiple-tabs/types.js.map +0 -1
- package/lib/components/multiple-tabs/use/index.js.map +0 -1
- package/lib/components/multiple-tabs/use/use-multiple-tabs.js.map +0 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.js.map +0 -1
- package/lib/components/overlay/index.js.map +0 -1
- package/lib/components/overlay/overlay.vue.js.map +0 -1
- package/lib/components/overlay/overlay.vue2.js.map +0 -1
- package/lib/components/overlay/style/css.js.map +0 -1
- package/lib/components/overlay/style/index.js.map +0 -1
- package/lib/components/page-wrapper/index.js.map +0 -1
- package/lib/components/page-wrapper/page-wrapper.vue.js.map +0 -1
- package/lib/components/page-wrapper/page-wrapper.vue2.js.map +0 -1
- package/lib/components/page-wrapper/style/css.js.map +0 -1
- package/lib/components/page-wrapper/style/index.js.map +0 -1
- package/lib/components/pagination/components/jumper.vue.js.map +0 -1
- package/lib/components/pagination/components/jumper.vue2.js.map +0 -1
- package/lib/components/pagination/components/next.vue.js.map +0 -1
- package/lib/components/pagination/components/next.vue2.js.map +0 -1
- package/lib/components/pagination/components/pager.vue.js.map +0 -1
- package/lib/components/pagination/components/pager.vue2.js.map +0 -1
- package/lib/components/pagination/components/prev.vue.js.map +0 -1
- package/lib/components/pagination/components/prev.vue2.js.map +0 -1
- package/lib/components/pagination/components/sizes.vue.js.map +0 -1
- package/lib/components/pagination/components/sizes.vue2.js.map +0 -1
- package/lib/components/pagination/components/total.vue.js.map +0 -1
- package/lib/components/pagination/components/total.vue2.js.map +0 -1
- package/lib/components/pagination/index.js.map +0 -1
- package/lib/components/pagination/pagination.js.map +0 -1
- package/lib/components/pagination/style/css.js.map +0 -1
- package/lib/components/pagination/style/index.js.map +0 -1
- package/lib/components/pagination/usePagination.js.map +0 -1
- package/lib/components/popover/directive.js.map +0 -1
- package/lib/components/popover/index.js.map +0 -1
- package/lib/components/popover/popover.vue.js.map +0 -1
- package/lib/components/popover/popover.vue2.js.map +0 -1
- package/lib/components/popover/style/css.js.map +0 -1
- package/lib/components/popover/style/index.js.map +0 -1
- package/lib/components/popover/types.js.map +0 -1
- package/lib/components/popper/arrow.vue.js.map +0 -1
- package/lib/components/popper/arrow.vue2.js.map +0 -1
- package/lib/components/popper/composables/index.js.map +0 -1
- package/lib/components/popper/composables/use-content-dom.js.map +0 -1
- package/lib/components/popper/composables/use-content.js.map +0 -1
- package/lib/components/popper/composables/use-focus-trap.js.map +0 -1
- package/lib/components/popper/constants.js.map +0 -1
- package/lib/components/popper/content.vue.js.map +0 -1
- package/lib/components/popper/content.vue2.js.map +0 -1
- package/lib/components/popper/index.js.map +0 -1
- package/lib/components/popper/popper.vue.js.map +0 -1
- package/lib/components/popper/popper.vue2.js.map +0 -1
- package/lib/components/popper/style/css.js.map +0 -1
- package/lib/components/popper/style/index.js.map +0 -1
- package/lib/components/popper/trigger.vue.js.map +0 -1
- package/lib/components/popper/trigger.vue2.js.map +0 -1
- package/lib/components/popper/types.js.map +0 -1
- package/lib/components/popper/utils.js.map +0 -1
- package/lib/components/qrcode/drawCanvas.js.map +0 -1
- package/lib/components/qrcode/drawLogo.js.map +0 -1
- package/lib/components/qrcode/index.js.map +0 -1
- package/lib/components/qrcode/qrcode.vue.js.map +0 -1
- package/lib/components/qrcode/qrcode.vue2.js.map +0 -1
- package/lib/components/qrcode/qrcodePlus.js.map +0 -1
- package/lib/components/qrcode/style/css.js.map +0 -1
- package/lib/components/qrcode/style/index.js.map +0 -1
- package/lib/components/qrcode/toCanvas.js.map +0 -1
- package/lib/components/qrcode/types.js.map +0 -1
- package/lib/components/result/index.js.map +0 -1
- package/lib/components/result/result.vue.js.map +0 -1
- package/lib/components/result/result.vue2.js.map +0 -1
- package/lib/components/result/style/css.js.map +0 -1
- package/lib/components/result/style/index.js.map +0 -1
- package/lib/components/router-view-content/index.js.map +0 -1
- package/lib/components/router-view-content/router-view-content.vue.js.map +0 -1
- package/lib/components/router-view-content/router-view-content.vue2.js.map +0 -1
- package/lib/components/router-view-content/style/css.js.map +0 -1
- package/lib/components/router-view-content/style/index.js.map +0 -1
- package/lib/components/search/index.js.map +0 -1
- package/lib/components/search/search.vue.js.map +0 -1
- package/lib/components/search/search.vue2.js.map +0 -1
- package/lib/components/search/style/css.js.map +0 -1
- package/lib/components/search/style/index.js.map +0 -1
- package/lib/components/side-menu/index.js.map +0 -1
- package/lib/components/side-menu/side-menu.vue.js.map +0 -1
- package/lib/components/side-menu/side-menu.vue2.js.map +0 -1
- package/lib/components/side-menu/style/css.js.map +0 -1
- package/lib/components/side-menu/style/index.js.map +0 -1
- package/lib/components/side-menu/types.js.map +0 -1
- package/lib/components/slot/index.js.map +0 -1
- package/lib/components/slot/only-child.js.map +0 -1
- package/lib/components/sub-menu/style/css.js.map +0 -1
- package/lib/components/sub-menu/style/index.js.map +0 -1
- package/lib/components/tab-pane/style/css.js.map +0 -1
- package/lib/components/tab-pane/style/index.js.map +0 -1
- package/lib/components/tabs/index.js.map +0 -1
- package/lib/components/tabs/style/css.js.map +0 -1
- package/lib/components/tabs/style/index.js.map +0 -1
- package/lib/components/tabs/tab-bar.vue.js.map +0 -1
- package/lib/components/tabs/tab-bar.vue2.js.map +0 -1
- package/lib/components/tabs/tab-nav.vue.js.map +0 -1
- package/lib/components/tabs/tab-nav.vue2.js.map +0 -1
- package/lib/components/tabs/tab-pane.vue.js.map +0 -1
- package/lib/components/tabs/tab-pane.vue2.js.map +0 -1
- package/lib/components/tabs/tabs.vue.js.map +0 -1
- package/lib/components/tabs/tabs.vue2.js.map +0 -1
- package/lib/components/tabs/types.js.map +0 -1
- package/lib/components/tag/index.js.map +0 -1
- package/lib/components/tag/style/css.js.map +0 -1
- package/lib/components/tag/style/index.js.map +0 -1
- package/lib/components/tag/tag.vue.js.map +0 -1
- package/lib/components/tag/tag.vue2.js.map +0 -1
- package/lib/components/tag/types.js.map +0 -1
- package/lib/components/tooltip/constants.js.map +0 -1
- package/lib/components/tooltip/content.vue.js.map +0 -1
- package/lib/components/tooltip/content.vue2.js.map +0 -1
- package/lib/components/tooltip/index.js.map +0 -1
- package/lib/components/tooltip/style/css.js.map +0 -1
- package/lib/components/tooltip/style/index.js.map +0 -1
- package/lib/components/tooltip/tooltip.vue.js.map +0 -1
- package/lib/components/tooltip/tooltip.vue2.js.map +0 -1
- package/lib/components/tooltip/trigger.vue.js.map +0 -1
- package/lib/components/tooltip/trigger.vue2.js.map +0 -1
- package/lib/components/tooltip/types.js.map +0 -1
- package/lib/components/tooltip/utils.js.map +0 -1
- package/lib/components/types.js.map +0 -1
- package/lib/constants/aria.js.map +0 -1
- package/lib/constants/date.js.map +0 -1
- package/lib/constants/event.js.map +0 -1
- package/lib/constants/index.js.map +0 -1
- package/lib/constants/key.js.map +0 -1
- package/lib/constants/size.js.map +0 -1
- package/lib/defaults.js.map +0 -1
- package/lib/hooks/index.js.map +0 -1
- package/lib/hooks/use-cursor/index.js.map +0 -1
- package/lib/hooks/use-delayed-toggle/index.js.map +0 -1
- package/lib/hooks/use-forward-ref/index.js.map +0 -1
- package/lib/hooks/use-id/index.js.map +0 -1
- package/lib/hooks/use-model-toggle/index.js.map +0 -1
- package/lib/hooks/use-namespace/index.js.map +0 -1
- package/lib/hooks/use-ordered-children/index.js.map +0 -1
- package/lib/hooks/use-popper/index.js.map +0 -1
- package/lib/hooks/use-popper-container/index.js.map +0 -1
- package/lib/hooks/use-timeout/index.js.map +0 -1
- package/lib/hooks/use-z-index/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/make-installer.js.map +0 -1
- package/lib/package.json.js.map +0 -1
- package/lib/plugin.js.map +0 -1
- package/lib/utils/error.js.map +0 -1
- package/lib/utils/event.js.map +0 -1
- package/lib/utils/helper.js.map +0 -1
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/typescript.js.map +0 -1
- package/lib/utils/vue/index.js.map +0 -1
- package/lib/utils/vue/install.js.map +0 -1
- package/lib/utils/vue/typescript.js.map +0 -1
- package/lib/utils/vue/vnode.js.map +0 -1
- package/theme-style/vft-md-basic-tabs.css +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-container.vue2.js","sources":["../../../../../packages/components/md-container/md-container.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('md-container')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: ns.b()\n});</script>\n<script setup lang=\"ts\">\nimport 'photoswipe/dist/photoswipe.css';\nimport { usePhotoSwipe } from '@vft/use';\nimport {\n formatToDateTime,\n getRandomElementForArr,\n getCssVarValue,\n getDayTimestamp,\n jumpElement\n} from '@vft/utils';\nimport { onMounted } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport Toc from './toc';\nimport { useActiveHeaderLinks, useCopyCode } from './use';\nimport { COMP_TYPE } from './utils';\nimport { VftMdComment, VftTag, VftIconText, VftIcon } from '@vft-ui/components';\nimport { getCurrentInstance, ref, nextTick, unref } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { useRouterHelper } from '@vft/router';\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\nconst { initPhotoSwipe } = usePhotoSwipe(`.${ns.e('content')} img`);\ninitPhotoSwipe();\nuseActiveHeaderLinks({});\nuseCopyCode();\n\nconst infos = ref();\n\nconst route = useRoute();\n\nonMounted(() => {\n nextTick(() => {\n infos.value = instance.exposed!.infos;\n \n setTimeout(() => {\n jumpElement(route.hash.replace('#', ''));\n });\n });\n});\n\ndefineExpose({\n infos: unref(infos)\n});\n\nconst _path = location.pathname;\n\nconst { go } = useRouterHelper();\n\nfunction handleJump (item: string) {\n go('/' + '?tag=' + item);\n}\n</script>\n\n<template>\n <div :class=\"ns.b()\">\n <Toc v-if=\"infos?.sideData\" :items=\"infos.sideData\" />\n <div :class=\"ns.e('header')\">\n <h1 :class=\"ns.e('title')\">\n {{ route.meta?.title }}\n </h1>\n <div class=\"info-container\">\n <template v-if=\"route.meta?.category?.length\">\n <div class=\"flex align-center\">\n <vft-icon :color=\"getCssVarValue('--vft-primary-color')\" icon=\"i-bx:category\" class=\"mr-8px\" />\n <vft-tag\n size=\"small\"\n class=\"mr-5px cursor-pointer\"\n v-for=\"(item, index) in route.meta?.category\"\n :type=\"getRandomElementForArr(COMP_TYPE, 1)[0]\" :key=\"index\"\n @click=\"handleJump(item)\"\n >{{ item }}\n </vft-tag>\n </div>\n </template>\n <div class=\"infos\">\n <vft-icon-text title=\"发布时间\" icon=\"i-uiw:date\" :size=\"14\" class=\"mr-10px\" :distance=\"5\"\n :text=\"formatToDateTime(new Date(route.meta?.date).getTime() - getDayTimestamp())\" />\n <div class=\"reading\" title=\"阅读量\">\n <vft-icon icon=\"i-flat-color-icons:reading\" :size=\"14\" class=\"mr-5px\" />\n <span class=\"waline-pageview-count\" :data-path=\"_path\">0</span>\n </div>\n </div>\n </div>\n </div>\n \n <div :class=\"ns.e('content')\">\n <slot />\n </div>\n \n <vft-md-comment />\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","__MACROS_defineComponent","instance","getCurrentInstance","initPhotoSwipe","usePhotoSwipe","useActiveHeaderLinks","useCopyCode","infos","ref","route","useRoute","onMounted","nextTick","jumpElement","expose","unref","_path","go","useRouterHelper","handleJump","item"],"mappings":"ynEACMA,EAAuBC,EAAAA,aAAa,cAAc,EAG3BC,EAAAC,EAAAA,gBAAyB,CACpD,KAAMH,EAAG,EAAE,CACb,CAAC,gDAyBD,MAAMI,EAAWC,EAAAA,qBAEX,CAAE,eAAAC,GAAmBC,EAAA,cAAc,IAAIP,EAAG,EAAE,SAAS,OAAO,EACnDM,IACfE,EAAA,qBAAqB,CAAE,CAAA,EACXC,EAAAA,cAEZ,MAAMC,EAAQC,EAAAA,MAERC,EAAQC,EAAAA,WAEdC,EAAAA,UAAU,IAAM,CACdC,EAAAA,SAAS,IAAM,CACPL,EAAA,MAAQN,EAAS,QAAS,MAEhC,WAAW,IAAM,CACfY,EAAA,YAAYJ,EAAM,KAAK,QAAQ,IAAK,EAAE,CAAC,CAAA,CACxC,CAAA,CACF,CAAA,CACF,EAEYK,EAAA,CACX,MAAOC,QAAMR,CAAK,CAAA,CACnB,EAED,MAAMS,EAAQ,SAAS,SAEjB,CAAE,GAAAC,GAAOC,EAAAA,kBAEf,SAASC,EAAYC,EAAc,CACjCH,EAAG,SAAgBG,CAAI,CACzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toc.js","sources":["../../../../../packages/components/md-container/toc.ts"],"sourcesContent":["import { jumpElement } from '@vft/utils';\nimport { defineComponent, h, onMounted, ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nimport type { VNode } from 'vue';\nimport { isActiveLink } from './utils';\n\nconst renderHeader = ({ title, level, slug }: any): VNode =>\n h(\n 'a',\n {\n href: `#${slug}`,\n class: ['toc-link', `level${level}`]\n },\n title\n );\n\nconst renderChildren = (headers: any[], headerDepth: number): VNode | null => {\n const route = useRoute();\n\n return headers.length && headerDepth > 0\n ? h(\n 'ul',\n { class: 'toc-list' },\n headers.map((header) => [\n h(\n 'li',\n {\n class: ['toc-item', { active: isActiveLink(route, `#${header.slug}`) }],\n onClick: (e: Event) => jumpAnchor(e, header.slug)\n },\n renderHeader(header)\n ),\n renderChildren(header.children, headerDepth - 1)\n ])\n )\n : null;\n};\n\nfunction jumpAnchor(e: Event, hash: string) {\n e.preventDefault();\n jumpElement(hash);\n}\n\nexport default defineComponent({\n props: {\n /**\n * TOC items config\n *\n * TOC 项目配置\n */\n items: {\n type: Array,\n default: () => []\n },\n\n /**\n * Max header nesting depth\n *\n * 最大的标题嵌套深度\n */\n headerDepth: {\n type: Number,\n default: 2\n }\n },\n\n setup(props) {\n const route = useRoute();\n const toc = ref<HTMLElement>();\n\n const scrollTo = (top: number): void => {\n toc.value?.scrollTo({ top, behavior: 'smooth' });\n };\n\n onMounted(() => {\n // scroll to active toc item\n watch(\n () => route.hash,\n (hash): void => {\n if (toc.value) {\n // get the active toc item DOM, whose href equals to the current route\n const activeTocItem = document.querySelector(`#toc a.toc-link[href$=\"${hash}\"]`);\n\n if (!activeTocItem) return;\n\n // get the top and height of the toc ---> toc-wrapper\n const { top: tocTop, height: tocHeight } = toc.value.getBoundingClientRect();\n // get the top and height of the active toc item\n const { top: activeTocItemTop, height: activeTocItemHeight } = activeTocItem.getBoundingClientRect();\n\n // when the active toc item overflows the top edge of toc\n if (activeTocItemTop < tocTop)\n // scroll to the top edge of toc\n scrollTo(toc.value.scrollTop + activeTocItemTop - tocTop);\n // when the active toc item overflows the bottom edge of toc\n else if (activeTocItemTop + activeTocItemHeight > tocTop + tocHeight)\n // scroll to the bottom edge of toc\n scrollTo(toc.value.scrollTop + activeTocItemTop + activeTocItemHeight - tocTop - tocHeight);\n }\n }\n );\n });\n\n return (): VNode | null => {\n const tocHeaders = props.items.length ? renderChildren(props.items, props.headerDepth) : [] ? renderChildren([], props.headerDepth) : null;\n\n return tocHeaders\n ? h('div', { class: 'toc-place-holder' }, [h('aside', { id: 'toc' }, [h('div', { class: 'toc-header' }, ['此页内容']), h('div', { class: 'toc-wrapper', ref: toc }, [tocHeaders])])])\n : null;\n };\n }\n});\n"],"names":["renderHeader","title","level","slug","h","renderChildren","headers","headerDepth","route","useRoute","header","isActiveLink","e","jumpAnchor","hash","jumpElement","Toc","defineComponent","props","toc","ref","scrollTo","top","_a","onMounted","watch","activeTocItem","tocTop","tocHeight","activeTocItemTop","activeTocItemHeight","tocHeaders"],"mappings":"2MAMMA,EAAe,CAAC,CAAE,MAAAC,EAAO,MAAAC,EAAO,KAAAC,CACpC,IAAAC,EAAA,EACE,IACA,CACE,KAAM,IAAID,IACV,MAAO,CAAC,WAAY,QAAQD,GAAO,CACrC,EACAD,CACF,EAEII,EAAiB,CAACC,EAAgBC,IAAsC,CAC5E,MAAMC,EAAQC,EAAAA,WAEP,OAAAH,EAAQ,QAAUC,EAAc,EACnCH,EAAA,EACE,KACA,CAAE,MAAO,UAAW,EACpBE,EAAQ,IAAKI,GAAW,CACtBN,EAAA,EACE,KACA,CACE,MAAO,CAAC,WAAY,CAAE,OAAQO,EAAAA,aAAaH,EAAO,IAAIE,EAAO,MAAM,CAAA,CAAG,EACtE,QAAUE,GAAaC,EAAWD,EAAGF,EAAO,IAAI,CAClD,EACAV,EAAaU,CAAM,CACrB,EACAL,EAAeK,EAAO,SAAUH,EAAc,CAAC,CAAA,CAChD,CAEH,EAAA,IACN,EAEA,SAASM,EAAW,EAAUC,EAAc,CAC1C,EAAE,eAAe,EACjBC,EAAA,YAAYD,CAAI,CAClB,CAEA,MAAAE,EAAeC,kBAAgB,CAC7B,MAAO,CAML,MAAO,CACL,KAAM,MACN,QAAS,IAAM,CAAC,CAClB,EAOA,YAAa,CACX,KAAM,OACN,QAAS,CACX,CACF,EAEA,MAAMC,EAAO,CACX,MAAMV,EAAQC,EAAAA,WACRU,EAAMC,EAAAA,MAENC,EAAYC,GAAsB,QACtCC,EAAAJ,EAAI,QAAJ,MAAAI,EAAW,SAAS,CAAE,IAAAD,EAAK,SAAU,UAAU,EAGjDE,OAAAA,EAAAA,UAAU,IAAM,CAEdC,EAAA,MACE,IAAMjB,EAAM,KACXM,GAAe,CACd,GAAIK,EAAI,MAAO,CAEb,MAAMO,EAAgB,SAAS,cAAc,0BAA0BZ,KAAQ,EAE/E,GAAI,CAACY,EAAe,OAGd,KAAA,CAAE,IAAKC,EAAQ,OAAQC,GAAcT,EAAI,MAAM,wBAE/C,CAAE,IAAKU,EAAkB,OAAQC,GAAwBJ,EAAc,wBAGzEG,EAAmBF,EAErBN,EAASF,EAAI,MAAM,UAAYU,EAAmBF,CAAM,EAEjDE,EAAmBC,EAAsBH,EAASC,GAEzDP,EAASF,EAAI,MAAM,UAAYU,EAAmBC,EAAsBH,EAASC,CAAS,CAC9F,CACF,CAAA,CACF,CACD,EAEM,IAAoB,CACzB,MAAMG,EAAab,EAAM,MAAM,OAASb,EAAea,EAAM,MAAOA,EAAM,WAAW,EAASb,EAAe,CAAA,EAAIa,EAAM,WAAW,EAElI,OAAOa,EACH3B,EAAAA,EAAE,MAAO,CAAE,MAAO,kBAAA,EAAsB,CAACA,EAAAA,EAAE,QAAS,CAAE,GAAI,KAAM,EAAG,CAACA,EAAE,EAAA,MAAO,CAAE,MAAO,YAAA,EAAgB,CAAC,MAAM,CAAC,EAAGA,IAAE,MAAO,CAAE,MAAO,cAAe,IAAKe,CAAI,EAAG,CAACY,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9K,IAAA,CAER,CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useActiveHeaderLinks.js","sources":["../../../../../../packages/components/md-container/use/useActiveHeaderLinks.ts"],"sourcesContent":["import { debounce } from 'lodash';\nimport { onBeforeUnmount, onMounted } from 'vue';\nimport { type Router, useRouter } from 'vue-router';\n\nexport interface UseActiveHeaderLinksOptions {\n headerLinkSelector: string;\n headerAnchorSelector: string;\n delay: number;\n offset?: number;\n}\n\nexport const useActiveHeaderLinks = ({\n headerLinkSelector = 'a.toc-link',\n headerAnchorSelector = '.header-anchor',\n delay = 200,\n offset = 5\n}: Partial<UseActiveHeaderLinksOptions>): void => {\n \n const router = useRouter();\n\n const setActiveRouteHash = (): void => {\n // get current scrollTop\n const scrollEl = document.querySelector('.vft-md-container')!;\n const scrollTop = scrollEl.scrollTop;\n \n // 检查我们是否在页面顶部\n const isAtPageTop = Math.abs(scrollTop - 0) < offset;\n\n // replace current route hash with empty string when scrolling back to the top\n if (isAtPageTop) {\n updateHash(router, '');\n return;\n }\n\n // get current scrollBottom\n const scrollBottom = window.innerHeight + scrollTop - 100;\n // get the total scroll length of current page\n const scrollHeight = scrollEl.scrollHeight;\n \n // check if we have reached page bottom\n // notice the `scrollBottom` might not be exactly equal to `scrollHeight`, so we add offset here\n const isAtPageBottom = Math.abs(scrollHeight - scrollBottom) < offset;\n\n // get all header links\n const headerLinks: HTMLAnchorElement[] = Array.from(\n document.querySelectorAll(headerLinkSelector)\n );\n // get all header anchors\n const headerAnchors: HTMLAnchorElement[] = Array.from(\n document.querySelectorAll(headerAnchorSelector)\n );\n // filter anchors that do not have corresponding links\n const existedHeaderAnchors = headerAnchors.filter((anchor) =>\n headerLinks.some((link) => link.hash === anchor.hash)\n );\n \n for (let i = 0; i < existedHeaderAnchors.length; i++) {\n const anchor = existedHeaderAnchors[i];\n const nextAnchor = existedHeaderAnchors[i + 1];\n\n // notice the `scrollTop` might not be exactly equal to `offsetTop` after clicking the anchor\n // so we add offset\n\n // if has scrolled past this anchor\n const hasPassedCurrentAnchor = scrollTop >= (anchor.parentElement?.offsetTop ?? 0) - 100;\n\n // if has not scrolled past next anchor\n const hasNotPassedNextAnchor =\n !nextAnchor ||\n scrollTop < (nextAnchor.parentElement?.offsetTop ?? 0) - 100;\n // if this anchor is the active anchor\n const isActive = hasPassedCurrentAnchor && hasNotPassedNextAnchor;\n\n // continue to find the active anchor\n if (!isActive) continue;\n\n const routeHash = decodeURIComponent(router.currentRoute.value.hash);\n const anchorHash = decodeURIComponent(anchor.hash);\n\n // if the active anchor hash is current route hash, do nothing\n if (routeHash === anchorHash) return;\n\n // check if anchor is at the bottom of the page to keep hash consistent\n if (isAtPageBottom) {\n for (let j = i + 1; j < existedHeaderAnchors.length; j++) {\n // if current route hash is below the active hash, do nothing\n if (routeHash === decodeURIComponent(existedHeaderAnchors[j].hash)) {\n return;\n }\n }\n }\n\n // replace current route hash with the active anchor hash\n updateHash(router, anchorHash);\n return;\n }\n };\n\n // @ts-ignore\n const onScroll: () => Promise<void> = debounce(setActiveRouteHash, delay);\n\n onMounted(() => {\n (document.querySelector('.vft-md-container') as HTMLElement).addEventListener('scroll', onScroll);\n });\n \n onBeforeUnmount(() => {\n if (document.querySelector('.vft-md-container')) {\n (document.querySelector('.vft-md-container') as HTMLElement).removeEventListener('scroll', onScroll);\n }\n });\n};\n\n/**\n* Update current hash and do not trigger `scrollBehavior`\n*/\nconst updateHash = async (router: Router, hash: string): Promise<void> => {\n // temporarily disable `scrollBehavior`\n // restore it after navigation\n const { scrollBehavior } = router.options;\n router.options.scrollBehavior = undefined;\n await router\n .replace({\n query: router.currentRoute.value.query,\n hash,\n force: true\n })\n .finally(() => (router.options.scrollBehavior = scrollBehavior));\n};\n"],"names":["useActiveHeaderLinks","headerLinkSelector","headerAnchorSelector","delay","offset","router","useRouter","setActiveRouteHash","scrollEl","scrollTop","updateHash","scrollBottom","scrollHeight","isAtPageBottom","headerLinks","existedHeaderAnchors","anchor","link","i","nextAnchor","hasPassedCurrentAnchor","_a","hasNotPassedNextAnchor","_b","routeHash","anchorHash","j","onScroll","debounce","onMounted","onBeforeUnmount","hash","scrollBehavior"],"mappings":"mJAWaA,EAAuB,CAAC,CACpC,mBAAAC,EAAqB,aACrB,qBAAAC,EAAuB,iBACvB,MAAAC,EAAQ,IACR,OAAAC,EAAS,CACV,IAAkD,CAEjD,MAAMC,EAASC,EAAAA,YAETC,EAAqB,IAAY,SAE/B,MAAAC,EAAW,SAAS,cAAc,mBAAmB,EACrDC,EAAYD,EAAS,UAM3B,GAHoB,KAAK,IAAIC,EAAY,CAAC,EAAIL,EAG7B,CACfM,EAAWL,EAAQ,EAAE,EACrB,MACF,CAGM,MAAAM,EAAe,OAAO,YAAcF,EAAY,IAEhDG,EAAeJ,EAAS,aAIxBK,EAAiB,KAAK,IAAID,EAAeD,CAAY,EAAIP,EAGzDU,EAAmC,MAAM,KAC7C,SAAS,iBAAiBb,CAAkB,CAAA,EAOxCc,EAJqC,MAAM,KAC/C,SAAS,iBAAiBb,CAAoB,CAAA,EAGL,OAAQc,GACjDF,EAAY,KAAMG,GAASA,EAAK,OAASD,EAAO,IAAI,CAAA,EAGtD,QAASE,EAAI,EAAGA,EAAIH,EAAqB,OAAQG,IAAK,CAC9C,MAAAF,EAASD,EAAqBG,CAAC,EAC/BC,EAAaJ,EAAqBG,EAAI,CAAC,EAMvCE,EAAyBX,MAAcY,EAAAL,EAAO,gBAAP,YAAAK,EAAsB,YAAa,GAAK,IAG/EC,EACJ,CAACH,GACDV,KAAac,EAAAJ,EAAW,gBAAX,YAAAI,EAA0B,YAAa,GAAK,IAK3D,GAAI,EAHaH,GAA0BE,GAG5B,SAEf,MAAME,EAAY,mBAAmBnB,EAAO,aAAa,MAAM,IAAI,EAC7DoB,EAAa,mBAAmBT,EAAO,IAAI,EAGjD,GAAIQ,IAAcC,EAAY,OAG9B,GAAIZ,GACF,QAASa,EAAIR,EAAI,EAAGQ,EAAIX,EAAqB,OAAQW,IAEnD,GAAIF,IAAc,mBAAmBT,EAAqBW,CAAC,EAAE,IAAI,EAC/D,OAMNhB,EAAWL,EAAQoB,CAAU,EAC7B,MACF,CAAA,EAIIE,EAAgCC,EAAAA,SAASrB,EAAoBJ,CAAK,EAExE0B,EAAAA,UAAU,IAAM,CACb,SAAS,cAAc,mBAAmB,EAAkB,iBAAiB,SAAUF,CAAQ,CAAA,CACjG,EAEDG,EAAAA,gBAAgB,IAAM,CAChB,SAAS,cAAc,mBAAmB,GAC3C,SAAS,cAAc,mBAAmB,EAAkB,oBAAoB,SAAUH,CAAQ,CACrG,CACD,CACF,EAKMjB,EAAa,MAAOL,EAAgB0B,IAAgC,CAGnE,KAAA,CAAE,eAAAC,CAAe,EAAI3B,EAAO,QAClCA,EAAO,QAAQ,eAAiB,OAChC,MAAMA,EACH,QAAQ,CACP,MAAOA,EAAO,aAAa,MAAM,MACjC,KAAA0B,EACA,MAAO,EAAA,CACR,EACA,QAAQ,IAAO1B,EAAO,QAAQ,eAAiB2B,CAAe,CAClE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCopyCode.js","sources":["../../../../../../packages/components/md-container/use/useCopyCode.ts"],"sourcesContent":["import { inBrowser } from '@vft/utils';\n\nexport function useCopyCode () {\n if (inBrowser) {\n const timeoutIdMap: Map<HTMLElement, NodeJS.Timeout> = new Map();\n window.addEventListener('click', (e) => {\n const el = e.target as HTMLElement;\n if (el.matches('div[class*=\"language-\"] > button.copy')) {\n const parent = el.parentElement;\n const sibling = el.nextElementSibling as HTMLPreElement | null;\n \n if (!parent || !sibling) {\n return;\n }\n \n const isShell = /language-(shellscript|shell|bash|sh|zsh)/.test(parent.classList.toString());\n \n let { innerText: text = '' } = sibling;\n \n if (isShell) {\n text = text.replace(/^ *(\\$|>) /gm, '');\n }\n \n copyToClipboard(text).then(() => {\n el.classList.add('copied');\n clearTimeout(timeoutIdMap.get(el));\n const timeoutId = setTimeout(() => {\n el.classList.remove('copied');\n el.blur();\n timeoutIdMap.delete(el);\n }, 2000);\n timeoutIdMap.set(el, timeoutId);\n });\n }\n });\n }\n}\n\nasync function copyToClipboard (text: string) {\n try {\n return navigator.clipboard.writeText(text);\n } catch {\n const element = document.createElement('textarea');\n const previouslyFocusedElement = document.activeElement;\n \n element.value = text;\n \n // Prevent keyboard from showing on mobile\n element.setAttribute('readonly', '');\n \n element.style.contain = 'strict';\n element.style.position = 'absolute';\n element.style.left = '-9999px';\n element.style.fontSize = '12pt'; // Prevent zooming on iOS\n \n const selection = document.getSelection();\n const originalRange = selection ? selection.rangeCount > 0 && selection.getRangeAt(0) : null;\n \n document.body.appendChild(element);\n element.select();\n \n // Explicit selection workaround for iOS\n element.selectionStart = 0;\n element.selectionEnd = text.length;\n \n document.execCommand('copy');\n document.body.removeChild(element);\n \n if (originalRange) {\n selection!.removeAllRanges(); // originalRange can't be truthy when selection is falsy\n selection!.addRange(originalRange);\n }\n \n // Get the focus back on the previously focused element, if any\n if (previouslyFocusedElement) {\n (previouslyFocusedElement as HTMLElement).focus();\n }\n }\n}\n"],"names":["useCopyCode","inBrowser","timeoutIdMap","el","parent","sibling","isShell","text","copyToClipboard","timeoutId","element","previouslyFocusedElement","selection","originalRange"],"mappings":"8GAEO,SAASA,GAAe,CAC7B,GAAIC,YAAW,CACP,MAAAC,MAAqD,IACpD,OAAA,iBAAiB,QAAU,GAAM,CACtC,MAAMC,EAAK,EAAE,OACT,GAAAA,EAAG,QAAQ,uCAAuC,EAAG,CACvD,MAAMC,EAASD,EAAG,cACZE,EAAUF,EAAG,mBAEf,GAAA,CAACC,GAAU,CAACC,EACd,OAGF,MAAMC,EAAU,2CAA2C,KAAKF,EAAO,UAAU,UAAU,EAE3F,GAAI,CAAE,UAAWG,EAAO,EAAA,EAAOF,EAE3BC,IACKC,EAAAA,EAAK,QAAQ,eAAgB,EAAE,GAGxBC,EAAAD,CAAI,EAAE,KAAK,IAAM,CAC5BJ,EAAA,UAAU,IAAI,QAAQ,EACZ,aAAAD,EAAa,IAAIC,CAAE,CAAC,EAC3B,MAAAM,EAAY,WAAW,IAAM,CAC9BN,EAAA,UAAU,OAAO,QAAQ,EAC5BA,EAAG,KAAK,EACRD,EAAa,OAAOC,CAAE,GACrB,GAAI,EACMD,EAAA,IAAIC,EAAIM,CAAS,CAAA,CAC/B,CACH,CAAA,CACD,CACH,CACF,CAEA,eAAeD,EAAiBD,EAAc,CACxC,GAAA,CACK,OAAA,UAAU,UAAU,UAAUA,CAAI,CAAA,MACzC,CACM,MAAAG,EAAU,SAAS,cAAc,UAAU,EAC3CC,EAA2B,SAAS,cAE1CD,EAAQ,MAAQH,EAGRG,EAAA,aAAa,WAAY,EAAE,EAEnCA,EAAQ,MAAM,QAAU,SACxBA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,KAAO,UACrBA,EAAQ,MAAM,SAAW,OAEnB,MAAAE,EAAY,SAAS,eACrBC,EAAgBD,EAAYA,EAAU,WAAa,GAAKA,EAAU,WAAW,CAAC,EAAI,KAE/E,SAAA,KAAK,YAAYF,CAAO,EACjCA,EAAQ,OAAO,EAGfA,EAAQ,eAAiB,EACzBA,EAAQ,aAAeH,EAAK,OAE5B,SAAS,YAAY,MAAM,EAClB,SAAA,KAAK,YAAYG,CAAO,EAE7BG,IACFD,EAAW,gBAAgB,EAC3BA,EAAW,SAASC,CAAa,GAI/BF,GACDA,EAAyC,MAAM,CAEpD,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../packages/components/md-container/utils.ts"],"sourcesContent":["import { getHash, HASH_REGEXP } from '@vft/utils';\nimport type { RouteLocationNormalizedLoaded } from 'vue-router';\n\nexport const normalizePath = (path: string): string =>\n decodeURI(path)\n .replace(HASH_REGEXP, '')\n .replace(/(index)?\\.(md|html)$/, '');\n\n/**\n * Whether the lick is active\n *\n * @param route Current route\n * @param link link path\n * @returns Whether the lick is active\n */\nexport const isActiveLink = (route: RouteLocationNormalizedLoaded, link?: string): boolean => {\n if (link === undefined) return false;\n\n const currentPath = normalizePath(route.path);\n const targetPath = normalizePath(link);\n const linkHash = getHash(link);\n\n if (linkHash) return linkHash === route.hash && (!targetPath || currentPath === targetPath);\n\n return currentPath === targetPath;\n};\n\nexport const COMP_TYPE = ['success', 'info', 'warning', 'danger', '']\n"],"names":["normalizePath","path","HASH_REGEXP","isActiveLink","route","link","currentPath","targetPath","linkHash","getHash","COMP_TYPE"],"mappings":"8GAGaA,EAAiBC,GAC5B,UAAUA,CAAI,EACX,QAAQC,EAAA,YAAa,EAAE,EACvB,QAAQ,uBAAwB,EAAE,EAS1BC,EAAe,CAACC,EAAsCC,IAA2B,CAC5F,GAAIA,IAAS,OAAkB,MAAA,GAEzB,MAAAC,EAAcN,EAAcI,EAAM,IAAI,EACtCG,EAAaP,EAAcK,CAAI,EAC/BG,EAAWC,UAAQJ,CAAI,EAEzB,OAAAG,EAAiBA,IAAaJ,EAAM,OAAS,CAACG,GAAcD,IAAgBC,GAEzED,IAAgBC,CACzB,EAEaG,EAAY,CAAC,UAAW,OAAQ,UAAW,SAAU,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/md-tabs/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils';\n\nimport MdTabs from './md-tabs';\n\nexport const VftMdTabs = withInstall(MdTabs);\n\nexport * from './md-tabs';\n\nexport default VftMdTabs;\n"],"names":["VftMdTabs","withInstall","MdTabs"],"mappings":"sPAIaA,EAAYC,cAAYC,EAAM,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-tabs.js","sources":["../../../../../packages/components/md-tabs/md-tabs.ts"],"sourcesContent":["import { useStorage } from '@vueuse/core';\nimport { defineComponent, h, onMounted, ref, watch } from 'vue';\nimport type { PropType, VNode } from 'vue';\n\nexport interface TabProps extends Record<string, unknown> {\n title: string;\n id?: string;\n}\n\nconst tabStore = useStorage<Record<string, string>>('VUEPRESS_TAB_STORE', {});\n\nexport default defineComponent({\n // eslint-disable-next-line vue/multi-word-component-names\n name: 'VftMdTabs',\n\n props: {\n /**\n * Active tab index\n *\n * 激活的标签页序号\n */\n active: {\n type: Number,\n default: 0\n },\n\n /**\n * tab data\n *\n * 标签页数据\n */\n data: {\n type: Array as PropType<TabProps[]>,\n required: true\n },\n\n /**\n * Tab id\n *\n * 标签页 id\n */\n id: {\n type: String,\n required: true\n },\n\n /**\n * tab id\n *\n * 标签页 id\n */\n tabId: {\n type: String,\n default: ''\n }\n },\n\n setup(props, { slots }) {\n // index of current active item\n const activeIndex = ref(props.active);\n\n // refs of the tab buttons\n const tabRefs = ref<HTMLUListElement[]>([]);\n\n // update store\n const updateStore = (): void => {\n if (props.tabId) {\n const { title, id: value = title } = props.data[activeIndex.value];\n\n tabStore.value[props.tabId] = value;\n }\n };\n\n // activate next tab\n const activateNext = (index = activeIndex.value): void => {\n activeIndex.value = index < tabRefs.value.length - 1 ? index + 1 : 0;\n tabRefs.value[activeIndex.value].focus();\n };\n\n // activate previous tab\n const activatePrev = (index = activeIndex.value): void => {\n activeIndex.value = index > 0 ? index - 1 : tabRefs.value.length - 1;\n tabRefs.value[activeIndex.value].focus();\n };\n\n // handle keyboard event\n const keyboardHandler = (event: KeyboardEvent, index: number): void => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n activeIndex.value = index;\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n activateNext();\n } else if (event.key === 'ArrowLeft') {\n event.preventDefault();\n activatePrev();\n }\n\n updateStore();\n };\n\n const getInitialIndex = (): number => {\n if (props.tabId) {\n const valueIndex = props.data.findIndex(({ title, id: value = title }) => tabStore.value[props.tabId] === value);\n\n if (valueIndex !== -1) return valueIndex;\n }\n\n return props.active;\n };\n\n onMounted(() => {\n activeIndex.value = getInitialIndex();\n\n watch(\n () => tabStore.value[props.tabId],\n (newValue, oldValue) => {\n if (props.tabId && newValue !== oldValue) {\n const index = props.data.findIndex(({ title, id: value = title }) => value === newValue);\n\n if (index !== -1) activeIndex.value = index;\n }\n }\n );\n });\n\n return (): VNode | null =>\n props.data.length\n ? h('div', { class: 'vft-md-tabs' }, [\n h(\n 'div',\n { class: 'tab-list-nav', role: 'tablist' },\n props.data.map(({ title }, index) => {\n const isActive = index === activeIndex.value;\n\n return h(\n 'button',\n {\n ref: (element) => {\n if (element) tabRefs.value[index] = <HTMLUListElement>element;\n },\n class: ['tab-list-nav-item', { active: isActive }],\n role: 'tab',\n 'aria-controls': `tab-${props.id}-${index}`,\n 'aria-selected': isActive,\n onClick: () => {\n activeIndex.value = index;\n updateStore();\n },\n onKeydown: (event: KeyboardEvent) => keyboardHandler(event, index)\n },\n title\n );\n })\n ),\n props.data.map(({ title, id: value = title }, index) => {\n const isActive = index === activeIndex.value;\n\n return h(\n 'div',\n {\n class: ['tab-item', { active: isActive }],\n id: `tab-${props.id}-${index}`,\n role: 'tabpanel',\n 'aria-expanded': isActive\n },\n slots[`tab${index}`]?.({ title, value, isActive })\n );\n })\n ])\n : null;\n }\n});\n"],"names":["tabStore","useStorage","MdTabs","defineComponent","props","slots","activeIndex","ref","tabRefs","updateStore","title","value","activateNext","index","activatePrev","keyboardHandler","event","getInitialIndex","valueIndex","onMounted","watch","newValue","oldValue","h","isActive","element","_a"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/md-vue-playground/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils';\n\nimport MdVuePlayground from './md-vue-playground.vue';\n\nexport const VftMdVuePlayground = withInstall(MdVuePlayground);\n\nexport default VftMdVuePlayground;\n"],"names":["VftMdVuePlayground","withInstall","MdVuePlayground"],"mappings":"qQAIaA,EAAqBC,cAAYC,EAAe,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-vue-playground.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-vue-playground.vue2.js","sources":["../../../../../packages/components/md-vue-playground/md-vue-playground.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('md-vue-playground')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { useNamespace } from '@vft-ui/hooks';\nimport type { Repl, ReplStore } from '@vue/repl';\nimport '@vue/repl/style.css';\nimport { computed, h, onMounted, ref, shallowRef } from 'vue';\nimport { getVuePlaygroundSettings } from './playground';\nimport { VftIcon as Icon } from '@vft-ui/components/icon';\n\ninterface Props {\n title: string;\n files: string;\n settings: string;\n}\n\ndefineProps({\n \"title\": null,\n \"files\": null,\n \"settings\": null\n})\n\n\n\n;\n\nconst loading = ref(true);\nconst component = shallowRef<typeof Repl>();\nconst store = ref<ReplStore>();\n\nconst playgroundOptions = computed(() => getVuePlaygroundSettings(__props.settings));\n\nconst showCode = ref(playgroundOptions.value.showCode || false);\n\nconst setupRepl = async(): Promise<void> => {\n const { ReplStore, Repl } = await import('@vue/repl');\n \n component.value = Repl;\n store.value = new ReplStore({\n serializedState: decodeURIComponent(__props.files),\n showOutput: true\n });\n \n if (playgroundOptions.value.vueVersion) await store.value.setVueVersion(playgroundOptions.value.vueVersion);\n};\n\nonMounted(async() => {\n await setupRepl();\n loading.value = false;\n});\n\ndefineRender(() => {\n return (\n <div class={ns.b()}>\n <div class=\"title-wrapper\">\n <div v-if={__props.title} class=\"title\">{decodeURIComponent(__props.title)}</div>\n <Icon cursor icon={!showCode.value ? 'i-bx:expand-alt' : 'i-bx:collapse-alt'} size={20}\n onClick={() => {showCode.value = !showCode.value;}}></Icon>\n </div>\n <div class={['repl-container', showCode.value ? 'show-code' : 'hide-code']}\n v-spin={loading.value}>\n {\n component.value ? h(component.value, { store: store.value, ...playgroundOptions.value }) : null\n }\n </div>\n </div>\n );\n});\n</script>\n\n"],"names":["ns","useNamespace","__default__","__MACROS_defineComponent","name","b","loading","ref","component","shallowRef","store","playgroundOptions","computed","getVuePlaygroundSettings","__props","settings","showCode","value","setupRepl","ReplStore","Repl","serializedState","decodeURIComponent","files","showOutput","vueVersion","setVueVersion","onMounted","_createVNode","_withDirectives","title","_resolveDirective","Icon","onClick","h"],"mappings":"23BACMA,EAAuBC,EAAAA,aAAa,mBAAmB,EAGhCC,EAAAC,EAAAA,gBAAyB,CACpDC,KAAMJ,EAAGK,EAAC,CACZ,CAAC,iFAyBD,MAAMC,EAAUC,MAAI,EAAI,EAClBC,EAAYC,EAAAA,aACZC,EAAQH,EAAAA,MAERI,EAAoBC,EAAAA,SAAS,IAAMC,EAAwB,yBAACC,EAAQC,QAAQ,CAAC,EAE7EC,EAAWT,EAAAA,IAAII,EAAkBM,MAAMD,UAAY,EAAK,EAExDE,EAAY,SAA0B,CAC1C,KAAM,CAAEC,UAAAA,EAAWC,KAAAA,CAAK,EAAI,KAAM,QAAO,WAAW,EAEpDZ,EAAUS,MAAQG,EAClBV,EAAMO,MAAQ,IAAIE,EAAU,CAC1BE,gBAAiBC,mBAAmBR,EAAQS,KAAK,EACjDC,WAAY,EACd,CAAC,EAEGb,EAAkBM,MAAMQ,YAAY,MAAMf,EAAMO,MAAMS,cAAcf,EAAkBM,MAAMQ,UAAU,GAG5GE,OAAAA,EAAAA,UAAU,SAAW,CACnB,MAAMT,EAAS,EACfZ,EAAQW,MAAQ,EAClB,CAAC,EAEY,IACXW,EAAAA,YAAA,MAAA,CAAA,MACc5B,EAAGK,EAAC,CAAE,EAAA,CAAAuB,EAAA,YAAA,MAAA,CAAA,MACL,iBAAeC,CAAAA,EAAAA,eAAAD,EAAA,YAAA,MAAA,CAAA,MACQ,OAAO,EAAA,CAAEN,mBAAmBR,EAAQgB,KAAK,CAAC,CAAA,EAAA,CAAA,CAAAC,EAAAA,iBAAA,IAAA,EAA/DjB,EAAQgB,KAAK,CAAAF,CAAAA,EAAAA,EAAAA,YAAAI,EAAAA,QAAA,CAAA,OAAA,GAAA,KACJhB,EAASC,MAA4B,oBAApB,kBAAuC,KAAQ,GAAE,QAC3EgB,IAAM,CAACjB,EAASC,MAAQ,CAACD,EAASC,KAAM,CAACY,EAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,eAAAD,EAAAA,YAAA,MAAA,CAAA,MAE1C,CAAC,iBAAkBZ,EAASC,MAAQ,YAAc,WAAW,CAGrET,EAAAA,CAAAA,EAAUS,MAAQiB,EAAAA,EAAE1B,EAAUS,MAAO,CAAEP,MAAOA,EAAMO,MAAO,GAAGN,EAAkBM,KAAO,CAAA,EAAI,IAAI,CAAA,EAAA,CAAA,CAAAc,EAAA,iBAFzFzB,MAAAA,EAAAA,EAAQW,KAAK,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playground.js","sources":["../../../../../packages/components/md-vue-playground/playground.ts"],"sourcesContent":["import { deepMerge } from '@vft/utils';\nimport type { SFCOptions } from '@vue/repl';\n\n/**\n * Vue Playground options\n *\n * @description Vue playground is using [`@vue/repl`](https://github.com/vuejs/repl)\n *\n * Vue 交互演示配置\n *\n * @description Vue playground 使用 [`@vue/repl`](https://github.com/vuejs/repl)\n */\nexport interface VuePlaygroundOptions {\n /**\n * Whether to show code in playground\n *\n * 是否在交互演示中显示代码\n *\n * @default false\n */\n showCode?: boolean;\n\n /**\n * specify the version of vue\n *\n * 指定 vue 版本\n */\n vueVersion?: string;\n\n /**\n * specify default URL to import Vue runtime from in the sandbox\n *\n * 指定默认的 Vue 运行时\n *\n * @default \"https://unpkg.com/@vue/runtime-dom@${version}/dist/runtime-dom.esm-browser.js\"\n */\n defaultVueRuntimeURL?: string;\n\n /**\n * Specify default URL to import Vue Server Renderer from in the sandbox\n *\n * 指定默认的 Vue 服务端渲染器\n *\n * @default \"https://unpkg.com/@vue/server-renderer@${version}/dist/server-renderer.esm-browser.js\"\n */\n defaultVueServerRendererURL?: string;\n\n /**\n * Whether to enable repl's editor resizable\n *\n * 是否启用自动调整大小\n *\n * @default true\n */\n autoResize?: boolean;\n\n /**\n * Whether to show JS, CSS, SSR panel\n *\n * 是否显示 JS, CSS, SSR 面板\n *\n * @default false\n */\n showCompileOutput?: boolean;\n\n /**\n * Whether to show import map\n *\n * 是否显示 import map\n *\n * @default true\n */\n showImportMap?: boolean;\n\n /**\n * Whether to clear console\n *\n * 是否清空控制台\n *\n * @default false\n */\n clearConsole?: boolean;\n\n /**\n * Layout\n *\n * 布局\n *\n * @default \"vertical\"\n */\n layout?: 'vertical' | 'horizontal';\n\n /**\n * Options to configure the `vue/compiler-sfc`\n *\n * `vue/compiler-sfc` 配置项\n */\n sfcOptions?: SFCOptions;\n\n /**\n * Whether to enable SSR\n *\n * 是否启用 SSR\n *\n * @default true\n */\n ssr?: boolean;\n}\n\nconst VUE_PLAYGROUND_OPTIONS: VuePlaygroundOptions = {\n autoResize: true,\n showCode: false,\n showCompileOutput: false,\n showImportMap: true,\n clearConsole: false,\n layout: 'vertical',\n ssr: false\n};\n\nexport const getVuePlaygroundSettings = (settings: string): VuePlaygroundOptions => deepMerge(VUE_PLAYGROUND_OPTIONS, <VuePlaygroundOptions>JSON.parse(decodeURIComponent(settings)));\n"],"names":["VUE_PLAYGROUND_OPTIONS","getVuePlaygroundSettings","settings","deepMerge"],"mappings":"8GA6GMA,EAA+C,CACnD,WAAY,GACZ,SAAU,GACV,kBAAmB,GACnB,cAAe,GACf,aAAc,GACd,OAAQ,WACR,IAAK,EACP,EAEaC,EAA4BC,GAA2CC,YAAUH,EAA8C,KAAK,MAAM,mBAAmBE,CAAQ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","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":"gWAOaA,EAAUC,cAAYC,UAAM,CAAA,SACxCC,EAAA,QAAA,cACAC,EAAA,QAAA,QACAC,EAAA,OACD,CAAC,EAEYC,EAAcC,kBAAgBJ,SAAQ,EACtCK,EAAmBD,kBAAgBH,SAAa,EAChDK,EAAaF,kBAAgBF,EAAO,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-collapse-transition.vue.js","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":"4OA2DY,SAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,QAARC,YAAQ,EAAAC,cAAAC,EAAAA,WAAAC,EAAA,WAAA,CAAA,KAAA,QAAA,EAAAT,EAAA,SAAA,EAAA,CAAA,QAAAU,EAAA,QAAA,IAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-collapse-transition.vue2.js","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":"wVAOAA,EAAeC,kBAAgB,CAC7B,OAAQ,CACA,MAAAC,EAAKC,eAAa,MAAM,EAyCvB,MAAA,CACL,UAzCgB,CAChB,cAAgBC,GAAQA,EAAG,MAAM,QAAU,MAC3C,QAAQA,EAAIC,EAAM,CAChBC,EAAA,SAASF,EAAI,GAAGF,EAAG,UAAU,0BAA0B,EACvDE,EAAG,MAAM,QAAU,IACdC,GACP,EAEA,aAAaD,EAAI,CACfG,EAAA,YAAYH,EAAI,GAAGF,EAAG,UAAU,0BAA0B,EAC1DE,EAAG,MAAM,QAAU,EACrB,EAEA,cAAcA,EAAI,CACXA,EAAG,UACJA,EAAW,QAAU,IAGrBI,EAAAA,SAASJ,EAAIF,EAAG,EAAE,UAAU,CAAC,GAC/BK,EAAAA,YAAYH,EAAIF,EAAG,EAAE,UAAU,CAAC,EAC7BE,EAAA,QAAQ,YAAcA,EAAG,MAAM,SAClCA,EAAG,QAAQ,YAAcA,EAAG,YAAY,SAAS,EACjDE,EAAAA,SAASF,EAAIF,EAAG,EAAE,UAAU,CAAC,IAE7BI,EAAAA,SAASF,EAAIF,EAAG,EAAE,UAAU,CAAC,EAC1BE,EAAA,QAAQ,YAAcA,EAAG,MAAM,SAClCA,EAAG,QAAQ,YAAcA,EAAG,YAAY,SAAS,EACjDG,EAAAA,YAAYH,EAAIF,EAAG,EAAE,UAAU,CAAC,GAG/BE,EAAA,MAAM,MAAQ,GAAGA,EAAG,gBACvBA,EAAG,MAAM,SAAW,QACtB,EAEA,QAAQA,EAAiB,CACvBE,WAASF,EAAI,gCAAgC,EAC7CA,EAAG,MAAM,MAAQ,GAAGA,EAAG,QAAQ,eACjC,CAAA,CAIA,CAEJ,CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item-group.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item-group.vue2.js","sources":["../../../../../packages/components/menu/menu-item-group.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu-item-group')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_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__","__MACROS_defineComponent"],"mappings":"gVACA,MAAMA,EAAuBC,EAAAA,aAAa,iBAAiB,EAG9BC,EAAAC,EAAAA,gBAAyB,CACrD,KAAMH,EAAG,EAAE,CACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.vue2.js","sources":["../../../../../packages/components/menu/menu-item.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu-item')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_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__","__MACROS_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":"83DACMA,EAAuBC,EAAAA,aAAa,WAAW,EAGxBC,EAAAC,EAAAA,gBAAyB,CACpD,KAAMH,EAAG,EAAE,CACb,CAAC,gOA6CD,MAAMI,EAAWC,EAAAA,qBAEXC,EAASL,eAAa,MAAM,EAE5BM,EAAaN,eAAa,WAAW,EAGrCO,EAAYC,EAAQ,WAAgD,KAAnCC,EAAAA,OAAqB,UAAU,EAClE,CAACF,GAAY,CAACC,EAAQ,YAAuBE,EAAAA,WAAAX,EAAG,EAAE,EAAG,0BAA0B,EAG7E,KAAA,CAAE,WAAAY,EAAY,UAAAC,CAAA,EAAcC,EAAA,QAChCV,EACAW,WAAS,IAAMN,EAAQ,KAAM,CAAA,EAIzBO,EAAWP,EAAQ,WAA0E,KAA7DC,EAAAA,OAAwB,WAAWE,EAAW,MAAM,KAAK,EAC3F,CAACI,GAAW,CAACP,EAAQ,YAAuBE,EAAAA,WAAAX,EAAG,EAAE,EAAG,yBAAyB,EAGjF,MAAMiB,EAASF,EAAAA,SAAS,IAAMN,EAAQ,SAAUD,GAAA,YAAAA,EAAU,YAAW,EAE/DU,EAA2BC,EAAAA,SAAS,CACxC,MAAOV,EAAQ,MACf,UAAAI,EACA,OAAAI,CAAA,CACD,EAGKG,EAAc,IAAM,CACnBX,EAAQ,WACXD,GAAA,MAAAA,EAAU,oBAAoB,CAC5B,MAAOC,EAAQ,MACf,UAAWI,EAAU,MACrB,MAAOJ,EAAQ,KAAA,GAEjBY,EAAK,QAASH,CAAI,EACpB,EAGII,EAAQP,EAAAA,SAAS,IACdQ,kBAAgBd,EAAQ,KAAM,MAAM,CAC5C,EAEKe,EAAQT,EAAAA,SAAS,IACdU,EAAA,YAAYrB,EAAU,OAAO,CACrC,EAEDsB,OAAAA,EAAAA,UAAU,IAAM,CACTjB,EAAQ,aAEXO,GAAA,MAAAA,EAAS,WAAWE,GAEpBV,GAAA,MAAAA,EAAU,YAAYU,GACxB,CACD,EAEDS,EAAAA,gBAAgB,IAAM,CACflB,EAAQ,aACXO,GAAA,MAAAA,EAAS,cAAcE,GACvBV,GAAA,MAAAA,EAAU,eAAeU,GAC3B,CACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.vue2.js","sources":["../../../../../packages/components/menu/menu.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('menu')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_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: 'i-line-md:menu',\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__","__MACROS_defineComponent","slots","useSlots","instance","getCurrentInstance","_router","menu","ref","nsSubMenu","sliceIndex","openedMenus","__props","activeIndex","items","subMenus","isMenuPopup","computed","initMenu","activeItem","index","subMenu","openMenu","indexPath","emit","closeMenu","i","handleSubMenuClick","handleMenuItemClick","menuItem","route","routerResult","res","updateActiveIndex","val","itemsInData","item","calcSliceIndex","_a","moreItemWidth","paddingLeft","paddingRight","menuWidth","calcWidth","debounce","fn","wait","timmer","isFirstTimeRender","handleResize","callback","nextTick","watch","currentActive","value","resizeStopper","watchEffect","useResizeObserver","addSubMenu","removeSubMenu","addMenuItem","removeMenuItem","provide","reactive","onMounted","Menubar","expose","slot","vShowMore","originalSlot","flattedChildren","slotDefault","slotMore","h","SubMenu","Icon","ulStyle","useMenuCssVar","vMenu","MenuCollapseTransition"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.vue2.js","sources":["../../../../../packages/components/menu/sub-menu.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('sub-menu')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_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: 'i-ep:arrow-down', size: 20, ...__props.expandIcon } :\n { icon: 'i-ep: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__","__MACROS_defineComponent","name","b","instance","getCurrentInstance","indexPath","parentMenu","useMenu","computed","__props","index","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","value","uid","subMenus","ref","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","level","appendToBody","popperAppendToBody","undefined","Boolean","menuTransitionName","props","collapse","namespace","fallbackPlacements","opened","openedMenus","includes","active","isActive","Object","values","forEach","subItem","activeIndex","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","color","borderBottomColor","doDestroy","popperRef","popperInstanceRef","destroy","handleCollapseToggle","handleClick","menuTrigger","disabled","handleSubMenuClick","handleMouseenter","event","_showTimeout","showTimeout","type","stop","useTimeoutFn","openMenu","vnode","el","dispatchEvent","MouseEvent","handleMouseleave","deepDispatch","closeMenu","hideTimeout","parent","watch","addSubMenu","removeSubMenu","provide","expose","onMounted","onBeforeUnmount","slots","useSlots","subMenuIcon","icon","size","expandIcon","collapseIcon","_icon","singleAttrToObj","titleCon","renderTNode","titleTag","h","Icon","class","showArrow","e","title","style","transform","ulStyle","useMenuCssVar","child","isMenuPopup","Tooltip","visible","effect","pure","offset","popperOffset","persistent","popperClass","placement","teleported","transition","gpuAcceleration","toolTipCfg","content","m","onMouseenter","evt","onMouseleave","onFocus","default","onClick","Fragment","CollapseTransition","withDirectives","role","vShow","is","ariaHaspopup","ariaExpanded"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-menu-css-var.js","sources":["../../../../../packages/components/menu/use-menu-css-var.ts"],"sourcesContent":["import { computed } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\n\nexport const useMenuCssVar = (props: any, level: number) => {\n const ns = useNamespace('menu');\n return computed(() => {\n return ns.cssVarBlock({\n level: `${level}`\n });\n });\n};\n"],"names":["useMenuCssVar","props","level","ns","useNamespace","computed"],"mappings":"oTAGa,MAAAA,EAAgB,CAACC,EAAYC,IAAkB,CACpD,MAAAC,EAAKC,eAAa,MAAM,EAC9B,OAAOC,WAAS,IACPF,EAAG,YAAY,CACpB,MAAO,GAAGD,GAAA,CACX,CACF,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-menu.js","sources":["../../../../../packages/components/menu/use-menu.ts"],"sourcesContent":["import { computed } from 'vue';\n\nimport type { ComponentInternalInstance, Ref } from 'vue';\n\n/**\n * @description menu-item 与 sub-menu 都会调用此方法\n * @author wfd\n * @date 2022/11/8 14:02\n * @example\n * @param {ComponentInternalInstance} instance\n * @param {Ref<string>} currentIndex\n * @returns {{indexPath: ComputedRef<string[]>, parentMenu: ComputedRef<ComponentInternalInstance>}}\n */\nexport default function useMenu(\n instance: ComponentInternalInstance,\n currentIndex: Ref<string>\n) {\n \n /**\n * 这个 indexPath 是如何查找的,一般我们会给 vft-sub-menu 组件一个 index 属性,由于这个文件只有 menu-item 与 sub-menu 调用,\n * 由于 sub-menu 向上查询,不会有 index 属性了,主要是不断去找 menu-item 的父组件的 props 中的 index 属性\n *\n * 所以最终 indexPath 返回 menu-item:[自身的 index,sub-menu 的 index],sub-menu: [自身的index]\n *\n * sub-menu:['mio'] menu-item:['mio', '1-2']\n * @type {ComputedRef<string[]>}\n */\n const indexPath = computed(() => {\n let parent = instance.parent!;\n \n const path = [currentIndex.value];\n while (parent.type.name !== 'vft-menu') {\n if (parent.props.index) {\n path.unshift(parent.props.index as string);\n }\n parent = parent.parent!;\n }\n return path;\n });\n \n /**\n * @description 如果是 sub-menu 文件最终返回的 parent 是 vft-menu 组件,如果是 menu-item 最终返回的是 vft-sub-menu 组件\n * @author wfd\n * @date 2022/11/8 16:23\n * @example\n * @type {ComputedRef<ComponentInternalInstance>}\n */\n const parentMenu = computed(() => {\n let parent = instance.parent;\n while (parent && !['vft-menu', 'vft-sub-menu'].includes(parent.type.name!)) {\n parent = parent.parent;\n }\n return parent!;\n });\n \n return {\n parentMenu,\n indexPath\n };\n}\n"],"names":["useMenu","instance","currentIndex","indexPath","computed","parent","path"],"mappings":"mIAawB,SAAAA,EACtBC,EACAC,EACA,CAWM,MAAAC,EAAYC,EAAAA,SAAS,IAAM,CAC/B,IAAIC,EAASJ,EAAS,OAEhB,MAAAK,EAAO,CAACJ,EAAa,KAAK,EACzB,KAAAG,EAAO,KAAK,OAAS,YACtBA,EAAO,MAAM,OACVC,EAAA,QAAQD,EAAO,MAAM,KAAe,EAE3CA,EAASA,EAAO,OAEX,OAAAC,CAAA,CACR,EAiBM,MAAA,CACL,WATiBF,EAAAA,SAAS,IAAM,CAChC,IAAIC,EAASJ,EAAS,OACf,KAAAI,GAAU,CAAC,CAAC,WAAY,cAAc,EAAE,SAASA,EAAO,KAAK,IAAK,GACvEA,EAASA,EAAO,OAEX,OAAAA,CAAA,CACR,EAIC,UAAAF,CAAA,CAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-bar.js","sources":["../../../../../../packages/components/menu/utils/menu-bar.ts"],"sourcesContent":["import MenuItem from './menu-item';\n\nimport type { RendererNode } from 'vue';\n\nclass Menu {\n constructor(public domNode: RendererNode, namespace: string) {\n this.init(namespace);\n }\n init(namespace: string): void {\n const menuChildren = this.domNode.childNodes;\n Array.from<Node>(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child as HTMLElement, namespace);\n }\n });\n }\n}\n\nexport default Menu;\n"],"names":["Menu","domNode","namespace","menuChildren","child","MenuItem"],"mappings":"8IAIA,MAAMA,CAAK,CACT,YAAmBC,EAAuBC,EAAmB,CAA1C,KAAA,QAAAD,EACjB,KAAK,KAAKC,CAAS,CACrB,CACA,KAAKA,EAAyB,CACtB,MAAAC,EAAe,KAAK,QAAQ,WAClC,MAAM,KAAWA,CAAY,EAAE,QAASC,GAAU,CAC5CA,EAAM,WAAa,GACjB,IAAAC,EAAA,QAASD,EAAsBF,CAAS,CAC9C,CACD,CACH,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.js","sources":["../../../../../../packages/components/menu/utils/menu-item.ts"],"sourcesContent":["import { triggerEvent } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport SubMenu from './submenu';\n\nclass MenuItem {\n public submenu: SubMenu | null = null;\n constructor(public domNode: HTMLElement, namespace: string) {\n this.submenu = null;\n this.init(namespace);\n }\n\n init(namespace: string): void {\n this.domNode.setAttribute('tabindex', '0');\n const menuChild = this.domNode.querySelector(`.${namespace}-menu`);\n if (menuChild) {\n this.submenu = new SubMenu(this, menuChild);\n }\n this.addListeners();\n }\n\n addListeners(): void {\n this.domNode.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter');\n this.submenu && this.submenu.gotoSubIndex(0);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter');\n this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseleave');\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n (event.currentTarget as HTMLElement).click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n }\n });\n }\n}\n\nexport default MenuItem;\n"],"names":["MenuItem","domNode","namespace","menuChild","SubMenu","event","prevDef","EVENT_CODE","triggerEvent"],"mappings":"gMAIA,MAAMA,CAAS,CAEb,YAAmBC,EAAsBC,EAAmB,CAAzC,KAAA,QAAAD,EADnB,KAAO,QAA0B,KAE/B,KAAK,QAAU,KACf,KAAK,KAAKC,CAAS,CACrB,CAEA,KAAKA,EAAyB,CACvB,KAAA,QAAQ,aAAa,WAAY,GAAG,EACzC,MAAMC,EAAY,KAAK,QAAQ,cAAc,IAAID,QAAgB,EAC7DC,IACF,KAAK,QAAU,IAAIC,EAAQ,QAAA,KAAMD,CAAS,GAE5C,KAAK,aAAa,CACpB,CAEA,cAAqB,CACnB,KAAK,QAAQ,iBAAiB,UAAYE,GAAyB,CACjE,IAAIC,EAAU,GACd,OAAQD,EAAM,KAAM,CAClB,KAAKE,EAAAA,WAAW,KAAM,CACPC,EAAAA,aAAAH,EAAM,cAA8B,YAAY,EAC7D,KAAK,SAAW,KAAK,QAAQ,aAAa,CAAC,EACjCC,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,GAAI,CACLC,EAAAA,aAAAH,EAAM,cAA8B,YAAY,EACxD,KAAA,SAAW,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,OAAS,CAAC,EACpEC,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,IAAK,CACNC,EAAAA,aAAAH,EAAM,cAA8B,YAAY,EAC7D,KACF,CACA,KAAKE,EAAAA,WAAW,MAChB,KAAKA,EAAAA,WAAW,MAAO,CACXD,EAAA,GACTD,EAAM,cAA8B,QACrC,KACF,CACF,CACIC,GACFD,EAAM,eAAe,CACvB,CACD,CACH,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submenu.js","sources":["../../../../../../packages/components/menu/utils/submenu.ts"],"sourcesContent":["// @ts-nocheck\nimport { triggerEvent } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport type MenuItem from './menu-item';\n\nclass SubMenu {\n public subMenuItems: NodeList;\n public subIndex = 0;\n constructor(public parent: MenuItem, public domNode: ParentNode) {\n this.subIndex = 0;\n this.init();\n }\n\n init(): void {\n this.subMenuItems = this.domNode.querySelectorAll('li');\n this.addListeners();\n }\n\n gotoSubIndex(idx: number): void {\n if (idx === this.subMenuItems.length) {\n idx = 0;\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1;\n }\n (this.subMenuItems[idx] as HTMLElement).focus();\n this.subIndex = idx;\n }\n\n addListeners(): void {\n const parentNode = this.parent.domNode;\n Array.prototype.forEach.call(this.subMenuItems, (el: Element) => {\n el.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n this.gotoSubIndex(this.subIndex + 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n this.gotoSubIndex(this.subIndex - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(parentNode as HTMLElement, 'mouseleave');\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n (event.currentTarget as HTMLElement).click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n event.stopPropagation();\n }\n return false;\n });\n });\n }\n}\n\nexport default SubMenu;\n"],"names":["SubMenu","parent","domNode","idx","parentNode","el","event","prevDef","EVENT_CODE","triggerEvent"],"mappings":"sKAKA,MAAMA,CAAQ,CAGZ,YAAmBC,EAAyBC,EAAqB,CAA9C,KAAA,OAAAD,EAAyB,KAAA,QAAAC,EAD5C,KAAO,SAAW,EAEhB,KAAK,SAAW,EAChB,KAAK,KAAK,CACZ,CAEA,MAAa,CACX,KAAK,aAAe,KAAK,QAAQ,iBAAiB,IAAI,EACtD,KAAK,aAAa,CACpB,CAEA,aAAaC,EAAmB,CAC1BA,IAAQ,KAAK,aAAa,OACtBA,EAAA,EACGA,EAAM,IACTA,EAAA,KAAK,aAAa,OAAS,GAElC,KAAK,aAAaA,CAAG,EAAkB,MAAM,EAC9C,KAAK,SAAWA,CAClB,CAEA,cAAqB,CACb,MAAAC,EAAa,KAAK,OAAO,QAC/B,MAAM,UAAU,QAAQ,KAAK,KAAK,aAAeC,GAAgB,CAC5DA,EAAA,iBAAiB,UAAYC,GAAyB,CACvD,IAAIC,EAAU,GACd,OAAQD,EAAM,KAAM,CAClB,KAAKE,EAAAA,WAAW,KAAM,CACf,KAAA,aAAa,KAAK,SAAW,CAAC,EACzBD,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,GAAI,CACb,KAAA,aAAa,KAAK,SAAW,CAAC,EACzBD,EAAA,GACV,KACF,CACA,KAAKC,EAAAA,WAAW,IAAK,CACnBC,eAAaL,EAA2B,YAAY,EACpD,KACF,CACA,KAAKI,EAAAA,WAAW,MAChB,KAAKA,EAAAA,WAAW,MAAO,CACXD,EAAA,GACTD,EAAM,cAA8B,QACrC,KACF,CACF,CACA,OAAIC,IACFD,EAAM,eAAe,EACrBA,EAAM,gBAAgB,GAEjB,EAAA,CACR,CAAA,CACF,CACH,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/message/index.ts"],"sourcesContent":["import { withInstallFunction } from '@vft-ui/utils';\n\nimport Message from './method';\n\nexport const VftMessage = withInstallFunction(Message, '$message');\nexport default VftMessage;\n\nexport {\n VftMessage as Message\n};\n\nexport * from './types';\n"],"names":["VftMessage","withInstallFunction","Message"],"mappings":"6QAIaA,EAAaC,EAAAA,oBAAoBC,EAAAA,QAAS,UAAU"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instance.js","sources":["../../../../../packages/components/message/instance.ts"],"sourcesContent":["import { shallowReactive } from 'vue';\nimport type { ComponentInternalInstance, VNode } from 'vue';\nimport type { Mutable } from '@vft-ui/utils';\nimport type { MessageHandler, MessageProps } from './types';\n\nexport type MessageContext = {\n\tid: string\n\tvnode: VNode\n\thandler: MessageHandler\n\tvm: ComponentInternalInstance\n\tprops: Mutable<MessageProps>\n}\n\nexport const instances: MessageContext[] = shallowReactive([]);\n\nexport const getInstance = (id: string) => {\n\tconst idx = instances.findIndex((instance) => instance.id === id);\n\tconst current = instances[idx];\n\tlet prev: MessageContext | undefined;\n\tif (idx > 0) {\n\t\tprev = instances[idx - 1];\n\t}\n\treturn { current, prev };\n};\n\nexport const getLastOffset = (id: string): number => {\n\tconst { prev } = getInstance(id);\n\tif (!prev) return 0;\n\treturn prev.vm.exposed!.bottom.value;\n};\n\nexport const getOffsetOrSpace = (id: string, offset: number) => {\n\tconst idx = instances.findIndex((instance) => instance.id === id);\n\treturn idx > 0 ? 20 : offset;\n};\n"],"names":["instances","shallowReactive","getInstance","id","idx","instance","current","prev","getLastOffset","getOffsetOrSpace","offset"],"mappings":"uGAaaA,EAA8BC,EAAgB,gBAAA,EAAE,EAEhDC,EAAeC,GAAe,CAC1C,MAAMC,EAAMJ,EAAU,UAAWK,GAAaA,EAAS,KAAOF,CAAE,EAC1DG,EAAUN,EAAUI,CAAG,EACzB,IAAAG,EACJ,OAAIH,EAAM,IACFG,EAAAP,EAAUI,EAAM,CAAC,GAElB,CAAE,QAAAE,EAAS,KAAAC,EACnB,EAEaC,EAAiBL,GAAuB,CACpD,KAAM,CAAE,KAAAI,CAAA,EAASL,EAAYC,CAAE,EAC/B,OAAKI,EACEA,EAAK,GAAG,QAAS,OAAO,MADb,CAEnB,EAEaE,EAAmB,CAACN,EAAYO,IAChCV,EAAU,UAAWK,GAAaA,EAAS,KAAOF,CAAE,EACnD,EAAI,GAAKO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.vue2.js","sources":["../../../../../packages/components/message/message.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { EVENT_CODE } from '@vft/constants';\nimport { isObject } from '@vft/utils';\nimport { useResizeObserver, useTimeoutFn } from '@vueuse/core';\nimport { useEventListener } from '@vft/use';\nimport type { CSSProperties } from 'vue';\nimport { computed, onMounted, ref, type VNode, watch } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { getLastOffset } from './instance';\nimport Icon from '@vft-ui/components/icon';\nimport type { MessageType } from './types';\n\ninterface MessageProps {\n customClass?: string;\n center?: boolean;\n dangerouslyUseHTMLString?: boolean;\n duration: number;\n icon?: string;\n id: string;\n message?: string | VNode | (() => VNode);\n onClose?: Function;\n showClose?: boolean;\n type: MessageType;\n offset: number;\n zIndex?: number;\n grouping?: boolean;\n repeatNum?: number;\n}\n\nconst props = defineProps({\n \"customClass\": null,\n \"center\": { type: Boolean, },\n \"dangerouslyUseHTMLString\": { type: Boolean, },\n \"duration\": null,\n \"icon\": null,\n \"id\": null,\n \"message\": { type: [String, null, Function], },\n \"onClose\": { type: Function, },\n \"showClose\": { type: Boolean, },\n \"type\": null,\n \"offset\": null,\n \"zIndex\": null,\n \"grouping\": { type: Boolean, },\n \"repeatNum\": null\n});\n\ndefineEmits(['destroy']);\n\nconst ns = useNamespace('message');\n\n// 消息框 ref\nconst messageRef = ref<HTMLDivElement>();\n// 是否可见\nconst visible = ref(false);\nconst height = ref(0);\n\nlet stopTimer: (() => void) | undefined = undefined;\n\nconst iconCfgMap = new Map([\n ['success', { icon: 'i-ep:success-filled' }],\n ['error', { icon: 'i-ep:circle-close-filled' }],\n ['warning', { icon: 'i-ep:warning-filled' }]\n]);\n\nconst iconCfg = computed(() => {\n const _iconCfg = props.icon ? isObject(props.icon) ? props.icon : { icon: props.icon } : '';\n\n return _iconCfg || iconCfgMap.get(props.type) || '';\n});\n\nconst typeClass = computed(() => {\n const type = props.type;\n return { [ns.bm('icon', type)]: type };\n});\n\nconst lastOffset = computed(() => getLastOffset(props.id));\n// 偏移量\nconst offset = computed(() => props.offset + lastOffset.value);\nconst bottom = computed((): number => height.value + offset.value);\nconst customStyle = computed<CSSProperties>(() => ({\n top: `${offset.value}px`,\n zIndex: props.zIndex\n}));\n\nfunction startTimer () {\n if (props.duration === 0) return;\n ({ stop: stopTimer } = useTimeoutFn(() => {\n close();\n }, props.duration));\n}\n\nfunction clearTimer () {\n stopTimer?.();\n}\n\nfunction close () {\n visible.value = false;\n}\n\n// 监听退出键关闭\nfunction keydown ({ code }: KeyboardEvent) {\n if (code === EVENT_CODE.esc) {\n close();\n }\n}\n\nonMounted(() => {\n startTimer();\n visible.value = true;\n});\n\nwatch(\n () => props.repeatNum,\n () => {\n clearTimer();\n startTimer();\n }\n);\n\n// 监听键盘事件\nuseEventListener(document, 'keydown', keydown);\n\n// 监听 messageRef 消息框的大小变化\nuseResizeObserver(messageRef, () => {\n height.value = messageRef.value!.getBoundingClientRect().height;\n});\n\ndefineExpose({\n visible,\n bottom,\n close\n});\n</script>\n\n<template>\n <transition\n :name=\"ns.b('fade')\"\n @before-leave=\"onClose\"\n @after-leave=\"$emit('destroy')\"\n >\n <div\n v-show=\"visible\"\n :id=\"id\"\n ref=\"messageRef\"\n :class=\"[\n ns.b(),\n { [ns.m(type)]: type && !icon },\n ns.is('center', center),\n ns.is('closable', showClose),\n customClass,\n ]\"\n :style=\"customStyle\"\n role=\"alert\"\n @mouseenter=\"clearTimer\"\n @mouseleave=\"startTimer\"\n >\n <div v-if=\"iconCfg\" :class=\"[ns.e('icon'), typeClass]\">\n <icon v-bind=\"iconCfg\" />\n </div>\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\" :class=\"ns.e('content')\">\n {{ message }}\n </p>\n <!-- Caution here, message could've been compromised, never use user's input as message -->\n <p v-else :class=\"ns.e('content')\" v-html=\"message\" />\n </slot>\n <div v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n <icon icon=\"i-ep:circle-close\"/>\n </div>\n </div>\n </transition>\n</template>\n"],"names":["ns","useNamespace","messageRef","ref","visible","height","stopTimer","iconCfgMap","iconCfg","computed","props","isObject","typeClass","type","lastOffset","getLastOffset","offset","bottom","customStyle","startTimer","useTimeoutFn","close","clearTimer","keydown","code","EVENT_CODE","onMounted","watch","useEventListener","useResizeObserver","expose"],"mappings":"y1BAgDMA,EAAKC,eAAa,SAAS,EAG3BC,EAAaC,EAAAA,MAEbC,EAAUD,MAAI,EAAK,EACnBE,EAASF,MAAI,CAAC,EAEpB,IAAIG,EAEE,MAAAC,MAAiB,IAAI,CACzB,CAAC,UAAW,CAAE,KAAM,sBAAuB,EAC3C,CAAC,QAAS,CAAE,KAAM,2BAA4B,EAC9C,CAAC,UAAW,CAAE,KAAM,sBAAuB,CAAA,CAC5C,EAEKC,EAAUC,EAAAA,SAAS,KACNC,EAAM,KAAOC,EAAA,SAASD,EAAM,IAAI,EAAIA,EAAM,KAAO,CAAE,KAAMA,EAAM,MAAS,KAEtEH,EAAW,IAAIG,EAAM,IAAI,GAAK,EAClD,EAEKE,EAAYH,EAAAA,SAAS,IAAM,CAC/B,MAAMI,EAAOH,EAAM,KACZ,MAAA,CAAE,CAACV,EAAG,GAAG,OAAQa,CAAI,CAAC,EAAGA,EAAK,CACtC,EAEKC,EAAaL,EAAAA,SAAS,IAAMM,EAAc,cAAAL,EAAM,EAAE,CAAC,EAEnDM,EAASP,EAAAA,SAAS,IAAMC,EAAM,OAASI,EAAW,KAAK,EACvDG,EAASR,EAAAA,SAAS,IAAcJ,EAAO,MAAQW,EAAO,KAAK,EAC3DE,EAAcT,EAAAA,SAAwB,KAAO,CACjD,IAAK,GAAGO,EAAO,UACf,OAAQN,EAAM,MACd,EAAA,EAEF,SAASS,GAAc,CACjBT,EAAM,WAAa,IACtB,CAAE,KAAMJ,CAAU,EAAIc,eAAa,IAAM,CAClCC,GAAA,EACLX,EAAM,QAAQ,EACnB,CAEA,SAASY,GAAc,CACThB,GAAA,MAAAA,GACd,CAEA,SAASe,GAAS,CAChBjB,EAAQ,MAAQ,EAClB,CAGS,SAAAmB,EAAS,CAAE,KAAAC,GAAuB,CACrCA,IAASC,aAAW,KAChBJ,GAEV,CAEAK,OAAAA,EAAAA,UAAU,IAAM,CACHP,IACXf,EAAQ,MAAQ,EAAA,CACjB,EAEDuB,EAAA,MACE,IAAMjB,EAAM,UACZ,IAAM,CACOY,IACAH,GACb,CAAA,EAIeS,EAAAA,iBAAA,SAAU,UAAWL,CAAO,EAG7CM,EAAA,kBAAkB3B,EAAY,IAAM,CAClCG,EAAO,MAAQH,EAAW,MAAO,sBAAA,EAAwB,MAAA,CAC1D,EAEY4B,EAAA,CACX,QAAA1B,EACA,OAAAa,EACA,MAAAI,CAAA,CACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"method.js","sources":["../../../../../packages/components/message/method.ts"],"sourcesContent":["import { createVNode, render } from 'vue';\nimport { isClient } from '@vueuse/core';\nimport { isElement, isFunction, isNumber, isString, isVNode } from '@vft/utils';\nimport { useZIndex } from '@vft-ui/hooks';\nimport { debugWarn } from '../../utils';\nimport MessageConstructor from './message.vue';\nimport { messageDefaults, messageTypes } from './types';\nimport { instances } from './instance';\nimport { messageConfig } from '@vft-ui/components/config-provider';\nimport type { MessageContext } from './instance';\nimport type { AppContext } from 'vue';\nimport type { Message, MessageFn, MessageHandler, MessageParamsNormalized, MessageParams, MessageType } from './types';\n\nlet seed = 1;\n\n// 获取最终处理后的 message 的参数\nconst normalizeOptions = (params?: MessageParams) => {\n const options = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params;\n\n // 合并传入的数据与默认的值\n const normalized = {\n ...messageDefaults,\n ...options\n };\n\n // appendTo 默认指定为 body\n if (!normalized.appendTo) {\n normalized.appendTo = document.body;\n } else if (isString(normalized.appendTo)) {\n let appendTo = document.querySelector<HTMLElement>(normalized.appendTo);\n // 当外部传入了 appendTo 但是我们获取到的 appendTo 不是一个元素节点,抛出警告,然后继续默认指定为 body\n if (!isElement(appendTo)) {\n debugWarn('VftMessage', 'the appendTo option is not an HTMLElement. Falling back to document.body.');\n appendTo = document.body;\n }\n\n normalized.appendTo = appendTo;\n }\n\n return normalized as MessageParamsNormalized;\n};\n\n// 关闭 message\nconst closeMessage = (instance: MessageContext) => {\n const idx = instances.indexOf(instance);\n if (idx === -1) return;\n\n instances.splice(idx, 1);\n const { handler } = instance;\n handler.close();\n};\n\n/**\n * @description 创建一个 message 实例\n * @author wfd\n * @date 2022/10/31 15:37\n * @example\n * @param {any} appendTo\n * @param {Omit<, \"appendTo\">} options\n * @param {AppContext | null} context\n * @returns {MessageContext}\n */\nconst createMessage = ({ appendTo, ...options }: MessageParamsNormalized, context?: AppContext | null): MessageContext => {\n // z-index 的设置\n const { nextZIndex } = useZIndex();\n // 自定义 message 的 id\n const id = `message_${seed++}`;\n // 获取用户自定义的 onClose\n const userOnClose = options.onClose;\n\n const container = document.createElement('div');\n\n const props = {\n ...options,\n zIndex: nextZIndex() + options.zIndex!,\n id,\n onClose: () => {\n userOnClose?.();\n closeMessage(instance);\n },\n\n // 清除 message element 防止内存泄漏\n onDestroy: () => {\n render(null, container);\n }\n };\n // 创建一个虚拟节点,children 的用处是为了 message 可能是函数或者虚拟节点\n const vnode = createVNode(MessageConstructor, props, isFunction(props.message) || isVNode(props.message) ? { default: isFunction(props.message) ? props.message : () => props.message } : null);\n\n // 设置 context\n vnode.appContext = context || message._context;\n // 渲染虚拟dom\n render(vnode, container);\n\n // 将渲染好的 dom 添加到 appendTo 上,默认是添加到 body 上\n appendTo.appendChild(container.firstElementChild!);\n\n const vm = vnode.component!;\n\n const handler: MessageHandler = {\n // instead of calling the onClose function directly,\n // setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n // 将 message 组件暴露出来的 visible 设置为 false\n vm.exposed!.visible.value = false;\n }\n };\n\n // 返回这个实例\n const instance: MessageContext = {\n id,\n vnode,\n vm,\n handler,\n props: (vnode.component as any).props\n };\n\n return instance;\n};\n\n// message 初始化相关\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } = (options = {}, context) => {\n if (!isClient) return { close: () => undefined };\n\n // 判断设置最大的 message 展示的数量\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined };\n }\n // 获取最终处理后的 message 的参数\n const normalized = normalizeOptions(options);\n\n // 开启分组,message 实例存在\n if (normalized.grouping && instances.length) {\n // 找出当前实例中展示的 message 与现在 options 参数中 message 一致的 message 实例\n const instance = instances.find(({ vnode: vm }) => vm.props?.message === normalized.message);\n // repeatNum ++\n if (instance) {\n instance.props.repeatNum += 1;\n instance.props.type = normalized.type;\n return instance.handler;\n }\n }\n // 创建一个 message 实例\n const instance = createMessage(normalized, context);\n // 将 message 实例 push 至数组中\n instances.push(instance);\n\n return instance.handler;\n};\n\n//\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext) => {\n const normalized = normalizeOptions(options);\n return message({ ...normalized, type }, appContext);\n };\n});\n\n// 关闭所有 message\nexport function closeAll(type?: MessageType): void {\n for (const instance of instances) {\n if (!type || type === instance.props.type) {\n instance.handler.close();\n }\n }\n}\n\nmessage.closeAll = closeAll;\nmessage._context = null;\n\nexport default message as Message;\n"],"names":["seed","normalizeOptions","params","options","isString","isVNode","isFunction","normalized","messageDefaults","appendTo","isElement","debugWarn","closeMessage","instance","idx","instances","handler","createMessage","context","nextZIndex","useZIndex","id","userOnClose","container","props","render","vnode","createVNode","MessageConstructor","message","vm","isClient","isNumber","messageConfig","_a","messageTypes","type","appContext","closeAll"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../packages/components/message/types.ts"],"sourcesContent":["import { isClient } from '@vueuse/core';\nimport type { AppContext, VNode } from 'vue';\n\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const;\nexport type MessageType = 'success' | 'warning' | 'info' | 'error';\n\nexport interface MessageConfigContext {\n /** 可同时显示的消息最大数量 */\n max?: number;\n}\n\n// props 默认赋值\nexport const messageDefaults = {\n customClass: '',\n center: false,\n dangerouslyUseHTMLString: false,\n duration: 3000,\n icon: undefined,\n id: '',\n message: '',\n onClose: undefined,\n showClose: false,\n type: 'info',\n offset: 16,\n zIndex: 0,\n grouping: false,\n repeatNum: 1,\n appendTo: isClient ? document.body : (undefined as never)\n};\n\nexport interface MessageProps {\n customClass?: string;\n center?: boolean;\n dangerouslyUseHTMLString?: boolean;\n duration?: number;\n icon?: string;\n id?: string;\n message?: string | VNode | (() => VNode);\n onClose?: Function;\n showClose?: boolean;\n type?: MessageType;\n offset?: number;\n zIndex?: number;\n grouping?: boolean;\n repeatNum: number;\n}\n\n// 排除 id 增加 appendTo\nexport type MessageOptions = Partial<\n Omit<MessageProps, 'id'> & {\n appendTo?: HTMLElement | string;\n }\n>;\n\nexport type MessageParams = MessageOptions | MessageOptions['message'];\n\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n appendTo: HTMLElement;\n};\n\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>;\nexport type MessageParamsWithType = MessageOptionsWithType | MessageOptions['message'];\n\nexport interface MessageHandler {\n close: () => void;\n}\n\nexport type MessageFn = {\n (options?: MessageParams, appContext?: null | AppContext): MessageHandler;\n closeAll(type?: MessageType): void;\n};\n\nexport type MessageTypedFn = (options?: MessageParamsWithType, appContext?: null | AppContext) => MessageHandler;\n\nexport interface Message extends MessageFn {\n success: MessageTypedFn\n warning: MessageTypedFn\n info: MessageTypedFn\n error: MessageTypedFn\n}\n"],"names":["messageTypes","messageDefaults","isClient"],"mappings":"gHAGaA,EAAe,CAAC,UAAW,OAAQ,UAAW,OAAO,EASrDC,EAAkB,CAC7B,YAAa,GACb,OAAQ,GACR,yBAA0B,GAC1B,SAAU,IACV,KAAM,OACN,GAAI,GACJ,QAAS,GACT,QAAS,OACT,UAAW,GACX,KAAM,OACN,OAAQ,GACR,OAAQ,EACR,SAAU,GACV,UAAW,EACX,SAAUC,EAAW,SAAA,SAAS,KAAQ,MACxC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/multiple-tabs/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils';\n\nimport MultipleTabs from './multiple-tabs.vue';\n\nexport const VftMultipleTabs = MultipleTabs;\n// export const VftMultipleTabs = withInstall(MultipleTabs)\nexport default VftMultipleTabs;\nexport * from './use';\nexport * from './types';\n"],"names":["VftMultipleTabs","MultipleTabs"],"mappings":"sOAIaA,EAAkBC,EAAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-tabs.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-tabs.vue2.js","sources":["../../../../../packages/components/multiple-tabs/multiple-tabs.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('multiple-tabs')\n\nimport { defineComponent as __MACROS_defineComponent } from 'vue';\nexport default /*#__PURE__*/ __MACROS_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', 'vft'), ...__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', 'vft'),\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__","__MACROS_defineComponent","affixList","initAffixTabs","__props","useTabsDrag","tabStore","useMultipleTabStore","activePathRef","ref","activeIndex","fromRoute","router","useRouter","go","useRouterHelper","getTabsState","computed","item","_a","watchEffect","_activeIndex","getRouterKeyPath","onBeforeRouteLeave","unref","listenerRouteChange","route","meta","currentActivePath","hideTab","isHide","activePath","findParentRoute","handleClick","pane","clickTab","hideActiveRoutePath","_b","handleRemove","targetPath","refs","setRefs","useRefs","handleContextMenu","data","_index","_event","_tabsStyle","initTabStyle","generateCssVars","closeCurrent","useTabs","hotkeys","_contextMenuStyle"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-content.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-content.vue2.js","sources":["../../../../../packages/components/multiple-tabs/tab-content.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { useContextMenu } from '@vft-ui/components/context-menu';\nimport type { TabContentExpose } from './types';\nimport { useTabDropdown } from './use';\n\ninterface Props {\n tabItem: RouteLocationNormalized;\n affixNum: number;\n contextMenuStyle?: Record<string, Numberish>;\n}\n\ndefineProps({\n \"tabItem\": null,\n \"affixNum\": null,\n \"contextMenuStyle\": null\n})\n\nconst [createContextMenu] = useContextMenu();\n\nconst getTitle = computed(() => {\n return __props.tabItem.meta && (__props.tabItem.meta.title as string);\n});\n\nconst { getDropMenuList, handleContextMenu } = useTabDropdown(__props.tabItem, __props.affixNum);\n\nfunction handleContext(e: MouseEvent) {\n handleContextMenu(__props.tabItem)(e);\n createContextMenu({\n event: e,\n styles: __props.contextMenuStyle,\n items: getDropMenuList.value\n });\n}\n\ndefineExpose<TabContentExpose>({\n handleContext\n});\n</script>\n\n<template>\n <span :title=\"getTitle\" class=\"vft-multiple-tabs__title\" @contextmenu.stop=\"handleContext\">{{ getTitle }}</span>\n</template>\n"],"names":["createContextMenu","useContextMenu","getTitle","computed","__props","getDropMenuList","handleContextMenu","useTabDropdown","handleContext","e","expose"],"mappings":"07DAmBM,KAAA,CAACA,CAAiB,EAAIC,EAAAA,iBAEtBC,EAAWC,EAAAA,SAAS,IACjBC,EAAQ,QAAQ,MAASA,EAAQ,QAAQ,KAAK,KACtD,EAEK,CAAE,gBAAAC,EAAiB,kBAAAC,GAAsBC,EAAAA,eAAeH,EAAQ,QAASA,EAAQ,QAAQ,EAE/F,SAASI,EAAcC,EAAe,CAClBH,EAAAF,EAAQ,OAAO,EAAEK,CAAC,EAClBT,EAAA,CAChB,MAAOS,EACP,OAAQL,EAAQ,iBAChB,MAAOC,EAAgB,KAAA,CACxB,CACH,CAE+B,OAAAK,EAAA,CAC7B,cAAAF,CAAA,CACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-multiple-tabs.js","sources":["../../../../../../packages/components/multiple-tabs/use/use-multiple-tabs.ts"],"sourcesContent":["import { useSortable } from '@vft/use';\nimport { arrSort, isNullOrUndefined } from '@vft/utils';\nimport type { SortableEvent } from 'sortablejs';\nimport { nextTick, ref, toRaw } from 'vue';\nimport type { RouteLocationNormalized } from 'vue-router';\nimport { useRouter } from 'vue-router';\nimport { useMultipleTabStore } from '@vft/store';\n\n/**\n * @description 初始化需要固定的 tab 标签\n * @author wfd\n * @date 2022/10/15 19:03\n * @example\n * @returns {string[]}\n */\nexport function initAffixTabs(): string[] {\n const affixList = ref<RouteLocationNormalized[]>([]);\n\n const tabStore = useMultipleTabStore();\n const router = useRouter();\n\n // 过滤需要固定的标签\n function filterAffixTabs(routes: RouteLocationNormalized[]) {\n const tabs: RouteLocationNormalized[] = [];\n routes &&\n routes.forEach((route) => {\n if (route.meta?.affix) {\n // console.log(route, 777, toRaw(route));\n tabs.push(toRaw(route));\n }\n });\n return tabs;\n }\n\n function addAffixTabs() {\n const affixTabs = filterAffixTabs(router.getRoutes() as unknown as RouteLocationNormalized[]);\n\n arrSort(affixTabs, ['meta', 'order']);\n\n affixList.value = affixTabs;\n\n for (const tab of affixTabs) {\n tabStore.addTab({\n meta: tab.meta,\n name: tab.name,\n path: tab.path\n } as RouteLocationNormalized);\n }\n }\n\n let isAddAffix = false;\n\n // 开始执行固定标签\n if (!isAddAffix) {\n addAffixTabs();\n isAddAffix = true;\n }\n return affixList.value.map((item) => item.meta?.title).filter(Boolean) as string[];\n}\n\nexport function useTabsDrag(affixTextList: string[]) {\n const tabStore = useMultipleTabStore();\n nextTick(() => {\n const el = document.querySelectorAll('.vft-tabs__nav')?.[0] as HTMLElement;\n\n const { initSortable } = useSortable(el, {\n draggable: '.is-closable',\n filter: (e) => {\n const text = (e?.target as HTMLElement)?.innerText;\n if (!text) return false;\n return affixTextList.includes(text);\n },\n\n onEnd: (evt: SortableEvent) => {\n const { oldIndex, newIndex } = evt;\n\n if (isNullOrUndefined(oldIndex) || isNullOrUndefined(newIndex) || oldIndex === newIndex) {\n return;\n }\n\n tabStore.sortTabs(oldIndex, newIndex);\n }\n });\n initSortable();\n });\n}\n"],"names":["initAffixTabs","affixList","ref","tabStore","useMultipleTabStore","router","useRouter","filterAffixTabs","routes","tabs","route","_a","toRaw","addAffixTabs","affixTabs","arrSort","tab","isAddAffix","item","useTabsDrag","affixTextList","nextTick","el","initSortable","useSortable","e","text","evt","oldIndex","newIndex","isNullOrUndefined"],"mappings":"qMAeO,SAASA,GAA0B,CAClC,MAAAC,EAAYC,MAA+B,CAAA,CAAE,EAE7CC,EAAWC,EAAAA,sBACXC,EAASC,EAAAA,YAGf,SAASC,EAAgBC,EAAmC,CAC1D,MAAMC,EAAkC,CAAA,EAEtC,OAAAD,GAAAA,EAAO,QAASE,GAAU,QACpBC,EAAAD,EAAM,OAAN,MAAAC,EAAY,OAETF,EAAA,KAAKG,QAAMF,CAAK,CAAC,CACxB,CACD,EACID,CACT,CAEA,SAASI,GAAe,CACtB,MAAMC,EAAYP,EAAgBF,EAAO,UAAmD,CAAA,EAE5FU,EAAAA,QAAQD,EAAW,CAAC,OAAQ,OAAO,CAAC,EAEpCb,EAAU,MAAQa,EAElB,UAAWE,KAAOF,EAChBX,EAAS,OAAO,CACd,KAAMa,EAAI,KACV,KAAMA,EAAI,KACV,KAAMA,EAAI,IAAA,CACgB,CAEhC,CAEA,IAAIC,EAAa,GAGjB,OAAKA,IACUJ,IACAI,EAAA,IAERhB,EAAU,MAAM,IAAKiB,GAAA,OAAS,OAAAP,EAAAO,EAAK,OAAL,YAAAP,EAAW,MAAK,EAAE,OAAO,OAAO,CACvE,CAEO,SAASQ,EAAYC,EAAyB,CACnD,MAAMjB,EAAWC,EAAAA,sBACjBiB,EAAAA,SAAS,IAAM,OACb,MAAMC,GAAKX,EAAA,SAAS,iBAAiB,gBAAgB,IAA1C,YAAAA,EAA8C,GAEnD,CAAE,aAAAY,CAAA,EAAiBC,EAAA,YAAYF,EAAI,CACvC,UAAW,eACX,OAASG,GAAM,OACP,MAAAC,GAAQf,EAAAc,GAAA,YAAAA,EAAG,SAAH,YAAAd,EAA2B,UACzC,OAAKe,EACEN,EAAc,SAASM,CAAI,EADhB,EAEpB,EAEA,MAAQC,GAAuB,CACvB,KAAA,CAAE,SAAAC,EAAU,SAAAC,CAAa,EAAAF,EAE3BG,EAAAA,kBAAkBF,CAAQ,GAAKE,EAAAA,kBAAkBD,CAAQ,GAAKD,IAAaC,GAItE1B,EAAA,SAASyB,EAAUC,CAAQ,CACtC,CAAA,CACD,EACYN,GAAA,CACd,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-tab-dropdown.js","sources":["../../../../../../packages/components/multiple-tabs/use/use-tab-dropdown.ts"],"sourcesContent":["import { getRouterKeyPath } from '@vft/router';\nimport { computed, reactive, unref } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { type ContextMenuItem } from '@vft-ui/components/context-menu';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\n\nexport function useTabDropdown(tabItem: RouteLocationNormalized, affixNum: number) {\n // 记录当前点击多 tab 的索引与 tab 的信息\n const state = reactive({\n current: null as Nullable<RouteLocationNormalized>,\n currentIndex: 0\n });\n\n const tabStore = useMultipleTabStore();\n const { refreshPage, closeAll, close, closeLeft, closeOther, closeRight, newWinTab } = useTabs();\n\n /**\n * @description 多 tab 菜单列表\n */\n const getDropMenuList = computed(() => {\n if (!tabItem) {\n return;\n }\n const { meta } = tabItem;\n\n const index = state.currentIndex;\n\n // 关闭左侧标签页\n const closeLeftDisabled = index === 0 || index <= affixNum;\n // 关闭右侧标签页\n const closeRightDisabled = tabStore.getTabList.length <= affixNum || (index === tabStore.getTabList.length - 1 && tabStore.getLastDragEndIndex >= 0);\n // 关闭其他\n const closeOtherDisabled = tabStore.getTabList.length === affixNum || (tabStore.getTabList.length === affixNum + 1 && index === affixNum);\n // 关闭所有\n const disabled = tabStore.getTabList.length === affixNum;\n\n const dropMenuList: ContextMenuItem[] = [\n {\n iconCfg: { icon: 'vi-refresh' },\n text: '刷新',\n handler: () => refreshPage(tabItem)\n },\n {\n iconCfg: { icon: 'vi-new-page' },\n text: '新页面打开',\n handler: () => newWinTab(tabItem),\n divider: true\n },\n {\n iconCfg: { icon: 'vi-close' },\n text: '关闭标签页',\n disabled: !!meta?.affix || disabled,\n handler: () => close(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-left' },\n text: '关闭左侧标签页',\n disabled: closeLeftDisabled,\n handler: () => closeLeft(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-right' },\n text: '关闭右侧标签页',\n disabled: closeRightDisabled,\n divider: true,\n handler: () => closeRight(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-other' },\n text: '关闭其它标签页',\n disabled: closeOtherDisabled,\n handler: () => closeOther(tabItem)\n },\n {\n iconCfg: { icon: 'vi-close-all' },\n text: '关闭所有标签页',\n disabled,\n handler: () => closeAll()\n }\n ];\n\n return dropMenuList;\n });\n\n // 点击 tab 右侧菜单事件\n function handleContextMenu(tabItem: RouteLocationNormalized) {\n return (e: Event) => {\n if (!tabItem) {\n return;\n }\n e?.preventDefault();\n\n // 获取当前点击的 tab 在多 tab 列表中的位置\n const index = tabStore.getTabList.findIndex((tab) => getRouterKeyPath(tab) === getRouterKeyPath(tabItem));\n state.current = tabItem;\n state.currentIndex = index;\n };\n }\n\n return { getDropMenuList, handleContextMenu };\n}\n"],"names":["useTabDropdown","tabItem","affixNum","state","reactive","tabStore","useMultipleTabStore","refreshPage","closeAll","close","closeLeft","closeOther","closeRight","newWinTab","useTabs","getDropMenuList","computed","meta","index","closeLeftDisabled","closeRightDisabled","closeOtherDisabled","disabled","handleContextMenu","e","tab","getRouterKeyPath"],"mappings":"wJAMgB,SAAAA,EAAeC,EAAkCC,EAAkB,CAEjF,MAAMC,EAAQC,EAAAA,SAAS,CACrB,QAAS,KACT,aAAc,CAAA,CACf,EAEKC,EAAWC,EAAAA,sBACX,CAAE,YAAAC,EAAa,SAAAC,EAAU,MAAAC,EAAO,UAAAC,EAAW,WAAAC,EAAY,WAAAC,EAAY,UAAAC,GAAcC,EAAAA,UAKjFC,EAAkBC,EAAAA,SAAS,IAAM,CACrC,GAAI,CAACf,EACH,OAEI,KAAA,CAAE,KAAAgB,CAAS,EAAAhB,EAEXiB,EAAQf,EAAM,aAGdgB,EAAoBD,IAAU,GAAKA,GAAShB,EAE5CkB,EAAqBf,EAAS,WAAW,QAAUH,GAAagB,IAAUb,EAAS,WAAW,OAAS,GAAKA,EAAS,qBAAuB,EAE5IgB,EAAqBhB,EAAS,WAAW,SAAWH,GAAaG,EAAS,WAAW,SAAWH,EAAW,GAAKgB,IAAUhB,EAE1HoB,EAAWjB,EAAS,WAAW,SAAWH,EA+CzC,MA7CiC,CACtC,CACE,QAAS,CAAE,KAAM,YAAa,EAC9B,KAAM,KACN,QAAS,IAAMK,EAAYN,CAAO,CACpC,EACA,CACE,QAAS,CAAE,KAAM,aAAc,EAC/B,KAAM,QACN,QAAS,IAAMY,EAAUZ,CAAO,EAChC,QAAS,EACX,EACA,CACE,QAAS,CAAE,KAAM,UAAW,EAC5B,KAAM,QACN,SAAU,CAAC,EAACgB,GAAA,MAAAA,EAAM,QAASK,EAC3B,QAAS,IAAMb,EAAMR,CAAO,CAC9B,EACA,CACE,QAAS,CAAE,KAAM,eAAgB,EACjC,KAAM,UACN,SAAUkB,EACV,QAAS,IAAMT,EAAUT,CAAO,CAClC,EACA,CACE,QAAS,CAAE,KAAM,gBAAiB,EAClC,KAAM,UACN,SAAUmB,EACV,QAAS,GACT,QAAS,IAAMR,EAAWX,CAAO,CACnC,EACA,CACE,QAAS,CAAE,KAAM,gBAAiB,EAClC,KAAM,UACN,SAAUoB,EACV,QAAS,IAAMV,EAAWV,CAAO,CACnC,EACA,CACE,QAAS,CAAE,KAAM,cAAe,EAChC,KAAM,UACN,SAAAqB,EACA,QAAS,IAAMd,EAAS,CAC1B,CAAA,CAGK,CACR,EAGD,SAASe,EAAkBtB,EAAkC,CAC3D,OAAQuB,GAAa,CACnB,GAAI,CAACvB,EACH,OAEFuB,GAAA,MAAAA,EAAG,iBAGG,MAAAN,EAAQb,EAAS,WAAW,UAAWoB,GAAQC,EAAA,iBAAiBD,CAAG,IAAMC,mBAAiBzB,CAAO,CAAC,EACxGE,EAAM,QAAUF,EAChBE,EAAM,aAAee,CAAA,CAEzB,CAEO,MAAA,CAAE,gBAAAH,EAAiB,kBAAAQ,EAC5B"}
|