@mui/x-data-grid 8.15.0 → 8.17.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 (204) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/DataGrid/DataGrid.js +2 -0
  3. package/DataGrid/useDataGridComponent.js +1 -1
  4. package/colDef/gridCheckboxSelectionColDef.js +0 -2
  5. package/components/GridColumnSortButton.d.ts +1 -1
  6. package/components/GridFooter.d.ts +2 -3
  7. package/components/GridFooter.js +0 -2
  8. package/components/GridHeader.d.ts +1 -2
  9. package/components/GridHeaders.d.ts +1 -2
  10. package/components/GridHeaders.js +0 -2
  11. package/components/GridNoColumnsOverlay.d.ts +2 -3
  12. package/components/GridNoColumnsOverlay.js +0 -2
  13. package/components/GridNoResultsOverlay.d.ts +2 -3
  14. package/components/GridNoResultsOverlay.js +0 -2
  15. package/components/GridNoRowsOverlay.d.ts +2 -3
  16. package/components/GridNoRowsOverlay.js +0 -2
  17. package/components/GridPagination.d.ts +1 -2
  18. package/components/GridScrollArea.d.ts +1 -2
  19. package/components/GridScrollShadows.d.ts +1 -2
  20. package/components/GridScrollbarFillerCell.d.ts +1 -2
  21. package/components/GridScrollbarFillerCell.js +0 -2
  22. package/components/base/GridFooterPlaceholder.d.ts +1 -2
  23. package/components/base/GridFooterPlaceholder.js +0 -2
  24. package/components/base/GridOverlays.d.ts +1 -1
  25. package/components/cell/GridActionsCell.d.ts +2 -3
  26. package/components/cell/GridActionsCell.js +2 -0
  27. package/components/cell/GridActionsCellItem.js +5 -18
  28. package/components/cell/GridBooleanCell.d.ts +1 -1
  29. package/components/cell/GridCell.js +8 -1
  30. package/components/cell/GridEditBooleanCell.d.ts +2 -2
  31. package/components/cell/GridEditDateCell.d.ts +2 -2
  32. package/components/cell/GridEditInputCell.d.ts +1 -1
  33. package/components/cell/GridEditInputCell.js +0 -68
  34. package/components/cell/GridEditSingleSelectCell.d.ts +2 -3
  35. package/components/cell/GridSkeletonCell.d.ts +1 -1
  36. package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
  37. package/components/columnHeaders/GridColumnGroupHeader.d.ts +1 -1
  38. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +1 -1
  39. package/components/columnHeaders/GridColumnHeaderItem.d.ts +1 -1
  40. package/components/columnHeaders/GridColumnHeaderSeparator.d.ts +1 -1
  41. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -1
  42. package/components/columnHeaders/GridColumnHeaderTitle.d.ts +1 -1
  43. package/components/columnsManagement/GridColumnsManagement.d.ts +1 -2
  44. package/components/menu/GridMenu.d.ts +1 -1
  45. package/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
  46. package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -3
  47. package/components/menu/columnMenu/GridColumnMenu.js +0 -2
  48. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.d.ts +1 -2
  49. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.d.ts +1 -2
  50. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.d.ts +1 -2
  51. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.d.ts +1 -2
  52. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.d.ts +1 -2
  53. package/components/panel/GridColumnsPanel.d.ts +1 -2
  54. package/components/panel/GridColumnsPanel.js +0 -2
  55. package/components/panel/GridPanelContent.d.ts +1 -1
  56. package/components/panel/GridPanelContext.d.ts +1 -1
  57. package/components/panel/GridPanelFooter.d.ts +1 -1
  58. package/components/panel/GridPanelHeader.d.ts +1 -1
  59. package/components/panel/GridPreferencesPanel.d.ts +1 -2
  60. package/components/panel/GridPreferencesPanel.js +0 -2
  61. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -2
  62. package/components/panel/filterPanel/GridFilterInputDate.d.ts +1 -2
  63. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +1 -2
  64. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -2
  65. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -2
  66. package/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -2
  67. package/components/quickFilter/QuickFilter.d.ts +1 -1
  68. package/components/toolbar/GridToolbar.d.ts +1 -2
  69. package/components/toolbar/GridToolbar.js +0 -2
  70. package/components/toolbar/GridToolbarExport.d.ts +2 -2
  71. package/components/toolbar/GridToolbarQuickFilter.d.ts +1 -2
  72. package/components/toolbar/GridToolbarQuickFilter.js +0 -2
  73. package/components/toolbarV8/GridToolbar.d.ts +3 -3
  74. package/components/virtualization/GridBottomContainer.d.ts +1 -1
  75. package/components/virtualization/GridTopContainer.d.ts +1 -1
  76. package/components/virtualization/GridVirtualScroller.d.ts +1 -1
  77. package/components/virtualization/GridVirtualScrollerFiller.d.ts +1 -2
  78. package/context/GridContextProvider.d.ts +1 -1
  79. package/esm/DataGrid/DataGrid.js +2 -0
  80. package/esm/DataGrid/useDataGridComponent.js +1 -1
  81. package/esm/colDef/gridCheckboxSelectionColDef.js +0 -1
  82. package/esm/components/GridColumnSortButton.d.ts +1 -1
  83. package/esm/components/GridFooter.d.ts +2 -3
  84. package/esm/components/GridFooter.js +0 -1
  85. package/esm/components/GridHeader.d.ts +1 -2
  86. package/esm/components/GridHeaders.d.ts +1 -2
  87. package/esm/components/GridHeaders.js +0 -1
  88. package/esm/components/GridNoColumnsOverlay.d.ts +2 -3
  89. package/esm/components/GridNoColumnsOverlay.js +0 -1
  90. package/esm/components/GridNoResultsOverlay.d.ts +2 -3
  91. package/esm/components/GridNoResultsOverlay.js +0 -1
  92. package/esm/components/GridNoRowsOverlay.d.ts +2 -3
  93. package/esm/components/GridNoRowsOverlay.js +0 -1
  94. package/esm/components/GridPagination.d.ts +1 -2
  95. package/esm/components/GridScrollArea.d.ts +1 -2
  96. package/esm/components/GridScrollShadows.d.ts +1 -2
  97. package/esm/components/GridScrollbarFillerCell.d.ts +1 -2
  98. package/esm/components/GridScrollbarFillerCell.js +0 -1
  99. package/esm/components/base/GridFooterPlaceholder.d.ts +1 -2
  100. package/esm/components/base/GridFooterPlaceholder.js +0 -1
  101. package/esm/components/base/GridOverlays.d.ts +1 -1
  102. package/esm/components/cell/GridActionsCell.d.ts +2 -3
  103. package/esm/components/cell/GridActionsCell.js +2 -0
  104. package/esm/components/cell/GridActionsCellItem.js +4 -17
  105. package/esm/components/cell/GridBooleanCell.d.ts +1 -1
  106. package/esm/components/cell/GridCell.js +8 -1
  107. package/esm/components/cell/GridEditBooleanCell.d.ts +2 -2
  108. package/esm/components/cell/GridEditDateCell.d.ts +2 -2
  109. package/esm/components/cell/GridEditInputCell.d.ts +1 -1
  110. package/esm/components/cell/GridEditInputCell.js +0 -68
  111. package/esm/components/cell/GridEditSingleSelectCell.d.ts +2 -3
  112. package/esm/components/cell/GridSkeletonCell.d.ts +1 -1
  113. package/esm/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
  114. package/esm/components/columnHeaders/GridColumnGroupHeader.d.ts +1 -1
  115. package/esm/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +1 -1
  116. package/esm/components/columnHeaders/GridColumnHeaderItem.d.ts +1 -1
  117. package/esm/components/columnHeaders/GridColumnHeaderSeparator.d.ts +1 -1
  118. package/esm/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -1
  119. package/esm/components/columnHeaders/GridColumnHeaderTitle.d.ts +1 -1
  120. package/esm/components/columnsManagement/GridColumnsManagement.d.ts +1 -2
  121. package/esm/components/menu/GridMenu.d.ts +1 -1
  122. package/esm/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
  123. package/esm/components/menu/columnMenu/GridColumnMenu.d.ts +2 -3
  124. package/esm/components/menu/columnMenu/GridColumnMenu.js +0 -1
  125. package/esm/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.d.ts +1 -2
  126. package/esm/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.d.ts +1 -2
  127. package/esm/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.d.ts +1 -2
  128. package/esm/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.d.ts +1 -2
  129. package/esm/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.d.ts +1 -2
  130. package/esm/components/panel/GridColumnsPanel.d.ts +1 -2
  131. package/esm/components/panel/GridColumnsPanel.js +0 -1
  132. package/esm/components/panel/GridPanelContent.d.ts +1 -1
  133. package/esm/components/panel/GridPanelContext.d.ts +1 -1
  134. package/esm/components/panel/GridPanelFooter.d.ts +1 -1
  135. package/esm/components/panel/GridPanelHeader.d.ts +1 -1
  136. package/esm/components/panel/GridPreferencesPanel.d.ts +1 -2
  137. package/esm/components/panel/GridPreferencesPanel.js +0 -1
  138. package/esm/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -2
  139. package/esm/components/panel/filterPanel/GridFilterInputDate.d.ts +1 -2
  140. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +1 -2
  141. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -2
  142. package/esm/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -2
  143. package/esm/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -2
  144. package/esm/components/quickFilter/QuickFilter.d.ts +1 -1
  145. package/esm/components/toolbar/GridToolbar.d.ts +1 -2
  146. package/esm/components/toolbar/GridToolbar.js +0 -1
  147. package/esm/components/toolbar/GridToolbarExport.d.ts +2 -2
  148. package/esm/components/toolbar/GridToolbarQuickFilter.d.ts +1 -2
  149. package/esm/components/toolbar/GridToolbarQuickFilter.js +0 -1
  150. package/esm/components/toolbarV8/GridToolbar.d.ts +3 -3
  151. package/esm/components/virtualization/GridBottomContainer.d.ts +1 -1
  152. package/esm/components/virtualization/GridTopContainer.d.ts +1 -1
  153. package/esm/components/virtualization/GridVirtualScroller.d.ts +1 -1
  154. package/esm/components/virtualization/GridVirtualScrollerFiller.d.ts +1 -2
  155. package/esm/context/GridContextProvider.d.ts +1 -1
  156. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +2 -2
  157. package/esm/hooks/features/editing/useGridCellEditable.d.ts +5 -0
  158. package/esm/hooks/features/editing/useGridCellEditable.js +9 -0
  159. package/esm/hooks/features/editing/useGridEditing.d.ts +2 -1
  160. package/esm/hooks/features/editing/useGridEditing.js +4 -4
  161. package/esm/hooks/features/focus/useGridFocus.js +4 -2
  162. package/esm/hooks/features/pagination/useGridPaginationModel.js +5 -3
  163. package/esm/hooks/features/rowSelection/useGridRowSelection.js +3 -1
  164. package/esm/index.js +1 -1
  165. package/esm/internals/demo/TailwindDemoContainer.d.ts +1 -1
  166. package/esm/internals/index.d.ts +2 -0
  167. package/esm/internals/index.js +1 -0
  168. package/esm/locales/arSD.js +12 -12
  169. package/esm/locales/caES.d.ts +2 -0
  170. package/esm/locales/caES.js +291 -0
  171. package/esm/locales/esES.js +109 -120
  172. package/esm/locales/index.d.ts +1 -0
  173. package/esm/locales/index.js +1 -0
  174. package/esm/material/icons/index.d.ts +0 -1
  175. package/esm/material/icons/index.js +0 -1
  176. package/esm/models/configuration/gridCellEditableConfiguration.d.ts +19 -0
  177. package/esm/models/configuration/gridCellEditableConfiguration.js +1 -0
  178. package/esm/models/configuration/gridConfiguration.d.ts +2 -1
  179. package/esm/utils/css/context.d.ts +3 -3
  180. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +2 -2
  181. package/hooks/features/editing/useGridCellEditable.d.ts +5 -0
  182. package/hooks/features/editing/useGridCellEditable.js +15 -0
  183. package/hooks/features/editing/useGridEditing.d.ts +2 -1
  184. package/hooks/features/editing/useGridEditing.js +4 -4
  185. package/hooks/features/focus/useGridFocus.js +4 -2
  186. package/hooks/features/pagination/useGridPaginationModel.js +5 -3
  187. package/hooks/features/rowSelection/useGridRowSelection.js +3 -1
  188. package/index.js +1 -1
  189. package/internals/demo/TailwindDemoContainer.d.ts +1 -1
  190. package/internals/index.d.ts +2 -0
  191. package/internals/index.js +8 -0
  192. package/locales/arSD.js +12 -12
  193. package/locales/caES.d.ts +2 -0
  194. package/locales/caES.js +297 -0
  195. package/locales/esES.js +109 -120
  196. package/locales/index.d.ts +1 -0
  197. package/locales/index.js +11 -0
  198. package/material/icons/index.d.ts +0 -1
  199. package/material/icons/index.js +0 -2
  200. package/models/configuration/gridCellEditableConfiguration.d.ts +19 -0
  201. package/models/configuration/gridCellEditableConfiguration.js +5 -0
  202. package/models/configuration/gridConfiguration.d.ts +2 -1
  203. package/package.json +3 -3
  204. package/utils/css/context.d.ts +3 -3
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { GridRowAriaAttributesInternalHook, GridRowsOverridableMethodsInternalHook } from "./gridRowConfiguration.js";
3
3
  import type { GridAggregationInternalHooks } from "./gridAggregationConfiguration.js";
