adverich-kun-ui
Version:
Una librería de componentes Vue.js con Tailwind CSS
43 lines (42 loc) • 1.16 kB
JavaScript
import { computed as a, watch as A } from "vue";
function C(n, u, c) {
const h = (l) => u.value.includes(l), f = (l) => {
u.value.indexOf(l) === -1 ? u.value = [...u.value, l] : u.value = u.value.filter((x) => x.id !== l.id);
}, r = () => {
u.value = [...n.value];
}, v = () => {
u.value = [];
}, g = () => {
e.value ? v() : r();
};
function i() {
u.value = [...c.value];
}
const e = a(() => {
var l;
return ((l = n.value) == null ? void 0 : l.length) > 0 && u.value.length === n.value.length;
}), S = a(() => {
var l, o;
return ((l = u.value) == null ? void 0 : l.length) > ((o = n.value) == null ? void 0 : o.length);
}), t = a(() => {
var l;
return ((l = n.value) == null ? void 0 : l.length) > 0 && u.value.length > 0 && u.value.length < n.value.length;
});
return A(() => n, (l, o) => {
l !== o && v();
}, { deep: !0 }), {
selectedItems: u,
isSelected: h,
toggleSelect: f,
selectAll: r,
clearSelection: v,
toggleSelectAll: g,
allSelected: e,
someSelected: t,
moreThanPaginated: S,
selectCompleteAll: i
};
}
export {
C as default
};