material-react-table 0.33.5 → 0.34.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.
Files changed (54) hide show
  1. package/dist/cjs/MaterialReactTable.d.ts +9 -22
  2. package/dist/cjs/buttons/MRT_ColumnPinningButtons.d.ts +4 -5
  3. package/dist/cjs/buttons/MRT_FullScreenToggleButton.d.ts +3 -4
  4. package/dist/cjs/buttons/MRT_GrabHandleButton.d.ts +4 -4
  5. package/dist/cjs/buttons/MRT_ShowHideColumnsButton.d.ts +3 -4
  6. package/dist/cjs/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -4
  7. package/dist/cjs/buttons/MRT_ToggleFiltersButton.d.ts +3 -4
  8. package/dist/cjs/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -4
  9. package/dist/cjs/index.d.ts +8 -2
  10. package/dist/cjs/index.js +529 -17
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/inputs/MRT_GlobalFilterTextField.d.ts +3 -4
  13. package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +3 -4
  14. package/dist/cjs/menus/MRT_ShowHideColumnsMenu.d.ts +3 -4
  15. package/dist/cjs/menus/MRT_ShowHideColumnsMenuItems.d.ts +8 -8
  16. package/dist/cjs/table/MRT_TableRoot.d.ts +0 -1
  17. package/dist/cjs/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  18. package/dist/esm/MaterialReactTable.d.ts +9 -22
  19. package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +4 -5
  20. package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +3 -4
  21. package/dist/esm/buttons/MRT_GrabHandleButton.d.ts +4 -4
  22. package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +3 -4
  23. package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -4
  24. package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +3 -4
  25. package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -4
  26. package/dist/esm/index.d.ts +8 -2
  27. package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +3 -4
  28. package/dist/esm/material-react-table.esm.js +522 -18
  29. package/dist/esm/material-react-table.esm.js.map +1 -1
  30. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +3 -4
  31. package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +3 -4
  32. package/dist/esm/menus/MRT_ShowHideColumnsMenuItems.d.ts +8 -8
  33. package/dist/esm/table/MRT_TableRoot.d.ts +0 -1
  34. package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  35. package/dist/index.d.ts +40 -23
  36. package/package.json +5 -5
  37. package/src/MaterialReactTable.tsx +15 -24
  38. package/src/body/MRT_TableBody.tsx +30 -11
  39. package/src/body/MRT_TableBodyCell.tsx +1 -1
  40. package/src/body/MRT_TableBodyRow.tsx +1 -1
  41. package/src/buttons/MRT_ColumnPinningButtons.tsx +10 -5
  42. package/src/buttons/MRT_FullScreenToggleButton.tsx +10 -4
  43. package/src/buttons/MRT_GrabHandleButton.tsx +5 -5
  44. package/src/buttons/MRT_ShowHideColumnsButton.tsx +10 -4
  45. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +10 -4
  46. package/src/buttons/MRT_ToggleFiltersButton.tsx +10 -4
  47. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +10 -4
  48. package/src/head/MRT_TableHeadCell.tsx +1 -1
  49. package/src/index.tsx +17 -3
  50. package/src/inputs/MRT_GlobalFilterTextField.tsx +7 -4
  51. package/src/menus/MRT_FilterOptionMenu.tsx +5 -5
  52. package/src/menus/MRT_ShowHideColumnsMenu.tsx +9 -7
  53. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +15 -13
  54. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +2 -7
