material-react-table 0.12.1 → 0.13.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.
@@ -1,5 +1,5 @@
1
1
  import React, { useMemo, forwardRef, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
2
- import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityMedium, DensitySmall, KeyboardDoubleArrowDown, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
2
+ import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityLarge, DensityMedium, DensitySmall, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, KeyboardDoubleArrowDown, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
3
3
  import { createTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, useTableInstance } from '@tanstack/react-table';
4
4
  import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
5
5
  import { rankItem, rankings } from '@tanstack/match-sorter-utils';
@@ -101,7 +101,7 @@ var MRT_DefaultLocalization_EN = {
101
101
  sortedByColumnDesc: 'Sorted by {column} descending',
102
102
  thenBy: ', then by ',
103
103
  to: 'to',
104
- toggleDensePadding: 'Toggle dense padding',
104
+ toggleDensity: 'Toggle density',
105
105
  toggleFullScreen: 'Toggle full screen',
106
106
  toggleSelectAll: 'Toggle select all',
107
107
  toggleSelectRow: 'Toggle select row',
@@ -117,9 +117,9 @@ var MRT_Default_Icons = {
117
117
  CheckBoxIcon: CheckBox,
118
118
  ClearAllIcon: ClearAll,
119
119
  CloseIcon: Close,
120
+ DensityLargeIcon: DensityLarge,
120
121
  DensityMediumIcon: DensityMedium,
121
122
  DensitySmallIcon: DensitySmall,
122
- KeyboardDoubleArrowDownIcon: KeyboardDoubleArrowDown,
123
123
  DragHandleIcon: DragHandle,
124
124
  DynamicFeedIcon: DynamicFeed,
125
125
  EditIcon: Edit,
@@ -131,6 +131,7 @@ var MRT_Default_Icons = {
131
131
  FilterListOffIcon: FilterListOff,
132
132
  FullscreenExitIcon: FullscreenExit,
133
133
  FullscreenIcon: Fullscreen,
134
+ KeyboardDoubleArrowDownIcon: KeyboardDoubleArrowDown,
134
135
  MoreHorizIcon: MoreHoriz,
135
136
  MoreVertIcon: MoreVert,
136
137
  PushPinIcon: PushPin,
@@ -156,7 +157,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
156
157
  toggleAllRowsExpanded = instance.toggleAllRowsExpanded;
157
158
 
158
159
  var _getState = getState(),
159
- isDensePadding = _getState.isDensePadding;
160
+ density = _getState.density;
160
161
 
161
162
  return React.createElement(Tooltip, {
162
163
  arrow: true,
@@ -170,8 +171,8 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
170
171
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
171
172
  },
172
173
  sx: {
173
- height: isDensePadding ? '1.75rem' : '2.25rem',
174
- width: isDensePadding ? '1.75rem' : '2.25rem'
174
+ height: density === 'compact' ? '1.75rem' : '2.25rem',
175
+ width: density === 'compact' ? '1.75rem' : '2.25rem'
175
176
  }
176
177
  }, React.createElement(KeyboardDoubleArrowDownIcon, {
177
178
  style: {
@@ -192,7 +193,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
192
193
  renderDetailPanel = _instance$options.renderDetailPanel;
193
194
 
194
195
  var _getState = getState(),
195
- isDensePadding = _getState.isDensePadding;
196
+ density = _getState.density;
196
197
 
197
198
  var handleToggleExpand = function handleToggleExpand(event) {
198
199
  row.toggleExpanded();
@@ -213,8 +214,8 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
213
214
  disabled: !row.getCanExpand() && !renderDetailPanel,
214
215
  onClick: handleToggleExpand,
215
216
  sx: {
216
- height: isDensePadding ? '1.75rem' : '2.25rem',
217
- width: isDensePadding ? '1.75rem' : '2.25rem'
217
+ height: density === 'compact' ? '1.75rem' : '2.25rem',
218
+ width: density === 'compact' ? '1.75rem' : '2.25rem'
218
219
  }
219
220
  }, React.createElement(ExpandMoreIcon, {
220
221
  style: {
@@ -352,7 +353,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
352
353
  setCurrentGlobalFilterFn = instance.setCurrentGlobalFilterFn;
353
354
 
354
355
  var _getState = getState(),
355
- isDensePadding = _getState.isDensePadding,
356
+ density = _getState.density,
356
357
  currentFilterFns = _getState.currentFilterFns,
357
358
  currentGlobalFilterFn = _getState.currentGlobalFilterFn;
358
359
 
@@ -459,7 +460,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
459
460
  },
460
461
  open: !!anchorEl,
461
462
  MenuListProps: {
462
- dense: isDensePadding
463
+ dense: density === 'compact'
463
464
  }
464
465
  }, filterOptions.map(function (_ref4, index) {
465
466
  var option = _ref4.option,
@@ -755,7 +756,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
755
756
  enableColumnOrdering = _instance$options.enableColumnOrdering;
756
757
 
757
758
  var _getState = getState(),
758
- isDensePadding = _getState.isDensePadding,
759
+ density = _getState.density,
759
760
  columnOrder = _getState.columnOrder,
760
761
  columnPinning = _getState.columnPinning;
761
762
 
@@ -789,7 +790,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
789
790
  return setAnchorEl(null);
790
791
  },
791
792
  MenuListProps: {
792
- dense: isDensePadding
793
+ dense: density === 'compact'
793
794
  }
794
795
  }, React.createElement(Box, {
795
796
  sx: {
@@ -873,7 +874,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
873
874
  var _getState = getState(),
874
875
  columnSizing = _getState.columnSizing,
875
876
  columnVisibility = _getState.columnVisibility,
876
- isDensePadding = _getState.isDensePadding;
877
+ density = _getState.density;
877
878
 
878
879
  var _useState = useState(null),
879
880
  filterMenuAnchorEl = _useState[0],
@@ -959,7 +960,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
959
960
  return setAnchorEl(null);
960
961
  },
961
962
  MenuListProps: {
962
- dense: isDensePadding
963
+ dense: density === 'compact'
963
964
  }
964
965
  }, enableSorting && column.getCanSort() && [React.createElement(MenuItem, {
965
966
  disabled: !column.getIsSorted(),
@@ -1111,7 +1112,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1111
1112
  renderRowActionMenuItems = _instance$options.renderRowActionMenuItems;
1112
1113
 
1113
1114
  var _getState = getState(),
1114
- isDensePadding = _getState.isDensePadding;
1115
+ density = _getState.density;
1115
1116
 
1116
1117
  return React.createElement(Menu, {
1117
1118
  anchorEl: anchorEl,
@@ -1120,7 +1121,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1120
1121
  return setAnchorEl(null);
1121
1122
  },
1122
1123
  MenuListProps: {
1123
- dense: isDensePadding
1124
+ dense: density === 'compact'
1124
1125
  }
1125
1126
  }, enableEditing && React.createElement(MenuItem, {
1126
1127
  onClick: handleEdit,
@@ -1276,7 +1277,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1276
1277
  selectAllMode = _instance$options.selectAllMode;
1277
1278
 
1278
1279
  var _getState = getState(),
1279
- isDensePadding = _getState.isDensePadding;
1280
+ density = _getState.density;
1280
1281
 
1281
1282
  var handleSelectChange = function handleSelectChange(event) {
1282
1283
  if (selectAll) {
@@ -1321,11 +1322,11 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1321
1322
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1322
1323
  },
1323
1324
  onChange: handleSelectChange,
1324
- size: isDensePadding ? 'small' : 'medium'
1325
+ size: density === 'compact' ? 'small' : 'medium'
1325
1326
  }, checkboxProps, {
1326
1327
  sx: _extends({
1327
- height: isDensePadding ? '1.75rem' : '2.25rem',
1328
- width: isDensePadding ? '1.75rem' : '2.25rem'
1328
+ height: density === 'compact' ? '1.75rem' : '2.25rem',
1329
+ width: density === 'compact' ? '1.75rem' : '2.25rem'
1329
1330
  }, checkboxProps == null ? void 0 : checkboxProps.sx)
1330
1331
  })));
1331
1332
  };
@@ -1403,31 +1404,33 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
1403
1404
  var getState = instance.getState,
1404
1405
  _instance$options = instance.options,
1405
1406
  _instance$options$ico = _instance$options.icons,
1407
+ DensityLargeIcon = _instance$options$ico.DensityLargeIcon,
1406
1408
  DensityMediumIcon = _instance$options$ico.DensityMediumIcon,
1407
1409
  DensitySmallIcon = _instance$options$ico.DensitySmallIcon,
1408
1410
  localization = _instance$options.localization,
1409
- onIsDensePaddingChanged = _instance$options.onIsDensePaddingChanged,
1410
- setIsDensePadding = instance.setIsDensePadding;
1411
+ onDensityChanged = _instance$options.onDensityChanged,
1412
+ setDensity = instance.setDensity;
1411
1413
 
1412
1414
  var _getState = getState(),
1413
- isDensePadding = _getState.isDensePadding;
1415
+ density = _getState.density;
1414
1416
 
1415
1417
  var handleToggleDensePadding = function handleToggleDensePadding(event) {
1416
- onIsDensePaddingChanged == null ? void 0 : onIsDensePaddingChanged({
1418
+ var nextDensity = density === 'comfortable' ? 'compact' : density === 'compact' ? 'spacious' : 'comfortable';
1419
+ onDensityChanged == null ? void 0 : onDensityChanged({
1417
1420
  event: event,
1418
- isDensePadding: !isDensePadding,
1421
+ density: nextDensity,
1419
1422
  instance: instance
1420
1423
  });
1421
- setIsDensePadding(!isDensePadding);
1424
+ setDensity(nextDensity);
1422
1425
  };
1423
1426
 
1424
1427
  return React.createElement(Tooltip, {
1425
1428
  arrow: true,
1426
- title: localization.toggleDensePadding
1429
+ title: localization.toggleDensity
1427
1430
  }, React.createElement(IconButton, Object.assign({
1428
- "aria-label": localization.toggleDensePadding,
1431
+ "aria-label": localization.toggleDensity,
1429
1432
  onClick: handleToggleDensePadding
1430
- }, rest), isDensePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
1433
+ }, rest), density === 'compact' ? React.createElement(DensitySmallIcon, null) : density === 'comfortable' ? React.createElement(DensityMediumIcon, null) : React.createElement(DensityLargeIcon, null)));
1431
1434
  };
1432
1435
 
1433
1436
  var _excluded$3 = ["instance"];
@@ -1618,7 +1621,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1618
1621
  var instance = _ref.instance;
1619
1622
  var _instance$options = instance.options,
1620
1623
  enableColumnFilters = _instance$options.enableColumnFilters,
1621
- enableDensePaddingToggle = _instance$options.enableDensePaddingToggle,
1624
+ enableDensityToggle = _instance$options.enableDensityToggle,
1622
1625
  enableFilters = _instance$options.enableFilters,
1623
1626
  enableFullScreenToggle = _instance$options.enableFullScreenToggle,
1624
1627
  enableGlobalFilter = _instance$options.enableGlobalFilter,
@@ -1646,7 +1649,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1646
1649
  instance: instance
1647
1650
  }), enableHiding && React.createElement(MRT_ShowHideColumnsButton, {
1648
1651
  instance: instance
1649
- }), enableDensePaddingToggle && React.createElement(MRT_ToggleDensePaddingButton, {
1652
+ }), enableDensityToggle && React.createElement(MRT_ToggleDensePaddingButton, {
1650
1653
  instance: instance
1651
1654
  }), enableFullScreenToggle && React.createElement(MRT_FullScreenToggleButton, {
1652
1655
  instance: instance
@@ -1992,12 +1995,14 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1992
1995
  onColumnFilterValueChangedDebounced == null ? void 0 : onColumnFilterValueChangedDebounced({
1993
1996
  column: column,
1994
1997
  event: event,
1995
- filterValue: event.target.value
1998
+ filterValue: event.target.value,
1999
+ instance: instance
1996
2000
  });
1997
2001
  columnDef.onColumnFilterValueChangedDebounced == null ? void 0 : columnDef.onColumnFilterValueChangedDebounced({
1998
2002
  column: column,
1999
2003
  event: event,
2000
- filterValue: event.target.value
2004
+ filterValue: event.target.value,
2005
+ instance: instance
2001
2006
  });
2002
2007
  }, 200), []);
2003
2008
 
@@ -2007,12 +2012,14 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2007
2012
  onColumnFilterValueChanged == null ? void 0 : onColumnFilterValueChanged({
2008
2013
  column: column,
2009
2014
  event: event,
2010
- filterValue: event.target.value
2015
+ filterValue: event.target.value,
2016
+ instance: instance
2011
2017
  });
2012
2018
  columnDef.onColumnFilterValueChanged == null ? void 0 : columnDef.onColumnFilterValueChanged({
2013
2019
  column: column,
2014
2020
  event: event,
2015
- filterValue: event.target.value
2021
+ filterValue: event.target.value,
2022
+ instance: instance
2016
2023
  });
2017
2024
  };
2018
2025
 
@@ -2402,7 +2409,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2402
2409
  muiTableHeadCellProps = _instance$options.muiTableHeadCellProps;
2403
2410
 
2404
2411
  var _getState = getState(),
2405
- isDensePadding = _getState.isDensePadding;
2412
+ density = _getState.density;
2406
2413
 
2407
2414
  var column = header.column;
2408
2415
  var columnDef = column.columnDef,
@@ -2451,10 +2458,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2451
2458
  height: '100%',
2452
2459
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2453
2460
  overflow: 'visible',
2454
- p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2461
+ p: density === 'compact' ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
2455
2462
  pb: columnDefType === 'display' ? 0 : undefined,
2456
2463
  position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
2457
- pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.75rem',
2464
+ pt: columnDefType !== 'data' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
2458
2465
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2459
2466
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2460
2467
  verticalAlign: 'text-top',
@@ -2781,7 +2788,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2781
2788
  columnOrder = _getState.columnOrder,
2782
2789
  currentEditingCell = _getState.currentEditingCell,
2783
2790
  currentEditingRow = _getState.currentEditingRow,
2784
- isDensePadding = _getState.isDensePadding,
2791
+ density = _getState.density,
2785
2792
  isLoading = _getState.isLoading,
2786
2793
  showSkeletons = _getState.showSkeletons;
2787
2794
 
@@ -2861,13 +2868,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2861
2868
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2862
2869
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2863
2870
  overflow: 'hidden',
2864
- p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2865
- pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2871
+ p: density === 'compact' ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
2872
+ pl: column.id === 'mrt-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
2866
2873
  position: column.getIsPinned() ? 'sticky' : 'relative',
2867
2874
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2868
2875
  textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
2869
2876
  transition: 'all 0.2s ease-in-out',
2870
- whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2877
+ whiteSpace: density === 'compact' ? 'nowrap' : 'normal',
2871
2878
  zIndex: column.getIsPinned() ? 1 : undefined,
2872
2879
  '&:hover': {
2873
2880
  backgroundColor: enableHover && enableEditing && editingMode !== 'row' ? theme.palette.mode === 'dark' ? lighten(theme.palette.background["default"], 0.13) + " !important" : darken(theme.palette.background["default"], 0.07) + " !important" : undefined
@@ -3005,14 +3012,14 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
3005
3012
  virtualizerProps = _instance$options.virtualizerProps;
3006
3013
 
3007
3014
  var _getState = getState(),
3008
- isDensePadding = _getState.isDensePadding;
3015
+ density = _getState.density;
3009
3016
 
3010
3017
  var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
3011
3018
  instance: instance
3012
3019
  }) : muiTableBodyProps;
3013
3020
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
3014
3021
  var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
3015
- overscan: isDensePadding ? 15 : 5,
3022
+ overscan: density === 'compact' ? 15 : 5,
3016
3023
  size: rows.length,
3017
3024
  parentRef: tableContainerRef
3018
3025
  }, virtualizerProps)) : {};
@@ -3049,7 +3056,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
3049
3056
  enableColumnResizing = _instance$options.enableColumnResizing;
3050
3057
 
3051
3058
  var _getState = getState(),
3052
- isDensePadding = _getState.isDensePadding;
3059
+ density = _getState.density;
3053
3060
 
3054
3061
  var column = footer.column;
3055
3062
  var columnDef = column.columnDef,
@@ -3077,7 +3084,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
3077
3084
  fontWeight: 'bold',
3078
3085
  maxWidth: column.getSize() + "px",
3079
3086
  minWidth: column.getSize() + "px",
3080
- p: isDensePadding ? '0.5rem' : '1rem',
3087
+ p: density === 'compact' ? '0.5rem' : density === 'comfortable' ? '1rem' : '1.5rem',
3081
3088
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
3082
3089
  width: column.getSize(),
3083
3090
  verticalAlign: 'text-top'
@@ -3254,7 +3261,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3254
3261
  };
