@hexclave/ui 1.0.41 → 1.0.42

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 (588) hide show
  1. package/dist/accordion-1LxYtcF-.d.ts +17 -0
  2. package/dist/accordion-1LxYtcF-.d.ts.map +1 -0
  3. package/dist/action-dialog-DjRuope_.d.ts +32 -0
  4. package/dist/action-dialog-DjRuope_.d.ts.map +1 -0
  5. package/dist/alert-BQa8jVOm.d.ts +18 -0
  6. package/dist/alert-BQa8jVOm.d.ts.map +1 -0
  7. package/dist/aspect-ratio-CwMSZ5Lk.d.ts +7 -0
  8. package/dist/aspect-ratio-CwMSZ5Lk.d.ts.map +1 -0
  9. package/dist/avatar-COsl9aaA.d.ts +16 -0
  10. package/dist/avatar-COsl9aaA.d.ts.map +1 -0
  11. package/dist/badge-B0KrSxYn.d.ts +16 -0
  12. package/dist/badge-B0KrSxYn.d.ts.map +1 -0
  13. package/dist/brand-icons-Bjvj9pgI.d.ts +75 -0
  14. package/dist/brand-icons-Bjvj9pgI.d.ts.map +1 -0
  15. package/dist/breadcrumb-xoLPVWeD.d.ts +40 -0
  16. package/dist/breadcrumb-xoLPVWeD.d.ts.map +1 -0
  17. package/dist/button-DqvToJ0R.d.ts +31 -0
  18. package/dist/button-DqvToJ0R.d.ts.map +1 -0
  19. package/dist/calendar-Cm6dI-sl.d.ts +17 -0
  20. package/dist/calendar-Cm6dI-sl.d.ts.map +1 -0
  21. package/dist/card-zNadDkms.d.ts +25 -0
  22. package/dist/card-zNadDkms.d.ts.map +1 -0
  23. package/dist/cells-C2kaNfav.d.ts +34 -0
  24. package/dist/cells-C2kaNfav.d.ts.map +1 -0
  25. package/dist/checkbox-CZveCMkD.d.ts +10 -0
  26. package/dist/checkbox-CZveCMkD.d.ts.map +1 -0
  27. package/dist/collapsible-BGCYUDWQ.d.ts +9 -0
  28. package/dist/collapsible-BGCYUDWQ.d.ts.map +1 -0
  29. package/dist/column-header-U53XE9Tp.d.ts +15 -0
  30. package/dist/column-header-U53XE9Tp.d.ts.map +1 -0
  31. package/dist/command-Cyfe0FJ4.d.ts +27 -0
  32. package/dist/command-Cyfe0FJ4.d.ts.map +1 -0
  33. package/dist/components/action-dialog.d.ts +2 -33
  34. package/dist/components/action-dialog.js +5 -7
  35. package/dist/components/action-dialog.js.map +1 -1
  36. package/dist/components/brand-icons.d.ts +2 -78
  37. package/dist/components/brand-icons.js +3 -5
  38. package/dist/components/brand-icons.js.map +1 -1
  39. package/dist/components/browser-frame/index.d.ts +2 -21
  40. package/dist/components/browser-frame/index.js +4 -5
  41. package/dist/components/browser-frame/index.js.map +1 -1
  42. package/dist/components/copy-button.d.ts +2 -22
  43. package/dist/components/copy-button.js +5 -8
  44. package/dist/components/copy-button.js.map +1 -1
  45. package/dist/components/copy-field.d.ts +2 -18
  46. package/dist/components/copy-field.js +2 -4
  47. package/dist/components/copy-field.js.map +1 -1
  48. package/dist/components/data-table/cells.d.ts +2 -35
  49. package/dist/components/data-table/cells.js +5 -7
  50. package/dist/components/data-table/cells.js.map +1 -1
  51. package/dist/components/data-table/column-header.d.ts +2 -16
  52. package/dist/components/data-table/column-header.js +2 -4
  53. package/dist/components/data-table/column-header.js.map +1 -1
  54. package/dist/components/data-table/data-table.d.ts +2 -59
  55. package/dist/components/data-table/data-table.js +4 -6
  56. package/dist/components/data-table/data-table.js.map +1 -1
  57. package/dist/components/data-table/faceted-filter.d.ts +2 -24
  58. package/dist/components/data-table/faceted-filter.js +4 -5
  59. package/dist/components/data-table/faceted-filter.js.map +1 -1
  60. package/dist/components/data-table/index.d.ts +9 -9
  61. package/dist/components/data-table/index.js +63 -55
  62. package/dist/components/data-table/pagination.d.ts +2 -13
  63. package/dist/components/data-table/pagination.js +2 -4
  64. package/dist/components/data-table/pagination.js.map +1 -1
  65. package/dist/components/data-table/toolbar-items.d.ts +2 -13
  66. package/dist/components/data-table/toolbar-items.js +2 -4
  67. package/dist/components/data-table/toolbar-items.js.map +1 -1
  68. package/dist/components/data-table/toolbar.d.ts +2 -23
  69. package/dist/components/data-table/toolbar.js +2 -5
  70. package/dist/components/data-table/toolbar.js.map +1 -1
  71. package/dist/components/data-table/utils.d.ts +2 -6
  72. package/dist/components/data-table/utils.js +2 -3
  73. package/dist/components/data-table/utils.js.map +1 -1
  74. package/dist/components/data-table/view-options.d.ts +2 -19
  75. package/dist/components/data-table/view-options.js +2 -5
  76. package/dist/components/data-table/view-options.js.map +1 -1
  77. package/dist/components/simple-tooltip.d.ts +2 -14
  78. package/dist/components/simple-tooltip.js +2 -4
  79. package/dist/components/simple-tooltip.js.map +1 -1
  80. package/dist/components/ui/accordion.d.ts +2 -17
  81. package/dist/components/ui/accordion.js +5 -7
  82. package/dist/components/ui/accordion.js.map +1 -1
  83. package/dist/components/ui/alert.d.ts +2 -19
  84. package/dist/components/ui/alert.js +5 -7
  85. package/dist/components/ui/alert.js.map +1 -1
  86. package/dist/components/ui/aspect-ratio.d.ts +2 -8
  87. package/dist/components/ui/aspect-ratio.js +4 -6
  88. package/dist/components/ui/aspect-ratio.js.map +1 -1
  89. package/dist/components/ui/avatar.d.ts +2 -16
  90. package/dist/components/ui/avatar.js +5 -7
  91. package/dist/components/ui/avatar.js.map +1 -1
  92. package/dist/components/ui/badge.d.ts +2 -17
  93. package/dist/components/ui/badge.js +5 -7
  94. package/dist/components/ui/badge.js.map +1 -1
  95. package/dist/components/ui/breadcrumb.d.ts +2 -41
  96. package/dist/components/ui/breadcrumb.js +4 -5
  97. package/dist/components/ui/breadcrumb.js.map +1 -1
  98. package/dist/components/ui/button.d.ts +2 -32
  99. package/dist/components/ui/button.js +4 -5
  100. package/dist/components/ui/button.js.map +1 -1
  101. package/dist/components/ui/calendar.d.ts +2 -18
  102. package/dist/components/ui/calendar.js +4 -6
  103. package/dist/components/ui/calendar.js.map +1 -1
  104. package/dist/components/ui/card.d.ts +2 -27
  105. package/dist/components/ui/card.js +2 -4
  106. package/dist/components/ui/card.js.map +1 -1
  107. package/dist/components/ui/checkbox.d.ts +2 -10
  108. package/dist/components/ui/checkbox.js +5 -7
  109. package/dist/components/ui/checkbox.js.map +1 -1
  110. package/dist/components/ui/collapsible.d.ts +2 -10
  111. package/dist/components/ui/collapsible.js +4 -6
  112. package/dist/components/ui/collapsible.js.map +1 -1
  113. package/dist/components/ui/command.d.ts +2 -28
  114. package/dist/components/ui/command.js +4 -6
  115. package/dist/components/ui/command.js.map +1 -1
  116. package/dist/components/ui/context-menu.d.ts +2 -51
  117. package/dist/components/ui/context-menu.js +5 -7
  118. package/dist/components/ui/context-menu.js.map +1 -1
  119. package/dist/components/ui/dialog.d.ts +2 -45
  120. package/dist/components/ui/dialog.js +5 -7
  121. package/dist/components/ui/dialog.js.map +1 -1
  122. package/dist/components/ui/dropdown-menu.d.ts +2 -54
  123. package/dist/components/ui/dropdown-menu.js +5 -7
  124. package/dist/components/ui/dropdown-menu.js.map +1 -1
  125. package/dist/components/ui/form.d.ts +2 -42
  126. package/dist/components/ui/form.js +5 -7
  127. package/dist/components/ui/form.js.map +1 -1
  128. package/dist/components/ui/hover-card.d.ts +2 -12
  129. package/dist/components/ui/hover-card.js +5 -7
  130. package/dist/components/ui/hover-card.js.map +1 -1
  131. package/dist/components/ui/inline-code.d.ts +2 -9
  132. package/dist/components/ui/inline-code.js +4 -6
  133. package/dist/components/ui/inline-code.js.map +1 -1
  134. package/dist/components/ui/input-otp.d.ts +2 -20
  135. package/dist/components/ui/input-otp.js +4 -6
  136. package/dist/components/ui/input-otp.js.map +1 -1
  137. package/dist/components/ui/input.d.ts +2 -24
  138. package/dist/components/ui/input.js +4 -5
  139. package/dist/components/ui/input.js.map +1 -1
  140. package/dist/components/ui/label.d.ts +2 -15
  141. package/dist/components/ui/label.js +5 -7
  142. package/dist/components/ui/label.js.map +1 -1
  143. package/dist/components/ui/menubar.d.ts +2 -38
  144. package/dist/components/ui/menubar.js +5 -7
  145. package/dist/components/ui/menubar.js.map +1 -1
  146. package/dist/components/ui/navigation-menu.d.ts +2 -29
  147. package/dist/components/ui/navigation-menu.js +5 -7
  148. package/dist/components/ui/navigation-menu.js.map +1 -1
  149. package/dist/components/ui/password-input.d.ts +2 -11
  150. package/dist/components/ui/password-input.js +2 -5
  151. package/dist/components/ui/password-input.js.map +1 -1
  152. package/dist/components/ui/popover.d.ts +2 -13
  153. package/dist/components/ui/popover.js +5 -7
  154. package/dist/components/ui/popover.js.map +1 -1
  155. package/dist/components/ui/progress.d.ts +2 -10
  156. package/dist/components/ui/progress.js +5 -7
  157. package/dist/components/ui/progress.js.map +1 -1
  158. package/dist/components/ui/radio-group.d.ts +2 -13
  159. package/dist/components/ui/radio-group.js +5 -7
  160. package/dist/components/ui/radio-group.js.map +1 -1
  161. package/dist/components/ui/resizable.d.ts +2 -36
  162. package/dist/components/ui/resizable.js +4 -6
  163. package/dist/components/ui/resizable.js.map +1 -1
  164. package/dist/components/ui/scroll-area.d.ts +2 -13
  165. package/dist/components/ui/scroll-area.js +5 -7
  166. package/dist/components/ui/scroll-area.js.map +1 -1
  167. package/dist/components/ui/select.d.ts +2 -33
  168. package/dist/components/ui/select.js +5 -7
  169. package/dist/components/ui/select.js.map +1 -1
  170. package/dist/components/ui/separator.d.ts +2 -10
  171. package/dist/components/ui/separator.js +5 -7
  172. package/dist/components/ui/separator.js.map +1 -1
  173. package/dist/components/ui/sheet.d.ts +2 -44
  174. package/dist/components/ui/sheet.js +5 -7
  175. package/dist/components/ui/sheet.js.map +1 -1
  176. package/dist/components/ui/skeleton.d.ts +2 -12
  177. package/dist/components/ui/skeleton.js +4 -6
  178. package/dist/components/ui/skeleton.js.map +1 -1
  179. package/dist/components/ui/slider.d.ts +2 -10
  180. package/dist/components/ui/slider.js +5 -7
  181. package/dist/components/ui/slider.js.map +1 -1
  182. package/dist/components/ui/spinner.d.ts +2 -11
  183. package/dist/components/ui/spinner.js +4 -5
  184. package/dist/components/ui/spinner.js.map +1 -1
  185. package/dist/components/ui/switch.d.ts +2 -14
  186. package/dist/components/ui/switch.js +5 -7
  187. package/dist/components/ui/switch.js.map +1 -1
  188. package/dist/components/ui/table.d.ts +2 -30
  189. package/dist/components/ui/table.js +4 -5
  190. package/dist/components/ui/table.js.map +1 -1
  191. package/dist/components/ui/tabs.d.ts +2 -17
  192. package/dist/components/ui/tabs.js +5 -7
  193. package/dist/components/ui/tabs.js.map +1 -1
  194. package/dist/components/ui/textarea.d.ts +2 -10
  195. package/dist/components/ui/textarea.js +4 -5
  196. package/dist/components/ui/textarea.js.map +1 -1
  197. package/dist/components/ui/toast.d.ts +2 -32
  198. package/dist/components/ui/toast.js +6 -8
  199. package/dist/components/ui/toast.js.map +1 -1
  200. package/dist/components/ui/toaster.d.ts +2 -7
  201. package/dist/components/ui/toaster.js +2 -5
  202. package/dist/components/ui/toaster.js.map +1 -1
  203. package/dist/components/ui/toggle-group.d.ts +2 -21
  204. package/dist/components/ui/toggle-group.js +5 -7
  205. package/dist/components/ui/toggle-group.js.map +1 -1
  206. package/dist/components/ui/toggle.d.ts +2 -3
  207. package/dist/components/ui/toggle.d.ts.map +1 -1
  208. package/dist/components/ui/toggle.js +5 -7
  209. package/dist/components/ui/toggle.js.map +1 -1
  210. package/dist/components/ui/tooltip.d.ts +2 -16
  211. package/dist/components/ui/tooltip.js +5 -7
  212. package/dist/components/ui/tooltip.js.map +1 -1
  213. package/dist/components/ui/typography.d.ts +2 -14
  214. package/dist/components/ui/typography.js +5 -7
  215. package/dist/components/ui/typography.js.map +1 -1
  216. package/dist/components/ui/use-toast.d.ts +2 -50
  217. package/dist/components/ui/use-toast.js +4 -6
  218. package/dist/components/ui/use-toast.js.map +1 -1
  219. package/dist/context-menu-D5-FvPFJ.d.ts +50 -0
  220. package/dist/context-menu-D5-FvPFJ.d.ts.map +1 -0
  221. package/dist/copy-button-ClCNLwvl.d.ts +20 -0
  222. package/dist/copy-button-ClCNLwvl.d.ts.map +1 -0
  223. package/dist/copy-field-Cf7eTpio.d.ts +16 -0
  224. package/dist/copy-field-Cf7eTpio.d.ts.map +1 -0
  225. package/dist/data-table-xbTf50By.d.ts +58 -0
  226. package/dist/data-table-xbTf50By.d.ts.map +1 -0
  227. package/dist/dialog-Dple6cLo.d.ts +44 -0
  228. package/dist/dialog-Dple6cLo.d.ts.map +1 -0
  229. package/dist/dropdown-menu-T3VfUZNR.d.ts +53 -0
  230. package/dist/dropdown-menu-T3VfUZNR.d.ts.map +1 -0
  231. package/dist/esm/components/action-dialog.d.ts +2 -3
  232. package/dist/esm/components/action-dialog.d.ts.map +1 -1
  233. package/dist/esm/components/action-dialog.js +2 -4
  234. package/dist/esm/components/action-dialog.js.map +1 -1
  235. package/dist/esm/components/brand-icons.d.ts +13 -15
  236. package/dist/esm/components/brand-icons.d.ts.map +1 -1
  237. package/dist/esm/components/brand-icons.js +2 -3
  238. package/dist/esm/components/brand-icons.js.map +1 -1
  239. package/dist/esm/components/browser-frame/index.d.ts +1 -2
  240. package/dist/esm/components/browser-frame/index.d.ts.map +1 -1
  241. package/dist/esm/components/browser-frame/index.js +2 -3
  242. package/dist/esm/components/browser-frame/index.js.map +1 -1
  243. package/dist/esm/components/copy-button.d.ts +3 -5
  244. package/dist/esm/components/copy-button.d.ts.map +1 -1
  245. package/dist/esm/components/copy-button.js +2 -4
  246. package/dist/esm/components/copy-button.js.map +1 -1
  247. package/dist/esm/components/copy-field.d.ts +1 -3
  248. package/dist/esm/components/copy-field.d.ts.map +1 -1
  249. package/dist/esm/components/copy-field.js +1 -2
  250. package/dist/esm/components/copy-field.js.map +1 -1
  251. package/dist/esm/components/data-table/cells.d.ts +5 -6
  252. package/dist/esm/components/data-table/cells.d.ts.map +1 -1
  253. package/dist/esm/components/data-table/cells.js +2 -4
  254. package/dist/esm/components/data-table/cells.js.map +1 -1
  255. package/dist/esm/components/data-table/column-header.d.ts +1 -2
  256. package/dist/esm/components/data-table/column-header.d.ts.map +1 -1
  257. package/dist/esm/components/data-table/column-header.js +1 -2
  258. package/dist/esm/components/data-table/column-header.js.map +1 -1
  259. package/dist/esm/components/data-table/data-table.d.ts +3 -4
  260. package/dist/esm/components/data-table/data-table.d.ts.map +1 -1
  261. package/dist/esm/components/data-table/data-table.js +1 -3
  262. package/dist/esm/components/data-table/data-table.js.map +1 -1
  263. package/dist/esm/components/data-table/faceted-filter.d.ts +1 -2
  264. package/dist/esm/components/data-table/faceted-filter.d.ts.map +1 -1
  265. package/dist/esm/components/data-table/faceted-filter.js +2 -3
  266. package/dist/esm/components/data-table/faceted-filter.js.map +1 -1
  267. package/dist/esm/components/data-table/index.d.ts +9 -9
  268. package/dist/esm/components/data-table/index.js +10 -19
  269. package/dist/esm/components/data-table/pagination.d.ts +1 -2
  270. package/dist/esm/components/data-table/pagination.d.ts.map +1 -1
  271. package/dist/esm/components/data-table/pagination.js +1 -2
  272. package/dist/esm/components/data-table/pagination.js.map +1 -1
  273. package/dist/esm/components/data-table/toolbar-items.d.ts +1 -2
  274. package/dist/esm/components/data-table/toolbar-items.d.ts.map +1 -1
  275. package/dist/esm/components/data-table/toolbar-items.js +1 -2
  276. package/dist/esm/components/data-table/toolbar-items.js.map +1 -1
  277. package/dist/esm/components/data-table/toolbar.d.ts +1 -2
  278. package/dist/esm/components/data-table/toolbar.d.ts.map +1 -1
  279. package/dist/esm/components/data-table/toolbar.js +1 -3
  280. package/dist/esm/components/data-table/toolbar.js.map +1 -1
  281. package/dist/esm/components/data-table/utils.js +1 -1
  282. package/dist/esm/components/data-table/utils.js.map +1 -1
  283. package/dist/esm/components/data-table/view-options.d.ts +1 -2
  284. package/dist/esm/components/data-table/view-options.d.ts.map +1 -1
  285. package/dist/esm/components/data-table/view-options.js +1 -3
  286. package/dist/esm/components/data-table/view-options.js.map +1 -1
  287. package/dist/esm/components/simple-tooltip.d.ts +1 -3
  288. package/dist/esm/components/simple-tooltip.d.ts.map +1 -1
  289. package/dist/esm/components/simple-tooltip.js +1 -2
  290. package/dist/esm/components/simple-tooltip.js.map +1 -1
  291. package/dist/esm/components/ui/accordion.js +2 -4
  292. package/dist/esm/components/ui/accordion.js.map +1 -1
  293. package/dist/esm/components/ui/alert.d.ts +1 -2
  294. package/dist/esm/components/ui/alert.d.ts.map +1 -1
  295. package/dist/esm/components/ui/alert.js +2 -3
  296. package/dist/esm/components/ui/alert.js.map +1 -1
  297. package/dist/esm/components/ui/aspect-ratio.d.ts +1 -2
  298. package/dist/esm/components/ui/aspect-ratio.d.ts.map +1 -1
  299. package/dist/esm/components/ui/aspect-ratio.js +1 -3
  300. package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
  301. package/dist/esm/components/ui/avatar.js +2 -4
  302. package/dist/esm/components/ui/avatar.js.map +1 -1
  303. package/dist/esm/components/ui/badge.d.ts +2 -3
  304. package/dist/esm/components/ui/badge.d.ts.map +1 -1
  305. package/dist/esm/components/ui/badge.js +2 -3
  306. package/dist/esm/components/ui/badge.js.map +1 -1
  307. package/dist/esm/components/ui/breadcrumb.d.ts +2 -3
  308. package/dist/esm/components/ui/breadcrumb.d.ts.map +1 -1
  309. package/dist/esm/components/ui/breadcrumb.js +2 -3
  310. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  311. package/dist/esm/components/ui/button.d.ts +4 -5
  312. package/dist/esm/components/ui/button.d.ts.map +1 -1
  313. package/dist/esm/components/ui/button.js +2 -3
  314. package/dist/esm/components/ui/button.js.map +1 -1
  315. package/dist/esm/components/ui/calendar.d.ts +1 -2
  316. package/dist/esm/components/ui/calendar.d.ts.map +1 -1
  317. package/dist/esm/components/ui/calendar.js +2 -4
  318. package/dist/esm/components/ui/calendar.js.map +1 -1
  319. package/dist/esm/components/ui/card.d.ts +14 -16
  320. package/dist/esm/components/ui/card.d.ts.map +1 -1
  321. package/dist/esm/components/ui/card.js +1 -2
  322. package/dist/esm/components/ui/card.js.map +1 -1
  323. package/dist/esm/components/ui/checkbox.js +2 -4
  324. package/dist/esm/components/ui/checkbox.js.map +1 -1
  325. package/dist/esm/components/ui/collapsible.d.ts +3 -4
  326. package/dist/esm/components/ui/collapsible.d.ts.map +1 -1
  327. package/dist/esm/components/ui/collapsible.js +1 -3
  328. package/dist/esm/components/ui/collapsible.js.map +1 -1
  329. package/dist/esm/components/ui/command.d.ts +2 -3
  330. package/dist/esm/components/ui/command.d.ts.map +1 -1
  331. package/dist/esm/components/ui/command.js +2 -4
  332. package/dist/esm/components/ui/command.js.map +1 -1
  333. package/dist/esm/components/ui/context-menu.d.ts +1 -2
  334. package/dist/esm/components/ui/context-menu.d.ts.map +1 -1
  335. package/dist/esm/components/ui/context-menu.js +2 -4
  336. package/dist/esm/components/ui/context-menu.js.map +1 -1
  337. package/dist/esm/components/ui/dialog.d.ts +3 -4
  338. package/dist/esm/components/ui/dialog.d.ts.map +1 -1
  339. package/dist/esm/components/ui/dialog.js +2 -4
  340. package/dist/esm/components/ui/dialog.js.map +1 -1
  341. package/dist/esm/components/ui/dropdown-menu.d.ts +1 -2
  342. package/dist/esm/components/ui/dropdown-menu.d.ts.map +1 -1
  343. package/dist/esm/components/ui/dropdown-menu.js +1 -3
  344. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  345. package/dist/esm/components/ui/form.d.ts +4 -7
  346. package/dist/esm/components/ui/form.d.ts.map +1 -1
  347. package/dist/esm/components/ui/form.js +2 -4
  348. package/dist/esm/components/ui/form.js.map +1 -1
  349. package/dist/esm/components/ui/hover-card.js +2 -4
  350. package/dist/esm/components/ui/hover-card.js.map +1 -1
  351. package/dist/esm/components/ui/inline-code.js +2 -4
  352. package/dist/esm/components/ui/inline-code.js.map +1 -1
  353. package/dist/esm/components/ui/input-otp.js +1 -3
  354. package/dist/esm/components/ui/input-otp.js.map +1 -1
  355. package/dist/esm/components/ui/input.d.ts.map +1 -1
  356. package/dist/esm/components/ui/input.js +1 -2
  357. package/dist/esm/components/ui/input.js.map +1 -1
  358. package/dist/esm/components/ui/label.d.ts +2 -3
  359. package/dist/esm/components/ui/label.d.ts.map +1 -1
  360. package/dist/esm/components/ui/label.js +2 -4
  361. package/dist/esm/components/ui/label.js.map +1 -1
  362. package/dist/esm/components/ui/menubar.d.ts +1 -2
  363. package/dist/esm/components/ui/menubar.d.ts.map +1 -1
  364. package/dist/esm/components/ui/menubar.js +1 -3
  365. package/dist/esm/components/ui/menubar.js.map +1 -1
  366. package/dist/esm/components/ui/navigation-menu.d.ts +1 -2
  367. package/dist/esm/components/ui/navigation-menu.d.ts.map +1 -1
  368. package/dist/esm/components/ui/navigation-menu.js +2 -4
  369. package/dist/esm/components/ui/navigation-menu.js.map +1 -1
  370. package/dist/esm/components/ui/password-input.d.ts +3 -5
  371. package/dist/esm/components/ui/password-input.d.ts.map +1 -1
  372. package/dist/esm/components/ui/password-input.js +1 -3
  373. package/dist/esm/components/ui/password-input.js.map +1 -1
  374. package/dist/esm/components/ui/popover.js +2 -4
  375. package/dist/esm/components/ui/popover.js.map +1 -1
  376. package/dist/esm/components/ui/progress.js +2 -4
  377. package/dist/esm/components/ui/progress.js.map +1 -1
  378. package/dist/esm/components/ui/radio-group.js +2 -4
  379. package/dist/esm/components/ui/radio-group.js.map +1 -1
  380. package/dist/esm/components/ui/resizable.d.ts +5 -7
  381. package/dist/esm/components/ui/resizable.d.ts.map +1 -1
  382. package/dist/esm/components/ui/resizable.js +1 -3
  383. package/dist/esm/components/ui/resizable.js.map +1 -1
  384. package/dist/esm/components/ui/scroll-area.js +2 -4
  385. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  386. package/dist/esm/components/ui/select.js +2 -4
  387. package/dist/esm/components/ui/select.js.map +1 -1
  388. package/dist/esm/components/ui/separator.js +2 -4
  389. package/dist/esm/components/ui/separator.js.map +1 -1
  390. package/dist/esm/components/ui/sheet.d.ts +3 -5
  391. package/dist/esm/components/ui/sheet.d.ts.map +1 -1
  392. package/dist/esm/components/ui/sheet.js +2 -4
  393. package/dist/esm/components/ui/sheet.js.map +1 -1
  394. package/dist/esm/components/ui/skeleton.d.ts +1 -2
  395. package/dist/esm/components/ui/skeleton.d.ts.map +1 -1
  396. package/dist/esm/components/ui/skeleton.js +2 -4
  397. package/dist/esm/components/ui/skeleton.js.map +1 -1
  398. package/dist/esm/components/ui/slider.js +2 -4
  399. package/dist/esm/components/ui/slider.js.map +1 -1
  400. package/dist/esm/components/ui/spinner.js +2 -3
  401. package/dist/esm/components/ui/spinner.js.map +1 -1
  402. package/dist/esm/components/ui/switch.js +2 -4
  403. package/dist/esm/components/ui/switch.js.map +1 -1
  404. package/dist/esm/components/ui/table.js +2 -3
  405. package/dist/esm/components/ui/table.js.map +1 -1
  406. package/dist/esm/components/ui/tabs.js +2 -4
  407. package/dist/esm/components/ui/tabs.js.map +1 -1
  408. package/dist/esm/components/ui/textarea.d.ts.map +1 -1
  409. package/dist/esm/components/ui/textarea.js +2 -3
  410. package/dist/esm/components/ui/textarea.js.map +1 -1
  411. package/dist/esm/components/ui/toast.d.ts +1 -2
  412. package/dist/esm/components/ui/toast.d.ts.map +1 -1
  413. package/dist/esm/components/ui/toast.js +3 -5
  414. package/dist/esm/components/ui/toast.js.map +1 -1
  415. package/dist/esm/components/ui/toaster.d.ts +1 -3
  416. package/dist/esm/components/ui/toaster.d.ts.map +1 -1
  417. package/dist/esm/components/ui/toaster.js +1 -3
  418. package/dist/esm/components/ui/toaster.js.map +1 -1
  419. package/dist/esm/components/ui/toggle-group.d.ts +2 -3
  420. package/dist/esm/components/ui/toggle-group.d.ts.map +1 -1
  421. package/dist/esm/components/ui/toggle-group.js +1 -3
  422. package/dist/esm/components/ui/toggle-group.js.map +1 -1
  423. package/dist/esm/components/ui/toggle.d.ts +2 -3
  424. package/dist/esm/components/ui/toggle.d.ts.map +1 -1
  425. package/dist/esm/components/ui/toggle.js +2 -4
  426. package/dist/esm/components/ui/toggle.js.map +1 -1
  427. package/dist/esm/components/ui/tooltip.js +2 -4
  428. package/dist/esm/components/ui/tooltip.js.map +1 -1
  429. package/dist/esm/components/ui/typography.d.ts +2 -3
  430. package/dist/esm/components/ui/typography.d.ts.map +1 -1
  431. package/dist/esm/components/ui/typography.js +2 -3
  432. package/dist/esm/components/ui/typography.js.map +1 -1
  433. package/dist/esm/components/ui/use-toast.d.ts +3 -3
  434. package/dist/esm/components/ui/use-toast.d.ts.map +1 -1
  435. package/dist/esm/components/ui/use-toast.js +1 -3
  436. package/dist/esm/components/ui/use-toast.js.map +1 -1
  437. package/dist/esm/index.d.ts +53 -53
  438. package/dist/esm/index.js +52 -104
  439. package/dist/esm/lib/utils.d.ts.map +1 -1
  440. package/dist/esm/lib/utils.js +1 -2
  441. package/dist/esm/lib/utils.js.map +1 -1
  442. package/dist/faceted-filter-D7lzC-jQ.d.ts +23 -0
  443. package/dist/faceted-filter-D7lzC-jQ.d.ts.map +1 -0
  444. package/dist/form-tbb6TTzR.d.ts +39 -0
  445. package/dist/form-tbb6TTzR.d.ts.map +1 -0
  446. package/dist/hover-card-Db1Z51JY.d.ts +12 -0
  447. package/dist/hover-card-Db1Z51JY.d.ts.map +1 -0
  448. package/dist/index-BVVgDSdq.d.ts +1 -0
  449. package/dist/index-CExKVq1L.d.ts +20 -0
  450. package/dist/index-CExKVq1L.d.ts.map +1 -0
  451. package/dist/index.d.ts +62 -62
  452. package/dist/index.js +371 -320
  453. package/dist/inline-code-AXm9EHRp.d.ts +9 -0
  454. package/dist/inline-code-AXm9EHRp.d.ts.map +1 -0
  455. package/dist/input-D57fCXWj.d.ts +24 -0
  456. package/dist/input-D57fCXWj.d.ts.map +1 -0
  457. package/dist/input-otp-DQyimdZZ.d.ts +20 -0
  458. package/dist/input-otp-DQyimdZZ.d.ts.map +1 -0
  459. package/dist/label-D1hxJj6E.d.ts +14 -0
  460. package/dist/label-D1hxJj6E.d.ts.map +1 -0
  461. package/dist/lib/utils.d.ts +2 -7
  462. package/dist/lib/utils.js +2 -4
  463. package/dist/lib/utils.js.map +1 -1
  464. package/dist/menubar-C4IR0XyE.d.ts +37 -0
  465. package/dist/menubar-C4IR0XyE.d.ts.map +1 -0
  466. package/dist/navigation-menu-B0mRDLJl.d.ts +28 -0
  467. package/dist/navigation-menu-B0mRDLJl.d.ts.map +1 -0
  468. package/dist/pagination-CM_S9U09.d.ts +12 -0
  469. package/dist/pagination-CM_S9U09.d.ts.map +1 -0
  470. package/dist/password-input-dDKI5XMl.d.ts +9 -0
  471. package/dist/password-input-dDKI5XMl.d.ts.map +1 -0
  472. package/dist/popover-f6eyU589.d.ts +13 -0
  473. package/dist/popover-f6eyU589.d.ts.map +1 -0
  474. package/dist/progress-CA-6BN6M.d.ts +10 -0
  475. package/dist/progress-CA-6BN6M.d.ts.map +1 -0
  476. package/dist/radio-group-DVGseXHe.d.ts +13 -0
  477. package/dist/radio-group-DVGseXHe.d.ts.map +1 -0
  478. package/dist/resizable-s9cEwmcP.d.ts +34 -0
  479. package/dist/resizable-s9cEwmcP.d.ts.map +1 -0
  480. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  481. package/dist/scroll-area-4m-KlrLi.d.ts +13 -0
  482. package/dist/scroll-area-4m-KlrLi.d.ts.map +1 -0
  483. package/dist/select-CjuKJZCz.d.ts +33 -0
  484. package/dist/select-CjuKJZCz.d.ts.map +1 -0
  485. package/dist/separator-Cjk8CDfK.d.ts +10 -0
  486. package/dist/separator-Cjk8CDfK.d.ts.map +1 -0
  487. package/dist/sheet-zQxyw3Gk.d.ts +42 -0
  488. package/dist/sheet-zQxyw3Gk.d.ts.map +1 -0
  489. package/dist/simple-tooltip-DUT6gJoc.d.ts +12 -0
  490. package/dist/simple-tooltip-DUT6gJoc.d.ts.map +1 -0
  491. package/dist/skeleton-Cyj6UxcU.d.ts +11 -0
  492. package/dist/skeleton-Cyj6UxcU.d.ts.map +1 -0
  493. package/dist/slider-D8BSwczz.d.ts +10 -0
  494. package/dist/slider-D8BSwczz.d.ts.map +1 -0
  495. package/dist/spinner-BV3t_oJC.d.ts +11 -0
  496. package/dist/spinner-BV3t_oJC.d.ts.map +1 -0
  497. package/dist/switch-D58EsVj5.d.ts +14 -0
  498. package/dist/switch-D58EsVj5.d.ts.map +1 -0
  499. package/dist/table-CN5qY3kG.d.ts +30 -0
  500. package/dist/table-CN5qY3kG.d.ts.map +1 -0
  501. package/dist/tabs-DLqjVLtJ.d.ts +17 -0
  502. package/dist/tabs-DLqjVLtJ.d.ts.map +1 -0
  503. package/dist/textarea-BbfG-NR-.d.ts +10 -0
  504. package/dist/textarea-BbfG-NR-.d.ts.map +1 -0
  505. package/dist/toast-CYNoBddH.d.ts +31 -0
  506. package/dist/toast-CYNoBddH.d.ts.map +1 -0
  507. package/dist/toaster-D1hq_EiX.d.ts +5 -0
  508. package/dist/toaster-D1hq_EiX.d.ts.map +1 -0
  509. package/dist/toggle-group-DViDiVTV.d.ts +20 -0
  510. package/dist/toggle-group-DViDiVTV.d.ts.map +1 -0
  511. package/dist/toolbar-HaHcbLXl.d.ts +22 -0
  512. package/dist/toolbar-HaHcbLXl.d.ts.map +1 -0
  513. package/dist/toolbar-items-C7xWp9cs.d.ts +12 -0
  514. package/dist/toolbar-items-C7xWp9cs.d.ts.map +1 -0
  515. package/dist/tooltip-Earz1C6g.d.ts +16 -0
  516. package/dist/tooltip-Earz1C6g.d.ts.map +1 -0
  517. package/dist/typography-DCVZg-AC.d.ts +13 -0
  518. package/dist/typography-DCVZg-AC.d.ts.map +1 -0
  519. package/dist/use-toast-vZWO0yi1.d.ts +50 -0
  520. package/dist/use-toast-vZWO0yi1.d.ts.map +1 -0
  521. package/dist/utils-BVWSvBld.d.ts +7 -0
  522. package/dist/utils-BVWSvBld.d.ts.map +1 -0
  523. package/dist/utils-f0RNcD81.d.ts +6 -0
  524. package/dist/utils-f0RNcD81.d.ts.map +1 -0
  525. package/dist/view-options-drlEs3Xp.d.ts +18 -0
  526. package/dist/view-options-drlEs3Xp.d.ts.map +1 -0
  527. package/package.json +2 -5
  528. package/dist/components/action-dialog.d.ts.map +0 -1
  529. package/dist/components/brand-icons.d.ts.map +0 -1
  530. package/dist/components/browser-frame/index.d.ts.map +0 -1
  531. package/dist/components/copy-button.d.ts.map +0 -1
  532. package/dist/components/copy-field.d.ts.map +0 -1
  533. package/dist/components/data-table/cells.d.ts.map +0 -1
  534. package/dist/components/data-table/column-header.d.ts.map +0 -1
  535. package/dist/components/data-table/data-table.d.ts.map +0 -1
  536. package/dist/components/data-table/faceted-filter.d.ts.map +0 -1
  537. package/dist/components/data-table/pagination.d.ts.map +0 -1
  538. package/dist/components/data-table/toolbar-items.d.ts.map +0 -1
  539. package/dist/components/data-table/toolbar.d.ts.map +0 -1
  540. package/dist/components/data-table/utils.d.ts.map +0 -1
  541. package/dist/components/data-table/view-options.d.ts.map +0 -1
  542. package/dist/components/simple-tooltip.d.ts.map +0 -1
  543. package/dist/components/ui/accordion.d.ts.map +0 -1
  544. package/dist/components/ui/alert.d.ts.map +0 -1
  545. package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
  546. package/dist/components/ui/avatar.d.ts.map +0 -1
  547. package/dist/components/ui/badge.d.ts.map +0 -1
  548. package/dist/components/ui/breadcrumb.d.ts.map +0 -1
  549. package/dist/components/ui/button.d.ts.map +0 -1
  550. package/dist/components/ui/calendar.d.ts.map +0 -1
  551. package/dist/components/ui/card.d.ts.map +0 -1
  552. package/dist/components/ui/checkbox.d.ts.map +0 -1
  553. package/dist/components/ui/collapsible.d.ts.map +0 -1
  554. package/dist/components/ui/command.d.ts.map +0 -1
  555. package/dist/components/ui/context-menu.d.ts.map +0 -1
  556. package/dist/components/ui/dialog.d.ts.map +0 -1
  557. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  558. package/dist/components/ui/form.d.ts.map +0 -1
  559. package/dist/components/ui/hover-card.d.ts.map +0 -1
  560. package/dist/components/ui/inline-code.d.ts.map +0 -1
  561. package/dist/components/ui/input-otp.d.ts.map +0 -1
  562. package/dist/components/ui/input.d.ts.map +0 -1
  563. package/dist/components/ui/label.d.ts.map +0 -1
  564. package/dist/components/ui/menubar.d.ts.map +0 -1
  565. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  566. package/dist/components/ui/password-input.d.ts.map +0 -1
  567. package/dist/components/ui/popover.d.ts.map +0 -1
  568. package/dist/components/ui/progress.d.ts.map +0 -1
  569. package/dist/components/ui/radio-group.d.ts.map +0 -1
  570. package/dist/components/ui/resizable.d.ts.map +0 -1
  571. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  572. package/dist/components/ui/select.d.ts.map +0 -1
  573. package/dist/components/ui/separator.d.ts.map +0 -1
  574. package/dist/components/ui/sheet.d.ts.map +0 -1
  575. package/dist/components/ui/skeleton.d.ts.map +0 -1
  576. package/dist/components/ui/slider.d.ts.map +0 -1
  577. package/dist/components/ui/spinner.d.ts.map +0 -1
  578. package/dist/components/ui/switch.d.ts.map +0 -1
  579. package/dist/components/ui/table.d.ts.map +0 -1
  580. package/dist/components/ui/tabs.d.ts.map +0 -1
  581. package/dist/components/ui/textarea.d.ts.map +0 -1
  582. package/dist/components/ui/toast.d.ts.map +0 -1
  583. package/dist/components/ui/toaster.d.ts.map +0 -1
  584. package/dist/components/ui/toggle-group.d.ts.map +0 -1
  585. package/dist/components/ui/tooltip.d.ts.map +0 -1
  586. package/dist/components/ui/typography.d.ts.map +0 -1
  587. package/dist/components/ui/use-toast.d.ts.map +0 -1
  588. package/dist/lib/utils.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cells.js","names":[],"sources":["../../../../src/components/data-table/cells.tsx"],"sourcesContent":["\n'use client';\nimport { DotsHorizontalIcon } from \"@radix-ui/react-icons\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Avatar, AvatarFallback, AvatarImage, Badge, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, SimpleTooltip, cn } from \"../..\";\n\nexport function TextCell(props: { children: React.ReactNode, size?: number, icon?: React.ReactNode }) {\n const textRef = useRef<HTMLDivElement>(null);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const overflowStyle = \"text-ellipsis text-nowrap overflow-x-hidden\";\n\n useEffect(() => {\n const checkOverflow = () => {\n if (textRef.current) {\n const isOverflowing = textRef.current.scrollWidth > textRef.current.clientWidth;\n setIsOverflowing(isOverflowing);\n }\n };\n\n checkOverflow();\n window.addEventListener('resize', checkOverflow);\n return () => {\n window.removeEventListener('resize', checkOverflow);\n };\n }, []);\n\n return (\n <div className=\"relative\" style={{ minWidth: props.size }}>\n <div className=\"flex items-center gap-2 absolute inset-0\">\n <div className={overflowStyle} ref={textRef}>\n {isOverflowing ? (\n <SimpleTooltip tooltip={props.children}>\n <div className={overflowStyle}>\n {props.children}\n </div>\n </SimpleTooltip>\n ) : props.children}\n </div>\n {props.icon && <div>{props.icon}</div>}\n </div>\n </div>\n );\n}\n\nexport function AvatarCell(props: { src?: string, fallback?: string }) {\n return (\n <Avatar className=\"h-6 w-6\">\n <AvatarImage src={props.src} />\n <AvatarFallback>{props.fallback}</AvatarFallback>\n </Avatar>\n );\n}\n\nexport function DateCell(props: { date: Date, ignoreAfterYears?: number }) {\n const ignore = !!props.ignoreAfterYears && new Date(new Date().setFullYear(new Date().getFullYear() + props.ignoreAfterYears)) < props.date;\n const timeString = props.date.toLocaleTimeString([], { year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit' });\n return (\n <TextCell size={140}>\n {ignore ? 'Never' : timeString}\n </TextCell>\n );\n}\n\ntype ActionItem = '-' | {\n item: React.ReactNode,\n onClick: (e: React.MouseEvent) => void | Promise<void>,\n danger?: boolean,\n disabled?: boolean,\n disabledTooltip?: string,\n}\n\nexport function ActionCell(props: {\n items?: ActionItem[],\n invisible?: boolean,\n}) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className={cn(\n \"flex h-8 w-8 p-0 data-[state=open]:bg-muted\",\n props.invisible && \"invisible\",\n )}\n >\n <DotsHorizontalIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"min-w-[150px] max-w-[300px] stack-scope\">\n {props.items?.map((item, index) => {\n if (item === '-') {\n return <DropdownMenuSeparator key={index} />;\n }\n\n const menuItemProps = {\n onClick: item.onClick,\n className: cn(item.danger ? \"text-destructive\" : \"\"),\n disabled: item.disabled\n };\n\n const menuItem = (\n <DropdownMenuItem {...menuItemProps} key={index}>\n {item.item}\n </DropdownMenuItem>\n );\n\n if (item.disabled && item.disabledTooltip) {\n return (\n <SimpleTooltip tooltip={item.disabledTooltip} key={index}>\n {React.cloneElement(menuItem, {\n className: cn(menuItemProps.className, \"opacity-50 cursor-not-allowed\")\n })}\n </SimpleTooltip>\n );\n }\n\n return menuItem;\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport function BadgeCell(props: { badges: string[], size?: number }) {\n return (\n <div className=\"flex items-center gap-1 flex-wrap\">\n {props.badges.map((badge, index) => (\n <Badge key={index} variant=\"secondary\">{badge}</Badge>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAMA,SAAgB,SAAS,OAA6E;CACpG,MAAM,UAAU,OAAuB,KAAK;CAC5C,MAAM,CAAC,eAAe,oBAAoB,SAAS,MAAM;CACzD,MAAM,gBAAgB;AAEtB,iBAAgB;EACd,MAAM,sBAAsB;AAC1B,OAAI,QAAQ,QAEV,kBADsB,QAAQ,QAAQ,cAAc,QAAQ,QAAQ,YACrC;;AAInC,iBAAe;AACf,SAAO,iBAAiB,UAAU,cAAc;AAChD,eAAa;AACX,UAAO,oBAAoB,UAAU,cAAc;;IAEpD,EAAE,CAAC;AAEN,QACE,oBAAC;EAAI,WAAU;EAAW,OAAO,EAAE,UAAU,MAAM,MAAM;YACvD,qBAAC;GAAI,WAAU;cACb,oBAAC;IAAI,WAAW;IAAe,KAAK;cACjC,gBACC,oBAAC;KAAc,SAAS,MAAM;eAC5B,oBAAC;MAAI,WAAW;gBACb,MAAM;OACH;MACQ,GACd,MAAM;KACN,EACL,MAAM,QAAQ,oBAAC,mBAAK,MAAM,OAAW;IAClC;GACF;;AAIV,SAAgB,WAAW,OAA4C;AACrE,QACE,qBAAC;EAAO,WAAU;aAChB,oBAAC,eAAY,KAAK,MAAM,MAAO,EAC/B,oBAAC,4BAAgB,MAAM,WAA0B;GAC1C;;AAIb,SAAgB,SAAS,OAAkD;CACzE,MAAM,SAAS,CAAC,CAAC,MAAM,oBAAoB,IAAI,sBAAK,IAAI,MAAM,EAAC,6BAAY,IAAI,MAAM,EAAC,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,MAAM;CACvI,MAAM,aAAa,MAAM,KAAK,mBAAmB,EAAE,EAAE;EAAE,MAAM;EAAW,OAAO;EAAW,KAAK;EAAW,MAAM;EAAW,QAAQ;EAAW,CAAC;AAC/I,QACE,oBAAC;EAAS,MAAM;YACb,SAAS,UAAU;GACX;;AAYf,SAAgB,WAAW,OAGxB;AACD,QACE,qBAAC,2BACC,oBAAC;EAAoB;YACnB,qBAAC;GACC,SAAQ;GACR,WAAW,GACT,+CACA,MAAM,aAAa,YACpB;cAED,oBAAC,sBAAmB,WAAU,YAAY,EAC1C,oBAAC;IAAK,WAAU;cAAU;KAAgB;IACnC;GACW,EACtB,oBAAC;EAAoB,OAAM;EAAM,WAAU;YACxC,MAAM,OAAO,KAAK,MAAM,UAAU;AACjC,OAAI,SAAS,IACX,QAAO,oBAAC,2BAA2B,MAAS;GAG9C,MAAM,gBAAgB;IACpB,SAAS,KAAK;IACd,WAAW,GAAG,KAAK,SAAS,qBAAqB,GAAG;IACpD,UAAU,KAAK;IAChB;GAED,MAAM,WACJ,8BAAC;IAAiB,GAAI;IAAe,KAAK;MACvC,KAAK,KACW;AAGrB,OAAI,KAAK,YAAY,KAAK,gBACxB,QACE,oBAAC;IAAc,SAAS,KAAK;cAC1B,MAAM,aAAa,UAAU,EAC5B,WAAW,GAAG,cAAc,WAAW,gCAAgC,EACxE,CAAC;MAH+C,MAInC;AAIpB,UAAO;IACP;GACkB,IACT;;AAInB,SAAgB,UAAU,OAA4C;AACpE,QACE,oBAAC;EAAI,WAAU;YACZ,MAAM,OAAO,KAAK,OAAO,UACxB,oBAAC;GAAkB,SAAQ;aAAa;KAA5B,MAA0C,CACtD;GACE"}
