@redsift/table 11.6.0-muiv5-alpha.11 → 11.6.0-muiv5-alpha.13

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 (181) hide show
  1. package/_internal/BaseComponents.js +3 -0
  2. package/{packages/table/src/components/BaseComponents/_internal → _internal}/BaseComponents.js.map +1 -1
  3. package/_internal/BasePopper.js +2448 -0
  4. package/_internal/BasePopper.js.map +1 -0
  5. package/{packages/table/src/components/BaseComponents/_internal → _internal}/BaseTextField.js +1 -1
  6. package/_internal/BaseTextField.js.map +1 -0
  7. package/_internal/ControlledPagination.js +10484 -0
  8. package/_internal/ControlledPagination.js.map +1 -0
  9. package/_internal/DataGrid.js +2 -0
  10. package/{packages/table/src/components/DataGrid/_internal → _internal}/DataGrid2.js +8 -16
  11. package/_internal/DataGrid2.js.map +1 -0
  12. package/_internal/GridToolbarFilterSemanticField.js +2 -0
  13. package/_internal/GridToolbarFilterSemanticField2.js +5581 -0
  14. package/_internal/GridToolbarFilterSemanticField2.js.map +1 -0
  15. package/_internal/Pagination.js +2 -0
  16. package/{packages/table/src/components/Pagination/_internal → _internal}/Pagination.js.map +1 -1
  17. package/_internal/Portal.js +4363 -0
  18. package/_internal/Portal.js.map +1 -0
  19. package/_internal/StatefulDataGrid.js +2 -0
  20. package/{packages/table/src/utils/_internal/urlLocalStorageSync.js → _internal/StatefulDataGrid2.js} +671 -5
  21. package/_internal/StatefulDataGrid2.js.map +1 -0
  22. package/_internal/TextCell.js +2 -0
  23. package/{packages/table/src/components/TextCell/_internal → _internal}/TextCell2.js +21 -3
  24. package/_internal/TextCell2.js.map +1 -0
  25. package/_internal/Toolbar.js +2 -0
  26. package/{packages/table/src/components/Toolbar/_internal → _internal}/Toolbar2.js +17 -4
  27. package/_internal/Toolbar2.js.map +1 -0
  28. package/_internal/ToolbarWrapper.js +2 -0
  29. package/{packages/table/src/components/ToolbarWrapper/_internal → _internal}/ToolbarWrapper2.js +3 -4
  30. package/_internal/ToolbarWrapper2.js.map +1 -0
  31. package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js +1 -1
  32. package/_internal/jsx-runtime.js +1342 -0
  33. package/_internal/jsx-runtime.js.map +1 -0
  34. package/_internal/useControlledDatagridState.js +2175 -0
  35. package/_internal/useControlledDatagridState.js.map +1 -0
  36. package/index.js +19 -0
  37. package/index.js.map +1 -0
  38. package/package.json +2 -2
  39. package/_virtual/_internal/_commonjsHelpers.js +0 -6
  40. package/_virtual/_internal/_commonjsHelpers.js.map +0 -1
  41. package/_virtual/_internal/jsx-runtime.js +0 -4
  42. package/_virtual/_internal/jsx-runtime.js.map +0 -1
  43. package/_virtual/_internal/react-is.development.js +0 -4
  44. package/_virtual/_internal/react-is.development.js.map +0 -1
  45. package/_virtual/_internal/react-is.development2.js +0 -4
  46. package/_virtual/_internal/react-is.development2.js.map +0 -1
  47. package/_virtual/_internal/react-is.production.min.js +0 -4
  48. package/_virtual/_internal/react-is.production.min.js.map +0 -1
  49. package/_virtual/_internal/react-is.production.min2.js +0 -4
  50. package/_virtual/_internal/react-is.production.min2.js.map +0 -1
  51. package/_virtual/_internal/react-jsx-runtime.development.js +0 -4
  52. package/_virtual/_internal/react-jsx-runtime.development.js.map +0 -1
  53. package/_virtual/_internal/react-jsx-runtime.production.min.js +0 -4
  54. package/_virtual/_internal/react-jsx-runtime.production.min.js.map +0 -1
  55. package/_virtual/index.js +0 -4
  56. package/_virtual/index.js.map +0 -1
  57. package/_virtual/index2.js +0 -4
  58. package/_virtual/index2.js.map +0 -1
  59. package/_virtual/index3.js +0 -4
  60. package/_virtual/index3.js.map +0 -1
  61. package/packages/design-system/src/components/theme/_internal/context.js +0 -7
  62. package/packages/design-system/src/components/theme/_internal/context.js.map +0 -1
  63. package/packages/popovers/src/components/tooltip/_internal/Tooltip.js +0 -60
  64. package/packages/popovers/src/components/tooltip/_internal/Tooltip.js.map +0 -1
  65. package/packages/popovers/src/components/tooltip/_internal/context.js +0 -6
  66. package/packages/popovers/src/components/tooltip/_internal/context.js.map +0 -1
  67. package/packages/popovers/src/components/tooltip/_internal/types.js +0 -28
  68. package/packages/popovers/src/components/tooltip/_internal/types.js.map +0 -1
  69. package/packages/popovers/src/components/tooltip/_internal/useTooltip.js +0 -78
  70. package/packages/popovers/src/components/tooltip/_internal/useTooltip.js.map +0 -1
  71. package/packages/popovers/src/components/tooltip/_internal/useTooltipContext.js +0 -13
  72. package/packages/popovers/src/components/tooltip/_internal/useTooltipContext.js.map +0 -1
  73. package/packages/popovers/src/components/tooltip-content/_internal/TooltipContent.js +0 -79
  74. package/packages/popovers/src/components/tooltip-content/_internal/TooltipContent.js.map +0 -1
  75. package/packages/popovers/src/components/tooltip-content/_internal/styles.js +0 -127
  76. package/packages/popovers/src/components/tooltip-content/_internal/styles.js.map +0 -1
  77. package/packages/popovers/src/components/tooltip-trigger/_internal/TooltipTrigger.js +0 -47
  78. package/packages/popovers/src/components/tooltip-trigger/_internal/TooltipTrigger.js.map +0 -1
  79. package/packages/table/src/components/BaseComponents/_internal/BaseButton.js +0 -41
  80. package/packages/table/src/components/BaseComponents/_internal/BaseButton.js.map +0 -1
  81. package/packages/table/src/components/BaseComponents/_internal/BaseCheckbox.js +0 -24
  82. package/packages/table/src/components/BaseComponents/_internal/BaseCheckbox.js.map +0 -1
  83. package/packages/table/src/components/BaseComponents/_internal/BaseComponents.js +0 -6
  84. package/packages/table/src/components/BaseComponents/_internal/BaseIcon.js +0 -33
  85. package/packages/table/src/components/BaseComponents/_internal/BaseIcon.js.map +0 -1
  86. package/packages/table/src/components/BaseComponents/_internal/BasePopper.js +0 -13
  87. package/packages/table/src/components/BaseComponents/_internal/BasePopper.js.map +0 -1
  88. package/packages/table/src/components/BaseComponents/_internal/BaseTextField.js.map +0 -1
  89. package/packages/table/src/components/DataGrid/_internal/DataGrid.js +0 -2
  90. package/packages/table/src/components/DataGrid/_internal/DataGrid2.js.map +0 -1
  91. package/packages/table/src/components/DataGrid/_internal/styles.js +0 -74
  92. package/packages/table/src/components/DataGrid/_internal/styles.js.map +0 -1
  93. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/GridToolbarFilterSemanticField.js +0 -2
  94. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/GridToolbarFilterSemanticField2.js +0 -183
  95. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/GridToolbarFilterSemanticField2.js.map +0 -1
  96. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/styles.js +0 -20
  97. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/styles.js.map +0 -1
  98. package/packages/table/src/components/Pagination/_internal/ControlledPagination.js +0 -74
  99. package/packages/table/src/components/Pagination/_internal/ControlledPagination.js.map +0 -1
  100. package/packages/table/src/components/Pagination/_internal/Pagination.js +0 -3
  101. package/packages/table/src/components/Pagination/_internal/ServerSideControlledPagination.js +0 -102
  102. package/packages/table/src/components/Pagination/_internal/ServerSideControlledPagination.js.map +0 -1
  103. package/packages/table/src/components/StatefulDataGrid/_internal/StatefulDataGrid.js +0 -2
  104. package/packages/table/src/components/StatefulDataGrid/_internal/StatefulDataGrid2.js +0 -373
  105. package/packages/table/src/components/StatefulDataGrid/_internal/StatefulDataGrid2.js.map +0 -1
  106. package/packages/table/src/components/TextCell/_internal/TextCell.js +0 -2
  107. package/packages/table/src/components/TextCell/_internal/TextCell2.js.map +0 -1
  108. package/packages/table/src/components/TextCell/_internal/styles.js +0 -22
  109. package/packages/table/src/components/TextCell/_internal/styles.js.map +0 -1
  110. package/packages/table/src/components/Toolbar/_internal/Toolbar.js +0 -2
  111. package/packages/table/src/components/Toolbar/_internal/Toolbar2.js.map +0 -1
  112. package/packages/table/src/components/Toolbar/_internal/styles.js +0 -17
  113. package/packages/table/src/components/Toolbar/_internal/styles.js.map +0 -1
  114. package/packages/table/src/components/ToolbarWrapper/_internal/ToolbarWrapper.js +0 -2
  115. package/packages/table/src/components/ToolbarWrapper/_internal/ToolbarWrapper2.js.map +0 -1
  116. package/packages/table/src/hooks/_internal/useControlledDatagridState.js +0 -109
  117. package/packages/table/src/hooks/_internal/useControlledDatagridState.js.map +0 -1
  118. package/packages/table/src/hooks/_internal/useFetchState.js +0 -34
  119. package/packages/table/src/hooks/_internal/useFetchState.js.map +0 -1
  120. package/packages/table/src/hooks/_internal/useStatefulTable.js +0 -182
  121. package/packages/table/src/hooks/_internal/useStatefulTable.js.map +0 -1
  122. package/packages/table/src/hooks/_internal/useTableStates.js +0 -52
  123. package/packages/table/src/hooks/_internal/useTableStates.js.map +0 -1
  124. package/packages/table/src/index.js +0 -38
  125. package/packages/table/src/index.js.map +0 -1
  126. package/packages/table/src/utils/_internal/gpt.js +0 -33
  127. package/packages/table/src/utils/_internal/gpt.js.map +0 -1
  128. package/packages/table/src/utils/_internal/localStorage.js +0 -59
  129. package/packages/table/src/utils/_internal/localStorage.js.map +0 -1
  130. package/packages/table/src/utils/_internal/urlLocalStorageSync.js.map +0 -1
  131. package/packages/table/src/utils/columnTypes/index.js +0 -49
  132. package/packages/table/src/utils/columnTypes/index.js.map +0 -1
  133. package/packages/table/src/utils/columns/_internal/detailPanelToggleColDef.js +0 -8
  134. package/packages/table/src/utils/columns/_internal/detailPanelToggleColDef.js.map +0 -1
  135. package/packages/table/src/utils/fields/_internal/InputNumberInterval.js +0 -85
  136. package/packages/table/src/utils/fields/_internal/InputNumberInterval.js.map +0 -1
  137. package/packages/table/src/utils/operators/index.js +0 -52
  138. package/packages/table/src/utils/operators/index.js.map +0 -1
  139. package/packages/table/src/utils/operators/numeric/_internal/getGridNumericOperators.js +0 -7
  140. package/packages/table/src/utils/operators/numeric/_internal/getGridNumericOperators.js.map +0 -1
  141. package/packages/table/src/utils/operators/numeric/_internal/isBetween.js +0 -28
  142. package/packages/table/src/utils/operators/numeric/_internal/isBetween.js.map +0 -1
  143. package/packages/table/src/utils/operators/string/_internal/doesNotContain.js +0 -25
  144. package/packages/table/src/utils/operators/string/_internal/doesNotContain.js.map +0 -1
  145. package/packages/table/src/utils/operators/string/_internal/doesNotEqual.js +0 -25
  146. package/packages/table/src/utils/operators/string/_internal/doesNotEqual.js.map +0 -1
  147. package/packages/table/src/utils/operators/string/_internal/doesNotHave.js +0 -24
  148. package/packages/table/src/utils/operators/string/_internal/doesNotHave.js.map +0 -1
  149. package/packages/table/src/utils/operators/string/_internal/getGridStringOperators.js +0 -9
  150. package/packages/table/src/utils/operators/string/_internal/getGridStringOperators.js.map +0 -1
  151. package/packages/table/src/utils/operators/string/_internal/has.js +0 -24
  152. package/packages/table/src/utils/operators/string/_internal/has.js.map +0 -1
  153. package/packages/table/src/utils/operators/string/_internal/hasOnly.js +0 -24
  154. package/packages/table/src/utils/operators/string/_internal/hasOnly.js.map +0 -1
  155. package/packages/table/src/utils/operators/string/_internal/is.js +0 -26
  156. package/packages/table/src/utils/operators/string/_internal/is.js.map +0 -1
  157. package/packages/table/src/utils/operators/string/_internal/isNot.js +0 -26
  158. package/packages/table/src/utils/operators/string/_internal/isNot.js.map +0 -1
  159. package/packages/table/src/utils/operators/string-array/_internal/containsAnyOf.js +0 -56
  160. package/packages/table/src/utils/operators/string-array/_internal/containsAnyOf.js.map +0 -1
  161. package/packages/table/src/utils/operators/string-array/_internal/doesNotHaveAnyOf.js +0 -26
  162. package/packages/table/src/utils/operators/string-array/_internal/doesNotHaveAnyOf.js.map +0 -1
  163. package/packages/table/src/utils/operators/string-array/_internal/endsWithAnyOf.js +0 -31
  164. package/packages/table/src/utils/operators/string-array/_internal/endsWithAnyOf.js.map +0 -1
  165. package/packages/table/src/utils/operators/string-array/_internal/getGridStringArrayOperators.js +0 -19
  166. package/packages/table/src/utils/operators/string-array/_internal/getGridStringArrayOperators.js.map +0 -1
  167. package/packages/table/src/utils/operators/string-array/_internal/hasAnyOf.js +0 -28
  168. package/packages/table/src/utils/operators/string-array/_internal/hasAnyOf.js.map +0 -1
  169. package/packages/table/src/utils/operators/string-array/_internal/isAnyOf.js +0 -32
  170. package/packages/table/src/utils/operators/string-array/_internal/isAnyOf.js.map +0 -1
  171. package/packages/table/src/utils/operators/string-array/_internal/isNotAnyOf.js +0 -28
  172. package/packages/table/src/utils/operators/string-array/_internal/isNotAnyOf.js.map +0 -1
  173. package/packages/table/src/utils/operators/string-array/_internal/startsWithAnyOf.js +0 -31
  174. package/packages/table/src/utils/operators/string-array/_internal/startsWithAnyOf.js.map +0 -1
  175. /package/{packages/table/src/components/DataGrid/_internal → _internal}/DataGrid.js.map +0 -0
  176. /package/{packages/table/src/components/GridToolbarFilterSemanticField/_internal → _internal}/GridToolbarFilterSemanticField.js.map +0 -0
  177. /package/{packages/table/src/components/StatefulDataGrid/_internal → _internal}/StatefulDataGrid.js.map +0 -0
  178. /package/{packages/table/src/components/TextCell/_internal → _internal}/TextCell.js.map +0 -0
  179. /package/{packages/table/src/components/Toolbar/_internal → _internal}/Toolbar.js.map +0 -0
  180. /package/{packages/table/src/components/ToolbarWrapper/_internal → _internal}/ToolbarWrapper.js.map +0 -0
  181. /package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -1,102 +0,0 @@
