@mui/x-data-grid 9.4.0 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/CHANGELOG.md +251 -0
  2. package/DataGrid/DataGrid.js +74 -13
  3. package/DataGrid/DataGrid.mjs +74 -13
  4. package/colDef/gridColumnTypesRegistry.d.mts +8 -0
  5. package/colDef/gridColumnTypesRegistry.d.ts +8 -0
  6. package/colDef/gridColumnTypesRegistry.js +44 -0
  7. package/colDef/gridColumnTypesRegistry.mjs +34 -0
  8. package/colDef/gridDefaultColumnTypes.d.mts +1 -1
  9. package/colDef/gridDefaultColumnTypes.d.ts +1 -1
  10. package/colDef/gridDefaultColumnTypes.js +11 -23
  11. package/colDef/gridDefaultColumnTypes.mjs +4 -22
  12. package/components/GridColumnHeaders.js +1 -1
  13. package/components/GridColumnHeaders.mjs +1 -1
  14. package/components/GridColumnUnsortedIcon.js +1 -1
  15. package/components/GridColumnUnsortedIcon.mjs +1 -1
  16. package/components/GridFooter.js +1 -1
  17. package/components/GridFooter.mjs +1 -1
  18. package/components/GridLoadingOverlay.js +1 -1
  19. package/components/GridLoadingOverlay.mjs +1 -1
  20. package/components/GridNoColumnsOverlay.js +1 -1
  21. package/components/GridNoColumnsOverlay.mjs +1 -1
  22. package/components/GridNoRowsOverlay.js +1 -1
  23. package/components/GridNoRowsOverlay.mjs +1 -1
  24. package/components/GridRow.js +1 -1
  25. package/components/GridRow.mjs +1 -1
  26. package/components/GridRowCount.js +1 -1
  27. package/components/GridRowCount.mjs +1 -1
  28. package/components/GridRowDragAndDropOverlay.d.mts +1 -1
  29. package/components/GridRowDragAndDropOverlay.d.ts +1 -1
  30. package/components/GridSelectedRowCount.js +1 -1
  31. package/components/GridSelectedRowCount.mjs +1 -1
  32. package/components/GridShadowScrollArea.js +1 -1
  33. package/components/GridShadowScrollArea.mjs +1 -1
  34. package/components/cell/GridActionsCell.js +84 -4
  35. package/components/cell/GridActionsCell.mjs +84 -4
  36. package/components/cell/GridActionsCellItem.js +75 -1
  37. package/components/cell/GridActionsCellItem.mjs +74 -0
  38. package/components/cell/GridBooleanCell.js +1 -1
  39. package/components/cell/GridBooleanCell.mjs +1 -1
  40. package/components/cell/GridCell.js +1 -1
  41. package/components/cell/GridCell.mjs +1 -1
  42. package/components/cell/GridEditBooleanCell.js +1 -1
  43. package/components/cell/GridEditBooleanCell.mjs +1 -1
  44. package/components/cell/GridEditDateCell.js +1 -1
  45. package/components/cell/GridEditDateCell.mjs +1 -1
  46. package/components/cell/GridEditInputCell.js +68 -0
  47. package/components/cell/GridEditInputCell.mjs +68 -0
  48. package/components/cell/GridEditLongTextCell.d.mts +3 -0
  49. package/components/cell/GridEditLongTextCell.d.ts +3 -0
  50. package/components/cell/GridEditLongTextCell.js +141 -0
  51. package/components/cell/GridEditLongTextCell.mjs +141 -0
  52. package/components/cell/GridEditSingleSelectCell.js +1 -1
  53. package/components/cell/GridEditSingleSelectCell.mjs +1 -1
  54. package/components/cell/GridLongTextCell.d.mts +3 -0
  55. package/components/cell/GridLongTextCell.d.ts +3 -0
  56. package/components/cell/GridLongTextCell.js +68 -0
  57. package/components/cell/GridLongTextCell.mjs +68 -0
  58. package/components/cell/GridSkeletonCell.js +3 -2
  59. package/components/cell/GridSkeletonCell.mjs +3 -2
  60. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -2
  61. package/components/columnHeaders/GridColumnHeaderFilterIconButton.mjs +2 -2
  62. package/components/columnHeaders/GridColumnHeaderItem.js +1 -1
  63. package/components/columnHeaders/GridColumnHeaderItem.mjs +1 -1
  64. package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  65. package/components/columnHeaders/GridColumnHeaderSeparator.mjs +1 -1
  66. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
  67. package/components/columnHeaders/GridColumnHeaderSortIcon.mjs +1 -1
  68. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  69. package/components/columnHeaders/GridColumnHeaderTitle.mjs +1 -1
  70. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  71. package/components/columnSelection/GridCellCheckboxRenderer.mjs +1 -1
  72. package/components/columnSelection/GridHeaderCheckbox.js +1 -1
  73. package/components/columnSelection/GridHeaderCheckbox.mjs +1 -1
  74. package/components/columnSelection/GridRowCheckbox.js +1 -1
  75. package/components/columnSelection/GridRowCheckbox.mjs +1 -1
  76. package/components/columnsManagement/GridColumnsManagement.js +1 -1
  77. package/components/columnsManagement/GridColumnsManagement.mjs +1 -1
  78. package/components/columnsPanel/ColumnsPanelTrigger.js +1 -1
  79. package/components/columnsPanel/ColumnsPanelTrigger.mjs +1 -1
  80. package/components/containers/GridFooterContainer.js +1 -1
  81. package/components/containers/GridFooterContainer.mjs +1 -1
  82. package/components/containers/GridOverlay.js +1 -1
  83. package/components/containers/GridOverlay.mjs +1 -1
  84. package/components/containers/GridRoot.js +1 -1
  85. package/components/containers/GridRoot.mjs +1 -1
  86. package/components/containers/GridRootStyles.js +32 -2
  87. package/components/containers/GridRootStyles.mjs +32 -2
  88. package/components/containers/GridToolbarContainer.js +1 -1
  89. package/components/containers/GridToolbarContainer.mjs +1 -1
  90. package/components/export/ExportCsv.js +1 -1
  91. package/components/export/ExportCsv.mjs +1 -1
  92. package/components/export/ExportPrint.js +1 -1
  93. package/components/export/ExportPrint.mjs +1 -1
  94. package/components/filterPanel/FilterPanelTrigger.js +1 -1
  95. package/components/filterPanel/FilterPanelTrigger.mjs +1 -1
  96. package/components/menu/GridMenu.js +1 -1
  97. package/components/menu/GridMenu.mjs +1 -1
  98. package/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
  99. package/components/menu/columnMenu/GridColumnHeaderMenu.mjs +1 -1
  100. package/components/menu/columnMenu/GridColumnMenu.js +2 -2
  101. package/components/menu/columnMenu/GridColumnMenu.mjs +2 -2
  102. package/components/menu/columnMenu/GridColumnMenuContainer.js +1 -1
  103. package/components/menu/columnMenu/GridColumnMenuContainer.mjs +1 -1
  104. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -1
  105. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.mjs +1 -1
  106. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  107. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.mjs +1 -1
  108. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  109. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.mjs +1 -1
  110. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  111. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.mjs +1 -1
  112. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  113. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.mjs +1 -1
  114. package/components/panel/GridPanel.js +1 -1
  115. package/components/panel/GridPanel.mjs +1 -1
  116. package/components/panel/GridPanelContent.js +1 -1
  117. package/components/panel/GridPanelContent.mjs +1 -1
  118. package/components/panel/GridPanelFooter.js +1 -1
  119. package/components/panel/GridPanelFooter.mjs +1 -1
  120. package/components/panel/GridPanelHeader.js +1 -1
  121. package/components/panel/GridPanelHeader.mjs +1 -1
  122. package/components/panel/filterPanel/GridFilterForm.js +1 -1
  123. package/components/panel/filterPanel/GridFilterForm.mjs +1 -1
  124. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  125. package/components/panel/filterPanel/GridFilterInputBoolean.mjs +1 -1
  126. package/components/panel/filterPanel/GridFilterInputDate.js +1 -1
  127. package/components/panel/filterPanel/GridFilterInputDate.mjs +1 -1
  128. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  129. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.mjs +1 -1
  130. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  131. package/components/panel/filterPanel/GridFilterInputMultipleValue.mjs +1 -1
  132. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -5
  133. package/components/panel/filterPanel/GridFilterInputSingleSelect.mjs +3 -5
  134. package/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  135. package/components/panel/filterPanel/GridFilterInputValue.mjs +1 -1
  136. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  137. package/components/panel/filterPanel/GridFilterPanel.mjs +1 -1
  138. package/components/panel/filterPanel/filterPanelUtils.d.mts +3 -2
  139. package/components/panel/filterPanel/filterPanelUtils.d.ts +3 -2
  140. package/components/panel/filterPanel/filterPanelUtils.js +4 -0
  141. package/components/panel/filterPanel/filterPanelUtils.mjs +3 -0
  142. package/components/quickFilter/QuickFilter.js +1 -1
  143. package/components/quickFilter/QuickFilter.mjs +1 -1
  144. package/components/quickFilter/QuickFilterClear.js +1 -1
  145. package/components/quickFilter/QuickFilterClear.mjs +1 -1
  146. package/components/quickFilter/QuickFilterControl.js +1 -1
  147. package/components/quickFilter/QuickFilterControl.mjs +1 -1
  148. package/components/quickFilter/QuickFilterTrigger.js +1 -1
  149. package/components/quickFilter/QuickFilterTrigger.mjs +1 -1
  150. package/components/toolbar/GridToolbar.js +1 -1
  151. package/components/toolbar/GridToolbar.mjs +1 -1
  152. package/components/toolbar/GridToolbarColumnsButton.js +1 -1
  153. package/components/toolbar/GridToolbarColumnsButton.mjs +1 -1
  154. package/components/toolbar/GridToolbarDensitySelector.js +1 -1
  155. package/components/toolbar/GridToolbarDensitySelector.mjs +1 -1
  156. package/components/toolbar/GridToolbarExport.js +3 -3
  157. package/components/toolbar/GridToolbarExport.mjs +3 -3
  158. package/components/toolbar/GridToolbarExportContainer.js +1 -1
  159. package/components/toolbar/GridToolbarExportContainer.mjs +1 -1
  160. package/components/toolbar/GridToolbarFilterButton.js +1 -1
  161. package/components/toolbar/GridToolbarFilterButton.mjs +1 -1
  162. package/components/toolbar/GridToolbarQuickFilter.js +1 -1
  163. package/components/toolbar/GridToolbarQuickFilter.mjs +1 -1
  164. package/components/toolbarV8/GridToolbar.js +8 -3
  165. package/components/toolbarV8/GridToolbar.mjs +8 -3
  166. package/components/toolbarV8/Toolbar.js +1 -1
  167. package/components/toolbarV8/Toolbar.mjs +1 -1
  168. package/components/toolbarV8/ToolbarButton.js +1 -1
  169. package/components/toolbarV8/ToolbarButton.mjs +1 -1
  170. package/components/virtualization/GridVirtualScrollbar.js +8 -1
  171. package/components/virtualization/GridVirtualScrollbar.mjs +8 -1
  172. package/components/virtualization/GridVirtualScroller.js +12 -0
  173. package/components/virtualization/GridVirtualScroller.mjs +12 -0
  174. package/constants/cssVariables.d.mts +3 -0
  175. package/constants/cssVariables.d.ts +3 -0
  176. package/constants/cssVariables.js +2 -1
  177. package/constants/cssVariables.mjs +2 -1
  178. package/constants/gridClasses.d.mts +48 -0
  179. package/constants/gridClasses.d.ts +48 -0
  180. package/constants/gridClasses.js +1 -1
  181. package/constants/gridClasses.mjs +1 -1
  182. package/hooks/core/useGridProps.js +5 -3
  183. package/hooks/core/useGridProps.mjs +5 -3
  184. package/hooks/features/columns/gridColumnsUtils.js +18 -10
  185. package/hooks/features/columns/gridColumnsUtils.mjs +19 -11
  186. package/hooks/features/columns/useGridColumns.js +11 -0
  187. package/hooks/features/columns/useGridColumns.mjs +11 -0
  188. package/hooks/features/dataSource/useGridDataSourceBase.js +2 -2
  189. package/hooks/features/dataSource/useGridDataSourceBase.mjs +2 -2
  190. package/hooks/features/editing/useGridCellEditing.js +1 -1
  191. package/hooks/features/editing/useGridCellEditing.mjs +1 -1
  192. package/hooks/features/editing/useGridRowEditing.js +1 -1
  193. package/hooks/features/editing/useGridRowEditing.mjs +1 -1
  194. package/hooks/features/export/serializers/csvSerializer.js +3 -1
  195. package/hooks/features/export/serializers/csvSerializer.mjs +3 -1
  196. package/hooks/features/filter/gridFilterUtils.js +5 -3
  197. package/hooks/features/filter/gridFilterUtils.mjs +5 -3
  198. package/hooks/features/listView/useGridListView.js +1 -1
  199. package/hooks/features/listView/useGridListView.mjs +1 -1
  200. package/hooks/features/sorting/gridSortingUtils.js +3 -1
  201. package/hooks/features/sorting/gridSortingUtils.mjs +3 -1
  202. package/hooks/utils/useGridSelector.js +27 -24
  203. package/hooks/utils/useGridSelector.mjs +26 -24
  204. package/index.js +1 -1
  205. package/index.mjs +1 -1
  206. package/internals/index.d.mts +9 -4
  207. package/internals/index.d.ts +9 -4
  208. package/internals/index.js +62 -2
  209. package/internals/index.mjs +8 -4
  210. package/internals/utils/propValidation.js +3 -0
  211. package/internals/utils/propValidation.mjs +3 -0
  212. package/material/augmentation.d.mts +4 -0
  213. package/material/augmentation.d.ts +4 -0
  214. package/material/index.js +42 -26
  215. package/material/index.mjs +42 -26
  216. package/material/variables.js +2 -1
  217. package/material/variables.mjs +2 -1
  218. package/models/colDef/gridColDef.d.mts +35 -3
  219. package/models/colDef/gridColDef.d.ts +35 -3
  220. package/models/colDef/gridColType.d.mts +1 -0
  221. package/models/colDef/gridColType.d.ts +1 -0
  222. package/models/colDef/gridColumnTypesRecord.d.mts +1 -1
  223. package/models/colDef/gridColumnTypesRecord.d.ts +1 -1
  224. package/models/colDef/index.d.mts +1 -1
  225. package/models/colDef/index.d.ts +1 -1
  226. package/models/gridBaseSlots.d.mts +46 -0
  227. package/models/gridBaseSlots.d.ts +46 -0
  228. package/models/gridSlotsComponent.d.mts +5 -0
  229. package/models/gridSlotsComponent.d.ts +5 -0
  230. package/models/gridSlotsComponentsProps.d.mts +3 -1
  231. package/models/gridSlotsComponentsProps.d.ts +3 -1
  232. package/models/gridStateCommunity.d.mts +1 -1
  233. package/models/gridStateCommunity.d.ts +1 -1
  234. package/package.json +7 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,256 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.6.0
