material-react-table 2.0.0-rc.1 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.esm.js +27 -21
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +27 -21
  5. package/dist/index.js.map +1 -1
  6. package/package.json +17 -17
  7. package/src/body/MRT_TableBodyCell.tsx +14 -11
  8. package/src/head/MRT_TableHeadCell.tsx +13 -9
  9. package/src/head/MRT_TableHeadCellResizeHandle.tsx +2 -1
  10. package/src/head/MRT_TableHeadRow.tsx +1 -1
  11. package/src/hooks/useMRT_TableOptions.ts +8 -8
  12. package/src/menus/MRT_RowActionMenu.tsx +12 -10
  13. package/src/table/MRT_Table.tsx +3 -1
  14. package/src/toolbar/MRT_TablePagination.tsx +2 -1
  15. package/src/types.ts +2 -2
  16. package/dist/types/MaterialReactTable.d.ts +0 -7
  17. package/dist/types/aggregationFns.d.ts +0 -11
  18. package/dist/types/body/MRT_TableBody.d.ts +0 -13
  19. package/dist/types/body/MRT_TableBodyCell.d.ts +0 -15
  20. package/dist/types/body/MRT_TableBodyCellValue.d.ts +0 -8
  21. package/dist/types/body/MRT_TableBodyRow.d.ts +0 -18
  22. package/dist/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -10
  23. package/dist/types/body/MRT_TableBodyRowPinButton.d.ts +0 -8
  24. package/dist/types/body/MRT_TableDetailPanel.d.ts +0 -13
  25. package/dist/types/body/index.d.ts +0 -7
  26. package/dist/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -8
  27. package/dist/types/buttons/MRT_CopyButton.d.ts +0 -8
  28. package/dist/types/buttons/MRT_EditActionButtons.d.ts +0 -9
  29. package/dist/types/buttons/MRT_ExpandAllButton.d.ts +0 -7
  30. package/dist/types/buttons/MRT_ExpandButton.d.ts +0 -8
  31. package/dist/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  32. package/dist/types/buttons/MRT_RowPinButton.d.ts +0 -10
  33. package/dist/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  34. package/dist/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  35. package/dist/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  36. package/dist/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  37. package/dist/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  38. package/dist/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -9
  39. package/dist/types/buttons/index.d.ts +0 -13
  40. package/dist/types/column.utils.d.ts +0 -127
  41. package/dist/types/filterFns.d.ts +0 -69
  42. package/dist/types/footer/MRT_TableFooter.d.ts +0 -11
  43. package/dist/types/footer/MRT_TableFooterCell.d.ts +0 -8
  44. package/dist/types/footer/MRT_TableFooterRow.d.ts +0 -12
  45. package/dist/types/footer/index.d.ts +0 -3
  46. package/dist/types/head/MRT_TableHead.d.ts +0 -11
  47. package/dist/types/head/MRT_TableHeadCell.d.ts +0 -8
  48. package/dist/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -8
  49. package/dist/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -8
  50. package/dist/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -8
  51. package/dist/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -10
  52. package/dist/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -8
  53. package/dist/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -8
  54. package/dist/types/head/MRT_TableHeadRow.d.ts +0 -12
  55. package/dist/types/head/index.d.ts +0 -9
  56. package/dist/types/hooks/index.d.ts +0 -4
  57. package/dist/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  58. package/dist/types/hooks/useMRT_Effects.d.ts +0 -2
  59. package/dist/types/hooks/useMRT_TableInstance.d.ts +0 -2
  60. package/dist/types/hooks/useMRT_TableOptions.d.ts +0 -22
  61. package/dist/types/icons.d.ts +0 -36
  62. package/dist/types/index.d.ts +0 -18
  63. package/dist/types/inputs/MRT_EditCellTextField.d.ts +0 -8
  64. package/dist/types/inputs/MRT_FilterCheckbox.d.ts +0 -8
  65. package/dist/types/inputs/MRT_FilterRangeFields.d.ts +0 -8
  66. package/dist/types/inputs/MRT_FilterRangeSlider.d.ts +0 -8
  67. package/dist/types/inputs/MRT_FilterTextField.d.ts +0 -9
  68. package/dist/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -7
  69. package/dist/types/inputs/MRT_SelectCheckbox.d.ts +0 -9
  70. package/dist/types/inputs/index.d.ts +0 -7
  71. package/dist/types/locales/ar.d.ts +0 -2
  72. package/dist/types/locales/az.d.ts +0 -2
  73. package/dist/types/locales/bg.d.ts +0 -2
  74. package/dist/types/locales/cs.d.ts +0 -2
  75. package/dist/types/locales/da.d.ts +0 -2
  76. package/dist/types/locales/de.d.ts +0 -2
  77. package/dist/types/locales/en.d.ts +0 -2
  78. package/dist/types/locales/es.d.ts +0 -2
  79. package/dist/types/locales/et.d.ts +0 -2
  80. package/dist/types/locales/fa.d.ts +0 -2
  81. package/dist/types/locales/fi.d.ts +0 -2
  82. package/dist/types/locales/fr.d.ts +0 -2
  83. package/dist/types/locales/hu.d.ts +0 -2
  84. package/dist/types/locales/hy.d.ts +0 -2
  85. package/dist/types/locales/id.d.ts +0 -2
  86. package/dist/types/locales/it.d.ts +0 -2
  87. package/dist/types/locales/ja.d.ts +0 -2
  88. package/dist/types/locales/ko.d.ts +0 -2
  89. package/dist/types/locales/nl.d.ts +0 -2
  90. package/dist/types/locales/no.d.ts +0 -2
  91. package/dist/types/locales/np.d.ts +0 -2
  92. package/dist/types/locales/pl.d.ts +0 -2
  93. package/dist/types/locales/pt-BR.d.ts +0 -2
  94. package/dist/types/locales/pt.d.ts +0 -2
  95. package/dist/types/locales/ro.d.ts +0 -2
  96. package/dist/types/locales/ru.d.ts +0 -2
  97. package/dist/types/locales/sk.d.ts +0 -2
  98. package/dist/types/locales/sr-Cyrl-RS.d.ts +0 -2
  99. package/dist/types/locales/sr-Latn-RS.d.ts +0 -2
  100. package/dist/types/locales/sv.d.ts +0 -2
  101. package/dist/types/locales/tr.d.ts +0 -2
  102. package/dist/types/locales/uk.d.ts +0 -2
  103. package/dist/types/locales/vi.d.ts +0 -2
  104. package/dist/types/locales/zh-Hans.d.ts +0 -2
  105. package/dist/types/locales/zh-Hant.d.ts +0 -2
  106. package/dist/types/menus/MRT_ColumnActionMenu.d.ts +0 -20
  107. package/dist/types/menus/MRT_FilterOptionMenu.d.ts +0 -13
  108. package/dist/types/menus/MRT_RowActionMenu.d.ts +0 -12
  109. package/dist/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -10
  110. package/dist/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -12
  111. package/dist/types/menus/index.d.ts +0 -5
  112. package/dist/types/modals/MRT_EditRowModal.d.ts +0 -8
  113. package/dist/types/modals/index.d.ts +0 -1
  114. package/dist/types/sortingFns.d.ts +0 -12
  115. package/dist/types/style.utils.d.ts +0 -32
  116. package/dist/types/table/MRT_Table.d.ts +0 -7
  117. package/dist/types/table/MRT_TableContainer.d.ts +0 -7
  118. package/dist/types/table/MRT_TableLoadingOverlay.d.ts +0 -7
  119. package/dist/types/table/MRT_TablePaper.d.ts +0 -7
  120. package/dist/types/table/index.d.ts +0 -5
  121. package/dist/types/toolbar/MRT_BottomToolbar.d.ts +0 -7
  122. package/dist/types/toolbar/MRT_LinearProgressBar.d.ts +0 -8
  123. package/dist/types/toolbar/MRT_TablePagination.d.ts +0 -11
  124. package/dist/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -8
  125. package/dist/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -7
  126. package/dist/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -7
  127. package/dist/types/toolbar/MRT_TopToolbar.d.ts +0 -6
  128. package/dist/types/toolbar/index.d.ts +0 -7
  129. package/dist/types/types.d.ts +0 -844
  130. package/dist/types/useMaterialReactTable.d.ts +0 -2
