@mui/x-data-grid-premium 7.17.0 → 7.18.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,99 @@
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.18.0
7
+
8
+ _Sep 20, 2024_
9
+
10
+ We'd like to offer a big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 💫 Support [Row spanning](https://mui.com/x/react-data-grid/row-spanning/) on the Data Grid that automatically merges the consecutive cells in a column based on the cell value
13
+
14
+ <img width="600" src="https://github.com/user-attachments/assets/d32ec936-d238-4c92-9e1a-af6788d74cdf" alt="data grid row spanning" />
15
+
16
+ - ⏰ Support `date-fns` v4 (#14673) @LukasTy
17
+ - 🎉 Add option for Pickers to change the order of displayed years (#11780) @thomasmoon
18
+ - 🐞 Bugfixes
19
+ - 📚 Documentation improvements
20
+
21
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
22
+
23
+ ### Data Grid
24
+
25
+ #### `@mui/x-data-grid@7.18.0`
26
+
27
+ - [DataGrid] Add default reset value in row edit mode (#14050) @michelengelen
28
+ - [DataGrid] Add `columnGroupHeaderHeight` prop for sizing column group headers (#14637) @KenanYusuf
29
+ - [DataGrid] Fix `document` reference when the grid is rendered in a popup window (#14649) @arminmeh
30
+ - [DataGrid] Remove `minFirstColumn` from `GetHeadersParams` interface (#14450) @k-rajat19
31
+ - [DataGrid] Row spanning (#14124) @MBilalShafi
32
+
33
+ #### `@mui/x-data-grid-pro@7.18.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
34
+
35
+ Same changes as in `@mui/x-data-grid@7.18.0`, plus:
36
+
37
+ - [DataGridPro] Fix `onRowsScrollEnd` being triggered instantly when bottom pinned row is present (#14602) @arminmeh
38
+ - [DataGridPro] Fix header filters rendering issue for `isEmpty` and `isNotEmpty` filter operators (#14493) @k-rajat19
39
+ - [DataGridPro] Fix pinned columns in RTL mode (#14586) @KenanYusuf
40
+
41
+ #### `@mui/x-data-grid-premium@7.18.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
42
+
43
+ Same changes as in `@mui/x-data-grid-pro@7.18.0`.
44
+
45
+ ### Date and Time Pickers
46
+
47
+ #### `@mui/x-date-pickers@7.18.0`
48
+
49
+ - [pickers] Add option to change the order of displayed years (#11780) @thomasmoon
50
+ - [pickers] Support `date-fns` v4 (#14673) @LukasTy
51
+
52
+ #### `@mui/x-date-pickers-pro@7.18.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
53
+
54
+ Same changes as in `@mui/x-date-pickers@7.18.0`.
55
+
56
+ ### Charts
57
+
58
+ #### `@mui/x-charts@7.18.0`
59
+
60
+ - [charts] Add a `PolarProvider` to manage polar axes (#14642) @alexfauquette
61
+ - [charts] Fix `LineChart` animation being stuck with initial drawing area value (#14553) @JCQuintas
62
+ - [charts] Fix legend slot typing (#14657) @alexfauquette
63
+ - [charts] Pass the axis index to extremum getter (#14641) @alexfauquette
64
+ - [charts] Provide hooks to create custom tooltip (#14377) @alexfauquette
65
+
66
+ #### `@mui/x-charts-pro@7.0.0-beta.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
67
+
68
+ Same changes as in `@mui/x-charts@7.18.0`.
69
+
70
+ ### Tree View
71
+
72
+ #### `@mui/x-tree-view@7.18.0`
73
+
74
+ - [TreeView] Add `"use client"` directive to every public component and hook (#14579) @flaviendelangle
75
+
76
+ ### Docs
77
+
78
+ - [docs] Add `groupingValueGetter` callout in column definition docs (#14599) @michelengelen
79
+ - [docs] Clean v6 => v7 migration guide (#14652) @flaviendelangle
80
+ - [docs] Copy `vale-action.yml` from main repo @oliviertassinari
81
+ - [docs] Edit the Pickers Getting started doc (#14555) @samuelsycamore
82
+ - [docs] Fix TypeScript capitalization @oliviertassinari
83
+ - [docs] Fix Vale error @oliviertassinari
84
+ - [docs] Make the migration guide diff a bit easier to read @oliviertassinari
85
+ - [docs] Report Vale at warning level (#14660) @oliviertassinari
86
+ - [docs] Warn about the `valueGetter` and `valueFormatter` signature change (#14613) @cherniavskii
87
+ - [docs] Polish code formatting (#14603) @oliviertassinari
88
+ - [test] Spy on `observe` method to avoid flaky wait for a callback (#14640) @arminmeh
89
+
90
+ ### Core
91
+
92
+ - [core] Fix 301 link to Next.js and git diff @oliviertassinari
93
+ - [core] Fix failing CI on `master` (#14644) @cherniavskii
94
+ - [core] Fix `package.json` repository rule @oliviertassinari
95
+ - [core] MUI X repository moved to a new location @oliviertassinari
96
+ - [docs-infra] Strengthen CSP (#14581) @oliviertassinari
97
+ - [license] Finish renaming of LicensingModel (#14615) @oliviertassinari
98
+
6
99
  ## 7.17.0
7
100
 
8
101
  _Sep 13, 2024_
@@ -75,7 +168,7 @@ Same changes as in `@mui/x-charts@7.17.0`.
75
168
  ### Docs
76
169
 
77
170
  - [docs] Add missing callout on "Imperative API" tree view sections (#14503) @flaviendelangle
78
- - [docs] Fix broken redirection to MUI X v5 @oliviertassinari
171
+ - [docs] Fix broken redirection to MUI X v5 @oliviertassinari
79
172
  - [docs] Fix multiple `console.error` messages on `charts` docs (#14554) @JCQuintas
80
173
  - [docs] Fixed typo in Row Grouping recipes (#14549) @Miodini
81
174
  - [docs] Match title with blog posts @oliviertassinari
@@ -195,7 +288,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
195
288
 
196
289
  - 💫 Support Material UI v6 (`@mui/material@6`) peer dependency (#14142) @cherniavskii
197
290
 
198
- You can now use MUI X components with either v5 or v6 of `@mui/material` package 🎉
291
+ You can now use MUI X components with either v5 or v6 of `@mui/material` package 🎉
199
292
 
200
293
  - 🐞 Bugfixes
201
294
 
@@ -240,7 +333,7 @@ Same changes as in `@mui/x-charts@7.15.0`, plus:
240
333
 
241
334
  - [docs] Fix sentence case `h2` @oliviertassinari
242
335
  - [docs] Clarify contribution guide references @oliviertassinari
243
- - [docs] Fix Stack Overflow issue canned response @oliviertassinari
336
+ - [docs] Fix Stack Overflow issue canned response @oliviertassinari
244
337
  - [docs] Fix outdated link to support page @oliviertassinari
245
338
  - [docs] Fix use of Material UI @oliviertassinari
246
339
  - [docs] Update deprecated props in docs (#14295) @JCQuintas
@@ -498,7 +591,7 @@ The [Pro plan](https://mui.com/x/introduction/licensing/#pro-plan) is receiving
498
591
 
499
592
  As always, every feature released as part of the MIT plan will remain free and MIT licensed forever.
500
593
 
501
- This expansion of the Pro plan comes with some adjustments to our pricing strategy. Learn more about those in the [Upcoming changes to MUI X pricing in 2024](https://mui.com/blog/mui-x-sep-2024-price-update/) blog post.
594
+ This expansion of the Pro plan comes with some adjustments to our pricing strategy. Learn more about those in the [Upcoming changes to MUI X pricing in 2024](https://mui.com/blog/mui-x-sep-2024-price-update/) blog post.
502
595
 
503
596
  ### Highlights
504
597
 
@@ -563,7 +656,7 @@ Same changes as in `@mui/x-date-pickers@7.12.0`.
563
656
  #### `@mui/x-charts@7.12.0`
564
657
 
565
658
  - [charts] Fix incorrect `axisId` prop being allowed in xAxis/yAxis config. Use `id` instead. (#13986) @JCQuintas
566
- - [charts] Use vendor to have Common JS bundle working out of the box (#13608) @alexfauquette
659
+ - [charts] Use vendor to have CommonJS bundle working out of the box (#13608) @alexfauquette
567
660
  - [charts] Divide the `SeriesProvider` to use in filtering (#14026) @JCQuintas
568
661
 
569
662
  ### Tree View
@@ -154,6 +154,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
154
154
  * @default 150
155
155
  */
156
156
  columnBufferPx: _propTypes.default.number,
157
+ /**
158
+ * Sets the height in pixels of the column group headers in the Data Grid.
159
+ * Inherits the `columnHeaderHeight` value if not set.
160
+ */
161
+ columnGroupHeaderHeight: _propTypes.default.number,
157
162
  columnGroupingModel: _propTypes.default.arrayOf(_propTypes.default.object),
158
163
  /**
159
164
  * Sets the height in pixel of the column headers in the Data Grid.
@@ -1034,7 +1039,12 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1034
1039
  get: _propTypes.default.func.isRequired,
1035
1040
  set: _propTypes.default.func.isRequired
1036
1041
  }),
1037
- unstable_onDataSourceError: _propTypes.default.func
1042
+ unstable_onDataSourceError: _propTypes.default.func,
1043
+ /**
1044
+ * If `true`, the Data Grid will auto span the cells over the rows having the same value.
1045
+ * @default false
1046
+ */
1047
+ unstable_rowSpanning: _propTypes.default.bool
1038
1048
  } : void 0;
1039
1049
  /**
1040
1050
  * Demos:
@@ -53,6 +53,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
53
53
  (0, _internals.useGridInitializeState)(_internals.sortingStateInitializer, apiRef, props);
54
54
  (0, _internals.useGridInitializeState)(_internals.preferencePanelStateInitializer, apiRef, props);
55
55
  (0, _internals.useGridInitializeState)(_internals.filterStateInitializer, apiRef, props);
56
+ (0, _internals.useGridInitializeState)(_internals.rowSpanningStateInitializer, apiRef, props);
56
57
  (0, _internals.useGridInitializeState)(_internals.densityStateInitializer, apiRef, props);
57
58
  (0, _internals.useGridInitializeState)(_internals.columnReorderStateInitializer, apiRef, props);
58
59
  (0, _internals.useGridInitializeState)(_internals.columnResizeStateInitializer, apiRef, props);
@@ -73,6 +74,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
73
74
  (0, _internals.useGridRowPinning)(apiRef, props);
74
75
  (0, _internals.useGridColumns)(apiRef, props);
75
76
  (0, _internals.useGridRows)(apiRef, props);
77
+ (0, _internals.useGridRowSpanning)(apiRef, props);
76
78
  (0, _internals.useGridParamsApi)(apiRef);
77
79
  (0, _internals.useGridDetailPanel)(apiRef, props);
78
80
  (0, _internals.useGridColumnSpanning)(apiRef);
@@ -147,6 +147,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
147
147
  * @default 150
148
148
  */
149
149
  columnBufferPx: PropTypes.number,
150
+ /**
151
+ * Sets the height in pixels of the column group headers in the Data Grid.
152
+ * Inherits the `columnHeaderHeight` value if not set.
153
+ */
154
+ columnGroupHeaderHeight: PropTypes.number,
150
155
  columnGroupingModel: PropTypes.arrayOf(PropTypes.object),
151
156
  /**
152
157
  * Sets the height in pixel of the column headers in the Data Grid.
@@ -1027,7 +1032,12 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1027
1032
  get: PropTypes.func.isRequired,
1028
1033
  set: PropTypes.func.isRequired
1029
1034
  }),
1030
- unstable_onDataSourceError: PropTypes.func
1035
+ unstable_onDataSourceError: PropTypes.func,
1036
+ /**
1037
+ * If `true`, the Data Grid will auto span the cells over the rows having the same value.
1038
+ * @default false
1039
+ */
1040
+ unstable_rowSpanning: PropTypes.bool
1031
1041
  } : void 0;
1032
1042
  /**
1033
1043
  * Demos:
@@ -1,4 +1,4 @@
1
- import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer } from '@mui/x-data-grid-pro/internals';
1
+ import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer, useGridRowSpanning, rowSpanningStateInitializer } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from "../hooks/features/aggregation/useGridAggregation.js";
4
4
  import { useGridAggregationPreProcessors } from "../hooks/features/aggregation/useGridAggregationPreProcessors.js";
@@ -46,6 +46,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
46
46
  useGridInitializeState(sortingStateInitializer, apiRef, props);
47
47
  useGridInitializeState(preferencePanelStateInitializer, apiRef, props);
48
48
  useGridInitializeState(filterStateInitializer, apiRef, props);
49
+ useGridInitializeState(rowSpanningStateInitializer, apiRef, props);
49
50
  useGridInitializeState(densityStateInitializer, apiRef, props);
50
51
  useGridInitializeState(columnReorderStateInitializer, apiRef, props);
51
52
  useGridInitializeState(columnResizeStateInitializer, apiRef, props);
@@ -66,6 +67,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
66
67
  useGridRowPinning(apiRef, props);
67
68
  useGridColumns(apiRef, props);
68
69
  useGridRows(apiRef, props);
70
+ useGridRowSpanning(apiRef, props);
69
71
  useGridParamsApi(apiRef);
70
72
  useGridDetailPanel(apiRef, props);
71
73
  useGridColumnSpanning(apiRef);
@@ -14,6 +14,7 @@ const AUTO_SCROLL_SENSITIVITY = 50; // The distance from the edge to start scrol
14
14
  const AUTO_SCROLL_SPEED = 20; // The speed to scroll once the mouse enters the sensitivity area
15
15
 
16
16
  export const useGridCellSelection = (apiRef, props) => {
17
+ const hasRootReference = apiRef.current.rootElementRef.current !== null;
17
18
  const visibleRows = useGridVisibleRows(apiRef, props);
18
19
  const cellWithVirtualFocus = React.useRef();
19
20
  const lastMouseDownCell = React.useRef();
@@ -368,7 +369,7 @@ export const useGridCellSelection = (apiRef, props) => {
368
369
  const document = ownerDocument(rootRef);
369
370
  document.removeEventListener('mouseup', handleMouseUp);
370
371
  };
371
- }, [apiRef, handleMouseUp, stopAutoScroll]);
372
+ }, [apiRef, hasRootReference, handleMouseUp, stopAutoScroll]);
372
373
  const checkIfCellIsSelected = React.useCallback((isSelected, {
373
374
  id,
374
375
  field
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcyNjE5NjQwMDAwMA==";
3
+ const releaseInfo = "MTcyNjc4NjgwMDAwMA==";
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
@@ -45,6 +45,7 @@ export declare const unwrapColumnFromAggregation: ({ column, }: {
45
45
  type?: import("@mui/x-data-grid-pro").GridColType;
46
46
  align?: import("@mui/x-data-grid-pro").GridAlignment;
47
47
  valueGetter?: import("@mui/x-data-grid-pro").GridValueGetter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, never> | undefined;
48
+ rowSpanValueGetter?: import("@mui/x-data-grid-pro").GridValueGetter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, never> | undefined;
48
49
  valueSetter?: import("@mui/x-data-grid-pro").GridValueSetter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
49
50
  valueFormatter?: import("@mui/x-data-grid-pro").GridValueFormatter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, never> | undefined;
50
51
  valueParser?: import("@mui/x-data-grid-pro").GridValueParser<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
@@ -23,6 +23,7 @@ const AUTO_SCROLL_SENSITIVITY = 50; // The distance from the edge to start scrol
23
23
  const AUTO_SCROLL_SPEED = 20; // The speed to scroll once the mouse enters the sensitivity area
24
24
 
25
25
  const useGridCellSelection = (apiRef, props) => {
26
+ const hasRootReference = apiRef.current.rootElementRef.current !== null;
26
27
  const visibleRows = (0, _internals.useGridVisibleRows)(apiRef, props);
27
28
  const cellWithVirtualFocus = React.useRef();
28
29
  const lastMouseDownCell = React.useRef();
@@ -377,7 +378,7 @@ const useGridCellSelection = (apiRef, props) => {
377
378
  const document = (0, _utils.ownerDocument)(rootRef);
378
379
  document.removeEventListener('mouseup', handleMouseUp);
379
380
  };
380
- }, [apiRef, handleMouseUp, stopAutoScroll]);
381
+ }, [apiRef, hasRootReference, handleMouseUp, stopAutoScroll]);
381
382
  const checkIfCellIsSelected = React.useCallback((isSelected, {
382
383
  id,
383
384
  field
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.17.0
2
+ * @mui/x-data-grid-premium v7.18.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -147,6 +147,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
147
147
  * @default 150
148
148
  */
149
149
  columnBufferPx: PropTypes.number,
150
+ /**
151
+ * Sets the height in pixels of the column group headers in the Data Grid.
152
+ * Inherits the `columnHeaderHeight` value if not set.
153
+ */
154
+ columnGroupHeaderHeight: PropTypes.number,
150
155
  columnGroupingModel: PropTypes.arrayOf(PropTypes.object),
151
156
  /**
152
157
  * Sets the height in pixel of the column headers in the Data Grid.
@@ -1027,7 +1032,12 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1027
1032
  get: PropTypes.func.isRequired,
1028
1033
  set: PropTypes.func.isRequired
1029
1034
  }),
1030
- unstable_onDataSourceError: PropTypes.func
1035
+ unstable_onDataSourceError: PropTypes.func,
1036
+ /**
1037
+ * If `true`, the Data Grid will auto span the cells over the rows having the same value.
1038
+ * @default false
1039
+ */
1040
+ unstable_rowSpanning: PropTypes.bool
1031
1041
  } : void 0;
1032
1042
  /**
1033
1043
  * Demos:
@@ -1,4 +1,4 @@
1
- import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer } from '@mui/x-data-grid-pro/internals';
1
+ import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer, useGridRowSpanning, rowSpanningStateInitializer } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from "../hooks/features/aggregation/useGridAggregation.js";
4
4
  import { useGridAggregationPreProcessors } from "../hooks/features/aggregation/useGridAggregationPreProcessors.js";
@@ -46,6 +46,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
46
46
  useGridInitializeState(sortingStateInitializer, apiRef, props);
47
47
  useGridInitializeState(preferencePanelStateInitializer, apiRef, props);
48
48
  useGridInitializeState(filterStateInitializer, apiRef, props);
49
+ useGridInitializeState(rowSpanningStateInitializer, apiRef, props);
49
50
  useGridInitializeState(densityStateInitializer, apiRef, props);
50
51
  useGridInitializeState(columnReorderStateInitializer, apiRef, props);
51
52
  useGridInitializeState(columnResizeStateInitializer, apiRef, props);
@@ -66,6 +67,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
66
67
  useGridRowPinning(apiRef, props);
67
68
  useGridColumns(apiRef, props);
68
69
  useGridRows(apiRef, props);
70
+ useGridRowSpanning(apiRef, props);
69
71
  useGridParamsApi(apiRef);
70
72
  useGridDetailPanel(apiRef, props);
71
73
  useGridColumnSpanning(apiRef);
@@ -14,6 +14,7 @@ const AUTO_SCROLL_SENSITIVITY = 50; // The distance from the edge to start scrol
14
14
  const AUTO_SCROLL_SPEED = 20; // The speed to scroll once the mouse enters the sensitivity area
15
15
 
16
16
  export const useGridCellSelection = (apiRef, props) => {
17
+ const hasRootReference = apiRef.current.rootElementRef.current !== null;
17
18
  const visibleRows = useGridVisibleRows(apiRef, props);
18
19
  const cellWithVirtualFocus = React.useRef();
19
20
  const lastMouseDownCell = React.useRef();
@@ -368,7 +369,7 @@ export const useGridCellSelection = (apiRef, props) => {
368
369
  const document = ownerDocument(rootRef);
369
370
  document.removeEventListener('mouseup', handleMouseUp);
370
371
  };
371
- }, [apiRef, handleMouseUp, stopAutoScroll]);
372
+ }, [apiRef, hasRootReference, handleMouseUp, stopAutoScroll]);
372
373
  const checkIfCellIsSelected = React.useCallback((isSelected, {
373
374
  id,
374
375
  field
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.17.0
2
+ * @mui/x-data-grid-premium v7.18.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 = "MTcyNjE5NjQwMDAwMA==";
3
+ const releaseInfo = "MTcyNjc4NjgwMDAwMA==";
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.17.0",
3
+ "version": "7.18.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",
@@ -29,7 +29,7 @@
29
29
  ],
30
30
  "repository": {
31
31
  "type": "git",
32
- "url": "https://github.com/mui/mui-x.git",
32
+ "url": "git+https://github.com/mui/mui-x.git",
33
33
  "directory": "packages/x-data-grid-premium"
34
34
  },
35
35
  "dependencies": {
@@ -40,10 +40,10 @@
40
40
  "exceljs": "^4.4.0",
41
41
  "prop-types": "^15.8.1",
42
42
  "reselect": "^5.1.1",
43
- "@mui/x-data-grid-pro": "7.17.0",
44
- "@mui/x-internals": "7.17.0",
45
- "@mui/x-data-grid": "7.17.0",
46
- "@mui/x-license": "7.17.0"
43
+ "@mui/x-data-grid": "7.18.0",
44
+ "@mui/x-internals": "7.18.0",
45
+ "@mui/x-license": "7.18.0",
46
+ "@mui/x-data-grid-pro": "7.18.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@emotion/react": "^11.9.0",
@@ -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 = "MTcyNjE5NjQwMDAwMA==";
9
+ const releaseInfo = "MTcyNjc4NjgwMDAwMA==";
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