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
@@ -1,17 +1,21 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import Box from '@mui/material/Box';
3
- import { darken, lighten } from '@mui/material/styles';
4
- import { type MRT_Cell, type MRT_TableInstance } from '../types';
3
+ import { getMRTTheme } from '../style.utils';
4
+ import {
5
+ type MRT_Cell,
6
+ type MRT_RowData,
7
+ type MRT_TableInstance,
8
+ } from '../types';
5
9
  import highlightWords from 'highlight-words';
6
10
 
7
11
  const allowedTypes = ['string', 'number'];
8
12
 
9
- interface Props<TData extends Record<string, any>> {
13
+ interface Props<TData extends MRT_RowData> {
10
14
  cell: MRT_Cell<TData>;
11
15
  table: MRT_TableInstance<TData>;
12
16
  }
13
17
 
14
- export const MRT_TableBodyCellValue = <TData extends Record<string, any>>({
18
+ export const MRT_TableBodyCellValue = <TData extends MRT_RowData>({
15
19
  cell,
16
20
  table,
17
21
  }: Props<TData>) => {
@@ -79,12 +83,12 @@ export const MRT_TableBodyCellValue = <TData extends Record<string, any>>({
79
83
  match
80
84
  ? {
81
85
  backgroundColor: (theme) =>
82
- theme.palette.mode === 'dark'
83
- ? darken(theme.palette.warning.dark, 0.25)
84
- : lighten(theme.palette.warning.light, 0.5),
86
+ getMRTTheme(table, theme).matchHighlightColor,
85
87
  borderRadius: '2px',
86
88
  color: (theme) =>
87
- theme.palette.mode === 'dark' ? 'white' : 'black',
89
+ theme.palette.mode === 'dark'
90
+ ? theme.palette.common.white
91
+ : theme.palette.common.black,
88
92
  padding: '2px 1px',
89
93
  }
90
94
  : undefined
@@ -108,5 +112,5 @@ export const MRT_TableBodyCellValue = <TData extends Record<string, any>>({
108
112
  });
109
113
  }
110
114
 
111
- return <>{renderedCellValue}</>;
115
+ return renderedCellValue;
112
116
  };
@@ -11,9 +11,15 @@ import {
11
11
  import { MRT_TableBodyCell, Memo_MRT_TableBodyCell } from './MRT_TableBodyCell';
12
12
  import { MRT_TableDetailPanel } from './MRT_TableDetailPanel';
13
13
  import { parseFromValuesOrFunc } from '../column.utils';
14
- import { type MRT_Cell, type MRT_Row, type MRT_TableInstance } from '../types';
14
+ import { getMRTTheme } from '../style.utils';
15
+ import {
16
+ type MRT_Cell,
17
+ type MRT_Row,
18
+ type MRT_RowData,
19
+ type MRT_TableInstance,
20
+ } from '../types';
15
21
 
16
- interface Props<TData extends Record<string, any>> {
22
+ interface Props<TData extends MRT_RowData> {
17
23
  columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
18
24
  measureElement?: (element: HTMLTableRowElement) => void;
19
25
  numRows?: number;
@@ -27,7 +33,7 @@ interface Props<TData extends Record<string, any>> {
27
33
  virtualRow?: VirtualItem;
28
34
  }
29
35
 
30
- export const MRT_TableBodyRow = <TData extends Record<string, any>>({
36
+ export const MRT_TableBodyRow = <TData extends MRT_RowData>({
31
37
  columnVirtualizer,
32
38
  measureElement,
33
39
  numRows,
@@ -113,10 +119,18 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
113
119
 
114
120
  const rowRef = useRef<HTMLTableRowElement | null>(null);
115
121
 
122
+ const {
123
+ baseBackgroundColor,
124
+ pinnedRowBackgroundColor,
125
+ selectedRowBackgroundColor,
126
+ } = getMRTTheme(table, theme);
127
+
116
128
  return (
117
129
  <>
118
130
  <TableRow
119
131
  data-index={virtualRow?.index}
132
+ data-pinned={!!isPinned || undefined}
133
+ data-selected={row.getIsSelected() || undefined}
120
134
  onDragEnter={handleDragEnter}
121
135
  ref={(node: HTMLTableRowElement) => {
122
136
  if (node) {
@@ -137,16 +151,13 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
137
151
  backgroundColor:
138
152
  tableRowProps?.hover !== false
139
153
  ? row.getIsSelected()
140
- ? `${alpha(theme.palette.primary.main, 0.2)}`
154
+ ? `${alpha(selectedRowBackgroundColor, 0.3)}`
141
155
  : theme.palette.mode === 'dark'
142
- ? `${lighten(theme.palette.background.default, 0.12)}`
143
- : `${darken(theme.palette.background.default, 0.05)}`
156
+ ? `${lighten(baseBackgroundColor, 0.05)}`
157
+ : `${darken(baseBackgroundColor, 0.05)}`
144
158
  : undefined,
145
159
  },
146
- backgroundColor: `${lighten(
147
- theme.palette.background.default,
148
- 0.05,
149
- )} !important`,
160
+ backgroundColor: `${baseBackgroundColor} !important`,
150
161
  bottom:
151
162
  !virtualRow && bottomPinnedIndex !== undefined && isPinned
152
163
  ? `${
@@ -157,7 +168,7 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
157
168
  boxSizing: 'border-box',
158
169
  display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
159
170
  opacity: isPinned
160
- ? 0.98
171
+ ? 0.97
161
172
  : draggingRow?.id === row.id || hoveredRow?.id === row.id
162
173
  ? 0.5
163
174
  : 1,
@@ -168,9 +179,9 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
168
179
  : undefined,
169
180
  td: {
170
181
  backgroundColor: row.getIsSelected()
171
- ? alpha(theme.palette.primary.main, 0.2)
182
+ ? selectedRowBackgroundColor
172
183
  : isPinned
173
- ? alpha(theme.palette.primary.main, 0.1)
184
+ ? pinnedRowBackgroundColor
174
185
  : undefined,
175
186
  },
176
187
  top: virtualRow
@@ -204,8 +215,8 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
204
215
  rowIndex,
205
216
  rowRef,
206
217
  table,
207
- virtualCell: columnVirtualizer
208
- ? (cellOrVirtualCell as VirtualItem)
218
+ virtualIndex: columnVirtualizer
219
+ ? (cellOrVirtualCell as VirtualItem).index
209
220
  : undefined,
210
221
  };
211
222
  return cell ? (
@@ -1,27 +1,36 @@
1
1
  import { type DragEvent, type RefObject } from 'react';
2
+ import { type IconButtonProps } from '@mui/material/IconButton';
2
3
  import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
3
4
  import { parseFromValuesOrFunc } from '../column.utils';
4
- import { type MRT_Row, type MRT_TableInstance } from '../types';
5
+ import {
6
+ type MRT_Row,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
5
10
 
6
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
7
12
  row: MRT_Row<TData>;
8
13
  rowRef: RefObject<HTMLTableRowElement>;
9
14
  table: MRT_TableInstance<TData>;
10
15
  }
11
16
 
12
- export const MRT_TableBodyRowGrabHandle = <TData extends Record<string, any>>({
17
+ export const MRT_TableBodyRowGrabHandle = <TData extends MRT_RowData>({
13
18
  row,
14
19
  rowRef,
15
20
  table,
21
+ ...rest
16
22
  }: Props<TData>) => {
17
23
  const {
18
24
  options: { muiRowDragHandleProps },
19
25
  } = table;
20
26
 
21
- const iconButtonProps = parseFromValuesOrFunc(muiRowDragHandleProps, {
22
- row,
23
- table,
24
- });
27
+ const iconButtonProps = {
28
+ ...parseFromValuesOrFunc(muiRowDragHandleProps, {
29
+ row,
30
+ table,
31
+ }),
32
+ ...rest,
33
+ };
25
34
 
26
35
  const handleDragStart = (event: DragEvent<HTMLButtonElement>) => {
27
36
  iconButtonProps?.onDragStart?.(event);
@@ -1,16 +1,22 @@
1
1
  import Box from '@mui/material/Box';
2
+ import { type IconButtonProps } from '@mui/material/IconButton';
2
3
  import { MRT_RowPinButton } from '../buttons/MRT_RowPinButton';
3
4
  import { parseFromValuesOrFunc } from '../column.utils';
4
- import { type MRT_Row, type MRT_TableInstance } from '../types';
5
+ import {
6
+ type MRT_Row,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
5
10
 
6
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
7
12
  row: MRT_Row<TData>;
8
13
  table: MRT_TableInstance<TData>;
9
14
  }
10
15
 
11
- export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
16
+ export const MRT_TableBodyRowPinButton = <TData extends MRT_RowData>({
12
17
  row,
13
18
  table,
19
+ ...rest
14
20
  }: Props<TData>) => {
15
21
  const {
16
22
  getState,
@@ -22,6 +28,12 @@ export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
22
28
 
23
29
  if (!canPin) return null;
24
30
 
31
+ const rowPinButtonProps = {
32
+ row,
33
+ table,
34
+ ...rest,
35
+ };
36
+
25
37
  if (rowPinningDisplayMode === 'top-and-bottom' && !row.getIsPinned()) {
26
38
  return (
27
39
  <Box
@@ -30,8 +42,8 @@ export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
30
42
  flexDirection: density === 'compact' ? 'row' : 'column',
31
43
  }}
32
44
  >
33
- <MRT_RowPinButton pinningPosition="top" row={row} table={table} />
34
- <MRT_RowPinButton pinningPosition="bottom" row={row} table={table} />
45
+ <MRT_RowPinButton pinningPosition="top" {...rowPinButtonProps} />
46
+ <MRT_RowPinButton pinningPosition="bottom" {...rowPinButtonProps} />
35
47
  </Box>
36
48
  );
37
49
  }
@@ -39,8 +51,7 @@ export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
39
51
  return (
40
52
  <MRT_RowPinButton
41
53
  pinningPosition={rowPinningDisplayMode === 'bottom' ? 'bottom' : 'top'}
42
- row={row}
43
- table={table}
54
+ {...rowPinButtonProps}
44
55
  />
45
56
  );
46
57
  };
@@ -1,13 +1,17 @@
1
1
  import { type RefObject } from 'react';
2
2
  import { type VirtualItem } from '@tanstack/react-virtual';
3
3
  import Collapse from '@mui/material/Collapse';
4
- import TableCell from '@mui/material/TableCell';
4
+ import TableCell, { type TableCellProps } from '@mui/material/TableCell';
5
5
  import TableRow from '@mui/material/TableRow';
6
- import { lighten } from '@mui/material/styles';
7
6
  import { parseFromValuesOrFunc } from '../column.utils';
8
- import { type MRT_Row, type MRT_TableInstance } from '../types';
7
+ import { getMRTTheme } from '../style.utils';
8
+ import {
9
+ type MRT_Row,
10
+ type MRT_RowData,
11
+ type MRT_TableInstance,
12
+ } from '../types';
9
13
 
10
- interface Props<TData extends Record<string, any>> {
14
+ interface Props<TData extends MRT_RowData> extends TableCellProps {
11
15
  parentRowRef: RefObject<HTMLTableRowElement>;
12
16
  row: MRT_Row<TData>;
13
17
  rowIndex: number;
@@ -15,12 +19,13 @@ interface Props<TData extends Record<string, any>> {
15
19
  virtualRow?: VirtualItem;
16
20
  }
17
21
 
18
- export const MRT_TableDetailPanel = <TData extends Record<string, any>>({
22
+ export const MRT_TableDetailPanel = <TData extends MRT_RowData>({
19
23
  parentRowRef,
20
24
  row,
21
25
  rowIndex,
22
26
  table,
23
27
  virtualRow,
28
+ ...rest
24
29
  }: Props<TData>) => {
25
30
  const {
26
31
  getState,
@@ -41,10 +46,13 @@ export const MRT_TableDetailPanel = <TData extends Record<string, any>>({
41
46
  table,
42
47
  });
43
48
 
44
- const tableCellProps = parseFromValuesOrFunc(muiDetailPanelProps, {
45
- row,
46
- table,
47
- });
49
+ const tableCellProps = {
50
+ ...parseFromValuesOrFunc(muiDetailPanelProps, {
51
+ row,
52
+ table,
53
+ }),
54
+ ...rest,
55
+ };
48
56
 
49
57
  return (
50
58
  <TableRow
@@ -70,10 +78,10 @@ export const MRT_TableDetailPanel = <TData extends Record<string, any>>({
70
78
  {...tableCellProps}
71
79
  sx={(theme) => ({
72
80
  backgroundColor: virtualRow
73
- ? lighten(theme.palette.background.default, 0.05)
81
+ ? getMRTTheme(table, theme).baseBackgroundColor
74
82
  : undefined,
75
83
  borderBottom: !row.getIsExpanded() ? 'none' : undefined,
76
- display: layoutMode?.startsWith('grid') ? 'flex' : 'table-cell',
84
+ display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
77
85
  py: row.getIsExpanded() ? '1rem' : 0,
78
86
  transition: 'all 150ms ease-in-out',
79
87
  width: `${table.getTotalSize()}px`,
@@ -1,16 +1,22 @@
1
- import Box from '@mui/material/Box';
1
+ import Box, { type BoxProps } from '@mui/material/Box';
2
2
  import IconButton from '@mui/material/IconButton';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
- import { type MRT_Column, type MRT_TableInstance } from '../types';
4
+ import { parseFromValuesOrFunc } from '../column.utils';
5
+ import {
6
+ type MRT_Column,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
5
10
 
6
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> extends BoxProps {
7
12
  column: MRT_Column<TData>;
8
13
  table: MRT_TableInstance<TData>;
9
14
  }
10
15
 
11
- export const MRT_ColumnPinningButtons = <TData extends Record<string, any>>({
16
+ export const MRT_ColumnPinningButtons = <TData extends MRT_RowData>({
12
17
  column,
13
18
  table,
19
+ ...rest
14
20
  }: Props<TData>) => {
15
21
  const {
16
22
  options: {
@@ -24,16 +30,23 @@ export const MRT_ColumnPinningButtons = <TData extends Record<string, any>>({
24
30
  };
25
31
 
26
32
  return (
27
- <Box sx={{ minWidth: '70px', textAlign: 'center' }}>
33
+ <Box
34
+ {...rest}
35
+ sx={(theme) => ({
36
+ minWidth: '70px',
37
+ textAlign: 'center',
38
+ ...(parseFromValuesOrFunc(rest?.sx, theme) as any),
39
+ })}
40
+ >
28
41
  {column.getIsPinned() ? (
29
- <Tooltip arrow title={localization.unpin}>
42
+ <Tooltip title={localization.unpin}>
30
43
  <IconButton onClick={() => handlePinColumn(false)} size="small">
31
44
  <PushPinIcon />
32
45
  </IconButton>
33
46
  </Tooltip>
34
47
  ) : (
35
48
  <>
36
- <Tooltip arrow title={localization.pinToLeft}>
49
+ <Tooltip title={localization.pinToLeft}>
37
50
  <IconButton onClick={() => handlePinColumn('left')} size="small">
38
51
  <PushPinIcon
39
52
  style={{
@@ -42,7 +55,7 @@ export const MRT_ColumnPinningButtons = <TData extends Record<string, any>>({
42
55
  />
43
56
  </IconButton>
44
57
  </Tooltip>
45
- <Tooltip arrow title={localization.pinToRight}>
58
+ <Tooltip title={localization.pinToRight}>
46
59
  <IconButton onClick={() => handlePinColumn('right')} size="small">
47
60
  <PushPinIcon
48
61
  style={{
@@ -1,19 +1,22 @@
1
- import { type MouseEvent, type ReactNode, useState } from 'react';
2
- import Button from '@mui/material/Button';
1
+ import { type MouseEvent, useState } from 'react';
2
+ import Button, { type ButtonProps } from '@mui/material/Button';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
- import { type MRT_Cell, type MRT_TableInstance } from '../types';
5
+ import {
6
+ type MRT_Cell,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
6
10
 
7
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> extends ButtonProps {
8
12
  cell: MRT_Cell<TData>;
9
- children: ReactNode;
10
13
  table: MRT_TableInstance<TData>;
11
14
  }
12
15
 
13
- export const MRT_CopyButton = <TData extends Record<string, any>>({
16
+ export const MRT_CopyButton = <TData extends MRT_RowData>({
14
17
  cell,
15
- children,
16
18
  table,
19
+ ...rest
17
20
  }: Props<TData>) => {
18
21
  const {
19
22
  options: { localization, muiCopyButtonProps },
@@ -43,11 +46,11 @@ export const MRT_CopyButton = <TData extends Record<string, any>>({
43
46
  row,
44
47
  table,
45
48
  }),
49
+ ...rest,
46
50
  };
47
51
 
48
52
  return (
49
53
  <Tooltip
50
- arrow
51
54
  enterDelay={1000}
52
55
  enterNextDelay={1000}
53
56
  placement="top"
@@ -77,9 +80,7 @@ export const MRT_CopyButton = <TData extends Record<string, any>>({
77
80
  ...(parseFromValuesOrFunc(buttonProps?.sx, theme) as any),
78
81
  })}
79
82
  title={undefined}
80
- >
81
- {children}
82
- </Button>
83
+ />
83
84
  </Tooltip>
84
85
  );
85
86
  };
@@ -1,20 +1,26 @@
1
- import Box from '@mui/material/Box';
1
+ import Box, { type BoxProps } from '@mui/material/Box';
2
2
  import Button from '@mui/material/Button';
3
3
  import CircularProgress from '@mui/material/CircularProgress';
4
4
  import IconButton from '@mui/material/IconButton';
5
5
  import Tooltip from '@mui/material/Tooltip';
6
- import { type MRT_Row, type MRT_TableInstance } from '../types';
6
+ import { parseFromValuesOrFunc } from '../column.utils';
7
+ import {
8
+ type MRT_Row,
9
+ type MRT_RowData,
10
+ type MRT_TableInstance,
11
+ } from '../types';
7
12
 
8
- interface Props<TData extends Record<string, any>> {
13
+ interface Props<TData extends MRT_RowData> extends BoxProps {
9
14
  row: MRT_Row<TData>;
10
15
  table: MRT_TableInstance<TData>;
11
16
  variant?: 'icon' | 'text';
12
17
  }
13
18
 
14
- export const MRT_EditActionButtons = <TData extends Record<string, any>>({
19
+ export const MRT_EditActionButtons = <TData extends MRT_RowData>({
15
20
  row,
16
21
  table,
17
22
  variant = 'icon',
23
+ ...rest
18
24
  }: Props<TData>) => {
19
25
  const {
20
26
  getState,
@@ -79,16 +85,20 @@ export const MRT_EditActionButtons = <TData extends Record<string, any>>({
79
85
  return (
80
86
  <Box
81
87
  onClick={(e) => e.stopPropagation()}
82
- sx={{ display: 'flex', gap: '0.75rem' }}
88
+ sx={(theme) => ({
89
+ display: 'flex',
90
+ gap: '0.75rem',
91
+ ...(parseFromValuesOrFunc(rest?.sx, theme) as any),
92
+ })}
83
93
  >
84
94
  {variant === 'icon' ? (
85
95
  <>
86
- <Tooltip arrow title={localization.cancel}>
96
+ <Tooltip title={localization.cancel}>
87
97
  <IconButton aria-label={localization.cancel} onClick={handleCancel}>
88
98
  <CancelIcon />
89
99
  </IconButton>
90
100
  </Tooltip>
91
- <Tooltip arrow title={localization.save}>
101
+ <Tooltip title={localization.save}>
92
102
  <IconButton
93
103
  aria-label={localization.save}
94
104
  color="info"
@@ -1,14 +1,15 @@
1
- import IconButton from '@mui/material/IconButton';
1
+ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
2
2
  import Tooltip from '@mui/material/Tooltip';
3
3
  import { parseFromValuesOrFunc } from '../column.utils';
4
- import { type MRT_TableInstance } from '../types';
4
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
5
5
 
6
- interface Props<TData extends Record<string, any>> {
6
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
7
7
  table: MRT_TableInstance<TData>;
8
8
  }
9
9
 
10
- export const MRT_ExpandAllButton = <TData extends Record<string, any>>({
10
+ export const MRT_ExpandAllButton = <TData extends MRT_RowData>({
11
11
  table,
12
+ ...rest
12
13
  }: Props<TData>) => {
13
14
  const {
14
15
  getCanSomeRowsExpand,
@@ -25,21 +26,22 @@ export const MRT_ExpandAllButton = <TData extends Record<string, any>>({
25
26
  } = table;
26
27
  const { density, isLoading } = getState();
27
28
 
28
- const iconButtonProps = parseFromValuesOrFunc(muiExpandAllButtonProps, {
29
- table,
30
- });
29
+ const iconButtonProps = {
30
+ ...parseFromValuesOrFunc(muiExpandAllButtonProps, {
31
+ table,
32
+ }),
33
+ ...rest,
34
+ };
31
35
 
32
36
  const isAllRowsExpanded = getIsAllRowsExpanded();
33
37
 
34
38
  return (
35
39
  <Tooltip
36
- arrow
37
40
  enterDelay={1000}
38
41
  enterNextDelay={1000}
39
42
  title={
40
- iconButtonProps?.title ?? isAllRowsExpanded
41
- ? localization.collapseAll
42
- : localization.expandAll
43
+ iconButtonProps?.title ??
44
+ (isAllRowsExpanded ? localization.collapseAll : localization.expandAll)
43
45
  }
44
46
  >
45
47
  <span>
@@ -1,15 +1,19 @@
1
1
  import { type MouseEvent } 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
- import { type MRT_Row, type MRT_TableInstance } from '../types';
5
+ import {
6
+ type MRT_Row,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
6
10
 
7
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
8
12
  row: MRT_Row<TData>;
9
13
  table: MRT_TableInstance<TData>;
10
14
  }
11
15
 
12
- export const MRT_ExpandButton = <TData extends Record<string, any>>({
16
+ export const MRT_ExpandButton = <TData extends MRT_RowData>({
13
17
  row,
14
18
  table,
15
19
  }: Props<TData>) => {
@@ -40,14 +44,12 @@ export const MRT_ExpandButton = <TData extends Record<string, any>>({
40
44
 
41
45
  return (
42
46
  <Tooltip
43
- arrow
44
47
  disableHoverListener={!canExpand && !renderDetailPanel}
45
48
  enterDelay={1000}
46
49
  enterNextDelay={1000}
47
50
  title={
48
- iconButtonProps?.title ?? isExpanded
49
- ? localization.collapse
50
- : localization.expand
51
+ iconButtonProps?.title ??
52
+ (isExpanded ? localization.collapse : localization.expand)
51
53
  }
52
54
  >
53
55
  <span>
@@ -2,9 +2,9 @@ import { type DragEventHandler } from 'react';
2
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
- 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 IconButtonProps {
8
8
  iconButtonProps?: IconButtonProps;
9
9
  location?: 'column' | 'row';
10
10
  onDragEnd: DragEventHandler<HTMLButtonElement>;
@@ -12,12 +12,13 @@ interface Props<TData extends Record<string, any>> {
12
12
  table: MRT_TableInstance<TData>;
13
13
  }
14
14
 
15
- export const MRT_GrabHandleButton = <TData extends Record<string, any>>({
15
+ export const MRT_GrabHandleButton = <TData extends MRT_RowData>({
16
16
  iconButtonProps,
17
17
  location,
18
18
  onDragEnd,
19
19
  onDragStart,
20
20
  table,
21
+ ...rest
21
22
  }: Props<TData>) => {
22
23
  const {
23
24
  options: {
@@ -26,22 +27,23 @@ export const MRT_GrabHandleButton = <TData extends Record<string, any>>({
26
27
  },
27
28
  } = table;
28
29
 
30
+ const _iconButtonProps = { ...iconButtonProps, ...rest };
31
+
29
32
  return (
30
33
  <Tooltip
31
- arrow
32
34
  enterDelay={1000}
33
35
  enterNextDelay={1000}
34
36
  placement="top"
35
- title={iconButtonProps?.title ?? localization.move}
37
+ title={_iconButtonProps?.title ?? localization.move}
36
38
  >
37
39
  <IconButton
38
40
  disableRipple
39
41
  draggable="true"
40
42
  size="small"
41
- {...iconButtonProps}
43
+ {..._iconButtonProps}
42
44
  onClick={(e) => {
43
45
  e.stopPropagation();
44
- iconButtonProps?.onClick?.(e);
46
+ _iconButtonProps?.onClick?.(e);
45
47
  }}
46
48
  onDragEnd={onDragEnd}
47
49
  onDragStart={onDragStart}
@@ -58,7 +60,7 @@ export const MRT_GrabHandleButton = <TData extends Record<string, any>>({
58
60
  opacity: location === 'row' ? 1 : 0.3,
59
61
  p: '2px',
60
62
  transition: 'all 150ms ease-in-out',
61
- ...(parseFromValuesOrFunc(iconButtonProps?.sx, theme) as any),
63
+ ...(parseFromValuesOrFunc(_iconButtonProps?.sx, theme) as any),
62
64
  })}
63
65
  title={undefined}
64
66
  >