material-react-table 0.13.1 → 0.14.0

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.
@@ -158,28 +158,33 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
158
158
  _instance$options = instance.options,
159
159
  KeyboardDoubleArrowDownIcon = _instance$options.icons.KeyboardDoubleArrowDownIcon,
160
160
  localization = _instance$options.localization,
161
+ muiExpandAllButtonProps = _instance$options.muiExpandAllButtonProps,
161
162
  renderDetailPanel = _instance$options.renderDetailPanel,
162
163
  toggleAllRowsExpanded = instance.toggleAllRowsExpanded;
163
164
 
164
165
  var _getState = getState(),
165
166
  density = _getState.density;
166
167
 
168
+ var iconButtonProps = muiExpandAllButtonProps instanceof Function ? muiExpandAllButtonProps({
169
+ instance: instance
170
+ }) : muiExpandAllButtonProps;
167
171
  return React__default.createElement(material.Tooltip, {
168
172
  arrow: true,
169
173
  enterDelay: 1000,
170
174
  enterNextDelay: 1000,
171
175
  title: localization.expandAll
172
- }, React__default.createElement(material.IconButton, {
176
+ }, React__default.createElement(material.IconButton, Object.assign({
173
177
  "aria-label": localization.expandAll,
174
178
  disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
175
179
  onClick: function onClick() {
176
180
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
177
- },
178
- sx: {
181
+ }
182
+ }, iconButtonProps, {
183
+ sx: _extends({
179
184
  height: density === 'compact' ? '1.75rem' : '2.25rem',
180
185
  width: density === 'compact' ? '1.75rem' : '2.25rem'
181
- }
182
- }, React__default.createElement(KeyboardDoubleArrowDownIcon, {
186
+ }, iconButtonProps == null ? void 0 : iconButtonProps.sx)
187
+ }), React__default.createElement(KeyboardDoubleArrowDownIcon, {
183
188
  style: {
184
189
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
185
190
  transition: 'transform 0.2s'
@@ -194,12 +199,18 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
194
199
  _instance$options = instance.options,
195
200
  ExpandMoreIcon = _instance$options.icons.ExpandMoreIcon,
196
201
  localization = _instance$options.localization,
202
+ muiExpandButtonProps = _instance$options.muiExpandButtonProps,
197
203
  onExpandChanged = _instance$options.onExpandChanged,
198
204
  renderDetailPanel = _instance$options.renderDetailPanel;
199
205
 
200
206
  var _getState = getState(),
201
207
  density = _getState.density;
202
208
 
209
+ var iconButtonProps = muiExpandButtonProps instanceof Function ? muiExpandButtonProps({
210
+ instance: instance,
211
+ row: row
212
+ }) : muiExpandButtonProps;
213
+
203
214
  var handleToggleExpand = function handleToggleExpand(event) {
204
215
  row.toggleExpanded();
205
216
  onExpandChanged == null ? void 0 : onExpandChanged({
@@ -214,15 +225,16 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
214
225
  enterDelay: 1000,
215
226
  enterNextDelay: 1000,
216
227
  title: localization.expand
217
- }, React__default.createElement(material.IconButton, {
228
+ }, React__default.createElement(material.IconButton, Object.assign({
218
229
  "aria-label": localization.expand,
219
230
  disabled: !row.getCanExpand() && !renderDetailPanel,
220
- onClick: handleToggleExpand,
221
- sx: {
231
+ onClick: handleToggleExpand
232
+ }, iconButtonProps, {
233
+ sx: _extends({
222
234
  height: density === 'compact' ? '1.75rem' : '2.25rem',
223
235
  width: density === 'compact' ? '1.75rem' : '2.25rem'
224
- }
225
- }, React__default.createElement(ExpandMoreIcon, {
236
+ }, iconButtonProps == null ? void 0 : iconButtonProps.sx)
237
+ }), React__default.createElement(ExpandMoreIcon, {
226
238
  style: {
227
239
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
228
240
  transition: 'transform 0.2s'
@@ -3400,6 +3412,17 @@ var reorderColumn = function reorderColumn(movingColumn, receivingColumn, column
3400
3412
  columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
3401
3413
  setColumnOrder([].concat(columnOrder));
3402
3414
  };
3415
+ var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
3416
+ return [(props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping) && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
3417
+ };
3418
+ var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
3419
+ return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
3420
+ };
3421
+ var getDefaultColumnOrderIds = function getDefaultColumnOrderIds(props) {
3422
+ return [].concat(getLeadingDisplayColumnIds(props), getAllLeafColumnDefs(props.columns).map(function (c) {
3423
+ return c.id;
3424
+ }), getTrailingDisplayColumnIds(props)).filter(Boolean);
3425
+ };
3403
3426
 
3404
3427
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
3405
3428
  var _column$columns2;
@@ -3585,7 +3608,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
3585
3608
  onClick: hideAllColumns
3586
3609
  }, localization.hideAll), !isSubMenu && enableColumnOrdering && React__default.createElement(material.Button, {
3587
3610
  onClick: function onClick() {
3588
- return instance.resetColumnOrder();
3611
+ return instance.setColumnOrder(getDefaultColumnOrderIds(instance.options));
3589
3612
  }
3590
3613
  }, localization.resetOrder), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
3591
3614
  disabled: !getIsSomeColumnsPinned(),
@@ -4048,11 +4071,13 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
4048
4071
  selectAll = _ref.selectAll,
4049
4072
  instance = _ref.instance;
4050
4073
  var getRowModel = instance.getRowModel,
4074
+ getPaginationRowModel = instance.getPaginationRowModel,
4051
4075
  getSelectedRowModel = instance.getSelectedRowModel,
4052
4076
  getState = instance.getState,
4053
4077
  _instance$options = instance.options,
4054
4078
  localization = _instance$options.localization,
4055
4079
  muiSelectCheckboxProps = _instance$options.muiSelectCheckboxProps,
4080
+ muiSelectAllCheckboxProps = _instance$options.muiSelectAllCheckboxProps,
4056
4081
  onRowSelectionChanged = _instance$options.onRowSelectionChanged,
4057
4082
  onRowSelectAllChanged = _instance$options.onRowSelectAllChanged,
4058
4083
  selectAllMode = _instance$options.selectAllMode;
@@ -4070,7 +4095,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
4070
4095
 
4071
4096
  onRowSelectAllChanged == null ? void 0 : onRowSelectAllChanged({
4072
4097
  event: event,
4073
- selectedRows: event.target.checked ? getRowModel().flatRows : [],
4098
+ selectedRows: event.target.checked ? selectAllMode === 'all' ? getRowModel().flatRows : getPaginationRowModel().flatRows : [],
4074
4099
  instance: instance
4075
4100
  });
4076
4101
  } else if (row) {
@@ -4086,8 +4111,9 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
4086
4111
  }
4087
4112
  };
4088
4113
 
4089
- var checkboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
4090
- isSelectAll: !!selectAll,
4114
+ var checkboxProps = selectAll ? muiSelectAllCheckboxProps instanceof Function ? muiSelectAllCheckboxProps({
4115
+ instance: instance
4116
+ }) : muiSelectAllCheckboxProps : muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
4091
4117
  row: row,
4092
4118
  instance: instance
4093
4119
  }) : muiSelectCheckboxProps;
@@ -5337,7 +5363,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
5337
5363
  }, React__default.createElement(material.Tooltip, {
5338
5364
  arrow: true,
5339
5365
  title: localization.changeSearchMode
5340
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
5366
+ }, React__default.createElement(material.IconButton, {
5341
5367
  "aria-label": localization.changeSearchMode,
5342
5368
  onClick: handleGlobalFilterMenuOpen,
5343
5369
  size: "small",
@@ -5345,7 +5371,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
5345
5371
  height: '1.75rem',
5346
5372
  width: '1.75rem'
5347
5373
  }
5348
- }, React__default.createElement(SearchIcon, null))))),
5374
+ }, React__default.createElement(SearchIcon, null)))),
5349
5375
  endAdornment: React__default.createElement(material.InputAdornment, {
5350
5376
  position: "end"
5351
5377
  }, React__default.createElement(material.IconButton, {
@@ -5356,11 +5382,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
5356
5382
  title: localization.clearSearch
5357
5383
  }, React__default.createElement(CloseIcon, null)))
