lizaui 8.2.9 → 8.4.9

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.
Files changed (125) hide show
  1. package/dist/button/index.cjs.js +1 -1
  2. package/dist/button/index.es.js +1 -1
  3. package/dist/calendar/index.cjs.js +2 -2
  4. package/dist/calendar/index.cjs.js.map +1 -1
  5. package/dist/calendar/index.es.js +9 -9
  6. package/dist/checkbox/index.cjs.js +1 -1
  7. package/dist/checkbox/index.es.js +1 -1
  8. package/dist/chip/index.cjs.js +1 -1
  9. package/dist/chip/index.cjs.js.map +1 -1
  10. package/dist/chip/index.es.js +2 -2
  11. package/dist/chunks/bundle-mjs-2oQ8XDAz.js +2748 -0
  12. package/dist/chunks/bundle-mjs-2oQ8XDAz.js.map +1 -0
  13. package/dist/chunks/bundle-mjs-8z5d_e-8.js +2 -0
  14. package/dist/chunks/bundle-mjs-8z5d_e-8.js.map +1 -0
  15. package/dist/chunks/button-DFrxQHAW.js +2 -0
  16. package/dist/chunks/{button-OdZ6El_t.js.map → button-DFrxQHAW.js.map} +1 -1
  17. package/dist/chunks/{button-CSuKvE1x.js → button-uo4_Xad_.js} +4 -4
  18. package/dist/chunks/{button-CSuKvE1x.js.map → button-uo4_Xad_.js.map} +1 -1
  19. package/dist/chunks/{checkbox-BhW9i0pm.js → checkbox-BvvZL9H4.js} +3 -3
  20. package/dist/chunks/{checkbox-BhW9i0pm.js.map → checkbox-BvvZL9H4.js.map} +1 -1
  21. package/dist/chunks/checkbox-w969v4lK.js +2 -0
  22. package/dist/chunks/{checkbox-CWDPVAn2.js.map → checkbox-w969v4lK.js.map} +1 -1
  23. package/dist/chunks/clsx-C11secjj.js +2 -0
  24. package/dist/chunks/clsx-C11secjj.js.map +1 -0
  25. package/dist/chunks/clsx-OuTLNxxd.js +17 -0
  26. package/dist/chunks/clsx-OuTLNxxd.js.map +1 -0
  27. package/dist/chunks/features-animation-BRAvwYFN.js +3437 -0
  28. package/dist/chunks/features-animation-BRAvwYFN.js.map +1 -0
  29. package/dist/chunks/features-animation-BoXKk5t2.js +2 -0
  30. package/dist/chunks/features-animation-BoXKk5t2.js.map +1 -0
  31. package/dist/chunks/index-BbDfYVLO.js +174 -0
  32. package/dist/chunks/index-BbDfYVLO.js.map +1 -0
  33. package/dist/chunks/index-CL73JQgs.js +2 -0
  34. package/dist/chunks/index-CL73JQgs.js.map +1 -0
  35. package/dist/chunks/{index-BOQuZ0gG.js → index-D29mdTf5.js} +2 -2
  36. package/dist/chunks/{index-BOQuZ0gG.js.map → index-D29mdTf5.js.map} +1 -1
  37. package/dist/chunks/index-DC9BfnBH.js +208 -0
  38. package/dist/chunks/index-DC9BfnBH.js.map +1 -0
  39. package/dist/chunks/index-lrI_r1ww.js +10 -0
  40. package/dist/chunks/index-lrI_r1ww.js.map +1 -0
  41. package/dist/chunks/index-nwdlcB7h.js +2 -0
  42. package/dist/chunks/{index-BxK4T-v8.js.map → index-nwdlcB7h.js.map} +1 -1
  43. package/dist/chunks/label-error-B8Rq-HGY.js +2 -0
  44. package/dist/chunks/{label-error-Ax74Uy3M.js.map → label-error-B8Rq-HGY.js.map} +1 -1
  45. package/dist/chunks/label-error-BOE4Qj5S.js +10 -0
  46. package/dist/chunks/{label-error-DGQqDKTV.js.map → label-error-BOE4Qj5S.js.map} +1 -1
  47. package/dist/chunks/proxy-BwQyOw8U.js +2 -0
  48. package/dist/chunks/proxy-BwQyOw8U.js.map +1 -0
  49. package/dist/chunks/proxy-kv_Ue2k_.js +1346 -0
  50. package/dist/chunks/proxy-kv_Ue2k_.js.map +1 -0
  51. package/dist/chunks/ripple-CzU7YM2G.js +69 -0
  52. package/dist/chunks/{ripple-DMI95LHg.js.map → ripple-CzU7YM2G.js.map} +1 -1
  53. package/dist/chunks/ripple-SBteSEo3.js +2 -0
  54. package/dist/chunks/{ripple-DieNd7XQ.js.map → ripple-SBteSEo3.js.map} +1 -1
  55. package/dist/chunks/{scroll-area-C8l3z7wv.js → scroll-area-B0mWCpSW.js} +2 -2
  56. package/dist/chunks/{scroll-area-C8l3z7wv.js.map → scroll-area-B0mWCpSW.js.map} +1 -1
  57. package/dist/chunks/{scroll-area-zt_z9PRo.js → scroll-area-CE7quLQL.js} +3 -3
  58. package/dist/chunks/{scroll-area-zt_z9PRo.js.map → scroll-area-CE7quLQL.js.map} +1 -1
  59. package/dist/chunks/{select-qaP_vaF3.js → select-BwMqXSzv.js} +3 -3
  60. package/dist/chunks/{select-qaP_vaF3.js.map → select-BwMqXSzv.js.map} +1 -1
  61. package/dist/chunks/{select-CC7ump6t.js → select-DGSPwoy8.js} +2 -2
  62. package/dist/chunks/{select-CC7ump6t.js.map → select-DGSPwoy8.js.map} +1 -1
  63. package/dist/chunks/{textarea-BIy5pTb5.js → textarea-BYbersWf.js} +38 -37
  64. package/dist/chunks/{textarea-BIy5pTb5.js.map → textarea-BYbersWf.js.map} +1 -1
  65. package/dist/chunks/{textarea-Cklud2kp.js → textarea-D9X4fUkV.js} +12 -12
  66. package/dist/chunks/{textarea-Cklud2kp.js.map → textarea-D9X4fUkV.js.map} +1 -1
  67. package/dist/chunks/tooltip-BPp8Maa7.js +2 -0
  68. package/dist/chunks/{tooltip-DGFz59KW.js.map → tooltip-BPp8Maa7.js.map} +1 -1
  69. package/dist/chunks/{tooltip-B-5G3VVC.js → tooltip-Bf9DqrJk.js} +3 -3
  70. package/dist/chunks/{tooltip-B-5G3VVC.js.map → tooltip-Bf9DqrJk.js.map} +1 -1
  71. package/dist/chunks/tv-CGkrzbji.js +2 -0
  72. package/dist/chunks/tv-CGkrzbji.js.map +1 -0
  73. package/dist/chunks/tv-DQO4decF.js +268 -0
  74. package/dist/chunks/tv-DQO4decF.js.map +1 -0
  75. package/dist/chunks/utils-CvyT6Z0O.js +9 -0
  76. package/dist/chunks/{utils-B6yFEsav.js.map → utils-CvyT6Z0O.js.map} +1 -1
  77. package/dist/chunks/utils-CxdrMFeI.js +2 -0
  78. package/dist/chunks/{utils-IjLH3w2e.js.map → utils-CxdrMFeI.js.map} +1 -1
  79. package/dist/chunks/v4-BysszJq8.js +31 -0
  80. package/dist/chunks/v4-BysszJq8.js.map +1 -0
  81. package/dist/chunks/v4-CqdK_b8Y.js +2 -0
  82. package/dist/chunks/v4-CqdK_b8Y.js.map +1 -0
  83. package/dist/divider/index.cjs.js +1 -1
  84. package/dist/divider/index.es.js +1 -1
  85. package/dist/modal/index.cjs.js +1 -1
  86. package/dist/modal/index.cjs.js.map +1 -1
  87. package/dist/modal/index.es.js +17 -16
  88. package/dist/modal/index.es.js.map +1 -1
  89. package/dist/pagination/index.cjs.js +1 -1
  90. package/dist/pagination/index.cjs.js.map +1 -1
  91. package/dist/pagination/index.es.js +18 -18
  92. package/dist/phone-input/index.cjs.js +1 -1
  93. package/dist/phone-input/index.cjs.js.map +1 -1
  94. package/dist/phone-input/index.es.js +35 -35
  95. package/dist/ripple/index.cjs.js +1 -1
  96. package/dist/ripple/index.es.js +1 -1
  97. package/dist/select-input/index.cjs.js +2 -2
  98. package/dist/select-input/index.cjs.js.map +1 -1
  99. package/dist/select-input/index.es.js +5 -5
  100. package/dist/table/index.cjs.js +1 -1
  101. package/dist/table/index.cjs.js.map +1 -1
  102. package/dist/table/index.es.js +17 -17
  103. package/dist/table/index.es.js.map +1 -1
  104. package/dist/time-input/index.cjs.js +2 -2
  105. package/dist/time-input/index.cjs.js.map +1 -1
  106. package/dist/time-input/index.es.js +5 -5
  107. package/dist/tooltip/index.cjs.js +1 -1
  108. package/dist/tooltip/index.es.js +1 -1
  109. package/dist/ui/index.cjs.js +1 -1
  110. package/dist/ui/index.es.js +10 -10
  111. package/package.json +1 -1
  112. package/dist/chunks/button-OdZ6El_t.js +0 -2
  113. package/dist/chunks/checkbox-CWDPVAn2.js +0 -2
  114. package/dist/chunks/index-BxK4T-v8.js +0 -2
  115. package/dist/chunks/label-error-Ax74Uy3M.js +0 -2
  116. package/dist/chunks/label-error-DGQqDKTV.js +0 -10
  117. package/dist/chunks/ripple-DMI95LHg.js +0 -68
  118. package/dist/chunks/ripple-DieNd7XQ.js +0 -2
  119. package/dist/chunks/tooltip-DGFz59KW.js +0 -2
  120. package/dist/chunks/tv-3Bk5oRI_.js +0 -39
  121. package/dist/chunks/tv-3Bk5oRI_.js.map +0 -1
  122. package/dist/chunks/tv-CLzaSzqw.js +0 -2
  123. package/dist/chunks/tv-CLzaSzqw.js.map +0 -1
  124. package/dist/chunks/utils-B6yFEsav.js +0 -9
  125. package/dist/chunks/utils-IjLH3w2e.js +0 -2