1
- import { extends as _extends } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
- import React__default from 'react';
3
- import { Flexbox, Text } from '@redsift/design-system';
4
- import { gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector } from '@mui/x-data-grid-pro';
5
- import TablePagination from '../../../../../../node_modules/@mui/material/TablePagination/_internal/TablePagination.js';
6
-
7
- const onServerSideSelectionStatusChange = (newSelectionModel, apiRef, selectionStatus, isRowSelectable, page, pageSize) => {
8
- const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
9
- let {
10
- model
11
- } = _ref;
12
- return isRowSelectable({
13
- row: model
14
- });
15
- }).map(_ref2 => {
16
- let {
17
- id
18
- } = _ref2;
19
- return id;
20
- }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
21
- const numberOfSelectableRowsInPage = selectableRowsInPage.length;
22
- const numberOfSelectedRows = newSelectionModel.length;
23
- const selectedRowsInPage = selectableRowsInPage.filter(rowId => newSelectionModel.includes(rowId));
24
- const numberOfSelectedRowsInPage = selectedRowsInPage.length;
25
- const isSamePage = (selectionStatus === null || selectionStatus === void 0 ? void 0 : selectionStatus.current.page) == page;
26
- const isSamePageSize = (selectionStatus === null || selectionStatus === void 0 ? void 0 : selectionStatus.current.pageSize) == pageSize;
27
-
28
- // if previous status is `page`,
29
- // if page and pageSize didn't change
30
- // and all the rows are selected, deselect all row
31
- if (selectionStatus.current.type === 'page' && isSamePage && isSamePageSize && numberOfSelectedRowsInPage === numberOfSelectableRowsInPage) {
32
- setTimeout(() => {
33
- apiRef.current.selectRows(selectedRowsInPage, false, false);
34
- }, 0);
35
- }
36
- if (numberOfSelectedRowsInPage === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage != 0) {
37
- selectionStatus.current = {
38
- type: 'page',
39
- numberOfSelectedRows,
40
- numberOfSelectedRowsInPage,
41
- page,
42
- pageSize
43
- };
44
- } else if (numberOfSelectedRows > 0) {
45
- selectionStatus.current = {
46
- type: 'other',
47
- numberOfSelectedRows,
48
- numberOfSelectedRowsInPage,
49
- page,
50
- pageSize
51
- };
52
- } else {
53
- selectionStatus.current = {
54
- type: 'none',
55
- numberOfSelectedRows,
56
- numberOfSelectedRowsInPage,
57
- page,
58
- pageSize
59
- };
60
- }
61
- };
62
- const ServerSideControlledPagination = _ref3 => {
63
- let {
64
- selectionStatus,
65
- displaySelection,
66
- displayPagination,
67
- page,
68
- onPageChange,
69
- pageSize,
70
- onPageSizeChange,
71
- displayRowsPerPage,
72
- rowsPerPageOptions,
73
- paginationProps,
74
- rowCount
75
- } = _ref3;
76
- const totalNumberOfRowsInTable = rowCount;
77
- const totalRowsLabel = `${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected`;
78
- const pageRowsLabel = `All ${selectionStatus.numberOfSelectedRowsInPage} selectable rows on this page are selected${selectionStatus.numberOfSelectedRows != selectionStatus.numberOfSelectedRowsInPage ? ` (${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected in total)` : ''}.`;
79
- return /*#__PURE__*/React__default.createElement(Flexbox, {
80
- flexDirection: "row",
81
- alignItems: "center",
82
- justifyContent: "space-between",
83
- marginBottom: "7px"
84
- }, displaySelection ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, selectionStatus.type === 'page' && selectionStatus.numberOfSelectedRowsInPage != 0 ? /*#__PURE__*/React__default.createElement(Text, {
85
- fontSize: "14px"
86
- }, pageRowsLabel) : selectionStatus.type === 'other' ? /*#__PURE__*/React__default.createElement(Text, {
87
- fontSize: "14px"
88
- }, totalRowsLabel) : /*#__PURE__*/React__default.createElement(Text, null)) : null, displayPagination ? /*#__PURE__*/React__default.createElement(TablePagination, _extends({
89
- component: "div",
90
- count: totalNumberOfRowsInTable,
91
- page: page,
92
- onPageChange: (event, newPage) => onPageChange(newPage),
93
- rowsPerPage: pageSize,
94
- onRowsPerPageChange: event => {
95
- onPageSizeChange(parseInt(event.target.value, 10));
96
- },
97
- rowsPerPageOptions: displayRowsPerPage ? rowsPerPageOptions : []
98
- }, paginationProps)) : null);
99
- };
100
-
101
- export { ServerSideControlledPagination, onServerSideSelectionStatusChange };
102
- //# sourceMappingURL=ServerSideControlledPagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerSideControlledPagination.js","sources":["../../../../../../../src/components/Pagination/ServerSideControlledPagination.tsx"],"sourcesContent":["import React from 'react';\nimport { Flexbox, Text } from '@redsift/design-system';\n\nimport { DataGridProps, GridSelectionModel, SelectionStatus } from '../DataGrid/types';\nimport TablePagination from '@mui/material/TablePagination';\nimport { GridApiPro } from '@mui/x-data-grid-pro/models/gridApiPro';\nimport {\n gridPaginatedVisibleSortedGridRowEntriesSelector,\n gridPaginatedVisibleSortedGridRowIdsSelector,\n GridRowParams,\n} from '@mui/x-data-grid-pro';\n\nexport type ServerSideControlledPaginationProps = {\n displaySelection?: boolean;\n displayRowsPerPage?: boolean;\n displayPagination?: boolean;\n selectionStatus: SelectionStatus;\n page: number;\n onPageChange: (page: number) => void;\n pageSize: number;\n onPageSizeChange: (pageSize: number) => void;\n rowsPerPageOptions?: number[];\n paginationProps?: DataGridProps['paginationProps'];\n rowCount: number;\n loading?: boolean;\n};\n\nexport const onServerSideSelectionStatusChange = (\n newSelectionModel: GridSelectionModel,\n apiRef: React.MutableRefObject<GridApiPro>,\n selectionStatus: React.MutableRefObject<SelectionStatus>,\n isRowSelectable: ((params: GridRowParams<any>) => boolean) | undefined,\n page: number,\n pageSize: number\n) => {\n const selectableRowsInPage = isRowSelectable\n ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);\n const numberOfSelectableRowsInPage = selectableRowsInPage.length;\n\n const numberOfSelectedRows = newSelectionModel.length;\n\n const selectedRowsInPage = selectableRowsInPage.filter((rowId) => newSelectionModel.includes(rowId));\n const numberOfSelectedRowsInPage = selectedRowsInPage.length;\n\n const isSamePage = selectionStatus?.current.page == page;\n const isSamePageSize = selectionStatus?.current.pageSize == pageSize;\n\n // if previous status is `page`,\n // if page and pageSize didn't change\n // and all the rows are selected, deselect all row\n if (\n selectionStatus.current.type === 'page' &&\n isSamePage &&\n isSamePageSize &&\n numberOfSelectedRowsInPage === numberOfSelectableRowsInPage\n ) {\n setTimeout(() => {\n apiRef.current.selectRows(selectedRowsInPage, false, false);\n }, 0);\n }\n\n if (numberOfSelectedRowsInPage === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage != 0) {\n selectionStatus.current = {\n type: 'page',\n numberOfSelectedRows,\n numberOfSelectedRowsInPage,\n page,\n pageSize,\n };\n } else if (numberOfSelectedRows > 0) {\n selectionStatus.current = {\n type: 'other',\n numberOfSelectedRows,\n numberOfSelectedRowsInPage,\n page,\n pageSize,\n };\n } else {\n selectionStatus.current = {\n type: 'none',\n numberOfSelectedRows,\n numberOfSelectedRowsInPage,\n page,\n pageSize,\n };\n }\n};\n\nexport const ServerSideControlledPagination: React.FC<ServerSideControlledPaginationProps> = ({\n selectionStatus,\n displaySelection,\n displayPagination,\n page,\n onPageChange,\n pageSize,\n onPageSizeChange,\n displayRowsPerPage,\n rowsPerPageOptions,\n paginationProps,\n rowCount,\n}) => {\n const totalNumberOfRowsInTable = rowCount;\n\n const totalRowsLabel = `${selectionStatus.numberOfSelectedRows} row${\n selectionStatus.numberOfSelectedRows > 1 ? 's' : ''\n } selected`;\n\n const pageRowsLabel = `All ${selectionStatus.numberOfSelectedRowsInPage} selectable rows on this page are selected${\n selectionStatus.numberOfSelectedRows != selectionStatus.numberOfSelectedRowsInPage\n ? ` (${selectionStatus.numberOfSelectedRows} row${\n selectionStatus.numberOfSelectedRows > 1 ? 's' : ''\n } selected in total)`\n : ''\n }.`;\n\n return (\n <Flexbox flexDirection=\"row\" alignItems=\"center\" justifyContent=\"space-between\" marginBottom=\"7px\">\n {displaySelection ? (\n <>\n {selectionStatus.type === 'page' && selectionStatus.numberOfSelectedRowsInPage != 0 ? (\n <Text fontSize=\"14px\">{pageRowsLabel}</Text>\n ) : selectionStatus.type === 'other' ? (\n <Text fontSize=\"14px\">{totalRowsLabel}</Text>\n ) : (\n <Text />\n )}\n </>\n ) : null}\n {displayPagination ? (\n <TablePagination\n component=\"div\"\n count={totalNumberOfRowsInTable}\n page={page}\n onPageChange={(event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => onPageChange(newPage)}\n rowsPerPage={pageSize}\n onRowsPerPageChange={(event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n onPageSizeChange(parseInt(event.target.value, 10));\n }}\n rowsPerPageOptions={displayRowsPerPage ? rowsPerPageOptions : []}\n {...paginationProps}\n />\n ) : null}\n </Flexbox>\n );\n};\n"],"names":["onServerSideSelectionStatusChange","newSelectionModel","apiRef","selectionStatus","isRowSelectable","page","pageSize","selectableRowsInPage","gridPaginatedVisibleSortedGridRowEntriesSelector","filter","_ref","model","row","map","_ref2","id","gridPaginatedVisibleSortedGridRowIdsSelector","numberOfSelectableRowsInPage","length","numberOfSelectedRows","selectedRowsInPage","rowId","includes","numberOfSelectedRowsInPage","isSamePage","current","isSamePageSize","type","setTimeout","selectRows","ServerSideControlledPagination","_ref3","displaySelection","displayPagination","onPageChange","onPageSizeChange","displayRowsPerPage","rowsPerPageOptions","paginationProps","rowCount","totalNumberOfRowsInTable","totalRowsLabel","pageRowsLabel","React","createElement","Flexbox","flexDirection","alignItems","justifyContent","marginBottom","Fragment","Text","fontSize","TablePagination","_extends","component","count","event","newPage","rowsPerPage","onRowsPerPageChange","parseInt","target","value"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { StatefulDataGrid } from './StatefulDataGrid2.js';
2
- //# sourceMappingURL=StatefulDataGrid.js.map
@@ -1,373 +0,0 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
- import React__default, { forwardRef, useRef, useState, useEffect, useMemo } from 'react';
3
- import classNames from 'classnames';
4
- import { useTheme, ThemeProvider, RedsiftColorBlueN, RedsiftColorNeutralXDarkGrey, RedsiftColorNeutralWhite } from '@redsift/design-system';
5
- import { useGridApiRef, DataGridPro, gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector, gridFilteredSortedRowEntriesSelector, gridFilteredSortedRowIdsSelector } from '@mui/x-data-grid-pro';
6
- import { StyledDataGrid } from '../../DataGrid/_internal/styles.js';
7
- import { useStatefulTable } from '../../../hooks/_internal/useStatefulTable.js';
8
- import { customColumnTypes } from '../../../utils/columnTypes/index.js';
9
- import { useControlledDatagridState } from '../../../hooks/_internal/useControlledDatagridState.js';
10
- import createTheme from '../../../../../../node_modules/@mui/material/styles/_internal/createTheme.js';
11
- import ThemeProvider$1 from '../../../../../../node_modules/@mui/material/styles/_internal/ThemeProvider.js';
12
- import { Toolbar } from '../../Toolbar/_internal/Toolbar2.js';
13
- import { LicenseInfo } from '../../../../../../node_modules/@mui/x-license-pro/utils/_internal/licenseInfo.js';
14
- import { onServerSideSelectionStatusChange, ServerSideControlledPagination } from '../../Pagination/_internal/ServerSideControlledPagination.js';
15
- import { BaseButton } from '../../BaseComponents/_internal/BaseButton.js';
16
- import { BaseCheckbox } from '../../BaseComponents/_internal/BaseCheckbox.js';
17
- import { BasePopper } from '../../BaseComponents/_internal/BasePopper.js';
18
- import { BaseIcon } from '../../BaseComponents/_internal/BaseIcon.js';
19
- import { ToolbarWrapper } from '../../ToolbarWrapper/_internal/ToolbarWrapper2.js';
20
- import { ControlledPagination } from '../../Pagination/_internal/ControlledPagination.js';
21
-
22
- const _excluded = ["apiRef", "autoHeight", "className", "columns", "columnTypes", "components", "componentsProps", "filterModel", "columnVisibilityModel", "pinnedColumns", "sortModel", "page", "pageSize", "height", "hideToolbar", "initialState", "isRowSelectable", "license", "localStorageVersion", "previousLocalStorageVersions", "onFilterModelChange", "selectionModel", "onColumnWidthChange", "onPageChange", "onPageSizeChange", "onSelectionModelChange", "onColumnVisibilityModelChange", "onPinnedColumnsChange", "onSortModelChange", "pagination", "paginationPlacement", "paginationProps", "rows", "rowsPerPageOptions", "sx", "theme", "useRouter", "paginationMode", "rowCount"];
23
- const COMPONENT_NAME = 'DataGrid';
24
- const CLASSNAME = 'redsift-datagrid';
25
- const StatefulDataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26
- const datagridRef = ref || useRef();
27
- const {
28
- apiRef: propsApiRef,
29
- autoHeight,
30
- className,
31
- columns,
32
- columnTypes: propsColumnTypes,
33
- components,
34
- componentsProps,
35
- filterModel: propsFilterModel,
36
- columnVisibilityModel: propsColumnVisibilityModel,
37
- pinnedColumns: propsPinnedColumns,
38
- sortModel: propsSortModel,
39
- page: propsPage,
40
- pageSize: propsPageSize,
41
- height: propsHeight,
42
- hideToolbar,
43
- initialState,
44
- isRowSelectable,
45
- license = process.env.MUI_LICENSE_KEY,
46
- localStorageVersion,
47
- previousLocalStorageVersions,
48
- onFilterModelChange: propsOnFilterModelChange,
49
- selectionModel: propsSelectionModel,
50
- onColumnWidthChange: propsOnColumnWidthChange,
51
- onPageChange: propsOnPageChange,
52
- onPageSizeChange: propsOnPageSizeChange,
53
- onSelectionModelChange: propsOnSelectionModelChange,
54
- onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
55
- onPinnedColumnsChange: propsOnPinnedColumnsChange,
56
- onSortModelChange: propsOnSortModelChange,
57
- pagination,
58
- paginationPlacement = 'both',
59
- paginationProps,
60
- rows,
61
- rowsPerPageOptions,
62
- sx,
63
- theme: propsTheme,
64
- useRouter,
65
- paginationMode = 'client',
66
- rowCount
67
- } = props,
68
- forwardedProps = _objectWithoutProperties(props, _excluded);
69
- const theme = useTheme(propsTheme);
70
- const _apiRef = useGridApiRef();
71
- const apiRef = propsApiRef !== null && propsApiRef !== void 0 ? propsApiRef : _apiRef;
72
- const RenderedToolbar = components !== null && components !== void 0 && components.Toolbar ? components.Toolbar : Toolbar;
73
- LicenseInfo.setLicenseKey(license);
74
- const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
75
- const {
76
- onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,
77
- onFilterModelChange: controlledOnFilterModelChange,
78
- onPageChange: controlledOnPageChange,
79
- onPageSizeChange: controlledOnPageSizeChange,
80
- onPinnedColumnsChange: controlledOnPinnedColumnsChange,
81
- onSortModelChange: controlledOnSortModelChange
82
- } = useControlledDatagridState({
83
- initialState,
84
- rowsPerPageOptions,
85
- propsColumnVisibilityModel,
86
- propsFilterModel,
87
- propsOnColumnVisibilityModelChange,
88
- propsOnFilterModelChange,
89
- propsOnPinnedColumnsChange,
90
- propsOnSortModelChange,
91
- propsPage,
92
- propsPageSize,
93
- propsPinnedColumns,
94
- propsSortModel,
95
- propsOnPageChange,
96
- propsOnPageSizeChange
97
- });
98
- const {
99
- columnVisibilityModel,
100
- filterModel,
101
- onColumnVisibilityModelChange,
102
- onFilterModelChange,
103
- onPageChange,
104
- onPageSizeChange,
105
- onPinnedColumnsChange,
106
- onSortModelChange,
107
- page,
108
- pageSize,
109
- pinnedColumns,
110
- sortModel,
111
- onColumnWidthChange
112
- } = useStatefulTable({
113
- apiRef: apiRef,
114
- initialState,
115
- columns,
116
- onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,
117
- onColumnWidthChange: propsOnColumnWidthChange,
118
- onFilterModelChange: controlledOnFilterModelChange,
119
- onPageChange: controlledOnPageChange,
120
- onPageSizeChange: controlledOnPageSizeChange,
121
- onPinnedColumnsChange: controlledOnPinnedColumnsChange,
122
- onSortModelChange: controlledOnSortModelChange,
123
- useRouter: useRouter,
124
- localStorageVersion,
125
- previousLocalStorageVersions
126
- });
127
- const [selectionModel, setSelectionModel] = useState(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
128
- useEffect(() => {
129
- setSelectionModel(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
130
- }, [propsSelectionModel]);
131
- const onSelectionModelChange = (selectionModel, details) => {
132
- if (propsOnSelectionModelChange) {
133
- propsOnSelectionModelChange(selectionModel, details);
134
- } else {
135
- setSelectionModel(selectionModel);
136
- }
137
- };
138
- const selectionStatus = useRef({
139
- type: 'none',
140
- numberOfSelectedRows: 0,
141
- numberOfSelectedRowsInPage: 0,
142
- page,
143
- pageSize: pageSize
144
- });
145
-
146
- // in server-side pagination we want to update the selection status
147
- // every time we navigate between pages, resize our page or select something
148
- useEffect(() => {
149
- if (paginationMode == 'server') {
150
- onServerSideSelectionStatusChange(Array.isArray(selectionModel) ? selectionModel : [selectionModel], apiRef, selectionStatus, isRowSelectable, page, pageSize);
151
- }
152
- }, [selectionModel, page, pageSize]);
153
- if (!Array.isArray(rows)) {
154
- return null;
155
- }
156
- const muiTheme = useMemo(() => createTheme({
157
- palette: {
158
- mode: theme,
159
- primary: {
160
- main: RedsiftColorBlueN
161
- },
162
- background: {
163
- default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,
164
- paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite
165
- }
166
- }
167
- }), [theme]);
168
- return /*#__PURE__*/React__default.createElement(ThemeProvider, {
169
- value: {
170
- theme
171
- }
172
- }, /*#__PURE__*/React__default.createElement(ThemeProvider$1, {
173
- theme: muiTheme
174
- }, /*#__PURE__*/React__default.createElement(StyledDataGrid, {
175
- ref: datagridRef,
176
- className: classNames(StatefulDataGrid.className, className),
177
- $height: height
178
- }, /*#__PURE__*/React__default.createElement(DataGridPro, _extends({}, forwardedProps, {
179
- apiRef: apiRef,
180
- columns: columns,
181
- columnVisibilityModel: columnVisibilityModel,
182
- filterModel: filterModel,
183
- onColumnVisibilityModelChange: onColumnVisibilityModelChange,
184
- onFilterModelChange: onFilterModelChange,
185
- onPageChange: onPageChange,
186
- onPageSizeChange: onPageSizeChange,
187
- onPinnedColumnsChange: onPinnedColumnsChange,
188
- onSortModelChange: onSortModelChange,
189
- page: page,
190
- pageSize: pageSize,
191
- pinnedColumns: pinnedColumns,
192
- sortModel: sortModel,
193
- rowsPerPageOptions: rowsPerPageOptions,
194
- onColumnWidthChange: onColumnWidthChange,
195
- initialState: initialState,
196
- isRowSelectable: isRowSelectable,
197
- pagination: pagination,
198
- paginationMode: paginationMode,
199
- keepNonExistentRowsSelected: paginationMode == 'server',
200
- rows: rows,
201
- rowCount: rowCount,
202
- autoHeight: autoHeight,
203
- checkboxSelectionVisibleOnly: Boolean(pagination),
204
- columnTypes: _objectSpread2(_objectSpread2({}, customColumnTypes), propsColumnTypes),
205
- components: _objectSpread2(_objectSpread2({
206
- BaseButton,
207
- BaseCheckbox,
208
- // BaseTextField,
209
- BasePopper,
210
- ColumnFilteredIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
211
- displayName: "ColumnFilteredIcon"
212
- })),
213
- ColumnSelectorIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
214
- displayName: "ColumnSelectorIcon"
215
- })),
216
- ColumnSortedAscendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
217
- displayName: "ColumnSortedAscendingIcon"
218
- })),
219
- ColumnSortedDescendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
220
- displayName: "ColumnSortedDescendingIcon"
221
- })),
222
- DensityCompactIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
223
- displayName: "DensityCompactIcon"
224
- })),
225
- DensityStandardIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
226
- displayName: "DensityStandardIcon"
227
- })),
228
- DensityComfortableIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
229
- displayName: "DensityComfortableIcon"
230
- })),
231
- DetailPanelCollapseIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
232
- displayName: "DetailPanelCollapseIcon"
233
- })),
234
- DetailPanelExpandIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
235
- displayName: "DetailPanelExpandIcon"
236
- })),
237
- ExportIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
238
- displayName: "ExportIcon"
239
- })),
240
- OpenFilterButtonIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({
241
- displayName: "OpenFilterButtonIcon"
242
- }, props))
243
- }, components), {}, {
244
- Toolbar: ToolbarWrapper,
245
- Pagination: props => {
246
- return pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends({}, props, {
247
- displaySelection: false,
248
- displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
249
- displayPagination: ['bottom', 'both'].includes(paginationPlacement),
250
- selectionStatus: selectionStatus.current,
251
- page: page,
252
- pageSize: pageSize,
253
- onPageChange: onPageChange,
254
- onPageSizeChange: onPageSizeChange,
255
- rowsPerPageOptions: rowsPerPageOptions,
256
- paginationProps: paginationProps,
257
- paginationMode: paginationMode,
258
- rowCount: rowCount
259
- })) : /*#__PURE__*/React__default.createElement(ControlledPagination, _extends({}, props, {
260
- displaySelection: false,
261
- displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
262
- displayPagination: ['bottom', 'both'].includes(paginationPlacement),
263
- selectionStatus: selectionStatus.current,
264
- apiRef: apiRef,
265
- isRowSelectable: isRowSelectable,
266
- page: page,
267
- pageSize: pageSize,
268
- onPageChange: onPageChange,
269
- onPageSizeChange: onPageSizeChange,
270
- rowsPerPageOptions: rowsPerPageOptions,
271
- paginationProps: paginationProps,
272
- paginationMode: paginationMode
273
- })) : null;
274
- }
275
- }),
276
- componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
277
- toolbar: _objectSpread2({
278
- hideToolbar,
279
- RenderedToolbar,
280
- filterModel,
281
- onFilterModelChange,
282
- pagination,
283
- paginationPlacement,
284
- selectionStatus,
285
- apiRef,
286
- isRowSelectable,
287
- page,
288
- pageSize,
289
- onPageChange,
290
- onPageSizeChange,
291
- rowsPerPageOptions,
292
- paginationProps,
293
- paginationMode,
294
- rowCount
295
- }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbar)
296
- }),
297
- selectionModel: selectionModel,
298
- onSelectionModelChange: (newSelectionModel, details) => {
299
- if (pagination && paginationMode != 'server') {
300
- const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
301
- let {
302
- model
303
- } = _ref;
304
- return isRowSelectable({
305
- row: model
306
- });
307
- }).map(_ref2 => {
308
- let {
309
- id
310
- } = _ref2;
311
- return id;
312
- }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
313
- const numberOfSelectableRowsInPage = selectableRowsInPage.length;
314
- const selectableRowsInTable = isRowSelectable ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref3 => {
315
- let {
316
- model
317
- } = _ref3;
318
- return isRowSelectable({
319
- row: model
320
- });
321
- }).map(_ref4 => {
322
- let {
323
- id
324
- } = _ref4;
325
- return id;
326
- }) : gridFilteredSortedRowIdsSelector(apiRef);
327
- const numberOfSelectableRowsInTable = selectableRowsInTable.length;
328
- const numberOfSelectedRows = newSelectionModel.length;
329
- if (selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage || selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable || selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage) {
330
- setTimeout(() => {
331
- apiRef.current.selectRows([], true, true);
332
- }, 0);
333
- }
334
- if (numberOfSelectedRows === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
335
- selectionStatus.current = {
336
- type: 'page',
337
- numberOfSelectedRows
338
- };
339
- } else if (numberOfSelectedRows === numberOfSelectableRowsInTable && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
340
- selectionStatus.current = {
341
- type: 'table',
342
- numberOfSelectedRows
343
- };
344
- } else if (numberOfSelectedRows > 0) {
345
- selectionStatus.current = {
346
- type: 'other',
347
- numberOfSelectedRows
348
- };
349
- } else {
350
- selectionStatus.current = {
351
- type: 'none',
352
- numberOfSelectedRows
353
- };
354
- }
355
- }
356
- onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel, details);
357
- },
358
- sx: _objectSpread2(_objectSpread2({}, sx), {}, {
359
- '.MuiDataGrid-columnHeaders': {
360
- flexDirection: 'column',
361
- alignItems: 'normal'
362
- },
363
- '.MuiDataGrid-selectedRowCount': {
364
- margin: 'none'
365
- }
366
- })
367
- })))));
368
- });
369
- StatefulDataGrid.className = CLASSNAME;
370
- StatefulDataGrid.displayName = COMPONENT_NAME;
371
-
372
- export { StatefulDataGrid };
373
- //# sourceMappingURL=StatefulDataGrid2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatefulDataGrid2.js","sources":["../../../../../../../src/components/StatefulDataGrid/StatefulDataGrid.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider as MuiThemeProvider, createTheme } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { LicenseInfo } from '@mui/x-license-pro';\nimport {\n Comp,\n RedsiftColorBlueN,\n RedsiftColorNeutralWhite,\n RedsiftColorNeutralXDarkGrey,\n ThemeProvider,\n useTheme,\n} from '@redsift/design-system';\nimport {\n DataGridPro,\n GridCallbackDetails,\n gridFilteredSortedRowEntriesSelector,\n gridFilteredSortedRowIdsSelector,\n gridPaginatedVisibleSortedGridRowEntriesSelector,\n gridPaginatedVisibleSortedGridRowIdsSelector,\n GridRowParams,\n GridSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro';\n\nimport { StyledDataGrid } from '../DataGrid/styles';\nimport { SelectionStatus } from '../DataGrid/types';\nimport { Toolbar as DefaultToolbar } from '../Toolbar';\nimport { BaseIcon, BaseButton, BaseCheckbox, BasePopper } from '../BaseComponents';\nimport { ToolbarWrapper } from '../ToolbarWrapper';\nimport { onServerSideSelectionStatusChange, ServerSideControlledPagination, ControlledPagination } from '../Pagination';\n\nimport { useStatefulTable } from '../../hooks/useStatefulTable';\nimport { StatefulDataGridProps } from './types';\nimport { customColumnTypes } from '../../utils/columnTypes';\nimport { useControlledDatagridState } from '../../hooks/useControlledDatagridState';\n\nconst COMPONENT_NAME = 'DataGrid';\nconst CLASSNAME = 'redsift-datagrid';\n\nexport const StatefulDataGrid: Comp<StatefulDataGridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const datagridRef = ref || useRef<HTMLDivElement>();\n\n const {\n apiRef: propsApiRef,\n autoHeight,\n className,\n columns,\n columnTypes: propsColumnTypes,\n components,\n componentsProps,\n filterModel: propsFilterModel,\n columnVisibilityModel: propsColumnVisibilityModel,\n pinnedColumns: propsPinnedColumns,\n sortModel: propsSortModel,\n page: propsPage,\n pageSize: propsPageSize,\n height: propsHeight,\n hideToolbar,\n initialState,\n isRowSelectable,\n license = process.env.MUI_LICENSE_KEY,\n localStorageVersion,\n previousLocalStorageVersions,\n onFilterModelChange: propsOnFilterModelChange,\n selectionModel: propsSelectionModel,\n onColumnWidthChange: propsOnColumnWidthChange,\n onPageChange: propsOnPageChange,\n onPageSizeChange: propsOnPageSizeChange,\n onSelectionModelChange: propsOnSelectionModelChange,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n pagination,\n paginationPlacement = 'both',\n paginationProps,\n rows,\n rowsPerPageOptions,\n sx,\n theme: propsTheme,\n useRouter,\n paginationMode = 'client',\n rowCount,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const _apiRef = useGridApiRef();\n const apiRef = propsApiRef ?? _apiRef;\n const RenderedToolbar = components?.Toolbar ? components.Toolbar : DefaultToolbar;\n\n LicenseInfo.setLicenseKey(license!);\n\n const height = propsHeight ?? (autoHeight ? undefined : '500px');\n\n const {\n onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,\n onFilterModelChange: controlledOnFilterModelChange,\n onPageChange: controlledOnPageChange,\n onPageSizeChange: controlledOnPageSizeChange,\n onPinnedColumnsChange: controlledOnPinnedColumnsChange,\n onSortModelChange: controlledOnSortModelChange,\n } = useControlledDatagridState({\n initialState,\n rowsPerPageOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPage,\n propsPageSize,\n propsPinnedColumns,\n propsSortModel,\n propsOnPageChange,\n propsOnPageSizeChange,\n });\n\n const {\n columnVisibilityModel,\n filterModel,\n onColumnVisibilityModelChange,\n onFilterModelChange,\n onPageChange,\n onPageSizeChange,\n onPinnedColumnsChange,\n onSortModelChange,\n page,\n pageSize,\n pinnedColumns,\n sortModel,\n onColumnWidthChange,\n } = useStatefulTable({\n apiRef: apiRef!,\n initialState,\n columns,\n onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,\n onColumnWidthChange: propsOnColumnWidthChange,\n onFilterModelChange: controlledOnFilterModelChange,\n onPageChange: controlledOnPageChange,\n onPageSizeChange: controlledOnPageSizeChange,\n onPinnedColumnsChange: controlledOnPinnedColumnsChange,\n onSortModelChange: controlledOnSortModelChange,\n useRouter: useRouter!,\n localStorageVersion,\n previousLocalStorageVersions,\n });\n\n const [selectionModel, setSelectionModel] = useState(propsSelectionModel ?? []);\n useEffect(() => {\n setSelectionModel(propsSelectionModel ?? []);\n }, [propsSelectionModel]);\n\n const onSelectionModelChange = (selectionModel: GridSelectionModel, details: GridCallbackDetails) => {\n if (propsOnSelectionModelChange) {\n propsOnSelectionModelChange(selectionModel, details);\n } else {\n setSelectionModel(selectionModel);\n }\n };\n\n const selectionStatus = useRef<SelectionStatus>({\n type: 'none',\n numberOfSelectedRows: 0,\n numberOfSelectedRowsInPage: 0,\n page,\n pageSize: pageSize,\n });\n\n // in server-side pagination we want to update the selection status\n // every time we navigate between pages, resize our page or select something\n useEffect(() => {\n if (paginationMode == 'server') {\n onServerSideSelectionStatusChange(\n Array.isArray(selectionModel) ? selectionModel : [selectionModel],\n apiRef,\n selectionStatus,\n isRowSelectable,\n page!,\n pageSize!\n );\n }\n }, [selectionModel, page, pageSize]);\n\n if (!Array.isArray(rows)) {\n return null;\n }\n\n const muiTheme = useMemo(\n () =>\n createTheme({\n palette: {\n mode: theme,\n primary: { main: RedsiftColorBlueN },\n background: {\n default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n },\n },\n }),\n [theme]\n );\n\n return (\n <ThemeProvider value={{ theme }}>\n <MuiThemeProvider theme={muiTheme}>\n {/* <pre>{JSON.stringify(selectionStatus, null, 2)}</pre> */}\n <StyledDataGrid\n ref={datagridRef as RefObject<HTMLDivElement>}\n className={classNames(StatefulDataGrid.className, className)}\n $height={height}\n >\n <DataGridPro\n {...forwardedProps}\n apiRef={apiRef}\n columns={columns}\n columnVisibilityModel={columnVisibilityModel}\n filterModel={filterModel}\n onColumnVisibilityModelChange={onColumnVisibilityModelChange}\n onFilterModelChange={onFilterModelChange}\n onPageChange={onPageChange}\n onPageSizeChange={onPageSizeChange}\n onPinnedColumnsChange={onPinnedColumnsChange}\n onSortModelChange={onSortModelChange}\n page={page}\n pageSize={pageSize}\n pinnedColumns={pinnedColumns}\n sortModel={sortModel}\n rowsPerPageOptions={rowsPerPageOptions}\n onColumnWidthChange={onColumnWidthChange}\n initialState={initialState}\n isRowSelectable={isRowSelectable}\n pagination={pagination}\n paginationMode={paginationMode}\n keepNonExistentRowsSelected={paginationMode == 'server'}\n rows={rows}\n rowCount={rowCount!}\n autoHeight={autoHeight}\n checkboxSelectionVisibleOnly={Boolean(pagination)}\n columnTypes={{ ...customColumnTypes, ...propsColumnTypes }}\n components={{\n BaseButton,\n BaseCheckbox,\n // BaseTextField,\n BasePopper,\n ColumnFilteredIcon: (props) => <BaseIcon {...props} displayName=\"ColumnFilteredIcon\" />,\n ColumnSelectorIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSelectorIcon\" />,\n ColumnSortedAscendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedAscendingIcon\" />,\n ColumnSortedDescendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedDescendingIcon\" />,\n DensityCompactIcon: (props) => <BaseIcon {...props} displayName=\"DensityCompactIcon\" />,\n DensityStandardIcon: (props) => <BaseIcon {...props} displayName=\"DensityStandardIcon\" />,\n DensityComfortableIcon: (props) => <BaseIcon {...props} displayName=\"DensityComfortableIcon\" />,\n DetailPanelCollapseIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelCollapseIcon\" />,\n DetailPanelExpandIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelExpandIcon\" />,\n ExportIcon: (props) => <BaseIcon {...props} displayName=\"ExportIcon\" />,\n OpenFilterButtonIcon: (props) => <BaseIcon displayName=\"OpenFilterButtonIcon\" {...props} />,\n ...components,\n Toolbar: ToolbarWrapper,\n Pagination: (props) => {\n return pagination ? (\n paginationMode == 'server' ? (\n <ServerSideControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n page={page}\n pageSize={pageSize}\n onPageChange={onPageChange}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions as any as number[]}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n apiRef={apiRef}\n isRowSelectable={isRowSelectable}\n page={page}\n pageSize={pageSize}\n onPageChange={onPageChange}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions as any as number[]}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n />\n )\n ) : null;\n },\n }}\n componentsProps={{\n ...componentsProps,\n toolbar: {\n hideToolbar,\n RenderedToolbar,\n filterModel,\n onFilterModelChange,\n pagination,\n paginationPlacement,\n selectionStatus,\n apiRef,\n isRowSelectable,\n page,\n pageSize,\n onPageChange,\n onPageSizeChange,\n rowsPerPageOptions,\n paginationProps,\n paginationMode,\n rowCount,\n ...componentsProps?.toolbar,\n },\n }}\n selectionModel={selectionModel}\n onSelectionModelChange={(newSelectionModel, details) => {\n if (pagination && paginationMode != 'server') {\n const selectableRowsInPage = isRowSelectable\n ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);\n const numberOfSelectableRowsInPage = selectableRowsInPage.length;\n\n const selectableRowsInTable = isRowSelectable\n ? gridFilteredSortedRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridFilteredSortedRowIdsSelector(apiRef);\n const numberOfSelectableRowsInTable = selectableRowsInTable.length;\n\n const numberOfSelectedRows = newSelectionModel.length;\n\n if (\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage) ||\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable) ||\n (selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage)\n ) {\n setTimeout(() => {\n apiRef.current.selectRows([], true, true);\n }, 0);\n }\n\n if (\n numberOfSelectedRows === numberOfSelectableRowsInPage &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'page',\n numberOfSelectedRows,\n };\n } else if (\n numberOfSelectedRows === numberOfSelectableRowsInTable &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'table',\n numberOfSelectedRows,\n };\n } else if (numberOfSelectedRows > 0) {\n selectionStatus.current = {\n type: 'other',\n numberOfSelectedRows,\n };\n } else {\n selectionStatus.current = {\n type: 'none',\n numberOfSelectedRows,\n };\n }\n }\n onSelectionModelChange?.(newSelectionModel, details);\n }}\n sx={{\n ...sx,\n '.MuiDataGrid-columnHeaders': {\n flexDirection: 'column',\n alignItems: 'normal',\n },\n '.MuiDataGrid-selectedRowCount': {\n margin: 'none',\n },\n }}\n />\n </StyledDataGrid>\n </MuiThemeProvider>\n </ThemeProvider>\n );\n});\nStatefulDataGrid.className = CLASSNAME;\nStatefulDataGrid.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","StatefulDataGrid","forwardRef","props","ref","datagridRef","useRef","apiRef","propsApiRef","autoHeight","className","columns","columnTypes","propsColumnTypes","components","componentsProps","filterModel","propsFilterModel","columnVisibilityModel","propsColumnVisibilityModel","pinnedColumns","propsPinnedColumns","sortModel","propsSortModel","page","propsPage","pageSize","propsPageSize","height","propsHeight","hideToolbar","initialState","isRowSelectable","license","process","env","MUI_LICENSE_KEY","localStorageVersion","previousLocalStorageVersions","onFilterModelChange","propsOnFilterModelChange","selectionModel","propsSelectionModel","onColumnWidthChange","propsOnColumnWidthChange","onPageChange","propsOnPageChange","onPageSizeChange","propsOnPageSizeChange","onSelectionModelChange","propsOnSelectionModelChange","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","pagination","paginationPlacement","paginationProps","rows","rowsPerPageOptions","sx","theme","propsTheme","useRouter","paginationMode","rowCount","forwardedProps","_objectWithoutProperties","_excluded","useTheme","_apiRef","useGridApiRef","RenderedToolbar","Toolbar","DefaultToolbar","LicenseInfo","setLicenseKey","undefined","controlledOnColumnVisibilityModelChange","controlledOnFilterModelChange","controlledOnPageChange","controlledOnPageSizeChange","controlledOnPinnedColumnsChange","controlledOnSortModelChange","useControlledDatagridState","useStatefulTable","setSelectionModel","useState","useEffect","details","selectionStatus","type","numberOfSelectedRows","numberOfSelectedRowsInPage","onServerSideSelectionStatusChange","Array","isArray","muiTheme","useMemo","createTheme","palette","mode","primary","main","RedsiftColorBlueN","background","default","RedsiftColorNeutralXDarkGrey","RedsiftColorNeutralWhite","paper","React","createElement","ThemeProvider","value","MuiThemeProvider","StyledDataGrid","classNames","$height","DataGridPro","_extends","keepNonExistentRowsSelected","checkboxSelectionVisibleOnly","Boolean","_objectSpread","customColumnTypes","BaseButton","BaseCheckbox","BasePopper","ColumnFilteredIcon","BaseIcon","displayName","ColumnSelectorIcon","ColumnSortedAscendingIcon","ColumnSortedDescendingIcon","DensityCompactIcon","DensityStandardIcon","DensityComfortableIcon","DetailPanelCollapseIcon","DetailPanelExpandIcon","ExportIcon","OpenFilterButtonIcon","ToolbarWrapper","Pagination","ServerSideControlledPagination","displaySelection","displayRowsPerPage","includes","displayPagination","current","ControlledPagination","toolbar","newSelectionModel","selectableRowsInPage","gridPaginatedVisibleSortedGridRowEntriesSelector","filter","_ref","model","row","map","_ref2","id","gridPaginatedVisibleSortedGridRowIdsSelector","numberOfSelectableRowsInPage","length","selectableRowsInTable","gridFilteredSortedRowEntriesSelector","_ref3","_ref4","gridFilteredSortedRowIdsSelector","numberOfSelectableRowsInTable","setTimeout","selectRows","flexDirection","alignItems","margin"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { TextCell } from './TextCell2.js';
2
- //# sourceMappingURL=TextCell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextCell2.js","sources":["../../../../../../../src/components/TextCell/TextCell.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '@redsift/design-system';\nimport { Icon, Shield } from '@redsift/design-system';\n\nimport { StyledTextCell, StyledTextCellText } from './styles';\nimport { TextCellProps } from './types';\n\nconst COMPONENT_NAME = 'DataGridCell';\nconst CLASSNAME = 'redsift-datagrid-cell';\n\n/**\n * The Cell component.\n */\nexport const TextCell: Comp<TextCellProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const textCellRef = ref || useRef<HTMLDivElement>();\n const {\n badge,\n children,\n className,\n leftIcon,\n leftIconColor,\n rightIcon,\n rightIconColor,\n shieldVariant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledTextCell\n {...forwardedProps}\n className={classNames(TextCell.className, className)}\n ref={textCellRef as RefObject<HTMLDivElement>}\n >\n <>\n {shieldVariant ? <Shield variant={shieldVariant} /> : null}\n {leftIcon ? (\n <Icon\n icon={leftIcon}\n aria-hidden=\"true\"\n size=\"small\"\n color={leftIconColor}\n />\n ) : null}\n <StyledTextCellText>{children}</StyledTextCellText>\n {badge ? badge : null}\n {rightIcon ? (\n <Icon\n icon={rightIcon}\n aria-hidden=\"true\"\n size=\"small\"\n color={rightIconColor}\n />\n ) : null}\n </>\n </StyledTextCell>\n );\n }\n);\n\nTextCell.className = CLASSNAME;\nTextCell.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","TextCell","forwardRef","props","ref","textCellRef","useRef","badge","children","className","leftIcon","leftIconColor","rightIcon","rightIconColor","shieldVariant","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","StyledTextCell","_extends","classNames","Fragment","Shield","variant","Icon","icon","size","color","StyledTextCellText","displayName"],"mappings":";;;;;;;AAQA,MAAMA,cAAc,GAAG,cAAc,CAAA;AACrC,MAAMC,SAAS,GAAG,uBAAuB,CAAA;;AAEzC;AACA;AACA;AACO,MAAMC,QAA6C,gBAAGC,UAAU,CACrE,CAACC,KAAK,EAAEC,GAAG,KAAK;AACd,EAAA,MAAMC,WAAW,GAAGD,GAAG,IAAIE,MAAM,EAAkB,CAAA;EACnD,MAAM;MACJC,KAAK;MACLC,QAAQ;MACRC,SAAS;MACTC,QAAQ;MACRC,aAAa;MACbC,SAAS;MACTC,cAAc;AACdC,MAAAA,aAAAA;AAEF,KAAC,GAAGX,KAAK;AADJY,IAAAA,cAAc,GAAAC,wBAAA,CACfb,KAAK,EAAAc,SAAA,CAAA,CAAA;EAET,oBACEC,cAAA,CAAAC,aAAA,CAACC,cAAc,EAAAC,QAAA,KACTN,cAAc,EAAA;IAClBN,SAAS,EAAEa,UAAU,CAACrB,QAAQ,CAACQ,SAAS,EAAEA,SAAS,CAAE;AACrDL,IAAAA,GAAG,EAAEC,WAAAA;AAAyC,GAAA,CAAA,eAE9Ca,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAK,QAAA,EACGT,IAAAA,EAAAA,aAAa,gBAAGI,cAAA,CAAAC,aAAA,CAACK,MAAM,EAAA;AAACC,IAAAA,OAAO,EAAEX,aAAAA;GAAgB,CAAC,GAAG,IAAI,EACzDJ,QAAQ,gBACPQ,cAAA,CAAAC,aAAA,CAACO,IAAI,EAAA;AACHC,IAAAA,IAAI,EAAEjB,QAAS;AACf,IAAA,aAAA,EAAY,MAAM;AAClBkB,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,KAAK,EAAElB,aAAAA;GACR,CAAC,GACA,IAAI,eACRO,cAAA,CAAAC,aAAA,CAACW,kBAAkB,EAAA,IAAA,EAAEtB,QAA6B,CAAC,EAClDD,KAAK,GAAGA,KAAK,GAAG,IAAI,EACpBK,SAAS,gBACRM,cAAA,CAAAC,aAAA,CAACO,IAAI,EAAA;AACHC,IAAAA,IAAI,EAAEf,SAAU;AAChB,IAAA,aAAA,EAAY,MAAM;AAClBgB,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,KAAK,EAAEhB,cAAAA;AAAe,GACvB,CAAC,GACA,IACJ,CACY,CAAC,CAAA;AAErB,CACF,EAAC;AAEDZ,QAAQ,CAACQ,SAAS,GAAGT,SAAS,CAAA;AAC9BC,QAAQ,CAAC8B,WAAW,GAAGhC,cAAc;;;;"}
@@ -1,22 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- const StyledTextCell = styled.div`
4
- align-items: center;
5
- box-sizing: border-box;
6
- display: flex;
7
- gap: 8px;
8
- justify-content: flex-start;
9
- overflow: hidden;
10
- text-overflow: ellipsis;
11
- white-space: nowrap;
12
- `;
13
- const StyledTextCellText = styled.div`
14
- box-sizing: border-box;
15
- line-height: normal;
16
- overflow: hidden;
17
- text-overflow: ellipsis;
18
- white-space: nowrap;
19
- `;
20
-
21
- export { StyledTextCell, StyledTextCellText };
22
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../../../src/components/TextCell/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledTextCell = styled.div`\n align-items: center;\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n justify-content: flex-start;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const StyledTextCellText = styled.div`\n box-sizing: border-box;\n line-height: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n"],"names":["StyledTextCell","styled","div","StyledTextCellText"],"mappings":";;AAEaA,MAAAA,cAAc,GAAGC,MAAM,CAACC,GAAI,CAAA;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AAEYC,MAAAA,kBAAkB,GAAGF,MAAM,CAACC,GAAI,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -1,2 +0,0 @@
1
- export { Toolbar } from './Toolbar2.js';
2
- //# sourceMappingURL=Toolbar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toolbar2.js","sources":["../../../../../../../src/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n GridToolbarContainer,\n GridToolbarColumnsButton,\n GridToolbarDensitySelector,\n GridToolbarFilterButton,\n GridToolbarExport,\n gridVisibleSortedRowIdsSelector,\n GridCsvGetRowsToExportParams,\n GridToolbarQuickFilter,\n} from '@mui/x-data-grid-pro';\n\nimport { GridToolbarWrapper } from './styles';\nimport { ToolbarProps } from './types';\nimport { Flexbox } from '@redsift/design-system';\nimport { GridToolbarFilterSemanticField } from '../GridToolbarFilterSemanticField';\n\n/**\n * Temporary workaround for a type mismatch between react 17 and 18\n * https://github.com/mui/material-ui/issues/35287#issuecomment-1337250566\n */\ndeclare global {\n namespace React {\n interface DOMAttributes<T> {\n onResize?: React.ReactEventHandler<T> | undefined;\n onResizeCapture?: React.ReactEventHandler<T> | undefined;\n nonce?: string | undefined;\n }\n }\n}\n/** ------ */\n\nexport const Toolbar: React.FC<ToolbarProps> = (props) => {\n const {\n hasExportButton = true,\n exportButtonProps,\n exportButtonRef,\n hasFilterButton = true,\n filterButtonProps,\n filterButtonRef,\n hasColumnsButton = true,\n columnsButtonProps,\n columnsButtonRef,\n hasDensityButton = true,\n densityButtonProps,\n densityButtonRef,\n onFilterModelChange,\n semanticFilterProps = undefined,\n showQuickFilter,\n } = props;\n\n if (semanticFilterProps && onFilterModelChange) {\n semanticFilterProps.onFilterModelChange = onFilterModelChange;\n }\n\n return (\n <GridToolbarWrapper>\n <GridToolbarContainer>\n <Flexbox gap=\"0\">\n {hasFilterButton ? (\n <GridToolbarFilterButton\n {...filterButtonProps}\n ref={filterButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n {hasColumnsButton ? (\n <GridToolbarColumnsButton\n {...columnsButtonProps}\n ref={columnsButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n {hasDensityButton ? (\n <GridToolbarDensitySelector\n {...densityButtonProps}\n ref={densityButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n {hasExportButton ? (\n <GridToolbarExport\n csvOptions={{\n allColumns: true,\n fileName: 'csv',\n getRowsToExport: ({ apiRef }: GridCsvGetRowsToExportParams) => gridVisibleSortedRowIdsSelector(apiRef),\n }}\n printOptions={{\n disableToolbarButton: true,\n }}\n {...exportButtonProps}\n ref={exportButtonRef}\n className={\n filterButtonProps?.className ? `${filterButtonProps?.className} redsift-condensed` : 'redsift-condensed'\n }\n />\n ) : null}\n <Flexbox marginLeft=\"8px\">{showQuickFilter ? <GridToolbarQuickFilter /> : null}</Flexbox>\n </Flexbox>\n <Flexbox flexGrow={3}>\n {semanticFilterProps ? <GridToolbarFilterSemanticField {...semanticFilterProps} /> : null}\n </Flexbox>\n </GridToolbarContainer>\n </GridToolbarWrapper>\n );\n};\n"],"names":["Toolbar","props","hasExportButton","exportButtonProps","exportButtonRef","hasFilterButton","filterButtonProps","filterButtonRef","hasColumnsButton","columnsButtonProps","columnsButtonRef","hasDensityButton","densityButtonProps","densityButtonRef","onFilterModelChange","semanticFilterProps","undefined","showQuickFilter","React","createElement","GridToolbarWrapper","GridToolbarContainer","Flexbox","gap","GridToolbarFilterButton","_extends","ref","className","GridToolbarColumnsButton","GridToolbarDensitySelector","GridToolbarExport","csvOptions","allColumns","fileName","getRowsToExport","_ref","apiRef","gridVisibleSortedRowIdsSelector","printOptions","disableToolbarButton","marginLeft","GridToolbarQuickFilter","flexGrow","GridToolbarFilterSemanticField"],"mappings":"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"}