{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "pagination", "title": "Pagination", "description": "Page navigation controls for browsing through paginated content.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button" ], "files": [ { "path": "packages/ui/src/pagination.tsx", "content": "import {\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n ChevronsLeft as ChevronsLeftIcon,\n ChevronsRight as ChevronsRightIcon,\n Ellipsis as MoreHorizontalIcon,\n} from \"lucide-react\";\nimport type * as React from \"react\";\nimport { Button } from \"./button\";\nimport { cn } from \"./utils\";\n\n// ---------------------------------------------------------------------------\n// Pagination\n// ---------------------------------------------------------------------------\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationContent\n// ---------------------------------------------------------------------------\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationItem\n// ---------------------------------------------------------------------------\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return
  • ;\n}\n\n// ---------------------------------------------------------------------------\n// PaginationLink\n// ---------------------------------------------------------------------------\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick, \"size\"> &\n React.ComponentProps<\"a\">;\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon-sm\",\n ...props\n}: PaginationLinkProps) {\n return (\n \n }\n size={size}\n variant={isActive ? \"outline\" : \"ghost\"}\n />\n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationPrevious\n// ---------------------------------------------------------------------------\n\nfunction PaginationPrevious({\n className,\n text = \"Previous\",\n ...props\n}: React.ComponentProps & { text?: string }) {\n return (\n \n \n {text}\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationNext\n// ---------------------------------------------------------------------------\n\nfunction PaginationNext({\n className,\n text = \"Next\",\n ...props\n}: React.ComponentProps & { text?: string }) {\n return (\n \n {text}\n \n \n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationFirst\n// ---------------------------------------------------------------------------\n\nfunction PaginationFirst({\n className,\n ...props\n}: Omit, \"children\">) {\n return (\n \n \n \n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationLast\n// ---------------------------------------------------------------------------\n\nfunction PaginationLast({\n className,\n ...props\n}: Omit, \"children\">) {\n return (\n \n \n \n );\n}\n\n// ---------------------------------------------------------------------------\n// PaginationEllipsis\n// ---------------------------------------------------------------------------\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n \n \n More pages\n \n );\n}\n\n// ---------------------------------------------------------------------------\n// Exports\n// ---------------------------------------------------------------------------\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationFirst,\n PaginationItem,\n PaginationLast,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n", "type": "registry:ui" } ], "type": "registry:ui" }