material-react-table 0.6.10 → 0.7.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.
Files changed (103) hide show
  1. package/dist/MaterialReactTable.d.ts +142 -82
  2. package/dist/body/MRT_TableBody.d.ts +3 -0
  3. package/dist/body/MRT_TableBodyCell.d.ts +2 -11
  4. package/dist/body/MRT_TableBodyRow.d.ts +3 -1
  5. package/dist/body/MRT_TableDetailPanel.d.ts +2 -1
  6. package/dist/buttons/MRT_CopyButton.d.ts +4 -2
  7. package/dist/buttons/MRT_EditActionButtons.d.ts +2 -1
  8. package/dist/buttons/MRT_ExpandAllButton.d.ts +2 -0
  9. package/dist/buttons/MRT_ExpandButton.d.ts +2 -1
  10. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +2 -0
  11. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -0
  12. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +3 -2
  13. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -0
  14. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +2 -0
  15. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -1
  16. package/dist/buttons/MRT_ToggleSearchButton.d.ts +2 -0
  17. package/dist/footer/MRT_TableFooter.d.ts +3 -0
  18. package/dist/footer/MRT_TableFooterCell.d.ts +3 -2
  19. package/dist/footer/MRT_TableFooterRow.d.ts +2 -1
  20. package/dist/head/MRT_TableHead.d.ts +3 -0
  21. package/dist/head/MRT_TableHeadCell.d.ts +4 -18
  22. package/dist/head/MRT_TableHeadRow.d.ts +2 -1
  23. package/dist/icons.d.ts +1 -1
  24. package/dist/inputs/MRT_EditCellTextField.d.ts +2 -1
  25. package/dist/inputs/MRT_FilterTextField.d.ts +3 -2
  26. package/dist/inputs/MRT_SearchTextField.d.ts +2 -0
  27. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  28. package/dist/localization.d.ts +7 -2
  29. package/dist/material-react-table.cjs.development.js +2142 -1729
  30. package/dist/material-react-table.cjs.development.js.map +1 -1
  31. package/dist/material-react-table.cjs.production.min.js +1 -1
  32. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  33. package/dist/material-react-table.esm.js +2143 -1730
  34. package/dist/material-react-table.esm.js.map +1 -1
  35. package/dist/menus/MRT_ColumnActionMenu.d.ts +3 -2
  36. package/dist/menus/MRT_FilterTypeMenu.d.ts +4 -3
  37. package/dist/menus/MRT_RowActionMenu.d.ts +3 -2
  38. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -0
  39. package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -1
  40. package/dist/table/MRT_Table.d.ts +3 -0
  41. package/dist/table/MRT_TableContainer.d.ts +2 -0
  42. package/dist/table/MRT_TablePaper.d.ts +7 -0
  43. package/dist/table/MRT_TableRoot.d.ts +3 -0
  44. package/dist/toolbar/MRT_LinearProgressBar.d.ts +2 -0
  45. package/dist/toolbar/MRT_TablePagination.d.ts +2 -0
  46. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -0
  47. package/dist/toolbar/MRT_ToolbarBottom.d.ts +2 -0
  48. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -0
  49. package/dist/toolbar/MRT_ToolbarTop.d.ts +4 -2
  50. package/dist/utils.d.ts +12 -2
  51. package/package.json +27 -28
  52. package/src/MaterialReactTable.tsx +298 -242
  53. package/src/body/MRT_TableBody.tsx +25 -21
  54. package/src/body/MRT_TableBodyCell.tsx +73 -58
  55. package/src/body/MRT_TableBodyRow.tsx +35 -74
  56. package/src/body/MRT_TableDetailPanel.tsx +16 -14
  57. package/src/buttons/MRT_CopyButton.tsx +14 -7
  58. package/src/buttons/MRT_EditActionButtons.tsx +13 -12
  59. package/src/buttons/MRT_ExpandAllButton.tsx +24 -9
  60. package/src/buttons/MRT_ExpandButton.tsx +21 -14
  61. package/src/buttons/MRT_FullScreenToggleButton.tsx +18 -11
  62. package/src/buttons/MRT_ShowHideColumnsButton.tsx +18 -7
  63. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +17 -9
  64. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +18 -11
  65. package/src/buttons/MRT_ToggleFiltersButton.tsx +16 -9
  66. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +26 -21
  67. package/src/buttons/MRT_ToggleSearchButton.tsx +18 -11
  68. package/src/footer/MRT_TableFooter.tsx +23 -7
  69. package/src/footer/MRT_TableFooterCell.tsx +32 -24
  70. package/src/footer/MRT_TableFooterRow.tsx +20 -38
  71. package/src/head/MRT_TableHead.tsx +23 -7
  72. package/src/head/MRT_TableHeadCell.tsx +201 -152
  73. package/src/head/MRT_TableHeadRow.tsx +15 -103
  74. package/src/icons.ts +3 -3
  75. package/src/inputs/MRT_EditCellTextField.tsx +23 -24
  76. package/src/inputs/MRT_FilterTextField.tsx +51 -30
  77. package/src/inputs/MRT_SearchTextField.tsx +38 -21
  78. package/src/inputs/MRT_SelectCheckbox.tsx +34 -24
  79. package/src/localization.ts +13 -2
  80. package/src/menus/MRT_ColumnActionMenu.tsx +129 -69
  81. package/src/menus/MRT_FilterTypeMenu.tsx +28 -22
  82. package/src/menus/MRT_RowActionMenu.tsx +16 -11
  83. package/src/menus/MRT_ShowHideColumnsMenu.tsx +52 -20
  84. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +28 -17
  85. package/src/table/MRT_Table.tsx +24 -14
  86. package/src/table/MRT_TableContainer.tsx +109 -44
  87. package/src/table/MRT_TablePaper.tsx +61 -0
  88. package/src/table/MRT_TableRoot.tsx +236 -0
  89. package/src/toolbar/MRT_LinearProgressBar.tsx +9 -6
  90. package/src/toolbar/MRT_TablePagination.tsx +28 -18
  91. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +31 -19
  92. package/src/toolbar/MRT_ToolbarBottom.tsx +31 -20
  93. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +29 -16
  94. package/src/toolbar/MRT_ToolbarTop.tsx +34 -27
  95. package/src/utils.ts +37 -8
  96. package/dist/head/MRT_TableHeadCellActions.d.ts +0 -5
  97. package/dist/table/MRT_TableSpacerCell.d.ts +0 -6
  98. package/dist/useMRT.d.ts +0 -28
  99. package/src/@types/faker.d.ts +0 -4
  100. package/src/@types/react-table-config.d.ts +0 -53
  101. package/src/head/MRT_TableHeadCellActions.tsx +0 -29
  102. package/src/table/MRT_TableSpacerCell.tsx +0 -20
  103. package/src/useMRT.tsx +0 -226
@@ -6,15 +6,11 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var React = require('react');
8
8
  var React__default = _interopDefault(React);
9
- var reactTable = require('react-table');
10
- var material = require('@mui/material');
11
- var matchSorter = require('match-sorter');
12
9
  var ArrowRightIcon = _interopDefault(require('@mui/icons-material/ArrowRight'));
13
10
  var CancelIcon = _interopDefault(require('@mui/icons-material/Cancel'));
14
11
  var CheckBoxIcon = _interopDefault(require('@mui/icons-material/CheckBox'));
15
12
  var ClearAllIcon = _interopDefault(require('@mui/icons-material/ClearAll'));
16
13
  var CloseIcon = _interopDefault(require('@mui/icons-material/Close'));
17
- var ContentCopyIcon = _interopDefault(require('@mui/icons-material/ContentCopy'));
18
14
  var DensityMediumIcon = _interopDefault(require('@mui/icons-material/DensityMedium'));
19
15
  var DensitySmallIcon = _interopDefault(require('@mui/icons-material/DensitySmall'));
20
16
  var DoubleArrowDownIcon = _interopDefault(require('@mui/icons-material/KeyboardDoubleArrowDown'));
@@ -30,12 +26,16 @@ var FullscreenExitIcon = _interopDefault(require('@mui/icons-material/Fullscreen
30
26
  var FullscreenIcon = _interopDefault(require('@mui/icons-material/Fullscreen'));
31
27
  var MoreHorizIcon = _interopDefault(require('@mui/icons-material/MoreHoriz'));
32
28
  var MoreVertIcon = _interopDefault(require('@mui/icons-material/MoreVert'));
29
+ var PushPinIcon = _interopDefault(require('@mui/icons-material/PushPin'));
33
30
  var SaveIcon = _interopDefault(require('@mui/icons-material/Save'));
34
31
  var SearchIcon = _interopDefault(require('@mui/icons-material/Search'));
35
32
  var SearchOffIcon = _interopDefault(require('@mui/icons-material/SearchOff'));
36
33
  var SortIcon = _interopDefault(require('@mui/icons-material/Sort'));
37
34
  var ViewColumnIcon = _interopDefault(require('@mui/icons-material/ViewColumn'));
38
35
  var VisibilityOffIcon = _interopDefault(require('@mui/icons-material/VisibilityOff'));
36
+ var reactTable = require('@tanstack/react-table');
37
+ var material = require('@mui/material');
38
+ var matchSorter = require('match-sorter');
39
39
 
40
40
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
41
41
  try {
@@ -106,6 +106,160 @@ function _objectWithoutPropertiesLoose(source, excluded) {
106
106
  return target;
107
107
  }
108
108
 
109
+ var MRT_DefaultLocalization_EN = {
110
+ actions: 'Actions',
111
+ cancel: 'Cancel',
112
+ changeFilterMode: 'Change filter mode',
113
+ changeSearchMode: 'Change search mode',
114
+ clearFilter: 'Clear filter',
115
+ clearSearch: 'Clear search',
116
+ clearSort: 'Clear sort',
117
+ clickToCopy: 'Click to copy',
118
+ columnActions: 'Column Actions',
119
+ copiedToClipboard: 'Copied to clipboard',
120
+ edit: 'Edit',
121
+ expand: 'Expand',
122
+ expandAll: 'Expand all',
123
+ filterBestMatch: 'Best Match',
124
+ filterBestMatchFirst: 'Best Match First',
125
+ filterByColumn: 'Filter by {column}',
126
+ filterContains: 'Contains',
127
+ filterEmpty: 'Empty',
128
+ filterEndsWith: 'Ends With',
129
+ filterEquals: 'Equals',
130
+ filterGreaterThan: 'Greater Than',
131
+ filterLessThan: 'Less Than',
132
+ filterMode: 'Filter Mode: {filterType}',
133
+ filterNotEmpty: 'Not Empty',
134
+ filterNotEquals: 'Not Equals',
135
+ filterStartsWith: 'Starts With',
136
+ filteringByColumn: 'Filtering by {column} - {filterType} "{filterValue}"',
137
+ groupByColumn: 'Group by {column}',
138
+ groupedBy: 'Grouped by ',
139
+ hideAll: 'Hide all',
140
+ hideColumn: 'Hide {column} column',
141
+ pinToLeft: 'Pin to left',
142
+ pinToRight: 'Pin to right',
143
+ rowActions: 'Row Actions',
144
+ rowNumbers: 'Row Numbers',
145
+ save: 'Save',
146
+ search: 'Search',
147
+ selectedCountOfRowCountRowsSelected: '{selectedCount} of {rowCount} row(s) selected',
148
+ select: 'Select',
149
+ showAll: 'Show all',
150
+ showAllColumns: 'Show all columns',
151
+ showHideColumns: 'Show/Hide columns',
152
+ showHideFilters: 'Show/Hide filters',
153
+ showHideSearch: 'Show/Hide search',
154
+ sortByColumnAsc: 'Sort by {column} ascending',
155
+ sortByColumnDesc: 'Sort by {column} descending',
156
+ thenBy: ', then by ',
157
+ toggleDensePadding: 'Toggle dense padding',
158
+ toggleFullScreen: 'Toggle full screen',
159
+ toggleSelectAll: 'Toggle select all',
160
+ toggleSelectRow: 'Toggle select row',
161
+ ungroupByColumn: 'Ungroup by {column}',
162
+ unpin: 'Unpin'
163
+ };
164
+
165
+ var MRT_Default_Icons = {
166
+ ArrowRightIcon: ArrowRightIcon,
167
+ CancelIcon: CancelIcon,
168
+ CheckBoxIcon: CheckBoxIcon,
169
+ ClearAllIcon: ClearAllIcon,
170
+ CloseIcon: CloseIcon,
171
+ DensityMediumIcon: DensityMediumIcon,
172
+ DensitySmallIcon: DensitySmallIcon,
173
+ DoubleArrowDownIcon: DoubleArrowDownIcon,
174
+ DynamicFeedIcon: DynamicFeedIcon,
175
+ EditIcon: EditIcon,
176
+ ExpandLessIcon: ExpandLessIcon,
177
+ ExpandMoreIcon: ExpandMoreIcon,
178
+ FilterAltIcon: FilterAltIcon,
179
+ FilterAltOff: FilterAltOff,
180
+ FilterListIcon: FilterListIcon,
181
+ FilterListOffIcon: FilterListOffIcon,
182
+ FullscreenExitIcon: FullscreenExitIcon,
183
+ FullscreenIcon: FullscreenIcon,
184
+ MoreHorizIcon: MoreHorizIcon,
185
+ MoreVertIcon: MoreVertIcon,
186
+ PushPinIcon: PushPinIcon,
187
+ SaveIcon: SaveIcon,
188
+ SearchIcon: SearchIcon,
189
+ SearchOffIcon: SearchOffIcon,
190
+ SortIcon: SortIcon,
191
+ ViewColumnIcon: ViewColumnIcon,
192
+ VisibilityOffIcon: VisibilityOffIcon
193
+ };
194
+
195
+ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
196
+ var tableInstance = _ref.tableInstance;
197
+ var getIsAllRowsExpanded = tableInstance.getIsAllRowsExpanded,
198
+ getIsSomeRowsExpanded = tableInstance.getIsSomeRowsExpanded,
199
+ getState = tableInstance.getState,
200
+ _tableInstance$option = tableInstance.options,
201
+ DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
202
+ isLoading = _tableInstance$option.isLoading,
203
+ localization = _tableInstance$option.localization,
204
+ toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
205
+
206
+ var _getState = getState(),
207
+ isDensePadding = _getState.isDensePadding;
208
+
209
+ return React__default.createElement(material.IconButton, {
210
+ "aria-label": localization.expandAll,
211
+ disabled: isLoading,
212
+ title: localization.expandAll,
213
+ onClick: function onClick() {
214
+ return toggleAllRowsExpanded(!getIsAllRowsExpanded());
215
+ },
216
+ sx: {
217
+ height: isDensePadding ? '1.75rem' : '2.25rem',
218
+ width: isDensePadding ? '1.75rem' : '2.25rem'
219
+ }
220
+ }, React__default.createElement(DoubleArrowDownIcon, {
221
+ style: {
222
+ transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
223
+ transition: 'transform 0.2s'
224
+ }
225
+ }));
226
+ };
227
+
228
+ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
229
+ var row = _ref.row,
230
+ tableInstance = _ref.tableInstance;
231
+ var getState = tableInstance.getState,
232
+ _tableInstance$option = tableInstance.options,
233
+ ExpandMoreIcon = _tableInstance$option.icons.ExpandMoreIcon,
234
+ localization = _tableInstance$option.localization,
235
+ onRowExpandChange = _tableInstance$option.onRowExpandChange,
236
+ renderDetailPanel = _tableInstance$option.renderDetailPanel;
237
+
238
+ var _getState = getState(),
239
+ isDensePadding = _getState.isDensePadding;
240
+
241
+ var handleToggleExpand = function handleToggleExpand(event) {
242
+ row.toggleExpanded();
243
+ onRowExpandChange == null ? void 0 : onRowExpandChange(event, row);
244
+ };
245
+
246
+ return React__default.createElement(material.IconButton, {
247
+ "aria-label": localization.expand,
248
+ disabled: !row.getCanExpand() && !renderDetailPanel,
249
+ title: localization.expand,
250
+ onClick: handleToggleExpand,
251
+ sx: {
252
+ height: isDensePadding ? '1.75rem' : '2.25rem',
253
+ width: isDensePadding ? '1.75rem' : '2.25rem'
254
+ }
255
+ }, React__default.createElement(ExpandMoreIcon, {
256
+ style: {
257
+ transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
258
+ transition: 'transform 0.2s'
259
+ }
260
+ }));
261
+ };
262
+
109
263
  var MRT_FILTER_TYPE;
110
264
 
111
265
  (function (MRT_FILTER_TYPE) {
@@ -122,161 +276,6 @@ var MRT_FILTER_TYPE;
122
276
  MRT_FILTER_TYPE["STARTS_WITH"] = "startsWith";
123
277
  })(MRT_FILTER_TYPE || (MRT_FILTER_TYPE = {}));
124
278
 
125
- var findLowestLevelCols = function findLowestLevelCols(columns) {
126
- var lowestLevelColumns = columns;
127
- var currentCols = columns;
128
-
129
- while (!!((_currentCols = currentCols) != null && _currentCols.length) && currentCols.some(function (col) {
130
- return col.columns;
131
- })) {
132
- var _currentCols;
133
-
134
- var nextCols = currentCols.filter(function (col) {
135
- return !!col.columns;
136
- }).map(function (col) {
137
- return col.columns;
138
- }).flat();
139
-
140
- if (nextCols.every(function (col) {
141
- return !(col != null && col.columns);
142
- })) {
143
- lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
144
- }
145
-
146
- currentCols = nextCols;
147
- }
148
-
149
- return lowestLevelColumns.filter(function (col) {
150
- return !col.columns;
151
- });
152
- };
153
-
154
- var MaterialReactTableContext = /*#__PURE__*/function () {
155
- return React.createContext({});
156
- }();
157
-
158
- var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
159
- var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
160
-
161
- var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
162
- if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
163
-
164
- var _useState = React.useState(null),
165
- currentEditingRow = _useState[0],
166
- setCurrentEditingRow = _useState[1];
167
-
168
- var _useState2 = React.useState((_props$initialState$d = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.densePadding) != null ? _props$initialState$d : false),
169
- densePadding = _useState2[0],
170
- setDensePadding = _useState2[1];
171
-
172
- var _useState3 = React.useState((_props$initialState$f = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.fullScreen) != null ? _props$initialState$f : false),
173
- fullScreen = _useState3[0],
174
- setFullScreen = _useState3[1];
175
-
176
- var _useState4 = React.useState((_props$initialState$s = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.showFilters) != null ? _props$initialState$s : false),
177
- showFilters = _useState4[0],
178
- setShowFilters = _useState4[1];
179
-
180
- var _useState5 = React.useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearch) != null ? _props$initialState$s2 : false),
181
- showSearch = _useState5[0],
182
- setShowSearch = _useState5[1];
183
-
184
- var _useState6 = React.useState(function () {
185
- return Object.assign.apply(Object, [{}].concat(findLowestLevelCols(props.columns).map(function (c) {
186
- var _ref, _c$filter, _props$initialState5, _props$initialState5$, _c$filterSelectOption, _ref2;
187
-
188
- return _ref2 = {}, _ref2[c.accessor] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.filters) == null ? void 0 : _props$initialState5$[c.accessor]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_TYPE.EQUALS : MRT_FILTER_TYPE.BEST_MATCH, _ref2;
189
- })));
190
- }),
191
- currentFilterTypes = _useState6[0],
192
- setCurrentFilterTypes = _useState6[1];
193
-
194
- var _useState7 = React.useState(props.globalFilter),
195
- currentGlobalFilterType = _useState7[0],
196
- setCurrentGlobalFilterType = _useState7[1];
197
-
198
- var applyFiltersToColumns = React.useCallback(function (cols) {
199
- return cols.map(function (column) {
200
- if (column.columns) {
201
- applyFiltersToColumns(column.columns);
202
- } else {
203
- var _props$filterTypes;
204
-
205
- column.filter = props == null ? void 0 : (_props$filterTypes = props.filterTypes) == null ? void 0 : _props$filterTypes[currentFilterTypes[column.accessor]];
206
- }
207
-
208
- return column;
209
- });
210
- }, [currentFilterTypes, props.filterTypes]);
211
- var columns = React.useMemo(function () {
212
- return applyFiltersToColumns(props.columns);
213
- }, [props.columns, applyFiltersToColumns]);
214
- var data = React.useMemo(function () {
215
- return !props.isLoading || !!props.data.length ? props.data : [].concat(Array(10).fill(null)).map(function (_) {
216
- return Object.assign.apply(Object, [{}].concat(findLowestLevelCols(props.columns).map(function (c) {
217
- var _ref3;
218
-
219
- return _ref3 = {}, _ref3[c.accessor] = null, _ref3;
220
- })));
221
- });
222
- }, [props.data, props.isLoading]);
223
- var tableInstance = reactTable.useTable.apply(void 0, [// @ts-ignore
224
- _extends({}, props, {
225
- // @ts-ignore
226
- columns: columns,
227
- data: data,
228
- globalFilter: currentGlobalFilterType,
229
- useControlledState: function useControlledState(state) {
230
- return React.useMemo(function () {
231
- return _extends({}, state, {
232
- currentEditingRow: currentEditingRow,
233
- currentFilterTypes: currentFilterTypes,
234
- currentGlobalFilterType: currentGlobalFilterType,
235
- densePadding: densePadding,
236
- fullScreen: fullScreen,
237
- showFilters: showFilters,
238
- showSearch: showSearch
239
- }, props == null ? void 0 : props.useControlledState == null ? void 0 : props.useControlledState(state));
240
- }, [currentEditingRow, currentFilterTypes, currentGlobalFilterType, densePadding, fullScreen, showFilters, showSearch, state]);
241
- }
242
- })].concat(hooks));
243
- var idPrefix = React.useMemo(function () {
244
- var _props$idPrefix;
245
-
246
- return (_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9);
247
- }, [props.idPrefix]);
248
- var anyRowsCanExpand = React.useMemo(function () {
249
- return tableInstance.rows.some(function (row) {
250
- return row.canExpand;
251
- });
252
- }, [tableInstance.rows]);
253
- var anyRowsExpanded = React.useMemo(function () {
254
- return tableInstance.rows.some(function (row) {
255
- return row.isExpanded;
256
- });
257
- }, [tableInstance.rows]);
258
- return React__default.createElement(MaterialReactTableContext.Provider, {
259
- value: _extends({}, props, {
260
- anyRowsCanExpand: anyRowsCanExpand,
261
- anyRowsExpanded: anyRowsExpanded,
262
- idPrefix: idPrefix,
263
- //@ts-ignore
264
- setCurrentEditingRow: setCurrentEditingRow,
265
- setCurrentFilterTypes: setCurrentFilterTypes,
266
- setCurrentGlobalFilterType: setCurrentGlobalFilterType,
267
- setDensePadding: setDensePadding,
268
- setFullScreen: setFullScreen,
269
- setShowFilters: setShowFilters,
270
- setShowSearch: setShowSearch,
271
- //@ts-ignore
272
- tableInstance: tableInstance
273
- })
274
- }, props.children);
275
- };
276
- var useMRT = function useMRT() {
277
- return React.useContext(MaterialReactTableContext);
278
- };
279
-
280
279
  var bestMatchFirst = function bestMatchFirst(rows, columnIds, filterValue) {
281
280
  return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
282
281
  keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
@@ -415,16 +414,21 @@ var commonMenuItemStyles = {
415
414
  };
416
415
  var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
417
416
  var anchorEl = _ref.anchorEl,
418
- column = _ref.column,
417
+ header = _ref.header,
419
418
  onSelect = _ref.onSelect,
420
- setAnchorEl = _ref.setAnchorEl;
421
-
422
- var _useMRT = useMRT(),
423
- enabledGlobalFilterTypes = _useMRT.enabledGlobalFilterTypes,
424
- localization = _useMRT.localization,
425
- setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
426
- setCurrentGlobalFilterType = _useMRT.setCurrentGlobalFilterType,
427
- tableInstance = _useMRT.tableInstance;
419
+ setAnchorEl = _ref.setAnchorEl,
420
+ tableInstance = _ref.tableInstance;
421
+ var getState = tableInstance.getState,
422
+ _tableInstance$option = tableInstance.options,
423
+ enabledGlobalFilterTypes = _tableInstance$option.enabledGlobalFilterTypes,
424
+ localization = _tableInstance$option.localization,
425
+ setCurrentFilterTypes = _tableInstance$option.setCurrentFilterTypes,
426
+ setCurrentGlobalFilterType = _tableInstance$option.setCurrentGlobalFilterType;
427
+
428
+ var _getState = getState(),
429
+ isDensePadding = _getState.isDensePadding,
430
+ currentFilterTypes = _getState.currentFilterTypes,
431
+ currentGlobalFilterType = _getState.currentGlobalFilterType;
428
432
 
429
433
  var filterTypes = React.useMemo(function () {
430
434
  return [{
@@ -435,7 +439,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
435
439
  }, {
436
440
  type: MRT_FILTER_TYPE.BEST_MATCH,
437
441
  label: localization.filterBestMatch,
438
- divider: !!column,
442
+ divider: !!header,
439
443
  fn: bestMatch
440
444
  }, {
441
445
  type: MRT_FILTER_TYPE.CONTAINS,
@@ -483,20 +487,20 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
483
487
  divider: false,
484
488
  fn: notEmpty
485
489
  }].filter(function (filterType) {
486
- return column ? !column.enabledFilterTypes || column.enabledFilterTypes.includes(filterType.type) : (!enabledGlobalFilterTypes || enabledGlobalFilterTypes.includes(filterType.type)) && [MRT_FILTER_TYPE.BEST_MATCH_FIRST, MRT_FILTER_TYPE.BEST_MATCH].includes(filterType.type);
490
+ return header ? !header.column.enabledFilterTypes || header.column.enabledFilterTypes.includes(filterType.type) : (!enabledGlobalFilterTypes || enabledGlobalFilterTypes.includes(filterType.type)) && [MRT_FILTER_TYPE.BEST_MATCH_FIRST, MRT_FILTER_TYPE.BEST_MATCH].includes(filterType.type);
487
491
  });
488
492
  }, []);
489
493
 
490
494
  var handleSelectFilterType = function handleSelectFilterType(value) {
491
- if (column) {
495
+ if (header) {
492
496
  setCurrentFilterTypes(function (prev) {
493
497
  var _extends2;
494
498
 
495
- return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = value, _extends2));
499
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = value, _extends2));
496
500
  });
