1. framework components
  2. pagination

Pagination

Client and server-side pagination controls.

IDNameEmailCountry
1Edmund MohrTre.McCullough@gmail.comCambodia
2Mr. Lyle HamillRosalinda_Cartwright@hotmail.comCocos (Keeling) Islands
3Bernadette CruickshankChad40@hotmail.comBritish Indian Ocean Territory (Chagos Archipelago)
4Marsha SawaynJacklyn_Ledner55@hotmail.comUnited Arab Emirates
5Dr. Elmer TowneDelpha_Tillman@hotmail.comPalau

Page Size

Implement a custom page pageSize amount using a select element.

IDNameEmailCountry
1Mrs. Teresa SipesErin_Bechtelar@yahoo.comCuracao
2Eula LegrosPearline_Kuvalis@hotmail.comSaint Barthelemy
3Patty TurcotteHertha53@hotmail.comZimbabwe
4Edmond FaheyMagdalen_Carroll39@gmail.comAnguilla
5Luis MayertEmmitt.Jacobs-Konopelski40@yahoo.comLuxembourg

Direction

Set the text direction (ltr or rtl) using the dir prop.

IDNameEmailCountry
1Mrs. Minnie VonProvidenci.Boyer40@hotmail.comTonga
2Doris FisherCitlalli_Nader18@hotmail.comMonaco
3Leon O'KeefeKatrine48@gmail.comGuadeloupe
4Barbara CorwinWinston_Homenick@yahoo.comAntarctica
5Travis HuelsBridget.Lowe@hotmail.comBahamas

Total Count

For server-side pagination, your data source may be truncated. Make sure to specify the total records using count.

ts
const res = {
	"results": [...],
	"pagination": {
		"page": 1,
		"limit": 10,
		"count": 500,
	}
}
html
<Pagination
	page={res.pagination.page}
	count={res.pagination.count}
	pageSize={res.pagination.limit}
>
	<!-- ... -->
</Pagination>

API Reference

Root

txt
inline-flex gap-2 p-2 rounded-container preset-outlined-surface-200-800 w-fit
PropDefaultType
idsPartial<{ root: string; ellipsis: (index: number) => string; prevTrigger: string; nextTrigger: string; item: (page: number) => string; }> | undefined

The ids of the elements in the accordion. Useful for composition.

translationsIntlTranslations | undefined

Specifies the localized strings that identifies the accessibility elements and their states

countnumber | undefined

Total number of data items

pageSizenumber | undefined

The controlled number of data items per page

defaultPageSize10number | undefined

The initial number of data items per page when rendered. Use when you don't need to control the page size of the pagination.

siblingCount1number | undefined

Number of pages to show beside active page

pagenumber | undefined

The controlled active page

defaultPage1number | undefined

The initial active page when rendered. Use when you don't need to control the active page of the pagination.

onPageChange((details: PageChangeDetails) => void) | undefined

Called when the page number is changed

onPageSizeChange((details: PageSizeChangeDetails) => void) | undefined

Called when the page size is changed

type"button""button" | "link" | undefined

The type of the trigger element

getPageUrl((details: PageUrlDetails) => string) | undefined

Function to generate href attributes for pagination links. Only used when `type` is set to "link".

dir"ltr""ltr" | "rtl" | undefined

The document's text/writing direction.

getRootNode(() => ShadowRoot | Node | Document) | undefined

A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.

element((attributes: HTMLAttributes<"nav">) => Element) | undefined

Render the element yourself

Provider

PropDefaultType
valuePaginationApi<PropTypes>

element((attributes: HTMLAttributes<"nav">) => Element) | undefined

Render the element yourself

Context

PropDefaultType
children(pagination: PaginationApi<PropTypes>) => ReactNode

FirstTrigger

txt
btn btn-sm preset-tonal
PropDefaultType
element((attributes: HTMLAttributes<"button">) => Element) | undefined

Render the element yourself

PrevTrigger

txt
btn btn-sm preset-tonal
PropDefaultType
element((attributes: HTMLAttributes<"button">) => Element) | undefined

Render the element yourself

Item

txt
btn btn-sm preset-tonal cursor-pointer select-none data-selected:preset-filled
PropDefaultType
type"page"

valuenumber

element((attributes: HTMLAttributes<"a">) => Element) | undefined

Render the element yourself

Ellipsis

txt
btn btn-sm preset-tonal pointer-events-none
PropDefaultType
indexnumber

element((attributes: HTMLAttributes<"span">) => Element) | undefined

Render the element yourself

NextTrigger

txt
btn btn-sm preset-tonal
PropDefaultType
element((attributes: HTMLAttributes<"button">) => Element) | undefined

Render the element yourself

LastTrigger

txt
btn btn-sm preset-tonal
PropDefaultType
element((attributes: HTMLAttributes<"button">) => Element) | undefined

Render the element yourself

View page on GitHub