material-react-table 0.8.0-alpha.2 → 0.8.0

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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > This Project is based on react-table v8, which itself is still in alpha, and therefore this package is also still in alpha
4
4
 
5
- - A fully featured Material UI v5 implementation of react-table v8 (alpha)
5
+ - A fully featured Material UI v5 implementation of Tanstack react-table v8 (alpha)
6
6
  - Inspired by material-table and the MUI X DataGrid
7
7
  - Written from the ground up in TypeScript, Material UI, and React Table
8
8
  - All internal Material UI components are easily customizable
@@ -21,9 +21,10 @@ export interface MRT_RowModel<D extends Record<string, any> = {}> {
21
21
  }
22
22
  export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<TableInstance<Overwrite<Partial<TableGenerics>, {
23
23
  Row: D;
24
- }>>, 'getAllColumns' | 'getAllLeafColumns' | 'getExpandedRowModel' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
24
+ }>>, 'getAllColumns' | 'getAllLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
25
25
  getAllColumns: () => MRT_Column<D>[];
26
26
  getAllLeafColumns: () => MRT_Column<D>[];
27
+ getColumn: (columnId: string) => MRT_Column<D>;
27
28
  getExpandedRowModel: () => MRT_RowModel<D>;
28
29
  getPaginationRowModel: () => MRT_RowModel<D>;
29
30
  getPrePaginationRowModel: () => MRT_RowModel<D>;
@@ -393,5 +394,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
393
394
  }>;
394
395
  }) => ReactNode;
395
396
  };
396
- declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, editingMode, enableColumnActions, enableColumnFilters, enableColumnResizing, enableDensePaddingToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enableMultiRowSelection, enablePagination, enablePinning, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
397
+ declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilters, enableColumnResizing, enableDensePaddingToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enableMultiRowSelection, enablePagination, enablePinning, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
397
398
  export default _default;
@@ -171,10 +171,12 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
171
171
  var tableInstance = _ref.tableInstance;
172
172
  var getIsAllRowsExpanded = tableInstance.getIsAllRowsExpanded,
173
173
  getIsSomeRowsExpanded = tableInstance.getIsSomeRowsExpanded,
174
+ getCanSomeRowsExpand = tableInstance.getCanSomeRowsExpand,
174
175
  getState = tableInstance.getState,
175
176
  _tableInstance$option = tableInstance.options,
176
177
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
177
178
  localization = _tableInstance$option.localization,
179
+ renderDetailPanel = _tableInstance$option.renderDetailPanel,
178
180
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
179
181
 
180
182
  var _getState = getState(),
@@ -187,6 +189,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
187
189
  title: localization.expandAll
188
190
  }, React__default.createElement(material.IconButton, {
189
191
  "aria-label": localization.expandAll,
192
+ disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
190
193
  onClick: function onClick() {
191
194
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
192
195
  },
@@ -1215,101 +1218,6 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1215
1218
  })));
1216
1219
  };
1217
1220
 
