material-react-table 1.6.5 → 1.7.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 (110) hide show
  1. package/dist/cjs/index.js +30 -18
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/_locales/sv.d.ts +2 -0
  4. package/dist/cjs/types/body/MRT_TableBody.d.ts +3 -3
  5. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +3 -3
  6. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +2 -2
  7. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +3 -3
  8. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +2 -2
  9. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +2 -2
  10. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +2 -2
  11. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +2 -2
  12. package/dist/cjs/types/column.utils.d.ts +2 -3
  13. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +2 -2
  14. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +2 -2
  15. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +2 -2
  16. package/dist/cjs/types/head/MRT_TableHead.d.ts +2 -2
  17. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +2 -2
  18. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +2 -2
  19. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +2 -2
  20. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +2 -2
  21. package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +2 -2
  22. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +2 -2
  23. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +2 -2
  24. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +2 -2
  25. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +2 -2
  26. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +2 -2
  27. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +2 -2
  28. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +2 -2
  29. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +2 -2
  30. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +2 -2
  31. package/dist/cjs/types/table/MRT_Table.d.ts +2 -2
  32. package/dist/cjs/types/table/MRT_TableContainer.d.ts +2 -2
  33. package/dist/cjs/types/table/MRT_TablePaper.d.ts +2 -2
  34. package/dist/esm/material-react-table.esm.js +30 -18
  35. package/dist/esm/material-react-table.esm.js.map +1 -1
  36. package/dist/esm/types/_locales/sv.d.ts +2 -0
  37. package/dist/esm/types/body/MRT_TableBody.d.ts +3 -3
  38. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +3 -3
  39. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +2 -2
  40. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +3 -3
  41. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +2 -2
  42. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +2 -2
  43. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +2 -2
  44. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +2 -2
  45. package/dist/esm/types/column.utils.d.ts +2 -3
  46. package/dist/esm/types/footer/MRT_TableFooter.d.ts +2 -2
  47. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +2 -2
  48. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +2 -2
  49. package/dist/esm/types/head/MRT_TableHead.d.ts +2 -2
  50. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +2 -2
  51. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +2 -2
  52. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +2 -2
  53. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +2 -2
  54. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +2 -2
  55. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +2 -2
  56. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +2 -2
  57. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +2 -2
  58. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +2 -2
  59. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +2 -2
  60. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +2 -2
  61. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +2 -2
  62. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +2 -2
  63. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +2 -2
  64. package/dist/esm/types/table/MRT_Table.d.ts +2 -2
  65. package/dist/esm/types/table/MRT_TableContainer.d.ts +2 -2
  66. package/dist/esm/types/table/MRT_TablePaper.d.ts +2 -2
  67. package/locales/sv.d.ts +2 -0
  68. package/locales/sv.esm.d.ts +2 -0
  69. package/locales/sv.esm.js +94 -0
  70. package/locales/sv.esm.js.map +1 -0
  71. package/locales/sv.js +98 -0
  72. package/locales/sv.js.map +1 -0
  73. package/locales/zh-Hant.esm.js +3 -3
  74. package/locales/zh-Hant.esm.js.map +1 -1
  75. package/locales/zh-Hant.js +3 -3
  76. package/locales/zh-Hant.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/MaterialReactTable.tsx +1 -1
  79. package/src/_locales/sv.ts +94 -0
  80. package/src/_locales/zh-Hant.ts +3 -3
  81. package/src/body/MRT_TableBody.tsx +3 -3
  82. package/src/body/MRT_TableBodyCell.tsx +2 -3
  83. package/src/body/MRT_TableBodyCellValue.tsx +2 -2
  84. package/src/body/MRT_TableBodyRow.tsx +3 -3
  85. package/src/body/MRT_TableBodyRowGrabHandle.tsx +2 -6
  86. package/src/body/MRT_TableDetailPanel.tsx +3 -3
  87. package/src/buttons/MRT_ExpandAllButton.tsx +2 -2
  88. package/src/buttons/MRT_ExpandButton.tsx +2 -2
  89. package/src/column.utils.ts +9 -10
  90. package/src/footer/MRT_TableFooter.tsx +3 -3
  91. package/src/footer/MRT_TableFooterCell.tsx +2 -2
  92. package/src/footer/MRT_TableFooterRow.tsx +3 -3
  93. package/src/head/MRT_TableHead.tsx +3 -3
  94. package/src/head/MRT_TableHeadCell.tsx +2 -3
  95. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +3 -3
  96. package/src/head/MRT_TableHeadCellFilterContainer.tsx +2 -5
  97. package/src/head/MRT_TableHeadCellFilterLabel.tsx +2 -2
  98. package/src/head/MRT_TableHeadCellGrabHandle.tsx +3 -3
  99. package/src/head/MRT_TableHeadCellResizeHandle.tsx +10 -3
  100. package/src/head/MRT_TableHeadCellSortLabel.tsx +3 -3
  101. package/src/head/MRT_TableHeadRow.tsx +3 -3
  102. package/src/inputs/MRT_FilterCheckbox.tsx +2 -2
  103. package/src/inputs/MRT_FilterRangeFields.tsx +2 -2
  104. package/src/inputs/MRT_FilterTextField.tsx +2 -3
  105. package/src/inputs/MRT_SelectCheckbox.tsx +2 -2
  106. package/src/menus/MRT_ColumnActionMenu.tsx +5 -3
  107. package/src/menus/MRT_RowActionMenu.tsx +3 -3
  108. package/src/table/MRT_Table.tsx +23 -4
  109. package/src/table/MRT_TableContainer.tsx +2 -2
  110. package/src/table/MRT_TablePaper.tsx +2 -2
