@aplus-frontend/ui
Version:
2 lines (1 loc) • 912 B
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../scroll-bar/utils/index.js"),l=require("vue"),z=()=>{const e=l.ref(),a=l.reactive({x:0,y:0}),i=l.reactive({x:0,y:0}),n=l.ref(),s=l.ref();l.watch(()=>e.value,()=>{u()});function u(){const t=l.unref(e);if(!t)return;const{visibleSize:r,totalSize:o}=c.getScrollable(t,"horizontal"),{visibleSize:S,totalSize:b}=c.getScrollable(t,"vertical");a.x=o-r,a.y=b-S}function v(){if(!e.value)return;const{totalSize:t,visibleSize:r}=c.getScrollable(e.value,"vertical"),o=i.y/(t-r||1)*100;s.value?.scroll(o)}function f(){if(!e.value)return;const{totalSize:t,visibleSize:r}=c.getScrollable(e.value,"horizontal"),o=i.x/(t-r||1)*100;n.value?.scroll(o)}return{maxScrollDistance:a,scrollOffset:i,xBarRef:n,yBarRef:s,scrollYBar:v,scrollXBar:f,containerRef:e,updateMaxScrollDistance:u}};exports.default=z;