material-react-table 1.8.0 → 1.8.2

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.
Files changed (43) hide show
  1. package/dist/cjs/index.js +18 -6
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/MaterialReactTable.d.ts +38 -23
  4. package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -3
  5. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +3 -2
  6. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +5 -4
  7. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +3 -2
  8. package/dist/cjs/types/column.utils.d.ts +21 -5
  9. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -2
  10. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +3 -2
  11. package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -2
  12. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +3 -2
  13. package/dist/cjs/types/sortingFns.d.ts +117 -1
  14. package/dist/esm/material-react-table.esm.js +18 -6
  15. package/dist/esm/material-react-table.esm.js.map +1 -1
  16. package/dist/esm/types/MaterialReactTable.d.ts +38 -23
  17. package/dist/esm/types/body/MRT_TableBody.d.ts +4 -3
  18. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +3 -2
  19. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +5 -4
  20. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +3 -2
  21. package/dist/esm/types/column.utils.d.ts +21 -5
  22. package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -2
  23. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +3 -2
  24. package/dist/esm/types/head/MRT_TableHead.d.ts +3 -2
  25. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +3 -2
  26. package/dist/esm/types/sortingFns.d.ts +117 -1
  27. package/dist/index.d.ts +39 -24
  28. package/package.json +15 -15
  29. package/src/MaterialReactTable.tsx +655 -624
  30. package/src/body/MRT_TableBody.tsx +10 -11
  31. package/src/body/MRT_TableBodyCell.tsx +3 -2
  32. package/src/body/MRT_TableBodyRow.tsx +7 -14
  33. package/src/body/MRT_TableDetailPanel.tsx +3 -2
  34. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  35. package/src/column.utils.ts +6 -8
  36. package/src/footer/MRT_TableFooter.tsx +3 -2
  37. package/src/footer/MRT_TableFooterRow.tsx +3 -7
  38. package/src/head/MRT_TableHead.tsx +3 -2
  39. package/src/head/MRT_TableHeadCellSortLabel.tsx +4 -0
  40. package/src/head/MRT_TableHeadRow.tsx +3 -7
  41. package/src/menus/MRT_FilterOptionMenu.tsx +8 -3
  42. package/src/table/MRT_Table.tsx +4 -3
  43. package/src/table/MRT_TableRoot.tsx +6 -0
@@ -28,9 +28,12 @@ export { MRT_AggregationFns, MRT_FilterFns, MRT_SortingFns };
28
28
  /**
29
29
  * Most of this file is just TypeScript types
30
30
  */
31
+ type Prettify<T> = {
32
+ [K in keyof T]: T[K];
33
+ } & {};
34
+ type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
31
35
  export type MRT_DensityState = 'comfortable' | 'compact' | 'spacious';
32
36
  export type { ColumnFiltersState as MRT_ColumnFiltersState, ColumnOrderState as MRT_ColumnOrderState, ColumnPinningState as MRT_ColumnPinningState, ColumnSizingInfoState as MRT_ColumnSizingInfoState, ColumnSizingState as MRT_ColumnSizingState, ExpandedState as MRT_ExpandedState, GroupingState as MRT_GroupingState, PaginationState as MRT_PaginationState, RowSelectionState as MRT_RowSelectionState, SortingState as MRT_SortingState, VirtualItem as MRT_VirtualItem, Virtualizer as MRT_Virtualizer, VirtualizerOptions as MRT_VirtualizerOptions, VisibilityState as MRT_VisibilityState, };
33
- type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
34
37
  export interface MRT_Localization {
35
38
  actions: string;
36
39
  and: string;
@@ -129,7 +132,7 @@ export interface MRT_RowModel<TData extends Record<string, any> = {}> {
129
132
  [key: string]: MRT_Row<TData>;
130
133
  };
131
134
  }
132
- export type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
135
+ export type MRT_TableInstance<TData extends Record<string, any> = {}> = Prettify<Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
133
136
  getAllColumns: () => MRT_Column<TData>[];
134
137
  getAllFlatColumns: () => MRT_Column<TData>[];
135
138
  getAllLeafColumns: () => MRT_Column<TData>[];
@@ -179,8 +182,8 @@ export type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<Tab
179
182
  setShowFilters: Dispatch<SetStateAction<boolean>>;
