material-react-table 2.11.2 → 2.12.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.
Files changed (43) hide show
  1. package/README.md +29 -22
  2. package/dist/index.d.ts +30 -16
  3. package/dist/index.esm.js +161 -152
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +162 -156
  6. package/dist/index.js.map +1 -1
  7. package/package.json +24 -24
  8. package/src/components/body/MRT_TableBodyCell.tsx +11 -6
  9. package/src/components/body/MRT_TableBodyCellValue.tsx +5 -4
  10. package/src/components/body/MRT_TableBodyRow.tsx +10 -7
  11. package/src/components/body/MRT_TableDetailPanel.tsx +4 -9
  12. package/src/components/footer/MRT_TableFooterRow.tsx +6 -3
  13. package/src/components/head/MRT_TableHead.tsx +11 -11
  14. package/src/components/head/MRT_TableHeadCell.tsx +9 -3
  15. package/src/components/head/MRT_TableHeadCellFilterContainer.tsx +3 -4
  16. package/src/components/head/MRT_TableHeadCellFilterLabel.tsx +61 -37
  17. package/src/components/head/MRT_TableHeadRow.tsx +7 -3
  18. package/src/components/inputs/MRT_FilterRangeFields.tsx +8 -2
  19. package/src/components/inputs/MRT_FilterTextField.tsx +29 -38
  20. package/src/components/inputs/MRT_SelectCheckbox.tsx +2 -1
  21. package/src/components/menus/MRT_CellActionMenu.tsx +1 -5
  22. package/src/components/menus/MRT_ColumnActionMenu.tsx +1 -5
  23. package/src/components/menus/MRT_FilterOptionMenu.tsx +1 -5
  24. package/src/components/menus/MRT_RowActionMenu.tsx +1 -5
  25. package/src/components/menus/MRT_ShowHideColumnsMenu.tsx +1 -5
  26. package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +3 -2
  27. package/src/components/table/MRT_TableLoadingOverlay.tsx +8 -8
  28. package/src/components/table/MRT_TablePaper.tsx +6 -6
  29. package/src/components/toolbar/MRT_ToolbarAlertBanner.tsx +3 -1
  30. package/src/components/toolbar/MRT_ToolbarDropZone.tsx +5 -0
  31. package/src/hooks/display-columns/getMRT_RowActionsColumnDef.tsx +1 -1
  32. package/src/hooks/display-columns/getMRT_RowDragColumnDef.tsx +1 -1
  33. package/src/hooks/display-columns/getMRT_RowExpandColumnDef.tsx +1 -1
  34. package/src/hooks/display-columns/getMRT_RowNumbersColumnDef.tsx +1 -1
  35. package/src/hooks/display-columns/getMRT_RowPinningColumnDef.tsx +1 -1
  36. package/src/hooks/display-columns/getMRT_RowSelectColumnDef.tsx +1 -1
  37. package/src/hooks/display-columns/getMRT_RowSpacerColumnDef.tsx +1 -1
  38. package/src/hooks/useMRT_TableOptions.ts +4 -0
  39. package/src/types.ts +15 -13
  40. package/src/utils/column.utils.ts +78 -40
  41. package/src/utils/row.utils.ts +2 -1
  42. package/src/utils/style.utils.ts +24 -26
  43. package/src/utils/utils.ts +1 -1
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { flexRender as flexRender$1, createRow as createRow$1, sortingFns, aggregationFns, filterFns, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table';
2
+ import { useMemo, useState, useReducer, useRef, useEffect, useCallback, memo, Fragment as Fragment$1, useLayoutEffect } from 'react';
2
3
  import { compareItems, rankItem, rankings } from '@tanstack/match-sorter-utils';
3
- import { useState, useMemo, useReducer, useRef, useEffect, useCallback, memo, Fragment as Fragment$1, useLayoutEffect } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import IconButton from '@mui/material/IconButton';
6
6
  import Tooltip from '@mui/material/Tooltip';
@@ -169,31 +169,53 @@ const getDefaultColumnFilterFn = (columnDef) => {
169
169
  return 'equals';
170
170
  return 'fuzzy';
171
171
  };
172
- const getIsFirstColumn = (column, table) => {
173
- const leftColumns = table.getLeftVisibleLeafColumns();
174
- return leftColumns.length
175
- ? leftColumns[0].id === column.id
176
- : table.getVisibleLeafColumns()[0].id === column.id;
177
- };
178
- const getIsLastColumn = (column, table) => {
179
- const rightColumns = table.getRightVisibleLeafColumns();
180
- const columns = table.getVisibleLeafColumns();
181
- return rightColumns.length
182
- ? rightColumns[rightColumns.length - 1].id === column.id
183
- : columns[columns.length - 1].id === column.id;
184
- };
185
- const getIsLastLeftPinnedColumn = (table, column) => {
186
- return (column.getIsPinned() === 'left' &&
187
- table.getLeftLeafHeaders().length - 1 === column.getPinnedIndex());
188
- };
189
- const getIsFirstRightPinnedColumn = (column) => {
190
- return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
172
+ const getColumnFilterInfo = ({ header, table, }) => {
173
+ var _a;
174
+ const { options: { columnFilterModeOptions }, } = table;
175
+ const { column } = header;
176
+ const { columnDef } = column;
177
+ const { filterVariant } = columnDef;
178
+ const isDateFilter = !!((filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('date')) || (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('time')));
179
+ const isAutocompleteFilter = filterVariant === 'autocomplete';
180
+ const isRangeFilter = (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.includes('range')) ||
181
+ ['between', 'betweenInclusive', 'inNumberRange'].includes(columnDef._filterFn);
182
+ const isSelectFilter = filterVariant === 'select';
183
+ const isMultiSelectFilter = filterVariant === 'multi-select';
184
+ const isTextboxFilter = ['autocomplete', 'text'].includes(filterVariant) ||
185
+ (!isSelectFilter && !isMultiSelectFilter);
186
+ const currentFilterOption = columnDef._filterFn;
187
+ const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
188
+ const facetedUniqueValues = column.getFacetedUniqueValues();
189
+ return {
190
+ allowedColumnFilterOptions,
191
+ currentFilterOption,
192
+ facetedUniqueValues,
193
+ isAutocompleteFilter,
194
+ isDateFilter,
195
+ isMultiSelectFilter,
196
+ isRangeFilter,
197
+ isSelectFilter,
198
+ isTextboxFilter,
199
+ };
191
200
  };
192
- const getTotalRight = (table, column) => {
193
- return table
194
- .getRightLeafHeaders()
195
- .slice(column.getPinnedIndex() + 1)
196
- .reduce((acc, col) => acc + col.getSize(), 0);
201
+ const useDropdownOptions = ({ header, table, }) => {
202
+ const { column } = header;
203
+ const { columnDef } = column;
204
+ const { facetedUniqueValues, isAutocompleteFilter, isMultiSelectFilter, isSelectFilter, } = getColumnFilterInfo({ header, table });
205
+ return useMemo(() => {
206
+ var _a;
207
+ return (_a = columnDef.filterSelectOptions) !== null && _a !== void 0 ? _a : ((isSelectFilter || isMultiSelectFilter || isAutocompleteFilter) &&
208
+ facetedUniqueValues
209
+ ? Array.from(facetedUniqueValues.keys())
210
+ .filter((value) => value !== null && value !== undefined)
211
+ .sort((a, b) => a.localeCompare(b))
212
+ : undefined);
213
+ }, [
214
+ columnDef.filterSelectOptions,
215
+ facetedUniqueValues,
216
+ isMultiSelectFilter,
217
+ isSelectFilter,
218
+ ]);
197
219
  };
198
220
 
199
221
  const flexRender = flexRender$1;
@@ -461,9 +483,9 @@ const getMRT_RowSelectionHandler = ({ row, staticRowIndex = 0, table, }) => (eve
461
483
  });
462
484
  }
463
485
  };
