import { EventEmitter } from "../../stencil-public-runtime"; import { IcThemeMode } from "../../utils/types"; import { IcItemsPerPageChangeEventDetail, IcPageChangeEventDetail } from "./ic-pagination-bar.types"; import { IcPaginationAlignmentOptions, IcPaginationLabelTypes, IcPaginationTypes } from "../ic-pagination/ic-pagination.types"; export declare class PaginationBar { private PAGE_INPUT_FIELD_ID; private INVALID_PAGE_ERROR; private resizeObserver; private pageDropdownEl; private pageInputEl; private pageInputTooltipEl; private paginationBarEl?; private paginationEl; private userSetItemsPerPage; el: HTMLIcPaginationBarElement; capitalizedItemLabel: string; capitalizedPageLabel: string; activePage: number; displayedItemsPerPageOptions?: { label: string; value: string; }[]; inputError: string; itemsPerPage: number; itemsPerPageString: string; lowerBound: number; lowerCaseItemLabel: string; lowerCasePageLabel: string; paginationWidth: number; paginationWrapped: boolean; totalPages: number; upperBound: number; /** * The accessible label passed down to the pagination component to provide context for screen reader users. */ accessibleLabel?: string; /** * Sets the alignment of the items in the pagination bar. */ alignment?: IcPaginationAlignmentOptions; /** * The current page number to be displayed on the pagination bar. */ currentPage?: number; watchPageNumberHandler(): void; /** * The items per page option to be selected. */ selectedItemsPerPage?: number; watchSelectedItemsPerPageHandler(): void; /** * If `true`, the 'All' option will be hidden from the 'items per page' select input. */ hideAllFromItemsPerPage?: boolean; /** * If `true`, the current page of the simple pagination will not be displayed. */ hideCurrentPage?: boolean; /** * If `true`, the first and last page buttons will not be displayed. */ hideFirstAndLastPageButton?: boolean; /** * The text which will be used in place of 'Item' on the pagination bar. */ itemLabel?: string; watchItemLabelHandler(): void; /** * The options which will be displayed for 'items per page' select input. */ itemsPerPageOptions?: { label: string; value: string; }[]; watchItemsPerPageOptionsHandler(newVal: { label: string; value: string; }[], oldVal: { label: string; value: string; }[]): void; /** * If `true`, the pagination bar will display as black in the light theme, and white in dark theme. */ monochrome?: boolean; /** * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component. */ theme?: IcThemeMode; /** * Whether the displayed pagination is simple or complex. */ type?: IcPaginationTypes; /** * Whether total number of items and current item range or total number of pages and current page is displayed. */ rangeLabelType?: IcPaginationLabelTypes; /** * The text which will be used in place of 'Page' on the pagination bar. */ pageLabel?: string; watchPageLabelHandler(): void; /** * If `true`, the 'go to page' control should be displayed. */ showGoToPageControl?: boolean; /** * If `true`, the number of total items and current item range or number of total pages and current page will be hidden. */ hideRangeLabel?: boolean; /** * If `false`, the value in the items per page control will be set immediately on ArrowUp and ArrowDown instead of when Enter is pressed. */ selectItemsPerPageOnEnter: boolean; /** * If `true`, the select input to control 'items per page' should be displayed. */ showItemsPerPageControl?: boolean; /** * Total number of items to be displayed across all pages. */ totalItems: number; watchTotalItemsHandler(): void; /** If `true`, the pagination bar is set to the first page when the 'items per page' changes */ setToFirstPageOnPaginationChange?: boolean; watchSetToFirstPageOnPaginationChange(): void; /** * Emitted when a page is navigated to via the 'go to' input. * The `detail` property contains `value` (i.e. the page number) and a `fromItemsPerPage` flag to indicate if the event was triggered by the `icItemsPerPageChange` event also occurring. */ icPageChange: EventEmitter; /** * Emitted when the items per page option is changed. */ icItemsPerPageChange: EventEmitter; disconnectedCallback(): void; componentWillLoad(): void; componentDidLoad(): void; pageChangeHandler(ev: CustomEvent): void; private setSelectedItemsPerPage; private changeItemsPerPage; private changePage; private focusElFromLabel; private goToPage; private goToPageLabelClickHandler; private handleBlur; private handleFocus; private handleInputChange; private handleKeydown; private handleKeyUp; private itemsPerPageLabelClickHandler; private paginationShouldWrap; private runResizeObserver; private setInputError; private setToFirstPage; private setItemsPerPage; private setPaginationBarContent; private setUpperBound; render(): any; }