infinity-ui-elements
Version:
A React TypeScript component library with Tailwind CSS design system
81 lines • 2.11 kB
TypeScript
import * as React from "react";
declare const paginationVariants: (props?: ({
size?: "medium" | "large" | "small" | null | undefined;
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
/**
* Current page number (1-indexed)
*/
currentPage?: number;
/**
* Total number of pages
*/
totalPages: number;
/**
* Rows per page value
*/
rowsPerPage?: number;
/**
* Available options for rows per page
*/
rowsPerPageOptions?: number[];
/**
* Show rows per page selector
*/
showRowsPerPage?: boolean;
/**
* Callback when page changes
*/
onPageChange?: (page: number) => void;
/**
* Callback when rows per page changes
*/
onRowsPerPageChange?: (rowsPerPage: number) => void;
/**
* Size of the pagination controls
*/
size?: "small" | "medium" | "large";
/**
* Disable the pagination controls
*/
isDisabled?: boolean;
/**
* Custom text for "Row per page" label
*/
rowsPerPageLabel?: string;
/**
* Custom text for "of" label
*/
ofLabel?: string;
/**
* Custom text for "Prev" button
*/
prevLabel?: string;
/**
* Custom text for "Next" button
*/
nextLabel?: string;
/**
* Show prev/next buttons
*/
showPrevNext?: boolean;
/**
* Show page jumper (dropdown) instead of numbered buttons
*/
showPageJumper?: boolean;
/**
* Show page number (used with showPageJumper=false)
*/
showPageNumber?: boolean;
/**
* Page status for displaying page numbers
*/
pageStatus?: "none" | "first" | "middle" | "last";
/**
* Maximum number of page buttons to show
*/
maxPageButtons?: number;
}
export declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLDivElement>>;
export { paginationVariants };
//# sourceMappingURL=Pagination.d.ts.map