material-react-table 0.8.11 → 0.8.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
2
2
  import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
- import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, Overwrite, PaginationState, ReactTableGenerics, Row, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
3
+ import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, Overwrite, ReactTableGenerics, Row, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
4
4
  import { MRT_Localization } from './localization';
5
5
  import { MRT_Icons } from './icons';
6
6
  import { MRT_FILTER_OPTION } from './enums';
@@ -21,11 +21,13 @@ export interface MRT_RowModel<D extends Record<string, any> = {}> {
21
21
  }
22
22
  export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<TableInstance<Overwrite<Partial<TableGenerics>, {
23
23
  Row: D;
24
- }>>, 'getAllColumns' | 'getAllLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
24
+ }>>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
25
25
  getAllColumns: () => MRT_Column<D>[];
26
+ getAllFlatColumns: () => MRT_Column<D>[];
26
27
  getAllLeafColumns: () => MRT_Column<D>[];
27
28
  getColumn: (columnId: string) => MRT_Column<D>;
28
29
  getExpandedRowModel: () => MRT_RowModel<D>;
30
+ getFlatHeaders: () => MRT_Header<D>[];
29
31
  getPaginationRowModel: () => MRT_RowModel<D>;
30
32
  getPrePaginationRowModel: () => MRT_RowModel<D>;
31
33
  getRowModel: () => MRT_RowModel<D>;
@@ -47,7 +49,7 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
47
49
  setShowFilters: Dispatch<SetStateAction<boolean>>;
48
50
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
49
51
  };
