material-react-table 0.31.0 → 0.32.0

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 (137) hide show
  1. package/README.md +3 -4
  2. package/dist/{MaterialReactTable.d.ts → cjs/MaterialReactTable.d.ts} +494 -486
  3. package/dist/{body → cjs/body}/MRT_TableBody.d.ts +8 -8
  4. package/dist/{body → cjs/body}/MRT_TableBodyCell.d.ts +11 -11
  5. package/dist/{body → cjs/body}/MRT_TableBodyRow.d.ts +9 -9
  6. package/dist/{body → cjs/body}/MRT_TableBodyRowGrabHandle.d.ts +9 -9
  7. package/dist/{body → cjs/body}/MRT_TableDetailPanel.d.ts +8 -8
  8. package/dist/{buttons → cjs/buttons}/MRT_ColumnPinningButtons.d.ts +8 -8
  9. package/dist/{buttons → cjs/buttons}/MRT_CopyButton.d.ts +9 -9
  10. package/dist/{buttons → cjs/buttons}/MRT_EditActionButtons.d.ts +8 -8
  11. package/dist/{buttons → cjs/buttons}/MRT_ExpandAllButton.d.ts +7 -7
  12. package/dist/{buttons → cjs/buttons}/MRT_ExpandButton.d.ts +8 -8
  13. package/dist/{buttons → cjs/buttons}/MRT_FullScreenToggleButton.d.ts +8 -8
  14. package/dist/{buttons → cjs/buttons}/MRT_GrabHandleButton.d.ts +11 -11
  15. package/dist/{buttons → cjs/buttons}/MRT_ShowHideColumnsButton.d.ts +8 -8
  16. package/dist/{buttons → cjs/buttons}/MRT_ToggleDensePaddingButton.d.ts +8 -8
  17. package/dist/{buttons → cjs/buttons}/MRT_ToggleFiltersButton.d.ts +8 -8
  18. package/dist/{buttons → cjs/buttons}/MRT_ToggleGlobalFilterButton.d.ts +8 -8
  19. package/dist/{buttons → cjs/buttons}/MRT_ToggleRowActionMenuButton.d.ts +8 -8
  20. package/dist/{column.utils.d.ts → cjs/column.utils.d.ts} +12 -11
  21. package/dist/{filtersFns.d.ts → cjs/filtersFns.d.ts} +68 -68
  22. package/dist/{footer → cjs/footer}/MRT_TableFooter.d.ts +7 -7
  23. package/dist/{footer → cjs/footer}/MRT_TableFooterCell.d.ts +8 -8
  24. package/dist/{footer → cjs/footer}/MRT_TableFooterRow.d.ts +8 -8
  25. package/dist/{head → cjs/head}/MRT_TableHead.d.ts +7 -7
  26. package/dist/{head → cjs/head}/MRT_TableHeadCell.d.ts +8 -8
  27. package/dist/{head → cjs/head}/MRT_TableHeadCellColumnActionsButton.d.ts +8 -8
  28. package/dist/{head → cjs/head}/MRT_TableHeadCellFilterContainer.d.ts +8 -8
  29. package/dist/{head → cjs/head}/MRT_TableHeadCellFilterLabel.d.ts +8 -8
  30. package/dist/{head → cjs/head}/MRT_TableHeadCellGrabHandle.d.ts +9 -9
  31. package/dist/{head → cjs/head}/MRT_TableHeadCellResizeHandle.d.ts +8 -8
  32. package/dist/{head → cjs/head}/MRT_TableHeadCellSortLabel.d.ts +8 -8
  33. package/dist/{head → cjs/head}/MRT_TableHeadRow.d.ts +8 -8
  34. package/dist/{icons.d.ts → cjs/icons.d.ts} +33 -33
  35. package/dist/cjs/index.d.ts +3 -0
  36. package/dist/cjs/index.min.js +51 -0
  37. package/dist/cjs/index.min.js.map +1 -0
  38. package/dist/{inputs → cjs/inputs}/MRT_EditCellTextField.d.ts +8 -8
  39. package/dist/{inputs → cjs/inputs}/MRT_FilterRangeFields.d.ts +8 -8
  40. package/dist/{inputs → cjs/inputs}/MRT_FilterTextField.d.ts +9 -9
  41. package/dist/{inputs → cjs/inputs}/MRT_GlobalFilterTextField.d.ts +7 -7
  42. package/dist/{inputs → cjs/inputs}/MRT_SelectCheckbox.d.ts +9 -9
  43. package/dist/{localization.d.ts → cjs/localization.d.ts} +82 -82
  44. package/dist/{menus → cjs/menus}/MRT_ColumnActionMenu.d.ts +20 -20
  45. package/dist/{menus → cjs/menus}/MRT_FilterOptionMenu.d.ts +18 -18
  46. package/dist/{menus → cjs/menus}/MRT_RowActionMenu.d.ts +11 -11
  47. package/dist/{menus → cjs/menus}/MRT_ShowHideColumnsMenu.d.ts +10 -10
  48. package/dist/{menus → cjs/menus}/MRT_ShowHideColumnsMenuItems.d.ts +12 -12
  49. package/dist/{sortingFns.d.ts → cjs/sortingFns.d.ts} +12 -12
  50. package/dist/{table → cjs/table}/MRT_Table.d.ts +8 -8
  51. package/dist/{table → cjs/table}/MRT_TableContainer.d.ts +7 -7
  52. package/dist/{table → cjs/table}/MRT_TablePaper.d.ts +7 -7
  53. package/dist/{table → cjs/table}/MRT_TableRoot.d.ts +3 -3
  54. package/dist/{toolbar → cjs/toolbar}/MRT_LinearProgressBar.d.ts +8 -8
  55. package/dist/{toolbar → cjs/toolbar}/MRT_TablePagination.d.ts +8 -8
  56. package/dist/{toolbar → cjs/toolbar}/MRT_ToolbarAlertBanner.d.ts +8 -8
  57. package/dist/{toolbar → cjs/toolbar}/MRT_ToolbarBottom.d.ts +7 -7
  58. package/dist/{toolbar → cjs/toolbar}/MRT_ToolbarDropZone.d.ts +7 -7
  59. package/dist/{toolbar → cjs/toolbar}/MRT_ToolbarInternalButtons.d.ts +7 -7
  60. package/dist/{toolbar → cjs/toolbar}/MRT_ToolbarTop.d.ts +21 -21
  61. package/dist/esm/MaterialReactTable.d.ts +494 -0
  62. package/dist/esm/body/MRT_TableBody.d.ts +8 -0
  63. package/dist/esm/body/MRT_TableBodyCell.d.ts +11 -0
  64. package/dist/esm/body/MRT_TableBodyRow.d.ts +9 -0
  65. package/dist/esm/body/MRT_TableBodyRowGrabHandle.d.ts +9 -0
  66. package/dist/esm/body/MRT_TableDetailPanel.d.ts +8 -0
  67. package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +8 -0
  68. package/dist/esm/buttons/MRT_CopyButton.d.ts +9 -0
  69. package/dist/esm/buttons/MRT_EditActionButtons.d.ts +8 -0
  70. package/dist/esm/buttons/MRT_ExpandAllButton.d.ts +7 -0
  71. package/dist/esm/buttons/MRT_ExpandButton.d.ts +8 -0
  72. package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +8 -0
  73. package/dist/esm/buttons/MRT_GrabHandleButton.d.ts +11 -0
  74. package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +8 -0
  75. package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +8 -0
  76. package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +8 -0
  77. package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +8 -0
  78. package/dist/esm/buttons/MRT_ToggleRowActionMenuButton.d.ts +8 -0
  79. package/dist/esm/column.utils.d.ts +12 -0
  80. package/dist/esm/filtersFns.d.ts +68 -0
  81. package/dist/esm/footer/MRT_TableFooter.d.ts +7 -0
  82. package/dist/esm/footer/MRT_TableFooterCell.d.ts +8 -0
  83. package/dist/esm/footer/MRT_TableFooterRow.d.ts +8 -0
  84. package/dist/esm/head/MRT_TableHead.d.ts +7 -0
  85. package/dist/esm/head/MRT_TableHeadCell.d.ts +8 -0
  86. package/dist/esm/head/MRT_TableHeadCellColumnActionsButton.d.ts +8 -0
  87. package/dist/esm/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
  88. package/dist/esm/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
  89. package/dist/esm/head/MRT_TableHeadCellGrabHandle.d.ts +9 -0
  90. package/dist/esm/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
  91. package/dist/esm/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
  92. package/dist/esm/head/MRT_TableHeadRow.d.ts +8 -0
  93. package/dist/esm/icons.d.ts +33 -0
  94. package/dist/esm/index.d.ts +3 -0
  95. package/dist/esm/inputs/MRT_EditCellTextField.d.ts +8 -0
  96. package/dist/esm/inputs/MRT_FilterRangeFields.d.ts +8 -0
  97. package/dist/esm/inputs/MRT_FilterTextField.d.ts +9 -0
  98. package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +7 -0
  99. package/dist/esm/inputs/MRT_SelectCheckbox.d.ts +9 -0
  100. package/dist/esm/localization.d.ts +82 -0
  101. package/dist/esm/material-react-table.esm.min.js +51 -0
  102. package/dist/esm/material-react-table.esm.min.js.map +1 -0
  103. package/dist/esm/menus/MRT_ColumnActionMenu.d.ts +20 -0
  104. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +18 -0
  105. package/dist/esm/menus/MRT_RowActionMenu.d.ts +11 -0
  106. package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +10 -0
  107. package/dist/esm/menus/MRT_ShowHideColumnsMenuItems.d.ts +12 -0
  108. package/dist/esm/sortingFns.d.ts +12 -0
  109. package/dist/esm/table/MRT_Table.d.ts +8 -0
  110. package/dist/esm/table/MRT_TableContainer.d.ts +7 -0
  111. package/dist/esm/table/MRT_TablePaper.d.ts +7 -0
  112. package/dist/esm/table/MRT_TableRoot.d.ts +3 -0
  113. package/dist/esm/toolbar/MRT_LinearProgressBar.d.ts +8 -0
  114. package/dist/esm/toolbar/MRT_TablePagination.d.ts +8 -0
  115. package/dist/esm/toolbar/MRT_ToolbarAlertBanner.d.ts +8 -0
  116. package/dist/esm/toolbar/MRT_ToolbarBottom.d.ts +7 -0
  117. package/dist/esm/toolbar/MRT_ToolbarDropZone.d.ts +7 -0
  118. package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +7 -0
  119. package/dist/esm/toolbar/MRT_ToolbarTop.d.ts +21 -0
  120. package/dist/index.d.ts +686 -7
  121. package/package.json +24 -25
  122. package/src/MaterialReactTable.tsx +17 -4
  123. package/src/body/MRT_TableBodyCell.tsx +6 -3
  124. package/src/column.utils.ts +20 -0
  125. package/src/footer/MRT_TableFooterCell.tsx +1 -0
  126. package/src/head/MRT_TableHeadCell.tsx +4 -3
  127. package/src/index.tsx +0 -6
  128. package/src/inputs/MRT_EditCellTextField.tsx +1 -1
  129. package/src/inputs/MRT_FilterTextField.tsx +1 -1
  130. package/src/table/MRT_TableRoot.tsx +1 -16
  131. package/dist/index.js +0 -8
  132. package/dist/material-react-table.cjs.development.js +0 -3992
  133. package/dist/material-react-table.cjs.development.js.map +0 -1
  134. package/dist/material-react-table.cjs.production.min.js +0 -2
  135. package/dist/material-react-table.cjs.production.min.js.map +0 -1
  136. package/dist/material-react-table.esm.js +0 -3985
  137. package/dist/material-react-table.esm.js.map +0 -1
