material-react-table 2.12.0 → 2.13.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/dist/index.d.ts CHANGED
@@ -630,12 +630,12 @@ type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<ColumnDef
630
630
  column: MRT_Column<TData>;
631
631
  rangeFilterIndex?: number;
632
632
  table: MRT_TableInstance<TData>;
633
- }) => DatePickerProps<any>) | DatePickerProps<any>;
633
+ }) => DatePickerProps<never>) | DatePickerProps<never>;
634
634
  muiFilterDateTimePickerProps?: ((props: {
635
635
  column: MRT_Column<TData>;
636
636
  rangeFilterIndex?: number;
637
637
  table: MRT_TableInstance<TData>;
638
- }) => DateTimePickerProps<any>) | DateTimePickerProps<any>;
638
+ }) => DateTimePickerProps<never>) | DateTimePickerProps<never>;
639
639
  muiFilterSliderProps?: ((props: {
640
640
  column: MRT_Column<TData>;
641
641
  table: MRT_TableInstance<TData>;
@@ -649,7 +649,7 @@ type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<ColumnDef
649
649
  column: MRT_Column<TData>;
650
650
  rangeFilterIndex?: number;
651
651
  table: MRT_TableInstance<TData>;
652
- }) => TimePickerProps<any>) | TimePickerProps<any>;
652
+ }) => TimePickerProps<never>) | TimePickerProps<never>;
653
653
  muiTableBodyCellProps?: ((props: {
654
654
  cell: MRT_Cell<TData, TValue>;
655
655
  column: MRT_Column<TData>;
@@ -902,12 +902,12 @@ type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TDa
902
902
  column: MRT_Column<TData>;
903
903
  rangeFilterIndex?: number;
904
904
  table: MRT_TableInstance<TData>;
905
- }) => DatePickerProps<any>) | DatePickerProps<any>;
905
+ }) => DatePickerProps<never>) | DatePickerProps<never>;
906
906
  muiFilterDateTimePickerProps?: ((props: {
907
907
  column: MRT_Column<TData>;
908
908
  rangeFilterIndex?: number;
909
909
  table: MRT_TableInstance<TData>;
910
- }) => DateTimePickerProps<any>) | DateTimePickerProps<any>;
910
+ }) => DateTimePickerProps<never>) | DateTimePickerProps<never>;
911
911
  muiFilterSliderProps?: ((props: {
912
912
  column: MRT_Column<TData>;
913
913
  table: MRT_TableInstance<TData>;
@@ -921,7 +921,7 @@ type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TDa
921
921
  column: MRT_Column<TData>;
922
922
  rangeFilterIndex?: number;
923
923
  table: MRT_TableInstance<TData>;
924
- }) => TimePickerProps<any>) | TimePickerProps<any>;
924
+ }) => TimePickerProps<never>) | TimePickerProps<never>;
925
925
  muiLinearProgressProps?: ((props: {
926
926
  isTopToolbar: boolean;
927
927
  table: MRT_TableInstance<TData>;
@@ -1146,7 +1146,6 @@ type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TDa
1146
1146
  renderTopToolbarCustomActions?: (props: {
1147
1147
  table: MRT_TableInstance<TData>;
1148
1148
  }) => ReactNode;
1149
- rowCount?: number;
1150
1149
  rowNumberDisplayMode?: 'original' | 'static';
1151
1150
  rowPinningDisplayMode?: 'bottom' | 'select-bottom' | 'select-sticky' | 'select-top' | 'sticky' | 'top' | 'top-and-bottom';
1152
1151
  rowVirtualizerInstanceRef?: MutableRefObject<MRT_RowVirtualizer | MRT_Virtualizer | null>;
@@ -1162,7 +1161,7 @@ type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TDa
1162
1161
 
1163
1162
  declare const flexRender: (Comp: Renderable<any>, props: any) => JSX.Element | ReactNode;
1164
1163
  declare function createMRTColumnHelper<TData extends MRT_RowData>(): MRT_ColumnHelper<TData>;
1165
- declare const createRow: <TData extends MRT_RowData>(table: MRT_TableInstance<TData>, originalRow?: TData | undefined, rowIndex?: number, depth?: number, subRows?: MRT_Row<TData>[] | undefined, parentId?: string) => MRT_Row<TData>;
1164
+ declare const createRow: <TData extends MRT_RowData>(table: MRT_TableInstance<TData>, originalRow?: TData, rowIndex?: number, depth?: number, subRows?: MRT_Row<TData>[], parentId?: string) => MRT_Row<TData>;
1166
1165
 
1167
1166
  declare const isCellEditable: <TData extends MRT_RowData>({ cell, table, }: {
1168
1167
  cell: MRT_Cell<TData>;
@@ -1224,7 +1223,7 @@ declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ header,
1224
1223
  readonly enableSorting?: boolean | undefined;
1225
1224
  readonly invertSorting?: boolean | undefined;
1226
1225
  readonly sortDescFirst?: boolean | undefined;
1227
- readonly sortUndefined?: false | 1 | -1 | undefined;
1226
+ readonly sortUndefined?: false | 1 | -1 | "first" | "last" | undefined;
1228
1227
  readonly enableGrouping?: boolean | undefined;
1229
1228
  readonly enableResizing?: boolean | undefined;
1230
1229
  readonly maxSize?: number | undefined;
@@ -1327,16 +1326,16 @@ declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ header,
1327
1326
  column: MRT_Column<TData, unknown>;
1328
1327
  table: MRT_TableInstance<TData>;
1329
1328
  }) => _mui_material.CheckboxProps) | undefined;
1330
- readonly muiFilterDatePickerProps?: _mui_x_date_pickers.DatePickerProps<any> | ((props: {
1329
+ readonly muiFilterDatePickerProps?: _mui_x_date_pickers.DatePickerProps<never, false> | ((props: {
1331
1330
  column: MRT_Column<TData, unknown>;
1332
1331
  rangeFilterIndex?: number | undefined;
1333
1332
  table: MRT_TableInstance<TData>;
1334
- }) => _mui_x_date_pickers.DatePickerProps<any>) | undefined;
1335
- readonly muiFilterDateTimePickerProps?: _mui_x_date_pickers.DateTimePickerProps<any> | ((props: {
1333
+ }) => _mui_x_date_pickers.DatePickerProps<never, false>) | undefined;
1334
+ readonly muiFilterDateTimePickerProps?: _mui_x_date_pickers.DateTimePickerProps<never, false> | ((props: {
1336
1335
  column: MRT_Column<TData, unknown>;
1337
1336
  rangeFilterIndex?: number | undefined;
1338
1337
  table: MRT_TableInstance<TData>;
1339
- }) => _mui_x_date_pickers.DateTimePickerProps<any>) | undefined;
1338
+ }) => _mui_x_date_pickers.DateTimePickerProps<never, false>) | undefined;
1340
1339
  readonly muiFilterSliderProps?: _mui_material.SliderProps | ((props: {
1341
1340
  column: MRT_Column<TData, unknown>;
1342
1341
  table: MRT_TableInstance<TData>;
@@ -1346,11 +1345,11 @@ declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ header,
1346
1345
  rangeFilterIndex?: number | undefined;
1347
1346
  table: MRT_TableInstance<TData>;
1348
1347
  }) => _mui_material.TextFieldProps) | undefined;
1349
- readonly muiFilterTimePickerProps?: _mui_x_date_pickers.TimePickerProps<any> | ((props: {
1348
+ readonly muiFilterTimePickerProps?: _mui_x_date_pickers.TimePickerProps<never, false> | ((props: {
1350
1349
  column: MRT_Column<TData, unknown>;
1351
1350
  rangeFilterIndex?: number | undefined;
1352
1351
  table: MRT_TableInstance<TData>;
1353
- }) => _mui_x_date_pickers.TimePickerProps<any>) | undefined;
1352
+ }) => _mui_x_date_pickers.TimePickerProps<never, false>) | undefined;
1354
1353
  readonly muiTableBodyCellProps?: _mui_material.TableCellProps | ((props: {
1355
1354
  cell: MRT_Cell<TData, unknown>;
1356
1355
  column: MRT_Column<TData, unknown>;
@@ -1409,7 +1408,7 @@ declare const getIsRowSelected: <TData extends MRT_RowData>({ row, table, }: {
1409
1408
  }) => boolean | undefined;
1410
1409
  declare const getMRT_RowSelectionHandler: <TData extends MRT_RowData>({ row, staticRowIndex, table, }: {
1411
1410
  row: MRT_Row<TData>;
1412
- staticRowIndex?: number | undefined;
1411
+ staticRowIndex?: number;
1413
1412
  table: MRT_TableInstance<TData>;
1414
1413
  }) => (event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLTableRowElement>, value?: boolean) => void;
1415
1414
  declare const getMRT_SelectAllHandler: <TData extends MRT_RowData>({ table }: {
@@ -1422,7 +1421,7 @@ declare const useMRT_ColumnVirtualizer: <TData extends MRT_RowData, TScrollEleme
1422
1421
 
1423
1422
  declare const useMRT_Effects: <TData extends MRT_RowData>(table: MRT_TableInstance<TData>) => void;
1424
1423
 
1425
- declare const useMRT_RowVirtualizer: <TData extends MRT_RowData, TScrollElement extends Element | Window = HTMLDivElement, TItemElement extends Element = HTMLTableRowElement>(table: MRT_TableInstance<TData>, rows?: MRT_Row<TData>[] | undefined) => MRT_RowVirtualizer<TScrollElement, TItemElement> | undefined;
1424
+ declare const useMRT_RowVirtualizer: <TData extends MRT_RowData, TScrollElement extends Element | Window = HTMLDivElement, TItemElement extends Element = HTMLTableRowElement>(table: MRT_TableInstance<TData>, rows?: MRT_Row<TData>[]) => MRT_RowVirtualizer<TScrollElement, TItemElement> | undefined;
1426
1425
 
1427
1426
  declare const useMRT_Rows: <TData extends MRT_RowData>(table: MRT_TableInstance<TData>) => MRT_Row<TData>[];
1428
1427
 
package/dist/index.esm.js CHANGED
@@ -50,6 +50,7 @@ import ViewColumnIcon from '@mui/icons-material/ViewColumn';
50
50
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
51
51
  import { defaultRangeExtractor, useVirtualizer } from '@tanstack/react-virtual';
52
52
  import Paper from '@mui/material/Paper';
53
+ import { useTheme as useTheme$1 } from '@mui/material';
53
54
  import TableContainer from '@mui/material/TableContainer';
54
55
  import Table from '@mui/material/Table';
55
56
  import TableBody from '@mui/material/TableBody';
@@ -657,7 +658,7 @@ const MRT_EditActionButtons = (_a) => {
657
658
  }
658
659
  };
659
660
  return (jsx(Box, { onClick: (e) => e.stopPropagation(), sx: (theme) => (Object.assign({ display: 'flex', gap: '0.75rem' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: variant === 'icon' ? (jsxs(Fragment, { children: [jsx(Tooltip, { title: localization.cancel, children: jsx(IconButton, { "aria-label": localization.cancel, onClick: handleCancel, children: jsx(CancelIcon, {}) }) }), ((isCreating && onCreatingRowSave) ||
660
- (isEditing && onEditingRowSave)) && (jsx(Tooltip, { title: localization.save, children: jsx(IconButton, { "aria-label": localization.save, color: "info", onClick: handleSubmitRow, children: isSaving ? jsx(CircularProgress, { size: 18 }) : jsx(SaveIcon, {}) }) }))] })) : (jsxs(Fragment, { children: [jsx(Button, { onClick: handleCancel, sx: { minWidth: '100px' }, children: localization.cancel }), jsxs(Button, { onClick: handleSubmitRow, sx: { minWidth: '100px' }, variant: "contained", children: [isSaving && jsx(CircularProgress, { color: "inherit", size: 18 }), localization.save] })] })) }));
661
+ (isEditing && onEditingRowSave)) && (jsx(Tooltip, { title: localization.save, children: jsx(IconButton, { "aria-label": localization.save, color: "info", disabled: isSaving, onClick: handleSubmitRow, children: isSaving ? jsx(CircularProgress, { size: 18 }) : jsx(SaveIcon, {}) }) }))] })) : (jsxs(Fragment, { children: [jsx(Button, { onClick: handleCancel, sx: { minWidth: '100px' }, children: localization.cancel }), jsxs(Button, { disabled: isSaving, onClick: handleSubmitRow, sx: { minWidth: '100px' }, variant: "contained", children: [isSaving && jsx(CircularProgress, { color: "inherit", size: 18 }), localization.save] })] })) }));
661
662
  };