50
- export declare type MRT_TableState<D extends Record<string, any> = {}> = Omit<TableState, 'pagination'> & {
52
+ export declare type MRT_TableState<D extends Record<string, any> = {}> = TableState & {
51
53
  currentEditingCell: MRT_Cell<D> | null;
52
54
  currentEditingRow: MRT_Row<D> | null;
53
55
  currentFilterFns: Record<string, string | Function>;
@@ -55,7 +57,6 @@ export declare type MRT_TableState<D extends Record<string, any> = {}> = Omit<Ta
55
57
  isDensePadding: boolean;
56
58
  isLoading: boolean;
57
59
  isFullScreen: boolean;
58
- pagination: Partial<PaginationState>;
59
60
  showFilters: boolean;
60
61
  showGlobalFilter: boolean;
61
62
  showProgressBars: boolean;
@@ -37,6 +37,7 @@ export interface MRT_Localization {
37
37
  pinToLeft: string;
38
38
  pinToRight: string;
39
39
  resetColumnSize: string;
40
+ resetOrder: string;
40
41
  rowActions: string;
41
42
  rowNumber: string;
42
43
  rowNumbers: string;
@@ -87,6 +87,7 @@ var MRT_DefaultLocalization_EN = {
87
87
  pinToLeft: 'Pin to left',
88
88
  pinToRight: 'Pin to right',
89
89
  resetColumnSize: 'Reset column size',
90
+ resetOrder: 'Reset order',
90
91
  rowActions: 'Row Actions',
91
92
  rowNumber: '#',
92
93
  rowNumbers: 'Row Numbers',
@@ -557,12 +558,14 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
557
558
  var _getState = getState(),
558
559
  columnVisibility = _getState.columnVisibility;
559
560
 
560
- var switchChecked = column.columnDefType !== 'group' && column.getIsVisible() || column.columnDefType === 'group' && column.getLeafColumns().some(function (col) {
561
+ var columnDef = column.columnDef,
562
+ columnDefType = column.columnDefType;
563
+ var switchChecked = columnDefType !== 'group' && column.getIsVisible() || columnDefType === 'group' && column.getLeafColumns().some(function (col) {
561
564
  return col.getIsVisible();
562
565
  });
563
566
 
564
567
  var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
565
- if (column.columnDefType === 'group') {
568
+ if (columnDefType === 'group') {
566
569
  var _column$columns;
567
570
 
568
571
  column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.forEach == null ? void 0 : _column$columns.forEach(function (childColumn) {
@@ -594,14 +597,15 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
594
597
  componentsProps: {
595
598
  typography: {
596
599
  sx: {
597
- marginBottom: 0
600
+ marginBottom: 0,
601
+ opacity: columnDefType !== 'display' ? 1 : 0.5
598
602
  }
599
603
  }
600
604
  },
601
605
  checked: switchChecked,
602
606
  control: React__default.createElement(material.Switch, null),
603
607
  disabled: isSubMenu && switchChecked || !column.getCanHide(),
604
- label: column.columnDef.header,
608
+ label: columnDef.header,
605
609
  onChange: function onChange() {
606
610
  return handleToggleColumnHidden(column);
607
611
  }
@@ -621,18 +625,21 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
621
625
  setAnchorEl = _ref.setAnchorEl,
622
626
  tableInstance = _ref.tableInstance;
623
627
  var getAllColumns = tableInstance.getAllColumns,
628
+ getAllLeafColumns = tableInstance.getAllLeafColumns,
624
629
  getIsAllColumnsVisible = tableInstance.getIsAllColumnsVisible,
625
- getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
626
630
  getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
631
+ getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
627
632
  getState = tableInstance.getState,
628
633
  toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
629
- getAllLeafColumns = tableInstance.getAllLeafColumns,
630
634
  _tableInstance$option = tableInstance.options,
631
635
  localization = _tableInstance$option.localization,
632
- enablePinning = _tableInstance$option.enablePinning;
636
+ enablePinning = _tableInstance$option.enablePinning,
637
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering;
633
638
 
634
639
  var _getState = getState(),
635
- isDensePadding = _getState.isDensePadding;
640
+ isDensePadding = _getState.isDensePadding,
641
+ columnOrder = _getState.columnOrder,
642
+ columnPinning = _getState.columnPinning;
636
643
 
637
644
  var hideAllColumns = function hideAllColumns() {
638
645
  getAllLeafColumns().filter(function (col) {
@@ -642,23 +649,23 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
642
649
  });
643
650
  };
644
651
 
645
- var allDisplayColumns = React.useMemo(function () {
646
- return getAllColumns().filter(function (col) {
647
- return col.columnDefType === 'display';
648
- });
649
- }, [getAllColumns()]);
650
- var allDataColumns = React.useMemo(function () {
651
- var dataColumns = getAllColumns().filter(function (col) {
652
- return col.columnDefType !== 'display';
653
- });
654
- return getIsSomeColumnsPinned() ? [].concat(dataColumns.filter(function (c) {
655
- return c.getIsPinned() === 'left';
656
- }), [null], dataColumns.filter(function (c) {
657
- return c.getIsPinned() === false;
658
- }), [null], dataColumns.filter(function (c) {
659
- return c.getIsPinned() === 'right';
660
- })) : dataColumns;
661
- }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);
652
+ var allColumns = React.useMemo(function () {
653
+ var columns = getAllColumns();
654
+
655
+ if (columnOrder.length > 0 && !columns.some(function (col) {
656
+ return col.columnDefType === 'group';
657
+ })) {
658
+ var _columnOrder$map;
659
+
660
+ return (_columnOrder$map = columnOrder.map(function (colId) {
661
+ return columns.find(function (col) {
662
+ return col.id === colId;
663
+ });
664
+ })) != null ? _columnOrder$map : columns;
665
+ }
666
+
667
+ return columns;
668
+ }, [getAllColumns(), columnOrder, columnPinning]);
662
669
  return React__default.createElement(material.Menu, {
663
670
  anchorEl: anchorEl,
664
671
  open: !!anchorEl,
@@ -678,7 +685,11 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
678
685
  }, !isSubMenu && React__default.createElement(material.Button, {
679
686
  disabled: !getIsSomeColumnsVisible(),
680
687
  onClick: hideAllColumns
681
- }, localization.hideAll), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
688
+ }, localization.hideAll), !isSubMenu && enableColumnOrdering && React__default.createElement(material.Button, {
689
+ onClick: function onClick() {
690
+ return tableInstance.resetColumnOrder();
691
+ }
692
+ }, localization.resetOrder), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
682
693
  disabled: !getIsSomeColumnsPinned(),
683
694
  onClick: function onClick() {
684
695
  return tableInstance.resetColumnPinning(true);
@@ -688,22 +699,13 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
688
699
  onClick: function onClick() {
689
700
  return toggleAllColumnsVisible(true);
690
701
  }
691
- }, localization.showAll)), React__default.createElement(material.Divider, null), allDisplayColumns.map(function (column, index) {
702
+ }, localization.showAll)), React__default.createElement(material.Divider, null), allColumns.map(function (column, index) {
692
703
  return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
693
704
  column: column,
694
705
  isSubMenu: isSubMenu,
695
706
  key: index + "-" + column.id,
696
707
  tableInstance: tableInstance
697
708
  });
698
- }), React__default.createElement(material.Divider, null), allDataColumns.map(function (column, index) {
699
- return column ? React__default.createElement(MRT_ShowHideColumnsMenuItems, {
700
- column: column,
701
- isSubMenu: isSubMenu,
702
- key: index + "-" + column.id,
703
- tableInstance: tableInstance
704
- }) : React__default.createElement(material.Divider, {
705
- key: index + "-divider"
706
- });
707
709
  }));
708
710
  };
709
711
 
@@ -5620,9 +5622,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5620
5622
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
5621
5623
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
5622
5624
  var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
5623
- console.log({
5624
- textFieldProps: textFieldProps
5625
- });
5626
5625
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
5627
5626
  fullWidth: true,
5628
5627
  id: filterId,
@@ -5800,8 +5799,9 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
5800
5799
  showFilters = _getState.showFilters;
5801
5800
 
5802
5801
  var column = header.column;
5802
+ var columnDef = column.columnDef;
5803
5803
  var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
5804
- var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
5804
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
5805
5805
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '') : localization.showHideFilters;
5806
5806
  return React__default.createElement(material.Tooltip, {
5807
5807
  arrow: true,
@@ -5868,6 +5868,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
5868
5868
  showFilters = _getState.showFilters;
5869
5869
 
5870
5870
  var column = header.column;
5871
+ var columnDefType = column.columnDefType;
5871
5872
  return React__default.createElement(material.Divider, {
5872
5873
  flexItem: true,
5873
5874
  orientation: "vertical",
@@ -5879,7 +5880,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
5879
5880
  borderRadius: '2px',
5880
5881
  borderRightWidth: '2px',
5881
5882
  cursor: 'col-resize',
5882
- height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
5883
+ height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',
5883
5884
  opacity: 0.8,
5884
5885
  position: 'absolute',
5885
5886
  right: '1px',
@@ -5906,7 +5907,8 @@ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
5906
5907
  tableInstance = _ref.tableInstance;
5907
5908
  var localization = tableInstance.options.localization;
5908
5909
  var column = header.column;
5909
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
5910
+ var columnDef = column.columnDef;
5911
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', columnDef.header) : localization.sortedByColumnAsc.replace('{column}', columnDef.header) : localization.unsorted;
5910
5912
  return React__default.createElement(material.Tooltip, {
5911
5913
  arrow: true,
5912
5914
  placement: "top",
@@ -5926,6 +5928,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
5926
5928
  localization = _tableInstance$option.localization,
5927
5929
  muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
5928
5930
  var column = header.column;
5931
+ var columnDef = column.columnDef;
5929
5932
 
5930
5933
  var _useState = React.useState(null),
5931
5934
  anchorEl = _useState[0],
@@ -5941,10 +5944,10 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
5941
5944
  column: column,
5942
5945
  tableInstance: tableInstance
5943
5946
  }) : muiTableHeadCellColumnActionsButtonProps;
5944
- var mcTableHeadCellColumnActionsButtonProps = column.columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.columnDef.muiTableHeadCellColumnActionsButtonProps({
5947
+ var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
5945
5948
  column: column,
5946
5949
  tableInstance: tableInstance
5947
- }) : column.columnDef.muiTableHeadCellColumnActionsButtonProps;
5950
+ }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
5948
5951
 
5949
5952
  var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
5950
5953
 
@@ -5979,7 +5982,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
5979
5982
  };
5980
5983
 
5981
5984
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
5982
- var _column$columnDef, _column$columnDef2, _column$columnDef$Hea, _column$columnDef3, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
5985
+ var _columnDef$Header, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
5983
5986
 
5984
5987
  var dragRef = _ref.dragRef,
5985
5988
  dropRef = _ref.dropRef,
@@ -6013,10 +6016,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6013
6016
 
6014
6017
  var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
6015
6018
 
6016
- var headerElement = ((_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header) instanceof Function ? (_column$columnDef2 = column.columnDef) == null ? void 0 : _column$columnDef2.Header == null ? void 0 : _column$columnDef2.Header({
6019
+ var headerElement = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
6017
6020
  header: header,
6018
6021
  tableInstance: tableInstance
6019
- }) : (_column$columnDef$Hea = (_column$columnDef3 = column.columnDef) == null ? void 0 : _column$columnDef3.Header) != null ? _column$columnDef$Hea : header.renderHeader();
6022
+ }) : (_columnDef$Header = columnDef == null ? void 0 : columnDef.Header) != null ? _columnDef$Header : header.renderHeader();
6020
6023
 
6021
6024
  var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
6022
6025
  return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
@@ -6047,7 +6050,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6047
6050
  p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6048
6051
  pb: columnDefType === 'display' ? 0 : undefined,
6049
6052
  position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
6050
- pt: columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
6053
+ pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.5rem',
6051
6054
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
6052
6055
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
6053
6056
  verticalAlign: 'text-top',
@@ -6117,19 +6120,23 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
6117
6120
  var _getState = getState(),
6118
6121
  columnOrder = _getState.columnOrder;
6119
6122
 
6120
- var reorder = function reorder(item, newIndex) {
6121
- var currentIndex = item.index;
6122
- columnOrder.splice(newIndex, 0, columnOrder.splice(currentIndex, 1)[0]);
6123
+ var reorder = function reorder(movingHeader, receivingHeader) {
6124
+ if (movingHeader.column.getCanPin()) {
6125
+ movingHeader.column.pin(receivingHeader.column.getIsPinned());
6126
+ }
6127
+
6128
+ var currentIndex = movingHeader.index;
6129
+ columnOrder.splice(receivingHeader.index, 0, columnOrder.splice(currentIndex, 1)[0]);
6123
6130
  setColumnOrder([].concat(columnOrder));
6124
6131
  };
6125
6132
 
6126
6133
  var _useDrop = useDrop({
6127
6134
  accept: 'header',
6128
- drop: function drop(item) {
6129
- return reorder(item, header.index);
6135
+ drop: function drop(movingHeader) {
6136
+ return reorder(movingHeader, header);
6130
6137
  }
6131
6138
  }),
6132
- drop = _useDrop[1];
6139
+ dropRef = _useDrop[1];
6133
6140
 
6134
6141
  var _useDrag = useDrag({
6135
6142
  collect: function collect(monitor) {
@@ -6143,15 +6150,15 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
6143
6150
  type: 'header'
6144
6151
  }),
6145
6152
  isDragging = _useDrag[0].isDragging,
6146
- drag = _useDrag[1],
6147
- preview = _useDrag[2];
6153
+ dragRef = _useDrag[1],
6154
+ previewRef = _useDrag[2];
6148
6155
 
6149
6156
  return React__default.createElement(MRT_TableHeadCell, {
6150
- dragRef: drag,
6151
- dropRef: drop,
6157
+ dragRef: dragRef,
6158
+ dropRef: dropRef,
6152
6159
  header: header,
6153
6160
  isDragging: isDragging,
6154
- previewRef: preview,
6161
+ previewRef: previewRef,
6155
6162
  tableInstance: tableInstance
6156
6163
  });
6157
6164
  };
@@ -6297,6 +6304,8 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6297
6304
  var _tableInstance$option = tableInstance.options,
6298
6305
  localization = _tableInstance$option.localization,
6299
6306
  muiTableBodyCellCopyButtonProps = _tableInstance$option.muiTableBodyCellCopyButtonProps;
6307
+ var column = cell.column;
6308
+ var columnDef = column.columnDef;
6300
6309
 
6301
6310
  var _useState = React.useState(false),
6302
6311
  copied = _useState[0],
@@ -6314,10 +6323,10 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6314
6323
  cell: cell,
6315
6324
  tableInstance: tableInstance
6316
6325
  }) : muiTableBodyCellCopyButtonProps;
6317
- var mcTableBodyCellCopyButtonProps = cell.column.columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.columnDef.muiTableBodyCellCopyButtonProps({
6326
+ var mcTableBodyCellCopyButtonProps = columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? columnDef.muiTableBodyCellCopyButtonProps({
6318
6327
  cell: cell,
6319
6328
  tableInstance: tableInstance
6320
- }) : cell.column.columnDef.muiTableBodyCellCopyButtonProps;
6329
+ }) : columnDef.muiTableBodyCellCopyButtonProps;
6321
6330
 
6322
6331
  var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
6323
6332
 
@@ -6353,7 +6362,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6353
6362
  };
6354
6363
 
6355
6364
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6356
- var _columnDef$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
6365
+ var _columnDef$minSize, _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
6357
6366
 
6358
6367
  var cell = _ref.cell,
6359
6368
  enableHover = _ref.enableHover,
@@ -6378,7 +6387,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6378
6387
 
6379
6388
  var column = cell.column,
6380
6389
  row = cell.row;
6381
- var columnDef = column.columnDef;
6390
+ var columnDef = column.columnDef,
6391
+ columnDefType = column.columnDefType;
6382
6392
  var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
6383
6393
  cell: cell,
6384
6394
  tableInstance: tableInstance
@@ -6391,8 +6401,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6391
6401
  var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
6392
6402
 
6393
6403
  var skeletonWidth = React.useMemo(function () {
6394
- return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
6395
- }, [column.columnDefType, column.getSize()]);
6404
+ return columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
6405
+ }, [columnDefType, column.getSize()]);
6396
6406
  var isEditable = (enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false;
6397
6407
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
6398
6408
 
@@ -6438,7 +6448,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6438
6448
  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,
6439
6449
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
6440
6450
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
6441
- p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6451
+ p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6442
6452
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
6443
6453
  position: column.getIsPinned() ? 'sticky' : 'relative',
6444
6454
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
@@ -6459,7 +6469,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6459
6469
  animation: "wave",
6460
6470
  height: 20,
6461
6471
  width: skeletonWidth
6462
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
6472
+ }, muiTableBodyCellSkeletonProps)) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
6463
6473
  cell: cell,
