material-react-table 0.6.8 → 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 (107) hide show
  1. package/dist/MaterialReactTable.d.ts +147 -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/enums.d.ts +2 -1
  18. package/dist/filtersFNs.d.ts +13 -5
  19. package/dist/footer/MRT_TableFooter.d.ts +3 -0
  20. package/dist/footer/MRT_TableFooterCell.d.ts +3 -2
  21. package/dist/footer/MRT_TableFooterRow.d.ts +2 -1
  22. package/dist/head/MRT_TableHead.d.ts +3 -0
  23. package/dist/head/MRT_TableHeadCell.d.ts +4 -18
  24. package/dist/head/MRT_TableHeadRow.d.ts +2 -1
  25. package/dist/icons.d.ts +1 -1
  26. package/dist/inputs/MRT_EditCellTextField.d.ts +2 -1
  27. package/dist/inputs/MRT_FilterTextField.d.ts +3 -2
  28. package/dist/inputs/MRT_SearchTextField.d.ts +2 -0
  29. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  30. package/dist/localization.d.ts +9 -2
  31. package/dist/material-react-table.cjs.development.js +2183 -1686
  32. package/dist/material-react-table.cjs.development.js.map +1 -1
  33. package/dist/material-react-table.cjs.production.min.js +1 -1
  34. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  35. package/dist/material-react-table.esm.js +2191 -1694
  36. package/dist/material-react-table.esm.js.map +1 -1
  37. package/dist/menus/MRT_ColumnActionMenu.d.ts +3 -2
  38. package/dist/menus/MRT_FilterTypeMenu.d.ts +4 -3
  39. package/dist/menus/MRT_RowActionMenu.d.ts +3 -2
  40. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -0
  41. package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -1
  42. package/dist/table/MRT_Table.d.ts +3 -0
  43. package/dist/table/MRT_TableContainer.d.ts +2 -0
  44. package/dist/table/MRT_TablePaper.d.ts +7 -0
  45. package/dist/table/MRT_TableRoot.d.ts +3 -0
  46. package/dist/toolbar/MRT_LinearProgressBar.d.ts +2 -0
  47. package/dist/toolbar/MRT_TablePagination.d.ts +2 -0
  48. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -0
  49. package/dist/toolbar/MRT_ToolbarBottom.d.ts +2 -0
  50. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -0
  51. package/dist/toolbar/MRT_ToolbarTop.d.ts +4 -2
  52. package/dist/utils.d.ts +12 -2
  53. package/package.json +27 -28
  54. package/src/MaterialReactTable.tsx +314 -241
  55. package/src/body/MRT_TableBody.tsx +25 -21
  56. package/src/body/MRT_TableBodyCell.tsx +74 -53
  57. package/src/body/MRT_TableBodyRow.tsx +35 -51
  58. package/src/body/MRT_TableDetailPanel.tsx +16 -14
  59. package/src/buttons/MRT_CopyButton.tsx +36 -11
  60. package/src/buttons/MRT_EditActionButtons.tsx +13 -12
  61. package/src/buttons/MRT_ExpandAllButton.tsx +36 -28
  62. package/src/buttons/MRT_ExpandButton.tsx +34 -40
  63. package/src/buttons/MRT_FullScreenToggleButton.tsx +18 -11
  64. package/src/buttons/MRT_ShowHideColumnsButton.tsx +18 -7
  65. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +17 -9
  66. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +18 -11
  67. package/src/buttons/MRT_ToggleFiltersButton.tsx +16 -9
  68. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +26 -21
  69. package/src/buttons/MRT_ToggleSearchButton.tsx +18 -11
  70. package/src/enums.ts +2 -1
  71. package/src/filtersFNs.ts +17 -3
  72. package/src/footer/MRT_TableFooter.tsx +23 -7
  73. package/src/footer/MRT_TableFooterCell.tsx +32 -24
  74. package/src/footer/MRT_TableFooterRow.tsx +20 -38
  75. package/src/head/MRT_TableHead.tsx +23 -7
  76. package/src/head/MRT_TableHeadCell.tsx +201 -151
  77. package/src/head/MRT_TableHeadRow.tsx +15 -81
  78. package/src/icons.ts +3 -3
  79. package/src/inputs/MRT_EditCellTextField.tsx +23 -24
  80. package/src/inputs/MRT_FilterTextField.tsx +51 -37
  81. package/src/inputs/MRT_SearchTextField.tsx +63 -22
  82. package/src/inputs/MRT_SelectCheckbox.tsx +75 -42
  83. package/src/localization.ts +19 -4
  84. package/src/menus/MRT_ColumnActionMenu.tsx +129 -69
  85. package/src/menus/MRT_FilterTypeMenu.tsx +55 -23
  86. package/src/menus/MRT_RowActionMenu.tsx +16 -11
  87. package/src/menus/MRT_ShowHideColumnsMenu.tsx +52 -20
  88. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +28 -17
  89. package/src/table/MRT_Table.tsx +24 -14
  90. package/src/table/MRT_TableContainer.tsx +109 -44
  91. package/src/table/MRT_TablePaper.tsx +61 -0
  92. package/src/table/MRT_TableRoot.tsx +236 -0
  93. package/src/toolbar/MRT_LinearProgressBar.tsx +9 -6
  94. package/src/toolbar/MRT_TablePagination.tsx +28 -18
  95. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +31 -19
  96. package/src/toolbar/MRT_ToolbarBottom.tsx +31 -20
  97. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +29 -16
  98. package/src/toolbar/MRT_ToolbarTop.tsx +34 -27
  99. package/src/utils.ts +37 -8
  100. package/dist/head/MRT_TableHeadCellActions.d.ts +0 -5
  101. package/dist/table/MRT_TableSpacerCell.d.ts +0 -6
  102. package/dist/useMRT.d.ts +0 -27
  103. package/src/@types/faker.d.ts +0 -4
  104. package/src/@types/react-table-config.d.ts +0 -53
  105. package/src/head/MRT_TableHeadCellActions.tsx +0 -29
  106. package/src/table/MRT_TableSpacerCell.tsx +0 -20
  107. package/src/useMRT.tsx +0 -215
@@ -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,162 +106,169 @@ function _objectWithoutPropertiesLoose(source, excluded) {
106
106
  return target;
107
107
  }
108
108
 
109
- var findLowestLevelCols = function findLowestLevelCols(columns) {
110
- var lowestLevelColumns = columns;
111
- var currentCols = columns;
112
-
113
- while (!!((_currentCols = currentCols) != null && _currentCols.length) && currentCols.some(function (col) {
114
- return col.columns;
115
- })) {
116
- var _currentCols;
117
-
118
- var nextCols = currentCols.filter(function (col) {
119
- return !!col.columns;
120
- }).map(function (col) {
121
- return col.columns;
122
- }).flat();
123
-
124
- if (nextCols.every(function (col) {
125
- return !(col != null && col.columns);
126
- })) {
127
- lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
128
- }
129
-
130
- currentCols = nextCols;
131
- }
132
-
133
- return lowestLevelColumns.filter(function (col) {
134
- return !col.columns;
135
- });
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'
136
163
  };
137
164
 
138
- var MaterialReactTableContext = /*#__PURE__*/function () {
139
- return React.createContext({});
140
- }();
141
-
142
- var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
143
- var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
144
-
145
- var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
146
- if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
147
-
148
- var _useState = React.useState(null),
149
- currentEditingRow = _useState[0],
150
- setCurrentEditingRow = _useState[1];
151
-
152
- var _useState2 = React.useState((_props$initialState$d = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.densePadding) != null ? _props$initialState$d : false),
153
- densePadding = _useState2[0],
154
- setDensePadding = _useState2[1];
155
-
156
- var _useState3 = React.useState((_props$initialState$f = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.fullScreen) != null ? _props$initialState$f : false),
157
- fullScreen = _useState3[0],
158
- setFullScreen = _useState3[1];
159
-
160
- var _useState4 = React.useState((_props$initialState$s = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.showFilters) != null ? _props$initialState$s : false),
161
- showFilters = _useState4[0],
162
- setShowFilters = _useState4[1];
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
+ };
163
194
 
164
- var _useState5 = React.useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearch) != null ? _props$initialState$s2 : false),
165
- showSearch = _useState5[0],
166
- setShowSearch = _useState5[1];
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;
167
205
 
168
- var _useState6 = React.useState(function () {
169
- return Object.assign.apply(Object, [{}].concat(findLowestLevelCols(props.columns).map(function (c) {
170
- var _ref, _c$filter, _props$initialState5, _props$initialState5$, _ref2;
206
+ var _getState = getState(),
207
+ isDensePadding = _getState.isDensePadding;
171
208
 
172
- 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.filterSelectOptions ? 'equals' : 'fuzzy', _ref2;
173
- })));
174
- }),
175
- currentFilterTypes = _useState6[0],
176
- setCurrentFilterTypes = _useState6[1];
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
+ };
177
227
 
178
- var applyFiltersToColumns = React.useCallback(function (cols) {
179
- return cols.map(function (column) {
180
- if (column.columns) {
181
- applyFiltersToColumns(column.columns);
182
- } else {
183
- var _props$filterTypes;
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;
184
237
 
185
- column.filter = props == null ? void 0 : (_props$filterTypes = props.filterTypes) == null ? void 0 : _props$filterTypes[currentFilterTypes[column.accessor]];
186
- }
238
+ var _getState = getState(),
239
+ isDensePadding = _getState.isDensePadding;
187
240
 
188
- return column;
189
- });
190
- }, [currentFilterTypes, props.filterTypes]);
191
- var columns = React.useMemo(function () {
192
- return applyFiltersToColumns(props.columns);
193
- }, [props.columns, applyFiltersToColumns]);
194
- var data = React.useMemo(function () {
195
- return !props.isLoading || !!props.data.length ? props.data : [].concat(Array(10).fill(null)).map(function (_) {
196
- return Object.assign.apply(Object, [{}].concat(findLowestLevelCols(props.columns).map(function (c) {
197
- var _ref3;
241
+ var handleToggleExpand = function handleToggleExpand(event) {
242
+ row.toggleExpanded();
243
+ onRowExpandChange == null ? void 0 : onRowExpandChange(event, row);
244
+ };
198
245
 
199
- return _ref3 = {}, _ref3[c.accessor] = null, _ref3;
200
- })));
201
- });
202
- }, [props.data, props.isLoading]);
203
- var tableInstance = reactTable.useTable.apply(void 0, [// @ts-ignore
204
- _extends({}, props, {
205
- // @ts-ignore
206
- columns: columns,
207
- data: data,
208
- useControlledState: function useControlledState(state) {
209
- return React.useMemo(function () {
210
- return _extends({}, state, {
211
- currentEditingRow: currentEditingRow,
212
- currentFilterTypes: currentFilterTypes,
213
- densePadding: densePadding,
214
- fullScreen: fullScreen,
215
- showFilters: showFilters,
216
- showSearch: showSearch
217
- }, props == null ? void 0 : props.useControlledState == null ? void 0 : props.useControlledState(state));
218
- }, [currentEditingRow, currentFilterTypes, densePadding, fullScreen, showFilters, showSearch, state]);
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'
219
254
  }
220
- })].concat(hooks));
221
- var idPrefix = React.useMemo(function () {
222
- var _props$idPrefix;
223
-
224
- return (_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9);
225
- }, [props.idPrefix]);
226
- var anyRowsCanExpand = React.useMemo(function () {
227
- return tableInstance.rows.some(function (row) {
228
- return row.canExpand;
229
- });
230
- }, [tableInstance.rows]);
231
- var anyRowsExpanded = React.useMemo(function () {
232
- return tableInstance.rows.some(function (row) {
233
- return row.isExpanded;
234
- });
235
- }, [tableInstance.rows]);
236
- return React__default.createElement(MaterialReactTableContext.Provider, {
237
- value: _extends({}, props, {
238
- anyRowsCanExpand: anyRowsCanExpand,
239
- anyRowsExpanded: anyRowsExpanded,
240
- idPrefix: idPrefix,
241
- //@ts-ignore
242
- setCurrentEditingRow: setCurrentEditingRow,
243
- setCurrentFilterTypes: setCurrentFilterTypes,
244
- setDensePadding: setDensePadding,
245
- setFullScreen: setFullScreen,
246
- setShowFilters: setShowFilters,
247
- setShowSearch: setShowSearch,
248
- //@ts-ignore
249
- tableInstance: tableInstance
250
- })
251
- }, props.children);
252
- };
253
- var useMRT = function useMRT() {
254
- return React.useContext(MaterialReactTableContext);
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
+ }));
255
261
  };
256
262
 
257
263
  var MRT_FILTER_TYPE;
258
264
 
