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 +1 -1
- package/dist/MaterialReactTable.d.ts +9 -103
- package/dist/material-react-table.cjs.development.js +55 -219
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +55 -219
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +6 -182
- package/src/body/MRT_TableBodyCell.tsx +1 -9
- package/src/body/MRT_TableBodyRow.tsx +2 -5
- package/src/body/MRT_TableDetailPanel.tsx +1 -5
- package/src/buttons/MRT_ExpandButton.tsx +2 -4
- package/src/buttons/MRT_FullScreenToggleButton.tsx +2 -8
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -8
- package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -8
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +2 -8
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
- package/src/inputs/MRT_EditCellTextField.tsx +3 -3
- package/src/inputs/MRT_FilterTextField.tsx +31 -61
- package/src/inputs/MRT_GlobalFilterTextField.tsx +0 -4
- package/src/inputs/MRT_SelectCheckbox.tsx +0 -24
- package/src/menus/MRT_ColumnActionMenu.tsx +28 -11
- package/src/table/MRT_TableRoot.tsx +5 -74
- package/src/toolbar/MRT_TablePagination.tsx +9 -4
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -2
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]
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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;
|