material-react-table 0.26.2 → 0.26.5

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.
@@ -415,7 +415,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
415
415
  onShowAlertBannerChange?: OnChangeFn<boolean>;
416
416
  onShowFiltersChange?: OnChangeFn<boolean>;
417
417
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
418
+ onTableInstanceChange?: (table: MRT_TableInstance<TData>) => void;
418
419
  positionActionsColumn?: 'first' | 'last';
420
+ positionExpandColumn?: 'first' | 'last';
419
421
  positionGlobalFilter?: 'left' | 'right';
420
422
  positionPagination?: 'bottom' | 'top' | 'both';
421
423
  positionToolbarAlertBanner?: 'bottom' | 'top';
@@ -463,5 +465,5 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
463
465
  tableId?: string;
464
466
  virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
465
467
  };
466
- declare const _default: <TData extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
468
+ declare const _default: <TData extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
467
469
  export default _default;
@@ -726,10 +726,10 @@ var reorderColumn = function reorderColumn(draggedColumn, targetColumn, columnOr
726
726
  return [].concat(columnOrder);
727
727
  };
728
728
  var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
729
- return [(props.enableRowDragging || props.enableRowOrdering) && 'mrt-row-drag', (props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-row-expand', props.enableRowSelection && 'mrt-row-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
729
+ return [(props.enableRowDragging || props.enableRowOrdering) && 'mrt-row-drag', (props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', props.positionExpandColumn === 'first' && (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-row-expand', props.enableRowSelection && 'mrt-row-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
730
730
  };
731
731
  var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
732
- return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
732
+ return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', props.positionExpandColumn === 'last' && (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-row-expand'];
733
733
  };
734
734
  var getDefaultColumnOrderIds = function getDefaultColumnOrderIds(props) {
735
735
  return [].concat(getLeadingDisplayColumnIds(props), getAllLeafColumnDefs(props.columns).map(function (columnDef) {
@@ -1460,164 +1460,6 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1460
1460
  })));
1461
1461
  };
1462
1462
 
