material-react-table 2.9.2 → 2.11.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.
- package/README.md +3 -2
- package/dist/index.d.ts +222 -152
- package/dist/index.esm.js +906 -769
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +910 -768
- package/dist/index.js.map +1 -1
- package/locales/ar/index.esm.js +2 -0
- package/locales/ar/index.js +2 -0
- package/locales/az/index.esm.js +2 -0
- package/locales/az/index.js +2 -0
- package/locales/bg/index.esm.js +2 -0
- package/locales/bg/index.js +2 -0
- package/locales/cs/index.esm.js +2 -0
- package/locales/cs/index.js +2 -0
- package/locales/da/index.esm.js +2 -0
- package/locales/da/index.js +2 -0
- package/locales/de/index.esm.js +2 -0
- package/locales/de/index.js +2 -0
- package/locales/en/index.esm.js +2 -0
- package/locales/en/index.js +2 -0
- package/locales/es/index.esm.js +2 -0
- package/locales/es/index.js +2 -0
- package/locales/et/index.esm.js +2 -0
- package/locales/et/index.js +2 -0
- package/locales/fa/index.esm.js +2 -0
- package/locales/fa/index.js +2 -0
- package/locales/fi/index.esm.js +2 -0
- package/locales/fi/index.js +2 -0
- package/locales/fr/index.esm.js +2 -0
- package/locales/fr/index.js +2 -0
- package/locales/he/index.esm.js +2 -0
- package/locales/he/index.js +2 -0
- package/locales/hu/index.esm.js +2 -0
- package/locales/hu/index.js +2 -0
- package/locales/hy/index.esm.js +2 -0
- package/locales/hy/index.js +2 -0
- package/locales/id/index.esm.js +2 -0
- package/locales/id/index.js +2 -0
- package/locales/it/index.esm.js +2 -0
- package/locales/it/index.js +2 -0
- package/locales/ja/index.esm.js +2 -0
- package/locales/ja/index.js +2 -0
- package/locales/ko/index.esm.js +2 -0
- package/locales/ko/index.js +2 -0
- package/locales/nl/index.esm.js +2 -0
- package/locales/nl/index.js +2 -0
- package/locales/no/index.esm.js +2 -0
- package/locales/no/index.js +2 -0
- package/locales/np/index.esm.js +2 -0
- package/locales/np/index.js +2 -0
- package/locales/pl/index.esm.js +2 -0
- package/locales/pl/index.js +2 -0
- package/locales/pt/index.esm.js +2 -0
- package/locales/pt/index.js +2 -0
- package/locales/pt-BR/index.esm.js +2 -0
- package/locales/pt-BR/index.js +2 -0
- package/locales/ro/index.esm.js +2 -0
- package/locales/ro/index.js +2 -0
- package/locales/ru/index.esm.js +2 -0
- package/locales/ru/index.js +2 -0
- package/locales/sk/index.esm.js +2 -0
- package/locales/sk/index.js +2 -0
- package/locales/sr-Cyrl-RS/index.esm.js +2 -0
- package/locales/sr-Cyrl-RS/index.js +2 -0
- package/locales/sr-Latn-RS/index.esm.js +2 -0
- package/locales/sr-Latn-RS/index.js +2 -0
- package/locales/sv/index.esm.js +2 -0
- package/locales/sv/index.js +2 -0
- package/locales/tr/index.esm.js +2 -0
- package/locales/tr/index.js +2 -0
- package/locales/uk/index.esm.js +2 -0
- package/locales/uk/index.js +2 -0
- package/locales/vi/index.esm.js +2 -0
- package/locales/vi/index.js +2 -0
- package/locales/zh-Hans/index.esm.js +2 -0
- package/locales/zh-Hans/index.js +2 -0
- package/locales/zh-Hant/index.esm.js +2 -0
- package/locales/zh-Hant/index.js +2 -0
- package/package.json +20 -20
- package/src/components/MaterialReactTable.tsx +3 -3
- package/src/components/body/MRT_TableBody.tsx +3 -2
- package/src/components/body/MRT_TableBodyCell.tsx +45 -34
- package/src/components/body/MRT_TableBodyCellValue.tsx +5 -2
- package/src/components/body/MRT_TableBodyRow.tsx +13 -12
- package/src/components/body/MRT_TableBodyRowGrabHandle.tsx +4 -3
- package/src/components/body/MRT_TableBodyRowPinButton.tsx +3 -2
- package/src/components/body/MRT_TableDetailPanel.tsx +3 -2
- package/src/components/buttons/MRT_ColumnPinningButtons.tsx +3 -2
- package/src/components/buttons/MRT_CopyButton.tsx +4 -2
- package/src/components/buttons/MRT_EditActionButtons.tsx +3 -2
- package/src/components/buttons/MRT_ExpandAllButton.tsx +3 -2
- package/src/components/buttons/MRT_ExpandButton.tsx +3 -2
- package/src/components/buttons/MRT_GrabHandleButton.tsx +9 -15
- package/src/components/buttons/MRT_RowPinButton.tsx +3 -2
- package/src/components/buttons/MRT_ShowHideColumnsButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleDensePaddingButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleFiltersButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleFullScreenButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleRowActionMenuButton.tsx +3 -2
- package/src/components/footer/MRT_TableFooter.tsx +3 -2
- package/src/components/footer/MRT_TableFooterCell.tsx +3 -2
- package/src/components/footer/MRT_TableFooterRow.tsx +5 -3
- package/src/components/head/MRT_TableHead.tsx +3 -2
- package/src/components/head/MRT_TableHeadCell.tsx +9 -5
- package/src/components/head/MRT_TableHeadCellColumnActionsButton.tsx +4 -2
- package/src/components/head/MRT_TableHeadCellFilterContainer.tsx +4 -2
- package/src/components/head/MRT_TableHeadCellFilterLabel.tsx +4 -2
- package/src/components/head/MRT_TableHeadCellGrabHandle.tsx +4 -3
- package/src/components/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
- package/src/components/head/MRT_TableHeadCellSortLabel.tsx +3 -2
- package/src/components/head/MRT_TableHeadRow.tsx +4 -2
- package/src/components/inputs/MRT_EditCellTextField.tsx +3 -2
- package/src/components/inputs/MRT_FilterCheckbox.tsx +3 -2
- package/src/components/inputs/MRT_FilterRangeFields.tsx +3 -2
- package/src/components/inputs/MRT_FilterRangeSlider.tsx +3 -2
- package/src/components/inputs/MRT_FilterTextField.tsx +15 -6
- package/src/components/inputs/MRT_GlobalFilterTextField.tsx +3 -2
- package/src/components/inputs/MRT_SelectCheckbox.tsx +26 -33
- package/src/components/menus/MRT_ActionMenuItem.tsx +61 -0
- package/src/components/menus/MRT_CellActionMenu.tsx +109 -0
- package/src/components/menus/MRT_ColumnActionMenu.tsx +92 -172
- package/src/components/menus/MRT_FilterOptionMenu.tsx +9 -16
- package/src/components/menus/MRT_RowActionMenu.tsx +10 -17
- package/src/components/menus/MRT_ShowHideColumnsMenu.tsx +11 -3
- package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +7 -5
- package/src/components/modals/MRT_EditRowModal.tsx +3 -2
- package/src/components/table/MRT_Table.tsx +2 -2
- package/src/components/table/MRT_TableContainer.tsx +7 -2
- package/src/components/table/MRT_TableLoadingOverlay.tsx +11 -8
- package/src/components/table/MRT_TablePaper.tsx +3 -2
- package/src/components/toolbar/MRT_BottomToolbar.tsx +3 -2
- package/src/components/toolbar/MRT_LinearProgressBar.tsx +3 -2
- package/src/components/toolbar/MRT_TablePagination.tsx +2 -2
- package/src/components/toolbar/MRT_ToolbarAlertBanner.tsx +30 -13
- package/src/components/toolbar/MRT_ToolbarDropZone.tsx +3 -2
- package/src/components/toolbar/MRT_ToolbarInternalButtons.tsx +3 -2
- package/src/components/toolbar/MRT_TopToolbar.tsx +2 -2
- package/src/hooks/display-columns/getMRT_RowActionsColumnDef.tsx +1 -8
- package/src/hooks/display-columns/getMRT_RowDragColumnDef.tsx +1 -8
- package/src/hooks/display-columns/getMRT_RowExpandColumnDef.tsx +1 -8
- package/src/hooks/display-columns/getMRT_RowNumbersColumnDef.tsx +1 -8
- package/src/hooks/display-columns/getMRT_RowPinningColumnDef.tsx +1 -8
- package/src/hooks/display-columns/getMRT_RowSelectColumnDef.tsx +1 -8
- package/src/hooks/display-columns/getMRT_RowSpacerColumnDef.tsx +1 -8
- package/src/hooks/useMRT_Effects.ts +14 -4
- package/src/hooks/useMRT_Rows.ts +11 -79
- package/src/hooks/useMRT_TableInstance.ts +114 -59
- package/src/hooks/useMRT_TableOptions.ts +2 -0
- package/src/icons.ts +2 -0
- package/src/index.ts +2 -0
- package/src/locales/ar.ts +2 -0
- package/src/locales/az.ts +2 -0
- package/src/locales/bg.ts +2 -0
- package/src/locales/cs.ts +2 -0
- package/src/locales/da.ts +2 -0
- package/src/locales/de.ts +2 -0
- package/src/locales/en.ts +2 -0
- package/src/locales/es.ts +2 -0
- package/src/locales/et.ts +2 -0
- package/src/locales/fa.ts +2 -0
- package/src/locales/fi.ts +2 -0
- package/src/locales/fr.ts +2 -0
- package/src/locales/he.ts +2 -0
- package/src/locales/hu.ts +2 -0
- package/src/locales/hy.ts +2 -0
- package/src/locales/id.ts +2 -0
- package/src/locales/it.ts +2 -0
- package/src/locales/ja.ts +2 -0
- package/src/locales/ko.ts +2 -0
- package/src/locales/nl.ts +2 -0
- package/src/locales/no.ts +2 -0
- package/src/locales/np.ts +2 -0
- package/src/locales/pl.ts +2 -0
- package/src/locales/pt-BR.ts +2 -0
- package/src/locales/pt.ts +2 -0
- package/src/locales/ro.ts +2 -0
- package/src/locales/ru.ts +2 -0
- package/src/locales/sk.ts +2 -0
- package/src/locales/sr-Cyrl-RS.ts +2 -0
- package/src/locales/sr-Latn-RS.ts +2 -0
- package/src/locales/sv.ts +2 -0
- package/src/locales/tr.ts +2 -0
- package/src/locales/uk.ts +2 -0
- package/src/locales/vi.ts +2 -0
- package/src/locales/zh-Hans.ts +2 -0
- package/src/locales/zh-Hant.ts +2 -0
- package/src/types.ts +51 -13
- package/src/utils/cell.utils.ts +50 -0
- package/src/utils/column.utils.ts +4 -6
- package/src/utils/displayColumn.utils.ts +39 -21
- package/src/utils/row.utils.ts +179 -21
- package/locales/am/index.d.ts +0 -3
- package/locales/am/index.esm.d.ts +0 -3
- package/locales/am/index.esm.js +0 -93
- package/locales/am/index.js +0 -97
- package/locales/am/package.json +0 -6
- package/src/hooks/display-columns/getMRT_DisplayColumns.tsx +0 -26
- package/src/locales/am.ts +0 -94
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
9
9
|
import { MRT_RowPinButton } from '../buttons/MRT_RowPinButton';
|
|
10
10
|
|
|
11
|
-
interface
|
|
11
|
+
export interface MRT_TableBodyRowPinButtonProps<TData extends MRT_RowData>
|
|
12
|
+
extends IconButtonProps {
|
|
12
13
|
row: MRT_Row<TData>;
|
|
13
14
|
table: MRT_TableInstance<TData>;
|
|
14
15
|
}
|
|
@@ -17,7 +18,7 @@ export const MRT_TableBodyRowPinButton = <TData extends MRT_RowData>({
|
|
|
17
18
|
row,
|
|
18
19
|
table,
|
|
19
20
|
...rest
|
|
20
|
-
}:
|
|
21
|
+
}: MRT_TableBodyRowPinButtonProps<TData>) => {
|
|
21
22
|
const {
|
|
22
23
|
getState,
|
|
23
24
|
options: { enableRowPinning, rowPinningDisplayMode },
|
|
@@ -12,7 +12,8 @@ import {
|
|
|
12
12
|
import { getMRTTheme } from '../../utils/style.utils';
|
|
13
13
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
14
14
|
|
|
15
|
-
interface
|
|
15
|
+
export interface MRT_TableDetailPanelProps<TData extends MRT_RowData>
|
|
16
|
+
extends TableCellProps {
|
|
16
17
|
parentRowRef: RefObject<HTMLTableRowElement>;
|
|
17
18
|
row: MRT_Row<TData>;
|
|
18
19
|
rowVirtualizer?: MRT_RowVirtualizer;
|
|
@@ -29,7 +30,7 @@ export const MRT_TableDetailPanel = <TData extends MRT_RowData>({
|
|
|
29
30
|
table,
|
|
30
31
|
virtualRow,
|
|
31
32
|
...rest
|
|
32
|
-
}:
|
|
33
|
+
}: MRT_TableDetailPanelProps<TData>) => {
|
|
33
34
|
const {
|
|
34
35
|
getState,
|
|
35
36
|
getVisibleLeafColumns,
|
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
} from '../../types';
|
|
9
9
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
10
10
|
|
|
11
|
-
interface
|
|
11
|
+
export interface MRT_ColumnPinningButtonsProps<TData extends MRT_RowData>
|
|
12
|
+
extends BoxProps {
|
|
12
13
|
column: MRT_Column<TData>;
|
|
13
14
|
table: MRT_TableInstance<TData>;
|
|
14
15
|
}
|
|
@@ -17,7 +18,7 @@ export const MRT_ColumnPinningButtons = <TData extends MRT_RowData>({
|
|
|
17
18
|
column,
|
|
18
19
|
table,
|
|
19
20
|
...rest
|
|
20
|
-
}:
|
|
21
|
+
}: MRT_ColumnPinningButtonsProps<TData>) => {
|
|
21
22
|
const {
|
|
22
23
|
options: {
|
|
23
24
|
icons: { PushPinIcon },
|
|
@@ -9,7 +9,8 @@ import {
|
|
|
9
9
|
import { getCommonTooltipProps } from '../../utils/style.utils';
|
|
10
10
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
11
11
|
|
|
12
|
-
interface
|
|
12
|
+
export interface MRT_CopyButtonProps<TData extends MRT_RowData>
|
|
13
|
+
extends ButtonProps {
|
|
13
14
|
cell: MRT_Cell<TData>;
|
|
14
15
|
table: MRT_TableInstance<TData>;
|
|
15
16
|
}
|
|
@@ -18,7 +19,7 @@ export const MRT_CopyButton = <TData extends MRT_RowData>({
|
|
|
18
19
|
cell,
|
|
19
20
|
table,
|
|
20
21
|
...rest
|
|
21
|
-
}:
|
|
22
|
+
}: MRT_CopyButtonProps<TData>) => {
|
|
22
23
|
const {
|
|
23
24
|
options: { localization, muiCopyButtonProps },
|
|
24
25
|
} = table;
|
|
@@ -74,6 +75,7 @@ export const MRT_CopyButton = <TData extends MRT_RowData>({
|
|
|
74
75
|
letterSpacing: 'inherit',
|
|
75
76
|
m: '-0.25rem',
|
|
76
77
|
minWidth: 'unset',
|
|
78
|
+
py: 0,
|
|
77
79
|
textAlign: 'inherit',
|
|
78
80
|
textTransform: 'inherit',
|
|
79
81
|
...(parseFromValuesOrFunc(buttonProps?.sx, theme) as any),
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
} from '../../types';
|
|
11
11
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
12
12
|
|
|
13
|
-
interface
|
|
13
|
+
export interface MRT_EditActionButtonsProps<TData extends MRT_RowData>
|
|
14
|
+
extends BoxProps {
|
|
14
15
|
row: MRT_Row<TData>;
|
|
15
16
|
table: MRT_TableInstance<TData>;
|
|
16
17
|
variant?: 'icon' | 'text';
|
|
@@ -21,7 +22,7 @@ export const MRT_EditActionButtons = <TData extends MRT_RowData>({
|
|
|
21
22
|
table,
|
|
22
23
|
variant = 'icon',
|
|
23
24
|
...rest
|
|
24
|
-
}:
|
|
25
|
+
}: MRT_EditActionButtonsProps<TData>) => {
|
|
25
26
|
const {
|
|
26
27
|
getState,
|
|
27
28
|
options: {
|
|
@@ -4,14 +4,15 @@ import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
|
4
4
|
import { getCommonTooltipProps } from '../../utils/style.utils';
|
|
5
5
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
6
6
|
|
|
7
|
-
interface
|
|
7
|
+
export interface MRT_ExpandAllButtonProps<TData extends MRT_RowData>
|
|
8
|
+
extends IconButtonProps {
|
|
8
9
|
table: MRT_TableInstance<TData>;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
export const MRT_ExpandAllButton = <TData extends MRT_RowData>({
|
|
12
13
|
table,
|
|
13
14
|
...rest
|
|
14
|
-
}:
|
|
15
|
+
}: MRT_ExpandAllButtonProps<TData>) => {
|
|
15
16
|
const {
|
|
16
17
|
getCanSomeRowsExpand,
|
|
17
18
|
getIsAllRowsExpanded,
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
import { getCommonTooltipProps } from '../../utils/style.utils';
|
|
11
11
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
12
12
|
|
|
13
|
-
interface
|
|
13
|
+
export interface MRT_ExpandButtonProps<TData extends MRT_RowData>
|
|
14
|
+
extends IconButtonProps {
|
|
14
15
|
row: MRT_Row<TData>;
|
|
15
16
|
staticRowIndex?: number;
|
|
16
17
|
table: MRT_TableInstance<TData>;
|
|
@@ -20,7 +21,7 @@ export const MRT_ExpandButton = <TData extends MRT_RowData>({
|
|
|
20
21
|
row,
|
|
21
22
|
staticRowIndex,
|
|
22
23
|
table,
|
|
23
|
-
}:
|
|
24
|
+
}: MRT_ExpandButtonProps<TData>) => {
|
|
24
25
|
const theme = useTheme();
|
|
25
26
|
const {
|
|
26
27
|
getState,
|
|
@@ -5,7 +5,8 @@ import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
|
5
5
|
import { getCommonTooltipProps } from '../../utils/style.utils';
|
|
6
6
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
7
7
|
|
|
8
|
-
interface
|
|
8
|
+
export interface MRT_GrabHandleButtonProps<TData extends MRT_RowData>
|
|
9
|
+
extends IconButtonProps {
|
|
9
10
|
iconButtonProps?: IconButtonProps;
|
|
10
11
|
location?: 'column' | 'row';
|
|
11
12
|
onDragEnd: DragEventHandler<HTMLButtonElement>;
|
|
@@ -14,13 +15,10 @@ interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
export const MRT_GrabHandleButton = <TData extends MRT_RowData>({
|
|
17
|
-
iconButtonProps,
|
|
18
18
|
location,
|
|
19
|
-
onDragEnd,
|
|
20
|
-
onDragStart,
|
|
21
19
|
table,
|
|
22
20
|
...rest
|
|
23
|
-
}:
|
|
21
|
+
}: MRT_GrabHandleButtonProps<TData>) => {
|
|
24
22
|
const {
|
|
25
23
|
options: {
|
|
26
24
|
icons: { DragHandleIcon },
|
|
@@ -28,25 +26,21 @@ export const MRT_GrabHandleButton = <TData extends MRT_RowData>({
|
|
|
28
26
|
},
|
|
29
27
|
} = table;
|
|
30
28
|
|
|
31
|
-
const _iconButtonProps = { ...iconButtonProps, ...rest };
|
|
32
|
-
|
|
33
29
|
return (
|
|
34
30
|
<Tooltip
|
|
35
31
|
{...getCommonTooltipProps('top')}
|
|
36
|
-
title={
|
|
32
|
+
title={rest?.title ?? localization.move}
|
|
37
33
|
>
|
|
38
34
|
<IconButton
|
|
39
|
-
aria-label={
|
|
35
|
+
aria-label={rest.title ?? localization.move}
|
|
40
36
|
disableRipple
|
|
41
37
|
draggable="true"
|
|
42
38
|
size="small"
|
|
43
|
-
{...
|
|
39
|
+
{...rest}
|
|
44
40
|
onClick={(e) => {
|
|
45
41
|
e.stopPropagation();
|
|
46
|
-
|
|
42
|
+
rest?.onClick?.(e);
|
|
47
43
|
}}
|
|
48
|
-
onDragEnd={onDragEnd}
|
|
49
|
-
onDragStart={onDragStart}
|
|
50
44
|
sx={(theme) => ({
|
|
51
45
|
'&:active': {
|
|
52
46
|
cursor: 'grabbing',
|
|
@@ -57,10 +51,10 @@ export const MRT_GrabHandleButton = <TData extends MRT_RowData>({
|
|
|
57
51
|
},
|
|
58
52
|
cursor: 'grab',
|
|
59
53
|
m: '0 -0.1rem',
|
|
60
|
-
opacity: location === 'row' ? 1 : 0.
|
|
54
|
+
opacity: location === 'row' ? 1 : 0.5,
|
|
61
55
|
p: '2px',
|
|
62
56
|
transition: 'all 150ms ease-in-out',
|
|
63
|
-
...(parseFromValuesOrFunc(
|
|
57
|
+
...(parseFromValuesOrFunc(rest?.sx, theme) as any),
|
|
64
58
|
})}
|
|
65
59
|
title={undefined}
|
|
66
60
|
>
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
import { getCommonTooltipProps } from '../../utils/style.utils';
|
|
11
11
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
12
12
|
|
|
13
|
-
interface
|
|
13
|
+
export interface MRT_RowPinButtonProps<TData extends MRT_RowData>
|
|
14
|
+
extends IconButtonProps {
|
|
14
15
|
pinningPosition: RowPinningPosition;
|
|
15
16
|
row: MRT_Row<TData>;
|
|
16
17
|
table: MRT_TableInstance<TData>;
|
|
@@ -21,7 +22,7 @@ export const MRT_RowPinButton = <TData extends MRT_RowData>({
|
|
|
21
22
|
row,
|
|
22
23
|
table,
|
|
23
24
|
...rest
|
|
24
|
-
}:
|
|
25
|
+
}: MRT_RowPinButtonProps<TData>) => {
|
|
25
26
|
const {
|
|
26
27
|
options: {
|
|
27
28
|
icons: { CloseIcon, PushPinIcon },
|
|
@@ -4,14 +4,15 @@ import Tooltip from '@mui/material/Tooltip';
|
|
|
4
4
|
import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
5
5
|
import { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';
|
|
6
6
|
|
|
7
|
-
interface
|
|
7
|
+
export interface MRT_ShowHideColumnsButtonProps<TData extends MRT_RowData>
|
|
8
|
+
extends IconButtonProps {
|
|
8
9
|
table: MRT_TableInstance<TData>;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
export const MRT_ShowHideColumnsButton = <TData extends MRT_RowData>({
|
|
12
13
|
table,
|
|
13
14
|
...rest
|
|
14
|
-
}:
|
|
15
|
+
}: MRT_ShowHideColumnsButtonProps<TData>) => {
|
|
15
16
|
const {
|
|
16
17
|
options: {
|
|
17
18
|
icons: { ViewColumnIcon },
|
|
@@ -2,14 +2,15 @@ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
|
|
2
2
|
import Tooltip from '@mui/material/Tooltip';
|
|
3
3
|
import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
4
4
|
|
|
5
|
-
interface
|
|
5
|
+
export interface MRT_ToggleDensePaddingButtonProps<TData extends MRT_RowData>
|
|
6
|
+
extends IconButtonProps {
|
|
6
7
|
table: MRT_TableInstance<TData>;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export const MRT_ToggleDensePaddingButton = <TData extends MRT_RowData>({
|
|
10
11
|
table,
|
|
11
12
|
...rest
|
|
12
|
-
}:
|
|
13
|
+
}: MRT_ToggleDensePaddingButtonProps<TData>) => {
|
|
13
14
|
const {
|
|
14
15
|
getState,
|
|
15
16
|
options: {
|
|
@@ -2,14 +2,15 @@ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
|
|
2
2
|
import Tooltip from '@mui/material/Tooltip';
|
|
3
3
|
import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
4
4
|
|
|
5
|
-
interface
|
|
5
|
+
export interface MRT_ToggleFiltersButtonProps<TData extends MRT_RowData>
|
|
6
|
+
extends IconButtonProps {
|
|
6
7
|
table: MRT_TableInstance<TData>;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export const MRT_ToggleFiltersButton = <TData extends MRT_RowData>({
|
|
10
11
|
table,
|
|
11
12
|
...rest
|
|
12
|
-
}:
|
|
13
|
+
}: MRT_ToggleFiltersButtonProps<TData>) => {
|
|
13
14
|
const {
|
|
14
15
|
getState,
|
|
15
16
|
options: {
|
|
@@ -3,14 +3,15 @@ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
|
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
|
4
4
|
import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
5
5
|
|
|
6
|
-
interface
|
|
6
|
+
export interface MRT_ToggleFullScreenButtonProps<TData extends MRT_RowData>
|
|
7
|
+
extends IconButtonProps {
|
|
7
8
|
table: MRT_TableInstance<TData>;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
export const MRT_ToggleFullScreenButton = <TData extends MRT_RowData>({
|
|
11
12
|
table,
|
|
12
13
|
...rest
|
|
13
|
-
}:
|
|
14
|
+
}: MRT_ToggleFullScreenButtonProps<TData>) => {
|
|
14
15
|
const {
|
|
15
16
|
getState,
|
|
16
17
|
options: {
|
|
@@ -2,14 +2,15 @@ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
|
|
2
2
|
import Tooltip from '@mui/material/Tooltip';
|
|
3
3
|
import { type MRT_RowData, type MRT_TableInstance } from '../../types';
|
|
4
4
|
|
|
5
|
-
interface
|
|
5
|
+
export interface MRT_ToggleGlobalFilterButtonProps<TData extends MRT_RowData>
|
|
6
|
+
extends IconButtonProps {
|
|
6
7
|
table: MRT_TableInstance<TData>;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export const MRT_ToggleGlobalFilterButton = <TData extends MRT_RowData>({
|
|
10
11
|
table,
|
|
11
12
|
...rest
|
|
12
|
-
}:
|
|
13
|
+
}: MRT_ToggleGlobalFilterButtonProps<TData>) => {
|
|
13
14
|
const {
|
|
14
15
|
getState,
|
|
15
16
|
options: {
|
|
@@ -23,7 +23,8 @@ const commonIconButtonStyles = {
|
|
|
23
23
|
width: '2rem',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
interface
|
|
26
|
+
export interface MRT_ToggleRowActionMenuButtonProps<TData extends MRT_RowData>
|
|
27
|
+
extends IconButtonProps {
|
|
27
28
|
cell: MRT_Cell<TData>;
|
|
28
29
|
row: MRT_Row<TData>;
|
|
29
30
|
staticRowIndex?: number;
|
|
@@ -36,7 +37,7 @@ export const MRT_ToggleRowActionMenuButton = <TData extends MRT_RowData>({
|
|
|
36
37
|
staticRowIndex,
|
|
37
38
|
table,
|
|
38
39
|
...rest
|
|
39
|
-
}:
|
|
40
|
+
}: MRT_ToggleRowActionMenuButtonProps<TData>) => {
|
|
40
41
|
const {
|
|
41
42
|
getState,
|
|
42
43
|
options: {
|
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
} from '../../types';
|
|
8
8
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
9
9
|
|
|
10
|
-
interface
|
|
10
|
+
export interface MRT_TableFooterProps<TData extends MRT_RowData>
|
|
11
|
+
extends TableFooterProps {
|
|
11
12
|
columnVirtualizer?: MRT_ColumnVirtualizer;
|
|
12
13
|
table: MRT_TableInstance<TData>;
|
|
13
14
|
}
|
|
@@ -16,7 +17,7 @@ export const MRT_TableFooter = <TData extends MRT_RowData>({
|
|
|
16
17
|
columnVirtualizer,
|
|
17
18
|
table,
|
|
18
19
|
...rest
|
|
19
|
-
}:
|
|
20
|
+
}: MRT_TableFooterProps<TData>) => {
|
|
20
21
|
const {
|
|
21
22
|
getFooterGroups,
|
|
22
23
|
getState,
|
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
import { getCommonMRTCellStyles } from '../../utils/style.utils';
|
|
9
9
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
10
10
|
|
|
11
|
-
interface
|
|
11
|
+
export interface MRT_TableFooterCellProps<TData extends MRT_RowData>
|
|
12
|
+
extends TableCellProps {
|
|
12
13
|
footer: MRT_Header<TData>;
|
|
13
14
|
staticColumnIndex?: number;
|
|
14
15
|
table: MRT_TableInstance<TData>;
|
|
@@ -19,7 +20,7 @@ export const MRT_TableFooterCell = <TData extends MRT_RowData>({
|
|
|
19
20
|
staticColumnIndex,
|
|
20
21
|
table,
|
|
21
22
|
...rest
|
|
22
|
-
}:
|
|
23
|
+
}: MRT_TableFooterCellProps<TData>) => {
|
|
23
24
|
const theme = useTheme();
|
|
24
25
|
const {
|
|
25
26
|
getState,
|
|
@@ -11,7 +11,8 @@ import {
|
|
|
11
11
|
import { getMRTTheme } from '../../utils/style.utils';
|
|
12
12
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
13
13
|
|
|
14
|
-
interface
|
|
14
|
+
export interface MRT_TableFooterRowProps<TData extends MRT_RowData>
|
|
15
|
+
extends TableRowProps {
|
|
15
16
|
columnVirtualizer?: MRT_ColumnVirtualizer;
|
|
16
17
|
footerGroup: MRT_HeaderGroup<TData>;
|
|
17
18
|
table: MRT_TableInstance<TData>;
|
|
@@ -22,7 +23,7 @@ export const MRT_TableFooterRow = <TData extends MRT_RowData>({
|
|
|
22
23
|
footerGroup,
|
|
23
24
|
table,
|
|
24
25
|
...rest
|
|
25
|
-
}:
|
|
26
|
+
}: MRT_TableFooterRowProps<TData>) => {
|
|
26
27
|
const {
|
|
27
28
|
options: { layoutMode, muiTableFooterRowProps },
|
|
28
29
|
} = table;
|
|
@@ -38,8 +39,9 @@ export const MRT_TableFooterRow = <TData extends MRT_RowData>({
|
|
|
38
39
|
!!header.column.columnDef.footer) ||
|
|
39
40
|
header.column.columnDef.Footer,
|
|
40
41
|
)
|
|
41
|
-
)
|
|
42
|
+
) {
|
|
42
43
|
return null;
|
|
44
|
+
}
|
|
43
45
|
|
|
44
46
|
const tableRowProps = {
|
|
45
47
|
...parseFromValuesOrFunc(muiTableFooterRowProps, {
|
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
9
9
|
import { MRT_ToolbarAlertBanner } from '../toolbar/MRT_ToolbarAlertBanner';
|
|
10
10
|
|
|
11
|
-
interface
|
|
11
|
+
export interface MRT_TableHeadProps<TData extends MRT_RowData>
|
|
12
|
+
extends TableHeadProps {
|
|
12
13
|
columnVirtualizer?: MRT_ColumnVirtualizer;
|
|
13
14
|
table: MRT_TableInstance<TData>;
|
|
14
15
|
}
|
|
@@ -17,7 +18,7 @@ export const MRT_TableHead = <TData extends MRT_RowData>({
|
|
|
17
18
|
columnVirtualizer,
|
|
18
19
|
table,
|
|
19
20
|
...rest
|
|
20
|
-
}:
|
|
21
|
+
}: MRT_TableHeadProps<TData>) => {
|
|
21
22
|
const {
|
|
22
23
|
getHeaderGroups,
|
|
23
24
|
getSelectedRowModel,
|
|
@@ -10,6 +10,7 @@ import { MRT_TableHeadCellGrabHandle } from './MRT_TableHeadCellGrabHandle';
|
|
|
10
10
|
import { MRT_TableHeadCellResizeHandle } from './MRT_TableHeadCellResizeHandle';
|
|
11
11
|
import { MRT_TableHeadCellSortLabel } from './MRT_TableHeadCellSortLabel';
|
|
12
12
|
import {
|
|
13
|
+
type MRT_ColumnVirtualizer,
|
|
13
14
|
type MRT_Header,
|
|
14
15
|
type MRT_RowData,
|
|
15
16
|
type MRT_TableInstance,
|
|
@@ -17,18 +18,21 @@ import {
|
|
|
17
18
|
import { getCommonMRTCellStyles, getMRTTheme } from '../../utils/style.utils';
|
|
18
19
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
19
20
|
|
|
20
|
-
interface
|
|
21
|
+
export interface MRT_TableHeadCellProps<TData extends MRT_RowData>
|
|
22
|
+
extends TableCellProps {
|
|
23
|
+
columnVirtualizer?: MRT_ColumnVirtualizer;
|
|
21
24
|
header: MRT_Header<TData>;
|
|
22
25
|
staticColumnIndex?: number;
|
|
23
26
|
table: MRT_TableInstance<TData>;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
export const MRT_TableHeadCell = <TData extends MRT_RowData>({
|
|
30
|
+
columnVirtualizer,
|
|
27
31
|
header,
|
|
28
32
|
staticColumnIndex,
|
|
29
33
|
table,
|
|
30
34
|
...rest
|
|
31
|
-
}:
|
|
35
|
+
}: MRT_TableHeadCellProps<TData>) => {
|
|
32
36
|
const theme = useTheme();
|
|
33
37
|
const {
|
|
34
38
|
getState,
|
|
@@ -161,6 +165,9 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
|
|
|
161
165
|
ref={(node: HTMLTableCellElement) => {
|
|
162
166
|
if (node) {
|
|
163
167
|
tableHeadCellRefs.current[column.id] = node;
|
|
168
|
+
if (columnDefType !== 'group') {
|
|
169
|
+
columnVirtualizer?.measureElement?.(node);
|
|
170
|
+
}
|
|
164
171
|
}
|
|
165
172
|
}}
|
|
166
173
|
{...tableCellProps}
|
|
@@ -261,9 +268,6 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
|
|
|
261
268
|
? 'nowrap'
|
|
262
269
|
: 'normal',
|
|
263
270
|
}}
|
|
264
|
-
title={
|
|
265
|
-
columnDefType === 'data' ? columnDef.header : undefined
|
|
266
|
-
}
|
|
267
271
|
>
|
|
268
272
|
{HeaderElement}
|
|
269
273
|
</Box>
|
|
@@ -10,7 +10,9 @@ import { getCommonTooltipProps } from '../../utils/style.utils';
|
|
|
10
10
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
11
11
|
import { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';
|
|
12
12
|
|
|
13
|
-
interface
|
|
13
|
+
export interface MRT_TableHeadCellColumnActionsButtonProps<
|
|
14
|
+
TData extends MRT_RowData,
|
|
15
|
+
> extends IconButtonProps {
|
|
14
16
|
header: MRT_Header<TData>;
|
|
15
17
|
table: MRT_TableInstance<TData>;
|
|
16
18
|
}
|
|
@@ -21,7 +23,7 @@ export const MRT_TableHeadCellColumnActionsButton = <
|
|
|
21
23
|
header,
|
|
22
24
|
table,
|
|
23
25
|
...rest
|
|
24
|
-
}:
|
|
26
|
+
}: MRT_TableHeadCellColumnActionsButtonProps<TData>) => {
|
|
25
27
|
const {
|
|
26
28
|
options: {
|
|
27
29
|
icons: { MoreVertIcon },
|
|
@@ -9,7 +9,9 @@ import { MRT_FilterRangeFields } from '../inputs/MRT_FilterRangeFields';
|
|
|
9
9
|
import { MRT_FilterRangeSlider } from '../inputs/MRT_FilterRangeSlider';
|
|
10
10
|
import { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';
|
|
11
11
|
|
|
12
|
-
interface
|
|
12
|
+
export interface MRT_TableHeadCellFilterContainerProps<
|
|
13
|
+
TData extends MRT_RowData,
|
|
14
|
+
> extends CollapseProps {
|
|
13
15
|
header: MRT_Header<TData>;
|
|
14
16
|
table: MRT_TableInstance<TData>;
|
|
15
17
|
}
|
|
@@ -18,7 +20,7 @@ export const MRT_TableHeadCellFilterContainer = <TData extends MRT_RowData>({
|
|
|
18
20
|
header,
|
|
19
21
|
table,
|
|
20
22
|
...rest
|
|
21
|
-
}:
|
|
23
|
+
}: MRT_TableHeadCellFilterContainerProps<TData>) => {
|
|
22
24
|
const {
|
|
23
25
|
getState,
|
|
24
26
|
options: { columnFilterDisplayMode },
|
|
@@ -12,7 +12,8 @@ import {
|
|
|
12
12
|
} from '../../types';
|
|
13
13
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
14
14
|
|
|
15
|
-
interface
|
|
15
|
+
export interface MRT_TableHeadCellFilterLabelProps<TData extends MRT_RowData>
|
|
16
|
+
extends IconButtonProps {
|
|
16
17
|
header: MRT_Header<TData>;
|
|
17
18
|
table: MRT_TableInstance<TData>;
|
|
18
19
|
}
|
|
@@ -21,7 +22,7 @@ export const MRT_TableHeadCellFilterLabel = <TData extends MRT_RowData = {}>({
|
|
|
21
22
|
header,
|
|
22
23
|
table,
|
|
23
24
|
...rest
|
|
24
|
-
}:
|
|
25
|
+
}: MRT_TableHeadCellFilterLabelProps<TData>) => {
|
|
25
26
|
const {
|
|
26
27
|
options: {
|
|
27
28
|
columnFilterDisplayMode,
|
|
@@ -131,6 +132,7 @@ export const MRT_TableHeadCellFilterLabel = <TData extends MRT_RowData = {}>({
|
|
|
131
132
|
horizontal: 'center',
|
|
132
133
|
vertical: 'top',
|
|
133
134
|
}}
|
|
135
|
+
disableScrollLock
|
|
134
136
|
onClick={(event) => event.stopPropagation()}
|
|
135
137
|
onClose={(event) => {
|
|
136
138
|
//@ts-ignore
|
|
@@ -9,7 +9,8 @@ import { reorderColumn } from '../../utils/column.utils';
|
|
|
9
9
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
10
10
|
import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
|
|
11
11
|
|
|
12
|
-
interface
|
|
12
|
+
export interface MRT_TableHeadCellGrabHandleProps<TData extends MRT_RowData>
|
|
13
|
+
extends IconButtonProps {
|
|
13
14
|
column: MRT_Column<TData>;
|
|
14
15
|
table: MRT_TableInstance<TData>;
|
|
15
16
|
tableHeadCellRef: RefObject<HTMLTableCellElement>;
|
|
@@ -20,7 +21,7 @@ export const MRT_TableHeadCellGrabHandle = <TData extends MRT_RowData>({
|
|
|
20
21
|
table,
|
|
21
22
|
tableHeadCellRef,
|
|
22
23
|
...rest
|
|
23
|
-
}:
|
|
24
|
+
}: MRT_TableHeadCellGrabHandleProps<TData>) => {
|
|
24
25
|
const {
|
|
25
26
|
getState,
|
|
26
27
|
options: { enableColumnOrdering, muiColumnDragHandleProps },
|
|
@@ -73,7 +74,7 @@ export const MRT_TableHeadCellGrabHandle = <TData extends MRT_RowData>({
|
|
|
73
74
|
|
|
74
75
|
return (
|
|
75
76
|
<MRT_GrabHandleButton
|
|
76
|
-
|
|
77
|
+
{...iconButtonProps}
|
|
77
78
|
onDragEnd={handleDragEnd}
|
|
78
79
|
onDragStart={handleDragStart}
|
|
79
80
|
table={table}
|
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
} from '../../types';
|
|
8
8
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
9
9
|
|
|
10
|
-
interface
|
|
10
|
+
export interface MRT_TableHeadCellResizeHandleProps<TData extends MRT_RowData>
|
|
11
|
+
extends DividerProps {
|
|
11
12
|
header: MRT_Header<TData>;
|
|
12
13
|
table: MRT_TableInstance<TData>;
|
|
13
14
|
}
|
|
@@ -16,7 +17,7 @@ export const MRT_TableHeadCellResizeHandle = <TData extends MRT_RowData>({
|
|
|
16
17
|
header,
|
|
17
18
|
table,
|
|
18
19
|
...rest
|
|
19
|
-
}:
|
|
20
|
+
}: MRT_TableHeadCellResizeHandleProps<TData>) => {
|
|
20
21
|
const {
|
|
21
22
|
getState,
|
|
22
23
|
options: { columnResizeDirection, columnResizeMode },
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
} from '../../types';
|
|
11
11
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
12
12
|
|
|
13
|
-
interface
|
|
13
|
+
export interface MRT_TableHeadCellSortLabelProps<TData extends MRT_RowData>
|
|
14
|
+
extends TableSortLabelProps {
|
|
14
15
|
header: MRT_Header<TData>;
|
|
15
16
|
table: MRT_TableInstance<TData>;
|
|
16
17
|
}
|
|
@@ -19,7 +20,7 @@ export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
|
|
|
19
20
|
header,
|
|
20
21
|
table,
|
|
21
22
|
...rest
|
|
22
|
-
}:
|
|
23
|
+
}: MRT_TableHeadCellSortLabelProps<TData>) => {
|
|
23
24
|
const {
|
|
24
25
|
getState,
|
|
25
26
|
options: {
|
|
@@ -12,7 +12,8 @@ import {
|
|
|
12
12
|
import { getMRTTheme } from '../../utils/style.utils';
|
|
13
13
|
import { parseFromValuesOrFunc } from '../../utils/utils';
|
|
14
14
|
|
|
15
|
-
interface
|
|
15
|
+
export interface MRT_TableHeadRowProps<TData extends MRT_RowData>
|
|
16
|
+
extends TableRowProps {
|
|
16
17
|
columnVirtualizer?: MRT_ColumnVirtualizer;
|
|
17
18
|
headerGroup: MRT_HeaderGroup<TData>;
|
|
18
19
|
table: MRT_TableInstance<TData>;
|
|
@@ -23,7 +24,7 @@ export const MRT_TableHeadRow = <TData extends MRT_RowData>({
|
|
|
23
24
|
headerGroup,
|
|
24
25
|
table,
|
|
25
26
|
...rest
|
|
26
|
-
}:
|
|
27
|
+
}: MRT_TableHeadRowProps<TData>) => {
|
|
27
28
|
const {
|
|
28
29
|
options: { enableStickyHeader, layoutMode, muiTableHeadRowProps },
|
|
29
30
|
} = table;
|
|
@@ -68,6 +69,7 @@ export const MRT_TableHeadRow = <TData extends MRT_RowData>({
|
|
|
68
69
|
|
|
69
70
|
return header ? (
|
|
70
71
|
<MRT_TableHeadCell
|
|
72
|
+
columnVirtualizer={columnVirtualizer}
|
|
71
73
|
header={header}
|
|
72
74
|
key={header.id}
|
|
73
75
|
staticColumnIndex={staticColumnIndex}
|