material-react-table 1.3.16 → 1.4.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 (251) hide show
  1. package/dist/cjs/index.js +54 -51
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/{MaterialReactTable.d.ts → types/MaterialReactTable.d.ts} +8 -1
  4. package/dist/cjs/{_locales → types/_locales}/cs.d.ts +0 -0
  5. package/dist/cjs/{_locales → types/_locales}/de.d.ts +0 -0
  6. package/dist/cjs/{_locales → types/_locales}/en.d.ts +0 -0
  7. package/dist/cjs/{_locales → types/_locales}/es.d.ts +0 -0
  8. package/dist/cjs/{_locales → types/_locales}/fa.d.ts +0 -0
  9. package/dist/cjs/{_locales → types/_locales}/fr.d.ts +0 -0
  10. package/dist/cjs/{_locales → types/_locales}/it.d.ts +0 -0
  11. package/dist/cjs/{_locales → types/_locales}/ja.d.ts +0 -0
  12. package/dist/cjs/{_locales → types/_locales}/pl.d.ts +0 -0
  13. package/dist/cjs/{_locales → types/_locales}/pt-BR.d.ts +0 -0
  14. package/dist/cjs/{_locales → types/_locales}/pt.d.ts +0 -0
  15. package/dist/cjs/{_locales → types/_locales}/ro.d.ts +0 -0
  16. package/dist/cjs/{_locales → types/_locales}/ru.d.ts +0 -0
  17. package/dist/cjs/{_locales → types/_locales}/tr.d.ts +0 -0
  18. package/dist/cjs/{_locales → types/_locales}/vi.d.ts +0 -0
  19. package/dist/cjs/{aggregationFns.d.ts → types/aggregationFns.d.ts} +0 -0
  20. package/dist/cjs/{body → types/body}/MRT_EditRowModal.d.ts +0 -0
  21. package/dist/cjs/{body → types/body}/MRT_TableBody.d.ts +0 -0
  22. package/dist/{esm → cjs/types}/body/MRT_TableBodyCell.d.ts +1 -1
  23. package/dist/cjs/{body → types/body}/MRT_TableBodyCellValue.d.ts +0 -0
  24. package/dist/cjs/{body → types/body}/MRT_TableBodyRow.d.ts +0 -0
  25. package/dist/cjs/{body → types/body}/MRT_TableBodyRowGrabHandle.d.ts +1 -1
  26. package/dist/cjs/{body → types/body}/MRT_TableDetailPanel.d.ts +0 -0
  27. package/dist/cjs/{buttons → types/buttons}/MRT_ColumnPinningButtons.d.ts +0 -0
  28. package/dist/cjs/{buttons → types/buttons}/MRT_CopyButton.d.ts +0 -0
  29. package/dist/cjs/{buttons → types/buttons}/MRT_EditActionButtons.d.ts +0 -0
  30. package/dist/cjs/{buttons → types/buttons}/MRT_ExpandAllButton.d.ts +0 -0
  31. package/dist/cjs/{buttons → types/buttons}/MRT_ExpandButton.d.ts +0 -0
  32. package/dist/cjs/{buttons → types/buttons}/MRT_FullScreenToggleButton.d.ts +0 -0
  33. package/dist/cjs/{buttons → types/buttons}/MRT_GrabHandleButton.d.ts +0 -0
  34. package/dist/cjs/{buttons → types/buttons}/MRT_ShowHideColumnsButton.d.ts +0 -0
  35. package/dist/cjs/{buttons → types/buttons}/MRT_ToggleDensePaddingButton.d.ts +0 -0
  36. package/dist/cjs/{buttons → types/buttons}/MRT_ToggleFiltersButton.d.ts +0 -0
  37. package/dist/cjs/{buttons → types/buttons}/MRT_ToggleGlobalFilterButton.d.ts +0 -0
  38. package/dist/cjs/{buttons → types/buttons}/MRT_ToggleRowActionMenuButton.d.ts +0 -0
  39. package/dist/cjs/{column.utils.d.ts → types/column.utils.d.ts} +0 -0
  40. package/dist/cjs/{filterFns.d.ts → types/filterFns.d.ts} +0 -0
  41. package/dist/cjs/{footer → types/footer}/MRT_TableFooter.d.ts +0 -0
  42. package/dist/cjs/{footer → types/footer}/MRT_TableFooterCell.d.ts +0 -0
  43. package/dist/cjs/{footer → types/footer}/MRT_TableFooterRow.d.ts +0 -0
  44. package/dist/cjs/{head → types/head}/MRT_TableHead.d.ts +0 -0
  45. package/dist/cjs/{head → types/head}/MRT_TableHeadCell.d.ts +0 -0
  46. package/dist/cjs/{head → types/head}/MRT_TableHeadCellColumnActionsButton.d.ts +0 -0
  47. package/dist/cjs/{head → types/head}/MRT_TableHeadCellFilterContainer.d.ts +0 -0
  48. package/dist/cjs/{head → types/head}/MRT_TableHeadCellFilterLabel.d.ts +0 -0
  49. package/dist/cjs/{head → types/head}/MRT_TableHeadCellGrabHandle.d.ts +0 -0
  50. package/dist/cjs/{head → types/head}/MRT_TableHeadCellResizeHandle.d.ts +0 -0
  51. package/dist/cjs/{head → types/head}/MRT_TableHeadCellSortLabel.d.ts +0 -0
  52. package/dist/cjs/{head → types/head}/MRT_TableHeadRow.d.ts +0 -0
  53. package/dist/cjs/{icons.d.ts → types/icons.d.ts} +0 -0
  54. package/dist/cjs/{index.d.ts → types/index.d.ts} +0 -0
  55. package/dist/cjs/{inputs → types/inputs}/MRT_EditCellTextField.d.ts +0 -0
  56. package/dist/cjs/{inputs → types/inputs}/MRT_FilterCheckbox.d.ts +0 -0
  57. package/dist/cjs/{inputs → types/inputs}/MRT_FilterRangeFields.d.ts +0 -0
  58. package/dist/cjs/{inputs → types/inputs}/MRT_FilterTextField.d.ts +0 -0
  59. package/dist/cjs/{inputs → types/inputs}/MRT_GlobalFilterTextField.d.ts +0 -0
  60. package/dist/cjs/{inputs → types/inputs}/MRT_SelectCheckbox.d.ts +0 -0
  61. package/dist/cjs/{menus → types/menus}/MRT_ColumnActionMenu.d.ts +0 -0
  62. package/dist/cjs/{menus → types/menus}/MRT_FilterOptionMenu.d.ts +0 -0
  63. package/dist/cjs/{menus → types/menus}/MRT_RowActionMenu.d.ts +0 -0
  64. package/dist/cjs/{menus → types/menus}/MRT_ShowHideColumnsMenu.d.ts +0 -0
  65. package/dist/cjs/{menus → types/menus}/MRT_ShowHideColumnsMenuItems.d.ts +0 -0
  66. package/dist/cjs/{sortingFns.d.ts → types/sortingFns.d.ts} +0 -0
  67. package/dist/cjs/{table → types/table}/MRT_Table.d.ts +0 -0
  68. package/dist/cjs/{table → types/table}/MRT_TableContainer.d.ts +0 -0
  69. package/dist/cjs/{table → types/table}/MRT_TablePaper.d.ts +0 -0
  70. package/dist/cjs/{table → types/table}/MRT_TableRoot.d.ts +5 -0
  71. package/dist/cjs/{toolbar → types/toolbar}/MRT_BottomToolbar.d.ts +0 -0
  72. package/dist/cjs/{toolbar → types/toolbar}/MRT_LinearProgressBar.d.ts +0 -0
  73. package/dist/cjs/{toolbar → types/toolbar}/MRT_TablePagination.d.ts +0 -0
  74. package/dist/cjs/{toolbar → types/toolbar}/MRT_ToolbarAlertBanner.d.ts +0 -0
  75. package/dist/cjs/{toolbar → types/toolbar}/MRT_ToolbarDropZone.d.ts +0 -0
  76. package/dist/cjs/{toolbar → types/toolbar}/MRT_ToolbarInternalButtons.d.ts +0 -0
  77. package/dist/cjs/{toolbar → types/toolbar}/MRT_TopToolbar.d.ts +0 -0
  78. package/dist/esm/material-react-table.esm.js +54 -51
  79. package/dist/esm/material-react-table.esm.js.map +1 -1
  80. package/dist/esm/{MaterialReactTable.d.ts → types/MaterialReactTable.d.ts} +8 -1
  81. package/dist/esm/{_locales → types/_locales}/cs.d.ts +0 -0
  82. package/dist/esm/{_locales → types/_locales}/de.d.ts +0 -0
  83. package/dist/esm/{_locales → types/_locales}/en.d.ts +0 -0
  84. package/dist/esm/{_locales → types/_locales}/es.d.ts +0 -0
  85. package/dist/esm/{_locales → types/_locales}/fa.d.ts +0 -0
  86. package/dist/esm/{_locales → types/_locales}/fr.d.ts +0 -0
  87. package/dist/esm/{_locales → types/_locales}/it.d.ts +0 -0
  88. package/dist/esm/{_locales → types/_locales}/ja.d.ts +0 -0
  89. package/dist/esm/{_locales → types/_locales}/pl.d.ts +0 -0
  90. package/dist/esm/{_locales → types/_locales}/pt-BR.d.ts +0 -0
  91. package/dist/esm/{_locales → types/_locales}/pt.d.ts +0 -0
  92. package/dist/esm/{_locales → types/_locales}/ro.d.ts +0 -0
  93. package/dist/esm/{_locales → types/_locales}/ru.d.ts +0 -0
  94. package/dist/esm/{_locales → types/_locales}/tr.d.ts +0 -0
  95. package/dist/esm/{_locales → types/_locales}/vi.d.ts +0 -0
  96. package/dist/esm/{aggregationFns.d.ts → types/aggregationFns.d.ts} +0 -0
  97. package/dist/esm/{body → types/body}/MRT_EditRowModal.d.ts +0 -0
  98. package/dist/esm/{body → types/body}/MRT_TableBody.d.ts +0 -0
  99. package/dist/{cjs → esm/types}/body/MRT_TableBodyCell.d.ts +1 -1
  100. package/dist/esm/{body → types/body}/MRT_TableBodyCellValue.d.ts +0 -0
  101. package/dist/esm/{body → types/body}/MRT_TableBodyRow.d.ts +0 -0
  102. package/dist/esm/{body → types/body}/MRT_TableBodyRowGrabHandle.d.ts +1 -1
  103. package/dist/esm/{body → types/body}/MRT_TableDetailPanel.d.ts +0 -0
  104. package/dist/esm/{buttons → types/buttons}/MRT_ColumnPinningButtons.d.ts +0 -0
  105. package/dist/esm/{buttons → types/buttons}/MRT_CopyButton.d.ts +0 -0
  106. package/dist/esm/{buttons → types/buttons}/MRT_EditActionButtons.d.ts +0 -0
  107. package/dist/esm/{buttons → types/buttons}/MRT_ExpandAllButton.d.ts +0 -0
  108. package/dist/esm/{buttons → types/buttons}/MRT_ExpandButton.d.ts +0 -0
  109. package/dist/esm/{buttons → types/buttons}/MRT_FullScreenToggleButton.d.ts +0 -0
  110. package/dist/esm/{buttons → types/buttons}/MRT_GrabHandleButton.d.ts +0 -0
  111. package/dist/esm/{buttons → types/buttons}/MRT_ShowHideColumnsButton.d.ts +0 -0
  112. package/dist/esm/{buttons → types/buttons}/MRT_ToggleDensePaddingButton.d.ts +0 -0
  113. package/dist/esm/{buttons → types/buttons}/MRT_ToggleFiltersButton.d.ts +0 -0
  114. package/dist/esm/{buttons → types/buttons}/MRT_ToggleGlobalFilterButton.d.ts +0 -0
  115. package/dist/esm/{buttons → types/buttons}/MRT_ToggleRowActionMenuButton.d.ts +0 -0
  116. package/dist/esm/{column.utils.d.ts → types/column.utils.d.ts} +0 -0
  117. package/dist/esm/{filterFns.d.ts → types/filterFns.d.ts} +0 -0
  118. package/dist/esm/{footer → types/footer}/MRT_TableFooter.d.ts +0 -0
  119. package/dist/esm/{footer → types/footer}/MRT_TableFooterCell.d.ts +0 -0
  120. package/dist/esm/{footer → types/footer}/MRT_TableFooterRow.d.ts +0 -0
  121. package/dist/esm/{head → types/head}/MRT_TableHead.d.ts +0 -0
  122. package/dist/esm/{head → types/head}/MRT_TableHeadCell.d.ts +0 -0
  123. package/dist/esm/{head → types/head}/MRT_TableHeadCellColumnActionsButton.d.ts +0 -0
  124. package/dist/esm/{head → types/head}/MRT_TableHeadCellFilterContainer.d.ts +0 -0
  125. package/dist/esm/{head → types/head}/MRT_TableHeadCellFilterLabel.d.ts +0 -0
  126. package/dist/esm/{head → types/head}/MRT_TableHeadCellGrabHandle.d.ts +0 -0
  127. package/dist/esm/{head → types/head}/MRT_TableHeadCellResizeHandle.d.ts +0 -0
  128. package/dist/esm/{head → types/head}/MRT_TableHeadCellSortLabel.d.ts +0 -0
  129. package/dist/esm/{head → types/head}/MRT_TableHeadRow.d.ts +0 -0
  130. package/dist/esm/{icons.d.ts → types/icons.d.ts} +0 -0
  131. package/dist/esm/{index.d.ts → types/index.d.ts} +0 -0
  132. package/dist/esm/{inputs → types/inputs}/MRT_EditCellTextField.d.ts +0 -0
  133. package/dist/esm/{inputs → types/inputs}/MRT_FilterCheckbox.d.ts +0 -0
  134. package/dist/esm/{inputs → types/inputs}/MRT_FilterRangeFields.d.ts +0 -0
  135. package/dist/esm/{inputs → types/inputs}/MRT_FilterTextField.d.ts +0 -0
  136. package/dist/esm/{inputs → types/inputs}/MRT_GlobalFilterTextField.d.ts +0 -0
  137. package/dist/esm/{inputs → types/inputs}/MRT_SelectCheckbox.d.ts +0 -0
  138. package/dist/esm/{menus → types/menus}/MRT_ColumnActionMenu.d.ts +0 -0
  139. package/dist/esm/{menus → types/menus}/MRT_FilterOptionMenu.d.ts +0 -0
  140. package/dist/esm/{menus → types/menus}/MRT_RowActionMenu.d.ts +0 -0
  141. package/dist/esm/{menus → types/menus}/MRT_ShowHideColumnsMenu.d.ts +0 -0
  142. package/dist/esm/{menus → types/menus}/MRT_ShowHideColumnsMenuItems.d.ts +0 -0
  143. package/dist/esm/{sortingFns.d.ts → types/sortingFns.d.ts} +0 -0
  144. package/dist/esm/{table → types/table}/MRT_Table.d.ts +0 -0
  145. package/dist/esm/{table → types/table}/MRT_TableContainer.d.ts +0 -0
  146. package/dist/esm/{table → types/table}/MRT_TablePaper.d.ts +0 -0
  147. package/dist/esm/{table → types/table}/MRT_TableRoot.d.ts +5 -0
  148. package/dist/esm/{toolbar → types/toolbar}/MRT_BottomToolbar.d.ts +0 -0
  149. package/dist/esm/{toolbar → types/toolbar}/MRT_LinearProgressBar.d.ts +0 -0
  150. package/dist/esm/{toolbar → types/toolbar}/MRT_TablePagination.d.ts +0 -0
  151. package/dist/esm/{toolbar → types/toolbar}/MRT_ToolbarAlertBanner.d.ts +0 -0
  152. package/dist/esm/{toolbar → types/toolbar}/MRT_ToolbarDropZone.d.ts +0 -0
  153. package/dist/esm/{toolbar → types/toolbar}/MRT_ToolbarInternalButtons.d.ts +0 -0
  154. package/dist/esm/{toolbar → types/toolbar}/MRT_TopToolbar.d.ts +0 -0
  155. package/dist/index.d.ts +8 -1
  156. package/locales/cs.esm.js +2 -0
  157. package/locales/cs.esm.js.map +1 -1
  158. package/locales/cs.js +2 -0
  159. package/locales/cs.js.map +1 -1
  160. package/locales/de.esm.js +2 -0
  161. package/locales/de.esm.js.map +1 -1
  162. package/locales/de.js +2 -0
  163. package/locales/de.js.map +1 -1
  164. package/locales/en.esm.js +2 -0
  165. package/locales/en.esm.js.map +1 -1
  166. package/locales/en.js +2 -0
  167. package/locales/en.js.map +1 -1
  168. package/locales/es.esm.js +2 -0
  169. package/locales/es.esm.js.map +1 -1
  170. package/locales/es.js +2 -0
  171. package/locales/es.js.map +1 -1
  172. package/locales/fa.esm.js +2 -0
  173. package/locales/fa.esm.js.map +1 -1
  174. package/locales/fa.js +2 -0
  175. package/locales/fa.js.map +1 -1
  176. package/locales/fr.esm.js +2 -0
  177. package/locales/fr.esm.js.map +1 -1
  178. package/locales/fr.js +2 -0
  179. package/locales/fr.js.map +1 -1
  180. package/locales/it.esm.js +2 -0
  181. package/locales/it.esm.js.map +1 -1
  182. package/locales/it.js +2 -0
  183. package/locales/it.js.map +1 -1
  184. package/locales/ja.esm.js +2 -0
  185. package/locales/ja.esm.js.map +1 -1
  186. package/locales/ja.js +2 -0
  187. package/locales/ja.js.map +1 -1
  188. package/locales/pl.esm.js +2 -0
  189. package/locales/pl.esm.js.map +1 -1
  190. package/locales/pl.js +2 -0
  191. package/locales/pl.js.map +1 -1
  192. package/locales/pt-BR.esm.js +2 -0
  193. package/locales/pt-BR.esm.js.map +1 -1
  194. package/locales/pt-BR.js +2 -0
  195. package/locales/pt-BR.js.map +1 -1
  196. package/locales/pt.esm.js +2 -0
  197. package/locales/pt.esm.js.map +1 -1
  198. package/locales/pt.js +2 -0
  199. package/locales/pt.js.map +1 -1
  200. package/locales/ro.esm.js +89 -87
  201. package/locales/ro.esm.js.map +1 -1
  202. package/locales/ro.js +89 -87
  203. package/locales/ro.js.map +1 -1
  204. package/locales/ru.esm.js +2 -0
  205. package/locales/ru.esm.js.map +1 -1
  206. package/locales/ru.js +2 -0
  207. package/locales/ru.js.map +1 -1
  208. package/locales/tr.esm.js +2 -0
  209. package/locales/tr.esm.js.map +1 -1
  210. package/locales/tr.js +2 -0
  211. package/locales/tr.js.map +1 -1
  212. package/locales/vi.esm.js +2 -0
  213. package/locales/vi.esm.js.map +1 -1
  214. package/locales/vi.js +2 -0
  215. package/locales/vi.js.map +1 -1
  216. package/package.json +13 -34
  217. package/src/MaterialReactTable.tsx +12 -0
  218. package/src/_locales/cs.ts +2 -0
  219. package/src/_locales/de.ts +2 -0
  220. package/src/_locales/en.ts +2 -0
  221. package/src/_locales/es.ts +2 -0
  222. package/src/_locales/fa.ts +2 -0
  223. package/src/_locales/fr.ts +2 -0
  224. package/src/_locales/it.ts +2 -0
  225. package/src/_locales/ja.ts +2 -0
  226. package/src/_locales/pl.ts +2 -0
  227. package/src/_locales/pt-BR.ts +2 -0
  228. package/src/_locales/pt.ts +2 -0
  229. package/src/_locales/ro.ts +89 -87
  230. package/src/_locales/ru.ts +2 -0
  231. package/src/_locales/tr.ts +2 -0
  232. package/src/_locales/vi.ts +2 -0
  233. package/src/body/MRT_TableBody.tsx +12 -1
  234. package/src/body/MRT_TableBodyCell.tsx +5 -1
  235. package/src/body/MRT_TableBodyRow.tsx +7 -3
  236. package/src/body/MRT_TableBodyRowGrabHandle.tsx +1 -1
  237. package/src/buttons/MRT_EditActionButtons.tsx +5 -1
  238. package/src/buttons/MRT_ExpandAllButton.tsx +9 -7
  239. package/src/buttons/MRT_ExpandButton.tsx +11 -7
  240. package/src/column.utils.ts +5 -0
  241. package/src/head/MRT_TableHead.tsx +8 -1
  242. package/src/head/MRT_TableHeadCell.tsx +4 -0
  243. package/src/head/MRT_TableHeadRow.tsx +6 -7
  244. package/src/menus/MRT_ShowHideColumnsMenu.tsx +0 -2
  245. package/src/table/MRT_Table.tsx +3 -0
  246. package/LICENSE +0 -21
  247. package/src/_locales/hi.ts +0 -1
  248. package/src/_locales/id.ts +0 -1
  249. package/src/_locales/nl.ts +0 -1
  250. package/src/_locales/uk.ts +0 -1
  251. package/src/_locales/zh.ts +0 -1
