@mui/x-data-grid-premium 6.0.0-alpha.3 → 6.0.0-alpha.4

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,137 @@
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
+ ## v6.0.0-alpha.4
7
+
8
+ _Oct 20, 2022_
9
+
10
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 📝 Manage pickers' toolbar customization with slots
13
+ - 🐞 Bugfixes
14
+ - 🌍 Improve Turkish (tr-TR) locale on the data grid and pickers (#6542) @ramazansancar
15
+
16
+ ### `@mui/x-data-grid@v6.0.0-alpha.4` / `@mui/x-data-grid-pro@v6.0.0-alpha.4` / `@mui/x-data-grid-premium@v6.0.0-alpha.4`
17
+
18
+ #### Breaking changes
19
+
20
+ - To avoid confusion with the props that will be added for the cell selection feature, some props related to row selection were renamed to have "row" in their name.
21
+ The renamed props are the following:
22
+
23
+ | Old name | New name |
24
+ |----------------------------|-------------------------------|
25
+ | `selectionModel` | `rowSelectionModel` |
26
+ | `onSelectionModelChange` | `onRowSelectionModelChange` |
27
+ | `disableSelectionOnClick` | `disableRowSelectionOnClick` |
28
+ | `disableMultipleSelection` | `disableMultipleRowSelection` |
29
+
30
+ - The `gridSelectionStateSelector` selector was renamed to `gridRowSelectionStateSelector`.
31
+
32
+ - The `selectionChange` event was renamed to `rowSelectionChange`.
33
+
34
+ #### Changes
35
+
36
+ - [DataGrid] Add `searchPredicate` prop to `GridColumnsPanel` component (#6557) @cherniavskii
37
+ - [DataGrid] Support keyboard navigation in column group header (#5947) @alexfauquette
38
+ - [DataGrid] Fix grid not updating state on `rowCount` prop change (#5982) @cherniavskii
39
+ - [DataGrid] Rename selection props (#6556) @m4theushw
40
+ - [l10n] Improve Turkish (tr-TR) locale on the data grid and pickers (#6542) @ramazansancar
41
+
42
+ ### `@mui/x-date-pickers@v6.0.0-alpha.4` / `@mui/x-date-pickers-pro@v6.0.0-alpha.4`
43
+
44
+ #### Breaking changes
45
+
46
+ - The `ToolbarComponent` has been replaced by a `Toolbar` component slot.
47
+ You can find more information about this pattern in the [MUI Base documentation](https://mui.com/base/getting-started/usage/#shared-props):
48
+
49
+ ```diff
50
+ // Same on all other pickers
51
+ <DatePicker
52
+ - ToolbarComponent: MyToolbar,
53
+ + components={{ Toolbar: MyToolbar }}
54
+ />
55
+ ```
56
+
57
+ - The `toolbarPlaceholder` and `toolbarFormat` props have been moved to the `toolbar` components props slot:
58
+
59
+ ```diff
60
+ // Same on all other pickers
61
+ <DatePicker
62
+ - toolbarPlaceholder="__"
63
+ - toolbarFormat="DD / MM / YYYY"
64
+ + componentsProps={{
65
+ + toolbar: {
66
+ + toolbarPlaceholder: "__",
67
+ + toolbarFormat: "DD / MM / YYYY",
68
+ + }
69
+ + }}
70
+ />
71
+ ```
72
+
73
+ - The `toolbarTitle` prop has been moved to the localization object:
74
+
75
+ ```diff
76
+ // Same on all other pickers
77
+ <DatePicker
78
+ - toolbarTitle="Title"
79
+ + localeText={{ toolbarTitle: "Title" }}
80
+ />
81
+ ```
82
+
83
+ - The toolbar related translation keys have been renamed to better fit their usage:
84
+
85
+ ```diff
86
+ // Same on all other pickers
87
+ <DatePicker
88
+ localeText={{
89
+ - datePickerDefaultToolbarTitle: 'Date Picker',
90
+ + datePickerToolbarTitle: 'Date Picker',
91
+
92
+ - timePickerDefaultToolbarTitle: 'Time Picker',
93
+ + timePickerToolbarTitle: 'Time Picker',
94
+
95
+ - dateTimePickerDefaultToolbarTitle: 'Date Time Picker',
96
+ + dateTimePickerToolbarTitle: 'Date Time Picker',
97
+
98
+ - dateRangePickerDefaultToolbarTitle: 'Date Range Picker',
99
+ + dateRangePickerToolbarTitle: 'Date Range Picker',
100
+ }}
101
+ />
102
+ ```
103
+
104
+ - The `onChange` / `openView` props on the toolbar have been renamed `onViewChange` / `view`
105
+
106
+ #### Changes
107
+
108
+ - [fields] Add a `validationError` property to the `onChange` callback (#6539) @flaviendelangle
109
+ - [fields] Distinguish start and end input error on multi input fields (#6503) @flaviendelangle
110
+ - [pickers] Clean the `Tabs` component slot (#6543) @flaviendelangle
111
+ - [pickers] Fix localization of the placeholder (#6547) @alexfauquette
112
+ - [pickers] Fix TypeScript issues (#6322) @flaviendelangle
113
+ - [pickers] Improve error consistency between single and multiple range pickers (#6561) @alexfauquette
114
+ - [pickers] Refactor `@mui/material` imports to `@mui/utils` (#6443) @LukasTy
115
+ - [pickers] Replace toolbar's props by a component slot (#6445) @flaviendelangle
116
+
117
+ ### Docs
118
+
119
+ - [docs] Enable inlined preview for disabled date picker (#6477) @oliviertassinari
120
+ - [docs] Fix 404 errors (#6541) @alexfauquette
121
+ - [docs] Fix broken links on field pages (#6501) @flaviendelangle
122
+ - [docs] Improve markdownlint (#6518) @oliviertassinari
123
+
124
+ ### Core
125
+
126
+ - [core] Run CodeQL only on schedule @oliviertassinari
127
+ - [core] Fix trailing spaces and git diff format (#6523) @oliviertassinari
128
+ - [core] Harden GitHub Actions permissions (#6396) @step-security-bot
129
+ - [core] Improve the playground DX (#6514) @oliviertassinari
130
+ - [core] Link Netlify in the danger comment (#6513) @oliviertassinari
131
+ - [core] Organize tests for pickers slots (#6546) @flaviendelangle
132
+ - [core] Remove outdated `docsearch.js` dependency (#6242) @oliviertassinari
133
+ - [core] Upgrade monorepo (#6549) @cherniavskii
134
+ - [test] Add validation test on range pickers (#6504) @alexfauquette
135
+ - [test] Remove BrowserStack (#6263) @DanailH
136
+
6
137
  ## v6.0.0-alpha.3
7
138
 
8
139
  _Oct 13, 2022_
@@ -17,7 +148,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
17
148
  - [`MultiInputDateRangeField` / `SingleInputDateRangeField`](https://next.mui.com/x/react-date-pickers/date-range-field/) to edit date range
18
149
  - [`MultiInputTimeRangeField`](https://next.mui.com/x/react-date-pickers/time-range-field/) to edit time range with two inputs
19
150
  - [`MultiInputDateTimeRangeField`](https://next.mui.com/x/react-date-pickers/date-time-range-field/) to edit date and time range with two inputs
20
-
151
+
21
152
  ⚠️ These components are unstable.
22
153
  They might receive breaking changes on their props to have the best components possible by the time of the stable release.
23
154
 
@@ -71,83 +202,83 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
71
202
  The `DialogProps` prop has been replaced by a `dialog` component props slot on responsive and mobile pickers:
72
203
 
73
204
  ```diff
74
- // Same on MobileDatePicker, DateTimePicker, MobileDateTimePicker,
75
- // TimePicker, MobileTimePicker, DateRangePicker and MobileDateRangePicker.
76
- <DatePicker
205
+ // Same on MobileDatePicker, DateTimePicker, MobileDateTimePicker,
206
+ // TimePicker, MobileTimePicker, DateRangePicker and MobileDateRangePicker.
207
+ <DatePicker
77
208
  - DialogProps={{ backgroundColor: 'red' }}
78
209
  + componentsProps={{ dialog: { backgroundColor: 'red }}}
79
- />
210
+ />
80
211
  ```
81
212
 
82
213
  The `PaperProps` prop has been replaced by a `desktopPaper` component props slot on all responsive and desktop pickers:
83
214
 
84
215
  ```diff
85
- // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
86
- // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
87
- <DatePicker
216
+ // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
217
+ // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
218
+ <DatePicker
88
219
  - PaperProps={{ backgroundColor: 'red' }}
89
220
  + componentsProps={{ desktopPaper: { backgroundColor: 'red }}}
90
- />
221
+ />
91
222
  ```
92
223
 
93
224
  The `PopperProps` prop has been replaced by a `popper` component props slot on all responsive and desktop pickers:
94
225
 
95
226
  ```diff
96
- // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
97
- // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
98
- <DatePicker
227
+ // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
228
+ // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
229
+ <DatePicker
99
230
  - PopperProps={{ onClick: handleClick }}
100
231
  + componentsProps={{ popper: { onClick: handleClick }}}
101
- />
232
+ />
102
233
  ```
103
234
 
104
235
  The `TransitionComponent` prop has been replaced by a `DesktopTransition` component slot on all responsive and desktop pickers:
105
236
 
106
237
  ```diff
107
- // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
108
- // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
109
- <DatePicker
238
+ // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
239
+ // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
240
+ <DatePicker
110
241
  - TransitionComponent={Fade}
111
242
  + components={{ DesktopTransition: Fade }}
112
- />
243
+ />
113
244
  ```
114
245
 
115
246
  The `TrapFocusProps` prop has been replaced by a `desktopTrapFocus` component props slot on all responsive and desktop pickers:
116
247
 
117
248
  ```diff
118
- // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
119
- // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
120
- <DatePicker
249
+ // Same on DesktopDatePicker, DateTimePicker, DesktopDateTimePicker,
250
+ // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
251
+ <DatePicker
121
252
  - TrapFocusProps={{ isEnabled: () => false }}
122
253
  + componentsProps={{ desktopTrapFocus: { isEnabled: () => false }}}
123
- />
254
+ />
124
255
  ```
125
-
256
+
126
257
  - The view components allowing to pick a date or parts of a date without an input have been renamed to better fit their usage:
127
258
 
128
259
  ```diff
129
260
  -<CalendarPicker {...props} />
130
- +<DateCalendar {...props} />
261
+ +<DateCalendar {...props} />
131
262
  ```
132
263
 
133
264
  ```diff
134
265
  -<DayPicker {...props} />
135
- +<DayCalendar {...props} />
266
+ +<DayCalendar {...props} />
136
267
  ```
137
268
 
138
269
  ```diff
139
270
  -<CalendarPickerSkeleton {...props} />
140
- +<DayCalendarSkeleton {...props} />
271
+ +<DayCalendarSkeleton {...props} />
141
272
  ```
142
273
 
143
274
  ```diff
144
275
  -<MonthPicker {...props} />
145
- +<MonthCalendar {...props} />
276
+ +<MonthCalendar {...props} />
146
277
  ```
147
278
 
148
279
  ```diff
149
280
  -<YearPicker {...props} />
150
- +<YearCalendar {...props} />
281
+ +<YearCalendar {...props} />
151
282
  ```
152
283
 
153
284
  - Component names in the theme have changed as well:
@@ -256,7 +387,7 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
256
387
  You can find more information about this pattern in the [MUI Base documentation](https://mui.com/base/getting-started/usage/#shared-props).
257
388
 
258
389
  ```diff
259
- // Same for any other date, date time or date range picker.
390
+ // Same for any other date, date time or date range picker.
260
391
  <DatePicker
261
392
  - renderDay={(_, dayProps) => <CustomDay {...dayProps} />}
262
393
  + components={{ Day: CustomDay }}
@@ -438,17 +569,17 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
438
569
  - The deprecated `hide` column property has been removed in favor of the `columnVisibilityModel` prop and initial state.
439
570
 
440
571
  ```diff
441
- <DataGrid
442
- columns={[
443
- field: 'id,
444
- - hide: true,
445
- ]}
572
+ <DataGrid
573
+ columns={[
574
+ field: 'id,
575
+ - hide: true,
576
+ ]}
446
577
  + initialState={{
447
578
  + columns: {
448
579
  + columnVisibilityModel: { id: false },
449
- + }
580
+ + },
450
581
  + }}
451
- />
582
+ />
452
583
  ```
453
584
 
454
585
  You can find more information about this new API on our [documentation](https://next.mui.com/x/react-data-grid/column-visibility/).
@@ -456,8 +587,8 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
456
587
  - The `GridEvents` enum is now a TypeScript type.
457
588
 
458
589
  ```diff
459
- - apiRef.current.subscribeEvent(GridEvents.rowClick', handleRowClick)
460
- + apiRef.current.subscribeEvent('rowClick', handleRowClick)
590
+ -apiRef.current.subscribeEvent(GridEvents.rowClick', handleRowClick);
591
+ +apiRef.current.subscribeEvent('rowClick', handleRowClick);
461
592
  ```
462
593
 
463
594
  #### Changes
@@ -491,14 +622,14 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
491
622
  For instance if you want to replace the `startText` / `endText`
492
623
 
493
624
  ```diff
494
- <DateRangePicker
625
+ <DateRangePicker
495
626
  - startText="From"
496
627
  - endText="To"
497
628
  + localeText={{
498
629
  + start: 'From',
499
630
  + end: 'To',
500
631
  + }}
501
- />
632
+ />
502
633
  ```
503
634
 
504
635
  You can find more information about the new api, including how to set those translations on all your components at once in the [documentation](https://next.mui.com/x/react-date-pickers/localization/)
@@ -506,51 +637,50 @@ You can find more information about the new api, including how to set those tran
506
637
  - The deprecated `locale` prop of the `LocalizationProvider` component have been renamed `adapterLocale`:
507
638
 
508
639
  ```diff
509
- <LocalizationProvider
510
- dateAdapter={AdapterDayjs}
511
- - locale="fr"
640
+ <LocalizationProvider
641
+ dateAdapter={AdapterDayjs}
642
+ - locale="fr"
512
643
  + adapterLocale="fr"
513
- >
514
- {children}
515
- </LocalizationProvider>
644
+ >
645
+ {children}
646
+ </LocalizationProvider>
516
647
  ```
517
648
 
518
649
  - The component slots `LeftArrowButton` and `RightArrowButton` have been renamed `PreviousIconButton` and `NextIconButton` to better describe there usage:
519
650
 
520
651
  ```diff
521
- <DatePicker
522
- components={{
523
- - LeftArrowButton: CustomButton,
524
- + PreviousIconButton: CustomButton,
525
-
526
- - RightArrowButton: CustomButton,
527
- + NextIconButton: CustomButton,
528
- }}
652
+ <DatePicker
653
+ components={{
654
+ - LeftArrowButton: CustomButton,
655
+ + PreviousIconButton: CustomButton,
529
656
 
530
- componentsProps={{
531
- - leftArrowButton: {},
532
- + previousIconButton: {},
657
+ - RightArrowButton: CustomButton,
658
+ + NextIconButton: CustomButton,
659
+ }}
660
+ componentsProps={{
661
+ - leftArrowButton: {},
662
+ + previousIconButton: {},
533
663
 
534
- - rightArrowButton: {},
535
- + nextIconButton: {},
536
- }}
537
- />
664
+ - rightArrowButton: {},
665
+ + nextIconButton: {},
666
+ }}
667
+ />
538
668
  ```
539
669
 
540
670
  - The `date` prop has been renamed `value` on `MonthPicker` / `YearPicker`, `ClockPicker` and `CalendarPicker`.
541
671
 
542
672
  ```diff
543
- - <MonthPicker date={dayjs()} onChange={handleMonthChange} />
544
- + <MonthPicker value={dayjs()} onChange={handleMonthChange} />
673
+ -<MonthPicker date={dayjs()} onChange={handleMonthChange} />
674
+ +<MonthPicker value={dayjs()} onChange={handleMonthChange} />
545
675
 
546
- - <YearPicker date={dayjs()} onChange={handleYearChange} />
547
- + <YearPicker value={dayjs()} onChange={handleYearChange} />
676
+ -<YearPicker date={dayjs()} onChange={handleYearChange} />
677
+ +<YearPicker value={dayjs()} onChange={handleYearChange} />
548
678
 
549
- - <ClockPicker date={dayjs()} onChange={handleTimeChange} />
550
- + <ClockPicker value={dayjs()} onChange={handleTimeChange} />
679
+ -<ClockPicker date={dayjs()} onChange={handleTimeChange} />
680
+ +<ClockPicker value={dayjs()} onChange={handleTimeChange} />
551
681
 
552
- - <CalendarPicker date={dayjs()} onChange={handleDateChange} />
553
- + <CalendarPicker value={dayjs()} onChange={handleDateChange} />
682
+ -<CalendarPicker date={dayjs()} onChange={handleDateChange} />
683
+ +<CalendarPicker value={dayjs()} onChange={handleDateChange} />
554
684
  ```
555
685
 
556
686
  #### Changes
@@ -1994,10 +2124,10 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
1994
2124
  | `filterableGridColumnsSelector` | `gridFilterableColumnDefinitionsSelector` |
1995
2125
 
1996
2126
  ```diff
1997
- -const { all, lookup, columnVisibilityModel } = gridColumnsSelector(apiRef)
1998
- +const all = gridColumnFieldsSelector(apiRef)
1999
- +const lookup = gridColumnLookupSelector(apiRef)
2000
- +const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef)
2127
+ -const { all, lookup, columnVisibilityModel } = gridColumnsSelector(apiRef);
2128
+ +const all = gridColumnFieldsSelector(apiRef);
2129
+ +const lookup = gridColumnLookupSelector(apiRef);
2130
+ +const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
2001
2131
 
2002
2132
  -const filterableFields = filterableGridColumnsIdsSelector(apiRef);
2003
2133
  +const lookup = gridFilterableColumnLookupSelector(apiRef);
@@ -2934,7 +3064,7 @@ A big thanks to the 7 contributors who made this release possible. Here are some
2934
3064
 
2935
3065
  ```diff
2936
3066
  -visibleSortedGridRowsAsArraySelector: (state: GridState) => [GridRowId, GridRowData][];
2937
- +gridVisibleSortedRowEntriesSelector: (state: GridState) => GridRowEntry[]
3067
+ +gridVisibleSortedRowEntriesSelector: (state: GridState) => GridRowEntry[];
2938
3068
  ```
2939
3069
 
2940
3070
  - [DataGridPro] The `filterGridItemsCounterSelector` selector was removed. (#2942) @flaviendelangle
@@ -3034,15 +3164,15 @@ A big thanks to the 5 contributors who made this release possible. Here are some
3034
3164
  To fully control the state, use the feature's model prop and change callback (e.g. `filterModel` and `onFilterModelChange`).
3035
3165
 
3036
3166
  ```diff
3037
- <DataGrid
3167
+ <DataGrid
3038
3168
  - state={{
3039
3169
  + initialState={{
3040
- preferencePanel: {
3041
- open: true,
3042
- openedPanelValue: GridPreferencePanelsValue.filters,
3043
- },
3044
- }}
3045
- />
3170
+ preferencePanel: {
3171
+ open: true,
3172
+ openedPanelValue: GridPreferencePanelsValue.filters,
3173
+ },
3174
+ }}
3175
+ />
3046
3176
  ```
3047
3177
 
3048
3178
  - [DataGridPro] Remove the `onViewportRowsChange` prop and the `viewportRowsChange` event (#2673) @m4theushw
@@ -3145,12 +3275,12 @@ A big thanks to the 7 contributors who made this release possible. Here are some
3145
3275
  For more information, check [this page](https://mui.com/x/react-data-grid/components/#row). Example:
3146
3276
 
3147
3277
  ```diff
3148
- -<DataGrid onRowOver={handleRowOver} />;
3149
- +<DataGrid
3278
+ <DataGrid
3279
+ - onRowOver={handleRowOver}
3150
3280
  + componentsProps={{
3151
3281
  + row: { onMouseOver: handleRowOver },
3152
3282
  + }}
3153
- +/>;
3283
+ />;
3154
3284
  ```
3155
3285
 
3156
3286
  The `data-rowindex` and `data-rowselected` attributes were removed from the cell element. Equivalent attributes can be found in the row element.
@@ -3182,33 +3312,33 @@ A big thanks to the 7 contributors who made this release possible. Here are some
3182
3312
  - [DataGrid] The CSS classes constants are not exported anymore. Use `gridClasses` instead. (#2788) @flaviendelangle
3183
3313
 
3184
3314
  ```diff
3185
- -const columnHeaderClass = GRID_COLUMN_HEADER_CSS_CLASS
3186
- +const columnHeaderClass = gridClasses.columnHeader
3315
+ -const columnHeaderClass = GRID_COLUMN_HEADER_CSS_CLASS;
3316
+ +const columnHeaderClass = gridClasses.columnHeader;
3187
3317
 
3188
- -const rowClass = GRID_ROW_CSS_CLASS
3189
- +const rowClass = gridClasses.row
3318
+ -const rowClass = GRID_ROW_CSS_CLASS;
3319
+ +const rowClass = gridClasses.row;
3190
3320
 
3191
- -const cellClass = GRID_CELL_CSS_CLASS
3192
- +const cellClass = gridClasses.cell
3321
+ -const cellClass = GRID_CELL_CSS_CLASS;
3322
+ +const cellClass = gridClasses.cell;
3193
3323
 
3194
- -const columnSeparatorClass = GRID_COLUMN_HEADER_SEPARATOR_RESIZABLE_CSS_CLASS
3195
- +const columnSeparatorClass = gridClasses['columnSeparator--resizable']
3324
+ -const columnSeparatorClass = GRID_COLUMN_HEADER_SEPARATOR_RESIZABLE_CSS_CLASS;
3325
+ +const columnSeparatorClass = gridClasses['columnSeparator--resizable'];
3196
3326
 
3197
- -const columnHeaderTitleClass = GRID_COLUMN_HEADER_TITLE_CSS_CLASS
3198
- +const columnHeaderTitleClass = gridClasses.columnHeaderTitle
3327
+ -const columnHeaderTitleClass = GRID_COLUMN_HEADER_TITLE_CSS_CLASS;
3328
+ +const columnHeaderTitleClass = gridClasses.columnHeaderTitle;
3199
3329
 
3200
- -const columnHeaderDropZoneClass = GRID_COLUMN_HEADER_DROP_ZONE_CSS_CLASS
3201
- +const columnHeaderDropZoneClass = gridClasses.columnHeaderDropZone
3330
+ -const columnHeaderDropZoneClass = GRID_COLUMN_HEADER_DROP_ZONE_CSS_CLASS;
3331
+ +const columnHeaderDropZoneClass = gridClasses.columnHeaderDropZone;
3202
3332
 
3203
- -const columnHeaderDraggingClass = GRID_COLUMN_HEADER_DRAGGING_CSS_CLASS
3204
- +const columnHeaderDraggingClass = gridClasses["columnHeader--dragging"]
3333
+ -const columnHeaderDraggingClass = GRID_COLUMN_HEADER_DRAGGING_CSS_CLASS;
3334
+ +const columnHeaderDraggingClass = gridClasses['columnHeader--dragging'];
3205
3335
  ```
3206
3336
 
3207
3337
  - [DataGrid] Rename `gridCheckboxSelectionColDef` to `GRID_CHECKBOX_SELECTION_COL_DEF` (#2793) @flaviendelangle
3208
3338
 
3209
3339
  ```diff
3210
- - gridCheckboxSelectionColDef
3211
- + GRID_CHECKBOX_SELECTION_COL_DEF
3340
+ -gridCheckboxSelectionColDef
3341
+ +GRID_CHECKBOX_SELECTION_COL_DEF
3212
3342
  ```
3213
3343
 
3214
3344
  - [DataGrid] The constants referring to the column types were removed (#2791) @flaviendelangle
@@ -3376,7 +3506,7 @@ A big thanks to the 5 contributors who made this release possible. Here are some
3376
3506
  -export type GridValueFormatterParams = Omit<GridRenderCellParams, 'formattedValue' | 'isEditable'>;
3377
3507
  +export interface GridValueFormatterParams {
3378
3508
  + /**
3379
- + * The column field of the cell that triggered the event
3509
+ + * The column field of the cell that triggered the event.
3380
3510
  + */
3381
3511
  + field: string;
3382
3512
  + /**
@@ -3462,7 +3592,7 @@ A big thanks to the 9 contributors who made this release possible. Here are some
3462
3592
 
3463
3593
  ```diff
3464
3594
  -const state = apiRef.current.getState();
3465
- +const state = apiRef.current.state
3595
+ +const state = apiRef.current.state;
3466
3596
  ```
3467
3597
 
3468
3598
  - [DataGridPro] The third argument in `apiRef.current.selectRow` is now inverted to keep consistency with other selection APIs. (#2523) @flaviendelangle
@@ -3756,16 +3886,15 @@ Big thanks to the 6 contributors who made this release possible. Here are some h
3756
3886
  - The `width` property of the columns is no longer updated with the actual width of of the column. Use the new `computedWidth` property in the callbacks instead.
3757
3887
 
3758
3888
  ```diff
3759
- const columns: GridColDef = [
3760
- {
3761
- field: "name",
3762
- width: 100,
3763
- renderCell: ({ value, colDef }) => {
3764
- - console.log(colDef.width!)
3765
- + console.log(colDef.computedWidth)
3766
- return value
3767
- }
3768
- ]
3889
+ const columns: GridColDef = [{
3890
+ field: 'name',
3891
+ width: 100,
3892
+ renderCell: ({ value, colDef }) => {
3893
+ - console.log(colDef.width!);
3894
+ + console.log(colDef.computedWidth);
3895
+ return value;
3896
+ },
3897
+ }];
3769
3898
  ```
3770
3899
 
3771
3900
  #### Changes
@@ -3828,21 +3957,21 @@ Big thanks to the 8 contributors who made this release possible. Here are some h
3828
3957
  - Change the controllable API signature:
3829
3958
 
3830
3959
  ```diff
3831
- // Signature
3960
+ // Signature
3832
3961
  -onPageChange?: (params: GridPageChangeParams) => void;
3833
3962
  +onPageChange?: (page: number) => void;
3834
3963
 
3835
- // Usage
3964
+ // Usage
3836
3965
  -<DataGrid onPageChange={(params: GridPageChangeParams) => setPage(params.page)} />
3837
3966
  +<DataGrid onPageChange={(page: number) => setPage(page)} />
3838
3967
  ```
3839
3968
 
3840
3969
  ```diff
3841
- // Signature
3970
+ // Signature
3842
3971
  -onPageSizeChange?: (params: GridPageChangeParams) => void;
3843
3972
  +onPageSizeChange?: (pageSize: number) => void;
3844
3973
 
3845
- // Usage
3974
+ // Usage
3846
3975
  -<DataGrid onPageSizeChange={(params: GridPageChangeParams) => setPageSize(params.pageSize)} />
3847
3976
  +<DataGrid onPageSizeChange={(pageSize: number) => setPageSize(pageSize)} />
3848
3977
  ```
@@ -3900,7 +4029,7 @@ Big thanks to the 11 contributors who made this release possible. Here are some
3900
4029
  Remove public `apiRef.current.isColumnVisibleInWindow()` as it servers private use cases.
3901
4030
 
3902
4031
  ```diff
3903
- -apiRef.current.isColumnVisibleInWindow()
4032
+ -apiRef.current.isColumnVisibleInWindow();
3904
4033
  ```
3905
4034
 
3906
4035
  - [DataGrid] Remove stateId argument from GridApi getState method (#2141) @flaviendelangle
@@ -3947,7 +4076,7 @@ Big thanks to the 11 contributors who made this release possible. Here are some
3947
4076
 
3948
4077
  ```diff
3949
4078
  +apiRef.current.setCellMode(1, 'name', 'edit');
3950
- apiRef.current.commitCellChange({ id: 1, field: 'name' });
4079
+ apiRef.current.commitCellChange({ id: 1, field: 'name' });
3951
4080
  ```
3952
4081
 
3953
4082
  - The `setCellValue` was removed from the API. Use `commitCellChange` or `updateRows` in place.
@@ -4738,31 +4867,33 @@ Big thanks to the 5 contributors who made this release possible. Here are some h
4738
4867
 
4739
4868
  - Changes on `apiRef.current`.
4740
4869
 
4741
- ```diff
4742
- - getRowModels: () => GridRowModel[];
4743
- + getRowModels: () => Map<GridRowId, GridRowModel>;
4744
- - getVisibleRowModels: () => GridRowModel[];
4745
- + getVisibleRowModels: () => Map<GridRowId, GridRowModel>;
4746
- - getSelectedRows: () => GridRowModel[];
4747
- + getSelectedRows: () => Map<GridRowId, GridRowModel>;
4748
- ```
4749
-
4750
- - Changes on `GridFilterModelParams`.
4751
-
4752
- ```diff
4753
- export interface GridFilterModelParams {
4754
- /**
4755
- * The full set of rows.
4756
- */
4757
- - rows: GridRowModel[];
4758
- + rows: Map<GridRowId, GridRowModel>;
4759
- /**
4760
- * The set of currently visible rows.
4761
- */
4762
- - visibleRows: GridRowModel[];
4763
- + visibleRows: Map<GridRowId, GridRowModel>;
4764
- }
4765
- ```
4870
+ ```diff
4871
+ -getRowModels: () => GridRowModel[];
4872
+ +getRowModels: () => Map<GridRowId, GridRowModel>;
4873
+
4874
+ -getVisibleRowModels: () => GridRowModel[];
4875
+ +getVisibleRowModels: () => Map<GridRowId, GridRowModel>;
4876
+
4877
+ -getSelectedRows: () => GridRowModel[];
4878
+ +getSelectedRows: () => Map<GridRowId, GridRowModel>;
4879
+ ```
4880
+
4881
+ - Changes on `GridFilterModelParams`.
4882
+
4883
+ ```diff
4884
+ export interface GridFilterModelParams {
4885
+ /**
4886
+ * The full set of rows.
4887
+ */
4888
+ - rows: GridRowModel[];
4889
+ + rows: Map<GridRowId, GridRowModel>;
4890
+ /**
4891
+ * The set of currently visible rows.
4892
+ */
4893
+ - visibleRows: GridRowModel[];
4894
+ + visibleRows: Map<GridRowId, GridRowModel>;
4895
+ }
4896
+ ```
4766
4897
 
4767
4898
  - [DataGrid] Upgrade mininum supported version of React to 17.0.0 (#1410) @m4theushw
4768
4899
 
@@ -4980,11 +5111,12 @@ Big thanks to the 4 contributors who made this release possible. Here are some h
4980
5111
  ```diff
4981
5112
  -columns[1] = { ...columns[1], sortDirection: 'asc' };
4982
5113
 
4983
- return (
4984
- <div>
5114
+ return (
5115
+ <div>
4985
5116
  - <DataGrid rows={rows} columns={columns} />
4986
5117
  + <DataGrid rows={rows} columns={columns} sortModel={[{ field: columns[1].field, sort: 'asc' }]} />
4987
- </div>
5118
+ </div>
5119
+ );
4988
5120
  ```
4989
5121
 
4990
5122
  - [DataGrid] Rename the `onSelectionChange` prop to `onSelectionModelChange` for consistency. (#986) @dtassone
@@ -5011,10 +5143,11 @@ Big thanks to the 4 contributors who made this release possible. Here are some h
5011
5143
  -const [page, setPage] = React.useState(1);
5012
5144
  +const [page, setPage] = React.useState(0);
5013
5145
 
5014
- return (
5015
- <div className="grid-container">
5016
- <DataGrid rows={rows} columns={columns} page={page} />
5017
- </div>
5146
+ return (
5147
+ <div className="grid-container">
5148
+ <DataGrid rows={rows} columns={columns} page={page} />
5149
+ </div>
5150
+ );
5018
5151
  ```
5019
5152
 
5020
5153
  #### Changes
@@ -5115,25 +5248,25 @@ Big thanks to the 5 contributors who made this release possible. Here are some h
5115
5248
  - Capitalize the keys of the `components` prop. This change aims to bring consistency with the customization pattern of Material UI v5:
5116
5249
 
5117
5250
  ```diff
5118
- <DataGrid
5119
- components={{
5120
- - noRowsOverlay: CustomNoRowsOverlay,
5121
- + NoRowOverlay: CustomNoRowsOverlay,
5122
- }}
5123
- />
5251
+ <DataGrid
5252
+ components={{
5253
+ - noRowsOverlay: CustomNoRowsOverlay,
5254
+ + NoRowOverlay: CustomNoRowsOverlay,
5255
+ }}
5256
+ />
5124
5257
  ```
5125
5258
 
5126
5259
  - Move all the icon components overrides in the `components` prop. And added the suffix 'Icon' on each icon component. This change aims to bring consistency with the customization pattern of Material UI v5:
5127
5260
 
5128
5261
  ```diff
5129
- <DataGrid
5130
- - icons: {{
5131
- - ColumnSortedAscending: SortedAscending,
5132
- - }},
5133
- + components={{
5134
- + ColumnSortedAscendingIcon: SortedAscending,
5135
- + }}
5136
- />
5262
+ <DataGrid
5263
+ - icons: {{
5264
+ - ColumnSortedAscending: SortedAscending,
5265
+ - }},
5266
+ + components={{
5267
+ + ColumnSortedAscendingIcon: SortedAscending,
5268
+ + }}
5269
+ />
5137
5270
  ```
5138
5271
 
5139
5272
  - Change the props provided to the component of the `components` prop. Expose the whole state instead of an arbitrary set of props:
@@ -5151,9 +5284,9 @@ Big thanks to the 5 contributors who made this release possible. Here are some h
5151
5284
  + page={state.pagination.page}
5152
5285
  + count={state.pagination.pageCount}
5153
5286
 
5154
- // ...
5287
+ // ...
5155
5288
 
5156
- <DataGrid components={{ Pagination: CustomPagination }} />
5289
+ <DataGrid components={{ Pagination: CustomPagination }} />
5157
5290
  ```
5158
5291
 
5159
5292
  #### Changes
@@ -264,7 +264,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
264
264
  * If `true`, multiple selection using the Ctrl or CMD key is disabled.
265
265
  * @default false
266
266
  */
267
- disableMultipleSelection: PropTypes.bool,
267
+ disableMultipleRowSelection: PropTypes.bool,
268
268
 
269
269
  /**
270
270
  * If `true`, the row grouping is disabled.
@@ -276,7 +276,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
276
276
  * If `true`, the selection on click on a row or cell is disabled.
277
277
  * @default false
278
278
  */
279
- disableSelectionOnClick: PropTypes.bool,
279
+ disableRowSelectionOnClick: PropTypes.bool,
280
280
 
281
281
  /**
282
282
  * If `true`, the virtualization is disabled.
@@ -830,19 +830,19 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
830
830
  onRowOrderChange: PropTypes.func,
831
831
 
832
832
  /**
833
- * Callback fired when scrolling to the bottom of the grid viewport.
834
- * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
835
- * @param {MuiEvent<{}>} event The event object.
833
+ * Callback fired when the selection state of one or multiple rows changes.
834
+ * @param {GridRowSelectionModel} rowSelectionModel With all the row ids [[GridSelectionModel]].
836
835
  * @param {GridCallbackDetails} details Additional details for this callback.
837
836
  */
838
- onRowsScrollEnd: PropTypes.func,
837
+ onRowSelectionModelChange: PropTypes.func,
839
838
 
840
839
  /**
841
- * Callback fired when the selection state of one or multiple rows changes.
842
- * @param {GridSelectionModel} selectionModel With all the row ids [[GridSelectionModel]].
840
+ * Callback fired when scrolling to the bottom of the grid viewport.
841
+ * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
842
+ * @param {MuiEvent<{}>} event The event object.
843
843
  * @param {GridCallbackDetails} details Additional details for this callback.
844
844
  */
845
- onSelectionModelChange: PropTypes.func,
845
+ onRowsScrollEnd: PropTypes.func,
846
846
 
847
847
  /**
848
848
  * Callback fired when the sort model changes before a column is sorted.
@@ -958,6 +958,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
958
958
  */
959
959
  rows: PropTypes.arrayOf(PropTypes.object).isRequired,
960
960
 
961
+ /**
962
+ * Sets the row selection model of the grid.
963
+ */
964
+ rowSelectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
965
+
961
966
  /**
962
967
  * Loading rows can be processed on the server or client-side.
963
968
  * Set it to 'client' if you would like enable infnite loading.
@@ -995,11 +1000,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
995
1000
  */
996
1001
  scrollEndThreshold: PropTypes.number,
997
1002
 
998
- /**
999
- * Set the selection model of the grid.
1000
- */
1001
- selectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
1002
-
1003
1003
  /**
1004
1004
  * If `true`, the right border of the cells are displayed.
1005
1005
  * @default false
@@ -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, useGridSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, useGridDimensions, useGridStatePersistence, useGridSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, selectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridColumnGroupingPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer } 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, 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 } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from '../hooks/features/aggregation/useGridAggregation';
4
4
  import { useGridAggregationPreProcessors } from '../hooks/features/aggregation/useGridAggregationPreProcessors';
@@ -11,8 +11,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
11
11
  * Register all pre-processors called during state initialization here.
12
12
  */
13
13
 
14
- useGridColumnGroupingPreProcessors(apiRef, props);
15
- useGridSelectionPreProcessors(apiRef, props);
14
+ useGridRowSelectionPreProcessors(apiRef, props);
16
15
  useGridRowReorderPreProcessors(apiRef, props);
17
16
  useGridRowGroupingPreProcessors(apiRef, props);
18
17
  useGridTreeDataPreProcessors(apiRef, props);
@@ -29,7 +28,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
29
28
 
30
29
  useGridInitializeState(rowGroupingStateInitializer, apiRef, props);
31
30
  useGridInitializeState(aggregationStateInitializer, apiRef, props);
32
- useGridInitializeState(selectionStateInitializer, apiRef, props);
31
+ useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
33
32
  useGridInitializeState(detailPanelStateInitializer, apiRef, props);
34
33
  useGridInitializeState(columnPinningStateInitializer, apiRef, props);
35
34
  useGridInitializeState(columnsStateInitializer, apiRef, props);
@@ -51,7 +50,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
51
50
  useGridTreeData(apiRef);
52
51
  useGridAggregation(apiRef, props);
53
52
  useGridKeyboardNavigation(apiRef, props);
54
- useGridSelection(apiRef, props);
53
+ useGridRowSelection(apiRef, props);
55
54
  useGridColumnPinning(apiRef, props);
56
55
  useGridRowPinning(apiRef, props);
57
56
  useGridColumns(apiRef, props);
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v6.0.0-alpha.3
1
+ /** @license MUI v6.0.0-alpha.4
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -264,7 +264,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
264
264
  * If `true`, multiple selection using the Ctrl or CMD key is disabled.
265
265
  * @default false
266
266
  */
267
- disableMultipleSelection: PropTypes.bool,
267
+ disableMultipleRowSelection: PropTypes.bool,
268
268
 
269
269
  /**
270
270
  * If `true`, the row grouping is disabled.
@@ -276,7 +276,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
276
276
  * If `true`, the selection on click on a row or cell is disabled.
277
277
  * @default false
278
278
  */
279
- disableSelectionOnClick: PropTypes.bool,
279
+ disableRowSelectionOnClick: PropTypes.bool,
280
280
 
281
281
  /**
282
282
  * If `true`, the virtualization is disabled.
@@ -830,19 +830,19 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
830
830
  onRowOrderChange: PropTypes.func,
831
831
 
832
832
  /**
833
- * Callback fired when scrolling to the bottom of the grid viewport.
834
- * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
835
- * @param {MuiEvent<{}>} event The event object.
833
+ * Callback fired when the selection state of one or multiple rows changes.
834
+ * @param {GridRowSelectionModel} rowSelectionModel With all the row ids [[GridSelectionModel]].
836
835
  * @param {GridCallbackDetails} details Additional details for this callback.
837
836
  */
838
- onRowsScrollEnd: PropTypes.func,
837
+ onRowSelectionModelChange: PropTypes.func,
839
838
 
840
839
  /**
841
- * Callback fired when the selection state of one or multiple rows changes.
842
- * @param {GridSelectionModel} selectionModel With all the row ids [[GridSelectionModel]].
840
+ * Callback fired when scrolling to the bottom of the grid viewport.
841
+ * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
842
+ * @param {MuiEvent<{}>} event The event object.
843
843
  * @param {GridCallbackDetails} details Additional details for this callback.
844
844
  */
845
- onSelectionModelChange: PropTypes.func,
845
+ onRowsScrollEnd: PropTypes.func,
846
846
 
847
847
  /**
848
848
  * Callback fired when the sort model changes before a column is sorted.
@@ -958,6 +958,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
958
958
  */
959
959
  rows: PropTypes.arrayOf(PropTypes.object).isRequired,
960
960
 
961
+ /**
962
+ * Sets the row selection model of the grid.
963
+ */
964
+ rowSelectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
965
+
961
966
  /**
962
967
  * Loading rows can be processed on the server or client-side.
963
968
  * Set it to 'client' if you would like enable infnite loading.
@@ -995,11 +1000,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
995
1000
  */
996
1001
  scrollEndThreshold: PropTypes.number,
997
1002
 
998
- /**
999
- * Set the selection model of the grid.
1000
- */
1001
- selectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
1002
-
1003
1003
  /**
1004
1004
  * If `true`, the right border of the cells are displayed.
1005
1005
  * @default false
@@ -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, useGridSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, useGridDimensions, useGridStatePersistence, useGridSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, selectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridColumnGroupingPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer } 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, 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 } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from '../hooks/features/aggregation/useGridAggregation';
4
4
  import { useGridAggregationPreProcessors } from '../hooks/features/aggregation/useGridAggregationPreProcessors';
@@ -11,8 +11,7 @@ export var useDataGridPremiumComponent = function useDataGridPremiumComponent(in
11
11
  * Register all pre-processors called during state initialization here.
12
12
  */
13
13
 
14
- useGridColumnGroupingPreProcessors(apiRef, props);
15
- useGridSelectionPreProcessors(apiRef, props);
14
+ useGridRowSelectionPreProcessors(apiRef, props);
16
15
  useGridRowReorderPreProcessors(apiRef, props);
17
16
  useGridRowGroupingPreProcessors(apiRef, props);
18
17
  useGridTreeDataPreProcessors(apiRef, props);
@@ -29,7 +28,7 @@ export var useDataGridPremiumComponent = function useDataGridPremiumComponent(in
29
28
 
30
29
  useGridInitializeState(rowGroupingStateInitializer, apiRef, props);
31
30
  useGridInitializeState(aggregationStateInitializer, apiRef, props);
32
- useGridInitializeState(selectionStateInitializer, apiRef, props);
31
+ useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
33
32
  useGridInitializeState(detailPanelStateInitializer, apiRef, props);
34
33
  useGridInitializeState(columnPinningStateInitializer, apiRef, props);
35
34
  useGridInitializeState(columnsStateInitializer, apiRef, props);
@@ -51,7 +50,7 @@ export var useDataGridPremiumComponent = function useDataGridPremiumComponent(in
51
50
  useGridTreeData(apiRef);
52
51
  useGridAggregation(apiRef, props);
53
52
  useGridKeyboardNavigation(apiRef, props);
54
- useGridSelection(apiRef, props);
53
+ useGridRowSelection(apiRef, props);
55
54
  useGridColumnPinning(apiRef, props);
56
55
  useGridRowPinning(apiRef, props);
57
56
  useGridColumns(apiRef, props);
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v6.0.0-alpha.3
1
+ /** @license MUI v6.0.0-alpha.4
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export var getReleaseInfo = function getReleaseInfo() {
3
- var releaseInfo = "MTY2NTY4NzYwMDAwMA==";
3
+ var releaseInfo = "MTY2NjIxNjgwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).
@@ -264,7 +264,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
264
264
  * If `true`, multiple selection using the Ctrl or CMD key is disabled.
265
265
  * @default false
266
266
  */
267
- disableMultipleSelection: PropTypes.bool,
267
+ disableMultipleRowSelection: PropTypes.bool,
268
268
 
269
269
  /**
270
270
  * If `true`, the row grouping is disabled.
@@ -276,7 +276,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
276
276
  * If `true`, the selection on click on a row or cell is disabled.
277
277
  * @default false
278
278
  */
279
- disableSelectionOnClick: PropTypes.bool,
279
+ disableRowSelectionOnClick: PropTypes.bool,
280
280
 
281
281
  /**
282
282
  * If `true`, the virtualization is disabled.
@@ -830,19 +830,19 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
830
830
  onRowOrderChange: PropTypes.func,
831
831
 
832
832
  /**
833
- * Callback fired when scrolling to the bottom of the grid viewport.
834
- * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
835
- * @param {MuiEvent<{}>} event The event object.
833
+ * Callback fired when the selection state of one or multiple rows changes.
834
+ * @param {GridRowSelectionModel} rowSelectionModel With all the row ids [[GridSelectionModel]].
836
835
  * @param {GridCallbackDetails} details Additional details for this callback.
837
836
  */
838
- onRowsScrollEnd: PropTypes.func,
837
+ onRowSelectionModelChange: PropTypes.func,
839
838
 
840
839
  /**
841
- * Callback fired when the selection state of one or multiple rows changes.
842
- * @param {GridSelectionModel} selectionModel With all the row ids [[GridSelectionModel]].
840
+ * Callback fired when scrolling to the bottom of the grid viewport.
841
+ * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
842
+ * @param {MuiEvent<{}>} event The event object.
843
843
  * @param {GridCallbackDetails} details Additional details for this callback.
844
844
  */
845
- onSelectionModelChange: PropTypes.func,
845
+ onRowsScrollEnd: PropTypes.func,
846
846
 
847
847
  /**
848
848
  * Callback fired when the sort model changes before a column is sorted.
@@ -958,6 +958,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
958
958
  */
959
959
  rows: PropTypes.arrayOf(PropTypes.object).isRequired,
960
960
 
961
+ /**
962
+ * Sets the row selection model of the grid.
963
+ */
964
+ rowSelectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
965
+
961
966
  /**
962
967
  * Loading rows can be processed on the server or client-side.
963
968
  * Set it to 'client' if you would like enable infnite loading.
@@ -995,11 +1000,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
995
1000
  */
996
1001
  scrollEndThreshold: PropTypes.number,
997
1002
 
998
- /**
999
- * Set the selection model of the grid.
1000
- */
1001
- selectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
1002
-
1003
1003
  /**
1004
1004
  * If `true`, the right border of the cells are displayed.
1005
1005
  * @default false
@@ -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, useGridSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, useGridDimensions, useGridStatePersistence, useGridSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, selectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridColumnGroupingPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer } 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, 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 } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from '../hooks/features/aggregation/useGridAggregation';
4
4
  import { useGridAggregationPreProcessors } from '../hooks/features/aggregation/useGridAggregationPreProcessors';
@@ -11,8 +11,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
11
11
  * Register all pre-processors called during state initialization here.
12
12
  */
13
13
 
14
- useGridColumnGroupingPreProcessors(apiRef, props);
15
- useGridSelectionPreProcessors(apiRef, props);
14
+ useGridRowSelectionPreProcessors(apiRef, props);
16
15
  useGridRowReorderPreProcessors(apiRef, props);
17
16
  useGridRowGroupingPreProcessors(apiRef, props);
18
17
  useGridTreeDataPreProcessors(apiRef, props);
@@ -29,7 +28,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
29
28
 
30
29
  useGridInitializeState(rowGroupingStateInitializer, apiRef, props);
31
30
  useGridInitializeState(aggregationStateInitializer, apiRef, props);
32
- useGridInitializeState(selectionStateInitializer, apiRef, props);
31
+ useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
33
32
  useGridInitializeState(detailPanelStateInitializer, apiRef, props);
34
33
  useGridInitializeState(columnPinningStateInitializer, apiRef, props);
35
34
  useGridInitializeState(columnsStateInitializer, apiRef, props);
@@ -51,7 +50,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
51
50
  useGridTreeData(apiRef);
52
51
  useGridAggregation(apiRef, props);
53
52
  useGridKeyboardNavigation(apiRef, props);
54
- useGridSelection(apiRef, props);
53
+ useGridRowSelection(apiRef, props);
55
54
  useGridColumnPinning(apiRef, props);
56
55
  useGridRowPinning(apiRef, props);
57
56
  useGridColumns(apiRef, props);
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v6.0.0-alpha.3
1
+ /** @license MUI v6.0.0-alpha.4
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY2NTY4NzYwMDAwMA==";
3
+ const releaseInfo = "MTY2NjIxNjgwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).
@@ -287,7 +287,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
287
287
  * If `true`, multiple selection using the Ctrl or CMD key is disabled.
288
288
  * @default false
289
289
  */
290
- disableMultipleSelection: _propTypes.default.bool,
290
+ disableMultipleRowSelection: _propTypes.default.bool,
291
291
 
292
292
  /**
293
293
  * If `true`, the row grouping is disabled.
@@ -299,7 +299,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
299
299
  * If `true`, the selection on click on a row or cell is disabled.
300
300
  * @default false
301
301
  */
302
- disableSelectionOnClick: _propTypes.default.bool,
302
+ disableRowSelectionOnClick: _propTypes.default.bool,
303
303
 
304
304
  /**
305
305
  * If `true`, the virtualization is disabled.
@@ -853,19 +853,19 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
853
853
  onRowOrderChange: _propTypes.default.func,
854
854
 
855
855
  /**
856
- * Callback fired when scrolling to the bottom of the grid viewport.
857
- * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
858
- * @param {MuiEvent<{}>} event The event object.
856
+ * Callback fired when the selection state of one or multiple rows changes.
857
+ * @param {GridRowSelectionModel} rowSelectionModel With all the row ids [[GridSelectionModel]].
859
858
  * @param {GridCallbackDetails} details Additional details for this callback.
860
859
  */
861
- onRowsScrollEnd: _propTypes.default.func,
860
+ onRowSelectionModelChange: _propTypes.default.func,
862
861
 
863
862
  /**
864
- * Callback fired when the selection state of one or multiple rows changes.
865
- * @param {GridSelectionModel} selectionModel With all the row ids [[GridSelectionModel]].
863
+ * Callback fired when scrolling to the bottom of the grid viewport.
864
+ * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
865
+ * @param {MuiEvent<{}>} event The event object.
866
866
  * @param {GridCallbackDetails} details Additional details for this callback.
867
867
  */
868
- onSelectionModelChange: _propTypes.default.func,
868
+ onRowsScrollEnd: _propTypes.default.func,
869
869
 
870
870
  /**
871
871
  * Callback fired when the sort model changes before a column is sorted.
@@ -981,6 +981,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
981
981
  */
982
982
  rows: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
983
983
 
984
+ /**
985
+ * Sets the row selection model of the grid.
986
+ */
987
+ rowSelectionModel: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired), _propTypes.default.number, _propTypes.default.string]),
988
+
984
989
  /**
985
990
  * Loading rows can be processed on the server or client-side.
986
991
  * Set it to 'client' if you would like enable infnite loading.
@@ -1018,11 +1023,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1018
1023
  */
1019
1024
  scrollEndThreshold: _propTypes.default.number,
1020
1025
 
1021
- /**
1022
- * Set the selection model of the grid.
1023
- */
1024
- selectionModel: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired), _propTypes.default.number, _propTypes.default.string]),
1025
-
1026
1026
  /**
1027
1027
  * If `true`, the right border of the cells are displayed.
1028
1028
  * @default false
@@ -24,8 +24,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
24
24
  * Register all pre-processors called during state initialization here.
25
25
  */
26
26
 
27
- (0, _internals.useGridColumnGroupingPreProcessors)(apiRef, props);
28
- (0, _internals.useGridSelectionPreProcessors)(apiRef, props);
27
+ (0, _internals.useGridRowSelectionPreProcessors)(apiRef, props);
29
28
  (0, _internals.useGridRowReorderPreProcessors)(apiRef, props);
30
29
  (0, _useGridRowGroupingPreProcessors.useGridRowGroupingPreProcessors)(apiRef, props);
31
30
  (0, _internals.useGridTreeDataPreProcessors)(apiRef, props);
@@ -42,7 +41,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
42
41
 
43
42
  (0, _internals.useGridInitializeState)(_useGridRowGrouping.rowGroupingStateInitializer, apiRef, props);
44
43
  (0, _internals.useGridInitializeState)(_useGridAggregation.aggregationStateInitializer, apiRef, props);
45
- (0, _internals.useGridInitializeState)(_internals.selectionStateInitializer, apiRef, props);
44
+ (0, _internals.useGridInitializeState)(_internals.rowSelectionStateInitializer, apiRef, props);
46
45
  (0, _internals.useGridInitializeState)(_internals.detailPanelStateInitializer, apiRef, props);
47
46
  (0, _internals.useGridInitializeState)(_internals.columnPinningStateInitializer, apiRef, props);
48
47
  (0, _internals.useGridInitializeState)(_internals.columnsStateInitializer, apiRef, props);
@@ -64,7 +63,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
64
63
  (0, _internals.useGridTreeData)(apiRef);
65
64
  (0, _useGridAggregation.useGridAggregation)(apiRef, props);
66
65
  (0, _internals.useGridKeyboardNavigation)(apiRef, props);
67
- (0, _internals.useGridSelection)(apiRef, props);
66
+ (0, _internals.useGridRowSelection)(apiRef, props);
68
67
  (0, _internals.useGridColumnPinning)(apiRef, props);
69
68
  (0, _internals.useGridRowPinning)(apiRef, props);
70
69
  (0, _internals.useGridColumns)(apiRef, props);
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v6.0.0-alpha.3
1
+ /** @license MUI v6.0.0-alpha.4
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -8,7 +8,7 @@ exports.getReleaseInfo = void 0;
8
8
  var _utils = require("@mui/utils");
9
9
 
10
10
  const getReleaseInfo = () => {
11
- const releaseInfo = "MTY2NTY4NzYwMDAwMA==";
11
+ const releaseInfo = "MTY2NjIxNjgwMDAwMA==";
12
12
 
13
13
  if (process.env.NODE_ENV !== 'production') {
14
14
  // A simple hack to set the value in the test environment (has no build step).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-premium",
3
- "version": "6.0.0-alpha.3",
3
+ "version": "6.0.0-alpha.4",
4
4
  "description": "The Premium plan edition of the data grid component (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.19.0",
35
35
  "@mui/utils": "^5.10.9",
36
- "@mui/x-data-grid": "6.0.0-alpha.3",
37
- "@mui/x-data-grid-pro": "6.0.0-alpha.3",
36
+ "@mui/x-data-grid": "6.0.0-alpha.4",
37
+ "@mui/x-data-grid-pro": "6.0.0-alpha.4",
38
38
  "@mui/x-license-pro": "6.0.0-alpha.3",
39
39
  "@types/format-util": "^1.0.2",
40
40
  "clsx": "^1.2.1",
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY2NTY4NzYwMDAwMA==";
3
+ const releaseInfo = "MTY2NjIxNjgwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).