5358
5384
  }
5359
- }, textFieldProps, {
5360
- sx: _extends({
5361
- justifySelf: 'end'
5362
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
5363
- })), React__default.createElement(MRT_FilterOptionMenu, {
5385
+ }, textFieldProps)), React__default.createElement(MRT_FilterOptionMenu, {
5364
5386
  anchorEl: anchorEl,
5365
5387
  setAnchorEl: setAnchorEl,
5366
5388
  instance: instance
@@ -5382,8 +5404,8 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
5382
5404
  renderToolbarInternalActions = _instance$options.renderToolbarInternalActions;
5383
5405
  return React__default.createElement(material.Box, {
5384
5406
  sx: {
5385
- display: 'flex',
5386
5407
  alignItems: 'center',
5408
+ display: 'flex',
5387
5409
  zIndex: 3
5388
5410
  }
5389
5411
  }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
@@ -5409,19 +5431,23 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
5409
5431
  };
5410
5432
 
5411
5433
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
5412
- var instance = _ref.instance;
5434
+ var instance = _ref.instance,
5435
+ position = _ref.position;
5413
5436
  var getPrePaginationRowModel = instance.getPrePaginationRowModel,
5414
5437
  getState = instance.getState,
5415
5438
  setPageIndex = instance.setPageIndex,
5416
5439
  setPageSize = instance.setPageSize,
5417
- muiTablePaginationProps = instance.options.muiTablePaginationProps;
5440
+ _instance$options = instance.options,
5441
+ muiTablePaginationProps = _instance$options.muiTablePaginationProps,
5442
+ enableToolbarInternalActions = _instance$options.enableToolbarInternalActions;
5418
5443
 
5419
5444
  var _getState = getState(),
5420
5445
  _getState$pagination = _getState.pagination,
5421
5446
  _getState$pagination$ = _getState$pagination.pageSize,
5422
5447
  pageSize = _getState$pagination$ === void 0 ? 10 : _getState$pagination$,
5423
5448
  _getState$pagination$2 = _getState$pagination.pageIndex,
5424
- pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2;
5449
+ pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2,
5450
+ showGlobalFilter = _getState.showGlobalFilter;
5425
5451
 
5426
5452
  var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps({
5427
5453
  instance: instance
@@ -5457,6 +5483,7 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
5457
5483
  }, tablePaginationProps, {
5458
5484
  sx: _extends({
5459
5485
  m: '0 0.5rem',
5486
+ mt: position === 'top' && enableToolbarInternalActions && !showGlobalFilter ? '3.5rem' : undefined,
5460
5487
  position: 'relative',
5461
5488
  zIndex: 2
5462
5489
  }, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
@@ -5559,12 +5586,11 @@ var commonToolbarStyles = function commonToolbarStyles(_ref) {
5559
5586
  overflow: 'hidden',
5560
5587
  p: '0 !important',
5561
5588
  transition: 'all 0.2s ease-in-out',
5562
- width: '100%',
5563
5589
  zIndex: 1
5564
5590
  };
5565
5591
  };
5566
5592
  var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5567
- var _renderToolbarCustomA;
5593
+ var _renderToolbarTopCust;
5568
5594
 
5569
5595
  var instance = _ref2.instance;
5570
5596
  var getState = instance.getState,
@@ -5572,13 +5598,12 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5572
5598
  enableGlobalFilter = _instance$options.enableGlobalFilter,
5573
5599
  enablePagination = _instance$options.enablePagination,
5574
5600
  enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
5575
- tableId = _instance$options.tableId,
5576
5601
  muiTableToolbarTopProps = _instance$options.muiTableToolbarTopProps,
5577
- positionPagination = _instance$options.positionPagination,
5578
5602
  positionGlobalFilter = _instance$options.positionGlobalFilter,
5579
- positionToolbarActions = _instance$options.positionToolbarActions,
5603
+ positionPagination = _instance$options.positionPagination,
5580
5604
  positionToolbarAlertBanner = _instance$options.positionToolbarAlertBanner,
5581
- renderToolbarCustomActions = _instance$options.renderToolbarCustomActions;
5605
+ renderToolbarTopCustomActions = _instance$options.renderToolbarTopCustomActions,
5606
+ tableId = _instance$options.tableId;
5582
5607
 
5583
5608
  var _getState = getState(),
5584
5609
  isFullScreen = _getState.isFullScreen,
@@ -5588,7 +5613,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5588
5613
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
5589
5614
  instance: instance
5590
5615
  }) : muiTableToolbarTopProps;
5591
- var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && (!!renderToolbarCustomActions || showGlobalFilter);
5616
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && (!!renderToolbarTopCustomActions || showGlobalFilter);
5592
5617
  return React__default.createElement(material.Toolbar, Object.assign({
5593
5618
  id: "mrt-" + tableId + "-toolbar-top",
5594
5619
  variant: "dense"
@@ -5607,23 +5632,27 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5607
5632
  }), React__default.createElement(material.Box, {
5608
5633
  sx: {
5609
5634
  alignItems: 'flex-start',
5635
+ boxSizing: 'border-box',
5610
5636
  display: 'flex',
5611
5637
  justifyContent: 'space-between',
5612
5638
  p: '0.5rem',
5613
5639
  position: stackAlertBanner ? 'relative' : 'absolute',
5614
5640
  right: 0,
5615
5641
  top: 0,
5616
- width: renderToolbarCustomActions ? '100%' : undefined
5642
+ width: '100%'
5617
5643
  }
5618
5644
  }, enableGlobalFilter && positionGlobalFilter === 'left' && React__default.createElement(MRT_SearchTextField, {
5619
5645
  instance: instance
5620
- }), (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
5646
+ }), (_renderToolbarTopCust = renderToolbarTopCustomActions == null ? void 0 : renderToolbarTopCustomActions({
5621
5647
  instance: instance
5622
- })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
5648
+ })) != null ? _renderToolbarTopCust : React__default.createElement("span", null), enableToolbarInternalActions ? React__default.createElement(MRT_ToolbarInternalButtons, {
5623
5649
  instance: instance
5624
- })), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
5650
+ }) : enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_SearchTextField, {
5625
5651
  instance: instance
5626
- })), React__default.createElement(MRT_LinearProgressBar, {
5652
+ })), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
5653
+ instance: instance,
5654
+ position: "top"
5655
+ }), React__default.createElement(MRT_LinearProgressBar, {
5627
5656
  alignTo: "bottom",
5628
5657
  instance: instance
5629
5658
  }));