1
+ {"version":3,"file":"cells.js","names":[],"sources":["../../../../src/components/data-table/cells.tsx"],"sourcesContent":["\n'use client';\nimport { DotsHorizontalIcon } from \"@radix-ui/react-icons\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Avatar, AvatarFallback, AvatarImage, Badge, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, SimpleTooltip, cn } from \"../..\";\n\nexport function TextCell(props: { children: React.ReactNode, size?: number, icon?: React.ReactNode }) {\n const textRef = useRef<HTMLDivElement>(null);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const overflowStyle = \"text-ellipsis text-nowrap overflow-x-hidden\";\n\n useEffect(() => {\n const checkOverflow = () => {\n if (textRef.current) {\n const isOverflowing = textRef.current.scrollWidth > textRef.current.clientWidth;\n setIsOverflowing(isOverflowing);\n }\n };\n\n checkOverflow();\n window.addEventListener('resize', checkOverflow);\n return () => {\n window.removeEventListener('resize', checkOverflow);\n };\n }, []);\n\n return (\n <div className=\"relative\" style={{ minWidth: props.size }}>\n <div className=\"flex items-center gap-2 absolute inset-0\">\n <div className={overflowStyle} ref={textRef}>\n {isOverflowing ? (\n <SimpleTooltip tooltip={props.children}>\n <div className={overflowStyle}>\n {props.children}\n </div>\n </SimpleTooltip>\n ) : props.children}\n </div>\n {props.icon && <div>{props.icon}</div>}\n </div>\n </div>\n );\n}\n\nexport function AvatarCell(props: { src?: string, fallback?: string }) {\n return (\n <Avatar className=\"h-6 w-6\">\n <AvatarImage src={props.src} />\n <AvatarFallback>{props.fallback}</AvatarFallback>\n </Avatar>\n );\n}\n\nexport function DateCell(props: { date: Date, ignoreAfterYears?: number }) {\n const ignore = !!props.ignoreAfterYears && new Date(new Date().setFullYear(new Date().getFullYear() + props.ignoreAfterYears)) < props.date;\n const timeString = props.date.toLocaleTimeString([], { year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit' });\n return (\n <TextCell size={140}>\n {ignore ? 'Never' : timeString}\n </TextCell>\n );\n}\n\ntype ActionItem = '-' | {\n item: React.ReactNode,\n onClick: (e: React.MouseEvent) => void | Promise<void>,\n danger?: boolean,\n disabled?: boolean,\n disabledTooltip?: string,\n}\n\nexport function ActionCell(props: {\n items?: ActionItem[],\n invisible?: boolean,\n}) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className={cn(\n \"flex h-8 w-8 p-0 data-[state=open]:bg-muted\",\n props.invisible && \"invisible\",\n )}\n >\n <DotsHorizontalIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"min-w-[150px] max-w-[300px] stack-scope\">\n {props.items?.map((item, index) => {\n if (item === '-') {\n return <DropdownMenuSeparator key={index} />;\n }\n\n const menuItemProps = {\n onClick: item.onClick,\n className: cn(item.danger ? \"text-destructive\" : \"\"),\n disabled: item.disabled\n };\n\n const menuItem = (\n <DropdownMenuItem {...menuItemProps} key={index}>\n {item.item}\n </DropdownMenuItem>\n );\n\n if (item.disabled && item.disabledTooltip) {\n return (\n <SimpleTooltip tooltip={item.disabledTooltip} key={index}>\n {React.cloneElement(menuItem, {\n className: cn(menuItemProps.className, \"opacity-50 cursor-not-allowed\")\n })}\n </SimpleTooltip>\n );\n }\n\n return menuItem;\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport function BadgeCell(props: { badges: string[], size?: number }) {\n return (\n <div className=\"flex items-center gap-1 flex-wrap\">\n {props.badges.map((badge, index) => (\n <Badge key={index} variant=\"secondary\">{badge}</Badge>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,SAAS,OAA6E;CACpG,MAAM,UAAU,OAAuB,IAAI;CAC3C,MAAM,CAAC,eAAe,oBAAoB,SAAS,KAAK;CACxD,MAAM,gBAAgB;CAEtB,gBAAgB;EACd,MAAM,sBAAsB;GAC1B,IAAI,QAAQ,SAEV,iBADsB,QAAQ,QAAQ,cAAc,QAAQ,QAAQ,WACtC;EAElC;EAEA,cAAc;EACd,OAAO,iBAAiB,UAAU,aAAa;EAC/C,aAAa;GACX,OAAO,oBAAoB,UAAU,aAAa;EACpD;CACF,GAAG,CAAC,CAAC;CAEL,OACE,oBAAC,OAAD;EAAK,WAAU;EAAW,OAAO,EAAE,UAAU,MAAM,KAAK;YACtD,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,OAAD;IAAK,WAAW;IAAe,KAAK;cACjC,gBACC,oBAAC,eAAD;KAAe,SAAS,MAAM;eAC5B,oBAAC,OAAD;MAAK,WAAW;gBACb,MAAM;KACJ,CAAA;IACQ,CAAA,IACb,MAAM;GACP,CAAA,GACJ,MAAM,QAAQ,oBAAC,OAAD,EAAA,UAAM,MAAM,KAAU,CAAA,CAClC;;CACF,CAAA;AAET;AAEA,SAAgB,WAAW,OAA4C;CACrE,OACE,qBAAC,QAAD;EAAQ,WAAU;YAAlB,CACE,oBAAC,aAAD,EAAa,KAAK,MAAM,IAAM,CAAA,GAC9B,oBAAC,gBAAD,EAAA,UAAiB,MAAM,SAAyB,CAAA,CAC1C;;AAEZ;AAEA,SAAgB,SAAS,OAAkD;CACzE,MAAM,SAAS,CAAC,CAAC,MAAM,oBAAoB,IAAI,sBAAK,IAAI,KAAK,EAAA,CAAE,6BAAY,IAAI,KAAK,EAAA,CAAE,YAAY,IAAI,MAAM,gBAAgB,CAAC,IAAI,MAAM;CACvI,MAAM,aAAa,MAAM,KAAK,mBAAmB,CAAC,GAAG;EAAE,MAAM;EAAW,OAAO;EAAW,KAAK;EAAW,MAAM;EAAW,QAAQ;CAAU,CAAC;CAC9I,OACE,oBAAC,UAAD;EAAU,MAAM;YACb,SAAS,UAAU;CACZ,CAAA;AAEd;AAUA,SAAgB,WAAW,OAGxB;CACD,OACE,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,qBAAD;EAAqB,SAAA;YACnB,qBAAC,QAAD;GACE,SAAQ;GACR,WAAW,GACT,+CACA,MAAM,aAAa,WACrB;aALF,CAOE,oBAAC,oBAAD,EAAoB,WAAU,UAAW,CAAA,GACzC,oBAAC,QAAD;IAAM,WAAU;cAAU;GAAe,CAAA,CACnC;;CACW,CAAA,GACrB,oBAAC,qBAAD;EAAqB,OAAM;EAAM,WAAU;YACxC,MAAM,OAAO,KAAK,MAAM,UAAU;GACjC,IAAI,SAAS,KACX,OAAO,oBAAC,uBAAD,CAAoC,GAAR,KAAQ;GAG7C,MAAM,gBAAgB;IACpB,SAAS,KAAK;IACd,WAAW,GAAG,KAAK,SAAS,qBAAqB,EAAE;IACnD,UAAU,KAAK;GACjB;GAEA,MAAM,WACJ,8BAAC,kBAAD;IAAkB,GAAI;IAAe,KAAK;GAExB,GADf,KAAK,IACU;GAGpB,IAAI,KAAK,YAAY,KAAK,iBACxB,OACE,oBAAC,eAAD;IAAe,SAAS,KAAK;cAC1B,MAAM,aAAa,UAAU,EAC5B,WAAW,GAAG,cAAc,WAAW,+BAA+B,EACxE,CAAC;GACY,GAJoC,KAIpC;GAInB,OAAO;EACT,CAAC;CACkB,CAAA,CACT,EAAA,CAAA;AAElB;AAEA,SAAgB,UAAU,OAA4C;CACpE,OACE,oBAAC,OAAD;EAAK,WAAU;YACZ,MAAM,OAAO,KAAK,OAAO,UACxB,oBAAC,OAAD;GAAmB,SAAQ;aAAa;EAAa,GAAzC,KAAyC,CACtD;CACE,CAAA;AAET"}
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { Column } from "@tanstack/react-table";
3
2
 
4
3
  //#region src/components/data-table/column-header.d.ts
@@ -10,7 +9,7 @@ declare function DataTableColumnHeader<TData, TValue>({
10
9
  column,
11
10
  columnTitle,
12
11
  className
13
- }: DataTableColumnHeaderProps<TData, TValue>): react_jsx_runtime0.JSX.Element;
12
+ }: DataTableColumnHeaderProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
14
13
  //#endregion
