import * as React from 'react'; import { type PaginationPageType } from '../../hooks/usePagination'; import type { HasComponent, HTMLAttributesWithRootRef } from '../../types'; import { type CustomPaginationNavigationButton, type PaginationNavigationButtonProps } from './PaginationNavigationButton/PaginationNavigationButton'; import { type CustomPaginationPageButtonProps } from './PaginationPage/PaginationPageButton'; export interface PaginationProps extends Omit, 'onChange'> { /** * Текущая страница. */ currentPage?: number; /** * Кол-во всегда видимых страниц по краям текущей страницы. */ siblingCount?: number; /** * Кол-во всегда видимых страниц в начале и в конце. */ boundaryCount?: number; /** * Общее кол-во страниц. */ totalPages?: number; /** * Блокировка взаимодействия с компонентом. */ disabled?: boolean; /** * Декоративный текст для кнопки навигации назад. * * > Note: Экранные дикторы будут использовать `prevButtonLabel`. */ prevButtonCaption?: string; /** * Декоративный текст для кнопки навигации вперёд. * * > Note: Экранные дикторы будут использовать `nextButtonLabel`. */ nextButtonCaption?: string; /** * Задаёт стиль отображения кнопок навигации. * * - `icon` – показывать только иконку; * - `caption` – показывать только подпись; * - `both` – показывать и иконку, и подпись. */ navigationButtonsStyle?: PaginationNavigationButtonProps['style']; /** * [a11y] Метка для обозначения блока навигации. */ navigationLabel?: string; /** * Тип элемента отрисовки блока навигации. */ navigationLabelComponent?: HasComponent['Component']; /** * [a11y] Метка для кнопки навигации назад. */ prevButtonLabel?: string; /** * [a11y] Метка для кнопки навигации вперёд. */ nextButtonLabel?: string; /** * [a11y] Функция для переопределения и/или локализации метки кнопки страницы. * * > Note: По возможности лучше не использовать, * так как компонент и так проставляет номер страницы в разметку, * что достаточно для пользователей скринридеров. * Дополнительная информация скорее будет избыточна, * так как будет зачитываться для каждой кнопки при перемещении по списку. */ getPageLabel?: (isCurrent: boolean) => string; /** * Обработчик изменения выбранной страницы. */ onChange?: (page: number, event: React.MouseEvent) => void; /** * Функция для кастомного рендера кнопок страниц. * * > Note: `CustomPaginationPageButtonProps` наследует API [Tappable](https://vkui.io/components/tappable). */ renderPageButton?: (props: CustomPaginationPageButtonProps) => React.ReactNode; /** Функция для кастомного рендера кнопок навигации `prev` и `next`. * * > Note: `CustomPaginationNavigationButton` наследует API [Button](https://vkui.io/components/button). */ renderNavigationButton?: (props: CustomPaginationNavigationButton) => React.ReactNode; /** * Передает атрибут `data-testid` для кнопок страниц. */ pageButtonTestId?: (day: PaginationPageType, active: boolean) => string; /** * Передает атрибут `data-testid` для кнопки `prev`. */ prevButtonTestId?: string; /** * Передает атрибут `data-testid` для кнопки `next`. */ nextButtonTestId?: string; } /** * @see https://vkui.io/components/pagination */ export declare const Pagination: ({ currentPage, siblingCount, boundaryCount, totalPages, disabled, prevButtonCaption, nextButtonCaption, navigationButtonsStyle, getPageLabel, navigationLabel, navigationLabelComponent, prevButtonLabel, nextButtonLabel, onChange, renderPageButton, pageButtonTestId, prevButtonTestId, nextButtonTestId, renderNavigationButton, ...resetProps }: PaginationProps) => React.ReactNode; //# sourceMappingURL=Pagination.d.ts.map