{"version":3,"file":"use-scrollbar.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/composables/use-scrollbar.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { isNumber } from '@element-plus/utils'\n\nexport const useScrollbar = () => {\n  const scrollBarRef = ref()\n\n  const scrollTo = (options: ScrollToOptions | number, yCoord?: number) => {\n    const scrollbar = scrollBarRef.value\n    if (scrollbar) {\n      scrollbar.scrollTo(options, yCoord)\n    }\n  }\n\n  const setScrollPosition = (position: 'Top' | 'Left', offset?: number) => {\n    const scrollbar = scrollBarRef.value\n    if (scrollbar && isNumber(offset) && ['Top', 'Left'].includes(position)) {\n      scrollbar[`setScroll${position}`](offset)\n    }\n  }\n\n  const setScrollTop = (top?: number) => setScrollPosition('Top', top)\n  const setScrollLeft = (left?: number) => setScrollPosition('Left', left)\n\n  return {\n    scrollBarRef,\n    scrollTo,\n    setScrollTop,\n    setScrollLeft,\n  }\n}\n"],"mappings":";;;AAGA,MAAa,qBAAqB;CAChC,MAAM,eAAe,IAAI;CAEzB,MAAM,YAAY,SAAmC,WAAoB;EACvE,MAAM,YAAY,aAAa;EAC/B,IAAI,WACF,UAAU,SAAS,SAAS,MAAM;CAEtC;CAEA,MAAM,qBAAqB,UAA0B,WAAoB;EACvE,MAAM,YAAY,aAAa;EAC/B,IAAI,aAAa,SAAS,MAAM,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,QAAQ,GACpE,UAAU,YAAY,WAAW,CAAC,MAAM;CAE5C;CAEA,MAAM,gBAAgB,QAAiB,kBAAkB,OAAO,GAAG;CACnE,MAAM,iBAAiB,SAAkB,kBAAkB,QAAQ,IAAI;CAEvE,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}