material-react-table 2.0.0-beta.1 → 2.0.0-beta.11

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 (571) hide show
  1. package/dist/index.d.ts +279 -261
  2. package/dist/{esm/material-react-table.esm.js → index.esm.js} +943 -921
  3. package/dist/index.esm.js.map +1 -0
  4. package/dist/{cjs/index.js → index.js} +948 -926
  5. package/dist/index.js.map +1 -0
  6. package/dist/types/MaterialReactTable.d.ts +7 -0
  7. package/dist/types/body/MRT_TableBody.d.ts +13 -0
  8. package/dist/types/body/MRT_TableBodyCell.d.ts +15 -0
  9. package/dist/types/body/MRT_TableBodyCellValue.d.ts +8 -0
  10. package/dist/types/body/MRT_TableBodyRow.d.ts +18 -0
  11. package/dist/types/body/MRT_TableBodyRowGrabHandle.d.ts +10 -0
  12. package/dist/types/body/MRT_TableBodyRowPinButton.d.ts +8 -0
  13. package/dist/types/body/MRT_TableDetailPanel.d.ts +13 -0
  14. package/dist/types/buttons/MRT_ColumnPinningButtons.d.ts +8 -0
  15. package/dist/types/buttons/MRT_CopyButton.d.ts +8 -0
  16. package/dist/types/buttons/MRT_EditActionButtons.d.ts +9 -0
  17. package/dist/types/buttons/MRT_ExpandAllButton.d.ts +7 -0
  18. package/dist/types/buttons/MRT_ExpandButton.d.ts +8 -0
  19. package/dist/{cjs/types → types}/buttons/MRT_GrabHandleButton.d.ts +3 -3
  20. package/dist/types/buttons/MRT_RowPinButton.d.ts +10 -0
  21. package/dist/types/buttons/MRT_ShowHideColumnsButton.d.ts +7 -0
  22. package/dist/types/buttons/MRT_ToggleDensePaddingButton.d.ts +7 -0
  23. package/dist/types/buttons/MRT_ToggleFiltersButton.d.ts +7 -0
  24. package/dist/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
  25. package/dist/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +7 -0
  26. package/dist/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +9 -0
  27. package/dist/types/column.utils.d.ts +119 -0
  28. package/dist/types/filterFns.d.ts +69 -0
  29. package/dist/types/footer/MRT_TableFooter.d.ts +11 -0
  30. package/dist/types/footer/MRT_TableFooterCell.d.ts +8 -0
  31. package/dist/types/footer/MRT_TableFooterRow.d.ts +12 -0
  32. package/dist/types/head/MRT_TableHead.d.ts +11 -0
  33. package/dist/types/head/MRT_TableHeadCell.d.ts +8 -0
  34. package/dist/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +8 -0
  35. package/dist/types/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
  36. package/dist/types/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
  37. package/dist/{cjs/types → types}/head/MRT_TableHeadCellGrabHandle.d.ts +4 -3
  38. package/dist/types/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
  39. package/dist/types/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
  40. package/dist/types/head/MRT_TableHeadRow.d.ts +12 -0
  41. package/dist/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
  42. package/dist/types/hooks/useMRT_Effects.d.ts +2 -0
  43. package/dist/types/hooks/useMRT_TableInstance.d.ts +2 -0
  44. package/dist/types/hooks/useMRT_TableOptions.d.ts +22 -0
  45. package/dist/{cjs/types → types}/index.d.ts +1 -0
  46. package/dist/types/inputs/MRT_EditCellTextField.d.ts +8 -0
  47. package/dist/types/inputs/MRT_FilterCheckbox.d.ts +8 -0
  48. package/dist/types/inputs/MRT_FilterRangeFields.d.ts +8 -0
  49. package/dist/types/inputs/MRT_FilterRangeSlider.d.ts +8 -0
  50. package/dist/types/inputs/MRT_FilterTextField.d.ts +9 -0
  51. package/dist/types/inputs/MRT_GlobalFilterTextField.d.ts +7 -0
  52. package/dist/types/inputs/MRT_SelectCheckbox.d.ts +9 -0
  53. package/dist/types/locales/az.d.ts +2 -0
  54. package/dist/{cjs/types → types}/locales/no.d.ts +1 -1
  55. package/dist/{esm/types → types}/menus/MRT_ColumnActionMenu.d.ts +4 -3
  56. package/dist/{esm/types → types}/menus/MRT_FilterOptionMenu.d.ts +4 -3
  57. package/dist/types/menus/MRT_RowActionMenu.d.ts +12 -0
  58. package/dist/types/menus/MRT_ShowHideColumnsMenu.d.ts +10 -0
  59. package/dist/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +12 -0
  60. package/dist/types/modals/MRT_EditRowModal.d.ts +8 -0
  61. package/dist/{esm/types → types}/sortingFns.d.ts +3 -3
  62. package/dist/types/style.utils.d.ts +32 -0
  63. package/dist/types/table/MRT_Table.d.ts +7 -0
  64. package/dist/types/table/MRT_TableContainer.d.ts +7 -0
  65. package/dist/types/table/MRT_TableLoadingOverlay.d.ts +7 -0
  66. package/dist/types/table/MRT_TablePaper.d.ts +7 -0
  67. package/dist/{cjs/types → types}/table/index.d.ts +1 -0
  68. package/dist/types/toolbar/MRT_BottomToolbar.d.ts +7 -0
  69. package/dist/types/toolbar/MRT_LinearProgressBar.d.ts +8 -0
  70. package/dist/types/toolbar/MRT_TablePagination.d.ts +11 -0
  71. package/dist/types/toolbar/MRT_ToolbarAlertBanner.d.ts +8 -0
  72. package/dist/types/toolbar/MRT_ToolbarDropZone.d.ts +7 -0
  73. package/dist/types/toolbar/MRT_ToolbarInternalButtons.d.ts +7 -0
  74. package/dist/types/toolbar/MRT_TopToolbar.d.ts +6 -0
  75. package/dist/{cjs/types → types}/types.d.ts +69 -50
  76. package/dist/types/useMaterialReactTable.d.ts +2 -0
  77. package/locales/ar.d.ts +1 -0
  78. package/locales/ar.js +0 -1
  79. package/locales/{ar.esm.js → ar.mjs} +0 -1
  80. package/locales/az.d.ts +3 -0
  81. package/locales/az.js +97 -0
  82. package/locales/az.mjs +93 -0
  83. package/locales/bg.d.ts +1 -0
  84. package/locales/bg.js +0 -1
  85. package/locales/{bg.esm.js → bg.mjs} +0 -1
  86. package/locales/cs.d.ts +1 -0
  87. package/locales/cs.js +0 -1
  88. package/locales/{cs.esm.js → cs.mjs} +0 -1
  89. package/locales/da.d.ts +1 -0
  90. package/locales/da.js +0 -1
  91. package/locales/{da.esm.js → da.mjs} +0 -1
  92. package/locales/de.d.ts +1 -0
  93. package/locales/de.js +0 -1
  94. package/locales/{de.esm.js → de.mjs} +0 -1
  95. package/locales/en.d.ts +1 -0
  96. package/locales/en.js +0 -1
  97. package/locales/{en.esm.js → en.mjs} +0 -1
  98. package/locales/es.d.ts +1 -0
  99. package/locales/es.js +0 -1
  100. package/locales/{es.esm.js → es.mjs} +0 -1
  101. package/locales/et.d.ts +1 -0
  102. package/locales/et.js +0 -1
  103. package/locales/{et.esm.js → et.mjs} +0 -1
  104. package/locales/fa.d.ts +1 -0
  105. package/locales/fa.js +0 -1
  106. package/locales/{fa.esm.js → fa.mjs} +0 -1
  107. package/locales/fi.d.ts +1 -0
  108. package/locales/fi.js +0 -1
  109. package/locales/{fi.esm.js → fi.mjs} +0 -1
  110. package/locales/fr.d.ts +1 -0
  111. package/locales/fr.js +0 -1
  112. package/locales/{fr.esm.js → fr.mjs} +0 -1
  113. package/locales/hu.d.ts +1 -0
  114. package/locales/hu.js +0 -1
  115. package/locales/{hu.esm.js → hu.mjs} +0 -1
  116. package/locales/hy.d.ts +1 -0
  117. package/locales/hy.js +0 -1
  118. package/locales/{hy.esm.js → hy.mjs} +0 -1
  119. package/locales/id.d.ts +1 -0
  120. package/locales/id.js +0 -1
  121. package/locales/{id.esm.js → id.mjs} +0 -1
  122. package/locales/it.d.ts +1 -0
  123. package/locales/it.js +0 -1
  124. package/locales/{it.esm.js → it.mjs} +0 -1
  125. package/locales/ja.d.ts +1 -0
  126. package/locales/ja.js +0 -1
  127. package/locales/{ja.esm.js → ja.mjs} +0 -1
  128. package/locales/ko.d.ts +1 -0
  129. package/locales/ko.js +0 -1
  130. package/locales/{ko.esm.js → ko.mjs} +0 -1
  131. package/locales/nl.d.ts +1 -0
  132. package/locales/nl.js +0 -1
  133. package/locales/{nl.esm.js → nl.mjs} +0 -1
  134. package/locales/no.d.ts +2 -1
  135. package/locales/no.js +0 -1
  136. package/locales/{no.esm.js → no.mjs} +0 -1
  137. package/locales/np.d.ts +1 -0
  138. package/locales/np.js +0 -1
  139. package/locales/{np.esm.js → np.mjs} +0 -1
  140. package/locales/pl.d.ts +1 -0
  141. package/locales/pl.js +0 -1
  142. package/locales/{pl.esm.js → pl.mjs} +0 -1
  143. package/locales/pt-BR.d.ts +1 -0
  144. package/locales/pt-BR.js +0 -1
  145. package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
  146. package/locales/pt.d.ts +1 -0
  147. package/locales/pt.js +0 -1
  148. package/locales/{pt.esm.js → pt.mjs} +0 -1
  149. package/locales/ro.d.ts +1 -0
  150. package/locales/ro.js +0 -1
  151. package/locales/{ro.esm.js → ro.mjs} +0 -1
  152. package/locales/ru.d.ts +1 -0
  153. package/locales/ru.js +0 -1
  154. package/locales/{ru.esm.js → ru.mjs} +0 -1
  155. package/locales/sk.d.ts +1 -0
  156. package/locales/sk.js +0 -1
  157. package/locales/{sk.esm.js → sk.mjs} +0 -1
  158. package/locales/sr-Cyrl-RS.d.ts +1 -0
  159. package/locales/sr-Cyrl-RS.js +0 -1
  160. package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
  161. package/locales/sr-Latn-RS.d.ts +1 -0
  162. package/locales/sr-Latn-RS.js +0 -1
  163. package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
  164. package/locales/sv.d.ts +1 -0
  165. package/locales/sv.js +0 -1
  166. package/locales/{sv.esm.js → sv.mjs} +0 -1
  167. package/locales/tr.d.ts +1 -0
  168. package/locales/tr.js +0 -1
  169. package/locales/{tr.esm.js → tr.mjs} +0 -1
  170. package/locales/uk.d.ts +1 -0
  171. package/locales/uk.js +0 -1
  172. package/locales/{uk.esm.js → uk.mjs} +0 -1
  173. package/locales/vi.d.ts +1 -0
  174. package/locales/vi.js +0 -1
  175. package/locales/{vi.esm.js → vi.mjs} +0 -1
  176. package/locales/zh-Hans.d.ts +1 -0
  177. package/locales/zh-Hans.js +17 -18
  178. package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
  179. package/locales/zh-Hant.d.ts +1 -0
  180. package/locales/zh-Hant.js +0 -1
  181. package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
  182. package/package.json +215 -31
  183. package/src/MaterialReactTable.tsx +5 -4
  184. package/src/body/MRT_TableBody.tsx +14 -8
  185. package/src/body/MRT_TableBodyCell.tsx +77 -70
  186. package/src/body/MRT_TableBodyCellValue.tsx +13 -9
  187. package/src/body/MRT_TableBodyRow.tsx +26 -15
  188. package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
  189. package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
  190. package/src/body/MRT_TableDetailPanel.tsx +19 -11
  191. package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
  192. package/src/buttons/MRT_CopyButton.tsx +12 -11
  193. package/src/buttons/MRT_EditActionButtons.tsx +17 -7
  194. package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
  195. package/src/buttons/MRT_ExpandButton.tsx +10 -8
  196. package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
  197. package/src/buttons/MRT_RowPinButton.tsx +14 -7
  198. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
  199. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
  200. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
  201. package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
  202. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
  203. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
  204. package/src/column.utils.ts +46 -141
  205. package/src/filterFns.ts +15 -14
  206. package/src/footer/MRT_TableFooter.tsx +11 -7
  207. package/src/footer/MRT_TableFooterCell.tsx +21 -16
  208. package/src/footer/MRT_TableFooterRow.tsx +14 -9
  209. package/src/head/MRT_TableHead.tsx +10 -6
  210. package/src/head/MRT_TableHeadCell.tsx +102 -91
  211. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
  212. package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
  213. package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
  214. package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
  215. package/src/head/MRT_TableHeadCellResizeHandle.tsx +14 -9
  216. package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
  217. package/src/head/MRT_TableHeadRow.tsx +15 -9
  218. package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
  219. package/src/hooks/useMRT_Effects.ts +6 -2
  220. package/src/hooks/useMRT_TableInstance.ts +3 -2
  221. package/src/hooks/useMRT_TableOptions.ts +29 -4
  222. package/src/index.ts +1 -0
  223. package/src/inputs/MRT_EditCellTextField.tsx +18 -4
  224. package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
  225. package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
  226. package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
  227. package/src/inputs/MRT_FilterTextField.tsx +13 -5
  228. package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
  229. package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
  230. package/src/locales/az.ts +94 -0
  231. package/src/locales/no.ts +1 -1
  232. package/src/locales/zh-Hans.ts +17 -17
  233. package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
  234. package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
  235. package/src/menus/MRT_RowActionMenu.tsx +10 -4
  236. package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
  237. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
  238. package/src/modals/MRT_EditRowModal.tsx +17 -11
  239. package/src/sortingFns.ts +3 -3
  240. package/src/style.utils.ts +149 -0
  241. package/src/table/MRT_Table.tsx +28 -34
  242. package/src/table/MRT_TableContainer.tsx +17 -46
  243. package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
  244. package/src/table/MRT_TablePaper.tsx +13 -6
  245. package/src/table/index.ts +1 -0
  246. package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
  247. package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
  248. package/src/toolbar/MRT_TablePagination.tsx +20 -10
  249. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
  250. package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
  251. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
  252. package/src/toolbar/MRT_TopToolbar.tsx +11 -24
  253. package/src/types.ts +98 -56
  254. package/src/useMaterialReactTable.ts +8 -7
  255. package/dist/cjs/index.js.map +0 -1
  256. package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
  257. package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
  258. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
  259. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  260. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
  261. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  262. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  263. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
  264. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  265. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
  266. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  267. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  268. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
  269. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
  270. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  271. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  272. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  273. package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  274. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  275. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  276. package/dist/cjs/types/column.utils.d.ts +0 -148
  277. package/dist/cjs/types/filterFns.d.ts +0 -68
  278. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
  279. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
  280. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
  281. package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
  282. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
  283. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  284. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  285. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  286. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  287. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  288. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
  289. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  290. package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
  291. package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
  292. package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
  293. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  294. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  295. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  296. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  297. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
  298. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  299. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  300. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  301. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  302. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
  303. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  304. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  305. package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
  306. package/dist/cjs/types/sortingFns.d.ts +0 -12
  307. package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
  308. package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
  309. package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
  310. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  311. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  312. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
  313. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  314. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  315. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  316. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  317. package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
  318. package/dist/esm/material-react-table.esm.js.map +0 -1
  319. package/dist/esm/types/MaterialReactTable.d.ts +0 -7
  320. package/dist/esm/types/aggregationFns.d.ts +0 -11
  321. package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
  322. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
  323. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  324. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
  325. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  326. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  327. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
  328. package/dist/esm/types/body/index.d.ts +0 -7
  329. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  330. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
  331. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  332. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  333. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
  334. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  335. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
  336. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  337. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  338. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  339. package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  340. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  341. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  342. package/dist/esm/types/buttons/index.d.ts +0 -13
  343. package/dist/esm/types/column.utils.d.ts +0 -148
  344. package/dist/esm/types/filterFns.d.ts +0 -68
  345. package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
  346. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
  347. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
  348. package/dist/esm/types/footer/index.d.ts +0 -3
  349. package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
  350. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
  351. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  352. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  353. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  354. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  355. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  356. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  357. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
  358. package/dist/esm/types/head/index.d.ts +0 -9
  359. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  360. package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
  361. package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
  362. package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
  363. package/dist/esm/types/icons.d.ts +0 -36
  364. package/dist/esm/types/index.d.ts +0 -16
  365. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  366. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  367. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  368. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  369. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
  370. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  371. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  372. package/dist/esm/types/inputs/index.d.ts +0 -7
  373. package/dist/esm/types/locales/ar.d.ts +0 -2
  374. package/dist/esm/types/locales/bg.d.ts +0 -2
  375. package/dist/esm/types/locales/cs.d.ts +0 -2
  376. package/dist/esm/types/locales/da.d.ts +0 -2
  377. package/dist/esm/types/locales/de.d.ts +0 -2
  378. package/dist/esm/types/locales/en.d.ts +0 -2
  379. package/dist/esm/types/locales/es.d.ts +0 -2
  380. package/dist/esm/types/locales/et.d.ts +0 -2
  381. package/dist/esm/types/locales/fa.d.ts +0 -2
  382. package/dist/esm/types/locales/fi.d.ts +0 -2
  383. package/dist/esm/types/locales/fr.d.ts +0 -2
  384. package/dist/esm/types/locales/hu.d.ts +0 -2
  385. package/dist/esm/types/locales/hy.d.ts +0 -2
  386. package/dist/esm/types/locales/id.d.ts +0 -2
  387. package/dist/esm/types/locales/it.d.ts +0 -2
  388. package/dist/esm/types/locales/ja.d.ts +0 -2
  389. package/dist/esm/types/locales/ko.d.ts +0 -2
  390. package/dist/esm/types/locales/nl.d.ts +0 -2
  391. package/dist/esm/types/locales/no.d.ts +0 -2
  392. package/dist/esm/types/locales/np.d.ts +0 -2
  393. package/dist/esm/types/locales/pl.d.ts +0 -2
  394. package/dist/esm/types/locales/pt-BR.d.ts +0 -2
  395. package/dist/esm/types/locales/pt.d.ts +0 -2
  396. package/dist/esm/types/locales/ro.d.ts +0 -2
  397. package/dist/esm/types/locales/ru.d.ts +0 -2
  398. package/dist/esm/types/locales/sk.d.ts +0 -2
  399. package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
  400. package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
  401. package/dist/esm/types/locales/sv.d.ts +0 -2
  402. package/dist/esm/types/locales/tr.d.ts +0 -2
  403. package/dist/esm/types/locales/uk.d.ts +0 -2
  404. package/dist/esm/types/locales/vi.d.ts +0 -2
  405. package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
  406. package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
  407. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
  408. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  409. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  410. package/dist/esm/types/menus/index.d.ts +0 -5
  411. package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
  412. package/dist/esm/types/modals/index.d.ts +0 -1
  413. package/dist/esm/types/table/MRT_Table.d.ts +0 -6
  414. package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
  415. package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
  416. package/dist/esm/types/table/index.d.ts +0 -4
  417. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  418. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  419. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
  420. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  421. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  422. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  423. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  424. package/dist/esm/types/toolbar/index.d.ts +0 -7
  425. package/dist/esm/types/types.d.ts +0 -818
  426. package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
  427. package/locales/ar.esm.d.ts +0 -2
  428. package/locales/ar.esm.js.map +0 -1
  429. package/locales/ar.js.map +0 -1
  430. package/locales/bg.esm.d.ts +0 -2
  431. package/locales/bg.esm.js.map +0 -1
  432. package/locales/bg.js.map +0 -1
  433. package/locales/cs.esm.d.ts +0 -2
  434. package/locales/cs.esm.js.map +0 -1
  435. package/locales/cs.js.map +0 -1
  436. package/locales/da.esm.d.ts +0 -2
  437. package/locales/da.esm.js.map +0 -1
  438. package/locales/da.js.map +0 -1
  439. package/locales/de.esm.d.ts +0 -2
  440. package/locales/de.esm.js.map +0 -1
  441. package/locales/de.js.map +0 -1
  442. package/locales/en.esm.d.ts +0 -2
  443. package/locales/en.esm.js.map +0 -1
  444. package/locales/en.js.map +0 -1
  445. package/locales/es.esm.d.ts +0 -2
  446. package/locales/es.esm.js.map +0 -1
  447. package/locales/es.js.map +0 -1
  448. package/locales/et.esm.d.ts +0 -2
  449. package/locales/et.esm.js.map +0 -1
  450. package/locales/et.js.map +0 -1
  451. package/locales/fa.esm.d.ts +0 -2
  452. package/locales/fa.esm.js.map +0 -1
  453. package/locales/fa.js.map +0 -1
  454. package/locales/fi.esm.d.ts +0 -2
  455. package/locales/fi.esm.js.map +0 -1
  456. package/locales/fi.js.map +0 -1
  457. package/locales/fr.esm.d.ts +0 -2
  458. package/locales/fr.esm.js.map +0 -1
  459. package/locales/fr.js.map +0 -1
  460. package/locales/hu.esm.d.ts +0 -2
  461. package/locales/hu.esm.js.map +0 -1
  462. package/locales/hu.js.map +0 -1
  463. package/locales/hy.esm.d.ts +0 -2
  464. package/locales/hy.esm.js.map +0 -1
  465. package/locales/hy.js.map +0 -1
  466. package/locales/id.esm.d.ts +0 -2
  467. package/locales/id.esm.js.map +0 -1
  468. package/locales/id.js.map +0 -1
  469. package/locales/it.esm.d.ts +0 -2
  470. package/locales/it.esm.js.map +0 -1
  471. package/locales/it.js.map +0 -1
  472. package/locales/ja.esm.d.ts +0 -2
  473. package/locales/ja.esm.js.map +0 -1
  474. package/locales/ja.js.map +0 -1
  475. package/locales/ko.esm.d.ts +0 -2
  476. package/locales/ko.esm.js.map +0 -1
  477. package/locales/ko.js.map +0 -1
  478. package/locales/nl.esm.d.ts +0 -2
  479. package/locales/nl.esm.js.map +0 -1
  480. package/locales/nl.js.map +0 -1
  481. package/locales/no.esm.d.ts +0 -2
  482. package/locales/no.esm.js.map +0 -1
  483. package/locales/no.js.map +0 -1
  484. package/locales/np.esm.d.ts +0 -2
  485. package/locales/np.esm.js.map +0 -1
  486. package/locales/np.js.map +0 -1
  487. package/locales/pl.esm.d.ts +0 -2
  488. package/locales/pl.esm.js.map +0 -1
  489. package/locales/pl.js.map +0 -1
  490. package/locales/pt-BR.esm.d.ts +0 -2
  491. package/locales/pt-BR.esm.js.map +0 -1
  492. package/locales/pt-BR.js.map +0 -1
  493. package/locales/pt.esm.d.ts +0 -2
  494. package/locales/pt.esm.js.map +0 -1
  495. package/locales/pt.js.map +0 -1
  496. package/locales/ro.esm.d.ts +0 -2
  497. package/locales/ro.esm.js.map +0 -1
  498. package/locales/ro.js.map +0 -1
  499. package/locales/ru.esm.d.ts +0 -2
  500. package/locales/ru.esm.js.map +0 -1
  501. package/locales/ru.js.map +0 -1
  502. package/locales/sk.esm.d.ts +0 -2
  503. package/locales/sk.esm.js.map +0 -1
  504. package/locales/sk.js.map +0 -1
  505. package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
  506. package/locales/sr-Cyrl-RS.esm.js.map +0 -1
  507. package/locales/sr-Cyrl-RS.js.map +0 -1
  508. package/locales/sr-Latn-RS.esm.d.ts +0 -2
  509. package/locales/sr-Latn-RS.esm.js.map +0 -1
  510. package/locales/sr-Latn-RS.js.map +0 -1
  511. package/locales/sv.esm.d.ts +0 -2
  512. package/locales/sv.esm.js.map +0 -1
  513. package/locales/sv.js.map +0 -1
  514. package/locales/tr.esm.d.ts +0 -2
  515. package/locales/tr.esm.js.map +0 -1
  516. package/locales/tr.js.map +0 -1
  517. package/locales/uk.esm.d.ts +0 -2
  518. package/locales/uk.esm.js.map +0 -1
  519. package/locales/uk.js.map +0 -1
  520. package/locales/vi.esm.d.ts +0 -2
  521. package/locales/vi.esm.js.map +0 -1
  522. package/locales/vi.js.map +0 -1
  523. package/locales/zh-Hans.esm.d.ts +0 -2
  524. package/locales/zh-Hans.esm.js.map +0 -1
  525. package/locales/zh-Hans.js.map +0 -1
  526. package/locales/zh-Hant.esm.d.ts +0 -2
  527. package/locales/zh-Hant.esm.js.map +0 -1
  528. package/locales/zh-Hant.js.map +0 -1
  529. /package/dist/{cjs/types → types}/aggregationFns.d.ts +0 -0
  530. /package/dist/{cjs/types → types}/body/index.d.ts +0 -0
  531. /package/dist/{cjs/types → types}/buttons/index.d.ts +0 -0
  532. /package/dist/{cjs/types → types}/footer/index.d.ts +0 -0
  533. /package/dist/{cjs/types → types}/head/index.d.ts +0 -0
  534. /package/dist/{cjs/types → types}/icons.d.ts +0 -0
  535. /package/dist/{cjs/types → types}/inputs/index.d.ts +0 -0
  536. /package/dist/{cjs/types → types}/locales/ar.d.ts +0 -0
  537. /package/dist/{cjs/types → types}/locales/bg.d.ts +0 -0
  538. /package/dist/{cjs/types → types}/locales/cs.d.ts +0 -0
  539. /package/dist/{cjs/types → types}/locales/da.d.ts +0 -0
  540. /package/dist/{cjs/types → types}/locales/de.d.ts +0 -0
  541. /package/dist/{cjs/types → types}/locales/en.d.ts +0 -0
  542. /package/dist/{cjs/types → types}/locales/es.d.ts +0 -0
  543. /package/dist/{cjs/types → types}/locales/et.d.ts +0 -0
  544. /package/dist/{cjs/types → types}/locales/fa.d.ts +0 -0
  545. /package/dist/{cjs/types → types}/locales/fi.d.ts +0 -0
  546. /package/dist/{cjs/types → types}/locales/fr.d.ts +0 -0
  547. /package/dist/{cjs/types → types}/locales/hu.d.ts +0 -0
  548. /package/dist/{cjs/types → types}/locales/hy.d.ts +0 -0
  549. /package/dist/{cjs/types → types}/locales/id.d.ts +0 -0
  550. /package/dist/{cjs/types → types}/locales/it.d.ts +0 -0
  551. /package/dist/{cjs/types → types}/locales/ja.d.ts +0 -0
  552. /package/dist/{cjs/types → types}/locales/ko.d.ts +0 -0
  553. /package/dist/{cjs/types → types}/locales/nl.d.ts +0 -0
  554. /package/dist/{cjs/types → types}/locales/np.d.ts +0 -0
  555. /package/dist/{cjs/types → types}/locales/pl.d.ts +0 -0
  556. /package/dist/{cjs/types → types}/locales/pt-BR.d.ts +0 -0
  557. /package/dist/{cjs/types → types}/locales/pt.d.ts +0 -0
  558. /package/dist/{cjs/types → types}/locales/ro.d.ts +0 -0
  559. /package/dist/{cjs/types → types}/locales/ru.d.ts +0 -0
  560. /package/dist/{cjs/types → types}/locales/sk.d.ts +0 -0
  561. /package/dist/{cjs/types → types}/locales/sr-Cyrl-RS.d.ts +0 -0
  562. /package/dist/{cjs/types → types}/locales/sr-Latn-RS.d.ts +0 -0
  563. /package/dist/{cjs/types → types}/locales/sv.d.ts +0 -0
  564. /package/dist/{cjs/types → types}/locales/tr.d.ts +0 -0
  565. /package/dist/{cjs/types → types}/locales/uk.d.ts +0 -0
  566. /package/dist/{cjs/types → types}/locales/vi.d.ts +0 -0
  567. /package/dist/{cjs/types → types}/locales/zh-Hans.d.ts +0 -0
  568. /package/dist/{cjs/types → types}/locales/zh-Hant.d.ts +0 -0
  569. /package/dist/{cjs/types → types}/menus/index.d.ts +0 -0
  570. /package/dist/{cjs/types → types}/modals/index.d.ts +0 -0
  571. /package/dist/{cjs/types → types}/toolbar/index.d.ts +0 -0
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),
@@ -1,22 +1,23 @@
1
1
  import { type VirtualItem } from '@tanstack/react-virtual';
