Pagination
The Pagination component enables users to navigate through pages of content.Basic Pagination
A basic pagination component.Outlined Pagination
Use thevariant prop for an outlined style.
Rounded Pagination
Change the shape using theshape prop.
Pagination Size
Control the size with thesize prop.
Controlled Pagination
Control the current page with thepage prop.
Pagination Ranges
You can customize the number of visible pages with props.Boundary Count
Control the number of always visible pages at the beginning and end.Custom Icons
Customize the pagination item appearance.Pagination with Links
Integrate with routing libraries.Table Pagination
For table pagination, use the TablePagination component instead.Props
count
- Type:
number - Default:
1 - Description: The total number of pages
page
- Type:
number - Description: The current page. Unlike TablePagination, which starts numbering from 0, this pagination starts from 1
defaultPage
- Type:
number - Default:
1 - Description: The page selected by default when the component is uncontrolled
onChange
- Type:
(event: React.ChangeEvent<unknown>, page: number) => void - Description: Callback fired when the page is changed
color
- Type:
'primary' | 'secondary' | 'standard' - Default:
'standard' - Description: The active color. It supports both default and custom theme colors
size
- Type:
'small' | 'medium' | 'large' - Default:
'medium' - Description: The size of the component
variant
- Type:
'text' | 'outlined' - Default:
'text' - Description: The variant to use
shape
- Type:
'circular' | 'rounded' - Default:
'circular' - Description: The shape of the pagination items
boundaryCount
- Type:
number - Default:
1 - Description: Number of always visible pages at the beginning and end
siblingCount
- Type:
number - Default:
1 - Description: Number of always visible pages before and after the current page
showFirstButton
- Type:
boolean - Default:
false - Description: If
true, show the first-page button
showLastButton
- Type:
boolean - Default:
false - Description: If
true, show the last-page button
hideNextButton
- Type:
boolean - Default:
false - Description: If
true, hide the next-page button
hidePrevButton
- Type:
boolean - Default:
false - Description: If
true, hide the previous-page button
disabled
- Type:
boolean - Default:
false - Description: If
true, the component is disabled
renderItem
- Type:
(params: PaginationRenderItemParams) => React.ReactNode - Default:
(item) => <PaginationItem {...item} /> - Description: Render the item
getItemAriaLabel
- Type:
(type: string, page: number, selected: boolean) => string - Description: Accepts a function which returns a string value that provides a user-friendly name for the current page. This is important for screen reader users
sx
- Type:
SxProps<Theme> - Description: System prop for defining CSS styles
Accessibility
- The component is rendered as a navigation landmark
- Each pagination item has appropriate ARIA labels
- Keyboard navigation is fully supported
- The current page is indicated to screen readers