1218
- var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1219
- var tableInstance = _ref.tableInstance;
1220
- var getState = tableInstance.getState,
1221
- setGlobalFilter = tableInstance.setGlobalFilter,
1222
- _tableInstance$option = tableInstance.options,
1223
- _tableInstance$option2 = _tableInstance$option.icons,
1224
- SearchIcon = _tableInstance$option2.SearchIcon,
1225
- CloseIcon = _tableInstance$option2.CloseIcon,
1226
- idPrefix = _tableInstance$option.idPrefix,
1227
- localization = _tableInstance$option.localization,
1228
- muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1229
- onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1230
-
1231
- var _getState = getState(),
1232
- globalFilter = _getState.globalFilter,
1233
- showGlobalFilter = _getState.showGlobalFilter;
1234
-
1235
- var _useState = React.useState(null),
1236
- anchorEl = _useState[0],
1237
- setAnchorEl = _useState[1];
1238
-
1239
- var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1240
- searchValue = _useState2[0],
1241
- setSearchValue = _useState2[1];
1242
-
1243
- var handleChange = React.useCallback(material.debounce(function (event) {
1244
- var _event$target$value;
1245
-
1246
- setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1247
- onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1248
- event: event,
1249
- tableInstance: tableInstance
1250
- });
1251
- }, 200), []);
1252
-
1253
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1254
- setAnchorEl(event.currentTarget);
1255
- };
1256
-
1257
- var handleClear = function handleClear() {
1258
- setSearchValue('');
1259
- setGlobalFilter(undefined);
1260
- };
1261
-
1262
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1263
- tableInstance: tableInstance
1264
- }) : muiSearchTextFieldProps;
1265
- return React__default.createElement(material.Collapse, {
1266
- "in": showGlobalFilter,
1267
- orientation: "horizontal"
1268
- }, React__default.createElement(material.TextField, Object.assign({
1269
- id: "mrt-" + idPrefix + "-search-text-field",
1270
- placeholder: localization.search,
1271
- onChange: function onChange(event) {
1272
- setSearchValue(event.target.value);
1273
- handleChange(event);
1274
- },
1275
- value: searchValue != null ? searchValue : '',
1276
- variant: "standard",
1277
- InputProps: {
1278
- startAdornment: React__default.createElement(material.InputAdornment, {
1279
- position: "start"
1280
- }, React__default.createElement(material.Tooltip, {
1281
- arrow: true,
1282
- title: localization.changeSearchMode
1283
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1284
- "aria-label": localization.changeSearchMode,
1285
- onClick: handleGlobalFilterMenuOpen,
1286
- size: "small",
1287
- sx: {
1288
- height: '1.75rem',
1289
- width: '1.75rem'
1290
- }
1291
- }, React__default.createElement(SearchIcon, null))))),
1292
- endAdornment: React__default.createElement(material.InputAdornment, {
1293
- position: "end"
1294
- }, React__default.createElement(material.IconButton, {
1295
- "aria-label": localization.clearSearch,
1296
- disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1297
- onClick: handleClear,
1298
- size: "small",
1299
- title: localization.clearSearch
1300
- }, React__default.createElement(CloseIcon, null)))
1301
- }
1302
- }, textFieldProps, {
1303
- sx: _extends({
1304
- justifySelf: 'end'
1305
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
1306
- })), React__default.createElement(MRT_FilterOptionMenu, {
1307
- anchorEl: anchorEl,
1308
- setAnchorEl: setAnchorEl,
1309
- tableInstance: tableInstance
1310
- }));
1311
- };
1312
-
1313
1221
  var _excluded = ["tableInstance"];
1314
1222
  var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1315
1223
  var tableInstance = _ref.tableInstance,
@@ -1490,7 +1398,104 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1490
1398
  }, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
1491
1399
  };
1492
1400
 
1401
+ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1402
+ var tableInstance = _ref.tableInstance;
1403
+ var getState = tableInstance.getState,
1404
+ setGlobalFilter = tableInstance.setGlobalFilter,
1405
+ _tableInstance$option = tableInstance.options,
1406
+ _tableInstance$option2 = _tableInstance$option.icons,
1407
+ SearchIcon = _tableInstance$option2.SearchIcon,
1408
+ CloseIcon = _tableInstance$option2.CloseIcon,
1409
+ idPrefix = _tableInstance$option.idPrefix,
1410
+ localization = _tableInstance$option.localization,
1411
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1412
+ onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1413
+
1414
+ var _getState = getState(),
1415
+ globalFilter = _getState.globalFilter,
1416
+ showGlobalFilter = _getState.showGlobalFilter;
1417
+
1418
+ var _useState = React.useState(null),
1419
+ anchorEl = _useState[0],
1420
+ setAnchorEl = _useState[1];
1421
+
1422
+ var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1423
+ searchValue = _useState2[0],
1424
+ setSearchValue = _useState2[1];
1425
+
1426
+ var handleChange = React.useCallback(material.debounce(function (event) {
1427
+ var _event$target$value;
1428
+
1429
+ setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1430
+ onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1431
+ event: event,
1432
+ tableInstance: tableInstance
1433
+ });
1434
+ }, 200), []);
1435
+
1436
+ var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1437
+ setAnchorEl(event.currentTarget);
1438
+ };
1439
+
1440
+ var handleClear = function handleClear() {
1441
+ setSearchValue('');
1442
+ setGlobalFilter(undefined);
1443
+ };
1444
+
1445
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1446
+ tableInstance: tableInstance
1447
+ }) : muiSearchTextFieldProps;
1448
+ return React__default.createElement(material.Collapse, {
1449
+ "in": showGlobalFilter,
1450
+ orientation: "horizontal"
1451
+ }, React__default.createElement(material.TextField, Object.assign({
1452
+ id: "mrt-" + idPrefix + "-search-text-field",
1453
+ placeholder: localization.search,
1454
+ onChange: function onChange(event) {
1455
+ setSearchValue(event.target.value);
1456
+ handleChange(event);
1457
+ },
1458
+ value: searchValue != null ? searchValue : '',
1459
+ variant: "standard",
1460
+ InputProps: {
1461
+ startAdornment: React__default.createElement(material.InputAdornment, {
1462
+ position: "start"
1463
+ }, React__default.createElement(material.Tooltip, {
1464
+ arrow: true,
1465
+ title: localization.changeSearchMode
1466
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1467
+ "aria-label": localization.changeSearchMode,
1468
+ onClick: handleGlobalFilterMenuOpen,
1469
+ size: "small",
1470
+ sx: {
1471
+ height: '1.75rem',
1472
+ width: '1.75rem'
1473
+ }
1474
+ }, React__default.createElement(SearchIcon, null))))),
1475
+ endAdornment: React__default.createElement(material.InputAdornment, {
1476
+ position: "end"
1477
+ }, React__default.createElement(material.IconButton, {
1478
+ "aria-label": localization.clearSearch,
1479
+ disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1480
+ onClick: handleClear,
1481
+ size: "small",
1482
+ title: localization.clearSearch
1483
+ }, React__default.createElement(CloseIcon, null)))
1484
+ }
1485
+ }, textFieldProps, {
1486
+ sx: _extends({
1487
+ justifySelf: 'end'
1488
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
1489
+ })), React__default.createElement(MRT_FilterOptionMenu, {
1490
+ anchorEl: anchorEl,
1491
+ setAnchorEl: setAnchorEl,
1492
+ tableInstance: tableInstance
1493
+ }));
1494
+ };
1495
+
1493
1496
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1497
+ var _renderToolbarInterna;
1498
+
1494
1499
  var tableInstance = _ref.tableInstance;