@@ -5,13 +5,13 @@ import { createPortal as gr } from "react-dom";
5
5
  import { q as br } from "../chunks/floating-ui.dom-DvdgQsph.js";
6
6
  import { a as pr, b as fr } from "../chunks/index-DK44x_HP.js";
7
7
  import { G as Et } from "../chunks/iconBase-DSKTHwal.js";
8
- import { C as Ir } from "../chunks/checkbox-BhW9i0pm.js";
9
- import { twMerge as gn } from "tailwind-merge";
8
+ import { C as Ir } from "../chunks/checkbox-BvvZL9H4.js";
9
+ import { t as gn } from "../chunks/bundle-mjs-2oQ8XDAz.js";
10
10
  import { v as mr } from "../chunks/pattern-CdQavADx.js";
11
11
  import "../chunks/assertion-CrT8p68K.js";
12
- import ot from "clsx";
13
- import { L as bn } from "../chunks/label-error-DGQqDKTV.js";
14
- import { c as pn } from "../chunks/utils-B6yFEsav.js";
12
+ import { c as ot } from "../chunks/clsx-OuTLNxxd.js";
13
+ import { L as bn } from "../chunks/label-error-BOE4Qj5S.js";
14
+ import { c as pn } from "../chunks/utils-CvyT6Z0O.js";
15
15
  function Ve(t) {
16
16
  "@babel/helpers - typeof";
17
17
  return Ve = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
@@ -1,2 +1,2 @@
1
- "use strict";var H=Object.create;var w=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var D=(t,o,s,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let l of $(o))!P.call(t,l)&&l!==s&&w(t,l,{get:()=>o[l],enumerable:!(i=W(o,l))||i.enumerable});return t};var L=(t,o,s)=>(s=t!=null?H(O(t)):{},D(o||!t||!t.__esModule?w(s,"default",{value:t,enumerable:!0}):s,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../chunks/jsx-runtime-BjzqJBtL.js"),e=require("react"),g=require("tailwind-merge"),F=require("../chunks/tooltip-DGFz59KW.js"),M=require("uuid"),G=require("clsx"),N=require("../chunks/checkbox-CWDPVAn2.js"),k=require("framer-motion"),T=e.memo(({children:t,className:o,...s})=>{const i=e.useMemo(()=>g.twMerge("min-h-[100px] sticky top-0 z-10",o),[o]),l=e.useMemo(()=>e.Children.map(t,a=>e.isValidElement(a)?e.cloneElement(a,{...s}):a),[t,s]);return n.jsxRuntimeExports.jsx("thead",{className:i,children:l})});T.displayName="TableHeader";const E=e.memo(({children:t,className:o,style:s={},icon:i=null,text:l="",size:a,header:c})=>{const h=e.useMemo(()=>g.twMerge("px-2 border-b border-divider",o),[o]),f=e.useMemo(()=>({...s,width:a?`${a}px`:s.width,minWidth:a?`${a}px`:s.minWidth}),[s,a]),u=!t||typeof t=="string"&&t.trim()==="";return n.jsxRuntimeExports.jsx("th",{className:h,style:f,children:u?n.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-center gap-x-2 font-medium",children:[n.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[n.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left",children:l}),c?.information&&n.jsxRuntimeExports.jsx(F.Tooltip,{content:c?.information||"",children:n.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:n.jsxRuntimeExports.jsxs("g",{fill:"none",children:[n.jsxRuntimeExports.jsx("circle",{cx:12,cy:12,r:10,stroke:"currentColor",strokeWidth:"1.5"}),n.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",d:"M12 17v-6"}),n.jsxRuntimeExports.jsx("circle",{cx:1,cy:1,r:1,fill:"currentColor",transform:"matrix(1 0 0 -1 11 9)"})]})})})]}),n.jsxRuntimeExports.jsx("div",{className:"flex-1 flex",children:i})]}):t})});E.displayName="TableHeaderColumn";const I={color:"primary",disabledKeys:[],isChecks:!0,selectKeys:[],isActions:!0,widthAction:100,totalColumn:0},S=e.createContext(I),R=()=>e.useContext(S);function J({children:t,className:o,data:s=[],textNoData:i="No hay información",isLoading:l=!1,loadingText:a="Cargando ...",rowKey:c,...h}){const{totalColumn:f,isActions:u,isChecks:d}=R(),j=Number(f)+Number(u)+Number(d),y=e.useMemo(()=>g.twMerge(o),[o]),p=e.useMemo(()=>typeof t=="function"?s.map((m,b)=>{const x=t({item:m,index:b}),q=c?c(m,b):b;return e.isValidElement(x)?e.cloneElement(x,{key:q,...h}):null}):e.Children.map(t,(m,b)=>e.isValidElement(m)?e.cloneElement(m,{key:c?c(s[b],b):b,...h}):m),[t,s,h,c]);let r=null;return l?r=n.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:n.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:j,children:n.jsxRuntimeExports.jsx("div",{className:"flex justify-center relative",children:n.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:a})})})}):s.length===0&&(r=n.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:n.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:j,children:n.jsxRuntimeExports.jsx("div",{className:"flex justify-center",children:n.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:i})})})})),n.jsxRuntimeExports.jsxs("tbody",{className:y,children:[p,r]})}const Q=e.memo(t=>n.jsxRuntimeExports.jsx(J,{...t})),v=e.memo(e.forwardRef(({children:t,className:o,keyCurrent:s,onChangeCheck:i,disabled:l,style:a,isCheck:c=!0},h)=>{const f=e.useMemo(()=>M.v4(),[]),{isChecks:u,selectKeys:d,disabledKeys:j,color:y}=R(),p=e.useMemo(()=>d?.some(x=>x.id===s.id),[d,s.id]),r=e.useMemo(()=>j?.some(x=>x===s.id),[j,s.id]),m=x=>{r||l||i?.(s,x)},b=e.useMemo(()=>g.twMerge("relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",G({"bg-content1 dark:hover:bg-default-100 hover:bg-default-100":!p,"bg-default-100 dark:bg-default-200":p}),o),[p,o]);return n.jsxRuntimeExports.jsxs("tr",{className:b,ref:h,style:a,children:[u&&n.jsxRuntimeExports.jsx("td",{className:"px-2 py-1",children:c&&n.jsxRuntimeExports.jsx(N.Checkbox,{id:f,onChange:x=>m(x.target.checked),checked:p||!1,className:"flex justify-center",disabled:r||l,color:y})}),t]})}));v.displayName="TableBodyRow";const V=e.memo(e.forwardRef(({children:t,className:o,text:s,style:i},l)=>{const a=e.useMemo(()=>g.twMerge("px-2 py-1 text-gray-900 dark:text-default-500 text-sm",o),[o]),c=!t||typeof t=="string"&&t.trim()==="";return n.jsxRuntimeExports.jsx("td",{ref:l,className:a,style:i,children:c?n.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm",children:s}):t})}));V.displayName="TableBodyColumn";const A=e.memo(({children:t,className:o,dataHeader:s=[],valueCheck:i=!1,disabledCheck:l,onChangeCheck:a,...c})=>{const h=e.useMemo(()=>M.v4(),[]),{isChecks:f,widthAction:u,isActions:d,color:j}=R(),y=r=>{l||a?.(r)},p=e.useMemo(()=>typeof t=="function"?s.map((r,m)=>{const b=t({item:r}),x=r?.id??r.header??m;return e.isValidElement(b)?e.cloneElement(b,{key:x,...c}):null}):e.Children.map(t,(r,m)=>e.isValidElement(r)?e.cloneElement(r,{key:s[m]?.id??s[m]?.header??m,...c}):r),[t,s,c]);return n.jsxRuntimeExports.jsxs("tr",{className:g.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",o),children:[f&&n.jsxRuntimeExports.jsx(E,{className:"min-w-[40px] w-[40px]",children:n.jsxRuntimeExports.jsx(N.Checkbox,{id:h,onChange:r=>y(r.target.checked),checked:i,className:"flex justify-center",color:j})}),p,d&&n.jsxRuntimeExports.jsx(E,{color:j,style:{minWidth:`${u}px`,width:`${u}px`}})]})});A.displayName="TableHeaderRow";const C=e.memo(({children:t,className:o="",style:s={}})=>{const i=e.useMemo(()=>g.twMerge("table-column-search px-2 border-b border-divider",o),[o]);return n.jsxRuntimeExports.jsx("th",{className:i,style:s,children:t})});C.displayName="TableSearchColumn";const B=e.memo(({children:t,className:o,dataHeader:s=[],...i})=>{const{isChecks:l,widthAction:a,isActions:c}=R(),h=e.useMemo(()=>g.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",o),[o]),f=e.useMemo(()=>typeof t=="function"?s.map((u,d)=>{const j=t({item:u}),y=u?.id??u?.header??d;return e.isValidElement(j)?e.cloneElement(j,{key:y,...i}):null}):e.Children.map(t,(u,d)=>e.isValidElement(u)?e.cloneElement(u,{key:s[d]?.id??s[d]?.header??d,...i}):u),[t,s,i]);return n.jsxRuntimeExports.jsxs("tr",{className:h,children:[l&&n.jsxRuntimeExports.jsx(C,{className:"min-w-[40px] w-[40px]"}),f,c&&n.jsxRuntimeExports.jsx(C,{style:{minWidth:`${a}px`,width:`${a}px`}})]})});B.displayName="TableSearchRow";const K=({className:t,children:o,classNameContainer:s,...i})=>{const{color:l="primary",disabledKeys:a,isChecks:c=!0,selectKeys:h=[],isActions:f=!0,widthAction:u=100,dataHeader:d}=i,j=e.useMemo(()=>g.twMerge("table-main-container w-full border-collapse table-auto",t),[t]),y=e.useMemo(()=>g.twMerge("max-w-full overflow-x-auto overflow-y-auto bg-content1",s),[s]);return n.jsxRuntimeExports.jsx(S.Provider,{value:{color:l,disabledKeys:a,isChecks:c,selectKeys:h,isActions:f,widthAction:u,totalColumn:d?.length||0},children:n.jsxRuntimeExports.jsx("div",{className:y,children:n.jsxRuntimeExports.jsx(k.AnimatePresence,{children:n.jsxRuntimeExports.jsx(k.LazyMotion,{features:()=>import("framer-motion").then(p=>p.domAnimation),children:n.jsxRuntimeExports.jsx("table",{className:j,children:e.Children.map(o,p=>e.isValidElement(p)?e.cloneElement(p,{...i}):p)})})})})})},U=Object.assign(K,{Header:T,HeaderRow:A,HeaderColumn:E,SearchRow:B,SearchColumn:C,Body:Q,BodyRow:v,BodyColumn:V}),X=({initialDisabledKeys:t=[],initialSelectKey:o=[],initialValueSearch:s={}})=>{const[i,l]=e.useState(o),[a,c]=e.useState(t),[h,f]=e.useState(s),u=e.useCallback(r=>{l(m=>m.some(x=>x.id===r.id)?m.filter(x=>x.id!==r.id):[...m,r])},[]),d=e.useCallback(r=>{l(r)},[]),j=e.useCallback(r=>{c(r)},[]),y=e.useCallback(()=>{l([])},[]),p=e.useCallback((r,m)=>{f(b=>{const x={...b};return m?x[r]=m:delete x[r],x})},[]);return{selectKeys:i,disabledKeys:a,valueSearch:h,handleSelectKeys:d,handleSelectKey:u,handleDisabledKeys:j,handleSetValueSearch:p,handleResetSelectKeys:y}};exports.Table=U;exports.TableHOC=K;exports.useTable=X;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/jsx-runtime-BjzqJBtL.js"),e=require("react"),E=require("../chunks/bundle-mjs-8z5d_e-8.js"),q=require("../chunks/tooltip-BPp8Maa7.js"),H=require("../chunks/clsx-C11secjj.js"),k=require("../chunks/checkbox-w969v4lK.js"),M=require("../chunks/v4-CqdK_b8Y.js"),w=require("../chunks/index-lrI_r1ww.js"),N=e.memo(({children:s,className:r,...n})=>{const i=e.useMemo(()=>E.twMerge("min-h-[100px] sticky top-0 z-10",r),[r]),m=e.useMemo(()=>e.Children.map(s,l=>e.isValidElement(l)?e.cloneElement(l,{...n}):l),[s,n]);return t.jsxRuntimeExports.jsx("thead",{className:i,children:m})});N.displayName="TableHeader";const g=e.memo(({children:s,className:r,style:n={},icon:i=null,text:m="",size:l,header:a})=>{const h=e.useMemo(()=>E.twMerge("px-2 border-b border-divider",r),[r]),y=e.useMemo(()=>({...n,width:l?`${l}px`:n.width,minWidth:l?`${l}px`:n.minWidth}),[n,l]),x=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("th",{className:h,style:y,children:x?t.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-center gap-x-2 font-medium",children:[t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left",children:m}),a?.information&&t.jsxRuntimeExports.jsx(q.Tooltip,{content:a?.information||"",children:t.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",role:"img",className:"text-default-300 cursor-pointer dark:text-foreground-500",width:16,height:16,viewBox:"0 0 24 24",children:t.jsxRuntimeExports.jsxs("g",{fill:"none",children:[t.jsxRuntimeExports.jsx("circle",{cx:12,cy:12,r:10,stroke:"currentColor",strokeWidth:"1.5"}),t.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",d:"M12 17v-6"}),t.jsxRuntimeExports.jsx("circle",{cx:1,cy:1,r:1,fill:"currentColor",transform:"matrix(1 0 0 -1 11 9)"})]})})})]}),t.jsxRuntimeExports.jsx("div",{className:"flex-1 flex",children:i})]}):s})});g.displayName="TableHeaderColumn";const W={color:"primary",disabledKeys:[],isChecks:!0,selectKeys:[],isActions:!0,widthAction:100,totalColumn:0},T=e.createContext(W),R=()=>e.useContext(T);function $({children:s,className:r,data:n=[],textNoData:i="No hay información",isLoading:m=!1,loadingText:l="Cargando ...",rowKey:a,...h}){const{totalColumn:y,isActions:x,isChecks:d}=R(),j=Number(y)+Number(x)+Number(d),f=e.useMemo(()=>E.twMerge(r),[r]),p=e.useMemo(()=>typeof s=="function"?n.map((c,b)=>{const u=s({item:c,index:b}),K=a?a(c,b):b;return e.isValidElement(u)?e.cloneElement(u,{key:K,...h}):null}):e.Children.map(s,(c,b)=>e.isValidElement(c)?e.cloneElement(c,{key:a?a(n[b],b):b,...h}):c),[s,n,h,a]);let o=null;return m?o=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:j,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center relative",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:l})})})}):n.length===0&&(o=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:j,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:i})})})})),t.jsxRuntimeExports.jsxs("tbody",{className:f,children:[p,o]})}const O=e.memo(s=>t.jsxRuntimeExports.jsx($,{...s})),S=e.memo(e.forwardRef(({children:s,className:r,keyCurrent:n,onChangeCheck:i,disabled:m,style:l,isCheck:a=!0},h)=>{const y=e.useMemo(()=>M.v4(),[]),{isChecks:x,selectKeys:d,disabledKeys:j,color:f}=R(),p=e.useMemo(()=>d?.some(u=>u.id===n.id),[d,n.id]),o=e.useMemo(()=>j?.some(u=>u===n.id),[j,n.id]),c=u=>{o||m||i?.(n,u)},b=e.useMemo(()=>E.twMerge("relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",H.clsx({"bg-content1 dark:hover:bg-default-100 hover:bg-default-100":!p,"bg-default-100 dark:bg-default-200":p}),r),[p,r]);return t.jsxRuntimeExports.jsxs("tr",{className:b,ref:h,style:l,children:[x&&t.jsxRuntimeExports.jsx("td",{className:"px-2 py-1",children:a&&t.jsxRuntimeExports.jsx(k.Checkbox,{id:y,onChange:u=>c(u.target.checked),checked:p||!1,className:"flex justify-center",disabled:o||m,color:f})}),s]})}));S.displayName="TableBodyRow";const v=e.memo(e.forwardRef(({children:s,className:r,text:n,style:i},m)=>{const l=e.useMemo(()=>E.twMerge("px-2 py-1 text-gray-900 dark:text-default-500 text-sm",r),[r]),a=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("td",{ref:m,className:l,style:i,children:a?t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm",children:n}):s})}));v.displayName="TableBodyColumn";const V=e.memo(({children:s,className:r,dataHeader:n=[],valueCheck:i=!1,disabledCheck:m,onChangeCheck:l,...a})=>{const h=e.useMemo(()=>M.v4(),[]),{isChecks:y,widthAction:x,isActions:d,color:j}=R(),f=o=>{m||l?.(o)},p=e.useMemo(()=>typeof s=="function"?n.map((o,c)=>{const b=s({item:o}),u=o?.id??o.header??c;return e.isValidElement(b)?e.cloneElement(b,{key:u,...a}):null}):e.Children.map(s,(o,c)=>e.isValidElement(o)?e.cloneElement(o,{key:n[c]?.id??n[c]?.header??c,...a}):o),[s,n,a]);return t.jsxRuntimeExports.jsxs("tr",{className:E.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),children:[y&&t.jsxRuntimeExports.jsx(g,{className:"min-w-[40px] w-[40px]",children:t.jsxRuntimeExports.jsx(k.Checkbox,{id:h,onChange:o=>f(o.target.checked),checked:i,className:"flex justify-center",color:j})}),p,d&&t.jsxRuntimeExports.jsx(g,{color:j,style:{minWidth:`${x}px`,width:`${x}px`}})]})});V.displayName="TableHeaderRow";const C=e.memo(({children:s,className:r="",style:n={}})=>{const i=e.useMemo(()=>E.twMerge("table-column-search px-2 border-b border-divider",r),[r]);return t.jsxRuntimeExports.jsx("th",{className:i,style:n,children:s})});C.displayName="TableSearchColumn";const A=e.memo(({children:s,className:r,dataHeader:n=[],...i})=>{const{isChecks:m,widthAction:l,isActions:a}=R(),h=e.useMemo(()=>E.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),[r]),y=e.useMemo(()=>typeof s=="function"?n.map((x,d)=>{const j=s({item:x}),f=x?.id??x?.header??d;return e.isValidElement(j)?e.cloneElement(j,{key:f,...i}):null}):e.Children.map(s,(x,d)=>e.isValidElement(x)?e.cloneElement(x,{key:n[d]?.id??n[d]?.header??d,...i}):x),[s,n,i]);return t.jsxRuntimeExports.jsxs("tr",{className:h,children:[m&&t.jsxRuntimeExports.jsx(C,{className:"min-w-[40px] w-[40px]"}),y,a&&t.jsxRuntimeExports.jsx(C,{style:{minWidth:`${l}px`,width:`${l}px`}})]})});A.displayName="TableSearchRow";const B=({className:s,children:r,classNameContainer:n,...i})=>{const{color:m="primary",disabledKeys:l,isChecks:a=!0,selectKeys:h=[],isActions:y=!0,widthAction:x=100,dataHeader:d}=i,j=e.useMemo(()=>E.twMerge("table-main-container w-full border-collapse table-auto",s),[s]),f=e.useMemo(()=>E.twMerge("max-w-full overflow-x-auto overflow-y-auto bg-content1",n),[n]);return t.jsxRuntimeExports.jsx(T.Provider,{value:{color:m,disabledKeys:l,isChecks:a,selectKeys:h,isActions:y,widthAction:x,totalColumn:d?.length||0},children:t.jsxRuntimeExports.jsx("div",{className:f,children:t.jsxRuntimeExports.jsx(w.AnimatePresence,{children:t.jsxRuntimeExports.jsx(w.LazyMotion,{features:()=>Promise.resolve().then(()=>require("../chunks/index-CL73JQgs.js")).then(p=>p.domAnimation),children:t.jsxRuntimeExports.jsx("table",{className:j,children:e.Children.map(r,p=>e.isValidElement(p)?e.cloneElement(p,{...i}):p)})})})})})},P=Object.assign(B,{Header:N,HeaderRow:V,HeaderColumn:g,SearchRow:A,SearchColumn:C,Body:O,BodyRow:S,BodyColumn:v}),D=({initialDisabledKeys:s=[],initialSelectKey:r=[],initialValueSearch:n={}})=>{const[i,m]=e.useState(r),[l,a]=e.useState(s),[h,y]=e.useState(n),x=e.useCallback(o=>{m(c=>c.some(u=>u.id===o.id)?c.filter(u=>u.id!==o.id):[...c,o])},[]),d=e.useCallback(o=>{m(o)},[]),j=e.useCallback(o=>{a(o)},[]),f=e.useCallback(()=>{m([])},[]),p=e.useCallback((o,c)=>{y(b=>{const u={...b};return c?u[o]=c:delete u[o],u})},[]);return{selectKeys:i,disabledKeys:l,valueSearch:h,handleSelectKeys:d,handleSelectKey:x,handleDisabledKeys:j,handleSetValueSearch:p,handleResetSelectKeys:f}};exports.Table=P;exports.TableHOC=B;exports.useTable=D;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\trowKey,\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, index });\n\t\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index; // fallback\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: keyValue,\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, index) =>\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\tkey: rowKey ? rowKey(data[index] as TData, index) : 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: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props, rowKey]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\tconst keyValue = (el as any)?.id ?? el.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? 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: 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\t\t\t\tconst keyValue = (el as any)?.id ?? (el as any)?.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? (dataHeader[index] as any)?.header ?? index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","rowKey","totalColumn","isActions","isChecks","total","renderedRows","el","index","keyValue","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
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\trowKey,\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, index });\n\t\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index; // fallback\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: keyValue,\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, index) =>\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\tkey: rowKey ? rowKey(data[index] as TData, index) : 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: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props, rowKey]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\tconst keyValue = (el as any)?.id ?? el.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? 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: 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\t\t\t\tconst keyValue = (el as any)?.id ?? (el as any)?.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? (dataHeader[index] as any)?.header ?? index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","rowKey","totalColumn","isActions","isChecks","total","renderedRows","el","index","keyValue","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { j as e } from "../chunks/jsx-runtime-Cl_4eDuT.js";
2
- import u, { useMemo as x, isValidElement as k, createContext as L, useContext as O, memo as R, forwardRef as E, useState as v, useCallback as w } from "react";
3
- import { twMerge as g } from "tailwind-merge";
4
- import { T as P } from "../chunks/tooltip-B-5G3VVC.js";
5
- import { v4 as A } from "uuid";
6
- import _ from "clsx";
7
- import { C as B } from "../chunks/checkbox-BhW9i0pm.js";
8
- import { AnimatePresence as q, LazyMotion as F } from "framer-motion";
2
+ import u, { useMemo as x, isValidElement as k, createContext as D, useContext as O, memo as R, forwardRef as A, useState as v, useCallback as w } from "react";
3
+ import { t as g } from "../chunks/bundle-mjs-2oQ8XDAz.js";
4
+ import { T as P } from "../chunks/tooltip-Bf9DqrJk.js";
5
+ import { c as _ } from "../chunks/clsx-OuTLNxxd.js";
6
+ import { C as E } from "../chunks/checkbox-BvvZL9H4.js";
7
+ import { v as B } from "../chunks/v4-BysszJq8.js";
8
+ import { A as q, L as F } from "../chunks/index-DC9BfnBH.js";
9
9
  const K = u.memo(({ children: t, className: o, ...s }) => {
10
10
  const l = x(() => g("min-h-[100px] sticky top-0 z-10", o), [o]), i = x(
11
11
  () => u.Children.map(t, (r) => k(r) ? u.cloneElement(r, { ...s }) : r),
@@ -57,7 +57,7 @@ const G = {
57
57
  isActions: !0,
58
58
  widthAction: 100,
59
59
  totalColumn: 0
60
- }, V = L(G), S = () => O(V);
60
+ }, V = D(G), S = () => O(V);
61
61
  function I({
62
62
  children: t,
63
63
  className: o,
@@ -69,9 +69,9 @@ function I({
69
69
  ...b
70
70
  }) {
71
71
  const { totalColumn: C, isActions: d, isChecks: h } = S(), y = Number(C) + Number(d) + Number(h), j = x(() => g(o), [o]), f = x(() => typeof t == "function" ? s.map((c, p) => {
72
- const m = t({ item: c, index: p }), D = a ? a(c, p) : p;
72
+ const m = t({ item: c, index: p }), L = a ? a(c, p) : p;
73
73
  return k(m) ? u.cloneElement(m, {
74
- key: D,
74
+ key: L,
75
75
  ...b
76
76
  }) : null;
77
77
  }) : u.Children.map(
@@ -90,8 +90,8 @@ function I({
90
90
  const J = R(
91
91
  (t) => /* @__PURE__ */ e.jsx(I, { ...t })
92
92
  ), W = R(
93
- E(({ children: t, className: o, keyCurrent: s, onChangeCheck: l, disabled: i, style: r, isCheck: a = !0 }, b) => {
94
- const C = x(() => A(), []), { isChecks: d, selectKeys: h, disabledKeys: y, color: j } = S(), f = x(() => h?.some((m) => m.id === s.id), [h, s.id]), n = x(() => y?.some((m) => m === s.id), [y, s.id]), c = (m) => {
93
+ A(({ children: t, className: o, keyCurrent: s, onChangeCheck: l, disabled: i, style: r, isCheck: a = !0 }, b) => {
94
+ const C = x(() => B(), []), { isChecks: d, selectKeys: h, disabledKeys: y, color: j } = S(), f = x(() => h?.some((m) => m.id === s.id), [h, s.id]), n = x(() => y?.some((m) => m === s.id), [y, s.id]), c = (m) => {
95
95
  n || i || l?.(s, m);
96
96
  }, p = x(
97
97
  () => g(
@@ -106,7 +106,7 @@ const J = R(
106
106
  );
107
107
  return /* @__PURE__ */ e.jsxs("tr", { className: p, ref: b, style: r, children: [
108
108
  d && /* @__PURE__ */ e.jsx("td", { className: "px-2 py-1", children: a && /* @__PURE__ */ e.jsx(
109
- B,
109
+ E,
110
110
  {
111
111
  id: C,
112
112
  onChange: (m) => c(m.target.checked),
@@ -122,7 +122,7 @@ const J = R(
122
122
  );
123
123
  W.displayName = "TableBodyRow";
124
124
  const $ = R(
125
- E(({ children: t, className: o, text: s, style: l }, i) => {
125
+ A(({ children: t, className: o, text: s, style: l }, i) => {
126
126
  const r = x(
127
127
  () => g("px-2 py-1 text-gray-900 dark:text-default-500 text-sm", o),
128
128
  [o]
@@ -133,7 +133,7 @@ const $ = R(
133
133
  $.displayName = "TableBodyColumn";
134
134
  const H = u.memo(
135
135
  ({ children: t, className: o, dataHeader: s = [], valueCheck: l = !1, disabledCheck: i, onChangeCheck: r, ...a }) => {
136
- const b = x(() => A(), []), { isChecks: C, widthAction: d, isActions: h, color: y } = S(), j = (n) => {
136
+ const b = x(() => B(), []), { isChecks: C, widthAction: d, isActions: h, color: y } = S(), j = (n) => {
137
137
  i || r?.(n);
138
138
  }, f = x(() => typeof t == "function" ? s.map((n, c) => {
139
139
  const p = t({ item: n }), m = n?.id ?? n.header ?? c;
@@ -150,7 +150,7 @@ const H = u.memo(
150
150
  ), [t, s, a]);
151
151
  return /* @__PURE__ */ e.jsxs("tr", { className: g("bg-gray-50 dark:bg-default-100 h-[50px]", o), children: [
152
152
  C && /* @__PURE__ */ e.jsx(N, { className: "min-w-[40px] w-[40px]", children: /* @__PURE__ */ e.jsx(
153
- B,
153
+ E,
154
154
  {
155
155
  id: b,
156
156
  onChange: (n) => j(n.target.checked),
@@ -205,7 +205,7 @@ const Q = ({ className: t, children: o, classNameContainer: s, ...l }) => {
205
205
  widthAction: d,
206
206
  totalColumn: h?.length || 0
207
207
  },
208
- children: /* @__PURE__ */ e.jsx("div", { className: j, children: /* @__PURE__ */ e.jsx(q, { children: /* @__PURE__ */ e.jsx(F, { features: () => import("framer-motion").then((f) => f.domAnimation), children: /* @__PURE__ */ e.jsx("table", { className: y, children: u.Children.map(
208
+ children: /* @__PURE__ */ e.jsx("div", { className: j, children: /* @__PURE__ */ e.jsx(q, { children: /* @__PURE__ */ e.jsx(F, { features: () => import("../chunks/index-BbDfYVLO.js").then((f) => f.domAnimation), children: /* @__PURE__ */ e.jsx("table", { className: y, children: u.Children.map(
209
209
  o,
210
210
  (f) => k(f) ? u.cloneElement(f, {
211
211
  ...l
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\trowKey,\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, index });\n\t\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index; // fallback\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: keyValue,\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, index) =>\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\tkey: rowKey ? rowKey(data[index] as TData, index) : 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: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props, rowKey]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\tconst keyValue = (el as any)?.id ?? el.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? 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: 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\t\t\t\tconst keyValue = (el as any)?.id ?? (el as any)?.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? (dataHeader[index] as any)?.header ?? index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","rowKey","totalColumn","isActions","isChecks","total","renderedRows","el","index","keyValue","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
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\trowKey,\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, index });\n\t\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index; // fallback\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: keyValue,\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, index) =>\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\tkey: rowKey ? rowKey(data[index] as TData, index) : 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: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props, rowKey]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\tconst keyValue = (el as any)?.id ?? el.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? 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: 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\t\t\t\tconst keyValue = (el as any)?.id ?? (el as any)?.header ?? index;\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: keyValue,\n\t\t\t\t\t\t\t...props,\n\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, index) =>\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\tkey: (dataHeader[index] as any)?.id ?? (dataHeader[index] as any)?.header ?? index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","rowKey","totalColumn","isActions","isChecks","total","renderedRows","el","index","keyValue","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":";;;;;;;;AAKO,MAAMA,IAAoCC,EAAM,KAAK,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,QAAY;AAClG,QAAMC,IAAcC,EAAQ,MAAMC,EAAQ,mCAAmCJ,CAAS,GAAG,CAACA,CAAS,CAAC,GAE9FK,IAAiBF;AAAA,IACtB,MAAML,EAAM,SAAS,IAAIC,GAAU,CAACO,MAAWC,EAAeD,CAAK,IAAIR,EAAM,aAAaQ,GAAuB,EAAE,GAAGL,EAAA,CAAO,IAAIK,CAAM;AAAA,IACvI,CAACP,GAAUE,CAAK;AAAA,EAAA;AAGjB,SAAOO,gBAAAA,EAAAA,IAAC,SAAA,EAAM,WAAWN,GAAc,UAAAG,GAAe;AACvD,CAAC;AACDR,EAAY,cAAc;ACVnB,MAAMY,IAAgDX,EAAM;AAAA,EAClE,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,OAAAU,IAAQ,CAAA,GAAI,MAAAC,IAAO,MAAM,MAAAC,IAAO,IAAI,MAAAC,GAAM,QAAAC,QAAa;AAC9E,UAAMZ,IAAcC,EAAQ,MAAMC,EAAQ,gCAAgCJ,CAAS,GAAG,CAACA,CAAS,CAAC,GAE3Fe,IAAcZ;AAAA,MACnB,OAAO;AAAA,QACN,GAAGO;AAAA,QACH,OAAOG,IAAO,GAAGA,CAAI,OAAOH,EAAM;AAAA,QAClC,UAAUG,IAAO,GAAGA,CAAI,OAAOH,EAAM;AAAA,MAAA;AAAA,MAEtC,CAACA,GAAOG,CAAI;AAAA,IAAA,GAGPG,IAAkB,CAACjB,KAAa,OAAOA,KAAa,YAAYA,EAAS,WAAW;AAE1F,WACCS,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAWN,GAAa,OAAOa,GACjC,UAAAC,IACAC,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,yDACd,UAAA;AAAA,MAAAA,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,8BACd,UAAA;AAAA,QAAAT,gBAAAA,EAAAA,IAAC,KAAA,EAAE,WAAU,yEAAyE,UAAAI,GAAK;AAAA,QAC1FE,GAAQ,eACRN,gBAAAA,EAAAA,IAACU,KAAQ,SAASJ,GAAQ,eAAe,IACxC,UAAAN,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACA,eAAY;AAAA,YACZ,MAAK;AAAA,YACL,WAAU;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,SAAQ;AAAA,YAER,UAAAS,gBAAAA,EAAAA,KAAC,KAAA,EAAE,MAAK,QACP,UAAA;AAAA,cAAAT,gBAAAA,EAAAA,IAAC,UAAA,EAAO,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,QAAO,gBAAe,aAAY,MAAA,CAAM;AAAA,cACvEA,gBAAAA,EAAAA,IAAC,UAAK,QAAO,gBAAe,eAAc,SAAQ,aAAY,OAAM,GAAE,YAAA,CAAY;AAAA,cAClFA,gBAAAA,EAAAA,IAAC,UAAA,EAAO,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAK,gBAAe,WAAU,wBAAA,CAAwB;AAAA,YAAA,EAAA,CACnF;AAAA,UAAA;AAAA,QAAA,EACD,CACD;AAAA,MAAA,GAEF;AAAA,MACAA,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,eAAe,UAAAG,EAAA,CAAK;AAAA,IAAA,EAAA,CACpC,IAEAZ,GAEF;AAAA,EAEF;AACD;AACAU,EAAkB,cAAc;AClDhC,MAAMU,IAAmC;AAAA,EACxC,OAAO;AAAA,EACP,cAAc,CAAA;AAAA,EACd,UAAU;AAAA,EACV,YAAY,CAAA;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,aAAa;AACd,GAEaC,IAAeC,EAAiCF,CAAa,GCX7DG,IAAkB,MACvBC,EAAWH,CAAY;ACE/B,SAASI,EAAyC;AAAA,EACjD,UAAAzB;AAAA,EACA,WAAAC;AAAA,EACA,MAAAyB,IAAO,CAAA;AAAA,EACP,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,aAAAC,IAAc;AAAA,EACd,QAAAC;AAAA,EACA,GAAG5B;AACJ,GAA0B;AACxB,QAAM,EAAE,aAAA6B,GAAa,WAAAC,GAAW,UAAAC,EAAA,IAAaV,EAAA,GACvCW,IAAQ,OAAOH,CAAW,IAAI,OAAOC,CAAS,IAAI,OAAOC,CAAQ,GAEjE9B,IAAcC,EAAQ,MAAMC,EAAQJ,CAAS,GAAG,CAACA,CAAS,CAAC,GAE3DkC,IAAe/B,EAAQ,MACxB,OAAOJ,KAAa,aAChB0B,EAAK,IAAI,CAACU,GAAIC,MAAU;AAC9B,UAAM9B,IAAQP,EAAS,EAAE,MAAMoC,GAAI,OAAAC,GAAO,GACpCC,IAAWR,IAASA,EAAOM,GAAIC,CAAK,IAAIA;AAE9C,WAAO7B,EAAeD,CAAK,IACxBR,EAAM,aAAaQ,GAAwC;AAAA,MAC3D,KAAK+B;AAAA,MACL,GAAGpC;AAAA,IAAA,CACH,IACA;AAAA,EACJ,CAAC,IAEMH,EAAM,SAAS;AAAA,IAAIC;AAAA,IAAU,CAACO,GAAO8B,MAC3C7B,EAAeD,CAAK,IACjBR,EAAM,aAAaQ,GAAwC;AAAA,MAC3D,KAAKuB,IAASA,EAAOJ,EAAKW,CAAK,GAAYA,CAAK,IAAIA;AAAA,MACpD,GAAGnC;AAAA,IAAA,CACH,IACAK;AAAA,EAAA,GAGH,CAACP,GAAU0B,GAAMxB,GAAO4B,CAAM,CAAC;AAElC,MAAIS,IAAmC;AAEvC,SAAIX,IACHW,IACC9B,gBAAAA,EAAAA,IAAC,QAAG,WAAU,4BACb,gCAAC,MAAA,EAAG,WAAU,sBAAqB,SAASyB,GAC3C,gCAAC,OAAA,EAAI,WAAU,gCACd,UAAAzB,gBAAAA,EAAAA,IAAC,KAAA,EAAE,WAAU,sCAAsC,UAAAoB,EAAA,CAAY,EAAA,CAChE,EAAA,CACD,EAAA,CACD,IAESH,EAAK,WAAW,MAC1Ba,IACC9B,gBAAAA,EAAAA,IAAC,QAAG,WAAU,4BACb,gCAAC,MAAA,EAAG,WAAU,sBAAqB,SAASyB,GAC3C,gCAAC,OAAA,EAAI,WAAU,uBACd,UAAAzB,gBAAAA,EAAAA,IAAC,KAAA,EAAE,WAAU,sCAAsC,UAAAkB,EAAA,CAAW,EAAA,CAC/D,EAAA,CACD,EAAA,CACD,IAKDT,gBAAAA,EAAAA,KAAC,SAAA,EAAM,WAAWf,GAChB,UAAA;AAAA,IAAAgC;AAAA,IACAI;AAAA,EAAA,GACF;AAEH;AAEO,MAAMC,IAAYC;AAAA,EACxB,CAAuBvC,MACfO,gBAAAA,MAACgB,GAAA,EAAoB,GAAGvB,EAAA,CAAO;AAExC,GC1EawC,IAAeD;AAAA,EAC3BE,EAAmD,CAAC,EAAE,UAAA3C,GAAU,WAAAC,GAAW,YAAA2C,GAAY,eAAAC,GAAe,UAAAC,GAAU,OAAAnC,GAAO,SAAAoC,IAAU,GAAA,GAAQC,MAAQ;AAChJ,UAAMC,IAAM7C,EAAQ,MAAM8C,EAAA,GAAU,CAAA,CAAE,GAChC,EAAE,UAAAjB,GAAU,YAAAkB,GAAY,cAAAC,GAAc,OAAAC,EAAA,IAAU9B,EAAA,GAEhD+B,IAAQlD,EAAQ,MAAM+C,GAAY,KAAK,CAACf,MAAOA,EAAG,OAAOQ,EAAW,EAAE,GAAG,CAACO,GAAYP,EAAW,EAAE,CAAC,GAEpGW,IAAgBnD,EAAQ,MAAMgD,GAAc,KAAK,CAAChB,MAAOA,MAAOQ,EAAW,EAAE,GAAG,CAACQ,GAAcR,EAAW,EAAE,CAAC,GAE7GY,IAAe,CAACC,MAAmB;AACxC,MAAIF,KAAiBT,KACrBD,IAAgBD,GAAYa,CAAK;AAAA,IAClC,GAEMC,IAAWtD;AAAA,MAChB,MACCC;AAAA,QACC;AAAA,QACAsD,EAAK;AAAA,UACJ,8DAA8D,CAACL;AAAA,UAC/D,sCAAsCA;AAAA,QAAA,CACtC;AAAA,QACDrD;AAAA,MAAA;AAAA,MAEF,CAACqD,GAAOrD,CAAS;AAAA,IAAA;AAGlB,WACCiB,gBAAAA,EAAAA,KAAC,MAAA,EAAG,WAAWwC,GAAU,KAAAV,GAAU,OAAArC,GACjC,UAAA;AAAA,MAAAsB,KACAxB,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,aACZ,UAAAsC,KACAtC,gBAAAA,EAAAA;AAAAA,QAACmD;AAAA,QAAA;AAAA,UACA,IAAIX;AAAA,UACJ,UAAU,CAACY,MAAML,EAAaK,EAAE,OAAO,OAAO;AAAA,UAC9C,SAASP,KAAS;AAAA,UAClB,WAAU;AAAA,UACV,UAAUC,KAAiBT;AAAA,UAC3B,OAAAO;AAAA,QAAA;AAAA,MAAA,GAGH;AAAA,MAEArD;AAAA,IAAA,GACF;AAAA,EAEF,CAAC;AACF;AAEA0C,EAAa,cAAc;ACpDpB,MAAMoB,IAAkBrB;AAAA,EAC9BE,EAAuD,CAAC,EAAE,UAAA3C,GAAU,WAAAC,GAAW,MAAAY,GAAO,OAAAF,EAAA,GAAQqC,MAAQ;AACrG,UAAM7C,IAAcC;AAAA,MACnB,MAAMC,EAAQ,yDAAyDJ,CAAS;AAAA,MAChF,CAACA,CAAS;AAAA,IAAA,GAGLgB,IAAkB,CAACjB,KAAa,OAAOA,KAAa,YAAYA,EAAS,WAAW;AAE1F,WACCS,gBAAAA,EAAAA,IAAC,MAAA,EAAG,KAAAuC,GAAU,WAAW7C,GAAa,OAAAQ,GACpC,UAAAM,IACAR,gBAAAA,EAAAA,IAAC,KAAA,EAAE,WAAU,wBAAwB,UAAAI,EAAA,CAAK,IAE1Cb,GAEF;AAAA,EAEF,CAAC;AACF;AAEA8D,EAAgB,cAAc;AChBvB,MAAMC,IAA0ChE,EAAM;AAAA,EAC5D,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAA+D,IAAa,CAAA,GAAI,YAAAC,IAAa,IAAO,eAAAV,GAAe,eAAAV,GAAe,GAAG3C,QAAY;AACzG,UAAM+C,IAAM7C,EAAQ,MAAM8C,EAAA,GAAU,CAAA,CAAE,GAChC,EAAE,UAAAjB,GAAU,aAAAiC,GAAa,WAAAlC,GAAW,OAAAqB,EAAA,IAAU9B,EAAA,GAE9CiC,IAAe,CAACC,MAAmB;AACxC,MAAIF,KACJV,IAAgBY,CAAK;AAAA,IACtB,GAEMU,IAAiB/D,EAAQ,MAC1B,OAAOJ,KAAa,aAChBgE,EAAW,IAAI,CAAC5B,GAAIC,MAAU;AACpC,YAAM9B,IAAQP,EAAS,EAAE,MAAMoC,GAAI,GAE7BE,IAAYF,GAAY,MAAMA,EAAG,UAAUC;AAEjD,aAAO7B,EAAeD,CAAK,IACxBR,EAAM,aAAaQ,GAAwC;AAAA,QAC3D,KAAK+B;AAAA,QACL,GAAGpC;AAAA,MAAA,CACH,IACA;AAAA,IACJ,CAAC,IAEMH,EAAM,SAAS;AAAA,MAAIC;AAAA,MAAU,CAACO,GAAO8B,MAC3C7B,EAAeD,CAAK,IACjBR,EAAM,aAAaQ,GAAwC;AAAA,QAC3D,KAAMyD,EAAW3B,CAAK,GAAW,MAAM2B,EAAW3B,CAAK,GAAG,UAAUA;AAAA,QACpE,GAAGnC;AAAA,MAAA,CACF,IACDK;AAAA,IAAA,GAGH,CAACP,GAAUgE,GAAY9D,CAAK,CAAC;AAEhC,kCACE,MAAA,EAAG,WAAWG,EAAQ,2CAA2CJ,CAAS,GACzE,UAAA;AAAA,MAAAgC,KACAxB,gBAAAA,EAAAA,IAACC,GAAA,EAAkB,WAAU,yBAC5B,UAAAD,gBAAAA,EAAAA;AAAAA,QAACmD;AAAA,QAAA;AAAA,UACA,IAAIX;AAAA,UACJ,UAAU,CAACY,MAAML,EAAaK,EAAE,OAAO,OAAO;AAAA,UAC9C,SAASI;AAAA,UACT,WAAU;AAAA,UACV,OAAAZ;AAAA,QAAA;AAAA,MAAA,GAEF;AAAA,MAGAc;AAAA,MAEAnC,KAAavB,gBAAAA,EAAAA,IAACC,GAAA,EAAkB,OAAA2C,GAAc,OAAO,EAAE,UAAU,GAAGa,CAAW,MAAM,OAAO,GAAGA,CAAW,OAAK,CAAG;AAAA,IAAA,GACpH;AAAA,EAEF;AACD;AACAH,EAAe,cAAc;AC9DtB,MAAMK,IAAgDrE,EAAM,KAAK,CAAC,EAAE,UAAAC,GAAU,WAAAC,IAAY,IAAI,OAAAU,IAAQ,CAAA,QAAS;AACrH,QAAMR,IAAcC,EAAQ,MAAMC,EAAQ,oDAAoDJ,CAAS,GAAG,CAACA,CAAS,CAAC;AAErH,SACCQ,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAWN,GAAa,OAAAQ,GAC1B,UAAAX,GACF;AAEF,CAAC;AACDoE,EAAkB,cAAc;ACNzB,MAAMC,IAA0CtE,EAAM,KAAK,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAA+D,IAAa,CAAA,GAAI,GAAG9D,QAAY;AACzH,QAAM,EAAE,UAAA+B,GAAU,aAAAiC,GAAa,WAAAlC,EAAA,IAAcT,EAAA,GAEvCpB,IAAcC,EAAQ,MAAMC,EAAQ,2CAA2CJ,CAAS,GAAG,CAACA,CAAS,CAAC,GAEtGqE,IAAmBlE,EAAQ,MAC5B,OAAOJ,KAAa,aAChBgE,EAAW,IAAI,CAAC5B,GAAIC,MAAU;AACpC,UAAM9B,IAAQP,EAAS,EAAE,MAAMoC,GAAI,GAC7BE,IAAYF,GAAY,MAAOA,GAAY,UAAUC;AAC3D,WAAO7B,EAAeD,CAAK,IACxBR,EAAM,aAAaQ,GAAwC;AAAA,MAC3D,KAAK+B;AAAA,MACL,GAAGpC;AAAA,IAAA,CACH,IACA;AAAA,EACJ,CAAC,IAEMH,EAAM,SAAS;AAAA,IAAIC;AAAA,IAAU,CAACO,GAAO8B,MAC3C7B,EAAeD,CAAK,IACjBR,EAAM,aAAaQ,GAAwC;AAAA,MAC3D,KAAMyD,EAAW3B,CAAK,GAAW,MAAO2B,EAAW3B,CAAK,GAAW,UAAUA;AAAA,MAC7E,GAAGnC;AAAA,IAAA,CACH,IACAK;AAAA,EAAA,GAGH,CAACP,GAAUgE,GAAY9D,CAAK,CAAC;AAEhC,SACCgB,gBAAAA,EAAAA,KAAC,MAAA,EAAG,WAAWf,GACb,UAAA;AAAA,IAAA8B,KAAYxB,gBAAAA,EAAAA,IAAC2D,GAAA,EAAkB,WAAU,wBAAA,CAAwB;AAAA,IACjEE;AAAA,IACAtC,KAAavB,gBAAAA,EAAAA,IAAC2D,GAAA,EAAkB,OAAO,EAAE,UAAU,GAAGF,CAAW,MAAM,OAAO,GAAGA,CAAW,OAAK,CAAG;AAAA,EAAA,GACtG;AAEF,CAAC;AACDG,EAAe,cAAc;AC9BtB,MAAME,IAAW,CAAC,EAAE,WAAAtE,GAAW,UAAAD,GAAU,oBAAAwE,GAAoB,GAAGtE,QAAwB;AAC9F,QAAM,EAAE,OAAAmD,IAAQ,WAAW,cAAAD,GAAc,UAAAnB,IAAW,IAAM,YAAAkB,IAAa,CAAA,GAAI,WAAAnB,IAAY,IAAM,aAAAkC,IAAc,KAAK,YAAAF,MAAe9D,GAEzHuE,IAAarE,EAAQ,MAAMC,EAAQ,0DAA0DJ,CAAS,GAAG,CAACA,CAAS,CAAC,GACpHyE,IAAiBtE,EAAQ,MAAMC,EAAQ,0DAA0DmE,CAAkB,GAAG,CAACA,CAAkB,CAAC;AAEhJ,SACC/D,gBAAAA,EAAAA;AAAAA,IAACY,EAAa;AAAA,IAAb;AAAA,MACA,OAAO;AAAA,QACN,OAAAgC;AAAA,QACA,cAAAD;AAAA,QACA,UAAAnB;AAAA,QACA,YAAAkB;AAAA,QACA,WAAAnB;AAAA,QACA,aAAAkC;AAAA,QACA,aAAaF,GAAY,UAAU;AAAA,MAAA;AAAA,MAGpC,UAAAvD,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWiE,GACf,UAAAjE,gBAAAA,EAAAA,IAACkE,KACA,UAAAlE,gBAAAA,EAAAA,IAACmE,GAAA,EAAW,UAAU,MAAM,OAAO,6BAAe,EAAE,KAAK,CAACC,MAAQA,EAAI,YAAY,GACjF,gCAAC,SAAA,EAAM,WAAWJ,GAChB,UAAA1E,EAAM,SAAS;AAAA,QAAIC;AAAA,QAAU,CAACO,MAC9BC,EAAeD,CAAK,IACjBR,EAAM,aAAaQ,GAAuB;AAAA,UAC1C,GAAGL;AAAA,QAAA,CACF,IACDK;AAAA,MAAA,GAEL,EAAA,CACD,EAAA,CACD,EAAA,CACD;AAAA,IAAA;AAAA,EAAA;AAGH,GAEauE,KAAQ,OAAO,OAAOP,GAAU;AAAA,EAC5C,QAAQzE;AAAA,EAER,WAAWiE;AAAA,EACX,cAAcrD;AAAA,EAEd,WAAW2D;AAAA,EACX,cAAcD;AAAA,EAEd,MAAM5B;AAAA,EAEN,SAASE;AAAA,EACT,YAAYoB;AACb,CAAC,GCtDYiB,KAAW,CAAC,EAAE,qBAAAC,IAAsB,CAAA,GAAI,kBAAAC,IAAmB,IAAI,oBAAAC,IAAqB,CAAA,QAAqC;AACrI,QAAM,CAAC/B,GAAYgC,CAAa,IAAIC,EAA4BH,CAAgB,GAC1E,CAAC7B,GAAciC,CAAe,IAAID,EAAmBJ,CAAmB,GACxE,CAACM,GAAaC,CAAc,IAAIH,EAAgCF,CAAkB,GAElFM,IAAkBC,EAAY,CAAChC,MAA2B;AAC/D,IAAA0B,EAAc,CAACO,MACCA,EAAK,KAAK,CAACtD,MAAOA,EAAG,OAAOqB,EAAM,EAAE,IAEnCiC,EAAK,OAAO,CAACtD,MAAOA,EAAG,OAAOqB,EAAM,EAAE,IAAI,CAAC,GAAGiC,GAAMjC,CAAK,CACzE;AAAA,EACF,GAAG,CAAA,CAAE,GAECkC,IAAmBF,EAAY,CAAChC,MAA6B;AAClE,IAAA0B,EAAc1B,CAAK;AAAA,EACpB,GAAG,CAAA,CAAE,GAECmC,IAAqBH,EAAY,CAAChC,MAAoB;AAC3D,IAAA4B,EAAgB5B,CAAK;AAAA,EACtB,GAAG,CAAA,CAAE,GAEIoC,IAAwBJ,EAAY,MAAM;AAC5C,IAAAN,EAAc,CAAA,CAAE;AAAA,EACpB,GAAG,CAAA,CAAE,GAEFW,IAAuBL,EAAY,CAACM,GAAatC,MAAkB;AACxE,IAAA8B,EAAe,CAACG,MAAS;AACxB,YAAMM,IAAW,EAAE,GAAGN,EAAA;AAEtB,aAAIjC,IAAOuC,EAASD,CAAG,IAAItC,IACtB,OAAOuC,EAASD,CAAG,GAEjBC;AAAA,IACR,CAAC;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACN,YAAA7C;AAAA,IACA,cAAAC;AAAA,IACA,aAAAkC;AAAA,IACA,kBAAAK;AAAA,IACA,iBAAAH;AAAA,IACA,oBAAAI;AAAA,IACA,sBAAAE;AAAA,IACM,uBAAAD;AAAA,EAAA;AAER;"}