Primitives

Pagination

The row keeps its width as you move. outline, pill, gradient, underline, dots, jumper, minimal; the range and page size.

outline · with the range and page size

pill · the current page slides · first and last

gradient · the current page glows

underline · a bar slides under the page

dots · short sets, onboarding

jumper · type a page and press Enter

minimal · for phones and narrow panels

Import#

Everything comes from the package root. The example above uses:

your-component.tsx
import { Pagination } from "@waveinno/ui";

Props#

Read from the source of this version, so they match the code exactly.

<Pagination>

src/components/ui/pagination.tsx
PropTypeDefaultDescription
pagerequirednumber—
onPageChangerequired(page: number) => void—
pageCountnumber—Number of pages. Or give `total` and `pageSize`.
totalnumber—Number of rows in all; shows "21–40 of 312".
pageSizenumber20
pageSizesnumber[]—Offer these page sizes; needs `onPageSizeChange`.
onPageSizeChange(size: number) => void—
variant"outline" | "pill" | "gradient" | "underline" | "dots" | "jumper" | "minimal""outline"
siblingsnumber1
edgesbooleanfalseFirst / last page buttons.
size"sm" | "md""md"
labels{ previous?: string; next?: string; page?: string; of?: string; perPage?: string; goTo?: string }—
classNamestring—

Install#

If the project does not have the package yet, add it, then follow the setup for Next.js or Vite once.

$ npm install @waveinno/ui