UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

27 lines (26 loc) 702 B
function p(x) { const { el: l, xFrom: a = 0, xTo: t = 0, yFrom: u = 0, yTo: n = 0, duration: i = 500, callback: f = null } = x; if (!l) return; const s = () => { typeof f == "function" && f(); }; if (i <= 0) { l.scrollTo(t, n), s(); return; } const o = t - a, e = n - u; if (!o && !e) { s(); return; } const y = Math.ceil(o / i * 16), T = Math.ceil(e / i * 16); let c = a, r = u; const m = () => { c += y, r += T, o && (t - c) / o <= 0 && (c = t), e && (n - r) / e <= 0 && (r = n), l.scrollTo(c, r), (!o || c === t) && (!e || r === n) ? s() : requestAnimationFrame(m); }; m(); } export { p as animateScrollTo }; //# sourceMappingURL=helper.mjs.map