material-react-table 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -59,7 +59,7 @@ _All features can easily be enabled/disabled_
59
59
 
60
60
  _**Fully Fleshed out [Docs](https://www.material-react-table.com/docs/guides#guides) are available for all features**_
61
61
 
62
- - [x] < 45kb gzipped - [Bundlephobia](https://bundlephobia.com/package/material-react-table)
62
+ - [x] < 47kb gzipped - [Bundlephobia](https://bundlephobia.com/package/material-react-table)
63
63
  - [x] Advanced TypeScript Generics Support (TypeScript Optional)
64
64
  - [x] Aggregation and Grouping (Sum, Average, Count, etc.)
65
65
  - [x] Click To Copy Cell Values
package/dist/cjs/index.js CHANGED
@@ -69,7 +69,9 @@ var Table = require('@mui/material/Table');
69
69
  var TableHead = require('@mui/material/TableHead');
70
70
  var TableRow = require('@mui/material/TableRow');
71
71
  var TableCell = require('@mui/material/TableCell');
72
- var material = require('@mui/material');
72
+ var Slider = require('@mui/material/Slider');
73
+ var Stack = require('@mui/material/Stack');
74
+ var FormHelperText = require('@mui/material/FormHelperText');
73
75
  var Badge = require('@mui/material/Badge');
74
76
  var TableSortLabel = require('@mui/material/TableSortLabel');
75
77
  var TableBody = require('@mui/material/TableBody');
@@ -79,7 +81,6 @@ var TableFooter = require('@mui/material/TableFooter');
79
81
  var DialogActions = require('@mui/material/DialogActions');
80
82
  var DialogContent = require('@mui/material/DialogContent');
81
83
  var DialogTitle = require('@mui/material/DialogTitle');
82
- var Stack = require('@mui/material/Stack');
83
84
 
84
85
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
85
86
 
@@ -143,6 +144,9 @@ var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
143
144
  var TableHead__default = /*#__PURE__*/_interopDefaultLegacy(TableHead);
144
145
  var TableRow__default = /*#__PURE__*/_interopDefaultLegacy(TableRow);
145
146
  var TableCell__default = /*#__PURE__*/_interopDefaultLegacy(TableCell);
147
+ var Slider__default = /*#__PURE__*/_interopDefaultLegacy(Slider);
148
+ var Stack__default = /*#__PURE__*/_interopDefaultLegacy(Stack);
149
+ var FormHelperText__default = /*#__PURE__*/_interopDefaultLegacy(FormHelperText);
146
150
  var Badge__default = /*#__PURE__*/_interopDefaultLegacy(Badge);
147
151
  var TableSortLabel__default = /*#__PURE__*/_interopDefaultLegacy(TableSortLabel);
148
152
  var TableBody__default = /*#__PURE__*/_interopDefaultLegacy(TableBody);
@@ -152,7 +156,6 @@ var TableFooter__default = /*#__PURE__*/_interopDefaultLegacy(TableFooter);
152
156
  var DialogActions__default = /*#__PURE__*/_interopDefaultLegacy(DialogActions);
153
157
  var DialogContent__default = /*#__PURE__*/_interopDefaultLegacy(DialogContent);
154
158
  var DialogTitle__default = /*#__PURE__*/_interopDefaultLegacy(DialogTitle);
155
- var Stack__default = /*#__PURE__*/_interopDefaultLegacy(Stack);
156
159
 
157
160
  /******************************************************************************
158
161
  Copyright (c) Microsoft Corporation.
@@ -861,6 +864,7 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
861
864
  const { column } = header;
862
865
  const { columnDef } = column;
863
866
  const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
867
+ const columnFilterValue = column.getFilterValue();
864
868
  const [filterMenuAnchorEl, setFilterMenuAnchorEl] = react.useState(null);
865
869
  const handleClearSort = () => {
866
870
  column.clearSorting();
@@ -916,46 +920,63 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
916
920
  !isSelectFilter &&
917
921
  (allowedColumnFilterOptions === undefined ||
918
922
  !!(allowedColumnFilterOptions === null || allowedColumnFilterOptions === void 0 ? void 0 : allowedColumnFilterOptions.length));
919
- return (jsxRuntime.jsxs(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
920
- dense: density === 'compact',
921
- }, children: [(_d = (_c = (_b = columnDef.renderColumnActionsMenuItems) === null || _b === void 0 ? void 0 : _b.call(columnDef, {
922
- closeMenu: () => setAnchorEl(null),
923
- column,
924
- table,
925
- })) !== null && _c !== void 0 ? _c : renderColumnActionsMenuItems === null || renderColumnActionsMenuItems === void 0 ? void 0 : renderColumnActionsMenuItems({
926
- closeMenu: () => setAnchorEl(null),
927
- column,
928
- table,
929
- })) !== null && _d !== void 0 ? _d : (enableSorting &&
930
- column.getCanSort() &&
931
- [
932
- enableSortingRemoval !== false && (jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getIsSorted(), onClick: handleClearSort, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(ClearAllIcon, {}) }), localization.clearSort] }) }, 0)),
933
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: column.getIsSorted() === 'asc', onClick: handleSortAsc, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(SortIcon, { style: { transform: 'rotate(180deg) scaleX(-1)' } }) }), (_e = localization.sortByColumnAsc) === null || _e === void 0 ? void 0 : _e.replace('{column}', String(columnDef.header))] }) }, 1),
934
- jsxRuntime.jsx(MenuItem__default["default"], { divider: enableColumnFilters || enableGrouping || enableHiding, disabled: column.getIsSorted() === 'desc', onClick: handleSortDesc, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(SortIcon, {}) }), (_f = localization.sortByColumnDesc) === null || _f === void 0 ? void 0 : _f.replace('{column}', String(columnDef.header))] }) }, 2),
935
- ].filter(Boolean)), enableColumnFilters &&
936
- column.getCanFilter() &&
937
- [
938
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getFilterValue(), onClick: handleClearFilter, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(FilterListOffIcon, {}) }), localization.clearFilter] }) }, 0),
939
- jsxRuntime.jsxs(MenuItem__default["default"], { disabled: showColumnFilters && !enableColumnFilterModes, divider: enableGrouping || enableHiding, onClick: showColumnFilters
940
- ? handleOpenFilterModeMenu
941
- : handleFilterByColumn, sx: commonMenuItemStyles, children: [jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(FilterListIcon, {}) }), (_g = localization.filterByColumn) === null || _g === void 0 ? void 0 : _g.replace('{column}', String(columnDef.header))] }), showFilterModeSubMenu && (jsxRuntime.jsx(IconButton__default["default"], { onClick: handleOpenFilterModeMenu, onMouseEnter: handleOpenFilterModeMenu, size: "small", sx: { p: 0 }, children: jsxRuntime.jsx(ArrowRightIcon, {}) }))] }, 1),
942
- showFilterModeSubMenu && (jsxRuntime.jsx(MRT_FilterOptionMenu, { anchorEl: filterMenuAnchorEl, header: header, onSelect: handleFilterByColumn, setAnchorEl: setFilterMenuAnchorEl, table: table }, 2)),
943
- ].filter(Boolean), enableGrouping &&
944
- column.getCanGroup() && [
945
- jsxRuntime.jsx(MenuItem__default["default"], { divider: enablePinning, onClick: handleGroupByColumn, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(DynamicFeedIcon, {}) }), (_h = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) === null || _h === void 0 ? void 0 : _h.replace('{column}', String(columnDef.header))] }) }, 0),
946
- ], enablePinning &&
947
- column.getCanPin() && [
948
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: column.getIsPinned() === 'left' || !column.getCanPin(), onClick: () => handlePinColumn('left'), sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(PushPinIcon, { style: { transform: 'rotate(90deg)' } }) }), localization.pinToLeft] }) }, 0),
949
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: column.getIsPinned() === 'right' || !column.getCanPin(), onClick: () => handlePinColumn('right'), sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(PushPinIcon, { style: { transform: 'rotate(-90deg)' } }) }), localization.pinToRight] }) }, 1),
950
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getIsPinned(), divider: enableHiding, onClick: () => handlePinColumn(false), sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(PushPinIcon, {}) }), localization.unpin] }) }, 2),
951
- ], enableColumnResizing &&
952
- column.getCanResize() && [
953
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: !columnSizing[column.id], onClick: handleResetColumnSize, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(RestartAltIcon, {}) }), localization.resetColumnSize] }) }, 0),
954
- ], enableHiding && [
955
- jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getCanHide(), onClick: handleHideColumn, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(VisibilityOffIcon, {}) }), (_j = localization.hideColumn) === null || _j === void 0 ? void 0 : _j.replace('{column}', String(columnDef.header))] }) }, 0),
923
+ const internalColumnMenuItems = [
924
+ ...(enableSorting && column.getCanSort()
925
+ ? [
926
+ enableSortingRemoval !== false && (jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getIsSorted(), onClick: handleClearSort, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(ClearAllIcon, {}) }), localization.clearSort] }) }, 0)),
927
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: column.getIsSorted() === 'asc', onClick: handleSortAsc, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(SortIcon, { style: { transform: 'rotate(180deg) scaleX(-1)' } }) }), (_b = localization.sortByColumnAsc) === null || _b === void 0 ? void 0 : _b.replace('{column}', String(columnDef.header))] }) }, 1),
928
+ jsxRuntime.jsx(MenuItem__default["default"], { divider: enableColumnFilters || enableGrouping || enableHiding, disabled: column.getIsSorted() === 'desc', onClick: handleSortDesc, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(SortIcon, {}) }), (_c = localization.sortByColumnDesc) === null || _c === void 0 ? void 0 : _c.replace('{column}', String(columnDef.header))] }) }, 2),
929
+ ]
930
+ : []),
931
+ ...(enableColumnFilters && column.getCanFilter()
932
+ ? [
933
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: !columnFilterValue ||
934
+ (Array.isArray(columnFilterValue) &&
935
+ !columnFilterValue.filter((value) => value).length), onClick: handleClearFilter, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(FilterListOffIcon, {}) }), localization.clearFilter] }) }, 3),
936
+ jsxRuntime.jsxs(MenuItem__default["default"], { disabled: showColumnFilters && !enableColumnFilterModes, divider: enableGrouping || enableHiding, onClick: showColumnFilters
937
+ ? handleOpenFilterModeMenu
938
+ : handleFilterByColumn, sx: commonMenuItemStyles, children: [jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(FilterListIcon, {}) }), (_d = localization.filterByColumn) === null || _d === void 0 ? void 0 : _d.replace('{column}', String(columnDef.header))] }), showFilterModeSubMenu && (jsxRuntime.jsx(IconButton__default["default"], { onClick: handleOpenFilterModeMenu, onMouseEnter: handleOpenFilterModeMenu, size: "small", sx: { p: 0 }, children: jsxRuntime.jsx(ArrowRightIcon, {}) }))] }, 4),
939
+ showFilterModeSubMenu && (jsxRuntime.jsx(MRT_FilterOptionMenu, { anchorEl: filterMenuAnchorEl, header: header, onSelect: handleFilterByColumn, setAnchorEl: setFilterMenuAnchorEl, table: table }, 5)),
940
+ ]
941
+ : []),
942
+ ...(enableGrouping && column.getCanGroup()
943
+ ? [
944
+ jsxRuntime.jsx(MenuItem__default["default"], { divider: enablePinning, onClick: handleGroupByColumn, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(DynamicFeedIcon, {}) }), (_e = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) === null || _e === void 0 ? void 0 : _e.replace('{column}', String(columnDef.header))] }) }, 6),
945
+ ]
946
+ : []),
947
+ ...(enablePinning && column.getCanPin()
948
+ ? [
949
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: column.getIsPinned() === 'left' || !column.getCanPin(), onClick: () => handlePinColumn('left'), sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(PushPinIcon, { style: { transform: 'rotate(90deg)' } }) }), localization.pinToLeft] }) }, 7),
950
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: column.getIsPinned() === 'right' || !column.getCanPin(), onClick: () => handlePinColumn('right'), sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(PushPinIcon, { style: { transform: 'rotate(-90deg)' } }) }), localization.pinToRight] }) }, 8),
951
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getIsPinned(), divider: enableHiding, onClick: () => handlePinColumn(false), sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(PushPinIcon, {}) }), localization.unpin] }) }, 9),
952
+ ]
953
+ : []),
954
+ ...(enableColumnResizing && column.getCanResize()
955
+ ? [
956
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: !columnSizing[column.id], onClick: handleResetColumnSize, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(RestartAltIcon, {}) }), localization.resetColumnSize] }) }, 10),
957
+ ]
958
+ : []),
959
+ ...(enableHiding
960
+ ? [
961
+ jsxRuntime.jsx(MenuItem__default["default"], { disabled: !column.getCanHide(), onClick: handleHideColumn, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(VisibilityOffIcon, {}) }), (_f = localization.hideColumn) === null || _f === void 0 ? void 0 : _f.replace('{column}', String(columnDef.header))] }) }, 11),
956
962
  jsxRuntime.jsx(MenuItem__default["default"], { disabled: !Object.values(columnVisibility).filter((visible) => !visible)
957
- .length, onClick: handleShowAllColumns, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(ViewColumnIcon, {}) }), (_k = localization.showAllColumns) === null || _k === void 0 ? void 0 : _k.replace('{column}', String(columnDef.header))] }) }, 1),
958
- ]] }));
963
+ .length, onClick: handleShowAllColumns, sx: commonMenuItemStyles, children: jsxRuntime.jsxs(Box__default["default"], { sx: commonListItemStyles, children: [jsxRuntime.jsx(ListItemIcon__default["default"], { children: jsxRuntime.jsx(ViewColumnIcon, {}) }), (_g = localization.showAllColumns) === null || _g === void 0 ? void 0 : _g.replace('{column}', String(columnDef.header))] }) }, 12),
964
+ ]
965
+ : []),
966
+ ].filter(Boolean);
967
+ return (jsxRuntime.jsx(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
968
+ dense: density === 'compact',
969
+ }, children: (_k = (_j = (_h = columnDef.renderColumnActionsMenuItems) === null || _h === void 0 ? void 0 : _h.call(columnDef, {
970
+ closeMenu: () => setAnchorEl(null),
971
+ column,
972
+ internalColumnMenuItems,
973
+ table,
974
+ })) !== null && _j !== void 0 ? _j : renderColumnActionsMenuItems === null || renderColumnActionsMenuItems === void 0 ? void 0 : renderColumnActionsMenuItems({
975
+ closeMenu: () => setAnchorEl(null),
976
+ column,
977
+ internalColumnMenuItems,
978
+ table,
979
+ })) !== null && _k !== void 0 ? _k : internalColumnMenuItems }));
959
980
  };
960
981
 
961
982
  const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) => {
@@ -1730,6 +1751,8 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1730
1751
  ? textFieldProps.sx(theme)
1731
1752
  : textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.sx))), children: [(isSelectFilter || isMultiSelectFilter) && (jsxRuntime.jsx(MenuItem__default["default"], { divider: true, disabled: true, hidden: true, value: "", children: jsxRuntime.jsx(Box__default["default"], { sx: { opacity: 0.5 }, children: filterPlaceholder }) })), (_k = textFieldProps.children) !== null && _k !== void 0 ? _k : filterSelectOptions === null || filterSelectOptions === void 0 ? void 0 : filterSelectOptions.map((option) => {
1732
1753
  var _a;
1754
+ if (!option)
1755
+ return '';
1733
1756
  let value;
1734
1757
  let text;
1735
1758
  if (typeof option !== 'object') {
@@ -1810,9 +1833,18 @@ const MRT_FilterRangeSlider = ({ header, table }) => {
1810
1833
  })
1811
1834
  : columnDef.muiTableHeadCellFilterSliderProps;
1812
1835
  const sliderProps = Object.assign(Object.assign({}, mTableHeadCellFilterTextFieldProps), mcTableHeadCellFilterTextFieldProps);
1813
- const [min, max] = sliderProps.min !== undefined && sliderProps.max !== undefined
1836
+ let [min, max] = sliderProps.min !== undefined && sliderProps.max !== undefined
1814
1837
  ? [sliderProps.min, sliderProps.max]
1815
- : (_a = column.getFacetedMinMaxValues()) !== null && _a !== void 0 ? _a : [0, 0];
1838
+ : (_a = column.getFacetedMinMaxValues()) !== null && _a !== void 0 ? _a : [0, 1];
1839
+ //fix potential TanStack Table bugs where min or max is an array
1840
+ if (Array.isArray(min))
1841
+ min = min[0];
1842
+ if (Array.isArray(max))
1843
+ max = max[0];
1844
+ if (min === null)
1845
+ min = 0;
1846
+ if (max === null)
1847
+ max = 1;
1816
1848
  const [filterValues, setFilterValues] = react.useState([min, max]);
1817
1849
  const columnFilterValue = column.getFilterValue();
1818
1850
  const isMounted = react.useRef(false);
@@ -1822,20 +1854,23 @@ const MRT_FilterRangeSlider = ({ header, table }) => {
1822
1854
  setFilterValues([min, max]);
1823
1855
  }
1824
1856
  else if (Array.isArray(columnFilterValue)) {
1825
- if (columnFilterValue[0] <= min && columnFilterValue[1] >= max) {
1826
- column.setFilterValue(undefined);
1827
- }
1828
- else {
1829
- setFilterValues(columnFilterValue);
1830
- }
1857
+ setFilterValues(columnFilterValue);
1831
1858
  }
1832
1859
  }
1833
1860
  isMounted.current = true;
1834
- }, [column.getFilterValue()]);
1835
- return (jsxRuntime.jsxs(material.Stack, { children: [jsxRuntime.jsx(material.Slider, Object.assign({ disableSwap: true, min: min, max: max, onChange: (_event, value) => {
1836
- setFilterValues(value);
1861
+ }, [columnFilterValue, min, max]);
1862
+ return (jsxRuntime.jsxs(Stack__default["default"], { children: [jsxRuntime.jsx(Slider__default["default"], Object.assign({ disableSwap: true, min: min, max: max, onChange: (_event, values) => {
1863
+ setFilterValues(values);
1837
1864
  }, onChangeCommitted: (_event, value) => {
1838
- column.setFilterValue(value);
1865
+ if (Array.isArray(value)) {
1866
+ if (value[0] <= min && value[1] >= max) {
1867
+ //if the user has selected the entire range, remove the filter
1868
+ column.setFilterValue(undefined);
1869
+ }
1870
+ else {
1871
+ column.setFilterValue(value);
1872
+ }
1873
+ }
1839
1874
  }, value: filterValues, valueLabelDisplay: "auto" }, sliderProps, { slotProps: {
1840
1875
  input: {
1841
1876
  ref: (node) => {
@@ -1852,7 +1887,7 @@ const MRT_FilterRangeSlider = ({ header, table }) => {
1852
1887
  },
1853
1888
  }, sx: (theme) => (Object.assign({ m: 'auto', mt: !showChangeModeButton ? '10px' : '6px', px: '4px', width: 'calc(100% - 8px)' }, ((sliderProps === null || sliderProps === void 0 ? void 0 : sliderProps.sx) instanceof Function
1854
1889
  ? sliderProps.sx(theme)
1855
- : sliderProps === null || sliderProps === void 0 ? void 0 : sliderProps.sx))) })), showChangeModeButton ? (jsxRuntime.jsx(material.FormHelperText, { sx: {
1890
+ : sliderProps === null || sliderProps === void 0 ? void 0 : sliderProps.sx))) })), showChangeModeButton ? (jsxRuntime.jsx(FormHelperText__default["default"], { sx: {
1856
1891
  m: '-3px -6px',
1857
1892
  fontSize: '0.75rem',
1858
1893
  lineHeight: '0.8rem',
@@ -1873,18 +1908,18 @@ const MRT_TableHeadCellFilterContainer = ({ header, table }) => {
1873
1908
  };
1874
1909
 
1875
1910
  const MRT_TableHeadCellFilterLabel = ({ header, table }) => {
1876
- var _a, _b, _c;
1911
+ var _a, _b, _c, _d;
1877
1912
  const { options: { icons: { FilterAltIcon }, localization, }, refs: { filterInputRefs }, setShowColumnFilters, } = table;
1878
1913
  const { column } = header;
1879
1914
  const { columnDef } = column;
1880
- const isRangeFilter = columnDef.filterVariant === 'range' ||
1915
+ const isRangeFilter = ['range', 'ranger-slider'].includes((_a = columnDef.filterVariant) !== null && _a !== void 0 ? _a : '') ||
1881
1916
  ['between', 'betweenInclusive', 'inNumberRange'].includes(columnDef._filterFn);
1882
1917
  const currentFilterOption = columnDef._filterFn;
1883
1918
  const filterTooltip = localization.filteringByColumn
1884
1919
  .replace('{column}', String(columnDef.header))
1885
1920
  .replace('{filterType}',
1886
1921
  // @ts-ignore
1887
- localization[`filter${((_a = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _a === void 0 ? void 0 : _a.toUpperCase()) +
1922
+ localization[`filter${((_b = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _b === void 0 ? void 0 : _b.toUpperCase()) +
1888
1923
  (currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.slice(1))}`])
1889
1924
  .replace('{filterValue}', `"${Array.isArray(column.getFilterValue())
1890
1925
  ? column.getFilterValue().join(`" ${isRangeFilter ? localization.and : localization.or} "`)
@@ -1892,7 +1927,7 @@ const MRT_TableHeadCellFilterLabel = ({ header, table }) => {
1892
1927
  .replace('" "', '');
1893
1928
  return (jsxRuntime.jsx(Grow__default["default"], { unmountOnExit: true, in: (!!column.getFilterValue() && !isRangeFilter) ||
1894
1929
  (isRangeFilter && // @ts-ignore
1895
- (!!((_b = column.getFilterValue()) === null || _b === void 0 ? void 0 : _b[0]) || !!((_c = column.getFilterValue()) === null || _c === void 0 ? void 0 : _c[1]))), children: jsxRuntime.jsx(Box__default["default"], { component: "span", sx: { flex: '0 0' }, children: jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, placement: "top", title: filterTooltip, children: jsxRuntime.jsx(IconButton__default["default"], { disableRipple: true, onClick: (event) => {
1930
+ (!!((_c = column.getFilterValue()) === null || _c === void 0 ? void 0 : _c[0]) || !!((_d = column.getFilterValue()) === null || _d === void 0 ? void 0 : _d[1]))), children: jsxRuntime.jsx(Box__default["default"], { component: "span", sx: { flex: '0 0' }, children: jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, placement: "top", title: filterTooltip, children: jsxRuntime.jsx(IconButton__default["default"], { disableRipple: true, onClick: (event) => {
1896
1931
  setShowColumnFilters(true);
1897
1932
  queueMicrotask(() => {
1898
1933
  var _a, _b;