material-react-table 0.23.4 → 0.24.1

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,7 +1,7 @@
1
- import { ChangeEvent, Dispatch, FC, FocusEvent, ReactNode, SetStateAction } from 'react';
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, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
4
- import { Options as VirtualizerOptions } from 'react-virtual';
1
+ import { ChangeEvent, Dispatch, DragEvent, FC, FocusEvent, ReactNode, SetStateAction } from 'react';
2
+ import type { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
+ import type { Cell, Column, ColumnDef, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
4
+ import type { Options as VirtualizerOptions } from 'react-virtual';
5
5
  import { MRT_Localization } from './localization';
6
6
  import { MRT_Icons } from './icons';
7
7
  import { MRT_FilterFns } from './filtersFns';
@@ -43,6 +43,7 @@ export declare type MRT_TableInstance<TData extends Record<string, any> = {}> =
43
43
  localization: MRT_Localization;
44
44
  };
45
45
  setCurrentDraggingColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
46
+ setCurrentDraggingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
46
47
  setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell | null>>;
47
48
  setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row | null>>;
48
49
  setCurrentFilterFns: Dispatch<SetStateAction<{
@@ -50,6 +51,7 @@ export declare type MRT_TableInstance<TData extends Record<string, any> = {}> =
50
51
  }>>;
51
52
  setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
52
53
  setCurrentHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
54
+ setCurrentHoveredRow: Dispatch<SetStateAction<MRT_Row | null>>;
53
55
  setDensity: Dispatch<SetStateAction<'comfortable' | 'compact' | 'spacious'>>;
54
56
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
55
57
  setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
@@ -58,11 +60,13 @@ export declare type MRT_TableInstance<TData extends Record<string, any> = {}> =
58
60
  };
59
61
  export declare type MRT_TableState<TData extends Record<string, any> = {}> = TableState & {
60
62
  currentDraggingColumn: MRT_Column<TData> | null;
63
+ currentDraggingRow: MRT_Row<TData> | null;
61
64
  currentEditingCell: MRT_Cell<TData> | null;
62
65
  currentEditingRow: MRT_Row<TData> | null;
63
66
  currentFilterFns: Record<string, MRT_FilterOption>;
64
67
  currentGlobalFilterFn: Record<string, MRT_FilterOption>;
65
68
  currentHoveredColumn: MRT_Column<TData> | null;
69
+ currentHoveredRow: MRT_Row<TData> | null;
66
70
  density: 'comfortable' | 'compact' | 'spacious';
67
71
  isFullScreen: boolean;
68
72
  isLoading: boolean;
@@ -123,6 +127,7 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
123
127
  columns?: MRT_ColumnDef<TData>[];
124
128
  enableClickToCopy?: boolean;
125
129
  enableColumnActions?: boolean;
130
+ enableColumnDragging?: boolean;
126
131
  enableColumnFilterChangeMode?: boolean;
127
132
  enableColumnOrdering?: boolean;
128
133
  enableEditing?: boolean;
@@ -170,6 +175,10 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
170
175
  table: MRT_TableInstance<TData>;
171
176
  column: MRT_Column<TData>;
172
177
  }) => IconButtonProps);
