material-react-table 0.13.2 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -631,6 +631,17 @@ var reorderColumn = function reorderColumn(movingColumn, receivingColumn, column
631
631
  columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
632
632
  setColumnOrder([].concat(columnOrder));
633
633
  };
634
+ var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
635
+ return [(props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping) && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
636
+ };
637
+ var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
638
+ return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
639
+ };
640
+ var getDefaultColumnOrderIds = function getDefaultColumnOrderIds(props) {
641
+ return [].concat(getLeadingDisplayColumnIds(props), getAllLeafColumnDefs(props.columns).map(function (c) {
642
+ return c.id;
643
+ }), getTrailingDisplayColumnIds(props)).filter(Boolean);
644
+ };
634
645
 
635
646
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
636
647
  var _column$columns2;
@@ -816,7 +827,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
816
827
  onClick: hideAllColumns
817
828
  }, localization.hideAll), !isSubMenu && enableColumnOrdering && React.createElement(Button, {
818
829
  onClick: function onClick() {
819
- return instance.resetColumnOrder();
830
+ return instance.setColumnOrder(getDefaultColumnOrderIds(instance.options));
820
831
  }
821
832
  }, localization.resetOrder), !isSubMenu && enablePinning && React.createElement(Button, {
822
833
  disabled: !getIsSomeColumnsPinned(),
@@ -1600,7 +1611,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1600
1611
  }, React.createElement(Tooltip, {
1601
1612
  arrow: true,
1602
1613
  title: localization.changeSearchMode
1603
- }, React.createElement("span", null, React.createElement(IconButton, {
1614
+ }, React.createElement(IconButton, {
1604
1615
  "aria-label": localization.changeSearchMode,
1605
1616
  onClick: handleGlobalFilterMenuOpen,
1606
1617
  size: "small",
@@ -1608,7 +1619,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1608
1619
  height: '1.75rem',
1609
1620
  width: '1.75rem'
1610
1621
  }
1611
- }, React.createElement(SearchIcon, null))))),
1622
+ }, React.createElement(SearchIcon, null)))),
1612
1623
  endAdornment: React.createElement(InputAdornment, {
1613
1624
  position: "end"
1614
1625
  }, React.createElement(IconButton, {
@@ -1619,11 +1630,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1619
1630
  title: localization.clearSearch
1620
1631
  }, React.createElement(CloseIcon, null)))
1621
1632
  }