4
+
5
+ _Jun 18, 2026_
6
+
7
+ We'd like to extend a big thank you to the 17 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - 📊 New features for the radial bar charts, like percentage min radius and disabling tick labels.
10
+
11
+ Special thanks go out to these community members for their valuable contributions:
12
+ @adamowski10, @Anexus5919, @Morteza-hp, @mustafajw07, @TargiX
13
+
14
+ The following team members contributed to this release:
15
+ @alexfauquette, @arminmeh, @brijeshb42, @cherniavskii, @hasdfa, @Janpot, @JCQuintas, @michelengelen, @noraleonte, @oliviertassinari, @rita-codes, @sai6855
16
+
17
+ ### Data Grid
18
+
19
+ #### `@mui/x-data-grid@9.6.0`
20
+
21
+ - [DataGrid] Define `overflowAnchor` style at the right element (#22849) @arminmeh
22
+ - [DataGrid] Fix scrollbars not showing up on scroll on iOS (#22832) @cherniavskii
23
+
24
+ #### `@mui/x-data-grid-pro@9.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
25
+
26
+ Same changes as in `@mui/x-data-grid@9.6.0`, plus:
27
+
28
+ - [DataGridPro] Prevent incorrect row range capping on the first page with known `rowCount` (#22808) @michelengelen
29
+
30
+ #### `@mui/x-data-grid-premium@9.6.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
31
+
32
+ Same changes as in `@mui/x-data-grid-pro@9.6.0`.
33
+
34
+ ### Date and Time Pickers
35
+
36
+ #### `@mui/x-date-pickers@9.6.0`
37
+
38
+ - [pickers] Fix `AdapterMomentHijri.getDaysInMonth` returning the Gregorian month length (#22774) @Anexus5919
39
+ - [l10n] Improve Persian (fa-IR) locale (#22454) @Morteza-hp
40
+
41
+ #### `@mui/x-date-pickers-pro@9.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
42
+
43
+ Same changes as in `@mui/x-date-pickers@9.6.0`.
44
+
45
+ ### Charts
46
+
47
+ #### `@mui/x-charts@9.6.0`
48
+
49
+ - [charts] Add `disableTickLabel` prop to radial axes (#22801) @JCQuintas
50
+ - [charts] Fix bug when `min` is in axis domain (#22827) @alexfauquette
51
+ - [charts] Fix wheel zoom not centering on cursor position (#22811) @JCQuintas
52
+ - [charts] Remove zoom gesture registration from community package (#22753) @sai6855
53
+ - [charts] Support percentage values for radial axis `minRadius`/`maxRadius` (#22803) @JCQuintas
54
+ - [charts] Support `unknownColor` in color scale (#22813) @alexfauquette
55
+ - [charts] Document click listener for scatter composition (#22809) @sai6855
56
+
57
+ #### `@mui/x-charts-pro@9.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
58
+
59
+ Same changes as in `@mui/x-charts@9.6.0`.
60
+
61
+ #### `@mui/x-charts-premium@9.6.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
62
+
63
+ Same changes as in `@mui/x-charts-pro@9.6.0`, plus:
64
+
65
+ - [charts-premium] Add `geoFeatureKey` to transform features identifier (#22848) @alexfauquette
66
+ - [charts-premium] Allow to remove Antartica (#22815) @alexfauquette
67
+ - [charts-premium] Regenerate `ScatterPlotPremium` `propTypes` (#22829) @rita-codes
68
+ - [charts-premium] Support maps tooltip positioned on items (#22648) @alexfauquette
69
+ - [docs] Show how to export maps (#22837) @alexfauquette
70
+
71
+
72
+ ### Tree View
73
+
74
+ #### `@mui/x-tree-view@9.6.0`
75
+
76
+ Internal changes.
77
+
78
+ #### `@mui/x-tree-view-pro@9.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
79
+
80
+ Same changes as in `@mui/x-tree-view@9.6.0`.
81
+
82
+ ### Scheduler
83
+
84
+ #### `@mui/x-scheduler@9.0.0-beta.2`
85
+
86
+ - [scheduler] Add dispose lifecycle to `SchedulerLazyLoadingPlugin` (#22532) @rita-codes
87
+ - [scheduler] Add responsive mobile week view and responsive typography (#22593) @noraleonte
88
+ - [scheduler] Add stable weekday token to `recurrenceWeeklyPresetLabel` (#22733) @mustafajw07
89
+ - [scheduler] Create accessibility documentation section (#22557) @mustafajw07
90
+ - [scheduler] Decouple `MonthViewProps` from day time grid props (#22802) @mustafajw07
91
+ - [scheduler] Export missing public scheduler types (#22785) @mustafajw07
92
+ - [scheduler] Fix JSDoc defaults and improve public type readability (#22784) @mustafajw07
93
+ - [scheduler] Fix `aria-labelledby` on events referencing non-existent header IDs (#22778) @rita-codes
94
+ - [scheduler] Move `EventCalendarStyledContext` to internals (#22787) @mustafajw07
95
+ - [scheduler] Normalize all-day recurring occurrences to whole days (#22792) @Anexus5919
96
+ - [scheduler] Recalculate `DayTimeGrid` `hasScroll` on container resize (#22780) @Anexus5919
97
+ - [scheduler] Recompute `nowUpdatedEveryMinute` only on timezone change (#22793) @Anexus5919
98
+ - [scheduler] Register auto-scroll once instead of on every render (#22794) @Anexus5919
99
+ - [scheduler] Remove duplicate dividers in the day/time grid (#22795) @Anexus5919
100
+ - [scheduler] Remove unused `--has-scroll` CSS variable from `DayTimeGrid` (#22799) @Anexus5919
101
+ - [scheduler] Remove vestigial async from internal drop handler (#22781) @mustafajw07
102
+ - [scheduler] Return a primitive key from the Calendar lazy-loading selector (#22791) @Anexus5919
103
+ - [scheduler] Throw on invalid event dates instead of emitting `NaN` timestamps (#22740) @rita-codes
104
+ - [scheduler] Tighten `StandaloneEventProps` data typing (#22796) @mustafajw07
105
+ - [scheduler] Update feedback banner to say beta instead of alpha (#22804) @rita-codes
106
+ - [scheduler] Use `@base-ui` `generateId` for event ids in `createEventModel` (#22788) @rita-codes
107
+ - [scheduler] Clear clipboard after pasting a cut event (#22773) @Anexus5919
108
+ - [scheduler] Show drag placeholder when re-entering the same position (#22775) @Anexus5919
109
+ - [scheduler] Validate missing and duplicate event ids (#22790) @Anexus5919
110
+ - [l10n] Improve Polish (pl-PL) locale (#22612) @adamowski10
111
+
112
+ #### `@mui/x-scheduler-premium@9.0.0-beta.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
113
+
114
+ Same changes as in `@mui/x-scheduler@9.0.0-beta.2`, plus:
115
+
116
+ - [scheduler-premium] Expose premium model types through public API (#22798) @mustafajw07
117
+ - [scheduler-premium] Remove non-functional `onPreferencesChange` prop from `EventTimelinePremium` (#22777) @rita-codes
118
+ - [scheduler-premium] Validate the `FREQ` value in `parseRRule`] (#22786) @rita-codes
119
+
120
+ ### Codemod
121
+
122
+ #### `@mui/x-codemod@9.6.0`
123
+
124
+ Internal changes.
125
+
126
+ ### Docs
127
+
128
+ - [docs] Fix link-check build timeout by disabling serve directory listing (#22836) @Janpot
129
+ - [docs] Show how to export maps (#22837) @alexfauquette
130
+ - [docs] Add radial bar overview demo with custom overlays (#22776) @JCQuintas
131
+ - [docs] Add weather composition demo (#22723) @TargiX
132
+ - [docs] Add docs overview gallery and playground (#22488) @hasdfa
133
+ - [docs] Clarify 'Scrolling without render gaps' (#22629) @oliviertassinari
134
+ - [docs] Fix typo in release instructions (#22864) @brijeshb42
135
+
136
+ ### Core
137
+
138
+ - [code-infra] Fix lint issues (#22757) @brijeshb42
139
+ - [code-infra] Fix remaining Dependabot security alerts (#22761) @Janpot
140
+ - [code-infra] Remove release:build from docs:build script (#22852) @brijeshb42
141
+ - [code-infra] Unpin `@mui/utils` version to allow dedupe (#22828) @mustafajw07
142
+ - [docs-infra] Cap Netlify Next.js build parallelism to avoid OOM (#22847) @Janpot
143
+ - [docs-infra] Remove i18n codebase (#22591) @brijeshb42
144
+ - [internal] Fix failing React 18 unit tests (#22846) @brijeshb42
145
+
146
+ ### Miscellaneous
147
+
148
+ - [core] Add remove-proptypes markers to generated `propTypes` (#22850) @JCQuintas
149
+ - [core] Bump vitest packages to 4.1.8 to fix browser-test version skew (#22845) @Janpot
150
+ - [core] Reduce e2e build concurrency to avoid OOM (#22843) @Janpot
151
+ - [core] Strip proptypes from Production bundles (#22750) @sai6855
152
+ - [test] Wait for `GridToolbarCustom` rows before screenshot (#22844) @Janpot
153
+
154
+ ## 9.5.0
155
+
156
+ _Jun 11, 2026_
157
+
158
+ We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
159
+
160
+ - 🎁 New [`multiSelect` column type for Data Grid Pro](https://mui.com/x/react-data-grid/column-definition/#MultiSelectColumn)
161
+ - 🚀 New [renderer="svg-progressive"](https://mui.com/x/react-charts/scatter/#progressive-renderer) paints scatter points in batched frames so large datasets render smoothly without blocking the main thread.
162
+ - 🐞 Bugfixes
163
+ - 📚 Documentation improvements
164
+
165
+ Special thanks go out to community members @mustafajw07 and @Anexus5919 for their valuable contribution.
166
+
167
+ The following team members contributed to this release:
168
+ @alexfauquette, @JCQuintas, @rita-codes, @rluzists1, @sai6855, @siriwatknp, @arminmeh, @brijeshb42
169
+
170
+ ### Data Grid
171
+
172
+ #### `@mui/x-data-grid@9.5.0`
173
+
174
+ - [DataGrid] Restrict warning messages to non-production environments in various components (#22461) @sai6855
175
+ - [DataGrid] Prevent React state update before mount (#22374) @arminmeh
176
+
177
+ #### `@mui/x-data-grid-pro@9.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
178
+
179
+ Same changes as in `@mui/x-data-grid@9.5.0`, plus:
180
+
181
+ - [DataGridPro] Add new `multiSelect` column type (#21157) @siriwatknp
182
+
183
+ #### `@mui/x-data-grid-premium@9.5.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
184
+
185
+ Same changes as in `@mui/x-data-grid-pro@9.5.0`.
186
+
187
+ ### Date and Time Pickers
188
+
189
+ #### `@mui/x-date-pickers@9.5.0`
190
+
191
+ - [pickers] Fix missing export of `th-TH` (#22703) @alexfauquette
192
+
193
+ #### `@mui/x-date-pickers-pro@9.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
194
+
195
+ Same changes as in `@mui/x-date-pickers@9.5.0`.
196
+
197
+ ### Charts
198
+
199
+ #### `@mui/x-charts@9.5.0`
200
+
201
+ - [charts] Add `FocusedBar` component to `BarScatterComposition` demo (#22704) @sai6855
202
+ - [charts] Add dedicated Bubble Chart documentation page (#22688) @mustafajw07
203
+ - [charts] Add progressive scatter renderer (#22518) @JCQuintas
204
+ - [charts] Avoid full axis pipeline rebuild on resize (#22695) @JCQuintas
205
+ - [charts] Document focus indicator in composition page (#22712) @JCQuintas
206
+ - [charts] Fix `ChartsTooltip` `container` and `disablePortal` props being ignored (#22690) @JCQuintas
207
+ - [charts] Make ordinal scales O(1) to copy and re-range (#22691) @JCQuintas
208
+ - [charts] Stabilize WebGL bar rendering at sub-pixel widths (#22678) @JCQuintas
209
+ - [charts] Use the series config to define value types (#22693) @sai6855
210
+ - [charts] Decouple interaction hook from the cartesian zoom (#22708) @alexfauquette
211
+
212
+ #### `@mui/x-charts-pro@9.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
213
+
214
+ Same changes as in `@mui/x-charts@9.5.0`, plus:
215
+
216
+ - [charts-pro] Add missing focus highlight (#22689) @alexfauquette
217
+
218
+ #### `@mui/x-charts-premium@9.5.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
219
+
220
+ Same changes as in `@mui/x-charts-pro@9.5.0`, plus:
221
+
222
+ - [charts-premium] Set `Heatmap` WebGL render as stable (#22665) @alexfauquette
223
+ - [charts-premium] Stabilize candlestick charts (#22666) @alexfauquette
224
+ - [charts-premium] Stabilize the radial charts (#22655) @alexfauquette
225
+
226
+ ### Scheduler
227
+
228
+ #### `@mui/x-scheduler@9.0.0-beta.1`
229
+
230
+ Internal changes.
231
+
232
+ #### `@mui/x-scheduler-premium@9.0.0-beta.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
233
+
234
+ Same changes as in `@mui/x-scheduler@9.0.0-beta.1`, plus:
235
+
236
+ - [scheduler] Remove dead CSS variable writes in `EventTimelinePremiumContent` (#22720) @rita-codes
237
+ - [scheduler] Show scope dialog when deleting a recurring event (#22552) @Anexus5919
238
+
239
+ ### Core
240
+
241
+ - [docs-infra] Fix immutable cache headers for `/\_next/static` assets (#22747) @brijeshb42
242
+ - [docs-infra] Prefix `/\_next/static` cache header rule with `/x` basePath (#22748) @brijeshb42
243
+ - [code-infra] Update dependencies to resolve Dependabot security alerts (#22714) @Janpot
244
+
245
+ ### Docs
246
+
247
+ - [docs] Fix broken links checker crashing on 404 known-targets fetch (#22707) @sai6855
248
+ - [docs] Fix country data (#22716) @alexfauquette
249
+
250
+ ### Miscellaneous
251
+
252
+ - [legal] Update EULA links in docs (#22717) @rluzists1
253
+
3
254
  ## 9.4.0
4
255
 
5
256
  <!-- generated comparing v9.3.0..master -->
@@ -66,7 +66,7 @@ if (process.env.NODE_ENV !== "production") DataGridRaw.displayName = "DataGridRa
66
66
  */
67
67
  const DataGrid = exports.DataGrid = /*#__PURE__*/React.memo((0, _forwardRef.forwardRef)(DataGridRaw));
68
68
  if (process.env.NODE_ENV !== "production") DataGrid.displayName = "DataGrid";
69
- DataGridRaw.propTypes = {
69
+ DataGridRaw.propTypes /* remove-proptypes */ = {
70
70
  // ----------------------------- Warning --------------------------------
71
71
  // | These PropTypes are generated from the TypeScript type definitions |
72
72
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -86,13 +86,11 @@ DataGridRaw.propTypes = {
86
86
  */
87
87
  'aria-labelledby': _propTypes.default.string,
88
88
  /**
89
- * If `true`, the Data Grid height is dynamic and follows the number of rows in the Data Grid.
89
+ * If `true`, the Data Grid height is dynamic and takes as much space as it needs to display all rows.
90
+ * Use it instead of a flex parent container approach, if:
91
+ * - you don't need to set a minimum or maximum height for the Data Grid
92
+ * - you want to avoid the scrollbar flickering when the content changes
90
93
  * @default false
91
- * @deprecated Use flex parent container instead: https://mui.com/x/react-data-grid/layout/#flex-parent-container
92
- * @example
93
- * <div style={{ display: 'flex', flexDirection: 'column' }}>
94
- * <DataGrid />
95
- * </div>
96
94
  */
97
95
  autoHeight: _propTypes.default.bool,
98
96
  /**
@@ -112,6 +110,7 @@ DataGridRaw.propTypes = {
112
110
  columns: _propTypes.default.arrayOf(_propTypes.default.string),
113
111
  disableColumnVirtualization: _propTypes.default.bool,
114
112
  expand: _propTypes.default.bool,
113
+ includeHeaderFilters: _propTypes.default.bool,
115
114
  includeHeaders: _propTypes.default.bool,
116
115
  includeOutliers: _propTypes.default.bool,
117
116
  outliersFactor: _propTypes.default.number
@@ -120,15 +119,68 @@ DataGridRaw.propTypes = {
120
119
  * Controls the modes of the cells.
121
120
  */
122
121
  cellModesModel: _propTypes.default.object,
122
+ /**
123
+ * Definition of the column rendered when the `checkboxSelection` prop is enabled.
124
+ *
125
+ * @warning
126
+ * Be careful when overriding `renderHeader` or `renderCell` in the `checkboxColDef` prop.
127
+ * The default implementation of these properties includes the logic for selecting all rows and selecting a single row, respectively.
128
+ * Overriding them without providing the same functionality will break the row selection.
129
+ */
130
+ checkboxColDef: _propTypes.default.shape({
131
+ align: _propTypes.default.oneOf(['center', 'left', 'right']),
132
+ cellClassName: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
133
+ colSpan: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.number]),
134
+ description: _propTypes.default.string,
135
+ disableColumnMenu: _propTypes.default.bool,
136
+ disableExport: _propTypes.default.bool,
137
+ disableReorder: _propTypes.default.bool,
138
+ display: _propTypes.default.oneOf(['flex', 'text']),
139
+ editable: _propTypes.default.bool,
140
+ examples: _propTypes.default.array,
141
+ filterable: _propTypes.default.bool,
142
+ filterOperators: _propTypes.default.arrayOf(_propTypes.default.shape({
143
+ getApplyFilterFn: _propTypes.default.func.isRequired,
144
+ getValueAsString: _propTypes.default.func,
145
+ headerLabel: _propTypes.default.string,
146
+ InputComponent: _propTypes.default.elementType,
147
+ InputComponentProps: _propTypes.default.object,
148
+ label: _propTypes.default.string,
149
+ requiresFilterValue: _propTypes.default.bool,
150
+ value: _propTypes.default.string.isRequired
151
+ })),
152
+ flex: _propTypes.default.number,
153
+ getApplyQuickFilterFn: _propTypes.default.func,
154
+ getSortComparator: _propTypes.default.func,
155
+ groupable: _propTypes.default.bool,
156
+ headerAlign: _propTypes.default.oneOf(['center', 'left', 'right']),
157
+ headerClassName: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
158
+ headerName: _propTypes.default.string,
159
+ hideable: _propTypes.default.bool,
160
+ hideSortIcons: _propTypes.default.bool,
161
+ maxWidth: _propTypes.default.number,
162
+ minWidth: _propTypes.default.number,
163
+ pinnable: _propTypes.default.bool,
164
+ preProcessEditCellProps: _propTypes.default.func,
165
+ renderCell: _propTypes.default.func,
166
+ renderEditCell: _propTypes.default.func,
167
+ renderHeader: _propTypes.default.func,
168
+ resizable: _propTypes.default.bool,
169
+ rowSpanValueGetter: _propTypes.default.func,
170
+ sortable: _propTypes.default.bool,
171
+ sortComparator: _propTypes.default.func,
172
+ sortingOrder: _propTypes.default.arrayOf(_propTypes.default.oneOf(['asc', 'desc'])),
173
+ valueFormatter: _propTypes.default.func,
174
+ valueGetter: _propTypes.default.func,
175
+ valueParser: _propTypes.default.func,
176
+ valueSetter: _propTypes.default.func,
177
+ width: _propTypes.default.number
178
+ }),
123
179
  /**
124
180
  * If `true`, the Data Grid will display an extra column with checkboxes for selecting rows.
125
181
  * @default false
126
182
  */
127
183
  checkboxSelection: _propTypes.default.bool,
128
- /**
129
- * Definition of the column rendered when the `checkboxSelection` prop is enabled.
130
- */
131
- checkboxColDef: _propTypes.default.object,
132
184
  /**
133
185
  * Override or extend the styles applied to the component.
134
186
  */
@@ -185,8 +237,8 @@ DataGridRaw.propTypes = {
185
237
  set: _propTypes.default.func.isRequired
186
238
  }),
187
239
  /**
188
- * If positive, the Data Grid will periodically revalidate data source rows by
189
- * re-fetching them from the server when the cache entry has expired.
240
+ * If positive, the Data Grid will periodically revalidate data source rows by re-fetching them from the server when the cache entry has expired.
241
+ * If the refetched rows are different from the current rows, the grid will update the rows.
190
242
  * Set to `0` to disable polling.
191
243
  * @default 0
192
244
  */
@@ -822,6 +874,15 @@ DataGridRaw.propTypes = {
822
874
  * The system prop that allows defining system overrides as well as additional CSS styles.
823
875
  */
824
876
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
877
+ /**
878
+ * Sets the tab navigation behavior for the Data Grid.
879
+ * - "none": No Data Grid specific tab navigation. Pressing the tab key will move the focus to the next element in the tab sequence.
880
+ * - "content": Pressing the tab key will move the focus to the next cell in the same row or the first cell in the next row. Shift+Tab will move the focus to the previous cell in the same row or the last cell in the previous row. Tab navigation is not enabled for the header.
881
+ * - "header": Pressing the tab key will move the focus to the next column group, column header or header filter. Shift+Tab will move the focus to the previous column group, column header or header filter. Tab navigation is not enabled for the content.
882
+ * - "all": Combines the "content" and "header" behavior.
883
+ * @default "none"
884
+ */
885
+ tabNavigation: _propTypes.default.oneOf(['all', 'content', 'header', 'none']),
825
886
  /**
826
887
  * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
827
888
  * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
@@ -59,7 +59,7 @@ if (process.env.NODE_ENV !== "production") DataGridRaw.displayName = "DataGridRa
59
59
  */
60
60
  export const DataGrid = /*#__PURE__*/React.memo(forwardRef(DataGridRaw));
61
61
  if (process.env.NODE_ENV !== "production") DataGrid.displayName = "DataGrid";
62
- DataGridRaw.propTypes = {
62
+ DataGridRaw.propTypes /* remove-proptypes */ = {
63
63
  // ----------------------------- Warning --------------------------------
64
64
  // | These PropTypes are generated from the TypeScript type definitions |
65
65
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -79,13 +79,11 @@ DataGridRaw.propTypes = {
79
79
  */
80
80
  'aria-labelledby': PropTypes.string,
81
81
  /**
82
- * If `true`, the Data Grid height is dynamic and follows the number of rows in the Data Grid.
82
+ * If `true`, the Data Grid height is dynamic and takes as much space as it needs to display all rows.
83
+ * Use it instead of a flex parent container approach, if:
84
+ * - you don't need to set a minimum or maximum height for the Data Grid
85
+ * - you want to avoid the scrollbar flickering when the content changes
83
86
  * @default false
84
- * @deprecated Use flex parent container instead: https://mui.com/x/react-data-grid/layout/#flex-parent-container
85
- * @example
86
- * <div style={{ display: 'flex', flexDirection: 'column' }}>
87
- * <DataGrid />
88
- * </div>
89
87
  */
90
88
  autoHeight: PropTypes.bool,
91
89
  /**
@@ -105,6 +103,7 @@ DataGridRaw.propTypes = {
105
103
  columns: PropTypes.arrayOf(PropTypes.string),
106
104
  disableColumnVirtualization: PropTypes.bool,
107
105
  expand: PropTypes.bool,
106
+ includeHeaderFilters: PropTypes.bool,
108
107
  includeHeaders: PropTypes.bool,
109
108
  includeOutliers: PropTypes.bool,
110
109
  outliersFactor: PropTypes.number
@@ -113,15 +112,68 @@ DataGridRaw.propTypes = {
113
112
  * Controls the modes of the cells.
114
113
  */
115
114
  cellModesModel: PropTypes.object,
115
+ /**
116
+ * Definition of the column rendered when the `checkboxSelection` prop is enabled.
117
+ *
118
+ * @warning
119
+ * Be careful when overriding `renderHeader` or `renderCell` in the `checkboxColDef` prop.
120
+ * The default implementation of these properties includes the logic for selecting all rows and selecting a single row, respectively.
121
+ * Overriding them without providing the same functionality will break the row selection.
122
+ */
123
+ checkboxColDef: PropTypes.shape({
124
+ align: PropTypes.oneOf(['center', 'left', 'right']),
125
+ cellClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
126
+ colSpan: PropTypes.oneOfType([PropTypes.func, PropTypes.number]),
127
+ description: PropTypes.string,
128
+ disableColumnMenu: PropTypes.bool,
129
+ disableExport: PropTypes.bool,
130
+ disableReorder: PropTypes.bool,
131
+ display: PropTypes.oneOf(['flex', 'text']),
132
+ editable: PropTypes.bool,
133
+ examples: PropTypes.array,
134
+ filterable: PropTypes.bool,
135
+ filterOperators: PropTypes.arrayOf(PropTypes.shape({
136
+ getApplyFilterFn: PropTypes.func.isRequired,
137
+ getValueAsString: PropTypes.func,
138
+ headerLabel: PropTypes.string,
139
+ InputComponent: PropTypes.elementType,
140
+ InputComponentProps: PropTypes.object,
141
+ label: PropTypes.string,
142
+ requiresFilterValue: PropTypes.bool,
143
+ value: PropTypes.string.isRequired
144
+ })),
145
+ flex: PropTypes.number,
146
+ getApplyQuickFilterFn: PropTypes.func,
147
+ getSortComparator: PropTypes.func,
148
+ groupable: PropTypes.bool,
149
+ headerAlign: PropTypes.oneOf(['center', 'left', 'right']),
150
+ headerClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
151
+ headerName: PropTypes.string,
152
+ hideable: PropTypes.bool,
153
+ hideSortIcons: PropTypes.bool,
154
+ maxWidth: PropTypes.number,
155
+ minWidth: PropTypes.number,
156
+ pinnable: PropTypes.bool,
157
+ preProcessEditCellProps: PropTypes.func,
158
+ renderCell: PropTypes.func,
159
+ renderEditCell: PropTypes.func,
160
+ renderHeader: PropTypes.func,
161
+ resizable: PropTypes.bool,
162
+ rowSpanValueGetter: PropTypes.func,
163
+ sortable: PropTypes.bool,
164
+ sortComparator: PropTypes.func,
165
+ sortingOrder: PropTypes.arrayOf(PropTypes.oneOf(['asc', 'desc'])),
166
+ valueFormatter: PropTypes.func,
167
+ valueGetter: PropTypes.func,
168
+ valueParser: PropTypes.func,
169
+ valueSetter: PropTypes.func,
170
+ width: PropTypes.number
171
+ }),
116
172
  /**
117
173
  * If `true`, the Data Grid will display an extra column with checkboxes for selecting rows.
118
174
  * @default false
119
175
  */
120
176
  checkboxSelection: PropTypes.bool,
121
- /**
122
- * Definition of the column rendered when the `checkboxSelection` prop is enabled.
123
- */
124
- checkboxColDef: PropTypes.object,
125
177
  /**
126
178
  * Override or extend the styles applied to the component.
127
179
  */
@@ -178,8 +230,8 @@ DataGridRaw.propTypes = {
178
230
  set: PropTypes.func.isRequired
179
231
  }),
180
232
  /**
181
- * If positive, the Data Grid will periodically revalidate data source rows by
182
- * re-fetching them from the server when the cache entry has expired.
233
+ * If positive, the Data Grid will periodically revalidate data source rows by re-fetching them from the server when the cache entry has expired.
234
+ * If the refetched rows are different from the current rows, the grid will update the rows.
183
235
  * Set to `0` to disable polling.
184
236
  * @default 0
185
237
  */
@@ -815,6 +867,15 @@ DataGridRaw.propTypes = {
815
867
  * The system prop that allows defining system overrides as well as additional CSS styles.
816
868
  */
817
869
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
870
+ /**
871
+ * Sets the tab navigation behavior for the Data Grid.
872
+ * - "none": No Data Grid specific tab navigation. Pressing the tab key will move the focus to the next element in the tab sequence.
873
+ * - "content": Pressing the tab key will move the focus to the next cell in the same row or the first cell in the next row. Shift+Tab will move the focus to the previous cell in the same row or the last cell in the previous row. Tab navigation is not enabled for the header.
874
+ * - "header": Pressing the tab key will move the focus to the next column group, column header or header filter. Shift+Tab will move the focus to the previous column group, column header or header filter. Tab navigation is not enabled for the content.
875
+ * - "all": Combines the "content" and "header" behavior.
876
+ * @default "none"
877
+ */
878
+ tabNavigation: PropTypes.oneOf(['all', 'content', 'header', 'none']),
818
879
  /**
819
880
  * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
820
881
  * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
@@ -0,0 +1,8 @@
1
+ import type { GridColType } from "../models/colDef/gridColType.mjs";
2
+ import type { GridColTypeDef } from "../models/colDef/gridColDef.mjs";
3
+ import type { GridColumnTypesRecord } from "../models/colDef/gridColumnTypesRecord.mjs";
4
+ export declare const DEFAULT_GRID_COL_TYPE_KEY = "string";
5
+ export declare const isCommunityColumnType: (type: GridColType | undefined) => boolean;
6
+ export declare const registerGridColumnTypes: (columnTypes: Partial<GridColumnTypesRecord>) => void;
7
+ export declare const getGridColumnTypesRegistry: () => Record<string, GridColTypeDef>;
8
+ export declare const getRegisteredColumnTypeDef: (type: GridColType | undefined) => GridColTypeDef;
@@ -0,0 +1,8 @@
1
+ import type { GridColType } from "../models/colDef/gridColType.js";
2
+ import type { GridColTypeDef } from "../models/colDef/gridColDef.js";
3
+ import type { GridColumnTypesRecord } from "../models/colDef/gridColumnTypesRecord.js";
4
+ export declare const DEFAULT_GRID_COL_TYPE_KEY = "string";
5
+ export declare const isCommunityColumnType: (type: GridColType | undefined) => boolean;
6
+ export declare const registerGridColumnTypes: (columnTypes: Partial<GridColumnTypesRecord>) => void;
7
+ export declare const getGridColumnTypesRegistry: () => Record<string, GridColTypeDef>;
8
+ export declare const getRegisteredColumnTypeDef: (type: GridColType | undefined) => GridColTypeDef;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.registerGridColumnTypes = exports.isCommunityColumnType = exports.getRegisteredColumnTypeDef = exports.getGridColumnTypesRegistry = exports.DEFAULT_GRID_COL_TYPE_KEY = void 0;
7
+ var _gridStringColDef = require("./gridStringColDef");
8
+ var _gridNumericColDef = require("./gridNumericColDef");
9
+ var _gridDateColDef = require("./gridDateColDef");
10
+ var _gridBooleanColDef = require("./gridBooleanColDef");
11
+ var _gridSingleSelectColDef = require("./gridSingleSelectColDef");
12
+ var _gridActionsColDef = require("./gridActionsColDef");
13
+ var _gridLongTextColDef = require("./gridLongTextColDef");
14
+ const DEFAULT_GRID_COL_TYPE_KEY = exports.DEFAULT_GRID_COL_TYPE_KEY = 'string';
15
+
16
+ // Mutable registry seeded with the community column types. Pro/Premium packages append
17
+ // their own types at module load via `registerGridColumnTypes`, so a community-only bundle
18
+ // never references them at runtime.
19
+ const columnTypesRegistry = {
20
+ string: _gridStringColDef.GRID_STRING_COL_DEF,
21
+ number: _gridNumericColDef.GRID_NUMERIC_COL_DEF,
22
+ date: _gridDateColDef.GRID_DATE_COL_DEF,
23
+ dateTime: _gridDateColDef.GRID_DATETIME_COL_DEF,
24
+ boolean: _gridBooleanColDef.GRID_BOOLEAN_COL_DEF,
25
+ singleSelect: _gridSingleSelectColDef.GRID_SINGLE_SELECT_COL_DEF,
26
+ [_gridActionsColDef.GRID_ACTIONS_COLUMN_TYPE]: _gridActionsColDef.GRID_ACTIONS_COL_DEF,
27
+ custom: _gridStringColDef.GRID_STRING_COL_DEF,
28
+ longText: _gridLongTextColDef.GRID_LONG_TEXT_COL_DEF
29
+ };
30
+
31
+ // Captured before any `registerGridColumnTypes` call, so it reflects the community-native types
32
+ // only. Used to keep Pro/Premium-registered types (e.g. `multiSelect`) from resolving in a
33
+ // community `DataGrid` even when a Pro grid registered them globally in the same bundle.
34
+ const COMMUNITY_COLUMN_TYPE_KEYS = new Set(Object.keys(columnTypesRegistry));
35
+ const isCommunityColumnType = type => type == null || COMMUNITY_COLUMN_TYPE_KEYS.has(type);
36
+ exports.isCommunityColumnType = isCommunityColumnType;
37
+ const registerGridColumnTypes = columnTypes => {
38
+ Object.assign(columnTypesRegistry, columnTypes);
39
+ };
40
+ exports.registerGridColumnTypes = registerGridColumnTypes;
41
+ const getGridColumnTypesRegistry = () => columnTypesRegistry;
42
+ exports.getGridColumnTypesRegistry = getGridColumnTypesRegistry;
43
+ const getRegisteredColumnTypeDef = type => (type ? columnTypesRegistry[type] : undefined) ?? columnTypesRegistry[DEFAULT_GRID_COL_TYPE_KEY];
44
+ exports.getRegisteredColumnTypeDef = getRegisteredColumnTypeDef;
@@ -0,0 +1,34 @@
1
+ import { GRID_STRING_COL_DEF } from "./gridStringColDef.mjs";
2
+ import { GRID_NUMERIC_COL_DEF } from "./gridNumericColDef.mjs";
3
+ import { GRID_DATE_COL_DEF, GRID_DATETIME_COL_DEF } from "./gridDateColDef.mjs";
4
+ import { GRID_BOOLEAN_COL_DEF } from "./gridBooleanColDef.mjs";
5
+ import { GRID_SINGLE_SELECT_COL_DEF } from "./gridSingleSelectColDef.mjs";
6
+ import { GRID_ACTIONS_COL_DEF, GRID_ACTIONS_COLUMN_TYPE } from "./gridActionsColDef.mjs";
7
+ import { GRID_LONG_TEXT_COL_DEF } from "./gridLongTextColDef.mjs";
8
+ export const DEFAULT_GRID_COL_TYPE_KEY = 'string';
9
+
10
+ // Mutable registry seeded with the community column types. Pro/Premium packages append
11
+ // their own types at module load via `registerGridColumnTypes`, so a community-only bundle
12
+ // never references them at runtime.
13
+ const columnTypesRegistry = {
14
+ string: GRID_STRING_COL_DEF,
15
+ number: GRID_NUMERIC_COL_DEF,
16
+ date: GRID_DATE_COL_DEF,
17
+ dateTime: GRID_DATETIME_COL_DEF,
18
+ boolean: GRID_BOOLEAN_COL_DEF,
19
+ singleSelect: GRID_SINGLE_SELECT_COL_DEF,
20
+ [GRID_ACTIONS_COLUMN_TYPE]: GRID_ACTIONS_COL_DEF,
21
+ custom: GRID_STRING_COL_DEF,
22
+ longText: GRID_LONG_TEXT_COL_DEF
23
+ };
24
+
25
+ // Captured before any `registerGridColumnTypes` call, so it reflects the community-native types
26
+ // only. Used to keep Pro/Premium-registered types (e.g. `multiSelect`) from resolving in a
27
+ // community `DataGrid` even when a Pro grid registered them globally in the same bundle.
28
+ const COMMUNITY_COLUMN_TYPE_KEYS = new Set(Object.keys(columnTypesRegistry));
29
+ export const isCommunityColumnType = type => type == null || COMMUNITY_COLUMN_TYPE_KEYS.has(type);
30
+ export const registerGridColumnTypes = columnTypes => {
31
+ Object.assign(columnTypesRegistry, columnTypes);
32
+ };
33
+ export const getGridColumnTypesRegistry = () => columnTypesRegistry;
34
+ export const getRegisteredColumnTypeDef = type => (type ? columnTypesRegistry[type] : undefined) ?? columnTypesRegistry[DEFAULT_GRID_COL_TYPE_KEY];
@@ -1,3 +1,3 @@
1
1
  import type { GridColumnTypesRecord } from "../models/colDef/gridColumnTypesRecord.mjs";
2
- export declare const DEFAULT_GRID_COL_TYPE_KEY = "string";
2
+ export { DEFAULT_GRID_COL_TYPE_KEY } from "./gridColumnTypesRegistry.mjs";
3
3
  export declare const getGridDefaultColumnTypes: () => GridColumnTypesRecord;
@@ -1,3 +1,3 @@
1
1
  import type { GridColumnTypesRecord } from "../models/colDef/gridColumnTypesRecord.js";
2
- export declare const DEFAULT_GRID_COL_TYPE_KEY = "string";
2
+ export { DEFAULT_GRID_COL_TYPE_KEY } from "./gridColumnTypesRegistry.js";
3
3
  export declare const getGridDefaultColumnTypes: () => GridColumnTypesRecord;