material-react-table 2.11.2 → 2.12.0

Sign up to get free protection for your applications and to get access to all the features.
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