material-react-table 0.33.4 → 0.34.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.
Files changed (60) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/MaterialReactTable.d.ts +6 -21
  3. package/dist/cjs/buttons/MRT_ColumnPinningButtons.d.ts +4 -5
  4. package/dist/cjs/buttons/MRT_FullScreenToggleButton.d.ts +3 -4
  5. package/dist/cjs/buttons/MRT_GrabHandleButton.d.ts +4 -4
  6. package/dist/cjs/buttons/MRT_ShowHideColumnsButton.d.ts +3 -4
  7. package/dist/cjs/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -4
  8. package/dist/cjs/buttons/MRT_ToggleFiltersButton.d.ts +3 -4
  9. package/dist/cjs/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -4
  10. package/dist/cjs/index.d.ts +8 -2
  11. package/dist/cjs/index.js +2820 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/inputs/MRT_GlobalFilterTextField.d.ts +3 -4
  14. package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +3 -4
  15. package/dist/cjs/menus/MRT_ShowHideColumnsMenu.d.ts +3 -4
  16. package/dist/cjs/menus/MRT_ShowHideColumnsMenuItems.d.ts +8 -8
  17. package/dist/cjs/table/MRT_TableRoot.d.ts +0 -1
  18. package/dist/cjs/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  19. package/dist/esm/MaterialReactTable.d.ts +6 -21
  20. package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +4 -5
  21. package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +3 -4
  22. package/dist/esm/buttons/MRT_GrabHandleButton.d.ts +4 -4
  23. package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +3 -4
  24. package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -4
  25. package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +3 -4
  26. package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -4
  27. package/dist/esm/index.d.ts +8 -2
  28. package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +3 -4
  29. package/dist/esm/material-react-table.esm.js +2806 -0
  30. package/dist/esm/material-react-table.esm.js.map +1 -0
  31. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +3 -4
  32. package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +3 -4
  33. package/dist/esm/menus/MRT_ShowHideColumnsMenuItems.d.ts +8 -8
  34. package/dist/esm/table/MRT_TableRoot.d.ts +0 -1
  35. package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  36. package/dist/index.d.ts +37 -22
  37. package/package.json +9 -10
  38. package/src/MaterialReactTable.tsx +11 -24
  39. package/src/body/MRT_TableBody.tsx +30 -11
  40. package/src/body/MRT_TableBodyCell.tsx +1 -1
  41. package/src/body/MRT_TableBodyRow.tsx +1 -1
  42. package/src/buttons/MRT_ColumnPinningButtons.tsx +10 -5
  43. package/src/buttons/MRT_FullScreenToggleButton.tsx +10 -4
  44. package/src/buttons/MRT_GrabHandleButton.tsx +5 -5
  45. package/src/buttons/MRT_ShowHideColumnsButton.tsx +10 -4
  46. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +10 -4
  47. package/src/buttons/MRT_ToggleFiltersButton.tsx +10 -4
  48. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +10 -4
  49. package/src/head/MRT_TableHeadCell.tsx +1 -1
  50. package/src/index.tsx +17 -3
  51. package/src/inputs/MRT_GlobalFilterTextField.tsx +7 -4
  52. package/src/menus/MRT_FilterOptionMenu.tsx +5 -5
  53. package/src/menus/MRT_ShowHideColumnsMenu.tsx +9 -7
  54. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +15 -13
  55. package/src/table/MRT_TableContainer.tsx +15 -4
  56. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +2 -7
  57. package/dist/cjs/index.min.js +0 -7398
  58. package/dist/cjs/index.min.js.map +0 -1
  59. package/dist/esm/material-react-table.esm.min.js +0 -7374
  60. package/dist/esm/material-react-table.esm.min.js.map +0 -1
package/README.md CHANGED
@@ -44,6 +44,7 @@ See all [Props and Options](https://www.material-react-table.com/docs/api)
44
44
  - [Remote Data](https://www.material-react-table.com/docs/examples/remote/) (Server-side Pagination, Sorting, and Filtering)
45
45
  - [React Query](https://www.material-react-table.com/docs/examples/react-query/) (Server-side Pagination, Sorting, and Filtering)
46
46
  - [Virtualized Rows](https://www.material-react-table.com/docs/examples/virtualized/) (10,000 rows at once!)
47
+ - [Infinite Scrolling](https://www.material-react-table.com/docs/examples/infinite-scrolling/) (Fetch data as you scroll)
47
48
 
48
49
  View additional [storybook examples](https://www.material-react-table.dev/)
49
50
 
@@ -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';
@@ -461,23 +461,8 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
461
461
  row: MRT_Row<TData>;
462
462
  table: MRT_TableInstance<TData>;
463
463
  }) => 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
- }>;
464
+ renderToolbarInternalActions?: ({ table, }: {
465
+ table: MRT_TableInstance<TData>;
481
466
  }) => ReactNode;
482
467
  renderTopToolbarCustomActions?: ({ table, }: {
483
468
  table: MRT_TableInstance<TData>;
@@ -487,9 +472,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
487
472
  selectAllMode?: 'all' | 'page';
488
473
  state?: Partial<MRT_TableState<TData>>;
489
474
  tableId?: string;
490
- virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | (({ table, }: {
475
+ virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>> | (({ table, }: {
491
476
  table: MRT_TableInstance<TData>;
492
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
477
+ }) => Partial<VirtualizerOptions<HTMLDivElement>>);
493
478
  };
494
479
  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
480
  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, };