@bigbinary/neeto-atoms 1.0.35 → 1.0.37

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 (746) hide show
  1. package/dist/Accordion-DVMgPBum.js +45 -0
  2. package/dist/{Accordion-Ch9S_qd3.js.map → Accordion-DVMgPBum.js.map} +1 -1
  3. package/dist/Alert-bS5M631u.js +150 -0
  4. package/dist/{Alert-CayTuRLW.js.map → Alert-bS5M631u.js.map} +1 -1
  5. package/dist/Avatar-CJq2rlgk.js +71 -0
  6. package/dist/{Avatar-D5YGlXVF.js.map → Avatar-CJq2rlgk.js.map} +1 -1
  7. package/dist/Badge-DC6zxOwS.js +131 -0
  8. package/dist/{Badge-Bj3ajrWB.js.map → Badge-DC6zxOwS.js.map} +1 -1
  9. package/dist/Button-BCWJgHDy.js +193 -0
  10. package/dist/Button-BCWJgHDy.js.map +1 -0
  11. package/dist/{Calendar-gPWbQa_c.js → Calendar-CjOBwDbx.js} +181 -72
  12. package/dist/{Calendar-gPWbQa_c.js.map → Calendar-CjOBwDbx.js.map} +1 -1
  13. package/dist/{Callout-CTr3dhBe.js → Callout-ClNFeMbn.js} +36 -22
  14. package/dist/{Callout-CTr3dhBe.js.map → Callout-ClNFeMbn.js.map} +1 -1
  15. package/dist/Checkbox-C_Rd2-8Z.js +75 -0
  16. package/dist/{Checkbox-zCxgcZiC.js.map → Checkbox-C_Rd2-8Z.js.map} +1 -1
  17. package/dist/ColorPicker-D7Y1gZNn.js +437 -0
  18. package/dist/ColorPicker-D7Y1gZNn.js.map +1 -0
  19. package/dist/{DataTable-ZLvVywpD.js → DataTable-CEA8czNL.js} +1024 -632
  20. package/dist/{DataTable-ZLvVywpD.js.map → DataTable-CEA8czNL.js.map} +1 -1
  21. package/dist/{DatePicker-B7SYjsog.js → DatePicker-CCN3b1oz.js} +439 -264
  22. package/dist/{DatePicker-B7SYjsog.js.map → DatePicker-CCN3b1oz.js.map} +1 -1
  23. package/dist/Dialog-BOcBeB8v.js +147 -0
  24. package/dist/{Dialog-BURSzxaP.js.map → Dialog-BOcBeB8v.js.map} +1 -1
  25. package/dist/{DirectionProvider-DGYDg_He.js → DirectionProvider-weqLz_BJ.js} +2 -2
  26. package/dist/{DirectionProvider-DGYDg_He.js.map → DirectionProvider-weqLz_BJ.js.map} +1 -1
  27. package/dist/Empty-fV1Yplri.js +75 -0
  28. package/dist/{Empty-zyL2ZsHX.js.map → Empty-fV1Yplri.js.map} +1 -1
  29. package/dist/Input-xjYQfsaz.js +222 -0
  30. package/dist/{Input-C1gcv9o2.js.map → Input-xjYQfsaz.js.map} +1 -1
  31. package/dist/Kbd-CJOM9x4C.js +41 -0
  32. package/dist/{Kbd-EqbC0bua.js.map → Kbd-CJOM9x4C.js.map} +1 -1
  33. package/dist/Label-CrCRic4I.js +87 -0
  34. package/dist/{Label-DAFESZOG.js.map → Label-CrCRic4I.js.map} +1 -1
  35. package/dist/MultiEmailInput-L-QJg0hh.js +262 -0
  36. package/dist/MultiEmailInput-L-QJg0hh.js.map +1 -0
  37. package/dist/Pagination-C_X9kgc8.js +103 -0
  38. package/dist/{Pagination-DSc9yXPy.js.map → Pagination-C_X9kgc8.js.map} +1 -1
  39. package/dist/Popover-Cco_6txS.js +131 -0
  40. package/dist/{Popover-Dmq-xK_a.js.map → Popover-Cco_6txS.js.map} +1 -1
  41. package/dist/Progress-DURemsl_.js +18 -0
  42. package/dist/{Progress-B9NlUm6e.js.map → Progress-DURemsl_.js.map} +1 -1
  43. package/dist/RadioGroup-BTemSonO.js +106 -0
  44. package/dist/{RadioGroup-BNeYQAoT.js.map → RadioGroup-BTemSonO.js.map} +1 -1
  45. package/dist/Select-o0yJaN0P.js +1059 -0
  46. package/dist/Select-o0yJaN0P.js.map +1 -0
  47. package/dist/SelectFieldWrapper-CiBARDsn.js +74 -0
  48. package/dist/{SelectFieldWrapper-BJzq9aCY.js.map → SelectFieldWrapper-CiBARDsn.js.map} +1 -1
  49. package/dist/Sheet-DVoy6if3.js +158 -0
  50. package/dist/{Sheet-B99vGwLH.js.map → Sheet-DVoy6if3.js.map} +1 -1
  51. package/dist/Slider-DNcH5X7b.js +65 -0
  52. package/dist/{Slider-BCQXhs0Q.js.map → Slider-DNcH5X7b.js.map} +1 -1
  53. package/dist/Spinner-DgV3mILN.js +26 -0
  54. package/dist/{Spinner-C8HSac-2.js.map → Spinner-DgV3mILN.js.map} +1 -1
  55. package/dist/Stepper-7OpfOfas.js +109 -0
  56. package/dist/{Stepper-BoGkmkY0.js.map → Stepper-7OpfOfas.js.map} +1 -1
  57. package/dist/Switch-OAB7pfNn.js +82 -0
  58. package/dist/{Switch-B83TGxJ_.js.map → Switch-OAB7pfNn.js.map} +1 -1
  59. package/dist/Tabs-DTbbJITd.js +64 -0
  60. package/dist/{Tabs-DWfKnl3S.js.map → Tabs-DTbbJITd.js.map} +1 -1
  61. package/dist/Textarea-B2Uhx-Yy.js +181 -0
  62. package/dist/{Textarea-C0z50h0N.js.map → Textarea-B2Uhx-Yy.js.map} +1 -1
  63. package/dist/TimePicker-wPi2k6Z8.js +264 -0
  64. package/dist/TimePicker-wPi2k6Z8.js.map +1 -0
  65. package/dist/TimePickerPanel-DAhz3B2d.js +227 -0
  66. package/dist/{TimePickerPanel-CiF0RExY.js.map → TimePickerPanel-DAhz3B2d.js.map} +1 -1
  67. package/dist/Toastr-BimwuEnS.js +95 -0
  68. package/dist/{Toastr-DYqpSaMd.js.map → Toastr-BimwuEnS.js.map} +1 -1
  69. package/dist/Tooltip-CA3irJ2q.js +88 -0
  70. package/dist/{Tooltip-3ZzQyaDV.js.map → Tooltip-CA3irJ2q.js.map} +1 -1
  71. package/dist/{TranslationProvider-Ba9rn47H.js → TranslationProvider-BvRvUsPS.js} +20 -17
  72. package/dist/{TranslationProvider-Ba9rn47H.js.map → TranslationProvider-BvRvUsPS.js.map} +1 -1
  73. package/dist/{Tree-C7r10UY5.js → Tree-BlzjThRi.js} +515 -322
  74. package/dist/Tree-BlzjThRi.js.map +1 -0
  75. package/dist/TreeSelect-Dk299XMv.js +335 -0
  76. package/dist/TreeSelect-Dk299XMv.js.map +1 -0
  77. package/dist/Typography-CiQzW5Fy.js +97 -0
  78. package/dist/{Typography-ClPJbLjP.js.map → Typography-CiQzW5Fy.js.map} +1 -1
  79. package/dist/button-CrEMzWKw.js +67 -0
  80. package/dist/{button-D6uWDFCs.js.map → button-CrEMzWKw.js.map} +1 -1
  81. package/dist/cjs/Accordion-D75SDnkY.js +51 -0
  82. package/dist/cjs/Accordion-D75SDnkY.js.map +1 -0
  83. package/dist/cjs/Alert-_TPuVqa5.js +152 -0
  84. package/dist/cjs/Alert-_TPuVqa5.js.map +1 -0
  85. package/dist/cjs/Avatar-nG7vhAUS.js +73 -0
  86. package/dist/cjs/Avatar-nG7vhAUS.js.map +1 -0
  87. package/dist/cjs/Badge-Dz_Kb49L.js +133 -0
  88. package/dist/cjs/Badge-Dz_Kb49L.js.map +1 -0
  89. package/dist/cjs/Button-BlNtYr1w.js +195 -0
  90. package/dist/cjs/Button-BlNtYr1w.js.map +1 -0
  91. package/dist/cjs/{Calendar-jVF8fRaS.js → Calendar-02KiUZTT.js} +181 -72
  92. package/dist/cjs/Calendar-02KiUZTT.js.map +1 -0
  93. package/dist/cjs/{Callout-CVNpjTde.js → Callout-_XBx1JHL.js} +36 -22
  94. package/dist/cjs/Callout-_XBx1JHL.js.map +1 -0
  95. package/dist/cjs/Checkbox-CxqWOvFN.js +77 -0
  96. package/dist/cjs/Checkbox-CxqWOvFN.js.map +1 -0
  97. package/dist/cjs/ColorPicker-Co1Gffsu.js +439 -0
  98. package/dist/cjs/ColorPicker-Co1Gffsu.js.map +1 -0
  99. package/dist/cjs/{DataTable-Dg0pX7Ng.js → DataTable-DRGW8JVP.js} +1024 -632
  100. package/dist/cjs/DataTable-DRGW8JVP.js.map +1 -0
  101. package/dist/cjs/{DatePicker-C0BwxIh8.js → DatePicker-DRQubO2h.js} +439 -264
  102. package/dist/cjs/DatePicker-DRQubO2h.js.map +1 -0
  103. package/dist/cjs/Dialog-CBSuKeu_.js +149 -0
  104. package/dist/cjs/Dialog-CBSuKeu_.js.map +1 -0
  105. package/dist/cjs/{DirectionProvider-Bec-6U8p.js → DirectionProvider-BTtE4FcN.js} +2 -2
  106. package/dist/cjs/DirectionProvider-BTtE4FcN.js.map +1 -0
  107. package/dist/cjs/Empty-DqmmPlPJ.js +77 -0
  108. package/dist/cjs/Empty-DqmmPlPJ.js.map +1 -0
  109. package/dist/cjs/Input-CpuJXazH.js +224 -0
  110. package/dist/cjs/Input-CpuJXazH.js.map +1 -0
  111. package/dist/cjs/Kbd-D2nELu5m.js +43 -0
  112. package/dist/cjs/Kbd-D2nELu5m.js.map +1 -0
  113. package/dist/cjs/Label-DFkiC2Jk.js +89 -0
  114. package/dist/cjs/Label-DFkiC2Jk.js.map +1 -0
  115. package/dist/cjs/MultiEmailInput-CPXODFvs.js +264 -0
  116. package/dist/cjs/MultiEmailInput-CPXODFvs.js.map +1 -0
  117. package/dist/cjs/Pagination-DeWfLAq5.js +105 -0
  118. package/dist/cjs/Pagination-DeWfLAq5.js.map +1 -0
  119. package/dist/cjs/Popover-Br9hkU5i.js +137 -0
  120. package/dist/cjs/Popover-Br9hkU5i.js.map +1 -0
  121. package/dist/cjs/Progress-yBpMAzIU.js +20 -0
  122. package/dist/cjs/Progress-yBpMAzIU.js.map +1 -0
  123. package/dist/cjs/RadioGroup-CkKlLHnR.js +108 -0
  124. package/dist/cjs/RadioGroup-CkKlLHnR.js.map +1 -0
  125. package/dist/cjs/Select-DbfPhEu0.js +1065 -0
  126. package/dist/cjs/Select-DbfPhEu0.js.map +1 -0
  127. package/dist/cjs/SelectFieldWrapper-DKkizQNM.js +76 -0
  128. package/dist/cjs/SelectFieldWrapper-DKkizQNM.js.map +1 -0
  129. package/dist/cjs/Sheet-mJ7pJHrn.js +160 -0
  130. package/dist/cjs/Sheet-mJ7pJHrn.js.map +1 -0
  131. package/dist/cjs/Slider-ICf2eQ6p.js +67 -0
  132. package/dist/cjs/Slider-ICf2eQ6p.js.map +1 -0
  133. package/dist/cjs/Spinner-DzNBz8al.js +28 -0
  134. package/dist/cjs/Spinner-DzNBz8al.js.map +1 -0
  135. package/dist/cjs/Stepper-DZb25oBH.js +115 -0
  136. package/dist/cjs/Stepper-DZb25oBH.js.map +1 -0
  137. package/dist/cjs/Switch-BTkncHw2.js +84 -0
  138. package/dist/cjs/Switch-BTkncHw2.js.map +1 -0
  139. package/dist/cjs/Tabs-YPRmLtUM.js +66 -0
  140. package/dist/cjs/Tabs-YPRmLtUM.js.map +1 -0
  141. package/dist/cjs/Textarea-yWv-66yX.js +183 -0
  142. package/dist/cjs/Textarea-yWv-66yX.js.map +1 -0
  143. package/dist/cjs/TimePicker-BG_vYH3r.js +266 -0
  144. package/dist/cjs/TimePicker-BG_vYH3r.js.map +1 -0
  145. package/dist/cjs/TimePickerPanel-6xA-hjhm.js +233 -0
  146. package/dist/cjs/TimePickerPanel-6xA-hjhm.js.map +1 -0
  147. package/dist/cjs/Toastr-DYWd66L7.js +97 -0
  148. package/dist/cjs/Toastr-DYWd66L7.js.map +1 -0
  149. package/dist/cjs/Tooltip-Dph_R3Ct.js +94 -0
  150. package/dist/cjs/Tooltip-Dph_R3Ct.js.map +1 -0
  151. package/dist/cjs/{TranslationProvider-DBZHXmzX.js → TranslationProvider-Dh5_Fzzk.js} +20 -17
  152. package/dist/cjs/TranslationProvider-Dh5_Fzzk.js.map +1 -0
  153. package/dist/cjs/{Tree-BPd0DuLh.js → Tree-DAyVPLnJ.js} +515 -322
  154. package/dist/cjs/Tree-DAyVPLnJ.js.map +1 -0
  155. package/dist/cjs/TreeSelect-Cmm5yYq3.js +337 -0
  156. package/dist/cjs/TreeSelect-Cmm5yYq3.js.map +1 -0
  157. package/dist/cjs/Typography-UyaYuppP.js +100 -0
  158. package/dist/cjs/Typography-UyaYuppP.js.map +1 -0
  159. package/dist/cjs/button-CMl9rLXi.js +90 -0
  160. package/dist/cjs/button-CMl9rLXi.js.map +1 -0
  161. package/dist/cjs/components/Accordion.js +2 -2
  162. package/dist/cjs/components/Alert.js +10 -10
  163. package/dist/cjs/components/Avatar.js +3 -3
  164. package/dist/cjs/components/Badge.js +4 -4
  165. package/dist/cjs/components/Button.js +6 -6
  166. package/dist/cjs/components/Callout.js +4 -4
  167. package/dist/cjs/components/Checkbox.js +5 -5
  168. package/dist/cjs/components/ColorPicker.js +5 -5
  169. package/dist/cjs/components/DataTable.js +15 -15
  170. package/dist/cjs/components/DatePicker.js +9 -9
  171. package/dist/cjs/components/Dialog.js +7 -7
  172. package/dist/cjs/components/DirectionProvider.js +1 -1
  173. package/dist/cjs/components/DropdownMenu.js +320 -92
  174. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  175. package/dist/cjs/components/Empty.js +16 -16
  176. package/dist/cjs/components/Input.js +9 -9
  177. package/dist/cjs/components/Kbd.js +3 -3
  178. package/dist/cjs/components/Label.js +12 -12
  179. package/dist/cjs/components/MultiEmailInput.js +5 -5
  180. package/dist/cjs/components/Pagination.js +4 -4
  181. package/dist/cjs/components/Popover.js +6 -6
  182. package/dist/cjs/components/Progress.js +2 -2
  183. package/dist/cjs/components/RadioGroup.js +5 -5
  184. package/dist/cjs/components/Select.js +10 -10
  185. package/dist/cjs/components/Sheet.js +7 -7
  186. package/dist/cjs/components/Slider.js +5 -5
  187. package/dist/cjs/components/Spinner.js +2 -2
  188. package/dist/cjs/components/Stepper.js +2 -2
  189. package/dist/cjs/components/Switch.js +3 -3
  190. package/dist/cjs/components/Tabs.js +4 -4
  191. package/dist/cjs/components/Textarea.js +6 -6
  192. package/dist/cjs/components/TimePicker.js +8 -8
  193. package/dist/cjs/components/Toastr.js +1 -1
  194. package/dist/cjs/components/Tooltip.js +3 -3
  195. package/dist/cjs/components/TranslationProvider.js +1 -1
  196. package/dist/cjs/components/Tree.js +3 -3
  197. package/dist/cjs/components/TreeSelect.js +8 -8
  198. package/dist/cjs/components/Typography.js +3 -3
  199. package/dist/cjs/components/index.js +80 -80
  200. package/dist/cjs/dialog-Cs1qH5xA.js +161 -0
  201. package/dist/cjs/dialog-Cs1qH5xA.js.map +1 -0
  202. package/dist/cjs/formik/ActionBlock.js +56 -12
  203. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  204. package/dist/cjs/formik/BlockNavigation.js +150 -79
  205. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  206. package/dist/cjs/formik/Button.js +20 -9
  207. package/dist/cjs/formik/Button.js.map +1 -1
  208. package/dist/cjs/formik/Checkbox.js +33 -15
  209. package/dist/cjs/formik/Checkbox.js.map +1 -1
  210. package/dist/cjs/formik/Form.js +105 -74
  211. package/dist/cjs/formik/Form.js.map +1 -1
  212. package/dist/cjs/formik/Input.js +32 -22
  213. package/dist/cjs/formik/Input.js.map +1 -1
  214. package/dist/cjs/formik/MultiEmailInput.js +23 -13
  215. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  216. package/dist/cjs/formik/RadioGroup.js +33 -15
  217. package/dist/cjs/formik/RadioGroup.js.map +1 -1
  218. package/dist/cjs/formik/Select.js +29 -28
  219. package/dist/cjs/formik/Select.js.map +1 -1
  220. package/dist/cjs/formik/Slider.js +31 -13
  221. package/dist/cjs/formik/Slider.js.map +1 -1
  222. package/dist/cjs/formik/Switch.js +28 -13
  223. package/dist/cjs/formik/Switch.js.map +1 -1
  224. package/dist/cjs/formik/Textarea.js +29 -19
  225. package/dist/cjs/formik/Textarea.js.map +1 -1
  226. package/dist/cjs/formik/TreeSelect.js +26 -15
  227. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  228. package/dist/cjs/formik/index.js +26 -26
  229. package/dist/cjs/{index-BLGrl3PF.js → index-BTsnrFFc.js} +2 -2
  230. package/dist/cjs/{index-BLGrl3PF.js.map → index-BTsnrFFc.js.map} +1 -1
  231. package/dist/cjs/{index-ChSOMM8b.js → index-CS_WSHYi.js} +54 -54
  232. package/dist/cjs/index-CS_WSHYi.js.map +1 -0
  233. package/dist/cjs/{index-D1SiRLYs.js → index-DbA93GP3.js} +2 -2
  234. package/dist/cjs/{index-D1SiRLYs.js.map → index-DbA93GP3.js.map} +1 -1
  235. package/dist/cjs/{index-BZhTddX0.js → index-vioSzJOw.js} +2 -2
  236. package/dist/cjs/{index-BZhTddX0.js.map → index-vioSzJOw.js.map} +1 -1
  237. package/dist/cjs/index.js +306 -300
  238. package/dist/cjs/index.js.map +1 -1
  239. package/dist/cjs/input-BlyvDsZ5.js +22 -0
  240. package/dist/cjs/input-BlyvDsZ5.js.map +1 -0
  241. package/dist/cjs/input-group-8TZFHzVl.js +147 -0
  242. package/dist/cjs/input-group-8TZFHzVl.js.map +1 -0
  243. package/dist/cjs/{label-Bdc9ytTI.js → label-DJ7KkKYy.js} +17 -4
  244. package/dist/cjs/label-DJ7KkKYy.js.map +1 -0
  245. package/dist/cjs/primitives/Accordion.js +76 -13
  246. package/dist/cjs/primitives/Accordion.js.map +1 -1
  247. package/dist/cjs/primitives/Alert.js +65 -20
  248. package/dist/cjs/primitives/Alert.js.map +1 -1
  249. package/dist/cjs/primitives/AlertDialog.js +176 -41
  250. package/dist/cjs/primitives/AlertDialog.js.map +1 -1
  251. package/dist/cjs/primitives/AspectRatio.js +5 -3
  252. package/dist/cjs/primitives/AspectRatio.js.map +1 -1
  253. package/dist/cjs/primitives/Avatar.js +94 -17
  254. package/dist/cjs/primitives/Avatar.js.map +1 -1
  255. package/dist/cjs/primitives/Badge.js +99 -69
  256. package/dist/cjs/primitives/Badge.js.map +1 -1
  257. package/dist/cjs/primitives/Breadcrumb.js +103 -21
  258. package/dist/cjs/primitives/Breadcrumb.js.map +1 -1
  259. package/dist/cjs/primitives/Button.js +4 -4
  260. package/dist/cjs/primitives/Button.js.map +1 -1
  261. package/dist/cjs/primitives/ButtonGroup.js +65 -21
  262. package/dist/cjs/primitives/ButtonGroup.js.map +1 -1
  263. package/dist/cjs/primitives/Calendar.js +4 -4
  264. package/dist/cjs/primitives/Card.js +88 -16
  265. package/dist/cjs/primitives/Card.js.map +1 -1
  266. package/dist/cjs/primitives/Carousel.js +187 -85
  267. package/dist/cjs/primitives/Carousel.js.map +1 -1
  268. package/dist/cjs/primitives/Chart.js +427 -189
  269. package/dist/cjs/primitives/Chart.js.map +1 -1
  270. package/dist/cjs/primitives/Checkbox.js +28 -4
  271. package/dist/cjs/primitives/Checkbox.js.map +1 -1
  272. package/dist/cjs/primitives/Collapsible.js +27 -9
  273. package/dist/cjs/primitives/Collapsible.js.map +1 -1
  274. package/dist/cjs/primitives/Combobox.js +279 -51
  275. package/dist/cjs/primitives/Combobox.js.map +1 -1
  276. package/dist/cjs/primitives/Command.js +168 -39
  277. package/dist/cjs/primitives/Command.js.map +1 -1
  278. package/dist/cjs/primitives/ContextMenu.js +217 -48
  279. package/dist/cjs/primitives/ContextMenu.js.map +1 -1
  280. package/dist/cjs/primitives/Dialog.js +62 -20
  281. package/dist/cjs/primitives/Dialog.js.map +1 -1
  282. package/dist/cjs/primitives/Drawer.js +116 -31
  283. package/dist/cjs/primitives/Drawer.js.map +1 -1
  284. package/dist/cjs/primitives/DropdownMenu.js +233 -48
  285. package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
  286. package/dist/cjs/primitives/Empty.js +85 -23
  287. package/dist/cjs/primitives/Empty.js.map +1 -1
  288. package/dist/cjs/primitives/Field.js +194 -55
  289. package/dist/cjs/primitives/Field.js.map +1 -1
  290. package/dist/cjs/primitives/HoverCard.js +31 -10
  291. package/dist/cjs/primitives/HoverCard.js.map +1 -1
  292. package/dist/cjs/primitives/Input.js +3 -3
  293. package/dist/cjs/primitives/Input.js.map +1 -1
  294. package/dist/cjs/primitives/InputGroup.js +12 -12
  295. package/dist/cjs/primitives/InputGroup.js.map +1 -1
  296. package/dist/cjs/primitives/InputOTP.js +70 -13
  297. package/dist/cjs/primitives/InputOTP.js.map +1 -1
  298. package/dist/cjs/primitives/Item.js +163 -51
  299. package/dist/cjs/primitives/Item.js.map +1 -1
  300. package/dist/cjs/primitives/Kbd.js +22 -5
  301. package/dist/cjs/primitives/Kbd.js.map +1 -1
  302. package/dist/cjs/primitives/Label.js +3 -3
  303. package/dist/cjs/primitives/Label.js.map +1 -1
  304. package/dist/cjs/primitives/Menubar.js +236 -51
  305. package/dist/cjs/primitives/Menubar.js.map +1 -1
  306. package/dist/cjs/primitives/NativeSelect.js +45 -9
  307. package/dist/cjs/primitives/NativeSelect.js.map +1 -1
  308. package/dist/cjs/primitives/NavigationMenu.js +149 -27
  309. package/dist/cjs/primitives/NavigationMenu.js.map +1 -1
  310. package/dist/cjs/primitives/Pagination.js +121 -27
  311. package/dist/cjs/primitives/Pagination.js.map +1 -1
  312. package/dist/cjs/primitives/Popover.js +68 -21
  313. package/dist/cjs/primitives/Popover.js.map +1 -1
  314. package/dist/cjs/primitives/Progress.js +26 -4
  315. package/dist/cjs/primitives/Progress.js.map +1 -1
  316. package/dist/cjs/primitives/RadioGroup.js +36 -9
  317. package/dist/cjs/primitives/RadioGroup.js.map +1 -1
  318. package/dist/cjs/primitives/Resizable.js +37 -9
  319. package/dist/cjs/primitives/Resizable.js.map +1 -1
  320. package/dist/cjs/primitives/ScrollArea.js +53 -7
  321. package/dist/cjs/primitives/ScrollArea.js.map +1 -1
  322. package/dist/cjs/primitives/Select.js +169 -32
  323. package/dist/cjs/primitives/Select.js.map +1 -1
  324. package/dist/cjs/primitives/Separator.js +3 -3
  325. package/dist/cjs/primitives/Separator.js.map +1 -1
  326. package/dist/cjs/primitives/Sheet.js +79 -18
  327. package/dist/cjs/primitives/Sheet.js.map +1 -1
  328. package/dist/cjs/primitives/Sidebar.js +575 -181
  329. package/dist/cjs/primitives/Sidebar.js.map +1 -1
  330. package/dist/cjs/primitives/Skeleton.js +3 -3
  331. package/dist/cjs/primitives/Skeleton.js.map +1 -1
  332. package/dist/cjs/primitives/Slider.js +53 -9
  333. package/dist/cjs/primitives/Slider.js.map +1 -1
  334. package/dist/cjs/primitives/Sonner.js +42 -26
  335. package/dist/cjs/primitives/Sonner.js.map +1 -1
  336. package/dist/cjs/primitives/Spinner.js +4 -4
  337. package/dist/cjs/primitives/Spinner.js.map +1 -1
  338. package/dist/cjs/primitives/Switch.js +32 -2
  339. package/dist/cjs/primitives/Switch.js.map +1 -1
  340. package/dist/cjs/primitives/Table.js +109 -17
  341. package/dist/cjs/primitives/Table.js.map +1 -1
  342. package/dist/cjs/primitives/Tabs.js +78 -22
  343. package/dist/cjs/primitives/Tabs.js.map +1 -1
  344. package/dist/cjs/primitives/Textarea.js +3 -3
  345. package/dist/cjs/primitives/Textarea.js.map +1 -1
  346. package/dist/cjs/primitives/Toggle.js +4 -4
  347. package/dist/cjs/primitives/Toggle.js.map +1 -1
  348. package/dist/cjs/primitives/ToggleGroup.js +68 -17
  349. package/dist/cjs/primitives/ToggleGroup.js.map +1 -1
  350. package/dist/cjs/primitives/Tooltip.js +6 -6
  351. package/dist/cjs/primitives/Tooltip.js.map +1 -1
  352. package/dist/cjs/primitives/index.js +18 -18
  353. package/dist/cjs/renderIcon-BRrpZu9a.js +32 -0
  354. package/dist/cjs/renderIcon-BRrpZu9a.js.map +1 -0
  355. package/dist/cjs/search-DVHH0ihN.js +33 -0
  356. package/dist/cjs/search-DVHH0ihN.js.map +1 -0
  357. package/dist/cjs/{separator-CPy2gyg1.js → separator-DSL-aG1J.js} +21 -4
  358. package/dist/cjs/separator-DSL-aG1J.js.map +1 -0
  359. package/dist/cjs/sheet-G6ismmAK.js +147 -0
  360. package/dist/cjs/sheet-G6ismmAK.js.map +1 -0
  361. package/dist/cjs/skeleton-CL0H_mC4.js +18 -0
  362. package/dist/cjs/skeleton-CL0H_mC4.js.map +1 -0
  363. package/dist/cjs/textarea-Br-J3v7z.js +21 -0
  364. package/dist/cjs/textarea-Br-J3v7z.js.map +1 -0
  365. package/dist/cjs/{toggle-CaqzT8dI.js → toggle-Cq38rmIj.js} +34 -19
  366. package/dist/cjs/toggle-Cq38rmIj.js.map +1 -0
  367. package/dist/cjs/{tooltip-C-568jEL.js → tooltip-BYCcUMZn.js} +44 -10
  368. package/dist/cjs/tooltip-BYCcUMZn.js.map +1 -0
  369. package/dist/cjs/use-mobile-Be9CI6km.js +41 -0
  370. package/dist/cjs/use-mobile-Be9CI6km.js.map +1 -0
  371. package/dist/cjs/{utils-CTr7wn5d.js → utils-BhM0B89p.js} +2 -2
  372. package/dist/cjs/utils-BhM0B89p.js.map +1 -0
  373. package/dist/components/Accordion.js +2 -2
  374. package/dist/components/Alert.js +10 -10
  375. package/dist/components/Avatar.js +3 -3
  376. package/dist/components/Badge.js +4 -4
  377. package/dist/components/Button/Button.d.ts +1 -1
  378. package/dist/components/Button.js +6 -6
  379. package/dist/components/Callout.js +4 -4
  380. package/dist/components/Checkbox.js +5 -5
  381. package/dist/components/ColorPicker.js +5 -5
  382. package/dist/components/DataTable/DataTable.d.ts +1 -1
  383. package/dist/components/DataTable/hooks/useTableSort.d.ts +6 -1
  384. package/dist/components/DataTable/index.d.ts +1 -0
  385. package/dist/components/DataTable/types.d.ts +2 -0
  386. package/dist/components/DataTable.js +15 -15
  387. package/dist/components/DatePicker.js +9 -9
  388. package/dist/components/Dialog.js +7 -7
  389. package/dist/components/DirectionProvider.js +1 -1
  390. package/dist/components/DropdownMenu.js +320 -92
  391. package/dist/components/DropdownMenu.js.map +1 -1
  392. package/dist/components/Empty.js +16 -16
  393. package/dist/components/Input.js +9 -9
  394. package/dist/components/Kbd.js +3 -3
  395. package/dist/components/Label.js +12 -12
  396. package/dist/components/MultiEmailInput.js +5 -5
  397. package/dist/components/Pagination.js +4 -4
  398. package/dist/components/Popover.js +6 -6
  399. package/dist/components/Progress.js +2 -2
  400. package/dist/components/RadioGroup.js +5 -5
  401. package/dist/components/Select.js +10 -10
  402. package/dist/components/Sheet.js +7 -7
  403. package/dist/components/Slider.js +5 -5
  404. package/dist/components/Spinner.js +2 -2
  405. package/dist/components/Stepper.js +2 -2
  406. package/dist/components/Switch.js +3 -3
  407. package/dist/components/Tabs.js +4 -4
  408. package/dist/components/Textarea.js +6 -6
  409. package/dist/components/TimePicker.js +8 -8
  410. package/dist/components/Toastr.js +1 -1
  411. package/dist/components/Tooltip.js +3 -3
  412. package/dist/components/TranslationProvider.js +1 -1
  413. package/dist/components/Tree.js +3 -3
  414. package/dist/components/TreeSelect/hooks/useTreeSelectState.d.ts +1 -1
  415. package/dist/components/TreeSelect/hooks/useTreeSelectValue.d.ts +1 -2
  416. package/dist/components/TreeSelect/utils/resolveFieldNames.d.ts +4 -2
  417. package/dist/components/TreeSelect.js +8 -8
  418. package/dist/components/Typography.js +3 -3
  419. package/dist/components/index.js +76 -76
  420. package/dist/dialog--Qm4MZDo.js +150 -0
  421. package/dist/{dialog-DK71SlsS.js.map → dialog--Qm4MZDo.js.map} +1 -1
  422. package/dist/formik/ActionBlock.js +56 -12
  423. package/dist/formik/ActionBlock.js.map +1 -1
  424. package/dist/formik/BlockNavigation.js +150 -79
  425. package/dist/formik/BlockNavigation.js.map +1 -1
  426. package/dist/formik/Button.js +20 -9
  427. package/dist/formik/Button.js.map +1 -1
  428. package/dist/formik/Checkbox.js +33 -15
  429. package/dist/formik/Checkbox.js.map +1 -1
  430. package/dist/formik/Form.js +105 -74
  431. package/dist/formik/Form.js.map +1 -1
  432. package/dist/formik/Input.js +32 -22
  433. package/dist/formik/Input.js.map +1 -1
  434. package/dist/formik/MultiEmailInput.js +23 -13
  435. package/dist/formik/MultiEmailInput.js.map +1 -1
  436. package/dist/formik/RadioGroup.d.ts +1 -1
  437. package/dist/formik/RadioGroup.js +33 -15
  438. package/dist/formik/RadioGroup.js.map +1 -1
  439. package/dist/formik/Select.js +29 -28
  440. package/dist/formik/Select.js.map +1 -1
  441. package/dist/formik/Slider.d.ts +1 -1
  442. package/dist/formik/Slider.js +31 -13
  443. package/dist/formik/Slider.js.map +1 -1
  444. package/dist/formik/Switch.js +28 -13
  445. package/dist/formik/Switch.js.map +1 -1
  446. package/dist/formik/Textarea.js +29 -19
  447. package/dist/formik/Textarea.js.map +1 -1
  448. package/dist/formik/TreeSelect.js +26 -15
  449. package/dist/formik/TreeSelect.js.map +1 -1
  450. package/dist/formik/index.js +26 -26
  451. package/dist/{index-9HvIbmnI.js → index-B7SdntLB.js} +2 -2
  452. package/dist/{index-9HvIbmnI.js.map → index-B7SdntLB.js.map} +1 -1
  453. package/dist/{index-D7Zy7P05.js → index-Bo3AAQJp.js} +2 -2
  454. package/dist/{index-D7Zy7P05.js.map → index-Bo3AAQJp.js.map} +1 -1
  455. package/dist/{index-OI_tWuLx.js → index-DnD7-4_R.js} +2 -2
  456. package/dist/{index-OI_tWuLx.js.map → index-DnD7-4_R.js.map} +1 -1
  457. package/dist/{index-B4_fVWDx.js → index-Jr4soqx3.js} +54 -54
  458. package/dist/index-Jr4soqx3.js.map +1 -0
  459. package/dist/index.js +286 -280
  460. package/dist/index.js.map +1 -1
  461. package/dist/input-1J5oQa1u.js +20 -0
  462. package/dist/{input-GLCCE2kT.js.map → input-1J5oQa1u.js.map} +1 -1
  463. package/dist/input-group-BKkj65Uq.js +140 -0
  464. package/dist/{input-group-C_qKMibX.js.map → input-group-BKkj65Uq.js.map} +1 -1
  465. package/dist/{label-B4qDF3W1.js → label-BgLSVt4u.js} +17 -4
  466. package/dist/{label-B4qDF3W1.js.map → label-BgLSVt4u.js.map} +1 -1
  467. package/dist/primitives/Accordion.js +76 -13
  468. package/dist/primitives/Accordion.js.map +1 -1
  469. package/dist/primitives/Alert.js +65 -20
  470. package/dist/primitives/Alert.js.map +1 -1
  471. package/dist/primitives/AlertDialog.js +176 -41
  472. package/dist/primitives/AlertDialog.js.map +1 -1
  473. package/dist/primitives/AspectRatio.js +5 -3
  474. package/dist/primitives/AspectRatio.js.map +1 -1
  475. package/dist/primitives/Avatar.js +94 -17
  476. package/dist/primitives/Avatar.js.map +1 -1
  477. package/dist/primitives/Badge.js +99 -69
  478. package/dist/primitives/Badge.js.map +1 -1
  479. package/dist/primitives/Breadcrumb.js +103 -21
  480. package/dist/primitives/Breadcrumb.js.map +1 -1
  481. package/dist/primitives/Button.js +5 -5
  482. package/dist/primitives/Button.js.map +1 -1
  483. package/dist/primitives/ButtonGroup.js +65 -21
  484. package/dist/primitives/ButtonGroup.js.map +1 -1
  485. package/dist/primitives/Calendar.js +4 -4
  486. package/dist/primitives/Card.js +88 -16
  487. package/dist/primitives/Card.js.map +1 -1
  488. package/dist/primitives/Carousel.js +187 -85
  489. package/dist/primitives/Carousel.js.map +1 -1
  490. package/dist/primitives/Chart.js +427 -189
  491. package/dist/primitives/Chart.js.map +1 -1
  492. package/dist/primitives/Checkbox.js +28 -4
  493. package/dist/primitives/Checkbox.js.map +1 -1
  494. package/dist/primitives/Collapsible.js +27 -9
  495. package/dist/primitives/Collapsible.js.map +1 -1
  496. package/dist/primitives/Combobox.js +279 -51
  497. package/dist/primitives/Combobox.js.map +1 -1
  498. package/dist/primitives/Command.js +168 -39
  499. package/dist/primitives/Command.js.map +1 -1
  500. package/dist/primitives/ContextMenu.js +217 -48
  501. package/dist/primitives/ContextMenu.js.map +1 -1
  502. package/dist/primitives/Dialog.js +62 -20
  503. package/dist/primitives/Dialog.js.map +1 -1
  504. package/dist/primitives/Drawer.js +116 -31
  505. package/dist/primitives/Drawer.js.map +1 -1
  506. package/dist/primitives/DropdownMenu.js +233 -48
  507. package/dist/primitives/DropdownMenu.js.map +1 -1
  508. package/dist/primitives/Empty.js +85 -23
  509. package/dist/primitives/Empty.js.map +1 -1
  510. package/dist/primitives/Field.js +194 -55
  511. package/dist/primitives/Field.js.map +1 -1
  512. package/dist/primitives/HoverCard.js +31 -10
  513. package/dist/primitives/HoverCard.js.map +1 -1
  514. package/dist/primitives/Input.js +3 -3
  515. package/dist/primitives/Input.js.map +1 -1
  516. package/dist/primitives/InputGroup.js +12 -12
  517. package/dist/primitives/InputGroup.js.map +1 -1
  518. package/dist/primitives/InputOTP.js +70 -13
  519. package/dist/primitives/InputOTP.js.map +1 -1
  520. package/dist/primitives/Item.js +163 -51
  521. package/dist/primitives/Item.js.map +1 -1
  522. package/dist/primitives/Kbd.js +22 -5
  523. package/dist/primitives/Kbd.js.map +1 -1
  524. package/dist/primitives/Label.js +3 -3
  525. package/dist/primitives/Label.js.map +1 -1
  526. package/dist/primitives/Menubar.js +236 -51
  527. package/dist/primitives/Menubar.js.map +1 -1
  528. package/dist/primitives/NativeSelect.js +45 -9
  529. package/dist/primitives/NativeSelect.js.map +1 -1
  530. package/dist/primitives/NavigationMenu.js +149 -27
  531. package/dist/primitives/NavigationMenu.js.map +1 -1
  532. package/dist/primitives/Pagination.js +121 -27
  533. package/dist/primitives/Pagination.js.map +1 -1
  534. package/dist/primitives/Popover.js +68 -21
  535. package/dist/primitives/Popover.js.map +1 -1
  536. package/dist/primitives/Progress.js +26 -4
  537. package/dist/primitives/Progress.js.map +1 -1
  538. package/dist/primitives/RadioGroup.js +36 -9
  539. package/dist/primitives/RadioGroup.js.map +1 -1
  540. package/dist/primitives/Resizable.js +38 -10
  541. package/dist/primitives/Resizable.js.map +1 -1
  542. package/dist/primitives/ScrollArea.js +53 -7
  543. package/dist/primitives/ScrollArea.js.map +1 -1
  544. package/dist/primitives/Select.js +169 -32
  545. package/dist/primitives/Select.js.map +1 -1
  546. package/dist/primitives/Separator.js +3 -3
  547. package/dist/primitives/Separator.js.map +1 -1
  548. package/dist/primitives/Sheet.js +79 -18
  549. package/dist/primitives/Sheet.js.map +1 -1
  550. package/dist/primitives/Sidebar.js +575 -181
  551. package/dist/primitives/Sidebar.js.map +1 -1
  552. package/dist/primitives/Skeleton.js +3 -3
  553. package/dist/primitives/Skeleton.js.map +1 -1
  554. package/dist/primitives/Slider.js +53 -9
  555. package/dist/primitives/Slider.js.map +1 -1
  556. package/dist/primitives/Sonner.js +42 -26
  557. package/dist/primitives/Sonner.js.map +1 -1
  558. package/dist/primitives/Spinner.js +4 -4
  559. package/dist/primitives/Spinner.js.map +1 -1
  560. package/dist/primitives/Switch.js +32 -2
  561. package/dist/primitives/Switch.js.map +1 -1
  562. package/dist/primitives/Table.js +109 -17
  563. package/dist/primitives/Table.js.map +1 -1
  564. package/dist/primitives/Tabs.js +78 -22
  565. package/dist/primitives/Tabs.js.map +1 -1
  566. package/dist/primitives/Textarea.js +3 -3
  567. package/dist/primitives/Textarea.js.map +1 -1
  568. package/dist/primitives/Toggle.js +5 -5
  569. package/dist/primitives/Toggle.js.map +1 -1
  570. package/dist/primitives/ToggleGroup.js +68 -17
  571. package/dist/primitives/ToggleGroup.js.map +1 -1
  572. package/dist/primitives/Tooltip.js +6 -6
  573. package/dist/primitives/Tooltip.js.map +1 -1
  574. package/dist/primitives/index.js +18 -18
  575. package/dist/renderIcon-C6twJSqH.js +26 -0
  576. package/dist/{renderIcon-tlvMyboj.js.map → renderIcon-C6twJSqH.js.map} +1 -1
  577. package/dist/search-B5K8FsJs.js +29 -0
  578. package/dist/search-B5K8FsJs.js.map +1 -0
  579. package/dist/{separator-BbhgePmX.js → separator-ByRsc-y-.js} +21 -4
  580. package/dist/{separator-BbhgePmX.js.map → separator-ByRsc-y-.js.map} +1 -1
  581. package/dist/sheet-BIqq9HBB.js +138 -0
  582. package/dist/{sheet-DVTG6X82.js.map → sheet-BIqq9HBB.js.map} +1 -1
  583. package/dist/skeleton-D9P1ZyiS.js +16 -0
  584. package/dist/skeleton-D9P1ZyiS.js.map +1 -0
  585. package/dist/textarea-B0vzA497.js +19 -0
  586. package/dist/{textarea-BSZwxzjQ.js.map → textarea-B0vzA497.js.map} +1 -1
  587. package/dist/toggle-bESUdU4A.js +75 -0
  588. package/dist/{toggle-2k9K8a5c.js.map → toggle-bESUdU4A.js.map} +1 -1
  589. package/dist/{tooltip-XkHLgxlU.js → tooltip-ChQ9xD1j.js} +44 -10
  590. package/dist/{tooltip-XkHLgxlU.js.map → tooltip-ChQ9xD1j.js.map} +1 -1
  591. package/dist/use-mobile-QbHL72cX.js +19 -0
  592. package/dist/use-mobile-QbHL72cX.js.map +1 -0
  593. package/dist/{utils-DdHUxIdC.js → utils-BJnb9o5c.js} +2 -2
  594. package/dist/{utils-DdHUxIdC.js.map → utils-BJnb9o5c.js.map} +1 -1
  595. package/package.json +4 -2
  596. package/dist/Accordion-Ch9S_qd3.js +0 -22
  597. package/dist/Alert-CayTuRLW.js +0 -65
  598. package/dist/Avatar-D5YGlXVF.js +0 -50
  599. package/dist/Badge-Bj3ajrWB.js +0 -59
  600. package/dist/Button-DSvnInaL.js +0 -93
  601. package/dist/Button-DSvnInaL.js.map +0 -1
  602. package/dist/Checkbox-zCxgcZiC.js +0 -24
  603. package/dist/ColorPicker-DtOvy0Gy.js +0 -278
  604. package/dist/ColorPicker-DtOvy0Gy.js.map +0 -1
  605. package/dist/Dialog-BURSzxaP.js +0 -61
  606. package/dist/Empty-zyL2ZsHX.js +0 -27
  607. package/dist/Input-C1gcv9o2.js +0 -147
  608. package/dist/Kbd-EqbC0bua.js +0 -36
  609. package/dist/Label-DAFESZOG.js +0 -58
  610. package/dist/MultiEmailInput-SCTYovtX.js +0 -139
  611. package/dist/MultiEmailInput-SCTYovtX.js.map +0 -1
  612. package/dist/Pagination-DSc9yXPy.js +0 -61
  613. package/dist/Popover-Dmq-xK_a.js +0 -84
  614. package/dist/Progress-B9NlUm6e.js +0 -13
  615. package/dist/RadioGroup-BNeYQAoT.js +0 -34
  616. package/dist/Select-BgSz0fve.js +0 -563
  617. package/dist/Select-BgSz0fve.js.map +0 -1
  618. package/dist/SelectFieldWrapper-BJzq9aCY.js +0 -23
  619. package/dist/Sheet-B99vGwLH.js +0 -63
  620. package/dist/Slider-BCQXhs0Q.js +0 -25
  621. package/dist/Spinner-C8HSac-2.js +0 -17
  622. package/dist/Stepper-BoGkmkY0.js +0 -29
  623. package/dist/Switch-B83TGxJ_.js +0 -20
  624. package/dist/Tabs-DWfKnl3S.js +0 -38
  625. package/dist/Textarea-C0z50h0N.js +0 -73
  626. package/dist/TimePicker-2vhf5yYK.js +0 -146
  627. package/dist/TimePicker-2vhf5yYK.js.map +0 -1
  628. package/dist/TimePickerPanel-CiF0RExY.js +0 -126
  629. package/dist/Toastr-DYqpSaMd.js +0 -115
  630. package/dist/Tooltip-3ZzQyaDV.js +0 -59
  631. package/dist/Tree-C7r10UY5.js.map +0 -1
  632. package/dist/TreeSelect-BxsQrdjf.js +0 -168
  633. package/dist/TreeSelect-BxsQrdjf.js.map +0 -1
  634. package/dist/Typography-ClPJbLjP.js +0 -76
  635. package/dist/button-D6uWDFCs.js +0 -48
  636. package/dist/cjs/Accordion-BoTckTBI.js +0 -28
  637. package/dist/cjs/Accordion-BoTckTBI.js.map +0 -1
  638. package/dist/cjs/Alert-DnIUdIE3.js +0 -67
  639. package/dist/cjs/Alert-DnIUdIE3.js.map +0 -1
  640. package/dist/cjs/Avatar-CNao5gvP.js +0 -52
  641. package/dist/cjs/Avatar-CNao5gvP.js.map +0 -1
  642. package/dist/cjs/Badge-_-PRf6aq.js +0 -61
  643. package/dist/cjs/Badge-_-PRf6aq.js.map +0 -1
  644. package/dist/cjs/Button-BniJ4TT_.js +0 -95
  645. package/dist/cjs/Button-BniJ4TT_.js.map +0 -1
  646. package/dist/cjs/Calendar-jVF8fRaS.js.map +0 -1
  647. package/dist/cjs/Callout-CVNpjTde.js.map +0 -1
  648. package/dist/cjs/Checkbox-DOlS2oCD.js +0 -26
  649. package/dist/cjs/Checkbox-DOlS2oCD.js.map +0 -1
  650. package/dist/cjs/ColorPicker-Uxgn8U0h.js +0 -280
  651. package/dist/cjs/ColorPicker-Uxgn8U0h.js.map +0 -1
  652. package/dist/cjs/DataTable-Dg0pX7Ng.js.map +0 -1
  653. package/dist/cjs/DatePicker-C0BwxIh8.js.map +0 -1
  654. package/dist/cjs/Dialog-CtI_yWsJ.js +0 -63
  655. package/dist/cjs/Dialog-CtI_yWsJ.js.map +0 -1
  656. package/dist/cjs/DirectionProvider-Bec-6U8p.js.map +0 -1
  657. package/dist/cjs/Empty-CfPLWsLK.js +0 -29
  658. package/dist/cjs/Empty-CfPLWsLK.js.map +0 -1
  659. package/dist/cjs/Input-pkugjUb0.js +0 -149
  660. package/dist/cjs/Input-pkugjUb0.js.map +0 -1
  661. package/dist/cjs/Kbd-DHirsI--.js +0 -38
  662. package/dist/cjs/Kbd-DHirsI--.js.map +0 -1
  663. package/dist/cjs/Label-B7FbeB5i.js +0 -60
  664. package/dist/cjs/Label-B7FbeB5i.js.map +0 -1
  665. package/dist/cjs/MultiEmailInput-l0_YVjbp.js +0 -141
  666. package/dist/cjs/MultiEmailInput-l0_YVjbp.js.map +0 -1
  667. package/dist/cjs/Pagination-Byzt9Kmj.js +0 -63
  668. package/dist/cjs/Pagination-Byzt9Kmj.js.map +0 -1
  669. package/dist/cjs/Popover-DRT0YYzK.js +0 -90
  670. package/dist/cjs/Popover-DRT0YYzK.js.map +0 -1
  671. package/dist/cjs/Progress-DoCxZ_ZH.js +0 -15
  672. package/dist/cjs/Progress-DoCxZ_ZH.js.map +0 -1
  673. package/dist/cjs/RadioGroup-1RAoe38m.js +0 -36
  674. package/dist/cjs/RadioGroup-1RAoe38m.js.map +0 -1
  675. package/dist/cjs/Select-nifsTqzo.js +0 -569
  676. package/dist/cjs/Select-nifsTqzo.js.map +0 -1
  677. package/dist/cjs/SelectFieldWrapper-DEA--2wj.js +0 -25
  678. package/dist/cjs/SelectFieldWrapper-DEA--2wj.js.map +0 -1
  679. package/dist/cjs/Sheet-BTZe2VQk.js +0 -65
  680. package/dist/cjs/Sheet-BTZe2VQk.js.map +0 -1
  681. package/dist/cjs/Slider-jNUS9vt8.js +0 -27
  682. package/dist/cjs/Slider-jNUS9vt8.js.map +0 -1
  683. package/dist/cjs/Spinner-DQutDMQq.js +0 -19
  684. package/dist/cjs/Spinner-DQutDMQq.js.map +0 -1
  685. package/dist/cjs/Stepper-DCoLl2ZS.js +0 -35
  686. package/dist/cjs/Stepper-DCoLl2ZS.js.map +0 -1
  687. package/dist/cjs/Switch-CFf8DtB_.js +0 -22
  688. package/dist/cjs/Switch-CFf8DtB_.js.map +0 -1
  689. package/dist/cjs/Tabs-D2247rd7.js +0 -40
  690. package/dist/cjs/Tabs-D2247rd7.js.map +0 -1
  691. package/dist/cjs/Textarea-BfdlAJ59.js +0 -75
  692. package/dist/cjs/Textarea-BfdlAJ59.js.map +0 -1
  693. package/dist/cjs/TimePicker-DReL0GSv.js +0 -148
  694. package/dist/cjs/TimePicker-DReL0GSv.js.map +0 -1
  695. package/dist/cjs/TimePickerPanel-DGNr97cj.js +0 -132
  696. package/dist/cjs/TimePickerPanel-DGNr97cj.js.map +0 -1
  697. package/dist/cjs/Toastr-BGp7-kmf.js +0 -117
  698. package/dist/cjs/Toastr-BGp7-kmf.js.map +0 -1
  699. package/dist/cjs/Tooltip-criVUtIg.js +0 -65
  700. package/dist/cjs/Tooltip-criVUtIg.js.map +0 -1
  701. package/dist/cjs/TranslationProvider-DBZHXmzX.js.map +0 -1
  702. package/dist/cjs/Tree-BPd0DuLh.js.map +0 -1
  703. package/dist/cjs/TreeSelect-BoffO6qD.js +0 -170
  704. package/dist/cjs/TreeSelect-BoffO6qD.js.map +0 -1
  705. package/dist/cjs/Typography-DaZ0HTha.js +0 -79
  706. package/dist/cjs/Typography-DaZ0HTha.js.map +0 -1
  707. package/dist/cjs/button--P7-oIJb.js +0 -71
  708. package/dist/cjs/button--P7-oIJb.js.map +0 -1
  709. package/dist/cjs/dialog-CWSpiRjk.js +0 -52
  710. package/dist/cjs/dialog-CWSpiRjk.js.map +0 -1
  711. package/dist/cjs/index-ChSOMM8b.js.map +0 -1
  712. package/dist/cjs/input-CgKPISj_.js +0 -11
  713. package/dist/cjs/input-CgKPISj_.js.map +0 -1
  714. package/dist/cjs/input-group-CFZl_aQS.js +0 -66
  715. package/dist/cjs/input-group-CFZl_aQS.js.map +0 -1
  716. package/dist/cjs/label-Bdc9ytTI.js.map +0 -1
  717. package/dist/cjs/renderIcon-fLF3odqg.js +0 -26
  718. package/dist/cjs/renderIcon-fLF3odqg.js.map +0 -1
  719. package/dist/cjs/search-CfYUGi4v.js +0 -37
  720. package/dist/cjs/search-CfYUGi4v.js.map +0 -1
  721. package/dist/cjs/separator-CPy2gyg1.js.map +0 -1
  722. package/dist/cjs/sheet-BZt84aab.js +0 -50
  723. package/dist/cjs/sheet-BZt84aab.js.map +0 -1
  724. package/dist/cjs/skeleton-DffZ8bV7.js +0 -11
  725. package/dist/cjs/skeleton-DffZ8bV7.js.map +0 -1
  726. package/dist/cjs/textarea-CZSSY75H.js +0 -11
  727. package/dist/cjs/textarea-CZSSY75H.js.map +0 -1
  728. package/dist/cjs/toggle-CaqzT8dI.js.map +0 -1
  729. package/dist/cjs/tooltip-C-568jEL.js.map +0 -1
  730. package/dist/cjs/use-mobile-B-UYxtqX.js +0 -41
  731. package/dist/cjs/use-mobile-B-UYxtqX.js.map +0 -1
  732. package/dist/cjs/utils-CTr7wn5d.js.map +0 -1
  733. package/dist/dialog-DK71SlsS.js +0 -41
  734. package/dist/index-B4_fVWDx.js.map +0 -1
  735. package/dist/input-GLCCE2kT.js +0 -9
  736. package/dist/input-group-C_qKMibX.js +0 -59
  737. package/dist/renderIcon-tlvMyboj.js +0 -20
  738. package/dist/search-BK7Ozh5_.js +0 -33
  739. package/dist/search-BK7Ozh5_.js.map +0 -1
  740. package/dist/sheet-DVTG6X82.js +0 -41
  741. package/dist/skeleton-AR83txPr.js +0 -9
  742. package/dist/skeleton-AR83txPr.js.map +0 -1
  743. package/dist/textarea-BSZwxzjQ.js +0 -9
  744. package/dist/toggle-2k9K8a5c.js +0 -60
  745. package/dist/use-mobile-IRjN_mlT.js +0 -19
  746. package/dist/use-mobile-IRjN_mlT.js.map +0 -1