15
14
  export { DataTableColumnHeader };
16
15
  //# sourceMappingURL=column-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-header.d.ts","names":[],"sources":["../../../../src/components/data-table/column-header.tsx"],"mappings":";;;;KAMK,0BAAA;EACH,MAAA,EAAQ,MAAA,CAAO,KAAA,EAAO,MAAA;EACtB,WAAA,EAAa,KAAA,CAAM,SAAA;AAAA,IACjB,KAAA,CAAM,cAAA,CAAe,cAAA;AAAA,iBAaT,qBAAA,eAAA,CAAA;EACd,MAAA;EACA,WAAA;EACA;AAAA,GACC,0BAAA,CAA2B,KAAA,EAAO,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"column-header.d.ts","names":[],"sources":["../../../../src/components/data-table/column-header.tsx"],"mappings":";;;KAMK,0BAAA;EACH,MAAA,EAAQ,MAAA,CAAO,KAAA,EAAO,MAAA;EACtB,WAAA,EAAa,KAAA,CAAM,SAAA;AAAA,IACjB,KAAA,CAAM,cAAA,CAAe,cAAA;AAAA,iBAaT,qBAAA;EACd,MAAA;EACA,WAAA;EACA;AAAA,GACC,0BAAA,CAA2B,KAAA,EAAO,MAAA,gCAAO,GAAA,CAAA,OAAA"}
