material-react-table 1.11.4 → 1.12.0-beta.0

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