material-react-table 2.0.0-beta.0 → 2.0.0-beta.10

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 (510) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +281 -263
  3. package/dist/{esm/material-react-table.esm.js → index.esm.js} +1018 -968
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/{cjs/index.js → index.js} +1098 -1135
  6. package/dist/index.js.map +1 -0
  7. package/locales/ar.d.ts +1 -0
  8. package/locales/ar.js +0 -3
  9. package/locales/{ar.esm.js → ar.mjs} +0 -1
  10. package/locales/az.d.ts +3 -0
  11. package/locales/az.js +95 -0
  12. package/locales/az.mjs +93 -0
  13. package/locales/bg.d.ts +1 -0
  14. package/locales/bg.js +0 -3
  15. package/locales/{bg.esm.js → bg.mjs} +0 -1
  16. package/locales/cs.d.ts +1 -0
  17. package/locales/cs.js +0 -3
  18. package/locales/{cs.esm.js → cs.mjs} +0 -1
  19. package/locales/da.d.ts +1 -0
  20. package/locales/da.js +0 -3
  21. package/locales/{da.esm.js → da.mjs} +0 -1
  22. package/locales/de.d.ts +1 -0
  23. package/locales/de.js +0 -3
  24. package/locales/{de.esm.js → de.mjs} +0 -1
  25. package/locales/en.d.ts +1 -0
  26. package/locales/en.js +0 -3
  27. package/locales/{en.esm.js → en.mjs} +0 -1
  28. package/locales/es.d.ts +1 -0
  29. package/locales/es.js +0 -3
  30. package/locales/{es.esm.js → es.mjs} +0 -1
  31. package/locales/et.d.ts +1 -0
  32. package/locales/et.js +0 -3
  33. package/locales/{et.esm.js → et.mjs} +0 -1
  34. package/locales/fa.d.ts +1 -0
  35. package/locales/fa.js +0 -3
  36. package/locales/{fa.esm.js → fa.mjs} +0 -1
  37. package/locales/fi.d.ts +1 -0
  38. package/locales/fi.js +0 -3
  39. package/locales/{fi.esm.js → fi.mjs} +0 -1
  40. package/locales/fr.d.ts +1 -0
  41. package/locales/fr.js +0 -3
  42. package/locales/{fr.esm.js → fr.mjs} +0 -1
  43. package/locales/hu.d.ts +1 -0
  44. package/locales/hu.js +0 -3
  45. package/locales/{hu.esm.js → hu.mjs} +0 -1
  46. package/locales/hy.d.ts +1 -0
  47. package/locales/hy.js +0 -3
  48. package/locales/{hy.esm.js → hy.mjs} +0 -1
  49. package/locales/id.d.ts +1 -0
  50. package/locales/id.js +0 -3
  51. package/locales/{id.esm.js → id.mjs} +0 -1
  52. package/locales/it.d.ts +1 -0
  53. package/locales/it.js +0 -3
  54. package/locales/{it.esm.js → it.mjs} +0 -1
  55. package/locales/ja.d.ts +1 -0
  56. package/locales/ja.js +0 -3
  57. package/locales/{ja.esm.js → ja.mjs} +0 -1
  58. package/locales/ko.d.ts +1 -0
  59. package/locales/ko.js +0 -3
  60. package/locales/{ko.esm.js → ko.mjs} +0 -1
  61. package/locales/nl.d.ts +1 -0
  62. package/locales/nl.js +0 -3
  63. package/locales/{nl.esm.js → nl.mjs} +0 -1
  64. package/locales/no.d.ts +2 -1
  65. package/locales/no.js +0 -3
  66. package/locales/{no.esm.js → no.mjs} +0 -1
  67. package/locales/np.d.ts +1 -0
  68. package/locales/np.js +0 -3
  69. package/locales/{np.esm.js → np.mjs} +0 -1
  70. package/locales/pl.d.ts +1 -0
  71. package/locales/pl.js +0 -3
  72. package/locales/{pl.esm.js → pl.mjs} +0 -1
  73. package/locales/pt-BR.d.ts +1 -0
  74. package/locales/pt-BR.js +0 -3
  75. package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
  76. package/locales/pt.d.ts +1 -0
  77. package/locales/pt.js +0 -3
  78. package/locales/{pt.esm.js → pt.mjs} +0 -1
  79. package/locales/ro.d.ts +1 -0
  80. package/locales/ro.js +0 -3
  81. package/locales/{ro.esm.js → ro.mjs} +0 -1
  82. package/locales/ru.d.ts +1 -0
  83. package/locales/ru.js +0 -3
  84. package/locales/{ru.esm.js → ru.mjs} +0 -1
  85. package/locales/sk.d.ts +1 -0
  86. package/locales/sk.js +0 -3
  87. package/locales/{sk.esm.js → sk.mjs} +0 -1
  88. package/locales/sr-Cyrl-RS.d.ts +1 -0
  89. package/locales/sr-Cyrl-RS.js +0 -3
  90. package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
  91. package/locales/sr-Latn-RS.d.ts +1 -0
  92. package/locales/sr-Latn-RS.js +0 -3
  93. package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
  94. package/locales/sv.d.ts +1 -0
  95. package/locales/sv.js +0 -3
  96. package/locales/{sv.esm.js → sv.mjs} +0 -1
  97. package/locales/tr.d.ts +1 -0
  98. package/locales/tr.js +0 -3
  99. package/locales/{tr.esm.js → tr.mjs} +0 -1
  100. package/locales/uk.d.ts +1 -0
  101. package/locales/uk.js +0 -3
  102. package/locales/{uk.esm.js → uk.mjs} +0 -1
  103. package/locales/vi.d.ts +1 -0
  104. package/locales/vi.js +0 -3
  105. package/locales/{vi.esm.js → vi.mjs} +0 -1
  106. package/locales/zh-Hans.d.ts +1 -0
  107. package/locales/zh-Hans.js +17 -20
  108. package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
  109. package/locales/zh-Hant.d.ts +1 -0
  110. package/locales/zh-Hant.js +0 -3
  111. package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
  112. package/package.json +215 -32
  113. package/src/MaterialReactTable.tsx +5 -4
  114. package/src/body/MRT_TableBody.tsx +19 -8
  115. package/src/body/MRT_TableBodyCell.tsx +95 -74
  116. package/src/body/MRT_TableBodyCellValue.tsx +13 -9
  117. package/src/body/MRT_TableBodyRow.tsx +27 -16
  118. package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
  119. package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
  120. package/src/body/MRT_TableDetailPanel.tsx +20 -13
  121. package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
  122. package/src/buttons/MRT_CopyButton.tsx +12 -11
  123. package/src/buttons/MRT_EditActionButtons.tsx +17 -7
  124. package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
  125. package/src/buttons/MRT_ExpandButton.tsx +10 -8
  126. package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
  127. package/src/buttons/MRT_RowPinButton.tsx +14 -7
  128. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
  129. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
  130. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
  131. package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
  132. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
  133. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
  134. package/src/column.utils.ts +46 -141
  135. package/src/filterFns.ts +15 -14
  136. package/src/footer/MRT_TableFooter.tsx +11 -7
  137. package/src/footer/MRT_TableFooterCell.tsx +21 -16
  138. package/src/footer/MRT_TableFooterRow.tsx +14 -9
  139. package/src/head/MRT_TableHead.tsx +10 -6
  140. package/src/head/MRT_TableHeadCell.tsx +122 -103
  141. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
  142. package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
  143. package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
  144. package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
  145. package/src/head/MRT_TableHeadCellResizeHandle.tsx +21 -11
  146. package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
  147. package/src/head/MRT_TableHeadRow.tsx +15 -9
  148. package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
  149. package/src/hooks/useMRT_Effects.ts +6 -2
  150. package/src/hooks/useMRT_TableInstance.ts +3 -2
  151. package/src/hooks/useMRT_TableOptions.ts +29 -4
  152. package/src/index.ts +1 -0
  153. package/src/inputs/MRT_EditCellTextField.tsx +26 -4
  154. package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
  155. package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
  156. package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
  157. package/src/inputs/MRT_FilterTextField.tsx +13 -5
  158. package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
  159. package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
  160. package/src/locales/az.ts +94 -0
  161. package/src/locales/no.ts +1 -1
  162. package/src/locales/zh-Hans.ts +17 -17
  163. package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
  164. package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
  165. package/src/menus/MRT_RowActionMenu.tsx +10 -4
  166. package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
  167. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
  168. package/src/modals/MRT_EditRowModal.tsx +17 -11
  169. package/src/sortingFns.ts +3 -3
  170. package/src/style.utils.ts +149 -0
  171. package/src/table/MRT_Table.tsx +28 -34
  172. package/src/table/MRT_TableContainer.tsx +17 -46
  173. package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
  174. package/src/table/MRT_TablePaper.tsx +13 -6
  175. package/src/table/index.ts +1 -0
  176. package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
  177. package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
  178. package/src/toolbar/MRT_TablePagination.tsx +25 -12
  179. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
  180. package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
  181. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
  182. package/src/toolbar/MRT_TopToolbar.tsx +11 -24
  183. package/src/types.ts +98 -56
  184. package/src/useMaterialReactTable.ts +8 -7
  185. package/dist/cjs/index.js.map +0 -1
  186. package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
  187. package/dist/cjs/types/aggregationFns.d.ts +0 -11
  188. package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
  189. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
  190. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  191. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
  192. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  193. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  194. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
  195. package/dist/cjs/types/body/index.d.ts +0 -7
  196. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  197. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
  198. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  199. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  200. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
  201. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  202. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
  203. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  204. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  205. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  206. package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  207. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  208. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  209. package/dist/cjs/types/buttons/index.d.ts +0 -13
  210. package/dist/cjs/types/column.utils.d.ts +0 -148
  211. package/dist/cjs/types/filterFns.d.ts +0 -68
  212. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
  213. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
  214. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
  215. package/dist/cjs/types/footer/index.d.ts +0 -3
  216. package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
  217. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
  218. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  219. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  220. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  221. package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  222. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  223. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  224. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
  225. package/dist/cjs/types/head/index.d.ts +0 -9
  226. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  227. package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
  228. package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
  229. package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
  230. package/dist/cjs/types/icons.d.ts +0 -36
  231. package/dist/cjs/types/index.d.ts +0 -16
  232. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  233. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  234. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  235. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  236. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
  237. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  238. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  239. package/dist/cjs/types/inputs/index.d.ts +0 -7
  240. package/dist/cjs/types/locales/ar.d.ts +0 -2
  241. package/dist/cjs/types/locales/bg.d.ts +0 -2
  242. package/dist/cjs/types/locales/cs.d.ts +0 -2
  243. package/dist/cjs/types/locales/da.d.ts +0 -2
  244. package/dist/cjs/types/locales/de.d.ts +0 -2
  245. package/dist/cjs/types/locales/en.d.ts +0 -2
  246. package/dist/cjs/types/locales/es.d.ts +0 -2
  247. package/dist/cjs/types/locales/et.d.ts +0 -2
  248. package/dist/cjs/types/locales/fa.d.ts +0 -2
  249. package/dist/cjs/types/locales/fi.d.ts +0 -2
  250. package/dist/cjs/types/locales/fr.d.ts +0 -2
  251. package/dist/cjs/types/locales/hu.d.ts +0 -2
  252. package/dist/cjs/types/locales/hy.d.ts +0 -2
  253. package/dist/cjs/types/locales/id.d.ts +0 -2
  254. package/dist/cjs/types/locales/it.d.ts +0 -2
  255. package/dist/cjs/types/locales/ja.d.ts +0 -2
  256. package/dist/cjs/types/locales/ko.d.ts +0 -2
  257. package/dist/cjs/types/locales/nl.d.ts +0 -2
  258. package/dist/cjs/types/locales/no.d.ts +0 -2
  259. package/dist/cjs/types/locales/np.d.ts +0 -2
  260. package/dist/cjs/types/locales/pl.d.ts +0 -2
  261. package/dist/cjs/types/locales/pt-BR.d.ts +0 -2
  262. package/dist/cjs/types/locales/pt.d.ts +0 -2
  263. package/dist/cjs/types/locales/ro.d.ts +0 -2
  264. package/dist/cjs/types/locales/ru.d.ts +0 -2
  265. package/dist/cjs/types/locales/sk.d.ts +0 -2
  266. package/dist/cjs/types/locales/sr-Cyrl-RS.d.ts +0 -2
  267. package/dist/cjs/types/locales/sr-Latn-RS.d.ts +0 -2
  268. package/dist/cjs/types/locales/sv.d.ts +0 -2
  269. package/dist/cjs/types/locales/tr.d.ts +0 -2
  270. package/dist/cjs/types/locales/uk.d.ts +0 -2
  271. package/dist/cjs/types/locales/vi.d.ts +0 -2
  272. package/dist/cjs/types/locales/zh-Hans.d.ts +0 -2
  273. package/dist/cjs/types/locales/zh-Hant.d.ts +0 -2
  274. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  275. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  276. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
  277. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  278. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  279. package/dist/cjs/types/menus/index.d.ts +0 -5
  280. package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
  281. package/dist/cjs/types/modals/index.d.ts +0 -1
  282. package/dist/cjs/types/sortingFns.d.ts +0 -12
  283. package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
  284. package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
  285. package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
  286. package/dist/cjs/types/table/index.d.ts +0 -4
  287. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  288. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  289. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
  290. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  291. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  292. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  293. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  294. package/dist/cjs/types/toolbar/index.d.ts +0 -7
  295. package/dist/cjs/types/types.d.ts +0 -818
  296. package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
  297. package/dist/esm/material-react-table.esm.js.map +0 -1
  298. package/dist/esm/types/MaterialReactTable.d.ts +0 -7
  299. package/dist/esm/types/aggregationFns.d.ts +0 -11
  300. package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
  301. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
  302. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  303. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
  304. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  305. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  306. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
  307. package/dist/esm/types/body/index.d.ts +0 -7
  308. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  309. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
  310. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  311. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  312. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
  313. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  314. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
  315. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  316. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  317. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  318. package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  319. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  320. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  321. package/dist/esm/types/buttons/index.d.ts +0 -13
  322. package/dist/esm/types/column.utils.d.ts +0 -148
  323. package/dist/esm/types/filterFns.d.ts +0 -68
  324. package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
  325. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
  326. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
  327. package/dist/esm/types/footer/index.d.ts +0 -3
  328. package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
  329. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
  330. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  331. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  332. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  333. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  334. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  335. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  336. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
  337. package/dist/esm/types/head/index.d.ts +0 -9
  338. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  339. package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
  340. package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
  341. package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
  342. package/dist/esm/types/icons.d.ts +0 -36
  343. package/dist/esm/types/index.d.ts +0 -16
  344. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  345. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  346. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  347. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  348. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
  349. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  350. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  351. package/dist/esm/types/inputs/index.d.ts +0 -7
  352. package/dist/esm/types/locales/ar.d.ts +0 -2
  353. package/dist/esm/types/locales/bg.d.ts +0 -2
  354. package/dist/esm/types/locales/cs.d.ts +0 -2
  355. package/dist/esm/types/locales/da.d.ts +0 -2
  356. package/dist/esm/types/locales/de.d.ts +0 -2
  357. package/dist/esm/types/locales/en.d.ts +0 -2
  358. package/dist/esm/types/locales/es.d.ts +0 -2
  359. package/dist/esm/types/locales/et.d.ts +0 -2
  360. package/dist/esm/types/locales/fa.d.ts +0 -2
  361. package/dist/esm/types/locales/fi.d.ts +0 -2
  362. package/dist/esm/types/locales/fr.d.ts +0 -2
  363. package/dist/esm/types/locales/hu.d.ts +0 -2
  364. package/dist/esm/types/locales/hy.d.ts +0 -2
  365. package/dist/esm/types/locales/id.d.ts +0 -2
  366. package/dist/esm/types/locales/it.d.ts +0 -2
  367. package/dist/esm/types/locales/ja.d.ts +0 -2
  368. package/dist/esm/types/locales/ko.d.ts +0 -2
  369. package/dist/esm/types/locales/nl.d.ts +0 -2
  370. package/dist/esm/types/locales/no.d.ts +0 -2
  371. package/dist/esm/types/locales/np.d.ts +0 -2
  372. package/dist/esm/types/locales/pl.d.ts +0 -2
  373. package/dist/esm/types/locales/pt-BR.d.ts +0 -2
  374. package/dist/esm/types/locales/pt.d.ts +0 -2
  375. package/dist/esm/types/locales/ro.d.ts +0 -2
  376. package/dist/esm/types/locales/ru.d.ts +0 -2
  377. package/dist/esm/types/locales/sk.d.ts +0 -2
  378. package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
  379. package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
  380. package/dist/esm/types/locales/sv.d.ts +0 -2
  381. package/dist/esm/types/locales/tr.d.ts +0 -2
  382. package/dist/esm/types/locales/uk.d.ts +0 -2
  383. package/dist/esm/types/locales/vi.d.ts +0 -2
  384. package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
  385. package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
  386. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  387. package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  388. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
  389. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  390. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  391. package/dist/esm/types/menus/index.d.ts +0 -5
  392. package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
  393. package/dist/esm/types/modals/index.d.ts +0 -1
  394. package/dist/esm/types/sortingFns.d.ts +0 -12
  395. package/dist/esm/types/table/MRT_Table.d.ts +0 -6
  396. package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
  397. package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
  398. package/dist/esm/types/table/index.d.ts +0 -4
  399. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  400. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  401. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
  402. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  403. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  404. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  405. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  406. package/dist/esm/types/toolbar/index.d.ts +0 -7
  407. package/dist/esm/types/types.d.ts +0 -818
  408. package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
  409. package/locales/ar.esm.d.ts +0 -2
  410. package/locales/ar.esm.js.map +0 -1
  411. package/locales/ar.js.map +0 -1
  412. package/locales/bg.esm.d.ts +0 -2
  413. package/locales/bg.esm.js.map +0 -1
  414. package/locales/bg.js.map +0 -1
  415. package/locales/cs.esm.d.ts +0 -2
  416. package/locales/cs.esm.js.map +0 -1
  417. package/locales/cs.js.map +0 -1
  418. package/locales/da.esm.d.ts +0 -2
  419. package/locales/da.esm.js.map +0 -1
  420. package/locales/da.js.map +0 -1
  421. package/locales/de.esm.d.ts +0 -2
  422. package/locales/de.esm.js.map +0 -1
  423. package/locales/de.js.map +0 -1
  424. package/locales/en.esm.d.ts +0 -2
  425. package/locales/en.esm.js.map +0 -1
  426. package/locales/en.js.map +0 -1
  427. package/locales/es.esm.d.ts +0 -2
  428. package/locales/es.esm.js.map +0 -1
  429. package/locales/es.js.map +0 -1
  430. package/locales/et.esm.d.ts +0 -2
  431. package/locales/et.esm.js.map +0 -1
  432. package/locales/et.js.map +0 -1
  433. package/locales/fa.esm.d.ts +0 -2
  434. package/locales/fa.esm.js.map +0 -1
  435. package/locales/fa.js.map +0 -1
  436. package/locales/fi.esm.d.ts +0 -2
  437. package/locales/fi.esm.js.map +0 -1
  438. package/locales/fi.js.map +0 -1
  439. package/locales/fr.esm.d.ts +0 -2
  440. package/locales/fr.esm.js.map +0 -1
  441. package/locales/fr.js.map +0 -1
  442. package/locales/hu.esm.d.ts +0 -2
  443. package/locales/hu.esm.js.map +0 -1
  444. package/locales/hu.js.map +0 -1
  445. package/locales/hy.esm.d.ts +0 -2
  446. package/locales/hy.esm.js.map +0 -1
  447. package/locales/hy.js.map +0 -1
  448. package/locales/id.esm.d.ts +0 -2
  449. package/locales/id.esm.js.map +0 -1
  450. package/locales/id.js.map +0 -1
  451. package/locales/it.esm.d.ts +0 -2
  452. package/locales/it.esm.js.map +0 -1
  453. package/locales/it.js.map +0 -1
  454. package/locales/ja.esm.d.ts +0 -2
  455. package/locales/ja.esm.js.map +0 -1
  456. package/locales/ja.js.map +0 -1
  457. package/locales/ko.esm.d.ts +0 -2
  458. package/locales/ko.esm.js.map +0 -1
  459. package/locales/ko.js.map +0 -1
  460. package/locales/nl.esm.d.ts +0 -2
  461. package/locales/nl.esm.js.map +0 -1
  462. package/locales/nl.js.map +0 -1
  463. package/locales/no.esm.d.ts +0 -2
  464. package/locales/no.esm.js.map +0 -1
  465. package/locales/no.js.map +0 -1
  466. package/locales/np.esm.d.ts +0 -2
  467. package/locales/np.esm.js.map +0 -1
  468. package/locales/np.js.map +0 -1
  469. package/locales/pl.esm.d.ts +0 -2
  470. package/locales/pl.esm.js.map +0 -1
  471. package/locales/pl.js.map +0 -1
  472. package/locales/pt-BR.esm.d.ts +0 -2
  473. package/locales/pt-BR.esm.js.map +0 -1
  474. package/locales/pt-BR.js.map +0 -1
  475. package/locales/pt.esm.d.ts +0 -2
  476. package/locales/pt.esm.js.map +0 -1
  477. package/locales/pt.js.map +0 -1
  478. package/locales/ro.esm.d.ts +0 -2
  479. package/locales/ro.esm.js.map +0 -1
  480. package/locales/ro.js.map +0 -1
  481. package/locales/ru.esm.d.ts +0 -2
  482. package/locales/ru.esm.js.map +0 -1
  483. package/locales/ru.js.map +0 -1
  484. package/locales/sk.esm.d.ts +0 -2
  485. package/locales/sk.esm.js.map +0 -1
  486. package/locales/sk.js.map +0 -1
  487. package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
  488. package/locales/sr-Cyrl-RS.esm.js.map +0 -1
  489. package/locales/sr-Cyrl-RS.js.map +0 -1
  490. package/locales/sr-Latn-RS.esm.d.ts +0 -2
  491. package/locales/sr-Latn-RS.esm.js.map +0 -1
  492. package/locales/sr-Latn-RS.js.map +0 -1
  493. package/locales/sv.esm.d.ts +0 -2
  494. package/locales/sv.esm.js.map +0 -1
  495. package/locales/sv.js.map +0 -1
  496. package/locales/tr.esm.d.ts +0 -2
  497. package/locales/tr.esm.js.map +0 -1
  498. package/locales/tr.js.map +0 -1
  499. package/locales/uk.esm.d.ts +0 -2
  500. package/locales/uk.esm.js.map +0 -1
  501. package/locales/uk.js.map +0 -1
  502. package/locales/vi.esm.d.ts +0 -2
  503. package/locales/vi.esm.js.map +0 -1
  504. package/locales/vi.js.map +0 -1
  505. package/locales/zh-Hans.esm.d.ts +0 -2
  506. package/locales/zh-Hans.esm.js.map +0 -1
  507. package/locales/zh-Hans.js.map +0 -1
  508. package/locales/zh-Hant.esm.d.ts +0 -2
  509. package/locales/zh-Hant.esm.js.map +0 -1
  510. package/locales/zh-Hant.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { type CSSProperties, type ReactNode } from 'react';
