- Prop
page- Type
number- Default
- —
- Requirement
- required
- Description
- Current page (1-based).
Docs Components Navigation
Pagination
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import * as React from "react";const paginationFixture = { id: "pagination", page: 5, count: 9, siblingCount: 1,} satisfies { id: string; page: number; count: number; siblingCount: number }; import { Pagination } from "@grassroot/ui-react"; export default function PaginationDemo() { const [page, setPage] = React.useState(paginationFixture.page); return ( <div> <Pagination count={paginationFixture.count} page={page} siblingCount={paginationFixture.siblingCount} onPageChange={setPage} /> </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">import { ref } from "vue";import { Pagination } from "@grassroot/ui-vue";const paginationFixture = { id: "pagination", page: 5, count: 9, siblingCount: 1,} satisfies { id: string; page: number; count: number; siblingCount: number }; const page = ref(paginationFixture.page);</script> <template> <div> <Pagination :page="page" :count="paginationFixture.count" :sibling-count="paginationFixture.siblingCount" @page-change="page = $event" /> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component, signal } from "@angular/core";import { GrassrootPagination } from "@grassroot/ui-angular";const paginationFixture = { id: "pagination", page: 5, count: 9, siblingCount: 1,} satisfies { id: string; page: number; count: number; siblingCount: number }; @Component({ selector: "app-pagination-demo", standalone: true, imports: [GrassrootPagination], template: ` <div> <grassroot-pagination [page]="page()" [count]="fixture.count" [siblingCount]="fixture.siblingCount" (pageChange)="page.set($event)" /> </div> `,})export class PaginationDemoComponent { protected readonly fixture = paginationFixture; readonly page = signal(paginationFixture.page);} export default PaginationDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> import { Pagination } from "@grassroot/ui-svelte"; const paginationFixture = { id: "pagination", page: 5, count: 9, siblingCount: 1, } satisfies { id: string; page: number; count: number; siblingCount: number }; let page = $state(paginationFixture.page);</script> <div> <Pagination {page} count={paginationFixture.count} siblingCount={paginationFixture.siblingCount} onPageChange={(next) => (page = next)} /></div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */import { createSignal } from "solid-js";import { Pagination } from "@grassroot/ui-solid";const paginationFixture = { id: "pagination", page: 5, count: 9, siblingCount: 1,} satisfies { id: string; page: number; count: number; siblingCount: number }; export default function PaginationDemo() { const [page, setPage] = createSignal(paginationFixture.page); return ( <div> <Pagination page={page()} count={paginationFixture.count} siblingCount={paginationFixture.siblingCount} onPageChange={setPage} /> </div> );}Installation
API Reference
Import
import * as React from "react";
import { Pagination } from "@grassroot/ui-react";
Props
Prop
Type
Default
Requirement
Description
pagenumber—
required
Current page (1-based).
countnumber—
required
Total number of pages.
siblingCountnumber | undefined1optional
Pages to show either side of the current one.
onPageChange((page: number) => void) | undefined—
optional
—
classNamestring | undefined—
optional
—
- Prop
count- Type
number- Default
- —
- Requirement
- required
- Description
- Total number of pages.
- Prop
siblingCount- Type
number | undefined- Default
1- Requirement
- optional
- Description
- Pages to show either side of the current one.
- Prop
onPageChange- Type
((page: number) => void) | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
Events
| Event | Payload |
|---|---|
onPageChange | ((page: number) => void) | undefined |
Import
import { ref } from "vue";
import { Pagination } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
pagenumber—
required
countnumber—
required
siblingCountnumber | undefined1optional
classNamestring | undefined—
optional
- Prop
page- Type
number- Default
- —
- Requirement
- required
- Prop
count- Type
number- Default
- —
- Requirement
- required
- Prop
siblingCount- Type
number | undefined- Default
1- Requirement
- optional
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
pageChange | [page: number] |
Import
import { Component, signal } from "@angular/core";
import { GrassrootPagination } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
pagenumber—
required
countnumber—
required
siblingCountnumber1optional
- Prop
page- Type
number- Default
- —
- Requirement
- required
- Prop
count- Type
number- Default
- —
- Requirement
- required
- Prop
siblingCount- Type
number- Default
1- Requirement
- optional
Events
| Event | Payload |
|---|---|
pageChange | number |
Import
import { Pagination } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
pagenumber—
required
countnumber—
required
siblingCountnumber1optional
onPageChange(page: number) => void—
optional
classNamestring—
optional
classstring—
optional
- Prop
page- Type
number- Default
- —
- Requirement
- required
- Prop
count- Type
number- Default
- —
- Requirement
- required
- Prop
siblingCount- Type
number- Default
1- Requirement
- optional
- Prop
onPageChange- Type
(page: number) => void- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
- Prop
class- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onPageChange | (page: number) => void |
Import
import { createSignal } from "solid-js";
import { Pagination } from "@grassroot/ui-solid";
Props
Prop
Type
Default
Requirement
pagenumber—
required
countnumber—
required
siblingCountnumber1optional
onPageChange(page: number) => void—
optional
classNamestring—
optional
- Prop
page- Type
number- Default
- —
- Requirement
- required
- Prop
count- Type
number- Default
- —
- Requirement
- required
- Prop
siblingCount- Type
number- Default
1- Requirement
- optional
- Prop
onPageChange- Type
(page: number) => void- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onPageChange | (page: number) => void |