material-react-table 1.3.15 → 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 (250) hide show
  1. package/dist/cjs/index.js +54 -50
  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 -50
  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/table/MRT_Table.tsx +3 -0
  245. package/LICENSE +0 -21
  246. package/src/_locales/hi.ts +0 -1
  247. package/src/_locales/id.ts +0 -1
  248. package/src/_locales/nl.ts +0 -1
  249. package/src/_locales/uk.ts +0 -1
  250. 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: { localization, enablePinning, enableColumnOrdering, enableHiding, }, } = 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()
@@ -963,9 +960,12 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
963
960
  };
964
961
 
965
962
  const MRT_EditActionButtons = ({ row, table, variant = 'icon', }) => {
966
- 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;
967
964
  const { editingRow } = getState();
968
- const handleCancel = () => setEditingRow(null);
965
+ const handleCancel = () => {
966
+ onEditingRowCancel === null || onEditingRowCancel === void 0 ? void 0 : onEditingRowCancel({ row, table });
967
+ setEditingRow(null);
968
+ };
969
969
  const handleSave = () => {
970
970
  var _a, _b;
971
971
  //look for auto-filled input values
@@ -1827,7 +1827,7 @@ const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1827
1827
  const MRT_TableHeadCell = ({ header, table }) => {
1828
1828
  var _a, _b, _c, _d;
1829
1829
  const theme = useTheme();
1830
- 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;
1831
1831
  const { density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
1832
1832
  const { column } = header;
1833
1833
  const { columnDef } = column;
@@ -1885,11 +1885,11 @@ const MRT_TableHeadCell = ({ header, table }) => {
1885
1885
  table,
1886
1886
  })
1887
1887
  : (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Header) !== null && _b !== void 0 ? _b : columnDef.header;
1888
- 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) => {
1889
1889
  if (node) {
1890
1890
  tableHeadCellRefs.current[column.id] = node;
1891
1891
  }
1892
- } }, 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'
1893
1893
  ? '0.5rem'
1894
1894
  : density === 'comfortable'
1895
1895
  ? columnDefType === 'display'
@@ -1957,23 +1957,23 @@ const MRT_TableHeadCell = ({ header, table }) => {
1957
1957
  };
1958
1958
 
1959
1959
  const MRT_TableHeadRow = ({ headerGroup, table }) => {
1960
- const { options: { muiTableHeadRowProps }, } = table;
1960
+ const { options: { layoutMode, muiTableHeadRowProps }, } = table;
1961
1961
  const tableRowProps = muiTableHeadRowProps instanceof Function
1962
1962
  ? muiTableHeadRowProps({ headerGroup, table })
1963
1963
  : muiTableHeadRowProps;
1964
- 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
1965
1965
  ? tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx(theme)
1966
- : 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 })))));
1967
1967
  };
1968
1968
 
1969
1969
  const MRT_TableHead = ({ table }) => {
1970
- const { getHeaderGroups, getState, options: { enableStickyHeader, muiTableHeadProps, enableRowVirtualization }, } = table;
1970
+ const { getHeaderGroups, getState, options: { enableRowVirtualization, enableStickyHeader, layoutMode, muiTableHeadProps, }, } = table;
1971
1971
  const { isFullScreen } = getState();
1972
1972
  const tableHeadProps = muiTableHeadProps instanceof Function
1973
1973
  ? muiTableHeadProps({ table })
1974
1974
  : muiTableHeadProps;
1975
1975
  const stickyHeader = enableStickyHeader || enableRowVirtualization || isFullScreen;
1976
- 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
1977
1977
  ? tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx(theme)
1978
1978
  : tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx))) }), getHeaderGroups().map((headerGroup) => (React.createElement(MRT_TableHeadRow, { headerGroup: headerGroup, key: headerGroup.id, table: table })))));
1979
1979
  };
@@ -2117,7 +2117,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
2117
2117
  const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table, }) => {
2118
2118
  var _a, _b;
2119
2119
  const theme = useTheme();
2120
- 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;
2121
2121
  const { draggingColumn, editingCell, editingRow, hoveredColumn, density, isLoading, showSkeletons, } = getState();
2122
2122
  const { column, row } = cell;
2123
2123
  const { columnDef } = column;
@@ -2186,7 +2186,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table
2186
2186
  setHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2187
2187
  }
2188
2188
  };
2189
- 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'
2190
2190
  ? columnDefType === 'display'
2191
2191
  ? '0 0.5rem'
2192
2192
  : '0.5rem'
