material-react-table 0.35.2 → 0.36.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.
- package/dist/cjs/MaterialReactTable.d.ts +7 -31
- package/dist/cjs/index.js +18 -17
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/MaterialReactTable.d.ts +7 -31
- package/dist/esm/material-react-table.esm.js +18 -17
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/index.d.ts +7 -31
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +7 -58
- package/src/body/MRT_TableBodyCell.tsx +4 -1
- package/src/inputs/MRT_EditCellTextField.tsx +20 -27
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Dispatch, DragEvent, ReactNode, SetStateAction } from 'react';
|
|
2
2
|
import type { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
3
|
import type { Cell, Column, ColumnDef, DeepKeys, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
|
|
4
4
|
import type { Options as VirtualizerOptions } from 'react-virtual';
|
|
@@ -165,15 +165,15 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
|
|
|
165
165
|
* @default gets set to the same value as `accessorKey` by default
|
|
166
166
|
*/
|
|
167
167
|
id?: LiteralUnion<string & keyof TData>;
|
|
168
|
-
muiTableBodyCellCopyButtonProps?: ButtonProps | (({
|
|
168
|
+
muiTableBodyCellCopyButtonProps?: ButtonProps | (({ cell, table, }: {
|
|
169
169
|
table: MRT_TableInstance<TData>;
|
|
170
170
|
cell: MRT_Cell<TData>;
|
|
171
171
|
}) => ButtonProps);
|
|
172
|
-
muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({
|
|
173
|
-
table: MRT_TableInstance<TData>;
|
|
172
|
+
muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ cell, table, }: {
|
|
174
173
|
cell: MRT_Cell<TData>;
|
|
174
|
+
table: MRT_TableInstance<TData>;
|
|
175
175
|
}) => TextFieldProps);
|
|
176
|
-
muiTableBodyCellProps?: TableCellProps | (({
|
|
176
|
+
muiTableBodyCellProps?: TableCellProps | (({ cell, table, }: {
|
|
177
177
|
table: MRT_TableInstance<TData>;
|
|
178
178
|
cell: MRT_Cell<TData>;
|
|
179
179
|
}) => TableCellProps);
|
|
@@ -198,18 +198,6 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
|
|
|
198
198
|
table: MRT_TableInstance<TData>;
|
|
199
199
|
column: MRT_Column<TData>;
|
|
200
200
|
}) => TableCellProps);
|
|
201
|
-
onCellEditBlur?: ({ cell, event, table, value, }: {
|
|
202
|
-
event: FocusEvent<HTMLInputElement>;
|
|
203
|
-
cell: MRT_Cell<TData>;
|
|
204
|
-
table: MRT_TableInstance<TData>;
|
|
205
|
-
value: string;
|
|
206
|
-
}) => void;
|
|
207
|
-
onCellEditChange?: ({ cell, event, table, value, }: {
|
|
208
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
209
|
-
cell: MRT_Cell<TData>;
|
|
210
|
-
table: MRT_TableInstance<TData>;
|
|
211
|
-
value: string;
|
|
212
|
-
}) => void;
|
|
213
201
|
sortingFn?: MRT_SortingFn;
|
|
214
202
|
};
|
|
215
203
|
export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id'> & {
|
|
@@ -317,9 +305,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
317
305
|
table: MRT_TableInstance<TData>;
|
|
318
306
|
cell: MRT_Cell<TData>;
|
|
319
307
|
}) => ButtonProps);
|
|
320
|
-
muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({
|
|
321
|
-
table: MRT_TableInstance<TData>;
|
|
308
|
+
muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ cell, table, }: {
|
|
322
309
|
cell: MRT_Cell<TData>;
|
|
310
|
+
table: MRT_TableInstance<TData>;
|
|
323
311
|
}) => TextFieldProps);
|
|
324
312
|
muiTableBodyCellProps?: TableCellProps | (({ table, cell, }: {
|
|
325
313
|
table: MRT_TableInstance<TData>;
|
|
@@ -400,18 +388,6 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
400
388
|
muiTableTopToolbarProps?: ToolbarProps | (({ table }: {
|
|
401
389
|
table: MRT_TableInstance<TData>;
|
|
402
390
|
}) => ToolbarProps);
|
|
403
|
-
onCellEditBlur?: ({ cell, event, table, value, }: {
|
|
404
|
-
event: FocusEvent<HTMLInputElement>;
|
|
405
|
-
cell: MRT_Cell<TData>;
|
|
406
|
-
table: MRT_TableInstance<TData>;
|
|
407
|
-
value: string;
|
|
408
|
-
}) => void;
|
|
409
|
-
onCellEditChange?: ({ cell, event, table, value, }: {
|
|
410
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
411
|
-
cell: MRT_Cell<TData>;
|
|
412
|
-
table: MRT_TableInstance<TData>;
|
|
413
|
-
value: string;
|
|
414
|
-
}) => void;
|
|
415
391
|
onColumnDrop?: ({ event, draggedColumn, targetColumn, }: {
|
|
416
392
|
event: DragEvent<HTMLButtonElement>;
|
|
417
393
|
draggedColumn: MRT_Column<TData>;
|
|
@@ -1733,19 +1733,29 @@ const MRT_TableHead = ({ table }) => {
|
|
|
1733
1733
|
|
|
1734
1734
|
const MRT_EditCellTextField = ({ cell, table }) => {
|
|
1735
1735
|
var _a;
|
|
1736
|
-
const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps
|
|
1736
|
+
const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps }, setEditingCell, setEditingRow, } = table;
|
|
1737
1737
|
const { column, row } = cell;
|
|
1738
1738
|
const { columnDef } = column;
|
|
1739
1739
|
const { editingRow } = getState();
|
|
1740
1740
|
const [value, setValue] = useState(() => cell.getValue());
|
|
1741
|
+
const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
|
|
1742
|
+
? muiTableBodyCellEditTextFieldProps({ cell, table })
|
|
1743
|
+
: muiTableBodyCellEditTextFieldProps;
|
|
1744
|
+
const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
|
|
1745
|
+
? columnDef.muiTableBodyCellEditTextFieldProps({
|
|
1746
|
+
cell,
|
|
1747
|
+
table,
|
|
1748
|
+
})
|
|
1749
|
+
: columnDef.muiTableBodyCellEditTextFieldProps;
|
|
1750
|
+
const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
|
|
1741
1751
|
const handleChange = (event) => {
|
|
1742
1752
|
var _a;
|
|
1753
|
+
(_a = textFieldProps.onChange) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
|
|
1743
1754
|
setValue(event.target.value);
|
|
1744
|
-
(_a = columnDef.onCellEditChange) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
|
|
1745
|
-
onCellEditChange === null || onCellEditChange === void 0 ? void 0 : onCellEditChange({ event, cell, table, value });
|
|
1746
1755
|
};
|
|
1747
1756
|
const handleBlur = (event) => {
|
|
1748
1757
|
var _a;
|
|
1758
|
+
(_a = textFieldProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
|
|
1749
1759
|
if (editingRow) {
|
|
1750
1760
|
if (!row._valuesCache)
|
|
1751
1761
|
row._valuesCache = {};
|
|
@@ -1753,23 +1763,11 @@ const MRT_EditCellTextField = ({ cell, table }) => {
|
|
|
1753
1763
|
setEditingRow(Object.assign({}, editingRow));
|
|
1754
1764
|
}
|
|
1755
1765
|
setEditingCell(null);
|
|
1756
|
-
(_a = columnDef.onCellEditBlur) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
|
|
1757
|
-
onCellEditBlur === null || onCellEditBlur === void 0 ? void 0 : onCellEditBlur({ event, cell, table, value });
|
|
1758
1766
|
};
|
|
1759
|
-
const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
|
|
1760
|
-
? muiTableBodyCellEditTextFieldProps({ cell, table })
|
|
1761
|
-
: muiTableBodyCellEditTextFieldProps;
|
|
1762
|
-
const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
|
|
1763
|
-
? columnDef.muiTableBodyCellEditTextFieldProps({
|
|
1764
|
-
cell,
|
|
1765
|
-
table,
|
|
1766
|
-
})
|
|
1767
|
-
: columnDef.muiTableBodyCellEditTextFieldProps;
|
|
1768
|
-
const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
|
|
1769
1767
|
if (columnDef.Edit) {
|
|
1770
1768
|
return React.createElement(React.Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, table }));
|
|
1771
1769
|
}
|
|
1772
|
-
return (React.createElement(TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none",
|
|
1770
|
+
return (React.createElement(TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none", onClick: (e) => e.stopPropagation(), placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps, { onBlur: handleBlur, onChange: handleChange })));
|
|
1773
1771
|
};
|
|
1774
1772
|
|
|
1775
1773
|
const MRT_CopyButton = ({ cell, children, table }) => {
|
|
@@ -1931,7 +1929,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
|
|
|
1931
1929
|
: column.getIsPinned()
|
|
1932
1930
|
? 1
|
|
1933
1931
|
: undefined, '&:hover': {
|
|
1934
|
-
backgroundColor: enableHover &&
|
|
1932
|
+
backgroundColor: enableHover &&
|
|
1933
|
+
enableEditing &&
|
|
1934
|
+
columnDef.enableEditing !== false &&
|
|
1935
|
+
editingMode !== 'row'
|
|
1935
1936
|
? theme.palette.mode === 'dark'
|
|
1936
1937
|
? `${lighten(theme.palette.background.default, 0.13)} !important`
|
|
1937
1938
|
: `${darken(theme.palette.background.default, 0.07)} !important`
|