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

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