laif-ds
Version:
Design System di Laif con componenti React basati su principi di Atomic Design
63 lines (62 loc) • 1.61 kB
JavaScript
"use client";
var m = /* @__PURE__ */ ((e) => (e.AND = "AND", e.OR = "OR", e))(m || {});
function f(e, i, r, t, a) {
const u = e.getValue(i), o = t == null ? void 0 : t.find((n) => n.column === i), s = (o == null ? void 0 : o.innerFiltersMode) ?? "OR";
if (a) return !0;
if (Array.isArray(u))
return s === "AND" ? r.every((n) => u.includes(n)) : r.some((n) => u.includes(n));
switch (s) {
case "AND":
return r.every((n) => String(u) === n);
case "OR":
default:
return r.some((n) => String(u) === n);
}
}
function h(e, i) {
return e.reduce(
(r, t) => (t.filterFn && (r[t.column] = (a, u, o) => {
if (i) return !0;
const s = a.getValue(u);
switch (t.innerFiltersMode ?? "OR") {
case "AND":
return o.every(
(c) => t.filterFn(s, [c])
);
case "OR":
default:
return o.some(
(c) => t.filterFn(s, [c])
);
}
}), r),
{}
) || {};
}
function A(e, i) {
const {
rowHeight: r = 1,
headerHeight: t = 1,
containerHeight: a = 1,
onPageChange: u,
setPagination: o
} = i, s = (e == null ? void 0 : e.offsetHeight) || a, n = Math.floor(
(s - t) / r
), c = n > 1 ? n : 1;
o((g) => g.pageSize !== c ? (u && u(0, c), { ...g, pageSize: c }) : g);
}
function F(e, i) {
let r;
return function(...t) {
clearTimeout(r), r = setTimeout(() => {
e(...t);
}, i);
};
}
export {
m as ELogicalFilterOperator,
h as createCustomFilterFns,
f as createMultiValueFilterFn,
F as debounce,
A as updatePageSizeFromContainer
};