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.
package/README.md CHANGED
@@ -29,7 +29,7 @@ Join the [discord](https://discord.gg/5wqyRx6fnm) server to join in on the devel
29
29
 
30
30
  ### Features (All Features work and are MVP, but are still being polished)
31
31
 
32
- _All features can be enabled/disabled easily_
32
+ _All features can easily be enabled/disabled_
33
33
 
34
34
  - [x] Click To Copy Cell Values
35
35
  - [x] Column Actions
@@ -41,10 +41,10 @@ _All features can be enabled/disabled easily_
41
41
  - [x] Customize Icons
42
42
  - [x] Customize Styling of internal Mui Components
43
43
  - [x] Data Editing (3 different editing modes)
44
- - [x] Dense Padding Toggle
44
+ - [x] Density Toggle
45
45
  - [x] Detail Panels
46
46
  - [x] Filtering and multiple built-in filter modes
47
- - [x] Fullscreen mode
47
+ - [x] Full Screen mode
48
48
  - [x] Global Filtering (Search across all columns, rank by best match)
49
49
  - [x] HeaderGroups & Footers
50
50
  - [x] Localization (i18n) support
@@ -52,6 +52,7 @@ _All features can be enabled/disabled easily_
52
52
  - [x] Pagination (supports client-side and server-side)
53
53
  - [x] Persistent State
54
54
  - [x] Row Actions
55
+ - [x] Row Numbers
55
56
  - [x] Row Selection (checkboxes)
56
57
  - [x] SSR compatible
57
58
  - [x] Sorting
@@ -47,7 +47,7 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
47
47
  [key: string]: MRT_FilterFn;
48
48
  }>>;
49
49
  setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn>>;
50
- setIsDensePadding: Dispatch<SetStateAction<boolean>>;
50
+ setDensity: Dispatch<SetStateAction<'comfortable' | 'compact' | 'spacious'>>;
51
51
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
52
52
  setShowFilters: Dispatch<SetStateAction<boolean>>;
53
53
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
@@ -57,7 +57,7 @@ export declare type MRT_TableState<D extends Record<string, any> = {}> = TableSt
57
57
  currentEditingRow: MRT_Row<D> | null;
58
58
  currentFilterFns: Record<string, string | Function>;
59
59
  currentGlobalFilterFn: Record<string, string | Function>;
60
- isDensePadding: boolean;
60
+ density: 'comfortable' | 'compact' | 'spacious';
61
61
  isLoading: boolean;
62
62
  isFullScreen: boolean;
63
63
  showFilters: boolean;
@@ -143,15 +143,17 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
143
143
  cell: MRT_Cell<D>;
144
144
  instance: MRT_TableInstance<D>;
145
145
  }) => void;
