{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "table-pagination",
  "type": "registry:ui",
  "title": "Table pagination",
  "description": "Table pagination footer showing Page X of Y with previous and next icon buttons that disable at the first and last page. Wire it to onPageChange in React.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "https://ui.minidev.pro/r/button.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/table-pagination.tsx",
      "type": "registry:ui",
      "target": "components/ui/table-pagination.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\nfunction TablePagination({ page, pageCount, onPageChange, className }: {\n  page: number\n  pageCount: number\n  onPageChange: (page: number) => void\n  className?: string\n}) {\n  return (\n    <div data-slot=\"table-pagination\" className={cn(\"mt-3 flex items-center justify-between gap-3\", className)}>\n      <p className=\"text-xs tabular-nums text-fg-muted\">Page {page} of {Math.max(pageCount, 1)}</p>\n      <div className=\"flex gap-1\">\n        <Button variant=\"outline\" size=\"icon-sm\" aria-label=\"Previous page\" disabled={page <= 1} onClick={() => onPageChange(page - 1)}>\n          <ChevronLeftIcon />\n        </Button>\n        <Button variant=\"outline\" size=\"icon-sm\" aria-label=\"Next page\" disabled={page >= pageCount} onClick={() => onPageChange(page + 1)}>\n          <ChevronRightIcon />\n        </Button>\n      </div>\n    </div>\n  )\n}\nexport { TablePagination }\n"
    }
  ]
}
