GitHubopen_in_new

Pagination

Pagination provides a composable page-navigation pattern with previous/next helpers, page links, and an ellipsis marker.

Anatomy

ElementPartSelector
<nav>
root
[data-scope="pagination"][data-part="root"]
left_clickLMBCopy
<ul>
content
[data-scope="pagination"][data-part="content"]
left_clickLMBCopy
<span>
ellipsis
[data-scope="pagination"][data-part="ellipsis"]
left_clickLMBCopy
<Icon>
ellipsis-icon
[data-scope="pagination"][data-part="ellipsis-icon"]
left_clickLMBCopy
<span>
ellipsis-label
[data-scope="pagination"][data-part="ellipsis-label"]
left_clickLMBCopy
<li>
item
[data-scope="pagination"][data-part="item"]
left_clickLMBCopy
<Button>
link
[data-scope="pagination"][data-part="link"]
<PaginationLink>
next
[data-scope="pagination"][data-part="next"]
left_clickLMBCopy
<span>
next-text
[data-scope="pagination"][data-part="next-text"]
left_clickLMBCopy
<Icon>
next-icon
[data-scope="pagination"][data-part="next-icon"]
left_clickLMBCopy
<PaginationLink>
previous
[data-scope="pagination"][data-part="previous"]
left_clickLMBCopy
<Icon>
previous-icon
[data-scope="pagination"][data-part="previous-icon"]
left_clickLMBCopy
<span>
previous-text
[data-scope="pagination"][data-part="previous-text"]
left_clickLMBCopy

API

Pagination

Props

NameDescriptionDefaultControl
ariaLabelOptional

Accessible label for the pagination navigation landmark.

string | undefined
"Pagination"

Events0

No events documented.

Slots1

NameParametersDescription
default-Pagination content, usually PaginationContent.

Styling7

TokenDescription
--md-pagination-ellipsis-colorColor
Fallbackvar(--md-sys-color-on-surface-variant)

Controls ellipsis color.

--md-pagination-ellipsis-sizeLayout
Fallback--dp(40)

Controls ellipsis size.

--md-pagination-item-spaceLayout
Fallback--dp(4)

Controls item space.

--md-pagination-link-min-widthLayout
Fallback--dp(40)

Controls link min width.

--md-pagination-link-padding-inlineLayout
Fallback--dp(12)

Controls link padding inline.

--md-pagination-nav-icon-sizeLayout
Fallback--dp(20)

Controls nav icon size.

--md-pagination-nav-inline-spaceLayout
Fallback--dp(4)

Controls nav inline space.

PaginationContent

Props

No props documented.

Events0

No events documented.

Slots1

NameParametersDescription
default-Pagination items.

PaginationItem

Props

No props documented.

Events0

No events documented.

Slots1

NameParametersDescription
default-One pagination primitive, such as PaginationLink or PaginationEllipsis.
NameDescriptionDefault
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

No events documented.

NameParametersDescription
default-Link content, usually a page number.

PaginationPrevious

Props

NameDescriptionDefault
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

NameDescriptionDefault
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

NameDescriptionDefault
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.

Current route: /docs/page/2