497
501
 
498
502
  if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {
499
- column.setFilter(' ');
503
+ header.column.setColumnFilterValue(' ');
500
504
  }
501
505
  } else {
502
506
  setCurrentGlobalFilterType(value);
@@ -506,7 +510,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
506
510
  onSelect == null ? void 0 : onSelect();
507
511
  };
508
512
 
509
- var filterType = column ? tableInstance.state.currentFilterTypes[column.id] : tableInstance.state.currentGlobalFilterType;
513
+ var filterType = !!header ? currentFilterTypes[header.id] : currentGlobalFilterType;
510
514
  return React__default.createElement(material.Menu, {
511
515
  anchorEl: anchorEl,
512
516
  anchorOrigin: {
@@ -518,7 +522,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
518
522
  },
519
523
  open: !!anchorEl,
520
524
  MenuListProps: {
521
- dense: tableInstance.state.densePadding
525
+ dense: isDensePadding
522
526
  }
523
527
  }, filterTypes.map(function (_ref2, index) {
524
528
  var type = _ref2.type,
@@ -538,255 +542,111 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
538
542
  }));
539
543
  };
540
544
 
541
- var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
542
- var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
543
-
544
- var column = _ref.column;
545
-
546
- var _useMRT = useMRT(),
547
- _useMRT$icons = _useMRT.icons,
548
- FilterListIcon = _useMRT$icons.FilterListIcon,
549
- CloseIcon = _useMRT$icons.CloseIcon,
550
- idPrefix = _useMRT.idPrefix,
551
- localization = _useMRT.localization,
552
- muiTableHeadCellFilterTextFieldProps = _useMRT.muiTableHeadCellFilterTextFieldProps,
553
- setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
554
- tableInstance = _useMRT.tableInstance;
545
+ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
546
+ var _column$columns2;
555
547
 
556
- var _useState = React.useState(null),
557
- anchorEl = _useState[0],
558
- setAnchorEl = _useState[1];
548
+ var column = _ref.column,
549
+ isSubMenu = _ref.isSubMenu,
550
+ tableInstance = _ref.tableInstance;
551
+ var getState = tableInstance.getState,
552
+ onColumnHide = tableInstance.options.onColumnHide;
559
553
 
560
- var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
561
- var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
554
+ var _getState = getState(),
555
+ columnVisibility = _getState.columnVisibility;
562
556
 
563
- var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
557
+ var switchChecked = column.columnDefType !== 'group' && column.getIsVisible() || column.columnDefType === 'group' && column.getLeafColumns().some(function (col) {
558
+ return col.getIsVisible();
559
+ });
564
560
 
565
- var _useState2 = React.useState(''),
566
- filterValue = _useState2[0],
567
- setFilterValue = _useState2[1];
561
+ var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
562
+ if (column.columnDefType === 'group') {
563
+ var _column$columns;
568
564
 
569
- var handleChange = reactTable.useAsyncDebounce(function (value) {
570
- column.setFilter(value != null ? value : undefined);
571
- }, 150);
565
+ column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.forEach == null ? void 0 : _column$columns.forEach(function (childColumn) {
566
+ childColumn.toggleVisibility(!switchChecked);
567
+ });
568
+ } else {
569
+ column.toggleVisibility();
570
+ }
572
571
 
573
- var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
574
- setAnchorEl(event.currentTarget);
572
+ onColumnHide == null ? void 0 : onColumnHide(column, Object.entries(columnVisibility).filter(function (entry) {
573
+ return entry[1];
574
+ }).map(function (entry) {
575
+ return entry[0];
576
+ }));
575
577
  };
576
578
 
577
- var handleClear = function handleClear() {
578
- setFilterValue('');
579
- column.setFilter(undefined);
580
- };
579
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
580
+ sx: _extends({}, commonMenuItemStyles$1, {
581
+ pl: (column.depth + 0.5) * 2 + "rem"
582
+ })
583
+ }, React__default.createElement(material.FormControlLabel, {
584
+ componentsProps: {
585
+ typography: {
586
+ sx: {
587
+ marginBottom: 0
588
+ }
589
+ }
590
+ },
591
+ checked: switchChecked,
592
+ control: React__default.createElement(material.Switch, null),
593
+ disabled: isSubMenu && switchChecked || column.enableHiding === false,
594
+ label: column.header,
595
+ onChange: function onChange() {
596
+ return handleToggleColumnHidden(column);
597
+ }
598
+ })), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
599
+ return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
600
+ key: i + "-" + c.id,
601
+ column: c,
602
+ isSubMenu: isSubMenu,
603
+ tableInstance: tableInstance
604
+ });
605
+ }));
606
+ };
581
607
 
582
- var handleClearFilterChip = function handleClearFilterChip() {
583
- setFilterValue('');
584
- column.setFilter(undefined);
585
- setCurrentFilterTypes(function (prev) {
586
- var _extends2;
608
+ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
609
+ var anchorEl = _ref.anchorEl,
610
+ isSubMenu = _ref.isSubMenu,
611
+ setAnchorEl = _ref.setAnchorEl,
612
+ tableInstance = _ref.tableInstance;
613
+ var getAllColumns = tableInstance.getAllColumns,
614
+ getIsAllColumnsVisible = tableInstance.getIsAllColumnsVisible,
615
+ getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
616
+ getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
617
+ getState = tableInstance.getState,
618
+ toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
619
+ getAllLeafColumns = tableInstance.getAllLeafColumns,
620
+ localization = tableInstance.options.localization;
621
+
622
+ var _getState = getState(),
623
+ isDensePadding = _getState.isDensePadding;
587
624
 
588
- return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = MRT_FILTER_TYPE.BEST_MATCH, _extends2));
625
+ var hideAllColumns = function hideAllColumns() {
626
+ getAllLeafColumns().filter(function (col) {
627
+ return col.enableHiding !== false;
628
+ }).forEach(function (col) {
629
+ return col.toggleVisibility(false);
589
630
  });
590
631
  };
591
632
 
592
- if (column.Filter) {
593
- return React__default.createElement(React__default.Fragment, null, column.Filter == null ? void 0 : column.Filter({
594
- column: column
595
- }));
596
- }
597
-
598
- var filterId = "mrt-" + idPrefix + "-" + column.id + "-filter-text-field";
599
- var filterType = tableInstance.state.currentFilterTypes[column.id];
600
- var isSelectFilter = !!column.filterSelectOptions;
601
- var filterChipLabel = !(filterType instanceof Function) && [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(filterType) ? //@ts-ignore
602
- localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))] : '';
603
- var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.Header));
604
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
605
- fullWidth: true,
606
- id: filterId,
607
- inputProps: {
608
- disabled: !!filterChipLabel,
609
- sx: {
610
- textOverflow: 'ellipsis',
611
- width: filterChipLabel ? 0 : undefined
612
- },
613
- title: filterPlaceholder
614
- },
615
- helperText: React__default.createElement("label", {
616
- htmlFor: filterId
617
- }, filterType instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
618
- (_localization$ = localization["filter" + (filterType.name.charAt(0).toUpperCase() + filterType.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
619
- localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))])),
620
- FormHelperTextProps: {
621
- sx: {
622
- fontSize: '0.6rem',
623
- lineHeight: '0.8rem'
624
- }
625
- },
626
- label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
627
- margin: "none",
628
- placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
629
- onChange: function onChange(e) {
630
- setFilterValue(e.target.value);
631
- handleChange(e.target.value);
632
- },
633
- onClick: function onClick(e) {
634
- return e.stopPropagation();
635
- },
636
- select: isSelectFilter,
637
- value: filterValue != null ? filterValue : '',
638
- variant: "standard",
639
- InputProps: {
640
- startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
641
- position: "start"
642
- }, React__default.createElement(material.Tooltip, {
643
- arrow: true,
644
- title: localization.changeFilterMode
645
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
646
- "aria-label": localization.changeFilterMode,
647
- onClick: handleFilterMenuOpen,
648
- size: "small",
649
- sx: {
650
- height: '1.75rem',
651
- width: '1.75rem'
652
- }
653
- }, React__default.createElement(FilterListIcon, null)))), filterChipLabel && React__default.createElement(material.Chip, {
654
- onDelete: handleClearFilterChip,
655
- label: filterChipLabel
656
- })),
657
- endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
658
- position: "end"
659
- }, React__default.createElement(material.Tooltip, {
660
- arrow: true,
661
- disableHoverListener: isSelectFilter,
662
- placement: "right",
663
- title: (_localization$clearFi = localization.clearFilter) != null ? _localization$clearFi : ''
664
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
665
- "aria-label": localization.clearFilter,
666
- disabled: !(filterValue != null && filterValue.length),
667
- onClick: handleClear,
668
- size: "small",
669
- sx: {
670
- height: '1.75rem',
671
- width: '1.75rem'
672
- }
673
- }, React__default.createElement(CloseIcon, {
674
- fontSize: "small"
675
- })))))
676
- }
677
- }, textFieldProps, {
678
- sx: _extends({
679
- m: '-0.25rem',
680
- p: 0,
681
- minWidth: !filterChipLabel ? '5rem' : 'auto',
682
- width: 'calc(100% + 0.5rem)',
683
- mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
684
- '& .MuiSelect-icon': {
685
- mr: '1.5rem'
686
- }
687
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
688
- }), isSelectFilter && React__default.createElement(material.MenuItem, {
689
- divider: true,
690
- disabled: !filterValue,
691
- value: ""
692
- }, localization.clearFilter), column == null ? void 0 : (_column$filterSelectO = column.filterSelectOptions) == null ? void 0 : _column$filterSelectO.map(function (option) {
693
- var value;
694
- var text;
695
-
696
- if (typeof option === 'string') {
697
- value = option;
698
- text = option;
699
- } else if (typeof option === 'object') {
700
- value = option.value;
701
- text = option.text;
702
- }
703
-
704
- return React__default.createElement(material.MenuItem, {
705
- key: value,
706
- value: value
707
- }, text);
708
- })), React__default.createElement(MRT_FilterTypeMenu, {
709
- anchorEl: anchorEl,
710
- column: column,
711
- setAnchorEl: setAnchorEl
712
- }));
713
- };
714
-
715
- var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
716
- var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
717
-
718
- var column = _ref.column,
719
- isSubMenu = _ref.isSubMenu;
720
-
721
- var _useMRT = useMRT(),
722
- onColumnHide = _useMRT.onColumnHide,
723
- tableInstance = _useMRT.tableInstance;
724
-
725
- var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
726
- var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
727
- return childColumn.isVisible;
728
- }));
729
- var switchChecked = (_column$isVisible = column.isVisible) != null ? _column$isVisible : allChildColumnsVisible;
730
-
731
- var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
732
- if (isParentHeader) {
733
- var _column$columns3;
734
-
735
- column == null ? void 0 : (_column$columns3 = column.columns) == null ? void 0 : _column$columns3.forEach == null ? void 0 : _column$columns3.forEach(function (childColumn) {
736
- childColumn.toggleHidden(switchChecked);
737
- });
738
- } else {
739
- column.toggleHidden();
740
- }
741
-
742
- onColumnHide == null ? void 0 : onColumnHide(column, tableInstance.state.hiddenColumns);
743
- };
744
-
745
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
746
- sx: _extends({}, commonMenuItemStyles$1, {
747
- pl: (column.depth + 0.5) * 2 + "rem"
748
- })
749
- }, React__default.createElement(material.FormControlLabel, {
750
- componentsProps: {
751
- typography: {
752
- sx: {
753
- marginBottom: 0
754
- }
755
- }
756
- },
757
- checked: switchChecked,
758
- control: React__default.createElement(material.Switch, null),
759
- disabled: isSubMenu && switchChecked || column.disableColumnHiding,
760
- label: column.Header,
761
- onChange: function onChange() {
762
- return handleToggleColumnHidden(column);
763
- }
764
- })), (_column$columns4 = column.columns) == null ? void 0 : _column$columns4.map(function (c, i) {
765
- return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
766
- key: i + "-" + c.id,
767
- column: c,
768
- isSubMenu: isSubMenu
633
+ var allDisplayColumns = React.useMemo(function () {
634
+ return getAllColumns().filter(function (col) {
635
+ return col.columnDefType === 'display';
769
636
  });
770
- }));
771
- };
772
-
773
- var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
774
- var anchorEl = _ref.anchorEl,
775
- isSubMenu = _ref.isSubMenu,
776
- setAnchorEl = _ref.setAnchorEl;
777
-
778
- var _useMRT = useMRT(),
779
- localization = _useMRT.localization,
780
- tableInstance = _useMRT.tableInstance;
781
-
782
- var hideAllColumns = function hideAllColumns() {
783
- findLowestLevelCols(tableInstance.columns).filter(function (col) {
784
- return !col.disableColumnHiding;
785
- }).forEach(function (col) {
786
- return col.toggleHidden(true);
637
+ }, [getAllColumns()]);
638
+ var allDataColumns = React.useMemo(function () {
639
+ var dataColumns = getAllColumns().filter(function (col) {
640
+ return col.columnDefType !== 'display';
787
641
  });
788
- };
789
-
642
+ return getIsSomeColumnsPinned() ? [].concat(dataColumns.filter(function (c) {
643
+ return c.getIsPinned() === 'left';
644
+ }), dataColumns.filter(function (c) {
645
+ return c.getIsPinned() === false;
646
+ }), dataColumns.filter(function (c) {
647
+ return c.getIsPinned() === 'right';
648
+ })) : dataColumns;
649
+ }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);
790
650
  return React__default.createElement(material.Menu, {
791
651
  anchorEl: anchorEl,
792
652
  open: !!anchorEl,
@@ -794,7 +654,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
794
654
  return setAnchorEl(null);
795
655
  },
796
656
  MenuListProps: {
797
- dense: tableInstance.state.densePadding
657
+ dense: isDensePadding
798
658
  }
799
659
  }, React__default.createElement(material.Box, {
800
660
  sx: {
@@ -804,18 +664,26 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
804
664
  pt: 0
805
665
  }
806
666
  }, !isSubMenu && React__default.createElement(material.Button, {
807
- disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
667
+ disabled: !getIsSomeColumnsVisible(),
808
668
  onClick: hideAllColumns
809
669
  }, localization.hideAll), React__default.createElement(material.Button, {
810
- disabled: tableInstance.getToggleHideAllColumnsProps().checked,
670
+ disabled: getIsAllColumnsVisible(),
811
671
  onClick: function onClick() {
812
- return tableInstance.toggleHideAllColumns(false);
672
+ return toggleAllColumnsVisible(true);
813
673
  }
814
- }, localization.showAll)), React__default.createElement(material.Divider, null), tableInstance.columns.map(function (column, index) {
674
+ }, localization.showAll)), React__default.createElement(material.Divider, null), allDisplayColumns.map(function (column, index) {
675
+ return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
676
+ column: column,
677
+ isSubMenu: isSubMenu,
678
+ key: index + "-" + column.id,
679
+ tableInstance: tableInstance
680
+ });
681
+ }), React__default.createElement(material.Divider, null), allDataColumns.map(function (column, index) {
815
682
  return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
816
683
  column: column,
817
684
  isSubMenu: isSubMenu,
818
- key: index + "-" + column.id
685
+ key: index + "-" + column.id,
686
+ tableInstance: tableInstance
819
687
  });
820
688
  }));
821
689
  };
@@ -831,30 +699,39 @@ var commonListItemStyles = {
831
699
  alignItems: 'center'
832
700
  };
833
701
  var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
834
- var _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _tableInstance$state$, _localization$showAll;
702
+ var _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _localization$showAll;
835
703
 
836
704
  var anchorEl = _ref.anchorEl,
837
- column = _ref.column,
838
- setAnchorEl = _ref.setAnchorEl;
839
-
840
- var _useMRT = useMRT(),
841
- disableColumnHiding = _useMRT.disableColumnHiding,
842
- disableFilters = _useMRT.disableFilters,
843
- disableSortBy = _useMRT.disableSortBy,
844
- enableColumnGrouping = _useMRT.enableColumnGrouping,
845
- _useMRT$icons = _useMRT.icons,
846
- ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
847
- ClearAllIcon = _useMRT$icons.ClearAllIcon,
848
- ViewColumnIcon = _useMRT$icons.ViewColumnIcon,
849
- DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
850
- FilterListIcon = _useMRT$icons.FilterListIcon,
851
- FilterListOffIcon = _useMRT$icons.FilterListOffIcon,
852
- SortIcon = _useMRT$icons.SortIcon,
853
- VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
854
- idPrefix = _useMRT.idPrefix,
855
- localization = _useMRT.localization,
856
- setShowFilters = _useMRT.setShowFilters,
857
- tableInstance = _useMRT.tableInstance;
705
+ header = _ref.header,
706
+ setAnchorEl = _ref.setAnchorEl,
707
+ tableInstance = _ref.tableInstance;
708
+ var getState = tableInstance.getState,
709
+ toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
710
+ setColumnOrder = tableInstance.setColumnOrder,
711
+ _tableInstance$option = tableInstance.options,
712
+ enableColumnFilters = _tableInstance$option.enableColumnFilters,
713
+ enableColumnPinning = _tableInstance$option.enableColumnPinning,
714
+ enableGrouping = _tableInstance$option.enableGrouping,
715
+ enableHiding = _tableInstance$option.enableHiding,
716
+ enableSorting = _tableInstance$option.enableSorting,
717
+ _tableInstance$option2 = _tableInstance$option.icons,
718
+ ArrowRightIcon = _tableInstance$option2.ArrowRightIcon,
719
+ ClearAllIcon = _tableInstance$option2.ClearAllIcon,
720
+ ViewColumnIcon = _tableInstance$option2.ViewColumnIcon,
721
+ DynamicFeedIcon = _tableInstance$option2.DynamicFeedIcon,
722
+ FilterListIcon = _tableInstance$option2.FilterListIcon,
723
+ FilterListOffIcon = _tableInstance$option2.FilterListOffIcon,
724
+ PushPinIcon = _tableInstance$option2.PushPinIcon,
725
+ SortIcon = _tableInstance$option2.SortIcon,
726
+ VisibilityOffIcon = _tableInstance$option2.VisibilityOffIcon,
727
+ idPrefix = _tableInstance$option.idPrefix,
728
+ localization = _tableInstance$option.localization,
729
+ setShowFilters = _tableInstance$option.setShowFilters;
730
+ var column = header.column;
731
+
732
+ var _getState = getState(),
733
+ isDensePadding = _getState.isDensePadding,
734
+ columnVisibility = _getState.columnVisibility;
858
735
 
859
736
  var _useState = React.useState(null),
860
737
  filterMenuAnchorEl = _useState[0],
@@ -865,48 +742,55 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
865
742
  setShowHideColumnsMenuAnchorEl = _useState2[1];
866
743
 
867
744
  var handleClearSort = function handleClearSort() {
868
- column.clearSortBy();
745
+ column.resetSorting();
869
746
  setAnchorEl(null);
870
747
  };
871
748
 
872
749
  var handleSortAsc = function handleSortAsc() {
873
- column.toggleSortBy(false);
750
+ column.toggleSorting(false);
874
751
  setAnchorEl(null);
875
752
  };
876
753
 
877
754
  var handleSortDesc = function handleSortDesc() {
878
- column.toggleSortBy(true);
755
+ column.toggleSorting(true);
879
756
  setAnchorEl(null);
880
757
  };
881
758
 
882
759
  var handleHideColumn = function handleHideColumn() {
883
- column.toggleHidden();
760
+ column.toggleVisibility(false);
884
761
  setAnchorEl(null);
885
762
  };
886
763
 
764
+ var handlePinColumn = function handlePinColumn(pinDirection) {
765
+ column.pin(pinDirection);
766
+ };
767
+
887
768
  var handleGroupByColumn = function handleGroupByColumn() {
888
- column.toggleGroupBy();
769
+ column.toggleGrouping();
770
+ setColumnOrder(function (old) {
771
+ return ['mrt-expand'].concat(old);
772
+ });
889
773
  setAnchorEl(null);
890
774
  };
891
775
 
892
776
  var handleClearFilter = function handleClearFilter() {
893
- column.setFilter('');
777
+ column.setColumnFilterValue('');
894
778
  setAnchorEl(null);
895
779
  };
896
780
 
