material-react-table 0.4.2 → 0.4.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.
Files changed (37) hide show
  1. package/dist/MaterialReactTable.d.ts +11 -3
  2. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +3 -1
  3. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -1
  4. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +6 -0
  5. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +3 -1
  6. package/dist/buttons/MRT_ToggleSearchButton.d.ts +3 -1
  7. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  8. package/dist/material-react-table.cjs.development.js +174 -103
  9. package/dist/material-react-table.cjs.development.js.map +1 -1
  10. package/dist/material-react-table.cjs.production.min.js +1 -1
  11. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  12. package/dist/material-react-table.esm.js +174 -103
  13. package/dist/material-react-table.esm.js.map +1 -1
  14. package/package.json +7 -8
  15. package/src/MaterialReactTable.tsx +20 -2
  16. package/src/body/MRT_TableBodyRow.tsx +3 -2
  17. package/src/buttons/MRT_FullScreenToggleButton.tsx +4 -3
  18. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -2
  19. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +14 -8
  20. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +24 -0
  21. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -3
  22. package/src/buttons/MRT_ToggleSearchButton.tsx +4 -4
  23. package/src/footer/MRT_TableFooterRow.tsx +9 -10
  24. package/src/head/MRT_TableHeadCell.tsx +21 -12
  25. package/src/head/MRT_TableHeadRow.tsx +6 -5
  26. package/src/inputs/MRT_EditCellTextField.tsx +1 -2
  27. package/src/inputs/MRT_SelectCheckbox.tsx +44 -15
  28. package/src/table/MRT_TableContainer.tsx +2 -2
  29. package/src/toolbar/MRT_TablePagination.tsx +1 -0
  30. package/src/toolbar/MRT_ToolbarBottom.tsx +19 -7
  31. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +18 -2
  32. package/src/toolbar/MRT_ToolbarTop.tsx +19 -7
  33. package/src/utils/localization.ts +3 -3
  34. package/dist/inputs/MRT_DensePaddingSwitch.d.ts +0 -5
  35. package/dist/inputs/MRT_SelectAllCheckbox.d.ts +0 -2
  36. package/src/inputs/MRT_DensePaddingSwitch.tsx +0 -23
  37. package/src/inputs/MRT_SelectAllCheckbox.tsx +0 -22
@@ -17,6 +17,8 @@ import CancelIcon from '@mui/icons-material/Cancel';
17
17
  import SearchIcon from '@mui/icons-material/Search';
18
18
  import FilterListOffIcon from '@mui/icons-material/FilterListOff';
19
19
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
20
+ import DensityMediumIcon from '@mui/icons-material/DensityMedium';
21
+ import DensitySmallIcon from '@mui/icons-material/DensitySmall';
20
22
  import SearchOffIcon from '@mui/icons-material/SearchOff';
21
23
  import FilterListIcon from '@mui/icons-material/Fullscreen';
22
24
  import FilterListOffIcon$1 from '@mui/icons-material/FullscreenExit';
@@ -332,6 +334,8 @@ var IconButton = /*#__PURE__*/styled(IconButton$2)({
332
334
  }
333
335
  });
334
336
  var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
337
+ var _localization$columnA;
338
+
335
339
  var column = _ref.column;
336
340
 
337
341
  var _useMRT = useMRT(),
@@ -347,12 +351,16 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
347
351
  setAnchorEl(event.currentTarget);
348
352
  };
349
353
 
