material-react-table 0.7.0 → 0.7.3

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.
@@ -20,6 +20,7 @@ import FullscreenIcon from '@mui/icons-material/Fullscreen';
20
20
  import MoreHorizIcon from '@mui/icons-material/MoreHoriz';
21
21
  import MoreVertIcon from '@mui/icons-material/MoreVert';
22
22
  import PushPinIcon from '@mui/icons-material/PushPin';
23
+ import RestartAltIcon from '@mui/icons-material/RestartAlt';
23
24
  import SaveIcon from '@mui/icons-material/Save';
24
25
  import SearchIcon from '@mui/icons-material/Search';
25
26
  import SearchOffIcon from '@mui/icons-material/SearchOff';
@@ -27,7 +28,7 @@ import SortIcon from '@mui/icons-material/Sort';
27
28
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
28
29
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
29
30
  import { createTable, useTableInstance, getColumnFilteredRowModelSync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, functionalUpdate } from '@tanstack/react-table';
30
- import { IconButton, Menu, MenuItem, FormControlLabel, Switch, Box, Button, Divider, ListItemIcon, Tooltip, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, alpha, TableCell, TableSortLabel, TableRow, TableHead, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper } from '@mui/material';
31
+ import { IconButton, Menu, MenuItem, FormControlLabel, Switch, Box, Button, Divider, ListItemIcon, Tooltip, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, alpha, TableCell, TableSortLabel, TableRow, TableHead, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
31
32
  import { matchSorter } from 'match-sorter';
32
33
 
33
34
  function _extends() {
@@ -97,6 +98,7 @@ var MRT_DefaultLocalization_EN = {
97
98
  hideColumn: 'Hide {column} column',
98
99
  pinToLeft: 'Pin to left',
99
100
  pinToRight: 'Pin to right',
101
+ resetColumnSize: 'Reset column size',
100
102
  rowActions: 'Row Actions',
101
103
  rowNumber: '#',
102
104
  rowNumbers: 'Row Numbers',
@@ -145,6 +147,7 @@ var MRT_Default_Icons = {
145
147
  MoreHorizIcon: MoreHorizIcon,
146
148
  MoreVertIcon: MoreVertIcon,
147
149
  PushPinIcon: PushPinIcon,
150
+ RestartAltIcon: RestartAltIcon,
148
151
  SaveIcon: SaveIcon,
149
152
  SearchIcon: SearchIcon,
150
153
  SearchOffIcon: SearchOffIcon,
@@ -452,7 +455,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
452
455
  divider: false,
453
456
  fn: notEmpty
454
457
  }].filter(function (filterType) {
455
- return header ? !header.column.enabledFilterTypes || header.column.enabledFilterTypes.includes(filterType.type) : (!enabledGlobalFilterTypes || enabledGlobalFilterTypes.includes(filterType.type)) && [MRT_FILTER_TYPE.BEST_MATCH_FIRST, MRT_FILTER_TYPE.BEST_MATCH].includes(filterType.type);
458
+ return header ? !header.column.enabledColumnFilterTypes || header.column.enabledColumnFilterTypes.includes(filterType.type) : (!enabledGlobalFilterTypes || enabledGlobalFilterTypes.includes(filterType.type)) && [MRT_FILTER_TYPE.BEST_MATCH_FIRST, MRT_FILTER_TYPE.BEST_MATCH].includes(filterType.type);
456
459
  });
457
460
  }, []);
458
461
 
@@ -675,9 +678,10 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
675
678
  setColumnOrder = tableInstance.setColumnOrder,
676
679
  _tableInstance$option = tableInstance.options,
677
680
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
678
- enablePinning = _tableInstance$option.enablePinning,
681
+ enableColumnResizing = _tableInstance$option.enableColumnResizing,
679
682
  enableGrouping = _tableInstance$option.enableGrouping,
680
683
  enableHiding = _tableInstance$option.enableHiding,
684
+ enablePinning = _tableInstance$option.enablePinning,
681
685
  enableSorting = _tableInstance$option.enableSorting,
682
686
  _tableInstance$option2 = _tableInstance$option.icons,
683
687
  ArrowRightIcon = _tableInstance$option2.ArrowRightIcon,
@@ -688,6 +692,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
688
692
  FilterListOffIcon = _tableInstance$option2.FilterListOffIcon,
689
693
  PushPinIcon = _tableInstance$option2.PushPinIcon,
690
694
  SortIcon = _tableInstance$option2.SortIcon,
695
+ RestartAltIcon = _tableInstance$option2.RestartAltIcon,
691
696
  VisibilityOffIcon = _tableInstance$option2.VisibilityOffIcon,
692
697
  idPrefix = _tableInstance$option.idPrefix,
693
698
  localization = _tableInstance$option.localization,
@@ -695,8 +700,9 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
695
700
  var column = header.column;
696
701
 
697
702
  var _getState = getState(),
698
- isDensePadding = _getState.isDensePadding,
699
- columnVisibility = _getState.columnVisibility;
703
+ columnSizing = _getState.columnSizing,
704
+ columnVisibility = _getState.columnVisibility,
705
+ isDensePadding = _getState.isDensePadding;
700
706
 
701
707
  var _useState = useState(null),
702
708
  filterMenuAnchorEl = _useState[0],
@@ -721,6 +727,11 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
721
727
  setAnchorEl(null);
722
728
  };
723
729
 
