material-react-table 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ }
4
+ export declare const MRT_ToggleDensePaddingButton: FC<Props>;
5
+ export {};
@@ -24,6 +24,8 @@ var CancelIcon = _interopDefault(require('@mui/icons-material/Cancel'));
24
24
  var SearchIcon = _interopDefault(require('@mui/icons-material/Search'));
25
25
  var FilterListOffIcon = _interopDefault(require('@mui/icons-material/FilterListOff'));
26
26
  var ViewColumnIcon = _interopDefault(require('@mui/icons-material/ViewColumn'));
27
+ var DensityMediumIcon = _interopDefault(require('@mui/icons-material/DensityMedium'));
28
+ var DensitySmallIcon = _interopDefault(require('@mui/icons-material/DensitySmall'));
27
29
  var SearchOffIcon = _interopDefault(require('@mui/icons-material/SearchOff'));
28
30
  var FilterListIcon = _interopDefault(require('@mui/icons-material/Fullscreen'));
29
31
  var FilterListOffIcon$1 = _interopDefault(require('@mui/icons-material/FullscreenExit'));
@@ -2083,8 +2085,8 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2083
2085
  })));
2084
2086
  };
2085
2087
 
2086
- var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
2087
- var _localization$toggleD, _localization$toggleD2;
2088
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton() {
2089
+ var _localization$toggleD;
2088
2090
 
2089
2091
  var _useMRT = useMRT(),
2090
2092
  densePadding = _useMRT.densePadding,
@@ -2094,17 +2096,13 @@ var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
2094
2096
  return React__default.createElement(material.Tooltip, {
2095
2097
  arrow: true,
2096
2098
  title: (_localization$toggleD = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD : ''
2097
- }, React__default.createElement(material.Switch, {
2098
- inputProps: {
2099
- 'aria-label': (_localization$toggleD2 = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD2 : ''
2100
- },
2101
- color: "default",
2102
- checked: densePadding,
2103
- size: "small",
2104
- onChange: function onChange() {
2099
+ }, React__default.createElement(material.IconButton, {
2100
+ "aria-label": localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle,
2101
+ onClick: function onClick() {
2105
2102
  return setDensePadding(!densePadding);
2106
- }
2107
- }));
2103
+ },
2104
+ size: "small"
2105
+ }, densePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2108
2106
  };
2109
2107
 
2110
2108
  var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
@@ -2167,7 +2165,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons() {
2167
2165
  disableGlobalFilter = _useMRT.disableGlobalFilter,
2168
2166
  disableFullScreenToggle = _useMRT.disableFullScreenToggle;
2169
2167
 
2170
- return React__default.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_ToggleSearchButton, null), !disableFilters && React__default.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React__default.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React__default.createElement(MRT_DensePaddingSwitch, null), !disableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, null));
2168
+ return React__default.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_ToggleSearchButton, null), !disableFilters && React__default.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React__default.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React__default.createElement(MRT_ToggleDensePaddingButton, null), !disableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, null));
2171
2169
  };
2172
2170
 
2173
2171
  var MRT_TablePagination = function MRT_TablePagination() {
@@ -2261,12 +2259,26 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2261
2259
  }, alertProps), selectMessage, groupedByMessage));
2262
2260
  };
2263
2261
 