@@ -5633,14 +5662,12 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5633
5662
  var instance = _ref.instance;
5634
5663
  var getState = instance.getState,
5635
5664
  _instance$options = instance.options,
5636
- enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
5637
- tableId = _instance$options.tableId,
5638
5665
  enablePagination = _instance$options.enablePagination,
5639
5666
  muiTableToolbarBottomProps = _instance$options.muiTableToolbarBottomProps,
5640
5667
  positionPagination = _instance$options.positionPagination,
5641
- positionToolbarActions = _instance$options.positionToolbarActions,
5642
5668
  positionToolbarAlertBanner = _instance$options.positionToolbarAlertBanner,
5643
- renderToolbarCustomActions = _instance$options.renderToolbarCustomActions;
5669
+ renderToolbarBottomCustomActions = _instance$options.renderToolbarBottomCustomActions,
5670
+ tableId = _instance$options.tableId;
5644
5671
 
5645
5672
  var _getState = getState(),
5646
5673
  isFullScreen = _getState.isFullScreen;
@@ -5649,7 +5676,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5649
5676
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
5650
5677
  instance: instance
5651
5678
  }) : muiTableToolbarBottomProps;
5652
- var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
5679
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && !!renderToolbarBottomCustomActions;
5653
5680
  return React__default.createElement(material.Toolbar, Object.assign({
5654
5681
  id: "mrt-" + tableId + "-toolbar-bottom",
5655
5682
  variant: "dense"
@@ -5672,16 +5699,26 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5672
5699
  sx: {
5673
5700
  display: 'flex',
5674
5701
  justifyContent: 'space-between',
5675
- width: '100%',
5702
+ width: '100%'
5703
+ }
5704
+ }, renderToolbarBottomCustomActions ? React__default.createElement(material.Box, {
5705
+ sx: {
5706
+ p: '0.5rem'
5707
+ }
5708
+ }, renderToolbarBottomCustomActions({
5709
+ instance: instance
5710
+ })) : React__default.createElement("span", null), React__default.createElement(material.Box, {
5711
+ sx: {
5712
+ display: 'flex',
5713
+ justifyContent: 'flex-end',
5676
5714
  position: stackAlertBanner ? 'relative' : 'absolute',
5677
5715
  right: 0,
5678
5716
  top: 0
5679
5717
  }
5680
- }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, {
5681
- instance: instance
5682
- }) : React__default.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
5683
- instance: instance
5684
- })));
5718
+ }, enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
5719
+ instance: instance,
5720
+ position: "bottom"
5721
+ }))));
5685
5722
  };
