material-react-table 0.41.0 → 1.0.0-beta.10

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.
Files changed (105) hide show
  1. package/README.md +22 -20
  2. package/dist/cjs/MaterialReactTable.d.ts +96 -19
  3. package/dist/cjs/_locales/en.d.ts +2 -0
  4. package/dist/cjs/_locales/es.d.ts +2 -0
  5. package/dist/cjs/body/MRT_EditRowModal.d.ts +0 -1
  6. package/dist/cjs/body/MRT_TableBody.d.ts +1 -2
  7. package/dist/cjs/body/MRT_TableBodyCellValue.d.ts +2 -2
  8. package/dist/cjs/buttons/MRT_ColumnPinningButtons.d.ts +0 -1
  9. package/dist/cjs/buttons/MRT_EditActionButtons.d.ts +0 -1
  10. package/dist/cjs/buttons/MRT_FullScreenToggleButton.d.ts +0 -1
  11. package/dist/cjs/buttons/MRT_ShowHideColumnsButton.d.ts +0 -1
  12. package/dist/cjs/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -1
  13. package/dist/cjs/buttons/MRT_ToggleFiltersButton.d.ts +0 -1
  14. package/dist/cjs/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -1
  15. package/dist/cjs/column.utils.d.ts +12 -1
  16. package/dist/cjs/index.d.ts +4 -3
  17. package/dist/cjs/index.js +244 -195
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/inputs/MRT_EditCellTextField.d.ts +0 -1
  20. package/dist/cjs/inputs/MRT_GlobalFilterTextField.d.ts +0 -1
  21. package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +3 -4
  22. package/dist/cjs/menus/MRT_ShowHideColumnsMenu.d.ts +0 -1
  23. package/dist/cjs/table/MRT_Table.d.ts +1 -2
  24. package/dist/cjs/table/MRT_TableRoot.d.ts +250 -3
  25. package/dist/cjs/toolbar/MRT_TablePagination.d.ts +3 -4
  26. package/dist/cjs/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
  27. package/dist/cjs/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
  28. package/dist/cjs/toolbar/MRT_TopToolbar.d.ts +1 -0
  29. package/dist/en.cjs +90 -0
  30. package/dist/en.cjs.d.ts +2 -0
  31. package/dist/en.cjs.map +1 -0
  32. package/dist/en.esm.d.ts +2 -0
  33. package/dist/en.esm.js +86 -0
  34. package/dist/en.esm.js.map +1 -0
  35. package/dist/esm/MaterialReactTable.d.ts +96 -19
  36. package/dist/esm/_locales/en.d.ts +2 -0
  37. package/dist/esm/_locales/es.d.ts +2 -0
  38. package/dist/esm/body/MRT_EditRowModal.d.ts +0 -1
  39. package/dist/esm/body/MRT_TableBody.d.ts +1 -2
  40. package/dist/esm/body/MRT_TableBodyCellValue.d.ts +2 -2
  41. package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +0 -1
  42. package/dist/esm/buttons/MRT_EditActionButtons.d.ts +0 -1
  43. package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +0 -1
  44. package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +0 -1
  45. package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -1
  46. package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +0 -1
  47. package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -1
  48. package/dist/esm/column.utils.d.ts +12 -1
  49. package/dist/esm/index.d.ts +4 -3
  50. package/dist/esm/inputs/MRT_EditCellTextField.d.ts +0 -1
  51. package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +0 -1
  52. package/dist/esm/material-react-table.esm.js +245 -198
  53. package/dist/esm/material-react-table.esm.js.map +1 -1
  54. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +3 -4
  55. package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +0 -1
  56. package/dist/esm/table/MRT_Table.d.ts +1 -2
  57. package/dist/esm/table/MRT_TableRoot.d.ts +250 -3
  58. package/dist/esm/toolbar/MRT_TablePagination.d.ts +3 -4
  59. package/dist/esm/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
  60. package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
  61. package/dist/esm/toolbar/MRT_TopToolbar.d.ts +1 -0
  62. package/dist/index.d.ts +47 -41
  63. package/package.json +7 -6
  64. package/src/MaterialReactTable.tsx +100 -23
  65. package/src/_locales/de.ts +0 -0
  66. package/src/{localization.ts → _locales/en.ts} +4 -82
  67. package/src/_locales/es.ts +86 -0
  68. package/src/_locales/fr.ts +0 -0
  69. package/src/_locales/hi.ts +0 -0
  70. package/src/_locales/id.ts +0 -0
  71. package/src/_locales/ja.ts +0 -0
  72. package/src/_locales/nl.ts +0 -0
  73. package/src/_locales/pt.ts +0 -0
  74. package/src/_locales/ru.ts +0 -0
  75. package/src/_locales/uk.ts +0 -0
  76. package/src/_locales/vi.ts +0 -0
  77. package/src/_locales/zh.ts +0 -0
  78. package/src/body/MRT_TableBody.tsx +54 -30
  79. package/src/body/MRT_TableBodyCell.tsx +11 -58
  80. package/src/body/MRT_TableBodyCellValue.tsx +7 -2
  81. package/src/body/MRT_TableBodyRowGrabHandle.tsx +5 -8
  82. package/src/buttons/MRT_GrabHandleButton.tsx +2 -2
  83. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +7 -2
  84. package/src/column.utils.ts +72 -0
  85. package/src/footer/MRT_TableFooter.tsx +3 -2
  86. package/src/footer/MRT_TableFooterCell.tsx +5 -15
  87. package/src/head/MRT_TableHead.tsx +10 -2
  88. package/src/head/MRT_TableHeadCell.tsx +9 -50
  89. package/src/head/MRT_TableHeadCellFilterLabel.tsx +7 -7
  90. package/src/head/MRT_TableHeadCellGrabHandle.tsx +5 -12
  91. package/src/index.tsx +6 -3
  92. package/src/inputs/MRT_FilterTextField.tsx +8 -7
  93. package/src/inputs/MRT_GlobalFilterTextField.tsx +7 -1
  94. package/src/menus/MRT_FilterOptionMenu.tsx +19 -2
  95. package/src/table/MRT_Table.tsx +3 -4
  96. package/src/table/MRT_TableContainer.tsx +2 -11
  97. package/src/table/MRT_TablePaper.tsx +34 -20
  98. package/src/table/MRT_TableRoot.tsx +34 -11
  99. package/src/toolbar/MRT_BottomToolbar.tsx +11 -2
  100. package/src/toolbar/MRT_TablePagination.tsx +7 -5
  101. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +7 -1
  102. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +14 -12
  103. package/src/toolbar/MRT_TopToolbar.tsx +13 -2
  104. package/dist/cjs/localization.d.ts +0 -82
  105. package/dist/esm/localization.d.ts +0 -82
