material-react-table 0.13.2 → 0.14.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
@@ -1,17 +1,20 @@
1
1
  # Material React Table
2
2
 
3
+ <a href="https://npmjs.com/package/material-react-table" target="_blank_">
4
+ <img alt="" src="https://badgen.net/npm/v/material-react-table" />
5
+ </a>
3
6
  <a href="https://bundlephobia.com/result?p=material-react-table" target="_blank_">
4
7
  <img alt="" src="https://badgen.net/bundlephobia/minzip/material-react-table@latest" />
5
8
  </a>
6
-
7
9
  <a href="https://npmjs.com/package/material-react-table" target="_blank_">
8
10
  <img alt="" src="https://img.shields.io/npm/dm/material-react-table.svg" />
9
11
  </a>
10
-
11
12
  <a href="https://github.com/KevinVandy/material-react-table" target="_blank_">
12
13
  <img alt="" src="https://img.shields.io/github/stars/KevinVandy/material-react-table.svg?style=social&label=Star" />
13
14
  </a>
14
15
 
16
+ ---
17
+
15
18
  > This Project is based on `@tanstack/react-table` v8, which itself is still in beta, so therefore this package is also still in alpha/beta
16
19
 
17
20
  - A fully featured Material UI V5 implementation of Tanstack React Table v8 (beta)