897
781
  var handleFilterByColumn = function handleFilterByColumn() {
898
782
  setShowFilters(true);
899
783
  setTimeout(function () {
900
- var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
784
+ var _document$getElementB, _header$muiTableHeadC, _header$muiTableHeadC2;
901
785
 
902
786
  return (_document$getElementB = document.getElementById( // @ts-ignore
903
- (_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "mrt-" + idPrefix + "-" + column.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
787
+ (_header$muiTableHeadC = (_header$muiTableHeadC2 = header.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _header$muiTableHeadC2.id) != null ? _header$muiTableHeadC : "mrt-" + idPrefix + "-" + header.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
904
788
  }, 200);
905
789
  setAnchorEl(null);
906
790
  };
907
791
 
908
792
  var handleShowAllColumns = function handleShowAllColumns() {
909
- tableInstance.toggleHideAllColumns(false);
793
+ toggleAllColumnsVisible(true);
910
794
  setAnchorEl(null);
911
795
  };
912
796
 
@@ -927,26 +811,26 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
927
811
  return setAnchorEl(null);
928
812
  },
929
813
  MenuListProps: {
930
- dense: tableInstance.state.densePadding
814
+ dense: isDensePadding
931
815
  }
932
- }, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
933
- disabled: !column.isSorted,
816
+ }, enableSorting && column.getCanSort() && [React__default.createElement(material.MenuItem, {
817
+ disabled: !column.getIsSorted(),
934
818
  key: 0,
935
819
  onClick: handleClearSort,
936
820
  sx: commonMenuItemStyles$1
937
821
  }, React__default.createElement(material.Box, {
938
822
  sx: commonListItemStyles
939
823
  }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), localization.clearSort)), React__default.createElement(material.MenuItem, {
940
- disabled: column.isSorted && !column.isSortedDesc,
824
+ disabled: column.getIsSorted() === 'asc',
941
825
  key: 1,
942
826
  onClick: handleSortAsc,
943
827
  sx: commonMenuItemStyles$1
944
828
  }, React__default.createElement(material.Box, {
945
829
  sx: commonListItemStyles
946
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
947
- divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
830
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.header)))), React__default.createElement(material.MenuItem, {
831
+ divider: enableColumnFilters || enableGrouping || enableHiding,
948
832
  key: 2,
949
- disabled: column.isSorted && column.isSortedDesc,
833
+ disabled: column.getIsSorted() === 'desc',
950
834
  onClick: handleSortDesc,
951
835
  sx: commonMenuItemStyles$1
952
836
  }, React__default.createElement(material.Box, {
@@ -955,21 +839,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
955
839
  style: {
956
840
  transform: 'rotate(180deg) scaleX(-1)'
957
841
  }
958
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.MenuItem, {
959
- disabled: !column.filterValue,
842
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanColumnFilter() && [React__default.createElement(material.MenuItem, {
843
+ disabled: !column.getColumnFilterValue(),
960
844
  key: 0,
961
845
  onClick: handleClearFilter,
962
846
  sx: commonMenuItemStyles$1
963
847
  }, React__default.createElement(material.Box, {
964
848
  sx: commonListItemStyles
965
849
  }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListOffIcon, null)), localization.clearFilter)), React__default.createElement(material.MenuItem, {
966
- divider: enableColumnGrouping || !disableColumnHiding,
850
+ divider: enableGrouping || enableHiding,
967
851
  key: 1,
968
852
  onClick: handleFilterByColumn,
969
853
  sx: commonMenuItemStyles$1
970
854
  }, React__default.createElement(material.Box, {
971
855
  sx: commonListItemStyles
972
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.Header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
856
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
973
857
  onClick: handleOpenFilterModeMenu,
974
858
  onMouseEnter: handleOpenFilterModeMenu,
975
859
  size: "small",
@@ -978,32 +862,71 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
978
862
  }
979
863
  }, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
980
864
  anchorEl: filterMenuAnchorEl,
981
- column: column,
865
+ header: header,
982
866
  key: 2,
867
+ onSelect: handleFilterByColumn,
983
868
  setAnchorEl: setFilterMenuAnchorEl,
984
- onSelect: handleFilterByColumn
985
- })], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
986
- divider: !disableColumnHiding,
869
+ tableInstance: tableInstance
870
+ })], enableGrouping && column.getCanGroup() && [React__default.createElement(material.MenuItem, {
871
+ divider: enableColumnPinning,
987
872
  key: 0,
988
873
  onClick: handleGroupByColumn,
989
874
  sx: commonMenuItemStyles$1
990
875
  }, React__default.createElement(material.Box, {
991
876
  sx: commonListItemStyles
992
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.isGrouped ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React__default.createElement(material.MenuItem, {
993
- disabled: column.disableColumnHiding,
877
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enableColumnPinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
878
+ disabled: column.getIsPinned() === 'left',
879
+ key: 0,
880
+ onClick: function onClick() {
881
+ return handlePinColumn('left');
882
+ },
883
+ sx: commonMenuItemStyles$1
884
+ }, React__default.createElement(material.Box, {
885
+ sx: commonListItemStyles
886
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, {
887
+ style: {
888
+ transform: 'rotate(90deg)'
889
+ }
890
+ })), localization.pinToLeft)), React__default.createElement(material.MenuItem, {
891
+ disabled: column.getIsPinned() === 'right',
892
+ key: 0,
893
+ onClick: function onClick() {
894
+ return handlePinColumn('right');
895
+ },
896
+ sx: commonMenuItemStyles$1
897
+ }, React__default.createElement(material.Box, {
898
+ sx: commonListItemStyles
899
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, {
900
+ style: {
901
+ transform: 'rotate(-90deg)'
902
+ }
903
+ })), localization.pinToRight)), React__default.createElement(material.MenuItem, {
904
+ disabled: !column.getIsPinned(),
905
+ divider: enableHiding,
906
+ key: 0,
907
+ onClick: function onClick() {
908
+ return handlePinColumn(false);
909
+ },
910
+ sx: commonMenuItemStyles$1
911
+ }, React__default.createElement(material.Box, {
912
+ sx: commonListItemStyles
913
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, null)), localization.unpin))], enableHiding && [React__default.createElement(material.MenuItem, {
914
+ disabled: column.enableHiding === false,
994
915
  key: 0,
995
916
  onClick: handleHideColumn,
996
917
  sx: commonMenuItemStyles$1
997
918
  }, React__default.createElement(material.Box, {
998
919
  sx: commonListItemStyles
999
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
1000
- disabled: !((_tableInstance$state$ = tableInstance.state.hiddenColumns) != null && _tableInstance$state$.length),
920
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.header)))), React__default.createElement(material.MenuItem, {
921
+ disabled: !Object.values(columnVisibility).filter(function (visible) {
922
+ return !visible;
923
+ }).length,
1001
924
  key: 1,
1002
925
  onClick: handleShowAllColumns,
1003
926
  sx: commonMenuItemStyles$1
1004
927
  }, React__default.createElement(material.Box, {
1005
928
  sx: commonListItemStyles
1006
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.Header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
929
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.header))), React__default.createElement(material.IconButton, {
1007
930
  onClick: handleOpenShowHideColumnsMenu,
1008
931
  onMouseEnter: handleOpenShowHideColumnsMenu,
1009
932
  size: "small",
@@ -1014,605 +937,51 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1014
937
  anchorEl: showHideColumnsMenuAnchorEl,
1015
938
  isSubMenu: true,
1016
939
  key: 2,
1017
- setAnchorEl: setShowHideColumnsMenuAnchorEl
940
+ setAnchorEl: setShowHideColumnsMenuAnchorEl,
941
+ tableInstance: tableInstance
1018
942
  })]);
1019
943
  };
1020
944
 
1021
- var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
1022
- var column = _ref.column;
1023
-
1024
- var _useMRT = useMRT(),
1025
- MoreVertIcon = _useMRT.icons.MoreVertIcon,
1026
- localization = _useMRT.localization,
1027
- muiTableHeadCellColumnActionsButtonProps = _useMRT.muiTableHeadCellColumnActionsButtonProps;
1028
-
1029
- var _useState = React.useState(null),
1030
- anchorEl = _useState[0],
1031
- setAnchorEl = _useState[1];
1032
-
1033
- var handleClick = function handleClick(event) {
1034
- event.stopPropagation();
1035
- event.preventDefault();
1036
- setAnchorEl(event.currentTarget);
1037
- };
1038
-
1039
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps(column) : muiTableHeadCellColumnActionsButtonProps;
1040
- var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps(column) : column.muiTableHeadCellColumnActionsButtonProps;
945
+ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
946
+ var _renderRowActionMenuI;
1041
947
 
1042
- var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
948
+ var anchorEl = _ref.anchorEl,
949
+ handleEdit = _ref.handleEdit,
950
+ row = _ref.row,
951
+ setAnchorEl = _ref.setAnchorEl,
952
+ tableInstance = _ref.tableInstance;
953
+ var getState = tableInstance.getState,
954
+ _tableInstance$option = tableInstance.options,
955
+ EditIcon = _tableInstance$option.icons.EditIcon,
956
+ enableRowEditing = _tableInstance$option.enableRowEditing,
957
+ localization = _tableInstance$option.localization,
958
+ renderRowActionMenuItems = _tableInstance$option.renderRowActionMenuItems;
959
+
960
+ var _getState = getState(),
961
+ isDensePadding = _getState.isDensePadding;
1043
962
 
1044
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1045
- arrow: true,
1046
- enterDelay: 1000,
1047
- enterNextDelay: 1000,
1048
- placement: "top",
1049
- title: localization.columnActions
1050
- }, React__default.createElement(material.IconButton, Object.assign({
1051
- "aria-label": localization.columnActions,
1052
- onClick: handleClick,
1053
- size: "small"
1054
- }, iconButtonProps, {
1055
- sx: _extends({
1056
- height: '2rem',
1057
- mr: '2px',
1058
- mt: '-0.2rem',
1059
- opacity: 0.5,
1060
- transition: 'opacity 0.2s',
1061
- width: '2rem',
1062
- '&:hover': {
1063
- opacity: 1
1064
- }
1065
- }, iconButtonProps.sx)
1066
- }), React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
963
+ return React__default.createElement(material.Menu, {
1067
964
  anchorEl: anchorEl,
1068
- column: column,
1069
- setAnchorEl: setAnchorEl
1070
- }));
965
+ open: !!anchorEl,
966
+ onClose: function onClose() {
967
+ return setAnchorEl(null);
968
+ },
969
+ MenuListProps: {
970
+ dense: isDensePadding
971
+ }
972
+ }, enableRowEditing && React__default.createElement(material.MenuItem, {
973
+ onClick: handleEdit,
974
+ sx: commonMenuItemStyles$1
975
+ }, React__default.createElement(material.Box, {
976
+ sx: commonListItemStyles
977
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), localization.edit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
978
+ return setAnchorEl(null);
979
+ })) != null ? _renderRowActionMenuI : null);
1071
980
  };
1072
981
 
1073
- var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding, enableColumnResizing, widths) {
1074
- return _extends({
1075
- fontWeight: 'bold',
1076
- height: '100%',
1077
- p: densePadding ? '0.5rem' : '1rem',
1078
- pt: densePadding ? '0.75rem' : '1.25rem',
1079
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
1080
- verticalAlign: 'text-top'
1081
- }, widths);
1082
- };
1083
- var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
1084
- var _column$columns, _localization$sortByC, _localization$sortByC2;
1085
-
1086
- var column = _ref.column;
1087
-
1088
- var _useMRT = useMRT(),
1089
- disableColumnActions = _useMRT.disableColumnActions,
1090
- disableFilters = _useMRT.disableFilters,
1091
- enableColumnResizing = _useMRT.enableColumnResizing,
1092
- _useMRT$icons = _useMRT.icons,
1093
- FilterAltIcon = _useMRT$icons.FilterAltIcon,
1094
- FilterAltOff = _useMRT$icons.FilterAltOff,
1095
- localization = _useMRT.localization,
1096
- muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
1097
- setShowFilters = _useMRT.setShowFilters,
1098
- tableInstance = _useMRT.tableInstance;
1099
-
1100
- var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
1101
- var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
1102
- var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
1103
-
1104
- var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps, column.getHeaderProps(), {
1105
- style: _extends({}, column.getHeaderProps().style, mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style, mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style)
1106
- });
1107
-
1108
- var sortTooltip = column.isSorted ? column.isSortedDesc ? localization.clearSort : (_localization$sortByC = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC.replace('{column}', column.Header) : (_localization$sortByC2 = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC2.replace('{column}', column.Header);
1109
- var filterType = tableInstance.state.currentFilterTypes[column.id];
1110
- var filterTooltip = !!column.filterValue ? localization.filteringByColumn.replace('{column}', String(column.Header)).replace('{filterType}', filterType instanceof Function ? '' : // @ts-ignore
1111
- localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))]).replace('{filterValue}', column.filterValue).replace('" "', '') : localization.showHideFilters;
1112
- var columnHeader = column.render('Header');
1113
- return React__default.createElement(material.TableCell, Object.assign({
1114
- align: isParentHeader ? 'center' : 'left'
1115
- }, tableCellProps, {
1116
- sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing, {
1117
- maxWidth: column.maxWidth,
1118
- minWidth: column.minWidth,
1119
- width: column.width
1120
- }), tableCellProps == null ? void 0 : tableCellProps.sx)
1121
- }), React__default.createElement(material.Box, {
1122
- sx: {
1123
- alignItems: 'flex-start',
1124
- display: 'flex',
1125
- justifyContent: isParentHeader ? 'center' : 'space-between',
1126
- width: '100%'
1127
- }
1128
- }, React__default.createElement(material.Box, Object.assign({}, column.getSortByToggleProps(), {
1129
- sx: {
1130
- alignItems: 'center',
1131
- display: 'flex',
1132
- flexWrap: 'nowrap',
1133
- whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal'
1134
- },
1135
- title: undefined
1136
- }), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.Tooltip, {
1137
- arrow: true,
1138
- placement: "top",
1139
- title: sortTooltip
1140
- }, React__default.createElement(material.TableSortLabel, {
1141
- "aria-label": sortTooltip,
1142
- active: column.isSorted,
1143
- direction: column.isSortedDesc ? 'desc' : 'asc'
1144
- })), !isParentHeader && !!column.canFilter && React__default.createElement(material.Tooltip, {
1145
- arrow: true,
1146
- placement: "top",
1147
- title: filterTooltip
1148
- }, React__default.createElement(material.IconButton, {
1149
- disableRipple: true,
1150
- onClick: function onClick(event) {
1151
- event.stopPropagation();
1152
- setShowFilters(!tableInstance.state.showFilters);
1153
- },
1154
- size: "small",
1155
- sx: {
1156
- m: 0,
1157
- opacity: !!column.filterValue ? 0.8 : 0,
1158
- p: '2px',
1159
- transition: 'all 0.2s ease-in-out',
1160
- '&:hover': {
1161
- backgroundColor: 'transparent',
1162
- opacity: 0.8
1163
- }
1164
- }
1165
- }, tableInstance.state.showFilters && !column.filterValue ? React__default.createElement(FilterAltOff, {
1166
- fontSize: "small"
1167
- }) : React__default.createElement(FilterAltIcon, {
1168
- fontSize: "small"
1169
- })))), React__default.createElement(material.Box, {
1170
- sx: {
1171
- alignItems: 'center',
1172
- display: 'flex',
1173
- flexWrap: 'nowrap'
1174
- }
1175
- }, !disableColumnActions && !column.disableColumnActions && !isParentHeader && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
1176
- column: column
1177
- }), enableColumnResizing && !isParentHeader && React__default.createElement(material.Divider, Object.assign({
1178
- flexItem: true,
1179
- orientation: "vertical",
1180
- onDoubleClick: function onDoubleClick() {
1181
- return tableInstance.resetResizing();
1182
- }
1183
- }, column.getResizerProps(), {
1184
- sx: {
1185
- borderRightWidth: '2px',
1186
- borderRadius: '2px',
1187
- maxHeight: '2rem'
1188
- }
1189
- })))), !disableFilters && column.canFilter && React__default.createElement(material.Collapse, {
1190
- "in": tableInstance.state.showFilters
1191
- }, React__default.createElement(MRT_FilterTextField, {
1192
- column: column
1193
- })));
1194
- };
1195
-
1196
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1197
- var row = _ref.row,
1198
- selectAll = _ref.selectAll;
1199
-
1200
- var _useMRT = useMRT(),
1201
- localization = _useMRT.localization,
1202
- muiSelectCheckboxProps = _useMRT.muiSelectCheckboxProps,
1203
- onSelectChange = _useMRT.onSelectChange,
1204
- onSelectAllChange = _useMRT.onSelectAllChange,
1205
- tableInstance = _useMRT.tableInstance,
1206
- densePadding = _useMRT.tableInstance.state.densePadding;
1207
-
1208
- var handleSelectChange = function handleSelectChange(event) {
1209
- if (selectAll) {
1210
- var _tableInstance$getTog;
1211
-
1212
- tableInstance == null ? void 0 : tableInstance.getToggleAllRowsSelectedProps == null ? void 0 : (_tableInstance$getTog = tableInstance.getToggleAllRowsSelectedProps()) == null ? void 0 : _tableInstance$getTog.onChange == null ? void 0 : _tableInstance$getTog.onChange(event);
1213
- onSelectAllChange == null ? void 0 : onSelectAllChange(event, event.target.checked ? tableInstance.rows : []);
1214
- } else if (row) {
1215
- var _row$getToggleRowSele;
1216
-
1217
- row == null ? void 0 : (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
1218
- onSelectChange == null ? void 0 : onSelectChange(event, row, event.target.checked ? [].concat(tableInstance.selectedFlatRows, [row]) : tableInstance.selectedFlatRows.filter(function (selectedRow) {
1219
- return selectedRow.id !== row.id;
1220
- }));
1221
- }
1222
- };
1223
-
1224
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps(selectAll, row, tableInstance) : muiSelectCheckboxProps;
1225
- var rtSelectCheckboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
1226
-
1227
- var checkboxProps = _extends({}, mTableBodyRowSelectCheckboxProps, rtSelectCheckboxProps, {
1228
- style: _extends({}, rtSelectCheckboxProps == null ? void 0 : rtSelectCheckboxProps.style, mTableBodyRowSelectCheckboxProps == null ? void 0 : mTableBodyRowSelectCheckboxProps.style)
1229
- });
1230
-
1231
- return React__default.createElement(material.Tooltip, {
1232
- arrow: true,
1233
- enterDelay: 1000,
1234
- enterNextDelay: 1000,
1235
- title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1236
- }, React__default.createElement(material.Checkbox, Object.assign({
1237
- inputProps: {
1238
- 'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1239
- },
1240
- size: densePadding ? 'small' : 'medium'
1241
- }, checkboxProps, {
1242
- onChange: handleSelectChange,
1243
- title: undefined
1244
- })));
1245
- };
1246
-
1247
- var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
1248
- var _useMRT = useMRT(),
1249
- anyRowsExpanded = _useMRT.anyRowsExpanded,
1250
- DoubleArrowDownIcon = _useMRT.icons.DoubleArrowDownIcon,
1251
- localization = _useMRT.localization,
1252
- tableInstance = _useMRT.tableInstance;
1253
-
1254
- return React__default.createElement(material.IconButton, {
1255
- "aria-label": localization.expandAll,
1256
- title: localization.expandAll
1257
- }, React__default.createElement(DoubleArrowDownIcon, {
1258
- style: {
1259
- transform: "rotate(" + (tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0) + "deg)",
1260
- transition: 'transform 0.2s'
1261
- }
1262
- }));
1263
- };
1264
-
1265
- var MRT_TableSpacerCell = function MRT_TableSpacerCell(_ref) {
1266
- var width = _ref.width;
1267
-
1268
- var _useMRT = useMRT(),
1269
- muiTableBodyCellProps = _useMRT.muiTableBodyCellProps;
1270
-
1271
- var tableCellProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps() : muiTableBodyCellProps;
1272
- return React__default.createElement(material.TableCell, Object.assign({}, tableCellProps, {
1273
- sx: _extends({
1274
- width: width
1275
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
1276
- }));
1277
- };
1278
-
1279
- var MRT_TableHeadCellActions = function MRT_TableHeadCellActions() {
1280
- var _useMRT = useMRT(),
1281
- localization = _useMRT.localization,
1282
- densePadding = _useMRT.tableInstance.state.densePadding;
1283
-
1284
- return React__default.createElement(material.TableCell, {
1285
- style: {
1286
- textAlign: 'center'
1287
- },
1288
- sx: _extends({}, commonTableHeadCellStyles(densePadding), {
1289
- textAlign: 'center',
1290
- maxWidth: '4rem',
1291
- width: '4rem'
1292
- })
1293
- }, localization.actions);
1294
- };
1295
-
1296
- var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
1297
- var headerGroup = _ref.headerGroup;
1298
-
1299
- var _useMRT = useMRT(),
1300
- anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1301
- disableExpandAll = _useMRT.disableExpandAll,
1302
- disableSelectAll = _useMRT.disableSelectAll,
1303
- enableRowActions = _useMRT.enableRowActions,
1304
- enableRowEditing = _useMRT.enableRowEditing,
1305
- enableRowNumbers = _useMRT.enableRowNumbers,
1306
- enableSelection = _useMRT.enableSelection,
1307
- muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
1308
- positionActionsColumn = _useMRT.positionActionsColumn,
1309
- renderDetailPanel = _useMRT.renderDetailPanel,
1310
- tableInstance = _useMRT.tableInstance;
1311
-
1312
- var isParentHeader = React.useMemo(function () {
1313
- return headerGroup.headers.some(function (h) {
1314
- var _h$columns$length, _h$columns;
1315
-
1316
- return ((_h$columns$length = (_h$columns = h.columns) == null ? void 0 : _h$columns.length) != null ? _h$columns$length : 0) > 0;
1317
- });
1318
- }, [headerGroup.headers]);
1319
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps(headerGroup) : muiTableHeadRowProps;
1320
-
1321
- var tableRowProps = _extends({}, mTableHeadRowProps, headerGroup.getHeaderGroupProps(), {
1322
- style: _extends({}, headerGroup.getHeaderGroupProps().style, mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style)
1323
- });
1324
-
1325
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React__default.createElement(material.TableCell, Object.assign({
1326
- size: "small"
1327
- }, tableInstance.getToggleAllRowsExpandedProps(), {
1328
- sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding), {
1329
- width: '3rem',
1330
- maxWidth: '3rem',
1331
- textAlign: 'center'
1332
- })
1333
- }), React__default.createElement(MRT_ExpandAllButton, null)) : React__default.createElement(MRT_TableSpacerCell, {
1334
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1335
- }) : null, enableSelection ? !isParentHeader && !disableSelectAll ? React__default.createElement(material.TableCell, {
1336
- sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding), {
1337
- maxWidth: '3rem',
1338
- width: '3rem',
1339
- textAlign: 'center'
1340
- })
1341
- }, React__default.createElement(MRT_SelectCheckbox, {
1342
- selectAll: true
1343
- })) : React__default.createElement(MRT_TableSpacerCell, {
1344
- width: "1rem"
1345
- }) : null, enableRowNumbers && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(material.TableCell, {
1346
- sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding), {
1347
- width: '2rem',
1348
- maxWidth: '2rem'
1349
- })
1350
- }, "#")), headerGroup.headers.map(function (column) {
1351
- return React__default.createElement(MRT_TableHeadCell, {
1352
- key: column.getHeaderProps().key,
1353
- column: column
1354
- });
1355
- }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)));
1356
- };
1357
-
1358
- var MRT_TableHead = function MRT_TableHead() {
1359
- var _useMRT = useMRT(),
1360
- tableInstance = _useMRT.tableInstance,
1361
- muiTableHeadProps = _useMRT.muiTableHeadProps;
1362
-
1363
- var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps(tableInstance) : muiTableHeadProps;
1364
- return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), tableInstance.headerGroups.map(function (headerGroup) {
1365
- return React__default.createElement(MRT_TableHeadRow, {
1366
- key: headerGroup.getHeaderGroupProps().key,
1367
- headerGroup: headerGroup
1368
- });
1369
- }));
1370
- };
1371
-
1372
- var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
1373
- var cell = _ref.cell;
1374
-
1375
- var _useMRT = useMRT(),
1376
- muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
1377
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1378
- currentEditingRow = _useMRT.tableInstance.state.currentEditingRow;
1379
-
1380
- var handleChange = function handleChange(event) {
1381
- if (currentEditingRow) {
1382
- cell.row.values[cell.column.id] = event.target.value;
1383
- setCurrentEditingRow(_extends({}, currentEditingRow));
1384
- }
1385
-
1386
- cell.column.onCellEditChange == null ? void 0 : cell.column.onCellEditChange(event, cell);
1387
- };
1388
-
1389
- var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps(cell) : muiTableBodyCellEditTextFieldProps;
1390
- var mcTableBodyCellEditTextFieldProps = cell.column.muiTableBodyCellEditTextFieldProps instanceof Function ? cell.column.muiTableBodyCellEditTextFieldProps(cell) : cell.column.muiTableBodyCellEditTextFieldProps;
1391
-
1392
- var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps);
1393
-
1394
- if (!cell.column.disableEditing && cell.column.Edit) {
1395
- return React__default.createElement(React__default.Fragment, null, cell.column.Edit(_extends({}, textFieldProps, {
1396
- cell: cell
1397
- })));
1398
- }
1399
-
1400
- return React__default.createElement(material.TextField, Object.assign({
1401
- margin: "dense",
1402
- onChange: handleChange,
1403
- onClick: function onClick(e) {
1404
- return e.stopPropagation();
1405
- },
1406
- placeholder: cell.column.Header,
1407
- value: cell.value,
1408
- variant: "standard"
1409
- }, textFieldProps));
1410
- };
1411
-
1412
- var MRT_CopyButton = function MRT_CopyButton(_ref) {
1413
- var cell = _ref.cell,
1414
- children = _ref.children;
1415
-
1416
- var _useMRT = useMRT(),
1417
- localization = _useMRT.localization,
1418
- muiTableBodyCellCopyButtonProps = _useMRT.muiTableBodyCellCopyButtonProps;
1419
-
1420
- var _useState = React.useState(false),
1421
- copied = _useState[0],
1422
- setCopied = _useState[1];
1423
-
1424
- var handleCopy = function handleCopy(text) {
1425
- navigator.clipboard.writeText(text);
1426
- setCopied(true);
1427
- setTimeout(function () {
1428
- return setCopied(false);
1429
- }, 4000);
1430
- };
1431
-
1432
- var mTableBodyCellCopyButtonProps = muiTableBodyCellCopyButtonProps instanceof Function ? muiTableBodyCellCopyButtonProps(cell) : muiTableBodyCellCopyButtonProps;
1433
- var mcTableBodyCellCopyButtonProps = cell.column.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.muiTableBodyCellCopyButtonProps(cell) : cell.column.muiTableBodyCellCopyButtonProps;
1434
-
1435
- var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
1436
-
1437
- return React__default.createElement(material.Tooltip, {
1438
- arrow: true,
1439
- enterDelay: 1000,
1440
- enterNextDelay: 1000,
1441
- placement: "top",
1442
- title: copied ? localization.copiedToClipboard : localization.clickToCopy
1443
- }, React__default.createElement(material.Button, Object.assign({
1444
- "aria-label": localization.clickToCopy,
1445
- onClick: function onClick() {
1446
- return handleCopy(cell.value);
1447
- },
1448
- size: "small"
1449
- }, buttonProps, {
1450
- sx: _extends({
1451
- backgroundColor: 'transparent',
1452
- border: 'none',
1453
- color: 'inherit',
1454
- fontFamily: 'inherit',
1455
- fontSize: 'inherit',
1456
- letterSpacing: 'inherit',
1457
- m: '-0.25rem',
1458
- minWidth: 'unset',
1459
- textAlign: 'inherit',
1460
- textTransform: 'inherit'
1461
- }, buttonProps == null ? void 0 : buttonProps.sx),
1462
- variant: "text"
1463
- }), children));
1464
- };
1465
-
1466
- var commonTableBodyCellStyles = function commonTableBodyCellStyles(densePadding) {
1467
- return {
1468
- p: densePadding ? '0.5rem' : '1rem',
1469
- transition: 'all 0.2s ease-in-out',
1470
- whiteSpace: densePadding ? 'nowrap' : 'normal'
1471
- };
1472
- };
1473
- var commonTableBodyButtonCellStyles = function commonTableBodyButtonCellStyles(densePadding) {
1474
- return {
1475
- p: densePadding ? '1px' : '0.6rem',
1476
- textAlign: 'center',
1477
- transition: 'all 0.2s ease-in-out'
1478
- };
1479
- };
1480
- var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
1481
- var cell = _ref.cell;
1482
-
1483
- var _useMRT = useMRT(),
1484
- enableClickToCopy = _useMRT.enableClickToCopy,
1485
- isLoading = _useMRT.isLoading,
1486
- muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
1487
- muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
1488
- onCellClick = _useMRT.onCellClick,
1489
- _useMRT$tableInstance = _useMRT.tableInstance.state,
1490
- currentEditingRow = _useMRT$tableInstance.currentEditingRow,
1491
- densePadding = _useMRT$tableInstance.densePadding;
1492
-
1493
- var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
1494
- var mcTableCellBodyProps = cell.column.muiTableBodyCellProps instanceof Function ? cell.column.muiTableBodyCellProps(cell) : cell.column.muiTableBodyCellProps;
1495
-
1496
- var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps, cell.getCellProps(), {
1497
- style: _extends({}, cell.getCellProps().style, mTableCellBodyProps == null ? void 0 : mTableCellBodyProps.style, mcTableCellBodyProps == null ? void 0 : mcTableCellBodyProps.style)
1498
- });
1499
-
1500
- return React__default.createElement(material.TableCell, Object.assign({
1501
- onClick: function onClick(event) {
1502
- return onCellClick == null ? void 0 : onCellClick(event, cell);
1503
- }
1504
- }, tableCellProps, {
1505
- sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
1506
- }), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
1507
- animation: "wave",
1508
- height: 20,
1509
- width: Math.random() * (120 - 60) + 60
1510
- }, muiTableBodyCellSkeletonProps)) : !cell.column.disableEditing && (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React__default.createElement(MRT_EditCellTextField, {
1511
- cell: cell
1512
- }) : cell.isPlaceholder ? null : cell.isAggregated ? enableClickToCopy && !cell.column.disableClickToCopy ? React__default.createElement(MRT_CopyButton, {
1513
- cell: cell
1514
- }, cell.render('Aggregated')) : cell.render('Aggregated') : cell.isGrouped ? React__default.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : enableClickToCopy && !cell.column.disableClickToCopy ? React__default.createElement(MRT_CopyButton, {
1515
- cell: cell
1516
- }, cell.render('Cell')) : cell.render('Cell'));
1517
- };
1518
-
1519
- var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
1520
- var row = _ref.row;
1521
-
1522
- var _useMRT = useMRT(),
1523
- muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
1524
- muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
1525
- onDetailPanelClick = _useMRT.onDetailPanelClick,
1526
- renderDetailPanel = _useMRT.renderDetailPanel,
1527
- tableInstance = _useMRT.tableInstance;
1528
-
1529
- var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
1530
- var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
1531
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), React__default.createElement(material.TableCell, Object.assign({
1532
- colSpan: tableInstance.visibleColumns.length + 10,
1533
- onClick: function onClick(event) {
1534
- return onDetailPanelClick == null ? void 0 : onDetailPanelClick(event, row);
1535
- }
1536
- }, tableCellProps, {
1537
- sx: _extends({
1538
- borderBottom: !row.isExpanded ? 'none' : undefined,
1539
- pb: row.isExpanded ? '1rem' : 0,
1540
- pt: row.isExpanded ? '1rem' : 0,
1541
- transition: 'all 0.2s ease-in-out'
1542
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
1543
- }), React__default.createElement(material.Collapse, {
1544
- "in": row.isExpanded
1545
- }, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
1546
- };
1547
-
1548
- var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
1549
- var row = _ref.row;
1550
-
1551
- var _useMRT = useMRT(),
1552
- ExpandMoreIcon = _useMRT.icons.ExpandMoreIcon,
1553
- localization = _useMRT.localization,
1554
- onRowExpandChange = _useMRT.onRowExpandChange,
1555
- renderDetailPanel = _useMRT.renderDetailPanel;
1556
-
1557
- var handleToggleExpand = function handleToggleExpand(event) {
1558
- var _row$getToggleRowExpa;
1559
-
1560
- // @ts-ignore
1561
- (_row$getToggleRowExpa = row.getToggleRowExpandedProps()) == null ? void 0 : _row$getToggleRowExpa.onClick(event);
1562
- onRowExpandChange == null ? void 0 : onRowExpandChange(event, row);
1563
- };
1564
-
1565
- return React__default.createElement(material.IconButton, Object.assign({
1566
- "aria-label": localization.expand,
1567
- disabled: !row.canExpand && !renderDetailPanel,
1568
- title: localization.expand
1569
- }, row.getToggleRowExpandedProps(), {
1570
- onClick: handleToggleExpand
1571
- }), React__default.createElement(ExpandMoreIcon, {
1572
- style: {
1573
- transform: "rotate(" + (!row.canExpand && !renderDetailPanel ? -90 : row.isExpanded ? -180 : 0) + "deg)",
1574
- transition: 'transform 0.2s'
1575
- }
1576
- }));
1577
- };
1578
-
1579
- var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1580
- var _renderRowActionMenuI;
1581
-
1582
- var anchorEl = _ref.anchorEl,
1583
- row = _ref.row,
1584
- handleEdit = _ref.handleEdit,
1585
- setAnchorEl = _ref.setAnchorEl;
1586
-
1587
- var _useMRT = useMRT(),
1588
- EditIcon = _useMRT.icons.EditIcon,
1589
- enableRowEditing = _useMRT.enableRowEditing,
1590
- localization = _useMRT.localization,
1591
- renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
1592
- tableInstance = _useMRT.tableInstance;
1593
-
1594
- return React__default.createElement(material.Menu, {
1595
- anchorEl: anchorEl,
1596
- open: !!anchorEl,
1597
- onClose: function onClose() {
1598
- return setAnchorEl(null);
1599
- },
1600
- MenuListProps: {
1601
- dense: tableInstance.state.densePadding
1602
- }
1603
- }, enableRowEditing && React__default.createElement(material.MenuItem, {
1604
- onClick: handleEdit,
1605
- sx: commonMenuItemStyles$1
1606
- }, React__default.createElement(material.Box, {
1607
- sx: commonListItemStyles
1608
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), localization.edit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
1609
- return setAnchorEl(null);
1610
- })) != null ? _renderRowActionMenuI : null);
1611
- };
1612
-
1613
- function createCommonjsModule(fn, module) {
1614
- return module = { exports: {} }, fn(module, module.exports), module.exports;
1615
- }
982
+ function createCommonjsModule(fn, module) {
983
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
984
+ }
1616
985
 