259
265
  (function (MRT_FILTER_TYPE) {
266
+ MRT_FILTER_TYPE["BEST_MATCH"] = "bestMatch";
267
+ MRT_FILTER_TYPE["BEST_MATCH_FIRST"] = "bestMatchFirst";
260
268
  MRT_FILTER_TYPE["CONTAINS"] = "contains";
261
269
  MRT_FILTER_TYPE["EMPTY"] = "empty";
262
270
  MRT_FILTER_TYPE["ENDS_WITH"] = "endsWith";
263
271
  MRT_FILTER_TYPE["EQUALS"] = "equals";
264
- MRT_FILTER_TYPE["FUZZY"] = "fuzzy";
265
272
  MRT_FILTER_TYPE["GREATER_THAN"] = "greaterThan";
266
273
  MRT_FILTER_TYPE["LESS_THAN"] = "lessThan";
267
274
  MRT_FILTER_TYPE["NOT_EMPTY"] = "notEmpty";
@@ -269,7 +276,19 @@ var MRT_FILTER_TYPE;
269
276
  MRT_FILTER_TYPE["STARTS_WITH"] = "startsWith";
270
277
  })(MRT_FILTER_TYPE || (MRT_FILTER_TYPE = {}));
271
278
 
272
- var fuzzy = function fuzzy(rows, columnIds, filterValue) {
279
+ var bestMatchFirst = function bestMatchFirst(rows, columnIds, filterValue) {
280
+ return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
281
+ keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
282
+ return "values." + c;
283
+ }) : ["values." + columnIds]
284
+ });
285
+ };
286
+
287
+ bestMatchFirst.autoRemove = function (val) {
288
+ return !val;
289
+ };
290
+
291
+ var bestMatch = function bestMatch(rows, columnIds, filterValue) {
273
292
  return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
274
293
  keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
275
294
  return "values." + c;
@@ -280,7 +299,7 @@ var fuzzy = function fuzzy(rows, columnIds, filterValue) {
280
299
  });
281
300
  };
282
301
 
283
- fuzzy.autoRemove = function (val) {
302
+ bestMatch.autoRemove = function (val) {
284
303
  return !val;
285
304
  };
286
305
 
@@ -375,11 +394,12 @@ notEmpty.autoRemove = function (val) {
375
394
  };
376
395
 
377
396
  var defaultFilterFNs = {
397
+ bestMatch: bestMatch,
398
+ bestMatchFirst: bestMatchFirst,
378
399
  contains: contains,
379
400
  empty: empty,
380
401
  endsWith: endsWith,
381
402
  equals: equals,
382
- fuzzy: fuzzy,
383
403
  greaterThan: greaterThan,
384
404
  lessThan: lessThan,
385
405
  notEmpty: notEmpty,
@@ -394,25 +414,37 @@ var commonMenuItemStyles = {
394
414
  };
395
415
  var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
396
416
  var anchorEl = _ref.anchorEl,
397
- column = _ref.column,
417
+ header = _ref.header,
398
418
  onSelect = _ref.onSelect,
399
- setAnchorEl = _ref.setAnchorEl;
400
-
401
- var _useMRT = useMRT(),
402
- localization = _useMRT.localization,
403
- setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
404
- 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;
405
432
 
406
433
  var filterTypes = React.useMemo(function () {
407
434
  return [{
408
- type: MRT_FILTER_TYPE.FUZZY,
409
- label: localization.filterFuzzy,
435
+ type: MRT_FILTER_TYPE.BEST_MATCH_FIRST,
436
+ label: localization.filterBestMatchFirst,
410
437
  divider: false,
411
- fn: fuzzy
438
+ fn: bestMatchFirst
439
+ }, {
440
+ type: MRT_FILTER_TYPE.BEST_MATCH,
441
+ label: localization.filterBestMatch,
442
+ divider: !!header,
443
+ fn: bestMatch
412
444
  }, {
413
445
  type: MRT_FILTER_TYPE.CONTAINS,
414
446
  label: localization.filterContains,
415
- divider: true,
447
+ divider: false,
416
448
  fn: contains
417
449
  }, {
418
450
  type: MRT_FILTER_TYPE.STARTS_WITH,
@@ -455,26 +487,30 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
455
487
  divider: false,
456
488
  fn: notEmpty
457
489
  }].filter(function (filterType) {
458
- return !column.filterTypes || column.filterTypes.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);
459
491
  });
460
492
  }, []);
461
493
 
462
494
  var handleSelectFilterType = function handleSelectFilterType(value) {
463
- setAnchorEl(null);
464
- setCurrentFilterTypes(function (prev) {
465
- var _extends2;
495
+ if (header) {
496
+ setCurrentFilterTypes(function (prev) {
497
+ var _extends2;
466
498
 
467
- return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = value, _extends2));
468
- });
499
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = value, _extends2));
500
+ });
469
501
 
470
- if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {
471
- column.setFilter(' ');
502
+ if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {
503
+ header.column.setColumnFilterValue(' ');
504
+ }
505
+ } else {
506
+ setCurrentGlobalFilterType(value);
472
507
  }
473
508
 
509
+ setAnchorEl(null);
474
510
  onSelect == null ? void 0 : onSelect();
475
511
  };
476
512
 
477
- var filterType = tableInstance.state.currentFilterTypes[column.id];
513
+ var filterType = !!header ? currentFilterTypes[header.id] : currentGlobalFilterType;
478
514
  return React__default.createElement(material.Menu, {
479
515
  anchorEl: anchorEl,
480
516
  anchorOrigin: {
@@ -486,7 +522,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
486
522
  },
487
523
  open: !!anchorEl,
488
524
  MenuListProps: {
489
- dense: tableInstance.state.densePadding
525
+ dense: isDensePadding
490
526
  }
491
527
  }, filterTypes.map(function (_ref2, index) {
492
528
  var type = _ref2.type,
@@ -506,262 +542,111 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
506
542
  }));
507
543
  };
508
544
 
509
- var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
510
- var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
511
-
512
- var column = _ref.column;
513
-
514
- var _useMRT = useMRT(),
515
- _useMRT$icons = _useMRT.icons,
516
- FilterListIcon = _useMRT$icons.FilterListIcon,
517
- CloseIcon = _useMRT$icons.CloseIcon,
518
- idPrefix = _useMRT.idPrefix,
519
- localization = _useMRT.localization,
520
- muiTableHeadCellFilterTextFieldProps = _useMRT.muiTableHeadCellFilterTextFieldProps,
521
- setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
522
- tableInstance = _useMRT.tableInstance;
545
+ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
546
+ var _column$columns2;
523
547
 
524
- var _useState = React.useState(null),
525
- anchorEl = _useState[0],
526
- 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;
527
553
 
528
- var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
529
- var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
554
+ var _getState = getState(),
555
+ columnVisibility = _getState.columnVisibility;
530
556
 
531
- 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
+ });
532
560
 
533
- var _useState2 = React.useState(''),
534
- filterValue = _useState2[0],
535
- setFilterValue = _useState2[1];
561
+ var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
562
+ if (column.columnDefType === 'group') {
563
+ var _column$columns;
536
564
 
537
- var handleChange = reactTable.useAsyncDebounce(function (value) {
538
- column.setFilter(value != null ? value : undefined);
539
- }, 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
+ }
540
571
 
541
- var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
542
- 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
+ }));
543
577
  };
544
578
 
545
- var handleClear = function handleClear() {
546
- setFilterValue('');
547
- column.setFilter(undefined);
548
- };
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
+ };
549
607
 
550
- var handleClearFilterChip = function handleClearFilterChip() {
551
- setFilterValue('');
552
- column.setFilter(undefined);
553
- setCurrentFilterTypes(function (prev) {
554
- 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;
555
624
 
556
- return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = MRT_FILTER_TYPE.FUZZY, _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);
557
630
  });
558
631
  };
559
632
 
560
- if (column.Filter) {
561
- return React__default.createElement(React__default.Fragment, null, column.Filter == null ? void 0 : column.Filter({
562
- column: column
563
- }));
564
- }
565
-
566
- var filterId = "mrt-" + idPrefix + "-" + column.id + "-filter-text-field";
567
- var filterType = tableInstance.state.currentFilterTypes[column.id];
568
- var isSelectFilter = !!column.filterSelectOptions;
569
- var filterChipLabel = !(filterType instanceof Function) && [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(filterType) ? //@ts-ignore
570
- localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))] : '';
571
- var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.Header));
572
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
573
- fullWidth: true,
574
- id: filterId,
575
- inputProps: {
576
- disabled: !!filterChipLabel,
577
- sx: {
578
- textOverflow: 'ellipsis',
579
- width: filterChipLabel ? 0 : undefined
580
- },
581
- title: filterPlaceholder
582
- },
583
- helperText: React__default.createElement("label", {
584
- htmlFor: filterId
585
- }, filterType instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
586
- (_localization$ = localization["filter" + (filterType.name.charAt(0).toUpperCase() + filterType.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
587
- localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))])),
588
- FormHelperTextProps: {
589
- sx: {
590
- fontSize: '0.6rem',
591
- lineHeight: '0.8rem'
592
- }
593
- },
594
- label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
595
- InputLabelProps: {
596
- shrink: false,
597
- sx: {
598
- maxWidth: 'calc(100% - 2.5rem)'
599
- },
600
- title: filterPlaceholder
601
- },
602
- margin: "none",
603
- placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
604
- onChange: function onChange(e) {
605
- setFilterValue(e.target.value);
606
- handleChange(e.target.value);
607
- },
608
- onClick: function onClick(e) {
609
- return e.stopPropagation();
610
- },
611
- select: isSelectFilter,
612
- value: filterValue != null ? filterValue : '',
613
- variant: "standard",
614
- InputProps: {
615
- startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
616
- position: "start"
617
- }, React__default.createElement(material.Tooltip, {
618
- arrow: true,
619
- title: localization.changeFilterMode
620
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
621
- "aria-label": localization.changeFilterMode,
622
- onClick: handleFilterMenuOpen,
623
- size: "small",
624
- sx: {
625
- height: '1.75rem',
626
- width: '1.75rem'
627
- }
628
- }, React__default.createElement(FilterListIcon, null)))), filterChipLabel && React__default.createElement(material.Chip, {
629
- onDelete: handleClearFilterChip,
630
- label: filterChipLabel
631
- })),
632
- endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
633
- position: "end"
634
- }, React__default.createElement(material.Tooltip, {
635
- arrow: true,
636
- disableHoverListener: isSelectFilter,
637
- placement: "right",
638
- title: (_localization$clearFi = localization.clearFilter) != null ? _localization$clearFi : ''
639
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
640
- "aria-label": localization.clearFilter,
641
- disabled: !(filterValue != null && filterValue.length),
642
- onClick: handleClear,
643
- size: "small",
644
- sx: {
645
- height: '1.75rem',
646
- width: '1.75rem'
647
- }
648
- }, React__default.createElement(CloseIcon, {
649
- fontSize: "small"
650
- })))))
651
- }
652
- }, textFieldProps, {
653
- sx: _extends({
654
- m: '-0.25rem',
655
- p: 0,
656
- minWidth: !filterChipLabel ? '5rem' : 'auto',
657
- width: 'calc(100% + 0.5rem)',
658
- mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
659
- '& .MuiSelect-icon': {
660
- mr: '1.5rem'
661
- }
662
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
663
- }), isSelectFilter && React__default.createElement(material.MenuItem, {
664
- divider: true,
665
- disabled: !filterValue,
666
- value: ""
667
- }, localization.clearFilter), column == null ? void 0 : (_column$filterSelectO = column.filterSelectOptions) == null ? void 0 : _column$filterSelectO.map(function (option) {
668
- var value;
669
- var text;
670
-
671
- if (typeof option === 'string') {
672
- value = option;
673
- text = option;
674
- } else if (typeof option === 'object') {
675
- value = option.value;
676
- text = option.text;
677
- }
678
-
679
- return React__default.createElement(material.MenuItem, {
680
- key: value,
681
- value: value
682
- }, text);
683
- })), React__default.createElement(MRT_FilterTypeMenu, {
684
- anchorEl: anchorEl,
685
- column: column,
686
- setAnchorEl: setAnchorEl
687
- }));
688
- };
689
-
690
- var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
691
- var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
692
-
693
- var column = _ref.column,
694
- isSubMenu = _ref.isSubMenu;
695
-
696
- var _useMRT = useMRT(),
697
- onColumnHide = _useMRT.onColumnHide,
698
- tableInstance = _useMRT.tableInstance;
699
-
700
- var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
701
- var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
702
- return childColumn.isVisible;
703
- }));
704
- var switchChecked = (_column$isVisible = column.isVisible) != null ? _column$isVisible : allChildColumnsVisible;
705
-
706
- var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
707
- if (isParentHeader) {
708
- var _column$columns3;
709
-
710
- column == null ? void 0 : (_column$columns3 = column.columns) == null ? void 0 : _column$columns3.forEach == null ? void 0 : _column$columns3.forEach(function (childColumn) {
711
- childColumn.toggleHidden(switchChecked);
712
- });
713
- } else {
714
- column.toggleHidden();
715
- }
716
-
717
- onColumnHide == null ? void 0 : onColumnHide(column, tableInstance.state.hiddenColumns);
718
- };
719
-
720
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
721
- sx: _extends({}, commonMenuItemStyles$1, {
722
- pl: (column.depth + 0.5) * 2 + "rem"
723
- })
724
- }, React__default.createElement(material.FormControlLabel, {
725
- componentsProps: {
726
- typography: {
727
- sx: {
728
- marginBottom: 0
729
- }
730
- }
731
- },
732
- checked: switchChecked,
733
- control: React__default.createElement(material.Switch, null),
734
- disabled: isSubMenu && switchChecked || column.disableColumnHiding,
735
- label: column.Header,
736
- onChange: function onChange() {
737
- return handleToggleColumnHidden(column);
738
- }
739
- })), (_column$columns4 = column.columns) == null ? void 0 : _column$columns4.map(function (c, i) {
740
- return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
741
- key: i + "-" + c.id,
742
- column: c,
743
- isSubMenu: isSubMenu
633
+ var allDisplayColumns = React.useMemo(function () {
634
+ return getAllColumns().filter(function (col) {
635
+ return col.columnDefType === 'display';
744
636
  });
745
- }));
746
- };
747
-
748
- var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
749
- var anchorEl = _ref.anchorEl,
750
- isSubMenu = _ref.isSubMenu,
751
- setAnchorEl = _ref.setAnchorEl;
752
-
753
- var _useMRT = useMRT(),
754
- localization = _useMRT.localization,
755
- tableInstance = _useMRT.tableInstance;
756
-
757
- var hideAllColumns = function hideAllColumns() {
758
- findLowestLevelCols(tableInstance.columns).filter(function (col) {
759
- return !col.disableColumnHiding;
760
- }).forEach(function (col) {
761
- return col.toggleHidden(true);
637
+ }, [getAllColumns()]);
638
+ var allDataColumns = React.useMemo(function () {
639
+ var dataColumns = getAllColumns().filter(function (col) {
640
+ return col.columnDefType !== 'display';
762
641
  });
763
- };
764
-
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()]);
765
650
  return React__default.createElement(material.Menu, {
766
651
  anchorEl: anchorEl,
767
652
  open: !!anchorEl,
@@ -769,7 +654,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
769
654
  return setAnchorEl(null);
770
655
  },
771
656
  MenuListProps: {
772
- dense: tableInstance.state.densePadding
657
+ dense: isDensePadding
773
658
  }
774
659
  }, React__default.createElement(material.Box, {
775
660
  sx: {
@@ -779,18 +664,26 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
779
664
  pt: 0
780
665
  }
781
666
  }, !isSubMenu && React__default.createElement(material.Button, {
782
- disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
667
+ disabled: !getIsSomeColumnsVisible(),
783
668
  onClick: hideAllColumns
784
669
  }, localization.hideAll), React__default.createElement(material.Button, {
785
- disabled: tableInstance.getToggleHideAllColumnsProps().checked,
670
+ disabled: getIsAllColumnsVisible(),
786
671
  onClick: function onClick() {
787
- return tableInstance.toggleHideAllColumns(false);
672
+ return toggleAllColumnsVisible(true);
788
673
  }
789
- }, 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) {
790
682
  return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
791
683
  column: column,
792
684
  isSubMenu: isSubMenu,
793
- key: index + "-" + column.id
685
+ key: index + "-" + column.id,
686
+ tableInstance: tableInstance
794
687
  });