@@ -3,7 +3,6 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { Button } from "../ui/button.js";
4
4
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../ui/dropdown-menu.js";
5
5
  import { cn } from "../../lib/utils.js";
6
-
7
6
  //#region src/components/data-table/column-header.tsx
8
7
  function Item(props) {
9
8
  return /* @__PURE__ */ jsx(DropdownMenuItem, {
@@ -40,7 +39,7 @@ function DataTableColumnHeader({ column, columnTitle, className }) {
40
39
  })] })
41
40
  });
42
41
  }
43
-
44
42
  //#endregion
45
43
  export { DataTableColumnHeader };
44
+
46
45
  //# sourceMappingURL=column-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-header.js","names":[],"sources":["../../../../src/components/data-table/column-header.tsx"],"sourcesContent":["import { Button } from \"../ui/button\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from \"../ui/dropdown-menu\";\nimport { Column } from \"@tanstack/react-table\";\nimport { ArrowDown, ArrowUp, LucideIcon } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\n\ntype DataTableColumnHeaderProps<TData, TValue> = {\n column: Column<TData, TValue>,\n columnTitle: React.ReactNode,\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction Item(props: { icon: LucideIcon, onClick: () => void, children: React.ReactNode }) {\n return (\n <DropdownMenuItem onClick={props.onClick}>\n <div className=\"flex items-center\">\n <props.icon className=\"mr-2 h-3.5 w-3.5 text-muted-foreground/70\" />\n {props.children}\n </div>\n </DropdownMenuItem>\n );\n}\n\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n columnTitle,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>) {\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-3 h-8 data-[state=open]:bg-accent\", !column.getCanSort() && \"pointer-events-none\")}\n >\n <span>{columnTitle}</span>\n {column.getIsSorted() === \"desc\" ? (\n <ArrowDown className=\"ml-2 h-4 w-4\" />\n ) : column.getIsSorted() === \"asc\" ? (\n <ArrowUp className=\"ml-2 h-4 w-4\" />\n ) : null}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" className=\"stack-scope\">\n <Item icon={ArrowUp} onClick={() => column.toggleSorting(false)}>Asc</Item>\n <Item icon={ArrowDown} onClick={() => column.toggleSorting(true)}>Desc</Item>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAWA,SAAS,KAAK,OAA6E;AACzF,QACE,oBAAC;EAAiB,SAAS,MAAM;YAC/B,qBAAC;GAAI,WAAU;cACb,oBAAC,MAAM,QAAK,WAAU,8CAA8C,EACnE,MAAM;IACH;GACW;;AAIvB,SAAgB,sBAAqC,EACnD,QACA,aACA,aAC4C;AAC5C,QACE,oBAAC;EAAI,WAAW,GAAG,+BAA+B,UAAU;YAC1D,qBAAC,2BACC,oBAAC;GAAoB;aACnB,qBAAC;IACC,SAAQ;IACR,MAAK;IACL,WAAW,GAAG,yCAAyC,CAAC,OAAO,YAAY,IAAI,sBAAsB;eAErG,oBAAC,oBAAM,cAAmB,EACzB,OAAO,aAAa,KAAK,SACxB,oBAAC,aAAU,WAAU,iBAAiB,GACpC,OAAO,aAAa,KAAK,QAC3B,oBAAC,WAAQ,WAAU,iBAAiB,GAClC;KACG;IACW,EACtB,qBAAC;GAAoB,OAAM;GAAQ,WAAU;cAC3C,oBAAC;IAAK,MAAM;IAAS,eAAe,OAAO,cAAc,MAAM;cAAE;KAAU,EAC3E,oBAAC;IAAK,MAAM;IAAW,eAAe,OAAO,cAAc,KAAK;cAAE;KAAW;IACzD,IACT;GACX"}
1
+ {"version":3,"file":"column-header.js","names":[],"sources":["../../../../src/components/data-table/column-header.tsx"],"sourcesContent":["import { Button } from \"../ui/button\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from \"../ui/dropdown-menu\";\nimport { Column } from \"@tanstack/react-table\";\nimport { ArrowDown, ArrowUp, LucideIcon } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\n\ntype DataTableColumnHeaderProps<TData, TValue> = {\n column: Column<TData, TValue>,\n columnTitle: React.ReactNode,\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction Item(props: { icon: LucideIcon, onClick: () => void, children: React.ReactNode }) {\n return (\n <DropdownMenuItem onClick={props.onClick}>\n <div className=\"flex items-center\">\n <props.icon className=\"mr-2 h-3.5 w-3.5 text-muted-foreground/70\" />\n {props.children}\n </div>\n </DropdownMenuItem>\n );\n}\n\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n columnTitle,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>) {\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-3 h-8 data-[state=open]:bg-accent\", !column.getCanSort() && \"pointer-events-none\")}\n >\n <span>{columnTitle}</span>\n {column.getIsSorted() === \"desc\" ? (\n <ArrowDown className=\"ml-2 h-4 w-4\" />\n ) : column.getIsSorted() === \"asc\" ? (\n <ArrowUp className=\"ml-2 h-4 w-4\" />\n ) : null}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" className=\"stack-scope\">\n <Item icon={ArrowUp} onClick={() => column.toggleSorting(false)}>Asc</Item>\n <Item icon={ArrowDown} onClick={() => column.toggleSorting(true)}>Desc</Item>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n"],"mappings":";;;;;;AAWA,SAAS,KAAK,OAA6E;CACzF,OACE,oBAAC,kBAAD;EAAkB,SAAS,MAAM;YAC/B,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,MAAM,MAAP,EAAY,WAAU,4CAA6C,CAAA,GAClE,MAAM,QACJ;;CACW,CAAA;AAEtB;AAEA,SAAgB,sBAAqC,EACnD,QACA,aACA,aAC4C;CAC5C,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,+BAA+B,SAAS;YACzD,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,qBAAD;GAAqB,SAAA;aACnB,qBAAC,QAAD;IACE,SAAQ;IACR,MAAK;IACL,WAAW,GAAG,yCAAyC,CAAC,OAAO,WAAW,KAAK,qBAAqB;cAHtG,CAKE,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA,GACxB,OAAO,YAAY,MAAM,SACxB,oBAAC,WAAD,EAAW,WAAU,eAAgB,CAAA,IACnC,OAAO,YAAY,MAAM,QAC3B,oBAAC,SAAD,EAAS,WAAU,eAAgB,CAAA,IACjC,IACE;;EACW,CAAA,GACrB,qBAAC,qBAAD;GAAqB,OAAM;GAAQ,WAAU;aAA7C,CACE,oBAAC,MAAD;IAAM,MAAM;IAAS,eAAe,OAAO,cAAc,KAAK;cAAG;GAAS,CAAA,GAC1E,oBAAC,MAAD;IAAM,MAAM;IAAW,eAAe,OAAO,cAAc,IAAI;cAAG;GAAU,CAAA,CACzD;IACT,EAAA,CAAA;CACX,CAAA;AAET"}
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
2
  import { ColumnDef, ColumnFiltersState, SortingState, Table, VisibilityState } from "@tanstack/react-table";
4
3
 
5
4
  //#region src/components/data-table/data-table.d.ts
