import { jsx, jsxs } from 'react/jsx-runtime';
import { useTranslation } from 'react-i18next';
import { c as cn } from '../utils-DdHUxIdC.js';
import { B as Button } from '../button-D6uWDFCs.js';
import { C as ChevronLeft } from '../chevron-left-BDoT8E2-.js';
import { E as Ellipsis } from '../ellipsis-lb8Ws6br.js';
import { C as ChevronRight } from '../chevron-right-DQnrO-ek.js';
import 'react';
import '../index-D7Zy7P05.js';
import '../index-CfriMyrd.js';
import '../index-BtkPdosV.js';
import '../createLucideIcon-C8ycilSN.js';

function Pagination$1({ className, ...props }) {
    return (jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props }));
}
function PaginationContent$1({ className, ...props }) {
    return (jsx("ul", { "data-slot": "pagination-content", className: cn("flex items-center gap-0.5", className), ...props }));
}
function PaginationItem$1({ ...props }) {
    return jsx("li", { "data-slot": "pagination-item", ...props });
}
function PaginationLink$1({ className, isActive, size = "icon", ...props }) {
    return (jsx(Button, { asChild: true, variant: isActive ? "outline" : "ghost", size: size, className: cn(className), children: jsx("a", { "aria-current": isActive ? "page" : undefined, "data-slot": "pagination-link", "data-active": isActive, ...props }) }));
}
function PaginationPrevious$1({ className, text: textProp, ...props }) {
    const { t } = useTranslation();
    const text = textProp ?? t("neetoatoms.pagination.previous", "Previous");
    return (jsxs(PaginationLink$1, { "aria-label": t("neetoatoms.pagination.goToPrevious", "Go to previous page"), size: "default", className: cn("ps-1.5!", className), ...props, children: [jsx(ChevronLeft, { "data-icon": "inline-start", className: "rtl:rotate-180" }), jsx("span", { className: "hidden sm:block", children: text })] }));
}
function PaginationNext$1({ className, text: textProp, ...props }) {
    const { t } = useTranslation();
    const text = textProp ?? t("neetoatoms.pagination.next", "Next");
    return (jsxs(PaginationLink$1, { "aria-label": t("neetoatoms.pagination.goToNext", "Go to next page"), size: "default", className: cn("pe-1.5!", className), ...props, children: [jsx("span", { className: "hidden sm:block", children: text }), jsx(ChevronRight, { "data-icon": "inline-end", className: "rtl:rotate-180" })] }));
}
function PaginationEllipsis$1({ className, ...props }) {
    const { t } = useTranslation();
    return (jsxs("span", { "aria-hidden": true, "data-slot": "pagination-ellipsis", className: cn("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [jsx(Ellipsis, {}), jsx("span", { className: "sr-only", children: t("neetoatoms.pagination.morePages", "More pages") })] }));
}

const Pagination = (props) => (jsx(Pagination$1, { ...props }));
const PaginationContent = (props) => jsx(PaginationContent$1, { ...props });
const PaginationEllipsis = (props) => jsx(PaginationEllipsis$1, { ...props });
const PaginationItem = (props) => jsx(PaginationItem$1, { ...props });
const PaginationLink = (props) => jsx(PaginationLink$1, { ...props });
const PaginationNext = (props) => jsx(PaginationNext$1, { ...props });
const PaginationPrevious = (props) => jsx(PaginationPrevious$1, { ...props });

export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };
//# sourceMappingURL=Pagination.js.map
