Components
Pagination
Page navigation with previous/next, page numbers, and ellipsis truncation for long ranges.
Installation
npx shadcn@latest add https://ui.saasflare.io/r/pagination.jsonpnpm add @saasflare/uiUsage
Loading…
"use client"import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious,} from "@saasflare/ui"/** Page navigation for a paginated members table. */export function Demo() { return ( <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> <PaginationLink href="#">12</PaginationLink> </PaginationItem> <PaginationItem> <PaginationNext href="#" /> </PaginationItem> </PaginationContent> </Pagination> )}Controlled
Loading…
"use client"import { useState } from "react"import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious,} from "@saasflare/ui"const TOTAL_PAGES = 5/** Pagination with controlled page state driving the active link. */export function Demo() { const [page, setPage] = useState(1) return ( <div className="flex flex-col items-center gap-3"> <p className="text-sm text-muted-foreground"> Showing invoices — page {page} of {TOTAL_PAGES} </p> <Pagination> <PaginationContent> <PaginationItem> <PaginationPrevious href="#" onClick={(e) => { e.preventDefault() setPage((p) => Math.max(1, p - 1)) }} /> </PaginationItem> {Array.from({ length: TOTAL_PAGES }, (_, i) => i + 1).map((n) => ( <PaginationItem key={n}> <PaginationLink href="#" isActive={n === page} onClick={(e) => { e.preventDefault() setPage(n) }} > {n} </PaginationLink> </PaginationItem> ))} <PaginationItem> <PaginationNext href="#" onClick={(e) => { e.preventDefault() setPage((p) => Math.min(TOTAL_PAGES, p + 1)) }} /> </PaginationItem> </PaginationContent> </Pagination> </div> )}API Reference
Pagination
Prop
Type
PaginationLink
Prop
Type
PaginationPrevious
Prop
Type
PaginationNext
Prop
Type
Navigation Menu
Top-level site navigation with animated mega-menu dropdowns and active-link states.
Sidebar
Collapsible application sidebar system — provider, rail, header/footer, groups, and a full menu (button, action, badge, sub-menu, skeleton) with cookie-persisted open state and a ⌘B keyboard shortcut.