@@ -11,7 +10,7 @@ declare function TableView<TData, TValue>(props: {
11
10
  defaultColumnFilters: ColumnFiltersState;
12
11
  defaultSorting: SortingState;
13
12
  onRowClick?: (row: TData) => void;
14
- }): react_jsx_runtime0.JSX.Element;
13
+ }): import("react/jsx-runtime").JSX.Element;
15
14
  type DataTableProps<TData, TValue> = {
16
15
  columns: ColumnDef<TData, TValue>[];
17
16
  data: TData[];
@@ -31,7 +30,7 @@ declare function DataTable<TData, TValue>({
31
30
  defaultSorting,
32
31
  showDefaultToolbar,
33
32
  onRowClick
34
- }: DataTableProps<TData, TValue>): react_jsx_runtime0.JSX.Element;
33
+ }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
35
34
  type DataTableManualPaginationProps<TData, TValue> = DataTableProps<TData, TValue> & {
36
35
  onUpdate: (options: {
37
36
  cursor: string;
@@ -53,7 +52,7 @@ declare function DataTableManualPagination<TData, TValue>({
53
52
  onRowClick,
54
53
  onUpdate,
55
54
  showDefaultToolbar
56
- }: DataTableManualPaginationProps<TData, TValue>): react_jsx_runtime0.JSX.Element;
55
+ }: DataTableManualPaginationProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
57
56
  //#endregion
58
57
  export { DataTable, DataTableManualPagination, TableView };
59
58
  //# sourceMappingURL=data-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.d.ts","names":[],"sources":["../../../../src/components/data-table/data-table.tsx"],"mappings":";;;;;iBAiCgB,SAAA,eAAA,CAAyB,KAAA;EACvC,KAAA,EAAO,KAAA,CAAU,KAAA;EACjB,OAAA,EAAS,SAAA,CAAU,KAAA,EAAO,MAAA;EAC1B,aAAA,IAAiB,KAAA,EAAO,KAAA,CAAU,KAAA,MAAW,KAAA,CAAM,SAAA;EACnD,kBAAA;EACA,oBAAA,EAAsB,kBAAA;EACtB,cAAA,EAAgB,YAAA;EAChB,UAAA,IAAc,GAAA,EAAK,KAAA;AAAA,IACpB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAuEI,cAAA;EACH,OAAA,EAAS,SAAA,CAAU,KAAA,EAAO,MAAA;EAC1B,IAAA,EAAM,KAAA;EACN,aAAA,IAAiB,KAAA,EAAO,KAAA,CAAU,KAAA,MAAW,KAAA,CAAM,SAAA;EACnD,iBAAA,GAAoB,eAAA;EACpB,oBAAA,EAAsB,kBAAA;EACtB,cAAA,EAAgB,YAAA;EAChB,kBAAA;EACA,UAAA,IAAc,GAAA,EAAK,KAAA;AAAA;AAAA,iBAGL,SAAA,eAAA,CAAA;EACd,OAAA;EACA,IAAA;EACA,aAAA;EACA,iBAAA;EACA,oBAAA;EACA,cAAA;EACA,kBAAA;EACA;AAAA,GACC,cAAA,CAAe,KAAA,EAAO,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KA+B3B,8BAAA,kBAAgD,cAAA,CAAe,KAAA,EAAO,MAAA;EACzE,QAAA,GAAW,OAAA;IACT,MAAA;IACA,KAAA;IACA,OAAA,EAAS,YAAA;IACT,aAAA,EAAe,kBAAA;IACf,aAAA;EAAA,MACI,OAAA;IAAU,UAAA;EAAA;AAAA;AAAA,iBAGF,yBAAA,eAAA,CAAA;EACd,OAAA;EACA,IAAA;EACA,aAAA;EACA,iBAAA;EACA,oBAAA;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA;AAAA,GACC,8BAAA,CAA+B,KAAA,EAAO,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"data-table.d.ts","names":[],"sources":["../../../../src/components/data-table/data-table.tsx"],"mappings":";;;;iBAiCgB,SAAA,gBAAyB,KAAA;EACvC,KAAA,EAAO,KAAA,CAAU,KAAA;EACjB,OAAA,EAAS,SAAA,CAAU,KAAA,EAAO,MAAA;EAC1B,aAAA,IAAiB,KAAA,EAAO,KAAA,CAAU,KAAA,MAAW,KAAA,CAAM,SAAA;EACnD,kBAAA;EACA,oBAAA,EAAsB,kBAAA;EACtB,cAAA,EAAgB,YAAA;EAChB,UAAA,IAAc,GAAA,EAAK,KAAA;AAAA,gCACpB,GAAA,CAAA,OAAA;AAAA,KAuEI,cAAA;EACH,OAAA,EAAS,SAAA,CAAU,KAAA,EAAO,MAAA;EAC1B,IAAA,EAAM,KAAA;EACN,aAAA,IAAiB,KAAA,EAAO,KAAA,CAAU,KAAA,MAAW,KAAA,CAAM,SAAA;EACnD,iBAAA,GAAoB,eAAA;EACpB,oBAAA,EAAsB,kBAAA;EACtB,cAAA,EAAgB,YAAA;EAChB,kBAAA;EACA,UAAA,IAAc,GAAA,EAAK,KAAA;AAAA;AAAA,iBAGL,SAAA;EACd,OAAA;EACA,IAAA;EACA,aAAA;EACA,iBAAA;EACA,oBAAA;EACA,cAAA;EACA,kBAAA;EACA;AAAA,GACC,cAAA,CAAe,KAAA,EAAO,MAAA,gCAAO,GAAA,CAAA,OAAA;AAAA,KA+B3B,8BAAA,kBAAgD,cAAA,CAAe,KAAA,EAAO,MAAA;EACzE,QAAA,GAAW,OAAA;IACT,MAAA;IACA,KAAA;IACA,OAAA,EAAS,YAAA;IACT,aAAA,EAAe,kBAAA;IACf,aAAA;EAAA,MACI,OAAA;IAAU,UAAA;EAAA;AAAA;AAAA,iBAGF,yBAAA;EACd,OAAA;EACA,IAAA;EACA,aAAA;EACA,iBAAA;EACA,oBAAA;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA;AAAA,GACC,8BAAA,CAA+B,KAAA,EAAO,MAAA,gCAAO,GAAA,CAAA,OAAA"}
@@ -1,5 +1,4 @@
1
1
  "use client";
2
-
3
2
  import React from "react";
4
3
  import { jsx, jsxs } from "react/jsx-runtime";
5
4
  import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
@@ -7,7 +6,6 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from ".
7
6
  import { GlobalFiltering, flexRender, getCoreRowModel, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
8
7
  import { DataTablePagination } from "./pagination.js";
9
8
  import { DataTableToolbar } from "./toolbar.js";
10
-
11
9
  //#region src/components/data-table/data-table.tsx
12
10
  function TableView(props) {
13
11
  return /* @__PURE__ */ jsxs("div", {
@@ -182,7 +180,7 @@ function DataTableBase({ columns, data, toolbarRender, defaultVisibility, sortin
182
180
  onRowClick
183
181
  });
184
182
  }
185
-
186
183
  //#endregion
187
184
  export { DataTable, DataTableManualPagination, TableView };
185
+
188
186
  //# sourceMappingURL=data-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","names":[],"sources":["../../../../src/components/data-table/data-table.tsx"],"sourcesContent":["\"use client\";\n\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../ui/table\";\nimport {\n ColumnDef,\n ColumnFiltersState,\n GlobalFiltering,\n OnChangeFn,\n PaginationState,\n SortingState,\n Table as TableType,\n VisibilityState,\n flexRender,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport React from \"react\";\nimport { DataTablePagination } from \"./pagination\";\nimport { DataTableToolbar } from \"./toolbar\";\n\nexport function TableView<TData, TValue>(props: {\n table: TableType<TData>,\n columns: ColumnDef<TData, TValue>[],\n toolbarRender?: (table: TableType<TData>) => React.ReactNode,\n showDefaultToolbar?: boolean,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n onRowClick?: (row: TData) => void,\n}) {\n return (\n <div className=\"space-y-4\">\n <DataTableToolbar\n table={props.table}\n toolbarRender={props.toolbarRender}\n showDefaultToolbar={props.showDefaultToolbar}\n defaultColumnFilters={props.defaultColumnFilters}\n defaultSorting={props.defaultSorting}\n />\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n {props.table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id} >\n {headerGroup.headers.map((header) => {\n return (\n <TableHead key={header.id} colSpan={header.colSpan}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {props.table.getRowModel().rows.length ? (\n props.table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n onClick={(ev) => {\n // only trigger onRowClick if the element is a direct descendant; don't trigger for portals\n if (ev.target instanceof Node && ev.currentTarget.contains(ev.target)) {\n props.onRowClick?.(row.original);\n }\n }}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell\n colSpan={props.columns.length}\n className=\"h-24 text-center\"\n >\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n <DataTablePagination table={props.table} />\n </div>\n );\n}\n\ntype DataTableProps<TData, TValue> = {\n columns: ColumnDef<TData, TValue>[],\n data: TData[],\n toolbarRender?: (table: TableType<TData>) => React.ReactNode,\n defaultVisibility?: VisibilityState,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n showDefaultToolbar?: boolean,\n onRowClick?: (row: TData) => void,\n}\n\nexport function DataTable<TData, TValue>({\n columns,\n data,\n toolbarRender,\n defaultVisibility,\n defaultColumnFilters,\n defaultSorting,\n showDefaultToolbar = true,\n onRowClick,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>(defaultSorting);\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(defaultColumnFilters);\n const [pagination, setPagination] = React.useState<PaginationState>({\n pageIndex: 0,\n pageSize: 10,\n });\n const [globalFilter, setGlobalFilter] = React.useState<any>();\n\n return <DataTableBase\n columns={columns}\n data={data}\n toolbarRender={toolbarRender}\n defaultVisibility={defaultVisibility}\n sorting={sorting}\n setSorting={setSorting}\n defaultSorting={defaultSorting}\n columnFilters={columnFilters}\n setColumnFilters={setColumnFilters}\n defaultColumnFilters={defaultColumnFilters}\n manualPagination={false}\n manualFiltering={false}\n pagination={pagination}\n setPagination={setPagination}\n globalFilter={globalFilter}\n setGlobalFilter={setGlobalFilter}\n showDefaultToolbar={showDefaultToolbar}\n onRowClick={onRowClick}\n />;\n}\n\ntype DataTableManualPaginationProps<TData, TValue> = DataTableProps<TData, TValue> & {\n onUpdate: (options: {\n cursor: string,\n limit: number,\n sorting: SortingState,\n columnFilters: ColumnFiltersState,\n globalFilters: any,\n }) => Promise<{ nextCursor: string | null }>,\n}\n\nexport function DataTableManualPagination<TData, TValue>({\n columns,\n data,\n toolbarRender,\n defaultVisibility,\n defaultColumnFilters,\n defaultSorting,\n onRowClick,\n onUpdate,\n showDefaultToolbar = true,\n}: DataTableManualPaginationProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>(defaultSorting);\n const [pagination, setPagination] = React.useState({ pageIndex: 0, pageSize: 10 });\n const [cursors, setCursors] = React.useState<Record<number, string>>({});\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(defaultColumnFilters);\n const [globalFilter, setGlobalFilter] = React.useState<any>();\n const [refreshCounter, setRefreshCounter] = React.useState(0);\n\n React.useEffect(() => {\n runAsynchronouslyWithAlert(async () => {\n const { nextCursor } = await onUpdate({\n cursor: cursors[pagination.pageIndex],\n limit: pagination.pageSize,\n sorting,\n columnFilters,\n globalFilters: globalFilter,\n });\n setCursors(c => nextCursor ? { ...c, [pagination.pageIndex + 1]: nextCursor } : c);\n });\n }, [pagination, sorting, columnFilters, refreshCounter]);\n\n // Reset to first page when filters change\n React.useEffect(() => {\n setPagination(pagination => ({ ...pagination, pageIndex: 0 }));\n setCursors({});\n }, [columnFilters, sorting, pagination.pageSize]);\n\n // Refresh the users when the global filter changes. Delay to prevent unnecessary re-renders.\n React.useEffect(() => {\n const timer = setTimeout(() => {\n setRefreshCounter(x => x + 1);\n }, 3_000);\n return () => clearTimeout(timer);\n }, [globalFilter]);\n\n return <DataTableBase\n columns={columns}\n data={data}\n toolbarRender={toolbarRender}\n sorting={sorting}\n setSorting={setSorting}\n pagination={pagination}\n setPagination={setPagination}\n columnFilters={columnFilters}\n setColumnFilters={setColumnFilters}\n rowCount={pagination.pageSize * Object.keys(cursors).length + (cursors[pagination.pageIndex + 1] ? 1 : 0)}\n globalFilter={globalFilter}\n setGlobalFilter={setGlobalFilter}\n defaultColumnFilters={defaultColumnFilters}\n defaultSorting={defaultSorting}\n defaultVisibility={defaultVisibility}\n showDefaultToolbar={showDefaultToolbar}\n onRowClick={onRowClick}\n />;\n}\n\ntype DataTableBaseProps<TData, TValue> = DataTableProps<TData, TValue> & {\n sorting?: SortingState,\n setSorting?: OnChangeFn<SortingState>,\n pagination?: PaginationState,\n setPagination?: OnChangeFn<PaginationState>,\n rowCount?: number,\n columnFilters?: ColumnFiltersState,\n setColumnFilters?: OnChangeFn<ColumnFiltersState>,\n manualPagination?: boolean,\n manualFiltering?: boolean,\n globalFilter?: any,\n setGlobalFilter?: OnChangeFn<any>,\n}\n\nfunction DataTableBase<TData, TValue>({\n columns,\n data,\n toolbarRender,\n defaultVisibility,\n sorting,\n setSorting,\n defaultColumnFilters,\n defaultSorting,\n pagination,\n setPagination,\n rowCount,\n columnFilters,\n setColumnFilters,\n globalFilter,\n setGlobalFilter,\n manualPagination = true,\n manualFiltering = true,\n showDefaultToolbar = true,\n onRowClick,\n}: DataTableBaseProps<TData, TValue>) {\n const [rowSelection, setRowSelection] = React.useState({});\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>(defaultVisibility || {});\n\n const table: TableType<TData> = useReactTable({\n data,\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n columnFilters,\n pagination,\n globalFilter: globalFilter,\n },\n enableRowSelection: true,\n onGlobalFilterChange: setGlobalFilter,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n getColumnCanGlobalFilter: (c) => c.columnDef.enableGlobalFilter ?? GlobalFiltering.getDefaultOptions!(table).getColumnCanGlobalFilter!(c),\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n autoResetAll: false,\n manualPagination,\n manualFiltering,\n rowCount,\n });\n\n return <TableView\n table={table}\n columns={columns}\n toolbarRender={toolbarRender}\n showDefaultToolbar={showDefaultToolbar}\n defaultColumnFilters={defaultColumnFilters}\n defaultSorting={defaultSorting}\n onRowClick={onRowClick}\n />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"data-table.js","names":[],"sources":["../../../../src/components/data-table/data-table.tsx"],"sourcesContent":["\"use client\";\n\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../ui/table\";\nimport {\n ColumnDef,\n ColumnFiltersState,\n GlobalFiltering,\n OnChangeFn,\n PaginationState,\n SortingState,\n Table as TableType,\n VisibilityState,\n flexRender,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport React from \"react\";\nimport { DataTablePagination } from \"./pagination\";\nimport { DataTableToolbar } from \"./toolbar\";\n\nexport function TableView<TData, TValue>(props: {\n table: TableType<TData>,\n columns: ColumnDef<TData, TValue>[],\n toolbarRender?: (table: TableType<TData>) => React.ReactNode,\n showDefaultToolbar?: boolean,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n onRowClick?: (row: TData) => void,\n}) {\n return (\n <div className=\"space-y-4\">\n <DataTableToolbar\n table={props.table}\n toolbarRender={props.toolbarRender}\n showDefaultToolbar={props.showDefaultToolbar}\n defaultColumnFilters={props.defaultColumnFilters}\n defaultSorting={props.defaultSorting}\n />\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n {props.table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id} >\n {headerGroup.headers.map((header) => {\n return (\n <TableHead key={header.id} colSpan={header.colSpan}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {props.table.getRowModel().rows.length ? (\n props.table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n onClick={(ev) => {\n // only trigger onRowClick if the element is a direct descendant; don't trigger for portals\n if (ev.target instanceof Node && ev.currentTarget.contains(ev.target)) {\n props.onRowClick?.(row.original);\n }\n }}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell\n colSpan={props.columns.length}\n className=\"h-24 text-center\"\n >\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n <DataTablePagination table={props.table} />\n </div>\n );\n}\n\ntype DataTableProps<TData, TValue> = {\n columns: ColumnDef<TData, TValue>[],\n data: TData[],\n toolbarRender?: (table: TableType<TData>) => React.ReactNode,\n defaultVisibility?: VisibilityState,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n showDefaultToolbar?: boolean,\n onRowClick?: (row: TData) => void,\n}\n\nexport function DataTable<TData, TValue>({\n columns,\n data,\n toolbarRender,\n defaultVisibility,\n defaultColumnFilters,\n defaultSorting,\n showDefaultToolbar = true,\n onRowClick,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>(defaultSorting);\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(defaultColumnFilters);\n const [pagination, setPagination] = React.useState<PaginationState>({\n pageIndex: 0,\n pageSize: 10,\n });\n const [globalFilter, setGlobalFilter] = React.useState<any>();\n\n return <DataTableBase\n columns={columns}\n data={data}\n toolbarRender={toolbarRender}\n defaultVisibility={defaultVisibility}\n sorting={sorting}\n setSorting={setSorting}\n defaultSorting={defaultSorting}\n columnFilters={columnFilters}\n setColumnFilters={setColumnFilters}\n defaultColumnFilters={defaultColumnFilters}\n manualPagination={false}\n manualFiltering={false}\n pagination={pagination}\n setPagination={setPagination}\n globalFilter={globalFilter}\n setGlobalFilter={setGlobalFilter}\n showDefaultToolbar={showDefaultToolbar}\n onRowClick={onRowClick}\n />;\n}\n\ntype DataTableManualPaginationProps<TData, TValue> = DataTableProps<TData, TValue> & {\n onUpdate: (options: {\n cursor: string,\n limit: number,\n sorting: SortingState,\n columnFilters: ColumnFiltersState,\n globalFilters: any,\n }) => Promise<{ nextCursor: string | null }>,\n}\n\nexport function DataTableManualPagination<TData, TValue>({\n columns,\n data,\n toolbarRender,\n defaultVisibility,\n defaultColumnFilters,\n defaultSorting,\n onRowClick,\n onUpdate,\n showDefaultToolbar = true,\n}: DataTableManualPaginationProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>(defaultSorting);\n const [pagination, setPagination] = React.useState({ pageIndex: 0, pageSize: 10 });\n const [cursors, setCursors] = React.useState<Record<number, string>>({});\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(defaultColumnFilters);\n const [globalFilter, setGlobalFilter] = React.useState<any>();\n const [refreshCounter, setRefreshCounter] = React.useState(0);\n\n React.useEffect(() => {\n runAsynchronouslyWithAlert(async () => {\n const { nextCursor } = await onUpdate({\n cursor: cursors[pagination.pageIndex],\n limit: pagination.pageSize,\n sorting,\n columnFilters,\n globalFilters: globalFilter,\n });\n setCursors(c => nextCursor ? { ...c, [pagination.pageIndex + 1]: nextCursor } : c);\n });\n }, [pagination, sorting, columnFilters, refreshCounter]);\n\n // Reset to first page when filters change\n React.useEffect(() => {\n setPagination(pagination => ({ ...pagination, pageIndex: 0 }));\n setCursors({});\n }, [columnFilters, sorting, pagination.pageSize]);\n\n // Refresh the users when the global filter changes. Delay to prevent unnecessary re-renders.\n React.useEffect(() => {\n const timer = setTimeout(() => {\n setRefreshCounter(x => x + 1);\n }, 3_000);\n return () => clearTimeout(timer);\n }, [globalFilter]);\n\n return <DataTableBase\n columns={columns}\n data={data}\n toolbarRender={toolbarRender}\n sorting={sorting}\n setSorting={setSorting}\n pagination={pagination}\n setPagination={setPagination}\n columnFilters={columnFilters}\n setColumnFilters={setColumnFilters}\n rowCount={pagination.pageSize * Object.keys(cursors).length + (cursors[pagination.pageIndex + 1] ? 1 : 0)}\n globalFilter={globalFilter}\n setGlobalFilter={setGlobalFilter}\n defaultColumnFilters={defaultColumnFilters}\n defaultSorting={defaultSorting}\n defaultVisibility={defaultVisibility}\n showDefaultToolbar={showDefaultToolbar}\n onRowClick={onRowClick}\n />;\n}\n\ntype DataTableBaseProps<TData, TValue> = DataTableProps<TData, TValue> & {\n sorting?: SortingState,\n setSorting?: OnChangeFn<SortingState>,\n pagination?: PaginationState,\n setPagination?: OnChangeFn<PaginationState>,\n rowCount?: number,\n columnFilters?: ColumnFiltersState,\n setColumnFilters?: OnChangeFn<ColumnFiltersState>,\n manualPagination?: boolean,\n manualFiltering?: boolean,\n globalFilter?: any,\n setGlobalFilter?: OnChangeFn<any>,\n}\n\nfunction DataTableBase<TData, TValue>({\n columns,\n data,\n toolbarRender,\n defaultVisibility,\n sorting,\n setSorting,\n defaultColumnFilters,\n defaultSorting,\n pagination,\n setPagination,\n rowCount,\n columnFilters,\n setColumnFilters,\n globalFilter,\n setGlobalFilter,\n manualPagination = true,\n manualFiltering = true,\n showDefaultToolbar = true,\n onRowClick,\n}: DataTableBaseProps<TData, TValue>) {\n const [rowSelection, setRowSelection] = React.useState({});\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>(defaultVisibility || {});\n\n const table: TableType<TData> = useReactTable({\n data,\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n columnFilters,\n pagination,\n globalFilter: globalFilter,\n },\n enableRowSelection: true,\n onGlobalFilterChange: setGlobalFilter,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n getColumnCanGlobalFilter: (c) => c.columnDef.enableGlobalFilter ?? GlobalFiltering.getDefaultOptions!(table).getColumnCanGlobalFilter!(c),\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n autoResetAll: false,\n manualPagination,\n manualFiltering,\n rowCount,\n });\n\n return <TableView\n table={table}\n columns={columns}\n toolbarRender={toolbarRender}\n showDefaultToolbar={showDefaultToolbar}\n defaultColumnFilters={defaultColumnFilters}\n defaultSorting={defaultSorting}\n onRowClick={onRowClick}\n />;\n}\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
2
  import { Column } from "@tanstack/react-table";
4
3
 
5
4
  //#region src/components/data-table/faceted-filter.d.ts
@@ -18,7 +17,7 @@ declare function DataTableFacetedFilter<TData, TValue>({
18
17
  column,
19
18
  title,
20
19
  options
21
- }: DataTableFacetedFilterProps<TData, TValue>): react_jsx_runtime0.JSX.Element;
20
+ }: DataTableFacetedFilterProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
22
21
  //#endregion
23
22
  export { DataTableFacetedFilter };
24
23
  //# sourceMappingURL=faceted-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"faceted-filter.d.ts","names":[],"sources":["../../../../src/components/data-table/faceted-filter.tsx"],"mappings":";;;;;KAmBK,2BAAA;EACH,MAAA,GAAS,MAAA,CAAO,KAAA,EAAO,MAAA;EACvB,KAAA;EACA,OAAA;IACE,KAAA;IACA,KAAA;IACA,IAAA,GAAO,KAAA,CAAM,aAAA;MAAgB,SAAA;IAAA;EAAA;AAAA;AAAA,iBAIjB,sBAAA,eAAA,CAAA;EACd,MAAA;EACA,KAAA;EACA;AAAA,GACC,2BAAA,CAA4B,KAAA,EAAO,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"faceted-filter.d.ts","names":[],"sources":["../../../../src/components/data-table/faceted-filter.tsx"],"mappings":";;;;KAmBK,2BAAA;EACH,MAAA,GAAS,MAAA,CAAO,KAAA,EAAO,MAAA;EACvB,KAAA;EACA,OAAA;IACE,KAAA;IACA,KAAA;IACA,IAAA,GAAO,KAAA,CAAM,aAAA;MAAgB,SAAA;IAAA;EAAA;AAAA;AAAA,iBAIjB,sBAAA;EACd,MAAA;EACA,KAAA;EACA;AAAA,GACC,2BAAA,CAA4B,KAAA,EAAO,MAAA,gCAAO,GAAA,CAAA,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ListFilter } from "lucide-react";
2
- import React from "react";
2
+ import "react";
3
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
  import { CheckIcon } from "@radix-ui/react-icons";
5
5
  import { Button } from "../ui/button.js";
@@ -8,7 +8,6 @@ import { Badge } from "../ui/badge.js";
8
8
  import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from "../ui/command.js";
9
9
  import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover.js";
10
10
  import { Separator } from "../ui/separator.js";
11
-
12
11
  //#region src/components/data-table/faceted-filter.tsx
13
12
  function DataTableFacetedFilter({ column, title, options }) {
14
13
  column?.getFacetedUniqueValues();
@@ -79,7 +78,7 @@ function DataTableFacetedFilter({ column, title, options }) {
79
78
  ] })] })