180
183
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
181
184
  setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
182
- };
183
- export type MRT_TableState<TData extends Record<string, any> = {}> = TableState & {
185
+ }>;
186
+ export type MRT_TableState<TData extends Record<string, any> = {}> = Prettify<TableState & {
184
187
  columnFilterFns: Record<string, MRT_FilterOption>;
185
188
  density: MRT_DensityState;
186
189
  draggingColumn: MRT_Column<TData> | null;
@@ -202,7 +205,7 @@ export type MRT_TableState<TData extends Record<string, any> = {}> = TableState
202
205
  showProgressBars: boolean;
203
206
  showSkeletons: boolean;
204
207
  showToolbarDropZone: boolean;
205
- };
208
+ }>;
206
209
  export type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'aggregatedCell' | 'aggregationFn' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'id' | 'sortingFn'> & {
207
210
  AggregatedCell?: (props: {
208
211
  cell: MRT_Cell<TData>;
@@ -383,22 +386,22 @@ export type MRT_Column<TData extends Record<string, any> = {}> = Omit<Column<TDa
383
386
  footer: string;
384
387
  header: string;
385
388
  };
386
- export type MRT_Header<TData extends Record<string, any> = {}> = Omit<Header<TData, unknown>, 'column'> & {
389
+ export type MRT_Header<TData extends Record<string, any> = {}> = Prettify<Omit<Header<TData, unknown>, 'column'> & {
387
390
  column: MRT_Column<TData>;
388
- };
389
- export type MRT_HeaderGroup<TData extends Record<string, any> = {}> = Omit<HeaderGroup<TData>, 'headers'> & {
391
+ }>;
392
+ export type MRT_HeaderGroup<TData extends Record<string, any> = {}> = Prettify<Omit<HeaderGroup<TData>, 'headers'> & {
390
393
  headers: MRT_Header<TData>[];
391
- };
392
- export type MRT_Row<TData extends Record<string, any> = {}> = Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'> & {
394
+ }>;
395
+ export type MRT_Row<TData extends Record<string, any> = {}> = Prettify<Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'> & {
393
396
  getAllCells: () => MRT_Cell<TData>[];
394
397
  getVisibleCells: () => MRT_Cell<TData>[];
395
398
  subRows?: MRT_Row<TData>[];
396
399
  _valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
397
- };
398
- export type MRT_Cell<TData extends Record<string, any> = {}> = Omit<Cell<TData, unknown>, 'column' | 'row'> & {
400
+ }>;
401
+ export type MRT_Cell<TData extends Record<string, any> = {}> = Prettify<Omit<Cell<TData, unknown>, 'column' | 'row'> & {
399
402
  column: MRT_Column<TData>;
400
403
  row: MRT_Row<TData>;
401
- };
404
+ }>;
402
405
  export type MRT_AggregationOption = string & keyof typeof MRT_AggregationFns;
403
406
  export type MRT_AggregationFn<TData extends Record<string, any> = {}> = AggregationFn<TData> | MRT_AggregationOption;
404
407
  export type MRT_SortingOption = LiteralUnion<string & keyof typeof MRT_SortingFns>;
@@ -412,8 +415,9 @@ export type MRT_InternalFilterOption = {
412
415
  divider: boolean;
413
416
  };
414
417
  export type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select';
418
+ export type MRT_CreateTableFeature<TData extends Record<string, any> = {}, TFeature = any> = (table: MRT_TableInstance<TData>) => TFeature;
415
419
  /**
416
- * `columns` and `data` props are the only required props, but there are over 150 other optional props.
420
+ * `columns` and `data` props are the only required props, but there are over 170 other optional props.
417
421
  *
418
422
  * See more info on creating columns and data on the official docs site:
419
423
  * @link https://www.material-react-table.com/docs/getting-started/usage
@@ -421,7 +425,7 @@ export type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row
421
425
  * See the full props list on the official docs site:
422
426
  * @link https://www.material-react-table.com/docs/api/props
423
427
  */
424
- export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
428
+ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Prettify<Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
425
429
  columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
426
430
  /**
427
431
  * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
@@ -709,15 +713,17 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Om
709
713
  rowCount?: number;
710
714
  rowNumberMode?: 'original' | 'static';
711
715
  selectAllMode?: 'all' | 'page';
716
+ /**
717
+ * Manage state externally any way you want, then pass it back into MRT.
718
+ */
712
719
  state?: Partial<MRT_TableState<TData>>;