3255
3262
 
3256
3263
  var MRT_TableRoot = function MRT_TableRoot(props) {
3257
- var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onIsDensePaddi, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
3264
+ var _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
3258
3265
 
3259
3266
  var _useState = useState(props.tableId),
3260
3267
  tableId = _useState[0],
@@ -3308,9 +3315,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3308
3315
  currentEditingRow = _useState3[0],
3309
3316
  setCurrentEditingRow = _useState3[1];
3310
3317
 
3311
- var _useState4 = useState((_initialState$isDense = initialState == null ? void 0 : initialState.isDensePadding) != null ? _initialState$isDense : false),
3312
- isDensePadding = _useState4[0],
3313
- setIsDensePadding = _useState4[1];
3318
+ var _useState4 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3319
+ density = _useState4[0],
3320
+ setDensity = _useState4[1];
3314
3321
 
3315
3322
  var _useState5 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3316
3323
  isFullScreen = _useState5[0],
@@ -3358,10 +3365,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3358
3365
  })
3359
3366
  );
3360
3367
  }, []);
3361
- var displayColumns = useMemo(function () {
3368
+
3369
+ var _useMemo = useMemo(function () {
3362
3370
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
3363
3371
 
3364
- return [showActionColumn && createDisplayColumn(table, {
3372
+ var leadingDisplayColumns = [showActionColumn && createDisplayColumn(table, {
3365
3373
  Cell: function Cell(_ref3) {
3366
3374
  var cell = _ref3.cell;
3367
3375
  return React.createElement(MRT_ToggleRowActionMenuButton, {
@@ -3427,11 +3435,23 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3427
3435
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3428
3436
  size: 50
3429
3437
  })].filter(Boolean);
3430
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3438
+ var trailingDisplayColumns = [];
3439
+
3440
+ if (props.enableRowActions && props.positionActionsColumn === 'last') {
3441
+ trailingDisplayColumns.push.apply(trailingDisplayColumns, leadingDisplayColumns.splice(leadingDisplayColumns.findIndex(function (col) {
3442
+ return col.id === 'mrt-row-actions';
3443
+ }), 1));
3444
+ }
3445
+
3446
+ return [leadingDisplayColumns, trailingDisplayColumns];
3447
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]),
3448
+ leadingDisplayColumns = _useMemo[0],
3449
+ trailingDisplayColumns = _useMemo[1];
3450
+
3431
3451
  var columns = useMemo(function () {
3432
- return [].concat(displayColumns, props.columns.map(function (column) {
3452
+ return [].concat(leadingDisplayColumns, props.columns.map(function (column) {
3433
3453
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3434
- }));
3454
+ }), trailingDisplayColumns);
3435
3455
  }, [table, props.columns, currentFilterFns]);
3436
3456
  var data = useMemo(function () {
3437
3457
  var _props$state, _props$state2;
@@ -3456,7 +3476,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3456
3476
  currentEditingRow: currentEditingRow,
3457
3477
  currentFilterFns: currentFilterFns,
3458
3478
  currentGlobalFilterFn: currentGlobalFilterFn,
3459
- isDensePadding: isDensePadding,
3479
+ density: density,
3460
3480
  isFullScreen: isFullScreen,
3461
3481
  showFilters: showFilters,
3462
3482
  showGlobalFilter: showGlobalFilter
@@ -3466,7 +3486,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3466
3486
  setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
3467
3487
  setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
3468
3488
  setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
3469
- setIsDensePadding: (_props$onIsDensePaddi = props.onIsDensePaddingChange) != null ? _props$onIsDensePaddi : setIsDensePadding,
3489
+ setDensity: (_props$onDensityChang = props.onDensityChange) != null ? _props$onDensityChang : setDensity,
3470
3490
  setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
3471
3491
  setShowFilters: (_props$onShowFiltersC = props.onShowFiltersChange) != null ? _props$onShowFiltersC : setShowFilters,
3472
3492
  setShowGlobalFilter: (_props$onShowGlobalFi = props.onShowGlobalFilterChange) != null ? _props$onShowGlobalFi : setShowGlobalFilter
@@ -3512,7 +3532,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3512
3532
  }));
3513
3533
  };
3514
3534
 
3515
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3535
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3516
3536
  var MaterialReactTable = (function (_ref) {
3517
3537
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3518
3538
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -3534,8 +3554,8 @@ var MaterialReactTable = (function (_ref) {
3534
3554
  enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
3535
3555
  _ref$enableColumnResi = _ref.enableColumnResizing,
3536
3556
  enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
3537
- _ref$enableDensePaddi = _ref.enableDensePaddingToggle,
3538
- enableDensePaddingToggle = _ref$enableDensePaddi === void 0 ? true : _ref$enableDensePaddi,
3557
+ _ref$enableDensityTog = _ref.enableDensityToggle,
3558
+ enableDensityToggle = _ref$enableDensityTog === void 0 ? true : _ref$enableDensityTog,
3539
3559
  _ref$enableExpandAll = _ref.enableExpandAll,
3540
3560
  enableExpandAll = _ref$enableExpandAll === void 0 ? true : _ref$enableExpandAll,
3541
3561
  _ref$enableFilters = _ref.enableFilters,
@@ -3599,7 +3619,7 @@ var MaterialReactTable = (function (_ref) {
3599
3619
  enableColumnFilters: enableColumnFilters,
3600
3620
  enableColumnOrdering: enableColumnOrdering,
3601
3621
  enableColumnResizing: enableColumnResizing,
3602
- enableDensePaddingToggle: enableDensePaddingToggle,
3622
+ enableDensityToggle: enableDensityToggle,
3603
3623
  enableExpandAll: enableExpandAll,
3604
3624
  enableFilters: enableFilters,
3605
3625
  enableFullScreenToggle: enableFullScreenToggle,