6464
6474
  tableInstance: tableInstance
6465
6475
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React__default.createElement(MRT_EditCellTextField, {
@@ -6468,13 +6478,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6468
6478
  }) : (enableClickToCopy || columnDef.enableClickToCopy) && columnDef.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
6469
6479
  cell: cell,
6470
6480
  tableInstance: tableInstance
6471
- }, React__default.createElement(React__default.Fragment, null, (_cell$column$columnDe = (_cell$column$columnDe2 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe2.Cell == null ? void 0 : _cell$column$columnDe2.Cell({
6481
+ }, React__default.createElement(React__default.Fragment, null, (_columnDef$Cell = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
6472
6482
  cell: cell,
6473
6483
  tableInstance: tableInstance
6474
- })) != null ? _cell$column$columnDe : cell.renderCell())), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, (_cell$column$columnDe3 = (_cell$column$columnDe4 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe4.Cell == null ? void 0 : _cell$column$columnDe4.Cell({
6484
+ })) != null ? _columnDef$Cell : cell.renderCell())), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, (_columnDef$Cell2 = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
6475
6485
  cell: cell,
6476
6486
  tableInstance: tableInstance
6477
- })) != null ? _cell$column$columnDe3 : cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
6487
+ })) != null ? _columnDef$Cell2 : cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
6478
6488
  };
