Pagination
Pagination provides a composable page-navigation pattern with previous/next helpers, page links, and an ellipsis marker.
Anatomy
| Element | Part | Selector |
|---|---|---|
<nav> | root | [data-scope="pagination"][data-part="root"]LMBCopy |
<ul> | content | [data-scope="pagination"][data-part="content"]LMBCopy |
<span> | ellipsis | [data-scope="pagination"][data-part="ellipsis"]LMBCopy |
<Icon> | ellipsis-icon | [data-scope="pagination"][data-part="ellipsis-icon"]LMBCopy |
<span> | ellipsis-label | [data-scope="pagination"][data-part="ellipsis-label"]LMBCopy |
<li> | item | [data-scope="pagination"][data-part="item"]LMBCopy |
<Button> | link | [data-scope="pagination"][data-part="link"]LMBCopy |
<PaginationLink> | next | [data-scope="pagination"][data-part="next"]LMBCopy |
<span> | next-text | [data-scope="pagination"][data-part="next-text"]LMBCopy |
<Icon> | next-icon | [data-scope="pagination"][data-part="next-icon"]LMBCopy |
<PaginationLink> | previous | [data-scope="pagination"][data-part="previous"]LMBCopy |
<Icon> | previous-icon | [data-scope="pagination"][data-part="previous-icon"]LMBCopy |
<span> | previous-text | [data-scope="pagination"][data-part="previous-text"]LMBCopy |
API
Pagination
Props
| Name | Description | Default | Control |
|---|---|---|---|
ariaLabelOptional | Accessible label for the pagination navigation landmark. string | undefined | "Pagination" |
Events0
No events documented.
Slots1
| Name | Parameters | Description |
|---|---|---|
default | - | Pagination content, usually PaginationContent. |
Styling7
| Token | Description |
|---|---|
--md-pagination-ellipsis-colorColorFallback var(--md-sys-color-on-surface-variant) | Controls ellipsis color. |
--md-pagination-ellipsis-sizeLayoutFallback --dp(40) | Controls ellipsis size. |
--md-pagination-item-spaceLayoutFallback --dp(4) | Controls item space. |
--md-pagination-link-min-widthLayoutFallback --dp(40) | Controls link min width. |
--md-pagination-link-padding-inlineLayoutFallback --dp(12) | Controls link padding inline. |
--md-pagination-nav-icon-sizeLayoutFallback --dp(20) | Controls nav icon size. |
--md-pagination-nav-inline-spaceLayoutFallback --dp(4) | Controls nav inline space. |
PaginationContent
Props
No props documented.
Events0
No events documented.
Slots1
| Name | Parameters | Description |
|---|---|---|
default | - | Pagination items. |
PaginationItem
Props
No props documented.
Events0
No events documented.
Slots1
| Name | Parameters | Description |
|---|---|---|
default | - | One pagination primitive, such as PaginationLink or PaginationEllipsis. |
PaginationLink
Props
| Name | Description | Default |
|---|---|---|
isActiveOptional | Marks the current page and applies active emphasis. boolean | undefined | false |
colorOptional | Button color variant. Defaults to `text` and switches to `outlined` for active pages. elevatedfilledtonaloutlinedtext | undefined |
sizeOptional | Button size variant. smalllargeextra-smallmediumextra-large | "small" |
shapeOptional | Button shape variant. roundedsquare | "rounded" |
hrefOptional | Optional href. When omitted, renders as a native button. string | undefined | undefined |
disabledOptional | Disabled state. boolean | undefined | false |
Events0
No events documented.
Slots1
| Name | Parameters | Description |
|---|---|---|
default | - | Link content, usually a page number. |
PaginationPrevious
Props
| Name | Description | Default |
|---|---|---|
colorOptional | Button color variant. Defaults to `text` and switches to `outlined` for active pages. elevatedfilledtonaloutlinedtext | undefined |
sizeOptional | Button size variant. smalllargeextra-smallmediumextra-large | "small" |
shapeOptional | Button shape variant. roundedsquare | "rounded" |
hrefOptional | Optional href. When omitted, renders as a native button. string | undefined | undefined |
disabledOptional | Disabled state. boolean | undefined | false |
textOptional | Screen text shown beside the icon on larger viewports. string | undefined | "Previous" |
ariaLabelOptional | Accessible label for assistive technology. string | undefined | "Go to previous page" |
Events0
No events documented.
Slots0
No slots documented.
PaginationNext
Props
| Name | Description | Default |
|---|---|---|
colorOptional | Button color variant. Defaults to `text` and switches to `outlined` for active pages. elevatedfilledtonaloutlinedtext | undefined |
sizeOptional | Button size variant. smalllargeextra-smallmediumextra-large | "small" |
shapeOptional | Button shape variant. roundedsquare | "rounded" |
hrefOptional | Optional href. When omitted, renders as a native button. string | undefined | undefined |
disabledOptional | Disabled state. boolean | undefined | false |
textOptional | Screen text shown beside the icon on larger viewports. string | undefined | "Next" |
ariaLabelOptional | Accessible label for assistive technology. string | undefined | "Go to next page" |
Events0
No events documented.
Slots0
No slots documented.
PaginationEllipsis
Props
| Name | Description | Default |
|---|---|---|
labelOptional | Accessible label announced for the collapsed pages marker. string | undefined | "More pages" |
Events0
No events documented.
Slots0
No slots documented.
Examples
Default
Simple
Icons Only
Vue Router
PaginationLink, PaginationPrevious, and PaginationNext follow the same pattern: use RouterLink custom, then forward href and navigate into the pagination control.