material-react-table 0.5.8 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/MaterialReactTable.d.ts +1 -10
  2. package/dist/body/MRT_TableBodyCell.d.ts +1 -1
  3. package/dist/body/MRT_TableBodyRow.d.ts +1 -1
  4. package/dist/body/MRT_TableDetailPanel.d.ts +1 -1
  5. package/dist/buttons/MRT_EditActionButtons.d.ts +1 -1
  6. package/dist/buttons/MRT_ExpandButton.d.ts +1 -1
  7. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +1 -1
  8. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
  9. package/dist/enums.d.ts +12 -0
  10. package/dist/filtersFNs.d.ts +16 -0
  11. package/dist/footer/MRT_TableFooterCell.d.ts +1 -1
  12. package/dist/footer/MRT_TableFooterRow.d.ts +1 -1
  13. package/dist/head/MRT_TableHeadCell.d.ts +1 -1
  14. package/dist/head/MRT_TableHeadRow.d.ts +1 -1
  15. package/dist/inputs/MRT_EditCellTextField.d.ts +1 -1
  16. package/dist/inputs/MRT_FilterTextField.d.ts +1 -1
  17. package/dist/inputs/MRT_SelectCheckbox.d.ts +1 -1
  18. package/dist/localization.d.ts +3 -1
  19. package/dist/material-react-table.cjs.development.js +111 -37
  20. package/dist/material-react-table.cjs.development.js.map +1 -1
  21. package/dist/material-react-table.cjs.production.min.js +1 -1
  22. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  23. package/dist/material-react-table.esm.js +100 -28
  24. package/dist/material-react-table.esm.js.map +1 -1
  25. package/dist/menus/MRT_ColumnActionMenu.d.ts +1 -1
  26. package/dist/menus/MRT_FilterTypeMenu.d.ts +1 -1
  27. package/dist/menus/MRT_RowActionMenu.d.ts +1 -1
  28. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  29. package/dist/useMRT.d.ts +1 -1
  30. package/package.json +1 -1
  31. package/src/MaterialReactTable.tsx +1 -11
  32. package/src/body/MRT_TableBody.tsx +1 -1
  33. package/src/body/MRT_TableBodyCell.tsx +1 -1
  34. package/src/body/MRT_TableBodyRow.tsx +1 -1
  35. package/src/body/MRT_TableDetailPanel.tsx +1 -1
  36. package/src/buttons/MRT_EditActionButtons.tsx +1 -1
  37. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  38. package/src/buttons/MRT_ShowHideColumnsButton.tsx +1 -1
  39. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -1
  40. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  41. package/src/enums.ts +12 -0
  42. package/src/filtersFNs.ts +30 -0
  43. package/src/footer/MRT_TableFooter.tsx +1 -1
  44. package/src/footer/MRT_TableFooterCell.tsx +1 -1
  45. package/src/footer/MRT_TableFooterRow.tsx +1 -1
  46. package/src/head/MRT_TableHead.tsx +1 -1
  47. package/src/head/MRT_TableHeadCell.tsx +1 -1
  48. package/src/head/MRT_TableHeadRow.tsx +1 -1
  49. package/src/inputs/MRT_EditCellTextField.tsx +1 -1
  50. package/src/inputs/MRT_FilterTextField.tsx +2 -2
  51. package/src/inputs/MRT_SelectCheckbox.tsx +1 -1
  52. package/src/localization.ts +6 -2
  53. package/src/menus/MRT_ColumnActionMenu.tsx +1 -1
  54. package/src/menus/MRT_FilterTypeMenu.tsx +37 -3
  55. package/src/menus/MRT_RowActionMenu.tsx +1 -1
  56. package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
  57. package/src/useMRT.tsx +25 -8
