import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';
import * as React from 'react';
import { cn } from '../../../lib';
import { type ButtonProps, buttonVariants } from '../../forms/button';
import { Link } from '../link';
const Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (
)
Pagination.displayName = "Pagination"
const PaginationContent = React.forwardRef<
HTMLUListElement,
React.ComponentProps<"ul">
>(({ className, ...props }, ref) => (
))
PaginationContent.displayName = "PaginationContent"
const PaginationItem = React.forwardRef<
HTMLLIElement,
React.ComponentProps<"li"> & { key?: React.Key }
>(({ className, ...props }, ref) => (
))
PaginationItem.displayName = "PaginationItem"
type PaginationLinkProps = {
isActive?: boolean
href?: string
} & Pick &
React.ComponentProps<"a">
const PaginationLink = ({
className,
isActive,
size = "icon",
href,
children,
...props
}: PaginationLinkProps) => {
const classes = cn(
buttonVariants({
variant: isActive ? "outline" : "ghost",
size,
}),
className
)
if (href) {
return (
{children}
)
}
return (
{children}
)
}
PaginationLink.displayName = "PaginationLink"
const PaginationPrevious = ({
className,
...props
}: React.ComponentProps) => (
Previous
)
PaginationPrevious.displayName = "PaginationPrevious"
const PaginationNext = ({
className,
...props
}: React.ComponentProps) => (
Next
)
PaginationNext.displayName = "PaginationNext"
const PaginationEllipsis = ({
className,
...props
}: React.ComponentProps<"span">) => (
More pages
)
PaginationEllipsis.displayName = "PaginationEllipsis"
export {
Pagination,
PaginationContent,
PaginationLink,
PaginationItem,
PaginationPrevious,
PaginationNext,
PaginationEllipsis,
}