1617
986
  var runtime_1 = createCommonjsModule(function (module) {
1618
987
  /**
@@ -2371,30 +1740,34 @@ try {
2371
1740
  });
2372
1741
 
2373
1742
  var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
2374
- var row = _ref.row;
2375
-
2376
- var _useMRT = useMRT(),
2377
- _useMRT$icons = _useMRT.icons,
2378
- CancelIcon = _useMRT$icons.CancelIcon,
2379
- SaveIcon = _useMRT$icons.SaveIcon,
2380
- localization = _useMRT.localization,
2381
- onRowEditSubmit = _useMRT.onRowEditSubmit,
2382
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
2383
- currentEditingRow = _useMRT.tableInstance.state.currentEditingRow;
1743
+ var row = _ref.row,
1744
+ tableInstance = _ref.tableInstance;
1745
+ var getState = tableInstance.getState,
1746
+ _tableInstance$option = tableInstance.options,
1747
+ _tableInstance$option2 = _tableInstance$option.icons,
1748
+ CancelIcon = _tableInstance$option2.CancelIcon,
1749
+ SaveIcon = _tableInstance$option2.SaveIcon,
1750
+ localization = _tableInstance$option.localization,
1751
+ onRowEditSubmit = _tableInstance$option.onRowEditSubmit,
1752
+ setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
2384
1753
 
2385
1754
  var handleCancel = function handleCancel() {
2386
- row.values = row.original;
1755
+ var _row$original;
1756
+
1757
+ row.values = (_row$original = row.original) != null ? _row$original : {};
2387
1758
  setCurrentEditingRow(null);
2388
1759
  };
2389
1760
 
2390
1761
  var handleSave = /*#__PURE__*/function () {
2391
1762
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1763
+ var _getState$currentEdit;
1764
+
2392
1765
  return runtime_1.wrap(function _callee$(_context) {
2393
1766
  while (1) {
2394
1767
  switch (_context.prev = _context.next) {
2395
1768
  case 0:
2396
1769
  _context.next = 2;
2397
- return onRowEditSubmit == null ? void 0 : onRowEditSubmit(currentEditingRow != null ? currentEditingRow : row);
1770
+ return onRowEditSubmit == null ? void 0 : onRowEditSubmit((_getState$currentEdit = getState().currentEditingRow) != null ? _getState$currentEdit : row);
2398
1771
 
2399
1772
  case 2:
2400
1773
  setCurrentEditingRow(null);
@@ -2433,823 +1806,1859 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
2433
1806
  }, React__default.createElement(SaveIcon, null))));
2434
1807
  };
2435
1808
 
2436
- var commonIconButtonStyles = {
2437
- opacity: 0.5,
2438
- transition: 'opacity 0.2s',
2439
- marginRight: '2px',
2440
- height: '2rem',
2441
- width: '2rem',
2442
- '&:hover': {
2443
- opacity: 1
2444
- }
1809
+ var commonIconButtonStyles = {
1810
+ height: '2rem',
1811
+ ml: '10px',
1812
+ opacity: 0.5,
1813
+ transition: 'opacity 0.2s',
1814
+ width: '2rem',
1815
+ '&:hover': {
1816
+ opacity: 1
1817
+ }
1818
+ };
1819
+ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
1820
+ var row = _ref.row,
1821
+ tableInstance = _ref.tableInstance;
1822
+ var getState = tableInstance.getState,
1823
+ _tableInstance$option = tableInstance.options,
1824
+ enableRowEditing = _tableInstance$option.enableRowEditing,
1825
+ _tableInstance$option2 = _tableInstance$option.icons,
1826
+ EditIcon = _tableInstance$option2.EditIcon,
1827
+ MoreHorizIcon = _tableInstance$option2.MoreHorizIcon,
1828
+ localization = _tableInstance$option.localization,
1829
+ renderRowActionMenuItems = _tableInstance$option.renderRowActionMenuItems,
1830
+ renderRowActions = _tableInstance$option.renderRowActions,
1831
+ setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
1832
+
1833
+ var _getState = getState(),
1834
+ currentEditingRow = _getState.currentEditingRow;
1835
+
1836
+ var _useState = React.useState(null),
1837
+ anchorEl = _useState[0],
1838
+ setAnchorEl = _useState[1];
1839
+
1840
+ var handleOpenRowActionMenu = function handleOpenRowActionMenu(event) {
1841
+ event.stopPropagation();
1842
+ event.preventDefault();
1843
+ setAnchorEl(event.currentTarget);
1844
+ };
1845
+
1846
+ var handleEdit = function handleEdit() {
1847
+ setCurrentEditingRow(_extends({}, row));
1848
+ setAnchorEl(null);
1849
+ };
1850
+
1851
+ return React__default.createElement(React__default.Fragment, null, renderRowActions ? React__default.createElement(React__default.Fragment, null, renderRowActions(row, tableInstance)) : row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id) ? React__default.createElement(MRT_EditActionButtons, {
1852
+ row: row,
1853
+ tableInstance: tableInstance
1854
+ }) : !renderRowActionMenuItems && enableRowEditing ? React__default.createElement(material.Tooltip, {
1855
+ placement: "right",
1856
+ arrow: true,
1857
+ title: localization.edit
1858
+ }, React__default.createElement(material.IconButton, {
1859
+ sx: commonIconButtonStyles,
1860
+ onClick: handleEdit
1861
+ }, React__default.createElement(EditIcon, null))) : renderRowActionMenuItems ? React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1862
+ arrow: true,
1863
+ enterDelay: 1000,
1864
+ enterNextDelay: 1000,
1865
+ title: localization.rowActions
1866
+ }, React__default.createElement(material.IconButton, {
1867
+ "aria-label": localization.rowActions,
1868
+ onClick: handleOpenRowActionMenu,
1869
+ size: "small",
1870
+ sx: commonIconButtonStyles
1871
+ }, React__default.createElement(MoreHorizIcon, null))), React__default.createElement(MRT_RowActionMenu, {
1872
+ anchorEl: anchorEl,
1873
+ handleEdit: handleEdit,
1874
+ row: row,
1875
+ setAnchorEl: setAnchorEl,
1876
+ tableInstance: tableInstance
1877
+ })) : null);
1878
+ };
1879
+
1880
+ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1881
+ var row = _ref.row,
1882
+ selectAll = _ref.selectAll,
1883
+ tableInstance = _ref.tableInstance;
1884
+ var getRowModel = tableInstance.getRowModel,
1885
+ getSelectedRowModel = tableInstance.getSelectedRowModel,
1886
+ getState = tableInstance.getState,
1887
+ getToggleAllRowsSelectedProps = tableInstance.getToggleAllRowsSelectedProps,
1888
+ _tableInstance$option = tableInstance.options,
1889
+ isLoading = _tableInstance$option.isLoading,
1890
+ localization = _tableInstance$option.localization,
1891
+ muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1892
+ onSelectChange = _tableInstance$option.onSelectChange,
1893
+ onSelectAllChange = _tableInstance$option.onSelectAllChange;
1894
+
1895
+ var _getState = getState(),
1896
+ isDensePadding = _getState.isDensePadding;
1897
+
1898
+ var handleSelectChange = function handleSelectChange(event) {
1899
+ if (selectAll) {
1900
+ var _getToggleAllRowsSele;
1901
+
1902
+ getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1903
+ onSelectAllChange == null ? void 0 : onSelectAllChange(event, event.target.checked ? getRowModel().flatRows : []);
1904
+ } else if (row) {
1905
+ var _row$getToggleSelecte;
1906
+
1907
+ row == null ? void 0 : (_row$getToggleSelecte = row.getToggleSelectedProps()) == null ? void 0 : _row$getToggleSelecte.onChange == null ? void 0 : _row$getToggleSelecte.onChange(event);
1908
+ onSelectChange == null ? void 0 : onSelectChange(event, row, event.target.checked ? [].concat(getSelectedRowModel().flatRows, [row]) : getSelectedRowModel().flatRows.filter(function (selectedRow) {
1909
+ return selectedRow.id !== row.id;
1910
+ }));
1911
+ }
1912
+ };
1913
+
1914
+ var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps(selectAll, row, tableInstance) : muiSelectCheckboxProps;
1915
+ var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1916
+
1917
+ var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
1918
+
1919
+ return React__default.createElement(material.Tooltip, {
1920
+ arrow: true,
1921
+ enterDelay: 1000,
1922
+ enterNextDelay: 1000,
1923
+ title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1924
+ }, React__default.createElement(material.Checkbox, Object.assign({
1925
+ disabled: isLoading,
1926
+ inputProps: {
1927
+ 'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1928
+ },
1929
+ size: isDensePadding ? 'small' : 'medium'
1930
+ }, checkboxProps, {
1931
+ sx: {
1932
+ height: isDensePadding ? '1.75rem' : '2.25rem',
1933
+ width: isDensePadding ? '1.75rem' : '2.25rem'
1934
+ },
1935
+ onChange: handleSelectChange,
1936
+ title: undefined
1937
+ })));
1938
+ };
1939
+
1940
+ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1941
+ var tableInstance = _ref.tableInstance;
1942
+ var getState = tableInstance.getState,
1943
+ setGlobalFilter = tableInstance.setGlobalFilter,
1944
+ _tableInstance$option = tableInstance.options,
1945
+ _tableInstance$option2 = _tableInstance$option.icons,
1946
+ SearchIcon = _tableInstance$option2.SearchIcon,
1947
+ CloseIcon = _tableInstance$option2.CloseIcon,
1948
+ idPrefix = _tableInstance$option.idPrefix,
1949
+ localization = _tableInstance$option.localization,
1950
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1951
+ onGlobalFilterChange = _tableInstance$option.onGlobalFilterChange;
1952
+
1953
+ var _getState = getState(),
1954
+ globalFilter = _getState.globalFilter,
1955
+ showSearch = _getState.showSearch;
1956
+
1957
+ var _useState = React.useState(null),
1958
+ anchorEl = _useState[0],
1959
+ setAnchorEl = _useState[1];
1960
+
1961
+ var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1962
+ searchValue = _useState2[0],
1963
+ setSearchValue = _useState2[1];
1964
+
1965
+ var handleChange = React.useCallback(material.debounce(function (event) {
1966
+ var _event$target$value;
1967
+
1968
+ setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1969
+ onGlobalFilterChange == null ? void 0 : onGlobalFilterChange(event);
1970
+ }, 200), []);
1971
+
1972
+ var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1973
+ setAnchorEl(event.currentTarget);
1974
+ };
1975
+
1976
+ var handleClear = function handleClear() {
1977
+ setSearchValue('');
1978
+ setGlobalFilter(undefined);
1979
+ };
1980
+
1981
+ return React__default.createElement(material.Collapse, {
1982
+ "in": showSearch,
1983
+ orientation: "horizontal"
1984
+ }, React__default.createElement(material.TextField, Object.assign({
1985
+ id: "mrt-" + idPrefix + "-search-text-field",
1986
+ placeholder: localization.search,
1987
+ onChange: function onChange(event) {
1988
+ setSearchValue(event.target.value);
1989
+ handleChange(event);
1990
+ },
1991
+ value: searchValue != null ? searchValue : '',
1992
+ variant: "standard",
1993
+ InputProps: {
1994
+ startAdornment: React__default.createElement(material.InputAdornment, {
1995
+ position: "start"
1996
+ }, React__default.createElement(material.Tooltip, {
1997
+ arrow: true,
1998
+ title: localization.changeSearchMode
1999
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
2000
+ "aria-label": localization.changeSearchMode,
2001
+ onClick: handleGlobalFilterMenuOpen,
2002
+ size: "small",
2003
+ sx: {
2004
+ height: '1.75rem',
2005
+ width: '1.75rem'
2006
+ }
2007
+ }, React__default.createElement(SearchIcon, {
2008
+ fontSize: "small"
2009
+ }))))),
2010
+ endAdornment: React__default.createElement(material.InputAdornment, {
2011
+ position: "end"
2012
+ }, React__default.createElement(material.IconButton, {
2013
+ "aria-label": localization.clearSearch,
2014
+ disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
2015
+ onClick: handleClear,
2016
+ size: "small",
2017
+ title: localization.clearSearch
2018
+ }, React__default.createElement(CloseIcon, {
2019
+ fontSize: "small"
2020
+ })))
2021
+ }
2022
+ }, muiSearchTextFieldProps, {
2023
+ sx: _extends({
2024
+ justifySelf: 'end'
2025
+ }, muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.sx)
2026
+ })), React__default.createElement(MRT_FilterTypeMenu, {
2027
+ anchorEl: anchorEl,
2028
+ setAnchorEl: setAnchorEl,
2029
+ tableInstance: tableInstance
2030
+ }));
2031
+ };
2032
+
2033
+ var _excluded = ["tableInstance"];
2034
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2035
+ var tableInstance = _ref.tableInstance,
2036
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
2037
+
2038
+ var getState = tableInstance.getState,
2039
+ _tableInstance$option = tableInstance.options,
2040
+ _tableInstance$option2 = _tableInstance$option.icons,
2041
+ FullscreenExitIcon = _tableInstance$option2.FullscreenExitIcon,
2042
+ FullscreenIcon = _tableInstance$option2.FullscreenIcon,
2043
+ localization = _tableInstance$option.localization,
2044
+ setIsFullScreen = _tableInstance$option.setIsFullScreen;
2045
+
2046
+ var _getState = getState(),
2047
+ isFullScreen = _getState.isFullScreen;
2048
+
2049
+ return React__default.createElement(material.Tooltip, {
2050
+ arrow: true,
2051
+ title: localization.toggleFullScreen
2052
+ }, React__default.createElement(material.IconButton, Object.assign({
2053
+ "aria-label": localization.showHideFilters,
2054
+ onClick: function onClick() {
2055
+ return setIsFullScreen(!isFullScreen);
2056
+ },
2057
+ size: "small"
2058
+ }, rest), isFullScreen ? React__default.createElement(FullscreenExitIcon, null) : React__default.createElement(FullscreenIcon, null)));
2445
2059
  };
2446
- var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
2447
- var _tableInstance$state$;
2448
2060
 
2449
- var row = _ref.row;
2061
+ var _excluded$1 = ["tableInstance"];
2062
+ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2063
+ var tableInstance = _ref.tableInstance,
2064
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
2450
2065
 
2451
- var _useMRT = useMRT(),
2452
- enableRowEditing = _useMRT.enableRowEditing,
2453
- _useMRT$icons = _useMRT.icons,
2454
- EditIcon = _useMRT$icons.EditIcon,
2455
- MoreHorizIcon = _useMRT$icons.MoreHorizIcon,
2456
- localization = _useMRT.localization,
2457
- renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
2458
- renderRowActions = _useMRT.renderRowActions,
2459
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
2460
- tableInstance = _useMRT.tableInstance;
2066
+ var _tableInstance$option = tableInstance.options,
2067
+ ViewColumnIcon = _tableInstance$option.icons.ViewColumnIcon,
2068
+ localization = _tableInstance$option.localization;
2461
2069
 
2462
2070
  var _useState = React.useState(null),
2463
2071
  anchorEl = _useState[0],
2464
2072
  setAnchorEl = _useState[1];
2465
2073
 
2466
- var handleOpenRowActionMenu = function handleOpenRowActionMenu(event) {
2467
- event.stopPropagation();
2468
- event.preventDefault();
2074
+ var handleClick = function handleClick(event) {
2469
2075
  setAnchorEl(event.currentTarget);
2470
2076
  };
2471
2077
 
2472
- var handleEdit = function handleEdit() {
2473
- setCurrentEditingRow(_extends({}, row));
2474
- setAnchorEl(null);
2475
- };
2476
-
2477
- return React__default.createElement(material.TableCell, {
2478
- sx: commonTableBodyButtonCellStyles(tableInstance.state.densePadding)
2479
- }, renderRowActions ? React__default.createElement(React__default.Fragment, null, renderRowActions(row, tableInstance)) : row.id === ((_tableInstance$state$ = tableInstance.state.currentEditingRow) == null ? void 0 : _tableInstance$state$.id) ? React__default.createElement(MRT_EditActionButtons, {
2480
- row: row
2481
- }) : !renderRowActionMenuItems && enableRowEditing ? React__default.createElement(material.Tooltip, {
2482
- placement: "right",
2483
- arrow: true,
2484
- title: localization.edit
2485
- }, React__default.createElement(material.IconButton, {
2486
- sx: commonIconButtonStyles,
2487
- onClick: handleEdit
2488
- }, React__default.createElement(EditIcon, null))) : renderRowActionMenuItems ? React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2078
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2489
2079
  arrow: true,
2490
- enterDelay: 1000,
2491
- enterNextDelay: 1000,
2492
- title: localization.rowActions
2493
- }, React__default.createElement(material.IconButton, {
2494
- "aria-label": localization.rowActions,
2495
- onClick: handleOpenRowActionMenu,
2496
- size: "small",
2497
- sx: commonIconButtonStyles
2498
- }, React__default.createElement(MoreHorizIcon, null))), React__default.createElement(MRT_RowActionMenu, {
2080
+ title: localization.showHideColumns
2081
+ }, React__default.createElement(material.IconButton, Object.assign({
2082
+ "aria-label": localization.showHideColumns,
2083
+ onClick: handleClick,
2084
+ size: "small"
2085
+ }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
2499
2086
  anchorEl: anchorEl,
2500
- handleEdit: handleEdit,
2501
- row: row,
2502
- setAnchorEl: setAnchorEl
2503
- })) : null);
2087
+ setAnchorEl: setAnchorEl,
2088
+ tableInstance: tableInstance
2089
+ }));
2504
2090
  };
2505
2091
 
2506
- var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2507
- var row = _ref.row;
2508
-
2509
- var _useMRT = useMRT(),
2510
- anyRowsCanExpand = _useMRT.anyRowsCanExpand,
2511
- enableRowActions = _useMRT.enableRowActions,
2512
- enableRowEditing = _useMRT.enableRowEditing,
2513
- enableRowNumbers = _useMRT.enableRowNumbers,
2514
- enableSelection = _useMRT.enableSelection,
2515
- muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
2516
- onRowClick = _useMRT.onRowClick,
2517
- positionActionsColumn = _useMRT.positionActionsColumn,
2518
- renderDetailPanel = _useMRT.renderDetailPanel,
2519
- tableInstance = _useMRT.tableInstance,
2520
- densePadding = _useMRT.tableInstance.state.densePadding;
2092
+ var _excluded$2 = ["tableInstance"];
2093
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2094
+ var tableInstance = _ref.tableInstance,
2095
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
2521
2096
 