662
663
 
663
664
  const parseCSSVarId = (id) => id.replace(/[^a-zA-Z0-9]/g, '_');
@@ -1326,11 +1327,12 @@ const useMRT_TableOptions = (_a) => {
1326
1327
  ? getFacetedMinMaxValues()
1327
1328
  : undefined, getFacetedRowModel: enableFacetedValues ? getFacetedRowModel() : undefined, getFacetedUniqueValues: enableFacetedValues
1328
1329
  ? getFacetedUniqueValues()
1329
- : undefined, getFilteredRowModel: enableColumnFilters || enableGlobalFilter || enableFilters
1330
+ : undefined, getFilteredRowModel: (enableColumnFilters || enableGlobalFilter || enableFilters) &&
1331
+ !manualFiltering
1330
1332
  ? getFilteredRowModel()
1331
- : undefined, getGroupedRowModel: enableGrouping ? getGroupedRowModel() : undefined, getPaginationRowModel: enablePagination
1333
+ : undefined, getGroupedRowModel: enableGrouping && !manualGrouping ? getGroupedRowModel() : undefined, getPaginationRowModel: enablePagination && !manualPagination
1332
1334
  ? getPaginationRowModel()
1333
- : undefined, getSortedRowModel: enableSorting ? getSortedRowModel() : undefined, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows, icons,
1335
+ : undefined, getSortedRowModel: enableSorting && !manualSorting ? getSortedRowModel() : undefined, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows, icons,
1334
1336
  layoutMode,
1335
1337
  localization,
1336
1338
  manualFiltering,
@@ -1645,22 +1647,23 @@ const extraIndexRangeExtractor = (range, draggingIndex) => {
1645
1647
 
1646
1648
  const useMRT_ColumnVirtualizer = (table) => {
1647
1649
  var _a, _b, _c, _d;
1648
- const { getLeftLeafColumns, getRightLeafColumns, getState, getVisibleLeafColumns, options: { columnVirtualizerInstanceRef, columnVirtualizerOptions, enableColumnPinning, enableColumnVirtualization, }, refs: { tableContainerRef }, } = table;
1649
- const { columnPinning, draggingColumn } = getState();
1650
+ const { getState, options: { columnVirtualizerInstanceRef, columnVirtualizerOptions, enableColumnPinning, enableColumnVirtualization, }, refs: { tableContainerRef }, } = table;
1651
+ const { columnPinning, columnVisibility, draggingColumn } = getState();
1650
1652
  if (!enableColumnVirtualization)
1651
1653
  return undefined;
1652
1654
  const columnVirtualizerProps = parseFromValuesOrFunc(columnVirtualizerOptions, {
1653
1655
  table,
1654
1656
  });
1655
- const visibleColumns = getVisibleLeafColumns();
1657
+ const visibleColumns = table.getVisibleLeafColumns();
1656
1658
  const [leftPinnedIndexes, rightPinnedIndexes] = useMemo(() => enableColumnPinning
1657
1659
  ? [
1658
- getLeftLeafColumns().map((c) => c.getPinnedIndex()),
1659
- getRightLeafColumns()
1660
+ table.getLeftVisibleLeafColumns().map((c) => c.getPinnedIndex()),
1661
+ table
1662
+ .getRightVisibleLeafColumns()
1660
1663
  .map((column) => visibleColumns.length - column.getPinnedIndex() - 1)
1661
1664
  .sort((a, b) => a - b),
1662
1665
  ]
1663
- : [[], []], [columnPinning, enableColumnPinning]);
1666
+ : [[], []], [columnPinning, columnVisibility, enableColumnPinning]);
1664
1667
  const numPinnedLeft = leftPinnedIndexes.length;
1665
1668
  const numPinnedRight = rightPinnedIndexes.length;
1666
1669
  const draggingColumnIndex = useMemo(() => (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id)
@@ -2803,26 +2806,12 @@ const MRT_FilterTextField = (_a) => {
2803
2806
  const { column } = header;
2804
2807
  const { columnDef } = column;
2805
2808
  const { filterVariant } = columnDef;
2806
- const textFieldProps = Object.assign(Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTextFieldProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterTextFieldProps, {
2807
- column,
2808
- table,
2809
- })), rest);
2810
- const autocompleteProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterAutocompleteProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterAutocompleteProps, {
2811
- column,
2812
- table,
2813
- }));
2814
- const datePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDatePickerProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterDatePickerProps, {
2815
- column,
2816
- table,
2817
- }));
2818
- const dateTimePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDateTimePickerProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterDateTimePickerProps, {
2819
- column,
2820
- table,
2821
- }));
2822
- const timePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTimePickerProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterTimePickerProps, {
2823
- column,
2824
- table,
2825
- }));
2809
+ const args = { column, rangeFilterIndex, table };
2810
+ const textFieldProps = Object.assign(Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTextFieldProps, args)), parseFromValuesOrFunc(columnDef.muiFilterTextFieldProps, args)), rest);
2811
+ const autocompleteProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterAutocompleteProps, args)), parseFromValuesOrFunc(columnDef.muiFilterAutocompleteProps, args));
2812
+ const datePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDatePickerProps, args)), parseFromValuesOrFunc(columnDef.muiFilterDatePickerProps, args));
2813
+ const dateTimePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDateTimePickerProps, args)), parseFromValuesOrFunc(columnDef.muiFilterDateTimePickerProps, args));
2814
+ const timePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTimePickerProps, args)), parseFromValuesOrFunc(columnDef.muiFilterTimePickerProps, args));
2826
2815
  const { allowedColumnFilterOptions, currentFilterOption, facetedUniqueValues, isAutocompleteFilter, isDateFilter, isMultiSelectFilter, isRangeFilter, isSelectFilter, isTextboxFilter, } = getColumnFilterInfo({ header, table });
