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