5686
5723
 
5687
5724
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
@@ -7505,7 +7542,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
7505
7542
  };
7506
7543
 
7507
7544
  var MRT_TableRoot = function MRT_TableRoot(props) {
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;
7545
+ var _initialState$columnO, _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;
7509
7546
 
7510
7547
  var _useState = React.useState(props.tableId),
7511
7548
  tableId = _useState[0],
@@ -7516,15 +7553,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7516
7553
 
7517
7554
  return setIdPrefix((_props$tableId = props.tableId) != null ? _props$tableId : Math.random().toString(36).substring(2, 9));
7518
7555
  }, [props.tableId]);
7519
- var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
7520
- var showExpandColumn = props.enableExpanding || props.enableGrouping;
7521
7556
  var initialState = React.useMemo(function () {
7522
7557
  var _props$initialState, _initState$columnOrde;
7523
7558
 
7524
7559
  var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
7525
- initState.columnOrder = ((_initState$columnOrde = initState == null ? void 0 : initState.columnOrder) != null ? _initState$columnOrde : props.enableColumnOrdering || props.enableGrouping) ? [showActionColumn && 'mrt-row-actions', showExpandColumn && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
7526
- return c.id;
7527
- })).filter(Boolean) : [];
7560
+ initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
7528
7561
 
