@awsui/components-react
Version:
On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en
77 lines • 3.37 kB
TypeScript
import { NonCancelableEventHandler } from '../internal/events';
export interface PaginationProps {
/**
* Index of the current page. The first page has an index of 1.
*/
currentPageIndex: number;
/**
* Sets the total number of pages. Only positive integers are allowed.
*/
pagesCount: number;
/**
* Sets the pagination variant. It can be either default (when setting it to `false`) or open ended (when setting it
* to `true`). Default pagination navigates you through the items list. The open-end variant enables you
* to lazy-load your items because it always displays three dots before the next page icon. The next page button is
* never disabled. When the user clicks on it but there are no more items to show, the
* `onNextPageClick` handler is called with `requestedPageAvailable: false` in the event detail.
*/
openEnd?: boolean;
/**
* If set to `true`, the pagination links will be disabled. Use it, for example, if you want to prevent the user
* from changing page before items are loaded.
*/
disabled?: boolean;
/**
* Adds aria-labels to the pagination buttons:
* * `paginationLabel` (string) - Label for the entire pagination group. It allows users to distinguish context
* * in cases of multiple pagination components in a page.
* * `previousPageLabel` (string) - Previous page button.
* * `pageLabel` (number => string) - Individual page button, this function is called for every page number that's rendered.
* * `nextPageLabel` (string) - Next page button
*
* Example:
* ```
* {
* nextPageLabel: 'Next page',
* paginationLabel: 'Table pagination',
* previousPageLabel: 'Previous page',
* pageLabel: pageNumber => `Page ${pageNumber}`
* }
* ```
* @i18n
*/
ariaLabels?: PaginationProps.Labels;
/**
* Called when a user interaction causes a pagination change. The event `detail` contains the new `currentPageIndex`.
*/
onChange?: NonCancelableEventHandler<PaginationProps.ChangeDetail>;
/**
* Called when the previous page arrow is clicked. The event `detail` contains the following:
* * `requestedPageAvailable` (boolean) - Always set to `true`.
* * `requestedPageIndex` (integer) - The index of the requested page.
*/
onPreviousPageClick?: NonCancelableEventHandler<PaginationProps.PageClickDetail>;
/**
* Called when the next page arrow is clicked. The event `detail` contains the following:
* * `requestedPageAvailable` (boolean) - Indicates whether the requested page is available for display.
* The value can be `false` when the `openEnd` property is set to `true`.
* * `requestedPageIndex` (integer) - The index of the requested page.
*/
onNextPageClick?: NonCancelableEventHandler<PaginationProps.PageClickDetail>;
}
export declare namespace PaginationProps {
interface Labels {
nextPageLabel?: string;
paginationLabel?: string;
previousPageLabel?: string;
pageLabel?: (pageNumber: number) => string;
}
interface PageClickDetail {
requestedPageAvailable: boolean;
requestedPageIndex: number;
}
interface ChangeDetail {
currentPageIndex: number;
}
}
//# sourceMappingURL=interfaces.d.ts.map