material-react-table 0.8.9 → 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.
Files changed (30) hide show
  1. package/README.md +29 -15
  2. package/dist/MaterialReactTable.d.ts +15 -12
  3. package/dist/localization.d.ts +1 -0
  4. package/dist/material-react-table.cjs.development.js +185 -176
  5. package/dist/material-react-table.cjs.development.js.map +1 -1
  6. package/dist/material-react-table.cjs.production.min.js +1 -1
  7. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  8. package/dist/material-react-table.esm.js +186 -177
  9. package/dist/material-react-table.esm.js.map +1 -1
  10. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  11. package/package.json +14 -14
  12. package/src/MaterialReactTable.tsx +34 -30
  13. package/src/body/MRT_TableBodyCell.tsx +20 -18
  14. package/src/buttons/MRT_CopyButton.tsx +10 -3
  15. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -3
  16. package/src/footer/MRT_TableFooterCell.tsx +11 -7
  17. package/src/footer/MRT_TableFooterRow.tsx +4 -4
  18. package/src/head/MRT_DraggableTableHeadCell.tsx +16 -9
  19. package/src/head/MRT_TableHeadCell.tsx +36 -37
  20. package/src/head/MRT_TableHeadCellFilterLabel.tsx +3 -1
  21. package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
  22. package/src/head/MRT_TableHeadCellSortLabel.tsx +4 -8
  23. package/src/inputs/MRT_EditCellTextField.tsx +15 -9
  24. package/src/inputs/MRT_FilterTextField.tsx +14 -9
  25. package/src/localization.ts +2 -0
  26. package/src/menus/MRT_ColumnActionMenu.tsx +10 -8
  27. package/src/menus/MRT_FilterOptionMenu.tsx +11 -7
  28. package/src/menus/MRT_ShowHideColumnsMenu.tsx +25 -39
  29. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +15 -6
  30. package/src/table/MRT_TableRoot.tsx +29 -28
@@ -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',
@@ -373,6 +374,12 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
373
374
  currentFilterFns = _getState.currentFilterFns,
374
375
  currentGlobalFilterFn = _getState.currentGlobalFilterFn;
375
376
 
377
+ var _ref2 = header != null ? header : {},
378
+ column = _ref2.column;
379
+
380
+ var _ref3 = column != null ? column : {},
381
+ columnDef = _ref3.columnDef;
382
+
376
383
  var filterOptions = React.useMemo(function () {
377
384
  return [{
378
385
  option: MRT_FILTER_OPTION.FUZZY,
@@ -430,12 +437,12 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
430
437
  divider: false,
431
438
  fn: notEmpty
432
439
  }].filter(function (filterType) {
433
- return header ? !header.column.enabledColumnFilterOptions || header.column.enabledColumnFilterOptions.includes(filterType.option) : (!enabledGlobalFilterOptions || enabledGlobalFilterOptions.includes(filterType.option)) && [MRT_FILTER_OPTION.FUZZY, MRT_FILTER_OPTION.CONTAINS].includes(filterType.option);
440
+ return columnDef ? !columnDef.enabledColumnFilterOptions || columnDef.enabledColumnFilterOptions.includes(filterType.option) : (!enabledGlobalFilterOptions || enabledGlobalFilterOptions.includes(filterType.option)) && [MRT_FILTER_OPTION.FUZZY, MRT_FILTER_OPTION.CONTAINS].includes(filterType.option);
434
441
  });
435
442
  }, []);
436
443
 
