material-react-table 0.25.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -53,6 +53,7 @@ var MRT_DefaultLocalization_EN = {
53
53
  expand: 'Expand',
54
54
  expandAll: 'Expand all',
55
55
  filterBetween: 'Between',
56
+ filterBetweenInclusive: 'Between Inclusive',
56
57
  filterByColumn: 'Filter by {column}',
57
58
  filterContains: 'Contains',
58
59
  filterEmpty: 'Empty',
@@ -60,7 +61,9 @@ var MRT_DefaultLocalization_EN = {
60
61
  filterEquals: 'Equals',
61
62
  filterFuzzy: 'Fuzzy',
62
63
  filterGreaterThan: 'Greater Than',
64
+ filterGreaterThanOrEqualTo: 'Greater Than Or Equal To',
63
65
  filterLessThan: 'Less Than',
66
+ filterLessThanOrEqualTo: 'Less Than Or Equal To',
64
67
  filterMode: 'Filter Mode: {filterType}',
65
68
  filterNotEmpty: 'Not Empty',
66
69
  filterNotEquals: 'Not Equals',
@@ -226,11 +229,6 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
226
229
  }))));
227
230
  };
228
231
 
229
- var commonMenuItemStyles = {
230
- py: '6px',
231
- my: 0,
232
- alignItems: 'center'
233
- };
234
232
  var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
235
233
  var _columnDef$enabledCol;
236
234
 
@@ -262,46 +260,72 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
262
260
  var filterOptions = useMemo(function () {
263
261
  return [{
264
262
  option: 'fuzzy',
263
+ symbol: '≈',
265
264
  label: localization.filterFuzzy,
266
265
  divider: false
267
266
  }, {
268
267
  option: 'contains',
268
+ symbol: '[]',
269
269
  label: localization.filterContains,
270
270
  divider: false
271
271
  }, {
272
272
  option: 'startsWith',
273
+ symbol: 'a',
273
274
  label: localization.filterStartsWith,
274
275
  divider: false
275
276
  }, {
276
277
  option: 'endsWith',
278
+ symbol: 'z',
277
279
  label: localization.filterEndsWith,
278
280
  divider: true
279
281
  }, {
280
282
  option: 'equals',
283
+ symbol: '=',
281
284
  label: localization.filterEquals,
282
285
  divider: false
283
286
  }, {
284
287
  option: 'notEquals',
288
+ symbol: '≠',
285
289
  label: localization.filterNotEquals,
286
290
  divider: true
287
291
  }, {
288
292
  option: 'between',
293
+ symbol: '⇿',
289
294
  label: localization.filterBetween,
290
295
  divider: false
296
+ }, {
297
+ option: 'betweenInclusive',
298
+ symbol: '⬌',
299
+ label: localization.filterBetweenInclusive,
300
+ divider: true
291
301
  }, {
292
302
  option: 'greaterThan',
303
+ symbol: '>',
293
304
  label: localization.filterGreaterThan,
294
305
  divider: false
306
+ }, {
307
+ option: 'greaterThanOrEqualTo',
308
+ symbol: '≥',
309
+ label: localization.filterGreaterThanOrEqualTo,
310
+ divider: false
295
311
  }, {
296
312
  option: 'lessThan',
313
+ symbol: '<',
297
314
  label: localization.filterLessThan,
315
+ divider: false
316
+ }, {
317
+ option: 'lessThanOrEqualTo',
318
+ symbol: '≤',
319
+ label: localization.filterLessThanOrEqualTo,
298
320
  divider: true
299
321
  }, {
300
322
  option: 'empty',
323
+ symbol: '∅',
301
324
  label: localization.filterEmpty,
302
325
  divider: false
303
326
  }, {
304
327
  option: 'notEmpty',
328
+ symbol: '!∅',
305
329
  label: localization.filterNotEmpty,
306
330
  divider: false
307
331
  }].filter(function (filterType) {
@@ -349,7 +373,8 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
349
373
  }, filterOptions.map(function (_ref4, index) {
350
374
  var option = _ref4.option,
351
375
  label = _ref4.label,
352
- divider = _ref4.divider;
376
+ divider = _ref4.divider,
377
+ symbol = _ref4.symbol;
353
378
  return React.createElement(MenuItem, {
354
379
  divider: divider,
355
380
  key: index,
@@ -357,9 +382,20 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
357
382
  return handleSelectFilterType(option);
358
383
  },
359
384
  selected: option === filterOption,
360
- sx: commonMenuItemStyles,
385
+ sx: {
386
+ py: '6px',
387
+ my: 0,
388
+ alignItems: 'center',
389
+ display: 'flex',
390
+ gap: '2ch'
391
+ },
361
392
  value: option
362
- }, label);
393
+ }, React.createElement(Box, {
394
+ sx: {
395
+ fontSize: '1.25rem',
396
+ width: '2ch'
397
+ }
398
+ }, symbol), label);
363
399
  }));