7529
7562
  if (!props.enablePersistentState || !props.tableId) {
7530
7563
  return initState;
@@ -7551,43 +7584,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7551
7584
  return initState;
7552
7585
  }, []);
7553
7586
 
7554
- var _useState2 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
7555
- currentEditingCell = _useState2[0],
7556
- setCurrentEditingCell = _useState2[1];
7587
+ var _useState2 = React.useState((_initialState$columnO = initialState.columnOrder) != null ? _initialState$columnO : []),
7588
+ columnOrder = _useState2[0],
7589
+ setColumnOrder = _useState2[1];
7590
+
7591
+ var _useState3 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
7592
+ currentEditingCell = _useState3[0],
7593
+ setCurrentEditingCell = _useState3[1];
7557
7594
 
7558
- var _useState3 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
7559
- currentEditingRow = _useState3[0],
7560
- setCurrentEditingRow = _useState3[1];
7595
+ var _useState4 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
7596
+ currentEditingRow = _useState4[0],
7597
+ setCurrentEditingRow = _useState4[1];
7561
7598
 
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];
7599
+ var _useState5 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
7600
+ density = _useState5[0],
7601
+ setDensity = _useState5[1];
7565
7602
 
7566
- var _useState5 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7567
- isFullScreen = _useState5[0],
7568
- setIsFullScreen = _useState5[1];
7603
+ var _useState6 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7604
+ isFullScreen = _useState6[0],
7605
+ setIsFullScreen = _useState6[1];
7569
7606
 
