/** * The object form of a page-size option, allowing a custom display label (e.g. "All"). * Use `value: -1` to represent "show all items on a single page". */ export type VegaPaginationPageSizeLabeledOption = { value: number; label: string }; /** * Represents a single page-size option. * * - A plain `number` uses that number as both the value and the display label. * - An object with `value` and `label` allows a custom display label (e.g. "All"). * Use `value: -1` to represent "show all items on a single page". */ export type VegaPaginationPageSizeOption = number | VegaPaginationPageSizeLabeledOption; /** * Identifies the various UI pieces that can appear in the pagination * component's item list. */ export type VegaPaginationItemType = | 'currentPageLabel' | 'pageSizeSelector' | 'pageSelector' | 'goTo' | 'pageSelectorMobile' | 'pageSizeSelectorMobile' | 'pageSelectorMobile_goTo' | 'pageSizeSelectorMobile_currentPageLabel'; /** * Additional dropdown properties that may be toggled when the pagination * component displays a dropdown. */ export type DropdownPropsForPagination = Partial>; /** * Layout orientation options for the pagination component. */ export type VegaPaginationLayoutType = 'horizontal' | 'vertical';