2522
- var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
2097
+ var getState = tableInstance.getState,
2098
+ _tableInstance$option = tableInstance.options,
2099
+ _tableInstance$option2 = _tableInstance$option.icons,
2100
+ DensityMediumIcon = _tableInstance$option2.DensityMediumIcon,
2101
+ DensitySmallIcon = _tableInstance$option2.DensitySmallIcon,
2102
+ localization = _tableInstance$option.localization,
2103
+ setIsDensePadding = _tableInstance$option.setIsDensePadding;
2523
2104
 
2524
- var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
2525
- style: _extends({}, row.getRowProps().style, mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style)
2526
- });
2105
+ var _getState = getState(),
2106
+ isDensePadding = _getState.isDensePadding;
2527
2107
 
2528
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
2529
- hover: true,
2530
- onClick: function onClick(event) {
2531
- return onRowClick == null ? void 0 : onRowClick(event, row);
2108
+ return React__default.createElement(material.Tooltip, {
2109
+ arrow: true,
2110
+ title: localization.toggleDensePadding
2111
+ }, React__default.createElement(material.IconButton, Object.assign({
2112
+ "aria-label": localization.toggleDensePadding,
2113
+ onClick: function onClick() {
2114
+ return setIsDensePadding(!isDensePadding);
2532
2115
  },
2533
- selected: row.isSelected
2534
- }, tableRowProps), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
2535
- row: row
2536
- }), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(material.TableCell, {
2537
- size: "small",
2538
- sx: _extends({}, commonTableBodyButtonCellStyles(densePadding), {
2539
- pl: row.depth + 0.5 + "rem",
2540
- textAlign: 'left'
2541
- })
2542
- }, React__default.createElement(MRT_ExpandButton, {
2543
- row: row
2544
- })), enableSelection && React__default.createElement(material.TableCell, {
2545
- sx: _extends({}, commonTableBodyButtonCellStyles(tableInstance.state.densePadding), {
2546
- maxWidth: '3rem',
2547
- width: '3rem'
2548
- })
2549
- }, React__default.createElement(MRT_SelectCheckbox, {
2550
- row: row
2551
- })), enableRowNumbers && React__default.createElement(material.TableCell, {
2552
- sx: _extends({}, commonTableBodyCellStyles(densePadding))
2553
- }, row.index + 1), row.cells.map(function (cell) {
2554
- return React__default.createElement(MRT_TableBodyCell, {
2555
- key: cell.getCellProps().key,
2556
- cell: cell
2557
- });
2558
- }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
2559
- row: row
2560
- })), renderDetailPanel && !row.isGrouped && React__default.createElement(MRT_TableDetailPanel, {
2561
- row: row
2562
- }));
2116
+ size: "small"
2117
+ }, rest), isDensePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2563
2118
  };
2564
2119
 
2565
- var MRT_TableBody = function MRT_TableBody() {
2566
- var _useMRT = useMRT(),
2567
- tableInstance = _useMRT.tableInstance,
2568
- muiTableBodyProps = _useMRT.muiTableBodyProps,
2569
- manualPagination = _useMRT.manualPagination;
2120
+ var _excluded$3 = ["tableInstance"];
2121
+ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
2122
+ var tableInstance = _ref.tableInstance,
2123
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
2570
2124
 
2571
- var rows = manualPagination ? tableInstance.rows : tableInstance.page;
2572
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps(tableInstance) : muiTableBodyProps;
2125
+ var getState = tableInstance.getState,
2126
+ _tableInstance$option = tableInstance.options,
2127
+ _tableInstance$option2 = _tableInstance$option.icons,
2128
+ FilterListIcon = _tableInstance$option2.FilterListIcon,
2129
+ FilterListOffIcon = _tableInstance$option2.FilterListOffIcon,
2130
+ localization = _tableInstance$option.localization,
2131
+ setShowFilters = _tableInstance$option.setShowFilters;
2573
2132
 
2574
- var tableBodyProps = _extends({}, mTableBodyProps, tableInstance.getTableBodyProps(), {
2575
- style: _extends({}, tableInstance.getTableBodyProps().style, mTableBodyProps == null ? void 0 : mTableBodyProps.style)
2576
- });
2133
+ var _getState = getState(),
2134
+ showFilters = _getState.showFilters;
2577
2135
 
2578
- return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps, {
2579
- sx: _extends({}, tableBodyProps == null ? void 0 : tableBodyProps.sx)
2580
- }), rows.map(function (row) {
2581
- tableInstance.prepareRow(row);
2582
- return React__default.createElement(MRT_TableBodyRow, {
2583
- key: row.getRowProps().key,
2584
- row: row
2585
- });
2586
- }));
2136
+ return React__default.createElement(material.Tooltip, {
2137
+ arrow: true,
2138
+ title: localization.showHideFilters
2139
+ }, React__default.createElement(material.IconButton, Object.assign({
2140
+ "aria-label": localization.showHideFilters,
2141
+ onClick: function onClick() {
2142
+ return setShowFilters(!showFilters);
2143
+ },
2144
+ size: "small"
2145
+ }, rest), showFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterListIcon, null)));
2587
2146
  };
2588
2147
 
2589
- var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2590
- var _column$columns;
2148
+ var _excluded$4 = ["tableInstance"];
2149
+ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2150
+ var tableInstance = _ref.tableInstance,
2151
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
2152
+
2153
+ var getState = tableInstance.getState,
2154
+ _tableInstance$option = tableInstance.options,
2155
+ _tableInstance$option2 = _tableInstance$option.icons,
2156
+ SearchIcon = _tableInstance$option2.SearchIcon,
2157
+ SearchOffIcon = _tableInstance$option2.SearchOffIcon,
2158
+ idPrefix = _tableInstance$option.idPrefix,
2159
+ localization = _tableInstance$option.localization,
2160
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
2161
+ setShowSearch = _tableInstance$option.setShowSearch;
2162
+
2163
+ var _getState = getState(),
2164
+ showSearch = _getState.showSearch;
2591
2165
 
2592
- var column = _ref.column;
2166
+ var handleToggleSearch = function handleToggleSearch() {
2167
+ setShowSearch(!showSearch);
2168
+ setTimeout(function () {
2169
+ var _document$getElementB, _muiSearchTextFieldPr;
2593
2170
 
2594
- var _useMRT = useMRT(),
2595
- muiTableFooterCellProps = _useMRT.muiTableFooterCellProps,
2596
- enableColumnResizing = _useMRT.enableColumnResizing,
2597
- densePadding = _useMRT.tableInstance.state.densePadding;
2171
+ return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "mrt-" + idPrefix + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
2172
+ }, 200);
2173
+ };
2598
2174
 
2599
- var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
2600
- var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
2601
- var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
2175
+ return React__default.createElement(material.Tooltip, {
2176
+ arrow: true,
2177
+ title: localization.showHideSearch
2178
+ }, React__default.createElement(material.IconButton, Object.assign({
2179
+ size: "small",
2180
+ onClick: handleToggleSearch
2181
+ }, rest), showSearch ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
2182
+ };
2602
2183
 
2603
- var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps, column.getFooterProps(), {
2604
- style: _extends({}, column.getFooterProps().style, mTableFooterCellProps == null ? void 0 : mTableFooterCellProps.style, mcTableFooterCellProps == null ? void 0 : mcTableFooterCellProps.style)
2605
- });
2184
+ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
2185
+ var tableInstance = _ref.tableInstance;
2186
+ var _tableInstance$option = tableInstance.options,
2187
+ enableColumnFilters = _tableInstance$option.enableColumnFilters,
2188
+ enableHiding = _tableInstance$option.enableHiding,
2189
+ enableDensePaddingToggle = _tableInstance$option.enableDensePaddingToggle,
2190
+ enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
2191
+ enableFullScreenToggle = _tableInstance$option.enableFullScreenToggle,
2192
+ renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
2606
2193
 
2607
- return React__default.createElement(material.TableCell, Object.assign({
2608
- align: isParentHeader ? 'center' : 'left',
2609
- variant: "head"
2610
- }, tableCellProps, {
2194
+ if (renderToolbarInternalActions) {
2195
+ return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions(tableInstance, {
2196
+ MRT_ToggleSearchButton: MRT_ToggleSearchButton,
2197
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
2198
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
2199
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
2200
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton
2201
+ }));
2202
+ }
2203
+
2204
+ return React__default.createElement(material.Box, {
2205
+ sx: {
2206
+ display: 'flex',
2207
+ gap: '0.5rem',
2208
+ alignItems: 'center',
2209
+ p: '0 0.5rem'
2210
+ }
2211
+ }, enableGlobalFilter && React__default.createElement(MRT_ToggleSearchButton, {
2212
+ tableInstance: tableInstance
2213
+ }), enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
2214
+ tableInstance: tableInstance
2215
+ }), enableHiding && React__default.createElement(MRT_ShowHideColumnsButton, {
2216
+ tableInstance: tableInstance
2217
+ }), enableDensePaddingToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
2218
+ tableInstance: tableInstance
2219
+ }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
2220
+ tableInstance: tableInstance
2221
+ }));
2222
+ };
2223
+
2224
+ var MRT_TablePagination = function MRT_TablePagination(_ref) {
2225
+ var tableInstance = _ref.tableInstance;
2226
+ var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2227
+ getState = tableInstance.getState,
2228
+ setPageIndex = tableInstance.setPageIndex,
2229
+ setPageSize = tableInstance.setPageSize,
2230
+ muiTablePaginationProps = tableInstance.options.muiTablePaginationProps;
2231
+
2232
+ var _getState = getState(),
2233
+ _getState$pagination = _getState.pagination,
2234
+ _getState$pagination$ = _getState$pagination.pageSize,
2235
+ pageSize = _getState$pagination$ === void 0 ? 10 : _getState$pagination$,
2236
+ _getState$pagination$2 = _getState$pagination.pageIndex,
2237
+ pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2;
2238
+
2239
+ var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps(tableInstance) : muiTablePaginationProps;
2240
+
2241
+ var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
2242
+ setPageSize(+event.target.value);
2243
+ };
2244
+
2245
+ var showFirstLastPageButtons = getPrePaginationRowModel().rows.length / pageSize > 2;
2246
+ return React__default.createElement(material.TablePagination, Object.assign({
2247
+ component: "div",
2248
+ count: getPrePaginationRowModel().rows.length,
2249
+ onPageChange: function onPageChange(_, newPage) {
2250
+ return setPageIndex(newPage);
2251
+ },
2252
+ onRowsPerPageChange: handleChangeRowsPerPage,
2253
+ page: pageIndex,
2254
+ rowsPerPage: pageSize,
2255
+ SelectProps: {
2256
+ sx: {
2257
+ m: '0 1rem 0 1ch'
2258
+ }
2259
+ },
2260
+ showFirstButton: showFirstLastPageButtons,
2261
+ showLastButton: showFirstLastPageButtons
2262
+ }, tablePaginationProps, {
2611
2263
  sx: _extends({
2612
- fontWeight: 'bold',
2613
- verticalAlign: 'text-top',
2614
- p: densePadding ? '0.5rem' : '1rem',
2615
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
2616
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
2617
- }), column.render('Footer'));
2264
+ m: '0 0.5rem',
2265
+ position: 'relative',
2266
+ zIndex: 2
2267
+ }, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
2268
+ }));
2618
2269
  };
2619
2270
 
2620
- var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2621
- var footerGroup = _ref.footerGroup;
2622
-
2623
- var _useMRT = useMRT(),
2624
- anyRowsCanExpand = _useMRT.anyRowsCanExpand,
2625
- columns = _useMRT.columns,
2626
- enableRowActions = _useMRT.enableRowActions,
2627
- enableRowEditing = _useMRT.enableRowEditing,
2628
- enableRowNumbers = _useMRT.enableRowNumbers,
2629
- enableSelection = _useMRT.enableSelection,
2630
- muiTableFooterRowProps = _useMRT.muiTableFooterRowProps,
2631
- positionActionsColumn = _useMRT.positionActionsColumn,
2632
- renderDetailPanel = _useMRT.renderDetailPanel,
2633
- tableInstance = _useMRT.tableInstance; //if no content in row, skip row
2634
-
2635
-
2636
- if (!(columns != null && columns.some(function (c) {
2637
- return c.Footer;
2638
- }))) return null;
2639
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps(footerGroup) : muiTableFooterRowProps;
2271
+ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
2272
+ var _localization$selecte, _localization$selecte2;
2640
2273
 
2641
- var tableRowProps = _extends({}, mTableFooterRowProps, footerGroup.getFooterGroupProps(), {
2642
- style: _extends({}, footerGroup.getFooterGroupProps().style, mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style)
2643
- });
2274
+ var tableInstance = _ref.tableInstance;
2275
+ var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2276
+ getSelectedRowModel = tableInstance.getSelectedRowModel,
2277
+ getState = tableInstance.getState,
2278
+ toggleColumnGrouping = tableInstance.toggleColumnGrouping,
2279
+ _tableInstance$option = tableInstance.options,
2280
+ localization = _tableInstance$option.localization,
2281
+ muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
2282
+ positionToolbarActions = _tableInstance$option.positionToolbarActions,
2283
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
2284
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
2285
+
2286
+ var _getState = getState(),
2287
+ grouping = _getState.grouping;
2644
2288
 
2645
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && React__default.createElement(MRT_TableSpacerCell, null), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React__default.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_TableSpacerCell, {
2646
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
2647
- }), enableSelection && React__default.createElement(MRT_TableSpacerCell, {
2648
- width: "1rem"
2649
- }), footerGroup.headers.map(function (column) {
2650
- return React__default.createElement(MRT_TableFooterCell, {
2651
- key: column.getFooterProps().key,
2652
- column: column
2653
- });
2654
- }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_TableSpacerCell, null));
2289
+ var isMobile = material.useMediaQuery('(max-width:720px)');
2290
+ var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps(tableInstance) : muiTableToolbarAlertBannerProps;
2291
+ var selectMessage = getSelectedRowModel().rows.length > 0 ? (_localization$selecte = localization.selectedCountOfRowCountRowsSelected) == null ? void 0 : (_localization$selecte2 = _localization$selecte.replace('{selectedCount}', getSelectedRowModel().rows.length.toString())) == null ? void 0 : _localization$selecte2.replace('{rowCount}', getPrePaginationRowModel().rows.length.toString()) : null;
2292
+ var groupedByMessage = grouping.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
2293
+ var _tableInstance$getAll;
2294
+
2295
+ return React__default.createElement(React.Fragment, {
2296
+ key: index + "-" + columnId
2297
+ }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
2298
+ color: "secondary",
2299
+ label: (_tableInstance$getAll = tableInstance.getAllColumns().find(function (column) {
2300
+ return column.id === columnId;
2301
+ })) == null ? void 0 : _tableInstance$getAll.header,
2302
+ onDelete: function onDelete() {
2303
+ return toggleColumnGrouping(columnId);
2304
+ }
2305
+ }));
2306
+ })) : null;
2307
+ var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
2308
+ return React__default.createElement(material.Collapse, {
2309
+ "in": !!selectMessage || !!groupedByMessage,
2310
+ timeout: displayAbsolute ? 0 : 200
2311
+ }, React__default.createElement(material.Alert, Object.assign({
2312
+ color: "info",
2313
+ icon: false,
2314
+ sx: _extends({
2315
+ borderRadius: 0,
2316
+ fontSize: '1rem',
2317
+ left: 0,
2318
+ p: 0,
2319
+ position: displayAbsolute ? 'absolute' : 'relative',
2320
+ right: 0,
2321
+ minHeight: '3.5rem',
2322
+ top: 0,
2323
+ width: '100%',
2324
+ zIndex: 2
2325
+ }, alertProps == null ? void 0 : alertProps.sx)
2326
+ }, alertProps), React__default.createElement(material.Box, {
2327
+ sx: {
2328
+ p: '0.5rem 1rem'
2329
+ }
2330
+ }, selectMessage, groupedByMessage)));
2655
2331
  };
2656
2332
 
2657
- var MRT_TableFooter = function MRT_TableFooter() {
2658
- var _useMRT = useMRT(),
2659
- muiTableFooterProps = _useMRT.muiTableFooterProps,
2660
- tableInstance = _useMRT.tableInstance;
2333
+ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
2334
+ var tableInstance = _ref.tableInstance;
2335
+ var _tableInstance$option = tableInstance.options,
2336
+ muiLinearProgressProps = _tableInstance$option.muiLinearProgressProps,
2337
+ isReloading = _tableInstance$option.isReloading,
2338
+ isLoading = _tableInstance$option.isLoading;
2339
+ var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
2340
+ return React__default.createElement(material.Collapse, {
2341
+ "in": isReloading || isLoading,
2342
+ unmountOnExit: true
2343
+ }, React__default.createElement(material.LinearProgress, Object.assign({
2344
+ "aria-label": "Loading",
2345
+ "aria-busy": "true"
2346
+ }, linearProgressProps)));
2347
+ };
2661
2348
 
2662
- var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
2663
- return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
2664
- return React__default.createElement(MRT_TableFooterRow, {
2665
- key: footerGroup.getFooterGroupProps().key,
2666
- footerGroup: footerGroup
2667
- });
2349
+ var commonToolbarStyles = function commonToolbarStyles(_ref) {
2350
+ var theme = _ref.theme;
2351
+ return {
2352
+ backgroundColor: theme.palette.background["default"],
2353
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2354
+ display: 'grid',
2355
+ p: '0 !important',
2356
+ width: '100%',
2357
+ zIndex: 1
2358
+ };
2359
+ };
2360
+ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
2361
+ var _renderToolbarCustomA;
2362
+
2363
+ var tableInstance = _ref2.tableInstance;
2364
+ var getState = tableInstance.getState,
2365
+ _tableInstance$option = tableInstance.options,
2366
+ enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
2367
+ enablePagination = _tableInstance$option.enablePagination,
2368
+ hideToolbarInternalActions = _tableInstance$option.hideToolbarInternalActions,
2369
+ idPrefix = _tableInstance$option.idPrefix,
2370
+ muiTableToolbarTopProps = _tableInstance$option.muiTableToolbarTopProps,
2371
+ positionPagination = _tableInstance$option.positionPagination,
2372
+ positionToolbarActions = _tableInstance$option.positionToolbarActions,
2373
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
2374
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
2375
+
2376
+ var _getState = getState(),
2377
+ isFullScreen = _getState.isFullScreen;
2378
+
2379
+ var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
2380
+ return React__default.createElement(material.Toolbar, Object.assign({
2381
+ id: "mrt-" + idPrefix + "-toolbar-top",
2382
+ variant: "dense"
2383
+ }, toolbarProps, {
2384
+ sx: function sx(theme) {
2385
+ return _extends({
2386
+ position: isFullScreen ? 'sticky' : undefined,
2387
+ top: isFullScreen ? '0' : undefined
2388
+ }, commonToolbarStyles({
2389
+ theme: theme
2390
+ }), toolbarProps == null ? void 0 : toolbarProps.sx);
2391
+ }
2392
+ }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, {
2393
+ tableInstance: tableInstance
2394
+ }), React__default.createElement(material.Box, {
2395
+ sx: {
2396
+ p: '0.5rem',
2397
+ display: 'flex',
2398
+ justifyContent: 'space-between'
2399
+ }
2400
+ }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(material.Box, {
2401
+ sx: {
2402
+ display: 'flex',
2403
+ gap: '0.5rem',
2404
+ position: 'relative',
2405
+ zIndex: 3
2406
+ }
2407
+ }, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
2408
+ tableInstance: tableInstance
2409
+ }), !hideToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
2410
+ tableInstance: tableInstance
2411
+ }))), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
2412
+ tableInstance: tableInstance
2413
+ })), React__default.createElement(MRT_LinearProgressBar, {
2414
+ tableInstance: tableInstance
2668
2415
  }));
2669
2416
  };
2670
2417
 
2671
- var MRT_Table = function MRT_Table() {
2672
- var _useMRT = useMRT(),
2673
- tableInstance = _useMRT.tableInstance,
2674
- muiTableProps = _useMRT.muiTableProps,
2675
- hideTableHead = _useMRT.hideTableHead,
2676
- hideTableFooter = _useMRT.hideTableFooter;
2418
+ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
2419
+ var tableInstance = _ref.tableInstance;
2420
+ var getState = tableInstance.getState,
2421
+ _tableInstance$option = tableInstance.options,
2422
+ hideToolbarInternalActions = _tableInstance$option.hideToolbarInternalActions,
2423
+ idPrefix = _tableInstance$option.idPrefix,
2424
+ enablePagination = _tableInstance$option.enablePagination,
2425
+ muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
2426
+ positionPagination = _tableInstance$option.positionPagination,
2427
+ positionToolbarActions = _tableInstance$option.positionToolbarActions,
2428
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner;
2677
2429
 
2678
- var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
2679
-
2680
- var tableProps = _extends({}, mTableProps, tableInstance.getTableProps(), {
2681
- style: _extends({}, tableInstance.getTableProps().style, mTableProps == null ? void 0 : mTableProps.style)
2682
- });
2430
+ var _getState = getState(),
2431
+ isFullScreen = _getState.isFullScreen;
2683
2432
 
2684
- return React__default.createElement(material.Table, Object.assign({}, tableProps), !hideTableHead && React__default.createElement(MRT_TableHead, null), React__default.createElement(MRT_TableBody, null), !hideTableFooter && React__default.createElement(MRT_TableFooter, null));
2433
+ var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
2434
+ return React__default.createElement(material.Toolbar, Object.assign({
2435
+ id: "mrt-" + idPrefix + "-toolbar-bottom",
2436
+ variant: "dense"
2437
+ }, toolbarProps, {
2438
+ sx: function sx(theme) {
2439
+ return _extends({}, commonToolbarStyles({
2440
+ theme: theme
2441
+ }), {
2442
+ bottom: isFullScreen ? '0' : undefined,
2443
+ position: isFullScreen ? 'fixed' : undefined,
2444
+ boxShadow: "-3px 0 6px " + material.alpha(theme.palette.common.black, 0.1)
2445
+ }, toolbarProps == null ? void 0 : toolbarProps.sx);
2446
+ }
2447
+ }), React__default.createElement(MRT_LinearProgressBar, {
2448
+ tableInstance: tableInstance
2449
+ }), React__default.createElement(material.Box, {
2450
+ sx: {
2451
+ display: 'flex',
2452
+ justifyContent: 'space-between',
2453
+ width: '100%'
2454
+ }
2455
+ }, !hideToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, {
2456
+ tableInstance: tableInstance
2457
+ }) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
2458
+ tableInstance: tableInstance
2459
+ }), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
2460
+ tableInstance: tableInstance
2461
+ })));
2685
2462
  };
2686
2463
 
2687
- var MRT_SearchTextField = function MRT_SearchTextField() {
2688
- var _useMRT = useMRT(),
2689
- _useMRT$icons = _useMRT.icons,
2690
- SearchIcon = _useMRT$icons.SearchIcon,
2691
- CloseIcon = _useMRT$icons.CloseIcon,
2692
- idPrefix = _useMRT.idPrefix,
2693
- localization = _useMRT.localization,
2694
- muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
2695
- onGlobalFilterChange = _useMRT.onGlobalFilterChange,
2696
- tableInstance = _useMRT.tableInstance;
2464
+ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2465
+ var _column$getColumnFilt, _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
2466
+
2467
+ var header = _ref.header,
2468
+ tableInstance = _ref.tableInstance;
2469
+ var getState = tableInstance.getState,
2470
+ _tableInstance$option = tableInstance.options,
2471
+ _tableInstance$option2 = _tableInstance$option.icons,
2472
+ FilterListIcon = _tableInstance$option2.FilterListIcon,
2473
+ CloseIcon = _tableInstance$option2.CloseIcon,
2474
+ idPrefix = _tableInstance$option.idPrefix,
2475
+ localization = _tableInstance$option.localization,
2476
+ muiTableHeadCellFilterTextFieldProps = _tableInstance$option.muiTableHeadCellFilterTextFieldProps,
2477
+ setCurrentFilterTypes = _tableInstance$option.setCurrentFilterTypes;
2478
+ var column = header.column;
2479
+
2480
+ var _getState = getState(),
2481
+ currentFilterTypes = _getState.currentFilterTypes;
2697
2482
 
2698
2483
  var _useState = React.useState(null),
2699
2484
  anchorEl = _useState[0],
2700
2485
  setAnchorEl = _useState[1];
2701
2486
 
2702
- var _useState2 = React.useState(''),
2703
- searchValue = _useState2[0],
2704
- setSearchValue = _useState2[1];
2487
+ var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
2488
+ var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
2489
+
2490
+ var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
2491
+
2492
+ var _useState2 = React.useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
2493
+ filterValue = _useState2[0],
2494
+ setFilterValue = _useState2[1];
2705
2495
 
2706
- var handleChange = reactTable.useAsyncDebounce(function (event) {
2496
+ var handleChange = React.useCallback(material.debounce(function (event) {
2707
2497
  var _event$target$value;
2708
2498
 
2709
- tableInstance.setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
2710
- onGlobalFilterChange == null ? void 0 : onGlobalFilterChange(event);
2711
- }, 200);
2499
+ return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
2500
+ }, 150), []);
2712
2501
 
2713
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
2502
+ var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
2714
2503
  setAnchorEl(event.currentTarget);
2715
2504
  };
