ivt 0.3.3 → 0.3.4

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 (257) hide show
  1. package/dist/accordion/index.mjs +19 -1
  2. package/dist/accordion/index.mjs.map +1 -1
  3. package/dist/alert/index.mjs +43 -1
  4. package/dist/alert/index.mjs.map +1 -1
  5. package/dist/alert-dialog/index.mjs +260 -1
  6. package/dist/alert-dialog/index.mjs.map +1 -1
  7. package/dist/avatar/index.mjs +164 -1
  8. package/dist/avatar/index.mjs.map +1 -1
  9. package/dist/badge/index.mjs +6 -1
  10. package/dist/badge/index.mjs.map +1 -1
  11. package/dist/base/index.mjs +760 -1
  12. package/dist/base/index.mjs.map +1 -1
  13. package/dist/button/index.mjs +6 -1
  14. package/dist/button/index.mjs.map +1 -1
  15. package/dist/calendar/index.mjs +11 -1
  16. package/dist/calendar/index.mjs.map +1 -1
  17. package/dist/card/index.mjs +55 -1
  18. package/dist/card/index.mjs.map +1 -1
  19. package/dist/chart/index.mjs +17042 -1
  20. package/dist/chart/index.mjs.map +1 -1
  21. package/dist/checkbox/index.mjs +223 -1
  22. package/dist/checkbox/index.mjs.map +1 -1
  23. package/dist/chunks/_commonjsHelpers-DqEvkrE1.mjs +6 -0
  24. package/dist/chunks/_commonjsHelpers-DqEvkrE1.mjs.map +1 -0
  25. package/dist/chunks/accordion-BMP2PSSC.mjs +455 -0
  26. package/dist/chunks/{accordion-CdshDFZC.mjs.map → accordion-BMP2PSSC.mjs.map} +1 -1
  27. package/dist/chunks/badge-DxuZhgBF.mjs +57 -0
  28. package/dist/chunks/{badge-BYqshEmA.mjs.map → badge-DxuZhgBF.mjs.map} +1 -1
  29. package/dist/chunks/bundle-mjs-tFg__FnT.mjs +4491 -0
  30. package/dist/chunks/{bundle-mjs-9BXytT_r.mjs.map → bundle-mjs-tFg__FnT.mjs.map} +1 -1
  31. package/dist/chunks/button-CX0htulo.mjs +47 -0
  32. package/dist/chunks/{button-DrFZXJ7z.mjs.map → button-CX0htulo.mjs.map} +1 -1
  33. package/dist/chunks/calendar-B4IV5RyM.mjs +7106 -0
  34. package/dist/chunks/calendar-B4IV5RyM.mjs.map +1 -0
  35. package/dist/chunks/check-B7209s3e.mjs +15 -0
  36. package/dist/chunks/{check-CimnOyD7.mjs.map → check-B7209s3e.mjs.map} +1 -1
  37. package/dist/chunks/chevron-down-D84DRJBv.mjs +15 -0
  38. package/dist/chunks/{chevron-down-D3fvbjxE.mjs.map → chevron-down-D84DRJBv.mjs.map} +1 -1
  39. package/dist/chunks/chevron-left-DtL1t1DJ.mjs +15 -0
  40. package/dist/chunks/{chevron-left-CrN7DlXg.mjs.map → chevron-left-DtL1t1DJ.mjs.map} +1 -1
  41. package/dist/chunks/chevron-right-Cdxg1JSQ.mjs +15 -0
  42. package/dist/chunks/{chevron-right-BMSCuDGK.mjs.map → chevron-right-Cdxg1JSQ.mjs.map} +1 -1
  43. package/dist/chunks/chevrons-up-down-DtBUG1i8.mjs +22 -0
  44. package/dist/chunks/{chevrons-up-down-DBgvRkZm.mjs.map → chevrons-up-down-DtBUG1i8.mjs.map} +1 -1
  45. package/dist/chunks/circle-BLWMZ9yp.mjs +17 -0
  46. package/dist/chunks/{circle-CGqt18Bd.mjs.map → circle-BLWMZ9yp.mjs.map} +1 -1
  47. package/dist/chunks/command-C8cVzg-x.mjs +611 -0
  48. package/dist/chunks/command-C8cVzg-x.mjs.map +1 -0
  49. package/dist/chunks/createLucideIcon-Ba0IWqsz.mjs +60 -0
  50. package/dist/chunks/{createLucideIcon-L-tld2uc.mjs.map → createLucideIcon-Ba0IWqsz.mjs.map} +1 -1
  51. package/dist/chunks/dialog-D9vbxUuQ.mjs +80 -0
  52. package/dist/chunks/{dialog-36eqHzT3.mjs.map → dialog-D9vbxUuQ.mjs.map} +1 -1
  53. package/dist/chunks/hover-card-idvDPXrI.mjs +274 -0
  54. package/dist/chunks/{hover-card-Cnd58du6.mjs.map → hover-card-idvDPXrI.mjs.map} +1 -1
  55. package/dist/chunks/index-6JUj2Tld.mjs +18 -0
  56. package/dist/chunks/{index-CRxQlsb9.mjs.map → index-6JUj2Tld.mjs.map} +1 -1
  57. package/dist/chunks/index-B0IElWB4.mjs +51 -0
  58. package/dist/chunks/{index-vmPXTidH.mjs.map → index-B0IElWB4.mjs.map} +1 -1
  59. package/dist/chunks/index-B4VRyyD1.mjs +40 -0
  60. package/dist/chunks/index-B4VRyyD1.mjs.map +1 -0
  61. package/dist/chunks/index-BE-_q4IW.mjs +266 -0
  62. package/dist/chunks/index-BE-_q4IW.mjs.map +1 -0
  63. package/dist/chunks/index-BNxaLFA6.mjs +216 -0
  64. package/dist/chunks/{index-LvOFIVGz.mjs.map → index-BNxaLFA6.mjs.map} +1 -1
  65. package/dist/chunks/index-BZUrHhU8.mjs +7 -0
  66. package/dist/chunks/{index-CLtWFQL5.mjs.map → index-BZUrHhU8.mjs.map} +1 -1
  67. package/dist/chunks/index-B_FsTtnF.mjs +110 -0
  68. package/dist/chunks/{index-CCcl327A.mjs.map → index-B_FsTtnF.mjs.map} +1 -1
  69. package/dist/chunks/index-CAg47KJ6.mjs +13 -0
  70. package/dist/chunks/{index-CXszXOf_.mjs.map → index-CAg47KJ6.mjs.map} +1 -1
  71. package/dist/chunks/index-CXuEm8w1.mjs +12 -0
  72. package/dist/chunks/{index-CU_y1XAz.mjs.map → index-CXuEm8w1.mjs.map} +1 -1
  73. package/dist/chunks/index-C_jFwfR_.mjs +77 -0
  74. package/dist/chunks/{index-CybgQKpz.mjs.map → index-C_jFwfR_.mjs.map} +1 -1
  75. package/dist/chunks/index-CglX-DNW.mjs +21 -0
  76. package/dist/chunks/index-CglX-DNW.mjs.map +1 -0
  77. package/dist/chunks/index-CyMuypYR.mjs +324 -0
  78. package/dist/chunks/{index-DUNcuWJE.mjs.map → index-CyMuypYR.mjs.map} +1 -1
  79. package/dist/chunks/index-D0S6rRRE.mjs +50 -0
  80. package/dist/chunks/{index-w9bxia3O.mjs.map → index-D0S6rRRE.mjs.map} +1 -1
  81. package/dist/chunks/index-D23BhVQG.mjs +859 -0
  82. package/dist/chunks/{index-DZHMFdr0.mjs.map → index-D23BhVQG.mjs.map} +1 -1
  83. package/dist/chunks/index-D2wfJaZh.mjs +145 -0
  84. package/dist/chunks/index-D2wfJaZh.mjs.map +1 -0
  85. package/dist/chunks/index-DNvm9MP3.mjs +34 -0
  86. package/dist/chunks/{index-D2sZp5OP.mjs.map → index-DNvm9MP3.mjs.map} +1 -1
  87. package/dist/chunks/index-Dm4_czlz.mjs +12 -0
  88. package/dist/chunks/index-Dm4_czlz.mjs.map +1 -0
  89. package/dist/chunks/index-PaJVyocC.mjs +151 -0
  90. package/dist/chunks/index-PaJVyocC.mjs.map +1 -0
  91. package/dist/chunks/index-kr6_v_F8.mjs +2370 -0
  92. package/dist/chunks/index-kr6_v_F8.mjs.map +1 -0
  93. package/dist/chunks/index-sz_BcBbA.mjs +1210 -0
  94. package/dist/chunks/index-sz_BcBbA.mjs.map +1 -0
  95. package/dist/chunks/input-DK1slFF1.mjs +14 -0
  96. package/dist/chunks/{input-85UFztMJ.mjs.map → input-DK1slFF1.mjs.map} +1 -1
  97. package/dist/chunks/label-D7ONQdHc.mjs +32 -0
  98. package/dist/chunks/{label-CICFzZIt.mjs.map → label-D7ONQdHc.mjs.map} +1 -1
  99. package/dist/chunks/pagination-BM_IQ6Qk.mjs +106 -0
  100. package/dist/chunks/{pagination-CReDQes6.mjs.map → pagination-BM_IQ6Qk.mjs.map} +1 -1
  101. package/dist/chunks/popover-D3F326FR.mjs +308 -0
  102. package/dist/chunks/{popover-Cn2ZTvKd.mjs.map → popover-D3F326FR.mjs.map} +1 -1
  103. package/dist/chunks/progress-BCl5yD5Q.mjs +99 -0
  104. package/dist/chunks/{progress-CSxQH6-f.mjs.map → progress-BCl5yD5Q.mjs.map} +1 -1
  105. package/dist/chunks/scroll-area-DB3eUx8V.mjs +791 -0
  106. package/dist/chunks/scroll-area-DB3eUx8V.mjs.map +1 -0
  107. package/dist/chunks/select-Cw81y8pT.mjs +104 -0
  108. package/dist/chunks/{select-BR6_N_Yo.mjs.map → select-Cw81y8pT.mjs.map} +1 -1
  109. package/dist/chunks/separator-2k1C7RSn.mjs +48 -0
  110. package/dist/chunks/{separator-BB6-E9Z1.mjs.map → separator-2k1C7RSn.mjs.map} +1 -1
  111. package/dist/chunks/skeleton-qx8-vr62.mjs +13 -0
  112. package/dist/chunks/{skeleton-XPWWiaac.mjs.map → skeleton-qx8-vr62.mjs.map} +1 -1
  113. package/dist/chunks/sortable-D8ayoe_b.mjs +4221 -0
  114. package/dist/chunks/sortable-D8ayoe_b.mjs.map +1 -0
  115. package/dist/chunks/table-BDNUhtz-.mjs +62 -0
  116. package/dist/chunks/{table-LQIHzPHi.mjs.map → table-BDNUhtz-.mjs.map} +1 -1
  117. package/dist/chunks/toggle-CE2ycSdL.mjs +65 -0
  118. package/dist/chunks/{toggle-Co72WXGd.mjs.map → toggle-CE2ycSdL.mjs.map} +1 -1
  119. package/dist/chunks/tooltip-DLD0ycR4.mjs +596 -0
  120. package/dist/chunks/{tooltip-qX2HjdJP.mjs.map → tooltip-DLD0ycR4.mjs.map} +1 -1
  121. package/dist/chunks/tslib.es6-BgHLrbno.mjs +61 -0
  122. package/dist/chunks/{tslib.es6-cMGqxriw.mjs.map → tslib.es6-BgHLrbno.mjs.map} +1 -1
  123. package/dist/chunks/utils-BUelq9Ro.mjs +42 -0
  124. package/dist/chunks/utils-BUelq9Ro.mjs.map +1 -0
  125. package/dist/chunks/x-Bjz0Vo6R.mjs +22 -0
  126. package/dist/chunks/{x-BNLl0E-E.mjs.map → x-Bjz0Vo6R.mjs.map} +1 -1
  127. package/dist/combobox/index.mjs +65 -1
  128. package/dist/combobox/index.mjs.map +1 -1
  129. package/dist/command/index.mjs +23 -1
  130. package/dist/command/index.mjs.map +1 -1
  131. package/dist/data-table/index.mjs +673 -1
  132. package/dist/data-table/index.mjs.map +1 -1
  133. package/dist/dialog/index.mjs +22 -1
  134. package/dist/dialog/index.mjs.map +1 -1
  135. package/dist/dropdown-menu/index.mjs +438 -1
  136. package/dist/dropdown-menu/index.mjs.map +1 -1
  137. package/dist/dropzone/index.mjs +7839 -1
  138. package/dist/dropzone/index.mjs.map +1 -1
  139. package/dist/form/index.mjs +649 -1
  140. package/dist/form/index.mjs.map +1 -1
  141. package/dist/hover-card/index.mjs +18 -1
  142. package/dist/hover-card/index.mjs.map +1 -1
  143. package/dist/icon/index.mjs +317 -1
  144. package/dist/icon/index.mjs.map +1 -1
  145. package/dist/index.css +1 -1
  146. package/dist/input/index.mjs +4 -1
  147. package/dist/input/index.mjs.map +1 -1
  148. package/dist/ivt.css +1 -1
  149. package/dist/label/index.mjs +8 -1
  150. package/dist/label/index.mjs.map +1 -1
  151. package/dist/menubar/index.mjs +583 -1
  152. package/dist/menubar/index.mjs.map +1 -1
  153. package/dist/multi-select/index.mjs +297 -1
  154. package/dist/multi-select/index.mjs.map +1 -1
  155. package/dist/pagination/index.mjs +10 -1
  156. package/dist/pagination/index.mjs.map +1 -1
  157. package/dist/popover/index.mjs +21 -1
  158. package/dist/popover/index.mjs.map +1 -1
  159. package/dist/progress/index.mjs +9 -1
  160. package/dist/progress/index.mjs.map +1 -1
  161. package/dist/radio-group/index.mjs +267 -1
  162. package/dist/radio-group/index.mjs.map +1 -1
  163. package/dist/scroll-area/index.mjs +15 -1
  164. package/dist/scroll-area/index.mjs.map +1 -1
  165. package/dist/select/index.mjs +8 -1
  166. package/dist/select/index.mjs.map +1 -1
  167. package/dist/separator/index.mjs +8 -1
  168. package/dist/separator/index.mjs.map +1 -1
  169. package/dist/sheet/index.mjs +96 -1
  170. package/dist/sheet/index.mjs.map +1 -1
  171. package/dist/skeleton/index.mjs +4 -1
  172. package/dist/skeleton/index.mjs.map +1 -1
  173. package/dist/sonner/index.mjs +1140 -1
  174. package/dist/sonner/index.mjs.map +1 -1
  175. package/dist/sortable/index.mjs +8 -1
  176. package/dist/sortable/index.mjs.map +1 -1
  177. package/dist/table/index.mjs +4 -1
  178. package/dist/table/index.mjs.map +1 -1
  179. package/dist/tabs/index.mjs +193 -1
  180. package/dist/tabs/index.mjs.map +1 -1
  181. package/dist/textarea/index.mjs +13 -1
  182. package/dist/textarea/index.mjs.map +1 -1
  183. package/dist/toast/index.mjs +705 -1
  184. package/dist/toast/index.mjs.map +1 -1
  185. package/dist/toggle/index.mjs +12 -1
  186. package/dist/toggle/index.mjs.map +1 -1
  187. package/dist/toggle-group/index.mjs +219 -1
  188. package/dist/toggle-group/index.mjs.map +1 -1
  189. package/dist/tooltip/index.mjs +20 -1
  190. package/dist/tooltip/index.mjs.map +1 -1
  191. package/package.json +2 -2
  192. package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs +0 -2
  193. package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs.map +0 -1
  194. package/dist/chunks/accordion-CdshDFZC.mjs +0 -2
  195. package/dist/chunks/badge-BYqshEmA.mjs +0 -2
  196. package/dist/chunks/bundle-mjs-9BXytT_r.mjs +0 -2
  197. package/dist/chunks/button-DrFZXJ7z.mjs +0 -2
  198. package/dist/chunks/calendar-BY6t8wdJ.mjs +0 -2
  199. package/dist/chunks/calendar-BY6t8wdJ.mjs.map +0 -1
  200. package/dist/chunks/check-CimnOyD7.mjs +0 -2
  201. package/dist/chunks/chevron-down-D3fvbjxE.mjs +0 -2
  202. package/dist/chunks/chevron-left-CrN7DlXg.mjs +0 -2
  203. package/dist/chunks/chevron-right-BMSCuDGK.mjs +0 -2
  204. package/dist/chunks/chevrons-up-down-DBgvRkZm.mjs +0 -2
  205. package/dist/chunks/circle-CGqt18Bd.mjs +0 -2
  206. package/dist/chunks/command-C6ON-ciq.mjs +0 -2
  207. package/dist/chunks/command-C6ON-ciq.mjs.map +0 -1
  208. package/dist/chunks/createLucideIcon-L-tld2uc.mjs +0 -2
  209. package/dist/chunks/dialog-36eqHzT3.mjs +0 -2
  210. package/dist/chunks/hover-card-Cnd58du6.mjs +0 -2
  211. package/dist/chunks/index-B4QsDzeM.mjs +0 -2
  212. package/dist/chunks/index-B4QsDzeM.mjs.map +0 -1
  213. package/dist/chunks/index-BdpYc58_.mjs +0 -2
  214. package/dist/chunks/index-BdpYc58_.mjs.map +0 -1
  215. package/dist/chunks/index-CCcl327A.mjs +0 -2
  216. package/dist/chunks/index-CLtWFQL5.mjs +0 -2
  217. package/dist/chunks/index-COvW87ew.mjs +0 -2
  218. package/dist/chunks/index-COvW87ew.mjs.map +0 -1
  219. package/dist/chunks/index-CRxQlsb9.mjs +0 -2
  220. package/dist/chunks/index-CU_y1XAz.mjs +0 -2
  221. package/dist/chunks/index-CXszXOf_.mjs +0 -2
  222. package/dist/chunks/index-CdJCOoFA.mjs +0 -2
  223. package/dist/chunks/index-CdJCOoFA.mjs.map +0 -1
  224. package/dist/chunks/index-Cpq7N5Ej.mjs +0 -2
  225. package/dist/chunks/index-Cpq7N5Ej.mjs.map +0 -1
  226. package/dist/chunks/index-CybgQKpz.mjs +0 -2
  227. package/dist/chunks/index-D2sZp5OP.mjs +0 -2
  228. package/dist/chunks/index-DOyt-JEx.mjs +0 -2
  229. package/dist/chunks/index-DOyt-JEx.mjs.map +0 -1
  230. package/dist/chunks/index-DUNcuWJE.mjs +0 -2
  231. package/dist/chunks/index-DZHMFdr0.mjs +0 -2
  232. package/dist/chunks/index-LvOFIVGz.mjs +0 -2
  233. package/dist/chunks/index-lvPXnk5F.mjs +0 -2
  234. package/dist/chunks/index-lvPXnk5F.mjs.map +0 -1
  235. package/dist/chunks/index-vmPXTidH.mjs +0 -2
  236. package/dist/chunks/index-w9bxia3O.mjs +0 -2
  237. package/dist/chunks/index-xew3kygQ.mjs +0 -2
  238. package/dist/chunks/index-xew3kygQ.mjs.map +0 -1
  239. package/dist/chunks/input-85UFztMJ.mjs +0 -2
  240. package/dist/chunks/label-CICFzZIt.mjs +0 -2
  241. package/dist/chunks/pagination-CReDQes6.mjs +0 -2
  242. package/dist/chunks/popover-Cn2ZTvKd.mjs +0 -2
  243. package/dist/chunks/progress-CSxQH6-f.mjs +0 -2
  244. package/dist/chunks/scroll-area-CvCz7cL_.mjs +0 -2
  245. package/dist/chunks/scroll-area-CvCz7cL_.mjs.map +0 -1
  246. package/dist/chunks/select-BR6_N_Yo.mjs +0 -2
  247. package/dist/chunks/separator-BB6-E9Z1.mjs +0 -2
  248. package/dist/chunks/skeleton-XPWWiaac.mjs +0 -2
  249. package/dist/chunks/sortable-CqPFGn8Q.mjs +0 -2
  250. package/dist/chunks/sortable-CqPFGn8Q.mjs.map +0 -1
  251. package/dist/chunks/table-LQIHzPHi.mjs +0 -2
  252. package/dist/chunks/toggle-Co72WXGd.mjs +0 -2
  253. package/dist/chunks/tooltip-qX2HjdJP.mjs +0 -2
  254. package/dist/chunks/tslib.es6-cMGqxriw.mjs +0 -2
  255. package/dist/chunks/utils-BctauAA9.mjs +0 -2
  256. package/dist/chunks/utils-BctauAA9.mjs.map +0 -1
  257. package/dist/chunks/x-BNLl0E-E.mjs +0 -2
