@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
63 lines (62 loc) • 2.39 kB
JavaScript
"use client";
import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs";
import { factory } from "../../core/factory/factory.mjs";
import { Group } from "../Group/Group.mjs";
import Pagination_module_default from "./Pagination.module.mjs";
import { PaginationControl } from "./PaginationControl/PaginationControl.mjs";
import { PaginationDots } from "./PaginationDots/PaginationDots.mjs";
import { PaginationFirst, PaginationLast, PaginationNext, PaginationPrevious } from "./PaginationEdges/PaginationEdges.mjs";
import { PaginationItems } from "./PaginationItems/PaginationItems.mjs";
import { PaginationRoot } from "./PaginationRoot/PaginationRoot.mjs";
import { jsx, jsxs } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/Pagination/Pagination.tsx
const defaultProps = {
withControls: true,
withPages: true,
siblings: 1,
boundaries: 1,
gap: 8
};
const Pagination = factory((_props) => {
const { withEdges, withControls, getControlProps, nextIcon, previousIcon, lastIcon, firstIcon, dotsIcon, total, gap, hideWithOnePage, withPages, ...others } = useProps("Pagination", defaultProps, _props);
if (total <= 0 || hideWithOnePage && total === 1) return null;
return /* @__PURE__ */ jsx(PaginationRoot, {
total,
...others,
children: /* @__PURE__ */ jsxs(Group, {
gap,
children: [
withEdges && /* @__PURE__ */ jsx(PaginationFirst, {
icon: firstIcon,
...getControlProps?.("first")
}),
withControls && /* @__PURE__ */ jsx(PaginationPrevious, {
icon: previousIcon,
...getControlProps?.("previous")
}),
withPages && /* @__PURE__ */ jsx(PaginationItems, { dotsIcon }),
withControls && /* @__PURE__ */ jsx(PaginationNext, {
icon: nextIcon,
...getControlProps?.("next")
}),
withEdges && /* @__PURE__ */ jsx(PaginationLast, {
icon: lastIcon,
...getControlProps?.("last")
})
]
})
});
});
Pagination.classes = Pagination_module_default;
Pagination.displayName = "@mantine/core/Pagination";
Pagination.Root = PaginationRoot;
Pagination.Control = PaginationControl;
Pagination.Dots = PaginationDots;
Pagination.First = PaginationFirst;
Pagination.Last = PaginationLast;
Pagination.Next = PaginationNext;
Pagination.Previous = PaginationPrevious;
Pagination.Items = PaginationItems;
//#endregion
export { Pagination };
//# sourceMappingURL=Pagination.mjs.map