@@ -3,15 +3,15 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var primitives_Table = require('./primitives/Table.js');
6
- var utils = require('./utils-CTr7wn5d.js');
6
+ var utils = require('./utils-BhM0B89p.js');
7
7
  var reactI18next = require('react-i18next');
8
8
  var primitives_Checkbox = require('./primitives/Checkbox.js');
9
9
  var primitives_Spinner = require('./primitives/Spinner.js');
10
10
  var createLucideIcon = require('./createLucideIcon-D0tRgV6l.js');
11
11
  var primitives_Button = require('./primitives/Button.js');
12
12
  var primitives_Pagination = require('./primitives/Pagination.js');
13
- var Button = require('./Button-BniJ4TT_.js');
14
13
  var primitives_DropdownMenu = require('./primitives/DropdownMenu.js');
14
+ var Button = require('./Button-BlNtYr1w.js');
15
15
  var ellipsis = require('./ellipsis-4aubOI2n.js');
16
16
  var check = require('./check-BQgcDXys.js');
17
17
 
@@ -3166,684 +3166,1076 @@ function useReactTable(options) {
3166
3166
 
3167
3167
  const DEFAULT_PAGE_SIZE = 30;
3168
3168
  const URL_SORT_PARAMS = {
3169
- SORT_BY: "sort_by",
3170
- ORDER_BY: "order_by",
3169
+ SORT_BY: "sort_by",
3170
+ ORDER_BY: "order_by"
3171
3171
  };
3172
3172
  const URL_PAGE_PARAM = "page";
3173
3173
  const SORT_DIRECTIONS = {
3174
- ASC: "asc",
3175
- DESC: "desc",
3174
+ ASC: "asc",
3175
+ DESC: "desc"
3176
3176
  };
3177
3177
  const STORAGE_KEY_PREFIX = "NEETOUI";
3178
3178
  const STORAGE_KEY_SUFFIX = "FIXED_COLUMNS";
3179
3179
 
3180
3180
  const getSearchParams = () => new URLSearchParams(window.location.search);
3181
3181
  const readSortFromURL = () => {
3182
- const params = getSearchParams();
3183
- const sortBy = params.get(URL_SORT_PARAMS.SORT_BY);
3184
- const orderBy = params.get(URL_SORT_PARAMS.ORDER_BY);
3185
- if (!sortBy)
3186
- return [];
3187
- return [{ id: sortBy, desc: orderBy === SORT_DIRECTIONS.DESC }];
3182
+ const params = getSearchParams();
3183
+ const sortBy = params.get(URL_SORT_PARAMS.SORT_BY);
3184
+ const orderBy = params.get(URL_SORT_PARAMS.ORDER_BY);
3185
+ if (!sortBy) return [];
3186
+ return [{ id: sortBy, desc: orderBy === SORT_DIRECTIONS.DESC }];
3188
3187
  };
3189
3188
  const writeSortToURL = (sorting) => {
3190
- const url = new URL(window.location.href);
3191
- if (sorting.length === 0) {
3192
- url.searchParams.delete(URL_SORT_PARAMS.SORT_BY);
3193
- url.searchParams.delete(URL_SORT_PARAMS.ORDER_BY);
3194
- }
3195
- else {
3196
- const { id, desc } = sorting[0];
3197
- url.searchParams.set(URL_SORT_PARAMS.SORT_BY, id);
3198
- url.searchParams.set(URL_SORT_PARAMS.ORDER_BY, desc ? SORT_DIRECTIONS.DESC : SORT_DIRECTIONS.ASC);
3199
- }
3200
- window.history.pushState({}, "", url.toString());
3189
+ const url = new URL(window.location.href);
3190
+ if (sorting.length === 0) {
3191
+ url.searchParams.delete(URL_SORT_PARAMS.SORT_BY);
3192
+ url.searchParams.delete(URL_SORT_PARAMS.ORDER_BY);
3193
+ } else {
3194
+ const { id, desc } = sorting[0];
3195
+ url.searchParams.set(URL_SORT_PARAMS.SORT_BY, id);
3196
+ url.searchParams.set(
3197
+ URL_SORT_PARAMS.ORDER_BY,
3198
+ desc ? SORT_DIRECTIONS.DESC : SORT_DIRECTIONS.ASC
3199
+ );
3200
+ }
3201
+ window.history.pushState({}, "", url.toString());
3201
3202
  };
3202
3203
  const readPageFromURL = () => {
3203
- const params = new URLSearchParams(window.location.search);
3204
- const page = params.get(URL_PAGE_PARAM);
3205
- return page ? Math.max(1, parseInt(page, 10)) : 1;
3204
+ const params = new URLSearchParams(window.location.search);
3205
+ const page = params.get(URL_PAGE_PARAM);
3206
+ return page ? Math.max(1, parseInt(page, 10)) : 1;
3206
3207
  };
3207
3208
  const writePageToURL = (page) => {
3208
- const url = new URL(window.location.href);
3209
- if (page <= 1) {
3210
- url.searchParams.delete(URL_PAGE_PARAM);
3211
- }
3212
- else {
3213
- url.searchParams.set(URL_PAGE_PARAM, String(page));
3214
- }
3215
- window.history.pushState({}, "", url.toString());
3209
+ const url = new URL(window.location.href);
3210
+ if (page <= 1) {
3211
+ url.searchParams.delete(URL_PAGE_PARAM);
3212
+ } else {
3213
+ url.searchParams.set(URL_PAGE_PARAM, String(page));
3214
+ }
3215
+ window.history.pushState({}, "", url.toString());
3216
3216
  };
3217
- const keysToRowSelection = (keys) => Object.fromEntries(keys.map(key => [key, true]));
3218
- const rowSelectionToKeys = (selection) => Object.keys(selection).filter(key => selection[key]);
3217
+ const keysToRowSelection = (keys) => Object.fromEntries(keys.map((key) => [key, true]));
3218
+ const rowSelectionToKeys = (selection) => Object.keys(selection).filter((key) => selection[key]);
3219
3219
  const hashPathname = () => {
3220
- const pathname = decodeURIComponent(window.location.pathname).replace(/^\//, "");
3221
- let hash = 0;
3222
- for (let i = 0; i < pathname.length; i++) {
3223
- const char = pathname.charCodeAt(i);
3224
- hash = (hash << 5) - hash + char;
3225
- hash = hash & hash;
3226
- }
3227
- return Math.abs(hash).toString(16).toUpperCase();
3220
+ const pathname = decodeURIComponent(window.location.pathname).replace(
3221
+ /^\//,
3222
+ ""
3223
+ );
3224
+ let hash = 0;
3225
+ for (let i = 0; i < pathname.length; i++) {
3226
+ const char = pathname.charCodeAt(i);
3227
+ hash = (hash << 5) - hash + char;
3228
+ hash = hash & hash;
3229
+ }
3230
+ return Math.abs(hash).toString(16).toUpperCase();
3228
3231
  };
3229
3232
  const getStorageKey = (prefix) => {
3230
- const resolvedPrefix = prefix || hashPathname();
3231
- return `${STORAGE_KEY_PREFIX}-${resolvedPrefix}-${STORAGE_KEY_SUFFIX}`;
3233
+ const resolvedPrefix = prefix || hashPathname();
3234
+ return `${STORAGE_KEY_PREFIX}-${resolvedPrefix}-${STORAGE_KEY_SUFFIX}`;
3232
3235
  };
3233
3236
  const readFromLocalStorage = (key) => {
3234
- try {
3235
- const stored = localStorage.getItem(key);
3236
- return stored ? JSON.parse(stored) : [];
3237
- }
3238
- catch {
3239
- return [];
3240
- }
3237
+ try {
3238
+ const stored = localStorage.getItem(key);
3239
+ return stored ? JSON.parse(stored) : [];
3240
+ } catch {
3241
+ return [];
3242
+ }
3241
3243
  };
3242
3244
  const writeToLocalStorage = (key, value) => {
3243
- try {
3244
- localStorage.setItem(key, JSON.stringify(value));
3245
+ try {
3246
+ localStorage.setItem(key, JSON.stringify(value));
3247
+ } catch {
3248
+ }
3249
+ };
3250
+ const getPageNumbers = (current, total) => {
3251
+ if (total <= 7) {
3252
+ return Array.from({ length: total }, (_, i) => i + 1);
3253
+ }
3254
+ const pages = [1];
3255
+ if (current > 3) pages.push("ellipsis");
3256
+ const start = Math.max(2, current - 1);
3257
+ const end = Math.min(total - 1, current + 1);
3258
+ for (let i = start; i <= end; i++) {
3259
+ pages.push(i);
3260
+ }
3261
+ if (current < total - 2) pages.push("ellipsis");
3262
+ pages.push(total);
3263
+ return pages;
3264
+ };
3265
+
3266
+ const useTableSort = ({
3267
+ sorting: controlledSorting,
3268
+ onSortingChange: controlledOnSortingChange,
3269
+ onSort,
3270
+ enableURLSort = true
3271
+ }) => {
3272
+ const isControlled = controlledSorting !== void 0;
3273
+ const [internalSorting, setInternalSorting] = React.useState(
3274
+ () => enableURLSort ? readSortFromURL() : []
3275
+ );
3276
+ const sorting = isControlled ? controlledSorting : internalSorting;
3277
+ const onSortingChange = React.useCallback(
3278
+ (updaterOrValue) => {
3279
+ const newSorting = typeof updaterOrValue === "function" ? updaterOrValue(sorting) : updaterOrValue;
3280
+ if (!isControlled) {
3281
+ setInternalSorting(newSorting);
3282
+ }
3283
+ controlledOnSortingChange?.(updaterOrValue);
3284
+ if (onSort) {
3285
+ onSort(
3286
+ newSorting.length > 0 ? {
3287
+ field: newSorting[0].id,
3288
+ order: newSorting[0].desc ? "descend" : "ascend"
3289
+ } : null
3290
+ );
3291
+ }
3292
+ if (enableURLSort) {
3293
+ writeSortToURL(newSorting);
3294
+ }
3295
+ },
3296
+ [sorting, isControlled, controlledOnSortingChange, onSort, enableURLSort]
3297
+ );
3298
+ React.useEffect(() => {
3299
+ if (enableURLSort && !isControlled) {
3300
+ const urlSorting = readSortFromURL();
3301
+ setInternalSorting(urlSorting);
3245
3302
  }
3246
- catch {
3247
- // Silently fail if storage is full
3303
+ }, [enableURLSort, isControlled]);
3304
+ return { sorting, onSortingChange };
3305
+ };
3306
+
3307
+ const useTablePagination = ({
3308
+ totalCount = 0,
3309
+ pageSize = DEFAULT_PAGE_SIZE,
3310
+ currentPage: controlledPage,
3311
+ onPageChange: controlledOnPageChange,
3312
+ enableURLPagination = true
3313
+ }) => {
3314
+ const isControlled = controlledPage !== void 0;
3315
+ const [internalPage, setInternalPage] = React.useState(
3316
+ () => enableURLPagination ? readPageFromURL() : 1
3317
+ );
3318
+ const currentPage = isControlled ? controlledPage : internalPage;
3319
+ const pageCount = Math.max(1, Math.ceil(totalCount / pageSize));
3320
+ const onPageChange = React.useCallback(
3321
+ (page) => {
3322
+ const clampedPage = Math.min(Math.max(1, page), pageCount);
3323
+ if (!isControlled) {
3324
+ setInternalPage(clampedPage);
3325
+ }
3326
+ controlledOnPageChange?.(clampedPage);
3327
+ if (enableURLPagination) {
3328
+ writePageToURL(clampedPage);
3329
+ }
3330
+ },
3331
+ [pageCount, isControlled, controlledOnPageChange, enableURLPagination]
3332
+ );
3333
+ React.useEffect(() => {
3334
+ if (currentPage > pageCount && pageCount > 0) {
3335
+ onPageChange(pageCount);
3248
3336
  }
3337
+ }, [currentPage, pageCount, onPageChange]);
3338
+ const paginationState = React.useMemo(
3339
+ () => ({
3340
+ pageIndex: currentPage - 1,
3341
+ pageSize
3342
+ }),
3343
+ [currentPage, pageSize]
3344
+ );
3345
+ return {
3346
+ currentPage,
3347
+ pageCount,
3348
+ pageSize,
3349
+ paginationState,
3350
+ onPageChange
3351
+ };
3249
3352
  };
3250
- const getPageNumbers = (current, total) => {
3251
- if (total <= 7) {
3252
- return Array.from({ length: total }, (_, i) => i + 1);
3353
+
3354
+ const SelectionCheckbox = ({
3355
+ checked,
3356
+ onCheckedChange,
3357
+ ariaLabel
3358
+ }) => {
3359
+ const { t } = reactI18next.useTranslation();
3360
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
3361
+ primitives_Checkbox.Checkbox,
3362
+ {
3363
+ checked,
3364
+ onCheckedChange,
3365
+ "aria-label": ariaLabel ?? t("neetoatoms.dataTable.selectRow", "Select row")
3253
3366
  }
3254
- const pages = [1];
3255
- if (current > 3)
3256
- pages.push("ellipsis");
3257
- const start = Math.max(2, current - 1);
3258
- const end = Math.min(total - 1, current + 1);
3259
- for (let i = start; i <= end; i++) {
3260
- pages.push(i);
3367
+ ) });
3368
+ };
3369
+
3370
+ const useTableSelection = ({
3371
+ enableRowSelection,
3372
+ selectedRowKeys,
3373
+ onRowSelect,
3374
+ data,
3375
+ getRowId
3376
+ }) => {
3377
+ const isControlled = selectedRowKeys !== void 0;
3378
+ const isFirstRender = React.useRef(true);
3379
+ const [internalSelection, setInternalSelection] = React.useState(
3380
+ () => isControlled ? keysToRowSelection(selectedRowKeys) : {}
3381
+ );
3382
+ const rowSelection = isControlled ? keysToRowSelection(selectedRowKeys) : internalSelection;
3383
+ React.useEffect(() => {
3384
+ if (isControlled) {
3385
+ setInternalSelection(keysToRowSelection(selectedRowKeys));
3261
3386
  }
3262
- if (current < total - 2)
3263
- pages.push("ellipsis");
3264
- pages.push(total);
3265
- return pages;
3266
- };
3267
-
3268
- const useTableSort = ({ sorting: controlledSorting, onSortingChange: controlledOnSortingChange, enableURLSort = true, }) => {
3269
- const isControlled = controlledSorting !== undefined;
3270
- const [internalSorting, setInternalSorting] = React.useState(() => enableURLSort ? readSortFromURL() : []);
3271
- const sorting = isControlled ? controlledSorting : internalSorting;
3272
- const onSortingChange = React.useCallback(updaterOrValue => {
3273
- const newSorting = typeof updaterOrValue === "function"
3274
- ? updaterOrValue(sorting)
3275
- : updaterOrValue;
3276
- if (!isControlled) {
3277
- setInternalSorting(newSorting);
3278
- }
3279
- controlledOnSortingChange?.(updaterOrValue);
3280
- if (enableURLSort) {
3281
- writeSortToURL(newSorting);
3282
- }
3283
- }, [sorting, isControlled, controlledOnSortingChange, enableURLSort]);
3284
- React.useEffect(() => {
3285
- if (enableURLSort && !isControlled) {
3286
- const urlSorting = readSortFromURL();
3287
- setInternalSorting(urlSorting);
3288
- }
3289
- }, [enableURLSort, isControlled]);
3290
- return { sorting, onSortingChange };
3291
- };
3292
-
3293
- const useTablePagination = ({ totalCount = 0, pageSize = DEFAULT_PAGE_SIZE, currentPage: controlledPage, onPageChange: controlledOnPageChange, enableURLPagination = true, }) => {
3294
- const isControlled = controlledPage !== undefined;
3295
- const [internalPage, setInternalPage] = React.useState(() => enableURLPagination ? readPageFromURL() : 1);
3296
- const currentPage = isControlled ? controlledPage : internalPage;
3297
- const pageCount = Math.max(1, Math.ceil(totalCount / pageSize));
3298
- const onPageChange = React.useCallback((page) => {
3299
- const clampedPage = Math.min(Math.max(1, page), pageCount);
3300
- if (!isControlled) {
3301
- setInternalPage(clampedPage);
3302
- }
3303
- controlledOnPageChange?.(clampedPage);
3304
- if (enableURLPagination) {
3305
- writePageToURL(clampedPage);
3306
- }
3307
- }, [pageCount, isControlled, controlledOnPageChange, enableURLPagination]);
3308
- React.useEffect(() => {
3309
- if (currentPage > pageCount && pageCount > 0) {
3310
- onPageChange(pageCount);
3311
- }
3312
- }, [currentPage, pageCount, onPageChange]);
3313
- const paginationState = React.useMemo(() => ({
3314
- pageIndex: currentPage - 1,
3315
- pageSize,
3316
- }), [currentPage, pageSize]);
3387
+ }, [isControlled, selectedRowKeys]);
3388
+ const onRowSelectionChange = React.useCallback(
3389
+ (updaterOrValue) => {
3390
+ const newSelection = typeof updaterOrValue === "function" ? updaterOrValue(rowSelection) : updaterOrValue;
3391
+ if (!isControlled) {
3392
+ setInternalSelection(newSelection);
3393
+ }
3394
+ if (onRowSelect) {
3395
+ const keys = rowSelectionToKeys(newSelection);
3396
+ const selectedRows = data.filter((row) => keys.includes(getRowId(row)));
3397
+ onRowSelect(keys, selectedRows);
3398
+ }
3399
+ },
3400
+ [rowSelection, isControlled, onRowSelect, data, getRowId]
3401
+ );
3402
+ React.useEffect(() => {
3403
+ if (isFirstRender.current) {
3404
+ isFirstRender.current = false;
3405
+ return;
3406
+ }
3407
+ }, []);
3408
+ const selectionColumn = React.useMemo(() => {
3409
+ if (!enableRowSelection) return null;
3317
3410
  return {
3318
- currentPage,
3319
- pageCount,
3320
- pageSize,
3321
- paginationState,
3322
- onPageChange,
3323
- };
3411
+ id: "_selection",
3412
+ header: ({ table }) => SelectionCheckbox({
3413
+ checked: table.getIsAllPageRowsSelected() || table.getIsSomePageRowsSelected() && "indeterminate",
3414
+ onCheckedChange: (value) => table.toggleAllPageRowsSelected(!!value),
3415
+ ariaLabel: "Select all"
3416
+ }),
3417
+ cell: ({ row }) => SelectionCheckbox({
3418
+ checked: row.getIsSelected(),
3419
+ onCheckedChange: (value) => row.toggleSelected(!!value),
3420
+ ariaLabel: "Select row"
3421
+ }),
3422
+ size: 56,
3423
+ enableSorting: false,
3424
+ enableResizing: false
3425
+ };
3426
+ }, [enableRowSelection]);
3427
+ return {
3428
+ rowSelection,
3429
+ onRowSelectionChange,
3430
+ selectionColumn,
3431
+ enableRowSelection: typeof enableRowSelection === "function" ? enableRowSelection : !!enableRowSelection
3432
+ };
3324
3433
  };
3325
3434
 
3326
- const SelectionCheckbox = ({ checked, onCheckedChange, ariaLabel, }) => {
3327
- const { t } = reactI18next.useTranslation();
3328
- return (jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: jsxRuntime.jsx(primitives_Checkbox.Checkbox, { checked: checked, onCheckedChange: onCheckedChange, "aria-label": ariaLabel ?? t("neetoatoms.dataTable.selectRow", "Select row") }) }));
3435
+ const useColumnPinning = ({
3436
+ enabled = true,
3437
+ columnPinning: controlledPinning,
3438
+ onColumnPinningChange: controlledOnChange,
3439
+ localStorageKeyPrefix,
3440
+ initialPinnedColumns = []
3441
+ }) => {
3442
+ const isControlled = controlledPinning !== void 0;
3443
+ const storageKey = getStorageKey(localStorageKeyPrefix);
3444
+ const [internalPinning, setInternalPinning] = React.useState(
3445
+ () => {
3446
+ if (!enabled) return { left: [], right: [] };
3447
+ const stored = readFromLocalStorage(storageKey);
3448
+ const left = stored.length > 0 ? stored : initialPinnedColumns;
3449
+ return { left, right: [] };
3450
+ }
3451
+ );
3452
+ const pinning = isControlled ? controlledPinning : internalPinning;
3453
+ const onColumnPinningChange = React.useCallback(
3454
+ (updaterOrValue) => {
3455
+ const newPinning = typeof updaterOrValue === "function" ? updaterOrValue(pinning) : updaterOrValue;
3456
+ if (!isControlled) {
3457
+ setInternalPinning(newPinning);
3458
+ }
3459
+ controlledOnChange?.(updaterOrValue);
3460
+ if (enabled) {
3461
+ writeToLocalStorage(storageKey, newPinning.left ?? []);
3462
+ }
3463
+ },
3464
+ [pinning, isControlled, controlledOnChange, enabled, storageKey]
3465
+ );
3466
+ const toggleColumnPin = React.useCallback(
3467
+ (columnId) => {
3468
+ onColumnPinningChange((old) => {
3469
+ const leftPins = old.left ?? [];
3470
+ const isPinned = leftPins.includes(columnId);
3471
+ const newLeft = isPinned ? leftPins.filter((id) => id !== columnId) : [...leftPins, columnId];
3472
+ return { ...old, left: newLeft };
3473
+ });
3474
+ },
3475
+ [onColumnPinningChange]
3476
+ );
3477
+ const isColumnPinned = React.useCallback(
3478
+ (columnId) => {
3479
+ return (pinning.left ?? []).includes(columnId);
3480
+ },
3481
+ [pinning]
3482
+ );
3483
+ React.useEffect(() => {
3484
+ if (!enabled || isControlled) return;
3485
+ const stored = readFromLocalStorage(storageKey);
3486
+ if (stored.length > 0) {
3487
+ setInternalPinning({ left: stored, right: [] });
3488
+ }
3489
+ }, [enabled, isControlled, storageKey]);
3490
+ return {
3491
+ columnPinning: enabled ? pinning : { left: [], right: [] },
3492
+ onColumnPinningChange,
3493
+ toggleColumnPin,
3494
+ isColumnPinned
3495
+ };
3329
3496
  };
3330
3497
 
3331
- const useTableSelection = ({ enableRowSelection, selectedRowKeys, onRowSelect, data, getRowId, }) => {
3332
- const isControlled = selectedRowKeys !== undefined;
3333
- const isFirstRender = React.useRef(true);
3334
- const [internalSelection, setInternalSelection] = React.useState(() => (isControlled ? keysToRowSelection(selectedRowKeys) : {}));
3335
- const rowSelection = isControlled
3336
- ? keysToRowSelection(selectedRowKeys)
3337
- : internalSelection;
3338
- React.useEffect(() => {
3339
- if (isControlled) {
3340
- setInternalSelection(keysToRowSelection(selectedRowKeys));
3341
- }
3342
- }, [isControlled, selectedRowKeys]);
3343
- const onRowSelectionChange = React.useCallback((updaterOrValue) => {
3344
- const newSelection = typeof updaterOrValue === "function"
3345
- ? updaterOrValue(rowSelection)
3346
- : updaterOrValue;
3347
- if (!isControlled) {
3348
- setInternalSelection(newSelection);
3349
- }
3350
- if (onRowSelect) {
3351
- const keys = rowSelectionToKeys(newSelection);
3352
- const selectedRows = data.filter(row => keys.includes(getRowId(row)));
3353
- onRowSelect(keys, selectedRows);
3354
- }
3355
- }, [rowSelection, isControlled, onRowSelect, data, getRowId]);
3356
- React.useEffect(() => {
3357
- if (isFirstRender.current) {
3358
- isFirstRender.current = false;
3359
- return;
3360
- }
3361
- }, []);
3362
- const selectionColumn = React.useMemo(() => {
3363
- if (!enableRowSelection)
3364
- return null;
3365
- return {
3366
- id: "_selection",
3367
- header: ({ table }) => SelectionCheckbox({
3368
- checked: table.getIsAllPageRowsSelected() ||
3369
- (table.getIsSomePageRowsSelected() && "indeterminate"),
3370
- onCheckedChange: value => table.toggleAllPageRowsSelected(!!value),
3371
- ariaLabel: "Select all",
3372
- }),
3373
- cell: ({ row }) => SelectionCheckbox({
3374
- checked: row.getIsSelected(),
3375
- onCheckedChange: value => row.toggleSelected(!!value),
3376
- ariaLabel: "Select row",
3377
- }),
3378
- size: 56,
3379
- enableSorting: false,
3380
- enableResizing: false,
3381
- };
3382
- }, [enableRowSelection]);
3383
- return {
3384
- rowSelection,
3385
- onRowSelectionChange,
3386
- selectionColumn,
3387
- enableRowSelection: typeof enableRowSelection === "function"
3388
- ? enableRowSelection
3389
- : !!enableRowSelection,
3390
- };
3391
- };
3392
-
3393
- const useColumnPinning = ({ enabled = true, columnPinning: controlledPinning, onColumnPinningChange: controlledOnChange, localStorageKeyPrefix, initialPinnedColumns = [], }) => {
3394
- const isControlled = controlledPinning !== undefined;
3395
- const storageKey = getStorageKey(localStorageKeyPrefix);
3396
- const [internalPinning, setInternalPinning] = React.useState(() => {
3397
- if (!enabled)
3398
- return { left: [], right: [] };
3399
- const stored = readFromLocalStorage(storageKey);
3400
- const left = stored.length > 0 ? stored : initialPinnedColumns;
3401
- return { left, right: [] };
3402
- });
3403
- const pinning = isControlled ? controlledPinning : internalPinning;
3404
- const onColumnPinningChange = React.useCallback(updaterOrValue => {
3405
- const newPinning = typeof updaterOrValue === "function"
3406
- ? updaterOrValue(pinning)
3407
- : updaterOrValue;
3408
- if (!isControlled) {
3409
- setInternalPinning(newPinning);
3410
- }
3411
- controlledOnChange?.(updaterOrValue);
3412
- if (enabled) {
3413
- writeToLocalStorage(storageKey, newPinning.left ?? []);
3414
- }
3415
- }, [pinning, isControlled, controlledOnChange, enabled, storageKey]);
3416
- const toggleColumnPin = React.useCallback((columnId) => {
3417
- onColumnPinningChange(old => {
3418
- const leftPins = old.left ?? [];
3419
- const isPinned = leftPins.includes(columnId);
3420
- const newLeft = isPinned
3421
- ? leftPins.filter(id => id !== columnId)
3422
- : [...leftPins, columnId];
3423
- return { ...old, left: newLeft };
3424
- });
3425
- }, [onColumnPinningChange]);
3426
- const isColumnPinned = React.useCallback((columnId) => {
3427
- return (pinning.left ?? []).includes(columnId);
3428
- }, [pinning]);
3429
- React.useEffect(() => {
3430
- if (!enabled || isControlled)
3431
- return;
3432
- const stored = readFromLocalStorage(storageKey);
3433
- if (stored.length > 0) {
3434
- setInternalPinning({ left: stored, right: [] });
3435
- }
3436
- }, [enabled, isControlled, storageKey]);
3437
- return {
3438
- columnPinning: enabled ? pinning : { left: [], right: [] },
3439
- onColumnPinningChange,
3440
- toggleColumnPin,
3441
- isColumnPinned,
3442
- };
3443
- };
3444
-
3445
- const useColumnVisibility = ({ columnVisibility: controlledVisibility, onColumnVisibilityChange: controlledOnChange, onColumnHide, }) => {
3446
- const isControlled = controlledVisibility !== undefined;
3447
- const [internalVisibility, setInternalVisibility] = React.useState({});
3448
- const visibility = isControlled ? controlledVisibility : internalVisibility;
3449
- const onColumnVisibilityChange = React.useCallback(updaterOrValue => {
3450
- const newVisibility = typeof updaterOrValue === "function"
3451
- ? updaterOrValue(visibility)
3452
- : updaterOrValue;
3453
- if (!isControlled) {
3454
- setInternalVisibility(newVisibility);
3455
- }
3456
- controlledOnChange?.(updaterOrValue);
3457
- }, [visibility, isControlled, controlledOnChange]);
3458
- const hideColumn = React.useCallback((columnId) => {
3459
- if (onColumnHide) {
3460
- onColumnHide(columnId);
3461
- }
3462
- else {
3463
- onColumnVisibilityChange(old => ({ ...old, [columnId]: false }));
3464
- }
3465
- }, [onColumnVisibilityChange, onColumnHide]);
3466
- const showColumn = React.useCallback((columnId) => {
3467
- onColumnVisibilityChange(old => ({ ...old, [columnId]: true }));
3468
- }, [onColumnVisibilityChange]);
3469
- const toggleColumnVisibility = React.useCallback((columnId) => {
3470
- const isVisible = visibility[columnId] !== false;
3471
- if (isVisible) {
3472
- hideColumn(columnId);
3473
- }
3474
- else {
3475
- showColumn(columnId);
3476
- }
3477
- }, [visibility, hideColumn, showColumn]);
3478
- return {
3479
- columnVisibility: visibility,
3480
- onColumnVisibilityChange,
3481
- hideColumn,
3482
- showColumn,
3483
- toggleColumnVisibility,
3484
- };
3485
- };
3486
-
3487
- const useColumnOrdering = ({ enabled = false, columnOrder: controlledOrder, onColumnOrderChange: controlledOnChange, }) => {
3488
- const isControlled = controlledOrder !== undefined;
3489
- const [internalOrder, setInternalOrder] = React.useState([]);
3490
- const columnOrder = isControlled ? controlledOrder : internalOrder;
3491
- const onColumnOrderChange = React.useCallback(updaterOrValue => {
3492
- const newOrder = typeof updaterOrValue === "function"
3493
- ? updaterOrValue(columnOrder)
3494
- : updaterOrValue;
3495
- if (!isControlled) {
3496
- setInternalOrder(newOrder);
3497
- }
3498
- controlledOnChange?.(updaterOrValue);
3499
- }, [columnOrder, isControlled, controlledOnChange]);
3500
- const moveColumn = React.useCallback((columnId, direction) => {
3501
- onColumnOrderChange(oldOrder => {
3502
- const order = [...oldOrder];
3503
- const currentIndex = order.indexOf(columnId);
3504
- if (currentIndex === -1)
3505
- return oldOrder;
3506
- const newIndex = currentIndex + direction;
3507
- if (newIndex < 0 || newIndex >= order.length)
3508
- return oldOrder;
3509
- order.splice(currentIndex, 1);
3510
- order.splice(newIndex, 0, columnId);
3511
- return order;
3512
- });
3513
- }, [onColumnOrderChange]);
3514
- const reorderColumn = React.useCallback((fromId, toId) => {
3515
- onColumnOrderChange(oldOrder => {
3516
- const order = [...oldOrder];
3517
- const fromIndex = order.indexOf(fromId);
3518
- const toIndex = order.indexOf(toId);
3519
- if (fromIndex === -1 || toIndex === -1)
3520
- return oldOrder;
3521
- order.splice(fromIndex, 1);
3522
- order.splice(toIndex, 0, fromId);
3523
- return order;
3524
- });
3525
- }, [onColumnOrderChange]);
3526
- return {
3527
- columnOrder: enabled ? columnOrder : [],
3528
- onColumnOrderChange: enabled
3529
- ? onColumnOrderChange
3530
- : (() => { }),
3531
- moveColumn,
3532
- reorderColumn,
3533
- };
3498
+ const useColumnVisibility = ({
3499
+ columnVisibility: controlledVisibility,
3500
+ onColumnVisibilityChange: controlledOnChange,
3501
+ onColumnHide
3502
+ }) => {
3503
+ const isControlled = controlledVisibility !== void 0;
3504
+ const [internalVisibility, setInternalVisibility] = React.useState(
3505
+ {}
3506
+ );
3507
+ const visibility = isControlled ? controlledVisibility : internalVisibility;
3508
+ const onColumnVisibilityChange = React.useCallback(
3509
+ (updaterOrValue) => {
3510
+ const newVisibility = typeof updaterOrValue === "function" ? updaterOrValue(visibility) : updaterOrValue;
3511
+ if (!isControlled) {
3512
+ setInternalVisibility(newVisibility);
3513
+ }
3514
+ controlledOnChange?.(updaterOrValue);
3515
+ },
3516
+ [visibility, isControlled, controlledOnChange]
3517
+ );
3518
+ const hideColumn = React.useCallback(
3519
+ (columnId) => {
3520
+ if (onColumnHide) {
3521
+ onColumnHide(columnId);
3522
+ } else {
3523
+ onColumnVisibilityChange((old) => ({ ...old, [columnId]: false }));
3524
+ }
3525
+ },
3526
+ [onColumnVisibilityChange, onColumnHide]
3527
+ );
3528
+ const showColumn = React.useCallback(
3529
+ (columnId) => {
3530
+ onColumnVisibilityChange((old) => ({ ...old, [columnId]: true }));
3531
+ },
3532
+ [onColumnVisibilityChange]
3533
+ );
3534
+ const toggleColumnVisibility = React.useCallback(
3535
+ (columnId) => {
3536
+ const isVisible = visibility[columnId] !== false;
3537
+ if (isVisible) {
3538
+ hideColumn(columnId);
3539
+ } else {
3540
+ showColumn(columnId);
3541
+ }
3542
+ },
3543
+ [visibility, hideColumn, showColumn]
3544
+ );
3545
+ return {
3546
+ columnVisibility: visibility,
3547
+ onColumnVisibilityChange,
3548
+ hideColumn,
3549
+ showColumn,
3550
+ toggleColumnVisibility
3551
+ };
3534
3552
  };
3535
3553
 
3536
- const LoadingOverlay = () => (jsxRuntime.jsx("div", { className: "absolute inset-0 z-10 flex items-center justify-center bg-background/50", children: jsxRuntime.jsx(primitives_Spinner.Spinner, { className: "size-6" }) }));
3554
+ const useColumnOrdering = ({
3555
+ enabled = false,
3556
+ columnOrder: controlledOrder,
3557
+ onColumnOrderChange: controlledOnChange
3558
+ }) => {
3559
+ const isControlled = controlledOrder !== void 0;
3560
+ const [internalOrder, setInternalOrder] = React.useState([]);
3561
+ const columnOrder = isControlled ? controlledOrder : internalOrder;
3562
+ const onColumnOrderChange = React.useCallback(
3563
+ (updaterOrValue) => {
3564
+ const newOrder = typeof updaterOrValue === "function" ? updaterOrValue(columnOrder) : updaterOrValue;
3565
+ if (!isControlled) {
3566
+ setInternalOrder(newOrder);
3567
+ }
3568
+ controlledOnChange?.(updaterOrValue);
3569
+ },
3570
+ [columnOrder, isControlled, controlledOnChange]
3571
+ );
3572
+ const moveColumn = React.useCallback(
3573
+ (columnId, direction) => {
3574
+ onColumnOrderChange((previousOrder) => {
3575
+ const order = [...previousOrder];
3576
+ const currentIndex = order.indexOf(columnId);
3577
+ if (currentIndex === -1) return previousOrder;
3578
+ const newIndex = currentIndex + direction;
3579
+ if (newIndex < 0 || newIndex >= order.length) return previousOrder;
3580
+ order.splice(currentIndex, 1);
3581
+ order.splice(newIndex, 0, columnId);
3582
+ return order;
3583
+ });
3584
+ },
3585
+ [onColumnOrderChange]
3586
+ );
3587
+ const reorderColumn = React.useCallback(
3588
+ (fromId, toId) => {
3589
+ onColumnOrderChange((previousOrder) => {
3590
+ const order = [...previousOrder];
3591
+ const fromIndex = order.indexOf(fromId);
3592
+ const toIndex = order.indexOf(toId);
3593
+ if (fromIndex === -1 || toIndex === -1) return previousOrder;
3594
+ order.splice(fromIndex, 1);
3595
+ order.splice(toIndex, 0, fromId);
3596
+ return order;
3597
+ });
3598
+ },
3599
+ [onColumnOrderChange]
3600
+ );
3601
+ return {
3602
+ columnOrder: enabled ? columnOrder : [],
3603
+ onColumnOrderChange: enabled ? onColumnOrderChange : (() => {
3604
+ }),
3605
+ moveColumn,
3606
+ reorderColumn
3607
+ };
3608
+ };
3609
+
3610
+ const LoadingOverlay = () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 z-10 flex items-center justify-center bg-background/50", children: /* @__PURE__ */ jsxRuntime.jsx(primitives_Spinner.Spinner, { className: "size-6" }) });
3537
3611
 
3538
3612
  const EmptyState = ({ colSpan, message }) => {
3539
- const { t } = reactI18next.useTranslation();
3540
- const resolvedMessage = message ?? t("neetoatoms.dataTable.noResults", "No results.");
3541
- return (jsxRuntime.jsx(primitives_Table.TableRow, { children: jsxRuntime.jsx(primitives_Table.TableCell, { colSpan: colSpan, className: "min-h-24 text-center text-muted-foreground", children: resolvedMessage }) }));
3613
+ const { t } = reactI18next.useTranslation();
3614
+ const resolvedMessage = message ?? t("neetoatoms.dataTable.noResults", "No results.");
3615
+ return /* @__PURE__ */ jsxRuntime.jsx(primitives_Table.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsx(
3616
+ primitives_Table.TableCell,
3617
+ {
3618
+ colSpan,
3619
+ className: "min-h-24 text-center text-muted-foreground",
3620
+ children: resolvedMessage
3621
+ }
3622
+ ) });
3542
3623
  };
3543
3624
 
3544
- const SortIndicator = ({ column, }) => {
3545
- if (!column.getCanSort())
3546
- return null;
3547
- const sorted = column.getIsSorted();
3548
- if (sorted === "asc")
3549
- return jsxRuntime.jsx(ArrowUp, { className: "ml-1 inline size-4" });
3550
- if (sorted === "desc")
3551
- return jsxRuntime.jsx(ArrowDown, { className: "ml-1 inline size-4" });
3552
- return null;
3625
+ const SortIndicator = ({
3626
+ column
3627
+ }) => {
3628
+ if (!column.getCanSort()) return null;
3629
+ const sorted = column.getIsSorted();
3630
+ if (sorted === "asc") return /* @__PURE__ */ jsxRuntime.jsx(ArrowUp, { className: "ml-1 inline size-4" });
3631
+ if (sorted === "desc")
3632
+ return /* @__PURE__ */ jsxRuntime.jsx(ArrowDown, { className: "ml-1 inline size-4" });
3633
+ return null;
3553
3634
  };
3554
3635
 
3555
3636
  const ResizeHandle = ({ header }) => {
3556
- if (!header.column.getCanResize())
3557
- return null;
3558
- return (jsxRuntime.jsx("div", { onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), onDoubleClick: () => header.column.resetSize(), className: utils.cn("absolute top-0 end-0 h-full w-1 cursor-col-resize select-none touch-none", header.column.getIsResizing()
3559
- ? "bg-primary"
3560
- : "bg-border opacity-0 group-hover/head:opacity-100") }));
3561
- };
3562
-
3563
- const BulkSelectCallout = ({ bulkSelectAllRowsProps, isAllPageRowsSelected, isBulkAllSelected, onBulkSelectAll, onClearBulkSelection, }) => {
3564
- if (!isAllPageRowsSelected && !isBulkAllSelected)
3565
- return null;
3566
- const { selectAllRowMessage, selectAllRowButtonLabel, allRowsSelectedMessage, clearSelectionButtonLabel, } = bulkSelectAllRowsProps;
3567
- return (jsxRuntime.jsx("div", { className: "mb-2 flex items-center justify-center gap-1 rounded-sm bg-primary/10 px-4 py-1.5 text-sm text-primary", children: isBulkAllSelected ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { children: allRowsSelectedMessage ?? selectAllRowMessage }), jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onClearBulkSelection, children: clearSelectionButtonLabel ?? "Clear selection" })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { children: selectAllRowMessage }), jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onBulkSelectAll, children: selectAllRowButtonLabel })] })) }));
3568
- };
3569
-
3570
- const DataTablePagination = ({ currentPage, pageCount, onPageChange, }) => {
3571
- if (pageCount <= 1)
3572
- return null;
3573
- const pages = getPageNumbers(currentPage, pageCount);
3574
- return (jsxRuntime.jsx("div", { className: "flex items-center justify-end py-4", children: jsxRuntime.jsx(primitives_Pagination.Pagination, { className: "mx-0 w-auto justify-end", children: jsxRuntime.jsxs(primitives_Pagination.PaginationContent, { children: [jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: jsxRuntime.jsx(primitives_Pagination.PaginationPrevious, { onClick: e => {
3575
- e.preventDefault();
3576
- if (currentPage > 1)
3577
- onPageChange(currentPage - 1);
3578
- }, className: currentPage <= 1
3579
- ? "pointer-events-none opacity-50"
3580
- : "cursor-pointer" }) }), pages.map((page, index) => page === "ellipsis" ? (jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: jsxRuntime.jsx(primitives_Pagination.PaginationEllipsis, {}) }, `ellipsis-${index}`)) : (jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: jsxRuntime.jsx(primitives_Pagination.PaginationLink, { isActive: page === currentPage, onClick: e => {
3581
- e.preventDefault();
3582
- onPageChange(page);
3583
- }, className: "cursor-pointer", children: page }) }, page))), jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: jsxRuntime.jsx(primitives_Pagination.PaginationNext, { onClick: e => {
3584
- e.preventDefault();
3585
- if (currentPage < pageCount)
3586
- onPageChange(currentPage + 1);
3587
- }, className: currentPage >= pageCount
3588
- ? "pointer-events-none opacity-50"
3589
- : "cursor-pointer" }) })] }) }) }));
3590
- };
3591
-
3592
- const HeaderCellMenu = ({ column, enableAddColumn, enableColumnFreeze, isColumnPinned, canMoveLeft, canMoveRight, onSort, onHideColumn, onTogglePin, onAddColumn, onDeleteColumn, onMoveColumn, onMoreActionClick, columnIndex, }) => {
3593
- const meta = column.columnDef.meta;
3594
- const isSortable = column.getCanSort();
3595
- const isHidable = column.getCanHide();
3596
- const isDeletable = meta?.isDeletable === true;
3597
- const moreActions = meta?.moreActions ?? [];
3598
- const currentSort = column.getIsSorted();
3599
- const hasAnyAction = isSortable ||
3600
- isHidable ||
3601
- enableAddColumn ||
3602
- enableColumnFreeze ||
3603
- isDeletable ||
3604
- canMoveLeft ||
3605
- canMoveRight ||
3606
- moreActions.length > 0;
3607
- if (!hasAnyAction)
3608
- return null;
3609
- return (jsxRuntime.jsx("div", { onClick: e => e.stopPropagation(), children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenu, { children: [jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, children: jsxRuntime.jsx(Button.Button, { variant: "ghost", size: "icon", icon: ellipsis.Ellipsis, "data-testid": "column-menu-button" }) }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuContent, { align: "start", className: "w-48", children: [isSortable && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "ascending-column-menu-button", onClick: () => onSort?.(column.id, false), children: [jsxRuntime.jsx(ArrowUp, { className: "mr-2 size-4" }), "Ascending", currentSort === "asc" && (jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" }))] }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "descending-column-menu-button", onClick: () => onSort?.(column.id, true), children: [jsxRuntime.jsx(ArrowDown, { className: "mr-2 size-4" }), "Descending", currentSort === "desc" && (jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" }))] })] })), enableAddColumn && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "insert-right-column-menu-button", onClick: () => onAddColumn?.(columnIndex + 1), children: [jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }), "Insert column right"] }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "insert-left-column-menu-button", onClick: () => onAddColumn?.(columnIndex), children: [jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }), "Insert column left"] })] })), isHidable && onHideColumn && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "hide-column-menu-button", onClick: () => onHideColumn(column.id), children: [jsxRuntime.jsx(EyeOff, { className: "mr-2 size-4" }), "Hide column"] }) })), isDeletable && onDeleteColumn && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "delete-column-menu-button", onClick: () => onDeleteColumn(column.id), children: [jsxRuntime.jsx(Trash2, { className: "mr-2 size-4" }), "Delete column"] })), enableColumnFreeze && onTogglePin && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "freeze-unfreeze-column-menu-button", onClick: () => onTogglePin(column.id), children: [jsxRuntime.jsx(Pin, { className: "mr-2 size-4" }), isColumnPinned ? "Unfreeze column" : "Freeze column"] }) })), onMoveColumn && (canMoveLeft || canMoveRight) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [canMoveLeft && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "move-column-left-menu-button", onClick: () => onMoveColumn(column.id, -1), children: [jsxRuntime.jsx(MoveLeft, { className: "mr-2 size-4" }), "Move column left"] })), canMoveRight && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "move-column-right-menu-button", onClick: () => onMoveColumn(column.id, 1), children: [jsxRuntime.jsx(MoveRight, { className: "mr-2 size-4" }), "Move column right"] }))] })), moreActions.length > 0 && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: moreActions.map(action => {
3610
- const ActionIcon = action.icon;
3611
- return (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": `${action.type}-column-menu-button`, onClick: () => onMoreActionClick?.(action.type, column.id), children: [ActionIcon && jsxRuntime.jsx(ActionIcon, { className: "mr-2 size-4" }), action.label] }, action.type));
3612
- }) }))] })] }) }));
3613
- };
3614
-
3615
- const DataTable = ({ columns, data, getRowId: getRowIdProp, sorting: sortingProp, onSortingChange: onSortingChangeProp, enableSorting = false, enableURLSort = true, totalCount, pageSize = DEFAULT_PAGE_SIZE, currentPage: currentPageProp, onPageChange: onPageChangeProp, enableURLPagination = true, enableRowSelection: enableRowSelectionProp, selectedRowKeys, onRowSelect, bulkSelectAllRowsProps, enableColumnResize = true, enableColumnFreeze = true, columnPinning: columnPinningProp, onColumnPinningChange: onColumnPinningChangeProp, localStorageKeyPrefix, columnVisibility: columnVisibilityProp, onColumnVisibilityChange: onColumnVisibilityChangeProp, onColumnHide: onColumnHideProp, enableColumnReorder = false, columnOrder: columnOrderProp, onColumnOrderChange: onColumnOrderChangeProp, enableAddColumn = false, onColumnAdd, onColumnDelete, onColumnUpdate, onMoreActionClick, enableHeaderMenu, loading = false, bordered = true, className, emptyMessage, onRowClick, allowRowClick = true, }) => {
3616
- const getRowId = React.useMemo(() => getRowIdProp ??
3617
- ((row) => row.id), [getRowIdProp]);
3618
- const { sorting, onSortingChange } = useTableSort({
3619
- sorting: sortingProp,
3620
- onSortingChange: onSortingChangeProp,
3621
- enableURLSort,
3622
- });
3623
- const { currentPage, pageCount, paginationState, onPageChange } = useTablePagination({
3624
- totalCount,
3625
- pageSize,
3626
- currentPage: currentPageProp,
3627
- onPageChange: onPageChangeProp,
3628
- enableURLPagination,
3629
- });
3630
- const { rowSelection, onRowSelectionChange: originalOnRowSelectionChange, selectionColumn, enableRowSelection, } = useTableSelection({
3631
- enableRowSelection: enableRowSelectionProp,
3632
- selectedRowKeys,
3633
- onRowSelect,
3634
- data,
3635
- getRowId,
3636
- });
3637
- // Wrap selection change to detect manual deselection while in bulk mode
3638
- const onRowSelectionChange = React.useCallback((updaterOrValue) => {
3639
- if (bulkSelectedRef.current && !isAutoSelectingRef.current) {
3640
- setBulkSelectedAllRowsInternal(false);
3641
- bulkSelectAllRowsProps?.setBulkSelectedAllRows(false);
3637
+ if (!header.column.getCanResize()) return null;
3638
+ return /* @__PURE__ */ jsxRuntime.jsx(
3639
+ "div",
3640
+ {
3641
+ onMouseDown: header.getResizeHandler(),
3642
+ onTouchStart: header.getResizeHandler(),
3643
+ onDoubleClick: () => header.column.resetSize(),
3644
+ className: utils.cn(
3645
+ "absolute top-0 end-0 h-full w-1 cursor-col-resize select-none touch-none",
3646
+ header.column.getIsResizing() ? "bg-primary" : "bg-border opacity-0 group-hover/head:opacity-100"
3647
+ )
3648
+ }
3649
+ );
3650
+ };
3651
+
3652
+ const BulkSelectCallout = ({
3653
+ bulkSelectAllRowsProps,
3654
+ isAllPageRowsSelected,
3655
+ isBulkAllSelected,
3656
+ onBulkSelectAll,
3657
+ onClearBulkSelection
3658
+ }) => {
3659
+ if (!isAllPageRowsSelected && !isBulkAllSelected) return null;
3660
+ const {
3661
+ selectAllRowMessage,
3662
+ selectAllRowButtonLabel,
3663
+ allRowsSelectedMessage,
3664
+ clearSelectionButtonLabel
3665
+ } = bulkSelectAllRowsProps;
3666
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 flex items-center justify-center gap-1 rounded-sm bg-primary/10 px-4 py-1.5 text-sm text-primary", children: isBulkAllSelected ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3667
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: allRowsSelectedMessage ?? selectAllRowMessage }),
3668
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onClearBulkSelection, children: clearSelectionButtonLabel ?? "Clear selection" })
3669
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3670
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: selectAllRowMessage }),
3671
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onBulkSelectAll, children: selectAllRowButtonLabel })
3672
+ ] }) });
3673
+ };
3674
+
3675
+ const DataTablePagination = ({
3676
+ currentPage,
3677
+ pageCount,
3678
+ onPageChange
3679
+ }) => {
3680
+ if (pageCount <= 1) return null;
3681
+ const pages = getPageNumbers(currentPage, pageCount);
3682
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-end py-4", children: /* @__PURE__ */ jsxRuntime.jsx(primitives_Pagination.Pagination, { className: "mx-0 w-auto justify-end", children: /* @__PURE__ */ jsxRuntime.jsxs(primitives_Pagination.PaginationContent, { children: [
3683
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
3684
+ primitives_Pagination.PaginationPrevious,
3685
+ {
3686
+ onClick: (e) => {
3687
+ e.preventDefault();
3688
+ if (currentPage > 1) onPageChange(currentPage - 1);
3689
+ },
3690
+ className: currentPage <= 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
3691
+ }
3692
+ ) }),
3693
+ pages.map(
3694
+ (page, index) => page === "ellipsis" ? /* @__PURE__ */ jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: /* @__PURE__ */ jsxRuntime.jsx(primitives_Pagination.PaginationEllipsis, {}) }, `ellipsis-${index}`) : /* @__PURE__ */ jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
3695
+ primitives_Pagination.PaginationLink,
3696
+ {
3697
+ isActive: page === currentPage,
3698
+ onClick: (e) => {
3699
+ e.preventDefault();
3700
+ onPageChange(page);
3701
+ },
3702
+ className: "cursor-pointer",
3703
+ children: page
3642
3704
  }