80
79
  })] });
81
80
  }
82
-
83
81
  //#endregion
84
82
  export { DataTableFacetedFilter };
83
+
85
84
  //# sourceMappingURL=faceted-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"faceted-filter.js","names":[],"sources":["../../../../src/components/data-table/faceted-filter.tsx"],"sourcesContent":["import { CheckIcon } from \"@radix-ui/react-icons\";\nimport { Badge } from \"../ui/badge\";\nimport { Button } from \"../ui/button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"../ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../ui/popover\";\nimport { Separator } from \"../ui/separator\";\nimport { Column } from \"@tanstack/react-table\";\nimport { ListFilter } from \"lucide-react\";\nimport React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\ntype DataTableFacetedFilterProps<TData, TValue> = {\n column?: Column<TData, TValue>,\n title?: string,\n options: {\n label: string,\n value: string,\n icon?: React.ComponentType<{ className?: string }>,\n }[],\n}\n\nexport function DataTableFacetedFilter<TData, TValue>({\n column,\n title,\n options,\n}: DataTableFacetedFilterProps<TData, TValue>) {\n const facets = column?.getFacetedUniqueValues();\n const selectedValues = new Set(column?.getFilterValue() as string[]);\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"h-8 border\">\n <ListFilter className=\"mr-2 h-4 w-4 text-gray-500\" />\n {title}\n {selectedValues.size > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"mx-2 h-4\" />\n <Badge\n variant=\"secondary\"\n className=\"rounded-sm px-1 font-normal lg:hidden\"\n >\n {selectedValues.size}\n </Badge>\n <div className=\"hidden space-x-1 lg:flex\">\n {selectedValues.size > 2 ? (\n <Badge\n variant=\"secondary\"\n className=\"rounded-sm px-1 font-normal\"\n >\n {selectedValues.size} selected\n </Badge>\n ) : (\n options\n .filter((option) => selectedValues.has(option.value))\n .map((option) => (\n <Badge\n variant=\"secondary\"\n key={option.value}\n className=\"rounded-sm px-1 font-normal\"\n >\n {option.label}\n </Badge>\n ))\n )}\n </div>\n </>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[200px] p-0\" align=\"start\">\n <Command>\n <CommandInput placeholder={title} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = selectedValues.has(option.value);\n return (\n <CommandItem\n key={option.value}\n onSelect={() => {\n if (isSelected) {\n selectedValues.delete(option.value);\n } else {\n selectedValues.add(option.value);\n }\n const filterValues = Array.from(selectedValues);\n column?.setFilterValue(\n filterValues.length ? filterValues : undefined\n );\n }}\n >\n <div\n className={cn(\n \"mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary\",\n isSelected\n ? \"bg-primary text-primary-foreground\"\n : \"opacity-50 [&_svg]:invisible\"\n )}\n >\n <CheckIcon className={cn(\"h-4 w-4\")} />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 h-4 w-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </CommandItem>\n );\n })}\n </CommandGroup>\n {selectedValues.size > 0 && (\n <>\n <CommandSeparator />\n <CommandGroup>\n <CommandItem\n onSelect={() => column?.setFilterValue(undefined)}\n className=\"justify-center text-center\"\n >\n Clear filters\n </CommandItem>\n </CommandGroup>\n </>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n"],"mappings":";;;;;;;;;;;;AA6BA,SAAgB,uBAAsC,EACpD,QACA,OACA,WAC6C;AAC9B,SAAQ,wBAAwB;CAC/C,MAAM,iBAAiB,IAAI,IAAI,QAAQ,gBAAgB,CAAa;AAEpE,QACE,qBAAC,sBACC,oBAAC;EAAe;YACd,qBAAC;GAAO,SAAQ;GAAU,MAAK;GAAK,WAAU;;IAC5C,oBAAC,cAAW,WAAU,+BAA+B;IACpD;IACA,eAAe,OAAO,KACrB;KACE,oBAAC;MAAU,aAAY;MAAW,WAAU;OAAa;KACzD,oBAAC;MACC,SAAQ;MACR,WAAU;gBAET,eAAe;OACV;KACR,oBAAC;MAAI,WAAU;gBACZ,eAAe,OAAO,IACrB,qBAAC;OACC,SAAQ;OACR,WAAU;kBAET,eAAe,MAAK;QACf,GAER,QACG,QAAQ,WAAW,eAAe,IAAI,OAAO,MAAM,CAAC,CACpD,KAAK,WACJ,oBAAC;OACC,SAAQ;OAER,WAAU;iBAET,OAAO;SAHH,OAAO,MAIN,CACR;OAEF;QACL;;IAEE;GACM,EACjB,oBAAC;EAAe,WAAU;EAAgB,OAAM;YAC9C,qBAAC,sBACC,oBAAC,gBAAa,aAAa,QAAS,EACpC,qBAAC;GACC,oBAAC,0BAAa,sBAAgC;GAC9C,oBAAC,0BACE,QAAQ,KAAK,WAAW;IACvB,MAAM,aAAa,eAAe,IAAI,OAAO,MAAM;AACnD,WACE,qBAAC;KAEC,gBAAgB;AACd,UAAI,WACF,gBAAe,OAAO,OAAO,MAAM;UAEnC,gBAAe,IAAI,OAAO,MAAM;MAElC,MAAM,eAAe,MAAM,KAAK,eAAe;AAC/C,cAAQ,eACN,aAAa,SAAS,eAAe,OACtC;;;MAGH,oBAAC;OACC,WAAW,GACT,kFACA,aACI,uCACA,+BACL;iBAED,oBAAC,aAAU,WAAW,GAAG,UAAU,GAAI;QACnC;MACL,OAAO,QACN,oBAAC,OAAO,QAAK,WAAU,uCAAuC;MAEhE,oBAAC,oBAAM,OAAO,QAAa;;OA1BtB,OAAO,MA2BA;KAEhB,GACW;GACd,eAAe,OAAO,KACrB,4CACE,oBAAC,qBAAmB,EACpB,oBAAC,0BACC,oBAAC;IACC,gBAAgB,QAAQ,eAAe,OAAU;IACjD,WAAU;cACX;KAEa,GACD,IACd;MAEO,IACN;GACK,IACT"}
1
+ {"version":3,"file":"faceted-filter.js","names":[],"sources":["../../../../src/components/data-table/faceted-filter.tsx"],"sourcesContent":["import { CheckIcon } from \"@radix-ui/react-icons\";\nimport { Badge } from \"../ui/badge\";\nimport { Button } from \"../ui/button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"../ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../ui/popover\";\nimport { Separator } from \"../ui/separator\";\nimport { Column } from \"@tanstack/react-table\";\nimport { ListFilter } from \"lucide-react\";\nimport React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\ntype DataTableFacetedFilterProps<TData, TValue> = {\n column?: Column<TData, TValue>,\n title?: string,\n options: {\n label: string,\n value: string,\n icon?: React.ComponentType<{ className?: string }>,\n }[],\n}\n\nexport function DataTableFacetedFilter<TData, TValue>({\n column,\n title,\n options,\n}: DataTableFacetedFilterProps<TData, TValue>) {\n const facets = column?.getFacetedUniqueValues();\n const selectedValues = new Set(column?.getFilterValue() as string[]);\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"h-8 border\">\n <ListFilter className=\"mr-2 h-4 w-4 text-gray-500\" />\n {title}\n {selectedValues.size > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"mx-2 h-4\" />\n <Badge\n variant=\"secondary\"\n className=\"rounded-sm px-1 font-normal lg:hidden\"\n >\n {selectedValues.size}\n </Badge>\n <div className=\"hidden space-x-1 lg:flex\">\n {selectedValues.size > 2 ? (\n <Badge\n variant=\"secondary\"\n className=\"rounded-sm px-1 font-normal\"\n >\n {selectedValues.size} selected\n </Badge>\n ) : (\n options\n .filter((option) => selectedValues.has(option.value))\n .map((option) => (\n <Badge\n variant=\"secondary\"\n key={option.value}\n className=\"rounded-sm px-1 font-normal\"\n >\n {option.label}\n </Badge>\n ))\n )}\n </div>\n </>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[200px] p-0\" align=\"start\">\n <Command>\n <CommandInput placeholder={title} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = selectedValues.has(option.value);\n return (\n <CommandItem\n key={option.value}\n onSelect={() => {\n if (isSelected) {\n selectedValues.delete(option.value);\n } else {\n selectedValues.add(option.value);\n }\n const filterValues = Array.from(selectedValues);\n column?.setFilterValue(\n filterValues.length ? filterValues : undefined\n );\n }}\n >\n <div\n className={cn(\n \"mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary\",\n isSelected\n ? \"bg-primary text-primary-foreground\"\n : \"opacity-50 [&_svg]:invisible\"\n )}\n >\n <CheckIcon className={cn(\"h-4 w-4\")} />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 h-4 w-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </CommandItem>\n );\n })}\n </CommandGroup>\n {selectedValues.size > 0 && (\n <>\n <CommandSeparator />\n <CommandGroup>\n <CommandItem\n onSelect={() => column?.setFilterValue(undefined)}\n className=\"justify-center text-center\"\n >\n Clear filters\n </CommandItem>\n </CommandGroup>\n </>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n"],"mappings":";;;;;;;;;;;AA6BA,SAAgB,uBAAsC,EACpD,QACA,OACA,WAC6C;CAC9B,QAAQ,uBAAuB;CAC9C,MAAM,iBAAiB,IAAI,IAAI,QAAQ,eAAe,CAAa;CAEnE,OACE,qBAAC,SAAD,EAAA,UAAA,CACE,oBAAC,gBAAD;EAAgB,SAAA;YACd,qBAAC,QAAD;GAAQ,SAAQ;GAAU,MAAK;GAAK,WAAU;aAA9C;IACE,oBAAC,YAAD,EAAY,WAAU,6BAA8B,CAAA;IACnD;IACA,eAAe,OAAO,KACrB,qBAAA,UAAA,EAAA,UAAA;KACE,oBAAC,WAAD;MAAW,aAAY;MAAW,WAAU;KAAY,CAAA;KACxD,oBAAC,OAAD;MACE,SAAQ;MACR,WAAU;gBAET,eAAe;KACX,CAAA;KACP,oBAAC,OAAD;MAAK,WAAU;gBACZ,eAAe,OAAO,IACrB,qBAAC,OAAD;OACE,SAAQ;OACR,WAAU;iBAFZ,CAIG,eAAe,MAAK,WAChB;WAEP,QACG,QAAQ,WAAW,eAAe,IAAI,OAAO,KAAK,CAAC,CAAC,CACpD,KAAK,WACJ,oBAAC,OAAD;OACE,SAAQ;OAER,WAAU;iBAET,OAAO;MACH,GAJA,OAAO,KAIP,CACR;KAEF,CAAA;IACL,EAAA,CAAA;GAEE;;CACM,CAAA,GAChB,oBAAC,gBAAD;EAAgB,WAAU;EAAgB,OAAM;YAC9C,qBAAC,SAAD,EAAA,UAAA,CACE,oBAAC,cAAD,EAAc,aAAa,MAAQ,CAAA,GACnC,qBAAC,aAAD,EAAA,UAAA;GACE,oBAAC,cAAD,EAAA,UAAc,oBAA+B,CAAA;GAC7C,oBAAC,cAAD,EAAA,UACG,QAAQ,KAAK,WAAW;IACvB,MAAM,aAAa,eAAe,IAAI,OAAO,KAAK;IAClD,OACE,qBAAC,aAAD;KAEE,gBAAgB;MACd,IAAI,YACF,eAAe,OAAO,OAAO,KAAK;WAElC,eAAe,IAAI,OAAO,KAAK;MAEjC,MAAM,eAAe,MAAM,KAAK,cAAc;MAC9C,QAAQ,eACN,aAAa,SAAS,eAAe,KAAA,CACvC;KACF;eAZF;MAcE,oBAAC,OAAD;OACE,WAAW,GACT,kFACA,aACI,uCACA,8BACN;iBAEA,oBAAC,WAAD,EAAW,WAAW,GAAG,SAAS,EAAI,CAAA;MACnC,CAAA;MACJ,OAAO,QACN,oBAAC,OAAO,MAAR,EAAa,WAAU,qCAAsC,CAAA;MAE/D,oBAAC,QAAD,EAAA,UAAO,OAAO,MAAY,CAAA;KACf;OA3BN,OAAO,KA2BD;GAEjB,CAAC,EACW,CAAA;GACb,eAAe,OAAO,KACrB,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,kBAAD,CAAmB,CAAA,GACnB,oBAAC,cAAD,EAAA,UACE,oBAAC,aAAD;IACE,gBAAgB,QAAQ,eAAe,KAAA,CAAS;IAChD,WAAU;cACX;GAEY,CAAA,EACD,CAAA,CACd,EAAA,CAAA;EAEO,EAAA,CAAA,CACN,EAAA,CAAA;CACK,CAAA,CACT,EAAA,CAAA;AAEb"}
@@ -1,9 +1,9 @@
1
- export * from "./cells";
2
- export * from "./column-header";
3
- export * from "./data-table";
4
- export * from "./faceted-filter";
5
- export * from "./pagination";
6
- export * from "./toolbar-items";
7
- export * from "./toolbar";
8
- export * from "./utils";
9
- export * from "./view-options";
1
+ export * from "./pagination.js";
2
+ export * from "./toolbar.js";
3
+ export * from "./cells.js";
4
+ export * from "./column-header.js";
5
+ export * from "./data-table.js";
6
+ export * from "./faceted-filter.js";
7
+ export * from "./toolbar-items.js";
8
+ export * from "./utils.js";
9
+ export * from "./view-options.js";
@@ -1,19 +1,10 @@
1
- export * from "./pagination.js"
2
-
3
- export * from "./toolbar.js"
4
-
5
- export * from "./cells.js"
6
-
7
- export * from "./column-header.js"
8
-
9
- export * from "./data-table.js"
10
-
11
- export * from "./faceted-filter.js"
12
-
13
- export * from "./toolbar-items.js"
14
-
15
- export * from "./utils.js"
16
-
17
- export * from "./view-options.js"
18
-
19
- export { };
1
+ export * from "./pagination.js";
2
+ export * from "./toolbar.js";
3
+ export * from "./cells.js";
4
+ export * from "./column-header.js";
5
+ export * from "./data-table.js";
6
+ export * from "./faceted-filter.js";
7
+ export * from "./toolbar-items.js";
8
+ export * from "./utils.js";
9
+ export * from "./view-options.js";
10
+ export {};
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { Table } from "@tanstack/react-table";
3
2
 
