material-react-table 1.11.5 → 1.12.0-beta.1

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 (370) hide show
  1. package/dist/cjs/index.js +208 -203
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/MaterialReactTable.d.ts +4 -743
  4. package/dist/cjs/types/_locales/cs.d.ts +1 -1
  5. package/dist/cjs/types/_locales/da.d.ts +1 -1
  6. package/dist/cjs/types/_locales/de.d.ts +1 -1
  7. package/dist/cjs/types/_locales/en.d.ts +1 -1
  8. package/dist/cjs/types/_locales/es.d.ts +1 -1
  9. package/dist/cjs/types/_locales/fa.d.ts +1 -1
  10. package/dist/cjs/types/_locales/fi.d.ts +1 -1
  11. package/dist/cjs/types/_locales/fr.d.ts +1 -1
  12. package/dist/cjs/types/_locales/hu.d.ts +1 -1
  13. package/dist/cjs/types/_locales/id.d.ts +1 -1
  14. package/dist/cjs/types/_locales/it.d.ts +1 -1
  15. package/dist/cjs/types/_locales/ja.d.ts +1 -1
  16. package/dist/cjs/types/_locales/nl.d.ts +1 -1
  17. package/dist/cjs/types/_locales/pl.d.ts +1 -1
  18. package/dist/cjs/types/_locales/pt-BR.d.ts +1 -1
  19. package/dist/cjs/types/_locales/pt.d.ts +1 -1
  20. package/dist/cjs/types/_locales/ro.d.ts +1 -1
  21. package/dist/cjs/types/_locales/ru.d.ts +1 -1
  22. package/dist/cjs/types/_locales/sk.d.ts +1 -1
  23. package/dist/cjs/types/_locales/sr-Cyrl-RS.d.ts +1 -1
  24. package/dist/cjs/types/_locales/sr-Latn-RS.d.ts +1 -1
  25. package/dist/cjs/types/_locales/sv.d.ts +1 -1
  26. package/dist/cjs/types/_locales/tr.d.ts +1 -1
  27. package/dist/cjs/types/_locales/uk.d.ts +1 -1
  28. package/dist/cjs/types/_locales/vi.d.ts +1 -1
  29. package/dist/cjs/types/_locales/zh-Hans.d.ts +1 -1
  30. package/dist/cjs/types/_locales/zh-Hant.d.ts +1 -1
  31. package/dist/cjs/types/body/MRT_EditRowModal.d.ts +1 -1
  32. package/dist/cjs/types/body/MRT_TableBody.d.ts +1 -1
  33. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +3 -3
  34. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +1 -1
  35. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +2 -2
  36. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +2 -2
  37. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +2 -2
  38. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +1 -1
  39. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +2 -2
  40. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +1 -1
  41. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +1 -1
  42. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +1 -1
  43. package/dist/cjs/types/buttons/MRT_FullScreenToggleButton.d.ts +2 -2
  44. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
  45. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +2 -2
  46. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -2
  47. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +2 -2
  48. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +2 -2
  49. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
  50. package/dist/cjs/types/column.utils.d.ts +10 -10
  51. package/dist/cjs/types/filterFns.d.ts +1 -1
  52. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +2 -2
  53. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +1 -1
  54. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +2 -2
  55. package/dist/cjs/types/head/MRT_TableHead.d.ts +2 -2
  56. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +1 -1
  57. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +1 -1
  58. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +1 -1
  59. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  60. package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +2 -2
  61. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +1 -1
  62. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +2 -2
  63. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +2 -2
  64. package/dist/cjs/types/index.d.ts +6 -4
  65. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +1 -1
  66. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +1 -1
  67. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +1 -1
  68. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +1 -1
  69. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +1 -1
  70. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +1 -1
  71. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +1 -1
  72. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +1 -1
  73. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +2 -2
  74. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  75. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -2
  76. package/dist/cjs/types/sortingFns.d.ts +17 -17
  77. package/dist/cjs/types/table/MRT_Table.d.ts +1 -1
  78. package/dist/cjs/types/table/MRT_TableContainer.d.ts +1 -1
  79. package/dist/cjs/types/table/MRT_TablePaper.d.ts +1 -1
  80. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +1 -1
  81. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +1 -1
  82. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +1 -1
  83. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
  84. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +1 -1
  85. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  86. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +2 -2
  87. package/dist/cjs/types/types.d.ts +745 -0
  88. package/dist/esm/material-react-table.esm.js +210 -204
  89. package/dist/esm/material-react-table.esm.js.map +1 -1
  90. package/dist/esm/types/MaterialReactTable.d.ts +4 -743
  91. package/dist/esm/types/_locales/cs.d.ts +1 -1
  92. package/dist/esm/types/_locales/da.d.ts +1 -1
  93. package/dist/esm/types/_locales/de.d.ts +1 -1
  94. package/dist/esm/types/_locales/en.d.ts +1 -1
  95. package/dist/esm/types/_locales/es.d.ts +1 -1
  96. package/dist/esm/types/_locales/fa.d.ts +1 -1
  97. package/dist/esm/types/_locales/fi.d.ts +1 -1
  98. package/dist/esm/types/_locales/fr.d.ts +1 -1
  99. package/dist/esm/types/_locales/hu.d.ts +1 -1
  100. package/dist/esm/types/_locales/id.d.ts +1 -1
  101. package/dist/esm/types/_locales/it.d.ts +1 -1
  102. package/dist/esm/types/_locales/ja.d.ts +1 -1
  103. package/dist/esm/types/_locales/nl.d.ts +1 -1
  104. package/dist/esm/types/_locales/pl.d.ts +1 -1
  105. package/dist/esm/types/_locales/pt-BR.d.ts +1 -1
  106. package/dist/esm/types/_locales/pt.d.ts +1 -1
  107. package/dist/esm/types/_locales/ro.d.ts +1 -1
  108. package/dist/esm/types/_locales/ru.d.ts +1 -1
  109. package/dist/esm/types/_locales/sk.d.ts +1 -1
  110. package/dist/esm/types/_locales/sr-Cyrl-RS.d.ts +1 -1
  111. package/dist/esm/types/_locales/sr-Latn-RS.d.ts +1 -1
  112. package/dist/esm/types/_locales/sv.d.ts +1 -1
  113. package/dist/esm/types/_locales/tr.d.ts +1 -1
  114. package/dist/esm/types/_locales/uk.d.ts +1 -1
  115. package/dist/esm/types/_locales/vi.d.ts +1 -1
  116. package/dist/esm/types/_locales/zh-Hans.d.ts +1 -1
  117. package/dist/esm/types/_locales/zh-Hant.d.ts +1 -1
  118. package/dist/esm/types/body/MRT_EditRowModal.d.ts +1 -1
  119. package/dist/esm/types/body/MRT_TableBody.d.ts +1 -1
  120. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +3 -3
  121. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +1 -1
  122. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +2 -2
  123. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +2 -2
  124. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +2 -2
  125. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +1 -1
  126. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +2 -2
  127. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +1 -1
  128. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +1 -1
  129. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +1 -1
  130. package/dist/esm/types/buttons/MRT_FullScreenToggleButton.d.ts +2 -2
  131. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
  132. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +2 -2
  133. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -2
  134. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +2 -2
  135. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +2 -2
  136. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
  137. package/dist/esm/types/column.utils.d.ts +10 -10
  138. package/dist/esm/types/filterFns.d.ts +1 -1
  139. package/dist/esm/types/footer/MRT_TableFooter.d.ts +2 -2
  140. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +1 -1
  141. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +2 -2
  142. package/dist/esm/types/head/MRT_TableHead.d.ts +2 -2
  143. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +1 -1
  144. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +1 -1
  145. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +1 -1
  146. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  147. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +2 -2
  148. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +1 -1
  149. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +2 -2
  150. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +2 -2
  151. package/dist/esm/types/index.d.ts +6 -4
  152. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +1 -1
  153. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +1 -1
  154. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +1 -1
  155. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +1 -1
  156. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +1 -1
  157. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +1 -1
  158. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +1 -1
  159. package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +1 -1
  160. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +2 -2
  161. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  162. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -2
  163. package/dist/esm/types/sortingFns.d.ts +17 -17
  164. package/dist/esm/types/table/MRT_Table.d.ts +1 -1
  165. package/dist/esm/types/table/MRT_TableContainer.d.ts +1 -1
  166. package/dist/esm/types/table/MRT_TablePaper.d.ts +1 -1
  167. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +1 -1
  168. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +1 -1
  169. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +1 -1
  170. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
  171. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +1 -1
  172. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  173. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +2 -2
  174. package/dist/esm/types/types.d.ts +745 -0
  175. package/dist/index.d.ts +18 -14
  176. package/locales/cs.d.ts +1 -1
  177. package/locales/cs.esm.d.ts +1 -1
  178. package/locales/cs.esm.js +89 -91
  179. package/locales/cs.js +89 -91
  180. package/locales/da.d.ts +1 -1
  181. package/locales/da.esm.d.ts +1 -1
  182. package/locales/da.esm.js +89 -90
  183. package/locales/da.js +89 -90
  184. package/locales/de.d.ts +1 -1
  185. package/locales/de.esm.d.ts +1 -1
  186. package/locales/de.esm.js +89 -90
  187. package/locales/de.js +89 -90
  188. package/locales/en.d.ts +1 -1
  189. package/locales/en.esm.d.ts +1 -1
  190. package/locales/en.esm.js +89 -90
  191. package/locales/en.js +89 -90
  192. package/locales/es.d.ts +1 -1
  193. package/locales/es.esm.d.ts +1 -1
  194. package/locales/es.esm.js +89 -90
  195. package/locales/es.js +89 -90
  196. package/locales/fa.d.ts +1 -1
  197. package/locales/fa.esm.d.ts +1 -1
  198. package/locales/fa.esm.js +89 -90
  199. package/locales/fa.js +89 -90
  200. package/locales/fi.d.ts +1 -1
  201. package/locales/fi.esm.d.ts +1 -1
  202. package/locales/fi.esm.js +89 -91
  203. package/locales/fi.js +89 -91
  204. package/locales/fr.d.ts +1 -1
  205. package/locales/fr.esm.d.ts +1 -1
  206. package/locales/fr.esm.js +89 -90
  207. package/locales/fr.js +89 -90
  208. package/locales/hu.d.ts +1 -1
  209. package/locales/hu.esm.d.ts +1 -1
  210. package/locales/hu.esm.js +89 -90
  211. package/locales/hu.js +89 -90
  212. package/locales/id.d.ts +1 -1
  213. package/locales/id.esm.d.ts +1 -1
  214. package/locales/id.esm.js +89 -91
  215. package/locales/id.js +89 -91
  216. package/locales/it.d.ts +1 -1
  217. package/locales/it.esm.d.ts +1 -1
  218. package/locales/it.esm.js +89 -90
  219. package/locales/it.js +89 -90
  220. package/locales/ja.d.ts +1 -1
  221. package/locales/ja.esm.d.ts +1 -1
  222. package/locales/ja.esm.js +89 -90
  223. package/locales/ja.js +89 -90
  224. package/locales/nl.d.ts +1 -1
  225. package/locales/nl.esm.d.ts +1 -1
  226. package/locales/nl.esm.js +89 -90
  227. package/locales/nl.js +89 -90
  228. package/locales/pl.d.ts +1 -1
  229. package/locales/pl.esm.d.ts +1 -1
  230. package/locales/pl.esm.js +89 -90
  231. package/locales/pl.js +89 -90
  232. package/locales/pt-BR.d.ts +1 -1
  233. package/locales/pt-BR.esm.d.ts +1 -1
  234. package/locales/pt-BR.esm.js +89 -90
  235. package/locales/pt-BR.js +89 -90
  236. package/locales/pt.d.ts +1 -1
  237. package/locales/pt.esm.d.ts +1 -1
  238. package/locales/pt.esm.js +89 -90
  239. package/locales/pt.js +89 -90
  240. package/locales/ro.d.ts +1 -1
  241. package/locales/ro.esm.d.ts +1 -1
  242. package/locales/ro.esm.js +89 -90
  243. package/locales/ro.js +89 -90
  244. package/locales/ru.d.ts +1 -1
  245. package/locales/ru.esm.d.ts +1 -1
  246. package/locales/ru.esm.js +89 -90
  247. package/locales/ru.js +89 -90
  248. package/locales/sk.d.ts +1 -1
  249. package/locales/sk.esm.d.ts +1 -1
  250. package/locales/sk.esm.js +89 -91
  251. package/locales/sk.js +89 -91
  252. package/locales/sr-Cyrl-RS.d.ts +1 -1
  253. package/locales/sr-Cyrl-RS.esm.d.ts +1 -1
  254. package/locales/sr-Cyrl-RS.esm.js +89 -90
  255. package/locales/sr-Cyrl-RS.js +89 -90
  256. package/locales/sr-Latn-RS.d.ts +1 -1
  257. package/locales/sr-Latn-RS.esm.d.ts +1 -1
  258. package/locales/sr-Latn-RS.esm.js +89 -90
  259. package/locales/sr-Latn-RS.js +89 -90
  260. package/locales/sv.d.ts +1 -1
  261. package/locales/sv.esm.d.ts +1 -1
  262. package/locales/sv.esm.js +89 -90
  263. package/locales/sv.js +89 -90
  264. package/locales/tr.d.ts +1 -1
  265. package/locales/tr.esm.d.ts +1 -1
  266. package/locales/tr.esm.js +89 -90
  267. package/locales/tr.js +89 -90
  268. package/locales/uk.d.ts +1 -1
  269. package/locales/uk.esm.d.ts +1 -1
  270. package/locales/uk.esm.js +89 -90
  271. package/locales/uk.js +89 -90
  272. package/locales/vi.d.ts +1 -1
  273. package/locales/vi.esm.d.ts +1 -1
  274. package/locales/vi.esm.js +89 -90
  275. package/locales/vi.js +89 -90
  276. package/locales/zh-Hans.d.ts +1 -1
  277. package/locales/zh-Hans.esm.d.ts +1 -1
  278. package/locales/zh-Hans.esm.js +89 -89
  279. package/locales/zh-Hans.js +89 -89
  280. package/locales/zh-Hant.d.ts +1 -1
  281. package/locales/zh-Hant.esm.d.ts +1 -1
  282. package/locales/zh-Hant.esm.js +89 -89
  283. package/locales/zh-Hant.js +89 -89
  284. package/package.json +16 -16
  285. package/src/MaterialReactTable.tsx +10 -984
  286. package/src/_locales/cs.ts +1 -1
  287. package/src/_locales/da.ts +1 -1
  288. package/src/_locales/de.ts +1 -1
  289. package/src/_locales/en.ts +1 -1
  290. package/src/_locales/es.ts +1 -1
  291. package/src/_locales/fa.ts +1 -1
  292. package/src/_locales/fi.ts +1 -1
  293. package/src/_locales/fr.ts +1 -1
  294. package/src/_locales/hu.ts +1 -1
  295. package/src/_locales/id.ts +1 -1
  296. package/src/_locales/it.ts +1 -1
  297. package/src/_locales/ja.ts +1 -1
  298. package/src/_locales/nl.ts +1 -1
  299. package/src/_locales/pl.ts +1 -1
  300. package/src/_locales/pt-BR.ts +1 -1
  301. package/src/_locales/pt.ts +1 -1
  302. package/src/_locales/ro.ts +1 -1
  303. package/src/_locales/ru.ts +1 -1
  304. package/src/_locales/sk.ts +1 -1
  305. package/src/_locales/sr-Cyrl-RS.ts +1 -1
  306. package/src/_locales/sr-Latn-RS.ts +1 -1
  307. package/src/_locales/sv.ts +1 -1
  308. package/src/_locales/tr.ts +1 -1
  309. package/src/_locales/uk.ts +1 -1
  310. package/src/_locales/vi.ts +1 -1
  311. package/src/_locales/zh-Hans.ts +1 -1
  312. package/src/_locales/zh-Hant.ts +1 -1
  313. package/src/body/MRT_EditRowModal.tsx +1 -1
  314. package/src/body/MRT_TableBody.tsx +1 -1
  315. package/src/body/MRT_TableBodyCell.tsx +5 -5
  316. package/src/body/MRT_TableBodyCellValue.tsx +2 -2
  317. package/src/body/MRT_TableBodyRow.tsx +3 -3
  318. package/src/body/MRT_TableBodyRowGrabHandle.tsx +2 -2
  319. package/src/body/MRT_TableDetailPanel.tsx +2 -2
  320. package/src/buttons/MRT_ColumnPinningButtons.tsx +1 -1
  321. package/src/buttons/MRT_CopyButton.tsx +2 -2
  322. package/src/buttons/MRT_EditActionButtons.tsx +1 -1
  323. package/src/buttons/MRT_ExpandAllButton.tsx +1 -1
  324. package/src/buttons/MRT_ExpandButton.tsx +2 -2
  325. package/src/buttons/MRT_FullScreenToggleButton.tsx +2 -2
  326. package/src/buttons/MRT_GrabHandleButton.tsx +3 -3
  327. package/src/buttons/MRT_ShowHideColumnsButton.tsx +3 -3
  328. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -2
  329. package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -2
  330. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +2 -2
  331. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +2 -2
  332. package/src/column.utils.ts +19 -19
  333. package/src/filterFns.ts +5 -1
  334. package/src/footer/MRT_TableFooter.tsx +2 -2
  335. package/src/footer/MRT_TableFooterCell.tsx +1 -1
  336. package/src/footer/MRT_TableFooterRow.tsx +6 -2
  337. package/src/head/MRT_TableHead.tsx +2 -2
  338. package/src/head/MRT_TableHeadCell.tsx +3 -3
  339. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +2 -2
  340. package/src/head/MRT_TableHeadCellFilterContainer.tsx +1 -1
  341. package/src/head/MRT_TableHeadCellFilterLabel.tsx +2 -2
  342. package/src/head/MRT_TableHeadCellGrabHandle.tsx +2 -2
  343. package/src/head/MRT_TableHeadCellResizeHandle.tsx +1 -1
  344. package/src/head/MRT_TableHeadCellSortLabel.tsx +2 -2
  345. package/src/head/MRT_TableHeadRow.tsx +6 -2
  346. package/src/index.tsx +7 -5
  347. package/src/inputs/MRT_EditCellTextField.tsx +8 -3
  348. package/src/inputs/MRT_FilterCheckbox.tsx +2 -2
  349. package/src/inputs/MRT_FilterRangeFields.tsx +1 -1
  350. package/src/inputs/MRT_FilterTextField.tsx +4 -4
  351. package/src/inputs/MRT_GlobalFilterTextField.tsx +3 -3
  352. package/src/inputs/MRT_SelectCheckbox.tsx +3 -3
  353. package/src/menus/MRT_ColumnActionMenu.tsx +1 -1
  354. package/src/menus/MRT_FilterOptionMenu.tsx +7 -7
  355. package/src/menus/MRT_RowActionMenu.tsx +2 -2
  356. package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
  357. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +8 -2
  358. package/src/sortingFns.ts +1 -1
  359. package/src/table/MRT_Table.tsx +1 -1
  360. package/src/table/MRT_TableContainer.tsx +1 -1
  361. package/src/table/MRT_TablePaper.tsx +1 -1
  362. package/src/table/MRT_TableRoot.tsx +15 -15
  363. package/src/toolbar/MRT_BottomToolbar.tsx +1 -1
  364. package/src/toolbar/MRT_LinearProgressBar.tsx +1 -1
  365. package/src/toolbar/MRT_TablePagination.tsx +2 -2
  366. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +1 -1
  367. package/src/toolbar/MRT_ToolbarDropZone.tsx +2 -2
  368. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +1 -1
  369. package/src/toolbar/MRT_TopToolbar.tsx +2 -2
  370. package/src/types.ts +981 -0