795
688
  }));
796
689
  };
@@ -806,30 +699,39 @@ var commonListItemStyles = {
806
699
  alignItems: 'center'
807
700
  };
808
701
  var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
809
- 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;
810
703
 
811
704
  var anchorEl = _ref.anchorEl,
812
- column = _ref.column,
813
- setAnchorEl = _ref.setAnchorEl;
814
-
815
- var _useMRT = useMRT(),
816
- disableColumnHiding = _useMRT.disableColumnHiding,
817
- disableFilters = _useMRT.disableFilters,
818
- disableSortBy = _useMRT.disableSortBy,
819
- enableColumnGrouping = _useMRT.enableColumnGrouping,
820
- _useMRT$icons = _useMRT.icons,
821
- ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
822
- ClearAllIcon = _useMRT$icons.ClearAllIcon,
823
- ViewColumnIcon = _useMRT$icons.ViewColumnIcon,
824
- DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
825
- FilterListIcon = _useMRT$icons.FilterListIcon,
826
- FilterListOffIcon = _useMRT$icons.FilterListOffIcon,
827
- SortIcon = _useMRT$icons.SortIcon,
828
- VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
829
- idPrefix = _useMRT.idPrefix,
830
- localization = _useMRT.localization,
831
- setShowFilters = _useMRT.setShowFilters,
832
- 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;
833
735
 
834
736
  var _useState = React.useState(null),
835
737
  filterMenuAnchorEl = _useState[0],
@@ -840,48 +742,55 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
840
742
  setShowHideColumnsMenuAnchorEl = _useState2[1];
841
743
 
842
744
  var handleClearSort = function handleClearSort() {
843
- column.clearSortBy();
745
+ column.resetSorting();
844
746
  setAnchorEl(null);
845
747
  };
846
748
 
847
749
  var handleSortAsc = function handleSortAsc() {
848
- column.toggleSortBy(false);
750
+ column.toggleSorting(false);
849
751
  setAnchorEl(null);
850
752
  };
851
753
 
852
754
  var handleSortDesc = function handleSortDesc() {
853
- column.toggleSortBy(true);
755
+ column.toggleSorting(true);
854
756
  setAnchorEl(null);
855
757
  };
856
758
 
857
759
  var handleHideColumn = function handleHideColumn() {
858
- column.toggleHidden();
760
+ column.toggleVisibility(false);
859
761
  setAnchorEl(null);
860
762
  };
861
763
 
764
+ var handlePinColumn = function handlePinColumn(pinDirection) {
765
+ column.pin(pinDirection);
766
+ };
767
+
862
768
  var handleGroupByColumn = function handleGroupByColumn() {
863
- column.toggleGroupBy();
769
+ column.toggleGrouping();
770
+ setColumnOrder(function (old) {
771
+ return ['mrt-expand'].concat(old);
772
+ });
864
773
  setAnchorEl(null);
865
774
  };
866
775
 
867
776
  var handleClearFilter = function handleClearFilter() {
868
- column.setFilter('');
777
+ column.setColumnFilterValue('');
869
778
  setAnchorEl(null);
870
779
  };
871
780
 
872
781
  var handleFilterByColumn = function handleFilterByColumn() {
873
782
  setShowFilters(true);
874
783
  setTimeout(function () {
875
- var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
784
+ var _document$getElementB, _header$muiTableHeadC, _header$muiTableHeadC2;
876
785
 
877
786
  return (_document$getElementB = document.getElementById( // @ts-ignore
878
- (_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();
879
788
  }, 200);
880
789
  setAnchorEl(null);
881
790
  };
882
791
 
883
792
  var handleShowAllColumns = function handleShowAllColumns() {
884
- tableInstance.toggleHideAllColumns(false);
793
+ toggleAllColumnsVisible(true);
885
794
  setAnchorEl(null);
886
795
  };
887
796
 
@@ -902,26 +811,26 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
902
811
  return setAnchorEl(null);
903
812
  },
904
813
  MenuListProps: {
905
- dense: tableInstance.state.densePadding
814
+ dense: isDensePadding
906
815
  }
907
- }, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
908
- disabled: !column.isSorted,
816
+ }, enableSorting && column.getCanSort() && [React__default.createElement(material.MenuItem, {
817
+ disabled: !column.getIsSorted(),
909
818
  key: 0,
910
819
  onClick: handleClearSort,
911
820
  sx: commonMenuItemStyles$1
912
821
  }, React__default.createElement(material.Box, {
913
822
  sx: commonListItemStyles
914
823
  }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), localization.clearSort)), React__default.createElement(material.MenuItem, {
915
- disabled: column.isSorted && !column.isSortedDesc,
824
+ disabled: column.getIsSorted() === 'asc',
916
825
  key: 1,
917
826
  onClick: handleSortAsc,
918
827
  sx: commonMenuItemStyles$1
919
828
  }, React__default.createElement(material.Box, {
920
829
  sx: commonListItemStyles
921
- }, 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, {
922
- 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,
923
832
  key: 2,
924
- disabled: column.isSorted && column.isSortedDesc,
833
+ disabled: column.getIsSorted() === 'desc',
925
834
  onClick: handleSortDesc,
926
835
  sx: commonMenuItemStyles$1
927
836
  }, React__default.createElement(material.Box, {
@@ -930,21 +839,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
930
839
  style: {
931
840
  transform: 'rotate(180deg) scaleX(-1)'
932
841
  }
933
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.MenuItem, {
934
- 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(),
935
844
  key: 0,
936
845
  onClick: handleClearFilter,
937
846
  sx: commonMenuItemStyles$1
938
847
  }, React__default.createElement(material.Box, {
939
848
  sx: commonListItemStyles
940
849
  }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListOffIcon, null)), localization.clearFilter)), React__default.createElement(material.MenuItem, {
941
- divider: enableColumnGrouping || !disableColumnHiding,
850
+ divider: enableGrouping || enableHiding,
942
851
  key: 1,
943
852
  onClick: handleFilterByColumn,
944
853
  sx: commonMenuItemStyles$1
945
854
  }, React__default.createElement(material.Box, {
946
855
  sx: commonListItemStyles
947
- }, 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, {
948
857
  onClick: handleOpenFilterModeMenu,
949
858
  onMouseEnter: handleOpenFilterModeMenu,
950
859
  size: "small",
@@ -953,32 +862,71 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
953
862
  }
954
863
  }, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
955
864
  anchorEl: filterMenuAnchorEl,
956
- column: column,
865
+ header: header,
957
866
  key: 2,
867
+ onSelect: handleFilterByColumn,
958
868
  setAnchorEl: setFilterMenuAnchorEl,
959
- onSelect: handleFilterByColumn
960
- })], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
961
- divider: !disableColumnHiding,
869
+ tableInstance: tableInstance
870
+ })], enableGrouping && column.getCanGroup() && [React__default.createElement(material.MenuItem, {
871
+ divider: enableColumnPinning,
962
872
  key: 0,
963
873
  onClick: handleGroupByColumn,
964
874
  sx: commonMenuItemStyles$1
965
875
  }, React__default.createElement(material.Box, {
966
876
  sx: commonListItemStyles
967
- }, 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, {
968
- 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,
969
915
  key: 0,
970
916
  onClick: handleHideColumn,
971
917
  sx: commonMenuItemStyles$1
972
918
  }, React__default.createElement(material.Box, {
973
919
  sx: commonListItemStyles
974
- }, 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, {
975
- 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,
976
924
  key: 1,
977
925
  onClick: handleShowAllColumns,
978
926
  sx: commonMenuItemStyles$1
979
927
  }, React__default.createElement(material.Box, {
980
928
  sx: commonListItemStyles
981
- }, 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, {
982
930
  onClick: handleOpenShowHideColumnsMenu,
983
931
  onMouseEnter: handleOpenShowHideColumnsMenu,
984
932
  size: "small",
@@ -989,582 +937,51 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
989
937
  anchorEl: showHideColumnsMenuAnchorEl,
990
938
  isSubMenu: true,
991
939
  key: 2,
992
- setAnchorEl: setShowHideColumnsMenuAnchorEl
940
+ setAnchorEl: setShowHideColumnsMenuAnchorEl,
941
+ tableInstance: tableInstance
993
942
  })]);
994
943
  };
995
944
 
996
- var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
997
- var column = _ref.column;
998
-
999
- var _useMRT = useMRT(),
1000
- MoreVertIcon = _useMRT.icons.MoreVertIcon,
1001
- localization = _useMRT.localization,
1002
- muiTableHeadCellColumnActionsButtonProps = _useMRT.muiTableHeadCellColumnActionsButtonProps;
1003
-
1004
- var _useState = React.useState(null),
1005
- anchorEl = _useState[0],
1006
- setAnchorEl = _useState[1];
1007
-
1008
- var handleClick = function handleClick(event) {
1009
- event.stopPropagation();
1010
- event.preventDefault();
1011
- setAnchorEl(event.currentTarget);
1012
- };
1013
-
1014
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps(column) : muiTableHeadCellColumnActionsButtonProps;
1015
- var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps(column) : column.muiTableHeadCellColumnActionsButtonProps;
945
+ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
946
+ var _renderRowActionMenuI;
1016
947
 
1017
- 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;
1018
962
 
1019
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1020
- arrow: true,
1021
- enterDelay: 1000,
1022
- enterNextDelay: 1000,
1023
- placement: "top",
1024
- title: localization.columnActions
1025
- }, React__default.createElement(material.IconButton, Object.assign({
1026
- "aria-label": localization.columnActions,
1027
- onClick: handleClick,
1028
- size: "small"
1029
- }, iconButtonProps, {
1030
- sx: _extends({
1031
- height: '2rem',
1032
- mr: '2px',
1033
- mt: '-0.2rem',
1034
- opacity: 0.5,
1035
- transition: 'opacity 0.2s',
1036
- width: '2rem',
1037
- '&:hover': {
1038
- opacity: 1
1039
- }
1040
- }, iconButtonProps.sx)
1041
- }), React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
963
+ return React__default.createElement(material.Menu, {
1042
964
  anchorEl: anchorEl,
1043
- column: column,
1044
- setAnchorEl: setAnchorEl
1045
- }));
1046
- };
1047
-
1048
- var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding, enableColumnResizing, widths) {
1049
- return _extends({
1050
- fontWeight: 'bold',
1051
- height: '100%',
1052
- p: densePadding ? '0.5rem' : '1rem',
1053
- pt: densePadding ? '0.75rem' : '1.25rem',
1054
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
1055
- verticalAlign: 'text-top'
1056
- }, widths);
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);
1057
980
  };
