material-react-table 0.13.2 → 0.13.3

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.
@@ -260,7 +260,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
260
260
  instance: MRT_TableInstance<D>;
261
261
  column: MRT_Column<D>;
262
262
  }) => TableCellProps);
263
- muiTableFooterProps?: TableFooterProps | (({ instance }: {
263
+ muiTableFooterProps?: TableFooterProps | (({ instance, }: {
264
264
  instance: MRT_TableInstance<D>;
265
265
  }) => TableFooterProps);
266
266
  muiTableFooterRowProps?: TableRowProps | (({ instance, footerGroup, }: {
@@ -449,5 +449,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
449
449
  tableId?: string;
450
450
  virtualizerProps?: VirtualizerOptions<HTMLDivElement>;
451
451
  };
452
- declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGrouping, enableHiding, enableMultiRowSelection, enablePagination, enablePinning, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionPagination, positionGlobalFilter, positionToolbarActions, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
452
+ declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGrouping, enableHiding, enableMultiRowSelection, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarActions, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
453
453
  export default _default;
@@ -3412,6 +3412,17 @@ var reorderColumn = function reorderColumn(movingColumn, receivingColumn, column
3412
3412
  columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
3413
3413
  setColumnOrder([].concat(columnOrder));
3414
3414
  };
3415
+ var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
3416
+ return [(props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping) && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
3417
+ };
3418
+ var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
3419
+ return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
3420
+ };
3421
+ var getDefaultColumnOrderIds = function getDefaultColumnOrderIds(props) {
3422
+ return [].concat(getLeadingDisplayColumnIds(props), getAllLeafColumnDefs(props.columns).map(function (c) {
3423
+ return c.id;
3424
+ }), getTrailingDisplayColumnIds(props)).filter(Boolean);
3425
+ };
3415
3426
 
3416
3427
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
3417
3428
  var _column$columns2;
@@ -3597,7 +3608,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
3597
3608
  onClick: hideAllColumns
3598
3609
  }, localization.hideAll), !isSubMenu && enableColumnOrdering && React__default.createElement(material.Button, {
3599
3610
  onClick: function onClick() {
3600
- return instance.resetColumnOrder();
3611
+ return instance.setColumnOrder(getDefaultColumnOrderIds(instance.options));
3601
3612
  }
3602
3613
  }, localization.resetOrder), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
3603
3614
  disabled: !getIsSomeColumnsPinned(),
@@ -7520,7 +7531,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
7520
7531
  };
7521
7532
 
7522
7533
  var MRT_TableRoot = function MRT_TableRoot(props) {
7523
- var _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
7534
+ var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
7524
7535
 
7525
7536
  var _useState = React.useState(props.tableId),
7526
7537
  tableId = _useState[0],
@@ -7531,15 +7542,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7531
7542
 
7532
7543
  return setIdPrefix((_props$tableId = props.tableId) != null ? _props$tableId : Math.random().toString(36).substring(2, 9));
7533
7544
  }, [props.tableId]);
7534
- var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
7535
- var showExpandColumn = props.enableExpanding || props.enableGrouping;
7536
7545
  var initialState = React.useMemo(function () {
7537
7546
  var _props$initialState, _initState$columnOrde;
7538
7547
 
7539
7548
  var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
7540
- initState.columnOrder = ((_initState$columnOrde = initState == null ? void 0 : initState.columnOrder) != null ? _initState$columnOrde : props.enableColumnOrdering || props.enableGrouping) ? [showActionColumn && 'mrt-row-actions', showExpandColumn && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
7541
- return c.id;
7542
- })).filter(Boolean) : [];
7549
+ initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
7543
7550
 
7544
7551
  if (!props.enablePersistentState || !props.tableId) {
7545
7552
  return initState;
@@ -7566,43 +7573,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7566
7573
  return initState;
7567
7574
  }, []);
7568
7575
 
7569
- var _useState2 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
7570
- currentEditingCell = _useState2[0],
7571
- setCurrentEditingCell = _useState2[1];
7576
+ var _useState2 = React.useState((_initialState$columnO = initialState.columnOrder) != null ? _initialState$columnO : []),
7577
+ columnOrder = _useState2[0],
7578
+ setColumnOrder = _useState2[1];
7579
+
7580
+ var _useState3 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
7581
+ currentEditingCell = _useState3[0],
7582
+ setCurrentEditingCell = _useState3[1];
7572
7583
 
