UNPKG

@premieroctet/next-admin

Version:

Next-Admin provides a customizable and turnkey admin dashboard for applications built with Next.js and powered by the Prisma ORM. It aims to simplify the development process by providing a turnkey admin system that can be easily integrated into your proje

127 lines (126 loc) 6.58 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.d = (exports1, definition)=>{ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, get: definition[key] }); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { Pagination: ()=>Pagination }); const jsx_runtime_namespaceObject = require("react/jsx-runtime"); const solid_namespaceObject = require("@heroicons/react/20/solid"); const MAX_SHOWN_PAGES = 5; function getShownPagesPagination(pagesTotalNumber, currentPageIndex, separator, maxShownPages) { const currentPage = currentPageIndex + 1; if (pagesTotalNumber <= maxShownPages) return Array.from({ length: pagesTotalNumber }, (_, i)=>i + 1); if (1 === currentPage || 2 === currentPage) return [ 1, 2, 3, separator, pagesTotalNumber ]; if (currentPage === pagesTotalNumber || currentPage === pagesTotalNumber - 1) return [ 1, separator, pagesTotalNumber - 2, pagesTotalNumber - 1, pagesTotalNumber ]; return [ 1, separator, currentPage - 1, currentPage, currentPage + 1, separator, pagesTotalNumber ]; } function Pagination({ currentPageIndex, totalPageCount, onPageChange }) { const getCanNextPage = ()=>currentPageIndex < totalPageCount - 1; const getCanPreviousPage = ()=>currentPageIndex > 0; return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", { className: "bg-nextadmin-background-default dark:bg-dark-nextadmin-background-subtle flex items-center justify-end space-x-2 rounded-md", children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("nav", { className: "isolate inline-flex -space-x-px rounded-md shadow-sm", "aria-label": "Pagination", children: [ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("button", { type: "button", disabled: !getCanPreviousPage(), onClick: ()=>{ onPageChange(currentPageIndex - 1); }, className: "text-nextadmin-content-default dark:text-dark-nextadmin-content-default ring-nextadmin-border-strong dark:ring-dark-nextadmin-border-strong/50 hover:bg-nextadmin-background-subtle dark:hover:bg-dark-nextadmin-background-muted relative inline-flex items-center rounded-l-md px-2 py-2 ring-1 ring-inset focus:z-20 focus:outline-offset-0 disabled:cursor-not-allowed disabled:opacity-50", children: [ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", { className: "sr-only", children: "Previous" }), /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(solid_namespaceObject.ChevronLeftIcon, { className: "h-5 w-5", "aria-hidden": "true" }) ] }), getShownPagesPagination(totalPageCount, currentPageIndex, "\u2026", MAX_SHOWN_PAGES).map((pageNumber, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", { type: "button", "aria-current": "page", onClick: ()=>{ if (isNaN(Number(pageNumber))) return; onPageChange(Number(pageNumber) - 1); }, className: pageNumber === currentPageIndex + 1 ? "bg-nextadmin-brand-default dark:bg-dark-nextadmin-background-muted ring-nextadmin-border-strong dark:ring-dark-nextadmin-border-strong/50 text-nextadmin-brand-inverted dark:text-dark-nextadmin-brand-inverted relative z-10 inline-flex items-center px-4 py-2 text-sm font-semibold focus:z-20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 dark:ring-1 dark:ring-inset" : "ring-nextadmin-border-strong dark:ring-dark-nextadmin-border-strong/5 relative hidden items-center px-4 py-2 text-sm font-semibold text-gray-900 ring-1 ring-inset hover:bg-gray-50 focus:z-20 focus:outline-offset-0 md:inline-flex dark:text-white dark:hover:bg-slate-500", children: pageNumber }, index)), /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("button", { disabled: !getCanNextPage(), type: "button", onClick: ()=>{ onPageChange(currentPageIndex + 1); }, className: "text-nextadmin-content-default dark:text-dark-nextadmin-content-default ring-nextadmin-border-strong dark:ring-dark-nextadmin-border-strong/50 hover:bg-nextadmin-background-subtle dark:hover:bg-dark-nextadmin-background-muted relative inline-flex items-center rounded-r-md px-2 py-2 ring-1 ring-inset focus:z-20 focus:outline-offset-0 disabled:cursor-not-allowed disabled:opacity-50", children: [ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", { className: "sr-only", children: "Next" }), /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(solid_namespaceObject.ChevronRightIcon, { className: "h-5 w-5", "aria-hidden": "true" }) ] }) ] }) }); } exports.Pagination = __webpack_exports__.Pagination; for(var __webpack_i__ in __webpack_exports__)if (-1 === [ "Pagination" ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__]; Object.defineProperty(exports, '__esModule', { value: true });