material-react-table 2.0.0-beta.1 → 2.0.0-beta.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.js +30 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +3 -3
- package/dist/cjs/types/column.utils.d.ts +34 -33
- package/dist/cjs/types/filterFns.d.ts +15 -14
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +3 -3
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +3 -3
- package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
- package/dist/cjs/types/hooks/useMRT_Effects.d.ts +2 -2
- package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +2 -2
- package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +2 -2
- package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -3
- package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +3 -3
- package/dist/cjs/types/sortingFns.d.ts +3 -3
- package/dist/cjs/types/table/MRT_Table.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +3 -3
- package/dist/cjs/types/types.d.ts +50 -40
- package/dist/cjs/types/useMaterialReactTable.d.ts +2 -2
- package/dist/esm/material-react-table.esm.js +30 -19
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBody.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_CopyButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +3 -3
- package/dist/esm/types/column.utils.d.ts +34 -33
- package/dist/esm/types/filterFns.d.ts +15 -14
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +3 -3
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCell.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +3 -3
- package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
- package/dist/esm/types/hooks/useMRT_Effects.d.ts +2 -2
- package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +2 -2
- package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +2 -2
- package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +3 -3
- package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -3
- package/dist/esm/types/modals/MRT_EditRowModal.d.ts +3 -3
- package/dist/esm/types/sortingFns.d.ts +3 -3
- package/dist/esm/types/table/MRT_Table.d.ts +3 -3
- package/dist/esm/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/esm/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +3 -3
- package/dist/esm/types/types.d.ts +50 -40
- package/dist/esm/types/useMaterialReactTable.d.ts +2 -2
- package/dist/index.d.ts +217 -206
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +5 -4
- package/src/body/MRT_TableBody.tsx +7 -3
- package/src/body/MRT_TableBodyCell.tsx +10 -4
- package/src/body/MRT_TableBodyCellValue.tsx +7 -3
- package/src/body/MRT_TableBodyRow.tsx +8 -3
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +7 -3
- package/src/body/MRT_TableBodyRowPinButton.tsx +7 -3
- package/src/body/MRT_TableDetailPanel.tsx +7 -3
- package/src/buttons/MRT_ColumnPinningButtons.tsx +7 -3
- package/src/buttons/MRT_CopyButton.tsx +7 -3
- package/src/buttons/MRT_EditActionButtons.tsx +7 -3
- package/src/buttons/MRT_ExpandAllButton.tsx +5 -6
- package/src/buttons/MRT_ExpandButton.tsx +9 -6
- package/src/buttons/MRT_GrabHandleButton.tsx +3 -3
- package/src/buttons/MRT_RowPinButton.tsx +7 -3
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +3 -3
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +3 -5
- package/src/buttons/MRT_ToggleFiltersButton.tsx +3 -3
- package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -3
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -5
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +8 -5
- package/src/column.utils.ts +41 -17
- package/src/filterFns.ts +15 -14
- package/src/footer/MRT_TableFooter.tsx +3 -3
- package/src/footer/MRT_TableFooterCell.tsx +7 -3
- package/src/footer/MRT_TableFooterRow.tsx +3 -2
- package/src/head/MRT_TableHead.tsx +3 -3
- package/src/head/MRT_TableHeadCell.tsx +7 -3
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +7 -3
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +7 -5
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +7 -5
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +7 -3
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +7 -5
- package/src/head/MRT_TableHeadCellSortLabel.tsx +7 -3
- package/src/head/MRT_TableHeadRow.tsx +3 -2
- package/src/hooks/useMRT_DisplayColumns.tsx +3 -2
- package/src/hooks/useMRT_Effects.ts +6 -2
- package/src/hooks/useMRT_TableInstance.ts +3 -2
- package/src/hooks/useMRT_TableOptions.ts +7 -3
- package/src/inputs/MRT_EditCellTextField.tsx +7 -3
- package/src/inputs/MRT_FilterCheckbox.tsx +7 -3
- package/src/inputs/MRT_FilterRangeFields.tsx +7 -3
- package/src/inputs/MRT_FilterRangeSlider.tsx +7 -3
- package/src/inputs/MRT_FilterTextField.tsx +9 -3
- package/src/inputs/MRT_GlobalFilterTextField.tsx +3 -3
- package/src/inputs/MRT_SelectCheckbox.tsx +7 -3
- package/src/menus/MRT_ColumnActionMenu.tsx +7 -3
- package/src/menus/MRT_FilterOptionMenu.tsx +3 -2
- package/src/menus/MRT_RowActionMenu.tsx +7 -3
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +7 -3
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +7 -5
- package/src/modals/MRT_EditRowModal.tsx +7 -3
- package/src/sortingFns.ts +3 -3
- package/src/table/MRT_Table.tsx +3 -3
- package/src/table/MRT_TableContainer.tsx +3 -3
- package/src/table/MRT_TablePaper.tsx +3 -3
- package/src/toolbar/MRT_BottomToolbar.tsx +3 -3
- package/src/toolbar/MRT_LinearProgressBar.tsx +3 -3
- package/src/toolbar/MRT_TablePagination.tsx +3 -3
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +3 -3
- package/src/toolbar/MRT_ToolbarDropZone.tsx +3 -3
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +3 -3
- package/src/toolbar/MRT_TopToolbar.tsx +3 -3
- package/src/types.ts +75 -45
- package/src/useMaterialReactTable.ts +6 -2
@@ -8,14 +8,18 @@ import MenuItem from '@mui/material/MenuItem';
|
|
8
8
|
import TextField from '@mui/material/TextField';
|
9
9
|
import { type TextFieldProps } from '@mui/material/TextField';
|
10
10
|
import { parseFromValuesOrFunc } from '../column.utils';
|
11
|
-
import {
|
11
|
+
import {
|
12
|
+
type MRT_Cell,
|
13
|
+
type MRT_RowData,
|
14
|
+
type MRT_TableInstance,
|
15
|
+
} from '../types';
|
12
16
|
|
13
|
-
interface Props<TData extends
|
17
|
+
interface Props<TData extends MRT_RowData> {
|
14
18
|
cell: MRT_Cell<TData>;
|
15
19
|
table: MRT_TableInstance<TData>;
|
16
20
|
}
|
17
21
|
|
18
|
-
export const MRT_EditCellTextField = <TData extends
|
22
|
+
export const MRT_EditCellTextField = <TData extends MRT_RowData>({
|
19
23
|
cell,
|
20
24
|
table,
|
21
25
|
}: Props<TData>) => {
|
@@ -2,14 +2,18 @@ import Checkbox from '@mui/material/Checkbox';
|
|
2
2
|
import FormControlLabel from '@mui/material/FormControlLabel';
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
5
|
-
import {
|
5
|
+
import {
|
6
|
+
type MRT_Column,
|
7
|
+
type MRT_RowData,
|
8
|
+
type MRT_TableInstance,
|
9
|
+
} from '../types';
|
6
10
|
|
7
|
-
interface Props<TData extends
|
11
|
+
interface Props<TData extends MRT_RowData> {
|
8
12
|
column: MRT_Column<TData>;
|
9
13
|
table: MRT_TableInstance<TData>;
|
10
14
|
}
|
11
15
|
|
12
|
-
export const MRT_FilterCheckbox = <TData extends
|
16
|
+
export const MRT_FilterCheckbox = <TData extends MRT_RowData>({
|
13
17
|
column,
|
14
18
|
table,
|
15
19
|
}: Props<TData>) => {
|
@@ -1,13 +1,17 @@
|
|
1
1
|
import Box from '@mui/material/Box';
|
2
2
|
import { MRT_FilterTextField } from './MRT_FilterTextField';
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
type MRT_Header,
|
5
|
+
type MRT_RowData,
|
6
|
+
type MRT_TableInstance,
|
7
|
+
} from '../types';
|
4
8
|
|
5
|
-
interface Props<TData extends
|
9
|
+
interface Props<TData extends MRT_RowData> {
|
6
10
|
header: MRT_Header<TData>;
|
7
11
|
table: MRT_TableInstance<TData>;
|
8
12
|
}
|
9
13
|
|
10
|
-
export const MRT_FilterRangeFields = <TData extends
|
14
|
+
export const MRT_FilterRangeFields = <TData extends MRT_RowData>({
|
11
15
|
header,
|
12
16
|
table,
|
13
17
|
}: Props<TData>) => {
|
@@ -3,14 +3,18 @@ import FormHelperText from '@mui/material/FormHelperText';
|
|
3
3
|
import Slider from '@mui/material/Slider';
|
4
4
|
import Stack from '@mui/material/Stack';
|
5
5
|
import { parseFromValuesOrFunc } from '../column.utils';
|
6
|
-
import {
|
6
|
+
import {
|
7
|
+
type MRT_Header,
|
8
|
+
type MRT_RowData,
|
9
|
+
type MRT_TableInstance,
|
10
|
+
} from '../types';
|
7
11
|
|
8
|
-
interface Props<TData extends
|
12
|
+
interface Props<TData extends MRT_RowData> {
|
9
13
|
header: MRT_Header<TData>;
|
10
14
|
table: MRT_TableInstance<TData>;
|
11
15
|
}
|
12
16
|
|
13
|
-
export const MRT_FilterRangeSlider = <TData extends
|
17
|
+
export const MRT_FilterRangeSlider = <TData extends MRT_RowData>({
|
14
18
|
header,
|
15
19
|
table,
|
16
20
|
}: Props<TData>) => {
|
@@ -23,15 +23,19 @@ import {
|
|
23
23
|
} from '@mui/x-date-pickers/DatePicker';
|
24
24
|
import { parseFromValuesOrFunc } from '../column.utils';
|
25
25
|
import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
|
26
|
-
import {
|
26
|
+
import {
|
27
|
+
type MRT_Header,
|
28
|
+
type MRT_RowData,
|
29
|
+
type MRT_TableInstance,
|
30
|
+
} from '../types';
|
27
31
|
|
28
|
-
interface Props<TData extends
|
32
|
+
interface Props<TData extends MRT_RowData> {
|
29
33
|
header: MRT_Header<TData>;
|
30
34
|
rangeFilterIndex?: number;
|
31
35
|
table: MRT_TableInstance<TData>;
|
32
36
|
}
|
33
37
|
|
34
|
-
export const MRT_FilterTextField = <TData extends
|
38
|
+
export const MRT_FilterTextField = <TData extends MRT_RowData>({
|
35
39
|
header,
|
36
40
|
rangeFilterIndex,
|
37
41
|
table,
|
@@ -329,6 +333,8 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
|
|
329
333
|
sx: (theme) => ({
|
330
334
|
minWidth: isDateFilter
|
331
335
|
? '160px'
|
336
|
+
: enableColumnFilterModes && rangeFilterIndex === 0
|
337
|
+
? '110px'
|
332
338
|
: isRangeFilter
|
333
339
|
? '100px'
|
334
340
|
: !filterChipLabel
|
@@ -14,13 +14,13 @@ import Tooltip from '@mui/material/Tooltip';
|
|
14
14
|
import { debounce } from '@mui/material/utils';
|
15
15
|
import { parseFromValuesOrFunc } from '../column.utils';
|
16
16
|
import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
|
17
|
-
import { type MRT_TableInstance } from '../types';
|
17
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
18
18
|
|
19
|
-
interface Props<TData extends
|
19
|
+
interface Props<TData extends MRT_RowData> {
|
20
20
|
table: MRT_TableInstance<TData>;
|
21
21
|
}
|
22
22
|
|
23
|
-
export const MRT_GlobalFilterTextField = <TData extends
|
23
|
+
export const MRT_GlobalFilterTextField = <TData extends MRT_RowData>({
|
24
24
|
table,
|
25
25
|
}: Props<TData>) => {
|
26
26
|
const {
|
@@ -4,15 +4,19 @@ import Radio, { type RadioProps } from '@mui/material/Radio';
|
|
4
4
|
import Tooltip from '@mui/material/Tooltip';
|
5
5
|
import { type Theme } from '@mui/material/styles';
|
6
6
|
import { parseFromValuesOrFunc } from '../column.utils';
|
7
|
-
import {
|
7
|
+
import {
|
8
|
+
type MRT_Row,
|
9
|
+
type MRT_RowData,
|
10
|
+
type MRT_TableInstance,
|
11
|
+
} from '../types';
|
8
12
|
|
9
|
-
interface Props<TData extends
|
13
|
+
interface Props<TData extends MRT_RowData> {
|
10
14
|
row?: MRT_Row<TData>;
|
11
15
|
selectAll?: boolean;
|
12
16
|
table: MRT_TableInstance<TData>;
|
13
17
|
}
|
14
18
|
|
15
|
-
export const MRT_SelectCheckbox = <TData extends
|
19
|
+
export const MRT_SelectCheckbox = <TData extends MRT_RowData>({
|
16
20
|
row,
|
17
21
|
selectAll,
|
18
22
|
table,
|
@@ -6,7 +6,11 @@ import ListItemIcon from '@mui/material/ListItemIcon';
|
|
6
6
|
import Menu from '@mui/material/Menu';
|
7
7
|
import MenuItem from '@mui/material/MenuItem';
|
8
8
|
import { MRT_FilterOptionMenu } from './MRT_FilterOptionMenu';
|
9
|
-
import {
|
9
|
+
import {
|
10
|
+
type MRT_Header,
|
11
|
+
type MRT_RowData,
|
12
|
+
type MRT_TableInstance,
|
13
|
+
} from '../types';
|
10
14
|
|
11
15
|
export const commonMenuItemStyles = {
|
12
16
|
alignItems: 'center',
|
@@ -20,14 +24,14 @@ export const commonListItemStyles = {
|
|
20
24
|
display: 'flex',
|
21
25
|
};
|
22
26
|
|
23
|
-
interface Props<TData extends
|
27
|
+
interface Props<TData extends MRT_RowData> {
|
24
28
|
anchorEl: HTMLElement | null;
|
25
29
|
header: MRT_Header<TData>;
|
26
30
|
setAnchorEl: (anchorEl: HTMLElement | null) => void;
|
27
31
|
table: MRT_TableInstance<TData>;
|
28
32
|
}
|
29
33
|
|
30
|
-
export const MRT_ColumnActionMenu = <TData extends
|
34
|
+
export const MRT_ColumnActionMenu = <TData extends MRT_RowData>({
|
31
35
|
anchorEl,
|
32
36
|
header,
|
33
37
|
setAnchorEl,
|
@@ -7,6 +7,7 @@ import {
|
|
7
7
|
type MRT_Header,
|
8
8
|
type MRT_InternalFilterOption,
|
9
9
|
type MRT_Localization,
|
10
|
+
type MRT_RowData,
|
10
11
|
type MRT_TableInstance,
|
11
12
|
} from '../types';
|
12
13
|
|
@@ -104,7 +105,7 @@ const emptyModes = ['empty', 'notEmpty'];
|
|
104
105
|
const arrModes = ['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'];
|
105
106
|
const rangeVariants = ['range-slider', 'date-range', 'range'];
|
106
107
|
|
107
|
-
interface Props<TData extends
|
108
|
+
interface Props<TData extends MRT_RowData> {
|
108
109
|
anchorEl: HTMLElement | null;
|
109
110
|
header?: MRT_Header<TData>;
|
110
111
|
onSelect?: () => void;
|
@@ -113,7 +114,7 @@ interface Props<TData extends Record<string, any>> {
|
|
113
114
|
table: MRT_TableInstance<TData>;
|
114
115
|
}
|
115
116
|
|
116
|
-
export const MRT_FilterOptionMenu = <TData extends
|
117
|
+
export const MRT_FilterOptionMenu = <TData extends MRT_RowData>({
|
117
118
|
anchorEl,
|
118
119
|
header,
|
119
120
|
onSelect,
|
@@ -8,9 +8,13 @@ import {
|
|
8
8
|
commonMenuItemStyles,
|
9
9
|
} from './MRT_ColumnActionMenu';
|
10
10
|
import { parseFromValuesOrFunc } from '../column.utils';
|
11
|
-
import {
|
11
|
+
import {
|
12
|
+
type MRT_Row,
|
13
|
+
type MRT_RowData,
|
14
|
+
type MRT_TableInstance,
|
15
|
+
} from '../types';
|
12
16
|
|
13
|
-
interface Props<TData extends
|
17
|
+
interface Props<TData extends MRT_RowData> {
|
14
18
|
anchorEl: HTMLElement | null;
|
15
19
|
handleEdit: (event: MouseEvent) => void;
|
16
20
|
row: MRT_Row<TData>;
|
@@ -18,7 +22,7 @@ interface Props<TData extends Record<string, any>> {
|
|
18
22
|
table: MRT_TableInstance<TData>;
|
19
23
|
}
|
20
24
|
|
21
|
-
export const MRT_RowActionMenu = <TData extends
|
25
|
+
export const MRT_RowActionMenu = <TData extends MRT_RowData>({
|
22
26
|
anchorEl,
|
23
27
|
handleEdit,
|
24
28
|
row,
|
@@ -5,16 +5,20 @@ import Divider from '@mui/material/Divider';
|
|
5
5
|
import Menu from '@mui/material/Menu';
|
6
6
|
import { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';
|
7
7
|
import { getDefaultColumnOrderIds } from '../column.utils';
|
8
|
-
import {
|
8
|
+
import {
|
9
|
+
type MRT_Column,
|
10
|
+
type MRT_RowData,
|
11
|
+
type MRT_TableInstance,
|
12
|
+
} from '../types';
|
9
13
|
|
10
|
-
interface Props<TData extends
|
14
|
+
interface Props<TData extends MRT_RowData> {
|
11
15
|
anchorEl: HTMLElement | null;
|
12
16
|
isSubMenu?: boolean;
|
13
17
|
setAnchorEl: (anchorEl: HTMLElement | null) => void;
|
14
18
|
table: MRT_TableInstance<TData>;
|
15
19
|
}
|
16
20
|
|
17
|
-
export const MRT_ShowHideColumnsMenu = <TData extends
|
21
|
+
export const MRT_ShowHideColumnsMenu = <TData extends MRT_RowData>({
|
18
22
|
anchorEl,
|
19
23
|
setAnchorEl,
|
20
24
|
table,
|
@@ -14,9 +14,13 @@ import Typography from '@mui/material/Typography';
|
|
14
14
|
import { MRT_ColumnPinningButtons } from '../buttons/MRT_ColumnPinningButtons';
|
15
15
|
import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
|
16
16
|
import { reorderColumn } from '../column.utils';
|
17
|
-
import {
|
17
|
+
import {
|
18
|
+
type MRT_Column,
|
19
|
+
type MRT_RowData,
|
20
|
+
type MRT_TableInstance,
|
21
|
+
} from '../types';
|
18
22
|
|
19
|
-
interface Props<TData extends
|
23
|
+
interface Props<TData extends MRT_RowData> {
|
20
24
|
allColumns: MRT_Column<TData>[];
|
21
25
|
column: MRT_Column<TData>;
|
22
26
|
hoveredColumn: MRT_Column<TData> | null;
|
@@ -24,9 +28,7 @@ interface Props<TData extends Record<string, any>> {
|
|
24
28
|
table: MRT_TableInstance<TData>;
|
25
29
|
}
|
26
30
|
|
27
|
-
export const MRT_ShowHideColumnsMenuItems = <
|
28
|
-
TData extends Record<string, any>,
|
29
|
-
>({
|
31
|
+
export const MRT_ShowHideColumnsMenuItems = <TData extends MRT_RowData>({
|
30
32
|
allColumns,
|
31
33
|
column,
|
32
34
|
hoveredColumn,
|
@@ -6,14 +6,18 @@ import Stack from '@mui/material/Stack';
|
|
6
6
|
import { MRT_EditActionButtons } from '../buttons/MRT_EditActionButtons';
|
7
7
|
import { parseFromValuesOrFunc } from '../column.utils';
|
8
8
|
import { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';
|
9
|
-
import {
|
9
|
+
import {
|
10
|
+
type MRT_Row,
|
11
|
+
type MRT_RowData,
|
12
|
+
type MRT_TableInstance,
|
13
|
+
} from '../types';
|
10
14
|
|
11
|
-
interface Props<TData extends
|
15
|
+
interface Props<TData extends MRT_RowData> {
|
12
16
|
open: boolean;
|
13
17
|
table: MRT_TableInstance<TData>;
|
14
18
|
}
|
15
19
|
|
16
|
-
export const MRT_EditRowModal = <TData extends
|
20
|
+
export const MRT_EditRowModal = <TData extends MRT_RowData>({
|
17
21
|
open,
|
18
22
|
table,
|
19
23
|
}: Props<TData>) => {
|
package/src/sortingFns.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
import { type RankingInfo, compareItems } from '@tanstack/match-sorter-utils';
|
2
2
|
import { type Row, sortingFns } from '@tanstack/react-table';
|
3
|
-
import { type MRT_Row } from './types';
|
3
|
+
import { type MRT_Row, type MRT_RowData } from './types';
|
4
4
|
|
5
|
-
const fuzzy = <TData extends
|
5
|
+
const fuzzy = <TData extends MRT_RowData>(
|
6
6
|
rowA: Row<TData>,
|
7
7
|
rowB: Row<TData>,
|
8
8
|
columnId: string,
|
@@ -25,7 +25,7 @@ export const MRT_SortingFns = {
|
|
25
25
|
fuzzy,
|
26
26
|
};
|
27
27
|
|
28
|
-
export const rankGlobalFuzzy = <TData extends
|
28
|
+
export const rankGlobalFuzzy = <TData extends MRT_RowData>(
|
29
29
|
rowA: MRT_Row<TData>,
|
30
30
|
rowB: MRT_Row<TData>,
|
31
31
|
) =>
|
package/src/table/MRT_Table.tsx
CHANGED
@@ -13,13 +13,13 @@ import {
|
|
13
13
|
} from '../column.utils';
|
14
14
|
import { MRT_TableFooter } from '../footer/MRT_TableFooter';
|
15
15
|
import { MRT_TableHead } from '../head/MRT_TableHead';
|
16
|
-
import { type MRT_TableInstance } from '../types';
|
16
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
17
17
|
|
18
|
-
interface Props<TData extends
|
18
|
+
interface Props<TData extends MRT_RowData> {
|
19
19
|
table: MRT_TableInstance<TData>;
|
20
20
|
}
|
21
21
|
|
22
|
-
export const MRT_Table = <TData extends
|
22
|
+
export const MRT_Table = <TData extends MRT_RowData>({
|
23
23
|
table,
|
24
24
|
}: Props<TData>) => {
|
25
25
|
const {
|
@@ -6,16 +6,16 @@ import { alpha, lighten } from '@mui/material/styles';
|
|
6
6
|
import { MRT_Table } from './MRT_Table';
|
7
7
|
import { parseFromValuesOrFunc } from '../column.utils';
|
8
8
|
import { MRT_EditRowModal } from '../modals';
|
9
|
-
import { type MRT_TableInstance } from '../types';
|
9
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
10
10
|
|
11
11
|
const useIsomorphicLayoutEffect =
|
12
12
|
typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
13
13
|
|
14
|
-
interface Props<TData extends
|
14
|
+
interface Props<TData extends MRT_RowData> {
|
15
15
|
table: MRT_TableInstance<TData>;
|
16
16
|
}
|
17
17
|
|
18
|
-
export const MRT_TableContainer = <TData extends
|
18
|
+
export const MRT_TableContainer = <TData extends MRT_RowData>({
|
19
19
|
table,
|
20
20
|
}: Props<TData>) => {
|
21
21
|
const {
|
@@ -3,13 +3,13 @@ import { MRT_TableContainer } from './MRT_TableContainer';
|
|
3
3
|
import { parseFromValuesOrFunc } from '../column.utils';
|
4
4
|
import { MRT_BottomToolbar } from '../toolbar/MRT_BottomToolbar';
|
5
5
|
import { MRT_TopToolbar } from '../toolbar/MRT_TopToolbar';
|
6
|
-
import { type MRT_TableInstance } from '../types';
|
6
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
7
7
|
|
8
|
-
interface Props<TData extends
|
8
|
+
interface Props<TData extends MRT_RowData> {
|
9
9
|
table: MRT_TableInstance<TData>;
|
10
10
|
}
|
11
11
|
|
12
|
-
export const MRT_TablePaper = <TData extends
|
12
|
+
export const MRT_TablePaper = <TData extends MRT_RowData>({
|
13
13
|
table,
|
14
14
|
}: Props<TData>) => {
|
15
15
|
const {
|
@@ -8,13 +8,13 @@ import { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';
|
|
8
8
|
import { MRT_ToolbarDropZone } from './MRT_ToolbarDropZone';
|
9
9
|
import { commonToolbarStyles } from './MRT_TopToolbar';
|
10
10
|
import { parseFromValuesOrFunc } from '../column.utils';
|
11
|
-
import { type MRT_TableInstance } from '../types';
|
11
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
12
12
|
|
13
|
-
interface Props<TData extends
|
13
|
+
interface Props<TData extends MRT_RowData> {
|
14
14
|
table: MRT_TableInstance<TData>;
|
15
15
|
}
|
16
16
|
|
17
|
-
export const MRT_BottomToolbar = <TData extends
|
17
|
+
export const MRT_BottomToolbar = <TData extends MRT_RowData>({
|
18
18
|
table,
|
19
19
|
}: Props<TData>) => {
|
20
20
|
const {
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import Collapse from '@mui/material/Collapse';
|
2
2
|
import LinearProgress from '@mui/material/LinearProgress';
|
3
3
|
import { parseFromValuesOrFunc } from '../column.utils';
|
4
|
-
import { type MRT_TableInstance } from '../types';
|
4
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
5
5
|
|
6
|
-
interface Props<TData extends
|
6
|
+
interface Props<TData extends MRT_RowData> {
|
7
7
|
isTopToolbar: boolean;
|
8
8
|
table: MRT_TableInstance<TData>;
|
9
9
|
}
|
10
10
|
|
11
|
-
export const MRT_LinearProgressBar = <TData extends
|
11
|
+
export const MRT_LinearProgressBar = <TData extends MRT_RowData>({
|
12
12
|
isTopToolbar,
|
13
13
|
table,
|
14
14
|
}: Props<TData>) => {
|
@@ -7,16 +7,16 @@ import PaginationItem from '@mui/material/PaginationItem';
|
|
7
7
|
import Select from '@mui/material/Select';
|
8
8
|
import Typography from '@mui/material/Typography';
|
9
9
|
import { parseFromValuesOrFunc } from '../column.utils';
|
10
|
-
import { type MRT_TableInstance } from '../types';
|
10
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
11
11
|
|
12
12
|
const defaultRowsPerPage = [5, 10, 15, 20, 25, 30, 50, 100];
|
13
13
|
|
14
|
-
interface Props<TData extends
|
14
|
+
interface Props<TData extends MRT_RowData> {
|
15
15
|
position?: 'bottom' | 'top';
|
16
16
|
table: MRT_TableInstance<TData>;
|
17
17
|
}
|
18
18
|
|
19
|
-
export const MRT_TablePagination = <TData extends
|
19
|
+
export const MRT_TablePagination = <TData extends MRT_RowData>({
|
20
20
|
position = 'bottom',
|
21
21
|
table,
|
22
22
|
}: Props<TData>) => {
|
@@ -7,14 +7,14 @@ import Collapse from '@mui/material/Collapse';
|
|
7
7
|
import Stack from '@mui/material/Stack';
|
8
8
|
import { parseFromValuesOrFunc } from '../column.utils';
|
9
9
|
import { MRT_SelectCheckbox } from '../inputs';
|
10
|
-
import { type MRT_TableInstance } from '../types';
|
10
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
11
11
|
|
12
|
-
interface Props<TData extends
|
12
|
+
interface Props<TData extends MRT_RowData> {
|
13
13
|
stackAlertBanner?: boolean;
|
14
14
|
table: MRT_TableInstance<TData>;
|
15
15
|
}
|
16
16
|
|
17
|
-
export const MRT_ToolbarAlertBanner = <TData extends
|
17
|
+
export const MRT_ToolbarAlertBanner = <TData extends MRT_RowData>({
|
18
18
|
stackAlertBanner,
|
19
19
|
table,
|
20
20
|
}: Props<TData>) => {
|
@@ -3,13 +3,13 @@ import Box from '@mui/material/Box';
|
|
3
3
|
import Fade from '@mui/material/Fade';
|
4
4
|
import Typography from '@mui/material/Typography';
|
5
5
|
import { alpha } from '@mui/material/styles';
|
6
|
-
import { type MRT_TableInstance } from '../types';
|
6
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
7
7
|
|
8
|
-
interface Props<TData extends
|
8
|
+
interface Props<TData extends MRT_RowData> {
|
9
9
|
table: MRT_TableInstance<TData>;
|
10
10
|
}
|
11
11
|
|
12
|
-
export const MRT_ToolbarDropZone = <TData extends
|
12
|
+
export const MRT_ToolbarDropZone = <TData extends MRT_RowData>({
|
13
13
|
table,
|
14
14
|
}: Props<TData>) => {
|
15
15
|
const {
|
@@ -4,13 +4,13 @@ import { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingB
|
|
4
4
|
import { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';
|
5
5
|
import { MRT_ToggleFullScreenButton } from '../buttons/MRT_ToggleFullScreenButton';
|
6
6
|
import { MRT_ToggleGlobalFilterButton } from '../buttons/MRT_ToggleGlobalFilterButton';
|
7
|
-
import { type MRT_TableInstance } from '../types';
|
7
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
8
8
|
|
9
|
-
interface Props<TData extends
|
9
|
+
interface Props<TData extends MRT_RowData> {
|
10
10
|
table: MRT_TableInstance<TData>;
|
11
11
|
}
|
12
12
|
|
13
|
-
export const MRT_ToolbarInternalButtons = <TData extends
|
13
|
+
export const MRT_ToolbarInternalButtons = <TData extends MRT_RowData>({
|
14
14
|
table,
|
15
15
|
}: Props<TData>) => {
|
16
16
|
const {
|
@@ -10,7 +10,7 @@ import { MRT_ToolbarDropZone } from './MRT_ToolbarDropZone';
|
|
10
10
|
import { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';
|
11
11
|
import { parseFromValuesOrFunc } from '../column.utils';
|
12
12
|
import { MRT_GlobalFilterTextField } from '../inputs/MRT_GlobalFilterTextField';
|
13
|
-
import { type MRT_TableInstance } from '../types';
|
13
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
14
14
|
|
15
15
|
export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
|
16
16
|
alignItems: 'flex-start',
|
@@ -25,11 +25,11 @@ export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
|
|
25
25
|
zIndex: 1,
|
26
26
|
});
|
27
27
|
|
28
|
-
interface Props<TData extends
|
28
|
+
interface Props<TData extends MRT_RowData> {
|
29
29
|
table: MRT_TableInstance<TData>;
|
30
30
|
}
|
31
31
|
|
32
|
-
export const MRT_TopToolbar = <TData extends
|
32
|
+
export const MRT_TopToolbar = <TData extends MRT_RowData>({
|
33
33
|
table,
|
34
34
|
}: Props<TData>) => {
|
35
35
|
const {
|