mine-h5-ui
Version:
一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍
34 lines (33 loc) • 957 B
JavaScript
import { useTemplateRef as d, ref as u, onMounted as m } from "vue";
import { useMoveHandle as p } from "../MeComposable/useMoveHandle/index.js";
/*!
* mine-h5-ui v2.15.0
* Copyright (c) 2025 biaov
* @license MIT
*/
const R = () => {
const c = d("swiperEventRef"), r = u(), n = u(0), a = u(0), s = u(!1);
let v = 0, l = 0, o = 0;
const i = {
start({ x: e }) {
v = a.value, s.value = !1, l = e;
},
move({ x: e }) {
s.value = !1;
const t = v + e - l;
a.value = t < -n.value ? -n.value : t > 0 ? 0 : t;
},
end({ x: e }) {
s.value = !0;
const t = e - l;
t > 0 ? a.value = t > o ? 0 : -n.value : t < 0 && (a.value = t < -o ? -n.value : 0);
}
};
return m(() => {
const { offsetWidth: e } = r.value;
n.value = e, o = e / 4, p(c.value, i);
}), { hidden: r, maxDistance: n, currentValue: a, isActive: s };
};
export {
R as useHandMove
};