2
- import TableHead from '@mui/material/TableHead';
2
+ import TableHead, { type TableHeadProps } from '@mui/material/TableHead';
3
3
  import { MRT_TableHeadRow } from './MRT_TableHeadRow';
4
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
5
  import { MRT_ToolbarAlertBanner } from '../toolbar';
6
- import { type MRT_TableInstance } from '../types';
6
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
7
7
 
8
- interface Props<TData extends Record<string, any>> {
8
+ interface Props<TData extends MRT_RowData> extends TableHeadProps {
9
9
  table: MRT_TableInstance<TData>;
10
10
  virtualColumns?: VirtualItem[];
11
11
  virtualPaddingLeft?: number;
12
12
  virtualPaddingRight?: number;
13
13
  }
14
14
 
15
- export const MRT_TableHead = <TData extends Record<string, any>>({
15
+ export const MRT_TableHead = <TData extends MRT_RowData>({
16
16
  table,
17
17
  virtualColumns,
18
18
  virtualPaddingLeft,
19
19
  virtualPaddingRight,
20
+ ...rest
20
21
  }: Props<TData>) => {
21
22
  const {
22
23
  getHeaderGroups,
@@ -32,7 +33,10 @@ export const MRT_TableHead = <TData extends Record<string, any>>({
32
33
  } = table;
33
34
  const { isFullScreen, showAlertBanner } = getState();
34
35
 
35
- const tableHeadProps = parseFromValuesOrFunc(muiTableHeadProps, { table });
36
+ const tableHeadProps = {
37
+ ...parseFromValuesOrFunc(muiTableHeadProps, { table }),
38
+ ...rest,
39
+ };
36
40
 
37
41
  const stickyHeader = enableStickyHeader || isFullScreen;
38
42
 
@@ -65,7 +69,7 @@ export const MRT_TableHead = <TData extends Record<string, any>>({
65
69
  <th
66
70
  colSpan={table.getVisibleLeafColumns().length}
67
71
  style={{
68
- display: layoutMode?.startsWith('grid') ? 'grid' : 'table-cell',
72
+ display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
69
73
  padding: 0,
70
74
  }}
71
75
  >
@@ -1,6 +1,6 @@
1
1
  import { type DragEvent, useMemo } from 'react';
2
2
  import Box from '@mui/material/Box';
3
- import TableCell from '@mui/material/TableCell';
3
+ import TableCell, { type TableCellProps } from '@mui/material/TableCell';
4
4
  import { useTheme } from '@mui/material/styles';
5
5
  import { type Theme } from '@mui/material/styles';
6
6
  import { MRT_TableHeadCellColumnActionsButton } from './MRT_TableHeadCellColumnActionsButton';
@@ -9,18 +9,23 @@ import { MRT_TableHeadCellFilterLabel } from './MRT_TableHeadCellFilterLabel';
9
9
  import { MRT_TableHeadCellGrabHandle } from './MRT_TableHeadCellGrabHandle';
10
10
  import { MRT_TableHeadCellResizeHandle } from './MRT_TableHeadCellResizeHandle';
11
11
  import { MRT_TableHeadCellSortLabel } from './MRT_TableHeadCellSortLabel';
12
- import { getCommonCellStyles } from '../column.utils';
13
12
  import { parseFromValuesOrFunc } from '../column.utils';
14
- import { type MRT_Header, type MRT_TableInstance } from '../types';
13
+ import { getCommonMRTCellStyles, getMRTTheme } from '../style.utils';
14
+ import {
15
+ type MRT_Header,
16
+ type MRT_RowData,
17
+ type MRT_TableInstance,
18
+ } from '../types';
15
19
 
16
- interface Props<TData extends Record<string, any>> {
20
+ interface Props<TData extends MRT_RowData> extends TableCellProps {
17
21
  header: MRT_Header<TData>;
18
22
  table: MRT_TableInstance<TData>;
19
23
  }
20
24
 
21
- export const MRT_TableHeadCell = <TData extends Record<string, any>>({
25
+ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
22
26
  header,
23
27
  table,
28
+ ...rest
24
29
  }: Props<TData>) => {
25
30
  const theme = useTheme();
26
31
  const {
@@ -56,8 +61,11 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
56
61
  column,
57
62
  table,
58
63
  }),
64
+ ...rest,
59
65
  };
60
66
 
67
+ const { draggingBorderColor } = getMRTTheme(table, theme);
68
+
61
69
  const showColumnActions =
62
70
  (enableColumnActions || columnDef.enableColumnActions) &&
63
71
  columnDef.enableColumnActions !== false;
@@ -83,11 +91,11 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
83
91
  const borderStyle =
84
92
  columnSizingInfo.isResizingColumn === column.id &&
85
93
  !header.subHeaders.length
86
- ? `2px solid ${theme.palette.primary.main} !important`
94
+ ? `2px solid ${draggingBorderColor} !important`
87
95
  : draggingColumn?.id === column.id
88
- ? `1px dashed ${theme.palette.text.secondary}`
96
+ ? `1px dashed ${theme.palette.grey[500]}`
89
97
  : hoveredColumn?.id === column.id
90
- ? `2px dashed ${theme.palette.primary.main}`
98
+ ? `2px dashed ${draggingBorderColor}`
91
99
  : undefined;
92
100
 
93
101
  if (columnSizingInfo.isResizingColumn === column.id) {
@@ -172,7 +180,7 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
172
180
  : column.getIsPinned() && columnDefType !== 'group'
173
181
  ? 2
174
182
  : 1,
175
- ...getCommonCellStyles({
183
+ ...getCommonMRTCellStyles({
176
184
  column,
177
185
  header,
178
186
  table,
@@ -182,97 +190,100 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
182
190
  ...draggingBorders,
183
191
  })}
184
192
  >
185
- {header.isPlaceholder ? null : (
186
- <Box
187
- className="Mui-TableHeadCell-Content"
188
- sx={{
189
- alignItems: 'center',
190
- display: 'flex',
191
- flexDirection:
192
- tableCellProps?.align === 'right' ? 'row-reverse' : 'row',
193
- justifyContent:
194
- columnDefType === 'group' || tableCellProps?.align === 'center'
195
- ? 'center'
196
- : column.getCanResize()
197
- ? 'space-between'
198
- : 'flex-start',
199
- position: 'relative',
200
- width: '100%',
201
- }}
202
- >
203
- <Box
204
- className="Mui-TableHeadCell-Content-Labels"
205
- onClick={column.getToggleSortingHandler()}
206
- sx={{
207
- alignItems: 'center',
208
- cursor:
209
- column.getCanSort() && columnDefType !== 'group'
210
- ? 'pointer'
211
- : undefined,
212
- display: 'flex',
213
- flexDirection:
214
- tableCellProps?.align === 'right' ? 'row-reverse' : 'row',
215
- overflow: columnDefType === 'data' ? 'hidden' : undefined,
216
- pl:
217
- tableCellProps?.align === 'center'
218
- ? `${headerPL}rem`
219
- : undefined,
220
- }}
221
- >
193
+ {header.isPlaceholder
194
+ ? null
195
+ : tableCellProps.children ?? (
222
196
  <Box
223
- className="Mui-TableHeadCell-Content-Wrapper"
197
+ className="Mui-TableHeadCell-Content"
224
198
  sx={{
225
- '&:hover': {
226
- textOverflow: 'clip',
227
- },
228
- minWidth: `${Math.min(columnDef.header?.length ?? 0, 4)}ch`,
229
- overflow: columnDefType === 'data' ? 'hidden' : undefined,
230
- textOverflow: 'ellipsis',
231
- whiteSpace:
232
- (columnDef.header?.length ?? 0) < 20 ? 'nowrap' : 'normal',
199
+ alignItems: 'center',
200
+ display: 'flex',
201
+ flexDirection:
202
+ tableCellProps?.align === 'right' ? 'row-reverse' : 'row',
203
+ justifyContent:
204
+ columnDefType === 'group' ||
205
+ tableCellProps?.align === 'center'
206
+ ? 'center'
207
+ : column.getCanResize()
208
+ ? 'space-between'
209
+ : 'flex-start',
210
+ position: 'relative',
211
+ width: '100%',
233
212
  }}
234
- title={columnDefType === 'data' ? columnDef.header : undefined}
235
- >
236
- {headerElement}
237
- </Box>
238
- {column.getCanFilter() && (
239
- <MRT_TableHeadCellFilterLabel header={header} table={table} />
240
- )}
241
- {column.getCanSort() && (
242
- <MRT_TableHeadCellSortLabel
243
- header={header}
244
- table={table}
245
- tableCellProps={tableCellProps}
246
- />
247
- )}
248
- </Box>
249
- {columnDefType !== 'group' && (
250
- <Box
251
- className="Mui-TableHeadCell-Content-Actions"
252
- sx={{ whiteSpace: 'nowrap' }}
253
213
  >
254
- {showDragHandle && (
255
- <MRT_TableHeadCellGrabHandle
256
- column={column}
257
- table={table}
258
- tableHeadCellRef={{
259
- current: tableHeadCellRefs.current[column.id],
214
+ <Box
215
+ className="Mui-TableHeadCell-Content-Labels"
216
+ onClick={column.getToggleSortingHandler()}
217
+ sx={{
218
+ alignItems: 'center',
219
+ cursor:
220
+ column.getCanSort() && columnDefType !== 'group'
221
+ ? 'pointer'
222
+ : undefined,
223
+ display: 'flex',
224
+ flexDirection:
225
+ tableCellProps?.align === 'right' ? 'row-reverse' : 'row',
226
+ overflow: columnDefType === 'data' ? 'hidden' : undefined,
227
+ pl:
228
+ tableCellProps?.align === 'center'
229
+ ? `${headerPL}rem`
230
+ : undefined,
231
+ }}
232
+ >
233
+ <Box
234
+ className="Mui-TableHeadCell-Content-Wrapper"
235
+ sx={{
236
+ '&:hover': {
237
+ textOverflow: 'clip',
238
+ },
239
+ minWidth: `${Math.min(columnDef.header?.length ?? 0, 4)}ch`,
240
+ overflow: columnDefType === 'data' ? 'hidden' : undefined,
241
+ textOverflow: 'ellipsis',
242
+ whiteSpace:
243
+ (columnDef.header?.length ?? 0) < 20
244
+ ? 'nowrap'
245
+ : 'normal',
260
246
  }}
261
- />
247
+ title={
248
+ columnDefType === 'data' ? columnDef.header : undefined
249
+ }
250
+ >
251
+ {headerElement}
252
+ </Box>
253
+ {column.getCanFilter() && (
254
+ <MRT_TableHeadCellFilterLabel header={header} table={table} />
255
+ )}
256
+ {column.getCanSort() && (
257
+ <MRT_TableHeadCellSortLabel header={header} table={table} />
258
+ )}
259
+ </Box>
260
+ {columnDefType !== 'group' && (
261
+ <Box
262
+ className="Mui-TableHeadCell-Content-Actions"
263
+ sx={{ whiteSpace: 'nowrap' }}
264
+ >
265
+ {showDragHandle && (
266
+ <MRT_TableHeadCellGrabHandle
267
+ column={column}
268
+ table={table}
269
+ tableHeadCellRef={{
270
+ current: tableHeadCellRefs.current[column.id],
271
+ }}
272
+ />
273
+ )}
274
+ {showColumnActions && (
275
+ <MRT_TableHeadCellColumnActionsButton
276
+ header={header}
277
+ table={table}
278
+ />
279
+ )}
280
+ </Box>
262
281
  )}
263
- {showColumnActions && (
264
- <MRT_TableHeadCellColumnActionsButton
265
- header={header}
266
- table={table}
267
- />
282
+ {column.getCanResize() && (
283
+ <MRT_TableHeadCellResizeHandle header={header} table={table} />
268
284
  )}
269
285
  </Box>
270
286
  )}
271
- {column.getCanResize() && (
272
- <MRT_TableHeadCellResizeHandle header={header} table={table} />
273
- )}
274
- </Box>
275
- )}
276
287
  {columnFilterDisplayMode === 'subheader' && column.getCanFilter() && (
277
288
  <MRT_TableHeadCellFilterContainer header={header} table={table} />
278
289
  )}
@@ -1,24 +1,28 @@
1
1
  import { type MouseEvent, useState } from 'react';
2
- import IconButton from '@mui/material/IconButton';
2
+ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
5
  import { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';
6
- import { type MRT_Header, type MRT_TableInstance } from '../types';
6
+ import {
7
+ type MRT_Header,
8
+ type MRT_RowData,
9
+ type MRT_TableInstance,
10
+ } from '../types';
7
11
 
8
- interface Props<TData extends Record<string, any>> {
12
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
9
13
  header: MRT_Header<TData>;
10
14
  table: MRT_TableInstance<TData>;
11
15
  }
12
16
 
13
17
  export const MRT_TableHeadCellColumnActionsButton = <
14
- TData extends Record<string, any>,
18
+ TData extends MRT_RowData,
15
19
  >({
16
20
  header,
17
21
  table,
22
+ ...rest
18
23
  }: Props<TData>) => {
19
24
  const {
20
25
  options: {
21
- columnFilterDisplayMode,
22
26
  icons: { MoreVertIcon },
23
27
  localization,
24
28
  muiColumnActionsButtonProps,
@@ -44,12 +48,12 @@ export const MRT_TableHeadCellColumnActionsButton = <
44
48
  column,
45
49
  table,
46
50
  }),
51
+ ...rest,
47
52
  };
48
53
 
49
54
  return (
50
55
  <>
51
56
  <Tooltip
52
- arrow
53
57
  enterDelay={1000}
54
58
  enterNextDelay={1000}
55
59
  placement="top"
@@ -65,18 +69,15 @@ export const MRT_TableHeadCellColumnActionsButton = <
65
69
  opacity: 1,
66
70
  },
67
71
  height: '2rem',
68
- m: '-4px',
72
+ m: '-8px -4px',
69
73
  opacity: 0.3,
70
- transform: `scale(0.85) ${
71
- columnFilterDisplayMode !== 'popover' ? 'translateX(-4px)' : ''
72
- }`,
73
- transition: 'opacity 150ms',
74
+ transition: 'all 150ms',
74
75
  width: '2rem',
75
76
  ...(parseFromValuesOrFunc(iconButtonProps?.sx, theme) as any),
76
77
  })}
77
78
  title={undefined}
78
79
  >
79
- <MoreVertIcon />
80
+ <MoreVertIcon style={{ transform: 'scale(0.9)' }} />
80
81
  </IconButton>
81
82
  </Tooltip>
82
83
  {anchorEl && (