Skip to content
Velkin LogoVelkin Logo
Velkin
VELKIN/UI

Modern UI components for product teams and their AI agents. Lit core, typed wrappers, live MCP.

sales@velkinui.com

Product

  • Docs
  • Components
  • Studio
  • Pricing

Resources

  • Quick start
  • Blog
  • Changelog
  • Roadmap
  • Status

Project

  • About
  • Contact
  • License
  • Privacy
  • Terms

© 2026 Velkin. MIT core · Pro licenses available.

VELKIN

Pagination

A pagination component with page numbers and optional jump field.

vu-pagination · @velkin/react/pagination

Copy page

Import

React
npm i @velkin/react

import { VuPagination } from "@velkin/react/pagination";

Examples

API

Props

PropTypeDefaultDescription
totalPagesnumber5Total number of pages.
currentPagenumber1Selected page (1-based).
disabledPagesnumber[][]Page numbers that cannot be selected.
loadingbooleanfalseBlocks interaction and shows the overlay spinner.
progressbooleanfalseRenders a progress track under the controls.
layoutVuPaginationLayout"bar"`bar` numbered buttons or `menu` page picker.
jumpbooleanfalseShows the jump-to-page field when `true` and `totalPages > 1`.
sizeVuPaginationSize"md"Control density (`sm`, `md`, `lg`).
radiusVuPaginationRadius"md"Corner preset (`none`/`sm`/`md`/`lg`/`full`). Default: `md`.
maxVisiblePagesnumber5Max numbered buttons before ellipsis collapse.
labelstring""Accessible name for the navigation region.
prevLabelstring""Accessible name for the previous-page control.
nextLabelstring""Accessible name for the next-page control.
jumpLabelstring""Visible label for the jump field (`Page` by default).
jumpGoLabelstring""Label for the jump submit control (`Go` by default).

Events

EventDetailDescription
vu-changeVuPaginationChangeDetailWhen `currentPage` changes.

CSS parts

PartDescription
baseOuter wrapper.
overlayLoading scrim over the controls.
spinnerSpinner centered in the overlay.
blockInteractive region dimmed while loading.
barNumbered bar layout container.
pagesRow of page buttons and decorative ellipsis markers.
ellipsisDecorative truncated-range marker (`aria-hidden`).
prevPrevious-page control.
nextNext-page control.
pageNumbered page control.
jumpJump-to-page field group.
jump-labelVisible label for the jump field.
jump-inputJump-to-page number input.
jump-goJump submit control.
pickerMenu layout container.
triggerCurrent-page trigger for the picker menu.
menuPopover menu listing all pages.
progressOptional progress track under the controls.
fillFilled portion of the progress track.

Methods

MethodDescription
nextPage- Moves to the next enabled page.
prevPage- Moves to the previous enabled page.
setPage- Moves to a specific enabled page.

Types

NameDefinition
VuPaginationChangeDetail
{ currentPage: number; }
VuPaginationLayout
"menu" | "bar"
VuPaginationRadius
"sm" | "md" | "lg" | "none" | "full"
VuPaginationSize
"sm" | "md" | "lg"

Related

Navigation

  • Adaptive BarA responsive toolbar component that overflows extra items into a menu.
  • AppbarAn application bar component with start, center, and end slots.
  • BreadcrumbA breadcrumb component for navigation trails with optional collapse.
  • Context MenuA context menu component with grouped actions and icons.
  • DropdownA dropdown menu component with trigger slot and keyboard navigation.
  • MenubarA menubar component with nested submenus and keyboard navigation.

Guides

  • AccessibilityFocus and naming
  • SlotsHeader, body, and item slots

Browse

  • Previous: NavbarEarlier in the sidebar
  • Next: SpeeddialLater in the sidebar
  • All componentsBrowse the full index