730
+ var handleResetColumnSize = function handleResetColumnSize() {
731
+ column.resetSize();
732
+ setAnchorEl(null);
733
+ };
734
+
724
735
  var handleHideColumn = function handleHideColumn() {
725
736
  column.toggleVisibility(false);
726
737
  setAnchorEl(null);
@@ -840,7 +851,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
840
851
  }, React.createElement(Box, {
841
852
  sx: commonListItemStyles
842
853
  }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enablePinning && column.getCanPin() && [React.createElement(MenuItem, {
843
- disabled: column.getIsPinned() === 'left',
854
+ disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
844
855
  key: 0,
845
856
  onClick: function onClick() {
846
857
  return handlePinColumn('left');
@@ -853,7 +864,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
853
864
  transform: 'rotate(90deg)'
854
865
  }
855
866
  })), localization.pinToLeft)), React.createElement(MenuItem, {
856
- disabled: column.getIsPinned() === 'right',
867
+ disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
857
868
  key: 0,
858
869
  onClick: function onClick() {
859
870
  return handlePinColumn('right');
@@ -875,7 +886,14 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
875
886
  sx: commonMenuItemStyles$1
876
887
  }, React.createElement(Box, {
877
888
  sx: commonListItemStyles
878
- }, React.createElement(ListItemIcon, null, React.createElement(PushPinIcon, null)), localization.unpin))], enableHiding && [React.createElement(MenuItem, {
889
+ }, React.createElement(ListItemIcon, null, React.createElement(PushPinIcon, null)), localization.unpin))], enableColumnResizing && [React.createElement(MenuItem, {
890
+ disabled: !column.getCanResize() || !columnSizing[column.id],
891
+ key: 0,
892
+ onClick: handleResetColumnSize,
893
+ sx: commonMenuItemStyles$1
894
+ }, React.createElement(Box, {
895
+ sx: commonListItemStyles
896
+ }, React.createElement(ListItemIcon, null, React.createElement(RestartAltIcon, null)), localization.resetColumnSize))], enableHiding && [React.createElement(MenuItem, {
879
897
  disabled: column.enableHiding === false,
880
898
  key: 0,
881
899
  onClick: handleHideColumn,
@@ -1615,7 +1633,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1615
1633
  _tableInstance$option = tableInstance.options,
1616
1634
  enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1617
1635
  enablePagination = _tableInstance$option.enablePagination,
1618
- hideToolbarInternalActions = _tableInstance$option.hideToolbarInternalActions,
1636
+ enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1619
1637
  idPrefix = _tableInstance$option.idPrefix,
1620
1638
  muiTableToolbarTopProps = _tableInstance$option.muiTableToolbarTopProps,
1621
1639
  positionPagination = _tableInstance$option.positionPagination,
@@ -1660,7 +1678,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1660
1678
  }
1661
1679
  }, enableGlobalFilter && React.createElement(MRT_SearchTextField, {
1662
1680
  tableInstance: tableInstance
1663
- }), !hideToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1681
+ }), enableToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1664
1682
  tableInstance: tableInstance
1665
1683
  }))), React.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1666
1684
  tableInstance: tableInstance
@@ -1673,7 +1691,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1673
1691
  var tableInstance = _ref.tableInstance;
1674
1692
  var getState = tableInstance.getState,
1675
1693
  _tableInstance$option = tableInstance.options,
1676
- hideToolbarInternalActions = _tableInstance$option.hideToolbarInternalActions,
1694
+ enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1677
1695
  idPrefix = _tableInstance$option.idPrefix,
1678
1696
  enablePagination = _tableInstance$option.enablePagination,
1679
1697
  muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
@@ -1708,7 +1726,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1708
1726
  justifyContent: 'space-between',
1709
1727
  width: '100%'
1710
1728
  }
1711
- }, !hideToolbarInternalActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, {
1729
+ }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, {
1712
1730
  tableInstance: tableInstance
1713
1731
  }) : React.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
1714
1732
  tableInstance: tableInstance