713
- columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
714
- columnVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>> | ((props: {
715
- table: MRT_TableInstance<TData>;
716
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>);
717
- rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
718
- rowVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | ((props: {
719
- table: MRT_TableInstance<TData>;
720
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
720
+ /**
721
+ * Sequence of features important any dependent feature must be defined first
722
+ */
723
+ tableFeatures?: Array<MRT_CreateTableFeature<TData>>;
724
+ /**
725
+ * Get access to the table instance via a ref to read state or call built-in methods
726
+ */
721
727
  tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
722
728
  /**
723
729
  * @deprecated Use `rowVirtualizerInstanceRef` instead
@@ -727,6 +733,15 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Om
727
733
  * @deprecated Use `rowVirtualizerProps` instead
728
734
  */
729
735
  virtualizerProps?: any;
736
+ }> & {
737
+ columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
738
+ columnVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>> | ((props: {
739
+ table: MRT_TableInstance<TData>;
740
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>);
741
+ rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
742
+ rowVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | ((props: {
743
+ table: MRT_TableInstance<TData>;
744
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
730
745
  };
731
746
  declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilterMatchHighlighting, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, layoutMode, localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
732
747
  export default MaterialReactTable;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import type { MRT_TableInstance, MRT_VirtualItem, MRT_Virtualizer } from '..';
2
+ import { VirtualItem, Virtualizer } from '@tanstack/react-virtual';
3
+ import type { MRT_TableInstance } from '..';
3
4
  interface Props {
4
- columnVirtualizer?: MRT_Virtualizer<HTMLDivElement, HTMLTableCellElement>;
5
+ columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
5
6
  table: MRT_TableInstance;
6
- virtualColumns?: MRT_VirtualItem[];
7
+ virtualColumns?: VirtualItem[];
7
8
  virtualPaddingLeft?: number;
8
9
  virtualPaddingRight?: number;
9
10
  }
@@ -1,5 +1,6 @@
1
1
  import React, { RefObject } from 'react';
2
- import type { MRT_Cell, MRT_TableInstance, MRT_VirtualItem } from '..';
2
+ import type { VirtualItem } from '@tanstack/react-virtual';
3
+ import type { MRT_Cell, MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  cell: MRT_Cell;
5
6
  enableHover?: boolean;
@@ -8,7 +9,7 @@ interface Props {
8
9
  rowIndex: number;
9
10
  rowRef: RefObject<HTMLTableRowElement>;
10
11
  table: MRT_TableInstance;
11
- virtualCell?: MRT_VirtualItem;
12
+ virtualCell?: VirtualItem;
12
13
  }
13
14
  export declare const MRT_TableBodyCell: ({ cell, enableHover, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props) => JSX.Element;
14
15
  export declare const Memo_MRT_TableBodyCell: React.MemoExoticComponent<({ cell, enableHover, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props) => JSX.Element>;
@@ -1,16 +1,17 @@
1
1
  import React from 'react';
2
- import type { MRT_Row, MRT_TableInstance, MRT_VirtualItem, MRT_Virtualizer } from '..';
2
+ import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual';
3
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
4
  interface Props {
4
- columnVirtualizer?: MRT_Virtualizer<HTMLDivElement, HTMLTableCellElement>;
5
+ columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
5
6
  measureElement?: (element: HTMLTableRowElement) => void;
6
7
  numRows: number;
7
8
  row: MRT_Row;
8
9
  rowIndex: number;
9
10
  table: MRT_TableInstance;
10
- virtualColumns?: MRT_VirtualItem[];
11
+ virtualColumns?: VirtualItem[];
11
12
  virtualPaddingLeft?: number;
12
13
  virtualPaddingRight?: number;
13
- virtualRow?: MRT_VirtualItem;
14
+ virtualRow?: VirtualItem;
14
15
  }
15
16
  export declare const MRT_TableBodyRow: ({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props) => JSX.Element;
16
17
  export declare const Memo_MRT_TableBodyRow: React.MemoExoticComponent<({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props) => JSX.Element>;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import type { MRT_Row, MRT_TableInstance, MRT_VirtualItem } from '..';
2
+ import type { VirtualItem } from '@tanstack/react-virtual';
3
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  parentRowRef: React.RefObject<HTMLTableRowElement>;
5
6
  row: MRT_Row;
6
7
  table: MRT_TableInstance;
7
- virtualRow?: MRT_VirtualItem;
8
+ virtualRow?: VirtualItem;
8
9
  }
9
10
  export declare const MRT_TableDetailPanel: ({ parentRowRef, row, table, virtualRow, }: Props) => JSX.Element;
10
11
  export {};
@@ -1,10 +1,10 @@
1
- import type { ColumnOrderState, GroupingState, Row } from '@tanstack/react-table';
1
+ import type { Row } from '@tanstack/react-table';
2
2
  import { MRT_AggregationFns } from './aggregationFns';
3
3
  import { MRT_FilterFns } from './filterFns';
4
4
  import { MRT_SortingFns } from './sortingFns';
5
5
  import type { TableCellProps } from '@mui/material/TableCell';
6
6
  import type { Theme } from '@mui/material/styles';
7
- import type { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption, MRT_Header, MRT_TableInstance } from '.';
7
+ import type { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_ColumnOrderState, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption, MRT_GroupingState, MRT_Header, MRT_TableInstance } from '.';
8
8
  export declare const getColumnId: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => string;
9
9
  export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[];
10
10
  export declare const prepareColumns: <TData extends Record<string, any> = {}>({ aggregationFns, columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }: {
@@ -100,8 +100,8 @@ export declare const prepareColumns: <TData extends Record<string, any> = {}>({
100
100
  basic: import("@tanstack/react-table").SortingFn<any>;
101
101
  } & Record<string, import("@tanstack/react-table").SortingFn<any>>;
102
102
  }) => MRT_DefinedColumnDef<TData>[];
103
- export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: ColumnOrderState) => ColumnOrderState;
104
- export declare const showExpandColumn: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>, grouping?: GroupingState) => boolean;
103
+ export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: MRT_ColumnOrderState) => MRT_ColumnOrderState;
104
+ export declare const showExpandColumn: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>, grouping?: MRT_GroupingState) => boolean;
105
105
  export declare const getLeadingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => MRT_DisplayColumnIds[];
106
106
  export declare const getTrailingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => (string | false | undefined)[];
107
107
  export declare const getDefaultColumnOrderIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => string[];
@@ -113,7 +113,23 @@ export declare const getIsFirstRightPinnedColumn: (column: MRT_Column) => boolea
113
113
  export declare const getTotalRight: (table: MRT_TableInstance, column: MRT_Column) => number;
114
114
  export declare const getCommonCellStyles: ({ column, header, table, tableCellProps, theme, }: {
115
115
  column: MRT_Column;
116
- header?: MRT_Header<{}> | undefined;
116
+ header?: {
117
+ id: string;
118
+ getContext: () => import("@tanstack/react-table").HeaderContext<{}, unknown>;
119
+ getLeafHeaders: () => import("@tanstack/react-table").Header<{}, unknown>[];
120
+ depth: number;
121
+ getSize: () => number;
122
+ getStart: (position?: import("@tanstack/react-table").ColumnPinningPosition | undefined) => number;
123
+ index: number;
124
+ colSpan: number;
125
+ rowSpan: number;
126
+ headerGroup: import("@tanstack/react-table").HeaderGroup<{}>;
127
+ subHeaders: import("@tanstack/react-table").Header<{}, unknown>[];
128
+ isPlaceholder: boolean;
129
+ placeholderId?: string | undefined;
130
+ getResizeHandler: () => (event: unknown) => void;
131
+ column: MRT_Column<{}>;
132
+ } | undefined;
117
133
  table: MRT_TableInstance;
118
134
  tableCellProps: TableCellProps;
119
135
  theme: Theme;
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { MRT_TableInstance, MRT_VirtualItem } from '..';
2
+ import type { VirtualItem } from '@tanstack/react-virtual';
3
+ import type { MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  table: MRT_TableInstance;
5
- virtualColumns?: MRT_VirtualItem[];
6
+ virtualColumns?: VirtualItem[];
6
7
  virtualPaddingLeft?: number;
7
8
  virtualPaddingRight?: number;
8
9
  }
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
- import type { MRT_HeaderGroup, MRT_TableInstance, MRT_VirtualItem } from '..';
2
+ import { VirtualItem } from '@tanstack/react-virtual';
3
+ import type { MRT_HeaderGroup, MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  footerGroup: MRT_HeaderGroup;
5
6
  table: MRT_TableInstance;
6
- virtualColumns?: MRT_VirtualItem[];
7
+ virtualColumns?: VirtualItem[];
7
8
  virtualPaddingLeft?: number;
8
9
  virtualPaddingRight?: number;
9
10
  }
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { MRT_TableInstance, MRT_VirtualItem } from '..';
2
+ import type { VirtualItem } from '@tanstack/react-virtual';
3
+ import type { MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  table: MRT_TableInstance;
5
- virtualColumns?: MRT_VirtualItem[];
6
+ virtualColumns?: VirtualItem[];
6
7
  virtualPaddingLeft?: number;
7
8
  virtualPaddingRight?: number;
8
9
  }
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
- import type { MRT_HeaderGroup, MRT_TableInstance, MRT_VirtualItem } from '..';
2
+ import type { VirtualItem } from '@tanstack/react-virtual';
3
+ import type { MRT_HeaderGroup, MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  headerGroup: MRT_HeaderGroup;
5
6
  table: MRT_TableInstance;
6
- virtualColumns?: MRT_VirtualItem[];
7
+ virtualColumns?: VirtualItem[];
7
8
  virtualPaddingLeft?: number;
8
9
  virtualPaddingRight?: number;
9
10
  }
@@ -9,4 +9,120 @@ export declare const MRT_SortingFns: {
9
9
  datetime: import("@tanstack/react-table").SortingFn<any>;
10
10
  basic: import("@tanstack/react-table").SortingFn<any>;
11
11
  };
12
- export declare const rankGlobalFuzzy: <TData extends Record<string, any> = {}>(rowA: MRT_Row<TData>, rowB: MRT_Row<TData>) => number;
12
+ export declare const rankGlobalFuzzy: <TData extends Record<string, any> = {}>(rowA: {
13
+ getValue: <TValue>(columnId: string) => TValue;
14
+ renderValue: <TValue_1>(columnId: string) => TValue_1;
15
+ id: string;
16
+ getIsGrouped: () => boolean;
17
+ depth: number;
18
+ index: number;
19
+ original: TData;
20
+ _uniqueValuesCache: Record<string, unknown>;
21
+ getUniqueValues: <TValue_2>(columnId: string) => TValue_2[];
22
+ getLeafRows: () => Row<TData>[];
23
+ originalSubRows?: TData[] | undefined;
24
+ _getAllCellsByColumnId: () => Record<string, import("@tanstack/react-table").Cell<TData, unknown>>;
25
+ _getAllVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
26
+ getLeftVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
27
+ getCenterVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
28
+ getRightVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
29
+ columnFilters: Record<string, boolean>;
30
+ columnFiltersMeta: Record<string, import("@tanstack/react-table").FilterMeta>;
31
+ groupingColumnId?: string | undefined;
32
+ groupingValue?: unknown;
33
+ _groupingValuesCache: Record<string, any>;
34
+ getIsSelected: () => boolean;
35
+ getIsSomeSelected: () => boolean;
36
+ getIsAllSubRowsSelected: () => boolean;
37
+ getCanSelect: () => boolean;
38
+ getCanMultiSelect: () => boolean;
39
+ getCanSelectSubRows: () => boolean;
40
+ toggleSelected: (value?: boolean | undefined) => void;
41
+ getToggleSelectedHandler: () => (event: unknown) => void;
42
+ toggleExpanded: (expanded?: boolean | undefined) => void;
43
+ getIsExpanded: () => boolean;
44
+ getCanExpand: () => boolean;
45
+ getToggleExpandedHandler: () => () => void;
46
+ getAllCells: () => {
47
+ getValue: import("@tanstack/react-table").Getter<unknown>;
48
+ renderValue: import("@tanstack/react-table").Getter<unknown>;
49
+ id: string;
50
+ getContext: () => import("@tanstack/react-table").CellContext<TData, unknown>;
51
+ getIsGrouped: () => boolean;
52
+ getIsPlaceholder: () => boolean;
53
+ getIsAggregated: () => boolean;
54
+ column: import("./MaterialReactTable").MRT_Column<TData>;
55
+ row: any;
56
+ }[];
57
+ getVisibleCells: () => {
58
+ getValue: import("@tanstack/react-table").Getter<unknown>;
59
+ renderValue: import("@tanstack/react-table").Getter<unknown>;
60
+ id: string;
61
+ getContext: () => import("@tanstack/react-table").CellContext<TData, unknown>;
62
+ getIsGrouped: () => boolean;
63
+ getIsPlaceholder: () => boolean;
64
+ getIsAggregated: () => boolean;
65
+ column: import("./MaterialReactTable").MRT_Column<TData>;
66
+ row: any;
67
+ }[];
68
+ subRows?: any[] | undefined;
69
+ _valuesCache: Record<(string & Record<never, never>) | (string & import("@tanstack/react-table").DeepKeys<TData>), any>;
70
+ }, rowB: {
71
+ getValue: <TValue>(columnId: string) => TValue;
72
+ renderValue: <TValue_1>(columnId: string) => TValue_1;
73
+ id: string;
74
+ getIsGrouped: () => boolean;
75
+ depth: number;
76
+ index: number;
77
+ original: TData;
78
+ _uniqueValuesCache: Record<string, unknown>;
79
+ getUniqueValues: <TValue_2>(columnId: string) => TValue_2[];
80
+ getLeafRows: () => Row<TData>[];
81
+ originalSubRows?: TData[] | undefined;
82
+ _getAllCellsByColumnId: () => Record<string, import("@tanstack/react-table").Cell<TData, unknown>>;
83
+ _getAllVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
84
+ getLeftVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
85
+ getCenterVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
86
+ getRightVisibleCells: () => import("@tanstack/react-table").Cell<TData, unknown>[];
87
+ columnFilters: Record<string, boolean>;
88
+ columnFiltersMeta: Record<string, import("@tanstack/react-table").FilterMeta>;
89
+ groupingColumnId?: string | undefined;
90
+ groupingValue?: unknown;
91
+ _groupingValuesCache: Record<string, any>;
92
+ getIsSelected: () => boolean;
93
+ getIsSomeSelected: () => boolean;
94
+ getIsAllSubRowsSelected: () => boolean;
95
+ getCanSelect: () => boolean;
96
+ getCanMultiSelect: () => boolean;
97
+ getCanSelectSubRows: () => boolean;
98
+ toggleSelected: (value?: boolean | undefined) => void;
99
+ getToggleSelectedHandler: () => (event: unknown) => void;
100
+ toggleExpanded: (expanded?: boolean | undefined) => void;
101
+ getIsExpanded: () => boolean;
102
+ getCanExpand: () => boolean;
103
+ getToggleExpandedHandler: () => () => void;
104
+ getAllCells: () => {
105
+ getValue: import("@tanstack/react-table").Getter<unknown>;
106
+ renderValue: import("@tanstack/react-table").Getter<unknown>;
107
+ id: string;
108
+ getContext: () => import("@tanstack/react-table").CellContext<TData, unknown>;
109
+ getIsGrouped: () => boolean;
110
+ getIsPlaceholder: () => boolean;
111
+ getIsAggregated: () => boolean;
112
+ column: import("./MaterialReactTable").MRT_Column<TData>;
113
+ row: any;
114
+ }[];
115
+ getVisibleCells: () => {
116
+ getValue: import("@tanstack/react-table").Getter<unknown>;
117
+ renderValue: import("@tanstack/react-table").Getter<unknown>;
118
+ id: string;
119
+ getContext: () => import("@tanstack/react-table").CellContext<TData, unknown>;
120
+ getIsGrouped: () => boolean;
121
+ getIsPlaceholder: () => boolean;
122
+ getIsAggregated: () => boolean;
123
+ column: import("./MaterialReactTable").MRT_Column<TData>;
124
+ row: any;
125
+ }[];
126
+ subRows?: any[] | undefined;
127
+ _valuesCache: Record<(string & Record<never, never>) | (string & import("@tanstack/react-table").DeepKeys<TData>), any>;
128
+ }) => number;
package/dist/index.d.ts CHANGED
@@ -149,9 +149,12 @@ declare const MRT_SortingFns: {
149
149
  /**
150
150
  * Most of this file is just TypeScript types
151
151
  */
152
+ type Prettify<T> = {
153
+ [K in keyof T]: T[K];
154
+ } & {};
155
+ type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
152
156
  type MRT_DensityState = 'comfortable' | 'compact' | 'spacious';
153
157
 
154
- type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
155
158
  interface MRT_Localization {
156
159
  actions: string;
157
160
  and: string;
@@ -250,7 +253,7 @@ interface MRT_RowModel<TData extends Record<string, any> = {}> {
250
253
  [key: string]: MRT_Row<TData>;
251
254
  };
252
255
  }
253
- type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
256
+ type MRT_TableInstance<TData extends Record<string, any> = {}> = Prettify<Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
254
257
  getAllColumns: () => MRT_Column<TData>[];
255
258
  getAllFlatColumns: () => MRT_Column<TData>[];
256
259
  getAllLeafColumns: () => MRT_Column<TData>[];
@@ -300,8 +303,8 @@ type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<Table<TDat
300
303
  setShowFilters: Dispatch<SetStateAction<boolean>>;
301
304
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
302
305
  setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
303
- };
304
- type MRT_TableState<TData extends Record<string, any> = {}> = TableState & {
306
+ }>;
307
+ type MRT_TableState<TData extends Record<string, any> = {}> = Prettify<TableState & {
305
308
  columnFilterFns: Record<string, MRT_FilterOption>;
306
309
  density: MRT_DensityState;
307
310
  draggingColumn: MRT_Column<TData> | null;
@@ -323,7 +326,7 @@ type MRT_TableState<TData extends Record<string, any> = {}> = TableState & {
323
326
  showProgressBars: boolean;
324
327
  showSkeletons: boolean;
325
328
  showToolbarDropZone: boolean;
326
- };
329
+ }>;
327
330
  type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'aggregatedCell' | 'aggregationFn' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'id' | 'sortingFn'> & {
328
331
  AggregatedCell?: (props: {
329
332
  cell: MRT_Cell<TData>;
@@ -504,22 +507,22 @@ type MRT_Column<TData extends Record<string, any> = {}> = Omit<Column<TData, unk
504
507
  footer: string;
505
508
  header: string;
506
509
  };
507
- type MRT_Header<TData extends Record<string, any> = {}> = Omit<Header<TData, unknown>, 'column'> & {
510
+ type MRT_Header<TData extends Record<string, any> = {}> = Prettify<Omit<Header<TData, unknown>, 'column'> & {
508
511
  column: MRT_Column<TData>;
509
- };
510
- type MRT_HeaderGroup<TData extends Record<string, any> = {}> = Omit<HeaderGroup<TData>, 'headers'> & {
512
+ }>;
513
+ type MRT_HeaderGroup<TData extends Record<string, any> = {}> = Prettify<Omit<HeaderGroup<TData>, 'headers'> & {
511
514
  headers: MRT_Header<TData>[];
512
- };
513
- type MRT_Row<TData extends Record<string, any> = {}> = Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'> & {
515
+ }>;
516
+ type MRT_Row<TData extends Record<string, any> = {}> = Prettify<Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'> & {
514
517
  getAllCells: () => MRT_Cell<TData>[];
515
518
  getVisibleCells: () => MRT_Cell<TData>[];
516
519
  subRows?: MRT_Row<TData>[];
517
520
  _valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
518
- };
519
- type MRT_Cell<TData extends Record<string, any> = {}> = Omit<Cell<TData, unknown>, 'column' | 'row'> & {
521
+ }>;
522
+ type MRT_Cell<TData extends Record<string, any> = {}> = Prettify<Omit<Cell<TData, unknown>, 'column' | 'row'> & {
520
523
  column: MRT_Column<TData>;
521
524
  row: MRT_Row<TData>;
522
- };
525
+ }>;
523
526
  type MRT_AggregationOption = string & keyof typeof MRT_AggregationFns;
524
527
  type MRT_AggregationFn<TData extends Record<string, any> = {}> = AggregationFn<TData> | MRT_AggregationOption;
525
528
  type MRT_SortingOption = LiteralUnion<string & keyof typeof MRT_SortingFns>;
@@ -533,8 +536,9 @@ type MRT_InternalFilterOption = {
533
536
  divider: boolean;
534
537
  };
535
538
  type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select';
539
+ type MRT_CreateTableFeature<TData extends Record<string, any> = {}, TFeature = any> = (table: MRT_TableInstance<TData>) => TFeature;
536
540
  /**
537
- * `columns` and `data` props are the only required props, but there are over 150 other optional props.
541
+ * `columns` and `data` props are the only required props, but there are over 170 other optional props.
538
542
  *
539
543
  * See more info on creating columns and data on the official docs site:
540
544
  * @link https://www.material-react-table.com/docs/getting-started/usage
@@ -542,7 +546,7 @@ type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand
542
546
  * See the full props list on the official docs site:
543
547
  * @link https://www.material-react-table.com/docs/api/props
544
548
  */
545
- type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
549
+ type MaterialReactTableProps<TData extends Record<string, any> = {}> = Prettify<Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
546
550
  columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
547
551
  /**
548
552
  * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
@@ -830,15 +834,17 @@ type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Part
830
834
  rowCount?: number;
831
835
  rowNumberMode?: 'original' | 'static';
832
836
  selectAllMode?: 'all' | 'page';
837
+ /**
838
+ * Manage state externally any way you want, then pass it back into MRT.
839
+ */
833
840
  state?: Partial<MRT_TableState<TData>>;
834
- columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
835
- columnVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>> | ((props: {
836
- table: MRT_TableInstance<TData>;
837
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>);
838
- rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
839
- rowVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | ((props: {
840
- table: MRT_TableInstance<TData>;
841
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
841
+ /**
842
+ * Sequence of features important any dependent feature must be defined first
843
+ */
844
+ tableFeatures?: Array<MRT_CreateTableFeature<TData>>;
845
+ /**
846
+ * Get access to the table instance via a ref to read state or call built-in methods
847
+ */
842
848
  tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
843
849
  /**
844
850
  * @deprecated Use `rowVirtualizerInstanceRef` instead
@@ -848,6 +854,15 @@ type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Part
848
854
  * @deprecated Use `rowVirtualizerProps` instead
849
855
  */
850
856
  virtualizerProps?: any;
857
+ }> & {
858
+ columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
859
+ columnVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>> | ((props: {
860
+ table: MRT_TableInstance<TData>;
861
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>);
862
+ rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
863
+ rowVirtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | ((props: {
864
+ table: MRT_TableInstance<TData>;
865
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
851
866
  };
852
867
  declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilterMatchHighlighting, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, layoutMode, localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
853
868
 
@@ -944,4 +959,4 @@ interface Props<TData extends Record<string, any> = {}> {
944
959
  }
945
960
  declare const MRT_BottomToolbar: <TData extends Record<string, any> = {}>({ table, }: Props<TData>) => JSX.Element;
946
961
 
947
- export { MRT_AggregationFn, MRT_AggregationFns, MRT_AggregationOption, MRT_BottomToolbar, MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_CopyButton, MRT_DefinedColumnDef, MRT_DensityState, MRT_DisplayColumnIds, MRT_EditActionButtons, MRT_FilterFn, MRT_FilterFns, MRT_FilterOption, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_Header, MRT_HeaderGroup, MRT_Icons, MRT_InternalFilterOption, MRT_Localization, MRT_Row, MRT_RowModel, MRT_ShowHideColumnsButton, MRT_SortingFn, MRT_SortingFns, MRT_SortingOption, MRT_TableInstance, MRT_TablePagination, MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTableProps, MaterialReactTable as default };
962
+ export { MRT_AggregationFn, MRT_AggregationFns, MRT_AggregationOption, MRT_BottomToolbar, MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_CopyButton, MRT_CreateTableFeature, MRT_DefinedColumnDef, MRT_DensityState, MRT_DisplayColumnIds, MRT_EditActionButtons, MRT_FilterFn, MRT_FilterFns, MRT_FilterOption, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_Header, MRT_HeaderGroup, MRT_Icons, MRT_InternalFilterOption, MRT_Localization, MRT_Row, MRT_RowModel, MRT_ShowHideColumnsButton, MRT_SortingFn, MRT_SortingFns, MRT_SortingOption, MRT_TableInstance, MRT_TablePagination, MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTableProps, MaterialReactTable as default };