material-react-table 2.0.0-beta.0 → 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/README.md +1 -1
- package/dist/cjs/index.js +119 -81
- 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 +5 -5
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +5 -5
- 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 +119 -82
- 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 +5 -5
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +5 -5
- 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 +219 -208
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +5 -4
- package/src/body/MRT_TableBody.tsx +12 -3
- package/src/body/MRT_TableBodyCell.tsx +28 -8
- package/src/body/MRT_TableBodyCellValue.tsx +7 -3
- package/src/body/MRT_TableBodyRow.tsx +9 -4
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +7 -3
- package/src/body/MRT_TableBodyRowPinButton.tsx +7 -3
- package/src/body/MRT_TableDetailPanel.tsx +8 -5
- 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 +28 -16
- 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 +15 -8
- 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 +17 -5
- 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 +4 -4
- package/src/toolbar/MRT_BottomToolbar.tsx +3 -3
- package/src/toolbar/MRT_LinearProgressBar.tsx +3 -3
- package/src/toolbar/MRT_TablePagination.tsx +8 -5
- 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
package/src/column.utils.ts
CHANGED
|
@@ -15,23 +15,27 @@ import { type MRT_SortingFns } from './sortingFns';
|
|
|
15
15
|
import {
|
|
16
16
|
type MRT_Column,
|
|
17
17
|
type MRT_ColumnDef,
|
|
18
|
+
type MRT_ColumnHelper,
|
|
18
19
|
type MRT_ColumnOrderState,
|
|
19
20
|
type MRT_DefinedColumnDef,
|
|
21
|
+
type MRT_DisplayColumnDef,
|
|
20
22
|
type MRT_DisplayColumnIds,
|
|
21
23
|
type MRT_FilterOption,
|
|
24
|
+
type MRT_GroupColumnDef,
|
|
22
25
|
type MRT_GroupingState,
|
|
23
26
|
type MRT_Header,
|
|
24
27
|
type MRT_Row,
|
|
28
|
+
type MRT_RowData,
|
|
25
29
|
type MRT_TableInstance,
|
|
26
30
|
type MRT_TableOptions,
|
|
27
31
|
} from './types';
|
|
28
32
|
|
|
29
|
-
export const getColumnId = <TData extends
|
|
33
|
+
export const getColumnId = <TData extends MRT_RowData>(
|
|
30
34
|
columnDef: MRT_ColumnDef<TData>,
|
|
31
35
|
): string =>
|
|
32
36
|
columnDef.id ?? columnDef.accessorKey?.toString?.() ?? columnDef.header;
|
|
33
37
|
|
|
34
|
-
export const getAllLeafColumnDefs = <TData extends
|
|
38
|
+
export const getAllLeafColumnDefs = <TData extends MRT_RowData>(
|
|
35
39
|
columns: MRT_ColumnDef<TData>[],
|
|
36
40
|
): MRT_ColumnDef<TData>[] => {
|
|
37
41
|
const allLeafColumnDefs: MRT_ColumnDef<TData>[] = [];
|
|
@@ -48,7 +52,7 @@ export const getAllLeafColumnDefs = <TData extends Record<string, any>>(
|
|
|
48
52
|
return allLeafColumnDefs;
|
|
49
53
|
};
|
|
50
54
|
|
|
51
|
-
export const prepareColumns = <TData extends
|
|
55
|
+
export const prepareColumns = <TData extends MRT_RowData>({
|
|
52
56
|
aggregationFns,
|
|
53
57
|
columnDefs,
|
|
54
58
|
columnFilterFns,
|
|
@@ -122,7 +126,7 @@ export const prepareColumns = <TData extends Record<string, any>>({
|
|
|
122
126
|
return columnDef;
|
|
123
127
|
}) as MRT_DefinedColumnDef<TData>[];
|
|
124
128
|
|
|
125
|
-
export const reorderColumn = <TData extends
|
|
129
|
+
export const reorderColumn = <TData extends MRT_RowData>(
|
|
126
130
|
draggedColumn: MRT_Column<TData>,
|
|
127
131
|
targetColumn: MRT_Column<TData>,
|
|
128
132
|
columnOrder: MRT_ColumnOrderState,
|
|
@@ -139,7 +143,7 @@ export const reorderColumn = <TData extends Record<string, any>>(
|
|
|
139
143
|
return newColumnOrder;
|
|
140
144
|
};
|
|
141
145
|
|
|
142
|
-
export const showExpandColumn = <TData extends
|
|
146
|
+
export const showExpandColumn = <TData extends MRT_RowData>(
|
|
143
147
|
props: MRT_TableOptions<TData>,
|
|
144
148
|
grouping?: MRT_GroupingState,
|
|
145
149
|
) =>
|
|
@@ -149,7 +153,7 @@ export const showExpandColumn = <TData extends Record<string, any>>(
|
|
|
149
153
|
props.renderDetailPanel
|
|
150
154
|
);
|
|
151
155
|
|
|
152
|
-
export const getLeadingDisplayColumnIds = <TData extends
|
|
156
|
+
export const getLeadingDisplayColumnIds = <TData extends MRT_RowData>(
|
|
153
157
|
props: MRT_TableOptions<TData>,
|
|
154
158
|
) =>
|
|
155
159
|
[
|
|
@@ -170,7 +174,7 @@ export const getLeadingDisplayColumnIds = <TData extends Record<string, any>>(
|
|
|
170
174
|
props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
|
|
171
175
|
].filter(Boolean) as MRT_DisplayColumnIds[];
|
|
172
176
|
|
|
173
|
-
export const getTrailingDisplayColumnIds = <TData extends
|
|
177
|
+
export const getTrailingDisplayColumnIds = <TData extends MRT_RowData>(
|
|
174
178
|
props: MRT_TableOptions<TData>,
|
|
175
179
|
) =>
|
|
176
180
|
[
|
|
@@ -184,7 +188,7 @@ export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
|
|
|
184
188
|
'mrt-row-expand',
|
|
185
189
|
].filter(Boolean) as MRT_DisplayColumnIds[];
|
|
186
190
|
|
|
187
|
-
export const getDefaultColumnOrderIds = <TData extends
|
|
191
|
+
export const getDefaultColumnOrderIds = <TData extends MRT_RowData>(
|
|
188
192
|
props: MRT_TableOptions<TData>,
|
|
189
193
|
) => {
|
|
190
194
|
const leadingDisplayCols: string[] = getLeadingDisplayColumnIds(props);
|
|
@@ -199,7 +203,7 @@ export const getDefaultColumnOrderIds = <TData extends Record<string, any>>(
|
|
|
199
203
|
return [...leadingDisplayCols, ...allLeafColumnDefs, ...trailingDisplayCols];
|
|
200
204
|
};
|
|
201
205
|
|
|
202
|
-
export const getDefaultColumnFilterFn = <TData extends
|
|
206
|
+
export const getDefaultColumnFilterFn = <TData extends MRT_RowData>(
|
|
203
207
|
columnDef: MRT_ColumnDef<TData>,
|
|
204
208
|
): MRT_FilterOption => {
|
|
205
209
|
if (columnDef.filterVariant === 'multi-select') return 'arrIncludesSome';
|
|
@@ -212,7 +216,7 @@ export const getDefaultColumnFilterFn = <TData extends Record<string, any>>(
|
|
|
212
216
|
return 'fuzzy';
|
|
213
217
|
};
|
|
214
218
|
|
|
215
|
-
export const getIsFirstColumn = <TData extends
|
|
219
|
+
export const getIsFirstColumn = <TData extends MRT_RowData>(
|
|
216
220
|
column: MRT_Column<TData>,
|
|
217
221
|
table: MRT_TableInstance<TData>,
|
|
218
222
|
) => {
|
|
@@ -222,7 +226,7 @@ export const getIsFirstColumn = <TData extends Record<string, any>>(
|
|
|
222
226
|
: table.getVisibleLeafColumns()[0].id === column.id;
|
|
223
227
|
};
|
|
224
228
|
|
|
225
|
-
export const getIsLastColumn = <TData extends
|
|
229
|
+
export const getIsLastColumn = <TData extends MRT_RowData>(
|
|
226
230
|
column: MRT_Column<TData>,
|
|
227
231
|
table: MRT_TableInstance<TData>,
|
|
228
232
|
) => {
|
|
@@ -233,7 +237,7 @@ export const getIsLastColumn = <TData extends Record<string, any>>(
|
|
|
233
237
|
: columns[columns.length - 1].id === column.id;
|
|
234
238
|
};
|
|
235
239
|
|
|
236
|
-
export const getIsLastLeftPinnedColumn = <TData extends
|
|
240
|
+
export const getIsLastLeftPinnedColumn = <TData extends MRT_RowData>(
|
|
237
241
|
table: MRT_TableInstance<TData>,
|
|
238
242
|
column: MRT_Column<TData>,
|
|
239
243
|
) => {
|
|
@@ -243,13 +247,13 @@ export const getIsLastLeftPinnedColumn = <TData extends Record<string, any>>(
|
|
|
243
247
|
);
|
|
244
248
|
};
|
|
245
249
|
|
|
246
|
-
export const getIsFirstRightPinnedColumn = <TData extends
|
|
250
|
+
export const getIsFirstRightPinnedColumn = <TData extends MRT_RowData>(
|
|
247
251
|
column: MRT_Column<TData>,
|
|
248
252
|
) => {
|
|
249
253
|
return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
|
|
250
254
|
};
|
|
251
255
|
|
|
252
|
-
export const getTotalRight = <TData extends
|
|
256
|
+
export const getTotalRight = <TData extends MRT_RowData>(
|
|
253
257
|
table: MRT_TableInstance<TData>,
|
|
254
258
|
column: MRT_Column<TData>,
|
|
255
259
|
) => {
|
|
@@ -259,7 +263,7 @@ export const getTotalRight = <TData extends Record<string, any>>(
|
|
|
259
263
|
.reduce((acc, col) => acc + col.getSize(), 0);
|
|
260
264
|
};
|
|
261
265
|
|
|
262
|
-
export const getCanRankRows = <TData extends
|
|
266
|
+
export const getCanRankRows = <TData extends MRT_RowData>(
|
|
263
267
|
table: MRT_TableInstance<TData>,
|
|
264
268
|
) => {
|
|
265
269
|
const { getState, options } = table;
|
|
@@ -284,7 +288,7 @@ export const getCanRankRows = <TData extends Record<string, any>>(
|
|
|
284
288
|
);
|
|
285
289
|
};
|
|
286
290
|
|
|
287
|
-
export const getCommonCellStyles = <TData extends
|
|
291
|
+
export const getCommonCellStyles = <TData extends MRT_RowData>({
|
|
288
292
|
column,
|
|
289
293
|
header,
|
|
290
294
|
table,
|
|
@@ -409,7 +413,7 @@ export const flexRender = _flexRender as (
|
|
|
409
413
|
props: any,
|
|
410
414
|
) => JSX.Element | ReactNode;
|
|
411
415
|
|
|
412
|
-
export const createRow = <TData extends
|
|
416
|
+
export const createRow = <TData extends MRT_RowData>(
|
|
413
417
|
table: MRT_TableInstance<TData>,
|
|
414
418
|
originalRow?: TData,
|
|
415
419
|
): MRT_Row<TData> =>
|
|
@@ -443,3 +447,23 @@ export const extraIndexRangeExtractor = (
|
|
|
443
447
|
}
|
|
444
448
|
return newIndexs;
|
|
445
449
|
};
|
|
450
|
+
|
|
451
|
+
export function createMRTColumnHelper<
|
|
452
|
+
TData extends MRT_RowData,
|
|
453
|
+
>(): MRT_ColumnHelper<TData> {
|
|
454
|
+
return {
|
|
455
|
+
accessor: (accessor, column) => {
|
|
456
|
+
return typeof accessor === 'function'
|
|
457
|
+
? ({
|
|
458
|
+
...column,
|
|
459
|
+
accessorFn: accessor,
|
|
460
|
+
} as any)
|
|
461
|
+
: {
|
|
462
|
+
...column,
|
|
463
|
+
accessorKey: accessor,
|
|
464
|
+
};
|
|
465
|
+
},
|
|
466
|
+
display: (column) => column as MRT_DisplayColumnDef<TData>,
|
|
467
|
+
group: (column) => column as MRT_GroupColumnDef<TData>,
|
|
468
|
+
};
|
|
469
|
+
}
|
package/src/filterFns.ts
CHANGED
|
@@ -4,8 +4,9 @@ import {
|
|
|
4
4
|
rankings,
|
|
5
5
|
} from '@tanstack/match-sorter-utils';
|
|
6
6
|
import { type Row, filterFns } from '@tanstack/react-table';
|
|
7
|
+
import { type MRT_RowData } from './types';
|
|
7
8
|
|
|
8
|
-
const fuzzy = <TData extends
|
|
9
|
+
const fuzzy = <TData extends MRT_RowData>(
|
|
9
10
|
row: Row<TData>,
|
|
10
11
|
columnId: string,
|
|
11
12
|
filterValue: number | string,
|
|
@@ -20,7 +21,7 @@ const fuzzy = <TData extends Record<string, any>>(
|
|
|
20
21
|
|
|
21
22
|
fuzzy.autoRemove = (val: any) => !val;
|
|
22
23
|
|
|
23
|
-
const contains = <TData extends
|
|
24
|
+
const contains = <TData extends MRT_RowData>(
|
|
24
25
|
row: Row<TData>,
|
|
25
26
|
id: string,
|
|
26
27
|
filterValue: number | string,
|
|
@@ -34,7 +35,7 @@ const contains = <TData extends Record<string, any>>(
|
|
|
34
35
|
|
|
35
36
|
contains.autoRemove = (val: any) => !val;
|
|
36
37
|
|
|
37
|
-
const startsWith = <TData extends
|
|
38
|
+
const startsWith = <TData extends MRT_RowData>(
|
|
38
39
|
row: Row<TData>,
|
|
39
40
|
id: string,
|
|
40
41
|
filterValue: number | string,
|
|
@@ -48,7 +49,7 @@ const startsWith = <TData extends Record<string, any>>(
|
|
|
48
49
|
|
|
49
50
|
startsWith.autoRemove = (val: any) => !val;
|
|
50
51
|
|
|
51
|
-
const endsWith = <TData extends
|
|
52
|
+
const endsWith = <TData extends MRT_RowData>(
|
|
52
53
|
row: Row<TData>,
|
|
53
54
|
id: string,
|
|
54
55
|
filterValue: number | string,
|
|
@@ -62,7 +63,7 @@ const endsWith = <TData extends Record<string, any>>(
|
|
|
62
63
|
|
|
63
64
|
endsWith.autoRemove = (val: any) => !val;
|
|
64
65
|
|
|
65
|
-
const equals = <TData extends
|
|
66
|
+
const equals = <TData extends MRT_RowData>(
|
|
66
67
|
row: Row<TData>,
|
|
67
68
|
id: string,
|
|
68
69
|
filterValue: number | string,
|
|
@@ -72,7 +73,7 @@ const equals = <TData extends Record<string, any>>(
|
|
|
72
73
|
|
|
73
74
|
equals.autoRemove = (val: any) => !val;
|
|
74
75
|
|
|
75
|
-
const notEquals = <TData extends
|
|
76
|
+
const notEquals = <TData extends MRT_RowData>(
|
|
76
77
|
row: Row<TData>,
|
|
77
78
|
id: string,
|
|
78
79
|
filterValue: number | string,
|
|
@@ -82,7 +83,7 @@ const notEquals = <TData extends Record<string, any>>(
|
|
|
82
83
|
|
|
83
84
|
notEquals.autoRemove = (val: any) => !val;
|
|
84
85
|
|
|
85
|
-
const greaterThan = <TData extends
|
|
86
|
+
const greaterThan = <TData extends MRT_RowData>(
|
|
86
87
|
row: Row<TData>,
|
|
87
88
|
id: string,
|
|
88
89
|
filterValue: number | string,
|
|
@@ -94,7 +95,7 @@ const greaterThan = <TData extends Record<string, any>>(
|
|
|
94
95
|
|
|
95
96
|
greaterThan.autoRemove = (val: any) => !val;
|
|
96
97
|
|
|
97
|
-
const greaterThanOrEqualTo = <TData extends
|
|
98
|
+
const greaterThanOrEqualTo = <TData extends MRT_RowData>(
|
|
98
99
|
row: Row<TData>,
|
|
99
100
|
id: string,
|
|
100
101
|
filterValue: number | string,
|
|
@@ -102,7 +103,7 @@ const greaterThanOrEqualTo = <TData extends Record<string, any>>(
|
|
|
102
103
|
|
|
103
104
|
greaterThanOrEqualTo.autoRemove = (val: any) => !val;
|
|
104
105
|
|
|
105
|
-
const lessThan = <TData extends
|
|
106
|
+
const lessThan = <TData extends MRT_RowData>(
|
|
106
107
|
row: Row<TData>,
|
|
107
108
|
id: string,
|
|
108
109
|
filterValue: number | string,
|
|
@@ -114,7 +115,7 @@ const lessThan = <TData extends Record<string, any>>(
|
|
|
114
115
|
|
|
115
116
|
lessThan.autoRemove = (val: any) => !val;
|
|
116
117
|
|
|
117
|
-
const lessThanOrEqualTo = <TData extends
|
|
118
|
+
const lessThanOrEqualTo = <TData extends MRT_RowData>(
|
|
118
119
|
row: Row<TData>,
|
|
119
120
|
id: string,
|
|
120
121
|
filterValue: number | string,
|
|
@@ -122,7 +123,7 @@ const lessThanOrEqualTo = <TData extends Record<string, any>>(
|
|
|
122
123
|
|
|
123
124
|
lessThanOrEqualTo.autoRemove = (val: any) => !val;
|
|
124
125
|
|
|
125
|
-
const between = <TData extends
|
|
126
|
+
const between = <TData extends MRT_RowData>(
|
|
126
127
|
row: Row<TData>,
|
|
127
128
|
id: string,
|
|
128
129
|
filterValues: [number | string, number | string],
|
|
@@ -137,7 +138,7 @@ const between = <TData extends Record<string, any>>(
|
|
|
137
138
|
|
|
138
139
|
between.autoRemove = (val: any) => !val;
|
|
139
140
|
|
|
140
|
-
const betweenInclusive = <TData extends
|
|
141
|
+
const betweenInclusive = <TData extends MRT_RowData>(
|
|
141
142
|
row: Row<TData>,
|
|
142
143
|
id: string,
|
|
143
144
|
filterValues: [number | string, number | string],
|
|
@@ -152,7 +153,7 @@ const betweenInclusive = <TData extends Record<string, any>>(
|
|
|
152
153
|
|
|
153
154
|
betweenInclusive.autoRemove = (val: any) => !val;
|
|
154
155
|
|
|
155
|
-
const empty = <TData extends
|
|
156
|
+
const empty = <TData extends MRT_RowData>(
|
|
156
157
|
row: Row<TData>,
|
|
157
158
|
id: string,
|
|
158
159
|
_filterValue: number | string,
|
|
@@ -160,7 +161,7 @@ const empty = <TData extends Record<string, any>>(
|
|
|
160
161
|
|
|
161
162
|
empty.autoRemove = (val: any) => !val;
|
|
162
163
|
|
|
163
|
-
const notEmpty = <TData extends
|
|
164
|
+
const notEmpty = <TData extends MRT_RowData>(
|
|
164
165
|
row: Row<TData>,
|
|
165
166
|
id: string,
|
|
166
167
|
_filterValue: number | string,
|
|
@@ -2,16 +2,16 @@ import { type VirtualItem } from '@tanstack/react-virtual';
|
|
|
2
2
|
import TableFooter from '@mui/material/TableFooter';
|
|
3
3
|
import { MRT_TableFooterRow } from './MRT_TableFooterRow';
|
|
4
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
|
5
|
-
import { type MRT_TableInstance } from '../types';
|
|
5
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
|
6
6
|
|
|
7
|
-
interface Props<TData extends
|
|
7
|
+
interface Props<TData extends MRT_RowData> {
|
|
8
8
|
table: MRT_TableInstance<TData>;
|
|
9
9
|
virtualColumns?: VirtualItem[];
|
|
10
10
|
virtualPaddingLeft?: number;
|
|
11
11
|
virtualPaddingRight?: number;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const MRT_TableFooter = <TData extends
|
|
14
|
+
export const MRT_TableFooter = <TData extends MRT_RowData>({
|
|
15
15
|
table,
|
|
16
16
|
virtualColumns,
|
|
17
17
|
virtualPaddingLeft,
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import TableCell from '@mui/material/TableCell';
|
|
2
2
|
import { getCommonCellStyles, parseFromValuesOrFunc } from '../column.utils';
|
|
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
|
footer: MRT_Header<TData>;
|
|
7
11
|
table: MRT_TableInstance<TData>;
|
|
8
12
|
}
|
|
9
13
|
|
|
10
|
-
export const MRT_TableFooterCell = <TData extends
|
|
14
|
+
export const MRT_TableFooterCell = <TData extends MRT_RowData>({
|
|
11
15
|
footer,
|
|
12
16
|
table,
|
|
13
17
|
}: Props<TData>) => {
|
|
@@ -6,10 +6,11 @@ import { parseFromValuesOrFunc } from '../column.utils';
|
|
|
6
6
|
import {
|
|
7
7
|
type MRT_Header,
|
|
8
8
|
type MRT_HeaderGroup,
|
|
9
|
+
type MRT_RowData,
|
|
9
10
|
type MRT_TableInstance,
|
|
10
11
|
} from '../types';
|
|
11
12
|
|
|
12
|
-
interface Props<TData extends
|
|
13
|
+
interface Props<TData extends MRT_RowData> {
|
|
13
14
|
footerGroup: MRT_HeaderGroup<TData>;
|
|
14
15
|
table: MRT_TableInstance<TData>;
|
|
15
16
|
virtualColumns?: VirtualItem[];
|
|
@@ -17,7 +18,7 @@ interface Props<TData extends Record<string, any>> {
|
|
|
17
18
|
virtualPaddingRight?: number;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
export const MRT_TableFooterRow = <TData extends
|
|
21
|
+
export const MRT_TableFooterRow = <TData extends MRT_RowData>({
|
|
21
22
|
footerGroup,
|
|
22
23
|
table,
|
|
23
24
|
virtualColumns,
|
|
@@ -3,16 +3,16 @@ import TableHead from '@mui/material/TableHead';
|
|
|
3
3
|
import { MRT_TableHeadRow } from './MRT_TableHeadRow';
|
|
4
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
|
5
5
|
import { MRT_ToolbarAlertBanner } from '../toolbar';
|
|
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
|
virtualColumns?: VirtualItem[];
|
|
11
11
|
virtualPaddingLeft?: number;
|
|
12
12
|
virtualPaddingRight?: number;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const MRT_TableHead = <TData extends
|
|
15
|
+
export const MRT_TableHead = <TData extends MRT_RowData>({
|
|
16
16
|
table,
|
|
17
17
|
virtualColumns,
|
|
18
18
|
virtualPaddingLeft,
|
|
@@ -11,14 +11,18 @@ import { MRT_TableHeadCellResizeHandle } from './MRT_TableHeadCellResizeHandle';
|
|
|
11
11
|
import { MRT_TableHeadCellSortLabel } from './MRT_TableHeadCellSortLabel';
|
|
12
12
|
import { getCommonCellStyles } from '../column.utils';
|
|
13
13
|
import { parseFromValuesOrFunc } from '../column.utils';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
type MRT_Header,
|
|
16
|
+
type MRT_RowData,
|
|
17
|
+
type MRT_TableInstance,
|
|
18
|
+
} from '../types';
|
|
15
19
|
|
|
16
|
-
interface Props<TData extends
|
|
20
|
+
interface Props<TData extends MRT_RowData> {
|
|
17
21
|
header: MRT_Header<TData>;
|
|
18
22
|
table: MRT_TableInstance<TData>;
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
export const MRT_TableHeadCell = <TData extends
|
|
25
|
+
export const MRT_TableHeadCell = <TData extends MRT_RowData>({
|
|
22
26
|
header,
|
|
23
27
|
table,
|
|
24
28
|
}: Props<TData>) => {
|
|
@@ -39,6 +43,7 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
|
|
|
39
43
|
setHoveredColumn,
|
|
40
44
|
} = table;
|
|
41
45
|
const {
|
|
46
|
+
columnSizingInfo,
|
|
42
47
|
density,
|
|
43
48
|
draggingColumn,
|
|
44
49
|
grouping,
|
|
@@ -78,23 +83,30 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
|
|
|
78
83
|
return pl;
|
|
79
84
|
}, [showColumnActions, showDragHandle]);
|
|
80
85
|
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
const draggingBorders = useMemo(() => {
|
|
87
|
+
const borderStyle =
|
|
88
|
+
columnSizingInfo.isResizingColumn === column.id &&
|
|
89
|
+
!header.subHeaders.length
|
|
90
|
+
? `2px solid ${theme.palette.primary.main} !important`
|
|
91
|
+
: draggingColumn?.id === column.id
|
|
84
92
|
? `1px dashed ${theme.palette.text.secondary}`
|
|
85
93
|
: hoveredColumn?.id === column.id
|
|
86
94
|
? `2px dashed ${theme.palette.primary.main}`
|
|
87
|
-
: undefined
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
: undefined;
|
|
96
|
+
|
|
97
|
+
if (columnSizingInfo.isResizingColumn === column.id) {
|
|
98
|
+
return { borderRight: borderStyle };
|
|
99
|
+
}
|
|
100
|
+
const draggingBorders = borderStyle
|
|
101
|
+
? {
|
|
102
|
+
borderLeft: borderStyle,
|
|
103
|
+
borderRight: borderStyle,
|
|
104
|
+
borderTop: borderStyle,
|
|
105
|
+
}
|
|
106
|
+
: undefined;
|
|
90
107
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
borderLeft: draggingBorder,
|
|
94
|
-
borderRight: draggingBorder,
|
|
95
|
-
borderTop: draggingBorder,
|
|
96
|
-
}
|
|
97
|
-
: undefined;
|
|
108
|
+
return draggingBorders;
|
|
109
|
+
}, [draggingColumn, hoveredColumn, columnSizingInfo.isResizingColumn]);
|
|
98
110
|
|
|
99
111
|
const handleDragEnter = (_e: DragEvent) => {
|
|
100
112
|
if (enableGrouping && hoveredColumn?.id === 'drop-zone') {
|
|
@@ -3,15 +3,19 @@ import IconButton from '@mui/material/IconButton';
|
|
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
|
4
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
|
5
5
|
import { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';
|
|
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
17
|
export const MRT_TableHeadCellColumnActionsButton = <
|
|
14
|
-
TData extends
|
|
18
|
+
TData extends MRT_RowData,
|
|
15
19
|
>({
|
|
16
20
|
header,
|
|
17
21
|
table,
|
|
@@ -3,16 +3,18 @@ import { MRT_FilterCheckbox } from '../inputs/MRT_FilterCheckbox';
|
|
|
3
3
|
import { MRT_FilterRangeFields } from '../inputs/MRT_FilterRangeFields';
|
|
4
4
|
import { MRT_FilterRangeSlider } from '../inputs/MRT_FilterRangeSlider';
|
|
5
5
|
import { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';
|
|
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_TableHeadCellFilterContainer = <
|
|
14
|
-
TData extends Record<string, any>,
|
|
15
|
-
>({
|
|
17
|
+
export const MRT_TableHeadCellFilterContainer = <TData extends MRT_RowData>({
|
|
16
18
|
header,
|
|
17
19
|
table,
|
|
18
20
|
}: Props<TData>) => {
|
|
@@ -5,16 +5,18 @@ import IconButton from '@mui/material/IconButton';
|
|
|
5
5
|
import Popover from '@mui/material/Popover';
|
|
6
6
|
import Tooltip from '@mui/material/Tooltip';
|
|
7
7
|
import { MRT_TableHeadCellFilterContainer } from './MRT_TableHeadCellFilterContainer';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
type MRT_Header,
|
|
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
|
header: MRT_Header<TData>;
|
|
12
16
|
table: MRT_TableInstance<TData>;
|
|
13
17
|
}
|
|
14
18
|
|
|
15
|
-
export const MRT_TableHeadCellFilterLabel = <
|
|
16
|
-
TData extends Record<string, any> = {},
|
|
17
|
-
>({
|
|
19
|
+
export const MRT_TableHeadCellFilterLabel = <TData extends MRT_RowData = {}>({
|
|
18
20
|
header,
|
|
19
21
|
table,
|
|
20
22
|
}: Props<TData>) => {
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { type DragEvent, type RefObject } from 'react';
|
|
2
2
|
import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
|
|
3
3
|
import { parseFromValuesOrFunc, reorderColumn } from '../column.utils';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
type MRT_Column,
|
|
6
|
+
type MRT_RowData,
|
|
7
|
+
type MRT_TableInstance,
|
|
8
|
+
} from '../types';
|
|
5
9
|
|
|
6
|
-
interface Props<TData extends
|
|
10
|
+
interface Props<TData extends MRT_RowData> {
|
|
7
11
|
column: MRT_Column<TData>;
|
|
8
12
|
table: MRT_TableInstance<TData>;
|
|
9
13
|
tableHeadCellRef: RefObject<HTMLTableCellElement>;
|
|
10
14
|
}
|
|
11
15
|
|
|
12
|
-
export const MRT_TableHeadCellGrabHandle = <TData extends
|
|
16
|
+
export const MRT_TableHeadCellGrabHandle = <TData extends MRT_RowData>({
|
|
13
17
|
column,
|
|
14
18
|
table,
|
|
15
19
|
tableHeadCellRef,
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import Box from '@mui/material/Box';
|
|
2
2
|
import Divider from '@mui/material/Divider';
|
|
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_TableHeadCellResizeHandle = <
|
|
11
|
-
TData extends Record<string, any>,
|
|
12
|
-
>({
|
|
14
|
+
export const MRT_TableHeadCellResizeHandle = <TData extends MRT_RowData>({
|
|
13
15
|
header,
|
|
14
16
|
table,
|
|
15
17
|
}: Props<TData>) => {
|
|
@@ -42,13 +44,18 @@ export const MRT_TableHeadCellResizeHandle = <
|
|
|
42
44
|
sx={(theme) => ({
|
|
43
45
|
'&:active > hr': {
|
|
44
46
|
backgroundColor: theme.palette.info.main,
|
|
45
|
-
opacity: 1,
|
|
47
|
+
opacity: header.subHeaders.length ? 1 : 0,
|
|
46
48
|
},
|
|
47
49
|
cursor: 'col-resize',
|
|
48
|
-
mr:
|
|
50
|
+
mr:
|
|
51
|
+
density === 'compact'
|
|
52
|
+
? '-12px'
|
|
53
|
+
: density === 'comfortable'
|
|
54
|
+
? '-20px'
|
|
55
|
+
: '-28px',
|
|
49
56
|
position: 'absolute',
|
|
50
57
|
px: '4px',
|
|
51
|
-
right: '
|
|
58
|
+
right: '0',
|
|
52
59
|
})}
|
|
53
60
|
>
|
|
54
61
|
<Divider
|
|
@@ -2,15 +2,19 @@ import Badge from '@mui/material/Badge';
|
|
|
2
2
|
import { type TableCellProps } from '@mui/material/TableCell';
|
|
3
3
|
import TableSortLabel from '@mui/material/TableSortLabel';
|
|
4
4
|
import Tooltip from '@mui/material/Tooltip';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
type MRT_Header,
|
|
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
|
header: MRT_Header<TData>;
|
|
9
13
|
table: MRT_TableInstance<TData>;
|
|
10
14
|
tableCellProps?: TableCellProps;
|
|
11
15
|
}
|
|
12
16
|
|
|
13
|
-
export const MRT_TableHeadCellSortLabel = <TData extends
|
|
17
|
+
export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
|
|
14
18
|
header,
|
|
15
19
|
table,
|
|
16
20
|
}: Props<TData>) => {
|
|
@@ -6,10 +6,11 @@ import { parseFromValuesOrFunc } from '../column.utils';
|
|
|
6
6
|
import {
|
|
7
7
|
type MRT_Header,
|
|
8
8
|
type MRT_HeaderGroup,
|
|
9
|
+
type MRT_RowData,
|
|
9
10
|
type MRT_TableInstance,
|
|
10
11
|
} from '../types';
|
|
11
12
|
|
|
12
|
-
interface Props<TData extends
|
|
13
|
+
interface Props<TData extends MRT_RowData> {
|
|
13
14
|
headerGroup: MRT_HeaderGroup<TData>;
|
|
14
15
|
table: MRT_TableInstance<TData>;
|
|
15
16
|
virtualColumns?: VirtualItem[];
|
|
@@ -17,7 +18,7 @@ interface Props<TData extends Record<string, any>> {
|
|
|
17
18
|
virtualPaddingRight?: number;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
export const MRT_TableHeadRow = <TData extends
|
|
21
|
+
export const MRT_TableHeadRow = <TData extends MRT_RowData>({
|
|
21
22
|
headerGroup,
|
|
22
23
|
table,
|
|
23
24
|
virtualColumns,
|