material-react-table 0.14.6 → 0.15.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.
@@ -20,7 +20,7 @@ export interface MRT_RowModel<D extends Record<string, any> = {}> {
20
20
  }
21
21
  export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<TableInstance<Overwrite<Partial<TableGenerics>, {
22
22
  Row: D;
23
- }>>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
23
+ }>>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
24
24
  getAllColumns: () => MRT_Column<D>[];
25
25
  getAllFlatColumns: () => MRT_Column<D>[];
26
26
  getAllLeafColumns: () => MRT_Column<D>[];
@@ -30,6 +30,7 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
30
30
  getFlatHeaders: () => MRT_Header<D>[];
31
31
  getLeftLeafColumns: () => MRT_Column<D>[];
32
32
  getPaginationRowModel: () => MRT_RowModel<D>;
33
+ getPreFilteredRowModel: () => MRT_RowModel<D>;
33
34
  getPrePaginationRowModel: () => MRT_RowModel<D>;
34
35
  getRightLeafColumns: () => MRT_Column<D>[];
35
36
  getRowModel: () => MRT_RowModel<D>;
@@ -195,6 +196,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
195
196
  enableExpandAll?: boolean;
196
197
  enableFullScreenToggle?: boolean;
197
198
  enableGlobalFilterChangeMode?: boolean;
199
+ enableGlobalFilterRankedResults?: boolean;
198
200
  enablePagination?: boolean;
199
201
  enablePersistentState?: boolean;
200
202
  enableRowActions?: boolean;
@@ -456,5 +458,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
456
458
  tableId?: string;
457
459
  virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
458
460
  };
459
- declare const _default: <D extends Record<string, any> = {}>({ 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, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
461
+ declare const _default: <D extends Record<string, any> = {}>({ 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, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
460
462
  export default _default;
@@ -173,7 +173,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
173
173
  enterDelay: 1000,
174
174
  enterNextDelay: 1000,
175
175
  title: localization.expandAll
176
- }, React__default.createElement(material.IconButton, Object.assign({
176
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, Object.assign({
177
177
  "aria-label": localization.expandAll,
178
178
  disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
179
179
  onClick: function onClick() {
@@ -189,7 +189,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
189
189
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
190
190
  transition: 'transform 0.2s'
191
191
  }
192
- })));
192
+ }))));
193
193
  };
194
194
 
195
195
  var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
@@ -225,7 +225,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
225
225
  enterDelay: 1000,
226
226
  enterNextDelay: 1000,
227
227
  title: localization.expand
228
- }, React__default.createElement(material.IconButton, Object.assign({
228
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, Object.assign({
229
229
  "aria-label": localization.expand,
230
230
  disabled: !row.getCanExpand() && !renderDetailPanel,
231
231
  onClick: handleToggleExpand
@@ -239,7 +239,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
239
239
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
240
240
  transition: 'transform 0.2s'
241
241
  }
242
- })));
242
+ }))));
243
243
  };
244
244
 
245
245
  var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
@@ -7289,6 +7289,28 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
7289
7289
  }));
7290
7290
  };
7291
7291
 
7292
+ var fuzzy$1 = function fuzzy(rowA, rowB, columnId) {
7293
+ var dir = 0;
7294
+
7295
+ if (rowA.columnFiltersMeta[columnId]) {
7296
+ dir = matchSorterUtils.compareItems(rowA.columnFiltersMeta[columnId], rowB.columnFiltersMeta[columnId]);
7297
+ } // Provide a fallback for when the item ranks are equal
7298
+
7299
+
7300
+ return dir === 0 ? reactTable.sortingFns.alphanumeric(rowA, rowB, columnId) : dir;
7301
+ };
7302
+
7303
+ var MRT_SortingFns = {
7304
+ fuzzy: fuzzy$1
7305
+ };
7306
+ var rankGlobalFuzzy = function rankGlobalFuzzy(rowA, rowB) {
7307
+ return Math.max.apply(Math, Object.values(rowB.columnFiltersMeta).map(function (v) {
7308
+ return v.rank;
7309
+ })) - Math.max.apply(Math, Object.values(rowA.columnFiltersMeta).map(function (v) {
7310
+ return v.rank;
7311
+ }));
7312
+ };
7313
+
7292
7314
  var MRT_TableBody = function MRT_TableBody(_ref) {
7293
7315
  var instance = _ref.instance,
7294
7316
  tableContainerRef = _ref.tableContainerRef;
@@ -7296,20 +7318,37 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
7296
7318
  getPrePaginationRowModel = instance.getPrePaginationRowModel,
7297
7319
  getState = instance.getState,
7298
7320
  _instance$options = instance.options,
7321
+ enableGlobalFilterRankedResults = _instance$options.enableGlobalFilterRankedResults,
7299
7322
  enablePagination = _instance$options.enablePagination,
7300
7323
  enableRowVirtualization = _instance$options.enableRowVirtualization,
7301
7324
  muiTableBodyProps = _instance$options.muiTableBodyProps,
7302
7325
  virtualizerProps = _instance$options.virtualizerProps;
7303
7326
 
7304
7327
  var _getState = getState(),
7305
- density = _getState.density;
7328
+ density = _getState.density,
7329
+ globalFilter = _getState.globalFilter,
7330
+ pagination = _getState.pagination;
7306
7331
 
7307
7332
  var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
7308
7333
  instance: instance
7309
7334
  }) : muiTableBodyProps;
