@mui/x-data-grid-premium 7.0.0-beta.5 → 7.0.0-beta.7

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,188 @@
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.0.0-beta.7
7
+
8
+ _Mar 14, 2024_
9
+
10
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🦥 The Lazy loading feature is now stable and the `lazyLoading` feature flag was removed from the `experimentalFeatures` prop.
13
+ - 🌍 Improve Japanese (ja-JP) locale for the Data Grid
14
+ - 🐞 Bugfixes
15
+ - 📚 Documentation improvements
16
+
17
+ ### Data Grid
18
+
19
+ #### Breaking changes
20
+
21
+ - The `columnHeader--showColumnBorder` class was replaced by `columnHeader--withLeftBorder` and `columnHeader--withRightBorder`.
22
+ - The `columnHeadersInner`, `columnHeadersInner--scrollable`, and `columnHeaderDropZone` classes were removed since the inner wrapper was removed in our effort to simplify the DOM structure and improve accessibility.
23
+ - The `pinnedColumnHeaders`, `pinnedColumnHeaders--left`, and `pinnedColumnHeaders--right` classes were removed along with the element they were applied to.
24
+ The pinned column headers now use `position: 'sticky'` and are rendered in the same row element as the regular column headers.
25
+
26
+ #### `@mui/x-data-grid@7.0.0-beta.7`
27
+
28
+ - [DataGrid] Fix focus visible style on scrollbar (#12402) @oliviertassinari
29
+ - [DataGrid] Fix the issue where pressing the Delete key resets various cell values to an empty string. (#12216) @sooster910
30
+ - [DataGrid] Make `rowCount` part of the state (#12381) @MBilalShafi
31
+ - [DataGrid] Make column resizing and autosizing available in Community plan (#12420) @cherniavskii
32
+ - [DataGrid] Remove `baseSwitch` slot (#12439) @romgrk
33
+ - [l10n] Improve Japanese (ja-JP) locale (#12398) @makoto14
34
+
35
+ #### `@mui/x-data-grid-pro@7.0.0-beta.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
36
+
37
+ Same changes as in `@mui/x-data-grid@7.0.0-beta.7`, plus:
38
+
39
+ - [DataGridPro] Add `inputRef` to the props passed to `colDef.renderHeaderFilter` (#12328) @vovarudomanenko
40
+ - [DataGridPro] Fix filler rendered for no reason when there are pinned columns (#12440) @cherniavskii
41
+ - [DataGridPro] Make lazy loading feature stable (#12421) @cherniavskii
42
+ - [DataGridPro] Render pinned and non-pinned column headers in one row (#12376) @cherniavskii
43
+
44
+ #### `@mui/x-data-grid-premium@7.0.0-beta.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
45
+
46
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.7`, plus:
47
+
48
+ - [DataGridPremium] Fix auto-scroll not working when selecting cell range (#12267) @cherniavskii
49
+
50
+ ### Date and Time Pickers
51
+
52
+ #### `@mui/x-date-pickers@7.0.0-beta.7`
53
+
54
+ - [fields] Fix `tabIndex` on accessible field DOM structure (#12311) @flaviendelangle
55
+ - [fields] Fix items alignment on multi input range fields (#12312) @flaviendelangle
56
+ - [pickers] Improve the customization of the range picker calendar header (#11988) @flaviendelangle
57
+ - [pickers] Keep the existing time when looking for closest enabled date (#12377) @LukasTy
58
+
59
+ #### `@mui/x-date-pickers-pro@7.0.0-beta.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
60
+
61
+ Same changes as in `@mui/x-date-pickers@7.0.0-beta.7`.
62
+
63
+ ### Charts
64
+
65
+ #### `@mui/x-charts@7.0.0-beta.7`
66
+
67
+ - [charts] Fix axis highlight when axis is reversed (#12407) @alexfauquette
68
+
69
+ ### Tree View
70
+
71
+ #### Breaking changes
72
+
73
+ The `onNodeFocus` callback has been renamed to `onItemFocus` for consistency:
74
+
75
+ ```diff
76
+ <SimpleTreeView
77
+ - onNodeFocus={onNodeFocus}
78
+ + onItemFocus={onItemFocus}
79
+ />
80
+ ```
81
+
82
+ #### `@mui/x-tree-view@7.0.0-beta.7`
83
+
84
+ - [TreeView] Clean the usage of the term "item" and "node" in API introduced during v7 (#12368) @noraleonte
85
+ - [TreeView] Introduce a new `TreeItem2` component and a new `useTreeItem2` hook (#11721) @flaviendelangle
86
+ - [TreeView] Rename `onNodeFocus` to `onItemFocus` (#12419) @noraleonte
87
+
88
+ ### Docs
89
+
90
+ - [docs] Add `legacy` bundle drop mention in migration pages (#12424) @LukasTy
91
+ - [docs] Add missing luxon `Info` import (#12427) @LukasTy
92
+ - [docs] Improve slots definitions for charts (#12408) @alexfauquette
93
+ - [docs] Polish What's new in MUI X blog titles (#12309) @oliviertassinari
94
+ - [docs] Replace `rel="noreferrer"` by `rel="noopener"` @oliviertassinari
95
+ - [docs] Update `date-fns` `weekStarsOn` overriding example (#12416) @LukasTy
96
+
97
+ ### Core
98
+
99
+ - [core] Fix CI (#12414) @flaviendelangle
100
+ - [core] Fix PR deploy link for Tree View doc pages (#12411) @flaviendelangle
101
+
102
+ ## 7.0.0-beta.6
103
+
104
+ _Mar 8, 2024_
105
+
106
+ We'd like to offer a big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
107
+
108
+ - 🐞 Bugfixes
109
+ - 📚 Documentation improvements
110
+
111
+ ### Data Grid
112
+
113
+ #### `@mui/x-data-grid@7.0.0-beta.6`
114
+
115
+ - [DataGrid] Fix crashing of demos on rating change (#12315) @sai6855
116
+ - [DataGrid] Fix double border below header (#12349) @joespeargresham
117
+ - [DataGrid] Fix empty sort being saved in the `sortModel` (#12325) @MBilalShafi
118
+ - [DataGrid] Remove unnecessary `stopCellMode` event in `renderEditRating` component (#12335) @sai6855
119
+ - [DataGrid] Small performance optimizations (#12346) @romgrk
120
+
121
+ #### `@mui/x-data-grid-pro@7.0.0-beta.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
122
+
123
+ Same changes as in `@mui/x-data-grid@7.0.0-beta.6`, plus:
124
+
125
+ - [DataGridPro] Rework `onRowsScrollEnd` to use `IntersectionObserver` (#8672) @DanailH
126
+
127
+ #### `@mui/x-data-grid-premium@7.0.0-beta.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
128
+
129
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.6`.
130
+
131
+ ### Charts
132
+
133
+ #### `@mui/x-charts@7.0.0-beta.6`
134
+
135
+ - [charts] Add context to axis value formatter (#12172) @alexfauquette
136
+ - [charts] Customize tick position for band scale (#12316) @alexfauquette
137
+ - [charts] Fix RTL legend (#12175) @alexfauquette
138
+
139
+ ### Tree View
140
+
141
+ #### Breaking changes
142
+
143
+ - The component used to animate the item children is now defined as a slot on the `TreeItem` component.
144
+
145
+ If you were passing a `TransitionComponent` or `TransitionProps` to your `TreeItem` component,
146
+ you need to use the new `groupTransition` slot on this component:
147
+
148
+ ```diff
149
+ <SimpleTreeView>
150
+ <TreeItem
151
+ nodeId="1"
152
+ label="Node 1"
153
+ - TransitionComponent={Fade}
154
+ + slots={{ groupTransition: Fade }}
155
+ - TransitionProps={{ timeout: 600 }}
156
+ + slotProps={{ groupTransition: { timeout: 600 } }}
157
+ />
158
+ </SimpleTreeView>
159
+ ```
160
+
161
+ - The `group` class of the `TreeItem` component has been renamed to `groupTransition` to match with its new slot name.
162
+
163
+ ```diff
164
+ const StyledTreeItem = styled(TreeItem)({
165
+ - [`& .${treeItemClasses.group}`]: {
166
+ + [`& .${treeItemClasses.groupTransition}`]: {
167
+ marginLeft: 20,
168
+ },
169
+ });
170
+ ```
171
+
172
+ #### `@mui/x-tree-view@7.0.0-beta.6`
173
+
174
+ - [TreeView] Fix invalid nodes state when updating `props.items` (#12359) @flaviendelangle
175
+ - [TreeView] In the `RichTreeView`, do not use the item id as the HTML id attribute (#12319) @flaviendelangle
176
+ - [TreeView] New instance and publicAPI method: `getItem` (#12251) @flaviendelangle
177
+ - [TreeView] Replace `TransitionComponent` and `TransitionProps` with a `groupTransition` slot (#12336) @flaviendelangle
178
+
179
+ ### Docs
180
+
181
+ - [docs] Add a note about `z-index` usage in SVG (#12337) @alexfauquette
182
+ - [docs] `RichTreeView` customization docs (#12231) @noraleonte
183
+
184
+ ### Core
185
+
186
+ - [test] Add `Charts` test (#11551) @alexfauquette
187
+
6
188
  ## 7.0.0-beta.5
7
189
 
8
190
  _Mar 1, 2024_
@@ -45,7 +227,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.5`, plus:
45
227
 
46
228
  - [DataGridPremium] Make clipboard copy respect the sorting during cell selection (#12235) @MBilalShafi
47
229
 
48
- ### Date Pickers
230
+ ### Date and Time Pickers
49
231
 
50
232
  #### `@mui/x-date-pickers@7.0.0-beta.5`
51
233
 
@@ -121,7 +303,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-beta.4`.
121
303
 
122
304
  Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.4`.
123
305
 
124
- ### Date Pickers
306
+ ### Date and Time Pickers
125
307
 
126
308
  #### Breaking changes
127
309
 
@@ -335,7 +517,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.2`, plus:
335
517
  - [DataGridPremium] Fix autosize grouping cell (#11870) @romgrk
336
518
  - [DataGridPremium] Fix clipboard paste not working with Caps Lock enabled (#11965) @shaharyar-shamshi
337
519
 
338
- ### Date Pickers
520
+ ### Date and Time Pickers
339
521
 
340
522
  #### `@mui/x-date-pickers@7.0.0-beta.2`
341
523
 
@@ -522,7 +704,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-beta.1`.
522
704
 
523
705
  Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.1`.
524
706
 
525
- ### Date Pickers
707
+ ### Date and Time Pickers
526
708
 
527
709
  #### `@mui/x-date-pickers@7.0.0-beta.1`
528
710
 
@@ -627,7 +809,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-beta.0`.
627
809
 
628
810
  Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.0`.
629
811
 
630
- ### Date Pickers
812
+ ### Date and Time Pickers
631
813
 
632
814
  #### `@mui/x-date-pickers@7.0.0-beta.0`
633
815
 
@@ -766,7 +948,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.9`, plus:
766
948
  - [DataGridPremium] Allow aggregation to be applied for non-aggregable columns (#11574) @MBilalShafi
767
949
  - [DataGridPremium] Allow programmatically grouping non-groupable columns (#11539) @MBilalShafi
768
950
 
769
- ### Date Pickers
951
+ ### Date and Time Pickers
770
952
 
771
953
  #### Breaking changes
772
954
 
@@ -1051,7 +1233,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-alpha.8`.
1051
1233
 
1052
1234
  Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.8`.
1053
1235
 
1054
- ### Date Pickers
1236
+ ### Date and Time Pickers
1055
1237
 
1056
1238
  #### `@mui/x-date-pickers@7.0.0-alpha.8`
1057
1239
 
@@ -1141,7 +1323,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-alpha.7`.
1141
1323
 
1142
1324
  Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.7`.
1143
1325
 
1144
- ### Date Pickers
1326
+ ### Date and Time Pickers
1145
1327
 
1146
1328
  #### `@mui/x-date-pickers@7.0.0-alpha.7`
1147
1329
 
@@ -1283,7 +1465,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-alpha.6`.
1283
1465
 
1284
1466
  Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.6`.
1285
1467
 
1286
- ### Date Pickers
1468
+ ### Date and Time Pickers
1287
1469
 
1288
1470
  #### `@mui/x-date-pickers@7.0.0-alpha.6`
1289
1471
 
@@ -1351,7 +1533,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-alpha.5`.
1351
1533
 
1352
1534
  Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.5`.
1353
1535
 
1354
- ### Date Pickers
1536
+ ### Date and Time Pickers
1355
1537
 
1356
1538
  #### Breaking changes
1357
1539
 
@@ -1535,7 +1717,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-alpha.4`, plus:
1535
1717
 
1536
1718
  Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.4`.
1537
1719
 
1538
- ### Date Pickers
1720
+ ### Date and Time Pickers
1539
1721
 
1540
1722
  #### `@mui/x-date-pickers@7.0.0-alpha.4`
1541
1723
 
@@ -1635,7 +1817,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.3`, plus:
1635
1817
  - [DataGridPremium] Make Cell selection feature stable (#11246) @MBilalShafi
1636
1818
  - [DataGridPremium] Make Clipboard paste feature stable (#11248) @MBilalShafi
1637
1819
 
1638
- ### Date Pickers
1820
+ ### Date and Time Pickers
1639
1821
 
1640
1822
  #### Breaking changes
1641
1823
 
@@ -1645,7 +1827,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.3`, plus:
1645
1827
  The Firefox browser currently does not support this behavior because the [getWeekInfo](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo) API is not yet implemented.
1646
1828
 
1647
1829
  ```ts
1648
- import { Settings } from 'luxon';
1830
+ import { Settings, Info } from 'luxon';
1649
1831
 
1650
1832
  Settings.defaultWeekSettings = {
1651
1833
  firstDay: 1,
@@ -1772,7 +1954,7 @@ Same changes as in `@mui/x-data-grid@7.0.0-alpha.2`.
1772
1954
 
1773
1955
  Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.2`.
1774
1956
 
1775
- ### Date Pickers
1957
+ ### Date and Time Pickers
1776
1958
 
1777
1959
  #### Breaking changes
1778
1960
 
@@ -1878,7 +2060,7 @@ We'd like to offer a big thanks to the 3 contributors who made this release poss
1878
2060
  - 🐞 Bugfixes
1879
2061
  - 📚 Documentation improvements
1880
2062
 
1881
- ### Date Pickers
2063
+ ### Date and Time Pickers
1882
2064
 
1883
2065
  #### `@mui/x-date-pickers@7.0.0-alpha.1` / `@mui/x-date-pickers-pro@7.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1884
2066
 
@@ -2374,7 +2556,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.0`, plus:
2374
2556
 
2375
2557
  - [DataGridPremium] Render aggregation label when `renderHeader` is used (#10936) @cherniavskii
2376
2558
 
2377
- ### Date Pickers
2559
+ ### Date and Time Pickers
2378
2560
 
2379
2561
  #### Breaking changes
2380
2562
 
@@ -2435,6 +2617,26 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
2435
2617
  - [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
2436
2618
  - [license] Correctly throw errors (#10924) @oliviertassinari
2437
2619
 
2620
+ ## 6.19.7
2621
+
2622
+ _Mar 14, 2024_
2623
+
2624
+ We'd like to offer a big thanks to @LukasTy who made this release possible.
2625
+
2626
+ ### Date Pickers
2627
+
2628
+ #### `@mui/x-date-pickers@6.19.7`
2629
+
2630
+ - [pickers] Keep the existing time when looking for closest enabled date (#12410) @LukasTy
2631
+
2632
+ #### `@mui/x-date-pickers-pro@6.19.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
2633
+
2634
+ Same changes as in `@mui/x-date-pickers@6.19.7`.
2635
+
2636
+ ### Docs
2637
+
2638
+ - [docs] Add Pickers custom start of week section (#12425) @LukasTy
2639
+
2438
2640
  ## 6.19.6
2439
2641
 
2440
2642
  _Mar 1, 2024_
@@ -2461,7 +2663,7 @@ Same changes as in `@mui/x-data-grid-pro@6.19.6`, plus:
2461
2663
 
2462
2664
  - [DataGridPremium] Make clipboard copy respect the sorting during cell selection (#12255) @MBilalShafi
2463
2665
 
2464
- ### Date Pickers
2666
+ ### Date and Time Pickers
2465
2667
 
2466
2668
  #### `@mui/x-date-pickers@6.19.6`
2467
2669
 
@@ -2499,7 +2701,7 @@ Same changes as in `@mui/x-data-grid@6.19.5`.
2499
2701
 
2500
2702
  Same changes as in `@mui/x-data-grid-pro@6.19.5`.
2501
2703
 
2502
- ### Date Pickers
2704
+ ### Date and Time Pickers
2503
2705
 
2504
2706
  #### `@mui/x-date-pickers@6.19.5`
2505
2707
 
@@ -2568,7 +2770,7 @@ Same changes as in `@mui/x-data-grid-pro@6.19.4`, plus:
2568
2770
  - [DataGridPremium] Fix autosize grouping cell (#11990) @romgrk
2569
2771
  - [DataGridPremium] Fix error after closing print export (#11889) @cherniavskii
2570
2772
 
2571
- ### Date Pickers
2773
+ ### Date and Time Pickers
2572
2774
 
2573
2775
  #### `@mui/x-date-pickers@6.19.4`
2574
2776
 
@@ -2617,7 +2819,7 @@ Same changes as in `@mui/x-data-grid@6.19.3`.
2617
2819
 
2618
2820
  Same changes as in `@mui/x-data-grid-pro@6.19.3`.
2619
2821
 
2620
- ### Date Pickers
2822
+ ### Date and Time Pickers
2621
2823
 
2622
2824
  #### `@mui/x-date-pickers@6.19.3`
2623
2825
 
@@ -2651,7 +2853,7 @@ We'd like to offer a big thanks to the 2 contributors who made this release poss
2651
2853
  - 🚀 Apply the `layout.tabs` class to `Tabs` slot (@LukasTy) (#11782)
2652
2854
  - 🐞 Bugfixes
2653
2855
 
2654
- ### Date Pickers
2856
+ ### Date and Time Pickers
2655
2857
 
2656
2858
  #### `@mui/x-date-pickers@6.19.2`
2657
2859
 
@@ -2725,7 +2927,7 @@ We'd like to offer a big thanks to the 3 contributors who made this release poss
2725
2927
  import { de } from 'date-fns/locale/de';
2726
2928
  ```
2727
2929
 
2728
- ### Date Pickers
2930
+ ### Date and Time Pickers
2729
2931
 
2730
2932
  #### `@mui/x-date-pickers@6.19.0`
2731
2933
 
@@ -2772,7 +2974,7 @@ Same changes as in `@mui/x-data-grid@6.18.7`.
2772
2974
 
2773
2975
  Same changes as in `@mui/x-data-grid-pro@6.18.7`.
2774
2976
 
2775
- ### Date Pickers
2977
+ ### Date and Time Pickers
2776
2978
 
2777
2979
  #### `@mui/x-date-pickers@6.18.7`
2778
2980
 
@@ -2814,7 +3016,7 @@ Same changes as in `@mui/x-data-grid@6.18.6`.
2814
3016
 
2815
3017
  Same changes as in `@mui/x-data-grid-pro@6.18.6`.
2816
3018
 
2817
- ### Date Pickers
3019
+ ### Date and Time Pickers
2818
3020
 
2819
3021
  #### `@mui/x-date-pickers@6.18.6`
2820
3022
 
@@ -2863,7 +3065,7 @@ Same changes as in `@mui/x-data-grid@6.18.5`.
2863
3065
 
2864
3066
  Same changes as in `@mui/x-data-grid-pro@6.18.5`.
2865
3067
 
2866
- ### Date Pickers
3068
+ ### Date and Time Pickers
2867
3069
 
2868
3070
  #### `@mui/x-date-pickers@6.18.5`
2869
3071
 
@@ -2906,7 +3108,7 @@ Same changes as in `@mui/x-data-grid@6.18.4`.
2906
3108
 
2907
3109
  Same changes as in `@mui/x-data-grid-pro@6.18.4`.
2908
3110
 
2909
- ### Date Pickers
3111
+ ### Date and Time Pickers
2910
3112
 
2911
3113
  #### `@mui/x-date-pickers@6.18.4`
2912
3114
 
@@ -2952,7 +3154,7 @@ Same changes as in `@mui/x-data-grid-pro@6.18.3`, plus:
2952
3154
  - [DataGridPremium] Fix aggregated column ignoring column definition changes (#11176) @cherniavskii
2953
3155
  - [DataGridPremium] Fix custom filter operators not working on aggregated column (#11201) @cherniavskii
2954
3156
 
2955
- ### Date Pickers
3157
+ ### Date and Time Pickers
2956
3158
 
2957
3159
  #### `@mui/x-date-pickers@6.18.3`
2958
3160
 
@@ -3008,7 +3210,7 @@ Same changes as in `@mui/x-data-grid@6.18.2`.
3008
3210
 
3009
3211
  Same changes as in `@mui/x-data-grid-pro@6.18.2`.
3010
3212
 
3011
- ### Date Pickers
3213
+ ### Date and Time Pickers
3012
3214
 
3013
3215
  #### `@mui/x-date-pickers@6.18.2`
3014
3216
 
@@ -3065,7 +3267,7 @@ Same changes as in `@mui/x-data-grid-pro@6.18.1`, plus:
3065
3267
 
3066
3268
  - [DataGridPremium] Render aggregation label when `renderHeader` is used (#10961) @cherniavskii
3067
3269
 
3068
- ### Date Pickers
3270
+ ### Date and Time Pickers
3069
3271
 
3070
3272
  #### `@mui/x-date-pickers@6.18.1`
3071
3273
 
@@ -3124,7 +3326,7 @@ Same changes as in `@mui/x-data-grid@6.18.0`.
3124
3326
 
3125
3327
  Same changes as in `@mui/x-data-grid-pro@6.18.0`.
3126
3328
 
3127
- ### Date Pickers
3329
+ ### Date and Time Pickers
3128
3330
 
3129
3331
  #### `@mui/x-date-pickers@6.18.0`
3130
3332
 
@@ -3189,7 +3391,7 @@ Same changes as in `@mui/x-data-grid-pro@6.17.0`, plus:
3189
3391
  - [DataGridPremium] Fix `sum` aggregation to ignore non-numeric values (#10730) @cherniavskii
3190
3392
  - [DataGridPremium] Fix cell selection throwing index error on second page and beyond (#10784) @MBilalShafi
3191
3393
 
3192
- ### Date Pickers
3394
+ ### Date and Time Pickers
3193
3395
 
3194
3396
  #### `@mui/x-date-pickers@6.17.0`
3195
3397
 
@@ -3243,7 +3445,7 @@ Same changes as in `@mui/x-data-grid@6.16.3`.
3243
3445
 
3244
3446
  Same changes as in `@mui/x-data-grid-pro@6.16.3`.
3245
3447
 
3246
- ### Date Pickers
3448
+ ### Date and Time Pickers
3247
3449
 
3248
3450
  #### `@mui/x-date-pickers@6.16.3`
3249
3451
 
@@ -3319,7 +3521,7 @@ Same changes as in `@mui/x-data-grid@6.16.2`, plus:
3319
3521
 
3320
3522
  Same changes as in `@mui/x-data-grid-pro@6.16.2`.
3321
3523
 
3322
- ### Date Pickers
3524
+ ### Date and Time Pickers
3323
3525
 
3324
3526
  #### `@mui/x-date-pickers@6.16.2`
3325
3527
 
@@ -3414,7 +3616,7 @@ Same changes as in `@mui/x-data-grid@6.16.1`.
3414
3616
 
3415
3617
  Same changes as in `@mui/x-data-grid-pro@6.16.1`.
3416
3618
 
3417
- ### Date Pickers
3619
+ ### Date and Time Pickers
3418
3620
 
3419
3621
  #### `@mui/x-date-pickers@6.16.1`
3420
3622
 
@@ -3490,7 +3692,7 @@ Same changes as in `@mui/x-data-grid@6.16.0`, plus:
3490
3692
 
3491
3693
  Same changes as in `@mui/x-data-grid-pro@6.16.0`.
3492
3694
 
3493
- ### Date Pickers
3695
+ ### Date and Time Pickers
3494
3696
 
3495
3697
  #### `@mui/x-date-pickers@6.16.0`
3496
3698
 
@@ -3569,7 +3771,7 @@ Same changes as in `@mui/x-data-grid@6.15.0`, plus:
3569
3771
 
3570
3772
  Same changes as in `@mui/x-data-grid-pro@6.15.0`.
3571
3773
 
3572
- ### Date Pickers
3774
+ ### Date and Time Pickers
3573
3775
 
3574
3776
  #### `@mui/x-date-pickers@6.15.0`
3575
3777
 
@@ -3648,7 +3850,7 @@ Same changes as in `@mui/x-data-grid-pro@6.14.0`, plus:
3648
3850
 
3649
3851
  - [DataGridPremium] Fix clipboard import cutting off at 100 rows (#9930) @gitstart
3650
3852
 
3651
- ### Date Pickers
3853
+ ### Date and Time Pickers
3652
3854
 
3653
3855
  #### `@mui/x-date-pickers@6.14.0`
3654
3856
 
@@ -3729,7 +3931,7 @@ Same changes as in `@mui/x-data-grid-pro@6.13.0`, plus:
3729
3931
 
3730
3932
  - [DataGridPremium] Fix aggregated column resizing (#10079) @cherniavskii
3731
3933
 
3732
- ### Date Pickers
3934
+ ### Date and Time Pickers
3733
3935
 
3734
3936
  #### `@mui/x-date-pickers@6.13.0`
3735
3937
 
@@ -3801,7 +4003,7 @@ Same changes as in `@mui/x-data-grid@6.12.1`.
3801
4003
 
3802
4004
  Same changes as in `@mui/x-data-grid-pro@6.12.1`.
3803
4005
 
3804
- ### Date Pickers
4006
+ ### Date and Time Pickers
3805
4007
 
3806
4008
  #### `@mui/x-date-pickers@6.12.1`
3807
4009
 
@@ -3857,7 +4059,7 @@ Same changes as in `@mui/x-data-grid@6.12.0`.
3857
4059
 
3858
4060
  Same changes as in `@mui/x-data-grid-pro@6.12.0`.
3859
4061
 
3860
- ### Date Pickers
4062
+ ### Date and Time Pickers
3861
4063
 
3862
4064
  #### `@mui/x-date-pickers@6.12.0`
3863
4065
 
@@ -3928,7 +4130,7 @@ Same changes as in `@mui/x-data-grid@6.11.2`.
3928
4130
 
3929
4131
  Same changes as in `@mui/x-data-grid-pro@6.11.2`.
3930
4132
 
3931
- ### Date Pickers
4133
+ ### Date and Time Pickers
3932
4134
 
3933
4135
  #### `@mui/x-date-pickers@6.11.2`
3934
4136
 
@@ -3979,7 +4181,7 @@ Same changes as in `@mui/x-data-grid@6.11.1`.
3979
4181
 
3980
4182
  Same changes as in `@mui/x-data-grid-pro@6.11.1`.
3981
4183
 
3982
- ### Date Pickers
4184
+ ### Date and Time Pickers
3983
4185
 
3984
4186
  #### `@mui/x-date-pickers@6.11.1`
3985
4187
 
@@ -4048,7 +4250,7 @@ Same changes as in `@mui/x-data-grid@6.11.0`.
4048
4250
 
4049
4251
  Same changes as in `@mui/x-data-grid-pro@6.11.0`.
4050
4252
 
4051
- ### Date Pickers
4253
+ ### Date and Time Pickers
4052
4254
 
4053
4255
  #### `@mui/x-date-pickers@6.11.0`
4054
4256
 
@@ -4136,7 +4338,7 @@ Same changes as in `@mui/x-data-grid-pro@6.10.2`, plus:
4136
4338
 
4137
4339
  - [DataGridPremium] Allow to customize grouping cell offset (#9417) @cherniavskii
4138
4340
 
4139
- ### Date Pickers
4341
+ ### Date and Time Pickers
4140
4342
 
4141
4343
  #### `@mui/x-date-pickers@6.10.2`
4142
4344
 
@@ -4205,7 +4407,7 @@ Same changes as in `@mui/x-data-grid@6.10.1`, plus:
4205
4407
 
4206
4408
  Same changes as in `@mui/x-data-grid-pro@6.10.1`.
4207
4409
 
4208
- ### Date Pickers
4410
+ ### Date and Time Pickers
4209
4411
 
4210
4412
  #### `@mui/x-date-pickers@6.10.1`
4211
4413
 
@@ -4271,7 +4473,7 @@ Same changes as in `@mui/x-data-grid@6.10.0`.
4271
4473
 
4272
4474
  Same changes as in `@mui/x-data-grid-pro@6.10.0`.
4273
4475
 
4274
- ### Date Pickers
4476
+ ### Date and Time Pickers
4275
4477
 
4276
4478
  #### `@mui/x-date-pickers@6.10.0`
4277
4479
 
@@ -4341,7 +4543,7 @@ Same changes as in `@mui/x-data-grid-pro@6.9.2`, plus:
4341
4543
 
4342
4544
  - [DataGridPremium] Auto-scroll when making range selection (#8661) @m4theushw
4343
4545
 
4344
- ### Date Pickers
4546
+ ### Date and Time Pickers
4345
4547
 
4346
4548
  #### `@mui/x-date-pickers@6.9.2`
4347
4549
 
@@ -4407,7 +4609,7 @@ Same changes as in `@mui/x-data-grid@6.9.1`, plus:
4407
4609
 
4408
4610
  Same changes as in `@mui/x-data-grid-pro@6.9.1`.
4409
4611
 
4410
- ### Date Pickers
4612
+ ### Date and Time Pickers
4411
4613
 
4412
4614
  #### `@mui/x-date-pickers@6.9.1`
4413
4615
 
@@ -4489,7 +4691,7 @@ Same changes as in `@mui/x-data-grid@6.9.0`.
4489
4691
 
4490
4692
  Same changes as in `@mui/x-data-grid-pro@6.9.0`.
4491
4693
 
4492
- ### Date Pickers
4694
+ ### Date and Time Pickers
4493
4695
 
4494
4696
  #### `@mui/x-date-pickers@6.9.0`
4495
4697
 
@@ -4565,7 +4767,7 @@ Same changes as in `@mui/x-data-grid@6.8.0`.
4565
4767
 
4566
4768
  Same changes as in `@mui/x-data-grid-pro@6.8.0`.
4567
4769
 
4568
- ### Date Pickers
4770
+ ### Date and Time Pickers
4569
4771
 
4570
4772
  #### `@mui/x-date-pickers@6.8.0`
4571
4773
 
@@ -295,7 +295,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
295
295
  * For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
296
296
  */
297
297
  experimentalFeatures: _propTypes.default.shape({
298
- lazyLoading: _propTypes.default.bool,
299
298
  warnIfFocusStateIsNotSynced: _propTypes.default.bool
300
299
  }),
301
300
  /**
@@ -722,6 +721,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
722
721
  * @param {GridCallbackDetails} details Additional details for this callback.
723
722
  */
724
723
  onRowClick: _propTypes.default.func,
724
+ /**
725
+ * Callback fired when the row count has changed.
726
+ * @param {number} count Updated row count.
727
+ */
728
+ onRowCountChange: _propTypes.default.func,
725
729
  /**
726
730
  * Callback fired when a double click event comes from a row container element.
727
731
  * @param {GridRowParams} params With all properties from [[RowParams]].
@@ -288,7 +288,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
288
288
  * For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
289
289
  */
290
290
  experimentalFeatures: PropTypes.shape({
291
- lazyLoading: PropTypes.bool,
292
291
  warnIfFocusStateIsNotSynced: PropTypes.bool
293
292
  }),
294
293
  /**
@@ -715,6 +714,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
715
714
  * @param {GridCallbackDetails} details Additional details for this callback.
716
715
  */
717
716
  onRowClick: PropTypes.func,
717
+ /**
718
+ * Callback fired when the row count has changed.
719
+ * @param {number} count Updated row count.
720
+ */
721
+ onRowCountChange: PropTypes.func,
718
722
  /**
719
723
  * Callback fired when a double click event comes from a row container element.
720
724
  * @param {GridRowParams} params With all properties from [[RowParams]].
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { ownerDocument, useEventCallback } from '@mui/material/utils';
4
- import { isNavigationKey, serializeCellValue, useGridRegisterPipeProcessor, useGridVisibleRows } from '@mui/x-data-grid-pro/internals';
5
- import { useGridApiEventHandler, useGridApiMethod, GRID_ACTIONS_COLUMN_TYPE, GRID_CHECKBOX_SELECTION_COL_DEF, GRID_DETAIL_PANEL_TOGGLE_FIELD, gridRowsDataRowIdToIdLookupSelector, gridClasses, gridFocusCellSelector, GRID_REORDER_COL_DEF, useGridSelector, gridSortedRowIdsSelector } from '@mui/x-data-grid-pro';
4
+ import { getTotalHeaderHeight, isNavigationKey, serializeCellValue, useGridRegisterPipeProcessor, useGridVisibleRows } from '@mui/x-data-grid-pro/internals';
5
+ import { useGridApiEventHandler, useGridApiMethod, GRID_ACTIONS_COLUMN_TYPE, GRID_CHECKBOX_SELECTION_COL_DEF, GRID_DETAIL_PANEL_TOGGLE_FIELD, gridRowsDataRowIdToIdLookupSelector, gridClasses, gridFocusCellSelector, GRID_REORDER_COL_DEF, useGridSelector, gridSortedRowIdsSelector, gridDimensionsSelector } from '@mui/x-data-grid-pro';
6
6
  import { gridCellSelectionStateSelector } from './gridCellSelectionSelector';
7
7
  export const cellSelectionStateInitializer = (state, props) => {
8
8
  var _props$cellSelectionM, _props$initialState;
@@ -23,6 +23,8 @@ export const useGridCellSelection = (apiRef, props) => {
23
23
  const mousePosition = React.useRef(null);
24
24
  const autoScrollRAF = React.useRef();
25
25
  const sortedRowIds = useGridSelector(apiRef, gridSortedRowIdsSelector);
26
+ const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
27
+ const totalHeaderHeight = getTotalHeaderHeight(apiRef, props.columnHeaderHeight);
26
28
  const ignoreValueFormatterProp = props.ignoreValueFormatterDuringExport;
27
29
  const ignoreValueFormatter = (typeof ignoreValueFormatterProp === 'object' ? ignoreValueFormatterProp == null ? void 0 : ignoreValueFormatterProp.clipboardExport : ignoreValueFormatterProp) || false;
28
30
  const clipboardCopyCellDelimiter = props.clipboardCopyCellDelimiter;
@@ -165,20 +167,16 @@ export const useGridCellSelection = (apiRef, props) => {
165
167
  };
166
168
  }, []);
167
169
  const startAutoScroll = React.useCallback(() => {
168
- var _apiRef$current$virtu, _apiRef$current$virtu2;
170
+ var _apiRef$current$virtu;
169
171
  if (autoScrollRAF.current) {
170
172
  return;
171
173
  }
172
174
  if (!((_apiRef$current$virtu = apiRef.current.virtualScrollerRef) != null && _apiRef$current$virtu.current)) {
173
175
  return;
174
176
  }
175
- const virtualScrollerRect = (_apiRef$current$virtu2 = apiRef.current.virtualScrollerRef) == null || (_apiRef$current$virtu2 = _apiRef$current$virtu2.current) == null ? void 0 : _apiRef$current$virtu2.getBoundingClientRect();
176
- if (!virtualScrollerRect) {
177
- return;
178
- }
179
177
  function autoScroll() {
180
- var _apiRef$current$virtu3;
181
- if (!mousePosition.current || !((_apiRef$current$virtu3 = apiRef.current.virtualScrollerRef) != null && _apiRef$current$virtu3.current)) {
178
+ var _apiRef$current$virtu2;
179
+ if (!mousePosition.current || !((_apiRef$current$virtu2 = apiRef.current.virtualScrollerRef) != null && _apiRef$current$virtu2.current)) {
182
180
  return;
183
181
  }
184
182
  const {
@@ -188,11 +186,10 @@ export const useGridCellSelection = (apiRef, props) => {
188
186
  const {
189
187
  height,
190
188
  width
191
- } = virtualScrollerRect;
189
+ } = dimensions.viewportInnerSize;
192
190
  let deltaX = 0;
193
191
  let deltaY = 0;
194
192
  let factor = 0;
195
- const dimensions = apiRef.current.getRootDimensions();
196
193
  if (mouseY <= AUTO_SCROLL_SENSITIVITY && dimensions.hasScrollY) {
197
194
  // When scrolling up, the multiplier increases going closer to the top edge
198
195
  factor = (AUTO_SCROLL_SENSITIVITY - mouseY) / -AUTO_SCROLL_SENSITIVITY;
@@ -223,9 +220,9 @@ export const useGridCellSelection = (apiRef, props) => {
223
220
  autoScrollRAF.current = requestAnimationFrame(autoScroll);
224
221
  }
225
222
  autoScroll();
226
- }, [apiRef]);
223
+ }, [apiRef, dimensions]);
227
224
  const handleCellMouseOver = React.useCallback((params, event) => {
228
- var _apiRef$current$virtu4;
225
+ var _apiRef$current$virtu3;
229
226
  if (!lastMouseDownCell.current) {
230
227
  return;
231
228
  }
@@ -237,18 +234,20 @@ export const useGridCellSelection = (apiRef, props) => {
237
234
  id,
238
235
  field
239
236
  }, event.ctrlKey || event.metaKey);
240
- const virtualScrollerRect = (_apiRef$current$virtu4 = apiRef.current.virtualScrollerRef) == null || (_apiRef$current$virtu4 = _apiRef$current$virtu4.current) == null ? void 0 : _apiRef$current$virtu4.getBoundingClientRect();
237
+ const virtualScrollerRect = (_apiRef$current$virtu3 = apiRef.current.virtualScrollerRef) == null || (_apiRef$current$virtu3 = _apiRef$current$virtu3.current) == null ? void 0 : _apiRef$current$virtu3.getBoundingClientRect();
241
238
  if (!virtualScrollerRect) {
242
239
  return;
243
240
  }
244
241
  const {
245
- height,
246
- width,
247
242
  x,
248
243
  y
249
244
  } = virtualScrollerRect;
245
+ const {
246
+ height,
247
+ width
248
+ } = dimensions.viewportInnerSize;
250
249
  const mouseX = event.clientX - x;
251
- const mouseY = event.clientY - y;
250
+ const mouseY = event.clientY - y - totalHeaderHeight;
252
251
  mousePosition.current = {
253
252
  x: mouseX,
254
253
  y: mouseY
@@ -263,7 +262,7 @@ export const useGridCellSelection = (apiRef, props) => {
263
262
  // Mouse has left the sensitivity area while auto scroll is on
264
263
  stopAutoScroll();
265
264
  }
266
- }, [apiRef, startAutoScroll, stopAutoScroll]);
265
+ }, [apiRef, startAutoScroll, stopAutoScroll, totalHeaderHeight, dimensions]);
267
266
  const handleCellClick = useEventCallback((params, event) => {
268
267
  const {
269
268
  id,
@@ -376,10 +375,10 @@ export const useGridCellSelection = (apiRef, props) => {
376
375
  id,
377
376
  field
378
377
  }) => {
379
- const newClasses = [...classes];
380
378
  if (!visibleRows.range || !apiRef.current.isCellSelected(id, field)) {
381
379
  return classes;
382
380
  }
381
+ const newClasses = [...classes];
383
382
  const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(id);
384
383
  const columnIndex = apiRef.current.getColumnIndex(field);
385
384
  const visibleColumns = apiRef.current.getVisibleColumns();
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcwOTM1NTYwMDAwMA==";
3
+ const releaseInfo = "MTcxMDM3MDgwMDAwMA==";
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
@@ -64,7 +64,7 @@ export declare const unwrapColumnFromAggregation: ({ column, }: {
64
64
  disableReorder?: boolean | undefined;
65
65
  disableExport?: boolean | undefined;
66
66
  colSpan?: number | import("@mui/x-data-grid-pro").GridColSpanFn<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
67
- renderHeaderFilter?: ((params: import("@mui/x-data-grid-pro").GridHeaderFilterCellProps) => React.ReactNode) | undefined;
67
+ renderHeaderFilter?: ((params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode) | undefined;
68
68
  aggregable?: boolean | undefined;
69
69
  availableAggregationFunctions?: string[] | undefined;
70
70
  groupingValueGetter?: import("../../..").GridGroupingValueGetter<import("@mui/x-data-grid-pro").GridValidRowModel> | undefined;
@@ -3,4 +3,4 @@ import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
3
  import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
4
  import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
5
5
  export declare const cellSelectionStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'cellSelectionModel' | 'initialState'>>;
6
- export declare const useGridCellSelection: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'cellSelection' | 'cellSelectionModel' | 'onCellSelectionModelChange' | 'pagination' | 'paginationMode' | 'ignoreValueFormatterDuringExport' | 'clipboardCopyCellDelimiter'>) => void;
6
+ export declare const useGridCellSelection: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'cellSelection' | 'cellSelectionModel' | 'onCellSelectionModelChange' | 'pagination' | 'paginationMode' | 'ignoreValueFormatterDuringExport' | 'clipboardCopyCellDelimiter' | 'columnHeaderHeight'>) => void;
@@ -30,6 +30,8 @@ const useGridCellSelection = (apiRef, props) => {
30
30
  const mousePosition = React.useRef(null);
31
31
  const autoScrollRAF = React.useRef();
32
32
  const sortedRowIds = (0, _xDataGridPro.useGridSelector)(apiRef, _xDataGridPro.gridSortedRowIdsSelector);
33
+ const dimensions = (0, _xDataGridPro.useGridSelector)(apiRef, _xDataGridPro.gridDimensionsSelector);
34
+ const totalHeaderHeight = (0, _internals.getTotalHeaderHeight)(apiRef, props.columnHeaderHeight);
33
35
  const ignoreValueFormatterProp = props.ignoreValueFormatterDuringExport;
34
36
  const ignoreValueFormatter = (typeof ignoreValueFormatterProp === 'object' ? ignoreValueFormatterProp?.clipboardExport : ignoreValueFormatterProp) || false;
35
37
  const clipboardCopyCellDelimiter = props.clipboardCopyCellDelimiter;
@@ -176,10 +178,6 @@ const useGridCellSelection = (apiRef, props) => {
176
178
  if (!apiRef.current.virtualScrollerRef?.current) {
177
179
  return;
178
180
  }
179
- const virtualScrollerRect = apiRef.current.virtualScrollerRef?.current?.getBoundingClientRect();
180
- if (!virtualScrollerRect) {
181
- return;
182
- }
183
181
  function autoScroll() {
184
182
  if (!mousePosition.current || !apiRef.current.virtualScrollerRef?.current) {
185
183
  return;
@@ -191,11 +189,10 @@ const useGridCellSelection = (apiRef, props) => {
191
189
  const {
192
190
  height,
193
191
  width
194
- } = virtualScrollerRect;
192
+ } = dimensions.viewportInnerSize;
195
193
  let deltaX = 0;
196
194
  let deltaY = 0;
197
195
  let factor = 0;
198
- const dimensions = apiRef.current.getRootDimensions();
199
196
  if (mouseY <= AUTO_SCROLL_SENSITIVITY && dimensions.hasScrollY) {
200
197
  // When scrolling up, the multiplier increases going closer to the top edge
201
198
  factor = (AUTO_SCROLL_SENSITIVITY - mouseY) / -AUTO_SCROLL_SENSITIVITY;
@@ -226,7 +223,7 @@ const useGridCellSelection = (apiRef, props) => {
226
223
  autoScrollRAF.current = requestAnimationFrame(autoScroll);
227
224
  }
228
225
  autoScroll();
229
- }, [apiRef]);
226
+ }, [apiRef, dimensions]);
230
227
  const handleCellMouseOver = React.useCallback((params, event) => {
231
228
  if (!lastMouseDownCell.current) {
232
229
  return;
@@ -244,13 +241,15 @@ const useGridCellSelection = (apiRef, props) => {
244
241
  return;
245
242
  }
246
243
  const {
247
- height,
248
- width,
249
244
  x,
250
245
  y
251
246
  } = virtualScrollerRect;
247
+ const {
248
+ height,
249
+ width
250
+ } = dimensions.viewportInnerSize;
252
251
  const mouseX = event.clientX - x;
253
- const mouseY = event.clientY - y;
252
+ const mouseY = event.clientY - y - totalHeaderHeight;
254
253
  mousePosition.current = {
255
254
  x: mouseX,
256
255
  y: mouseY
@@ -265,7 +264,7 @@ const useGridCellSelection = (apiRef, props) => {
265
264
  // Mouse has left the sensitivity area while auto scroll is on
266
265
  stopAutoScroll();
267
266
  }
268
- }, [apiRef, startAutoScroll, stopAutoScroll]);
267
+ }, [apiRef, startAutoScroll, stopAutoScroll, totalHeaderHeight, dimensions]);
269
268
  const handleCellClick = (0, _utils.useEventCallback)((params, event) => {
270
269
  const {
271
270
  id,
@@ -377,10 +376,10 @@ const useGridCellSelection = (apiRef, props) => {
377
376
  id,
378
377
  field
379
378
  }) => {
380
- const newClasses = [...classes];
381
379
  if (!visibleRows.range || !apiRef.current.isCellSelected(id, field)) {
382
380
  return classes;
383
381
  }
382
+ const newClasses = [...classes];
384
383
  const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(id);
385
384
  const columnIndex = apiRef.current.getColumnIndex(field);
386
385
  const visibleColumns = apiRef.current.getVisibleColumns();
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.0.0-beta.5
2
+ * @mui/x-data-grid-premium v7.0.0-beta.7
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,5 +1,5 @@
1
1
  import { GridPrivateOnlyApiCommon } from '@mui/x-data-grid/internals';
2
- import { GridApiCommon, GridColumnPinningApi, GridColumnResizeApi, GridDetailPanelApi, GridDetailPanelPrivateApi, GridRowPinningApi, GridRowMultiSelectionApi, GridColumnReorderApi, GridRowProApi } from '@mui/x-data-grid-pro';
2
+ import { GridApiCommon, GridColumnPinningApi, GridDetailPanelApi, GridDetailPanelPrivateApi, GridRowPinningApi, GridRowMultiSelectionApi, GridColumnReorderApi, GridRowProApi } from '@mui/x-data-grid-pro';
3
3
  import { GridInitialStatePremium, GridStatePremium } from './gridStatePremium';
4
4
  import type { GridRowGroupingApi, GridExcelExportApi, GridAggregationApi } from '../hooks';
5
5
  import { GridCellSelectionApi } from '../hooks/features/cellSelection/gridCellSelectionInterfaces';
@@ -8,7 +8,7 @@ import type { DataGridPremiumProcessedProps } from './dataGridPremiumProps';
8
8
  * The api of `DataGridPremium`.
9
9
  * TODO: Do not redefine manually the pro features
10
10
  */
11
- export interface GridApiPremium extends GridApiCommon<GridStatePremium, GridInitialStatePremium>, GridRowProApi, GridColumnPinningApi, GridColumnResizeApi, GridDetailPanelApi, GridRowGroupingApi, GridExcelExportApi, GridAggregationApi, GridRowPinningApi, GridCellSelectionApi, GridRowMultiSelectionApi, GridColumnReorderApi {
11
+ export interface GridApiPremium extends GridApiCommon<GridStatePremium, GridInitialStatePremium>, GridRowProApi, GridColumnPinningApi, GridDetailPanelApi, GridRowGroupingApi, GridExcelExportApi, GridAggregationApi, GridRowPinningApi, GridCellSelectionApi, GridRowMultiSelectionApi, GridColumnReorderApi {
12
12
  }
13
13
  export interface GridPrivateApiPremium extends GridApiPremium, GridPrivateOnlyApiCommon<GridApiPremium, GridPrivateApiPremium, DataGridPremiumProcessedProps>, GridDetailPanelPrivateApi {
14
14
  }
@@ -288,7 +288,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
288
288
  * For each feature, if the flag is not explicitly set to `true`, then the feature is fully disabled, and neither property nor method calls will have any effect.
289
289
  */
290
290
  experimentalFeatures: PropTypes.shape({
291
- lazyLoading: PropTypes.bool,
292
291
  warnIfFocusStateIsNotSynced: PropTypes.bool
293
292
  }),
294
293
  /**
@@ -715,6 +714,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
715
714
  * @param {GridCallbackDetails} details Additional details for this callback.
716
715
  */
717
716
  onRowClick: PropTypes.func,
717
+ /**
718
+ * Callback fired when the row count has changed.
719
+ * @param {number} count Updated row count.
720
+ */
721
+ onRowCountChange: PropTypes.func,
718
722
  /**
719
723
  * Callback fired when a double click event comes from a row container element.
720
724
  * @param {GridRowParams} params With all properties from [[RowParams]].
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { ownerDocument, useEventCallback } from '@mui/material/utils';
4
- import { isNavigationKey, serializeCellValue, useGridRegisterPipeProcessor, useGridVisibleRows } from '@mui/x-data-grid-pro/internals';
5
- import { useGridApiEventHandler, useGridApiMethod, GRID_ACTIONS_COLUMN_TYPE, GRID_CHECKBOX_SELECTION_COL_DEF, GRID_DETAIL_PANEL_TOGGLE_FIELD, gridRowsDataRowIdToIdLookupSelector, gridClasses, gridFocusCellSelector, GRID_REORDER_COL_DEF, useGridSelector, gridSortedRowIdsSelector } from '@mui/x-data-grid-pro';
4
+ import { getTotalHeaderHeight, isNavigationKey, serializeCellValue, useGridRegisterPipeProcessor, useGridVisibleRows } from '@mui/x-data-grid-pro/internals';
5
+ import { useGridApiEventHandler, useGridApiMethod, GRID_ACTIONS_COLUMN_TYPE, GRID_CHECKBOX_SELECTION_COL_DEF, GRID_DETAIL_PANEL_TOGGLE_FIELD, gridRowsDataRowIdToIdLookupSelector, gridClasses, gridFocusCellSelector, GRID_REORDER_COL_DEF, useGridSelector, gridSortedRowIdsSelector, gridDimensionsSelector } from '@mui/x-data-grid-pro';
6
6
  import { gridCellSelectionStateSelector } from './gridCellSelectionSelector';
7
7
  export const cellSelectionStateInitializer = (state, props) => _extends({}, state, {
8
8
  cellSelection: _extends({}, props.cellSelectionModel ?? props.initialState?.cellSelection)
@@ -20,6 +20,8 @@ export const useGridCellSelection = (apiRef, props) => {
20
20
  const mousePosition = React.useRef(null);
21
21
  const autoScrollRAF = React.useRef();
22
22
  const sortedRowIds = useGridSelector(apiRef, gridSortedRowIdsSelector);
23
+ const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
24
+ const totalHeaderHeight = getTotalHeaderHeight(apiRef, props.columnHeaderHeight);
23
25
  const ignoreValueFormatterProp = props.ignoreValueFormatterDuringExport;
24
26
  const ignoreValueFormatter = (typeof ignoreValueFormatterProp === 'object' ? ignoreValueFormatterProp?.clipboardExport : ignoreValueFormatterProp) || false;
25
27
  const clipboardCopyCellDelimiter = props.clipboardCopyCellDelimiter;
@@ -166,10 +168,6 @@ export const useGridCellSelection = (apiRef, props) => {
166
168
  if (!apiRef.current.virtualScrollerRef?.current) {
167
169
  return;
168
170
  }
169
- const virtualScrollerRect = apiRef.current.virtualScrollerRef?.current?.getBoundingClientRect();
170
- if (!virtualScrollerRect) {
171
- return;
172
- }
173
171
  function autoScroll() {
174
172
  if (!mousePosition.current || !apiRef.current.virtualScrollerRef?.current) {
175
173
  return;
@@ -181,11 +179,10 @@ export const useGridCellSelection = (apiRef, props) => {
181
179
  const {
182
180
  height,
183
181
  width
184
- } = virtualScrollerRect;
182
+ } = dimensions.viewportInnerSize;
185
183
  let deltaX = 0;
186
184
  let deltaY = 0;
187
185
  let factor = 0;
188
- const dimensions = apiRef.current.getRootDimensions();
189
186
  if (mouseY <= AUTO_SCROLL_SENSITIVITY && dimensions.hasScrollY) {
190
187
  // When scrolling up, the multiplier increases going closer to the top edge
191
188
  factor = (AUTO_SCROLL_SENSITIVITY - mouseY) / -AUTO_SCROLL_SENSITIVITY;
@@ -216,7 +213,7 @@ export const useGridCellSelection = (apiRef, props) => {
216
213
  autoScrollRAF.current = requestAnimationFrame(autoScroll);
217
214
  }
218
215
  autoScroll();
219
- }, [apiRef]);
216
+ }, [apiRef, dimensions]);
220
217
  const handleCellMouseOver = React.useCallback((params, event) => {
221
218
  if (!lastMouseDownCell.current) {
222
219
  return;
@@ -234,13 +231,15 @@ export const useGridCellSelection = (apiRef, props) => {
234
231
  return;
235
232
  }
236
233
  const {
237
- height,
238
- width,
239
234
  x,
240
235
  y
241
236
  } = virtualScrollerRect;
237
+ const {
238
+ height,
239
+ width
240
+ } = dimensions.viewportInnerSize;
242
241
  const mouseX = event.clientX - x;
243
- const mouseY = event.clientY - y;
242
+ const mouseY = event.clientY - y - totalHeaderHeight;
244
243
  mousePosition.current = {
245
244
  x: mouseX,
246
245
  y: mouseY
@@ -255,7 +254,7 @@ export const useGridCellSelection = (apiRef, props) => {
255
254
  // Mouse has left the sensitivity area while auto scroll is on
256
255
  stopAutoScroll();
257
256
  }
258
- }, [apiRef, startAutoScroll, stopAutoScroll]);
257
+ }, [apiRef, startAutoScroll, stopAutoScroll, totalHeaderHeight, dimensions]);
259
258
  const handleCellClick = useEventCallback((params, event) => {
260
259
  const {
261
260
  id,
@@ -367,10 +366,10 @@ export const useGridCellSelection = (apiRef, props) => {
367
366
  id,
368
367
  field
369
368
  }) => {
370
- const newClasses = [...classes];
371
369
  if (!visibleRows.range || !apiRef.current.isCellSelected(id, field)) {
372
370
  return classes;
373
371
  }
372
+ const newClasses = [...classes];
374
373
  const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(id);
375
374
  const columnIndex = apiRef.current.getColumnIndex(field);
376
375
  const visibleColumns = apiRef.current.getVisibleColumns();
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.0.0-beta.5
2
+ * @mui/x-data-grid-premium v7.0.0-beta.7
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 = "MTcwOTM1NTYwMDAwMA==";
3
+ const releaseInfo = "MTcxMDM3MDgwMDAwMA==";
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.0.0-beta.5",
3
+ "version": "7.0.0-beta.7",
4
4
  "description": "The Premium plan edition of the data grid component (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -32,12 +32,12 @@
32
32
  "directory": "packages/x-data-grid-premium"
33
33
  },
34
34
  "dependencies": {
35
- "@babel/runtime": "^7.23.9",
35
+ "@babel/runtime": "^7.24.0",
36
36
  "@mui/system": "^5.15.9",
37
37
  "@mui/utils": "^5.15.9",
38
- "@mui/x-data-grid": "7.0.0-beta.5",
39
- "@mui/x-data-grid-pro": "7.0.0-beta.5",
40
- "@mui/x-license": "7.0.0-beta.2",
38
+ "@mui/x-data-grid": "7.0.0-beta.7",
39
+ "@mui/x-data-grid-pro": "7.0.0-beta.7",
40
+ "@mui/x-license": "7.0.0-beta.6",
41
41
  "@types/format-util": "^1.0.4",
42
42
  "clsx": "^2.1.0",
43
43
  "exceljs": "^4.4.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 = "MTcwOTM1NTYwMDAwMA==";
9
+ const releaseInfo = "MTcxMDM3MDgwMDAwMA==";
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