7573
- var _useState3 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
7574
- currentEditingRow = _useState3[0],
7575
- setCurrentEditingRow = _useState3[1];
7584
+ var _useState4 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
7585
+ currentEditingRow = _useState4[0],
7586
+ setCurrentEditingRow = _useState4[1];
7576
7587
 
7577
- var _useState4 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
7578
- density = _useState4[0],
7579
- setDensity = _useState4[1];
7588
+ var _useState5 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
7589
+ density = _useState5[0],
7590
+ setDensity = _useState5[1];
7580
7591
 
7581
- var _useState5 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7582
- isFullScreen = _useState5[0],
7583
- setIsFullScreen = _useState5[1];
7592
+ var _useState6 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
7593
+ isFullScreen = _useState6[0],
7594
+ setIsFullScreen = _useState6[1];
7584
7595
 
7585
- var _useState6 = React.useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
7586
- showFilters = _useState6[0],
7587
- setShowFilters = _useState6[1];
7596
+ var _useState7 = React.useState((_initialState$showFil = initialState == null ? void 0 : initialState.showFilters) != null ? _initialState$showFil : false),
7597
+ showFilters = _useState7[0],
7598
+ setShowFilters = _useState7[1];
7588
7599
 
7589
- var _useState7 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
7590
- showGlobalFilter = _useState7[0],
7591
- setShowGlobalFilter = _useState7[1];
7600
+ var _useState8 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
7601
+ showGlobalFilter = _useState8[0],
7602
+ setShowGlobalFilter = _useState8[1];
7592
7603
 
7593
- var _useState8 = React.useState(function () {
7604
+ var _useState9 = React.useState(function () {
7594
7605
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
7595
7606
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
7596
7607
 
7597
7608
  return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? 'equals' : 'fuzzy', _ref2;
7598
7609
  })));
7599
7610
  }),
7600
- currentFilterFns = _useState8[0],
7601
- setCurrentFilterFns = _useState8[1];
7611
+ currentFilterFns = _useState9[0],
7612
+ setCurrentFilterFns = _useState9[1];
7602
7613
 
7603
- var _useState9 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
7604
- currentGlobalFilterFn = _useState9[0],
7605
- setCurrentGlobalFilterFn = _useState9[1];
7614
+ var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : 'fuzzy'),
7615
+ currentGlobalFilterFn = _useState10[0],
7616
+ setCurrentGlobalFilterFn = _useState10[1];
7606
7617
 
7607
7618
  var table = React.useMemo(function () {
7608
7619
  return (// @ts-ignore
@@ -7619,16 +7630,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7619
7630
  getSubRows: function getSubRows(row) {
7620
7631
  return row == null ? void 0 : row.subRows;
7621
7632
  },
7622
- tableId: tableId,
7623
- initialState: initialState
7633
+ tableId: tableId
7624
7634
  })
7625
7635
  );
7626
7636
  }, []);
