material-react-table 0.9.5 → 0.9.6

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.
@@ -1,6 +1,7 @@
1
1
  import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
2
2
  import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
3
  import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, Overwrite, ReactTableGenerics, Row, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
4
+ import { Options as VirtualizerOptions } from 'react-virtual';
4
5
  import { MRT_Localization } from './localization';
5
6
  import { MRT_Icons } from './icons';
6
7
  import { MRT_FILTER_OPTION } from './enums';
@@ -405,6 +406,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
405
406
  rowNumberMode?: 'original' | 'static';
406
407
  selectAllMode?: 'all' | 'page';
407
408
  tableId?: string;
409
+ virtualizerProps?: VirtualizerOptions<HTMLDivElement>;
408
410
  };
409
411
  declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensePaddingToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGrouping, enableHiding, enableMultiRowSelection, enablePagination, enablePinning, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionPagination, positionGlobalFilter, positionToolbarActions, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
410
412
  export default _default;
@@ -6108,7 +6108,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
6108
6108
  };
6109
6109
 
6110
6110
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6111
- var _ref2, _ref3, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
6111
+ var _ref2, _ref3, _columnDef$header$len, _columnDef$header;
6112
6112
 
6113
6113
  var dragRef = _ref.dragRef,
6114
6114
  dropRef = _ref.dropRef,
@@ -6165,6 +6165,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6165
6165
  }, tableCellProps, {
6166
6166
  ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
6167
6167
  sx: function sx(theme) {
6168
+ var _columnDef$minSize;
6169
+
6168
6170
  return _extends({
6169
6171
  backgroundColor: column.getIsPinned() && columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
6170
6172
  backgroundImage: 'inherit',
@@ -6181,12 +6183,11 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
6181
6183
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
6182
6184
  verticalAlign: 'text-top',
6183
6185
  zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
6184
- }, tableCellProps == null ? void 0 : tableCellProps.sx);
6185
- },
6186
- style: {
6187
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
6188
- minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
6189
- width: header.getSize()
6186
+ }, tableCellProps == null ? void 0 : tableCellProps.sx, {
6187
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
6188
+ minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
6189
+ width: header.getSize()
6190
+ });
6190
6191
  }
6191
6192
  }), header.isPlaceholder ? null : columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
6192
6193
  ref: previewRef,
@@ -6971,7 +6972,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
6971
6972
  };
6972
6973
 
6973
6974
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6974
- var _columnDef$minSize, _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
6975
+ var _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
6975
6976
 
6976
6977
  var cell = _ref.cell,
6977
6978
  enableHover = _ref.enableHover,
@@ -7068,6 +7069,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7068
7069
  }, tableCellProps, {
7069
7070
  ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
7070
7071
  sx: function sx(theme) {
7072
+ var _columnDef$minSize;
7073
+
7071
7074
  return _extends({
7072
7075
  backgroundColor: column.getIsPinned() ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
7073
7076
  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,
@@ -7085,12 +7088,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7085
7088
  '&:hover': {
7086
7089
  backgroundColor: enableHover && enableEditing && editingMode !== 'row' ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
7087
7090
  }
7088
- }, tableCellProps == null ? void 0 : tableCellProps.sx);
7089
- },
7090
- style: {
7091
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
7092
- minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
7093
- width: column.getSize()
7091
+ }, tableCellProps == null ? void 0 : tableCellProps.sx, {
7092
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
7093
+ minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
7094
+ width: column.getSize()
7095
+ });
7094
7096
  }
7095
7097
  }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
7096
7098
  animation: "wave",
@@ -7117,7 +7119,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
7117
7119
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
7118
7120
  var row = _ref.row,
7119
7121
  tableInstance = _ref.tableInstance;
7120
- var getVisibleFlatColumns = tableInstance.getVisibleFlatColumns,
7122
+ var getVisibleLeafColumns = tableInstance.getVisibleLeafColumns,
7121
7123
  _tableInstance$option = tableInstance.options,
7122
7124
  muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
7123
7125
  muiTableDetailPanelProps = _tableInstance$option.muiTableDetailPanelProps,
@@ -7132,7 +7134,7 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
7132
7134
  tableInstance: tableInstance
7133
7135
  }) : muiTableDetailPanelProps;
7134
7136
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), React__default.createElement(material.TableCell, Object.assign({
7135
- colSpan: getVisibleFlatColumns().length + 10,
7137
+ colSpan: getVisibleLeafColumns().length,
7136
7138
  onClick: function onClick(event) {
7137
7139
  return onMrtDetailPanelClick == null ? void 0 : onMrtDetailPanelClick({
7138
7140
  event: event,
@@ -7145,7 +7147,8 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
7145
7147
  borderBottom: !row.getIsExpanded() ? 'none' : undefined,
7146
7148
  pb: row.getIsExpanded() ? '1rem' : 0,
7147
7149
  pt: row.getIsExpanded() ? '1rem' : 0,
7148
- transition: 'all 0.2s ease-in-out'
7150
+ transition: 'all 0.2s ease-in-out',
7151
+ width: tableInstance.getTotalSize() + "px"
7149
7152
  }, tableCellProps == null ? void 0 : tableCellProps.sx)
7150
7153
  }), React__default.createElement(material.Collapse, {
7151
7154
  "in": row.getIsExpanded()
@@ -7211,7 +7214,8 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
7211
7214
  _tableInstance$option = tableInstance.options,
7212
7215
  enablePagination = _tableInstance$option.enablePagination,
7213
7216
  enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
7214
- muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
7217
+ muiTableBodyProps = _tableInstance$option.muiTableBodyProps,
7218
+ virtualizerProps = _tableInstance$option.virtualizerProps;
7215
7219
 
7216
7220
  var _getState = getState(),
7217
7221
  isDensePadding = _getState.isDensePadding;
@@ -7220,11 +7224,11 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
7220
7224
  tableInstance: tableInstance
7221
7225
  }) : muiTableBodyProps;
7222
7226
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
7223
- var rowVirtualizer = enableRowVirtualization ? useVirtual({
7227
+ var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
7224
7228
  overscan: isDensePadding ? 15 : 5,
7225
7229
  size: rows.length,
7226
7230
  parentRef: tableContainerRef
7227
- }) : {};
7231
+ }, virtualizerProps)) : {};
7228
7232
  var virtualRows = rowVirtualizer.virtualItems;
7229
7233
  var paddingTop = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? virtualRows[0].start : 0;
7230
7234
  var paddingBottom = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? rowVirtualizer.totalSize - virtualRows[virtualRows.length - 1].end : 0;
@@ -7354,7 +7358,7 @@ var MRT_Table = function MRT_Table(_ref) {
7354
7358
  stickyHeader: enableStickyHeader
7355
7359
  }, tableProps, {
7356
7360
  sx: _extends({
7357
- tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : undefined
7361
+ tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto'
7358
7362
  }, tableProps == null ? void 0 : tableProps.sx)
7359
7363
  }), enableTableHead && React__default.createElement(MRT_TableHead, {
7360
7364
  tableInstance: tableInstance
@@ -7726,7 +7730,7 @@ var MaterialReactTable = (function (_ref) {
7726
7730
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
7727
7731
  _ref$defaultColumn = _ref.defaultColumn,
7728
7732
  defaultColumn = _ref$defaultColumn === void 0 ? {
7729
- minSize: 30,
7733
+ minSize: 40,
7730
7734
  maxSize: 1000,
7731
7735
  size: 180
7732
7736
  } : _ref$defaultColumn,