6479
6489
 
6480
6490
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -6596,7 +6606,8 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
6596
6606
  isDensePadding = _getState.isDensePadding;
6597
6607
 
6598
6608
  var column = footer.column;
6599
- var columnDef = column.columnDef;
6609
+ var columnDef = column.columnDef,
6610
+ columnDefType = column.columnDefType;
6600
6611
  var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps({
6601
6612
  column: column,
6602
6613
  tableInstance: tableInstance
@@ -6609,7 +6620,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
6609
6620
  var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
6610
6621
 
6611
6622
  return React__default.createElement(material.TableCell, Object.assign({
6612
- align: column.columnDefType === 'group' ? 'center' : 'left',
6623
+ align: columnDefType === 'group' ? 'center' : 'left',
6613
6624
  colSpan: footer.colSpan,
6614
6625
  variant: "head"
6615
6626
  }, tableCellProps, {
@@ -6639,8 +6650,8 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
6639
6650
  tableInstance = _ref.tableInstance;
6640
6651
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
6641
6652
 
6642
- if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
6643
- return typeof h.column.columnDef.footer === 'string' && !!h.column.columnDef.footer || h.column.columnDef.Footer;
6653
+ if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (header) {
6654
+ return typeof header.column.columnDef.footer === 'string' && !!header.column.columnDef.footer || header.column.columnDef.Footer;
6644
6655
  }))) return null;
6645
6656
  var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
6646
6657
  footerGroup: footerGroup,
@@ -6831,7 +6842,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
6831
6842
  };
6832
6843
 
6833
6844
  var MRT_TableRoot = function MRT_TableRoot(props) {
6834
- var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _initialState$paginat, _initialState$paginat2, _initialState$paginat3, _initialState$paginat4, _initialState$paginat5, _props$globalFilterFn, _props$state3, _props$state4;
6845
+ var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4;
6835
6846
 
6836
6847
  var _useState = React.useState(props.idPrefix),
6837
6848
  idPrefix = _useState[0],
@@ -6842,9 +6853,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6842
6853
 
6843
6854
  return setIdPrefix((_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9));
6844
6855
  }, [props.idPrefix]);
