UNPKG

@eccenca/gui-elements

Version:

GUI elements based on other libraries, usable in React application, written in Typescript.

43 lines (42 loc) 1.53 kB
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;