element-plus
Version:
A Component Library for Vue 3
30 lines (27 loc) • 821 B
JavaScript
import { ref } from 'vue';
import { isNumber } from '../../../../utils/types.mjs';
const useScrollbar = () => {
const scrollBarRef = ref();
const scrollTo = (options, yCoord) => {
const scrollbar = scrollBarRef.value;
if (scrollbar) {
scrollbar.scrollTo(options, yCoord);
}
};
const setScrollPosition = (position, offset) => {
const scrollbar = scrollBarRef.value;
if (scrollbar && isNumber(offset) && ["Top", "Left"].includes(position)) {
scrollbar[`setScroll${position}`](offset);
}
};
const setScrollTop = (top) => setScrollPosition("Top", top);
const setScrollLeft = (left) => setScrollPosition("Left", left);
return {
scrollBarRef,
scrollTo,
setScrollTop,
setScrollLeft
};
};
export { useScrollbar };
//# sourceMappingURL=use-scrollbar.mjs.map