material-react-table 2.0.0-beta.1 → 2.0.0-beta.2
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/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 {
|