@@ -3,6 +3,7 @@ import { AlertProps, IconButtonProps, LinearProgressProps, SkeletonProps, TableB
3
3
  import { Cell, Column, ColumnInstance, FilterType, HeaderGroup, Row, TableInstance, TableOptions, TableState, UseColumnOrderInstanceProps, UseColumnOrderState, UseExpandedInstanceProps, UseExpandedOptions, UseExpandedRowProps, UseExpandedState, UseFiltersColumnOptions, UseFiltersColumnProps, UseFiltersInstanceProps, UseFiltersOptions, UseFiltersState, UseGlobalFiltersColumnOptions, UseGlobalFiltersInstanceProps, UseGlobalFiltersOptions, UseGlobalFiltersState, UseGroupByCellProps, UseGroupByColumnOptions, UseGroupByColumnProps, UseGroupByInstanceProps, UseGroupByOptions, UseGroupByRowProps, UseGroupByState, UsePaginationInstanceProps, UsePaginationOptions, UsePaginationState, UseResizeColumnsColumnOptions, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectOptions, UseRowSelectRowProps, UseRowSelectState, UseRowStateCellProps, UseRowStateInstanceProps, UseRowStateOptions, UseRowStateRowProps, UseRowStateState, UseSortByColumnOptions, UseSortByColumnProps, UseSortByInstanceProps, UseSortByOptions, UseSortByState, UseTableHeaderGroupProps, UseTableInstanceProps, UseTableOptions } from 'react-table';
4
4
  import { MRT_Localization } from './localization';
5
5
  import { MRT_Icons } from './icons';
6
+ import { MRT_FILTER_TYPE } from './enums';
6
7
  export declare type MRT_TableOptions<D extends {} = {}> = TableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseGroupByOptions<D> & UsePaginationOptions<D> & UseResizeColumnsOptions<D> & UseRowSelectOptions<D> & UseRowStateOptions<D> & UseSortByOptions<D> & {
7
8
  columns: (Column<D> & MRT_ColumnInterface)[];
8
9
  data: D[];
@@ -53,16 +54,6 @@ export declare type MRT_Row<D extends {} = {}> = Row<D> & UseExpandedRowProps<D>
53
54
  cells: MRT_Cell<D>[];
54
55
  };
55
56
  export declare type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> & UseGroupByCellProps<D> & UseRowStateCellProps<D> & {};
56
- export declare enum MRT_FILTER_TYPE {
57
- CONTAINS = "contains",
58
- EMPTY = "empty",
59
- ENDS_WITH = "endsWith",
60
- EQUALS = "equals",
61
- FUZZY = "fuzzy",
62
- NOT_EMPTY = "notEmpty",
63
- NOT_EQUALS = "notEquals",
64
- STARTS_WITH = "startsWith"
65
- }
66
57
  export declare type MRT_FilterType = MRT_FILTER_TYPE | Function;
67
58
  export declare type MRT_TableState<D extends {} = {}> = TableState<D> & UseColumnOrderState<D> & UseExpandedState<D> & UseFiltersState<D> & UseGlobalFiltersState<D> & UseGroupByState<D> & UsePaginationState<D> & UseResizeColumnsState<D> & UseRowSelectState<D> & UseRowStateState<D> & UseSortByState<D> & {
68
59
  currentEditingRow: MRT_Row<D> | null;
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Cell } from '..';
2
+ import type { MRT_Cell } from '..';
3
3
  export declare const commonTableBodyCellStyles: (densePadding: boolean) => {
4
4
  p: string;
5
5
  transition: string;
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Row } from '..';
2
+ import type { MRT_Row } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Row } from '..';
2
+ import type { MRT_Row } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Row } from '..';
2
+ import type { MRT_Row } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Row } from '..';
2
+ import type { MRT_Row } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_HeaderGroup } from '..';
2
+ import type { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
4
  column: MRT_HeaderGroup;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Row } from '..';