350
- return React.createElement(React.Fragment, null, React.createElement(IconButton, {
354
+ return React.createElement(React.Fragment, null, React.createElement(Tooltip, {
355
+ arrow: true,
356
+ enterDelay: 1000,
357
+ enterNextDelay: 1000,
358
+ title: (_localization$columnA = localization == null ? void 0 : localization.columnActionMenuButtonTitle) != null ? _localization$columnA : ''
359
+ }, React.createElement(IconButton, {
351
360
  "aria-label": localization == null ? void 0 : localization.columnActionMenuButtonTitle,
352
361
  onClick: handleClick,
353
- size: "small",
354
- title: localization == null ? void 0 : localization.columnActionMenuButtonTitle
355
- }, React.createElement(MoreVertIcon, null)), React.createElement(MRT_ColumnActionMenu, {
362
+ size: "small"
363
+ }, React.createElement(MoreVertIcon, null))), React.createElement(MRT_ColumnActionMenu, {
356
364
  anchorEl: anchorEl,
357
365
  column: column,
358
366
  setAnchorEl: setAnchorEl
@@ -397,7 +405,7 @@ var Divider = /*#__PURE__*/styled(Divider$1)({
397
405
  maxHeight: '2rem'
398
406
  });
399
407
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
400
- var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps;
408
+ var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps, _localization$columnA, _localization$columnA2, _localization$columnA3, _localization$columnA4, _localization$columnA5;
401
409
 
402
410
  var column = _ref2.column;
403
411
 
@@ -419,6 +427,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
419
427
  style: _extends({}, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {}, (_mcTableHeadCellProps = mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style) != null ? _mcTableHeadCellProps : {})
420
428
  });
421
429
 
430
+ var sortTooltip = column.isSorted ? column.isSortedDesc ? (_localization$columnA = localization == null ? void 0 : localization.columnActionMenuItemClearSort) != null ? _localization$columnA : '' : (_localization$columnA2 = localization == null ? void 0 : (_localization$columnA3 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA3.replace('{column}', column.Header)) != null ? _localization$columnA2 : '' : (_localization$columnA4 = localization == null ? void 0 : (_localization$columnA5 = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA5.replace('{column}', column.Header)) != null ? _localization$columnA4 : '';
422
431
  return React.createElement(MRT_StyledTableHeadCell, Object.assign({
423
432
  align: isParentHeader ? 'center' : 'left',
424
433
  densePadding: densePadding,
@@ -427,11 +436,16 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
427
436
  style: {
428
437
  justifyContent: isParentHeader ? 'center' : undefined
429
438
  }
430
- }, React.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React.createElement(TableSortLabel, {
431
- "aria-label": column.isSorted ? column.sortDescFirst ? localization == null ? void 0 : localization.columnActionMenuItemClearSort : localization == null ? void 0 : localization.columnActionMenuItemSortDesc : localization == null ? void 0 : localization.columnActionMenuItemSortAsc,
439
+ }, React.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps(), {
440
+ title: undefined
441
+ }), column.render('Header'), !isParentHeader && column.canSort && React.createElement(Tooltip, {
442
+ arrow: true,
443
+ title: sortTooltip
444
+ }, React.createElement(TableSortLabel, {
445
+ "aria-label": sortTooltip,
432
446
  active: column.isSorted,
433
447
  direction: column.isSortedDesc ? 'desc' : 'asc'
434
- })), React.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
448
+ }))), React.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
435
449
  column: column
436
450
  }), enableColumnResizing && !isParentHeader && React.createElement(Divider, Object.assign({
437
451
  flexItem: true,
@@ -459,23 +473,47 @@ var MRT_TableButtonCell = /*#__PURE__*/styled(TableCell$3, {
459
473
  };
460
474
  });
461
475
 
462
- var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
463
- var _localization$selectA;
476
+ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
477
+ var _localization$selectA, _localization$selectC, _localization$selectA2, _localization$selectC2;
478
+
479
+ var row = _ref.row,
480
+ selectAll = _ref.selectAll;
464
481
 
465
482
  var _useMRT = useMRT(),
466
- tableInstance = _useMRT.tableInstance,
467
- disableSelectAll = _useMRT.disableSelectAll,
468
483
  densePadding = _useMRT.densePadding,
469
- localization = _useMRT.localization;
484
+ localization = _useMRT.localization,
485
+ onRowSelectChange = _useMRT.onRowSelectChange,
486
+ onSelectAllChange = _useMRT.onSelectAllChange,
487
+ tableInstance = _useMRT.tableInstance;
470
488
 
489
+ var onSelectChange = function onSelectChange(event) {
490
+ if (selectAll) {
491
+ onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.selectedFlatRows);
492
+ tableInstance.toggleAllRowsSelected(event.target.checked);
493
+ } else if (row) {
494
+ var _row$getToggleRowSele;
495
+
496
+ row == null ? void 0 : (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
497
+ onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
498
+ }
499
+ };
500
+
501
+ var checkboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
471
502
  return React.createElement(MRT_TableButtonCell, {
472
- densePadding: densePadding,
473
- variant: "head"
474
- }, !disableSelectAll ? React.createElement(Checkbox, Object.assign({
503
+ densePadding: densePadding
504
+ }, React.createElement(Tooltip, {
505
+ arrow: true,
506
+ enterDelay: 1000,
507
+ enterNextDelay: 1000,
508
+ title: selectAll ? (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : '' : (_localization$selectC = localization == null ? void 0 : localization.selectCheckboxTitle) != null ? _localization$selectC : ''
509
+ }, React.createElement(Checkbox, Object.assign({
475
510
  inputProps: {
476
- 'aria-label': (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : ''
477
- }
478
- }, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
511
+ 'aria-label': selectAll ? (_localization$selectA2 = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA2 : '' : (_localization$selectC2 = localization == null ? void 0 : localization.selectCheckboxTitle) != null ? _localization$selectC2 : ''
512
+ },
513
+ onChange: onSelectChange
514
+ }, checkboxProps, {
515
+ title: undefined
516
+ }))));
479
517
  };
480
518
 
481
519
  var ArrowRightIcon = /*#__PURE__*/styled(MuiArrowRightIcon, {
@@ -548,8 +586,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
548
586
  var _useMRT = useMRT(),
549
587
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
550
588
  disableExpandAll = _useMRT.disableExpandAll,
551
- enableRowNumbers = _useMRT.enableRowNumbers,
552
589
  enableRowActions = _useMRT.enableRowActions,
590
+ enableRowEditing = _useMRT.enableRowEditing,
591
+ enableRowNumbers = _useMRT.enableRowNumbers,
553
592
  enableSelection = _useMRT.enableSelection,
554
593
  muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
555
594
  positionActionsColumn = _useMRT.positionActionsColumn,
@@ -569,16 +608,18 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
569
608
  style: _extends({}, headerGroup.getHeaderGroupProps().style, (_mTableHeadRowProps$s = mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style) != null ? _mTableHeadRowProps$s : {})
570
609
  });
571
610
 
572
- return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_StyledTableHeadCell, null, "#")), enableRowActions && positionActionsColumn === 'first' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
611
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_StyledTableHeadCell, null, "#")), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
573
612
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
574
- }) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectAllCheckbox, null) : React.createElement(MRT_TableSpacerCell, {
613
+ }) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectCheckbox, {
614
+ selectAll: true
615
+ }) : React.createElement(MRT_TableSpacerCell, {
575
616
  width: "1rem"
576
617
  }) : null, headerGroup.headers.map(function (column) {
577
618
  return React.createElement(MRT_TableHeadCell, {
578
619
  key: column.getHeaderProps().key,
579
620
  column: column
580
621
  });
581
- }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)));
622
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)));
582
623
  };
