@llamaindex/ui
Version:
A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications
125 lines (122 loc) • 3.39 kB
JavaScript
import { buttonVariants } from './chunk-NLLOGSY3.mjs';
import { cn } from './chunk-MG2ARK3A.mjs';
import { __objRest, __spreadValues, __spreadProps } from './chunk-FWCSY2DS.mjs';
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
import { jsx, jsxs } from 'react/jsx-runtime';
function Pagination(_a) {
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
return /* @__PURE__ */ jsx(
"nav",
__spreadValues({
role: "navigation",
"aria-label": "pagination",
"data-slot": "pagination",
className: cn("mx-auto flex w-full justify-center", className)
}, props)
);
}
function PaginationContent(_a) {
var _b = _a, {
className
} = _b, props = __objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsx(
"ul",
__spreadValues({
"data-slot": "pagination-content",
className: cn("flex flex-row items-center gap-1", className)
}, props)
);
}
function PaginationItem(_a) {
var props = __objRest(_a, []);
return /* @__PURE__ */ jsx("li", __spreadValues({ "data-slot": "pagination-item" }, props));
}
function PaginationLink(_a) {
var _b = _a, {
className,
isActive,
size = "icon"
} = _b, props = __objRest(_b, [
"className",
"isActive",
"size"
]);
return /* @__PURE__ */ jsx(
"a",
__spreadValues({
"aria-current": isActive ? "page" : void 0,
"data-slot": "pagination-link",
"data-active": isActive,
className: cn(
buttonVariants({
variant: isActive ? "outline" : "ghost",
size
}),
className
)
}, props)
);
}
function PaginationPrevious(_a) {
var _b = _a, {
className
} = _b, props = __objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsxs(
PaginationLink,
__spreadProps(__spreadValues({
"aria-label": "Go to previous page",
size: "default",
className: cn("gap-1 px-2.5 sm:pl-2.5", className)
}, props), {
children: [
/* @__PURE__ */ jsx(ChevronLeftIcon, {}),
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Previous" })
]
})
);
}
function PaginationNext(_a) {
var _b = _a, {
className
} = _b, props = __objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsxs(
PaginationLink,
__spreadProps(__spreadValues({
"aria-label": "Go to next page",
size: "default",
className: cn("gap-1 px-2.5 sm:pr-2.5", className)
}, props), {
children: [
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Next" }),
/* @__PURE__ */ jsx(ChevronRightIcon, {})
]
})
);
}
function PaginationEllipsis(_a) {
var _b = _a, {
className
} = _b, props = __objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsxs(
"span",
__spreadProps(__spreadValues({
"aria-hidden": true,
"data-slot": "pagination-ellipsis",
className: cn("flex size-9 items-center justify-center", className)
}, props), {
children: [
/* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "size-4" }),
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
]
})
);
}
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };