material-react-table 0.6.1 → 0.6.2

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.
@@ -1,6 +1,6 @@
1
1
  import { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';
2
2
  import { AlertProps, IconButtonProps, LinearProgressProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
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';
3
+ import { Cell, Column, ColumnInstance, FilterType, ColumnInterface, 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
6
  import { MRT_FILTER_TYPE } from './enums';
@@ -19,7 +19,7 @@ export declare type MRT_TableInstance<D extends {} = {}> = TableInstance<D> & Us
19
19
  resetResizing: () => void;
20
20
  getToggleAllRowsExpandedProps: () => void;
21
21
  };
22
- export declare type MRT_ColumnInterface<D extends {} = {}> = UseFiltersColumnOptions<D> & UseGlobalFiltersColumnOptions<D> & UseGroupByColumnOptions<D> & UseResizeColumnsColumnOptions<D> & UseSortByColumnOptions<D> & {
22
+ export declare type MRT_ColumnInterface<D extends {} = {}> = ColumnInterface<D> & UseFiltersColumnOptions<D> & UseGlobalFiltersColumnOptions<D> & UseGroupByColumnOptions<D> & UseResizeColumnsColumnOptions<D> & UseSortByColumnOptions<D> & {
23
23
  Edit?: ({ cell, onChange, }: {
24
24
  cell: MRT_Cell<D>;
25
25
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
@@ -29,6 +29,8 @@ export declare type MRT_ColumnInterface<D extends {} = {}> = UseFiltersColumnOpt
29
29
  }) => ReactNode;
30
30
  Footer?: string;
31
31
  Header?: string;
32
+ accessor: string;
33
+ columns?: (Column<D> & MRT_ColumnInterface<D>)[];
32
34
  disableFilters?: boolean;
33
35
  editable?: boolean;
34
36
  filter?: MRT_FilterType | string | FilterType<D>;
@@ -36,6 +38,7 @@ export declare type MRT_ColumnInterface<D extends {} = {}> = UseFiltersColumnOpt
36
38
  text: string;
37
39
  value: string;
38
40
  })[];
41
+ filterTypes: MRT_FILTER_TYPE[];
39
42
  muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell: MRT_Cell<D>) => TextFieldProps);
40
43
  muiTableBodyCellProps?: TableCellProps | ((cell: MRT_Cell<D>) => TableCellProps);
41
44
  muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
@@ -44,7 +47,7 @@ export declare type MRT_ColumnInterface<D extends {} = {}> = UseFiltersColumnOpt
44
47
  onCellEditChange?: (event: ChangeEvent<HTMLInputElement>, cell: MRT_Cell<D>) => void;
45
48
  onFilterChange?: (event: ChangeEvent<HTMLInputElement>, filterValue: any) => void;
46
49
  };
47
- export declare type MRT_ColumnInstance<D extends {} = {}> = ColumnInstance<D> & UseFiltersColumnProps<D> & UseGroupByColumnProps<D> & UseResizeColumnsColumnProps<D> & UseSortByColumnProps<D> & {
50
+ export declare type MRT_ColumnInstance<D extends {} = {}> = ColumnInstance<D> & UseFiltersColumnProps<D> & UseGroupByColumnProps<D> & UseResizeColumnsColumnProps<D> & UseSortByColumnProps<D> & MRT_ColumnInterface<D> & {
48
51
  columns?: MRT_ColumnInstance<D>[];
49
52
  };
50
53
  export declare type MRT_HeaderGroup<D extends {} = {}> = HeaderGroup<D> & MRT_ColumnInstance<D> & UseTableHeaderGroupProps<D> & {
@@ -53,7 +56,9 @@ export declare type MRT_HeaderGroup<D extends {} = {}> = HeaderGroup<D> & MRT_Co
53
56
  export declare type MRT_Row<D extends {} = {}> = Row<D> & UseExpandedRowProps<D> & UseGroupByRowProps<D> & UseRowSelectRowProps<D> & UseRowStateRowProps<D> & {
54
57
  cells: MRT_Cell<D>[];
55
58
  };
56
- export declare type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> & UseGroupByCellProps<D> & UseRowStateCellProps<D> & {};
59
+ export declare type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> & UseGroupByCellProps<D> & UseRowStateCellProps<D> & {
60
+ column: MRT_ColumnInstance<D>;
61
+ };
57
62
  export declare type MRT_FilterType = MRT_FILTER_TYPE | Function;
58
63
  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> & {
59
64
  currentEditingRow: MRT_Row<D> | null;
@@ -79,6 +84,9 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
79
84
  enableRowEditing?: boolean;
80
85
  enableRowNumbers?: boolean;
81
86
  enableSelection?: boolean;
87
+ filterTypes?: {
88
+ [key in MRT_FILTER_TYPE]: any;
89
+ };
82
90
  hideTableFooter?: boolean;
83
91
  hideTableHead?: boolean;
84
92
  hideToolbarBottom?: boolean;
@@ -135,5 +143,5 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
135
143
  MRT_FullScreenToggleButton: FC<IconButtonProps>;
136
144
  }) => ReactNode;
137
145
  };
