page is 1-based; onChange receives the new page. Add pageSizeOptions, pageSize and onPageSizeChange for a "Per page" select. Changing the size is up to you: usually go back to page 1 and recompute pageCount.

The buttons are 38px tall to line up with the per-page select, and Prev and Next share one width.

Props

  • pagenumber

    Current page (1-based).

  • pageCountnumber

    Total number of pages.

  • onChange(page: number) => void

    Called with the new page.

  • siblingsnumber
    Default: 1

    Page numbers shown each side of the current page.

  • pageSizenumber

    Current items per page (shown in the per-page select).

  • pageSizeOptionsnumber[]

    Choices for the per-page select; the select shows only with onPageSizeChange too.

  • onPageSizeChange(size: number) => void

    Called with the chosen page size.

  • pageSizeLabelstring
    Default: 'Per page'

    Label of the per-page select.

  • classNamestring
    Default: ''

    Extra classes for the root element.