lizaui 3.0.33 → 3.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{index-CZu0BZjG.js → index-BTn-tZ5q.js} +8 -8
- package/dist/chunks/{index-CZu0BZjG.js.map → index-BTn-tZ5q.js.map} +1 -1
- package/dist/chunks/{index-BGRkNpAy.js → index-BpSN4GSo.js} +19 -17
- package/dist/chunks/{index-BGRkNpAy.js.map → index-BpSN4GSo.js.map} +1 -1
- package/dist/components/pagination/interface/pagination.interface.d.ts +5 -0
- package/dist/components/pagination/interface/pagination.interface.d.ts.map +1 -1
- package/dist/components/pagination/pagination-item.d.ts +1 -1
- package/dist/components/pagination/pagination-item.d.ts.map +1 -1
- package/dist/components/pagination/pagination.d.ts +1 -1
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/ui/index.d.ts +2 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/radio-group.d.ts +6 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts +14 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/pagination/index.cjs.js +1 -1
- package/dist/pagination/index.cjs.js.map +1 -1
- package/dist/pagination/index.es.js +88 -93
- package/dist/pagination/index.es.js.map +1 -1
- package/dist/ui/index.cjs.js +4 -4
- package/dist/ui/index.cjs.js.map +1 -1
- package/dist/ui/index.es.js +2212 -1898
- package/dist/ui/index.es.js.map +1 -1
- package/package.json +2 -1
|
@@ -7,6 +7,11 @@ export interface PaginationProps extends Partial<Omit<PaginationValueProps, "tot
|
|
|
7
7
|
onChange?: (value: Pick<PaginationValueProps, "page" | "limit">) => void;
|
|
8
8
|
isLimitSelect?: boolean;
|
|
9
9
|
dataLimit?: number[];
|
|
10
|
+
translate?: {
|
|
11
|
+
selectLimit?: string;
|
|
12
|
+
rowPerPage?: string;
|
|
13
|
+
of?: string;
|
|
14
|
+
};
|
|
10
15
|
}
|
|
11
16
|
export interface PaginationItemProps {
|
|
12
17
|
className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.interface.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/interface/pagination.interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,WAAW,eAChB,SAAQ,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EACnD,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;IAEzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pagination.interface.d.ts","sourceRoot":"","sources":["../../../../src/components/pagination/interface/pagination.interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,WAAW,eAChB,SAAQ,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EACnD,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;IAEzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,EAAE,CAAC,EAAE,MAAM,CAAC;KACf,CAAA;CACJ;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAChB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,mBAAmB,EAAE,CACpB,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,KACnD,IAAI,CAAC;CACV"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { PaginationItemProps } from './interface/pagination.interface';
|
|
2
|
-
export declare const PaginationItem: ({ className, color, active, children, text, onClick
|
|
2
|
+
export declare const PaginationItem: ({ className, color, active, children, text, onClick }: PaginationItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=pagination-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-item.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination-item.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,eAAO,MAAM,cAAc,GAAI,
|
|
1
|
+
{"version":3,"file":"pagination-item.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination-item.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,eAAO,MAAM,cAAc,GAAI,uDAAmE,mBAAmB,4CAgCpH,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { PaginationProps } from './interface/pagination.interface';
|
|
2
|
-
export declare const Pagination: ({ className, color, total, limit, page, siblings, isLimitSelect, dataLimit, onChange, }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const Pagination: ({ className, color, total, limit, page, siblings, isLimitSelect, dataLimit, onChange, translate, }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxE,eAAO,MAAM,UAAU,GAAI,
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxE,eAAO,MAAM,UAAU,GAAI,oGAgBxB,eAAe,4CAyGjB,CAAC"}
|
|
@@ -18,6 +18,8 @@ export * from './select';
|
|
|
18
18
|
export * from './scroll-area';
|
|
19
19
|
export * from './input-otp';
|
|
20
20
|
export * from './aspect-ratio';
|
|
21
|
+
export * from './radio-group';
|
|
22
|
+
export * from './sheet';
|
|
21
23
|
export * from './menubar';
|
|
22
24
|
export * from './alert-dialog';
|
|
23
25
|
export * from './confirmation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
3
|
+
declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export { RadioGroup, RadioGroupItem };
|
|
6
|
+
//# sourceMappingURL=radio-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAKnE,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAEjG;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAerG;AAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
3
|
+
declare function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function SheetContent({ className, children, side, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & {
|
|
7
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription };
|
|
14
|
+
//# sourceMappingURL=sheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAKzD,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAE5E;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,2CAEtF;AAED,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAElF;AAmBD,iBAAS,YAAY,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,IAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC3C,2CA2BA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAExE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAExE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAE7F;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,2CAEzG;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../chunks/jsx-runtime-DFswc9zO.js"),p=require("../chunks/bundle-mjs-Bta93uUH.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../chunks/jsx-runtime-DFswc9zO.js"),p=require("../chunks/bundle-mjs-Bta93uUH.js"),b=require("../chunks/index-CeBD7F1N.js"),j=require("react"),g=require("../chunks/clsx-C11secjj.js"),m=require("../chunks/index-BTn-tZ5q.js");require("../chunks/button-CPPU0FsH.js");const R=({className:d,color:e="primary",active:r,children:o,text:t,onClick:l})=>{const c=g.clsx({"bg-primary":e==="primary"&&r,"bg-success":e==="success"&&r,"bg-danger":e==="danger"&&r,"bg-warning":e==="warning"&&r,"bg-default":e==="default"&&r,"dark:hover:bg-default-200 dark:hover:text-default-800":!r}),x=p.twMerge(g.clsx("text-sm",{"group-hover:text-primary-500 dark:group-hover:text-default-800":e==="primary"&&!r,"group-hover:text-success-500 dark:group-hover:text-default-800":e==="success"&&!r,"group-hover:text-danger-500 dark:group-hover:text-default-800":e==="danger"&&!r,"group-hover:text-warning-500 dark:group-hover:text-default-800":e==="warning"&&!r,"group-hover:text-default-500 dark:group-hover:text-default-800":e==="default"&&!r,"text-default-foreground":r&&e==="default","text-primary-foreground":r&&e==="primary","text-success-foreground":r&&e==="success","text-danger-foreground":r&&e==="danger","text-warning-foreground":r&&e==="warning"}));return s.jsxRuntimeExports.jsx("div",{className:p.twMerge("w-[33px] h-[32px] flex items-center justify-center group ",c,d),onClick:l,children:o||s.jsxRuntimeExports.jsx("p",{className:x,children:t})})},y=({page:d,total:e,siblings:r=1})=>{if(7+r>=e)return Array.from({length:e},(n,i)=>i+1);const t=Math.max(d-r,1),l=Math.min(d+r,e),c=t>2,x=l<e-2;if(!c&&x){const n=3+2*r;return[...Array.from({length:n},(a,f)=>f+1),"...",e]}else if(c&&!x){const n=3+2*r;return[1,"...",...Array.from({length:n},(a,f)=>e-n+f+1)]}else return[1,"...",...Array.from({length:l-t+1},(i,a)=>t+a),"...",e]},k=d=>d.map(e=>({id:e,name:e})),v=({className:d,color:e="primary",total:r,limit:o=20,page:t=1,siblings:l=1,isLimitSelect:c=!0,dataLimit:x=[10,15,20,50,100,200],onChange:n,translate:i={selectLimit:"Limites",rowPerPage:"Filas por pagina",of:"de"}})=>{const a=Math.ceil(r/o),f=y({page:t,siblings:l,total:a}),w=k(x),E=u=>{u!=="..."&&n&&n({limit:o,page:Number(u)})},P=()=>{t!==1&&n&&n({limit:o,page:t-1})},N=()=>{t===a||a===0||n&&n({limit:o,page:t+1})},S=u=>{n&&n({page:t,limit:u?Number(u):20})};return s.jsxRuntimeExports.jsxs("div",{className:p.twMerge("flex justify-between gap-x-2 items-center",d),children:[c?s.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2.5",children:[s.jsxRuntimeExports.jsx("div",{children:s.jsxRuntimeExports.jsxs("span",{className:"text-sm text-default-500",children:[(i==null?void 0:i.rowPerPage)||"Filas por pagina",":"]})}),s.jsxRuntimeExports.jsxs(m.Select,{value:o==null?void 0:o.toString(),onValueChange:S,children:[s.jsxRuntimeExports.jsx(m.SelectTrigger,{className:"min-w-20",children:s.jsxRuntimeExports.jsx(m.SelectValue,{placeholder:"Select a fruit"})}),s.jsxRuntimeExports.jsx(m.SelectContent,{children:s.jsxRuntimeExports.jsxs(m.SelectGroup,{children:[s.jsxRuntimeExports.jsx(m.SelectLabel,{children:(i==null?void 0:i.selectLimit)||"Limites"}),w.map(u=>{var h;return s.jsxRuntimeExports.jsx(m.SelectItem,{value:(h=u.id)==null?void 0:h.toString(),children:u.name},u.id)})]})})]}),s.jsxRuntimeExports.jsxs("div",{className:"text-sm text-default-500",children:[s.jsxRuntimeExports.jsx("span",{className:"text-default-500",children:`${t} - ${o}`})," ",(i==null?void 0:i.of)||"de"," ",s.jsxRuntimeExports.jsx("span",{className:"text-default-500",children:r})]})]}):null,s.jsxRuntimeExports.jsxs("div",{className:"flex flex-nowrap h-fit max-w-fit relative items-center overflow-visible gap-0 border border-divider rounded-lg cursor-pointer dark:bg-default-100",children:[s.jsxRuntimeExports.jsx(R,{className:g.clsx(t===1&&"cursor-no-drop","rounded-tl-lg rounded-bl-lg "),onClick:P,children:s.jsxRuntimeExports.jsx(b.IoIosArrowBack,{className:p.twMerge("fill-default-500",g.clsx(t===1&&"fill-default-300"))})}),f.map((u,h)=>s.jsxRuntimeExports.jsx(R,{text:u,active:t===u,color:e,onClick:()=>E(u),className:"border-l border-divider "},h)),s.jsxRuntimeExports.jsx(R,{className:g.clsx("border-l border-divider rounded-tr-lg rounded-br-lg ",(t===a||a===0)&&"cursor-no-drop"),onClick:N,children:s.jsxRuntimeExports.jsx(b.IoIosArrowBack,{className:p.twMerge("fill-default-500 transform rotate-180 ",g.clsx((t===a||a===0)&&"fill-default-300"))})})]})]})},I=({initialPage:d=1,initialLimit:e=20})=>{const[r,o]=j.useState(d),[t,l]=j.useState(e);return{handleSetPagination:j.useCallback(({page:x,limit:n})=>{x!==r&&o(x),n!==t&&l(n)},[t,r]),page:r,limit:t}};exports.Pagination=v;exports.usePagination=I;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/components/pagination/pagination-item.tsx","../../src/components/pagination/function/index.ts","../../src/components/pagination/pagination.tsx","../../src/components/pagination/hook/use-pagination.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { type PaginationItemProps } from \"./interface/pagination.interface\";\nimport clsx from \"clsx\";\n\nexport const PaginationItem = ({\n\tclassName,\n\tcolor = \"primary\",\n\tactive,\n\tchildren,\n\ttext,\n\tonClick,\n}: PaginationItemProps) => {\n\tconst bgClass = clsx({\n\t\t\"bg-primary\": color === \"primary\" && active,\n\t\t\"bg-success\": color === \"success\" && active,\n \"bg-danger\": color === \"danger\" && active,\n \"bg-warning\": color === \"warning\" && active,\n \"bg-default\": color === \"default\" && active,\n\t});\n\tconst colorClass = twMerge(\n\t\tclsx(\"text-sm\", {\n\t\t\t\"group-hover:text-primary-500\": color === \"primary\" && !active,\n\t\t\t\"group-hover:text-success-500\": color === \"success\" && !active,\n \"group-hover:text-danger-500\": color === \"danger\" && !active,\n \"group-hover:text-warning-500\": color === \"warning\" && !active,\n \"group-hover:text-default-500\": color === \"default\" && !active,\n\n\t\t\t\"text-default-foreground\": active && color === \"default\",\n\t\t\t\"text-primary-foreground\": active && color === \"primary\",\n \"text-success-foreground\": active && color === \"success\",\n \"text-danger-foreground\": active && color === \"danger\",\n \"text-warning-foreground\": active && color === \"warning\",\n\t\t})\n\t);\n\n\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t\"w-[33px] h-[32px] flex items-center justify-center group\",\n\t\t\t\tbgClass,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t{children || <p className={colorClass}>{text}</p>}\n\t\t</div>\n\t);\n};\n","import { type PaginationValueProps } from \"../interface/pagination-share.interface\";\n\nexport const FormatPagePagination = ({\n\tpage,\n\ttotal,\n\tsiblings = 1,\n}: PaginationValueProps) => {\n\tconst totalPageNoInArray = 7 + siblings;\n\n\tif (totalPageNoInArray >= total) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst leftSiblingsIndex = Math.max(page - siblings, 1);\n\tconst rightSiblingsIndex = Math.min(page + siblings, total);\n\n\tconst showLeftDots = leftSiblingsIndex > 2;\n\tconst showRightDots = rightSiblingsIndex < total - 2;\n\n\tif (!showLeftDots && showRightDots) {\n\t\tconst leftItemsCount = 3 + 2 * siblings;\n\t\tconst leftRange = Array.from({ length: leftItemsCount }, (_, i) => i + 1);\n\t\treturn [...leftRange, \"...\", total];\n\t} else if (showLeftDots && !showRightDots) {\n\t\tconst rightItemsCount = 3 + 2 * siblings;\n\t\tconst rightRange = Array.from(\n\t\t\t{ length: rightItemsCount },\n\t\t\t(_, i) => total - rightItemsCount + i + 1\n\t\t);\n\t\treturn [1, \"...\", ...rightRange];\n\t} else {\n\t\tconst middleRange = Array.from(\n\t\t\t{ length: rightSiblingsIndex - leftSiblingsIndex + 1 },\n\t\t\t(_, i) => leftSiblingsIndex + i\n\t\t);\n\t\treturn [1, \"...\", ...middleRange, \"...\", total];\n\t}\n};\n\nexport const FormatLimitPagination = (data: number[]) => {\n\treturn data.map((el) => {\n\t\treturn {\n\t\t\tid: el,\n\t\t\tname: el,\n\t\t};\n\t});\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { type PaginationProps } from \"./interface/pagination.interface\";\nimport { FormatLimitPagination, FormatPagePagination } from \"./function\";\nimport clsx from \"clsx\";\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from \"../ui\";\n\nexport const Pagination = ({\n\tclassName,\n\tcolor = \"primary\",\n\n\ttotal,\n\tlimit = 20,\n\tpage = 1,\n\tsiblings = 1,\n\tisLimitSelect = true,\n\tdataLimit = [10, 15, 20, 50, 100, 200],\n\tonChange,\n}: PaginationProps) => {\n\tconst totalPagination = Math.ceil(total / limit);\n\n\tconst dataPageFormat = FormatPagePagination({\n\t\tlimit,\n\t\tpage,\n\t\tsiblings,\n\t\ttotal: totalPagination,\n\t});\n\tconst dataLimitFormat = FormatLimitPagination(dataLimit);\n\n\tconst handleChange = (value: number | string | null) => {\n\t\tif (value === \"...\") return;\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: Number(value),\n\t\t\t});\n\t};\n\n\tconst handlePrev = () => {\n\t\tif (page === 1) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page - 1,\n\t\t\t});\n\t};\n\n\tconst handleNext = () => {\n\t\tif (page === totalPagination || totalPagination === 0) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page + 1,\n\t\t\t});\n\t};\n\n\tconst handleChangeSelect = (value: string) => {\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tpage,\n\t\t\t\tlimit: value ? Number(value) : 20,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className={twMerge(\"flex justify-between gap-x-2 items-center\", className)}>\n\t\t\t{isLimitSelect ? (\n\t\t\t\t<div className=\"flex items-center gap-x-2.5\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span className=\"text-sm text-gray-500\">Filas por pagina</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Select value={limit?.toString()} onValueChange={handleChangeSelect}>\n\t\t\t\t\t\t<SelectTrigger className=\"min-w-20\">\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select a fruit\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t<SelectLabel>Limites</SelectLabel>\n\t\t\t\t\t\t\t\t{dataLimitFormat.map((item) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={item.id} value={item.id?.toString()}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"text-sm text-gray-500\">\n\t\t\t\t\t\t<span className=\"text-gray-900\">{`${page} - ${limit}`}</span> de <span className=\"text-gray-900\">{total}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t<div className=\"flex items-center border border-gray-300 bg-white rounded-lg cursor-pointer\">\n\t\t\t\t<PaginationItem className={clsx(page === 1 && \"cursor-no-drop\")} onClick={handlePrev}>\n\t\t\t\t\t<IoIosArrowBack className={twMerge(\"fill-gray-500\", clsx(page === 1 && \"fill-gray-300\"))} />\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{dataPageFormat.map((el, i) => (\n\t\t\t\t\t<PaginationItem key={i} text={el} active={page === el} color={color} onClick={() => handleChange(el)} className=\"border-l\" />\n\t\t\t\t))}\n\n\t\t\t\t<PaginationItem\n\t\t\t\t\tclassName={clsx(\"border-l\", (page === totalPagination || totalPagination === 0) && \"cursor-no-drop\")}\n\t\t\t\t\tonClick={handleNext}\n\t\t\t\t>\n\t\t\t\t\t<IoIosArrowBack\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"fill-gray-500 transform rotate-180\",\n\t\t\t\t\t\t\tclsx((page === totalPagination || totalPagination === 0) && \"fill-gray-300\"),\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useCallback, useState } from \"react\";\nimport { type PaginationHookProps, type UsePaginationProps } from \"../interface/pagination.interface\";\nimport { type PaginationSetValueProps } from \"../interface/pagination-share.interface\";\n\nexport const usePagination = ({ initialPage = 1, initialLimit = 20 }: UsePaginationProps): PaginationHookProps => {\n\tconst [pageCurrent, setPageCurrent] = useState<number>(initialPage);\n\tconst [limitCurrent, setLimitCurrent] = useState<number>(initialLimit);\n\n\tconst handleSetPagination = useCallback(\n\t\t({ page, limit }: PaginationSetValueProps) => {\n\t\t\tif (page !== pageCurrent) setPageCurrent(page);\n\t\t\tif (limit !== limitCurrent) setLimitCurrent(limit);\n\t\t},\n\t\t[limitCurrent, pageCurrent],\n\t);\n\n\treturn {\n\t\thandleSetPagination,\n\t\tpage: pageCurrent,\n\t\tlimit: limitCurrent,\n\t};\n};\n"],"names":["PaginationItem","className","color","active","children","text","onClick","bgClass","clsx","colorClass","twMerge","jsx","FormatPagePagination","page","total","siblings","_","i","leftSiblingsIndex","rightSiblingsIndex","showLeftDots","showRightDots","leftItemsCount","rightItemsCount","FormatLimitPagination","data","el","Pagination","limit","isLimitSelect","dataLimit","onChange","totalPagination","dataPageFormat","dataLimitFormat","handleChange","value","handlePrev","handleNext","handleChangeSelect","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectLabel","item","SelectItem","_a","IoIosArrowBack","usePagination","initialPage","initialLimit","pageCurrent","setPageCurrent","useState","limitCurrent","setLimitCurrent","useCallback"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/components/pagination/pagination-item.tsx","../../src/components/pagination/function/index.ts","../../src/components/pagination/pagination.tsx","../../src/components/pagination/hook/use-pagination.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { type PaginationItemProps } from \"./interface/pagination.interface\";\nimport clsx from \"clsx\";\n\nexport const PaginationItem = ({ className, color = \"primary\", active, children, text, onClick }: PaginationItemProps) => {\n\tconst bgClass = clsx(\n\t\t{\n\t\t\t\"bg-primary\": color === \"primary\" && active,\n\t\t\t\"bg-success\": color === \"success\" && active,\n\t\t\t\"bg-danger\": color === \"danger\" && active,\n\t\t\t\"bg-warning\": color === \"warning\" && active,\n\t\t\t\"bg-default\": color === \"default\" && active,\n \"dark:hover:bg-default-200 dark:hover:text-default-800\": !active,\n\t\t},\n\t);\n\tconst colorClass = twMerge(\n\t\tclsx(\"text-sm\", {\n\t\t\t\"group-hover:text-primary-500 dark:group-hover:text-default-800\": color === \"primary\" && !active,\n\t\t\t\"group-hover:text-success-500 dark:group-hover:text-default-800\": color === \"success\" && !active,\n\t\t\t\"group-hover:text-danger-500 dark:group-hover:text-default-800\": color === \"danger\" && !active,\n\t\t\t\"group-hover:text-warning-500 dark:group-hover:text-default-800\": color === \"warning\" && !active,\n\t\t\t\"group-hover:text-default-500 dark:group-hover:text-default-800\": color === \"default\" && !active,\n\n\t\t\t\"text-default-foreground\": active && color === \"default\",\n\t\t\t\"text-primary-foreground\": active && color === \"primary\",\n\t\t\t\"text-success-foreground\": active && color === \"success\",\n\t\t\t\"text-danger-foreground\": active && color === \"danger\",\n\t\t\t\"text-warning-foreground\": active && color === \"warning\",\n\t\t}),\n\t);\n\n\treturn (\n\t\t<div className={twMerge(\"w-[33px] h-[32px] flex items-center justify-center group \", bgClass, className)} onClick={onClick}>\n\t\t\t{children || <p className={colorClass}>{text}</p>}\n\t\t</div>\n\t);\n};\n","import { type PaginationValueProps } from \"../interface/pagination-share.interface\";\n\nexport const FormatPagePagination = ({\n\tpage,\n\ttotal,\n\tsiblings = 1,\n}: PaginationValueProps) => {\n\tconst totalPageNoInArray = 7 + siblings;\n\n\tif (totalPageNoInArray >= total) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst leftSiblingsIndex = Math.max(page - siblings, 1);\n\tconst rightSiblingsIndex = Math.min(page + siblings, total);\n\n\tconst showLeftDots = leftSiblingsIndex > 2;\n\tconst showRightDots = rightSiblingsIndex < total - 2;\n\n\tif (!showLeftDots && showRightDots) {\n\t\tconst leftItemsCount = 3 + 2 * siblings;\n\t\tconst leftRange = Array.from({ length: leftItemsCount }, (_, i) => i + 1);\n\t\treturn [...leftRange, \"...\", total];\n\t} else if (showLeftDots && !showRightDots) {\n\t\tconst rightItemsCount = 3 + 2 * siblings;\n\t\tconst rightRange = Array.from(\n\t\t\t{ length: rightItemsCount },\n\t\t\t(_, i) => total - rightItemsCount + i + 1\n\t\t);\n\t\treturn [1, \"...\", ...rightRange];\n\t} else {\n\t\tconst middleRange = Array.from(\n\t\t\t{ length: rightSiblingsIndex - leftSiblingsIndex + 1 },\n\t\t\t(_, i) => leftSiblingsIndex + i\n\t\t);\n\t\treturn [1, \"...\", ...middleRange, \"...\", total];\n\t}\n};\n\nexport const FormatLimitPagination = (data: number[]) => {\n\treturn data.map((el) => {\n\t\treturn {\n\t\t\tid: el,\n\t\t\tname: el,\n\t\t};\n\t});\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { type PaginationProps } from \"./interface/pagination.interface\";\nimport { FormatLimitPagination, FormatPagePagination } from \"./function\";\nimport clsx from \"clsx\";\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from \"../ui\";\n\nexport const Pagination = ({\n\tclassName,\n\tcolor = \"primary\",\n\n\ttotal,\n\tlimit = 20,\n\tpage = 1,\n\tsiblings = 1,\n\tisLimitSelect = true,\n\tdataLimit = [10, 15, 20, 50, 100, 200],\n\tonChange,\n translate = {\n selectLimit: \"Limites\",\n rowPerPage: \"Filas por pagina\",\n of: \"de\",\n },\n}: PaginationProps) => {\n\tconst totalPagination = Math.ceil(total / limit);\n\n\tconst dataPageFormat = FormatPagePagination({\n\t\tlimit,\n\t\tpage,\n\t\tsiblings,\n\t\ttotal: totalPagination,\n\t});\n\tconst dataLimitFormat = FormatLimitPagination(dataLimit);\n\n\tconst handleChange = (value: number | string | null) => {\n\t\tif (value === \"...\") return;\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: Number(value),\n\t\t\t});\n\t};\n\n\tconst handlePrev = () => {\n\t\tif (page === 1) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page - 1,\n\t\t\t});\n\t};\n\n\tconst handleNext = () => {\n\t\tif (page === totalPagination || totalPagination === 0) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page + 1,\n\t\t\t});\n\t};\n\n\tconst handleChangeSelect = (value: string) => {\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tpage,\n\t\t\t\tlimit: value ? Number(value) : 20,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className={twMerge(\"flex justify-between gap-x-2 items-center\", className)}>\n\t\t\t{isLimitSelect ? (\n\t\t\t\t<div className=\"flex items-center gap-x-2.5\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span className=\"text-sm text-default-500\">\n {translate?.rowPerPage || \"Filas por pagina\"}:\n </span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Select value={limit?.toString()} onValueChange={handleChangeSelect}>\n\t\t\t\t\t\t<SelectTrigger className=\"min-w-20\">\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select a fruit\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t<SelectLabel>\n {translate?.selectLimit || \"Limites\"}\n </SelectLabel>\n\t\t\t\t\t\t\t\t{dataLimitFormat.map((item) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={item.id} value={item.id?.toString()}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"text-sm text-default-500\">\n\t\t\t\t\t\t<span className=\"text-default-500\" >{`${page} - ${limit}`}</span> {translate?.of || \"de\"} <span className=\"text-default-500\">{total}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t<div className=\"flex flex-nowrap h-fit max-w-fit relative items-center overflow-visible gap-0 border border-divider rounded-lg cursor-pointer dark:bg-default-100\">\n\t\t\t\t<PaginationItem className={clsx(page === 1 && \"cursor-no-drop\", \"rounded-tl-lg rounded-bl-lg \")} onClick={handlePrev}>\n\t\t\t\t\t<IoIosArrowBack className={twMerge(\"fill-default-500\", clsx(page === 1 && \"fill-default-300\"))} />\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{dataPageFormat.map((el, i) => (\n\t\t\t\t\t<PaginationItem key={i} text={el} active={page === el} color={color} onClick={() => handleChange(el)} className=\"border-l border-divider \" />\n\t\t\t\t))}\n\n\t\t\t\t<PaginationItem\n\t\t\t\t\tclassName={clsx(\"border-l border-divider rounded-tr-lg rounded-br-lg \", (page === totalPagination || totalPagination === 0) && \"cursor-no-drop\")}\n\t\t\t\t\tonClick={handleNext}\n\t\t\t\t>\n\t\t\t\t\t<IoIosArrowBack\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"fill-default-500 transform rotate-180 \",\n\t\t\t\t\t\t\tclsx((page === totalPagination || totalPagination === 0) && \"fill-default-300\"),\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useCallback, useState } from \"react\";\nimport { type PaginationHookProps, type UsePaginationProps } from \"../interface/pagination.interface\";\nimport { type PaginationSetValueProps } from \"../interface/pagination-share.interface\";\n\nexport const usePagination = ({ initialPage = 1, initialLimit = 20 }: UsePaginationProps): PaginationHookProps => {\n\tconst [pageCurrent, setPageCurrent] = useState<number>(initialPage);\n\tconst [limitCurrent, setLimitCurrent] = useState<number>(initialLimit);\n\n\tconst handleSetPagination = useCallback(\n\t\t({ page, limit }: PaginationSetValueProps) => {\n\t\t\tif (page !== pageCurrent) setPageCurrent(page);\n\t\t\tif (limit !== limitCurrent) setLimitCurrent(limit);\n\t\t},\n\t\t[limitCurrent, pageCurrent],\n\t);\n\n\treturn {\n\t\thandleSetPagination,\n\t\tpage: pageCurrent,\n\t\tlimit: limitCurrent,\n\t};\n};\n"],"names":["PaginationItem","className","color","active","children","text","onClick","bgClass","clsx","colorClass","twMerge","jsx","FormatPagePagination","page","total","siblings","_","leftSiblingsIndex","rightSiblingsIndex","showLeftDots","showRightDots","leftItemsCount","i","rightItemsCount","FormatLimitPagination","data","el","Pagination","limit","isLimitSelect","dataLimit","onChange","translate","totalPagination","dataPageFormat","dataLimitFormat","handleChange","value","handlePrev","handleNext","handleChangeSelect","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectLabel","item","SelectItem","_a","IoIosArrowBack","usePagination","initialPage","initialLimit","pageCurrent","setPageCurrent","useState","limitCurrent","setLimitCurrent","useCallback"],"mappings":"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"}
|
|
@@ -1,31 +1,27 @@
|
|
|
1
1
|
import { j as s } from "../chunks/jsx-runtime-BYq8_R6m.js";
|
|
2
|
-
import { t as
|
|
2
|
+
import { t as x } from "../chunks/bundle-mjs-kGHm2Pod.js";
|
|
3
3
|
import { I as j } from "../chunks/index-DK44x_HP.js";
|
|
4
|
-
import { useState as
|
|
5
|
-
import { c as
|
|
6
|
-
import { S as
|
|
4
|
+
import { useState as b, useCallback as k } from "react";
|
|
5
|
+
import { c as m } from "../chunks/clsx-OuTLNxxd.js";
|
|
6
|
+
import { S as v, a as I, b as C, c as L, d as R, e as A, f as F } from "../chunks/index-BpSN4GSo.js";
|
|
7
7
|
import "../chunks/button-C6LoJycL.js";
|
|
8
|
-
const p = ({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"group-hover:text-
|
|
25
|
-
"group-hover:text-success-500": e === "success" && !r,
|
|
26
|
-
"group-hover:text-danger-500": e === "danger" && !r,
|
|
27
|
-
"group-hover:text-warning-500": e === "warning" && !r,
|
|
28
|
-
"group-hover:text-default-500": e === "default" && !r,
|
|
8
|
+
const p = ({ className: l, color: e = "primary", active: r, children: d, text: t, onClick: c }) => {
|
|
9
|
+
const f = m(
|
|
10
|
+
{
|
|
11
|
+
"bg-primary": e === "primary" && r,
|
|
12
|
+
"bg-success": e === "success" && r,
|
|
13
|
+
"bg-danger": e === "danger" && r,
|
|
14
|
+
"bg-warning": e === "warning" && r,
|
|
15
|
+
"bg-default": e === "default" && r,
|
|
16
|
+
"dark:hover:bg-default-200 dark:hover:text-default-800": !r
|
|
17
|
+
}
|
|
18
|
+
), u = x(
|
|
19
|
+
m("text-sm", {
|
|
20
|
+
"group-hover:text-primary-500 dark:group-hover:text-default-800": e === "primary" && !r,
|
|
21
|
+
"group-hover:text-success-500 dark:group-hover:text-default-800": e === "success" && !r,
|
|
22
|
+
"group-hover:text-danger-500 dark:group-hover:text-default-800": e === "danger" && !r,
|
|
23
|
+
"group-hover:text-warning-500 dark:group-hover:text-default-800": e === "warning" && !r,
|
|
24
|
+
"group-hover:text-default-500 dark:group-hover:text-default-800": e === "default" && !r,
|
|
29
25
|
"text-default-foreground": r && e === "default",
|
|
30
26
|
"text-primary-foreground": r && e === "primary",
|
|
31
27
|
"text-success-foreground": r && e === "success",
|
|
@@ -33,112 +29,111 @@ const p = ({
|
|
|
33
29
|
"text-warning-foreground": r && e === "warning"
|
|
34
30
|
})
|
|
35
31
|
);
|
|
36
|
-
return /* @__PURE__ */ s.jsx(
|
|
37
|
-
"div",
|
|
38
|
-
{
|
|
39
|
-
className: f(
|
|
40
|
-
"w-[33px] h-[32px] flex items-center justify-center group",
|
|
41
|
-
m,
|
|
42
|
-
c
|
|
43
|
-
),
|
|
44
|
-
onClick: d,
|
|
45
|
-
children: a || /* @__PURE__ */ s.jsx("p", { className: l, children: t })
|
|
46
|
-
}
|
|
47
|
-
);
|
|
32
|
+
return /* @__PURE__ */ s.jsx("div", { className: x("w-[33px] h-[32px] flex items-center justify-center group ", f, l), onClick: c, children: d || /* @__PURE__ */ s.jsx("p", { className: u, children: t }) });
|
|
48
33
|
}, M = ({
|
|
49
|
-
page:
|
|
34
|
+
page: l,
|
|
50
35
|
total: e,
|
|
51
36
|
siblings: r = 1
|
|
52
37
|
}) => {
|
|
53
38
|
if (7 + r >= e)
|
|
54
|
-
return Array.from({ length: e }, (n,
|
|
55
|
-
const t = Math.max(
|
|
56
|
-
if (!
|
|
39
|
+
return Array.from({ length: e }, (n, a) => a + 1);
|
|
40
|
+
const t = Math.max(l - r, 1), c = Math.min(l + r, e), f = t > 2, u = c < e - 2;
|
|
41
|
+
if (!f && u) {
|
|
57
42
|
const n = 3 + 2 * r;
|
|
58
|
-
return [...Array.from({ length: n }, (
|
|
59
|
-
} else if (
|
|
43
|
+
return [...Array.from({ length: n }, (i, g) => g + 1), "...", e];
|
|
44
|
+
} else if (f && !u) {
|
|
60
45
|
const n = 3 + 2 * r;
|
|
61
46
|
return [1, "...", ...Array.from(
|
|
62
47
|
{ length: n },
|
|
63
|
-
(
|
|
48
|
+
(i, g) => e - n + g + 1
|
|
64
49
|
)];
|
|
65
50
|
} else
|
|
66
51
|
return [1, "...", ...Array.from(
|
|
67
|
-
{ length:
|
|
68
|
-
(
|
|
52
|
+
{ length: c - t + 1 },
|
|
53
|
+
(a, i) => t + i
|
|
69
54
|
), "...", e];
|
|
70
|
-
}, _ = (
|
|
55
|
+
}, _ = (l) => l.map((e) => ({
|
|
71
56
|
id: e,
|
|
72
57
|
name: e
|
|
73
58
|
})), q = ({
|
|
74
|
-
className:
|
|
59
|
+
className: l,
|
|
75
60
|
color: e = "primary",
|
|
76
61
|
total: r,
|
|
77
|
-
limit:
|
|
62
|
+
limit: d = 20,
|
|
78
63
|
page: t = 1,
|
|
79
|
-
siblings:
|
|
80
|
-
isLimitSelect:
|
|
81
|
-
dataLimit:
|
|
82
|
-
onChange: n
|
|
64
|
+
siblings: c = 1,
|
|
65
|
+
isLimitSelect: f = !0,
|
|
66
|
+
dataLimit: u = [10, 15, 20, 50, 100, 200],
|
|
67
|
+
onChange: n,
|
|
68
|
+
translate: a = {
|
|
69
|
+
selectLimit: "Limites",
|
|
70
|
+
rowPerPage: "Filas por pagina",
|
|
71
|
+
of: "de"
|
|
72
|
+
}
|
|
83
73
|
}) => {
|
|
84
|
-
const
|
|
74
|
+
const i = Math.ceil(r / d), g = M({
|
|
85
75
|
page: t,
|
|
86
|
-
siblings:
|
|
87
|
-
total:
|
|
88
|
-
}),
|
|
89
|
-
|
|
90
|
-
limit:
|
|
91
|
-
page: Number(
|
|
76
|
+
siblings: c,
|
|
77
|
+
total: i
|
|
78
|
+
}), N = _(u), w = (o) => {
|
|
79
|
+
o !== "..." && n && n({
|
|
80
|
+
limit: d,
|
|
81
|
+
page: Number(o)
|
|
92
82
|
});
|
|
93
|
-
},
|
|
83
|
+
}, P = () => {
|
|
94
84
|
t !== 1 && n && n({
|
|
95
|
-
limit:
|
|
85
|
+
limit: d,
|
|
96
86
|
page: t - 1
|
|
97
87
|
});
|
|
98
|
-
},
|
|
99
|
-
t ===
|
|
100
|
-
limit:
|
|
88
|
+
}, S = () => {
|
|
89
|
+
t === i || i === 0 || n && n({
|
|
90
|
+
limit: d,
|
|
101
91
|
page: t + 1
|
|
102
92
|
});
|
|
103
|
-
},
|
|
93
|
+
}, y = (o) => {
|
|
104
94
|
n && n({
|
|
105
95
|
page: t,
|
|
106
|
-
limit:
|
|
96
|
+
limit: o ? Number(o) : 20
|
|
107
97
|
});
|
|
108
98
|
};
|
|
109
|
-
return /* @__PURE__ */ s.jsxs("div", { className:
|
|
110
|
-
|
|
111
|
-
/* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
99
|
+
return /* @__PURE__ */ s.jsxs("div", { className: x("flex justify-between gap-x-2 items-center", l), children: [
|
|
100
|
+
f ? /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-x-2.5", children: [
|
|
101
|
+
/* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsxs("span", { className: "text-sm text-default-500", children: [
|
|
102
|
+
(a == null ? void 0 : a.rowPerPage) || "Filas por pagina",
|
|
103
|
+
":"
|
|
104
|
+
] }) }),
|
|
105
|
+
/* @__PURE__ */ s.jsxs(v, { value: d == null ? void 0 : d.toString(), onValueChange: y, children: [
|
|
106
|
+
/* @__PURE__ */ s.jsx(I, { className: "min-w-20", children: /* @__PURE__ */ s.jsx(C, { placeholder: "Select a fruit" }) }),
|
|
107
|
+
/* @__PURE__ */ s.jsx(L, { children: /* @__PURE__ */ s.jsxs(R, { children: [
|
|
108
|
+
/* @__PURE__ */ s.jsx(A, { children: (a == null ? void 0 : a.selectLimit) || "Limites" }),
|
|
109
|
+
N.map((o) => {
|
|
117
110
|
var h;
|
|
118
|
-
return /* @__PURE__ */ s.jsx(F, { value: (h =
|
|
111
|
+
return /* @__PURE__ */ s.jsx(F, { value: (h = o.id) == null ? void 0 : h.toString(), children: o.name }, o.id);
|
|
119
112
|
})
|
|
120
113
|
] }) })
|
|
121
114
|
] }),
|
|
122
|
-
/* @__PURE__ */ s.jsxs("div", { className: "text-sm text-
|
|
123
|
-
/* @__PURE__ */ s.jsx("span", { className: "text-
|
|
124
|
-
"
|
|
125
|
-
|
|
115
|
+
/* @__PURE__ */ s.jsxs("div", { className: "text-sm text-default-500", children: [
|
|
116
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-default-500", children: `${t} - ${d}` }),
|
|
117
|
+
" ",
|
|
118
|
+
(a == null ? void 0 : a.of) || "de",
|
|
119
|
+
" ",
|
|
120
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-default-500", children: r })
|
|
126
121
|
] })
|
|
127
122
|
] }) : null,
|
|
128
|
-
/* @__PURE__ */ s.jsxs("div", { className: "flex items-center border border-
|
|
129
|
-
/* @__PURE__ */ s.jsx(p, { className:
|
|
130
|
-
|
|
123
|
+
/* @__PURE__ */ s.jsxs("div", { className: "flex flex-nowrap h-fit max-w-fit relative items-center overflow-visible gap-0 border border-divider rounded-lg cursor-pointer dark:bg-default-100", children: [
|
|
124
|
+
/* @__PURE__ */ s.jsx(p, { className: m(t === 1 && "cursor-no-drop", "rounded-tl-lg rounded-bl-lg "), onClick: P, children: /* @__PURE__ */ s.jsx(j, { className: x("fill-default-500", m(t === 1 && "fill-default-300")) }) }),
|
|
125
|
+
g.map((o, h) => /* @__PURE__ */ s.jsx(p, { text: o, active: t === o, color: e, onClick: () => w(o), className: "border-l border-divider " }, h)),
|
|
131
126
|
/* @__PURE__ */ s.jsx(
|
|
132
127
|
p,
|
|
133
128
|
{
|
|
134
|
-
className:
|
|
135
|
-
onClick:
|
|
129
|
+
className: m("border-l border-divider rounded-tr-lg rounded-br-lg ", (t === i || i === 0) && "cursor-no-drop"),
|
|
130
|
+
onClick: S,
|
|
136
131
|
children: /* @__PURE__ */ s.jsx(
|
|
137
132
|
j,
|
|
138
133
|
{
|
|
139
|
-
className:
|
|
140
|
-
"fill-
|
|
141
|
-
|
|
134
|
+
className: x(
|
|
135
|
+
"fill-default-500 transform rotate-180 ",
|
|
136
|
+
m((t === i || i === 0) && "fill-default-300")
|
|
142
137
|
)
|
|
143
138
|
}
|
|
144
139
|
)
|
|
@@ -146,12 +141,12 @@ const p = ({
|
|
|
146
141
|
)
|
|
147
142
|
] })
|
|
148
143
|
] });
|
|
149
|
-
}, z = ({ initialPage:
|
|
150
|
-
const [r,
|
|
144
|
+
}, z = ({ initialPage: l = 1, initialLimit: e = 20 }) => {
|
|
145
|
+
const [r, d] = b(l), [t, c] = b(e);
|
|
151
146
|
return {
|
|
152
|
-
handleSetPagination:
|
|
153
|
-
({ page:
|
|
154
|
-
|
|
147
|
+
handleSetPagination: k(
|
|
148
|
+
({ page: u, limit: n }) => {
|
|
149
|
+
u !== r && d(u), n !== t && c(n);
|
|
155
150
|
},
|
|
156
151
|
[t, r]
|
|
157
152
|
),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/components/pagination/pagination-item.tsx","../../src/components/pagination/function/index.ts","../../src/components/pagination/pagination.tsx","../../src/components/pagination/hook/use-pagination.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { type PaginationItemProps } from \"./interface/pagination.interface\";\nimport clsx from \"clsx\";\n\nexport const PaginationItem = ({\n\tclassName,\n\tcolor = \"primary\",\n\tactive,\n\tchildren,\n\ttext,\n\tonClick,\n}: PaginationItemProps) => {\n\tconst bgClass = clsx({\n\t\t\"bg-primary\": color === \"primary\" && active,\n\t\t\"bg-success\": color === \"success\" && active,\n \"bg-danger\": color === \"danger\" && active,\n \"bg-warning\": color === \"warning\" && active,\n \"bg-default\": color === \"default\" && active,\n\t});\n\tconst colorClass = twMerge(\n\t\tclsx(\"text-sm\", {\n\t\t\t\"group-hover:text-primary-500\": color === \"primary\" && !active,\n\t\t\t\"group-hover:text-success-500\": color === \"success\" && !active,\n \"group-hover:text-danger-500\": color === \"danger\" && !active,\n \"group-hover:text-warning-500\": color === \"warning\" && !active,\n \"group-hover:text-default-500\": color === \"default\" && !active,\n\n\t\t\t\"text-default-foreground\": active && color === \"default\",\n\t\t\t\"text-primary-foreground\": active && color === \"primary\",\n \"text-success-foreground\": active && color === \"success\",\n \"text-danger-foreground\": active && color === \"danger\",\n \"text-warning-foreground\": active && color === \"warning\",\n\t\t})\n\t);\n\n\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t\"w-[33px] h-[32px] flex items-center justify-center group\",\n\t\t\t\tbgClass,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t{children || <p className={colorClass}>{text}</p>}\n\t\t</div>\n\t);\n};\n","import { type PaginationValueProps } from \"../interface/pagination-share.interface\";\n\nexport const FormatPagePagination = ({\n\tpage,\n\ttotal,\n\tsiblings = 1,\n}: PaginationValueProps) => {\n\tconst totalPageNoInArray = 7 + siblings;\n\n\tif (totalPageNoInArray >= total) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst leftSiblingsIndex = Math.max(page - siblings, 1);\n\tconst rightSiblingsIndex = Math.min(page + siblings, total);\n\n\tconst showLeftDots = leftSiblingsIndex > 2;\n\tconst showRightDots = rightSiblingsIndex < total - 2;\n\n\tif (!showLeftDots && showRightDots) {\n\t\tconst leftItemsCount = 3 + 2 * siblings;\n\t\tconst leftRange = Array.from({ length: leftItemsCount }, (_, i) => i + 1);\n\t\treturn [...leftRange, \"...\", total];\n\t} else if (showLeftDots && !showRightDots) {\n\t\tconst rightItemsCount = 3 + 2 * siblings;\n\t\tconst rightRange = Array.from(\n\t\t\t{ length: rightItemsCount },\n\t\t\t(_, i) => total - rightItemsCount + i + 1\n\t\t);\n\t\treturn [1, \"...\", ...rightRange];\n\t} else {\n\t\tconst middleRange = Array.from(\n\t\t\t{ length: rightSiblingsIndex - leftSiblingsIndex + 1 },\n\t\t\t(_, i) => leftSiblingsIndex + i\n\t\t);\n\t\treturn [1, \"...\", ...middleRange, \"...\", total];\n\t}\n};\n\nexport const FormatLimitPagination = (data: number[]) => {\n\treturn data.map((el) => {\n\t\treturn {\n\t\t\tid: el,\n\t\t\tname: el,\n\t\t};\n\t});\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { type PaginationProps } from \"./interface/pagination.interface\";\nimport { FormatLimitPagination, FormatPagePagination } from \"./function\";\nimport clsx from \"clsx\";\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from \"../ui\";\n\nexport const Pagination = ({\n\tclassName,\n\tcolor = \"primary\",\n\n\ttotal,\n\tlimit = 20,\n\tpage = 1,\n\tsiblings = 1,\n\tisLimitSelect = true,\n\tdataLimit = [10, 15, 20, 50, 100, 200],\n\tonChange,\n}: PaginationProps) => {\n\tconst totalPagination = Math.ceil(total / limit);\n\n\tconst dataPageFormat = FormatPagePagination({\n\t\tlimit,\n\t\tpage,\n\t\tsiblings,\n\t\ttotal: totalPagination,\n\t});\n\tconst dataLimitFormat = FormatLimitPagination(dataLimit);\n\n\tconst handleChange = (value: number | string | null) => {\n\t\tif (value === \"...\") return;\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: Number(value),\n\t\t\t});\n\t};\n\n\tconst handlePrev = () => {\n\t\tif (page === 1) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page - 1,\n\t\t\t});\n\t};\n\n\tconst handleNext = () => {\n\t\tif (page === totalPagination || totalPagination === 0) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page + 1,\n\t\t\t});\n\t};\n\n\tconst handleChangeSelect = (value: string) => {\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tpage,\n\t\t\t\tlimit: value ? Number(value) : 20,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className={twMerge(\"flex justify-between gap-x-2 items-center\", className)}>\n\t\t\t{isLimitSelect ? (\n\t\t\t\t<div className=\"flex items-center gap-x-2.5\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span className=\"text-sm text-gray-500\">Filas por pagina</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Select value={limit?.toString()} onValueChange={handleChangeSelect}>\n\t\t\t\t\t\t<SelectTrigger className=\"min-w-20\">\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select a fruit\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t<SelectLabel>Limites</SelectLabel>\n\t\t\t\t\t\t\t\t{dataLimitFormat.map((item) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={item.id} value={item.id?.toString()}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"text-sm text-gray-500\">\n\t\t\t\t\t\t<span className=\"text-gray-900\">{`${page} - ${limit}`}</span> de <span className=\"text-gray-900\">{total}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t<div className=\"flex items-center border border-gray-300 bg-white rounded-lg cursor-pointer\">\n\t\t\t\t<PaginationItem className={clsx(page === 1 && \"cursor-no-drop\")} onClick={handlePrev}>\n\t\t\t\t\t<IoIosArrowBack className={twMerge(\"fill-gray-500\", clsx(page === 1 && \"fill-gray-300\"))} />\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{dataPageFormat.map((el, i) => (\n\t\t\t\t\t<PaginationItem key={i} text={el} active={page === el} color={color} onClick={() => handleChange(el)} className=\"border-l\" />\n\t\t\t\t))}\n\n\t\t\t\t<PaginationItem\n\t\t\t\t\tclassName={clsx(\"border-l\", (page === totalPagination || totalPagination === 0) && \"cursor-no-drop\")}\n\t\t\t\t\tonClick={handleNext}\n\t\t\t\t>\n\t\t\t\t\t<IoIosArrowBack\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"fill-gray-500 transform rotate-180\",\n\t\t\t\t\t\t\tclsx((page === totalPagination || totalPagination === 0) && \"fill-gray-300\"),\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useCallback, useState } from \"react\";\nimport { type PaginationHookProps, type UsePaginationProps } from \"../interface/pagination.interface\";\nimport { type PaginationSetValueProps } from \"../interface/pagination-share.interface\";\n\nexport const usePagination = ({ initialPage = 1, initialLimit = 20 }: UsePaginationProps): PaginationHookProps => {\n\tconst [pageCurrent, setPageCurrent] = useState<number>(initialPage);\n\tconst [limitCurrent, setLimitCurrent] = useState<number>(initialLimit);\n\n\tconst handleSetPagination = useCallback(\n\t\t({ page, limit }: PaginationSetValueProps) => {\n\t\t\tif (page !== pageCurrent) setPageCurrent(page);\n\t\t\tif (limit !== limitCurrent) setLimitCurrent(limit);\n\t\t},\n\t\t[limitCurrent, pageCurrent],\n\t);\n\n\treturn {\n\t\thandleSetPagination,\n\t\tpage: pageCurrent,\n\t\tlimit: limitCurrent,\n\t};\n};\n"],"names":["PaginationItem","className","color","active","children","text","onClick","bgClass","clsx","colorClass","twMerge","jsx","FormatPagePagination","page","total","siblings","_","i","leftSiblingsIndex","rightSiblingsIndex","showLeftDots","showRightDots","leftItemsCount","rightItemsCount","FormatLimitPagination","data","el","Pagination","limit","isLimitSelect","dataLimit","onChange","totalPagination","dataPageFormat","dataLimitFormat","handleChange","value","handlePrev","handleNext","handleChangeSelect","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectLabel","item","SelectItem","_a","IoIosArrowBack","usePagination","initialPage","initialLimit","pageCurrent","setPageCurrent","useState","limitCurrent","setLimitCurrent","useCallback"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/components/pagination/pagination-item.tsx","../../src/components/pagination/function/index.ts","../../src/components/pagination/pagination.tsx","../../src/components/pagination/hook/use-pagination.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { type PaginationItemProps } from \"./interface/pagination.interface\";\nimport clsx from \"clsx\";\n\nexport const PaginationItem = ({ className, color = \"primary\", active, children, text, onClick }: PaginationItemProps) => {\n\tconst bgClass = clsx(\n\t\t{\n\t\t\t\"bg-primary\": color === \"primary\" && active,\n\t\t\t\"bg-success\": color === \"success\" && active,\n\t\t\t\"bg-danger\": color === \"danger\" && active,\n\t\t\t\"bg-warning\": color === \"warning\" && active,\n\t\t\t\"bg-default\": color === \"default\" && active,\n \"dark:hover:bg-default-200 dark:hover:text-default-800\": !active,\n\t\t},\n\t);\n\tconst colorClass = twMerge(\n\t\tclsx(\"text-sm\", {\n\t\t\t\"group-hover:text-primary-500 dark:group-hover:text-default-800\": color === \"primary\" && !active,\n\t\t\t\"group-hover:text-success-500 dark:group-hover:text-default-800\": color === \"success\" && !active,\n\t\t\t\"group-hover:text-danger-500 dark:group-hover:text-default-800\": color === \"danger\" && !active,\n\t\t\t\"group-hover:text-warning-500 dark:group-hover:text-default-800\": color === \"warning\" && !active,\n\t\t\t\"group-hover:text-default-500 dark:group-hover:text-default-800\": color === \"default\" && !active,\n\n\t\t\t\"text-default-foreground\": active && color === \"default\",\n\t\t\t\"text-primary-foreground\": active && color === \"primary\",\n\t\t\t\"text-success-foreground\": active && color === \"success\",\n\t\t\t\"text-danger-foreground\": active && color === \"danger\",\n\t\t\t\"text-warning-foreground\": active && color === \"warning\",\n\t\t}),\n\t);\n\n\treturn (\n\t\t<div className={twMerge(\"w-[33px] h-[32px] flex items-center justify-center group \", bgClass, className)} onClick={onClick}>\n\t\t\t{children || <p className={colorClass}>{text}</p>}\n\t\t</div>\n\t);\n};\n","import { type PaginationValueProps } from \"../interface/pagination-share.interface\";\n\nexport const FormatPagePagination = ({\n\tpage,\n\ttotal,\n\tsiblings = 1,\n}: PaginationValueProps) => {\n\tconst totalPageNoInArray = 7 + siblings;\n\n\tif (totalPageNoInArray >= total) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst leftSiblingsIndex = Math.max(page - siblings, 1);\n\tconst rightSiblingsIndex = Math.min(page + siblings, total);\n\n\tconst showLeftDots = leftSiblingsIndex > 2;\n\tconst showRightDots = rightSiblingsIndex < total - 2;\n\n\tif (!showLeftDots && showRightDots) {\n\t\tconst leftItemsCount = 3 + 2 * siblings;\n\t\tconst leftRange = Array.from({ length: leftItemsCount }, (_, i) => i + 1);\n\t\treturn [...leftRange, \"...\", total];\n\t} else if (showLeftDots && !showRightDots) {\n\t\tconst rightItemsCount = 3 + 2 * siblings;\n\t\tconst rightRange = Array.from(\n\t\t\t{ length: rightItemsCount },\n\t\t\t(_, i) => total - rightItemsCount + i + 1\n\t\t);\n\t\treturn [1, \"...\", ...rightRange];\n\t} else {\n\t\tconst middleRange = Array.from(\n\t\t\t{ length: rightSiblingsIndex - leftSiblingsIndex + 1 },\n\t\t\t(_, i) => leftSiblingsIndex + i\n\t\t);\n\t\treturn [1, \"...\", ...middleRange, \"...\", total];\n\t}\n};\n\nexport const FormatLimitPagination = (data: number[]) => {\n\treturn data.map((el) => {\n\t\treturn {\n\t\t\tid: el,\n\t\t\tname: el,\n\t\t};\n\t});\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { type PaginationProps } from \"./interface/pagination.interface\";\nimport { FormatLimitPagination, FormatPagePagination } from \"./function\";\nimport clsx from \"clsx\";\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from \"../ui\";\n\nexport const Pagination = ({\n\tclassName,\n\tcolor = \"primary\",\n\n\ttotal,\n\tlimit = 20,\n\tpage = 1,\n\tsiblings = 1,\n\tisLimitSelect = true,\n\tdataLimit = [10, 15, 20, 50, 100, 200],\n\tonChange,\n translate = {\n selectLimit: \"Limites\",\n rowPerPage: \"Filas por pagina\",\n of: \"de\",\n },\n}: PaginationProps) => {\n\tconst totalPagination = Math.ceil(total / limit);\n\n\tconst dataPageFormat = FormatPagePagination({\n\t\tlimit,\n\t\tpage,\n\t\tsiblings,\n\t\ttotal: totalPagination,\n\t});\n\tconst dataLimitFormat = FormatLimitPagination(dataLimit);\n\n\tconst handleChange = (value: number | string | null) => {\n\t\tif (value === \"...\") return;\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: Number(value),\n\t\t\t});\n\t};\n\n\tconst handlePrev = () => {\n\t\tif (page === 1) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page - 1,\n\t\t\t});\n\t};\n\n\tconst handleNext = () => {\n\t\tif (page === totalPagination || totalPagination === 0) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page + 1,\n\t\t\t});\n\t};\n\n\tconst handleChangeSelect = (value: string) => {\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tpage,\n\t\t\t\tlimit: value ? Number(value) : 20,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className={twMerge(\"flex justify-between gap-x-2 items-center\", className)}>\n\t\t\t{isLimitSelect ? (\n\t\t\t\t<div className=\"flex items-center gap-x-2.5\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span className=\"text-sm text-default-500\">\n {translate?.rowPerPage || \"Filas por pagina\"}:\n </span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Select value={limit?.toString()} onValueChange={handleChangeSelect}>\n\t\t\t\t\t\t<SelectTrigger className=\"min-w-20\">\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select a fruit\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t<SelectLabel>\n {translate?.selectLimit || \"Limites\"}\n </SelectLabel>\n\t\t\t\t\t\t\t\t{dataLimitFormat.map((item) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={item.id} value={item.id?.toString()}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"text-sm text-default-500\">\n\t\t\t\t\t\t<span className=\"text-default-500\" >{`${page} - ${limit}`}</span> {translate?.of || \"de\"} <span className=\"text-default-500\">{total}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t<div className=\"flex flex-nowrap h-fit max-w-fit relative items-center overflow-visible gap-0 border border-divider rounded-lg cursor-pointer dark:bg-default-100\">\n\t\t\t\t<PaginationItem className={clsx(page === 1 && \"cursor-no-drop\", \"rounded-tl-lg rounded-bl-lg \")} onClick={handlePrev}>\n\t\t\t\t\t<IoIosArrowBack className={twMerge(\"fill-default-500\", clsx(page === 1 && \"fill-default-300\"))} />\n\t\t\t\t</PaginationItem>\n\n\t\t\t\t{dataPageFormat.map((el, i) => (\n\t\t\t\t\t<PaginationItem key={i} text={el} active={page === el} color={color} onClick={() => handleChange(el)} className=\"border-l border-divider \" />\n\t\t\t\t))}\n\n\t\t\t\t<PaginationItem\n\t\t\t\t\tclassName={clsx(\"border-l border-divider rounded-tr-lg rounded-br-lg \", (page === totalPagination || totalPagination === 0) && \"cursor-no-drop\")}\n\t\t\t\t\tonClick={handleNext}\n\t\t\t\t>\n\t\t\t\t\t<IoIosArrowBack\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"fill-default-500 transform rotate-180 \",\n\t\t\t\t\t\t\tclsx((page === totalPagination || totalPagination === 0) && \"fill-default-300\"),\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useCallback, useState } from \"react\";\nimport { type PaginationHookProps, type UsePaginationProps } from \"../interface/pagination.interface\";\nimport { type PaginationSetValueProps } from \"../interface/pagination-share.interface\";\n\nexport const usePagination = ({ initialPage = 1, initialLimit = 20 }: UsePaginationProps): PaginationHookProps => {\n\tconst [pageCurrent, setPageCurrent] = useState<number>(initialPage);\n\tconst [limitCurrent, setLimitCurrent] = useState<number>(initialLimit);\n\n\tconst handleSetPagination = useCallback(\n\t\t({ page, limit }: PaginationSetValueProps) => {\n\t\t\tif (page !== pageCurrent) setPageCurrent(page);\n\t\t\tif (limit !== limitCurrent) setLimitCurrent(limit);\n\t\t},\n\t\t[limitCurrent, pageCurrent],\n\t);\n\n\treturn {\n\t\thandleSetPagination,\n\t\tpage: pageCurrent,\n\t\tlimit: limitCurrent,\n\t};\n};\n"],"names":["PaginationItem","className","color","active","children","text","onClick","bgClass","clsx","colorClass","twMerge","jsx","FormatPagePagination","page","total","siblings","_","i","leftSiblingsIndex","rightSiblingsIndex","showLeftDots","showRightDots","leftItemsCount","rightItemsCount","FormatLimitPagination","data","el","Pagination","limit","isLimitSelect","dataLimit","onChange","translate","totalPagination","dataPageFormat","dataLimitFormat","handleChange","value","handlePrev","handleNext","handleChangeSelect","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectLabel","item","SelectItem","_a","IoIosArrowBack","usePagination","initialPage","initialLimit","pageCurrent","setPageCurrent","useState","limitCurrent","setLimitCurrent","useCallback"],"mappings":"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"}
|