437
444
  var handleSelectFilterType = function handleSelectFilterType(value) {
438
- if (header) {
445
+ if (header && column) {
439
446
  setCurrentFilterFns(function (prev) {
440
447
  var _extends2;
441
448
 
@@ -443,11 +450,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
443
450
  });
444
451
 
445
452
  if ([MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)) {
446
- header.column.setFilterValue(' ');
453
+ column.setFilterValue(' ');
447
454
  } else if (value === MRT_FILTER_OPTION.BETWEEN) {
448
- header.column.setFilterValue(['', '']);
455
+ column.setFilterValue(['', '']);
449
456
  } else {
450
- header.column.setFilterValue('');
457
+ column.setFilterValue('');
451
458
  }
452
459
  } else {
453
460
  setCurrentGlobalFilterFn(value);
@@ -471,11 +478,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
471
478
  MenuListProps: {
472
479
  dense: isDensePadding
473
480
  }
474
- }, filterOptions.map(function (_ref2, index) {
475
- var option = _ref2.option,
476
- label = _ref2.label,
477
- divider = _ref2.divider,
478
- fn = _ref2.fn;
481
+ }, filterOptions.map(function (_ref4, index) {
482
+ var option = _ref4.option,
483
+ label = _ref4.label,
484
+ divider = _ref4.divider,
485
+ fn = _ref4.fn;
479
486
  return React__default.createElement(material.MenuItem, {
480
487
  divider: divider,
481
488
  key: index,
@@ -551,12 +558,14 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
551
558
  var _getState = getState(),
552
559
  columnVisibility = _getState.columnVisibility;
553
560
 
554
- 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) {
555
564
  return col.getIsVisible();
556
565
  });
557
566
 
558
567
  var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
559
- if (column.columnDefType === 'group') {
568
+ if (columnDefType === 'group') {
560
569
  var _column$columns;
561
570
 
562
571
  column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.forEach == null ? void 0 : _column$columns.forEach(function (childColumn) {
@@ -588,14 +597,15 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
588
597
  componentsProps: {
589
598
  typography: {
590
599
  sx: {
591
- marginBottom: 0
600
+ marginBottom: 0,
601
+ opacity: columnDefType !== 'display' ? 1 : 0.5
592
602
  }
593
603
  }
594
604
  },
595
605
  checked: switchChecked,
596
606
  control: React__default.createElement(material.Switch, null),
597
607
  disabled: isSubMenu && switchChecked || !column.getCanHide(),
598
- label: column.columnDef.header,
608
+ label: columnDef.header,
599
609
  onChange: function onChange() {
600
610
  return handleToggleColumnHidden(column);
601
611
  }
@@ -615,44 +625,47 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
615
625
  setAnchorEl = _ref.setAnchorEl,
616
626
  tableInstance = _ref.tableInstance;
617
627
  var getAllColumns = tableInstance.getAllColumns,
628
+ getAllLeafColumns = tableInstance.getAllLeafColumns,
618
629
  getIsAllColumnsVisible = tableInstance.getIsAllColumnsVisible,
619
- getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
620
630
  getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
631
+ getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
621
632
  getState = tableInstance.getState,
622
633
  toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
623
- getAllLeafColumns = tableInstance.getAllLeafColumns,
624
634
  _tableInstance$option = tableInstance.options,
625
635
  localization = _tableInstance$option.localization,
626
- enablePinning = _tableInstance$option.enablePinning;
636
+ enablePinning = _tableInstance$option.enablePinning,
637
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering;
627
638
 
628
639
  var _getState = getState(),
629
- isDensePadding = _getState.isDensePadding;
640
+ isDensePadding = _getState.isDensePadding,
641
+ columnOrder = _getState.columnOrder,
642
+ columnPinning = _getState.columnPinning;
630
643
 
631
644
  var hideAllColumns = function hideAllColumns() {
632
645
  getAllLeafColumns().filter(function (col) {
633
- return col.enableHiding !== false;
646
+ return col.columnDef.enableHiding !== false;
634
647
  }).forEach(function (col) {
635
648
  return col.toggleVisibility(false);
636
649
  });
637
650
  };
638
651
 
639
- var allDisplayColumns = React.useMemo(function () {
640
- return getAllColumns().filter(function (col) {
641
- return col.columnDefType === 'display';
642
- });
643
- }, [getAllColumns()]);
644
- var allDataColumns = React.useMemo(function () {
645
- var dataColumns = getAllColumns().filter(function (col) {
646
- return col.columnDefType !== 'display';
647
- });
648
- return getIsSomeColumnsPinned() ? [].concat(dataColumns.filter(function (c) {
649
- return c.getIsPinned() === 'left';
650
- }), [null], dataColumns.filter(function (c) {
651
- return c.getIsPinned() === false;
652
- }), [null], dataColumns.filter(function (c) {
653
- return c.getIsPinned() === 'right';
654
- })) : dataColumns;
655
- }, [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]);
656
669
  return React__default.createElement(material.Menu, {
657
670
  anchorEl: anchorEl,
658
671
  open: !!anchorEl,
@@ -672,7 +685,11 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
672
685
  }, !isSubMenu && React__default.createElement(material.Button, {
673
686
  disabled: !getIsSomeColumnsVisible(),
674
687
  onClick: hideAllColumns
675
- }, 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, {
676
693
  disabled: !getIsSomeColumnsPinned(),
677
694
  onClick: function onClick() {
678
695
  return tableInstance.resetColumnPinning(true);
@@ -682,22 +699,13 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
682
699
  onClick: function onClick() {
683
700
  return toggleAllColumnsVisible(true);
684
701
  }
685
- }, 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) {
686
703
  return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
687
704
  column: column,
688
705
  isSubMenu: isSubMenu,
689
706
  key: index + "-" + column.id,
690
707
  tableInstance: tableInstance
691
708
  });
692
- }), React__default.createElement(material.Divider, null), allDataColumns.map(function (column, index) {
693
- return column ? React__default.createElement(MRT_ShowHideColumnsMenuItems, {
694
- column: column,
695
- isSubMenu: isSubMenu,
696
- key: index + "-" + column.id,
697
- tableInstance: tableInstance
698
- }) : React__default.createElement(material.Divider, {
699
- key: index + "-divider"
700
- });
701
709
  }));
702
710
  };
703
711
 
@@ -743,6 +751,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
743
751
  localization = _tableInstance$option.localization,
744
752
  setShowFilters = tableInstance.setShowFilters;
745
753
  var column = header.column;
754
+ var columnDef = column.columnDef;
746
755
 
747
756
  var _getState = getState(),
748
757
  columnSizing = _getState.columnSizing,
@@ -849,7 +858,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
849
858
  sx: commonMenuItemStyles$1
850
859
  }, React__default.createElement(material.Box, {
851
860
  sx: commonListItemStyles
852
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.columnDef.header)))), React__default.createElement(material.MenuItem, {
861
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(columnDef.header)))), React__default.createElement(material.MenuItem, {
853
862
  divider: enableColumnFilters || enableGrouping || enableHiding,
854
863
  key: 2,
855
864
  disabled: column.getIsSorted() === 'desc',
@@ -861,7 +870,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
861
870
  style: {
862
871
  transform: 'rotate(180deg) scaleX(-1)'
863
872
  }
864
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
873
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
865
874
  disabled: !column.getFilterValue(),
866
875
  key: 0,
867
876
  onClick: handleClearFilter,
@@ -875,7 +884,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
875
884
  sx: commonMenuItemStyles$1
876
885
  }, React__default.createElement(material.Box, {
877
886
  sx: commonListItemStyles
878
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
887
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))), !columnDef.filterSelectOptions && React__default.createElement(material.IconButton, {
879
888
  onClick: handleOpenFilterModeMenu,
880
889
  onMouseEnter: handleOpenFilterModeMenu,
881
890
  size: "small",
@@ -896,7 +905,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
896
905
  sx: commonMenuItemStyles$1
897
906
  }, React__default.createElement(material.Box, {
898
907
  sx: commonListItemStyles
899
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.columnDef.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
908
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(columnDef.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
900
909
  disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
901
910
  key: 0,
902
911
  onClick: function onClick() {
@@ -940,13 +949,13 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
940
949
  }, React__default.createElement(material.Box, {
941
950
  sx: commonListItemStyles
942
951
  }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(RestartAltIcon, null)), localization.resetColumnSize))], enableHiding && [React__default.createElement(material.MenuItem, {
943
- disabled: column.enableHiding === false,
952
+ disabled: columnDef.enableHiding === false,
944
953
  key: 0,
945
954
  onClick: handleHideColumn,
946
955
  sx: commonMenuItemStyles$1
947
956
  }, React__default.createElement(material.Box, {
948
957
  sx: commonListItemStyles
949
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.columnDef.header)))), React__default.createElement(material.MenuItem, {
958
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(columnDef.header)))), React__default.createElement(material.MenuItem, {
950
959
  disabled: !Object.values(columnVisibility).filter(function (visible) {
951
960
  return !visible;
952
961
  }).length,
@@ -955,7 +964,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
955
964
  sx: commonMenuItemStyles$1
956
965
  }, React__default.createElement(material.Box, {
957
966
  sx: commonListItemStyles
958
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.columnDef.header))), React__default.createElement(material.IconButton, {
967
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(columnDef.header))), React__default.createElement(material.IconButton, {
959
968
  onClick: handleOpenShowHideColumnsMenu,
960
969
  onMouseEnter: handleOpenShowHideColumnsMenu,
961
970
  size: "small",
@@ -5519,7 +5528,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5519
5528
  };
5520
5529
 
5521
5530
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5522
- var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
5531
+ var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _columnDef$filterSele;
5523
5532
 
5524
5533
  var header = _ref.header,
5525
5534
  inputIndex = _ref.inputIndex,
@@ -5534,6 +5543,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5534
5543
  muiTableHeadCellFilterTextFieldProps = _tableInstance$option.muiTableHeadCellFilterTextFieldProps,
5535
5544
  setCurrentFilterFns = tableInstance.setCurrentFilterFns;
5536
5545
  var column = header.column;
5546
+ var columnDef = column.columnDef;
5537
5547
 
5538
5548
  var _getState = getState(),
5539
5549
  currentFilterFns = _getState.currentFilterFns;
@@ -5546,10 +5556,10 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5546
5556
  column: column,
5547
5557
  tableInstance: tableInstance
5548
5558
  }) : muiTableHeadCellFilterTextFieldProps;
5549
- var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps({
5559
+ var mcTableHeadCellFilterTextFieldProps = columnDef.muiTableHeadCellFilterTextFieldProps instanceof Function ? columnDef.muiTableHeadCellFilterTextFieldProps({
5550
5560
  column: column,
5551
5561
  tableInstance: tableInstance
5552
- }) : column.muiTableHeadCellFilterTextFieldProps;
5562
+ }) : columnDef.muiTableHeadCellFilterTextFieldProps;
5553
5563
 
5554
5564
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
5555
5565
 
@@ -5599,8 +5609,8 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5599
5609
  });