@@ -1,7 +1,7 @@
1
- import { ChangeEvent, Dispatch, DragEvent, FC, FocusEvent, ReactNode, SetStateAction } from 'react';
1
+ import { ChangeEvent, Dispatch, DragEvent, FocusEvent, ReactNode, SetStateAction } from 'react';
2
2
  import type { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
3
  import type { Cell, Column, ColumnDef, DeepKeys, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
4
- import type { VirtualizerOptions } from '@tanstack/react-virtual';
4
+ import type { Options as VirtualizerOptions } from 'react-virtual';
5
5
  import { MRT_Icons } from './icons';
6
6
  import { MRT_FilterFns } from './filterFns';
7
7
  import { MRT_Localization } from './localization';
@@ -251,10 +251,11 @@ export declare type MRT_DisplayColumnIds = 'mrt-row-drag' | 'mrt-row-actions' |
251
251
  * See the full props list on the official docs site:
252
252
  * @link https://www.material-react-table.com/docs/api/props
253
253
  */
254
- export declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'expandRowsFn' | 'initialState' | 'onStateChange' | 'state'> & {
254
+ export declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'initialState' | 'onStateChange' | 'state'> & {
255
255
  columnFilterModeOptions?: (MRT_FilterOption | string)[] | null;
256
256
  columns: MRT_ColumnDef<TData>[];
257
257
  data: TData[];
258
+ defaultColumn?: Partial<MRT_ColumnDef<TData>>;
258
259
  displayColumnDefOptions?: Partial<{
259
260
  [key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef>;
260
261
  }>;
@@ -276,6 +277,7 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
276
277
  enableRowDragging?: boolean;
277
278
  enableRowNumbers?: boolean;
278
279
  enableRowOrdering?: boolean;
280
+ enableRowSelection?: boolean | ((row: MRT_Row<TData>) => boolean);
279
281
  enableRowVirtualization?: boolean;
280
282
  enableSelectAll?: boolean;
281
283
  enableStickyHeader?: boolean;
@@ -461,23 +463,8 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
461
463
  row: MRT_Row<TData>;
462
464
  table: MRT_TableInstance<TData>;
463
465
  }) => ReactNode;
464
- renderToolbarInternalActions?: ({ table, MRT_ToggleGlobalFilterButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
465
- table: MRT_TableInstance<TData>;
466
- MRT_ToggleGlobalFilterButton: FC<IconButtonProps & {
467
- table: MRT_TableInstance<TData>;
468
- }>;
469
- MRT_ToggleFiltersButton: FC<IconButtonProps & {
470
- table: MRT_TableInstance<TData>;
471
- }>;
472
- MRT_ShowHideColumnsButton: FC<IconButtonProps & {
473
- table: MRT_TableInstance<TData>;
474
- }>;
475
- MRT_ToggleDensePaddingButton: FC<IconButtonProps & {
476
- table: MRT_TableInstance<TData>;
477
- }>;
478
- MRT_FullScreenToggleButton: FC<IconButtonProps & {
479
- table: MRT_TableInstance<TData>;
480
- }>;
466
+ renderToolbarInternalActions?: ({ table, }: {
467
+ table: MRT_TableInstance<TData>;
481
468
  }) => ReactNode;
482
469
  renderTopToolbarCustomActions?: ({ table, }: {
483
470
  table: MRT_TableInstance<TData>;
@@ -487,9 +474,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
487
474
  selectAllMode?: 'all' | 'page';
488
475
  state?: Partial<MRT_TableState<TData>>;
489
476
  tableId?: string;
490
- virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | (({ table, }: {
477
+ virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>> | (({ table, }: {
491
478
  table: MRT_TableInstance<TData>;
492
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
479
+ }) => Partial<VirtualizerOptions<HTMLDivElement>>);
493
480
  };
494
481
  declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
495
482
  export default _default;
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import type { MRT_Column, MRT_TableInstance } from '..';
3
- interface Props {
4
- column: MRT_Column;
5
- table: MRT_TableInstance;
2
+ interface Props<TData extends Record<string, any> = {}> {
3
+ column: MRT_Column<TData>;
4
+ table: MRT_TableInstance<TData>;
6
5
  }
7
- export declare const MRT_ColumnPinningButtons: FC<Props>;
6
+ export declare const MRT_ColumnPinningButtons: <TData extends Record<string, any> = {}>({ column, table, }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import { IconButtonProps } from '@mui/material';
3
2
  import { MRT_TableInstance } from '..';
4
- interface Props extends IconButtonProps {
5
- table: MRT_TableInstance;
3
+ interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
4
+ table: MRT_TableInstance<TData>;
6
5
  }
7
- export declare const MRT_FullScreenToggleButton: FC<Props>;
6
+ export declare const MRT_FullScreenToggleButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -1,11 +1,11 @@
1
1
  import { IconButtonProps } from '@mui/material';
2
- import { DragEventHandler, FC } from 'react';
2
+ import { DragEventHandler } from 'react';
3
3
  import { MRT_TableInstance } from '..';
4
- interface Props {
4
+ interface Props<TData extends Record<string, any> = {}> {
5
5
  iconButtonProps?: IconButtonProps;
6
6
  onDragStart: DragEventHandler<HTMLButtonElement>;
7
7
  onDragEnd: DragEventHandler<HTMLButtonElement>;
8
- table: MRT_TableInstance;
8
+ table: MRT_TableInstance<TData>;
9
9
  }
10
- export declare const MRT_GrabHandleButton: FC<Props>;
10
+ export declare const MRT_GrabHandleButton: <TData extends Record<string, any> = {}>({ iconButtonProps, onDragEnd, onDragStart, table, }: Props<TData>) => JSX.Element;
11
11
  export {};
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import { IconButtonProps } from '@mui/material';
3
2
  import { MRT_TableInstance } from '..';
4
- interface Props extends IconButtonProps {
5
- table: MRT_TableInstance;
3
+ interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
4
+ table: MRT_TableInstance<TData>;
6
5
  }
7
- export declare const MRT_ShowHideColumnsButton: FC<Props>;
6
+ export declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import { IconButtonProps } from '@mui/material';
3
2
  import { MRT_TableInstance } from '..';
4
- interface Props extends IconButtonProps {
5
- table: MRT_TableInstance;
3
+ interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
4
+ table: MRT_TableInstance<TData>;
6
5
  }
7
- export declare const MRT_ToggleDensePaddingButton: FC<Props>;
6
+ export declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import { IconButtonProps } from '@mui/material';
3
2
  import { MRT_TableInstance } from '..';
4
- interface Props extends IconButtonProps {
5
- table: MRT_TableInstance;
3
+ interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
4
+ table: MRT_TableInstance<TData>;
6
5
  }
7
- export declare const MRT_ToggleFiltersButton: FC<Props>;
6
+ export declare const MRT_ToggleFiltersButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import { IconButtonProps } from '@mui/material';
3
2
  import { MRT_TableInstance } from '..';
4
- interface Props extends IconButtonProps {
5
- table: MRT_TableInstance;
3
+ interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
4
+ table: MRT_TableInstance<TData>;
6
5
  }
7
- export declare const MRT_ToggleGlobalFilterButton: FC<Props>;
6
+ export declare const MRT_ToggleGlobalFilterButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -2,6 +2,12 @@ import MaterialReactTable from './MaterialReactTable';
2
2
  export default MaterialReactTable;
3
3
  export * from './MaterialReactTable';
4
4
  import type { MRT_Icons } from './icons';
5
- export type { MRT_Icons };
6
5
  import type { MRT_Localization } from './localization';
7
- export type { MRT_Localization };
6
+ export type { MRT_Localization, MRT_Icons };
7
+ import { MRT_FullScreenToggleButton } from './buttons/MRT_FullScreenToggleButton';
8
+ import { MRT_GlobalFilterTextField } from './inputs/MRT_GlobalFilterTextField';
9
+ import { MRT_ShowHideColumnsButton } from './buttons/MRT_ShowHideColumnsButton';
10
+ import { MRT_ToggleDensePaddingButton } from './buttons/MRT_ToggleDensePaddingButton';
11
+ import { MRT_ToggleFiltersButton } from './buttons/MRT_ToggleFiltersButton';
12
+ import { MRT_ToggleGlobalFilterButton } from './buttons/MRT_ToggleGlobalFilterButton';
13
+ export { MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, };