1058
- var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
1059
- var _column$columns, _localization$sortByC, _localization$sortByC2;
1060
-
1061
- var column = _ref.column;
1062
-
1063
- var _useMRT = useMRT(),
1064
- disableColumnActions = _useMRT.disableColumnActions,
1065
- disableFilters = _useMRT.disableFilters,
1066
- enableColumnResizing = _useMRT.enableColumnResizing,
1067
- _useMRT$icons = _useMRT.icons,
1068
- FilterAltIcon = _useMRT$icons.FilterAltIcon,
1069
- FilterAltOff = _useMRT$icons.FilterAltOff,
1070
- localization = _useMRT.localization,
1071
- muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
1072
- setShowFilters = _useMRT.setShowFilters,
1073
- tableInstance = _useMRT.tableInstance;
1074
-
1075
- var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
1076
- var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
1077
- var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
1078
981
 
1079
- var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps, column.getHeaderProps(), {
1080
- style: _extends({}, column.getHeaderProps().style, mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style, mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style)
1081
- });
1082
-
1083
- 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);
1084
- var filterType = tableInstance.state.currentFilterTypes[column.id];
1085
- var filterTooltip = !!column.filterValue ? localization.filteringByColumn.replace('{column}', String(column.Header)).replace('{filterType}', filterType instanceof Function ? '' : // @ts-ignore
1086
- localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))]).replace('{filterValue}', column.filterValue) : localization.showHideFilters;
1087
- var columnHeader = column.render('Header');
1088
- return React__default.createElement(material.TableCell, Object.assign({
1089
- align: isParentHeader ? 'center' : 'left'
1090
- }, tableCellProps, {
1091
- sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing, {
1092
- maxWidth: column.maxWidth,
1093
- minWidth: column.minWidth,
1094
- width: column.width
1095
- }), tableCellProps == null ? void 0 : tableCellProps.sx)
1096
- }), React__default.createElement(material.Box, {
1097
- sx: {
1098
- alignItems: 'flex-start',
1099
- display: 'flex',
1100
- justifyContent: isParentHeader ? 'center' : 'space-between',
1101
- width: '100%'
1102
- }
1103
- }, React__default.createElement(material.Box, Object.assign({}, column.getSortByToggleProps(), {
1104
- sx: {
1105
- alignItems: 'center',
1106
- display: 'flex',
1107
- flexWrap: 'nowrap',
1108
- whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal'
1109
- },
1110
- title: undefined
1111
- }), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.Tooltip, {
1112
- arrow: true,
1113
- placement: "top",
1114
- title: sortTooltip
1115
- }, React__default.createElement(material.TableSortLabel, {
1116
- "aria-label": sortTooltip,
1117
- active: column.isSorted,
1118
- direction: column.isSortedDesc ? 'desc' : 'asc'
1119
- })), !isParentHeader && !!column.canFilter && React__default.createElement(material.Tooltip, {
1120
- arrow: true,
1121
- placement: "top",
1122
- title: filterTooltip
1123
- }, React__default.createElement(material.IconButton, {
1124
- disableRipple: true,
1125
- onClick: function onClick(event) {
1126
- event.stopPropagation();
1127
- setShowFilters(!tableInstance.state.showFilters);
1128
- },
1129
- size: "small",
1130
- sx: {
1131
- m: 0,
1132
- opacity: !!column.filterValue ? 0.8 : 0,
1133
- p: '2px',
1134
- transition: 'all 0.2s ease-in-out',
1135
- '&:hover': {
1136
- backgroundColor: 'transparent',
1137
- opacity: 0.8
1138
- }
1139
- }
1140
- }, tableInstance.state.showFilters && !column.filterValue ? React__default.createElement(FilterAltOff, {
1141
- fontSize: "small"
1142
- }) : React__default.createElement(FilterAltIcon, {
1143
- fontSize: "small"
1144
- })))), React__default.createElement(material.Box, {
1145
- sx: {
1146
- alignItems: 'center',
1147
- display: 'flex',
1148
- flexWrap: 'nowrap'
1149
- }
1150
- }, !disableColumnActions && !column.disableColumnActions && !isParentHeader && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
1151
- column: column
1152
- }), enableColumnResizing && !isParentHeader && React__default.createElement(material.Divider, Object.assign({
1153
- flexItem: true,
1154
- orientation: "vertical",
1155
- onDoubleClick: function onDoubleClick() {
1156
- return tableInstance.resetResizing();
1157
- }
1158
- }, column.getResizerProps(), {
1159
- sx: {
1160
- borderRightWidth: '2px',
1161
- borderRadius: '2px',
1162
- maxHeight: '2rem'
1163
- }
1164
- })))), !disableFilters && column.canFilter && React__default.createElement(material.Collapse, {
1165
- "in": tableInstance.state.showFilters
1166
- }, React__default.createElement(MRT_FilterTextField, {
1167
- column: column
1168
- })));
1169
- };
1170
-
1171
- var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
1172
- var cell = _ref.cell;
1173
-
1174
- var _useMRT = useMRT(),
1175
- muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
1176
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1177
- currentEditingRow = _useMRT.tableInstance.state.currentEditingRow;
1178
-
1179
- var handleChange = function handleChange(event) {
1180
- if (currentEditingRow) {
1181
- cell.row.values[cell.column.id] = event.target.value;
1182
- setCurrentEditingRow(_extends({}, currentEditingRow));
1183
- }
1184
-
1185
- cell.column.onCellEditChange == null ? void 0 : cell.column.onCellEditChange(event, cell);
1186
- };
1187
-
1188
- var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps(cell) : muiTableBodyCellEditTextFieldProps;
1189
- var mcTableBodyCellEditTextFieldProps = cell.column.muiTableBodyCellEditTextFieldProps instanceof Function ? cell.column.muiTableBodyCellEditTextFieldProps(cell) : cell.column.muiTableBodyCellEditTextFieldProps;
1190
-
1191
- var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps);
1192
-
1193
- if (!cell.column.disableEditing && cell.column.Edit) {
1194
- return React__default.createElement(React__default.Fragment, null, cell.column.Edit(_extends({}, textFieldProps, {
1195
- cell: cell
1196
- })));
1197
- }
1198
-
1199
- return React__default.createElement(material.TextField, Object.assign({
1200
- margin: "dense",
1201
- onChange: handleChange,
1202
- onClick: function onClick(e) {
1203
- return e.stopPropagation();
1204
- },
1205
- placeholder: cell.column.Header,
1206
- value: cell.value,
1207
- variant: "standard"
1208
- }, textFieldProps));
1209
- };
1210
-
1211
- var MRT_CopyButton = function MRT_CopyButton(_ref) {
1212
- var cell = _ref.cell;
1213
-
1214
- var _useMRT = useMRT(),
1215
- localization = _useMRT.localization;
1216
-
1217
- var _useState = React.useState(false),
1218
- copied = _useState[0],
1219
- setCopied = _useState[1];
1220
-
1221
- var handleCopy = function handleCopy(text) {
1222
- navigator.clipboard.writeText(text);
1223
- setCopied(true);
1224
- setTimeout(function () {
1225
- return setCopied(false);
1226
- }, 4000);
1227
- };
1228
-
1229
- return React__default.createElement(material.Tooltip, {
1230
- arrow: true,
1231
- enterDelay: 1000,
1232
- enterNextDelay: 1000,
1233
- placement: "top",
1234
- title: copied ? localization.copiedToClipboard : localization.clickToCopy
1235
- }, React__default.createElement(material.Button, {
1236
- "aria-label": localization.clickToCopy,
1237
- onClick: function onClick() {
1238
- return handleCopy(cell.value);
1239
- },
1240
- size: "small",
1241
- sx: {
1242
- backgroundColor: 'transparent',
1243
- color: 'inherit',
1244
- letterSpacing: 'inherit',
1245
- fontFamily: 'inherit',
1246
- fontSize: 'inherit',
1247
- m: '-0.25rem',
1248
- textTransform: 'inherit',
1249
- textAlign: 'inherit',
1250
- minWidth: 'unset'
1251
- },
1252
- variant: "text"
1253
- }, cell.render('Cell')));
1254
- };
1255
-
1256
- var commonTableBodyCellStyles = function commonTableBodyCellStyles(densePadding) {
1257
- return {
1258
- p: densePadding ? '0.5rem' : '1rem',
1259
- transition: 'all 0.2s ease-in-out',
1260
- whiteSpace: densePadding ? 'nowrap' : 'normal'
1261
- };
1262
- };
1263
- var commonTableBodyButtonCellStyles = function commonTableBodyButtonCellStyles(densePadding) {
1264
- return {
1265
- p: densePadding ? '1px' : '0.6rem',
1266
- textAlign: 'center',
1267
- transition: 'all 0.2s ease-in-out'
1268
- };
1269
- };
1270
- var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
1271
- var cell = _ref.cell;
1272
-
1273
- var _useMRT = useMRT(),
1274
- enableClickToCopy = _useMRT.enableClickToCopy,
1275
- isLoading = _useMRT.isLoading,
1276
- muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
1277
- muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
1278
- onCellClick = _useMRT.onCellClick,
1279
- _useMRT$tableInstance = _useMRT.tableInstance.state,
1280
- currentEditingRow = _useMRT$tableInstance.currentEditingRow,
1281
- densePadding = _useMRT$tableInstance.densePadding;
1282
-
1283
- var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
1284
- var mcTableCellBodyProps = cell.column.muiTableBodyCellProps instanceof Function ? cell.column.muiTableBodyCellProps(cell) : cell.column.muiTableBodyCellProps;
1285
-
1286
- var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps, cell.getCellProps(), {
1287
- style: _extends({}, cell.getCellProps().style, mTableCellBodyProps == null ? void 0 : mTableCellBodyProps.style, mcTableCellBodyProps == null ? void 0 : mcTableCellBodyProps.style)
1288
- });
1289
-
1290
- return React__default.createElement(material.TableCell, Object.assign({
1291
- onClick: function onClick(event) {
1292
- return onCellClick == null ? void 0 : onCellClick(event, cell);
1293
- }
1294
- }, tableCellProps, {
1295
- sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
1296
- }), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
1297
- animation: "wave",
1298
- height: 20,
1299
- width: Math.random() * (120 - 60) + 60
1300
- }, muiTableBodyCellSkeletonProps)) : !cell.column.disableEditing && (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React__default.createElement(MRT_EditCellTextField, {
1301
- cell: cell
1302
- }) : cell.isPlaceholder ? null : cell.isAggregated ? 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, {
1303
- cell: cell
1304
- }) : cell.render('Cell'));
1305
- };
1306
-
1307
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1308
- var row = _ref.row,
1309
- selectAll = _ref.selectAll;
1310
-
1311
- var _useMRT = useMRT(),
1312
- localization = _useMRT.localization,
1313
- onRowSelectChange = _useMRT.onRowSelectChange,
1314
- onSelectAllChange = _useMRT.onSelectAllChange,
1315
- tableInstance = _useMRT.tableInstance;
1316
-
1317
- var onSelectChange = function onSelectChange(event) {
1318
- if (selectAll) {
1319
- var _tableInstance$getTog;
1320
-
1321
- 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);
1322
- onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.selectedFlatRows);
1323
- } else if (row) {
1324
- var _row$getToggleRowSele;
1325
-
1326
- row == null ? void 0 : (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
1327
- onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
1328
- }
1329
- };
1330
-
1331
- var checkboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
1332
- return React__default.createElement(material.TableCell, {
1333
- sx: _extends({}, commonTableBodyButtonCellStyles(tableInstance.state.densePadding), {
1334
- maxWidth: '2rem',
1335
- width: '2rem'
1336
- })
1337
- }, React__default.createElement(material.Tooltip, {
1338
- arrow: true,
1339
- enterDelay: 1000,
1340
- enterNextDelay: 1000,
1341
- title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1342
- }, React__default.createElement(material.Checkbox, Object.assign({
1343
- inputProps: {
1344
- 'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1345
- },
1346
- onChange: onSelectChange
1347
- }, checkboxProps, {
1348
- title: undefined
1349
- }))));
1350
- };
1351
-
1352
- var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
1353
- var _useMRT = useMRT(),
1354
- anyRowsExpanded = _useMRT.anyRowsExpanded,
1355
- DoubleArrowDownIcon = _useMRT.icons.DoubleArrowDownIcon,
1356
- localization = _useMRT.localization,
1357
- tableInstance = _useMRT.tableInstance;
1358
-
1359
- return React__default.createElement(material.TableCell, Object.assign({
1360
- size: "small"
1361
- }, tableInstance.getToggleAllRowsExpandedProps(), {
1362
- sx: commonTableBodyButtonCellStyles(tableInstance.state.densePadding)
1363
- }), React__default.createElement(material.IconButton, {
1364
- "aria-label": localization.expandAll,
1365
- title: localization.expandAll
1366
- }, React__default.createElement(DoubleArrowDownIcon, {
1367
- style: {
1368
- transform: "rotate(" + (tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0) + "deg)",
1369
- transition: 'transform 0.2s'
1370
- }
1371
- })));
1372
- };
1373
-
1374
- var MRT_TableSpacerCell = function MRT_TableSpacerCell(_ref) {
1375
- var width = _ref.width;
1376
-
1377
- var _useMRT = useMRT(),
1378
- muiTableBodyCellProps = _useMRT.muiTableBodyCellProps;
1379
-
1380
- var tableCellProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps() : muiTableBodyCellProps;
1381
- return React__default.createElement(material.TableCell, Object.assign({}, tableCellProps, {
1382
- sx: _extends({
1383
- width: width
1384
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
1385
- }));
1386
- };
1387
-
1388
- var MRT_TableHeadCellActions = function MRT_TableHeadCellActions() {
1389
- var _useMRT = useMRT(),
1390
- localization = _useMRT.localization,
1391
- densePadding = _useMRT.tableInstance.state.densePadding;
1392
-
1393
- return React__default.createElement(material.TableCell, {
1394
- style: {
1395
- textAlign: 'center'
1396
- },
1397
- sx: _extends({}, commonTableHeadCellStyles(densePadding), {
1398
- textAlign: 'center',
1399
- maxWidth: '4rem',
1400
- width: '4rem'
1401
- })
1402
- }, localization.actions);
1403
- };
1404
-
1405
- var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
1406
- var headerGroup = _ref.headerGroup;
1407
-
1408
- var _useMRT = useMRT(),
1409
- anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1410
- disableExpandAll = _useMRT.disableExpandAll,
1411
- disableSelectAll = _useMRT.disableSelectAll,
1412
- enableRowActions = _useMRT.enableRowActions,
1413
- enableRowEditing = _useMRT.enableRowEditing,
1414
- enableRowNumbers = _useMRT.enableRowNumbers,
1415
- enableSelection = _useMRT.enableSelection,
1416
- muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
1417
- positionActionsColumn = _useMRT.positionActionsColumn,
1418
- renderDetailPanel = _useMRT.renderDetailPanel,
1419
- tableInstance = _useMRT.tableInstance;
1420
-
1421
- var isParentHeader = React.useMemo(function () {
1422
- return headerGroup.headers.some(function (h) {
1423
- var _h$columns$length, _h$columns;
1424
-
1425
- return ((_h$columns$length = (_h$columns = h.columns) == null ? void 0 : _h$columns.length) != null ? _h$columns$length : 0) > 0;
1426
- });
1427
- }, [headerGroup.headers]);
1428
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps(headerGroup) : muiTableHeadRowProps;
1429
-
1430
- var tableRowProps = _extends({}, mTableHeadRowProps, headerGroup.getHeaderGroupProps(), {
1431
- style: _extends({}, headerGroup.getHeaderGroupProps().style, mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style)
1432
- });
1433
-
1434
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(material.TableCell, {
1435
- sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding))
1436
- }, "#")), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React__default.createElement(MRT_ExpandAllButton, null) : React__default.createElement(MRT_TableSpacerCell, {
1437
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1438
- }) : null, enableSelection ? !isParentHeader && !disableSelectAll ? React__default.createElement(MRT_SelectCheckbox, {
1439
- selectAll: true
1440
- }) : React__default.createElement(MRT_TableSpacerCell, {
1441
- width: "1rem"
1442
- }) : null, headerGroup.headers.map(function (column) {
1443
- return React__default.createElement(MRT_TableHeadCell, {
1444
- key: column.getHeaderProps().key,
1445
- column: column
1446
- });
1447
- }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)));
1448
- };
1449
-
1450
- var MRT_TableHead = function MRT_TableHead() {
1451
- var _useMRT = useMRT(),
1452
- tableInstance = _useMRT.tableInstance,
1453
- muiTableHeadProps = _useMRT.muiTableHeadProps;
1454
-
1455
- var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps(tableInstance) : muiTableHeadProps;
1456
- return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), tableInstance.headerGroups.map(function (headerGroup) {
1457
- return React__default.createElement(MRT_TableHeadRow, {
1458
- key: headerGroup.getHeaderGroupProps().key,
1459
- headerGroup: headerGroup
1460
- });
1461
- }));
1462
- };
1463
-
1464
- var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
1465
- var row = _ref.row;
1466
-
1467
- var _useMRT = useMRT(),
1468
- muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
1469
- muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
1470
- onDetailPanelClick = _useMRT.onDetailPanelClick,
1471
- renderDetailPanel = _useMRT.renderDetailPanel,
1472
- tableInstance = _useMRT.tableInstance;
1473
-
1474
- var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
1475
- var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
1476
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), React__default.createElement(material.TableCell, Object.assign({
1477
- colSpan: tableInstance.visibleColumns.length + 10,
1478
- onClick: function onClick(event) {
1479
- return onDetailPanelClick == null ? void 0 : onDetailPanelClick(event, row);
1480
- }
1481
- }, tableCellProps, {
1482
- sx: _extends({
1483
- borderBottom: !row.isExpanded ? 'none' : undefined,
1484
- pb: row.isExpanded ? '1rem' : 0,
1485
- pt: row.isExpanded ? '1rem' : 0,
1486
- transition: 'all 0.2s ease-in-out'
1487
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
1488
- }), React__default.createElement(material.Collapse, {
1489
- "in": row.isExpanded
1490
- }, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
1491
- };
1492
-
1493
- var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
1494
- var row = _ref.row;
1495
-
1496
- var _useMRT = useMRT(),
1497
- ExpandMoreIcon = _useMRT.icons.ExpandMoreIcon,
1498
- localization = _useMRT.localization,
1499
- onRowExpandChange = _useMRT.onRowExpandChange,
1500
- renderDetailPanel = _useMRT.renderDetailPanel,
1501
- densePadding = _useMRT.tableInstance.state.densePadding;
1502
-
1503
- var handleToggleExpand = function handleToggleExpand(event) {
1504
- var _row$getToggleRowExpa;
1505
-
1506
- // @ts-ignore
1507
- (_row$getToggleRowExpa = row.getToggleRowExpandedProps()) == null ? void 0 : _row$getToggleRowExpa.onClick(event);
1508
- onRowExpandChange == null ? void 0 : onRowExpandChange(event, row);
1509
- };
1510
-
1511
- return React__default.createElement(material.TableCell, {
1512
- size: "small",
1513
- sx: _extends({}, commonTableBodyButtonCellStyles(densePadding), {
1514
- pl: row.depth + 0.5 + "rem",
1515
- textAlign: 'left'
1516
- })
1517
- }, React__default.createElement(material.IconButton, Object.assign({
1518
- "aria-label": localization.expand,
1519
- disabled: !row.canExpand && !renderDetailPanel,
1520
- title: localization.expand
1521
- }, row.getToggleRowExpandedProps(), {
1522
- onClick: handleToggleExpand
1523
- }), React__default.createElement(ExpandMoreIcon, {
1524
- style: {
1525
- transform: "rotate(" + (!row.canExpand && !renderDetailPanel ? -90 : row.isExpanded ? -180 : 0) + "deg)",
1526
- transition: 'transform 0.2s'
1527
- }
1528
- })));
1529
- };
1530
-
1531
- var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1532
- var _renderRowActionMenuI;
1533
-
1534
- var anchorEl = _ref.anchorEl,
1535
- row = _ref.row,
1536
- handleEdit = _ref.handleEdit,
1537
- setAnchorEl = _ref.setAnchorEl;
1538
-
1539
- var _useMRT = useMRT(),
1540
- EditIcon = _useMRT.icons.EditIcon,
1541
- enableRowEditing = _useMRT.enableRowEditing,
1542
- localization = _useMRT.localization,
1543
- renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
1544
- tableInstance = _useMRT.tableInstance;
1545
-
1546
- return React__default.createElement(material.Menu, {
1547
- anchorEl: anchorEl,
1548
- open: !!anchorEl,
1549
- onClose: function onClose() {
1550
- return setAnchorEl(null);
1551
- },
1552
- MenuListProps: {
1553
- dense: tableInstance.state.densePadding
1554
- }
1555
- }, enableRowEditing && React__default.createElement(material.MenuItem, {
1556
- onClick: handleEdit,
1557
- sx: commonMenuItemStyles$1
1558
- }, React__default.createElement(material.Box, {
1559
- sx: commonListItemStyles
1560
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), localization.edit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
1561
- return setAnchorEl(null);
1562
- })) != null ? _renderRowActionMenuI : null);
1563
- };
1564
-
1565
- function createCommonjsModule(fn, module) {
1566
- return module = { exports: {} }, fn(module, module.exports), module.exports;
1567
- }
982
+ function createCommonjsModule(fn, module) {
983
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
984
+ }
1568
985
 
