adn-ui
Components

Pagination

A high-quality, styled React pagination component for navigating across pages.

The Pagination component provides accessible page navigation controls with page links, next/previous actions, and ellipsis indicators.

Usage

import { Pagination } from "@/components/ui/pagination";

export function ExamplePagination() {
  return (
    <Pagination.Root>
      <Pagination.Content>
        <Pagination.Item>
          <Pagination.Previous href="#" />
        </Pagination.Item>
        <Pagination.Item>
          <Pagination.Link href="#">1</Pagination.Link>
        </Pagination.Item>
        <Pagination.Item>
          <Pagination.Link href="#" isActive>
            2
          </Pagination.Link>
        </Pagination.Item>
        <Pagination.Item>
          <Pagination.Link href="#">3</Pagination.Link>
        </Pagination.Item>
        <Pagination.Item>
          <Pagination.Ellipsis />
        </Pagination.Item>
        <Pagination.Item>
          <Pagination.Next href="#" />
        </Pagination.Item>
      </Pagination.Content>
    </Pagination.Root>
  );
}

Preview

Custom Styling

Customize pagination link shapes, active indicators, or ring highlights via className:

<Pagination.Link href="#" isActive className="bg-indigo-600 text-white shadow-md shadow-indigo-500/25 border-0">
  1
</Pagination.Link>

Styling & Class Names

Target internal pagination CSS slots for custom overrides:

Class NameElement / SlotDescription
.paginationRoot navRoot navigation element.
.pagination__contentContent listFlex list wrapper for page items.
.pagination__itemList itemIndividual item list container.
.pagination__linkPage button/linkPage button or link element.
.pagination__ellipsisEllipsis indicatorSpacing dots element.

Anatomy

<Pagination.Root>
  <Pagination.Content>
    <Pagination.Item>
      <Pagination.Previous />
    </Pagination.Item>
    <Pagination.Item>
      <Pagination.Link />
    </Pagination.Item>
    <Pagination.Item>
      <Pagination.Ellipsis />
    </Pagination.Item>
    <Pagination.Item>
      <Pagination.Next />
    </Pagination.Item>
  </Pagination.Content>
</Pagination.Root>

API Reference

Pagination.Root Props

PropTypeDefaultDescription
size'sm' | 'md' | 'lg''md'Visual size of the component.
PropTypeDefaultDescription
isActivebooleanfalseSets active styling and aria-current="page" attribute.

On this page