464
- const getMRT_SelectAllHandler = ({ table }) => (event, value) => {
486
+ const getMRT_SelectAllHandler = ({ table }) => (event, value, forceAll) => {
465
487
  const { options: { enableRowPinning, rowPinningDisplayMode, selectAllMode }, refs: { lastSelectedRowId }, } = table;
466
- selectAllMode === 'all'
488
+ selectAllMode === 'all' || forceAll
467
489
  ? table.toggleAllRowsSelected(value !== null && value !== void 0 ? value : event.target.checked)
468
490
  : table.toggleAllPageRowsSelected(value !== null && value !== void 0 ? value : event.target.checked);
469
491
  if (enableRowPinning && (rowPinningDisplayMode === null || rowPinningDisplayMode === void 0 ? void 0 : rowPinningDisplayMode.includes('select'))) {
@@ -639,15 +661,15 @@ const MRT_EditActionButtons = (_a) => {
639
661
  };
640
662
 
641
663
  const parseCSSVarId = (id) => id.replace(/[^a-zA-Z0-9]/g, '_');
642
- const getMRTTheme = (table, theme) => {
664
+ const getMRTTheme = (mrtTheme, muiTheme) => {
643
665
  var _a;
644
- const themeOverrides = parseFromValuesOrFunc(table.options.mrtTheme, theme);
645
- const baseBackgroundColor = (_a = themeOverrides === null || themeOverrides === void 0 ? void 0 : themeOverrides.baseBackgroundColor) !== null && _a !== void 0 ? _a : (theme.palette.mode === 'dark'
646
- ? lighten(theme.palette.background.default, 0.05)
647
- : theme.palette.background.default);
648
- return Object.assign({ baseBackgroundColor, draggingBorderColor: theme.palette.primary.main, matchHighlightColor: theme.palette.mode === 'dark'
649
- ? darken(theme.palette.warning.dark, 0.25)
650
- : lighten(theme.palette.warning.light, 0.5), menuBackgroundColor: lighten(baseBackgroundColor, 0.07), pinnedRowBackgroundColor: alpha(theme.palette.primary.main, 0.1), selectedRowBackgroundColor: alpha(theme.palette.primary.main, 0.2) }, themeOverrides);
666
+ const mrtThemeOverrides = parseFromValuesOrFunc(mrtTheme, muiTheme);
667
+ const baseBackgroundColor = (_a = mrtThemeOverrides === null || mrtThemeOverrides === void 0 ? void 0 : mrtThemeOverrides.baseBackgroundColor) !== null && _a !== void 0 ? _a : (muiTheme.palette.mode === 'dark'
668
+ ? lighten(muiTheme.palette.background.default, 0.05)
669
+ : muiTheme.palette.background.default);
670
+ return Object.assign({ baseBackgroundColor, draggingBorderColor: muiTheme.palette.primary.main, matchHighlightColor: muiTheme.palette.mode === 'dark'
671
+ ? darken(muiTheme.palette.warning.dark, 0.25)
672
+ : lighten(muiTheme.palette.warning.light, 0.5), menuBackgroundColor: lighten(baseBackgroundColor, 0.07), pinnedRowBackgroundColor: alpha(muiTheme.palette.primary.main, 0.1), selectedRowBackgroundColor: alpha(muiTheme.palette.primary.main, 0.2) }, mrtThemeOverrides);
651
673
  };
652
674
  const commonCellBeforeAfterStyles = {
653
675
  content: '""',
@@ -659,13 +681,14 @@ const commonCellBeforeAfterStyles = {
659
681
  zIndex: -1,
660
682
  };
661
683
  const getCommonPinnedCellStyles = ({ column, table, theme, }) => {
662
- const { baseBackgroundColor } = getMRTTheme(table, theme);
684
+ const { baseBackgroundColor } = table.options.mrtTheme;
685
+ const isPinned = column === null || column === void 0 ? void 0 : column.getIsPinned();
663
686
  return {
664
687
  '&[data-pinned="true"]': {
665
688
  '&:before': Object.assign({ backgroundColor: alpha(darken(baseBackgroundColor, theme.palette.mode === 'dark' ? 0.05 : 0.01), 0.97), boxShadow: column
666
- ? getIsLastLeftPinnedColumn(table, column)
689
+ ? isPinned === 'left' && column.getIsLastColumn(isPinned)
667
690
  ? `-4px 0 4px -4px ${alpha(theme.palette.grey[700], 0.5)} inset`
668
- : getIsFirstRightPinnedColumn(column)
691
+ : isPinned === 'right' && column.getIsFirstColumn(isPinned)
669
692
  ? `4px 0 4px -4px ${alpha(theme.palette.grey[700], 0.5)} inset`
670
693
  : undefined
671
694
  : undefined }, commonCellBeforeAfterStyles),
@@ -695,7 +718,7 @@ const getCommonMRTCellStyles = ({ column, header, table, tableCellProps, theme,
695
718
  ? Object.assign(Object.assign({}, getCommonPinnedCellStyles({ column, table, theme })), { left: isColumnPinned === 'left'
696
719
  ? `${column.getStart('left')}px`
697
720
  : undefined, opacity: 0.97, position: 'sticky', right: isColumnPinned === 'right'
698
- ? `${getTotalRight(table, column)}px`
721
+ ? `${column.getAfter('right')}px`
699
722
  : undefined }) : {};
700
723
  return Object.assign(Object.assign(Object.assign({ backgroundColor: 'inherit', backgroundImage: 'inherit', display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, justifyContent: columnDefType === 'group'
701
724
  ? 'center'
@@ -712,9 +735,9 @@ const getCommonMRTCellStyles = ({ column, header, table, tableCellProps, theme,
712
735
  ? 1
713
736
  : 0 }, pinnedStyles), widthStyles), parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme));
714
737
  };
715
- const getCommonToolbarStyles = ({ table, theme, }) => ({
738
+ const getCommonToolbarStyles = ({ table, }) => ({
716
739
  alignItems: 'flex-start',
717
- backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
740
+ backgroundColor: table.options.mrtTheme.baseBackgroundColor,
718
741
  display: 'grid',
719
742
  flexWrap: 'wrap-reverse',
720
743
  minHeight: '3.5rem',
@@ -750,10 +773,8 @@ const MRT_ActionMenuItem = (_a) => {
750
773
 
751
774
  const MRT_RowActionMenu = (_a) => {
752
775
  var { anchorEl, handleEdit, row, setAnchorEl, staticRowIndex, table } = _a, rest = __rest(_a, ["anchorEl", "handleEdit", "row", "setAnchorEl", "staticRowIndex", "table"]);
753
- const { getState, options: { editDisplayMode, enableEditing, icons: { EditIcon }, localization, renderRowActionMenuItems, }, } = table;
776
+ const { getState, options: { editDisplayMode, enableEditing, icons: { EditIcon }, localization, mrtTheme: { menuBackgroundColor }, renderRowActionMenuItems, }, } = table;
754
777
  const { density } = getState();
755
- const theme = useTheme();
756
- const { menuBackgroundColor } = getMRTTheme(table, theme);
757
778
  return (jsxs(Menu, Object.assign({ MenuListProps: {
758
779
  dense: density === 'compact',
759
780
  sx: {
@@ -1030,6 +1051,7 @@ const MRT_SelectCheckbox = (_a) => {
1030
1051
  ? parseFromValuesOrFunc(muiSelectAllCheckboxProps, { table })
1031
1052
  : parseFromValuesOrFunc(muiSelectCheckboxProps, {
1032
1053
  row,
1054
+ staticRowIndex,
1033
1055
  table,
1034
1056
  }))), rest);
1035
1057
  const onSelectionChange = row
@@ -1048,7 +1070,7 @@ const MRT_SelectCheckbox = (_a) => {
1048
1070
  : localization.toggleSelectRow,
1049
1071
  }, onChange: (event) => {
1050
1072
  event.stopPropagation();
1051
- row ? onSelectionChange(event) : onSelectAllChange(event);
1073
+ selectAll ? onSelectAllChange(event) : onSelectionChange(event);
1052
1074
  }, size: (density === 'compact' ? 'small' : 'medium') }, checkboxProps), { onClick: (e) => {
1053
1075
  var _a;
1054
1076
  e.stopPropagation();
@@ -1226,10 +1248,11 @@ const MRT_DefaultDisplayColumn = {
1226
1248
  };
1227
1249
  const useMRT_TableOptions = (_a) => {
1228
1250
  var _b;
1229
- var { aggregationFns, autoResetExpanded = false, columnFilterDisplayMode = 'subheader', columnResizeDirection, columnResizeMode = 'onChange', createDisplayMode = 'modal', defaultColumn, defaultDisplayColumn, editDisplayMode = 'modal', enableBatchRowSelection = true, enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnPinning = false, enableColumnResizing = false, enableColumnVirtualization, enableDensityToggle = true, enableExpandAll = true, enableExpanding, enableFacetedValues = false, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enableRowPinning = false, enableRowSelection = false, enableRowVirtualization, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode, localization, manualFiltering, manualGrouping, manualPagination, manualSorting, paginationDisplayMode = 'default', positionActionsColumn = 'first', positionCreatingRow = 'top', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberDisplayMode = 'static', rowPinningDisplayMode = 'sticky', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnFilterDisplayMode", "columnResizeDirection", "columnResizeMode", "createDisplayMode", "defaultColumn", "defaultDisplayColumn", "editDisplayMode", "enableBatchRowSelection", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnPinning", "enableColumnResizing", "enableColumnVirtualization", "enableDensityToggle", "enableExpandAll", "enableExpanding", "enableFacetedValues", "enableFilterMatchHighlighting", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enableRowPinning", "enableRowSelection", "enableRowVirtualization", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "manualFiltering", "manualGrouping", "manualPagination", "manualSorting", "paginationDisplayMode", "positionActionsColumn", "positionCreatingRow", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberDisplayMode", "rowPinningDisplayMode", "selectAllMode", "sortingFns"]);
1251
+ var { aggregationFns, autoResetExpanded = false, columnFilterDisplayMode = 'subheader', columnResizeDirection, columnResizeMode = 'onChange', createDisplayMode = 'modal', defaultColumn, defaultDisplayColumn, editDisplayMode = 'modal', enableBatchRowSelection = true, enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnPinning = false, enableColumnResizing = false, enableColumnVirtualization, enableDensityToggle = true, enableExpandAll = true, enableExpanding, enableFacetedValues = false, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enableRowPinning = false, enableRowSelection = false, enableRowVirtualization, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode, localization, manualFiltering, manualGrouping, manualPagination, manualSorting, mrtTheme, paginationDisplayMode = 'default', positionActionsColumn = 'first', positionCreatingRow = 'top', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberDisplayMode = 'static', rowPinningDisplayMode = 'sticky', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnFilterDisplayMode", "columnResizeDirection", "columnResizeMode", "createDisplayMode", "defaultColumn", "defaultDisplayColumn", "editDisplayMode", "enableBatchRowSelection", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnPinning", "enableColumnResizing", "enableColumnVirtualization", "enableDensityToggle", "enableExpandAll", "enableExpanding", "enableFacetedValues", "enableFilterMatchHighlighting", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enableRowPinning", "enableRowSelection", "enableRowVirtualization", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "manualFiltering", "manualGrouping", "manualPagination", "manualSorting", "mrtTheme", "paginationDisplayMode", "positionActionsColumn", "positionCreatingRow", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberDisplayMode", "rowPinningDisplayMode", "selectAllMode", "sortingFns"]);
1230
1252
  const theme = useTheme();
1231
1253
  icons = useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), [icons]);
1232
1254
  localization = useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
1255
+ mrtTheme = useMemo(() => getMRTTheme(mrtTheme, theme), [mrtTheme, theme]);
1233
1256
  aggregationFns = useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
1234
1257
  filterFns = useMemo(() => (Object.assign(Object.assign({}, MRT_FilterFns), filterFns)), []);
1235
1258
  sortingFns = useMemo(() => (Object.assign(Object.assign({}, MRT_SortingFns), sortingFns)), []);
@@ -1314,6 +1337,7 @@ const useMRT_TableOptions = (_a) => {
1314
1337
  manualGrouping,
1315
1338
  manualPagination,
1316
1339
  manualSorting,
1340
+ mrtTheme,
1317
1341
  paginationDisplayMode,
1318
1342
  positionActionsColumn,
1319
1343
  positionCreatingRow,
@@ -1730,7 +1754,7 @@ const useMRT_Rows = (table) => {
1730
1754
  const allowedTypes = ['string', 'number'];
1731
1755
  const MRT_TableBodyCellValue = ({ cell, rowRef, staticColumnIndex, staticRowIndex, table, }) => {
1732
1756
  var _a, _b, _c;
1733
- const { getState, options: { enableFilterMatchHighlighting }, } = table;
1757
+ const { getState, options: { enableFilterMatchHighlighting, mrtTheme: { matchHighlightColor }, }, } = table;
1734
1758
  const { column, row } = cell;
1735
1759
  const { columnDef } = column;
1736
1760
  const { globalFilter, globalFilterFn } = getState();
@@ -1774,7 +1798,7 @@ const MRT_TableBodyCellValue = ({ cell, rowRef, staticColumnIndex, staticRowInde
1774
1798
  if ((chunks === null || chunks === void 0 ? void 0 : chunks.length) > 1 || ((_b = chunks === null || chunks === void 0 ? void 0 : chunks[0]) === null || _b === void 0 ? void 0 : _b.match)) {
1775
1799
  renderedCellValue = (jsx("span", { "aria-label": renderedCellValue, role: "note", children: (_c = chunks === null || chunks === void 0 ? void 0 : chunks.map(({ key, match, text }) => (jsx(Box, { "aria-hidden": "true", component: "span", sx: match
1776
1800
  ? {
1777
- backgroundColor: (theme) => getMRTTheme(table, theme).matchHighlightColor,
1801
+ backgroundColor: matchHighlightColor,
1778
1802
  borderRadius: '2px',
1779
1803
  color: (theme) => theme.palette.mode === 'dark'
1780
1804
  ? theme.palette.common.white
@@ -1926,7 +1950,7 @@ const MRT_TableBodyCell = (_a) => {
1926
1950
  var _b, _c, _d, _e, _f;
1927
1951
  var { cell, numRows, rowRef, staticColumnIndex, staticRowIndex, table } = _a, rest = __rest(_a, ["cell", "numRows", "rowRef", "staticColumnIndex", "staticRowIndex", "table"]);
1928
1952
  const theme = useTheme();
1929
- const { getState, options: { columnResizeDirection, columnResizeMode, createDisplayMode, editDisplayMode, enableCellActions, enableClickToCopy, enableColumnOrdering, enableColumnPinning, enableGrouping, layoutMode, muiSkeletonProps, muiTableBodyCellProps, }, setHoveredColumn, } = table;
1953
+ const { getState, options: { columnResizeDirection, columnResizeMode, createDisplayMode, editDisplayMode, enableCellActions, enableClickToCopy, enableColumnOrdering, enableColumnPinning, enableGrouping, layoutMode, mrtTheme: { draggingBorderColor }, muiSkeletonProps, muiTableBodyCellProps, }, setHoveredColumn, } = table;
1930
1954
  const { actionCell, columnSizingInfo, creatingRow, density, draggingColumn, draggingRow, editingCell, editingRow, hoveredColumn, hoveredRow, isLoading, showSkeletons, } = getState();
1931
1955
  const { column, row } = cell;
1932
1956
  const { columnDef } = column;
@@ -1939,7 +1963,6 @@ const MRT_TableBodyCell = (_a) => {
1939
1963
  row,
1940
1964
  table,
1941
1965
  });
1942
- const { draggingBorderColor } = getMRTTheme(table, theme);
1943
1966
  const [skeletonWidth, setSkeletonWidth] = useState(100);
1944
1967
  useEffect(() => {
1945
1968
  if ((!isLoading && !showSkeletons) || skeletonWidth !== 100)
@@ -1954,8 +1977,8 @@ const MRT_TableBodyCell = (_a) => {
1954
1977
  const isHoveredColumn = (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id;
1955
1978
  const isDraggingRow = (draggingRow === null || draggingRow === void 0 ? void 0 : draggingRow.id) === row.id;
1956
1979
  const isHoveredRow = (hoveredRow === null || hoveredRow === void 0 ? void 0 : hoveredRow.id) === row.id;
1957
- const isFirstColumn = getIsFirstColumn(column, table);
1958
- const isLastColumn = getIsLastColumn(column, table);
1980
+ const isFirstColumn = column.getIsFirstColumn();
1981
+ const isLastColumn = column.getIsLastColumn();
1959
1982
  const isLastRow = numRows && staticRowIndex === numRows - 1;
1960
1983
  const isResizingColumn = columnSizingInfo.isResizingColumn === column.id;
1961
1984
  const showResizeBorder = isResizingColumn && columnResizeMode === 'onChange';
@@ -2033,6 +2056,11 @@ const MRT_TableBodyCell = (_a) => {
2033
2056
  setHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2034
2057
  }
2035
2058
  };
2059
+ const handleDragOver = (e) => {
2060
+ if (columnDef.enableColumnOrdering !== false) {
2061
+ e.preventDefault();
2062
+ }
2063
+ };
2036
2064
  const handleContextMenu = (e) => {
2037
2065
  var _a;
2038
2066
  (_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onContextMenu) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, e);
@@ -2042,7 +2070,7 @@ const MRT_TableBodyCell = (_a) => {
2042
2070
  table.refs.actionCellRef.current = e.currentTarget;
2043
2071
  }
2044
2072
  };
2045
- return (jsx(TableCell, Object.assign({ align: theme.direction === 'rtl' ? 'right' : 'left', "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined }, tableCellProps, { onContextMenu: handleContextMenu, onDoubleClick: handleDoubleClick, onDragEnter: handleDragEnter, sx: (theme) => (Object.assign(Object.assign({ '&:hover': {
2073
+ return (jsx(TableCell, Object.assign({ align: theme.direction === 'rtl' ? 'right' : 'left', "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined }, tableCellProps, { onContextMenu: handleContextMenu, onDoubleClick: handleDoubleClick, onDragEnter: handleDragEnter, onDragOver: handleDragOver, sx: (theme) => (Object.assign(Object.assign({ '&:hover': {
2046
2074
  outline: (actionCell === null || actionCell === void 0 ? void 0 : actionCell.id) === cell.id ||
2047
2075
  (editDisplayMode === 'cell' && isEditable) ||
2048
2076
  (editDisplayMode === 'table' && (isCreating || isEditing))
@@ -2087,7 +2115,7 @@ const Memo_MRT_TableBodyCell = memo(MRT_TableBodyCell, (prev, next) => next.cell
2087
2115
 
2088
2116
  const MRT_TableDetailPanel = (_a) => {
2089
2117
  var { parentRowRef, row, rowVirtualizer, staticRowIndex, table, virtualRow } = _a, rest = __rest(_a, ["parentRowRef", "row", "rowVirtualizer", "staticRowIndex", "table", "virtualRow"]);
2090
- const { getState, getVisibleLeafColumns, options: { enableRowVirtualization, layoutMode, muiDetailPanelProps, muiTableBodyRowProps, renderDetailPanel, }, } = table;
2118
+ const { getState, getVisibleLeafColumns, options: { layoutMode, mrtTheme: { baseBackgroundColor }, muiDetailPanelProps, muiTableBodyRowProps, renderDetailPanel, }, } = table;
2091
2119
  const { isLoading } = getState();
2092
2120
  const tableRowProps = parseFromValuesOrFunc(muiTableBodyRowProps, {
2093
2121
  isDetailPanel: true,
@@ -2112,18 +2140,14 @@ const MRT_TableDetailPanel = (_a) => {
2112
2140
  : undefined, transform: virtualRow
2113
2141
  ? `translateY(${virtualRow === null || virtualRow === void 0 ? void 0 : virtualRow.start}px)`
2114
2142
  : undefined, width: '100%' }, parseFromValuesOrFunc(tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx, theme)));
2115
- }, children: jsx(TableCell, Object.assign({ className: "Mui-TableBodyCell-DetailPanel", colSpan: getVisibleLeafColumns().length }, tableCellProps, { sx: (theme) => (Object.assign({ backgroundColor: virtualRow
2116
- ? getMRTTheme(table, theme).baseBackgroundColor
2117
- : undefined, borderBottom: !row.getIsExpanded() ? 'none' : undefined, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, py: !!DetailPanel && row.getIsExpanded() ? '1rem' : 0, transition: !enableRowVirtualization
2118
- ? 'all 150ms ease-in-out'
2119
- : undefined, width: `100%` }, parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme))), children: enableRowVirtualization ? (row.getIsExpanded() && DetailPanel) : (jsx(Collapse, { in: row.getIsExpanded(), mountOnEnter: true, unmountOnExit: true, children: DetailPanel })) })) })));
2143
+ }, children: jsx(TableCell, Object.assign({ className: "Mui-TableBodyCell-DetailPanel", colSpan: getVisibleLeafColumns().length }, tableCellProps, { sx: (theme) => (Object.assign({ backgroundColor: virtualRow ? baseBackgroundColor : undefined, borderBottom: !row.getIsExpanded() ? 'none' : undefined, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, py: !!DetailPanel && row.getIsExpanded() ? '1rem' : 0, transition: !virtualRow ? 'all 150ms ease-in-out' : undefined, width: `100%` }, parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme))), children: virtualRow ? (row.getIsExpanded() && DetailPanel) : (jsx(Collapse, { in: row.getIsExpanded(), mountOnEnter: true, unmountOnExit: true, children: DetailPanel })) })) })));
2120
2144
  };
2121
2145
 
2122
2146
  const MRT_TableBodyRow = (_a) => {
2123
2147
  var _b, _c, _d, _f;
2124
2148
  var { columnVirtualizer, numRows, pinnedRowIds, row, rowVirtualizer, staticRowIndex, table, virtualRow } = _a, rest = __rest(_a, ["columnVirtualizer", "numRows", "pinnedRowIds", "row", "rowVirtualizer", "staticRowIndex", "table", "virtualRow"]);
2125
2149
  const theme = useTheme();
2126
- const { getState, options: { enableRowOrdering, enableRowPinning, enableStickyFooter, enableStickyHeader, layoutMode, memoMode, muiTableBodyRowProps, renderDetailPanel, rowPinningDisplayMode, }, refs: { tableFooterRef, tableHeadRef }, setHoveredRow, } = table;
2150
+ const { getState, options: { enableRowOrdering, enableRowPinning, enableStickyFooter, enableStickyHeader, layoutMode, memoMode, mrtTheme: { baseBackgroundColor, pinnedRowBackgroundColor, selectedRowBackgroundColor, }, muiTableBodyRowProps, renderDetailPanel, rowPinningDisplayMode, }, refs: { tableFooterRef, tableHeadRef }, setHoveredRow, } = table;
2127
2151
  const { density, draggingColumn, draggingRow, editingCell, editingRow, hoveredRow, isFullScreen, rowPinning, } = getState();
2128
2152
  const visibleCells = row.getVisibleCells();
2129
2153
  const { virtualColumns, virtualPaddingLeft, virtualPaddingRight } = columnVirtualizer !== null && columnVirtualizer !== void 0 ? columnVirtualizer : {};
@@ -2162,8 +2186,10 @@ const MRT_TableBodyRow = (_a) => {
2162
2186
  setHoveredRow(row);
2163
2187
  }
2164
2188
  };
2189
+ const handleDragOver = (e) => {
2190
+ e.preventDefault();
2191
+ };
2165
2192
  const rowRef = useRef(null);
2166
- const { baseBackgroundColor, pinnedRowBackgroundColor, selectedRowBackgroundColor, } = getMRTTheme(table, theme);
2167
2193
  const cellHighlightColor = isRowSelected
2168
2194
  ? selectedRowBackgroundColor
2169
2195
  : isRowPinned
@@ -2176,7 +2202,7 @@ const MRT_TableBodyRow = (_a) => {
2176
2202
  ? `${lighten(baseBackgroundColor, 0.3)}`
2177
2203
  : `${darken(baseBackgroundColor, 0.3)}`
2178
2204
  : undefined;
2179
- return (jsxs(Fragment, { children: [jsxs(TableRow, Object.assign({ "data-index": renderDetailPanel ? staticRowIndex * 2 : staticRowIndex, "data-pinned": !!isRowPinned || undefined, "data-selected": isRowSelected || undefined, onDragEnter: handleDragEnter, ref: (node) => {
2205
+ return (jsxs(Fragment, { children: [jsxs(TableRow, Object.assign({ "data-index": renderDetailPanel ? staticRowIndex * 2 : staticRowIndex, "data-pinned": !!isRowPinned || undefined, "data-selected": isRowSelected || undefined, onDragEnter: handleDragEnter, onDragOver: handleDragOver, ref: (node) => {
2180
2206
  if (node) {
2181
2207
  rowRef.current = node;
2182
2208
  rowVirtualizer === null || rowVirtualizer === void 0 ? void 0 : rowVirtualizer.measureElement(node);
@@ -2340,7 +2366,7 @@ const MRT_TableFooterCell = (_a) => {
2340
2366
  const MRT_TableFooterRow = (_a) => {
2341
2367
  var _b;
2342
2368
  var { columnVirtualizer, footerGroup, table } = _a, rest = __rest(_a, ["columnVirtualizer", "footerGroup", "table"]);
2343
- const { options: { layoutMode, muiTableFooterRowProps }, } = table;
2369
+ const { options: { layoutMode, mrtTheme: { baseBackgroundColor }, muiTableFooterRowProps, }, } = table;
2344
2370
  const { virtualColumns, virtualPaddingLeft, virtualPaddingRight } = columnVirtualizer !== null && columnVirtualizer !== void 0 ? columnVirtualizer : {};
2345
2371
  // if no content in row, skip row
2346
2372
  if (!((_b = footerGroup.headers) === null || _b === void 0 ? void 0 : _b.some((header) => (typeof header.column.columnDef.footer === 'string' &&
@@ -2352,7 +2378,7 @@ const MRT_TableFooterRow = (_a) => {
2352
2378
  footerGroup,
2353
2379
  table,
2354
2380
  })), rest);
2355
- return (jsxs(TableRow, Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, position: 'relative', width: '100%' }, parseFromValuesOrFunc(tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx, theme))), children: [virtualPaddingLeft ? (jsx("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null, (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : footerGroup.headers).map((footerOrVirtualFooter, staticColumnIndex) => {
2381
+ return (jsxs(TableRow, Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: baseBackgroundColor, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, position: 'relative', width: '100%' }, parseFromValuesOrFunc(tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx, theme))), children: [virtualPaddingLeft ? (jsx("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null, (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : footerGroup.headers).map((footerOrVirtualFooter, staticColumnIndex) => {
2356
2382
  let footer = footerOrVirtualFooter;
2357
2383
  if (columnVirtualizer) {
2358
2384
  staticColumnIndex = footerOrVirtualFooter
@@ -2477,7 +2503,7 @@ const rangeVariants = ['range-slider', 'date-range', 'datetime-range', 'range'];
2477
2503
  const MRT_FilterOptionMenu = (_a) => {
2478
2504
  var _b, _c, _d, _e;
2479
2505
  var { anchorEl, header, onSelect, setAnchorEl, setFilterValue, table } = _a, rest = __rest(_a, ["anchorEl", "header", "onSelect", "setAnchorEl", "setFilterValue", "table"]);
2480
- const { getState, options: { columnFilterModeOptions, globalFilterModeOptions, localization, renderColumnFilterModeMenuItems, renderGlobalFilterModeMenuItems, }, setColumnFilterFns, setGlobalFilterFn, } = table;
2506
+ const { getState, options: { columnFilterModeOptions, globalFilterModeOptions, localization, mrtTheme: { menuBackgroundColor }, renderColumnFilterModeMenuItems, renderGlobalFilterModeMenuItems, }, setColumnFilterFns, setGlobalFilterFn, } = table;
2481
2507
  const { density, globalFilterFn } = getState();
2482
2508
  const { column } = header !== null && header !== void 0 ? header : {};
2483
2509
  const { columnDef } = column !== null && column !== void 0 ? column : {};
@@ -2560,8 +2586,6 @@ const MRT_FilterOptionMenu = (_a) => {
2560
2586
  onSelect === null || onSelect === void 0 ? void 0 : onSelect();
2561
2587
  };
2562
2588
  const filterOption = !!header && columnDef ? columnDef._filterFn : globalFilterFn;
2563
- const theme = useTheme();
2564
- const { menuBackgroundColor } = getMRTTheme(table, theme);
2565
2589
  return (jsx(Menu, Object.assign({ MenuListProps: {
2566
2590
  dense: density === 'compact',
2567
2591
  sx: {
@@ -2589,7 +2613,7 @@ const MRT_FilterOptionMenu = (_a) => {
2589
2613
  const MRT_ColumnActionMenu = (_a) => {
2590
2614
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
2591
2615
  var { anchorEl, header, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "header", "setAnchorEl", "table"]);
2592
- const { getAllLeafColumns, getState, options: { columnFilterDisplayMode, columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnPinning, enableColumnResizing, enableGrouping, enableHiding, enableSorting, enableSortingRemoval, icons: { ClearAllIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, RestartAltIcon, SortIcon, ViewColumnIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnFilterFns, setColumnOrder, setColumnSizingInfo, setShowColumnFilters, } = table;
2616
+ const { getAllLeafColumns, getState, options: { columnFilterDisplayMode, columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnPinning, enableColumnResizing, enableGrouping, enableHiding, enableSorting, enableSortingRemoval, icons: { ClearAllIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, RestartAltIcon, SortIcon, ViewColumnIcon, VisibilityOffIcon, }, localization, mrtTheme: { menuBackgroundColor }, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnFilterFns, setColumnOrder, setColumnSizingInfo, setShowColumnFilters, } = table;
2593
2617
  const { column } = header;
2594
2618
  const { columnDef } = column;
2595
2619
  const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
@@ -2701,8 +2725,6 @@ const MRT_ColumnActionMenu = (_a) => {
2701
2725
  ]
2702
2726
  : []),
2703
2727
  ].filter(Boolean);
2704
- const theme = useTheme();
2705
- const { menuBackgroundColor } = getMRTTheme(table, theme);
2706
2728
  return (jsx(Menu, Object.assign({ MenuListProps: {
2707
2729
  dense: density === 'compact',
2708
2730
  sx: {
@@ -2775,9 +2797,9 @@ const MRT_FilterCheckbox = (_a) => {
2775
2797
  };
2776
2798
 
2777
2799
  const MRT_FilterTextField = (_a) => {
2778
- var _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
2800
+ var _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
2779
2801
  var { header, rangeFilterIndex, table } = _a, rest = __rest(_a, ["header", "rangeFilterIndex", "table"]);
2780
- const { options: { columnFilterModeOptions, enableColumnFilterModes, icons: { CloseIcon, FilterListIcon }, localization, manualFiltering, muiFilterAutocompleteProps, muiFilterDatePickerProps, muiFilterDateTimePickerProps, muiFilterTextFieldProps, muiFilterTimePickerProps, }, refs: { filterInputRefs }, setColumnFilterFns, } = table;
2802
+ const { options: { enableColumnFilterModes, icons: { CloseIcon, FilterListIcon }, localization, manualFiltering, muiFilterAutocompleteProps, muiFilterDatePickerProps, muiFilterDateTimePickerProps, muiFilterTextFieldProps, muiFilterTimePickerProps, }, refs: { filterInputRefs }, setColumnFilterFns, } = table;
2781
2803
  const { column } = header;
2782
2804
  const { columnDef } = column;
2783
2805
  const { filterVariant } = columnDef;
@@ -2801,14 +2823,8 @@ const MRT_FilterTextField = (_a) => {
2801
2823
  column,
2802
2824
  table,
2803
2825
  }));
2804
- const isDateFilter = (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('date')) || (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('time'));
2805
- const isAutocompleteFilter = filterVariant === 'autocomplete';
2806
- const isRangeFilter = (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.includes('range')) || rangeFilterIndex !== undefined;
2807
- const isSelectFilter = filterVariant === 'select';
2808
- const isMultiSelectFilter = filterVariant === 'multi-select';
2809
- const isTextboxFilter = ['autocomplete', 'text'].includes(filterVariant) ||
2810
- (!isSelectFilter && !isMultiSelectFilter);
2811
- const currentFilterOption = columnDef._filterFn;
2826
+ const { allowedColumnFilterOptions, currentFilterOption, facetedUniqueValues, isAutocompleteFilter, isDateFilter, isMultiSelectFilter, isRangeFilter, isSelectFilter, isTextboxFilter, } = getColumnFilterInfo({ header, table });
2827
+ const dropdownOptions = useDropdownOptions({ header, table });
2812
2828
  const filterChipLabel = ['empty', 'notEmpty'].includes(currentFilterOption)
2813
2829
  ? //@ts-ignore
2814
2830
  localization[`filter${((_c = (_b = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt) === null || _b === void 0 ? void 0 : _b.call(currentFilterOption, 0)) === null || _c === void 0 ? void 0 : _c.toUpperCase()) +
@@ -2821,13 +2837,11 @@ const MRT_FilterTextField = (_a) => {
2821
2837
  : rangeFilterIndex === 1
2822
2838
  ? localization.max
2823
2839
  : '';
2824
- const allowedColumnFilterOptions = (_g = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _g !== void 0 ? _g : columnFilterModeOptions;
2825
- const showChangeModeButton = enableColumnFilterModes &&
2840
+ const showChangeModeButton = !!(enableColumnFilterModes &&
2826
2841
  columnDef.enableColumnFilterModes !== false &&
2827
2842
  !rangeFilterIndex &&
2828
2843
  (allowedColumnFilterOptions === undefined ||
2829
- !!(allowedColumnFilterOptions === null || allowedColumnFilterOptions === void 0 ? void 0 : allowedColumnFilterOptions.length));
2830
- const facetedUniqueValues = column.getFacetedUniqueValues();
2844
+ !!(allowedColumnFilterOptions === null || allowedColumnFilterOptions === void 0 ? void 0 : allowedColumnFilterOptions.length)));
2831
2845
  const [anchorEl, setAnchorEl] = useState(null);
2832
2846
  const [filterValue, setFilterValue] = useState(() => {
2833
2847
  var _a, _b;
@@ -2914,23 +2928,9 @@ const MRT_FilterTextField = (_a) => {
2914
2928
  isMounted.current = true;
2915
2929
  }, [column.getFilterValue()]);
2916
2930
  if (columnDef.Filter) {
2917
- return (jsx(Fragment, { children: (_h = columnDef.Filter) === null || _h === void 0 ? void 0 : _h.call(columnDef, { column, header, rangeFilterIndex, table }) }));
2931
+ return (jsx(Fragment, { children: (_g = columnDef.Filter) === null || _g === void 0 ? void 0 : _g.call(columnDef, { column, header, rangeFilterIndex, table }) }));
2918
2932
  }
2919
- const dropdownOptions = useMemo(() => {
2920
- var _a;
2921
- return (_a = columnDef.filterSelectOptions) !== null && _a !== void 0 ? _a : ((isSelectFilter || isMultiSelectFilter || isAutocompleteFilter) &&
2922
- facetedUniqueValues
2923
- ? Array.from(facetedUniqueValues.keys())
2924
- .filter((value) => value !== null && value !== undefined)
2925
- .sort((a, b) => a.localeCompare(b))
2926
- : undefined);
2927
- }, [
2928
- columnDef.filterSelectOptions,
2929
- facetedUniqueValues,
2930
- isMultiSelectFilter,
2931
- isSelectFilter,
2932
- ]);
2933
- const endAdornment = !isAutocompleteFilter && !isDateFilter && !filterChipLabel ? (jsx(InputAdornment, { position: "end", sx: { mr: isSelectFilter || isMultiSelectFilter ? '20px' : undefined }, children: jsx(Tooltip, { placement: "right", title: (_j = localization.clearFilter) !== null && _j !== void 0 ? _j : '', children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.clearFilter, disabled: !((_k = filterValue === null || filterValue === void 0 ? void 0 : filterValue.toString()) === null || _k === void 0 ? void 0 : _k.length), onClick: handleClear, size: "small", sx: {
2933
+ const endAdornment = !isAutocompleteFilter && !isDateFilter && !filterChipLabel ? (jsx(InputAdornment, { position: "end", sx: { mr: isSelectFilter || isMultiSelectFilter ? '20px' : undefined }, children: jsx(Tooltip, { placement: "right", title: (_h = localization.clearFilter) !== null && _h !== void 0 ? _h : '', children: jsx("span", { children: jsx(IconButton, { "aria-label": localization.clearFilter, disabled: !((_j = filterValue === null || filterValue === void 0 ? void 0 : filterValue.toString()) === null || _j === void 0 ? void 0 : _j.length), onClick: handleClear, size: "small", sx: {
2934
2934
  height: '2rem',
2935
2935
  transform: 'scale(0.9)',
2936
2936
  width: '2rem',
@@ -2946,7 +2946,7 @@ const MRT_FilterTextField = (_a) => {
2946
2946
  ? { endAdornment, startAdornment }
2947
2947
  : { startAdornment }, fullWidth: true, helperText: showChangeModeButton ? (jsx("label", { children: localization.filterMode.replace('{filterType}',
2948
2948
  // @ts-ignore
2949
- localization[`filter${((_l = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _l === void 0 ? void 0 : _l.toUpperCase()) +
2949
+ localization[`filter${((_k = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _k === void 0 ? void 0 : _k.toUpperCase()) +
2950
2950
  (currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.slice(1))}`]) })) : null, inputProps: {
2951
2951
  'aria-label': filterPlaceholder,
2952
2952
  autoComplete: 'new-password', // disable autocomplete and autofill
@@ -2980,15 +2980,15 @@ const MRT_FilterTextField = (_a) => {
2980
2980
  value: filterValue || null,
2981
2981
  };
2982
2982
  return (jsxs(Fragment, { children: [(filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('time')) ? (jsx(TimePicker, Object.assign({}, commonDatePickerProps, timePickerProps, { slotProps: {
2983
- field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_m = timePickerProps === null || timePickerProps === void 0 ? void 0 : timePickerProps.slotProps) === null || _m === void 0 ? void 0 : _m.field),
2984
- textField: Object.assign(Object.assign({}, commonTextFieldProps), (_o = timePickerProps === null || timePickerProps === void 0 ? void 0 : timePickerProps.slotProps) === null || _o === void 0 ? void 0 : _o.textField),
2983
+ field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_l = timePickerProps === null || timePickerProps === void 0 ? void 0 : timePickerProps.slotProps) === null || _l === void 0 ? void 0 : _l.field),
2984
+ textField: Object.assign(Object.assign({}, commonTextFieldProps), (_m = timePickerProps === null || timePickerProps === void 0 ? void 0 : timePickerProps.slotProps) === null || _m === void 0 ? void 0 : _m.textField),
2985
2985
  } }))) : (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('datetime')) ? (jsx(DateTimePicker, Object.assign({}, commonDatePickerProps, dateTimePickerProps, { slotProps: {
2986
- field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_p = dateTimePickerProps === null || dateTimePickerProps === void 0 ? void 0 : dateTimePickerProps.slotProps) === null || _p === void 0 ? void 0 : _p.field),
2987
- textField: Object.assign(Object.assign({}, commonTextFieldProps), (_q = dateTimePickerProps === null || dateTimePickerProps === void 0 ? void 0 : dateTimePickerProps.slotProps) === null || _q === void 0 ? void 0 : _q.textField),
2986
+ field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_o = dateTimePickerProps === null || dateTimePickerProps === void 0 ? void 0 : dateTimePickerProps.slotProps) === null || _o === void 0 ? void 0 : _o.field),
2987
+ textField: Object.assign(Object.assign({}, commonTextFieldProps), (_p = dateTimePickerProps === null || dateTimePickerProps === void 0 ? void 0 : dateTimePickerProps.slotProps) === null || _p === void 0 ? void 0 : _p.textField),
2988
2988
  } }))) : (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('date')) ? (jsx(DatePicker, Object.assign({}, commonDatePickerProps, datePickerProps, { slotProps: {
2989
- field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_r = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _r === void 0 ? void 0 : _r.field),
2990
- textField: Object.assign(Object.assign({}, commonTextFieldProps), (_s = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _s === void 0 ? void 0 : _s.textField),
2991
- } }))) : isAutocompleteFilter ? (jsx(Autocomplete, Object.assign({ freeSolo: true, getOptionLabel: (option) => getValueAndLabel(option).label, onChange: (_e, newValue) => handleAutocompleteChange(newValue), options: (_t = dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.map((option) => getValueAndLabel(option))) !== null && _t !== void 0 ? _t : [] }, autocompleteProps, { renderInput: (builtinTextFieldProps) => {
2989
+ field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_q = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _q === void 0 ? void 0 : _q.field),
2990
+ textField: Object.assign(Object.assign({}, commonTextFieldProps), (_r = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _r === void 0 ? void 0 : _r.textField),
2991
+ } }))) : isAutocompleteFilter ? (jsx(Autocomplete, Object.assign({ freeSolo: true, getOptionLabel: (option) => getValueAndLabel(option).label, onChange: (_e, newValue) => handleAutocompleteChange(newValue), options: (_s = dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.map((option) => getValueAndLabel(option))) !== null && _s !== void 0 ? _s : [] }, autocompleteProps, { renderInput: (builtinTextFieldProps) => {
2992
2992
  var _a;
2993
2993
  return (jsx(TextField, Object.assign({}, builtinTextFieldProps, commonTextFieldProps, { InputProps: Object.assign(Object.assign({}, builtinTextFieldProps.InputProps), { startAdornment: (_a = commonTextFieldProps === null || commonTextFieldProps === void 0 ? void 0 : commonTextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.startAdornment }), inputProps: Object.assign(Object.assign({}, builtinTextFieldProps.inputProps), commonTextFieldProps === null || commonTextFieldProps === void 0 ? void 0 : commonTextFieldProps.inputProps), onChange: handleTextFieldChange, onClick: (e) => e.stopPropagation() })));
2994
2994
  }, value: autocompleteValue }))) : (jsx(TextField, Object.assign({ select: isSelectFilter || isMultiSelectFilter }, commonTextFieldProps, { SelectProps: Object.assign({ MenuProps: { disableScrollLock: true }, displayEmpty: true, multiple: isMultiSelectFilter, renderValue: isMultiSelectFilter
@@ -2999,7 +2999,7 @@ const MRT_FilterTextField = (_a) => {
2999
2999
  : undefined }, commonTextFieldProps.SelectProps), onChange: handleTextFieldChange, onClick: (e) => e.stopPropagation(), value: filterValue !== null && filterValue !== void 0 ? filterValue : '', children: (isSelectFilter || isMultiSelectFilter) && [
3000
3000
  jsx(MenuItem, { disabled: true, divider: true, hidden: true, value: "", children: jsx(Box, { sx: { opacity: 0.5 }, children: filterPlaceholder }) }, "p"),
3001
3001
  ...[
3002
- (_u = textFieldProps.children) !== null && _u !== void 0 ? _u : dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.map((option, index) => {
3002
+ (_t = textFieldProps.children) !== null && _t !== void 0 ? _t : dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.map((option, index) => {
3003
3003
  var _a;
3004
3004
  const { label, value } = getValueAndLabel(option);
3005
3005
  return (jsxs(MenuItem, { sx: {
@@ -3016,7 +3016,7 @@ const MRT_FilterTextField = (_a) => {
3016
3016
 
3017
3017
  const MRT_FilterRangeFields = (_a) => {
3018
3018
  var { header, table } = _a, rest = __rest(_a, ["header", "table"]);
3019
- return (jsxs(Box, Object.assign({}, rest, { sx: (theme) => (Object.assign({ display: 'grid', gap: '1rem', gridTemplateColumns: '1fr 1fr' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: [jsx(MRT_FilterTextField, { header: header, rangeFilterIndex: 0, table: table }), jsx(MRT_FilterTextField, { header: header, rangeFilterIndex: 1, table: table })] })));
3019
+ return (jsx(Box, Object.assign({}, rest, { sx: (theme) => (Object.assign({ display: 'grid', gap: '1rem', gridTemplateColumns: '1fr 1fr' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: [0, 1].map((rangeFilterIndex) => (jsx(MRT_FilterTextField, { header: header, rangeFilterIndex: rangeFilterIndex, table: table }, rangeFilterIndex))) })));
3020
3020
  };
3021
3021
 
3022
3022
  const MRT_FilterRangeSlider = (_a) => {
@@ -3092,41 +3092,45 @@ const MRT_FilterRangeSlider = (_a) => {
3092
3092
  };
3093
3093
 
3094
3094
  const MRT_TableHeadCellFilterContainer = (_a) => {
3095
- var _b;
3096
3095
  var { header, table } = _a, rest = __rest(_a, ["header", "table"]);
3097
3096
  const { getState, options: { columnFilterDisplayMode }, } = table;
3098
3097
  const { showColumnFilters } = getState();
3099
3098
  const { column } = header;
3100
3099
  const { columnDef } = column;
3101
- return (jsx(Collapse, Object.assign({ in: showColumnFilters || columnFilterDisplayMode === 'popover', mountOnEnter: true, unmountOnExit: true }, rest, { children: columnDef.filterVariant === 'checkbox' ? (jsx(MRT_FilterCheckbox, { column: column, table: table })) : columnDef.filterVariant === 'range-slider' ? (jsx(MRT_FilterRangeSlider, { header: header, table: table })) : ((_b = columnDef.filterVariant) === null || _b === void 0 ? void 0 : _b.includes('range')) ||
3102
- ['between', 'betweenInclusive', 'inNumberRange'].includes(columnDef._filterFn) ? (jsx(MRT_FilterRangeFields, { header: header, table: table })) : (jsx(MRT_FilterTextField, { header: header, table: table })) })));
3100
+ const { isRangeFilter } = getColumnFilterInfo({ header, table });
3101
+ return (jsx(Collapse, Object.assign({ in: showColumnFilters || columnFilterDisplayMode === 'popover', mountOnEnter: true, unmountOnExit: true }, rest, { children: columnDef.filterVariant === 'checkbox' ? (jsx(MRT_FilterCheckbox, { column: column, table: table })) : columnDef.filterVariant === 'range-slider' ? (jsx(MRT_FilterRangeSlider, { header: header, table: table })) : isRangeFilter ? (jsx(MRT_FilterRangeFields, { header: header, table: table })) : (jsx(MRT_FilterTextField, { header: header, table: table })) })));
3103
3102
  };
3104
3103
 
3105
3104
  const MRT_TableHeadCellFilterLabel = (_a) => {
3106
- var _b, _c, _d;
3105
+ var _b, _c;
3107
3106
  var { header, table } = _a, rest = __rest(_a, ["header", "table"]);
3108
3107
  const { options: { columnFilterDisplayMode, icons: { FilterAltIcon }, localization, }, refs: { filterInputRefs }, setShowColumnFilters, } = table;
3109
3108
  const { column } = header;
3110
3109
  const { columnDef } = column;
3111
3110
  const filterValue = column.getFilterValue();
3112
3111
  const [anchorEl, setAnchorEl] = useState(null);
3112
+ const { currentFilterOption, isMultiSelectFilter, isRangeFilter, isSelectFilter, } = getColumnFilterInfo({ header, table });
3113
+ const dropdownOptions = useDropdownOptions({ header, table });
3114
+ const getSelectLabel = (index) => getValueAndLabel(dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.find((option) => getValueAndLabel(option).value ===
3115
+ (index !== undefined ? filterValue[index] : filterValue))).label;
3113
3116
  const isFilterActive = (Array.isArray(filterValue) && filterValue.some(Boolean)) ||
3114
3117
  (!!filterValue && !Array.isArray(filterValue));
3115
- const isRangeFilter = ((_b = columnDef.filterVariant) === null || _b === void 0 ? void 0 : _b.includes('range')) ||
3116
- ['between', 'betweenInclusive', 'inNumberRange'].includes(columnDef._filterFn);
3117
- const currentFilterOption = columnDef._filterFn;
3118
3118
  const filterTooltip = columnFilterDisplayMode === 'popover' && !isFilterActive
3119
- ? (_c = localization.filterByColumn) === null || _c === void 0 ? void 0 : _c.replace('{column}', String(columnDef.header))
3119
+ ? (_b = localization.filterByColumn) === null || _b === void 0 ? void 0 : _b.replace('{column}', String(columnDef.header))
3120
3120
  : localization.filteringByColumn
3121
3121
  .replace('{column}', String(columnDef.header))
3122
3122
  .replace('{filterType}', currentFilterOption
3123
3123
  ? // @ts-ignore
3124
- localization[`filter${((_d = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _d === void 0 ? void 0 : _d.toUpperCase()) +
3124
+ localization[`filter${((_c = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _c === void 0 ? void 0 : _c.toUpperCase()) +
3125
3125
  (currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.slice(1))}`]
3126
3126
  : '')
3127
3127
  .replace('{filterValue}', `"${Array.isArray(filterValue)
3128
- ? filterValue.join(`" ${isRangeFilter ? localization.and : localization.or} "`)
3129
- : filterValue}"`)
3128
+ ? filterValue
3129
+ .map((value, index) => isMultiSelectFilter ? getSelectLabel(index) : value)
3130
+ .join(`" ${isRangeFilter ? localization.and : localization.or} "`)
3131
+ : isSelectFilter
3132
+ ? getSelectLabel()
3133
+ : filterValue}"`)
3130
3134
  .replace('" "', '');
3131
3135
  return (jsxs(Fragment, { children: [jsx(Grow, { in: columnFilterDisplayMode === 'popover' ||
3132
3136
  (!!filterValue && !isRangeFilter) ||
@@ -3144,7 +3148,7 @@ const MRT_TableHeadCellFilterLabel = (_a) => {
3144
3148
  (_d = (_c = filterInputRefs.current[`${column.id}-0`]) === null || _c === void 0 ? void 0 : _c.select) === null || _d === void 0 ? void 0 : _d.call(_c);
3145
3149
  });
3146
3150
  event.stopPropagation();
3147
- }, size: "small" }, rest, { sx: (theme) => (Object.assign({ height: '16px', ml: '4px', opacity: isFilterActive ? 1 : 0.3, p: '8px', transform: 'scale(0.75)', transition: 'all 150ms ease-in-out', width: '16px' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: jsx(FilterAltIcon, {}) })) }) }) }), jsx(Popover, { anchorEl: anchorEl, anchorOrigin: {
3151
+ }, size: "small" }, rest, { sx: (theme) => (Object.assign({ height: '16px', ml: '4px', opacity: isFilterActive ? 1 : 0.3, p: '8px', transform: 'scale(0.75)', transition: 'all 150ms ease-in-out', width: '16px' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: jsx(FilterAltIcon, {}) })) }) }) }), columnFilterDisplayMode === 'popover' && (jsx(Popover, { anchorEl: anchorEl, anchorOrigin: {
3148
3152
  horizontal: 'center',
3149
3153
  vertical: 'top',
3150
3154
  }, disableScrollLock: true, onClick: (event) => event.stopPropagation(), onClose: (event) => {
@@ -3154,7 +3158,7 @@ const MRT_TableHeadCellFilterLabel = (_a) => {
3154
3158
  }, onKeyDown: (event) => event.key === 'Enter' && setAnchorEl(null), open: !!anchorEl, slotProps: { paper: { sx: { overflow: 'visible' } } }, transformOrigin: {
3155
3159
  horizontal: 'center',
3156
3160
  vertical: 'bottom',
3157
- }, children: jsx(Box, { sx: { p: '1rem' }, children: jsx(MRT_TableHeadCellFilterContainer, { header: header, table: table }) }) })] }));
3161
+ }, children: jsx(Box, { sx: { p: '1rem' }, children: jsx(MRT_TableHeadCellFilterContainer, { header: header, table: table }) }) }))] }));
3158
3162
  };
3159
3163
 
3160
3164
  const MRT_TableHeadCellGrabHandle = (_a) => {
@@ -3270,7 +3274,7 @@ const MRT_TableHeadCell = (_a) => {
3270
3274
  var _b, _c, _d, _f, _g, _h;
3271
3275
  var { columnVirtualizer, header, staticColumnIndex, table } = _a, rest = __rest(_a, ["columnVirtualizer", "header", "staticColumnIndex", "table"]);
3272
3276
  const theme = useTheme();
3273
- const { getState, options: { columnFilterDisplayMode, columnResizeDirection, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableColumnPinning, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
3277
+ const { getState, options: { columnFilterDisplayMode, columnResizeDirection, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableColumnPinning, enableGrouping, enableMultiSort, layoutMode, mrtTheme: { draggingBorderColor }, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
3274
3278
  const { columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
3275
3279
  const { column } = header;
3276
3280
  const { columnDef } = column;
@@ -3279,7 +3283,6 @@ const MRT_TableHeadCell = (_a) => {
3279
3283
  column,
3280
3284
  table,
3281
3285
  })), rest);
3282
- const { draggingBorderColor } = getMRTTheme(table, theme);
3283
3286
  const isColumnPinned = enableColumnPinning &&
3284
3287
  columnDef.columnDefType !== 'group' &&
3285
3288
  column.getIsPinned();
@@ -3335,6 +3338,11 @@ const MRT_TableHeadCell = (_a) => {
3335
3338
  setHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
3336
3339
  }
3337
3340
  };
3341
+ const handleDragOver = (e) => {
3342
+ if (columnDef.enableColumnOrdering !== false) {
3343
+ e.preventDefault();
3344
+ }
3345
+ };
3338
3346
  const HeaderElement = (_b = parseFromValuesOrFunc(columnDef.Header, {
3339
3347
  column,
3340
3348
  header,
@@ -3344,7 +3352,7 @@ const MRT_TableHeadCell = (_a) => {
3344
3352
  ? 'center'
3345
3353
  : theme.direction === 'rtl'
3346
3354
  ? 'right'
3347
- : 'left', colSpan: header.colSpan, "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined, onDragEnter: handleDragEnter, ref: (node) => {
3355
+ : 'left', colSpan: header.colSpan, "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined, onDragEnter: handleDragEnter, onDragOver: handleDragOver, ref: (node) => {
3348
3356
  var _a;
3349
3357
  if (node) {
3350
3358
  tableHeadCellRefs.current[column.id] = node;
@@ -3422,13 +3430,13 @@ const MRT_TableHeadCell = (_a) => {
3422
3430
 
3423
3431
  const MRT_TableHeadRow = (_a) => {
3424
3432
  var { columnVirtualizer, headerGroup, table } = _a, rest = __rest(_a, ["columnVirtualizer", "headerGroup", "table"]);
3425
- const { options: { enableStickyHeader, layoutMode, muiTableHeadRowProps }, } = table;
3433
+ const { options: { enableStickyHeader, layoutMode, mrtTheme: { baseBackgroundColor }, muiTableHeadRowProps, }, } = table;
3426
3434
  const { virtualColumns, virtualPaddingLeft, virtualPaddingRight } = columnVirtualizer !== null && columnVirtualizer !== void 0 ? columnVirtualizer : {};
3427
3435
  const tableRowProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableHeadRowProps, {
3428
3436
  headerGroup,
3429
3437
  table,
3430
3438
  })), rest);
3431
- return (jsxs(TableRow, Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor, boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, position: enableStickyHeader && layoutMode === 'semantic'
3439
+ return (jsxs(TableRow, Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: baseBackgroundColor, boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : undefined, position: enableStickyHeader && layoutMode === 'semantic'
3432
3440
  ? 'sticky'
3433
3441
  : 'relative', top: 0 }, parseFromValuesOrFunc(tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx, theme))), children: [virtualPaddingLeft ? (jsx("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null, (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : headerGroup.headers).map((headerOrVirtualHeader, staticColumnIndex) => {
3434
3442
  let header = headerOrVirtualHeader;
@@ -3456,7 +3464,7 @@ const MRT_ToolbarAlertBanner = (_a) => {
3456
3464
  const selectedRowCount = useMemo(() => manualPagination
3457
3465
  ? Object.values(rowSelection).filter(Boolean).length
3458
3466
  : getFilteredSelectedRowModel().rows.length, [rowSelection, totalRowCount, manualPagination]);
3459
- const selectedAlert = selectedRowCount > 0 ? (jsxs(Stack, { alignItems: "center", direction: "row", gap: "16px", children: [(_c = (_b = localization.selectedCountOfRowCountRowsSelected) === null || _b === void 0 ? void 0 : _b.replace('{selectedCount}', selectedRowCount.toLocaleString())) === null || _c === void 0 ? void 0 : _c.replace('{rowCount}', totalRowCount.toString()), jsx(Button, { onClick: (event) => getMRT_SelectAllHandler({ table })(event, false), size: "small", sx: { p: '2px' }, children: localization.clearSelection })] })) : null;
3467
+ const selectedAlert = selectedRowCount > 0 ? (jsxs(Stack, { alignItems: "center", direction: "row", gap: "16px", children: [(_c = (_b = localization.selectedCountOfRowCountRowsSelected) === null || _b === void 0 ? void 0 : _b.replace('{selectedCount}', selectedRowCount.toLocaleString())) === null || _c === void 0 ? void 0 : _c.replace('{rowCount}', totalRowCount.toString()), jsx(Button, { onClick: (event) => getMRT_SelectAllHandler({ table })(event, false, true), size: "small", sx: { p: '2px' }, children: localization.clearSelection })] })) : null;
3460
3468
  const groupedAlert = grouping.length > 0 ? (jsxs("span", { children: [localization.groupedBy, ' ', grouping.map((columnId, index) => (jsxs(Fragment$1, { children: [index > 0 ? localization.thenBy : '', jsx(Chip, Object.assign({ label: table.getColumn(columnId).columnDef.header, onDelete: () => table.getColumn(columnId).toggleGrouping() }, chipProps))] }, `${index}-${columnId}`)))] })) : null;
3461
3469
  return (jsx(Collapse, { in: showAlertBanner || !!selectedAlert || !!groupedAlert, timeout: stackAlertBanner ? 200 : 0, children: jsx(Alert, Object.assign({ color: "info", icon: false }, alertProps, { sx: (theme) => {
3462
3470
  var _a, _b;
@@ -3487,7 +3495,7 @@ const MRT_ToolbarAlertBanner = (_a) => {
3487
3495
 
3488
3496
  const MRT_TableHead = (_a) => {
3489
3497
  var { columnVirtualizer, table } = _a, rest = __rest(_a, ["columnVirtualizer", "table"]);
3490
- const { getHeaderGroups, getSelectedRowModel, getState, options: { enableStickyHeader, layoutMode, muiTableHeadProps, positionToolbarAlertBanner, }, refs: { tableHeadRef }, } = table;
3498
+ const { getState, options: { enableStickyHeader, layoutMode, muiTableHeadProps, positionToolbarAlertBanner, }, refs: { tableHeadRef }, } = table;
3491
3499
  const { isFullScreen, showAlertBanner } = getState();
3492
3500
  const tableHeadProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableHeadProps, { table })), rest);
3493
3501
  const stickyHeader = enableStickyHeader || isFullScreen;
@@ -3498,12 +3506,14 @@ const MRT_TableHead = (_a) => {
3498
3506
  tableHeadProps.ref.current = ref;
3499
3507
  }
3500
3508
  }, sx: (theme) => (Object.assign({ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined, opacity: 0.97, position: stickyHeader ? 'sticky' : 'relative', top: stickyHeader && (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 0 : undefined, zIndex: stickyHeader ? 2 : undefined }, parseFromValuesOrFunc(tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx, theme))), children: positionToolbarAlertBanner === 'head-overlay' &&
3501
- (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (jsx("tr", { style: {
3509
+ (showAlertBanner || table.getSelectedRowModel().rows.length > 0) ? (jsx("tr", { style: {
3502
3510
  display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
3503
3511
  }, children: jsx("th", { colSpan: table.getVisibleLeafColumns().length, style: {
3504
3512
  display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
3505
3513
  padding: 0,
3506
- }, children: jsx(MRT_ToolbarAlertBanner, { table: table }) }) })) : (getHeaderGroups().map((headerGroup) => (jsx(MRT_TableHeadRow, { columnVirtualizer: columnVirtualizer, headerGroup: headerGroup, table: table }, headerGroup.id)))) })));
3514
+ }, children: jsx(MRT_ToolbarAlertBanner, { table: table }) }) })) : (table
3515
+ .getHeaderGroups()
3516
+ .map((headerGroup) => (jsx(MRT_TableHeadRow, { columnVirtualizer: columnVirtualizer, headerGroup: headerGroup, table: table }, headerGroup.id)))) })));
3507
3517
  };
3508
3518
 
3509
3519
  const MRT_Table = (_a) => {
@@ -3534,11 +3544,11 @@ const MRT_Table = (_a) => {
3534
3544
  const MRT_TableLoadingOverlay = (_a) => {
3535
3545
  var _b;
3536
3546
  var { table } = _a, rest = __rest(_a, ["table"]);
3537
- const { options: { localization, muiCircularProgressProps }, } = table;
3547
+ const { options: { localization, mrtTheme: { baseBackgroundColor }, muiCircularProgressProps, }, } = table;
3538
3548
  const circularProgressProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiCircularProgressProps, { table })), rest);
3539
- return (jsx(Box, { sx: (theme) => ({
3549
+ return (jsx(Box, { sx: {
3540
3550
  alignItems: 'center',
3541
- backgroundColor: alpha(getMRTTheme(table, theme).baseBackgroundColor, 0.5),
3551
+ backgroundColor: alpha(baseBackgroundColor, 0.5),
3542
3552
  bottom: 0,
3543
3553
  display: 'flex',
3544
3554
  justifyContent: 'center',
@@ -3549,20 +3559,18 @@ const MRT_TableLoadingOverlay = (_a) => {
3549
3559
  top: 0,
3550
3560
  width: '100%',
3551
3561
  zIndex: 3,
3552
- }), children: (_b = circularProgressProps === null || circularProgressProps === void 0 ? void 0 : circularProgressProps.Component) !== null && _b !== void 0 ? _b : (jsx(CircularProgress, Object.assign({ "aria-label": localization.noRecordsToDisplay, id: "mrt-progress" }, circularProgressProps))) }));
3562
+ }, children: (_b = circularProgressProps === null || circularProgressProps === void 0 ? void 0 : circularProgressProps.Component) !== null && _b !== void 0 ? _b : (jsx(CircularProgress, Object.assign({ "aria-label": localization.noRecordsToDisplay, id: "mrt-progress" }, circularProgressProps))) }));
3553
3563
  };
3554
3564
 
3555
3565
  const MRT_CellActionMenu = (_a) => {
3556
3566
  var _b, _c;
3557
3567
  var { table } = _a, rest = __rest(_a, ["table"]);
3558
- const { getState, options: { editDisplayMode, enableClickToCopy, enableEditing, icons: { ContentCopy, EditIcon }, localization, renderCellActionMenuItems, }, refs: { actionCellRef }, } = table;
3568
+ const { getState, options: { editDisplayMode, enableClickToCopy, enableEditing, icons: { ContentCopy, EditIcon }, localization, mrtTheme: { menuBackgroundColor }, renderCellActionMenuItems, }, refs: { actionCellRef }, } = table;
3559
3569
  const { actionCell, density } = getState();
3560
3570
  const cell = actionCell;
3561
3571
  const { row } = cell;
3562
3572
  const { column } = cell;
3563
3573
  const { columnDef } = column;
3564
- const theme = useTheme();
3565
- const { menuBackgroundColor } = getMRTTheme(table, theme);
3566
3574
  const handleClose = (event) => {
3567
3575
  event === null || event === void 0 ? void 0 : event.stopPropagation();
3568
3576
  table.setActionCell(null);
@@ -3754,6 +3762,9 @@ const MRT_ToolbarDropZone = (_a) => {
3754
3762
  const handleDragEnter = (_event) => {
3755
3763
  setHoveredColumn({ id: 'drop-zone' });
3756
3764
  };
3765
+ const handleDragOver = (e) => {
3766
+ e.preventDefault();
3767
+ };
3757
3768
  useEffect(() => {
3758
3769
  var _a;
3759
3770
  if (((_a = table.options.state) === null || _a === void 0 ? void 0 : _a.showToolbarDropZone) !== undefined) {
@@ -3763,7 +3774,7 @@ const MRT_ToolbarDropZone = (_a) => {
3763
3774
  !grouping.includes(draggingColumn.id));
3764
3775
  }
3765
3776
  }, [enableGrouping, draggingColumn, grouping]);
3766
- return (jsx(Fade, { in: showToolbarDropZone, children: jsx(Box, Object.assign({ className: "Mui-ToolbarDropZone", onDragEnter: handleDragEnter }, rest, { sx: (theme) => (Object.assign({ alignItems: 'center', backdropFilter: 'blur(4px)', backgroundColor: alpha(theme.palette.info.main, (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1), border: `dashed ${theme.palette.info.main} 2px`, boxSizing: 'border-box', display: 'flex', height: '100%', justifyContent: 'center', position: 'absolute', width: '100%', zIndex: 4 }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: jsx(Typography, { fontStyle: "italic", children: localization.dropToGroupBy.replace('{column}', (_c = (_b = draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.columnDef) === null || _b === void 0 ? void 0 : _b.header) !== null && _c !== void 0 ? _c : '') }) })) }));
3777
+ return (jsx(Fade, { in: showToolbarDropZone, children: jsx(Box, Object.assign({ className: "Mui-ToolbarDropZone", onDragEnter: handleDragEnter, onDragOver: handleDragOver }, rest, { sx: (theme) => (Object.assign({ alignItems: 'center', backdropFilter: 'blur(4px)', backgroundColor: alpha(theme.palette.info.main, (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1), border: `dashed ${theme.palette.info.main} 2px`, boxSizing: 'border-box', display: 'flex', height: '100%', justifyContent: 'center', position: 'absolute', width: '100%', zIndex: 4 }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: jsx(Typography, { fontStyle: "italic", children: localization.dropToGroupBy.replace('{column}', (_c = (_b = draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.columnDef) === null || _b === void 0 ? void 0 : _b.header) !== null && _c !== void 0 ? _c : '') }) })) }));
3767
3778
  };
3768
3779
 
3769
3780
  const MRT_BottomToolbar = (_a) => {
@@ -3814,7 +3825,7 @@ const MRT_ColumnPinningButtons = (_a) => {
3814
3825
  const MRT_ShowHideColumnsMenuItems = (_a) => {
3815
3826
  var _b;
3816
3827
  var { allColumns, column, hoveredColumn, isNestedColumns, setHoveredColumn, table } = _a, rest = __rest(_a, ["allColumns", "column", "hoveredColumn", "isNestedColumns", "setHoveredColumn", "table"]);
3817
- const { getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, }, setColumnOrder, } = table;
3828
+ const { getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, mrtTheme: { draggingBorderColor }, }, setColumnOrder, } = table;
3818
3829
  const { columnOrder } = getState();
3819
3830
  const { columnDef } = column;
3820
3831
  const { columnDefType } = columnDef;
@@ -3861,7 +3872,7 @@ const MRT_ShowHideColumnsMenuItems = (_a) => {
3861
3872
  return (jsxs(Fragment, { children: [jsx(MenuItem, Object.assign({ disableRipple: true, onDragEnter: handleDragEnter, ref: menuItemRef }, rest, { sx: (theme) => (Object.assign({ alignItems: 'center', justifyContent: 'flex-start', my: 0, opacity: isDragging ? 0.5 : 1, outline: isDragging
3862
3873
  ? `2px dashed ${theme.palette.grey[500]}`
3863
3874
  : (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
3864
- ? `2px dashed ${getMRTTheme(table, theme).draggingBorderColor}`
3875
+ ? `2px dashed ${draggingBorderColor}`
3865
3876
  : 'none', outlineOffset: '-2px', pl: `${(column.depth + 0.5) * 2}rem`, py: '6px' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: jsxs(Box, { sx: {
3866
3877
  display: 'flex',
3867
3878
  flexWrap: 'nowrap',
@@ -3882,7 +3893,7 @@ const MRT_ShowHideColumnsMenuItems = (_a) => {
3882
3893
 
3883
3894
  const MRT_ShowHideColumnsMenu = (_a) => {
3884
3895
  var { anchorEl, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "setAnchorEl", "table"]);
3885
- const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, }, } = table;
3896
+ const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, mrtTheme: { menuBackgroundColor }, }, } = table;
3886
3897
  const { columnOrder, columnPinning, density } = getState();
3887
3898
  const handleToggleAllColumns = (value) => {
3888
3899
  getAllLeafColumns()
@@ -3910,8 +3921,6 @@ const MRT_ShowHideColumnsMenu = (_a) => {
3910
3921
  ]);
3911
3922
  const isNestedColumns = allColumns.some((col) => col.columnDef.columnDefType === 'group');
3912
3923
  const [hoveredColumn, setHoveredColumn] = useState(null);
3913
- const theme = useTheme();
3914
- const { menuBackgroundColor } = getMRTTheme(table, theme);
3915
3924
  return (jsxs(Menu, Object.assign({ MenuListProps: {
3916
3925
  dense: density === 'compact',
3917
3926
  sx: {
@@ -4098,7 +4107,7 @@ const MRT_TopToolbar = ({ table, }) => {
4098
4107
  const MRT_TablePaper = (_a) => {
4099
4108
  var _b, _c;
4100
4109
  var { table } = _a, rest = __rest(_a, ["table"]);
4101
- const { getState, options: { enableBottomToolbar, enableTopToolbar, muiTablePaperProps, renderBottomToolbar, renderTopToolbar, }, refs: { tablePaperRef }, } = table;
4110
+ const { getState, options: { enableBottomToolbar, enableTopToolbar, mrtTheme: { baseBackgroundColor }, muiTablePaperProps, renderBottomToolbar, renderTopToolbar, }, refs: { tablePaperRef }, } = table;
4102
4111
  const { isFullScreen } = getState();
4103
4112
  const paperProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTablePaperProps, { table })), rest);
4104
4113
  return (jsxs(Paper, Object.assign({ elevation: 2 }, paperProps, { ref: (ref) => {
@@ -4110,19 +4119,19 @@ const MRT_TablePaper = (_a) => {
4110
4119
  }, style: Object.assign(Object.assign({}, (isFullScreen
4111
4120
  ? {
4112
4121
  bottom: 0,
4113
- height: '100vh',
4122
+ height: '100dvh',
4114
4123
  left: 0,
4115
4124
  margin: 0,
4116
- maxHeight: '100vh',
4117
- maxWidth: '100vw',
4125
+ maxHeight: '100dvh',
4126
+ maxWidth: '100dvw',
4118
4127
  padding: 0,
4119
4128
  position: 'fixed',
4120
4129
  right: 0,
4121
4130
  top: 0,
4122
- width: '100vw',
4131
+ width: '100dvw',
4123
4132
  zIndex: 999,
4124
4133
  }
4125
- : {})), paperProps === null || paperProps === void 0 ? void 0 : paperProps.style), sx: (theme) => (Object.assign({ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor, backgroundImage: 'unset', overflow: 'hidden', transition: 'all 100ms ease-in-out' }, parseFromValuesOrFunc(paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx, theme))), children: [enableTopToolbar &&
4134
+ : {})), 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 &&
4126
4135
  ((_b = parseFromValuesOrFunc(renderTopToolbar, { table })) !== null && _b !== void 0 ? _b : (jsx(MRT_TopToolbar, { table: table }))), jsx(MRT_TableContainer, { table: table }), enableBottomToolbar &&
4127
4136
  ((_c = parseFromValuesOrFunc(renderBottomToolbar, { table })) !== null && _c !== void 0 ? _c : (jsx(MRT_BottomToolbar, { table: table })))] })));
4128
4137
  };
@@ -4139,5 +4148,5 @@ const MaterialReactTable = (props) => {
4139
4148
  return jsx(MRT_TablePaper, { table: table });
4140
4149
  };
4141
4150
 
4142
- export { MRT_ActionMenuItem, MRT_AggregationFns, MRT_BottomToolbar, MRT_ColumnActionMenu, MRT_ColumnPinningButtons, MRT_CopyButton, MRT_DefaultColumn, MRT_DefaultDisplayColumn, MRT_EditActionButtons, MRT_EditCellTextField, MRT_EditRowModal, MRT_ExpandAllButton, MRT_ExpandButton, MRT_FilterCheckbox, MRT_FilterFns, MRT_FilterOptionMenu, MRT_FilterRangeFields, MRT_FilterRangeSlider, MRT_FilterTextField, MRT_GlobalFilterTextField, MRT_GrabHandleButton, MRT_LinearProgressBar, MRT_RowActionMenu, MRT_RowPinButton, MRT_SelectCheckbox, MRT_ShowHideColumnsButton, MRT_ShowHideColumnsMenu, MRT_ShowHideColumnsMenuItems, MRT_SortingFns, MRT_Table, MRT_TableBody, MRT_TableBodyCell, MRT_TableBodyCellValue, MRT_TableBodyRow, MRT_TableBodyRowGrabHandle, MRT_TableBodyRowPinButton, MRT_TableContainer, MRT_TableDetailPanel, MRT_TableFooter, MRT_TableFooterCell, MRT_TableFooterRow, MRT_TableHead, MRT_TableHeadCell, MRT_TableHeadCellColumnActionsButton, MRT_TableHeadCellFilterContainer, MRT_TableHeadCellFilterLabel, MRT_TableHeadCellGrabHandle, MRT_TableHeadCellResizeHandle, MRT_TableHeadCellSortLabel, MRT_TableHeadRow, MRT_TableLoadingOverlay, MRT_TablePagination, MRT_TablePaper, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleFullScreenButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTable, Memo_MRT_TableBody, Memo_MRT_TableBodyCell, Memo_MRT_TableBodyRow, createMRTColumnHelper, createRow, defaultDisplayColumnProps, flexRender, getAllLeafColumnDefs, getCanRankRows, getColumnId, getDefaultColumnFilterFn, getDefaultColumnOrderIds, getIsFirstColumn, getIsFirstRightPinnedColumn, getIsLastColumn, getIsLastLeftPinnedColumn, getIsRankingRows, getIsRowSelected, getLeadingDisplayColumnIds, getMRT_RowSelectionHandler, getMRT_Rows, getMRT_SelectAllHandler, getTotalRight, getTrailingDisplayColumnIds, isCellEditable, mrtFilterOptions, openEditingCell, prepareColumns, rankGlobalFuzzy, reorderColumn, showRowActionsColumn, showRowDragColumn, showRowExpandColumn, showRowNumbersColumn, showRowPinningColumn, showRowSelectionColumn, showRowSpacerColumn, useMRT_ColumnVirtualizer, useMRT_Effects, useMRT_RowVirtualizer, useMRT_Rows, useMRT_TableInstance, useMRT_TableOptions, useMaterialReactTable };
4151
+ export { MRT_ActionMenuItem, MRT_AggregationFns, MRT_BottomToolbar, MRT_ColumnActionMenu, MRT_ColumnPinningButtons, MRT_CopyButton, MRT_DefaultColumn, MRT_DefaultDisplayColumn, MRT_EditActionButtons, MRT_EditCellTextField, MRT_EditRowModal, MRT_ExpandAllButton, MRT_ExpandButton, MRT_FilterCheckbox, MRT_FilterFns, MRT_FilterOptionMenu, MRT_FilterRangeFields, MRT_FilterRangeSlider, MRT_FilterTextField, MRT_GlobalFilterTextField, MRT_GrabHandleButton, MRT_LinearProgressBar, MRT_RowActionMenu, MRT_RowPinButton, MRT_SelectCheckbox, MRT_ShowHideColumnsButton, MRT_ShowHideColumnsMenu, MRT_ShowHideColumnsMenuItems, MRT_SortingFns, MRT_Table, MRT_TableBody, MRT_TableBodyCell, MRT_TableBodyCellValue, MRT_TableBodyRow, MRT_TableBodyRowGrabHandle, MRT_TableBodyRowPinButton, MRT_TableContainer, MRT_TableDetailPanel, MRT_TableFooter, MRT_TableFooterCell, MRT_TableFooterRow, MRT_TableHead, MRT_TableHeadCell, MRT_TableHeadCellColumnActionsButton, MRT_TableHeadCellFilterContainer, MRT_TableHeadCellFilterLabel, MRT_TableHeadCellGrabHandle, MRT_TableHeadCellResizeHandle, MRT_TableHeadCellSortLabel, MRT_TableHeadRow, MRT_TableLoadingOverlay, MRT_TablePagination, MRT_TablePaper, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleFullScreenButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTable, Memo_MRT_TableBody, Memo_MRT_TableBodyCell, Memo_MRT_TableBodyRow, createMRTColumnHelper, createRow, defaultDisplayColumnProps, flexRender, getAllLeafColumnDefs, getCanRankRows, getColumnFilterInfo, getColumnId, getDefaultColumnFilterFn, getDefaultColumnOrderIds, getIsRankingRows, getIsRowSelected, getLeadingDisplayColumnIds, getMRT_RowSelectionHandler, getMRT_Rows, getMRT_SelectAllHandler, getTrailingDisplayColumnIds, isCellEditable, mrtFilterOptions, openEditingCell, prepareColumns, rankGlobalFuzzy, reorderColumn, showRowActionsColumn, showRowDragColumn, showRowExpandColumn, showRowNumbersColumn, showRowPinningColumn, showRowSelectionColumn, showRowSpacerColumn, useDropdownOptions, useMRT_ColumnVirtualizer, useMRT_Effects, useMRT_RowVirtualizer, useMRT_Rows, useMRT_TableInstance, useMRT_TableOptions, useMaterialReactTable };
4143
4152
  //# sourceMappingURL=index.esm.js.map