583
624
 
584
625
  var MRT_TableHead = function MRT_TableHead() {
@@ -602,7 +643,6 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
602
643
 
603
644
  var _useMRT = useMRT(),
604
645
  currentEditingRow = _useMRT.currentEditingRow,
605
- localization = _useMRT.localization,
606
646
  muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
607
647
  setCurrentEditingRow = _useMRT.setCurrentEditingRow;
608
648
 
@@ -634,7 +674,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
634
674
  onClick: function onClick(e) {
635
675
  return e.stopPropagation();
636
676
  },
637
- placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
677
+ placeholder: cell.column.Header,
638
678
  value: cell.value,
639
679
  variant: "standard"
640
680
  }, textFieldProps));
@@ -774,32 +814,6 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
774
814
  })));
775
815
  };
776
816
 
777
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
778
- var row = _ref.row;
779
-
780
- var _useMRT = useMRT(),
781
- tableInstance = _useMRT.tableInstance,
782
- onRowSelectChange = _useMRT.onRowSelectChange,
783
- densePadding = _useMRT.densePadding,
784
- localization = _useMRT.localization;
785
-
786
- var onSelectChange = function onSelectChange(event) {
787
- var _row$getToggleRowSele;
788
-
789
- (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
790
- onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
791
- };
792
-
793
- return React.createElement(MRT_TableButtonCell, {
794
- densePadding: densePadding
795
- }, React.createElement(Checkbox, Object.assign({
796
- inputProps: {
797
- 'aria-label': localization == null ? void 0 : localization.selectCheckboxTitle
798
- },
799
- onChange: onSelectChange
800
- }, row.getToggleRowSelectedProps())));
801
- };
802
-
803
817
  var MenuItem$1 = /*#__PURE__*/styled(MenuItem$2)({
804
818
  display: 'flex',
805
819
  gap: '0.75rem'
@@ -1734,6 +1748,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1734
1748
  var _useMRT = useMRT(),
1735
1749
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1736
1750
  enableRowActions = _useMRT.enableRowActions,
1751
+ enableRowEditing = _useMRT.enableRowEditing,
1737
1752
  enableRowNumbers = _useMRT.enableRowNumbers,
1738
1753
  enableSelection = _useMRT.enableSelection,
1739
1754
  muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
@@ -1753,7 +1768,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1753
1768
  onClick: function onClick(event) {
1754
1769
  return onRowClick == null ? void 0 : onRowClick(event, row);
1755
1770
  }
1756
- }, tableRowProps), enableRowNumbers && React.createElement(MRT_StyledTableBodyCell, null, row.index + 1), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_ToggleRowActionMenuButton, {
1771
+ }, tableRowProps), enableRowNumbers && React.createElement(MRT_StyledTableBodyCell, null, row.index + 1), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React.createElement(MRT_ToggleRowActionMenuButton, {
1757
1772
  row: row
1758
1773
  }), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_ExpandButton, {
1759
1774
  row: row
@@ -1764,7 +1779,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1764
1779
  key: cell.getCellProps().key,
1765
1780
  cell: cell
1766
1781
  });