2716
2505
 
2717
2506
  var handleClear = function handleClear() {
2718
- setSearchValue('');
2719
- tableInstance.setGlobalFilter(undefined);
2507
+ setFilterValue('');
2508
+ column.setColumnFilterValue(undefined);
2720
2509
  };
2721
2510
 
2722
- return React__default.createElement(material.Collapse, {
2723
- "in": tableInstance.state.showSearch,
2724
- orientation: "horizontal"
2725
- }, React__default.createElement(material.TextField, Object.assign({
2726
- id: "mrt-" + idPrefix + "-search-text-field",
2727
- placeholder: localization.search,
2511
+ var handleClearFilterChip = function handleClearFilterChip() {
2512
+ setFilterValue('');
2513
+ column.setColumnFilterValue(undefined);
2514
+ setCurrentFilterTypes(function (prev) {
2515
+ var _extends2;
2516
+
2517
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_TYPE.BEST_MATCH, _extends2));
2518
+ });
2519
+ };
2520
+
2521
+ if (column.Filter) {
2522
+ return React__default.createElement(React__default.Fragment, null, column.Filter == null ? void 0 : column.Filter({
2523
+ header: header,
2524
+ tableInstance: tableInstance
2525
+ }));
2526
+ }
2527
+
2528
+ var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field";
2529
+ var filterType = currentFilterTypes == null ? void 0 : currentFilterTypes[header.id];
2530
+ var isSelectFilter = !!column.filterSelectOptions;
2531
+ var filterChipLabel = !(filterType instanceof Function) && [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(filterType) ? //@ts-ignore
2532
+ localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))] : '';
2533
+ var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header));
2534
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
2535
+ fullWidth: true,
2536
+ id: filterId,
2537
+ inputProps: {
2538
+ disabled: !!filterChipLabel,
2539
+ sx: {
2540
+ textOverflow: 'ellipsis',
2541
+ width: filterChipLabel ? 0 : undefined
2542
+ },
2543
+ title: filterPlaceholder
2544
+ },
2545
+ helperText: React__default.createElement("label", {
2546
+ htmlFor: filterId
2547
+ }, filterType instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
2548
+ (_localization$ = localization["filter" + (filterType.name.charAt(0).toUpperCase() + filterType.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
2549
+ localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))])),
2550
+ FormHelperTextProps: {
2551
+ sx: {
2552
+ fontSize: '0.6rem',
2553
+ lineHeight: '0.8rem'
2554
+ }
2555
+ },
2556
+ label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
2557
+ margin: "none",
2558
+ placeholder: filterPlaceholder,
2728
2559
  onChange: function onChange(event) {
2729
- setSearchValue(event.target.value);
2560
+ setFilterValue(event.target.value);
2730
2561
  handleChange(event);
2731
2562
  },
2732
- value: searchValue != null ? searchValue : '',
2563
+ onClick: function onClick(e) {
2564
+ return e.stopPropagation();
2565
+ },
2566
+ select: isSelectFilter,
2567
+ value: filterValue != null ? filterValue : '',
2733
2568
  variant: "standard",
2734
2569
  InputProps: {
2735
- startAdornment: React__default.createElement(material.InputAdornment, {
2570
+ startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
2736
2571
  position: "start"
2737
2572
  }, React__default.createElement(material.Tooltip, {
2738
2573
  arrow: true,
2739
- title: localization.changeSearchMode
2574
+ title: localization.changeFilterMode
2740
2575
  }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
2741
- "aria-label": localization.changeSearchMode,
2742
- onClick: handleGlobalFilterMenuOpen,
2576
+ "aria-label": localization.changeFilterMode,
2577
+ onClick: handleFilterMenuOpen,
2743
2578
  size: "small",
2744
2579
  sx: {
2745
2580
  height: '1.75rem',
2746
2581
  width: '1.75rem'
2747
2582
  }
2748
- }, React__default.createElement(SearchIcon, {
2749
- fontSize: "small"
2750
- }))))),
2751
- endAdornment: React__default.createElement(material.InputAdornment, {
2583
+ }, React__default.createElement(FilterListIcon, null)))), filterChipLabel && React__default.createElement(material.Chip, {
2584
+ onDelete: handleClearFilterChip,
2585
+ label: filterChipLabel
2586
+ })),
2587
+ endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
2752
2588
  position: "end"
2753
- }, React__default.createElement(material.IconButton, {
2754
- "aria-label": localization.clearSearch,
2755
- disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
2589
+ }, React__default.createElement(material.Tooltip, {
2590
+ arrow: true,
2591
+ disableHoverListener: isSelectFilter,
2592
+ placement: "right",
2593
+ title: (_localization$clearFi = localization.clearFilter) != null ? _localization$clearFi : ''
2594
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
2595
+ "aria-label": localization.clearFilter,
2596
+ disabled: !(filterValue != null && filterValue.length),
2756
2597
  onClick: handleClear,
2757
2598
  size: "small",
2758
- title: localization.clearSearch
2599
+ sx: {
2600
+ height: '1.75rem',
2601
+ width: '1.75rem'
2602
+ }
2759
2603
  }, React__default.createElement(CloseIcon, {
2760
2604
  fontSize: "small"
2761
- })))
2605
+ })))))
2762
2606
  }
2763
- }, muiSearchTextFieldProps, {
2607
+ }, textFieldProps, {
2764
2608
  sx: _extends({
2765
- justifySelf: 'end'
2766
- }, muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.sx)
2609
+ m: '-0.25rem',
2610
+ p: 0,
2611
+ minWidth: !filterChipLabel ? '5rem' : 'auto',
2612
+ width: 'calc(100% + 0.5rem)',
2613
+ mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
2614
+ '& .MuiSelect-icon': {
2615
+ mr: '1.5rem'
2616
+ }
2617
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
2618
+ }), isSelectFilter && React__default.createElement(material.MenuItem, {
2619
+ divider: true,
2620
+ disabled: !filterValue,
2621
+ value: ""
2622
+ }, localization.clearFilter), column == null ? void 0 : (_column$filterSelectO = column.filterSelectOptions) == null ? void 0 : _column$filterSelectO.map(function (option) {
2623
+ var value;
2624
+ var text;
2625
+
2626
+ if (typeof option === 'string') {
2627
+ value = option;
2628
+ text = option;
2629
+ } else if (typeof option === 'object') {
2630
+ value = option.value;
2631
+ text = option.text;
2632
+ }
2633
+
2634
+ return React__default.createElement(material.MenuItem, {
2635
+ key: value,
2636
+ value: value
2637
+ }, text);
2767
2638
  })), React__default.createElement(MRT_FilterTypeMenu, {
2768
2639
  anchorEl: anchorEl,
2769
- setAnchorEl: setAnchorEl
2640
+ header: header,
2641
+ setAnchorEl: setAnchorEl,
2642
+ tableInstance: tableInstance
2643
+ }));
2644
+ };
2645
+
2646
+ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
2647
+ var header = _ref.header,
2648
+ tableInstance = _ref.tableInstance;
2649
+ var _tableInstance$option = tableInstance.options,
2650
+ MoreVertIcon = _tableInstance$option.icons.MoreVertIcon,
2651
+ localization = _tableInstance$option.localization,
2652
+ muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
2653
+ var column = header.column;
2654
+
2655
+ var _useState = React.useState(null),
2656
+ anchorEl = _useState[0],
2657
+ setAnchorEl = _useState[1];
2658
+
2659
+ var handleClick = function handleClick(event) {
2660
+ event.stopPropagation();
2661
+ event.preventDefault();
2662
+ setAnchorEl(event.currentTarget);
2663
+ };
2664
+
2665
+ var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps(column) : muiTableHeadCellColumnActionsButtonProps;
2666
+ var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps(column) : column.muiTableHeadCellColumnActionsButtonProps;
2667
+
2668
+ var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2669
+
2670
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2671
+ arrow: true,
2672
+ enterDelay: 1000,
2673
+ enterNextDelay: 1000,
2674
+ placement: "top",
2675
+ title: localization.columnActions
2676
+ }, React__default.createElement(material.IconButton, Object.assign({
2677
+ "aria-label": localization.columnActions,
2678
+ onClick: handleClick,
2679
+ size: "small"
2680
+ }, iconButtonProps, {
2681
+ sx: _extends({
2682
+ height: '2rem',
2683
+ mr: '2px',
2684
+ mt: '-0.2rem',
2685
+ opacity: 0.5,
2686
+ transition: 'opacity 0.2s',
2687
+ width: '2rem',
2688
+ '&:hover': {
2689
+ opacity: 1
2690
+ }
2691
+ }, iconButtonProps.sx)
2692
+ }), React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
2693
+ anchorEl: anchorEl,
2694
+ header: header,
2695
+ setAnchorEl: setAnchorEl,
2696
+ tableInstance: tableInstance
2770
2697
  }));
2771
2698
  };
2772
2699
 
2773
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2774
- var rest = _extends({}, _ref);
2700
+ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2701
+ var _column$Header;
2702
+
2703
+ var header = _ref.header,
2704
+ tableInstance = _ref.tableInstance;
2705
+ var getState = tableInstance.getState,
2706
+ _tableInstance$option = tableInstance.options,
2707
+ enableColumnActions = _tableInstance$option.enableColumnActions,
2708
+ enableColumnFilters = _tableInstance$option.enableColumnFilters,
2709
+ enableColumnResizing = _tableInstance$option.enableColumnResizing,
2710
+ _tableInstance$option2 = _tableInstance$option.icons,
2711
+ FilterAltIcon = _tableInstance$option2.FilterAltIcon,
2712
+ FilterAltOff = _tableInstance$option2.FilterAltOff,
2713
+ localization = _tableInstance$option.localization,
2714
+ muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps,
2715
+ setShowFilters = _tableInstance$option.setShowFilters;
2716
+
2717
+ var _getState = getState(),
2718
+ isDensePadding = _getState.isDensePadding,
2719
+ showFilters = _getState.showFilters;
2720
+
2721
+ var column = header.column;
2722
+ var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
2723
+ var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
2724
+
2725
+ var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2726
+
2727
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.clearSort : localization.sortByColumnDesc.replace('{column}', column.header) : localization.sortByColumnAsc.replace('{column}', column.header); // const filterType = getState()?.currentFilterTypes?.[id];
2728
+
2729
+ var filterTooltip = ''; // !!getColumnFilterValue()
2730
+ // ? localization.filteringByColumn
2731
+ // .replace('{column}', String(headerString))
2732
+ // .replace(
2733
+ // '{filterType}',
2734
+ // filterType instanceof Function
2735
+ // ? ''
2736
+ // : // @ts-ignore
2737
+ // localization[
2738
+ // `filter${
2739
+ // filterType.charAt(0).toUpperCase() + filterType.slice(1)
2740
+ // }`
2741
+ // ],
2742
+ // )
2743
+ // .replace(
2744
+ // '{filterValue}',
2745
+ // getColumnFilterValue() as string,
2746
+ // )
2747
+ // .replace('" "', '')
2748
+ // : localization.showHideFilters;
2749
+
2750
+ var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2751
+ header: header,
2752
+ tableInstance: tableInstance
2753
+ })) != null ? _column$Header : column.header;
2754
+ return React__default.createElement(material.TableCell, Object.assign({
2755
+ align: column.columnDefType === 'group' ? 'center' : 'left'
2756
+ }, tableCellProps, {
2757
+ //@ts-ignore
2758
+ sx: function sx(theme) {
2759
+ return _extends({
2760
+ backgroundColor: theme.palette.background["default"],
2761
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2762
+ boxShadow: "3px 0 6px " + material.alpha(theme.palette.common.black, 0.1),
2763
+ fontWeight: 'bold',
2764
+ height: '100%',
2765
+ minWidth: "max(" + header.getWidth() + ", 100px)",
2766
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2767
+ pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2768
+ pb: column.columnDefType === 'display' ? 0 : undefined,
2769
+ transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2770
+ verticalAlign: 'text-top',
2771
+ width: header.getWidth()
2772
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
2773
+ }
2774
+ }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
2775
+ sx: {
2776
+ alignItems: 'flex-start',
2777
+ display: 'flex',
2778
+ justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
2779
+ width: '100%'
2780
+ }
2781
+ }, React__default.createElement(material.Box, Object.assign({}, column.getToggleSortingProps(), {
2782
+ sx: {
2783
+ alignItems: 'center',
2784
+ cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2785
+ display: 'flex',
2786
+ flexWrap: 'nowrap',
2787
+ whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal'
2788
+ },
2789
+ title: undefined
2790
+ }), headerElement, column.columnDefType !== 'group' && column.getCanSort() && React__default.createElement(material.Tooltip, {
2791
+ arrow: true,
2792
+ placement: "top",
2793
+ title: sortTooltip
2794
+ }, React__default.createElement(material.TableSortLabel, {
2795
+ "aria-label": sortTooltip,
2796
+ active: !!column.getIsSorted(),
2797
+ direction: column.getIsSorted() ? column.getIsSorted() : undefined
2798
+ })), column.columnDefType !== 'group' && enableColumnFilters && !!column.getCanColumnFilter() && React__default.createElement(material.Tooltip, {
2799
+ arrow: true,
2800
+ placement: "top",
2801
+ title: filterTooltip
2802
+ }, React__default.createElement(material.IconButton, {
2803
+ disableRipple: true,
2804
+ onClick: function onClick(event) {
2805
+ event.stopPropagation();
2806
+ setShowFilters(!showFilters);
2807
+ },
2808
+ size: "small",
2809
+ sx: {
2810
+ m: 0,
2811
+ opacity: !!column.getColumnFilterValue() ? 0.8 : 0,
2812
+ p: '2px',
2813
+ transition: 'all 0.2s ease-in-out',
2814
+ '&:hover': {
2815
+ backgroundColor: 'transparent',
2816
+ opacity: 0.8
2817
+ }
2818
+ }
2819
+ }, showFilters && !column.getColumnFilterValue() ? React__default.createElement(FilterAltOff, {
2820
+ fontSize: "small"
2821
+ }) : React__default.createElement(FilterAltIcon, {
2822
+ fontSize: "small"
2823
+ })))), React__default.createElement(material.Box, {
2824
+ sx: {
2825
+ alignItems: 'center',
2826
+ display: 'flex',
2827
+ flexWrap: 'nowrap'
2828
+ }
2829
+ }, (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
2830
+ header: header,
2831
+ tableInstance: tableInstance
2832
+ }), enableColumnResizing && column.columnDefType !== 'group' && React__default.createElement(material.Divider, Object.assign({
2833
+ flexItem: true,
2834
+ orientation: "vertical",
2835
+ onDoubleClick: function onDoubleClick() {
2836
+ return header.resetSize();
2837
+ },
2838
+ sx: function sx(theme) {
2839
+ return {
2840
+ borderRightWidth: '2px',
2841
+ borderRadius: '2px',
2842
+ maxHeight: '2rem',
2843
+ cursor: 'col-resize',
2844
+ userSelect: 'none',
2845
+ touchAction: 'none',
2846
+ '&:active': {
2847
+ backgroundColor: theme.palette.secondary.dark,
2848
+ opacity: 1
2849
+ }
2850
+ };
2851
+ }
2852
+ }, header.getResizerProps(function (props) {
2853
+ return _extends({}, props, {
2854
+ style: {
2855
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : ''
2856
+ }
2857
+ });
2858
+ }))))), column.columnDefType === 'data' && enableColumnFilters && column.getCanColumnFilter() && React__default.createElement(material.Collapse, {
2859
+ "in": showFilters
2860
+ }, React__default.createElement(MRT_FilterTextField, {
2861
+ header: header,
2862
+ tableInstance: tableInstance
2863
+ })));
2864
+ };
2865
+
2866
+ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2867
+ var headerGroup = _ref.headerGroup,
2868
+ tableInstance = _ref.tableInstance;
2869
+ var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2870
+ var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps(headerGroup) : muiTableHeadRowProps;
2775
2871
 
2776
- var _useMRT = useMRT(),
2777
- _useMRT$icons = _useMRT.icons,
2778
- FullscreenExitIcon = _useMRT$icons.FullscreenExitIcon,
2779
- FullscreenIcon = _useMRT$icons.FullscreenIcon,
2780
- localization = _useMRT.localization,
2781
- setFullScreen = _useMRT.setFullScreen,
2782
- fullScreen = _useMRT.tableInstance.state.fullScreen;
2872
+ var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2783
2873
 
2784
- return React__default.createElement(material.Tooltip, {
2785
- arrow: true,
2786
- title: localization.toggleFullScreen
2787
- }, React__default.createElement(material.IconButton, Object.assign({
2788
- "aria-label": localization.showHideFilters,
2789
- onClick: function onClick() {
2790
- return setFullScreen(!fullScreen);
2791
- },
2792
- size: "small"
2793
- }, rest), fullScreen ? React__default.createElement(FullscreenExitIcon, null) : React__default.createElement(FullscreenIcon, null)));
2874
+ return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), headerGroup.headers.map(function (header, index) {
2875
+ return React__default.createElement(MRT_TableHeadCell, {
2876
+ header: header,
2877
+ key: header.id || index,
2878
+ tableInstance: tableInstance
2879
+ });
2880
+ }));
2794
2881
  };
2795
2882
 
2796
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2797
- var rest = _extends({}, _ref);
2883
+ var MRT_TableHead = function MRT_TableHead(_ref) {
2884
+ var pinned = _ref.pinned,
2885
+ tableInstance = _ref.tableInstance;
2886
+ var getCenterHeaderGroups = tableInstance.getCenterHeaderGroups,
2887
+ getHeaderGroups = tableInstance.getHeaderGroups,
2888
+ getLeftHeaderGroups = tableInstance.getLeftHeaderGroups,
2889
+ getRightHeaderGroups = tableInstance.getRightHeaderGroups,
2890
+ muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2891
+ var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps(tableInstance) : muiTableHeadProps;
2892
+ var getHeaderGroupsMap = {
2893
+ center: getCenterHeaderGroups,
2894
+ left: getLeftHeaderGroups,
2895
+ none: getHeaderGroups,
2896
+ right: getRightHeaderGroups
2897
+ };
2898
+ return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroupsMap[pinned]().map(function (headerGroup) {
2899
+ return React__default.createElement(MRT_TableHeadRow, {
2900
+ headerGroup: headerGroup,
2901
+ key: headerGroup.getHeaderGroupProps().key,
2902
+ tableInstance: tableInstance
2903
+ });
2904
+ }));
2905
+ };
2798
2906
 
2799
- var _useMRT = useMRT(),
2800
- ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
2801
- localization = _useMRT.localization;
2907
+ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2908
+ var cell = _ref.cell,
2909
+ tableInstance = _ref.tableInstance;
2910
+ var getState = tableInstance.getState,
2911
+ muiTableBodyCellEditTextFieldProps = tableInstance.options.muiTableBodyCellEditTextFieldProps;
2912
+ var column = cell.column,
2913
+ row = cell.row;
2802
2914
 
2803
- var _useState = React.useState(null),
2804
- anchorEl = _useState[0],
2805
- setAnchorEl = _useState[1];
2915
+ var handleChange = function handleChange(event) {
2916
+ if (getState().currentEditingRow) {
2917
+ row.values[column.id] = event.target.value; // setCurrentEditingRow({
2918
+ // ...getState().currentEditingRow,
2919
+ // });
2920
+ }
2806
2921
 
2807
- var handleClick = function handleClick(event) {
2808
- setAnchorEl(event.currentTarget);
2922
+ column.onCellEditChange == null ? void 0 : column.onCellEditChange(event, cell);
2809
2923
  };
2810
2924
 
2811
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2812
- arrow: true,
2813
- title: localization.showHideColumns
2814
- }, React__default.createElement(material.IconButton, Object.assign({
2815
- "aria-label": localization.showHideColumns,
2816
- onClick: handleClick,
2817
- size: "small"
2818
- }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
2819
- anchorEl: anchorEl,
2820
- setAnchorEl: setAnchorEl
2821
- }));
2822
- };
2925
+ var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps(cell) : muiTableBodyCellEditTextFieldProps;
2926
+ var mcTableBodyCellEditTextFieldProps = column.muiTableBodyCellEditTextFieldProps instanceof Function ? column.muiTableBodyCellEditTextFieldProps(cell) : column.muiTableBodyCellEditTextFieldProps;
2823
2927
 
2824
- var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2825
- var rest = _extends({}, _ref);
2928
+ var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps); // if (enableEditing && Edit) {
2929
+ // return <>{Edit({ ...textFieldProps, cell })}</>;
2930
+ // }
2826
2931
 
2827
- var _useMRT = useMRT(),
2828
- setDensePadding = _useMRT.setDensePadding,
2829
- localization = _useMRT.localization,
2830
- _useMRT$icons = _useMRT.icons,
2831
- DensityMediumIcon = _useMRT$icons.DensityMediumIcon,
2832
- DensitySmallIcon = _useMRT$icons.DensitySmallIcon,
2833
- densePadding = _useMRT.tableInstance.state.densePadding;
2834
2932
 
2835
- return React__default.createElement(material.Tooltip, {
2836
- arrow: true,
2837
- title: localization.toggleDensePadding
2838
- }, React__default.createElement(material.IconButton, Object.assign({
2839
- "aria-label": localization.toggleDensePadding,
2840
- onClick: function onClick() {
2841
- return setDensePadding(!densePadding);
2933
+ return React__default.createElement(material.TextField, Object.assign({
2934
+ margin: "dense",
2935
+ onChange: handleChange,
2936
+ onClick: function onClick(e) {
2937
+ return e.stopPropagation();
2842
2938
  },
2843
- size: "small"
2844
- }, rest), densePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2939
+ placeholder: column.header,
2940
+ value: cell.value,
2941
+ variant: "standard"
2942
+ }, textFieldProps));
2845
2943
  };
2846
2944
 
2847
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
2848
- var rest = _extends({}, _ref);
2945
+ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2946
+ var cell = _ref.cell,
2947
+ children = _ref.children,
2948
+ tableInstance = _ref.tableInstance;
2949
+ var _tableInstance$option = tableInstance.options,
2950
+ localization = _tableInstance$option.localization,
2951
+ muiTableBodyCellCopyButtonProps = _tableInstance$option.muiTableBodyCellCopyButtonProps;
2952
+
2953
+ var _useState = React.useState(false),
2954
+ copied = _useState[0],
2955
+ setCopied = _useState[1];
2956
+
2957
+ var handleCopy = function handleCopy(text) {
2958
+ navigator.clipboard.writeText(text);
2959
+ setCopied(true);
2960
+ setTimeout(function () {
2961
+ return setCopied(false);
2962
+ }, 4000);
2963
+ };
2849
2964
 
2850
- var _useMRT = useMRT(),
2851
- _useMRT$icons = _useMRT.icons,
2852
- FilterListIcon = _useMRT$icons.FilterListIcon,
2853
- FilterListOffIcon = _useMRT$icons.FilterListOffIcon,
2854
- localization = _useMRT.localization,
2855
- setShowFilters = _useMRT.setShowFilters,
2856
- showFilters = _useMRT.tableInstance.state.showFilters;
2965
+ var mTableBodyCellCopyButtonProps = muiTableBodyCellCopyButtonProps instanceof Function ? muiTableBodyCellCopyButtonProps(cell) : muiTableBodyCellCopyButtonProps;
2966
+ var mcTableBodyCellCopyButtonProps = cell.column.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.muiTableBodyCellCopyButtonProps(cell) : cell.column.muiTableBodyCellCopyButtonProps;
2967
+
2968
+ var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
2857
2969
 
2858
2970
  return React__default.createElement(material.Tooltip, {
2859
2971
  arrow: true,
2860
- title: localization.showHideFilters
2861
- }, React__default.createElement(material.IconButton, Object.assign({
2862
- "aria-label": localization.showHideFilters,
2972
+ enterDelay: 1000,
2973
+ enterNextDelay: 1000,
2974
+ placement: "top",
2975
+ title: copied ? localization.copiedToClipboard : localization.clickToCopy
2976
+ }, React__default.createElement(material.Button, Object.assign({
2977
+ "aria-label": localization.clickToCopy,
2863
2978
  onClick: function onClick() {
2864
- return setShowFilters(!showFilters);
2979
+ return handleCopy(cell.value);
2865
2980
  },
2866
2981
  size: "small"
2867
- }, rest), showFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterListIcon, null)));
2982
+ }, buttonProps, {
2983
+ sx: _extends({
2984
+ backgroundColor: 'transparent',
2985
+ border: 'none',
2986
+ color: 'inherit',
2987
+ fontFamily: 'inherit',
2988
+ fontSize: 'inherit',
2989
+ letterSpacing: 'inherit',
2990
+ m: '-0.25rem',
2991
+ minWidth: 'unset',
2992
+ textAlign: 'inherit',
2993
+ textTransform: 'inherit'
2994
+ }, buttonProps == null ? void 0 : buttonProps.sx),
2995
+ variant: "text"
2996
+ }), children));
2868
2997
  };