1463
- var _excluded = ["table"];
1464
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1465
- var table = _ref.table,
1466
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
1467
-
1468
- var getState = table.getState,
1469
- _table$options = table.options,
1470
- _table$options$icons = _table$options.icons,
1471
- FullscreenExitIcon = _table$options$icons.FullscreenExitIcon,
1472
- FullscreenIcon = _table$options$icons.FullscreenIcon,
1473
- localization = _table$options.localization,
1474
- setIsFullScreen = table.setIsFullScreen;
1475
-
1476
- var _getState = getState(),
1477
- isFullScreen = _getState.isFullScreen;
1478
-
1479
- var handleToggleFullScreen = function handleToggleFullScreen() {
1480
- setIsFullScreen(!isFullScreen);
1481
- };
1482
-
1483
- return React__default.createElement(material.Tooltip, {
1484
- arrow: true,
1485
- title: localization.toggleFullScreen
1486
- }, React__default.createElement(material.IconButton, Object.assign({
1487
- "aria-label": localization.showHideFilters,
1488
- onClick: handleToggleFullScreen
1489
- }, rest), isFullScreen ? React__default.createElement(FullscreenExitIcon, null) : React__default.createElement(FullscreenIcon, null)));
1490
- };
1491
-
1492
- var _excluded$1 = ["table"];
1493
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
1494
- var table = _ref.table,
1495
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1496
-
1497
- var _table$options = table.options,
1498
- ViewColumnIcon = _table$options.icons.ViewColumnIcon,
1499
- localization = _table$options.localization;
1500
-
1501
- var _useState = React.useState(null),
1502
- anchorEl = _useState[0],
1503
- setAnchorEl = _useState[1];
1504
-
1505
- var handleClick = function handleClick(event) {
1506
- setAnchorEl(event.currentTarget);
1507
- };
1508
-
1509
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1510
- arrow: true,
1511
- title: localization.showHideColumns
1512
- }, React__default.createElement(material.IconButton, Object.assign({
1513
- "aria-label": localization.showHideColumns,
1514
- onClick: handleClick
1515
- }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
1516
- anchorEl: anchorEl,
1517
- setAnchorEl: setAnchorEl,
1518
- table: table
1519
- }));
1520
- };
1521
-
1522
- var _excluded$2 = ["table"];
1523
- var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
1524
- var table = _ref.table,
1525
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
1526
-
1527
- var getState = table.getState,
1528
- _table$options = table.options,
1529
- _table$options$icons = _table$options.icons,
1530
- DensityLargeIcon = _table$options$icons.DensityLargeIcon,
1531
- DensityMediumIcon = _table$options$icons.DensityMediumIcon,
1532
- DensitySmallIcon = _table$options$icons.DensitySmallIcon,
1533
- localization = _table$options.localization,
1534
- setDensity = table.setDensity;
1535
-
1536
- var _getState = getState(),
1537
- density = _getState.density;
1538
-
1539
- var handleToggleDensePadding = function handleToggleDensePadding() {
1540
- var nextDensity = density === 'comfortable' ? 'compact' : density === 'compact' ? 'spacious' : 'comfortable';
1541
- setDensity(nextDensity);
1542
- };
1543
-
1544
- return React__default.createElement(material.Tooltip, {
1545
- arrow: true,
1546
- title: localization.toggleDensity
1547
- }, React__default.createElement(material.IconButton, Object.assign({
1548
- "aria-label": localization.toggleDensity,
1549
- onClick: handleToggleDensePadding
1550
- }, rest), density === 'compact' ? React__default.createElement(DensitySmallIcon, null) : density === 'comfortable' ? React__default.createElement(DensityMediumIcon, null) : React__default.createElement(DensityLargeIcon, null)));
1551
- };
1552
-
1553
- var _excluded$3 = ["table"];
1554
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1555
- var table = _ref.table,
1556
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
1557
-
1558
- var getState = table.getState,
1559
- _table$options = table.options,
1560
- _table$options$icons = _table$options.icons,
1561
- FilterListIcon = _table$options$icons.FilterListIcon,
1562
- FilterListOffIcon = _table$options$icons.FilterListOffIcon,
1563
- localization = _table$options.localization,
1564
- setShowFilters = table.setShowFilters;
1565
-
1566
- var _getState = getState(),
1567
- showColumnFilters = _getState.showColumnFilters;
1568
-
1569
- var handleToggleShowFilters = function handleToggleShowFilters() {
1570
- setShowFilters(!showColumnFilters);
1571
- };
1572
-
1573
- return React__default.createElement(material.Tooltip, {
1574
- arrow: true,
1575
- title: localization.showHideFilters
1576
- }, React__default.createElement(material.IconButton, Object.assign({
1577
- "aria-label": localization.showHideFilters,
1578
- onClick: handleToggleShowFilters
1579
- }, rest), showColumnFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterListIcon, null)));
1580
- };
1581
-
1582
- var _excluded$4 = ["table"];
1583
- var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1584
- var table = _ref.table,
1585
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
1586
-
1587
- var getState = table.getState,
1588
- _table$options = table.options,
1589
- _table$options$icons = _table$options.icons,
1590
- SearchIcon = _table$options$icons.SearchIcon,
1591
- SearchOffIcon = _table$options$icons.SearchOffIcon,
1592
- tableId = _table$options.tableId,
1593
- localization = _table$options.localization,
1594
- muiSearchTextFieldProps = _table$options.muiSearchTextFieldProps,
1595
- setShowGlobalFilter = table.setShowGlobalFilter;
1596
-
1597
- var _getState = getState(),
1598
- showGlobalFilter = _getState.showGlobalFilter;
1599
-
1600
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1601
- table: table
1602
- }) : muiSearchTextFieldProps;
1603
-
1604
- var handleToggleSearch = function handleToggleSearch() {
1605
- setShowGlobalFilter(!showGlobalFilter);
1606
- setTimeout(function () {
1607
- var _document$getElementB, _textFieldProps$id;
1608
-
1609
- return (_document$getElementB = document.getElementById((_textFieldProps$id = textFieldProps == null ? void 0 : textFieldProps.id) != null ? _textFieldProps$id : "mrt-" + tableId + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
1610
- }, 200);
1611
- };
1612
-
1613
- return React__default.createElement(material.Tooltip, {
1614
- arrow: true,
1615
- title: localization.showHideSearch
1616
- }, React__default.createElement(material.IconButton, Object.assign({
1617
- onClick: handleToggleSearch
1618
- }, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
1619
- };
1620
-
1621
1463
  var MRT_GlobalFilterTextField = function MRT_GlobalFilterTextField(_ref) {
1622
1464
  var _localization$clearSe;
1623
1465
 
@@ -1711,47 +1553,37 @@ var MRT_GlobalFilterTextField = function MRT_GlobalFilterTextField(_ref) {
1711
1553
  }));
1712
1554
  };
1713
1555
 
1714
- var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1715
- var _renderToolbarInterna;
1556
+ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1557
+ var isTopToolbar = _ref.isTopToolbar,
1558
+ table = _ref.table;
1559
+ var muiLinearProgressProps = table.options.muiLinearProgressProps,
1560
+ getState = table.getState;
1716
1561
 
1717
- var table = _ref.table;
1718
- var _table$options = table.options,
1719
- enableColumnFilters = _table$options.enableColumnFilters,
1720
- enableColumnOrdering = _table$options.enableColumnOrdering,
1721
- enableDensityToggle = _table$options.enableDensityToggle,
1722
- enableFilters = _table$options.enableFilters,
1723
- enableFullScreenToggle = _table$options.enableFullScreenToggle,
1724
- enableGlobalFilter = _table$options.enableGlobalFilter,
1725
- enableHiding = _table$options.enableHiding,
1726
- enablePinning = _table$options.enablePinning,
1727
- positionGlobalFilter = _table$options.positionGlobalFilter,
1728
- renderToolbarInternalActions = _table$options.renderToolbarInternalActions;
1729
- return React__default.createElement(material.Box, {
1562
+ var _getState = getState(),
1563
+ isLoading = _getState.isLoading,
1564
+ showProgressBars = _getState.showProgressBars;
1565
+
1566
+ var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1567
+ isTopToolbar: isTopToolbar,
1568
+ table: table
1569
+ }) : muiLinearProgressProps;
1570
+ return React__default.createElement(material.Collapse, {
1571
+ "in": isLoading || showProgressBars,
1572
+ mountOnEnter: true,
1573
+ unmountOnExit: true,
1730
1574
  sx: {
1731
- alignItems: 'center',
1732
- display: 'flex',
1733
- zIndex: 3
1575
+ bottom: isTopToolbar ? 0 : undefined,
1576
+ position: 'absolute',
1577
+ top: !isTopToolbar ? 0 : undefined,
1578
+ width: '100%'
1734
1579
  }
1735
- }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1736
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1737
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1738
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1739
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1740
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1741
- table: table
1742
- })) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_GlobalFilterTextField, {
1743
- table: table
1744
- }), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1745
- table: table
1746
- }), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
1747
- table: table
1748
- }), (enableHiding || enableColumnOrdering || enablePinning) && React__default.createElement(MRT_ShowHideColumnsButton, {
1749
- table: table
1750
- }), enableDensityToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
1751
- table: table
1752
- }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
1753
- table: table
1754
- })));
1580
+ }, React__default.createElement(material.LinearProgress, Object.assign({
1581
+ "aria-label": "Loading",
1582
+ "aria-busy": "true",
1583
+ sx: {
1584
+ position: 'relative'
1585
+ }
1586
+ }, linearProgressProps)));
1755
1587
  };
