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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/dist/index.d.ts +279 -261
  2. package/dist/{esm/material-react-table.esm.js → index.esm.js} +943 -921
  3. package/dist/index.esm.js.map +1 -0
  4. package/dist/{cjs/index.js → index.js} +948 -926
  5. package/dist/index.js.map +1 -0
  6. package/dist/types/MaterialReactTable.d.ts +7 -0
  7. package/dist/types/body/MRT_TableBody.d.ts +13 -0
  8. package/dist/types/body/MRT_TableBodyCell.d.ts +15 -0
  9. package/dist/types/body/MRT_TableBodyCellValue.d.ts +8 -0
  10. package/dist/types/body/MRT_TableBodyRow.d.ts +18 -0
  11. package/dist/types/body/MRT_TableBodyRowGrabHandle.d.ts +10 -0
  12. package/dist/types/body/MRT_TableBodyRowPinButton.d.ts +8 -0
  13. package/dist/types/body/MRT_TableDetailPanel.d.ts +13 -0
  14. package/dist/types/buttons/MRT_ColumnPinningButtons.d.ts +8 -0
  15. package/dist/types/buttons/MRT_CopyButton.d.ts +8 -0
  16. package/dist/types/buttons/MRT_EditActionButtons.d.ts +9 -0
  17. package/dist/types/buttons/MRT_ExpandAllButton.d.ts +7 -0
  18. package/dist/types/buttons/MRT_ExpandButton.d.ts +8 -0
  19. package/dist/{cjs/types → types}/buttons/MRT_GrabHandleButton.d.ts +3 -3
  20. package/dist/types/buttons/MRT_RowPinButton.d.ts +10 -0
  21. package/dist/types/buttons/MRT_ShowHideColumnsButton.d.ts +7 -0
  22. package/dist/types/buttons/MRT_ToggleDensePaddingButton.d.ts +7 -0
  23. package/dist/types/buttons/MRT_ToggleFiltersButton.d.ts +7 -0
  24. package/dist/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
  25. package/dist/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +7 -0
  26. package/dist/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +9 -0
  27. package/dist/types/column.utils.d.ts +119 -0
  28. package/dist/types/filterFns.d.ts +69 -0
  29. package/dist/types/footer/MRT_TableFooter.d.ts +11 -0
  30. package/dist/types/footer/MRT_TableFooterCell.d.ts +8 -0
  31. package/dist/types/footer/MRT_TableFooterRow.d.ts +12 -0
  32. package/dist/types/head/MRT_TableHead.d.ts +11 -0
  33. package/dist/types/head/MRT_TableHeadCell.d.ts +8 -0
  34. package/dist/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +8 -0
  35. package/dist/types/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
  36. package/dist/types/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
  37. package/dist/{cjs/types → types}/head/MRT_TableHeadCellGrabHandle.d.ts +4 -3
  38. package/dist/types/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
  39. package/dist/types/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
  40. package/dist/types/head/MRT_TableHeadRow.d.ts +12 -0
  41. package/dist/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
  42. package/dist/types/hooks/useMRT_Effects.d.ts +2 -0
  43. package/dist/types/hooks/useMRT_TableInstance.d.ts +2 -0
  44. package/dist/types/hooks/useMRT_TableOptions.d.ts +22 -0
  45. package/dist/{cjs/types → types}/index.d.ts +1 -0
  46. package/dist/types/inputs/MRT_EditCellTextField.d.ts +8 -0
  47. package/dist/types/inputs/MRT_FilterCheckbox.d.ts +8 -0
  48. package/dist/types/inputs/MRT_FilterRangeFields.d.ts +8 -0
  49. package/dist/types/inputs/MRT_FilterRangeSlider.d.ts +8 -0
  50. package/dist/types/inputs/MRT_FilterTextField.d.ts +9 -0
  51. package/dist/types/inputs/MRT_GlobalFilterTextField.d.ts +7 -0
  52. package/dist/types/inputs/MRT_SelectCheckbox.d.ts +9 -0
  53. package/dist/types/locales/az.d.ts +2 -0
  54. package/dist/{cjs/types → types}/locales/no.d.ts +1 -1
  55. package/dist/{esm/types → types}/menus/MRT_ColumnActionMenu.d.ts +4 -3
  56. package/dist/{esm/types → types}/menus/MRT_FilterOptionMenu.d.ts +4 -3
  57. package/dist/types/menus/MRT_RowActionMenu.d.ts +12 -0
  58. package/dist/types/menus/MRT_ShowHideColumnsMenu.d.ts +10 -0
  59. package/dist/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +12 -0
  60. package/dist/types/modals/MRT_EditRowModal.d.ts +8 -0
  61. package/dist/{esm/types → types}/sortingFns.d.ts +3 -3
  62. package/dist/types/style.utils.d.ts +32 -0
  63. package/dist/types/table/MRT_Table.d.ts +7 -0
  64. package/dist/types/table/MRT_TableContainer.d.ts +7 -0
  65. package/dist/types/table/MRT_TableLoadingOverlay.d.ts +7 -0
  66. package/dist/types/table/MRT_TablePaper.d.ts +7 -0
  67. package/dist/{cjs/types → types}/table/index.d.ts +1 -0
  68. package/dist/types/toolbar/MRT_BottomToolbar.d.ts +7 -0
  69. package/dist/types/toolbar/MRT_LinearProgressBar.d.ts +8 -0
  70. package/dist/types/toolbar/MRT_TablePagination.d.ts +11 -0
  71. package/dist/types/toolbar/MRT_ToolbarAlertBanner.d.ts +8 -0
  72. package/dist/types/toolbar/MRT_ToolbarDropZone.d.ts +7 -0
  73. package/dist/types/toolbar/MRT_ToolbarInternalButtons.d.ts +7 -0
  74. package/dist/types/toolbar/MRT_TopToolbar.d.ts +6 -0
  75. package/dist/{cjs/types → types}/types.d.ts +69 -50
  76. package/dist/types/useMaterialReactTable.d.ts +2 -0
  77. package/locales/ar.d.ts +1 -0
  78. package/locales/ar.js +0 -1
  79. package/locales/{ar.esm.js → ar.mjs} +0 -1
  80. package/locales/az.d.ts +3 -0
  81. package/locales/az.js +97 -0
  82. package/locales/az.mjs +93 -0
  83. package/locales/bg.d.ts +1 -0
  84. package/locales/bg.js +0 -1
  85. package/locales/{bg.esm.js → bg.mjs} +0 -1
  86. package/locales/cs.d.ts +1 -0
  87. package/locales/cs.js +0 -1
  88. package/locales/{cs.esm.js → cs.mjs} +0 -1
  89. package/locales/da.d.ts +1 -0
  90. package/locales/da.js +0 -1
  91. package/locales/{da.esm.js → da.mjs} +0 -1
  92. package/locales/de.d.ts +1 -0
  93. package/locales/de.js +0 -1
  94. package/locales/{de.esm.js → de.mjs} +0 -1
  95. package/locales/en.d.ts +1 -0
  96. package/locales/en.js +0 -1
  97. package/locales/{en.esm.js → en.mjs} +0 -1
  98. package/locales/es.d.ts +1 -0
  99. package/locales/es.js +0 -1
  100. package/locales/{es.esm.js → es.mjs} +0 -1
  101. package/locales/et.d.ts +1 -0
  102. package/locales/et.js +0 -1
  103. package/locales/{et.esm.js → et.mjs} +0 -1
  104. package/locales/fa.d.ts +1 -0
  105. package/locales/fa.js +0 -1
  106. package/locales/{fa.esm.js → fa.mjs} +0 -1
  107. package/locales/fi.d.ts +1 -0
  108. package/locales/fi.js +0 -1
  109. package/locales/{fi.esm.js → fi.mjs} +0 -1
  110. package/locales/fr.d.ts +1 -0
  111. package/locales/fr.js +0 -1
  112. package/locales/{fr.esm.js → fr.mjs} +0 -1
  113. package/locales/hu.d.ts +1 -0
  114. package/locales/hu.js +0 -1
  115. package/locales/{hu.esm.js → hu.mjs} +0 -1
  116. package/locales/hy.d.ts +1 -0
  117. package/locales/hy.js +0 -1
  118. package/locales/{hy.esm.js → hy.mjs} +0 -1
  119. package/locales/id.d.ts +1 -0
  120. package/locales/id.js +0 -1
  121. package/locales/{id.esm.js → id.mjs} +0 -1
  122. package/locales/it.d.ts +1 -0
  123. package/locales/it.js +0 -1
  124. package/locales/{it.esm.js → it.mjs} +0 -1
  125. package/locales/ja.d.ts +1 -0
  126. package/locales/ja.js +0 -1
  127. package/locales/{ja.esm.js → ja.mjs} +0 -1
  128. package/locales/ko.d.ts +1 -0
  129. package/locales/ko.js +0 -1
  130. package/locales/{ko.esm.js → ko.mjs} +0 -1
  131. package/locales/nl.d.ts +1 -0
  132. package/locales/nl.js +0 -1
  133. package/locales/{nl.esm.js → nl.mjs} +0 -1
  134. package/locales/no.d.ts +2 -1
  135. package/locales/no.js +0 -1
  136. package/locales/{no.esm.js → no.mjs} +0 -1
  137. package/locales/np.d.ts +1 -0
  138. package/locales/np.js +0 -1
  139. package/locales/{np.esm.js → np.mjs} +0 -1
  140. package/locales/pl.d.ts +1 -0
  141. package/locales/pl.js +0 -1
  142. package/locales/{pl.esm.js → pl.mjs} +0 -1
  143. package/locales/pt-BR.d.ts +1 -0
  144. package/locales/pt-BR.js +0 -1
  145. package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
  146. package/locales/pt.d.ts +1 -0
  147. package/locales/pt.js +0 -1
  148. package/locales/{pt.esm.js → pt.mjs} +0 -1
  149. package/locales/ro.d.ts +1 -0
  150. package/locales/ro.js +0 -1
  151. package/locales/{ro.esm.js → ro.mjs} +0 -1
  152. package/locales/ru.d.ts +1 -0
  153. package/locales/ru.js +0 -1
  154. package/locales/{ru.esm.js → ru.mjs} +0 -1
  155. package/locales/sk.d.ts +1 -0
  156. package/locales/sk.js +0 -1
  157. package/locales/{sk.esm.js → sk.mjs} +0 -1
  158. package/locales/sr-Cyrl-RS.d.ts +1 -0
  159. package/locales/sr-Cyrl-RS.js +0 -1
  160. package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
  161. package/locales/sr-Latn-RS.d.ts +1 -0
  162. package/locales/sr-Latn-RS.js +0 -1
  163. package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
  164. package/locales/sv.d.ts +1 -0
  165. package/locales/sv.js +0 -1
  166. package/locales/{sv.esm.js → sv.mjs} +0 -1
  167. package/locales/tr.d.ts +1 -0
  168. package/locales/tr.js +0 -1
  169. package/locales/{tr.esm.js → tr.mjs} +0 -1
  170. package/locales/uk.d.ts +1 -0
  171. package/locales/uk.js +0 -1
  172. package/locales/{uk.esm.js → uk.mjs} +0 -1
  173. package/locales/vi.d.ts +1 -0
  174. package/locales/vi.js +0 -1
  175. package/locales/{vi.esm.js → vi.mjs} +0 -1
  176. package/locales/zh-Hans.d.ts +1 -0
  177. package/locales/zh-Hans.js +17 -18
  178. package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
  179. package/locales/zh-Hant.d.ts +1 -0
  180. package/locales/zh-Hant.js +0 -1
  181. package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
  182. package/package.json +215 -31
  183. package/src/MaterialReactTable.tsx +5 -4
  184. package/src/body/MRT_TableBody.tsx +14 -8
  185. package/src/body/MRT_TableBodyCell.tsx +77 -70
  186. package/src/body/MRT_TableBodyCellValue.tsx +13 -9
  187. package/src/body/MRT_TableBodyRow.tsx +26 -15
  188. package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
  189. package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
  190. package/src/body/MRT_TableDetailPanel.tsx +19 -11
  191. package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
  192. package/src/buttons/MRT_CopyButton.tsx +12 -11
  193. package/src/buttons/MRT_EditActionButtons.tsx +17 -7
  194. package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
  195. package/src/buttons/MRT_ExpandButton.tsx +10 -8
  196. package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
  197. package/src/buttons/MRT_RowPinButton.tsx +14 -7
  198. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
  199. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
  200. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
  201. package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
  202. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
  203. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
  204. package/src/column.utils.ts +46 -141
  205. package/src/filterFns.ts +15 -14
  206. package/src/footer/MRT_TableFooter.tsx +11 -7
  207. package/src/footer/MRT_TableFooterCell.tsx +21 -16
  208. package/src/footer/MRT_TableFooterRow.tsx +14 -9
  209. package/src/head/MRT_TableHead.tsx +10 -6
  210. package/src/head/MRT_TableHeadCell.tsx +102 -91
  211. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
  212. package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
  213. package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
  214. package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
  215. package/src/head/MRT_TableHeadCellResizeHandle.tsx +14 -9
  216. package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
  217. package/src/head/MRT_TableHeadRow.tsx +15 -9
  218. package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
  219. package/src/hooks/useMRT_Effects.ts +6 -2
  220. package/src/hooks/useMRT_TableInstance.ts +3 -2
  221. package/src/hooks/useMRT_TableOptions.ts +29 -4
  222. package/src/index.ts +1 -0
  223. package/src/inputs/MRT_EditCellTextField.tsx +18 -4
  224. package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
  225. package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
  226. package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
  227. package/src/inputs/MRT_FilterTextField.tsx +13 -5
  228. package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
  229. package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
  230. package/src/locales/az.ts +94 -0
  231. package/src/locales/no.ts +1 -1
  232. package/src/locales/zh-Hans.ts +17 -17
  233. package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
  234. package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
  235. package/src/menus/MRT_RowActionMenu.tsx +10 -4
  236. package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
  237. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
  238. package/src/modals/MRT_EditRowModal.tsx +17 -11
  239. package/src/sortingFns.ts +3 -3
  240. package/src/style.utils.ts +149 -0
  241. package/src/table/MRT_Table.tsx +28 -34
  242. package/src/table/MRT_TableContainer.tsx +17 -46
  243. package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
  244. package/src/table/MRT_TablePaper.tsx +13 -6
  245. package/src/table/index.ts +1 -0
  246. package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
  247. package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
  248. package/src/toolbar/MRT_TablePagination.tsx +20 -10
  249. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
  250. package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
  251. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
  252. package/src/toolbar/MRT_TopToolbar.tsx +11 -24
  253. package/src/types.ts +98 -56
  254. package/src/useMaterialReactTable.ts +8 -7
  255. package/dist/cjs/index.js.map +0 -1
  256. package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
  257. package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
  258. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
  259. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  260. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
  261. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  262. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  263. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
  264. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  265. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
  266. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  267. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  268. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
  269. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
  270. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  271. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  272. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  273. package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  274. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  275. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  276. package/dist/cjs/types/column.utils.d.ts +0 -148
  277. package/dist/cjs/types/filterFns.d.ts +0 -68
  278. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
  279. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
  280. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
  281. package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
  282. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
  283. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  284. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  285. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  286. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  287. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  288. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
  289. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  290. package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
  291. package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
  292. package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
  293. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  294. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  295. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  296. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  297. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
  298. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  299. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  300. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  301. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  302. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
  303. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  304. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  305. package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
  306. package/dist/cjs/types/sortingFns.d.ts +0 -12
  307. package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
  308. package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
  309. package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
  310. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  311. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  312. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
  313. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  314. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  315. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  316. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  317. package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
  318. package/dist/esm/material-react-table.esm.js.map +0 -1
  319. package/dist/esm/types/MaterialReactTable.d.ts +0 -7
  320. package/dist/esm/types/aggregationFns.d.ts +0 -11
  321. package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
  322. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
  323. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  324. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
  325. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  326. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  327. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
  328. package/dist/esm/types/body/index.d.ts +0 -7
  329. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  330. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
  331. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  332. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  333. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
  334. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  335. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
  336. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  337. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  338. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  339. package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  340. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  341. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  342. package/dist/esm/types/buttons/index.d.ts +0 -13
  343. package/dist/esm/types/column.utils.d.ts +0 -148
  344. package/dist/esm/types/filterFns.d.ts +0 -68
  345. package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
  346. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
  347. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
  348. package/dist/esm/types/footer/index.d.ts +0 -3
  349. package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
  350. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
  351. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  352. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  353. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  354. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  355. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  356. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  357. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
  358. package/dist/esm/types/head/index.d.ts +0 -9
  359. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  360. package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
  361. package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
  362. package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
  363. package/dist/esm/types/icons.d.ts +0 -36
  364. package/dist/esm/types/index.d.ts +0 -16
  365. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  366. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  367. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  368. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  369. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
  370. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  371. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  372. package/dist/esm/types/inputs/index.d.ts +0 -7
  373. package/dist/esm/types/locales/ar.d.ts +0 -2
  374. package/dist/esm/types/locales/bg.d.ts +0 -2
  375. package/dist/esm/types/locales/cs.d.ts +0 -2
  376. package/dist/esm/types/locales/da.d.ts +0 -2
  377. package/dist/esm/types/locales/de.d.ts +0 -2
  378. package/dist/esm/types/locales/en.d.ts +0 -2
  379. package/dist/esm/types/locales/es.d.ts +0 -2
  380. package/dist/esm/types/locales/et.d.ts +0 -2
  381. package/dist/esm/types/locales/fa.d.ts +0 -2
  382. package/dist/esm/types/locales/fi.d.ts +0 -2
  383. package/dist/esm/types/locales/fr.d.ts +0 -2
  384. package/dist/esm/types/locales/hu.d.ts +0 -2
  385. package/dist/esm/types/locales/hy.d.ts +0 -2
  386. package/dist/esm/types/locales/id.d.ts +0 -2
  387. package/dist/esm/types/locales/it.d.ts +0 -2
  388. package/dist/esm/types/locales/ja.d.ts +0 -2
  389. package/dist/esm/types/locales/ko.d.ts +0 -2
  390. package/dist/esm/types/locales/nl.d.ts +0 -2
  391. package/dist/esm/types/locales/no.d.ts +0 -2
  392. package/dist/esm/types/locales/np.d.ts +0 -2
  393. package/dist/esm/types/locales/pl.d.ts +0 -2
  394. package/dist/esm/types/locales/pt-BR.d.ts +0 -2
  395. package/dist/esm/types/locales/pt.d.ts +0 -2
  396. package/dist/esm/types/locales/ro.d.ts +0 -2
  397. package/dist/esm/types/locales/ru.d.ts +0 -2
  398. package/dist/esm/types/locales/sk.d.ts +0 -2
  399. package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
  400. package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
  401. package/dist/esm/types/locales/sv.d.ts +0 -2
  402. package/dist/esm/types/locales/tr.d.ts +0 -2
  403. package/dist/esm/types/locales/uk.d.ts +0 -2
  404. package/dist/esm/types/locales/vi.d.ts +0 -2
  405. package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
  406. package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
  407. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
  408. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  409. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  410. package/dist/esm/types/menus/index.d.ts +0 -5
  411. package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
  412. package/dist/esm/types/modals/index.d.ts +0 -1
  413. package/dist/esm/types/table/MRT_Table.d.ts +0 -6
  414. package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
  415. package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
  416. package/dist/esm/types/table/index.d.ts +0 -4
  417. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  418. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  419. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
  420. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  421. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  422. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  423. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  424. package/dist/esm/types/toolbar/index.d.ts +0 -7
  425. package/dist/esm/types/types.d.ts +0 -818
  426. package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
  427. package/locales/ar.esm.d.ts +0 -2
  428. package/locales/ar.esm.js.map +0 -1
  429. package/locales/ar.js.map +0 -1
  430. package/locales/bg.esm.d.ts +0 -2
  431. package/locales/bg.esm.js.map +0 -1
  432. package/locales/bg.js.map +0 -1
  433. package/locales/cs.esm.d.ts +0 -2
  434. package/locales/cs.esm.js.map +0 -1
  435. package/locales/cs.js.map +0 -1
  436. package/locales/da.esm.d.ts +0 -2
  437. package/locales/da.esm.js.map +0 -1
  438. package/locales/da.js.map +0 -1
  439. package/locales/de.esm.d.ts +0 -2
  440. package/locales/de.esm.js.map +0 -1
  441. package/locales/de.js.map +0 -1
  442. package/locales/en.esm.d.ts +0 -2
  443. package/locales/en.esm.js.map +0 -1
  444. package/locales/en.js.map +0 -1
  445. package/locales/es.esm.d.ts +0 -2
  446. package/locales/es.esm.js.map +0 -1
  447. package/locales/es.js.map +0 -1
  448. package/locales/et.esm.d.ts +0 -2
  449. package/locales/et.esm.js.map +0 -1
  450. package/locales/et.js.map +0 -1
  451. package/locales/fa.esm.d.ts +0 -2
  452. package/locales/fa.esm.js.map +0 -1
  453. package/locales/fa.js.map +0 -1
  454. package/locales/fi.esm.d.ts +0 -2
  455. package/locales/fi.esm.js.map +0 -1
  456. package/locales/fi.js.map +0 -1
  457. package/locales/fr.esm.d.ts +0 -2
  458. package/locales/fr.esm.js.map +0 -1
  459. package/locales/fr.js.map +0 -1
  460. package/locales/hu.esm.d.ts +0 -2
  461. package/locales/hu.esm.js.map +0 -1
  462. package/locales/hu.js.map +0 -1
  463. package/locales/hy.esm.d.ts +0 -2
  464. package/locales/hy.esm.js.map +0 -1
  465. package/locales/hy.js.map +0 -1
  466. package/locales/id.esm.d.ts +0 -2
  467. package/locales/id.esm.js.map +0 -1
  468. package/locales/id.js.map +0 -1
  469. package/locales/it.esm.d.ts +0 -2
  470. package/locales/it.esm.js.map +0 -1
  471. package/locales/it.js.map +0 -1
  472. package/locales/ja.esm.d.ts +0 -2
  473. package/locales/ja.esm.js.map +0 -1
  474. package/locales/ja.js.map +0 -1
  475. package/locales/ko.esm.d.ts +0 -2
  476. package/locales/ko.esm.js.map +0 -1
  477. package/locales/ko.js.map +0 -1
  478. package/locales/nl.esm.d.ts +0 -2
  479. package/locales/nl.esm.js.map +0 -1
  480. package/locales/nl.js.map +0 -1
  481. package/locales/no.esm.d.ts +0 -2
  482. package/locales/no.esm.js.map +0 -1
  483. package/locales/no.js.map +0 -1
  484. package/locales/np.esm.d.ts +0 -2
  485. package/locales/np.esm.js.map +0 -1
  486. package/locales/np.js.map +0 -1
  487. package/locales/pl.esm.d.ts +0 -2
  488. package/locales/pl.esm.js.map +0 -1
  489. package/locales/pl.js.map +0 -1
  490. package/locales/pt-BR.esm.d.ts +0 -2
  491. package/locales/pt-BR.esm.js.map +0 -1
  492. package/locales/pt-BR.js.map +0 -1
  493. package/locales/pt.esm.d.ts +0 -2
  494. package/locales/pt.esm.js.map +0 -1
  495. package/locales/pt.js.map +0 -1
  496. package/locales/ro.esm.d.ts +0 -2
  497. package/locales/ro.esm.js.map +0 -1
  498. package/locales/ro.js.map +0 -1
  499. package/locales/ru.esm.d.ts +0 -2
  500. package/locales/ru.esm.js.map +0 -1
  501. package/locales/ru.js.map +0 -1
  502. package/locales/sk.esm.d.ts +0 -2
  503. package/locales/sk.esm.js.map +0 -1
  504. package/locales/sk.js.map +0 -1
  505. package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
  506. package/locales/sr-Cyrl-RS.esm.js.map +0 -1
  507. package/locales/sr-Cyrl-RS.js.map +0 -1
  508. package/locales/sr-Latn-RS.esm.d.ts +0 -2
  509. package/locales/sr-Latn-RS.esm.js.map +0 -1
  510. package/locales/sr-Latn-RS.js.map +0 -1
  511. package/locales/sv.esm.d.ts +0 -2
  512. package/locales/sv.esm.js.map +0 -1
  513. package/locales/sv.js.map +0 -1
  514. package/locales/tr.esm.d.ts +0 -2
  515. package/locales/tr.esm.js.map +0 -1
  516. package/locales/tr.js.map +0 -1
  517. package/locales/uk.esm.d.ts +0 -2
  518. package/locales/uk.esm.js.map +0 -1
  519. package/locales/uk.js.map +0 -1
  520. package/locales/vi.esm.d.ts +0 -2
  521. package/locales/vi.esm.js.map +0 -1
  522. package/locales/vi.js.map +0 -1
  523. package/locales/zh-Hans.esm.d.ts +0 -2
  524. package/locales/zh-Hans.esm.js.map +0 -1
  525. package/locales/zh-Hans.js.map +0 -1
  526. package/locales/zh-Hant.esm.d.ts +0 -2
  527. package/locales/zh-Hant.esm.js.map +0 -1
  528. package/locales/zh-Hant.js.map +0 -1
  529. /package/dist/{cjs/types → types}/aggregationFns.d.ts +0 -0
  530. /package/dist/{cjs/types → types}/body/index.d.ts +0 -0
  531. /package/dist/{cjs/types → types}/buttons/index.d.ts +0 -0
  532. /package/dist/{cjs/types → types}/footer/index.d.ts +0 -0
  533. /package/dist/{cjs/types → types}/head/index.d.ts +0 -0
  534. /package/dist/{cjs/types → types}/icons.d.ts +0 -0
  535. /package/dist/{cjs/types → types}/inputs/index.d.ts +0 -0
  536. /package/dist/{cjs/types → types}/locales/ar.d.ts +0 -0
  537. /package/dist/{cjs/types → types}/locales/bg.d.ts +0 -0
  538. /package/dist/{cjs/types → types}/locales/cs.d.ts +0 -0
  539. /package/dist/{cjs/types → types}/locales/da.d.ts +0 -0
  540. /package/dist/{cjs/types → types}/locales/de.d.ts +0 -0
  541. /package/dist/{cjs/types → types}/locales/en.d.ts +0 -0
  542. /package/dist/{cjs/types → types}/locales/es.d.ts +0 -0
  543. /package/dist/{cjs/types → types}/locales/et.d.ts +0 -0
  544. /package/dist/{cjs/types → types}/locales/fa.d.ts +0 -0
  545. /package/dist/{cjs/types → types}/locales/fi.d.ts +0 -0
  546. /package/dist/{cjs/types → types}/locales/fr.d.ts +0 -0
  547. /package/dist/{cjs/types → types}/locales/hu.d.ts +0 -0
  548. /package/dist/{cjs/types → types}/locales/hy.d.ts +0 -0
  549. /package/dist/{cjs/types → types}/locales/id.d.ts +0 -0
  550. /package/dist/{cjs/types → types}/locales/it.d.ts +0 -0
  551. /package/dist/{cjs/types → types}/locales/ja.d.ts +0 -0
  552. /package/dist/{cjs/types → types}/locales/ko.d.ts +0 -0
  553. /package/dist/{cjs/types → types}/locales/nl.d.ts +0 -0
  554. /package/dist/{cjs/types → types}/locales/np.d.ts +0 -0
  555. /package/dist/{cjs/types → types}/locales/pl.d.ts +0 -0
  556. /package/dist/{cjs/types → types}/locales/pt-BR.d.ts +0 -0
  557. /package/dist/{cjs/types → types}/locales/pt.d.ts +0 -0
  558. /package/dist/{cjs/types → types}/locales/ro.d.ts +0 -0
  559. /package/dist/{cjs/types → types}/locales/ru.d.ts +0 -0
  560. /package/dist/{cjs/types → types}/locales/sk.d.ts +0 -0
  561. /package/dist/{cjs/types → types}/locales/sr-Cyrl-RS.d.ts +0 -0
  562. /package/dist/{cjs/types → types}/locales/sr-Latn-RS.d.ts +0 -0
  563. /package/dist/{cjs/types → types}/locales/sv.d.ts +0 -0
  564. /package/dist/{cjs/types → types}/locales/tr.d.ts +0 -0
  565. /package/dist/{cjs/types → types}/locales/uk.d.ts +0 -0
  566. /package/dist/{cjs/types → types}/locales/vi.d.ts +0 -0
  567. /package/dist/{cjs/types → types}/locales/zh-Hans.d.ts +0 -0
  568. /package/dist/{cjs/types → types}/locales/zh-Hant.d.ts +0 -0
  569. /package/dist/{cjs/types → types}/menus/index.d.ts +0 -0
  570. /package/dist/{cjs/types → types}/modals/index.d.ts +0 -0
  571. /package/dist/{cjs/types → types}/toolbar/index.d.ts +0 -0
