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.
@@ -1,4 +1,4 @@
1
- import { ChangeEvent, Dispatch, DragEvent, FocusEvent, ReactNode, SetStateAction } from 'react';
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 | (({ table, cell, }: {
168
+ muiTableBodyCellCopyButtonProps?: ButtonProps | (({ cell, table, }: {
169
169
  table: MRT_TableInstance<TData>;
170
170
  cell: MRT_Cell<TData>;
171
171
  }) => ButtonProps);
172
- muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ table, cell, }: {
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 | (({ table, cell, }: {
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 | (({ table, cell, }: {
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>;
package/dist/cjs/index.js CHANGED
@@ -1741,19 +1741,29 @@ const MRT_TableHead = ({ table }) => {
1741
1741
 
1742
1742
  const MRT_EditCellTextField = ({ cell, table }) => {
1743
1743
  var _a;
1744
- const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps, onCellEditBlur, onCellEditChange, }, setEditingCell, setEditingRow, } = table;
1744
+ const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps }, setEditingCell, setEditingRow, } = table;
1745
1745
  const { column, row } = cell;
1746
1746
  const { columnDef } = column;
1747
1747
  const { editingRow } = getState();
1748
1748
  const [value, setValue] = React.useState(() => cell.getValue());
1749
+ const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
1750
+ ? muiTableBodyCellEditTextFieldProps({ cell, table })
1751
+ : muiTableBodyCellEditTextFieldProps;
1752
+ const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
1753
+ ? columnDef.muiTableBodyCellEditTextFieldProps({
1754
+ cell,
1755
+ table,
1756
+ })
1757
+ : columnDef.muiTableBodyCellEditTextFieldProps;
1758
+ const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
1749
1759
  const handleChange = (event) => {
1750
1760
  var _a;
1761
+ (_a = textFieldProps.onChange) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
1751
1762
  setValue(event.target.value);
1752
- (_a = columnDef.onCellEditChange) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
1753
- onCellEditChange === null || onCellEditChange === void 0 ? void 0 : onCellEditChange({ event, cell, table, value });
1754
1763
  };
1755
1764
  const handleBlur = (event) => {
1756
1765
  var _a;
1766
+ (_a = textFieldProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
1757
1767
  if (editingRow) {
1758
1768
  if (!row._valuesCache)
1759
1769
  row._valuesCache = {};
@@ -1761,23 +1771,11 @@ const MRT_EditCellTextField = ({ cell, table }) => {
1761
1771
  setEditingRow(Object.assign({}, editingRow));
1762
1772
  }
1763
1773
  setEditingCell(null);
1764
- (_a = columnDef.onCellEditBlur) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
1765
- onCellEditBlur === null || onCellEditBlur === void 0 ? void 0 : onCellEditBlur({ event, cell, table, value });
1766
1774
  };
1767
- const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
1768
- ? muiTableBodyCellEditTextFieldProps({ cell, table })
1769
- : muiTableBodyCellEditTextFieldProps;
1770
- const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
1771
- ? columnDef.muiTableBodyCellEditTextFieldProps({
1772
- cell,
1773
- table,
1774
- })
1775
- : columnDef.muiTableBodyCellEditTextFieldProps;
1776
- const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
1777
1775
  if (columnDef.Edit) {
1778
1776
  return React__default["default"].createElement(React__default["default"].Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, table }));
1779
1777
  }
1780
- return (React__default["default"].createElement(material.TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none", onBlur: handleBlur, onChange: handleChange, onClick: (e) => e.stopPropagation(), placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps)));
1778
+ return (React__default["default"].createElement(material.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 })));
1781
1779
  };
1782
1780
 
1783
1781
  const MRT_CopyButton = ({ cell, children, table }) => {
@@ -1939,7 +1937,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
1939
1937
  : column.getIsPinned()
1940
1938
  ? 1
1941
1939
  : undefined, '&:hover': {
1942
- backgroundColor: enableHover && enableEditing && editingMode !== 'row'
1940
+ backgroundColor: enableHover &&
1941
+ enableEditing &&
1942
+ columnDef.enableEditing !== false &&
1943
+ editingMode !== 'row'
1943
1944
  ? theme.palette.mode === 'dark'
1944
1945
  ? `${material.lighten(theme.palette.background.default, 0.13)} !important`
1945
1946
  : `${material.darken(theme.palette.background.default, 0.07)} !important`