UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

37 lines (36 loc) 1.05 kB
import { ref as d, watch as g } from "vue"; const M = (e, r, i) => { const l = d(e.modelValue), a = d(e.modelValue), c = (t) => t, m = (t) => { if (e.readonly || !r.value) return; const n = t.changedTouches[0], v = Array.from(r.value.children); for (let u = 0; u < v.length; u++) { const o = v[u].getBoundingClientRect(); if (n.clientX >= o.left && n.clientX <= o.right && n.clientY >= o.top && n.clientY <= o.bottom) { l.value = c(u + 1); break; } } }, f = (t) => { e.readonly || (l.value = c(t)); }, h = () => { e.readonly || (l.value = a.value); }, V = (t) => { e.readonly || (l.value = c(t), a.value = l.value, i("update:modelValue", l.value), i("select", l.value)); }, s = (t) => l.value >= t ? "full" : "empty"; return g( () => e.modelValue, () => { l.value = e.modelValue, a.value = e.modelValue; } ), { onTouchMove: m, onMousemove: f, onMouseleave: h, handleAction: V, getIconType: s }; }; export { M as useRate };