UNPKG

@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
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 };