{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "pagination", "title": "Pagination", "description": "Terminal-style pagination that reuses the Button visual language for numbered pages and previous/next controls.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "utils", "button", "theme-catppuccin-mocha", "font-jetbrains-mono" ], "files": [ { "path": "registry/ui/pagination.tsx", "content": "import * as React from \"react\";\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Pagination({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"nav\">) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction PaginationContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"ul\">) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction PaginationItem({\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn
  • ;\n}\n\ntype PaginationLinkProps = React.ComponentProps<\"a\"> & {\n\tisActive?: boolean;\n\tsize?: React.ComponentProps[\"size\"];\n};\n\nfunction PaginationLink({\n\tclassName,\n\tisActive = false,\n\tsize = \"sm\",\n\t...props\n}: PaginationLinkProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction PaginationPrevious({\n\tclassName,\n\tchildren = \"Prev\",\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\nfunction PaginationNext({\n\tclassName,\n\tchildren = \"Next\",\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n}\n\nfunction PaginationEllipsis({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\tMore pages\n\t\t\n\t);\n}\n\nexport {\n\tPagination,\n\tPaginationContent,\n\tPaginationItem,\n\tPaginationLink,\n\tPaginationPrevious,\n\tPaginationNext,\n\tPaginationEllipsis,\n};\n", "type": "registry:ui" } ], "type": "registry:ui" }