@@ -1,13 +1,12 @@
1
- /// <reference types="react" />
2
- import type { MRT_Header, MRT_InternalFilterOption, MRT_TableInstance } from '..';
3
- import { MRT_Localization } from '../localization';
1
+ import type { MRT_Header, MRT_InternalFilterOption, MRT_Localization, MRT_TableInstance } from '..';
4
2
  export declare const mrtFilterOptions: (localization: MRT_Localization) => MRT_InternalFilterOption[];
5
3
  interface Props<TData extends Record<string, any> = {}> {
6
4
  anchorEl: HTMLElement | null;
7
5
  header?: MRT_Header<TData>;
8
6
  onSelect?: () => void;
9
7
  setAnchorEl: (anchorEl: HTMLElement | null) => void;
8
+ setFilterValue?: (filterValue: any) => void;
10
9
  table: MRT_TableInstance<TData>;
11
10
  }
12
- export declare const MRT_FilterOptionMenu: <TData extends Record<string, any> = {}>({ anchorEl, header, onSelect, setAnchorEl, table, }: Props<TData>) => JSX.Element;
11
+ export declare const MRT_FilterOptionMenu: <TData extends Record<string, any> = {}>({ anchorEl, header, onSelect, setAnchorEl, setFilterValue, table, }: Props<TData>) => JSX.Element;
13
12
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { MRT_TableInstance } from '..';
3
2
  interface Props<TData extends Record<string, any> = {}> {
4
3
  anchorEl: HTMLElement | null;
@@ -1,7 +1,6 @@
1
- import { FC, RefObject } from 'react';
1
+ import { FC } from 'react';
2
2
  import { MRT_TableInstance } from '..';
3
3
  interface Props {
4
- tableContainerRef: RefObject<HTMLDivElement>;
5
4
  table: MRT_TableInstance;
6
5
  }
7
6
  export declare const MRT_Table: FC<Props>;
@@ -1,3 +1,250 @@
1
- /// <reference types="react" />
2
- import type { MaterialReactTableProps } from '..';
3
- export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => JSX.Element;
1
+ import React from 'react';
2
+ import type { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_FilterOption, MRT_Row, MRT_TableInstance, MRT_TableState, MaterialReactTableProps, MRT_Localization } from '..';
3
+ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: Omit<Partial<import("@tanstack/table-core").TableOptions<TData>>, "state" | "data" | "onStateChange" | "initialState" | "columns" | "defaultColumn" | "enableRowSelection" | "expandRowsFn"> & {
4
+ columnFilterModeOptions?: (string | (string & Record<never, never>))[] | null | undefined;
5
+ columns: MRT_ColumnDef<TData>[];
6
+ data: TData[];
7
+ defaultColumn?: Partial<MRT_ColumnDef<TData>> | undefined;
8
+ defaultDisplayColumn?: Partial<MRT_ColumnDef<TData>> | undefined;
9
+ displayColumnDefOptions?: Partial<{
10
+ "mrt-row-drag": Partial<MRT_ColumnDef<{}>>;
11
+ "mrt-row-actions": Partial<MRT_ColumnDef<{}>>;
12
+ "mrt-row-expand": Partial<MRT_ColumnDef<{}>>;
13
+ "mrt-row-select": Partial<MRT_ColumnDef<{}>>;
14
+ "mrt-row-numbers": Partial<MRT_ColumnDef<{}>>;
15
+ }> | undefined;
16
+ editingMode?: "cell" | "row" | "table" | "modal" | undefined;
17
+ enableBottomToolbar?: boolean | undefined;
18
+ enableClickToCopy?: boolean | undefined;
19
+ enableColumnActions?: boolean | undefined;
20
+ enableColumnDragging?: boolean | undefined;
21
+ enableColumnFilterModes?: boolean | undefined;
22
+ enableColumnOrdering?: boolean | undefined;
23
+ enableDensityToggle?: boolean | undefined;
24
+ enableEditing?: boolean | undefined;
25
+ enableExpandAll?: boolean | undefined;
26
+ enableFullScreenToggle?: boolean | undefined;
27
+ enableGlobalFilterModes?: boolean | undefined;
28
+ enableGlobalFilterRankedResults?: boolean | undefined;
29
+ enablePagination?: boolean | undefined;
30
+ enableRowActions?: boolean | undefined;
31
+ enableRowDragging?: boolean | undefined;
32
+ enableRowNumbers?: boolean | undefined;
33
+ enableRowOrdering?: boolean | undefined;
34
+ enableRowSelection?: boolean | ((row: MRT_Row<TData>) => boolean) | undefined;
35
+ enableRowVirtualization?: boolean | undefined;
36
+ enableSelectAll?: boolean | undefined;
37
+ enableStickyFooter?: boolean | undefined;
38
+ enableStickyHeader?: boolean | undefined;
39
+ enableTableFooter?: boolean | undefined;
40
+ enableTableHead?: boolean | undefined;
41
+ enableToolbarInternalActions?: boolean | undefined;
42
+ enableTopToolbar?: boolean | undefined;
43
+ globalFilterModeOptions?: (string | (string & Record<never, never>))[] | null | undefined;
44
+ expandRowsFn?: ((dataRow: TData) => TData[]) | undefined;
45
+ icons?: Partial<import("..").MRT_Icons> | undefined;
46
+ initialState?: Partial<MRT_TableState<TData>> | undefined;
47
+ localization?: Partial<MRT_Localization> | undefined;
48
+ muiBottomToolbarProps?: import("@mui/material").ToolbarProps<"div", {}> | (({ table }: {
49
+ table: MRT_TableInstance<TData>;
50
+ }) => import("@mui/material").ToolbarProps<"div", {}>) | undefined;
51
+ muiExpandAllButtonProps?: import("@mui/material").IconButtonProps<"button", {}> | (({ table }: {
52
+ table: MRT_TableInstance<TData>;
53
+ }) => import("@mui/material").IconButtonProps<"button", {}>) | undefined;
54
+ muiExpandButtonProps?: import("@mui/material").IconButtonProps<"button", {}> | (({ row, table, }: {
55
+ table: MRT_TableInstance<TData>;
56
+ row: MRT_Row<TData>;
57
+ }) => import("@mui/material").IconButtonProps<"button", {}>) | undefined;
58
+ muiLinearProgressProps?: import("@mui/material").LinearProgressProps | (({ isTopToolbar, table, }: {
59
+ isTopToolbar: boolean;
60
+ table: MRT_TableInstance<TData>;
61
+ }) => import("@mui/material").LinearProgressProps) | undefined;
62
+ muiSearchTextFieldProps?: import("@mui/material").TextFieldProps | (({ table }: {
63
+ table: MRT_TableInstance<TData>;
64
+ }) => import("@mui/material").TextFieldProps) | undefined;
65
+ muiSelectAllCheckboxProps?: import("@mui/material").CheckboxProps | (({ table }: {
66
+ table: MRT_TableInstance<TData>;
67
+ }) => import("@mui/material").CheckboxProps) | undefined;
68
+ muiSelectCheckboxProps?: import("@mui/material").CheckboxProps | (({ table, row, }: {
69
+ table: MRT_TableInstance<TData>;
70
+ row: MRT_Row<TData>;
71
+ }) => import("@mui/material").CheckboxProps) | undefined;
72
+ muiTableBodyCellCopyButtonProps?: import("@mui/material").ButtonProps<"button", {}> | (({ cell, column, row, table, }: {
73
+ cell: MRT_Cell<TData>;
74
+ column: MRT_Column<TData>;
75
+ row: MRT_Row<TData>;
76
+ table: MRT_TableInstance<TData>;
77
+ }) => import("@mui/material").ButtonProps<"button", {}>) | undefined;
78
+ muiTableBodyCellEditTextFieldProps?: import("@mui/material").TextFieldProps | (({ cell, column, row, table, }: {
79
+ cell: MRT_Cell<TData>;
80
+ column: MRT_Column<TData>;
81
+ row: MRT_Row<TData>;
82
+ table: MRT_TableInstance<TData>;
83
+ }) => import("@mui/material").TextFieldProps) | undefined;
84
+ muiTableBodyCellProps?: import("@mui/material").TableCellProps | (({ cell, column, row, table, }: {
85
+ cell: MRT_Cell<TData>;
86
+ column: MRT_Column<TData>;
87
+ row: MRT_Row<TData>;
88
+ table: MRT_TableInstance<TData>;
89
+ }) => import("@mui/material").TableCellProps) | undefined;
90
+ muiTableBodyCellSkeletonProps?: import("@mui/material").SkeletonProps<"span", {}> | (({ cell, column, row, table, }: {
91
+ cell: MRT_Cell<TData>;
92
+ column: MRT_Column<TData>;
93
+ row: MRT_Row<TData>;
94
+ table: MRT_TableInstance<TData>;
95
+ }) => import("@mui/material").SkeletonProps<"span", {}>) | undefined;
96
+ muiTableBodyProps?: import("@mui/material").TableBodyProps<"tbody", {}> | (({ table }: {
97
+ table: MRT_TableInstance<TData>;
98
+ }) => import("@mui/material").TableBodyProps<"tbody", {}>) | undefined;
99
+ muiTableBodyRowDragHandleProps?: import("@mui/material").IconButtonProps<"button", {}> | (({ table, row, }: {
100
+ table: MRT_TableInstance<TData>;
101
+ row: MRT_Row<TData>;
102
+ }) => import("@mui/material").IconButtonProps<"button", {}>) | undefined;
103
+ muiTableBodyRowProps?: import("@mui/material").TableRowProps<"tr", {}> | (({ table, row, }: {
104
+ table: MRT_TableInstance<TData>;
105
+ row: MRT_Row<TData>;
106
+ }) => import("@mui/material").TableRowProps<"tr", {}>) | undefined;
107
+ muiTableContainerProps?: import("@mui/material").TableContainerProps<"div", {}> | (({ table, }: {
108
+ table: MRT_TableInstance<TData>;
109
+ }) => import("@mui/material").TableContainerProps<"div", {}>) | undefined;
110
+ muiTableDetailPanelProps?: import("@mui/material").TableCellProps | (({ table, row, }: {
111
+ table: MRT_TableInstance<TData>;
112
+ row: MRT_Row<TData>;
113
+ }) => import("@mui/material").TableCellProps) | undefined;
114
+ muiTableFooterCellProps?: import("@mui/material").TableCellProps | (({ table, column, }: {
115
+ table: MRT_TableInstance<TData>;
116
+ column: MRT_Column<TData>;
117
+ }) => import("@mui/material").TableCellProps) | undefined;
118
+ muiTableFooterProps?: import("@mui/material").TableFooterProps<"tfoot", {}> | (({ table }: {
119
+ table: MRT_TableInstance<TData>;
120
+ }) => import("@mui/material").TableFooterProps<"tfoot", {}>) | undefined;
121
+ muiTableFooterRowProps?: import("@mui/material").TableRowProps<"tr", {}> | (({ table, footerGroup, }: {
122
+ table: MRT_TableInstance<TData>;
123
+ footerGroup: import("..").MRT_HeaderGroup<TData>;
124
+ }) => import("@mui/material").TableRowProps<"tr", {}>) | undefined;
125
+ muiTableHeadCellColumnActionsButtonProps?: import("@mui/material").IconButtonProps<"button", {}> | (({ table, column, }: {
126
+ table: MRT_TableInstance<TData>;
127
+ column: MRT_Column<TData>;
128
+ }) => import("@mui/material").IconButtonProps<"button", {}>) | undefined;
129
+ muiTableHeadCellDragHandleProps?: import("@mui/material").IconButtonProps<"button", {}> | (({ table, column, }: {
130
+ table: MRT_TableInstance<TData>;
131
+ column: MRT_Column<TData>;
132
+ }) => import("@mui/material").IconButtonProps<"button", {}>) | undefined;
133
+ muiTableHeadCellFilterTextFieldProps?: import("@mui/material").TextFieldProps | (({ table, column, rangeFilterIndex, }: {
134
+ table: MRT_TableInstance<TData>;
135
+ column: MRT_Column<TData>;
136
+ rangeFilterIndex?: number | undefined;
137
+ }) => import("@mui/material").TextFieldProps) | undefined;
138
+ muiTableHeadCellProps?: import("@mui/material").TableCellProps | (({ table, column, }: {
139
+ table: MRT_TableInstance<TData>;
140
+ column: MRT_Column<TData>;
141
+ }) => import("@mui/material").TableCellProps) | undefined;
142
+ muiTableHeadProps?: import("@mui/material").TableHeadProps<"thead", {}> | (({ table }: {
143
+ table: MRT_TableInstance<TData>;
144
+ }) => import("@mui/material").TableHeadProps<"thead", {}>) | undefined;
145
+ muiTableHeadRowProps?: import("@mui/material").TableRowProps<"tr", {}> | (({ table, headerGroup, }: {
146
+ table: MRT_TableInstance<TData>;
147
+ headerGroup: import("..").MRT_HeaderGroup<TData>;
148
+ }) => import("@mui/material").TableRowProps<"tr", {}>) | undefined;
149
+ muiTablePaginationProps?: Partial<import("@mui/material").TablePaginationProps<React.JSXElementConstructor<import("@mui/material").TablePaginationBaseProps>, {}>> | (({ table, }: {
150
+ table: MRT_TableInstance<TData>;
151
+ }) => Partial<import("@mui/material").TablePaginationProps<React.JSXElementConstructor<import("@mui/material").TablePaginationBaseProps>, {}>>) | undefined;
152
+ muiTablePaperProps?: import("@mui/material").PaperProps<"div", {}> | (({ table }: {
153
+ table: MRT_TableInstance<TData>;
154
+ }) => import("@mui/material").PaperProps<"div", {}>) | undefined;
155
+ muiTableProps?: import("@mui/material").TableProps<"table", {}> | (({ table }: {
156
+ table: MRT_TableInstance<TData>;
157
+ }) => import("@mui/material").TableProps<"table", {}>) | undefined;
158
+ muiToolbarAlertBannerChipProps?: import("@mui/material").ChipProps<"div", {}> | (({ table }: {
159
+ table: MRT_TableInstance<TData>;
160
+ }) => import("@mui/material").ChipProps<"div", {}>) | undefined;
161
+ muiToolbarAlertBannerProps?: import("@mui/material").AlertProps | (({ table }: {
162
+ table: MRT_TableInstance<TData>;
163
+ }) => import("@mui/material").AlertProps) | undefined;
164
+ muiTopToolbarProps?: import("@mui/material").ToolbarProps<"div", {}> | (({ table }: {
165
+ table: MRT_TableInstance<TData>;
166
+ }) => import("@mui/material").ToolbarProps<"div", {}>) | undefined;
167
+ onDensityChange?: import("@tanstack/table-core").OnChangeFn<boolean> | undefined;
168
+ onDraggingColumnChange?: import("@tanstack/table-core").OnChangeFn<MRT_Column<TData> | null> | undefined;
169
+ onDraggingRowChange?: import("@tanstack/table-core").OnChangeFn<MRT_Row<TData> | null> | undefined;
170
+ onEditingCellChange?: import("@tanstack/table-core").OnChangeFn<MRT_Cell<TData> | null> | undefined;
171
+ onEditingRowSave?: (({ exitEditingMode, row, table, values, }: {
172
+ exitEditingMode: () => void;
173
+ row: MRT_Row<TData>;
174
+ table: MRT_TableInstance<TData>;
175
+ values: Record<(string & Record<never, never>) | (string & import("@tanstack/table-core").DeepKeys<TData>), any>;
176
+ }) => void | Promise<void>) | undefined;
177
+ onEditingRowChange?: import("@tanstack/table-core").OnChangeFn<MRT_Row<TData> | null> | undefined;
178
+ onFilterFnsChange?: import("@tanstack/table-core").OnChangeFn<{
179
+ [key: string]: MRT_FilterOption;
180
+ }> | undefined;
181
+ onGlobalFilterFnChange?: import("@tanstack/table-core").OnChangeFn<MRT_FilterOption> | undefined;
182
+ onHoveredColumnChange?: import("@tanstack/table-core").OnChangeFn<MRT_Column<TData> | null> | undefined;
183
+ onHoveredRowChange?: import("@tanstack/table-core").OnChangeFn<MRT_Row<TData> | null> | undefined;
184
+ onIsFullScreenChange?: import("@tanstack/table-core").OnChangeFn<boolean> | undefined;
185
+ onShowAlertBannerChange?: import("@tanstack/table-core").OnChangeFn<boolean> | undefined;
186
+ onShowFiltersChange?: import("@tanstack/table-core").OnChangeFn<boolean> | undefined;
187
+ onShowGlobalFilterChange?: import("@tanstack/table-core").OnChangeFn<boolean> | undefined;
188
+ positionActionsColumn?: "first" | "last" | undefined;
189
+ positionExpandColumn?: "first" | "last" | undefined;
190
+ positionGlobalFilter?: "left" | "right" | undefined;
191
+ positionPagination?: "bottom" | "top" | "both" | undefined;
192
+ positionToolbarAlertBanner?: "bottom" | "top" | "none" | undefined;
193
+ positionToolbarDropZone?: "bottom" | "top" | "none" | "both" | undefined;
194
+ renderBottomToolbar?: React.ReactNode | (({ table }: {
195
+ table: MRT_TableInstance<TData>;
196
+ }) => React.ReactNode);
197
+ renderBottomToolbarCustomActions?: (({ table, }: {
198
+ table: MRT_TableInstance<TData>;
199
+ }) => React.ReactNode) | undefined;
200
+ renderColumnActionsMenuItems?: (({ column, closeMenu, table, }: {
201
+ column: MRT_Column<TData>;
202
+ closeMenu: () => void;
203
+ table: MRT_TableInstance<TData>;
204
+ }) => React.ReactNode[]) | undefined;
205
+ renderColumnFilterModeMenuItems?: (({ column, internalFilterOptions, onSelectFilterMode, table, }: {
206
+ column: MRT_Column<TData>;
207
+ internalFilterOptions: import("..").MRT_InternalFilterOption[];
208
+ onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
209
+ table: MRT_TableInstance<TData>;
210
+ }) => React.ReactNode[]) | undefined;
211
+ renderDetailPanel?: (({ row, table, }: {
212
+ row: MRT_Row<TData>;
213
+ table: MRT_TableInstance<TData>;
214
+ }) => React.ReactNode) | undefined;
215
+ renderGlobalFilterModeMenuItems?: (({ internalFilterOptions, onSelectFilterMode, table, }: {
216
+ internalFilterOptions: import("..").MRT_InternalFilterOption[];
217
+ onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
218
+ table: MRT_TableInstance<TData>;
219
+ }) => React.ReactNode[]) | undefined;
220
+ renderRowActionMenuItems?: (({ closeMenu, row, table, }: {
221
+ closeMenu: () => void;
222
+ row: MRT_Row<TData>;
223
+ table: MRT_TableInstance<TData>;
224
+ }) => React.ReactNode[]) | undefined;
225
+ renderRowActions?: (({ cell, row, table, }: {
226
+ cell: MRT_Cell<TData>;
227
+ row: MRT_Row<TData>;
228
+ table: MRT_TableInstance<TData>;
229
+ }) => React.ReactNode) | undefined;
230
+ renderToolbarInternalActions?: (({ table, }: {
231
+ table: MRT_TableInstance<TData>;
232
+ }) => React.ReactNode) | undefined;
233
+ renderTopToolbar?: React.ReactNode | (({ table }: {
234
+ table: MRT_TableInstance<TData>;
235
+ }) => React.ReactNode);
236
+ renderTopToolbarCustomActions?: (({ table, }: {
237
+ table: MRT_TableInstance<TData>;
238
+ }) => React.ReactNode) | undefined;
239
+ rowCount?: number | undefined;
240
+ rowNumberMode?: "original" | "static" | undefined;
241
+ selectAllMode?: "all" | "page" | undefined;
242
+ state?: Partial<MRT_TableState<TData>> | undefined;
243
+ tableInstanceRef?: React.MutableRefObject<MRT_TableInstance<TData> | null> | undefined;
244
+ virtualizerProps?: Partial<import("react-virtual").Options<HTMLDivElement>> | (({ table, }: {
245
+ table: MRT_TableInstance<TData>;
246
+ }) => Partial<import("react-virtual").Options<HTMLDivElement>>) | undefined;
247
+ virtualizerInstanceRef?: React.MutableRefObject<import("..").Virtualizer | null> | undefined;
248
+ } & {
249
+ localization: MRT_Localization;
250
+ }) => JSX.Element;
@@ -1,8 +1,7 @@
1
- import { FC } from 'react';
2
1
  import { MRT_TableInstance } from '..';
