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

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