2
+ import type { MRT_Row } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  }
@@ -0,0 +1,12 @@
1
+ export declare enum MRT_FILTER_TYPE {
2
+ CONTAINS = "contains",
3
+ EMPTY = "empty",
4
+ ENDS_WITH = "endsWith",
5
+ EQUALS = "equals",
6
+ FUZZY = "fuzzy",
7
+ GREATER_THAN = "greaterThan",
8
+ LESS_THAN = "lessThan",
9
+ NOT_EMPTY = "notEmpty",
10
+ NOT_EQUALS = "notEquals",
11
+ STARTS_WITH = "startsWith"
12
+ }
@@ -27,6 +27,14 @@ export declare const notEqualsFilterFN: {
27
27
  (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
28
28
  autoRemove(val: any): boolean;
29
29
  };
30
+ export declare const greaterThanFilterFN: {
31
+ (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
32
+ autoRemove(val: any): boolean;
33
+ };
34
+ export declare const lessThanFilterFN: {
35
+ (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
36
+ autoRemove(val: any): boolean;
37
+ };
30
38
  export declare const emptyFilterFN: {
31
39
  (rows: MRT_Row[], id: string, _filterValue: string | number): MRT_Row<{}>[];
32
40
  autoRemove(val: any): boolean;
@@ -48,6 +56,14 @@ export declare const defaultFilterFNs: {
48
56
  (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
49
57
  autoRemove(val: any): boolean;
50
58
  };
59
+ greaterThan: {
60
+ (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
61
+ autoRemove(val: any): boolean;
62
+ };
63
+ lessThan: {
64
+ (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
65
+ autoRemove(val: any): boolean;
66
+ };
51
67
  equals: {
52
68
  (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
53
69
  autoRemove(val: any): boolean;
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_HeaderGroup } from '..';
2
+ import type { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
4
  column: MRT_HeaderGroup;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_HeaderGroup } from '..';
2
+ import type { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
4
  footerGroup: MRT_HeaderGroup;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_HeaderGroup } from '..';
2
+ import type { MRT_HeaderGroup } from '..';
3
3
  export declare const commonTableHeadCellStyles: (densePadding: boolean, enableColumnResizing?: boolean | undefined) => {
4
4
  fontWeight: string;
5
5
  height: string;
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_HeaderGroup } from '..';
2
+ import type { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
4
  headerGroup: MRT_HeaderGroup;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Cell } from '..';
2
+ import type { MRT_Cell } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_HeaderGroup } from '..';
2
+ import type { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
4
  column: MRT_HeaderGroup;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { MRT_Row } from '..';
2
+ import type { MRT_Row } from '..';
3
3
  interface Props {
4
4
  row?: MRT_Row;
5
5
  selectAll?: boolean;
@@ -1,5 +1,6 @@
1
1
  export interface MRT_Localization {
2
2
  actionsHeadColumnTitle: string;
3
+ changeFilterMode: string;
3
4
  columnActionMenuButtonTitle: string;
4
5
  columnActionMenuItemClearSort: string;
5
6
  columnActionMenuItemGroupBy: string;
@@ -17,6 +18,8 @@ export interface MRT_Localization {
17
18
  filterMenuItemEndsWith: string;
18
19
  filterMenuItemEquals: string;
19
20
  filterMenuItemFuzzy: string;
21
+ filterMenuItemGreaterThan: string;
22
+ filterMenuItemLessThan: string;
20
23
  filterMenuItemNotEmpty: string;
21
24
  filterMenuItemNotEquals: string;
22
25
  filterMenuItemStartsWith: string;
@@ -26,7 +29,6 @@ export interface MRT_Localization {
26
29
  filterTextFieldChipLabelNotEmpty: string;
27
30
  filterTextFieldClearButtonTitle: string;
28
31
  filterTextFieldPlaceholder: string;
29
- changeFilterMode: string;
30
32
  rowActionButtonCancel: string;
31
33
  rowActionButtonSave: string;
32
34
  rowActionMenuButtonTitle: string;
@@ -167,6 +167,26 @@ notEqualsFilterFN.autoRemove = function (val) {
167
167
  return !val;
168
168
  };
169
169
 
170
+ var greaterThanFilterFN = function greaterThanFilterFN(rows, id, filterValue) {
171
+ return rows.filter(function (row) {
172
+ return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
173
+ });
174
+ };
175
+
176
+ greaterThanFilterFN.autoRemove = function (val) {
177
+ return !val;
178
+ };
179
+
180
+ var lessThanFilterFN = function lessThanFilterFN(rows, id, filterValue) {
181
+ return rows.filter(function (row) {
182
+ return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
183
+ });
184
+ };
185
+
186
+ lessThanFilterFN.autoRemove = function (val) {
187
+ return !val;
188
+ };
189
+
170
190
  var emptyFilterFN = function emptyFilterFN(rows, id, _filterValue) {
171
191
  return rows.filter(function (row) {
172
192
  return !row.values[id].toString().toLowerCase().trim();
@@ -191,6 +211,8 @@ var defaultFilterFNs = {
191
211
  contains: containsFilterFN,
192
212
  empty: emptyFilterFN,
193
213
  endsWith: endsWithFilterFN,
214
+ greaterThan: greaterThanFilterFN,
215
+ lessThan: lessThanFilterFN,
194
216
  equals: equalsFilterFN,
195
217
  fuzzy: fuzzyFilterFN,
196
218
  notEmpty: notEmptyFilterFN,
@@ -232,12 +254,40 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
232
254
  return _extends({}, defaultFilterFNs, props.filterTypes);
233
255
  }, [props.filterTypes]);
234
256
 
235
- var _useState6 = React.useState(function () {
236
- return Object.assign.apply(Object, [{}].concat(props.columns.map(function (c) {
257
+ var getInitialFilterTypeState = function getInitialFilterTypeState() {
258
+ var lowestLevelColumns = props.columns;
259
+ var currentCols = props.columns;
260
+
261
+ while (!!currentCols.length && currentCols.some(function (col) {
262
+ return col.columns;
263
+ })) {
264
+ var nextCols = currentCols.filter(function (col) {
265
+ return !!col.columns;
266
+ }).map(function (col) {
267
+ return col.columns;
268
+ }).flat();
269
+
270
+ if (nextCols.every(function (col) {
271
+ return !col.columns;
272
+ })) {
273
+ lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
274
+ }
275
+
276
+ currentCols = nextCols;
277
+ }
278
+
279
+ lowestLevelColumns = lowestLevelColumns.filter(function (col) {
280
+ return !col.columns;
281
+ });
282
+ return Object.assign.apply(Object, [{}].concat(lowestLevelColumns.map(function (c) {
237
283
  var _ref, _c$filter, _props$initialState5, _props$initialState5$, _ref2;
238
284
 
239
285
  return _ref2 = {}, _ref2[c.accessor] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.filters) == null ? void 0 : _props$initialState5$[c.accessor]) != null ? _ref : !!c.filterSelectOptions ? 'equals' : 'fuzzy', _ref2;
240
286
  })));
287
+ };
288
+
289
+ var _useState6 = React.useState(function () {
290
+ return getInitialFilterTypeState();
241
291
  }),
242
292
  currentFilterTypes = _useState6[0],
243
293
  setCurrentFilterTypes = _useState6[1];
@@ -302,6 +352,21 @@ var useMRT = function useMRT() {
302
352
  return React.useContext(MaterialReactTableContext);
303
353
  };
304
354
 
355
+ var MRT_FILTER_TYPE;
356
+
357
+ (function (MRT_FILTER_TYPE) {
358
+ MRT_FILTER_TYPE["CONTAINS"] = "contains";
359
+ MRT_FILTER_TYPE["EMPTY"] = "empty";
360
+ MRT_FILTER_TYPE["ENDS_WITH"] = "endsWith";
361
+ MRT_FILTER_TYPE["EQUALS"] = "equals";
362
+ MRT_FILTER_TYPE["FUZZY"] = "fuzzy";
363
+ MRT_FILTER_TYPE["GREATER_THAN"] = "greaterThan";
364
+ MRT_FILTER_TYPE["LESS_THAN"] = "lessThan";
365
+ MRT_FILTER_TYPE["NOT_EMPTY"] = "notEmpty";
366
+ MRT_FILTER_TYPE["NOT_EQUALS"] = "notEquals";
367
+ MRT_FILTER_TYPE["STARTS_WITH"] = "startsWith";
368
+ })(MRT_FILTER_TYPE || (MRT_FILTER_TYPE = {}));
369
+
305
370
  var commonMenuItemStyles = {
306
371
  py: '6px',
307
372
  my: 0,
@@ -320,37 +385,55 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
320
385
 
321
386
  var filterTypes = React.useMemo(function () {
322
387
  return [{
323
- type: exports.MRT_FILTER_TYPE.FUZZY,
388
+ type: MRT_FILTER_TYPE.FUZZY,
324
389
  label: localization.filterMenuItemFuzzy,
325
- divider: false
390
+ divider: false,
391
+ fn: fuzzyFilterFN
326
392
  }, {
327
- type: exports.MRT_FILTER_TYPE.CONTAINS,
393
+ type: MRT_FILTER_TYPE.CONTAINS,
328
394
  label: localization.filterMenuItemContains,
329
- divider: true
395
+ divider: true,
396
+ fn: containsFilterFN
330
397
  }, {
331
- type: exports.MRT_FILTER_TYPE.STARTS_WITH,
398
+ type: MRT_FILTER_TYPE.STARTS_WITH,
332
399
  label: localization.filterMenuItemStartsWith,
333
- divider: false
400
+ divider: false,
401
+ fn: startsWithFilterFN
334
402
  }, {
335
- type: exports.MRT_FILTER_TYPE.ENDS_WITH,
403
+ type: MRT_FILTER_TYPE.ENDS_WITH,
336
404
  label: localization.filterMenuItemEndsWith,
337
- divider: true
405
+ divider: true,
406
+ fn: endsWithFilterFN
338
407
  }, {
339
- type: exports.MRT_FILTER_TYPE.EQUALS,
408
+ type: MRT_FILTER_TYPE.EQUALS,
340
409
  label: localization.filterMenuItemEquals,
341
- divider: false
410
+ divider: false,
411
+ fn: equalsFilterFN
342
412
  }, {
343
- type: exports.MRT_FILTER_TYPE.NOT_EQUALS,
413
+ type: MRT_FILTER_TYPE.NOT_EQUALS,
344
414
  label: localization.filterMenuItemNotEquals,
345
- divider: true
415
+ divider: true,
416
+ fn: notEqualsFilterFN
417
+ }, {
418
+ type: MRT_FILTER_TYPE.GREATER_THAN,
419
+ label: localization.filterMenuItemGreaterThan,
420
+ divider: false,
421
+ fn: greaterThanFilterFN
346
422
  }, {
347
- type: exports.MRT_FILTER_TYPE.EMPTY,
423
+ type: MRT_FILTER_TYPE.LESS_THAN,
424
+ label: localization.filterMenuItemLessThan,
425
+ divider: true,
426
+ fn: lessThanFilterFN
427
+ }, {
428
+ type: MRT_FILTER_TYPE.EMPTY,
348
429
  label: localization.filterMenuItemEmpty,
349
- divider: false
430
+ divider: false,
431
+ fn: emptyFilterFN
350
432
  }, {
351
- type: exports.MRT_FILTER_TYPE.NOT_EMPTY,
433
+ type: MRT_FILTER_TYPE.NOT_EMPTY,
352
434
  label: localization.filterMenuItemNotEmpty,
353
- divider: false
435
+ divider: false,
436
+ fn: notEmptyFilterFN
354
437
  }];
355
438
  }, []);
356
439
 
@@ -362,7 +445,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
362
445
  return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = value, _extends2));
363
446
  });
364
447
 
365
- if ([exports.MRT_FILTER_TYPE.EMPTY, exports.MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {
448
+ if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {
366
449
  column.setFilter(' ');
367
450
  }
368
451
 
@@ -386,14 +469,15 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
386
469
  }, filterTypes.map(function (_ref2, index) {
387
470
  var type = _ref2.type,
388
471
  label = _ref2.label,
389
- divider = _ref2.divider;
472
+ divider = _ref2.divider,
473
+ fn = _ref2.fn;
390
474
  return React__default.createElement(material.MenuItem, {
391
475
  divider: divider,
392
476
  key: index,
393
477
  onClick: function onClick() {
394
478
  return handleSelectFilterType(type);
395
479
  },
396
- selected: type === filterType,
480
+ selected: type === filterType || fn === filterType,
397
481
  sx: commonMenuItemStyles,
398
482
  value: type
399
483
  }, label);
@@ -449,7 +533,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
449
533
  setCurrentFilterTypes(function (prev) {
450
534
  var _extends2;
451
535
 
452
- return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = exports.MRT_FILTER_TYPE.FUZZY, _extends2));
536
+ return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = MRT_FILTER_TYPE.FUZZY, _extends2));
453
537
  });
454
538
  };
455
539
 
@@ -462,7 +546,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
462
546
  var filterType = tableInstance.state.currentFilterTypes[column.id];
463
547
  var isCustomFilterType = filterType instanceof Function;
464
548
  var isSelectFilter = !!column.filterSelectOptions;
465
- var filterChipLabel = !isCustomFilterType && [exports.MRT_FILTER_TYPE.EMPTY, exports.MRT_FILTER_TYPE.NOT_EMPTY].includes(filterType);
549
+ var filterChipLabel = !isCustomFilterType && [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(filterType);
466
550
  var filterPlaceholder = (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header));
467
551
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
468
552
  fullWidth: true,
@@ -502,7 +586,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
502
586
  arrow: true,
503
587
  title: localization.changeFilterMode
504
588
  }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
505
- disabled: isCustomFilterType,
506
589
  onClick: handleFilterMenuOpen,
507
590
  size: "small",
508
591
  sx: {
@@ -755,6 +838,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
755
838
  arrow: true,
756
839
  enterDelay: 1000,
757
840
  enterNextDelay: 1000,
841
+ placement: "top",
758
842
  title: localization.columnActionMenuButtonTitle
759
843
  }, React__default.createElement(material.IconButton, {
760
844
  "aria-label": localization.columnActionMenuButtonTitle,
@@ -2827,6 +2911,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
2827
2911
 
2828
2912
  var MRT_DefaultLocalization_EN = {
2829
2913
  actionsHeadColumnTitle: 'Actions',
2914
+ changeFilterMode: 'Change filter mode',
2830
2915
  columnActionMenuButtonTitle: 'Column Actions',
2831
2916
  columnActionMenuItemClearSort: 'Clear sort',
2832
2917
  columnActionMenuItemGroupBy: 'Group by {column}',
@@ -2843,8 +2928,9 @@ var MRT_DefaultLocalization_EN = {
2843
2928
  filterMenuItemEmpty: 'Empty',
2844
2929
  filterMenuItemEndsWith: 'Ends With',
2845
2930
  filterMenuItemEquals: 'Equals',
2846
- changeFilterMode: 'Change filter mode',
2847
2931
  filterMenuItemFuzzy: 'Fuzzy Match (Default)',
2932
+ filterMenuItemGreaterThan: 'Greater Than',
2933
+ filterMenuItemLessThan: 'Less Than',
2848
2934
  filterMenuItemNotEmpty: 'Not Empty',
2849
2935
  filterMenuItemNotEquals: 'Not Equals',
2850
2936
  filterMenuItemStartsWith: 'Starts With',
@@ -2902,18 +2988,6 @@ var MRT_Default_Icons = {
2902
2988
  };
2903
2989
 
2904
2990
  var _excluded = ["defaultColumn", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2905
-
2906
- (function (MRT_FILTER_TYPE) {
2907
- MRT_FILTER_TYPE["CONTAINS"] = "contains";
2908
- MRT_FILTER_TYPE["EMPTY"] = "empty";
2909
- MRT_FILTER_TYPE["ENDS_WITH"] = "endsWith";
2910
- MRT_FILTER_TYPE["EQUALS"] = "equals";
2911
- MRT_FILTER_TYPE["FUZZY"] = "fuzzy";
2912
- MRT_FILTER_TYPE["NOT_EMPTY"] = "notEmpty";
2913
- MRT_FILTER_TYPE["NOT_EQUALS"] = "notEquals";
2914
- MRT_FILTER_TYPE["STARTS_WITH"] = "startsWith";
2915
- })(exports.MRT_FILTER_TYPE || (exports.MRT_FILTER_TYPE = {}));
2916
-
2917
2991
  var MaterialReactTable = (function (_ref) {
2918
2992
  var _ref$defaultColumn = _ref.defaultColumn,
2919
2993
  defaultColumn = _ref$defaultColumn === void 0 ? {