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