1569
986
  var runtime_1 = createCommonjsModule(function (module) {
1570
987
  /**
@@ -2323,30 +1740,34 @@ try {
2323
1740
  });
2324
1741
 
2325
1742
  var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
2326
- var row = _ref.row;
2327
-
2328
- var _useMRT = useMRT(),
2329
- _useMRT$icons = _useMRT.icons,
2330
- CancelIcon = _useMRT$icons.CancelIcon,
2331
- SaveIcon = _useMRT$icons.SaveIcon,
2332
- localization = _useMRT.localization,
2333
- onRowEditSubmit = _useMRT.onRowEditSubmit,
2334
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
2335
- 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;
2336
1753
 
2337
1754
  var handleCancel = function handleCancel() {
2338
- row.values = row.original;
1755
+ var _row$original;
1756
+
1757
+ row.values = (_row$original = row.original) != null ? _row$original : {};
2339
1758
  setCurrentEditingRow(null);
2340
1759
  };
2341
1760
 
2342
1761
  var handleSave = /*#__PURE__*/function () {
2343
1762
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1763
+ var _getState$currentEdit;
1764
+
2344
1765
  return runtime_1.wrap(function _callee$(_context) {
2345
1766
  while (1) {
2346
1767
  switch (_context.prev = _context.next) {
2347
1768
  case 0:
2348
1769
  _context.next = 2;
2349
- 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);
2350
1771
 
2351
1772
  case 2:
2352
1773
  setCurrentEditingRow(null);
@@ -2385,787 +1806,1859 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
2385
1806
  }, React__default.createElement(SaveIcon, null))));
2386
1807
  };
2387
1808
 
2388
- var commonIconButtonStyles = {
2389
- opacity: 0.5,
2390
- transition: 'opacity 0.2s',
2391
- marginRight: '2px',
2392
- height: '2rem',
2393
- width: '2rem',
2394
- '&:hover': {
2395
- opacity: 1
2396
- }
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)));
2397
2059
  };
2398
- var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
2399
- var _tableInstance$state$;
2400
2060
 
2401
- 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);
2402
2065
 
2403
- var _useMRT = useMRT(),
2404
- enableRowEditing = _useMRT.enableRowEditing,
2405
- _useMRT$icons = _useMRT.icons,
2406
- EditIcon = _useMRT$icons.EditIcon,
2407
- MoreHorizIcon = _useMRT$icons.MoreHorizIcon,
2408
- localization = _useMRT.localization,
2409
- renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
2410
- renderRowActions = _useMRT.renderRowActions,
2411
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
2412
- tableInstance = _useMRT.tableInstance;
2066
+ var _tableInstance$option = tableInstance.options,
2067
+ ViewColumnIcon = _tableInstance$option.icons.ViewColumnIcon,
2068
+ localization = _tableInstance$option.localization;
2413
2069
 
