@bigbinary/neeto-atoms 1.0.36 → 1.0.38

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