UNPKG

adverich-kun-ui

Version:

Una librería de componentes Vue.js con Tailwind CSS

31 lines (30 loc) 928 B
import { ref as m, watch as c, computed as d } from "vue"; function o(e, r) { const a = m(e.modelValue); c(() => e.modelValue, (l) => { a.value = l; }); const t = e.valueComparator || ((l, u) => l === u), n = d(() => e.indeterminate ? !1 : e.multiple && Array.isArray(a.value) ? a.value.some( (l) => t(l, e.value ?? e.trueValue) ) : t(a.value, e.value ?? e.trueValue)); function v() { if (e.disabled || e.readonly) return; let l; if (e.indeterminate) l = e.value ?? e.trueValue; else if (e.multiple && Array.isArray(a.value)) { const u = e.value ?? e.trueValue; l = a.value.some((i) => t(i, u)) ? a.value.filter((i) => !t(i, u)) : [...a.value, u]; } else l = n.value ? e.falseValue : e.value ?? e.trueValue; a.value = l, r("update:modelValue", l); } return { isChecked: n, toggle: v, internalValue: a }; } export { o as useCheckboxModel };