1756
1588
 
1757
1589
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
@@ -1876,42 +1708,211 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1876
1708
  }, alertProps == null ? void 0 : alertProps.children, (alertProps == null ? void 0 : alertProps.children) && (selectMessage || groupedByMessage) && React__default.createElement("br", null), selectMessage, selectMessage && groupedByMessage && React__default.createElement("br", null), groupedByMessage)));
1877
1709
  };
1878
1710
 
1879
- var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1880
- var isTopToolbar = _ref.isTopToolbar,
1881
- table = _ref.table;
1882
- var muiLinearProgressProps = table.options.muiLinearProgressProps,
1883
- getState = table.getState;
1711
+ var _excluded = ["table"];
1712
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1713
+ var table = _ref.table,
1714
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
1715
+
1716
+ var getState = table.getState,
1717
+ _table$options = table.options,
1718
+ _table$options$icons = _table$options.icons,
1719
+ FullscreenExitIcon = _table$options$icons.FullscreenExitIcon,
1720
+ FullscreenIcon = _table$options$icons.FullscreenIcon,
1721
+ localization = _table$options.localization,
1722
+ setIsFullScreen = table.setIsFullScreen;
1884
1723
 
1885
1724
  var _getState = getState(),
1886
- isLoading = _getState.isLoading,
1887
- showProgressBars = _getState.showProgressBars;
1725
+ isFullScreen = _getState.isFullScreen;
1888
1726
 