2869
2998
 
2870
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2871
- var rest = _extends({}, _ref);
2872
-
2873
- var _useMRT = useMRT(),
2874
- _useMRT$icons = _useMRT.icons,
2875
- SearchIcon = _useMRT$icons.SearchIcon,
2876
- SearchOffIcon = _useMRT$icons.SearchOffIcon,
2877
- idPrefix = _useMRT.idPrefix,
2878
- localization = _useMRT.localization,
2879
- muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
2880
- setShowSearch = _useMRT.setShowSearch,
2881
- showSearch = _useMRT.tableInstance.state.showSearch;
2999
+ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
3000
+ var _row$subRows, _row$subRows2;
2882
3001
 
2883
- var handleToggleSearch = function handleToggleSearch() {
2884
- setShowSearch(!showSearch);
2885
- setTimeout(function () {
2886
- var _document$getElementB, _muiSearchTextFieldPr;
3002
+ var cell = _ref.cell,
3003
+ tableInstance = _ref.tableInstance;
3004
+ var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
3005
+ getState = tableInstance.getState,
3006
+ _tableInstance$option = tableInstance.options,
3007
+ enableClickToCopy = _tableInstance$option.enableClickToCopy,
3008
+ enableColumnPinning = _tableInstance$option.enableColumnPinning,
3009
+ isLoading = _tableInstance$option.isLoading,
3010
+ muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
3011
+ muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
3012
+ onCellClick = _tableInstance$option.onCellClick;
3013
+
3014
+ var _getState = getState(),
3015
+ currentEditingRow = _getState.currentEditingRow,
3016
+ isDensePadding = _getState.isDensePadding;
3017
+
3018
+ var column = cell.column,
3019
+ row = cell.row;
3020
+ var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
3021
+ var mcTableCellBodyProps = column.muiTableBodyCellProps instanceof Function ? column.muiTableBodyCellProps(cell) : column.muiTableBodyCellProps;
2887
3022
 
2888
- return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "mrt-" + idPrefix + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
2889
- }, 200);
2890
- };
3023
+ var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2891
3024
 
2892
- return React__default.createElement(material.Tooltip, {
2893
- arrow: true,
2894
- title: localization.showHideSearch
2895
- }, React__default.createElement(material.IconButton, Object.assign({
2896
- size: "small",
2897
- onClick: handleToggleSearch
2898
- }, rest), showSearch ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
3025
+ var skeletonWidth = React.useMemo(function () {
3026
+ return column.columnDefType === 'display' ? column.getWidth() / 2 : Math.random() * (column.getWidth() - column.getWidth() / 3) + column.getWidth() / 3;
3027
+ }, [column.columnDefType, column.getWidth()]);
3028
+ return React__default.createElement(material.TableCell, Object.assign({
3029
+ onClick: function onClick(event) {
3030
+ return onCellClick == null ? void 0 : onCellClick(event, cell);
3031
+ }
3032
+ }, tableCellProps, {
3033
+ sx: _extends({
3034
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
3035
+ pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
3036
+ transition: 'all 0.2s ease-in-out',
3037
+ whiteSpace: isDensePadding || enableColumnPinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal'
3038
+ }, tableCellProps == null ? void 0 : tableCellProps.sx)
3039
+ }), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
3040
+ animation: "wave",
3041
+ height: 20,
3042
+ width: skeletonWidth
3043
+ }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
3044
+ cell: cell,
3045
+ tableInstance: tableInstance
3046
+ }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : column.enableEditing && (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id ? React__default.createElement(MRT_EditCellTextField, {
3047
+ cell: cell,
3048
+ tableInstance: tableInstance
3049
+ }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
3050
+ cell: cell,
3051
+ tableInstance: tableInstance
3052
+ }, cell.renderCell()), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")")));
2899
3053
  };
2900
3054
 
2901
- var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons() {
2902
- var _useMRT = useMRT(),
2903
- disableFilters = _useMRT.disableFilters,
2904
- disableColumnHiding = _useMRT.disableColumnHiding,
2905
- disableDensePaddingToggle = _useMRT.disableDensePaddingToggle,
2906
- disableGlobalFilter = _useMRT.disableGlobalFilter,
2907
- disableFullScreenToggle = _useMRT.disableFullScreenToggle,
2908
- renderToolbarInternalActions = _useMRT.renderToolbarInternalActions,
2909
- tableInstance = _useMRT.tableInstance;
2910
-
2911
- if (renderToolbarInternalActions) {
2912
- return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions(tableInstance, {
2913
- MRT_ToggleSearchButton: MRT_ToggleSearchButton,
2914
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
2915
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
2916
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
2917
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton
2918
- }));
2919
- }
2920
-
2921
- return React__default.createElement(material.Box, {
2922
- sx: {
2923
- display: 'flex',
2924
- gap: '0.5rem',
2925
- alignItems: 'center',
2926
- p: '0 0.5rem'
3055
+ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
3056
+ var row = _ref.row,
3057
+ tableInstance = _ref.tableInstance;
3058
+ var getVisibleFlatColumns = tableInstance.getVisibleFlatColumns,
3059
+ _tableInstance$option = tableInstance.options,
3060
+ muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
3061
+ muiTableDetailPanelProps = _tableInstance$option.muiTableDetailPanelProps,
3062
+ onDetailPanelClick = _tableInstance$option.onDetailPanelClick,
3063
+ renderDetailPanel = _tableInstance$option.renderDetailPanel;
3064
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
3065
+ var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
3066
+ return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), React__default.createElement(material.TableCell, Object.assign({
3067
+ colSpan: getVisibleFlatColumns().length + 10,
3068
+ onClick: function onClick(event) {
3069
+ return onDetailPanelClick == null ? void 0 : onDetailPanelClick(event, row);
2927
3070
  }
2928
- }, !disableGlobalFilter && React__default.createElement(MRT_ToggleSearchButton, null), !disableFilters && React__default.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React__default.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React__default.createElement(MRT_ToggleDensePaddingButton, null), !disableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, null));
3071
+ }, tableCellProps, {
3072
+ sx: _extends({
3073
+ borderBottom: !row.getIsExpanded() ? 'none' : undefined,
3074
+ pb: row.getIsExpanded() ? '1rem' : 0,
3075
+ pt: row.getIsExpanded() ? '1rem' : 0,
3076
+ transition: 'all 0.2s ease-in-out'
3077
+ }, tableCellProps == null ? void 0 : tableCellProps.sx)
3078
+ }), React__default.createElement(material.Collapse, {
3079
+ "in": row.getIsExpanded()
3080
+ }, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
2929
3081
  };
2930
3082
 
2931
- var MRT_TablePagination = function MRT_TablePagination() {
2932
- var _useMRT = useMRT(),
2933
- tableInstance = _useMRT.tableInstance,
2934
- muiTablePaginationProps = _useMRT.muiTablePaginationProps;
3083
+ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
3084
+ var pinned = _ref.pinned,
3085
+ row = _ref.row,
3086
+ tableInstance = _ref.tableInstance;
3087
+ var _tableInstance$option = tableInstance.options,
3088
+ muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
3089
+ onRowClick = _tableInstance$option.onRowClick,
3090
+ renderDetailPanel = _tableInstance$option.renderDetailPanel;
3091
+ var getCenterVisibleCells = row.getCenterVisibleCells,
3092
+ getIsGrouped = row.getIsGrouped,
3093
+ getIsSelected = row.getIsSelected,
3094
+ getLeftVisibleCells = row.getLeftVisibleCells,
3095
+ getRightVisibleCells = row.getRightVisibleCells,
3096
+ getRowProps = row.getRowProps,
3097
+ getVisibleCells = row.getVisibleCells;
3098
+ var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
2935
3099
 
2936
- var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps(tableInstance) : muiTablePaginationProps;
3100
+ var tableRowProps = _extends({}, getRowProps(), mTableBodyRowProps);
2937
3101
 
2938
- var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
2939
- tableInstance.setPageSize(+event.target.value);
2940
- tableInstance.gotoPage(0);
3102
+ var getVisibleCellsMap = {
3103
+ center: getCenterVisibleCells,
3104
+ left: getLeftVisibleCells,
3105
+ none: getVisibleCells,
3106
+ right: getRightVisibleCells
2941
3107
  };
2942
-
2943
- return React__default.createElement(material.TablePagination, Object.assign({
2944
- component: 'div',
2945
- count: tableInstance.rows.length,
2946
- onPageChange: function onPageChange(_, newPage) {
2947
- return tableInstance.gotoPage(newPage);
2948
- },
2949
- onRowsPerPageChange: handleChangeRowsPerPage,
2950
- page: tableInstance.state.pageIndex,
2951
- rowsPerPage: tableInstance.state.pageSize,
2952
- SelectProps: {
2953
- style: {
2954
- margin: '0 1rem 0 1ch'
2955
- }
3108
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
3109
+ hover: true,
3110
+ onClick: function onClick(event) {
3111
+ return onRowClick == null ? void 0 : onRowClick(event, row);
2956
3112
  },
2957
- showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2958
- showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2
2959
- }, tablePaginationProps, {
2960
- sx: _extends({
2961
- m: '0 0.5rem',
2962
- position: 'relative',
2963
- zIndex: 2
2964
- }, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
3113
+ selected: getIsSelected()
3114
+ }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
3115
+ return React__default.createElement(MRT_TableBodyCell, {
3116
+ cell: cell,
3117
+ key: cell.getCellProps().key,
3118
+ tableInstance: tableInstance
3119
+ });
3120
+ })), renderDetailPanel && !getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
3121
+ row: row,
3122
+ tableInstance: tableInstance
2965
3123
  }));
2966
3124
  };
2967
3125
 
2968
- var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2969
- var _localization$selecte, _localization$selecte2;
3126
+ var MRT_TableBody = function MRT_TableBody(_ref) {
3127
+ var pinned = _ref.pinned,
3128
+ tableInstance = _ref.tableInstance;
3129
+ var getPaginationRowModel = tableInstance.getPaginationRowModel,
3130
+ getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
3131
+ getTableBodyProps = tableInstance.getTableBodyProps,
3132
+ _tableInstance$option = tableInstance.options,
3133
+ enablePagination = _tableInstance$option.enablePagination,
3134
+ muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
3135
+ var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
3136
+ var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps(tableInstance) : muiTableBodyProps;
2970
3137
 
2971
- var _useMRT = useMRT(),
2972
- muiTableToolbarAlertBannerProps = _useMRT.muiTableToolbarAlertBannerProps,
2973
- tableInstance = _useMRT.tableInstance,
2974
- positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2975
- positionToolbarActions = _useMRT.positionToolbarActions,
2976
- localization = _useMRT.localization,
2977
- renderToolbarCustomActions = _useMRT.renderToolbarCustomActions;
3138
+ var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2978
3139
 
2979
- var isMobile = material.useMediaQuery('(max-width:720px)');
2980
- var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps(tableInstance) : muiTableToolbarAlertBannerProps;
2981
- var selectMessage = tableInstance.selectedFlatRows.length > 0 ? (_localization$selecte = localization.selectedCountOfRowCountRowsSelected) == null ? void 0 : (_localization$selecte2 = _localization$selecte.replace('{selectedCount}', tableInstance.selectedFlatRows.length.toString())) == null ? void 0 : _localization$selecte2.replace('{rowCount}', tableInstance.flatRows.length.toString()) : null;
2982
- var groupedByMessage = tableInstance.state.groupBy.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', tableInstance.state.groupBy.map(function (columnId, index) {
2983
- var _tableInstance$allCol;
3140
+ return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
3141
+ return React__default.createElement(MRT_TableBodyRow, {
3142
+ key: row.getRowProps().key,
3143
+ pinned: pinned,
3144
+ row: row,
3145
+ tableInstance: tableInstance
3146
+ });
3147
+ }));
3148
+ };
2984
3149
 
2985
- return React__default.createElement(React.Fragment, {
2986
- key: index + "-" + columnId
2987
- }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
2988
- color: "secondary",
2989
- label: (_tableInstance$allCol = tableInstance.allColumns.find(function (column) {
2990
- return column.id === columnId;
2991
- })) == null ? void 0 : _tableInstance$allCol.Header,
2992
- onDelete: function onDelete() {
2993
- return tableInstance.toggleGroupBy(columnId, false);
2994
- }
2995
- }));
2996
- })) : null;
2997
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
2998
- return React__default.createElement(material.Collapse, {
2999
- "in": !!selectMessage || !!groupedByMessage,
3000
- timeout: displayAbsolute ? 0 : 200
3001
- }, React__default.createElement(material.Alert, Object.assign({
3002
- color: "info",
3003
- icon: false,
3004
- sx: _extends({
3005
- borderRadius: 0,
3006
- fontSize: '1rem',
3007
- left: 0,
3008
- p: 0,
3009
- position: displayAbsolute ? 'absolute' : 'relative',
3010
- right: 0,
3011
- minHeight: '3.5rem',
3012
- top: 0,
3013
- width: '100%',
3014
- zIndex: 2
3015
- }, alertProps == null ? void 0 : alertProps.sx)
3016
- }, alertProps), React__default.createElement(material.Box, {
3017
- sx: {
3018
- p: '0.5rem 1rem'
3150
+ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
3151
+ var _ref2, _column$Footer;
3152
+
3153
+ var footer = _ref.footer,
3154
+ tableInstance = _ref.tableInstance;
3155
+ var getState = tableInstance.getState,
3156
+ _tableInstance$option = tableInstance.options,
3157
+ muiTableFooterCellProps = _tableInstance$option.muiTableFooterCellProps,
3158
+ enableColumnResizing = _tableInstance$option.enableColumnResizing;
3159
+
3160
+ var _getState = getState(),
3161
+ isDensePadding = _getState.isDensePadding;
3162
+
3163
+ var column = footer.column;
3164
+ var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
3165
+ var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
3166
+
3167
+ var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
3168
+
3169
+ return React__default.createElement(material.TableCell, Object.assign({
3170
+ align: column.columnDefType === 'group' ? 'center' : 'left',
3171
+ variant: "head"
3172
+ }, tableCellProps, {
3173
+ //@ts-ignore
3174
+ sx: function sx(theme) {
3175
+ return _extends({
3176
+ backgroundColor: theme.palette.background["default"],
3177
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
3178
+ fontWeight: 'bold',
3179
+ p: isDensePadding ? '0.5rem' : '1rem',
3180
+ transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
3181
+ verticalAlign: 'text-top'
3182
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
3019
3183
  }
3020
- }, selectMessage, groupedByMessage)));
3184
+ }), footer.isPlaceholder ? null : (_ref2 = (_column$Footer = column.Footer == null ? void 0 : column.Footer({
3185
+ footer: footer,
3186
+ tableInstance: tableInstance
3187
+ })) != null ? _column$Footer : column.footer) != null ? _ref2 : null);
3021
3188
  };
3022
3189
 
3023
- var MRT_LinearProgressBar = function MRT_LinearProgressBar() {
3024
- var _useMRT = useMRT(),
3025
- muiLinearProgressProps = _useMRT.muiLinearProgressProps,
3026
- isFetching = _useMRT.isFetching,
3027
- isLoading = _useMRT.isLoading,
3028
- tableInstance = _useMRT.tableInstance;
3190
+ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
3191
+ var _footerGroup$headers;
3029
3192
 
3030
- var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
3031
- return React__default.createElement(material.Collapse, {
3032
- "in": isFetching || isLoading,
3033
- unmountOnExit: true
3034
- }, React__default.createElement(material.LinearProgress, Object.assign({
3035
- "aria-label": "Loading",
3036
- "aria-busy": "true"
3037
- }, linearProgressProps)));
3193
+ var footerGroup = _ref.footerGroup,
3194
+ tableInstance = _ref.tableInstance;
3195
+ var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
3196
+
3197
+ if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
3198
+ return h.column.columnDef.footer || h.column.Footer;
3199
+ }))) return null;
3200
+ var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps(footerGroup) : muiTableFooterRowProps;
3201
+
3202
+ var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
3203
+
3204
+ return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
3205
+ return React__default.createElement(MRT_TableFooterCell, {
3206
+ footer: footer,
3207
+ key: footer.getFooterProps().key,
3208
+ tableInstance: tableInstance
3209
+ });
3210
+ }));
3211
+ };
3212
+
3213
+ var MRT_TableFooter = function MRT_TableFooter(_ref) {
3214
+ var pinned = _ref.pinned,
3215
+ tableInstance = _ref.tableInstance;
3216
+ var getCenterFooterGroups = tableInstance.getCenterFooterGroups,
3217
+ getFooterGroups = tableInstance.getFooterGroups,
3218
+ getLeftFooterGroups = tableInstance.getLeftFooterGroups,
3219
+ getRightFooterGroups = tableInstance.getRightFooterGroups,
3220
+ muiTableFooterProps = tableInstance.options.muiTableFooterProps;
3221
+ var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
3222
+ var getFooterGroupsMap = {
3223
+ center: getCenterFooterGroups,
3224
+ left: getLeftFooterGroups,
3225
+ none: getFooterGroups,
3226
+ right: getRightFooterGroups
3227
+ };
3228
+ return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroupsMap[pinned]().map(function (footerGroup) {
3229
+ return React__default.createElement(MRT_TableFooterRow, {
3230
+ footerGroup: footerGroup,
3231
+ key: footerGroup.getFooterGroupProps().key,
3232
+ tableInstance: tableInstance
3233
+ });
3234
+ }));
3235
+ };
3236
+
3237
+ var MRT_Table = function MRT_Table(_ref) {
3238
+ var pinned = _ref.pinned,
3239
+ tableInstance = _ref.tableInstance;
3240
+ var getTableProps = tableInstance.getTableProps,
3241
+ _tableInstance$option = tableInstance.options,
3242
+ enableStickyHeader = _tableInstance$option.enableStickyHeader,
3243
+ hideTableFooter = _tableInstance$option.hideTableFooter,
3244
+ hideTableHead = _tableInstance$option.hideTableHead,
3245
+ muiTableProps = _tableInstance$option.muiTableProps;
3246
+ var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
3247
+
3248
+ var tableProps = _extends({}, getTableProps(), mTableProps);
3249
+
3250
+ return React__default.createElement(material.Table, Object.assign({
3251
+ stickyHeader: enableStickyHeader
3252
+ }, tableProps), !hideTableHead && React__default.createElement(MRT_TableHead, {
3253
+ pinned: pinned,
3254
+ tableInstance: tableInstance
3255
+ }), React__default.createElement(MRT_TableBody, {
3256
+ pinned: pinned,
3257
+ tableInstance: tableInstance
3258
+ }), !hideTableFooter && React__default.createElement(MRT_TableFooter, {
3259
+ pinned: pinned,
3260
+ tableInstance: tableInstance
3261
+ }));
3038
3262
  };
3039
3263
 
3040
- var commonToolbarStyles = function commonToolbarStyles(theme, tableInstance) {
3264
+ var commonBoxStyles = function commonBoxStyles(_ref) {
3265
+ var pinned = _ref.pinned,
3266
+ theme = _ref.theme,
3267
+ visible = _ref.visible;
3041
3268
  return {
3042
- backgroundColor: theme.palette.background["default"],
3043
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
3044
3269
  display: 'grid',
3045
- opacity: tableInstance.state.fullScreen ? 0.95 : 1,
3046
- p: '0 !important',
3047
- width: '100%',
3048
- zIndex: 1
3270
+ minWidth: visible ? '200px' : 0,
3271
+ overflowX: 'auto',
3272
+ boxShadow: pinned === 'left' ? "0 1px 12px " + material.alpha(theme.palette.common.black, 0.5) : pinned === 'right' ? "0 -1px 12px " + material.alpha(theme.palette.common.black, 0.5) : 'none'
3049
3273
  };
3050
3274
  };
3051
- var MRT_ToolbarTop = function MRT_ToolbarTop() {
3052
- var _renderToolbarCustomA;
3053
3275
 
3054
- var _useMRT = useMRT(),
3055
- disableGlobalFilter = _useMRT.disableGlobalFilter,
3056
- hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
3057
- manualPagination = _useMRT.manualPagination,
3058
- muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
3059
- positionPagination = _useMRT.positionPagination,
3060
- positionToolbarActions = _useMRT.positionToolbarActions,
3061
- positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
3062
- renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
3063
- tableInstance = _useMRT.tableInstance;
3276
+ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
3277
+ var tableInstance = _ref2.tableInstance;
3278
+ var getCenterTableWidth = tableInstance.getCenterTableWidth,
3279
+ getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
3280
+ getLeftTableWidth = tableInstance.getLeftTableWidth,
3281
+ getRightTableWidth = tableInstance.getRightTableWidth,
3282
+ getState = tableInstance.getState,
3283
+ _tableInstance$option = tableInstance.options,
3284
+ enableColumnPinning = _tableInstance$option.enableColumnPinning,
3285
+ enableStickyHeader = _tableInstance$option.enableStickyHeader,
3286
+ idPrefix = _tableInstance$option.idPrefix,
3287
+ muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
3064
3288
 
3065
- var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
3066
- return React__default.createElement(material.Toolbar, Object.assign({
3067
- variant: "dense"
3068
- }, toolbarProps, {
3069
- sx: function sx(theme) {
3070
- return _extends({
3071
- position: tableInstance.state.fullScreen ? 'sticky' : undefined,
3072
- top: tableInstance.state.fullScreen ? '0' : undefined
3073
- }, commonToolbarStyles(theme, tableInstance), toolbarProps == null ? void 0 : toolbarProps.sx);
3074
- }
3075
- }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, null), React__default.createElement(material.Box, {
3076
- sx: {
3077
- p: '0.5rem',
3078
- display: 'flex',
3079
- justifyContent: 'space-between'
3289
+ var _getState = getState(),
3290
+ isFullScreen = _getState.isFullScreen,
3291
+ columnPinning = _getState.columnPinning;
3292
+
3293
+ var _useState = React.useState(0),
3294
+ totalToolbarHeight = _useState[0],
3295
+ setTotalToolbarHeight = _useState[1];
3296
+
3297
+ var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
3298
+ React.useLayoutEffect(function () {
3299
+ var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
3300
+
3301
+ var topToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB = (_document = document) == null ? void 0 : (_document$getElementB2 = _document.getElementById("mrt-" + idPrefix + "-toolbar-top")) == null ? void 0 : _document$getElementB2.offsetHeight) != null ? _document$getElementB : 0 : 0;
3302
+ var bottomToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB3 = (_document2 = document) == null ? void 0 : (_document2$getElement = _document2.getElementById("mrt-" + idPrefix + "-toolbar-bottom")) == null ? void 0 : _document2$getElement.offsetHeight) != null ? _document$getElementB3 : 0 : 0;
3303
+ setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
3304
+ });
3305
+ return React__default.createElement(material.TableContainer, Object.assign({}, tableContainerProps, {
3306
+ sx: _extends({
3307
+ maxWidth: '100%',
3308
+ maxHeight: enableStickyHeader ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 2000px)" : undefined,
3309
+ overflow: 'auto'
3310
+ }, tableContainerProps == null ? void 0 : tableContainerProps.sx),
3311
+ style: {
3312
+ maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
3080
3313
  }
3081
- }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(material.Box, {
3314
+ }), enableColumnPinning && getIsSomeColumnsPinned() ? React__default.createElement(material.Box, {
3082
3315
  sx: {
3083
- display: 'flex',
3084
- gap: '0.5rem',
3085
- position: 'relative',
3086
- zIndex: 3
3316
+ display: 'grid',
3317
+ gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
3087
3318
  }
3088
- }, !disableGlobalFilter && React__default.createElement(MRT_SearchTextField, null), !hideToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, null))), React__default.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)), React__default.createElement(MRT_LinearProgressBar, null));
3089
- };
3090
-
3091
- var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
3092
- var _useMRT = useMRT(),
3093
- hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
3094
- manualPagination = _useMRT.manualPagination,
3095
- muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
3096
- positionPagination = _useMRT.positionPagination,
3097
- positionToolbarActions = _useMRT.positionToolbarActions,
3098
- positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
3099
- tableInstance = _useMRT.tableInstance;
3319
+ }, React__default.createElement(material.Box // @ts-ignore
3320
+ , {
3321
+ // @ts-ignore
3322
+ sx: function sx(theme) {
3323
+ var _columnPinning$left;
3100
3324
 
3101
- var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
3102
- return React__default.createElement(material.Toolbar, Object.assign({
3103
- variant: "dense"
3104
- }, toolbarProps, {
3325
+ return commonBoxStyles({
3326
+ pinned: 'left',
3327
+ theme: theme,
3328
+ visible: !!((_columnPinning$left = columnPinning.left) != null && _columnPinning$left.length)
3329
+ });
3330
+ }
3331
+ }, React__default.createElement(MRT_Table, {
3332
+ pinned: "left",
3333
+ tableInstance: tableInstance
3334
+ })), React__default.createElement(material.Box // @ts-ignore
3335
+ , {
3105
3336
  sx: function sx(theme) {
3106
- return _extends({
3107
- bottom: tableInstance.state.fullScreen ? '0' : undefined,
3108
- position: tableInstance.state.fullScreen ? 'fixed' : undefined
3109
- }, commonToolbarStyles(theme, tableInstance), toolbarProps == null ? void 0 : toolbarProps.sx);
3337
+ return commonBoxStyles({
3338
+ theme: theme
3339
+ });
3110
3340
  }
3111
- }), React__default.createElement(MRT_LinearProgressBar, null), React__default.createElement(material.Box, {
3112
- sx: {
3113
- display: 'flex',
3114
- justifyContent: 'space-between',
3115
- width: '100%'
3341
+ }, React__default.createElement(MRT_Table, {
3342
+ pinned: "center",
3343
+ tableInstance: tableInstance
3344
+ })), React__default.createElement(material.Box // @ts-ignore
3345
+ , {
3346
+ // @ts-ignore
3347
+ sx: function sx(theme) {
3348
+ var _columnPinning$right;
3349
+
3350
+ return commonBoxStyles({
3351
+ pinned: 'right',
3352
+ theme: theme,
3353
+ visible: !!((_columnPinning$right = columnPinning.right) != null && _columnPinning$right.length)
3354
+ });
3116
3355
  }
3117
- }, !hideToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, null) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)));
3356
+ }, React__default.createElement(MRT_Table, {
3357
+ pinned: "right",
3358
+ tableInstance: tableInstance
3359
+ }))) : React__default.createElement(MRT_Table, {
3360
+ pinned: "none",
3361
+ tableInstance: tableInstance
3362
+ }));
3118
3363
  };
