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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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.d.ts CHANGED
@@ -615,7 +615,7 @@ type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TDa
615
615
  table: MRT_TableInstance<TData>;
616
616
  }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>) | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>;
617
617
  /**
618
- * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
618
+ * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` table option.
619
619
  *
620
620
  * See more info on creating columns on the official docs site:
621
621
  * @link https://www.material-react-table.com/docs/guides/data-columns
@@ -634,7 +634,7 @@ type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TDa
634
634
  */
635
635
  data: TData[];
636
636
  /**
637
- * Instead of specifying a bunch of the same options for each column, you can just change an option in the `defaultColumn` prop to change a default option for all columns.
637
+ * Instead of specifying a bunch of the same options for each column, you can just change an option in the `defaultColumn` table option to change a default option for all columns.
638
638
  */
639
639
  defaultColumn?: Partial<MRT_ColumnDef<TData>>;
640
640
  /**
package/dist/index.esm.js CHANGED
@@ -617,7 +617,7 @@ const MRT_TableBodyCell = (_a) => {
617
617
  var _b, _c, _d, _e, _f;
618
618
  var { cell, measureElement, numRows, rowIndex, rowRef, table, virtualIndex } = _a, rest = __rest(_a, ["cell", "measureElement", "numRows", "rowIndex", "rowRef", "table", "virtualIndex"]);
619
619
  const theme = useTheme();
620
- const { getState, options: { createDisplayMode, editDisplayMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiSkeletonProps, muiTableBodyCellProps, rowNumberDisplayMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
620
+ const { getState, options: { columnResizeMode, createDisplayMode, editDisplayMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiSkeletonProps, muiTableBodyCellProps, rowNumberDisplayMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
621
621
  const { columnSizingInfo, creatingRow, density, draggingColumn, draggingRow, editingCell, editingRow, hoveredColumn, hoveredRow, isLoading, showSkeletons, } = getState();
622
622
  const { column, row } = cell;
623
623
  const { columnDef } = column;
@@ -648,7 +648,9 @@ const MRT_TableBodyCell = (_a) => {
648
648
  const isFirstColumn = getIsFirstColumn(column, table);
649
649
  const isLastColumn = getIsLastColumn(column, table);
650
650
  const isLastRow = numRows && rowIndex === numRows - 1;
651
- const borderStyle = columnSizingInfo.isResizingColumn === column.id
651
+ const showResizeBorder = columnSizingInfo.isResizingColumn === column.id &&
652
+ columnResizeMode === 'onChange';
653
+ const borderStyle = showResizeBorder
652
654
  ? `2px solid ${draggingBorderColor} !important`
653
655
  : isDraggingColumn || isDraggingRow
654
656
  ? `1px dashed ${theme.palette.grey[500]} !important`
@@ -657,7 +659,7 @@ const MRT_TableBodyCell = (_a) => {
657
659
  columnSizingInfo.isResizingColumn === column.id
658
660
  ? `2px dashed ${draggingBorderColor} !important`
659
661
  : undefined;
660
- if (columnSizingInfo.isResizingColumn === column.id) {
662
+ if (showResizeBorder) {
661
663
  return { borderRight: borderStyle };
662
664
  }
663
665
  return borderStyle
@@ -1918,7 +1920,7 @@ const MRT_TableHeadCellResizeHandle = (_a) => {
1918
1920
  }, sx: (theme) => ({
1919
1921
  '&:active > hr': {
1920
1922
  backgroundColor: theme.palette.info.main,
1921
- opacity: header.subHeaders.length ? 1 : 0,
1923
+ opacity: header.subHeaders.length || columnResizeMode === 'onEnd' ? 1 : 0,
1922
1924
  },
1923
1925
  cursor: 'col-resize',
1924
1926
  mr: density === 'compact'
@@ -1969,7 +1971,7 @@ const MRT_TableHeadCell = (_a) => {
1969
1971
  var _b, _c, _d, _f, _g, _h;
1970
1972
  var { header, table } = _a, rest = __rest(_a, ["header", "table"]);
1971
1973
  const theme = useTheme();
1972
- const { getState, options: { columnFilterDisplayMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
1974
+ const { getState, options: { columnFilterDisplayMode, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
1973
1975
  const { columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
1974
1976
  const { column } = header;
1975
1977
  const { columnDef } = column;
@@ -1999,15 +2001,17 @@ const MRT_TableHeadCell = (_a) => {
1999
2001
  return pl;
2000
2002
  }, [showColumnActions, showDragHandle]);
2001
2003
  const draggingBorders = useMemo(() => {
2002
- const borderStyle = columnSizingInfo.isResizingColumn === column.id &&
2003
- !header.subHeaders.length
2004
+ const showResizeBorder = columnSizingInfo.isResizingColumn === column.id &&
2005
+ columnResizeMode === 'onChange' &&
2006
+ !header.subHeaders.length;
2007
+ const borderStyle = showResizeBorder
2004
2008
  ? `2px solid ${draggingBorderColor} !important`
2005
2009
  : (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id
2006
2010
  ? `1px dashed ${theme.palette.grey[500]}`
2007
2011
  : (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
2008
2012
  ? `2px dashed ${draggingBorderColor}`
2009
2013
  : undefined;
2010
- if (columnSizingInfo.isResizingColumn === column.id) {
2014
+ if (showResizeBorder) {
2011
2015
  return { borderRight: borderStyle };
2012
2016
  }
2013
2017
  const draggingBorders = borderStyle
@@ -2112,7 +2116,7 @@ const MRT_TableHeadRow = (_a) => {
2112
2116
  const tableRowProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableHeadRowProps, {
2113
2117
  headerGroup,
2114
2118
  table,
2115
- })), { rest });
2119
+ })), rest);
2116
2120
  return (jsxs(TableRow, Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor, boxShadow: `4px 0 8px ${alpha$1(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 ? (jsx("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null, (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : headerGroup.headers).map((headerOrVirtualHeader) => {
2117
2121
  const header = virtualColumns
2118
2122
  ? headerGroup.headers[headerOrVirtualHeader.index]
@@ -2172,7 +2176,7 @@ const MRT_TablePagination = (_a) => {
2172
2176
  last: LastPageIcon,
2173
2177
  next: ChevronRightIcon,
2174
2178
  previous: ChevronLeftIcon,
2175
- } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, _rest))) : paginationDisplayMode === 'default' ? (jsxs(Fragment, { children: [jsx(Typography, { align: "center", sx: { mb: 0, minWidth: '8ch', mx: '4px' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxs(Box, { gap: "xs", children: [showFirstButton && (jsx(IconButton, { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsx(FirstPageIcon, {}) })), jsx(IconButton, { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsx(ChevronLeftIcon, {}) }), jsx(IconButton, { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsx(ChevronRightIcon, {}) }), showLastButton && (jsx(IconButton, { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsx(LastPageIcon, {}) }))] })] })) : null] }));
2179
+ } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, _rest))) : paginationDisplayMode === 'default' ? (jsxs(Fragment, { children: [jsx(Typography, { 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()}` }), jsxs(Box, { gap: "xs", children: [showFirstButton && (jsx(IconButton, { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsx(FirstPageIcon, {}) })), jsx(IconButton, { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsx(ChevronLeftIcon, {}) }), jsx(IconButton, { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsx(ChevronRightIcon, {}) }), showLastButton && (jsx(IconButton, { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsx(LastPageIcon, {}) }))] })] })) : null] }));
2176
2180
  };
2177
2181
 
2178
2182
  const MRT_GlobalFilterTextField = (_a) => {
@@ -2620,11 +2624,14 @@ const MRT_Table = (_a) => {
2620
2624
  const tableProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableProps, { table })), rest);
2621
2625
  const columnVirtualizerProps = parseFromValuesOrFunc(columnVirtualizerOptions, { table });
2622
2626
  const columnSizeVars = useMemo(() => {
2627
+ var _a;
2623
2628
  const headers = getFlatHeaders();
2624
2629
  const colSizes = {};
2625
2630
  for (let i = 0; i < headers.length; i++) {
2626
2631
  const header = headers[i];
2627
- const colSize = header.getSize();
2632
+ let colSize = header.getSize();
2633
+ if ((_a = header.subHeaders) === null || _a === void 0 ? void 0 : _a.length)
2634
+ colSize = colSize * 1.05 + header.subHeaders.length * 2;
2628
2635
  colSizes[`--header-${parseCSSVarId(header.id)}-size`] = colSize;
2629
2636
  colSizes[`--col-${parseCSSVarId(header.column.id)}-size`] = colSize;
2630
2637
  }
@@ -2939,11 +2946,12 @@ const MRT_ExpandButton = ({ row, table, }) => {
2939
2946
 
2940
2947
  const MRT_RowActionMenu = (_a) => {
2941
2948
  var { anchorEl, handleEdit, row, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "handleEdit", "row", "setAnchorEl", "table"]);
2942
- const { getState, options: { enableEditing, icons: { EditIcon }, localization, renderRowActionMenuItems, }, } = table;
2949
+ const { getState, options: { editDisplayMode, enableEditing, icons: { EditIcon }, localization, renderRowActionMenuItems, }, } = table;
2943
2950
  const { density } = getState();
2944
2951
  return (jsxs(Menu, Object.assign({ MenuListProps: {
2945
2952
  dense: density === 'compact',
2946
- }, anchorEl: anchorEl, onClick: (event) => event.stopPropagation(), onClose: () => setAnchorEl(null), open: !!anchorEl }, rest, { children: [parseFromValuesOrFunc(enableEditing, row) && (jsx(MenuItem, { onClick: handleEdit, sx: commonMenuItemStyles, children: jsxs(Box, { sx: commonListItemStyles, children: [jsx(ListItemIcon, { children: jsx(EditIcon, {}) }), localization.edit] }) })), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 : renderRowActionMenuItems({
2953
+ }, anchorEl: anchorEl, onClick: (event) => event.stopPropagation(), onClose: () => setAnchorEl(null), open: !!anchorEl }, rest, { children: [parseFromValuesOrFunc(enableEditing, row) &&
2954
+ ['modal', 'row'].includes(editDisplayMode) && (jsx(MenuItem, { onClick: handleEdit, sx: commonMenuItemStyles, children: jsxs(Box, { sx: commonListItemStyles, children: [jsx(ListItemIcon, { children: jsx(EditIcon, {}) }), localization.edit] }) })), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 : renderRowActionMenuItems({
2947
2955
  closeMenu: () => setAnchorEl(null),
2948
2956
  row,
2949
2957
  table,
@@ -3220,7 +3228,7 @@ const MRT_DefaultDisplayColumn = {
3220
3228
  };
3221
3229
  const useMRT_TableOptions = (_a) => {
3222
3230
  var _b;
3223
- 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"]);
3231
+ 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"]);
3224
3232
  const _icons = useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), [icons]);
3225
3233
  const _localization = useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
3226
3234
  const _aggregationFns = useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
@@ -3228,13 +3236,11 @@ const useMRT_TableOptions = (_a) => {
3228
3236
  const _sortingFns = useMemo(() => (Object.assign(Object.assign({}, MRT_SortingFns), sortingFns)), []);
3229
3237
  const _defaultColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultColumn), defaultColumn)), [defaultColumn]);
3230
3238
  const _defaultDisplayColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), [defaultDisplayColumn]);
3231
- if (layoutMode === 'semantic') {
3232
- if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
3233
- layoutMode = 'grid';
3234
- }
3235
- if (enableColumnResizing) {
3236
- layoutMode = 'grid-no-grow';
3237
- }
3239
+ layoutMode =
3240
+ layoutMode || (enableColumnResizing ? 'grid-no-grow' : 'semantic');
3241
+ if (layoutMode === 'semantic' &&
3242
+ (rest.enableRowVirtualization || rest.enableColumnVirtualization)) {
3243
+ layoutMode = 'grid';
3238
3244
  }
3239
3245
  if (rest.enableRowVirtualization) {
3240
3246
  enableStickyHeader = true;