@@ -39,6 +39,8 @@ export interface MRT_Localization {
39
39
  clearSearch: string;
40
40
  clearSort: string;
41
41
  clickToCopy: string;
42
+ collapse: string;
43
+ collapseAll: string;
42
44
  columnActions: string;
43
45
  copiedToClipboard: string;
44
46
  dropToGroupBy: string;
@@ -466,6 +468,7 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Om
466
468
  globalFilterModeOptions?: MRT_FilterOption[] | null;
467
469
  icons?: Partial<MRT_Icons>;
468
470
  initialState?: Partial<MRT_TableState<TData>>;
471
+ layoutMode?: 'semantic' | 'grid';
469
472
  /**
470
473
  * Pass in either a locale imported from `material-react-table/locales/*` or a custom locale object.
471
474
  *
@@ -607,6 +610,10 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Om
607
610
  onDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
608
611
  onDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
609
612
  onEditingCellChange?: OnChangeFn<MRT_Cell<TData> | null>;
613
+ onEditingRowCancel?: ({ row, table, }: {
614
+ row: MRT_Row<TData>;
615
+ table: MRT_TableInstance<TData>;
616
+ }) => void;
610
617
  onEditingRowSave?: ({ exitEditingMode, row, table, values, }: {
611
618
  exitEditingMode: () => void;
612
619
  row: MRT_Row<TData>;
@@ -692,5 +699,5 @@ export type Virtualizer = {
692
699
  scrollToIndex: (index: number, options?: any | undefined) => void;
693
700
  measure: () => void;
694
701
  };
695
- declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
702
+ declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, layoutMode, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
696
703
  export default MaterialReactTable;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -5,7 +5,7 @@ interface Props {
5
5
  enableHover?: boolean;
6
6
  numRows: number;
7
7
  rowIndex: number;
8
- rowRef: RefObject<HTMLTableRowElement>;
8
+ rowRef: RefObject<HTMLDivElement | HTMLTableRowElement>;
9
9
  table: MRT_TableInstance;
10
10
  }
11
11
  export declare const MRT_TableBodyCell: FC<Props>;
@@ -2,7 +2,7 @@ import { FC, RefObject } from 'react';
2
2
  import { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
- rowRef: RefObject<HTMLTableRowElement>;
5
+ rowRef: RefObject<HTMLDivElement | HTMLTableRowElement>;
6
6
  table: MRT_TableInstance;
7
7
  }
8
8
  export declare const MRT_TableBodyRowGrabHandle: FC<Props>;
File without changes
File without changes
File without changes
File without changes
@@ -46,6 +46,7 @@ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(pro
46
46
  globalFilterModeOptions?: MRT_FilterOption[] | null | undefined;
47
47
  icons?: Partial<import("..").MRT_Icons> | undefined;
48
48
  initialState?: Partial<MRT_TableState<TData>> | undefined;
49
+ layoutMode?: "grid" | "semantic" | undefined;
49
50
  localization?: Partial<MRT_Localization> | undefined;
50
51
  memoMode?: "rows" | "cells" | "table-body" | undefined;
51
52
  muiBottomToolbarProps?: import("@mui/material").ToolbarProps<"div", {}> | (({ table }: {
@@ -175,6 +176,10 @@ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(pro
175
176
  onDraggingColumnChange?: import("@tanstack/react-table").OnChangeFn<MRT_Column<TData> | null> | undefined;
176
177
  onDraggingRowChange?: import("@tanstack/react-table").OnChangeFn<MRT_Row<TData> | null> | undefined;
177
178
  onEditingCellChange?: import("@tanstack/react-table").OnChangeFn<MRT_Cell<TData> | null> | undefined;
179
+ onEditingRowCancel?: (({ row, table, }: {
180
+ row: MRT_Row<TData>;
181
+ table: MRT_TableInstance<TData>;
182
+ }) => void) | undefined;
178
183
  onEditingRowSave?: (({ exitEditingMode, row, table, values, }: {
179
184
  exitEditingMode: () => void;
180
185
  row: MRT_Row<TData>;
@@ -89,18 +89,14 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
89
89
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
90
90
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
91
91
  PERFORMANCE OF THIS SOFTWARE.
92
- ***************************************************************************** */
93
-
94
- function __rest(s, e) {
95
- var t = {};
96
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
97
- t[p] = s[p];
98
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
99
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
100
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
101
- t[p[i]] = s[p[i]];
102
- }
103
- return t;
92
+ ***************************************************************************** */
93
+ function __rest(s, e) {
94
+ var t = {};
95
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
96
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
97
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
98
+ }
99
+ return t;
104
100
  }
