lizaui 3.0.44 → 3.0.45
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.d.ts +2 -1
- package/dist/components/table/body/table-body.d.ts.map +1 -1
- package/dist/components/table/table.d.ts +1 -2
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/table/index.cjs.js +1 -1
- package/dist/table/index.cjs.js.map +1 -1
- package/dist/table/index.es.js +53 -54
- package/dist/table/index.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
1
2
|
import { TableBodyProps } from '../interface/table.interface';
|
|
2
|
-
export declare
|
|
3
|
+
export declare const TableBody: <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;
|
|
3
4
|
//# sourceMappingURL=table-body.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-body.d.ts","sourceRoot":"","sources":["../../../../src/components/table/body/table-body.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-body.d.ts","sourceRoot":"","sources":["../../../../src/components/table/body/table-body.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,8BAA8B,CAAC;AAuEzF,eAAO,MAAM,SAAS,EAIjB,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TableBody } from './body/table-body';
|
|
2
1
|
import { TableProps } from './interface/table.interface';
|
|
3
2
|
import { default as React } from 'react';
|
|
4
3
|
export declare const TableHOC: ({ className, children, classNameContainer, ...props }: TableProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -8,7 +7,7 @@ export declare const Table: (({ className, children, classNameContainer, ...prop
|
|
|
8
7
|
HeaderColumn: React.FC<import('./interface/table.interface').TableHeaderColumnProps>;
|
|
9
8
|
SearchRow: React.FC<import('./interface/table.interface').TableSearchRowProps>;
|
|
10
9
|
SearchColumn: React.FC<import('./interface/table.interface').TableSearchColumnProps>;
|
|
11
|
-
Body:
|
|
10
|
+
Body: <TData extends object>(props: import('./interface/table.interface').TableBodyProps<TData>) => React.JSX.Element;
|
|
12
11
|
BodyRow: React.MemoExoticComponent<({ children, className, keyCurrent, onChangeCheck, disabled, isCheck }: import('./interface/table.interface').TableBodyRowProps) => import("react/jsx-runtime").JSX.Element>;
|
|
13
12
|
BodyColumn: React.FC<import('./interface/table.interface').TableBodyColumnProps>;
|
|
14
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.tsx"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,UAAU,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAqD,MAAM,OAAO,CAAC;AAE1E,eAAO,MAAM,QAAQ,GAAI,uDAAuD,UAAU,4CA+BzF,CAAC;AAEF,eAAO,MAAM,KAAK,2DAjC8D,UAAU;;;;;;;;;CA8CxF,CAAC"}
|
package/dist/table/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../chunks/jsx-runtime-DFswc9zO.js"),e=require("react"),y=require("../chunks/bundle-mjs-Bta93uUH.js"),B=require("../chunks/tooltip-Dh3LI-sS.js"),A=require("../chunks/clsx-C11secjj.js"),w=require("../chunks/checkbox-D7Bt7i2P.js"),C=require("../chunks/v4-CqU37_Sa.js"),M=e.memo(({children:t,className:o,...n})=>{const r=e.useMemo(()=>y.twMerge("min-h-[100px] sticky top-0 z-10",o),[o]),x=e.useMemo(()=>e.Children.map(t,l=>e.isValidElement(l)?e.cloneElement(l,{...n}):l),[t,n]);return s.jsxRuntimeExports.jsx("thead",{className:r,children:x})});M.displayName="TableHeader";const E=e.memo(({children:t,className:o,style:n={},icon:r=null,text:x="",size:l,header:a})=>{const b=e.useMemo(()=>y.twMerge("px-2 border-b border-divider",o),[o]),u=e.useMemo(()=>({...n,width:l?`${l}px`:n.width,minWidth:l?`${l}px`:n.minWidth}),[n,l]),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../chunks/jsx-runtime-DFswc9zO.js"),e=require("react"),y=require("../chunks/bundle-mjs-Bta93uUH.js"),B=require("../chunks/tooltip-Dh3LI-sS.js"),A=require("../chunks/clsx-C11secjj.js"),w=require("../chunks/checkbox-D7Bt7i2P.js"),C=require("../chunks/v4-CqU37_Sa.js"),M=e.memo(({children:t,className:o,...n})=>{const r=e.useMemo(()=>y.twMerge("min-h-[100px] sticky top-0 z-10",o),[o]),x=e.useMemo(()=>e.Children.map(t,l=>e.isValidElement(l)?e.cloneElement(l,{...n}):l),[t,n]);return s.jsxRuntimeExports.jsx("thead",{className:r,children:x})});M.displayName="TableHeader";const E=e.memo(({children:t,className:o,style:n={},icon:r=null,text:x="",size:l,header:a})=>{const b=e.useMemo(()=>y.twMerge("px-2 border-b border-divider",o),[o]),u=e.useMemo(()=>({...n,width:l?`${l}px`:n.width,minWidth:l?`${l}px`:n.minWidth}),[n,l]),c=!t||typeof t=="string"&&t.trim()==="";return s.jsxRuntimeExports.jsx("th",{className:b,style:u,children:c?s.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-center gap-x-2 font-medium",children:[s.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[s.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left",children:x}),(a==null?void 0:a.information)&&s.jsxRuntimeExports.jsx(B.Tooltip,{content:(a==null?void 0:a.information)||"",children:s.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:s.jsxRuntimeExports.jsxs("g",{fill:"none",children:[s.jsxRuntimeExports.jsx("circle",{cx:12,cy:12,r:10,stroke:"currentColor",strokeWidth:"1.5"}),s.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",d:"M12 17v-6"}),s.jsxRuntimeExports.jsx("circle",{cx:1,cy:1,r:1,fill:"currentColor",transform:"matrix(1 0 0 -1 11 9)"})]})})})]}),s.jsxRuntimeExports.jsx("div",{className:"flex-1 flex",children:r})]}):t})});E.displayName="TableHeaderColumn";const K={color:"primary",disabledKeys:[],isChecks:!0,selectKeys:[],isActions:!0,widthAction:100,totalColumn:0},N=e.createContext(K),g=()=>e.useContext(N);function H({children:t,className:o,data:n=[],textNoData:r="No hay información",isLoading:x=!1,loadingText:l="Cargando ...",...a}){const{totalColumn:b,isActions:u,isChecks:c}=g(),p=Number(b)+Number(u)+Number(c),d=e.useMemo(()=>y.twMerge(o),[o]),h=e.useMemo(()=>typeof t=="function"?n.map((i,j)=>{const f=t({item:i});return e.isValidElement(f)?e.cloneElement(f,{key:j,...a}):null}):e.Children.map(t,i=>e.isValidElement(i)?e.cloneElement(i,{...a}):i),[t,n,a]);let m=null;return x?m=s.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:s.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:p,children:s.jsxRuntimeExports.jsx("div",{className:"flex justify-center relative",children:s.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:l})})})}):n.length===0&&(m=s.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:s.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:p,children:s.jsxRuntimeExports.jsx("div",{className:"flex justify-center",children:s.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:r})})})})),s.jsxRuntimeExports.jsxs("tbody",{className:d,children:[h,m]})}const q=e.memo(t=>s.jsxRuntimeExports.jsx(H,{...t})),T=e.memo(({children:t,className:o,keyCurrent:n,onChangeCheck:r,disabled:x,isCheck:l=!0})=>{const a=e.useMemo(()=>C.v4(),[]),{isChecks:b,selectKeys:u,disabledKeys:c,color:p}=g(),d=e.useMemo(()=>u==null?void 0:u.some(j=>j.id===n.id),[u,n.id]),h=e.useMemo(()=>c==null?void 0:c.some(j=>j===n.id),[c,n.id]),m=j=>{h||x||r==null||r(n,j)},i=e.useMemo(()=>y.twMerge("relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",A.clsx({"bg-content1 dark:hover:bg-default-100 hover:bg-default-100":!d,"bg-default-100 dark:bg-default-200":d}),o),[d,o]);return s.jsxRuntimeExports.jsxs("tr",{className:i,children:[b&&s.jsxRuntimeExports.jsx("td",{className:"px-2 py-1",children:l&&s.jsxRuntimeExports.jsx(w.Checkbox,{id:a,onChange:j=>m(j.target.checked),checked:d||!1,className:"flex justify-center",disabled:h||x,color:p})}),t]})});T.displayName="TableBodyRow";const k=e.memo(({children:t,className:o,text:n})=>{const r=e.useMemo(()=>y.twMerge("px-2 py-1 text-gray-900 dark:text-default-500",o),[o]),x=!t||typeof t=="string"&&t.trim()==="";return s.jsxRuntimeExports.jsx("td",{className:r,children:x?s.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm ",children:n}):t})});k.displayName="TableBodyColumn";const S=e.memo(({children:t,className:o,dataHeader:n=[],valueCheck:r=!1,disabledCheck:x,onChangeCheck:l,...a})=>{const b=e.useMemo(()=>C.v4(),[]),{isChecks:u,widthAction:c,isActions:p,color:d}=g(),h=i=>{x||l==null||l(i)},m=e.useMemo(()=>typeof t=="function"?n.map((i,j)=>{const f=t({item:i});return e.isValidElement(f)?e.cloneElement(f,{key:j,...a}):null}):e.Children.map(t,i=>e.isValidElement(i)?e.cloneElement(i,{...a}):i),[t,n,a]);return s.jsxRuntimeExports.jsxs("tr",{className:y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",o),children:[u&&s.jsxRuntimeExports.jsx(E,{className:"min-w-[40px] w-[40px]",children:s.jsxRuntimeExports.jsx(w.Checkbox,{id:b,onChange:i=>h(i.target.checked),checked:r,className:"flex justify-center",color:d})}),m,p&&s.jsxRuntimeExports.jsx(E,{color:d,style:{minWidth:`${c}px`,width:`${c}px`}})]})});S.displayName="TableHeaderRow";const R=e.memo(({children:t,className:o="",style:n={}})=>{const r=e.useMemo(()=>y.twMerge("table-column-search px-2 border-b border-divider",o),[o]);return s.jsxRuntimeExports.jsx("th",{className:r,style:n,children:t})});R.displayName="TableSearchColumn";const v=e.memo(({children:t,className:o,dataHeader:n=[],...r})=>{const{isChecks:x,widthAction:l,isActions:a}=g(),b=e.useMemo(()=>y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",o),[o]),u=e.useMemo(()=>typeof t=="function"?n.map((c,p)=>{const d=t({item:c});return e.isValidElement(d)?e.cloneElement(d,{key:p,...r}):null}):e.Children.map(t,c=>e.isValidElement(c)?e.cloneElement(c,{...r}):c),[t,n,r]);return s.jsxRuntimeExports.jsxs("tr",{className:b,children:[x&&s.jsxRuntimeExports.jsx(R,{className:"min-w-[40px] w-[40px]"}),u,a&&s.jsxRuntimeExports.jsx(R,{style:{minWidth:`${l}px`,width:`${l}px`}})]})});v.displayName="TableSearchRow";const V=({className:t,children:o,classNameContainer:n,...r})=>{const{color:x="primary",disabledKeys:l,isChecks:a=!0,selectKeys:b=[],isActions:u=!0,widthAction:c=100,dataHeader:p}=r,d=e.useMemo(()=>y.twMerge("table-main-container w-full border-collapse table-auto",t),[t]),h=e.useMemo(()=>y.twMerge("max-w-full overflow-x-auto overflow-y-auto bg-content1",n),[n]);return s.jsxRuntimeExports.jsx(N.Provider,{value:{color:x,disabledKeys:l,isChecks:a,selectKeys:b,isActions:u,widthAction:c,totalColumn:(p==null?void 0:p.length)||0},children:s.jsxRuntimeExports.jsx("div",{className:h,children:s.jsxRuntimeExports.jsx("table",{className:d,children:e.Children.map(o,m=>e.isValidElement(m)?e.cloneElement(m,{...r}):m)})})})},W=Object.assign(V,{Header:M,HeaderRow:S,HeaderColumn:E,SearchRow:v,SearchColumn:R,Body:q,BodyRow:T,BodyColumn:k}),$=({initialDisabledKeys:t=[],initialSelectKey:o=[],initialValueSearch:n={}})=>{const[r,x]=e.useState(o),[l,a]=e.useState(t),[b,u]=e.useState(n),c=e.useCallback(m=>{x(i=>i.some(f=>f.id===m.id)?i.filter(f=>f.id!==m.id):[...i,m])},[]),p=e.useCallback(m=>{x(m)},[]),d=e.useCallback(m=>{a(m)},[]),h=e.useCallback((m,i)=>{u(j=>{const f={...j};return i?f[m]=i:delete f[m],f})},[]);return{selectKeys:r,disabledKeys:l,valueSearch:b,handleSelectKeys:p,handleSelectKey:c,handleDisabledKeys:d,handleSetValueSearch:h}};exports.Table=W;exports.TableHOC=V;exports.useTable=$;
|
|
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, 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 function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n\treturn <TableBodyComponent {...props} />;\n}\n\n// const MemoizedTableBody = React.memo(TableBodyComponent);\n\n// export const TableBody = Object.assign(MemoizedTableBody, {\n// \tdisplayName: \"TableBody\",\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 {\n\ttype TableProps,\n} from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\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<table className={tableClass}>\n\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t)}\n\t\t\t\t</table>\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\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\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","TableBodyRow","memo","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","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleSetValueSearch","key","newState"],"mappings":"2WAKaA,EAAoCC,EAAM,KAAK,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,GAAGC,KAAY,CAC5F,MAAAC,EAAcC,UAAQ,IAAMC,EAAA,QAAQ,kCAAmCJ,CAAS,EAAG,CAACA,CAAS,CAAC,EAE9FK,EAAiBF,EAAA,QACtB,IAAML,EAAM,SAAS,IAAIC,EAAWO,GAAWC,iBAAeD,CAAK,EAAIR,EAAM,aAAaQ,EAAuB,CAAE,GAAGL,CAAM,CAAC,EAAIK,CAAM,EACvI,CAACP,EAAUE,CAAK,CACjB,EAEA,OAAQO,EAAAA,kBAAAA,IAAA,QAAA,CAAM,UAAWN,EAAc,SAAeG,EAAA,CACvD,CAAC,EACDR,EAAY,YAAc,cCVnB,MAAMY,EAAgDX,EAAM,KAClE,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,MAAAU,EAAQ,CAAA,EAAI,KAAAC,EAAO,KAAM,KAAAC,EAAO,GAAI,KAAAC,EAAM,OAAAC,KAAa,CACxE,MAAAZ,EAAcC,UAAQ,IAAMC,EAAA,QAAQ,+BAAgCJ,CAAS,EAAG,CAACA,CAAS,CAAC,EAE3Fe,EAAcZ,EAAA,QACnB,KAAO,CACN,GAAGO,EACH,MAAOG,EAAO,GAAGA,CAAI,KAAOH,EAAM,MAClC,SAAUG,EAAO,GAAGA,CAAI,KAAOH,EAAM,QAAA,GAEtC,CAACA,EAAOG,CAAI,CACb,EAEMG,EAAkB,CAACjB,GAAa,OAAOA,GAAa,UAAYA,EAAS,SAAW,GAGzF,OAAAS,EAAAA,kBAAAA,IAAC,KAAG,CAAA,UAAWN,EAAa,MAAOa,EACjC,SACAC,EAAAC,EAAA,kBAAA,KAAC,MAAI,CAAA,UAAU,wDACd,SAAA,CAACA,EAAAA,kBAAAA,KAAA,MAAA,CAAI,UAAU,6BACd,SAAA,CAACT,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,wEAAyE,SAAKI,EAAA,GAC1FE,GAAA,YAAAA,EAAQ,cACRN,EAAA,kBAAA,IAACU,WAAQ,SAASJ,GAAA,YAAAA,EAAQ,cAAe,GACxC,SAAAN,EAAA,kBAAA,IAAC,MAAA,CACA,cAAY,OACZ,KAAK,MACL,UAAU,2DACV,MAAO,GACP,OAAQ,GACR,QAAQ,YAER,SAAAS,EAAA,kBAAA,KAAC,IAAE,CAAA,KAAK,OACP,SAAA,CAACT,EAAAA,kBAAAA,IAAA,SAAA,CAAO,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,OAAO,eAAe,YAAY,KAAM,CAAA,EACvEA,EAAAA,kBAAAA,IAAC,QAAK,OAAO,eAAe,cAAc,QAAQ,YAAY,MAAM,EAAE,WAAY,CAAA,EAClFA,EAAAA,kBAAAA,IAAC,SAAO,CAAA,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,KAAK,eAAe,UAAU,uBAAwB,CAAA,CAAA,CACnF,CAAA,CAAA,CAAA,CAEF,CAAA,CAAA,EAEF,EACCA,EAAA,kBAAA,IAAA,MAAA,CAAI,UAAU,cAAe,SAAKG,CAAA,CAAA,CAAA,CACpC,CAAA,EAEAZ,EAEF,CAAA,CAGH,EACAU,EAAkB,YAAc,oBClDhC,MAAMU,EAAmC,CACxC,MAAO,UACP,aAAc,CAAC,EACf,SAAU,GACV,WAAY,CAAC,EACb,UAAW,GACX,YAAa,IACb,YAAa,CACd,EAEaC,EAAeC,gBAAiCF,CAAa,ECX7DG,EAAkB,IACvBC,EAAAA,WAAWH,CAAY,ECE/B,SAASI,EAAyC,CACjD,SAAAzB,EACA,UAAAC,EACA,KAAAyB,EAAO,CAAC,EACR,WAAAC,EAAa,qBACb,UAAAC,EAAY,GACZ,YAAAC,EAAc,eACd,GAAG3B,CACJ,EAA0B,CACxB,KAAM,CAAE,YAAA4B,EAAa,UAAAC,EAAW,SAAAC,CAAA,EAAaT,EAAgB,EACvDU,EAAQ,OAAOH,CAAW,EAAI,OAAOC,CAAS,EAAI,OAAOC,CAAQ,EAEjE7B,EAAcC,EAAAA,QAAQ,IAAMC,EAAAA,QAAQJ,CAAS,EAAG,CAACA,CAAS,CAAC,EAE3DiC,EAAe9B,EAAAA,QAAQ,IACxB,OAAOJ,GAAa,WAChB0B,EAAK,IAAI,CAACS,EAAIC,IAAU,CAC9B,MAAM7B,EAAQP,EAAS,CAAE,KAAMmC,EAAI,EAEnC,OAAO3B,EAAe,eAAAD,CAAK,EACxBR,EAAM,aAAaQ,EAAwC,CAC3D,IAAK6B,EACL,GAAGlC,CACH,CAAA,EACA,IAAA,CACH,EAEMH,EAAM,SAAS,IAAIC,EAAWO,GACpCC,EAAAA,eAAeD,CAAK,EACjBR,EAAM,aAAaQ,EAAwC,CAC3D,GAAGL,CAAA,CACH,EACAK,CACJ,EAEC,CAACP,EAAU0B,EAAMxB,CAAK,CAAC,EAE1B,IAAImC,EAAmC,KAEvC,OAAIT,EAEFS,EAAA5B,EAAAA,kBAAAA,IAAC,MAAG,UAAU,2BACb,iCAAC,KAAG,CAAA,UAAU,qBAAqB,QAASwB,EAC3C,iCAAC,MAAI,CAAA,UAAU,+BACd,SAACxB,EAAAA,kBAAAA,IAAA,IAAA,CAAE,UAAU,qCAAsC,SAAAoB,CAAA,CAAY,CAChE,CAAA,CAAA,CACD,CACD,CAAA,EAESH,EAAK,SAAW,IAEzBW,EAAA5B,EAAAA,kBAAAA,IAAC,MAAG,UAAU,2BACb,iCAAC,KAAG,CAAA,UAAU,qBAAqB,QAASwB,EAC3C,iCAAC,MAAI,CAAA,UAAU,sBACd,SAACxB,EAAAA,kBAAAA,IAAA,IAAA,CAAE,UAAU,qCAAsC,SAAAkB,CAAA,CAAW,CAC/D,CAAA,CAAA,CACD,CACD,CAAA,GAKDT,EAAA,kBAAA,KAAC,QAAM,CAAA,UAAWf,EAChB,SAAA,CAAA+B,EACAG,CAAA,EACF,CAEH,CAEO,SAASC,EAAgCpC,EAA8B,CACtE,OAAAO,wBAACgB,EAAoB,CAAA,GAAGvB,CAAO,CAAA,CACvC,CCpEa,MAAAqC,EAAeC,EAAK,KAAA,CAAC,CAAE,SAAAxC,EAAU,UAAAC,EAAW,WAAAwC,EAAY,cAAAC,EAAe,SAAAC,EAAU,QAAAC,EAAU,MAA8B,CACrI,MAAMC,EAAMzC,EAAQ,QAAA,IAAM0C,EAAO,GAAA,EAAG,CAAA,CAAE,EAChC,CAAE,SAAAd,EAAU,WAAAe,EAAY,aAAAC,EAAc,MAAAC,CAAA,EAAU1B,EAAgB,EAEhE2B,EAAQ9C,EAAAA,QAAQ,IAAM2C,GAAA,YAAAA,EAAY,KAAMZ,GAAOA,EAAG,KAAOM,EAAW,IAAK,CAACM,EAAYN,EAAW,EAAE,CAAC,EAEpGU,EAAgB/C,EAAA,QAAQ,IAAM4C,GAAA,YAAAA,EAAc,KAAMb,GAAOA,IAAOM,EAAW,IAAK,CAACO,EAAcP,EAAW,EAAE,CAAC,EAE7GW,EAAgBC,GAAmB,CACpCF,GAAiBR,GACrBD,GAAA,MAAAA,EAAgBD,EAAYY,EAC7B,EAEMC,EAAWlD,EAAA,QAChB,IACCC,EAAA,QACC,oGACAkD,OAAK,CACJ,6DAA8D,CAACL,EAC/D,qCAAsCA,CAAA,CACtC,EACDjD,CACD,EACD,CAACiD,EAAOjD,CAAS,CAClB,EAGC,OAAAiB,EAAA,kBAAA,KAAC,KAAG,CAAA,UAAWoC,EACb,SAAA,CAAAtB,GACCvB,EAAA,kBAAA,IAAA,KAAA,CAAG,UAAU,YACZ,SACAmC,GAAAnC,EAAA,kBAAA,IAAC+C,EAAA,SAAA,CACA,GAAIX,EACJ,SAAWY,GAAML,EAAaK,EAAE,OAAO,OAAO,EAC9C,QAASP,GAAS,GAClB,UAAU,sBACV,SAAUC,GAAiBR,EAC3B,MAAAM,CAAA,CAAA,EAGH,EAEAjD,CAAA,EACF,CAEF,CAAC,EAEDuC,EAAa,YAAc,eCnDd,MAAAmB,EAA4C3D,EAAM,KAAK,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,KAAAY,KAAW,CAChG,MAAAV,EAAcC,UAAQ,IAAMC,EAAA,QAAQ,gDAAiDJ,CAAS,EAAG,CAACA,CAAS,CAAC,EAE5GgB,EAAkB,CAACjB,GAAa,OAAOA,GAAa,UAAYA,EAAS,SAAW,GAEnF,OAAAS,EAAAA,kBAAAA,IAAC,KAAG,CAAA,UAAWN,EAAc,SAAAc,EAAmBR,EAAAA,kBAAAA,IAAA,IAAA,CAAE,UAAU,wBAAyB,SAAKI,CAAA,CAAA,EAAOb,EAAS,CAClH,CAAC,EACD0D,EAAgB,YAAc,kBCFvB,MAAMC,EAA0C5D,EAAM,KAC5D,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,WAAA2D,EAAa,CAAI,EAAA,WAAAC,EAAa,GAAO,cAAAV,EAAe,cAAAT,EAAe,GAAGxC,KAAY,CACzG,MAAM2C,EAAMzC,EAAQ,QAAA,IAAM0C,EAAO,GAAA,EAAG,CAAA,CAAE,EAChC,CAAE,SAAAd,EAAU,YAAA8B,EAAa,UAAA/B,EAAW,MAAAkB,CAAA,EAAU1B,EAAgB,EAE9D6B,EAAgBC,GAAmB,CACpCF,GACJT,GAAA,MAAAA,EAAgBW,EACjB,EAEMU,EAAiB3D,EAAAA,QAAQ,IAC1B,OAAOJ,GAAa,WAChB4D,EAAW,IAAI,CAACzB,EAAIC,IAAU,CACpC,MAAM7B,EAAQP,EAAS,CAAE,KAAMmC,EAAI,EAEnC,OAAO3B,EAAe,eAAAD,CAAK,EACxBR,EAAM,aAAaQ,EAAwC,CAC3D,IAAK6B,EACL,GAAGlC,CACF,CAAA,EACD,IAAA,CACH,EAEMH,EAAM,SAAS,IAAIC,EAAWO,GACpCC,EAAAA,eAAeD,CAAK,EACjBR,EAAM,aAAaQ,EAAwC,CAC3D,GAAGL,CAAA,CACF,EACDK,CACJ,EAEC,CAACP,EAAU4D,EAAY1D,CAAK,CAAC,EAEhC,gCACE,KAAG,CAAA,UAAWG,EAAQ,QAAA,0CAA2CJ,CAAS,EACzE,SAAA,CACA+B,GAAAvB,EAAA,kBAAA,IAACC,EAAkB,CAAA,UAAU,wBAC5B,SAAAD,EAAA,kBAAA,IAAC+C,EAAA,SAAA,CACA,GAAIX,EACJ,SAAWY,GAAML,EAAaK,EAAE,OAAO,OAAO,EAC9C,QAASI,EACT,UAAU,sBACV,MAAAZ,CAAA,CAAA,EAEF,EAGAc,EAEAhC,GAAatB,EAAA,kBAAA,IAACC,EAAkB,CAAA,MAAAuC,EAAc,MAAO,CAAE,SAAU,GAAGa,CAAW,KAAM,MAAO,GAAGA,CAAW,KAAQ,CAAA,CAAA,EACpH,CAAA,CAGH,EACAH,EAAe,YAAc,iBC3DhB,MAAAK,EAAgDjE,EAAM,KAAK,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAY,GAAI,MAAAU,EAAQ,CAAA,KAAS,CAC/G,MAAAR,EAAcC,UAAQ,IAAMC,EAAA,QAAQ,mDAAoDJ,CAAS,EAAG,CAACA,CAAS,CAAC,EAErH,OACEQ,EAAAA,kBAAAA,IAAA,KAAA,CAAG,UAAWN,EAAa,MAAAQ,EAC1B,SAAAX,EACF,CAEF,CAAC,EACDgE,EAAkB,YAAc,oBCNzB,MAAMC,EAA0ClE,EAAM,KAAK,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,WAAA2D,EAAa,CAAA,EAAI,GAAG1D,KAAY,CACzH,KAAM,CAAE,SAAA8B,EAAU,YAAA8B,EAAa,UAAA/B,CAAA,EAAcR,EAAgB,EAEvDpB,EAAcC,UAAQ,IAAMC,EAAA,QAAQ,0CAA2CJ,CAAS,EAAG,CAACA,CAAS,CAAC,EAEtGiE,EAAmB9D,EAAAA,QAAQ,IAC5B,OAAOJ,GAAa,WAChB4D,EAAW,IAAI,CAACzB,EAAIC,IAAU,CACpC,MAAM7B,EAAQP,EAAS,CAAE,KAAMmC,EAAI,EAEnC,OAAO3B,EAAe,eAAAD,CAAK,EACxBR,EAAM,aAAaQ,EAAwC,CAC3D,IAAK6B,EACL,GAAGlC,CACF,CAAA,EACD,IAAA,CACH,EAEMH,EAAM,SAAS,IAAIC,EAAWO,GACpCC,EAAAA,eAAeD,CAAK,EACjBR,EAAM,aAAaQ,EAAwC,CAC3D,GAAGL,CAAA,CACF,EACDK,CACJ,EAEC,CAACP,EAAU4D,EAAY1D,CAAK,CAAC,EAG/B,OAAAgB,EAAA,kBAAA,KAAC,KAAG,CAAA,UAAWf,EACb,SAAA,CAAY6B,GAAAvB,EAAAA,kBAAAA,IAACuD,EAAkB,CAAA,UAAU,uBAAwB,CAAA,EACjEE,EACAnC,GAAatB,EAAA,kBAAA,IAACuD,EAAkB,CAAA,MAAO,CAAE,SAAU,GAAGF,CAAW,KAAM,MAAO,GAAGA,CAAW,KAAQ,CAAA,CAAA,EACtG,CAEF,CAAC,EACDG,EAAe,YAAc,iBC7BhB,MAAAE,EAAW,CAAC,CAAE,UAAAlE,EAAW,SAAAD,EAAU,mBAAAoE,EAAoB,GAAGlE,KAAwB,CAC9F,KAAM,CAAE,MAAA+C,EAAQ,UAAW,aAAAD,EAAc,SAAAhB,EAAW,GAAM,WAAAe,EAAa,CAAA,EAAI,UAAAhB,EAAY,GAAM,YAAA+B,EAAc,IAAK,WAAAF,CAAe,EAAA1D,EAEzHmE,EAAajE,UAAQ,IAAMC,EAAA,QAAQ,yDAA0DJ,CAAS,EAAG,CAACA,CAAS,CAAC,EACpHqE,EAAiBlE,UAAQ,IAAMC,EAAA,QAAQ,yDAA0D+D,CAAkB,EAAG,CAACA,CAAkB,CAAC,EAG/I,OAAA3D,EAAA,kBAAA,IAACY,EAAa,SAAb,CACA,MAAO,CACN,MAAA4B,EACA,aAAAD,EACA,SAAAhB,EACA,WAAAe,EACA,UAAAhB,EACA,YAAA+B,EACA,aAAaF,GAAA,YAAAA,EAAY,SAAU,CACpC,EAEA,SAAAnD,EAAA,kBAAA,IAAC,OAAI,UAAW6D,EACf,iCAAC,QAAM,CAAA,UAAWD,EAChB,SAAAtE,EAAM,SAAS,IAAIC,EAAWO,GAC9BC,EAAAA,eAAeD,CAAK,EACjBR,EAAM,aAAaQ,EAAuB,CAC1C,GAAGL,CAAA,CACH,EACAK,GAEL,CACD,CAAA,CAAA,CACD,CAEF,EAEagE,EAAQ,OAAO,OAAOJ,EAAU,CAC5C,OAAQrE,EAER,UAAW6D,EACX,aAAcjD,EAEd,UAAWuD,EACX,aAAcD,EAEd,KAAM1B,EAEN,QAASC,EACT,WAAYmB,CACb,CAAC,EClDYc,EAAW,CAAC,CAAE,oBAAAC,EAAsB,CAAC,EAAG,iBAAAC,EAAmB,GAAI,mBAAAC,EAAqB,CAAA,KAAqC,CACrI,KAAM,CAAC5B,EAAY6B,CAAa,EAAIC,EAAAA,SAA4BH,CAAgB,EAC1E,CAAC1B,EAAc8B,CAAe,EAAID,EAAAA,SAAmBJ,CAAmB,EACxE,CAACM,EAAaC,CAAc,EAAIH,EAAAA,SAAgCF,CAAkB,EAElFM,EAAkBC,cAAa7B,GAA2B,CAC/DuB,EAAeO,GACCA,EAAK,KAAMhD,GAAOA,EAAG,KAAOkB,EAAM,EAAE,EAEnC8B,EAAK,OAAQhD,GAAOA,EAAG,KAAOkB,EAAM,EAAE,EAAI,CAAC,GAAG8B,EAAM9B,CAAK,CACzE,CACF,EAAG,EAAE,EAEC+B,EAAmBF,cAAa7B,GAA6B,CAClEuB,EAAcvB,CAAK,CACpB,EAAG,EAAE,EAECgC,EAAqBH,cAAa7B,GAAoB,CAC3DyB,EAAgBzB,CAAK,CACtB,EAAG,EAAE,EAECiC,EAAuBJ,EAAAA,YAAY,CAACK,EAAalC,IAAkB,CACxE2B,EAAgBG,GAAS,CAClB,MAAAK,EAAW,CAAE,GAAGL,CAAK,EAEvB,OAAA9B,EAAgBmC,EAAAD,CAAG,EAAIlC,EACtB,OAAOmC,EAASD,CAAG,EAEjBC,CAAA,CACP,CACF,EAAG,EAAE,EAEE,MAAA,CACN,WAAAzC,EACA,aAAAC,EACA,YAAA+B,EACA,iBAAAK,EACA,gBAAAH,EACA,mBAAAI,EACA,qBAAAC,CACD,CACD"}
|
|
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 {\n\ttype TableProps,\n} from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\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<table className={tableClass}>\n\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t)}\n\t\t\t\t</table>\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\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\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","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
|
package/dist/table/index.es.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { j as t } from "../chunks/jsx-runtime-BYq8_R6m.js";
|
|
2
|
-
import m, { useMemo as x, isValidElement as C, createContext as
|
|
2
|
+
import m, { useMemo as x, isValidElement as C, createContext as V, useContext as M, memo as S, useState as v, useCallback as w } from "react";
|
|
3
3
|
import { t as g } from "../chunks/bundle-mjs-kGHm2Pod.js";
|
|
4
4
|
import { T as D } from "../chunks/tooltip-jYlWnuGh.js";
|
|
5
5
|
import { c as O } from "../chunks/clsx-OuTLNxxd.js";
|
|
6
|
-
import { C as
|
|
7
|
-
import { v as
|
|
8
|
-
const
|
|
6
|
+
import { C as E } from "../chunks/checkbox-lvTY3PXC.js";
|
|
7
|
+
import { v as R } from "../chunks/v4-CRLUkzQ6.js";
|
|
8
|
+
const B = m.memo(({ children: e, className: l, ...s }) => {
|
|
9
9
|
const n = x(() => g("min-h-[100px] sticky top-0 z-10", l), [l]), d = x(
|
|
10
10
|
() => m.Children.map(e, (o) => C(o) ? m.cloneElement(o, { ...s }) : o),
|
|
11
11
|
[e, s]
|
|
12
12
|
);
|
|
13
13
|
return /* @__PURE__ */ t.jsx("thead", { className: n, children: d });
|
|
14
14
|
});
|
|
15
|
-
|
|
15
|
+
B.displayName = "TableHeader";
|
|
16
16
|
const N = m.memo(
|
|
17
17
|
({ children: e, className: l, style: s = {}, icon: n = null, text: d = "", size: o, header: a }) => {
|
|
18
18
|
const h = x(() => g("px-2 border-b border-divider", l), [l]), u = x(
|
|
@@ -22,8 +22,8 @@ const N = m.memo(
|
|
|
22
22
|
minWidth: o ? `${o}px` : s.minWidth
|
|
23
23
|
}),
|
|
24
24
|
[s, o]
|
|
25
|
-
),
|
|
26
|
-
return /* @__PURE__ */ t.jsx("th", { className: h, style: u, children:
|
|
25
|
+
), i = !e || typeof e == "string" && e.trim() === "";
|
|
26
|
+
return /* @__PURE__ */ t.jsx("th", { className: h, style: u, children: i ? /* @__PURE__ */ t.jsxs("div", { className: "flex justify-between items-center gap-x-2 font-medium", children: [
|
|
27
27
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
28
28
|
/* @__PURE__ */ t.jsx("p", { className: "line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left", children: d }),
|
|
29
29
|
(a == null ? void 0 : a.information) && /* @__PURE__ */ t.jsx(D, { content: (a == null ? void 0 : a.information) || "", children: /* @__PURE__ */ t.jsx(
|
|
@@ -56,7 +56,7 @@ const _ = {
|
|
|
56
56
|
isActions: !0,
|
|
57
57
|
widthAction: 100,
|
|
58
58
|
totalColumn: 0
|
|
59
|
-
},
|
|
59
|
+
}, A = V(_), k = () => M(A);
|
|
60
60
|
function L({
|
|
61
61
|
children: e,
|
|
62
62
|
className: l,
|
|
@@ -66,7 +66,7 @@ function L({
|
|
|
66
66
|
loadingText: o = "Cargando ...",
|
|
67
67
|
...a
|
|
68
68
|
}) {
|
|
69
|
-
const { totalColumn: h, isActions: u, isChecks:
|
|
69
|
+
const { totalColumn: h, isActions: u, isChecks: i } = k(), b = Number(h) + Number(u) + Number(i), f = x(() => g(l), [l]), j = x(() => typeof e == "function" ? s.map((r, p) => {
|
|
70
70
|
const y = e({ item: r });
|
|
71
71
|
return C(y) ? m.cloneElement(y, {
|
|
72
72
|
key: p,
|
|
@@ -78,17 +78,16 @@ function L({
|
|
|
78
78
|
...a
|
|
79
79
|
}) : r
|
|
80
80
|
), [e, s, a]);
|
|
81
|
-
let
|
|
82
|
-
return d ?
|
|
81
|
+
let c = null;
|
|
82
|
+
return d ? c = /* @__PURE__ */ t.jsx("tr", { className: "border-b border-gray-200", children: /* @__PURE__ */ t.jsx("td", { className: "px-2 py-2.5 w-full", colSpan: b, children: /* @__PURE__ */ t.jsx("div", { className: "flex justify-center relative", children: /* @__PURE__ */ t.jsx("p", { className: "line-clamp-1 text-sm text-gray-900", children: o }) }) }) }) : s.length === 0 && (c = /* @__PURE__ */ t.jsx("tr", { className: "border-b border-gray-200", children: /* @__PURE__ */ t.jsx("td", { className: "px-2 py-2.5 w-full", colSpan: b, children: /* @__PURE__ */ t.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ t.jsx("p", { className: "line-clamp-1 text-sm text-gray-900", children: n }) }) }) })), /* @__PURE__ */ t.jsxs("tbody", { className: f, children: [
|
|
83
83
|
j,
|
|
84
|
-
|
|
84
|
+
c
|
|
85
85
|
] });
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
const
|
|
91
|
-
const a = x(() => E(), []), { isChecks: h, selectKeys: u, disabledKeys: c, color: b } = k(), f = x(() => u == null ? void 0 : u.some((p) => p.id === s.id), [u, s.id]), j = x(() => c == null ? void 0 : c.some((p) => p === s.id), [c, s.id]), i = (p) => {
|
|
87
|
+
const P = S(
|
|
88
|
+
(e) => /* @__PURE__ */ t.jsx(L, { ...e })
|
|
89
|
+
), K = S(({ children: e, className: l, keyCurrent: s, onChangeCheck: n, disabled: d, isCheck: o = !0 }) => {
|
|
90
|
+
const a = x(() => R(), []), { isChecks: h, selectKeys: u, disabledKeys: i, color: b } = k(), f = x(() => u == null ? void 0 : u.some((p) => p.id === s.id), [u, s.id]), j = x(() => i == null ? void 0 : i.some((p) => p === s.id), [i, s.id]), c = (p) => {
|
|
92
91
|
j || d || n == null || n(s, p);
|
|
93
92
|
}, r = x(
|
|
94
93
|
() => g(
|
|
@@ -103,10 +102,10 @@ const A = M(({ children: e, className: l, keyCurrent: s, onChangeCheck: n, disab
|
|
|
103
102
|
);
|
|
104
103
|
return /* @__PURE__ */ t.jsxs("tr", { className: r, children: [
|
|
105
104
|
h && /* @__PURE__ */ t.jsx("td", { className: "px-2 py-1", children: o && /* @__PURE__ */ t.jsx(
|
|
106
|
-
|
|
105
|
+
E,
|
|
107
106
|
{
|
|
108
107
|
id: a,
|
|
109
|
-
onChange: (p) =>
|
|
108
|
+
onChange: (p) => c(p.target.checked),
|
|
110
109
|
checked: f || !1,
|
|
111
110
|
className: "flex justify-center",
|
|
112
111
|
disabled: j || d,
|
|
@@ -116,17 +115,17 @@ const A = M(({ children: e, className: l, keyCurrent: s, onChangeCheck: n, disab
|
|
|
116
115
|
e
|
|
117
116
|
] });
|
|
118
117
|
});
|
|
119
|
-
|
|
120
|
-
const
|
|
118
|
+
K.displayName = "TableBodyRow";
|
|
119
|
+
const H = m.memo(({ children: e, className: l, text: s }) => {
|
|
121
120
|
const n = x(() => g("px-2 py-1 text-gray-900 dark:text-default-500", l), [l]), d = !e || typeof e == "string" && e.trim() === "";
|
|
122
121
|
return /* @__PURE__ */ t.jsx("td", { className: n, children: d ? /* @__PURE__ */ t.jsx("p", { className: "line-clamp-1 text-sm ", children: s }) : e });
|
|
123
122
|
});
|
|
124
|
-
|
|
125
|
-
const
|
|
123
|
+
H.displayName = "TableBodyColumn";
|
|
124
|
+
const W = m.memo(
|
|
126
125
|
({ children: e, className: l, dataHeader: s = [], valueCheck: n = !1, disabledCheck: d, onChangeCheck: o, ...a }) => {
|
|
127
|
-
const h = x(() =>
|
|
126
|
+
const h = x(() => R(), []), { isChecks: u, widthAction: i, isActions: b, color: f } = k(), j = (r) => {
|
|
128
127
|
d || o == null || o(r);
|
|
129
|
-
},
|
|
128
|
+
}, c = x(() => typeof e == "function" ? s.map((r, p) => {
|
|
130
129
|
const y = e({ item: r });
|
|
131
130
|
return C(y) ? m.cloneElement(y, {
|
|
132
131
|
key: p,
|
|
@@ -140,7 +139,7 @@ const H = m.memo(
|
|
|
140
139
|
), [e, s, a]);
|
|
141
140
|
return /* @__PURE__ */ t.jsxs("tr", { className: g("bg-gray-50 dark:bg-default-100 h-[50px]", l), children: [
|
|
142
141
|
u && /* @__PURE__ */ t.jsx(N, { className: "min-w-[40px] w-[40px]", children: /* @__PURE__ */ t.jsx(
|
|
143
|
-
|
|
142
|
+
E,
|
|
144
143
|
{
|
|
145
144
|
id: h,
|
|
146
145
|
onChange: (r) => j(r.target.checked),
|
|
@@ -149,29 +148,29 @@ const H = m.memo(
|
|
|
149
148
|
color: f
|
|
150
149
|
}
|
|
151
150
|
) }),
|
|
152
|
-
|
|
153
|
-
b && /* @__PURE__ */ t.jsx(N, { color: f, style: { minWidth: `${
|
|
151
|
+
c,
|
|
152
|
+
b && /* @__PURE__ */ t.jsx(N, { color: f, style: { minWidth: `${i}px`, width: `${i}px` } })
|
|
154
153
|
] });
|
|
155
154
|
}
|
|
156
155
|
);
|
|
157
|
-
|
|
156
|
+
W.displayName = "TableHeaderRow";
|
|
158
157
|
const T = m.memo(({ children: e, className: l = "", style: s = {} }) => {
|
|
159
158
|
const n = x(() => g("table-column-search px-2 border-b border-divider", l), [l]);
|
|
160
159
|
return /* @__PURE__ */ t.jsx("th", { className: n, style: s, children: e });
|
|
161
160
|
});
|
|
162
161
|
T.displayName = "TableSearchColumn";
|
|
163
|
-
const
|
|
164
|
-
const { isChecks: d, widthAction: o, isActions: a } = k(), h = x(() => g("bg-gray-50 dark:bg-default-100 h-[50px]", l), [l]), u = x(() => typeof e == "function" ? s.map((
|
|
165
|
-
const f = e({ item:
|
|
162
|
+
const $ = m.memo(({ children: e, className: l, dataHeader: s = [], ...n }) => {
|
|
163
|
+
const { isChecks: d, widthAction: o, isActions: a } = k(), h = x(() => g("bg-gray-50 dark:bg-default-100 h-[50px]", l), [l]), u = x(() => typeof e == "function" ? s.map((i, b) => {
|
|
164
|
+
const f = e({ item: i });
|
|
166
165
|
return C(f) ? m.cloneElement(f, {
|
|
167
166
|
key: b,
|
|
168
167
|
...n
|
|
169
168
|
}) : null;
|
|
170
169
|
}) : m.Children.map(
|
|
171
170
|
e,
|
|
172
|
-
(
|
|
171
|
+
(i) => C(i) ? m.cloneElement(i, {
|
|
173
172
|
...n
|
|
174
|
-
}) :
|
|
173
|
+
}) : i
|
|
175
174
|
), [e, s, n]);
|
|
176
175
|
return /* @__PURE__ */ t.jsxs("tr", { className: h, children: [
|
|
177
176
|
d && /* @__PURE__ */ t.jsx(T, { className: "min-w-[40px] w-[40px]" }),
|
|
@@ -179,11 +178,11 @@ const W = m.memo(({ children: e, className: l, dataHeader: s = [], ...n }) => {
|
|
|
179
178
|
a && /* @__PURE__ */ t.jsx(T, { style: { minWidth: `${o}px`, width: `${o}px` } })
|
|
180
179
|
] });
|
|
181
180
|
});
|
|
182
|
-
|
|
181
|
+
$.displayName = "TableSearchRow";
|
|
183
182
|
const q = ({ className: e, children: l, classNameContainer: s, ...n }) => {
|
|
184
|
-
const { color: d = "primary", disabledKeys: o, isChecks: a = !0, selectKeys: h = [], isActions: u = !0, widthAction:
|
|
183
|
+
const { color: d = "primary", disabledKeys: o, isChecks: a = !0, selectKeys: h = [], isActions: u = !0, widthAction: i = 100, dataHeader: b } = n, f = x(() => g("table-main-container w-full border-collapse table-auto", e), [e]), j = x(() => g("max-w-full overflow-x-auto overflow-y-auto bg-content1", s), [s]);
|
|
185
184
|
return /* @__PURE__ */ t.jsx(
|
|
186
|
-
|
|
185
|
+
A.Provider,
|
|
187
186
|
{
|
|
188
187
|
value: {
|
|
189
188
|
color: d,
|
|
@@ -191,37 +190,37 @@ const q = ({ className: e, children: l, classNameContainer: s, ...n }) => {
|
|
|
191
190
|
isChecks: a,
|
|
192
191
|
selectKeys: h,
|
|
193
192
|
isActions: u,
|
|
194
|
-
widthAction:
|
|
193
|
+
widthAction: i,
|
|
195
194
|
totalColumn: (b == null ? void 0 : b.length) || 0
|
|
196
195
|
},
|
|
197
196
|
children: /* @__PURE__ */ t.jsx("div", { className: j, children: /* @__PURE__ */ t.jsx("table", { className: f, children: m.Children.map(
|
|
198
197
|
l,
|
|
199
|
-
(
|
|
198
|
+
(c) => C(c) ? m.cloneElement(c, {
|
|
200
199
|
...n
|
|
201
|
-
}) :
|
|
200
|
+
}) : c
|
|
202
201
|
) }) })
|
|
203
202
|
}
|
|
204
203
|
);
|
|
205
204
|
}, Y = Object.assign(q, {
|
|
206
|
-
Header:
|
|
207
|
-
HeaderRow:
|
|
205
|
+
Header: B,
|
|
206
|
+
HeaderRow: W,
|
|
208
207
|
HeaderColumn: N,
|
|
209
|
-
SearchRow:
|
|
208
|
+
SearchRow: $,
|
|
210
209
|
SearchColumn: T,
|
|
211
210
|
Body: P,
|
|
212
|
-
BodyRow:
|
|
213
|
-
BodyColumn:
|
|
211
|
+
BodyRow: K,
|
|
212
|
+
BodyColumn: H
|
|
214
213
|
}), Z = ({ initialDisabledKeys: e = [], initialSelectKey: l = [], initialValueSearch: s = {} }) => {
|
|
215
|
-
const [n, d] = v(l), [o, a] = v(e), [h, u] = v(s),
|
|
216
|
-
d((r) => r.some((y) => y.id ===
|
|
217
|
-
}, []), b = w((
|
|
218
|
-
d(
|
|
219
|
-
}, []), f = w((
|
|
220
|
-
a(
|
|
221
|
-
}, []), j = w((
|
|
214
|
+
const [n, d] = v(l), [o, a] = v(e), [h, u] = v(s), i = w((c) => {
|
|
215
|
+
d((r) => r.some((y) => y.id === c.id) ? r.filter((y) => y.id !== c.id) : [...r, c]);
|
|
216
|
+
}, []), b = w((c) => {
|
|
217
|
+
d(c);
|
|
218
|
+
}, []), f = w((c) => {
|
|
219
|
+
a(c);
|
|
220
|
+
}, []), j = w((c, r) => {
|
|
222
221
|
u((p) => {
|
|
223
222
|
const y = { ...p };
|
|
224
|
-
return r ? y[
|
|
223
|
+
return r ? y[c] = r : delete y[c], y;
|
|
225
224
|
});
|
|
226
225
|
}, []);
|
|
227
226
|
return {
|
|
@@ -229,7 +228,7 @@ const q = ({ className: e, children: l, classNameContainer: s, ...n }) => {
|
|
|
229
228
|
disabledKeys: o,
|
|
230
229
|
valueSearch: h,
|
|
231
230
|
handleSelectKeys: b,
|
|
232
|
-
handleSelectKey:
|
|
231
|
+
handleSelectKey: i,
|
|
233
232
|
handleDisabledKeys: f,
|
|
234
233
|
handleSetValueSearch: j
|
|
235
234
|
};
|
|
@@ -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, 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 function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n\treturn <TableBodyComponent {...props} />;\n}\n\n// const MemoizedTableBody = React.memo(TableBodyComponent);\n\n// export const TableBody = Object.assign(MemoizedTableBody, {\n// \tdisplayName: \"TableBody\",\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 {\n\ttype TableProps,\n} from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\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<table className={tableClass}>\n\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t)}\n\t\t\t\t</table>\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\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\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","TableBodyRow","memo","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","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","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 { 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 {\n\ttype TableProps,\n} from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\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<table className={tableClass}>\n\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t)}\n\t\t\t\t</table>\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\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\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","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
|