@@ -31,6 +34,8 @@ View the [github source code](https://github.com/KevinVandy/material-react-table
31
34
 
32
35
  Join the [discord](https://discord.gg/5wqyRx6fnm) server to join in on the development discussion or ask questions
33
36
 
37
+ ---
38
+
34
39
  ### Features (All Features work and are MVP, but are still being polished)
35
40
 
36
41
  _All features can easily be enabled/disabled_
@@ -65,6 +70,8 @@ _All features can easily be enabled/disabled_
65
70
  - [x] Tree Data / Expanding Sub-rows
66
71
  - [x] Virtualization (react-virtual)
67
72
 
73
+ ---
74
+
68
75
  ### Installation
69
76
 
70
77
  1. Install Peer Dependencies (Material UI v5)
@@ -79,4 +86,14 @@ npm install @mui/material @mui/icons-material @emotion/react @emotion/styled
79
86
  npm install material-react-table
80
87
  ```
81
88
 
82
- _`@tanstack/react-table`, `react-virtual` and `react-dnd`_ are internal dependencies, so you don't need to install them yourself.
89
+ _`@tanstack/react-table`, `react-virtual` and `react-dnd`_ are internal dependencies, so you don't need to install them yourself.
90
+
91
+ ---
92
+
93
+ ### Contributors
94
+
95
+ <a href="https://github.com/kevinvandy/material-react-table/graphs/contributors">
96
+ <img src="https://contrib.rocks/image?repo=kevinvandy/material-react-table" />
97
+ </a>
98
+
99
+ PRs are Welcome, but please discuss in [GitHub Discussions](https://github.com/KevinVandy/material-react-table/discussions) or the [Discord Server](https://discord.gg/5wqyRx6fnm) first!
@@ -260,7 +260,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
260
260
  instance: MRT_TableInstance<D>;
261
261
  column: MRT_Column<D>;
262
262
  }) => TableCellProps);
263
- muiTableFooterProps?: TableFooterProps | (({ instance }: {
263
+ muiTableFooterProps?: TableFooterProps | (({ instance, }: {
264
264
  instance: MRT_TableInstance<D>;
265
265
  }) => TableFooterProps);
266
266
  muiTableFooterRowProps?: TableRowProps | (({ instance, footerGroup, }: {
@@ -408,7 +408,6 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
408
408
  positionActionsColumn?: 'first' | 'last';
409
409
  positionGlobalFilter?: 'left' | 'right';
410
410
  positionPagination?: 'bottom' | 'top' | 'both';
411
- positionToolbarActions?: 'bottom' | 'top';
412
411
  positionToolbarAlertBanner?: 'bottom' | 'top';
413
412
  renderDetailPanel?: ({ row, instance, }: {
414
413
  row: MRT_Row<D>;
@@ -423,7 +422,10 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
423
422
  row: MRT_Row<D>;
424
423
  instance: MRT_TableInstance<D>;
425
424
  }) => ReactNode;
426
- renderToolbarCustomActions?: ({ instance, }: {
425
+ renderToolbarBottomCustomActions?: ({ instance, }: {
426
+ instance: MRT_TableInstance<D>;
427
+ }) => ReactNode;
428
+ renderToolbarTopCustomActions?: ({ instance, }: {
427
429
  instance: MRT_TableInstance<D>;
428
430
  }) => ReactNode;
429
431
  renderToolbarInternalActions?: ({ instance, MRT_ToggleGlobalFilterButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
@@ -449,5 +451,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
449
451
  tableId?: string;
450
452
  virtualizerProps?: VirtualizerOptions<HTMLDivElement>;
451
453
  };
452
- 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;
454
+ 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, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
453
455
  export default _default;
@@ -3412,6 +3412,17 @@ var reorderColumn = function reorderColumn(movingColumn, receivingColumn, column
3412
3412
  columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
3413
3413
  setColumnOrder([].concat(columnOrder));
3414
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
+ };
3415
3426
 
3416
3427
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
3417
3428
  var _column$columns2;
@@ -3597,7 +3608,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
3597
3608
  onClick: hideAllColumns
3598
3609
  }, localization.hideAll), !isSubMenu && enableColumnOrdering && React__default.createElement(material.Button, {
3599
3610
  onClick: function onClick() {
3600
- return instance.resetColumnOrder();
3611
+ return instance.setColumnOrder(getDefaultColumnOrderIds(instance.options));
3601
3612
  }
3602
3613
  }, localization.resetOrder), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
3603
3614
  disabled: !getIsSomeColumnsPinned(),
@@ -5352,7 +5363,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
5352
5363
  }, React__default.createElement(material.Tooltip, {
5353
5364
  arrow: true,
5354
5365
  title: localization.changeSearchMode
5355
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
5366
+ }, React__default.createElement(material.IconButton, {
5356
5367
  "aria-label": localization.changeSearchMode,
5357
5368
  onClick: handleGlobalFilterMenuOpen,
5358
5369
  size: "small",
@@ -5360,7 +5371,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
5360
5371
  height: '1.75rem',
5361
5372
  width: '1.75rem'
5362
5373
  }
5363
- }, React__default.createElement(SearchIcon, null))))),
5374
+ }, React__default.createElement(SearchIcon, null)))),
5364
5375
  endAdornment: React__default.createElement(material.InputAdornment, {
5365
5376
  position: "end"
5366
5377
  }, React__default.createElement(material.IconButton, {
@@ -5371,11 +5382,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
5371
5382
  title: localization.clearSearch
5372
5383
  }, React__default.createElement(CloseIcon, null)))
5373
5384
  }
5374
- }, textFieldProps, {
5375
- sx: _extends({
5376
- justifySelf: 'end'
5377
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
5378
- })), React__default.createElement(MRT_FilterOptionMenu, {
5385
+ }, textFieldProps)), React__default.createElement(MRT_FilterOptionMenu, {
5379
5386
  anchorEl: anchorEl,
5380
5387
  setAnchorEl: setAnchorEl,
5381
5388
  instance: instance
@@ -5397,8 +5404,8 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
5397
5404
  renderToolbarInternalActions = _instance$options.renderToolbarInternalActions;
5398
5405
  return React__default.createElement(material.Box, {
5399
5406
  sx: {
5400
- display: 'flex',
5401
5407
  alignItems: 'center',
5408
+ display: 'flex',
5402
5409
  zIndex: 3
5403
5410
  }
5404
5411
  }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
@@ -5424,19 +5431,23 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
5424
5431
  };
5425
5432
 
5426
5433
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
5427
- var instance = _ref.instance;
5434
+ var instance = _ref.instance,
5435
+ position = _ref.position;
5428
5436
  var getPrePaginationRowModel = instance.getPrePaginationRowModel,
5429
5437
  getState = instance.getState,
5430
5438
  setPageIndex = instance.setPageIndex,
5431
5439
  setPageSize = instance.setPageSize,
5432
- muiTablePaginationProps = instance.options.muiTablePaginationProps;
5440
+ _instance$options = instance.options,
5441
+ muiTablePaginationProps = _instance$options.muiTablePaginationProps,
5442
+ enableToolbarInternalActions = _instance$options.enableToolbarInternalActions;
5433
5443
 
5434
5444
  var _getState = getState(),
5435
5445
  _getState$pagination = _getState.pagination,
5436
5446
  _getState$pagination$ = _getState$pagination.pageSize,
5437
5447
  pageSize = _getState$pagination$ === void 0 ? 10 : _getState$pagination$,
5438
5448
  _getState$pagination$2 = _getState$pagination.pageIndex,
5439
- 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;
5440
5451
 
5441
5452
  var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps({
5442
5453
  instance: instance
@@ -5472,6 +5483,7 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
5472
5483
  }, tablePaginationProps, {
5473
5484
  sx: _extends({
5474
5485
  m: '0 0.5rem',
5486
+ mt: position === 'top' && enableToolbarInternalActions && !showGlobalFilter ? '3.5rem' : undefined,
5475
5487
  position: 'relative',
5476
5488
  zIndex: 2
5477
5489
  }, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
@@ -5574,12 +5586,11 @@ var commonToolbarStyles = function commonToolbarStyles(_ref) {
5574
5586
  overflow: 'hidden',
5575
5587
  p: '0 !important',
5576
5588
  transition: 'all 0.2s ease-in-out',
5577
- width: '100%',
5578
5589
  zIndex: 1
5579
5590
  };
5580
5591
  };
5581
5592
  var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5582
- var _renderToolbarCustomA;
5593
+ var _renderToolbarTopCust;
5583
5594
 
5584
5595
  var instance = _ref2.instance;
5585
5596
  var getState = instance.getState,
@@ -5587,13 +5598,12 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5587
5598
  enableGlobalFilter = _instance$options.enableGlobalFilter,
5588
5599
  enablePagination = _instance$options.enablePagination,
5589
5600
  enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
5590
- tableId = _instance$options.tableId,
5591
5601
  muiTableToolbarTopProps = _instance$options.muiTableToolbarTopProps,
5592
- positionPagination = _instance$options.positionPagination,
5593
5602
  positionGlobalFilter = _instance$options.positionGlobalFilter,
5594
- positionToolbarActions = _instance$options.positionToolbarActions,
5603
+ positionPagination = _instance$options.positionPagination,
5595
5604
  positionToolbarAlertBanner = _instance$options.positionToolbarAlertBanner,
5596
- renderToolbarCustomActions = _instance$options.renderToolbarCustomActions;
5605
+ renderToolbarTopCustomActions = _instance$options.renderToolbarTopCustomActions,
5606
+ tableId = _instance$options.tableId;
5597
5607
 
5598
5608
  var _getState = getState(),
5599
5609
  isFullScreen = _getState.isFullScreen,
@@ -5603,7 +5613,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5603
5613
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
5604
5614
  instance: instance
5605
5615
  }) : muiTableToolbarTopProps;
5606
- var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && (!!renderToolbarCustomActions || showGlobalFilter);
5616
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && (!!renderToolbarTopCustomActions || showGlobalFilter);
5607
5617
  return React__default.createElement(material.Toolbar, Object.assign({
5608
5618
  id: "mrt-" + tableId + "-toolbar-top",
5609
5619
  variant: "dense"
@@ -5622,23 +5632,27 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
5622
5632
  }), React__default.createElement(material.Box, {
5623
5633
  sx: {
5624
5634
  alignItems: 'flex-start',
5635
+ boxSizing: 'border-box',
5625
5636
  display: 'flex',
5626
5637
  justifyContent: 'space-between',
5627
5638
  p: '0.5rem',
5628
5639
  position: stackAlertBanner ? 'relative' : 'absolute',
5629
5640
  right: 0,
5630
5641
  top: 0,
5631
- width: renderToolbarCustomActions ? '100%' : undefined
5642
+ width: '100%'
5632
5643
  }
5633
5644
  }, enableGlobalFilter && positionGlobalFilter === 'left' && React__default.createElement(MRT_SearchTextField, {
5634
5645
  instance: instance
5635
- }), (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
5646
+ }), (_renderToolbarTopCust = renderToolbarTopCustomActions == null ? void 0 : renderToolbarTopCustomActions({
5636
5647
  instance: instance
5637
- })) != 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, {
5638
5649
  instance: instance
5639
- })), 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, {
5640
5651
  instance: instance
5641
- })), 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, {
5642
5656
  alignTo: "bottom",
5643
5657
  instance: instance
5644
5658
  }));
@@ -5648,14 +5662,12 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5648
5662
  var instance = _ref.instance;
5649
5663
  var getState = instance.getState,
5650
5664
  _instance$options = instance.options,
5651
- enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
5652
- tableId = _instance$options.tableId,
5653
5665
  enablePagination = _instance$options.enablePagination,
5654
5666
  muiTableToolbarBottomProps = _instance$options.muiTableToolbarBottomProps,
5655
5667
  positionPagination = _instance$options.positionPagination,
5656
- positionToolbarActions = _instance$options.positionToolbarActions,
5657
5668
  positionToolbarAlertBanner = _instance$options.positionToolbarAlertBanner,
5658
- renderToolbarCustomActions = _instance$options.renderToolbarCustomActions;
5669
+ renderToolbarBottomCustomActions = _instance$options.renderToolbarBottomCustomActions,
5670
+ tableId = _instance$options.tableId;
5659
5671
 
5660
5672
  var _getState = getState(),
5661
5673
  isFullScreen = _getState.isFullScreen;
@@ -5664,7 +5676,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5664
5676
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
5665
5677
  instance: instance
5666
5678
  }) : muiTableToolbarBottomProps;
5667
- var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
5679
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && !!renderToolbarBottomCustomActions;
5668
5680
  return React__default.createElement(material.Toolbar, Object.assign({
5669
5681
  id: "mrt-" + tableId + "-toolbar-bottom",
5670
5682
  variant: "dense"
@@ -5687,16 +5699,26 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5687
5699
  sx: {
5688
5700
  display: 'flex',
5689
5701
  justifyContent: 'space-between',
5690
- 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',
5691
5714
  position: stackAlertBanner ? 'relative' : 'absolute',
5692
5715
  right: 0,
5693
5716
  top: 0
5694
5717
  }
5695
- }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, {
5696
- instance: instance
5697
- }) : React__default.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
5698
- instance: instance
5699
- })));
5718
+ }, enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
5719
+ instance: instance,
5720
+ position: "bottom"
5721
+ }))));
5700
5722
  };
5701
5723
 
5702
5724
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
@@ -7038,6 +7060,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7038
7060
  muiTableBodyCellProps = _instance$options.muiTableBodyCellProps,
7039
7061
  muiTableBodyCellSkeletonProps = _instance$options.muiTableBodyCellSkeletonProps,
7040
7062
  onCellClick = _instance$options.onCellClick,
7063
+ onRowClick = _instance$options.onRowClick,
7041
7064
  rowNumberMode = _instance$options.rowNumberMode,
7042
7065
  tableId = _instance$options.tableId,
7043
7066
  setColumnOrder = instance.setColumnOrder,
@@ -7124,7 +7147,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7124
7147
  return _extends({
7125
7148
  backgroundColor: column.getIsPinned() ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
7126
7149
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
7127
- cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
7150
+ cursor: isEditable && editingMode === 'cell' || onRowClick || onCellClick ? 'pointer' : 'text',
7128
7151
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
7129
7152
  overflow: 'hidden',
7130
7153
  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',
@@ -7520,7 +7543,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
7520
7543
  };
7521
7544
 
7522
7545
  var MRT_TableRoot = function MRT_TableRoot(props) {
7523
- 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;
7546
+ 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;
7524
7547
 
7525
7548
  var _useState = React.useState(props.tableId),
7526
7549
  tableId = _useState[0],
@@ -7531,15 +7554,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7531
7554
 
7532
7555
  return setIdPrefix((_props$tableId = props.tableId) != null ? _props$tableId : Math.random().toString(36).substring(2, 9));
7533
7556
  }, [props.tableId]);
7534
- var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
7535
- var showExpandColumn = props.enableExpanding || props.enableGrouping;
7536
7557
  var initialState = React.useMemo(function () {
7537
7558
  var _props$initialState, _initState$columnOrde;
7538
7559
 
7539
7560
  var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
7540
- 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) {
7541
- return c.id;
7542
- })).filter(Boolean) : [];
7561
+ initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
7543
7562
 
7544
7563
  if (!props.enablePersistentState || !props.tableId) {
7545
7564
  return initState;
@@ -7566,43 +7585,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7566
7585
  return initState;
7567
7586
  }, []);
7568
7587
 
7569
- var _useState2 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
7570
- currentEditingCell = _useState2[0],
7571
- setCurrentEditingCell = _useState2[1];
7588
+ var _useState2 = React.useState((_initialState$columnO = initialState.columnOrder) != null ? _initialState$columnO : []),
7589
+ columnOrder = _useState2[0],
7590
+ setColumnOrder = _useState2[1];
7591
+
7592
+ var _useState3 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
7593
+ currentEditingCell = _useState3[0],
7594
+ setCurrentEditingCell = _useState3[1];
7572
7595
 
7573
- var _useState3 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
7574
- currentEditingRow = _useState3[0],
7575
- setCurrentEditingRow = _useState3[1];
7596
+ var _useState4 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
7597
+ currentEditingRow = _useState4[0],
7598
+ setCurrentEditingRow = _useState4[1];
7576
7599
 
7577
- var _useState4 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
7578
- density = _useState4[0],
7579
- setDensity = _useState4[1];
7600
+ var _useState5 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
7601
+ density = _useState5[0],
7602
+ setDensity = _useState5[1];
7580
7603
 
7581
- var _useState5 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7582
- isFullScreen = _useState5[0],
7583
- setIsFullScreen = _useState5[1];
7604
+ var _useState6 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7605
+ isFullScreen = _useState6[0],
7606
+ setIsFullScreen = _useState6[1];
7584
7607
 
7585
- var _useState6 = React.useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
7586
- showFilters = _useState6[0],
7587
- setShowFilters = _useState6[1];
7608
+ var _useState7 = React.useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
7609
+ showFilters = _useState7[0],
7610
+ setShowFilters = _useState7[1];
7588
7611
 
7589
- var _useState7 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
7590
- showGlobalFilter = _useState7[0],
7591
- setShowGlobalFilter = _useState7[1];
7612
+ var _useState8 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
7613
+ showGlobalFilter = _useState8[0],
7614
+ setShowGlobalFilter = _useState8[1];
7592
7615
 
7593
- var _useState8 = React.useState(function () {
7616
+ var _useState9 = React.useState(function () {
7594
7617
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
7595
7618
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
7596
7619
 
7597
7620
  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;
7598
7621
  })));
7599
7622
  }),
7600
- currentFilterFns = _useState8[0],
7601
- setCurrentFilterFns = _useState8[1];
7623
+ currentFilterFns = _useState9[0],
7624
+ setCurrentFilterFns = _useState9[1];
7602
7625
 
7603
- var _useState9 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
7604
- currentGlobalFilterFn = _useState9[0],
7605
- setCurrentGlobalFilterFn = _useState9[1];
7626
+ var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
7627
+ currentGlobalFilterFn = _useState10[0],
7628
+ setCurrentGlobalFilterFn = _useState10[1];
7606
7629
 
7607
7630
  var table = React.useMemo(function () {
7608
7631
  return (// @ts-ignore
@@ -7619,16 +7642,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7619
7642
  getSubRows: function getSubRows(row) {
7620
7643
  return row == null ? void 0 : row.subRows;
7621
7644
  },
7622
- tableId: tableId,
7623
- initialState: initialState
7645
+ tableId: tableId
7624
7646
  })
7625
7647
  );
7626
7648
  }, []);
7627
-
7628
- var _useMemo = React.useMemo(function () {
7649
+ var displayColumns = React.useMemo(function () {
7629
7650
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
7630
7651
 
7631
- var leadingDisplayColumns = [showActionColumn && createDisplayColumn(table, {
7652
+ return [columnOrder.includes('mrt-row-actions') && createDisplayColumn(table, {
7632
7653
  Cell: function Cell(_ref3) {
7633
7654
  var cell = _ref3.cell;
7634
7655
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -7641,7 +7662,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7641
7662
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7642
7663
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7643
7664
  size: 70
7644
- }), showExpandColumn && createDisplayColumn(table, {
7665
+ }), columnOrder.includes('mrt-expand') && createDisplayColumn(table, {
7645
7666
  Cell: function Cell(_ref4) {
7646
7667
  var cell = _ref4.cell;
7647
7668
  return React__default.createElement(MRT_ExpandButton, {
@@ -7659,7 +7680,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7659
7680
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7660
7681
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7661
7682
  size: 50
7662
- }), props.enableRowSelection && createDisplayColumn(table, {
7683
+ }), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
7663
7684
  Cell: function Cell(_ref5) {
7664
7685
  var cell = _ref5.cell;
7665
7686
  return React__default.createElement(MRT_SelectCheckbox, {
@@ -7678,7 +7699,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7678
7699
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7679
7700
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7680
7701
  size: 50
7681
- }), props.enableRowNumbers && createDisplayColumn(table, {
7702
+ }), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
7682
7703
  Cell: function Cell(_ref6) {
7683
7704
  var cell = _ref6.cell;
7684
7705
  return cell.row.index + 1;
@@ -7694,23 +7715,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7694
7715
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7695
7716
  size: 50
7696
7717
  })].filter(Boolean);
7697
- var trailingDisplayColumns = [];
7698
-
7699
- if (props.enableRowActions && props.positionActionsColumn === 'last') {
7700
- trailingDisplayColumns.push.apply(trailingDisplayColumns, leadingDisplayColumns.splice(leadingDisplayColumns.findIndex(function (col) {
7701
- return col.id === 'mrt-row-actions';
7702
- }), 1));
7703
- }
7704
-
7705
- return [leadingDisplayColumns, trailingDisplayColumns];
7706
- }, [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]),
7707
- leadingDisplayColumns = _useMemo[0],
7708
- trailingDisplayColumns = _useMemo[1];
7709
-
7718
+ }, [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]);
7710
7719
  var columns = React.useMemo(function () {
7711
- return [].concat(leadingDisplayColumns, props.columns.map(function (column) {
7720
+ return [].concat(displayColumns, props.columns.map(function (column) {
7712
7721
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
7713
- }), trailingDisplayColumns);
7722
+ }));
7714
7723
  }, [table, props.columns, currentFilterFns]);
7715
7724
  var data = React.useMemo(function () {
7716
7725
  var _props$state, _props$state2;
@@ -7724,13 +7733,17 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7724
7733
  }) : props.data;
7725
7734
  }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
7726
7735
 
7727
- var instance = _extends({}, reactTable.useTableInstance(table, _extends({}, props, {
7736
+ var instance = _extends({}, reactTable.useTableInstance(table, _extends({
7737
+ onColumnOrderChange: setColumnOrder
7738
+ }, props, {
7728
7739
  //@ts-ignore
7729
7740
  columns: columns,
7730
7741
  data: data,
7731
7742
  //@ts-ignore
7732
7743
  globalFilterFn: currentGlobalFilterFn,
7744
+ initialState: initialState,
7733
7745
  state: _extends({
7746
+ columnOrder: columnOrder,
7734
7747
  currentEditingCell: currentEditingCell,
7735
7748
  currentEditingRow: currentEditingRow,
7736
7749
  currentFilterFns: currentFilterFns,
@@ -7791,7 +7804,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7791
7804
  }));
7792
7805
  };
7793
7806
 
7794
- 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"];
7807
+ 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"];
7795
7808
  var MaterialReactTable = (function (_ref) {
7796
7809
  var _ref$autoResetExpande = _ref.autoResetExpanded,
7797
7810
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -7833,6 +7846,8 @@ var MaterialReactTable = (function (_ref) {
7833
7846
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
7834
7847
  _ref$enablePinning = _ref.enablePinning,
7835
7848
  enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
7849
+ _ref$enableRowSelecti = _ref.enableRowSelection,
7850
+ enableRowSelection = _ref$enableRowSelecti === void 0 ? false : _ref$enableRowSelecti,
7836
7851
  _ref$enableSelectAll = _ref.enableSelectAll,
7837
7852
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
7838
7853
  _ref$enableSorting = _ref.enableSorting,
@@ -7855,14 +7870,12 @@ var MaterialReactTable = (function (_ref) {
7855
7870
  persistentStateMode = _ref$persistentStateM === void 0 ? 'sessionStorage' : _ref$persistentStateM,
7856
7871
  _ref$positionActionsC = _ref.positionActionsColumn,
7857
7872
  positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
7858
- _ref$positionPaginati = _ref.positionPagination,
7859
- positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
7860
7873
  _ref$positionGlobalFi = _ref.positionGlobalFilter,
7861
7874
  positionGlobalFilter = _ref$positionGlobalFi === void 0 ? 'right' : _ref$positionGlobalFi,
7862
- _ref$positionToolbarA = _ref.positionToolbarActions,
7863
- positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
7864
- _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
7865
- positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
7875
+ _ref$positionPaginati = _ref.positionPagination,
7876
+ positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
7877
+ _ref$positionToolbarA = _ref.positionToolbarAlertBanner,
7878
+ positionToolbarAlertBanner = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
7866
7879
  _ref$rowNumberMode = _ref.rowNumberMode,
7867
7880
  rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
7868
7881
  _ref$selectAllMode = _ref.selectAllMode,
@@ -7888,6 +7901,7 @@ var MaterialReactTable = (function (_ref) {
7888
7901
  enableMultiRowSelection: enableMultiRowSelection,
7889
7902
  enablePagination: enablePagination,
7890
7903
  enablePinning: enablePinning,
7904
+ enableRowSelection: enableRowSelection,
7891
7905
  enableSelectAll: enableSelectAll,
7892
7906
  enableSorting: enableSorting,
7893
7907
  enableStickyHeader: enableStickyHeader,
@@ -7902,7 +7916,6 @@ var MaterialReactTable = (function (_ref) {
7902
7916
  positionActionsColumn: positionActionsColumn,
7903
7917
  positionGlobalFilter: positionGlobalFilter,
7904
7918
  positionPagination: positionPagination,
7905
- positionToolbarActions: positionToolbarActions,
7906
7919
  positionToolbarAlertBanner: positionToolbarAlertBanner,
7907
7920
  rowNumberMode: rowNumberMode,
7908
7921
  selectAllMode: selectAllMode