material-react-table 0.5.0 → 0.5.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.
Files changed (35) hide show
  1. package/dist/MaterialReactTable.d.ts +10 -9
  2. package/dist/material-react-table.cjs.development.js +93 -81
  3. package/dist/material-react-table.cjs.development.js.map +1 -1
  4. package/dist/material-react-table.cjs.production.min.js +1 -1
  5. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  6. package/dist/material-react-table.esm.js +94 -82
  7. package/dist/material-react-table.esm.js.map +1 -1
  8. package/dist/useMRT.d.ts +0 -5
  9. package/package.json +2 -2
  10. package/src/@types/react-table-config.d.ts +3 -3
  11. package/src/MaterialReactTable.tsx +16 -9
  12. package/src/body/MRT_TableBody.tsx +7 -2
  13. package/src/body/MRT_TableBodyCell.tsx +3 -2
  14. package/src/body/MRT_TableBodyRow.tsx +11 -8
  15. package/src/buttons/MRT_EditActionButtons.tsx +2 -2
  16. package/src/buttons/MRT_ExpandAllButton.tsx +3 -4
  17. package/src/buttons/MRT_ExpandButton.tsx +3 -1
  18. package/src/buttons/MRT_FullScreenToggleButton.tsx +3 -1
  19. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +3 -1
  20. package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -2
  21. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +17 -11
  22. package/src/buttons/MRT_ToggleSearchButton.tsx +1 -1
  23. package/src/footer/MRT_TableFooter.tsx +6 -1
  24. package/src/footer/MRT_TableFooterCell.tsx +7 -2
  25. package/src/head/MRT_TableHeadCell.tsx +5 -4
  26. package/src/head/MRT_TableHeadCellActions.tsx +6 -1
  27. package/src/head/MRT_TableHeadRow.tsx +7 -2
  28. package/src/inputs/MRT_EditCellTextField.tsx +3 -1
  29. package/src/inputs/MRT_SearchTextField.tsx +1 -2
  30. package/src/inputs/MRT_SelectCheckbox.tsx +1 -2
  31. package/src/table/MRT_Table.tsx +7 -2
  32. package/src/table/MRT_TableContainer.tsx +19 -5
  33. package/src/toolbar/MRT_ToolbarBottom.tsx +2 -3
  34. package/src/toolbar/MRT_ToolbarTop.tsx +2 -3
  35. package/src/useMRT.tsx +38 -23
@@ -49,10 +49,11 @@ export declare type MRT_Row<D extends {} = {}> = Row<D> & UseExpandedRowProps<D>
49
49
  };
50
50
  export declare type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> & UseGroupByCellProps<D> & UseRowStateCellProps<D> & {};
51
51
  export declare type MRT_TableState<D extends {} = {}> = TableState<D> & UseColumnOrderState<D> & UseExpandedState<D> & UseFiltersState<D> & UseGlobalFiltersState<D> & UseGroupByState<D> & UsePaginationState<D> & UseResizeColumnsState<D> & UseRowSelectState<D> & UseRowStateState<D> & UseSortByState<D> & {
52
- densePadding?: boolean;
53
- fullScreen?: boolean;
54
- showFilters?: boolean;
55
- showSearchTextField?: boolean;
52
+ currentEditingRow: MRT_Row<D> | null;
53
+ densePadding: boolean;
54
+ fullScreen: boolean;
55
+ showFilters: boolean;
56
+ showSearch: boolean;
56
57
  };
57
58
  export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseGroupByOptions<D> & UsePaginationOptions<D> & UseResizeColumnsOptions<D> & UseRowSelectOptions<D> & UseRowStateOptions<D> & UseSortByOptions<D> & MRT_TableOptions<D> & {
58
59
  disableColumnActions?: boolean;
@@ -80,19 +81,19 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
80
81
  muiSearchTextFieldProps?: TextFieldProps;
81
82
  muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell?: MRT_Cell<D>) => TextFieldProps);
82
83
  muiTableBodyCellProps?: TableCellProps | ((cell?: MRT_Cell<D>) => TableCellProps);
