material-react-table 0.9.6 → 0.9.7
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/README.md +2 -0
- package/dist/MaterialReactTable.d.ts +11 -1
- package/dist/material-react-table.cjs.development.js +25 -21
- 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 +25 -21
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/table/MRT_TablePaper.d.ts +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +10 -1
- package/src/body/MRT_TableBodyRow.tsx +5 -1
- package/src/table/MRT_Table.tsx +6 -1
- package/src/table/MRT_TableContainer.tsx +11 -4
- package/src/table/MRT_TablePaper.tsx +1 -5
- package/src/table/MRT_TableRoot.tsx +12 -9
- package/src/toolbar/MRT_ToolbarTop.tsx +1 -0
package/README.md
CHANGED
|
@@ -29,6 +29,8 @@ Join the [discord](https://discord.gg/5wqyRx6fnm) server to join in on the devel
|
|
|
29
29
|
|
|
30
30
|
### Features (All Features work and are MVP, but are still being polished)
|
|
31
31
|
|
|
32
|
+
_All features can be enabled/disabled easily_
|
|
33
|
+
|
|
32
34
|
- [x] Click To Copy Cell Values
|
|
33
35
|
- [x] Column Actions
|
|
34
36
|
- [x] Column Grouping (Group By and Aggregates)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
|
|
2
2
|
import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
|
-
import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, Overwrite, ReactTableGenerics, Row, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
|
|
3
|
+
import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
|
|
4
4
|
import { Options as VirtualizerOptions } from 'react-virtual';
|
|
5
5
|
import { MRT_Localization } from './localization';
|
|
6
6
|
import { MRT_Icons } from './icons';
|
|
@@ -284,6 +284,14 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
284
284
|
muiTableToolbarTopProps?: ToolbarProps | (({ tableInstance, }: {
|
|
285
285
|
tableInstance: MRT_TableInstance;
|
|
286
286
|
}) => ToolbarProps);
|
|
287
|
+
onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
|
|
288
|
+
onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
|
|
289
|
+
onCurrentFilterFnsChange?: OnChangeFn<{
|
|
290
|
+
[key: string]: MRT_FilterFn<D>;
|
|
291
|
+
}>;
|
|
292
|
+
onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn<D>>;
|
|
293
|
+
onIsDensePaddingChange?: OnChangeFn<boolean>;
|
|
294
|
+
onIsFullScreenChange?: OnChangeFn<boolean>;
|
|
287
295
|
onMrtCellClick?: ({ cell, event, tableInstance, }: {
|
|
288
296
|
cell: MRT_Cell<D>;
|
|
289
297
|
tableInstance: MRT_TableInstance<D>;
|
|
@@ -363,6 +371,8 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
363
371
|
showGlobalFilter: boolean;
|
|
364
372
|
tableInstance: MRT_TableInstance<D>;
|
|
365
373
|
}) => void;
|
|
374
|
+
onShowFiltersChange?: OnChangeFn<boolean>;
|
|
375
|
+
onShowGlobalFilterChange?: OnChangeFn<boolean>;
|
|
366
376
|
persistentStateMode?: 'localStorage' | 'sessionStorage';
|
|
367
377
|
positionActionsColumn?: 'first' | 'last';
|
|
368
378
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
@@ -5607,6 +5607,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
|
|
|
5607
5607
|
tableInstance: tableInstance
|
|
5608
5608
|
}), React__default.createElement(material.Box, {
|
|
5609
5609
|
sx: {
|
|
5610
|
+
alignItems: 'flex-start',
|
|
5610
5611
|
display: 'flex',
|
|
5611
5612
|
justifyContent: 'space-between',
|
|
5612
5613
|
p: '0.5rem',
|
|
@@ -7344,18 +7345,23 @@ var MRT_TableFooter = function MRT_TableFooter(_ref) {
|
|
|
7344
7345
|
var MRT_Table = function MRT_Table(_ref) {
|
|
7345
7346
|
var tableContainerRef = _ref.tableContainerRef,
|
|
7346
7347
|
tableInstance = _ref.tableInstance;
|
|
7347
|
-
var
|
|
7348
|
+
var getState = tableInstance.getState,
|
|
7349
|
+
_tableInstance$option = tableInstance.options,
|
|
7348
7350
|
enableColumnResizing = _tableInstance$option.enableColumnResizing,
|
|
7349
7351
|
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
7350
7352
|
enableStickyHeader = _tableInstance$option.enableStickyHeader,
|
|
7351
7353
|
enableTableFooter = _tableInstance$option.enableTableFooter,
|
|
7352
7354
|
enableTableHead = _tableInstance$option.enableTableHead,
|
|
7353
7355
|
muiTableProps = _tableInstance$option.muiTableProps;
|
|
7356
|
+
|
|
7357
|
+
var _getState = getState(),
|
|
7358
|
+
isFullScreen = _getState.isFullScreen;
|
|
7359
|
+
|
|
7354
7360
|
var tableProps = muiTableProps instanceof Function ? muiTableProps({
|
|
7355
7361
|
tableInstance: tableInstance
|
|
7356
7362
|
}) : muiTableProps;
|
|
7357
7363
|
return React__default.createElement(material.Table, Object.assign({
|
|
7358
|
-
stickyHeader: enableStickyHeader
|
|
7364
|
+
stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen
|
|
7359
7365
|
}, tableProps, {
|
|
7360
7366
|
sx: _extends({
|
|
7361
7367
|
tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto'
|
|
@@ -7376,6 +7382,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
7376
7382
|
var getState = tableInstance.getState,
|
|
7377
7383
|
_tableInstance$option = tableInstance.options,
|
|
7378
7384
|
enableStickyHeader = _tableInstance$option.enableStickyHeader,
|
|
7385
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
7379
7386
|
muiTableContainerProps = _tableInstance$option.muiTableContainerProps,
|
|
7380
7387
|
tableId = _tableInstance$option.tableId;
|
|
7381
7388
|
|
|
@@ -7401,12 +7408,12 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
7401
7408
|
ref: tableContainerRef,
|
|
7402
7409
|
sx: _extends({
|
|
7403
7410
|
maxWidth: '100%',
|
|
7404
|
-
maxHeight: enableStickyHeader ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px),
|
|
7411
|
+
maxHeight: enableStickyHeader || enableRowVirtualization ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 9999px)" : undefined,
|
|
7405
7412
|
overflow: 'auto'
|
|
7406
7413
|
}, tableContainerProps == null ? void 0 : tableContainerProps.sx),
|
|
7407
|
-
style: {
|
|
7414
|
+
style: _extends({
|
|
7408
7415
|
maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
|
|
7409
|
-
}
|
|
7416
|
+
}, tableContainerProps == null ? void 0 : tableContainerProps.style)
|
|
7410
7417
|
}), React__default.createElement(MRT_Table, {
|
|
7411
7418
|
tableContainerRef: tableContainerRef,
|
|
7412
7419
|
tableInstance: tableInstance
|
|
@@ -7427,10 +7434,8 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
7427
7434
|
React.useEffect(function () {
|
|
7428
7435
|
if (typeof window !== 'undefined') {
|
|
7429
7436
|
if (isFullScreen) {
|
|
7430
|
-
document.body.style.overflow = 'hidden';
|
|
7431
7437
|
document.body.style.height = '100vh';
|
|
7432
7438
|
} else {
|
|
7433
|
-
document.body.style.overflow = 'auto';
|
|
7434
7439
|
document.body.style.height = 'auto';
|
|
7435
7440
|
}
|
|
7436
7441
|
}
|
|
@@ -7445,15 +7450,14 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
7445
7450
|
}, tablePaperProps, {
|
|
7446
7451
|
sx: _extends({
|
|
7447
7452
|
transition: 'all 0.2s ease-in-out'
|
|
7448
|
-
}, tablePaperProps == null ? void 0 : tablePaperProps.sx
|
|
7449
|
-
style: {
|
|
7453
|
+
}, tablePaperProps == null ? void 0 : tablePaperProps.sx, {
|
|
7450
7454
|
height: isFullScreen ? '100vh' : undefined,
|
|
7451
7455
|
margin: isFullScreen ? '0' : undefined,
|
|
7452
7456
|
maxHeight: isFullScreen ? '100vh' : undefined,
|
|
7453
7457
|
maxWidth: isFullScreen ? '100vw' : undefined,
|
|
7454
7458
|
padding: isFullScreen ? '0' : undefined,
|
|
7455
7459
|
width: isFullScreen ? '100vw' : undefined
|
|
7456
|
-
}
|
|
7460
|
+
})
|
|
7457
7461
|
}), enableToolbarTop && React__default.createElement(MRT_ToolbarTop, {
|
|
7458
7462
|
tableInstance: tableInstance
|
|
7459
7463
|
}), React__default.createElement(MRT_TableContainer, {
|
|
@@ -7464,7 +7468,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
7464
7468
|
};
|
|
7465
7469
|
|
|
7466
7470
|
var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
7467
|
-
var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4;
|
|
7471
|
+
var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onIsDensePaddi, _props$onIsFullScreen, _props$onShowFiltersC, _props$onShowGlobalFi;
|
|
7468
7472
|
|
|
7469
7473
|
var _useState = React.useState(props.tableId),
|
|
7470
7474
|
tableId = _useState[0],
|
|
@@ -7583,7 +7587,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7583
7587
|
id: 'mrt-row-actions',
|
|
7584
7588
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7585
7589
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7586
|
-
size:
|
|
7590
|
+
size: 70
|
|
7587
7591
|
}), showExpandColumn && createDisplayColumn(table, {
|
|
7588
7592
|
Cell: function Cell(_ref4) {
|
|
7589
7593
|
var cell = _ref4.cell;
|
|
@@ -7672,14 +7676,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7672
7676
|
showGlobalFilter: showGlobalFilter
|
|
7673
7677
|
}, props.state)
|
|
7674
7678
|
})), {
|
|
7675
|
-
setCurrentEditingCell: setCurrentEditingCell,
|
|
7676
|
-
setCurrentEditingRow: setCurrentEditingRow,
|
|
7677
|
-
setCurrentFilterFns: setCurrentFilterFns,
|
|
7678
|
-
setCurrentGlobalFilterFn: setCurrentGlobalFilterFn,
|
|
7679
|
-
setIsDensePadding: setIsDensePadding,
|
|
7680
|
-
setIsFullScreen: setIsFullScreen,
|
|
7681
|
-
setShowFilters: setShowFilters,
|
|
7682
|
-
setShowGlobalFilter: setShowGlobalFilter
|
|
7679
|
+
setCurrentEditingCell: (_props$onCurrentEditi = props.onCurrentEditingCellChange) != null ? _props$onCurrentEditi : setCurrentEditingCell,
|
|
7680
|
+
setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
|
|
7681
|
+
setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
|
|
7682
|
+
setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
|
|
7683
|
+
setIsDensePadding: (_props$onIsDensePaddi = props.onIsDensePaddingChange) != null ? _props$onIsDensePaddi : setIsDensePadding,
|
|
7684
|
+
setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
|
|
7685
|
+
setShowFilters: (_props$onShowFiltersC = props.onShowFiltersChange) != null ? _props$onShowFiltersC : setShowFilters,
|
|
7686
|
+
setShowGlobalFilter: (_props$onShowGlobalFi = props.onShowGlobalFilterChange) != null ? _props$onShowGlobalFi : setShowGlobalFilter
|
|
7683
7687
|
});
|
|
7684
7688
|
|
|
7685
7689
|
React.useEffect(function () {
|
|
@@ -7769,7 +7773,7 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7769
7773
|
_ref$enableSorting = _ref.enableSorting,
|
|
7770
7774
|
enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
|
|
7771
7775
|
_ref$enableStickyHead = _ref.enableStickyHeader,
|
|
7772
|
-
enableStickyHeader = _ref$enableStickyHead === void 0 ?
|
|
7776
|
+
enableStickyHeader = _ref$enableStickyHead === void 0 ? false : _ref$enableStickyHead,
|
|
7773
7777
|
_ref$enableTableFoote = _ref.enableTableFooter,
|
|
7774
7778
|
enableTableFooter = _ref$enableTableFoote === void 0 ? true : _ref$enableTableFoote,
|
|
7775
7779
|
_ref$enableTableHead = _ref.enableTableHead,
|