| ID | Name | Country | |
|---|---|---|---|
| 1 | Peter Sporer | Vidal.Runolfsdottir-Moore83@gmail.com | Saint Kitts and Nevis |
| 2 | Terence Mayert | Alexys_Ankunding1@hotmail.com | Philippines |
| 3 | Guillermo Gleichner | Miracle_Stamm70@yahoo.com | Qatar |
| 4 | Miss Alexandra Johnston | Woodrow_Flatley47@gmail.com | Democratic Republic of the Congo |
| 5 | Bernard Moore-Abernathy | Jaylen_Waelchi27@yahoo.com | Wallis and Futuna |
| ID | Name | Country | |
|---|---|---|---|
| 1 | Lucas Friesen | Manuela.Bruen14@hotmail.com | Finland |
| 2 | Mrs. Terri Conroy | Abdullah.Kunde11@yahoo.com | Honduras |
| 3 | Mr. Danny Koepp | Serenity_Koss18@gmail.com | Cocos (Keeling) Islands |
| 4 | Perry Jaskolski | Whitney88@hotmail.com | Bonaire, Sint Eustatius and Saba |
| 5 | Roderick Baumbach | Ruthe47@hotmail.com | Finland |
Page Size
Implement a custom page pageSize amount using a select element.
| ID | Name | Country | |
|---|---|---|---|
| 1 | Jenny Dooley | Whitney.Berge@gmail.com | Armenia |
| 2 | Ramon Armstrong | Ressie.Jast@yahoo.com | Eswatini |
| 3 | Elisa Weimann | Jerald_Mueller32@yahoo.com | French Guiana |
| 4 | Pearl Ondricka | Krystel.Parisian12@gmail.com | Nicaragua |
| 5 | Lloyd Osinski | Pierre.Pfeffer@gmail.com | Morocco |
| ID | Name | Country | |
|---|---|---|---|
| 1 | Gerardo McLaughlin-O'Connell | Avis.Sanford38@hotmail.com | Saint Kitts and Nevis |
| 2 | Ramona Sanford | Raymond.Franecki95@hotmail.com | Aland Islands |
| 3 | Mr. Gustavo Zieme | Tomasa_Hartmann@gmail.com | French Polynesia |
| 4 | Theodore Boyle | Maryam.OHara@yahoo.com | Timor-Leste |
| 5 | Leona Towne-Grant | Hobart.Hermann@yahoo.com | Rwanda |
Direction
Set the text direction (ltr or rtl) using the dir prop.
| ID | Name | Country | |
|---|---|---|---|
| 1 | Glenda McKenzie | Germaine.Gulgowski91@yahoo.com | Guernsey |
| 2 | Israel Lubowitz | Bonita53@yahoo.com | Svalbard & Jan Mayen Islands |
| 3 | Mack Mertz | Sim.Kessler@hotmail.com | Dominican Republic |
| 4 | Janis Wisozk | Alaina_Deckow@yahoo.com | United Arab Emirates |
| 5 | Courtney Leffler | Malika.Walsh@yahoo.com | Puerto Rico |
Total Count
For server-side pagination, your data source may be truncated. Make sure to specify the total records using count.
const res = {
"results": [...],
"pagination": {
"page": 1,
"limit": 10,
"count": 500,
}
}<Pagination
page={res.pagination.page}
count={res.pagination.count}
pageSize={res.pagination.limit}
>
<!-- ... -->
</Pagination>API Reference
Root
inline-flex gap-2 p-2 rounded-container preset-outlined-surface-200-800 w-fit| Prop | Default | Type |
|---|---|---|
ids | — | Partial<{ 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. |
translations | — | IntlTranslations | undefined Specifies the localized strings that identifies the accessibility elements and their states |
count | — | number | undefined Total number of data items |
pageSize | — | number | undefined The controlled number of data items per page |
defaultPageSize | 10 | number | 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. |
siblingCount | 1 | number | undefined Number of pages to show beside active page |
page | — | number | undefined The controlled active page |
defaultPage | 1 | number | 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
| Prop | Default | Type |
|---|---|---|
value | — | PaginationApi<PropTypes> |
element | — | ((attributes: HTMLAttributes<"nav">) => Element) | undefined Render the element yourself |
Context
| Prop | Default | Type |
|---|---|---|
children | — | (pagination: PaginationApi<PropTypes>) => ReactNode |
FirstTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | ((attributes: HTMLAttributes<"button">) => Element) | undefined Render the element yourself |
PrevTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | ((attributes: HTMLAttributes<"button">) => Element) | undefined Render the element yourself |
Item
btn btn-sm preset-tonal cursor-pointer select-none data-selected:preset-filled| Prop | Default | Type |
|---|---|---|
type | — | "page" |
value | — | number |
element | — | ((attributes: HTMLAttributes<"a">) => Element) | undefined Render the element yourself |
Ellipsis
btn btn-sm preset-tonal pointer-events-none| Prop | Default | Type |
|---|---|---|
index | — | number |
element | — | ((attributes: HTMLAttributes<"span">) => Element) | undefined Render the element yourself |
NextTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | ((attributes: HTMLAttributes<"button">) => Element) | undefined Render the element yourself |
LastTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | ((attributes: HTMLAttributes<"button">) => Element) | undefined Render the element yourself |
Root
inline-flex gap-2 p-2 rounded-container preset-outlined-surface-200-800 w-fit| Prop | Default | Type |
|---|---|---|
ids | — | Partial<{ 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. |
translations | — | IntlTranslations | undefined Specifies the localized strings that identifies the accessibility elements and their states |
count | — | number | undefined Total number of data items |
pageSize | — | number | undefined The controlled number of data items per page |
defaultPageSize | 10 | number | 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. |
siblingCount | 1 | number | undefined Number of pages to show beside active page |
page | — | number | undefined The controlled active page |
defaultPage | 1 | number | 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 | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself |
Provider
| Prop | Default | Type |
|---|---|---|
value | — | () => PaginationApi<PropTypes> |
element | — | Snippet<[HTMLAttributes<"div">]> | undefined Render the element yourself |
Context
| Prop | Default | Type |
|---|---|---|
children | — | Snippet<[() => PaginationApi<PropTypes>]> |
FirstTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | Snippet<[HTMLAttributes<"button">]> | undefined Render the element yourself |
PrevTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | Snippet<[HTMLAttributes<"button">]> | undefined Render the element yourself |
Item
btn btn-sm preset-tonal cursor-pointer select-none data-selected:preset-filled| Prop | Default | Type |
|---|---|---|
type | — | "page" |
value | — | number |
element | — | Snippet<[HTMLAttributes<"a">]> | undefined Render the element yourself |
Ellipsis
btn btn-sm preset-tonal pointer-events-none| Prop | Default | Type |
|---|---|---|
index | — | number |
element | — | Snippet<[HTMLAttributes<"span">]> | undefined Render the element yourself |
NextTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | Snippet<[HTMLAttributes<"button">]> | undefined Render the element yourself |
LastTrigger
btn btn-sm preset-tonal| Prop | Default | Type |
|---|---|---|
element | — | Snippet<[HTMLAttributes<"button">]> | undefined Render the element yourself |