5600
5610
  };
5601
5611
 
5602
- if (column.Filter) {
5603
- return React__default.createElement(React__default.Fragment, null, column.Filter == null ? void 0 : column.Filter({
5612
+ if (columnDef.Filter) {
5613
+ return React__default.createElement(React__default.Fragment, null, columnDef.Filter == null ? void 0 : columnDef.Filter({
5604
5614
  header: header,
5605
5615
  tableInstance: tableInstance
5606
5616
  }));
@@ -5608,10 +5618,10 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5608
5618
 
5609
5619
  var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field" + (inputIndex != null ? inputIndex : '');
5610
5620
  var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
5611
- var isSelectFilter = !!column.filterSelectOptions;
5621
+ var isSelectFilter = !!columnDef.filterSelectOptions;
5612
5622
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
5613
5623
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
5614
- var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
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 : '';
5615
5625
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
5616
5626
  fullWidth: true,
5617
5627
  id: filterId,
@@ -5688,7 +5698,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5688
5698
  sx: _extends({
5689
5699
  m: '-0.25rem',
5690
5700
  p: 0,
5691
- minWidth: !filterChipLabel ? '6rem' : 'auto',
5701
+ minWidth: !filterChipLabel ? '8rem' : 'auto',
5692
5702
  width: 'calc(100% + 0.5rem)',
5693
5703
  mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
5694
5704
  '& .MuiSelect-icon': {
@@ -5699,7 +5709,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
5699
5709
  divider: true,
5700
5710
  disabled: !filterValue,
5701
5711
  value: ""
5702
- }, localization.clearFilter), column == null ? void 0 : (_column$filterSelectO = column.filterSelectOptions) == null ? void 0 : _column$filterSelectO.map(function (option) {
5712
+ }, localization.clearFilter), columnDef == null ? void 0 : (_columnDef$filterSele = columnDef.filterSelectOptions) == null ? void 0 : _columnDef$filterSele.map(function (option) {
5703
5713
  var value;
5704
5714
  var text;
5705
5715
 
@@ -5789,8 +5799,9 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
5789
5799
  showFilters = _getState.showFilters;
5790
5800
 
5791
5801
  var column = header.column;
5802
+ var columnDef = column.columnDef;
5792
5803
  var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
5793
- 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
5794
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;
5795
5806
  return React__default.createElement(material.Tooltip, {
5796
5807
  arrow: true,
@@ -5857,6 +5868,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
5857
5868
  showFilters = _getState.showFilters;
5858
5869
 
5859
5870
  var column = header.column;
5871
+ var columnDefType = column.columnDefType;
5860
5872
  return React__default.createElement(material.Divider, {
5861
5873
  flexItem: true,
5862
5874
  orientation: "vertical",
@@ -5868,7 +5880,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
5868
5880
  borderRadius: '2px',
5869
5881
  borderRightWidth: '2px',
5870
5882
  cursor: 'col-resize',
5871
- height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
5883
+ height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',
5872
5884
  opacity: 0.8,
5873
5885
  position: 'absolute',
5874
5886
  right: '1px',
@@ -5895,7 +5907,8 @@ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
5895
5907
  tableInstance = _ref.tableInstance;
5896
5908
  var localization = tableInstance.options.localization;
5897
5909
  var column = header.column;
5898
- 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;
5899
5912
  return React__default.createElement(material.Tooltip, {
5900
5913
  arrow: true,
5901
5914
  placement: "top",
@@ -5915,6 +5928,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
5915
5928
  localization = _tableInstance$option.localization,
5916
5929
  muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
5917
5930
  var column = header.column;
5931
+ var columnDef = column.columnDef;
5918
5932
 
5919
5933
  var _useState = React.useState(null),
5920
5934
  anchorEl = _useState[0],
@@ -5930,10 +5944,10 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
5930
5944
  column: column,
5931
5945
  tableInstance: tableInstance
5932
5946
  }) : muiTableHeadCellColumnActionsButtonProps;
5933
- var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps({
5947
+ var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
5934
5948
  column: column,
5935
5949
  tableInstance: tableInstance
5936
- }) : column.muiTableHeadCellColumnActionsButtonProps;
5950
+ }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
5937
5951
 
5938
5952
  var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
5939
5953
 
@@ -5968,7 +5982,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
5968
5982
  };
5969
5983
 
5970
5984
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
5971
- var _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
5985
+ var _columnDef$Header, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
5972
5986
 
5973
5987
  var dragRef = _ref.dragRef,
5974
5988
  dropRef = _ref.dropRef,
@@ -5989,21 +6003,23 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
5989
6003
  isDensePadding = _getState.isDensePadding;
5990
6004
 
5991
6005
  var column = header.column;
6006
+ var columnDef = column.columnDef,
6007
+ columnDefType = column.columnDefType;
5992
6008
  var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps({
5993
6009
  column: column,
5994
6010
  tableInstance: tableInstance
5995
6011
  }) : muiTableHeadCellProps;
5996
- var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps({
6012
+ var mcTableHeadCellProps = columnDef.muiTableHeadCellProps instanceof Function ? columnDef.muiTableHeadCellProps({
5997
6013
  column: column,
5998
6014
  tableInstance: tableInstance
5999
- }) : column.muiTableHeadCellProps;
6015
+ }) : columnDef.muiTableHeadCellProps;
6000
6016
 
6001
6017
  var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
6002
6018
 
6003
- var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
6019
+ var headerElement = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
6004
6020
  header: header,
6005
6021
  tableInstance: tableInstance
6006
- })) != null ? _column$columnDef$Hea : header.renderHeader();
6022
+ }) : (_columnDef$Header = columnDef == null ? void 0 : columnDef.Header) != null ? _columnDef$Header : header.renderHeader();
6007
6023
 
6008
6024
  var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
6009
6025
  return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
@@ -6018,40 +6034,40 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6018
6034
  };
6019
6035
 
6020
6036
  return React__default.createElement(material.TableCell, Object.assign({
6021
- align: column.columnDefType === 'group' ? 'center' : 'left',
6037
+ align: columnDefType === 'group' ? 'center' : 'left',
6022
6038
  colSpan: header.colSpan
6023
6039
  }, tableCellProps, {
6024
- ref: column.columnDefType === 'data' ? dropRef : undefined,
6040
+ ref: columnDefType === 'data' ? dropRef : undefined,
6025
6041
  sx: function sx(theme) {
6026
6042
  return _extends({
6027
- backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
6043
+ backgroundColor: column.getIsPinned() && columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
6028
6044
  backgroundImage: 'inherit',
6029
6045
  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,
6030
6046
  fontWeight: 'bold',
6031
6047
  height: '100%',
6032
6048
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
6033
6049
  overflow: 'visible',
6034
- p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6035
- pb: column.columnDefType === 'display' ? 0 : undefined,
6036
- position: column.getIsPinned() && column.columnDefType !== 'group' ? 'sticky' : undefined,
6037
- pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
6050
+ p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6051
+ pb: columnDefType === 'display' ? 0 : undefined,
6052
+ position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
6053
+ pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.5rem',
6038
6054
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
6039
6055
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
6040
6056
  verticalAlign: 'text-top',
6041
- zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
6057
+ zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
6042
6058
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
6043
6059
  },
6044
6060
  style: {
6045
6061
  maxWidth: "min(" + column.getSize() + "px, fit-content)",
6046
- minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
6062
+ minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
6047
6063
  width: header.getSize()
6048
6064
  }
6049
- }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
6065
+ }), header.isPlaceholder ? null : columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
6050
6066
  ref: previewRef,
6051
6067
  sx: {
6052
6068
  alignItems: 'flex-start',
6053
6069
  display: 'flex',
6054
- justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
6070
+ justifyContent: columnDefType === 'group' ? 'center' : 'space-between',
6055
6071
  opacity: isDragging ? 0.5 : 1,
6056
6072
  width: '100%'
6057
6073
  }
@@ -6061,32 +6077,32 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6061
6077
  },
6062
6078
  sx: {
6063
6079
  alignItems: 'center',
6064
- cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
6080
+ cursor: column.getCanSort() && columnDefType !== 'group' ? 'pointer' : undefined,
6065
6081
  display: 'flex',
6066
6082
  flexWrap: 'nowrap',
6067
- whiteSpace: ((_column$columnDef$hea = (_column$columnDef$hea2 = column.columnDef.header) == null ? void 0 : _column$columnDef$hea2.length) != null ? _column$columnDef$hea : 0) < 24 ? 'nowrap' : 'normal'
6083
+ whiteSpace: ((_columnDef$header$len = (_columnDef$header = columnDef.header) == null ? void 0 : _columnDef$header.length) != null ? _columnDef$header$len : 0) < 24 ? 'nowrap' : 'normal'
6068
6084
  }
6069
- }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
6085
+ }, headerElement, columnDefType === 'data' && column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
6070
6086
  header: header,
6071
6087
  tableInstance: tableInstance
6072
- }), column.columnDefType === 'data' && enableColumnFilters && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterLabel, {
6088
+ }), columnDefType === 'data' && enableColumnFilters && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterLabel, {
6073
6089
  header: header,
6074
6090
  tableInstance: tableInstance
6075
6091
  })), React__default.createElement(material.Box, {
6076
6092
  sx: {
6077
6093
  whiteSpace: 'nowrap'
6078
6094
  }
6079
- }, column.columnDefType === 'data' && (enableColumnOrdering && column.enableColumnOrdering !== false || enableGrouping && column.enableGrouping !== false) && React__default.createElement(MRT_TableHeadCellGrabHandle, {
6095
+ }, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React__default.createElement(MRT_TableHeadCellGrabHandle, {
6080
6096
  header: header,
6081
6097
  ref: dragRef,
6082
6098
  tableInstance: tableInstance
6083
- }), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
6099
+ }), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
6084
6100
  header: header,