@@ -0,0 +1,2 @@
1
+ import type { MRT_Localization } from '../MaterialReactTable';
2
+ export declare const MRT_Localization_SV: MRT_Localization;
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import { Virtualizer, VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -8,6 +8,6 @@ interface Props {
8
8
  virtualPaddingLeft?: number;
9
9
  virtualPaddingRight?: number;
10
10
  }
11
- export declare const MRT_TableBody: FC<Props>;
12
- export declare const Memo_MRT_TableBody: React.NamedExoticComponent<Props>;
11
+ export declare const MRT_TableBody: ({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => JSX.Element;
12
+ export declare const Memo_MRT_TableBody: React.MemoExoticComponent<({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => JSX.Element>;
13
13
  export {};
@@ -1,4 +1,4 @@
1
- import React, { FC, RefObject } from 'react';
1
+ import React, { RefObject } from 'react';
2
2
  import type { VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_Cell, MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -11,6 +11,6 @@ interface Props {
11
11
  table: MRT_TableInstance;
12
12
  virtualCell?: VirtualItem;
13
13
  }
14
- export declare const MRT_TableBodyCell: FC<Props>;
15
- export declare const Memo_MRT_TableBodyCell: React.NamedExoticComponent<Props>;
14
+ export declare const MRT_TableBodyCell: ({ cell, enableHover, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props) => JSX.Element;
15
+ export declare const Memo_MRT_TableBodyCell: React.MemoExoticComponent<({ cell, enableHover, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props) => JSX.Element>;
16
16
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableBodyCellValue: FC<Props>;
7
+ export declare const MRT_TableBodyCellValue: ({ cell, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual';
3
3
  import type { MRT_Row, MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -13,6 +13,6 @@ interface Props {
13
13
  virtualPaddingRight?: number;
14
14
  virtualRow?: VirtualItem;
15
15
  }
16
- export declare const MRT_TableBodyRow: FC<Props>;
17
- export declare const Memo_MRT_TableBodyRow: React.NamedExoticComponent<Props>;
16
+ export declare const MRT_TableBodyRow: ({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props) => JSX.Element;
17
+ export declare const Memo_MRT_TableBodyRow: React.MemoExoticComponent<({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props) => JSX.Element>;
18
18
  export {};
@@ -1,9 +1,9 @@
1
- import { FC, RefObject } from 'react';
1
+ import { RefObject } from 'react';
2
2
  import { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
5
  rowRef: RefObject<HTMLTableRowElement>;
6
6
  table: MRT_TableInstance;
7
7
  }
8
- export declare const MRT_TableBodyRowGrabHandle: FC<Props>;
8
+ export declare const MRT_TableBodyRowGrabHandle: ({ cell, rowRef, table }: Props) => JSX.Element;
9
9
  export {};
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import type { VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_Row, MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -7,5 +7,5 @@ interface Props {
7
7
  table: MRT_TableInstance;
8
8
  virtualRow?: VirtualItem;
9
9
  }
10
- export declare const MRT_TableDetailPanel: FC<Props>;
10
+ export declare const MRT_TableDetailPanel: ({ parentRowRef, row, table, virtualRow, }: Props) => JSX.Element;
11
11
  export {};
@@ -1,7 +1,7 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  table: MRT_TableInstance;
5
5
  }
6
- export declare const MRT_ExpandAllButton: FC<Props>;
6
+ export declare const MRT_ExpandAllButton: ({ table }: Props) => JSX.Element;
7
7
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_ExpandButton: FC<Props>;
7
+ export declare const MRT_ExpandButton: ({ row, table }: Props) => JSX.Element;
8
8
  export {};
@@ -4,7 +4,7 @@ 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_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption, 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, }: {
@@ -111,9 +111,8 @@ export declare const getIsLastColumn: (column: MRT_Column, table: MRT_TableInsta
111
111
  export declare const getIsLastLeftPinnedColumn: (table: MRT_TableInstance, column: MRT_Column) => boolean;
112
112
  export declare const getIsFirstRightPinnedColumn: (column: MRT_Column) => boolean;
113
113
  export declare const getTotalRight: (table: MRT_TableInstance, column: MRT_Column) => number;
114
- export declare const getCommonCellStyles: ({ column, header, table, tableCellProps, theme, }: {
114
+ export declare const getCommonCellStyles: ({ column, table, tableCellProps, theme, }: {
115
115
  column: MRT_Column;
116
- header?: MRT_Header<{}> | undefined;
117
116
  table: MRT_TableInstance;
118
117
  tableCellProps: TableCellProps;
119
118
  theme: Theme;
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -7,5 +7,5 @@ interface Props {
7
7
  virtualPaddingLeft?: number;
8
8
  virtualPaddingRight?: number;
9
9
  }
10
- export declare const MRT_TableFooter: FC<Props>;
10
+ export declare const MRT_TableFooter: ({ table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => JSX.Element;
11
11
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  footer: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableFooterCell: FC<Props>;
7
+ export declare const MRT_TableFooterCell: ({ footer, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_HeaderGroup, MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -8,5 +8,5 @@ interface Props {
8
8
  virtualPaddingLeft?: number;
9
9
  virtualPaddingRight?: number;
10
10
  }
11
- export declare const MRT_TableFooterRow: FC<Props>;
11
+ export declare const MRT_TableFooterRow: ({ footerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => JSX.Element | null;
12
12
  export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -7,5 +7,5 @@ interface Props {
7
7
  virtualPaddingLeft?: number;
8
8
  virtualPaddingRight?: number;
9
9
  }
10
- export declare const MRT_TableHead: FC<Props>;
10
+ export declare const MRT_TableHead: ({ table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => JSX.Element;
11
11
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableHeadCell: FC<Props>;
7
+ export declare const MRT_TableHeadCell: ({ header, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableHeadCellColumnActionsButton: FC<Props>;
7
+ export declare const MRT_TableHeadCellColumnActionsButton: ({ header, table, }: Props) => JSX.Element;
8
8
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableHeadCellFilterContainer: FC<Props>;
7
+ export declare const MRT_TableHeadCellFilterContainer: ({ header, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableHeadCellFilterLabel: FC<Props>;
7
+ export declare const MRT_TableHeadCellFilterLabel: ({ header, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,9 +1,9 @@
1
- import { FC, RefObject } from 'react';
1
+ import { RefObject } from 'react';
2
2
  import type { MRT_Column, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  column: MRT_Column;
5
5
  table: MRT_TableInstance;
6
6
  tableHeadCellRef: RefObject<HTMLTableCellElement>;
7
7
  }
8
- export declare const MRT_TableHeadCellGrabHandle: FC<Props>;
8
+ export declare const MRT_TableHeadCellGrabHandle: ({ column, table, tableHeadCellRef, }: Props) => JSX.Element;
9
9
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_TableHeadCellResizeHandle: FC<Props>;
7
+ export declare const MRT_TableHeadCellResizeHandle: ({ header, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { MRT_Header, MRT_TableInstance } from '..';
3
3
  import type { TableCellProps } from '@mui/material/TableCell';
4
4
  interface Props {
@@ -6,5 +6,5 @@ interface Props {
6
6
  table: MRT_TableInstance;
7
7
  tableCellProps?: TableCellProps;
8
8
  }
9
- export declare const MRT_TableHeadCellSortLabel: FC<Props>;
9
+ export declare const MRT_TableHeadCellSortLabel: ({ header, table, tableCellProps, }: Props) => JSX.Element;
10
10
  export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { VirtualItem } from '@tanstack/react-virtual';
3
3
  import type { MRT_HeaderGroup, MRT_TableInstance } from '..';
4
4
  interface Props {
@@ -8,5 +8,5 @@ interface Props {
8
8
  virtualPaddingLeft?: number;
9
9
  virtualPaddingRight?: number;
10
10
  }
11
- export declare const MRT_TableHeadRow: FC<Props>;
11
+ export declare const MRT_TableHeadRow: ({ headerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props) => JSX.Element;
12
12
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Column, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  column: MRT_Column;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_FilterCheckbox: FC<Props>;
7
+ export declare const MRT_FilterCheckbox: ({ column, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  table: MRT_TableInstance;
6
6
  }
7
- export declare const MRT_FilterRangeFields: FC<Props>;
7
+ export declare const MRT_FilterRangeFields: ({ header, table }: Props) => JSX.Element;
8
8
  export {};
@@ -1,9 +1,9 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  header: MRT_Header;
5
5
  rangeFilterIndex?: number;
6
6
  table: MRT_TableInstance;
7
7
  }
8
- export declare const MRT_FilterTextField: FC<Props>;
8
+ export declare const MRT_FilterTextField: ({ header, rangeFilterIndex, table, }: Props) => JSX.Element;
9
9
  export {};
@@ -1,9 +1,9 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row?: MRT_Row;
5
5
  selectAll?: boolean;
6
6
  table: MRT_TableInstance;
7
7
  }
8
- export declare const MRT_SelectCheckbox: FC<Props>;
8
+ export declare const MRT_SelectCheckbox: ({ row, selectAll, table }: Props) => JSX.Element;
9
9
  export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_Header, MRT_TableInstance } from '..';
3
3
  export declare const commonMenuItemStyles: {
4
4
  py: string;
@@ -16,5 +16,5 @@ interface Props {
16
16
  setAnchorEl: (anchorEl: HTMLElement | null) => void;
17
17
  table: MRT_TableInstance;
18
18
  }
19
- export declare const MRT_ColumnActionMenu: FC<Props>;
19
+ export declare const MRT_ColumnActionMenu: ({ anchorEl, header, setAnchorEl, table, }: Props) => JSX.Element;
20
20
  export {};
@@ -1,4 +1,4 @@
1
- import { FC, MouseEvent } from 'react';
1
+ import { MouseEvent } from 'react';
2
2
  import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  anchorEl: HTMLElement | null;
@@ -7,5 +7,5 @@ interface Props {
7
7
  setAnchorEl: (anchorEl: HTMLElement | null) => void;
8
8
  table: MRT_TableInstance;
9
9
  }
10
- export declare const MRT_RowActionMenu: FC<Props>;
10
+ export declare const MRT_RowActionMenu: ({ anchorEl, handleEdit, row, setAnchorEl, table, }: Props) => JSX.Element;
11
11
  export {};
@@ -1,7 +1,7 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  table: MRT_TableInstance;
5
5
  }
6
- export declare const MRT_Table: FC<Props>;
6
+ export declare const MRT_Table: ({ table }: Props) => JSX.Element;
7
7
  export {};
@@ -1,7 +1,7 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  table: MRT_TableInstance;
5
5
  }
6
- export declare const MRT_TableContainer: FC<Props>;
6
+ export declare const MRT_TableContainer: ({ table }: Props) => JSX.Element;
7
7
  export {};
@@ -1,7 +1,7 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  table: MRT_TableInstance;
5
5
  }
6
- export declare const MRT_TablePaper: FC<Props>;
6
+ export declare const MRT_TablePaper: ({ table }: Props) => JSX.Element;
7
7
  export {};
@@ -234,15 +234,17 @@ const getIsFirstRightPinnedColumn = (column) => {
234
234
  const getTotalRight = (table, column) => {
235
235
  return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 200);
236
236
  };
237
- const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, }) => {
238
- var _a, _b, _c, _d, _e, _f, _g, _h;
237
+ const getCommonCellStyles = ({ column, table, tableCellProps, theme, }) => {
238
+ var _a, _b, _c, _d, _e, _f, _g;
239
239
  return (Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
240
240
  ? alpha(lighten(theme.palette.background.default, 0.04), 0.97)
241
241
  : 'inherit', backgroundImage: 'inherit', boxShadow: getIsLastLeftPinnedColumn(table, column)
242
242
  ? `-4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
243
243
  : getIsFirstRightPinnedColumn(column)
244
244
  ? `4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
245
- : undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell', left: column.getIsPinned() === 'left'
245
+ : undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell', flex: table.options.layoutMode === 'grid'
246
+ ? `var(--col-${column.id}-size) 0 auto`
247
+ : undefined, left: column.getIsPinned() === 'left'
246
248
  ? `${column.getStart('left')}px`
247
249
  : undefined, ml: table.options.enableColumnVirtualization &&
248
250
  column.getIsPinned() === 'left' &&
@@ -263,11 +265,9 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
263
265
  ? `${getTotalRight(table, column)}px`
264
266
  : undefined, transition: table.options.enableColumnVirtualization || column.getIsResizing()
265
267
  ? 'none'
266
- : `all 150ms ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
268
+ : `padding 150ms ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
267
269
  ? tableCellProps.sx(theme)
268
- : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { flex: table.options.layoutMode === 'grid'
269
- ? `${column.getSize()} 0 auto`
270
- : undefined, minWidth: `max(${column.getSize()}px, ${(_g = column.columnDef.minSize) !== null && _g !== void 0 ? _g : 30}px)`, width: (_h = header === null || header === void 0 ? void 0 : header.getSize()) !== null && _h !== void 0 ? _h : column.getSize() }));
270
+ : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { minWidth: `max(calc(var(--col-${column.id}-size) * 1px), ${(_g = column.columnDef.minSize) !== null && _g !== void 0 ? _g : 30}px)`, width: `calc(var(--col-${column.id}-size) * 1px)` }));
271
271
  };
272
272
  const MRT_DefaultColumn = {
273
273
  filterVariant: 'text',
@@ -798,7 +798,7 @@ const commonListItemStyles = {
798
798
  };
799
799
  const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
800
800
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
801
- const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setShowFilters, } = table;
801
+ const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnSizingInfo, setShowFilters, } = table;
802
802
  const { column } = header;
803
803
  const { columnDef } = column;
804
804
  const { columnSizing, columnVisibility, density } = getState();
@@ -817,6 +817,7 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
817
817
  setAnchorEl(null);
818
818
  };
819
819
  const handleResetColumnSize = () => {
820
+ setColumnSizingInfo((old) => (Object.assign(Object.assign({}, old), { isResizingColumn: false })));
820
821
  column.resetSize();
821
822
  setAnchorEl(null);
822
823
  };
@@ -1725,7 +1726,7 @@ const MRT_FilterCheckbox = ({ column, table }) => {
1725
1726
  : checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.sx))) })), disableTypography: true, label: (_c = checkboxProps.title) !== null && _c !== void 0 ? _c : filterLabel, sx: { color: 'text.secondary', mt: '-4px', fontWeight: 'normal' }, title: undefined })));
1726
1727
  };
1727
1728
 
1728
- const MRT_TableHeadCellFilterContainer = ({ header, table, }) => {
1729
+ const MRT_TableHeadCellFilterContainer = ({ header, table }) => {
1729
1730
  const { getState } = table;
1730
1731
  const { showColumnFilters } = getState();
1731
1732
  const { column } = header;
@@ -1812,12 +1813,15 @@ const MRT_TableHeadCellGrabHandle = ({ column, table, tableHeadCellRef, }) => {
1812
1813
 
1813
1814
  const MRT_TableHeadCellResizeHandle = ({ header, table }) => {
1814
1815
  var _a;
1815
- const { getState, options: { columnResizeMode }, } = table;
1816
+ const { getState, options: { columnResizeMode }, setColumnSizingInfo, } = table;
1816
1817
  const { density, showColumnFilters } = getState();
1817
1818
  const { column } = header;
1818
1819
  const { columnDef } = column;
1819
1820
  const { columnDefType } = columnDef;
1820
- return (React.createElement(Box, { onDoubleClick: () => column.resetSize(), onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), sx: (theme) => ({
1821
+ return (React.createElement(Box, { onDoubleClick: () => {
1822
+ setColumnSizingInfo((old) => (Object.assign(Object.assign({}, old), { isResizingColumn: false })));
1823
+ column.resetSize();
1824
+ }, onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), sx: (theme) => ({
1821
1825
  cursor: 'col-resize',
1822
1826
  mr: density === 'compact' ? '-0.5rem' : '-1rem',
1823
1827
  position: 'absolute',
@@ -1953,7 +1957,6 @@ const MRT_TableHeadCell = ({ header, table }) => {
1953
1957
  ? 2
1954
1958
  : 1 }, getCommonCellStyles({
1955
1959
  column,
1956
- header,
1957
1960
  table,
1958
1961
  tableCellProps,
1959
1962
  theme,
@@ -2120,7 +2123,7 @@ const MRT_CopyButton = ({ cell, children, table, }) => {
2120
2123
  : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.sx))), title: undefined }), children)));
2121
2124
  };
2122
2125
 
2123
- const MRT_TableBodyRowGrabHandle = ({ cell, rowRef, table, }) => {
2126
+ const MRT_TableBodyRowGrabHandle = ({ cell, rowRef, table }) => {
2124
2127
  const { options: { muiTableBodyRowDragHandleProps }, } = table;
2125
2128
  const { row } = cell;
2126
2129
  const iconButtonProps = muiTableBodyRowDragHandleProps instanceof Function
@@ -2616,8 +2619,8 @@ const MRT_TableFooter = ({ table, virtualColumns, virtualPaddingLeft, virtualPad
2616
2619
 
2617
2620
  const MRT_Table = ({ table }) => {
2618
2621
  var _a, _b, _c, _d;
2619
- const { getState, options: { columnVirtualizerInstanceRef, columnVirtualizerProps, enableColumnResizing, enableColumnVirtualization, enablePinning, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, refs: { tableContainerRef }, } = table;
2620
- const { isFullScreen, columnPinning, columnVisibility } = getState();
2622
+ const { getFlatHeaders, getState, options: { columns, columnVirtualizerInstanceRef, columnVirtualizerProps, enableColumnResizing, enableColumnVirtualization, enablePinning, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, refs: { tableContainerRef }, } = table;
2623
+ const { columnPinning, columnSizing, columnSizingInfo, columnVisibility, isFullScreen, } = getState();
2621
2624
  const tableProps = muiTableProps instanceof Function
2622
2625
  ? muiTableProps({ table })
2623
2626
  : muiTableProps;
@@ -2671,11 +2674,20 @@ const MRT_Table = ({ table }) => {
2671
2674
  virtualPaddingLeft,
2672
2675
  virtualPaddingRight,
2673
2676
  };
2677
+ const columnSizeVars = useMemo(() => {
2678
+ const headers = getFlatHeaders();
2679
+ const colSizes = {};
2680
+ for (let i = 0; i < headers.length; i++) {
2681
+ const h = headers[i];
2682
+ colSizes[`--col-${h.column.id}-size`] = h.getSize();
2683
+ }
2684
+ return colSizes;
2685
+ }, [columns, columnSizing, columnSizingInfo]);
2674
2686
  return (React.createElement(Table, Object.assign({ stickyHeader: enableStickyHeader || isFullScreen }, tableProps, { sx: (theme) => (Object.assign({ borderCollapse: 'separate', display: layoutMode === 'grid' ? 'grid' : 'table', tableLayout: layoutMode !== 'grid' && enableColumnResizing ? 'fixed' : undefined }, ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) instanceof Function
2675
2687
  ? tableProps.sx(theme)
2676
- : tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
2688
+ : tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))), style: Object.assign(Object.assign({}, columnSizeVars), tableProps === null || tableProps === void 0 ? void 0 : tableProps.style) }),
2677
2689
  enableTableHead && React.createElement(MRT_TableHead, Object.assign({}, props)),
2678
- memoMode === 'table-body' ? (React.createElement(Memo_MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))) : (React.createElement(MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))),
2690
+ memoMode === 'table-body' || columnSizingInfo.isResizingColumn ? (React.createElement(Memo_MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))) : (React.createElement(MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))),
2679
2691
  enableTableFooter && React.createElement(MRT_TableFooter, Object.assign({}, props))));
2680
2692
  };
2681
2693
 
@@ -3023,7 +3035,7 @@ const MRT_Localization_EN = {
3023
3035
 
3024
3036
  const MaterialReactTable = (_a) => {
3025
3037
  var _b;
3026
- var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["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"]);
3038
+ var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onChange', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["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"]);
3027
3039
  const _icons = useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), [icons]);
3028
3040
  const _localization = useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
3029
3041
  const _aggregationFns = useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);