146
- onColumnFilterValueChanged?: ({ column, event, filterValue, }: {
146
+ onColumnFilterValueChanged?: ({ column, event, filterValue, instance, }: {
147
147
  column: MRT_Column<D>;
148
148
  event: ChangeEvent<HTMLInputElement>;
149
149
  filterValue: any;
150
+ instance: MRT_TableInstance<D>;
150
151
  }) => void;
151
- onColumnFilterValueChangedDebounced?: ({ column, event, filterValue, }: {
152
+ onColumnFilterValueChangedDebounced?: ({ column, event, filterValue, instance, }: {
152
153
  column: MRT_Column<D>;
153
154
  event: ChangeEvent<HTMLInputElement>;
154
155
  filterValue: any;
156
+ instance: MRT_TableInstance<D>;
155
157
  }) => void;
156
158
  };
157
159
  export declare type MRT_Column<D extends Record<string, any> = {}> = Omit<Column<D>, 'header' | 'footer' | 'columns' | 'columnDef'> & {
@@ -184,7 +186,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
184
186
  enableClickToCopy?: boolean;
185
187
  enableColumnActions?: boolean;
186
188
  enableColumnOrdering?: boolean;
187
- enableDensePaddingToggle?: boolean;
189
+ enableDensityToggle?: boolean;
188
190
  enableEditing?: boolean;
189
191
  enableExpandAll?: boolean;
190
192
  enableFullScreenToggle?: boolean;
@@ -308,15 +310,17 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
308
310
  cell: MRT_Cell<D>;
309
311
  instance: MRT_TableInstance<D>;
310
312
  }) => void;
311
- onColumnFilterValueChanged?: ({ column, event, filterValue, }: {
313
+ onColumnFilterValueChanged?: ({ column, event, filterValue, instance, }: {
312
314
  column: MRT_Column<D>;
313
315
  event: ChangeEvent<HTMLInputElement>;
314
316
  filterValue: any;
317
+ instance: MRT_TableInstance<D>;
315
318
  }) => void;
316
- onColumnFilterValueChangedDebounced?: ({ column, event, filterValue, }: {
319
+ onColumnFilterValueChangedDebounced?: ({ column, event, filterValue, instance, }: {
317
320
  column: MRT_Column<D>;
318
321
  event: ChangeEvent<HTMLInputElement>;
319
322
  filterValue: any;
323
+ instance: MRT_TableInstance<D>;
320
324
  }) => void;
321
325
  onColumnVisibilityChanged?: ({ column, columnVisibility, instance, }: {
322
326
  column: MRT_Column<D>;
@@ -351,10 +355,10 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
351
355
  event: ChangeEvent<HTMLInputElement>;
352
356
  instance: MRT_TableInstance<D>;
353
357
  }) => void;
354
- onIsDensePaddingChange?: OnChangeFn<boolean>;
355
- onIsDensePaddingChanged?: ({ event, isDensePadding, instance, }: {
358
+ onDensityChange?: OnChangeFn<boolean>;
359
+ onDensityChanged?: ({ event, density, instance, }: {
356
360
  event: MouseEvent<HTMLButtonElement>;
357
- isDensePadding: boolean;
361
+ density: 'comfortable' | 'compact' | 'spacious';
358
362
  instance: MRT_TableInstance<D>;
359
363
  }) => void;
360
364
  onIsFullScreenChange?: OnChangeFn<boolean>;
@@ -436,5 +440,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
436
440
  tableId?: string;
437
441
  virtualizerProps?: VirtualizerOptions<HTMLDivElement>;
438
442
  };
439
- declare const _default: <D extends Record<string, any> = {}>({ 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, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
443
+ declare const _default: <D extends Record<string, any> = {}>({ 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, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
440
444
  export default _default;
package/dist/icons.d.ts CHANGED
@@ -4,6 +4,7 @@ export interface MRT_Icons {
4
4
  CheckBoxIcon: any;
5
5
  ClearAllIcon: any;
6
6
  CloseIcon: any;
7
+ DensityLargeIcon: any;
7
8
  DensityMediumIcon: any;
8
9
  DensitySmallIcon: any;
9
10
  KeyboardDoubleArrowDownIcon: any;
@@ -56,7 +56,7 @@ export interface MRT_Localization {
56
56
  sortedByColumnDesc: string;
57
57
  thenBy: string;
58
58
  to: string;
59
- toggleDensePadding: string;
59
+ toggleDensity: string;
60
60
  toggleFullScreen: string;
61
61
  toggleSelectAll: string;
62
62
  toggleSelectRow: string;
@@ -106,7 +106,7 @@ var MRT_DefaultLocalization_EN = {
106
106
  sortedByColumnDesc: 'Sorted by {column} descending',
107
107
  thenBy: ', then by ',
108
108
  to: 'to',
109
- toggleDensePadding: 'Toggle dense padding',
109
+ toggleDensity: 'Toggle density',
110
110
  toggleFullScreen: 'Toggle full screen',
111
111
  toggleSelectAll: 'Toggle select all',
112
112
  toggleSelectRow: 'Toggle select row',
@@ -122,9 +122,9 @@ var MRT_Default_Icons = {
122
122
  CheckBoxIcon: iconsMaterial.CheckBox,
123
123
  ClearAllIcon: iconsMaterial.ClearAll,
124
124
  CloseIcon: iconsMaterial.Close,
125
+ DensityLargeIcon: iconsMaterial.DensityLarge,
125
126
  DensityMediumIcon: iconsMaterial.DensityMedium,
126
127
  DensitySmallIcon: iconsMaterial.DensitySmall,
127
- KeyboardDoubleArrowDownIcon: iconsMaterial.KeyboardDoubleArrowDown,
128
128
  DragHandleIcon: iconsMaterial.DragHandle,
129
129
  DynamicFeedIcon: iconsMaterial.DynamicFeed,
130
130
  EditIcon: iconsMaterial.Edit,
@@ -136,6 +136,7 @@ var MRT_Default_Icons = {
136
136
  FilterListOffIcon: iconsMaterial.FilterListOff,
137
137
  FullscreenExitIcon: iconsMaterial.FullscreenExit,
138
138
  FullscreenIcon: iconsMaterial.Fullscreen,
139
+ KeyboardDoubleArrowDownIcon: iconsMaterial.KeyboardDoubleArrowDown,
139
140
  MoreHorizIcon: iconsMaterial.MoreHoriz,
140
141
  MoreVertIcon: iconsMaterial.MoreVert,
141
142
  PushPinIcon: iconsMaterial.PushPin,
@@ -161,7 +162,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
161
162
  toggleAllRowsExpanded = instance.toggleAllRowsExpanded;
162
163
 
163
164
  var _getState = getState(),
164
- isDensePadding = _getState.isDensePadding;
165
+ density = _getState.density;
165
166
 
166
167
  return React__default.createElement(material.Tooltip, {
167
168
  arrow: true,
@@ -175,8 +176,8 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
175
176
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
176
177
  },
177
178
  sx: {
178
- height: isDensePadding ? '1.75rem' : '2.25rem',
179
- width: isDensePadding ? '1.75rem' : '2.25rem'
179
+ height: density === 'compact' ? '1.75rem' : '2.25rem',
180
+ width: density === 'compact' ? '1.75rem' : '2.25rem'
180
181
  }
181
182
  }, React__default.createElement(KeyboardDoubleArrowDownIcon, {
182
183
  style: {
@@ -197,7 +198,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
197
198
  renderDetailPanel = _instance$options.renderDetailPanel;
198
199
 
199
200
  var _getState = getState(),
200
- isDensePadding = _getState.isDensePadding;
201
+ density = _getState.density;
201
202
 
202
203
  var handleToggleExpand = function handleToggleExpand(event) {
203
204
  row.toggleExpanded();
@@ -218,8 +219,8 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
218
219
  disabled: !row.getCanExpand() && !renderDetailPanel,
219
220
  onClick: handleToggleExpand,
220
221
  sx: {
221
- height: isDensePadding ? '1.75rem' : '2.25rem',
222
- width: isDensePadding ? '1.75rem' : '2.25rem'
222
+ height: density === 'compact' ? '1.75rem' : '2.25rem',
223
+ width: density === 'compact' ? '1.75rem' : '2.25rem'
223
224
  }
224
225
  }, React__default.createElement(ExpandMoreIcon, {
225
226
  style: {
@@ -357,7 +358,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
357
358
  setCurrentGlobalFilterFn = instance.setCurrentGlobalFilterFn;
358
359
 
359
360
  var _getState = getState(),
360
- isDensePadding = _getState.isDensePadding,
361
+ density = _getState.density,
361
362
  currentFilterFns = _getState.currentFilterFns,
362
363
  currentGlobalFilterFn = _getState.currentGlobalFilterFn;
363
364
 
@@ -464,7 +465,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
464
465
  },
465
466
  open: !!anchorEl,
466
467
  MenuListProps: {
467
- dense: isDensePadding
468
+ dense: density === 'compact'
468
469
  }
469
470
  }, filterOptions.map(function (_ref4, index) {
470
471
  var option = _ref4.option,
@@ -3536,7 +3537,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
3536
3537
  enableColumnOrdering = _instance$options.enableColumnOrdering;
3537
3538
 
3538
3539
  var _getState = getState(),
3539
- isDensePadding = _getState.isDensePadding,
3540
+ density = _getState.density,
3540
3541
  columnOrder = _getState.columnOrder,
3541
3542
  columnPinning = _getState.columnPinning;
3542
3543
 
@@ -3570,7 +3571,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
3570
3571
  return setAnchorEl(null);
3571
3572
  },
3572
3573
  MenuListProps: {
3573
- dense: isDensePadding
3574
+ dense: density === 'compact'
3574
3575
  }
3575
3576
  }, React__default.createElement(material.Box, {
3576
3577
  sx: {
@@ -3654,7 +3655,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
3654
3655
  var _getState = getState(),
3655
3656
  columnSizing = _getState.columnSizing,
3656
3657
  columnVisibility = _getState.columnVisibility,
3657
- isDensePadding = _getState.isDensePadding;
3658
+ density = _getState.density;
3658
3659
 
3659
3660
  var _useState = React.useState(null),
3660
3661
  filterMenuAnchorEl = _useState[0],
@@ -3740,7 +3741,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
3740
3741
  return setAnchorEl(null);
3741
3742
  },
3742
3743
  MenuListProps: {
3743
- dense: isDensePadding
3744
+ dense: density === 'compact'
3744
3745
  }
3745
3746
  }, enableSorting && column.getCanSort() && [React__default.createElement(material.MenuItem, {
3746
3747
  disabled: !column.getIsSorted(),
@@ -3892,7 +3893,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
3892
3893
  renderRowActionMenuItems = _instance$options.renderRowActionMenuItems;
3893
3894
 
3894
3895
  var _getState = getState(),
3895
- isDensePadding = _getState.isDensePadding;
3896
+ density = _getState.density;
3896
3897
 
3897
3898
  return React__default.createElement(material.Menu, {
3898
3899
  anchorEl: anchorEl,
@@ -3901,7 +3902,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
3901
3902
  return setAnchorEl(null);
3902
3903
  },
3903
3904
  MenuListProps: {
3904
- dense: isDensePadding
3905
+ dense: density === 'compact'
3905
3906
  }
3906
3907
  }, enableEditing && React__default.createElement(material.MenuItem, {
3907
3908
  onClick: handleEdit,
@@ -4057,7 +4058,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
4057
4058
  selectAllMode = _instance$options.selectAllMode;
4058
4059
 
4059
4060
  var _getState = getState(),
4060
- isDensePadding = _getState.isDensePadding;
4061
+ density = _getState.density;
4061
4062
 
4062
4063
  var handleSelectChange = function handleSelectChange(event) {
4063
4064
  if (selectAll) {
@@ -4102,11 +4103,11 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
4102
4103
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
4103
4104
  },
4104
4105
  onChange: handleSelectChange,
4105
- size: isDensePadding ? 'small' : 'medium'
4106
+ size: density === 'compact' ? 'small' : 'medium'
4106
4107
  }, checkboxProps, {
4107
4108
  sx: _extends({
4108
- height: isDensePadding ? '1.75rem' : '2.25rem',
4109
- width: isDensePadding ? '1.75rem' : '2.25rem'
4109
+ height: density === 'compact' ? '1.75rem' : '2.25rem',
4110
+ width: density === 'compact' ? '1.75rem' : '2.25rem'
4110
4111
  }, checkboxProps == null ? void 0 : checkboxProps.sx)
4111
4112
  })));
4112
4113
  };
@@ -5155,31 +5156,33 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
5155
5156
  var getState = instance.getState,
5156
5157
  _instance$options = instance.options,
5157
5158
  _instance$options$ico = _instance$options.icons,
5159
+ DensityLargeIcon = _instance$options$ico.DensityLargeIcon,
5158
5160
  DensityMediumIcon = _instance$options$ico.DensityMediumIcon,
5159
5161
  DensitySmallIcon = _instance$options$ico.DensitySmallIcon,
5160
5162
  localization = _instance$options.localization,
5161
- onIsDensePaddingChanged = _instance$options.onIsDensePaddingChanged,
5162
- setIsDensePadding = instance.setIsDensePadding;
5163
+ onDensityChanged = _instance$options.onDensityChanged,
5164
+ setDensity = instance.setDensity;
5163
5165
 
5164
5166
  var _getState = getState(),
5165
- isDensePadding = _getState.isDensePadding;
5167
+ density = _getState.density;
5166
5168
 
5167
5169
  var handleToggleDensePadding = function handleToggleDensePadding(event) {
5168
- onIsDensePaddingChanged == null ? void 0 : onIsDensePaddingChanged({
5170
+ var nextDensity = density === 'comfortable' ? 'compact' : density === 'compact' ? 'spacious' : 'comfortable';
5171
+ onDensityChanged == null ? void 0 : onDensityChanged({
5169
5172
  event: event,
5170
- isDensePadding: !isDensePadding,
5173
+ density: nextDensity,
5171
5174
  instance: instance
5172
5175
  });
5173
- setIsDensePadding(!isDensePadding);
5176
+ setDensity(nextDensity);
5174
5177
  };
5175
5178
 
5176
5179
  return React__default.createElement(material.Tooltip, {
5177
5180
  arrow: true,
5178
- title: localization.toggleDensePadding
5181
+ title: localization.toggleDensity
5179
5182
  }, React__default.createElement(material.IconButton, Object.assign({
5180
- "aria-label": localization.toggleDensePadding,
5183
+ "aria-label": localization.toggleDensity,
5181
5184
  onClick: handleToggleDensePadding
5182
- }, rest), isDensePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
5185
+ }, rest), density === 'compact' ? React__default.createElement(DensitySmallIcon, null) : density === 'comfortable' ? React__default.createElement(DensityMediumIcon, null) : React__default.createElement(DensityLargeIcon, null)));
5183
5186
  };
5184
5187
 
5185
5188
  var _excluded$3 = ["instance"];
@@ -5370,7 +5373,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
5370
5373
  var instance = _ref.instance;
5371
5374
  var _instance$options = instance.options,
5372
5375
  enableColumnFilters = _instance$options.enableColumnFilters,
5373
- enableDensePaddingToggle = _instance$options.enableDensePaddingToggle,
5376
+ enableDensityToggle = _instance$options.enableDensityToggle,
5374
5377
  enableFilters = _instance$options.enableFilters,
5375
5378
  enableFullScreenToggle = _instance$options.enableFullScreenToggle,
5376
5379
  enableGlobalFilter = _instance$options.enableGlobalFilter,
@@ -5398,7 +5401,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
5398
5401
  instance: instance
5399
5402
  }), enableHiding && React__default.createElement(MRT_ShowHideColumnsButton, {
5400
5403
  instance: instance
5401
- }), enableDensePaddingToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
5404
+ }), enableDensityToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
5402
5405
  instance: instance
5403
5406
  }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
5404
5407
  instance: instance
@@ -5744,12 +5747,14 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5744
5747
  onColumnFilterValueChangedDebounced == null ? void 0 : onColumnFilterValueChangedDebounced({
5745
5748
  column: column,
5746
5749
  event: event,
5747
- filterValue: event.target.value
5750
+ filterValue: event.target.value,
5751
+ instance: instance
5748
5752
  });
5749
5753
  columnDef.onColumnFilterValueChangedDebounced == null ? void 0 : columnDef.onColumnFilterValueChangedDebounced({
5750
5754
  column: column,
5751
5755
  event: event,
5752
- filterValue: event.target.value
5756
+ filterValue: event.target.value,
5757
+ instance: instance
5753
5758
  });
5754
5759
  }, 200), []);
5755
5760
 
@@ -5759,12 +5764,14 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5759
5764
  onColumnFilterValueChanged == null ? void 0 : onColumnFilterValueChanged({
5760
5765
  column: column,
5761
5766
  event: event,
5762
- filterValue: event.target.value
5767
+ filterValue: event.target.value,
5768
+ instance: instance
5763
5769
  });
5764
5770
  columnDef.onColumnFilterValueChanged == null ? void 0 : columnDef.onColumnFilterValueChanged({
5765
5771
  column: column,
5766
5772
  event: event,
5767
- filterValue: event.target.value
5773
+ filterValue: event.target.value,
5774
+ instance: instance
5768
5775
  });
5769
5776
  };
5770
5777
 
@@ -6154,7 +6161,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6154
6161
  muiTableHeadCellProps = _instance$options.muiTableHeadCellProps;
6155
6162
 
6156
6163
  var _getState = getState(),
6157
- isDensePadding = _getState.isDensePadding;
6164
+ density = _getState.density;
6158
6165
 
6159
6166
  var column = header.column;
6160
6167
  var columnDef = column.columnDef,
@@ -6203,10 +6210,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6203
6210
  height: '100%',
6204
6211
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
6205
6212
  overflow: 'visible',
6206
- p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6213
+ 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',
6207
6214
  pb: columnDefType === 'display' ? 0 : undefined,
6208
6215
  position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
6209
- pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.75rem',
6216
+ pt: columnDefType !== 'data' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
6210
6217
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
6211
6218
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
6212
6219
  verticalAlign: 'text-top',
@@ -7025,7 +7032,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7025
7032
  columnOrder = _getState.columnOrder,
7026
7033
  currentEditingCell = _getState.currentEditingCell,
7027
7034
  currentEditingRow = _getState.currentEditingRow,
7028
- isDensePadding = _getState.isDensePadding,
7035
+ density = _getState.density,
7029
7036
  isLoading = _getState.isLoading,
7030
7037
  showSkeletons = _getState.showSkeletons;
7031
7038
 
@@ -7105,13 +7112,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7105
7112
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
7106
7113
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
7107
7114
  overflow: 'hidden',
7108
- p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
7109
- pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
7115
+ 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',
7116
+ pl: column.id === 'mrt-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
7110
7117
  position: column.getIsPinned() ? 'sticky' : 'relative',
7111
7118
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
7112
7119
  textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
7113
7120
  transition: 'all 0.2s ease-in-out',
7114
- whiteSpace: isDensePadding ? 'nowrap' : 'normal',
7121
+ whiteSpace: density === 'compact' ? 'nowrap' : 'normal',
7115
7122
  zIndex: column.getIsPinned() ? 1 : undefined,
7116
7123
  '&:hover': {
7117
7124
  backgroundColor: enableHover && enableEditing && editingMode !== 'row' ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
@@ -7249,14 +7256,14 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
7249
7256
  virtualizerProps = _instance$options.virtualizerProps;
7250
7257
 
7251
7258
  var _getState = getState(),
7252
- isDensePadding = _getState.isDensePadding;
7259
+ density = _getState.density;
7253
7260
 
7254
7261
  var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
7255
7262
  instance: instance
7256
7263
  }) : muiTableBodyProps;
7257
7264
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
7258
7265
  var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
7259
- overscan: isDensePadding ? 15 : 5,
7266
+ overscan: density === 'compact' ? 15 : 5,
7260
7267
  size: rows.length,
7261
7268
  parentRef: tableContainerRef
7262
7269
  }, virtualizerProps)) : {};
@@ -7293,7 +7300,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
7293
7300
  enableColumnResizing = _instance$options.enableColumnResizing;
7294
7301
 
7295
7302
  var _getState = getState(),
7296
- isDensePadding = _getState.isDensePadding;
7303
+ density = _getState.density;
7297
7304
 
7298
7305
  var column = footer.column;
7299
7306
  var columnDef = column.columnDef,
@@ -7321,7 +7328,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
7321
7328
  fontWeight: 'bold',
7322
7329
  maxWidth: column.getSize() + "px",
7323
7330
  minWidth: column.getSize() + "px",
7324
- p: isDensePadding ? '0.5rem' : '1rem',
7331
+ p: density === 'compact' ? '0.5rem' : density === 'comfortable' ? '1rem' : '1.5rem',
7325
7332
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
7326
7333
  width: column.getSize(),
7327
7334
  verticalAlign: 'text-top'
@@ -7498,7 +7505,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
7498
7505
  };
7499
7506
 
7500
7507
  var MRT_TableRoot = function MRT_TableRoot(props) {
7501
- 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;
7508
+ 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;
7502
7509
 
7503
7510
  var _useState = React.useState(props.tableId),
7504
7511
  tableId = _useState[0],
@@ -7552,9 +7559,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7552
7559
  currentEditingRow = _useState3[0],
7553
7560
  setCurrentEditingRow = _useState3[1];
7554
7561
 
7555
- var _useState4 = React.useState((_initialState$isDense = initialState == null ? void 0 : initialState.isDensePadding) != null ? _initialState$isDense : false),
7556
- isDensePadding = _useState4[0],
7557
- setIsDensePadding = _useState4[1];
7562
+ var _useState4 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
7563
+ density = _useState4[0],
7564
+ setDensity = _useState4[1];
7558
7565
 
7559
7566
  var _useState5 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7560
7567
  isFullScreen = _useState5[0],
@@ -7602,10 +7609,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7602
7609
  })
7603
7610
  );
7604
7611
  }, []);
7605
- var displayColumns = React.useMemo(function () {
7612
+
7613
+ var _useMemo = React.useMemo(function () {
7606
7614
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
7607
7615
 
7608
- return [showActionColumn && createDisplayColumn(table, {
7616
+ var leadingDisplayColumns = [showActionColumn && createDisplayColumn(table, {
7609
7617
  Cell: function Cell(_ref3) {
7610
7618
  var cell = _ref3.cell;
7611
7619
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -7671,11 +7679,23 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7671
7679
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7672
7680
  size: 50
7673
7681
  })].filter(Boolean);
7674
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
7682
+ var trailingDisplayColumns = [];
7683
+
7684
+ if (props.enableRowActions && props.positionActionsColumn === 'last') {
7685
+ trailingDisplayColumns.push.apply(trailingDisplayColumns, leadingDisplayColumns.splice(leadingDisplayColumns.findIndex(function (col) {
7686
+ return col.id === 'mrt-row-actions';
7687
+ }), 1));
7688
+ }
7689
+
7690
+ return [leadingDisplayColumns, trailingDisplayColumns];
7691
+ }, [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]),
7692
+ leadingDisplayColumns = _useMemo[0],
7693
+ trailingDisplayColumns = _useMemo[1];
7694
+
7675
7695
  var columns = React.useMemo(function () {
7676
- return [].concat(displayColumns, props.columns.map(function (column) {
7696
+ return [].concat(leadingDisplayColumns, props.columns.map(function (column) {
7677
7697
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
7678
- }));
7698
+ }), trailingDisplayColumns);
7679
7699
  }, [table, props.columns, currentFilterFns]);
7680
7700
  var data = React.useMemo(function () {
7681
7701
  var _props$state, _props$state2;
@@ -7700,7 +7720,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7700
7720
  currentEditingRow: currentEditingRow,
7701
7721
  currentFilterFns: currentFilterFns,
7702
7722
  currentGlobalFilterFn: currentGlobalFilterFn,
7703
- isDensePadding: isDensePadding,
7723
+ density: density,
7704
7724
  isFullScreen: isFullScreen,
7705
7725
  showFilters: showFilters,
7706
7726
  showGlobalFilter: showGlobalFilter
@@ -7710,7 +7730,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7710
7730
  setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
7711
7731
  setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
7712
7732
  setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
7713
- setIsDensePadding: (_props$onIsDensePaddi = props.onIsDensePaddingChange) != null ? _props$onIsDensePaddi : setIsDensePadding,
7733
+ setDensity: (_props$onDensityChang = props.onDensityChange) != null ? _props$onDensityChang : setDensity,
7714
7734
  setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
7715
7735
  setShowFilters: (_props$onShowFiltersC = props.onShowFiltersChange) != null ? _props$onShowFiltersC : setShowFilters,
7716
7736
  setShowGlobalFilter: (_props$onShowGlobalFi = props.onShowGlobalFilterChange) != null ? _props$onShowGlobalFi : setShowGlobalFilter
@@ -7756,7 +7776,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7756
7776
  }));
7757
7777
  };
7758
7778
 
7759
- 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"];
7779
+ 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"];
7760
7780
  var MaterialReactTable = (function (_ref) {
7761
7781
  var _ref$autoResetExpande = _ref.autoResetExpanded,
7762
7782
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -7778,8 +7798,8 @@ var MaterialReactTable = (function (_ref) {
7778
7798
  enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
7779
7799
  _ref$enableColumnResi = _ref.enableColumnResizing,
7780
7800
  enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
7781
- _ref$enableDensePaddi = _ref.enableDensePaddingToggle,
7782
- enableDensePaddingToggle = _ref$enableDensePaddi === void 0 ? true : _ref$enableDensePaddi,
7801
+ _ref$enableDensityTog = _ref.enableDensityToggle,
7802
+ enableDensityToggle = _ref$enableDensityTog === void 0 ? true : _ref$enableDensityTog,
7783
7803
  _ref$enableExpandAll = _ref.enableExpandAll,
7784
7804
  enableExpandAll = _ref$enableExpandAll === void 0 ? true : _ref$enableExpandAll,
7785
7805
  _ref$enableFilters = _ref.enableFilters,
@@ -7843,7 +7863,7 @@ var MaterialReactTable = (function (_ref) {
7843
7863
  enableColumnFilters: enableColumnFilters,
7844
7864
  enableColumnOrdering: enableColumnOrdering,
7845
7865
  enableColumnResizing: enableColumnResizing,
7846
- enableDensePaddingToggle: enableDensePaddingToggle,
7866
+ enableDensityToggle: enableDensityToggle,
7847
7867
  enableExpandAll: enableExpandAll,
7848
7868
  enableFilters: enableFilters,
7849
7869
  enableFullScreenToggle: enableFullScreenToggle,