2827
2816
  const dropdownOptions = useDropdownOptions({ header, table });
2828
2817
  const filterChipLabel = ['empty', 'notEmpty'].includes(currentFilterOption)
@@ -3705,13 +3694,13 @@ const MRT_TablePagination = (_a) => {
3705
3694
  var { position = 'bottom', table } = _a, rest = __rest(_a, ["position", "table"]);
3706
3695
  const theme = useTheme();
3707
3696
  const isMobile = useMediaQuery('(max-width: 720px)');
3708
- const { getPrePaginationRowModel, getState, options: { enableToolbarInternalActions, icons: { ChevronLeftIcon, ChevronRightIcon, FirstPageIcon, LastPageIcon }, localization, muiPaginationProps, paginationDisplayMode, rowCount, }, setPageIndex, setPageSize, } = table;
3697
+ const { getState, options: { enableToolbarInternalActions, icons: { ChevronLeftIcon, ChevronRightIcon, FirstPageIcon, LastPageIcon }, localization, muiPaginationProps, paginationDisplayMode, }, } = table;
3709
3698
  const { pagination: { pageIndex = 0, pageSize = 10 }, showGlobalFilter, } = getState();
3710
3699
  const paginationProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiPaginationProps, {
3711
3700
  table,
3712
3701
  })), rest);
