shadcn.io is not affiliated with official shadcn/ui
Installation
bunx --bun shadcn@latest add https://kit.dev/r/base/pagination.jsonnpx shadcn@latest add https://kit.dev/r/base/pagination.jsonpnpm dlx shadcn@latest add https://kit.dev/r/base/pagination.jsonyarn shadcn@latest add https://kit.dev/r/base/pagination.jsonThis component depends on Button. Install it first if you haven't already.
Install the following dependencies:
bun add lucide-reactnpm install lucide-reactpnpm add lucide-reactyarn add lucide-reactCopy and paste the following code into your project.
import {
ChevronLeftIcon,
ChevronRightIcon,
MoreHorizontalIcon,
} from "lucide-react";
import type React from "react";
import { cn } from "@/lib/utils";
import { Button } from "@/registry/base/components/button";
export const Pagination = (props: React.ComponentProps<"nav">) => {
const { className, ...rest } = props;
return (
<nav
aria-label="pagination"
className={cn(
"cn-pagination mx-auto flex w-full justify-center",
classNameUpdate the import paths to match your project setup.
Anatomy
Pagination
├── PaginationItem
├── PaginationEllipsis
├── PaginationFirstTrigger
├── PaginationPrevious
├── PaginationNext
└── PaginationLastTriggerUsage
import {
Pagination,
PaginationContent,
PaginationEllipsis,
PaginationItem,
PaginationLink,
PaginationNext,
PaginationPrevious,
} from "@/components/ui/pagination";<Pagination>
<PaginationContent>
<PaginationItem>
<PaginationPrevious href="#" />
</PaginationItem>
<PaginationItem>
<PaginationLink href="#">1</PaginationLink>
</PaginationItem>
<PaginationItem>
<PaginationLink href="#" isActive>
2
</PaginationLink>
</PaginationItem>
<PaginationItem>
<PaginationLink href="#">3</PaginationLink>
</PaginationItem>
<PaginationItem>
<PaginationEllipsis />
</PaginationItem>
<PaginationItem>
<PaginationNext href="#" />
</PaginationItem>
</PaginationContent>
</Pagination>Accessibility
| Key | Description |
|---|---|
Enter | Activate the focused control. |
Space | Activate the focused control. |
Demos
Simple
A simple pagination with only page numbers.
Icons Only
Use just the previous and next buttons without page numbers. Useful for data tables with a rows per page selector.
Rtl
Right-to-left pagination. See the RTL configuration guide for document direction.
API Reference
Pagination
PropType
AttributeType
PaginationContent
PropType
AttributeType
PaginationItem
PropType
AttributeType
PaginationLink
PropType
AttributeType
PaginationPrevious
PropType
AttributeType
PaginationNext
PropType
AttributeType
PaginationEllipsis
PropType
AttributeType