Pagination

Structure

The pagination component is used whenever a user needs to navigate through a list of items that is too long to fit on one page.

It includes a "previous" and "next" chevron button, and several numbered buttons that correspond to different pages of the data.

Anatomy

  • The pagination component typically consists of several buttons that allow the user to navigate to different pages of the data.
  • The buttons will typically include a "previous" button, a "next" button, and several numbered buttons that correspond to different pages of the data.
  • When the number of pages exceeds the maximum display limit, an ellipsis button is used to truncate the remaining pages. This button will appear as the last but one element to let users know the total amount of pages.
  • The current page will be indicated with a different style and color to make it clear to the user which page they are currently on.
  • Additionally, it may include a text or label indicating the current page and the total number of pages.

The default/basic component:

Pagination default basic component

A special variant for Mock tests that display adds color fill when the question has been answered:

Pagination mock tests

Spacing and sizing

Pagination size

PropertyTokenpxrem
Button size smsize $332px2
Button size mdsize $440px2.5
Button size lg (default)size $548px3
Dot size:(4px0.25

Pagination spacing

PropertyTokenpxrem
Space between itemsspace $14px0.25
Border-radiousradii $04px0.25

Pagination action icon

Property & elementSizeAppearanceThemeisRounded
Action Icon‘sm’, ‘md, ‘lg’'simple''neutral''no'

Pagination popover padding

PropertyTokenpxrem
Border radiusradii-$18px0.5
Paddingspace-$416px1
Shadowshadow $2--

Pagination typography

ElementFamilyWeightSizeRempx
default$body400$md1rem16
Completed, selected, selected completed$body600$md1rem16

Color

Pagination color default

Property & Element - StateTokenHex
Bg color - default, disabledtransparent-
Bg color - hover$grey100#
Bg color - pressed$grey200#
Bg color - focus$blue100#
Border color - focus (2px)$blue800#
Inside border/shadow - selected focus (2px-2px gap)$white#
Font-color - Default, focus, disabled$grey800#
Font-color - Hover, pressed$grey1000#

Pagination color completed

Property & Element - StateTokenHex
Bg color - default, disabledtransparent-
Bg color - hover$grey100#
Bg color - pressed$grey200#
Bg color - focus$blue100#
Border color - focus (2px)$blue800#
Inside border/shadow - selected focus (2px-2px gap)$white#
Font-color - Default, focus, disabled$blue800#
Font-color - Hover$blue900#
Font-color - Pressed$blue1000#

Pagination color selected default

Same as the one above with the addition of border-color

Property & Element - StateTokenHex
Border-color - default, focus, disabled$blue800#
Border-color - hover$blue900#
Border-color - pressed$blue1000#
Border-color - focus (2px)$blue800#

Pagination color completed

Property & Element - StateTokenHex
Dot color - default, focus, disabledtransparent-
Doc color - hover$grey100#
Doc color - pressed$grey200#
Doc color - focus$blue100#