6085
6101
  tableInstance: tableInstance
6086
6102
  })), column.getCanResize() && React__default.createElement(MRT_TableHeadCellResizeHandle, {
6087
6103
  header: header,
6088
6104
  tableInstance: tableInstance
6089
- })), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterContainer, {
6105
+ })), columnDefType === 'data' && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterContainer, {
6090
6106
  header: header,
6091
6107
  tableInstance: tableInstance
6092
6108
  }));
@@ -6104,19 +6120,23 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
6104
6120
  var _getState = getState(),
6105
6121
  columnOrder = _getState.columnOrder;
6106
6122
 
6107
- var reorder = function reorder(item, newIndex) {
6108
- var currentIndex = item.index;
6109
- 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]);
6110
6130
  setColumnOrder([].concat(columnOrder));
6111
6131
  };
6112
6132
 
6113
6133
  var _useDrop = useDrop({
6114
6134
  accept: 'header',
6115
- drop: function drop(item) {
6116
- return reorder(item, header.index);
6135
+ drop: function drop(movingHeader) {
6136
+ return reorder(movingHeader, header);
6117
6137
  }
6118
6138
  }),
6119
- drop = _useDrop[1];
6139
+ dropRef = _useDrop[1];
6120
6140
 
6121
6141
  var _useDrag = useDrag({
6122
6142
  collect: function collect(monitor) {
@@ -6130,15 +6150,15 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
6130
6150
  type: 'header'
6131
6151
  }),
6132
6152
  isDragging = _useDrag[0].isDragging,
6133
- drag = _useDrag[1],
6134
- preview = _useDrag[2];
6153
+ dragRef = _useDrag[1],
6154
+ previewRef = _useDrag[2];
6135
6155
 
6136
6156
  return React__default.createElement(MRT_TableHeadCell, {
6137
- dragRef: drag,
6138
- dropRef: drop,
6157
+ dragRef: dragRef,
6158
+ dropRef: dropRef,
6139
6159
  header: header,
6140
6160
  isDragging: isDragging,
6141
- previewRef: preview,
6161
+ previewRef: previewRef,
6142
6162
  tableInstance: tableInstance
6143
6163
  });
6144
6164
  };
@@ -6209,10 +6229,11 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
6209
6229
 
6210
6230
  var column = cell.column,
6211
6231
  row = cell.row;
6232
+ var columnDef = column.columnDef;
6212
6233
 
6213
6234
  var handleChange = function handleChange(event) {
6214
6235
  setValue(event.target.value);
6215
- column.onCellEditChange == null ? void 0 : column.onCellEditChange({
6236
+ columnDef.onCellEditChange == null ? void 0 : columnDef.onCellEditChange({
6216
6237
  event: event,
6217
6238
  cell: cell,
6218
6239
  tableInstance: tableInstance
@@ -6226,12 +6247,13 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
6226
6247
 
6227
6248
  var handleBlur = function handleBlur(event) {
6228
6249
  if (getState().currentEditingRow) {
6250
+ if (!row._valuesCache) row._valuesCache = {};
6229
6251
  row._valuesCache[column.id] = value;
6230
6252
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
6231
6253
  }
6232
6254
 
6233
6255
  setCurrentEditingCell(null);
6234
- column.onCellEditBlur == null ? void 0 : column.onCellEditBlur({
6256
+ columnDef.onCellEditBlur == null ? void 0 : columnDef.onCellEditBlur({
6235
6257
  event: event,
6236
6258
  cell: cell,
6237
6259
  tableInstance: tableInstance
@@ -6247,15 +6269,15 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
6247
6269
  cell: cell,
6248
6270
  tableInstance: tableInstance
6249
6271
  }) : muiTableBodyCellEditTextFieldProps;
6250
- var mcTableBodyCellEditTextFieldProps = column.muiTableBodyCellEditTextFieldProps instanceof Function ? column.muiTableBodyCellEditTextFieldProps({
6272
+ var mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function ? columnDef.muiTableBodyCellEditTextFieldProps({
6251
6273
  cell: cell,
6252
6274
  tableInstance: tableInstance
6253
- }) : column.muiTableBodyCellEditTextFieldProps;
6275
+ }) : columnDef.muiTableBodyCellEditTextFieldProps;
6254
6276
 
6255
6277
  var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps);
6256
6278
 
6257
- if (enableEditing && column.enableEditing !== false && column.Edit) {
6258
- return React__default.createElement(React__default.Fragment, null, column.Edit == null ? void 0 : column.Edit({
6279
+ if (enableEditing && columnDef.enableEditing !== false && columnDef.Edit) {
6280
+ return React__default.createElement(React__default.Fragment, null, columnDef.Edit == null ? void 0 : columnDef.Edit({
6259
6281
  cell: cell,
6260
6282
  tableInstance: tableInstance
6261
6283
  }));
@@ -6269,7 +6291,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
6269
6291
  onClick: function onClick(e) {
6270
6292
  return e.stopPropagation();
6271
6293
  },
6272
- placeholder: column.columnDef.header,
6294
+ placeholder: columnDef.header,
6273
6295
  value: value,
6274
6296
  variant: "standard"
6275
6297
  }, textFieldProps));
@@ -6282,6 +6304,8 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6282
6304
  var _tableInstance$option = tableInstance.options,
6283
6305
  localization = _tableInstance$option.localization,
6284
6306
  muiTableBodyCellCopyButtonProps = _tableInstance$option.muiTableBodyCellCopyButtonProps;
6307
+ var column = cell.column;
6308
+ var columnDef = column.columnDef;
6285
6309
 
6286
6310
  var _useState = React.useState(false),
6287
6311
  copied = _useState[0],
@@ -6299,10 +6323,10 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6299
6323
  cell: cell,
6300
6324
  tableInstance: tableInstance
6301
6325
  }) : muiTableBodyCellCopyButtonProps;
6302
- var mcTableBodyCellCopyButtonProps = cell.column.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.muiTableBodyCellCopyButtonProps({
6326
+ var mcTableBodyCellCopyButtonProps = columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? columnDef.muiTableBodyCellCopyButtonProps({
6303
6327
  cell: cell,
6304
6328
  tableInstance: tableInstance
6305
- }) : cell.column.muiTableBodyCellCopyButtonProps;
6329
+ }) : columnDef.muiTableBodyCellCopyButtonProps;
6306
6330
 
6307
6331
  var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
6308
6332
 
@@ -6338,7 +6362,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6338
6362
  };
6339
6363
 
6340
6364
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6341
- var _column$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;
6342
6366
 
6343
6367
  var cell = _ref.cell,
6344
6368
  enableHover = _ref.enableHover,
@@ -6363,25 +6387,27 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6363
6387
 
6364
6388
  var column = cell.column,
6365
6389
  row = cell.row;
6390
+ var columnDef = column.columnDef,
6391
+ columnDefType = column.columnDefType;
6366
6392
  var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
6367
6393
  cell: cell,
6368
6394
  tableInstance: tableInstance
6369
6395
  }) : muiTableBodyCellProps;
6370
- var mcTableCellBodyProps = column.muiTableBodyCellProps instanceof Function ? column.muiTableBodyCellProps({
6396
+ var mcTableCellBodyProps = columnDef.muiTableBodyCellProps instanceof Function ? columnDef.muiTableBodyCellProps({
6371
6397
  cell: cell,
6372
6398
  tableInstance: tableInstance
6373
- }) : column.muiTableBodyCellProps;
6399
+ }) : columnDef.muiTableBodyCellProps;
6374
6400
 
6375
6401
  var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
6376
6402
 
6377
6403
  var skeletonWidth = React.useMemo(function () {
6378
- return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
6379
- }, [column.columnDefType, column.getSize()]);
6380
- var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
6404
+ return columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
6405
+ }, [columnDefType, column.getSize()]);
6406
+ var isEditable = (enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false;
6381
6407
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
6382
6408
 
6383
6409
  var handleDoubleClick = function handleDoubleClick(_event) {
6384
- if ((enableEditing || column.enableEditing) && column.enableEditing !== false && editingMode === 'cell') {
6410
+ if ((enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false && editingMode === 'cell') {
6385
6411
  setCurrentEditingCell(cell);
6386
6412
  setTimeout(function () {
6387
6413
  var textField = document.getElementById("mrt-" + idPrefix + "-edit-cell-text-field-" + cell.id);
@@ -6422,7 +6448,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6422
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,
6423
6449
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
6424
6450
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
6425
- 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',
6426
6452
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
6427
6453
  position: column.getIsPinned() ? 'sticky' : 'relative',
6428
6454
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
@@ -6436,29 +6462,29 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6436
6462
  },
6437
6463
  style: {
6438
6464
  maxWidth: "min(" + column.getSize() + "px, fit-content)",
6439
- minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
6465
+ minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
6440
6466
  width: column.getSize()
6441
6467
  }
6442
6468
  }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
6443
6469
  animation: "wave",
6444
6470
  height: 20,
6445
6471
  width: skeletonWidth
6446
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.columnDef.Cell == null ? void 0 : column.columnDef.Cell({
6472
+ }, muiTableBodyCellSkeletonProps)) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
6447
6473
  cell: cell,
6448
6474
  tableInstance: tableInstance
6449
6475
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React__default.createElement(MRT_EditCellTextField, {
6450
6476
  cell: cell,
6451
6477
  tableInstance: tableInstance
6452
- }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
6478
+ }) : (enableClickToCopy || columnDef.enableClickToCopy) && columnDef.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
6453
6479
  cell: cell,
6454
6480
  tableInstance: tableInstance
6455
- }, 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({
6456
6482
  cell: cell,
6457
6483
  tableInstance: tableInstance
6458
- })) != 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({
6459
6485
  cell: cell,
6460
6486
  tableInstance: tableInstance
6461
- })) != 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 : '', ")"))));
6462
6488
  };
