@eccenca/gui-elements
Version:
GUI elements based on other libraries, usable in React application, written in Typescript.
43 lines (42 loc) • 1.53 kB
TypeScript
import React from "react";
import { PaginationProps as CarbonPaginationProps } from "@carbon/react/es/components/Pagination/Pagination";
export interface PaginationProps extends CarbonPaginationProps {
/**
* Additional class names.
*/
className?: string;
/**
* Hide dropdown to select how many items will be shown per page.
*/
hidePageSizeConfiguration?: boolean;
/**
* Hide info block about the section of the displayed items.
*/
hideInfoText?: boolean;
/**
* Hide dropdown to select page number directly.
*/
hidePageSelect?: boolean;
/**
* Hide prev/next arrows to navigate through the pages.
*/
hideNavigationArrows?: boolean;
/**
* Element is displayed with dividing borders.
*/
hideBorders?: boolean;
}
export declare const Pagination: ({ className, hidePageSizeConfiguration, hideInfoText, hidePageSelect, hideNavigationArrows, hideBorders, ...otherProps }: PaginationProps) => React.JSX.Element;
interface IPaginationDetails {
total: number;
current: number;
limit: number;
minPageSize: number;
}
interface IPaginationOptions {
initialPageSize?: number;
pageSizes?: number[];
presentation?: Omit<PaginationProps, "onChange" | "totalItems" | "pageSizes" | "page" | "pageSize">;
}
export declare const usePagination: ({ pageSizes, presentation, initialPageSize, }: IPaginationOptions) => readonly [IPaginationDetails, React.JSX.Element, (total: number) => void];
export default Pagination;