@mui/x-data-grid 8.14.1 → 8.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/DataGrid/DataGrid.js +2 -0
  3. package/DataGrid/useDataGridComponent.js +1 -1
  4. package/components/GridScrollShadows.js +23 -3
  5. package/constants/gridClasses.d.ts +12 -0
  6. package/constants/gridClasses.js +1 -1
  7. package/constants/localeTextConstants.js +2 -1
  8. package/esm/DataGrid/DataGrid.js +2 -0
  9. package/esm/DataGrid/useDataGridComponent.js +1 -1
  10. package/esm/components/GridScrollShadows.js +22 -3
  11. package/esm/constants/gridClasses.d.ts +12 -0
  12. package/esm/constants/gridClasses.js +1 -1
  13. package/esm/constants/localeTextConstants.js +2 -1
  14. package/esm/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +6 -4
  15. package/esm/hooks/features/dataSource/models.d.ts +28 -28
  16. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  17. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +27 -14
  18. package/esm/hooks/features/dataSource/utils.d.ts +2 -1
  19. package/esm/hooks/features/dataSource/utils.js +2 -1
  20. package/esm/hooks/features/editing/useGridCellEditable.d.ts +5 -0
  21. package/esm/hooks/features/editing/useGridCellEditable.js +9 -0
  22. package/esm/hooks/features/editing/useGridEditing.d.ts +2 -1
  23. package/esm/hooks/features/editing/useGridEditing.js +4 -4
  24. package/esm/hooks/features/focus/useGridFocus.js +4 -2
  25. package/esm/hooks/features/rowSelection/useGridRowSelection.js +3 -1
  26. package/esm/index.js +1 -1
  27. package/esm/internals/index.d.ts +3 -1
  28. package/esm/internals/index.js +1 -0
  29. package/esm/locales/arSD.js +1 -0
  30. package/esm/locales/beBY.js +1 -0
  31. package/esm/locales/bgBG.js +1 -0
  32. package/esm/locales/bnBD.js +1 -0
  33. package/esm/locales/csCZ.js +1 -0
  34. package/esm/locales/daDK.js +1 -0
  35. package/esm/locales/deDE.js +1 -0
  36. package/esm/locales/elGR.js +1 -0
  37. package/esm/locales/esES.js +109 -119
  38. package/esm/locales/faIR.js +1 -0
  39. package/esm/locales/fiFI.js +1 -0
  40. package/esm/locales/frFR.js +1 -0
  41. package/esm/locales/heIL.js +1 -0
  42. package/esm/locales/hrHR.js +1 -0
  43. package/esm/locales/huHU.js +1 -0
  44. package/esm/locales/hyAM.js +1 -0
  45. package/esm/locales/idID.js +1 -0
  46. package/esm/locales/isIS.js +1 -0
  47. package/esm/locales/itIT.js +1 -0
  48. package/esm/locales/jaJP.js +1 -0
  49. package/esm/locales/koKR.js +1 -0
  50. package/esm/locales/nbNO.js +1 -0
  51. package/esm/locales/nlNL.js +1 -0
  52. package/esm/locales/nnNO.js +1 -0
  53. package/esm/locales/plPL.js +1 -0
  54. package/esm/locales/ptBR.js +1 -0
  55. package/esm/locales/ptPT.js +1 -0
  56. package/esm/locales/roRO.js +1 -0
  57. package/esm/locales/ruRU.js +1 -0
  58. package/esm/locales/skSK.js +1 -0
  59. package/esm/locales/svSE.js +1 -0
  60. package/esm/locales/trTR.js +1 -0
  61. package/esm/locales/ukUA.js +1 -0
  62. package/esm/locales/urPK.js +1 -0
  63. package/esm/locales/viVN.js +1 -0
  64. package/esm/locales/zhCN.js +1 -0
  65. package/esm/locales/zhHK.js +1 -0
  66. package/esm/locales/zhTW.js +1 -0
  67. package/esm/models/api/gridLocaleTextApi.d.ts +1 -0
  68. package/esm/models/configuration/gridCellEditableConfiguration.d.ts +19 -0
  69. package/esm/models/configuration/gridCellEditableConfiguration.js +1 -0
  70. package/esm/models/configuration/gridConfiguration.d.ts +2 -1
  71. package/esm/models/gridDataSource.d.ts +13 -0
  72. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +6 -4
  73. package/hooks/features/dataSource/models.d.ts +28 -28
  74. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  75. package/hooks/features/dataSource/useGridDataSourceBase.js +27 -14
  76. package/hooks/features/dataSource/utils.d.ts +2 -1
  77. package/hooks/features/dataSource/utils.js +2 -1
  78. package/hooks/features/editing/useGridCellEditable.d.ts +5 -0
  79. package/hooks/features/editing/useGridCellEditable.js +15 -0
  80. package/hooks/features/editing/useGridEditing.d.ts +2 -1
  81. package/hooks/features/editing/useGridEditing.js +4 -4
  82. package/hooks/features/focus/useGridFocus.js +4 -2
  83. package/hooks/features/rowSelection/useGridRowSelection.js +3 -1
  84. package/index.js +1 -1
  85. package/internals/index.d.ts +3 -1
  86. package/internals/index.js +8 -0
  87. package/locales/arSD.js +1 -0
  88. package/locales/beBY.js +1 -0
  89. package/locales/bgBG.js +1 -0
  90. package/locales/bnBD.js +1 -0
  91. package/locales/csCZ.js +1 -0
  92. package/locales/daDK.js +1 -0
  93. package/locales/deDE.js +1 -0
  94. package/locales/elGR.js +1 -0
  95. package/locales/esES.js +109 -119
  96. package/locales/faIR.js +1 -0
  97. package/locales/fiFI.js +1 -0
  98. package/locales/frFR.js +1 -0
  99. package/locales/heIL.js +1 -0
  100. package/locales/hrHR.js +1 -0
  101. package/locales/huHU.js +1 -0
  102. package/locales/hyAM.js +1 -0
  103. package/locales/idID.js +1 -0
  104. package/locales/isIS.js +1 -0
  105. package/locales/itIT.js +1 -0
  106. package/locales/jaJP.js +1 -0
  107. package/locales/koKR.js +1 -0
  108. package/locales/nbNO.js +1 -0
  109. package/locales/nlNL.js +1 -0
  110. package/locales/nnNO.js +1 -0
  111. package/locales/plPL.js +1 -0
  112. package/locales/ptBR.js +1 -0
  113. package/locales/ptPT.js +1 -0
  114. package/locales/roRO.js +1 -0
  115. package/locales/ruRU.js +1 -0
  116. package/locales/skSK.js +1 -0
  117. package/locales/svSE.js +1 -0
  118. package/locales/trTR.js +1 -0
  119. package/locales/ukUA.js +1 -0
  120. package/locales/urPK.js +1 -0
  121. package/locales/viVN.js +1 -0
  122. package/locales/zhCN.js +1 -0
  123. package/locales/zhHK.js +1 -0
  124. package/locales/zhTW.js +1 -0
  125. package/models/api/gridLocaleTextApi.d.ts +1 -0
  126. package/models/configuration/gridCellEditableConfiguration.d.ts +19 -0
  127. package/models/configuration/gridCellEditableConfiguration.js +5 -0
  128. package/models/configuration/gridConfiguration.d.ts +2 -1
  129. package/models/gridDataSource.d.ts +13 -0
  130. package/package.json +3 -3
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["skipCache"];
5
+ const _excluded = ["skipCache", "keepChildrenExpanded"];
6
6
  import * as React from 'react';
