material-react-table 0.6.10 → 0.7.0-alpha.1

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