1889
- var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1890
- isTopToolbar: isTopToolbar,
1727
+ var handleToggleFullScreen = function handleToggleFullScreen() {
1728
+ setIsFullScreen(!isFullScreen);
1729
+ };
1730
+
1731
+ return React__default.createElement(material.Tooltip, {
1732
+ arrow: true,
1733
+ title: localization.toggleFullScreen
1734
+ }, React__default.createElement(material.IconButton, Object.assign({
1735
+ "aria-label": localization.showHideFilters,
1736
+ onClick: handleToggleFullScreen
1737
+ }, rest), isFullScreen ? React__default.createElement(FullscreenExitIcon, null) : React__default.createElement(FullscreenIcon, null)));
1738
+ };
1739
+
1740
+ var _excluded$1 = ["table"];
1741
+ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
1742
+ var table = _ref.table,
1743
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1744
+
1745
+ var _table$options = table.options,
1746
+ ViewColumnIcon = _table$options.icons.ViewColumnIcon,
1747
+ localization = _table$options.localization;
1748
+
1749
+ var _useState = React.useState(null),
1750
+ anchorEl = _useState[0],
1751
+ setAnchorEl = _useState[1];
1752
+
1753
+ var handleClick = function handleClick(event) {
1754
+ setAnchorEl(event.currentTarget);
1755
+ };
1756
+
1757
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1758
+ arrow: true,
1759
+ title: localization.showHideColumns
1760
+ }, React__default.createElement(material.IconButton, Object.assign({
1761
+ "aria-label": localization.showHideColumns,
1762
+ onClick: handleClick
1763
+ }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
1764
+ anchorEl: anchorEl,
1765
+ setAnchorEl: setAnchorEl,
1891
1766
  table: table
1892
- }) : muiLinearProgressProps;
1893
- return React__default.createElement(material.Collapse, {
1894
- "in": isLoading || showProgressBars,
1895
- mountOnEnter: true,
1896
- unmountOnExit: true,
1897
- sx: {
1898
- bottom: isTopToolbar ? 0 : undefined,
1899
- position: 'absolute',
1900
- top: !isTopToolbar ? 0 : undefined,
1901
- width: '100%'
1902
- }
1903
- }, React__default.createElement(material.LinearProgress, Object.assign({
1904
- "aria-label": "Loading",
1905
- "aria-busy": "true",
1767
+ }));
1768
+ };
1769
+
1770
+ var _excluded$2 = ["table"];
1771
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
1772
+ var table = _ref.table,
1773
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
1774
+
1775
+ var getState = table.getState,
1776
+ _table$options = table.options,
1777
+ _table$options$icons = _table$options.icons,
1778
+ DensityLargeIcon = _table$options$icons.DensityLargeIcon,
1779
+ DensityMediumIcon = _table$options$icons.DensityMediumIcon,
1780
+ DensitySmallIcon = _table$options$icons.DensitySmallIcon,
1781
+ localization = _table$options.localization,
1782
+ setDensity = table.setDensity;
1783
+
1784
+ var _getState = getState(),
1785
+ density = _getState.density;
1786
+
1787
+ var handleToggleDensePadding = function handleToggleDensePadding() {
1788
+ var nextDensity = density === 'comfortable' ? 'compact' : density === 'compact' ? 'spacious' : 'comfortable';
1789
+ setDensity(nextDensity);
1790
+ };
1791
+
1792
+ return React__default.createElement(material.Tooltip, {
1793
+ arrow: true,
1794
+ title: localization.toggleDensity
1795
+ }, React__default.createElement(material.IconButton, Object.assign({
1796
+ "aria-label": localization.toggleDensity,
1797
+ onClick: handleToggleDensePadding
1798
+ }, rest), density === 'compact' ? React__default.createElement(DensitySmallIcon, null) : density === 'comfortable' ? React__default.createElement(DensityMediumIcon, null) : React__default.createElement(DensityLargeIcon, null)));
1799
+ };
1800
+
1801
+ var _excluded$3 = ["table"];
1802
+ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1803
+ var table = _ref.table,
1804
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
1805
+
1806
+ var getState = table.getState,
1807
+ _table$options = table.options,
1808
+ _table$options$icons = _table$options.icons,
1809
+ FilterListIcon = _table$options$icons.FilterListIcon,
1810
+ FilterListOffIcon = _table$options$icons.FilterListOffIcon,
1811
+ localization = _table$options.localization,
1812
+ setShowFilters = table.setShowFilters;
1813
+
1814
+ var _getState = getState(),
1815
+ showColumnFilters = _getState.showColumnFilters;
1816
+
1817
+ var handleToggleShowFilters = function handleToggleShowFilters() {
1818
+ setShowFilters(!showColumnFilters);
1819
+ };
1820
+
1821
+ return React__default.createElement(material.Tooltip, {
1822
+ arrow: true,
1823
+ title: localization.showHideFilters
1824
+ }, React__default.createElement(material.IconButton, Object.assign({
1825
+ "aria-label": localization.showHideFilters,
1826
+ onClick: handleToggleShowFilters
1827
+ }, rest), showColumnFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterListIcon, null)));
1828
+ };
1829
+
1830
+ var _excluded$4 = ["table"];
1831
+ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1832
+ var table = _ref.table,
1833
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
1834
+
1835
+ var getState = table.getState,
1836
+ _table$options = table.options,
1837
+ _table$options$icons = _table$options.icons,
1838
+ SearchIcon = _table$options$icons.SearchIcon,
1839
+ SearchOffIcon = _table$options$icons.SearchOffIcon,
1840
+ tableId = _table$options.tableId,
1841
+ localization = _table$options.localization,
1842
+ muiSearchTextFieldProps = _table$options.muiSearchTextFieldProps,
1843
+ setShowGlobalFilter = table.setShowGlobalFilter;
1844
+
1845
+ var _getState = getState(),
1846
+ showGlobalFilter = _getState.showGlobalFilter;
1847
+
1848
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1849
+ table: table
1850
+ }) : muiSearchTextFieldProps;
1851
+
1852
+ var handleToggleSearch = function handleToggleSearch() {
1853
+ setShowGlobalFilter(!showGlobalFilter);
1854
+ setTimeout(function () {
1855
+ var _document$getElementB, _textFieldProps$id;
1856
+
1857
+ return (_document$getElementB = document.getElementById((_textFieldProps$id = textFieldProps == null ? void 0 : textFieldProps.id) != null ? _textFieldProps$id : "mrt-" + tableId + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
1858
+ }, 200);
1859
+ };
1860
+
1861
+ return React__default.createElement(material.Tooltip, {
1862
+ arrow: true,
1863
+ title: localization.showHideSearch
1864
+ }, React__default.createElement(material.IconButton, Object.assign({
1865
+ onClick: handleToggleSearch
1866
+ }, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
1867
+ };
1868
+
1869
+ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1870
+ var _renderToolbarInterna;
1871
+
1872
+ var table = _ref.table;
1873
+ var _table$options = table.options,
1874
+ enableColumnFilters = _table$options.enableColumnFilters,
1875
+ enableColumnOrdering = _table$options.enableColumnOrdering,
1876
+ enableDensityToggle = _table$options.enableDensityToggle,
1877
+ enableFilters = _table$options.enableFilters,
1878
+ enableFullScreenToggle = _table$options.enableFullScreenToggle,
1879
+ enableGlobalFilter = _table$options.enableGlobalFilter,
1880
+ enableHiding = _table$options.enableHiding,
1881
+ enablePinning = _table$options.enablePinning,
1882
+ positionGlobalFilter = _table$options.positionGlobalFilter,
1883
+ renderToolbarInternalActions = _table$options.renderToolbarInternalActions;
1884
+ return React__default.createElement(material.Box, {
1906
1885
  sx: {
1907
- position: 'relative'
1886
+ alignItems: 'center',
1887
+ display: 'flex',
1888
+ zIndex: 3
1908
1889
  }
1909
- }, linearProgressProps)));
1890
+ }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1891
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1892
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1893
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1894
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1895
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1896
+ table: table
1897
+ })) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_GlobalFilterTextField, {
1898
+ table: table
1899
+ }), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1900
+ table: table
1901
+ }), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
1902
+ table: table
1903
+ }), (enableHiding || enableColumnOrdering || enablePinning) && React__default.createElement(MRT_ShowHideColumnsButton, {
1904
+ table: table
1905
+ }), enableDensityToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
1906
+ table: table
1907
+ }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
1908
+ table: table
1909
+ })));
1910
1910
  };
