@mui/x-data-grid 8.5.2 → 8.6.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 (42) hide show
  1. package/CHANGELOG.md +203 -11
  2. package/components/cell/GridActionsCell.js +0 -9
  3. package/components/cell/GridActionsCellItem.d.ts +4 -1
  4. package/components/cell/GridActionsCellItem.js +1 -1
  5. package/components/containers/GridRootStyles.d.ts +1 -1
  6. package/components/menu/GridMenu.d.ts +1 -1
  7. package/components/menu/GridMenu.js +8 -1
  8. package/components/menu/columnMenu/GridColumnMenuContainer.js +8 -0
  9. package/components/toolbar/GridToolbarDensitySelector.js +0 -10
  10. package/components/toolbar/GridToolbarExportContainer.js +0 -10
  11. package/components/toolbarV8/GridToolbar.js +1 -0
  12. package/components/toolbarV8/Toolbar.d.ts +1 -1
  13. package/esm/components/cell/GridActionsCell.js +0 -9
  14. package/esm/components/cell/GridActionsCellItem.d.ts +4 -1
  15. package/esm/components/cell/GridActionsCellItem.js +1 -1
  16. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  17. package/esm/components/menu/GridMenu.d.ts +1 -1
  18. package/esm/components/menu/GridMenu.js +8 -1
  19. package/esm/components/menu/columnMenu/GridColumnMenuContainer.js +8 -0
  20. package/esm/components/toolbar/GridToolbarDensitySelector.js +0 -10
  21. package/esm/components/toolbar/GridToolbarExportContainer.js +0 -10
  22. package/esm/components/toolbarV8/GridToolbar.js +1 -0
  23. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  24. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  25. package/esm/hooks/features/dataSource/utils.js +1 -1
  26. package/esm/hooks/features/focus/useGridFocus.js +1 -1
  27. package/esm/index.js +1 -1
  28. package/esm/internals/demo/TailwindDemoContainer.d.ts +1 -1
  29. package/esm/locales/daDK.js +4 -4
  30. package/esm/locales/deDE.js +65 -73
  31. package/esm/models/gridBaseSlots.d.ts +1 -0
  32. package/esm/models/params/gridScrollParams.d.ts +4 -0
  33. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  34. package/hooks/features/dataSource/utils.js +1 -1
  35. package/hooks/features/focus/useGridFocus.js +1 -1
  36. package/index.js +1 -1
  37. package/internals/demo/TailwindDemoContainer.d.ts +1 -1
  38. package/locales/daDK.js +4 -4
  39. package/locales/deDE.js +65 -73
  40. package/models/gridBaseSlots.d.ts +1 -0
  41. package/models/params/gridScrollParams.d.ts +4 -0
  42. package/package.json +2 -2
@@ -4,7 +4,6 @@ import PropTypes from 'prop-types';
4
4
  import useId from '@mui/utils/useId';
5
5
  import useForkRef from '@mui/utils/useForkRef';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
- import { isHideMenuKey } from "../../utils/keyboardUtils.js";
8
7
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
9
8
  import { GridMenu } from "../menu/GridMenu.js";
10
9
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
@@ -29,14 +28,6 @@ const GridToolbarExportContainer = forwardRef(function GridToolbarExportContaine
29
28
  buttonProps.onClick?.(event);
30
29
  };
31
30
  const handleMenuClose = () => setOpen(false);
32
- const handleListKeyDown = event => {
33
- if (event.key === 'Tab') {
34
- event.preventDefault();
35
- }
36
- if (isHideMenuKey(event.key)) {
37
- handleMenuClose();
38
- }
39
- };
40
31
  if (children == null) {
41
32
  return null;
42
33
  }
