lizaui 4.0.5 → 4.0.6
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/components/table/body/table-body-column.d.ts +1 -2
- package/dist/components/table/body/table-body-column.d.ts.map +1 -1
- package/dist/components/table/body/table-body-row.d.ts +1 -1
- package/dist/components/table/body/table-body-row.d.ts.map +1 -1
- package/dist/components/table/table.d.ts +2 -2
- package/dist/table/index.cjs.js +1 -1
- package/dist/table/index.cjs.js.map +1 -1
- package/dist/table/index.es.js +157 -150
- package/dist/table/index.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
1
|
import { TableBodyColumnProps } from '../interface/table.interface';
|
|
3
|
-
export declare const TableBodyColumn:
|
|
2
|
+
export declare const TableBodyColumn: import('react').NamedExoticComponent<TableBodyColumnProps & import('react').RefAttributes<HTMLTableCellElement>>;
|
|
4
3
|
//# sourceMappingURL=table-body-column.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-body-column.d.ts","sourceRoot":"","sources":["../../../../src/components/table/body/table-body-column.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-body-column.d.ts","sourceRoot":"","sources":["../../../../src/components/table/body/table-body-column.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,eAAO,MAAM,eAAe,kHAmB3B,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TableBodyRowProps } from '../interface/table.interface';
|
|
2
|
-
export declare const TableBodyRow: import('react').
|
|
2
|
+
export declare const TableBodyRow: import('react').NamedExoticComponent<TableBodyRowProps & import('react').RefAttributes<HTMLTableRowElement>>;
|
|
3
3
|
//# sourceMappingURL=table-body-row.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-body-row.d.ts","sourceRoot":"","sources":["../../../../src/components/table/body/table-body-row.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"table-body-row.d.ts","sourceRoot":"","sources":["../../../../src/components/table/body/table-body-row.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,eAAO,MAAM,YAAY,8GA+CxB,CAAC"}
|
|
@@ -8,7 +8,7 @@ export declare const Table: (({ className, children, classNameContainer, ...prop
|
|
|
8
8
|
SearchRow: React.FC<import('./interface/table.interface').TableSearchRowProps>;
|
|
9
9
|
SearchColumn: React.FC<import('./interface/table.interface').TableSearchColumnProps>;
|
|
10
10
|
Body: <TData extends object>(props: import('./interface/table.interface').TableBodyProps<TData>) => React.JSX.Element;
|
|
11
|
-
BodyRow: React.
|
|
12
|
-
BodyColumn: React.
|
|
11
|
+
BodyRow: React.NamedExoticComponent<import('./interface/table.interface').TableBodyRowProps & React.RefAttributes<HTMLTableRowElement>>;
|
|
12
|
+
BodyColumn: React.NamedExoticComponent<import('./interface/table.interface').TableBodyColumnProps & React.RefAttributes<HTMLTableCellElement>>;
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=table.d.ts.map
|
package/dist/table/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/jsx-runtime-DFswc9zO.js"),e=require("react"),y=require("../chunks/bundle-mjs-khNOOOTB.js"),B=require("../chunks/tooltip-D1K5Rw-5.js"),H=require("../chunks/clsx-C11secjj.js"),k=require("../chunks/checkbox-Ci_VTT7H.js"),M=require("../chunks/v4-CIWTflUD.js"),w=require("../chunks/index-CPGxtjY9.js"),N=e.memo(({children:s,className:r,...n})=>{const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/jsx-runtime-DFswc9zO.js"),e=require("react"),y=require("../chunks/bundle-mjs-khNOOOTB.js"),B=require("../chunks/tooltip-D1K5Rw-5.js"),H=require("../chunks/clsx-C11secjj.js"),k=require("../chunks/checkbox-Ci_VTT7H.js"),M=require("../chunks/v4-CIWTflUD.js"),w=require("../chunks/index-CPGxtjY9.js"),N=e.memo(({children:s,className:r,...n})=>{const i=e.useMemo(()=>y.twMerge("min-h-[100px] sticky top-0 z-10",r),[r]),a=e.useMemo(()=>e.Children.map(s,l=>e.isValidElement(l)?e.cloneElement(l,{...n}):l),[s,n]);return t.jsxRuntimeExports.jsx("thead",{className:i,children:a})});N.displayName="TableHeader";const g=e.memo(({children:s,className:r,style:n={},icon:i=null,text:a="",size:l,header:m})=>{const d=e.useMemo(()=>y.twMerge("px-2 border-b border-divider",r),[r]),p=e.useMemo(()=>({...n,width:l?`${l}px`:n.width,minWidth:l?`${l}px`:n.minWidth}),[n,l]),c=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("th",{className:d,style:p,children:c?t.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-center gap-x-2 font-medium",children:[t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left",children:a}),m?.information&&t.jsxRuntimeExports.jsx(B.Tooltip,{content:m?.information||"",children:t.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",role:"img",className:"text-default-300 cursor-pointer dark:text-foreground-500",width:16,height:16,viewBox:"0 0 24 24",children:t.jsxRuntimeExports.jsxs("g",{fill:"none",children:[t.jsxRuntimeExports.jsx("circle",{cx:12,cy:12,r:10,stroke:"currentColor",strokeWidth:"1.5"}),t.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",d:"M12 17v-6"}),t.jsxRuntimeExports.jsx("circle",{cx:1,cy:1,r:1,fill:"currentColor",transform:"matrix(1 0 0 -1 11 9)"})]})})})]}),t.jsxRuntimeExports.jsx("div",{className:"flex-1 flex",children:i})]}):s})});g.displayName="TableHeaderColumn";const q={color:"primary",disabledKeys:[],isChecks:!0,selectKeys:[],isActions:!0,widthAction:100,totalColumn:0},T=e.createContext(q),R=()=>e.useContext(T);function W({children:s,className:r,data:n=[],textNoData:i="No hay información",isLoading:a=!1,loadingText:l="Cargando ...",...m}){const{totalColumn:d,isActions:p,isChecks:c}=R(),j=Number(d)+Number(p)+Number(c),h=e.useMemo(()=>y.twMerge(r),[r]),b=e.useMemo(()=>typeof s=="function"?n.map((o,f)=>{const u=s({item:o});return e.isValidElement(u)?e.cloneElement(u,{key:f,...m}):null}):e.Children.map(s,o=>e.isValidElement(o)?e.cloneElement(o,{...m}):o),[s,n,m]);let x=null;return a?x=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:j,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center relative",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:l})})})}):n.length===0&&(x=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:j,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:i})})})})),t.jsxRuntimeExports.jsxs("tbody",{className:h,children:[b,x]})}const $=e.memo(s=>t.jsxRuntimeExports.jsx(W,{...s})),S=e.memo(e.forwardRef(({children:s,className:r,keyCurrent:n,onChangeCheck:i,disabled:a,isCheck:l=!0},m)=>{const d=e.useMemo(()=>M.v4(),[]),{isChecks:p,selectKeys:c,disabledKeys:j,color:h}=R(),b=e.useMemo(()=>c?.some(u=>u.id===n.id),[c,n.id]),x=e.useMemo(()=>j?.some(u=>u===n.id),[j,n.id]),o=u=>{x||a||i?.(n,u)},f=e.useMemo(()=>y.twMerge("relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",H.clsx({"bg-content1 dark:hover:bg-default-100 hover:bg-default-100":!b,"bg-default-100 dark:bg-default-200":b}),r),[b,r]);return t.jsxRuntimeExports.jsxs("tr",{className:f,ref:m,children:[p&&t.jsxRuntimeExports.jsx("td",{className:"px-2 py-1",children:l&&t.jsxRuntimeExports.jsx(k.Checkbox,{id:d,onChange:u=>o(u.target.checked),checked:b||!1,className:"flex justify-center",disabled:x||a,color:h})}),s]})}));S.displayName="TableBodyRow";const v=e.memo(e.forwardRef(({children:s,className:r,text:n},i)=>{const a=e.useMemo(()=>y.twMerge("px-2 py-1 text-gray-900 dark:text-default-500",r),[r]),l=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("td",{ref:i,className:a,children:l?t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm",children:n}):s})}));v.displayName="TableBodyColumn";const K=e.memo(({children:s,className:r,dataHeader:n=[],valueCheck:i=!1,disabledCheck:a,onChangeCheck:l,...m})=>{const d=e.useMemo(()=>M.v4(),[]),{isChecks:p,widthAction:c,isActions:j,color:h}=R(),b=o=>{a||l?.(o)},x=e.useMemo(()=>typeof s=="function"?n.map((o,f)=>{const u=s({item:o});return e.isValidElement(u)?e.cloneElement(u,{key:f,...m}):null}):e.Children.map(s,o=>e.isValidElement(o)?e.cloneElement(o,{...m}):o),[s,n,m]);return t.jsxRuntimeExports.jsxs("tr",{className:y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),children:[p&&t.jsxRuntimeExports.jsx(g,{className:"min-w-[40px] w-[40px]",children:t.jsxRuntimeExports.jsx(k.Checkbox,{id:d,onChange:o=>b(o.target.checked),checked:i,className:"flex justify-center",color:h})}),x,j&&t.jsxRuntimeExports.jsx(g,{color:h,style:{minWidth:`${c}px`,width:`${c}px`}})]})});K.displayName="TableHeaderRow";const C=e.memo(({children:s,className:r="",style:n={}})=>{const i=e.useMemo(()=>y.twMerge("table-column-search px-2 border-b border-divider",r),[r]);return t.jsxRuntimeExports.jsx("th",{className:i,style:n,children:s})});C.displayName="TableSearchColumn";const A=e.memo(({children:s,className:r,dataHeader:n=[],...i})=>{const{isChecks:a,widthAction:l,isActions:m}=R(),d=e.useMemo(()=>y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),[r]),p=e.useMemo(()=>typeof s=="function"?n.map((c,j)=>{const h=s({item:c});return e.isValidElement(h)?e.cloneElement(h,{key:j,...i}):null}):e.Children.map(s,c=>e.isValidElement(c)?e.cloneElement(c,{...i}):c),[s,n,i]);return t.jsxRuntimeExports.jsxs("tr",{className:d,children:[a&&t.jsxRuntimeExports.jsx(C,{className:"min-w-[40px] w-[40px]"}),p,m&&t.jsxRuntimeExports.jsx(C,{style:{minWidth:`${l}px`,width:`${l}px`}})]})});A.displayName="TableSearchRow";const V=({className:s,children:r,classNameContainer:n,...i})=>{const{color:a="primary",disabledKeys:l,isChecks:m=!0,selectKeys:d=[],isActions:p=!0,widthAction:c=100,dataHeader:j}=i,h=e.useMemo(()=>y.twMerge("table-main-container w-full border-collapse table-auto",s),[s]),b=e.useMemo(()=>y.twMerge("max-w-full overflow-x-auto overflow-y-auto bg-content1",n),[n]);return t.jsxRuntimeExports.jsx(T.Provider,{value:{color:a,disabledKeys:l,isChecks:m,selectKeys:d,isActions:p,widthAction:c,totalColumn:j?.length||0},children:t.jsxRuntimeExports.jsx("div",{className:b,children:t.jsxRuntimeExports.jsx(w.AnimatePresence,{children:t.jsxRuntimeExports.jsx(w.LazyMotion,{features:()=>Promise.resolve().then(()=>require("../chunks/index-DszQWl56.js")).then(x=>x.domAnimation),children:t.jsxRuntimeExports.jsx("table",{className:h,children:e.Children.map(r,x=>e.isValidElement(x)?e.cloneElement(x,{...i}):x)})})})})})},O=Object.assign(V,{Header:N,HeaderRow:K,HeaderColumn:g,SearchRow:A,SearchColumn:C,Body:$,BodyRow:S,BodyColumn:v}),P=({initialDisabledKeys:s=[],initialSelectKey:r=[],initialValueSearch:n={}})=>{const[i,a]=e.useState(r),[l,m]=e.useState(s),[d,p]=e.useState(n),c=e.useCallback(o=>{a(f=>f.some(E=>E.id===o.id)?f.filter(E=>E.id!==o.id):[...f,o])},[]),j=e.useCallback(o=>{a(o)},[]),h=e.useCallback(o=>{m(o)},[]),b=e.useCallback(()=>{a([])},[]),x=e.useCallback((o,f)=>{p(u=>{const E={...u};return f?E[o]=f:delete E[o],E})},[]);return{selectKeys:i,disabledKeys:l,valueSearch:d,handleSelectKeys:j,handleSelectKey:c,handleDisabledKeys:h,handleSetValueSearch:x,handleResetSelectKeys:b}};exports.Table=O;exports.TableHOC=V;exports.useTable=P;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\n\nexport const TableBodyRow = memo(({ children, className, keyCurrent, onChangeCheck, disabled, isCheck = true }: TableBodyRowProps) => {\n\tconst uui = useMemo(() => uuidv4(), []);\n\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\tconst handleChange = (value: boolean) => {\n\t\tif (disabledCheck || disabled) return;\n\t\tonChangeCheck?.(keyCurrent, value);\n\t};\n\n\tconst rowClass = useMemo(\n\t\t() =>\n\t\t\ttwMerge(\n\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\tclsx({\n\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t}),\n\t\t\t\tclassName,\n\t\t\t),\n\t\t[check, className],\n\t);\n\n\treturn (\n\t\t<tr className={rowClass}>\n\t\t\t{isChecks && (\n\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</td>\n\t\t\t)}\n\t\t\t{children}\n\t\t</tr>\n\t);\n});\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn: FC<TableBodyColumnProps> = React.memo(({ children, className, text }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500\", className), [className]);\n\n\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\treturn <td className={mergedClass}>{isChildrenEmpty ? <p className=\"line-clamp-1 text-sm \">{text}</p> : children}</td>;\n});\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","keyCurrent","onChangeCheck","disabled","isCheck","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text }, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
|
package/dist/table/index.es.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
import { j as e } from "../chunks/jsx-runtime-BYq8_R6m.js";
|
|
2
|
-
import
|
|
3
|
-
import { t as
|
|
4
|
-
import { T as
|
|
5
|
-
import { c as
|
|
6
|
-
import { C as
|
|
7
|
-
import { v as
|
|
8
|
-
import { A as
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
() =>
|
|
2
|
+
import d, { useMemo as m, isValidElement as g, createContext as L, useContext as D, memo as K, forwardRef as R, useState as v, useCallback as N } from "react";
|
|
3
|
+
import { t as j } from "../chunks/bundle-mjs-CIGLE7aZ.js";
|
|
4
|
+
import { T as O } from "../chunks/tooltip-C0yFaK4u.js";
|
|
5
|
+
import { c as P } from "../chunks/clsx-OuTLNxxd.js";
|
|
6
|
+
import { C as A } from "../chunks/checkbox-Poug-ybI.js";
|
|
7
|
+
import { v as E } from "../chunks/v4-CKZ6klMF.js";
|
|
8
|
+
import { A as _, L as q } from "../chunks/index-7JmZ2G2q.js";
|
|
9
|
+
const B = d.memo(({ children: t, className: r, ...s }) => {
|
|
10
|
+
const l = m(() => j("min-h-[100px] sticky top-0 z-10", r), [r]), a = m(
|
|
11
|
+
() => d.Children.map(t, (o) => g(o) ? d.cloneElement(o, { ...s }) : o),
|
|
12
12
|
[t, s]
|
|
13
13
|
);
|
|
14
|
-
return /* @__PURE__ */ e.jsx("thead", { className:
|
|
14
|
+
return /* @__PURE__ */ e.jsx("thead", { className: l, children: a });
|
|
15
15
|
});
|
|
16
|
-
|
|
17
|
-
const k =
|
|
18
|
-
({ children: t, className: r, style: s = {}, icon:
|
|
19
|
-
const
|
|
16
|
+
B.displayName = "TableHeader";
|
|
17
|
+
const k = d.memo(
|
|
18
|
+
({ children: t, className: r, style: s = {}, icon: l = null, text: a = "", size: o, header: i }) => {
|
|
19
|
+
const h = m(() => j("px-2 border-b border-divider", r), [r]), f = m(
|
|
20
20
|
() => ({
|
|
21
21
|
...s,
|
|
22
|
-
width:
|
|
23
|
-
minWidth:
|
|
22
|
+
width: o ? `${o}px` : s.width,
|
|
23
|
+
minWidth: o ? `${o}px` : s.minWidth
|
|
24
24
|
}),
|
|
25
|
-
[s,
|
|
25
|
+
[s, o]
|
|
26
26
|
), c = !t || typeof t == "string" && t.trim() === "";
|
|
27
|
-
return /* @__PURE__ */ e.jsx("th", { className:
|
|
27
|
+
return /* @__PURE__ */ e.jsx("th", { className: h, style: f, children: c ? /* @__PURE__ */ e.jsxs("div", { className: "flex justify-between items-center gap-x-2 font-medium", children: [
|
|
28
28
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
29
29
|
/* @__PURE__ */ e.jsx("p", { className: "line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left", children: a }),
|
|
30
|
-
|
|
30
|
+
i?.information && /* @__PURE__ */ e.jsx(O, { content: i?.information || "", children: /* @__PURE__ */ e.jsx(
|
|
31
31
|
"svg",
|
|
32
32
|
{
|
|
33
33
|
"aria-hidden": "true",
|
|
@@ -44,12 +44,12 @@ const k = i.memo(
|
|
|
44
44
|
}
|
|
45
45
|
) })
|
|
46
46
|
] }),
|
|
47
|
-
/* @__PURE__ */ e.jsx("div", { className: "flex-1 flex", children:
|
|
47
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex-1 flex", children: l })
|
|
48
48
|
] }) : t });
|
|
49
49
|
}
|
|
50
50
|
);
|
|
51
51
|
k.displayName = "TableHeaderColumn";
|
|
52
|
-
const
|
|
52
|
+
const F = {
|
|
53
53
|
color: "primary",
|
|
54
54
|
disabledKeys: [],
|
|
55
55
|
isChecks: !0,
|
|
@@ -57,189 +57,196 @@ const q = {
|
|
|
57
57
|
isActions: !0,
|
|
58
58
|
widthAction: 100,
|
|
59
59
|
totalColumn: 0
|
|
60
|
-
},
|
|
61
|
-
function
|
|
60
|
+
}, H = L(F), S = () => D(H);
|
|
61
|
+
function G({
|
|
62
62
|
children: t,
|
|
63
63
|
className: r,
|
|
64
64
|
data: s = [],
|
|
65
|
-
textNoData:
|
|
65
|
+
textNoData: l = "No hay información",
|
|
66
66
|
isLoading: a = !1,
|
|
67
|
-
loadingText:
|
|
68
|
-
...
|
|
67
|
+
loadingText: o = "Cargando ...",
|
|
68
|
+
...i
|
|
69
69
|
}) {
|
|
70
|
-
const { totalColumn:
|
|
71
|
-
const
|
|
72
|
-
return g(
|
|
73
|
-
key:
|
|
74
|
-
...
|
|
70
|
+
const { totalColumn: h, isActions: f, isChecks: c } = S(), b = Number(h) + Number(f) + Number(c), y = m(() => j(r), [r]), p = m(() => typeof t == "function" ? s.map((n, C) => {
|
|
71
|
+
const u = t({ item: n });
|
|
72
|
+
return g(u) ? d.cloneElement(u, {
|
|
73
|
+
key: C,
|
|
74
|
+
...i
|
|
75
75
|
}) : null;
|
|
76
|
-
}) :
|
|
76
|
+
}) : d.Children.map(
|
|
77
77
|
t,
|
|
78
|
-
(n) => g(n) ?
|
|
79
|
-
...
|
|
78
|
+
(n) => g(n) ? d.cloneElement(n, {
|
|
79
|
+
...i
|
|
80
80
|
}) : n
|
|
81
|
-
), [t, s,
|
|
82
|
-
let
|
|
83
|
-
return a ?
|
|
81
|
+
), [t, s, i]);
|
|
82
|
+
let x = null;
|
|
83
|
+
return a ? x = /* @__PURE__ */ e.jsx("tr", { className: "border-b border-gray-200", children: /* @__PURE__ */ e.jsx("td", { className: "px-2 py-2.5 w-full", colSpan: b, children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center relative", children: /* @__PURE__ */ e.jsx("p", { className: "line-clamp-1 text-sm text-gray-900", children: o }) }) }) }) : s.length === 0 && (x = /* @__PURE__ */ e.jsx("tr", { className: "border-b border-gray-200", children: /* @__PURE__ */ e.jsx("td", { className: "px-2 py-2.5 w-full", colSpan: b, children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ e.jsx("p", { className: "line-clamp-1 text-sm text-gray-900", children: l }) }) }) })), /* @__PURE__ */ e.jsxs("tbody", { className: y, children: [
|
|
84
84
|
p,
|
|
85
|
-
|
|
85
|
+
x
|
|
86
86
|
] });
|
|
87
87
|
}
|
|
88
|
-
const
|
|
89
|
-
(t) => /* @__PURE__ */ e.jsx(
|
|
90
|
-
),
|
|
91
|
-
|
|
92
|
-
p
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
})
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
88
|
+
const I = K(
|
|
89
|
+
(t) => /* @__PURE__ */ e.jsx(G, { ...t })
|
|
90
|
+
), W = K(
|
|
91
|
+
R(({ children: t, className: r, keyCurrent: s, onChangeCheck: l, disabled: a, isCheck: o = !0 }, i) => {
|
|
92
|
+
const h = m(() => E(), []), { isChecks: f, selectKeys: c, disabledKeys: b, color: y } = S(), p = m(() => c?.some((u) => u.id === s.id), [c, s.id]), x = m(() => b?.some((u) => u === s.id), [b, s.id]), n = (u) => {
|
|
93
|
+
x || a || l?.(s, u);
|
|
94
|
+
}, C = m(
|
|
95
|
+
() => j(
|
|
96
|
+
"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",
|
|
97
|
+
P({
|
|
98
|
+
"bg-content1 dark:hover:bg-default-100 hover:bg-default-100": !p,
|
|
99
|
+
"bg-default-100 dark:bg-default-200": p
|
|
100
|
+
}),
|
|
101
|
+
r
|
|
102
|
+
),
|
|
103
|
+
[p, r]
|
|
104
|
+
);
|
|
105
|
+
return /* @__PURE__ */ e.jsxs("tr", { className: C, ref: i, children: [
|
|
106
|
+
f && /* @__PURE__ */ e.jsx("td", { className: "px-2 py-1", children: o && /* @__PURE__ */ e.jsx(
|
|
107
|
+
A,
|
|
108
|
+
{
|
|
109
|
+
id: h,
|
|
110
|
+
onChange: (u) => n(u.target.checked),
|
|
111
|
+
checked: p || !1,
|
|
112
|
+
className: "flex justify-center",
|
|
113
|
+
disabled: x || a,
|
|
114
|
+
color: y
|
|
115
|
+
}
|
|
116
|
+
) }),
|
|
117
|
+
t
|
|
118
|
+
] });
|
|
119
|
+
})
|
|
120
|
+
);
|
|
121
|
+
W.displayName = "TableBodyRow";
|
|
122
|
+
const $ = K(
|
|
123
|
+
R(({ children: t, className: r, text: s }, l) => {
|
|
124
|
+
const a = m(
|
|
125
|
+
() => j("px-2 py-1 text-gray-900 dark:text-default-500", r),
|
|
126
|
+
[r]
|
|
127
|
+
), o = !t || typeof t == "string" && t.trim() === "";
|
|
128
|
+
return /* @__PURE__ */ e.jsx("td", { ref: l, className: a, children: o ? /* @__PURE__ */ e.jsx("p", { className: "line-clamp-1 text-sm", children: s }) : t });
|
|
129
|
+
})
|
|
130
|
+
);
|
|
131
|
+
$.displayName = "TableBodyColumn";
|
|
132
|
+
const M = d.memo(
|
|
133
|
+
({ children: t, className: r, dataHeader: s = [], valueCheck: l = !1, disabledCheck: a, onChangeCheck: o, ...i }) => {
|
|
134
|
+
const h = m(() => E(), []), { isChecks: f, widthAction: c, isActions: b, color: y } = S(), p = (n) => {
|
|
135
|
+
a || o?.(n);
|
|
136
|
+
}, x = m(() => typeof t == "function" ? s.map((n, C) => {
|
|
137
|
+
const u = t({ item: n });
|
|
138
|
+
return g(u) ? d.cloneElement(u, {
|
|
139
|
+
key: C,
|
|
140
|
+
...i
|
|
134
141
|
}) : null;
|
|
135
|
-
}) :
|
|
142
|
+
}) : d.Children.map(
|
|
136
143
|
t,
|
|
137
|
-
(n) => g(n) ?
|
|
138
|
-
...
|
|
144
|
+
(n) => g(n) ? d.cloneElement(n, {
|
|
145
|
+
...i
|
|
139
146
|
}) : n
|
|
140
|
-
), [t, s,
|
|
141
|
-
return /* @__PURE__ */ e.jsxs("tr", { className:
|
|
147
|
+
), [t, s, i]);
|
|
148
|
+
return /* @__PURE__ */ e.jsxs("tr", { className: j("bg-gray-50 dark:bg-default-100 h-[50px]", r), children: [
|
|
142
149
|
f && /* @__PURE__ */ e.jsx(k, { className: "min-w-[40px] w-[40px]", children: /* @__PURE__ */ e.jsx(
|
|
143
|
-
|
|
150
|
+
A,
|
|
144
151
|
{
|
|
145
|
-
id:
|
|
152
|
+
id: h,
|
|
146
153
|
onChange: (n) => p(n.target.checked),
|
|
147
|
-
checked:
|
|
154
|
+
checked: l,
|
|
148
155
|
className: "flex justify-center",
|
|
149
|
-
color:
|
|
156
|
+
color: y
|
|
150
157
|
}
|
|
151
158
|
) }),
|
|
152
|
-
|
|
153
|
-
|
|
159
|
+
x,
|
|
160
|
+
b && /* @__PURE__ */ e.jsx(k, { color: y, style: { minWidth: `${c}px`, width: `${c}px` } })
|
|
154
161
|
] });
|
|
155
162
|
}
|
|
156
163
|
);
|
|
157
|
-
|
|
158
|
-
const T =
|
|
159
|
-
const
|
|
160
|
-
return /* @__PURE__ */ e.jsx("th", { className:
|
|
164
|
+
M.displayName = "TableHeaderRow";
|
|
165
|
+
const T = d.memo(({ children: t, className: r = "", style: s = {} }) => {
|
|
166
|
+
const l = m(() => j("table-column-search px-2 border-b border-divider", r), [r]);
|
|
167
|
+
return /* @__PURE__ */ e.jsx("th", { className: l, style: s, children: t });
|
|
161
168
|
});
|
|
162
169
|
T.displayName = "TableSearchColumn";
|
|
163
|
-
const
|
|
164
|
-
const { isChecks: a, widthAction:
|
|
165
|
-
const
|
|
166
|
-
return g(
|
|
167
|
-
key:
|
|
168
|
-
...
|
|
170
|
+
const V = d.memo(({ children: t, className: r, dataHeader: s = [], ...l }) => {
|
|
171
|
+
const { isChecks: a, widthAction: o, isActions: i } = S(), h = m(() => j("bg-gray-50 dark:bg-default-100 h-[50px]", r), [r]), f = m(() => typeof t == "function" ? s.map((c, b) => {
|
|
172
|
+
const y = t({ item: c });
|
|
173
|
+
return g(y) ? d.cloneElement(y, {
|
|
174
|
+
key: b,
|
|
175
|
+
...l
|
|
169
176
|
}) : null;
|
|
170
|
-
}) :
|
|
177
|
+
}) : d.Children.map(
|
|
171
178
|
t,
|
|
172
|
-
(c) => g(c) ?
|
|
173
|
-
...
|
|
179
|
+
(c) => g(c) ? d.cloneElement(c, {
|
|
180
|
+
...l
|
|
174
181
|
}) : c
|
|
175
|
-
), [t, s,
|
|
176
|
-
return /* @__PURE__ */ e.jsxs("tr", { className:
|
|
182
|
+
), [t, s, l]);
|
|
183
|
+
return /* @__PURE__ */ e.jsxs("tr", { className: h, children: [
|
|
177
184
|
a && /* @__PURE__ */ e.jsx(T, { className: "min-w-[40px] w-[40px]" }),
|
|
178
185
|
f,
|
|
179
|
-
|
|
186
|
+
i && /* @__PURE__ */ e.jsx(T, { style: { minWidth: `${o}px`, width: `${o}px` } })
|
|
180
187
|
] });
|
|
181
188
|
});
|
|
182
|
-
|
|
183
|
-
const
|
|
184
|
-
const { color: a = "primary", disabledKeys:
|
|
189
|
+
V.displayName = "TableSearchRow";
|
|
190
|
+
const J = ({ className: t, children: r, classNameContainer: s, ...l }) => {
|
|
191
|
+
const { color: a = "primary", disabledKeys: o, isChecks: i = !0, selectKeys: h = [], isActions: f = !0, widthAction: c = 100, dataHeader: b } = l, y = m(() => j("table-main-container w-full border-collapse table-auto", t), [t]), p = m(() => j("max-w-full overflow-x-auto overflow-y-auto bg-content1", s), [s]);
|
|
185
192
|
return /* @__PURE__ */ e.jsx(
|
|
186
|
-
|
|
193
|
+
H.Provider,
|
|
187
194
|
{
|
|
188
195
|
value: {
|
|
189
196
|
color: a,
|
|
190
|
-
disabledKeys:
|
|
191
|
-
isChecks:
|
|
192
|
-
selectKeys:
|
|
197
|
+
disabledKeys: o,
|
|
198
|
+
isChecks: i,
|
|
199
|
+
selectKeys: h,
|
|
193
200
|
isActions: f,
|
|
194
201
|
widthAction: c,
|
|
195
|
-
totalColumn:
|
|
202
|
+
totalColumn: b?.length || 0
|
|
196
203
|
},
|
|
197
|
-
children: /* @__PURE__ */ e.jsx("div", { className: p, children: /* @__PURE__ */ e.jsx(
|
|
204
|
+
children: /* @__PURE__ */ e.jsx("div", { className: p, children: /* @__PURE__ */ e.jsx(_, { children: /* @__PURE__ */ e.jsx(q, { features: () => import("../chunks/index-DYnBdpTj.js").then((x) => x.domAnimation), children: /* @__PURE__ */ e.jsx("table", { className: y, children: d.Children.map(
|
|
198
205
|
r,
|
|
199
|
-
(
|
|
200
|
-
...
|
|
201
|
-
}) :
|
|
206
|
+
(x) => g(x) ? d.cloneElement(x, {
|
|
207
|
+
...l
|
|
208
|
+
}) : x
|
|
202
209
|
) }) }) }) })
|
|
203
210
|
}
|
|
204
211
|
);
|
|
205
|
-
},
|
|
206
|
-
Header:
|
|
207
|
-
HeaderRow:
|
|
212
|
+
}, se = Object.assign(J, {
|
|
213
|
+
Header: B,
|
|
214
|
+
HeaderRow: M,
|
|
208
215
|
HeaderColumn: k,
|
|
209
|
-
SearchRow:
|
|
216
|
+
SearchRow: V,
|
|
210
217
|
SearchColumn: T,
|
|
211
|
-
Body:
|
|
212
|
-
BodyRow:
|
|
213
|
-
BodyColumn:
|
|
214
|
-
}),
|
|
215
|
-
const [
|
|
216
|
-
a((
|
|
217
|
-
}, []),
|
|
218
|
+
Body: I,
|
|
219
|
+
BodyRow: W,
|
|
220
|
+
BodyColumn: $
|
|
221
|
+
}), ne = ({ initialDisabledKeys: t = [], initialSelectKey: r = [], initialValueSearch: s = {} }) => {
|
|
222
|
+
const [l, a] = v(r), [o, i] = v(t), [h, f] = v(s), c = N((n) => {
|
|
223
|
+
a((C) => C.some((w) => w.id === n.id) ? C.filter((w) => w.id !== n.id) : [...C, n]);
|
|
224
|
+
}, []), b = N((n) => {
|
|
218
225
|
a(n);
|
|
219
|
-
}, []),
|
|
220
|
-
|
|
226
|
+
}, []), y = N((n) => {
|
|
227
|
+
i(n);
|
|
221
228
|
}, []), p = N(() => {
|
|
222
229
|
a([]);
|
|
223
|
-
}, []),
|
|
224
|
-
f((
|
|
225
|
-
const w = { ...
|
|
226
|
-
return
|
|
230
|
+
}, []), x = N((n, C) => {
|
|
231
|
+
f((u) => {
|
|
232
|
+
const w = { ...u };
|
|
233
|
+
return C ? w[n] = C : delete w[n], w;
|
|
227
234
|
});
|
|
228
235
|
}, []);
|
|
229
236
|
return {
|
|
230
|
-
selectKeys:
|
|
231
|
-
disabledKeys:
|
|
232
|
-
valueSearch:
|
|
233
|
-
handleSelectKeys:
|
|
237
|
+
selectKeys: l,
|
|
238
|
+
disabledKeys: o,
|
|
239
|
+
valueSearch: h,
|
|
240
|
+
handleSelectKeys: b,
|
|
234
241
|
handleSelectKey: c,
|
|
235
|
-
handleDisabledKeys:
|
|
236
|
-
handleSetValueSearch:
|
|
242
|
+
handleDisabledKeys: y,
|
|
243
|
+
handleSetValueSearch: x,
|
|
237
244
|
handleResetSelectKeys: p
|
|
238
245
|
};
|
|
239
246
|
};
|
|
240
247
|
export {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
248
|
+
se as Table,
|
|
249
|
+
J as TableHOC,
|
|
250
|
+
ne as useTable
|
|
244
251
|
};
|
|
245
252
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\n\nexport const TableBodyRow = memo(({ children, className, keyCurrent, onChangeCheck, disabled, isCheck = true }: TableBodyRowProps) => {\n\tconst uui = useMemo(() => uuidv4(), []);\n\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\tconst handleChange = (value: boolean) => {\n\t\tif (disabledCheck || disabled) return;\n\t\tonChangeCheck?.(keyCurrent, value);\n\t};\n\n\tconst rowClass = useMemo(\n\t\t() =>\n\t\t\ttwMerge(\n\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\tclsx({\n\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t}),\n\t\t\t\tclassName,\n\t\t\t),\n\t\t[check, className],\n\t);\n\n\treturn (\n\t\t<tr className={rowClass}>\n\t\t\t{isChecks && (\n\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</td>\n\t\t\t)}\n\t\t\t{children}\n\t\t</tr>\n\t);\n});\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn: FC<TableBodyColumnProps> = React.memo(({ children, className, text }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500\", className), [className]);\n\n\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\treturn <td className={mergedClass}>{isChildrenEmpty ? <p className=\"line-clamp-1 text-sm \">{text}</p> : children}</td>;\n});\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","keyCurrent","onChangeCheck","disabled","isCheck","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text }, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
|