@@ -2012,16 +2030,18 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2012
2030
  return _extends({
2013
2031
  backgroundColor: theme.palette.background["default"],
2014
2032
  backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2015
- boxShadow: "3px 0 6px " + alpha(theme.palette.common.black, 0.1),
2016
2033
  fontWeight: 'bold',
2017
2034
  height: '100%',
2018
- minWidth: "max(" + header.getWidth() + ", 100px)",
2035
+ maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2036
+ minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2019
2037
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2020
2038
  pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2021
2039
  pb: column.columnDefType === 'display' ? 0 : undefined,
2040
+ overflow: 'visible',
2022
2041
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2023
2042
  verticalAlign: 'text-top',
2024
- width: header.getWidth()
2043
+ width: header.getWidth(),
2044
+ zIndex: column.getIsResizing() ? 2 : 1
2025
2045
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2026
2046
  }
2027
2047
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React.createElement(Box, {
@@ -2040,9 +2060,9 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2040
2060
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2041
2061
  display: 'flex',
2042
2062
  flexWrap: 'nowrap',
2043
- whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal'
2063
+ whiteSpace: column.header.length < 24 ? 'nowrap' : 'normal'
2044
2064
  }
2045
- }, headerElement, column.columnDefType !== 'group' && column.getCanSort() && React.createElement(Tooltip, {
2065
+ }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(Tooltip, {
2046
2066
  arrow: true,
2047
2067
  placement: "top",
2048
2068
  title: sortTooltip
@@ -2050,7 +2070,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2050
2070
  "aria-label": sortTooltip,
2051
2071
  active: !!column.getIsSorted(),
2052
2072
  direction: column.getIsSorted() ? column.getIsSorted() : undefined
2053
- })), column.columnDefType !== 'group' && enableColumnFilters && !!column.getCanColumnFilter() && React.createElement(Tooltip, {
2073
+ })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanColumnFilter() && React.createElement(Tooltip, {
2054
2074
  arrow: true,
2055
2075
  placement: "top",
2056
2076
  title: filterTooltip
@@ -2071,16 +2091,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2071
2091
  opacity: 0.8
2072
2092
  }
2073
2093
  }
2074
- }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), React.createElement(Box, {
2075
- sx: {
2076
- alignItems: 'center',
2077
- display: 'flex',
2078
- flexWrap: 'nowrap'
2079
- }
2080
- }, (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
2094
+ }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
2081
2095
  header: header,
2082
2096
  tableInstance: tableInstance
2083
- }), enableColumnResizing && column.columnDefType !== 'group' && React.createElement(Divider, Object.assign({
2097
+ }), column.getCanResize() && React.createElement(Divider, Object.assign({
2084
2098
  flexItem: true,
2085
2099
  orientation: "vertical",
2086
2100
  onDoubleClick: function onDoubleClick() {
@@ -2088,14 +2102,19 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2088
2102
  },
2089
2103
  sx: function sx(theme) {
2090
2104
  return {
2091
- borderRightWidth: '2px',
2092
2105
  borderRadius: '2px',
2093
- maxHeight: '2rem',
2106
+ borderRightWidth: '2px',
2094
2107
  cursor: 'col-resize',
2095
- userSelect: 'none',
2108
+ height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
2109
+ opacity: 0.8,
2110
+ position: 'absolute',
2111
+ right: '1px',
2096
2112
  touchAction: 'none',
2113
+ transition: 'all 0.2s ease-in-out',
2114
+ userSelect: 'none',
2115
+ zIndex: 2000,
2097
2116
  '&:active': {
2098
- backgroundColor: theme.palette.secondary.dark,
2117
+ backgroundColor: theme.palette.info.main,
2099
2118
  opacity: 1
2100
2119
  }
2101
2120
  };
@@ -2106,7 +2125,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2106
2125
  transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : ''
2107
2126
  }
2108
2127
  });
2109
- }))))), column.columnDefType === 'data' && enableColumnFilters && column.getCanColumnFilter() && React.createElement(Collapse, {
2128
+ })))), column.columnDefType === 'data' && column.getCanColumnFilter() && React.createElement(Collapse, {
2110
2129
  "in": showFilters
2111
2130
  }, React.createElement(MRT_FilterTextField, {
2112
2131
  header: header,
@@ -2125,7 +2144,13 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2125
2144
 
2126
2145
  var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2127
2146
 
2128
- return React.createElement(TableRow, Object.assign({}, tableRowProps), headerGroup.headers.map(function (header, index) {
2147
+ return React.createElement(TableRow, Object.assign({}, tableRowProps, {
2148
+ sx: function sx(theme) {
2149
+ return _extends({
2150
+ boxShadow: "4px 0 8px " + alpha(theme.palette.common.black, 0.1)
2151
+ }, tableRowProps == null ? void 0 : tableRowProps.sx);
2152
+ }
2153
+ }), headerGroup.headers.map(function (header, index) {
2129
2154
  return React.createElement(MRT_TableHeadCell, {
2130
2155
  header: header,
2131
2156
  key: header.id || index,
@@ -2165,8 +2190,12 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2165
2190
  tableInstance = _ref.tableInstance;
2166
2191
  var getState = tableInstance.getState,
2167
2192
  _tableInstance$option = tableInstance.options,
2193
+ idPrefix = _tableInstance$option.idPrefix,
2168
2194
  enableEditing = _tableInstance$option.enableEditing,
2169
2195
  muiTableBodyCellEditTextFieldProps = _tableInstance$option.muiTableBodyCellEditTextFieldProps,
2196
+ onCellEditBlur = _tableInstance$option.onCellEditBlur,
2197
+ onCellEditChange = _tableInstance$option.onCellEditChange,
2198
+ setCurrentEditingCell = tableInstance.setCurrentEditingCell,
2170
2199
  setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2171
2200
 
2172
2201
  var _useState = useState(cell.value),
@@ -2183,6 +2212,11 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2183
2212
  cell: cell,
2184
2213
  tableInstance: tableInstance
2185
2214
  });
2215
+ onCellEditChange == null ? void 0 : onCellEditChange({
2216
+ event: event,
2217
+ cell: cell,
2218
+ tableInstance: tableInstance
2219
+ });
2186
2220
  };
2187
2221
 
2188
2222
  var handleBlur = function handleBlur(event) {
@@ -2191,11 +2225,17 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2191
2225
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2192
2226
  }
2193
2227
 
2228
+ setCurrentEditingCell(null);
2194
2229
  column.onCellEditBlur == null ? void 0 : column.onCellEditBlur({
2195
2230
  event: event,
2196
2231
  cell: cell,
2197
2232
  tableInstance: tableInstance
2198
2233
  });
2234
+ onCellEditBlur == null ? void 0 : onCellEditBlur({
2235
+ event: event,
2236
+ cell: cell,
2237
+ tableInstance: tableInstance
2238
+ });
2199
2239
  };
2200
2240
 
2201
2241
  var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps({
@@ -2217,6 +2257,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2217
2257
  }
2218
2258
 
2219
2259
  return React.createElement(TextField, Object.assign({
2260
+ id: "mrt-" + idPrefix + "-edit-cell-text-field-" + cell.id,
2220
2261
  margin: "dense",
2221
2262
  onBlur: handleBlur,
2222
2263
  onChange: handleChange,
@@ -2277,6 +2318,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2277
2318
  backgroundColor: 'transparent',
2278
2319
  border: 'none',
2279
2320
  color: 'inherit',
2321
+ cursor: 'copy',
2280
2322
  fontFamily: 'inherit',
2281
2323
  fontSize: 'inherit',
2282
2324
  letterSpacing: 'inherit',
@@ -2297,15 +2339,19 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2297
2339
  var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2298
2340
  getState = tableInstance.getState,
2299
2341
  _tableInstance$option = tableInstance.options,
2342
+ editingMode = _tableInstance$option.editingMode,
2300
2343
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2301
- enablePinning = _tableInstance$option.enablePinning,
2302
2344
  enableEditing = _tableInstance$option.enableEditing,
2345
+ enablePinning = _tableInstance$option.enablePinning,
2346
+ idPrefix = _tableInstance$option.idPrefix,
2303
2347
  isLoading = _tableInstance$option.isLoading,
2304
2348
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
2305
2349
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
2306
- onCellClick = _tableInstance$option.onCellClick;
2350
+ onCellClick = _tableInstance$option.onCellClick,
2351
+ setCurrentEditingCell = tableInstance.setCurrentEditingCell;
2307
2352
 
2308
2353
  var _getState = getState(),
2354
+ currentEditingCell = _getState.currentEditingCell,
2309
2355
  currentEditingRow = _getState.currentEditingRow,
2310
2356
  isDensePadding = _getState.isDensePadding;
2311
2357
 
@@ -2325,6 +2371,23 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2325
2371
  var skeletonWidth = useMemo(function () {
2326
2372
  return column.columnDefType === 'display' ? column.getWidth() / 2 : Math.random() * (column.getWidth() - column.getWidth() / 3) + column.getWidth() / 3;
2327
2373
  }, [column.columnDefType, column.getWidth()]);
2374
+ var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
2375
+ var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2376
+
2377
+ var handleDoubleClick = function handleDoubleClick(_event) {
2378
+ if ((enableEditing || column.enableEditing) && column.enableEditing !== false && editingMode === 'cell') {
2379
+ setCurrentEditingCell(cell);
2380
+ setTimeout(function () {
2381
+ var textField = document.getElementById("mrt-" + idPrefix + "-edit-cell-text-field-" + cell.id);
2382
+
2383
+ if (textField) {
2384
+ textField.focus();
2385
+ textField.select();
2386
+ }
2387
+ }, 200);
2388
+ }
2389
+ };
2390
+
2328
2391
  return React.createElement(TableCell, Object.assign({
2329
2392
  onClick: function onClick(event) {
2330
2393
  return onCellClick == null ? void 0 : onCellClick({
@@ -2332,13 +2395,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2332
2395
  cell: cell,
2333
2396
  tableInstance: tableInstance
2334
2397
  });
2335
- }
2398
+ },
2399
+ onDoubleClick: handleDoubleClick
2336
2400
  }, tableCellProps, {
2337
2401
  sx: _extends({
2402
+ cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2403
+ maxWidth: "min(" + column.getWidth() + "px, fit-content)",
2404
+ minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2338
2405
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2339
2406
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2340
2407
  transition: 'all 0.2s ease-in-out',
2341
- whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal'
2408
+ whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal',
2409
+ width: column.getWidth()
2342
2410
  }, tableCellProps == null ? void 0 : tableCellProps.sx)
2343
2411
  }), isLoading ? React.createElement(Skeleton, Object.assign({
2344
2412
  animation: "wave",
@@ -2347,7 +2415,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2347
2415
  }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
2348
2416
  cell: cell,
2349
2417
  tableInstance: tableInstance
2350
- }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : enableEditing && column.enableEditing !== false && (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id ? React.createElement(MRT_EditCellTextField, {
2418
+ }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React.createElement(MRT_EditCellTextField, {
2351
2419
  cell: cell,
2352
2420
  tableInstance: tableInstance
2353
2421
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React.createElement(React.Fragment, null, React.createElement(MRT_CopyButton, {
@@ -2514,8 +2582,11 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2514
2582
  backgroundColor: theme.palette.background["default"],
2515
2583
  backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2516
2584
  fontWeight: 'bold',
2585
+ maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2586
+ minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2517
2587
  p: isDensePadding ? '0.5rem' : '1rem',
2518
2588
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
2589
+ width: column.getWidth(),
2519
2590
  verticalAlign: 'text-top'
2520
2591
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2521
2592
  }
@@ -2582,10 +2653,10 @@ var MRT_Table = function MRT_Table(_ref) {
2582
2653
  tableInstance = _ref.tableInstance;
2583
2654
  var getTableProps = tableInstance.getTableProps,
2584
2655
  _tableInstance$option = tableInstance.options,
2585
- enableStickyHeader = _tableInstance$option.enableStickyHeader,
2586
- hideTableFooter = _tableInstance$option.hideTableFooter,
2587
- hideTableHead = _tableInstance$option.hideTableHead,
2588
- muiTableProps = _tableInstance$option.muiTableProps;
2656
+ muiTableProps = _tableInstance$option.muiTableProps,
2657
+ enableTableHead = _tableInstance$option.enableTableHead,
2658
+ enableTableFooter = _tableInstance$option.enableTableFooter,
2659
+ enableStickyHeader = _tableInstance$option.enableStickyHeader;
2589
2660
  var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2590
2661
  tableInstance: tableInstance
2591
2662
  }) : muiTableProps;
@@ -2594,13 +2665,13 @@ var MRT_Table = function MRT_Table(_ref) {
2594
2665
 
2595
2666
  return React.createElement(Table, Object.assign({
2596
2667
  stickyHeader: enableStickyHeader
2597
- }, tableProps), !hideTableHead && React.createElement(MRT_TableHead, {
2668
+ }, tableProps), enableTableHead && React.createElement(MRT_TableHead, {
2598
2669
  pinned: pinned,
2599
2670
  tableInstance: tableInstance
2600
2671
  }), React.createElement(MRT_TableBody, {
2601
2672
  pinned: pinned,
2602
2673
  tableInstance: tableInstance
2603
- }), !hideTableFooter && React.createElement(MRT_TableFooter, {
2674
+ }), enableTableFooter && React.createElement(MRT_TableFooter, {
2604
2675
  pinned: pinned,
2605
2676
  tableInstance: tableInstance
2606
2677
  }));
@@ -2613,7 +2684,7 @@ var commonBoxStyles = function commonBoxStyles(_ref) {
2613
2684
  return {
2614
2685
  display: 'grid',
2615
2686
  minWidth: visible ? '200px' : 0,
2616
- overflowX: 'auto',
2687
+ overflowX: pinned ? 'scroll' : 'auto',
2617
2688
  boxShadow: pinned === 'left' ? "0 1px 12px " + alpha(theme.palette.common.black, 0.5) : pinned === 'right' ? "0 -1px 12px " + alpha(theme.palette.common.black, 0.5) : 'none'
2618
2689
  };
2619
2690
  };
@@ -2708,8 +2779,8 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2708
2779
  var tableInstance = _ref.tableInstance;
2709
2780
  var getState = tableInstance.getState,
2710
2781
  _tableInstance$option = tableInstance.options,
2711
- hideToolbarBottom = _tableInstance$option.hideToolbarBottom,
2712
- hideToolbarTop = _tableInstance$option.hideToolbarTop,
2782
+ enableToolbarBottom = _tableInstance$option.enableToolbarBottom,
2783
+ enableToolbarTop = _tableInstance$option.enableToolbarTop,
2713
2784
  muiTablePaperProps = _tableInstance$option.muiTablePaperProps;
2714
2785
 
2715
2786
  var _getState = getState(),
@@ -2719,8 +2790,10 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2719
2790
  if (typeof window !== 'undefined') {
2720
2791
  if (isFullScreen) {
2721
2792
  document.body.style.overflow = 'hidden';
2793
+ document.body.style.height = '100vh';
2722
2794
  } else {
2723
2795
  document.body.style.overflow = 'auto';
2796
+ document.body.style.height = 'auto';
2724
2797
  }
2725
2798
  }
2726
2799
  }, [isFullScreen]);
@@ -2734,24 +2807,18 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2734
2807
  transition: 'all 0.2s ease-in-out'
2735
2808
  }, tablePaperProps == null ? void 0 : tablePaperProps.sx),
2736
2809
  style: {
2737
- height: isFullScreen ? '100%' : undefined,
2738
- left: isFullScreen ? '0' : undefined,
2810
+ height: isFullScreen ? '100vh' : undefined,
2739
2811
  margin: isFullScreen ? '0' : undefined,
2740
- maxHeight: isFullScreen ? '100%' : undefined,
2741
- maxWidth: isFullScreen ? '100%' : undefined,
2742
- overflowY: !isFullScreen ? 'hidden' : undefined,
2743
- position: isFullScreen ? 'fixed' : undefined,
2744
- right: isFullScreen ? '0' : undefined,
2745
- top: isFullScreen ? '0' : undefined,
2746
- width: isFullScreen ? '100vw' : undefined,
2747
- zIndex: isFullScreen ? 1200 : 1,
2748
- bottom: isFullScreen ? '0' : undefined
2812
+ maxHeight: isFullScreen ? '100vh' : undefined,
2813
+ maxWidth: isFullScreen ? '100vw' : undefined,
2814
+ padding: isFullScreen ? '0' : undefined,
2815
+ width: isFullScreen ? '100vw' : undefined
2749
2816
  }
2750
- }), !hideToolbarTop && React.createElement(MRT_ToolbarTop, {
2817
+ }), enableToolbarTop && React.createElement(MRT_ToolbarTop, {
2751
2818
  tableInstance: tableInstance
2752
2819
  }), React.createElement(MRT_TableContainer, {
2753
2820
  tableInstance: tableInstance
2754
- }), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, {
2821
+ }), enableToolbarBottom && React.createElement(MRT_ToolbarBottom, {
2755
2822
  tableInstance: tableInstance
2756
2823
  }));
2757
2824
  };
@@ -2796,7 +2863,7 @@ var createGroup = function createGroup(table, column, currentFilterTypes) {
2796
2863
  var createDataColumn = function createDataColumn(table, column, currentFilterTypes) {
2797
2864
  return (// @ts-ignore
2798
2865
  table.createDataColumn(column.id, _extends({
2799
- filterType: currentFilterTypes[column.id] || MRT_FILTER_TYPE.BEST_MATCH
2866
+ filterFn: currentFilterTypes[column.id] instanceof Function ? currentFilterTypes[column.id] : defaultFilterFNs[currentFilterTypes[column.id]]
2800
2867
  }, column))
2801
2868
  );
2802
2869
  };
@@ -2805,57 +2872,65 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
2805
2872
  };
2806
2873
 
2807
2874
  var MRT_TableRoot = function MRT_TableRoot(props) {
2808
- var _props$initialState$i, _props$initialState, _props$initialState$i2, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4, _props$initialState$p, _props$initialState5, _props$initialState5$, _props$initialState$p2, _props$initialState6, _props$initialState6$, _props$initialState$p3, _props$initialState7, _props$initialState7$, _props$globalFilterTy, _props$getSubRows;
2875
+ var _props$initialState$c, _props$initialState, _props$initialState$c2, _props$initialState2, _props$initialState$i, _props$initialState3, _props$initialState$i2, _props$initialState4, _props$initialState$s, _props$initialState5, _props$initialState$s2, _props$initialState6, _props$initialState$p, _props$initialState7, _props$initialState7$, _props$initialState$p2, _props$initialState8, _props$initialState8$, _props$initialState$p3, _props$initialState9, _props$initialState9$, _props$globalFilterTy;
2809
2876
 
2810
- var idPrefix = useMemo(function () {
2877
+ var _useState = useState(props.idPrefix),
2878
+ idPrefix = _useState[0],
2879
+ setIdPrefix = _useState[1];
2880
+
2881
+ useEffect(function () {
2811
2882
  var _props$idPrefix;
2812
2883
 
2813
- return (_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9);
2884
+ return setIdPrefix((_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9));
2814
2885
  }, [props.idPrefix]);
2815
2886
 
2816
- var _useState = useState(null),
2817
- currentEditingRow = _useState[0],
2818
- setCurrentEditingRow = _useState[1];
2887
+ var _useState2 = useState((_props$initialState$c = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.currentEditingCell) != null ? _props$initialState$c : null),
2888
+ currentEditingCell = _useState2[0],
2889
+ setCurrentEditingCell = _useState2[1];
2819
2890
 
2820
- var _useState2 = useState((_props$initialState$i = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.isDensePadding) != null ? _props$initialState$i : false),
2821
- isDensePadding = _useState2[0],
2822
- setIsDensePadding = _useState2[1];
2891
+ var _useState3 = useState((_props$initialState$c2 = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.currentEditingRow) != null ? _props$initialState$c2 : null),
2892
+ currentEditingRow = _useState3[0],
2893
+ setCurrentEditingRow = _useState3[1];
2823
2894
 
2824
- var _useState3 = useState((_props$initialState$i2 = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.isFullScreen) != null ? _props$initialState$i2 : false),
2825
- isFullScreen = _useState3[0],
2826
- setIsFullScreen = _useState3[1];
2895
+ var _useState4 = useState((_props$initialState$i = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.isDensePadding) != null ? _props$initialState$i : false),
2896
+ isDensePadding = _useState4[0],
2897
+ setIsDensePadding = _useState4[1];
2827
2898
 
2828
- var _useState4 = useState((_props$initialState$s = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.showFilters) != null ? _props$initialState$s : false),
2829
- showFilters = _useState4[0],
2830
- setShowFilters = _useState4[1];
2899
+ var _useState5 = useState((_props$initialState$i2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.isFullScreen) != null ? _props$initialState$i2 : false),
2900
+ isFullScreen = _useState5[0],
2901
+ setIsFullScreen = _useState5[1];
2831
2902
 
2832
- var _useState5 = useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showGlobalFilter) != null ? _props$initialState$s2 : false),
2833
- showGlobalFilter = _useState5[0],
2834
- setShowGlobalFilter = _useState5[1];
2903
+ var _useState6 = useState((_props$initialState$s = (_props$initialState5 = props.initialState) == null ? void 0 : _props$initialState5.showFilters) != null ? _props$initialState$s : false),
2904
+ showFilters = _useState6[0],
2905
+ setShowFilters = _useState6[1];
2835
2906
 
2836
- var _useState6 = useState({
2837
- pageIndex: (_props$initialState$p = (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.pagination) == null ? void 0 : _props$initialState5$.pageIndex) != null ? _props$initialState$p : 0,
2838
- pageSize: (_props$initialState$p2 = (_props$initialState6 = props.initialState) == null ? void 0 : (_props$initialState6$ = _props$initialState6.pagination) == null ? void 0 : _props$initialState6$.pageSize) != null ? _props$initialState$p2 : 10,
2839
- pageCount: (_props$initialState$p3 = (_props$initialState7 = props.initialState) == null ? void 0 : (_props$initialState7$ = _props$initialState7.pagination) == null ? void 0 : _props$initialState7$.pageCount) != null ? _props$initialState$p3 : -1
2907
+ var _useState7 = useState((_props$initialState$s2 = (_props$initialState6 = props.initialState) == null ? void 0 : _props$initialState6.showGlobalFilter) != null ? _props$initialState$s2 : false),
2908
+ showGlobalFilter = _useState7[0],
2909
+ setShowGlobalFilter = _useState7[1];
2910
+
2911
+ var _useState8 = useState({
2912
+ pageIndex: (_props$initialState$p = (_props$initialState7 = props.initialState) == null ? void 0 : (_props$initialState7$ = _props$initialState7.pagination) == null ? void 0 : _props$initialState7$.pageIndex) != null ? _props$initialState$p : 0,
2913
+ pageSize: (_props$initialState$p2 = (_props$initialState8 = props.initialState) == null ? void 0 : (_props$initialState8$ = _props$initialState8.pagination) == null ? void 0 : _props$initialState8$.pageSize) != null ? _props$initialState$p2 : 10,
2914
+ pageCount: (_props$initialState$p3 = (_props$initialState9 = props.initialState) == null ? void 0 : (_props$initialState9$ = _props$initialState9.pagination) == null ? void 0 : _props$initialState9$.pageCount) != null ? _props$initialState$p3 : -1
2840
2915
  }),
2841
- pagination = _useState6[0],
2842
- setPagination = _useState6[1];
2916
+ pagination = _useState8[0],
2917
+ setPagination = _useState8[1];
2843
2918
 
2844
- var _useState7 = useState(function () {
2919
+ var _useState9 = useState(function () {
2845
2920
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
2846
- var _ref, _c$filter, _props$initialState8, _props$initialState8$, _c$filterSelectOption, _ref2;
2921
+ var _ref, _c$filter, _props$initialState10, _props$initialState11, _c$filterSelectOption, _ref2;
2847
2922
 
2848
- return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState8 = props.initialState) == null ? void 0 : (_props$initialState8$ = _props$initialState8.columnFilters) == null ? void 0 : _props$initialState8$.find(function (cf) {
2923
+ return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState10 = props.initialState) == null ? void 0 : (_props$initialState11 = _props$initialState10.columnFilters) == null ? void 0 : _props$initialState11.find(function (cf) {
2849
2924
  return cf.id === c.id;
2850
2925
  })) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_TYPE.EQUALS : MRT_FILTER_TYPE.BEST_MATCH, _ref2;
2851
2926
  })));
2852
2927
  }),
2853
- currentFilterTypes = _useState7[0],
2854
- setCurrentFilterTypes = _useState7[1];
2928
+ currentFilterTypes = _useState9[0],
2929
+ setCurrentFilterTypes = _useState9[1];
2855
2930
 
2856
- var _useState8 = useState((_props$globalFilterTy = props.globalFilterType) != null ? _props$globalFilterTy : MRT_FILTER_TYPE.BEST_MATCH_FIRST),
2857
- currentGlobalFilterType = _useState8[0],
2858
- setCurrentGlobalFilterType = _useState8[1];
2931
+ var _useState10 = useState((_props$globalFilterTy = props.globalFilterType) != null ? _props$globalFilterTy : MRT_FILTER_TYPE.BEST_MATCH_FIRST),
2932
+ currentGlobalFilterType = _useState10[0],
2933
+ setCurrentGlobalFilterType = _useState10[1];
2859
2934
 
2860
2935
  var table = useMemo(function () {
2861
2936
  return createTable();
@@ -2863,7 +2938,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2863
2938
  var displayColumns = useMemo(function () {
2864
2939
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
2865
2940
 
2866
- return [(props.enableRowActions || props.enableEditing) && createDisplayColumn(table, {
2941
+ return [(props.enableRowActions || props.enableEditing && props.editingMode === 'row') && createDisplayColumn(table, {
2867
2942
  Cell: function Cell(_ref3) {
2868
2943
  var cell = _ref3.cell;
2869
2944
  return React.createElement(MRT_ToggleRowActionMenuButton, {
@@ -2926,7 +3001,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2926
3001
  width: 40,
2927
3002
  minWidth: 40
2928
3003
  })].filter(Boolean);
2929
- }, [props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3004
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
2930
3005
  var columns = useMemo(function () {
2931
3006
  return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
2932
3007
  return column.columns ? createGroup(table, column, currentFilterTypes) : createDataColumn(table, column, currentFilterTypes);
@@ -2942,9 +3017,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2942
3017
  }) : props.data;
2943
3018
  }, [props.data, props.isLoading]); //@ts-ignore
2944
3019
 
2945
- var tableInstance = _extends({}, useTableInstance(table, _extends({}, props, {
2946
- columns: columns,
2947
- data: data,
3020
+ var tableInstance = _extends({}, useTableInstance(table, _extends({
2948
3021
  //@ts-ignore
2949
3022
  filterTypes: defaultFilterFNs,
2950
3023
  getColumnFilteredRowModel: getColumnFilteredRowModelSync(),
@@ -2954,19 +3027,21 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2954
3027
  getGroupedRowModel: getGroupedRowModelSync(),
2955
3028
  getPaginationRowModel: getPaginationRowModel(),
2956
3029
  getSortedRowModel: getSortedRowModelSync(),
2957
- getSubRows: (_props$getSubRows = props.getSubRows) != null ? _props$getSubRows : function (originalRow) {
3030
+ getSubRows: function getSubRows(originalRow) {
2958
3031
  return originalRow.subRows;
2959
3032
  },
2960
3033
  globalFilterType: currentGlobalFilterType,
2961
3034
  idPrefix: idPrefix,
2962
- //@ts-ignore
2963
- initialState: props.initialState,
2964
3035
  onPaginationChange: function onPaginationChange(updater) {
2965
3036
  return setPagination(function (old) {
2966
3037
  return functionalUpdate(updater, old);
2967
3038
  });
2968
- },
3039
+ }
3040
+ }, props, {
3041
+ columns: columns,
3042
+ data: data,
2969
3043
  state: _extends({
3044
+ currentEditingCell: currentEditingCell,
2970
3045
  currentEditingRow: currentEditingRow,
2971
3046
  currentFilterTypes: currentFilterTypes,
2972
3047
  currentGlobalFilterType: currentGlobalFilterType,
@@ -2978,6 +3053,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2978
3053
  showGlobalFilter: showGlobalFilter
2979
3054
  }, props.state)
2980
3055
  })), {
3056
+ //@ts-ignore
3057
+ setCurrentEditingCell: setCurrentEditingCell,
3058
+ //@ts-ignore
2981
3059
  setCurrentEditingRow: setCurrentEditingRow,
2982
3060
  setCurrentFilterTypes: setCurrentFilterTypes,
2983
3061
  setCurrentGlobalFilterType: setCurrentGlobalFilterType,
@@ -2987,19 +3065,38 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2987
3065
  setShowGlobalFilter: setShowGlobalFilter
2988
3066
  });
2989
3067
 
2990
- return React.createElement(MRT_TablePaper, {
3068
+ return React.createElement(React.Fragment, null, React.createElement(Dialog, {
3069
+ TransitionComponent: Grow,
3070
+ PaperComponent: Box,
3071
+ disablePortal: true,
3072
+ fullScreen: true,
3073
+ keepMounted: false,
3074
+ onClose: function onClose() {
3075
+ return tableInstance.setIsFullScreen(false);
3076
+ },
3077
+ open: tableInstance.getState().isFullScreen,
3078
+ transitionDuration: 400
3079
+ }, React.createElement(MRT_TablePaper, {
2991
3080
  tableInstance: tableInstance
2992
- });
3081
+ })), !tableInstance.getState().isFullScreen && React.createElement(MRT_TablePaper, {
3082
+ tableInstance: tableInstance
3083
+ }));
2993
3084
  };
2994
3085
 
2995
- var _excluded$5 = ["autoResetExpanded", "enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3086
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2996
3087
  var MaterialReactTable = (function (_ref) {
2997
3088
  var _ref$autoResetExpande = _ref.autoResetExpanded,
2998
3089
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3090
+ _ref$columnResizeMode = _ref.columnResizeMode,
3091
+ columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3092
+ _ref$editingMode = _ref.editingMode,
3093
+ editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
2999
3094
  _ref$enableColumnActi = _ref.enableColumnActions,
3000
3095
  enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
3001
3096
  _ref$enableColumnFilt = _ref.enableColumnFilters,
3002
3097
  enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
3098
+ _ref$enableColumnResi = _ref.enableColumnResizing,
3099
+ enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
3003
3100
  _ref$enableDensePaddi = _ref.enableDensePaddingToggle,
3004
3101
  enableDensePaddingToggle = _ref$enableDensePaddi === void 0 ? true : _ref$enableDensePaddi,
3005
3102
  _ref$enableExpandAll = _ref.enableExpandAll,
@@ -3022,6 +3119,16 @@ var MaterialReactTable = (function (_ref) {
3022
3119
  enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
3023
3120
  _ref$enableStickyHead = _ref.enableStickyHeader,
3024
3121
  enableStickyHeader = _ref$enableStickyHead === void 0 ? true : _ref$enableStickyHead,
3122
+ _ref$enableTableFoote = _ref.enableTableFooter,
3123
+ enableTableFooter = _ref$enableTableFoote === void 0 ? true : _ref$enableTableFoote,
3124
+ _ref$enableTableHead = _ref.enableTableHead,
3125
+ enableTableHead = _ref$enableTableHead === void 0 ? true : _ref$enableTableHead,
3126
+ _ref$enableToolbarBot = _ref.enableToolbarBottom,
3127
+ enableToolbarBottom = _ref$enableToolbarBot === void 0 ? true : _ref$enableToolbarBot,
3128
+ _ref$enableToolbarInt = _ref.enableToolbarInternalActions,
3129
+ enableToolbarInternalActions = _ref$enableToolbarInt === void 0 ? true : _ref$enableToolbarInt,
3130
+ _ref$enableToolbarTop = _ref.enableToolbarTop,
3131
+ enableToolbarTop = _ref$enableToolbarTop === void 0 ? true : _ref$enableToolbarTop,
3025
3132
  icons = _ref.icons,
3026
3133
  localization = _ref.localization,
3027
3134
  _ref$positionActionsC = _ref.positionActionsColumn,
@@ -3036,7 +3143,10 @@ var MaterialReactTable = (function (_ref) {
3036
3143
 
3037
3144
  return React.createElement(MRT_TableRoot, Object.assign({
3038
3145
  autoResetExpanded: autoResetExpanded,
3146
+ columnResizeMode: columnResizeMode,
3147
+ editingMode: editingMode,
3039
3148
  enableColumnActions: enableColumnActions,
3149
+ enableColumnResizing: enableColumnResizing,
3040
3150
  enableColumnFilters: enableColumnFilters,
3041
3151
  enableDensePaddingToggle: enableDensePaddingToggle,
3042
3152
  enableExpandAll: enableExpandAll,
@@ -3049,6 +3159,11 @@ var MaterialReactTable = (function (_ref) {
3049
3159
  enableSelectAll: enableSelectAll,
3050
3160
  enableSorting: enableSorting,
3051
3161
  enableStickyHeader: enableStickyHeader,
3162
+ enableTableFooter: enableTableFooter,
3163
+ enableTableHead: enableTableHead,
3164
+ enableToolbarBottom: enableToolbarBottom,
3165
+ enableToolbarInternalActions: enableToolbarInternalActions,
3166
+ enableToolbarTop: enableToolbarTop,
3052
3167
  icons: _extends({}, MRT_Default_Icons, icons),
3053
3168
  localization: _extends({}, MRT_DefaultLocalization_EN, localization),
3054
3169
  positionActionsColumn: positionActionsColumn,