@supunlakmal/hooks
Version:
A collection of reusable React hooks
30 lines (29 loc) • 1.11 kB
TypeScript
interface UsePaginationProps {
totalItems: number;
initialPage?: number;
initialItemsPerPage?: number;
}
interface UsePaginationReturn {
currentPage: number;
totalPages: number;
itemsPerPage: number;
startIndex: number;
endIndex: number;
canGoPreviousPage: boolean;
canGoNextPage: boolean;
goToPage: (pageNumber: number) => void;
goToNextPage: () => void;
goToPreviousPage: () => void;
setItemsPerPage: (newItemsPerPage: number) => void;
}
/**
* Custom hook for managing pagination state and controls.
*
* @param {UsePaginationProps} props - Configuration options.
* @param {number} props.totalItems - The total number of items to paginate.
* @param {number} [props.initialPage=1] - The initial page number (1-indexed).
* @param {number} [props.initialItemsPerPage=10] - The initial number of items per page.
* @returns {UsePaginationReturn} An object containing pagination state and control functions.
*/
export declare const usePagination: ({ totalItems, initialPage, initialItemsPerPage, }: UsePaginationProps) => UsePaginationReturn;
export {};