4
3
  //#region src/components/data-table/pagination.d.ts
@@ -7,7 +6,7 @@ type DataTablePaginationProps<TData> = {
7
6
  };
8
7
  declare function DataTablePagination<TData>({
9
8
  table
10
- }: DataTablePaginationProps<TData>): react_jsx_runtime0.JSX.Element;
9
+ }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
11
10
  //#endregion
12
11
  export { DataTablePagination };
13
12
  //# sourceMappingURL=pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../../../src/components/data-table/pagination.tsx"],"mappings":";;;;KAWK,wBAAA;EACH,KAAA,EAAO,KAAA,CAAM,KAAA;AAAA;AAAA,iBAGC,mBAAA,OAAA,CAAA;EACd;AAAA,GACC,wBAAA,CAAyB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../../../src/components/data-table/pagination.tsx"],"mappings":";;;KAWK,wBAAA;EACH,KAAA,EAAO,KAAK,CAAC,KAAA;AAAA;AAAA,iBAGC,mBAAA;EACd;AAAA,GACC,wBAAA,CAAyB,KAAA,gCAAM,GAAA,CAAA,OAAA"}
@@ -2,7 +2,6 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons";
3
3
  import { Button } from "../ui/button.js";
4
4
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select.js";
5
-
6
5
  //#region src/components/data-table/pagination.tsx
7
6
  function DataTablePagination({ table }) {
8
7
  return /* @__PURE__ */ jsxs("div", {
@@ -70,7 +69,7 @@ function DataTablePagination({ table }) {
70
69
  })]
71
70
  });
72
71
  }
73
-
74
72
  //#endregion
75
73
  export { DataTablePagination };
74
+
76
75
  //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":[],"sources":["../../../../src/components/data-table/pagination.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from \"@radix-ui/react-icons\";\nimport { Button } from \"../ui/button\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../ui/select\";\nimport { Table } from \"@tanstack/react-table\";\n\ntype DataTablePaginationProps<TData> = {\n table: Table<TData>,\n}\n\nexport function DataTablePagination<TData>({\n table,\n}: DataTablePaginationProps<TData>) {\n return (\n <div className=\"flex items-center justify-between px-2 flex-col sm:flex-row gap-y-4 sm:gap-y-0\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {table.getFilteredSelectedRowModel().rows.length !== 0 ?\n `${table.getFilteredSelectedRowModel().rows.length} of ${table.getFilteredRowModel().rows.length} row(s) selected` :\n undefined}\n </div>\n <div className=\"flex items-center gap-x-6 lg:gap-x-8 flex-col sm:flex-row gap-y-4 sm:gap-y-0\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-[70px]\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center justify-center text-sm font-medium\">\n {table.getState().pagination.pageIndex + 1}\n {/* {\" / \"}{table.getPageCount()} */}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"h-4 w-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAeA,SAAgB,oBAA2B,EACzC,SACkC;AAClC,QACE,qBAAC;EAAI,WAAU;aACb,oBAAC;GAAI,WAAU;aACZ,MAAM,6BAA6B,CAAC,KAAK,WAAW,IACnD,GAAG,MAAM,6BAA6B,CAAC,KAAK,OAAO,MAAM,MAAM,qBAAqB,CAAC,KAAK,OAAO,oBACjG;IACE,EACN,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAE,WAAU;eAAsB;MAAiB,EACpD,qBAAC;KACC,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW;KACtC,gBAAgB,UAAU;AACxB,YAAM,YAAY,OAAO,MAAM,CAAC;;gBAGlC,oBAAC;MAAc,WAAU;gBACvB,oBAAC,eAAY,aAAa,MAAM,UAAU,CAAC,WAAW,WAAY;OACpD,EAChB,oBAAC;MAAc,MAAK;gBACjB;OAAC;OAAI;OAAI;OAAI;OAAI;OAAG,CAAC,KAAK,aACzB,oBAAC;OAA0B,OAAO,GAAG;iBAClC;SADc,SAEJ,CACb;OACY;MACT;KACL,EACN,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAI,WAAU;eACZ,MAAM,UAAU,CAAC,WAAW,YAAY;MAErC,EACN,qBAAC;KAAI,WAAU;gBACb,qBAAC;MACC,SAAQ;MACR,WAAU;MACV,eAAe,MAAM,cAAc;MACnC,UAAU,CAAC,MAAM,oBAAoB;iBAErC,oBAAC;OAAK,WAAU;iBAAU;QAA0B,EACpD,oBAAC,mBAAgB,WAAU,YAAY;OAChC,EACT,qBAAC;MACC,SAAQ;MACR,WAAU;MACV,eAAe,MAAM,UAAU;MAC/B,UAAU,CAAC,MAAM,gBAAgB;iBAEjC,oBAAC;OAAK,WAAU;iBAAU;QAAsB,EAChD,oBAAC,oBAAiB,WAAU,YAAY;OACjC;MACL;KACF;IACF;GACF"}
1
+ {"version":3,"file":"pagination.js","names":[],"sources":["../../../../src/components/data-table/pagination.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from \"@radix-ui/react-icons\";\nimport { Button } from \"../ui/button\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../ui/select\";\nimport { Table } from \"@tanstack/react-table\";\n\ntype DataTablePaginationProps<TData> = {\n table: Table<TData>,\n}\n\nexport function DataTablePagination<TData>({\n table,\n}: DataTablePaginationProps<TData>) {\n return (\n <div className=\"flex items-center justify-between px-2 flex-col sm:flex-row gap-y-4 sm:gap-y-0\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {table.getFilteredSelectedRowModel().rows.length !== 0 ?\n `${table.getFilteredSelectedRowModel().rows.length} of ${table.getFilteredRowModel().rows.length} row(s) selected` :\n undefined}\n </div>\n <div className=\"flex items-center gap-x-6 lg:gap-x-8 flex-col sm:flex-row gap-y-4 sm:gap-y-0\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-[70px]\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center justify-center text-sm font-medium\">\n {table.getState().pagination.pageIndex + 1}\n {/* {\" / \"}{table.getPageCount()} */}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"h-4 w-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAeA,SAAgB,oBAA2B,EACzC,SACkC;CAClC,OACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,OAAD;GAAK,WAAU;aACZ,MAAM,4BAA4B,CAAC,CAAC,KAAK,WAAW,IACnD,GAAG,MAAM,4BAA4B,CAAC,CAAC,KAAK,OAAO,MAAM,MAAM,oBAAoB,CAAC,CAAC,KAAK,OAAO,oBACjG,KAAA;EACC,CAAA,GACL,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,KAAD;KAAG,WAAU;eAAsB;IAAgB,CAAA,GACnD,qBAAC,QAAD;KACE,OAAO,GAAG,MAAM,SAAS,CAAC,CAAC,WAAW;KACtC,gBAAgB,UAAU;MACxB,MAAM,YAAY,OAAO,KAAK,CAAC;KACjC;eAJF,CAME,oBAAC,eAAD;MAAe,WAAU;gBACvB,oBAAC,aAAD,EAAa,aAAa,MAAM,SAAS,CAAC,CAAC,WAAW,SAAW,CAAA;KACpD,CAAA,GACf,oBAAC,eAAD;MAAe,MAAK;gBACjB;OAAC;OAAI;OAAI;OAAI;OAAI;MAAE,CAAC,CAAC,KAAK,aACzB,oBAAC,YAAD;OAA2B,OAAO,GAAG;iBAClC;MACS,GAFK,QAEL,CACb;KACY,CAAA,CACT;MACL;OACL,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,OAAD;KAAK,WAAU;eACZ,MAAM,SAAS,CAAC,CAAC,WAAW,YAAY;IAEtC,CAAA,GACL,qBAAC,OAAD;KAAK,WAAU;eAAf,CACE,qBAAC,QAAD;MACE,SAAQ;MACR,WAAU;MACV,eAAe,MAAM,aAAa;MAClC,UAAU,CAAC,MAAM,mBAAmB;gBAJtC,CAME,oBAAC,QAAD;OAAM,WAAU;iBAAU;MAAyB,CAAA,GACnD,oBAAC,iBAAD,EAAiB,WAAU,UAAW,CAAA,CAChC;SACR,qBAAC,QAAD;MACE,SAAQ;MACR,WAAU;MACV,eAAe,MAAM,SAAS;MAC9B,UAAU,CAAC,MAAM,eAAe;gBAJlC,CAME,oBAAC,QAAD;OAAM,WAAU;iBAAU;MAAqB,CAAA,GAC/C,oBAAC,kBAAD,EAAkB,WAAU,UAAW,CAAA,CACjC;OACL;MACF;KACF;IACF;;AAET"}
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { Table } from "@tanstack/react-table";
3
2
 
4
3
  //#region src/components/data-table/toolbar-items.d.ts
@@ -7,7 +6,7 @@ declare function SearchToolbarItem<TData>(props: {
7
6
  keyName?: string | null;
8
7
  placeholder: string;
9
8
  className?: string;
10
- }): react_jsx_runtime0.JSX.Element;
9
+ }): import("react/jsx-runtime").JSX.Element;
11
10
  //#endregion
12
11
  export { SearchToolbarItem };
13
12
  //# sourceMappingURL=toolbar-items.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar-items.d.ts","names":[],"sources":["../../../../src/components/data-table/toolbar-items.tsx"],"mappings":";;;;iBAGgB,iBAAA,OAAA,CAAyB,KAAA;EAAS,KAAA,EAAO,KAAA,CAAM,KAAA;EAAQ,OAAA;EAAyB,WAAA;EAAqB,SAAA;AAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"toolbar-items.d.ts","names":[],"sources":["../../../../src/components/data-table/toolbar-items.tsx"],"mappings":";;;iBAGgB,iBAAA,QAAyB,KAAA;EAAS,KAAA,EAAO,KAAK,CAAC,KAAA;EAAQ,OAAA;EAAyB,WAAA;EAAqB,SAAA;AAAA,gCAAoB,GAAA,CAAA,OAAA"}
@@ -1,6 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Input, cn } from "../../index.js";
3
-
4
3
  //#region src/components/data-table/toolbar-items.tsx
5
4
  function SearchToolbarItem(props) {
6
5
  return /* @__PURE__ */ jsx(Input, {
@@ -10,7 +9,7 @@ function SearchToolbarItem(props) {
10
9
  className: cn("h-8 w-[250px]", props.className)
11
10
  });
12
11
  }
13
-
14
12
  //#endregion
15
13
  export { SearchToolbarItem };
14
+
16
15
  //# sourceMappingURL=toolbar-items.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar-items.js","names":[],"sources":["../../../../src/components/data-table/toolbar-items.tsx"],"sourcesContent":["import { Input, cn } from \"../..\";\nimport { Table } from \"@tanstack/react-table\";\n\nexport function SearchToolbarItem<TData>(props: { table: Table<TData>, keyName?: string | null, placeholder: string, className?: string }) {\n return (\n <Input\n placeholder={props.placeholder}\n value={props.keyName ? `${props.table.getColumn(props.keyName)?.getFilterValue() ?? \"\"}` : props.table.getState().globalFilter ?? \"\"}\n onChange={(event) => props.keyName ? props.table.getColumn(props.keyName)?.setFilterValue(event.target.value) : props.table.setGlobalFilter(event.target.value)}\n className={cn(\"h-8 w-[250px]\", props.className)}\n />\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,kBAAyB,OAAkG;AACzI,QACE,oBAAC;EACC,aAAa,MAAM;EACnB,OAAO,MAAM,UAAU,GAAG,MAAM,MAAM,UAAU,MAAM,QAAQ,EAAE,gBAAgB,IAAI,OAAO,MAAM,MAAM,UAAU,CAAC,gBAAgB;EAClI,WAAW,UAAU,MAAM,UAAU,MAAM,MAAM,UAAU,MAAM,QAAQ,EAAE,eAAe,MAAM,OAAO,MAAM,GAAG,MAAM,MAAM,gBAAgB,MAAM,OAAO,MAAM;EAC/J,WAAW,GAAG,iBAAiB,MAAM,UAAU;GAC/C"}
1
+ {"version":3,"file":"toolbar-items.js","names":[],"sources":["../../../../src/components/data-table/toolbar-items.tsx"],"sourcesContent":["import { Input, cn } from \"../..\";\nimport { Table } from \"@tanstack/react-table\";\n\nexport function SearchToolbarItem<TData>(props: { table: Table<TData>, keyName?: string | null, placeholder: string, className?: string }) {\n return (\n <Input\n placeholder={props.placeholder}\n value={props.keyName ? `${props.table.getColumn(props.keyName)?.getFilterValue() ?? \"\"}` : props.table.getState().globalFilter ?? \"\"}\n onChange={(event) => props.keyName ? props.table.getColumn(props.keyName)?.setFilterValue(event.target.value) : props.table.setGlobalFilter(event.target.value)}\n className={cn(\"h-8 w-[250px]\", props.className)}\n />\n );\n}\n"],"mappings":";;;AAGA,SAAgB,kBAAyB,OAAkG;CACzI,OACE,oBAAC,OAAD;EACE,aAAa,MAAM;EACnB,OAAO,MAAM,UAAU,GAAG,MAAM,MAAM,UAAU,MAAM,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,MAAM,MAAM,SAAS,CAAC,CAAC,gBAAgB;EAClI,WAAW,UAAU,MAAM,UAAU,MAAM,MAAM,UAAU,MAAM,OAAO,CAAC,EAAE,eAAe,MAAM,OAAO,KAAK,IAAI,MAAM,MAAM,gBAAgB,MAAM,OAAO,KAAK;EAC9J,WAAW,GAAG,iBAAiB,MAAM,SAAS;CAC/C,CAAA;AAEL"}
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { ColumnFiltersState, SortingState, Table } from "@tanstack/react-table";
3
2
 
4
3
  //#region src/components/data-table/toolbar.d.ts
@@ -17,7 +16,7 @@ declare function DataTableToolbar<TData>({
17
16
  defaultColumnFilters,
18
17
  defaultSorting,
19
18
  showResetFilters
20
- }: DataTableToolbarProps<TData>): react_jsx_runtime0.JSX.Element;
19
+ }: DataTableToolbarProps<TData>): import("react/jsx-runtime").JSX.Element;
21
20
  //#endregion
22
21
  export { DataTableToolbar };