7570
- var _useState6 = React.useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
7571
- showFilters = _useState6[0],
7572
- setShowFilters = _useState6[1];
7607
+ var _useState7 = React.useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
7608
+ showFilters = _useState7[0],
7609
+ setShowFilters = _useState7[1];
7573
7610
 
7574
- var _useState7 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
7575
- showGlobalFilter = _useState7[0],
7576
- setShowGlobalFilter = _useState7[1];
7611
+ var _useState8 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
7612
+ showGlobalFilter = _useState8[0],
7613
+ setShowGlobalFilter = _useState8[1];
7577
7614
 
7578
- var _useState8 = React.useState(function () {
7615
+ var _useState9 = React.useState(function () {
7579
7616
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
7580
7617
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
7581
7618
 
7582
7619
  return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? 'equals' : 'fuzzy', _ref2;
7583
7620
  })));
7584
7621
  }),
7585
- currentFilterFns = _useState8[0],
7586
- setCurrentFilterFns = _useState8[1];
7622
+ currentFilterFns = _useState9[0],
7623
+ setCurrentFilterFns = _useState9[1];
7587
7624
 
7588
- var _useState9 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
7589
- currentGlobalFilterFn = _useState9[0],
7590
- setCurrentGlobalFilterFn = _useState9[1];
7625
+ var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
7626
+ currentGlobalFilterFn = _useState10[0],
7627
+ setCurrentGlobalFilterFn = _useState10[1];
7591
7628
 
7592
7629
  var table = React.useMemo(function () {
7593
7630
  return (// @ts-ignore
@@ -7604,16 +7641,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7604
7641
  getSubRows: function getSubRows(row) {
7605
7642
  return row == null ? void 0 : row.subRows;
7606
7643
  },
7607
- tableId: tableId,
7608
- initialState: initialState
7644
+ tableId: tableId
7609
7645
  })
7610
7646
  );
7611
7647
  }, []);
