@clubmed/trident-ui
Version:
Shared ClubMed React UI components
31 lines (30 loc) • 990 B
JavaScript
const _ = (n, s, r) => r <= 3 ? !1 : n === 1 ? s > 3 : n === r ? s < r - 2 : !1, M = (n, s) => s.findIndex((r) => r.type === "pageNumber" && r.value === n), N = (n, s) => {
const r = [];
r.push({
type: "previousButton",
disabled: s <= 1 || n <= 1
});
for (let e = 1; e <= s; e++)
s <= 7 || e <= 2 || e < 3 && n < 5 || e >= s - 1 || Math.abs(e - n) <= 1 ? r.push({
type: "pageNumber",
value: e
}) : r[r.length - 1].type !== "ellipsis" && r.push({
type: "ellipsis"
});
return r.push({
type: "nextButton",
disabled: s <= 1 || n >= s
}), r;
}, f = (n, s, r) => {
if (r <= 3 || n === 1 || n === s || n === r)
return !1;
const e = n === 2, E = n === r - 1, t = n === s - 1, u = n === s + 1;
return e && s === 1 || E && s === r || e && t ? !1 : !(u && E);
};
export {
N as generatePagination,
M as getActivePageIndex,
f as hidePageButtonForMobile,
_ as showMobileEllipsis
};
//# sourceMappingURL=Pagination.helper.js.map