1767
- }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_ToggleRowActionMenuButton, {
1782
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React.createElement(MRT_ToggleRowActionMenuButton, {
1768
1783
  row: row
1769
1784
  })), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
1770
1785
  row: row
@@ -1843,15 +1858,16 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1843
1858
  var footerGroup = _ref.footerGroup;
1844
1859
 
1845
1860
  var _useMRT = useMRT(),
1846
- renderDetailPanel = _useMRT.renderDetailPanel,
1847
- columns = _useMRT.columns,
1848
1861
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1849
- enableSelection = _useMRT.enableSelection,
1862
+ columns = _useMRT.columns,
1850
1863
  enableRowActions = _useMRT.enableRowActions,
1864
+ enableRowEditing = _useMRT.enableRowEditing,
1851
1865
  enableRowNumbers = _useMRT.enableRowNumbers,
1866
+ enableSelection = _useMRT.enableSelection,
1867
+ muiTableFooterRowProps = _useMRT.muiTableFooterRowProps,
1852
1868
  positionActionsColumn = _useMRT.positionActionsColumn,
1853
- tableInstance = _useMRT.tableInstance,
1854
- muiTableFooterRowProps = _useMRT.muiTableFooterRowProps; //if no content in row, skip row
1869
+ renderDetailPanel = _useMRT.renderDetailPanel,
1870
+ tableInstance = _useMRT.tableInstance; //if no content in row, skip row
1855
1871
 
1856
1872
 