3119
3364
 
3120
- var MRT_TableContainer = function MRT_TableContainer() {
3121
- var _useMRT = useMRT(),
3122
- hideToolbarBottom = _useMRT.hideToolbarBottom,
3123
- hideToolbarTop = _useMRT.hideToolbarTop,
3124
- muiTableContainerProps = _useMRT.muiTableContainerProps,
3125
- tableInstance = _useMRT.tableInstance;
3365
+ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3366
+ var tableInstance = _ref.tableInstance;
3367
+ var getState = tableInstance.getState,
3368
+ _tableInstance$option = tableInstance.options,
3369
+ hideToolbarBottom = _tableInstance$option.hideToolbarBottom,
3370
+ hideToolbarTop = _tableInstance$option.hideToolbarTop,
3371
+ muiTablePaperProps = _tableInstance$option.muiTablePaperProps;
3372
+
3373
+ var _getState = getState(),
3374
+ isFullScreen = _getState.isFullScreen;
3126
3375
 
3127
- var fullScreen = tableInstance.state.fullScreen;
3128
3376
  React.useEffect(function () {
3129
3377
  if (typeof window !== 'undefined') {
3130
- if (fullScreen) {
3378
+ if (isFullScreen) {
3131
3379
  document.body.style.overflow = 'hidden';
3132
3380
  } else {
3133
3381
  document.body.style.overflow = 'auto';
3134
3382
  }
3135
3383
  }
3136
- }, [fullScreen]);
3137
- var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
3138
- return React__default.createElement(material.TableContainer, Object.assign({
3139
- component: material.Paper
3140
- }, tableContainerProps, {
3384
+ }, [isFullScreen]);
3385
+ var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps(tableInstance) : muiTablePaperProps;
3386
+ return React__default.createElement(material.Paper, Object.assign({
3387
+ elevation: 2
3388
+ }, tablePaperProps, {
3141
3389
  sx: _extends({
3142
- bottom: fullScreen ? '0' : undefined,
3143
- height: fullScreen ? '100%' : undefined,
3144
- left: fullScreen ? '0' : undefined,
3145
- m: fullScreen ? '0' : undefined,
3146
- overflowY: !fullScreen ? 'hidden' : undefined,
3147
- position: fullScreen ? 'fixed' : undefined,
3148
- right: fullScreen ? '0' : undefined,
3149
- top: fullScreen ? '0' : undefined,
3390
+ bottom: isFullScreen ? '0' : undefined,
3391
+ height: isFullScreen ? '100%' : undefined,
3392
+ left: isFullScreen ? '0' : undefined,
3393
+ m: isFullScreen ? '0' : undefined,
3394
+ overflowY: !isFullScreen ? 'hidden' : undefined,
3395
+ position: isFullScreen ? 'fixed' : undefined,
3396
+ right: isFullScreen ? '0' : undefined,
3397
+ top: isFullScreen ? '0' : undefined,
3150
3398
  transition: 'all 0.2s ease-in-out',
3151
- width: fullScreen ? '100vw' : undefined,
3152
- zIndex: fullScreen ? 1200 : 1
3153
- }, tableContainerProps == null ? void 0 : tableContainerProps.sx)
3154
- }), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Box, {
3155
- sx: {
3156
- maxWidth: '100%',
3157
- overflowX: 'auto'
3399
+ width: isFullScreen ? '100vw' : undefined,
3400
+ zIndex: isFullScreen ? 1200 : 1
3401
+ }, tablePaperProps == null ? void 0 : tablePaperProps.sx)
3402
+ }), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, {
3403
+ tableInstance: tableInstance
3404
+ }), React__default.createElement(MRT_TableContainer, {
3405
+ tableInstance: tableInstance
3406
+ }), !hideToolbarBottom && React__default.createElement(MRT_ToolbarBottom, {
3407
+ tableInstance: tableInstance
3408
+ }));
3409
+ };
3410
+
3411
+ var getAllLeafColumnDefs = function getAllLeafColumnDefs(columns) {
3412
+ var lowestLevelColumns = columns;
3413
+ var currentCols = columns;
3414
+
3415
+ while (!!((_currentCols = currentCols) != null && _currentCols.length) && currentCols.some(function (col) {
3416
+ return col.columns;
3417
+ })) {
3418
+ var _currentCols;
3419
+
3420
+ var nextCols = currentCols.filter(function (col) {
3421
+ return !!col.columns;
3422
+ }).map(function (col) {
3423
+ return col.columns;
3424
+ }).flat();
3425
+
3426
+ if (nextCols.every(function (col) {
3427
+ return !(col != null && col.columns);
3428
+ })) {
3429
+ lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
3158
3430
  }
3159
- }, React__default.createElement(MRT_Table, null)), !hideToolbarBottom && React__default.createElement(MRT_ToolbarBottom, null));
3431
+
3432
+ currentCols = nextCols;
3433
+ }
3434
+
3435
+ return lowestLevelColumns.filter(function (col) {
3436
+ return !col.columns;
3437
+ });
3160
3438
  };
3439
+ var createGroup = function createGroup(table, column, currentFilterTypes) {
3440
+ var _column$columns;
3161
3441
 
3162
- var MRT_DefaultLocalization_EN = {
3163
- actions: 'Actions',
3164
- cancel: 'Cancel',
3165
- changeFilterMode: 'Change filter mode',
3166
- changeSearchMode: 'Change search mode',
3167
- clearFilter: 'Clear filter',
3168
- clearSearch: 'Clear search',
3169
- clearSort: 'Clear sort',
3170
- clickToCopy: 'Click to copy',
3171
- columnActions: 'Column Actions',
3172
- copiedToClipboard: 'Copied to clipboard',
3173
- edit: 'Edit',
3174
- expand: 'Expand',
3175
- expandAll: 'Expand all',
3176
- filterBestMatch: 'Best Match',
3177
- filterBestMatchFirst: 'Best Match First',
3178
- filterByColumn: 'Filter by {column}',
3179
- filterContains: 'Contains',
3180
- filterEmpty: 'Empty',
3181
- filterEndsWith: 'Ends With',
3182
- filterEquals: 'Equals',
3183
- filterGreaterThan: 'Greater Than',
3184
- filterLessThan: 'Less Than',
3185
- filterMode: 'Filter Mode: {filterType}',
3186
- filterNotEmpty: 'Not Empty',
3187
- filterNotEquals: 'Not Equals',
3188
- filterStartsWith: 'Starts With',
3189
- filteringByColumn: 'Filtering by {column} - {filterType} "{filterValue}"',
3190
- groupByColumn: 'Group by {column}',
3191
- groupedBy: 'Grouped by ',
3192
- hideAll: 'Hide all',
3193
- hideColumn: 'Hide {column} column',
3194
- rowActions: 'Row Actions',
3195
- save: 'Save',
3196
- search: 'Search',
3197
- selectedCountOfRowCountRowsSelected: '{selectedCount} of {rowCount} row(s) selected',
3198
- showAll: 'Show all',
3199
- showAllColumns: 'Show all columns',
3200
- showHideColumns: 'Show/Hide columns',
3201
- showHideFilters: 'Show/Hide filters',
3202
- showHideSearch: 'Show/Hide search',
3203
- sortByColumnAsc: 'Sort by {column} ascending',
3204
- sortByColumnDesc: 'Sort by {column} descending',
3205
- thenBy: ', then by ',
3206
- toggleDensePadding: 'Toggle dense padding',
3207
- toggleFullScreen: 'Toggle full screen',
3208
- toggleSelectAll: 'Toggle select all',
3209
- toggleSelectRow: 'Toggle select row',
3210
- ungroupByColumn: 'Ungroup by {column}'
3442
+ return table.createGroup(_extends({}, column, {
3443
+ columns: column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.map == null ? void 0 : _column$columns.map(function (col) {
3444
+ return col.columns ? createGroup(table, col, currentFilterTypes) : createDataColumn(table, col, currentFilterTypes);
3445
+ })
3446
+ }));
3447
+ };
3448
+ var createDataColumn = function createDataColumn(table, column, currentFilterTypes) {
3449
+ return (// @ts-ignore
3450
+ table.createDataColumn(column.id, _extends({
3451
+ filterType: currentFilterTypes[column.id] || MRT_FILTER_TYPE.BEST_MATCH
3452
+ }, column))
3453
+ );
3454
+ };
3455
+ var createDisplayColumn = function createDisplayColumn(table, column) {
3456
+ return table.createDisplayColumn(column);
3211
3457
  };
3212
3458
 
3213
- var MRT_Default_Icons = {
3214
- ArrowRightIcon: ArrowRightIcon,
3215
- CancelIcon: CancelIcon,
3216
- CheckBoxIcon: CheckBoxIcon,
3217
- ClearAllIcon: ClearAllIcon,
3218
- CloseIcon: CloseIcon,
3219
- ContentCopyIcon: ContentCopyIcon,
3220
- DensityMediumIcon: DensityMediumIcon,
3221
- DensitySmallIcon: DensitySmallIcon,
3222
- DoubleArrowDownIcon: DoubleArrowDownIcon,
3223
- DynamicFeedIcon: DynamicFeedIcon,
3224
- EditIcon: EditIcon,
3225
- ExpandLessIcon: ExpandLessIcon,
3226
- ExpandMoreIcon: ExpandMoreIcon,
3227
- FilterAltIcon: FilterAltIcon,
3228
- FilterAltOff: FilterAltOff,
3229
- FilterListIcon: FilterListIcon,
3230
- FilterListOffIcon: FilterListOffIcon,
3231
- FullscreenExitIcon: FullscreenExitIcon,
3232
- FullscreenIcon: FullscreenIcon,
3233
- MoreHorizIcon: MoreHorizIcon,
3234
- MoreVertIcon: MoreVertIcon,
3235
- SaveIcon: SaveIcon,
3236
- SearchIcon: SearchIcon,
3237
- SearchOffIcon: SearchOffIcon,
3238
- SortIcon: SortIcon,
3239
- ViewColumnIcon: ViewColumnIcon,
3240
- VisibilityOffIcon: VisibilityOffIcon
3459
+ var MRT_TableRoot = function MRT_TableRoot(props) {
3460
+ var _props$initialState$i, _props$initialState, _props$initialState$i2, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4, _props$initialState$p, _props$initialState5, _props$initialState5$, _props$initialState$p2, _props$initialState6, _props$initialState6$, _props$initialState$p3, _props$initialState7, _props$initialState7$, _props$globalFilterTy, _props$getSubRows;
3461
+
3462
+ var idPrefix = React.useMemo(function () {
3463
+ var _props$idPrefix;
3464
+
3465
+ return (_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9);
3466
+ }, [props.idPrefix]);
3467
+
3468
+ var _useState = React.useState(null),
3469
+ currentEditingRow = _useState[0],
3470
+ setCurrentEditingRow = _useState[1];
3471
+
3472
+ var _useState2 = React.useState((_props$initialState$i = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.isDensePadding) != null ? _props$initialState$i : false),
3473
+ isDensePadding = _useState2[0],
3474
+ setIsDensePadding = _useState2[1];
3475
+
3476
+ var _useState3 = React.useState((_props$initialState$i2 = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.isFullScreen) != null ? _props$initialState$i2 : false),
3477
+ isFullScreen = _useState3[0],
3478
+ setIsFullScreen = _useState3[1];
3479
+
3480
+ var _useState4 = React.useState((_props$initialState$s = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.showFilters) != null ? _props$initialState$s : false),
3481
+ showFilters = _useState4[0],
3482
+ setShowFilters = _useState4[1];
3483
+
3484
+ var _useState5 = React.useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearch) != null ? _props$initialState$s2 : false),
3485
+ showSearch = _useState5[0],
3486
+ setShowSearch = _useState5[1];
3487
+
3488
+ var _useState6 = React.useState({
3489
+ pageIndex: (_props$initialState$p = (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.pagination) == null ? void 0 : _props$initialState5$.pageIndex) != null ? _props$initialState$p : 0,
3490
+ pageSize: (_props$initialState$p2 = (_props$initialState6 = props.initialState) == null ? void 0 : (_props$initialState6$ = _props$initialState6.pagination) == null ? void 0 : _props$initialState6$.pageSize) != null ? _props$initialState$p2 : 10,
3491
+ pageCount: (_props$initialState$p3 = (_props$initialState7 = props.initialState) == null ? void 0 : (_props$initialState7$ = _props$initialState7.pagination) == null ? void 0 : _props$initialState7$.pageCount) != null ? _props$initialState$p3 : -1
3492
+ }),
3493
+ pagination = _useState6[0],
3494
+ setPagination = _useState6[1];
3495
+
3496
+ var _useState7 = React.useState(function () {
3497
+ return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3498
+ var _ref, _c$filter, _props$initialState8, _props$initialState8$, _c$filterSelectOption, _ref2;
3499
+
3500
+ return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState8 = props.initialState) == null ? void 0 : (_props$initialState8$ = _props$initialState8.columnFilters) == null ? void 0 : _props$initialState8$[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_TYPE.EQUALS : MRT_FILTER_TYPE.BEST_MATCH, _ref2;
3501
+ })));
3502
+ }),
3503
+ currentFilterTypes = _useState7[0],
3504
+ setCurrentFilterTypes = _useState7[1];
3505
+
3506
+ var _useState8 = React.useState((_props$globalFilterTy = props.globalFilterType) != null ? _props$globalFilterTy : MRT_FILTER_TYPE.BEST_MATCH_FIRST),
3507
+ currentGlobalFilterType = _useState8[0],
3508
+ setCurrentGlobalFilterType = _useState8[1];
3509
+
3510
+ var table = React.useMemo(function () {
3511
+ return reactTable.createTable();
3512
+ }, []);
3513
+ var displayColumns = React.useMemo(function () {
3514
+ var _props$localization, _props$localization2, _props$localization3, _props$localization4;
3515
+
3516
+ return [(props.enableRowActions || props.enableRowEditing) && createDisplayColumn(table, {
3517
+ Cell: function Cell(_ref3) {
3518
+ var cell = _ref3.cell;
3519
+ return React__default.createElement(MRT_ToggleRowActionMenuButton, {
3520
+ row: cell.row,
3521
+ tableInstance: tableInstance
3522
+ });
3523
+ },
3524
+ header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3525
+ id: 'mrt-row-actions',
3526
+ maxWidth: 60,
3527
+ width: 60
3528
+ }), (props.enableExpanded || props.enableGrouping) && createDisplayColumn(table, {
3529
+ Cell: function Cell(_ref4) {
3530
+ var cell = _ref4.cell;
3531
+ return React__default.createElement(MRT_ExpandButton, {
3532
+ row: cell.row,
3533
+ tableInstance: tableInstance
3534
+ });
3535
+ },
3536
+ Header: function Header() {
3537
+ return props.enableExpandAll ? React__default.createElement(MRT_ExpandAllButton, {
3538
+ tableInstance: tableInstance
3539
+ }) : null;
3540
+ },
3541
+ header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3542
+ id: 'mrt-expand',
3543
+ maxWidth: 40,
3544
+ width: 40
3545
+ }), props.enableRowSelection && createDisplayColumn(table, {
3546
+ Cell: function Cell(_ref5) {
3547
+ var cell = _ref5.cell;
3548
+ return React__default.createElement(MRT_SelectCheckbox, {
3549
+ row: cell.row,
3550
+ tableInstance: tableInstance
3551
+ });
3552
+ },
3553
+ Header: function Header() {
3554
+ return props.enableSelectAll ? React__default.createElement(MRT_SelectCheckbox, {
3555
+ selectAll: true,
3556
+ tableInstance: tableInstance
3557
+ }) : null;
3558
+ },
3559
+ header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3560
+ id: 'mrt-select',
3561
+ maxWidth: 40,
3562
+ width: 40
3563
+ }), props.enableRowNumbers && createDisplayColumn(table, {
3564
+ Cell: function Cell(_ref6) {
3565
+ var cell = _ref6.cell;
3566
+ return cell.row.index + 1;
3567
+ },
3568
+ Header: function Header() {
3569
+ return '#';
3570
+ },
3571
+ header: (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.rowNumbers,
3572
+ id: 'mrt-row-numbers',
3573
+ maxWidth: 40,
3574
+ width: 40,
3575
+ minWidth: 40
3576
+ })].filter(Boolean);
3577
+ }, [props.enableExpandAll, props.enableExpanded, props.enableRowActions, props.enableRowEditing, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization]);
3578
+ var columns = React.useMemo(function () {
3579
+ return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3580
+ return column.columns ? createGroup(table, column, currentFilterTypes) : createDataColumn(table, column, currentFilterTypes);
3581
+ })));
3582
+ }, [table, props.columns, currentFilterTypes]);
3583
+ var data = React.useMemo(function () {
3584
+ return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function (_) {
3585
+ return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3586
+ var _ref7;
3587
+
3588
+ return _ref7 = {}, _ref7[c.id] = null, _ref7;
3589
+ })));
3590
+ }) : props.data;
3591
+ }, [props.data, props.isLoading]); //@ts-ignore
3592
+
3593
+ var tableInstance = reactTable.useTable(table, _extends({}, props, {
3594
+ //@ts-ignore
3595
+ filterTypes: defaultFilterFNs,
3596
+ globalFilterType: currentGlobalFilterType,
3597
+ columnFilterRowsFn: reactTable.columnFilterRowsFn,
3598
+ columns: columns,
3599
+ data: data,
3600
+ expandRowsFn: reactTable.expandRowsFn,
3601
+ getSubRows: (_props$getSubRows = props.getSubRows) != null ? _props$getSubRows : function (originalRow) {
3602
+ return originalRow.subRows;
3603
+ },
3604
+ globalFilterRowsFn: reactTable.globalFilterRowsFn,
3605
+ groupRowsFn: reactTable.groupRowsFn,
3606
+ idPrefix: idPrefix,
3607
+ onPaginationChange: function onPaginationChange(updater) {
3608
+ return setPagination(function (old) {
3609
+ return reactTable.functionalUpdate(updater, old);
3610
+ });
3611
+ },
3612
+ paginateRowsFn: reactTable.paginateRowsFn,
3613
+ setCurrentEditingRow: setCurrentEditingRow,
3614
+ setCurrentFilterTypes: setCurrentFilterTypes,
3615
+ setCurrentGlobalFilterType: setCurrentGlobalFilterType,
3616
+ setIsDensePadding: setIsDensePadding,
3617
+ setIsFullScreen: setIsFullScreen,
3618
+ setShowFilters: setShowFilters,
3619
+ setShowSearch: setShowSearch,
3620
+ sortRowsFn: reactTable.sortRowsFn,
3621
+ state: _extends({}, props.initialState, {
3622
+ currentEditingRow: currentEditingRow,
3623
+ currentFilterTypes: currentFilterTypes,
3624
+ currentGlobalFilterType: currentGlobalFilterType,
3625
+ isDensePadding: isDensePadding,
3626
+ isFullScreen: isFullScreen,
3627
+ //@ts-ignore
3628
+ pagination: pagination,
3629
+ showFilters: showFilters,
3630
+ showSearch: showSearch
3631
+ }, props.state)
3632
+ }));
3633
+ return React__default.createElement(MRT_TablePaper, {
3634
+ tableInstance: tableInstance
3635
+ });
3241
3636
  };
3242
3637
 
3243
- var _excluded = ["defaultColumn", "filterTypes", "globalFilter", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3638
+ var _excluded$5 = ["enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "filterTypes", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3244
3639
  var MaterialReactTable = (function (_ref) {
3245
- var _ref$defaultColumn = _ref.defaultColumn,
3246
- defaultColumn = _ref$defaultColumn === void 0 ? {
3247
- minWidth: 50,
3248
- maxWidth: 1000
3249
- } : _ref$defaultColumn,
3250
- filterTypes = _ref.filterTypes,
3251
- _ref$globalFilter = _ref.globalFilter,
3252
- globalFilter = _ref$globalFilter === void 0 ? MRT_FILTER_TYPE.BEST_MATCH_FIRST : _ref$globalFilter,
3640
+ var _ref$enableColumnActi = _ref.enableColumnActions,
3641
+ enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
3642
+ _ref$enableColumnFilt = _ref.enableColumnFilters,
3643
+ enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
3644
+ _ref$enableDensePaddi = _ref.enableDensePaddingToggle,
3645
+ enableDensePaddingToggle = _ref$enableDensePaddi === void 0 ? true : _ref$enableDensePaddi,
3646
+ _ref$enableExpandAll = _ref.enableExpandAll,
3647
+ enableExpandAll = _ref$enableExpandAll === void 0 ? true : _ref$enableExpandAll,
3648
+ _ref$enableFullScreen = _ref.enableFullScreenToggle,
3649
+ enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
3650
+ _ref$enableGlobalFilt = _ref.enableGlobalFilter,
3651
+ enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
3652
+ _ref$enableHiding = _ref.enableHiding,
3653
+ enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3654
+ _ref$enablePagination = _ref.enablePagination,
3655
+ enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3656
+ _ref$enableSelectAll = _ref.enableSelectAll,
3657
+ enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3658
+ _ref$enableSorting = _ref.enableSorting,
3659
+ enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
3660
+ _ref$enableStickyHead = _ref.enableStickyHeader,
3661
+ enableStickyHeader = _ref$enableStickyHead === void 0 ? true : _ref$enableStickyHead,
3253
3662
  icons = _ref.icons,
3254
3663
  localization = _ref.localization,
3255
3664
  _ref$positionActionsC = _ref.positionActionsColumn,
@@ -3260,23 +3669,27 @@ var MaterialReactTable = (function (_ref) {
3260
3669
  positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
3261
3670
  _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
3262
3671
  positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
3263
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
3264
-
3265
- return React__default.createElement(MaterialReactTableProvider //@ts-ignore
3266
- , Object.assign({
3267
- //@ts-ignore
3268
- defaultColumn: defaultColumn,
3269
- //@ts-ignore
3270
- filterTypes: _extends({}, defaultFilterFNs, filterTypes),
3271
- //@ts-ignore
3272
- globalFilter: globalFilter,
3672
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
3673
+
3674
+ return React__default.createElement(MRT_TableRoot, Object.assign({
3675
+ enableColumnActions: enableColumnActions,
3676
+ enableColumnFilters: enableColumnFilters,
3677
+ enableDensePaddingToggle: enableDensePaddingToggle,
3678
+ enableExpandAll: enableExpandAll,
3679
+ enableFullScreenToggle: enableFullScreenToggle,
3680
+ enableGlobalFilter: enableGlobalFilter,
3681
+ enableHiding: enableHiding,
3682
+ enablePagination: enablePagination,
3683
+ enableSelectAll: enableSelectAll,
3684
+ enableSorting: enableSorting,
3685
+ enableStickyHeader: enableStickyHeader,
3273
3686
  icons: _extends({}, MRT_Default_Icons, icons),
3274
3687
  localization: _extends({}, MRT_DefaultLocalization_EN, localization),
3275
3688
  positionActionsColumn: positionActionsColumn,
3276
3689
  positionPagination: positionPagination,
3277
3690
  positionToolbarActions: positionToolbarActions,
3278
3691
  positionToolbarAlertBanner: positionToolbarAlertBanner
3279
- }, rest), React__default.createElement(MRT_TableContainer, null));
3692
+ }, rest));
3280
3693
  });
3281
3694
 
3282
3695
  exports.default = MaterialReactTable;