UNPKG

@rubi_who/shadcn-table-pagination

Version:
12 lines (11 loc) 15.6 kB
"use strict";var e=require("react"),r=require("@tanstack/react-table"),t=require("clsx"),n=require("tailwind-merge"),a=require("lucide-react"),o=require("@radix-ui/react-slot"),s=require("class-variance-authority");function i(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function l(e,r,t){return(r=function(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},c.apply(null,arguments)}function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function f(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(Object(t),!0).forEach(function(r){l(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function d(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==r.indexOf(n))continue;t[n]=e[n]}return t}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],-1===r.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function p(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,a,o,s,i=[],l=!0,c=!1;try{if(o=(t=t.call(e)).next,0===r);else for(;!(l=(n=o.call(t)).done)&&(i.push(n.value),i.length!==r);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=t.return&&(s=t.return(),Object(s)!==s))return}finally{if(c)throw a}}return i}}(e,r)||function(e,r){if(e){if("string"==typeof e)return i(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var m,b={exports:{}},y={};var v,g,h={}; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */function x(){return v||(v=1,"production"!==process.env.NODE_ENV&&function(){function r(e){if(null==e)return null;if("function"==typeof e)return e.$$typeof===O?null:e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case p:return"Fragment";case b:return"Profiler";case m:return"StrictMode";case x:return"Suspense";case j:return"SuspenseList";case k:return"Activity"}if("object"==typeof e)switch("number"==typeof e.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case d:return"Portal";case v:return(e.displayName||"Context")+".Provider";case y:return(e._context.displayName||"Context")+".Consumer";case g:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case N:return null!==(t=e.displayName||null)?t:r(e.type)||"Memo";case w:t=e._payload,e=e._init;try{return r(e(t))}catch(e){}}return null}function t(e){return""+e}function n(e){try{t(e);var r=!1}catch(e){r=!0}if(r){var n=(r=console).error,a="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return n.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",a),t(e)}}function a(e){if(e===p)return"<>";if("object"==typeof e&&null!==e&&e.$$typeof===w)return"<...>";try{var t=r(e);return t?"<"+t+">":"<...>"}catch(e){return"<...>"}}function o(){return Error("react-stack-top-frame")}function s(){var e=r(this.type);return R[e]||(R[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(e=this.props.ref)?e:null}function i(e,t,a,o,i,u,d,p){var m,b=t.children;if(void 0!==b)if(o)if(C(b)){for(o=0;o<b.length;o++)l(b[o]);Object.freeze&&Object.freeze(b)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else l(b);if(_.call(t,"key")){b=r(e);var y=Object.keys(t).filter(function(e){return"key"!==e});o=0<y.length?"{key: someKey, "+y.join(": ..., ")+": ...}":"{key: someKey}",T[b+o]||(y=0<y.length?"{"+y.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',o,b,y,b),T[b+o]=!0)}if(b=null,void 0!==a&&(n(a),b=""+a),function(e){if(_.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return void 0!==e.key}(t)&&(n(t.key),b=""+t.key),"key"in t)for(var v in a={},t)"key"!==v&&(a[v]=t[v]);else a=t;return b&&function(e,r){function t(){c||(c=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(a,"function"==typeof e?e.displayName||e.name||"Unknown":e),function(e,r,t,n,a,o,i,l){return t=o.ref,e={$$typeof:f,type:e,key:r,props:o,_owner:a},null!==(void 0!==t?t:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:s}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:l}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(e,b,u,0,null===(m=S.A)?null:m.getOwner(),a,d,p)}function l(e){"object"==typeof e&&null!==e&&e.$$typeof===f&&e._store&&(e._store.validated=1)}var c,u=e,f=Symbol.for("react.transitional.element"),d=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),y=Symbol.for("react.consumer"),v=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),k=Symbol.for("react.activity"),O=Symbol.for("react.client.reference"),S=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_=Object.prototype.hasOwnProperty,C=Array.isArray,P=console.createTask?console.createTask:function(){return null},R={},z=(u={"react-stack-bottom-frame":function(e){return e()}})["react-stack-bottom-frame"].bind(u,o)(),E=P(a(o)),T={};h.Fragment=p,h.jsx=function(e,r,t,n,o){var s=1e4>S.recentlyCreatedOwnerStacks++;return i(e,r,t,!1,0,o,s?Error("react-stack-top-frame"):z,s?P(a(e)):E)},h.jsxs=function(e,r,t,n,o){var s=1e4>S.recentlyCreatedOwnerStacks++;return i(e,r,t,!0,0,o,s?Error("react-stack-top-frame"):z,s?P(a(e)):E)}}()),h}var j=(g||(g=1,"production"===process.env.NODE_ENV?b.exports=function(){if(m)return y;m=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(r,t,n){var a=null;if(void 0!==n&&(a=""+n),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in n={},t)"key"!==o&&(n[o]=t[o]);else n=t;return t=n.ref,{$$typeof:e,type:r,key:a,ref:void 0!==t?t:null,props:n}}return y.Fragment=r,y.jsx=t,y.jsxs=t,y}():b.exports=x()),b.exports);function N(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return n.twMerge(t.clsx(r))}var w=["className"],k=["className"],O=["className"],S=["className"],_=["className"],C=["className"];function P(e){var r=e.className,t=d(e,w);return j.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:j.jsx("table",f({"data-slot":"table",className:N("w-full caption-bottom text-sm",r)},t))})}function R(e){var r=e.className,t=d(e,k);return j.jsx("thead",f({"data-slot":"table-header",className:N("[&_tr]:border-b",r)},t))}function z(e){var r=e.className,t=d(e,O);return j.jsx("tbody",f({"data-slot":"table-body",className:N("[&_tr:last-child]:border-0",r)},t))}function E(e){var r=e.className,t=d(e,S);return j.jsx("tr",f({"data-slot":"table-row",className:N("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",r)},t))}function T(e){var r=e.className,t=d(e,_);return j.jsx("th",f({"data-slot":"table-head",className:N("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",r)},t))}function A(e){var r=e.className,t=d(e,C);return j.jsx("td",f({"data-slot":"table-cell",className:N("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",r)},t))}var I=["className","variant","size","asChild"],M=s.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});var D=["className"],$=["className"],q=["className","isActive","size"],L=["className"],F=["className"],U=["className"];function V(e){var r=e.className,t=d(e,D);return j.jsx("nav",f({role:"navigation","aria-label":"pagination","data-slot":"pagination",className:N("mx-auto flex w-full justify-center",r)},t))}function H(e){var r=e.className,t=d(e,$);return j.jsx("ul",f({"data-slot":"pagination-content",className:N("flex flex-row items-center gap-1",r)},t))}function G(e){var r=c({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return j.jsx("li",f({"data-slot":"pagination-item"},r))}function W(e){var r=e.className,t=e.isActive,n=e.size,a=void 0===n?"icon":n,o=d(e,q);return j.jsx("a",f({"aria-current":t?"page":void 0,"data-slot":"pagination-link","data-active":t,className:N(M({variant:t?"outline":"ghost",size:a}),r)},o))}function B(e){var r=e.className,t=d(e,L);return j.jsxs(W,f(f({"aria-label":"Go to previous page",size:"default",className:N("gap-1 px-2.5 sm:pl-2.5",r)},t),{},{children:[j.jsx(a.ChevronLeftIcon,{}),j.jsx("span",{className:"hidden sm:block",children:"Previous"})]}))}function J(e){var r=e.className,t=d(e,F);return j.jsxs(W,f(f({"aria-label":"Go to next page",size:"default",className:N("gap-1 px-2.5 sm:pr-2.5",r)},t),{},{children:[j.jsx("span",{className:"hidden sm:block",children:"Next"}),j.jsx(a.ChevronRightIcon,{})]}))}function K(e){var r=e.className,t=d(e,U);return j.jsxs("span",f(f({"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:N("flex size-9 items-center justify-center",r)},t),{},{children:[j.jsx(a.MoreHorizontalIcon,{className:"size-4"}),j.jsx("span",{className:"sr-only",children:"More pages"})]}))}exports.Button=function(e){var r=e.className,t=e.variant,n=e.size,a=e.asChild,s=void 0!==a&&a,i=d(e,I),l=s?o.Slot:"button";return j.jsx(l,f({"data-slot":"button",className:N(M({variant:t,size:n,className:r}))},i))},exports.DataTable=function(t){var n,a=t.columns,o=t.data,s=t.noCase,i=void 0===s?"No data available":s,l=t.itemsPerPage,c=void 0===l?3:l,u=t.tableContainerClassName,f=t.tableHeadClassName,d=t.tableRowClassName,m=t.tableCellClassName,b=t.paginationWrapperClassName,y=t.paginationButtonClassName,v=t.paginationLinkActiveClassName,g=t.paginationLinkInactiveClassName,h=p(e.useState(1),2),x=h[0],w=h[1],k=Math.ceil(o.length/c),O=e.useMemo(function(){var e=(x-1)*c;return o.slice(e,e+c)},[o,x,c]),S=r.useReactTable({data:O,columns:a,getCoreRowModel:r.getCoreRowModel()}),_=function(e){w(e>0&&e<=k?e:1)};return j.jsxs("div",{children:[j.jsx("div",{className:N("rounded-md border",u),children:j.jsxs(P,{children:[j.jsx(R,{children:S.getHeaderGroups().map(function(e){return j.jsx(E,{children:e.headers.map(function(e){return j.jsx(T,{className:N("text-center w-[200px]",f),children:e.isPlaceholder?null:r.flexRender(e.column.columnDef.header,e.getContext())},e.id)})},e.id)})}),j.jsx(z,{children:null!==(n=S.getRowModel().rows)&&void 0!==n&&n.length?S.getRowModel().rows.map(function(e){return j.jsx(E,{"data-state":e.getIsSelected()&&"selected",className:N("border-b hover:bg-muted/50 data-[state=selected]:bg-muted",d),children:e.getVisibleCells().map(function(e){return j.jsx(A,{className:N("p-4",m),children:r.flexRender(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)}):j.jsx(E,{children:j.jsx(A,{colSpan:a.length,className:N("h-24 text-center",m),children:j.jsx("span",{dangerouslySetInnerHTML:{__html:i}})})})})]})}),j.jsx(V,{className:N("mt-5 flex justify-end mb-3",b),children:j.jsxs(H,{className:"flex",children:[j.jsx(G,{children:j.jsx(B,{onClick:function(){_(x-1)},className:N("mr-2 px-3 py-1",1===x,"pointer-events-none opacity-50",y)})}),function(){var e=[];if(k<=3){for(var r=1;r<=k;r++)e.push(r);return e}for(var t=Math.max(1,x-1),n=Math.min(k,t+3-1),a=t;a<=n;a++)e.push(a);return e}().map(function(e){return j.jsx(G,{children:j.jsx(W,{href:"#",onClick:function(){_(e)},className:N(x===e?v||"bg-teal-600 text-white":g),children:e})},e)}),k>3&&x<k-1&&j.jsx(G,{children:j.jsx(K,{})}),j.jsx(G,{children:j.jsx(J,{onClick:function(){_(x+1)},className:N(x===k?"pointer-events-none opacity-50":"",y)})})]})})]})},exports.buttonVariants=M; //# sourceMappingURL=index.cjs.js.map