/** * Layout arithmetic for the table's pagination footer. * * The footer's height is fixed at `PAGINATION_HEIGHT`: the table body is sized as * `height - PAGINATION_HEIGHT` and `calcTableContentHeight` assumes the same, so anything that * wraps onto a second line spills out of the footer and over the rows above it. The control and * the labels are therefore pinned to a single line in CSS, and these helpers decide what still * fits, so content is dropped rather than clipped as the table narrows. */ /** Horizontal padding of the footer, applied to each side. */ export declare const PAGINATION_FOOTER_PADDING = 16; /** Font size of the row-range label. */ export declare const ROWS_RANGE_FONT_SIZE = 13; /** Font size of the total-rows label. */ export declare const TOTAL_ROWS_FONT_SIZE = 12; export type PaginationSize = 'medium' | 'small'; export type PaginationFooterLayout = { paginationSize: PaginationSize; boundaryCount: number; siblingCount: number; showTotalRows: boolean; showRowsRange: boolean; }; type PaginationFooterLayoutOptions = { /** Width of the table, as measured by its `DynamicSizeContainer`. */ width: number; pagesCount: number; /** * Widest text the row-range label renders for this table, which is its last page. Sized from * the last page rather than the current one so the label doesn't appear and vanish while paging. */ widestRowsRangeText: string; /** * Text of the total-rows label, or `undefined` when the query's total row count is unknown. * Knowing the count also widens the control, which then shows both boundaries. */ totalRowsText?: string; }; /** * Decides how much of the pagination footer fits in `width`. * * Navigation outranks the labels: the control is compacted before anything is dropped, and the * labels are dropped once the space the control leaves them is too small to hold them on one line. * * @param options - Table width, page count and whether the total row count is known. * @returns The pagination props and label visibility the footer should render with. * @internal */ export declare const getPaginationFooterLayout: ({ width, pagesCount, widestRowsRangeText, totalRowsText, }: PaginationFooterLayoutOptions) => PaginationFooterLayout; export {};