@mui/x-data-grid-premium 7.13.0 → 7.15.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,155 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.15.0
7
+
8
+ _Aug 29, 2024_
9
+
10
+ We'd like to offer a big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 💫 Support Material UI v6 (`@mui/material@6`) peer dependency (#14142) @cherniavskii
13
+
14
+ You can now use MUI X components with either v5 or v6 of `@mui/material` package 🎉
15
+
16
+ - 🐞 Bugfixes
17
+
18
+ ### Data Grid
19
+
20
+ #### `@mui/x-data-grid-pro@7.15.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
21
+
22
+ - [DataGridPro] Export `GridRowReorderCell` component (#14079) @genepaul
23
+
24
+ #### `@mui/x-data-grid-premium@7.15.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
25
+
26
+ Same changes as in `@mui/x-data-grid-pro@7.15.0`.
27
+
28
+ ### Date and Time Pickers
29
+
30
+ #### `@mui/x-date-pickers@7.15.0`
31
+
32
+ - [pickers] Add `onTouchStart` handler for `TimeClock` (#14305) @arthurbalduini
33
+
34
+ #### `@mui/x-date-pickers-pro@7.15.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
35
+
36
+ Same changes as in `@mui/x-date-pickers@7.15.0`, plus:
37
+
38
+ - [DateTimeRangePicker] Fix date format resolving from views on 24hr locales (#14341) @arthurbalduini
39
+
40
+ ### Charts
41
+
42
+ #### `@mui/x-charts@7.15.0`
43
+
44
+ - [charts] Add missing `themeAugmentation` in pro plan (#14313) @lhilgert9
45
+ - [charts] Fix `LineChart` transition stopping before completion (#14366) @JCQuintas
46
+ - [charts] Fix tooltip with horizontal layout (#14337) @alexfauquette
47
+ - [charts] Keep axis root classe usage explicit (#14378) @alexfauquette
48
+
49
+ #### `@mui/x-charts-pro@7.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
50
+
51
+ Same changes as in `@mui/x-charts@7.15.0`, plus:
52
+
53
+ - [charts pro] Avoid relative reference to `@mui/x-charts` package (#14335) @LukasTy
54
+
55
+ ### Docs
56
+
57
+ - [docs] Fix sentence case `h2` @oliviertassinari
58
+ - [docs] Clarify contribution guide references @oliviertassinari
59
+ - [docs] Fix Stack Overflow issue canned response @oliviertassinari
60
+ - [docs] Fix outdated link to support page @oliviertassinari
61
+ - [docs] Fix use of Material UI @oliviertassinari
62
+ - [docs] Update deprecated props in docs (#14295) @JCQuintas
63
+
64
+ ### Core
65
+
66
+ - [core] Allow only v5.x for `MUI Core` renovate group (#14382) @LukasTy
67
+ - [core] Avoid visual regression when using `@mui/material@6` (#14357) @cherniavskii
68
+ - [core] Remove renovate rule targeting only `next` releases of `@mui/docs` (#14364) @LukasTy
69
+ - [core] Support `@mui/material@6` peer dependency (#14142) @cherniavskii
70
+ - [core] Use `useRtl` instead of `useTheme` to access direction (#14359) @LukasTy
71
+ - [code-infra] Typecheck nested folders in playground (#14352) @JCQuintas
72
+ - [infra] Fix Issue cleanup action @oliviertassinari
73
+ - [license] Prepare renaming of argument names @oliviertassinari
74
+
75
+ ## 7.14.0
76
+
77
+ _Aug 23, 2024_
78
+
79
+ We'd like to offer a big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
80
+
81
+ - 💫 Allow [filtering the axis on zoom](https://mui.com/x/react-charts/zoom-and-pan/#zoom-filtering), making the axis adapt by removing values outside the view.
82
+
83
+ <img width="600" src="https://github.com/user-attachments/assets/e65bbd00-d2a8-4136-81cd-3598f1373c16" alt="filtering the axis on zoom" />
84
+
85
+ - 📊 Improve bar chart performances
86
+ - 🌍 Improve Czech (cs-CZ) and Hebrew (he-IL) locales on the Data Grid
87
+ - 🌍 Improve Chinese (zh-HK), Hebrew (he-IL), and Vietnamese (vi-VN) locales on the Date and Time Pickers
88
+ - 🐞 Bugfixes
89
+
90
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
91
+
92
+ ### Data Grid
93
+
94
+ #### `@mui/x-data-grid@7.14.0`
95
+
96
+ - [DataGrid] Use readonly array result for `getTreeDataPath` (#11743) @pcorpet
97
+ - [DataGrid] Use `event.key` for `Tab` and `Escape` keys (#14170) @k-rajat19
98
+ - [DataGrid] Introduce selectors with arguments (#14236) @MBilalShafi
99
+ - [DataGrid] include `api` in `gridCellParams` interface (#14201) @k-rajat19
100
+ - [l10n] Improve Czech (cs-CZ) locale (#14135) @chirimiri22
101
+ - [l10n] Improve Hebrew (he-IL) locale (#14287) @rotembarsela
102
+
103
+ #### `@mui/x-data-grid-pro@7.14.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
104
+
105
+ Same changes as in `@mui/x-data-grid@7.14.0`.
106
+
107
+ #### `@mui/x-data-grid-premium@7.14.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
108
+
109
+ Same changes as in `@mui/x-data-grid-pro@7.14.0`, plus:
110
+
111
+ - [DataGridPremium] Fix clipboard paste not working for a single cell on non-first page (#14261) @arminmeh
112
+ - [DataGridPremium] Fix `onCellSelectionModelChange` not triggered when additional cell range is selected (#14199) @arminmeh
113
+
114
+ ### Date and Time Pickers
115
+
116
+ #### `@mui/x-date-pickers@7.14.0`
117
+
118
+ - [l10n] Improve Chinese (zh-HK) locale (#13289) @yeeharn
119
+ - [l10n] Improve Hebrew (he-IL) locale (#14287) @rotembarsela
120
+ - [l10n] Improve Vietnamese (vi-VN) locale (#14238) @locnbk2002
121
+ - [TimePicker] Handle `Space` and `Enter` on the `TimeClock` component @arthurbalduini
122
+
123
+ #### `@mui/x-date-pickers-pro@7.14.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
124
+
125
+ Same changes as in `@mui/x-date-pickers@7.14.0`.
126
+
127
+ ### Charts
128
+
129
+ #### `@mui/x-charts@7.14.0`
130
+
131
+ - [charts] Fix grid overflow with zooming (#14280) @alexfauquette
132
+ - [charts] Improve bar chart performances (#14278) @alexfauquette
133
+ - [charts] Test pointer events (#14042) @alexfauquette
134
+ - [charts] Use `isPointInside` function for both graphs and axis (#14222) @JCQuintas
135
+
136
+ #### `@mui/x-charts-pro@7.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
137
+
138
+ Same changes as in `@mui/x-charts@7.14.0`, plus:
139
+
140
+ - [charts-pro] Zoom axis filtering (#14121) @JCQuintas
141
+
142
+ ### Docs
143
+
144
+ - [docs] Consistent use of UTC and timezones (#14250) @oliviertassinari
145
+ - [docs] Fix missing leading slashes in URLs (#14249) @oliviertassinari
146
+ - [docs] Dash usage revision on pickers pages (#14260) @arthurbalduini
147
+
148
+ ### Core
149
+
150
+ - [core] Follow JSDocs convention @oliviertassinari
151
+ - [core] Prepare for material v6 (#14143) @LukasTy
152
+ - [code-infra] Set up `eslint-plugin-testing-library` (#14232) @LukasTy
153
+ - [infra] Updated mui-x roadmap links with new project URL (#14271) @michelengelen
154
+
6
155
  ## 7.13.0
7
156
 
8
157
  _Aug 16, 2024_
@@ -58,7 +207,7 @@ Same changes as in `@mui/x-date-pickers@7.13.0`.
58
207
  - [charts] Rename `CartesianContextProvider` to `CartesianProvider` (#14102) @JCQuintas
59
208
  - [charts] Support axis with the same value for all data points (#14191) @alexfauquette
60
209
 
61
- #### `@mui/x-date-charts-pro@7.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
210
+ #### `@mui/x-charts-pro@7.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
62
211
 
63
212
  Same changes as in `@mui/x-charts@7.13.0`.
64
213
 
@@ -132,7 +281,7 @@ Same changes as in `@mui/x-date-pickers@7.12.1`.
132
281
  - [charts] Fix charts vendor publish config (#14073) @JCQuintas
133
282
  - [charts] Move `plugins` to `PluginProvider` (#14056) @JCQuintas
134
283
 
135
- #### `@mui/x-date-charts-pro@7.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
284
+ #### `@mui/x-charts-pro@7.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
136
285
 
137
286
  Same changes as in `@mui/x-charts@7.12.1`, plus:
138
287
 
@@ -17,8 +17,13 @@ function GridGroupingColumnLeafCell(props) {
17
17
  } = props;
18
18
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
19
19
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
20
- sx: {
21
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
20
+ sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
21
+ ml: 1
22
+ } : theme => ({
23
+ ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
24
+ })],
25
+ style: {
26
+ '--depth': rowNode.depth
22
27
  },
23
28
  children: props.formattedValue ?? props.value
24
29
  });
@@ -70,8 +70,13 @@ function GridGroupingCriteriaCell(props) {
70
70
  }
71
71
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
72
72
  className: classes.root,
73
- sx: {
74
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
73
+ sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
74
+ ml: 0
75
+ } : theme => ({
76
+ ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
77
+ })],
78
+ style: {
79
+ '--depth': rowNode.depth
75
80
  },
76
81
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
77
82
  className: classes.toggle,
@@ -8,8 +8,13 @@ function GridGroupingColumnLeafCell(props) {
8
8
  } = props;
9
9
  const rootProps = useGridRootProps();
10
10
  return /*#__PURE__*/_jsx(Box, {
11
- sx: {
12
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
11
+ sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
12
+ ml: 1
13
+ } : theme => ({
14
+ ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
15
+ })],
16
+ style: {
17
+ '--depth': rowNode.depth
13
18
  },
14
19
  children: props.formattedValue ?? props.value
15
20
  });
@@ -61,8 +61,13 @@ export function GridGroupingCriteriaCell(props) {
61
61
  }
62
62
  return /*#__PURE__*/_jsxs(Box, {
63
63
  className: classes.root,
64
- sx: {
65
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
64
+ sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
65
+ ml: 0
66
+ } : theme => ({
67
+ ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
68
+ })],
69
+ style: {
70
+ '--depth': rowNode.depth
66
71
  },
67
72
  children: [/*#__PURE__*/_jsx("div", {
68
73
  className: classes.toggle,
@@ -76,7 +76,7 @@ export const useGridCellSelection = (apiRef, props) => {
76
76
  const visibleColumns = apiRef.current.getVisibleColumns();
77
77
  const rowsInRange = visibleRows.rows.slice(finalStartRowIndex, finalEndRowIndex + 1);
78
78
  const columnsInRange = visibleColumns.slice(finalStartColumnIndex, finalEndColumnIndex + 1);
79
- const newModel = keepOtherSelected ? apiRef.current.getCellSelectionModel() : {};
79
+ const newModel = keepOtherSelected ? _extends({}, apiRef.current.getCellSelectionModel()) : {};
80
80
  rowsInRange.forEach(row => {
81
81
  if (!newModel[row.id]) {
82
82
  newModel[row.id] = {};
@@ -151,7 +151,8 @@ function defaultPasteResolver({
151
151
  pastedData,
152
152
  apiRef,
153
153
  updateCell,
154
- pagination
154
+ pagination,
155
+ paginationMode
155
156
  }) {
156
157
  const isSingleValuePasted = pastedData.length === 1 && pastedData[0].length === 1;
157
158
  const cellSelectionModel = apiRef.current.getCellSelectionModel();
@@ -228,7 +229,7 @@ function defaultPasteResolver({
228
229
  }
229
230
  const selectedRowId = selectedCell.id;
230
231
  const selectedRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(selectedRowId);
231
- const visibleRowIds = pagination ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridExpandedSortedRowIdsSelector(apiRef);
232
+ const visibleRowIds = pagination && paginationMode === 'client' ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridExpandedSortedRowIdsSelector(apiRef);
232
233
  const selectedFieldIndex = visibleColumnFields.indexOf(selectedCell.field);
233
234
  pastedData.forEach((rowData, index) => {
234
235
  const rowId = visibleRowIds[selectedRowIndex + index];
@@ -256,6 +257,7 @@ export const useGridClipboardImport = (apiRef, props) => {
256
257
  const splitClipboardPastedText = props.splitClipboardPastedText;
257
258
  const {
258
259
  pagination,
260
+ paginationMode,
259
261
  onBeforeClipboardPasteStart
260
262
  } = props;
261
263
  const handlePaste = React.useCallback(async (params, event) => {
@@ -309,10 +311,11 @@ export const useGridClipboardImport = (apiRef, props) => {
309
311
  updateCell: (...args) => {
310
312
  cellUpdater.updateCell(...args);
311
313
  },
312
- pagination
314
+ pagination,
315
+ paginationMode
313
316
  });
314
317
  cellUpdater.applyUpdates();
315
- }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, onBeforeClipboardPasteStart, logger]);
318
+ }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
316
319
  const checkIfCanStartEditing = React.useCallback((initialValue, {
317
320
  event
318
321
  }) => {
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcyMzc1NTYwMDAwMA==";
3
+ const releaseInfo = "MTcyNDg4MjQwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -67,7 +67,7 @@ export interface GridAggregationFunction<V = any, AV = V> {
67
67
  */
68
68
  getCellValue?: (params: GridAggregationGetCellValueParams) => V;
69
69
  }
70
- interface GridAggregationParams<V = any> {
70
+ export interface GridAggregationParams<V = any> {
71
71
  values: (V | undefined)[];
72
72
  groupId: GridRowId;
73
73
  field: GridColDef['field'];
@@ -115,4 +115,3 @@ export interface GridAggregationRule {
115
115
  export type GridAggregationRules = {
116
116
  [field: string]: GridAggregationRule;
117
117
  };
118
- export {};
@@ -86,7 +86,7 @@ const useGridCellSelection = (apiRef, props) => {
86
86
  const visibleColumns = apiRef.current.getVisibleColumns();
87
87
  const rowsInRange = visibleRows.rows.slice(finalStartRowIndex, finalEndRowIndex + 1);
88
88
  const columnsInRange = visibleColumns.slice(finalStartColumnIndex, finalEndColumnIndex + 1);
89
- const newModel = keepOtherSelected ? apiRef.current.getCellSelectionModel() : {};
89
+ const newModel = keepOtherSelected ? (0, _extends2.default)({}, apiRef.current.getCellSelectionModel()) : {};
90
90
  rowsInRange.forEach(row => {
91
91
  if (!newModel[row.id]) {
92
92
  newModel[row.id] = {};
@@ -160,7 +160,8 @@ function defaultPasteResolver({
160
160
  pastedData,
161
161
  apiRef,
162
162
  updateCell,
163
- pagination
163
+ pagination,
164
+ paginationMode
164
165
  }) {
165
166
  const isSingleValuePasted = pastedData.length === 1 && pastedData[0].length === 1;
166
167
  const cellSelectionModel = apiRef.current.getCellSelectionModel();
@@ -237,7 +238,7 @@ function defaultPasteResolver({
237
238
  }
238
239
  const selectedRowId = selectedCell.id;
239
240
  const selectedRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(selectedRowId);
240
- const visibleRowIds = pagination ? (0, _xDataGrid.gridPaginatedVisibleSortedGridRowIdsSelector)(apiRef) : (0, _xDataGrid.gridExpandedSortedRowIdsSelector)(apiRef);
241
+ const visibleRowIds = pagination && paginationMode === 'client' ? (0, _xDataGrid.gridPaginatedVisibleSortedGridRowIdsSelector)(apiRef) : (0, _xDataGrid.gridExpandedSortedRowIdsSelector)(apiRef);
241
242
  const selectedFieldIndex = visibleColumnFields.indexOf(selectedCell.field);
242
243
  pastedData.forEach((rowData, index) => {
243
244
  const rowId = visibleRowIds[selectedRowIndex + index];
@@ -265,6 +266,7 @@ const useGridClipboardImport = (apiRef, props) => {
265
266
  const splitClipboardPastedText = props.splitClipboardPastedText;
266
267
  const {
267
268
  pagination,
269
+ paginationMode,
268
270
  onBeforeClipboardPasteStart
269
271
  } = props;
270
272
  const handlePaste = React.useCallback(async (params, event) => {
@@ -318,10 +320,11 @@ const useGridClipboardImport = (apiRef, props) => {
318
320
  updateCell: (...args) => {
319
321
  cellUpdater.updateCell(...args);
320
322
  },
321
- pagination
323
+ pagination,
324
+ paginationMode
322
325
  });
323
326
  cellUpdater.applyUpdates();
324
- }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, onBeforeClipboardPasteStart, logger]);
327
+ }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
325
328
  const checkIfCanStartEditing = React.useCallback((initialValue, {
326
329
  event
327
330
  }) => {
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.13.0
2
+ * @mui/x-data-grid-premium v7.15.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -8,8 +8,13 @@ function GridGroupingColumnLeafCell(props) {
8
8
  } = props;
9
9
  const rootProps = useGridRootProps();
10
10
  return /*#__PURE__*/_jsx(Box, {
11
- sx: {
12
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 1 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
11
+ sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
12
+ ml: 1
13
+ } : theme => ({
14
+ ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
15
+ })],
16
+ style: {
17
+ '--depth': rowNode.depth
13
18
  },
14
19
  children: props.formattedValue ?? props.value
15
20
  });
@@ -61,8 +61,13 @@ export function GridGroupingCriteriaCell(props) {
61
61
  }
62
62
  return /*#__PURE__*/_jsxs(Box, {
63
63
  className: classes.root,
64
- sx: {
65
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
64
+ sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
65
+ ml: 0
66
+ } : theme => ({
67
+ ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
68
+ })],
69
+ style: {
70
+ '--depth': rowNode.depth
66
71
  },
67
72
  children: [/*#__PURE__*/_jsx("div", {
68
73
  className: classes.toggle,
@@ -76,7 +76,7 @@ export const useGridCellSelection = (apiRef, props) => {
76
76
  const visibleColumns = apiRef.current.getVisibleColumns();
77
77
  const rowsInRange = visibleRows.rows.slice(finalStartRowIndex, finalEndRowIndex + 1);
78
78
  const columnsInRange = visibleColumns.slice(finalStartColumnIndex, finalEndColumnIndex + 1);
79
- const newModel = keepOtherSelected ? apiRef.current.getCellSelectionModel() : {};
79
+ const newModel = keepOtherSelected ? _extends({}, apiRef.current.getCellSelectionModel()) : {};
80
80
  rowsInRange.forEach(row => {
81
81
  if (!newModel[row.id]) {
82
82
  newModel[row.id] = {};
@@ -151,7 +151,8 @@ function defaultPasteResolver({
151
151
  pastedData,
152
152
  apiRef,
153
153
  updateCell,
154
- pagination
154
+ pagination,
155
+ paginationMode
155
156
  }) {
156
157
  const isSingleValuePasted = pastedData.length === 1 && pastedData[0].length === 1;
157
158
  const cellSelectionModel = apiRef.current.getCellSelectionModel();
@@ -228,7 +229,7 @@ function defaultPasteResolver({
228
229
  }
229
230
  const selectedRowId = selectedCell.id;
230
231
  const selectedRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(selectedRowId);
231
- const visibleRowIds = pagination ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridExpandedSortedRowIdsSelector(apiRef);
232
+ const visibleRowIds = pagination && paginationMode === 'client' ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridExpandedSortedRowIdsSelector(apiRef);
232
233
  const selectedFieldIndex = visibleColumnFields.indexOf(selectedCell.field);
233
234
  pastedData.forEach((rowData, index) => {
234
235
  const rowId = visibleRowIds[selectedRowIndex + index];
@@ -256,6 +257,7 @@ export const useGridClipboardImport = (apiRef, props) => {
256
257
  const splitClipboardPastedText = props.splitClipboardPastedText;
257
258
  const {
258
259
  pagination,
260
+ paginationMode,
259
261
  onBeforeClipboardPasteStart
260
262
  } = props;
261
263
  const handlePaste = React.useCallback(async (params, event) => {
@@ -309,10 +311,11 @@ export const useGridClipboardImport = (apiRef, props) => {
309
311
  updateCell: (...args) => {
310
312
  cellUpdater.updateCell(...args);
311
313
  },
312
- pagination
314
+ pagination,
315
+ paginationMode
313
316
  });
314
317
  cellUpdater.applyUpdates();
315
- }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, onBeforeClipboardPasteStart, logger]);
318
+ }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
316
319
  const checkIfCanStartEditing = React.useCallback((initialValue, {
317
320
  event
318
321
  }) => {
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.13.0
2
+ * @mui/x-data-grid-premium v7.15.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcyMzc1NTYwMDAwMA==";
3
+ const releaseInfo = "MTcyNDg4MjQwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-premium",
3
- "version": "7.13.0",
3
+ "version": "7.15.0",
4
4
  "description": "The Premium plan edition of the Data Grid Components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -33,23 +33,23 @@
33
33
  "directory": "packages/x-data-grid-premium"
34
34
  },
35
35
  "dependencies": {
36
- "@babel/runtime": "^7.25.0",
37
- "@mui/system": "^5.16.5",
38
- "@mui/utils": "^5.16.5",
36
+ "@babel/runtime": "^7.25.4",
37
+ "@mui/utils": "^5.16.6",
39
38
  "@types/format-util": "^1.0.4",
40
39
  "clsx": "^2.1.1",
41
40
  "exceljs": "^4.4.0",
42
41
  "prop-types": "^15.8.1",
43
42
  "reselect": "^4.1.8",
44
- "@mui/x-data-grid": "7.13.0",
45
- "@mui/x-data-grid-pro": "7.13.0",
46
- "@mui/x-license": "7.13.0",
47
- "@mui/x-internals": "7.13.0"
43
+ "@mui/x-data-grid": "7.15.0",
44
+ "@mui/x-internals": "7.15.0",
45
+ "@mui/x-license": "7.15.0",
46
+ "@mui/x-data-grid-pro": "7.15.0"
48
47
  },
49
48
  "peerDependencies": {
50
49
  "@emotion/react": "^11.9.0",
51
50
  "@emotion/styled": "^11.8.1",
52
- "@mui/material": "^5.15.14",
51
+ "@mui/material": "^5.15.14 || ^6.0.0",
52
+ "@mui/system": "^5.15.14 || ^6.0.0",
53
53
  "react": "^17.0.0 || ^18.0.0",
54
54
  "react-dom": "^17.0.0 || ^18.0.0"
55
55
  },
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTcyMzc1NTYwMDAwMA==";
9
+ const releaseInfo = "MTcyNDg4MjQwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat