ll-package
Version:
2 lines (1 loc) • 580 B
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../utils/parsingParamLib.js"),u=require("vue"),p=(e,r,n,s)=>(e/=s/2,e<1?n/2*e*e+r:(e--,-n/2*(e*(e-2)-1)+r)),v=(e,r)=>{e.scrollTop=r},T=e=>e.scrollTop;function S({el:e,to:r,duration:n=500,callback:s}){const t=u.ref(!1),c=T(e),f=r-c,a=20;let o=0;n=l.isUnDef(n)?500:n;const i=function(){if(!u.unref(t))return;o+=a;const m=p(o,c,f,n);v(e,m),o<n&&u.unref(t)?requestAnimationFrame(i):s&&l.isFunction(s)&&s()};return{start:()=>{t.value=!0,i()},stop:()=>{t.value=!1}}}exports.useScrollTo=S;
;