vft 0.0.18 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/es/component.mjs +63 -32
- package/es/component.mjs.map +1 -1
- package/es/components/avatar/avatar.vue.d.ts +2 -2
- package/es/components/avatar/index.d.ts +2 -2
- package/es/components/back-top/back-top.vue2.mjs +28 -13
- package/es/components/back-top/back-top.vue2.mjs.map +1 -1
- package/es/components/clamp/clamp.vue.d.ts +64 -0
- package/es/components/clamp/clamp.vue.mjs +5 -0
- package/es/components/clamp/clamp.vue.mjs.map +1 -0
- package/es/components/clamp/clamp.vue2.mjs +166 -0
- package/es/components/clamp/clamp.vue2.mjs.map +1 -0
- package/es/components/clamp/index.d.ts +63 -0
- package/es/components/clamp/index.mjs +11 -0
- package/es/components/clamp/index.mjs.map +1 -0
- package/es/components/clamp/style/css.mjs +3 -0
- package/es/components/clamp/style/css.mjs.map +1 -0
- package/es/components/clamp/style/index.mjs +3 -0
- package/es/components/clamp/style/index.mjs.map +1 -0
- package/es/components/clamp-toggle/clamp-toggle.vue.d.ts +101 -0
- package/es/components/clamp-toggle/clamp-toggle.vue.mjs +5 -0
- package/es/components/clamp-toggle/clamp-toggle.vue.mjs.map +1 -0
- package/es/components/clamp-toggle/clamp-toggle.vue2.mjs +57 -0
- package/es/components/clamp-toggle/clamp-toggle.vue2.mjs.map +1 -0
- package/es/components/clamp-toggle/index.d.ts +100 -0
- package/es/components/clamp-toggle/index.mjs +11 -0
- package/es/components/clamp-toggle/index.mjs.map +1 -0
- package/es/components/{context-menu → clamp-toggle}/style/css.mjs +1 -1
- package/es/components/clamp-toggle/style/index.mjs +3 -0
- package/es/components/config-provider/config-provider.vue.d.ts +69 -0
- package/es/components/config-provider/config-provider.vue.mjs +5 -0
- package/es/components/config-provider/config-provider.vue.mjs.map +1 -0
- package/es/components/config-provider/config-provider.vue2.mjs +67 -0
- package/es/components/config-provider/config-provider.vue2.mjs.map +1 -0
- package/es/components/config-provider/constants.d.ts +4 -0
- package/es/components/config-provider/constants.mjs +5 -0
- package/es/components/config-provider/constants.mjs.map +1 -0
- package/es/components/config-provider/hooks/use-global-config.d.ts +31 -0
- package/es/components/config-provider/hooks/use-global-config.mjs +68 -0
- package/es/components/config-provider/hooks/use-global-config.mjs.map +1 -0
- package/es/components/config-provider/index.d.ts +71 -0
- package/es/components/config-provider/index.mjs +17 -0
- package/es/components/config-provider/index.mjs.map +1 -0
- package/es/components/config-provider/style/css.mjs +3 -0
- package/es/components/config-provider/style/css.mjs.map +1 -0
- package/es/components/config-provider/style/index.d.ts +0 -0
- package/es/components/config-provider/style/index.mjs +3 -0
- package/es/components/config-provider/style/index.mjs.map +1 -0
- package/es/components/config-provider/types.d.ts +18 -0
- package/es/components/config-provider/types.mjs +2 -0
- package/es/components/config-provider/types.mjs.map +1 -0
- package/es/components/context-menu/context-menu.vue2.mjs +46 -31
- package/es/components/context-menu/context-menu.vue2.mjs.map +1 -1
- package/es/components/descriptions/description-item.vue.d.ts +69 -0
- package/es/components/descriptions/description-item.vue.mjs +5 -0
- package/es/components/descriptions/description-item.vue.mjs.map +1 -0
- package/es/components/descriptions/description-item.vue2.mjs +33 -0
- package/es/components/descriptions/description-item.vue2.mjs.map +1 -0
- package/es/components/descriptions/description.vue.d.ts +53 -0
- package/es/components/descriptions/description.vue.mjs +5 -0
- package/es/components/descriptions/description.vue.mjs.map +1 -0
- package/es/components/descriptions/description.vue2.mjs +92 -0
- package/es/components/descriptions/description.vue2.mjs.map +1 -0
- package/es/components/descriptions/descriptions-cell.d.ts +25 -0
- package/es/components/descriptions/descriptions-cell.mjs +103 -0
- package/es/components/descriptions/descriptions-cell.mjs.map +1 -0
- package/es/components/descriptions/descriptions-row.vue.d.ts +13 -0
- package/es/components/descriptions/descriptions-row.vue.mjs +5 -0
- package/es/components/descriptions/descriptions-row.vue.mjs.map +1 -0
- package/es/components/descriptions/descriptions-row.vue2.mjs +68 -0
- package/es/components/descriptions/descriptions-row.vue2.mjs.map +1 -0
- package/es/components/descriptions/descriptions.type.d.ts +18 -0
- package/es/components/descriptions/descriptions.type.mjs +2 -0
- package/es/components/descriptions/descriptions.type.mjs.map +1 -0
- package/es/components/descriptions/index.d.ts +187 -0
- package/es/components/descriptions/index.mjs +15 -0
- package/es/components/descriptions/index.mjs.map +1 -0
- package/es/components/descriptions/style/css.d.ts +0 -0
- package/es/components/descriptions/style/css.mjs +3 -0
- package/es/components/descriptions/style/css.mjs.map +1 -0
- package/es/components/descriptions/style/index.d.ts +0 -0
- package/es/components/descriptions/style/index.mjs +3 -0
- package/es/components/descriptions/style/index.mjs.map +1 -0
- package/es/components/descriptions/token.d.ts +3 -0
- package/es/components/descriptions/token.mjs +5 -0
- package/es/components/descriptions/token.mjs.map +1 -0
- package/es/components/descriptions-item/style/css.d.ts +0 -0
- package/es/components/descriptions-item/style/css.mjs +3 -0
- package/es/components/descriptions-item/style/css.mjs.map +1 -0
- package/es/components/descriptions-item/style/index.d.ts +0 -0
- package/es/components/descriptions-item/style/index.mjs +3 -0
- package/es/components/descriptions-item/style/index.mjs.map +1 -0
- package/es/components/divider/divider.vue.d.ts +2 -2
- package/es/components/divider/index.d.ts +2 -2
- package/es/components/full-screen/full-screen.vue.d.ts +2 -0
- package/es/components/full-screen/full-screen.vue.mjs +5 -0
- package/es/components/full-screen/full-screen.vue.mjs.map +1 -0
- package/es/components/full-screen/full-screen.vue2.mjs +35 -0
- package/es/components/full-screen/full-screen.vue2.mjs.map +1 -0
- package/es/components/full-screen/index.d.ts +2 -0
- package/es/components/full-screen/index.mjs +11 -0
- package/es/components/full-screen/index.mjs.map +1 -0
- package/es/components/full-screen/style/css.d.ts +0 -0
- package/es/components/full-screen/style/css.mjs +3 -0
- package/es/components/full-screen/style/css.mjs.map +1 -0
- package/es/components/full-screen/style/index.d.ts +0 -0
- package/es/components/full-screen/style/index.mjs +3 -0
- package/es/components/full-screen/style/index.mjs.map +1 -0
- package/es/components/header-layout/style/css.mjs +1 -0
- package/es/components/header-layout/style/css.mjs.map +1 -1
- package/es/components/header-layout/style/index.mjs +1 -0
- package/es/components/header-layout/style/index.mjs.map +1 -1
- package/es/components/icon-text/icon-text.vue.d.ts +56 -0
- package/es/components/icon-text/icon-text.vue.mjs +5 -0
- package/es/components/icon-text/icon-text.vue.mjs.map +1 -0
- package/es/components/icon-text/icon-text.vue2.mjs +42 -0
- package/es/components/icon-text/icon-text.vue2.mjs.map +1 -0
- package/es/components/icon-text/index.d.ts +54 -0
- package/es/components/icon-text/index.mjs +11 -0
- package/es/components/icon-text/index.mjs.map +1 -0
- package/es/components/icon-text/style/css.d.ts +0 -0
- package/es/components/icon-text/style/css.mjs +3 -0
- package/es/components/icon-text/style/css.mjs.map +1 -0
- package/es/components/icon-text/style/index.d.ts +0 -0
- package/es/components/icon-text/style/index.mjs +3 -0
- package/es/components/icon-text/style/index.mjs.map +1 -0
- package/es/components/image/image.vue.d.ts +108 -0
- package/es/components/image/image.vue.mjs +5 -0
- package/es/components/image/image.vue.mjs.map +1 -0
- package/es/components/image/image.vue2.mjs +117 -0
- package/es/components/image/image.vue2.mjs.map +1 -0
- package/es/components/image/index.d.ts +107 -0
- package/es/components/image/index.mjs +11 -0
- package/es/components/image/index.mjs.map +1 -0
- package/es/components/image/style/css.d.ts +0 -0
- package/es/components/image/style/css.mjs +3 -0
- package/es/components/image/style/css.mjs.map +1 -0
- package/es/components/image/style/index.d.ts +0 -0
- package/es/components/image/style/index.mjs +3 -0
- package/es/components/image/style/index.mjs.map +1 -0
- package/es/components/image/types.d.ts +1 -0
- package/es/components/image/types.mjs +2 -0
- package/es/components/image/types.mjs.map +1 -0
- package/es/components/index.d.ts +15 -0
- package/es/components/index.mjs +96 -54
- package/es/components/index.mjs.map +1 -1
- package/es/components/input/index.d.ts +252 -0
- package/es/components/input/index.mjs +11 -0
- package/es/components/input/index.mjs.map +1 -0
- package/es/components/input/input.vue.d.ts +265 -0
- package/es/components/input/input.vue.mjs +5 -0
- package/es/components/input/input.vue.mjs.map +1 -0
- package/es/components/input/input.vue2.mjs +362 -0
- package/es/components/input/input.vue2.mjs.map +1 -0
- package/es/components/input/style/css.d.ts +0 -0
- package/es/components/input/style/css.mjs +3 -0
- package/es/components/input/style/css.mjs.map +1 -0
- package/es/components/input/style/index.d.ts +0 -0
- package/es/components/input/style/index.mjs +3 -0
- package/es/components/input/style/index.mjs.map +1 -0
- package/es/components/input/utils.d.ts +6 -0
- package/es/components/input/utils.mjs +54 -0
- package/es/components/input/utils.mjs.map +1 -0
- package/es/components/link/index.d.ts +54 -0
- package/es/components/link/index.mjs +11 -0
- package/es/components/link/index.mjs.map +1 -0
- package/es/components/link/link.vue.d.ts +58 -0
- package/es/components/link/link.vue.mjs +5 -0
- package/es/components/link/link.vue.mjs.map +1 -0
- package/es/components/link/link.vue2.mjs +58 -0
- package/es/components/link/link.vue2.mjs.map +1 -0
- package/es/components/link/style/css.d.ts +0 -0
- package/es/components/link/style/css.mjs +3 -0
- package/es/components/link/style/css.mjs.map +1 -0
- package/es/components/link/style/index.d.ts +0 -0
- package/es/components/link/style/index.mjs +3 -0
- package/es/components/link/style/index.mjs.map +1 -0
- package/es/components/menu/index.d.ts +4 -4
- package/es/components/menu/menu-item.vue2.mjs +41 -26
- package/es/components/menu/menu-item.vue2.mjs.map +1 -1
- package/es/components/menu/menu.vue.d.ts +4 -4
- package/es/components/menu/sub-menu.vue2.mjs +60 -45
- package/es/components/menu/sub-menu.vue2.mjs.map +1 -1
- package/es/components/multiple-tabs/multiple-tabs.vue2.mjs +54 -39
- package/es/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -1
- package/es/components/multiple-tabs/tab-content.vue2.mjs +29 -14
- package/es/components/multiple-tabs/tab-content.vue2.mjs.map +1 -1
- package/es/components/overlay/index.d.ts +46 -0
- package/es/components/overlay/index.mjs +11 -0
- package/es/components/overlay/index.mjs.map +1 -0
- package/es/components/overlay/overlay.vue.d.ts +47 -0
- package/es/components/overlay/overlay.vue.mjs +5 -0
- package/es/components/overlay/overlay.vue.mjs.map +1 -0
- package/es/components/overlay/overlay.vue2.mjs +77 -0
- package/es/components/overlay/overlay.vue2.mjs.map +1 -0
- package/es/components/overlay/style/css.d.ts +0 -0
- package/es/components/overlay/style/css.mjs +3 -0
- package/es/components/overlay/style/css.mjs.map +1 -0
- package/es/components/overlay/style/index.d.ts +0 -0
- package/es/components/overlay/style/index.mjs +3 -0
- package/es/components/overlay/style/index.mjs.map +1 -0
- package/es/components/pagination/components/jumper.vue.d.ts +14 -0
- package/es/components/pagination/components/jumper.vue.mjs +5 -0
- package/es/components/pagination/components/jumper.vue.mjs.map +1 -0
- package/es/components/pagination/components/jumper.vue2.mjs +52 -0
- package/es/components/pagination/components/jumper.vue2.mjs.map +1 -0
- package/es/components/pagination/components/next.vue.d.ts +39 -0
- package/es/components/pagination/components/next.vue.mjs +5 -0
- package/es/components/pagination/components/next.vue.mjs.map +1 -0
- package/es/components/pagination/components/next.vue2.mjs +34 -0
- package/es/components/pagination/components/next.vue2.mjs.map +1 -0
- package/es/components/pagination/components/pager.vue.d.ts +39 -0
- package/es/components/pagination/components/pager.vue.mjs +5 -0
- package/es/components/pagination/components/pager.vue.mjs.map +1 -0
- package/es/components/pagination/components/pager.vue2.mjs +153 -0
- package/es/components/pagination/components/pager.vue2.mjs.map +1 -0
- package/es/components/pagination/components/prev.vue.d.ts +31 -0
- package/es/components/pagination/components/prev.vue.mjs +5 -0
- package/es/components/pagination/components/prev.vue.mjs.map +1 -0
- package/es/components/pagination/components/prev.vue2.mjs +33 -0
- package/es/components/pagination/components/prev.vue2.mjs.map +1 -0
- package/es/components/pagination/components/sizes.vue.d.ts +47 -0
- package/es/components/pagination/components/sizes.vue.mjs +5 -0
- package/es/components/pagination/components/sizes.vue.mjs.map +1 -0
- package/es/components/pagination/components/sizes.vue2.mjs +45 -0
- package/es/components/pagination/components/sizes.vue2.mjs.map +1 -0
- package/es/components/pagination/components/total.vue.d.ts +13 -0
- package/es/components/pagination/components/total.vue.mjs +5 -0
- package/es/components/pagination/components/total.vue.mjs.map +1 -0
- package/es/components/pagination/components/total.vue2.mjs +26 -0
- package/es/components/pagination/components/total.vue2.mjs.map +1 -0
- package/es/components/pagination/index.d.ts +121 -0
- package/es/components/pagination/index.mjs +16 -0
- package/es/components/pagination/index.mjs.map +1 -0
- package/es/components/pagination/pagination.d.ts +237 -0
- package/es/components/pagination/pagination.mjs +251 -0
- package/es/components/pagination/pagination.mjs.map +1 -0
- package/es/components/pagination/style/css.d.ts +0 -0
- package/es/components/pagination/style/css.mjs +3 -0
- package/es/components/pagination/style/css.mjs.map +1 -0
- package/es/components/pagination/style/index.d.ts +0 -0
- package/es/components/pagination/style/index.mjs +3 -0
- package/es/components/pagination/style/index.mjs.map +1 -0
- package/es/components/pagination/usePagination.d.ts +10 -0
- package/es/components/pagination/usePagination.mjs +7 -0
- package/es/components/pagination/usePagination.mjs.map +1 -0
- package/es/components/popover/index.d.ts +6 -6
- package/es/components/popover/popover.vue.d.ts +2 -2
- package/es/components/popper/composables/use-content.d.ts +2 -2
- package/es/components/popper/content.vue.d.ts +3 -3
- package/es/components/popper/index.d.ts +2 -2
- package/es/components/popper/popper.vue.d.ts +2 -2
- package/es/components/qrcode/drawCanvas.d.ts +2 -0
- package/es/components/qrcode/drawCanvas.mjs +17 -0
- package/es/components/qrcode/drawCanvas.mjs.map +1 -0
- package/es/components/qrcode/drawLogo.d.ts +2 -0
- package/es/components/qrcode/drawLogo.mjs +39 -0
- package/es/components/qrcode/drawLogo.mjs.map +1 -0
- package/es/components/qrcode/index.d.ts +50 -0
- package/es/components/qrcode/index.mjs +11 -0
- package/es/components/qrcode/index.mjs.map +1 -0
- package/es/components/qrcode/qrcode.vue.d.ts +51 -0
- package/es/components/qrcode/qrcode.vue.mjs +5 -0
- package/es/components/qrcode/qrcode.vue.mjs.map +1 -0
- package/es/components/qrcode/qrcode.vue2.mjs +81 -0
- package/es/components/qrcode/qrcode.vue2.mjs.map +1 -0
- package/es/components/qrcode/qrcodePlus.d.ts +3 -0
- package/es/components/qrcode/qrcodePlus.mjs +5 -0
- package/es/components/qrcode/qrcodePlus.mjs.map +1 -0
- package/es/components/qrcode/style/css.d.ts +0 -0
- package/es/components/qrcode/style/css.mjs +3 -0
- package/es/components/qrcode/style/css.mjs.map +1 -0
- package/es/components/qrcode/style/index.d.ts +0 -0
- package/es/components/qrcode/style/index.mjs +3 -0
- package/es/components/qrcode/style/index.mjs.map +1 -0
- package/es/components/qrcode/toCanvas.d.ts +2 -0
- package/es/components/qrcode/toCanvas.mjs +7 -0
- package/es/components/qrcode/toCanvas.mjs.map +1 -0
- package/es/components/qrcode/types.d.ts +31 -0
- package/es/components/qrcode/types.mjs +2 -0
- package/es/components/qrcode/types.mjs.map +1 -0
- package/es/components/result/result.vue2.mjs +22 -7
- package/es/components/result/result.vue2.mjs.map +1 -1
- package/es/components/side-menu/index.d.ts +117 -0
- package/es/components/side-menu/index.mjs +11 -0
- package/es/components/side-menu/index.mjs.map +1 -0
- package/es/components/side-menu/side-menu.vue.d.ts +118 -0
- package/es/components/side-menu/side-menu.vue.mjs +5 -0
- package/es/components/side-menu/side-menu.vue.mjs.map +1 -0
- package/es/components/side-menu/side-menu.vue2.mjs +226 -0
- package/es/components/side-menu/side-menu.vue2.mjs.map +1 -0
- package/es/components/side-menu/style/css.d.ts +0 -0
- package/es/components/side-menu/style/css.mjs +3 -0
- package/es/components/side-menu/style/css.mjs.map +1 -0
- package/es/components/side-menu/style/index.d.ts +0 -0
- package/es/components/side-menu/style/index.mjs +3 -0
- package/es/components/side-menu/style/index.mjs.map +1 -0
- package/es/components/side-menu/types.d.ts +19 -0
- package/es/components/side-menu/types.mjs +2 -0
- package/es/components/side-menu/types.mjs.map +1 -0
- package/es/components/tabs/index.d.ts +4 -4
- package/es/components/tabs/tab-nav.vue2.mjs +61 -46
- package/es/components/tabs/tab-nav.vue2.mjs.map +1 -1
- package/es/components/tabs/tabs.vue.d.ts +3 -3
- package/es/components/tag/index.d.ts +71 -0
- package/es/components/tag/index.mjs +11 -0
- package/es/components/tag/index.mjs.map +1 -0
- package/es/components/tag/style/css.d.ts +0 -0
- package/es/components/tag/style/css.mjs +3 -0
- package/es/components/tag/style/css.mjs.map +1 -0
- package/es/components/tag/style/index.d.ts +0 -0
- package/es/components/{context-menu → tag}/style/index.mjs +1 -1
- package/es/components/tag/style/index.mjs.map +1 -0
- package/es/components/tag/tag.vue.d.ts +74 -0
- package/es/components/tag/tag.vue.mjs +5 -0
- package/es/components/tag/tag.vue.mjs.map +1 -0
- package/es/components/tag/tag.vue2.mjs +76 -0
- package/es/components/tag/tag.vue2.mjs.map +1 -0
- package/es/components/tag/types.d.ts +1 -0
- package/es/components/tag/types.mjs +2 -0
- package/es/components/tag/types.mjs.map +1 -0
- package/es/components/tooltip/index.d.ts +13 -13
- package/es/components/tooltip/tooltip.vue.d.ts +7 -7
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +33 -30
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-cursor/index.d.ts +2 -0
- package/es/hooks/use-cursor/index.mjs +41 -0
- package/es/hooks/use-cursor/index.mjs.map +1 -0
- package/es/hooks/use-namespace/index.d.ts +3 -3
- package/es/hooks/use-namespace/index.mjs +12 -12
- package/es/hooks/use-namespace/index.mjs.map +1 -1
- package/es/hooks/use-popper/index.d.ts +2 -2
- package/es/hooks/use-z-index/index.d.ts +3 -1
- package/es/hooks/use-z-index/index.mjs +9 -8
- package/es/hooks/use-z-index/index.mjs.map +1 -1
- package/es/index.mjs +149 -104
- package/es/index.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/es/style.css +1 -1
- package/es/theme-style/src/clamp-toggle.scss.mjs +5 -0
- package/es/theme-style/src/clamp-toggle.scss.mjs.map +1 -0
- package/es/theme-style/src/clamp.scss.mjs +5 -0
- package/es/theme-style/src/clamp.scss.mjs.map +1 -0
- package/es/theme-style/src/config-provider.scss.mjs +5 -0
- package/es/theme-style/src/config-provider.scss.mjs.map +1 -0
- package/es/theme-style/src/descriptions-item.scss.mjs +5 -0
- package/es/theme-style/src/descriptions-item.scss.mjs.map +1 -0
- package/es/theme-style/src/descriptions.scss.mjs +5 -0
- package/es/theme-style/src/descriptions.scss.mjs.map +1 -0
- package/es/theme-style/src/full-screen.scss.mjs +5 -0
- package/es/theme-style/src/full-screen.scss.mjs.map +1 -0
- package/es/theme-style/src/icon-text.scss.mjs +5 -0
- package/es/theme-style/src/icon-text.scss.mjs.map +1 -0
- package/es/theme-style/src/image.scss.mjs +5 -0
- package/es/theme-style/src/image.scss.mjs.map +1 -0
- package/es/theme-style/src/input.scss.mjs +5 -0
- package/es/theme-style/src/input.scss.mjs.map +1 -0
- package/es/theme-style/src/link.scss.mjs +5 -0
- package/es/theme-style/src/link.scss.mjs.map +1 -0
- package/es/theme-style/src/overlay.scss.mjs +5 -0
- package/es/theme-style/src/overlay.scss.mjs.map +1 -0
- package/es/theme-style/src/pagination.scss.mjs +5 -0
- package/es/theme-style/src/pagination.scss.mjs.map +1 -0
- package/es/theme-style/src/qrcode.scss.mjs +5 -0
- package/es/theme-style/src/qrcode.scss.mjs.map +1 -0
- package/es/theme-style/src/side-menu.scss.mjs +5 -0
- package/es/theme-style/src/side-menu.scss.mjs.map +1 -0
- package/es/theme-style/src/tag.scss.mjs +5 -0
- package/es/theme-style/src/tag.scss.mjs.map +1 -0
- package/es/utils/error.mjs +3 -3
- package/es/utils/error.mjs.map +1 -1
- package/es/utils/vue/vnode.mjs.map +1 -1
- package/lib/component.js +1 -1
- package/lib/component.js.map +1 -1
- package/lib/components/avatar/avatar.vue.d.ts +2 -2
- package/lib/components/avatar/index.d.ts +2 -2
- package/lib/components/back-top/back-top.vue2.js +1 -1
- package/lib/components/back-top/back-top.vue2.js.map +1 -1
- package/lib/components/clamp/clamp.vue.d.ts +64 -0
- package/lib/components/clamp/clamp.vue.js +2 -0
- package/lib/components/clamp/clamp.vue.js.map +1 -0
- package/lib/components/clamp/clamp.vue2.js +2 -0
- package/lib/components/clamp/clamp.vue2.js.map +1 -0
- package/lib/components/clamp/index.d.ts +63 -0
- package/lib/components/clamp/index.js +2 -0
- package/lib/components/clamp/index.js.map +1 -0
- package/lib/components/clamp/style/css.d.ts +0 -0
- package/lib/components/clamp/style/css.js +2 -0
- package/lib/components/clamp/style/css.js.map +1 -0
- package/lib/components/clamp/style/index.d.ts +0 -0
- package/lib/components/clamp/style/index.js +2 -0
- package/lib/components/clamp/style/index.js.map +1 -0
- package/lib/components/clamp-toggle/clamp-toggle.vue.d.ts +101 -0
- package/lib/components/clamp-toggle/clamp-toggle.vue.js +2 -0
- package/lib/components/clamp-toggle/clamp-toggle.vue.js.map +1 -0
- package/lib/components/clamp-toggle/clamp-toggle.vue2.js +2 -0
- package/lib/components/clamp-toggle/clamp-toggle.vue2.js.map +1 -0
- package/lib/components/clamp-toggle/index.d.ts +100 -0
- package/lib/components/clamp-toggle/index.js +2 -0
- package/lib/components/clamp-toggle/index.js.map +1 -0
- package/lib/components/clamp-toggle/style/css.d.ts +0 -0
- package/lib/components/{context-menu → clamp-toggle}/style/css.js +1 -1
- package/lib/components/clamp-toggle/style/index.d.ts +0 -0
- package/lib/components/clamp-toggle/style/index.js +2 -0
- package/lib/components/config-provider/config-provider.vue.d.ts +69 -0
- package/lib/components/config-provider/config-provider.vue.js +2 -0
- package/lib/components/config-provider/config-provider.vue.js.map +1 -0
- package/lib/components/config-provider/config-provider.vue2.js +2 -0
- package/lib/components/config-provider/config-provider.vue2.js.map +1 -0
- package/lib/components/config-provider/constants.d.ts +4 -0
- package/lib/components/config-provider/constants.js +2 -0
- package/lib/components/config-provider/constants.js.map +1 -0
- package/lib/components/config-provider/hooks/use-global-config.d.ts +31 -0
- package/lib/components/config-provider/hooks/use-global-config.js +2 -0
- package/lib/components/config-provider/hooks/use-global-config.js.map +1 -0
- package/lib/components/config-provider/index.d.ts +71 -0
- package/lib/components/config-provider/index.js +2 -0
- package/lib/components/config-provider/index.js.map +1 -0
- package/lib/components/config-provider/style/css.d.ts +0 -0
- package/lib/components/config-provider/style/css.js +2 -0
- package/lib/components/config-provider/style/css.js.map +1 -0
- package/lib/components/config-provider/style/index.d.ts +0 -0
- package/lib/components/config-provider/style/index.js +2 -0
- package/lib/components/config-provider/style/index.js.map +1 -0
- package/lib/components/config-provider/types.d.ts +18 -0
- package/lib/components/config-provider/types.js +2 -0
- package/lib/components/config-provider/types.js.map +1 -0
- package/lib/components/context-menu/context-menu.vue2.js +1 -1
- package/lib/components/context-menu/context-menu.vue2.js.map +1 -1
- package/lib/components/descriptions/description-item.vue.d.ts +69 -0
- package/lib/components/descriptions/description-item.vue.js +2 -0
- package/lib/components/descriptions/description-item.vue.js.map +1 -0
- package/lib/components/descriptions/description-item.vue2.js +2 -0
- package/lib/components/descriptions/description-item.vue2.js.map +1 -0
- package/lib/components/descriptions/description.vue.d.ts +53 -0
- package/lib/components/descriptions/description.vue.js +2 -0
- package/lib/components/descriptions/description.vue.js.map +1 -0
- package/lib/components/descriptions/description.vue2.js +2 -0
- package/lib/components/descriptions/description.vue2.js.map +1 -0
- package/lib/components/descriptions/descriptions-cell.d.ts +25 -0
- package/lib/components/descriptions/descriptions-cell.js +2 -0
- package/lib/components/descriptions/descriptions-cell.js.map +1 -0
- package/lib/components/descriptions/descriptions-row.vue.d.ts +13 -0
- package/lib/components/descriptions/descriptions-row.vue.js +2 -0
- package/lib/components/descriptions/descriptions-row.vue.js.map +1 -0
- package/lib/components/descriptions/descriptions-row.vue2.js +2 -0
- package/lib/components/descriptions/descriptions-row.vue2.js.map +1 -0
- package/lib/components/descriptions/descriptions.type.d.ts +18 -0
- package/lib/components/descriptions/descriptions.type.js +2 -0
- package/lib/components/descriptions/descriptions.type.js.map +1 -0
- package/lib/components/descriptions/index.d.ts +187 -0
- package/lib/components/descriptions/index.js +2 -0
- package/lib/components/descriptions/index.js.map +1 -0
- package/lib/components/descriptions/style/css.d.ts +0 -0
- package/lib/components/descriptions/style/css.js +2 -0
- package/lib/components/descriptions/style/css.js.map +1 -0
- package/lib/components/descriptions/style/index.d.ts +0 -0
- package/lib/components/descriptions/style/index.js +2 -0
- package/lib/components/descriptions/style/index.js.map +1 -0
- package/lib/components/descriptions/token.d.ts +3 -0
- package/lib/components/descriptions/token.js +2 -0
- package/lib/components/descriptions/token.js.map +1 -0
- package/lib/components/descriptions-item/style/css.d.ts +0 -0
- package/lib/components/descriptions-item/style/css.js +2 -0
- package/lib/components/descriptions-item/style/css.js.map +1 -0
- package/lib/components/descriptions-item/style/index.d.ts +0 -0
- package/lib/components/descriptions-item/style/index.js +2 -0
- package/lib/components/descriptions-item/style/index.js.map +1 -0
- package/lib/components/divider/divider.vue.d.ts +2 -2
- package/lib/components/divider/index.d.ts +2 -2
- package/lib/components/full-screen/full-screen.vue.d.ts +2 -0
- package/lib/components/full-screen/full-screen.vue.js +2 -0
- package/lib/components/full-screen/full-screen.vue.js.map +1 -0
- package/lib/components/full-screen/full-screen.vue2.js +2 -0
- package/lib/components/full-screen/full-screen.vue2.js.map +1 -0
- package/lib/components/full-screen/index.d.ts +2 -0
- package/lib/components/full-screen/index.js +2 -0
- package/lib/components/full-screen/index.js.map +1 -0
- package/lib/components/full-screen/style/css.d.ts +0 -0
- package/lib/components/full-screen/style/css.js +2 -0
- package/lib/components/full-screen/style/css.js.map +1 -0
- package/lib/components/full-screen/style/index.d.ts +0 -0
- package/lib/components/full-screen/style/index.js +2 -0
- package/lib/components/full-screen/style/index.js.map +1 -0
- package/lib/components/header-layout/style/css.js +1 -1
- package/lib/components/header-layout/style/index.js +1 -1
- package/lib/components/icon-text/icon-text.vue.d.ts +56 -0
- package/lib/components/icon-text/icon-text.vue.js +2 -0
- package/lib/components/icon-text/icon-text.vue.js.map +1 -0
- package/lib/components/icon-text/icon-text.vue2.js +2 -0
- package/lib/components/icon-text/icon-text.vue2.js.map +1 -0
- package/lib/components/icon-text/index.d.ts +54 -0
- package/lib/components/icon-text/index.js +2 -0
- package/lib/components/icon-text/index.js.map +1 -0
- package/lib/components/icon-text/style/css.d.ts +0 -0
- package/lib/components/icon-text/style/css.js +2 -0
- package/lib/components/icon-text/style/css.js.map +1 -0
- package/lib/components/icon-text/style/index.d.ts +0 -0
- package/lib/components/icon-text/style/index.js +2 -0
- package/lib/components/icon-text/style/index.js.map +1 -0
- package/lib/components/image/image.vue.d.ts +108 -0
- package/lib/components/image/image.vue.js +2 -0
- package/lib/components/image/image.vue.js.map +1 -0
- package/lib/components/image/image.vue2.js +2 -0
- package/lib/components/image/image.vue2.js.map +1 -0
- package/lib/components/image/index.d.ts +107 -0
- package/lib/components/image/index.js +2 -0
- package/lib/components/image/index.js.map +1 -0
- package/lib/components/image/style/css.d.ts +0 -0
- package/lib/components/image/style/css.js +2 -0
- package/lib/components/image/style/css.js.map +1 -0
- package/lib/components/image/style/index.d.ts +0 -0
- package/lib/components/image/style/index.js +2 -0
- package/lib/components/image/style/index.js.map +1 -0
- package/lib/components/image/types.d.ts +1 -0
- package/lib/components/image/types.js +2 -0
- package/lib/components/image/types.js.map +1 -0
- package/lib/components/index.d.ts +15 -0
- package/lib/components/index.js +1 -1
- package/lib/components/input/index.d.ts +252 -0
- package/lib/components/input/index.js +2 -0
- package/lib/components/input/index.js.map +1 -0
- package/lib/components/input/input.vue.d.ts +265 -0
- package/lib/components/input/input.vue.js +2 -0
- package/lib/components/input/input.vue.js.map +1 -0
- package/lib/components/input/input.vue2.js +2 -0
- package/lib/components/input/input.vue2.js.map +1 -0
- package/lib/components/input/style/css.d.ts +0 -0
- package/lib/components/input/style/css.js +2 -0
- package/lib/components/input/style/css.js.map +1 -0
- package/lib/components/input/style/index.d.ts +0 -0
- package/lib/components/input/style/index.js +2 -0
- package/lib/components/input/style/index.js.map +1 -0
- package/lib/components/input/utils.d.ts +6 -0
- package/lib/components/input/utils.js +10 -0
- package/lib/components/input/utils.js.map +1 -0
- package/lib/components/link/index.d.ts +54 -0
- package/lib/components/link/index.js +2 -0
- package/lib/components/link/index.js.map +1 -0
- package/lib/components/link/link.vue.d.ts +58 -0
- package/lib/components/link/link.vue.js +2 -0
- package/lib/components/link/link.vue.js.map +1 -0
- package/lib/components/link/link.vue2.js +2 -0
- package/lib/components/link/link.vue2.js.map +1 -0
- package/lib/components/link/style/css.d.ts +0 -0
- package/lib/components/link/style/css.js +2 -0
- package/lib/components/link/style/css.js.map +1 -0
- package/lib/components/link/style/index.d.ts +0 -0
- package/lib/components/{context-menu → link}/style/index.js +1 -1
- package/lib/components/link/style/index.js.map +1 -0
- package/lib/components/menu/index.d.ts +4 -4
- package/lib/components/menu/menu-item.vue2.js +1 -1
- package/lib/components/menu/menu-item.vue2.js.map +1 -1
- package/lib/components/menu/menu.vue.d.ts +4 -4
- package/lib/components/menu/sub-menu.vue2.js +1 -1
- package/lib/components/menu/sub-menu.vue2.js.map +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.js +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -1
- package/lib/components/multiple-tabs/tab-content.vue2.js +1 -1
- package/lib/components/multiple-tabs/tab-content.vue2.js.map +1 -1
- package/lib/components/overlay/index.d.ts +46 -0
- package/lib/components/overlay/index.js +2 -0
- package/lib/components/overlay/index.js.map +1 -0
- package/lib/components/overlay/overlay.vue.d.ts +47 -0
- package/lib/components/overlay/overlay.vue.js +2 -0
- package/lib/components/overlay/overlay.vue.js.map +1 -0
- package/lib/components/overlay/overlay.vue2.js +2 -0
- package/lib/components/overlay/overlay.vue2.js.map +1 -0
- package/lib/components/overlay/style/css.d.ts +0 -0
- package/lib/components/overlay/style/css.js +2 -0
- package/lib/components/overlay/style/css.js.map +1 -0
- package/lib/components/overlay/style/index.d.ts +0 -0
- package/lib/components/overlay/style/index.js +2 -0
- package/lib/components/overlay/style/index.js.map +1 -0
- package/lib/components/pagination/components/jumper.vue.d.ts +14 -0
- package/lib/components/pagination/components/jumper.vue.js +2 -0
- package/lib/components/pagination/components/jumper.vue.js.map +1 -0
- package/lib/components/pagination/components/jumper.vue2.js +2 -0
- package/lib/components/pagination/components/jumper.vue2.js.map +1 -0
- package/lib/components/pagination/components/next.vue.d.ts +39 -0
- package/lib/components/pagination/components/next.vue.js +2 -0
- package/lib/components/pagination/components/next.vue.js.map +1 -0
- package/lib/components/pagination/components/next.vue2.js +2 -0
- package/lib/components/pagination/components/next.vue2.js.map +1 -0
- package/lib/components/pagination/components/pager.vue.d.ts +39 -0
- package/lib/components/pagination/components/pager.vue.js +2 -0
- package/lib/components/pagination/components/pager.vue.js.map +1 -0
- package/lib/components/pagination/components/pager.vue2.js +2 -0
- package/lib/components/pagination/components/pager.vue2.js.map +1 -0
- package/lib/components/pagination/components/prev.vue.d.ts +31 -0
- package/lib/components/pagination/components/prev.vue.js +2 -0
- package/lib/components/pagination/components/prev.vue.js.map +1 -0
- package/lib/components/pagination/components/prev.vue2.js +2 -0
- package/lib/components/pagination/components/prev.vue2.js.map +1 -0
- package/lib/components/pagination/components/sizes.vue.d.ts +47 -0
- package/lib/components/pagination/components/sizes.vue.js +2 -0
- package/lib/components/pagination/components/sizes.vue.js.map +1 -0
- package/lib/components/pagination/components/sizes.vue2.js +2 -0
- package/lib/components/pagination/components/sizes.vue2.js.map +1 -0
- package/lib/components/pagination/components/total.vue.d.ts +13 -0
- package/lib/components/pagination/components/total.vue.js +2 -0
- package/lib/components/pagination/components/total.vue.js.map +1 -0
- package/lib/components/pagination/components/total.vue2.js +2 -0
- package/lib/components/pagination/components/total.vue2.js.map +1 -0
- package/lib/components/pagination/index.d.ts +121 -0
- package/lib/components/pagination/index.js +2 -0
- package/lib/components/pagination/index.js.map +1 -0
- package/lib/components/pagination/pagination.d.ts +237 -0
- package/lib/components/pagination/pagination.js +2 -0
- package/lib/components/pagination/pagination.js.map +1 -0
- package/lib/components/pagination/style/css.d.ts +0 -0
- package/lib/components/pagination/style/css.js +2 -0
- package/lib/components/pagination/style/css.js.map +1 -0
- package/lib/components/pagination/style/index.d.ts +0 -0
- package/lib/components/pagination/style/index.js +2 -0
- package/lib/components/pagination/style/index.js.map +1 -0
- package/lib/components/pagination/usePagination.d.ts +10 -0
- package/lib/components/pagination/usePagination.js +2 -0
- package/lib/components/pagination/usePagination.js.map +1 -0
- package/lib/components/popover/index.d.ts +6 -6
- package/lib/components/popover/popover.vue.d.ts +2 -2
- package/lib/components/popper/composables/use-content.d.ts +2 -2
- package/lib/components/popper/content.vue.d.ts +3 -3
- package/lib/components/popper/index.d.ts +2 -2
- package/lib/components/popper/popper.vue.d.ts +2 -2
- package/lib/components/qrcode/drawCanvas.d.ts +2 -0
- package/lib/components/qrcode/drawCanvas.js +2 -0
- package/lib/components/qrcode/drawCanvas.js.map +1 -0
- package/lib/components/qrcode/drawLogo.d.ts +2 -0
- package/lib/components/qrcode/drawLogo.js +2 -0
- package/lib/components/qrcode/drawLogo.js.map +1 -0
- package/lib/components/qrcode/index.d.ts +50 -0
- package/lib/components/qrcode/index.js +2 -0
- package/lib/components/qrcode/index.js.map +1 -0
- package/lib/components/qrcode/qrcode.vue.d.ts +51 -0
- package/lib/components/qrcode/qrcode.vue.js +2 -0
- package/lib/components/qrcode/qrcode.vue.js.map +1 -0
- package/lib/components/qrcode/qrcode.vue2.js +2 -0
- package/lib/components/qrcode/qrcode.vue2.js.map +1 -0
- package/lib/components/qrcode/qrcodePlus.d.ts +3 -0
- package/lib/components/qrcode/qrcodePlus.js +2 -0
- package/lib/components/qrcode/qrcodePlus.js.map +1 -0
- package/lib/components/qrcode/style/css.d.ts +0 -0
- package/lib/components/qrcode/style/css.js +2 -0
- package/lib/components/qrcode/style/css.js.map +1 -0
- package/lib/components/qrcode/style/index.d.ts +0 -0
- package/lib/components/qrcode/style/index.js +2 -0
- package/lib/components/qrcode/style/index.js.map +1 -0
- package/lib/components/qrcode/toCanvas.d.ts +2 -0
- package/lib/components/qrcode/toCanvas.js +2 -0
- package/lib/components/qrcode/toCanvas.js.map +1 -0
- package/lib/components/qrcode/types.d.ts +31 -0
- package/lib/components/qrcode/types.js +2 -0
- package/lib/components/qrcode/types.js.map +1 -0
- package/lib/components/result/result.vue2.js +1 -1
- package/lib/components/result/result.vue2.js.map +1 -1
- package/lib/components/side-menu/index.d.ts +117 -0
- package/lib/components/side-menu/index.js +2 -0
- package/lib/components/side-menu/index.js.map +1 -0
- package/lib/components/side-menu/side-menu.vue.d.ts +118 -0
- package/lib/components/side-menu/side-menu.vue.js +2 -0
- package/lib/components/side-menu/side-menu.vue.js.map +1 -0
- package/lib/components/side-menu/side-menu.vue2.js +2 -0
- package/lib/components/side-menu/side-menu.vue2.js.map +1 -0
- package/lib/components/side-menu/style/css.d.ts +0 -0
- package/lib/components/side-menu/style/css.js +2 -0
- package/lib/components/side-menu/style/css.js.map +1 -0
- package/lib/components/side-menu/style/index.d.ts +0 -0
- package/lib/components/side-menu/style/index.js +2 -0
- package/lib/components/side-menu/style/index.js.map +1 -0
- package/lib/components/side-menu/types.d.ts +19 -0
- package/lib/components/side-menu/types.js +2 -0
- package/lib/components/side-menu/types.js.map +1 -0
- package/lib/components/tabs/index.d.ts +4 -4
- package/lib/components/tabs/tab-nav.vue2.js +1 -1
- package/lib/components/tabs/tab-nav.vue2.js.map +1 -1
- package/lib/components/tabs/tabs.vue.d.ts +3 -3
- package/lib/components/tag/index.d.ts +71 -0
- package/lib/components/tag/index.js +2 -0
- package/lib/components/tag/index.js.map +1 -0
- package/lib/components/tag/style/css.d.ts +0 -0
- package/lib/components/tag/style/css.js +2 -0
- package/lib/components/tag/style/css.js.map +1 -0
- package/lib/components/tag/style/index.d.ts +0 -0
- package/lib/components/tag/style/index.js +2 -0
- package/lib/components/tag/style/index.js.map +1 -0
- package/lib/components/tag/tag.vue.d.ts +74 -0
- package/lib/components/tag/tag.vue.js +2 -0
- package/lib/components/tag/tag.vue.js.map +1 -0
- package/lib/components/tag/tag.vue2.js +2 -0
- package/lib/components/tag/tag.vue2.js.map +1 -0
- package/lib/components/tag/types.d.ts +1 -0
- package/lib/components/tag/types.js +2 -0
- package/lib/components/tag/types.js.map +1 -0
- package/lib/components/tooltip/index.d.ts +13 -13
- package/lib/components/tooltip/tooltip.vue.d.ts +7 -7
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +1 -1
- package/lib/hooks/use-cursor/index.d.ts +2 -0
- package/lib/hooks/use-cursor/index.js +2 -0
- package/lib/hooks/use-cursor/index.js.map +1 -0
- package/lib/hooks/use-namespace/index.d.ts +3 -3
- package/lib/hooks/use-namespace/index.js +1 -1
- package/lib/hooks/use-namespace/index.js.map +1 -1
- package/lib/hooks/use-popper/index.d.ts +2 -2
- package/lib/hooks/use-z-index/index.d.ts +3 -1
- package/lib/hooks/use-z-index/index.js +1 -1
- package/lib/hooks/use-z-index/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/lib/theme-style/src/clamp-toggle.scss.js +2 -0
- package/lib/theme-style/src/clamp-toggle.scss.js.map +1 -0
- package/lib/theme-style/src/clamp.scss.js +2 -0
- package/lib/theme-style/src/clamp.scss.js.map +1 -0
- package/lib/theme-style/src/config-provider.scss.js +2 -0
- package/lib/theme-style/src/config-provider.scss.js.map +1 -0
- package/lib/theme-style/src/descriptions-item.scss.js +2 -0
- package/lib/theme-style/src/descriptions-item.scss.js.map +1 -0
- package/lib/theme-style/src/descriptions.scss.js +2 -0
- package/lib/theme-style/src/descriptions.scss.js.map +1 -0
- package/lib/theme-style/src/full-screen.scss.js +2 -0
- package/lib/theme-style/src/full-screen.scss.js.map +1 -0
- package/lib/theme-style/src/icon-text.scss.js +2 -0
- package/lib/theme-style/src/icon-text.scss.js.map +1 -0
- package/lib/theme-style/src/image.scss.js +2 -0
- package/lib/theme-style/src/image.scss.js.map +1 -0
- package/lib/theme-style/src/input.scss.js +2 -0
- package/lib/theme-style/src/input.scss.js.map +1 -0
- package/lib/theme-style/src/link.scss.js +2 -0
- package/lib/theme-style/src/link.scss.js.map +1 -0
- package/lib/theme-style/src/overlay.scss.js +2 -0
- package/lib/theme-style/src/overlay.scss.js.map +1 -0
- package/lib/theme-style/src/pagination.scss.js +2 -0
- package/lib/theme-style/src/pagination.scss.js.map +1 -0
- package/lib/theme-style/src/qrcode.scss.js +2 -0
- package/lib/theme-style/src/qrcode.scss.js.map +1 -0
- package/lib/theme-style/src/side-menu.scss.js +2 -0
- package/lib/theme-style/src/side-menu.scss.js.map +1 -0
- package/lib/theme-style/src/tag.scss.js +2 -0
- package/lib/theme-style/src/tag.scss.js.map +1 -0
- package/lib/utils/error.js +1 -1
- package/lib/utils/error.js.map +1 -1
- package/lib/utils/vue/vnode.js.map +1 -1
- package/package.json +4 -1
- package/theme-style/index.css +1 -1
- package/theme-style/src/clamp-toggle.scss +19 -0
- package/theme-style/src/clamp.scss +0 -0
- package/theme-style/src/common/var.scss +19 -2
- package/theme-style/src/config-provider.scss +0 -0
- package/theme-style/src/descriptions-item.scss +71 -0
- package/theme-style/src/descriptions.scss +157 -0
- package/theme-style/src/full-screen.scss +1 -1
- package/theme-style/src/icon-text.scss +23 -0
- package/theme-style/src/index.scss +15 -0
- package/theme-style/src/input.scss +2 -1
- package/theme-style/src/link.scss +91 -0
- package/theme-style/src/mixins/_var.scss +17 -17
- package/theme-style/src/mixins/function.scss +4 -4
- package/theme-style/src/mixins/mixins.scss +3 -3
- package/theme-style/src/overlay.scss +18 -0
- package/theme-style/src/pagination.scss +232 -0
- package/theme-style/src/qrcode.scss +0 -0
- package/theme-style/src/side-menu.scss +70 -0
- package/theme-style/src/tag.scss +186 -0
- package/theme-style/src/var.scss +9 -9
- package/theme-style/vft-clamp-toggle.css +1 -0
- package/theme-style/vft-clamp.css +0 -0
- package/theme-style/vft-config-provider.css +0 -0
- package/theme-style/vft-descriptions-item.css +1 -0
- package/theme-style/vft-descriptions.css +1 -0
- package/theme-style/vft-icon-text.css +1 -0
- package/theme-style/vft-link.css +1 -0
- package/theme-style/vft-overlay.css +1 -0
- package/theme-style/vft-pagination.css +1 -0
- package/theme-style/vft-qrcode.css +0 -0
- package/theme-style/vft-side-menu.css +1 -0
- package/theme-style/vft-tag.css +1 -0
- /package/{lib/components/context-menu → es/components/clamp}/style/css.d.ts +0 -0
- /package/{lib/components/context-menu → es/components/clamp}/style/index.d.ts +0 -0
- /package/es/components/{context-menu → clamp-toggle}/style/css.d.ts +0 -0
- /package/es/components/{context-menu → clamp-toggle}/style/css.mjs.map +0 -0
- /package/es/components/{context-menu → clamp-toggle}/style/index.d.ts +0 -0
- /package/es/components/{context-menu → clamp-toggle}/style/index.mjs.map +0 -0
- /package/{theme-style/src/context-menu.css → es/components/config-provider/style/css.d.ts} +0 -0
- /package/lib/components/{context-menu → clamp-toggle}/style/css.js.map +0 -0
- /package/lib/components/{context-menu → clamp-toggle}/style/index.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.vue2.mjs","sources":["../../../../../packages/components/menu/sub-menu.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('sub-menu')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { type IconProps, type Placement, type ToolTipProps, VftCollapseTransition as CollapseTransition, VftIcon as Icon, VftTooltip as Tooltip } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { throwError } from '@vft-ui/utils';\nimport { renderTNode, singleAttrToObj } from '@vft/utils';\nimport { useTimeoutFn } from '@vueuse/core';\nimport type { CSSProperties, VNodeArrayChildren } from 'vue';\nimport { computed, Fragment, getCurrentInstance, h, inject, onBeforeUnmount, onMounted, provide, reactive, ref, useSlots, vShow, watch, withDirectives } from 'vue';\nimport type { MenuProvider, SubMenuProvider } from './types';\nimport useMenu from './use-menu';\nimport { useMenuCssVar } from './use-menu-css-var';\n\ninterface Props {\n /** 唯一标志 */\n index: string;\n /** 展开 sub-menu 的延时 */\n showTimeout?: number;\n /** 收起 sub-menu 的延时 */\n hideTimeout?: number;\n /** 为 popper 添加类名 */\n popperClass?: ClassType;\n /** 是否禁用 */\n disabled?: boolean;\n popperAppendToBody?: boolean;\n /** 弹出窗口偏移 */\n popperOffset?: number;\n expandIcon?: IconProps;\n collapseIcon?: IconProps;\n title?: string;\n icon?: IconProps | string;\n showArrow?: boolean;\n toolTipCfg?: ToolTipProps;\n}\n\ndefineProps({\n \"index\": null,\n \"showTimeout\": { default: 300 },\n \"hideTimeout\": { default: 300 },\n \"popperClass\": null,\n \"disabled\": { type: Boolean, },\n \"popperAppendToBody\": { type: Boolean, default: undefined },\n \"popperOffset\": { default: 6 },\n \"expandIcon\": { default: {} },\n \"collapseIcon\": { default: {} },\n \"title\": null,\n \"icon\": null,\n \"showArrow\": { type: Boolean, default: true },\n \"toolTipCfg\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\n// 返回当前 sub-menu 对应的 indexPath 页面中对 submenu 定义的 index parentMenu -> vft-menu 组件\nconst { indexPath, parentMenu } = useMenu(instance, computed(() => __props.index));\n\nconst nsMenu = useNamespace('menu');\nconst nsSubMenu = useNamespace('sub-menu');\n\n// 接受 vft-menu 组件中注入的数据\nconst rootMenu = inject<MenuProvider>('rootMenu');\nif (!rootMenu) throwError(ns.b(), 'can not inject root menu');\n\n// 接受 vft-menu 组件中注入的数据 parentMenu.value!.uid 当前 sub-menu 组件对应的 menu.vue 组件\nconst subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`);\nif (!subMenu) throwError(ns.b(), 'can not inject sub menu');\n\n/**\n * 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\nconst subMenus = ref<MenuProvider['subMenus']>({});\n\nlet timeout: (() => void) | undefined;\nconst mouseInChild = ref(false);\n\n// sub-menu-title 的 ref\nconst verticalTitleRef = ref<HTMLDivElement>();\n// tooltip 的实例\nconst vPopper = ref(null);\n\n// toolTop 的展示位置\nconst currentPlacement = computed<Placement>(\n () => (mode.value === 'horizontal' && isFirstLevel.value ? 'bottom-start' : 'right-start'));\n\n// 是否为第一级的 subMenu\nconst isFirstLevel = computed(() => {\n return subMenu.level === 0;\n});\n\nconst appendToBody = computed(() => {\n return __props.popperAppendToBody === undefined ? isFirstLevel.value : Boolean(__props.popperAppendToBody);\n});\n\n// toolTip 弹出的动画名称\nconst menuTransitionName = computed(\n () => (rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`));\n\nconst fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? ['bottom-start', 'bottom-end', 'top-start', 'top-end', 'right-start', 'left-start']\n : ['right-start', 'left-start', 'bottom-start', 'bottom-end', 'top-start', 'top-end']\n);\n\n// 获取当前的 index 是否包含在 openedMenus 中,表示当前 sub-menu 是否已经展开,子节点就是通过这个使用 v-show 来显隐\nconst opened = computed(() => rootMenu.openedMenus.includes(__props.index));\n\nconst active = computed(() => {\n let isActive = false;\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true;\n }\n });\n if (__props.index === rootMenu.activeIndex) {\n isActive = true;\n }\n return isActive;\n});\n\nconst backgroundColor = computed(() => rootMenu.props.backgroundColor || '');\n\nconst activeTextColor = computed(() => rootMenu.props.activeTextColor || '');\n\nconst textColor = computed(() => rootMenu.props.textColor || '');\n\nconst mode = computed(() => rootMenu.props.mode);\n\nconst item = reactive({\n index: __props.index,\n indexPath,\n active\n});\n\n//\nconst titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value\n };\n }\n return {\n borderBottomColor: active.value ? (rootMenu.props.activeTextColor ? activeTextColor.value : '') : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value\n };\n});\n\n// 销毁 toolTip\nconst doDestroy = () => vPopper.value?.popperRef?.popperInstanceRef?.destroy();\n\n// 当菜单收缩展开时执行销毁 toolTip\nconst handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy();\n }\n};\n\n// sub-menu 菜单点击事件\nconst handleClick = () => {\n // 以下几种情况不执行点击事件操作\n if ((rootMenu.props.menuTrigger === 'hover' && rootMenu.props.mode === 'horizontal') || (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) return;\n\n // 调用 menn.vue 中的 handleSubMenuClick 点击事件,传入参数\n rootMenu.handleSubMenuClick({\n index: __props.index,\n indexPath: indexPath.value,\n active: active.value\n });\n};\n\n// 滑入 sub-menu 菜单事件\nconst handleMouseenter = (event: MouseEvent | FocusEvent, _showTimeout = __props.showTimeout) => {\n if (event.type === 'focus') {\n return;\n }\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) {\n return;\n }\n subMenu.mouseInChild.value = true;\n\n // 根据 _showTimeout 展开滑入的菜单子项\n timeout?.();\n ({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(__props.index, indexPath.value);\n }, _showTimeout));\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'));\n }\n};\n\n// 离开滑入的菜单\nconst handleMouseleave = (deepDispatch = false) => {\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')) {\n return;\n }\n timeout?.();\n subMenu.mouseInChild.value = false;\n ({ stop: timeout } = useTimeoutFn(\n () => !mouseInChild.value && rootMenu.closeMenu(__props.index, indexPath.value),\n __props.hideTimeout));\n\n if (appendToBody.value && deepDispatch) {\n if (instance.parent?.type.name === 'vft-sub-menu') {\n subMenu.handleMouseleave?.(true);\n }\n }\n};\n\n// 监听菜单的收缩展开决定是否销毁 ToolTip\nwatch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n);\n\n// 以下代码在 menu-item.vue 中触发\n{\n /**\n * 此函数在 menu-item 中触发,items.value 默认为空对象\n * 最后添加后的 items 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item;\n };\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index];\n };\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1\n });\n}\n\ndefineExpose({\n opened\n});\n\nonMounted(() => {\n rootMenu.addSubMenu(item);\n subMenu.addSubMenu(item);\n});\n\nonBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeSubMenu(item);\n});\n\nconst slots = useSlots();\n\n// 箭头设置\nconst subMenuIcon = computed(() => {\n // 水平模式第一级 或者 竖直非折叠\n return (mode.value === 'horizontal' && isFirstLevel.value) || (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? { icon: 'vi-arrow-down', size: 20, ...__props.expandIcon } :\n { icon: 'vi-arrow-right', size: 18, ...__props.collapseIcon };\n});\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst titleCon = computed(() => {\n return renderTNode(instance, 'title');\n});\n\ndefineRender(() => {\n // sub-menu 的标题以及展开箭头 icon 相关\n const titleTag: VNodeArrayChildren = [\n _icon.value?.icon ? h(Icon, { ..._icon.value }) : null,\n h(\n 'span',\n {\n class: __props.showArrow ? nsSubMenu.e('text') : '',\n title: instance.props.title\n },\n titleCon.value\n ),\n __props.showArrow ? h(\n Icon,\n {\n class: nsSubMenu.e('icon-arrow'),\n ...subMenuIcon.value,\n style: { transform: opened.value ? 'rotateZ(180deg)' : 'none' }\n }\n ) : false\n ];\n\n // 给 vft-menu class 这一栏加入 level 等级,以此来区分当前的 level: --vft-menu-level:2;\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);\n\n /**\n * rootMenu.isMenuPopup 是否需要 tooltip 1.水平模式的菜单需要 2.竖直类型的菜单在收缩时需要\n * 如果需要 tooltip 用 h 函数渲染时,则采用 ElTooltip 组件\n * @type {VNode}\n */\n const child = rootMenu.isMenuPopup\n ? h(\n Tooltip,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: __props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: __props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n ...__props.toolTipCfg\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [nsMenu.m(mode.value), nsMenu.m('popup-container'), __props.popperClass],\n onMouseenter: (evt: MouseEvent) => handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100)\n },\n [\n h(\n 'ul',\n {\n class: [nsMenu.b(), nsMenu.m('popup'), nsMenu.m(\n `popup-${currentPlacement.value}`)],\n style: ulStyle.value\n },\n [slots.default?.()]\n )\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n onClick: handleClick\n },\n titleTag\n )\n }\n )\n :\n /**\n * Fragment 碎片化节点,可以让 dom 没有根节点\n *\n * 以下是无需 tooltip 渲染的组件,通常是侧边栏没有折叠的时候\n */\n h(Fragment, {}, [\n titleCon.value ? h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n ref: verticalTitleRef,\n onClick: handleClick\n },\n titleTag\n ) : null,\n h(\n CollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n )\n }\n )\n ]);\n\n return h(\n 'li',\n {\n class: [nsSubMenu.b(), nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value), nsSubMenu.is('disabled', __props.disabled)],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(true),\n onFocus: handleMouseenter\n },\n [child]\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","name","b","instance","getCurrentInstance","indexPath","parentMenu","useMenu","computed","__props","index","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","value","uid","subMenus","ref","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","level","appendToBody","popperAppendToBody","undefined","Boolean","menuTransitionName","props","collapse","namespace","fallbackPlacements","opened","openedMenus","includes","active","isActive","Object","values","forEach","subItem","activeIndex","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","color","borderBottomColor","doDestroy","popperRef","popperInstanceRef","destroy","handleCollapseToggle","handleClick","menuTrigger","disabled","handleSubMenuClick","handleMouseenter","event","_showTimeout","showTimeout","type","stop","useTimeoutFn","openMenu","vnode","el","dispatchEvent","MouseEvent","handleMouseleave","deepDispatch","closeMenu","hideTimeout","parent","watch","addSubMenu","removeSubMenu","provide","expose","onMounted","onBeforeUnmount","slots","useSlots","subMenuIcon","icon","size","expandIcon","collapseIcon","_icon","singleAttrToObj","titleCon","renderTNode","titleTag","h","Icon","class","showArrow","e","title","style","transform","ulStyle","useMenuCssVar","child","isMenuPopup","Tooltip","visible","effect","pure","offset","popperOffset","persistent","popperClass","placement","teleported","transition","gpuAcceleration","toolTipCfg","content","m","onMouseenter","evt","onMouseleave","onFocus","default","onClick","Fragment","CollapseTransition","withDirectives","role","vShow","is","ariaHaspopup","ariaExpanded"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sub-menu.vue2.mjs","sources":["../../../../../packages/components/menu/sub-menu.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns = /* hoist-static*/ useNamespace('sub-menu')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { type IconProps, type Placement, type ToolTipProps, VftCollapseTransition as CollapseTransition, VftIcon as Icon, VftTooltip as Tooltip } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { throwError } from '@vft-ui/utils';\nimport { renderTNode, singleAttrToObj } from '@vft/utils';\nimport { useTimeoutFn } from '@vueuse/core';\nimport type { CSSProperties, VNodeArrayChildren } from 'vue';\nimport { computed, Fragment, getCurrentInstance, h, inject, onBeforeUnmount, onMounted, provide, reactive, ref, useSlots, vShow, watch, withDirectives } from 'vue';\nimport type { MenuProvider, SubMenuProvider } from './types';\nimport useMenu from './use-menu';\nimport { useMenuCssVar } from './use-menu-css-var';\n\ninterface Props {\n /** 唯一标志 */\n index: string;\n /** 展开 sub-menu 的延时 */\n showTimeout?: number;\n /** 收起 sub-menu 的延时 */\n hideTimeout?: number;\n /** 为 popper 添加类名 */\n popperClass?: ClassType;\n /** 是否禁用 */\n disabled?: boolean;\n popperAppendToBody?: boolean;\n /** 弹出窗口偏移 */\n popperOffset?: number;\n expandIcon?: IconProps;\n collapseIcon?: IconProps;\n title?: string;\n icon?: IconProps | string;\n showArrow?: boolean;\n toolTipCfg?: ToolTipProps;\n}\n\ndefineProps({\n \"index\": null,\n \"showTimeout\": { default: 300 },\n \"hideTimeout\": { default: 300 },\n \"popperClass\": null,\n \"disabled\": { type: Boolean, },\n \"popperAppendToBody\": { type: Boolean, default: undefined },\n \"popperOffset\": { default: 6 },\n \"expandIcon\": { default: {} },\n \"collapseIcon\": { default: {} },\n \"title\": null,\n \"icon\": null,\n \"showArrow\": { type: Boolean, default: true },\n \"toolTipCfg\": null\n})\n\n\n\n;\n\nconst instance = getCurrentInstance()!;\n\n// 返回当前 sub-menu 对应的 indexPath 页面中对 submenu 定义的 index parentMenu -> vft-menu 组件\nconst { indexPath, parentMenu } = useMenu(instance, computed(() => __props.index));\n\nconst nsMenu = useNamespace('menu');\nconst nsSubMenu = useNamespace('sub-menu');\n\n// 接受 vft-menu 组件中注入的数据\nconst rootMenu = inject<MenuProvider>('rootMenu');\nif (!rootMenu) throwError(ns.b(), 'can not inject root menu');\n\n// 接受 vft-menu 组件中注入的数据 parentMenu.value!.uid 当前 sub-menu 组件对应的 menu.vue 组件\nconst subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value!.uid}`);\nif (!subMenu) throwError(ns.b(), 'can not inject sub menu');\n\n/**\n * 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\nconst subMenus = ref<MenuProvider['subMenus']>({});\n\nlet timeout: (() => void) | undefined;\nconst mouseInChild = ref(false);\n\n// sub-menu-title 的 ref\nconst verticalTitleRef = ref<HTMLDivElement>();\n// tooltip 的实例\nconst vPopper = ref(null);\n\n// toolTop 的展示位置\nconst currentPlacement = computed<Placement>(\n () => (mode.value === 'horizontal' && isFirstLevel.value ? 'bottom-start' : 'right-start'));\n\n// 是否为第一级的 subMenu\nconst isFirstLevel = computed(() => {\n return subMenu.level === 0;\n});\n\nconst appendToBody = computed(() => {\n return __props.popperAppendToBody === undefined ? isFirstLevel.value : Boolean(__props.popperAppendToBody);\n});\n\n// toolTip 弹出的动画名称\nconst menuTransitionName = computed(\n () => (rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`));\n\nconst fallbackPlacements = computed<Placement[]>(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? ['bottom-start', 'bottom-end', 'top-start', 'top-end', 'right-start', 'left-start']\n : ['right-start', 'left-start', 'bottom-start', 'bottom-end', 'top-start', 'top-end']\n);\n\n// 获取当前的 index 是否包含在 openedMenus 中,表示当前 sub-menu 是否已经展开,子节点就是通过这个使用 v-show 来显隐\nconst opened = computed(() => rootMenu.openedMenus.includes(__props.index));\n\nconst active = computed(() => {\n let isActive = false;\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true;\n }\n });\n if (__props.index === rootMenu.activeIndex) {\n isActive = true;\n }\n return isActive;\n});\n\nconst backgroundColor = computed(() => rootMenu.props.backgroundColor || '');\n\nconst activeTextColor = computed(() => rootMenu.props.activeTextColor || '');\n\nconst textColor = computed(() => rootMenu.props.textColor || '');\n\nconst mode = computed(() => rootMenu.props.mode);\n\nconst item = reactive({\n index: __props.index,\n indexPath,\n active\n});\n\n//\nconst titleStyle = computed<CSSProperties>(() => {\n if (mode.value !== 'horizontal') {\n return {\n color: textColor.value\n };\n }\n return {\n borderBottomColor: active.value ? (rootMenu.props.activeTextColor ? activeTextColor.value : '') : 'transparent',\n color: active.value ? activeTextColor.value : textColor.value\n };\n});\n\n// 销毁 toolTip\nconst doDestroy = () => vPopper.value?.popperRef?.popperInstanceRef?.destroy();\n\n// 当菜单收缩展开时执行销毁 toolTip\nconst handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy();\n }\n};\n\n// sub-menu 菜单点击事件\nconst handleClick = () => {\n // 以下几种情况不执行点击事件操作\n if ((rootMenu.props.menuTrigger === 'hover' && rootMenu.props.mode === 'horizontal') || (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) return;\n\n // 调用 menn.vue 中的 handleSubMenuClick 点击事件,传入参数\n rootMenu.handleSubMenuClick({\n index: __props.index,\n indexPath: indexPath.value,\n active: active.value\n });\n};\n\n// 滑入 sub-menu 菜单事件\nconst handleMouseenter = (event: MouseEvent | FocusEvent, _showTimeout = __props.showTimeout) => {\n if (event.type === 'focus') {\n return;\n }\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') || __props.disabled) {\n return;\n }\n subMenu.mouseInChild.value = true;\n\n // 根据 _showTimeout 展开滑入的菜单子项\n timeout?.();\n ({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(__props.index, indexPath.value);\n }, _showTimeout));\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'));\n }\n};\n\n// 离开滑入的菜单\nconst handleMouseleave = (deepDispatch = false) => {\n if ((rootMenu.props.menuTrigger === 'click' && rootMenu.props.mode === 'horizontal') || (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')) {\n return;\n }\n timeout?.();\n subMenu.mouseInChild.value = false;\n ({ stop: timeout } = useTimeoutFn(\n () => !mouseInChild.value && rootMenu.closeMenu(__props.index, indexPath.value),\n __props.hideTimeout));\n\n if (appendToBody.value && deepDispatch) {\n if (instance.parent?.type.name === 'vft-sub-menu') {\n subMenu.handleMouseleave?.(true);\n }\n }\n};\n\n// 监听菜单的收缩展开决定是否销毁 ToolTip\nwatch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n);\n\n// 以下代码在 menu-item.vue 中触发\n{\n /**\n * 此函数在 menu-item 中触发,items.value 默认为空对象\n * 最后添加后的 items 格式如下\n * ```\n * {\n * 1-1:{index: '1-1', indexPath: ['mio', '1-1'], active: false},\n * 1-2:{index: '1-2', indexPath: ['mio', '1-2'], active: false}\n * }\n * ```\n * @param {MenuItemRegistered} item\n */\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item;\n };\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index];\n };\n provide<SubMenuProvider>(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1\n });\n}\n\ndefineExpose({\n opened\n});\n\nonMounted(() => {\n rootMenu.addSubMenu(item);\n subMenu.addSubMenu(item);\n});\n\nonBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeSubMenu(item);\n});\n\nconst slots = useSlots();\n\n// 箭头设置\nconst subMenuIcon = computed(() => {\n // 水平模式第一级 或者 竖直非折叠\n return (mode.value === 'horizontal' && isFirstLevel.value) || (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? { icon: 'vi-arrow-down', size: 20, ...__props.expandIcon } :\n { icon: 'vi-arrow-right', size: 18, ...__props.collapseIcon };\n});\n\nconst _icon = computed(() => {\n return singleAttrToObj(__props.icon, 'icon') as IconProps;\n});\n\nconst titleCon = computed(() => {\n return renderTNode(instance, 'title');\n});\n\ndefineRender(() => {\n // sub-menu 的标题以及展开箭头 icon 相关\n const titleTag: VNodeArrayChildren = [\n _icon.value?.icon ? h(Icon, { ..._icon.value }) : null,\n h(\n 'span',\n {\n class: __props.showArrow ? nsSubMenu.e('text') : '',\n title: instance.props.title\n },\n titleCon.value\n ),\n __props.showArrow ? h(\n Icon,\n {\n class: nsSubMenu.e('icon-arrow'),\n ...subMenuIcon.value,\n style: { transform: opened.value ? 'rotateZ(180deg)' : 'none' }\n }\n ) : false\n ];\n\n // 给 vft-menu class 这一栏加入 level 等级,以此来区分当前的 level: --vft-menu-level:2;\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);\n\n /**\n * rootMenu.isMenuPopup 是否需要 tooltip 1.水平模式的菜单需要 2.竖直类型的菜单在收缩时需要\n * 如果需要 tooltip 用 h 函数渲染时,则采用 ElTooltip 组件\n * @type {VNode}\n */\n const child = rootMenu.isMenuPopup\n ? h(\n Tooltip,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: __props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: __props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n ...__props.toolTipCfg\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [nsMenu.m(mode.value), nsMenu.m('popup-container'), __props.popperClass],\n onMouseenter: (evt: MouseEvent) => handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100)\n },\n [\n h(\n 'ul',\n {\n class: [nsMenu.b(), nsMenu.m('popup'), nsMenu.m(\n `popup-${currentPlacement.value}`)],\n style: ulStyle.value\n },\n [slots.default?.()]\n )\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n onClick: handleClick\n },\n titleTag\n )\n }\n )\n :\n /**\n * Fragment 碎片化节点,可以让 dom 没有根节点\n *\n * 以下是无需 tooltip 渲染的组件,通常是侧边栏没有折叠的时候\n */\n h(Fragment, {}, [\n titleCon.value ? h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n style: [titleStyle.value, { backgroundColor: backgroundColor.value }],\n ref: verticalTitleRef,\n onClick: handleClick\n },\n titleTag\n ) : null,\n h(\n CollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n )\n }\n )\n ]);\n\n return h(\n 'li',\n {\n class: [nsSubMenu.b(), nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value), nsSubMenu.is('disabled', __props.disabled)],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(true),\n onFocus: handleMouseenter\n },\n [child]\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","name","b","instance","getCurrentInstance","indexPath","parentMenu","useMenu","computed","__props","index","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","value","uid","subMenus","ref","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","level","appendToBody","popperAppendToBody","undefined","Boolean","menuTransitionName","props","collapse","namespace","fallbackPlacements","opened","openedMenus","includes","active","isActive","Object","values","forEach","subItem","activeIndex","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","color","borderBottomColor","doDestroy","popperRef","popperInstanceRef","destroy","handleCollapseToggle","handleClick","menuTrigger","disabled","handleSubMenuClick","handleMouseenter","event","_showTimeout","showTimeout","type","stop","useTimeoutFn","openMenu","vnode","el","dispatchEvent","MouseEvent","handleMouseleave","deepDispatch","closeMenu","hideTimeout","parent","watch","addSubMenu","removeSubMenu","provide","expose","onMounted","onBeforeUnmount","slots","useSlots","subMenuIcon","icon","size","expandIcon","collapseIcon","_icon","singleAttrToObj","titleCon","renderTNode","titleTag","h","Icon","class","showArrow","e","title","style","transform","ulStyle","useMenuCssVar","child","isMenuPopup","Tooltip","visible","effect","pure","offset","popperOffset","persistent","popperClass","placement","teleported","transition","gpuAcceleration","toolTipCfg","content","m","onMouseenter","evt","onMouseleave","onFocus","default","onClick","Fragment","CollapseTransition","withDirectives","role","vShow","is","ariaHaspopup","ariaExpanded"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as _, ref as b, computed as h, watchEffect as D, unref as
|
|
2
|
-
import { useRouterHelper as $, getRouterKeyPath as
|
|
1
|
+
import { defineComponent as _, ref as b, computed as h, watchEffect as D, unref as r, openBlock as x, createElementBlock as T, normalizeClass as E, normalizeStyle as H, createVNode as R, withCtx as C, Fragment as K, renderList as F, createBlock as U } from "vue";
|
|
2
|
+
import { useRouterHelper as $, getRouterKeyPath as c, listenerRouteChange as j } from "@vft/router";
|
|
3
3
|
import { useMultipleTabStore as q, useTabs as G } from "@vft/store";
|
|
4
4
|
import { useRefs as J } from "@vft/use";
|
|
5
5
|
import { generateCssVars as S } from "@vft/utils";
|
|
@@ -29,6 +29,21 @@ import "../footer-layout/index.mjs";
|
|
|
29
29
|
import "../iframe-layout/index.mjs";
|
|
30
30
|
import "../router-view-content/index.mjs";
|
|
31
31
|
import "../logo/index.mjs";
|
|
32
|
+
import "../back-top/index.mjs";
|
|
33
|
+
import "../config-provider/index.mjs";
|
|
34
|
+
import "../descriptions/index.mjs";
|
|
35
|
+
import "../full-screen/index.mjs";
|
|
36
|
+
import "../icon-text/index.mjs";
|
|
37
|
+
import "../image/index.mjs";
|
|
38
|
+
import "../input/index.mjs";
|
|
39
|
+
import "../link/index.mjs";
|
|
40
|
+
import "../pagination/index.mjs";
|
|
41
|
+
import "../tag/index.mjs";
|
|
42
|
+
import "../side-menu/index.mjs";
|
|
43
|
+
import "../qrcode/index.mjs";
|
|
44
|
+
import "../overlay/index.mjs";
|
|
45
|
+
import "../clamp/index.mjs";
|
|
46
|
+
import "../clamp-toggle/index.mjs";
|
|
32
47
|
import Z from "./tab-content.vue2.mjs";
|
|
33
48
|
import { initAffixTabs as ee, useTabsDrag as te } from "./use/use-multiple-tabs.mjs";
|
|
34
49
|
const P = (
|
|
@@ -36,45 +51,45 @@ const P = (
|
|
|
36
51
|
W("multiple-tabs")
|
|
37
52
|
), oe = _({
|
|
38
53
|
name: P.b()
|
|
39
|
-
}),
|
|
54
|
+
}), Xe = /* @__PURE__ */ _({
|
|
40
55
|
...oe,
|
|
41
56
|
props: {
|
|
42
57
|
tabsStyle: null,
|
|
43
58
|
contextMenuStyle: null,
|
|
44
59
|
canDrag: { type: Boolean }
|
|
45
60
|
},
|
|
46
|
-
setup(
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const s = q(),
|
|
61
|
+
setup(f) {
|
|
62
|
+
const n = ee();
|
|
63
|
+
f.canDrag && te(n);
|
|
64
|
+
const s = q(), a = b(""), l = b(0), d = b(), v = O(), { go: g } = $(), p = h(() => s.getTabList.filter((e) => {
|
|
50
65
|
var t;
|
|
51
66
|
return !((t = e.meta) != null && t.hideTab);
|
|
52
67
|
}));
|
|
53
68
|
D(() => {
|
|
54
69
|
var e;
|
|
55
|
-
if (
|
|
56
|
-
const t =
|
|
57
|
-
t === -1 ?
|
|
70
|
+
if (a.value) {
|
|
71
|
+
const t = p.value.findIndex((o) => c(o) === a.value);
|
|
72
|
+
t === -1 ? l.value = ((e = p.value) == null ? void 0 : e.length) - 1 : l.value = t, l.value = l.value < (n == null ? void 0 : n.length) ? (n == null ? void 0 : n.length) - 1 : l.value;
|
|
58
73
|
}
|
|
59
74
|
}), Q(() => {
|
|
60
|
-
d.value =
|
|
75
|
+
d.value = r(v.currentRoute);
|
|
61
76
|
}), j((e) => {
|
|
62
77
|
if (!e)
|
|
63
78
|
return;
|
|
64
|
-
const { meta: t = {} } = e, { currentActivePath: o, hideTab:
|
|
65
|
-
if (
|
|
79
|
+
const { meta: t = {} } = e, { currentActivePath: o, hideTab: i } = t, m = i ? o : null, u = c(e);
|
|
80
|
+
if (a.value !== u && (a.value = u), m) {
|
|
66
81
|
let y = v.getRoutes().find((z) => z.path === o);
|
|
67
|
-
y && s.addTab(y,
|
|
82
|
+
y && s.addTab(y, r(d), l.value, e);
|
|
68
83
|
} else
|
|
69
|
-
s.addTab(
|
|
84
|
+
s.addTab(r(e), r(d), l.value);
|
|
70
85
|
});
|
|
71
86
|
function M(e) {
|
|
72
|
-
var
|
|
73
|
-
if (
|
|
87
|
+
var i, m;
|
|
88
|
+
if (a.value === e.paneName)
|
|
74
89
|
return;
|
|
75
|
-
const t =
|
|
76
|
-
|
|
77
|
-
const o = (
|
|
90
|
+
const t = p.value[e.attrs.index];
|
|
91
|
+
a.value = e.paneName;
|
|
92
|
+
const o = (m = (i = t == null ? void 0 : t.meta) == null ? void 0 : i.hideActiveRoute) == null ? void 0 : m.fullPath;
|
|
78
93
|
g(o || t.fullPath || t.path);
|
|
79
94
|
}
|
|
80
95
|
function k(e) {
|
|
@@ -96,7 +111,7 @@ const P = (
|
|
|
96
111
|
"item-distance": "10px",
|
|
97
112
|
"item-max-width": "348px",
|
|
98
113
|
"header-margin": "0 0 0 8px"
|
|
99
|
-
}, "tabs", "vft"), ...
|
|
114
|
+
}, "tabs", "vft"), ...f.tabsStyle })), { closeCurrent: V } = G();
|
|
100
115
|
L("command+e, ctrl+e", function() {
|
|
101
116
|
return V(), !1;
|
|
102
117
|
});
|
|
@@ -106,15 +121,15 @@ const P = (
|
|
|
106
121
|
"sub-item-height": "40px",
|
|
107
122
|
"item-min-width": "150px"
|
|
108
123
|
}, "menu", "vft"),
|
|
109
|
-
...
|
|
124
|
+
...f.contextMenuStyle
|
|
110
125
|
}));
|
|
111
126
|
return (e, t) => (x(), T("div", {
|
|
112
|
-
class: E(
|
|
113
|
-
style: H(
|
|
127
|
+
class: E(r(P).b()),
|
|
128
|
+
style: H(r(w))
|
|
114
129
|
}, [
|
|
115
|
-
R(
|
|
116
|
-
"model-value":
|
|
117
|
-
"onUpdate:modelValue": t[0] || (t[0] = (o) =>
|
|
130
|
+
R(r(X), {
|
|
131
|
+
"model-value": a.value,
|
|
132
|
+
"onUpdate:modelValue": t[0] || (t[0] = (o) => a.value = o),
|
|
118
133
|
type: "card",
|
|
119
134
|
onTabClick: M,
|
|
120
135
|
onTabRemove: k,
|
|
@@ -122,22 +137,22 @@ const P = (
|
|
|
122
137
|
closeIconCfg: { color: "white" }
|
|
123
138
|
}, {
|
|
124
139
|
default: C(() => [
|
|
125
|
-
(x(!0), T(K, null, F(
|
|
126
|
-
var
|
|
127
|
-
return x(), U(
|
|
128
|
-
key:
|
|
129
|
-
closable: !((
|
|
130
|
-
index:
|
|
131
|
-
name:
|
|
140
|
+
(x(!0), T(K, null, F(r(p), (o, i) => {
|
|
141
|
+
var m;
|
|
142
|
+
return x(), U(r(Y), {
|
|
143
|
+
key: r(c)(o) + i,
|
|
144
|
+
closable: !((m = o.meta) != null && m.affix),
|
|
145
|
+
index: i,
|
|
146
|
+
name: r(c)(o)
|
|
132
147
|
}, {
|
|
133
148
|
label: C(() => {
|
|
134
|
-
var
|
|
149
|
+
var u;
|
|
135
150
|
return [
|
|
136
151
|
R(Z, {
|
|
137
|
-
contextMenuStyle:
|
|
138
|
-
affixNum: (
|
|
152
|
+
contextMenuStyle: r(A),
|
|
153
|
+
affixNum: (u = r(n)) == null ? void 0 : u.length,
|
|
139
154
|
ref_for: !0,
|
|
140
|
-
ref:
|
|
155
|
+
ref: r(I)(i),
|
|
141
156
|
tabItem: o
|
|
142
157
|
}, null, 8, ["contextMenuStyle", "affixNum", "tabItem"])
|
|
143
158
|
];
|
|
@@ -152,6 +167,6 @@ const P = (
|
|
|
152
167
|
}
|
|
153
168
|
});
|
|
154
169
|
export {
|
|
155
|
-
|
|
170
|
+
Xe as default
|
|
156
171
|
};
|
|
157
172
|
//# sourceMappingURL=multiple-tabs.vue2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-tabs.vue2.mjs","sources":["../../../../../packages/components/multiple-tabs/multiple-tabs.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('multiple-tabs')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { getRouterKeyPath, listenerRouteChange, useRouterHelper } from '@vft/router';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\nimport { useRefs } from '@vft/use';\nimport { generateCssVars } from '@vft/utils';\nimport hotkeys from 'hotkeys-js';\nimport { computed, ref, unref, watchEffect } from 'vue';\nimport type { RouteLocationNormalized, RouteMeta } from 'vue-router';\nimport { useRouter, onBeforeRouteLeave } from 'vue-router';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { VftTabs, VftTabPane, type TabsPaneContext } from '@vft-ui/components';\n\nimport TabContent from './tab-content.vue';\nimport type { TabContentExpose } from './types';\nimport { initAffixTabs, useTabsDrag } from './use';\n\ninterface MultipleTabsProps {\n tabsStyle?: Record<string, Numberish>;\n contextMenuStyle?: Record<string, Numberish>;\n canDrag?: boolean;\n}\n\ndefineProps({\n \"tabsStyle\": null,\n \"contextMenuStyle\": null,\n \"canDrag\": { type: Boolean, }\n})\n\n\n\n;\n\nconst affixList = initAffixTabs();\n\nif (__props.canDrag) {\n useTabsDrag(affixList);\n}\n\nconst tabStore = useMultipleTabStore();\n\n// active path for tab\nconst activePathRef = ref('');\nconst activeIndex = ref(0);\nconst fromRoute = ref();\n\nconst router = useRouter();\nconst { go } = useRouterHelper();\n\n// get current tab list\nconst getTabsState = computed(() => {\n return tabStore.getTabList.filter((item) => {\n return !item.meta?.hideTab;\n });\n});\n\n\nwatchEffect(() => {\n if (activePathRef.value) {\n const _activeIndex = getTabsState.value.findIndex(item => {\n return getRouterKeyPath(item) === activePathRef.value;\n });\n if (_activeIndex === -1) {\n activeIndex.value = getTabsState.value?.length - 1;\n } else {\n activeIndex.value = _activeIndex;\n }\n activeIndex.value = activeIndex.value < affixList?.length ? affixList?.length - 1 : activeIndex.value;\n }\n});\n\nonBeforeRouteLeave(() => {\n fromRoute.value = unref(router.currentRoute);\n});\n\nlistenerRouteChange((route) => {\n if (!route) {\n return;\n }\n\n const { meta = {} } = route;\n const { currentActivePath, hideTab } = meta as RouteMeta;\n\n const isHide = !hideTab ? null : currentActivePath;\n\n // set current active tab value\n const activePath = getRouterKeyPath(route);\n\n if (activePathRef.value !== activePath) {\n activePathRef.value = activePath;\n }\n\n if (isHide) {\n // 如果当前 tab 是隐藏的,则从路由中根据 currentActivePath 寻找到此路由的信息,然后在 tabStore 添加此路由\n let findParentRoute = router.getRoutes().find((item) => item.path === currentActivePath);\n findParentRoute && tabStore.addTab(findParentRoute as unknown as RouteLocationNormalized, unref(fromRoute), activeIndex.value, route);\n } else {\n tabStore.addTab(unref(route), unref(fromRoute), activeIndex.value);\n }\n});\n\n// 点击 tab 根据 tab 传入的 path 路径,跳转到对应页面\nfunction handleClick (pane: TabsPaneContext) {\n if (activePathRef.value === pane.paneName) {\n \treturn;\n }\n const clickTab = getTabsState.value[pane.attrs.index];\n activePathRef.value = pane.paneName as string;\n const hideActiveRoutePath = (clickTab?.meta?.hideActiveRoute as RouteLocationNormalized)?.fullPath;\n if (hideActiveRoutePath) {\n go(hideActiveRoutePath);\n } else {\n go(clickTab.fullPath || clickTab.path);\n }\n}\n\n// click x close tab\nfunction handleRemove (targetPath: string) {\n tabStore.closeTabByKey(targetPath, router);\n}\n\nconst [refs, setRefs] = useRefs<TabContentExpose>();\n\nfunction handleContextMenu (data: {pane: {attrs: {index: number;};}; event: any;}) {\n const _index = data.pane.attrs.index;\n const _event = data.event;\n refs.value[_index].handleContext(_event);\n}\n\nconst _tabsStyle = computed(() => {\n let initTabStyle: Record<string, Numberish> = {\n padding: '4px 0 0',\n 'header-height': '26px',\n 'item-color': '#5C5C5C',\n 'item-bg-color': '#f8f8f8',\n 'font-size': '13px',\n 'item-padding': '0 10px',\n 'close-icon-left': '8px',\n 'item-distance': '10px',\n 'item-max-width': '348px',\n 'header-margin': '0 0 0 8px'\n };\n\n return { ...generateCssVars(initTabStyle, 'tabs', '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__","DO_defineComponent","affixList","initAffixTabs","__props","useTabsDrag","tabStore","useMultipleTabStore","activePathRef","ref","activeIndex","fromRoute","router","useRouter","go","useRouterHelper","getTabsState","computed","item","_a","watchEffect","_activeIndex","getRouterKeyPath","onBeforeRouteLeave","unref","listenerRouteChange","route","meta","currentActivePath","hideTab","isHide","activePath","findParentRoute","handleClick","pane","clickTab","hideActiveRoutePath","_b","handleRemove","targetPath","refs","setRefs","useRefs","handleContextMenu","data","_index","_event","_tabsStyle","generateCssVars","closeCurrent","useTabs","hotkeys","_contextMenuStyle"],"mappings":"
|
|
1
|
+
{"version":3,"file":"multiple-tabs.vue2.mjs","sources":["../../../../../packages/components/multiple-tabs/multiple-tabs.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('multiple-tabs')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { getRouterKeyPath, listenerRouteChange, useRouterHelper } from '@vft/router';\nimport { useMultipleTabStore, useTabs } from '@vft/store';\nimport { useRefs } from '@vft/use';\nimport { generateCssVars } from '@vft/utils';\nimport hotkeys from 'hotkeys-js';\nimport { computed, ref, unref, watchEffect } from 'vue';\nimport type { RouteLocationNormalized, RouteMeta } from 'vue-router';\nimport { useRouter, onBeforeRouteLeave } from 'vue-router';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { VftTabs, VftTabPane, type TabsPaneContext } from '@vft-ui/components';\n\nimport TabContent from './tab-content.vue';\nimport type { TabContentExpose } from './types';\nimport { initAffixTabs, useTabsDrag } from './use';\n\ninterface MultipleTabsProps {\n tabsStyle?: Record<string, Numberish>;\n contextMenuStyle?: Record<string, Numberish>;\n canDrag?: boolean;\n}\n\ndefineProps({\n \"tabsStyle\": null,\n \"contextMenuStyle\": null,\n \"canDrag\": { type: Boolean, }\n})\n\n\n\n;\n\nconst affixList = initAffixTabs();\n\nif (__props.canDrag) {\n useTabsDrag(affixList);\n}\n\nconst tabStore = useMultipleTabStore();\n\n// active path for tab\nconst activePathRef = ref('');\nconst activeIndex = ref(0);\nconst fromRoute = ref();\n\nconst router = useRouter();\nconst { go } = useRouterHelper();\n\n// get current tab list\nconst getTabsState = computed(() => {\n return tabStore.getTabList.filter((item) => {\n return !item.meta?.hideTab;\n });\n});\n\n\nwatchEffect(() => {\n if (activePathRef.value) {\n const _activeIndex = getTabsState.value.findIndex(item => {\n return getRouterKeyPath(item) === activePathRef.value;\n });\n if (_activeIndex === -1) {\n activeIndex.value = getTabsState.value?.length - 1;\n } else {\n activeIndex.value = _activeIndex;\n }\n activeIndex.value = activeIndex.value < affixList?.length ? affixList?.length - 1 : activeIndex.value;\n }\n});\n\nonBeforeRouteLeave(() => {\n fromRoute.value = unref(router.currentRoute);\n});\n\nlistenerRouteChange((route) => {\n if (!route) {\n return;\n }\n\n const { meta = {} } = route;\n const { currentActivePath, hideTab } = meta as RouteMeta;\n\n const isHide = !hideTab ? null : currentActivePath;\n\n // set current active tab value\n const activePath = getRouterKeyPath(route);\n\n if (activePathRef.value !== activePath) {\n activePathRef.value = activePath;\n }\n\n if (isHide) {\n // 如果当前 tab 是隐藏的,则从路由中根据 currentActivePath 寻找到此路由的信息,然后在 tabStore 添加此路由\n let findParentRoute = router.getRoutes().find((item) => item.path === currentActivePath);\n findParentRoute && tabStore.addTab(findParentRoute as unknown as RouteLocationNormalized, unref(fromRoute), activeIndex.value, route);\n } else {\n tabStore.addTab(unref(route), unref(fromRoute), activeIndex.value);\n }\n});\n\n// 点击 tab 根据 tab 传入的 path 路径,跳转到对应页面\nfunction handleClick (pane: TabsPaneContext) {\n if (activePathRef.value === pane.paneName) {\n \treturn;\n }\n const clickTab = getTabsState.value[pane.attrs.index];\n activePathRef.value = pane.paneName as string;\n const hideActiveRoutePath = (clickTab?.meta?.hideActiveRoute as RouteLocationNormalized)?.fullPath;\n if (hideActiveRoutePath) {\n go(hideActiveRoutePath);\n } else {\n go(clickTab.fullPath || clickTab.path);\n }\n}\n\n// click x close tab\nfunction handleRemove (targetPath: string) {\n tabStore.closeTabByKey(targetPath, router);\n}\n\nconst [refs, setRefs] = useRefs<TabContentExpose>();\n\nfunction handleContextMenu (data: {pane: {attrs: {index: number;};}; event: any;}) {\n const _index = data.pane.attrs.index;\n const _event = data.event;\n refs.value[_index].handleContext(_event);\n}\n\nconst _tabsStyle = computed(() => {\n let initTabStyle: Record<string, Numberish> = {\n padding: '4px 0 0',\n 'header-height': '26px',\n 'item-color': '#5C5C5C',\n 'item-bg-color': '#f8f8f8',\n 'font-size': '13px',\n 'item-padding': '0 10px',\n 'close-icon-left': '8px',\n 'item-distance': '10px',\n 'item-max-width': '348px',\n 'header-margin': '0 0 0 8px'\n };\n\n return { ...generateCssVars(initTabStyle, 'tabs', '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__","DO_defineComponent","affixList","initAffixTabs","__props","useTabsDrag","tabStore","useMultipleTabStore","activePathRef","ref","activeIndex","fromRoute","router","useRouter","go","useRouterHelper","getTabsState","computed","item","_a","watchEffect","_activeIndex","getRouterKeyPath","onBeforeRouteLeave","unref","listenerRouteChange","route","meta","currentActivePath","hideTab","isHide","activePath","findParentRoute","handleClick","pane","clickTab","hideActiveRoutePath","_b","handleRemove","targetPath","refs","setRefs","useRefs","handleContextMenu","data","_index","_event","_tabsStyle","generateCssVars","closeCurrent","useTabs","hotkeys","_contextMenuStyle"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as l, computed as u, openBlock as c, createElementBlock as s, unref as
|
|
1
|
+
import { defineComponent as l, computed as u, openBlock as c, createElementBlock as s, unref as i, withModifiers as f, toDisplayString as x } from "vue";
|
|
2
2
|
import "@vft/utils";
|
|
3
3
|
import "@vft/use";
|
|
4
4
|
import "../divider/index.mjs";
|
|
@@ -19,36 +19,51 @@ import "../footer-layout/index.mjs";
|
|
|
19
19
|
import "../iframe-layout/index.mjs";
|
|
20
20
|
import "../router-view-content/index.mjs";
|
|
21
21
|
import "../logo/index.mjs";
|
|
22
|
+
import "../back-top/index.mjs";
|
|
23
|
+
import "../config-provider/index.mjs";
|
|
24
|
+
import "../descriptions/index.mjs";
|
|
25
|
+
import "../full-screen/index.mjs";
|
|
26
|
+
import "../icon-text/index.mjs";
|
|
27
|
+
import "../image/index.mjs";
|
|
28
|
+
import "../input/index.mjs";
|
|
29
|
+
import "../link/index.mjs";
|
|
30
|
+
import "../pagination/index.mjs";
|
|
31
|
+
import "../tag/index.mjs";
|
|
32
|
+
import "../side-menu/index.mjs";
|
|
33
|
+
import "../qrcode/index.mjs";
|
|
34
|
+
import "../overlay/index.mjs";
|
|
35
|
+
import "../clamp/index.mjs";
|
|
36
|
+
import "../clamp-toggle/index.mjs";
|
|
22
37
|
import { useContextMenu as b } from "../context-menu/useContextMenu.mjs";
|
|
23
38
|
import { useTabDropdown as d } from "./use/use-tab-dropdown.mjs";
|
|
24
39
|
import "vue-router";
|
|
25
40
|
import "@vft/store";
|
|
26
|
-
const C = ["title", "onContextmenu"],
|
|
41
|
+
const C = ["title", "onContextmenu"], rt = /* @__PURE__ */ l({
|
|
27
42
|
__name: "tab-content",
|
|
28
43
|
props: {
|
|
29
44
|
tabItem: null,
|
|
30
45
|
affixNum: null,
|
|
31
46
|
contextMenuStyle: null
|
|
32
47
|
},
|
|
33
|
-
setup(t, { expose:
|
|
34
|
-
const [
|
|
35
|
-
function
|
|
36
|
-
a(t.tabItem)(
|
|
37
|
-
event:
|
|
48
|
+
setup(t, { expose: r }) {
|
|
49
|
+
const [n] = b(), e = u(() => t.tabItem.meta && t.tabItem.meta.title), { getDropMenuList: p, handleContextMenu: a } = d(t.tabItem, t.affixNum);
|
|
50
|
+
function m(o) {
|
|
51
|
+
a(t.tabItem)(o), n({
|
|
52
|
+
event: o,
|
|
38
53
|
styles: t.contextMenuStyle,
|
|
39
54
|
items: p.value
|
|
40
55
|
});
|
|
41
56
|
}
|
|
42
|
-
return
|
|
43
|
-
handleContext:
|
|
44
|
-
}), (
|
|
45
|
-
title:
|
|
57
|
+
return r({
|
|
58
|
+
handleContext: m
|
|
59
|
+
}), (o, M) => (c(), s("span", {
|
|
60
|
+
title: i(e),
|
|
46
61
|
class: "vft-multiple-tabs__title",
|
|
47
|
-
onContextmenu: f(
|
|
48
|
-
}, x(
|
|
62
|
+
onContextmenu: f(m, ["stop"])
|
|
63
|
+
}, x(i(e)), 41, C));
|
|
49
64
|
}
|
|
50
65
|
});
|
|
51
66
|
export {
|
|
52
|
-
|
|
67
|
+
rt as default
|
|
53
68
|
};
|
|
54
69
|
//# sourceMappingURL=tab-content.vue2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-content.vue2.mjs","sources":["../../../../../packages/components/multiple-tabs/tab-content.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { useContextMenu } from '@vft-ui/components/context-menu';\nimport type { TabContentExpose } from './types';\nimport { useTabDropdown } from './use';\n\ninterface Props {\n tabItem: RouteLocationNormalized;\n affixNum: number;\n contextMenuStyle?: Record<string, Numberish>;\n}\n\ndefineProps({\n \"tabItem\": null,\n \"affixNum\": null,\n \"contextMenuStyle\": null\n})\n\nconst [createContextMenu] = useContextMenu();\n\nconst getTitle = computed(() => {\n return __props.tabItem.meta && (__props.tabItem.meta.title as string);\n});\n\nconst { getDropMenuList, handleContextMenu } = useTabDropdown(__props.tabItem, __props.affixNum);\n\nfunction handleContext(e: MouseEvent) {\n handleContextMenu(__props.tabItem)(e);\n createContextMenu({\n event: e,\n styles: __props.contextMenuStyle,\n items: getDropMenuList.value\n });\n}\n\ndefineExpose<TabContentExpose>({\n handleContext\n});\n</script>\n\n<template>\n <span :title=\"getTitle\" class=\"vft-multiple-tabs__title\" @contextmenu.stop=\"handleContext\">{{ getTitle }}</span>\n</template>\n"],"names":["createContextMenu","useContextMenu","getTitle","computed","__props","getDropMenuList","handleContextMenu","useTabDropdown","handleContext","expose"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tab-content.vue2.mjs","sources":["../../../../../packages/components/multiple-tabs/tab-content.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { type RouteLocationNormalized } from 'vue-router';\nimport { useContextMenu } from '@vft-ui/components/context-menu';\nimport type { TabContentExpose } from './types';\nimport { useTabDropdown } from './use';\n\ninterface Props {\n tabItem: RouteLocationNormalized;\n affixNum: number;\n contextMenuStyle?: Record<string, Numberish>;\n}\n\ndefineProps({\n \"tabItem\": null,\n \"affixNum\": null,\n \"contextMenuStyle\": null\n})\n\nconst [createContextMenu] = useContextMenu();\n\nconst getTitle = computed(() => {\n return __props.tabItem.meta && (__props.tabItem.meta.title as string);\n});\n\nconst { getDropMenuList, handleContextMenu } = useTabDropdown(__props.tabItem, __props.affixNum);\n\nfunction handleContext(e: MouseEvent) {\n handleContextMenu(__props.tabItem)(e);\n createContextMenu({\n event: e,\n styles: __props.contextMenuStyle,\n items: getDropMenuList.value\n });\n}\n\ndefineExpose<TabContentExpose>({\n handleContext\n});\n</script>\n\n<template>\n <span :title=\"getTitle\" class=\"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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBM,UAAA,CAACA,CAAiB,IAAIC,KAEtBC,IAAWC,EAAS,MACjBC,EAAQ,QAAQ,QAASA,EAAQ,QAAQ,KAAK,KACtD,GAEK,EAAE,iBAAAC,GAAiB,mBAAAC,MAAsBC,EAAeH,EAAQ,SAASA,EAAQ,QAAQ;AAE/F,aAASI,EAAcC,GAAe;AAClB,MAAAH,EAAAF,EAAQ,OAAO,EAAEK,CAAC,GAClBT,EAAA;AAAA,QAChB,OAAOS;AAAA,QACP,QAAQL,EAAQ;AAAA,QAChB,OAAOC,EAAgB;AAAA,MAAA,CACxB;AAAA,IACH;AAE+B,WAAAK,EAAA;AAAA,MAC7B,eAAAF;AAAA,IAAA,CACD;;;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare const VftOverlay: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
|
+
mask: {
|
|
3
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
4
|
+
required: false;
|
|
5
|
+
};
|
|
6
|
+
onlyNode: {
|
|
7
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
8
|
+
required: false;
|
|
9
|
+
};
|
|
10
|
+
customMaskEvent: {
|
|
11
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
12
|
+
required: false;
|
|
13
|
+
};
|
|
14
|
+
overlayClass: {
|
|
15
|
+
type: import("vue").PropType<any>;
|
|
16
|
+
required: false;
|
|
17
|
+
};
|
|
18
|
+
zIndex: {
|
|
19
|
+
type: import("vue").PropType<Numberish | undefined>;
|
|
20
|
+
required: false;
|
|
21
|
+
};
|
|
22
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
|
+
mask: {
|
|
24
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
25
|
+
required: false;
|
|
26
|
+
};
|
|
27
|
+
onlyNode: {
|
|
28
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
29
|
+
required: false;
|
|
30
|
+
};
|
|
31
|
+
customMaskEvent: {
|
|
32
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
33
|
+
required: false;
|
|
34
|
+
};
|
|
35
|
+
overlayClass: {
|
|
36
|
+
type: import("vue").PropType<any>;
|
|
37
|
+
required: false;
|
|
38
|
+
};
|
|
39
|
+
zIndex: {
|
|
40
|
+
type: import("vue").PropType<Numberish | undefined>;
|
|
41
|
+
required: false;
|
|
42
|
+
};
|
|
43
|
+
}>> & {
|
|
44
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
45
|
+
}, {}>> & Record<string, any>;
|
|
46
|
+
export default VftOverlay;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { withInstall as t } from "../../utils/vue/install.mjs";
|
|
2
|
+
import "vue";
|
|
3
|
+
import "@vue/shared";
|
|
4
|
+
import "@vft/utils";
|
|
5
|
+
import o from "./overlay.vue2.mjs";
|
|
6
|
+
const f = t(o);
|
|
7
|
+
export {
|
|
8
|
+
f as VftOverlay,
|
|
9
|
+
f as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/overlay/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Overlay from './overlay.vue'\n\nexport const VftOverlay = withInstall(Overlay)\n\nexport default VftOverlay\n\n"],"names":["VftOverlay","withInstall","Overlay"],"mappings":";;;;;AAIa,MAAAA,IAAaC,EAAYC,CAAO;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { PropType as __PropType } from 'vue';
|
|
2
|
+
declare const _sfc_main: import("vue").DefineComponent<{
|
|
3
|
+
mask: {
|
|
4
|
+
type: __PropType<boolean | undefined>;
|
|
5
|
+
required: false;
|
|
6
|
+
};
|
|
7
|
+
onlyNode: {
|
|
8
|
+
type: __PropType<boolean | undefined>;
|
|
9
|
+
required: false;
|
|
10
|
+
};
|
|
11
|
+
customMaskEvent: {
|
|
12
|
+
type: __PropType<boolean | undefined>;
|
|
13
|
+
required: false;
|
|
14
|
+
};
|
|
15
|
+
overlayClass: {
|
|
16
|
+
type: __PropType<any>;
|
|
17
|
+
required: false;
|
|
18
|
+
};
|
|
19
|
+
zIndex: {
|
|
20
|
+
type: __PropType<Numberish | undefined>;
|
|
21
|
+
required: false;
|
|
22
|
+
};
|
|
23
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
|
+
mask: {
|
|
25
|
+
type: __PropType<boolean | undefined>;
|
|
26
|
+
required: false;
|
|
27
|
+
};
|
|
28
|
+
onlyNode: {
|
|
29
|
+
type: __PropType<boolean | undefined>;
|
|
30
|
+
required: false;
|
|
31
|
+
};
|
|
32
|
+
customMaskEvent: {
|
|
33
|
+
type: __PropType<boolean | undefined>;
|
|
34
|
+
required: false;
|
|
35
|
+
};
|
|
36
|
+
overlayClass: {
|
|
37
|
+
type: __PropType<any>;
|
|
38
|
+
required: false;
|
|
39
|
+
};
|
|
40
|
+
zIndex: {
|
|
41
|
+
type: __PropType<Numberish | undefined>;
|
|
42
|
+
required: false;
|
|
43
|
+
};
|
|
44
|
+
}>> & {
|
|
45
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
46
|
+
}, {}>;
|
|
47
|
+
export default _sfc_main;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { defineComponent as c, useSlots as x, createVNode as y, renderSlot as u, h as r } from "vue";
|
|
2
|
+
import { useNamespace as v } from "../../hooks/use-namespace/index.mjs";
|
|
3
|
+
import "@popperjs/core";
|
|
4
|
+
import "lodash";
|
|
5
|
+
import "../../hooks/use-z-index/index.mjs";
|
|
6
|
+
import "@vueuse/core";
|
|
7
|
+
import { NOOP as a } from "@vue/shared";
|
|
8
|
+
import "@vft/utils";
|
|
9
|
+
const i = (
|
|
10
|
+
/* hoist-static*/
|
|
11
|
+
v("overlay")
|
|
12
|
+
), C = c({
|
|
13
|
+
name: i.b()
|
|
14
|
+
}), h = /* @__PURE__ */ c({
|
|
15
|
+
...C,
|
|
16
|
+
props: {
|
|
17
|
+
mask: { type: Boolean },
|
|
18
|
+
onlyNode: { type: Boolean },
|
|
19
|
+
customMaskEvent: { type: Boolean },
|
|
20
|
+
overlayClass: null,
|
|
21
|
+
zIndex: null
|
|
22
|
+
},
|
|
23
|
+
emits: ["click"],
|
|
24
|
+
setup(o, { emit: d }) {
|
|
25
|
+
const m = (n) => {
|
|
26
|
+
if (!n)
|
|
27
|
+
return { onClick: a, onMousedown: a, onMouseup: a };
|
|
28
|
+
let s = !1, l = !1;
|
|
29
|
+
return { onClick: (e) => {
|
|
30
|
+
s && l && n(e), s = l = !1;
|
|
31
|
+
}, onMousedown: (e) => {
|
|
32
|
+
s = e.target === e.currentTarget;
|
|
33
|
+
}, onMouseup: (e) => {
|
|
34
|
+
l = e.target === e.currentTarget;
|
|
35
|
+
} };
|
|
36
|
+
}, t = x(), p = (n) => {
|
|
37
|
+
d("click", n);
|
|
38
|
+
}, { onClick: f, onMousedown: M, onMouseup: k } = m(o.customMaskEvent ? void 0 : p);
|
|
39
|
+
return () => o.mask ? y(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
class: [i.b(), o.overlayClass],
|
|
43
|
+
style: {
|
|
44
|
+
zIndex: o.zIndex
|
|
45
|
+
},
|
|
46
|
+
onClick: f,
|
|
47
|
+
onMousedown: M,
|
|
48
|
+
onMouseup: k
|
|
49
|
+
},
|
|
50
|
+
[u(t, "default")],
|
|
51
|
+
14,
|
|
52
|
+
["onClick", "onMouseup", "onMousedown"]
|
|
53
|
+
) : o.onlyNode ? r(
|
|
54
|
+
"div",
|
|
55
|
+
{},
|
|
56
|
+
[u(t, "default")]
|
|
57
|
+
) : r(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
class: o.overlayClass,
|
|
61
|
+
style: {
|
|
62
|
+
zIndex: o.zIndex,
|
|
63
|
+
position: "fixed",
|
|
64
|
+
top: "0px",
|
|
65
|
+
right: "0px",
|
|
66
|
+
bottom: "0px",
|
|
67
|
+
left: "0px"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
[u(t, "default")]
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
export {
|
|
75
|
+
h as default
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=overlay.vue2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay.vue2.mjs","sources":["../../../../../packages/components/overlay/overlay.vue"],"sourcesContent":["<script lang=\"ts\">\nenum PatchFlags {\n TEXT = 1,\n CLASS = 2,\n STYLE = 4,\n PROPS = 8,\n FULL_PROPS = 16,\n HYDRATE_EVENTS = 32,\n STABLE_FRAGMENT = 64,\n KEYED_FRAGMENT = 128,\n UNKEYED_FRAGMENT = 256,\n NEED_PATCH = 512,\n DYNAMIC_SLOTS = 1024,\n HOISTED = -1,\n BAIL = -2\n}\nconst ns = /* hoist-static*/ useNamespace('overlay')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { createVNode, useSlots, type CSSProperties, h, renderSlot } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { NOOP } from '@vue/shared';\n\n\n\ninterface Props {\n mask?: boolean;\n onlyNode?: boolean\n customMaskEvent?: boolean;\n overlayClass?: any;\n zIndex?: Numberish;\n}\n\nconst useSameTarget = (handleClick?: (e: MouseEvent) => void) => {\n if (!handleClick) {\n return { onClick: NOOP, onMousedown: NOOP, onMouseup: NOOP };\n }\n\n let mousedownTarget = false;\n let mouseupTarget = false;\n\n const onClick = (e: MouseEvent) => {\n // if and only if\n if (mousedownTarget && mouseupTarget) {\n handleClick(e);\n }\n mousedownTarget = mouseupTarget = false;\n };\n\n const onMousedown = (e: MouseEvent) => {\n // marking current mousedown target.\n mousedownTarget = e.target === e.currentTarget;\n };\n const onMouseup = (e: MouseEvent) => {\n // marking current mouseup target.\n mouseupTarget = e.target === e.currentTarget;\n };\n\n return { onClick, onMousedown, onMouseup };\n};\n\ndefineProps({\n \"mask\": { type: Boolean, },\n \"onlyNode\": { type: Boolean, },\n \"customMaskEvent\": { type: Boolean, },\n \"overlayClass\": null,\n \"zIndex\": null\n})\n\n\n\n;\n\nconst emit = defineEmits(['click']);\n\nconst slots = useSlots();\n\nconst onMaskClick = (e: MouseEvent) => {\n emit('click', e);\n};\n\nconst { onClick, onMousedown, onMouseup } = useSameTarget(__props.customMaskEvent ? undefined : onMaskClick);\n\ndefineRender(() => {\n return __props.mask\n ? createVNode(\n 'div',\n {\n class: [ns.b(), __props.overlayClass],\n style: {\n zIndex: __props.zIndex\n },\n onClick,\n onMousedown,\n onMouseup\n },\n [renderSlot(slots, 'default')],\n PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS,\n ['onClick', 'onMouseup', 'onMousedown']\n )\n : __props.onlyNode ? h(\n 'div',\n {},\n [renderSlot(slots, 'default')]\n ) : h(\n 'div',\n {\n class: __props.overlayClass,\n style: {\n zIndex: __props.zIndex,\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px'\n } as CSSProperties\n },\n [renderSlot(slots, 'default')]\n );\n});\n</script>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","useSameTarget","handleClick","NOOP","mousedownTarget","mouseupTarget","slots","useSlots","onMaskClick","e","emit","onClick","onMousedown","onMouseup","__props","createVNode","renderSlot","h"],"mappings":";;;;;;;;AAgBA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,SAAS;AAAA,GAGnDC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;AAgBK,UAAAI,IAAgB,CAACC,MAA0C;AAC/D,UAAI,CAACA;AACH,eAAO,EAAE,SAASC,GAAM,aAAaA,GAAM,WAAWA;AAGxD,UAAIC,IAAkB,IAClBC,IAAgB;AAmBpB,aAAO,EAAE,SAjBO,CAAC,MAAkB;AAEjC,QAAID,KAAmBC,KACrBH,EAAY,CAAC,GAEfE,IAAkBC,IAAgB;AAAA,MAAA,GAYlB,aATE,CAAC,MAAkB;AAEnB,QAAAD,IAAA,EAAE,WAAW,EAAE;AAAA,MAAA,GAOJ,WALb,CAAC,MAAkB;AAEnB,QAAAC,IAAA,EAAE,WAAW,EAAE;AAAA,MAAA;IAGQ,GAiBrCC,IAAQC,KAERC,IAAc,CAACC,MAAkB;AACrC,MAAAC,EAAK,SAASD,CAAC;AAAA,IAAA,GAGX,EAAE,SAAAE,GAAS,aAAAC,GAAa,WAAAC,MAAcZ,EAAca,EAAQ,kBAAkB,SAAYN,CAAW;AAE9F,WAAA,MACJM,EAAQ,OACXC;AAAA,MACE;AAAA,MACA;AAAA,QACE,OAAO,CAAClB,EAAG,EAAE,GAAGiB,EAAQ,YAAY;AAAA,QACpC,OAAO;AAAA,UACL,QAAQA,EAAQ;AAAA,QAClB;AAAA,QACA,SAAAH;AAAA,QACA,aAAAC;AAAA,QACA,WAAAC;AAAA,MACF;AAAA,MACA,CAACG,EAAWV,GAAO,SAAS,CAAC;AAAA,MAC7B;AAAA,MACA,CAAC,WAAW,aAAa,aAAa;AAAA,IAAA,IAExCQ,EAAQ,WAAWG;AAAA,MACnB;AAAA,MACA,CAAC;AAAA,MACD,CAACD,EAAWV,GAAO,SAAS,CAAC;AAAA,IAAA,IAC3BW;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAOH,EAAQ;AAAA,QACf,OAAO;AAAA,UACL,QAAQA,EAAQ;AAAA,UAChB,UAAU;AAAA,UACV,KAAK;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MACA,CAACE,EAAWV,GAAO,SAAS,CAAC;AAAA,IAAA;AAAA;;"}
|
|
File without changes
|