tgui-angular
Version:
🚀 Angular UI library for Telegram Web Apps with modern components and theming support | 💼 Author is open to work opportunities | 📧 Contact: a.blagovestnov@gmail.com | 💬 Telegram: @ablagovestnov
40 lines (39 loc) • 1.34 kB
TypeScript
import { PaginationType } from './pagination.enum';
/**
* Properties for the pagination component
*/
export interface PaginationProps {
/** Number of always visible pages at the beginning and end. */
boundaryCount?: number;
/** The total number of pages. */
count?: number;
/** The page selected by default when the component is uncontrolled */
defaultPage?: number;
/** If `true`, hide the next-page button. */
hideNextButton?: boolean;
/** If `true`, hide the previous-page button. */
hidePrevButton?: boolean;
/** The current page. */
page?: number;
/** Number of always visible pages before and after the current page. */
siblingCount?: number;
/** Controls whether the Pagination component is interactive. */
disabled?: boolean;
}
/**
* Represents a single item in the pagination control
*/
export interface PaginationItem {
/** Handler for when the item is clicked */
onClick: () => void;
/** Type of pagination item */
type: PaginationType;
/** Page number, or null for special items like ellipsis */
page: number | null;
/** Whether this item is currently selected */
selected: boolean;
/** Whether this item is disabled */
disabled: boolean;
/** ARIA current attribute */
'aria-current'?: 'true' | undefined;
}