83
- muiTableBodyProps?: TableBodyProps;
84
+ muiTableBodyProps?: TableBodyProps | ((tableInstance: MRT_TableInstance<D>) => TableBodyProps);
84
85
  muiTableBodyRowProps?: TableRowProps | ((row: Row<D>) => TableRowProps);
85
- muiTableContainerProps?: TableContainerProps | ((table: MRT_TableInstance<D>) => TableContainerProps);
86
+ muiTableContainerProps?: TableContainerProps | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);
86
87
  muiTableDetailPanelProps?: TableCellProps | ((row: Row<D>) => TableCellProps);
87
88
  muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
88
- muiTableFooterProps?: TableFooterProps;
89
+ muiTableFooterProps?: TableFooterProps | ((tableInstance: MRT_TableInstance<D>) => TableFooterProps);
89
90
  muiTableFooterRowProps?: TableRowProps | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);
90
91
  muiTableHeadCellFilterTextFieldProps?: TextFieldProps | ((column: Column<D>) => TextFieldProps);
91
92
  muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
92
- muiTableHeadProps?: TableHeadProps;
93
+ muiTableHeadProps?: TableHeadProps | ((tableInstance: MRT_TableInstance<D>) => TableHeadProps);
93
94
  muiTableHeadRowProps?: TableRowProps | ((row: MRT_HeaderGroup<D>) => TableRowProps);
94
95
  muiTablePaginationProps?: Partial<TablePaginationProps> | ((tableInstance: MRT_TableInstance<D>) => Partial<TablePaginationProps>);
95
- muiTableProps?: TableProps;
96
+ muiTableProps?: TableProps | ((tableInstance: MRT_TableInstance<D>) => TableProps);
96
97
  muiTableToolbarAlertBannerProps?: AlertProps | ((tableInstance: MRT_TableInstance<D>) => AlertProps);
97
98
  muiTableToolbarBottomProps?: ToolbarProps | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
98
99
  muiTableToolbarTopProps?: ToolbarProps | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
@@ -109,19 +109,6 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
109
109
 
110
110
  var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
111
111
  if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
112
- var tableInstance = reactTable.useTable.apply(void 0, [props].concat(hooks));
113
- var anyRowsCanExpand = React.useMemo( // @ts-ignore
114
- function () {
115
- return tableInstance.rows.some(function (row) {
116
- return row.canExpand;
117
- });
118
- }, [tableInstance.rows]);
119
- var anyRowsExpanded = React.useMemo( // @ts-ignore
120
- function () {
121
- return tableInstance.rows.some(function (row) {
122
- return row.isExpanded;
123
- });
124
- }, [tableInstance.rows]);
125
112
 
126
113
  var _useState = React.useState(null),
127
114
  currentEditingRow = _useState[0],
@@ -139,24 +126,42 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
139
126
  showFilters = _useState4[0],
140
127
  setShowFilters = _useState4[1];
141
128
 
142
- var _useState5 = React.useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearchTextField) != null ? _props$initialState$s2 : false),
129
+ var _useState5 = React.useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearch) != null ? _props$initialState$s2 : false),
143
130
  showSearch = _useState5[0],
144
131
  setShowSearch = _useState5[1];
145
132
 