6463
6489
 
6464
6490
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -6567,7 +6593,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
6567
6593
  };
6568
6594
 
6569
6595
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
6570
- var _ref2, _ref3, _column$columnDef$Foo;
6596
+ var _ref2, _ref3, _columnDef$Footer;
6571
6597
 
6572
6598
  var footer = _ref.footer,
6573
6599
  tableInstance = _ref.tableInstance;
@@ -6580,19 +6606,21 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
6580
6606
  isDensePadding = _getState.isDensePadding;
6581
6607
 
6582
6608
  var column = footer.column;
6609
+ var columnDef = column.columnDef,
6610
+ columnDefType = column.columnDefType;
6583
6611
  var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps({
6584
6612
  column: column,
6585
6613
  tableInstance: tableInstance
6586
6614
  }) : muiTableFooterCellProps;
6587
- var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps({
6615
+ var mcTableFooterCellProps = columnDef.muiTableFooterCellProps instanceof Function ? columnDef.muiTableFooterCellProps({
6588
6616
  column: column,
6589
6617
  tableInstance: tableInstance
6590
- }) : column.muiTableFooterCellProps;
6618
+ }) : columnDef.muiTableFooterCellProps;
6591
6619
 
6592
6620
  var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
6593
6621
 
6594
6622
  return React__default.createElement(material.TableCell, Object.assign({
6595
- align: column.columnDefType === 'group' ? 'center' : 'left',
6623
+ align: columnDefType === 'group' ? 'center' : 'left',
6596
6624
  colSpan: footer.colSpan,
6597
6625
  variant: "head"
6598
6626
  }, tableCellProps, {
@@ -6609,10 +6637,10 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
6609
6637
  verticalAlign: 'text-top'
6610
6638
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
6611
6639
  }
6612
- }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
6640
+ }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : columnDef.Footer instanceof Function ? columnDef.Footer == null ? void 0 : columnDef.Footer({
6613
6641
  footer: footer,
6614
6642
  tableInstance: tableInstance
6615
- })) != null ? _column$columnDef$Foo : column.columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
6643
+ }) : (_ref2 = (_ref3 = (_columnDef$Footer = columnDef.Footer) != null ? _columnDef$Footer : columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
6616
6644
  };
6617
6645
 
6618
6646
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -6622,8 +6650,8 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
6622
6650
  tableInstance = _ref.tableInstance;
6623
6651
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
6624
6652
 
6625
- if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
6626
- 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;
6627
6655
  }))) return null;
