Перейти к содержимому
v2.5.0
English
Русский
Документация

Pagination

Pagination — составной компонент для постраничной навигации.

Пропсы корня

ПропТипПо умолчанию
refRef<HTMLUListElement>—
Ref, передаваемый на нижележащий элемент списка.
sizePaginationSize'md'
Визуальный размер элементов пагинации, унаследованный от IconButtonProps. Управляет отступами, размером шрифта или интервалами по шкале дизайн-системы.
variantPaginationVariant'primary'
Визуальный вариант компонента. Наследует доступные значения из IconButtonProps['variant'], например 'primary' или 'secondary'. Управляет визуальным стилем (цветом, фоном, рамкой) по дизайн-системе.

Также принимает все атрибуты <ul>.

Дочерние части

  • PaginationItem: элемент с номером страницы.
  • PaginationTriggerIconButton: кнопки «назад» / «вперёд» или перехода.
  • PaginationEllipsis: визуальный элемент пропуска.
  • PaginationListItem: обёртка элемента списка.
  • PaginationText: компактный текстовый статус.

PaginationItem

ПропТипПо умолчанию
currentboolean—
Помечает этот элемент как текущую активную страницу. Применяет визуальный акцент.
asChildboolean—
Если true, рендерит кнопку как дочерний компонент через Slot (например, из Radix UI). Включает полиморфный рендер — полезно, чтобы кнопка работала как ссылка или собственный тег.
sizeButtonSize—
Определяет размер кнопки. Влияет на отступы, размер шрифта и общие габариты.
fullWidthboolean—
Если true, кнопка растягивается на всю ширину контейнера.
variantButtonBaseVariant—
Определяет визуальный стиль кнопки: цветовую схему и акцент.
appearanceButtonBaseAppearance—
Настраивает структурный внешний вид кнопки (фон, рамка и т. д.).
disabledboolean—
Отключает кнопку при true. Запрещает взаимодействие и применяет визуальное отключённое состояние. Не применяется с asChild: отключённым состоянием владеет дочерний элемент, например через aria-disabled или ссылку без href.
classNamestring—
Необязательный собственный CSS-класс для элемента кнопки. Полезен для переопределений дизайн-системы или локальных стилей.
childrenReactNode—
Содержимое кнопки — текст, иконка или любой React-узел.
refRef<HTMLButtonElement>—
Ref, передаваемый на нативный элемент <button>. Даёт прямой доступ к DOM для управления фокусом или измерений.

Также принимает все атрибуты <button>.

PaginationTriggerIconButton

ПропТипПо умолчанию
sizeIconButtonSize—
Размер контейнера кнопки. Управляет отступами и общей кликабельной областью.
asChildboolean—
Если true, рендерит кнопку как дочерний компонент через Slot (например, из Radix UI). Включает полиморфный рендер — полезно, чтобы кнопка работала как ссылка или собственный тег.
variantButtonBaseVariant—
Определяет визуальный стиль кнопки: цветовую схему и акцент.
appearanceButtonBaseAppearance—
Настраивает структурный внешний вид кнопки (фон, рамка и т. д.).
disabledboolean—
Отключает кнопку при true. Запрещает взаимодействие и применяет визуальное отключённое состояние. Не применяется с asChild: отключённым состоянием владеет дочерний элемент, например через aria-disabled или ссылку без href.
classNamestring—
Необязательный собственный CSS-класс для элемента кнопки. Полезен для переопределений дизайн-системы или локальных стилей.
childrenReactNode—
Содержимое кнопки — текст, иконка или любой React-узел.
refRef<HTMLButtonElement>—
Ref, передаваемый на нативный элемент <button>. Даёт прямой доступ к DOM для управления фокусом или измерений.

Также принимает все атрибуты <button>.

PaginationEllipsis

ПропТипПо умолчанию
asChildboolean—
Если true, рендерит кнопку как дочерний компонент через Slot (например, из Radix UI). Включает полиморфный рендер — полезно, чтобы кнопка работала как ссылка или собственный тег.
sizeButtonSize—
Определяет размер кнопки. Влияет на отступы, размер шрифта и общие габариты.
fullWidthboolean—
Если true, кнопка растягивается на всю ширину контейнера.
variantButtonBaseVariant—
Определяет визуальный стиль кнопки: цветовую схему и акцент.
appearanceButtonBaseAppearance—
Настраивает структурный внешний вид кнопки (фон, рамка и т. д.).
disabledboolean—
Отключает кнопку при true. Запрещает взаимодействие и применяет визуальное отключённое состояние. Не применяется с asChild: отключённым состоянием владеет дочерний элемент, например через aria-disabled или ссылку без href.
classNamestring—
Необязательный собственный CSS-класс для элемента кнопки. Полезен для переопределений дизайн-системы или локальных стилей.
childrenReactNode—
Содержимое кнопки — текст, иконка или любой React-узел.
refRef<HTMLButtonElement>—
Ref, передаваемый на нативный элемент <button>. Даёт прямой доступ к DOM для управления фокусом или измерений.

Также принимает все атрибуты <button>.

PaginationListItem

Также принимает все атрибуты <li>.

PaginationText

ПропТипПо умолчанию
variantPaginationVariant—
Вариант визуального стиля текста.
sizeTextSize—
Визуальный размер текста, обычно соответствует типографической шкале дизайн-системы.
asChildboolean—
Если true, рендерит текст как дочерний компонент через Slot. Полезно для совместимости с нативными элементами или другими компонентами.
fontWeight400 | 500 | 600 | 700 | 900500
Насыщенность шрифта текста. Распространённые значения: 400: обычный; 500: средний; 600: полужирный; 700: жирный; 900: сверхжирный
refRef<HTMLSpanElement>—
Ref на нижележащий <span> или элемент в слоте. Полезен для измерений, фокуса или работы с DOM.

Также принимает все атрибуты <span>.

Типы

  • PaginationProps
  • PaginationItemProps
  • PaginationTriggerIconButtonProps
  • PaginationEllipsisProps
  • PaginationListItemProps
  • PaginationTextProps
  • PaginationSize
  • PaginationVariant

Модель состояния

  • Корень предоставляет только общий контекст стилей.
  • Текущей страницей, отключением на границах и поведением маршрутизации владеет родительская функция.
  • PaginationItem current выставляет aria-current='page'.