6856
+ var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
6857
+ var showExpandColumn = props.enableExpanding || props.enableGrouping;
6845
6858
  var initialState = React.useMemo(function () {
6859
+ var _props$initialState, _initState$columnOrde;
6860
+
6861
+ var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
6862
+ initState.columnOrder = ((_initState$columnOrde = initState == null ? void 0 : initState.columnOrder) != null ? _initState$columnOrde : props.enableColumnOrdering) ? [showActionColumn && 'mrt-row-actions', showExpandColumn && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
6863
+ return c.id;
6864
+ })).filter(Boolean) : [];
6865
+
6846
6866
  if (!props.enablePersistentState || !props.idPrefix) {
6847
- return props.initialState;
6867
+ return initState;
6848
6868
  }
6849
6869
 
6850
6870
  if (typeof window === 'undefined') {
@@ -6852,7 +6872,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6852
6872
  console.error('The MRT Persistent Table State feature is not supported if using SSR, but you can wrap your <MaterialReactTable /> in a MUI <NoSsr> tags to let it work');
6853
6873
  }
6854
6874
 
6855
- return props.initialState;
6875
+ return initState;
6856
6876
  }
6857
6877
 
6858
6878
  var storedState = props.persistentStateMode === 'localStorage' ? localStorage.getItem("mrt-" + idPrefix + "-table-state") : props.persistentStateMode === 'sessionStorage' ? sessionStorage.getItem("mrt-" + idPrefix + "-table-state") : '{}';