105
101
 
106
102
  const MRT_AggregationFns = Object.assign({}, aggregationFns);
@@ -240,7 +236,7 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
240
236
  ? `-4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
241
237
  : getIsFirstRightPinnedColumn(column)
242
238
  ? `4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
243
- : undefined, left: column.getIsPinned() === 'left'
239
+ : undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell', left: column.getIsPinned() === 'left'
244
240
  ? `${column.getStart('left')}px`
245
241
  : undefined, opacity: ((_a = table.getState().draggingColumn) === null || _a === void 0 ? void 0 : _a.id) === column.id ||
246
242
  ((_b = table.getState().hoveredColumn) === null || _b === void 0 ? void 0 : _b.id) === column.id
@@ -251,7 +247,9 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
251
247
  ? `${getTotalRight(table, column)}px`
252
248
  : undefined, transition: `all ${column.getIsResizing() ? 0 : '150ms'} ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
253
249
  ? tableCellProps.sx(theme)
254
- : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { maxWidth: `min(${column.getSize()}px, fit-content)`, minWidth: `max(${column.getSize()}px, ${(_c = column.columnDef.minSize) !== null && _c !== void 0 ? _c : 30}px)`, width: (_d = header === null || header === void 0 ? void 0 : header.getSize()) !== null && _d !== void 0 ? _d : column.getSize() }));
250
+ : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { flex: table.options.layoutMode === 'grid'
251
+ ? `${column.getSize()} 0 auto`
252
+ : undefined, maxWidth: `min(${column.getSize()}px, fit-content)`, minWidth: `max(${column.getSize()}px, ${(_c = column.columnDef.minSize) !== null && _c !== void 0 ? _c : 30}px)`, width: (_d = header === null || header === void 0 ? void 0 : header.getSize()) !== null && _d !== void 0 ? _d : column.getSize() }));
255
253
  };
256
254
  const MRT_DefaultColumn = {
257
255
  minSize: 40,
@@ -412,17 +410,16 @@ const MRT_ExpandAllButton = ({ table }) => {
412
410
  const iconButtonProps = muiExpandAllButtonProps instanceof Function
413
411
  ? muiExpandAllButtonProps({ table })
414
412
  : muiExpandAllButtonProps;
415
- return (React.createElement(Tooltip, { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: (_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : localization.expandAll },
413
+ const isAllRowsExpanded = getIsAllRowsExpanded();
414
+ return (React.createElement(Tooltip, { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: ((_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : isAllRowsExpanded)
415
+ ? localization.collapseAll
416
+ : localization.expandAll },
416
417
  React.createElement("span", null,
417
- React.createElement(IconButton, Object.assign({ "aria-label": localization.expandAll, disabled: isLoading || (!renderDetailPanel && !getCanSomeRowsExpand()), onClick: () => toggleAllRowsExpanded(!getIsAllRowsExpanded()) }, iconButtonProps, { sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem', mt: density !== 'compact' ? '-0.25rem' : undefined }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
418
+ React.createElement(IconButton, Object.assign({ "aria-label": localization.expandAll, disabled: isLoading || (!renderDetailPanel && !getCanSomeRowsExpand()), onClick: () => toggleAllRowsExpanded(!isAllRowsExpanded) }, iconButtonProps, { sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem', mt: density !== 'compact' ? '-0.25rem' : undefined }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
418
419
  ? iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx(theme)
419
420
  : iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }),
420
421
  React.createElement(KeyboardDoubleArrowDownIcon, { style: {
421
- transform: `rotate(${getIsAllRowsExpanded()
422
- ? -180
423
- : getIsSomeRowsExpanded()
424
- ? -90
425
- : 0}deg)`,
422
+ transform: `rotate(${isAllRowsExpanded ? -180 : getIsSomeRowsExpanded() ? -90 : 0}deg)`,
426
423
  transition: 'transform 150ms',
427
424
  } })))));
428
425
  };
@@ -434,23 +431,23 @@ const MRT_ExpandButton = ({ row, table }) => {
434
431
  const iconButtonProps = muiExpandButtonProps instanceof Function
435
432
  ? muiExpandButtonProps({ table, row })
436
433
  : muiExpandButtonProps;
434
+ const canExpand = row.getCanExpand();
435
+ const isExpanded = row.getIsExpanded();
437
436
  const handleToggleExpand = (event) => {
438
437
  var _a;
439
438
  event.stopPropagation();
440
439
  row.toggleExpanded();
441
440
  (_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.onClick) === null || _a === void 0 ? void 0 : _a.call(iconButtonProps, event);
442
441
  };
443
- return (React.createElement(Tooltip, { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: (_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : localization.expand },
442
+ return (React.createElement(Tooltip, { arrow: true, disableHoverListener: !canExpand && !renderDetailPanel, enterDelay: 1000, enterNextDelay: 1000, title: ((_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : isExpanded)
443
+ ? localization.collapse
444
+ : localization.expand },
444
445
  React.createElement("span", null,
445
- React.createElement(IconButton, Object.assign({ "aria-label": localization.expand, disabled: !row.getCanExpand() && !renderDetailPanel }, iconButtonProps, { onClick: handleToggleExpand, sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem' }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
446
+ React.createElement(IconButton, Object.assign({ "aria-label": localization.expand, disabled: !canExpand && !renderDetailPanel }, iconButtonProps, { onClick: handleToggleExpand, sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem' }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
446
447
  ? iconButtonProps.sx(theme)
447
448
  : iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }),
448
449
  React.createElement(ExpandMoreIcon, { style: {
449
- transform: `rotate(${!row.getCanExpand() && !renderDetailPanel
450
- ? -90
451
- : row.getIsExpanded()
452
- ? -180
453
- : 0}deg)`,
450
+ transform: `rotate(${!canExpand && !renderDetailPanel ? -90 : isExpanded ? -180 : 0}deg)`,
454
451
  transition: 'transform 150ms',
455
452
  } })))));
456
453
  };
@@ -728,7 +725,7 @@ const MRT_ShowHideColumnsMenuItems = ({ allColumns, hoveredColumn, setHoveredCol
728
725
  };
729
726
 
730
727
  const MRT_ShowHideColumnsMenu = ({ anchorEl, isSubMenu, setAnchorEl, table, }) => {
731
- const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, toggleAllColumnsVisible, options: { enableColumnOrdering, enableHiding, enablePinning, localization, columns, }, } = table;
728
+ const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, toggleAllColumnsVisible, options: { enableColumnOrdering, enableHiding, enablePinning, localization, }, } = table;
732
729
  const { density, columnOrder, columnPinning } = getState();
733
730
  const hideAllColumns = () => {
734
731
  getAllLeafColumns()
@@ -747,7 +744,6 @@ const MRT_ShowHideColumnsMenu = ({ anchorEl, isSubMenu, setAnchorEl, table, }) =
747
744
  }
748
745
  return columns;
749
746
  }, [
750
- columns,
751
747
  columnOrder,
752
748
  columnPinning,
753
749
  getAllColumns(),
@@ -964,9 +960,12 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
964
960
  };
965
961
 
966
962
  const MRT_EditActionButtons = ({ row, table, variant = 'icon', }) => {
967
- const { getState, options: { icons: { CancelIcon, SaveIcon }, localization, onEditingRowSave, }, refs: { editInputRefs }, setEditingRow, } = table;
963
+ const { getState, options: { icons: { CancelIcon, SaveIcon }, localization, onEditingRowSave, onEditingRowCancel, }, refs: { editInputRefs }, setEditingRow, } = table;
968
964
  const { editingRow } = getState();
969
- const handleCancel = () => setEditingRow(null);
965
+ const handleCancel = () => {
966
+ onEditingRowCancel === null || onEditingRowCancel === void 0 ? void 0 : onEditingRowCancel({ row, table });
967
+ setEditingRow(null);
968
+ };
970
969
  const handleSave = () => {
971
970
  var _a, _b;
972
971
  //look for auto-filled input values
@@ -1828,7 +1827,7 @@ const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1828
1827
  const MRT_TableHeadCell = ({ header, table }) => {
1829
1828
  var _a, _b, _c, _d;
1830
1829
  const theme = useTheme();
1831
- const { getState, options: { enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
1830
+ const { getState, options: { enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
1832
1831
  const { density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
1833
1832
  const { column } = header;
1834
1833
  const { columnDef } = column;
@@ -1886,11 +1885,11 @@ const MRT_TableHeadCell = ({ header, table }) => {
1886
1885
  table,
1887
1886
  })
1888
1887
  : (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Header) !== null && _b !== void 0 ? _b : columnDef.header;
1889
- return (React.createElement(TableCell, Object.assign({ align: columnDefType === 'group' ? 'center' : 'left', colSpan: header.colSpan, onDragEnter: handleDragEnter, ref: (node) => {
1888
+ return (React.createElement(TableCell, Object.assign({ align: columnDefType === 'group' ? 'center' : 'left', component: layoutMode === 'grid' ? 'div' : 'td', colSpan: header.colSpan, onDragEnter: handleDragEnter, ref: (node) => {
1890
1889
  if (node) {
1891
1890
  tableHeadCellRefs.current[column.id] = node;
1892
1891
  }
1893
- } }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ fontWeight: 'bold', overflow: 'visible', p: density === 'compact'
1892
+ }, role: "columnheader" }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ flexDirection: layoutMode === 'grid' ? 'column' : undefined, fontWeight: 'bold', overflow: 'visible', p: density === 'compact'
1894
1893
  ? '0.5rem'
1895
1894
  : density === 'comfortable'
1896
1895
  ? columnDefType === 'display'
@@ -1958,23 +1957,23 @@ const MRT_TableHeadCell = ({ header, table }) => {
1958
1957
  };
1959
1958
 
1960
1959
  const MRT_TableHeadRow = ({ headerGroup, table }) => {
1961
- const { options: { muiTableHeadRowProps }, } = table;
1960
+ const { options: { layoutMode, muiTableHeadRowProps }, } = table;
1962
1961
  const tableRowProps = muiTableHeadRowProps instanceof Function
1963
1962
  ? muiTableHeadRowProps({ headerGroup, table })
1964
1963
  : muiTableHeadRowProps;
1965
- return (React.createElement(TableRow, Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`, backgroundColor: lighten(theme.palette.background.default, 0.04) }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
1964
+ return (React.createElement(TableRow, Object.assign({ component: layoutMode === 'grid' ? 'div' : 'tr', role: "row" }, tableRowProps, { sx: (theme) => (Object.assign({ boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`, display: layoutMode === 'grid' ? 'flex' : 'table-row', backgroundColor: lighten(theme.palette.background.default, 0.04) }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
1966
1965
  ? tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx(theme)
1967
- : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }), headerGroup.headers.map((header, index) => (React.createElement(MRT_TableHeadCell, { header: header, key: header.id || index, table: table })))));
1966
+ : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }), headerGroup.headers.map((header) => (React.createElement(MRT_TableHeadCell, { header: header, key: header.id, table: table })))));
1968
1967
  };
1969
1968
 
1970
1969
  const MRT_TableHead = ({ table }) => {
1971
- const { getHeaderGroups, getState, options: { enableStickyHeader, muiTableHeadProps, enableRowVirtualization }, } = table;
1970
+ const { getHeaderGroups, getState, options: { enableRowVirtualization, enableStickyHeader, layoutMode, muiTableHeadProps, }, } = table;
1972
1971
  const { isFullScreen } = getState();
1973
1972
  const tableHeadProps = muiTableHeadProps instanceof Function
1974
1973
  ? muiTableHeadProps({ table })
1975
1974
  : muiTableHeadProps;
1976
1975
  const stickyHeader = enableStickyHeader || enableRowVirtualization || isFullScreen;
1977
- return (React.createElement(TableHead, Object.assign({}, tableHeadProps, { sx: (theme) => (Object.assign({ opacity: 0.97, position: stickyHeader ? 'sticky' : undefined, zIndex: stickyHeader ? 2 : undefined }, ((tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx) instanceof Function
1976
+ return (React.createElement(TableHead, Object.assign({ component: layoutMode === 'grid' ? 'div' : 'thead', role: "rowgroup" }, tableHeadProps, { sx: (theme) => (Object.assign({ opacity: 0.97, position: stickyHeader ? 'sticky' : undefined, zIndex: stickyHeader ? 2 : undefined }, ((tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx) instanceof Function
1978
1977
  ? tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx(theme)
1979
1978
  : tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx))) }), getHeaderGroups().map((headerGroup) => (React.createElement(MRT_TableHeadRow, { headerGroup: headerGroup, key: headerGroup.id, table: table })))));
1980
1979
  };
@@ -2118,7 +2117,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
2118
2117
  const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table, }) => {
2119
2118
  var _a, _b;
2120
2119
  const theme = useTheme();
2121
- const { getState, options: { editingMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, muiTableBodyCellProps, muiTableBodyCellSkeletonProps, rowNumberMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
2120
+ const { getState, options: { editingMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiTableBodyCellProps, muiTableBodyCellSkeletonProps, rowNumberMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
2122
2121
  const { draggingColumn, editingCell, editingRow, hoveredColumn, density, isLoading, showSkeletons, } = getState();
2123
2122
  const { column, row } = cell;
2124
2123
  const { columnDef } = column;
@@ -2187,7 +2186,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table
2187
2186
  setHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2188
2187
  }
2189
2188
  };
2190
- return (React.createElement(TableCell, Object.assign({}, tableCellProps, { onDragEnter: handleDragEnter, onDoubleClick: handleDoubleClick, sx: (theme) => (Object.assign(Object.assign({ cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'inherit', overflow: 'hidden', p: density === 'compact'
2189
+ return (React.createElement(TableCell, Object.assign({ component: layoutMode === 'grid' ? 'div' : 'td', role: "gridcell" }, tableCellProps, { onDragEnter: handleDragEnter, onDoubleClick: handleDoubleClick, sx: (theme) => (Object.assign(Object.assign({ alignItems: layoutMode === 'grid' ? 'center' : undefined, cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'inherit', overflow: 'hidden', p: density === 'compact'
2191
2190
  ? columnDefType === 'display'
2192
2191
  ? '0 0.5rem'
2193
2192
  : '0.5rem'
@@ -2246,7 +2245,7 @@ const MRT_TableDetailPanel = ({ row, table }) => {
2246
2245
 
2247
2246
  const MRT_TableBodyRow = ({ numRows, row, rowIndex, table, virtualRow, }) => {
2248
2247
  const theme = useTheme();
2249
- const { getIsSomeColumnsPinned, getState, options: { enableRowOrdering, memoMode, muiTableBodyRowProps, renderDetailPanel, }, setHoveredRow, } = table;
2248
+ const { getIsSomeColumnsPinned, getState, options: { enableRowOrdering, layoutMode, memoMode, muiTableBodyRowProps, renderDetailPanel, }, setHoveredRow, } = table;
2250
2249
  const { draggingColumn, draggingRow, editingCell, editingRow, hoveredRow } = getState();
2251
2250
  const tableRowProps = muiTableBodyRowProps instanceof Function
2252
2251
  ? muiTableBodyRowProps({ row, table })
@@ -2268,12 +2267,12 @@ const MRT_TableBodyRow = ({ numRows, row, rowIndex, table, virtualRow, }) => {
2268
2267
  }
2269
2268
  : undefined;
2270
2269
  return (React.createElement(React.Fragment, null,
2271
- React.createElement(TableRow, Object.assign({ onDragEnter: handleDragEnter, hover: true, selected: row.getIsSelected(), ref: (node) => {
2270
+ React.createElement(TableRow, Object.assign({ component: layoutMode === 'grid' ? 'div' : 'tr', hover: true, onDragEnter: handleDragEnter, selected: row.getIsSelected(), ref: (node) => {
2272
2271
  rowRef.current = node;
2273
2272
  if (virtualRow === null || virtualRow === void 0 ? void 0 : virtualRow.measureRef) {
2274
2273
  virtualRow.measureRef = node;
2275
2274
  }
2276
- } }, tableRowProps, { sx: (theme) => (Object.assign(Object.assign({ backgroundColor: lighten(theme.palette.background.default, 0.06), opacity: (draggingRow === null || draggingRow === void 0 ? void 0 : draggingRow.id) === row.id || (hoveredRow === null || hoveredRow === void 0 ? void 0 : hoveredRow.id) === row.id ? 0.5 : 1, transition: 'all 150ms ease-in-out', '&:hover td': {
2275
+ }, role: "row" }, tableRowProps, { sx: (theme) => (Object.assign(Object.assign({ backgroundColor: lighten(theme.palette.background.default, 0.06), display: layoutMode === 'grid' ? 'flex' : 'table-row', opacity: (draggingRow === null || draggingRow === void 0 ? void 0 : draggingRow.id) === row.id || (hoveredRow === null || hoveredRow === void 0 ? void 0 : hoveredRow.id) === row.id ? 0.5 : 1, transition: 'all 150ms ease-in-out', '&:hover td': {
2277
2276
  backgroundColor: (tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned()
2278
2277
  ? theme.palette.mode === 'dark'
2279
2278
  ? `${lighten(theme.palette.background.default, 0.12)}`
@@ -2304,7 +2303,7 @@ const Memo_MRT_TableBodyRow = memo(MRT_TableBodyRow, (prev, next) => prev.row ==
2304
2303
 
2305
2304
  const MRT_TableBody = ({ table }) => {
2306
2305
  var _a, _b;
2307
- const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, localization, manualFiltering, manualSorting, memoMode, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef, tablePaperRef }, } = table;
2306
+ const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, layoutMode, localization, manualFiltering, manualSorting, memoMode, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef, tablePaperRef }, } = table;
2308
2307
  const { columnFilters, globalFilter, pagination, sorting } = getState();
2309
2308
  const tableBodyProps = muiTableBodyProps instanceof Function
2310
2309
  ? muiTableBodyProps({ table })
@@ -2370,7 +2369,9 @@ const MRT_TableBody = ({ table }) => {
2370
2369
  // ? virtualizer.getTotalSize() - virtualRows[virtualRows.length - 1].end
2371
2370
  // : 0;
2372
2371
  // }
2373
- return (React.createElement(TableBody, Object.assign({}, tableBodyProps), ((_a = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _a !== void 0 ? _a : !rows.length) ? (React.createElement("tr", null,
2372
+ return (React.createElement(TableBody, Object.assign({ component: layoutMode === 'grid' ? 'div' : 'tbody', role: "rowgroup" }, tableBodyProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'grid' : 'table-row-group' }, ((tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx) instanceof Function
2373
+ ? tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx(theme)
2374
+ : tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx))) }), ((_a = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _a !== void 0 ? _a : !rows.length) ? (React.createElement("tr", null,
2374
2375
  React.createElement("td", { colSpan: table.getVisibleLeafColumns().length },
2375
2376
  React.createElement(Typography, { sx: {
2376
2377
  color: 'text.secondary',
@@ -2466,12 +2467,12 @@ const MRT_TableFooter = ({ table }) => {
2466
2467
  };
2467
2468
 
2468
2469
  const MRT_Table = ({ table }) => {
2469
- const { getState, options: { enableColumnResizing, enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, memoMode, muiTableProps, }, } = table;
2470
+ const { getState, options: { enableColumnResizing, enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, } = table;
2470
2471
  const { isFullScreen } = getState();
2471
2472
  const tableProps = muiTableProps instanceof Function
2472
2473
  ? muiTableProps({ table })
2473
2474
  : muiTableProps;
2474
- return (React.createElement(Table, Object.assign({ stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen }, tableProps, { sx: (theme) => (Object.assign({ tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto' }, ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) instanceof Function
2475
+ return (React.createElement(Table, Object.assign({ component: layoutMode === 'grid' ? 'div' : 'table', role: "grid", stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen }, tableProps, { sx: (theme) => (Object.assign({ tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto' }, ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) instanceof Function
2475
2476
  ? tableProps.sx(theme)
2476
2477
  : tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
2477
2478
  enableTableHead && React.createElement(MRT_TableHead, { table: table }),
@@ -2738,6 +2739,8 @@ const MRT_Localization_EN = {
2738
2739
  clearSearch: 'Clear search',
2739
2740
  clearSort: 'Clear sort',
2740
2741
  clickToCopy: 'Click to copy',
2742
+ collapse: 'Collapse',
2743
+ collapseAll: 'Collapse all',
2741
2744
  columnActions: 'Column Actions',
2742
2745
  copiedToClipboard: 'Copied to clipboard',
2743
2746
  dropToGroupBy: 'Drop to group by {column}',
@@ -2819,7 +2822,7 @@ const MRT_Localization_EN = {
2819
2822
  };
2820
2823
 
2821
2824
  const MaterialReactTable = (_a) => {
2822
- var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "defaultDisplayColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2825
+ var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "defaultDisplayColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2823
2826
  const _icons = useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), []);
2824
2827
  const _localization = useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
2825
2828
  const _aggregationFns = useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
@@ -2827,7 +2830,7 @@ const MaterialReactTable = (_a) => {
2827
2830
  const _sortingFns = useMemo(() => (Object.assign(Object.assign({}, MRT_SortingFns), sortingFns)), []);
2828
2831
  const _defaultColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultColumn), defaultColumn)), []);
2829
2832
  const _defaultDisplayColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), []);
2830
- return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, localization: _localization, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
2833
+ return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
2831
2834
  };
2832
2835
 
2833
2836
  export { MRT_CopyButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarInternalButtons, MaterialReactTable as default };