133
+ var tableInstance = reactTable.useTable.apply(void 0, [_extends({}, props, {
134
+ useControlledState: function useControlledState(state) {
135
+ return React.useMemo(function () {
136
+ return _extends({}, state, {
137
+ currentEditingRow: currentEditingRow,
138
+ densePadding: densePadding,
139
+ fullScreen: fullScreen,
140
+ showFilters: showFilters,
141
+ showSearch: showSearch
142
+ }, props == null ? void 0 : props.useControlledState == null ? void 0 : props.useControlledState(state));
143
+ }, [currentEditingRow, densePadding, fullScreen, showFilters, showSearch, state]);
144
+ }
145
+ })].concat(hooks));
146
+ var anyRowsCanExpand = React.useMemo(function () {
147
+ return tableInstance.rows.some(function (row) {
148
+ return row.canExpand;
149
+ });
150
+ }, [tableInstance.rows]);
151
+ var anyRowsExpanded = React.useMemo(function () {
152
+ return tableInstance.rows.some(function (row) {
153
+ return row.isExpanded;
154
+ });
155
+ }, [tableInstance.rows]);
146
156
  return React__default.createElement(MaterialReactTableContext.Provider, {
147
157
  value: _extends({}, props, {
148
158
  anyRowsCanExpand: anyRowsCanExpand,
149
159
  anyRowsExpanded: anyRowsExpanded,
150
- currentEditingRow: currentEditingRow,
151
- densePadding: densePadding,
152
160
  setCurrentEditingRow: setCurrentEditingRow,
153
161
  setDensePadding: setDensePadding,
154
- fullScreen: fullScreen,
155
162
  setFullScreen: setFullScreen,
156
163
  setShowFilters: setShowFilters,
157
164
  setShowSearch: setShowSearch,
158
- showFilters: showFilters,
159
- showSearch: showSearch,
160
165
  //@ts-ignore
161
166
  tableInstance: tableInstance
162
167
  })
@@ -407,13 +412,11 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
407
412
  var column = _ref.column;
408
413
 
409
414
  var _useMRT = useMRT(),
410
- densePadding = _useMRT.densePadding,
411
415
  disableColumnActions = _useMRT.disableColumnActions,
412
416
  disableFilters = _useMRT.disableFilters,
413
417
  enableColumnResizing = _useMRT.enableColumnResizing,
414
418
  localization = _useMRT.localization,
415
419
  muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
416
- showFilters = _useMRT.showFilters,
417
420
  tableInstance = _useMRT.tableInstance;
418
421
 
419
422
  var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
@@ -428,7 +431,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
428
431
  return React__default.createElement(material.TableCell, Object.assign({
429
432
  align: isParentHeader ? 'center' : 'left'
430
433
  }, tableCellProps, {
431
- sx: _extends({}, commonTableHeadCellStyles(densePadding, enableColumnResizing), tableCellProps == null ? void 0 : tableCellProps.sx)
434
+ sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing), tableCellProps == null ? void 0 : tableCellProps.sx)
432
435
  }), React__default.createElement(material.Box, {
433
436
  sx: {
434
437
  alignContent: 'space-between',
@@ -477,7 +480,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
477
480
  maxHeight: '2rem'
478
481
  }
479
482
  })))), !disableFilters && column.canFilter && React__default.createElement(material.Collapse, {
480
- "in": showFilters
483
+ "in": tableInstance.state.showFilters
481
484
  }, React__default.createElement(MRT_FilterTextField, {
482
485
  column: column
483
486
  }))));
@@ -489,9 +492,9 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
489
492
  var cell = _ref.cell;
490
493
 
491
494
  var _useMRT = useMRT(),
492
- currentEditingRow = _useMRT.currentEditingRow,
493
495
  muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
494
- setCurrentEditingRow = _useMRT.setCurrentEditingRow;
496
+ setCurrentEditingRow = _useMRT.setCurrentEditingRow,
497
+ currentEditingRow = _useMRT.tableInstance.state.currentEditingRow;
495
498
 