@@ -7,16 +7,21 @@ import {
7
7
  } from 'react';
8
8
  import Box from '@mui/material/Box';
9
9
  import FormControlLabel from '@mui/material/FormControlLabel';
10
- import MenuItem from '@mui/material/MenuItem';
10
+ import MenuItem, { type MenuItemProps } from '@mui/material/MenuItem';
11
11
  import Switch from '@mui/material/Switch';
12
12
  import Tooltip from '@mui/material/Tooltip';
13
13
  import Typography from '@mui/material/Typography';
14
14
  import { MRT_ColumnPinningButtons } from '../buttons/MRT_ColumnPinningButtons';
15
15
  import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
16
- import { reorderColumn } from '../column.utils';
17
- import { type MRT_Column, type MRT_TableInstance } from '../types';
16
+ import { parseFromValuesOrFunc, reorderColumn } from '../column.utils';
17
+ import { getMRTTheme } from '../style.utils';
18
+ import {
19
+ type MRT_Column,
20
+ type MRT_RowData,
21
+ type MRT_TableInstance,
22
+ } from '../types';
18
23
 
19
- interface Props<TData extends Record<string, any>> {
24
+ interface Props<TData extends MRT_RowData> extends MenuItemProps {
20
25
  allColumns: MRT_Column<TData>[];
21
26
  column: MRT_Column<TData>;
22
27
  hoveredColumn: MRT_Column<TData> | null;
@@ -24,14 +29,13 @@ interface Props<TData extends Record<string, any>> {
24
29
  table: MRT_TableInstance<TData>;
25
30
  }
26
31
 
27
- export const MRT_ShowHideColumnsMenuItems = <
28
- TData extends Record<string, any>,
29
- >({
32
+ export const MRT_ShowHideColumnsMenuItems = <TData extends MRT_RowData>({
30
33
  allColumns,
31
34
  column,
32
35
  hoveredColumn,
33
36
  setHoveredColumn,
34
37
  table,
38
+ ...rest
35
39
  }: Props<TData>) => {
36
40
  const {
37
41
  getState,
@@ -85,25 +89,29 @@ export const MRT_ShowHideColumnsMenuItems = <
85
89
  }
86
90
  };
87
91
 
92
+ if (!columnDef.header) return null;
93
+
88
94
  return (
89
95
  <>
90
96
  <MenuItem
91
97
  disableRipple
92
98
  onDragEnter={handleDragEnter}
93
99
  ref={menuItemRef as any}
100
+ {...rest}
94
101
  sx={(theme) => ({
95
102
  alignItems: 'center',
96
103
  justifyContent: 'flex-start',
97
104
  my: 0,
98
105
  opacity: isDragging ? 0.5 : 1,
99
106
  outline: isDragging
100
- ? `2px dashed ${theme.palette.divider}`
107
+ ? `2px dashed ${theme.palette.grey[500]}`
101
108
  : hoveredColumn?.id === column.id
102
- ? `2px dashed ${theme.palette.primary.main}`
109
+ ? `2px dashed ${getMRTTheme(table, theme).draggingBorderColor}`
103
110
  : 'none',
104
111
  outlineOffset: '-2px',
105
112
  pl: `${(column.depth + 0.5) * 2}rem`,
106
113
  py: '6px',
114
+ ...(parseFromValuesOrFunc(rest?.sx, theme) as any),
107
115
  })}
108
116
  >
109
117
  <Box
@@ -146,7 +154,6 @@ export const MRT_ShowHideColumnsMenuItems = <
146
154
  }}
147
155
  control={
148
156
  <Tooltip
149
- arrow
150
157
  enterDelay={1000}
151
158
  enterNextDelay={1000}
152
159
  title={localization.toggleVisibility}
@@ -1,4 +1,4 @@
1
- import Dialog from '@mui/material/Dialog';
1
+ import Dialog, { type DialogProps } from '@mui/material/Dialog';
2
2
  import DialogActions from '@mui/material/DialogActions';
3
3
  import DialogContent from '@mui/material/DialogContent';
4
4
  import DialogTitle from '@mui/material/DialogTitle';
@@ -6,27 +6,32 @@ import Stack from '@mui/material/Stack';
6
6
  import { MRT_EditActionButtons } from '../buttons/MRT_EditActionButtons';
7
7
  import { parseFromValuesOrFunc } from '../column.utils';
8
8
  import { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';
9
- import { type MRT_Row, type MRT_TableInstance } from '../types';
9
+ import {
10
+ type MRT_Row,
11
+ type MRT_RowData,
12
+ type MRT_TableInstance,
13
+ } from '../types';
10
14
 
11
- interface Props<TData extends Record<string, any>> {
15
+ interface Props<TData extends MRT_RowData> extends Partial<DialogProps> {
12
16
  open: boolean;
13
17
  table: MRT_TableInstance<TData>;
14
18
  }
15
19
 
16
- export const MRT_EditRowModal = <TData extends Record<string, any>>({
20
+ export const MRT_EditRowModal = <TData extends MRT_RowData>({
17
21
  open,
18
22
  table,
23
+ ...rest
19
24
  }: Props<TData>) => {
20
25
  const {
21
26
  getState,
22
27
  options: {
23
28
  localization,
24
29
  muiCreateRowModalProps,
25
- muiEditRowModalProps,
30
+ muiEditRowDialogProps,
26
31
  onCreatingRowCancel,
27
32
  onEditingRowCancel,
28
- renderCreateRowModalContent,
29
- renderEditRowModalContent,
33
+ renderCreateRowDialogContent,
34
+ renderEditRowDialogContent,
30
35
  },
31
36
  setCreatingRow,
32
37
  setEditingRow,
@@ -35,9 +40,10 @@ export const MRT_EditRowModal = <TData extends Record<string, any>>({
35
40
  const row = (creatingRow ?? editingRow) as MRT_Row<TData>;
36
41
 
37
42
  const dialogProps = {
38
- ...parseFromValuesOrFunc(muiEditRowModalProps, { row, table }),
43
+ ...parseFromValuesOrFunc(muiEditRowDialogProps, { row, table }),
39
44
  ...(creatingRow &&
40
45
  parseFromValuesOrFunc(muiCreateRowModalProps, { row, table })),
46
+ ...rest,
41
47
  };
42
48
 
43
49
  const internalEditComponents = row
@@ -70,12 +76,12 @@ export const MRT_EditRowModal = <TData extends Record<string, any>>({
70
76
  {...dialogProps}
71
77
  >
72
78
  {((creatingRow &&
73
- renderCreateRowModalContent?.({
79
+ renderCreateRowDialogContent?.({
74
80
  internalEditComponents,
75
81
  row,
76
82
  table,
77
83
  })) ||
78
- renderEditRowModalContent?.({
84
+ renderEditRowDialogContent?.({
79
85
  internalEditComponents,
80
86
  row,
81
87
  table,
@@ -88,7 +94,7 @@ export const MRT_EditRowModal = <TData extends Record<string, any>>({
88
94
  <form onSubmit={(e) => e.preventDefault()}>
89
95
  <Stack
90
96
  sx={{
91
- gap: '24px',
97
+ gap: '32px',
92
98
  paddingTop: '16px',
93
99
  width: '100%',
94
100
  }}
package/src/sortingFns.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { type RankingInfo, compareItems } from '@tanstack/match-sorter-utils';
2
2
  import { type Row, sortingFns } from '@tanstack/react-table';
3
- import { type MRT_Row } from './types';
3
+ import { type MRT_Row, type MRT_RowData } from './types';
4
4
 
5
- const fuzzy = <TData extends Record<string, any>>(
5
+ const fuzzy = <TData extends MRT_RowData>(
6
6
  rowA: Row<TData>,
7
7
  rowB: Row<TData>,
8
8
  columnId: string,
@@ -25,7 +25,7 @@ export const MRT_SortingFns = {
25
25
  fuzzy,
26
26
  };
27
27
 
28
- export const rankGlobalFuzzy = <TData extends Record<string, any>>(
28
+ export const rankGlobalFuzzy = <TData extends MRT_RowData>(
29
29
  rowA: MRT_Row<TData>,
30
30
  rowB: MRT_Row<TData>,
31
31
  ) =>
@@ -0,0 +1,149 @@
1
+ import { type CSSProperties } from 'react';
2
+ import { type TableCellProps } from '@mui/material/TableCell';
3
+ import { alpha, darken, lighten } from '@mui/material/styles';
4
+ import { type Theme } from '@mui/material/styles';
5
+ import {
6
+ getIsFirstRightPinnedColumn,
7
+ getIsLastLeftPinnedColumn,
8
+ getTotalRight,
9
+ parseFromValuesOrFunc,
10
+ } from './column.utils';
11
+ import {
12
+ type MRT_Column,
13
+ type MRT_Header,
14
+ type MRT_RowData,
15
+ type MRT_TableInstance,
16
+ } from './types';
17
+
18
+ export const parseCSSVarId = (id: string) => id.replace(/[^a-zA-Z0-9]/g, '_');
19
+
20
+ export const getMRTTheme = <TData extends MRT_RowData>(
21
+ table: MRT_TableInstance<TData>,
22
+ theme: Theme,
23
+ ) => ({
24
+ baseBackgroundColor:
25
+ theme.palette.mode === 'dark'
26
+ ? lighten(theme.palette.background.default, 0.05)
27
+ : theme.palette.background.default,
28
+ draggingBorderColor: theme.palette.primary.main,
29
+ matchHighlightColor:
30
+ theme.palette.mode === 'dark'
31
+ ? darken(theme.palette.warning.dark, 0.25)
32
+ : lighten(theme.palette.warning.light, 0.5),
33
+ pinnedRowBackgroundColor: alpha(theme.palette.primary.main, 0.1),
34
+ selectedRowBackgroundColor: alpha(theme.palette.primary.main, 0.2),
35
+ ...parseFromValuesOrFunc(table.options.mrtTheme, theme),
36
+ });
37
+
38
+ export const getCommonMRTCellStyles = <TData extends MRT_RowData>({
39
+ column,
40
+ header,
41
+ table,
42
+ tableCellProps,
43
+ theme,
44
+ }: {
45
+ column: MRT_Column<TData>;
46
+ header?: MRT_Header<TData>;
47
+ table: MRT_TableInstance<TData>;
48
+ tableCellProps: TableCellProps;
49
+ theme: Theme;
50
+ }) => {
51
+ const {
52
+ options: { layoutMode },
53
+ } = table;
54
+ const widthStyles: CSSProperties = {
55
+ minWidth: `max(calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
56
+ header?.id ?? column.id,
57
+ )}-size) * 1px), ${column.columnDef.minSize ?? 30}px)`,
58
+ width: `calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
59
+ header?.id ?? column.id,
60
+ )}-size) * 1px)`,
61
+ };
62
+
63
+ if (layoutMode === 'grid') {
64
+ widthStyles.flex = `var(--${header ? 'header' : 'col'}-${parseCSSVarId(
65
+ header?.id ?? column.id,
66
+ )}-size) 0 auto`;
67
+ } else if (layoutMode === 'grid-no-grow') {
68
+ widthStyles.flex = '0 0 auto';
69
+ }
70
+
71
+ return {
72
+ backgroundColor:
73
+ column.getIsPinned() && column.columnDef.columnDefType !== 'group'
74
+ ? alpha(
75
+ darken(
76
+ getMRTTheme(table, theme).baseBackgroundColor,
77
+ theme.palette.mode === 'dark' ? 0.05 : 0.01,
78
+ ),
79
+ 0.97,
80
+ )
81
+ : 'inherit',
82
+ backgroundImage: 'inherit',
83
+ boxShadow: getIsLastLeftPinnedColumn(table, column)
84
+ ? `-4px 0 8px -6px ${alpha(theme.palette.grey[700], 0.5)} inset`
85
+ : getIsFirstRightPinnedColumn(column)
86
+ ? `4px 0 8px -6px ${alpha(theme.palette.grey[700], 0.5)} inset`
87
+ : undefined,
88
+ display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
89
+ left:
90
+ column.getIsPinned() === 'left'
91
+ ? `${column.getStart('left')}px`
92
+ : undefined,
93
+ ml:
94
+ table.options.enableColumnVirtualization &&
95
+ column.getIsPinned() === 'left' &&
96
+ column.getPinnedIndex() === 0
97
+ ? `-${
98
+ column.getSize() *
99
+ (table.getState().columnPinning.left?.length ?? 1)
100
+ }px`
101
+ : undefined,
102
+ mr:
103
+ table.options.enableColumnVirtualization &&
104
+ column.getIsPinned() === 'right' &&
105
+ column.getPinnedIndex() === table.getVisibleLeafColumns().length - 1
106
+ ? `-${
107
+ column.getSize() *
108
+ (table.getState().columnPinning.right?.length ?? 1) *
109
+ 1.2
110
+ }px`
111
+ : undefined,
112
+ opacity:
113
+ table.getState().draggingColumn?.id === column.id ||
114
+ table.getState().hoveredColumn?.id === column.id
115
+ ? 0.5
116
+ : 1,
117
+ position:
118
+ column.getIsPinned() && column.columnDef.columnDefType !== 'group'
119
+ ? 'sticky'
120
+ : undefined,
121
+ right:
122
+ column.getIsPinned() === 'right'
123
+ ? `${getTotalRight(table, column)}px`
124
+ : undefined,
125
+ transition: table.options.enableColumnVirtualization
126
+ ? 'none'
127
+ : `padding 150ms ease-in-out`,
128
+ ...widthStyles,
129
+ ...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
130
+ };
131
+ };
132
+
133
+ export const getCommonToolbarStyles = <TData extends MRT_RowData>({
134
+ table,
135
+ theme,
136
+ }: {
137
+ table: MRT_TableInstance<TData>;
138
+ theme: Theme;
139
+ }) => ({
140
+ alignItems: 'flex-start',
141
+ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
142
+ display: 'grid',
143
+ flexWrap: 'wrap-reverse',
144
+ minHeight: '3.5rem',
145
+ overflow: 'hidden',
146
+ position: 'relative',
147
+ transition: 'all 150ms ease-in-out',
148
+ zIndex: 1,
149
+ });
@@ -4,23 +4,24 @@ import {
4
4
  type Virtualizer,
5
5
  useVirtualizer,
6
6
  } from '@tanstack/react-virtual';
7
- import Table from '@mui/material/Table';
7
+ import Table, { type TableProps } from '@mui/material/Table';
8
8
  import { MRT_TableBody, Memo_MRT_TableBody } from '../body/MRT_TableBody';
9
9
  import {
10
10
  extraIndexRangeExtractor,
11
- parseCSSVarId,
12
11
  parseFromValuesOrFunc,
13
12
  } from '../column.utils';
14
13
  import { MRT_TableFooter } from '../footer/MRT_TableFooter';
15
14
  import { MRT_TableHead } from '../head/MRT_TableHead';
16
- import { type MRT_TableInstance } from '../types';
15
+ import { parseCSSVarId } from '../style.utils';
16
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
17
17
 
18
- interface Props<TData extends Record<string, any>> {
18
+ interface Props<TData extends MRT_RowData> extends TableProps {
19
19
  table: MRT_TableInstance<TData>;
20
20
  }
21
21
 
22
- export const MRT_Table = <TData extends Record<string, any>>({
22
+ export const MRT_Table = <TData extends MRT_RowData>({
23
23
  table,
24
+ ...rest
24
25
  }: Props<TData>) => {
25
26
  const {
26
27
  getFlatHeaders,
@@ -30,7 +31,6 @@ export const MRT_Table = <TData extends Record<string, any>>({
30
31
  columnVirtualizerOptions,
31
32
  columns,
32
33
  enableColumnPinning,
33
- enableColumnResizing,
34
34
  enableColumnVirtualization,
35
35
  enableStickyHeader,
36
36
  enableTableFooter,
@@ -50,7 +50,10 @@ export const MRT_Table = <TData extends Record<string, any>>({
50
50
  isFullScreen,
51
51
  } = getState();
52
52
 
53
- const tableProps = parseFromValuesOrFunc(muiTableProps, { table });
53
+ const tableProps = {
54
+ ...parseFromValuesOrFunc(muiTableProps, { table }),
55
+ ...rest,
56
+ };
54
57
 
55
58
  const columnVirtualizerProps = parseFromValuesOrFunc(
56
59
  columnVirtualizerOptions,
@@ -157,32 +160,23 @@ export const MRT_Table = <TData extends Record<string, any>>({
157
160
  };
158
161
 
159
162
  return (
160
- <>
161
- <Table
162
- stickyHeader={enableStickyHeader || isFullScreen}
163
- {...tableProps}
164
- style={{ ...columnSizeVars, ...tableProps?.style }}
165
- sx={(theme) => ({
166
- borderCollapse: 'separate',
167
- display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
168
- tableLayout:
169
- layoutMode === 'semantic' && enableColumnResizing
170
- ? 'fixed'
171
- : undefined,
172
- ...(parseFromValuesOrFunc(tableProps?.sx, theme) as any),
173
- })}
174
- >
175
- {enableTableHead && <MRT_TableHead {...props} />}
176
- {memoMode === 'table-body' || columnSizingInfo.isResizingColumn ? (
177
- <Memo_MRT_TableBody
178
- columnVirtualizer={columnVirtualizer}
179
- {...props}
180
- />
181
- ) : (
182
- <MRT_TableBody columnVirtualizer={columnVirtualizer} {...props} />
183
- )}
184
- {enableTableFooter && <MRT_TableFooter {...props} />}
185
- </Table>
186
- </>
163
+ <Table
164
+ stickyHeader={enableStickyHeader || isFullScreen}
165
+ {...tableProps}
166
+ style={{ ...columnSizeVars, ...tableProps?.style }}
167
+ sx={(theme) => ({
168
+ borderCollapse: 'separate',
169
+ display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
170
+ ...(parseFromValuesOrFunc(tableProps?.sx, theme) as any),
171
+ })}
172
+ >
173
+ {enableTableHead && <MRT_TableHead {...props} />}
174
+ {memoMode === 'table-body' || columnSizingInfo.isResizingColumn ? (
175
+ <Memo_MRT_TableBody columnVirtualizer={columnVirtualizer} {...props} />
176
+ ) : (
177
+ <MRT_TableBody columnVirtualizer={columnVirtualizer} {...props} />
178
+ )}
179
+ {enableTableFooter && <MRT_TableFooter {...props} />}
180
+ </Table>
187
181
  );
188
182
  };
@@ -1,22 +1,23 @@
1
1
  import { useEffect, useLayoutEffect, useState } from 'react';
2
- import Box from '@mui/material/Box';
3
- import CircularProgress from '@mui/material/CircularProgress';
4
- import TableContainer from '@mui/material/TableContainer';
5
- import { alpha, lighten } from '@mui/material/styles';
2
+ import TableContainer, {
3
+ type TableContainerProps,
4
+ } from '@mui/material/TableContainer';
6
5
  import { MRT_Table } from './MRT_Table';
6
+ import { MRT_TableLoadingOverlay } from './MRT_TableLoadingOverlay';
7
7
  import { parseFromValuesOrFunc } from '../column.utils';
8
8
  import { MRT_EditRowModal } from '../modals';
9
- import { type MRT_TableInstance } from '../types';
9
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
10
10
 
11
11
  const useIsomorphicLayoutEffect =
12
12
  typeof window !== 'undefined' ? useLayoutEffect : useEffect;
13
13
 
14
- interface Props<TData extends Record<string, any>> {
14
+ interface Props<TData extends MRT_RowData> extends TableContainerProps {
15
15
  table: MRT_TableInstance<TData>;
16
16
  }
17
17
 
18
- export const MRT_TableContainer = <TData extends Record<string, any>>({
18
+ export const MRT_TableContainer = <TData extends MRT_RowData>({
19
19
  table,
20
+ ...rest
20
21
  }: Props<TData>) => {
21
22
  const {
22
23
  getState,
@@ -24,8 +25,6 @@ export const MRT_TableContainer = <TData extends Record<string, any>>({
24
25
  createDisplayMode,
25
26
  editDisplayMode,
26
27
  enableStickyHeader,
27
- localization,
28
- muiCircularProgressProps,
29
28
  muiTableContainerProps,
30
29
  },
31
30
  refs: { bottomToolbarRef, tableContainerRef, topToolbarRef },
@@ -39,18 +38,16 @@ export const MRT_TableContainer = <TData extends Record<string, any>>({
39
38
  } = getState();
40
39
 
41
40
  const loading =
42
- (isLoading || showLoadingOverlay) && showLoadingOverlay !== false;
41
+ showLoadingOverlay !== false && (isLoading || showLoadingOverlay);
43
42
 
44
43
  const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);
45
44
 
46
- const tableContainerProps = parseFromValuesOrFunc(muiTableContainerProps, {
47
- table,
48
- });
49
-
50
- const circularProgressProps = parseFromValuesOrFunc(
51
- muiCircularProgressProps,
52
- { table },
53
- );
45
+ const tableContainerProps = {
46
+ ...parseFromValuesOrFunc(muiTableContainerProps, {
47
+ table,
48
+ }),
49
+ ...rest,
50
+ };
54
51
 
55
52
  useIsomorphicLayoutEffect(() => {
56
53
  const topToolbarHeight =
@@ -72,7 +69,7 @@ export const MRT_TableContainer = <TData extends Record<string, any>>({
72
69
  return (
73
70
  <TableContainer
74
71
  aria-busy={loading}
75
- aria-describedby="mrt-progress"
72
+ aria-describedby={loading ? 'mrt-progress' : undefined}
76
73
  {...tableContainerProps}
77
74
  ref={(node: HTMLDivElement) => {
78
75
  if (node) {
@@ -99,33 +96,7 @@ export const MRT_TableContainer = <TData extends Record<string, any>>({
99
96
  ...(parseFromValuesOrFunc(tableContainerProps?.sx, theme) as any),
100
97
  })}
101
98
  >
102
- {loading ? (
103
- <Box
104
- sx={(theme) => ({
105
- alignItems: 'center',
106
- backgroundColor: alpha(
107
- lighten(theme.palette.background.paper, 0.05),
108
- 0.5,
109
- ),
110
- bottom: 0,
111
- display: 'flex',
112
- justifyContent: 'center',
113
- left: 0,
114
- maxHeight: '100vh',
115
- position: 'absolute',
116
- right: 0,
117
- top: 0,
118
- width: '100%',
119
- zIndex: 2,
120
- })}
121
- >
122
- <CircularProgress
123
- aria-label={localization.noRecordsToDisplay}
124
- id="mrt-progress"
125
- {...circularProgressProps}
126
- />
127
- </Box>
128
- ) : null}
99
+ {loading ? <MRT_TableLoadingOverlay table={table} /> : null}
129
100
  <MRT_Table table={table} />
130
101
  {(createModalOpen || editModalOpen) && (
131
102
  <MRT_EditRowModal open table={table} />
@@ -0,0 +1,54 @@
1
+ import Box from '@mui/material/Box';
2
+ import CircularProgress, {
3
+ type CircularProgressProps,
4
+ } from '@mui/material/CircularProgress';
5
+ import { alpha } from '@mui/material/styles';
6
+ import { parseFromValuesOrFunc } from '../column.utils';
7
+ import { getMRTTheme } from '../style.utils';
8
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
9
+
10
+ interface Props<TData extends MRT_RowData> extends CircularProgressProps {
11
+ table: MRT_TableInstance<TData>;
12
+ }
13
+
14
+ export const MRT_TableLoadingOverlay = <TData extends MRT_RowData>({
15
+ table,
16
+ ...rest
17
+ }: Props<TData>) => {
18
+ const {
19
+ options: { localization, muiCircularProgressProps },
20
+ } = table;
21
+
22
+ const circularProgressProps = {
23
+ ...parseFromValuesOrFunc(muiCircularProgressProps, { table }),
24
+ ...rest,
25
+ };
26
+
27
+ return (
28
+ <Box
29
+ sx={(theme) => ({
30
+ alignItems: 'center',
31
+ backgroundColor: alpha(
32
+ getMRTTheme(table, theme).baseBackgroundColor,
33
+ 0.5,
34
+ ),
35
+ bottom: 0,
36
+ display: 'flex',
37
+ justifyContent: 'center',
38
+ left: 0,
39
+ maxHeight: '100vh',
40
+ position: 'absolute',
41
+ right: 0,
42
+ top: 0,
43
+ width: '100%',
44
+ zIndex: 2,
45
+ })}
46
+ >
47
+ <CircularProgress
48
+ aria-label={localization.noRecordsToDisplay}
49
+ id="mrt-progress"
50
+ {...circularProgressProps}
51
+ />
52
+ </Box>
53
+ );
54
+ };
@@ -1,16 +1,18 @@
1
- import Paper from '@mui/material/Paper';
1
+ import Paper, { type PaperProps } from '@mui/material/Paper';
2
2
  import { MRT_TableContainer } from './MRT_TableContainer';
3
3
  import { parseFromValuesOrFunc } from '../column.utils';
4
+ import { getMRTTheme } from '../style.utils';
4
5
  import { MRT_BottomToolbar } from '../toolbar/MRT_BottomToolbar';
5
6
  import { MRT_TopToolbar } from '../toolbar/MRT_TopToolbar';
6
- import { type MRT_TableInstance } from '../types';
7
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
7
8
 
8
- interface Props<TData extends Record<string, any>> {
9
+ interface Props<TData extends MRT_RowData> extends PaperProps {
9
10
  table: MRT_TableInstance<TData>;
10
11
  }
11
12
 
12
- export const MRT_TablePaper = <TData extends Record<string, any>>({
13
+ export const MRT_TablePaper = <TData extends MRT_RowData>({
13
14
  table,
15
+ ...rest
14
16
  }: Props<TData>) => {
15
17
  const {
16
18
  getState,
@@ -25,7 +27,10 @@ export const MRT_TablePaper = <TData extends Record<string, any>>({
25
27
  } = table;
26
28
  const { isFullScreen } = getState();
27
29
 
28
- const tablePaperProps = parseFromValuesOrFunc(muiTablePaperProps, { table });
30
+ const tablePaperProps = {
31
+ ...parseFromValuesOrFunc(muiTablePaperProps, { table }),
32
+ ...rest,
33
+ };
29
34
 
30
35
  return (
31
36
  <Paper
@@ -52,12 +57,14 @@ export const MRT_TablePaper = <TData extends Record<string, any>>({
52
57
  right: 0,
53
58
  top: 0,
54
59
  width: '100vw',
55
- zIndex: 9999,
60
+ zIndex: 999,
56
61
  }
57
62
  : {}),
58
63
  ...tablePaperProps?.style,
59
64
  }}
60
65
  sx={(theme) => ({
66
+ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
67
+ backgroundImage: 'unset',
61
68
  overflow: 'hidden',
62
69
  transition: 'all 100ms ease-in-out',
63
70
  ...(parseFromValuesOrFunc(tablePaperProps?.sx, theme) as any),
@@ -1,4 +1,5 @@
1
1
  export * from '../modals/MRT_EditRowModal';
2
2
  export * from './MRT_Table';
3
3
  export * from './MRT_TableContainer';
4
+ export * from './MRT_TableLoadingOverlay';
4
5
  export * from './MRT_TablePaper';