364
400
  };
365
401
 
@@ -505,21 +541,37 @@ notEquals.autoRemove = function (val) {
505
541
  };
506
542
 
507
543
  var greaterThan = function greaterThan(row, id, filterValue) {
508
- return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) >= +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
544
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) > +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
509
545
  };
510
546
 
511
547
  greaterThan.autoRemove = function (val) {
512
548
  return !val;
513
549
  };
514
550
 
551
+ var greaterThanOrEqualTo = function greaterThanOrEqualTo(row, id, filterValue) {
552
+ return equals(row, id, filterValue) || greaterThan(row, id, filterValue);
553
+ };
554
+
555
+ greaterThanOrEqualTo.autoRemove = function (val) {
556
+ return !val;
557
+ };
558
+
515
559
  var lessThan = function lessThan(row, id, filterValue) {
516
- return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) <= +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
560
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) < +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
517
561
  };
518
562
 
519
563
  lessThan.autoRemove = function (val) {
520
564
  return !val;
521
565
  };
522
566
 
567
+ var lessThanOrEqualTo = function lessThanOrEqualTo(row, id, filterValue) {
568
+ return equals(row, id, filterValue) || lessThan(row, id, filterValue);
569
+ };
570
+
571
+ lessThanOrEqualTo.autoRemove = function (val) {
572
+ return !val;
573
+ };
574
+
523
575
  var between = function between(row, id, filterValues) {
524
576
  return (['', undefined].includes(filterValues[0]) || greaterThan(row, id, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ['', undefined].includes(filterValues[1]) || lessThan(row, id, filterValues[1]));
525
577
  };
@@ -528,6 +580,14 @@ between.autoRemove = function (val) {
528
580
  return !val;
529
581
  };
530
582
 
583
+ var betweenInclusive = function betweenInclusive(row, id, filterValues) {
584
+ return (['', undefined].includes(filterValues[0]) || greaterThanOrEqualTo(row, id, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ['', undefined].includes(filterValues[1]) || lessThanOrEqualTo(row, id, filterValues[1]));
585
+ };
586
+
587
+ betweenInclusive.autoRemove = function (val) {
588
+ return !val;
589
+ };
590
+
531
591
  var empty = function empty(row, id, _filterValue) {
532
592
  return !row.getValue(id).toString().trim();
533
593
  };
@@ -546,13 +606,16 @@ notEmpty.autoRemove = function (val) {
546
606
 
547
607
  var MRT_FilterFns = /*#__PURE__*/_extends({}, filterFns, {
548
608
  between: between,
609
+ betweenInclusive: betweenInclusive,
549
610
  contains: contains,
550
611
  empty: empty,
551
612
  endsWith: endsWith,
552
613
  equals: equals,
553
614
  fuzzy: fuzzy,
554
615
  greaterThan: greaterThan,
616
+ greaterThanOrEqualTo: greaterThanOrEqualTo,
555
617
  lessThan: lessThan,
618
+ lessThanOrEqualTo: lessThanOrEqualTo,
556
619
  notEmpty: notEmpty,
557
620
  notEquals: notEquals,
558
621
  startsWith: startsWith
@@ -904,7 +967,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
904
967
  }));
905
968
  };
906
969
 
907
- var commonMenuItemStyles$1 = {
970
+ var commonMenuItemStyles = {
908
971
  py: '6px',
909
972
  my: 0,
910
973
  justifyContent: 'space-between',
@@ -1048,14 +1111,14 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1048
1111
  disabled: !column.getIsSorted(),
1049
1112
  key: 0,
1050
1113
  onClick: handleClearSort,
1051
- sx: commonMenuItemStyles$1
1114
+ sx: commonMenuItemStyles
1052
1115
  }, React.createElement(Box, {
1053
1116
  sx: commonListItemStyles
1054
1117
  }, React.createElement(ListItemIcon, null, React.createElement(ClearAllIcon, null)), localization.clearSort)), React.createElement(MenuItem, {
1055
1118
  disabled: column.getIsSorted() === 'asc',
1056
1119
  key: 1,
1057
1120
  onClick: handleSortAsc,
1058
- sx: commonMenuItemStyles$1
1121
+ sx: commonMenuItemStyles
1059
1122
  }, React.createElement(Box, {
1060
1123
  sx: commonListItemStyles
1061
1124
  }, React.createElement(ListItemIcon, null, React.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(columnDef.header)))), React.createElement(MenuItem, {
@@ -1063,7 +1126,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1063
1126
  key: 2,
1064
1127
  disabled: column.getIsSorted() === 'desc',
1065
1128
  onClick: handleSortDesc,
1066
- sx: commonMenuItemStyles$1
1129
+ sx: commonMenuItemStyles
1067
1130
  }, React.createElement(Box, {
1068
1131
  sx: commonListItemStyles
1069
1132
  }, React.createElement(ListItemIcon, null, React.createElement(SortIcon, {
@@ -1074,14 +1137,14 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1074
1137
  disabled: !column.getFilterValue(),
1075
1138
  key: 0,
1076
1139
  onClick: handleClearFilter,
1077
- sx: commonMenuItemStyles$1
1140
+ sx: commonMenuItemStyles
1078
1141
  }, React.createElement(Box, {
1079
1142
  sx: commonListItemStyles
1080
1143
  }, React.createElement(ListItemIcon, null, React.createElement(FilterListOffIcon, null)), localization.clearFilter)), React.createElement(MenuItem, {
1081
1144
  divider: enableGrouping || enableHiding,
1082
1145
  key: 1,
1083
1146
  onClick: handleFilterByColumn,
1084
- sx: commonMenuItemStyles$1
1147
+ sx: commonMenuItemStyles
1085
1148
  }, React.createElement(Box, {
1086
1149
  sx: commonListItemStyles
1087
1150
  }, React.createElement(ListItemIcon, null, React.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))), showFilterModeSubMenu && React.createElement(IconButton, {
@@ -1102,7 +1165,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1102
1165
  divider: enablePinning,
1103
1166
  key: 0,
1104
1167
  onClick: handleGroupByColumn,
1105
- sx: commonMenuItemStyles$1
1168
+ sx: commonMenuItemStyles
1106
1169
  }, React.createElement(Box, {
1107
1170
  sx: commonListItemStyles
1108
1171
  }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(columnDef.header))))], enablePinning && column.getCanPin() && [React.createElement(MenuItem, {
@@ -1111,7 +1174,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1111
1174
  onClick: function onClick() {
1112
1175
  return handlePinColumn('left');
1113
1176
  },
1114
- sx: commonMenuItemStyles$1
1177
+ sx: commonMenuItemStyles
1115
1178
  }, React.createElement(Box, {
1116
1179
  sx: commonListItemStyles
1117
1180
  }, React.createElement(ListItemIcon, null, React.createElement(PushPinIcon, {
@@ -1124,7 +1187,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1124
1187
  onClick: function onClick() {
1125
1188
  return handlePinColumn('right');
1126
1189
  },
1127
- sx: commonMenuItemStyles$1
1190
+ sx: commonMenuItemStyles
1128
1191
  }, React.createElement(Box, {
1129
1192
  sx: commonListItemStyles
1130
1193
  }, React.createElement(ListItemIcon, null, React.createElement(PushPinIcon, {
@@ -1138,21 +1201,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1138
1201
  onClick: function onClick() {
1139
1202
  return handlePinColumn(false);
1140
1203
  },
1141
- sx: commonMenuItemStyles$1
1204
+ sx: commonMenuItemStyles
1142
1205
  }, React.createElement(Box, {
1143
1206
  sx: commonListItemStyles
1144
1207
  }, React.createElement(ListItemIcon, null, React.createElement(PushPinIcon, null)), localization.unpin))], enableColumnResizing && column.getCanResize() && [React.createElement(MenuItem, {
1145
1208
  disabled: !columnSizing[column.id],
1146
1209
  key: 0,
1147
1210
  onClick: handleResetColumnSize,
1148
- sx: commonMenuItemStyles$1
1211
+ sx: commonMenuItemStyles
1149
1212
  }, React.createElement(Box, {
1150
1213
  sx: commonListItemStyles
1151
1214
  }, React.createElement(ListItemIcon, null, React.createElement(RestartAltIcon, null)), localization.resetColumnSize))], enableHiding && [React.createElement(MenuItem, {
1152
1215
  disabled: columnDef.enableHiding === false,
1153
1216
  key: 0,
1154
1217
  onClick: handleHideColumn,
1155
- sx: commonMenuItemStyles$1
1218
+ sx: commonMenuItemStyles
1156
1219
  }, React.createElement(Box, {
1157
1220
  sx: commonListItemStyles
1158
1221
  }, React.createElement(ListItemIcon, null, React.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(columnDef.header)))), React.createElement(MenuItem, {
@@ -1161,7 +1224,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1161
1224
  }).length,
1162
1225
  key: 1,
1163
1226
  onClick: handleShowAllColumns,
1164
- sx: commonMenuItemStyles$1
1227
+ sx: commonMenuItemStyles
1165
1228
  }, React.createElement(Box, {
1166
1229
  sx: commonListItemStyles
1167
1230
  }, React.createElement(ListItemIcon, null, React.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(columnDef.header))), React.createElement(IconButton, {
@@ -1207,7 +1270,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1207
1270
  }
1208
1271
  }, enableEditing && React.createElement(MenuItem, {
1209
1272
  onClick: handleEdit,
1210
- sx: commonMenuItemStyles$1
1273
+ sx: commonMenuItemStyles
1211
1274
  }, React.createElement(Box, {
1212
1275
  sx: commonListItemStyles
1213
1276
  }, React.createElement(ListItemIcon, null, React.createElement(EditIcon, null)), localization.edit)), renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems({