active-table
Version:
Framework agnostic table component for editable data experience
60 lines • 1.86 kB
TypeScript
import { OuterContentPosition } from './outerContainer';
import { CSSStyle, StatefulCSS } from './cssStyle';
export interface PaginationAsync {
getTotalRows: () => Promise<number>;
getPageData: (pageNumber: number, quantity: number) => Promise<(number | string)[][]>;
}
export interface PaginationPosition {
position: OuterContentPosition;
order?: number;
}
export interface PaginationPositions {
pageButtons?: PaginationPosition;
numberOfVisibleRows?: PaginationPosition;
rowsPerPageSelect?: PaginationPosition;
}
export interface RowsPerPageOptionsStyle<T = StatefulCSS> {
container?: CSSStyle;
prefixText?: CSSStyle;
button?: T;
buttonText?: T;
buttonArrow?: T;
}
type ActionButtonStyle<T> = T & {
previousText?: string;
nextText?: string;
firstText?: string;
lastText?: string;
};
export interface PageButtonStyles<T = StatefulCSS> {
container?: CSSStyle;
buttons?: T;
activeButton?: T;
activeButtonPrecedence?: boolean;
disabledButtons?: CSSStyle;
actionButtons?: ActionButtonStyle<T>;
firstVisibleButtonOverride?: CSSStyle;
lastVisibleButtonOverride?: CSSStyle;
}
export interface PaginationStyles<T = StatefulCSS> {
pageButtons?: PageButtonStyles<T>;
numberOfVisibleRows?: CSSStyle;
rowsPerPageSelect?: RowsPerPageOptionsStyle<T>;
}
export interface RowsPerPageSelect {
options?: (number | 'All' | 'all')[];
prefixText?: string;
}
export interface Pagination {
rowsPerPage?: number;
rowsPerPageSelect?: boolean | RowsPerPageSelect;
maxNumberOfVisiblePageButtons?: number;
displayPrevNext?: boolean;
displayFirstLast?: boolean;
displayNumberOfVisibleRows?: boolean;
styles?: PaginationStyles;
positions?: PaginationPositions;
async?: PaginationAsync;
}
export {};
//# sourceMappingURL=pagination.d.ts.map