UNPKG

dgz-ui-shared

Version:

Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library

3 lines (2 loc) 2.36 kB
"use strict";const e=require("react/jsx-runtime"),n=require("dgz-ui/form"),r=require("react-i18next"),t=require("dgz-ui/pagination"),m=require("dgz-ui/utils"),h=require("react"),u=50,b=[{value:10,label:"10"},{value:20,label:"20"},{value:50,label:"50"},{value:100,label:"100"}],p=({defaultValue:s=u,options:l=b,onLimitChange:a})=>{const{t:x}=r.useTranslation();return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"font-semibold",children:[x("Rows per page"),":"]}),e.jsxs(n.Select,{onValueChange:a,value:`${s}`,children:[e.jsx(n.SelectTrigger,{className:"h-8.5 w-17",children:e.jsx(n.SelectValue,{})}),e.jsx(n.SelectContent,{children:l==null?void 0:l.map(o=>e.jsx(n.SelectItem,{value:`${o.value}`,children:o.label},o.value))})]})]})},N=({currentPage:s=1,totalPages:l=0,onPageChange:a,className:x,...o})=>{const{t:j}=r.useTranslation(),v=h.useCallback(()=>{const i=[];i.push(1),s-1>2&&i.push("...");for(let d=Math.max(2,s-1);d<=Math.min(l-1,s+1);d++)i.push(d);return s+1<l-1&&i.push("..."),l>1&&i.push(l),i},[s,l]),f=h.useMemo(()=>{const i=[];for(let c=0;c<l;c++)i.push({value:`${c+1}`,label:`${c+1}`});return i},[l]);return e.jsxs("div",{...o,className:m.cn("flex flex-col items-center justify-end gap-3 lg:flex-row",x),children:[e.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[e.jsxs("div",{className:"min-w-20 font-semibold",children:[j("Go to page"),":"]}),e.jsxs(n.Select,{onValueChange:i=>a(parseInt(i)),value:`${s}`,children:[e.jsx(n.SelectTrigger,{className:"h-8.5 w-16",children:e.jsx(n.SelectValue,{})}),e.jsx(n.VirtualizedSelectContent,{options:f})]})]}),e.jsx(t.Pagination,{className:"justify-end",children:e.jsxs(t.PaginationContent,{children:[e.jsx(t.PaginationItem,{children:e.jsx(t.PaginationPrevious,{isActive:s>1,size:"sm",className:m.cn(s>1?"disabled":"shadow"),onClick:()=>{s>1&&a(s-1)}})}),v().map((i,c)=>e.jsx(t.PaginationItem,{onClick:()=>{typeof i=="number"&&a(i)},children:e.jsx(t.PaginationLink,{size:"sm",className:m.cn("w-9 px-0 text-center",i===s&&"shadow"),isActive:i===s,children:i})},c)),e.jsx(t.PaginationItem,{children:e.jsx(t.PaginationNext,{size:"sm",onClick:()=>{s<l&&a(s+1)},className:m.cn(s<l?"disabled":"shadow"),isActive:s<l})})]})})]})};exports.DEFAULT_LIMIT=u;exports.MyLimitSelect=p;exports.MyPagination=N; //# sourceMappingURL=MyPagination-CnF3468f.cjs.js.map