Skip to main content

Pagination

StorybookView in Storybook

Explore interactive examples and all component variations in our Storybook.

The Pagination component provides navigation for paginated content. Built with accessibility in mind, it includes previous/next buttons, page numbers, and ellipsis for large page sets. Perfect for tables, search results, and content lists.

Basic Usage​

With Ellipsis​

Disabled States​

Large Page Set​

Compact Pagination​

Interactive Example​

Current page: 3 of 10

Properties​

Pagination​

PropertyTypeDescription
classNamestringAdditional CSS classes for the pagination container.
childrenReactNodePagination content (typically PaginationContent).

PaginationContent​

PropertyTypeDescription
classNamestringAdditional CSS classes for the content container.
childrenReactNodePagination items.

PaginationItem​

PropertyTypeDescription
classNamestringAdditional CSS classes for the item container.
childrenReactNodeItem content (links, buttons, ellipsis).
PropertyTypeDescription
isActivebooleanWhether this page is currently active.
disabledbooleanWhether the link is disabled.
onClick() => voidClick handler for the page link.
classNamestringAdditional CSS classes.
childrenReactNodeLink content (usually page number).

PaginationPrevious​

PropertyTypeDescription
disabledbooleanWhether the previous button is disabled.
onClick() => voidClick handler for previous navigation.
classNamestringAdditional CSS classes.

PaginationNext​

PropertyTypeDescription
disabledbooleanWhether the next button is disabled.
onClick() => voidClick handler for next navigation.
classNamestringAdditional CSS classes.

PaginationEllipsis​

PropertyTypeDescription
classNamestringAdditional CSS classes for the ellipsis.

Accessibility​

The Pagination component includes comprehensive accessibility features:

  • Keyboard Navigation - Full keyboard support with arrow keys and Enter
  • Screen Reader Support - Proper ARIA labels and navigation landmarks
  • Focus Management - Clear focus indicators and logical tab order
  • Active State - Clear indication of current page with aria-current="page"
  • Disabled States - Proper handling of disabled navigation buttons
  • Semantic HTML - Uses proper navigation and list elements

Common Use Cases​

The Pagination component is perfect for:

  • Data Tables - Navigate through large datasets and table rows
  • Search Results - Browse through search result pages
  • Product Listings - Navigate e-commerce product catalogs
  • Blog Posts - Browse through article archives and categories
  • User Lists - Navigate through user directories and member lists
  • Content Galleries - Browse through image and media galleries
  • API Results - Handle paginated API responses and data feeds

Best Practices​

  1. Show Current Context - Always indicate current page and total pages
  2. Disable Appropriately - Disable previous on first page, next on last page
  3. Use Ellipsis Wisely - Show ellipsis when there are many pages to navigate
  4. Provide Shortcuts - Include first/last page links for large page sets
  5. Mobile Optimization - Consider compact layouts for smaller screens
  6. Loading States - Show loading indicators during page transitions
  7. URL Synchronization - Keep pagination state in sync with browser URL
  8. Performance - Implement efficient data loading and caching strategies