7310
- var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
7335
+ var rows = React.useMemo(function () {
7336
+ if (enableGlobalFilterRankedResults && globalFilter) {
7337
+ var rankedRows = getPrePaginationRowModel().rows.sort(function (a, b) {
7338
+ return rankGlobalFuzzy(a, b);
7339
+ });
7340
+
7341
+ if (enablePagination) {
7342
+ return rankedRows.slice(0, pagination.pageSize);
7343
+ }
7344
+
7345
+ return rankedRows;
7346
+ }
7347
+
7348
+ return enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
7349
+ }, [enableGlobalFilterRankedResults, enableGlobalFilterRankedResults && globalFilter || !enablePagination ? getPrePaginationRowModel().rows : getPaginationRowModel().rows, globalFilter]);
7311
7350
  var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
7312
- overscan: density === 'compact' ? 15 : 5,
7351
+ overscan: density === 'compact' ? 20 : 10,
7313
7352
  size: rows.length,
7314
7353
  parentRef: tableContainerRef
7315
7354
  }, virtualizerProps)) : {};
@@ -7550,21 +7589,6 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
7550
7589
  })));
7551
7590
  };
7552
7591
 
7553
- var fuzzy$1 = function fuzzy(rowA, rowB, columnId) {
7554
- var dir = 0;
7555
-
7556
- if (rowA.columnFiltersMeta[columnId]) {
7557
- dir = matchSorterUtils.compareItems(rowA.columnFiltersMeta[columnId], rowB.columnFiltersMeta[columnId]);
7558
- } // Provide a fallback for when the item ranks are equal
7559
-
7560
-
7561
- return dir === 0 ? reactTable.sortingFns.alphanumeric(rowA, rowB, columnId) : dir;
7562
- };
7563
-
7564
- var MRT_SortingFns = {
7565
- fuzzy: fuzzy$1
7566
- };
7567
-
7568
7592
  var MRT_TableRoot = function MRT_TableRoot(props) {
7569
7593
  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;
7570
7594
 
@@ -7827,7 +7851,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7827
7851
  }));
7828
7852
  };
7829
7853
 
7830
- 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"];
7854
+ 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"];
7831
7855
  var MaterialReactTable = (function (_ref) {
7832
7856
  var _ref$autoResetExpande = _ref.autoResetExpanded,
7833
7857
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -7863,12 +7887,16 @@ var MaterialReactTable = (function (_ref) {
7863
7887
  enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
7864
7888
  _ref$enableGlobalFilt2 = _ref.enableGlobalFilterChangeMode,
7865
7889
  enableGlobalFilterChangeMode = _ref$enableGlobalFilt2 === void 0 ? true : _ref$enableGlobalFilt2,
7890
+ _ref$enableGlobalFilt3 = _ref.enableGlobalFilterRankedResults,
7891
+ enableGlobalFilterRankedResults = _ref$enableGlobalFilt3 === void 0 ? true : _ref$enableGlobalFilt3,
7866
7892
  _ref$enableGrouping = _ref.enableGrouping,
7867
7893
  enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
7868
7894
  _ref$enableHiding = _ref.enableHiding,
7869
7895
  enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
7870
7896
  _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
7871
7897
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
7898
+ _ref$enableMultiSort = _ref.enableMultiSort,
7899
+ enableMultiSort = _ref$enableMultiSort === void 0 ? true : _ref$enableMultiSort,
7872
7900
  _ref$enablePagination = _ref.enablePagination,
7873
7901
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
7874
7902
  _ref$enablePinning = _ref.enablePinning,
@@ -7925,9 +7953,11 @@ var MaterialReactTable = (function (_ref) {
7925
7953
  enableFullScreenToggle: enableFullScreenToggle,
7926
7954
  enableGlobalFilter: enableGlobalFilter,
7927
7955
  enableGlobalFilterChangeMode: enableGlobalFilterChangeMode,
7956
+ enableGlobalFilterRankedResults: enableGlobalFilterRankedResults,
7928
7957
  enableGrouping: enableGrouping,
7929
7958
  enableHiding: enableHiding,
7930
7959
  enableMultiRowSelection: enableMultiRowSelection,
7960
+ enableMultiSort: enableMultiSort,
7931
7961
  enablePagination: enablePagination,
7932
7962
  enablePinning: enablePinning,
7933
7963
  enableRowSelection: enableRowSelection,