23
22
  //# sourceMappingURL=toolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.d.ts","names":[],"sources":["../../../../src/components/data-table/toolbar.tsx"],"mappings":";;;;KAUK,qBAAA;EACH,KAAA,EAAO,KAAA,CAAM,KAAA;EACb,aAAA,IAAiB,KAAA,EAAO,KAAA,CAAM,KAAA,MAAW,KAAA,CAAM,SAAA;EAC/C,kBAAA;EACA,oBAAA,EAAsB,kBAAA;EACtB,cAAA,EAAgB,YAAA;EAChB,gBAAA;AAAA;AAAA,iBAGc,gBAAA,OAAA,CAAA;EACd,KAAA;EACA,aAAA;EACA,kBAAA;EACA,oBAAA;EACA,cAAA;EACA;AAAA,GACC,qBAAA,CAAsB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"toolbar.d.ts","names":[],"sources":["../../../../src/components/data-table/toolbar.tsx"],"mappings":";;;KAUK,qBAAA;EACH,KAAA,EAAO,KAAA,CAAM,KAAA;EACb,aAAA,IAAiB,KAAA,EAAO,KAAA,CAAM,KAAA,MAAW,KAAA,CAAM,SAAA;EAC/C,kBAAA;EACA,oBAAA,EAAsB,kBAAA;EACtB,cAAA,EAAgB,YAAA;EAChB,gBAAA;AAAA;AAAA,iBAGc,gBAAA;EACd,KAAA;EACA,aAAA;EACA,kBAAA;EACA,oBAAA;EACA,cAAA;EACA;AAAA,GACC,qBAAA,CAAsB,KAAA,gCAAM,GAAA,CAAA,OAAA"}
@@ -1,5 +1,4 @@
1
1
  "use client";
2
-
3
2
  import { DownloadIcon } from "lucide-react";
4
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
4
  import { Cross2Icon } from "@radix-ui/react-icons";
@@ -7,7 +6,6 @@ import { Button } from "../ui/button.js";
7
6
  import { DataTableViewOptions } from "./view-options.js";
8
7
  import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
9
8
  import { download, generateCsv, mkConfig } from "export-to-csv";
10
-
11
9
  //#region src/components/data-table/toolbar.tsx
12
10
  function DataTableToolbar({ table, toolbarRender, showDefaultToolbar, defaultColumnFilters, defaultSorting, showResetFilters = true }) {
13
11
  const isFiltered = !deepPlainEquals(table.getState().columnFilters, defaultColumnFilters);
@@ -63,7 +61,7 @@ function DataTableToolbar({ table, toolbarRender, showDefaultToolbar, defaultCol
63
61
  }) })]
64
62
  });
65
63
  }
66
-
67
64
  //#endregion
68
65
  export { DataTableToolbar };
66
+
69
67
  //# sourceMappingURL=toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","names":[],"sources":["../../../../src/components/data-table/toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { Cross2Icon } from \"@radix-ui/react-icons\";\nimport { deepPlainEquals } from \"@hexclave/shared/dist/utils/objects\";\nimport { Button } from \"../ui/button\";\nimport { Cell, ColumnFiltersState, SortingState, Table } from \"@tanstack/react-table\";\nimport { download, generateCsv, mkConfig } from 'export-to-csv';\nimport { DownloadIcon } from \"lucide-react\";\nimport { DataTableViewOptions } from \"./view-options\";\n\ntype DataTableToolbarProps<TData> = {\n table: Table<TData>,\n toolbarRender?: (table: Table<TData>) => React.ReactNode,\n showDefaultToolbar?: boolean,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n showResetFilters?: boolean,\n}\n\nexport function DataTableToolbar<TData>({\n table,\n toolbarRender,\n showDefaultToolbar,\n defaultColumnFilters,\n defaultSorting,\n showResetFilters = true,\n}: DataTableToolbarProps<TData>) {\n const isFiltered = !deepPlainEquals(table.getState().columnFilters, defaultColumnFilters);\n const isSorted = !deepPlainEquals(table.getState().sorting, defaultSorting);\n\n return (\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-2 flex-wrap flex-1 stack-scope\">\n {toolbarRender?.(table)}\n {showResetFilters && (isFiltered || isSorted) && (\n <Button\n variant=\"ghost\"\n onClick={() => {\n table.setColumnFilters(defaultColumnFilters);\n table.setSorting(defaultSorting);\n }}\n className=\"h-8 px-2 lg:px-3\"\n >\n Reset filters\n <Cross2Icon className=\"ml-2 h-4 w-4\" />\n </Button>\n )}\n </div>\n {showDefaultToolbar && (\n <>\n <div className=\"flex items-center gap-2 flex-wrap\">\n <DataTableViewOptions table={table} />\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"ml-auto hidden h-8 lg:flex\"\n onClick={() => {\n const csvConfig = mkConfig({\n fieldSeparator: ',',\n filename: 'data',\n decimalSeparator: '.',\n useKeysAsHeaders: true,\n });\n\n const renderCellValue = (cell: Cell<TData, unknown>) => {\n const rendered = cell.renderValue();\n if (rendered === null) {\n return undefined;\n }\n if (['string', 'number', 'boolean', 'undefined'].includes(typeof rendered)) {\n return rendered;\n }\n if (rendered instanceof Date) {\n return rendered.toISOString();\n }\n if (typeof rendered === 'object') {\n return JSON.stringify(rendered);\n }\n };\n\n\n const rowModel = table.getCoreRowModel();\n const rows = rowModel.rows.map(row => Object.fromEntries(row.getAllCells().map(c => [c.column.id, renderCellValue(c)]).filter(([_, v]) => v !== undefined)));\n if (rows.length === 0) {\n alert(\"No data to export\");\n return;\n }\n const csv = generateCsv(csvConfig)(rows as any);\n download(csvConfig)(csv);\n }}\n >\n <DownloadIcon className=\"mr-2 h-4 w-4\" />\n Export CSV\n </Button>\n </div>\n </>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;AAmBA,SAAgB,iBAAwB,EACtC,OACA,eACA,oBACA,sBACA,gBACA,mBAAmB,QACY;CAC/B,MAAM,aAAa,CAAC,gBAAgB,MAAM,UAAU,CAAC,eAAe,qBAAqB;CACzF,MAAM,WAAW,CAAC,gBAAgB,MAAM,UAAU,CAAC,SAAS,eAAe;AAE3E,QACE,qBAAC;EAAI,WAAU;aACb,qBAAC;GAAI,WAAU;cACZ,gBAAgB,MAAM,EACtB,qBAAqB,cAAc,aAClC,qBAAC;IACC,SAAQ;IACR,eAAe;AACb,WAAM,iBAAiB,qBAAqB;AAC5C,WAAM,WAAW,eAAe;;IAElC,WAAU;eACX,iBAEC,oBAAC,cAAW,WAAU,iBAAiB;KAChC;IAEP,EACL,sBACC,0CACE,qBAAC;GAAI,WAAU;cACb,oBAAC,wBAA4B,QAAS,EACtC,qBAAC;IACC,SAAQ;IACR,MAAK;IACL,WAAU;IACV,eAAe;KACb,MAAM,YAAY,SAAS;MACzB,gBAAgB;MAChB,UAAU;MACV,kBAAkB;MAClB,kBAAkB;MACnB,CAAC;KAEF,MAAM,mBAAmB,SAA+B;MACtD,MAAM,WAAW,KAAK,aAAa;AACnC,UAAI,aAAa,KACf;AAEF,UAAI;OAAC;OAAU;OAAU;OAAW;OAAY,CAAC,SAAS,OAAO,SAAS,CACxE,QAAO;AAET,UAAI,oBAAoB,KACtB,QAAO,SAAS,aAAa;AAE/B,UAAI,OAAO,aAAa,SACtB,QAAO,KAAK,UAAU,SAAS;;KAMnC,MAAM,OADW,MAAM,iBAAiB,CAClB,KAAK,KAAI,QAAO,OAAO,YAAY,IAAI,aAAa,CAAC,KAAI,MAAK,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,MAAM,OAAU,CAAC,CAAC;AAC5J,SAAI,KAAK,WAAW,GAAG;AACrB,YAAM,oBAAoB;AAC1B;;KAEF,MAAM,MAAM,YAAY,UAAU,CAAC,KAAY;AAC/C,cAAS,UAAU,CAAC,IAAI;;eAG1B,oBAAC,gBAAa,WAAU,iBAAiB;KAElC;IACL,GACL;GAED"}
1
+ {"version":3,"file":"toolbar.js","names":[],"sources":["../../../../src/components/data-table/toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { Cross2Icon } from \"@radix-ui/react-icons\";\nimport { deepPlainEquals } from \"@hexclave/shared/dist/utils/objects\";\nimport { Button } from \"../ui/button\";\nimport { Cell, ColumnFiltersState, SortingState, Table } from \"@tanstack/react-table\";\nimport { download, generateCsv, mkConfig } from 'export-to-csv';\nimport { DownloadIcon } from \"lucide-react\";\nimport { DataTableViewOptions } from \"./view-options\";\n\ntype DataTableToolbarProps<TData> = {\n table: Table<TData>,\n toolbarRender?: (table: Table<TData>) => React.ReactNode,\n showDefaultToolbar?: boolean,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n showResetFilters?: boolean,\n}\n\nexport function DataTableToolbar<TData>({\n table,\n toolbarRender,\n showDefaultToolbar,\n defaultColumnFilters,\n defaultSorting,\n showResetFilters = true,\n}: DataTableToolbarProps<TData>) {\n const isFiltered = !deepPlainEquals(table.getState().columnFilters, defaultColumnFilters);\n const isSorted = !deepPlainEquals(table.getState().sorting, defaultSorting);\n\n return (\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-2 flex-wrap flex-1 stack-scope\">\n {toolbarRender?.(table)}\n {showResetFilters && (isFiltered || isSorted) && (\n <Button\n variant=\"ghost\"\n onClick={() => {\n table.setColumnFilters(defaultColumnFilters);\n table.setSorting(defaultSorting);\n }}\n className=\"h-8 px-2 lg:px-3\"\n >\n Reset filters\n <Cross2Icon className=\"ml-2 h-4 w-4\" />\n </Button>\n )}\n </div>\n {showDefaultToolbar && (\n <>\n <div className=\"flex items-center gap-2 flex-wrap\">\n <DataTableViewOptions table={table} />\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"ml-auto hidden h-8 lg:flex\"\n onClick={() => {\n const csvConfig = mkConfig({\n fieldSeparator: ',',\n filename: 'data',\n decimalSeparator: '.',\n useKeysAsHeaders: true,\n });\n\n const renderCellValue = (cell: Cell<TData, unknown>) => {\n const rendered = cell.renderValue();\n if (rendered === null) {\n return undefined;\n }\n if (['string', 'number', 'boolean', 'undefined'].includes(typeof rendered)) {\n return rendered;\n }\n if (rendered instanceof Date) {\n return rendered.toISOString();\n }\n if (typeof rendered === 'object') {\n return JSON.stringify(rendered);\n }\n };\n\n\n const rowModel = table.getCoreRowModel();\n const rows = rowModel.rows.map(row => Object.fromEntries(row.getAllCells().map(c => [c.column.id, renderCellValue(c)]).filter(([_, v]) => v !== undefined)));\n if (rows.length === 0) {\n alert(\"No data to export\");\n return;\n }\n const csv = generateCsv(csvConfig)(rows as any);\n download(csvConfig)(csv);\n }}\n >\n <DownloadIcon className=\"mr-2 h-4 w-4\" />\n Export CSV\n </Button>\n </div>\n </>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAmBA,SAAgB,iBAAwB,EACtC,OACA,eACA,oBACA,sBACA,gBACA,mBAAmB,QACY;CAC/B,MAAM,aAAa,CAAC,gBAAgB,MAAM,SAAS,CAAC,CAAC,eAAe,oBAAoB;CACxF,MAAM,WAAW,CAAC,gBAAgB,MAAM,SAAS,CAAC,CAAC,SAAS,cAAc;CAE1E,OACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,qBAAC,OAAD;GAAK,WAAU;aAAf,CACG,gBAAgB,KAAK,GACrB,qBAAqB,cAAc,aAClC,qBAAC,QAAD;IACE,SAAQ;IACR,eAAe;KACb,MAAM,iBAAiB,oBAAoB;KAC3C,MAAM,WAAW,cAAc;IACjC;IACA,WAAU;cANZ,CAOC,iBAEC,oBAAC,YAAD,EAAY,WAAU,eAAgB,CAAA,CAChC;KAEP;MACJ,sBACC,oBAAA,UAAA,EAAA,UACE,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,sBAAD,EAA6B,MAAQ,CAAA,GACrC,qBAAC,QAAD;IACE,SAAQ;IACR,MAAK;IACL,WAAU;IACV,eAAe;KACb,MAAM,YAAY,SAAS;MACzB,gBAAgB;MAChB,UAAU;MACV,kBAAkB;MAClB,kBAAkB;KACpB,CAAC;KAED,MAAM,mBAAmB,SAA+B;MACtD,MAAM,WAAW,KAAK,YAAY;MAClC,IAAI,aAAa,MACf;MAEF,IAAI;OAAC;OAAU;OAAU;OAAW;MAAW,CAAC,CAAC,SAAS,OAAO,QAAQ,GACvE,OAAO;MAET,IAAI,oBAAoB,MACtB,OAAO,SAAS,YAAY;MAE9B,IAAI,OAAO,aAAa,UACtB,OAAO,KAAK,UAAU,QAAQ;KAElC;KAIA,MAAM,OADW,MAAM,gBACH,CAAC,CAAC,KAAK,KAAI,QAAO,OAAO,YAAY,IAAI,YAAY,CAAC,CAAC,KAAI,MAAK,CAAC,EAAE,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,MAAM,KAAA,CAAS,CAAC,CAAC;KAC3J,IAAI,KAAK,WAAW,GAAG;MACrB,MAAM,mBAAmB;MACzB;KACF;KACA,MAAM,MAAM,YAAY,SAAS,CAAC,CAAC,IAAW;KAC9C,SAAS,SAAS,CAAC,CAAC,GAAG;IACzB;cArCF,CAuCE,oBAAC,cAAD,EAAc,WAAU,eAAgB,CAAA,GAAC,YAEnC;KACL;KACL,CAAA,CAED;;AAET"}
@@ -5,7 +5,7 @@ function standardFilterFn(row, id, value) {
5
5
  function arrayFilterFn(row, id, value) {
6
6
  return value.some((v) => row.getValue(id).includes(v));
7
7
  }
8
-
9
8
  //#endregion
10
9
  export { arrayFilterFn, standardFilterFn };
10
+
11
11
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../../src/components/data-table/utils.tsx"],"sourcesContent":["export function standardFilterFn (row: any, id: string, value: any) {\n return value.includes(row.getValue(id));\n}\n\nexport function arrayFilterFn (row: any, id: string, value: any) {\n return value.some((v: any) => row.getValue(id).includes(v));\n}\n"],"mappings":";AAAA,SAAgB,iBAAkB,KAAU,IAAY,OAAY;AAClE,QAAO,MAAM,SAAS,IAAI,SAAS,GAAG,CAAC;;AAGzC,SAAgB,cAAe,KAAU,IAAY,OAAY;AAC/D,QAAO,MAAM,MAAM,MAAW,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../../src/components/data-table/utils.tsx"],"sourcesContent":["export function standardFilterFn (row: any, id: string, value: any) {\n return value.includes(row.getValue(id));\n}\n\nexport function arrayFilterFn (row: any, id: string, value: any) {\n return value.some((v: any) => row.getValue(id).includes(v));\n}\n"],"mappings":";AAAA,SAAgB,iBAAkB,KAAU,IAAY,OAAY;CAClE,OAAO,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;AACxC;AAEA,SAAgB,cAAe,KAAU,IAAY,OAAY;CAC/D,OAAO,MAAM,MAAM,MAAW,IAAI,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5D"}
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { Table } from "@tanstack/react-table";
3
2
 
4
3
  //#region src/components/data-table/view-options.d.ts
@@ -13,7 +12,7 @@ declare function DataTableViewOptions<TData>({
13
12
  variant,
14
13
  className,
15
14
  iconClassName
16
- }: DataTableViewOptionsProps<TData>): react_jsx_runtime0.JSX.Element;
15
+ }: DataTableViewOptionsProps<TData>): import("react/jsx-runtime").JSX.Element;
17
16
  //#endregion
18
17
  export { DataTableViewOptions };
19
18
  //# sourceMappingURL=view-options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-options.d.ts","names":[],"sources":["../../../../src/components/data-table/view-options.tsx"],"mappings":";;;;KAcK,yBAAA;EACH,KAAA,EAAO,KAAA,CAAM,KAAA;EACb,OAAA;EACA,SAAA;EACA,aAAA;AAAA;AAAA,iBAGc,oBAAA,OAAA,CAAA;EACd,KAAA;EACA,OAAA;EACA,SAAA;EACA;AAAA,GACC,yBAAA,CAA0B,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"view-options.d.ts","names":[],"sources":["../../../../src/components/data-table/view-options.tsx"],"mappings":";;;KAcK,yBAAA;EACH,KAAA,EAAO,KAAK,CAAC,KAAA;EACb,OAAA;EACA,SAAA;EACA,aAAA;AAAA;AAAA,iBAGc,oBAAA;EACd,KAAA;EACA,OAAA;EACA,SAAA;EACA;AAAA,GACC,yBAAA,CAA0B,KAAA,gCAAM,GAAA,CAAA,OAAA"}