package/dist/index.js CHANGED
@@ -706,7 +706,7 @@ const MRT_TableBodyCell = (_a) => {
706
706
  var _b, _c, _d, _e, _f;
707
707
  var { cell, measureElement, numRows, rowIndex, rowRef, table, virtualIndex } = _a, rest = __rest(_a, ["cell", "measureElement", "numRows", "rowIndex", "rowRef", "table", "virtualIndex"]);
708
708
  const theme = styles.useTheme();
709
- const { getState, options: { createDisplayMode, editDisplayMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiSkeletonProps, muiTableBodyCellProps, rowNumberDisplayMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
709
+ const { getState, options: { columnResizeMode, createDisplayMode, editDisplayMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiSkeletonProps, muiTableBodyCellProps, rowNumberDisplayMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
710
710
  const { columnSizingInfo, creatingRow, density, draggingColumn, draggingRow, editingCell, editingRow, hoveredColumn, hoveredRow, isLoading, showSkeletons, } = getState();
711
711
  const { column, row } = cell;
712
712
  const { columnDef } = column;
@@ -737,7 +737,9 @@ const MRT_TableBodyCell = (_a) => {
737
737
  const isFirstColumn = getIsFirstColumn(column, table);
738
738
  const isLastColumn = getIsLastColumn(column, table);
739
739
  const isLastRow = numRows && rowIndex === numRows - 1;
740
- const borderStyle = columnSizingInfo.isResizingColumn === column.id
740
+ const showResizeBorder = columnSizingInfo.isResizingColumn === column.id &&
741
+ columnResizeMode === 'onChange';
742
+ const borderStyle = showResizeBorder
741
743
  ? `2px solid ${draggingBorderColor} !important`
742
744
  : isDraggingColumn || isDraggingRow
743
745
  ? `1px dashed ${theme.palette.grey[500]} !important`
@@ -746,7 +748,7 @@ const MRT_TableBodyCell = (_a) => {
746
748
  columnSizingInfo.isResizingColumn === column.id
747
749
  ? `2px dashed ${draggingBorderColor} !important`
748
750
  : undefined;
749
- if (columnSizingInfo.isResizingColumn === column.id) {
751
+ if (showResizeBorder) {
750
752
  return { borderRight: borderStyle };
751
753
  }
752
754
  return borderStyle
@@ -2007,7 +2009,7 @@ const MRT_TableHeadCellResizeHandle = (_a) => {
2007
2009
  }, sx: (theme) => ({
2008
2010
  '&:active > hr': {
2009
2011
  backgroundColor: theme.palette.info.main,
2010
- opacity: header.subHeaders.length ? 1 : 0,
2012
+ opacity: header.subHeaders.length || columnResizeMode === 'onEnd' ? 1 : 0,
2011
2013
  },
2012
2014
  cursor: 'col-resize',
2013
2015
  mr: density === 'compact'
@@ -2058,7 +2060,7 @@ const MRT_TableHeadCell = (_a) => {
2058
2060
  var _b, _c, _d, _f, _g, _h;
2059
2061
  var { header, table } = _a, rest = __rest(_a, ["header", "table"]);
2060
2062
  const theme = styles.useTheme();
2061
- const { getState, options: { columnFilterDisplayMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
2063
+ const { getState, options: { columnFilterDisplayMode, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
2062
2064
  const { columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
2063
2065
  const { column } = header;
2064
2066
  const { columnDef } = column;
@@ -2088,15 +2090,17 @@ const MRT_TableHeadCell = (_a) => {
2088
2090
  return pl;
2089
2091
  }, [showColumnActions, showDragHandle]);
2090
2092
  const draggingBorders = react.useMemo(() => {
2091
- const borderStyle = columnSizingInfo.isResizingColumn === column.id &&
2092
- !header.subHeaders.length
2093
+ const showResizeBorder = columnSizingInfo.isResizingColumn === column.id &&
2094
+ columnResizeMode === 'onChange' &&
2095
+ !header.subHeaders.length;
2096
+ const borderStyle = showResizeBorder
2093
2097
  ? `2px solid ${draggingBorderColor} !important`
2094
2098
  : (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id
2095
2099
  ? `1px dashed ${theme.palette.grey[500]}`
2096
2100
  : (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
2097
2101
  ? `2px dashed ${draggingBorderColor}`
2098
2102
  : undefined;
2099
- if (columnSizingInfo.isResizingColumn === column.id) {
2103
+ if (showResizeBorder) {
2100
2104
  return { borderRight: borderStyle };
2101
2105
  }
2102
2106
  const draggingBorders = borderStyle
@@ -2201,7 +2205,7 @@ const MRT_TableHeadRow = (_a) => {
2201
2205
  const tableRowProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableHeadRowProps, {
2202
2206
  headerGroup,
2203
2207
  table,
2204
- })), { rest });
2208
+ })), rest);
2205
2209
  return (jsxRuntime.jsxs(TableRow__default["default"], Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor, boxShadow: `4px 0 8px ${material.alpha(theme.palette.common.black, 0.1)}`, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, top: 0 }, parseFromValuesOrFunc(tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx, theme))), children: [virtualPaddingLeft ? (jsxRuntime.jsx("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null, (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : headerGroup.headers).map((headerOrVirtualHeader) => {
2206
2210
  const header = virtualColumns
2207
2211
  ? headerGroup.headers[headerOrVirtualHeader.index]
@@ -2261,7 +2265,7 @@ const MRT_TablePagination = (_a) => {
2261
2265
  last: LastPageIcon,
2262
2266
  next: ChevronRightIcon,
2263
2267
  previous: ChevronLeftIcon,
2264
- } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, _rest))) : paginationDisplayMode === 'default' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography__default["default"], { align: "center", sx: { mb: 0, minWidth: '8ch', mx: '4px' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxRuntime.jsxs(Box__default["default"], { gap: "xs", children: [showFirstButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsxRuntime.jsx(FirstPageIcon, {}) })), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsxRuntime.jsx(ChevronLeftIcon, {}) }), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsxRuntime.jsx(ChevronRightIcon, {}) }), showLastButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsxRuntime.jsx(LastPageIcon, {}) }))] })] })) : null] }));
2268
+ } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, _rest))) : paginationDisplayMode === 'default' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography__default["default"], { align: "center", component: "span", sx: { m: '0 4px', minWidth: '8ch' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxRuntime.jsxs(Box__default["default"], { gap: "xs", children: [showFirstButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsxRuntime.jsx(FirstPageIcon, {}) })), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsxRuntime.jsx(ChevronLeftIcon, {}) }), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsxRuntime.jsx(ChevronRightIcon, {}) }), showLastButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsxRuntime.jsx(LastPageIcon, {}) }))] })] })) : null] }));
2265
2269
  };
