Skip to main content

What are you looking for?

Try searching for…

Components

Pagination

Pagination is a list of buttons used to navigate between different pages of content, such as search results or tables.

aria-label
Description

Sets the screen reader label for the Pagination area

Type
string
Default
'Bla i sider'
data-current
Description

Current page number

Type
string
data-total
Description

Total number of pages

Type
string
asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior. @deprecated This is not supported anymore, as the element needs to be `ds-pagination`

Type
boolean
Default
false
NameTypeDefaultDescription
aria-labelstring'Bla i sider'

Sets the screen reader label for the Pagination area

data-currentstring-

Current page number

data-totalstring-

Total number of pages

asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior. @deprecated This is not supported anymore, as the element needs to be `ds-pagination`

PaginationButton

aria-current
Description

Toggle button as active Indicates the element that represents the current item within a container or set of related elements.

Type
boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time"
Default
false
asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior.

Type
boolean
Default
false
NameTypeDefaultDescription
aria-currentboolean | "false" | "true" | "page" | "step" | "location" | "date" | "time"false

Toggle button as active Indicates the element that represents the current item within a container or set of related elements.

asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior.

PaginationItem

asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior.

Type
boolean
Default
false
NameTypeDefaultDescription
asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior.

PaginationList

asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior.

Type
boolean
Default
false
NameTypeDefaultDescription
asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior.

Usage

Pagination is a stateless component, and you must control which pages are displayed.

Use usePagination for pagination logic together with the single-part components. Read more about usePagination.

Examples

Default

The example shows `Pagination' with buttons that are not linked to any action. When you press, you will not navigate to another page.

Below you see usePagination used with Pagination to create pagination with links.

You use asChild to change Pagination.Button to <a>.

Mobile

There is no built-in mobile support in Pagination, but you can show fewer pages and remove text for the previous/next buttons on mobile devices.

HTML

Add the class name ds-pagination to the <ds-pagination> element. The web component automatically fills the buttons or anchors based on the data attributes data-current and data-total.

If you wish to use your own buttons you can add them inside <a> or <button> elements inside <ds-pagination>. If you fill these with text, and do not send any attributes, the web component will not change the buttons.

CSS variables and data attributes

CSS Variables
NameValue
--dsc-pagination-gapvar(--ds-size-2)
--dsc-pagination-icon-sizevar(--ds-size-6)
--dsc-pagination-icon-urlurl("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath d='M9.47 5.97a.75.75 0 0 1 1.06 0l5.5 5.5a.75.75 0 0 1 0 1.06l-5.5 5.5a.75.75 0 1 1-1.06-1.06L14.44 12 9.47 7.03a.75.75 0 0 1 0-1.06'/%3E%3C/svg%3E")
--dsc-pagination-ellipsis"\2026"
--dsc-pagination-label"Bla i sider"
--dsc-button-background--activevar(--ds-color-base-active)
--dsc-button-background--hovervar(--ds-color-base-hover)
--dsc-button-backgroundvar(--ds-color-base-default)
--dsc-button-colorvar(--ds-color-base-contrast-default)

No relevant data attributes found.

Edit this page on github.com (opens in a new tab)