material-react-table 0.30.2 → 0.32.0-alpha.1

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