6628
6656
  var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
6629
6657
  footerGroup: footerGroup,
@@ -6814,7 +6842,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
6814
6842
  };
6815
6843
 
6816
6844
  var MRT_TableRoot = function MRT_TableRoot(props) {
6817
- 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;
6818
6846
 
6819
6847
  var _useState = React.useState(props.idPrefix),
6820
6848
  idPrefix = _useState[0],
@@ -6825,9 +6853,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6825
6853
 
6826
6854
  return setIdPrefix((_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9));
6827
6855
  }, [props.idPrefix]);
6856
+ var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
6857
+ var showExpandColumn = props.enableExpanding || props.enableGrouping;
6828
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
+
6829
6866
  if (!props.enablePersistentState || !props.idPrefix) {
6830
- return props.initialState;
6867
+ return initState;
6831
6868
  }
6832
6869
 
6833
6870
  if (typeof window === 'undefined') {
@@ -6835,7 +6872,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6835
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');
6836
6873
  }
6837
6874
 
6838
- return props.initialState;
6875
+ return initState;
6839
6876
  }
6840
6877
 
6841
6878
  var storedState = props.persistentStateMode === 'localStorage' ? localStorage.getItem("mrt-" + idPrefix + "-table-state") : props.persistentStateMode === 'sessionStorage' ? sessionStorage.getItem("mrt-" + idPrefix + "-table-state") : '{}';