1622
- }, textFieldProps, {
1623
- sx: _extends({
1624
- justifySelf: 'end'
1625
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
1626
- })), React.createElement(MRT_FilterOptionMenu, {
1633
+ }, textFieldProps)), React.createElement(MRT_FilterOptionMenu, {
1627
1634
  anchorEl: anchorEl,
1628
1635
  setAnchorEl: setAnchorEl,
1629
1636
  instance: instance
@@ -1645,8 +1652,8 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1645
1652
  renderToolbarInternalActions = _instance$options.renderToolbarInternalActions;
1646
1653
  return React.createElement(Box, {
1647
1654
  sx: {
1648
- display: 'flex',
1649
1655
  alignItems: 'center',
1656
+ display: 'flex',
1650
1657
  zIndex: 3
1651
1658
  }
1652
1659
  }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
@@ -1672,19 +1679,23 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1672
1679
  };
1673
1680
 
1674
1681
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
1675
- var instance = _ref.instance;
1682
+ var instance = _ref.instance,
1683
+ position = _ref.position;
1676
1684
  var getPrePaginationRowModel = instance.getPrePaginationRowModel,
1677
1685
  getState = instance.getState,
1678
1686
  setPageIndex = instance.setPageIndex,
1679
1687
  setPageSize = instance.setPageSize,
1680
- muiTablePaginationProps = instance.options.muiTablePaginationProps;
1688
+ _instance$options = instance.options,
1689
+ muiTablePaginationProps = _instance$options.muiTablePaginationProps,
1690
+ enableToolbarInternalActions = _instance$options.enableToolbarInternalActions;
1681
1691
 
1682
1692
  var _getState = getState(),
1683
1693
  _getState$pagination = _getState.pagination,
1684
1694
  _getState$pagination$ = _getState$pagination.pageSize,
1685
1695
  pageSize = _getState$pagination$ === void 0 ? 10 : _getState$pagination$,
1686
1696
  _getState$pagination$2 = _getState$pagination.pageIndex,
1687
- pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2;
1697
+ pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2,
1698
+ showGlobalFilter = _getState.showGlobalFilter;
1688
1699
 
1689
1700
  var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps({
1690
1701
  instance: instance
@@ -1720,6 +1731,7 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
1720
1731
  }, tablePaginationProps, {
1721
1732
  sx: _extends({
1722
1733
  m: '0 0.5rem',
1734
+ mt: position === 'top' && enableToolbarInternalActions && !showGlobalFilter ? '3.5rem' : undefined,
1723
1735
  position: 'relative',
1724
1736
  zIndex: 2
1725
1737
  }, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
@@ -1822,12 +1834,11 @@ var commonToolbarStyles = function commonToolbarStyles(_ref) {
1822
1834
  overflow: 'hidden',
1823
1835
  p: '0 !important',
1824
1836
  transition: 'all 0.2s ease-in-out',
1825
- width: '100%',
1826
1837
  zIndex: 1
1827
1838
  };
1828
1839
  };
1829
1840
  var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1830
- var _renderToolbarCustomA;
1841
+ var _renderToolbarTopCust;
1831
1842
 
1832
1843
  var instance = _ref2.instance;
1833
1844
  var getState = instance.getState,
@@ -1835,13 +1846,12 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1835
1846
  enableGlobalFilter = _instance$options.enableGlobalFilter,
1836
1847
  enablePagination = _instance$options.enablePagination,
1837
1848
  enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
1838
- tableId = _instance$options.tableId,
1839
1849
  muiTableToolbarTopProps = _instance$options.muiTableToolbarTopProps,
1840
- positionPagination = _instance$options.positionPagination,
1841
1850
  positionGlobalFilter = _instance$options.positionGlobalFilter,
1842
- positionToolbarActions = _instance$options.positionToolbarActions,
1851
+ positionPagination = _instance$options.positionPagination,
1843
1852
  positionToolbarAlertBanner = _instance$options.positionToolbarAlertBanner,
1844
- renderToolbarCustomActions = _instance$options.renderToolbarCustomActions;
1853
+ renderToolbarTopCustomActions = _instance$options.renderToolbarTopCustomActions,
1854
+ tableId = _instance$options.tableId;
1845
1855
 
1846
1856
  var _getState = getState(),
1847
1857
  isFullScreen = _getState.isFullScreen,
@@ -1851,7 +1861,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1851
1861
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1852
1862
  instance: instance
1853
1863
  }) : muiTableToolbarTopProps;
1854
- var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && (!!renderToolbarCustomActions || showGlobalFilter);
1864
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && (!!renderToolbarTopCustomActions || showGlobalFilter);
1855
1865
  return React.createElement(Toolbar, Object.assign({
1856
1866
  id: "mrt-" + tableId + "-toolbar-top",
1857
1867
  variant: "dense"
@@ -1870,23 +1880,27 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1870
1880
  }), React.createElement(Box, {
1871
1881
  sx: {
1872
1882
  alignItems: 'flex-start',
1883
+ boxSizing: 'border-box',
1873
1884
  display: 'flex',
1874
1885
  justifyContent: 'space-between',
1875
1886
  p: '0.5rem',
1876
1887
  position: stackAlertBanner ? 'relative' : 'absolute',
1877
1888
  right: 0,
1878
1889
  top: 0,
1879
- width: renderToolbarCustomActions ? '100%' : undefined
1890
+ width: '100%'
1880
1891
  }
1881
1892
  }, enableGlobalFilter && positionGlobalFilter === 'left' && React.createElement(MRT_SearchTextField, {
1882
1893
  instance: instance
1883
- }), (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1894
+ }), (_renderToolbarTopCust = renderToolbarTopCustomActions == null ? void 0 : renderToolbarTopCustomActions({
1884
1895
  instance: instance
1885
- })) != null ? _renderToolbarCustomA : React.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1896
+ })) != null ? _renderToolbarTopCust : React.createElement("span", null), enableToolbarInternalActions ? React.createElement(MRT_ToolbarInternalButtons, {
1886
1897
  instance: instance
1887
- })), React.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1898
+ }) : enableGlobalFilter && positionGlobalFilter === 'right' && React.createElement(MRT_SearchTextField, {
1888
1899
  instance: instance
1889
- })), React.createElement(MRT_LinearProgressBar, {
1900
+ })), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1901
+ instance: instance,
1902
+ position: "top"
1903
+ }), React.createElement(MRT_LinearProgressBar, {
1890
1904
  alignTo: "bottom",
1891
1905
  instance: instance
1892
1906
  }));