7612
-
7613
- var _useMemo = React.useMemo(function () {
7648
+ var displayColumns = React.useMemo(function () {
7614
7649
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
7615
7650
 
7616
- var leadingDisplayColumns = [showActionColumn && createDisplayColumn(table, {
7651
+ return [columnOrder.includes('mrt-row-actions') && createDisplayColumn(table, {
7617
7652
  Cell: function Cell(_ref3) {
7618
7653
  var cell = _ref3.cell;
7619
7654
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -7626,7 +7661,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7626
7661
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7627
7662
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7628
7663
  size: 70
7629
- }), showExpandColumn && createDisplayColumn(table, {
7664
+ }), columnOrder.includes('mrt-expand') && createDisplayColumn(table, {
7630
7665
  Cell: function Cell(_ref4) {
7631
7666
  var cell = _ref4.cell;
7632
7667
  return React__default.createElement(MRT_ExpandButton, {
@@ -7644,7 +7679,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7644
7679
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7645
7680
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7646
7681
  size: 50
7647
- }), props.enableRowSelection && createDisplayColumn(table, {
7682
+ }), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
7648
7683
  Cell: function Cell(_ref5) {
7649
7684
  var cell = _ref5.cell;
7650
7685
  return React__default.createElement(MRT_SelectCheckbox, {
@@ -7663,7 +7698,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7663
7698
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7664
7699
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7665
7700
  size: 50
7666
- }), props.enableRowNumbers && createDisplayColumn(table, {
7701
+ }), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
7667
7702
  Cell: function Cell(_ref6) {
7668
7703
  var cell = _ref6.cell;
7669
7704
  return cell.row.index + 1;
@@ -7679,23 +7714,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7679
7714
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7680
7715
  size: 50
7681
7716
  })].filter(Boolean);
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
-
7717
+ }, [columnOrder, 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]);
7695
7718
  var columns = React.useMemo(function () {
7696
- return [].concat(leadingDisplayColumns, props.columns.map(function (column) {
7719
+ return [].concat(displayColumns, props.columns.map(function (column) {
7697
7720
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
7698
- }), trailingDisplayColumns);
7721
+ }));
7699
7722
  }, [table, props.columns, currentFilterFns]);
7700
7723
  var data = React.useMemo(function () {
7701
7724
  var _props$state, _props$state2;
@@ -7709,13 +7732,17 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7709
7732
  }) : props.data;
7710
7733
  }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
7711
7734
 
7712
- var instance = _extends({}, reactTable.useTableInstance(table, _extends({}, props, {
7735
+ var instance = _extends({}, reactTable.useTableInstance(table, _extends({
7736
+ onColumnOrderChange: setColumnOrder
7737
+ }, props, {
7713
7738
  //@ts-ignore
7714
7739
  columns: columns,
7715
7740
  data: data,
7716
7741
  //@ts-ignore
7717
7742
  globalFilterFn: currentGlobalFilterFn,
7743
+ initialState: initialState,
7718
7744
  state: _extends({
7745
+ columnOrder: columnOrder,
7719
7746
  currentEditingCell: currentEditingCell,
7720
7747
  currentEditingRow: currentEditingRow,
7721
7748
  currentFilterFns: currentFilterFns,
@@ -7776,7 +7803,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7776
7803
  }));
7777
7804
  };
7778
7805
 
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"];
7806
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
7780
7807
  var MaterialReactTable = (function (_ref) {
7781
7808
  var _ref$autoResetExpande = _ref.autoResetExpanded,
7782
7809
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -7818,6 +7845,8 @@ var MaterialReactTable = (function (_ref) {
7818
7845
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
7819
7846
  _ref$enablePinning = _ref.enablePinning,
7820
7847
  enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
7848
+ _ref$enableRowSelecti = _ref.enableRowSelection,
7849
+ enableRowSelection = _ref$enableRowSelecti === void 0 ? false : _ref$enableRowSelecti,
7821
7850
  _ref$enableSelectAll = _ref.enableSelectAll,
7822
7851
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
7823
7852
  _ref$enableSorting = _ref.enableSorting,
@@ -7840,14 +7869,12 @@ var MaterialReactTable = (function (_ref) {
7840
7869
  persistentStateMode = _ref$persistentStateM === void 0 ? 'sessionStorage' : _ref$persistentStateM,
7841
7870
  _ref$positionActionsC = _ref.positionActionsColumn,
7842
7871
  positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
7843
- _ref$positionPaginati = _ref.positionPagination,
7844
- positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
7845
7872
  _ref$positionGlobalFi = _ref.positionGlobalFilter,
7846
7873
  positionGlobalFilter = _ref$positionGlobalFi === void 0 ? 'right' : _ref$positionGlobalFi,
7847
- _ref$positionToolbarA = _ref.positionToolbarActions,
7848
- positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
7849
- _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
7850
- positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
7874
+ _ref$positionPaginati = _ref.positionPagination,
7875
+ positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
7876
+ _ref$positionToolbarA = _ref.positionToolbarAlertBanner,
7877
+ positionToolbarAlertBanner = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
7851
7878
  _ref$rowNumberMode = _ref.rowNumberMode,
7852
7879
  rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
7853
7880
  _ref$selectAllMode = _ref.selectAllMode,
@@ -7873,6 +7900,7 @@ var MaterialReactTable = (function (_ref) {
7873
7900
  enableMultiRowSelection: enableMultiRowSelection,
7874
7901
  enablePagination: enablePagination,
7875
7902
  enablePinning: enablePinning,
7903
+ enableRowSelection: enableRowSelection,
7876
7904
  enableSelectAll: enableSelectAll,
7877
7905
  enableSorting: enableSorting,
7878
7906
  enableStickyHeader: enableStickyHeader,
@@ -7887,7 +7915,6 @@ var MaterialReactTable = (function (_ref) {
7887
7915
  positionActionsColumn: positionActionsColumn,
7888
7916
  positionGlobalFilter: positionGlobalFilter,
7889
7917
  positionPagination: positionPagination,
7890
- positionToolbarActions: positionToolbarActions,
7891
7918
  positionToolbarAlertBanner: positionToolbarAlertBanner,
7892
7919
  rowNumberMode: rowNumberMode,
7893
7920
  selectAllMode: selectAllMode