material-react-table 1.4.0-beta.0 → 1.4.0-beta.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 (33) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/index.js +654 -85
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/MaterialReactTable.d.ts +6 -13
  5. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +1 -1
  6. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +3 -1
  7. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +1 -1
  8. package/dist/cjs/types/table/MRT_TableRoot.d.ts +4 -4
  9. package/dist/esm/material-react-table.esm.js +927 -376
  10. package/dist/esm/material-react-table.esm.js.map +1 -1
  11. package/dist/esm/types/MaterialReactTable.d.ts +6 -13
  12. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +1 -1
  13. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +3 -1
  14. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +1 -1
  15. package/dist/esm/types/table/MRT_TableRoot.d.ts +4 -4
  16. package/dist/index.d.ts +7 -14
  17. package/package.json +4 -3
  18. package/src/MaterialReactTable.tsx +15 -22
  19. package/src/body/MRT_TableBody.tsx +53 -77
  20. package/src/body/MRT_TableBodyCell.tsx +1 -3
  21. package/src/body/MRT_TableBodyRow.tsx +16 -9
  22. package/src/body/MRT_TableBodyRowGrabHandle.tsx +1 -1
  23. package/src/body/MRT_TableDetailPanel.tsx +7 -1
  24. package/src/column.utils.ts +0 -1
  25. package/src/footer/MRT_TableFooter.tsx +2 -1
  26. package/src/footer/MRT_TableFooterCell.tsx +3 -1
  27. package/src/footer/MRT_TableFooterRow.tsx +10 -2
  28. package/src/head/MRT_TableHead.tsx +3 -3
  29. package/src/head/MRT_TableHeadCell.tsx +0 -2
  30. package/src/head/MRT_TableHeadCellFilterLabel.tsx +7 -0
  31. package/src/head/MRT_TableHeadRow.tsx +2 -3
  32. package/src/table/MRT_Table.tsx +1 -2
  33. package/src/table/MRT_TableContainer.tsx +7 -5
@@ -19,7 +19,7 @@ import type { TableRowProps } from '@mui/material/TableRow';
19
19
  import type { TextFieldProps } from '@mui/material/TextField';
20
20
  import type { ToolbarProps } from '@mui/material/Toolbar';
