{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "comp-464",
  "type": "registry:component",
  "title": "Comp 464",
  "description": "Comp 464",
  "files": [
    {
      "path": "registry/ui-basic/comp-464.tsx",
      "content": "import {\n\tPagination,\n\tPaginationContent,\n\tPaginationItem,\n\tPaginationLink,\n} from \"@/components/ui/pagination\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport {\n\tChevronFirstIcon,\n\tChevronLastIcon,\n\tChevronLeftIcon,\n\tChevronRightIcon,\n} from \"lucide-react\";\n\ntype PaginationProps = {\n\tcurrentPage: number;\n\ttotalPages: number;\n\tpaginationItemsToDisplay?: number;\n};\n\nexport default function Component({\n\tcurrentPage,\n\ttotalPages,\n}: PaginationProps) {\n\treturn (\n\t\t<Pagination>\n\t\t\t<PaginationContent>\n\t\t\t\t{/* First page button */}\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationLink\n\t\t\t\t\t\tclassName=\"aria-disabled:pointer-events-none aria-disabled:opacity-50\"\n\t\t\t\t\t\thref={\n\t\t\t\t\t\t\tcurrentPage === 1 ? undefined : `#/page/${currentPage - 1}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label=\"Go to first page\"\n\t\t\t\t\t\taria-disabled={currentPage === 1 ? true : undefined}\n\t\t\t\t\t\trole={currentPage === 1 ? \"link\" : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronFirstIcon size={16} aria-hidden=\"true\" />\n\t\t\t\t\t</PaginationLink>\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{/* Previous page button */}\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationLink\n\t\t\t\t\t\tclassName=\"aria-disabled:pointer-events-none aria-disabled:opacity-50\"\n\t\t\t\t\t\thref={\n\t\t\t\t\t\t\tcurrentPage === 1 ? undefined : `#/page/${currentPage - 1}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label=\"Go to previous page\"\n\t\t\t\t\t\taria-disabled={currentPage === 1 ? true : undefined}\n\t\t\t\t\t\trole={currentPage === 1 ? \"link\" : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronLeftIcon size={16} aria-hidden=\"true\" />\n\t\t\t\t\t</PaginationLink>\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{/* Page number select */}\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdefaultValue={String(currentPage)}\n\t\t\t\t\t\taria-label=\"Select page\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectTrigger\n\t\t\t\t\t\t\tid=\"select-page\"\n\t\t\t\t\t\t\tclassName=\"w-fit whitespace-nowrap\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select page\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t{Array.from({ length: totalPages }, (_, i) => i + 1).map(\n\t\t\t\t\t\t\t\t(page) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={page} value={String(page)}>\n\t\t\t\t\t\t\t\t\t\tPage {page}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{/* Next page button */}\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationLink\n\t\t\t\t\t\tclassName=\"aria-disabled:pointer-events-none aria-disabled:opacity-50\"\n\t\t\t\t\t\thref={\n\t\t\t\t\t\t\tcurrentPage === totalPages\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `#/page/${currentPage + 1}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label=\"Go to next page\"\n\t\t\t\t\t\taria-disabled={currentPage === totalPages ? true : undefined}\n\t\t\t\t\t\trole={currentPage === totalPages ? \"link\" : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronRightIcon size={16} aria-hidden=\"true\" />\n\t\t\t\t\t</PaginationLink>\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{/* Last page button */}\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationLink\n\t\t\t\t\t\tclassName=\"aria-disabled:pointer-events-none aria-disabled:opacity-50\"\n\t\t\t\t\t\thref={\n\t\t\t\t\t\t\tcurrentPage === totalPages\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `#/page/${totalPages}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label=\"Go to last page\"\n\t\t\t\t\t\taria-disabled={currentPage === totalPages ? true : undefined}\n\t\t\t\t\t\trole={currentPage === totalPages ? \"link\" : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronLastIcon size={16} aria-hidden=\"true\" />\n\t\t\t\t\t</PaginationLink>\n\t\t\t\t</PaginationItem>\n\t\t\t</PaginationContent>\n\t\t</Pagination>\n\t);\n}\n",
      "type": "registry:ui"
    }
  ]
}