material-react-table 2.9.2 → 2.11.0
Sign up to get free protection for your applications and to get access to all the features.
- 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}
|