@@ -6861,11 +6881,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6861
6881
  var parsedState = JSON.parse(storedState);
6862
6882
 
6863
6883
  if (parsedState) {
6864
- return _extends({}, props.initialState, parsedState);
6884
+ return _extends({}, initState, parsedState);
6865
6885
  }
6866
6886
  }
6867
6887
 
6868
- return props.initialState;
6888
+ return initState;
6869
6889
  }, []);
6870
6890
 
6871
6891
  var _useState2 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
@@ -6892,27 +6912,19 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6892
6912
  showGlobalFilter = _useState7[0],
6893
6913
  setShowGlobalFilter = _useState7[1];
6894
6914
 
6895
- var _useState8 = React.useState({
6896
- pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
6897
- pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
6898
- pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
6899
- }),
6900
- pagination = _useState8[0],
6901
- setPagination = _useState8[1];
6902
-
6903
- var _useState9 = React.useState(function () {
6915
+ var _useState8 = React.useState(function () {
6904
6916
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
6905
6917
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
6906
6918
 
6907
6919
  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) ? MRT_FILTER_OPTION.EQUALS : MRT_FILTER_OPTION.FUZZY, _ref2;
6908
6920
  })));
6909
6921
  }),
6910
- currentFilterFns = _useState9[0],
6911
- setCurrentFilterFns = _useState9[1];
6922
+ currentFilterFns = _useState8[0],
6923
+ setCurrentFilterFns = _useState8[1];
6912
6924
 