7
7
  import useLazyRef from '@mui/utils/useLazyRef';
8
8
  import debounce from '@mui/utils/debounce';
@@ -33,8 +33,8 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
33
33
  apiRef.current.setStrategyAvailability(GridStrategyGroup.DataSource, DataSourceRowsUpdateStrategy.Default, props.dataSource ? () => true : () => false);
34
34
  }, [apiRef, props.dataSource]);
35
35
  const [currentStrategy, setCurrentStrategy] = React.useState(apiRef.current.getActiveStrategy(GridStrategyGroup.DataSource));
36
- const defaultRowsUpdateStrategyActive = React.useMemo(() => {
37
- return currentStrategy === DataSourceRowsUpdateStrategy.Default;
36
+ const standardRowsUpdateStrategyActive = React.useMemo(() => {
37
+ return currentStrategy === DataSourceRowsUpdateStrategy.Default || currentStrategy === DataSourceRowsUpdateStrategy.GroupedData;
38
38
  }, [currentStrategy]);
39
39
  const paginationModel = useGridSelector(apiRef, gridPaginationModelSelector);
40
40
  const lastRequestId = React.useRef(0);
@@ -60,7 +60,8 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
60
60
  options.clearDataSourceState?.();
61
61
  const _ref = params || {},
62
62
  {
63
- skipCache
63
+ skipCache,
64
+ keepChildrenExpanded
64
65
  } = _ref,
65
66
  getRowsParams = _objectWithoutPropertiesLoose(_ref, _excluded);
66
67
  const fetchParams = _extends({}, gridGetRowsParamsSelector(apiRef), apiRef.current.unstable_applyPipeProcessors('getRowsParams', {}), getRowsParams);
@@ -69,13 +70,17 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
69
70
  if (!skipCache && responses.every(response => response !== undefined)) {
70
71
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
71
72
  response: CacheChunkManager.mergeResponses(responses),
72
- fetchParams
73
+ fetchParams,
74
+ options: {
75
+ skipCache,
76
+ keepChildrenExpanded
77
+ }
73
78
  });
74
79
  return;
75
80
  }
