material-react-table 0.14.3 → 0.14.4
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/head/MRT_TableHeadCell.d.ts +1 -1
- package/dist/material-react-table.cjs.development.js +23 -28
- 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 +24 -29
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/head/MRT_TableHeadCell.tsx +14 -14
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +55 -57
|
@@ -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';
|
|
@@ -2262,27 +2262,28 @@ var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer
|
|
|
2262
2262
|
};
|
|
2263
2263
|
|
|
2264
2264
|
var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
2265
|
-
var
|
|
2265
|
+
var _column$getFilterValu, _column$getFilterValu2;
|
|
2266
2266
|
|
|
2267
2267
|
var header = _ref.header,
|
|
2268
2268
|
instance = _ref.instance;
|
|
2269
2269
|
var getState = instance.getState,
|
|
2270
2270
|
_instance$options = instance.options,
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
FilterAltOffIcon = _instance$options$ico.FilterAltOffIcon,
|
|
2274
|
-
localization = _instance$options.localization,
|
|
2275
|
-
setShowFilters = instance.setShowFilters;
|
|
2271
|
+
FilterAltIcon = _instance$options.icons.FilterAltIcon,
|
|
2272
|
+
localization = _instance$options.localization;
|
|
2276
2273
|
|
|
2277
2274
|
var _getState = getState(),
|
|
2278
|
-
|
|
2275
|
+
currentFilterFns = _getState.currentFilterFns;
|
|
2279
2276
|
|
|
2280
2277
|
var column = header.column;
|
|
2281
2278
|
var columnDef = column.columnDef;
|
|
2282
|
-
var filterFn =
|
|
2283
|
-
var filterTooltip =
|
|
2284
|
-
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '')
|
|
2285
|
-
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, {
|
|
2286
2287
|
arrow: true,
|
|
2287
2288
|
placement: "top",
|
|
2288
2289
|
title: filterTooltip
|
|
@@ -2290,22 +2291,16 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
|
2290
2291
|
disableRipple: true,
|
|
2291
2292
|
onClick: function onClick(event) {
|
|
2292
2293
|
event.stopPropagation();
|
|
2293
|
-
setShowFilters(!showFilters);
|
|
2294
2294
|
},
|
|
2295
2295
|
size: "small",
|
|
2296
2296
|
sx: {
|
|
2297
2297
|
m: 0,
|
|
2298
|
-
opacity:
|
|
2298
|
+
opacity: 0.8,
|
|
2299
2299
|
p: '2px',
|
|
2300
|
-
transition: 'all 0.2s ease-in-out',
|
|
2301
2300
|
transform: 'scale(0.66)',
|
|
2302
|
-
'&:hover': {
|
|
2303
|
-
backgroundColor: 'transparent',
|
|
2304
|
-
opacity: 0.8
|
|
2305
|
-
},
|
|
2306
2301
|
width: '1.5ch'
|
|
2307
2302
|
}
|
|
2308
|
-
},
|
|
2303
|
+
}, React.createElement(FilterAltIcon, null)))));
|
|
2309
2304
|
};
|
|
2310
2305
|
|
|
2311
2306
|
var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
|
|
@@ -2440,20 +2435,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2440
2435
|
var dragRef = _ref.dragRef,
|
|
2441
2436
|
dropRef = _ref.dropRef,
|
|
2442
2437
|
header = _ref.header,
|
|
2438
|
+
instance = _ref.instance,
|
|
2443
2439
|
isDragging = _ref.isDragging,
|
|
2444
|
-
previewRef = _ref.previewRef
|
|
2445
|
-
instance = _ref.instance;
|
|
2440
|
+
previewRef = _ref.previewRef;
|
|
2446
2441
|
var getState = instance.getState,
|
|
2447
2442
|
_instance$options = instance.options,
|
|
2448
2443
|
enableColumnActions = _instance$options.enableColumnActions,
|
|
2449
|
-
enableColumnFilters = _instance$options.enableColumnFilters,
|
|
2450
2444
|
enableColumnOrdering = _instance$options.enableColumnOrdering,
|
|
2451
2445
|
enableColumnResizing = _instance$options.enableColumnResizing,
|
|
2452
2446
|
enableGrouping = _instance$options.enableGrouping,
|
|
2447
|
+
enableMultiSort = _instance$options.enableMultiSort,
|
|
2453
2448
|
muiTableHeadCellProps = _instance$options.muiTableHeadCellProps;
|
|
2454
2449
|
|
|
2455
2450
|
var _getState = getState(),
|
|
2456
|
-
density = _getState.density
|
|
2451
|
+
density = _getState.density,
|
|
2452
|
+
showFilters = _getState.showFilters;
|
|
2457
2453
|
|
|
2458
2454
|
var column = header.column;
|
|
2459
2455
|
var columnDef = column.columnDef,
|
|
@@ -2508,7 +2504,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2508
2504
|
pt: columnDefType !== 'data' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
|
|
2509
2505
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
2510
2506
|
transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
|
|
2511
|
-
|
|
2507
|
+
userSelect: enableMultiSort ? 'none' : undefined,
|
|
2508
|
+
verticalAlign: columnDefType === 'display' && showFilters ? 'center' : 'text-top',
|
|
2512
2509
|
zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
|
|
2513
2510
|
}, tableCellProps == null ? void 0 : tableCellProps.sx, {
|
|
2514
2511
|
maxWidth: "min(" + column.getSize() + "px, fit-content)",
|
|
@@ -2527,9 +2524,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2527
2524
|
width: '100%'
|
|
2528
2525
|
}
|
|
2529
2526
|
}, React.createElement(Box, {
|
|
2530
|
-
onClick:
|
|
2531
|
-
return column.toggleSorting();
|
|
2532
|
-
},
|
|
2527
|
+
onClick: column.getToggleSortingHandler(),
|
|
2533
2528
|
sx: {
|
|
2534
2529
|
alignItems: 'center',
|
|
2535
2530
|
cursor: column.getCanSort() && columnDefType !== 'group' ? 'pointer' : undefined,
|
|
@@ -2540,7 +2535,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2540
2535
|
}, headerElement, columnDefType === 'data' && column.getCanSort() && React.createElement(MRT_TableHeadCellSortLabel, {
|
|
2541
2536
|
header: header,
|
|
2542
2537
|
instance: instance
|
|
2543
|
-
}), columnDefType === 'data' &&
|
|
2538
|
+
}), columnDefType === 'data' && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterLabel, {
|
|
2544
2539
|
header: header,
|
|
2545
2540
|
instance: instance
|
|
2546
2541
|
})), React.createElement(Box, {
|