@@ -1896,14 +1910,12 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1896
1910
  var instance = _ref.instance;
1897
1911
  var getState = instance.getState,
1898
1912
  _instance$options = instance.options,
1899
- enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
1900
- tableId = _instance$options.tableId,
1901
1913
  enablePagination = _instance$options.enablePagination,
1902
1914
  muiTableToolbarBottomProps = _instance$options.muiTableToolbarBottomProps,
1903
1915
  positionPagination = _instance$options.positionPagination,
1904
- positionToolbarActions = _instance$options.positionToolbarActions,
1905
1916
  positionToolbarAlertBanner = _instance$options.positionToolbarAlertBanner,
1906
- renderToolbarCustomActions = _instance$options.renderToolbarCustomActions;
1917
+ renderToolbarBottomCustomActions = _instance$options.renderToolbarBottomCustomActions,
1918
+ tableId = _instance$options.tableId;
1907
1919
 
1908
1920
  var _getState = getState(),
1909
1921
  isFullScreen = _getState.isFullScreen;
@@ -1912,7 +1924,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1912
1924
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1913
1925
  instance: instance
1914
1926
  }) : muiTableToolbarBottomProps;
1915
- var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
1927
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && !!renderToolbarBottomCustomActions;
1916
1928
  return React.createElement(Toolbar, Object.assign({
1917
1929
  id: "mrt-" + tableId + "-toolbar-bottom",
1918
1930
  variant: "dense"
@@ -1935,16 +1947,26 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1935
1947
  sx: {
1936
1948
  display: 'flex',
1937
1949
  justifyContent: 'space-between',
1938
- width: '100%',
1950
+ width: '100%'
1951
+ }
1952
+ }, renderToolbarBottomCustomActions ? React.createElement(Box, {
1953
+ sx: {
1954
+ p: '0.5rem'
1955
+ }
1956
+ }, renderToolbarBottomCustomActions({
1957
+ instance: instance
1958
+ })) : React.createElement("span", null), React.createElement(Box, {
1959
+ sx: {
1960
+ display: 'flex',
1961
+ justifyContent: 'flex-end',
1939
1962
  position: stackAlertBanner ? 'relative' : 'absolute',
1940
1963
  right: 0,
1941
1964
  top: 0
1942
1965
  }
1943
- }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, {
1944
- instance: instance
1945
- }) : React.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1946
- instance: instance
1947
- })));
1966
+ }, enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1967
+ instance: instance,
1968
+ position: "bottom"
1969
+ }))));
1948
1970
  };
1949
1971
 
1950
1972
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
@@ -2794,6 +2816,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2794
2816
  muiTableBodyCellProps = _instance$options.muiTableBodyCellProps,
2795
2817
  muiTableBodyCellSkeletonProps = _instance$options.muiTableBodyCellSkeletonProps,
2796
2818
  onCellClick = _instance$options.onCellClick,
2819
+ onRowClick = _instance$options.onRowClick,
2797
2820
  rowNumberMode = _instance$options.rowNumberMode,
2798
2821
  tableId = _instance$options.tableId,
