import * as React from "react";
import {
ChevronLeft,
ChevronRight,
ChevronsLeft,
ChevronsRight,
Ellipsis as EllipsisIcon,
} from "lucide-react";
import { baseVariants } from "./variants";
import {
ContentElement,
ContentProps,
EllipsisProps,
InputProps,
ItemElement,
ItemProps,
LabelProps,
ButtonProps,
RootProps,
} from "./Pagination.props";
import { Input as EloquentInput } from "../Input";
import { Button as EloquentButton } from "../Button";
const {
rootVariants,
buttonsVariants,
contentVariants,
ellipsisLabelVariants,
ellipsisVariants,
formButtonVariants,
formInputVariants,
formTextVariants,
formVariants,
iconsVariants,
labelVariants,
} = baseVariants();
const Root = function EloquentPaginationRoot({
className,
...props
}: RootProps) {
return (
);
};
const Content = React.forwardRef(
function EloquentPaginationContent({ className, ...props }, ref) {
return (
);
}
);
const Item = React.forwardRef(
function EloquentPaginationItem({ ...props }, ref) {
return ;
}
);
const Button = function EloquentPaginationButton({
className,
disabled,
size = "icon",
variant = "icon",
isActive = false,
...props
}: ButtonProps) {
return (
);
};
const FirstPage = function EloquentPaginationFirstPage({
className,
...props
}: ButtonProps) {
return (
);
};
const Previous = function EloquentPaginationPrevious({
className,
...props
}: ButtonProps) {
return (
);
};
const LastPage = function EloquentPaginationPrevious({
className,
...props
}: ButtonProps) {
return (
);
};
const Next = function EloquentPaginationNext({
className,
...props
}: ButtonProps) {
return (
);
};
const Ellipsis = function EloquentPaginationEllipsis({
className,
...props
}: EllipsisProps) {
return (
Mais páginas
);
};
const Label = function EloquentPaginationLabel({
className,
current,
total,
...props
}: LabelProps) {
return (
Página {current} de {total}
);
};
const Form = function EloquentPaginationInput({
className,
current,
total,
...props
}: InputProps) {
return (
);
};
export const Pagination = {
Root,
Content,
Button,
Item,
FirstPage,
Previous,
LastPage,
Next,
Ellipsis,
Label,
Form,
};