UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

2 lines (1 loc) 752 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("@vuux/utils"),h=(f,a,l)=>{const m=e.computed(()=>f.speed),t=e.ref(0);let n=null,r=0,u=0,i=!1;const o=e.ref(!1),c=()=>{i||(t.value-=m.value,t.value<=-r&&(t.value=u)),n=requestAnimationFrame(c)},v=()=>{n!==null&&(cancelAnimationFrame(n),n=null)},b=()=>i=!0,p=()=>i=!1,d=M.Utils.debounce(async()=>{v(),await e.nextTick(),!(!a.value||!l.value)&&(r=l.value.offsetWidth,u=a.value.offsetWidth,t.value=u,o.value=!0,n=requestAnimationFrame(c))},50);let s;return e.onMounted(()=>{d(),s=new ResizeObserver(d),a.value&&s.observe(a.value)}),e.onBeforeUnmount(()=>{v(),s&&s.disconnect()}),{translateX:t,ready:o,pause:b,resume:p}};exports.useMarquee=h;