1857
1873
  if (!(columns != null && columns.some(function (c) {
@@ -1863,7 +1879,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1863
1879
  style: _extends({}, footerGroup.getFooterGroupProps().style, (_mTableFooterRowProps = mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style) != null ? _mTableFooterRowProps : {})
1864
1880
  });
1865
1881
 
1866
- return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && React.createElement(MRT_TableSpacerCell, null), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1882
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && React.createElement(MRT_TableSpacerCell, null), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1867
1883
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1868
1884
  }), enableSelection && React.createElement(MRT_TableSpacerCell, {
1869
1885
  width: "1rem"
@@ -1872,7 +1888,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1872
1888
  key: column.getFooterProps().key,
1873
1889
  column: column
1874
1890
  });
1875
- }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_TableSpacerCell, null));
1891
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React.createElement(MRT_TableSpacerCell, null));
1876
1892
  };
1877
1893
 
1878
1894
  var MRT_TableFooter = function MRT_TableFooter() {
@@ -1964,9 +1980,11 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1964
1980
  }, muiSearchTextFieldProps)));
1965
1981
  };
1966
1982
 
1967
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1983
+ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1968
1984
  var _localization$toggleF;
1969
1985
 
1986
+ var rest = _extends({}, _ref);
1987
+
1970
1988
  var _useMRT = useMRT(),
1971
1989
  localization = _useMRT.localization,
1972
1990
  setShowFilters = _useMRT.setShowFilters,
@@ -1975,13 +1993,13 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1975
1993
  return React.createElement(Tooltip, {
1976
1994
  arrow: true,
1977
1995
  title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFilterButtonTitle) != null ? _localization$toggleF : ''
1978
- }, React.createElement(IconButton$2, {
1996
+ }, React.createElement(IconButton$2, Object.assign({
1979
1997
  "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
1980
1998
  onClick: function onClick() {
1981
1999
  return setShowFilters(!showFilters);
1982
2000
  },
1983
2001
  size: "small"
1984
- }, showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterIcon, null)));
2002
+ }, rest), showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterIcon, null)));
1985
2003
  };
1986
2004
 
1987
2005
  var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
@@ -2030,9 +2048,11 @@ var MenuButtons = /*#__PURE__*/styled('div')({
2030
2048
  justifyContent: 'space-between',
2031
2049
  padding: '0 0.5rem 0.5rem 0.5rem'
2032
2050
  });
2033
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2051
+ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2034
2052
  var _localization$showHid;
2035
2053
 
2054
+ var rest = _extends({}, _ref);
2055
+
2036
2056
  var _useMRT = useMRT(),
2037
2057
  tableInstance = _useMRT.tableInstance,
2038
2058
  localization = _useMRT.localization;
@@ -2048,11 +2068,11 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2048
2068
  return React.createElement(React.Fragment, null, React.createElement(Tooltip, {
2049
2069
  arrow: true,
2050
2070
  title: (_localization$showHid = localization == null ? void 0 : localization.showHideColumnsButtonTitle) != null ? _localization$showHid : ''
2051
- }, React.createElement(IconButton$2, {
2071
+ }, React.createElement(IconButton$2, Object.assign({
2052
2072
  "aria-label": localization == null ? void 0 : localization.showHideColumnsButtonTitle,
2053
2073
  onClick: handleClick,
2054
2074
  size: "small"
2055
- }, React.createElement(ViewColumnIcon, null))), React.createElement(Menu, {
2075
+ }, rest), React.createElement(ViewColumnIcon, null))), React.createElement(Menu, {
2056
2076
  anchorEl: anchorEl,
2057
2077
  open: !!anchorEl,
2058
2078
  onClose: function onClose() {
@@ -2076,8 +2096,10 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2076
2096
  })));
2077
2097
  };
2078
2098
 
2079
- var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
2080
- var _localization$toggleD, _localization$toggleD2;
2099
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2100
+ var _localization$toggleD;
2101
+
2102
+ var rest = _extends({}, _ref);
2081
2103
 
2082
2104
  var _useMRT = useMRT(),
2083
2105
  densePadding = _useMRT.densePadding,