76
81
 
77
82
  // Manage loading state only for the default strategy
78
- if (defaultRowsUpdateStrategyActive || apiRef.current.getRowsCount() === 0) {
83
+ if (standardRowsUpdateStrategyActive || apiRef.current.getRowsCount() === 0) {
79
84
  apiRef.current.setLoading(true);
80
85
  }
81
86
  const requestId = lastRequestId.current + 1;
@@ -87,14 +92,22 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
87
92
  if (lastRequestId.current === requestId) {
88
93
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
89
94
  response: getRowsResponse,
90
- fetchParams
95
+ fetchParams,
96
+ options: {
97
+ skipCache,
98
+ keepChildrenExpanded
99
+ }
91
100
  });
92
101
  }
93
102
  } catch (originalError) {
94
103
  if (lastRequestId.current === requestId) {
95
104
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
96
105
  error: originalError,
97
- fetchParams
106
+ fetchParams,
107
+ options: {
108
+ skipCache,
109
+ keepChildrenExpanded
110
+ }
98
111
  });
99
112
  if (typeof onDataSourceErrorProp === 'function') {
100
113
  onDataSourceErrorProp(new GridGetRowsError({
@@ -107,11 +120,11 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
107
120
  }
108
121
  }
109
122
  } finally {
110
- if (defaultRowsUpdateStrategyActive && lastRequestId.current === requestId) {
123
+ if (standardRowsUpdateStrategyActive && lastRequestId.current === requestId) {
111
124
  apiRef.current.setLoading(false);
112
125
  }
113
126
  }
114
- }, [cacheChunkManager, cache, apiRef, defaultRowsUpdateStrategyActive, props.dataSource?.getRows, onDataSourceErrorProp, options, props.signature]);
127
+ }, [cacheChunkManager, cache, apiRef, standardRowsUpdateStrategyActive, props.dataSource?.getRows, onDataSourceErrorProp, options, props.signature]);
115
128
  const handleStrategyActivityChange = React.useCallback(() => {
116
129
  setCurrentStrategy(apiRef.current.getActiveStrategy(GridStrategyGroup.DataSource));
117
130
  }, [apiRef]);
