material-react-table 2.0.0-beta.3 → 2.0.0-beta.5

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