@@ -2087,22 +2109,20 @@ var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
2087
2109
  return React.createElement(Tooltip, {
2088
2110
  arrow: true,
2089
2111
  title: (_localization$toggleD = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD : ''
2090
- }, React.createElement(Switch, {
2091
- inputProps: {
2092
- 'aria-label': (_localization$toggleD2 = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD2 : ''
2093
- },
2094
- color: "default",
2095
- checked: densePadding,
2096
- size: "small",
2097
- onChange: function onChange() {
2112
+ }, React.createElement(IconButton$2, Object.assign({
2113
+ "aria-label": localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle,
2114
+ onClick: function onClick() {
2098
2115
  return setDensePadding(!densePadding);
2099
- }
2100
- }));
2116
+ },
2117
+ size: "small"
2118
+ }, rest), densePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
2101
2119
  };
2102
2120
 
2103
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2121
+ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2104
2122
  var _localization$toggleS;
2105
2123
 
2124
+ var rest = _extends({}, _ref);
2125
+
2106
2126
  var _useMRT = useMRT(),
2107
2127
  localization = _useMRT.localization,
2108
2128
  setShowSearch = _useMRT.setShowSearch,
@@ -2121,15 +2141,17 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2121
2141
  return React.createElement(Tooltip, {
2122
2142
  arrow: true,
2123
2143
  title: (_localization$toggleS = localization == null ? void 0 : localization.toggleSearchButtonTitle) != null ? _localization$toggleS : ''
2124
- }, React.createElement(IconButton$2, {
2144
+ }, React.createElement(IconButton$2, Object.assign({
2125
2145
  size: "small",
2126
2146
  onClick: handleToggleSearch
2127
- }, showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
2147
+ }, rest), showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
2128
2148
  };
2129
2149
 
2130
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2150
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2131
2151
  var _localization$toggleF;
2132
2152
 
2153
+ var rest = _extends({}, _ref);
2154
+
2133
2155
  var _useMRT = useMRT(),
2134
2156
  localization = _useMRT.localization,
2135
2157
  setFullScreen = _useMRT.setFullScreen,
@@ -2138,13 +2160,13 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2138
2160
  return React.createElement(Tooltip, {
2139
2161
  arrow: true,
2140
2162
  title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFullScreenButtonTitle) != null ? _localization$toggleF : ''
2141
- }, React.createElement(IconButton$2, {
2163
+ }, React.createElement(IconButton$2, Object.assign({
2142
2164
  "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
2143
2165
  onClick: function onClick() {
2144
2166
  return setFullScreen(!fullScreen);
2145
2167
  },
2146
2168
  size: "small"
2147
- }, fullScreen ? React.createElement(FilterListOffIcon$1, null) : React.createElement(FilterListIcon, null)));
2169
+ }, rest), fullScreen ? React.createElement(FilterListOffIcon$1, null) : React.createElement(FilterListIcon, null)));
2148
2170
  };
2149
2171
 
2150
2172
  var ToolbarButtonsContainer = /*#__PURE__*/styled('div')({
@@ -2158,9 +2180,21 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons() {
2158
2180
  disableColumnHiding = _useMRT.disableColumnHiding,
2159
2181
  disableDensePaddingToggle = _useMRT.disableDensePaddingToggle,
2160
2182
  disableGlobalFilter = _useMRT.disableGlobalFilter,
2161
- disableFullScreenToggle = _useMRT.disableFullScreenToggle;
2183
+ disableFullScreenToggle = _useMRT.disableFullScreenToggle,
2184
+ renderToolbarInternalActions = _useMRT.renderToolbarInternalActions,
2185
+ tableInstance = _useMRT.tableInstance;
2186
+
2187
+ if (renderToolbarInternalActions) {
2188
+ return React.createElement(React.Fragment, null, renderToolbarInternalActions(tableInstance, {
2189
+ MRT_ToggleSearchButton: MRT_ToggleSearchButton,
2190
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
2191
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
2192
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
2193
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton
2194
+ }));
2195
+ }
2162
2196
 
2163
- return React.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React.createElement(MRT_ToggleSearchButton, null), !disableFilters && React.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React.createElement(MRT_DensePaddingSwitch, null), !disableFullScreenToggle && React.createElement(MRT_FullScreenToggleButton, null));
2197
+ return React.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React.createElement(MRT_ToggleSearchButton, null), !disableFilters && React.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React.createElement(MRT_ToggleDensePaddingButton, null), !disableFullScreenToggle && React.createElement(MRT_FullScreenToggleButton, null));
2164
2198
  };
