material-react-table 0.14.2 → 0.14.5
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.
- package/dist/MaterialReactTable.d.ts +1 -1
- package/dist/head/MRT_TableHeadCell.d.ts +1 -1
- package/dist/material-react-table.cjs.development.js +26 -29
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +27 -30
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +5 -5
- package/src/MaterialReactTable.tsx +1 -1
- package/src/head/MRT_TableHeadCell.tsx +14 -14
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +55 -57
- package/src/toolbar/MRT_ToolbarBottom.tsx +2 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useMemo, forwardRef, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
|
|
2
2
|
import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityLarge, DensityMedium, DensitySmall, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, KeyboardDoubleArrowDown, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
|
|
3
3
|
import { createTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, useTableInstance } from '@tanstack/react-table';
|
|
4
|
-
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog
|
|
4
|
+
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, Grow, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
|
|
5
5
|
import { rankItem, rankings } from '@tanstack/match-sorter-utils';
|
|
6
6
|
import { useDrop, useDrag, DndProvider } from 'react-dnd';
|
|
7
7
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
@@ -1935,7 +1935,9 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
1935
1935
|
}), {
|
|
1936
1936
|
bottom: isFullScreen ? '0' : undefined,
|
|
1937
1937
|
boxShadow: "-3px 0 6px " + alpha(theme.palette.common.black, 0.1),
|
|
1938
|
-
|
|
1938
|
+
left: 0,
|
|
1939
|
+
position: isFullScreen ? 'fixed' : 'relative',
|
|
1940
|
+
right: 0
|
|
1939
1941
|
}, toolbarProps == null ? void 0 : toolbarProps.sx);
|
|
1940
1942
|
}
|
|
1941
1943
|
}), React.createElement(MRT_LinearProgressBar, {
|
|
@@ -2260,27 +2262,28 @@ var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer
|
|
|
2260
2262
|
};
|
|
2261
2263
|
|
|
2262
2264
|
var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
2263
|
-
var
|
|
2265
|
+
var _column$getFilterValu, _column$getFilterValu2;
|
|
2264
2266
|
|
|
2265
2267
|
var header = _ref.header,
|
|
2266
2268
|
instance = _ref.instance;
|
|
2267
2269
|
var getState = instance.getState,
|
|
2268
2270
|
_instance$options = instance.options,
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
FilterAltOffIcon = _instance$options$ico.FilterAltOffIcon,
|
|
2272
|
-
localization = _instance$options.localization,
|
|
2273
|
-
setShowFilters = instance.setShowFilters;
|
|
2271
|
+
FilterAltIcon = _instance$options.icons.FilterAltIcon,
|
|
2272
|
+
localization = _instance$options.localization;
|
|
2274
2273
|
|
|
2275
2274
|
var _getState = getState(),
|
|
2276
|
-
|
|
2275
|
+
currentFilterFns = _getState.currentFilterFns;
|
|
2277
2276
|
|
|
2278
2277
|
var column = header.column;
|
|
2279
2278
|
var columnDef = column.columnDef;
|
|
2280
|
-
var filterFn =
|
|
2281
|
-
var filterTooltip =
|
|
2282
|
-
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '')
|
|
2283
|
-
return React.createElement(
|
|
2279
|
+
var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
|
|
2280
|
+
var filterTooltip = localization.filteringByColumn.replace('{column}', String(columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
|
|
2281
|
+
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '');
|
|
2282
|
+
return React.createElement(Grow, {
|
|
2283
|
+
unmountOnExit: true,
|
|
2284
|
+
"in": !!column.getFilterValue() && filterFn !== 'between' || filterFn === 'between' && ( // @ts-ignore
|
|
2285
|
+
!!((_column$getFilterValu = column.getFilterValue()) != null && _column$getFilterValu[0]) || !!((_column$getFilterValu2 = column.getFilterValue()) != null && _column$getFilterValu2[1]))
|
|
2286
|
+
}, React.createElement("span", null, React.createElement(Tooltip, {
|
|
2284
2287
|
arrow: true,
|
|
2285
2288
|
placement: "top",
|
|
2286
2289
|
title: filterTooltip
|
|
@@ -2288,22 +2291,16 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
|
2288
2291
|
disableRipple: true,
|
|
2289
2292
|
onClick: function onClick(event) {
|
|
2290
2293
|
event.stopPropagation();
|
|
2291
|
-
setShowFilters(!showFilters);
|
|
2292
2294
|
},
|
|
2293
2295
|
size: "small",
|
|
2294
2296
|
sx: {
|
|
2295
2297
|
m: 0,
|
|
2296
|
-
opacity:
|
|
2298
|
+
opacity: 0.8,
|
|
2297
2299
|
p: '2px',
|
|
2298
|
-
transition: 'all 0.2s ease-in-out',
|
|
2299
2300
|
transform: 'scale(0.66)',
|
|
2300
|
-
'&:hover': {
|
|
2301
|
-
backgroundColor: 'transparent',
|
|
2302
|
-
opacity: 0.8
|
|
2303
|
-
},
|
|
2304
2301
|
width: '1.5ch'
|
|
2305
2302
|
}
|
|
2306
|
-
},
|
|
2303
|
+
}, React.createElement(FilterAltIcon, null)))));
|
|
2307
2304
|
};
|
|
2308
2305
|
|
|
2309
2306
|
var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
|
|
@@ -2438,20 +2435,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2438
2435
|
var dragRef = _ref.dragRef,
|
|
2439
2436
|
dropRef = _ref.dropRef,
|
|
2440
2437
|
header = _ref.header,
|
|
2438
|
+
instance = _ref.instance,
|
|
2441
2439
|
isDragging = _ref.isDragging,
|
|
2442
|
-
previewRef = _ref.previewRef
|
|
2443
|
-
instance = _ref.instance;
|
|
2440
|
+
previewRef = _ref.previewRef;
|
|
2444
2441
|
var getState = instance.getState,
|
|
2445
2442
|
_instance$options = instance.options,
|
|
2446
2443
|
enableColumnActions = _instance$options.enableColumnActions,
|
|
2447
|
-
enableColumnFilters = _instance$options.enableColumnFilters,
|
|
2448
2444
|
enableColumnOrdering = _instance$options.enableColumnOrdering,
|
|
2449
2445
|
enableColumnResizing = _instance$options.enableColumnResizing,
|
|
2450
2446
|
enableGrouping = _instance$options.enableGrouping,
|
|
2447
|
+
enableMultiSort = _instance$options.enableMultiSort,
|
|
2451
2448
|
muiTableHeadCellProps = _instance$options.muiTableHeadCellProps;
|
|
2452
2449
|
|
|
2453
2450
|
var _getState = getState(),
|
|
2454
|
-
density = _getState.density
|
|
2451
|
+
density = _getState.density,
|
|
2452
|
+
showFilters = _getState.showFilters;
|
|
2455
2453
|
|
|
2456
2454
|
var column = header.column;
|
|
2457
2455
|
var columnDef = column.columnDef,
|
|
@@ -2506,7 +2504,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2506
2504
|
pt: columnDefType !== 'data' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
|
|
2507
2505
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
2508
2506
|
transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
|
|
2509
|
-
|
|
2507
|
+
userSelect: enableMultiSort ? 'none' : undefined,
|
|
2508
|
+
verticalAlign: columnDefType === 'display' && showFilters ? 'center' : 'text-top',
|
|
2510
2509
|
zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
|
|
2511
2510
|
}, tableCellProps == null ? void 0 : tableCellProps.sx, {
|
|
2512
2511
|
maxWidth: "min(" + column.getSize() + "px, fit-content)",
|
|
@@ -2525,9 +2524,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2525
2524
|
width: '100%'
|
|
2526
2525
|
}
|
|
2527
2526
|
}, React.createElement(Box, {
|
|
2528
|
-
onClick:
|
|
2529
|
-
return column.toggleSorting();
|
|
2530
|
-
},
|
|
2527
|
+
onClick: column.getToggleSortingHandler(),
|
|
2531
2528
|
sx: {
|
|
2532
2529
|
alignItems: 'center',
|
|
2533
2530
|
cursor: column.getCanSort() && columnDefType !== 'group' ? 'pointer' : undefined,
|
|
@@ -2538,7 +2535,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2538
2535
|
}, headerElement, columnDefType === 'data' && column.getCanSort() && React.createElement(MRT_TableHeadCellSortLabel, {
|
|
2539
2536
|
header: header,
|
|
2540
2537
|
instance: instance
|
|
2541
|
-
}), columnDefType === 'data' &&
|
|
2538
|
+
}), columnDefType === 'data' && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterLabel, {
|
|
2542
2539
|
header: header,
|
|
2543
2540
|
instance: instance
|
|
2544
2541
|
})), React.createElement(Box, {
|