@@ -1,994 +1,16 @@
1
- import {
2
- Dispatch,
3
- MutableRefObject,
4
- ReactNode,
5
- SetStateAction,
6
- useMemo,
7
- } from 'react';
8
- import type { AlertProps } from '@mui/material/Alert';
9
- import type { ButtonProps } from '@mui/material/Button';
10
- import type { CheckboxProps } from '@mui/material/Checkbox';
11
- import type { ChipProps } from '@mui/material/Chip';
12
- import type { IconButtonProps } from '@mui/material/IconButton';
13
- import type { LinearProgressProps } from '@mui/material/LinearProgress';
14
- import type { PaperProps } from '@mui/material/Paper';
15
- import type { RadioProps } from '@mui/material/Radio';
16
- import type { SkeletonProps } from '@mui/material/Skeleton';
17
- import type { TableProps } from '@mui/material/Table';
18
- import type { TableBodyProps } from '@mui/material/TableBody';
19
- import type { TableCellProps } from '@mui/material/TableCell';
20
- import type { TableContainerProps } from '@mui/material/TableContainer';
21
- import type { TableFooterProps } from '@mui/material/TableFooter';
22
- import type { TableHeadProps } from '@mui/material/TableHead';
23
- import type { TablePaginationProps } from '@mui/material/TablePagination';
24
- import type { TableRowProps } from '@mui/material/TableRow';
25
- import type { TextFieldProps } from '@mui/material/TextField';
26
- import type { ToolbarProps } from '@mui/material/Toolbar';
27
- import type {
28
- AggregationFn,
29
- Cell,
30
- Column,
31
- ColumnDef,
32
- ColumnFiltersState,
33
- ColumnOrderState,
34
- ColumnPinningState,
35
- ColumnSizingInfoState,
36
- ColumnSizingState,
37
- DeepKeys,
38
- ExpandedState,
39
- FilterFn,
40
- GroupingState,
41
- Header,
42
- HeaderGroup,
43
- OnChangeFn,
44
- PaginationState,
45
- Row,
46
- RowSelectionState,
47
- SortingFn,
48
- SortingState,
49
- Table,
50
- TableOptions,
51
- TableState,
52
- Updater,
53
- VisibilityState,
54
- } from '@tanstack/react-table';
55
- import type {
56
- VirtualizerOptions,
57
- Virtualizer,
58
- VirtualItem,
59
- } from '@tanstack/react-virtual';
1
+ import { useMemo } from 'react';
60
2
  import { MRT_AggregationFns } from './aggregationFns';