3713
- const totalRowCount = rowCount !== null && rowCount !== void 0 ? rowCount : getPrePaginationRowModel().rows.length;
3714
- const numberOfPages = Math.ceil(totalRowCount / pageSize);
3702
+ const totalRowCount = table.getRowCount();
3703
+ const numberOfPages = table.getPageCount();
3715
3704
  const showFirstLastPageButtons = numberOfPages > 2;
3716
3705
  const firstRowIndex = pageIndex * pageSize;
3717
3706
  const lastRowIndex = Math.min(pageIndex * pageSize + pageSize, totalRowCount);
@@ -3741,17 +3730,17 @@ const MRT_TablePagination = (_a) => {
3741
3730
  }, children: [showRowsPerPage && (jsxs(Box, { sx: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [jsx(InputLabel, { htmlFor: "mrt-rows-per-page", sx: { mb: 0 }, children: localization.rowsPerPage }), jsx(Select, Object.assign({ MenuProps: { disableScrollLock: true }, disableUnderline: true, disabled: disabled, inputProps: {
3742
3731
  'aria-label': localization.rowsPerPage,
3743
3732
  id: 'mrt-rows-per-page',
3744
- }, label: localization.rowsPerPage, onChange: (event) => setPageSize(+event.target.value), sx: { mb: 0 }, value: pageSize, variant: "standard" }, SelectProps, { children: rowsPerPageOptions.map((option) => {
3733
+ }, label: localization.rowsPerPage, onChange: (event) => table.setPageSize(+event.target.value), sx: { mb: 0 }, value: pageSize, variant: "standard" }, SelectProps, { children: rowsPerPageOptions.map((option) => {
3745
3734
  var _a;
3746
3735
  const value = typeof option !== 'number' ? option.value : option;
3747
3736
  const label = typeof option !== 'number' ? option.label : `${option}`;
3748
3737
  return ((_a = SelectProps === null || SelectProps === void 0 ? void 0 : SelectProps.children) !== null && _a !== void 0 ? _a : ((SelectProps === null || SelectProps === void 0 ? void 0 : SelectProps.native) ? (jsx("option", { value: value, children: label }, value)) : (jsx(MenuItem, { sx: { m: 0 }, value: value, children: label }, value))));
3749
- }) }))] })), paginationDisplayMode === 'pages' ? (jsx(Pagination, Object.assign({ count: numberOfPages, disabled: disabled, onChange: (_e, newPageIndex) => setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsx(PaginationItem, Object.assign({ slots: {
3738
+ }) }))] })), paginationDisplayMode === 'pages' ? (jsx(Pagination, Object.assign({ count: numberOfPages, disabled: disabled, onChange: (_e, newPageIndex) => table.setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsx(PaginationItem, Object.assign({ slots: {
3750
3739
  first: FirstPageIcon,
3751
3740
  last: LastPageIcon,
3752
3741
  next: ChevronRightIcon,
3753
3742
  previous: ChevronLeftIcon,
3754
- } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, restPaginationProps))) : paginationDisplayMode === 'default' ? (jsxs(Fragment, { children: [jsx(Typography, { align: "center", component: "span", sx: { m: '0 4px', minWidth: '8ch' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxs(Box, { gap: "xs", children: [showFirstButton && (jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToFirstPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToFirstPage, disabled: disableBack, onClick: () => setPageIndex(0), size: "small", children: jsx(FirstPageIcon, Object.assign({}, flipIconStyles(theme))) }) }) }))), jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToPreviousPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToPreviousPage, disabled: disableBack, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsx(ChevronLeftIcon, Object.assign({}, flipIconStyles(theme))) }) }) })), jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToNextPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToNextPage, disabled: disableNext, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsx(ChevronRightIcon, Object.assign({}, flipIconStyles(theme))) }) }) })), showLastButton && (jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToLastPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToLastPage, disabled: disableNext, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsx(LastPageIcon, Object.assign({}, flipIconStyles(theme))) }) }) })))] })] })) : null] }));
3743
+ } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, restPaginationProps))) : paginationDisplayMode === 'default' ? (jsxs(Fragment, { children: [jsx(Typography, { align: "center", component: "span", sx: { m: '0 4px', minWidth: '8ch' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxs(Box, { gap: "xs", children: [showFirstButton && (jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToFirstPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToFirstPage, disabled: disableBack, onClick: () => table.firstPage(), size: "small", children: jsx(FirstPageIcon, Object.assign({}, flipIconStyles(theme))) }) }) }))), jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToPreviousPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToPreviousPage, disabled: disableBack, onClick: () => table.previousPage(), size: "small", children: jsx(ChevronLeftIcon, Object.assign({}, flipIconStyles(theme))) }) }) })), jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToNextPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToNextPage, disabled: disableNext, onClick: () => table.nextPage(), size: "small", children: jsx(ChevronRightIcon, Object.assign({}, flipIconStyles(theme))) }) }) })), showLastButton && (jsx(Tooltip, Object.assign({}, tooltipProps, { title: localization.goToLastPage, children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.goToLastPage, disabled: disableNext, onClick: () => table.lastPage(), size: "small", children: jsx(LastPageIcon, Object.assign({}, flipIconStyles(theme))) }) }) })))] })] })) : null] }));
3755
3744
  };
