@blenx-dev/components 0.0.2 → 0.0.3

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 (643) hide show
  1. package/package.json +209 -38
  2. package/.turbo/turbo-check-types.log +0 -1
  3. package/MIGRATION-PLAN.md +0 -423
  4. package/TASKS.md +0 -192
  5. package/blenx-dev-ui-0.0.0.tgz +0 -0
  6. package/dist/src/components/Accordion/accordion.demo.d.ts +0 -5
  7. package/dist/src/components/Alert/alert.demo.d.ts +0 -6
  8. package/dist/src/components/AlertDialog/alert-dialog.demo.d.ts +0 -5
  9. package/dist/src/components/AlertDialog/alert-dialog.doc.d.ts +0 -1
  10. package/dist/src/components/Avatar/avatar.doc.d.ts +0 -2
  11. package/dist/src/components/Badge/badge.demo.d.ts +0 -5
  12. package/dist/src/components/Badge/badge.doc.d.ts +0 -1
  13. package/dist/src/components/Box/box.doc.d.ts +0 -1
  14. package/dist/src/components/Breadcrumbs/breadcrumbs.doc.d.ts +0 -2
  15. package/dist/src/components/Button/button.demo.d.ts +0 -5
  16. package/dist/src/components/Calendar/calendar.doc.d.ts +0 -1
  17. package/dist/src/components/Card/card.demo.d.ts +0 -8
  18. package/dist/src/components/Card/card.doc.d.ts +0 -2
  19. package/dist/src/components/ColorPicker/color-picker.doc.d.ts +0 -1
  20. package/dist/src/components/ColorSwatch/color-swatch.doc.d.ts +0 -2
  21. package/dist/src/components/Command/command.demo.d.ts +0 -6
  22. package/dist/src/components/Command/command.doc.d.ts +0 -3
  23. package/dist/src/components/Container/container.doc.d.ts +0 -1
  24. package/dist/src/components/DatePicker/date-picker.doc.d.ts +0 -1
  25. package/dist/src/components/Dialog/dialog.demo.d.ts +0 -5
  26. package/dist/src/components/Dialog/dialog.doc.d.ts +0 -1
  27. package/dist/src/components/Drawer/drawer.demo.d.ts +0 -5
  28. package/dist/src/components/Drawer/drawer.doc.d.ts +0 -2
  29. package/dist/src/components/Field/field.doc.d.ts +0 -1
  30. package/dist/src/components/Grid/grid.doc.d.ts +0 -1
  31. package/dist/src/components/Icon/icon.demo.d.ts +0 -5
  32. package/dist/src/components/IconButton/icon-button.demo.d.ts +0 -5
  33. package/dist/src/components/Input/input.demo.d.ts +0 -5
  34. package/dist/src/components/Input/input.doc.d.ts +0 -2
  35. package/dist/src/components/InputGroup/input-group.demo.d.ts +0 -5
  36. package/dist/src/components/Menu/menu.demo.d.ts +0 -5
  37. package/dist/src/components/OTPField/otp-field.demo.d.ts +0 -6
  38. package/dist/src/components/Popover/popover.demo.d.ts +0 -5
  39. package/dist/src/components/ScrollArea/scroll-area.doc.d.ts +0 -2
  40. package/dist/src/components/SegmentedControl/segmented-control.doc.d.ts +0 -1
  41. package/dist/src/components/Select/select.demo.d.ts +0 -5
  42. package/dist/src/components/Select/select.doc.d.ts +0 -2
  43. package/dist/src/components/Separator/separator.doc.d.ts +0 -4
  44. package/dist/src/components/Sheet/sheet.demo.d.ts +0 -5
  45. package/dist/src/components/Spinner/spinner.demo.d.ts +0 -1
  46. package/dist/src/components/Stack/stack.doc.d.ts +0 -3
  47. package/dist/src/components/Surface/surface.doc.d.ts +0 -2
  48. package/dist/src/components/Switch/switch.demo.d.ts +0 -5
  49. package/dist/src/components/Switch/switch.doc.d.ts +0 -2
  50. package/dist/src/components/Table/table.demo.d.ts +0 -5
  51. package/dist/src/components/Tabs/tabs.demo.d.ts +0 -5
  52. package/dist/src/components/Tabs/tabs.doc.d.ts +0 -3
  53. package/dist/src/components/Text/text.doc.d.ts +0 -4
  54. package/dist/src/components/Textarea/textarea.doc.d.ts +0 -2
  55. package/dist/src/components/Toggle/toggle.doc.d.ts +0 -1
  56. package/dist/src/components/ToggleGroup/toggle-group.doc.d.ts +0 -3
  57. package/dist/src/demos/accordion.demo.d.ts +0 -5
  58. package/package.build.json +0 -39
  59. package/scripts/generate-api.ts +0 -183
  60. package/scripts/generate-package.ts +0 -106
  61. package/src/DataTable/data-table-column-toggle.tsx +0 -73
  62. package/src/DataTable/data-table-empty.tsx +0 -27
  63. package/src/DataTable/data-table-error.tsx +0 -25
  64. package/src/DataTable/data-table-infinite-loader.tsx +0 -73
  65. package/src/DataTable/data-table-loading.tsx +0 -67
  66. package/src/DataTable/data-table-pagination.tsx +0 -80
  67. package/src/DataTable/data-table-toolbar.tsx +0 -62
  68. package/src/DataTable/data-table.css.ts +0 -421
  69. package/src/DataTable/data-table.tsx +0 -507
  70. package/src/DataTable/index.ts +0 -24
  71. package/src/DataTable/registry-meta.json +0 -66
  72. package/src/DataTable/types.ts +0 -169
  73. package/src/DataTable/use-infinite-scroll.ts +0 -67
  74. package/src/components/Accordion/accordion.css.ts +0 -93
  75. package/src/components/Accordion/accordion.demo.tsx +0 -42
  76. package/src/components/Accordion/accordion.tsx +0 -87
  77. package/src/components/Accordion/docs-meta.json +0 -13
  78. package/src/components/Accordion/index.ts +0 -8
  79. package/src/components/Accordion/registry-meta.json +0 -19
  80. package/src/components/Alert/alert.css.ts +0 -29
  81. package/src/components/Alert/alert.demo.tsx +0 -34
  82. package/src/components/Alert/alert.tsx +0 -40
  83. package/src/components/Alert/docs-meta.json +0 -12
  84. package/src/components/Alert/index.ts +0 -1
  85. package/src/components/Alert/registry-meta.json +0 -20
  86. package/src/components/AlertDialog/alert-dialog.css.ts +0 -146
  87. package/src/components/AlertDialog/alert-dialog.demo.tsx +0 -59
  88. package/src/components/AlertDialog/alert-dialog.doc.tsx +0 -31
  89. package/src/components/AlertDialog/alert-dialog.tsx +0 -197
  90. package/src/components/AlertDialog/docs-meta.json +0 -14
  91. package/src/components/AlertDialog/index.ts +0 -1
  92. package/src/components/AlertDialog/registry-meta.json +0 -20
  93. package/src/components/Autocomplete/autocomplete.css.ts +0 -168
  94. package/src/components/Autocomplete/autocomplete.tsx +0 -226
  95. package/src/components/Autocomplete/docs-meta.json +0 -9
  96. package/src/components/Autocomplete/index.ts +0 -1
  97. package/src/components/Autocomplete/registry-meta.json +0 -20
  98. package/src/components/Avatar/avatar.css.ts +0 -72
  99. package/src/components/Avatar/avatar.doc.tsx +0 -32
  100. package/src/components/Avatar/avatar.tsx +0 -49
  101. package/src/components/Avatar/docs-meta.json +0 -9
  102. package/src/components/Avatar/index.ts +0 -1
  103. package/src/components/Avatar/registry-meta.json +0 -19
  104. package/src/components/Badge/badge.css.ts +0 -40
  105. package/src/components/Badge/badge.demo.tsx +0 -18
  106. package/src/components/Badge/badge.doc.tsx +0 -12
  107. package/src/components/Badge/badge.tsx +0 -13
  108. package/src/components/Badge/docs-meta.json +0 -9
  109. package/src/components/Badge/index.ts +0 -1
  110. package/src/components/Badge/registry-meta.json +0 -19
  111. package/src/components/Box/box.css.ts +0 -7
  112. package/src/components/Box/box.doc.tsx +0 -19
  113. package/src/components/Box/box.tsx +0 -21
  114. package/src/components/Box/docs-meta.json +0 -9
  115. package/src/components/Box/index.ts +0 -1
  116. package/src/components/Box/registry-meta.json +0 -14
  117. package/src/components/Breadcrumbs/breadcrumbs.css.ts +0 -72
  118. package/src/components/Breadcrumbs/breadcrumbs.doc.tsx +0 -61
  119. package/src/components/Breadcrumbs/breadcrumbs.tsx +0 -79
  120. package/src/components/Breadcrumbs/docs-meta.json +0 -12
  121. package/src/components/Breadcrumbs/index.ts +0 -9
  122. package/src/components/Breadcrumbs/registry-meta.json +0 -19
  123. package/src/components/Button/button.css.ts +0 -209
  124. package/src/components/Button/button.demo.tsx +0 -119
  125. package/src/components/Button/button.tsx +0 -55
  126. package/src/components/Button/docs-meta.json +0 -13
  127. package/src/components/Button/index.ts +0 -1
  128. package/src/components/Button/registry-meta.json +0 -20
  129. package/src/components/Calendar/calendar.css.ts +0 -188
  130. package/src/components/Calendar/calendar.doc.tsx +0 -10
  131. package/src/components/Calendar/calendar.tsx +0 -143
  132. package/src/components/Calendar/docs-meta.json +0 -9
  133. package/src/components/Calendar/index.ts +0 -1
  134. package/src/components/Calendar/registry-meta.json +0 -20
  135. package/src/components/Card/card.demo.tsx +0 -177
  136. package/src/components/Card/card.doc.tsx +0 -47
  137. package/src/components/Card/card.tsx +0 -32
  138. package/src/components/Card/docs-meta.json +0 -9
  139. package/src/components/Card/index.ts +0 -1
  140. package/src/components/Card/registry-meta.json +0 -15
  141. package/src/components/Checkbox/checkbox.css.ts +0 -77
  142. package/src/components/Checkbox/checkbox.tsx +0 -94
  143. package/src/components/Checkbox/docs-meta.json +0 -13
  144. package/src/components/Checkbox/index.ts +0 -1
  145. package/src/components/Checkbox/registry-meta.json +0 -19
  146. package/src/components/CloseButton/close-button.css.ts +0 -11
  147. package/src/components/CloseButton/close-button.tsx +0 -15
  148. package/src/components/CloseButton/index.ts +0 -2
  149. package/src/components/CloseButton/registry-meta.json +0 -15
  150. package/src/components/ColorPicker/color-picker.doc.tsx +0 -12
  151. package/src/components/ColorPicker/color-picker.tsx +0 -123
  152. package/src/components/ColorPicker/docs-meta.json +0 -9
  153. package/src/components/ColorPicker/index.ts +0 -1
  154. package/src/components/ColorPicker/registry-meta.json +0 -15
  155. package/src/components/ColorSwatch/color-swatch.doc.tsx +0 -25
  156. package/src/components/ColorSwatch/color-swatch.tsx +0 -21
  157. package/src/components/ColorSwatch/docs-meta.json +0 -9
  158. package/src/components/ColorSwatch/index.ts +0 -1
  159. package/src/components/ColorSwatch/registry-meta.json +0 -20
  160. package/src/components/Combobox/combobox.css.ts +0 -334
  161. package/src/components/Combobox/combobox.tsx +0 -350
  162. package/src/components/Combobox/docs-meta.json +0 -9
  163. package/src/components/Combobox/index.ts +0 -1
  164. package/src/components/Combobox/registry-meta.json +0 -20
  165. package/src/components/Command/command.css.ts +0 -131
  166. package/src/components/Command/command.demo.tsx +0 -110
  167. package/src/components/Command/command.doc.tsx +0 -100
  168. package/src/components/Command/command.tsx +0 -413
  169. package/src/components/Command/docs-meta.json +0 -21
  170. package/src/components/Command/index.ts +0 -7
  171. package/src/components/Command/registry-meta.json +0 -20
  172. package/src/components/Container/container.css.ts +0 -40
  173. package/src/components/Container/container.doc.tsx +0 -28
  174. package/src/components/Container/container.tsx +0 -24
  175. package/src/components/Container/docs-meta.json +0 -9
  176. package/src/components/Container/index.ts +0 -1
  177. package/src/components/Container/registry-meta.json +0 -20
  178. package/src/components/CopyButton/copy-button.css.ts +0 -11
  179. package/src/components/CopyButton/copy-button.tsx +0 -45
  180. package/src/components/CopyButton/index.ts +0 -2
  181. package/src/components/CopyButton/registry-meta.json +0 -15
  182. package/src/components/DatePicker/date-picker.doc.tsx +0 -12
  183. package/src/components/DatePicker/date-picker.tsx +0 -75
  184. package/src/components/DatePicker/docs-meta.json +0 -9
  185. package/src/components/DatePicker/index.ts +0 -1
  186. package/src/components/DatePicker/registry-meta.json +0 -15
  187. package/src/components/Dialog/dialog.css.ts +0 -155
  188. package/src/components/Dialog/dialog.demo.tsx +0 -39
  189. package/src/components/Dialog/dialog.doc.tsx +0 -33
  190. package/src/components/Dialog/dialog.tsx +0 -186
  191. package/src/components/Dialog/docs-meta.json +0 -13
  192. package/src/components/Dialog/index.ts +0 -1
  193. package/src/components/Dialog/registry-meta.json +0 -20
  194. package/src/components/Drawer/docs-meta.json +0 -9
  195. package/src/components/Drawer/drawer.css.ts +0 -412
  196. package/src/components/Drawer/drawer.demo.tsx +0 -58
  197. package/src/components/Drawer/drawer.doc.tsx +0 -49
  198. package/src/components/Drawer/drawer.tsx +0 -574
  199. package/src/components/Drawer/index.ts +0 -1
  200. package/src/components/Drawer/registry-meta.json +0 -20
  201. package/src/components/Field/docs-meta.json +0 -9
  202. package/src/components/Field/field.css.ts +0 -35
  203. package/src/components/Field/field.doc.tsx +0 -19
  204. package/src/components/Field/field.tsx +0 -101
  205. package/src/components/Field/index.ts +0 -1
  206. package/src/components/Field/registry-meta.json +0 -20
  207. package/src/components/Grid/docs-meta.json +0 -9
  208. package/src/components/Grid/grid.css.ts +0 -12
  209. package/src/components/Grid/grid.doc.tsx +0 -148
  210. package/src/components/Grid/grid.tsx +0 -57
  211. package/src/components/Grid/index.ts +0 -1
  212. package/src/components/Grid/registry-meta.json +0 -20
  213. package/src/components/Icon/docs-meta.json +0 -13
  214. package/src/components/Icon/icon.css.ts +0 -10
  215. package/src/components/Icon/icon.demo.tsx +0 -97
  216. package/src/components/Icon/icon.tsx +0 -15
  217. package/src/components/Icon/index.ts +0 -1
  218. package/src/components/Icon/registry-meta.json +0 -20
  219. package/src/components/IconButton/docs-meta.json +0 -13
  220. package/src/components/IconButton/icon-button.css.ts +0 -6
  221. package/src/components/IconButton/icon-button.demo.tsx +0 -102
  222. package/src/components/IconButton/icon-button.tsx +0 -11
  223. package/src/components/IconButton/index.ts +0 -2
  224. package/src/components/IconButton/registry-meta.json +0 -15
  225. package/src/components/Input/docs-meta.json +0 -9
  226. package/src/components/Input/index.ts +0 -1
  227. package/src/components/Input/input.css.ts +0 -73
  228. package/src/components/Input/input.demo.tsx +0 -24
  229. package/src/components/Input/input.doc.tsx +0 -25
  230. package/src/components/Input/input.tsx +0 -50
  231. package/src/components/Input/registry-meta.json +0 -19
  232. package/src/components/InputGroup/docs-meta.json +0 -9
  233. package/src/components/InputGroup/index.ts +0 -1
  234. package/src/components/InputGroup/input-group.css.ts +0 -157
  235. package/src/components/InputGroup/input-group.demo.tsx +0 -53
  236. package/src/components/InputGroup/input-group.tsx +0 -133
  237. package/src/components/InputGroup/registry-meta.json +0 -19
  238. package/src/components/Menu/docs-meta.json +0 -13
  239. package/src/components/Menu/index.ts +0 -1
  240. package/src/components/Menu/menu.css.ts +0 -128
  241. package/src/components/Menu/menu.demo.tsx +0 -40
  242. package/src/components/Menu/menu.tsx +0 -115
  243. package/src/components/Menu/registry-meta.json +0 -19
  244. package/src/components/OTPField/docs-meta.json +0 -9
  245. package/src/components/OTPField/index.ts +0 -1
  246. package/src/components/OTPField/otp-field.css.ts +0 -55
  247. package/src/components/OTPField/otp-field.demo.tsx +0 -57
  248. package/src/components/OTPField/otp-field.tsx +0 -46
  249. package/src/components/OTPField/registry-meta.json +0 -19
  250. package/src/components/Popover/docs-meta.json +0 -13
  251. package/src/components/Popover/index.ts +0 -1
  252. package/src/components/Popover/popover.css.ts +0 -82
  253. package/src/components/Popover/popover.demo.tsx +0 -34
  254. package/src/components/Popover/popover.tsx +0 -113
  255. package/src/components/Popover/registry-meta.json +0 -19
  256. package/src/components/Progress/docs-meta.json +0 -12
  257. package/src/components/Progress/index.ts +0 -7
  258. package/src/components/Progress/progress.css.ts +0 -38
  259. package/src/components/Progress/progress.tsx +0 -62
  260. package/src/components/Progress/registry-meta.json +0 -19
  261. package/src/components/Radio/docs-meta.json +0 -13
  262. package/src/components/Radio/index.ts +0 -1
  263. package/src/components/Radio/radio.css.ts +0 -73
  264. package/src/components/Radio/radio.tsx +0 -49
  265. package/src/components/Radio/registry-meta.json +0 -19
  266. package/src/components/ScrollArea/docs-meta.json +0 -9
  267. package/src/components/ScrollArea/index.ts +0 -1
  268. package/src/components/ScrollArea/registry-meta.json +0 -19
  269. package/src/components/ScrollArea/scroll-area.css.ts +0 -80
  270. package/src/components/ScrollArea/scroll-area.doc.tsx +0 -44
  271. package/src/components/ScrollArea/scroll-area.tsx +0 -96
  272. package/src/components/SegmentedControl/docs-meta.json +0 -9
  273. package/src/components/SegmentedControl/index.ts +0 -1
  274. package/src/components/SegmentedControl/registry-meta.json +0 -15
  275. package/src/components/SegmentedControl/segmented-control.doc.tsx +0 -28
  276. package/src/components/SegmentedControl/segmented-control.tsx +0 -42
  277. package/src/components/Select/docs-meta.json +0 -13
  278. package/src/components/Select/index.ts +0 -1
  279. package/src/components/Select/registry-meta.json +0 -20
  280. package/src/components/Select/select.css.ts +0 -183
  281. package/src/components/Select/select.demo.tsx +0 -35
  282. package/src/components/Select/select.doc.tsx +0 -65
  283. package/src/components/Select/select.tsx +0 -165
  284. package/src/components/Separator/docs-meta.json +0 -12
  285. package/src/components/Separator/index.ts +0 -1
  286. package/src/components/Separator/registry-meta.json +0 -20
  287. package/src/components/Separator/separator.css.ts +0 -60
  288. package/src/components/Separator/separator.doc.tsx +0 -44
  289. package/src/components/Separator/separator.tsx +0 -34
  290. package/src/components/Sheet/docs-meta.json +0 -13
  291. package/src/components/Sheet/index.ts +0 -1
  292. package/src/components/Sheet/registry-meta.json +0 -20
  293. package/src/components/Sheet/sheet.css.ts +0 -192
  294. package/src/components/Sheet/sheet.demo.tsx +0 -53
  295. package/src/components/Sheet/sheet.tsx +0 -213
  296. package/src/components/Slider/docs-meta.json +0 -13
  297. package/src/components/Slider/index.ts +0 -1
  298. package/src/components/Slider/registry-meta.json +0 -19
  299. package/src/components/Slider/slider.css.ts +0 -82
  300. package/src/components/Slider/slider.tsx +0 -100
  301. package/src/components/Spinner/docs-meta.json +0 -12
  302. package/src/components/Spinner/index.ts +0 -1
  303. package/src/components/Spinner/registry-meta.json +0 -19
  304. package/src/components/Spinner/spinner.css.ts +0 -17
  305. package/src/components/Spinner/spinner.demo.tsx +0 -13
  306. package/src/components/Spinner/spinner.tsx +0 -15
  307. package/src/components/Splitter/docs-meta.json +0 -9
  308. package/src/components/Splitter/index.ts +0 -1
  309. package/src/components/Splitter/registry-meta.json +0 -19
  310. package/src/components/Splitter/splitter.css.ts +0 -70
  311. package/src/components/Splitter/splitter.tsx +0 -521
  312. package/src/components/Stack/docs-meta.json +0 -9
  313. package/src/components/Stack/index.ts +0 -1
  314. package/src/components/Stack/registry-meta.json +0 -20
  315. package/src/components/Stack/stack.css.ts +0 -42
  316. package/src/components/Stack/stack.doc.tsx +0 -57
  317. package/src/components/Stack/stack.tsx +0 -32
  318. package/src/components/Surface/docs-meta.json +0 -9
  319. package/src/components/Surface/index.ts +0 -1
  320. package/src/components/Surface/registry-meta.json +0 -20
  321. package/src/components/Surface/surface.css.ts +0 -40
  322. package/src/components/Surface/surface.doc.tsx +0 -32
  323. package/src/components/Surface/surface.tsx +0 -19
  324. package/src/components/Switch/docs-meta.json +0 -13
  325. package/src/components/Switch/index.ts +0 -1
  326. package/src/components/Switch/registry-meta.json +0 -20
  327. package/src/components/Switch/switch.css.ts +0 -47
  328. package/src/components/Switch/switch.demo.tsx +0 -26
  329. package/src/components/Switch/switch.doc.tsx +0 -25
  330. package/src/components/Switch/switch.tsx +0 -25
  331. package/src/components/Table/docs-meta.json +0 -12
  332. package/src/components/Table/index.ts +0 -2
  333. package/src/components/Table/registry-meta.json +0 -19
  334. package/src/components/Table/table.css.ts +0 -72
  335. package/src/components/Table/table.demo.tsx +0 -58
  336. package/src/components/Table/table.tsx +0 -116
  337. package/src/components/Tabs/docs-meta.json +0 -13
  338. package/src/components/Tabs/index.ts +0 -1
  339. package/src/components/Tabs/registry-meta.json +0 -19
  340. package/src/components/Tabs/tabs.css.ts +0 -259
  341. package/src/components/Tabs/tabs.demo.tsx +0 -33
  342. package/src/components/Tabs/tabs.doc.tsx +0 -62
  343. package/src/components/Tabs/tabs.tsx +0 -119
  344. package/src/components/Text/docs-meta.json +0 -9
  345. package/src/components/Text/index.ts +0 -2
  346. package/src/components/Text/registry-meta.json +0 -19
  347. package/src/components/Text/text.css.ts +0 -167
  348. package/src/components/Text/text.doc.tsx +0 -53
  349. package/src/components/Text/text.tsx +0 -64
  350. package/src/components/Textarea/docs-meta.json +0 -9
  351. package/src/components/Textarea/index.ts +0 -1
  352. package/src/components/Textarea/registry-meta.json +0 -19
  353. package/src/components/Textarea/textarea.css.ts +0 -66
  354. package/src/components/Textarea/textarea.doc.tsx +0 -23
  355. package/src/components/Textarea/textarea.tsx +0 -48
  356. package/src/components/Toggle/docs-meta.json +0 -12
  357. package/src/components/Toggle/index.ts +0 -1
  358. package/src/components/Toggle/registry-meta.json +0 -19
  359. package/src/components/Toggle/toggle.css.ts +0 -101
  360. package/src/components/Toggle/toggle.doc.tsx +0 -24
  361. package/src/components/Toggle/toggle.tsx +0 -60
  362. package/src/components/ToggleGroup/docs-meta.json +0 -9
  363. package/src/components/ToggleGroup/index.ts +0 -1
  364. package/src/components/ToggleGroup/registry-meta.json +0 -20
  365. package/src/components/ToggleGroup/toggle-group.css.ts +0 -77
  366. package/src/components/ToggleGroup/toggle-group.doc.tsx +0 -38
  367. package/src/components/ToggleGroup/toggle-group.tsx +0 -131
  368. package/src/components/index.ts +0 -53
  369. package/src/demos/accordion.demo.tsx +0 -41
  370. package/src/index.ts +0 -3
  371. package/src/utils/heights.ts +0 -16
  372. package/src/utils/sprinkles.css.ts +0 -251
  373. package/src/utils/types.ts +0 -20
  374. package/src/utils/ve-style.utils.ts +0 -24
  375. package/tsconfig.build.json +0 -14
  376. package/tsconfig.json +0 -10
  377. package/vite.config.ts +0 -52
  378. /package/{dist/assets → assets}/components.css +0 -0
  379. /package/{dist/components → components}/Accordion/accordion.css.js +0 -0
  380. /package/{dist/components → components}/Accordion/accordion.js +0 -0
  381. /package/{dist/components → components}/Alert/alert.css.js +0 -0
  382. /package/{dist/components → components}/Alert/alert.js +0 -0
  383. /package/{dist/components → components}/AlertDialog/alert-dialog.css.js +0 -0
  384. /package/{dist/components → components}/AlertDialog/alert-dialog.js +0 -0
  385. /package/{dist/components → components}/Autocomplete/autocomplete.css.js +0 -0
  386. /package/{dist/components → components}/Autocomplete/autocomplete.js +0 -0
  387. /package/{dist/components → components}/Avatar/avatar.css.js +0 -0
  388. /package/{dist/components → components}/Avatar/avatar.js +0 -0
  389. /package/{dist/components → components}/Badge/badge.css.js +0 -0
  390. /package/{dist/components → components}/Badge/badge.js +0 -0
  391. /package/{dist/components → components}/Box/box.css.js +0 -0
  392. /package/{dist/components → components}/Box/box.js +0 -0
  393. /package/{dist/components → components}/Breadcrumbs/breadcrumbs.css.js +0 -0
  394. /package/{dist/components → components}/Breadcrumbs/breadcrumbs.js +0 -0
  395. /package/{dist/components → components}/Button/button.css.js +0 -0
  396. /package/{dist/components → components}/Button/button.js +0 -0
  397. /package/{dist/components → components}/Calendar/calendar.css.js +0 -0
  398. /package/{dist/components → components}/Calendar/calendar.js +0 -0
  399. /package/{dist/components → components}/Card/card.js +0 -0
  400. /package/{dist/components → components}/Checkbox/checkbox.css.js +0 -0
  401. /package/{dist/components → components}/Checkbox/checkbox.js +0 -0
  402. /package/{dist/components → components}/CloseButton/close-button.css.js +0 -0
  403. /package/{dist/components → components}/CloseButton/close-button.js +0 -0
  404. /package/{dist/components → components}/CloseButton/index.js +0 -0
  405. /package/{dist/components → components}/ColorPicker/color-picker.js +0 -0
  406. /package/{dist/components → components}/ColorSwatch/color-swatch.js +0 -0
  407. /package/{dist/components → components}/Combobox/combobox.css.js +0 -0
  408. /package/{dist/components → components}/Combobox/combobox.js +0 -0
  409. /package/{dist/components → components}/Command/command.css.js +0 -0
  410. /package/{dist/components → components}/Command/command.js +0 -0
  411. /package/{dist/components → components}/Container/container.css.js +0 -0
  412. /package/{dist/components → components}/Container/container.js +0 -0
  413. /package/{dist/components → components}/CopyButton/copy-button.css.js +0 -0
  414. /package/{dist/components → components}/CopyButton/copy-button.js +0 -0
  415. /package/{dist/components → components}/CopyButton/index.js +0 -0
  416. /package/{dist/components → components}/Dialog/dialog.css.js +0 -0
  417. /package/{dist/components → components}/Dialog/dialog.js +0 -0
  418. /package/{dist/components → components}/Drawer/drawer.css.js +0 -0
  419. /package/{dist/components → components}/Drawer/drawer.js +0 -0
  420. /package/{dist/components → components}/Field/field.css.js +0 -0
  421. /package/{dist/components → components}/Field/field.js +0 -0
  422. /package/{dist/components → components}/Grid/grid.css.js +0 -0
  423. /package/{dist/components → components}/Grid/grid.js +0 -0
  424. /package/{dist/components → components}/Icon/icon.css.js +0 -0
  425. /package/{dist/components → components}/Icon/icon.js +0 -0
  426. /package/{dist/components → components}/IconButton/icon-button.css.js +0 -0
  427. /package/{dist/components → components}/IconButton/icon-button.js +0 -0
  428. /package/{dist/components → components}/IconButton/index.js +0 -0
  429. /package/{dist/components → components}/Input/input.css.js +0 -0
  430. /package/{dist/components → components}/Input/input.js +0 -0
  431. /package/{dist/components → components}/InputGroup/input-group.css.js +0 -0
  432. /package/{dist/components → components}/InputGroup/input-group.js +0 -0
  433. /package/{dist/components → components}/Menu/menu.css.js +0 -0
  434. /package/{dist/components → components}/Menu/menu.js +0 -0
  435. /package/{dist/components → components}/OTPField/otp-field.css.js +0 -0
  436. /package/{dist/components → components}/OTPField/otp-field.js +0 -0
  437. /package/{dist/components → components}/Popover/popover.css.js +0 -0
  438. /package/{dist/components → components}/Popover/popover.js +0 -0
  439. /package/{dist/components → components}/Progress/progress.css.js +0 -0
  440. /package/{dist/components → components}/Progress/progress.js +0 -0
  441. /package/{dist/components → components}/Radio/radio.css.js +0 -0
  442. /package/{dist/components → components}/Radio/radio.js +0 -0
  443. /package/{dist/components → components}/ScrollArea/scroll-area.css.js +0 -0
  444. /package/{dist/components → components}/ScrollArea/scroll-area.js +0 -0
  445. /package/{dist/components → components}/SegmentedControl/segmented-control.js +0 -0
  446. /package/{dist/components → components}/Select/select.css.js +0 -0
  447. /package/{dist/components → components}/Select/select.js +0 -0
  448. /package/{dist/components → components}/Separator/separator.css.js +0 -0
  449. /package/{dist/components → components}/Separator/separator.js +0 -0
  450. /package/{dist/components → components}/Sheet/sheet.css.js +0 -0
  451. /package/{dist/components → components}/Sheet/sheet.js +0 -0
  452. /package/{dist/components → components}/Slider/slider.css.js +0 -0
  453. /package/{dist/components → components}/Slider/slider.js +0 -0
  454. /package/{dist/components → components}/Spinner/spinner.css.js +0 -0
  455. /package/{dist/components → components}/Spinner/spinner.js +0 -0
  456. /package/{dist/components → components}/Splitter/splitter.css.js +0 -0
  457. /package/{dist/components → components}/Splitter/splitter.js +0 -0
  458. /package/{dist/components → components}/Stack/stack.css.js +0 -0
  459. /package/{dist/components → components}/Stack/stack.js +0 -0
  460. /package/{dist/components → components}/Surface/surface.css.js +0 -0
  461. /package/{dist/components → components}/Surface/surface.js +0 -0
  462. /package/{dist/components → components}/Switch/switch.css.js +0 -0
  463. /package/{dist/components → components}/Switch/switch.js +0 -0
  464. /package/{dist/components → components}/Table/table.css.js +0 -0
  465. /package/{dist/components → components}/Table/table.js +0 -0
  466. /package/{dist/components → components}/Tabs/tabs.css.js +0 -0
  467. /package/{dist/components → components}/Tabs/tabs.js +0 -0
  468. /package/{dist/components → components}/Text/index.js +0 -0
  469. /package/{dist/components → components}/Text/text.css.js +0 -0
  470. /package/{dist/components → components}/Text/text.js +0 -0
  471. /package/{dist/components → components}/Textarea/textarea.css.js +0 -0
  472. /package/{dist/components → components}/Textarea/textarea.js +0 -0
  473. /package/{dist/components → components}/Toggle/toggle.css.js +0 -0
  474. /package/{dist/components → components}/Toggle/toggle.js +0 -0
  475. /package/{dist/components → components}/ToggleGroup/toggle-group.css.js +0 -0
  476. /package/{dist/components → components}/ToggleGroup/toggle-group.js +0 -0
  477. /package/{dist/components → components}/index.js +0 -0
  478. /package/{dist/index.js → index.js} +0 -0
  479. /package/{dist/src → src}/DataTable/data-table-column-toggle.d.ts +0 -0
  480. /package/{dist/src → src}/DataTable/data-table-empty.d.ts +0 -0
  481. /package/{dist/src → src}/DataTable/data-table-error.d.ts +0 -0
  482. /package/{dist/src → src}/DataTable/data-table-infinite-loader.d.ts +0 -0
  483. /package/{dist/src → src}/DataTable/data-table-loading.d.ts +0 -0
  484. /package/{dist/src → src}/DataTable/data-table-pagination.d.ts +0 -0
  485. /package/{dist/src → src}/DataTable/data-table-toolbar.d.ts +0 -0
  486. /package/{dist/src → src}/DataTable/data-table.css.d.ts +0 -0
  487. /package/{dist/src → src}/DataTable/data-table.d.ts +0 -0
  488. /package/{dist/src → src}/DataTable/index.d.ts +0 -0
  489. /package/{dist/src → src}/DataTable/types.d.ts +0 -0
  490. /package/{dist/src → src}/DataTable/use-infinite-scroll.d.ts +0 -0
  491. /package/{dist/src → src}/components/Accordion/accordion.css.d.ts +0 -0
  492. /package/{dist/src → src}/components/Accordion/accordion.d.ts +0 -0
  493. /package/{dist/src → src}/components/Accordion/index.d.ts +0 -0
  494. /package/{dist/src → src}/components/Alert/alert.css.d.ts +0 -0
  495. /package/{dist/src → src}/components/Alert/alert.d.ts +0 -0
  496. /package/{dist/src → src}/components/Alert/index.d.ts +0 -0
  497. /package/{dist/src → src}/components/AlertDialog/alert-dialog.css.d.ts +0 -0
  498. /package/{dist/src → src}/components/AlertDialog/alert-dialog.d.ts +0 -0
  499. /package/{dist/src → src}/components/AlertDialog/index.d.ts +0 -0
  500. /package/{dist/src → src}/components/Autocomplete/autocomplete.css.d.ts +0 -0
  501. /package/{dist/src → src}/components/Autocomplete/autocomplete.d.ts +0 -0
  502. /package/{dist/src → src}/components/Autocomplete/index.d.ts +0 -0
  503. /package/{dist/src → src}/components/Avatar/avatar.css.d.ts +0 -0
  504. /package/{dist/src → src}/components/Avatar/avatar.d.ts +0 -0
  505. /package/{dist/src → src}/components/Avatar/index.d.ts +0 -0
  506. /package/{dist/src → src}/components/Badge/badge.css.d.ts +0 -0
  507. /package/{dist/src → src}/components/Badge/badge.d.ts +0 -0
  508. /package/{dist/src → src}/components/Badge/index.d.ts +0 -0
  509. /package/{dist/src → src}/components/Box/box.css.d.ts +0 -0
  510. /package/{dist/src → src}/components/Box/box.d.ts +0 -0
  511. /package/{dist/src → src}/components/Box/index.d.ts +0 -0
  512. /package/{dist/src → src}/components/Breadcrumbs/breadcrumbs.css.d.ts +0 -0
  513. /package/{dist/src → src}/components/Breadcrumbs/breadcrumbs.d.ts +0 -0
  514. /package/{dist/src → src}/components/Breadcrumbs/index.d.ts +0 -0
  515. /package/{dist/src → src}/components/Button/button.css.d.ts +0 -0
  516. /package/{dist/src → src}/components/Button/button.d.ts +0 -0
  517. /package/{dist/src → src}/components/Button/index.d.ts +0 -0
  518. /package/{dist/src → src}/components/Calendar/calendar.css.d.ts +0 -0
  519. /package/{dist/src → src}/components/Calendar/calendar.d.ts +0 -0
  520. /package/{dist/src → src}/components/Calendar/index.d.ts +0 -0
  521. /package/{dist/src → src}/components/Card/card.d.ts +0 -0
  522. /package/{dist/src → src}/components/Card/index.d.ts +0 -0
  523. /package/{dist/src → src}/components/Checkbox/checkbox.css.d.ts +0 -0
  524. /package/{dist/src → src}/components/Checkbox/checkbox.d.ts +0 -0
  525. /package/{dist/src → src}/components/Checkbox/index.d.ts +0 -0
  526. /package/{dist/src → src}/components/CloseButton/close-button.css.d.ts +0 -0
  527. /package/{dist/src → src}/components/CloseButton/close-button.d.ts +0 -0
  528. /package/{dist/src → src}/components/CloseButton/index.d.ts +0 -0
  529. /package/{dist/src → src}/components/ColorPicker/color-picker.d.ts +0 -0
  530. /package/{dist/src → src}/components/ColorPicker/index.d.ts +0 -0
  531. /package/{dist/src → src}/components/ColorSwatch/color-swatch.d.ts +0 -0
  532. /package/{dist/src → src}/components/ColorSwatch/index.d.ts +0 -0
  533. /package/{dist/src → src}/components/Combobox/combobox.css.d.ts +0 -0
  534. /package/{dist/src → src}/components/Combobox/combobox.d.ts +0 -0
  535. /package/{dist/src → src}/components/Combobox/index.d.ts +0 -0
  536. /package/{dist/src → src}/components/Command/command.css.d.ts +0 -0
  537. /package/{dist/src → src}/components/Command/command.d.ts +0 -0
  538. /package/{dist/src → src}/components/Command/index.d.ts +0 -0
  539. /package/{dist/src → src}/components/Container/container.css.d.ts +0 -0
  540. /package/{dist/src → src}/components/Container/container.d.ts +0 -0
  541. /package/{dist/src → src}/components/Container/index.d.ts +0 -0
  542. /package/{dist/src → src}/components/CopyButton/copy-button.css.d.ts +0 -0
  543. /package/{dist/src → src}/components/CopyButton/copy-button.d.ts +0 -0
  544. /package/{dist/src → src}/components/CopyButton/index.d.ts +0 -0
  545. /package/{dist/src → src}/components/DatePicker/date-picker.d.ts +0 -0
  546. /package/{dist/src → src}/components/DatePicker/index.d.ts +0 -0
  547. /package/{dist/src → src}/components/Dialog/dialog.css.d.ts +0 -0
  548. /package/{dist/src → src}/components/Dialog/dialog.d.ts +0 -0
  549. /package/{dist/src → src}/components/Dialog/index.d.ts +0 -0
  550. /package/{dist/src → src}/components/Drawer/drawer.css.d.ts +0 -0
  551. /package/{dist/src → src}/components/Drawer/drawer.d.ts +0 -0
  552. /package/{dist/src → src}/components/Drawer/index.d.ts +0 -0
  553. /package/{dist/src → src}/components/Field/field.css.d.ts +0 -0
  554. /package/{dist/src → src}/components/Field/field.d.ts +0 -0
  555. /package/{dist/src → src}/components/Field/index.d.ts +0 -0
  556. /package/{dist/src → src}/components/Grid/grid.css.d.ts +0 -0
  557. /package/{dist/src → src}/components/Grid/grid.d.ts +0 -0
  558. /package/{dist/src → src}/components/Grid/index.d.ts +0 -0
  559. /package/{dist/src → src}/components/Icon/icon.css.d.ts +0 -0
  560. /package/{dist/src → src}/components/Icon/icon.d.ts +0 -0
  561. /package/{dist/src → src}/components/Icon/index.d.ts +0 -0
  562. /package/{dist/src → src}/components/IconButton/icon-button.css.d.ts +0 -0
  563. /package/{dist/src → src}/components/IconButton/icon-button.d.ts +0 -0
  564. /package/{dist/src → src}/components/IconButton/index.d.ts +0 -0
  565. /package/{dist/src → src}/components/Input/index.d.ts +0 -0
  566. /package/{dist/src → src}/components/Input/input.css.d.ts +0 -0
  567. /package/{dist/src → src}/components/Input/input.d.ts +0 -0
  568. /package/{dist/src → src}/components/InputGroup/index.d.ts +0 -0
  569. /package/{dist/src → src}/components/InputGroup/input-group.css.d.ts +0 -0
  570. /package/{dist/src → src}/components/InputGroup/input-group.d.ts +0 -0
  571. /package/{dist/src → src}/components/Menu/index.d.ts +0 -0
  572. /package/{dist/src → src}/components/Menu/menu.css.d.ts +0 -0
  573. /package/{dist/src → src}/components/Menu/menu.d.ts +0 -0
  574. /package/{dist/src → src}/components/OTPField/index.d.ts +0 -0
  575. /package/{dist/src → src}/components/OTPField/otp-field.css.d.ts +0 -0
  576. /package/{dist/src → src}/components/OTPField/otp-field.d.ts +0 -0
  577. /package/{dist/src → src}/components/Popover/index.d.ts +0 -0
  578. /package/{dist/src → src}/components/Popover/popover.css.d.ts +0 -0
  579. /package/{dist/src → src}/components/Popover/popover.d.ts +0 -0
  580. /package/{dist/src → src}/components/Progress/index.d.ts +0 -0
  581. /package/{dist/src → src}/components/Progress/progress.css.d.ts +0 -0
  582. /package/{dist/src → src}/components/Progress/progress.d.ts +0 -0
  583. /package/{dist/src → src}/components/Radio/index.d.ts +0 -0
  584. /package/{dist/src → src}/components/Radio/radio.css.d.ts +0 -0
  585. /package/{dist/src → src}/components/Radio/radio.d.ts +0 -0
  586. /package/{dist/src → src}/components/ScrollArea/index.d.ts +0 -0
  587. /package/{dist/src → src}/components/ScrollArea/scroll-area.css.d.ts +0 -0
  588. /package/{dist/src → src}/components/ScrollArea/scroll-area.d.ts +0 -0
  589. /package/{dist/src → src}/components/SegmentedControl/index.d.ts +0 -0
  590. /package/{dist/src → src}/components/SegmentedControl/segmented-control.d.ts +0 -0
  591. /package/{dist/src → src}/components/Select/index.d.ts +0 -0
  592. /package/{dist/src → src}/components/Select/select.css.d.ts +0 -0
  593. /package/{dist/src → src}/components/Select/select.d.ts +0 -0
  594. /package/{dist/src → src}/components/Separator/index.d.ts +0 -0
  595. /package/{dist/src → src}/components/Separator/separator.css.d.ts +0 -0
  596. /package/{dist/src → src}/components/Separator/separator.d.ts +0 -0
  597. /package/{dist/src → src}/components/Sheet/index.d.ts +0 -0
  598. /package/{dist/src → src}/components/Sheet/sheet.css.d.ts +0 -0
  599. /package/{dist/src → src}/components/Sheet/sheet.d.ts +0 -0
  600. /package/{dist/src → src}/components/Slider/index.d.ts +0 -0
  601. /package/{dist/src → src}/components/Slider/slider.css.d.ts +0 -0
  602. /package/{dist/src → src}/components/Slider/slider.d.ts +0 -0
  603. /package/{dist/src → src}/components/Spinner/index.d.ts +0 -0
  604. /package/{dist/src → src}/components/Spinner/spinner.css.d.ts +0 -0
  605. /package/{dist/src → src}/components/Spinner/spinner.d.ts +0 -0
  606. /package/{dist/src → src}/components/Splitter/index.d.ts +0 -0
  607. /package/{dist/src → src}/components/Splitter/splitter.css.d.ts +0 -0
  608. /package/{dist/src → src}/components/Splitter/splitter.d.ts +0 -0
  609. /package/{dist/src → src}/components/Stack/index.d.ts +0 -0
  610. /package/{dist/src → src}/components/Stack/stack.css.d.ts +0 -0
  611. /package/{dist/src → src}/components/Stack/stack.d.ts +0 -0
  612. /package/{dist/src → src}/components/Surface/index.d.ts +0 -0
  613. /package/{dist/src → src}/components/Surface/surface.css.d.ts +0 -0
  614. /package/{dist/src → src}/components/Surface/surface.d.ts +0 -0
  615. /package/{dist/src → src}/components/Switch/index.d.ts +0 -0
  616. /package/{dist/src → src}/components/Switch/switch.css.d.ts +0 -0
  617. /package/{dist/src → src}/components/Switch/switch.d.ts +0 -0
  618. /package/{dist/src → src}/components/Table/index.d.ts +0 -0
  619. /package/{dist/src → src}/components/Table/table.css.d.ts +0 -0
  620. /package/{dist/src → src}/components/Table/table.d.ts +0 -0
  621. /package/{dist/src → src}/components/Tabs/index.d.ts +0 -0
  622. /package/{dist/src → src}/components/Tabs/tabs.css.d.ts +0 -0
  623. /package/{dist/src → src}/components/Tabs/tabs.d.ts +0 -0
  624. /package/{dist/src → src}/components/Text/index.d.ts +0 -0
  625. /package/{dist/src → src}/components/Text/text.css.d.ts +0 -0
  626. /package/{dist/src → src}/components/Text/text.d.ts +0 -0
  627. /package/{dist/src → src}/components/Textarea/index.d.ts +0 -0
  628. /package/{dist/src → src}/components/Textarea/textarea.css.d.ts +0 -0
  629. /package/{dist/src → src}/components/Textarea/textarea.d.ts +0 -0
  630. /package/{dist/src → src}/components/Toggle/index.d.ts +0 -0
  631. /package/{dist/src → src}/components/Toggle/toggle.css.d.ts +0 -0
  632. /package/{dist/src → src}/components/Toggle/toggle.d.ts +0 -0
  633. /package/{dist/src → src}/components/ToggleGroup/index.d.ts +0 -0
  634. /package/{dist/src → src}/components/ToggleGroup/toggle-group.css.d.ts +0 -0
  635. /package/{dist/src → src}/components/ToggleGroup/toggle-group.d.ts +0 -0
  636. /package/{dist/src → src}/components/index.d.ts +0 -0
  637. /package/{dist/src → src}/index.d.ts +0 -0
  638. /package/{dist/src → src}/utils/heights.d.ts +0 -0
  639. /package/{dist/src → src}/utils/sprinkles.css.d.ts +0 -0
  640. /package/{dist/src → src}/utils/types.d.ts +0 -0
  641. /package/{dist/src → src}/utils/ve-style.utils.d.ts +0 -0
  642. /package/{dist/utils → utils}/sprinkles.css.js +0 -0
  643. /package/{dist/utils → utils}/ve-style.utils.js +0 -0