2414
2070
  var _useState = React.useState(null),
2415
2071
  anchorEl = _useState[0],
2416
2072
  setAnchorEl = _useState[1];
2417
2073
 
2418
- var handleOpenRowActionMenu = function handleOpenRowActionMenu(event) {
2419
- event.stopPropagation();
2420
- event.preventDefault();
2074
+ var handleClick = function handleClick(event) {
2421
2075
  setAnchorEl(event.currentTarget);
2422
2076
  };
2423
2077
 
2424
- var handleEdit = function handleEdit() {
2425
- setCurrentEditingRow(_extends({}, row));
2426
- setAnchorEl(null);
2427
- };
2428
-
2429
- return React__default.createElement(material.TableCell, {
2430
- sx: commonTableBodyButtonCellStyles(tableInstance.state.densePadding)
2431
- }, 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, {
2432
- row: row
2433
- }) : !renderRowActionMenuItems && enableRowEditing ? React__default.createElement(material.Tooltip, {
2434
- placement: "right",
2435
- arrow: true,
2436
- title: localization.edit
2437
- }, React__default.createElement(material.IconButton, {
2438
- sx: commonIconButtonStyles,
2439
- onClick: handleEdit
2440
- }, 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, {
2441
2079
  arrow: true,
2442
- enterDelay: 1000,
2443
- enterNextDelay: 1000,
2444
- title: localization.rowActions
2445
- }, React__default.createElement(material.IconButton, {
2446
- "aria-label": localization.rowActions,
2447
- onClick: handleOpenRowActionMenu,
2448
- size: "small",
2449
- sx: commonIconButtonStyles
2450
- }, 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, {
2451
2086
  anchorEl: anchorEl,
2452
- handleEdit: handleEdit,
2453
- row: row,
2454
- setAnchorEl: setAnchorEl
2455
- })) : null);
2087
+ setAnchorEl: setAnchorEl,
2088
+ tableInstance: tableInstance
2089
+ }));
2456
2090
  };
2457
2091
 
2458
- var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2459
- var row = _ref.row;
2460
-
2461
- var _useMRT = useMRT(),
2462
- anyRowsCanExpand = _useMRT.anyRowsCanExpand,
2463
- enableRowActions = _useMRT.enableRowActions,
2464
- enableRowEditing = _useMRT.enableRowEditing,
2465
- enableRowNumbers = _useMRT.enableRowNumbers,
2466
- enableSelection = _useMRT.enableSelection,
2467
- muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
2468
- onRowClick = _useMRT.onRowClick,
2469
- positionActionsColumn = _useMRT.positionActionsColumn,
2470
- renderDetailPanel = _useMRT.renderDetailPanel,
2471
- 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);
2472
2096
 
2473
- 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;
2474
2104
 
2475
- var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
2476
- style: _extends({}, row.getRowProps().style, mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style)
2477
- });
2105
+ var _getState = getState(),
2106
+ isDensePadding = _getState.isDensePadding;
2478
2107
 
2479
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
2480
- hover: true,
2481
- onClick: function onClick(event) {
2482
- 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);
2483
2115
  },
2484
- selected: row.isSelected
2485
- }, tableRowProps), enableRowNumbers && React__default.createElement(material.TableCell, {
2486
- sx: _extends({}, commonTableBodyCellStyles(densePadding))
2487
- }, row.index + 1), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
2488
- row: row
2489
- }), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_ExpandButton, {
2490
- row: row
2491
- }), enableSelection && React__default.createElement(MRT_SelectCheckbox, {
2492
- row: row
2493
- }), row.cells.map(function (cell) {
2494
- return React__default.createElement(MRT_TableBodyCell, {
2495
- key: cell.getCellProps().key,
2496
- cell: cell
2497
- });
2498
- }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
2499
- row: row
2500
- })), renderDetailPanel && !row.isGrouped && React__default.createElement(MRT_TableDetailPanel, {
2501
- row: row
2502
- }));
2116
+ size: "small"
2117
+ }, rest), isDensePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2503
2118
  };
2504
2119
 
2505
- var MRT_TableBody = function MRT_TableBody() {
2506
- var _useMRT = useMRT(),
2507
- tableInstance = _useMRT.tableInstance,
2508
- muiTableBodyProps = _useMRT.muiTableBodyProps,
2509
- 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);
2510
2124
 
2511
- var rows = manualPagination ? tableInstance.rows : tableInstance.page;
2512
- 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;
2513
2132
 
2514
- var tableBodyProps = _extends({}, mTableBodyProps, tableInstance.getTableBodyProps(), {
2515
- style: _extends({}, tableInstance.getTableBodyProps().style, mTableBodyProps == null ? void 0 : mTableBodyProps.style)
2516
- });
2133
+ var _getState = getState(),
2134
+ showFilters = _getState.showFilters;
2517
2135
 
2518
- return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps, {
2519
- sx: _extends({}, tableBodyProps == null ? void 0 : tableBodyProps.sx)
2520
- }), rows.map(function (row) {
2521
- tableInstance.prepareRow(row);
2522
- return React__default.createElement(MRT_TableBodyRow, {
2523
- key: row.getRowProps().key,
2524
- row: row
2525
- });
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)));
2146
+ };
2147
+
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;
2165
+
2166
+ var handleToggleSearch = function handleToggleSearch() {
2167
+ setShowSearch(!showSearch);
2168
+ setTimeout(function () {
2169
+ var _document$getElementB, _muiSearchTextFieldPr;
2170
+
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
+ };
2174
+
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
+ };
2183
+
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;
2193
+
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
2526
2221
  }));
2527
2222
  };
2528
2223
 
2529
- var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2530
- var _column$columns;
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;
2531
2231
 
2532
- var column = _ref.column;
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;
2533
2238
 
2534
- var _useMRT = useMRT(),
2535
- muiTableFooterCellProps = _useMRT.muiTableFooterCellProps,
2536
- enableColumnResizing = _useMRT.enableColumnResizing,
2537
- densePadding = _useMRT.tableInstance.state.densePadding;
2239
+ var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps(tableInstance) : muiTablePaginationProps;
2538
2240
 
2539
- var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
2540
- var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
2541
- var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
2241
+ var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
2242
+ setPageSize(+event.target.value);
2243
+ };
2542
2244
 
2543
- var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps, column.getFooterProps(), {
2544
- style: _extends({}, column.getFooterProps().style, mTableFooterCellProps == null ? void 0 : mTableFooterCellProps.style, mcTableFooterCellProps == null ? void 0 : mcTableFooterCellProps.style)
2545
- });
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, {
2263
+ sx: _extends({
2264
+ m: '0 0.5rem',
2265
+ position: 'relative',
2266
+ zIndex: 2
2267
+ }, tablePaginationProps == null ? void 0 : tablePaginationProps.sx)
2268
+ }));
2269
+ };
2546
2270
 
2547
- return React__default.createElement(material.TableCell, Object.assign({
2548
- align: isParentHeader ? 'center' : 'left',
2549
- variant: "head"
2550
- }, tableCellProps, {
2271
+ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
2272
+ var _localization$selecte, _localization$selecte2;
2273
+
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;
2288
+
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,
2551
2314
  sx: _extends({
2552
- fontWeight: 'bold',
2553
- verticalAlign: 'text-top',
2554
- p: densePadding ? '0.5rem' : '1rem',
2555
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
2556
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
2557
- }), column.render('Footer'));
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)));
2558
2331
  };
2559
2332
 
2560
- var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2561
- var footerGroup = _ref.footerGroup;
2562
-
2563
- var _useMRT = useMRT(),
2564
- anyRowsCanExpand = _useMRT.anyRowsCanExpand,
2565
- columns = _useMRT.columns,
2566
- enableRowActions = _useMRT.enableRowActions,
2567
- enableRowEditing = _useMRT.enableRowEditing,
2568
- enableRowNumbers = _useMRT.enableRowNumbers,
2569
- enableSelection = _useMRT.enableSelection,
2570
- muiTableFooterRowProps = _useMRT.muiTableFooterRowProps,
2571
- positionActionsColumn = _useMRT.positionActionsColumn,
2572
- renderDetailPanel = _useMRT.renderDetailPanel,
2573
- tableInstance = _useMRT.tableInstance; //if no content in row, skip row
2574
-
2575
-
2576
- if (!(columns != null && columns.some(function (c) {
2577
- return c.Footer;
2578
- }))) return null;
2579
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps(footerGroup) : muiTableFooterRowProps;
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
+ };
2580
2348
 
2581
- var tableRowProps = _extends({}, mTableFooterRowProps, footerGroup.getFooterGroupProps(), {
2582
- style: _extends({}, footerGroup.getFooterGroupProps().style, mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style)
2583
- });
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;
2584
2362
 
2585
- 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, {
2586
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
2587
- }), enableSelection && React__default.createElement(MRT_TableSpacerCell, {
2588
- width: "1rem"
2589
- }), footerGroup.headers.map(function (column) {
2590
- return React__default.createElement(MRT_TableFooterCell, {
2591
- key: column.getFooterProps().key,
2592
- column: column
2593
- });
2594
- }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_TableSpacerCell, null));
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
2415
+ }));
2595
2416
  };
2596
2417
 
2597
- var MRT_TableFooter = function MRT_TableFooter() {
2598
- var _useMRT = useMRT(),
2599
- muiTableFooterProps = _useMRT.muiTableFooterProps,
2600
- tableInstance = _useMRT.tableInstance;
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;
2601
2429
 
2602
- var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
2603
- return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
2604
- return React__default.createElement(MRT_TableFooterRow, {
2605
- key: footerGroup.getFooterGroupProps().key,
2606
- footerGroup: footerGroup
2607
- });
2608
- }));
2609
- };
2430
+ var _getState = getState(),
2431
+ isFullScreen = _getState.isFullScreen;
2610
2432
 
2611
- var MRT_Table = function MRT_Table() {
2612
- var _useMRT = useMRT(),
2613
- tableInstance = _useMRT.tableInstance,
2614
- muiTableProps = _useMRT.muiTableProps,
2615
- hideTableHead = _useMRT.hideTableHead,
2616
- hideTableFooter = _useMRT.hideTableFooter;
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
+ })));
2462
+ };
2617
2463
 
2618
- var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
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;
2619
2482
 
2620
- var tableProps = _extends({}, mTableProps, tableInstance.getTableProps(), {
2621
- style: _extends({}, tableInstance.getTableProps().style, mTableProps == null ? void 0 : mTableProps.style)
2622
- });
2483
+ var _useState = React.useState(null),
2484
+ anchorEl = _useState[0],
2485
+ setAnchorEl = _useState[1];
2623
2486
 
2624
- 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));
2625
- };
2487
+ var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
2488
+ var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
2626
2489
 
2627
- var MRT_SearchTextField = function MRT_SearchTextField() {
2628
- var _useMRT = useMRT(),
2629
- _useMRT$icons = _useMRT.icons,
2630
- SearchIcon = _useMRT$icons.SearchIcon,
2631
- CloseIcon = _useMRT$icons.CloseIcon,
2632
- idPrefix = _useMRT.idPrefix,
2633
- localization = _useMRT.localization,
2634
- muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
2635
- onGlobalFilterChange = _useMRT.onGlobalFilterChange,
2636
- tableInstance = _useMRT.tableInstance;
2490
+ var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
2637
2491
 
2638
- var _useState = React.useState(''),
2639
- searchValue = _useState[0],
2640
- setSearchValue = _useState[1];
2492
+ var _useState2 = React.useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
2493
+ filterValue = _useState2[0],
2494
+ setFilterValue = _useState2[1];
2641
2495
 
2642
- var handleChange = reactTable.useAsyncDebounce(function (event) {
2496
+ var handleChange = React.useCallback(material.debounce(function (event) {
2643
2497
  var _event$target$value;
2644
2498
 
2645
- tableInstance.setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
2646
- onGlobalFilterChange == null ? void 0 : onGlobalFilterChange(event);
2647
- }, 200);
2499
+ return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
2500
+ }, 150), []);
2501
+
2502
+ var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
2503
+ setAnchorEl(event.currentTarget);
2504
+ };
2648
2505
 
2649
2506
  var handleClear = function handleClear() {
2650
- setSearchValue('');
2651
- tableInstance.setGlobalFilter(undefined);
2507
+ setFilterValue('');
2508
+ column.setColumnFilterValue(undefined);
2652
2509
  };
2653
2510
 
