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
|
@@ -20,7 +20,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
|
|
|
20
20
|
required: false;
|
|
21
21
|
};
|
|
22
22
|
tabPosition: {
|
|
23
|
-
type: import("vue").PropType<"left" | "right" | "
|
|
23
|
+
type: import("vue").PropType<"left" | "right" | "bottom" | "top" | undefined>;
|
|
24
24
|
required: false;
|
|
25
25
|
};
|
|
26
26
|
beforeLeave: {
|
|
@@ -88,7 +88,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
|
|
|
88
88
|
attrs: Record<string, any>;
|
|
89
89
|
}, index: number, ev: Event) => boolean;
|
|
90
90
|
tabChange: (name: Numberish) => boolean;
|
|
91
|
-
edit: (paneName: Numberish | undefined, action: "
|
|
91
|
+
edit: (paneName: Numberish | undefined, action: "add" | "remove") => boolean;
|
|
92
92
|
tabRemove: (name: Numberish) => boolean;
|
|
93
93
|
tabAdd: () => true;
|
|
94
94
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -113,7 +113,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
|
|
|
113
113
|
required: false;
|
|
114
114
|
};
|
|
115
115
|
tabPosition: {
|
|
116
|
-
type: import("vue").PropType<"left" | "right" | "
|
|
116
|
+
type: import("vue").PropType<"left" | "right" | "bottom" | "top" | undefined>;
|
|
117
117
|
required: false;
|
|
118
118
|
};
|
|
119
119
|
beforeLeave: {
|
|
@@ -179,7 +179,7 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
|
|
|
179
179
|
attrs: Record<string, any>;
|
|
180
180
|
}, index: number, ev: Event) => any) | undefined;
|
|
181
181
|
onTabChange?: ((name: Numberish) => any) | undefined;
|
|
182
|
-
onEdit?: ((paneName: Numberish | undefined, action: "
|
|
182
|
+
onEdit?: ((paneName: Numberish | undefined, action: "add" | "remove") => any) | undefined;
|
|
183
183
|
onTabRemove?: ((name: Numberish) => any) | undefined;
|
|
184
184
|
onTabAdd?: (() => any) | undefined;
|
|
185
185
|
}, {}>> & {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("@vue/shared");const G=require("../../utils/error.js");require("../divider/index.js");const V=require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("./index.js");require("../popper/index.js");require("../collapse-transition/index.js");require("../tooltip/index.js");require("../popover/index.js");require("../menu/index.js");const w=require("@vft/utils");require("@vft/use");require("../multiple-tabs/index.js");require("../header-layout/index.js");require("../footer-layout/index.js");require("../iframe-layout/index.js");require("../router-view-content/index.js");require("../logo/index.js");const R=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");const T=require("@vueuse/core"),x=require("@vft/constants"),J=require("./types.js"),Q=require("./tab-bar.vue2.js"),P=R.useNamespace("tab-nav"),Z=t.defineComponent({name:P.b()}),_=t.defineComponent({...Z,props:{panes:null,editable:{type:Boolean},addable:{type:Boolean},type:null,stretch:{type:Boolean},closeIconCfg:null,addIconCfg:null,arrowLeftIconCfg:null,arrowRightIconCfg:null},emits:["tabClick","tabRemove","tabAdd","tabContextmenu"],setup(
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("@vue/shared");const G=require("../../utils/error.js");require("../divider/index.js");const V=require("../icon/index.js");require("../avatar/index.js");require("../empty/index.js");require("../result/index.js");require("../exception/index.js");require("./index.js");require("../popper/index.js");require("../collapse-transition/index.js");require("../tooltip/index.js");require("../popover/index.js");require("../menu/index.js");const w=require("@vft/utils");require("@vft/use");require("../multiple-tabs/index.js");require("../header-layout/index.js");require("../footer-layout/index.js");require("../iframe-layout/index.js");require("../router-view-content/index.js");require("../logo/index.js");require("../back-top/index.js");require("../config-provider/index.js");require("../descriptions/index.js");require("../full-screen/index.js");require("../icon-text/index.js");require("../image/index.js");require("../input/index.js");require("../link/index.js");require("../pagination/index.js");require("../tag/index.js");require("../side-menu/index.js");require("../qrcode/index.js");require("../overlay/index.js");require("../clamp/index.js");require("../clamp-toggle/index.js");const R=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");const T=require("@vueuse/core"),x=require("@vft/constants"),J=require("./types.js"),Q=require("./tab-bar.vue2.js"),P=R.useNamespace("tab-nav"),Z=t.defineComponent({name:P.b()}),_=t.defineComponent({...Z,props:{panes:null,editable:{type:Boolean},addable:{type:Boolean},type:null,stretch:{type:Boolean},closeIconCfg:null,addIconCfg:null,arrowLeftIconCfg:null,arrowRightIconCfg:null},emits:["tabClick","tabRemove","tabAdd","tabContextmenu"],setup(a,{expose:A,emit:m}){var E;const D=t.getCurrentInstance(),q=t.inject(J.TabsRootContextKey);q||G.throwError(P.b(),"<vft-tabs><tab-nav /></vft-tabs>");const n=R.useNamespace("tabs"),F=T.useDocumentVisibility(),L=T.useWindowFocus(),N=t.ref(),b=t.ref(),C=t.ref(),f=t.ref(!1),d=t.ref(0),y=t.ref(!1),p=t.ref(!0),h=t.computed(()=>["top","bottom"].includes(q.props.tabPosition)?"width":"height"),M=t.computed(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${d.value}px)`})),K=()=>{if(!b.value)return;const o=b.value[`offset${w.capitalize(h.value)}`],e=d.value;e&&(d.value=e>o?e-o:0)},j=()=>{if(!b.value||!C.value)return;const o=C.value[`offset${w.capitalize(h.value)}`],e=b.value[`offset${w.capitalize(h.value)}`],r=d.value;o-r<=e||(d.value=o-r>e*2?r+e:o-e)},$=async()=>{const o=C.value;if(!f.value||!N.value||!b.value||!o)return;await t.nextTick();const e=N.value.querySelector(".is-active");if(!e)return;const r=b.value,g=["top","bottom"].includes(q.props.tabPosition),i=e.getBoundingClientRect(),l=r.getBoundingClientRect(),u=g?o.offsetWidth-l.width:o.offsetHeight-l.height,c=d.value;let s=c;g?(i.left<l.left&&(s=c-(l.left-i.left)),i.right>l.right&&(s=c+i.right-l.right)):(i.top<l.top&&(s=c-(l.top-i.top)),i.bottom>l.bottom&&(s=c+(i.bottom-l.bottom))),s=Math.max(s,0),d.value=Math.min(s,u)},O=()=>{if(!C.value||!b.value)return;const o=C.value[`offset${w.capitalize(h.value)}`],e=b.value[`offset${w.capitalize(h.value)}`],r=d.value;e<o?(f.value=f.value||{},f.value.prev=r,f.value.next=r+e<o,o-r<e&&(d.value=o-e)):(f.value=!1,r>0&&(d.value=0))},H=o=>{const e=o.code,{up:r,down:g,left:i,right:l}=x.EVENT_CODE;if(![r,g,i,l].includes(e))return;const u=Array.from(o.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),c=u.indexOf(o.target);let s;e===i||e===r?c===0?s=u.length-1:s=c-1:c<u.length-1?s=c+1:s=0,u[s].focus(),u[s].click(),z()},z=()=>{p.value&&(y.value=!0)},I=()=>y.value=!1;t.watch(F,o=>{o==="hidden"?p.value=!1:o==="visible"&&setTimeout(()=>p.value=!0,50)}),t.watch(L,o=>{o?setTimeout(()=>p.value=!0,50):p.value=!1}),T.useResizeObserver(N,O),t.onMounted(()=>setTimeout(()=>$(),0)),t.onUpdated(()=>O()),A({scrollToActiveTab:$,removeFocus:I}),t.watch(()=>a.panes,()=>D.update(),{flush:"post"});const W=t.computed(()=>{var o,e;return f.value?[t.createVNode("span",{class:[n.e("nav-prev"),n.is("disabled",!f.value.prev)],onClick:K},[(o=a.arrowLeftIconCfg)!=null&&o.icon?t.createVNode(V.VftIcon,a.arrowLeftIconCfg,null):null]),t.createVNode("span",{class:[n.e("nav-next"),n.is("disabled",!f.value.next)],onClick:j},[(e=a.arrowRightIconCfg)!=null&&e.icon?t.createVNode(V.VftIcon,a.arrowRightIconCfg,null):null])]:null}),U=t.computed(()=>{var o;return(o=a.panes)==null?void 0:o.map((e,r)=>{var S,k,B;const g=e.uid,i=e.props.disabled,l=e.props.name??e.index??`${r}`,u=!i&&(e.isClosable||a.editable);e.index=`${r}`;const c=u?t.createVNode("span",{class:"is-icon-close",onClick:v=>m("tabRemove",e,v)},[(S=a.closeIconCfg)!=null&&S.icon?t.createVNode(V.VftIcon,a.closeIconCfg,null):null]):null,s=((B=(k=e.slots).label)==null?void 0:B.call(k))||e.props.label,Y=!i&&e.active?0:-1;return t.createVNode("div",{ref:`tab-${g}`,class:[n.e("item"),n.is(q.props.tabPosition),n.is("active",e.active),n.is("disabled",i),n.is("closable",u),n.is("focus",y.value)],id:`tab-${l}`,key:`tab-${g}`,"aria-controls":`pane-${l}`,role:"tab","aria-selected":e.active,tabindex:Y,onFocus:()=>z(),onBlur:()=>I(),onClick:v=>{I(),m("tabClick",e,l,v)},onContextmenu:v=>{v.preventDefault(),m("tabContextmenu",{pane:e,index:r,event:v})},onKeydown:v=>{u&&(v.code===x.EVENT_CODE.delete||v.code===x.EVENT_CODE.backspace)&&m("tabRemove",e,v)}},[s,c])})}),X=a.editable||a.addable?t.createVNode("span",{class:n.e("new-tab"),tabindex:"0",onClick:()=>m("tabAdd"),onKeydown:o=>{o.code===x.EVENT_CODE.enter&&m("tabAdd")}},[(E=a.addIconCfg)!=null&&E.icon?t.createVNode(V.VftIcon,a.addIconCfg,null):null]):null;return()=>t.createVNode("div",{ref:N,class:[n.e("nav-wrap"),n.is("scrollable",!!f.value),n.is(q.props.tabPosition)]},[W.value,t.createVNode("div",{class:n.e("nav-scroll"),ref:b},[t.createVNode("div",{class:[n.e("nav"),n.is(q.props.tabPosition),n.is("stretch",a.stretch&&["top","bottom"].includes(q.props.tabPosition))],ref:C,style:M.value,role:"tablist",onKeydown:H},[a.type?null:t.createVNode(Q.default,{tabs:[...a.panes]},null),U.value]),X])])}});exports.default=_;
|
|
2
2
|
//# sourceMappingURL=tab-nav.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.vue2.js","sources":["../../../../../packages/components/tabs/tab-nav.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns_nav = /* hoist-static*/ useNamespace('tab-nav')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns_nav.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { throwError } from '@vft-ui/utils';\nimport {\n computed,\n type CSSProperties,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch\n} from 'vue';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { capitalize } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport { TabsRootContextKey } from './types';\nimport type { TabsPaneContext, TabsType, Scrollable } from './types';\nimport { useDocumentVisibility, useResizeObserver, useWindowFocus } from '@vueuse/core';\nimport TabBar from './tab-bar.vue';\n\ninterface TabNavProps {\n panes: TabsPaneContext[];\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** tab 类型 */\n type?: TabsType;\n stretch?: boolean;\n /** 图标配置 */\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\ndefineProps({\n \"panes\": null,\n \"editable\": { type: Boolean, },\n \"addable\": { type: Boolean, },\n \"type\": null,\n \"stretch\": { type: Boolean, },\n \"closeIconCfg\": null,\n \"addIconCfg\": null,\n \"arrowLeftIconCfg\": null,\n \"arrowRightIconCfg\": null\n})\n\nconst emit = defineEmits(['tabClick', 'tabRemove', 'tabAdd', 'tabContextmenu']);\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\n// 获取从 index.vue 提供的数据信息\nconst rootTabs = inject(TabsRootContextKey)!;\nif (!rootTabs) throwError(ns_nav.b(), `<vft-tabs><tab-nav /></vft-tabs>`)\n\nconst ns = useNamespace('tabs');\nconst visibility = useDocumentVisibility();\nconst focused = useWindowFocus();\n\n// 整个 nav dom 包含前进后退 btn (vft-tabs__nav-wrap)\nconst el$ = ref<HTMLDivElement>();\n// el$ 子节点 包含 newButton (vft-tabs__nav-scroll)\nconst navScroll$ = ref<HTMLDivElement>();\n// navScroll$ 子节点 (vft-tabs__nav)\nconst nav$ = ref<HTMLDivElement>();\n\n/** 是否展示左右滚动 */\nconst scrollable = ref<false | Scrollable>(false);\n// 记录滚动时的偏移量\nconst navOffset = ref(0);\nconst isFocus = ref(false);\nconst focusable = ref(true);\n\n// 根据 tabPosition 确定 sizeName 是 width or height\nconst sizeName = computed(() => ['top', 'bottom'].includes(rootTabs.props.tabPosition!) ? 'width' : 'height');\n\n// 设置 tab 导航栏的 translateX or translateY 的偏移量\nconst navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y';\n return {\n transform: `translate${dir}(-${navOffset.value}px)`\n };\n});\n\n// 向前滚动\nconst scrollPrev = () => {\n if (!navScroll$.value) return;\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (!currentOffset) return;\n\n navOffset.value = currentOffset > containerSize ? currentOffset - containerSize : 0;\n};\n\n// 向后滚动\nconst scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return;\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (navSize - currentOffset <= containerSize) return;\n\n navOffset.value = navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize;\n};\n\n// 滚动到激活的 tab 主要是获取 navOffset 的值\nconst scrollToActiveTab = async() => {\n const nav = nav$.value;\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return;\n\n await nextTick();\n\n const activeTab = el$.value.querySelector('.is-active');\n if (!activeTab) return;\n\n const navScroll = navScroll$.value;\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition!\n );\n const activeTabBounding = activeTab.getBoundingClientRect();\n // vft-tabs__nav-scroll\n const navScrollBounding = navScroll.getBoundingClientRect();\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height;\n\n const currentOffset = navOffset.value;\n\n let newOffset = currentOffset;\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left);\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right;\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top);\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom);\n }\n }\n newOffset = Math.max(newOffset, 0);\n navOffset.value = Math.min(newOffset, maxOffset);\n};\n\nconst update = () => {\n if (!nav$.value || !navScroll$.value) return;\n // 根据 position 的不同 获取 nav$(vft-tabs__nav) 的 offsetWidth or offsetHeight\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到 navScroll$ 的 offsetWidth or offsetHeight\n const containerSize = navScroll$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到当前的偏移量\n const currentOffset = navOffset.value;\n // 由于 navScroll$ 的 overflow 是 hidden,所以当 vft-tabs__nav 撑开时其宽度可能会超过 vft-tabs__nav-scroll\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {};\n scrollable.value.prev = currentOffset;\n scrollable.value.next = currentOffset + containerSize < navSize;\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize;\n }\n } else {\n scrollable.value = false;\n if (currentOffset > 0) {\n navOffset.value = 0;\n }\n }\n};\n\nconst changeTab = (e: KeyboardEvent) => {\n const code = e.code;\n\n const { up, down, left, right } = EVENT_CODE;\n if (![up, down, left, right].includes(code)) return;\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n );\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement);\n\n let nextIndex: number;\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1;\n } else {\n nextIndex = currentIndex - 1;\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1;\n } else {\n nextIndex = 0;\n }\n }\n tabList[nextIndex].focus(); // 改变焦点元素\n tabList[nextIndex].click(); // 选中下一个tab\n setFocus();\n};\n\nconst setFocus = () => {\n if (focusable.value) isFocus.value = true;\n};\nconst removeFocus = () => (isFocus.value = false);\n\nwatch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false;\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50);\n }\n});\n\nwatch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50);\n } else {\n focusable.value = false;\n }\n});\n\n// 监听 resize 触发 update\nuseResizeObserver(el$, update);\n\nonMounted(() => setTimeout(() => scrollToActiveTab(), 0));\nonUpdated(() => update());\n\ndefineExpose({\n scrollToActiveTab,\n removeFocus\n});\n\nwatch(\n () => __props.panes,\n () => vm.update(),\n { flush: 'post' }\n);\n\n// 前进后退标签\nconst scrollBtn = computed(() => {\n return scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev)\n ]}\n onClick={scrollPrev}\n >\n {__props.arrowLeftIconCfg?.icon ? <VftIcon {...__props.arrowLeftIconCfg}></VftIcon> : null}\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next)\n ]}\n onClick={scrollNext}\n >\n {__props.arrowRightIconCfg?.icon ? <VftIcon {...__props.arrowRightIconCfg}></VftIcon> : null}\n </span>\n ]\n : null;\n});\n\n// 渲染 tab-pane\nconst tabs = computed(() => {\n return __props.panes?.map((pane, index) => {\n const uid = pane.uid;\n const disabled = pane.props.disabled;\n const tabName = pane.props.name ?? pane.index ?? `${index}`;\n const closable = !disabled && (pane.isClosable || __props.editable);\n pane.index = `${index}`;\n\n // 关闭标签图标\n const btnClose = closable ? (\n <span class=\"is-icon-close\" onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}>\n {__props.closeIconCfg?.icon ? <VftIcon {...__props.closeIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label;\n const tabindex = !disabled && pane.active ? 0 : -1;\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value)\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus();\n emit('tabClick', pane, tabName, ev);\n }}\n onContextmenu={(event) => {\n event.preventDefault();\n emit('tabContextmenu', { pane, index, event });\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev);\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n );\n });\n});\n\n// 增加 tab 的 dom\nconst newButton =\n __props.editable || __props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={() => emit('tabAdd')}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) emit('tabAdd');\n }}\n >\n {__props.addIconCfg?.icon ? <VftIcon {...__props.addIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\ndefineRender(() => {\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition!)\n ]}\n >\n {scrollBtn.value}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is(\n 'stretch',\n __props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition!)\n )\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !__props.type ? <TabBar tabs={[...__props.panes]} /> : null,\n tabs.value\n ]}\n </div>\n {newButton}\n </div>\n </div>\n );\n});\n</script>\n"],"names":["ns_nav","useNamespace","__default__","DO_defineComponent","name","b","vm","getCurrentInstance","rootTabs","inject","TabsRootContextKey","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","el$","ref","navScroll$","nav$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","props","tabPosition","navStyle","transform","value","scrollPrev","containerSize","capitalize","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","nextTick","activeTab","querySelector","navScroll","isHorizontal","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","width","offsetHeight","height","newOffset","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","e","code","up","down","EVENT_CODE","tabList","Array","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","click","setFocus","removeFocus","watch","setTimeout","useResizeObserver","onMounted","onUpdated","expose","__props","panes","flush","scrollBtn","_createVNode","is","arrowLeftIconCfg","icon","VftIcon","arrowRightIconCfg","tabs","map","pane","index","uid","disabled","tabName","closable","isClosable","editable","btnClose","ev","emit","closeIconCfg","tabLabelContent","slots","label","tabindex","active","onFocus","onBlur","event","preventDefault","delete","backspace","newButton","addable","onClick","enter","addIconCfg","stretch","type","TabBar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-nav.vue2.js","sources":["../../../../../packages/components/tabs/tab-nav.vue"],"sourcesContent":["<script lang=\"tsx\">\nconst ns_nav = /* hoist-static*/ useNamespace('tab-nav')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: ns_nav.b()\n});</script>\n<script lang=\"tsx\" setup>\nimport { throwError } from '@vft-ui/utils';\nimport {\n computed,\n type CSSProperties,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch\n} from 'vue';\nimport { type IconProps, VftIcon } from '@vft-ui/components';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { capitalize } from '@vft/utils';\nimport { EVENT_CODE } from '@vft/constants';\nimport { TabsRootContextKey } from './types';\nimport type { TabsPaneContext, TabsType, Scrollable } from './types';\nimport { useDocumentVisibility, useResizeObserver, useWindowFocus } from '@vueuse/core';\nimport TabBar from './tab-bar.vue';\n\ninterface TabNavProps {\n panes: TabsPaneContext[];\n /** 标签是否同时可增加和关闭 */\n editable?: boolean;\n /** 标签是否可增加 */\n addable?: boolean;\n /** tab 类型 */\n type?: TabsType;\n stretch?: boolean;\n /** 图标配置 */\n closeIconCfg?: IconProps;\n addIconCfg?: IconProps;\n arrowLeftIconCfg?: IconProps;\n arrowRightIconCfg?: IconProps;\n}\n\ndefineProps({\n \"panes\": null,\n \"editable\": { type: Boolean, },\n \"addable\": { type: Boolean, },\n \"type\": null,\n \"stretch\": { type: Boolean, },\n \"closeIconCfg\": null,\n \"addIconCfg\": null,\n \"arrowLeftIconCfg\": null,\n \"arrowRightIconCfg\": null\n})\n\nconst emit = defineEmits(['tabClick', 'tabRemove', 'tabAdd', 'tabContextmenu']);\n\n\n\n;\n\nconst vm = getCurrentInstance()!;\n\n// 获取从 index.vue 提供的数据信息\nconst rootTabs = inject(TabsRootContextKey)!;\nif (!rootTabs) throwError(ns_nav.b(), `<vft-tabs><tab-nav /></vft-tabs>`)\n\nconst ns = useNamespace('tabs');\nconst visibility = useDocumentVisibility();\nconst focused = useWindowFocus();\n\n// 整个 nav dom 包含前进后退 btn (vft-tabs__nav-wrap)\nconst el$ = ref<HTMLDivElement>();\n// el$ 子节点 包含 newButton (vft-tabs__nav-scroll)\nconst navScroll$ = ref<HTMLDivElement>();\n// navScroll$ 子节点 (vft-tabs__nav)\nconst nav$ = ref<HTMLDivElement>();\n\n/** 是否展示左右滚动 */\nconst scrollable = ref<false | Scrollable>(false);\n// 记录滚动时的偏移量\nconst navOffset = ref(0);\nconst isFocus = ref(false);\nconst focusable = ref(true);\n\n// 根据 tabPosition 确定 sizeName 是 width or height\nconst sizeName = computed(() => ['top', 'bottom'].includes(rootTabs.props.tabPosition!) ? 'width' : 'height');\n\n// 设置 tab 导航栏的 translateX or translateY 的偏移量\nconst navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y';\n return {\n transform: `translate${dir}(-${navOffset.value}px)`\n };\n});\n\n// 向前滚动\nconst scrollPrev = () => {\n if (!navScroll$.value) return;\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (!currentOffset) return;\n\n navOffset.value = currentOffset > containerSize ? currentOffset - containerSize : 0;\n};\n\n// 向后滚动\nconst scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return;\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`];\n const currentOffset = navOffset.value;\n\n if (navSize - currentOffset <= containerSize) return;\n\n navOffset.value = navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize;\n};\n\n// 滚动到激活的 tab 主要是获取 navOffset 的值\nconst scrollToActiveTab = async() => {\n const nav = nav$.value;\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return;\n\n await nextTick();\n\n const activeTab = el$.value.querySelector('.is-active');\n if (!activeTab) return;\n\n const navScroll = navScroll$.value;\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition!\n );\n const activeTabBounding = activeTab.getBoundingClientRect();\n // vft-tabs__nav-scroll\n const navScrollBounding = navScroll.getBoundingClientRect();\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height;\n\n const currentOffset = navOffset.value;\n\n let newOffset = currentOffset;\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left);\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right;\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top);\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom);\n }\n }\n newOffset = Math.max(newOffset, 0);\n navOffset.value = Math.min(newOffset, maxOffset);\n};\n\nconst update = () => {\n if (!nav$.value || !navScroll$.value) return;\n // 根据 position 的不同 获取 nav$(vft-tabs__nav) 的 offsetWidth or offsetHeight\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到 navScroll$ 的 offsetWidth or offsetHeight\n const containerSize = navScroll$.value[`offset${capitalize(sizeName.value)}`];\n // 获取到当前的偏移量\n const currentOffset = navOffset.value;\n // 由于 navScroll$ 的 overflow 是 hidden,所以当 vft-tabs__nav 撑开时其宽度可能会超过 vft-tabs__nav-scroll\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {};\n scrollable.value.prev = currentOffset;\n scrollable.value.next = currentOffset + containerSize < navSize;\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize;\n }\n } else {\n scrollable.value = false;\n if (currentOffset > 0) {\n navOffset.value = 0;\n }\n }\n};\n\nconst changeTab = (e: KeyboardEvent) => {\n const code = e.code;\n\n const { up, down, left, right } = EVENT_CODE;\n if (![up, down, left, right].includes(code)) return;\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n );\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement);\n\n let nextIndex: number;\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1;\n } else {\n nextIndex = currentIndex - 1;\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1;\n } else {\n nextIndex = 0;\n }\n }\n tabList[nextIndex].focus(); // 改变焦点元素\n tabList[nextIndex].click(); // 选中下一个tab\n setFocus();\n};\n\nconst setFocus = () => {\n if (focusable.value) isFocus.value = true;\n};\nconst removeFocus = () => (isFocus.value = false);\n\nwatch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false;\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50);\n }\n});\n\nwatch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50);\n } else {\n focusable.value = false;\n }\n});\n\n// 监听 resize 触发 update\nuseResizeObserver(el$, update);\n\nonMounted(() => setTimeout(() => scrollToActiveTab(), 0));\nonUpdated(() => update());\n\ndefineExpose({\n scrollToActiveTab,\n removeFocus\n});\n\nwatch(\n () => __props.panes,\n () => vm.update(),\n { flush: 'post' }\n);\n\n// 前进后退标签\nconst scrollBtn = computed(() => {\n return scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev)\n ]}\n onClick={scrollPrev}\n >\n {__props.arrowLeftIconCfg?.icon ? <VftIcon {...__props.arrowLeftIconCfg}></VftIcon> : null}\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next)\n ]}\n onClick={scrollNext}\n >\n {__props.arrowRightIconCfg?.icon ? <VftIcon {...__props.arrowRightIconCfg}></VftIcon> : null}\n </span>\n ]\n : null;\n});\n\n// 渲染 tab-pane\nconst tabs = computed(() => {\n return __props.panes?.map((pane, index) => {\n const uid = pane.uid;\n const disabled = pane.props.disabled;\n const tabName = pane.props.name ?? pane.index ?? `${index}`;\n const closable = !disabled && (pane.isClosable || __props.editable);\n pane.index = `${index}`;\n\n // 关闭标签图标\n const btnClose = closable ? (\n <span class=\"is-icon-close\" onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}>\n {__props.closeIconCfg?.icon ? <VftIcon {...__props.closeIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label;\n const tabindex = !disabled && pane.active ? 0 : -1;\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value)\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus();\n emit('tabClick', pane, tabName, ev);\n }}\n onContextmenu={(event) => {\n event.preventDefault();\n emit('tabContextmenu', { pane, index, event });\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev);\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n );\n });\n});\n\n// 增加 tab 的 dom\nconst newButton =\n __props.editable || __props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={() => emit('tabAdd')}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) emit('tabAdd');\n }}\n >\n {__props.addIconCfg?.icon ? <VftIcon {...__props.addIconCfg}></VftIcon> : null}\n </span>\n ) : null;\n\ndefineRender(() => {\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition!)\n ]}\n >\n {scrollBtn.value}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition!),\n ns.is(\n 'stretch',\n __props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition!)\n )\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !__props.type ? <TabBar tabs={[...__props.panes]} /> : null,\n tabs.value\n ]}\n </div>\n {newButton}\n </div>\n </div>\n );\n});\n</script>\n"],"names":["ns_nav","useNamespace","__default__","DO_defineComponent","name","b","vm","getCurrentInstance","rootTabs","inject","TabsRootContextKey","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","el$","ref","navScroll$","nav$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","props","tabPosition","navStyle","transform","value","scrollPrev","containerSize","capitalize","currentOffset","scrollNext","navSize","scrollToActiveTab","nav","nextTick","activeTab","querySelector","navScroll","isHorizontal","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","width","offsetHeight","height","newOffset","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","e","code","up","down","EVENT_CODE","tabList","Array","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","click","setFocus","removeFocus","watch","setTimeout","useResizeObserver","onMounted","onUpdated","expose","__props","panes","flush","scrollBtn","_createVNode","is","arrowLeftIconCfg","icon","VftIcon","arrowRightIconCfg","tabs","map","pane","index","uid","disabled","tabName","closable","isClosable","editable","btnClose","ev","emit","closeIconCfg","tabLabelContent","slots","label","tabindex","active","onFocus","onBlur","event","preventDefault","delete","backspace","newButton","addable","onClick","enter","addIconCfg","stretch","type","TabBar"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
23
23
|
required: false;
|
|
24
24
|
};
|
|
25
25
|
tabPosition: {
|
|
26
|
-
type: __PropType<"left" | "right" | "
|
|
26
|
+
type: __PropType<"left" | "right" | "bottom" | "top" | undefined>;
|
|
27
27
|
required: false;
|
|
28
28
|
};
|
|
29
29
|
beforeLeave: {
|
|
@@ -86,7 +86,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
86
86
|
required: false;
|
|
87
87
|
};
|
|
88
88
|
tabPosition: {
|
|
89
|
-
type: __PropType<"left" | "right" | "
|
|
89
|
+
type: __PropType<"left" | "right" | "bottom" | "top" | undefined>;
|
|
90
90
|
required: false;
|
|
91
91
|
};
|
|
92
92
|
beforeLeave: {
|
|
@@ -152,7 +152,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
152
152
|
attrs: Record<string, any>;
|
|
153
153
|
}, index: number, ev: Event) => any) | undefined;
|
|
154
154
|
onTabChange?: ((name: Numberish) => any) | undefined;
|
|
155
|
-
onEdit?: ((paneName: Numberish | undefined, action: "
|
|
155
|
+
onEdit?: ((paneName: Numberish | undefined, action: "add" | "remove") => any) | undefined;
|
|
156
156
|
onTabRemove?: ((name: Numberish) => any) | undefined;
|
|
157
157
|
onTabAdd?: (() => any) | undefined;
|
|
158
158
|
}, {}>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export declare const VftTag: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
|
+
closable: {
|
|
3
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
4
|
+
required: false;
|
|
5
|
+
};
|
|
6
|
+
type: {
|
|
7
|
+
type: import("vue").PropType<import("./types").TagType | undefined>;
|
|
8
|
+
required: false;
|
|
9
|
+
};
|
|
10
|
+
hit: {
|
|
11
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
12
|
+
required: false;
|
|
13
|
+
};
|
|
14
|
+
disableTransitions: {
|
|
15
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
16
|
+
required: false;
|
|
17
|
+
};
|
|
18
|
+
color: {
|
|
19
|
+
type: import("vue").PropType<string | undefined>;
|
|
20
|
+
required: false;
|
|
21
|
+
};
|
|
22
|
+
size: {
|
|
23
|
+
type: import("vue").PropType<import("../types").ComponentSize | undefined>;
|
|
24
|
+
required: false;
|
|
25
|
+
};
|
|
26
|
+
effect: {
|
|
27
|
+
type: import("vue").PropType<"dark" | "light" | "plain" | undefined>;
|
|
28
|
+
required: false;
|
|
29
|
+
};
|
|
30
|
+
round: {
|
|
31
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
32
|
+
required: false;
|
|
33
|
+
};
|
|
34
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close")[], "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
|
+
closable: {
|
|
36
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
37
|
+
required: false;
|
|
38
|
+
};
|
|
39
|
+
type: {
|
|
40
|
+
type: import("vue").PropType<import("./types").TagType | undefined>;
|
|
41
|
+
required: false;
|
|
42
|
+
};
|
|
43
|
+
hit: {
|
|
44
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
45
|
+
required: false;
|
|
46
|
+
};
|
|
47
|
+
disableTransitions: {
|
|
48
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
49
|
+
required: false;
|
|
50
|
+
};
|
|
51
|
+
color: {
|
|
52
|
+
type: import("vue").PropType<string | undefined>;
|
|
53
|
+
required: false;
|
|
54
|
+
};
|
|
55
|
+
size: {
|
|
56
|
+
type: import("vue").PropType<import("../types").ComponentSize | undefined>;
|
|
57
|
+
required: false;
|
|
58
|
+
};
|
|
59
|
+
effect: {
|
|
60
|
+
type: import("vue").PropType<"dark" | "light" | "plain" | undefined>;
|
|
61
|
+
required: false;
|
|
62
|
+
};
|
|
63
|
+
round: {
|
|
64
|
+
type: import("vue").PropType<boolean | undefined>;
|
|
65
|
+
required: false;
|
|
66
|
+
};
|
|
67
|
+
}>> & {
|
|
68
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
69
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
70
|
+
}, {}>> & Record<string, any>;
|
|
71
|
+
export default VftTag;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../utils/vue/install.js");require("vue");require("@vue/shared");require("@vft/utils");const r=require("./tag.vue2.js"),e=t.withInstall(r.default);exports.VftTag=e;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/components/tag/index.ts"],"sourcesContent":["import { withInstall } from '@vft-ui/utils'\n\nimport Tag from './tag.vue'\n\nexport const VftTag = withInstall(Tag)\n\nexport default VftTag\n\n"],"names":["VftTag","withInstall","Tag"],"mappings":"uPAIaA,EAASC,cAAYC,EAAG,OAAA"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { PropType as __PropType } from 'vue';
|
|
2
|
+
import { type ComponentSize } from '../types';
|
|
3
|
+
import type { TagType } from './types';
|
|
4
|
+
declare const _sfc_main: import("vue").DefineComponent<{
|
|
5
|
+
closable: {
|
|
6
|
+
type: __PropType<boolean | undefined>;
|
|
7
|
+
required: false;
|
|
8
|
+
};
|
|
9
|
+
type: {
|
|
10
|
+
type: __PropType<TagType | undefined>;
|
|
11
|
+
required: false;
|
|
12
|
+
};
|
|
13
|
+
hit: {
|
|
14
|
+
type: __PropType<boolean | undefined>;
|
|
15
|
+
required: false;
|
|
16
|
+
};
|
|
17
|
+
disableTransitions: {
|
|
18
|
+
type: __PropType<boolean | undefined>;
|
|
19
|
+
required: false;
|
|
20
|
+
};
|
|
21
|
+
color: {
|
|
22
|
+
type: __PropType<string | undefined>;
|
|
23
|
+
required: false;
|
|
24
|
+
};
|
|
25
|
+
size: {
|
|
26
|
+
type: __PropType<ComponentSize | undefined>;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
effect: {
|
|
30
|
+
type: __PropType<"dark" | "light" | "plain" | undefined>;
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
round: {
|
|
34
|
+
type: __PropType<boolean | undefined>;
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close")[], "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
38
|
+
closable: {
|
|
39
|
+
type: __PropType<boolean | undefined>;
|
|
40
|
+
required: false;
|
|
41
|
+
};
|
|
42
|
+
type: {
|
|
43
|
+
type: __PropType<TagType | undefined>;
|
|
44
|
+
required: false;
|
|
45
|
+
};
|
|
46
|
+
hit: {
|
|
47
|
+
type: __PropType<boolean | undefined>;
|
|
48
|
+
required: false;
|
|
49
|
+
};
|
|
50
|
+
disableTransitions: {
|
|
51
|
+
type: __PropType<boolean | undefined>;
|
|
52
|
+
required: false;
|
|
53
|
+
};
|
|
54
|
+
color: {
|
|
55
|
+
type: __PropType<string | undefined>;
|
|
56
|
+
required: false;
|
|
57
|
+
};
|
|
58
|
+
size: {
|
|
59
|
+
type: __PropType<ComponentSize | undefined>;
|
|
60
|
+
required: false;
|
|
61
|
+
};
|
|
62
|
+
effect: {
|
|
63
|
+
type: __PropType<"dark" | "light" | "plain" | undefined>;
|
|
64
|
+
required: false;
|
|
65
|
+
};
|
|
66
|
+
round: {
|
|
67
|
+
type: __PropType<boolean | undefined>;
|
|
68
|
+
required: false;
|
|
69
|
+
};
|
|
70
|
+
}>> & {
|
|
71
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
72
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
73
|
+
}, {}>;
|
|
74
|
+
export default _sfc_main;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),d=require("element-plus"),f=require("../icon/index.js"),b=require("../../hooks/use-namespace/index.js");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.js");require("@vueuse/core");require("@vue/shared");require("@vft/utils");function m(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!o.isVNode(e)}const q=o.defineComponent({__name:"tag",props:{closable:{type:Boolean},type:null,hit:{type:Boolean},disableTransitions:{type:Boolean,default:!0},color:null,size:null,effect:{default:"light"},round:{type:Boolean}},emits:["close","click"],setup(e,{emit:c}){const l=o.useSlots(),r=d.useSize(),t=b.useNamespace("tag"),s=o.computed(()=>[t.b(),t.is("closable",e.closable),t.m(e.type),t.m(r.value),t.m(e.effect),t.is("hit",e.hit),t.is("round",e.round)]),i=n=>{c("close",n)},u=n=>{c("click",n)},a=()=>{var n;return o.createVNode("span",{class:s.value,style:{backgroundColor:e.color},onClick:u},[o.createVNode("span",{class:t.e("content")},[(n=l.default)==null?void 0:n.call(l)]),e.closable?o.createVNode("div",{class:t.e("close"),onClick:i},[o.createVNode(f.VftIcon,{icon:"vi-close"},null)]):""])};return()=>{let n;return e.disableTransitions?a():o.createVNode(o.Transition,{name:`${t.namespace.value}-zoom-in-center`,appear:!0},m(n=a())?n:{default:()=>[n]})}}});exports.default=q;
|
|
2
|
+
//# sourceMappingURL=tag.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.vue2.js","sources":["../../../../../packages/components/tag/tag.vue"],"sourcesContent":["<script lang=\"tsx\" setup>\nimport { useSize } from 'element-plus';\nimport { type ComponentSize } from '../types';\nimport Icon from '@vft-ui/components/icon';\nimport { computed, Transition, useSlots } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport type { TagType } from './types';\n\ninterface Props {\n closable?: boolean;\n type?: TagType;\n hit?: boolean;\n disableTransitions?: boolean;\n color?: string;\n size?: ComponentSize;\n effect?: 'dark' | 'light' | 'plain';\n round?: boolean;\n}\n\ndefineProps({\n \"closable\": { type: Boolean, },\n \"type\": null,\n \"hit\": { type: Boolean, },\n \"disableTransitions\": { type: Boolean, default: true },\n \"color\": null,\n \"size\": null,\n \"effect\": { default: 'light' },\n \"round\": { type: Boolean, }\n})\n\nconst emit = defineEmits(['close', 'click']);\nconst slots = useSlots();\n\nconst tagSize = useSize();\nconst ns = useNamespace('tag');\nconst classes = computed(() => {\n return [\n ns.b(),\n ns.is('closable', __props.closable),\n ns.m(__props.type),\n ns.m(tagSize.value),\n ns.m(__props.effect),\n ns.is('hit', __props.hit),\n ns.is('round', __props.round)\n ];\n});\n\n// methods\nconst handleClose = (event: MouseEvent) => {\n emit('close', event);\n};\n\nconst handleClick = (event: MouseEvent) => {\n emit('click', event);\n};\n\nconst renderTag = () => {\n return <span class={classes.value}\n style={{ backgroundColor: __props.color }} onClick={handleClick}>\n <span class={ns.e('content')}>\n {slots.default?.()}\n </span>\n {\n __props.closable ? <div class={ns.e('close')} onClick={handleClose}>\n <Icon icon=\"vi-close\" />\n </div> : ''\n }\n </span>;\n};\n\ndefineRender(() => {\n return __props.disableTransitions ? renderTag() :\n <Transition name={`${ns.namespace.value}-zoom-in-center`} appear>\n {renderTag()}\n </Transition>;\n});\n</script>\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","slots","useSlots","tagSize","useSize","ns","useNamespace","classes","computed","b","is","__props","closable","m","type","value","effect","hit","round","handleClose","event","emit","handleClick","renderTag","_createVNode","backgroundColor","color","e","default","Icon","_slot","disableTransitions","Transition","namespace"],"mappings":"wYAK6C,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,IAAAK,mBAAAA,CAAAA,EAAA,QAAAL,CAAA,CAAA,gQA0B7C,MAAMM,EAAQC,EAAAA,WAERC,EAAUC,EAAAA,UACVC,EAAKC,eAAa,KAAK,EACvBC,EAAUC,EAAAA,SAAS,IAChB,CACLH,EAAGI,EAAC,EACJJ,EAAGK,GAAG,WAAYC,EAAQC,QAAQ,EAClCP,EAAGQ,EAAEF,EAAQG,IAAI,EACjBT,EAAGQ,EAAEV,EAAQY,KAAK,EAClBV,EAAGQ,EAAEF,EAAQK,MAAM,EACnBX,EAAGK,GAAG,MAAOC,EAAQM,GAAG,EACxBZ,EAAGK,GAAG,QAASC,EAAQO,KAAK,CAAC,CAEhC,EAGKC,EAAeC,GAAsB,CACzCC,EAAK,QAASD,CAAK,GAGfE,EAAeF,GAAsB,CACzCC,EAAK,QAASD,CAAK,GAGfG,EAAYA,IAAM,OACtB,OAAAC,EAAAA,YAAA,OAAA,CAAA,MAAoBjB,EAAQQ,MAAK,MACxB,CAAEU,gBAAiBd,EAAQe,KAAO,EAAA,QAAWJ,CAAW,EAAA,CAAAE,EAAA,YAAA,OAAA,CAAA,MAClDnB,EAAGsB,EAAE,SAAS,GACxB1B,EAAAA,EAAAA,EAAM2B,UAAN3B,YAAAA,EAAAA,KAAAA,EAAiB,GAGlBU,EAAQC,SAAQY,EAAA,YAAA,MAAA,CAAA,MAAenB,EAAGsB,EAAE,OAAO,EAAC,QAAWR,GAAWK,CAAAA,EAAA,YAAAK,UAAA,CAAA,KACrD,UAAU,EAAA,IAAA,CAAA,CAAA,EACd,EAAE,CAAA,GAKJ,MAAA,IAAM,CAAA,IAAAC,EACjB,OAAOnB,EAAQoB,mBAAqBR,EAAS,EAAEC,EAAAA,YAAAQ,EAAAA,WAAA,CAAA,KAC1B,GAAE3B,EAAG4B,UAAUlB,uBAAsB,OAAA,EAAA,EAAArB,EAAAoC,EACrDP,EAAW,CAAA,EAAAO,EAAA,CAAAF,QAAAA,IAAA,CAAAE,CAAA,EACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TagType = 'success' | 'info' | 'warning' | 'danger' | '';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
2
|
role: {
|
|
3
|
-
type: import("vue").PropType<"
|
|
3
|
+
type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
|
|
4
4
|
required: false;
|
|
5
5
|
};
|
|
6
6
|
showArrow: {
|
|
@@ -60,7 +60,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
60
60
|
required: false;
|
|
61
61
|
};
|
|
62
62
|
fallbackPlacements: {
|
|
63
|
-
type: import("vue").PropType<import("
|
|
63
|
+
type: import("vue").PropType<import("element-plus").Placement[] | undefined>;
|
|
64
64
|
required: false;
|
|
65
65
|
};
|
|
66
66
|
gpuAcceleration: {
|
|
@@ -72,11 +72,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
72
72
|
required: false;
|
|
73
73
|
};
|
|
74
74
|
placement: {
|
|
75
|
-
type: import("vue").PropType<import("
|
|
75
|
+
type: import("vue").PropType<import("element-plus").Placement | undefined>;
|
|
76
76
|
required: false;
|
|
77
77
|
};
|
|
78
78
|
popperOptions: {
|
|
79
|
-
type: import("vue").PropType<Partial<import("
|
|
79
|
+
type: import("vue").PropType<Partial<import("element-plus").Options> | undefined>;
|
|
80
80
|
required: false;
|
|
81
81
|
};
|
|
82
82
|
strategy: {
|
|
@@ -92,7 +92,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
92
92
|
required: false;
|
|
93
93
|
};
|
|
94
94
|
effect: {
|
|
95
|
-
type: import("vue").PropType<"
|
|
95
|
+
type: import("vue").PropType<"dark" | "light" | undefined>;
|
|
96
96
|
required: false;
|
|
97
97
|
};
|
|
98
98
|
visible: {
|
|
@@ -195,9 +195,9 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
195
195
|
onOpen: (event?: Event | undefined) => void;
|
|
196
196
|
onClose: (event?: Event | undefined) => void;
|
|
197
197
|
hide: (event?: Event | undefined) => void;
|
|
198
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "
|
|
198
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hide" | "show" | "open" | "before-show" | "before-hide")[], "close" | "hide" | "show" | "open" | "before-show" | "before-hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
199
199
|
role: {
|
|
200
|
-
type: import("vue").PropType<"
|
|
200
|
+
type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
|
|
201
201
|
required: false;
|
|
202
202
|
};
|
|
203
203
|
showArrow: {
|
|
@@ -257,7 +257,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
257
257
|
required: false;
|
|
258
258
|
};
|
|
259
259
|
fallbackPlacements: {
|
|
260
|
-
type: import("vue").PropType<import("
|
|
260
|
+
type: import("vue").PropType<import("element-plus").Placement[] | undefined>;
|
|
261
261
|
required: false;
|
|
262
262
|
};
|
|
263
263
|
gpuAcceleration: {
|
|
@@ -269,11 +269,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
269
269
|
required: false;
|
|
270
270
|
};
|
|
271
271
|
placement: {
|
|
272
|
-
type: import("vue").PropType<import("
|
|
272
|
+
type: import("vue").PropType<import("element-plus").Placement | undefined>;
|
|
273
273
|
required: false;
|
|
274
274
|
};
|
|
275
275
|
popperOptions: {
|
|
276
|
-
type: import("vue").PropType<Partial<import("
|
|
276
|
+
type: import("vue").PropType<Partial<import("element-plus").Options> | undefined>;
|
|
277
277
|
required: false;
|
|
278
278
|
};
|
|
279
279
|
strategy: {
|
|
@@ -289,7 +289,7 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
289
289
|
required: false;
|
|
290
290
|
};
|
|
291
291
|
effect: {
|
|
292
|
-
type: import("vue").PropType<"
|
|
292
|
+
type: import("vue").PropType<"dark" | "light" | undefined>;
|
|
293
293
|
required: false;
|
|
294
294
|
};
|
|
295
295
|
visible: {
|
|
@@ -386,11 +386,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
|
|
|
386
386
|
};
|
|
387
387
|
}>> & {
|
|
388
388
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
389
|
+
onShow?: ((...args: any[]) => any) | undefined;
|
|
389
390
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
391
|
+
onHide?: ((...args: any[]) => any) | undefined;
|
|
390
392
|
"onBefore-show"?: ((...args: any[]) => any) | undefined;
|
|
391
393
|
"onBefore-hide"?: ((...args: any[]) => any) | undefined;
|
|
392
|
-
onShow?: ((...args: any[]) => any) | undefined;
|
|
393
|
-
onHide?: ((...args: any[]) => any) | undefined;
|
|
394
394
|
}, {}>> & Record<string, any>;
|
|
395
395
|
export default VftTooltip;
|
|
396
396
|
export * from './types';
|
|
@@ -54,7 +54,7 @@ export interface ToolTipProps {
|
|
|
54
54
|
}
|
|
55
55
|
declare const _sfc_main: import("vue").DefineComponent<{
|
|
56
56
|
role: {
|
|
57
|
-
type: __PropType<"
|
|
57
|
+
type: __PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
|
|
58
58
|
required: false;
|
|
59
59
|
};
|
|
60
60
|
showArrow: {
|
|
@@ -146,7 +146,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
146
146
|
required: false;
|
|
147
147
|
};
|
|
148
148
|
effect: {
|
|
149
|
-
type: __PropType<"
|
|
149
|
+
type: __PropType<"dark" | "light" | undefined>;
|
|
150
150
|
required: false;
|
|
151
151
|
};
|
|
152
152
|
visible: {
|
|
@@ -270,9 +270,9 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
270
270
|
* @description expose hide function
|
|
271
271
|
*/
|
|
272
272
|
hide: (event?: Event | undefined) => void;
|
|
273
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "
|
|
273
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hide" | "show" | "open" | "before-show" | "before-hide")[], "close" | "hide" | "show" | "open" | "before-show" | "before-hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
274
274
|
role: {
|
|
275
|
-
type: __PropType<"
|
|
275
|
+
type: __PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree" | undefined>;
|
|
276
276
|
required: false;
|
|
277
277
|
};
|
|
278
278
|
showArrow: {
|
|
@@ -364,7 +364,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
364
364
|
required: false;
|
|
365
365
|
};
|
|
366
366
|
effect: {
|
|
367
|
-
type: __PropType<"
|
|
367
|
+
type: __PropType<"dark" | "light" | undefined>;
|
|
368
368
|
required: false;
|
|
369
369
|
};
|
|
370
370
|
visible: {
|
|
@@ -461,10 +461,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
461
461
|
};
|
|
462
462
|
}>> & {
|
|
463
463
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
464
|
+
onShow?: ((...args: any[]) => any) | undefined;
|
|
464
465
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
466
|
+
onHide?: ((...args: any[]) => any) | undefined;
|
|
465
467
|
"onBefore-show"?: ((...args: any[]) => any) | undefined;
|
|
466
468
|
"onBefore-hide"?: ((...args: any[]) => any) | undefined;
|
|
467
|
-
onShow?: ((...args: any[]) => any) | undefined;
|
|
468
|
-
onHide?: ((...args: any[]) => any) | undefined;
|
|
469
469
|
}, {}>;
|
|
470
470
|
export default _sfc_main;
|
package/lib/hooks/index.d.ts
CHANGED
package/lib/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./use-namespace/index.js"),d=require("./use-popper/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./use-namespace/index.js"),d=require("./use-cursor/index.js"),i=require("./use-popper/index.js"),r=require("./use-z-index/index.js"),s=require("./use-forward-ref/index.js"),o=require("./use-id/index.js"),n=require("./use-popper-container/index.js"),t=require("./use-delayed-toggle/index.js"),a=require("./use-timeout/index.js"),l=require("./use-ordered-children/index.js"),u=require("./use-model-toggle/index.js");exports._bem=e._bem;exports.defaultNamespace=e.defaultNamespace;exports.namespaceContextKey=e.namespaceContextKey;exports.useGetDerivedNamespace=e.useGetDerivedNamespace;exports.useNamespace=e.useNamespace;exports.useCursor=d.useCursor;exports.usePopper=i.usePopper;exports.defaultInitialZIndex=r.defaultInitialZIndex;exports.useZIndex=r.useZIndex;exports.zIndexContextKey=r.zIndexContextKey;exports.FORWARD_REF_INJECTION_KEY=s.FORWARD_REF_INJECTION_KEY;exports.useForwardRef=s.useForwardRef;exports.useForwardRefDirective=s.useForwardRefDirective;exports.ID_INJECTION_KEY=o.ID_INJECTION_KEY;exports.useId=o.useId;exports.useIdInjection=o.useIdInjection;exports.usePopperContainer=n.usePopperContainer;exports.usePopperContainerId=n.usePopperContainerId;exports.useDelayedToggle=t.useDelayedToggle;exports.useTimeout=a.useTimeout;exports.useOrderedChildren=l.useOrderedChildren;exports.createModelToggleComposable=u.createModelToggleComposable;exports.useModelToggle=u.useModelToggle;exports.useModelToggleEmits=u.useModelToggleEmits;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("vue");function v(n){const l=f.ref();function i(){if(n.value==null)return;const{selectionStart:e,selectionEnd:t,value:r}=n.value;if(e==null||t==null)return;const s=r.slice(0,Math.max(0,e)),o=r.slice(Math.max(0,t));l.value={selectionStart:e,selectionEnd:t,value:r,beforeTxt:s,afterTxt:o}}function a(){if(n.value==null||l.value==null)return;const{value:e}=n.value,{beforeTxt:t,afterTxt:r,selectionStart:s}=l.value;if(t==null||r==null||s==null)return;let o=e.length;if(e.endsWith(r))o=e.length-r.length;else if(e.startsWith(t))o=t.length;else{const c=t[s-1],u=e.indexOf(c,s-1);u!==-1&&(o=u+1)}n.value.setSelectionRange(o,o)}return[i,a]}exports.useCursor=v;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-cursor/index.ts"],"sourcesContent":["import { ref } from 'vue'\n\nimport type { ShallowRef } from 'vue'\n\n// Keep input cursor in the correct position when we use formatter.\nexport function useCursor(\n input: ShallowRef<HTMLInputElement | undefined>\n): [() => void, () => void] {\n const selectionRef = ref<{\n selectionStart?: number\n selectionEnd?: number\n value?: string\n beforeTxt?: string\n afterTxt?: string\n }>()\n\n function recordCursor() {\n if (input.value == undefined) return\n\n const { selectionStart, selectionEnd, value } = input.value\n\n if (selectionStart == null || selectionEnd == null) return\n\n const beforeTxt = value.slice(0, Math.max(0, selectionStart))\n const afterTxt = value.slice(Math.max(0, selectionEnd))\n\n selectionRef.value = {\n selectionStart,\n selectionEnd,\n value,\n beforeTxt,\n afterTxt,\n }\n }\n function setCursor() {\n if (input.value == undefined || selectionRef.value == undefined) return\n\n const { value } = input.value\n const { beforeTxt, afterTxt, selectionStart } = selectionRef.value\n\n if (\n beforeTxt == undefined ||\n afterTxt == undefined ||\n selectionStart == undefined\n )\n return\n\n let startPos = value.length\n\n if (value.endsWith(afterTxt)) {\n startPos = value.length - afterTxt.length\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length\n } else {\n const beforeLastChar = beforeTxt[selectionStart - 1]\n const newIndex = value.indexOf(beforeLastChar, selectionStart - 1)\n if (newIndex !== -1) {\n startPos = newIndex + 1\n }\n }\n\n input.value.setSelectionRange(startPos, startPos)\n }\n\n return [recordCursor, setCursor]\n}\n"],"names":["useCursor","input","selectionRef","ref","recordCursor","selectionStart","selectionEnd","value","beforeTxt","afterTxt","setCursor","startPos","beforeLastChar","newIndex"],"mappings":"uGAKO,SAASA,EACdC,EAC0B,CAC1B,MAAMC,EAAeC,EAAAA,MAQrB,SAASC,GAAe,CACtB,GAAIH,EAAM,OAAS,KAAW,OAE9B,KAAM,CAAE,eAAAI,EAAgB,aAAAC,EAAc,MAAAC,CAAA,EAAUN,EAAM,MAElD,GAAAI,GAAkB,MAAQC,GAAgB,KAAM,OAE9C,MAAAE,EAAYD,EAAM,MAAM,EAAG,KAAK,IAAI,EAAGF,CAAc,CAAC,EACtDI,EAAWF,EAAM,MAAM,KAAK,IAAI,EAAGD,CAAY,CAAC,EAEtDJ,EAAa,MAAQ,CACnB,eAAAG,EACA,aAAAC,EACA,MAAAC,EACA,UAAAC,EACA,SAAAC,CAAA,CAEJ,CACA,SAASC,GAAY,CACnB,GAAIT,EAAM,OAAS,MAAaC,EAAa,OAAS,KAAW,OAE3D,KAAA,CAAE,MAAAK,CAAM,EAAIN,EAAM,MAClB,CAAE,UAAAO,EAAW,SAAAC,EAAU,eAAAJ,CAAA,EAAmBH,EAAa,MAE7D,GACEM,GAAa,MACbC,GAAY,MACZJ,GAAkB,KAElB,OAEF,IAAIM,EAAWJ,EAAM,OAEjB,GAAAA,EAAM,SAASE,CAAQ,EACdE,EAAAJ,EAAM,OAASE,EAAS,eAC1BF,EAAM,WAAWC,CAAS,EACnCG,EAAWH,EAAU,WAChB,CACC,MAAAI,EAAiBJ,EAAUH,EAAiB,CAAC,EAC7CQ,EAAWN,EAAM,QAAQK,EAAgBP,EAAiB,CAAC,EAC7DQ,IAAa,KACfF,EAAWE,EAAW,EAE1B,CAEMZ,EAAA,MAAM,kBAAkBU,EAAUA,CAAQ,CAClD,CAEO,MAAA,CAACP,EAAcM,CAAS,CACjC"}
|