21
21
  import type { AggregationFn, Cell, Column, ColumnDef, DeepKeys, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
22
- import type { Options as VirtualizerOptions, VirtualItem } from 'react-virtual';
22
+ import type { VirtualizerOptions, Virtualizer } from '@tanstack/react-virtual';
23
23
  import { MRT_AggregationFns } from './aggregationFns';
24
24
  import { MRT_FilterFns } from './filterFns';
25
25
  import { MRT_Icons } from './icons';
@@ -266,7 +266,7 @@ export type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<ColumnD
266
266
  * @example columnDefType: 'display'
267
267
  */
268
268
  columnDefType?: 'data' | 'display' | 'group';
269
- columnFilterModeOptions?: MRT_FilterOption[] | null;
269
+ columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
270
270
  columns?: MRT_ColumnDef<TData>[];
271
271
  enableClickToCopy?: boolean;
272
272
  enableColumnActions?: boolean;
@@ -405,7 +405,7 @@ export type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row
405
405
  * @link https://www.material-react-table.com/docs/api/props
406
406
  */
407
407
  export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
408
- columnFilterModeOptions?: (MRT_FilterOption | string)[] | null;
408
+ columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
409
409
  /**
410
410
  * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
411
411
  *
@@ -687,17 +687,10 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Om
687
687
  selectAllMode?: 'all' | 'page';
688
688
  state?: Partial<MRT_TableState<TData>>;
689
689
  tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
690
- virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>> | (({ table, }: {
690
+ virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | (({ table, }: {
691
691
  table: MRT_TableInstance<TData>;
692
- }) => Partial<VirtualizerOptions<HTMLDivElement>>);
693
- virtualizerInstanceRef?: MutableRefObject<Virtualizer | null>;
694
- };
695
- export type Virtualizer = {
696
- virtualItems: VirtualItem[];
697
- totalSize: number;
698
- scrollToOffset: (index: number, options?: any | undefined) => void;
699
- scrollToIndex: (index: number, options?: any | undefined) => void;
700
- measure: () => void;
692
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
693
+ virtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
701
694
  };
702
695
  declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, layoutMode, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
703
696
  export default MaterialReactTable;
@@ -5,7 +5,7 @@ interface Props {
5
5
  enableHover?: boolean;
6
6
  numRows: number;
7
7
  rowIndex: number;
8
- rowRef: RefObject<HTMLDivElement | HTMLTableRowElement>;
8
+ rowRef: RefObject<HTMLTableRowElement>;
9
9
  table: MRT_TableInstance;
10
10
  }
11
11
  export declare const MRT_TableBodyCell: FC<Props>;
@@ -1,11 +1,13 @@
1
1
  import React, { FC } from 'react';
2
+ import type { VirtualItem } from '@tanstack/react-virtual';
2
3
  import type { MRT_Row, MRT_TableInstance } from '..';
3
4
  interface Props {
5
+ measureElement?: (element: HTMLTableRowElement) => void;
4
6
  numRows: number;
5
7
  row: MRT_Row;
6
8
  rowIndex: number;
7
9
  table: MRT_TableInstance;
8
- virtualRow?: any;
10
+ virtualRow?: VirtualItem;
9
11
  }
10
12
  export declare const MRT_TableBodyRow: FC<Props>;
11
13
  export declare const Memo_MRT_TableBodyRow: React.NamedExoticComponent<Props>;
@@ -2,7 +2,7 @@ import { FC, RefObject } from 'react';
2
2
  import { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
- rowRef: RefObject<HTMLDivElement | HTMLTableRowElement>;
5
+ rowRef: RefObject<HTMLTableRowElement>;
6
6
  table: MRT_TableInstance;
7
7
  }
8
8
  export declare const MRT_TableBodyRowGrabHandle: FC<Props>;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_FilterOption, MRT_Row, MRT_TableInstance, MRT_TableState, MaterialReactTableProps, MRT_Localization } from '..';
3
3
  export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: Omit<Partial<import("@tanstack/react-table").TableOptions<TData>>, "state" | "data" | "onStateChange" | "initialState" | "getRowId" | "columns" | "defaultColumn" | "globalFilterFn" | "enableRowSelection" | "expandRowsFn"> & {
4
- columnFilterModeOptions?: (string | (string & Record<never, never>))[] | null | undefined;
4
+ columnFilterModeOptions?: (string & MRT_FilterOption)[] | null | undefined;
5
5
  columns: MRT_ColumnDef<TData>[];
6
6
  data: TData[];
7
7
  defaultColumn?: Partial<MRT_ColumnDef<TData>> | undefined;
@@ -253,10 +253,10 @@ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(pro
253
253
  selectAllMode?: "all" | "page" | undefined;
254
254
  state?: Partial<MRT_TableState<TData>> | undefined;
255
255
  tableInstanceRef?: React.MutableRefObject<MRT_TableInstance<TData> | null> | undefined;
256
- virtualizerProps?: Partial<import("react-virtual").Options<HTMLDivElement>> | (({ table, }: {
256
+ virtualizerProps?: Partial<import("@tanstack/react-virtual").VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | (({ table, }: {
257
257
  table: MRT_TableInstance<TData>;
258
- }) => Partial<import("react-virtual").Options<HTMLDivElement>>) | undefined;
259
- virtualizerInstanceRef?: React.MutableRefObject<import("..").Virtualizer | null> | undefined;
258
+ }) => Partial<import("@tanstack/react-virtual").VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>) | undefined;
259
+ virtualizerInstanceRef?: React.MutableRefObject<import("@tanstack/react-virtual").Virtualizer<HTMLDivElement, HTMLTableRowElement> | null> | undefined;
260
260
  } & {
261
261
  localization: MRT_Localization;
262
262
  }) => JSX.Element;