3756
3745
 
3757
3746
  const MRT_ToolbarDropZone = (_a) => {
@@ -3829,9 +3818,7 @@ const MRT_ShowHideColumnsMenuItems = (_a) => {
3829
3818
  const { columnOrder } = getState();
3830
3819
  const { columnDef } = column;
3831
3820
  const { columnDefType } = columnDef;
3832
- const switchChecked = (columnDefType !== 'group' && column.getIsVisible()) ||
3833
- (columnDefType === 'group' &&
3834
- column.getLeafColumns().some((col) => col.getIsVisible()));
3821
+ const switchChecked = column.getIsVisible();
3835
3822
  const handleToggleColumnHidden = (column) => {
3836
3823
  var _a, _b;
3837
3824
  if (columnDefType === 'group') {
@@ -4110,6 +4097,7 @@ const MRT_TablePaper = (_a) => {
4110
4097
  const { getState, options: { enableBottomToolbar, enableTopToolbar, mrtTheme: { baseBackgroundColor }, muiTablePaperProps, renderBottomToolbar, renderTopToolbar, }, refs: { tablePaperRef }, } = table;
4111
4098
  const { isFullScreen } = getState();
4112
4099
  const paperProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTablePaperProps, { table })), rest);
4100
+ const theme = useTheme$1();
4113
4101
  return (jsxs(Paper, Object.assign({ elevation: 2 }, paperProps, { ref: (ref) => {
4114
4102
  tablePaperRef.current = ref;
4115
4103
  if (paperProps === null || paperProps === void 0 ? void 0 : paperProps.ref) {
@@ -4129,7 +4117,7 @@ const MRT_TablePaper = (_a) => {
4129
4117
  right: 0,
4130
4118
  top: 0,
4131
4119
  width: '100dvw',
4132
- zIndex: 999,
4120
+ zIndex: theme.zIndex.modal,
4133
4121
  }
4134
4122
  : {})), paperProps === null || paperProps === void 0 ? void 0 : paperProps.style), sx: (theme) => (Object.assign({ backgroundColor: baseBackgroundColor, backgroundImage: 'unset', overflow: 'hidden', transition: 'all 100ms ease-in-out' }, parseFromValuesOrFunc(paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx, theme))), children: [enableTopToolbar &&
4135
4123
  ((_b = parseFromValuesOrFunc(renderTopToolbar, { table })) !== null && _b !== void 0 ? _b : (jsx(MRT_TopToolbar, { table: table }))), jsx(MRT_TableContainer, { table: table }), enableBottomToolbar &&