1495
1500
  var _tableInstance$option = tableInstance.options,
1496
1501
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
@@ -1500,24 +1505,22 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1500
1505
  enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1501
1506
  enableHiding = _tableInstance$option.enableHiding,
1502
1507
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
1503
-
1504
- if (renderToolbarInternalActions) {
1505
- return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions({
1506
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1507
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1508
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1509
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1510
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1511
- tableInstance: tableInstance
1512
- }));
1513
- }
1514
-
1515
1508
  return React__default.createElement(material.Box, {
1516
1509
  sx: {
1517
1510
  display: 'flex',
1518
- alignItems: 'center'
1511
+ alignItems: 'center',
1512
+ zIndex: 3
1519
1513
  }
1520
- }, enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1514
+ }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1515
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1516
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1517
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1518
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1519
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1520
+ tableInstance: tableInstance
1521
+ })) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
1522
+ tableInstance: tableInstance
1523
+ }), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1521
1524
  tableInstance: tableInstance
1522
1525
  }), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
1523
1526
  tableInstance: tableInstance
@@ -1527,7 +1530,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1527
1530
  tableInstance: tableInstance
1528
1531
  }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
1529
1532
  tableInstance: tableInstance
1530
- }));
1533
+ })));
1531
1534
  };
1532
1535
 
1533
1536
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
@@ -1588,44 +1591,36 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
1588
1591
  var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1589
1592
  var _localization$selecte, _localization$selecte2;
1590
1593
 
1591
- var tableInstance = _ref.tableInstance;
1594
+ var stackAlertBanner = _ref.stackAlertBanner,
1595
+ tableInstance = _ref.tableInstance;
1592
1596
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1593
1597
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1594
1598
  getState = tableInstance.getState,
1595
1599
  _tableInstance$option = tableInstance.options,
1596
1600
  localization = _tableInstance$option.localization,
1597
- muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
1598
- positionToolbarActions = _tableInstance$option.positionToolbarActions,
1599
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1600
- renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1601
+ muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps;
1601
1602
 
1602
1603
  var _getState = getState(),
1603
1604
  grouping = _getState.grouping;
1604
1605
 
1605
- var isMobile = material.useMediaQuery('(max-width:720px)');
1606
1606
  var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1607
1607
  tableInstance: tableInstance
1608
1608
  }) : muiTableToolbarAlertBannerProps;
1609
1609
  var selectMessage = getSelectedRowModel().rows.length > 0 ? (_localization$selecte = localization.selectedCountOfRowCountRowsSelected) == null ? void 0 : (_localization$selecte2 = _localization$selecte.replace('{selectedCount}', getSelectedRowModel().rows.length.toString())) == null ? void 0 : _localization$selecte2.replace('{rowCount}', getPrePaginationRowModel().rows.length.toString()) : null;