@@ -1,3992 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var React = require('react');
8
- var React__default = _interopDefault(React);
9
- var iconsMaterial = require('@mui/icons-material');
10
- var reactTable = require('@tanstack/react-table');
11
- var material = require('@mui/material');
12
- var matchSorterUtils = require('@tanstack/match-sorter-utils');
13
- var reactVirtual = require('@tanstack/react-virtual');
14
-
15
- function _extends() {
16
- _extends = Object.assign ? Object.assign.bind() : function (target) {
17
- for (var i = 1; i < arguments.length; i++) {
18
- var source = arguments[i];
19
-
20
- for (var key in source) {
21
- if (Object.prototype.hasOwnProperty.call(source, key)) {
22
- target[key] = source[key];
23
- }
24
- }
25
- }
26
-
27
- return target;
28
- };
29
- return _extends.apply(this, arguments);
30
- }
31
-
32
- function _objectWithoutPropertiesLoose(source, excluded) {
33
- if (source == null) return {};
34
- var target = {};
35
- var sourceKeys = Object.keys(source);
36
- var key, i;
37
-
38
- for (i = 0; i < sourceKeys.length; i++) {
39
- key = sourceKeys[i];
40
- if (excluded.indexOf(key) >= 0) continue;
41
- target[key] = source[key];
42
- }
43
-
44
- return target;
45
- }
46
-
47
- var MRT_DefaultLocalization_EN = {
48
- actions: 'Actions',
49
- and: 'and',
50
- cancel: 'Cancel',
51
- changeFilterMode: 'Change filter mode',
52
- changeSearchMode: 'Change search mode',
53
- clearFilter: 'Clear filter',
54
- clearSearch: 'Clear search',
55
- clearSort: 'Clear sort',
56
- clickToCopy: 'Click to copy',
57
- columnActions: 'Column Actions',
58
- copiedToClipboard: 'Copied to clipboard',
59
- dropToGroupBy: 'Drop to group by {column}',
60
- edit: 'Edit',
61
- expand: 'Expand',
62
- expandAll: 'Expand all',
63
- filterArrIncludes: 'Includes',
64
- filterArrIncludesAll: 'Includes all',
65
- filterArrIncludesSome: 'Includes',
66
- filterBetween: 'Between',
67
- filterBetweenInclusive: 'Between Inclusive',
68
- filterByColumn: 'Filter by {column}',
69
- filterContains: 'Contains',
70
- filterEmpty: 'Empty',
71
- filterEndsWith: 'Ends With',
72
- filterEquals: 'Equals',
73
- filterEqualsString: 'Equals',
74
- filterFuzzy: 'Fuzzy',
75
- filterGreaterThan: 'Greater Than',
76
- filterGreaterThanOrEqualTo: 'Greater Than Or Equal To',
77
- filterInNumberRange: 'Between',
78
- filterIncludesString: 'Contains',
79
- filterIncludesStringSensitive: 'Contains',
80
- filterLessThan: 'Less Than',
81
- filterLessThanOrEqualTo: 'Less Than Or Equal To',
82
- filterMode: 'Filter Mode: {filterType}',
83
- filterNotEmpty: 'Not Empty',
84
- filterNotEquals: 'Not Equals',
85
- filterStartsWith: 'Starts With',
86
- filterWeakEquals: 'Equals',
87
- filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
88
- grab: 'Grab',
89
- groupByColumn: 'Group by {column}',
90
- groupedBy: 'Grouped by ',
91
- hideAll: 'Hide all',
92
- hideColumn: 'Hide {column} column',
93
- max: 'Max',
94
- min: 'Min',
95
- move: 'Move',
96
- or: 'or',
97
- pinToLeft: 'Pin to left',
98
- pinToRight: 'Pin to right',
99
- resetColumnSize: 'Reset column size',
100
- resetOrder: 'Reset order',
101
- rowActions: 'Row Actions',
102
- rowNumber: '#',
103
- rowNumbers: 'Row Numbers',
104
- save: 'Save',
105
- search: 'Search',
106
- selectedCountOfRowCountRowsSelected: '{selectedCount} of {rowCount} row(s) selected',
107
- select: 'Select',
108
- showAll: 'Show all',
109
- showAllColumns: 'Show all columns',
110
- showHideColumns: 'Show/Hide columns',
111
- showHideFilters: 'Show/Hide filters',
112
- showHideSearch: 'Show/Hide search',
113
- sortByColumnAsc: 'Sort by {column} ascending',
114
- sortByColumnDesc: 'Sort by {column} descending',
115
- sortedByColumnAsc: 'Sorted by {column} ascending',
116
- sortedByColumnDesc: 'Sorted by {column} descending',
117
- thenBy: ', then by ',
118
- toggleDensity: 'Toggle density',
119
- toggleFullScreen: 'Toggle full screen',
120
- toggleSelectAll: 'Toggle select all',
121
- toggleSelectRow: 'Toggle select row',
122
- toggleVisibility: 'Toggle visibility',
123
- ungroupByColumn: 'Ungroup by {column}',
124
- unpin: 'Unpin',
125
- unpinAll: 'Unpin all',
126
- unsorted: 'Unsorted'
127
- };
128
-
129
- var MRT_Default_Icons = {
130
- ArrowRightIcon: iconsMaterial.ArrowRight,
131
- CancelIcon: iconsMaterial.Cancel,
132
- CheckBoxIcon: iconsMaterial.CheckBox,
133
- ClearAllIcon: iconsMaterial.ClearAll,
134
- CloseIcon: iconsMaterial.Close,
135
- DensityLargeIcon: iconsMaterial.DensityLarge,
136
- DensityMediumIcon: iconsMaterial.DensityMedium,
137
- DensitySmallIcon: iconsMaterial.DensitySmall,
138
- DragHandleIcon: iconsMaterial.DragHandle,
139
- DynamicFeedIcon: iconsMaterial.DynamicFeed,
140
- EditIcon: iconsMaterial.Edit,
141
- ExpandLessIcon: iconsMaterial.ExpandLess,
142
- ExpandMoreIcon: iconsMaterial.ExpandMore,
143
- FilterAltIcon: iconsMaterial.FilterAlt,
144
- FilterAltOffIcon: iconsMaterial.FilterAltOff,
145
- FilterListIcon: iconsMaterial.FilterList,
146
- FilterListOffIcon: iconsMaterial.FilterListOff,
147
- FullscreenExitIcon: iconsMaterial.FullscreenExit,
148
- FullscreenIcon: iconsMaterial.Fullscreen,
149
- KeyboardDoubleArrowDownIcon: iconsMaterial.KeyboardDoubleArrowDown,
150
- MoreHorizIcon: iconsMaterial.MoreHoriz,
151
- MoreVertIcon: iconsMaterial.MoreVert,
152
- PushPinIcon: iconsMaterial.PushPin,
153
- RestartAltIcon: iconsMaterial.RestartAlt,
154
- SaveIcon: iconsMaterial.Save,
155
- SearchIcon: iconsMaterial.Search,
156
- SearchOffIcon: iconsMaterial.SearchOff,
157
- SortIcon: iconsMaterial.Sort,
158
- ViewColumnIcon: iconsMaterial.ViewColumn,
159
- VisibilityOffIcon: iconsMaterial.VisibilityOff
160
- };
161
-
162
- var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
163
- var table = _ref.table;
164
- var getIsAllRowsExpanded = table.getIsAllRowsExpanded,
165
- getIsSomeRowsExpanded = table.getIsSomeRowsExpanded,
166
- getCanSomeRowsExpand = table.getCanSomeRowsExpand,
167
- getState = table.getState,
168
- _table$options = table.options,
169
- KeyboardDoubleArrowDownIcon = _table$options.icons.KeyboardDoubleArrowDownIcon,
170
- localization = _table$options.localization,
171
- muiExpandAllButtonProps = _table$options.muiExpandAllButtonProps,
172
- renderDetailPanel = _table$options.renderDetailPanel,
173
- toggleAllRowsExpanded = table.toggleAllRowsExpanded;
174
-
175
- var _getState = getState(),
176
- density = _getState.density;
177
-
178
- var iconButtonProps = muiExpandAllButtonProps instanceof Function ? muiExpandAllButtonProps({
179
- table: table
180
- }) : muiExpandAllButtonProps;
181
- return React__default.createElement(material.Tooltip, {
182
- arrow: true,
183
- enterDelay: 1000,
184
- enterNextDelay: 1000,
185
- title: localization.expandAll
186
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, Object.assign({
187
- "aria-label": localization.expandAll,
188
- disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
189
- onClick: function onClick() {
190
- return toggleAllRowsExpanded(!getIsAllRowsExpanded());
191
- }
192
- }, iconButtonProps, {
193
- sx: _extends({
194
- height: density === 'compact' ? '1.75rem' : '2.25rem',
195
- width: density === 'compact' ? '1.75rem' : '2.25rem',
196
- mt: density !== 'compact' ? '-0.25rem' : undefined
197
- }, iconButtonProps == null ? void 0 : iconButtonProps.sx)
198
- }), React__default.createElement(KeyboardDoubleArrowDownIcon, {
199
- style: {
200
- transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
201
- transition: 'transform 0.2s'
202
- }
203
- }))));
204
- };
205
-
206
- var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
207
- var row = _ref.row,
208
- table = _ref.table;
209
- var getState = table.getState,
210
- _table$options = table.options,
211
- ExpandMoreIcon = _table$options.icons.ExpandMoreIcon,
212
- localization = _table$options.localization,
213
- muiExpandButtonProps = _table$options.muiExpandButtonProps,
214
- renderDetailPanel = _table$options.renderDetailPanel;
215
-
216
- var _getState = getState(),
217
- density = _getState.density;
218
-
219
- var iconButtonProps = muiExpandButtonProps instanceof Function ? muiExpandButtonProps({
220
- table: table,
221
- row: row
222
- }) : muiExpandButtonProps;
223
-
224
- var handleToggleExpand = function handleToggleExpand() {
225
- row.toggleExpanded();
226
- };
227
-
228
- return React__default.createElement(material.Tooltip, {
229
- arrow: true,
230
- enterDelay: 1000,
231
- enterNextDelay: 1000,
232
- title: localization.expand
233
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, Object.assign({
234
- "aria-label": localization.expand,
235
- disabled: !row.getCanExpand() && !renderDetailPanel,
236
- onClick: handleToggleExpand
237
- }, iconButtonProps, {
238
- sx: function sx(theme) {
239
- return _extends({
240
- height: density === 'compact' ? '1.75rem' : '2.25rem',
241
- width: density === 'compact' ? '1.75rem' : '2.25rem'
242
- }, (iconButtonProps == null ? void 0 : iconButtonProps.sx) instanceof Function ? iconButtonProps.sx(theme) : iconButtonProps == null ? void 0 : iconButtonProps.sx);
243
- }
244
- }), React__default.createElement(ExpandMoreIcon, {
245
- style: {
246
- transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
247
- transition: 'transform 0.2s'
248
- }
249
- }))));
250
- };
251
-
252
- var internalFilterOptions = function internalFilterOptions(localization) {
253
- return [{
254
- option: 'fuzzy',
255
- symbol: '≈',
256
- label: localization.filterFuzzy,
257
- divider: false
258
- }, {
259
- option: 'contains',
260
- symbol: '*',
261
- label: localization.filterContains,
262
- divider: false
263
- }, {
264
- option: 'startsWith',
265
- symbol: 'a',
266
- label: localization.filterStartsWith,
267
- divider: false
268
- }, {
269
- option: 'endsWith',
270
- symbol: 'z',
271
- label: localization.filterEndsWith,
272
- divider: true
273
- }, {
274
- option: 'equals',
275
- symbol: '=',
276
- label: localization.filterEquals,
277
- divider: false
278
- }, {
279
- option: 'notEquals',
280
- symbol: '≠',
281
- label: localization.filterNotEquals,
282
- divider: true
283
- }, {
284
- option: 'between',
285
- symbol: '⇿',
286
- label: localization.filterBetween,
287
- divider: false
288
- }, {
289
- option: 'betweenInclusive',
290
- symbol: '⬌',
291
- label: localization.filterBetweenInclusive,
292
- divider: true
293
- }, {
294
- option: 'greaterThan',
295
- symbol: '>',
296
- label: localization.filterGreaterThan,
297
- divider: false
298
- }, {
299
- option: 'greaterThanOrEqualTo',
300
- symbol: '≥',
301
- label: localization.filterGreaterThanOrEqualTo,
302
- divider: false
303
- }, {
304
- option: 'lessThan',
305
- symbol: '<',
306
- label: localization.filterLessThan,
307
- divider: false
308
- }, {
309
- option: 'lessThanOrEqualTo',
310
- symbol: '≤',
311
- label: localization.filterLessThanOrEqualTo,
312
- divider: true
313
- }, {
314
- option: 'empty',
315
- symbol: '∅',
316
- label: localization.filterEmpty,
317
- divider: false
318
- }, {
319
- option: 'notEmpty',
320
- symbol: '!∅',
321
- label: localization.filterNotEmpty,
322
- divider: false
323
- }];
324
- };
325
- var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
326
- var _columnDef$columnFilt;
327
-
328
- var anchorEl = _ref.anchorEl,
329
- header = _ref.header,
330
- onSelect = _ref.onSelect,
331
- setAnchorEl = _ref.setAnchorEl,
332
- table = _ref.table;
333
- var getState = table.getState,
334
- _table$options = table.options,
335
- enabledGlobalFilterOptions = _table$options.enabledGlobalFilterOptions,
336
- columnFilterModeOptions = _table$options.columnFilterModeOptions,
337
- localization = _table$options.localization,
338
- setCurrentFilterFns = table.setCurrentFilterFns,
339
- setCurrentGlobalFilterFn = table.setCurrentGlobalFilterFn;
340
-
341
- var _getState = getState(),
342
- currentFilterFns = _getState.currentFilterFns,
343
- currentGlobalFilterFn = _getState.currentGlobalFilterFn,
344
- density = _getState.density;
345
-
346
- var _ref2 = header != null ? header : {},
347
- column = _ref2.column;
348
-
349
- var _ref3 = column != null ? column : {},
350
- columnDef = _ref3.columnDef;
351
-
352
- var allowedColumnFilterOptions = (_columnDef$columnFilt = columnDef == null ? void 0 : columnDef.columnFilterModeOptions) != null ? _columnDef$columnFilt : columnFilterModeOptions;
353
- var filterOptions = React.useMemo(function () {
354
- return internalFilterOptions(localization).filter(function (filterOption) {
355
- return columnDef ? allowedColumnFilterOptions === undefined || (allowedColumnFilterOptions == null ? void 0 : allowedColumnFilterOptions.includes(filterOption.option)) : (!enabledGlobalFilterOptions || enabledGlobalFilterOptions.includes(filterOption.option)) && ['fuzzy', 'contains'].includes(filterOption.option);
356
- });
357
- }, []);
358
-
359
- var handleSelectFilterType = function handleSelectFilterType(option) {
360
- if (header && column) {
361
- setCurrentFilterFns(function (prev) {
362
- var _extends2;
363
-
364
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = option, _extends2));
365
- });
366
-
367
- if (['empty', 'notEmpty'].includes(option)) {
368
- column.setFilterValue(' ');
369
- } else if (option === 'between') {
370
- column.setFilterValue(['', '']);
371
- } else {
372
- column.setFilterValue('');
373
- }
374
- } else {
375
- setCurrentGlobalFilterFn(option);
376
- }
377
-
378
- setAnchorEl(null);
379
- onSelect == null ? void 0 : onSelect();
380
- };
381
-
382
- var filterOption = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
383
- return React__default.createElement(material.Menu, {
384
- anchorEl: anchorEl,
385
- anchorOrigin: {
386
- vertical: 'center',
387
- horizontal: 'right'
388
- },
389
- onClose: function onClose() {
390
- return setAnchorEl(null);
391
- },
392
- open: !!anchorEl,
393
- MenuListProps: {
394
- dense: density === 'compact'
395
- }
396
- }, filterOptions.map(function (_ref4, index) {
397
- var option = _ref4.option,
398
- label = _ref4.label,
399
- divider = _ref4.divider,
400
- symbol = _ref4.symbol;
401
- return React__default.createElement(material.MenuItem, {
402
- divider: divider,
403
- key: index,
404
- onClick: function onClick() {
405
- return handleSelectFilterType(option);
406
- },
407
- selected: option === filterOption,
408
- sx: {
409
- py: '6px',
410
- my: 0,
411
- alignItems: 'center',
412
- display: 'flex',
413
- gap: '2ch'
414
- },
415
- value: option
416
- }, React__default.createElement(material.Box, {
417
- sx: {
418
- fontSize: '1.25rem',
419
- width: '2ch'
420
- }
421
- }, symbol), label);
422
- }));
423
- };
424
-
425
- var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
426
- var column = _ref.column,
427
- table = _ref.table;
428
- var _table$options = table.options,
429
- PushPinIcon = _table$options.icons.PushPinIcon,
430
- localization = _table$options.localization;
431
-
432
- var handlePinColumn = function handlePinColumn(pinDirection) {
433
- column.pin(pinDirection);
434
- };
435
-
436
- return React__default.createElement(material.Box, {
437
- sx: {
438
- minWidth: '70px',
439
- textAlign: 'center'
440
- }
441
- }, column.getIsPinned() ? React__default.createElement(material.Tooltip, {
442
- arrow: true,
443
- title: localization.unpin
444
- }, React__default.createElement(material.IconButton, {
445
- onClick: function onClick() {
446
- return handlePinColumn(false);
447
- },
448
- size: "small"
449
- }, React__default.createElement(PushPinIcon, null))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
450
- arrow: true,
451
- title: localization.pinToLeft
452
- }, React__default.createElement(material.IconButton, {
453
- onClick: function onClick() {
454
- return handlePinColumn('left');
455
- },
456
- size: "small"
457
- }, React__default.createElement(PushPinIcon, {
458
- style: {
459
- transform: 'rotate(90deg)'
460
- }
461
- }))), React__default.createElement(material.Tooltip, {
462
- arrow: true,
463
- title: localization.pinToRight
464
- }, React__default.createElement(material.IconButton, {
465
- onClick: function onClick() {
466
- return handlePinColumn('right');
467
- },
468
- size: "small"
469
- }, React__default.createElement(PushPinIcon, {
470
- style: {
471
- transform: 'rotate(-90deg)'
472
- }
473
- })))));
474
- };
475
-
476
- var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
477
- var iconButtonProps = _ref.iconButtonProps,
478
- onDragEnd = _ref.onDragEnd,
479
- onDragStart = _ref.onDragStart,
480
- table = _ref.table;
481
- var _table$options = table.options,
482
- DragHandleIcon = _table$options.icons.DragHandleIcon,
483
- localization = _table$options.localization;
484
- return React__default.createElement(material.Tooltip, {
485
- arrow: true,
486
- enterDelay: 1000,
487
- enterNextDelay: 1000,
488
- placement: "top",
489
- title: localization.move
490
- }, React__default.createElement(material.IconButton, Object.assign({
491
- disableRipple: true,
492
- draggable: "true",
493
- onDragStart: onDragStart,
494
- onDragEnd: onDragEnd,
495
- size: "small"
496
- }, iconButtonProps, {
497
- sx: _extends({
498
- cursor: 'grab',
499
- m: 0,
500
- opacity: 0.5,
501
- p: '2px',
502
- transition: 'all 0.2s ease-in-out',
503
- '&:hover': {
504
- backgroundColor: 'transparent',
505
- opacity: 1
506
- },
507
- '&:active': {
508
- cursor: 'grabbing'
509
- }
510
- }, iconButtonProps == null ? void 0 : iconButtonProps.sx)
511
- }), React__default.createElement(DragHandleIcon, null)));
512
- };
513
-
514
- var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
515
- var itemRank = matchSorterUtils.rankItem(row.getValue(columnId), filterValue, {
516
- threshold: matchSorterUtils.rankings.MATCHES
517
- });
518
- addMeta(itemRank);
519
- return itemRank.passed;
520
- };
521
-
522
- fuzzy.autoRemove = function (val) {
523
- return !val;
524
- };
525
-
526
- var contains = function contains(row, id, filterValue) {
527
- return row.getValue(id).toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
528
- };
529
-
530
- contains.autoRemove = function (val) {
531
- return !val;
532
- };
533
-
534
- var startsWith = function startsWith(row, id, filterValue) {
535
- return row.getValue(id).toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
536
- };
537
-
538
- startsWith.autoRemove = function (val) {
539
- return !val;
540
- };
541
-
542
- var endsWith = function endsWith(row, id, filterValue) {
543
- return row.getValue(id).toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
544
- };
545
-
546
- endsWith.autoRemove = function (val) {
547
- return !val;
548
- };
549
-
550
- var equals = function equals(row, id, filterValue) {
551
- return row.getValue(id).toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
552
- };
553
-
554
- equals.autoRemove = function (val) {
555
- return !val;
556
- };
557
-
558
- var notEquals = function notEquals(row, id, filterValue) {
559
- return row.getValue(id).toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
560
- };
561
-
562
- notEquals.autoRemove = function (val) {
563
- return !val;
564
- };
565
-
566
- var greaterThan = function greaterThan(row, id, filterValue) {
567
- return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) > +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
568
- };
569
-
570
- greaterThan.autoRemove = function (val) {
571
- return !val;
572
- };
573
-
574
- var greaterThanOrEqualTo = function greaterThanOrEqualTo(row, id, filterValue) {
575
- return equals(row, id, filterValue) || greaterThan(row, id, filterValue);
576
- };
577
-
578
- greaterThanOrEqualTo.autoRemove = function (val) {
579
- return !val;
580
- };
581
-
582
- var lessThan = function lessThan(row, id, filterValue) {
583
- return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) < +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
584
- };
585
-
586
- lessThan.autoRemove = function (val) {
587
- return !val;
588
- };
589
-
590
- var lessThanOrEqualTo = function lessThanOrEqualTo(row, id, filterValue) {
591
- return equals(row, id, filterValue) || lessThan(row, id, filterValue);
592
- };
593
-
594
- lessThanOrEqualTo.autoRemove = function (val) {
595
- return !val;
596
- };
597
-
598
- var between = function between(row, id, filterValues) {
599
- return (['', undefined].includes(filterValues[0]) || greaterThan(row, id, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ['', undefined].includes(filterValues[1]) || lessThan(row, id, filterValues[1]));
600
- };
601
-
602
- between.autoRemove = function (val) {
603
- return !val;
604
- };
605
-
606
- var betweenInclusive = function betweenInclusive(row, id, filterValues) {
607
- return (['', undefined].includes(filterValues[0]) || greaterThanOrEqualTo(row, id, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ['', undefined].includes(filterValues[1]) || lessThanOrEqualTo(row, id, filterValues[1]));
608
- };
609
-
610
- betweenInclusive.autoRemove = function (val) {
611
- return !val;
612
- };
613
-
614
- var empty = function empty(row, id, _filterValue) {
615
- return !row.getValue(id).toString().trim();
616
- };
617
-
618
- empty.autoRemove = function (val) {
619
- return !val;
620
- };
621
-
622
- var notEmpty = function notEmpty(row, id, _filterValue) {
623
- return !!row.getValue(id).toString().trim();
624
- };
625
-
626
- notEmpty.autoRemove = function (val) {
627
- return !val;
628
- };
629
-
630
- var MRT_FilterFns = /*#__PURE__*/_extends({}, reactTable.filterFns, {
631
- between: between,
632
- betweenInclusive: betweenInclusive,
633
- contains: contains,
634
- empty: empty,
635
- endsWith: endsWith,
636
- equals: equals,
637
- fuzzy: fuzzy,
638
- greaterThan: greaterThan,
639
- greaterThanOrEqualTo: greaterThanOrEqualTo,
640
- lessThan: lessThan,
641
- lessThanOrEqualTo: lessThanOrEqualTo,
642
- notEmpty: notEmpty,
643
- notEquals: notEquals,
644
- startsWith: startsWith
645
- });
646
-
647
- var fuzzy$1 = function fuzzy(rowA, rowB, columnId) {
648
- var dir = 0;
649
-
650
- if (rowA.columnFiltersMeta[columnId]) {
651
- dir = matchSorterUtils.compareItems(rowA.columnFiltersMeta[columnId], rowB.columnFiltersMeta[columnId]);
652
- } // Provide a fallback for when the item ranks are equal
653
-
654
-
655
- return dir === 0 ? reactTable.sortingFns.alphanumeric(rowA, rowB, columnId) : dir;
656
- };
657
-
658
- var MRT_SortingFns = /*#__PURE__*/_extends({}, reactTable.sortingFns, {
659
- fuzzy: fuzzy$1
660
- });
661
- var rankGlobalFuzzy = function rankGlobalFuzzy(rowA, rowB) {
662
- return Math.max.apply(Math, Object.values(rowB.columnFiltersMeta).map(function (v) {
663
- return v.rank;
664
- })) - Math.max.apply(Math, Object.values(rowA.columnFiltersMeta).map(function (v) {
665
- return v.rank;
666
- }));
667
- };
668
-
669
- var getColumnId = function getColumnId(columnDef) {
670
- var _ref, _columnDef$id, _columnDef$accessorKe;
671
-
672
- return (_ref = (_columnDef$id = columnDef.id) != null ? _columnDef$id : (_columnDef$accessorKe = columnDef.accessorKey) == null ? void 0 : _columnDef$accessorKe.toString == null ? void 0 : _columnDef$accessorKe.toString()) != null ? _ref : columnDef.header;
673
- };
674
-
675
- var getAllLeafColumnDefs = function getAllLeafColumnDefs(columns) {
676
- var lowestLevelColumns = columns;
677
- var currentCols = columns;
678
-
679
- while (!!((_currentCols = currentCols) != null && _currentCols.length) && currentCols.some(function (col) {
680
- return col.columns;
681
- })) {
682
- var _currentCols;
683
-
684
- var nextCols = currentCols.filter(function (col) {
685
- return !!col.columns;
686
- }).map(function (col) {
687
- return col.columns;
688
- }).flat();
689
-
690
- if (nextCols.every(function (col) {
691
- return !(col != null && col.columns);
692
- })) {
693
- lowestLevelColumns = [].concat(lowestLevelColumns, nextCols);
694
- }
695
-
696
- currentCols = nextCols;
697
- }
698
-
699
- return lowestLevelColumns.filter(function (col) {
700
- return !col.columns;
701
- });
702
- };
703
- var prepareColumns = function prepareColumns(columnDefs, currentFilterFns) {
704
- return columnDefs.map(function (columnDef) {
705
- var _columnDef$columns;
706
-
707
- if (!columnDef.id) columnDef.id = getColumnId(columnDef);
708
-
709
- if ( !columnDef.id) {
710
- console.error('Column definitions must have a valid `accessorKey` or `id` property');
711
- }
712
-
713
- if (!columnDef.columnDefType) columnDef.columnDefType = 'data';
714
-
715
- if (!!((_columnDef$columns = columnDef.columns) != null && _columnDef$columns.length)) {
716
- columnDef.columnDefType = 'group';
717
- columnDef.columns = prepareColumns(columnDef.columns, currentFilterFns);
718
- } else if (columnDef.columnDefType === 'data') {
719
- if (Object.keys(MRT_FilterFns).includes(currentFilterFns[columnDef.id])) {
720
- var _MRT_FilterFns$curren;
721
-
722
- columnDef.filterFn = // @ts-ignore
723
- (_MRT_FilterFns$curren = MRT_FilterFns[currentFilterFns[columnDef.id]]) != null ? _MRT_FilterFns$curren : MRT_FilterFns.fuzzy; //@ts-ignore
724
-
725
- columnDef._filterFn = currentFilterFns[columnDef.id];
726
- }
727
-
728
- if (Object.keys(MRT_SortingFns).includes(columnDef.sortingFn)) {
729
- // @ts-ignore
730
- columnDef.sortingFn = MRT_SortingFns[columnDef.sortingFn];
731
- }
732
- }
733
-
734
- return columnDef;
735
- });
736
- };
737
- var reorderColumn = function reorderColumn(draggedColumn, targetColumn, columnOrder) {
738
- if (draggedColumn.getCanPin()) {
739
- draggedColumn.pin(targetColumn.getIsPinned());
740
- }
741
-
742
- columnOrder.splice(columnOrder.indexOf(targetColumn.id), 0, columnOrder.splice(columnOrder.indexOf(draggedColumn.id), 1)[0]);
743
- return [].concat(columnOrder);
744
- };
745
- var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
746
- return [(props.enableRowDragging || props.enableRowOrdering) && 'mrt-row-drag', (props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', props.positionExpandColumn === 'first' && (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-row-expand', props.enableRowSelection && 'mrt-row-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
747
- };
748
- var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
749
- return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', props.positionExpandColumn === 'last' && (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-row-expand'];
750
- };
751
- var getDefaultColumnOrderIds = function getDefaultColumnOrderIds(props) {
752
- return [].concat(getLeadingDisplayColumnIds(props), getAllLeafColumnDefs(props.columns).map(function (columnDef) {
753
- return getColumnId(columnDef);
754
- }), getTrailingDisplayColumnIds(props)).filter(Boolean);
755
- };
756
- var getDefaultColumnFilterFn = function getDefaultColumnFilterFn(columnDef) {
757
- if (columnDef.filterVariant === 'multi-select') return 'arrIncludesSome';
758
- if (columnDef.filterVariant === 'select') return 'equals';
759
- if (columnDef.filterVariant === 'range') return 'betweenInclusive';
760
- return 'fuzzy';
761
- };
762
-
763
- var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
764
- var _column$columns2;
765
-
766
- var allColumns = _ref.allColumns,
767
- currentHoveredColumn = _ref.currentHoveredColumn,
768
- setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
769
- column = _ref.column,
770
- isSubMenu = _ref.isSubMenu,
771
- table = _ref.table;
772
- var getState = table.getState,
773
- _table$options = table.options,
774
- enableColumnOrdering = _table$options.enableColumnOrdering,
775
- enableHiding = _table$options.enableHiding,
776
- enablePinning = _table$options.enablePinning,
777
- localization = _table$options.localization,
778
- setColumnOrder = table.setColumnOrder;
779
-
780
- var _getState = getState(),
781
- columnOrder = _getState.columnOrder;
782
-
783
- var columnDef = column.columnDef;
784
- var columnDefType = columnDef.columnDefType;
785
- var switchChecked = columnDefType !== 'group' && column.getIsVisible() || columnDefType === 'group' && column.getLeafColumns().some(function (col) {
786
- return col.getIsVisible();
787
- });
788
-
789
- var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
790
- if (columnDefType === 'group') {
791
- var _column$columns;
792
-
793
- column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.forEach == null ? void 0 : _column$columns.forEach(function (childColumn) {
794
- childColumn.toggleVisibility(!switchChecked);
795
- });
796
- } else {
797
- column.toggleVisibility();
798
- }
799
- };
800
-
801
- var menuItemRef = React__default.useRef(null);
802
-
803
- var _useState = React.useState(false),
804
- isDragging = _useState[0],
805
- setIsDragging = _useState[1];
806
-
807
- var handleDragStart = function handleDragStart(e) {
808
- setIsDragging(true);
809
- e.dataTransfer.setDragImage(menuItemRef.current, 0, 0);
810
- };
811
-
812
- var handleDragEnd = function handleDragEnd(_e) {
813
- setIsDragging(false);
814
- setCurrentHoveredColumn(null);
815
-
816
- if (currentHoveredColumn) {
817
- setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
818
- }
819
- };
820
-
821
- var handleDragEnter = function handleDragEnter(_e) {
822
- if (!isDragging) {
823
- setCurrentHoveredColumn(column);
824
- }
825
- };
826
-
827
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
828
- disableRipple: true,
829
- ref: menuItemRef,
830
- onDragEnter: handleDragEnter,
831
- sx: function sx(theme) {
832
- return {
833
- alignItems: 'center',
834
- justifyContent: 'flex-start',
835
- my: 0,
836
- opacity: isDragging ? 0.5 : 1,
837
- outline: isDragging ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : 'none',
838
- pl: (column.depth + 0.5) * 2 + "rem",
839
- py: '6px'
840
- };
841
- }
842
- }, React__default.createElement(material.Box, {
843
- sx: {
844
- display: 'flex',
845
- flexWrap: 'nowrap',
846
- gap: '8px'
847
- }
848
- }, !isSubMenu && columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
849
- return col.columnDef.columnDefType === 'group';
850
- }) && (columnDef.enableColumnOrdering !== false ? React__default.createElement(MRT_GrabHandleButton, {
851
- onDragEnd: handleDragEnd,
852
- onDragStart: handleDragStart,
853
- table: table
854
- }) : React__default.createElement(material.Box, {
855
- sx: {
856
- width: '28px'
857
- }
858
- })), !isSubMenu && enablePinning && (column.getCanPin() ? React__default.createElement(MRT_ColumnPinningButtons, {
859
- column: column,
860
- table: table
861
- }) : React__default.createElement(material.Box, {
862
- sx: {
863
- width: '70px'
864
- }
865
- })), enableHiding ? React__default.createElement(material.FormControlLabel, {
866
- componentsProps: {
867
- typography: {
868
- sx: {
869
- mb: 0,
870
- opacity: columnDefType !== 'display' ? 1 : 0.5
871
- }
872
- }
873
- },
874
- checked: switchChecked,
875
- control: React__default.createElement(material.Tooltip, {
876
- arrow: true,
877
- enterDelay: 1000,
878
- enterNextDelay: 1000,
879
- title: localization.toggleVisibility
880
- }, React__default.createElement(material.Switch, null)),
881
- disabled: isSubMenu && switchChecked || !column.getCanHide() || column.getIsGrouped(),
882
- label: columnDef.header,
883
- onChange: function onChange() {
884
- return handleToggleColumnHidden(column);
885
- }
886
- }) : React__default.createElement(material.Typography, {
887
- sx: {
888
- alignSelf: 'center'
889
- }
890
- }, columnDef.header))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
891
- return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
892
- allColumns: allColumns,
893
- column: c,
894
- currentHoveredColumn: currentHoveredColumn,
895
- isSubMenu: isSubMenu,
896
- key: i + "-" + c.id,
897
- setCurrentHoveredColumn: setCurrentHoveredColumn,
898
- table: table
899
- });
900
- }));
901
- };
902
-
903
- var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
904
- var anchorEl = _ref.anchorEl,
905
- isSubMenu = _ref.isSubMenu,
906
- setAnchorEl = _ref.setAnchorEl,
907
- table = _ref.table;
908
- var getAllColumns = table.getAllColumns,
909
- getAllLeafColumns = table.getAllLeafColumns,
910
- getCenterLeafColumns = table.getCenterLeafColumns,
911
- getIsAllColumnsVisible = table.getIsAllColumnsVisible,
912
- getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
913
- getIsSomeColumnsVisible = table.getIsSomeColumnsVisible,
914
- getLeftLeafColumns = table.getLeftLeafColumns,
915
- getRightLeafColumns = table.getRightLeafColumns,
916
- getState = table.getState,
917
- toggleAllColumnsVisible = table.toggleAllColumnsVisible,
918
- _table$options = table.options,
919
- localization = _table$options.localization,
920
- enablePinning = _table$options.enablePinning,
921
- enableColumnOrdering = _table$options.enableColumnOrdering;
922
-
923
- var _getState = getState(),
924
- density = _getState.density,
925
- columnOrder = _getState.columnOrder,
926
- columnPinning = _getState.columnPinning;
927
-
928
- var hideAllColumns = function hideAllColumns() {
929
- getAllLeafColumns().filter(function (col) {
930
- return col.columnDef.enableHiding !== false;
931
- }).forEach(function (col) {
932
- return col.toggleVisibility(false);
933
- });
934
- };
935
-
936
- var allColumns = React.useMemo(function () {
937
- var columns = getAllColumns();
938
-
939
- if (columnOrder.length > 0 && !columns.some(function (col) {
940
- return col.columnDef.columnDefType === 'group';
941
- })) {
942
- return [].concat(getLeftLeafColumns(), Array.from(new Set(columnOrder)).map(function (colId) {
943
- return getCenterLeafColumns().find(function (col) {
944
- return (col == null ? void 0 : col.id) === colId;
945
- });
946
- }), getRightLeafColumns()).filter(Boolean);
947
- }
948
-
949
- return columns;
950
- }, [columnOrder, columnPinning, getAllColumns(), getCenterLeafColumns(), getLeftLeafColumns(), getRightLeafColumns()]);
951
-
952
- var _useState = React.useState(null),
953
- currentHoveredColumn = _useState[0],
954
- setCurrentHoveredColumn = _useState[1];
955
-
956
- return React__default.createElement(material.Menu, {
957
- anchorEl: anchorEl,
958
- open: !!anchorEl,
959
- onClose: function onClose() {
960
- return setAnchorEl(null);
961
- },
962
- MenuListProps: {
963
- dense: density === 'compact'
964
- }
965
- }, React__default.createElement(material.Box, {
966
- sx: {
967
- display: 'flex',
968
- justifyContent: isSubMenu ? 'center' : 'space-between',
969
- p: '0.5rem',
970
- pt: 0
971
- }
972
- }, !isSubMenu && React__default.createElement(material.Button, {
973
- disabled: !getIsSomeColumnsVisible(),
974
- onClick: hideAllColumns
975
- }, localization.hideAll), !isSubMenu && enableColumnOrdering && React__default.createElement(material.Button, {
976
- onClick: function onClick() {
977
- return table.setColumnOrder(getDefaultColumnOrderIds(table.options));
978
- }
979
- }, localization.resetOrder), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
980
- disabled: !getIsSomeColumnsPinned(),
981
- onClick: function onClick() {
982
- return table.resetColumnPinning(true);
983
- }
984
- }, localization.unpinAll), React__default.createElement(material.Button, {
985
- disabled: getIsAllColumnsVisible(),
986
- onClick: function onClick() {
987
- return toggleAllColumnsVisible(true);
988
- }
989
- }, localization.showAll)), React__default.createElement(material.Divider, null), allColumns.map(function (column, index) {
990
- return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
991
- allColumns: allColumns,
992
- column: column,
993
- currentHoveredColumn: currentHoveredColumn,
994
- isSubMenu: isSubMenu,
995
- key: index + "-" + column.id,
996
- setCurrentHoveredColumn: setCurrentHoveredColumn,
997
- table: table
998
- });
999
- }));
1000
- };
1001
-
1002
- var commonMenuItemStyles = {
1003
- py: '6px',
1004
- my: 0,
1005
- justifyContent: 'space-between',
1006
- alignItems: 'center'
1007
- };
1008
- var commonListItemStyles = {
1009
- display: 'flex',
1010
- alignItems: 'center'
1011
- };
1012
- var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1013
- var _columnDef$columnFilt, _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _localization$showAll;
1014
-
1015
- var anchorEl = _ref.anchorEl,
1016
- header = _ref.header,
1017
- setAnchorEl = _ref.setAnchorEl,
1018
- table = _ref.table;
1019
- var getState = table.getState,
1020
- toggleAllColumnsVisible = table.toggleAllColumnsVisible,
1021
- setColumnOrder = table.setColumnOrder,
1022
- _table$options = table.options,
1023
- enableColumnFilterChangeMode = _table$options.enableColumnFilterChangeMode,
1024
- enableColumnFilters = _table$options.enableColumnFilters,
1025
- enableColumnResizing = _table$options.enableColumnResizing,
1026
- enableGrouping = _table$options.enableGrouping,
1027
- enableHiding = _table$options.enableHiding,
1028
- enablePinning = _table$options.enablePinning,
1029
- enableSorting = _table$options.enableSorting,
1030
- columnFilterModeOptions = _table$options.columnFilterModeOptions,
1031
- _table$options$icons = _table$options.icons,
1032
- ArrowRightIcon = _table$options$icons.ArrowRightIcon,
1033
- ClearAllIcon = _table$options$icons.ClearAllIcon,
1034
- ViewColumnIcon = _table$options$icons.ViewColumnIcon,
1035
- DynamicFeedIcon = _table$options$icons.DynamicFeedIcon,
1036
- FilterListIcon = _table$options$icons.FilterListIcon,
1037
- FilterListOffIcon = _table$options$icons.FilterListOffIcon,
1038
- PushPinIcon = _table$options$icons.PushPinIcon,
1039
- SortIcon = _table$options$icons.SortIcon,
1040
- RestartAltIcon = _table$options$icons.RestartAltIcon,
1041
- VisibilityOffIcon = _table$options$icons.VisibilityOffIcon,
1042
- tableId = _table$options.tableId,
1043
- localization = _table$options.localization,
1044
- setShowFilters = table.setShowFilters;
1045
- var column = header.column;
1046
- var columnDef = column.columnDef;
1047
-
1048
- var _getState = getState(),
1049
- columnSizing = _getState.columnSizing,
1050
- columnVisibility = _getState.columnVisibility,
1051
- density = _getState.density;
1052
-
1053
- var _useState = React.useState(null),
1054
- filterMenuAnchorEl = _useState[0],
1055
- setFilterMenuAnchorEl = _useState[1];
1056
-
1057
- var _useState2 = React.useState(null),
1058
- showHideColumnsMenuAnchorEl = _useState2[0],
1059
- setShowHideColumnsMenuAnchorEl = _useState2[1];
1060
-
1061
- var handleClearSort = function handleClearSort() {
1062
- column.clearSorting();
1063
- setAnchorEl(null);
1064
- };
1065
-
1066
- var handleSortAsc = function handleSortAsc() {
1067
- column.toggleSorting(false);
1068
- setAnchorEl(null);
1069
- };
1070
-
1071
- var handleSortDesc = function handleSortDesc() {
1072
- column.toggleSorting(true);
1073
- setAnchorEl(null);
1074
- };
1075
-
1076
- var handleResetColumnSize = function handleResetColumnSize() {
1077
- column.resetSize();
1078
- setAnchorEl(null);
1079
- };
1080
-
1081
- var handleHideColumn = function handleHideColumn() {
1082
- column.toggleVisibility(false);
1083
- setAnchorEl(null);
1084
- };
1085
-
1086
- var handlePinColumn = function handlePinColumn(pinDirection) {
1087
- column.pin(pinDirection);
1088
- setAnchorEl(null);
1089
- };
1090
-
1091
- var handleGroupByColumn = function handleGroupByColumn() {
1092
- column.toggleGrouping();
1093
- setColumnOrder(function (old) {
1094
- return ['mrt-row-expand'].concat(old);
1095
- });
1096
- setAnchorEl(null);
1097
- };
1098
-
1099
- var handleClearFilter = function handleClearFilter() {
1100
- column.setFilterValue('');
1101
- setAnchorEl(null);
1102
- };
1103
-
1104
- var handleFilterByColumn = function handleFilterByColumn() {
1105
- setShowFilters(true);
1106
- setTimeout(function () {
1107
- var _document$getElementB, _header$muiTableHeadC, _header$muiTableHeadC2;
1108
-
1109
- return (_document$getElementB = document.getElementById( // @ts-ignore
1110
- (_header$muiTableHeadC = (_header$muiTableHeadC2 = header.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _header$muiTableHeadC2.id) != null ? _header$muiTableHeadC : "mrt-" + tableId + "-" + header.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
1111
- }, 200);
1112
- setAnchorEl(null);
1113
- };
1114
-
1115
- var handleShowAllColumns = function handleShowAllColumns() {
1116
- toggleAllColumnsVisible(true);
1117
- setAnchorEl(null);
1118
- };
1119
-
1120
- var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
1121
- event.stopPropagation();
1122
- setFilterMenuAnchorEl(event.currentTarget);
1123
- };
1124
-
1125
- var handleOpenShowHideColumnsMenu = function handleOpenShowHideColumnsMenu(event) {
1126
- event.stopPropagation();
1127
- setShowHideColumnsMenuAnchorEl(event.currentTarget);
1128
- };
1129
-
1130
- var isSelectFilter = !!columnDef.filterSelectOptions;
1131
- var allowedColumnFilterOptions = (_columnDef$columnFilt = columnDef == null ? void 0 : columnDef.columnFilterModeOptions) != null ? _columnDef$columnFilt : columnFilterModeOptions;
1132
- var showFilterModeSubMenu = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !isSelectFilter && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
1133
- return React__default.createElement(material.Menu, {
1134
- anchorEl: anchorEl,
1135
- open: !!anchorEl,
1136
- onClose: function onClose() {
1137
- return setAnchorEl(null);
1138
- },
1139
- MenuListProps: {
1140
- dense: density === 'compact'
1141
- }
1142
- }, enableSorting && column.getCanSort() && [React__default.createElement(material.MenuItem, {
1143
- disabled: !column.getIsSorted(),
1144
- key: 0,
1145
- onClick: handleClearSort,
1146
- sx: commonMenuItemStyles
1147
- }, React__default.createElement(material.Box, {
1148
- sx: commonListItemStyles
1149
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), localization.clearSort)), React__default.createElement(material.MenuItem, {
1150
- disabled: column.getIsSorted() === 'asc',
1151
- key: 1,
1152
- onClick: handleSortAsc,
1153
- sx: commonMenuItemStyles
1154
- }, React__default.createElement(material.Box, {
1155
- sx: commonListItemStyles
1156
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
1157
- style: {
1158
- transform: 'rotate(180deg) scaleX(-1)'
1159
- }
1160
- })), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(columnDef.header)))), React__default.createElement(material.MenuItem, {
1161
- divider: enableColumnFilters || enableGrouping || enableHiding,
1162
- key: 2,
1163
- disabled: column.getIsSorted() === 'desc',
1164
- onClick: handleSortDesc,
1165
- sx: commonMenuItemStyles
1166
- }, React__default.createElement(material.Box, {
1167
- sx: commonListItemStyles
1168
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
1169
- disabled: !column.getFilterValue(),
1170
- key: 0,
1171
- onClick: handleClearFilter,
1172
- sx: commonMenuItemStyles
1173
- }, React__default.createElement(material.Box, {
1174
- sx: commonListItemStyles
1175
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListOffIcon, null)), localization.clearFilter)), React__default.createElement(material.MenuItem, {
1176
- divider: enableGrouping || enableHiding,
1177
- key: 1,
1178
- onClick: handleFilterByColumn,
1179
- sx: commonMenuItemStyles
1180
- }, React__default.createElement(material.Box, {
1181
- sx: commonListItemStyles
1182
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))), showFilterModeSubMenu && React__default.createElement(material.IconButton, {
1183
- onClick: handleOpenFilterModeMenu,
1184
- onMouseEnter: handleOpenFilterModeMenu,
1185
- size: "small",
1186
- sx: {
1187
- p: 0
1188
- }
1189
- }, React__default.createElement(ArrowRightIcon, null))), showFilterModeSubMenu && React__default.createElement(MRT_FilterOptionMenu, {
1190
- anchorEl: filterMenuAnchorEl,
1191
- header: header,
1192
- key: 2,
1193
- onSelect: handleFilterByColumn,
1194
- setAnchorEl: setFilterMenuAnchorEl,
1195
- table: table
1196
- })].filter(Boolean), enableGrouping && column.getCanGroup() && [React__default.createElement(material.MenuItem, {
1197
- divider: enablePinning,
1198
- key: 0,
1199
- onClick: handleGroupByColumn,
1200
- sx: commonMenuItemStyles
1201
- }, React__default.createElement(material.Box, {
1202
- sx: commonListItemStyles
1203
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(columnDef.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
1204
- disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
1205
- key: 0,
1206
- onClick: function onClick() {
1207
- return handlePinColumn('left');
1208
- },
1209
- sx: commonMenuItemStyles
1210
- }, React__default.createElement(material.Box, {
1211
- sx: commonListItemStyles
1212
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, {
1213
- style: {
1214
- transform: 'rotate(90deg)'
1215
- }
1216
- })), localization.pinToLeft)), React__default.createElement(material.MenuItem, {
1217
- disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
1218
- key: 1,
1219
- onClick: function onClick() {
1220
- return handlePinColumn('right');
1221
- },
1222
- sx: commonMenuItemStyles
1223
- }, React__default.createElement(material.Box, {
1224
- sx: commonListItemStyles
1225
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, {
1226
- style: {
1227
- transform: 'rotate(-90deg)'
1228
- }
1229
- })), localization.pinToRight)), React__default.createElement(material.MenuItem, {
1230
- disabled: !column.getIsPinned(),
1231
- divider: enableHiding,
1232
- key: 2,
1233
- onClick: function onClick() {
1234
- return handlePinColumn(false);
1235
- },
1236
- sx: commonMenuItemStyles
1237
- }, React__default.createElement(material.Box, {
1238
- sx: commonListItemStyles
1239
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, null)), localization.unpin))], enableColumnResizing && column.getCanResize() && [React__default.createElement(material.MenuItem, {
1240
- disabled: !columnSizing[column.id],
1241
- key: 0,
1242
- onClick: handleResetColumnSize,
1243
- sx: commonMenuItemStyles
1244
- }, React__default.createElement(material.Box, {
1245
- sx: commonListItemStyles
1246
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(RestartAltIcon, null)), localization.resetColumnSize))], enableHiding && [React__default.createElement(material.MenuItem, {
1247
- disabled: columnDef.enableHiding === false,
1248
- key: 0,
1249
- onClick: handleHideColumn,
1250
- sx: commonMenuItemStyles
1251
- }, React__default.createElement(material.Box, {
1252
- sx: commonListItemStyles
1253
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(columnDef.header)))), React__default.createElement(material.MenuItem, {
1254
- disabled: !Object.values(columnVisibility).filter(function (visible) {
1255
- return !visible;
1256
- }).length,
1257
- key: 1,
1258
- onClick: handleShowAllColumns,
1259
- sx: commonMenuItemStyles
1260
- }, React__default.createElement(material.Box, {
1261
- sx: commonListItemStyles
1262
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(columnDef.header))), React__default.createElement(material.IconButton, {
1263
- onClick: handleOpenShowHideColumnsMenu,
1264
- onMouseEnter: handleOpenShowHideColumnsMenu,
1265
- size: "small",
1266
- sx: {
1267
- p: 0
1268
- }
1269
- }, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
1270
- anchorEl: showHideColumnsMenuAnchorEl,
1271
- isSubMenu: true,
1272
- key: 2,
1273
- setAnchorEl: setShowHideColumnsMenuAnchorEl,
1274
- table: table
1275
- })]);
1276
- };
1277
-
1278
- var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1279
- var anchorEl = _ref.anchorEl,
1280
- handleEdit = _ref.handleEdit,
1281
- row = _ref.row,
1282
- setAnchorEl = _ref.setAnchorEl,
1283
- table = _ref.table;
1284
- var getState = table.getState,
1285
- _table$options = table.options,
1286
- EditIcon = _table$options.icons.EditIcon,
1287
- enableEditing = _table$options.enableEditing,
1288
- localization = _table$options.localization,
1289
- renderRowActionMenuItems = _table$options.renderRowActionMenuItems;
1290
-
1291
- var _getState = getState(),
1292
- density = _getState.density;
1293
-
1294
- return React__default.createElement(material.Menu, {
1295
- anchorEl: anchorEl,
1296
- open: !!anchorEl,
1297
- onClose: function onClose() {
1298
- return setAnchorEl(null);
1299
- },
1300
- MenuListProps: {
1301
- dense: density === 'compact'
1302
- }
1303
- }, enableEditing && React__default.createElement(material.MenuItem, {
1304
- onClick: handleEdit,
1305
- sx: commonMenuItemStyles
1306
- }, React__default.createElement(material.Box, {
1307
- sx: commonListItemStyles
1308
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), localization.edit)), renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems({
1309
- row: row,
1310
- table: table,
1311
- closeMenu: function closeMenu() {
1312
- return setAnchorEl(null);
1313
- }
1314
- }));
1315
- };
1316
-
1317
- var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1318
- var row = _ref.row,
1319
- table = _ref.table;
1320
- var getState = table.getState,
1321
- _table$options = table.options,
1322
- _table$options$icons = _table$options.icons,
1323
- CancelIcon = _table$options$icons.CancelIcon,
1324
- SaveIcon = _table$options$icons.SaveIcon,
1325
- localization = _table$options.localization,
1326
- onEditRowSubmit = _table$options.onEditRowSubmit,
1327
- setCurrentEditingRow = table.setCurrentEditingRow;
1328
-
1329
- var _getState = getState(),
1330
- currentEditingRow = _getState.currentEditingRow;
1331
-
1332
- var handleCancel = function handleCancel() {
1333
- var _row$original;
1334
-
1335
- row._valuesCache = (_row$original = row.original) != null ? _row$original : {};
1336
- setCurrentEditingRow(null);
1337
- };
1338
-
1339
- var handleSave = function handleSave() {
1340
- onEditRowSubmit == null ? void 0 : onEditRowSubmit({
1341
- row: currentEditingRow != null ? currentEditingRow : row,
1342
- table: table
1343
- });
1344
- setCurrentEditingRow(null);
1345
- };
1346
-
1347
- return React__default.createElement(material.Box, {
1348
- sx: {
1349
- display: 'flex',
1350
- gap: '0.75rem'
1351
- }
1352
- }, React__default.createElement(material.Tooltip, {
1353
- arrow: true,
1354
- title: localization.cancel
1355
- }, React__default.createElement(material.IconButton, {
1356
- "aria-label": localization.cancel,
1357
- onClick: handleCancel
1358
- }, React__default.createElement(CancelIcon, null))), React__default.createElement(material.Tooltip, {
1359
- arrow: true,
1360
- title: localization.save
1361
- }, React__default.createElement(material.IconButton, {
1362
- "aria-label": localization.save,
1363
- color: "info",
1364
- onClick: handleSave
1365
- }, React__default.createElement(SaveIcon, null))));
1366
- };
1367
-
1368
- var commonIconButtonStyles = {
1369
- height: '2rem',
1370
- ml: '10px',
1371
- opacity: 0.5,
1372
- transition: 'opacity 0.2s',
1373
- width: '2rem',
1374
- '&:hover': {
1375
- opacity: 1
1376
- }
1377
- };
1378
- var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
1379
- var row = _ref.row,
1380
- table = _ref.table;
1381
- var getState = table.getState,
1382
- _table$options = table.options,
1383
- enableEditing = _table$options.enableEditing,
1384
- _table$options$icons = _table$options.icons,
1385
- EditIcon = _table$options$icons.EditIcon,
1386
- MoreHorizIcon = _table$options$icons.MoreHorizIcon,
1387
- localization = _table$options.localization,
1388
- renderRowActionMenuItems = _table$options.renderRowActionMenuItems,
1389
- renderRowActions = _table$options.renderRowActions,
1390
- setCurrentEditingRow = table.setCurrentEditingRow;
1391
-
1392
- var _getState = getState(),
1393
- currentEditingRow = _getState.currentEditingRow;
1394
-
1395
- var _useState = React.useState(null),
1396
- anchorEl = _useState[0],
1397
- setAnchorEl = _useState[1];
1398
-
1399
- var handleOpenRowActionMenu = function handleOpenRowActionMenu(event) {
1400
- event.stopPropagation();
1401
- event.preventDefault();
1402
- setAnchorEl(event.currentTarget);
1403
- };
1404
-
1405
- var handleStartEditMode = function handleStartEditMode() {
1406
- setCurrentEditingRow(_extends({}, row));
1407
- setAnchorEl(null);
1408
- };
1409
-
1410
- return React__default.createElement(React__default.Fragment, null, renderRowActions ? React__default.createElement(React__default.Fragment, null, renderRowActions({
1411
- row: row,
1412
- table: table
1413
- })) : row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id) ? React__default.createElement(MRT_EditActionButtons, {
1414
- row: row,
1415
- table: table
1416
- }) : !renderRowActionMenuItems && enableEditing ? React__default.createElement(material.Tooltip, {
1417
- placement: "right",
1418
- arrow: true,
1419
- title: localization.edit
1420
- }, React__default.createElement(material.IconButton, {
1421
- sx: commonIconButtonStyles,
1422
- onClick: handleStartEditMode
1423
- }, React__default.createElement(EditIcon, null))) : renderRowActionMenuItems ? React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1424
- arrow: true,
1425
- enterDelay: 1000,
1426
- enterNextDelay: 1000,
1427
- title: localization.rowActions
1428
- }, React__default.createElement(material.IconButton, {
1429
- "aria-label": localization.rowActions,
1430
- onClick: handleOpenRowActionMenu,
1431
- size: "small",
1432
- sx: commonIconButtonStyles
1433
- }, React__default.createElement(MoreHorizIcon, null))), React__default.createElement(MRT_RowActionMenu, {
1434
- anchorEl: anchorEl,
1435
- handleEdit: handleStartEditMode,
1436
- row: row,
1437
- setAnchorEl: setAnchorEl,
1438
- table: table
1439
- })) : null);
1440
- };
1441
-
1442
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1443
- var row = _ref.row,
1444
- selectAll = _ref.selectAll,
1445
- table = _ref.table;
1446
- var getState = table.getState,
1447
- _table$options = table.options,
1448
- localization = _table$options.localization,
1449
- muiSelectCheckboxProps = _table$options.muiSelectCheckboxProps,
1450
- muiSelectAllCheckboxProps = _table$options.muiSelectAllCheckboxProps,
1451
- selectAllMode = _table$options.selectAllMode;
1452
-
1453
- var _getState = getState(),
1454
- density = _getState.density;
1455
-
1456
- var checkboxProps = !row ? muiSelectAllCheckboxProps instanceof Function ? muiSelectAllCheckboxProps({
1457
- table: table
1458
- }) : muiSelectAllCheckboxProps : muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1459
- row: row,
1460
- table: table
1461
- }) : muiSelectCheckboxProps;
1462
- return React__default.createElement(material.Tooltip, {
1463
- arrow: true,
1464
- enterDelay: 1000,
1465
- enterNextDelay: 1000,
1466
- title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1467
- }, React__default.createElement(material.Checkbox, Object.assign({
1468
- checked: selectAll ? table.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1469
- indeterminate: selectAll ? table.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1470
- inputProps: {
1471
- 'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1472
- },
1473
- onChange: !row ? selectAllMode === 'all' ? table.getToggleAllRowsSelectedHandler() : table.getToggleAllPageRowsSelectedHandler() : row.getToggleSelectedHandler(),
1474
- size: density === 'compact' ? 'small' : 'medium'
1475
- }, checkboxProps, {
1476
- sx: function sx(theme) {
1477
- return _extends({
1478
- height: density === 'compact' ? '1.75rem' : '2.5rem',
1479
- width: density === 'compact' ? '1.75rem' : '2.5rem',
1480
- m: density !== 'compact' ? '-0.4rem' : undefined
1481
- }, (checkboxProps == null ? void 0 : checkboxProps.sx) instanceof Function ? checkboxProps.sx(theme) : checkboxProps == null ? void 0 : checkboxProps.sx);
1482
- }
1483
- })));
1484
- };
1485
-
1486
- var MRT_GlobalFilterTextField = function MRT_GlobalFilterTextField(_ref) {
1487
- var _localization$clearSe;
1488
-
1489
- var table = _ref.table;
1490
- var getState = table.getState,
1491
- setGlobalFilter = table.setGlobalFilter,
1492
- _table$options = table.options,
1493
- enableGlobalFilterChangeMode = _table$options.enableGlobalFilterChangeMode,
1494
- _table$options$icons = _table$options.icons,
1495
- SearchIcon = _table$options$icons.SearchIcon,
1496
- CloseIcon = _table$options$icons.CloseIcon,
1497
- localization = _table$options.localization,
1498
- muiSearchTextFieldProps = _table$options.muiSearchTextFieldProps,
1499
- tableId = _table$options.tableId;
1500
-
1501
- var _getState = getState(),
1502
- globalFilter = _getState.globalFilter,
1503
- showGlobalFilter = _getState.showGlobalFilter;
1504
-
1505
- var _useState = React.useState(null),
1506
- anchorEl = _useState[0],
1507
- setAnchorEl = _useState[1];
1508
-
1509
- var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1510
- searchValue = _useState2[0],
1511
- setSearchValue = _useState2[1];
1512
-
1513
- var handleChangeDebounced = React.useCallback(material.debounce(function (event) {
1514
- var _event$target$value;
1515
-
1516
- setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1517
- }, 250), []);
1518
-
1519
- var handleChange = function handleChange(event) {
1520
- setSearchValue(event.target.value);
1521
- handleChangeDebounced(event);
1522
- };
1523
-
1524
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1525
- setAnchorEl(event.currentTarget);
1526
- };
1527
-
1528
- var handleClear = function handleClear() {
1529
- setSearchValue('');
1530
- setGlobalFilter(undefined);
1531
- };
1532
-
1533
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1534
- table: table
1535
- }) : muiSearchTextFieldProps;
1536
- return React__default.createElement(material.Collapse, {
1537
- "in": showGlobalFilter,
1538
- orientation: "horizontal"
1539
- }, React__default.createElement(material.TextField, Object.assign({
1540
- id: "mrt-" + tableId + "-search-text-field",
1541
- placeholder: localization.search,
1542
- onChange: handleChange,
1543
- value: searchValue != null ? searchValue : '',
1544
- variant: "standard",
1545
- InputProps: {
1546
- startAdornment: enableGlobalFilterChangeMode ? React__default.createElement(material.InputAdornment, {
1547
- position: "start"
1548
- }, React__default.createElement(material.Tooltip, {
1549
- arrow: true,
1550
- title: localization.changeSearchMode
1551
- }, React__default.createElement(material.IconButton, {
1552
- "aria-label": localization.changeSearchMode,
1553
- onClick: handleGlobalFilterMenuOpen,
1554
- size: "small",
1555
- sx: {
1556
- height: '1.75rem',
1557
- width: '1.75rem'
1558
- }
1559
- }, React__default.createElement(SearchIcon, null)))) : React__default.createElement(SearchIcon, {
1560
- style: {
1561
- marginRight: '4px'
1562
- }
1563
- }),
1564
- endAdornment: React__default.createElement(material.InputAdornment, {
1565
- position: "end"
1566
- }, React__default.createElement(material.Tooltip, {
1567
- arrow: true,
1568
- title: (_localization$clearSe = localization.clearSearch) != null ? _localization$clearSe : ''
1569
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1570
- "aria-label": localization.clearSearch,
1571
- disabled: !(searchValue != null && searchValue.length),
1572
- onClick: handleClear,
1573
- size: "small"
1574
- }, React__default.createElement(CloseIcon, null)))))
1575
- }
1576
- }, textFieldProps)), React__default.createElement(MRT_FilterOptionMenu, {
1577
- anchorEl: anchorEl,
1578
- setAnchorEl: setAnchorEl,
1579
- table: table
1580
- }));
1581
- };
1582
-
1583
- var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1584
- var isTopToolbar = _ref.isTopToolbar,
1585
- table = _ref.table;
1586
- var muiLinearProgressProps = table.options.muiLinearProgressProps,
1587
- getState = table.getState;
1588
-
1589
- var _getState = getState(),
1590
- isLoading = _getState.isLoading,
1591
- showProgressBars = _getState.showProgressBars;
1592
-
1593
- var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1594
- isTopToolbar: isTopToolbar,
1595
- table: table
1596
- }) : muiLinearProgressProps;
1597
- return React__default.createElement(material.Collapse, {
1598
- "in": isLoading || showProgressBars,
1599
- mountOnEnter: true,
1600
- unmountOnExit: true,
1601
- sx: {
1602
- bottom: isTopToolbar ? 0 : undefined,
1603
- position: 'absolute',
1604
- top: !isTopToolbar ? 0 : undefined,
1605
- width: '100%'
1606
- }
1607
- }, React__default.createElement(material.LinearProgress, Object.assign({
1608
- "aria-label": "Loading",
1609
- "aria-busy": "true",
1610
- sx: {
1611
- position: 'relative'
1612
- }
1613
- }, linearProgressProps)));
1614
- };
1615
-
1616
- var MRT_TablePagination = function MRT_TablePagination(_ref) {
1617
- var table = _ref.table,
1618
- position = _ref.position;
1619
- var getPrePaginationRowModel = table.getPrePaginationRowModel,
1620
- getState = table.getState,
1621
- setPageIndex = table.setPageIndex,
1622
- setPageSize = table.setPageSize,
1623
- _table$options = table.options,
1624
- muiTablePaginationProps = _table$options.muiTablePaginationProps,
1625
- enableToolbarInternalActions = _table$options.enableToolbarInternalActions,
1626
- rowCount = _table$options.rowCount;
1627
-
1628
- var _getState = getState(),
1629
- _getState$pagination = _getState.pagination,
1630
- _getState$pagination$ = _getState$pagination.pageSize,
1631
- pageSize = _getState$pagination$ === void 0 ? 10 : _getState$pagination$,
1632
- _getState$pagination$2 = _getState$pagination.pageIndex,
1633
- pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2,
1634
- showGlobalFilter = _getState.showGlobalFilter;
1635
-
1636
- var totalRowCount = rowCount != null ? rowCount : getPrePaginationRowModel().rows.length;
1637
- var showFirstLastPageButtons = totalRowCount / pageSize > 2;
1638
- var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps({
1639
- table: table
1640
- }) : muiTablePaginationProps;
1641
-
1642
- var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
1643
- setPageSize(+event.target.value);
1644
- };
1645
-
1646
- return React__default.createElement(material.TablePagination, Object.assign({
1647
- SelectProps: {
1648
- sx: {
1649
- m: '0 1rem 0 1ch'
1650
- },
1651
- MenuProps: {
1652
- MenuListProps: {
1653
- disablePadding: true
1654
- }
1655
- }
1656
- },
1657
- component: "div",
1658
- count: totalRowCount,
1659
- onPageChange: function onPageChange(_, newPage) {
1660
- return setPageIndex(newPage);
1661
- },
1662
- onRowsPerPageChange: handleChangeRowsPerPage,
1663
- page: pageIndex,
1664
- rowsPerPage: pageSize,
1665
- rowsPerPageOptions: [5, 10, 15, 20, 25, 30, 50, 100],
1666
- showFirstButton: showFirstLastPageButtons,
1667
- showLastButton: showFirstLastPageButtons
1668
- }, tablePaginationProps, {
1669
- sx: function sx(theme) {
1670
- return _extends({
1671
- m: '0 0.5rem',
1672
- mt: position === 'top' && enableToolbarInternalActions && !showGlobalFilter ? '3.5rem' : undefined,
1673
- position: 'relative',
1674
- zIndex: 2
1675
- }, (tablePaginationProps == null ? void 0 : tablePaginationProps.sx) instanceof Function ? tablePaginationProps.sx(theme) : tablePaginationProps == null ? void 0 : tablePaginationProps.sx);
1676
- }
1677
- }));
1678
- };
1679
-
1680
- var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1681
- var _localization$selecte, _localization$selecte2;
1682
-
1683
- var stackAlertBanner = _ref.stackAlertBanner,
1684
- table = _ref.table;
1685
- var getPrePaginationRowModel = table.getPrePaginationRowModel,
1686
- getSelectedRowModel = table.getSelectedRowModel,
1687
- getState = table.getState,
1688
- _table$options = table.options,
1689
- localization = _table$options.localization,
1690
- muiTableToolbarAlertBannerProps = _table$options.muiTableToolbarAlertBannerProps;
1691
-
1692
- var _getState = getState(),
1693
- grouping = _getState.grouping,
1694
- showAlertBanner = _getState.showAlertBanner;
1695
-
1696
- var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1697
- table: table
1698
- }) : muiTableToolbarAlertBannerProps;
1699
- 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;
1700
- var groupedByMessage = grouping.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
1701
- return React__default.createElement(React.Fragment, {
1702
- key: index + "-" + columnId
1703
- }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
1704
- color: "secondary",
1705
- label: table.getColumn(columnId).columnDef.header,
1706
- onDelete: function onDelete() {
1707
- return table.getColumn(columnId).toggleGrouping();
1708
- }
1709
- }));
1710
- })) : null;
1711
- return React__default.createElement(material.Collapse, {
1712
- "in": showAlertBanner || !!selectMessage || !!groupedByMessage,
1713
- timeout: stackAlertBanner ? 200 : 0
1714
- }, React__default.createElement(material.Alert, Object.assign({
1715
- color: "info",
1716
- icon: false
1717
- }, alertProps, {
1718
- sx: function sx(theme) {
1719
- return _extends({
1720
- borderRadius: 0,
1721
- fontSize: '1rem',
1722
- left: 0,
1723
- p: 0,
1724
- position: 'relative',
1725
- right: 0,
1726
- top: 0,
1727
- width: '100%',
1728
- zIndex: 2
1729
- }, (alertProps == null ? void 0 : alertProps.sx) instanceof Function ? alertProps.sx(theme) : alertProps == null ? void 0 : alertProps.sx);
1730
- }
1731
- }), (alertProps == null ? void 0 : alertProps.title) && React__default.createElement(material.AlertTitle, null, alertProps.title), React__default.createElement(material.Box, {
1732
- sx: {
1733
- p: '0.5rem 1rem'
1734
- }
1735
- }, alertProps == null ? void 0 : alertProps.children, (alertProps == null ? void 0 : alertProps.children) && (selectMessage || groupedByMessage) && React__default.createElement("br", null), selectMessage, selectMessage && groupedByMessage && React__default.createElement("br", null), groupedByMessage)));
1736
- };
1737
-
1738
- var _excluded = ["table"];
1739
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1740
- var table = _ref.table,
1741
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
1742
-
1743
- var getState = table.getState,
1744
- _table$options = table.options,
1745
- _table$options$icons = _table$options.icons,
1746
- FullscreenExitIcon = _table$options$icons.FullscreenExitIcon,
1747
- FullscreenIcon = _table$options$icons.FullscreenIcon,
1748
- localization = _table$options.localization,
1749
- setIsFullScreen = table.setIsFullScreen;
1750
-
1751
- var _getState = getState(),
1752
- isFullScreen = _getState.isFullScreen;
1753
-
1754
- var handleToggleFullScreen = function handleToggleFullScreen() {
1755
- setIsFullScreen(!isFullScreen);
1756
- };
1757
-
1758
- return React__default.createElement(material.Tooltip, {
1759
- arrow: true,
1760
- title: localization.toggleFullScreen
1761
- }, React__default.createElement(material.IconButton, Object.assign({
1762
- "aria-label": localization.showHideFilters,
1763
- onClick: handleToggleFullScreen
1764
- }, rest), isFullScreen ? React__default.createElement(FullscreenExitIcon, null) : React__default.createElement(FullscreenIcon, null)));
1765
- };
1766
-
1767
- var _excluded$1 = ["table"];
1768
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
1769
- var table = _ref.table,
1770
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1771
-
1772
- var _table$options = table.options,
1773
- ViewColumnIcon = _table$options.icons.ViewColumnIcon,
1774
- localization = _table$options.localization;
1775
-
1776
- var _useState = React.useState(null),
1777
- anchorEl = _useState[0],
1778
- setAnchorEl = _useState[1];
1779
-
1780
- var handleClick = function handleClick(event) {
1781
- setAnchorEl(event.currentTarget);
1782
- };
1783
-
1784
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
1785
- arrow: true,
1786
- title: localization.showHideColumns
1787
- }, React__default.createElement(material.IconButton, Object.assign({
1788
- "aria-label": localization.showHideColumns,
1789
- onClick: handleClick
1790
- }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(MRT_ShowHideColumnsMenu, {
1791
- anchorEl: anchorEl,
1792
- setAnchorEl: setAnchorEl,
1793
- table: table
1794
- }));
1795
- };
1796
-
1797
- var _excluded$2 = ["table"];
1798
- var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
1799
- var table = _ref.table,
1800
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
1801
-
1802
- var getState = table.getState,
1803
- _table$options = table.options,
1804
- _table$options$icons = _table$options.icons,
1805
- DensityLargeIcon = _table$options$icons.DensityLargeIcon,
1806
- DensityMediumIcon = _table$options$icons.DensityMediumIcon,
1807
- DensitySmallIcon = _table$options$icons.DensitySmallIcon,
1808
- localization = _table$options.localization,
1809
- setDensity = table.setDensity;
1810
-
1811
- var _getState = getState(),
1812
- density = _getState.density;
1813
-
1814
- var handleToggleDensePadding = function handleToggleDensePadding() {
1815
- var nextDensity = density === 'comfortable' ? 'compact' : density === 'compact' ? 'spacious' : 'comfortable';
1816
- setDensity(nextDensity);
1817
- };
1818
-
1819
- return React__default.createElement(material.Tooltip, {
1820
- arrow: true,
1821
- title: localization.toggleDensity
1822
- }, React__default.createElement(material.IconButton, Object.assign({
1823
- "aria-label": localization.toggleDensity,
1824
- onClick: handleToggleDensePadding
1825
- }, rest), density === 'compact' ? React__default.createElement(DensitySmallIcon, null) : density === 'comfortable' ? React__default.createElement(DensityMediumIcon, null) : React__default.createElement(DensityLargeIcon, null)));
1826
- };
1827
-
1828
- var _excluded$3 = ["table"];
1829
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1830
- var table = _ref.table,
1831
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
1832
-
1833
- var getState = table.getState,
1834
- _table$options = table.options,
1835
- _table$options$icons = _table$options.icons,
1836
- FilterListIcon = _table$options$icons.FilterListIcon,
1837
- FilterListOffIcon = _table$options$icons.FilterListOffIcon,
1838
- localization = _table$options.localization,
1839
- setShowFilters = table.setShowFilters;
1840
-
1841
- var _getState = getState(),
1842
- showColumnFilters = _getState.showColumnFilters;
1843
-
1844
- var handleToggleShowFilters = function handleToggleShowFilters() {
1845
- setShowFilters(!showColumnFilters);
1846
- };
1847
-
1848
- return React__default.createElement(material.Tooltip, {
1849
- arrow: true,
1850
- title: localization.showHideFilters
1851
- }, React__default.createElement(material.IconButton, Object.assign({
1852
- "aria-label": localization.showHideFilters,
1853
- onClick: handleToggleShowFilters
1854
- }, rest), showColumnFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterListIcon, null)));
1855
- };
1856
-
1857
- var _excluded$4 = ["table"];
1858
- var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1859
- var table = _ref.table,
1860
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
1861
-
1862
- var getState = table.getState,
1863
- _table$options = table.options,
1864
- _table$options$icons = _table$options.icons,
1865
- SearchIcon = _table$options$icons.SearchIcon,
1866
- SearchOffIcon = _table$options$icons.SearchOffIcon,
1867
- tableId = _table$options.tableId,
1868
- localization = _table$options.localization,
1869
- muiSearchTextFieldProps = _table$options.muiSearchTextFieldProps,
1870
- setShowGlobalFilter = table.setShowGlobalFilter;
1871
-
1872
- var _getState = getState(),
1873
- showGlobalFilter = _getState.showGlobalFilter;
1874
-
1875
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1876
- table: table
1877
- }) : muiSearchTextFieldProps;
1878
-
1879
- var handleToggleSearch = function handleToggleSearch() {
1880
- setShowGlobalFilter(!showGlobalFilter);
1881
- setTimeout(function () {
1882
- var _document$getElementB, _textFieldProps$id;
1883
-
1884
- return (_document$getElementB = document.getElementById((_textFieldProps$id = textFieldProps == null ? void 0 : textFieldProps.id) != null ? _textFieldProps$id : "mrt-" + tableId + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
1885
- }, 200);
1886
- };
1887
-
1888
- return React__default.createElement(material.Tooltip, {
1889
- arrow: true,
1890
- title: localization.showHideSearch
1891
- }, React__default.createElement(material.IconButton, Object.assign({
1892
- onClick: handleToggleSearch
1893
- }, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
1894
- };
1895
-
1896
- var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1897
- var _renderToolbarInterna;
1898
-
1899
- var table = _ref.table;
1900
- var _table$options = table.options,
1901
- enableColumnFilters = _table$options.enableColumnFilters,
1902
- enableColumnOrdering = _table$options.enableColumnOrdering,
1903
- enableDensityToggle = _table$options.enableDensityToggle,
1904
- enableFilters = _table$options.enableFilters,
1905
- enableFullScreenToggle = _table$options.enableFullScreenToggle,
1906
- enableGlobalFilter = _table$options.enableGlobalFilter,
1907
- enableHiding = _table$options.enableHiding,
1908
- enablePinning = _table$options.enablePinning,
1909
- positionGlobalFilter = _table$options.positionGlobalFilter,
1910
- renderToolbarInternalActions = _table$options.renderToolbarInternalActions;
1911
- return React__default.createElement(material.Box, {
1912
- sx: {
1913
- alignItems: 'center',
1914
- display: 'flex',
1915
- zIndex: 3
1916
- }
1917
- }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1918
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1919
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1920
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1921
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1922
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1923
- table: table
1924
- })) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_GlobalFilterTextField, {
1925
- table: table
1926
- }), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1927
- table: table
1928
- }), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
1929
- table: table
1930
- }), (enableHiding || enableColumnOrdering || enablePinning) && React__default.createElement(MRT_ShowHideColumnsButton, {
1931
- table: table
1932
- }), enableDensityToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
1933
- table: table
1934
- }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
1935
- table: table
1936
- })));
1937
- };
1938
-
1939
- var MRT_ToolbarDropZone = function MRT_ToolbarDropZone(_ref) {
1940
- var _currentDraggingColum, _currentDraggingColum2;
1941
-
1942
- var table = _ref.table;
1943
- var getState = table.getState,
1944
- _table$options = table.options,
1945
- enableGrouping = _table$options.enableGrouping,
1946
- localization = _table$options.localization,
1947
- setCurrentHoveredColumn = table.setCurrentHoveredColumn;
1948
-
1949
- var _getState = getState(),
1950
- currentDraggingColumn = _getState.currentDraggingColumn,
1951
- currentHoveredColumn = _getState.currentHoveredColumn;
1952
-
1953
- var handleDragEnter = function handleDragEnter(_event) {
1954
- setCurrentHoveredColumn({
1955
- id: 'drop-zone'
1956
- });
1957
- };
1958
-
1959
- return React__default.createElement(material.Fade, {
1960
- unmountOnExit: true,
1961
- mountOnEnter: true,
1962
- "in": !!enableGrouping && !!currentDraggingColumn
1963
- }, React__default.createElement(material.Box, {
1964
- sx: function sx(theme) {
1965
- return {
1966
- alignItems: 'center',
1967
- backgroundColor: material.alpha(theme.palette.info.main, (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1),
1968
- border: "dashed " + theme.palette.info.main + " 2px",
1969
- display: 'flex',
1970
- justifyContent: 'center',
1971
- height: 'calc(100% - 4px)',
1972
- position: 'absolute',
1973
- width: 'calc(100% - 4px)',
1974
- zIndex: 2
1975
- };
1976
- },
1977
- onDragEnter: handleDragEnter
1978
- }, React__default.createElement(material.Typography, null, localization.dropToGroupBy.replace('{column}', (_currentDraggingColum = currentDraggingColumn == null ? void 0 : (_currentDraggingColum2 = currentDraggingColumn.columnDef) == null ? void 0 : _currentDraggingColum2.header) != null ? _currentDraggingColum : ''))));
1979
- };
1980
-
1981
- var commonToolbarStyles = function commonToolbarStyles(_ref) {
1982
- var theme = _ref.theme;
1983
- return {
1984
- alignItems: 'flex-start',
1985
- backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1986
- backgroundImage: 'none',
1987
- display: 'grid',
1988
- minHeight: '3.5rem',
1989
- overflow: 'hidden',
1990
- p: '0 !important',
1991
- transition: 'all 0.2s ease-in-out',
1992
- zIndex: 1
1993
- };
1994
- };
1995
- var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1996
- var _renderToolbarTopCust;
1997
-
1998
- var table = _ref2.table;
1999
- var getState = table.getState,
2000
- _table$options = table.options,
2001
- enableGlobalFilter = _table$options.enableGlobalFilter,
2002
- enablePagination = _table$options.enablePagination,
2003
- enableToolbarInternalActions = _table$options.enableToolbarInternalActions,
2004
- muiTableToolbarTopProps = _table$options.muiTableToolbarTopProps,
2005
- positionGlobalFilter = _table$options.positionGlobalFilter,
2006
- positionPagination = _table$options.positionPagination,
2007
- positionToolbarAlertBanner = _table$options.positionToolbarAlertBanner,
2008
- positionToolbarDropZone = _table$options.positionToolbarDropZone,
2009
- renderToolbarTopCustomActions = _table$options.renderToolbarTopCustomActions,
2010
- tableId = _table$options.tableId;
2011
-
2012
- var _getState = getState(),
2013
- isFullScreen = _getState.isFullScreen,
2014
- showGlobalFilter = _getState.showGlobalFilter;
2015
-
2016
- var isMobile = material.useMediaQuery('(max-width:720px)');
2017
- var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
2018
- table: table
2019
- }) : muiTableToolbarTopProps;
2020
- var stackAlertBanner = isMobile || !!renderToolbarTopCustomActions || showGlobalFilter;
2021
- return React__default.createElement(material.Toolbar, Object.assign({
2022
- id: "mrt-" + tableId + "-toolbar-top",
2023
- variant: "dense"
2024
- }, toolbarProps, {
2025
- sx: function sx(theme) {
2026
- return _extends({
2027
- position: isFullScreen ? 'sticky' : undefined,
2028
- top: isFullScreen ? '0' : undefined
2029
- }, commonToolbarStyles({
2030
- theme: theme
2031
- }), (toolbarProps == null ? void 0 : toolbarProps.sx) instanceof Function ? toolbarProps.sx(theme) : toolbarProps == null ? void 0 : toolbarProps.sx);
2032
- }
2033
- }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, {
2034
- stackAlertBanner: stackAlertBanner,
2035
- table: table
2036
- }), ['both', 'top'].includes(positionToolbarDropZone != null ? positionToolbarDropZone : '') && React__default.createElement(MRT_ToolbarDropZone, {
2037
- table: table
2038
- }), React__default.createElement(material.Box, {
2039
- sx: {
2040
- alignItems: 'flex-start',
2041
- boxSizing: 'border-box',
2042
- display: 'flex',
2043
- justifyContent: 'space-between',
2044
- p: '0.5rem',
2045
- position: stackAlertBanner ? 'relative' : 'absolute',
2046
- right: 0,
2047
- top: 0,
2048
- width: '100%'
2049
- }
2050
- }, enableGlobalFilter && positionGlobalFilter === 'left' && React__default.createElement(MRT_GlobalFilterTextField, {
2051
- table: table
2052
- }), (_renderToolbarTopCust = renderToolbarTopCustomActions == null ? void 0 : renderToolbarTopCustomActions({
2053
- table: table
2054
- })) != null ? _renderToolbarTopCust : React__default.createElement("span", null), enableToolbarInternalActions ? React__default.createElement(MRT_ToolbarInternalButtons, {
2055
- table: table
2056
- }) : enableGlobalFilter && positionGlobalFilter === 'right' && React__default.createElement(MRT_GlobalFilterTextField, {
2057
- table: table
2058
- })), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
2059
- table: table,
2060
- position: "top"
2061
- }), React__default.createElement(MRT_LinearProgressBar, {
2062
- isTopToolbar: true,
2063
- table: table
2064
- }));
2065
- };
2066
-
2067
- var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
2068
- var table = _ref.table;
2069
- var getState = table.getState,
2070
- _table$options = table.options,
2071
- enablePagination = _table$options.enablePagination,
2072
- muiTableToolbarBottomProps = _table$options.muiTableToolbarBottomProps,
2073
- positionPagination = _table$options.positionPagination,
2074
- positionToolbarAlertBanner = _table$options.positionToolbarAlertBanner,
2075
- positionToolbarDropZone = _table$options.positionToolbarDropZone,
2076
- renderToolbarBottomCustomActions = _table$options.renderToolbarBottomCustomActions,
2077
- tableId = _table$options.tableId;
2078
-
2079
- var _getState = getState(),
2080
- isFullScreen = _getState.isFullScreen;
2081
-
2082
- var isMobile = material.useMediaQuery('(max-width:720px)');
2083
- var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
2084
- table: table
2085
- }) : muiTableToolbarBottomProps;
2086
- var stackAlertBanner = isMobile || !!renderToolbarBottomCustomActions;
2087
- return React__default.createElement(material.Toolbar, Object.assign({
2088
- id: "mrt-" + tableId + "-toolbar-bottom",
2089
- variant: "dense"
2090
- }, toolbarProps, {
2091
- sx: function sx(theme) {
2092
- return _extends({}, commonToolbarStyles({
2093
- theme: theme
2094
- }), {
2095
- bottom: isFullScreen ? '0' : undefined,
2096
- boxShadow: "-3px 0 6px " + material.alpha(theme.palette.common.black, 0.1),
2097
- left: 0,
2098
- position: isFullScreen ? 'fixed' : 'relative',
2099
- right: 0
2100
- }, (toolbarProps == null ? void 0 : toolbarProps.sx) instanceof Function ? toolbarProps.sx(theme) : toolbarProps == null ? void 0 : toolbarProps.sx);
2101
- }
2102
- }), React__default.createElement(MRT_LinearProgressBar, {
2103
- isTopToolbar: false,
2104
- table: table
2105
- }), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
2106
- table: table
2107
- }), ['both', 'bottom'].includes(positionToolbarDropZone != null ? positionToolbarDropZone : '') && React__default.createElement(MRT_ToolbarDropZone, {
2108
- table: table
2109
- }), React__default.createElement(material.Box, {
2110
- sx: {
2111
- display: 'flex',
2112
- justifyContent: 'space-between',
2113
- width: '100%'
2114
- }
2115
- }, renderToolbarBottomCustomActions ? React__default.createElement(material.Box, {
2116
- sx: {
2117
- p: '0.5rem'
2118
- }
2119
- }, renderToolbarBottomCustomActions({
2120
- table: table
2121
- })) : React__default.createElement("span", null), React__default.createElement(material.Box, {
2122
- sx: {
2123
- display: 'flex',
2124
- justifyContent: 'flex-end',
2125
- position: stackAlertBanner ? 'relative' : 'absolute',
2126
- right: 0,
2127
- top: 0
2128
- }
2129
- }, enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
2130
- table: table,
2131
- position: "bottom"
2132
- }))));
2133
- };
2134
-
2135
- var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActionsButton(_ref) {
2136
- var header = _ref.header,
2137
- table = _ref.table;
2138
- var _table$options = table.options,
2139
- MoreVertIcon = _table$options.icons.MoreVertIcon,
2140
- localization = _table$options.localization,
2141
- muiTableHeadCellColumnActionsButtonProps = _table$options.muiTableHeadCellColumnActionsButtonProps;
2142
- var column = header.column;
2143
- var columnDef = column.columnDef;
2144
-
2145
- var _useState = React.useState(null),
2146
- anchorEl = _useState[0],
2147
- setAnchorEl = _useState[1];
2148
-
2149
- var handleClick = function handleClick(event) {
2150
- event.stopPropagation();
2151
- event.preventDefault();
2152
- setAnchorEl(event.currentTarget);
2153
- };
2154
-
2155
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2156
- column: column,
2157
- table: table
2158
- }) : muiTableHeadCellColumnActionsButtonProps;
2159
- var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
2160
- column: column,
2161
- table: table
2162
- }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
2163
-
2164
- var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2165
-
2166
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2167
- arrow: true,
2168
- enterDelay: 1000,
2169
- enterNextDelay: 1000,
2170
- placement: "top",
2171
- title: localization.columnActions
2172
- }, React__default.createElement(material.IconButton, Object.assign({
2173
- "aria-label": localization.columnActions,
2174
- onClick: handleClick,
2175
- size: "small"
2176
- }, iconButtonProps, {
2177
- sx: function sx(theme) {
2178
- return _extends({
2179
- height: '2rem',
2180
- mt: '-0.2rem',
2181
- opacity: 0.5,
2182
- transition: 'opacity 0.2s',
2183
- width: '2rem',
2184
- '&:hover': {
2185
- opacity: 1
2186
- }
2187
- }, (iconButtonProps == null ? void 0 : iconButtonProps.sx) instanceof Function ? iconButtonProps.sx(theme) : iconButtonProps == null ? void 0 : iconButtonProps.sx);
2188
- }
2189
- }), React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
2190
- anchorEl: anchorEl,
2191
- header: header,
2192
- setAnchorEl: setAnchorEl,
2193
- table: table
2194
- }));
2195
- };
2196
-
2197
- var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2198
- var _currentFilterOption$, _localization$filterB, _columnDef$columnFilt, _currentFilterOption$2, _localization$clearFi, _columnDef$filterSele;
2199
-
2200
- var header = _ref.header,
2201
- rangeFilterIndex = _ref.rangeFilterIndex,
2202
- table = _ref.table;
2203
- var getState = table.getState,
2204
- _table$options = table.options,
2205
- enableColumnFilterChangeMode = _table$options.enableColumnFilterChangeMode,
2206
- columnFilterModeOptions = _table$options.columnFilterModeOptions,
2207
- _table$options$icons = _table$options.icons,
2208
- FilterListIcon = _table$options$icons.FilterListIcon,
2209
- CloseIcon = _table$options$icons.CloseIcon,
2210
- localization = _table$options.localization,
2211
- muiTableHeadCellFilterTextFieldProps = _table$options.muiTableHeadCellFilterTextFieldProps,
2212
- tableId = _table$options.tableId,
2213
- setCurrentFilterFns = table.setCurrentFilterFns;
2214
- var column = header.column;
2215
- var columnDef = column.columnDef;
2216
-
2217
- var _getState = getState(),
2218
- currentFilterFns = _getState.currentFilterFns;
2219
-
2220
- var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps({
2221
- column: column,
2222
- table: table,
2223
- rangeFilterIndex: rangeFilterIndex
2224
- }) : muiTableHeadCellFilterTextFieldProps;
2225
- var mcTableHeadCellFilterTextFieldProps = columnDef.muiTableHeadCellFilterTextFieldProps instanceof Function ? columnDef.muiTableHeadCellFilterTextFieldProps({
2226
- column: column,
2227
- table: table,
2228
- rangeFilterIndex: rangeFilterIndex
2229
- }) : columnDef.muiTableHeadCellFilterTextFieldProps;
2230
-
2231
- var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
2232
-
2233
- var isRangeFilter = columnDef.filterVariant === 'range' || rangeFilterIndex !== undefined;
2234
- var isSelectFilter = columnDef.filterVariant === 'select';
2235
- var isMultiSelectFilter = columnDef.filterVariant === 'multi-select';
2236
- var isTextboxFilter = columnDef.filterVariant === 'text' || !isSelectFilter && !isMultiSelectFilter;
2237
- var currentFilterOption = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
2238
- var filterId = "mrt-" + tableId + "-" + header.id + "-filter-text-field" + (rangeFilterIndex != null ? rangeFilterIndex : '');
2239
- var filterChipLabel = ['empty', 'notEmpty'].includes(currentFilterOption) ? //@ts-ignore
2240
- localization["filter" + ((currentFilterOption == null ? void 0 : currentFilterOption.charAt == null ? void 0 : (_currentFilterOption$ = currentFilterOption.charAt(0)) == null ? void 0 : _currentFilterOption$.toUpperCase()) + (currentFilterOption == null ? void 0 : currentFilterOption.slice(1)))] : '';
2241
- var filterPlaceholder = !isRangeFilter ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header)) : rangeFilterIndex === 0 ? localization.min : rangeFilterIndex === 1 ? localization.max : '';
2242
- var allowedColumnFilterOptions = (_columnDef$columnFilt = columnDef == null ? void 0 : columnDef.columnFilterModeOptions) != null ? _columnDef$columnFilt : columnFilterModeOptions;
2243
- var showChangeModeButton = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !rangeFilterIndex && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
2244
-
2245
- var _useState = React.useState(null),
2246
- anchorEl = _useState[0],
2247
- setAnchorEl = _useState[1];
2248
-
2249
- var _useState2 = React.useState(function () {
2250
- var _column$getFilterValu, _column$getFilterValu2;
2251
-
2252
- return isMultiSelectFilter ? column.getFilterValue() || [] : isRangeFilter ? ((_column$getFilterValu = column.getFilterValue()) == null ? void 0 : _column$getFilterValu[rangeFilterIndex]) || [] : (_column$getFilterValu2 = column.getFilterValue()) != null ? _column$getFilterValu2 : '';
2253
- }),
2254
- filterValue = _useState2[0],
2255
- setFilterValue = _useState2[1];
2256
-
2257
- var handleChangeDebounced = React.useCallback(material.debounce(function (event) {
2258
- var value = textFieldProps.type === 'date' ? new Date(event.target.value) : event.target.value;
2259
-
2260
- if (isRangeFilter) {
2261
- column.setFilterValue(function (old) {
2262
- var newFilterValues = old != null ? old : ['', ''];
2263
- newFilterValues[rangeFilterIndex] = value;
2264
- return newFilterValues;
2265
- });
2266
- } else {
2267
- column.setFilterValue(value != null ? value : undefined);
2268
- }
2269
- }, isTextboxFilter ? 200 : 1), []);
2270
-
2271
- var handleChange = function handleChange(event) {
2272
- setFilterValue(event.target.value);
2273
- handleChangeDebounced(event);
2274
- };
2275
-
2276
- var handleClear = function handleClear() {
2277
- if (isMultiSelectFilter) {
2278
- setFilterValue([]);
2279
- column.setFilterValue([]);
2280
- } else if (isRangeFilter) {
2281
- setFilterValue('');
2282
- column.setFilterValue(function (old) {
2283
- var newFilterValues = old != null ? old : ['', ''];
2284
- newFilterValues[rangeFilterIndex] = undefined;
2285
- return newFilterValues;
2286
- });
2287
- } else {
2288
- setFilterValue('');
2289
- column.setFilterValue(undefined);
2290
- }
2291
- };
2292
-
2293
- var handleClearEmptyFilterChip = function handleClearEmptyFilterChip() {
2294
- setFilterValue('');
2295
- column.setFilterValue(undefined);
2296
- setCurrentFilterFns(function (prev) {
2297
- var _extends2;
2298
-
2299
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = 'fuzzy', _extends2));
2300
- });
2301
- };
2302
-
2303
- var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
2304
- setAnchorEl(event.currentTarget);
2305
- };
2306
-
2307
- if (columnDef.Filter) {
2308
- return React__default.createElement(React__default.Fragment, null, columnDef.Filter == null ? void 0 : columnDef.Filter({
2309
- header: header,
2310
- table: table
2311
- }));
2312
- }
2313
-
2314
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
2315
- fullWidth: true,
2316
- id: filterId,
2317
- inputProps: {
2318
- disabled: !!filterChipLabel,
2319
- sx: {
2320
- textOverflow: 'ellipsis',
2321
- width: filterChipLabel ? 0 : undefined
2322
- },
2323
- title: filterPlaceholder
2324
- },
2325
- helperText: showChangeModeButton ? React__default.createElement("label", {
2326
- htmlFor: filterId
2327
- }, localization.filterMode.replace('{filterType}', // @ts-ignore
2328
- localization["filter" + ((currentFilterOption == null ? void 0 : (_currentFilterOption$2 = currentFilterOption.charAt(0)) == null ? void 0 : _currentFilterOption$2.toUpperCase()) + (currentFilterOption == null ? void 0 : currentFilterOption.slice(1)))])) : null,
2329
- FormHelperTextProps: {
2330
- sx: {
2331
- fontSize: '0.6rem',
2332
- lineHeight: '0.8rem',
2333
- whiteSpace: 'nowrap'
2334
- }
2335
- },
2336
- margin: "none",
2337
- placeholder: filterChipLabel || isSelectFilter || isMultiSelectFilter ? undefined : filterPlaceholder,
2338
- onChange: handleChange,
2339
- onClick: function onClick(e) {
2340
- return e.stopPropagation();
2341
- },
2342
- select: isSelectFilter || isMultiSelectFilter,
2343
- value: filterValue,
2344
- variant: "standard",
2345
- InputProps: {
2346
- startAdornment: showChangeModeButton ? React__default.createElement(material.InputAdornment, {
2347
- position: "start"
2348
- }, React__default.createElement(material.Tooltip, {
2349
- arrow: true,
2350
- title: localization.changeFilterMode
2351
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
2352
- "aria-label": localization.changeFilterMode,
2353
- onClick: handleFilterMenuOpen,
2354
- size: "small",
2355
- sx: {
2356
- height: '1.75rem',
2357
- width: '1.75rem'
2358
- }
2359
- }, React__default.createElement(FilterListIcon, null)))), filterChipLabel && React__default.createElement(material.Chip, {
2360
- onDelete: handleClearEmptyFilterChip,
2361
- label: filterChipLabel
2362
- })) : React__default.createElement(FilterListIcon, {
2363
- style: {
2364
- marginRight: '4px'
2365
- }
2366
- }),
2367
- endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
2368
- position: "end"
2369
- }, React__default.createElement(material.Tooltip, {
2370
- arrow: true,
2371
- placement: "right",
2372
- title: (_localization$clearFi = localization.clearFilter) != null ? _localization$clearFi : ''
2373
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
2374
- "aria-label": localization.clearFilter,
2375
- disabled: !(filterValue != null && filterValue.length),
2376
- onClick: handleClear,
2377
- size: "small",
2378
- sx: {
2379
- height: '1.75rem',
2380
- width: '1.75rem'
2381
- }
2382
- }, React__default.createElement(CloseIcon, null)))))
2383
- },
2384
- SelectProps: {
2385
- displayEmpty: true,
2386
- multiple: isMultiSelectFilter,
2387
- renderValue: isMultiSelectFilter ? function (selected) {
2388
- return !(selected != null && selected.length) ? React__default.createElement(material.Box, {
2389
- sx: {
2390
- opacity: 0.5
2391
- }
2392
- }, filterPlaceholder) : React__default.createElement(material.Box, {
2393
- sx: {
2394
- display: 'flex',
2395
- flexWrap: 'wrap',
2396
- gap: '2px'
2397
- }
2398
- }, selected == null ? void 0 : selected.map(function (value) {
2399
- return React__default.createElement(material.Chip, {
2400
- key: value,
2401
- label: value
2402
- });
2403
- }));
2404
- } : undefined
2405
- }
2406
- }, textFieldProps, {
2407
- sx: function sx(theme) {
2408
- return _extends({
2409
- p: 0,
2410
- minWidth: !filterChipLabel ? '6rem' : 'auto',
2411
- width: '100%',
2412
- '& .MuiSelect-icon': {
2413
- mr: '1.5rem'
2414
- }
2415
- }, (textFieldProps == null ? void 0 : textFieldProps.sx) instanceof Function ? textFieldProps.sx(theme) : textFieldProps == null ? void 0 : textFieldProps.sx);
2416
- }
2417
- }), (isSelectFilter || isMultiSelectFilter) && React__default.createElement(material.MenuItem, {
2418
- divider: true,
2419
- disabled: true,
2420
- hidden: true,
2421
- value: ""
2422
- }, React__default.createElement(material.Box, {
2423
- sx: {
2424
- opacity: 0.5
2425
- }
2426
- }, filterPlaceholder)), columnDef == null ? void 0 : (_columnDef$filterSele = columnDef.filterSelectOptions) == null ? void 0 : _columnDef$filterSele.map(function (option) {
2427
- var _column$getFilterValu3;
2428
-
2429
- var value;
2430
- var text;
2431
-
2432
- if (typeof option !== 'object') {
2433
- value = option;
2434
- text = option;
2435
- } else {
2436
- value = option.value;
2437
- text = option.text;
2438
- }
2439
-
2440
- return React__default.createElement(material.MenuItem, {
2441
- key: value,
2442
- value: value
2443
- }, isMultiSelectFilter && React__default.createElement(material.Checkbox, {
2444
- checked: ((_column$getFilterValu3 = column.getFilterValue()) != null ? _column$getFilterValu3 : []).includes(value),
2445
- sx: {
2446
- mr: '0.5rem'
2447
- }
2448
- }), React__default.createElement(material.ListItemText, null, text));
2449
- })), React__default.createElement(MRT_FilterOptionMenu, {
2450
- anchorEl: anchorEl,
2451
- header: header,
2452
- setAnchorEl: setAnchorEl,
2453
- table: table
2454
- }));
2455
- };
2456
-
2457
- var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2458
- var header = _ref.header,
2459
- table = _ref.table;
2460
- return React__default.createElement(material.Box, {
2461
- sx: {
2462
- display: 'grid',
2463
- gridTemplateColumns: '6fr 6fr',
2464
- gap: '1rem'
2465
- }
2466
- }, React__default.createElement(MRT_FilterTextField, {
2467
- header: header,
2468
- rangeFilterIndex: 0,
2469
- table: table
2470
- }), React__default.createElement(MRT_FilterTextField, {
2471
- header: header,
2472
- rangeFilterIndex: 1,
2473
- table: table
2474
- }));
2475
- };
2476
-
2477
- var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer(_ref) {
2478
- var header = _ref.header,
2479
- table = _ref.table;
2480
- var getState = table.getState;
2481
-
2482
- var _getState = getState(),
2483
- currentFilterFns = _getState.currentFilterFns,
2484
- showColumnFilters = _getState.showColumnFilters;
2485
-
2486
- var column = header.column;
2487
- return React__default.createElement(material.Collapse, {
2488
- "in": showColumnFilters,
2489
- mountOnEnter: true,
2490
- unmountOnExit: true
2491
- }, ['between', 'betweenInclusive', 'inNumberRange'].includes(currentFilterFns[column.id]) ? React__default.createElement(MRT_FilterRangeFields, {
2492
- header: header,
2493
- table: table
2494
- }) : React__default.createElement(MRT_FilterTextField, {
2495
- header: header,
2496
- table: table
2497
- }));
2498
- };
2499
-
2500
- var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2501
- var _currentFilterOption$, _column$getFilterValu, _column$getFilterValu2;
2502
-
2503
- var header = _ref.header,
2504
- table = _ref.table;
2505
- var getState = table.getState,
2506
- _table$options = table.options,
2507
- FilterAltIcon = _table$options.icons.FilterAltIcon,
2508
- localization = _table$options.localization;
2509
-
2510
- var _getState = getState(),
2511
- currentFilterFns = _getState.currentFilterFns;
2512
-
2513
- var column = header.column;
2514
- var columnDef = column.columnDef;
2515
- var isRangeFilter = ['between', 'betweenInclusive', 'inNumberRange'].includes(columnDef._filterFn);
2516
- var currentFilterOption = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
2517
- var filterTooltip = localization.filteringByColumn.replace('{column}', String(columnDef.header)).replace('{filterType}', // @ts-ignore
2518
- localization["filter" + ((currentFilterOption == null ? void 0 : (_currentFilterOption$ = currentFilterOption.charAt(0)) == null ? void 0 : _currentFilterOption$.toUpperCase()) + (currentFilterOption == null ? void 0 : currentFilterOption.slice(1)))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + (isRangeFilter ? localization.and : localization.or) + " \"") : column.getFilterValue()) + "\"").replace('" "', '');
2519
- return React__default.createElement(material.Grow, {
2520
- unmountOnExit: true,
2521
- "in": !!column.getFilterValue() && isRangeFilter || !isRangeFilter && ( // @ts-ignore
2522
- !!((_column$getFilterValu = column.getFilterValue()) != null && _column$getFilterValu[0]) || !!((_column$getFilterValu2 = column.getFilterValue()) != null && _column$getFilterValu2[1]))
2523
- }, React__default.createElement("span", null, React__default.createElement(material.Tooltip, {
2524
- arrow: true,
2525
- placement: "top",
2526
- title: filterTooltip
2527
- }, React__default.createElement(material.IconButton, {
2528
- disableRipple: true,
2529
- onClick: function onClick(event) {
2530
- event.stopPropagation();
2531
- },
2532
- size: "small",
2533
- sx: {
2534
- m: 0,
2535
- opacity: 0.8,
2536
- p: '2px',
2537
- transform: 'scale(0.66)',
2538
- width: '1.5ch'
2539
- }
2540
- }, React__default.createElement(FilterAltIcon, null)))));
2541
- };
2542
-
2543
- var MRT_TableHeadCellGrabHandle = function MRT_TableHeadCellGrabHandle(_ref) {
2544
- var column = _ref.column,
2545
- table = _ref.table,
2546
- tableHeadCellRef = _ref.tableHeadCellRef;
2547
- var getState = table.getState,
2548
- _table$options = table.options,
2549
- enableColumnOrdering = _table$options.enableColumnOrdering,
2550
- muiTableHeadCellDragHandleProps = _table$options.muiTableHeadCellDragHandleProps,
2551
- onColumnDrop = _table$options.onColumnDrop,
2552
- setColumnOrder = table.setColumnOrder,
2553
- setCurrentDraggingColumn = table.setCurrentDraggingColumn,
2554
- setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2555
- var columnDef = column.columnDef;
2556
-
2557
- var _getState = getState(),
2558
- currentHoveredColumn = _getState.currentHoveredColumn,
2559
- currentDraggingColumn = _getState.currentDraggingColumn,
2560
- columnOrder = _getState.columnOrder;
2561
-
2562
- var mIconButtonProps = muiTableHeadCellDragHandleProps instanceof Function ? muiTableHeadCellDragHandleProps({
2563
- column: column,
2564
- table: table
2565
- }) : muiTableHeadCellDragHandleProps;
2566
- var mcIconButtonProps = columnDef.muiTableHeadCellDragHandleProps instanceof Function ? columnDef.muiTableHeadCellDragHandleProps({
2567
- column: column,
2568
- table: table
2569
- }) : columnDef.muiTableHeadCellDragHandleProps;
2570
-
2571
- var iconButtonProps = _extends({}, mIconButtonProps, mcIconButtonProps);
2572
-
2573
- var handleDragStart = function handleDragStart(e) {
2574
- setCurrentDraggingColumn(column);
2575
- e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
2576
- };
2577
-
2578
- var handleDragEnd = function handleDragEnd(event) {
2579
- onColumnDrop == null ? void 0 : onColumnDrop({
2580
- event: event,
2581
- draggedColumn: column,
2582
- targetColumn: currentHoveredColumn
2583
- });
2584
-
2585
- if ((currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
2586
- column.toggleGrouping();
2587
- } else if (enableColumnOrdering && currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
2588
- setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
2589
- }
2590
-
2591
- setCurrentDraggingColumn(null);
2592
- setCurrentHoveredColumn(null);
2593
- };
2594
-
2595
- return React__default.createElement(MRT_GrabHandleButton, {
2596
- iconButtonProps: iconButtonProps,
2597
- onDragStart: handleDragStart,
2598
- onDragEnd: handleDragEnd,
2599
- table: table
2600
- });
2601
- };
2602
-
2603
- var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
2604
- var _getState$columnSizin;
2605
-
2606
- var header = _ref.header,
2607
- table = _ref.table;
2608
- var getState = table.getState,
2609
- columnResizeMode = table.options.columnResizeMode;
2610
-
2611
- var _getState = getState(),
2612
- density = _getState.density,
2613
- showColumnFilters = _getState.showColumnFilters;
2614
-
2615
- var column = header.column;
2616
- var columnDef = column.columnDef;
2617
- var columnDefType = columnDef.columnDefType;
2618
- return React__default.createElement(material.Divider, {
2619
- flexItem: true,
2620
- orientation: "vertical",
2621
- onDoubleClick: function onDoubleClick() {
2622
- return column.resetSize();
2623
- },
2624
- sx: function sx(theme) {
2625
- return {
2626
- borderRadius: '2px',
2627
- borderRightWidth: '2px',
2628
- cursor: 'col-resize',
2629
- height: showColumnFilters && columnDefType === 'data' ? '4rem' : '2rem',
2630
- mr: density === 'compact' ? '-0.5rem' : '-1rem',
2631
- opacity: 0.8,
2632
- position: 'absolute',
2633
- right: '1px',
2634
- touchAction: 'none',
2635
- transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2636
- userSelect: 'none',
2637
- zIndex: 4,
2638
- '&:active': {
2639
- backgroundColor: theme.palette.info.main,
2640
- opacity: 1
2641
- }
2642
- };
2643
- },
2644
- onMouseDown: header.getResizeHandler(),
2645
- onTouchStart: header.getResizeHandler(),
2646
- style: {
2647
- transform: column.getIsResizing() ? "translateX(" + ((_getState$columnSizin = getState().columnSizingInfo.deltaOffset) != null ? _getState$columnSizin : 0) / (columnResizeMode === 'onChange' ? 16 : 1) + "px)" : 'none'
2648
- }
2649
- });
2650
- };
2651
-
2652
- var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
2653
- var header = _ref.header,
2654
- table = _ref.table;
2655
- var localization = table.options.localization;
2656
- var column = header.column;
2657
- var columnDef = column.columnDef;
2658
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', columnDef.header) : localization.sortedByColumnAsc.replace('{column}', columnDef.header) : localization.unsorted;
2659
- return React__default.createElement(material.Tooltip, {
2660
- arrow: true,
2661
- placement: "top",
2662
- title: sortTooltip
2663
- }, React__default.createElement(material.TableSortLabel, {
2664
- "aria-label": sortTooltip,
2665
- active: !!column.getIsSorted(),
2666
- direction: column.getIsSorted() ? column.getIsSorted() : undefined,
2667
- sx: {
2668
- width: '2ch',
2669
- transform: 'translateX(-0.5ch)'
2670
- }
2671
- }));
2672
- };
2673
-
2674
- var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2675
- var _ref2, _columnDef$header$len, _columnDef$header;
2676
-
2677
- var header = _ref.header,
2678
- table = _ref.table;
2679
- var theme = material.useTheme();
2680
- var getState = table.getState,
2681
- _table$options = table.options,
2682
- enableColumnActions = _table$options.enableColumnActions,
2683
- enableColumnDragging = _table$options.enableColumnDragging,
2684
- enableColumnOrdering = _table$options.enableColumnOrdering,
2685
- enableColumnResizing = _table$options.enableColumnResizing,
2686
- enableGrouping = _table$options.enableGrouping,
2687
- enableMultiSort = _table$options.enableMultiSort,
2688
- muiTableHeadCellProps = _table$options.muiTableHeadCellProps,
2689
- setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2690
-
2691
- var _getState = getState(),
2692
- density = _getState.density,
2693
- currentDraggingColumn = _getState.currentDraggingColumn,
2694
- currentHoveredColumn = _getState.currentHoveredColumn,
2695
- showColumnFilters = _getState.showColumnFilters;
2696
-
2697
- var column = header.column;
2698
- var columnDef = column.columnDef;
2699
- var columnDefType = columnDef.columnDefType;
2700
- var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps({
2701
- column: column,
2702
- table: table
2703
- }) : muiTableHeadCellProps;
2704
- var mcTableHeadCellProps = columnDef.muiTableHeadCellProps instanceof Function ? columnDef.muiTableHeadCellProps({
2705
- column: column,
2706
- table: table
2707
- }) : columnDef.muiTableHeadCellProps;
2708
-
2709
- var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2710
-
2711
- var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2712
- return column.getIsPinned() === 'left' && table.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2713
- };
2714
-
2715
- var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2716
- return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2717
- };
2718
-
2719
- var getTotalRight = function getTotalRight() {
2720
- return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2721
- };
2722
-
2723
- var handleDragEnter = function handleDragEnter(_e) {
2724
- if (enableGrouping && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
2725
- setCurrentHoveredColumn(null);
2726
- }
2727
-
2728
- if (enableColumnOrdering && currentDraggingColumn) {
2729
- setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2730
- }
2731
- };
2732
-
2733
- var draggingBorder = (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : undefined;
2734
- var draggingBorders = draggingBorder ? {
2735
- borderLeft: draggingBorder,
2736
- borderRight: draggingBorder,
2737
- borderTop: draggingBorder
2738
- } : undefined;
2739
- var headerElement = (_ref2 = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
2740
- header: header,
2741
- table: table
2742
- }) : columnDef == null ? void 0 : columnDef.Header) != null ? _ref2 : columnDef.header;
2743
- var tableHeadCellRef = React__default.useRef(null);
2744
- return React__default.createElement(material.TableCell, Object.assign({
2745
- align: columnDefType === 'group' ? 'center' : 'left',
2746
- colSpan: header.colSpan,
2747
- onDragEnter: handleDragEnter,
2748
- ref: tableHeadCellRef
2749
- }, tableCellProps, {
2750
- sx: function sx(theme) {
2751
- var _columnDef$minSize;
2752
-
2753
- return _extends({
2754
- backgroundColor: column.getIsPinned() && columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2755
- backgroundImage: 'inherit',
2756
- boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
2757
- fontWeight: 'bold',
2758
- left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2759
- overflow: 'visible',
2760
- opacity: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id || (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? 0.5 : 1,
2761
- p: density === 'compact' ? '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
2762
- pb: columnDefType === 'display' ? 0 : showColumnFilters ? '0.5rem' : undefined,
2763
- position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
2764
- pt: columnDefType === 'group' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
2765
- right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2766
- transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2767
- userSelect: enableMultiSort && column.getCanSort() ? 'none' : undefined,
2768
- verticalAlign: 'top',
2769
- zIndex: column.getIsResizing() || (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
2770
- }, (tableCellProps == null ? void 0 : tableCellProps.sx) instanceof Function ? tableCellProps.sx(theme) : tableCellProps == null ? void 0 : tableCellProps.sx, draggingBorders, {
2771
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2772
- minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
2773
- width: header.getSize()
2774
- });
2775
- }
2776
- }), header.isPlaceholder ? null : React__default.createElement(material.Box, {
2777
- sx: {
2778
- alignItems: 'flex-start',
2779
- display: 'flex',
2780
- justifyContent: (tableCellProps == null ? void 0 : tableCellProps.align) === 'right' ? 'flex-end' : columnDefType === 'group' || (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' ? 'center' : 'space-between',
2781
- position: 'relative',
2782
- width: '100%'
2783
- }
2784
- }, React__default.createElement(material.Box, {
2785
- onClick: column.getToggleSortingHandler(),
2786
- sx: {
2787
- alignItems: 'center',
2788
- cursor: column.getCanSort() && columnDefType !== 'group' ? 'pointer' : undefined,
2789
- display: 'flex',
2790
- flexWrap: 'nowrap',
2791
- m: (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' ? 'auto' : undefined,
2792
- pl: (tableCellProps == null ? void 0 : tableCellProps.align) === 'center' && column.getCanSort() ? '1rem' : undefined,
2793
- whiteSpace: ((_columnDef$header$len = (_columnDef$header = columnDef.header) == null ? void 0 : _columnDef$header.length) != null ? _columnDef$header$len : 0) < 24 ? 'nowrap' : 'normal'
2794
- }
2795
- }, headerElement, column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
2796
- header: header,
2797
- table: table
2798
- }), column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterLabel, {
2799
- header: header,
2800
- table: table
2801
- })), columnDefType !== 'group' && React__default.createElement(material.Box, {
2802
- sx: {
2803
- whiteSpace: 'nowrap'
2804
- }
2805
- }, (enableColumnDragging && columnDef.enableColumnDragging !== false || enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React__default.createElement(MRT_TableHeadCellGrabHandle, {
2806
- column: column,
2807
- table: table,
2808
- tableHeadCellRef: tableHeadCellRef
2809
- }), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && React__default.createElement(MRT_TableHeadCellColumnActionsButton, {
2810
- header: header,
2811
- table: table
2812
- })), column.getCanResize() && React__default.createElement(MRT_TableHeadCellResizeHandle, {
2813
- header: header,
2814
- table: table
2815
- })), column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterContainer, {
2816
- header: header,
2817
- table: table
2818
- }));
2819
- };
2820
-
2821
- var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2822
- var headerGroup = _ref.headerGroup,
2823
- table = _ref.table;
2824
- var muiTableHeadRowProps = table.options.muiTableHeadRowProps;
2825
- var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2826
- headerGroup: headerGroup,
2827
- table: table
2828
- }) : muiTableHeadRowProps;
2829
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps, {
2830
- sx: function sx(theme) {
2831
- return _extends({
2832
- boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1),
2833
- backgroundColor: material.lighten(theme.palette.background["default"], 0.04)
2834
- }, tableRowProps == null ? void 0 : tableRowProps.sx);
2835
- }
2836
- }), headerGroup.headers.map(function (header, index) {
2837
- return React__default.createElement(MRT_TableHeadCell, {
2838
- header: header,
2839
- key: header.id || index,
2840
- table: table
2841
- });
2842
- }));
2843
- };
2844
-
2845
- var MRT_TableHead = function MRT_TableHead(_ref) {
2846
- var table = _ref.table;
2847
- var getHeaderGroups = table.getHeaderGroups,
2848
- muiTableHeadProps = table.options.muiTableHeadProps;
2849
- var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2850
- table: table
2851
- }) : muiTableHeadProps;
2852
- return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2853
- return React__default.createElement(MRT_TableHeadRow, {
2854
- headerGroup: headerGroup,
2855
- key: headerGroup.id,
2856
- table: table
2857
- });
2858
- }));
2859
- };
2860
-
2861
- var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2862
- var cell = _ref.cell,
2863
- table = _ref.table;
2864
- var getState = table.getState,
2865
- _table$options = table.options,
2866
- tableId = _table$options.tableId,
2867
- enableEditing = _table$options.enableEditing,
2868
- muiTableBodyCellEditTextFieldProps = _table$options.muiTableBodyCellEditTextFieldProps,
2869
- onCellEditBlur = _table$options.onCellEditBlur,
2870
- onCellEditChange = _table$options.onCellEditChange,
2871
- setCurrentEditingCell = table.setCurrentEditingCell,
2872
- setCurrentEditingRow = table.setCurrentEditingRow;
2873
- var column = cell.column,
2874
- row = cell.row;
2875
- var columnDef = column.columnDef;
2876
-
2877
- var _useState = React.useState(cell.getValue()),
2878
- value = _useState[0],
2879
- setValue = _useState[1];
2880
-
2881
- var handleChange = function handleChange(event) {
2882
- setValue(event.target.value);
2883
- columnDef.onCellEditChange == null ? void 0 : columnDef.onCellEditChange({
2884
- event: event,
2885
- cell: cell,
2886
- table: table
2887
- });
2888
- onCellEditChange == null ? void 0 : onCellEditChange({
2889
- event: event,
2890
- cell: cell,
2891
- table: table
2892
- });
2893
- };
2894
-
2895
- var handleBlur = function handleBlur(event) {
2896
- if (getState().currentEditingRow) {
2897
- if (!row._valuesCache) row._valuesCache = {};
2898
- row._valuesCache[column.id] = value;
2899
- setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2900
- }
2901
-
2902
- setCurrentEditingCell(null);
2903
- columnDef.onCellEditBlur == null ? void 0 : columnDef.onCellEditBlur({
2904
- event: event,
2905
- cell: cell,
2906
- table: table
2907
- });
2908
- onCellEditBlur == null ? void 0 : onCellEditBlur({
2909
- event: event,
2910
- cell: cell,
2911
- table: table
2912
- });
2913
- };
2914
-
2915
- var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps({
2916
- cell: cell,
2917
- table: table
2918
- }) : muiTableBodyCellEditTextFieldProps;
2919
- var mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function ? columnDef.muiTableBodyCellEditTextFieldProps({
2920
- cell: cell,
2921
- table: table
2922
- }) : columnDef.muiTableBodyCellEditTextFieldProps;
2923
-
2924
- var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps);
2925
-
2926
- if (enableEditing && columnDef.enableEditing !== false && columnDef.Edit) {
2927
- return React__default.createElement(React__default.Fragment, null, columnDef.Edit == null ? void 0 : columnDef.Edit({
2928
- cell: cell,
2929
- table: table
2930
- }));
2931
- }
2932
-
2933
- return React__default.createElement(material.TextField, Object.assign({
2934
- id: "mrt-" + tableId + "-edit-cell-text-field-" + cell.id,
2935
- margin: "dense",
2936
- onBlur: handleBlur,
2937
- onChange: handleChange,
2938
- onClick: function onClick(e) {
2939
- return e.stopPropagation();
2940
- },
2941
- placeholder: columnDef.header,
2942
- value: value,
2943
- variant: "standard"
2944
- }, textFieldProps));
2945
- };
2946
-
2947
- var MRT_CopyButton = function MRT_CopyButton(_ref) {
2948
- var cell = _ref.cell,
2949
- children = _ref.children,
2950
- table = _ref.table;
2951
- var _table$options = table.options,
2952
- localization = _table$options.localization,
2953
- muiTableBodyCellCopyButtonProps = _table$options.muiTableBodyCellCopyButtonProps;
2954
- var column = cell.column;
2955
- var columnDef = column.columnDef;
2956
-
2957
- var _useState = React.useState(false),
2958
- copied = _useState[0],
2959
- setCopied = _useState[1];
2960
-
2961
- var handleCopy = function handleCopy(text) {
2962
- navigator.clipboard.writeText(text);
2963
- setCopied(true);
2964
- setTimeout(function () {
2965
- return setCopied(false);
2966
- }, 4000);
2967
- };
2968
-
2969
- var mTableBodyCellCopyButtonProps = muiTableBodyCellCopyButtonProps instanceof Function ? muiTableBodyCellCopyButtonProps({
2970
- cell: cell,
2971
- table: table
2972
- }) : muiTableBodyCellCopyButtonProps;
2973
- var mcTableBodyCellCopyButtonProps = columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? columnDef.muiTableBodyCellCopyButtonProps({
2974
- cell: cell,
2975
- table: table
2976
- }) : columnDef.muiTableBodyCellCopyButtonProps;
2977
-
2978
- var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
2979
-
2980
- return React__default.createElement(material.Tooltip, {
2981
- arrow: true,
2982
- enterDelay: 1000,
2983
- enterNextDelay: 1000,
2984
- placement: "top",
2985
- title: copied ? localization.copiedToClipboard : localization.clickToCopy
2986
- }, React__default.createElement(material.Button, Object.assign({
2987
- onClick: function onClick() {
2988
- return handleCopy(cell.getValue());
2989
- },
2990
- size: "small",
2991
- type: "button",
2992
- variant: "text"
2993
- }, buttonProps, {
2994
- sx: function sx(theme) {
2995
- return _extends({
2996
- backgroundColor: 'transparent',
2997
- border: 'none',
2998
- color: 'inherit',
2999
- cursor: 'copy',
3000
- fontFamily: 'inherit',
3001
- fontSize: 'inherit',
3002
- letterSpacing: 'inherit',
3003
- m: '-0.25rem',
3004
- minWidth: 'unset',
3005
- textAlign: 'inherit',
3006
- textTransform: 'inherit'
3007
- }, (buttonProps == null ? void 0 : buttonProps.sx) instanceof Function ? buttonProps.sx(theme) : buttonProps == null ? void 0 : buttonProps.sx);
3008
- }
3009
- }), children));
3010
- };
3011
-
3012
- var MRT_TableBodyRowGrabHandle = function MRT_TableBodyRowGrabHandle(_ref) {
3013
- var cell = _ref.cell,
3014
- rowRef = _ref.rowRef,
3015
- table = _ref.table;
3016
- var _table$options = table.options,
3017
- muiTableBodyRowDragHandleProps = _table$options.muiTableBodyRowDragHandleProps,
3018
- onRowDrop = _table$options.onRowDrop;
3019
- var iconButtonProps = muiTableBodyRowDragHandleProps instanceof Function ? muiTableBodyRowDragHandleProps({
3020
- row: cell.row,
3021
- table: table
3022
- }) : muiTableBodyRowDragHandleProps;
3023
-
3024
- var handleDragStart = function handleDragStart(e) {
3025
- e.dataTransfer.setDragImage(rowRef.current, 0, 0);
3026
- table.setCurrentDraggingRow(cell.row);
3027
- };
3028
-
3029
- var handleDragEnd = function handleDragEnd(event) {
3030
- onRowDrop == null ? void 0 : onRowDrop({
3031
- event: event,
3032
- draggedRow: table.getState().currentDraggingRow,
3033
- targetRow: table.getState().currentHoveredRow
3034
- });
3035
- table.setCurrentDraggingRow(null);
3036
- table.setCurrentHoveredRow(null);
3037
- };
3038
-
3039
- return React__default.createElement(MRT_GrabHandleButton, {
3040
- iconButtonProps: iconButtonProps,
3041
- onDragStart: handleDragStart,
3042
- onDragEnd: handleDragEnd,
3043
- table: table
3044
- });
3045
- };
3046
-
3047
- var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
3048
- var _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
3049
-
3050
- var cell = _ref.cell,
3051
- enableHover = _ref.enableHover,
3052
- rowIndex = _ref.rowIndex,
3053
- rowRef = _ref.rowRef,
3054
- table = _ref.table;
3055
- var theme = material.useTheme();
3056
- var getState = table.getState,
3057
- _table$options = table.options,
3058
- editingMode = _table$options.editingMode,
3059
- enableClickToCopy = _table$options.enableClickToCopy,
3060
- enableColumnOrdering = _table$options.enableColumnOrdering,
3061
- enableEditing = _table$options.enableEditing,
3062
- enableGrouping = _table$options.enableGrouping,
3063
- enablePagination = _table$options.enablePagination,
3064
- enableRowNumbers = _table$options.enableRowNumbers,
3065
- muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
3066
- muiTableBodyCellSkeletonProps = _table$options.muiTableBodyCellSkeletonProps,
3067
- rowNumberMode = _table$options.rowNumberMode,
3068
- tableId = _table$options.tableId,
3069
- setCurrentEditingCell = table.setCurrentEditingCell,
3070
- setCurrentHoveredColumn = table.setCurrentHoveredColumn;
3071
-
3072
- var _getState = getState(),
3073
- currentDraggingColumn = _getState.currentDraggingColumn,
3074
- currentEditingCell = _getState.currentEditingCell,
3075
- currentEditingRow = _getState.currentEditingRow,
3076
- currentHoveredColumn = _getState.currentHoveredColumn,
3077
- density = _getState.density,
3078
- isLoading = _getState.isLoading,
3079
- showSkeletons = _getState.showSkeletons;
3080
-
3081
- var column = cell.column,
3082
- row = cell.row;
3083
- var columnDef = column.columnDef;
3084
- var columnDefType = columnDef.columnDefType;
3085
- var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
3086
- cell: cell,
3087
- table: table
3088
- }) : muiTableBodyCellProps;
3089
- var mcTableCellBodyProps = columnDef.muiTableBodyCellProps instanceof Function ? columnDef.muiTableBodyCellProps({
3090
- cell: cell,
3091
- table: table
3092
- }) : columnDef.muiTableBodyCellProps;
3093
-
3094
- var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
3095
-
3096
- var skeletonWidth = React.useMemo(function () {
3097
- return columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
3098
- }, []);
3099
- var isEditable = (enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false;
3100
- var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
3101
-
3102
- var handleDoubleClick = function handleDoubleClick(_event) {
3103
- if ((enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false && editingMode === 'cell') {
3104
- setCurrentEditingCell(cell);
3105
- setTimeout(function () {
3106
- var textField = document.getElementById("mrt-" + tableId + "-edit-cell-text-field-" + cell.id);
3107
-
3108
- if (textField) {
3109
- textField.focus();
3110
- textField.select();
3111
- }
3112
- }, 200);
3113
- }
3114
- };
3115
-
3116
- var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
3117
- return column.getIsPinned() === 'left' && table.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
3118
- };
3119
-
3120
- var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
3121
- return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
3122
- };
3123
-
3124
- var getTotalRight = function getTotalRight() {
3125
- return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
3126
- };
3127
-
3128
- var handleDragEnter = function handleDragEnter(_e) {
3129
- if (enableGrouping && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
3130
- setCurrentHoveredColumn(null);
3131
- }
3132
-
3133
- if (enableColumnOrdering && currentDraggingColumn) {
3134
- setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
3135
- }
3136
- };
3137
-
3138
- var draggingBorder = (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : undefined;
3139
- var draggingBorders = draggingBorder ? {
3140
- borderLeft: draggingBorder,
3141
- borderRight: draggingBorder,
3142
- borderBottom: row.index === (enablePagination ? table.getRowModel() : table.getPrePaginationRowModel()).rows.length - 1 ? draggingBorder : undefined
3143
- } : undefined;
3144
- return React__default.createElement(material.TableCell, Object.assign({
3145
- onDoubleClick: handleDoubleClick,
3146
- onDragEnter: handleDragEnter
3147
- }, tableCellProps, {
3148
- sx: function sx(theme) {
3149
- var _columnDef$minSize;
3150
-
3151
- return _extends({
3152
- backgroundColor: column.getIsPinned() ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
3153
- boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
3154
- cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
3155
- left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
3156
- opacity: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id || (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? 0.5 : 1,
3157
- overflow: 'hidden',
3158
- p: density === 'compact' ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
3159
- pl: column.id === 'mrt-row-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
3160
- position: column.getIsPinned() ? 'sticky' : 'relative',
3161
- right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
3162
- textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
3163
- transition: 'all 0.2s ease-in-out',
3164
- whiteSpace: density === 'compact' ? 'nowrap' : 'normal',
3165
- zIndex: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? 2 : column.getIsPinned() ? 1 : undefined,
3166
- '&:hover': {
3167
- backgroundColor: enableHover && enableEditing && editingMode !== 'row' ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
3168
- }
3169
- }, (tableCellProps == null ? void 0 : tableCellProps.sx) instanceof Function ? tableCellProps.sx(theme) : tableCellProps == null ? void 0 : tableCellProps.sx, draggingBorders, {
3170
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
3171
- minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
3172
- width: column.getSize()
3173
- });
3174
- }
3175
- }), React__default.createElement(React__default.Fragment, null, cell.getIsPlaceholder() ? null : isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
3176
- animation: "wave",
3177
- height: 20,
3178
- width: skeletonWidth
3179
- }, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : column.id === 'mrt-row-drag' ? React__default.createElement(MRT_TableBodyRowGrabHandle, {
3180
- cell: cell,
3181
- rowRef: rowRef,
3182
- table: table
3183
- }) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
3184
- cell: cell,
3185
- table: table
3186
- }) : isEditing ? React__default.createElement(MRT_EditCellTextField, {
3187
- cell: cell,
3188
- table: table
3189
- }) : (enableClickToCopy || columnDef.enableClickToCopy) && columnDef.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
3190
- cell: cell,
3191
- table: table
3192
- }, React__default.createElement(React__default.Fragment, null, (_columnDef$Cell = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
3193
- cell: cell,
3194
- table: table
3195
- })) != null ? _columnDef$Cell : cell.renderValue())), cell.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, (_columnDef$Cell2 = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
3196
- cell: cell,
3197
- table: table
3198
- })) != null ? _columnDef$Cell2 : cell.renderValue(), cell.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
3199
- };
3200
-
3201
- var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
3202
- var row = _ref.row,
3203
- table = _ref.table;
3204
- var getVisibleLeafColumns = table.getVisibleLeafColumns,
3205
- _table$options = table.options,
3206
- muiTableBodyRowProps = _table$options.muiTableBodyRowProps,
3207
- muiTableDetailPanelProps = _table$options.muiTableDetailPanelProps,
3208
- renderDetailPanel = _table$options.renderDetailPanel;
3209
- var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
3210
- row: row,
3211
- table: table
3212
- }) : muiTableBodyRowProps;
3213
- var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps({
3214
- row: row,
3215
- table: table
3216
- }) : muiTableDetailPanelProps;
3217
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), React__default.createElement(material.TableCell, Object.assign({
3218
- colSpan: getVisibleLeafColumns().length
3219
- }, tableCellProps, {
3220
- sx: function sx(theme) {
3221
- return _extends({
3222
- borderBottom: !row.getIsExpanded() ? 'none' : undefined,
3223
- pb: row.getIsExpanded() ? '1rem' : 0,
3224
- pt: row.getIsExpanded() ? '1rem' : 0,
3225
- transition: 'all 0.2s ease-in-out',
3226
- width: table.getTotalSize() + "px"
3227
- }, (tableCellProps == null ? void 0 : tableCellProps.sx) instanceof Function ? tableCellProps.sx(theme) : tableCellProps == null ? void 0 : tableCellProps.sx);
3228
- }
3229
- }), renderDetailPanel && React__default.createElement(material.Collapse, {
3230
- "in": row.getIsExpanded()
3231
- }, renderDetailPanel({
3232
- row: row,
3233
- table: table
3234
- }))));
3235
- };
3236
-
3237
- var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
3238
- var _row$getVisibleCells;
3239
-
3240
- var row = _ref.row,
3241
- rowIndex = _ref.rowIndex,
3242
- table = _ref.table;
3243
- var theme = material.useTheme();
3244
- var getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
3245
- getState = table.getState,
3246
- _table$options = table.options,
3247
- enableRowOrdering = _table$options.enableRowOrdering,
3248
- muiTableBodyRowProps = _table$options.muiTableBodyRowProps,
3249
- renderDetailPanel = _table$options.renderDetailPanel,
3250
- setCurrentHoveredRow = table.setCurrentHoveredRow;
3251
-
3252
- var _getState = getState(),
3253
- currentDraggingRow = _getState.currentDraggingRow,
3254
- currentHoveredRow = _getState.currentHoveredRow;
3255
-
3256
- var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
3257
- row: row,
3258
- table: table
3259
- }) : muiTableBodyRowProps;
3260
-
3261
- var handleDragEnter = function handleDragEnter(_e) {
3262
- if (enableRowOrdering && currentDraggingRow) {
3263
- setCurrentHoveredRow(row);
3264
- }
3265
- };
3266
-
3267
- var rowRef = React.useRef(null);
3268
- var draggingBorder = (currentDraggingRow == null ? void 0 : currentDraggingRow.id) === row.id ? "1px dashed " + theme.palette.divider : (currentHoveredRow == null ? void 0 : currentHoveredRow.id) === row.id ? "2px dashed " + theme.palette.primary.main : undefined;
3269
- var draggingBorders = draggingBorder ? {
3270
- border: draggingBorder
3271
- } : undefined;
3272
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
3273
- onDragEnter: handleDragEnter,
3274
- hover: true,
3275
- selected: row.getIsSelected(),
3276
- ref: rowRef
3277
- }, tableRowProps, {
3278
- sx: function sx(theme) {
3279
- return _extends({
3280
- backgroundColor: material.lighten(theme.palette.background["default"], 0.06),
3281
- opacity: (currentDraggingRow == null ? void 0 : currentDraggingRow.id) === row.id || (currentHoveredRow == null ? void 0 : currentHoveredRow.id) === row.id ? 0.5 : 1,
3282
- transition: 'all 0.2s ease-in-out',
3283
- '&:hover td': {
3284
- backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned() ? theme.palette.mode === 'dark' ? "" + material.lighten(theme.palette.background["default"], 0.12) : "" + material.darken(theme.palette.background["default"], 0.05) : undefined
3285
- }
3286
- }, (tableRowProps == null ? void 0 : tableRowProps.sx) instanceof Function ? tableRowProps.sx(theme) : tableRowProps == null ? void 0 : tableRowProps.sx, draggingBorders);
3287
- }
3288
- }), row == null ? void 0 : (_row$getVisibleCells = row.getVisibleCells()) == null ? void 0 : _row$getVisibleCells.map == null ? void 0 : _row$getVisibleCells.map(function (cell) {
3289
- return React__default.createElement(MRT_TableBodyCell, {
3290
- cell: cell,
3291
- key: cell.id,
3292
- enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
3293
- rowIndex: rowIndex,
3294
- rowRef: rowRef,
3295
- table: table
3296
- });
3297
- })), renderDetailPanel && !row.getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
3298
- row: row,
3299
- table: table
3300
- }));
3301
- };
3302
-
3303
- var MRT_TableBody = function MRT_TableBody(_ref) {
3304
- var table = _ref.table,
3305
- tableContainerRef = _ref.tableContainerRef;
3306
- var getRowModel = table.getRowModel,
3307
- getPrePaginationRowModel = table.getPrePaginationRowModel,
3308
- getState = table.getState,
3309
- _table$options = table.options,
3310
- enableGlobalFilterRankedResults = _table$options.enableGlobalFilterRankedResults,
3311
- enablePagination = _table$options.enablePagination,
3312
- enableRowVirtualization = _table$options.enableRowVirtualization,
3313
- muiTableBodyProps = _table$options.muiTableBodyProps,
3314
- virtualizerProps = _table$options.virtualizerProps;
3315
-
3316
- var _getState = getState(),
3317
- density = _getState.density,
3318
- globalFilter = _getState.globalFilter,
3319
- pagination = _getState.pagination,
3320
- sorting = _getState.sorting;
3321
-
3322
- var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
3323
- table: table
3324
- }) : muiTableBodyProps;
3325
-
3326
- var getIsSomeColumnsSorted = function getIsSomeColumnsSorted() {
3327
- return Object.values(sorting).some(Boolean);
3328
- };
3329
-
3330
- var rows = React.useMemo(function () {
3331
- if (enableGlobalFilterRankedResults && globalFilter && !getIsSomeColumnsSorted()) {
3332
- var rankedRows = getPrePaginationRowModel().rows.sort(function (a, b) {
3333
- return rankGlobalFuzzy(a, b);
3334
- });
3335
-
3336
- if (enablePagination) {
3337
- return rankedRows.slice(0, pagination.pageSize);
3338
- }
3339
-
3340
- return rankedRows;
3341
- }
3342
-
3343
- return enablePagination ? getRowModel().rows : getPrePaginationRowModel().rows;
3344
- }, [enableGlobalFilterRankedResults, enableGlobalFilterRankedResults && globalFilter || !enablePagination ? getPrePaginationRowModel().rows : getRowModel().rows, globalFilter]);
3345
- var rowVirtualizer = enableRowVirtualization ? reactVirtual.useVirtualizer(_extends({
3346
- estimateSize: function estimateSize() {
3347
- return density === 'compact' ? 25 : 50;
3348
- },
3349
- overscan: density === 'compact' ? 30 : 10,
3350
- getScrollElement: function getScrollElement() {
3351
- return tableContainerRef.current;
3352
- },
3353
- count: rows.length
3354
- }, virtualizerProps)) : {};
3355
- var virtualRows = enableRowVirtualization ? rowVirtualizer.getVirtualItems() : [];
3356
- var paddingTop = 0;
3357
- var paddingBottom = 0;
3358
-
3359
- if (enableRowVirtualization) {
3360
- paddingTop = !!virtualRows.length ? virtualRows[0].start : 0;
3361
- paddingBottom = !!virtualRows.length ? rowVirtualizer.getTotalSize() - virtualRows[virtualRows.length - 1].end : 0;
3362
- }
3363
-
3364
- return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), enableRowVirtualization && paddingTop > 0 && React__default.createElement("tr", null, React__default.createElement("td", {
3365
- style: {
3366
- height: paddingTop + "px"
3367
- }
3368
- })), (enableRowVirtualization ? virtualRows : rows).map(function (rowOrVirtualRow, rowIndex) {
3369
- var row = enableRowVirtualization ? rows[rowOrVirtualRow.index] : rowOrVirtualRow;
3370
- return React__default.createElement(MRT_TableBodyRow, {
3371
- key: row.id,
3372
- row: row,
3373
- rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex,
3374
- table: table
3375
- });
3376
- }), enableRowVirtualization && paddingBottom > 0 && React__default.createElement("tr", null, React__default.createElement("td", {
3377
- style: {
3378
- height: paddingBottom + "px"
3379
- }
3380
- })));
3381
- };
3382
-
3383
- var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
3384
- var _ref2, _ref3;
3385
-
3386
- var footer = _ref.footer,
3387
- table = _ref.table;
3388
- var getState = table.getState,
3389
- _table$options = table.options,
3390
- muiTableFooterCellProps = _table$options.muiTableFooterCellProps,
3391
- enableColumnResizing = _table$options.enableColumnResizing;
3392
-
3393
- var _getState = getState(),
3394
- density = _getState.density;
3395
-
3396
- var column = footer.column;
3397
- var columnDef = column.columnDef;
3398
- var columnDefType = columnDef.columnDefType;
3399
- var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps({
3400
- column: column,
3401
- table: table
3402
- }) : muiTableFooterCellProps;
3403
- var mcTableFooterCellProps = columnDef.muiTableFooterCellProps instanceof Function ? columnDef.muiTableFooterCellProps({
3404
- column: column,
3405
- table: table
3406
- }) : columnDef.muiTableFooterCellProps;
3407
-
3408
- var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
3409
-
3410
- return React__default.createElement(material.TableCell, Object.assign({
3411
- align: columnDefType === 'group' ? 'center' : 'left',
3412
- colSpan: footer.colSpan,
3413
- variant: "head"
3414
- }, tableCellProps, {
3415
- sx: function sx(theme) {
3416
- return _extends({
3417
- backgroundColor: theme.palette.background["default"],
3418
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
3419
- fontWeight: 'bold',
3420
- maxWidth: column.getSize() + "px",
3421
- minWidth: column.getSize() + "px",
3422
- p: density === 'compact' ? '0.5rem' : density === 'comfortable' ? '1rem' : '1.5rem',
3423
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
3424
- width: column.getSize(),
3425
- verticalAlign: 'text-top'
3426
- }, (tableCellProps == null ? void 0 : tableCellProps.sx) instanceof Function ? tableCellProps.sx(theme) : tableCellProps == null ? void 0 : tableCellProps.sx);
3427
- }
3428
- }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = columnDef.Footer instanceof Function ? columnDef.Footer == null ? void 0 : columnDef.Footer({
3429
- footer: footer,
3430
- table: table
3431
- }) : columnDef.Footer) != null ? _ref3 : columnDef.footer) != null ? _ref2 : null));
3432
- };
3433
-
3434
- var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
3435
- var _footerGroup$headers;
3436
-
3437
- var footerGroup = _ref.footerGroup,
3438
- table = _ref.table;
3439
- var muiTableFooterRowProps = table.options.muiTableFooterRowProps; // if no content in row, skip row
3440
-
3441
- if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (header) {
3442
- return typeof header.column.columnDef.footer === 'string' && !!header.column.columnDef.footer || header.column.columnDef.Footer;
3443
- }))) return null;
3444
- var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
3445
- footerGroup: footerGroup,
3446
- table: table
3447
- }) : muiTableFooterRowProps;
3448
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
3449
- return React__default.createElement(MRT_TableFooterCell, {
3450
- footer: footer,
3451
- key: footer.id,
3452
- table: table
3453
- });
3454
- }));
3455
- };
3456
-
3457
- var MRT_TableFooter = function MRT_TableFooter(_ref) {
3458
- var table = _ref.table;
3459
- var getFooterGroups = table.getFooterGroups,
3460
- muiTableFooterProps = table.options.muiTableFooterProps;
3461
- var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
3462
- table: table
3463
- }) : muiTableFooterProps;
3464
- return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroups().map(function (footerGroup) {
3465
- return React__default.createElement(MRT_TableFooterRow, {
3466
- footerGroup: footerGroup,
3467
- key: footerGroup.id,
3468
- table: table
3469
- });
3470
- }));
3471
- };
3472
-
3473
- var MRT_Table = function MRT_Table(_ref) {
3474
- var tableContainerRef = _ref.tableContainerRef,
3475
- table = _ref.table;
3476
- var getState = table.getState,
3477
- _table$options = table.options,
3478
- enableColumnResizing = _table$options.enableColumnResizing,
3479
- enableRowVirtualization = _table$options.enableRowVirtualization,
3480
- enableStickyHeader = _table$options.enableStickyHeader,
3481
- enableTableFooter = _table$options.enableTableFooter,
3482
- enableTableHead = _table$options.enableTableHead,
3483
- muiTableProps = _table$options.muiTableProps;
3484
-
3485
- var _getState = getState(),
3486
- isFullScreen = _getState.isFullScreen;
3487
-
3488
- var tableProps = muiTableProps instanceof Function ? muiTableProps({
3489
- table: table
3490
- }) : muiTableProps;
3491
- return React__default.createElement(material.Table, Object.assign({
3492
- stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen
3493
- }, tableProps, {
3494
- sx: function sx(theme) {
3495
- return _extends({
3496
- tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto'
3497
- }, (tableProps == null ? void 0 : tableProps.sx) instanceof Function ? tableProps.sx(theme) : tableProps == null ? void 0 : tableProps.sx);
3498
- }
3499
- }), enableTableHead && React__default.createElement(MRT_TableHead, {
3500
- table: table
3501
- }), React__default.createElement(MRT_TableBody, {
3502
- tableContainerRef: tableContainerRef,
3503
- table: table
3504
- }), enableTableFooter && React__default.createElement(MRT_TableFooter, {
3505
- table: table
3506
- }));
3507
- };
3508
-
3509
- var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
3510
- var MRT_TableContainer = function MRT_TableContainer(_ref) {
3511
- var table = _ref.table;
3512
- var getState = table.getState,
3513
- _table$options = table.options,
3514
- enableStickyHeader = _table$options.enableStickyHeader,
3515
- enableRowVirtualization = _table$options.enableRowVirtualization,
3516
- muiTableContainerProps = _table$options.muiTableContainerProps,
3517
- tableId = _table$options.tableId;
3518
-
3519
- var _getState = getState(),
3520
- isFullScreen = _getState.isFullScreen;
3521
-
3522
- var _useState = React.useState(0),
3523
- totalToolbarHeight = _useState[0],
3524
- setTotalToolbarHeight = _useState[1];
3525
-
3526
- var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
3527
- table: table
3528
- }) : muiTableContainerProps;
3529
- useIsomorphicLayoutEffect(function () {
3530
- var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
3531
-
3532
- var topToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB = (_document = document) == null ? void 0 : (_document$getElementB2 = _document.getElementById("mrt-" + tableId + "-toolbar-top")) == null ? void 0 : _document$getElementB2.offsetHeight) != null ? _document$getElementB : 0 : 0;
3533
- var bottomToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB3 = (_document2 = document) == null ? void 0 : (_document2$getElement = _document2.getElementById("mrt-" + tableId + "-toolbar-bottom")) == null ? void 0 : _document2$getElement.offsetHeight) != null ? _document$getElementB3 : 0 : 0;
3534
- setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
3535
- });
3536
- var tableContainerRef = React__default.useRef(null);
3537
- return React__default.createElement(material.TableContainer, Object.assign({
3538
- ref: tableContainerRef
3539
- }, tableContainerProps, {
3540
- sx: function sx(theme) {
3541
- return _extends({
3542
- maxWidth: '100%',
3543
- maxHeight: enableStickyHeader || enableRowVirtualization ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 9999px)" : undefined,
3544
- overflow: 'auto'
3545
- }, (tableContainerProps == null ? void 0 : tableContainerProps.sx) instanceof Function ? tableContainerProps.sx(theme) : tableContainerProps == null ? void 0 : tableContainerProps.sx);
3546
- },
3547
- style: _extends({
3548
- maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
3549
- }, tableContainerProps == null ? void 0 : tableContainerProps.style)
3550
- }), React__default.createElement(MRT_Table, {
3551
- tableContainerRef: tableContainerRef,
3552
- table: table
3553
- }));
3554
- };
3555
-
3556
- var MRT_TablePaper = function MRT_TablePaper(_ref) {
3557
- var table = _ref.table;
3558
- var getState = table.getState,
3559
- _table$options = table.options,
3560
- enableToolbarBottom = _table$options.enableToolbarBottom,
3561
- enableToolbarTop = _table$options.enableToolbarTop,
3562
- muiTablePaperProps = _table$options.muiTablePaperProps;
3563
-
3564
- var _getState = getState(),
3565
- isFullScreen = _getState.isFullScreen;
3566
-
3567
- React.useEffect(function () {
3568
- if (typeof window !== 'undefined') {
3569
- if (isFullScreen) {
3570
- document.body.style.height = '100vh';
3571
- } else {
3572
- document.body.style.height = 'auto';
3573
- }
3574
- }
3575
- }, [isFullScreen]);
3576
- var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
3577
- table: table
3578
- }) : muiTablePaperProps;
3579
- return React__default.createElement(material.Paper, Object.assign({
3580
- elevation: 2
3581
- }, tablePaperProps, {
3582
- sx: _extends({
3583
- transition: 'all 0.2s ease-in-out'
3584
- }, tablePaperProps == null ? void 0 : tablePaperProps.sx),
3585
- style: _extends({}, tablePaperProps == null ? void 0 : tablePaperProps.style, {
3586
- height: isFullScreen ? '100vh' : undefined,
3587
- margin: isFullScreen ? '0' : undefined,
3588
- maxHeight: isFullScreen ? '100vh' : undefined,
3589
- maxWidth: isFullScreen ? '100vw' : undefined,
3590
- padding: isFullScreen ? '0' : undefined,
3591
- width: isFullScreen ? '100vw' : undefined
3592
- })
3593
- }), enableToolbarTop && React__default.createElement(MRT_ToolbarTop, {
3594
- table: table
3595
- }), React__default.createElement(MRT_TableContainer, {
3596
- table: table
3597
- }), enableToolbarBottom && React__default.createElement(MRT_ToolbarBottom, {
3598
- table: table
3599
- }));
3600
- };
3601
-
3602
- var defaultDisplayColumnDefOptions = {
3603
- columnDefType: 'display',
3604
- enableClickToCopy: false,
3605
- enableColumnActions: false,
3606
- enableColumnDragging: false,
3607
- enableColumnFilter: false,
3608
- enableColumnOrdering: false,
3609
- enableEditing: false,
3610
- enableGlobalFilter: false,
3611
- enableGrouping: false,
3612
- enableHiding: false,
3613
- enablePinning: false,
3614
- enableResizing: false,
3615
- enableSorting: false
3616
- };
3617
- var MRT_TableRoot = function MRT_TableRoot(props) {
3618
- var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$current3, _initialState$current4, _initialState$current5, _initialState$current6, _initialState$density, _initialState$isFullS, _props$initialState$s, _props$initialState2, _initialState$showCol, _initialState$showGlo, _props$state3, _props$state4, _MRT_FilterFns$curren, _props$onCurrentDragg, _props$onCurrentDragg2, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onCurrentHover, _props$onCurrentHover2, _props$onDensityChang, _props$onIsFullScreen, _props$onShowAlertBan, _props$onShowFiltersC, _props$onShowGlobalFi;
3619
-
3620
- var _useState = React.useState(props.tableId),
3621
- tableId = _useState[0],
3622
- setIdPrefix = _useState[1];
3623
-
3624
- React.useEffect(function () {
3625
- var _props$tableId;
3626
-
3627
- return setIdPrefix((_props$tableId = props.tableId) != null ? _props$tableId : Math.random().toString(36).substring(2, 9));
3628
- }, [props.tableId]);
3629
- var initialState = React.useMemo(function () {
3630
- var _props$initialState, _initState$columnOrde;
3631
-
3632
- var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
3633
- initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
3634
- return initState;
3635
- }, []);
3636
-
3637
- var _useState2 = React.useState((_initialState$columnO = initialState.columnOrder) != null ? _initialState$columnO : []),
3638
- columnOrder = _useState2[0],
3639
- setColumnOrder = _useState2[1];
3640
-
3641
- var _useState3 = React.useState((_initialState$current = initialState.currentDraggingColumn) != null ? _initialState$current : null),
3642
- currentDraggingColumn = _useState3[0],
3643
- setCurrentDraggingColumn = _useState3[1];
3644
-
3645
- var _useState4 = React.useState((_initialState$current2 = initialState.currentDraggingRow) != null ? _initialState$current2 : null),
3646
- currentDraggingRow = _useState4[0],
3647
- setCurrentDraggingRow = _useState4[1];
3648
-
3649
- var _useState5 = React.useState((_initialState$current3 = initialState.currentEditingCell) != null ? _initialState$current3 : null),
3650
- currentEditingCell = _useState5[0],
3651
- setCurrentEditingCell = _useState5[1];
3652
-
3653
- var _useState6 = React.useState((_initialState$current4 = initialState.currentEditingRow) != null ? _initialState$current4 : null),
3654
- currentEditingRow = _useState6[0],
3655
- setCurrentEditingRow = _useState6[1];
3656
-
3657
- var _useState7 = React.useState((_initialState$current5 = initialState.currentHoveredColumn) != null ? _initialState$current5 : null),
3658
- currentHoveredColumn = _useState7[0],
3659
- setCurrentHoveredColumn = _useState7[1];
3660
-
3661
- var _useState8 = React.useState((_initialState$current6 = initialState.currentHoveredRow) != null ? _initialState$current6 : null),
3662
- currentHoveredRow = _useState8[0],
3663
- setCurrentHoveredRow = _useState8[1];
3664
-
3665
- var _useState9 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3666
- density = _useState9[0],
3667
- setDensity = _useState9[1];
3668
-
3669
- var _useState10 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3670
- isFullScreen = _useState10[0],
3671
- setIsFullScreen = _useState10[1];
3672
-
3673
- var _useState11 = React.useState((_props$initialState$s = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.showAlertBanner) != null ? _props$initialState$s : false),
3674
- showAlertBanner = _useState11[0],
3675
- setShowAlertBanner = _useState11[1];
3676
-
3677
- var _useState12 = React.useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3678
- showColumnFilters = _useState12[0],
3679
- setShowFilters = _useState12[1];
3680
-
3681
- var _useState13 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3682
- showGlobalFilter = _useState13[0],
3683
- setShowGlobalFilter = _useState13[1];
3684
-
3685
- var _useState14 = React.useState(function () {
3686
- return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (col) {
3687
- var _ref, _col$id$toString, _col$id, _col$accessorKey, _col$filterFn$name, _ref2, _col$filterFn, _initialState$current7, _ref3, _col$id$toString2, _col$id2, _col$accessorKey2, _ref4;
3688
-
3689
- return _ref4 = {}, _ref4[(_ref = (_col$id$toString = (_col$id = col.id) == null ? void 0 : _col$id.toString()) != null ? _col$id$toString : (_col$accessorKey = col.accessorKey) == null ? void 0 : _col$accessorKey.toString()) != null ? _ref : ''] = col.filterFn instanceof Function ? (_col$filterFn$name = col.filterFn.name) != null ? _col$filterFn$name : 'custom' : (_ref2 = (_col$filterFn = col.filterFn) != null ? _col$filterFn : initialState == null ? void 0 : (_initialState$current7 = initialState.currentFilterFns) == null ? void 0 : _initialState$current7[(_ref3 = (_col$id$toString2 = (_col$id2 = col.id) == null ? void 0 : _col$id2.toString()) != null ? _col$id$toString2 : (_col$accessorKey2 = col.accessorKey) == null ? void 0 : _col$accessorKey2.toString()) != null ? _ref3 : '']) != null ? _ref2 : getDefaultColumnFilterFn(col), _ref4;
3690
- })));
3691
- }),
3692
- currentFilterFns = _useState14[0],
3693
- setCurrentFilterFns = _useState14[1];
3694
-
3695
- var _useState15 = React.useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3696
- currentGlobalFilterFn = _useState15[0],
3697
- setCurrentGlobalFilterFn = _useState15[1];
3698
-
3699
- var displayColumns = React.useMemo(function () {
3700
- var _props$localization, _props$displayColumnD, _props$localization2, _props$displayColumnD2, _props$localization3, _props$displayColumnD3, _props$localization4, _props$displayColumnD4, _props$localization6, _props$displayColumnD5;
3701
-
3702
- return [columnOrder.includes('mrt-row-drag') && _extends({
3703
- header: (_props$localization = props.localization) == null ? void 0 : _props$localization.move,
3704
- size: 60
3705
- }, defaultDisplayColumnDefOptions, (_props$displayColumnD = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD['mrt-row-drag'], {
3706
- id: 'mrt-row-drag'
3707
- }), columnOrder.includes('mrt-row-actions') && _extends({
3708
- Cell: function Cell(_ref5) {
3709
- var cell = _ref5.cell;
3710
- return React__default.createElement(MRT_ToggleRowActionMenuButton, {
3711
- row: cell.row,
3712
- table: table
3713
- });
3714
- },
3715
- header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.actions,
3716
- size: 70
3717
- }, defaultDisplayColumnDefOptions, (_props$displayColumnD2 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD2['mrt-row-actions'], {
3718
- id: 'mrt-row-actions'
3719
- }), columnOrder.includes('mrt-row-expand') && _extends({
3720
- Cell: function Cell(_ref6) {
3721
- var cell = _ref6.cell;
3722
- return React__default.createElement(MRT_ExpandButton, {
3723
- row: cell.row,
3724
- table: table
3725
- });
3726
- },
3727
- Header: function Header() {
3728
- return props.enableExpandAll ? React__default.createElement(MRT_ExpandAllButton, {
3729
- table: table
3730
- }) : null;
3731
- },
3732
- header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.expand,
3733
- size: 60
3734
- }, defaultDisplayColumnDefOptions, (_props$displayColumnD3 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD3['mrt-row-expand'], {
3735
- id: 'mrt-row-expand'
3736
- }), columnOrder.includes('mrt-row-select') && _extends({
3737
- Cell: function Cell(_ref7) {
3738
- var cell = _ref7.cell;
3739
- return React__default.createElement(MRT_SelectCheckbox, {
3740
- row: cell.row,
3741
- table: table
3742
- });
3743
- },
3744
- Header: function Header() {
3745
- return props.enableSelectAll ? React__default.createElement(MRT_SelectCheckbox, {
3746
- selectAll: true,
3747
- table: table
3748
- }) : null;
3749
- },
3750
- header: (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.select,
3751
- size: 60
3752
- }, defaultDisplayColumnDefOptions, (_props$displayColumnD4 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD4['mrt-row-select'], {
3753
- id: 'mrt-row-select'
3754
- }), columnOrder.includes('mrt-row-numbers') && _extends({
3755
- Cell: function Cell(_ref8) {
3756
- var cell = _ref8.cell;
3757
- return cell.row.index + 1;
3758
- },
3759
- Header: function Header() {
3760
- var _props$localization5;
3761
-
3762
- return (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumber;
3763
- },
3764
- header: (_props$localization6 = props.localization) == null ? void 0 : _props$localization6.rowNumbers,
3765
- size: 60
3766
- }, defaultDisplayColumnDefOptions, (_props$displayColumnD5 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD5['mrt-row-numbers'], {
3767
- id: 'mrt-row-numbers'
3768
- })].filter(Boolean);
3769
- }, [columnOrder, props.displayColumnDefOptions, props.editingMode, props.enableColumnDragging, props.enableColumnOrdering, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowDragging, props.enableRowNumbers, props.enableRowOrdering, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn]);
3770
- var columnDefs = React.useMemo(function () {
3771
- return prepareColumns([].concat(displayColumns, props.columns), currentFilterFns);
3772
- }, [currentFilterFns, displayColumns, props.columns]);
3773
- var data = React.useMemo(function () {
3774
- var _props$state, _props$state2;
3775
-
3776
- return ((_props$state = props.state) != null && _props$state.isLoading || (_props$state2 = props.state) != null && _props$state2.showSkeletons) && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3777
- return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (col) {
3778
- var _ref9, _col$id3, _ref10;
3779
-
3780
- return _ref10 = {}, _ref10[(_ref9 = (_col$id3 = col.id) != null ? _col$id3 : col.accessorKey) != null ? _ref9 : ''] = null, _ref10;
3781
- })));
3782
- }) : props.data;
3783
- }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3784
-
3785
- var table = _extends({}, reactTable.useReactTable(_extends({
3786
- getCoreRowModel: reactTable.getCoreRowModel(),
3787
- getExpandedRowModel: reactTable.getExpandedRowModel(),
3788
- getFacetedRowModel: reactTable.getFacetedRowModel(),
3789
- getFilteredRowModel: reactTable.getFilteredRowModel(),
3790
- getGroupedRowModel: reactTable.getGroupedRowModel(),
3791
- getPaginationRowModel: reactTable.getPaginationRowModel(),
3792
- getSortedRowModel: reactTable.getSortedRowModel(),
3793
- onColumnOrderChange: setColumnOrder,
3794
- getSubRows: function getSubRows(row) {
3795
- return row == null ? void 0 : row.subRows;
3796
- }
3797
- }, props, {
3798
- //@ts-ignore
3799
- columns: columnDefs,
3800
- data: data,
3801
- globalFilterFn: //@ts-ignore
3802
- (_MRT_FilterFns$curren = MRT_FilterFns[currentGlobalFilterFn]) != null ? _MRT_FilterFns$curren : MRT_FilterFns.fuzzy,
3803
- initialState: initialState,
3804
- state: _extends({
3805
- columnOrder: columnOrder,
3806
- currentDraggingColumn: currentDraggingColumn,
3807
- currentDraggingRow: currentDraggingRow,
3808
- currentEditingCell: currentEditingCell,
3809
- currentEditingRow: currentEditingRow,
3810
- currentFilterFns: currentFilterFns,
3811
- currentGlobalFilterFn: currentGlobalFilterFn,
3812
- currentHoveredColumn: currentHoveredColumn,
3813
- currentHoveredRow: currentHoveredRow,
3814
- density: density,
3815
- isFullScreen: isFullScreen,
3816
- showAlertBanner: showAlertBanner,
3817
- showColumnFilters: showColumnFilters,
3818
- showGlobalFilter: showGlobalFilter
3819
- }, props.state),
3820
- tableId: tableId
3821
- })), {
3822
- setCurrentDraggingColumn: (_props$onCurrentDragg = props.onCurrentDraggingColumnChange) != null ? _props$onCurrentDragg : setCurrentDraggingColumn,
3823
- setCurrentDraggingRow: (_props$onCurrentDragg2 = props.onCurrentDraggingRowChange) != null ? _props$onCurrentDragg2 : setCurrentDraggingRow,
3824
- setCurrentEditingCell: (_props$onCurrentEditi = props.onCurrentEditingCellChange) != null ? _props$onCurrentEditi : setCurrentEditingCell,
3825
- setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
3826
- setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
3827
- setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
3828
- setCurrentHoveredColumn: (_props$onCurrentHover = props.onCurrentHoveredColumnChange) != null ? _props$onCurrentHover : setCurrentHoveredColumn,
3829
- setCurrentHoveredRow: (_props$onCurrentHover2 = props.onCurrentHoveredRowChange) != null ? _props$onCurrentHover2 : setCurrentHoveredRow,
3830
- setDensity: (_props$onDensityChang = props.onDensityChange) != null ? _props$onDensityChang : setDensity,
3831
- setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
3832
- setShowAlertBanner: (_props$onShowAlertBan = props.onShowAlertBannerChange) != null ? _props$onShowAlertBan : setShowAlertBanner,
3833
- setShowFilters: (_props$onShowFiltersC = props.onShowFiltersChange) != null ? _props$onShowFiltersC : setShowFilters,
3834
- setShowGlobalFilter: (_props$onShowGlobalFi = props.onShowGlobalFilterChange) != null ? _props$onShowGlobalFi : setShowGlobalFilter
3835
- });
3836
-
3837
- React.useEffect(function () {
3838
- return props == null ? void 0 : props.onTableInstanceChange == null ? void 0 : props.onTableInstanceChange(table);
3839
- }, [table]);
3840
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Dialog, {
3841
- PaperComponent: material.Box,
3842
- TransitionComponent: material.Grow,
3843
- disablePortal: true,
3844
- fullScreen: true,
3845
- keepMounted: false,
3846
- onClose: function onClose() {
3847
- return setIsFullScreen(false);
3848
- },
3849
- open: isFullScreen,
3850
- transitionDuration: 400
3851
- }, React__default.createElement(MRT_TablePaper, {
3852
- table: table
3853
- })), !isFullScreen && React__default.createElement(MRT_TablePaper, {
3854
- table: table
3855
- }));
3856
- };
3857
-
3858
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode"];
3859
- var MaterialReactTable = (function (_ref) {
3860
- var _ref$autoResetExpande = _ref.autoResetExpanded,
3861
- autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3862
- _ref$columnResizeMode = _ref.columnResizeMode,
3863
- columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3864
- _ref$defaultColumn = _ref.defaultColumn,
3865
- defaultColumn = _ref$defaultColumn === void 0 ? {
3866
- minSize: 40,
3867
- maxSize: 1000,
3868
- size: 180
3869
- } : _ref$defaultColumn,
3870
- _ref$editingMode = _ref.editingMode,
3871
- editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
3872
- _ref$enableColumnActi = _ref.enableColumnActions,
3873
- enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
3874
- _ref$enableColumnFilt = _ref.enableColumnFilterChangeMode,
3875
- enableColumnFilterChangeMode = _ref$enableColumnFilt === void 0 ? false : _ref$enableColumnFilt,
3876
- _ref$enableColumnFilt2 = _ref.enableColumnFilters,
3877
- enableColumnFilters = _ref$enableColumnFilt2 === void 0 ? true : _ref$enableColumnFilt2,
3878
- _ref$enableColumnOrde = _ref.enableColumnOrdering,
3879
- enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
3880
- _ref$enableColumnResi = _ref.enableColumnResizing,
3881
- enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
3882
- _ref$enableDensityTog = _ref.enableDensityToggle,
3883
- enableDensityToggle = _ref$enableDensityTog === void 0 ? true : _ref$enableDensityTog,
3884
- _ref$enableExpandAll = _ref.enableExpandAll,
3885
- enableExpandAll = _ref$enableExpandAll === void 0 ? true : _ref$enableExpandAll,
3886
- _ref$enableFilters = _ref.enableFilters,
3887
- enableFilters = _ref$enableFilters === void 0 ? true : _ref$enableFilters,
3888
- _ref$enableFullScreen = _ref.enableFullScreenToggle,
3889
- enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
3890
- _ref$enableGlobalFilt = _ref.enableGlobalFilter,
3891
- enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
3892
- _ref$enableGlobalFilt2 = _ref.enableGlobalFilterChangeMode,
3893
- enableGlobalFilterChangeMode = _ref$enableGlobalFilt2 === void 0 ? false : _ref$enableGlobalFilt2,
3894
- _ref$enableGlobalFilt3 = _ref.enableGlobalFilterRankedResults,
3895
- enableGlobalFilterRankedResults = _ref$enableGlobalFilt3 === void 0 ? true : _ref$enableGlobalFilt3,
3896
- _ref$enableGrouping = _ref.enableGrouping,
3897
- enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
3898
- _ref$enableHiding = _ref.enableHiding,
3899
- enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3900
- _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
3901
- enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3902
- _ref$enableMultiSort = _ref.enableMultiSort,
3903
- enableMultiSort = _ref$enableMultiSort === void 0 ? true : _ref$enableMultiSort,
3904
- _ref$enablePagination = _ref.enablePagination,
3905
- enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3906
- _ref$enablePinning = _ref.enablePinning,
3907
- enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3908
- _ref$enableRowSelecti = _ref.enableRowSelection,
3909
- enableRowSelection = _ref$enableRowSelecti === void 0 ? false : _ref$enableRowSelecti,
3910
- _ref$enableSelectAll = _ref.enableSelectAll,
3911
- enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3912
- _ref$enableSorting = _ref.enableSorting,
3913
- enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
3914
- _ref$enableStickyHead = _ref.enableStickyHeader,
3915
- enableStickyHeader = _ref$enableStickyHead === void 0 ? false : _ref$enableStickyHead,
3916
- _ref$enableTableFoote = _ref.enableTableFooter,
3917
- enableTableFooter = _ref$enableTableFoote === void 0 ? true : _ref$enableTableFoote,
3918
- _ref$enableTableHead = _ref.enableTableHead,
3919
- enableTableHead = _ref$enableTableHead === void 0 ? true : _ref$enableTableHead,
3920
- _ref$enableToolbarBot = _ref.enableToolbarBottom,
3921
- enableToolbarBottom = _ref$enableToolbarBot === void 0 ? true : _ref$enableToolbarBot,
3922
- _ref$enableToolbarInt = _ref.enableToolbarInternalActions,
3923
- enableToolbarInternalActions = _ref$enableToolbarInt === void 0 ? true : _ref$enableToolbarInt,
3924
- _ref$enableToolbarTop = _ref.enableToolbarTop,
3925
- enableToolbarTop = _ref$enableToolbarTop === void 0 ? true : _ref$enableToolbarTop,
3926
- icons = _ref.icons,
3927
- localization = _ref.localization,
3928
- _ref$positionActionsC = _ref.positionActionsColumn,
3929
- positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
3930
- _ref$positionExpandCo = _ref.positionExpandColumn,
3931
- positionExpandColumn = _ref$positionExpandCo === void 0 ? 'first' : _ref$positionExpandCo,
3932
- _ref$positionGlobalFi = _ref.positionGlobalFilter,
3933
- positionGlobalFilter = _ref$positionGlobalFi === void 0 ? 'right' : _ref$positionGlobalFi,
3934
- _ref$positionPaginati = _ref.positionPagination,
3935
- positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
3936
- _ref$positionToolbarA = _ref.positionToolbarAlertBanner,
3937
- positionToolbarAlertBanner = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
3938
- _ref$positionToolbarD = _ref.positionToolbarDropZone,
3939
- positionToolbarDropZone = _ref$positionToolbarD === void 0 ? 'top' : _ref$positionToolbarD,
3940
- _ref$rowNumberMode = _ref.rowNumberMode,
3941
- rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
3942
- _ref$selectAllMode = _ref.selectAllMode,
3943
- selectAllMode = _ref$selectAllMode === void 0 ? 'all' : _ref$selectAllMode,
3944
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
3945
-
3946
- return React__default.createElement(MRT_TableRoot, Object.assign({
3947
- autoResetExpanded: autoResetExpanded,
3948
- columnResizeMode: columnResizeMode,
3949
- defaultColumn: defaultColumn,
3950
- editingMode: editingMode,
3951
- enableColumnActions: enableColumnActions,
3952
- enableColumnFilterChangeMode: enableColumnFilterChangeMode,
3953
- enableColumnFilters: enableColumnFilters,
3954
- enableColumnOrdering: enableColumnOrdering,
3955
- enableColumnResizing: enableColumnResizing,
3956
- enableDensityToggle: enableDensityToggle,
3957
- enableExpandAll: enableExpandAll,
3958
- enableFilters: enableFilters,
3959
- enableFullScreenToggle: enableFullScreenToggle,
3960
- enableGlobalFilter: enableGlobalFilter,
3961
- enableGlobalFilterChangeMode: enableGlobalFilterChangeMode,
3962
- enableGlobalFilterRankedResults: enableGlobalFilterRankedResults,
3963
- enableGrouping: enableGrouping,
3964
- enableHiding: enableHiding,
3965
- enableMultiRowSelection: enableMultiRowSelection,
3966
- enableMultiSort: enableMultiSort,
3967
- enablePagination: enablePagination,
3968
- enablePinning: enablePinning,
3969
- enableRowSelection: enableRowSelection,
3970
- enableSelectAll: enableSelectAll,
3971
- enableSorting: enableSorting,
3972
- enableStickyHeader: enableStickyHeader,
3973
- enableTableFooter: enableTableFooter,
3974
- enableTableHead: enableTableHead,
3975
- enableToolbarBottom: enableToolbarBottom,
3976
- enableToolbarInternalActions: enableToolbarInternalActions,
3977
- enableToolbarTop: enableToolbarTop,
3978
- icons: _extends({}, MRT_Default_Icons, icons),
3979
- localization: _extends({}, MRT_DefaultLocalization_EN, localization),
3980
- positionActionsColumn: positionActionsColumn,
3981
- positionExpandColumn: positionExpandColumn,
3982
- positionGlobalFilter: positionGlobalFilter,
3983
- positionPagination: positionPagination,
3984
- positionToolbarAlertBanner: positionToolbarAlertBanner,
3985
- positionToolbarDropZone: positionToolbarDropZone,
3986
- rowNumberMode: rowNumberMode,
3987
- selectAllMode: selectAllMode
3988
- }, rest));
3989
- });
3990
-
3991
- exports.default = MaterialReactTable;
3992
- //# sourceMappingURL=material-react-table.cjs.development.js.map