@@ -1,507 +0,0 @@
1
- import { CaretDownIcon, CaretUpIcon } from "@phosphor-icons/react";
2
- import clsx from "clsx";
3
- import {
4
- type ColumnDef,
5
- type ColumnFiltersState,
6
- flexRender,
7
- getCoreRowModel,
8
- getExpandedRowModel,
9
- getFacetedRowModel,
10
- getFacetedUniqueValues,
11
- getFilteredRowModel,
12
- getPaginationRowModel,
13
- getSortedRowModel,
14
- type PaginationState,
15
- type Row,
16
- type RowSelectionState,
17
- type SortingState,
18
- useReactTable,
19
- type VisibilityState,
20
- } from "@tanstack/react-table";
21
- import { type UIEvent, useCallback, useMemo, useRef, useState } from "react";
22
- import { DataTableEmpty } from "./data-table-empty";
23
- import { DataTableError } from "./data-table-error";
24
- import { DataTableInfiniteLoader } from "./data-table-infinite-loader";
25
- import { DataTableLoading } from "./data-table-loading";
26
- import { DataTablePagination } from "./data-table-pagination";
27
- import { DataTableToolbar } from "./data-table-toolbar";
28
- import type { DataTableProps, RowAction, TableFeatures } from "./types";
29
- import { Button, Spinner } from "../components";
30
- import * as styles from "./data-table.css";
31
-
32
- const DEFAULT_FEATURES: TableFeatures = {
33
- sorting: true,
34
- globalSearch: true,
35
- pagination: true,
36
- columnVisibility: true,
37
- rowSelection: false,
38
- columnResizing: false,
39
- columnPinning: false,
40
- stickyHeader: false,
41
- rowActions: false,
42
- bulkActions: false,
43
- };
44
-
45
- function IndeterminateCheckbox({
46
- checked,
47
- indeterminate,
48
- onChange,
49
- label,
50
- }: {
51
- checked: boolean;
52
- indeterminate: boolean;
53
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
54
- label: string;
55
- }) {
56
- const ref = useRef<HTMLInputElement>(null);
57
- useMemo(() => {
58
- if (ref.current) {
59
- ref.current.indeterminate = indeterminate;
60
- }
61
- }, [indeterminate]);
62
-
63
- return (
64
- <input
65
- ref={ref}
66
- type="checkbox"
67
- checked={checked}
68
- onChange={onChange}
69
- aria-label={label}
70
- className={styles.checkbox}
71
- />
72
- );
73
- }
74
-
75
- function useDataTableStates<TData extends Record<string, unknown>>(
76
- props: Partial<DataTableProps<TData>>,
77
- ) {
78
- const [sorting, setSorting] = useState<SortingState>(props.initialSorting ?? []);
79
- const [pagination, setPagination] = useState<PaginationState>(
80
- props.initialPagination ?? { pageIndex: 0, pageSize: 10 },
81
- );
82
- const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>(
83
- props.initialColumnFilters ?? [],
84
- );
85
- const [globalFilter, setGlobalFilter] = useState(props.initialGlobalFilter ?? "");
86
- const [rowSelection, setRowSelection] = useState<RowSelectionState>(
87
- props.initialRowSelection ?? {},
88
- );
89
-
90
- const handlePaginationChange = useCallback(
91
- (v: PaginationState | ((old: PaginationState) => PaginationState)) => {
92
- const next = typeof v === "function" ? v(pagination) : v;
93
- setPagination(next);
94
- props.callbacks?.onPaginationChange?.(next);
95
- },
96
- [pagination, props.callbacks],
97
- );
98
- const handleSortingChange = useCallback(
99
- (v: SortingState | ((old: SortingState) => SortingState)) => {
100
- const next = typeof v === "function" ? v(sorting) : v;
101
- setSorting(next);
102
- props.callbacks?.onSortingChange?.(next);
103
- if (props.mode === "server") setPagination((p) => ({ ...p, pageIndex: 0 }));
104
- },
105
- [sorting, props.callbacks, props.mode],
106
- );
107
-
108
- const handleGlobalFilterChange = useCallback(
109
- (value: string) => {
110
- setGlobalFilter(value);
111
- props.callbacks?.onGlobalFilterChange?.(value);
112
- setPagination((p) => ({ ...p, pageIndex: 0 }));
113
- },
114
- [props.callbacks],
115
- );
116
-
117
- const handleColumnFiltersChange = useCallback(
118
- (v: ColumnFiltersState | ((old: ColumnFiltersState) => ColumnFiltersState)) => {
119
- const next = typeof v === "function" ? v(columnFilters) : v;
120
- setColumnFilters(next);
121
- props.callbacks?.onColumnFiltersChange?.(next);
122
- },
123
- [columnFilters, props.callbacks],
124
- );
125
-
126
- const handleRowSelectionChange = useCallback(
127
- (v: RowSelectionState | ((old: RowSelectionState) => RowSelectionState)) => {
128
- const next = typeof v === "function" ? v(rowSelection) : v;
129
- setRowSelection(next);
130
- props.callbacks?.onRowSelectionChange?.(next);
131
- },
132
- [rowSelection, props.callbacks],
133
- );
134
- return {
135
- sorting,
136
- handleSortingChange,
137
- columnFilters,
138
- handleColumnFiltersChange,
139
- pagination,
140
- handlePaginationChange,
141
- globalFilter,
142
- handleGlobalFilterChange,
143
- rowSelection,
144
- handleRowSelectionChange,
145
- };
146
- }
147
- export function DataTable<TData extends Record<string, unknown>>({
148
- columns,
149
- data,
150
- pageCount,
151
- mode = "client",
152
- isLoading,
153
- isFetching,
154
- isError,
155
- errorMessage,
156
- fetchNextPage,
157
- hasNextPage,
158
- isFetchingNextPage,
159
- features: featuresProp,
160
- size = "md",
161
- infiniteScroll,
162
- columnPinning,
163
- slots,
164
- rowActions,
165
- initialSorting,
166
- initialPagination,
167
- initialColumnFilters,
168
- initialGlobalFilter,
169
- initialColumnVisibility,
170
- initialRowSelection,
171
- callbacks,
172
- tableOptions,
173
- className,
174
- style,
175
- }: DataTableProps<TData>) {
176
- const features = useMemo(() => ({ ...DEFAULT_FEATURES, ...featuresProp }), [featuresProp]);
177
-
178
- const [columnVisibility, setColumnVisibility] = useState<VisibilityState>(
179
- initialColumnVisibility ?? {},
180
- );
181
- const {
182
- sorting,
183
- handleSortingChange,
184
- pagination,
185
- handlePaginationChange,
186
- columnFilters,
187
- handleColumnFiltersChange,
188
- globalFilter,
189
- handleGlobalFilterChange,
190
- rowSelection,
191
- handleRowSelectionChange,
192
- } = useDataTableStates({
193
- initialPagination,
194
- initialSorting,
195
- initialColumnFilters,
196
- initialGlobalFilter,
197
- initialColumnVisibility,
198
- initialRowSelection,
199
- callbacks,
200
- mode,
201
- });
202
-
203
- const stableColumns = useMemo(() => {
204
- let result: ColumnDef<TData, unknown>[] = columns;
205
-
206
- if (features.rowSelection) {
207
- result = [
208
- {
209
- id: "select",
210
- header: ({ table }) => (
211
- <IndeterminateCheckbox
212
- checked={table.getIsAllPageRowsSelected()}
213
- indeterminate={table.getIsSomePageRowsSelected()}
214
- onChange={table.getToggleAllPageRowsSelectedHandler()}
215
- label="Select all rows"
216
- />
217
- ),
218
- cell: ({ row }) => (
219
- <IndeterminateCheckbox
220
- checked={row.getIsSelected()}
221
- indeterminate={row.getIsSomeSelected()}
222
- onChange={row.getToggleSelectedHandler()}
223
- label={`Select row ${row.id}`}
224
- />
225
- ),
226
- enableSorting: false,
227
- enableHiding: false,
228
- size: 40,
229
- } satisfies ColumnDef<TData, unknown>,
230
- ...result,
231
- ];
232
- }
233
-
234
- if (features.rowActions && rowActions && rowActions.length > 0) {
235
- result = [
236
- ...result,
237
- {
238
- id: "actions",
239
- header: "Actions",
240
- cell: ({ row }) => <RowActionsCell row={row} actions={rowActions} />,
241
- enableSorting: false,
242
- enableHiding: false,
243
- size: 80,
244
- } satisfies ColumnDef<TData, unknown>,
245
- ];
246
- }
247
-
248
- return result;
249
- }, [columns, features.rowSelection, features.rowActions, rowActions]);
250
-
251
- const displayedData = useMemo(() => data ?? [], [data]);
252
- const enablePagination = features.pagination && mode !== "infinite";
253
-
254
- const table = useReactTable<TData>({
255
- data: displayedData,
256
- columns: stableColumns,
257
- state: {
258
- sorting,
259
- pagination: enablePagination ? pagination : undefined,
260
- columnFilters,
261
- globalFilter,
262
- rowSelection,
263
- columnVisibility,
264
- columnPinning: {
265
- left: columnPinning?.left ?? [],
266
- right: columnPinning?.right ?? [],
267
- },
268
- },
269
- onSortingChange: handleSortingChange,
270
- onPaginationChange: handlePaginationChange,
271
- onColumnFiltersChange: handleColumnFiltersChange,
272
- onGlobalFilterChange: handleGlobalFilterChange,
273
- onRowSelectionChange: handleRowSelectionChange,
274
- onColumnVisibilityChange: setColumnVisibility,
275
- enableRowSelection: features.rowSelection,
276
- enableSorting: features.sorting,
277
- enableColumnResizing: features.columnResizing,
278
- enableColumnPinning: features.columnPinning,
279
- getCoreRowModel: getCoreRowModel(),
280
- getSortedRowModel: features.sorting ? getSortedRowModel() : undefined,
281
- getFilteredRowModel: getFilteredRowModel(),
282
- getPaginationRowModel:
283
- enablePagination && mode === "client" ? getPaginationRowModel() : undefined,
284
- getExpandedRowModel: getExpandedRowModel(),
285
- getFacetedRowModel: getFacetedRowModel(),
286
- getFacetedUniqueValues: getFacetedUniqueValues(),
287
- manualPagination: mode === "server",
288
- manualSorting: mode === "server",
289
- manualFiltering: mode === "server",
290
- pageCount: mode === "server" ? (pageCount ?? 0) : undefined,
291
- autoResetPageIndex: false,
292
- ...tableOptions,
293
- } as Parameters<typeof useReactTable<TData>>[0]);
294
-
295
- const selectedRowModel = table.getSelectedRowModel();
296
- const selectedRows = useMemo(
297
- () => selectedRowModel.rows.map((r) => r.original),
298
- [selectedRowModel.rows],
299
- );
300
- const { rows } = table.getRowModel();
301
- const headerGroups = table.getHeaderGroups();
302
-
303
- const showPagination = enablePagination && mode === "client" && rows.length > 0;
304
- const showInfiniteLoader = mode === "infinite" && fetchNextPage;
305
- const showToolbar =
306
- features.globalSearch ||
307
- features.columnVisibility ||
308
- slots?.toolbar ||
309
- (features.bulkActions && selectedRows.length > 0);
310
-
311
- const tableContainerRef = useRef<HTMLDivElement>(null);
312
- const [isScrolled, setIsScrolled] = useState(false);
313
- const handleScroll = useCallback((e: UIEvent<HTMLDivElement>) => {
314
- setIsScrolled((e.target as HTMLDivElement).scrollTop > 0);
315
- }, []);
316
-
317
- const emptyState = useMemo(() => slots?.empty ?? <DataTableEmpty />, [slots?.empty]);
318
- const loadingState = useMemo(
319
- () => slots?.loading ?? <DataTableLoading columnCount={stableColumns.length} size={size} />,
320
- [slots?.loading, stableColumns.length, size],
321
- );
322
- const errorState = useMemo(
323
- () => slots?.error ?? <DataTableError message={errorMessage} />,
324
- [slots?.error, errorMessage],
325
- );
326
-
327
- if (isError) return <div className={className}>{errorState}</div>;
328
- if (isLoading) return <div className={className}>{loadingState}</div>;
329
-
330
- return (
331
- <div className={className} style={style}>
332
- {showToolbar && (
333
- <DataTableToolbar
334
- table={table}
335
- features={features}
336
- globalSearch={globalFilter}
337
- onGlobalSearchChange={handleGlobalFilterChange}
338
- customToolbar={slots?.toolbar}
339
- bulkActions={
340
- features.bulkActions
341
- ? ((
342
- tableOptions as {
343
- bulkActions?: {
344
- label: string;
345
- onClick: (rows: TData[]) => void;
346
- }[];
347
- }
348
- )?.bulkActions ?? undefined)
349
- : undefined
350
- }
351
- selectedRows={selectedRows}
352
- />
353
- )}
354
-
355
- <div ref={tableContainerRef} onScroll={handleScroll} className={styles.tableContainer}>
356
- <table className={styles.table} aria-label="Data table">
357
- <thead
358
- className={
359
- features.stickyHeader
360
- ? isScrolled
361
- ? styles.theadStickyScrolled
362
- : styles.theadSticky
363
- : styles.theadStatic
364
- }
365
- >
366
- {headerGroups.map((hg) => (
367
- <tr key={hg.id} className={styles.headRow}>
368
- {hg.headers.map((header) => {
369
- const isSorted = header.column.getIsSorted();
370
- const isSortable = header.column.getCanSort();
371
- return (
372
- <th
373
- key={header.id}
374
- colSpan={header.colSpan}
375
- className={clsx(
376
- styles.th,
377
- size === "sm" && styles.thSm,
378
- size === "lg" && styles.thLg,
379
- isSortable && styles.thSortable,
380
- )}
381
- onClick={isSortable ? header.column.getToggleSortingHandler() : undefined}
382
- aria-sort={
383
- isSorted === "asc"
384
- ? "ascending"
385
- : isSorted === "desc"
386
- ? "descending"
387
- : undefined
388
- }
389
- aria-label={
390
- isSortable
391
- ? `Sort by ${header.column.columnDef.header?.toString() ?? header.id}`
392
- : undefined
393
- }
394
- >
395
- <div className={styles.thContent}>
396
- {header.isPlaceholder
397
- ? null
398
- : flexRender(header.column.columnDef.header, header.getContext())}
399
- {isSorted === "asc" && <CaretUpIcon size={10} aria-hidden="true" />}
400
- {isSorted === "desc" && <CaretDownIcon size={10} aria-hidden="true" />}
401
- </div>
402
- </th>
403
- );
404
- })}
405
- </tr>
406
- ))}
407
- </thead>
408
- <tbody>
409
- {rows.length === 0 ? (
410
- <tr>
411
- <td colSpan={stableColumns.length} className={styles.emptyTd}>
412
- {emptyState}
413
- </td>
414
- </tr>
415
- ) : (
416
- rows.map((row) => {
417
- const selected = row.getIsSelected();
418
- return (
419
- <tr
420
- key={row.id}
421
- onClick={() => callbacks?.onRowClick?.(row.original)}
422
- onKeyDown={(e) => {
423
- if (e.key === "Enter" || e.key === " ") callbacks?.onRowClick?.(row.original);
424
- }}
425
- tabIndex={callbacks?.onRowClick ? 0 : undefined}
426
- role={callbacks?.onRowClick ? "button" : undefined}
427
- className={clsx(
428
- styles.tr,
429
- size === "sm" && styles.trSm,
430
- size === "lg" && styles.trLg,
431
- selected && styles.trSelected,
432
- )}
433
- aria-selected={selected}
434
- >
435
- {row.getVisibleCells().map((cell) => (
436
- <td
437
- key={cell.id}
438
- className={clsx(
439
- styles.td,
440
- size === "sm" && styles.tdSm,
441
- size === "lg" && styles.tdLg,
442
- )}
443
- >
444
- {flexRender(cell.column.columnDef.cell, cell.getContext())}
445
- </td>
446
- ))}
447
- </tr>
448
- );
449
- })
450
- )}
451
- </tbody>
452
- </table>
453
- </div>
454
-
455
- {isFetching && !isFetchingNextPage && mode !== "client" && (
456
- <div className={styles.fetchingBar}>
457
- <Spinner />
458
- <span className={styles.fetchingText}>Updating...</span>
459
- </div>
460
- )}
461
-
462
- {showPagination && <DataTablePagination table={table} />}
463
-
464
- {showInfiniteLoader && (
465
- <DataTableInfiniteLoader
466
- fetchNextPage={fetchNextPage}
467
- hasNextPage={Boolean(hasNextPage)}
468
- isFetchingNextPage={Boolean(isFetchingNextPage)}
469
- isFetching={isFetching}
470
- config={infiniteScroll}
471
- />
472
- )}
473
- </div>
474
- );
475
- }
476
-
477
- interface RowActionsCellProps<TData> {
478
- row: Row<TData>;
479
- actions: RowAction<TData>[];
480
- }
481
-
482
- function RowActionsCell<TData>({ row, actions }: RowActionsCellProps<TData>) {
483
- return (
484
- <div className={styles.actionsCell}>
485
- {actions.map((action, i) => {
486
- const isDisabled =
487
- typeof action.disabled === "function" ? action.disabled(row.original) : action.disabled;
488
- return (
489
- <Button
490
- key={`row-action-${i.toString()}`}
491
- variant="ghost"
492
- size="small"
493
- disabled={isDisabled}
494
- onClick={(e) => {
495
- e.stopPropagation();
496
- action.onClick(row.original);
497
- }}
498
- aria-label={action.label}
499
- >
500
- {action.icon && <span>{action.icon}</span>}
501
- {action.label}
502
- </Button>
503
- );
504
- })}
505
- </div>
506
- );
507
- }
@@ -1,24 +0,0 @@
1
- export { DataTable } from "./data-table";
2
- export { DataTableColumnToggle } from "./data-table-column-toggle";
3
- export { DataTableEmpty } from "./data-table-empty";
4
- export { DataTableError } from "./data-table-error";
5
- export { DataTableInfiniteLoader } from "./data-table-infinite-loader";
6
- export { DataTableLoading } from "./data-table-loading";
7
- export { DataTablePagination } from "./data-table-pagination";
8
- export { DataTableToolbar } from "./data-table-toolbar";
9
- export type {
10
- BulkAction,
11
- ColumnPinningOptions,
12
- DataTableProps,
13
- InfiniteScrollConfig,
14
- InfiniteScrollMode,
15
- RowAction,
16
- ServerTableResponse,
17
- ServerTableState,
18
- TableCallbacks,
19
- TableFeatures,
20
- TableMode,
21
- TableSize,
22
- TableSlots,
23
- } from "./types";
24
- export { useInfiniteScroll } from "./use-infinite-scroll";
@@ -1,66 +0,0 @@
1
- {
2
- "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
- "name": "data-table",
4
- "type": "registry:ui",
5
- "title": "Data Table",
6
- "description": "A feature-rich data table component with sorting, filtering, pagination, column visibility, row selection, infinite scroll, and server-side support.",
7
- "registryDependencies": ["button", "input", "menu", "spinner"],
8
- "files": [
9
- {
10
- "file": "data-table.tsx",
11
- "type": "registry:component",
12
- "target": "@components/data-table/data-table.tsx"
13
- },
14
- {
15
- "file": "data-table-column-toggle.tsx",
16
- "type": "registry:file",
17
- "target": "@components/data-table/data-table-column-toggle.tsx"
18
- },
19
- {
20
- "file": "data-table-empty.tsx",
21
- "type": "registry:file",
22
- "target": "@components/data-table/data-table-empty.tsx"
23
- },
24
- {
25
- "file": "data-table-error.tsx",
26
- "type": "registry:file",
27
- "target": "@components/data-table/data-table-error.tsx"
28
- },
29
- {
30
- "file": "data-table-infinite-loader.tsx",
31
- "type": "registry:file",
32
- "target": "@components/data-table/data-table-infinite-loader.tsx"
33
- },
34
- {
35
- "file": "data-table-loading.tsx",
36
- "type": "registry:file",
37
- "target": "@components/data-table/data-table-loading.tsx"
38
- },
39
- {
40
- "file": "data-table-pagination.tsx",
41
- "type": "registry:file",
42
- "target": "@components/data-table/data-table-pagination.tsx"
43
- },
44
- {
45
- "file": "data-table-toolbar.tsx",
46
- "type": "registry:file",
47
- "target": "@components/data-table/data-table-toolbar.tsx"
48
- },
49
- {
50
- "file": "types.ts",
51
- "type": "registry:file",
52
- "target": "@ui/data-table/types.ts"
53
- },
54
- {
55
- "file": "index.ts",
56
- "type": "registry:file",
57
- "target": "@components/data-table/index.ts"
58
- },
59
- {
60
- "file": "use-infinite-scroll.ts",
61
- "type": "registry:file",
62
- "target": "@components/data-table/use-infinite-scroll.ts"
63
- }
64
- ],
65
- "dependencies": ["@stylexjs/stylex", "@phosphor-icons/react", "@tanstack/react-table"]
66
- }