138
- declare const _default: <D extends {}>({ defaultColumn, icons, localization, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
146
+ declare const _default: <D extends {}>({ defaultColumn, filterTypes, globalFilter, icons, localization, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
139
147
  export default _default;
@@ -1,10 +1,6 @@
1
1
  import { MRT_Row } from '.';
2
- export declare const fuzzySearchFN: {
3
- (rows: MRT_Row[], columnIds: string[], filterValue: string | number): MRT_Row<{}>[];
4
- autoRemove(val: any): boolean;
5
- };
6
2
  export declare const fuzzyFilterFN: {
7
- (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
3
+ (rows: MRT_Row[], columnIds: string[] | string, filterValue: string | number): MRT_Row<{}>[];
8
4
  autoRemove(val: any): boolean;
9
5
  };
10
6
  export declare const containsFilterFN: {
@@ -61,11 +57,7 @@ export declare const defaultFilterFNs: {
61
57
  autoRemove(val: any): boolean;
62
58
  };
63
59
  fuzzy: {
64
- (rows: MRT_Row[], id: string, filterValue: string | number): MRT_Row<{}>[];
65
- autoRemove(val: any): boolean;
66
- };
67
- globalFuzzy: {
68
- (rows: MRT_Row[], columnIds: string[], filterValue: string | number): MRT_Row<{}>[];
60
+ (rows: MRT_Row[], columnIds: string[] | string, filterValue: string | number): MRT_Row<{}>[];
69
61
  autoRemove(val: any): boolean;
70
62
  };
71
63
  greaterThan: {
@@ -7,8 +7,8 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
7
7
  var React = require('react');
8
8
  var React__default = _interopDefault(React);
9
9
  var reactTable = require('react-table');
10
- var matchSorter = require('match-sorter');
11
10
  var material = require('@mui/material');
11
+ var matchSorter = require('match-sorter');
12
12
  var ArrowRightIcon = _interopDefault(require('@mui/icons-material/ArrowRight'));
13
13
  var CancelIcon = _interopDefault(require('@mui/icons-material/Cancel'));
14
14
  var ClearAllIcon = _interopDefault(require('@mui/icons-material/ClearAll'));
@@ -104,144 +104,12 @@ function _objectWithoutPropertiesLoose(source, excluded) {
104
104
  return target;
105
105
  }
106
106
 
107
- var fuzzySearchFN = function fuzzySearchFN(rows, columnIds, filterValue) {
108
- return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
109
- keys: columnIds.map(function (c) {
110
- return "values." + c;
111
- }),
112
- sorter: function sorter(rankedItems) {
113
- return rankedItems;
114
- }
115
- });
116
- };
117
-
118
- fuzzySearchFN.autoRemove = function (val) {
119
- return !val;
120
- };
121
-
122
- var fuzzyFilterFN = function fuzzyFilterFN(rows, id, filterValue) {
123
- return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
124
- keys: ["values." + id],
125
- sorter: function sorter(rankedItems) {
126
- return rankedItems;
127
- }
128
- });
129
- };
130
-
131
- fuzzyFilterFN.autoRemove = function (val) {
132
- return !val;
133
- };
134
-
135
- var containsFilterFN = function containsFilterFN(rows, id, filterValue) {
136
- return rows.filter(function (row) {
137
- return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
138
- });
139
- };
140
-
141
- containsFilterFN.autoRemove = function (val) {
142
- return !val;
143
- };
144
-
145
- var startsWithFilterFN = function startsWithFilterFN(rows, id, filterValue) {
146
- return rows.filter(function (row) {
147
- return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
148
- });
149
- };
150
-
151
- startsWithFilterFN.autoRemove = function (val) {
152
- return !val;
153
- };
154
-
155
- var endsWithFilterFN = function endsWithFilterFN(rows, id, filterValue) {
156
- return rows.filter(function (row) {
157
- return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
158
- });
159
- };
160
-
161
- endsWithFilterFN.autoRemove = function (val) {
162
- return !val;
163
- };
164
-
165
- var equalsFilterFN = function equalsFilterFN(rows, id, filterValue) {
166
- return rows.filter(function (row) {
167
- return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
168
- });
169
- };
170
-
171
- equalsFilterFN.autoRemove = function (val) {
172
- return !val;
173
- };
174
-
175
- var notEqualsFilterFN = function notEqualsFilterFN(rows, id, filterValue) {
176
- return rows.filter(function (row) {
177
- return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
178
- });
179
- };
180
-
181
- notEqualsFilterFN.autoRemove = function (val) {
182
- return !val;
183
- };
184
-
185
- var greaterThanFilterFN = function greaterThanFilterFN(rows, id, filterValue) {
186
- return rows.filter(function (row) {
187
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
188
- });
189
- };
190
-
191
- greaterThanFilterFN.autoRemove = function (val) {
192
- return !val;
193
- };
194
-
195
- var lessThanFilterFN = function lessThanFilterFN(rows, id, filterValue) {
196
- return rows.filter(function (row) {
197
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
198
- });
199
- };
200
-
201
- lessThanFilterFN.autoRemove = function (val) {
202
- return !val;
203
- };
204
-
205
- var emptyFilterFN = function emptyFilterFN(rows, id, _filterValue) {
206
- return rows.filter(function (row) {
207
- return !row.values[id].toString().toLowerCase().trim();
208
- });
209
- };
210
-
211
- emptyFilterFN.autoRemove = function (val) {
212
- return !val;
213
- };
214
-
215
- var notEmptyFilterFN = function notEmptyFilterFN(rows, id, _filterValue) {
216
- return rows.filter(function (row) {
217
- return !!row.values[id].toString().toLowerCase().trim();
218
- });
219
- };
220
-
221
- notEmptyFilterFN.autoRemove = function (val) {
222
- return !val;
223
- };
224
-
225
- var defaultFilterFNs = {
226
- contains: containsFilterFN,
227
- empty: emptyFilterFN,
228
- endsWith: endsWithFilterFN,
229
- equals: equalsFilterFN,
230
- fuzzy: fuzzyFilterFN,
231
- globalFuzzy: fuzzySearchFN,
232
- greaterThan: greaterThanFilterFN,
233
- lessThan: lessThanFilterFN,
234
- notEmpty: notEmptyFilterFN,
235
- notEquals: notEqualsFilterFN,
236
- startsWith: startsWithFilterFN
237
- };
238
-
239
107
  var MaterialReactTableContext = /*#__PURE__*/function () {
240
108
  return React.createContext({});
241
109
  }();
242
110
 
243
111
  var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
244
- var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4, _props$globalFilter;
112
+ var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
245
113
 
246
114
  var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
247
115
  if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
@@ -266,9 +134,6 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
266
134
  showSearch = _useState5[0],
267
135
  setShowSearch = _useState5[1];
268
136
 
269
- var filterTypes = React.useMemo(function () {
270
- return _extends({}, defaultFilterFNs, props.filterTypes);
271
- }, [props.filterTypes]);
272
137
  var findLowestLevelCols = React.useCallback(function () {
273
138
  var lowestLevelColumns = props.columns;
274
139
  var currentCols = props.columns;
@@ -306,17 +171,26 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
306
171
  currentFilterTypes = _useState6[0],
307
172
  setCurrentFilterTypes = _useState6[1];
308
173
 
309
- var columns = React.useMemo(function () {
310
- return findLowestLevelCols().map(function (column) {
311
- column.filter = filterTypes[currentFilterTypes[column.accessor]];
174
+ var applyFiltersToColumns = React.useCallback(function (cols) {
175
+ return cols.map(function (column) {
176
+ if (column.columns) {
177
+ applyFiltersToColumns(column.columns);
178
+ } else {
179
+ var _props$filterTypes;
180
+
181
+ column.filter = props == null ? void 0 : (_props$filterTypes = props.filterTypes) == null ? void 0 : _props$filterTypes[currentFilterTypes[column.accessor]];
182
+ }
183
+
312
184
  return column;
313
185
  });
314
- }, [props.columns, filterTypes, currentFilterTypes]);
315
- var tableInstance = reactTable.useTable.apply(void 0, [_extends({}, props, {
316
- columns: columns,
186
+ }, [currentFilterTypes, props.filterTypes]);
187
+ var columns = React.useMemo(function () {
188
+ return applyFiltersToColumns(props.columns);
189
+ }, [props.columns, applyFiltersToColumns]);
190
+ var tableInstance = reactTable.useTable.apply(void 0, [// @ts-ignore
191
+ _extends({}, props, {
317
192
  // @ts-ignore
318
- filterTypes: filterTypes,
319
- globalFilter: (_props$globalFilter = props.globalFilter) != null ? _props$globalFilter : 'globalFuzzy',
193
+ columns: columns,
320
194
  useControlledState: function useControlledState(state) {
321
195
  return React.useMemo(function () {
322
196
  return _extends({}, state, {
@@ -381,6 +255,124 @@ var MRT_FILTER_TYPE;
381
255
  MRT_FILTER_TYPE["STARTS_WITH"] = "startsWith";
382
256
  })(MRT_FILTER_TYPE || (MRT_FILTER_TYPE = {}));
383
257
 
258
+ var fuzzyFilterFN = function fuzzyFilterFN(rows, columnIds, filterValue) {
259
+ return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
260
+ keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
261
+ return "values." + c;
262
+ }) : ["values." + columnIds],
263
+ sorter: function sorter(rankedItems) {
264
+ return rankedItems;
265
+ }
266
+ });
267
+ };
268
+
269
+ fuzzyFilterFN.autoRemove = function (val) {
270
+ return !val;
271
+ };
272
+
273
+ var containsFilterFN = function containsFilterFN(rows, id, filterValue) {
274
+ return rows.filter(function (row) {
275
+ return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
276
+ });
277
+ };
278
+
279
+ containsFilterFN.autoRemove = function (val) {
280
+ return !val;
281
+ };
282
+
283
+ var startsWithFilterFN = function startsWithFilterFN(rows, id, filterValue) {
284
+ return rows.filter(function (row) {
285
+ return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
286
+ });
287
+ };
288
+
289
+ startsWithFilterFN.autoRemove = function (val) {
290
+ return !val;
291
+ };
292
+
293
+ var endsWithFilterFN = function endsWithFilterFN(rows, id, filterValue) {
294
+ return rows.filter(function (row) {
295
+ return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
296
+ });
297
+ };
298
+
299
+ endsWithFilterFN.autoRemove = function (val) {
300
+ return !val;
301
+ };
302
+
303
+ var equalsFilterFN = function equalsFilterFN(rows, id, filterValue) {
304
+ return rows.filter(function (row) {
305
+ return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
306
+ });
307
+ };
308
+
309
+ equalsFilterFN.autoRemove = function (val) {
310
+ return !val;
311
+ };
312
+
313
+ var notEqualsFilterFN = function notEqualsFilterFN(rows, id, filterValue) {
314
+ return rows.filter(function (row) {
315
+ return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
316
+ });
317
+ };
318
+
319
+ notEqualsFilterFN.autoRemove = function (val) {
320
+ return !val;
321
+ };
322
+
323
+ var greaterThanFilterFN = function greaterThanFilterFN(rows, id, filterValue) {
324
+ return rows.filter(function (row) {
325
+ return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
326
+ });
327
+ };
328
+
329
+ greaterThanFilterFN.autoRemove = function (val) {
330
+ return !val;
331
+ };
332
+
333
+ var lessThanFilterFN = function lessThanFilterFN(rows, id, filterValue) {
334
+ return rows.filter(function (row) {
335
+ return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
336
+ });
337
+ };
338
+
339
+ lessThanFilterFN.autoRemove = function (val) {
340
+ return !val;
341
+ };
342
+
343
+ var emptyFilterFN = function emptyFilterFN(rows, id, _filterValue) {
344
+ return rows.filter(function (row) {
345
+ return !row.values[id].toString().toLowerCase().trim();
346
+ });
347
+ };
348
+
349
+ emptyFilterFN.autoRemove = function (val) {
350
+ return !val;
351
+ };
352
+
353
+ var notEmptyFilterFN = function notEmptyFilterFN(rows, id, _filterValue) {
354
+ return rows.filter(function (row) {
355
+ return !!row.values[id].toString().toLowerCase().trim();
356
+ });
357
+ };
358
+
359
+ notEmptyFilterFN.autoRemove = function (val) {
360
+ return !val;
361
+ };
362
+
363
+ var defaultFilterFNs = {
364
+ contains: containsFilterFN,
365
+ empty: emptyFilterFN,
366
+ endsWith: endsWithFilterFN,
367
+ equals: equalsFilterFN,
368
+ fuzzy: fuzzyFilterFN,
369
+ greaterThan: greaterThanFilterFN,
370
+ lessThan: lessThanFilterFN,
371
+ notEmpty: notEmptyFilterFN,
372
+ notEquals: notEqualsFilterFN,
373
+ startsWith: startsWithFilterFN
374
+ };
375
+
384
376
  var commonMenuItemStyles = {
385
377
  py: '6px',
386
378
  my: 0,
@@ -608,6 +600,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
608
600
  arrow: true,
609
601
  title: localization.changeFilterMode
610
602
  }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
603
+ "aria-label": localization.changeFilterMode,
611
604
  onClick: handleFilterMenuOpen,
612
605
  size: "small",
613
606
  sx: {
@@ -3061,13 +3054,16 @@ var MRT_Default_Icons = {
3061
3054
  VisibilityOffIcon: VisibilityOffIcon
3062
3055
  };
3063
3056
 
3064
- var _excluded = ["defaultColumn", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3057
+ var _excluded = ["defaultColumn", "filterTypes", "globalFilter", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3065
3058
  var MaterialReactTable = (function (_ref) {
3066
3059
  var _ref$defaultColumn = _ref.defaultColumn,
3067
3060
  defaultColumn = _ref$defaultColumn === void 0 ? {
3068
3061
  minWidth: 50,
3069
3062
  maxWidth: 1000
3070
3063
  } : _ref$defaultColumn,
3064
+ filterTypes = _ref.filterTypes,
3065
+ _ref$globalFilter = _ref.globalFilter,
3066
+ globalFilter = _ref$globalFilter === void 0 ? 'fuzzy' : _ref$globalFilter,
3071
3067
  icons = _ref.icons,
3072
3068
  localization = _ref.localization,
3073
3069
  _ref$positionActionsC = _ref.positionActionsColumn,
@@ -3082,6 +3078,9 @@ var MaterialReactTable = (function (_ref) {
3082
3078
 
3083
3079
  return React__default.createElement(MaterialReactTableProvider, Object.assign({
3084
3080
  defaultColumn: defaultColumn,
3081
+ // @ts-ignore
3082
+ filterTypes: _extends({}, defaultFilterFNs, filterTypes),
3083
+ globalFilter: globalFilter,
3085
3084
  icons: _extends({}, MRT_Default_Icons, icons),
3086
3085
  localization: _extends({}, MRT_DefaultLocalization_EN, localization),
3087
3086
  positionActionsColumn: positionActionsColumn,