material-react-table 0.16.2 → 0.18.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/README.md CHANGED
@@ -59,7 +59,7 @@ _All features can easily be enabled/disabled_
59
59
  - [x] Localization (i18n) support
60
60
  - [x] Manage your own state
61
61
  - [x] Pagination (supports client-side and server-side)
62
- - [x] Persistent State
62
+ - [x] Remote/Server-side sorting and filtering supported
63
63
  - [x] Row Actions
64
64
  - [x] Row Numbers
65
65
  - [x] Row Selection (checkboxes)
@@ -1,6 +1,6 @@
1
- import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
1
+ import { ChangeEvent, Dispatch, FC, FocusEvent, 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, ColumnOrderState, ColumnPinningState, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, SortingFn, SortingFnOption, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
3
+ import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, SortingFn, SortingFnOption, TableGenerics, TableInstance, TableState, UseTableInstanceOptions } 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';
@@ -49,6 +49,7 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
49
49
  setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn>>;
50
50
  setDensity: Dispatch<SetStateAction<'comfortable' | 'compact' | 'spacious'>>;
51
51
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
52
+ setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
52
53
  setShowFilters: Dispatch<SetStateAction<boolean>>;
53
54
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
54
55
  };
@@ -60,6 +61,7 @@ export declare type MRT_TableState<D extends Record<string, any> = {}> = TableSt
60
61
  density: 'comfortable' | 'compact' | 'spacious';
61
62
  isLoading: boolean;
62
63
  isFullScreen: boolean;
64
+ showAlertBanner: boolean;
63
65
  showFilters: boolean;
64
66
  showGlobalFilter: boolean;
65
67
  showProgressBars: boolean;
@@ -139,23 +141,11 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
139
141
  cell: MRT_Cell<D>;
140
142
  instance: MRT_TableInstance<D>;
141
143
  }) => void;
