import * as React from 'react'; import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react'; import { cn } from '../../shared/utils'; import { Button, buttonVariants } from '../button'; /** * Page navigation controls for paginated data sets. * * @description * Composes horizontal pagination with numbered links, ellipses, and * Previous/Next controls. Follows ARIA navigation landmark patterns. * * @ai-rules * 1. Compose in order: `Pagination > PaginationContent > PaginationItem > (PaginationLink | PaginationNext | PaginationPrevious)`. * 2. In SPAs, set `href="#"` on `` and handle page change via `onClick` to prevent native page reloads. * 3. Mark the currently active page with `isActive={true}` on ``. */ function Pagination({ className, ...props }: React.ComponentProps<'nav'>) { return (