element-plus
Version:
A Component Library for Vue 3
1 lines • 1.81 kB
Source Map (JSON)
{"version":3,"file":"use-scrollbar.mjs","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"],"names":[],"mappings":";;;AAGO,MAAM,eAAe,MAAM;AAChC,EAAA,MAAM,eAAe,GAAI,EAAA,CAAA;AAEzB,EAAM,MAAA,QAAA,GAAW,CAAC,OAAA,EAAmC,MAAoB,KAAA;AACvE,IAAA,MAAM,YAAY,YAAa,CAAA,KAAA,CAAA;AAC/B,IAAA,IAAI,SAAW,EAAA;AACb,MAAU,SAAA,CAAA,QAAA,CAAS,SAAS,MAAM,CAAA,CAAA;AAAA,KACpC;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,QAAA,EAA0B,MAAoB,KAAA;AACvE,IAAA,MAAM,YAAY,YAAa,CAAA,KAAA,CAAA;AAC/B,IAAI,IAAA,SAAA,IAAa,QAAS,CAAA,MAAM,CAAK,IAAA,CAAC,OAAO,MAAM,CAAA,CAAE,QAAS,CAAA,QAAQ,CAAG,EAAA;AACvE,MAAU,SAAA,CAAA,CAAA,SAAA,EAAY,YAAY,MAAM,CAAA,CAAA;AAAA,KAC1C;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,YAAe,GAAA,CAAC,GAAiB,KAAA,iBAAA,CAAkB,OAAO,GAAG,CAAA,CAAA;AACnE,EAAA,MAAM,aAAgB,GAAA,CAAC,IAAkB,KAAA,iBAAA,CAAkB,QAAQ,IAAI,CAAA,CAAA;AAEvE,EAAO,OAAA;AAAA,IACL,YAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;"}