material-react-table 0.14.6 → 0.16.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.
@@ -168,7 +168,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
168
168
  enterDelay: 1000,
169
169
  enterNextDelay: 1000,
170
170
  title: localization.expandAll
171
- }, React.createElement(IconButton, Object.assign({
171
+ }, React.createElement("span", null, React.createElement(IconButton, Object.assign({
172
172
  "aria-label": localization.expandAll,
173
173
  disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
174
174
  onClick: function onClick() {
@@ -184,7 +184,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
184
184
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
185
185
  transition: 'transform 0.2s'
186
186
  }
187
- })));
187
+ }))));
188
188
  };
189
189
 
190
190
  var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
@@ -220,7 +220,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
220
220
  enterDelay: 1000,
221
221
  enterNextDelay: 1000,
222
222
  title: localization.expand
223
- }, React.createElement(IconButton, Object.assign({
223
+ }, React.createElement("span", null, React.createElement(IconButton, Object.assign({
224
224
  "aria-label": localization.expand,
225
225
  disabled: !row.getCanExpand() && !renderDetailPanel,
226
226
  onClick: handleToggleExpand
@@ -234,7 +234,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
234
234
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
235
235
  transition: 'transform 0.2s'
236
236
  }
237
- })));
237
+ }))));
238
238
  };
239
239
 
240
240
  var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
@@ -1977,7 +1977,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1977
1977
  };
1978
1978
 
1979
1979
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1980
- var _localization$filterB, _columnDef$enabledCol, _allowedColumnFilterO, _localization$filterM, _localization$, _localization$clearFi, _columnDef$filterSele;
1980
+ var _localization$filterB, _columnDef$enabledCol, _allowedColumnFilterO, _localization$filterM, _localization, _localization$clearFi, _columnDef$filterSele;
1981
1981
 
1982
1982
  var header = _ref.header,
1983
1983
  inputIndex = _ref.inputIndex,
@@ -2125,7 +2125,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2125
2125
  helperText: allowColumnChangeMode && !inputIndex && (allowedColumnFilterOptions === undefined || ((_allowedColumnFilterO = allowedColumnFilterOptions == null ? void 0 : allowedColumnFilterOptions.length) != null ? _allowedColumnFilterO : 0) > 0) ? React.createElement("label", {
2126
2126
  htmlFor: filterId
2127
2127
  }, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
2128
- (_localization$ = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
2128
+ (_localization = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
2129
2129
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
2130
2130
  FormHelperTextProps: {
2131
2131
  sx: {
@@ -3045,27 +3045,72 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
3045
3045
  }));
3046
3046
  };
3047
3047
 
3048
+ var fuzzy$1 = function fuzzy(rowA, rowB, columnId) {
3049
+ var dir = 0;
3050
+
3051
+ if (rowA.columnFiltersMeta[columnId]) {
3052
+ dir = compareItems(rowA.columnFiltersMeta[columnId], rowB.columnFiltersMeta[columnId]);
3053
+ } // Provide a fallback for when the item ranks are equal
3054
+
3055
+
3056
+ return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir;
3057
+ };
3058
+
3059
+ var MRT_SortingFns = {
3060
+ fuzzy: fuzzy$1
3061
+ };
3062
+ var rankGlobalFuzzy = function rankGlobalFuzzy(rowA, rowB) {
3063
+ return Math.max.apply(Math, Object.values(rowB.columnFiltersMeta).map(function (v) {
3064
+ return v.rank;
3065
+ })) - Math.max.apply(Math, Object.values(rowA.columnFiltersMeta).map(function (v) {
3066
+ return v.rank;
3067
+ }));
3068
+ };
3069
+
3048
3070
  var MRT_TableBody = function MRT_TableBody(_ref) {
3049
3071
  var instance = _ref.instance,
3050
3072
  tableContainerRef = _ref.tableContainerRef;
3051
- var getPaginationRowModel = instance.getPaginationRowModel,
3073
+ var getRowModel = instance.getRowModel,
3052
3074
  getPrePaginationRowModel = instance.getPrePaginationRowModel,
3053
3075
  getState = instance.getState,
3054
3076
  _instance$options = instance.options,
3077
+ enableGlobalFilterRankedResults = _instance$options.enableGlobalFilterRankedResults,
3055
3078
  enablePagination = _instance$options.enablePagination,
3056
3079
  enableRowVirtualization = _instance$options.enableRowVirtualization,
3057
3080
  muiTableBodyProps = _instance$options.muiTableBodyProps,
3058
3081
  virtualizerProps = _instance$options.virtualizerProps;
3059
3082
 
3060
3083
  var _getState = getState(),
3061
- density = _getState.density;
3084
+ density = _getState.density,
3085
+ globalFilter = _getState.globalFilter,
3086
+ pagination = _getState.pagination,
3087
+ sorting = _getState.sorting;
3062
3088
 
3063
3089
  var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
3064
3090
  instance: instance
3065
3091
  }) : muiTableBodyProps;