178
+ muiTableHeadCellDragHandleProps?: IconButtonProps | (({ table, column, }: {
179
+ table: MRT_TableInstance<TData>;
180
+ column: MRT_Column<TData>;
181
+ }) => IconButtonProps);
173
182
  muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ table, column, }: {
174
183
  table: MRT_TableInstance<TData>;
175
184
  column: MRT_Column<TData>;
@@ -206,11 +215,10 @@ export declare type MRT_Header<TData extends Record<string, any> = {}> = Omit<He
206
215
  export declare type MRT_HeaderGroup<TData extends Record<string, any> = {}> = Omit<HeaderGroup<TData>, 'headers'> & {
207
216
  headers: MRT_Header<TData>[];
208
217
  };
209
- export declare type MRT_Row<TData extends Record<string, any> = {}> = Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | 'original' | '_valuesCache'> & {
218
+ export declare type MRT_Row<TData extends Record<string, any> = {}> = Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'> & {
210
219
  getAllCells: () => MRT_Cell<TData>[];
211
220
  getVisibleCells: () => MRT_Cell<TData>[];
212
221
  subRows?: MRT_Row<TData>[];
213
- original: TData;
214
222
  _valuesCache?: TData;
215
223
  };
216
224
  export declare type MRT_Cell<TData extends Record<string, any> = {}> = Omit<Cell<TData, unknown>, 'column' | 'row'> & {
@@ -221,10 +229,20 @@ export declare type MRT_SortingOption = keyof typeof MRT_SortingFns;
221
229
  export declare type MRT_SortingFn<TData extends Record<string, any> = {}> = SortingFn<TData> | MRT_SortingOption;
222
230
  export declare type MRT_FilterOption = keyof typeof MRT_FilterFns;
223
231
  export declare type MRT_FilterFn<TData extends Record<string, any> = {}> = FilterFn<TData> | MRT_FilterOption;
232
+ /**
233
+ * `columns` and `data` props are the only required props, but there are over 150 other optional props.
234
+ *
235
+ * See more info on creating columns and data on the official docs site:
236
+ * @link https://www.material-react-table.com/docs/usage
237
+ *
238
+ * See the full props list on the official docs site:
239
+ * @link https://www.material-react-table.com/docs/api/props
240
+ */
224
241
  export declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = MRT_TableOptions<TData> & {
225
242
  editingMode?: 'table' | 'row' | 'cell';
226
243
  enableClickToCopy?: boolean;
227
244
  enableColumnActions?: boolean;
245
+ enableColumnDragging?: boolean;
228
246
  enableColumnFilterChangeMode?: boolean;
229
247
  enableColumnOrdering?: boolean;
230
248
  enableDensityToggle?: boolean;
@@ -235,7 +253,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
235
253
  enableGlobalFilterRankedResults?: boolean;
236
254
  enablePagination?: boolean;
237
255
  enableRowActions?: boolean;
256
+ enableRowDragging?: boolean;
238
257
  enableRowNumbers?: boolean;
258
+ enableRowOrdering?: boolean;
239
259
  enableRowVirtualization?: boolean;
240
260
  enableSelectAll?: boolean;
241
261
  enableStickyHeader?: boolean;
@@ -255,7 +275,8 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
255
275
  table: MRT_TableInstance<TData>;
256
276
  row: MRT_Row<TData>;
257
277
  }) => IconButtonProps);
258
- muiLinearProgressProps?: LinearProgressProps | (({ table, }: {
278
+ muiLinearProgressProps?: LinearProgressProps | (({ isTopToolbar, table, }: {
279
+ isTopToolbar: boolean;
259
280
  table: MRT_TableInstance<TData>;
260
281
  }) => LinearProgressProps);
261
282
  muiSearchTextFieldProps?: TextFieldProps | (({ table }: {
@@ -284,6 +305,10 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
284
305
  table: MRT_TableInstance<TData>;
285
306
  cell: MRT_Cell<TData>;
286
307
  }) => SkeletonProps);
308
+ muiTableBodyRowDragHandleProps?: IconButtonProps | (({ table, row, }: {
309
+ table: MRT_TableInstance<TData>;
310
+ row: MRT_Row<TData>;
311
+ }) => IconButtonProps);
287
312
  muiTableBodyProps?: TableBodyProps | (({ table }: {
288
313
  table: MRT_TableInstance<TData>;
289
314
  }) => TableBodyProps);
@@ -313,6 +338,10 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
313
338
  table: MRT_TableInstance<TData>;
314
339
  column: MRT_Column<TData>;
315
340
  }) => IconButtonProps);
341
+ muiTableHeadCellDragHandleProps?: IconButtonProps | (({ table, column, }: {
342
+ table: MRT_TableInstance<TData>;
343
+ column: MRT_Column<TData>;
344
+ }) => IconButtonProps);
316
345
  muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ table, column, }: {
317
346
  table: MRT_TableInstance<TData>;
318
347
  column: MRT_Column<TData>;
@@ -356,7 +385,13 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
356
385
  cell: MRT_Cell<TData>;
357
386
  table: MRT_TableInstance<TData>;
358
387
  }) => void;
388
+ onColumnDrop?: ({ event, draggedColumn, targetColumn, }: {
389
+ event: DragEvent<HTMLButtonElement>;
390
+ draggedColumn: MRT_Column<TData>;
391
+ targetColumn: MRT_Column<TData> | null;
392
+ }) => void;
359
393
  onCurrentDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