2165
2199
 
2166
2200
  var MRT_TablePagination = function MRT_TablePagination() {
@@ -2184,6 +2218,11 @@ var MRT_TablePagination = function MRT_TablePagination() {
2184
2218
  onRowsPerPageChange: handleChangeRowsPerPage,
2185
2219
  page: tableInstance.state.pageIndex,
2186
2220
  rowsPerPage: tableInstance.state.pageSize,
2221
+ SelectProps: {
2222
+ style: {
2223
+ margin: '0 1rem 0 1ch'
2224
+ }
2225
+ },
2187
2226
  showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2188
2227
  showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2189
2228
  style: {
@@ -2254,12 +2293,26 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2254
2293
  }, alertProps), selectMessage, groupedByMessage));
2255
2294
  };
2256
2295
 
2257
- var Toolbar = /*#__PURE__*/styled(Toolbar$2)({
2258
- display: 'grid',
2259
- padding: '0 0.5rem !important'
2296
+ var Toolbar = /*#__PURE__*/styled(Toolbar$2, {
2297
+ shouldForwardProp: function shouldForwardProp(prop) {
2298
+ return prop !== 'fullScreen';
2299
+ }
2300
+ })(function (_ref) {
2301
+ var fullScreen = _ref.fullScreen,
2302
+ theme = _ref.theme;
2303
+ return {
2304
+ backgroundColor: theme.palette.background["default"],
2305
+ backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2306
+ display: 'grid',
2307
+ padding: '0 0.5rem !important',
2308
+ position: fullScreen ? 'sticky' : undefined,
2309
+ top: fullScreen ? '0' : undefined,
2310
+ width: 'calc(100% - 1rem)',
2311
+ zIndex: 1
2312
+ };
2260
2313
  });
2261
2314
  var ToolbarTopRow = /*#__PURE__*/styled('div')({
2262
- padding: '1rem 0.5rem',
2315
+ padding: '0.5rem',
2263
2316
  display: 'flex',
2264
2317
  justifyContent: 'space-between'
2265
2318
  });
@@ -2274,41 +2327,59 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
2274
2327
 
2275
2328
  var _useMRT = useMRT(),
2276
2329
  disableGlobalFilter = _useMRT.disableGlobalFilter,
2277
- hideToolbarActions = _useMRT.hideToolbarActions,
2330
+ hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
2278
2331
  manualPagination = _useMRT.manualPagination,
2279
2332
  muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
2280
2333
  positionPagination = _useMRT.positionPagination,
2281
2334
  positionToolbarActions = _useMRT.positionToolbarActions,
2335
+ fullScreen = _useMRT.fullScreen,
2282
2336
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2283
2337
  renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
2284
2338
  tableInstance = _useMRT.tableInstance;
2285
2339
 
2286
2340
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
2287
2341
  return React.createElement(Toolbar, Object.assign({
2342
+ fullScreen: fullScreen,
2288
2343
  variant: "dense"
2289
- }, toolbarProps), positionToolbarAlertBanner === 'top' && React.createElement(MRT_ToolbarAlertBanner, null), React.createElement(ToolbarTopRow, null, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React.createElement(MRT_SearchTextField, null), !hideToolbarActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, null))), React.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null)));
2344
+ }, toolbarProps), positionToolbarAlertBanner === 'top' && React.createElement(MRT_ToolbarAlertBanner, null), React.createElement(ToolbarTopRow, null, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React.createElement(MRT_SearchTextField, null), !hideToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, null))), React.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null)));
2290
2345
  };
2291
2346
 