2799
2822
  setColumnOrder = instance.setColumnOrder,
@@ -2880,7 +2903,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2880
2903
  return _extends({
2881
2904
  backgroundColor: column.getIsPinned() ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
2882
2905
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
2883
- cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2906
+ cursor: isEditable && editingMode === 'cell' || onRowClick || onCellClick ? 'pointer' : 'text',
2884
2907
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2885
2908
  overflow: 'hidden',
2886
2909
  p: density === 'compact' ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
@@ -3276,7 +3299,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3276
3299
  };
3277
3300
 
3278
3301
  var MRT_TableRoot = function MRT_TableRoot(props) {
3279
- var _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
3302
+ var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
3280
3303
 
3281
3304
  var _useState = useState(props.tableId),
3282
3305
  tableId = _useState[0],
@@ -3287,15 +3310,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3287
3310
 
3288
3311
  return setIdPrefix((_props$tableId = props.tableId) != null ? _props$tableId : Math.random().toString(36).substring(2, 9));
3289
3312
  }, [props.tableId]);
3290
- var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
3291
- var showExpandColumn = props.enableExpanding || props.enableGrouping;
3292
3313
  var initialState = useMemo(function () {
3293
3314
  var _props$initialState, _initState$columnOrde;
3294
3315
 
3295
3316
  var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
3296
- initState.columnOrder = ((_initState$columnOrde = initState == null ? void 0 : initState.columnOrder) != null ? _initState$columnOrde : props.enableColumnOrdering || props.enableGrouping) ? [showActionColumn && 'mrt-row-actions', showExpandColumn && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3297
- return c.id;
3298
- })).filter(Boolean) : [];
3317
+ initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
3299
3318
 
3300
3319
  if (!props.enablePersistentState || !props.tableId) {
3301
3320
  return initState;
@@ -3322,43 +3341,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3322
3341
  return initState;
3323
3342
  }, []);
3324
3343
 
3325
- var _useState2 = useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
3326
- currentEditingCell = _useState2[0],
3327
- setCurrentEditingCell = _useState2[1];
3344
+ var _useState2 = useState((_initialState$columnO = initialState.columnOrder) != null ? _initialState$columnO : []),
3345
+ columnOrder = _useState2[0],
3346
+ setColumnOrder = _useState2[1];
3347
+
3348
+ var _useState3 = useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
3349
+ currentEditingCell = _useState3[0],
3350
+ setCurrentEditingCell = _useState3[1];
3328
3351
 
3329
- var _useState3 = useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
3330
- currentEditingRow = _useState3[0],
3331
- setCurrentEditingRow = _useState3[1];
3352
+ var _useState4 = useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
3353
+ currentEditingRow = _useState4[0],
3354
+ setCurrentEditingRow = _useState4[1];
3332
3355
 
3333
- var _useState4 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3334
- density = _useState4[0],
3335
- setDensity = _useState4[1];
3356
+ var _useState5 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3357
+ density = _useState5[0],
3358
+ setDensity = _useState5[1];
3336
3359
 
3337
- var _useState5 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3338
- isFullScreen = _useState5[0],
3339
- setIsFullScreen = _useState5[1];
3360
+ var _useState6 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3361
+ isFullScreen = _useState6[0],
3362
+ setIsFullScreen = _useState6[1];
3340
3363
 
3341
- var _useState6 = useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
3342
- showFilters = _useState6[0],
3343
- setShowFilters = _useState6[1];
3364
+ var _useState7 = useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
3365
+ showFilters = _useState7[0],
3366
+ setShowFilters = _useState7[1];
3344
3367
 
3345
- var _useState7 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3346
- showGlobalFilter = _useState7[0],
3347
- setShowGlobalFilter = _useState7[1];
3368
+ var _useState8 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3369
+ showGlobalFilter = _useState8[0],
3370
+ setShowGlobalFilter = _useState8[1];
3348
3371
 
3349
- var _useState8 = useState(function () {
3372
+ var _useState9 = useState(function () {
3350
3373
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3351
3374
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
3352
3375
 
3353
3376
  return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? 'equals' : 'fuzzy', _ref2;
3354
3377
  })));