@@ -6844,11 +6881,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6844
6881
  var parsedState = JSON.parse(storedState);
6845
6882
 
6846
6883
  if (parsedState) {
6847
- return _extends({}, props.initialState, parsedState);
6884
+ return _extends({}, initState, parsedState);
6848
6885
  }
6849
6886
  }
6850
6887
 
6851
- return props.initialState;
6888
+ return initState;
6852
6889
  }, []);
6853
6890
 
6854
6891
  var _useState2 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
@@ -6875,27 +6912,19 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6875
6912
  showGlobalFilter = _useState7[0],
6876
6913
  setShowGlobalFilter = _useState7[1];
6877
6914
 
6878
- var _useState8 = React.useState({
6879
- pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
6880
- pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
6881
- pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
6882
- }),
6883
- pagination = _useState8[0],
6884
- setPagination = _useState8[1];
6885
-
6886
- var _useState9 = React.useState(function () {
6915
+ var _useState8 = React.useState(function () {
6887
6916
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
6888
6917
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
6889
6918
 
6890
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;
6891
6920
  })));
6892
6921
  }),
6893
- currentFilterFns = _useState9[0],
6894
- setCurrentFilterFns = _useState9[1];
6922
+ currentFilterFns = _useState8[0],
6923
+ setCurrentFilterFns = _useState8[1];
6895
6924
 