4
+ import type { GridCellEditableInternalHook } from "./gridCellEditableConfiguration.js";
4
5
  import type { GridCSSVariablesInterface } from "../../constants/cssVariables.js";
5
6
  import { DataGridProcessedProps } from "../props/DataGridProps.js";
6
7
  import type { GridPrivateApiCommon } from "../api/gridApiCommon.js";
@@ -9,7 +10,7 @@ import type { GridParamsOverridableMethodsInternalHook } from "./gridParamsConfi
9
10
  export interface GridAriaAttributesInternalHook {
10
11
  useGridAriaAttributes: () => React.HTMLAttributes<HTMLElement>;
11
12
  }
12
- export interface GridInternalHook<Api, Props> extends GridAriaAttributesInternalHook, GridRowAriaAttributesInternalHook, GridAggregationInternalHooks<Api, Props>, GridRowsOverridableMethodsInternalHook<Api>, GridParamsOverridableMethodsInternalHook<Api> {
13
+ export interface GridInternalHook<Api, Props> extends GridAriaAttributesInternalHook, GridRowAriaAttributesInternalHook, GridCellEditableInternalHook<Api, Props>, GridAggregationInternalHooks<Api, Props>, GridRowsOverridableMethodsInternalHook<Api>, GridParamsOverridableMethodsInternalHook<Api> {
13
14
  useCSSVariables: () => {
14
15
  id: string;
15
16
  variables: GridCSSVariablesInterface;
@@ -2,13 +2,13 @@ import * as React from 'react';
2
2
  export declare function useCSSVariablesClass(): string;
3
3
  export declare function useCSSVariablesContext(): {
4
4
  className: string;
5
- tag: React.JSX.Element;
5
+ tag: import("react/jsx-runtime").JSX.Element;
6
6
  };
7
7
  export declare function GridPortalWrapper({
8
8
  children
9
9
  }: {
10
10
  children: React.ReactNode;
11
- }): React.JSX.Element;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
12
  export declare function GridCSSVariablesContext(props: {
13
13
  children: any;
14
- }): React.JSX.Element;
14
+ }): import("react/jsx-runtime").JSX.Element;
@@ -48,8 +48,8 @@ export declare const useGridColumnHeaders: (props: UseGridColumnHeadersProps) =>
48
48
  };