61
- import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from './column.utils';
62
3
  import { MRT_FilterFns } from './filterFns';
63
- import { MRT_Default_Icons, MRT_Icons } from './icons';
64
4
  import { MRT_SortingFns } from './sortingFns';
65
- import { MRT_TableRoot } from './table/MRT_TableRoot';
5
+ import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from './column.utils';
6
+ import { MRT_Default_Icons } from './icons';
66
7
  import { MRT_Localization_EN } from './_locales/en';
8
+ import { MRT_TableRoot } from './table/MRT_TableRoot';
9
+ import { type MaterialReactTableProps } from './types';
67
10
 
68
11
  export { MRT_AggregationFns, MRT_FilterFns, MRT_SortingFns };
69
12
 
70
- /**
71
- * Most of this file is just TypeScript types
72
- */
73
-
74
- type Prettify<T> = { [K in keyof T]: T[K] } & {};
75
-
76
- type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
77
-
78
- export type MRT_DensityState = 'comfortable' | 'compact' | 'spacious';
79
-
80
- export type MRT_FilterFnsState = Record<string, MRT_FilterOption>;
81
-
82
- export type {
83
- ColumnFiltersState as MRT_ColumnFiltersState,
84
- ColumnOrderState as MRT_ColumnOrderState,
85
- ColumnPinningState as MRT_ColumnPinningState,
86
- ColumnSizingInfoState as MRT_ColumnSizingInfoState,
87
- ColumnSizingState as MRT_ColumnSizingState,
88
- ExpandedState as MRT_ExpandedState,
89
- GroupingState as MRT_GroupingState,
90
- PaginationState as MRT_PaginationState,
91
- RowSelectionState as MRT_RowSelectionState,
92
- SortingState as MRT_SortingState,
93
- Updater as MRT_Updater,
94
- VirtualItem as MRT_VirtualItem,
95
- Virtualizer as MRT_Virtualizer,
96
- VirtualizerOptions as MRT_VirtualizerOptions,
97
- VisibilityState as MRT_VisibilityState,
98
- };
99
-
100
- export interface MRT_Localization {
101
- actions: string;
102
- and: string;
103
- cancel: string;
104
- changeFilterMode: string;
105
- changeSearchMode: string;
106
- clearFilter: string;
107
- clearSearch: string;
108
- clearSort: string;
109
- clickToCopy: string;
110
- collapse: string;
111
- collapseAll: string;
112
- columnActions: string;
113
- copiedToClipboard: string;
114
- dropToGroupBy: string;
115
- edit: string;
116
- expand: string;
117
- expandAll: string;
118
- filterArrIncludes: string;
119
- filterArrIncludesAll: string;
120
- filterArrIncludesSome: string;
121
- filterBetween: string;
122
- filterBetweenInclusive: string;
123
- filterByColumn: string;
124
- filterContains: string;
125
- filterEmpty: string;
126
- filterEndsWith: string;
127
- filterEquals: string;
128
- filterEqualsString: string;
129
- filterFuzzy: string;
130
- filterGreaterThan: string;
131
- filterGreaterThanOrEqualTo: string;
132
- filterInNumberRange: string;
133
- filterIncludesString: string;
134
- filterIncludesStringSensitive: string;
135
- filterLessThan: string;
136
- filterLessThanOrEqualTo: string;
137
- filterMode: string;
138
- filterNotEmpty: string;
139
- filterNotEquals: string;
140
- filterStartsWith: string;
141
- filterWeakEquals: string;
142
- filteringByColumn: string;
143
- goToFirstPage: string;
144
- goToLastPage: string;
145
- goToNextPage: string;
146
- goToPreviousPage: string;
147
- grab: string;
148
- groupByColumn: string;
149
- groupedBy: string;
150
- hideAll: string;
151
- hideColumn: string;
152
- max: string;
153
- min: string;
154
- move: string;
155
- noRecordsToDisplay: string;
156
- noResultsFound: string;
157
- of: string;
158
- or: string;
159
- pinToLeft: string;
160
- pinToRight: string;
161
- resetColumnSize: string;
162
- resetOrder: string;
163
- rowActions: string;
164
- rowNumber: string;
165
- rowNumbers: string;
166
- rowsPerPage: string;
167
- save: string;
168
- search: string;
169
- select: string;
170
- selectedCountOfRowCountRowsSelected: string;
171
- showAll: string;
172
- showAllColumns: string;
173
- showHideColumns: string;
174
- showHideFilters: string;
175
- showHideSearch: string;
176
- sortByColumnAsc: string;
177
- sortByColumnDesc: string;
178
- sortedByColumnAsc: string;
179
- sortedByColumnDesc: string;
180
- thenBy: string;
181
- toggleDensity: string;
182
- toggleFullScreen: string;
183
- toggleSelectAll: string;
184
- toggleSelectRow: string;
185
- toggleVisibility: string;
186
- ungroupByColumn: string;
187
- unpin: string;
188
- unpinAll: string;
189
- unsorted: string;
190
- }
191
-
192
- export interface MRT_RowModel<TData extends Record<string, any> = {}> {
193
- flatRows: MRT_Row<TData>[];
194
- rows: MRT_Row<TData>[];
195
- rowsById: { [key: string]: MRT_Row<TData> };
196
- }
197
-
198
- export type MRT_TableInstance<TData extends Record<string, any> = {}> =
199
- Prettify<
200
- Omit<
201
- Table<TData>,
202
- | 'getAllColumns'
203
- | 'getAllFlatColumns'
204
- | 'getAllLeafColumns'
205
- | 'getCenterLeafColumns'
206
- | 'getColumn'
207
- | 'getExpandedRowModel'
208
- | 'getFlatHeaders'
209
- | 'getLeftLeafColumns'
210
- | 'getPaginationRowModel'
211
- | 'getPreFilteredRowModel'
212
- | 'getPrePaginationRowModel'
213
- | 'getRightLeafColumns'
214
- | 'getRowModel'
215
- | 'getSelectedRowModel'
216
- | 'getState'
217
- | 'options'
218
- > & {
219
- getAllColumns: () => MRT_Column<TData>[];
220
- getAllFlatColumns: () => MRT_Column<TData>[];
221
- getAllLeafColumns: () => MRT_Column<TData>[];
222
- getCenterLeafColumns: () => MRT_Column<TData>[];
223
- getColumn: (columnId: string) => MRT_Column<TData>;
224
- getExpandedRowModel: () => MRT_RowModel<TData>;
225
- getFlatHeaders: () => MRT_Header<TData>[];
226
- getLeftLeafColumns: () => MRT_Column<TData>[];
227
- getPaginationRowModel: () => MRT_RowModel<TData>;
228
- getPreFilteredRowModel: () => MRT_RowModel<TData>;
229
- getPrePaginationRowModel: () => MRT_RowModel<TData>;
230
- getRightLeafColumns: () => MRT_Column<TData>[];
231
- getRowModel: () => MRT_RowModel<TData>;
232
- getSelectedRowModel: () => MRT_RowModel<TData>;
233
- getState: () => MRT_TableState<TData>;
234
- options: MaterialReactTableProps<TData> & {
235
- icons: MRT_Icons;
236
- localization: MRT_Localization;
237
- };
238
- refs: {
239
- bottomToolbarRef: MutableRefObject<HTMLDivElement>;
240
- editInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
241
- filterInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
242
- searchInputRef: MutableRefObject<HTMLInputElement>;
243
- tableContainerRef: MutableRefObject<HTMLDivElement>;
244
- tableHeadCellRefs: MutableRefObject<
245
- Record<string, HTMLTableCellElement>
246
- >;
247
- tablePaperRef: MutableRefObject<HTMLDivElement>;
248
- topToolbarRef: MutableRefObject<HTMLDivElement>;
249
- };
250
- setColumnFilterFns: Dispatch<SetStateAction<MRT_FilterFnsState>>;
251
- setDensity: Dispatch<SetStateAction<MRT_DensityState>>;
252
- setDraggingColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
253
- setDraggingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
254
- setEditingCell: Dispatch<SetStateAction<MRT_Cell<TData> | null>>;
255
- setEditingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
256
- setGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
257
- setHoveredColumn: Dispatch<
258
- SetStateAction<MRT_Column<TData> | { id: string } | null>
259
- >;
260
- setHoveredRow: Dispatch<
261
- SetStateAction<MRT_Row<TData> | { id: string } | null>
262
- >;
263
- setIsFullScreen: Dispatch<SetStateAction<boolean>>;
264
- setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
265
- setShowColumnFilters: Dispatch<SetStateAction<boolean>>;
266
- setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
267
- setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
268
- }
269
- >;
270
-
271
- export type MRT_TableState<TData extends Record<string, any> = {}> = Prettify<
272
- TableState & {
273
- columnFilterFns: MRT_FilterFnsState;
274
- density: MRT_DensityState;
275
- draggingColumn: MRT_Column<TData> | null;
276
- draggingRow: MRT_Row<TData> | null;
277
- editingCell: MRT_Cell<TData> | null;
278
- editingRow: MRT_Row<TData> | null;
279
- globalFilterFn: MRT_FilterOption;
280
- hoveredColumn: MRT_Column<TData> | { id: string } | null;
281
- hoveredRow: MRT_Row<TData> | { id: string } | null;
282
- isFullScreen: boolean;
283
- isLoading: boolean;
284
- showAlertBanner: boolean;
285
- showColumnFilters: boolean;
286
- showGlobalFilter: boolean;
287
- showProgressBars: boolean;
288
- showSkeletons: boolean;
289
- showToolbarDropZone: boolean;
290
- }
291
- >;
292
-
293
- export type MRT_ColumnDef<TData extends Record<string, any> = {}> =
294
- // Prettify<
295
- Omit<
296
- ColumnDef<TData, unknown>,
297
- | 'accessorKey'
298
- | 'aggregatedCell'
299
- | 'aggregationFn'
300
- | 'cell'
301
- | 'columns'
302
- | 'filterFn'
303
- | 'footer'
304
- | 'header'
305
- | 'id'
306
- | 'sortingFn'
307
- > & {
308
- AggregatedCell?: (props: {
309
- cell: MRT_Cell<TData>;
310
- column: MRT_Column<TData>;
311
- row: MRT_Row<TData>;
312
- table: MRT_TableInstance<TData>;
313
- }) => ReactNode;
314
- Cell?: (props: {
315
- cell: MRT_Cell<TData>;
316
- renderedCellValue: number | string | ReactNode;
317
- column: MRT_Column<TData>;
318
- row: MRT_Row<TData>;
319
- table: MRT_TableInstance<TData>;
320
- }) => ReactNode;
321
- Edit?: (props: {
322
- cell: MRT_Cell<TData>;
323
- column: MRT_Column<TData>;
324
- row: MRT_Row<TData>;
325
- table: MRT_TableInstance<TData>;
326
- }) => ReactNode;
327
- Filter?: (props: {
328
- column: MRT_Column<TData>;
329
- header: MRT_Header<TData>;
330
- rangeFilterIndex?: number;
331
- table: MRT_TableInstance<TData>;
332
- }) => ReactNode;
333
- Footer?:
334
- | ReactNode
335
- | ((props: {
336
- column: MRT_Column<TData>;
337
- footer: MRT_Header<TData>;
338
- table: MRT_TableInstance<TData>;
339
- }) => ReactNode);
340
- GroupedCell?: (props: {
341
- cell: MRT_Cell<TData>;
342
- column: MRT_Column<TData>;
343
- row: MRT_Row<TData>;
344
- table: MRT_TableInstance<TData>;
345
- }) => ReactNode;
346
- Header?:
347
- | ReactNode
348
- | ((props: {
349
- column: MRT_Column<TData>;
350
- header: MRT_Header<TData>;
351
- table: MRT_TableInstance<TData>;
352
- }) => ReactNode);
353
- PlaceholderCell?: (props: {
354
- cell: MRT_Cell<TData>;
355
- column: MRT_Column<TData>;
356
- row: MRT_Row<TData>;
357
- table: MRT_TableInstance<TData>;
358
- }) => ReactNode;
359
- /**
360
- * Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
361
- * Specify a function here to point to the correct property in the data object.
362
- *
363
- * @example accessorFn: (row) => row.username
364
- */
365
- accessorFn?: (originalRow: TData) => any;
366
- /**
367
- * Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
368
- * Specify which key in the row this column should use to access the correct data.
369
- * Also supports Deep Key Dot Notation.
370
- *
371
- * @example accessorKey: 'username' //simple
372
- * @example accessorKey: 'name.firstName' //deep key dot notation
373
- */
374
- accessorKey?: DeepKeys<TData>;
375
- aggregationFn?: MRT_AggregationFn<TData> | Array<MRT_AggregationFn<TData>>;
376
- /**
377
- * Specify what type of column this is. Either `data`, `display`, or `group`. Defaults to `data`.
378
- * Leave this blank if you are just creating a normal data column.
379
- *
380
- * @default 'data'
381
- *
382
- * @example columnDefType: 'display'
383
- */
384
- columnDefType?: 'data' | 'display' | 'group';
385
- columnFilterModeOptions?: Array<
386
- LiteralUnion<string & MRT_FilterOption>
387
- > | null;
388
- columns?: MRT_ColumnDef<TData>[];
389
- editSelectOptions?: (string | { text: string; value: any })[];
390
- editVariant?: 'text' | 'select';
391
- enableClickToCopy?: boolean;
392
- enableColumnActions?: boolean;
393
- enableColumnDragging?: boolean;
394
- enableColumnFilterModes?: boolean;
395
- enableColumnOrdering?: boolean;
396
- enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean);
397
- enableFilterMatchHighlighting?: boolean;
398
- filterFn?: MRT_FilterFn<TData>;
399
- filterSelectOptions?: (string | { text: string; value: any })[];
400
- filterVariant?: 'text' | 'select' | 'multi-select' | 'range' | 'checkbox';
401
- /**
402
- * footer must be a string. If you want custom JSX to render the footer, you can also specify a `Footer` option. (Capital F)
403
- */
404
- footer?: string;
405
- /**
406
- * header must be a string. If you want custom JSX to render the header, you can also specify a `Header` option. (Capital H)
407
- */
408
- header: string;
409
- /**
410
- * Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
411
- *
412
- * If you have also specified an `accessorFn`, MRT still needs to have a valid `id` to be able to identify the column uniquely.
413
- *
414
- * `id` defaults to the `accessorKey` or `header` if not specified.
415
- *
416
- * @default gets set to the same value as `accessorKey` by default
417
- */
418
- id?: LiteralUnion<string & keyof TData>;
419
- muiTableBodyCellCopyButtonProps?:
420
- | ButtonProps
421
- | ((props: {
422
- cell: MRT_Cell<TData>;
423
- column: MRT_Column<TData>;
424
- row: MRT_Row<TData>;
425
- table: MRT_TableInstance<TData>;
426
- }) => ButtonProps);
427
- muiTableBodyCellEditTextFieldProps?:
428
- | TextFieldProps
429
- | ((props: {
430
- cell: MRT_Cell<TData>;
431
- column: MRT_Column<TData>;
432
- row: MRT_Row<TData>;
433
- table: MRT_TableInstance<TData>;
434
- }) => TextFieldProps);
435
- muiTableBodyCellProps?:
436
- | TableCellProps
437
- | ((props: {
438
- cell: MRT_Cell<TData>;
439
- column: MRT_Column<TData>;
440
- row: MRT_Row<TData>;
441
- table: MRT_TableInstance<TData>;
442
- }) => TableCellProps);
443
- muiTableFooterCellProps?:
444
- | TableCellProps
445
- | ((props: {
446
- table: MRT_TableInstance<TData>;
447
- column: MRT_Column<TData>;
448
- }) => TableCellProps);
449
- muiTableHeadCellColumnActionsButtonProps?:
450
- | IconButtonProps
451
- | ((props: {
452
- table: MRT_TableInstance<TData>;
453
- column: MRT_Column<TData>;
454
- }) => IconButtonProps);
455
- muiTableHeadCellDragHandleProps?:
456
- | IconButtonProps
457
- | ((props: {
458
- table: MRT_TableInstance<TData>;
459
- column: MRT_Column<TData>;
460
- }) => IconButtonProps);
461
- muiTableHeadCellFilterCheckboxProps?:
462
- | CheckboxProps
463
- | ((props: {
464
- column: MRT_Column<TData>;
465
- table: MRT_TableInstance<TData>;
466
- }) => CheckboxProps);
467
- muiTableHeadCellFilterTextFieldProps?:
468
- | TextFieldProps
469
- | ((props: {
470
- table: MRT_TableInstance<TData>;
471
- column: MRT_Column<TData>;
472
- rangeFilterIndex?: number;
473
- }) => TextFieldProps);
474
- muiTableHeadCellProps?:
475
- | TableCellProps
476
- | ((props: {
477
- table: MRT_TableInstance<TData>;
478
- column: MRT_Column<TData>;
479
- }) => TableCellProps);
480
- renderColumnActionsMenuItems?: (props: {
481
- closeMenu: () => void;
482
- column: MRT_Column<TData>;
483
- table: MRT_TableInstance<TData>;
484
- }) => ReactNode[];
485
- renderColumnFilterModeMenuItems?: (props: {
486
- column: MRT_Column<TData>;
487
- internalFilterOptions: MRT_InternalFilterOption[];
488
- onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
489
- table: MRT_TableInstance<TData>;
490
- }) => ReactNode[];
491
- sortingFn?: MRT_SortingFn<TData>;
492
- };
493
- // >
494
-
495
- export type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> =
496
- // Prettify<
497
- Omit<MRT_ColumnDef<TData>, 'id' | 'defaultDisplayColumn'> & {
498
- defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
499
- id: string;
500
- _filterFn: MRT_FilterOption;
501
- };
502
- // >
503
-
504
- export type MRT_Column<TData extends Record<string, any> = {}> =
505
- // Prettify<
506
- Omit<
507
- Column<TData, unknown>,
508
- 'header' | 'footer' | 'columns' | 'columnDef' | 'filterFn'
509
- > & {
510
- columnDef: MRT_DefinedColumnDef<TData>;
511
- columns?: MRT_Column<TData>[];
512
- filterFn?: MRT_FilterFn<TData>;
513
- footer: string;
514
- header: string;
515
- };
516
- // >;
517
-
518
- export type MRT_Header<TData extends Record<string, any> = {}> = Prettify<
519
- Omit<Header<TData, unknown>, 'column'> & {
520
- column: MRT_Column<TData>;
521
- }
522
- >;
523
-
524
- export type MRT_HeaderGroup<TData extends Record<string, any> = {}> = Prettify<
525
- Omit<HeaderGroup<TData>, 'headers'> & {
526
- headers: MRT_Header<TData>[];
527
- }
528
- >;
529
-
530
- export type MRT_Row<TData extends Record<string, any> = {}> = Prettify<
531
- Omit<
532
- Row<TData>,
533
- 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'
534
- > & {
535
- getAllCells: () => MRT_Cell<TData>[];
536
- getVisibleCells: () => MRT_Cell<TData>[];
537
- subRows?: MRT_Row<TData>[];
538
- _valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
539
- }
540
- >;
541
-
542
- export type MRT_Cell<TData extends Record<string, any> = {}> = Prettify<
543
- Omit<Cell<TData, unknown>, 'column' | 'row'> & {
544
- column: MRT_Column<TData>;
545
- row: MRT_Row<TData>;
546
- }
547
- >;
548
-
549
- export type MRT_AggregationOption = string & keyof typeof MRT_AggregationFns;
550
-
551
- export type MRT_AggregationFn<TData extends Record<string, any> = {}> =
552
- | AggregationFn<TData>
553
- | MRT_AggregationOption;
554
-
555
- export type MRT_SortingOption = LiteralUnion<
556
- string & keyof typeof MRT_SortingFns
557
- >;
558
-
559
- export type MRT_SortingFn<TData extends Record<string, any> = {}> =
560
- | SortingFn<TData>
561
- | MRT_SortingOption;
562
-
563
- export type MRT_FilterOption = LiteralUnion<
564
- string & keyof typeof MRT_FilterFns
565
- >;
566
-
567
- export type MRT_FilterFn<TData extends Record<string, any> = {}> =
568
- | FilterFn<TData>
569
- | MRT_FilterOption;
570
-
571
- export type MRT_InternalFilterOption = {
572
- option: string;
573
- symbol: string;
574
- label: string;
575
- divider: boolean;
576
- };
577
-
578
- export type MRT_DisplayColumnIds =
579
- | 'mrt-row-actions'
580
- | 'mrt-row-drag'
581
- | 'mrt-row-expand'
582
- | 'mrt-row-numbers'
583
- | 'mrt-row-select';
584
-
585
- export type MRT_CreateTableFeature<
586
- TData extends Record<string, any> = {},
587
- TFeature = any,
588
- > = (table: MRT_TableInstance<TData>) => TFeature;
589
-
590
- /**
591
- * `columns` and `data` props are the only required props, but there are over 170 other optional props.
592
- *
593
- * See more info on creating columns and data on the official docs site:
594
- * @link https://www.material-react-table.com/docs/getting-started/usage
595
- *
596
- * See the full props list on the official docs site:
597
- * @link https://www.material-react-table.com/docs/api/props
598
- */
599
- export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
600
- Prettify<
601
- Omit<
602
- Partial<TableOptions<TData>>,
603
- | 'columns'
604
- | 'data'
605
- | 'defaultColumn'
606
- | 'enableRowSelection'
607
- | 'expandRowsFn'
608
- | 'getRowId'
609
- | 'globalFilterFn'
610
- | 'initialState'
611
- | 'onStateChange'
612
- | 'state'
613
- > & {
614
- columnFilterModeOptions?: Array<
615
- LiteralUnion<string & MRT_FilterOption>
616
- > | null;
617
- /**
618
- * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
619
- *
620
- * See more info on creating columns on the official docs site:
621
- * @link https://www.material-react-table.com/docs/guides/data-columns
622
- * @link https://www.material-react-table.com/docs/guides/display-columns
623
- *
624
- * See all Columns Options on the official docs site:
625
- * @link https://www.material-react-table.com/docs/api/column-options
626
- */
627
- columns: MRT_ColumnDef<TData>[];
628
- /**
629
- * Pass your data as an array of objects. Objects can theoretically be any shape, but it's best to keep them consistent.
630
- *
631
- * See the usage guide for more info on creating columns and data:
632
- * @link https://www.material-react-table.com/docs/getting-started/usage
633
- */
634
- data: TData[];
635
- /**
636
- * Instead of specifying a bunch of the same options for each column, you can just change an option in the `defaultColumn` prop to change a default option for all columns.
637
- */
638
- defaultColumn?: Partial<MRT_ColumnDef<TData>>;
639
- /**
640
- * Change the default options for display columns.
641
- */
642
- defaultDisplayColumn?: Partial<MRT_ColumnDef<TData>>;
643
- displayColumnDefOptions?: Partial<{
644
- [key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef>;
645
- }>;
646
- editingMode?: 'table' | 'modal' | 'row' | 'cell';
647
- enableBottomToolbar?: boolean;
648
- enableClickToCopy?: boolean;
649
- enableColumnActions?: boolean;
650
- enableColumnDragging?: boolean;
651
- enableColumnFilterModes?: boolean;
652
- enableColumnOrdering?: boolean;
653
- enableColumnVirtualization?: boolean;
654
- enableDensityToggle?: boolean;
655
- enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean);
656
- enableExpandAll?: boolean;
657
- enableFilterMatchHighlighting?: boolean;
658
- enableFullScreenToggle?: boolean;
659
- enableGlobalFilterModes?: boolean;
660
- enableGlobalFilterRankedResults?: boolean;
661
- enablePagination?: boolean;
662
- enableRowActions?: boolean;
663
- enableRowDragging?: boolean;
664
- enableRowNumbers?: boolean;
665
- enableRowOrdering?: boolean;
666
- enableRowSelection?: boolean | ((row: MRT_Row<TData>) => boolean);
667
- enableRowVirtualization?: boolean;
668
- enableSelectAll?: boolean;
669
- enableStickyFooter?: boolean;
670
- enableStickyHeader?: boolean;
671
- enableTableFooter?: boolean;
672
- enableTableHead?: boolean;
673
- enableToolbarInternalActions?: boolean;
674
- enableTopToolbar?: boolean;
675
- expandRowsFn?: (dataRow: TData) => TData[];
676
- getRowId?: (
677
- originalRow: TData,
678
- index: number,
679
- parentRow: MRT_Row<TData>,
680
- ) => string;
681
- globalFilterFn?: MRT_FilterOption;
682
- globalFilterModeOptions?: MRT_FilterOption[] | null;
683
- icons?: Partial<MRT_Icons>;
684
- initialState?: Partial<MRT_TableState<TData>>;
685
- /**
686
- * Changes which kind of CSS layout is used to render the table. `semantic` uses default semantic HTML elements, while `grid` adds CSS grid and flexbox styles
687
- */
688
- layoutMode?: 'semantic' | 'grid';
689
- /**
690
- * Pass in either a locale imported from `material-react-table/locales/*` or a custom locale object.
691
- *
692
- * See the localization (i18n) guide for more info:
693
- * @link https://www.material-react-table.com/docs/guides/localization
694
- */
695
- localization?: Partial<MRT_Localization>;
696
- /**
697
- * Memoize cells, rows, or the entire table body to potentially improve render performance.
698
- *
699
- * @warning This will break some dynamic rendering features. See the memoization guide for more info:
700
- * @link https://www.material-react-table.com/docs/guides/memoize-components
701
- */
702
- memoMode?: 'cells' | 'rows' | 'table-body';
703
- muiBottomToolbarProps?:
704
- | ToolbarProps
705
- | ((props: { table: MRT_TableInstance<TData> }) => ToolbarProps);
706
- muiExpandAllButtonProps?:
707
- | IconButtonProps
708
- | ((props: { table: MRT_TableInstance<TData> }) => IconButtonProps);
709
- muiExpandButtonProps?:
710
- | IconButtonProps
711
- | ((props: {
712
- table: MRT_TableInstance<TData>;
713
- row: MRT_Row<TData>;
714
- }) => IconButtonProps);
715
- muiLinearProgressProps?:
716
- | LinearProgressProps
717
- | ((props: {
718
- isTopToolbar: boolean;
719
- table: MRT_TableInstance<TData>;
720
- }) => LinearProgressProps);
721
- muiSearchTextFieldProps?:
722
- | TextFieldProps
723
- | ((props: { table: MRT_TableInstance<TData> }) => TextFieldProps);
724
- muiSelectAllCheckboxProps?:
725
- | CheckboxProps
726
- | ((props: { table: MRT_TableInstance<TData> }) => CheckboxProps);
727
- muiSelectCheckboxProps?:
728
- | (CheckboxProps | RadioProps)
729
- | ((props: {
730
- table: MRT_TableInstance<TData>;
731
- row: MRT_Row<TData>;
732
- }) => CheckboxProps | RadioProps);
733
- muiTableBodyCellCopyButtonProps?:
734
- | ButtonProps
735
- | ((props: {
736
- cell: MRT_Cell<TData>;
737
- column: MRT_Column<TData>;
738
- row: MRT_Row<TData>;
739
- table: MRT_TableInstance<TData>;
740
- }) => ButtonProps);
741
- muiTableBodyCellEditTextFieldProps?:
742
- | TextFieldProps
743
- | ((props: {
744
- cell: MRT_Cell<TData>;
745
- column: MRT_Column<TData>;
746
- row: MRT_Row<TData>;
747
- table: MRT_TableInstance<TData>;
748
- }) => TextFieldProps);
749
- muiTableBodyCellProps?:
750
- | TableCellProps
751
- | ((props: {
752
- cell: MRT_Cell<TData>;
753
- column: MRT_Column<TData>;
754
- row: MRT_Row<TData>;
755
- table: MRT_TableInstance<TData>;
756
- }) => TableCellProps);
757
- muiTableBodyCellSkeletonProps?:
758
- | SkeletonProps
759
- | ((props: {
760
- cell: MRT_Cell<TData>;
761
- column: MRT_Column<TData>;
762
- row: MRT_Row<TData>;
763
- table: MRT_TableInstance<TData>;
764
- }) => SkeletonProps);
765
- muiTableBodyProps?:
766
- | TableBodyProps
767
- | ((props: { table: MRT_TableInstance<TData> }) => TableBodyProps);
768
- muiTableBodyRowDragHandleProps?:
769
- | IconButtonProps
770
- | ((props: {
771
- table: MRT_TableInstance<TData>;
772
- row: MRT_Row<TData>;
773
- }) => IconButtonProps);
774
- muiTableBodyRowProps?:
775
- | TableRowProps
776
- | ((props: {
777
- isDetailPanel?: boolean;
778
- row: MRT_Row<TData>;
779
- staticRowIndex: number;
780
- table: MRT_TableInstance<TData>;
781
- }) => TableRowProps);
782
- muiTableContainerProps?:
783
- | TableContainerProps
784
- | ((props: { table: MRT_TableInstance<TData> }) => TableContainerProps);
785
- muiTableDetailPanelProps?:
786
- | TableCellProps
787
- | ((props: {
788
- table: MRT_TableInstance<TData>;
789
- row: MRT_Row<TData>;
790
- }) => TableCellProps);
791
- muiTableFooterCellProps?:
792
- | TableCellProps
793
- | ((props: {
794
- table: MRT_TableInstance<TData>;
795
- column: MRT_Column<TData>;
796
- }) => TableCellProps);
797
- muiTableFooterProps?:
798
- | TableFooterProps
799
- | ((props: { table: MRT_TableInstance<TData> }) => TableFooterProps);
800
- muiTableFooterRowProps?:
801
- | TableRowProps
802
- | ((props: {
803
- table: MRT_TableInstance<TData>;
804
- footerGroup: MRT_HeaderGroup<TData>;
805
- }) => TableRowProps);
806
- muiTableHeadCellColumnActionsButtonProps?:
807
- | IconButtonProps
808
- | ((props: {
809
- table: MRT_TableInstance<TData>;
810
- column: MRT_Column<TData>;
811
- }) => IconButtonProps);
812
- muiTableHeadCellDragHandleProps?:
813
- | IconButtonProps
814
- | ((props: {
815
- table: MRT_TableInstance<TData>;
816
- column: MRT_Column<TData>;
817
- }) => IconButtonProps);
818
- muiTableHeadCellFilterCheckboxProps?:
819
- | CheckboxProps
820
- | ((props: {
821
- column: MRT_Column<TData>;
822
- table: MRT_TableInstance<TData>;
823
- }) => CheckboxProps);
824
- muiTableHeadCellFilterTextFieldProps?:
825
- | TextFieldProps
826
- | ((props: {
827
- table: MRT_TableInstance<TData>;
828
- column: MRT_Column<TData>;
829
- rangeFilterIndex?: number;
830
- }) => TextFieldProps);
831
- muiTableHeadCellProps?:
832
- | TableCellProps
833
- | ((props: {
834
- table: MRT_TableInstance<TData>;
835
- column: MRT_Column<TData>;
836
- }) => TableCellProps);
837
- muiTableHeadProps?:
838
- | TableHeadProps
839
- | ((props: { table: MRT_TableInstance<TData> }) => TableHeadProps);
840
- muiTableHeadRowProps?:
841
- | TableRowProps
842
- | ((props: {
843
- table: MRT_TableInstance<TData>;
844
- headerGroup: MRT_HeaderGroup<TData>;
845
- }) => TableRowProps);
846
- muiTablePaginationProps?:
847
- | Partial<Omit<TablePaginationProps, 'rowsPerPage'>>
848
- | ((props: {
849
- table: MRT_TableInstance<TData>;
850
- }) => Partial<Omit<TablePaginationProps, 'rowsPerPage'>>);
851
- muiTablePaperProps?:
852
- | PaperProps
853
- | ((props: { table: MRT_TableInstance<TData> }) => PaperProps);
854
- muiTableProps?:
855
- | TableProps
856
- | ((props: { table: MRT_TableInstance<TData> }) => TableProps);
857
- muiToolbarAlertBannerChipProps?:
858
- | ChipProps
859
- | ((props: { table: MRT_TableInstance<TData> }) => ChipProps);
860
- muiToolbarAlertBannerProps?:
861
- | AlertProps
862
- | ((props: { table: MRT_TableInstance<TData> }) => AlertProps);
863
- muiTopToolbarProps?:
864
- | ToolbarProps
865
- | ((props: { table: MRT_TableInstance<TData> }) => ToolbarProps);
866
- onDensityChange?: OnChangeFn<MRT_DensityState>;
867
- onDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
868
- onDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
869
- onEditingCellChange?: OnChangeFn<MRT_Cell<TData> | null>;
870
- onEditingRowCancel?: (props: {
871
- row: MRT_Row<TData>;
872
- table: MRT_TableInstance<TData>;
873
- }) => void;
874
- onEditingRowSave?: (props: {
875
- exitEditingMode: () => void;
876
- row: MRT_Row<TData>;
877
- table: MRT_TableInstance<TData>;
878
- values: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
879
- }) => Promise<void> | void;
880
- onEditingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
881
- onColumnFilterFnsChange?: OnChangeFn<{ [key: string]: MRT_FilterOption }>;
882
- onGlobalFilterFnChange?: OnChangeFn<MRT_FilterOption>;
883
- onHoveredColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
884
- onHoveredRowChange?: OnChangeFn<MRT_Row<TData> | null>;
885
- onIsFullScreenChange?: OnChangeFn<boolean>;
886
- onShowAlertBannerChange?: OnChangeFn<boolean>;
887
- onShowColumnFiltersChange?: OnChangeFn<boolean>;
888
- onShowGlobalFilterChange?: OnChangeFn<boolean>;
889
- onShowToolbarDropZoneChange?: OnChangeFn<boolean>;
890
- positionActionsColumn?: 'first' | 'last';
891
- positionExpandColumn?: 'first' | 'last';
892
- positionGlobalFilter?: 'left' | 'right' | 'none';
893
- positionPagination?: 'bottom' | 'top' | 'both' | 'none';
894
- positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
895
- positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
896
- renderBottomToolbar?:
897
- | ReactNode
898
- | ((props: { table: MRT_TableInstance<TData> }) => ReactNode);
899
- renderBottomToolbarCustomActions?: (props: {
900
- table: MRT_TableInstance<TData>;
901
- }) => ReactNode;
902
- renderColumnActionsMenuItems?: (props: {
903
- column: MRT_Column<TData>;
904
- closeMenu: () => void;
905
- table: MRT_TableInstance<TData>;
906
- }) => ReactNode[];
907
- renderColumnFilterModeMenuItems?: (props: {
908
- column: MRT_Column<TData>;
909
- internalFilterOptions: MRT_InternalFilterOption[];
910
- onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
911
- table: MRT_TableInstance<TData>;
912
- }) => ReactNode[];
913
- renderDetailPanel?: (props: {
914
- row: MRT_Row<TData>;
915
- table: MRT_TableInstance<TData>;
916
- }) => ReactNode;
917
- renderGlobalFilterModeMenuItems?: (props: {
918
- internalFilterOptions: MRT_InternalFilterOption[];
919
- onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
920
- table: MRT_TableInstance<TData>;
921
- }) => ReactNode[];
922
- renderEmptyRowsFallback?: (props: {
923
- table: MRT_TableInstance<TData>;
924
- }) => ReactNode;
925
- renderRowActionMenuItems?: (props: {
926
- closeMenu: () => void;
927
- row: MRT_Row<TData>;
928
- table: MRT_TableInstance<TData>;
929
- }) => ReactNode[];
930
- renderRowActions?: (props: {
931
- cell: MRT_Cell<TData>;
932
- row: MRT_Row<TData>;
933
- table: MRT_TableInstance<TData>;
934
- }) => ReactNode;
935
- renderToolbarInternalActions?: (props: {
936
- table: MRT_TableInstance<TData>;
937
- }) => ReactNode;
938
- renderTopToolbar?:
939
- | ReactNode
940
- | ((props: { table: MRT_TableInstance<TData> }) => ReactNode);
941
- renderTopToolbarCustomActions?: (props: {
942
- table: MRT_TableInstance<TData>;
943
- }) => ReactNode;
944
- rowCount?: number;
945
- rowNumberMode?: 'original' | 'static';
946
- selectAllMode?: 'all' | 'page';
947
- /**
948
- * Manage state externally any way you want, then pass it back into MRT.
949
- */
950
- state?: Partial<MRT_TableState<TData>>;
951
- /**
952
- * Sequence of features important any dependent feature must be defined first
953
- */
954
- tableFeatures?: Array<MRT_CreateTableFeature<TData>>;
955
- /**
956
- * Get access to the table instance via a ref to read state or call built-in methods
957
- */
958
- tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
959
- /**
960
- * @deprecated Use `rowVirtualizerInstanceRef` instead
961
- */
962
- virtualizerInstanceRef?: any;
963
- /**
964
- * @deprecated Use `rowVirtualizerProps` instead
965
- */
966
- virtualizerProps?: any;
967
- }
968
- > & {
969
- columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<
970
- HTMLDivElement,
971
- HTMLTableCellElement
972
- > | null>;
973
- columnVirtualizerProps?:
974
- | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>
975
- | ((props: {
976
- table: MRT_TableInstance<TData>;
977
- }) => Partial<
978
- VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>
979
- >);
980
- rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<
981
- HTMLDivElement,
982
- HTMLTableRowElement
983
- > | null>;
984
- rowVirtualizerProps?:
985
- | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>
986
- | ((props: {
987
- table: MRT_TableInstance<TData>;
988
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
989
- };
990
-
991
- const MaterialReactTable = <TData extends Record<string, any> = {}>({
13
+ export const MaterialReactTable = <TData extends Record<string, any> = {}>({
992
14
  aggregationFns,
993
15
  autoResetExpanded = false,
994
16
  columnResizeMode = 'onChange',
@@ -1141,4 +163,8 @@ const MaterialReactTable = <TData extends Record<string, any> = {}>({
1141
163
  );
1142
164
  };
1143
165
 
166
+ /**
167
+ * @deprecated Use named exports instead of default export (will be removed in v2)
168
+ * @example import { MaterialReactTable } from 'material-react-table';
169
+ */
1144
170
  export default MaterialReactTable;