1911
1911
 
1912
1912
  var commonToolbarStyles = function commonToolbarStyles(_ref) {
1913
1913
  var theme = _ref.theme;
1914
1914
  return {
1915
+ alignItems: 'flex-start',
1915
1916
  backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1916
1917
  backgroundImage: 'none',
1917
1918
  display: 'grid',
@@ -2119,7 +2120,7 @@ var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActio
2119
2120
  };
2120
2121
 
2121
2122
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2122
- var _localization$filterB, _columnDef$enabledCol, _localization$clearFi, _columnDef$filterSele;
2123
+ var _currentFilterOption$, _localization$filterB, _columnDef$enabledCol, _currentFilterOption$2, _localization$clearFi, _columnDef$filterSele;
2123
2124
 
2124
2125
  var header = _ref.header,
2125
2126
  inputIndex = _ref.inputIndex,
@@ -2222,7 +2223,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2222
2223
  var currentFilterOption = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
2223
2224
  var isSelectFilter = !!columnDef.filterSelectOptions;
2224
2225
  var filterChipLabel = ['empty', 'notEmpty'].includes(currentFilterOption) ? //@ts-ignore
2225
- localization["filter" + (currentFilterOption.charAt(0).toUpperCase() + currentFilterOption.slice(1))] : '';
2226
+ localization["filter" + ((currentFilterOption == null ? void 0 : (_currentFilterOption$ = currentFilterOption.charAt(0)) == null ? void 0 : _currentFilterOption$.toUpperCase()) + (currentFilterOption == null ? void 0 : currentFilterOption.slice(1)))] : '';
2226
2227
  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 : '';
2227
2228
  var allowedColumnFilterOptions = (_columnDef$enabledCol = columnDef == null ? void 0 : columnDef.enabledColumnFilterOptions) != null ? _columnDef$enabledCol : enabledColumnFilterOptions;
2228
2229
  var showChangeModeButton = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !isSelectFilter && !inputIndex && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
@@ -2240,7 +2241,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2240
2241
  helperText: showChangeModeButton ? React__default.createElement("label", {
2241
2242
  htmlFor: filterId
2242
2243
  }, localization.filterMode.replace('{filterType}', // @ts-ignore
2243
- localization["filter" + (currentFilterOption.charAt(0).toUpperCase() + currentFilterOption.slice(1))])) : null,
2244
+ localization["filter" + ((currentFilterOption == null ? void 0 : (_currentFilterOption$2 = currentFilterOption.charAt(0)) == null ? void 0 : _currentFilterOption$2.toUpperCase()) + (currentFilterOption == null ? void 0 : currentFilterOption.slice(1)))])) : null,
2244
2245
  FormHelperTextProps: {
2245
2246
  sx: {
2246
2247
  fontSize: '0.6rem',
@@ -2377,7 +2378,7 @@ var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer
2377
2378
  };
2378
2379
 
2379
2380
  var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2380
- var _column$getFilterValu, _column$getFilterValu2;
2381
+ var _currentFilterOption$, _column$getFilterValu, _column$getFilterValu2;
2381
2382
 
2382
2383
  var header = _ref.header,
2383
2384
  table = _ref.table;
@@ -2393,7 +2394,7 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2393
2394
  var columnDef = column.columnDef;
2394
2395
  var currentFilterOption = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
2395
2396
  var filterTooltip = localization.filteringByColumn.replace('{column}', String(columnDef.header)).replace('{filterType}', // @ts-ignore
2396
- localization["filter" + (currentFilterOption.charAt(0).toUpperCase() + currentFilterOption.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '');
2397
+ localization["filter" + ((currentFilterOption == null ? void 0 : (_currentFilterOption$ = currentFilterOption.charAt(0)) == null ? void 0 : _currentFilterOption$.toUpperCase()) + (currentFilterOption == null ? void 0 : currentFilterOption.slice(1)))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '');
2397
2398
  return React__default.createElement(material.Grow, {
2398
2399
  unmountOnExit: true,
2399
2400
  "in": !!column.getFilterValue() && currentFilterOption !== 'between' || currentFilterOption === 'between' && ( // @ts-ignore
@@ -2648,7 +2649,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2648
2649
  sx: {
2649
2650
  alignItems: 'flex-start',
2650
2651
  display: 'flex',
2651
- justifyContent: columnDefType === 'group' ? 'center' : 'space-between',
2652
+ justifyContent: (tableCellProps == null ? void 0 : tableCellProps.align) === 'right' ? 'flex-end' : columnDefType === 'group' || (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' ? 'center' : 'space-between',
2652
2653
  position: 'relative',
2653
2654
  width: '100%'
2654
2655
  }
@@ -2660,7 +2661,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2660
2661
  display: 'flex',
2661
2662
  flexWrap: 'nowrap',
2662
2663
  m: (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' ? 'auto' : undefined,
2663
- pl: (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' ? '1rem' : undefined,
2664
+ pl: (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' && column.getCanSort() ? '1rem' : undefined,
2664
2665
  whiteSpace: ((_columnDef$header$len = (_columnDef$header = columnDef.header) == null ? void 0 : _columnDef$header.length) != null ? _columnDef$header$len : 0) < 24 ? 'nowrap' : 'normal'
2665
2666
  }
2666
2667
  }, headerElement, column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
@@ -3659,7 +3660,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3659
3660
  getSubRows: function getSubRows(row) {
3660
3661
  return row == null ? void 0 : row.subRows;
3661
3662
  },
3662
- //@ts-ignore
3663
3663
  globalFilterFn: (_MRT_FilterFns$curren = MRT_FilterFns[currentGlobalFilterFn]) != null ? _MRT_FilterFns$curren : MRT_FilterFns.fuzzy,
3664
3664
  initialState: initialState,
3665
3665
  state: _extends({
@@ -3695,6 +3695,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3695
3695
  setShowGlobalFilter: (_props$onShowGlobalFi = props.onShowGlobalFilterChange) != null ? _props$onShowGlobalFi : setShowGlobalFilter
3696
3696
  });
3697
3697
 
3698
+ React.useEffect(function () {
3699
+ return props == null ? void 0 : props.onTableInstanceChange == null ? void 0 : props.onTableInstanceChange(table);
3700
+ }, [table]);
3698
3701
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Dialog, {
3699
3702
  PaperComponent: material.Box,
3700
3703
  TransitionComponent: material.Grow,
@@ -3713,7 +3716,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3713
3716
  }));
3714
3717
  };
3715
3718
 
3716
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3719
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3717
3720
  var MaterialReactTable = (function (_ref) {
3718
3721
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3719
3722
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -3785,6 +3788,8 @@ var MaterialReactTable = (function (_ref) {
3785
3788
  localization = _ref.localization,
3786
3789
  _ref$positionActionsC = _ref.positionActionsColumn,
3787
3790
  positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
3791
+ _ref$positionExpandCo = _ref.positionExpandColumn,
3792
+ positionExpandColumn = _ref$positionExpandCo === void 0 ? 'first' : _ref$positionExpandCo,
3788
3793
  _ref$positionGlobalFi = _ref.positionGlobalFilter,
3789
3794
  positionGlobalFilter = _ref$positionGlobalFi === void 0 ? 'right' : _ref$positionGlobalFi,
3790
3795
  _ref$positionPaginati = _ref.positionPagination,
@@ -3832,6 +3837,7 @@ var MaterialReactTable = (function (_ref) {
3832
3837
  icons: _extends({}, MRT_Default_Icons, icons),
3833
3838
  localization: _extends({}, MRT_DefaultLocalization_EN, localization),
3834
3839
  positionActionsColumn: positionActionsColumn,
3840
+ positionExpandColumn: positionExpandColumn,
3835
3841
  positionGlobalFilter: positionGlobalFilter,
3836
3842
  positionPagination: positionPagination,
3837
3843
  positionToolbarAlertBanner: positionToolbarAlertBanner,