import { range } from 'lodash-es'; import { ChevronLeftIcon, ChevronRightIcon, ChevronsLeftIcon, ChevronsRightIcon } from 'lucide-react'; import { Button } from '../Button/Button.tsx'; import { useDataTableHandle, useDataTableStore } from './hooks.ts'; export const DataTablePagination = () => { const { pageCount, pageIndex } = useDataTableHandle('paginationInfo'); const setPageIndex = useDataTableStore((store) => store.setPageIndex); const start = Math.max(0, Math.min(pageIndex - 1, pageCount - 3)); const end = Math.max(Math.min(start + 3, pageCount), 1); const pageIndexOptions = range(start, end); const lastPageIndex = pageCount - 1; return (
{pageIndexOptions.map((index) => ( ))}
); };