1610
1610
  var groupedByMessage = grouping.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
1611
- var _tableInstance$getAll;
1612
-
1613
1611
  return React__default.createElement(React.Fragment, {
1614
1612
  key: index + "-" + columnId
1615
1613
  }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
1616
1614
  color: "secondary",
1617
- label: (_tableInstance$getAll = tableInstance.getAllColumns().find(function (column) {
1618
- return column.id === columnId;
1619
- })) == null ? void 0 : _tableInstance$getAll.header,
1615
+ label: tableInstance.getColumn(columnId).columnDef.header,
1620
1616
  onDelete: function onDelete() {
1621
1617
  return tableInstance.getColumn(columnId).toggleGrouping();
1622
1618
  }
1623
1619
  }));
1624
1620
  })) : null;
1625
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
1626
1621
  return React__default.createElement(material.Collapse, {
1627
1622
  "in": !!selectMessage || !!groupedByMessage,
1628
- timeout: displayAbsolute ? 0 : 200
1623
+ timeout: stackAlertBanner ? 200 : 0
1629
1624
  }, React__default.createElement(material.Alert, Object.assign({
1630
1625
  color: "info",
1631
1626
  icon: false,
@@ -1634,9 +1629,8 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1634
1629
  fontSize: '1rem',
1635
1630
  left: 0,
1636
1631
  p: 0,
1637
- position: displayAbsolute ? 'absolute' : 'relative',
1632
+ position: 'relative',
1638
1633
  right: 0,
1639
- minHeight: '3.5rem',
1640
1634
  top: 0,
1641
1635
  width: '100%',
1642
1636
  zIndex: 2
@@ -1645,7 +1639,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1645
1639
  sx: {
1646
1640
  p: '0.5rem 1rem'
1647
1641
  }
1648
- }, selectMessage, React__default.createElement("br", null), groupedByMessage)));
1642
+ }, selectMessage, selectMessage && groupedByMessage && React__default.createElement("br", null), groupedByMessage)));
1649
1643
  };
1650
1644
 
1651
1645
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
@@ -1676,6 +1670,8 @@ var commonToolbarStyles = function commonToolbarStyles(_ref) {
1676
1670
  backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1677
1671
  backgroundImage: 'none',
1678
1672
  display: 'grid',
1673
+ minHeight: '3.5rem',
1674
+ overflow: 'hidden',
1679
1675
  p: '0 !important',
1680
1676
  transition: 'all 0.2s ease-in-out',
1681
1677
  width: '100%',
@@ -1688,7 +1684,6 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1688
1684
  var tableInstance = _ref2.tableInstance;
1689
1685
  var getState = tableInstance.getState,
1690
1686
  _tableInstance$option = tableInstance.options,
1691
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1692
1687
  enablePagination = _tableInstance$option.enablePagination,
1693
1688
  enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1694
1689
  idPrefix = _tableInstance$option.idPrefix,
@@ -1701,9 +1696,11 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1701
1696
  var _getState = getState(),
1702
1697
  isFullScreen = _getState.isFullScreen;
1703
1698
 
1699
+ var isMobile = material.useMediaQuery('(max-width:720px)');
1704
1700
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1705
1701
  tableInstance: tableInstance
1706
1702
  }) : muiTableToolbarTopProps;
1703
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions;
1707
1704
  return React__default.createElement(material.Toolbar, Object.assign({
1708
1705
  id: "mrt-" + idPrefix + "-toolbar-top",
1709
1706
  variant: "dense"
@@ -1717,27 +1714,23 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1717
1714
  }), toolbarProps == null ? void 0 : toolbarProps.sx);
1718
1715
  }
1719
1716
  }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, {
1717
+ stackAlertBanner: stackAlertBanner,
1720
1718
  tableInstance: tableInstance
1721
1719
  }), React__default.createElement(material.Box, {
1722
1720
  sx: {
1723
- p: '0.5rem',
1724
1721
  display: 'flex',
1725
- justifyContent: 'space-between'
1722
+ justifyContent: 'space-between',
1723
+ p: '0.5rem',
1724
+ position: stackAlertBanner ? 'relative' : 'absolute',
1725
+ right: 0,
1726
+ top: 0,
1727
+ width: 'calc(100% - 1rem)'
1726
1728
  }
1727
1729
  }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1728
1730
  tableInstance: tableInstance
1729
- })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(material.Box, {
1730
- sx: {
1731
- display: 'flex',
1732
- gap: '0.5rem',
1733
- position: 'relative',
1734
- zIndex: 3
1735
- }
1736
- }, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
1737
- tableInstance: tableInstance
1738
- }), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
1731
+ })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
1739
1732
  tableInstance: tableInstance