2266
2270
 
2267
2271
  const MRT_GlobalFilterTextField = (_a) => {
@@ -2709,11 +2713,14 @@ const MRT_Table = (_a) => {
2709
2713
  const tableProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableProps, { table })), rest);
2710
2714
  const columnVirtualizerProps = parseFromValuesOrFunc(columnVirtualizerOptions, { table });
2711
2715
  const columnSizeVars = react.useMemo(() => {
2716
+ var _a;
2712
2717
  const headers = getFlatHeaders();
2713
2718
  const colSizes = {};
2714
2719
  for (let i = 0; i < headers.length; i++) {
2715
2720
  const header = headers[i];
2716
- const colSize = header.getSize();
2721
+ let colSize = header.getSize();
2722
+ if ((_a = header.subHeaders) === null || _a === void 0 ? void 0 : _a.length)
2723
+ colSize = colSize * 1.05 + header.subHeaders.length * 2;
2717
2724
  colSizes[`--header-${parseCSSVarId(header.id)}-size`] = colSize;
2718
2725
  colSizes[`--col-${parseCSSVarId(header.column.id)}-size`] = colSize;
2719
2726
  }
@@ -3028,11 +3035,12 @@ const MRT_ExpandButton = ({ row, table, }) => {
3028
3035
 
3029
3036
  const MRT_RowActionMenu = (_a) => {
3030
3037
  var { anchorEl, handleEdit, row, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "handleEdit", "row", "setAnchorEl", "table"]);
3031
- const { getState, options: { enableEditing, icons: { EditIcon }, localization, renderRowActionMenuItems, }, } = table;
3038
+ const { getState, options: { editDisplayMode, enableEditing, icons: { EditIcon }, localization, renderRowActionMenuItems, }, } = table;
3032
3039
  const { density } = getState();
3033
3040
  return (jsxRuntime.jsxs(Menu__default["default"], Object.assign({ MenuListProps: {
3034
3041
  dense: density === 'compact',
3035
- }, anchorEl: anchorEl, onClick: (event) => event.stopPropagation(), onClose: () => setAnchorEl(null), open: !!anchorEl }, rest, { children: [parseFromValuesOrFunc(enableEditing, row) && (jsxRuntime.jsx(MenuItem__default["default"], { onClick: handleEdit, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(EditIcon, {}) }), localization.edit] }) })), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 : renderRowActionMenuItems({
3042
+ }, anchorEl: anchorEl, onClick: (event) => event.stopPropagation(), onClose: () => setAnchorEl(null), open: !!anchorEl }, rest, { children: [parseFromValuesOrFunc(enableEditing, row) &&
3043
+ ['modal', 'row'].includes(editDisplayMode) && (jsxRuntime.jsx(MenuItem__default["default"], { onClick: handleEdit, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(EditIcon, {}) }), localization.edit] }) })), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 : renderRowActionMenuItems({
3036
3044
  closeMenu: () => setAnchorEl(null),
3037
3045
  row,
3038
3046
  table,
@@ -3309,7 +3317,7 @@ const MRT_DefaultDisplayColumn = {
3309
3317
  };
3310
3318
  const useMRT_TableOptions = (_a) => {
3311
3319
  var _b;
3312
- var { aggregationFns, autoResetExpanded = false, columnFilterDisplayMode = 'subheader', columnResizeMode = 'onChange', createDisplayMode = 'modal', defaultColumn, defaultDisplayColumn, editDisplayMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnPinning = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableExpanding, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enableRowPinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, manualFiltering, manualGrouping, manualPagination, manualSorting, paginationDisplayMode = 'default', positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberDisplayMode = 'static', rowPinningDisplayMode = 'sticky', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnFilterDisplayMode", "columnResizeMode", "createDisplayMode", "defaultColumn", "defaultDisplayColumn", "editDisplayMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnPinning", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableExpanding", "enableFilterMatchHighlighting", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enableRowPinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "manualFiltering", "manualGrouping", "manualPagination", "manualSorting", "paginationDisplayMode", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberDisplayMode", "rowPinningDisplayMode", "selectAllMode", "sortingFns"]);
3320
+ var { aggregationFns, autoResetExpanded = false, columnFilterDisplayMode = 'subheader', columnResizeMode = 'onChange', createDisplayMode = 'modal', defaultColumn, defaultDisplayColumn, editDisplayMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnPinning = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableExpanding, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enableRowPinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode, localization, manualFiltering, manualGrouping, manualPagination, manualSorting, paginationDisplayMode = 'default', positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberDisplayMode = 'static', rowPinningDisplayMode = 'sticky', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnFilterDisplayMode", "columnResizeMode", "createDisplayMode", "defaultColumn", "defaultDisplayColumn", "editDisplayMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnPinning", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableExpanding", "enableFilterMatchHighlighting", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enableRowPinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "manualFiltering", "manualGrouping", "manualPagination", "manualSorting", "paginationDisplayMode", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberDisplayMode", "rowPinningDisplayMode", "selectAllMode", "sortingFns"]);
3313
3321
  const _icons = react.useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), [icons]);
3314
3322
  const _localization = react.useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
3315
3323
  const _aggregationFns = react.useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
@@ -3317,13 +3325,11 @@ const useMRT_TableOptions = (_a) => {
3317
3325
  const _sortingFns = react.useMemo(() => (Object.assign(Object.assign({}, MRT_SortingFns), sortingFns)), []);
3318
3326
  const _defaultColumn = react.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultColumn), defaultColumn)), [defaultColumn]);
3319
3327
  const _defaultDisplayColumn = react.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), [defaultDisplayColumn]);
3320
- if (layoutMode === 'semantic') {
3321
- if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
3322
- layoutMode = 'grid';
3323
- }
3324
- if (enableColumnResizing) {
3325
- layoutMode = 'grid-no-grow';
3326
- }
3328
+ layoutMode =
3329
+ layoutMode || (enableColumnResizing ? 'grid-no-grow' : 'semantic');
3330
+ if (layoutMode === 'semantic' &&
3331
+ (rest.enableRowVirtualization || rest.enableColumnVirtualization)) {
3332
+ layoutMode = 'grid';
3327
3333
  }
3328
3334
  if (rest.enableRowVirtualization) {
3329
3335
  enableStickyHeader = true;