6913
- var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
6914
- currentGlobalFilterFn = _useState10[0],
6915
- setCurrentGlobalFilterFn = _useState10[1];
6925
+ var _useState9 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
6926
+ currentGlobalFilterFn = _useState9[0],
6927
+ setCurrentGlobalFilterFn = _useState9[1];
6916
6928
 
6917
6929
  var table = React.useMemo(function () {
6918
6930
  return reactTable.createTable();
@@ -6920,7 +6932,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6920
6932
  var displayColumns = React.useMemo(function () {
6921
6933
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
6922
6934
 
6923
- return [(props.enableRowActions || props.enableEditing && props.editingMode === 'row') && createDisplayColumn(table, {
6935
+ return [showActionColumn && createDisplayColumn(table, {
6924
6936
  Cell: function Cell(_ref3) {
6925
6937
  var cell = _ref3.cell;
6926
6938
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -6931,7 +6943,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6931
6943
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
6932
6944
  id: 'mrt-row-actions',
6933
6945
  size: 60
6934
- }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
6946
+ }), showExpandColumn && createDisplayColumn(table, {
6935
6947
  Cell: function Cell(_ref4) {
6936
6948
  var cell = _ref4.cell;
6937
6949
  return React__default.createElement(MRT_ExpandButton, {
@@ -6994,18 +7006,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6994
7006
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
6995
7007
  })));
6996
7008
  }) : props.data;
6997
- }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
6998
-
6999
- var _useState11 = React.useState(function () {
7000
- var _initialState$columnO;
7001
-
7002
- return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
7003
- return c.id;
7004
- }) : [];
7005
- }),
7006
- columnOrder = _useState11[0],
7007
- setColumnOrder = _useState11[1]; //@ts-ignore
7008
-
7009
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
7009
7010
 
7010
7011
  var tableInstance = _extends({}, reactTable.useTableInstance(table, _extends({
7011
7012
  filterFns: defaultFilterFNs,
@@ -7020,13 +7021,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7020
7021
  return row == null ? void 0 : row.subRows;
7021
7022
  },
7022
7023
  //@ts-ignore
7023
- globalFilterFn: currentGlobalFilterFn,
7024
- onColumnOrderChange: setColumnOrder,
7025
- onPaginationChange: function onPaginationChange(updater) {
7026
- return setPagination(function (old) {
7027
- return reactTable.functionalUpdate(updater, old);
7028
- });
7029
- }
7024
+ globalFilterFn: currentGlobalFilterFn
7030
7025
  }, props, {
7031
7026
  //@ts-ignore
7032
7027
  columns: columns,
@@ -7034,15 +7029,12 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7034
7029
  idPrefix: idPrefix,
7035
7030
  initialState: initialState,
7036
7031
  state: _extends({
7037
- columnOrder: columnOrder,
7038
7032
  currentEditingCell: currentEditingCell,
7039
7033
  currentEditingRow: currentEditingRow,
7040
7034
  currentFilterFns: currentFilterFns,
7041
7035
  currentGlobalFilterFn: currentGlobalFilterFn,
7042
7036
  isDensePadding: isDensePadding,
7043
7037
  isFullScreen: isFullScreen,
7044
- //@ts-ignore
7045
- pagination: pagination,
7046
7038
  showFilters: showFilters,
7047
7039
  showGlobalFilter: showGlobalFilter
7048
7040
  }, props.state)