@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
@@ -0,0 +1,2 @@
1
+ export { y as StatefulDataGrid } from './StatefulDataGrid2.js';
2
+ //# sourceMappingURL=StatefulDataGrid.js.map
@@ -1,6 +1,71 @@
1
- import { objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
- import { GridLinkOperator } from '@mui/x-data-grid-pro';
3
- import { operatorList } from '../operators/index.js';
1
+ import { _ as _objectSpread2, b as _objectWithoutProperties, a as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { useCallback, useEffect, useMemo, forwardRef, useRef, useState } from 'react';
3
+ import classNames from 'classnames';
4
+ import { useTheme, ThemeProvider, RedsiftColorBlueN, RedsiftColorNeutralXDarkGrey, RedsiftColorNeutralWhite } from '@redsift/design-system';
5
+ import { GridLinkOperator, useGridApiRef, DataGridPro, gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector, gridFilteredSortedRowEntriesSelector, gridFilteredSortedRowIdsSelector } from '@mui/x-data-grid-pro';
6
+ import { o as operatorList, L as LicenseInfo, G as useControlledDatagridState, T as ThemeProvider$1, J as StyledDataGrid, f as customColumnTypes } from './useControlledDatagridState.js';
7
+ import { g as createTheme } from './Portal.js';
8
+ import { T as Toolbar } from './Toolbar2.js';
9
+ import { o as onServerSideSelectionStatusChange, S as ServerSideControlledPagination, C as ControlledPagination } from './ControlledPagination.js';
10
+ import { B as BaseButton, a as BaseCheckbox, c as BasePopper, b as BaseIcon } from './BasePopper.js';
11
+ import { T as ToolbarWrapper } from './ToolbarWrapper2.js';
12
+
13
+ const PAGINATION_MODEL_KEY = 'paginationModel';
14
+ const FILTER_MODEL_KEY = 'filterModel';
15
+ const SORT_MODEL_KEY = 'sortModel';
16
+ const VISIBILITY_MODEL_KEY = 'visibilityModel';
17
+ const PINNED_COLUMNS = 'pinnedColumns';
18
+ const DIMENSION_MODEL_KEY = 'dimension';
19
+ const FILTER_SEARCH_KEY = 'searchModel';
20
+ const CATEGORIES = [PAGINATION_MODEL_KEY, FILTER_MODEL_KEY, SORT_MODEL_KEY, VISIBILITY_MODEL_KEY, DIMENSION_MODEL_KEY, FILTER_SEARCH_KEY, PINNED_COLUMNS];
21
+ const buildStorageKey = _ref => {
22
+ let {
23
+ id,
24
+ version,
25
+ category
26
+ } = _ref;
27
+ return `${id}:${version}:${category}`;
28
+ };
29
+ const clearPreviousVersionStorage = (id, previousLocalStorageVersions) => {
30
+ for (const version of previousLocalStorageVersions) {
31
+ const keysToDelete = [buildStorageKey({
32
+ id,
33
+ version,
34
+ category: PAGINATION_MODEL_KEY
35
+ }), buildStorageKey({
36
+ id,
37
+ version,
38
+ category: SORT_MODEL_KEY
39
+ }), buildStorageKey({
40
+ id,
41
+ version,
42
+ category: FILTER_MODEL_KEY
43
+ }), buildStorageKey({
44
+ id,
45
+ version,
46
+ category: VISIBILITY_MODEL_KEY
47
+ }), buildStorageKey({
48
+ id,
49
+ version,
50
+ category: PINNED_COLUMNS
51
+ }), buildStorageKey({
52
+ id,
53
+ version,
54
+ category: FILTER_SEARCH_KEY
55
+ }), buildStorageKey({
56
+ id,
57
+ version,
58
+ category: DIMENSION_MODEL_KEY
59
+ })];
60
+ for (const keyToDelete of keysToDelete) {
61
+ try {
62
+ window.localStorage.removeItem(keyToDelete);
63
+ } catch (e) {
64
+ // Ignore
65
+ }
66
+ }
67
+ }
68
+ };
4
69
 
5
70
  // reference value: https://www.w3schools.com/tags/ref_urlencode.ASP
6
71
  const DECODER = {
@@ -752,5 +817,606 @@ const areFilterModelsEquivalent = (filterModel, filterModelToMatch) => {
752
817
  return true;
753
818
  };
754
819
 
755
- export { areFilterModelsEquivalent, decodeValue, encodeValue, getColumnVisibilityFromString, getFilterModelFromString, getFinalSearch, getModelsParsedOrUpdateLocalStorage, getPaginationFromString, getPinnedColumnsFromString, getSearchParamsFromColumnVisibility, getSearchParamsFromFilterModel, getSearchParamsFromPagination, getSearchParamsFromPinnedColumns, getSearchParamsFromSorting, getSearchParamsFromTab, getSortingFromString, numberOperatorDecoder, numberOperatorEncoder, updateUrl, urlSearchParamsToString };
756
- //# sourceMappingURL=urlLocalStorageSync.js.map
820
+ // Get and Set data from LocalStorage WITHOUT useState
821
+
822
+ // triggering a state update and consecutive re-render
823
+ const useFetchState = (defaultValue, key) => {
824
+ let stickyValue = null;
825
+ try {
826
+ stickyValue = window.localStorage.getItem(key);
827
+ } catch (e) {
828
+ console.error('StatefulDataGrid: error getting item from local storage: ', e);
829
+ }
830
+ let parsedValue = stickyValue !== null && stickyValue !== undefined && stickyValue !== 'undefined' ? JSON.parse(stickyValue) : defaultValue;
831
+
832
+ // TODO: temporary workaround to avoid clashes when someone had sorting on the now-removed screenshot field (renamed to num_annotations)
833
+ // Consider upgrading the Datagrid component library as the exception handling was added in this PR: https://github.com/mui-org/material-ui-x/pull/3224
834
+ if (parsedValue instanceof Array) {
835
+ const fields = (parsedValue || []).map(item => item.field);
836
+ if (fields.includes('screenshot') || fields.includes('diffs')) {
837
+ parsedValue = defaultValue;
838
+ }
839
+ }
840
+ const updateValue = useCallback(value => {
841
+ try {
842
+ window.localStorage.setItem(key, JSON.stringify(value));
843
+ } catch (e) {
844
+ console.error('StatefulDataGrid: error setting item into local storage: ', e);
845
+ }
846
+ }, [key]);
847
+ return [parsedValue, updateValue];
848
+ };
849
+
850
+ const useTableStates = (id, version) => {
851
+ const [paginationModel, setPaginationModel] = useFetchState('', buildStorageKey({
852
+ id,
853
+ version,
854
+ category: PAGINATION_MODEL_KEY
855
+ }));
856
+ const [sortModel, setSortModel] = useFetchState('', buildStorageKey({
857
+ id,
858
+ version,
859
+ category: SORT_MODEL_KEY
860
+ }));
861
+ const [localStorageFilters, setLocalStorageFilters] = useFetchState('', buildStorageKey({
862
+ id,
863
+ version,
864
+ category: FILTER_SEARCH_KEY
865
+ }));
866
+ const [visibilityModelLocalStorage, setVisibilityModelLocalStorage] = useFetchState('', buildStorageKey({
867
+ id,
868
+ version,
869
+ category: VISIBILITY_MODEL_KEY
870
+ }));
871
+ const [pinnedColumns, setPinnedColumns] = useFetchState('_pinnedColumnsLeft=[]&_pinnedColumnsRight=[]', buildStorageKey({
872
+ id,
873
+ version,
874
+ category: PINNED_COLUMNS
875
+ }));
876
+ const [dimensionModel, setDimensionModel] = useFetchState({}, buildStorageKey({
877
+ id,
878
+ version,
879
+ category: DIMENSION_MODEL_KEY
880
+ }));
881
+ return {
882
+ paginationModel,
883
+ setPaginationModel,
884
+ sortModel,
885
+ setSortModel,
886
+ localStorageFilters,
887
+ setLocalStorageFilters,
888
+ visibilityModelLocalStorage,
889
+ setVisibilityModelLocalStorage,
890
+ pinnedColumns,
891
+ setPinnedColumns,
892
+ dimensionModel,
893
+ setDimensionModel
894
+ };
895
+ };
896
+
897
+ const useStatefulTable = props => {
898
+ const {
899
+ // density = 'standard',
900
+ apiRef,
901
+ initialState,
902
+ columns: propsColumns,
903
+ onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
904
+ onColumnWidthChange: propsOnColumnWidthChange,
905
+ onFilterModelChange: propsOnFilterModelChange,
906
+ onPageChange: propsOnPageChange,
907
+ onPageSizeChange: propsOnPageSizeChange,
908
+ onPinnedColumnsChange: propsOnPinnedColumnsChange,
909
+ onSortModelChange: propsOnSortModelChange,
910
+ useRouter,
911
+ localStorageVersion = 1,
912
+ previousLocalStorageVersions = []
913
+ } = props;
914
+ const {
915
+ search,
916
+ pathname,
917
+ historyReplace
918
+ } = useRouter();
919
+ const id = pathname;
920
+
921
+ // States and setters persisted in the local storage for this table
922
+ const {
923
+ paginationModel,
924
+ setPaginationModel,
925
+ sortModel,
926
+ setSortModel,
927
+ localStorageFilters,
928
+ setLocalStorageFilters,
929
+ visibilityModelLocalStorage,
930
+ setVisibilityModelLocalStorage,
931
+ pinnedColumns,
932
+ setPinnedColumns,
933
+ dimensionModel,
934
+ setDimensionModel
935
+ } = useTableStates(id, localStorageVersion);
936
+
937
+ // clearing up old version keys
938
+ useEffect(() => clearPreviousVersionStorage(id, previousLocalStorageVersions), [id, previousLocalStorageVersions]);
939
+ const onColumnDimensionChange = useCallback(_ref => {
940
+ let {
941
+ newWidth,
942
+ field
943
+ } = _ref;
944
+ setDimensionModel(_objectSpread2(_objectSpread2({}, dimensionModel), {}, {
945
+ [field]: newWidth
946
+ }));
947
+ }, [dimensionModel, setDimensionModel]);
948
+ const {
949
+ filterModel: filterParsed,
950
+ sortModel: sortModelParsed,
951
+ paginationModel: paginationModelParsed,
952
+ columnVisibilityModel: visibilityModel,
953
+ pinnedColumnsModel
954
+ } = getModelsParsedOrUpdateLocalStorage(search || '', localStorageVersion, propsColumns, historyReplace, initialState, {
955
+ localStorageFilters,
956
+ setLocalStorageFilters,
957
+ localStorageSorting: sortModel,
958
+ setLocalStorageSorting: setSortModel,
959
+ localStoragePagination: paginationModel,
960
+ setLocalStoragePagination: setPaginationModel,
961
+ localStorageColumnsVisibility: visibilityModelLocalStorage,
962
+ setLocalStorageColumnsVisibility: setVisibilityModelLocalStorage,
963
+ localStoragePinnedColumns: pinnedColumns,
964
+ setLocalStoragePinnedColumns: setPinnedColumns
965
+ });
966
+ const columns = useMemo(() => propsColumns.map(column => {
967
+ column.width = dimensionModel[column.field] || column.width || 100;
968
+ return column;
969
+ }), [propsColumns, dimensionModel]);
970
+
971
+ /** Add resetPage method to apiRef. */
972
+ apiRef.current.resetPage = () => {
973
+ apiRef.current.setPage(0);
974
+ };
975
+ return {
976
+ apiRef,
977
+ columns,
978
+ onFilterModelChange: (model, details) => {
979
+ const filterModel = _objectSpread2(_objectSpread2({}, model), {}, {
980
+ items: model.items.map(item => {
981
+ const column = apiRef.current.getColumn(item.columnField);
982
+ item.type = column.type || 'string';
983
+ return item;
984
+ }),
985
+ quickFilterValues: model.quickFilterValues || []
986
+ });
987
+ propsOnFilterModelChange === null || propsOnFilterModelChange === void 0 ? void 0 : propsOnFilterModelChange(filterModel, details);
988
+ updateUrl({
989
+ filterModel: filterModel,
990
+ sortModel: sortModelParsed,
991
+ paginationModel: paginationModelParsed,
992
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
993
+ pinnedColumnsModel: pinnedColumnsModel
994
+ }, search, localStorageVersion, historyReplace, columns);
995
+ },
996
+ filterModel: filterParsed,
997
+ onSortModelChange: (model, details) => {
998
+ propsOnSortModelChange === null || propsOnSortModelChange === void 0 ? void 0 : propsOnSortModelChange(model, details);
999
+ updateUrl({
1000
+ filterModel: filterParsed,
1001
+ sortModel: model,
1002
+ paginationModel: paginationModelParsed,
1003
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
1004
+ pinnedColumnsModel: pinnedColumnsModel
1005
+ }, search, localStorageVersion, historyReplace, columns);
1006
+ },
1007
+ sortModel: sortModelParsed,
1008
+ onPinnedColumnsChange: (pinnedColumns, details) => {
1009
+ propsOnPinnedColumnsChange === null || propsOnPinnedColumnsChange === void 0 ? void 0 : propsOnPinnedColumnsChange(pinnedColumns, details);
1010
+ updateUrl({
1011
+ filterModel: filterParsed,
1012
+ sortModel: sortModelParsed,
1013
+ paginationModel: paginationModelParsed,
1014
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
1015
+ pinnedColumnsModel: pinnedColumns
1016
+ }, search, localStorageVersion, historyReplace, columns);
1017
+ },
1018
+ pinnedColumns: pinnedColumnsModel,
1019
+ page: paginationModelParsed.page,
1020
+ pageSize: paginationModelParsed.pageSize,
1021
+ onPageChange: (page, details) => {
1022
+ const direction = paginationModelParsed.page < page ? 'next' : 'back';
1023
+ propsOnPageChange === null || propsOnPageChange === void 0 ? void 0 : propsOnPageChange(page, details);
1024
+ updateUrl({
1025
+ filterModel: filterParsed,
1026
+ sortModel: sortModelParsed,
1027
+ paginationModel: {
1028
+ page,
1029
+ pageSize: paginationModelParsed.pageSize,
1030
+ direction
1031
+ },
1032
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
1033
+ pinnedColumnsModel: pinnedColumnsModel
1034
+ }, search, localStorageVersion, historyReplace, columns);
1035
+ },
1036
+ onPageSizeChange: (pageSize, details) => {
1037
+ propsOnPageSizeChange === null || propsOnPageSizeChange === void 0 ? void 0 : propsOnPageSizeChange(pageSize, details);
1038
+ updateUrl({
1039
+ filterModel: filterParsed,
1040
+ sortModel: sortModelParsed,
1041
+ paginationModel: {
1042
+ page: paginationModelParsed.page,
1043
+ pageSize,
1044
+ direction: paginationModelParsed.direction
1045
+ },
1046
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
1047
+ pinnedColumnsModel: pinnedColumnsModel
1048
+ }, search, localStorageVersion, historyReplace, columns);
1049
+ },
1050
+ columnVisibilityModel: visibilityModel,
1051
+ onColumnVisibilityModelChange: (columnsVisibilityModel, details) => {
1052
+ propsOnColumnVisibilityModelChange === null || propsOnColumnVisibilityModelChange === void 0 ? void 0 : propsOnColumnVisibilityModelChange(columnsVisibilityModel, details);
1053
+ updateUrl({
1054
+ filterModel: filterParsed,
1055
+ sortModel: sortModelParsed,
1056
+ paginationModel: paginationModelParsed,
1057
+ columnsModel: columnsVisibilityModel,
1058
+ pinnedColumnsModel: pinnedColumnsModel
1059
+ }, search, localStorageVersion, historyReplace, columns);
1060
+ },
1061
+ onColumnWidthChange: (params, event, details) => {
1062
+ propsOnColumnWidthChange === null || propsOnColumnWidthChange === void 0 ? void 0 : propsOnColumnWidthChange(params, event, details);
1063
+ onColumnDimensionChange({
1064
+ newWidth: params.width,
1065
+ field: params.colDef.field
1066
+ });
1067
+ }
1068
+ };
1069
+ };
1070
+
1071
+ 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"];
1072
+ const COMPONENT_NAME = 'DataGrid';
1073
+ const CLASSNAME = 'redsift-datagrid';
1074
+ const StatefulDataGrid = /*#__PURE__*/forwardRef((props, ref) => {
1075
+ const datagridRef = ref || useRef();
1076
+ const {
1077
+ apiRef: propsApiRef,
1078
+ autoHeight,
1079
+ className,
1080
+ columns,
1081
+ columnTypes: propsColumnTypes,
1082
+ components,
1083
+ componentsProps,
1084
+ filterModel: propsFilterModel,
1085
+ columnVisibilityModel: propsColumnVisibilityModel,
1086
+ pinnedColumns: propsPinnedColumns,
1087
+ sortModel: propsSortModel,
1088
+ page: propsPage,
1089
+ pageSize: propsPageSize,
1090
+ height: propsHeight,
1091
+ hideToolbar,
1092
+ initialState,
1093
+ isRowSelectable,
1094
+ license = process.env.MUI_LICENSE_KEY,
1095
+ localStorageVersion,
1096
+ previousLocalStorageVersions,
1097
+ onFilterModelChange: propsOnFilterModelChange,
1098
+ selectionModel: propsSelectionModel,
1099
+ onColumnWidthChange: propsOnColumnWidthChange,
1100
+ onPageChange: propsOnPageChange,
1101
+ onPageSizeChange: propsOnPageSizeChange,
1102
+ onSelectionModelChange: propsOnSelectionModelChange,
1103
+ onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
1104
+ onPinnedColumnsChange: propsOnPinnedColumnsChange,
1105
+ onSortModelChange: propsOnSortModelChange,
1106
+ pagination,
1107
+ paginationPlacement = 'both',
1108
+ paginationProps,
1109
+ rows,
1110
+ rowsPerPageOptions,
1111
+ sx,
1112
+ theme: propsTheme,
1113
+ useRouter,
1114
+ paginationMode = 'client',
1115
+ rowCount
1116
+ } = props,
1117
+ forwardedProps = _objectWithoutProperties(props, _excluded);
1118
+ const theme = useTheme(propsTheme);
1119
+ const _apiRef = useGridApiRef();
1120
+ const apiRef = propsApiRef !== null && propsApiRef !== void 0 ? propsApiRef : _apiRef;
1121
+ const RenderedToolbar = components !== null && components !== void 0 && components.Toolbar ? components.Toolbar : Toolbar;
1122
+ LicenseInfo.setLicenseKey(license);
1123
+ const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
1124
+ const {
1125
+ onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,
1126
+ onFilterModelChange: controlledOnFilterModelChange,
1127
+ onPageChange: controlledOnPageChange,
1128
+ onPageSizeChange: controlledOnPageSizeChange,
1129
+ onPinnedColumnsChange: controlledOnPinnedColumnsChange,
1130
+ onSortModelChange: controlledOnSortModelChange
1131
+ } = useControlledDatagridState({
1132
+ initialState,
1133
+ rowsPerPageOptions,
1134
+ propsColumnVisibilityModel,
1135
+ propsFilterModel,
1136
+ propsOnColumnVisibilityModelChange,
1137
+ propsOnFilterModelChange,
1138
+ propsOnPinnedColumnsChange,
1139
+ propsOnSortModelChange,
1140
+ propsPage,
1141
+ propsPageSize,
1142
+ propsPinnedColumns,
1143
+ propsSortModel,
1144
+ propsOnPageChange,
1145
+ propsOnPageSizeChange
1146
+ });
1147
+ const {
1148
+ columnVisibilityModel,
1149
+ filterModel,
1150
+ onColumnVisibilityModelChange,
1151
+ onFilterModelChange,
1152
+ onPageChange,
1153
+ onPageSizeChange,
1154
+ onPinnedColumnsChange,
1155
+ onSortModelChange,
1156
+ page,
1157
+ pageSize,
1158
+ pinnedColumns,
1159
+ sortModel,
1160
+ onColumnWidthChange
1161
+ } = useStatefulTable({
1162
+ apiRef: apiRef,
1163
+ initialState,
1164
+ columns,
1165
+ onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,
1166
+ onColumnWidthChange: propsOnColumnWidthChange,
1167
+ onFilterModelChange: controlledOnFilterModelChange,
1168
+ onPageChange: controlledOnPageChange,
1169
+ onPageSizeChange: controlledOnPageSizeChange,
1170
+ onPinnedColumnsChange: controlledOnPinnedColumnsChange,
1171
+ onSortModelChange: controlledOnSortModelChange,
1172
+ useRouter: useRouter,
1173
+ localStorageVersion,
1174
+ previousLocalStorageVersions
1175
+ });
1176
+ const [selectionModel, setSelectionModel] = useState(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
1177
+ useEffect(() => {
1178
+ setSelectionModel(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
1179
+ }, [propsSelectionModel]);
1180
+ const onSelectionModelChange = (selectionModel, details) => {
1181
+ if (propsOnSelectionModelChange) {
1182
+ propsOnSelectionModelChange(selectionModel, details);
1183
+ } else {
1184
+ setSelectionModel(selectionModel);
1185
+ }
1186
+ };
1187
+ const selectionStatus = useRef({
1188
+ type: 'none',
1189
+ numberOfSelectedRows: 0,
1190
+ numberOfSelectedRowsInPage: 0,
1191
+ page,
1192
+ pageSize: pageSize
1193
+ });
1194
+
1195
+ // in server-side pagination we want to update the selection status
1196
+ // every time we navigate between pages, resize our page or select something
1197
+ useEffect(() => {
1198
+ if (paginationMode == 'server') {
1199
+ onServerSideSelectionStatusChange(Array.isArray(selectionModel) ? selectionModel : [selectionModel], apiRef, selectionStatus, isRowSelectable, page, pageSize);
1200
+ }
1201
+ }, [selectionModel, page, pageSize]);
1202
+ if (!Array.isArray(rows)) {
1203
+ return null;
1204
+ }
1205
+ const muiTheme = useMemo(() => createTheme({
1206
+ palette: {
1207
+ mode: theme,
1208
+ primary: {
1209
+ main: RedsiftColorBlueN
1210
+ },
1211
+ background: {
1212
+ default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,
1213
+ paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite
1214
+ }
1215
+ }
1216
+ }), [theme]);
1217
+ return /*#__PURE__*/React__default.createElement(ThemeProvider, {
1218
+ value: {
1219
+ theme
1220
+ }
1221
+ }, /*#__PURE__*/React__default.createElement(ThemeProvider$1, {
1222
+ theme: muiTheme
1223
+ }, /*#__PURE__*/React__default.createElement(StyledDataGrid, {
1224
+ ref: datagridRef,
1225
+ className: classNames(StatefulDataGrid.className, className),
1226
+ $height: height
1227
+ }, /*#__PURE__*/React__default.createElement(DataGridPro, _extends({}, forwardedProps, {
1228
+ apiRef: apiRef,
1229
+ columns: columns,
1230
+ columnVisibilityModel: columnVisibilityModel,
1231
+ filterModel: filterModel,
1232
+ onColumnVisibilityModelChange: onColumnVisibilityModelChange,
1233
+ onFilterModelChange: onFilterModelChange,
1234
+ onPageChange: onPageChange,
1235
+ onPageSizeChange: onPageSizeChange,
1236
+ onPinnedColumnsChange: onPinnedColumnsChange,
1237
+ onSortModelChange: onSortModelChange,
1238
+ page: page,
1239
+ pageSize: pageSize,
1240
+ pinnedColumns: pinnedColumns,
1241
+ sortModel: sortModel,
1242
+ rowsPerPageOptions: rowsPerPageOptions,
1243
+ onColumnWidthChange: onColumnWidthChange,
1244
+ initialState: initialState,
1245
+ isRowSelectable: isRowSelectable,
1246
+ pagination: pagination,
1247
+ paginationMode: paginationMode,
1248
+ keepNonExistentRowsSelected: paginationMode == 'server',
1249
+ rows: rows,
1250
+ rowCount: rowCount,
1251
+ autoHeight: autoHeight,
1252
+ checkboxSelectionVisibleOnly: Boolean(pagination),
1253
+ columnTypes: _objectSpread2(_objectSpread2({}, customColumnTypes), propsColumnTypes),
1254
+ components: _objectSpread2(_objectSpread2({
1255
+ BaseButton,
1256
+ BaseCheckbox,
1257
+ // BaseTextField,
1258
+ BasePopper,
1259
+ ColumnFilteredIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1260
+ displayName: "ColumnFilteredIcon"
1261
+ })),
1262
+ ColumnSelectorIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1263
+ displayName: "ColumnSelectorIcon"
1264
+ })),
1265
+ ColumnSortedAscendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1266
+ displayName: "ColumnSortedAscendingIcon"
1267
+ })),
1268
+ ColumnSortedDescendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1269
+ displayName: "ColumnSortedDescendingIcon"
1270
+ })),
1271
+ DensityCompactIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1272
+ displayName: "DensityCompactIcon"
1273
+ })),
1274
+ DensityStandardIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1275
+ displayName: "DensityStandardIcon"
1276
+ })),
1277
+ DensityComfortableIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1278
+ displayName: "DensityComfortableIcon"
1279
+ })),
1280
+ DetailPanelCollapseIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1281
+ displayName: "DetailPanelCollapseIcon"
1282
+ })),
1283
+ DetailPanelExpandIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1284
+ displayName: "DetailPanelExpandIcon"
1285
+ })),
1286
+ ExportIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
1287
+ displayName: "ExportIcon"
1288
+ })),
1289
+ OpenFilterButtonIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({
1290
+ displayName: "OpenFilterButtonIcon"
1291
+ }, props))
1292
+ }, components), {}, {
1293
+ Toolbar: ToolbarWrapper,
1294
+ Pagination: props => {
1295
+ return pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends({}, props, {
1296
+ displaySelection: false,
1297
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
1298
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
1299
+ selectionStatus: selectionStatus.current,
1300
+ page: page,
1301
+ pageSize: pageSize,
1302
+ onPageChange: onPageChange,
1303
+ onPageSizeChange: onPageSizeChange,
1304
+ rowsPerPageOptions: rowsPerPageOptions,
1305
+ paginationProps: paginationProps,
1306
+ paginationMode: paginationMode,
1307
+ rowCount: rowCount
1308
+ })) : /*#__PURE__*/React__default.createElement(ControlledPagination, _extends({}, props, {
1309
+ displaySelection: false,
1310
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
1311
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
1312
+ selectionStatus: selectionStatus.current,
1313
+ apiRef: apiRef,
1314
+ isRowSelectable: isRowSelectable,
1315
+ page: page,
1316
+ pageSize: pageSize,
1317
+ onPageChange: onPageChange,
1318
+ onPageSizeChange: onPageSizeChange,
1319
+ rowsPerPageOptions: rowsPerPageOptions,
1320
+ paginationProps: paginationProps,
1321
+ paginationMode: paginationMode
1322
+ })) : null;
1323
+ }
1324
+ }),
1325
+ componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
1326
+ toolbar: _objectSpread2({
1327
+ hideToolbar,
1328
+ RenderedToolbar,
1329
+ filterModel,
1330
+ onFilterModelChange,
1331
+ pagination,
1332
+ paginationPlacement,
1333
+ selectionStatus,
1334
+ apiRef,
1335
+ isRowSelectable,
1336
+ page,
1337
+ pageSize,
1338
+ onPageChange,
1339
+ onPageSizeChange,
1340
+ rowsPerPageOptions,
1341
+ paginationProps,
1342
+ paginationMode,
1343
+ rowCount
1344
+ }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbar)
1345
+ }),
1346
+ selectionModel: selectionModel,
1347
+ onSelectionModelChange: (newSelectionModel, details) => {
1348
+ if (pagination && paginationMode != 'server') {
1349
+ const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
1350
+ let {
1351
+ model
1352
+ } = _ref;
1353
+ return isRowSelectable({
1354
+ row: model
1355
+ });
1356
+ }).map(_ref2 => {
1357
+ let {
1358
+ id
1359
+ } = _ref2;
1360
+ return id;
1361
+ }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
1362
+ const numberOfSelectableRowsInPage = selectableRowsInPage.length;
1363
+ const selectableRowsInTable = isRowSelectable ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref3 => {
1364
+ let {
1365
+ model
1366
+ } = _ref3;
1367
+ return isRowSelectable({
1368
+ row: model
1369
+ });
1370
+ }).map(_ref4 => {
1371
+ let {
1372
+ id
1373
+ } = _ref4;
1374
+ return id;
1375
+ }) : gridFilteredSortedRowIdsSelector(apiRef);
1376
+ const numberOfSelectableRowsInTable = selectableRowsInTable.length;
1377
+ const numberOfSelectedRows = newSelectionModel.length;
1378
+ if (selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage || selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable || selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage) {
1379
+ setTimeout(() => {
1380
+ apiRef.current.selectRows([], true, true);
1381
+ }, 0);
1382
+ }
1383
+ if (numberOfSelectedRows === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
1384
+ selectionStatus.current = {
1385
+ type: 'page',
1386
+ numberOfSelectedRows
1387
+ };
1388
+ } else if (numberOfSelectedRows === numberOfSelectableRowsInTable && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
1389
+ selectionStatus.current = {
1390
+ type: 'table',
1391
+ numberOfSelectedRows
1392
+ };
1393
+ } else if (numberOfSelectedRows > 0) {
1394
+ selectionStatus.current = {
1395
+ type: 'other',
1396
+ numberOfSelectedRows
1397
+ };
1398
+ } else {
1399
+ selectionStatus.current = {
1400
+ type: 'none',
1401
+ numberOfSelectedRows
1402
+ };
1403
+ }
1404
+ }
1405
+ onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel, details);
1406
+ },
1407
+ sx: _objectSpread2(_objectSpread2({}, sx), {}, {
1408
+ '.MuiDataGrid-columnHeaders': {
1409
+ flexDirection: 'column',
1410
+ alignItems: 'normal'
1411
+ },
1412
+ '.MuiDataGrid-selectedRowCount': {
1413
+ margin: 'none'
1414
+ }
1415
+ })
1416
+ })))));
1417
+ });
1418
+ StatefulDataGrid.className = CLASSNAME;
1419
+ StatefulDataGrid.displayName = COMPONENT_NAME;
1420
+
1421
+ export { CATEGORIES as C, DIMENSION_MODEL_KEY as D, FILTER_MODEL_KEY as F, PAGINATION_MODEL_KEY as P, SORT_MODEL_KEY as S, VISIBILITY_MODEL_KEY as V, PINNED_COLUMNS as a, FILTER_SEARCH_KEY as b, buildStorageKey as c, clearPreviousVersionStorage as d, decodeValue as e, encodeValue as f, numberOperatorDecoder as g, getFilterModelFromString as h, getSearchParamsFromFilterModel as i, getSortingFromString as j, getSearchParamsFromSorting as k, getPaginationFromString as l, getSearchParamsFromPagination as m, numberOperatorEncoder as n, getSearchParamsFromColumnVisibility as o, getColumnVisibilityFromString as p, getPinnedColumnsFromString as q, getSearchParamsFromPinnedColumns as r, getSearchParamsFromTab as s, getFinalSearch as t, urlSearchParamsToString as u, getModelsParsedOrUpdateLocalStorage as v, updateUrl as w, areFilterModelsEquivalent as x, StatefulDataGrid as y };
1422
+ //# sourceMappingURL=StatefulDataGrid2.js.map