UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

69 lines (68 loc) 1.49 kB
import type { QAProps } from "../types.js"; export type ActionName = 'previous' | 'next' | 'first'; export type PaginationSize = 's' | 'm' | 'l' | 'xl'; export type PaginationProps = { /** * Current page number. */ page: number; /** * Number of data items per page. */ pageSize: number; /** * Size of the pagination items. */ size?: PaginationSize; /** * Called when the page number or pageSize is changed. */ onUpdate: (page: number, pageSize: number) => void; /** * Total number of data items. */ total?: number; /** * Specify the sizeChanger options. */ pageSizeOptions?: number[]; /** * Hide first, previous, next buttons title. * Default true. */ compact?: boolean; /** * Show input to navigate to pages directly. * Default false. */ showInput?: boolean; /** * Show pages numeration. * Default true. */ showPages?: boolean; /** * ClassName of element */ className?: string; } & QAProps; type EllipsisItem = { type: 'ellipsis'; }; type PageOfItem = { type: 'pageOf'; }; export type PageItem = { type: 'page'; current: boolean; page: number; simple: boolean; key: number; }; export type ButtonItem = { type: 'button'; action: ActionName; disabled: boolean; }; export type PaginationItem = EllipsisItem | PageOfItem | PageItem | ButtonItem; export {};