Overview
The Pagination component provides navigation controls for paginated data, including page navigation buttons and a page size selector.Props
The current active page number (1-indexed).
The total number of pages available.
The current number of items displayed per page.
Callback function called when the user navigates to a different page. Receives the new page number as an argument.
Callback function called when the user changes the page size. Receives the new page size as an argument.
Usage
Features
Page Navigation
The component provides four navigation buttons:- First Page: Jump to page 1 (disabled when on first page)
- Previous Page: Go back one page (disabled when on first page)
- Next Page: Go forward one page (disabled when on last page)
- Last Page: Jump to the last page (disabled when on last page)
Page Size Selector
Users can select from predefined page sizes:- 5 items per page
- 10 items per page
- 25 items per page
- 50 items per page
- 100 items per page
Page Indicator
Displays the current page and total number of pages in the format: “Page X of Y”Behavior
- Navigation buttons are automatically disabled when at the first or last page
- The page size selector triggers the
onPageSizeChangecallback when changed - Navigation buttons trigger the
onPageChangecallback with the appropriate page number
Source
Implementation:/home/daytona/workspace/source/packages/ui/src/pagination/pagination.tsx