UNPKG

tav-ui

Version:
1 lines 3.63 kB
{"version":3,"file":"container-scroll2.mjs","sources":["../../../../../../../packages/components/container-scroll/src/container-scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent, nextTick, ref, unref } from 'vue'\nimport { useScrollTo } from '@tav-ui/hooks/event/useScrollTo'\nimport Scrollbar from '@tav-ui/components/scrollbar'\nimport type { ScrollbarType } from '@tav-ui/components/scrollbar/src/types'\n\nexport default defineComponent({\n name: 'TaContainerScroll',\n components: { Scrollbar },\n setup() {\n const scrollbarRef = ref<ScrollbarType | null>(null)\n\n /**\n * Scroll to the specified position\n */\n function scrollTo(to: number, duration = 500) {\n const scrollbar = unref(scrollbarRef)\n if (!scrollbar) return\n\n nextTick(() => {\n const wrap = unref(scrollbar.wrap)\n if (!wrap) return\n\n const { start } = useScrollTo({\n el: wrap,\n to,\n duration,\n })\n start()\n })\n }\n\n function getScrollWrap() {\n const scrollbar = unref(scrollbarRef)\n if (!scrollbar) return null\n\n return scrollbar.wrap\n }\n\n /**\n * Scroll to the bottom\n */\n function scrollBottom() {\n const scrollbar = unref(scrollbarRef)\n if (!scrollbar) return\n\n nextTick(() => {\n const wrap = unref(scrollbar.wrap) as any\n if (!wrap) return\n\n const scrollHeight = wrap.scrollHeight as number\n const { start } = useScrollTo({\n el: wrap,\n to: scrollHeight,\n })\n start()\n })\n }\n\n return {\n scrollbarRef,\n scrollTo,\n scrollBottom,\n getScrollWrap,\n }\n },\n})\n</script>\n\n<template>\n <Scrollbar ref=\"scrollbarRef\" container-class=\"scroll-container\" v-bind=\"$attrs\">\n <slot />\n </Scrollbar>\n</template>\n"],"names":["Scrollbar","_openBlock","_createBlock","_mergeProps","_withCtx","_renderSlot"],"mappings":";;;;;AAMA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,mBAAA;AAAA,EACN,UAAA,EAAY,aAAEA,WAAU,EAAA;AAAA,EACxB,KAAQ,GAAA;AACN,IAAM,MAAA,YAAA,GAAe,IAA0B,IAAI,CAAA,CAAA;AAKnD,IAAS,SAAA,QAAA,CAAS,EAAY,EAAA,QAAA,GAAW,GAAK,EAAA;AAC5C,MAAM,MAAA,SAAA,GAAY,MAAM,YAAY,CAAA,CAAA;AACpC,MAAA,IAAI,CAAC,SAAA;AAAW,QAAA,OAAA;AAEhB,MAAA,QAAA,CAAS,MAAM;AACb,QAAM,MAAA,IAAA,GAAO,KAAM,CAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACjC,QAAA,IAAI,CAAC,IAAA;AAAM,UAAA,OAAA;AAEX,QAAM,MAAA,EAAE,KAAM,EAAA,GAAI,WAAY,CAAA;AAAA,UAC5B,EAAI,EAAA,IAAA;AAAA,UACJ,EAAA;AAAA,UACA,QAAA;AAAA,SACD,CAAA,CAAA;AACD,QAAM,KAAA,EAAA,CAAA;AAAA,OACP,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAM,MAAA,SAAA,GAAY,MAAM,YAAY,CAAA,CAAA;AACpC,MAAA,IAAI,CAAC,SAAA;AAAW,QAAO,OAAA,IAAA,CAAA;AAEvB,MAAA,OAAO,SAAU,CAAA,IAAA,CAAA;AAAA,KACnB;AAKA,IAAA,SAAS,YAAe,GAAA;AACtB,MAAM,MAAA,SAAA,GAAY,MAAM,YAAY,CAAA,CAAA;AACpC,MAAA,IAAI,CAAC,SAAA;AAAW,QAAA,OAAA;AAEhB,MAAA,QAAA,CAAS,MAAM;AACb,QAAM,MAAA,IAAA,GAAO,KAAM,CAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACjC,QAAA,IAAI,CAAC,IAAA;AAAM,UAAA,OAAA;AAEX,QAAA,MAAM,eAAe,IAAK,CAAA,YAAA,CAAA;AAC1B,QAAM,MAAA,EAAE,KAAM,EAAA,GAAI,WAAY,CAAA;AAAA,UAC5B,EAAI,EAAA,IAAA;AAAA,UACJ,EAAI,EAAA,YAAA;AAAA,SACL,CAAA,CAAA;AACD,QAAM,KAAA,EAAA,CAAA;AAAA,OACP,CAAA,CAAA;AAAA,KACH;AAEA,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;AAIC,EAAA,OAAAC,SAAA,EAAA,EAAAC,WAAA,CAEY,sBAFZC,UAEY,CAAA;AAAA,IAFD,GAAI,EAAA,cAAA;AAAA,IAAe,iBAAgB,EAAA,kBAAA;AAAA,GAAA,EAA2B,IAAM,CAAA,MAAA,CAAA,EAAA;AAAA,IAAA,OAAA,EAAAC,OAAA,CAC7E,MAAQ;AAAA,MAARC,UAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;;"}