2292
- var Toolbar$1 = /*#__PURE__*/styled(Toolbar$2)({
2293
- display: 'flex',
2294
- justifyContent: 'space-between',
2295
- padding: '0 0.5rem !important',
2296
- overflowY: 'hidden'
2347
+ var Toolbar$1 = /*#__PURE__*/styled(Toolbar$2, {
2348
+ shouldForwardProp: function shouldForwardProp(prop) {
2349
+ return prop !== 'fullScreen';
2350
+ }
2351
+ })(function (_ref) {
2352
+ var fullScreen = _ref.fullScreen,
2353
+ theme = _ref.theme;
2354
+ return {
2355
+ backgroundColor: theme.palette.background["default"],
2356
+ backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2357
+ bottom: fullScreen ? '0' : undefined,
2358
+ display: 'flex',
2359
+ justifyContent: 'space-between',
2360
+ overflowY: 'hidden',
2361
+ padding: '0 0.5rem !important',
2362
+ position: fullScreen ? 'fixed' : undefined,
2363
+ width: 'calc(100% - 1rem)',
2364
+ zIndex: 1
2365
+ };
2297
2366
  });
2298
2367
  var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2299
2368
  var _useMRT = useMRT(),
2300
- hideToolbarActions = _useMRT.hideToolbarActions,
2369
+ hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
2301
2370
  manualPagination = _useMRT.manualPagination,
2302
2371
  muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
2303
2372
  positionPagination = _useMRT.positionPagination,
2373
+ fullScreen = _useMRT.fullScreen,
2304
2374
  positionToolbarActions = _useMRT.positionToolbarActions,
2305
2375
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2306
2376
  tableInstance = _useMRT.tableInstance;
2307
2377
 
2308
2378
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
2309
2379
  return React.createElement(Toolbar$1, Object.assign({
2380
+ fullScreen: fullScreen,
2310
2381
  variant: "dense"
2311
- }, toolbarProps), !hideToolbarActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, null) : React.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null));
2382
+ }, toolbarProps), !hideToolbarInternalActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, null) : React.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null));
2312
2383
  };
2313
2384
 
2314
2385
  var TableContainer = /*#__PURE__*/styled(TableContainer$1, {
@@ -2322,7 +2393,7 @@ var TableContainer = /*#__PURE__*/styled(TableContainer$1, {
2322
2393
  height: fullScreen ? '100%' : undefined,
2323
2394
  left: fullScreen ? '0' : undefined,
2324
2395
  margin: fullScreen ? '0' : undefined,
2325
- position: fullScreen ? 'absolute' : undefined,
2396
+ position: fullScreen ? 'fixed' : undefined,
2326
2397
  right: fullScreen ? '0' : undefined,
2327
2398
  top: fullScreen ? '0' : undefined,
2328
2399
  transition: 'all 0.2s ease-in-out',
@@ -2366,7 +2437,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
2366
2437
  var defaultLocalization = {
2367
2438
  actionsHeadColumnTitle: 'Actions',
2368
2439
  columnActionMenuButtonTitle: 'Column Actions',
2369
- columnActionMenuItemClearSort: 'Clear sorting',
2440
+ columnActionMenuItemClearSort: 'Clear sort',
2370
2441
  columnActionMenuItemGroupBy: 'Group by {column}',
2371
2442
  columnActionMenuItemHideColumn: 'Hide {column} column',
2372
2443
  columnActionMenuItemSortAsc: 'Sort by {column} ascending',
@@ -2385,8 +2456,8 @@ var defaultLocalization = {
2385
2456
  rowActionsColumnTitle: 'Actions',
2386
2457
  searchTextFieldClearButtonTitle: 'Clear search',
2387
2458
  searchTextFieldPlaceholder: 'Search',
2388
- selectAllCheckboxTitle: 'Select all',
2389
- selectCheckboxTitle: 'Select row',
2459
+ selectAllCheckboxTitle: 'Toggle select all',
2460
+ selectCheckboxTitle: 'Toggle select row',
2390
2461
  showHideColumnsButtonTitle: 'Show/Hide columns',
2391
2462
  toggleDensePaddingSwitchTitle: 'Toggle dense padding',
2392
2463
  toggleFilterButtonTitle: 'Toggle filters',