496
499
  var handleChange = function handleChange(event) {
497
500
  if (currentEditingRow) {
@@ -547,8 +550,9 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
547
550
  var _useMRT = useMRT(),
548
551
  onCellClick = _useMRT.onCellClick,
549
552
  muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
550
- densePadding = _useMRT.densePadding,
551
- currentEditingRow = _useMRT.currentEditingRow;
553
+ _useMRT$tableInstance = _useMRT.tableInstance.state,
554
+ currentEditingRow = _useMRT$tableInstance.currentEditingRow,
555
+ densePadding = _useMRT$tableInstance.densePadding;
552
556
 
553
557
  var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
554
558
  var mcTableCellBodyProps = cell.column.muiTableBodyCellProps instanceof Function ? cell.column.muiTableBodyCellProps(cell) : cell.column.muiTableBodyCellProps;
@@ -573,7 +577,6 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
573
577
  selectAll = _ref.selectAll;
574
578
 
575
579
  var _useMRT = useMRT(),
576
- densePadding = _useMRT.densePadding,
577
580
  localization = _useMRT.localization,
578
581
  onRowSelectChange = _useMRT.onRowSelectChange,
579
582
  onSelectAllChange = _useMRT.onSelectAllChange,
@@ -595,7 +598,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
595
598
 
596
599
  var checkboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
597
600
  return React__default.createElement(material.TableCell, {
598
- sx: commonTableBodyButtonCellStyles(densePadding)
601
+ sx: commonTableBodyButtonCellStyles(tableInstance.state.densePadding)
599
602
  }, React__default.createElement(material.Tooltip, {
600
603
  arrow: true,
601
604
  enterDelay: 1000,
@@ -613,16 +616,15 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
613
616
 
614
617
  var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
615
618
  var _useMRT = useMRT(),
616
- tableInstance = _useMRT.tableInstance,
617
- localization = _useMRT.localization,
618
619
  anyRowsExpanded = _useMRT.anyRowsExpanded,
619
- densePadding = _useMRT.densePadding,
620
- DoubleArrowDownIcon = _useMRT.icons.DoubleArrowDownIcon;
620
+ DoubleArrowDownIcon = _useMRT.icons.DoubleArrowDownIcon,
621
+ localization = _useMRT.localization,
622
+ tableInstance = _useMRT.tableInstance;
621
623
 
622
624
  return React__default.createElement(material.TableCell, Object.assign({
623
625
  size: "small"
624
626
  }, tableInstance.getToggleAllRowsExpandedProps(), {
625
- sx: commonTableBodyButtonCellStyles(densePadding)
627
+ sx: commonTableBodyButtonCellStyles(tableInstance.state.densePadding)
626
628
  }), React__default.createElement(material.IconButton, {
627
629
  "aria-label": localization.expandAllButtonTitle,
628
630
  title: localization.expandAllButtonTitle
@@ -655,8 +657,8 @@ var MRT_TableSpacerCell = function MRT_TableSpacerCell(_ref) {
655
657
 
656
658
  var MRT_TableHeadCellActions = function MRT_TableHeadCellActions() {
657
659
  var _useMRT = useMRT(),
658
- densePadding = _useMRT.densePadding,
659
- localization = _useMRT.localization;
660
+ localization = _useMRT.localization,
661
+ densePadding = _useMRT.tableInstance.state.densePadding;
660
662
 
661
663
  return React__default.createElement(material.TableCell, {
662
664
  style: {
@@ -673,7 +675,6 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
673
675
 
674
676
  var _useMRT = useMRT(),
675
677
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
676
- densePadding = _useMRT.densePadding,
677
678
  disableExpandAll = _useMRT.disableExpandAll,
678
679
  enableRowActions = _useMRT.enableRowActions,
679
680
  enableRowEditing = _useMRT.enableRowEditing,
@@ -698,7 +699,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
698
699
  });
699
700
 
700
701
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(material.TableCell, {
701
- sx: _extends({}, commonTableHeadCellStyles(densePadding))
702
+ sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding))
702
703
  }, "#")), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React__default.createElement(MRT_ExpandAllButton, null) : React__default.createElement(MRT_TableSpacerCell, {
703
704
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
704
705
  }) : null, enableSelection ? !isParentHeader ? React__default.createElement(MRT_SelectCheckbox, {
@@ -760,10 +761,10 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
760
761
  var row = _ref.row;
761
762
 
762
763
  var _useMRT = useMRT(),
763
- densePadding = _useMRT.densePadding,
764
764
  ExpandMoreIcon = _useMRT.icons.ExpandMoreIcon,
765
765
  localization = _useMRT.localization,
766
- renderDetailPanel = _useMRT.renderDetailPanel;
766
+ renderDetailPanel = _useMRT.renderDetailPanel,
767
+ densePadding = _useMRT.tableInstance.state.densePadding;
767
768
 
768
769
  return React__default.createElement(material.TableCell, {
769
770
  size: "small",
@@ -1583,9 +1584,9 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1583
1584
  CancelIcon = _useMRT$icons.CancelIcon,
1584
1585
  SaveIcon = _useMRT$icons.SaveIcon,
1585
1586
  localization = _useMRT.localization,
1586
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1587
1587
  onRowEditSubmit = _useMRT.onRowEditSubmit,
1588
- currentEditingRow = _useMRT.currentEditingRow;
1588
+ setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1589
+ currentEditingRow = _useMRT.tableInstance.state.currentEditingRow;
1589
1590
 
1590
1591
  var handleCancel = function handleCancel() {
1591
1592
  row.values = row.original;
@@ -1649,11 +1650,11 @@ var commonIconButtonStyles = {
1649
1650
  }
1650
1651
  };
1651
1652
  var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
1653
+ var _tableInstance$state$;
1654
+
1652
1655
  var row = _ref.row;
1653
1656
 
1654
1657
  var _useMRT = useMRT(),
1655
- currentEditingRow = _useMRT.currentEditingRow,
1656
- densePadding = _useMRT.densePadding,
1657
1658
  enableRowEditing = _useMRT.enableRowEditing,
1658
1659
  _useMRT$icons = _useMRT.icons,
1659
1660
  EditIcon = _useMRT$icons.EditIcon,
@@ -1680,8 +1681,8 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1680
1681
  };
1681
1682
 
1682
1683
  return React__default.createElement(material.TableCell, {
1683
- sx: commonTableBodyButtonCellStyles(densePadding)
1684
- }, renderRowActions ? React__default.createElement(React__default.Fragment, null, renderRowActions(row, tableInstance)) : row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id) ? React__default.createElement(MRT_EditActionButtons, {
1684
+ sx: commonTableBodyButtonCellStyles(tableInstance.state.densePadding)
1685
+ }, renderRowActions ? React__default.createElement(React__default.Fragment, null, renderRowActions(row, tableInstance)) : row.id === ((_tableInstance$state$ = tableInstance.state.currentEditingRow) == null ? void 0 : _tableInstance$state$.id) ? React__default.createElement(MRT_EditActionButtons, {
1685
1686
  row: row
1686
1687
  }) : !renderRowActionMenuItems && enableRowEditing ? React__default.createElement(material.Tooltip, {
1687
1688
  placement: "right",
@@ -1690,13 +1691,17 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1690
1691
  }, React__default.createElement(material.IconButton, {
1691
1692
  sx: commonIconButtonStyles,
1692
1693
  onClick: handleEdit
1693
- }, React__default.createElement(EditIcon, null))) : renderRowActionMenuItems ? React__default.createElement(React__default.Fragment, null, React__default.createElement(material.IconButton, {
1694
+ }, React__default.createElement(EditIcon, null))) : renderRowActionMenuItems ? React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1695
+ arrow: true,
1696
+ enterDelay: 1000,
1697
+ enterNextDelay: 1000,
1698
+ title: localization.rowActionMenuButtonTitle
1699
+ }, React__default.createElement(material.IconButton, {
1694
1700
  "aria-label": localization.rowActionMenuButtonTitle,
1695
1701
  onClick: handleOpenRowActionMenu,
1696
1702
  size: "small",
1697
- sx: commonIconButtonStyles,
1698
- title: localization.rowActionMenuButtonTitle
1699
- }, React__default.createElement(MoreHorizIcon, null)), React__default.createElement(MRT_RowActionMenu, {
1703
+ sx: commonIconButtonStyles
1704
+ }, React__default.createElement(MoreHorizIcon, null))), React__default.createElement(MRT_RowActionMenu, {
1700
1705
  anchorEl: anchorEl,
1701
1706
  handleEdit: handleEdit,
1702
1707
  row: row,
@@ -1709,7 +1714,6 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1709
1714
 
1710
1715
  var _useMRT = useMRT(),
1711
1716
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1712
- densePadding = _useMRT.densePadding,
1713
1717
  enableRowActions = _useMRT.enableRowActions,
1714
1718
  enableRowEditing = _useMRT.enableRowEditing,
1715
1719
  enableRowNumbers = _useMRT.enableRowNumbers,
@@ -1717,7 +1721,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1717
1721
  muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
1718
1722
  onRowClick = _useMRT.onRowClick,
1719
1723
  positionActionsColumn = _useMRT.positionActionsColumn,
1720
- renderDetailPanel = _useMRT.renderDetailPanel;
1724
+ renderDetailPanel = _useMRT.renderDetailPanel,
1725
+ densePadding = _useMRT.tableInstance.state.densePadding;
1721
1726
 
1722
1727
  var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
1723
1728
 
@@ -1731,7 +1736,6 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1731
1736
  return onRowClick == null ? void 0 : onRowClick(event, row);
1732
1737
  }
1733
1738
  }, tableRowProps, {
1734
- //@ts-ignore
1735
1739
  sx: function sx(theme) {
1736
1740
  return _extends({
1737
1741
  backgroundColor: row.isSelected ? material.alpha(theme.palette.primary.light, 0.1) : 'transparent'
@@ -1764,9 +1768,10 @@ var MRT_TableBody = function MRT_TableBody() {
1764
1768
  manualPagination = _useMRT.manualPagination;
1765
1769
 
1766
1770
  var rows = manualPagination ? tableInstance.rows : tableInstance.page;
1771
+ var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps(tableInstance) : muiTableBodyProps;
1767
1772
 
1768
- var tableBodyProps = _extends({}, muiTableBodyProps, tableInstance.getTableBodyProps(), {
1769
- style: _extends({}, tableInstance.getTableBodyProps().style, muiTableBodyProps == null ? void 0 : muiTableBodyProps.style)
1773
+ var tableBodyProps = _extends({}, mTableBodyProps, tableInstance.getTableBodyProps(), {
1774
+ style: _extends({}, tableInstance.getTableBodyProps().style, mTableBodyProps == null ? void 0 : mTableBodyProps.style)
1770
1775
  });
1771
1776
 
1772
1777
  return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps, {
@@ -1789,8 +1794,8 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
1789
1794
 
1790
1795
  var _useMRT = useMRT(),
1791
1796
  muiTableFooterCellProps = _useMRT.muiTableFooterCellProps,
1792
- densePadding = _useMRT.densePadding,
1793
- enableColumnResizing = _useMRT.enableColumnResizing;
1797
+ enableColumnResizing = _useMRT.enableColumnResizing,
1798
+ densePadding = _useMRT.tableInstance.state.densePadding;
1794
1799
 
1795
1800
  var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
1796
1801
  var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
@@ -1855,7 +1860,8 @@ var MRT_TableFooter = function MRT_TableFooter() {
1855
1860
  muiTableFooterProps = _useMRT.muiTableFooterProps,
1856
1861
  tableInstance = _useMRT.tableInstance;
1857
1862
 
1858
- return React__default.createElement(material.TableFooter, Object.assign({}, muiTableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
1863
+ var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
1864
+ return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
1859
1865
  return React__default.createElement(MRT_TableFooterRow, {
1860
1866
  key: footerGroup.getFooterGroupProps().key,
1861
1867
  footerGroup: footerGroup
@@ -1870,8 +1876,10 @@ var MRT_Table = function MRT_Table() {
1870
1876
  hideTableHead = _useMRT.hideTableHead,
1871
1877
  hideTableFooter = _useMRT.hideTableFooter;
1872
1878
 
1873
- var tableProps = _extends({}, muiTableProps, tableInstance.getTableProps(), {
1874
- style: _extends({}, tableInstance.getTableProps().style, muiTableProps == null ? void 0 : muiTableProps.style)
1879
+ var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
1880
+
1881
+ var tableProps = _extends({}, mTableProps, tableInstance.getTableProps(), {
1882
+ style: _extends({}, tableInstance.getTableProps().style, mTableProps == null ? void 0 : mTableProps.style)
1875
1883
  });
1876
1884
 
1877
1885
  return React__default.createElement(material.Table, Object.assign({}, tableProps), !hideTableHead && React__default.createElement(MRT_TableHead, null), React__default.createElement(MRT_TableBody, null), !hideTableFooter && React__default.createElement(MRT_TableFooter, null));
@@ -1882,7 +1890,6 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1882
1890
  _useMRT$icons = _useMRT.icons,
1883
1891
  SearchIcon = _useMRT$icons.SearchIcon,
1884
1892
  CloseIcon = _useMRT$icons.CloseIcon,
1885
- showSearch = _useMRT.showSearch,
1886
1893
  localization = _useMRT.localization,
1887
1894
  muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
1888
1895
  onGlobalFilterChange = _useMRT.onGlobalFilterChange,
@@ -1905,7 +1912,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1905
1912
  };
1906
1913
 
1907
1914
  return React__default.createElement(material.Collapse, {
1908
- "in": showSearch,
1915
+ "in": tableInstance.state.showSearch,
1909
1916
  orientation: "horizontal"
1910
1917
  }, React__default.createElement(material.TextField, Object.assign({
1911
1918
  id: "global-search-text-field",
@@ -1945,12 +1952,12 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1945
1952
  var rest = _extends({}, _ref);
1946
1953
 
1947
1954
  var _useMRT = useMRT(),
1948
- fullScreen = _useMRT.fullScreen,
1949
1955
  _useMRT$icons = _useMRT.icons,
1950
1956
  FullscreenExitIcon = _useMRT$icons.FullscreenExitIcon,
1951
1957
  FullscreenIcon = _useMRT$icons.FullscreenIcon,
1952
1958
  localization = _useMRT.localization,
1953
- setFullScreen = _useMRT.setFullScreen;
1959
+ setFullScreen = _useMRT.setFullScreen,
1960
+ fullScreen = _useMRT.tableInstance.state.fullScreen;
1954
1961
 
1955
1962
  return React__default.createElement(material.Tooltip, {
1956
1963
  arrow: true,
@@ -2062,12 +2069,12 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2062
2069
  var rest = _extends({}, _ref);
2063
2070
 
2064
2071
  var _useMRT = useMRT(),
2065
- densePadding = _useMRT.densePadding,
2066
2072
  setDensePadding = _useMRT.setDensePadding,
2067
2073
  localization = _useMRT.localization,
2068
2074
  _useMRT$icons = _useMRT.icons,
2069
2075
  DensityMediumIcon = _useMRT$icons.DensityMediumIcon,
2070
- DensitySmallIcon = _useMRT$icons.DensitySmallIcon;
2076
+ DensitySmallIcon = _useMRT$icons.DensitySmallIcon,
2077
+ densePadding = _useMRT.tableInstance.state.densePadding;
2071
2078
 
2072
2079
  return React__default.createElement(material.Tooltip, {
2073
2080
  arrow: true,
@@ -2085,12 +2092,12 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
2085
2092
  var rest = _extends({}, _ref);
2086
2093
 
2087
2094
  var _useMRT = useMRT(),
2088
- localization = _useMRT.localization,
2089
- setShowFilters = _useMRT.setShowFilters,
2090
- showFilters = _useMRT.showFilters,
2091
2095
  _useMRT$icons = _useMRT.icons,
2092
2096
  FilterListIcon = _useMRT$icons.FilterListIcon,
2093
- FilterListOffIcon = _useMRT$icons.FilterListOffIcon;
2097
+ FilterListOffIcon = _useMRT$icons.FilterListOffIcon,
2098
+ localization = _useMRT.localization,
2099
+ setShowFilters = _useMRT.setShowFilters,
2100
+ showFilters = _useMRT.tableInstance.state.showFilters;
2094
2101
 
2095
2102
  return React__default.createElement(material.Tooltip, {
2096
2103
  arrow: true,
@@ -2114,7 +2121,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2114
2121
  localization = _useMRT.localization,
2115
2122
  muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
2116
2123
  setShowSearch = _useMRT.setShowSearch,
2117
- showSearch = _useMRT.showSearch;
2124
+ showSearch = _useMRT.tableInstance.state.showSearch;
2118
2125
 
2119
2126
  var handleToggleSearch = function handleToggleSearch() {
2120
2127
  setShowSearch(!showSearch);
@@ -2266,7 +2273,6 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
2266
2273
  muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
2267
2274
  positionPagination = _useMRT.positionPagination,
2268
2275
  positionToolbarActions = _useMRT.positionToolbarActions,
2269
- fullScreen = _useMRT.fullScreen,
2270
2276
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2271
2277
  renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
2272
2278
  tableInstance = _useMRT.tableInstance;
@@ -2281,8 +2287,8 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
2281
2287
  backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2282
2288
  display: 'grid',
2283
2289
  p: '0 !important',
2284
- position: fullScreen ? 'sticky' : undefined,
2285
- top: fullScreen ? '0' : undefined,
2290
+ position: tableInstance.state.fullScreen ? 'sticky' : undefined,
2291
+ top: tableInstance.state.fullScreen ? '0' : undefined,
2286
2292
  width: '100%',
2287
2293
  zIndex: 1
2288
2294
  }, toolbarProps == null ? void 0 : toolbarProps.sx);
@@ -2309,7 +2315,6 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2309
2315
  manualPagination = _useMRT.manualPagination,
2310
2316
  muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
2311
2317
  positionPagination = _useMRT.positionPagination,
2312
- fullScreen = _useMRT.fullScreen,
2313
2318
  positionToolbarActions = _useMRT.positionToolbarActions,
2314
2319
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2315
2320
  tableInstance = _useMRT.tableInstance;
@@ -2322,12 +2327,12 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2322
2327
  return _extends({
2323
2328
  backgroundColor: theme.palette.background["default"],
2324
2329
  backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2325
- bottom: fullScreen ? '0' : undefined,
2330
+ bottom: tableInstance.state.fullScreen ? '0' : undefined,
2326
2331
  display: 'flex',
2327
2332
  justifyContent: 'space-between',
2328
2333
  overflowY: 'hidden',
2329
2334
  p: '0 0.5rem !important',
2330
- position: fullScreen ? 'fixed' : undefined,
2335
+ position: tableInstance.state.fullScreen ? 'fixed' : undefined,
2331
2336
  width: 'calc(100% - 1rem)',
2332
2337
  zIndex: 1
2333
2338
  }, toolbarProps == null ? void 0 : toolbarProps.sx);
@@ -2337,7 +2342,6 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2337
2342
 
2338
2343
  var MRT_TableContainer = function MRT_TableContainer() {
2339
2344
  var _useMRT = useMRT(),
2340
- fullScreen = _useMRT.fullScreen,
2341
2345
  hideToolbarBottom = _useMRT.hideToolbarBottom,
2342
2346
  hideToolbarTop = _useMRT.hideToolbarTop,
2343
2347
  isFetching = _useMRT.isFetching,
@@ -2345,6 +2349,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
2345
2349
  muiTableContainerProps = _useMRT.muiTableContainerProps,
2346
2350
  tableInstance = _useMRT.tableInstance;
2347
2351
 
2352
+ var fullScreen = tableInstance.state.fullScreen;
2348
2353
  var originalBodyOverflowStyle = React.useRef();
2349
2354
  React.useEffect(function () {
2350
2355
  if (typeof window !== 'undefined') {
@@ -2357,8 +2362,10 @@ var MRT_TableContainer = function MRT_TableContainer() {
2357
2362
  if (typeof window !== 'undefined') {
2358
2363
  if (fullScreen) {
2359
2364
  document.body.style.overflow = 'hidden';
2360
- } else if (originalBodyOverflowStyle.current) {
2361
- document.body.style.overflow = originalBodyOverflowStyle.current;
2365
+ } else {
2366
+ var _originalBodyOverflow;
2367
+
2368
+ document.body.style.overflow = (_originalBodyOverflow = originalBodyOverflowStyle.current) != null ? _originalBodyOverflow : 'auto';
2362
2369
  }
2363
2370
  }
2364
2371
  }, [fullScreen]);
@@ -2381,7 +2388,12 @@ var MRT_TableContainer = function MRT_TableContainer() {
2381
2388
  }), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Collapse, {
2382
2389
  "in": isFetching || isLoading,
2383
2390
  unmountOnExit: true
2384
- }, React__default.createElement(material.LinearProgress, null)), React__default.createElement(MRT_Table, null), !hideToolbarBottom && React__default.createElement(MRT_ToolbarBottom, null));
2391
+ }, React__default.createElement(material.LinearProgress, null)), React__default.createElement(material.Box, {
2392
+ sx: {
2393
+ maxWidth: '100%',
2394
+ overflowX: 'auto'
2395
+ }
2396
+ }, React__default.createElement(MRT_Table, null)), !hideToolbarBottom && React__default.createElement(MRT_ToolbarBottom, null));
2385
2397
  };
2386
2398
 
2387
2399
  var MRT_DefaultLocalization_EN = {