With Edge Pages
Two pages pinned at each end.
<Pagination totalPages={20} defaultPage={10} edgeCount={2} siblingCount={1}>
<Pagination.Previous />
<Pagination.Items />
<Pagination.Next />
</Pagination>Steps through content split across numbered pages.
import { Pagination } from "@/fragments/ui";Source<Pagination totalPages={10} defaultPage={1}>
<Pagination.Previous />
<Pagination.Items />
<Pagination.Next />
</Pagination>npx @usefragments/cli add paginationWrites src/fragments/ui/components/Pagination plus what it imports, the globals stylesheet, and .fragments/registry-lock.json, then prints the packages to add. No account, no key.
Your own registry: publish from Fragments Cloud and add --registry org/name. Connect a workspace.
Pagination is a compound: import the root and reach its parts through dot notation.
Pagination.PreviousPagination.NextPagination.ItemsPagination.ItemPagination.EllipsisNeighbours around the current page, ends always reachable.
<Pagination totalPages={10} defaultPage={1}>
<Pagination.Previous />
<Pagination.Items />
<Pagination.Next />
</Pagination>Two pages pinned at each end.
<Pagination totalPages={20} defaultPage={10} edgeCount={2} siblingCount={1}>
<Pagination.Previous />
<Pagination.Items />
<Pagination.Next />
</Pagination>Drops the neighbours when space is tight.
<Pagination totalPages={20} defaultPage={10} siblingCount={0}>
<Pagination.Previous />
<Pagination.Items />
<Pagination.Next />
</Pagination>You hold the page number in state.
<Pagination totalPages={5} page={3}>
<Pagination.Previous />
<Pagination.Items />
<Pagination.Next />
</Pagination>Prop | Type | Default | Description |
|---|---|---|---|
childrenRequired | node | Not set | — |
totalPagesRequired | number | Not set | Total number of pages |
page | number | Not set | Controlled current page (1-indexed) |
defaultPage | number | 1 | Default page (uncontrolled) |
onPageChange | function | Not set | Called when page changes |
edgeCount | number | 1 | Number of pages shown at edges |
siblingCount | number | 1 | Number of pages shown around current |
size | enumsmmdlg | Not set | Visible action size. Resolves through ComponentDefaults when omitted. |