@@ -67,7 +58,6 @@ const GridToolbarExportContainer = forwardRef(function GridToolbarExportContaine
67
58
  id: exportMenuId,
68
59
  className: gridClasses.menuList,
69
60
  "aria-labelledby": exportButtonId,
70
- onKeyDown: handleListKeyDown,
71
61
  autoFocusItem: open,
72
62
  children: React.Children.map(children, child => {
73
63
  if (! /*#__PURE__*/React.isValidElement(child)) {
@@ -121,6 +121,7 @@ function GridToolbar(props) {
121
121
  }), additionalItems, showExportMenu && (!rootProps.disableColumnFilter || !rootProps.disableColumnSelector) && /*#__PURE__*/_jsx(GridToolbarDivider, {}), showExportMenu && /*#__PURE__*/_jsxs(React.Fragment, {
122
122
  children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
123
123
  title: apiRef.current.getLocaleText('toolbarExport'),
124
+ disableInteractive: exportMenuOpen,
124
125
  children: /*#__PURE__*/_jsx(ToolbarButton, {
125
126
  ref: exportMenuTriggerRef,
126
127
  id: exportMenuTriggerId,
@@ -6,7 +6,7 @@ export type ToolbarProps = React.HTMLAttributes<HTMLDivElement> & {
6
6
  */
7
7
  render?: RenderProp<React.ComponentProps<typeof ToolbarRoot>>;
8
8
  };
9
- declare const ToolbarRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/system").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
9
+ declare const ToolbarRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/system").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
10
10
  /**
11
11
  * The top level Toolbar component that provides context to child components.
12
12
  * It renders a styled `<div />` element.
@@ -31,7 +31,7 @@ export interface GetHeadersParams {
31
31
  type OwnerState = DataGridProcessedProps;
32
32
  export declare const GridColumnHeaderRow: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
33
33
  ownerState: OwnerState;
34
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
34
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
35
35
  export declare const useGridColumnHeaders: (props: UseGridColumnHeadersProps) => {
36
36
  renderContext: GridColumnsRenderContext;
37
37
  leftRenderContext: {
@@ -26,7 +26,7 @@ export class CacheChunkManager {
26
26
 
27
27
  // split the range into chunks
28
28
  const chunkedKeys = [];
29
- for (let i = key.start; i < key.end; i += this.chunkSize) {
29
+ for (let i = key.start; i <= key.end; i += this.chunkSize) {
30
30
  const end = Math.min(i + this.chunkSize - 1, key.end);
31
31
  chunkedKeys.push(_extends({}, key, {
32
32
  start: i,
@@ -357,7 +357,7 @@ export const useGridFocus = (apiRef, props) => {
357
357
  paginationMode: props.paginationMode
358
358
  });
359
359
  const rowIsInCurrentPage = currentPage.rows.find(row => row.id === currentFocusedCell.id);
360
- if (rowIsInCurrentPage) {
360
+ if (rowIsInCurrentPage || currentPage.rows.length === 0) {
361
361
  return;
362
362
  }
363
363
  const visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.5.2
2
+ * @mui/x-data-grid v8.6.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.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | 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> | React.JSX.Element | null | undefined;
11
11
  export {};
@@ -110,12 +110,12 @@ const daDKGrid = {
110
110
  columnMenuLabel: 'Menu',
111
111
  // columnMenuAriaLabel: (columnName: string) => `${columnName} column menu`,
112
112
  columnMenuShowColumns: 'Vis kolonner',
113
- columnMenuManageColumns: 'Administrer kolonner',
114
- columnMenuFilter: 'Filtrer',
113
+ columnMenuManageColumns: 'Administrér kolonner',
114
+ columnMenuFilter: 'Filtrér',
115
115
  columnMenuHideColumn: 'Skjul kolonne',
116
116
  columnMenuUnsort: 'Fjern sortering',
117
- columnMenuSortAsc: 'Sorter stigende',
118
- columnMenuSortDesc: 'Sorter faldende',
117
+ columnMenuSortAsc: 'Sortér stigende',
118
+ columnMenuSortDesc: 'Sortér faldende',
119
119
  // columnMenuManagePivot: 'Manage pivot',
120
120
 
121
121
  // Column header text
@@ -5,8 +5,7 @@ const deDEGrid = {
5
5
  noResultsOverlayLabel: 'Keine Ergebnisse gefunden.',
6
6
  noColumnsOverlayLabel: 'Keine Spalten',
7
7
  noColumnsOverlayManageColumns: 'Spalten verwalten',
8
- // emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
9
-
8
+ emptyPivotOverlayLabel: 'Felder zu Zeilen, Spalten und Werten hinzufügen, um eine Pivot-Tabelle zu erstellen',
10
9
  // Density selector toolbar button text
11
10
  toolbarDensity: 'Zeilenhöhe',
12
11
  toolbarDensityLabel: 'Zeilenhöhe',
@@ -33,11 +32,9 @@ const deDEGrid = {
33
32
  toolbarExportPrint: 'Drucken',
34
33
  toolbarExportExcel: 'Download als Excel',
35
34
  // Toolbar pivot button
36
- // toolbarPivot: 'Pivot',
37
-
35
+ toolbarPivot: 'Pivot',
38
36
  // Toolbar AI Assistant button
39
- // toolbarAssistant: 'AI Assistant',
40
-
37
+ toolbarAssistant: 'KI-Assistent',
41
38
  // Columns management text
42
39
  columnsManagementSearchTitle: 'Suche',
43
40
  columnsManagementNoColumns: 'Keine Spalten',
@@ -114,8 +111,7 @@ const deDEGrid = {
114
111
  columnMenuUnsort: 'Sortierung deaktivieren',
115
112
  columnMenuSortAsc: 'Sortiere aufsteigend',
116
113
  columnMenuSortDesc: 'Sortiere absteigend',
117
- // columnMenuManagePivot: 'Manage pivot',
118
-
114
+ columnMenuManagePivot: 'Pivot verwalten',
119
115
  // Column header text
120
116
  columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} aktive Filter` : `${count} aktiver Filter`,
121
117
  columnHeaderFiltersLabel: 'Zeige Filter',
@@ -190,80 +186,76 @@ const deDEGrid = {
190
186
  aggregationFunctionLabelMax: 'Maximum',
191
187
  aggregationFunctionLabelSize: 'Anzahl',
192
188
  // Pivot panel
193
- // pivotToggleLabel: 'Pivot',
194
- // pivotRows: 'Rows',
195
- // pivotColumns: 'Columns',
196
- // pivotValues: 'Values',
197
- // pivotCloseButton: 'Close pivot settings',
198
- // pivotSearchButton: 'Search fields',
199
- // pivotSearchControlPlaceholder: 'Search fields',
200
- // pivotSearchControlLabel: 'Search fields',
201
- // pivotSearchControlClear: 'Clear search',
202
- // pivotNoFields: 'No fields',
203
- // pivotMenuMoveUp: 'Move up',
204
- // pivotMenuMoveDown: 'Move down',
205
- // pivotMenuMoveToTop: 'Move to top',
206
- // pivotMenuMoveToBottom: 'Move to bottom',
207
- // pivotMenuRows: 'Rows',
208
- // pivotMenuColumns: 'Columns',
209
- // pivotMenuValues: 'Values',
210
- // pivotMenuOptions: 'Field options',
211
- // pivotMenuAddToRows: 'Add to Rows',
212
- // pivotMenuAddToColumns: 'Add to Columns',
213
- // pivotMenuAddToValues: 'Add to Values',
214
- // pivotMenuRemove: 'Remove',
215
- // pivotDragToRows: 'Drag here to create rows',
216
- // pivotDragToColumns: 'Drag here to create columns',
217
- // pivotDragToValues: 'Drag here to create values',
218
- // pivotYearColumnHeaderName: '(Year)',
219
- // pivotQuarterColumnHeaderName: '(Quarter)',
220
-
189
+ pivotToggleLabel: 'Pivot',
190
+ pivotRows: 'Zeilen',
191
+ pivotColumns: 'Spalten',
192
+ pivotValues: 'Werte',
193
+ pivotCloseButton: 'Pivot-Einstellungen schließen',
194
+ pivotSearchButton: 'Felder suchen',
195
+ pivotSearchControlPlaceholder: 'Felder suchen',
196
+ pivotSearchControlLabel: 'Felder suchen',
197
+ pivotSearchControlClear: 'Suche löschen',
198
+ pivotNoFields: 'Keine Felder',
199
+ pivotMenuMoveUp: 'Nach oben',
200
+ pivotMenuMoveDown: 'Nach unten',
201
+ pivotMenuMoveToTop: 'An den Anfang',
202
+ pivotMenuMoveToBottom: 'An das Ende',
203
+ pivotMenuRows: 'Zeilen',
204
+ pivotMenuColumns: 'Spalten',
205
+ pivotMenuValues: 'Werte',
206
+ pivotMenuOptions: 'Feldoptionen',
207
+ pivotMenuAddToRows: 'Zu Zeilen hinzufügen',
208
+ pivotMenuAddToColumns: 'Zu Spalten hinzufügen',
209
+ pivotMenuAddToValues: 'Zu Werten hinzufügen',
210
+ pivotMenuRemove: 'Entfernen',
211
+ pivotDragToRows: 'Hier hinziehen, um Zeilen zu erstellen',
212
+ pivotDragToColumns: 'Hier hinziehen, um Spalten zu erstellen',
213
+ pivotDragToValues: 'Hier hinziehen, um Werte zu erstellen',
214
+ pivotYearColumnHeaderName: '(Jahr)',
215
+ pivotQuarterColumnHeaderName: '(Quartal)',
221
216
  // AI Assistant panel
222
- // aiAssistantPanelTitle: 'AI Assistant',
223
- // aiAssistantPanelClose: 'Close AI Assistant',
224
- // aiAssistantPanelNewConversation: 'New conversation',
225
- // aiAssistantPanelConversationHistory: 'Conversation history',
226
- // aiAssistantPanelEmptyConversation: 'No prompt history',
227
- // aiAssistantSuggestions: 'Suggestions',
228
-
217
+ aiAssistantPanelTitle: 'KI-Assistent',
218
+ aiAssistantPanelClose: 'KI-Assistent schließen',
219
+ aiAssistantPanelNewConversation: 'Neue Unterhaltung',
220
+ aiAssistantPanelConversationHistory: 'Unterhaltungsverlauf',
221
+ aiAssistantPanelEmptyConversation: 'Kein Prompt-Verlauf',
222
+ aiAssistantSuggestions: 'Vorschläge',
229
223
  // Prompt field
230
224
  promptFieldLabel: 'Prompteingabe',
231
225
  promptFieldPlaceholder: 'Prompt eingeben…',
232
226
  promptFieldPlaceholderWithRecording: 'Prompt eingeben oder aufnehmen…',
233
227
  promptFieldPlaceholderListening: 'Hört Prompteingabe zu…',
234
- // promptFieldSpeechRecognitionNotSupported: 'Speech recognition is not supported in this browser',
228
+ promptFieldSpeechRecognitionNotSupported: 'Spracherkennung wird in diesem Browser nicht unterstützt',
235
229
  promptFieldSend: 'Senden',
236
230
  promptFieldRecord: 'Aufnahme starten',
237
- promptFieldStopRecording: 'Aufnahme stoppen'
238
-
231
+ promptFieldStopRecording: 'Aufnahme stoppen',
239
232
  // Prompt
240
- // promptRerun: 'Run again',
241
- // promptProcessing: 'Processing…',
242
- // promptAppliedChanges: 'Applied changes',
243
-
233
+ promptRerun: 'Erneut ausführen',
234
+ promptProcessing: 'Verarbeitung…',
235
+ promptAppliedChanges: 'Änderungen angewendet',
244
236
  // Prompt changes
245
- // promptChangeGroupDescription: (column: string) => `Group by ${column}`,
246
- // promptChangeAggregationLabel: (column: string, aggregation: string) => `${column} (${aggregation})`,
247
- // promptChangeAggregationDescription: (column: string, aggregation: string) => `Aggregate ${column} (${aggregation})`,
248
- // promptChangeFilterLabel: (column: string, operator: string, value: string) => {
249
- // if (operator === 'is any of') {
250
- // return `${column} is any of: ${value}`;
251
- // }
252
- // return `${column} ${operator} ${value}`;
253
- // },
254
- // promptChangeFilterDescription: (column: string, operator: string, value: string) => {
255
- // if (operator === 'is any of') {
256
- // return `Filter where ${column} is any of: ${value}`;
257
- // }
258
- // return `Filter where ${column} ${operator} ${value}`;
259
- // },
260
- // promptChangeSortDescription: (column: string, direction: string) => `Sort by ${column} (${direction})`,
261
- // promptChangePivotEnableLabel: 'Pivot',
262
- // promptChangePivotEnableDescription: 'Enable pivot',
263
- // promptChangePivotColumnsLabel: (count: number) => `Columns (${count})`,
264
- // promptChangePivotColumnsDescription: (column: string, direction: string) => `${column}${direction ? ` (${direction})` : ''}`,
265
- // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
266
- // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
267
- // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
237
+ promptChangeGroupDescription: column => `Gruppieren nach ${column}`,
238
+ promptChangeAggregationLabel: (column, aggregation) => `${column} (${aggregation})`,
239
+ promptChangeAggregationDescription: (column, aggregation) => `${column} aggregieren (${aggregation})`,
240
+ promptChangeFilterLabel: (column, operator, value) => {
241
+ if (operator === 'is any of') {
242
+ return `${column} entspricht einem der Werte: ${value}`;
243
+ }
244
+ return `${column} ${operator} ${value}`;
245
+ },
246
+ promptChangeFilterDescription: (column, operator, value) => {
247
+ if (operator === 'is any of') {
248
+ return `Filtern, bei dem ${column} einem der folgenden Werte entspricht: ${value}`;
249
+ }
250
+ return `Filtern wo ${column} ${operator} ${value}`;
251
+ },
252
+ promptChangeSortDescription: (column, direction) => `Sortieren nach ${column} (${direction})`,
253
+ promptChangePivotEnableLabel: 'Pivot',
254
+ promptChangePivotEnableDescription: 'Pivot aktivieren',
255
+ promptChangePivotColumnsLabel: count => `Spalten (${count})`,
256
+ promptChangePivotColumnsDescription: (column, direction) => `${column}${direction ? ` (${direction})` : ''}`,
257
+ promptChangePivotRowsLabel: count => `Zeilen (${count})`,
258
+ promptChangePivotValuesLabel: count => `Werte (${count})`,
259
+ promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
268
260
  };
269
261
  export const deDE = getGridLocalization(deDEGrid);
@@ -267,6 +267,7 @@ export type TooltipProps = CommonProps & {
267
267
  children: React.ReactElement<any, any>;
268
268
  enterDelay?: number;
269
269
  title: React.ReactNode;
270
+ disableInteractive?: boolean;
270
271
  };
271
272
  export type IconProps = CommonProps<SVGSVGElement> & {
272
273
  fontSize?: 'small' | 'medium' | 'large' | 'inherit';
@@ -2,6 +2,10 @@ export interface GridColumnsRenderContext {
2
2
  firstColumnIndex: number;
3
3
  lastColumnIndex: number;
4
4
  }
5
+ /**
6
+ * Provides the current render context range for rows and columns.
7
+ * End index is exclusive - [firstRowIndex, lastRowIndex) and [firstColumnIndex, lastColumnIndex)
8
+ */
5
9
  export interface GridRenderContext extends GridColumnsRenderContext {
6
10
  firstRowIndex: number;
7
11
  lastRowIndex: number;
@@ -31,7 +31,7 @@ export interface GetHeadersParams {
31
31
  type OwnerState = DataGridProcessedProps;
32
32
  export declare const GridColumnHeaderRow: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
33
33
  ownerState: OwnerState;
34
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
34
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
35
35
  export declare const useGridColumnHeaders: (props: UseGridColumnHeadersProps) => {
36
36
  renderContext: GridColumnsRenderContext;
37
37
  leftRenderContext: {
@@ -32,7 +32,7 @@ class CacheChunkManager {
32
32
 
33
33
  // split the range into chunks
34
34
  const chunkedKeys = [];
35
- for (let i = key.start; i < key.end; i += this.chunkSize) {
35
+ for (let i = key.start; i <= key.end; i += this.chunkSize) {
36
36
  const end = Math.min(i + this.chunkSize - 1, key.end);
37
37
  chunkedKeys.push((0, _extends2.default)({}, key, {
38
38
  start: i,
@@ -366,7 +366,7 @@ const useGridFocus = (apiRef, props) => {
366
366
  paginationMode: props.paginationMode
367
367
  });
368
368
  const rowIsInCurrentPage = currentPage.rows.find(row => row.id === currentFocusedCell.id);
369
- if (rowIsInCurrentPage) {
369
+ if (rowIsInCurrentPage || currentPage.rows.length === 0) {
370
370
  return;
371
371
  }
372
372
  const visibleColumns = (0, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector)(apiRef);
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.5.2
2
+ * @mui/x-data-grid v8.6.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.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | 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> | React.JSX.Element | null | undefined;
11
11
  export {};
package/locales/daDK.js CHANGED
@@ -116,12 +116,12 @@ const daDKGrid = {
116
116
  columnMenuLabel: 'Menu',
117
117
  // columnMenuAriaLabel: (columnName: string) => `${columnName} column menu`,
118
118
  columnMenuShowColumns: 'Vis kolonner',
119
- columnMenuManageColumns: 'Administrer kolonner',
120
- columnMenuFilter: 'Filtrer',
119
+ columnMenuManageColumns: 'Administrér kolonner',
120
+ columnMenuFilter: 'Filtrér',
121
121
  columnMenuHideColumn: 'Skjul kolonne',
122
122
  columnMenuUnsort: 'Fjern sortering',
123
- columnMenuSortAsc: 'Sorter stigende',
124
- columnMenuSortDesc: 'Sorter faldende',
123
+ columnMenuSortAsc: 'Sortér stigende',
124
+ columnMenuSortDesc: 'Sortér faldende',
125
125
  // columnMenuManagePivot: 'Manage pivot',
126
126
 
127
127
  // Column header text
package/locales/deDE.js CHANGED
@@ -11,8 +11,7 @@ const deDEGrid = {
11
11
  noResultsOverlayLabel: 'Keine Ergebnisse gefunden.',
12
12
  noColumnsOverlayLabel: 'Keine Spalten',
13
13
  noColumnsOverlayManageColumns: 'Spalten verwalten',
14
- // emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
15
-
14
+ emptyPivotOverlayLabel: 'Felder zu Zeilen, Spalten und Werten hinzufügen, um eine Pivot-Tabelle zu erstellen',
16
15
  // Density selector toolbar button text
17
16
  toolbarDensity: 'Zeilenhöhe',
18
17
  toolbarDensityLabel: 'Zeilenhöhe',
@@ -39,11 +38,9 @@ const deDEGrid = {
39
38
  toolbarExportPrint: 'Drucken',
40
39
  toolbarExportExcel: 'Download als Excel',
41
40
  // Toolbar pivot button
42
- // toolbarPivot: 'Pivot',
43
-
41
+ toolbarPivot: 'Pivot',
44
42
  // Toolbar AI Assistant button
45
- // toolbarAssistant: 'AI Assistant',
46
-
43
+ toolbarAssistant: 'KI-Assistent',
47
44
  // Columns management text
48
45
  columnsManagementSearchTitle: 'Suche',
49
46
  columnsManagementNoColumns: 'Keine Spalten',
@@ -120,8 +117,7 @@ const deDEGrid = {
120
117
  columnMenuUnsort: 'Sortierung deaktivieren',
121
118
  columnMenuSortAsc: 'Sortiere aufsteigend',
122
119
  columnMenuSortDesc: 'Sortiere absteigend',
123
- // columnMenuManagePivot: 'Manage pivot',
124
-
120
+ columnMenuManagePivot: 'Pivot verwalten',
125
121
  // Column header text
126
122
  columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} aktive Filter` : `${count} aktiver Filter`,
127
123
  columnHeaderFiltersLabel: 'Zeige Filter',
@@ -196,80 +192,76 @@ const deDEGrid = {
196
192
  aggregationFunctionLabelMax: 'Maximum',
197
193
  aggregationFunctionLabelSize: 'Anzahl',
198
194
  // Pivot panel
199
- // pivotToggleLabel: 'Pivot',
200
- // pivotRows: 'Rows',
201
- // pivotColumns: 'Columns',
202
- // pivotValues: 'Values',
203
- // pivotCloseButton: 'Close pivot settings',
204
- // pivotSearchButton: 'Search fields',
205
- // pivotSearchControlPlaceholder: 'Search fields',
206
- // pivotSearchControlLabel: 'Search fields',
207
- // pivotSearchControlClear: 'Clear search',
208
- // pivotNoFields: 'No fields',
209
- // pivotMenuMoveUp: 'Move up',
210
- // pivotMenuMoveDown: 'Move down',
211
- // pivotMenuMoveToTop: 'Move to top',
212
- // pivotMenuMoveToBottom: 'Move to bottom',
213
- // pivotMenuRows: 'Rows',
214
- // pivotMenuColumns: 'Columns',
215
- // pivotMenuValues: 'Values',
216
- // pivotMenuOptions: 'Field options',
217
- // pivotMenuAddToRows: 'Add to Rows',
218
- // pivotMenuAddToColumns: 'Add to Columns',
219
- // pivotMenuAddToValues: 'Add to Values',
220
- // pivotMenuRemove: 'Remove',
221
- // pivotDragToRows: 'Drag here to create rows',
222
- // pivotDragToColumns: 'Drag here to create columns',
223
- // pivotDragToValues: 'Drag here to create values',
224
- // pivotYearColumnHeaderName: '(Year)',
225
- // pivotQuarterColumnHeaderName: '(Quarter)',
226
-
195
+ pivotToggleLabel: 'Pivot',
196
+ pivotRows: 'Zeilen',
197
+ pivotColumns: 'Spalten',
198
+ pivotValues: 'Werte',
199
+ pivotCloseButton: 'Pivot-Einstellungen schließen',
200
+ pivotSearchButton: 'Felder suchen',
201
+ pivotSearchControlPlaceholder: 'Felder suchen',
202
+ pivotSearchControlLabel: 'Felder suchen',
203
+ pivotSearchControlClear: 'Suche löschen',
204
+ pivotNoFields: 'Keine Felder',
205
+ pivotMenuMoveUp: 'Nach oben',
206
+ pivotMenuMoveDown: 'Nach unten',
207
+ pivotMenuMoveToTop: 'An den Anfang',
208
+ pivotMenuMoveToBottom: 'An das Ende',
209
+ pivotMenuRows: 'Zeilen',
210
+ pivotMenuColumns: 'Spalten',
211
+ pivotMenuValues: 'Werte',
212
+ pivotMenuOptions: 'Feldoptionen',
213
+ pivotMenuAddToRows: 'Zu Zeilen hinzufügen',
214
+ pivotMenuAddToColumns: 'Zu Spalten hinzufügen',
215
+ pivotMenuAddToValues: 'Zu Werten hinzufügen',
216
+ pivotMenuRemove: 'Entfernen',
217
+ pivotDragToRows: 'Hier hinziehen, um Zeilen zu erstellen',
218
+ pivotDragToColumns: 'Hier hinziehen, um Spalten zu erstellen',
219
+ pivotDragToValues: 'Hier hinziehen, um Werte zu erstellen',
220
+ pivotYearColumnHeaderName: '(Jahr)',
221
+ pivotQuarterColumnHeaderName: '(Quartal)',
227
222
  // AI Assistant panel
228
- // aiAssistantPanelTitle: 'AI Assistant',
229
- // aiAssistantPanelClose: 'Close AI Assistant',
230
- // aiAssistantPanelNewConversation: 'New conversation',
231
- // aiAssistantPanelConversationHistory: 'Conversation history',
232
- // aiAssistantPanelEmptyConversation: 'No prompt history',
233
- // aiAssistantSuggestions: 'Suggestions',
234
-
223
+ aiAssistantPanelTitle: 'KI-Assistent',
224
+ aiAssistantPanelClose: 'KI-Assistent schließen',
225
+ aiAssistantPanelNewConversation: 'Neue Unterhaltung',
226
+ aiAssistantPanelConversationHistory: 'Unterhaltungsverlauf',
227
+ aiAssistantPanelEmptyConversation: 'Kein Prompt-Verlauf',
228
+ aiAssistantSuggestions: 'Vorschläge',
235
229
  // Prompt field
236
230
  promptFieldLabel: 'Prompteingabe',
237
231
  promptFieldPlaceholder: 'Prompt eingeben…',
238
232
  promptFieldPlaceholderWithRecording: 'Prompt eingeben oder aufnehmen…',
239
233
  promptFieldPlaceholderListening: 'Hört Prompteingabe zu…',
240
- // promptFieldSpeechRecognitionNotSupported: 'Speech recognition is not supported in this browser',
234
+ promptFieldSpeechRecognitionNotSupported: 'Spracherkennung wird in diesem Browser nicht unterstützt',
241
235
  promptFieldSend: 'Senden',
242
236
  promptFieldRecord: 'Aufnahme starten',
243
- promptFieldStopRecording: 'Aufnahme stoppen'
244
-
237
+ promptFieldStopRecording: 'Aufnahme stoppen',
245
238
  // Prompt
246
- // promptRerun: 'Run again',
247
- // promptProcessing: 'Processing…',
248
- // promptAppliedChanges: 'Applied changes',
249
-
239
+ promptRerun: 'Erneut ausführen',
240
+ promptProcessing: 'Verarbeitung…',
241
+ promptAppliedChanges: 'Änderungen angewendet',
250
242
  // Prompt changes
251
- // promptChangeGroupDescription: (column: string) => `Group by ${column}`,
252
- // promptChangeAggregationLabel: (column: string, aggregation: string) => `${column} (${aggregation})`,
253
- // promptChangeAggregationDescription: (column: string, aggregation: string) => `Aggregate ${column} (${aggregation})`,
254
- // promptChangeFilterLabel: (column: string, operator: string, value: string) => {
255
- // if (operator === 'is any of') {
256
- // return `${column} is any of: ${value}`;
257
- // }
258
- // return `${column} ${operator} ${value}`;
259
- // },
260
- // promptChangeFilterDescription: (column: string, operator: string, value: string) => {
261
- // if (operator === 'is any of') {
262
- // return `Filter where ${column} is any of: ${value}`;
263
- // }
264
- // return `Filter where ${column} ${operator} ${value}`;
265
- // },
266
- // promptChangeSortDescription: (column: string, direction: string) => `Sort by ${column} (${direction})`,
267
- // promptChangePivotEnableLabel: 'Pivot',
268
- // promptChangePivotEnableDescription: 'Enable pivot',
269
- // promptChangePivotColumnsLabel: (count: number) => `Columns (${count})`,
270
- // promptChangePivotColumnsDescription: (column: string, direction: string) => `${column}${direction ? ` (${direction})` : ''}`,
271
- // promptChangePivotRowsLabel: (count: number) => `Rows (${count})`,
272
- // promptChangePivotValuesLabel: (count: number) => `Values (${count})`,
273
- // promptChangePivotValuesDescription: (column: string, aggregation: string) => `${column} (${aggregation})`,
243
+ promptChangeGroupDescription: column => `Gruppieren nach ${column}`,
244
+ promptChangeAggregationLabel: (column, aggregation) => `${column} (${aggregation})`,
245
+ promptChangeAggregationDescription: (column, aggregation) => `${column} aggregieren (${aggregation})`,
246
+ promptChangeFilterLabel: (column, operator, value) => {
247
+ if (operator === 'is any of') {
248
+ return `${column} entspricht einem der Werte: ${value}`;
249
+ }
250
+ return `${column} ${operator} ${value}`;
251
+ },
252
+ promptChangeFilterDescription: (column, operator, value) => {
253
+ if (operator === 'is any of') {
254
+ return `Filtern, bei dem ${column} einem der folgenden Werte entspricht: ${value}`;
255
+ }
256
+ return `Filtern wo ${column} ${operator} ${value}`;
257
+ },
258
+ promptChangeSortDescription: (column, direction) => `Sortieren nach ${column} (${direction})`,
259
+ promptChangePivotEnableLabel: 'Pivot',
260
+ promptChangePivotEnableDescription: 'Pivot aktivieren',
261
+ promptChangePivotColumnsLabel: count => `Spalten (${count})`,
262
+ promptChangePivotColumnsDescription: (column, direction) => `${column}${direction ? ` (${direction})` : ''}`,
263
+ promptChangePivotRowsLabel: count => `Zeilen (${count})`,
264
+ promptChangePivotValuesLabel: count => `Werte (${count})`,
265
+ promptChangePivotValuesDescription: (column, aggregation) => `${column} (${aggregation})`
274
266
  };
275
267
  const deDE = exports.deDE = (0, _getGridLocalization.getGridLocalization)(deDEGrid);
@@ -267,6 +267,7 @@ export type TooltipProps = CommonProps & {
267
267
  children: React.ReactElement<any, any>;
268
268
  enterDelay?: number;
269
269
  title: React.ReactNode;
270
+ disableInteractive?: boolean;
270
271
  };
271
272
  export type IconProps = CommonProps<SVGSVGElement> & {
272
273
  fontSize?: 'small' | 'medium' | 'large' | 'inherit';
@@ -2,6 +2,10 @@ export interface GridColumnsRenderContext {
2
2
  firstColumnIndex: number;
3
3
  lastColumnIndex: number;
4
4
  }
5
+ /**
6
+ * Provides the current render context range for rows and columns.
7
+ * End index is exclusive - [firstRowIndex, lastRowIndex) and [firstColumnIndex, lastColumnIndex)
8
+ */
5
9
  export interface GridRenderContext extends GridColumnsRenderContext {
6
10
  firstRowIndex: number;
7
11
  lastRowIndex: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "8.5.2",
3
+ "version": "8.6.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "main": "./index.js",
@@ -44,7 +44,7 @@
44
44
  "clsx": "^2.1.1",
45
45
  "prop-types": "^15.8.1",
46
46
  "use-sync-external-store": "^1.5.0",
47
- "@mui/x-internals": "8.5.2"
47
+ "@mui/x-internals": "8.6.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@emotion/react": "^11.9.0",