49
49
  visibleColumns: GridStateColDef[];
50
50
  columnPositions: number[];
51
- getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => React.JSX.Element;
52
- getColumnHeadersRow: () => React.JSX.Element;
51
+ getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => import("react/jsx-runtime").JSX.Element;
52
+ getColumnHeadersRow: () => import("react/jsx-runtime").JSX.Element;
53
53
  getColumnsToRender: (params?: GetHeadersParams) => {
54
54
  renderedColumns: GridStateColDef[];
55
55
  firstColumnToRender: number;
@@ -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,15 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useIsCellEditable = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _gridRowsUtils = require("../rows/gridRowsUtils");
11
+ /**
12
+ * Default implementation of the cell editable condition hook
13
+ */
14
+ const useIsCellEditable = () => React.useCallback(params => !(0, _gridRowsUtils.isAutogeneratedRowNode)(params.rowNode), []);
15
+ exports.useIsCellEditable = useIsCellEditable;
@@ -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;
@@ -14,20 +14,20 @@ var _useGridCellEditing = require("./useGridCellEditing");
14
14
  var _gridEditRowModel = require("../../../models/gridEditRowModel");
15
15
  var _useGridRowEditing = require("./useGridRowEditing");
16
16
  var _gridEditingSelectors = require("./gridEditingSelectors");
17
- var _gridRowsUtils = require("../rows/gridRowsUtils");
18
17
  const editingStateInitializer = state => (0, _extends2.default)({}, state, {
19
18
  editRows: {}
20
19
  });
21
20
  exports.editingStateInitializer = editingStateInitializer;
22
- const useGridEditing = (apiRef, props) => {
21
+ const useGridEditing = (apiRef, props, configuration) => {
23
22
  (0, _useGridCellEditing.useGridCellEditing)(apiRef, props);
24
23
  (0, _useGridRowEditing.useGridRowEditing)(apiRef, props);
25
24
  const debounceMap = React.useRef({});
26
25
  const {
27
26
  isCellEditable: isCellEditableProp
28
27
  } = props;
28
+ const isCellEditableFn = configuration.hooks.useIsCellEditable(apiRef, props);
29
29
  const isCellEditable = React.useCallback(params => {
30
- if ((0, _gridRowsUtils.isAutogeneratedRowNode)(params.rowNode)) {
30
+ if (!isCellEditableFn(params)) {
31
31
  return false;
32
32
  }
33
33
  if (!params.colDef.editable) {
@@ -40,7 +40,7 @@ const useGridEditing = (apiRef, props) => {
40
40
  return isCellEditableProp(params);
41
41
  }
42
42
  return true;
43
- }, [isCellEditableProp]);
43
+ }, [isCellEditableProp, isCellEditableFn]);
44
44
  const maybeDebounce = (id, field, debounceMs, callback) => {
45
45
  if (!debounceMs) {
46
46
  callback();
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.useGridFocus = exports.focusStateInitializer = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
+ var _debounce = _interopRequireDefault(require("@mui/utils/debounce"));
12
13
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
13
14
  var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
14
15
  var _gridClasses = require("../../../constants/gridClasses");
@@ -326,7 +327,7 @@ const useGridFocus = (apiRef, props) => {
326
327
  apiRef.current.setCellFocus(params.id, params.field);
327
328
  }
328
329
  }, [apiRef]);
329
- const handleRowSet = React.useCallback(() => {
330
+ const handleRowsSet = React.useCallback(() => {
330
331
  const cell = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
331
332
 
332
333
  // If the focused cell is in a row which does not exist anymore,
@@ -357,6 +358,7 @@ const useGridFocus = (apiRef, props) => {
357
358
  }));
358
359
  }
359
360
  }, [apiRef, props.pagination, props.paginationMode]);
361
+ const debouncedHandleRowsSet = React.useMemo(() => (0, _debounce.default)(handleRowsSet, 0), [handleRowsSet]);
360
362
  const handlePaginationModelChange = (0, _useEventCallback.default)(() => {
361
363
  const currentFocusedCell = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
362
364
  if (!currentFocusedCell) {
@@ -411,7 +413,7 @@ const useGridFocus = (apiRef, props) => {
411
413
  (0, _useGridEvent.useGridEvent)(apiRef, 'cellModeChange', handleCellModeChange);
412
414
  (0, _useGridEvent.useGridEvent)(apiRef, 'columnHeaderFocus', handleColumnHeaderFocus);
413
415
  (0, _useGridEvent.useGridEvent)(apiRef, 'columnGroupHeaderFocus', handleColumnGroupHeaderFocus);
414
- (0, _useGridEvent.useGridEvent)(apiRef, 'rowsSet', handleRowSet);
416
+ (0, _useGridEvent.useGridEvent)(apiRef, 'rowsSet', debouncedHandleRowsSet);
415
417
  (0, _useGridEvent.useGridEvent)(apiRef, 'paginationModelChange', handlePaginationModelChange);
416
418
  };
417
419
  exports.useGridFocus = useGridFocus;
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.useGridPaginationModel = exports.getDerivedPaginationModel = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
+ var _debounce = _interopRequireDefault(require("@mui/utils/debounce"));
12
13
  var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
13
14
  var _gridFilterSelector = require("../filter/gridFilterSelector");
14
15
  var _density = require("../density");
@@ -182,6 +183,7 @@ const useGridPaginationModel = (apiRef, props) => {
182
183
  });
183
184
  }
184
185
  }, [apiRef]);
186
+ const debouncedNavigateToStart = React.useMemo(() => (0, _debounce.default)(navigateToStart, 0), [navigateToStart]);
185
187
 
186
188
  /**
187
189
  * Resets the page only if the active items or quick filter has changed from the last time.
@@ -198,12 +200,12 @@ const useGridPaginationModel = (apiRef, props) => {
198
200
  return;
199
201
  }
200
202
  previousFilterModel.current = currentActiveFilters;
201
- navigateToStart();
202
- }, [apiRef, navigateToStart]);
203
+ debouncedNavigateToStart();
204
+ }, [apiRef, debouncedNavigateToStart]);
203
205
  (0, _utils.useGridEvent)(apiRef, 'viewportInnerSizeChange', handleUpdateAutoPageSize);
204
206
  (0, _utils.useGridEvent)(apiRef, 'paginationModelChange', handlePaginationModelChange);
205
207
  (0, _utils.useGridEvent)(apiRef, 'rowCountChange', handleRowCountChange);
206
- (0, _utils.useGridEvent)(apiRef, 'sortModelChange', navigateToStart);
208
+ (0, _utils.useGridEvent)(apiRef, 'sortModelChange', debouncedNavigateToStart);
207
209
  (0, _utils.useGridEvent)(apiRef, 'filterModelChange', handleFilterModelChange);
208
210
 
209
211
  /**
@@ -514,7 +514,9 @@ const useGridRowSelection = (apiRef, props) => {
514
514
  }
515
515
  if (String.fromCharCode(event.keyCode) === 'A' && (event.ctrlKey || event.metaKey)) {
516
516
  event.preventDefault();
517
- toggleAllRows(true);
517
+ if (canHaveMultipleSelection) {
518
+ toggleAllRows(true);
519
+ }
518
520
  }
519
521
  }, [apiRef, canHaveMultipleSelection, handleSingleRowSelection, toggleAllRows]);
520
522
  const syncControlledState = (0, _useEventCallback.default)(() => {
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.15.0
2
+ * @mui/x-data-grid v8.17.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -7,5 +7,5 @@ interface TailwindDemoContainerProps {
7
7
  * WARNING: This is an internal component used in documentation to inject the Tailwind script.
8
8
  * Please do not use it in your application.
9
9
  */
10
- export declare function TailwindDemoContainer(props: TailwindDemoContainerProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
10
+ export declare function TailwindDemoContainer(props: TailwindDemoContainerProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
11
11
  export {};
@@ -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";
@@ -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";
@@ -66,6 +66,7 @@ var _exportNames = {
66
66
  useGridRowAriaAttributes: true,
67
67
  useGridRowsOverridableMethods: true,
68
68
  useGridParamsOverridableMethods: true,
69
+ useIsCellEditable: true,
69
70
  useGridRowsPreProcessors: true,
70
71
  getTreeNodeDescendants: true,
71
72
  buildRootGroup: true,
@@ -833,6 +834,12 @@ Object.defineProperty(exports, "useGridVisibleRows", {
833
834
  return _useGridVisibleRows.useGridVisibleRows;
834
835
  }
835
836
  });
837
+ Object.defineProperty(exports, "useIsCellEditable", {
838
+ enumerable: true,
839
+ get: function () {
840
+ return _useGridCellEditable.useIsCellEditable;
841
+ }
842
+ });
836
843
  Object.defineProperty(exports, "useTimeout", {
837
844
  enumerable: true,
838
845
  get: function () {
@@ -935,6 +942,7 @@ var _useGridAriaAttributes = require("../hooks/utils/useGridAriaAttributes");
935
942
  var _useGridRowAriaAttributes = require("../hooks/features/rows/useGridRowAriaAttributes");
936
943
  var _useGridRowsOverridableMethods = require("../hooks/features/rows/useGridRowsOverridableMethods");
937
944
  var _useGridParamsOverridableMethods = require("../hooks/features/rows/useGridParamsOverridableMethods");
945
+ var _useGridCellEditable = require("../hooks/features/editing/useGridCellEditable");
938
946
  var _useGridRowsPreProcessors = require("../hooks/features/rows/useGridRowsPreProcessors");
939
947
  var _gridRowsUtils = require("../hooks/features/rows/gridRowsUtils");
940
948
  var _useGridRowsMeta = require("../hooks/features/rows/useGridRowsMeta");
package/locales/arSD.js CHANGED
@@ -166,18 +166,18 @@ const arSDGrid = {
166
166
  collapseDetailPanel: 'طوي',
167
167
  // Pagination
168
168
  paginationRowsPerPage: 'عدد الصفوف في الصفحة:',
169
- // paginationDisplayedRows: ({
170
- // from,
171
- // to,
172
- // count,
173
- // estimated
174
- // }) => {
175
- // if (!estimated) {
176
- // return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
177
- // }
178
- // const estimatedLabel = estimated && estimated > to ? `around ${estimated}` : `more than ${to}`;
179
- // return `${from}–${to} of ${count !== -1 ? count : estimatedLabel}`;
180
- // },
169
+ paginationDisplayedRows: ({
170
+ from,
171
+ to,
172
+ count,
173
+ estimated
174
+ }) => {
175
+ if (!estimated) {
176
+ return `\u200E${to}-${from}\u200E من ${count !== -1 ? count : `أكثر من ${to}`}`;
177
+ }
178
+ const estimatedLabel = estimated && estimated > to ? `حوالي ${estimated}` : `أكثر من ${to}`;
179
+ return `\u200E${to}-${from}\u200E من ${count !== -1 ? count : estimatedLabel}`;
180
+ },
181
181
  paginationItemAriaLabel: type => {
182
182
  if (type === 'first') {
183
183
  return 'انتقل إلى الصفحة الأولى';
@@ -0,0 +1,2 @@
1
+ import { Localization } from "../utils/getGridLocalization.js";
2
+ export declare const caES: Localization;
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.caES = void 0;
7
+ var _getGridLocalization = require("../utils/getGridLocalization");
8
+ const caESGrid = {
9
+ // Root
10
+ noRowsLabel: 'Sense files',
11
+ noResultsOverlayLabel: "No s'han trobat resultats",
12
+ noColumnsOverlayLabel: 'Cap columna',
13
+ noColumnsOverlayManageColumns: 'Gestiona les columnes',
14
+ emptyPivotOverlayLabel: 'Afegiu camps a files, columnes i valors per crear una taula dinàmica',
15
+ // Density selector toolbar button text
16
+ toolbarDensity: 'Densitat',
17
+ toolbarDensityLabel: 'Densitat',
18
+ toolbarDensityCompact: 'Compacta',
19
+ toolbarDensityStandard: 'Estàndard',
20
+ toolbarDensityComfortable: 'Còmoda',
21
+ // Columns selector toolbar button text
22
+ toolbarColumns: 'Columnes',
23
+ toolbarColumnsLabel: 'Selecciona columnes',
24
+ // Filters toolbar button text
25
+ toolbarFilters: 'Filtres',
26
+ toolbarFiltersLabel: 'Mostra filtres',
27
+ toolbarFiltersTooltipHide: 'Amaga filtres',
28
+ toolbarFiltersTooltipShow: 'Mostra filtres',
29
+ toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtres actius` : `${count} filtre actiu`,
30
+ // Quick filter toolbar field
31
+ toolbarQuickFilterPlaceholder: 'Cerca…',
32
+ toolbarQuickFilterLabel: 'Cerca',
33
+ toolbarQuickFilterDeleteIconLabel: 'Neteja',
34
+ // Export selector toolbar button text
35
+ toolbarExport: 'Exporta',
36
+ toolbarExportLabel: 'Exporta',
37
+ toolbarExportCSV: 'Baixa com a CSV',
38
+ toolbarExportPrint: 'Imprimeix',
39
+ toolbarExportExcel: 'Baixa com a Excel',
40
+ // Toolbar pivot button
41
+ toolbarPivot: 'Taula dinàmica',
42
+ // Toolbar charts button
43
+ toolbarCharts: 'Gràfics',
44
+ // Toolbar AI Assistant button
45
+ toolbarAssistant: "Assistent d'IA",
46
+ // Columns management text
47
+ columnsManagementSearchTitle: 'Cerca',
48
+ columnsManagementNoColumns: 'Sense columnes',
49
+ columnsManagementShowHideAllText: 'Mostra/Amaga-ho tot',
50
+ columnsManagementReset: 'Restableix',
51
+ columnsManagementDeleteIconLabel: 'Neteja',
52
+ // Filter panel text
53
+ filterPanelAddFilter: 'Afegeix filtre',
54
+ filterPanelRemoveAll: "Elimina'ls tots",
55
+ filterPanelDeleteIconLabel: 'Esborra',
56
+ filterPanelLogicOperator: 'Operador lògic',
57
+ filterPanelOperator: 'Operadors',
58
+ filterPanelOperatorAnd: 'I',
59
+ filterPanelOperatorOr: 'O',
60
+ filterPanelColumns: 'Columnes',
61
+ filterPanelInputLabel: 'Valor',
62
+ filterPanelInputPlaceholder: 'Valor del filtre',
63
+ // Filter operators text
64
+ filterOperatorContains: 'conté',
65
+ filterOperatorDoesNotContain: 'no conté',
66
+ filterOperatorEquals: 'és igual a',
67
+ filterOperatorDoesNotEqual: 'no és igual a',
68
+ filterOperatorStartsWith: 'comença per',
69
+ filterOperatorEndsWith: 'acaba en',
70
+ filterOperatorIs: 'és',
71
+ filterOperatorNot: 'no és',
72
+ filterOperatorAfter: 'és posterior',
73
+ filterOperatorOnOrAfter: 'és igual o posterior',
74
+ filterOperatorBefore: 'és anterior',
75
+ filterOperatorOnOrBefore: 'és igual o anterior',
76
+ filterOperatorIsEmpty: 'està buit',
77
+ filterOperatorIsNotEmpty: 'no està buit',
78
+ filterOperatorIsAnyOf: 'és qualsevol de',
79
+ 'filterOperator=': '=',
80
+ 'filterOperator!=': '!=',
81
+ 'filterOperator>': '>',
82
+ 'filterOperator>=': '>=',
83
+ 'filterOperator<': '<',
84
+ 'filterOperator<=': '<=',
85
+ // Header filter operators text
86
+ headerFilterOperatorContains: 'Conté',
87
+ headerFilterOperatorDoesNotContain: 'No conté',
88
+ headerFilterOperatorEquals: 'És igual a',
89
+ headerFilterOperatorDoesNotEqual: 'No és igual a',
90
+ headerFilterOperatorStartsWith: 'Comença per',
91
+ headerFilterOperatorEndsWith: 'Acaba en',
92
+ headerFilterOperatorIs: 'És',
93
+ headerFilterOperatorNot: 'No és',
94
+ headerFilterOperatorAfter: 'És posterior a',
95
+ headerFilterOperatorOnOrAfter: 'És igual o posterior a',
96
+ headerFilterOperatorBefore: 'És anterior a',
97
+ headerFilterOperatorOnOrBefore: 'És igual o anterior a',
98
+ headerFilterOperatorIsEmpty: 'Està buit',
99
+ headerFilterOperatorIsNotEmpty: 'No està buit',
100
+ headerFilterOperatorIsAnyOf: 'És qualsevol de',
101
+ 'headerFilterOperator=': 'És igual a',
102
+ 'headerFilterOperator!=': 'No és igual a',
103
+ 'headerFilterOperator>': 'És més gran que',
104
+ 'headerFilterOperator>=': 'És més gran o igual que',
105
+ 'headerFilterOperator<': 'És més petit que',
106
+ 'headerFilterOperator<=': 'És més petit o igual que',
107
+ headerFilterClear: 'Neteja filtres',
108
+ // Filter values text
109
+ filterValueAny: 'qualsevol',
110
+ filterValueTrue: 'veritable',
111
+ filterValueFalse: 'fals',
112
+ // Column menu text
113
+ columnMenuLabel: 'Menú',
114
+ columnMenuAriaLabel: columnName => `Menú de la columna ${columnName}`,
115
+ columnMenuShowColumns: 'Mostra columnes',
116
+ columnMenuManageColumns: 'Gestiona columnes',
117
+ columnMenuFilter: 'Filtre',
118
+ columnMenuHideColumn: 'Amaga',
119
+ columnMenuUnsort: 'Desordena',
120
+ columnMenuSortAsc: 'Ordena ASC',
121
+ columnMenuSortDesc: 'Ordena DESC',
122
+ columnMenuManagePivot: 'Gestiona la taula dinàmica',
123
+ columnMenuManageCharts: 'Gestiona els gràfics',
124
+ // Column header text
125
+ columnHeaderFiltersTooltipActive: count => count > 1 ? `${count} filtres actius` : `${count} filtre actiu`,
126
+ columnHeaderFiltersLabel: 'Mostra filtres',
127
+ columnHeaderSortIconLabel: 'Ordena',
128
+ // Rows selected footer text
129
+ footerRowSelected: count => count > 1 ? `${count.toLocaleString()} files seleccionades` : `${count.toLocaleString()} fila seleccionada`,
130
+ // Total row amount footer text
131
+ footerTotalRows: 'Files totals:',
132
+ // Total visible row amount footer text
133
+ footerTotalVisibleRows: (visibleCount, totalCount) => `${visibleCount.toLocaleString()} de ${totalCount.toLocaleString()}`,
134
+ // Checkbox selection text
135
+ checkboxSelectionHeaderName: 'Casella de selecció',
136
+ checkboxSelectionSelectAllRows: 'Selecciona totes les files',
137
+ checkboxSelectionUnselectAllRows: 'Desselecciona totes les files',
138
+ checkboxSelectionSelectRow: 'Selecciona fila',
139
+ checkboxSelectionUnselectRow: 'Desselecciona fila',
140
+ // Boolean cell text
141
+ booleanCellTrueLabel: 'sí',
142
+ booleanCellFalseLabel: 'no',
143
+ // Actions cell more text
144
+ actionsCellMore: 'més',
145
+ // Column pinning text
146
+ pinToLeft: "Fixa a l'esquerra",
147
+ pinToRight: 'Fixa a la dreta',
148
+ unpin: 'Desfixa',
149
+ // Tree Data
150
+ treeDataGroupingHeaderName: 'Grup',
151
+ treeDataExpand: 'mostra fills',
152
+ treeDataCollapse: 'amaga fills',
153
+ // Grouping columns
154
+ groupingColumnHeaderName: 'Grup',
155
+ groupColumn: name => `Agrupa per ${name}`,
156
+ unGroupColumn: name => `No agrupis per ${name}`,
157
+ // Master/detail
158
+ detailPanelToggle: 'Alterna detall',
159
+ expandDetailPanel: 'Expandeix',
160
+ collapseDetailPanel: 'Contrau',
161
+ // Pagination
162
+ paginationRowsPerPage: 'Files per pàgina:',
163
+ paginationDisplayedRows: ({
164
+ from,
165
+ to,
166
+ count,
167
+ estimated
168
+ }) => {
169
+ if (!estimated) {
170
+ return `${from}–${to} de ${count !== -1 ? count : `més de ${to}`}`;
171
+ }
172
+ const estimatedLabel = estimated && estimated > to ? `al voltant de ${estimated}` : `més de ${to}`;
173
+ return `${from}–${to} de ${count !== -1 ? count : estimatedLabel}`;
174
+ },
175
+ paginationItemAriaLabel: type => {
176
+ if (type === 'first') {
177
+ return 'Vés a la primera pàgina';
178
+ }
179
+ if (type === 'last') {
180
+ return "Vés a l'última pàgina";
181
+ }
182
+ if (type === 'next') {
183
+ return 'Vés a la pàgina següent';
184
+ }
185
+ // if (type === 'previous') {
186
+ return 'Vés a la pàgina anterior';
187
+ },
188
+ // Row reordering text
189
+ rowReorderingHeaderName: 'Reordena files',
190
+ // Aggregation
191
+ aggregationMenuItemHeader: 'Agregació',
192
+ aggregationFunctionLabelNone: 'cap',
193
+ aggregationFunctionLabelSum: 'suma',
194
+ aggregationFunctionLabelAvg: 'mitjana',
195
+ aggregationFunctionLabelMin: 'mínim',
196
+ aggregationFunctionLabelMax: 'màxim',
197
+ aggregationFunctionLabelSize: 'recompte',
198
+ // Pivot panel
199
+ pivotToggleLabel: 'Taula dinàmica',
200
+ pivotRows: 'Files',
201
+ pivotColumns: 'Columnes',
202
+ pivotValues: 'Valors',
203
+ pivotCloseButton: 'Tanca la configuració de taula dinàmica',
204
+ pivotSearchButton: 'Camps de cerca',
205
+ pivotSearchControlPlaceholder: 'Camps de cerca',
206
+ pivotSearchControlLabel: 'Camps de cerca',
207
+ pivotSearchControlClear: 'Neteja la cerca',
208
+ pivotNoFields: 'Cap camp',
209
+ pivotMenuMoveUp: 'Mou amunt',
210
+ pivotMenuMoveDown: 'Mou avall',
211
+ pivotMenuMoveToTop: 'Mou al principi',
212
+ pivotMenuMoveToBottom: 'Mou al final',
213
+ pivotMenuRows: 'Files',
214
+ pivotMenuColumns: 'Columnes',
215
+ pivotMenuValues: 'Valors',
216
+ pivotMenuOptions: 'Opcions del camp',
217
+ pivotMenuAddToRows: 'Afegeix a files',
218
+ pivotMenuAddToColumns: 'Afegeix a columnes',
219
+ pivotMenuAddToValues: 'Afegeix a valors',
220
+ pivotMenuRemove: 'Elimina',
221
+ pivotDragToRows: 'Arrossega aquí per crear files',
222
+ pivotDragToColumns: 'Arrossega aquí per crear columnes',
223
+ pivotDragToValues: 'Arrossega aquí per crear valors',
224
+ pivotYearColumnHeaderName: '(Any)',
225
+ pivotQuarterColumnHeaderName: '(Trimestre)',
226
+ // Charts configuration panel
227
+ chartsNoCharts: 'No hi ha cap gràfic disponible',
228
+ chartsChartNotSelected: 'Selecciona un tipus de gràfic per configurar les seves opcions',
229
+ chartsTabChart: 'Gràfic',
230
+ chartsTabFields: 'Camps',
231
+ chartsTabCustomize: 'Personalitza',
232
+ chartsCloseButton: 'Tanca la configuració de gràfics',
233
+ chartsSyncButtonLabel: 'Sincronitza gràfic',
234
+ chartsSearchPlaceholder: 'Camps de cerca',
235
+ chartsSearchLabel: 'Camps de cerca',
236
+ chartsSearchClear: 'Neteja la cerca',
237
+ chartsNoFields: 'Cap camp',
238
+ chartsFieldBlocked: 'Aquest camp no es pot afegir a cap secció',
239
+ chartsCategories: 'Categories',
240
+ chartsSeries: 'Sèries',
241
+ chartsMenuAddToDimensions: dimensionLabel => `Afegeix a ${dimensionLabel}`,
242
+ chartsMenuAddToValues: valuesLabel => `Afegeix a ${valuesLabel}`,
243
+ chartsMenuMoveUp: 'Mou amunt',
244
+ chartsMenuMoveDown: 'Mou avall',
245
+ chartsMenuMoveToTop: 'Mou al principi',
246
+ chartsMenuMoveToBottom: 'Mou al final',
247
+ chartsMenuOptions: 'Opcions del camp',
248
+ chartsMenuRemove: 'Elimina',
249
+ chartsDragToDimensions: dimensionLabel => `Arrossega aquí per utilitzar la columna com a ${dimensionLabel}`,
250
+ chartsDragToValues: valuesLabel => `Arrossega aquí per utilitzar la columna com a ${valuesLabel}`,
251
+ // AI Assistant panel
252
+ aiAssistantPanelTitle: "Assistent d'IA",
253
+ aiAssistantPanelClose: "Tanca l'assistent d'IA",
254
+ aiAssistantPanelNewConversation: 'Nova conversa',
255
+ aiAssistantPanelConversationHistory: 'Historial de converses',
256
+ aiAssistantPanelEmptyConversation: "L'historial de converses és buit",
257
+ aiAssistantSuggestions: 'Suggeriments',
258
+ // Prompt field
259
+ promptFieldLabel: 'Petició',
260
+ promptFieldPlaceholder: 'Escriu una petició…',
261
+ promptFieldPlaceholderWithRecording: 'Escriu o enregistra una petició…',
262
+ promptFieldPlaceholderListening: 'Esperant una petició…',
263
+ promptFieldSpeechRecognitionNotSupported: 'El reconeixement de veu no és compatible amb aquest navegador',
264
+ promptFieldSend: 'Envia',
265
+ promptFieldRecord: 'Enregistra',
266
+ promptFieldStopRecording: "Atura l'enregistrament",
267
+ // Prompt
268
+ promptRerun: 'Torna a executar',
269
+ promptProcessing: 'Processant…',
270
+ promptAppliedChanges: "S'han aplicat els canvis",
271
+ // Prompt changes
272
+ promptChangeGroupDescription: column => `Agrupa per ${column}`,
273
+ promptChangeAggregationLabel: (column, aggregation) => `${column} (${aggregation})`,
274
+ promptChangeAggregationDescription: (column, aggregation) => `Agrega ${column} (${aggregation})`,
275
+ promptChangeFilterLabel: (column, operator, value) => {
276
+ if (operator === 'is any of') {
277
+ return `${column} és un de: ${value}`;
278
+ }
279
+ return `${column} ${operator} ${value}`;
280
+ },
281
+ promptChangeFilterDescription: (column, operator, value) => {
282
+ if (operator === 'is any of') {
283
+ return `Filtra per ${column} quan sigui un de: ${value}`;
284
+ }
285
+ return `Filtra per ${column} ${operator} ${value}`;
286
+ },
287
+ promptChangeSortDescription: (column, direction) => `Ordena per ${column} (${direction})`,
288
+ promptChangePivotEnableLabel: 'Taula dinàmica',
289
+ promptChangePivotEnableDescription: 'Activa la taula dinàmica',
290
+ promptChangePivotColumnsLabel: count => `Columnes (${count})`,
291
+ promptChangePivotColumnsDescription: (column, direction) => `${column}${direction ? ` (${direction})` : ''}`,
292
+ promptChangePivotRowsLabel: count => `Files (${count})`,
293
+ promptChangePivotValuesLabel: count => `Valors (${count})`,
294
+ promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`,
295
+ promptChangeChartsLabel: (dimensionsCount, valuesCount) => `Dimensions (${dimensionsCount}), Valors (${valuesCount})`
296
+ };
297
+ const caES = exports.caES = (0, _getGridLocalization.getGridLocalization)(caESGrid);