Live Docs

Data Display /

stable

Pagination

Navigasi halaman data dengan prev/next, active page, dan smart ellipsis untuk total halaman besar.

import { Pagination } from "@naraya/ui";

Overview

Gunakan Pagination ketika data dibagi ke beberapa halaman untuk menjaga performa dan keterbacaan list/table.

Examples

Default

<Pagination current={2} total={8} onChange={setPage} />

Controlled

Current page: 6

const [current, setCurrent] = useState(6);
<Pagination current={current} total={18} onChange={setCurrent} />

More siblings

<Pagination current={10} total={30} siblings={2} onChange={setPage} />

Props

PropTypeDefaultDescription
current*numberHalaman aktif (1-based).
total*numberTotal halaman.
onChange*(page: number) => voidDipanggil saat user pindah halaman.
siblingsnumber1Jumlah halaman tetangga di sekitar current.
classNamestringClass tambahan wrapper.

Tokens Used

--bg-surface

Button background

--border-subtle

Button border

--color-primary

Active page highlight

--text-main

Page label color

Accessibility

  • Wrapper memakai nav dengan aria-label='Pagination'.
  • Halaman aktif ditandai aria-current='page'.
  • Prev/next button sudah memiliki aria-label deskriptif.