1
+ import { type ReactNode } from 'react';
2
2
  import {
3
3
  createRow as _createRow,
4
4
  flexRender as _flexRender,
@@ -6,32 +6,32 @@ import {
6
6
  type Row,
7
7
  } from '@tanstack/react-table';
8
8
  import { type Range, defaultRangeExtractor } from '@tanstack/react-virtual';
9
- import { type TableCellProps } from '@mui/material/TableCell';
10
- import { alpha, lighten } from '@mui/material/styles';
11
- import { type Theme } from '@mui/material/styles';
12
9
  import { type MRT_AggregationFns } from './aggregationFns';
13
10
  import { type MRT_FilterFns } from './filterFns';
14
11
  import { type MRT_SortingFns } from './sortingFns';
15
12
  import {
16
13
  type MRT_Column,
17
14
  type MRT_ColumnDef,
15
+ type MRT_ColumnHelper,
18
16
  type MRT_ColumnOrderState,
19
17
  type MRT_DefinedColumnDef,
18
+ type MRT_DisplayColumnDef,
20
19
  type MRT_DisplayColumnIds,
21
20
  type MRT_FilterOption,
21
+ type MRT_GroupColumnDef,
22
22
  type MRT_GroupingState,
23
- type MRT_Header,
24
23
  type MRT_Row,
24
+ type MRT_RowData,
25
25
  type MRT_TableInstance,
26
26
  type MRT_TableOptions,
27
27
  } from './types';
28
28
 
29
- export const getColumnId = <TData extends Record<string, any>>(
29
+ export const getColumnId = <TData extends MRT_RowData>(
30
30
  columnDef: MRT_ColumnDef<TData>,
31
31
  ): string =>
32
32
  columnDef.id ?? columnDef.accessorKey?.toString?.() ?? columnDef.header;
33
33
 
34
- export const getAllLeafColumnDefs = <TData extends Record<string, any>>(
34
+ export const getAllLeafColumnDefs = <TData extends MRT_RowData>(
35
35
  columns: MRT_ColumnDef<TData>[],
36
36
  ): MRT_ColumnDef<TData>[] => {
37
37
  const allLeafColumnDefs: MRT_ColumnDef<TData>[] = [];
@@ -48,7 +48,7 @@ export const getAllLeafColumnDefs = <TData extends Record<string, any>>(
48
48
  return allLeafColumnDefs;
49
49
  };
50
50
 
51
- export const prepareColumns = <TData extends Record<string, any>>({
51
+ export const prepareColumns = <TData extends MRT_RowData>({
52
52
  aggregationFns,
53
53
  columnDefs,
54
54
  columnFilterFns,
@@ -122,7 +122,7 @@ export const prepareColumns = <TData extends Record<string, any>>({
122
122
  return columnDef;
123
123
  }) as MRT_DefinedColumnDef<TData>[];
124
124
 
125
- export const reorderColumn = <TData extends Record<string, any>>(
125
+ export const reorderColumn = <TData extends MRT_RowData>(
126
126
  draggedColumn: MRT_Column<TData>,
127
127
  targetColumn: MRT_Column<TData>,
128
128
  columnOrder: MRT_ColumnOrderState,
@@ -139,7 +139,7 @@ export const reorderColumn = <TData extends Record<string, any>>(
139
139
  return newColumnOrder;
140
140
  };
141
141
 
142
- export const showExpandColumn = <TData extends Record<string, any>>(
142
+ export const showExpandColumn = <TData extends MRT_RowData>(
143
143
  props: MRT_TableOptions<TData>,
144
144
  grouping?: MRT_GroupingState,
145
145
  ) =>
@@ -149,7 +149,7 @@ export const showExpandColumn = <TData extends Record<string, any>>(
149
149
  props.renderDetailPanel
150
150
  );
151
151
 
152
- export const getLeadingDisplayColumnIds = <TData extends Record<string, any>>(
152
+ export const getLeadingDisplayColumnIds = <TData extends MRT_RowData>(
153
153
  props: MRT_TableOptions<TData>,
154
154
  ) =>
155
155
  [
@@ -167,10 +167,9 @@ export const getLeadingDisplayColumnIds = <TData extends Record<string, any>>(
167
167
  'mrt-row-expand',
168
168
  props.enableRowSelection && 'mrt-row-select',
169
169
  props.enableRowNumbers && 'mrt-row-numbers',
170
- props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
171
170
  ].filter(Boolean) as MRT_DisplayColumnIds[];
172
171
 
173
- export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
172
+ export const getTrailingDisplayColumnIds = <TData extends MRT_RowData>(
174
173
  props: MRT_TableOptions<TData>,
175
174
  ) =>
176
175
  [
@@ -182,9 +181,10 @@ export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
182
181
  props.positionExpandColumn === 'last' &&
183
182
  showExpandColumn(props) &&
184
183
  'mrt-row-expand',
184
+ props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
185
185
  ].filter(Boolean) as MRT_DisplayColumnIds[];
186
186
 
187
- export const getDefaultColumnOrderIds = <TData extends Record<string, any>>(
187
+ export const getDefaultColumnOrderIds = <TData extends MRT_RowData>(
188
188
  props: MRT_TableOptions<TData>,
189
189
  ) => {
190
190
  const leadingDisplayCols: string[] = getLeadingDisplayColumnIds(props);
@@ -199,7 +199,7 @@ export const getDefaultColumnOrderIds = <TData extends Record<string, any>>(
199
199
  return [...leadingDisplayCols, ...allLeafColumnDefs, ...trailingDisplayCols];
200
200
  };
201
201
 
202
- export const getDefaultColumnFilterFn = <TData extends Record<string, any>>(
202
+ export const getDefaultColumnFilterFn = <TData extends MRT_RowData>(
203
203
  columnDef: MRT_ColumnDef<TData>,
204
204
  ): MRT_FilterOption => {
205
205
  if (columnDef.filterVariant === 'multi-select') return 'arrIncludesSome';
@@ -212,7 +212,7 @@ export const getDefaultColumnFilterFn = <TData extends Record<string, any>>(
212
212
  return 'fuzzy';
213
213
  };
214
214
 
215
- export const getIsFirstColumn = <TData extends Record<string, any>>(
215
+ export const getIsFirstColumn = <TData extends MRT_RowData>(
216
216
  column: MRT_Column<TData>,
217
217
  table: MRT_TableInstance<TData>,
218
218
  ) => {
@@ -222,7 +222,7 @@ export const getIsFirstColumn = <TData extends Record<string, any>>(
222
222
  : table.getVisibleLeafColumns()[0].id === column.id;
223
223
  };
224
224
 
225
- export const getIsLastColumn = <TData extends Record<string, any>>(
225
+ export const getIsLastColumn = <TData extends MRT_RowData>(
226
226
  column: MRT_Column<TData>,
227
227
  table: MRT_TableInstance<TData>,
228
228
  ) => {
@@ -233,7 +233,7 @@ export const getIsLastColumn = <TData extends Record<string, any>>(
233
233
  : columns[columns.length - 1].id === column.id;
234
234
  };
235
235
 
236
- export const getIsLastLeftPinnedColumn = <TData extends Record<string, any>>(
236
+ export const getIsLastLeftPinnedColumn = <TData extends MRT_RowData>(
237
237
  table: MRT_TableInstance<TData>,
238
238
  column: MRT_Column<TData>,
239
239
  ) => {
@@ -243,13 +243,13 @@ export const getIsLastLeftPinnedColumn = <TData extends Record<string, any>>(
243
243
  );
244
244
  };
245
245
 
246
- export const getIsFirstRightPinnedColumn = <TData extends Record<string, any>>(
246
+ export const getIsFirstRightPinnedColumn = <TData extends MRT_RowData>(
247
247
  column: MRT_Column<TData>,
248
248
  ) => {
249
249
  return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
250
250
  };
251
251
 
252
- export const getTotalRight = <TData extends Record<string, any>>(
252
+ export const getTotalRight = <TData extends MRT_RowData>(
253
253
  table: MRT_TableInstance<TData>,
254
254
  column: MRT_Column<TData>,
255
255
  ) => {
@@ -259,7 +259,7 @@ export const getTotalRight = <TData extends Record<string, any>>(
259
259
  .reduce((acc, col) => acc + col.getSize(), 0);
260
260
  };
261
261
 
262
- export const getCanRankRows = <TData extends Record<string, any>>(
262
+ export const getCanRankRows = <TData extends MRT_RowData>(
263
263
  table: MRT_TableInstance<TData>,
264
264
  ) => {
265
265
  const { getState, options } = table;
@@ -284,132 +284,17 @@ export const getCanRankRows = <TData extends Record<string, any>>(
284
284
  );
285
285
  };
286
286
 
287
- export const getCommonCellStyles = <TData extends Record<string, any>>({
288
- column,
289
- header,
290
- table,
291
- tableCellProps,
292
- theme,
293
- }: {
294
- column: MRT_Column<TData>;
295
- header?: MRT_Header<TData>;
296
- table: MRT_TableInstance<TData>;
297
- tableCellProps: TableCellProps;
298
- theme: Theme;
299
- }) => {
300
- const {
301
- options: { layoutMode },
302
- } = table;
303
- const widthStyles: CSSProperties = {
304
- minWidth: `max(calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
305
- header?.id ?? column.id,
306
- )}-size) * 1px), ${column.columnDef.minSize ?? 30}px)`,
307
- width: `calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
308
- header?.id ?? column.id,
309
- )}-size) * 1px)`,
310
- };
311
-
312
- if (layoutMode === 'grid') {
313
- widthStyles.flex = `var(--${header ? 'header' : 'col'}-${parseCSSVarId(
314
- header?.id ?? column.id,
315
- )}-size) 0 auto`;
316
- } else if (layoutMode === 'grid-no-grow') {
317
- widthStyles.flex = '0 0 auto';
318
- }
319
-
320
- return {
321
- backgroundColor:
322
- column.getIsPinned() && column.columnDef.columnDefType !== 'group'
323
- ? alpha(lighten(theme.palette.background.default, 0.04), 0.97)
324
- : 'inherit',
325
- backgroundImage: 'inherit',
326
- boxShadow: getIsLastLeftPinnedColumn(table, column)
327
- ? `-4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
328
- : getIsFirstRightPinnedColumn(column)
329
- ? `4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
330
- : undefined,
331
- display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
332
- left:
333
- column.getIsPinned() === 'left'
334
- ? `${column.getStart('left')}px`
335
- : undefined,
336
- ml:
337
- table.options.enableColumnVirtualization &&
338
- column.getIsPinned() === 'left' &&
339
- column.getPinnedIndex() === 0
340
- ? `-${
341
- column.getSize() *
342
- (table.getState().columnPinning.left?.length ?? 1)
343
- }px`
344
- : undefined,
345
- mr:
346
- table.options.enableColumnVirtualization &&
347
- column.getIsPinned() === 'right' &&
348
- column.getPinnedIndex() === table.getVisibleLeafColumns().length - 1
349
- ? `-${
350
- column.getSize() *
351
- (table.getState().columnPinning.right?.length ?? 1) *
352
- 1.2
353
- }px`
354
- : undefined,
355
- opacity:
356
- table.getState().draggingColumn?.id === column.id ||
357
- table.getState().hoveredColumn?.id === column.id
358
- ? 0.5
359
- : 1,
360
- position:
361
- column.getIsPinned() && column.columnDef.columnDefType !== 'group'
362
- ? 'sticky'
363
- : undefined,
364
- right:
365
- column.getIsPinned() === 'right'
366
- ? `${getTotalRight(table, column)}px`
367
- : undefined,
368
- transition: table.options.enableColumnVirtualization
369
- ? 'none'
370
- : `padding 150ms ease-in-out`,
371
- ...widthStyles,
372
- // ...(!table.options.enableColumnResizing && widthStyles), //let devs pass in width styles if column resizing is disabled
373
- ...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
374
- // ...(table.options.enableColumnResizing && widthStyles), //don't let devs pass in width styles if column resizing is enabled
375
- };
376
- };
377
-
378
- export const MRT_DefaultColumn = {
379
- filterVariant: 'text',
380
- maxSize: 1000,
381
- minSize: 40,
382
- size: 180,
383
- } as const;
384
-
385
- export const MRT_DefaultDisplayColumn = {
386
- columnDefType: 'display',
387
- enableClickToCopy: false,
388
- enableColumnActions: false,
389
- enableColumnDragging: false,
390
- enableColumnFilter: false,
391
- enableColumnOrdering: false,
392
- enableEditing: false,
393
- enableGlobalFilter: false,
394
- enableGrouping: false,
395
- enableHiding: false,
396
- enableResizing: false,
397
- enableSorting: false,
398
- } as const;
399
-
400
287
  export const parseFromValuesOrFunc = <T, U>(
401
288
  fn: ((arg: U) => T) | T | undefined,
402
289
  arg: U,
403
290
  ): T | undefined => (fn instanceof Function ? fn(arg) : fn);
404
291
 
405
- export const parseCSSVarId = (id: string) => id.replace(/[^a-zA-Z0-9]/g, '_');
406
-
407
292
  export const flexRender = _flexRender as (
408
293
  Comp: Renderable<any>,
409
294
  props: any,
410
295
  ) => JSX.Element | ReactNode;
411
296
 
412
- export const createRow = <TData extends Record<string, any>>(
297
+ export const createRow = <TData extends MRT_RowData>(
413
298
  table: MRT_TableInstance<TData>,
414
299
  originalRow?: TData,
415
300
  ): MRT_Row<TData> =>
@@ -431,15 +316,35 @@ export const extraIndexRangeExtractor = (
431
316
  range: Range,
432
317
  draggingIndex: number,
433
318
  ) => {
434
- const newIndexs = defaultRangeExtractor(range);
319
+ const newIndexes = defaultRangeExtractor(range);
435
320
  if (
436
321
  draggingIndex >= 0 &&
437
322
  draggingIndex < Math.max(range.startIndex - range.overscan, 0)
438
323
  ) {
439
- newIndexs.unshift(draggingIndex);
324
+ newIndexes.unshift(draggingIndex);
440
325
  }
441
326
  if (draggingIndex >= 0 && draggingIndex > range.endIndex + range.overscan) {
442
- newIndexs.push(draggingIndex);
327
+ newIndexes.push(draggingIndex);
443
328
  }
444
- return newIndexs;
329
+ return newIndexes;
445
330
  };
331
+
332
+ export function createMRTColumnHelper<
333
+ TData extends MRT_RowData,
334
+ >(): MRT_ColumnHelper<TData> {
335
+ return {
336
+ accessor: (accessor, column) => {
337
+ return typeof accessor === 'function'
338
+ ? ({
339
+ ...column,
340
+ accessorFn: accessor,
341
+ } as any)
342
+ : {
343
+ ...column,
344
+ accessorKey: accessor,
345
+ };
346
+ },
347
+ display: (column) => column as MRT_DisplayColumnDef<TData>,
348
+ group: (column) => column as MRT_GroupColumnDef<TData>,
349
+ };
350
+ }
package/src/filterFns.ts CHANGED
@@ -4,8 +4,9 @@ import {
4
4
  rankings,
5
5
  } from '@tanstack/match-sorter-utils';
6
6
  import { type Row, filterFns } from '@tanstack/react-table';
7
+ import { type MRT_RowData } from './types';
7
8
 
8
- const fuzzy = <TData extends Record<string, any>>(
9
+ const fuzzy = <TData extends MRT_RowData>(
9
10
  row: Row<TData>,
10
11
  columnId: string,
11
12
  filterValue: number | string,
@@ -20,7 +21,7 @@ const fuzzy = <TData extends Record<string, any>>(
20
21
 
21
22
  fuzzy.autoRemove = (val: any) => !val;
22
23
 
23
- const contains = <TData extends Record<string, any>>(
24
+ const contains = <TData extends MRT_RowData>(
24
25
  row: Row<TData>,
25
26
  id: string,
26
27
  filterValue: number | string,
@@ -34,7 +35,7 @@ const contains = <TData extends Record<string, any>>(
34
35
 
35
36
  contains.autoRemove = (val: any) => !val;
36
37
 
37
- const startsWith = <TData extends Record<string, any>>(
38
+ const startsWith = <TData extends MRT_RowData>(
38
39
  row: Row<TData>,
39
40
  id: string,
40
41
  filterValue: number | string,
@@ -48,7 +49,7 @@ const startsWith = <TData extends Record<string, any>>(
48
49
 
49
50
  startsWith.autoRemove = (val: any) => !val;
50
51
 
51
- const endsWith = <TData extends Record<string, any>>(
52
+ const endsWith = <TData extends MRT_RowData>(
52
53
  row: Row<TData>,
53
54
  id: string,
54
55
  filterValue: number | string,
@@ -62,7 +63,7 @@ const endsWith = <TData extends Record<string, any>>(
62
63
 
63
64
  endsWith.autoRemove = (val: any) => !val;
64
65
 
65
- const equals = <TData extends Record<string, any>>(
66
+ const equals = <TData extends MRT_RowData>(
66
67
  row: Row<TData>,
67
68
  id: string,
68
69
  filterValue: number | string,
@@ -72,7 +73,7 @@ const equals = <TData extends Record<string, any>>(
72
73
 
73
74
  equals.autoRemove = (val: any) => !val;
74
75
 
75
- const notEquals = <TData extends Record<string, any>>(
76
+ const notEquals = <TData extends MRT_RowData>(
76
77
  row: Row<TData>,
77
78
  id: string,
78
79
  filterValue: number | string,
@@ -82,7 +83,7 @@ const notEquals = <TData extends Record<string, any>>(
82
83
 
83
84
  notEquals.autoRemove = (val: any) => !val;
84
85
 
85
- const greaterThan = <TData extends Record<string, any>>(
86
+ const greaterThan = <TData extends MRT_RowData>(
86
87
  row: Row<TData>,
87
88
  id: string,
88
89
  filterValue: number | string,
@@ -94,7 +95,7 @@ const greaterThan = <TData extends Record<string, any>>(
94
95
 
95
96
  greaterThan.autoRemove = (val: any) => !val;
96
97
 
97
- const greaterThanOrEqualTo = <TData extends Record<string, any>>(
98
+ const greaterThanOrEqualTo = <TData extends MRT_RowData>(
98
99
  row: Row<TData>,
99
100
  id: string,
100
101
  filterValue: number | string,
@@ -102,7 +103,7 @@ const greaterThanOrEqualTo = <TData extends Record<string, any>>(
102
103
 
103
104
  greaterThanOrEqualTo.autoRemove = (val: any) => !val;
104
105
 
105
- const lessThan = <TData extends Record<string, any>>(
106
+ const lessThan = <TData extends MRT_RowData>(
106
107
  row: Row<TData>,
107
108
  id: string,
108
109
  filterValue: number | string,
@@ -114,7 +115,7 @@ const lessThan = <TData extends Record<string, any>>(
114
115
 
115
116
  lessThan.autoRemove = (val: any) => !val;
116
117
 
117
- const lessThanOrEqualTo = <TData extends Record<string, any>>(
118
+ const lessThanOrEqualTo = <TData extends MRT_RowData>(
118
119
  row: Row<TData>,
119
120
  id: string,
120
121
  filterValue: number | string,
@@ -122,7 +123,7 @@ const lessThanOrEqualTo = <TData extends Record<string, any>>(
122
123
 
123
124
  lessThanOrEqualTo.autoRemove = (val: any) => !val;
124
125
 
125
- const between = <TData extends Record<string, any>>(
126
+ const between = <TData extends MRT_RowData>(
126
127
  row: Row<TData>,
127
128
  id: string,
128
129
  filterValues: [number | string, number | string],
@@ -137,7 +138,7 @@ const between = <TData extends Record<string, any>>(
137
138
 
138
139
  between.autoRemove = (val: any) => !val;
139
140
 
140
- const betweenInclusive = <TData extends Record<string, any>>(
141
+ const betweenInclusive = <TData extends MRT_RowData>(
141
142
  row: Row<TData>,
142
143
  id: string,
143
144
  filterValues: [number | string, number | string],
@@ -152,7 +153,7 @@ const betweenInclusive = <TData extends Record<string, any>>(
152
153
 
153
154
  betweenInclusive.autoRemove = (val: any) => !val;
154
155
 
155
- const empty = <TData extends Record<string, any>>(
156
+ const empty = <TData extends MRT_RowData>(
156
157
  row: Row<TData>,
157
158
  id: string,
158
159
  _filterValue: number | string,
@@ -160,7 +161,7 @@ const empty = <TData extends Record<string, any>>(
160
161
 
161
162
  empty.autoRemove = (val: any) => !val;
162
163
 
163
- const notEmpty = <TData extends Record<string, any>>(
164
+ const notEmpty = <TData extends MRT_RowData>(
164
165
  row: Row<TData>,
165
166
  id: string,
166
167
  _filterValue: number | string,
@@ -1,21 +1,22 @@
1
1
  import { type VirtualItem } from '@tanstack/react-virtual';
2
- import TableFooter from '@mui/material/TableFooter';
2
+ import TableFooter, { type TableFooterProps } from '@mui/material/TableFooter';
3
3
  import { MRT_TableFooterRow } from './MRT_TableFooterRow';
4
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
- import { type MRT_TableInstance } from '../types';
5
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
6
6
 
7
- interface Props<TData extends Record<string, any>> {
7
+ interface Props<TData extends MRT_RowData> extends TableFooterProps {
8
8
  table: MRT_TableInstance<TData>;
9
9
  virtualColumns?: VirtualItem[];
10
10
  virtualPaddingLeft?: number;
11
11
  virtualPaddingRight?: number;
12
12
  }
13
13
 
14
- export const MRT_TableFooter = <TData extends Record<string, any>>({
14
+ export const MRT_TableFooter = <TData extends MRT_RowData>({
15
15
  table,
16
16
  virtualColumns,
17
17
  virtualPaddingLeft,
18
18
  virtualPaddingRight,
19
+ ...rest
19
20
  }: Props<TData>) => {
20
21
  const {
21
22
  getFooterGroups,
@@ -25,9 +26,12 @@ export const MRT_TableFooter = <TData extends Record<string, any>>({
25
26
  } = table;
26
27
  const { isFullScreen } = getState();
27
28
 
28
- const tableFooterProps = parseFromValuesOrFunc(muiTableFooterProps, {
29
- table,
30
- });
29
+ const tableFooterProps = {
30
+ ...parseFromValuesOrFunc(muiTableFooterProps, {
31
+ table,
32
+ }),
33
+ ...rest,
34
+ };
31
35
 
32
36
  const stickFooter =
33
37
  (isFullScreen || enableStickyFooter) && enableStickyFooter !== false;
@@ -1,15 +1,21 @@
1
- import TableCell from '@mui/material/TableCell';
2
- import { getCommonCellStyles, parseFromValuesOrFunc } from '../column.utils';
3
- import { type MRT_Header, type MRT_TableInstance } from '../types';
1
+ import TableCell, { type TableCellProps } from '@mui/material/TableCell';
2
+ import { parseFromValuesOrFunc } from '../column.utils';
3
+ import { getCommonMRTCellStyles } from '../style.utils';
4
+ import {
5
+ type MRT_Header,
6
+ type MRT_RowData,
7
+ type MRT_TableInstance,
8
+ } from '../types';
4
9
 
5
- interface Props<TData extends Record<string, any>> {
10
+ interface Props<TData extends MRT_RowData> extends TableCellProps {
6
11
  footer: MRT_Header<TData>;
7
12
  table: MRT_TableInstance<TData>;
8
13
  }
9
14
 
10
- export const MRT_TableFooterCell = <TData extends Record<string, any>>({
15
+ export const MRT_TableFooterCell = <TData extends MRT_RowData>({
11
16
  footer,
12
17
  table,
18
+ ...rest
13
19
  }: Props<TData>) => {
14
20
  const {
15
21
  getState,
@@ -20,12 +26,11 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
20
26
  const { columnDef } = column;
21
27
  const { columnDefType } = columnDef;
22
28
 
29
+ const args = { column, table };
23
30
  const tableCellProps = {
24
- ...parseFromValuesOrFunc(muiTableFooterCellProps, { column, table }),
25
- ...parseFromValuesOrFunc(columnDef.muiTableFooterCellProps, {
26
- column,
27
- table,
28
- }),
31
+ ...parseFromValuesOrFunc(muiTableFooterCellProps, args),
32
+ ...parseFromValuesOrFunc(columnDef.muiTableFooterCellProps, args),
33
+ ...rest,
29
34
  };
30
35
 
31
36
  return (
@@ -35,7 +40,7 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
35
40
  variant="head"
36
41
  {...tableCellProps}
37
42
  sx={(theme) => ({
38
- display: layoutMode?.startsWith('grid') ? 'grid' : 'table-cell',
43
+ display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
39
44
  fontWeight: 'bold',
40
45
  justifyContent: columnDefType === 'group' ? 'center' : undefined,
41
46
  p:
@@ -46,16 +51,17 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
46
51
  : '1.5rem',
47
52
  verticalAlign: 'top',
48
53
  zIndex: column.getIsPinned() && columnDefType !== 'group' ? 2 : 1,
49
- ...getCommonCellStyles({
54
+ ...getCommonMRTCellStyles({
50
55
  column,
51
56
  table,
52
57
  tableCellProps,
53
58
  theme,
54
59
  }),
60
+ ...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
55
61
  })}
56
62
  >
57
- <>
58
- {footer.isPlaceholder
63
+ {tableCellProps.children ??
64
+ (footer.isPlaceholder
59
65
  ? null
60
66
  : parseFromValuesOrFunc(columnDef.Footer, {
61
67
  column,
@@ -63,8 +69,7 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
63
69
  table,
64
70
  }) ??
65
71
  columnDef.footer ??
66
- null}
67
- </>
72
+ null)}
68
73
  </TableCell>
69
74
  );
70
75
  };
@@ -1,15 +1,16 @@
1
1
  import { type VirtualItem } from '@tanstack/react-virtual';
2
- import TableRow from '@mui/material/TableRow';
3
- import { lighten } from '@mui/material/styles';
2
+ import TableRow, { type TableRowProps } from '@mui/material/TableRow';
4
3
  import { MRT_TableFooterCell } from './MRT_TableFooterCell';
5
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
+ import { getMRTTheme } from '../style.utils';
6
6
  import {
7
7
  type MRT_Header,
8
8
  type MRT_HeaderGroup,
9
+ type MRT_RowData,
9
10
  type MRT_TableInstance,
10
11
  } from '../types';
11
12
 
12
- interface Props<TData extends Record<string, any>> {
13
+ interface Props<TData extends MRT_RowData> extends TableRowProps {
13
14
  footerGroup: MRT_HeaderGroup<TData>;
14
15
  table: MRT_TableInstance<TData>;
15
16
  virtualColumns?: VirtualItem[];
@@ -17,12 +18,13 @@ interface Props<TData extends Record<string, any>> {
17
18
  virtualPaddingRight?: number;
18
19
  }
19
20
 
20
- export const MRT_TableFooterRow = <TData extends Record<string, any>>({
21
+ export const MRT_TableFooterRow = <TData extends MRT_RowData>({
21
22
  footerGroup,
22
23
  table,
23
24
  virtualColumns,
24
25
  virtualPaddingLeft,
25
26
  virtualPaddingRight,
27
+ ...rest
26
28
  }: Props<TData>) => {
27
29
  const {
28
30
  options: { layoutMode, muiTableFooterRowProps },
@@ -39,16 +41,19 @@ export const MRT_TableFooterRow = <TData extends Record<string, any>>({
39
41
  )
40
42
  return null;
41
43
 
42
- const tableRowProps = parseFromValuesOrFunc(muiTableFooterRowProps, {
43
- footerGroup,
44
- table,
45
- });
44
+ const tableRowProps = {
45
+ ...parseFromValuesOrFunc(muiTableFooterRowProps, {
46
+ footerGroup,
47
+ table,
48
+ }),
49
+ ...rest,
50
+ };
46
51
 
47
52
  return (
48
53
  <TableRow
49
54
  {...tableRowProps}
50
55
  sx={(theme) => ({
51
- backgroundColor: lighten(theme.palette.background.default, 0.05),
56
+ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
52
57
  display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
53
58
  width: '100%',
54
59
  ...(parseFromValuesOrFunc(tableRowProps?.sx, theme) as any),