142
- onCellEditChanged?: ({ cell, event, instance, }: {
144
+ onCellEditChange?: ({ cell, event, instance, }: {
143
145
  event: ChangeEvent<HTMLInputElement>;
144
146
  cell: MRT_Cell<D>;
145
147
  instance: MRT_TableInstance<D>;
146
148
  }) => void;
147
- onColumnFilterValueChanged?: ({ column, event, filterValue, instance, }: {
148
- column: MRT_Column<D>;
149
- event: ChangeEvent<HTMLInputElement>;
150
- filterValue: any;
151
- instance: MRT_TableInstance<D>;
152
- }) => void;
153
- onColumnFilterValueChangedDebounced?: ({ column, event, filterValue, instance, }: {
154
- column: MRT_Column<D>;
155
- event: ChangeEvent<HTMLInputElement>;
156
- filterValue: any;
157
- instance: MRT_TableInstance<D>;
158
- }) => void;
159
149
  sortingFn?: MRT_SortingFn;
160
150
  };
161
151
  export declare type MRT_Column<D extends Record<string, any> = {}> = Omit<Column<D>, 'header' | 'footer' | 'columns' | 'columnDef'> & {
@@ -198,7 +188,6 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
198
188
  enableGlobalFilterChangeMode?: boolean;
199
189
  enableGlobalFilterRankedResults?: boolean;
200
190
  enablePagination?: boolean;
201
- enablePersistentState?: boolean;
202
191
  enableRowActions?: boolean;
203
192
  enableRowNumbers?: boolean;
204
193
  enableRowVirtualization?: boolean;
@@ -311,115 +300,31 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
311
300
  muiTableToolbarTopProps?: ToolbarProps | (({ instance }: {
312
301
  instance: MRT_TableInstance<D>;
313
302
  }) => ToolbarProps);
314
- onCellClick?: ({ cell, event, instance, }: {
315
- cell: MRT_Cell<D>;
316
- instance: MRT_TableInstance<D>;
317
- event: MouseEvent<HTMLTableCellElement>;
318
- }) => void;
319
303
  onCellEditBlur?: ({ cell, event, instance, }: {
320
304
  event: FocusEvent<HTMLInputElement>;
321
305
  cell: MRT_Cell<D>;
322
306
  instance: MRT_TableInstance<D>;
323
307
  }) => void;
324
- onCellEditChanged?: ({ cell, event, instance, }: {
308
+ onCellEditChange?: ({ cell, event, instance, }: {
325
309
  event: ChangeEvent<HTMLInputElement>;
326
310
  cell: MRT_Cell<D>;
327
311
  instance: MRT_TableInstance<D>;
328
312
  }) => void;
329
- onColumnFilterValueChanged?: ({ column, event, filterValue, instance, }: {
330
- column: MRT_Column<D>;
331
- event: ChangeEvent<HTMLInputElement>;
332
- filterValue: any;
333
- instance: MRT_TableInstance<D>;
334
- }) => void;
335
- onColumnFilterValueChangedDebounced?: ({ column, event, filterValue, instance, }: {
336
- column: MRT_Column<D>;
337
- event: ChangeEvent<HTMLInputElement>;
338
- filterValue: any;
339
- instance: MRT_TableInstance<D>;
340
- }) => void;
341
- onColumnOrderChanged?: ({ columnOrder, instance, }: {
342
- columnOrder: ColumnOrderState;
343
- instance: MRT_TableInstance<D>;
344
- }) => void;
345
- onColumnPinningChanged?: ({ columnPinning, instance, }: {
346
- columnPinning: ColumnPinningState;
347
- instance: MRT_TableInstance<D>;
348
- }) => void;
349
- onColumnVisibilityChanged?: ({ column, columnVisibility, instance, }: {
350
- column: MRT_Column<D>;
351
- columnVisibility: VisibilityState;
352
- instance: MRT_TableInstance<D>;
353
- }) => void;
354
313
  onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
355
314
  onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
356
315
  onCurrentFilterFnsChange?: OnChangeFn<{
357
316
  [key: string]: MRT_FilterFn;
358
317
  }>;
359
318
  onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn>;
360
- onDetailPanelClick?: ({ event, row, instance, }: {
361
- event: MouseEvent<HTMLTableCellElement>;
362
- row: MRT_Row<D>;
363
- instance: MRT_TableInstance<D>;
364
- }) => void;
365
319
  onEditRowSubmit?: ({ row, instance, }: {
366
320
  row: MRT_Row<D>;
367
321
  instance: MRT_TableInstance<D>;
368
322
  }) => Promise<void> | void;
369
- onExpandChanged?: ({ event, row, }: {
370
- event: MouseEvent<HTMLButtonElement>;
371
- row: MRT_Row<D>;
372
- instance: MRT_TableInstance<D>;
373
- }) => void;
374
- onGlobalFilterValueChanged?: ({ event, instance, }: {
375
- event: ChangeEvent<HTMLInputElement>;
376
- instance: MRT_TableInstance<D>;
377
- }) => void;
378
- onGlobalFilterValueChangedDebounced?: ({ event, instance, }: {
379
- event: ChangeEvent<HTMLInputElement>;
380
- instance: MRT_TableInstance<D>;
381
- }) => void;
382
323
  onDensityChange?: OnChangeFn<boolean>;
383
- onDensityChanged?: ({ event, density, instance, }: {
384
- event: MouseEvent<HTMLButtonElement>;
385
- density: 'comfortable' | 'compact' | 'spacious';
386
- instance: MRT_TableInstance<D>;
387
- }) => void;
388
324
  onIsFullScreenChange?: OnChangeFn<boolean>;
389
- onIsFullScreenChanged?: ({ event, isFullScreen, instance, }: {
390
- event: MouseEvent<HTMLButtonElement>;
391
- isFullScreen: boolean;
392
- instance: MRT_TableInstance<D>;
393
- }) => void;
394
- onRowClick?: ({ event, row, instance, }: {
395
- event: MouseEvent<HTMLTableRowElement>;
396
- row: MRT_Row<D>;
397
- instance: MRT_TableInstance<D>;
398
- }) => void;
399
- onRowSelectAllChanged?: ({ event, selectedRows, instance, }: {
400
- event: ChangeEvent;
401
- selectedRows: MRT_Row<D>[];
402
- instance: MRT_TableInstance<D>;
403
- }) => void;
404
- onRowSelectionChanged?: ({ event, row, selectedRows, instance, }: {
405
- event: ChangeEvent;
406
- row: MRT_Row<D>;
407
- selectedRows: MRT_Row<D>[];
408
- instance: MRT_TableInstance<D>;
409
- }) => void;
325
+ onShowAlertBannerChange?: OnChangeFn<boolean>;
410
326
  onShowFiltersChange?: OnChangeFn<boolean>;
411
- onShowFiltersChanged?: ({ event, instance, showFilters, }: {
412
- event: MouseEvent<HTMLButtonElement>;
413
- instance: MRT_TableInstance<D>;
414
- showFilters: boolean;
415
- }) => void;
416
327
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
417
- onShowGlobalFilterChanged?: ({ event, instance, showGlobalFilter, }: {
418
- event: MouseEvent<HTMLButtonElement>;
419
- instance: MRT_TableInstance<D>;
420
- showGlobalFilter: boolean;
421
- }) => void;
422
- persistentStateMode?: 'localStorage' | 'sessionStorage';
423
328
  positionActionsColumn?: 'first' | 'last';
424
329
  positionGlobalFilter?: 'left' | 'right';
425
330
  positionPagination?: 'bottom' | 'top' | 'both';
@@ -461,10 +366,11 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
461
366
  instance: MRT_TableInstance<D>;
462
367
  }>;
463
368
  }) => ReactNode;
369
+ rowCount?: number;
464
370
  rowNumberMode?: 'original' | 'static';
465
371
  selectAllMode?: 'all' | 'page';
466
372
  tableId?: string;
467
373
  virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
468
374
  };
469
- declare const _default: <D 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, persistentStateMode, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
375
+ declare const _default: <D 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<D>) => JSX.Element;
470
376
  export default _default;