@@ -1,2 +1,674 @@
1
- import*as e from"react";import t,{forwardRef as a,createElement as l}from"react";import{c as n}from"../chunks/utils-BctauAA9.mjs";import{C as r}from"../chunks/chevron-down-D3fvbjxE.mjs";import{C as s}from"../chunks/check-CimnOyD7.mjs";import{P as m,a as c,b as o}from"../chunks/popover-Cn2ZTvKd.mjs";import{B as i}from"../chunks/button-DrFZXJ7z.mjs";import{C as u,b as d,c as g,d as p,e as h,f,S as E}from"../chunks/command-C6ON-ciq.mjs";import{I as w}from"../chunks/input-85UFztMJ.mjs";import{S as x,h as N,i as b,a as y,c as k}from"../chunks/select-BR6_N_Yo.mjs";import{C as v}from"../chunks/chevron-left-CrN7DlXg.mjs";import{C}from"../chunks/chevron-right-BMSCuDGK.mjs";import{c as S,f as j}from"../chunks/pagination-CReDQes6.mjs";import{S as z}from"../chunks/skeleton-XPWWiaac.mjs";import{e as M,f as P,T as A,a as F,d as I,b as L}from"../chunks/table-LQIHzPHi.mjs";import{c as R}from"../chunks/createLucideIcon-L-tld2uc.mjs";import{S as V,b as $}from"../chunks/sortable-CqPFGn8Q.mjs";import"../chunks/bundle-mjs-9BXytT_r.mjs";import"../chunks/index-CdJCOoFA.mjs";import"../chunks/index-COvW87ew.mjs";import"../chunks/index-CCcl327A.mjs";import"react/jsx-runtime";import"../chunks/index-xew3kygQ.mjs";import"../chunks/index-w9bxia3O.mjs";import"react-dom";import"@radix-ui/react-slot";import"../chunks/index-CXszXOf_.mjs";import"../chunks/index-CLtWFQL5.mjs";import"../chunks/index-lvPXnk5F.mjs";import"../chunks/tslib.es6-cMGqxriw.mjs";import"../chunks/index-CRxQlsb9.mjs";import"../chunks/index-DOyt-JEx.mjs";import"../chunks/index-vmPXTidH.mjs";import"../chunks/index-BdpYc58_.mjs";import"../chunks/index-CybgQKpz.mjs";import"class-variance-authority";import"../chunks/index-DUNcuWJE.mjs";import"../chunks/dialog-36eqHzT3.mjs";import"../chunks/x-BNLl0E-E.mjs";import"@radix-ui/react-select";const O=R("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),_=R("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);function D({table:t,transformColumnName:a}){const l=e.useRef(null);return e.createElement(m,{modal:!0},e.createElement(c,{asChild:!0},e.createElement(i,{ref:l,"aria-label":"Toggle columns",variant:"outline",className:"text-muted-foreground hover:text-muted-foreground w-full max-w-[12.5rem] items-center justify-between bg-inherit px-3 py-2 hover:bg-inherit"},"Colunas",e.createElement(r,{className:"h-4 w-4"}))),e.createElement(o,{align:"end",className:"w-44 p-0",onCloseAutoFocus:()=>l.current?.focus()},e.createElement(u,null,e.createElement(d,{placeholder:"Pesquisar colunas..."}),e.createElement(g,null,e.createElement(p,null,"Nenhuma coluna encontrada."),e.createElement(h,null,t.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()).map(t=>e.createElement(f,{key:t.id,onSelect:()=>t.toggleVisibility(!t.getIsVisible())},e.createElement("span",{className:"truncate"},a?a(t.id):t.id),e.createElement(s,{className:n("ml-auto size-4 shrink-0",t.getIsVisible()?"opacity-100":"opacity-0")}))))))))}function H({table:e,keySearch:t,placeholder:a}){return React.createElement("div",{className:"relative w-full max-w-sm"},React.createElement(E,{className:"text-muted-foreground absolute top-3 left-3 h-4 w-4"}),React.createElement(w,{placeholder:a,value:e.getColumn(t)?.getFilterValue()??"",onChange:a=>e.getColumn(t)?.setFilterValue(a.target.value),className:"w-full pl-8 xl:w-80"}))}var T=["color"],B=a(function(e,t){var a=e.color,n=void 0===a?"currentColor":a,r=function(e,t){if(null==e)return{};var a,l,n={},r=Object.keys(e);for(l=0;l<r.length;l++)a=r[l],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,T);return l("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:t}),l("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:n,fillRule:"evenodd",clipRule:"evenodd"}))});function q(t,a){return t?function(e){return"function"==typeof e&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}(l=t)||"function"==typeof l||function(e){return"object"==typeof e&&"symbol"==typeof e.$$typeof&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(l)?e.createElement(t,a):t:null;var l}function W({table:e,pageSizeOptions:a=[20,30,50,100,200],dataLabel:l="Fundos"}){const n=a[0],r=e.getState().pagination.pageIndex+1,s=e.getRowCount(),m=Math.ceil(s/e.getState().pagination.pageSize);return t.createElement("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2"},t.createElement("div",{className:"text-muted-foreground flex gap-1 text-sm"},t.createElement("p",{className:"ml-2"},"Mostrando ",e.getRowModel().rows.length.toLocaleString()," de ",s," ",l,".")),t.createElement("div",{className:"flex flex-wrap items-center justify-between gap-2 gap-y-4"},t.createElement(x,{value:String(e.getState().pagination.pageSize)||String(n),onValueChange:t=>e.setPageSize(Number(t))},t.createElement(N,{className:"w-fit"},t.createElement(b,{placeholder:`Mostrar ${e.getState().pagination.pageSize||n}`})),t.createElement(y,null,s&&(0===s||s<n)?t.createElement(k,{value:String(n)},"Mostrar ",n):t.createElement(t.Fragment,null,a.map(e=>t.createElement(k,{key:e,value:String(e)},"Mostrar ",e))))),t.createElement("div",{className:"flex flex-wrap gap-2 gap-y-4"},t.createElement(i,{variant:"ghost",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),"aria-label":"Ir para página anterior",className:"gap-1"},t.createElement(v,{className:"size-4"}),"Anterior"),t.createElement("div",{className:"flex gap-2"},(()=>{const a=[];if(m<=3)for(let l=1;l<=m;l++)a.push(t.createElement(i,{variant:r===l?"outline":"ghost",key:l,onClick:()=>e.setPageIndex(l-1),className:"size-9"},l));else{a.push(t.createElement(i,{variant:1===r?"outline":"ghost",key:1,onClick:()=>e.setPageIndex(0),className:"size-9"},"1"));const l=Math.max(2,Math.min(r,m-2)),n=Math.min(m-1,l+3-2);l>2&&a.push(t.createElement(S,{key:"ellipsis-start",className:"list-none"},t.createElement(j,null)));for(let s=l;s<=n;s++)a.push(t.createElement(i,{variant:r===s?"outline":"ghost",key:s,onClick:()=>e.setPageIndex(s-1),className:"size-9"},s));n<m-1&&a.push(t.createElement(S,{key:"ellipsis-end",className:"list-none"},t.createElement(j,null))),a.push(t.createElement(i,{variant:r===m?"outline":"ghost",key:m,onClick:()=>e.setPageIndex(m-1)},m))}return a})()),t.createElement(i,{variant:"ghost",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),"aria-label":"Ir para próxima página",className:"gap-1"},"Próximo",t.createElement(C,{className:"size-4"})))))}const Z=({className:e})=>t.createElement("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2"},t.createElement(z,{className:n("h-5 w-40",e)}),t.createElement("div",{className:"flex flex-wrap items-center justify-between gap-2 gap-y-4"},t.createElement(z,{className:n("h-10 w-28",e)}),t.createElement(z,{className:n("h-9 w-[16rem]",e)})));function K(e){const{columnCount:a,rowCount:l=8,cellWidths:n=["auto"],shrinkZero:r=!1}=e;return t.createElement(t.Fragment,null,Array.from({length:l}).map((e,l)=>t.createElement(M,{key:`row-${String(l)}`,className:"hover:bg-transparent"},Array.from({length:a}).map((e,a)=>t.createElement(P,{key:`cell-${String(l)}-${a}`,style:{width:n[a],minWidth:r?n[a]:"auto"}},t.createElement(z,{className:"h-6 w-full"}))))))}const G=({table:e,columns:a,isLoadingTable:l,loadingContent:r,setQueryParams:s,dataLabel:m,actionColumns:c=[],messageEmpty:o=t.createElement(t.Fragment,null,"Sem resultados"),dividingColumnKey:i,pageSizeOptions:u,className:d,scrollMaxHeightClass:g="sm:max-h-[calc(100vh-300px)]",isScrollable:p=!1,fixedHeader:h=!1,showPagination:f=!0})=>{const E=Number(e.getState().pagination.pageIndex).toString(),w=Number(e.getState().pagination.pageSize).toString(),x=e.getState().sorting;t.useEffect(()=>{if(!s)return;const e={sortingBy:"",order:""};x.length>0&&(e.sortingBy=x[0].id,e.order=x[0].desc?"DESC":"ASC"),s(t=>({...t,pageSize:w,page:E,...e}))},[E,w,s,x]);const N=e.getRowModel().rows.length>1||l;return t.createElement(t.Fragment,null,t.createElement("div",{className:n("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap",d)},t.createElement("div",{className:n("relative w-full overflow-auto",N&&"force-min-height",p&&g&&g)},t.createElement(A,null,t.createElement(F,{className:n(h&&"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")},e.getHeaderGroups().map(e=>t.createElement(M,{key:e.id},e.headers.map(e=>{const{column:{id:a}}=e,l=["actions",...c].includes(a);return t.createElement(I,{className:n(i?.includes(a)?"border-r":"","static"),key:e.id},e.isPlaceholder?null:t.createElement(t.Fragment,null,t.createElement("div",{className:!l&&e.column.getCanSort()?"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium":"",onClick:l?void 0:e.column.getToggleSortingHandler()},q(e.column.columnDef.header,e.getContext()),(!l&&e.column.getCanSort()&&{asc:t.createElement(O,{className:"h-3.5 w-3.5"}),desc:t.createElement(_,{className:"h-3.5 w-3.5"}),false:t.createElement(B,{className:"h-4 w-4"})}[e.column.getIsSorted()])??t.createElement(O,{className:"h-3.5 w-3.5"}))))})))),t.createElement(L,null,l&&!r?t.createElement(K,{columnCount:e.getAllColumns().length}):l&&r?t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},r):0===e.getRowModel().rows.length?t.createElement(M,null,t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},t.createElement("span",{className:"inline-block max-w-[30rem] text-wrap break-words"},o))):e.getRowModel().rows.map((e,a)=>{const l=e.id??String(a);return t.createElement(M,{key:l,"data-state":e.getIsSelected()&&"selected",className:"even:bg-body/50"},e.getVisibleCells().map(e=>t.createElement(P,{key:e.id,className:n("p-2 py-1",i?.includes(e.column.id)&&"border-r")},q(e.column.columnDef.cell,e.getContext()))))}))))),p||!f?null:l?t.createElement(Z,null):t.createElement(W,{table:e,dataLabel:m,pageSizeOptions:u}))};function Q(e){const{columnCount:a,rowCount:l=10,searchableColumnCount:r=0,filterableColumnCount:s=0,showViewOptions:m=!0,cellWidths:c=["auto"],withPagination:o=!0,shrinkZero:i=!1,className:u,...d}=e;return t.createElement("div",{className:n("w-full space-y-2.5 overflow-auto",u),...d},t.createElement("div",{className:"flex w-full items-center justify-between space-x-2 overflow-auto p-1"},t.createElement("div",{className:"flex flex-1 items-center space-x-2"},r>0?Array.from({length:r}).map((e,a)=>t.createElement(z,{key:`${String(a)}`,className:"h-7 w-40 lg:w-60"})):null,s>0?Array.from({length:s}).map((e,a)=>t.createElement(z,{key:`${String(a)}`,className:"h-7 w-[4.5rem] border-dashed"})):null),m?t.createElement(z,{className:"ml-auto hidden h-7 w-[4.5rem] lg:flex"}):null),t.createElement("div",{className:"rounded-md border"},t.createElement(A,null,t.createElement(F,null,Array.from({length:1}).map((e,l)=>t.createElement(M,{key:`${String(l)}`,className:"hover:bg-transparent"},Array.from({length:a}).map((e,a)=>t.createElement(I,{key:`${String(a)}`,style:{width:c[a],minWidth:i?c[a]:"auto"}},t.createElement(z,{className:"h-6 w-full"})))))),t.createElement(L,null,Array.from({length:l}).map((e,l)=>t.createElement(M,{key:`${String(l)}`,className:"hover:bg-transparent"},Array.from({length:a}).map((e,a)=>t.createElement(P,{key:`${String(a)}`,style:{width:c[a],minWidth:i?c[a]:"auto"}},t.createElement(z,{className:"h-6 w-full"})))))))),o?t.createElement("div",{className:"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8"},t.createElement(z,{className:"h-7 w-40 shrink-0"}),t.createElement("div",{className:"flex items-center gap-4 sm:gap-6 lg:gap-8"},t.createElement("div",{className:"flex items-center space-x-2"},t.createElement(z,{className:"h-7 w-24"}),t.createElement(z,{className:"h-7 w-[4.5rem]"})),t.createElement("div",{className:"flex items-center justify-center text-sm font-medium"},t.createElement(z,{className:"h-7 w-20"})),t.createElement("div",{className:"flex items-center space-x-2"},t.createElement(z,{className:"hidden size-7 lg:block"}),t.createElement(z,{className:"size-7"}),t.createElement(z,{className:"size-7"}),t.createElement(z,{className:"hidden size-7 lg:block"})))):null)}function U({table:e,uniqueStatusValues:a,renderStatusMessage:l,className:s}){const h=t.useRef(null),E=e.getColumn("status")?.getFilterValue();return t.createElement(m,{modal:!0},t.createElement(c,{asChild:!0},t.createElement(i,{ref:h,"aria-label":"Filtre por status",variant:"outline",className:n("border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground hover:text-muted-foreground focus:ring-ring flex h-10 w-full max-w-60 items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm hover:bg-inherit focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",s)},E?l(E):"Todos os status",t.createElement(r,{className:"h-4 w-4"}))),t.createElement(o,{align:"end",className:"w-44 p-0",onCloseAutoFocus:()=>h.current?.focus()},t.createElement(u,null,t.createElement(d,{placeholder:"Pesquisar status..."}),t.createElement(g,null,t.createElement(p,null,"Nenhum status encontrado."),t.createElement(f,{key:"all",onSelect:()=>e.getColumn("status")?.setFilterValue(void 0)},t.createElement("span",{className:"truncate"},"Todos os status")),a.map(a=>{if(!a)return null;const n=l(a);return t.createElement(f,{key:`${String(a)}`,onSelect:()=>e.getColumn("status")?.setFilterValue(a)},t.createElement("span",{className:"truncate"},n))})))))}const J=(e,t)=>{if("function"==typeof t)return t(e);if(Array.isArray(t)){for(const a of t)if(void 0!==e[a]&&null!==e[a])return e[a];return""}return e[t]},X=({table:e,columns:a,isLoadingTable:l,loadingContent:r,setQueryParams:s,dataLabel:m,actionColumns:c=[],data:o,messageEmpty:i=t.createElement(t.Fragment,null,"Sem resultados"),onDataChange:u,rowKey:d,dividingColumnKey:g,pageSizeOptions:p,className:h,scrollMaxHeightClass:f="sm:max-h-[calc(100vh-300px)]",isScrollable:E=!1,fixedHeader:w=!1,showPagination:x=!0})=>{const N=Number(e.getState().pagination.pageIndex).toString(),b=Number(e.getState().pagination.pageSize).toString(),y=e.getState().sorting,[k,v]=t.useState(o);t.useEffect(()=>{v(o)},[o]),t.useEffect(()=>{if(!s)return;const e={sortingBy:"",order:""};y.length>0&&(e.sortingBy=y[0].id,e.order=y[0].desc?"DESC":"ASC"),s(t=>({...t,pageSize:b,page:N,...e}))},[N,b,s,y]);const C=e.getRowModel().rows.length>1||l;return t.createElement(t.Fragment,null,t.createElement("div",{className:n("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap",h)},t.createElement("div",{className:n("relative w-full overflow-auto",C&&"force-min-height",E&&f&&f)},t.createElement(A,null,t.createElement(F,{className:n(w&&"bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")},e.getHeaderGroups().map(e=>t.createElement(M,{key:e.id},e.headers.map(e=>{const{column:{id:a}}=e,l=["actions",...c].includes(a);return t.createElement(I,{className:g?.includes(a)?"border-r":"",key:e.id},e.isPlaceholder?null:t.createElement(t.Fragment,null,t.createElement("div",{className:!l&&e.column.getCanSort()?"flex w-fit items-center justify-start cursor-pointer gap-1 font-medium":"",onClick:l?void 0:e.column.getToggleSortingHandler()},q(e.column.columnDef.header,e.getContext()),(!l&&e.column.getCanSort()&&{asc:t.createElement(O,{className:"h-3.5 w-3.5"}),desc:t.createElement(_,{className:"h-3.5 w-3.5"}),false:t.createElement(B,{className:"h-4 w-4"})}[e.column.getIsSorted()])??t.createElement(O,{className:"h-3.5 w-3.5"}))))})))),t.createElement(L,null,t.createElement(V,{value:k.map(e=>({...e,id:J(e,d)})),onValueChange:e=>{v(e),u?.(e)}},l&&!r?t.createElement(K,{columnCount:e.getAllColumns().length}):l&&r?t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},r):0===e.getRowModel().rows.length?t.createElement(M,null,t.createElement(P,{colSpan:a.length,className:"h-24 text-center"},t.createElement("span",{className:"inline-block max-w-[30rem] text-wrap break-words"},i))):e.getRowModel().rows.map(e=>{const a=e.original,l=J(a,d);return t.createElement($,{key:e.id,value:l,asChild:!0},t.createElement(M,{"data-state":e.getIsSelected()&&"selected",className:"even:bg-body/50"},e.getVisibleCells().map(e=>t.createElement(P,{key:e.id,className:n("p-2 py-1",g?.includes(e.column.id)&&"border-r")},q(e.column.columnDef.cell,e.getContext())))))})))))),E||!x?null:l?t.createElement(Z,null):t.createElement(W,{table:e,dataLabel:m,pageSizeOptions:p}))};export{G as DataTableMainFrame,X as DataTableMainFrameSortable,W as DataTablePagination,Z as DataTablePaginationSkeleton,K as DataTableRowSkeleton,H as DataTableSearch,Q as DataTableSkeleton,U as DataTableStatus,D as DataTableViewOptions};
1
+ import * as React$1 from 'react';
2
+ import React__default, { forwardRef, createElement } from 'react';
3
+ import { c as cn } from '../chunks/utils-BUelq9Ro.mjs';
4
+ import { C as ChevronDown } from '../chunks/chevron-down-D84DRJBv.mjs';
5
+ import { C as Check } from '../chunks/check-B7209s3e.mjs';
6
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from '../chunks/popover-D3F326FR.mjs';
7
+ import { B as Button } from '../chunks/button-CX0htulo.mjs';
8
+ import { C as Command, b as CommandInput, c as CommandList, d as CommandEmpty, e as CommandGroup, f as CommandItem, S as Search } from '../chunks/command-C8cVzg-x.mjs';
9
+ import { I as Input } from '../chunks/input-DK1slFF1.mjs';
10
+ import { S as Select, h as SelectTrigger, i as SelectValue, a as SelectContent, c as SelectItem } from '../chunks/select-Cw81y8pT.mjs';
11
+ import { C as ChevronLeft } from '../chunks/chevron-left-DtL1t1DJ.mjs';
12
+ import { C as ChevronRight } from '../chunks/chevron-right-Cdxg1JSQ.mjs';
13
+ import { c as PaginationItem, f as PaginationEllipsis } from '../chunks/pagination-BM_IQ6Qk.mjs';
14
+ import { S as Skeleton } from '../chunks/skeleton-qx8-vr62.mjs';
15
+ import { e as TableRow, f as TableCell, T as Table, a as TableHeader, d as TableHead, b as TableBody } from '../chunks/table-BDNUhtz-.mjs';
16
+ import { c as createLucideIcon } from '../chunks/createLucideIcon-Ba0IWqsz.mjs';
17
+ import { S as Sortable, b as SortableItem } from '../chunks/sortable-D8ayoe_b.mjs';
18
+ import '../chunks/bundle-mjs-tFg__FnT.mjs';
19
+ import '../chunks/index-Dm4_czlz.mjs';
20
+ import '../chunks/index-B4VRyyD1.mjs';
21
+ import '../chunks/index-B_FsTtnF.mjs';
22
+ import 'react/jsx-runtime';
23
+ import '../chunks/index-BE-_q4IW.mjs';
24
+ import '../chunks/index-D0S6rRRE.mjs';
25
+ import 'react-dom';
26
+ import '@radix-ui/react-slot';
27
+ import '../chunks/index-CAg47KJ6.mjs';
28
+ import '../chunks/index-BZUrHhU8.mjs';
29
+ import '../chunks/index-sz_BcBbA.mjs';
30
+ import '../chunks/tslib.es6-BgHLrbno.mjs';
31
+ import '../chunks/index-6JUj2Tld.mjs';
32
+ import '../chunks/index-kr6_v_F8.mjs';
33
+ import '../chunks/index-B0IElWB4.mjs';
34
+ import '../chunks/index-D2wfJaZh.mjs';
35
+ import '../chunks/index-C_jFwfR_.mjs';
36
+ import 'class-variance-authority';
37
+ import '../chunks/index-CyMuypYR.mjs';
38
+ import '../chunks/dialog-D9vbxUuQ.mjs';
39
+ import '../chunks/x-Bjz0Vo6R.mjs';
40
+ import '@radix-ui/react-select';
41
+
42
+ const __iconNode$1 = [
43
+ [
44
+ "path",
45
+ {
46
+ d: "M12 5v14",
47
+ key: "s699le"
48
+ }
49
+ ],
50
+ [
51
+ "path",
52
+ {
53
+ d: "m19 12-7 7-7-7",
54
+ key: "1idqje"
55
+ }
56
+ ]
57
+ ];
58
+ const ArrowDown = createLucideIcon("ArrowDown", __iconNode$1);
59
+
60
+ const __iconNode = [
61
+ [
62
+ "path",
63
+ {
64
+ d: "m5 12 7-7 7 7",
65
+ key: "hav0vg"
66
+ }
67
+ ],
68
+ [
69
+ "path",
70
+ {
71
+ d: "M12 19V5",
72
+ key: "x0mq9r"
73
+ }
74
+ ]
75
+ ];
76
+ const ArrowUp = createLucideIcon("ArrowUp", __iconNode);
77
+
78
+ function DataTableViewOptions({ table, transformColumnName }) {
79
+ const triggerRef = React$1.useRef(null);
80
+ return /*#__PURE__*/ React$1.createElement(Popover, {
81
+ modal: true
82
+ }, /*#__PURE__*/ React$1.createElement(PopoverTrigger, {
83
+ asChild: true
84
+ }, /*#__PURE__*/ React$1.createElement(Button, {
85
+ ref: triggerRef,
86
+ "aria-label": "Toggle columns",
87
+ variant: "outline",
88
+ className: "text-muted-foreground hover:text-muted-foreground w-full max-w-[12.5rem] items-center justify-between bg-inherit px-3 py-2 hover:bg-inherit"
89
+ }, "Colunas", /*#__PURE__*/ React$1.createElement(ChevronDown, {
90
+ className: "h-4 w-4"
91
+ }))), /*#__PURE__*/ React$1.createElement(PopoverContent, {
92
+ align: "end",
93
+ className: "w-44 p-0",
94
+ onCloseAutoFocus: ()=>triggerRef.current?.focus()
95
+ }, /*#__PURE__*/ React$1.createElement(Command, null, /*#__PURE__*/ React$1.createElement(CommandInput, {
96
+ placeholder: "Pesquisar colunas..."
97
+ }), /*#__PURE__*/ React$1.createElement(CommandList, null, /*#__PURE__*/ React$1.createElement(CommandEmpty, null, "Nenhuma coluna encontrada."), /*#__PURE__*/ React$1.createElement(CommandGroup, null, table.getAllColumns().filter((column)=>typeof column.accessorFn !== "undefined" && column.getCanHide()).map((column)=>{
98
+ return /*#__PURE__*/ React$1.createElement(CommandItem, {
99
+ key: column.id,
100
+ onSelect: ()=>column.toggleVisibility(!column.getIsVisible())
101
+ }, /*#__PURE__*/ React$1.createElement("span", {
102
+ className: "truncate"
103
+ }, transformColumnName ? transformColumnName(column.id) : column.id), /*#__PURE__*/ React$1.createElement(Check, {
104
+ className: cn("ml-auto size-4 shrink-0", column.getIsVisible() ? "opacity-100" : "opacity-0")
105
+ }));
106
+ }))))));
107
+ }
108
+
109
+ function DataTableSearch({ table, keySearch, placeholder }) {
110
+ return /*#__PURE__*/ React.createElement("div", {
111
+ className: "relative w-full max-w-sm"
112
+ }, /*#__PURE__*/ React.createElement(Search, {
113
+ className: "text-muted-foreground absolute top-3 left-3 h-4 w-4"
114
+ }), /*#__PURE__*/ React.createElement(Input, {
115
+ placeholder: placeholder,
116
+ value: table.getColumn(keySearch)?.getFilterValue() ?? "",
117
+ onChange: (event)=>table.getColumn(keySearch)?.setFilterValue(event.target.value),
118
+ className: "w-full pl-8 xl:w-80"
119
+ }));
120
+ }
121
+
122
+ function _objectWithoutPropertiesLoose(source, excluded) {
123
+ if (source == null) return {};
124
+ var target = {};
125
+ var sourceKeys = Object.keys(source);
126
+ var key, i;
127
+ for(i = 0; i < sourceKeys.length; i++){
128
+ key = sourceKeys[i];
129
+ if (excluded.indexOf(key) >= 0) continue;
130
+ target[key] = source[key];
131
+ }
132
+ return target;
133
+ }
134
+ var _excluded$Q = [
135
+ "color"
136
+ ];
137
+ var CaretSortIcon = /*#__PURE__*/ forwardRef(function(_ref, forwardedRef) {
138
+ var _ref$color = _ref.color, color = _ref$color === void 0 ? 'currentColor' : _ref$color, props = _objectWithoutPropertiesLoose(_ref, _excluded$Q);
139
+ return createElement("svg", Object.assign({
140
+ width: "15",
141
+ height: "15",
142
+ viewBox: "0 0 15 15",
143
+ fill: "none",
144
+ xmlns: "http://www.w3.org/2000/svg"
145
+ }, props, {
146
+ ref: forwardedRef
147
+ }), createElement("path", {
148
+ d: "M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",
149
+ fill: color,
150
+ fillRule: "evenodd",
151
+ clipRule: "evenodd"
152
+ }));
153
+ });
154
+
155
+ //
156
+ /**
157
+ * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.
158
+ */ function flexRender(Comp, props) {
159
+ return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/ React$1.createElement(Comp, props) : Comp;
160
+ }
161
+ function isReactComponent(component) {
162
+ return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
163
+ }
164
+ function isClassComponent(component) {
165
+ return typeof component === 'function' && (()=>{
166
+ const proto = Object.getPrototypeOf(component);
167
+ return proto.prototype && proto.prototype.isReactComponent;
168
+ })();
169
+ }
170
+ function isExoticComponent(component) {
171
+ return typeof component === 'object' && typeof component.$$typeof === 'symbol' && [
172
+ 'react.memo',
173
+ 'react.forward_ref'
174
+ ].includes(component.$$typeof.description);
175
+ }
176
+
177
+ function DataTablePagination({ table, pageSizeOptions = [
178
+ 20,
179
+ 30,
180
+ 50,
181
+ 100,
182
+ 200
183
+ ], dataLabel = "Fundos" }) {
184
+ const pageSize = pageSizeOptions[0];
185
+ const currentPage = table.getState().pagination.pageIndex + 1;
186
+ const rowCount = table.getRowCount();
187
+ const totalPageCount = Math.ceil(rowCount / table.getState().pagination.pageSize);
188
+ const renderPageNumbers = ()=>{
189
+ const items = [];
190
+ const maxVisiblePages = 3;
191
+ if (totalPageCount <= maxVisiblePages) {
192
+ for(let i = 1; i <= totalPageCount; i++){
193
+ items.push(/*#__PURE__*/ React__default.createElement(Button, {
194
+ variant: currentPage === i ? "outline" : "ghost",
195
+ key: i,
196
+ onClick: ()=>table.setPageIndex(i - 1),
197
+ className: "size-9"
198
+ }, i));
199
+ }
200
+ } else {
201
+ items.push(/*#__PURE__*/ React__default.createElement(Button, {
202
+ variant: currentPage === 1 ? "outline" : "ghost",
203
+ key: 1,
204
+ onClick: ()=>table.setPageIndex(0),
205
+ className: "size-9"
206
+ }, "1"));
207
+ const start = Math.max(2, Math.min(currentPage, totalPageCount - (maxVisiblePages - 1)));
208
+ const end = Math.min(totalPageCount - 1, start + maxVisiblePages - 2);
209
+ if (start > 2) {
210
+ items.push(/*#__PURE__*/ React__default.createElement(PaginationItem, {
211
+ key: "ellipsis-start",
212
+ className: "list-none"
213
+ }, /*#__PURE__*/ React__default.createElement(PaginationEllipsis, null)));
214
+ }
215
+ for(let i = start; i <= end; i++){
216
+ items.push(/*#__PURE__*/ React__default.createElement(Button, {
217
+ variant: currentPage === i ? "outline" : "ghost",
218
+ key: i,
219
+ onClick: ()=>table.setPageIndex(i - 1),
220
+ className: "size-9"
221
+ }, i));
222
+ }
223
+ if (end < totalPageCount - 1) {
224
+ items.push(/*#__PURE__*/ React__default.createElement(PaginationItem, {
225
+ key: "ellipsis-end",
226
+ className: "list-none"
227
+ }, /*#__PURE__*/ React__default.createElement(PaginationEllipsis, null)));
228
+ }
229
+ items.push(/*#__PURE__*/ React__default.createElement(Button, {
230
+ variant: currentPage === totalPageCount ? "outline" : "ghost",
231
+ key: totalPageCount,
232
+ onClick: ()=>table.setPageIndex(totalPageCount - 1)
233
+ }, totalPageCount));
234
+ }
235
+ return items;
236
+ };
237
+ return /*#__PURE__*/ React__default.createElement("div", {
238
+ className: "mt-4 flex flex-wrap items-center justify-between gap-2"
239
+ }, /*#__PURE__*/ React__default.createElement("div", {
240
+ className: "text-muted-foreground flex gap-1 text-sm"
241
+ }, /*#__PURE__*/ React__default.createElement("p", {
242
+ className: "ml-2"
243
+ }, "Mostrando ", table.getRowModel().rows.length.toLocaleString(), " de ", rowCount, " ", dataLabel, ".")), /*#__PURE__*/ React__default.createElement("div", {
244
+ className: "flex flex-wrap items-center justify-between gap-2 gap-y-4"
245
+ }, /*#__PURE__*/ React__default.createElement(Select, {
246
+ value: String(table.getState().pagination.pageSize) || String(pageSize),
247
+ onValueChange: (value)=>table.setPageSize(Number(value))
248
+ }, /*#__PURE__*/ React__default.createElement(SelectTrigger, {
249
+ className: "w-fit"
250
+ }, /*#__PURE__*/ React__default.createElement(SelectValue, {
251
+ placeholder: `Mostrar ${table.getState().pagination.pageSize || pageSize}`
252
+ })), /*#__PURE__*/ React__default.createElement(SelectContent, null, rowCount && (rowCount === 0 || rowCount < pageSize) ? /*#__PURE__*/ React__default.createElement(SelectItem, {
253
+ value: String(pageSize)
254
+ }, "Mostrar ", pageSize) : /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, pageSizeOptions.map((pageSize)=>/*#__PURE__*/ React__default.createElement(SelectItem, {
255
+ key: pageSize,
256
+ value: String(pageSize)
257
+ }, "Mostrar ", pageSize))))), /*#__PURE__*/ React__default.createElement("div", {
258
+ className: "flex flex-wrap gap-2 gap-y-4"
259
+ }, /*#__PURE__*/ React__default.createElement(Button, {
260
+ variant: "ghost",
261
+ onClick: ()=>table.previousPage(),
262
+ disabled: !table.getCanPreviousPage(),
263
+ "aria-label": "Ir para página anterior",
264
+ className: "gap-1"
265
+ }, /*#__PURE__*/ React__default.createElement(ChevronLeft, {
266
+ className: "size-4"
267
+ }), "Anterior"), /*#__PURE__*/ React__default.createElement("div", {
268
+ className: "flex gap-2"
269
+ }, renderPageNumbers()), /*#__PURE__*/ React__default.createElement(Button, {
270
+ variant: "ghost",
271
+ onClick: ()=>table.nextPage(),
272
+ disabled: !table.getCanNextPage(),
273
+ "aria-label": "Ir para próxima página",
274
+ className: "gap-1"
275
+ }, "Próximo", /*#__PURE__*/ React__default.createElement(ChevronRight, {
276
+ className: "size-4"
277
+ })))));
278
+ }
279
+
280
+ const DataTablePaginationSkeleton = ({ className })=>{
281
+ return /*#__PURE__*/ React__default.createElement("div", {
282
+ className: "mt-4 flex flex-wrap items-center justify-between gap-2"
283
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
284
+ className: cn("h-5 w-40", className)
285
+ }), /*#__PURE__*/ React__default.createElement("div", {
286
+ className: "flex flex-wrap items-center justify-between gap-2 gap-y-4"
287
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
288
+ className: cn("h-10 w-28", className)
289
+ }), /*#__PURE__*/ React__default.createElement(Skeleton, {
290
+ className: cn("h-9 w-[16rem]", className)
291
+ })));
292
+ };
293
+
294
+ function DataTableRowSkeleton(props) {
295
+ const { columnCount, rowCount = 8, cellWidths = [
296
+ "auto"
297
+ ], shrinkZero = false } = props;
298
+ return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, Array.from({
299
+ length: rowCount
300
+ }).map((_, i)=>/*#__PURE__*/ React__default.createElement(TableRow, {
301
+ key: `row-${String(i)}`,
302
+ className: "hover:bg-transparent"
303
+ }, Array.from({
304
+ length: columnCount
305
+ }).map((_, j)=>/*#__PURE__*/ React__default.createElement(TableCell, {
306
+ key: `cell-${String(i)}-${j}`,
307
+ style: {
308
+ width: cellWidths[j],
309
+ minWidth: shrinkZero ? cellWidths[j] : "auto"
310
+ }
311
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
312
+ className: "h-6 w-full"
313
+ }))))));
314
+ }
315
+
316
+ const DataTableMainFrame = ({ table, columns, isLoadingTable, loadingContent, setQueryParams, dataLabel, actionColumns = [], messageEmpty = /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, "Sem resultados"), dividingColumnKey, pageSizeOptions, className, scrollMaxHeightClass = "sm:max-h-[calc(100vh-300px)]", isScrollable = false, fixedHeader = false, showPagination = true })=>{
317
+ const currentPage = Number(table.getState().pagination.pageIndex).toString();
318
+ const pageSize = Number(table.getState().pagination.pageSize).toString();
319
+ const sorting = table.getState().sorting;
320
+ React__default.useEffect(()=>{
321
+ if (!setQueryParams) return;
322
+ const sortingParams = {
323
+ sortingBy: "",
324
+ order: ""
325
+ };
326
+ if (sorting.length > 0) {
327
+ sortingParams.sortingBy = sorting[0].id;
328
+ sortingParams.order = sorting[0].desc ? "DESC" : "ASC";
329
+ }
330
+ setQueryParams((prev)=>({
331
+ ...prev,
332
+ pageSize,
333
+ page: currentPage,
334
+ ...sortingParams
335
+ }));
336
+ }, [
337
+ currentPage,
338
+ pageSize,
339
+ setQueryParams,
340
+ sorting
341
+ ]);
342
+ const renderTableBodyContent = ()=>{
343
+ if (isLoadingTable && !loadingContent) {
344
+ return /*#__PURE__*/ React__default.createElement(DataTableRowSkeleton, {
345
+ columnCount: table.getAllColumns().length
346
+ });
347
+ }
348
+ if (isLoadingTable && loadingContent) {
349
+ return /*#__PURE__*/ React__default.createElement(TableCell, {
350
+ colSpan: columns.length,
351
+ className: "h-24 text-center"
352
+ }, loadingContent);
353
+ }
354
+ if (table.getRowModel().rows.length === 0) {
355
+ return /*#__PURE__*/ React__default.createElement(TableRow, null, /*#__PURE__*/ React__default.createElement(TableCell, {
356
+ colSpan: columns.length,
357
+ className: "h-24 text-center"
358
+ }, /*#__PURE__*/ React__default.createElement("span", {
359
+ className: "inline-block max-w-[30rem] text-wrap break-words"
360
+ }, messageEmpty)));
361
+ }
362
+ return table.getRowModel().rows.map((row, index)=>{
363
+ const rowKey = row.id ?? String(index);
364
+ return /*#__PURE__*/ React__default.createElement(TableRow, {
365
+ key: rowKey,
366
+ "data-state": row.getIsSelected() && "selected",
367
+ className: "even:bg-body/50"
368
+ }, row.getVisibleCells().map((cell)=>/*#__PURE__*/ React__default.createElement(TableCell, {
369
+ key: cell.id,
370
+ className: cn("p-2 py-1", dividingColumnKey?.includes(cell.column.id) && "border-r")
371
+ }, flexRender(cell.column.columnDef.cell, cell.getContext()))));
372
+ });
373
+ };
374
+ const shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;
375
+ return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
376
+ className: cn("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap", className)
377
+ }, /*#__PURE__*/ React__default.createElement("div", {
378
+ className: cn("relative w-full overflow-auto", shouldForceMinHeight && "force-min-height", isScrollable && scrollMaxHeightClass && scrollMaxHeightClass)
379
+ }, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, {
380
+ className: cn(fixedHeader && "bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")
381
+ }, table.getHeaderGroups().map((headerGroup)=>{
382
+ return /*#__PURE__*/ React__default.createElement(TableRow, {
383
+ key: headerGroup.id
384
+ }, headerGroup.headers.map((header)=>{
385
+ const { column: { id } } = header;
386
+ const isActionsColumn = [
387
+ "actions",
388
+ ...actionColumns
389
+ ].includes(id);
390
+ return /*#__PURE__*/ React__default.createElement(TableHead, {
391
+ className: cn(dividingColumnKey?.includes(id) ? "border-r" : "", "static"),
392
+ key: header.id
393
+ }, header.isPlaceholder ? null : /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
394
+ className: !isActionsColumn && header.column.getCanSort() ? "flex w-fit items-center justify-start cursor-pointer gap-1 font-medium" : "",
395
+ onClick: !isActionsColumn ? header.column.getToggleSortingHandler() : undefined
396
+ }, flexRender(header.column.columnDef.header, header.getContext()), (!isActionsColumn && header.column.getCanSort() && ({
397
+ asc: /*#__PURE__*/ React__default.createElement(ArrowDown, {
398
+ className: "h-3.5 w-3.5"
399
+ }),
400
+ desc: /*#__PURE__*/ React__default.createElement(ArrowUp, {
401
+ className: "h-3.5 w-3.5"
402
+ }),
403
+ false: /*#__PURE__*/ React__default.createElement(CaretSortIcon, {
404
+ className: "h-4 w-4"
405
+ })
406
+ })[header.column.getIsSorted()]) ?? /*#__PURE__*/ React__default.createElement(ArrowDown, {
407
+ className: "h-3.5 w-3.5"
408
+ }))));
409
+ }));
410
+ })), /*#__PURE__*/ React__default.createElement(TableBody, null, renderTableBodyContent())))), isScrollable || !showPagination ? null : isLoadingTable ? /*#__PURE__*/ React__default.createElement(DataTablePaginationSkeleton, null) : /*#__PURE__*/ React__default.createElement(DataTablePagination, {
411
+ table: table,
412
+ dataLabel: dataLabel,
413
+ pageSizeOptions: pageSizeOptions
414
+ }));
415
+ };
416
+
417
+ function DataTableSkeleton(props) {
418
+ const { columnCount, rowCount = 10, searchableColumnCount = 0, filterableColumnCount = 0, showViewOptions = true, cellWidths = [
419
+ "auto"
420
+ ], withPagination = true, shrinkZero = false, className, ...skeletonProps } = props;
421
+ return /*#__PURE__*/ React__default.createElement("div", {
422
+ className: cn("w-full space-y-2.5 overflow-auto", className),
423
+ ...skeletonProps
424
+ }, /*#__PURE__*/ React__default.createElement("div", {
425
+ className: "flex w-full items-center justify-between space-x-2 overflow-auto p-1"
426
+ }, /*#__PURE__*/ React__default.createElement("div", {
427
+ className: "flex flex-1 items-center space-x-2"
428
+ }, searchableColumnCount > 0 ? Array.from({
429
+ length: searchableColumnCount
430
+ }).map((_, i)=>/*#__PURE__*/ React__default.createElement(Skeleton, {
431
+ key: `${String(i)}`,
432
+ className: "h-7 w-40 lg:w-60"
433
+ })) : null, filterableColumnCount > 0 ? Array.from({
434
+ length: filterableColumnCount
435
+ }).map((_, i)=>/*#__PURE__*/ React__default.createElement(Skeleton, {
436
+ key: `${String(i)}`,
437
+ className: "h-7 w-[4.5rem] border-dashed"
438
+ })) : null), showViewOptions ? /*#__PURE__*/ React__default.createElement(Skeleton, {
439
+ className: "ml-auto hidden h-7 w-[4.5rem] lg:flex"
440
+ }) : null), /*#__PURE__*/ React__default.createElement("div", {
441
+ className: "rounded-md border"
442
+ }, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, null, Array.from({
443
+ length: 1
444
+ }).map((_, i)=>/*#__PURE__*/ React__default.createElement(TableRow, {
445
+ key: `${String(i)}`,
446
+ className: "hover:bg-transparent"
447
+ }, Array.from({
448
+ length: columnCount
449
+ }).map((_, j)=>/*#__PURE__*/ React__default.createElement(TableHead, {
450
+ key: `${String(j)}`,
451
+ style: {
452
+ width: cellWidths[j],
453
+ minWidth: shrinkZero ? cellWidths[j] : "auto"
454
+ }
455
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
456
+ className: "h-6 w-full"
457
+ })))))), /*#__PURE__*/ React__default.createElement(TableBody, null, Array.from({
458
+ length: rowCount
459
+ }).map((_, i)=>/*#__PURE__*/ React__default.createElement(TableRow, {
460
+ key: `${String(i)}`,
461
+ className: "hover:bg-transparent"
462
+ }, Array.from({
463
+ length: columnCount
464
+ }).map((_, j)=>/*#__PURE__*/ React__default.createElement(TableCell, {
465
+ key: `${String(j)}`,
466
+ style: {
467
+ width: cellWidths[j],
468
+ minWidth: shrinkZero ? cellWidths[j] : "auto"
469
+ }
470
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
471
+ className: "h-6 w-full"
472
+ })))))))), withPagination ? /*#__PURE__*/ React__default.createElement("div", {
473
+ className: "flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8"
474
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
475
+ className: "h-7 w-40 shrink-0"
476
+ }), /*#__PURE__*/ React__default.createElement("div", {
477
+ className: "flex items-center gap-4 sm:gap-6 lg:gap-8"
478
+ }, /*#__PURE__*/ React__default.createElement("div", {
479
+ className: "flex items-center space-x-2"
480
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
481
+ className: "h-7 w-24"
482
+ }), /*#__PURE__*/ React__default.createElement(Skeleton, {
483
+ className: "h-7 w-[4.5rem]"
484
+ })), /*#__PURE__*/ React__default.createElement("div", {
485
+ className: "flex items-center justify-center text-sm font-medium"
486
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
487
+ className: "h-7 w-20"
488
+ })), /*#__PURE__*/ React__default.createElement("div", {
489
+ className: "flex items-center space-x-2"
490
+ }, /*#__PURE__*/ React__default.createElement(Skeleton, {
491
+ className: "hidden size-7 lg:block"
492
+ }), /*#__PURE__*/ React__default.createElement(Skeleton, {
493
+ className: "size-7"
494
+ }), /*#__PURE__*/ React__default.createElement(Skeleton, {
495
+ className: "size-7"
496
+ }), /*#__PURE__*/ React__default.createElement(Skeleton, {
497
+ className: "hidden size-7 lg:block"
498
+ })))) : null);
499
+ }
500
+
501
+ function DataTableStatus({ table, uniqueStatusValues, renderStatusMessage, className }) {
502
+ const triggerRef = React__default.useRef(null);
503
+ const currentFilter = table.getColumn("status")?.getFilterValue();
504
+ return /*#__PURE__*/ React__default.createElement(Popover, {
505
+ modal: true
506
+ }, /*#__PURE__*/ React__default.createElement(PopoverTrigger, {
507
+ asChild: true
508
+ }, /*#__PURE__*/ React__default.createElement(Button, {
509
+ ref: triggerRef,
510
+ "aria-label": "Filtre por status",
511
+ variant: "outline",
512
+ className: cn("border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground hover:text-muted-foreground focus:ring-ring flex h-10 w-full max-w-60 items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm hover:bg-inherit focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50", className)
513
+ }, currentFilter ? renderStatusMessage(currentFilter) : "Todos os status", /*#__PURE__*/ React__default.createElement(ChevronDown, {
514
+ className: "h-4 w-4"
515
+ }))), /*#__PURE__*/ React__default.createElement(PopoverContent, {
516
+ align: "end",
517
+ className: "w-44 p-0",
518
+ onCloseAutoFocus: ()=>triggerRef.current?.focus()
519
+ }, /*#__PURE__*/ React__default.createElement(Command, null, /*#__PURE__*/ React__default.createElement(CommandInput, {
520
+ placeholder: "Pesquisar status..."
521
+ }), /*#__PURE__*/ React__default.createElement(CommandList, null, /*#__PURE__*/ React__default.createElement(CommandEmpty, null, "Nenhum status encontrado."), /*#__PURE__*/ React__default.createElement(CommandItem, {
522
+ key: "all",
523
+ onSelect: ()=>table.getColumn("status")?.setFilterValue(undefined)
524
+ }, /*#__PURE__*/ React__default.createElement("span", {
525
+ className: "truncate"
526
+ }, "Todos os status")), uniqueStatusValues.map((item)=>{
527
+ if (!item) return null;
528
+ const statusMessage = renderStatusMessage(item);
529
+ return /*#__PURE__*/ React__default.createElement(CommandItem, {
530
+ key: `${String(item)}`,
531
+ onSelect: ()=>table.getColumn("status")?.setFilterValue(item)
532
+ }, /*#__PURE__*/ React__default.createElement("span", {
533
+ className: "truncate"
534
+ }, statusMessage));
535
+ })))));
536
+ }
537
+
538
+ const getRowKey = (row, rowKey)=>{
539
+ if (typeof rowKey === "function") {
540
+ return rowKey(row);
541
+ }
542
+ if (Array.isArray(rowKey)) {
543
+ for (const key of rowKey){
544
+ if (row[key] !== undefined && row[key] !== null) {
545
+ return row[key];
546
+ }
547
+ }
548
+ return "";
549
+ }
550
+ return row[rowKey];
551
+ };
552
+ const DataTableMainFrameSortable = ({ table, columns, isLoadingTable, loadingContent, setQueryParams, dataLabel, actionColumns = [], data, messageEmpty = /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, "Sem resultados"), onDataChange, rowKey, dividingColumnKey, pageSizeOptions, className, scrollMaxHeightClass = "sm:max-h-[calc(100vh-300px)]", isScrollable = false, fixedHeader = false, showPagination = true })=>{
553
+ const currentPage = Number(table.getState().pagination.pageIndex).toString();
554
+ const pageSize = Number(table.getState().pagination.pageSize).toString();
555
+ const sorting = table.getState().sorting;
556
+ const [newData, setNewData] = React__default.useState(data);
557
+ const handleValueChange = (updatedData)=>{
558
+ setNewData(updatedData);
559
+ onDataChange?.(updatedData);
560
+ };
561
+ React__default.useEffect(()=>{
562
+ setNewData(data);
563
+ }, [
564
+ data
565
+ ]);
566
+ React__default.useEffect(()=>{
567
+ if (!setQueryParams) return;
568
+ const sortingParams = {
569
+ sortingBy: "",
570
+ order: ""
571
+ };
572
+ if (sorting.length > 0) {
573
+ sortingParams.sortingBy = sorting[0].id;
574
+ sortingParams.order = sorting[0].desc ? "DESC" : "ASC";
575
+ }
576
+ setQueryParams((prev)=>({
577
+ ...prev,
578
+ pageSize,
579
+ page: currentPage,
580
+ ...sortingParams
581
+ }));
582
+ }, [
583
+ currentPage,
584
+ pageSize,
585
+ setQueryParams,
586
+ sorting
587
+ ]);
588
+ const renderTableBodyContent = ()=>{
589
+ if (isLoadingTable && !loadingContent) {
590
+ return /*#__PURE__*/ React__default.createElement(DataTableRowSkeleton, {
591
+ columnCount: table.getAllColumns().length
592
+ });
593
+ }
594
+ if (isLoadingTable && loadingContent) {
595
+ return /*#__PURE__*/ React__default.createElement(TableCell, {
596
+ colSpan: columns.length,
597
+ className: "h-24 text-center"
598
+ }, loadingContent);
599
+ }
600
+ if (table.getRowModel().rows.length === 0) {
601
+ return /*#__PURE__*/ React__default.createElement(TableRow, null, /*#__PURE__*/ React__default.createElement(TableCell, {
602
+ colSpan: columns.length,
603
+ className: "h-24 text-center"
604
+ }, /*#__PURE__*/ React__default.createElement("span", {
605
+ className: "inline-block max-w-[30rem] text-wrap break-words"
606
+ }, messageEmpty)));
607
+ }
608
+ return table.getRowModel().rows.map((row)=>{
609
+ const rowData = row.original;
610
+ const key = getRowKey(rowData, rowKey);
611
+ return /*#__PURE__*/ React__default.createElement(SortableItem, {
612
+ key: row.id,
613
+ value: key,
614
+ asChild: true
615
+ }, /*#__PURE__*/ React__default.createElement(TableRow, {
616
+ "data-state": row.getIsSelected() && "selected",
617
+ className: "even:bg-body/50"
618
+ }, row.getVisibleCells().map((cell)=>/*#__PURE__*/ React__default.createElement(TableCell, {
619
+ key: cell.id,
620
+ className: cn("p-2 py-1", dividingColumnKey?.includes(cell.column.id) && "border-r")
621
+ }, flexRender(cell.column.columnDef.cell, cell.getContext())))));
622
+ });
623
+ };
624
+ const shouldForceMinHeight = table.getRowModel().rows.length > 1 || isLoadingTable;
625
+ return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
626
+ className: cn("bg-background mx-1 h-full w-full rounded-md border whitespace-nowrap", className)
627
+ }, /*#__PURE__*/ React__default.createElement("div", {
628
+ className: cn("relative w-full overflow-auto", shouldForceMinHeight && "force-min-height", isScrollable && scrollMaxHeightClass && scrollMaxHeightClass)
629
+ }, /*#__PURE__*/ React__default.createElement(Table, null, /*#__PURE__*/ React__default.createElement(TableHeader, {
630
+ className: cn(fixedHeader && "bg-background sticky top-0 z-10 shadow-[0_1px_0_hsl(240_6%_90%)]")
631
+ }, table.getHeaderGroups().map((headerGroup)=>{
632
+ return /*#__PURE__*/ React__default.createElement(TableRow, {
633
+ key: headerGroup.id
634
+ }, headerGroup.headers.map((header)=>{
635
+ const { column: { id } } = header;
636
+ const isActionsColumn = [
637
+ "actions",
638
+ ...actionColumns
639
+ ].includes(id);
640
+ return /*#__PURE__*/ React__default.createElement(TableHead, {
641
+ className: dividingColumnKey?.includes(id) ? "border-r" : "",
642
+ key: header.id
643
+ }, header.isPlaceholder ? null : /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, /*#__PURE__*/ React__default.createElement("div", {
644
+ className: !isActionsColumn && header.column.getCanSort() ? "flex w-fit items-center justify-start cursor-pointer gap-1 font-medium" : "",
645
+ onClick: !isActionsColumn ? header.column.getToggleSortingHandler() : undefined
646
+ }, flexRender(header.column.columnDef.header, header.getContext()), (!isActionsColumn && header.column.getCanSort() && ({
647
+ asc: /*#__PURE__*/ React__default.createElement(ArrowDown, {
648
+ className: "h-3.5 w-3.5"
649
+ }),
650
+ desc: /*#__PURE__*/ React__default.createElement(ArrowUp, {
651
+ className: "h-3.5 w-3.5"
652
+ }),
653
+ false: /*#__PURE__*/ React__default.createElement(CaretSortIcon, {
654
+ className: "h-4 w-4"
655
+ })
656
+ })[header.column.getIsSorted()]) ?? /*#__PURE__*/ React__default.createElement(ArrowDown, {
657
+ className: "h-3.5 w-3.5"
658
+ }))));
659
+ }));
660
+ })), /*#__PURE__*/ React__default.createElement(TableBody, null, /*#__PURE__*/ React__default.createElement(Sortable, {
661
+ value: newData.map((item)=>({
662
+ ...item,
663
+ id: getRowKey(item, rowKey)
664
+ })),
665
+ onValueChange: handleValueChange
666
+ }, renderTableBodyContent()))))), isScrollable || !showPagination ? null : isLoadingTable ? /*#__PURE__*/ React__default.createElement(DataTablePaginationSkeleton, null) : /*#__PURE__*/ React__default.createElement(DataTablePagination, {
667
+ table: table,
668
+ dataLabel: dataLabel,
669
+ pageSizeOptions: pageSizeOptions
670
+ }));
671
+ };
672
+
673
+ export { DataTableMainFrame, DataTableMainFrameSortable, DataTablePagination, DataTablePaginationSkeleton, DataTableRowSkeleton, DataTableSearch, DataTableSkeleton, DataTableStatus, DataTableViewOptions };
2
674
  //# sourceMappingURL=index.mjs.map