1740
- }))), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1733
+ })), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1741
1734
  tableInstance: tableInstance
1742
1735
  })), React__default.createElement(MRT_LinearProgressBar, {
1743
1736
  tableInstance: tableInstance
@@ -1754,14 +1747,17 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1754
1747
  muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
1755
1748
  positionPagination = _tableInstance$option.positionPagination,
1756
1749
  positionToolbarActions = _tableInstance$option.positionToolbarActions,
1757
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner;
1750
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1751
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1758
1752
 
1759
1753
  var _getState = getState(),
1760
1754
  isFullScreen = _getState.isFullScreen;
1761
1755
 
1756
+ var isMobile = material.useMediaQuery('(max-width:720px)');
1762
1757
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1763
1758
  tableInstance: tableInstance
1764
1759
  }) : muiTableToolbarBottomProps;
1760
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
1765
1761
  return React__default.createElement(material.Toolbar, Object.assign({
1766
1762
  id: "mrt-" + idPrefix + "-toolbar-bottom",
1767
1763
  variant: "dense"
@@ -1777,17 +1773,20 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1777
1773
  }
1778
1774
  }), React__default.createElement(MRT_LinearProgressBar, {
1779
1775
  tableInstance: tableInstance
1776
+ }), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
1777
+ tableInstance: tableInstance
1780
1778
  }), React__default.createElement(material.Box, {
1781
1779
  sx: {
1782
1780
  display: 'flex',
1783
1781
  justifyContent: 'space-between',
1784
- width: '100%'
1782
+ width: '100%',
1783
+ position: stackAlertBanner ? 'relative' : 'absolute',
1784
+ right: 0,
1785
+ top: 0
1785
1786
  }
1786
1787
  }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, {
1787
1788
  tableInstance: tableInstance
1788
- }) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
1789
- tableInstance: tableInstance
1790
- }), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1789
+ }) : React__default.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1791
1790
  tableInstance: tableInstance
1792
1791
  })));
1793
1792
  };
@@ -2084,7 +2083,7 @@ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2084
2083
  };
2085
2084
 
2086
2085
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2087
- var _getState2, _getState2$currentFil, _column$columnDef$Hea, _column$columnDef, _column$columnDef$hea, _column$columnDef$hea2;
2086
+ var _getState2, _getState2$currentFil, _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
2088
2087
 
2089
2088
  var header = _ref.header,
2090
2089
  tableInstance = _ref.tableInstance;
@@ -2150,8 +2149,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2150
2149
  fontWeight: 'bold',
2151
2150
  height: '100%',
2152
2151
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2153
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2154
- minWidth: "max(" + column.getSize() + "px, " + column.minSize + "px)",
2155
2152
  overflow: 'visible',
2156
2153
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2157
2154
  pb: column.columnDefType === 'display' ? 0 : undefined,
@@ -2160,9 +2157,13 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2160
2157
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2161
2158
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2162
2159
  verticalAlign: 'text-top',
2163
- width: header.getSize(),
2164
2160
  zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2165
2161
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2162
+ },
2163
+ style: {
2164
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2165
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2166
+ width: header.getSize()
2166
2167
  }
2167
2168
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
2168
2169
  sx: {
@@ -2214,7 +2215,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2214
2215
  }, showFilters && !column.getFilterValue() ? React__default.createElement(FilterAltOff, null) : React__default.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
2215
2216
  header: header,
2216
2217
  tableInstance: tableInstance