7627
-
7628
- var _useMemo = React.useMemo(function () {
7637
+ var displayColumns = React.useMemo(function () {
7629
7638
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
7630
7639
 
7631
- var leadingDisplayColumns = [showActionColumn && createDisplayColumn(table, {
7640
+ return [columnOrder.includes('mrt-row-actions') && createDisplayColumn(table, {
7632
7641
  Cell: function Cell(_ref3) {
7633
7642
  var cell = _ref3.cell;
7634
7643
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -7641,7 +7650,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7641
7650
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7642
7651
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7643
7652
  size: 70
7644
- }), showExpandColumn && createDisplayColumn(table, {
7653
+ }), columnOrder.includes('mrt-expand') && createDisplayColumn(table, {
7645
7654
  Cell: function Cell(_ref4) {
7646
7655
  var cell = _ref4.cell;
7647
7656
  return React__default.createElement(MRT_ExpandButton, {
@@ -7659,7 +7668,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7659
7668
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7660
7669
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7661
7670
  size: 50
7662
- }), props.enableRowSelection && createDisplayColumn(table, {
7671
+ }), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
7663
7672
  Cell: function Cell(_ref5) {
7664
7673
  var cell = _ref5.cell;
7665
7674
  return React__default.createElement(MRT_SelectCheckbox, {
@@ -7678,7 +7687,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7678
7687
  muiTableBodyCellProps: props.muiTableBodyCellProps,
7679
7688
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7680
7689
  size: 50
7681
- }), props.enableRowNumbers && createDisplayColumn(table, {
7690
+ }), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
7682
7691
  Cell: function Cell(_ref6) {
7683
7692
  var cell = _ref6.cell;
7684
7693
  return cell.row.index + 1;
@@ -7694,23 +7703,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7694
7703
  muiTableHeadCellProps: props.muiTableHeadCellProps,
7695
7704
  size: 50
7696
7705
  })].filter(Boolean);
7697
- var trailingDisplayColumns = [];
7698
-
7699
- if (props.enableRowActions && props.positionActionsColumn === 'last') {
7700
- trailingDisplayColumns.push.apply(trailingDisplayColumns, leadingDisplayColumns.splice(leadingDisplayColumns.findIndex(function (col) {
7701
- return col.id === 'mrt-row-actions';
7702
- }), 1));
7703
- }
7704
-
7705
- return [leadingDisplayColumns, trailingDisplayColumns];
7706
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]),
7707
- leadingDisplayColumns = _useMemo[0],
7708
- trailingDisplayColumns = _useMemo[1];
7709
-
7706
+ }, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]);
7710
7707
  var columns = React.useMemo(function () {
7711
- return [].concat(leadingDisplayColumns, props.columns.map(function (column) {
7708
+ return [].concat(displayColumns, props.columns.map(function (column) {
7712
7709
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
7713
- }), trailingDisplayColumns);
7710
+ }));
7714
7711
  }, [table, props.columns, currentFilterFns]);
7715
7712
  var data = React.useMemo(function () {
7716
7713
  var _props$state, _props$state2;
@@ -7724,13 +7721,17 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7724
7721
  }) : props.data;
7725
7722
  }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
7726
7723
 
7727
- var instance = _extends({}, reactTable.useTableInstance(table, _extends({}, props, {
7724
+ var instance = _extends({}, reactTable.useTableInstance(table, _extends({
7725
+ onColumnOrderChange: setColumnOrder
7726
+ }, props, {
7728
7727
  //@ts-ignore
7729
7728
  columns: columns,
7730
7729
  data: data,
7731
7730
  //@ts-ignore
7732
7731
  globalFilterFn: currentGlobalFilterFn,
7732
+ initialState: initialState,
7733
7733
  state: _extends({
7734
+ columnOrder: columnOrder,
7734
7735
  currentEditingCell: currentEditingCell,
7735
7736
  currentEditingRow: currentEditingRow,
7736
7737
  currentFilterFns: currentFilterFns,
@@ -7791,7 +7792,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7791
7792
  }));
7792
7793
  };
7793
7794
 
7794
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
7795
+ 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", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
7795
7796
  var MaterialReactTable = (function (_ref) {
7796
7797
  var _ref$autoResetExpande = _ref.autoResetExpanded,
7797
7798
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -7833,6 +7834,8 @@ var MaterialReactTable = (function (_ref) {
7833
7834
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
7834
7835
  _ref$enablePinning = _ref.enablePinning,
7835
7836
  enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
7837
+ _ref$enableRowSelecti = _ref.enableRowSelection,
7838
+ enableRowSelection = _ref$enableRowSelecti === void 0 ? false : _ref$enableRowSelecti,
7836
7839
  _ref$enableSelectAll = _ref.enableSelectAll,
7837
7840
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
7838
7841
  _ref$enableSorting = _ref.enableSorting,
@@ -7855,10 +7858,10 @@ var MaterialReactTable = (function (_ref) {
7855
7858
  persistentStateMode = _ref$persistentStateM === void 0 ? 'sessionStorage' : _ref$persistentStateM,
7856
7859
  _ref$positionActionsC = _ref.positionActionsColumn,
7857
7860
  positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
7858
- _ref$positionPaginati = _ref.positionPagination,
7859
- positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
7860
7861
  _ref$positionGlobalFi = _ref.positionGlobalFilter,
7861
7862
  positionGlobalFilter = _ref$positionGlobalFi === void 0 ? 'right' : _ref$positionGlobalFi,
7863
+ _ref$positionPaginati = _ref.positionPagination,
7864
+ positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
7862
7865
  _ref$positionToolbarA = _ref.positionToolbarActions,
7863
7866
  positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
7864
7867
  _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
@@ -7888,6 +7891,7 @@ var MaterialReactTable = (function (_ref) {
7888
7891
  enableMultiRowSelection: enableMultiRowSelection,
7889
7892
  enablePagination: enablePagination,
7890
7893
  enablePinning: enablePinning,
7894
+ enableRowSelection: enableRowSelection,
7891
7895
  enableSelectAll: enableSelectAll,
7892
7896
  enableSorting: enableSorting,
7893
7897
  enableStickyHeader: enableStickyHeader,