@sixbell-telco/sdk
Version:
A collection of reusable components designed for use in Sixbell Telco Angular projects
116 lines (115 loc) • 3.53 kB
TypeScript
import * as i0 from "@angular/core";
/** Type of pagination display variant */
export type PaginationType = 'default' | 'dots';
/**
* A customizable pagination component with navigation controls
*
* @remarks
* Supports both traditional numbered pagination and dot indicators.
* Provides custom styling and navigation controls.
*
* @example
* ```html
* <st-paginator
* [pages]="10"
* type="default"
* (pageChanged)="onPageChange($event)"
* ></st-paginator>
* ```
*
* @example
* ```html
* <st-paginator
* [pages]="5"
* type="dots"
* [maxSize]="3"
* ></st-paginator>
* ```
*/
export declare class PaginatorComponent {
/**
* Unique identifier for the paginator instance
* @defaultValue 'paginator'
*/
paginatorId: import("@angular/core").InputSignal<string>;
/**
* Maximum number of visible numeric page items (excluding arrows and ellipses).
* This controls the window of page numbers shown around the current page.
* @defaultValue 4
*/
maxSize: import("@angular/core").InputSignal<number>;
/**
* Pagination display variant
* @defaultValue 'default'
*/
type: import("@angular/core").InputSignal<PaginationType>;
/**
* Event emitted when the current page changes
*/
pageChanged: import("@angular/core").OutputEmitterRef<number>;
/**
* Total number of pages
* @defaultValue 0
*/
pages: import("@angular/core").InputSignal<number>;
/**
* Current active page (1-based)
* @defaultValue 1
*/
currentPage: import("@angular/core").ModelSignal<number>;
/**
* @internal
* Left arrow icon reference
*/
iconArrowLeft: string;
/**
* @internal
* Double left arrow icon reference
*/
iconDoubleArrowLeft: string;
/**
* @internal
* Right arrow icon reference
*/
iconArrowRight: string;
/**
* @internal
* Double right arrow icon reference
*/
iconDoubleArrowRight: string;
/**
* @internal
* Computed array of page numbers and ellipses for display.
* Implements the logic to show a limited range of pages around the current page
* with '...' for skipped pages.
*/
pageNumbersForDisplay: import("@angular/core").Signal<(string | number)[]>;
/**
* @internal
* Handles page navigation changes
* @param page - New page number (or '...' if clicked on ellipsis, which is ignored)
*/
handlePageChange(page: number | string): void;
/**
* @internal
* Navigates to previous page if available
*/
previousPage(): void;
/**
* @internal
* Navigates to next page if available
*/
nextPage(): void;
/**
* @internal
* Jumps to first page
*/
firstPage(): void;
/**
* @internal
* Jumps to last page
*/
lastPage(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "st-paginator", never, { "paginatorId": { "alias": "paginatorId"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "pages": { "alias": "pages"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "pageChanged": "pageChanged"; "currentPage": "currentPageChange"; }, never, never, true, never>;
}