3643
- originalOnRowSelectionChange(updaterOrValue);
3644
- }, [originalOnRowSelectionChange, bulkSelectAllRowsProps]);
3645
- const { columnPinning, onColumnPinningChange, toggleColumnPin, isColumnPinned, } = useColumnPinning({
3646
- enabled: enableColumnFreeze,
3647
- columnPinning: columnPinningProp,
3648
- onColumnPinningChange: onColumnPinningChangeProp,
3649
- localStorageKeyPrefix,
3650
- });
3651
- const { columnVisibility, onColumnVisibilityChange, hideColumn } = useColumnVisibility({
3652
- columnVisibility: columnVisibilityProp,
3653
- onColumnVisibilityChange: onColumnVisibilityChangeProp,
3654
- onColumnHide: onColumnHideProp,
3655
- });
3656
- const { columnOrder, onColumnOrderChange, moveColumn } = useColumnOrdering({
3657
- enabled: enableColumnReorder,
3658
- columnOrder: columnOrderProp,
3659
- onColumnOrderChange: onColumnOrderChangeProp,
3660
- });
3661
- const showHeaderMenu = enableHeaderMenu ??
3662
- (enableColumnFreeze ||
3663
- enableAddColumn ||
3664
- !!onColumnHideProp ||
3665
- !!onColumnDelete ||
3666
- !!onColumnUpdate ||
3667
- !!onMoreActionClick);
3668
- const allColumns = React.useMemo(() => {
3669
- if (selectionColumn) {
3670
- return [selectionColumn, ...columns];
3705
+ ) }, page)
3706
+ ),
3707
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_Pagination.PaginationItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
3708
+ primitives_Pagination.PaginationNext,
3709
+ {
3710
+ onClick: (e) => {
3711
+ e.preventDefault();
3712
+ if (currentPage < pageCount) onPageChange(currentPage + 1);
3713
+ },
3714
+ className: currentPage >= pageCount ? "pointer-events-none opacity-50" : "cursor-pointer"
3715
+ }
3716
+ ) })
3717
+ ] }) }) });
3718
+ };
3719
+
3720
+ const HeaderCellMenu = ({
3721
+ column,
3722
+ enableAddColumn,
3723
+ enableColumnFreeze,
3724
+ isColumnPinned,
3725
+ canMoveLeft,
3726
+ canMoveRight,
3727
+ onSort,
3728
+ onHideColumn,
3729
+ onTogglePin,
3730
+ onAddColumn,
3731
+ onDeleteColumn,
3732
+ onMoveColumn,
3733
+ onMoreActionClick,
3734
+ columnIndex
3735
+ }) => {
3736
+ const meta = column.columnDef.meta;
3737
+ const isSortable = column.getCanSort();
3738
+ const isHidable = column.getCanHide();
3739
+ const isDeletable = meta?.isDeletable === true;
3740
+ const moreActions = meta?.moreActions ?? [];
3741
+ const currentSort = column.getIsSorted();
3742
+ const hasAnyAction = isSortable || isHidable || enableAddColumn || enableColumnFreeze || isDeletable || canMoveLeft || canMoveRight || moreActions.length > 0;
3743
+ if (!hasAnyAction) return null;
3744
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenu, { children: [
3745
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3746
+ Button.Button,
3747
+ {
3748
+ variant: "ghost",
3749
+ size: "icon",
3750
+ icon: ellipsis.Ellipsis,
3751
+ "data-testid": "column-menu-button"
3752
+ }
3753
+ ) }),
3754
+ /* @__PURE__ */ jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuContent, { align: "start", className: "w-48", children: [
3755
+ isSortable && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3756
+ /* @__PURE__ */ jsxRuntime.jsxs(
3757
+ primitives_DropdownMenu.DropdownMenuItem,
3758
+ {
3759
+ "data-testid": "ascending-column-menu-button",
3760
+ onClick: () => onSort?.(column.id, false),
3761
+ children: [
3762
+ /* @__PURE__ */ jsxRuntime.jsx(ArrowUp, { className: "mr-2 size-4" }),
3763
+ "Ascending",
3764
+ currentSort === "asc" && /* @__PURE__ */ jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" })
3765
+ ]
3766
+ }
3767
+ ),
3768
+ /* @__PURE__ */ jsxRuntime.jsxs(
3769
+ primitives_DropdownMenu.DropdownMenuItem,
3770
+ {
3771
+ "data-testid": "descending-column-menu-button",
3772
+ onClick: () => onSort?.(column.id, true),
3773
+ children: [
3774
+ /* @__PURE__ */ jsxRuntime.jsx(ArrowDown, { className: "mr-2 size-4" }),
3775
+ "Descending",
3776
+ currentSort === "desc" && /* @__PURE__ */ jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" })
3777
+ ]
3778
+ }
3779
+ )
3780
+ ] }),
3781
+ enableAddColumn && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3782
+ /* @__PURE__ */ jsxRuntime.jsxs(
3783
+ primitives_DropdownMenu.DropdownMenuItem,
3784
+ {
3785
+ "data-testid": "insert-right-column-menu-button",
3786
+ onClick: () => onAddColumn?.(columnIndex + 1),
3787
+ children: [
3788
+ /* @__PURE__ */ jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }),
3789
+ "Insert column right"
3790
+ ]
3791
+ }
3792
+ ),
3793
+ /* @__PURE__ */ jsxRuntime.jsxs(
3794
+ primitives_DropdownMenu.DropdownMenuItem,
3795
+ {
3796
+ "data-testid": "insert-left-column-menu-button",
3797
+ onClick: () => onAddColumn?.(columnIndex),
3798
+ children: [
3799
+ /* @__PURE__ */ jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }),
3800
+ "Insert column left"
3801
+ ]
3802
+ }
3803
+ )
3804
+ ] }),
3805
+ isHidable && onHideColumn && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(
3806
+ primitives_DropdownMenu.DropdownMenuItem,
3807
+ {
3808
+ "data-testid": "hide-column-menu-button",
3809
+ onClick: () => onHideColumn(column.id),
3810
+ children: [
3811
+ /* @__PURE__ */ jsxRuntime.jsx(EyeOff, { className: "mr-2 size-4" }),
3812
+ "Hide column"
3813
+ ]
3671
3814
  }
3672
- return columns;
3673
- }, [columns, selectionColumn]);
3674
- const resolvedColumnOrder = React.useMemo(() => {
3675
- if (columnOrder.length === 0)
3676
- return [];
3677
- if (selectionColumn && !columnOrder.includes("_selection")) {
3678
- return ["_selection", ...columnOrder];
3815
+ ) }),
3816
+ isDeletable && onDeleteColumn && /* @__PURE__ */ jsxRuntime.jsxs(
3817
+ primitives_DropdownMenu.DropdownMenuItem,
3818
+ {
3819
+ "data-testid": "delete-column-menu-button",
3820
+ onClick: () => onDeleteColumn(column.id),
3821
+ children: [
3822
+ /* @__PURE__ */ jsxRuntime.jsx(Trash2, { className: "mr-2 size-4" }),
3823
+ "Delete column"
3824
+ ]
3679
3825
  }
3680
- return columnOrder;
3681
- }, [columnOrder, selectionColumn]);
3682
- const resolvedColumnPinning = React.useMemo(() => {
3683
- if (!selectionColumn || !enableColumnFreeze)
3684
- return columnPinning;
3685
- const left = columnPinning.left ?? [];
3686
- if (left.includes("_selection"))
3687
- return columnPinning;
3688
- return { ...columnPinning, left: ["_selection", ...left] };
3689
- }, [columnPinning, selectionColumn, enableColumnFreeze]);
3690
- const table = useReactTable({
3691
- data,
3692
- columns: allColumns,
3693
- getCoreRowModel: getCoreRowModel(),
3694
- getRowId,
3695
- manualSorting: true,
3696
- enableSorting,
3697
- state: {
3698
- sorting,
3699
- pagination: paginationState,
3700
- rowSelection,
3701
- columnPinning: resolvedColumnPinning,
3702
- columnVisibility,
3703
- columnOrder: resolvedColumnOrder,
3704
- },
3705
- onSortingChange,
3706
- manualPagination: true,
3707
- pageCount,
3708
- onPaginationChange: () => { },
3709
- enableRowSelection,
3710
- onRowSelectionChange,
3711
- enableColumnResizing: enableColumnResize,
3712
- columnResizeMode: "onChange",
3713
- onColumnPinningChange,
3714
- onColumnVisibilityChange,
3715
- onColumnOrderChange,
3716
- });
3717
- const [bulkSelectedAllRows, setBulkSelectedAllRowsInternal] = React.useState(false);
3718
- const isAutoSelectingRef = React.useRef(false);
3719
- const bulkSelectedRef = React.useRef(false);
3720
- bulkSelectedRef.current = bulkSelectedAllRows;
3721
- // Auto-select all page rows when in bulk mode (handles page navigation)
3722
- React.useEffect(() => {
3723
- if (bulkSelectedAllRows) {
3724
- isAutoSelectingRef.current = true;
3725
- table.toggleAllPageRowsSelected(true);
3726
- // Reset flag after React processes the state update
3727
- requestAnimationFrame(() => {
3728
- isAutoSelectingRef.current = false;
3729
- });
3826
+ ),
3827
+ enableColumnFreeze && onTogglePin && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(
3828
+ primitives_DropdownMenu.DropdownMenuItem,
3829
+ {
3830
+ "data-testid": "freeze-unfreeze-column-menu-button",
3831
+ onClick: () => onTogglePin(column.id),
3832
+ children: [
3833
+ /* @__PURE__ */ jsxRuntime.jsx(Pin, { className: "mr-2 size-4" }),
3834
+ isColumnPinned ? "Unfreeze column" : "Freeze column"
3835
+ ]
3730
3836
  }
3731
- }, [bulkSelectedAllRows, data]);
3732
- const isAllPageRowsSelected = table.getIsAllPageRowsSelected();
3733
- const showSelectAllCallout = !!bulkSelectAllRowsProps &&
3734
- isAllPageRowsSelected &&
3735
- pageCount > 1 &&
3736
- !bulkSelectedAllRows;
3737
- const showAllSelectedCallout = !!bulkSelectAllRowsProps && bulkSelectedAllRows;
3738
- const handleBulkSelectAll = () => {
3739
- setBulkSelectedAllRowsInternal(true);
3740
- bulkSelectAllRowsProps?.setBulkSelectedAllRows(true);
3741
- };
3742
- const handleClearBulkSelection = () => {
3837
+ ) }),
3838
+ onMoveColumn && (canMoveLeft || canMoveRight) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3839
+ canMoveLeft && /* @__PURE__ */ jsxRuntime.jsxs(
3840
+ primitives_DropdownMenu.DropdownMenuItem,
3841
+ {
3842
+ "data-testid": "move-column-left-menu-button",
3843
+ onClick: () => onMoveColumn(column.id, -1),
3844
+ children: [
3845
+ /* @__PURE__ */ jsxRuntime.jsx(MoveLeft, { className: "mr-2 size-4" }),
3846
+ "Move column left"
3847
+ ]
3848
+ }
3849
+ ),
3850
+ canMoveRight && /* @__PURE__ */ jsxRuntime.jsxs(
3851
+ primitives_DropdownMenu.DropdownMenuItem,
3852
+ {
3853
+ "data-testid": "move-column-right-menu-button",
3854
+ onClick: () => onMoveColumn(column.id, 1),
3855
+ children: [
3856
+ /* @__PURE__ */ jsxRuntime.jsx(MoveRight, { className: "mr-2 size-4" }),
3857
+ "Move column right"
3858
+ ]
3859
+ }
3860
+ )
3861
+ ] }),
3862
+ moreActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: moreActions.map((action) => {
3863
+ const ActionIcon = action.icon;
3864
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3865
+ primitives_DropdownMenu.DropdownMenuItem,
3866
+ {
3867
+ "data-testid": `${action.type}-column-menu-button`,
3868
+ onClick: () => onMoreActionClick?.(action.type, column.id),
3869
+ children: [
3870
+ ActionIcon && /* @__PURE__ */ jsxRuntime.jsx(ActionIcon, { className: "mr-2 size-4" }),
3871
+ action.label
3872
+ ]
3873
+ },
3874
+ action.type
3875
+ );
3876
+ }) })
3877
+ ] })
3878
+ ] }) });
3879
+ };
3880
+
3881
+ const DataTable = ({
3882
+ columns,
3883
+ data,
3884
+ getRowId: getRowIdProp,
3885
+ sorting: sortingProp,
3886
+ onSortingChange: onSortingChangeProp,
3887
+ onSort: onSortProp,
3888
+ enableSorting = false,
3889
+ enableURLSort = true,
3890
+ totalCount,
3891
+ pageSize = DEFAULT_PAGE_SIZE,
3892
+ currentPage: currentPageProp,
3893
+ onPageChange: onPageChangeProp,
3894
+ enableURLPagination = true,
3895
+ enableRowSelection: enableRowSelectionProp,
3896
+ selectedRowKeys,
3897
+ onRowSelect,
3898
+ bulkSelectAllRowsProps,
3899
+ enableColumnResize = true,
3900
+ enableColumnFreeze = true,
3901
+ columnPinning: columnPinningProp,
3902
+ onColumnPinningChange: onColumnPinningChangeProp,
3903
+ localStorageKeyPrefix,
3904
+ columnVisibility: columnVisibilityProp,
3905
+ onColumnVisibilityChange: onColumnVisibilityChangeProp,
3906
+ onColumnHide: onColumnHideProp,
3907
+ enableColumnReorder = false,
3908
+ columnOrder: columnOrderProp,
3909
+ onColumnOrderChange: onColumnOrderChangeProp,
3910
+ enableAddColumn = false,
3911
+ onColumnAdd,
3912
+ onColumnDelete,
3913
+ onColumnUpdate,
3914
+ onMoreActionClick,
3915
+ enableHeaderMenu,
3916
+ loading = false,
3917
+ bordered = true,
3918
+ className,
3919
+ emptyMessage,
3920
+ onRowClick,
3921
+ allowRowClick = true
3922
+ }) => {
3923
+ const getRowId = React.useMemo(
3924
+ () => getRowIdProp ?? ((row) => row.id),
3925
+ [getRowIdProp]
3926
+ );
3927
+ const { sorting, onSortingChange } = useTableSort({
3928
+ sorting: sortingProp,
3929
+ onSortingChange: onSortingChangeProp,
3930
+ onSort: onSortProp,
3931
+ enableURLSort
3932
+ });
3933
+ const { currentPage, pageCount, paginationState, onPageChange } = useTablePagination({
3934
+ totalCount,
3935
+ pageSize,
3936
+ currentPage: currentPageProp,
3937
+ onPageChange: onPageChangeProp,
3938
+ enableURLPagination
3939
+ });
3940
+ const {
3941
+ rowSelection,
3942
+ onRowSelectionChange: originalOnRowSelectionChange,
3943
+ selectionColumn,
3944
+ enableRowSelection
3945
+ } = useTableSelection({
3946
+ enableRowSelection: enableRowSelectionProp,
3947
+ selectedRowKeys,
3948
+ onRowSelect,
3949
+ data,
3950
+ getRowId
3951
+ });
3952
+ const onRowSelectionChange = React.useCallback(
3953
+ (updaterOrValue) => {
3954
+ if (bulkSelectedRef.current && !isAutoSelectingRef.current) {
3743
3955
  setBulkSelectedAllRowsInternal(false);
3744
3956
  bulkSelectAllRowsProps?.setBulkSelectedAllRows(false);
3745
- table.toggleAllPageRowsSelected(false);
3746
- onRowSelect?.([], []);
3747
- };
3748
- const scrollContainerRef = React.useRef(null);
3749
- const [scrollState, setScrollState] = React.useState({
3750
- scrolledStart: false,
3751
- scrolledEnd: false,
3752
- });
3753
- React.useEffect(() => {
3754
- const el = scrollContainerRef.current;
3755
- if (!el)
3756
- return;
3757
- const update = () => {
3758
- const { scrollLeft, scrollWidth, clientWidth } = el;
3759
- const maxScroll = scrollWidth - clientWidth;
3760
- setScrollState({
3761
- scrolledStart: scrollLeft > 0,
3762
- scrolledEnd: scrollLeft < maxScroll - 1,
3763
- });
3764
- };
3765
- update();
3766
- el.addEventListener("scroll", update, { passive: true });
3767
- const resizeObserver = new ResizeObserver(update);
3768
- resizeObserver.observe(el);
3769
- return () => {
3770
- el.removeEventListener("scroll", update);
3771
- resizeObserver.disconnect();
3772
- };
3773
- }, []);
3774
- const handleSort = (columnId, desc) => {
3775
- const isSameSort = sorting.length > 0 &&
3776
- sorting[0].id === columnId &&
3777
- sorting[0].desc === desc;
3778
- if (isSameSort) {
3779
- onSortingChange([]);
3780
- }
3781
- else {
3782
- onSortingChange([{ id: columnId, desc }]);
3783
- }
3957
+ }
3958
+ originalOnRowSelectionChange(updaterOrValue);
3959
+ },
3960
+ [originalOnRowSelectionChange, bulkSelectAllRowsProps]
3961
+ );
3962
+ const {
3963
+ columnPinning,
3964
+ onColumnPinningChange,
3965
+ toggleColumnPin,
3966
+ isColumnPinned
3967
+ } = useColumnPinning({
3968
+ enabled: enableColumnFreeze,
3969
+ columnPinning: columnPinningProp,
3970
+ onColumnPinningChange: onColumnPinningChangeProp,
3971
+ localStorageKeyPrefix
3972
+ });
3973
+ const { columnVisibility, onColumnVisibilityChange, hideColumn } = useColumnVisibility({
3974
+ columnVisibility: columnVisibilityProp,
3975
+ onColumnVisibilityChange: onColumnVisibilityChangeProp,
3976
+ onColumnHide: onColumnHideProp
3977
+ });
3978
+ const { columnOrder, onColumnOrderChange, moveColumn } = useColumnOrdering({
3979
+ enabled: enableColumnReorder,
3980
+ columnOrder: columnOrderProp,
3981
+ onColumnOrderChange: onColumnOrderChangeProp
3982
+ });
3983
+ const showHeaderMenu = enableHeaderMenu ?? (enableColumnFreeze || enableAddColumn || !!onColumnHideProp || !!onColumnDelete || !!onColumnUpdate || !!onMoreActionClick);
3984
+ const allColumns = React.useMemo(() => {
3985
+ if (selectionColumn) {
3986
+ return [selectionColumn, ...columns];
3987
+ }
3988
+ return columns;
3989
+ }, [columns, selectionColumn]);
3990
+ const resolvedColumnOrder = React.useMemo(() => {
3991
+ if (columnOrder.length === 0) return [];
3992
+ if (selectionColumn && !columnOrder.includes("_selection")) {
3993
+ return ["_selection", ...columnOrder];
3994
+ }
3995
+ return columnOrder;
3996
+ }, [columnOrder, selectionColumn]);
3997
+ const resolvedColumnPinning = React.useMemo(() => {
3998
+ if (!selectionColumn || !enableColumnFreeze) return columnPinning;
3999
+ const left = columnPinning.left ?? [];
4000
+ if (left.includes("_selection")) return columnPinning;
4001
+ return { ...columnPinning, left: ["_selection", ...left] };
4002
+ }, [columnPinning, selectionColumn, enableColumnFreeze]);
4003
+ const table = useReactTable({
4004
+ data,
4005
+ columns: allColumns,
4006
+ getCoreRowModel: getCoreRowModel(),
4007
+ getRowId,
4008
+ manualSorting: true,
4009
+ enableSorting,
4010
+ state: {
4011
+ sorting,
4012
+ pagination: paginationState,
4013
+ rowSelection,
4014
+ columnPinning: resolvedColumnPinning,
4015
+ columnVisibility,
4016
+ columnOrder: resolvedColumnOrder
4017
+ },
4018
+ onSortingChange,
4019
+ manualPagination: true,
4020
+ pageCount,
4021
+ onPaginationChange: () => {
4022
+ },
4023
+ enableRowSelection,
4024
+ onRowSelectionChange,
4025
+ enableColumnResizing: enableColumnResize,
4026
+ columnResizeMode: "onChange",
4027
+ onColumnPinningChange,
4028
+ onColumnVisibilityChange,
4029
+ onColumnOrderChange
4030
+ });
4031
+ const [bulkSelectedAllRows, setBulkSelectedAllRowsInternal] = React.useState(false);
4032
+ const isAutoSelectingRef = React.useRef(false);
4033
+ const bulkSelectedRef = React.useRef(false);
4034
+ bulkSelectedRef.current = bulkSelectedAllRows;
4035
+ React.useEffect(() => {
4036
+ if (bulkSelectedAllRows) {
4037
+ isAutoSelectingRef.current = true;
4038
+ table.toggleAllPageRowsSelected(true);
4039
+ requestAnimationFrame(() => {
4040
+ isAutoSelectingRef.current = false;
4041
+ });
4042
+ }
4043
+ }, [bulkSelectedAllRows, data]);
4044
+ const isAllPageRowsSelected = table.getIsAllPageRowsSelected();
4045
+ const showSelectAllCallout = !!bulkSelectAllRowsProps && isAllPageRowsSelected && pageCount > 1 && !bulkSelectedAllRows;
4046
+ const showAllSelectedCallout = !!bulkSelectAllRowsProps && bulkSelectedAllRows;
4047
+ const handleBulkSelectAll = () => {
4048
+ setBulkSelectedAllRowsInternal(true);
4049
+ bulkSelectAllRowsProps?.setBulkSelectedAllRows(true);
4050
+ };
4051
+ const handleClearBulkSelection = () => {
4052
+ setBulkSelectedAllRowsInternal(false);
4053
+ bulkSelectAllRowsProps?.setBulkSelectedAllRows(false);
4054
+ table.toggleAllPageRowsSelected(false);
4055
+ onRowSelect?.([], []);
4056
+ };
4057
+ const scrollContainerRef = React.useRef(null);
4058
+ const [scrollState, setScrollState] = React.useState({
4059
+ scrolledStart: false,
4060
+ scrolledEnd: false
4061
+ });
4062
+ React.useEffect(() => {
4063
+ const el = scrollContainerRef.current;
4064
+ if (!el) return;
4065
+ const update = () => {
4066
+ const { scrollLeft, scrollWidth, clientWidth } = el;
4067
+ const maxScroll = scrollWidth - clientWidth;
4068
+ setScrollState({
4069
+ scrolledStart: scrollLeft > 0,
4070
+ scrolledEnd: scrollLeft < maxScroll - 1
4071
+ });
3784
4072
  };
3785
- return (jsxRuntime.jsxs("div", { className: utils.cn("relative flex min-h-0 w-full flex-col", className), children: [loading && jsxRuntime.jsx(LoadingOverlay, {}), (showSelectAllCallout || showAllSelectedCallout) && (jsxRuntime.jsx(BulkSelectCallout, { bulkSelectAllRowsProps: bulkSelectAllRowsProps, isAllPageRowsSelected: isAllPageRowsSelected, isBulkAllSelected: bulkSelectedAllRows, onBulkSelectAll: handleBulkSelectAll, onClearBulkSelection: handleClearBulkSelection })), jsxRuntime.jsx("div", { ref: scrollContainerRef, "data-scrolled-start": scrollState.scrolledStart || undefined, "data-scrolled-end": scrollState.scrolledEnd || undefined, className: utils.cn("group/scroll min-h-0 flex-1 overflow-auto", bordered && "rounded-lg border"), children: jsxRuntime.jsxs(primitives_Table.Table, { children: [jsxRuntime.jsx(primitives_Table.TableHeader, { className: "sticky top-0 z-20 bg-muted", children: table.getHeaderGroups().map(headerGroup => {
3786
- const dataHeaders = headerGroup.headers.filter(h => h.column.id !== "_selection");
3787
- const totalDataSize = dataHeaders.reduce((sum, h) => sum + h.getSize(), 0);
3788
- return (jsxRuntime.jsx(primitives_Table.TableRow, { className: "hover:bg-muted", children: headerGroup.headers.map((header, headerIndex) => {
3789
- const isPinned = header.column.getIsPinned();
3790
- const isSelectionCol = header.column.id === "_selection";
3791
- const columnIndexInData = dataHeaders.findIndex(h => h.id === header.id);
3792
- return (jsxRuntime.jsxs(primitives_Table.TableHead, { className: utils.cn("group/head relative", header.column.getCanSort() &&
3793
- "cursor-pointer select-none", isSelectionCol && "!pe-2", isPinned && "sticky z-10 bg-muted", isPinned === "left" &&
3794
- "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6", isPinned === "right" &&
3795
- "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"), style: {
3796
- width: selectionColumn && isSelectionCol
3797
- ? 0
3798
- : selectionColumn
3799
- ? `${(header.getSize() / totalDataSize) * 100}%`
3800
- : header.getSize(),
3801
- minWidth: enableColumnResize
3802
- ? header.getSize()
3803
- : undefined,
3804
- ...(isPinned === "left"
3805
- ? {
3806
- left: header.column.getStart("left"),
3807
- }
3808
- : {}),
3809
- ...(isPinned === "right"
3810
- ? {
3811
- right: header.column.getAfter("right"),
3812
- }
3813
- : {}),
3814
- }, onClick: header.column.getCanSort()
3815
- ? header.column.getToggleSortingHandler()
3816
- : undefined, children: [header.isPlaceholder ? null : (jsxRuntime.jsxs("div", { className: "flex items-center", children: [jsxRuntime.jsx("div", { className: "flex-1 truncate", children: flexRender(header.column.columnDef.header, header.getContext()) }), jsxRuntime.jsx(SortIndicator, { column: header.column }), showHeaderMenu && !isSelectionCol && (jsxRuntime.jsx(HeaderCellMenu, { column: header.column, columnIndex: columnIndexInData, enableAddColumn: enableAddColumn, enableColumnFreeze: enableColumnFreeze, isColumnPinned: isColumnPinned(header.column.id), canMoveLeft: headerIndex > (selectionColumn ? 1 : 0), canMoveRight: headerIndex < headerGroup.headers.length - 1, onSort: handleSort, onHideColumn: onColumnHideProp ? hideColumn : undefined, onTogglePin: toggleColumnPin, onAddColumn: onColumnAdd, onDeleteColumn: onColumnDelete, onMoveColumn: onColumnUpdate
3817
- ? (colId, dir) => moveColumn(colId, dir)
3818
- : undefined, onMoreActionClick: onMoreActionClick }))] })), enableColumnResize && jsxRuntime.jsx(ResizeHandle, { header: header })] }, header.id));
3819
- }) }, headerGroup.id));
3820
- }) }), jsxRuntime.jsx(primitives_Table.TableBody, { className: loading ? "opacity-50" : undefined, children: table.getRowModel().rows.length > 0 ? (table.getRowModel().rows.map(row => (jsxRuntime.jsx(primitives_Table.TableRow, { "data-state": row.getIsSelected() ? "selected" : undefined, className: utils.cn("group data-[state=selected]:bg-info", allowRowClick && onRowClick && "cursor-pointer"), onClick: allowRowClick && onRowClick
3821
- ? event => onRowClick(event, row.original, row.index)
3822
- : undefined, children: row.getVisibleCells().map(cell => {
3823
- const isPinned = cell.column.getIsPinned();
3824
- const isSelCell = cell.column.id === "_selection";
3825
- return (jsxRuntime.jsx(primitives_Table.TableCell, { className: utils.cn(isSelCell && "!pe-2", isPinned &&
3826
- "sticky z-10 bg-background group-hover:bg-muted/50 group-data-[state=selected]:bg-info", isPinned === "left" &&
3827
- "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6", isPinned === "right" &&
3828
- "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"), style: {
3829
- width: selectionColumn && isSelCell
3830
- ? 0
3831
- : cell.column.getSize(),
3832
- minWidth: enableColumnResize
3833
- ? cell.column.getSize()
3834
- : undefined,
3835
- ...(isPinned === "left"
3836
- ? {
3837
- left: cell.column.getStart("left"),
3838
- }
3839
- : {}),
3840
- ...(isPinned === "right"
3841
- ? {
3842
- right: cell.column.getAfter("right"),
3843
- }
3844
- : {}),
3845
- }, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
3846
- }) }, row.id)))) : (jsxRuntime.jsx(EmptyState, { colSpan: allColumns.length, message: emptyMessage })) })] }) }), totalCount !== undefined && totalCount > 0 && (jsxRuntime.jsx(DataTablePagination, { currentPage: currentPage, pageCount: pageCount, onPageChange: onPageChange }))] }));
4073
+ update();
4074
+ el.addEventListener("scroll", update, { passive: true });
4075
+ const resizeObserver = new ResizeObserver(update);
4076
+ resizeObserver.observe(el);
4077
+ return () => {
4078
+ el.removeEventListener("scroll", update);
4079
+ resizeObserver.disconnect();
4080
+ };
4081
+ }, []);
4082
+ const handleSort = (columnId, desc) => {
4083
+ const isSameSort = sorting.length > 0 && sorting[0].id === columnId && sorting[0].desc === desc;
4084
+ if (isSameSort) {
4085
+ onSortingChange([]);
4086
+ } else {
4087
+ onSortingChange([{ id: columnId, desc }]);
4088
+ }
4089
+ };
4090
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils.cn("relative flex min-h-0 w-full flex-col", className), children: [
4091
+ loading && /* @__PURE__ */ jsxRuntime.jsx(LoadingOverlay, {}),
4092
+ (showSelectAllCallout || showAllSelectedCallout) && /* @__PURE__ */ jsxRuntime.jsx(
4093
+ BulkSelectCallout,
4094
+ {
4095
+ bulkSelectAllRowsProps,
4096
+ isAllPageRowsSelected,
4097
+ isBulkAllSelected: bulkSelectedAllRows,
4098
+ onBulkSelectAll: handleBulkSelectAll,
4099
+ onClearBulkSelection: handleClearBulkSelection
4100
+ }
4101
+ ),
4102
+ /* @__PURE__ */ jsxRuntime.jsx(
4103
+ "div",
4104
+ {
4105
+ ref: scrollContainerRef,
4106
+ "data-scrolled-start": scrollState.scrolledStart || void 0,
4107
+ "data-scrolled-end": scrollState.scrolledEnd || void 0,
4108
+ className: utils.cn(
4109
+ "group/scroll min-h-0 flex-1 overflow-auto",
4110
+ bordered && "rounded-lg border"
4111
+ ),
4112
+ children: /* @__PURE__ */ jsxRuntime.jsxs(primitives_Table.Table, { children: [
4113
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_Table.TableHeader, { className: "sticky top-0 z-20 bg-muted", children: table.getHeaderGroups().map((headerGroup) => {
4114
+ const dataHeaders = headerGroup.headers.filter(
4115
+ (header) => header.column.id !== "_selection"
4116
+ );
4117
+ const totalDataSize = dataHeaders.reduce(
4118
+ (sum, header) => sum + header.getSize(),
4119
+ 0
4120
+ );
4121
+ return /* @__PURE__ */ jsxRuntime.jsx(primitives_Table.TableRow, { className: "hover:bg-muted", children: headerGroup.headers.map((header, headerIndex) => {
4122
+ const isPinned = header.column.getIsPinned();
4123
+ const isSelectionCol = header.column.id === "_selection";
4124
+ const columnIndexInData = dataHeaders.findIndex(
4125
+ (dataHeader) => dataHeader.id === header.id
4126
+ );
4127
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4128
+ primitives_Table.TableHead,
4129
+ {
4130
+ className: utils.cn(
4131
+ "group/head relative",
4132
+ header.column.getCanSort() && "cursor-pointer select-none",
4133
+ isSelectionCol && "!pe-2",
4134
+ isPinned && "sticky z-10 bg-muted",
4135
+ isPinned === "left" && "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6",
4136
+ isPinned === "right" && "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"
4137
+ ),
4138
+ style: {
4139
+ width: selectionColumn && isSelectionCol ? 0 : selectionColumn ? `${header.getSize() / totalDataSize * 100}%` : header.getSize(),
4140
+ minWidth: enableColumnResize ? header.getSize() : void 0,
4141
+ ...isPinned === "left" ? {
4142
+ left: header.column.getStart("left")
4143
+ } : {},
4144
+ ...isPinned === "right" ? {
4145
+ right: header.column.getAfter("right")
4146
+ } : {}
4147
+ },
4148
+ onClick: header.column.getCanSort() ? header.column.getToggleSortingHandler() : void 0,
4149
+ children: [
4150
+ header.isPlaceholder ? null : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
4151
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 truncate", children: flexRender(
4152
+ header.column.columnDef.header,
4153
+ header.getContext()
4154
+ ) }),
4155
+ /* @__PURE__ */ jsxRuntime.jsx(SortIndicator, { column: header.column }),
4156
+ showHeaderMenu && !isSelectionCol && /* @__PURE__ */ jsxRuntime.jsx(
4157
+ HeaderCellMenu,
4158
+ {
4159
+ column: header.column,
4160
+ columnIndex: columnIndexInData,
4161
+ enableAddColumn,
4162
+ enableColumnFreeze,
4163
+ isColumnPinned: isColumnPinned(
4164
+ header.column.id
4165
+ ),
4166
+ canMoveLeft: headerIndex > (selectionColumn ? 1 : 0),
4167
+ canMoveRight: headerIndex < headerGroup.headers.length - 1,
4168
+ onSort: handleSort,
4169
+ onHideColumn: onColumnHideProp ? hideColumn : void 0,
4170
+ onTogglePin: toggleColumnPin,
4171
+ onAddColumn: onColumnAdd,
4172
+ onDeleteColumn: onColumnDelete,
4173
+ onMoveColumn: onColumnUpdate ? (colId, dir) => moveColumn(colId, dir) : void 0,
4174
+ onMoreActionClick
4175
+ }
4176
+ )
4177
+ ] }),
4178
+ enableColumnResize && /* @__PURE__ */ jsxRuntime.jsx(ResizeHandle, { header })
4179
+ ]
4180
+ },
4181
+ header.id
4182
+ );
4183
+ }) }, headerGroup.id);
4184
+ }) }),
4185
+ /* @__PURE__ */ jsxRuntime.jsx(primitives_Table.TableBody, { className: loading ? "opacity-50" : void 0, children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(
4186
+ primitives_Table.TableRow,
4187
+ {
4188
+ "data-state": row.getIsSelected() ? "selected" : void 0,
4189
+ className: utils.cn(
4190
+ "group data-[state=selected]:bg-info",
4191
+ allowRowClick && onRowClick && "cursor-pointer"
4192
+ ),
4193
+ onClick: allowRowClick && onRowClick ? (event) => onRowClick(event, row.original, row.index) : void 0,
4194
+ children: row.getVisibleCells().map((cell) => {
4195
+ const isPinned = cell.column.getIsPinned();
4196
+ const isSelCell = cell.column.id === "_selection";
4197
+ return /* @__PURE__ */ jsxRuntime.jsx(
4198
+ primitives_Table.TableCell,
4199
+ {
4200
+ className: utils.cn(
4201
+ isSelCell && "!pe-2",
4202
+ isPinned && "sticky z-10 bg-background group-hover:bg-muted/50 group-data-[state=selected]:bg-info",
4203
+ isPinned === "left" && "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6",
4204
+ isPinned === "right" && "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"
4205
+ ),
4206
+ style: {
4207
+ width: selectionColumn && isSelCell ? 0 : cell.column.getSize(),
4208
+ minWidth: enableColumnResize ? cell.column.getSize() : void 0,
4209
+ ...isPinned === "left" ? {
4210
+ left: cell.column.getStart("left")
4211
+ } : {},
4212
+ ...isPinned === "right" ? {
4213
+ right: cell.column.getAfter("right")
4214
+ } : {}
4215
+ },
4216
+ children: flexRender(
4217
+ cell.column.columnDef.cell,
4218
+ cell.getContext()
4219
+ )
4220
+ },
4221
+ cell.id
4222
+ );
4223
+ })
4224
+ },
4225
+ row.id
4226
+ )) : /* @__PURE__ */ jsxRuntime.jsx(EmptyState, { colSpan: allColumns.length, message: emptyMessage }) })
4227
+ ] })
4228
+ }
4229
+ ),
4230
+ totalCount !== void 0 && totalCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
4231
+ DataTablePagination,
4232
+ {
4233
+ currentPage,
4234
+ pageCount,
4235
+ onPageChange
4236
+ }
4237
+ )
4238
+ ] });
3847
4239
  };
3848
4240
 
3849
4241
  exports.DataTable = DataTable;
@@ -3853,4 +4245,4 @@ exports.useColumnVisibility = useColumnVisibility;
3853
4245
  exports.useTablePagination = useTablePagination;
3854
4246
  exports.useTableSelection = useTableSelection;
3855
4247
  exports.useTableSort = useTableSort;
3856
- //# sourceMappingURL=DataTable-Dg0pX7Ng.js.map
4248
+ //# sourceMappingURL=DataTable-DRGW8JVP.js.map