2654
- return React__default.createElement(material.Collapse, {
2655
- "in": tableInstance.state.showSearch,
2656
- orientation: "horizontal"
2657
- }, React__default.createElement(material.TextField, Object.assign({
2658
- id: "mrt-" + idPrefix + "-search-text-field",
2659
- 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,
2660
2559
  onChange: function onChange(event) {
2661
- setSearchValue(event.target.value);
2560
+ setFilterValue(event.target.value);
2662
2561
  handleChange(event);
2663
2562
  },
2664
- value: searchValue != null ? searchValue : '',
2563
+ onClick: function onClick(e) {
2564
+ return e.stopPropagation();
2565
+ },
2566
+ select: isSelectFilter,
2567
+ value: filterValue != null ? filterValue : '',
2665
2568
  variant: "standard",
2666
2569
  InputProps: {
2667
- startAdornment: React__default.createElement(material.InputAdornment, {
2570
+ startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
2668
2571
  position: "start"
2669
- }, React__default.createElement(SearchIcon, {
2670
- fontSize: "small"
2572
+ }, React__default.createElement(material.Tooltip, {
2573
+ arrow: true,
2574
+ title: localization.changeFilterMode
2575
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
2576
+ "aria-label": localization.changeFilterMode,
2577
+ onClick: handleFilterMenuOpen,
2578
+ size: "small",
2579
+ sx: {
2580
+ height: '1.75rem',
2581
+ width: '1.75rem'
2582
+ }
2583
+ }, React__default.createElement(FilterListIcon, null)))), filterChipLabel && React__default.createElement(material.Chip, {
2584
+ onDelete: handleClearFilterChip,
2585
+ label: filterChipLabel
2671
2586
  })),
2672
- endAdornment: React__default.createElement(material.InputAdornment, {
2587
+ endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
2673
2588
  position: "end"
2674
- }, React__default.createElement(material.IconButton, {
2675
- "aria-label": localization.clearSearch,
2676
- 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),
2677
2597
  onClick: handleClear,
2678
2598
  size: "small",
2679
- title: localization.clearSearch
2599
+ sx: {
2600
+ height: '1.75rem',
2601
+ width: '1.75rem'
2602
+ }
2680
2603
  }, React__default.createElement(CloseIcon, {
2681
2604
  fontSize: "small"
2682
- })))
2605
+ })))))
2606
+ }
2607
+ }, textFieldProps, {
2608
+ sx: _extends({
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);
2638
+ })), React__default.createElement(MRT_FilterTypeMenu, {
2639
+ anchorEl: anchorEl,
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
2697
+ }));
2698
+ };
2699
+
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'
2683
2828
  }
2684
- }, muiSearchTextFieldProps, {
2685
- sx: _extends({
2686
- justifySelf: 'end'
2687
- }, muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.sx)
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
2688
2863
  })));
2689
2864
  };
2690
2865
 
2691
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2692
- var rest = _extends({}, _ref);
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;
2693
2871
 
2694
- var _useMRT = useMRT(),
2695
- _useMRT$icons = _useMRT.icons,
2696
- FullscreenExitIcon = _useMRT$icons.FullscreenExitIcon,
2697
- FullscreenIcon = _useMRT$icons.FullscreenIcon,
2698
- localization = _useMRT.localization,
2699
- setFullScreen = _useMRT.setFullScreen,
2700
- fullScreen = _useMRT.tableInstance.state.fullScreen;
2872
+ var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2701
2873
 
2702
- return React__default.createElement(material.Tooltip, {
2703
- arrow: true,
2704
- title: localization.toggleFullScreen
2705
- }, React__default.createElement(material.IconButton, Object.assign({
2706
- "aria-label": localization.showHideFilters,
2707
- onClick: function onClick() {
2708
- return setFullScreen(!fullScreen);
2709
- },
2710
- size: "small"
2711
- }, 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
+ }));
2712
2881
  };
2713
2882
 
2714
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2715
- 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
+ };
2716
2906
 
2717
- var _useMRT = useMRT(),
2718
- ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
2719
- 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;
2720
2914
 
2721
- var _useState = React.useState(null),
2722
- anchorEl = _useState[0],
2723
- 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
+ }
2724
2921
 
2725
- var handleClick = function handleClick(event) {
2726
- setAnchorEl(event.currentTarget);
2922
+ column.onCellEditChange == null ? void 0 : column.onCellEditChange(event, cell);
2727
2923
  };
2728
2924
 
2729
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2730
- arrow: true,
2731
- title: localization.showHideColumns
2732
- }, React__default.createElement(material.IconButton, Object.assign({
2733
- "aria-label": localization.showHideColumns,
2734
- onClick: handleClick,
2735
- size: "small"
2736
- }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
2737
- anchorEl: anchorEl,
2738
- setAnchorEl: setAnchorEl
2739
- }));
2740
- };
2925
+ var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps(cell) : muiTableBodyCellEditTextFieldProps;
2926
+ var mcTableBodyCellEditTextFieldProps = column.muiTableBodyCellEditTextFieldProps instanceof Function ? column.muiTableBodyCellEditTextFieldProps(cell) : column.muiTableBodyCellEditTextFieldProps;
2741
2927
 
2742
- var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2743
- var rest = _extends({}, _ref);
2928
+ var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps); // if (enableEditing && Edit) {
2929
+ // return <>{Edit({ ...textFieldProps, cell })}</>;
2930
+ // }
2744
2931
 
2745
- var _useMRT = useMRT(),
2746
- setDensePadding = _useMRT.setDensePadding,
2747
- localization = _useMRT.localization,
2748
- _useMRT$icons = _useMRT.icons,
2749
- DensityMediumIcon = _useMRT$icons.DensityMediumIcon,
2750
- DensitySmallIcon = _useMRT$icons.DensitySmallIcon,
2751
- densePadding = _useMRT.tableInstance.state.densePadding;
2752
2932
 
2753
- return React__default.createElement(material.Tooltip, {
2754
- arrow: true,
2755
- title: localization.toggleDensePadding
2756
- }, React__default.createElement(material.IconButton, Object.assign({
2757
- "aria-label": localization.toggleDensePadding,
2758
- onClick: function onClick() {
2759
- 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();
2760
2938
  },
2761
- size: "small"
2762
- }, 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));
2763
2943
  };
2764
2944
 
2765
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
2766
- 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
+ };
2767
2964
 
2768
- var _useMRT = useMRT(),
2769
- _useMRT$icons = _useMRT.icons,
2770
- FilterListIcon = _useMRT$icons.FilterListIcon,
2771
- FilterListOffIcon = _useMRT$icons.FilterListOffIcon,
2772
- localization = _useMRT.localization,
2773
- setShowFilters = _useMRT.setShowFilters,
2774
- 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);
2775
2969
 
2776
2970
  return React__default.createElement(material.Tooltip, {
2777
2971
  arrow: true,
2778
- title: localization.showHideFilters
2779
- }, React__default.createElement(material.IconButton, Object.assign({
2780
- "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,
2781
2978
  onClick: function onClick() {
2782
- return setShowFilters(!showFilters);
2979
+ return handleCopy(cell.value);
2783
2980
  },
2784
2981
  size: "small"
2785
- }, 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));
2786
2997
  };
2787
2998
 
2788
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2789
- var rest = _extends({}, _ref);
2790
-
2791
- var _useMRT = useMRT(),
2792
- _useMRT$icons = _useMRT.icons,
2793
- SearchIcon = _useMRT$icons.SearchIcon,
2794
- SearchOffIcon = _useMRT$icons.SearchOffIcon,
2795
- idPrefix = _useMRT.idPrefix,
2796
- localization = _useMRT.localization,
2797
- muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
2798
- setShowSearch = _useMRT.setShowSearch,
2799
- showSearch = _useMRT.tableInstance.state.showSearch;
2800
-
2801
- var handleToggleSearch = function handleToggleSearch() {
2802
- setShowSearch(!showSearch);
2803
- setTimeout(function () {
2804
- var _document$getElementB, _muiSearchTextFieldPr;
2999
+ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
3000
+ var _row$subRows, _row$subRows2;
3001
+
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;
2805
3022
 
2806
- 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();
2807
- }, 200);
2808
- };
3023
+ var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2809
3024
 
2810
- return React__default.createElement(material.Tooltip, {
2811
- arrow: true,
2812
- title: localization.showHideSearch
2813
- }, React__default.createElement(material.IconButton, Object.assign({
2814
- size: "small",
2815
- onClick: handleToggleSearch
2816
- }, 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, ")")));
2817
3053
  };
2818
3054
 
2819
- var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons() {
2820
- var _useMRT = useMRT(),
2821
- disableFilters = _useMRT.disableFilters,
2822
- disableColumnHiding = _useMRT.disableColumnHiding,
2823
- disableDensePaddingToggle = _useMRT.disableDensePaddingToggle,
2824
- disableGlobalFilter = _useMRT.disableGlobalFilter,
2825
- disableFullScreenToggle = _useMRT.disableFullScreenToggle,
2826
- renderToolbarInternalActions = _useMRT.renderToolbarInternalActions,
2827
- tableInstance = _useMRT.tableInstance;
2828
-
2829
- if (renderToolbarInternalActions) {
2830
- return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions(tableInstance, {
2831
- MRT_ToggleSearchButton: MRT_ToggleSearchButton,
2832
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
2833
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
2834
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
2835
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton
2836
- }));
2837
- }
2838
-
2839
- return React__default.createElement(material.Box, {
2840
- sx: {
2841
- display: 'flex',
2842
- gap: '0.5rem',
2843
- alignItems: 'center',
2844
- 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);
2845
3070
  }
2846
- }, !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))));
2847
3081
  };
2848
3082
 
2849
- var MRT_TablePagination = function MRT_TablePagination() {
2850
- var _useMRT = useMRT(),
2851
- tableInstance = _useMRT.tableInstance,
2852
- 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;
2853
3099
 
2854
- var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps(tableInstance) : muiTablePaginationProps;
3100
+ var tableRowProps = _extends({}, getRowProps(), mTableBodyRowProps);
2855
3101
 
2856
- var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
2857
- tableInstance.setPageSize(+event.target.value);
2858
- tableInstance.gotoPage(0);
3102
+ var getVisibleCellsMap = {
3103
+ center: getCenterVisibleCells,
3104
+ left: getLeftVisibleCells,
3105
+ none: getVisibleCells,
3106
+ right: getRightVisibleCells
2859
3107
  };
2860
-
2861
- return React__default.createElement(material.TablePagination, Object.assign({
2862
- component: 'div',
2863
- count: tableInstance.rows.length,
2864
- onPageChange: function onPageChange(_, newPage) {
2865
- return tableInstance.gotoPage(newPage);
2866
- },
2867
- onRowsPerPageChange: handleChangeRowsPerPage,
2868
- page: tableInstance.state.pageIndex,
2869
- rowsPerPage: tableInstance.state.pageSize,
2870
- SelectProps: {
2871
- style: {
2872
- margin: '0 1rem 0 1ch'
2873
- }
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);
2874
3112
  },
2875
- showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2876
- showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2
2877
- }, tablePaginationProps, {
2878
- sx: _extends({
2879
- m: '0 0.5rem',
2880
- position: 'relative',
2881
- zIndex: 2
2882
- }, 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
2883
3123
  }));
2884
3124
  };
2885
3125
 
2886
- var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2887
- 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;
2888
3137
 
2889
- var _useMRT = useMRT(),
2890
- muiTableToolbarAlertBannerProps = _useMRT.muiTableToolbarAlertBannerProps,
2891
- tableInstance = _useMRT.tableInstance,
2892
- positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2893
- positionToolbarActions = _useMRT.positionToolbarActions,
2894
- localization = _useMRT.localization,
2895
- renderToolbarCustomActions = _useMRT.renderToolbarCustomActions;
3138
+ var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2896
3139
 
2897
- var isMobile = material.useMediaQuery('(max-width:720px)');
2898
- var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps(tableInstance) : muiTableToolbarAlertBannerProps;
2899
- 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;
2900
- var groupedByMessage = tableInstance.state.groupBy.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', tableInstance.state.groupBy.map(function (columnId, index) {
2901
- 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
+ };
2902
3149
 
2903
- return React__default.createElement(React.Fragment, {
2904
- key: index + "-" + columnId
2905
- }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
2906
- color: "secondary",
2907
- label: (_tableInstance$allCol = tableInstance.allColumns.find(function (column) {
2908
- return column.id === columnId;
2909
- })) == null ? void 0 : _tableInstance$allCol.Header,
2910
- onDelete: function onDelete() {
2911
- return tableInstance.toggleGroupBy(columnId, false);
2912
- }
2913
- }));
2914
- })) : null;
2915
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
2916
- return React__default.createElement(material.Collapse, {
2917
- "in": !!selectMessage || !!groupedByMessage,
2918
- timeout: displayAbsolute ? 0 : 200
2919
- }, React__default.createElement(material.Alert, Object.assign({
2920
- color: "info",
2921
- icon: false,
2922
- sx: _extends({
2923
- borderRadius: 0,
2924
- fontSize: '1rem',
2925
- left: 0,
2926
- p: 0,
2927
- position: displayAbsolute ? 'absolute' : 'relative',
2928
- right: 0,
2929
- minHeight: '3.5rem',
2930
- top: 0,
2931
- width: '100%',
2932
- zIndex: 2
2933
- }, alertProps == null ? void 0 : alertProps.sx)
2934
- }, alertProps), React__default.createElement(material.Box, {
2935
- sx: {
2936
- 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);
2937
3183
  }
2938
- }, 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);
2939
3188
  };