@@ -186,7 +199,7 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
186
199
  React.useEffect(() => {
187
200
  // Return early if the proper strategy isn't set yet
188
201
  // Context: https://github.com/mui/mui-x/issues/19650
189
- if (currentStrategy !== DataSourceRowsUpdateStrategy.Default && currentStrategy !== DataSourceRowsUpdateStrategy.LazyLoading) {
202
+ if (currentStrategy !== DataSourceRowsUpdateStrategy.Default && currentStrategy !== DataSourceRowsUpdateStrategy.LazyLoading && currentStrategy !== DataSourceRowsUpdateStrategy.GroupedData) {
190
203
  return undefined;
191
204
  }
192
205
  if (props.dataSource) {
@@ -213,9 +226,9 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
213
226
  cache,
214
227
  events: {
215
228
  strategyAvailabilityChange: handleStrategyActivityChange,
216
- sortModelChange: runIf(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
217
- filterModelChange: runIf(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
218
- paginationModelChange: runIf(defaultRowsUpdateStrategyActive, () => debouncedFetchRows())
229
+ sortModelChange: runIf(standardRowsUpdateStrategyActive, () => debouncedFetchRows()),
230
+ filterModelChange: runIf(standardRowsUpdateStrategyActive, () => debouncedFetchRows()),
231
+ paginationModelChange: runIf(standardRowsUpdateStrategyActive, () => debouncedFetchRows())
219
232
  }
220
233
  };
221
234
  };
@@ -1,7 +1,8 @@
1
1
  import type { GridGetRowsParams, GridGetRowsResponse } from "../../../models/gridDataSource.js";
2
2
  export declare enum DataSourceRowsUpdateStrategy {
3
- Default = "set-new-rows",
3
+ Default = "set-flat-rows",
4
4
  LazyLoading = "replace-row-range",
5
+ GroupedData = "set-grouped-rows",
5
6
  }
6
7
  /**
7
8
  * Provides better cache hit rate by:
@@ -1,7 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  export let DataSourceRowsUpdateStrategy = /*#__PURE__*/function (DataSourceRowsUpdateStrategy) {
3
- DataSourceRowsUpdateStrategy["Default"] = "set-new-rows";
3
+ DataSourceRowsUpdateStrategy["Default"] = "set-flat-rows";
4
4
  DataSourceRowsUpdateStrategy["LazyLoading"] = "replace-row-range";
5
+ DataSourceRowsUpdateStrategy["GroupedData"] = "set-grouped-rows";
5
6
  return DataSourceRowsUpdateStrategy;
6
7
  }({});
7
8
 
@@ -0,0 +1,5 @@
1
+ import { CellEditableConditionFn } from "../../../models/configuration/gridCellEditableConfiguration.js";
2
+ /**
3
+ * Default implementation of the cell editable condition hook
4
+ */
5
+ export declare const useIsCellEditable: () => CellEditableConditionFn;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { isAutogeneratedRowNode } from "../rows/gridRowsUtils.js";
5
+
6
+ /**
7
+ * Default implementation of the cell editable condition hook
8
+ */
9
+ export const useIsCellEditable = () => React.useCallback(params => !isAutogeneratedRowNode(params.rowNode), []);
@@ -1,6 +1,7 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridPrivateApiCommunity } from "../../../models/api/gridApiCommunity.js";
3
3
  import { DataGridProcessedProps } from "../../../models/props/DataGridProps.js";
4
+ import { GridConfiguration } from "../../../models/configuration/gridConfiguration.js";
4
5
  import { GridStateInitializer } from "../../utils/useGridInitializeState.js";
5
6
  export declare const editingStateInitializer: GridStateInitializer;
6
- export declare const useGridEditing: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "isCellEditable" | "editMode" | "processRowUpdate" | "dataSource" | "onDataSourceError">) => void;
7
+ export declare const useGridEditing: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "isCellEditable" | "editMode" | "processRowUpdate" | "dataSource" | "onDataSourceError">, configuration: GridConfiguration) => void;
@@ -7,19 +7,19 @@ import { useGridCellEditing } from "./useGridCellEditing.js";
7
7
  import { GridCellModes, GridEditModes } from "../../../models/gridEditRowModel.js";
8
8
  import { useGridRowEditing } from "./useGridRowEditing.js";
9
9
  import { gridEditRowsStateSelector } from "./gridEditingSelectors.js";
10
- import { isAutogeneratedRowNode } from "../rows/gridRowsUtils.js";
11
10
  export const editingStateInitializer = state => _extends({}, state, {
12
11
  editRows: {}
13
12
  });
14
- export const useGridEditing = (apiRef, props) => {
13
+ export const useGridEditing = (apiRef, props, configuration) => {
15
14
  useGridCellEditing(apiRef, props);
16
15
  useGridRowEditing(apiRef, props);
17
16
  const debounceMap = React.useRef({});
18
17
  const {
19
18
  isCellEditable: isCellEditableProp
20
19
  } = props;
20
+ const isCellEditableFn = configuration.hooks.useIsCellEditable(apiRef, props);
21
21
  const isCellEditable = React.useCallback(params => {
22
- if (isAutogeneratedRowNode(params.rowNode)) {
22
+ if (!isCellEditableFn(params)) {
23
23
  return false;
24
24
  }
25
25
  if (!params.colDef.editable) {
@@ -32,7 +32,7 @@ export const useGridEditing = (apiRef, props) => {
32
32
  return isCellEditableProp(params);
33
33
  }
34
34
  return true;
35
- }, [isCellEditableProp]);
35
+ }, [isCellEditableProp, isCellEditableFn]);
36
36
  const maybeDebounce = (id, field, debounceMs, callback) => {
37
37
  if (!debounceMs) {
38
38
  callback();
@@ -2,6 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
+ import debounce from '@mui/utils/debounce';
5
6
  import useEventCallback from '@mui/utils/useEventCallback';
6
7
  import ownerDocument from '@mui/utils/ownerDocument';
7
8
  import { gridClasses } from "../../../constants/gridClasses.js";
@@ -318,7 +319,7 @@ export const useGridFocus = (apiRef, props) => {
318
319
  apiRef.current.setCellFocus(params.id, params.field);
319
320
  }
320
321
  }, [apiRef]);
321
- const handleRowSet = React.useCallback(() => {
322
+ const handleRowsSet = React.useCallback(() => {
322
323
  const cell = gridFocusCellSelector(apiRef);
323
324
 
324
325
  // If the focused cell is in a row which does not exist anymore,
@@ -349,6 +350,7 @@ export const useGridFocus = (apiRef, props) => {
349
350
  }));
350
351
  }
351
352
  }, [apiRef, props.pagination, props.paginationMode]);
353
+ const debouncedHandleRowsSet = React.useMemo(() => debounce(handleRowsSet, 0), [handleRowsSet]);
352
354
  const handlePaginationModelChange = useEventCallback(() => {
353
355
  const currentFocusedCell = gridFocusCellSelector(apiRef);
354
356
  if (!currentFocusedCell) {
@@ -403,6 +405,6 @@ export const useGridFocus = (apiRef, props) => {
403
405
  useGridEvent(apiRef, 'cellModeChange', handleCellModeChange);
404
406
  useGridEvent(apiRef, 'columnHeaderFocus', handleColumnHeaderFocus);
405
407
  useGridEvent(apiRef, 'columnGroupHeaderFocus', handleColumnGroupHeaderFocus);
406
- useGridEvent(apiRef, 'rowsSet', handleRowSet);
408
+ useGridEvent(apiRef, 'rowsSet', debouncedHandleRowsSet);
407
409
  useGridEvent(apiRef, 'paginationModelChange', handlePaginationModelChange);
408
410
  };
@@ -506,7 +506,9 @@ export const useGridRowSelection = (apiRef, props) => {
506
506
  }
507
507
  if (String.fromCharCode(event.keyCode) === 'A' && (event.ctrlKey || event.metaKey)) {
508
508
  event.preventDefault();
509
- toggleAllRows(true);
509
+ if (canHaveMultipleSelection) {
510
+ toggleAllRows(true);
511
+ }
510
512
  }
511
513
  }, [apiRef, canHaveMultipleSelection, handleSingleRowSelection, toggleAllRows]);
512
514
  const syncControlledState = useEventCallback(() => {
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.14.1
2
+ * @mui/x-data-grid v8.16.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -56,6 +56,7 @@ export { useGridAriaAttributes } from "../hooks/utils/useGridAriaAttributes.js";
56
56
  export { useGridRowAriaAttributes } from "../hooks/features/rows/useGridRowAriaAttributes.js";
57
57
  export { useGridRowsOverridableMethods } from "../hooks/features/rows/useGridRowsOverridableMethods.js";
58
58
  export { useGridParamsOverridableMethods } from "../hooks/features/rows/useGridParamsOverridableMethods.js";
59
+ export { useIsCellEditable } from "../hooks/features/editing/useGridCellEditable.js";
59
60
  export { useGridRowsPreProcessors } from "../hooks/features/rows/useGridRowsPreProcessors.js";
60
61
  export type { GridRowTreeCreationParams, GridRowTreeCreationValue, GridHydrateRowsValue, GridRowsPartialUpdates, GridRowsPartialUpdateAction, GridTreeDepths, GridPinnedRowsState } from "../hooks/features/rows/gridRowsInterfaces.js";
61
62
  export { getTreeNodeDescendants, buildRootGroup } from "../hooks/features/rows/gridRowsUtils.js";
@@ -87,7 +88,7 @@ export { useGridInitializeState } from "../hooks/utils/useGridInitializeState.js
87
88
  export type { GridStateInitializer } from "../hooks/utils/useGridInitializeState.js";
88
89
  export type * as BaseSlots from "../models/gridBaseSlots.js";
89
90
  export type * from "../models/props/DataGridProps.js";
90
- export type { GridDataSourceApiBase, GridDataSourceApi, GridDataSourceBaseOptions } from "../hooks/features/dataSource/models.js";
91
+ export type { GridDataSourceApiBase, GridDataSourceApi, GridDataSourceBaseOptions, GridDataSourceFetchRowsParams } from "../hooks/features/dataSource/models.js";
91
92
  export { DataSourceRowsUpdateStrategy } from "../hooks/features/dataSource/utils.js";
92
93
  export { useGridDataSourceBase } from "../hooks/features/dataSource/useGridDataSourceBase.js";
93
94
  export { CacheChunkManager } from "../hooks/features/dataSource/utils.js";
@@ -117,6 +118,7 @@ export type { Localization } from "../utils/getGridLocalization.js";
117
118
  export * from "./demo/index.js";
118
119
  export { GridSkeletonLoadingOverlayInner } from "../components/GridSkeletonLoadingOverlay.js";
119
120
  export type { GridConfiguration } from "../models/configuration/gridConfiguration.js";
121
+ export type { CellEditableConditionFn } from "../models/configuration/gridCellEditableConfiguration.js";
120
122
  export * from "../hooks/features/pivoting/index.js";
121
123
  export { createSvgIcon } from "../material/icons/createSvgIcon.js";
122
124
  export { useGridPanelContext } from "../components/panel/GridPanelContext.js";
@@ -45,6 +45,7 @@ export { useGridAriaAttributes } from "../hooks/utils/useGridAriaAttributes.js";
45
45
  export { useGridRowAriaAttributes } from "../hooks/features/rows/useGridRowAriaAttributes.js";
46
46
  export { useGridRowsOverridableMethods } from "../hooks/features/rows/useGridRowsOverridableMethods.js";
47
47
  export { useGridParamsOverridableMethods } from "../hooks/features/rows/useGridParamsOverridableMethods.js";
48
+ export { useIsCellEditable } from "../hooks/features/editing/useGridCellEditable.js";
48
49
  export { useGridRowsPreProcessors } from "../hooks/features/rows/useGridRowsPreProcessors.js";
49
50
  export { getTreeNodeDescendants, buildRootGroup } from "../hooks/features/rows/gridRowsUtils.js";
50
51
  export { useGridRowsMeta, rowsMetaStateInitializer } from "../hooks/features/rows/useGridRowsMeta.js";
@@ -298,5 +298,6 @@ const arSDGrid = {
298
298
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
299
299
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
300
300
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
301
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
301
302
  };
302
303
  export const arSD = getGridLocalization(arSDGrid);
@@ -322,5 +322,6 @@ const beBYGrid = {
322
322
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
323
323
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
324
324
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
325
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
325
326
  };
326
327
  export const beBY = getGridLocalization(beBYGrid);
@@ -299,5 +299,6 @@ const bgBGGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const bgBG = getGridLocalization(bgBGGrid);
@@ -297,5 +297,6 @@ const bnBDGrid = {
297
297
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
298
298
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
299
299
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
300
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
300
301
  };
301
302
  export const bnBD = getGridLocalization(bnBDGrid);
@@ -325,5 +325,6 @@ const csCZGrid = {
325
325
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
326
326
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
327
327
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
328
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
328
329
  };
329
330
  export const csCZ = getGridLocalization(csCZGrid);
@@ -299,5 +299,6 @@ const daDKGrid = {
299
299
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
300
300
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
301
301
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
302
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
302
303
  };
303
304
  export const daDK = getGridLocalization(daDKGrid);
@@ -289,5 +289,6 @@ const deDEGrid = {
289
289
  promptChangePivotRowsLabel: count => `Zeilen (${count})`,
290
290
  promptChangePivotValuesLabel: count => `Werte (${count})`,
291
291
  promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
292
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
292
293
  };
293
294
  export const deDE = getGridLocalization(deDEGrid);
@@ -300,5 +300,6 @@ const elGRGrid = {
300
300
  // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
301
301
  // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
302
302
  // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
303
+ // promptChangeChartsLabel: (dimensionsCount: number, valuesCount: number) => `Dimensions (${dimensionsCount}), Values (${valuesCount})`,
303
304
  };
304
305
  export const elGR = getGridLocalization(elGRGrid);