uv-ui
Version:
基于vue3的移动端组件库
2 lines (1 loc) • 831 B
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");function d(t,u){return t>u?"horizontal":u>t?"vertical":""}function X(){const t=e.ref(0),u=e.ref(0),c=e.ref(0),r=e.ref(0),l=e.ref(0),o=e.ref(0),a=e.ref(""),f=()=>a.value==="vertical",h=()=>a.value==="horizontal",v=()=>{c.value=0,r.value=0,l.value=0,o.value=0,a.value=""};return{move:s=>{const n=s.touches[0];c.value=(n.clientX<0?0:n.clientX)-t.value,r.value=n.clientY-u.value,l.value=Math.abs(c.value),o.value=Math.abs(r.value);const i=10;(!a.value||l.value<i&&o.value<i)&&(a.value=d(l.value,o.value))},start:s=>{v(),t.value=s.touches[0].clientX,u.value=s.touches[0].clientY},reset:v,startX:t,startY:u,deltaX:c,deltaY:r,offsetX:l,offsetY:o,direction:a,isVertical:f,isHorizontal:h}}exports.useTouch=X;