2940
3189
 
2941
- var MRT_LinearProgressBar = function MRT_LinearProgressBar() {
2942
- var _useMRT = useMRT(),
2943
- muiLinearProgressProps = _useMRT.muiLinearProgressProps,
2944
- isFetching = _useMRT.isFetching,
2945
- isLoading = _useMRT.isLoading,
2946
- tableInstance = _useMRT.tableInstance;
3190
+ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
3191
+ var _footerGroup$headers;
2947
3192
 
2948
- var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
2949
- return React__default.createElement(material.Collapse, {
2950
- "in": isFetching || isLoading,
2951
- unmountOnExit: true
2952
- }, React__default.createElement(material.LinearProgress, Object.assign({
2953
- "aria-label": "Loading",
2954
- "aria-busy": "true"
2955
- }, 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
+ }));
2956
3235
  };
2957
3236
 
2958
- var commonToolbarStyles = function commonToolbarStyles(theme, tableInstance) {
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
+ }));
3262
+ };
3263
+
3264
+ var commonBoxStyles = function commonBoxStyles(_ref) {
3265
+ var pinned = _ref.pinned,
3266
+ theme = _ref.theme,
3267
+ visible = _ref.visible;
2959
3268
  return {
2960
- backgroundColor: theme.palette.background["default"],
2961
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2962
3269
  display: 'grid',
2963
- opacity: tableInstance.state.fullScreen ? 0.95 : 1,
2964
- p: '0 !important',
2965
- width: '100%',
2966
- 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'
2967
3273
  };
2968
3274
  };
2969
- var MRT_ToolbarTop = function MRT_ToolbarTop() {
2970
- var _renderToolbarCustomA;
2971
3275
 
2972
- var _useMRT = useMRT(),
2973
- disableGlobalFilter = _useMRT.disableGlobalFilter,
2974
- hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
2975
- manualPagination = _useMRT.manualPagination,
2976
- muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
2977
- positionPagination = _useMRT.positionPagination,
2978
- positionToolbarActions = _useMRT.positionToolbarActions,
2979
- positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2980
- renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
2981
- 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;
2982
3288
 
2983
- var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
2984
- return React__default.createElement(material.Toolbar, Object.assign({
2985
- variant: "dense"
2986
- }, toolbarProps, {
2987
- sx: function sx(theme) {
2988
- return _extends({
2989
- position: tableInstance.state.fullScreen ? 'sticky' : undefined,
2990
- top: tableInstance.state.fullScreen ? '0' : undefined
2991
- }, commonToolbarStyles(theme, tableInstance), toolbarProps == null ? void 0 : toolbarProps.sx);
2992
- }
2993
- }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, null), React__default.createElement(material.Box, {
2994
- sx: {
2995
- p: '0.5rem',
2996
- display: 'flex',
2997
- 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
2998
3313
  }
2999
- }, (_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, {
3000
3315
  sx: {
3001
- display: 'flex',
3002
- gap: '0.5rem',
3003
- position: 'relative',
3004
- zIndex: 3
3316
+ display: 'grid',
3317
+ gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
3005
3318
  }
3006
- }, !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));
3007
- };
3008
-
3009
- var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
3010
- var _useMRT = useMRT(),
3011
- hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
3012
- manualPagination = _useMRT.manualPagination,
3013
- muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
3014
- positionPagination = _useMRT.positionPagination,
3015
- positionToolbarActions = _useMRT.positionToolbarActions,
3016
- positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
3017
- tableInstance = _useMRT.tableInstance;
3319
+ }, React__default.createElement(material.Box // @ts-ignore
3320
+ , {
3321
+ // @ts-ignore
3322
+ sx: function sx(theme) {
3323
+ var _columnPinning$left;
3018
3324
 
3019
- var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
3020
- return React__default.createElement(material.Toolbar, Object.assign({
3021
- variant: "dense"
3022
- }, 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
+ , {
3023
3336
  sx: function sx(theme) {
3024
- return _extends({
3025
- bottom: tableInstance.state.fullScreen ? '0' : undefined,
3026
- position: tableInstance.state.fullScreen ? 'fixed' : undefined
3027
- }, commonToolbarStyles(theme, tableInstance), toolbarProps == null ? void 0 : toolbarProps.sx);
3337
+ return commonBoxStyles({
3338
+ theme: theme
3339
+ });
3028
3340
  }
3029
- }), React__default.createElement(MRT_LinearProgressBar, null), React__default.createElement(material.Box, {
3030
- sx: {
3031
- display: 'flex',
3032
- justifyContent: 'space-between',
3033
- 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
+ });
3034
3355
  }
3035
- }, !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
+ }));
3036
3363
  };
3037
3364
 
3038
- var MRT_TableContainer = function MRT_TableContainer() {
3039
- var _useMRT = useMRT(),
3040
- hideToolbarBottom = _useMRT.hideToolbarBottom,
3041
- hideToolbarTop = _useMRT.hideToolbarTop,
3042
- muiTableContainerProps = _useMRT.muiTableContainerProps,
3043
- 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;
3044
3375
 
3045
- var fullScreen = tableInstance.state.fullScreen;
3046
3376
  React.useEffect(function () {
3047
3377
  if (typeof window !== 'undefined') {
3048
- if (fullScreen) {
3378
+ if (isFullScreen) {
3049
3379
  document.body.style.overflow = 'hidden';
3050
3380
  } else {
3051
3381
  document.body.style.overflow = 'auto';
3052
3382
  }
3053
3383
  }
3054
- }, [fullScreen]);
3055
- var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
3056
- return React__default.createElement(material.TableContainer, Object.assign({
3057
- component: material.Paper
3058
- }, 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, {
3059
3389
  sx: _extends({
3060
- bottom: fullScreen ? '0' : undefined,
3061
- height: fullScreen ? '100%' : undefined,
3062
- left: fullScreen ? '0' : undefined,
3063
- m: fullScreen ? '0' : undefined,
3064
- overflowY: !fullScreen ? 'hidden' : undefined,
3065
- position: fullScreen ? 'fixed' : undefined,
3066
- right: fullScreen ? '0' : undefined,
3067
- 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,
3068
3398
  transition: 'all 0.2s ease-in-out',
3069
- width: fullScreen ? '100vw' : undefined,
3070
- zIndex: fullScreen ? 1200 : 1
3071
- }, tableContainerProps == null ? void 0 : tableContainerProps.sx)
3072
- }), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Box, {
3073
- sx: {
3074
- maxWidth: '100%',
3075
- 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);
3076
3430
  }
3077
- }, 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
+ });
3078
3438
  };
3439
+ var createGroup = function createGroup(table, column, currentFilterTypes) {
3440
+ var _column$columns;
3079
3441
 
3080
- var MRT_DefaultLocalization_EN = {
3081
- actions: 'Actions',
3082
- cancel: 'Cancel',
3083
- changeFilterMode: 'Change filter mode',
3084
- clearFilter: 'Clear filter',
3085
- clearSearch: 'Clear search',
3086
- clearSort: 'Clear sort',
3087
- clickToCopy: 'Click to copy',
3088
- columnActions: 'Column Actions',
3089
- copiedToClipboard: 'Copied to clipboard',
3090
- edit: 'Edit',
3091
- expand: 'Expand',
3092
- expandAll: 'Expand all',
3093
- filterByColumn: 'Filter by {column}',
3094
- filterContains: 'Contains Exact',
3095
- filterEmpty: 'Empty',
3096
- filterEndsWith: 'Ends With',
3097
- filterEquals: 'Equals',
3098
- filterFuzzy: 'Fuzzy Match',
3099
- filterGreaterThan: 'Greater Than',
3100
- filterLessThan: 'Less Than',
3101
- filterMode: 'Filter Mode: {filterType}',
3102
- filterNotEmpty: 'Not Empty',
3103
- filterNotEquals: 'Not Equals',
3104
- filterStartsWith: 'Starts With',
3105
- filteringByColumn: 'Filtering by {column} - {filterType} "{filterValue}"',
3106
- groupByColumn: 'Group by {column}',
3107
- groupedBy: 'Grouped by ',
3108
- hideAll: 'Hide all',
3109
- hideColumn: 'Hide {column} column',
3110
- rowActions: 'Row Actions',
3111
- save: 'Save',
3112
- search: 'Search',
3113
- selectedCountOfRowCountRowsSelected: '{selectedCount} of {rowCount} row(s) selected',
3114
- showAll: 'Show all',
3115
- showAllColumns: 'Show all columns',
3116
- showHideColumns: 'Show/Hide columns',
3117
- showHideFilters: 'Show/Hide filters',
3118
- showHideSearch: 'Show/Hide search',
3119
- sortByColumnAsc: 'Sort by {column} ascending',
3120
- sortByColumnDesc: 'Sort by {column} descending',
3121
- thenBy: ', then by ',
3122
- toggleDensePadding: 'Toggle dense padding',
3123
- toggleFullScreen: 'Toggle full screen',
3124
- toggleSelectAll: 'Toggle select all',
3125
- toggleSelectRow: 'Toggle select row',
3126
- 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);
3127
3457
  };
3128
3458
 
3129
- var MRT_Default_Icons = {
3130
- ArrowRightIcon: ArrowRightIcon,
3131
- CancelIcon: CancelIcon,
3132
- CheckBoxIcon: CheckBoxIcon,
3133
- ClearAllIcon: ClearAllIcon,
3134
- CloseIcon: CloseIcon,
3135
- ContentCopyIcon: ContentCopyIcon,
3136
- DensityMediumIcon: DensityMediumIcon,
3137
- DensitySmallIcon: DensitySmallIcon,
3138
- DoubleArrowDownIcon: DoubleArrowDownIcon,
3139
- DynamicFeedIcon: DynamicFeedIcon,
3140
- EditIcon: EditIcon,
3141
- ExpandLessIcon: ExpandLessIcon,
3142
- ExpandMoreIcon: ExpandMoreIcon,
3143
- FilterAltIcon: FilterAltIcon,
3144
- FilterAltOff: FilterAltOff,
3145
- FilterListIcon: FilterListIcon,
3146
- FilterListOffIcon: FilterListOffIcon,
3147
- FullscreenExitIcon: FullscreenExitIcon,
3148
- FullscreenIcon: FullscreenIcon,
3149
- MoreHorizIcon: MoreHorizIcon,
3150
- MoreVertIcon: MoreVertIcon,
3151
- SaveIcon: SaveIcon,
3152
- SearchIcon: SearchIcon,
3153
- SearchOffIcon: SearchOffIcon,
3154
- SortIcon: SortIcon,
3155
- ViewColumnIcon: ViewColumnIcon,
3156
- 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
+ });
3157
3636
  };
3158
3637
 
3159
- 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"];
3160
3639
  var MaterialReactTable = (function (_ref) {
3161
- var _ref$defaultColumn = _ref.defaultColumn,
3162
- defaultColumn = _ref$defaultColumn === void 0 ? {
3163
- minWidth: 50,
3164
- maxWidth: 1000
3165
- } : _ref$defaultColumn,
3166
- filterTypes = _ref.filterTypes,
3167
- _ref$globalFilter = _ref.globalFilter,
3168
- globalFilter = _ref$globalFilter === void 0 ? 'fuzzy' : _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,
3169
3662
  icons = _ref.icons,
3170
3663
  localization = _ref.localization,
3171
3664
  _ref$positionActionsC = _ref.positionActionsColumn,
@@ -3176,23 +3669,27 @@ var MaterialReactTable = (function (_ref) {
3176
3669
  positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
3177
3670
  _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
3178
3671
  positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
3179
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
3180
-
3181
- return React__default.createElement(MaterialReactTableProvider //@ts-ignore
3182
- , Object.assign({
3183
- //@ts-ignore
3184
- defaultColumn: defaultColumn,
3185
- //@ts-ignore
3186
- filterTypes: _extends({}, defaultFilterFNs, filterTypes),
3187
- //@ts-ignore
3188
- 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,
3189
3686
  icons: _extends({}, MRT_Default_Icons, icons),
3190
3687
  localization: _extends({}, MRT_DefaultLocalization_EN, localization),
3191
3688
  positionActionsColumn: positionActionsColumn,
3192
3689
  positionPagination: positionPagination,
3193
3690
  positionToolbarActions: positionToolbarActions,
3194
3691
  positionToolbarAlertBanner: positionToolbarAlertBanner
3195
- }, rest), React__default.createElement(MRT_TableContainer, null));
3692
+ }, rest));
3196
3693
  });
3197
3694
 
3198
3695
  exports.default = MaterialReactTable;