394
+ onCurrentDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
360
395
  onCurrentEditingCellChange?: OnChangeFn<MRT_Cell<TData> | null>;
361
396
  onCurrentEditingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
362
397
  onCurrentFilterFnsChange?: OnChangeFn<{
@@ -364,12 +399,18 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
364
399
  }>;
365
400
  onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterOption>;
366
401
  onCurrentHoveredColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
402
+ onCurrentHoveredRowChange?: OnChangeFn<MRT_Row<TData> | null>;
367
403
  onEditRowSubmit?: ({ row, table, }: {
368
404
  row: MRT_Row<TData>;
369
405
  table: MRT_TableInstance<TData>;
370
406
  }) => Promise<void> | void;
371
407
  onDensityChange?: OnChangeFn<boolean>;
372
408
  onIsFullScreenChange?: OnChangeFn<boolean>;
409
+ onRowDrop?: ({ event, draggedRow, targetRow, }: {
410
+ event: DragEvent<HTMLButtonElement>;
411
+ draggedRow: MRT_Row<TData>;
412
+ targetRow: MRT_Row<TData> | null;
413
+ }) => void;
373
414
  onShowAlertBannerChange?: OnChangeFn<boolean>;
374
415
  onShowFiltersChange?: OnChangeFn<boolean>;
375
416
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
@@ -421,13 +462,4 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
421
462
  virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
422
463
  };
423
464
  declare const _default: <TData extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
424
- /**
425
- * `columns` and `data` props are the only required props, but there are over 150 other optional props.
426
- *
427
- * See more info on creating columns and data on the official docs site:
428
- * @link https://www.material-react-table.com/docs/usage
429
- *
430
- * See the full props list on the official docs site:
431
- * @link https://www.material-react-table.com/docs/api/props
432
- */
433
465
  export default _default;
@@ -1,9 +1,10 @@
1
- import { FC } from 'react';
1
+ import { FC, RefObject } from 'react';
2
2
  import type { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
5
  enableHover?: boolean;
6
6
  rowIndex: number;
7
+ rowRef: RefObject<HTMLTableRowElement>;
7
8
  table: MRT_TableInstance;
8
9
  }
9
10
  export declare const MRT_TableBodyCell: FC<Props>;
@@ -0,0 +1,9 @@
1
+ import { FC, RefObject } from 'react';
2
+ import { MRT_Cell, MRT_TableInstance } from '..';
3
+ interface Props {
4
+ cell: MRT_Cell;
5
+ rowRef: RefObject<HTMLTableRowElement>;
6
+ table: MRT_TableInstance;
7
+ }
8
+ export declare const MRT_TableBodyRowGrabHandle: FC<Props>;
9
+ export {};
@@ -1,8 +1,10 @@
1
+ import { IconButtonProps } from '@mui/material';
1
2
  import { DragEventHandler, FC } from 'react';
2
3
  import { MRT_TableInstance } from '..';
3
4
  interface Props {
4
- handleDragStart: DragEventHandler<HTMLButtonElement>;
5
- handleDragEnd: DragEventHandler<HTMLButtonElement>;
5
+ iconButtonProps?: IconButtonProps;
6
+ onDragStart: DragEventHandler<HTMLButtonElement>;
7
+ onDragEnd: DragEventHandler<HTMLButtonElement>;
6
8
  table: MRT_TableInstance;
7
9
  }
8
10
  export declare const MRT_GrabHandleButton: FC<Props>;
@@ -0,0 +1,9 @@
1
+ import { FC, RefObject } from 'react';
2
+ import type { MRT_Column, MRT_TableInstance } from '..';
3
+ interface Props {
4
+ column: MRT_Column;
5
+ table: MRT_TableInstance;
6
+ tableHeadCellRef: RefObject<HTMLTableCellElement>;
7
+ }
8
+ export declare const MRT_TableHeadCellGrabHandle: FC<Props>;
9
+ export {};
@@ -34,6 +34,7 @@ export interface MRT_Localization {
34
34
  hideColumn: string;
35
35
  max: string;
36
36
  min: string;
37
+ move: string;
37
38
  pinToLeft: string;
38
39
  pinToRight: string;
39
40
  resetColumnSize: string;