import { forwardRef } from "react";
/**
* Pagination
*
* currentPage: number - 1-based active page
* totalPages: number
* onPageChange: (page: number) => void
* renderItem: (page, { currentPage, go }) => ReactNode - custom page item renderer
*/
const Pagination = forwardRef(function Pagination(
{ currentPage = 1, totalPages = 1, onPageChange, renderItem, className = "", ...props },
ref
) {
const go = (page) => {
if (page < 1 || page > totalPages) return;
onPageChange?.(page);
};
const defaultItem = (page) => (
{ e.preventDefault(); go(page); }}
>
{page}
);
return (
);
});
export default Pagination;
const ChevronLeft = () => (
);
const ChevronRight = () => (
);