material-react-table-narender 2.13.3 → 2.13.5

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.13.3",
2
+ "version": "2.13.5",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table-narender",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -35,11 +35,11 @@
35
35
  "size-limit": [
36
36
  {
37
37
  "path": "dist/index.js",
38
- "limit": "53 KB"
38
+ "limit": "60 KB"
39
39
  },
40
40
  {
41
41
  "path": "dist/index.esm.js",
42
- "limit": "50 KB"
42
+ "limit": "60 KB"
43
43
  }
44
44
  ],
45
45
  "engines": {
@@ -25,7 +25,7 @@ export const MaterialReactTable = <TData extends MRT_RowData>(
25
25
  props: MaterialReactTableProps<TData>,
26
26
  ) => {
27
27
  let table: MRT_TableInstance<TData>;
28
-
28
+ debugger;
29
29
  if (isTableInstanceProp(props)) {
30
30
  table = props.table;
31
31
  } else {
@@ -16,7 +16,7 @@ import {
16
16
  type MRT_RowData,
17
17
  type MRT_TableInstance,
18
18
  } from '../../types';
19
- import { isCellEditable, openEditingCell } from '../../utils/cell.utils';
19
+ import { cellKeyboardShortcuts, isCellEditable, openEditingCell } from '../../utils/cell.utils';
20
20
  import { getCommonMRTCellStyles } from '../../utils/style.utils';
21
21
  import { parseFromValuesOrFunc } from '../../utils/utils';
22
22
  import { MRT_CopyButton } from '../buttons/MRT_CopyButton';
@@ -228,6 +228,16 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
228
228
  }
229
229
  };
230
230
 
231
+ const handleKeyDown = (event: React.KeyboardEvent<HTMLTableCellElement>) => {
232
+ tableCellProps?.onKeyDown?.(event);
233
+ cellKeyboardShortcuts({
234
+ cell,
235
+ cellValue: cell.getValue<string>(),
236
+ event,
237
+ table,
238
+ });
239
+ };
240
+
231
241
  return (
232
242
  <TableCell
233
243
  align={theme.direction === 'rtl' ? 'right' : 'left'}
@@ -235,6 +245,7 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
235
245
  data-pinned={!!isColumnPinned || undefined}
236
246
  tabIndex={enableKeyboardShortcuts ? 0 : undefined}
237
247
  {...tableCellProps}
248
+ onKeyDown={handleKeyDown}
238
249
  onContextMenu={handleContextMenu}
239
250
  onDoubleClick={handleDoubleClick}
240
251
  onDragEnter={handleDragEnter}
@@ -7,6 +7,7 @@ import {
7
7
  } from '../../types';
8
8
  import { getCommonMRTCellStyles } from '../../utils/style.utils';
9
9
  import { parseFromValuesOrFunc } from '../../utils/utils';
10
+ import { cellKeyboardShortcuts } from '../../utils/cell.utils';
10
11
 
11
12
  export interface MRT_TableFooterCellProps<TData extends MRT_RowData>
12
13
  extends TableCellProps {
@@ -43,6 +44,16 @@ export const MRT_TableFooterCell = <TData extends MRT_RowData>({
43
44
  ...rest,
44
45
  };
45
46
 
47
+
48
+ const handleKeyDown = (event: React.KeyboardEvent<HTMLTableCellElement>) => {
49
+ tableCellProps?.onKeyDown?.(event);
50
+ cellKeyboardShortcuts({
51
+ event,
52
+ cellValue: footer.column.columnDef.footer,
53
+ table,
54
+ });
55
+ };
56
+
46
57
  return (
47
58
  <TableCell
48
59
  align={
@@ -58,6 +69,7 @@ export const MRT_TableFooterCell = <TData extends MRT_RowData>({
58
69
  tabIndex={enableKeyboardShortcuts ? 0 : undefined}
59
70
  variant="footer"
60
71
  {...tableCellProps}
72
+ onKeyDown={handleKeyDown}
61
73
  sx={(theme) => ({
62
74
  fontWeight: 'bold',
63
75
  p:
@@ -17,6 +17,7 @@ import {
17
17
  } from '../../types';
18
18
  import { getCommonMRTCellStyles } from '../../utils/style.utils';
19
19
  import { parseFromValuesOrFunc } from '../../utils/utils';
20
+ import { cellKeyboardShortcuts } from '../../utils/cell.utils';
20
21
 
21
22
  export interface MRT_TableHeadCellProps<TData extends MRT_RowData>
22
23
  extends TableCellProps {
@@ -148,6 +149,16 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
148
149
  }
149
150
  };
150
151
 
152
+ const handleKeyDown = (event: React.KeyboardEvent<HTMLTableCellElement>) => {
153
+ tableCellProps?.onKeyDown?.(event);
154
+ cellKeyboardShortcuts({
155
+ event,
156
+ cellValue: header.column.columnDef.header,
157
+ table,
158
+ header,
159
+ });
160
+ };
161
+
151
162
  const HeaderElement =
152
163
  parseFromValuesOrFunc(columnDef.Header, {
153
164
  column,
@@ -188,6 +199,7 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
188
199
  }
189
200
  }}
190
201
  {...tableCellProps}
202
+ onKeyDown={handleKeyDown}
191
203
  sx={(theme: Theme) => ({
192
204
  '& :hover': {
193
205
  '.MuiButtonBase-root': {
@@ -79,6 +79,7 @@ export const cellKeyboardShortcuts = <TData extends MRT_RowData = MRT_RowData>({
79
79
  parentElement?: HTMLTableRowElement;
80
80
  table: MRT_TableInstance<TData>;
81
81
  }) => {
82
+ debugger;
82
83
  if (!table.options.enableKeyboardShortcuts) return;
83
84
  if (event.isPropagationStopped()) return;
84
85
  const currentCell = event.currentTarget;