3
- interface Props {
4
- table: MRT_TableInstance;
2
+ interface Props<TData extends Record<string, any> = {}> {
3
+ table: MRT_TableInstance<TData>;
5
4
  position: 'top' | 'bottom';
6
5
  }
7
- export declare const MRT_TablePagination: FC<Props>;
6
+ export declare const MRT_TablePagination: <TData extends Record<string, any> = {}>({ table, position, }: Props<TData>) => JSX.Element;
8
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { MRT_TableInstance } from '..';
3
3
  interface Props {
4
- stackAlertBanner?: boolean;
4
+ stackAlertBanner: boolean;
5
5
  table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ToolbarAlertBanner: FC<Props>;
@@ -1,7 +1,6 @@
1
- import { FC } from 'react';
2
1
  import type { MRT_TableInstance } from '..';
3
- interface Props {
4
- table: MRT_TableInstance;
2
+ interface Props<TData extends Record<string, any> = {}> {
3
+ table: MRT_TableInstance<TData>;
5
4
  }
6
- export declare const MRT_ToolbarInternalButtons: FC<Props>;
5
+ export declare const MRT_ToolbarInternalButtons: <TData extends Record<string, any> = {}>({ table, }: Props<TData>) => JSX.Element;
7
6
  export {};
@@ -8,6 +8,7 @@ export declare const commonToolbarStyles: ({ theme }: {
8
8
  backgroundColor: string;
9
9
  backgroundImage: string;
10
10
  display: string;
11
+ flexWrap: string;
11
12
  minHeight: string;
12
13
  overflow: string;
13
14
  p: string;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- import { MutableRefObject, Dispatch, SetStateAction, ReactNode, DragEvent } from 'react';
1
+ import { MutableRefObject, Dispatch, SetStateAction, ReactNode } from 'react';
3
2
  import { ButtonProps, TextFieldProps, TableCellProps, IconButtonProps, ToolbarProps, LinearProgressProps, CheckboxProps, SkeletonProps, TableBodyProps, TableRowProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, PaperProps, TableProps, ChipProps, AlertProps } from '@mui/material';
4
3
  import { Row, Table, TableState, ColumnDef, DeepKeys, Column, Header, HeaderGroup, Cell, SortingFn, FilterFn, TableOptions, OnChangeFn } from '@tanstack/react-table';
5
4
  import { Options, VirtualItem } from 'react-virtual';
@@ -106,6 +105,17 @@ declare const MRT_FilterFns: {
106
105
  inNumberRange: _tanstack_table_core.FilterFn<any>;
107
106
  };
108
107
 
108
+ declare const MRT_SortingFns: {
109
+ fuzzy: <TData extends Record<string, any> = {}>(rowA: Row<TData>, rowB: Row<TData>, columnId: string) => number;
110
+ alphanumeric: _tanstack_table_core.SortingFn<any>;
111
+ alphanumericCaseSensitive: _tanstack_table_core.SortingFn<any>;
112
+ text: _tanstack_table_core.SortingFn<any>;
113
+ textCaseSensitive: _tanstack_table_core.SortingFn<any>;
114
+ datetime: _tanstack_table_core.SortingFn<any>;
115
+ basic: _tanstack_table_core.SortingFn<any>;
116
+ };
117
+
118
+ declare type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
109
119
  interface MRT_Localization {
110
120
  actions: string;
111
121
  and: string;
@@ -155,6 +165,8 @@ interface MRT_Localization {
155
165
  max: string;
156
166
  min: string;
157
167
  move: string;
168
+ noRecordsToDisplay: string;
169
+ noResultsFound: string;
158
170
  or: string;
159
171
  pinToLeft: string;
160
172
  pinToRight: string;
@@ -187,18 +199,6 @@ interface MRT_Localization {
187
199
  unpinAll: string;
188
200
  unsorted: string;
189
201
  }
190
-
191
- declare const MRT_SortingFns: {
192
- fuzzy: <TData extends Record<string, any> = {}>(rowA: Row<TData>, rowB: Row<TData>, columnId: string) => number;
193
- alphanumeric: _tanstack_table_core.SortingFn<any>;
194
- alphanumericCaseSensitive: _tanstack_table_core.SortingFn<any>;
195
- text: _tanstack_table_core.SortingFn<any>;
196
- textCaseSensitive: _tanstack_table_core.SortingFn<any>;
197
- datetime: _tanstack_table_core.SortingFn<any>;
198
- basic: _tanstack_table_core.SortingFn<any>;
199
- };
200
-
201
- declare type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
202
202
  interface MRT_RowModel<TData extends Record<string, any> = {}> {
203
203
  flatRows: MRT_Row<TData>[];
204
204
  rows: MRT_Row<TData>[];
@@ -232,6 +232,7 @@ declare type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<Ta
232
232
  filterInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
233
233
  searchInputRef: MutableRefObject<HTMLInputElement>;
234
234
  tableContainerRef: MutableRefObject<HTMLDivElement>;
235
+ tablePaperRef: MutableRefObject<HTMLDivElement>;
235
236
  topToolbarRef: MutableRefObject<HTMLDivElement>;
236
237
  };
237
238
  setColumnFilterFns: Dispatch<SetStateAction<{
@@ -518,7 +519,7 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
518
519
  muiExpandAllButtonProps?: IconButtonProps | (({ table }: {
519
520
  table: MRT_TableInstance<TData>;
520
521
  }) => IconButtonProps);
521
- muiExpandButtonProps?: IconButtonProps | (({ table, }: {
522
+ muiExpandButtonProps?: IconButtonProps | (({ row, table, }: {
522
523
  table: MRT_TableInstance<TData>;
523
524
  row: MRT_Row<TData>;
524
525
  }) => IconButtonProps);
@@ -554,9 +555,11 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
554
555
  row: MRT_Row<TData>;
555
556
  table: MRT_TableInstance<TData>;
556
557
  }) => TableCellProps);
557
- muiTableBodyCellSkeletonProps?: SkeletonProps | (({ table, cell, }: {
558
- table: MRT_TableInstance<TData>;
558
+ muiTableBodyCellSkeletonProps?: SkeletonProps | (({ cell, column, row, table, }: {
559
559
  cell: MRT_Cell<TData>;
560
+ column: MRT_Column<TData>;
561
+ row: MRT_Row<TData>;
562
+ table: MRT_TableInstance<TData>;
560
563
  }) => SkeletonProps);
561
564
  muiTableBodyProps?: TableBodyProps | (({ table }: {
562
565
  table: MRT_TableInstance<TData>;
@@ -629,13 +632,6 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
629
632
  muiTopToolbarProps?: ToolbarProps | (({ table }: {
630
633
  table: MRT_TableInstance<TData>;
631
634
  }) => ToolbarProps);
632
- onColumnDrop?: ({ event, draggedColumn, targetColumn, }: {
633
- event: DragEvent<HTMLButtonElement>;
634
- draggedColumn: MRT_Column<TData>;
635
- targetColumn: MRT_Column<TData> | {
636
- id: string;
637
- } | null;
638
- }) => void;
639
635
  onDensityChange?: OnChangeFn<boolean>;
640
636
  onDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
641
637
  onDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
@@ -654,13 +650,6 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
654
650
  onHoveredColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
655
651
  onHoveredRowChange?: OnChangeFn<MRT_Row<TData> | null>;
656
652
  onIsFullScreenChange?: OnChangeFn<boolean>;
657
- onRowDrop?: ({ event, draggedRow, targetRow, }: {
658
- event: DragEvent<HTMLButtonElement>;
659
- draggedRow: MRT_Row<TData>;
660
- targetRow: MRT_Row<TData> | {
661
- id: string;
662
- } | null;
663
- }) => void;
664
653
  onShowAlertBannerChange?: OnChangeFn<boolean>;
665
654
  onShowFiltersChange?: OnChangeFn<boolean>;
666
655
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
@@ -670,6 +659,9 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
670
659
  positionPagination?: 'bottom' | 'top' | 'both';
671
660
  positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
672
661
  positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
662
+ renderBottomToolbar?: ReactNode | (({ table }: {
663
+ table: MRT_TableInstance<TData>;
664
+ }) => ReactNode);
673
665
  renderBottomToolbarCustomActions?: ({ table, }: {
674
666
  table: MRT_TableInstance<TData>;
675
667
  }) => ReactNode;
@@ -706,6 +698,9 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
706
698
  renderToolbarInternalActions?: ({ table, }: {
707
699
  table: MRT_TableInstance<TData>;
708
700
  }) => ReactNode;
701
+ renderTopToolbar?: ReactNode | (({ table }: {
702
+ table: MRT_TableInstance<TData>;
703
+ }) => ReactNode);
709
704
  renderTopToolbarCustomActions?: ({ table, }: {
710
705
  table: MRT_TableInstance<TData>;
711
706
  }) => ReactNode;
@@ -728,41 +723,52 @@ declare type Virtualizer = {
728
723
  };
729
724
  declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
730
725
 
731
- interface Props$6<TData extends Record<string, any> = {}> {
726
+ interface Props$8<TData extends Record<string, any> = {}> {
732
727
  cell: MRT_Cell<TData>;
733
728
  children: ReactNode;
734
729
  table: MRT_TableInstance<TData>;
735
730
  }
736
- declare const MRT_CopyButton: <TData extends Record<string, any> = {}>({ cell, children, table, }: Props$6<TData>) => JSX.Element;
731
+ declare const MRT_CopyButton: <TData extends Record<string, any> = {}>({ cell, children, table, }: Props$8<TData>) => JSX.Element;
732
+
733
+ interface Props$7<TData extends Record<string, any> = {}> extends IconButtonProps {
734
+ table: MRT_TableInstance<TData>;
735
+ }
736
+ declare const MRT_FullScreenToggleButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$7<TData>) => JSX.Element;
737
+
738
+ interface Props$6<TData extends Record<string, any> = {}> {
739
+ table: MRT_TableInstance<TData>;
740
+ }
741
+ declare const MRT_GlobalFilterTextField: <TData extends Record<string, any> = {}>({ table, }: Props$6<TData>) => JSX.Element;
737
742
 
738
743
  interface Props$5<TData extends Record<string, any> = {}> extends IconButtonProps {
739
744
  table: MRT_TableInstance<TData>;
740
745
  }
741
- declare const MRT_FullScreenToggleButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$5<TData>) => JSX.Element;
746
+ declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$5<TData>) => JSX.Element;
742
747
 
743
748
  interface Props$4<TData extends Record<string, any> = {}> {
744
749
  table: MRT_TableInstance<TData>;
750
+ position: 'top' | 'bottom';
745
751
  }
746
- declare const MRT_GlobalFilterTextField: <TData extends Record<string, any> = {}>({ table, }: Props$4<TData>) => JSX.Element;
752
+ declare const MRT_TablePagination: <TData extends Record<string, any> = {}>({ table, position, }: Props$4<TData>) => JSX.Element;
747
753
 
748
754
  interface Props$3<TData extends Record<string, any> = {}> extends IconButtonProps {
749
755
  table: MRT_TableInstance<TData>;
750
756
  }
751
- declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$3<TData>) => JSX.Element;
757
+ declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$3<TData>) => JSX.Element;
752
758
 
753
759
  interface Props$2<TData extends Record<string, any> = {}> extends IconButtonProps {
754
760
  table: MRT_TableInstance<TData>;
755
761
  }
756
- declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$2<TData>) => JSX.Element;
762
+ declare const MRT_ToggleFiltersButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$2<TData>) => JSX.Element;
757
763
 
758
764
  interface Props$1<TData extends Record<string, any> = {}> extends IconButtonProps {
759
765
  table: MRT_TableInstance<TData>;
760
766
  }
761
- declare const MRT_ToggleFiltersButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$1<TData>) => JSX.Element;
767
+ declare const MRT_ToggleGlobalFilterButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$1<TData>) => JSX.Element;
762
768
 
763
- interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
769
+ interface Props<TData extends Record<string, any> = {}> {
764
770
  table: MRT_TableInstance<TData>;
765
771
  }
766
- declare const MRT_ToggleGlobalFilterButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props<TData>) => JSX.Element;
772
+ declare const MRT_ToolbarInternalButtons: <TData extends Record<string, any> = {}>({ table, }: Props<TData>) => JSX.Element;
767
773
 
768
- export { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_CopyButton, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterFn, MRT_FilterOption, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_Header, MRT_HeaderGroup, MRT_Icons, MRT_InternalFilterOption, MRT_Localization, MRT_Row, MRT_RowModel, MRT_ShowHideColumnsButton, MRT_SortingFn, MRT_SortingOption, MRT_TableInstance, MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MaterialReactTableProps, Virtualizer, _default as default };
774
+ export { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_CopyButton, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterFn, MRT_FilterOption, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_Header, MRT_HeaderGroup, MRT_Icons, MRT_InternalFilterOption, MRT_Localization, MRT_Row, MRT_RowModel, MRT_ShowHideColumnsButton, MRT_SortingFn, MRT_SortingOption, MRT_TableInstance, MRT_TablePagination, MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarInternalButtons, MaterialReactTableProps, Virtualizer, _default as default };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.41.0",
2
+ "version": "1.0.0-beta.10",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -51,8 +51,8 @@
51
51
  "devDependencies": {
52
52
  "@babel/core": "^7.18.13",
53
53
  "@babel/preset-react": "^7.18.6",
54
- "@emotion/react": "^11.10.0",
55
- "@emotion/styled": "^11.10.0",
54
+ "@emotion/react": "^11.10.4",
55
+ "@emotion/styled": "^11.10.4",
56
56
  "@faker-js/faker": "^7.5.0",
57
57
  "@mui/icons-material": "^5.10.3",
58
58
  "@mui/material": "^5.10.3",
@@ -68,7 +68,7 @@
68
68
  "@storybook/addon-storysource": "^6.5.10",
69
69
  "@storybook/addons": "^6.5.10",
70
70
  "@storybook/react": "^6.5.10",
71
- "@types/react": "^18.0.17",
71
+ "@types/react": "^18.0.18",
72
72
  "@types/react-dom": "^18.0.6",
73
73
  "babel-loader": "^8.2.5",
74
74
  "eslint": "^8.23.0",
@@ -78,7 +78,8 @@
78
78
  "react": "^18.2.0",
79
79
  "react-dom": "^18.2.0",
80
80
  "react-is": "^18.2.0",
81
- "rollup": "^2.78.1",
81
+ "rollup": "^2.79.0",
82
+ "rollup-plugin-copy": "^3.4.0",
82
83
  "rollup-plugin-dts": "^4.2.2",
83
84
  "rollup-plugin-peer-deps-external": "^2.2.4",
84
85
  "size-limit": "^8.0.1",
@@ -95,7 +96,7 @@
95
96
  },
96
97
  "dependencies": {
97
98
  "@tanstack/match-sorter-utils": "8.1.1",
98
- "@tanstack/react-table": "8.5.11",
99
+ "@tanstack/react-table": "8.5.13",
99
100
  "react-virtual": "^2.10.4"
100
101
  }
101
102
  }