@@ -2245,7 +2245,7 @@ const MRT_TableDetailPanel = ({ row, table }) => {
2245
2245
 
2246
2246
  const MRT_TableBodyRow = ({ numRows, row, rowIndex, table, virtualRow, }) => {
2247
2247
  const theme = useTheme();
2248
- const { getIsSomeColumnsPinned, getState, options: { enableRowOrdering, memoMode, muiTableBodyRowProps, renderDetailPanel, }, setHoveredRow, } = table;
2248
+ const { getIsSomeColumnsPinned, getState, options: { enableRowOrdering, layoutMode, memoMode, muiTableBodyRowProps, renderDetailPanel, }, setHoveredRow, } = table;
2249
2249
  const { draggingColumn, draggingRow, editingCell, editingRow, hoveredRow } = getState();
2250
2250
  const tableRowProps = muiTableBodyRowProps instanceof Function
2251
2251
  ? muiTableBodyRowProps({ row, table })
@@ -2267,12 +2267,12 @@ const MRT_TableBodyRow = ({ numRows, row, rowIndex, table, virtualRow, }) => {
2267
2267
  }
2268
2268
  : undefined;
2269
2269
  return (React.createElement(React.Fragment, null,
2270
- 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) => {
2271
2271
  rowRef.current = node;
2272
2272
  if (virtualRow === null || virtualRow === void 0 ? void 0 : virtualRow.measureRef) {
2273
2273
  virtualRow.measureRef = node;
2274
2274
  }
2275
- } }, 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': {
2276
2276
  backgroundColor: (tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned()
2277
2277
  ? theme.palette.mode === 'dark'
2278
2278
  ? `${lighten(theme.palette.background.default, 0.12)}`
@@ -2303,7 +2303,7 @@ const Memo_MRT_TableBodyRow = memo(MRT_TableBodyRow, (prev, next) => prev.row ==
2303
2303
 
2304
2304
  const MRT_TableBody = ({ table }) => {
2305
2305
  var _a, _b;
2306
- 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;
2307
2307
  const { columnFilters, globalFilter, pagination, sorting } = getState();
2308
2308
  const tableBodyProps = muiTableBodyProps instanceof Function
2309
2309
  ? muiTableBodyProps({ table })
@@ -2369,7 +2369,9 @@ const MRT_TableBody = ({ table }) => {
2369
2369
  // ? virtualizer.getTotalSize() - virtualRows[virtualRows.length - 1].end
2370
2370
  // : 0;
2371
2371
  // }
2372
- 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,
2373
2375
  React.createElement("td", { colSpan: table.getVisibleLeafColumns().length },
2374
2376
  React.createElement(Typography, { sx: {
2375
2377
  color: 'text.secondary',
@@ -2465,12 +2467,12 @@ const MRT_TableFooter = ({ table }) => {
2465
2467
  };
2466
2468
 
2467
2469
  const MRT_Table = ({ table }) => {
2468
- const { getState, options: { enableColumnResizing, enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, memoMode, muiTableProps, }, } = table;
2470
+ const { getState, options: { enableColumnResizing, enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, } = table;
2469
2471
  const { isFullScreen } = getState();
2470
2472
  const tableProps = muiTableProps instanceof Function
2471
2473
  ? muiTableProps({ table })
2472
2474
  : muiTableProps;
2473
- 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
2474
2476
  ? tableProps.sx(theme)
2475
2477
  : tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
2476
2478
  enableTableHead && React.createElement(MRT_TableHead, { table: table }),
@@ -2737,6 +2739,8 @@ const MRT_Localization_EN = {
2737
2739
  clearSearch: 'Clear search',
2738
2740
  clearSort: 'Clear sort',
2739
2741
  clickToCopy: 'Click to copy',
2742
+ collapse: 'Collapse',
2743
+ collapseAll: 'Collapse all',
2740
2744
  columnActions: 'Column Actions',
2741
2745
  copiedToClipboard: 'Copied to clipboard',
2742
2746
  dropToGroupBy: 'Drop to group by {column}',
@@ -2818,7 +2822,7 @@ const MRT_Localization_EN = {
2818
2822
  };
2819
2823
 
2820
2824
  const MaterialReactTable = (_a) => {
2821
- 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"]);
2822
2826
  const _icons = useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), []);
2823
2827
  const _localization = useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
2824
2828
  const _aggregationFns = useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
@@ -2826,7 +2830,7 @@ const MaterialReactTable = (_a) => {
2826
2830
  const _sortingFns = useMemo(() => (Object.assign(Object.assign({}, MRT_SortingFns), sortingFns)), []);
2827
2831
  const _defaultColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultColumn), defaultColumn)), []);
2828
2832
  const _defaultDisplayColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), []);
2829
- 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)));
2830
2834
  };
2831
2835
 
2832
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 };