2264
- var Toolbar = /*#__PURE__*/material.styled(material.Toolbar)({
2265
- display: 'grid',
2266
- padding: '0 0.5rem !important'
2262
+ var Toolbar = /*#__PURE__*/material.styled(material.Toolbar, {
2263
+ shouldForwardProp: function shouldForwardProp(prop) {
2264
+ return prop !== 'fullScreen';
2265
+ }
2266
+ })(function (_ref) {
2267
+ var fullScreen = _ref.fullScreen,
2268
+ theme = _ref.theme;
2269
+ return {
2270
+ backgroundColor: theme.palette.background["default"],
2271
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2272
+ display: 'grid',
2273
+ padding: '0 0.5rem !important',
2274
+ position: fullScreen ? 'sticky' : undefined,
2275
+ top: fullScreen ? '0' : undefined,
2276
+ width: 'calc(100% - 1rem)',
2277
+ zIndex: 1
2278
+ };
2267
2279
  });
2268
2280
  var ToolbarTopRow = /*#__PURE__*/material.styled('div')({
2269
- padding: '1rem 0.5rem',
2281
+ padding: '0.5rem',
2270
2282
  display: 'flex',
2271
2283
  justifyContent: 'space-between'
2272
2284
  });
@@ -2286,21 +2298,37 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
2286
2298
  muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
2287
2299
  positionPagination = _useMRT.positionPagination,
2288
2300
  positionToolbarActions = _useMRT.positionToolbarActions,
2301
+ fullScreen = _useMRT.fullScreen,
2289
2302
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2290
2303
  renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
2291
2304
  tableInstance = _useMRT.tableInstance;
2292
2305
 
2293
2306
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
2294
2307
  return React__default.createElement(Toolbar, Object.assign({
2308
+ fullScreen: fullScreen,
2295
2309
  variant: "dense"
2296
2310
  }, toolbarProps), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, null), React__default.createElement(ToolbarTopRow, null, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_SearchTextField, null), !hideToolbarActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, null))), React__default.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)));
2297
2311
  };
2298
2312
 
2299
- var Toolbar$1 = /*#__PURE__*/material.styled(material.Toolbar)({
2300
- display: 'flex',
2301
- justifyContent: 'space-between',
2302
- padding: '0 0.5rem !important',
2303
- overflowY: 'hidden'
2313
+ var Toolbar$1 = /*#__PURE__*/material.styled(material.Toolbar, {
2314
+ shouldForwardProp: function shouldForwardProp(prop) {
2315
+ return prop !== 'fullScreen';
2316
+ }
2317
+ })(function (_ref) {
2318
+ var fullScreen = _ref.fullScreen,
2319
+ theme = _ref.theme;
2320
+ return {
2321
+ backgroundColor: theme.palette.background["default"],
2322
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2323
+ bottom: fullScreen ? '0' : undefined,
2324
+ display: 'flex',
2325
+ justifyContent: 'space-between',
2326
+ overflowY: 'hidden',
2327
+ padding: '0 0.5rem !important',
2328
+ position: fullScreen ? 'fixed' : undefined,
2329
+ width: 'calc(100% - 1rem)',
2330
+ zIndex: 1
2331
+ };
2304
2332
  });
2305
2333
  var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2306
2334
  var _useMRT = useMRT(),
@@ -2308,12 +2336,14 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2308
2336
  manualPagination = _useMRT.manualPagination,
2309
2337
  muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
2310
2338
  positionPagination = _useMRT.positionPagination,
2339
+ fullScreen = _useMRT.fullScreen,
2311
2340
  positionToolbarActions = _useMRT.positionToolbarActions,
2312
2341
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2313
2342
  tableInstance = _useMRT.tableInstance;
2314
2343
 
2315
2344
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
2316
2345
  return React__default.createElement(Toolbar$1, Object.assign({
2346
+ fullScreen: fullScreen,
2317
2347
  variant: "dense"
2318
2348
  }, toolbarProps), !hideToolbarActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, null) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null));
2319
2349
  };
@@ -2360,6 +2390,13 @@ var MRT_TableContainer = function MRT_TableContainer() {
2360
2390
  muiTableContainerProps = _useMRT.muiTableContainerProps,
2361
2391
  tableInstance = _useMRT.tableInstance;
2362
2392
 
2393
+ React.useEffect(function () {
2394
+ if (fullScreen) {
2395
+ document.body.style.overflow = 'hidden';
2396
+ } else {
2397
+ document.body.style.overflow = 'auto';
2398
+ }
2399
+ }, [fullScreen]);
2363
2400
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
2364
2401
  return React__default.createElement(TableContainer, Object.assign({
2365
2402
  component: material.Paper,