2217
- }), column.getCanResize() && React__default.createElement(material.Divider, Object.assign({
2218
+ }), column.getCanResize() && React__default.createElement(material.Divider, {
2218
2219
  flexItem: true,
2219
2220
  orientation: "vertical",
2220
2221
  onDoubleClick: function onDoubleClick() {
@@ -2230,7 +2231,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2230
2231
  position: 'absolute',
2231
2232
  right: '1px',
2232
2233
  touchAction: 'none',
2233
- transition: 'all 0.2s ease-in-out',
2234
+ transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2234
2235
  userSelect: 'none',
2235
2236
  zIndex: 2000,
2236
2237
  '&:active': {
@@ -2238,15 +2239,13 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2238
2239
  opacity: 1
2239
2240
  }
2240
2241
  };
2241
- }
2242
- }, {
2243
- onMouseDown: header.getResizeHandler,
2244
- onTouchStart: header.getResizeHandler
2245
- }, {
2242
+ },
2243
+ onMouseDown: header.getResizeHandler(),
2244
+ onTouchStart: header.getResizeHandler(),
2246
2245
  style: {
2247
2246
  transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2248
2247
  }
2249
- }))), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(material.Collapse, {
2248
+ })), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(material.Collapse, {
2250
2249
  "in": showFilters,
2251
2250
  mountOnEnter: true,
2252
2251
  unmountOnExit: true
@@ -2426,7 +2425,9 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2426
2425
  onClick: function onClick() {
2427
2426
  return handleCopy(cell.getValue());
2428
2427
  },
2429
- size: "small"
2428
+ size: "small",
2429
+ type: "button",
2430
+ variant: "text"
2430
2431
  }, buttonProps, {
2431
2432
  sx: _extends({
2432
2433
  backgroundColor: 'transparent',
@@ -2440,13 +2441,12 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2440
2441
  minWidth: 'unset',
2441
2442
  textAlign: 'inherit',
2442
2443
  textTransform: 'inherit'
2443
- }, buttonProps == null ? void 0 : buttonProps.sx),
2444
- variant: "text"
2444
+ }, buttonProps == null ? void 0 : buttonProps.sx)
2445
2445
  }), children));
2446
2446
  };
2447
2447
 
2448
2448
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2449
- var _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2449
+ var _column$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2450
2450
 
2451
2451
  var cell = _ref.cell,
2452
2452
  enableHover = _ref.enableHover,
@@ -2530,20 +2530,22 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2530
2530
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
2531
2531
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2532
2532
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2533
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2534
- minWidth: "max" + column.getSize() + "px, " + column.minSize + "px",
2535
2533
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2536
2534
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2537
2535
  position: column.getIsPinned() ? 'sticky' : 'relative',
2538
2536
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2539
2537
  transition: 'all 0.2s ease-in-out',
2540
2538
  whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2541
- width: column.getSize(),
2542
2539
  zIndex: column.getIsPinned() ? 1 : undefined,
2543
2540
  '&:hover': {
2544
2541
  backgroundColor: enableHover ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2545
2542
  }
2546
2543
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2544
+ },
2545
+ style: {
2546
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2547
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2548
+ width: column.getSize()
2547
2549
  }
2548
2550
  }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
2549
2551
  animation: "wave",
@@ -2673,7 +2675,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
2673
2675
  };
2674
2676
 
2675
2677
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2676
- var _ref2, _column$columnDef$Foo;
2678
+ var _ref2, _ref3, _column$columnDef$Foo;
2677
2679
 
2678
2680
  var footer = _ref.footer,
2679
2681
  tableInstance = _ref.tableInstance;
@@ -2715,10 +2717,10 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2715
2717
  verticalAlign: 'text-top'
2716
2718
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2717
2719
  }
2718
- }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2720
+ }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2719
2721
  footer: footer,
2720
2722
  tableInstance: tableInstance
2721
- })) != null ? _column$columnDef$Foo : footer.renderFooter()) != null ? _ref2 : null));
2723
+ })) != null ? _column$columnDef$Foo : column.columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
2722
2724
  };
2723
2725
 
2724
2726
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -3171,12 +3173,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3171
3173
  }));
3172
3174
  };
3173
3175
 
3174
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3176
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3175
3177
  var MaterialReactTable = (function (_ref) {
3176
3178
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3177
3179
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3178
3180
  _ref$columnResizeMode = _ref.columnResizeMode,
3179
3181
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3182
+ _ref$defaultColumn = _ref.defaultColumn,
3183
+ defaultColumn = _ref$defaultColumn === void 0 ? {
3184
+ minSize: 50,
3185
+ maxSize: 1000,
3186
+ size: 150
3187
+ } : _ref$defaultColumn,
3180
3188
  _ref$editingMode = _ref.editingMode,
3181
3189
  editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
3182
3190
  _ref$enableColumnActi = _ref.enableColumnActions,
@@ -3236,6 +3244,7 @@ var MaterialReactTable = (function (_ref) {
3236
3244
  return React__default.createElement(MRT_TableRoot, Object.assign({
3237
3245
  autoResetExpanded: autoResetExpanded,
3238
3246
  columnResizeMode: columnResizeMode,
3247
+ defaultColumn: defaultColumn,
3239
3248
  editingMode: editingMode,
3240
3249
  enableColumnActions: enableColumnActions,
3241
3250
  enableColumnFilters: enableColumnFilters,