material-react-table 2.0.0-alpha.0 → 2.0.0-alpha.1
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 +437 -384
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +3 -2
- package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +7 -0
- package/dist/cjs/types/body/index.d.ts +1 -0
- package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +9 -0
- package/dist/cjs/types/buttons/index.d.ts +2 -1
- package/dist/cjs/types/column.utils.d.ts +1 -0
- package/dist/cjs/types/types.d.ts +15 -9
- package/dist/esm/material-react-table.esm.js +433 -383
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +3 -2
- package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +7 -0
- package/dist/esm/types/body/index.d.ts +1 -0
- package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +9 -0
- package/dist/esm/types/buttons/index.d.ts +2 -1
- package/dist/esm/types/column.utils.d.ts +1 -0
- package/dist/esm/types/types.d.ts +15 -9
- package/dist/index.d.ts +68 -47
- package/locales/en.esm.js +1 -0
- package/locales/en.esm.js.map +1 -1
- package/locales/en.js +1 -0
- package/locales/en.js.map +1 -1
- package/package.json +9 -9
- package/src/body/MRT_TableBody.tsx +178 -74
- package/src/body/MRT_TableBodyCell.tsx +23 -21
- package/src/body/MRT_TableBodyRow.tsx +104 -16
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +5 -4
- package/src/body/MRT_TableBodyRowPinButton.tsx +46 -0
- package/src/body/MRT_TableDetailPanel.tsx +13 -19
- package/src/body/index.ts +2 -1
- package/src/buttons/MRT_CopyButton.tsx +14 -20
- package/src/buttons/MRT_ExpandAllButton.tsx +5 -7
- package/src/buttons/MRT_ExpandButton.tsx +6 -7
- package/src/buttons/MRT_GrabHandleButton.tsx +2 -3
- package/src/buttons/MRT_RowPinButton.tsx +74 -0
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +2 -3
- package/src/buttons/index.ts +2 -1
- package/src/column.utils.ts +11 -5
- package/src/footer/MRT_TableFooter.tsx +13 -7
- package/src/footer/MRT_TableFooterCell.tsx +7 -20
- package/src/footer/MRT_TableFooterRow.tsx +6 -7
- package/src/head/MRT_TableHead.tsx +11 -7
- package/src/head/MRT_TableHeadCell.tsx +9 -20
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +10 -18
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +6 -13
- package/src/head/MRT_TableHeadRow.tsx +6 -7
- package/src/hooks/useMRT_DisplayColumns.tsx +13 -0
- package/src/hooks/useMRT_TableInstance.ts +6 -0
- package/src/hooks/useMRT_TableOptions.ts +6 -2
- package/src/inputs/MRT_EditCellTextField.tsx +14 -22
- package/src/inputs/MRT_FilterCheckbox.tsx +11 -23
- package/src/inputs/MRT_FilterRangeSlider.tsx +6 -23
- package/src/inputs/MRT_FilterTextField.tsx +9 -25
- package/src/inputs/MRT_GlobalFilterTextField.tsx +4 -4
- package/src/inputs/MRT_SelectCheckbox.tsx +31 -17
- package/src/locales/en.ts +1 -1
- package/src/menus/MRT_RowActionMenu.tsx +11 -12
- package/src/modals/MRT_EditRowModal.tsx +5 -13
- package/src/table/MRT_Table.tsx +8 -13
- package/src/table/MRT_TableContainer.tsx +6 -12
- package/src/table/MRT_TablePaper.tsx +9 -13
- package/src/toolbar/MRT_BottomToolbar.tsx +14 -20
- package/src/toolbar/MRT_LinearProgressBar.tsx +5 -4
- package/src/toolbar/MRT_TablePagination.tsx +5 -7
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +8 -11
- package/src/toolbar/MRT_TopToolbar.tsx +8 -14
- package/src/types.ts +25 -8
- package/locales/tr.d.ts +0 -2
- package/locales/tr.esm.d.ts +0 -2
- package/locales/tr.esm.js +0 -93
- package/locales/tr.esm.js.map +0 -1
- package/locales/tr.js +0 -97
- package/locales/tr.js.map +0 -1
- package/locales/uk.d.ts +0 -2
- package/locales/uk.esm.d.ts +0 -2
- package/locales/uk.esm.js +0 -93
- package/locales/uk.esm.js.map +0 -1
- package/locales/uk.js +0 -97
- package/locales/uk.js.map +0 -1
- package/locales/vi.d.ts +0 -2
- package/locales/vi.esm.d.ts +0 -2
- package/locales/vi.esm.js +0 -93
- package/locales/vi.esm.js.map +0 -1
- package/locales/vi.js +0 -97
- package/locales/vi.js.map +0 -1
- package/locales/zh-Hans.d.ts +0 -2
- package/locales/zh-Hans.esm.d.ts +0 -2
- package/locales/zh-Hans.esm.js +0 -93
- package/locales/zh-Hans.esm.js.map +0 -1
- package/locales/zh-Hans.js +0 -97
- package/locales/zh-Hans.js.map +0 -1
- package/locales/zh-Hant.d.ts +0 -2
- package/locales/zh-Hant.esm.d.ts +0 -2
- package/locales/zh-Hant.esm.js +0 -93
- package/locales/zh-Hant.esm.js.map +0 -1
- package/locales/zh-Hant.js +0 -97
- package/locales/zh-Hant.js.map +0 -1
@@ -4,6 +4,7 @@ interface Props<TData extends Record<string, any>> {
|
|
4
4
|
columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
|
5
5
|
measureElement?: (element: HTMLTableRowElement) => void;
|
6
6
|
numRows: number;
|
7
|
+
pinnedRowIds?: string[];
|
7
8
|
row: MRT_Row<TData>;
|
8
9
|
rowIndex: number;
|
9
10
|
table: MRT_TableInstance<TData>;
|
@@ -12,6 +13,6 @@ interface Props<TData extends Record<string, any>> {
|
|
12
13
|
virtualPaddingRight?: number;
|
13
14
|
virtualRow?: VirtualItem;
|
14
15
|
}
|
15
|
-
export declare const MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
|
16
|
-
export declare const Memo_MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
|
16
|
+
export declare const MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, pinnedRowIds, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
|
17
|
+
export declare const Memo_MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, pinnedRowIds, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
|
17
18
|
export {};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { type MRT_Row, type MRT_TableInstance } from '../types';
|
2
|
+
interface Props<TData extends Record<string, any>> {
|
3
|
+
row: MRT_Row<TData>;
|
4
|
+
table: MRT_TableInstance<TData>;
|
5
|
+
}
|
6
|
+
export declare const MRT_TableBodyRowPinButton: <TData extends Record<string, any>>({ row, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element | null;
|
7
|
+
export {};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { type RowPinningPosition } from '@tanstack/react-table';
|
2
|
+
import { type MRT_Row, type MRT_TableInstance } from '../types';
|
3
|
+
interface Props<TData extends Record<string, any>> {
|
4
|
+
row: MRT_Row<TData>;
|
5
|
+
table: MRT_TableInstance<TData>;
|
6
|
+
pinningPosition: RowPinningPosition;
|
7
|
+
}
|
8
|
+
export declare const MRT_RowPinButton: <TData extends Record<string, any>>({ row, table, pinningPosition, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
|
9
|
+
export {};
|
@@ -3,10 +3,11 @@ export * from './MRT_CopyButton';
|
|
3
3
|
export * from './MRT_EditActionButtons';
|
4
4
|
export * from './MRT_ExpandAllButton';
|
5
5
|
export * from './MRT_ExpandButton';
|
6
|
-
export * from './MRT_ToggleFullScreenButton';
|
7
6
|
export * from './MRT_GrabHandleButton';
|
7
|
+
export * from './MRT_RowPinButton';
|
8
8
|
export * from './MRT_ShowHideColumnsButton';
|
9
9
|
export * from './MRT_ToggleDensePaddingButton';
|
10
10
|
export * from './MRT_ToggleFiltersButton';
|
11
|
+
export * from './MRT_ToggleFullScreenButton';
|
11
12
|
export * from './MRT_ToggleGlobalFilterButton';
|
12
13
|
export * from './MRT_ToggleRowActionMenuButton';
|
@@ -140,6 +140,7 @@ export declare const MRT_DefaultDisplayColumn: {
|
|
140
140
|
readonly enableResizing: false;
|
141
141
|
readonly enableSorting: false;
|
142
142
|
};
|
143
|
+
export declare const parseFromValuesOrFunc: <T, U>(fn: T | ((arg: U) => T) | undefined, arg: U) => T | undefined;
|
143
144
|
export declare const parseCSSVarId: (id: string) => string;
|
144
145
|
export declare const flexRender: (Comp: Renderable<any>, props: any) => ReactNode | JSX.Element;
|
145
146
|
export declare const createRow: <TData extends Record<string, any>>(table: MRT_TableInstance<TData>, originalRow?: TData | undefined) => MRT_Row<TData>;
|
@@ -49,7 +49,6 @@ export interface MRT_Localization {
|
|
49
49
|
clearSearch: string;
|
50
50
|
clearSort: string;
|
51
51
|
clickToCopy: string;
|
52
|
-
create?: string;
|
53
52
|
collapse: string;
|
54
53
|
collapseAll: string;
|
55
54
|
columnActions: string;
|
@@ -72,9 +71,10 @@ export interface MRT_Localization {
|
|
72
71
|
filterFuzzy: string;
|
73
72
|
filterGreaterThan: string;
|
74
73
|
filterGreaterThanOrEqualTo: string;
|
75
|
-
filterInNumberRange: string;
|
76
74
|
filterIncludesString: string;
|
77
75
|
filterIncludesStringSensitive: string;
|
76
|
+
filteringByColumn: string;
|
77
|
+
filterInNumberRange: string;
|
78
78
|
filterLessThan: string;
|
79
79
|
filterLessThanOrEqualTo: string;
|
80
80
|
filterMode: string;
|
@@ -82,7 +82,6 @@ export interface MRT_Localization {
|
|
82
82
|
filterNotEquals: string;
|
83
83
|
filterStartsWith: string;
|
84
84
|
filterWeakEquals: string;
|
85
|
-
filteringByColumn: string;
|
86
85
|
goToFirstPage: string;
|
87
86
|
goToLastPage: string;
|
88
87
|
goToNextPage: string;
|
@@ -99,6 +98,7 @@ export interface MRT_Localization {
|
|
99
98
|
noResultsFound: string;
|
100
99
|
of: string;
|
101
100
|
or: string;
|
101
|
+
pin?: string;
|
102
102
|
pinToLeft: string;
|
103
103
|
pinToRight: string;
|
104
104
|
resetColumnSize: string;
|
@@ -137,11 +137,13 @@ export interface MRT_RowModel<TData extends Record<string, any>> {
|
|
137
137
|
[key: string]: MRT_Row<TData>;
|
138
138
|
};
|
139
139
|
}
|
140
|
-
export type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getHeaderGroups' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
|
140
|
+
export type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getBottomRows' | 'getCenterLeafColumns' | 'getCenterRows' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getHeaderGroups' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'getTopRows' | 'options'> & {
|
141
141
|
getAllColumns: () => MRT_Column<TData>[];
|
142
142
|
getAllFlatColumns: () => MRT_Column<TData>[];
|
143
143
|
getAllLeafColumns: () => MRT_Column<TData>[];
|
144
|
+
getBottomRows: () => MRT_Row<TData>[];
|
144
145
|
getCenterLeafColumns: () => MRT_Column<TData>[];
|
146
|
+
getCenterRows: () => MRT_Row<TData>[];
|
145
147
|
getColumn: (columnId: string) => MRT_Column<TData>;
|
146
148
|
getExpandedRowModel: () => MRT_RowModel<TData>;
|
147
149
|
getFlatHeaders: () => MRT_Header<TData>[];
|
@@ -154,6 +156,7 @@ export type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TD
|
|
154
156
|
getRowModel: () => MRT_RowModel<TData>;
|
155
157
|
getSelectedRowModel: () => MRT_RowModel<TData>;
|
156
158
|
getState: () => MRT_TableState<TData>;
|
159
|
+
getTopRows: () => MRT_Row<TData>[];
|
157
160
|
options: MRT_DefinedTableOptions<TData>;
|
158
161
|
refs: {
|
159
162
|
bottomToolbarRef: MutableRefObject<HTMLDivElement>;
|
@@ -164,6 +167,8 @@ export type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TD
|
|
164
167
|
tableHeadCellRefs: MutableRefObject<Record<string, HTMLTableCellElement>>;
|
165
168
|
tablePaperRef: MutableRefObject<HTMLDivElement>;
|
166
169
|
topToolbarRef: MutableRefObject<HTMLDivElement>;
|
170
|
+
tableHeadRef: MutableRefObject<HTMLTableSectionElement>;
|
171
|
+
tableFooterRef: MutableRefObject<HTMLTableSectionElement>;
|
167
172
|
};
|
168
173
|
setCreatingRow: Dispatch<SetStateAction<MRT_Row<TData> | null | true>>;
|
169
174
|
setColumnFilterFns: Dispatch<SetStateAction<MRT_ColumnFilterFnsState>>;
|
@@ -369,7 +374,7 @@ export type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TD
|
|
369
374
|
muiFilterSliderProps?: SliderProps | ((props: {
|
370
375
|
table: MRT_TableInstance<TData>;
|
371
376
|
column: MRT_Column<TData>;
|
372
|
-
}) =>
|
377
|
+
}) => SliderProps);
|
373
378
|
muiTableHeadCellProps?: TableCellProps | ((props: {
|
374
379
|
table: MRT_TableInstance<TData>;
|
375
380
|
column: MRT_Column<TData>;
|
@@ -423,12 +428,12 @@ export type MRT_SortingFn<TData extends Record<string, any>> = SortingFn<TData>
|
|
423
428
|
export type MRT_FilterOption = LiteralUnion<string & keyof typeof MRT_FilterFns>;
|
424
429
|
export type MRT_FilterFn<TData extends Record<string, any>> = FilterFn<TData> | MRT_FilterOption;
|
425
430
|
export type MRT_InternalFilterOption = {
|
431
|
+
divider: boolean;
|
432
|
+
label: string;
|
426
433
|
option: string;
|
427
434
|
symbol: string;
|
428
|
-
label: string;
|
429
|
-
divider: boolean;
|
430
435
|
};
|
431
|
-
export type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select';
|
436
|
+
export type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select' | 'mrt-row-pin';
|
432
437
|
/**
|
433
438
|
* `columns` and `data` props are the only required props, but there are over 170 other optional props.
|
434
439
|
*
|
@@ -478,6 +483,7 @@ export type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<T
|
|
478
483
|
columnFilterDisplayMode?: 'subheader' | 'popover' | 'custom';
|
479
484
|
paginationDisplayMode?: 'default' | 'pages' | 'custom';
|
480
485
|
selectDisplayMode?: 'checkbox' | 'radio' | 'switch';
|
486
|
+
rowPinningDisplayMode?: 'sticky' | 'top' | 'bottom' | 'top-and-bottom' | 'select-sticky' | 'select-top' | 'select-bottom';
|
481
487
|
enableBottomToolbar?: boolean;
|
482
488
|
enableClickToCopy?: boolean;
|
483
489
|
enableColumnActions?: boolean;
|
@@ -630,7 +636,7 @@ export type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<T
|
|
630
636
|
muiFilterSliderProps?: SliderProps | ((props: {
|
631
637
|
table: MRT_TableInstance<TData>;
|
632
638
|
column: MRT_Column<TData>;
|
633
|
-
}) =>
|
639
|
+
}) => SliderProps);
|
634
640
|
muiCreateRowModalProps?: DialogProps | ((props: {
|
635
641
|
row: MRT_Row<TData>;
|
636
642
|
table: MRT_TableInstance<TData>;
|