6896
- var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
6897
- currentGlobalFilterFn = _useState10[0],
6898
- 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];
6899
6928
 
6900
6929
  var table = React.useMemo(function () {
6901
6930
  return reactTable.createTable();
@@ -6903,7 +6932,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6903
6932
  var displayColumns = React.useMemo(function () {
6904
6933
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
6905
6934
 
6906
- return [(props.enableRowActions || props.enableEditing && props.editingMode === 'row') && createDisplayColumn(table, {
6935
+ return [showActionColumn && createDisplayColumn(table, {
6907
6936
  Cell: function Cell(_ref3) {
6908
6937
  var cell = _ref3.cell;
6909
6938
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -6914,7 +6943,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6914
6943
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
6915
6944
  id: 'mrt-row-actions',
6916
6945
  size: 60
6917
- }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
6946
+ }), showExpandColumn && createDisplayColumn(table, {
6918
6947
  Cell: function Cell(_ref4) {
6919
6948
  var cell = _ref4.cell;
6920
6949
  return React__default.createElement(MRT_ExpandButton, {
@@ -6977,18 +7006,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
6977
7006
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
6978
7007
  })));
6979
7008
  }) : props.data;
6980
- }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
6981
-
6982
- var _useState11 = React.useState(function () {
6983
- var _initialState$columnO;
6984
-
6985
- return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
6986
- return c.id;
6987
- }) : [];
6988
- }),
6989
- columnOrder = _useState11[0],
6990
- setColumnOrder = _useState11[1]; //@ts-ignore
6991
-
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
6992
7010
 
6993
7011
  var tableInstance = _extends({}, reactTable.useTableInstance(table, _extends({
6994
7012
  filterFns: defaultFilterFNs,
@@ -7003,13 +7021,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7003
7021
  return row == null ? void 0 : row.subRows;
7004
7022
  },
7005
7023
  //@ts-ignore
7006
- globalFilterFn: currentGlobalFilterFn,
7007
- onColumnOrderChange: setColumnOrder,
7008
- onPaginationChange: function onPaginationChange(updater) {
7009
- return setPagination(function (old) {
7010
- return reactTable.functionalUpdate(updater, old);
7011
- });
7012
- }
7024
+ globalFilterFn: currentGlobalFilterFn
7013
7025
  }, props, {
7014
7026
  //@ts-ignore
7015
7027
  columns: columns,
@@ -7017,15 +7029,12 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7017
7029
  idPrefix: idPrefix,
7018
7030
  initialState: initialState,
7019
7031
  state: _extends({
7020
- columnOrder: columnOrder,
7021
7032
  currentEditingCell: currentEditingCell,
7022
7033
  currentEditingRow: currentEditingRow,
7023
7034
  currentFilterFns: currentFilterFns,
7024
7035
  currentGlobalFilterFn: currentGlobalFilterFn,
7025
7036
  isDensePadding: isDensePadding,
7026
7037
  isFullScreen: isFullScreen,
7027
- //@ts-ignore
7028
- pagination: pagination,
7029
7038
  showFilters: showFilters,
7030
7039
  showGlobalFilter: showGlobalFilter
7031
7040
  }, props.state)