3355
3378
  }),
3356
- currentFilterFns = _useState8[0],
3357
- setCurrentFilterFns = _useState8[1];
3379
+ currentFilterFns = _useState9[0],
3380
+ setCurrentFilterFns = _useState9[1];
3358
3381
 
3359
- var _useState9 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
3360
- currentGlobalFilterFn = _useState9[0],
3361
- setCurrentGlobalFilterFn = _useState9[1];
3382
+ var _useState10 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
3383
+ currentGlobalFilterFn = _useState10[0],
3384
+ setCurrentGlobalFilterFn = _useState10[1];
3362
3385
 
3363
3386
  var table = useMemo(function () {
3364
3387
  return (// @ts-ignore
@@ -3375,16 +3398,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3375
3398
  getSubRows: function getSubRows(row) {
3376
3399
  return row == null ? void 0 : row.subRows;
3377
3400
  },
3378
- tableId: tableId,
3379
- initialState: initialState
3401
+ tableId: tableId
3380
3402
  })
3381
3403
  );
3382
3404
  }, []);
3383
-
3384
- var _useMemo = useMemo(function () {
3405
+ var displayColumns = useMemo(function () {
3385
3406
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
3386
3407
 
3387
- var leadingDisplayColumns = [showActionColumn && createDisplayColumn(table, {
3408
+ return [columnOrder.includes('mrt-row-actions') && createDisplayColumn(table, {
3388
3409
  Cell: function Cell(_ref3) {
3389
3410
  var cell = _ref3.cell;
3390
3411
  return React.createElement(MRT_ToggleRowActionMenuButton, {
@@ -3397,7 +3418,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3397
3418
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3398
3419
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3399
3420
  size: 70
3400
- }), showExpandColumn && createDisplayColumn(table, {
3421
+ }), columnOrder.includes('mrt-expand') && createDisplayColumn(table, {
3401
3422
  Cell: function Cell(_ref4) {
3402
3423
  var cell = _ref4.cell;
3403
3424
  return React.createElement(MRT_ExpandButton, {
@@ -3415,7 +3436,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3415
3436
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3416
3437
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3417
3438
  size: 50
3418
- }), props.enableRowSelection && createDisplayColumn(table, {
3439
+ }), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
3419
3440
  Cell: function Cell(_ref5) {
3420
3441
  var cell = _ref5.cell;
3421
3442
  return React.createElement(MRT_SelectCheckbox, {
@@ -3434,7 +3455,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3434
3455
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3435
3456
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3436
3457
  size: 50
3437
- }), props.enableRowNumbers && createDisplayColumn(table, {
3458
+ }), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
3438
3459
  Cell: function Cell(_ref6) {
3439
3460
  var cell = _ref6.cell;
3440
3461
  return cell.row.index + 1;
@@ -3450,23 +3471,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3450
3471
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3451
3472
  size: 50
3452
3473
  })].filter(Boolean);
3453
- var trailingDisplayColumns = [];
3454
-
3455
- if (props.enableRowActions && props.positionActionsColumn === 'last') {
3456
- trailingDisplayColumns.push.apply(trailingDisplayColumns, leadingDisplayColumns.splice(leadingDisplayColumns.findIndex(function (col) {
3457
- return col.id === 'mrt-row-actions';
3458
- }), 1));
3459
- }
3460
-
3461
- return [leadingDisplayColumns, trailingDisplayColumns];
3462
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]),
3463
- leadingDisplayColumns = _useMemo[0],
3464
- trailingDisplayColumns = _useMemo[1];
3465
-
3474
+ }, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]);
3466
3475
  var columns = useMemo(function () {
3467
- return [].concat(leadingDisplayColumns, props.columns.map(function (column) {
3476
+ return [].concat(displayColumns, props.columns.map(function (column) {
3468
3477
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3469
- }), trailingDisplayColumns);
3478
+ }));
3470
3479
  }, [table, props.columns, currentFilterFns]);
3471
3480
  var data = useMemo(function () {
3472
3481
  var _props$state, _props$state2;
@@ -3480,13 +3489,17 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3480
3489
  }) : props.data;
3481
3490
  }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3482
3491
 
3483
- var instance = _extends({}, useTableInstance(table, _extends({}, props, {
3492
+ var instance = _extends({}, useTableInstance(table, _extends({
3493
+ onColumnOrderChange: setColumnOrder
3494
+ }, props, {
3484
3495
  //@ts-ignore
3485
3496
  columns: columns,
3486
3497
  data: data,
3487
3498
  //@ts-ignore
3488
3499
  globalFilterFn: currentGlobalFilterFn,
3500
+ initialState: initialState,
3489
3501
  state: _extends({
3502
+ columnOrder: columnOrder,
3490
3503
  currentEditingCell: currentEditingCell,
3491
3504
  currentEditingRow: currentEditingRow,
3492
3505
  currentFilterFns: currentFilterFns,
@@ -3547,7 +3560,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3547
3560
  }));
3548
3561
  };
3549
3562
 
3550
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3563
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3551
3564
  var MaterialReactTable = (function (_ref) {
3552
3565
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3553
3566
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -3589,6 +3602,8 @@ var MaterialReactTable = (function (_ref) {
3589
3602
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3590
3603
  _ref$enablePinning = _ref.enablePinning,
3591
3604
  enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3605
+ _ref$enableRowSelecti = _ref.enableRowSelection,
3606
+ enableRowSelection = _ref$enableRowSelecti === void 0 ? false : _ref$enableRowSelecti,
3592
3607
  _ref$enableSelectAll = _ref.enableSelectAll,
3593
3608
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3594
3609
  _ref$enableSorting = _ref.enableSorting,
@@ -3611,14 +3626,12 @@ var MaterialReactTable = (function (_ref) {
3611
3626
  persistentStateMode = _ref$persistentStateM === void 0 ? 'sessionStorage' : _ref$persistentStateM,
3612
3627
  _ref$positionActionsC = _ref.positionActionsColumn,
3613
3628
  positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
3614
- _ref$positionPaginati = _ref.positionPagination,
3615
- positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
3616
3629
  _ref$positionGlobalFi = _ref.positionGlobalFilter,
3617
3630
  positionGlobalFilter = _ref$positionGlobalFi === void 0 ? 'right' : _ref$positionGlobalFi,
3618
- _ref$positionToolbarA = _ref.positionToolbarActions,
3619
- positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
3620
- _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
3621
- positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
3631
+ _ref$positionPaginati = _ref.positionPagination,
3632
+ positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
3633
+ _ref$positionToolbarA = _ref.positionToolbarAlertBanner,
3634
+ positionToolbarAlertBanner = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
3622
3635
  _ref$rowNumberMode = _ref.rowNumberMode,
3623
3636
  rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
3624
3637
  _ref$selectAllMode = _ref.selectAllMode,
@@ -3644,6 +3657,7 @@ var MaterialReactTable = (function (_ref) {
3644
3657
  enableMultiRowSelection: enableMultiRowSelection,
3645
3658
  enablePagination: enablePagination,
3646
3659
  enablePinning: enablePinning,
3660
+ enableRowSelection: enableRowSelection,
3647
3661
  enableSelectAll: enableSelectAll,
3648
3662
  enableSorting: enableSorting,
3649
3663
  enableStickyHeader: enableStickyHeader,
@@ -3658,7 +3672,6 @@ var MaterialReactTable = (function (_ref) {
3658
3672
  positionActionsColumn: positionActionsColumn,
3659
3673
  positionGlobalFilter: positionGlobalFilter,
3660
3674
  positionPagination: positionPagination,
3661
- positionToolbarActions: positionToolbarActions,
3662
3675
  positionToolbarAlertBanner: positionToolbarAlertBanner,
3663
3676
  rowNumberMode: rowNumberMode,
3664
3677
  selectAllMode: selectAllMode