{"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;;;;;;;;"}