3066
- var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
3092
+
3093
+ var getIsSomeColumnsSorted = function getIsSomeColumnsSorted() {
3094
+ return Object.values(sorting).some(Boolean);
3095
+ };
3096
+
3097
+ var rows = useMemo(function () {
3098
+ if (enableGlobalFilterRankedResults && globalFilter && !getIsSomeColumnsSorted()) {
3099
+ var rankedRows = getPrePaginationRowModel().rows.sort(function (a, b) {
3100
+ return rankGlobalFuzzy(a, b);
3101
+ });
3102
+
3103
+ if (enablePagination) {
3104
+ return rankedRows.slice(0, pagination.pageSize);
3105
+ }
3106
+
3107
+ return rankedRows;
3108
+ }
3109
+
3110
+ return enablePagination ? getRowModel().rows : getPrePaginationRowModel().rows;
3111
+ }, [enableGlobalFilterRankedResults, enableGlobalFilterRankedResults && globalFilter || !enablePagination ? getPrePaginationRowModel().rows : getRowModel().rows, globalFilter]);
3067
3112
  var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
3068
- overscan: density === 'compact' ? 15 : 5,
3113
+ overscan: density === 'compact' ? 20 : 10,
3069
3114
  size: rows.length,
3070
3115
  parentRef: tableContainerRef
3071
3116
  }, virtualizerProps)) : {};
@@ -3306,21 +3351,6 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3306
3351
  })));
3307
3352
  };
3308
3353
 
3309
- var fuzzy$1 = function fuzzy(rowA, rowB, columnId) {
3310
- var dir = 0;
3311
-
3312
- if (rowA.columnFiltersMeta[columnId]) {
3313
- dir = compareItems(rowA.columnFiltersMeta[columnId], rowB.columnFiltersMeta[columnId]);
3314
- } // Provide a fallback for when the item ranks are equal
3315
-
3316
-
3317
- return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir;
3318
- };
3319
-
3320
- var MRT_SortingFns = {
3321
- fuzzy: fuzzy$1
3322
- };
3323
-
3324
3354
  var MRT_TableRoot = function MRT_TableRoot(props) {
3325
3355
  var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
3326
3356
 
@@ -3583,7 +3613,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3583
3613
  }));
3584
3614
  };
3585
3615
 
3586
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3616
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3587
3617
  var MaterialReactTable = (function (_ref) {
3588
3618
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3589
3619
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -3619,12 +3649,16 @@ var MaterialReactTable = (function (_ref) {
3619
3649
  enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
3620
3650
  _ref$enableGlobalFilt2 = _ref.enableGlobalFilterChangeMode,
3621
3651
  enableGlobalFilterChangeMode = _ref$enableGlobalFilt2 === void 0 ? true : _ref$enableGlobalFilt2,
3652
+ _ref$enableGlobalFilt3 = _ref.enableGlobalFilterRankedResults,
3653
+ enableGlobalFilterRankedResults = _ref$enableGlobalFilt3 === void 0 ? true : _ref$enableGlobalFilt3,
3622
3654
  _ref$enableGrouping = _ref.enableGrouping,
3623
3655
  enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
3624
3656
  _ref$enableHiding = _ref.enableHiding,
3625
3657
  enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3626
3658
  _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
3627
3659
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3660
+ _ref$enableMultiSort = _ref.enableMultiSort,
3661
+ enableMultiSort = _ref$enableMultiSort === void 0 ? true : _ref$enableMultiSort,
3628
3662
  _ref$enablePagination = _ref.enablePagination,
3629
3663
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3630
3664
  _ref$enablePinning = _ref.enablePinning,
@@ -3681,9 +3715,11 @@ var MaterialReactTable = (function (_ref) {
3681
3715
  enableFullScreenToggle: enableFullScreenToggle,
3682
3716
  enableGlobalFilter: enableGlobalFilter,
3683
3717
  enableGlobalFilterChangeMode: enableGlobalFilterChangeMode,
3718
+ enableGlobalFilterRankedResults: enableGlobalFilterRankedResults,
3684
3719
  enableGrouping: enableGrouping,
3685
3720
  enableHiding: enableHiding,
3686
3721
  enableMultiRowSelection: enableMultiRowSelection,
3722
+ enableMultiSort: enableMultiSort,
3687
3723
  enablePagination: enablePagination,
3688
3724
  enablePinning: enablePinning,
3689
3725
  enableRowSelection: enableRowSelection,