'use strict';

var jsxRuntime = require('react/jsx-runtime');
var reactI18next = require('react-i18next');
var utils = require('../utils-CTr7wn5d.js');
var button = require('../button--P7-oIJb.js');
var chevronLeft = require('../chevron-left-BldoOh5p.js');
var ellipsis = require('../ellipsis-4aubOI2n.js');
var chevronRight = require('../chevron-right-0jNdwX2Q.js');
require('react');
require('../index-BZhTddX0.js');
require('../index-DuNgWCXZ.js');
require('../index-D-iDn9RI.js');
require('../createLucideIcon-D0tRgV6l.js');

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

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

exports.Pagination = Pagination;
exports.PaginationContent = PaginationContent;
exports.PaginationEllipsis = PaginationEllipsis;
exports.PaginationItem = PaginationItem;
exports.PaginationLink = PaginationLink;
exports.PaginationNext = PaginationNext;
exports.PaginationPrevious = PaginationPrevious;
//# sourceMappingURL=Pagination.js.map
