@mui/x-tree-view 7.0.0-alpha.1 → 7.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/CHANGELOG.md +1254 -188
  2. package/README.md +0 -1
  3. package/RichTreeView/RichTreeView.d.ts +20 -0
  4. package/RichTreeView/RichTreeView.js +324 -0
  5. package/RichTreeView/RichTreeView.types.d.ts +55 -0
  6. package/RichTreeView/RichTreeView.types.js +1 -0
  7. package/RichTreeView/index.d.ts +3 -0
  8. package/RichTreeView/index.js +3 -0
  9. package/RichTreeView/package.json +6 -0
  10. package/RichTreeView/richTreeViewClasses.d.ts +7 -0
  11. package/RichTreeView/richTreeViewClasses.js +6 -0
  12. package/SimpleTreeView/SimpleTreeView.d.ts +20 -0
  13. package/SimpleTreeView/SimpleTreeView.js +268 -0
  14. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +6 -0
  15. package/SimpleTreeView/SimpleTreeView.plugins.js +5 -0
  16. package/SimpleTreeView/SimpleTreeView.types.d.ts +38 -0
  17. package/SimpleTreeView/SimpleTreeView.types.js +1 -0
  18. package/SimpleTreeView/index.d.ts +3 -0
  19. package/SimpleTreeView/index.js +3 -0
  20. package/SimpleTreeView/package.json +6 -0
  21. package/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
  22. package/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  23. package/TreeItem/TreeItem.js +44 -89
  24. package/TreeItem/TreeItem.types.d.ts +2 -1
  25. package/TreeItem/index.d.ts +2 -2
  26. package/TreeItem/index.js +2 -2
  27. package/TreeItem/useTreeItem.js +5 -5
  28. package/TreeView/TreeView.d.ts +4 -0
  29. package/TreeView/TreeView.js +80 -87
  30. package/TreeView/TreeView.types.d.ts +4 -26
  31. package/TreeView/index.d.ts +1 -1
  32. package/index.d.ts +3 -0
  33. package/index.js +5 -2
  34. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -2
  35. package/internals/TreeViewProvider/TreeViewContext.js +1 -14
  36. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -3
  37. package/internals/TreeViewProvider/useTreeViewContext.js +7 -1
  38. package/internals/corePlugins/corePlugins.d.ts +1 -1
  39. package/internals/corePlugins/corePlugins.js +1 -1
  40. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -5
  41. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  42. package/internals/hooks/useLazyRef.d.ts +2 -0
  43. package/internals/hooks/useLazyRef.js +11 -0
  44. package/internals/hooks/useOnMount.d.ts +2 -0
  45. package/internals/hooks/useOnMount.js +7 -0
  46. package/internals/hooks/useTimeout.d.ts +9 -0
  47. package/internals/hooks/useTimeout.js +28 -0
  48. package/internals/models/plugin.d.ts +23 -0
  49. package/internals/models/treeView.d.ts +5 -1
  50. package/internals/plugins/defaultPlugins.d.ts +3 -2
  51. package/internals/plugins/defaultPlugins.js +2 -1
  52. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -6
  53. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.d.ts +1 -6
  54. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  55. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +12 -5
  56. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +13 -6
  57. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +4 -1
  58. package/internals/plugins/useTreeViewId/index.d.ts +2 -0
  59. package/internals/plugins/useTreeViewId/index.js +1 -0
  60. package/internals/plugins/useTreeViewId/useTreeViewId.d.ts +3 -0
  61. package/internals/plugins/useTreeViewId/useTreeViewId.js +18 -0
  62. package/internals/plugins/useTreeViewId/useTreeViewId.types.d.ts +17 -0
  63. package/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
  64. package/internals/plugins/useTreeViewJSXNodes/index.d.ts +2 -0
  65. package/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
  66. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.d.ts +3 -0
  67. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +114 -0
  68. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.d.ts +16 -0
  69. package/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
  70. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +20 -9
  71. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +5 -2
  72. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +83 -18
  73. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +48 -5
  74. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +1 -1
  75. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
  76. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +15 -8
  77. package/internals/useTreeView/useTreeView.js +40 -3
  78. package/internals/useTreeView/useTreeView.types.d.ts +2 -1
  79. package/internals/utils/warning.d.ts +1 -0
  80. package/internals/utils/warning.js +14 -0
  81. package/legacy/RichTreeView/RichTreeView.js +317 -0
  82. package/legacy/RichTreeView/RichTreeView.types.js +1 -0
  83. package/legacy/RichTreeView/index.js +3 -0
  84. package/legacy/RichTreeView/richTreeViewClasses.js +6 -0
  85. package/legacy/SimpleTreeView/SimpleTreeView.js +264 -0
  86. package/legacy/SimpleTreeView/SimpleTreeView.plugins.js +6 -0
  87. package/legacy/SimpleTreeView/SimpleTreeView.types.js +1 -0
  88. package/legacy/SimpleTreeView/index.js +3 -0
  89. package/legacy/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  90. package/legacy/TreeItem/TreeItem.js +49 -103
  91. package/legacy/TreeItem/index.js +2 -2
  92. package/legacy/TreeItem/useTreeItem.js +5 -5
  93. package/legacy/TreeView/TreeView.js +80 -82
  94. package/legacy/index.js +5 -2
  95. package/legacy/internals/TreeViewProvider/TreeViewContext.js +1 -14
  96. package/legacy/internals/TreeViewProvider/useTreeViewContext.js +5 -1
  97. package/legacy/internals/corePlugins/corePlugins.js +1 -1
  98. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  99. package/legacy/internals/hooks/useLazyRef.js +11 -0
  100. package/legacy/internals/hooks/useOnMount.js +7 -0
  101. package/legacy/internals/hooks/useTimeout.js +38 -0
  102. package/legacy/internals/plugins/defaultPlugins.js +2 -1
  103. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +11 -8
  104. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  105. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +13 -6
  106. package/legacy/internals/plugins/useTreeViewId/index.js +1 -0
  107. package/legacy/internals/plugins/useTreeViewId/useTreeViewId.js +21 -0
  108. package/legacy/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
  109. package/legacy/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
  110. package/legacy/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +120 -0
  111. package/legacy/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
  112. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +20 -9
  113. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +89 -20
  114. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +45 -28
  115. package/legacy/internals/useTreeView/useTreeView.js +39 -3
  116. package/legacy/internals/utils/warning.js +15 -0
  117. package/legacy/models/index.js +1 -0
  118. package/legacy/models/items.js +1 -0
  119. package/models/index.d.ts +1 -0
  120. package/models/index.js +1 -0
  121. package/models/items.d.ts +7 -0
  122. package/models/items.js +1 -0
  123. package/models/package.json +6 -0
  124. package/modern/RichTreeView/RichTreeView.js +322 -0
  125. package/modern/RichTreeView/RichTreeView.types.js +1 -0
  126. package/modern/RichTreeView/index.js +3 -0
  127. package/modern/RichTreeView/richTreeViewClasses.js +6 -0
  128. package/modern/SimpleTreeView/SimpleTreeView.js +267 -0
  129. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +5 -0
  130. package/modern/SimpleTreeView/SimpleTreeView.types.js +1 -0
  131. package/modern/SimpleTreeView/index.js +3 -0
  132. package/modern/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  133. package/modern/TreeItem/TreeItem.js +44 -88
  134. package/modern/TreeItem/index.js +2 -2
  135. package/modern/TreeItem/useTreeItem.js +5 -5
  136. package/modern/TreeView/TreeView.js +80 -87
  137. package/modern/index.js +5 -2
  138. package/modern/internals/TreeViewProvider/TreeViewContext.js +1 -14
  139. package/modern/internals/TreeViewProvider/useTreeViewContext.js +7 -1
  140. package/modern/internals/corePlugins/corePlugins.js +1 -1
  141. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  142. package/modern/internals/hooks/useLazyRef.js +11 -0
  143. package/modern/internals/hooks/useOnMount.js +7 -0
  144. package/modern/internals/hooks/useTimeout.js +28 -0
  145. package/modern/internals/plugins/defaultPlugins.js +2 -1
  146. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -6
  147. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  148. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -6
  149. package/modern/internals/plugins/useTreeViewId/index.js +1 -0
  150. package/modern/internals/plugins/useTreeViewId/useTreeViewId.js +18 -0
  151. package/modern/internals/plugins/useTreeViewId/useTreeViewId.types.js +1 -0
  152. package/modern/internals/plugins/useTreeViewJSXNodes/index.js +1 -0
  153. package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +113 -0
  154. package/modern/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +1 -0
  155. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +19 -9
  156. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +82 -18
  157. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
  158. package/modern/internals/useTreeView/useTreeView.js +40 -3
  159. package/modern/internals/utils/warning.js +14 -0
  160. package/modern/models/index.js +1 -0
  161. package/modern/models/items.js +1 -0
  162. package/node/RichTreeView/RichTreeView.js +330 -0
  163. package/node/RichTreeView/RichTreeView.types.js +5 -0
  164. package/node/RichTreeView/index.js +27 -0
  165. package/node/RichTreeView/richTreeViewClasses.js +14 -0
  166. package/node/SimpleTreeView/SimpleTreeView.js +275 -0
  167. package/node/SimpleTreeView/SimpleTreeView.plugins.js +11 -0
  168. package/node/SimpleTreeView/SimpleTreeView.types.js +5 -0
  169. package/node/SimpleTreeView/index.js +27 -0
  170. package/node/SimpleTreeView/simpleTreeViewClasses.js +14 -0
  171. package/node/TreeItem/TreeItem.js +44 -88
  172. package/node/TreeItem/index.js +11 -15
  173. package/node/TreeItem/useTreeItem.js +5 -5
  174. package/node/TreeView/TreeView.js +80 -87
  175. package/node/index.js +38 -2
  176. package/node/internals/TreeViewProvider/TreeViewContext.js +2 -15
  177. package/node/internals/TreeViewProvider/useTreeViewContext.js +7 -1
  178. package/node/internals/corePlugins/corePlugins.js +1 -1
  179. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -6
  180. package/node/internals/hooks/useLazyRef.js +19 -0
  181. package/node/internals/hooks/useOnMount.js +15 -0
  182. package/node/internals/hooks/useTimeout.js +34 -0
  183. package/node/internals/plugins/defaultPlugins.js +2 -1
  184. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +8 -7
  185. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +26 -17
  186. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +12 -6
  187. package/node/internals/plugins/useTreeViewId/index.js +12 -0
  188. package/node/internals/plugins/useTreeViewId/useTreeViewId.js +28 -0
  189. package/node/internals/plugins/useTreeViewId/useTreeViewId.types.js +5 -0
  190. package/node/internals/plugins/useTreeViewJSXNodes/index.js +12 -0
  191. package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.js +123 -0
  192. package/node/internals/plugins/useTreeViewJSXNodes/useTreeViewJSXNodes.types.js +5 -0
  193. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +19 -9
  194. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +82 -18
  195. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +41 -28
  196. package/node/internals/useTreeView/useTreeView.js +40 -3
  197. package/node/internals/utils/warning.js +21 -0
  198. package/node/models/index.js +16 -0
  199. package/node/models/items.js +5 -0
  200. package/package.json +8 -7
  201. package/themeAugmentation/components.d.ts +14 -4
  202. package/themeAugmentation/overrides.d.ts +8 -4
  203. package/themeAugmentation/props.d.ts +7 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,787 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.0.0-alpha.7
7
+
8
+ _Jan 5, 2024_
9
+
10
+ We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🎁 New component to create a Tree View from a structured data source:
13
+
14
+ You can now directly pass your data to the `RichTreeView` component instead of manually converting it into JSX `TreeItem` components:
15
+
16
+ ```tsx
17
+ const ITEMS = [
18
+ {
19
+ id: 'node-1',
20
+ label: 'Node 1',
21
+ children: [
22
+ { id: 'node-1-1', label: Node 1.1' },
23
+ { id: 'node-1-2', label: Node 1.2' },
24
+ ],
25
+ },
26
+ {
27
+ id: 'node-2',
28
+ label: 'Node 2',
29
+ },
30
+ ];
31
+
32
+ <RichTreeView
33
+ items={MUI_X_PRODUCTS}
34
+ defaultCollapseIcon={<ExpandMoreIcon />}
35
+ defaultExpandIcon={<ChevronRightIcon />}
36
+ />
37
+ ```
38
+
39
+ - 🌍 Improve Czech (cs-CZ) locale on the Data Grid
40
+ - 🐞 Bugfixes
41
+
42
+ ### Data Grid
43
+
44
+ #### `@mui/x-data-grid@7.0.0-alpha.7`
45
+
46
+ - [DataGrid] Don't evaluate `hasEval` when `disableEval` is set (#11516) @reihwald
47
+ - [DataGrid] follow warning message guideline for `autoPageSize` and `autoHeight` (#11585) @Sboonny
48
+ - [DataGrid] Replace `eval` with `new Function` (#11557) @oliviertassinari
49
+ - [DataGrid] Warn devs when `autoPageSize` is used with `autoHeight` (#11554) @Sboonny
50
+ - [l10n] Improve Czech (cs-CZ) locale (#11526) @fdebef
51
+
52
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
53
+
54
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.7`.
55
+
56
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
57
+
58
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.7`.
59
+
60
+ ### Date Pickers
61
+
62
+ #### `@mui/x-date-pickers@7.0.0-alpha.7`
63
+
64
+ - [pickers] Fix views management (#11419) @LukasTy
65
+
66
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
67
+
68
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.7`.
69
+
70
+ ### Charts / `@mui/x-charts@7.0.0-alpha.7`
71
+
72
+ - [charts] Add `arcLabelRadius` property (#11487) @alexfauquette
73
+ - [charts] Fix `null` in line chart using dataset (#11550) @alexfauquette
74
+
75
+ ### Tree View
76
+
77
+ #### Breaking changes
78
+
79
+ - The expansion props have been renamed to better describe their behaviors:
80
+
81
+ | Old name | New name |
82
+ | :---------------- | :---------------------- |
83
+ | `onNodeToggle` | `onExpandedNodesChange` |
84
+ | `expanded` | `expandedNodes` |
85
+ | `defaultExpanded` | `defaultExpandedNodes` |
86
+
87
+ ```diff
88
+ <TreeView
89
+ - onNodeToggle={handleExpansionChange}
90
+ + onExpandedNodesChange={handleExpansionChange}
91
+
92
+ - expanded={expandedNodes}
93
+ + expandedNodes={expandedNodes}
94
+
95
+ - defaultExpanded={defaultExpandedNodes}
96
+ + defaultExpandedNodes={defaultExpandedNodes}
97
+ />
98
+ ```
99
+
100
+ - The selection props have been renamed to better describe their behaviors:
101
+
102
+ | Old name | New name |
103
+ | :---------------- | :---------------------- |
104
+ | `onNodeSelect` | `onSelectedNodesChange` |
105
+ | `selected` | `selectedNodes` |
106
+ | `defaultSelected` | `defaultSelectedNodes` |
107
+
108
+ ```diff
109
+ <TreeView
110
+ - onNodeSelect={handleSelectionChange}
111
+ + onSelectedNodesChange={handleSelectionChange}
112
+
113
+ - selected={selectedNodes}
114
+ + selectedNodes={selectedNodes}
115
+
116
+ - defaultSelected={defaultSelectedNodes}
117
+ + defaultSelectedNodes={defaultSelectedNodes}
118
+ />
119
+ ```
120
+
121
+ #### `@mui/x-tree-view@7.0.0-alpha.7`
122
+
123
+ - [TreeView] Improve the expansion API (#11476) @flaviendelangle
124
+ - [TreeView] Improve the selection API (#11560) @flaviendelangle
125
+ - [TreeView] Introduce the `items` prop (#11059) @flaviendelangle
126
+
127
+ ### Docs
128
+
129
+ - [docs] Add example for TreeView `onNodeExpansionToggle` prop (#11547) @flaviendelangle
130
+ - [docs] Clarify Pickers usage with Luxon (#11545) @LukasTy
131
+ - [docs] Complete transition to next branch (#11521) @oliviertassinari
132
+ - [docs] Fix 404 links in the docs @oliviertassinari
133
+ - [docs] Fix over page fetching @oliviertassinari
134
+ - [docs] Lint `next.config.js` (#11514) @oliviertassinari
135
+
136
+ ### Core
137
+
138
+ - [core] Fix release changelog (#11496) @romgrk
139
+ - [core] Fix use of ::before & ::after (#11515) @oliviertassinari
140
+ - [core] Localize the issue template to MUI X (#11511) @oliviertassinari
141
+ - [core] Regen api files (#11542) @flaviendelangle
142
+ - [core] Remove issue emoji @oliviertassinari
143
+ - [core] Sync the release instructions with MUI Core @oliviertassinari
144
+ - [core] Yaml format match most common convention @oliviertassinari
145
+
146
+ ## 7.0.0-alpha.6
147
+
148
+ _Dec 22, 2023_
149
+
150
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
151
+
152
+ - 🎁 Data Grid now supports `Date` objects in the `filterModel`
153
+ - 🌍 Improve Russian (ru-RU) locale on the Data Grid
154
+ - 🐞 Bugfixes
155
+
156
+ ### Data Grid
157
+
158
+ #### Breaking changes
159
+
160
+ - The filter panel no longer uses the native version of the [`Select`](https://mui.com/material-ui/react-select/) component for all components.
161
+ - The `getOptionValue` and `getOptionLabel` props were removed from the following components:
162
+
163
+ - `GridEditSingleSelectCell`
164
+ - `GridFilterInputSingleSelect`
165
+ - `GridFilterInputMultipleSingleSelect`
166
+
167
+ Use the `getOptionValue` and `getOptionLabel` properties on the `singleSelect` column definition instead:
168
+
169
+ ```tsx
170
+ const column: GridColDef = {
171
+ type: 'singleSelect',
172
+ field: 'country',
173
+ valueOptions: [
174
+ { code: 'BR', name: 'Brazil' },
175
+ { code: 'FR', name: 'France' },
176
+ ],
177
+ getOptionValue: (value: any) => value.code,
178
+ getOptionLabel: (value: any) => value.name,
179
+ };
180
+ ```
181
+ - The `filterModel` now supports `Date` objects as values for `date` and `dateTime` column types.
182
+ The `filterModel` still accepts strings as values for `date` and `dateTime` column types,
183
+ but all updates to the `filterModel` coming from the UI (e.g. filter panel) will set the value as a `Date` object.
184
+
185
+ #### `@mui/x-data-grid@7.0.0-alpha.6`
186
+
187
+ - [DataGrid] Fix typos in the JSDoc (#11451) @flaviendelangle
188
+ - [DataGrid] Make `checkboxSelection` respect the `disableMultipleRowSelection` prop (#11448) @cherniavskii
189
+ - [DataGrid] Support `Date` objects in filter model (#7069) @cherniavskii
190
+ - [DataGrid] Use non-native `Select`s by default (#11330) @cherniavskii
191
+ - [l10n] Improve Russian (ru-RU) locale (#11441) @wensiet
192
+
193
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.6` [![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-data-grid@7.0.0-alpha.6`.
196
+
197
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
198
+
199
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.6`.
200
+
201
+ ### Date Pickers
202
+
203
+ #### `@mui/x-date-pickers@7.0.0-alpha.6`
204
+
205
+ - [fields] Adjust `PickersInput` sizing styles (#11392) @noraleonte
206
+ - [fields] Fix section pasting (#11447) @LukasTy
207
+ - [pickers] Add `PickersTextField` `standard` and `filled` variants (#11250) @noraleonte
208
+ - [pickers] Cleanup error messages in `PickersSectionList` (#11449) @flaviendelangle
209
+ - [pickers] Create new component `PickersSectionList` (#11352) @flaviendelangle
210
+
211
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
212
+
213
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.6`.
214
+
215
+ ### Charts / `@mui/x-charts@7.0.0-alpha.5`
216
+
217
+ - [charts] Allow percentage values for pie chart center and radius (#11464) @alexfauquette
218
+ - [charts] Improve dataset typing (#11372) @alexfauquette
219
+ - [charts] Make error message more explicit (#11457) @alexfauquette
220
+ - [charts] Make the helper `ChartsText` component public (#11370) @alexfauquette
221
+
222
+ ### Docs
223
+
224
+ - [docs] Document `false` default values for boolean props (#11477) @cherniavskii
225
+ - [docs] Improve Pickers `name` prop examples (#11422) @LukasTy
226
+ - [docs] Limit `date-fns` package to v2 in codesandbox (#11463) @LukasTy
227
+
228
+ ### Core
229
+
230
+ - [core] Add missing breaking changes to changelog (#11420) @MBilalShafi
231
+ - [core] Cherry pick follow up (#11469) @LukasTy
232
+ - [core] Fix `cherry-pick` action (#11446) @LukasTy
233
+ - [core] Fix security regressions in cherry-pick-next-to-master.yml (#11482) @MBilalShafi
234
+ - [test] Reload the page if its blank and there are no links to the remaining tests (#11466) @cherniavskii
235
+
236
+ ## 7.0.0-alpha.5
237
+
238
+ _Dec 14, 2023_
239
+
240
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
241
+
242
+ - 💫 New recipe added for the Data Grid
243
+ - 🌍 Improve Swedish (sv-SE) and Urdu (ur-PK) locales on the Data Grid
244
+ - 🐞 Bugfixes
245
+
246
+ ### Data Grid
247
+
248
+ #### Breaking changes
249
+
250
+ - The `instanceId` prop is now required for state selectors.
251
+ This prop is used to distinguish between multiple Data Grid instances on the same page.
252
+ See [migration docs](https://next.mui.com/x/migration/migration-data-grid-v6/#instanceid-prop-is-required-for-state-selectors) for more details.
253
+
254
+ #### `@mui/x-data-grid@7.0.0-alpha.5`
255
+
256
+ - [DataGrid] Make `instanceId` required for state selectors (#11395) @cherniavskii
257
+ - [DataGrid] Recipe for grouped rows autosizing (#11401) @michelengelen
258
+ - [l10n] Improve Swedish (sv-SE) locale (#11373) @fredrikcarlbom
259
+ - [l10n] Improve Urdu (ur-PK) locale (#11400) @MBilalShafi
260
+
261
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
262
+
263
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.5`.
264
+
265
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
266
+
267
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.5`.
268
+
269
+ ### Date Pickers
270
+
271
+ #### Breaking changes
272
+
273
+ - The slot interfaces got renamed to match with `@mui/base` naming.
274
+ The `SlotsComponent` suffix has been replaced with `Slots` and `SlotsComponentsProps` with `SlotProps`.
275
+
276
+ ```diff
277
+ - DateCalendarSlotsComponent
278
+ + DateCalendarSlots
279
+ - DateCalendarSlotsComponentsProps
280
+ + DateCalendarSlotProps
281
+ ```
282
+
283
+ - Move `inputRef` inside the props passed to the field hooks
284
+
285
+ The field hooks now only receive the props instead of an object containing both the props and the `inputRef`.
286
+
287
+ ```diff
288
+ - const { inputRef, ...otherProps } = props
289
+ - const fieldResponse = useDateField({ props: otherProps, inputRef });
290
+ + const fieldResponse = useDateField(props);
291
+ ```
292
+
293
+ If you are using a multi input range field hook, the same applies to `startInputRef` and `endInputRef` params
294
+
295
+ ```diff
296
+ - const { inputRef: startInputRef, ...otherStartTextFieldProps } = startTextFieldProps
297
+ - const { inputRef: endInputRef, ...otherEndTextFieldProps } = endTextFieldProps
298
+
299
+ const fieldResponse = useMultiInputDateRangeField({
300
+ sharedProps,
301
+ - startTextFieldProps: otherStartTextFieldProps,
302
+ - endTextFieldProps: otherEndTextFieldProps,
303
+ - startInputRef
304
+ - endInputRef,
305
+ + startTextFieldProps,
306
+ + endTextFieldProps
307
+ });
308
+ ```
309
+
310
+ - Rename the ref returned by the field hooks to `inputRef`
311
+
312
+ When used with the v6 TextField approach (where the input is an `<input />` HTML element), the field hooks return a ref that needs to be passed to the `<input />` element.
313
+ This ref was previously named `ref` and has been renamed `inputRef` for extra clarity.
314
+
315
+ ```diff
316
+ const fieldResponse = useDateField(props);
317
+
318
+ - return <input ref={fieldResponse.ref} />
319
+ + return <input ref={fieldResponse.inputRef} />
320
+ ```
321
+
322
+ If you are using a multi input range field hook, the same applies to the ref in the `startDate` and `endDate` objects
323
+
324
+ ```diff
325
+ const fieldResponse = useDateField(props);
326
+
327
+ return (
328
+ <div>
329
+ - <input ref={fieldResponse.startDate.ref} />
330
+ + <input ref={fieldResponse.startDate.inputRef} />
331
+ <span>–</span>
332
+ - <input ref={fieldResponse.endDate.ref} />
333
+ + <input ref={fieldResponse.endDate.inputRef} />
334
+ </div>
335
+ )
336
+ ```
337
+
338
+ - Restructure the API of `useClearableField`
339
+
340
+ The `useClearableField` hook API has been simplified to now take a `props` parameter instead of a `fieldProps`, `InputProps`, `clearable`, `onClear`, `slots` and `slotProps` parameters.
341
+
342
+ You should now be able to directly pass the returned value from your field hook (e.g: `useDateField`) to `useClearableField`
343
+
344
+ ```diff
345
+ const fieldResponse = useDateField(props);
346
+
347
+ - const { InputProps, onClear, clearable, slots, slotProps, ...otherFieldProps } = fieldResponse
348
+ - const { InputProps: ProcessedInputProps, fieldProps: processedFieldProps } = useClearableField({
349
+ - fieldProps: otherFieldProps,
350
+ - InputProps,
351
+ - clearable,
352
+ - onClear,
353
+ - slots,
354
+ - slotProps,
355
+ - });
356
+ -
357
+ - return <MyCustomTextField {...processedFieldProps} InputProps={ProcessedInputProps} />
358
+
359
+ + const processedFieldProps = useClearableField(fieldResponse);
360
+ +
361
+ + return <MyCustomTextField {...processedFieldProps} />
362
+ ```
363
+
364
+ #### `@mui/x-date-pickers@7.0.0-alpha.5`
365
+
366
+ - [fields] Support empty sections (#10307) @flaviendelangle
367
+ - [pickers] Fix field types to avoid error on latest `@types/react` version (#11397) @LukasTy
368
+ - [pickers] Remove all relative imports to the internals index file (#11375) @flaviendelangle
369
+ - [pickers] Rename slots interfaces (#11339) @alexfauquette
370
+ - [pickers] Simplify the API of the field hooks (#11371) @flaviendelangle
371
+ - [pickers] Support name prop (#11025) @gitstart
372
+
373
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
374
+
375
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.5`, plus:
376
+
377
+ - [DateRangePicker] Fix `autoFocus` behavior (#11273) @kealjones-wk
378
+
379
+ ### Charts / `@mui/x-charts@7.0.0-alpha.5`
380
+
381
+ - [charts] Fix size overflow (#11385) @alexfauquette
382
+
383
+ ### `@mui/x-codemod@7.0.0-alpha.5`
384
+
385
+ - [codemod] Add `cellSelection` codemod and update migration guide (#11353) @MBilalShafi
386
+
387
+ ### Docs
388
+
389
+ - [docs] Respect GoT books (@janoma) (#11387) @alexfauquette
390
+
391
+ ### Core
392
+
393
+ - [core] Automate cherry-pick of PRs from `next` -> `master` (#11382) @MBilalShafi
394
+ - [github] Update `no-response` workflow (#11369) @MBilalShafi
395
+ - [test] Fix flaky screenshots (#11388) @cherniavskii
396
+
397
+ ## 7.0.0-alpha.4
398
+
399
+ _Dec 8, 2023_
400
+
401
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
402
+
403
+ - 🚀 The scatter charts now use voronoi to trigger items
404
+
405
+ Users needed to hover the item to highlight the scatter item or show the tooltip.
406
+ Now they can interact with data by triggering the closest element. See the [docs page](https://next.mui.com/x/react-charts/scatter/#interaction) for more info.
407
+
408
+ - 📚 Add [Pickers FAQ page](https://next.mui.com/x/react-date-pickers/faq/)
409
+ - 🎉 The Data Grid Header filters feature is now stable
410
+ - 🌍 Improve Danish (da-DK) locale on Data Grid
411
+ - 🐞 Bugfixes
412
+
413
+ ### Data Grid
414
+
415
+ #### Breaking changes
416
+
417
+ - The header filters feature is now stable. `unstable_` prefix is removed from prop `headerFilters` and related exports.
418
+ See [migration docs](https://next.mui.com/x/migration/migration-data-grid-v6/#filtering) for more details.
419
+
420
+ - The `GridColDef['type']` has been narrowed down to only accept the built-in column types.
421
+ TypeScript users need to use the `GridColDef` interface when defining columns:
422
+
423
+ ```tsx
424
+ // 🛑 `type` is inferred as `string` and is too wide
425
+ const columns = [{ type: 'number', field: 'id' }];
426
+ <DataGrid columns={columns} />;
427
+
428
+ // ✅ `type` is `'number'`
429
+ const columns: GridColDef[] = [{ type: 'number', field: 'id' }];
430
+ <DataGrid columns={columns} />;
431
+
432
+ // ✅ Alternalively, `as const` can be used to narrow down the type
433
+ const columns = [{ type: 'number' as const, field: 'id' }];
434
+ <DataGrid columns={columns} />;
435
+ ```
436
+
437
+ #### `@mui/x-data-grid@7.0.0-alpha.4`
438
+
439
+ - [DataGrid] Added a guard for reorder cells (#11159) @michelengelen
440
+ - [DataGrid] Narrow down `GridColDef['type']` (#11270) @cherniavskii
441
+ - [l10n] Improve Danish (da-DK) locale (#11304) @goibon
442
+
443
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
444
+
445
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.4`, plus:
446
+
447
+ - [DataGridPro] Make header filters feature stable (#11243) @MBilalShafi
448
+
449
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
450
+
451
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.4`.
452
+
453
+ ### Date Pickers
454
+
455
+ #### `@mui/x-date-pickers@7.0.0-alpha.4`
456
+
457
+ - [fields] Rework `PickersTextField` (#11258) @flaviendelangle
458
+ - [pickers] Fix `MultiSectionDigitalClock` issues (#11305) @LukasTy
459
+ - [pickers] Fix views height consistency (#11337) @LukasTy
460
+
461
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
462
+
463
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.4`.
464
+
465
+ ### Charts / `@mui/x-charts@7.0.0-alpha.4`
466
+
467
+ - [charts] Remove animation on sparkline (#11311) @oliviertassinari
468
+ - [charts] Use voronoi cells to trigger interaction with scatter items (#10981) @alexfauquette
469
+ - [charts] Add `@mui/utils` as a dependency (#11351) @michelengelen
470
+
471
+ ### Docs
472
+
473
+ - [docs] Add FAQ page (#11271) @noraleonte
474
+ - [docs] Add a doc section on how to override the start of the week with each adapter (#11223) @flaviendelangle
475
+ - [docs] Added params to `onPaginationModelChange` docs (#10191) @JFBenzs
476
+ - [docs] Fix typo (#11324) @cadam11
477
+ - [docs] Improve `DemoContainer` styling coverage (#11315) @LukasTy
478
+ - [docs] General revision of the Charts docs (#11249) @danilo-leal
479
+
480
+ ## 7.0.0-alpha.3
481
+
482
+ _Dec 4, 2023_
483
+
484
+ We'd like to offer a big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
485
+
486
+ - 🚀 Support localized start of the week on pickers' `AdapterLuxon`
487
+
488
+ When using Luxon 3.4.4 or higher, the start of the week will be defined by the date locale (e.g.: Sunday for `en-US`, Monday for `fr-FR`).
489
+
490
+ - 📈 Fix a lot of Charts package issues
491
+ - 🎉 The Data Grid features Cell selection and Clipboard paste are now stable
492
+ - 🌍 Improve Bulgarian (bg-BG) locale on Data Grid
493
+ - 🐞 Bugfixes
494
+ - 📚 Documentation improvements
495
+
496
+ ### Data Grid
497
+
498
+ #### Breaking changes
499
+
500
+ - The clipboard paste feature is now enabled by default. The flag `clipboardPaste` is no longer needed to be passed to the `experimentalFeatures` prop.
501
+
502
+ - The clipboard related exports `ignoreValueFormatterDuringExport` and `splitClipboardPastedText` are no longer prefixed with `unstable_`.
503
+
504
+ - The deprecated constants `SUBMIT_FILTER_STROKE_TIME` and `SUBMIT_FILTER_DATE_STROKE_TIME` have been removed from the `DataGrid` exports. Use the [`filterDebounceMs`](https://next.mui.com/x/api/data-grid/data-grid/#DataGrid-prop-filterDebounceMs) prop to customize filter debounce time.
505
+
506
+ - The `slots.preferencesPanel` slot and the `slotProps.preferencesPanel` prop were removed. Use `slots.panel` and `slotProps.panel` instead.
507
+
508
+ - The `GridPreferencesPanel` component is not exported anymore as it wasn't meant to be used outside of the Data Grid.
509
+
510
+ - The `unstable_` prefix has been removed from the cell selection props listed below.
511
+
512
+ | Old name | New name |
513
+ | :------------------------------------ | :--------------------------- |
514
+ | `unstable_cellSelection` | `cellSelection` |
515
+ | `unstable_cellSelectionModel` | `cellSelectionModel` |
516
+ | `unstable_onCellSelectionModelChange` | `onCellSelectionModelChange` |
517
+
518
+ - The `unstable_` prefix has been removed from the cell selection API methods listed below.
519
+
520
+ | Old name | New name |
521
+ | :--------------------------------- | :------------------------ |
522
+ | `unstable_getCellSelectionModel` | `getCellSelectionModel` |
523
+ | `unstable_getSelectedCellsAsArray` | `getSelectedCellsAsArray` |
524
+ | `unstable_isCellSelected` | `isCellSelected` |
525
+ | `unstable_selectCellRange` | `selectCellRange` |
526
+ | `unstable_setCellSelectionModel` | `setCellSelectionModel` |
527
+
528
+ - The Quick Filter now ignores hidden columns by default.
529
+ See [including hidden columns](https://next.mui.com/x/react-data-grid/filtering/quick-filter/#including-hidden-columns) section for more details.
530
+
531
+ #### `@mui/x-data-grid@7.0.0-alpha.3`
532
+
533
+ - [DataGrid] Fix cell editing adding a leading "v" on paste (#9205) @prasad5795
534
+ - [DataGrid] Exclude hidden columns from quick filtering by default (#11229) @cherniavskii
535
+ - [DataGrid] Fix `onFilterModelChange` being fired with stale field value (#11000) @gitstart
536
+ - [DataGrid] Fix handling of event target in portal (#11174) @cherniavskii
537
+ - [DataGrid] Remove deprecated constants (#11233) @michelengelen
538
+ - [DataGrid] Remove the `preferencesPanel` slot (#11228) @cherniavskii
539
+ - [l10n] Improve Bulgarian (bg-BG) locale (#10856) @Kristiqn95
540
+
541
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
542
+
543
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.3`.
544
+
545
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
546
+
547
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.3`, plus:
548
+
549
+ - [DataGridPremium] Fix aggregated column ignoring column definition changes (#11129) @cherniavskii
550
+ - [DataGridPremium] Make Cell selection feature stable (#11246) @MBilalShafi
551
+ - [DataGridPremium] Make Clipboard paste feature stable (#11248) @MBilalShafi
552
+
553
+ ### Date Pickers
554
+
555
+ #### Breaking changes
556
+
557
+ - The Date and Time Pickers now use the localized week when using `AdapterLuxon` and Luxon v3.4.4 or higher is installed.
558
+ This new behavior allows `AdapterLuxon` to have the same behavior as the other adapters.
559
+ If you want to keep the start of the week on Monday even if your locale says otherwise, you can hardcode the week settings as follows:
560
+ The Firefox browser currently does not support this behavior because the [getWeekInfo](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo) API is not yet implemented.
561
+
562
+ ```ts
563
+ import { Settings } from 'luxon';
564
+
565
+ Settings.defaultWeekSettings = {
566
+ firstDay: 1,
567
+ minimalDays: Info.getMinimumDaysInFirstWeek(),
568
+ weekend: [6, 7],
569
+ };
570
+ ```
571
+
572
+ - Add new parameters to the `shortcuts` slot `onChange` callback
573
+
574
+ The `onChange` callback fired when selecting a shortcut now requires two new parameters (previously they were optional):
575
+
576
+ - The [`changeImportance`](/x/react-date-pickers/shortcuts/#behavior-when-selecting-a-shortcut) of the shortcut.
577
+ - The `item` containing the entire shortcut object.
578
+
579
+ ```diff
580
+ const CustomShortcuts = (props) => {
581
+ return (
582
+ <React.Fragment>
583
+ {props.items.map(item => {
584
+ const value = item.getValue({ isValid: props.isValid });
585
+ return (
586
+ <button
587
+ - onClick={() => onChange(value)}
588
+ + onClick={() => onChange(value, props.changeImportance ?? 'accept', item)}
589
+ >
590
+ {value}
591
+ </button>
592
+ )
593
+ }}
594
+ </React.Fragment>
595
+ )
596
+ }
597
+
598
+ <DatePicker slots={{ shortcuts: CustomShortcuts }} />
599
+ ```
600
+
601
+ - Usage of `AdapterDayjs` with the `customParseFormat` plugin
602
+ The call to `dayjs.extend(customParseFormatPlugin)` has been moved to the `AdapterDayjs` constructor. This allows users to pass custom options to this plugin before the adapter uses it.
603
+
604
+ If you are using this plugin before the rendering of the first `LocalizationProvider` component and did not call `dayjs.extend` in your own codebase, you will need to manually extend `dayjs`:
605
+
606
+ ```tsx
607
+ import dayjs from 'dayjs';
608
+ import customParseFormatPlugin from 'dayjs/plugin/customParseFormat';
609
+
610
+ dayjs.extend(customParseFormatPlugin);
611
+ ```
612
+
613
+ The other plugins are still added before the adapter initialization.
614
+
615
+ #### `@mui/x-date-pickers@7.0.0-alpha.3`
616
+
617
+ - [pickers] Expand field placeholder methods flexibility by providing `format` parameter (#11130) @LukasTy
618
+ - [pickers] Make `changeImportance` and `shortcut` mandatory in `PickersShortcuts` (#10941) @flaviendelangle
619
+ - [pickers] Moved extend with `customParseFormat` to constructor (#11151) @michelengelen
620
+ - [pickers] POC: `PickersTextField` styling - outlined variant (#10778) @noraleonte
621
+ - [pickers] Support localized start of the week on `AdapterLuxon` (#10964) @flaviendelangle
622
+ - [pickers] Use adapter methods instead of date library ones whenever possible (#11142) @flaviendelangle
623
+
624
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
625
+
626
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.3`.
627
+
628
+ ### Charts / `@mui/x-charts@7.0.0-alpha.3`
629
+
630
+ - [charts] Adjusted `defaultizeValueFormatter` util to accept an optional `series.valueFormatter` value (#11144) @michelengelen
631
+ - [charts] Apply `labelStyle` and `tickLabelStyle` props on `<ChartsYAxis />` (#11180) @akamfoad
632
+ - [charts] Fix TS config (#11259) @alexfauquette
633
+ - [charts] Fix error with empty dataset (#11063) @alexfauquette
634
+ - [charts] Fix export strategy (#11235) @alexfauquette
635
+ - [charts] Remove outdated prop-types (#11045) @alexfauquette
636
+
637
+ ### Docs
638
+
639
+ - [docs] Add `TextField` styling example to customization playground (#10812) @noraleonte
640
+ - [docs] Add a card grid to the installation page (#11177) @danilo-leal
641
+ - [docs] Add end v6 blogpost to whats new page (#10999) @joserodolfofreitas
642
+ - [docs] Add small formatting improvements to the licensing page (#11178) @danilo-leal
643
+ - [docs] Document charts composition (#10710) (#11239) @alexfauquette
644
+ - [docs] Fix <title> generation (#11182) @oliviertassinari
645
+ - [docs] Fix dead anchor link (#11265) @oliviertassinari
646
+ - [docs] Improve Data Grid togglable columns example (#11238) @MBilalShafi
647
+ - [docs] Improve the prop descriptions of `DayCalendar` (#11158) @flaviendelangle
648
+ - [docs] Move the adapter breaking changes in a collapsable block (#11205) @flaviendelangle
649
+ - [docs] Polish Next.js header description @oliviertassinari
650
+ - [docs] Remove the `newFeature` flag on v6 features (#11168) @flaviendelangle
651
+ - [docs] Simplify a bit chart demo (#11173) @oliviertassinari
652
+ - [docs] Standardize the usage of callouts in the MUI X docs (#7127) @samuelsycamore
653
+ - [docs] Adjust the Data Grid demo page design (#11231) @danilo-leal
654
+
655
+ ### Core
656
+
657
+ - [core] Make `@mui/system` a direct dependency (#11128) @LukasTy
658
+ - [core] Remove blank lines, coding style @oliviertassinari
659
+ - [core] Remove outdated `ENABLE_AD` env variable (#11181) @oliviertassinari
660
+ - [github] Do not add `plan: Pro` and `plan: Premium` labels on pro / premium issue templates (#10183) @flaviendelangle
661
+
662
+ ## 7.0.0-alpha.2
663
+
664
+ _Nov 23, 2023_
665
+
666
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
667
+
668
+ - 📈 Export missing Charts props
669
+ - 🌍 Improve Arabic (ar-SD) and Hebrew (he-IL) locales on Data Grid
670
+ - 🌍 Add Macedonian (mk) locale and improve German (de-DE) locale on Pickers
671
+ - 🐞 Bugfixes
672
+ - 📚 Documentation improvements
673
+
674
+ ### Data Grid
675
+
676
+ #### `@mui/x-data-grid@7.0.0-alpha.2`
677
+
678
+ - [l10n] Improve Arabic (ar-SD) locale (#11114) @MBilalShafi
679
+ - [l10n] Improve Hebrew (he-IL) locale (#11056) (#11149) @MBilalShafi
680
+ - [DataGrid] Remove unused utilities (#11156) @flaviendelangle
681
+
682
+ #### `@mui/x-data-grid-pro@7.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
683
+
684
+ Same changes as in `@mui/x-data-grid@7.0.0-alpha.2`.
685
+
686
+ #### `@mui/x-data-grid-premium@7.0.0-alpha.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
687
+
688
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.2`.
689
+
690
+ ### Date Pickers
691
+
692
+ #### Breaking changes
693
+
694
+ - The deprecated `shouldDisableClock` prop has been removed in favor of the more flexible `shouldDisableTime` prop.
695
+ The `shouldDisableClock` prop received `value` as a `number` of hours, minutes, or seconds.
696
+ Instead, the `shouldDisableTime` prop receives the date object (based on the used adapter).
697
+
698
+ You can read more about the deprecation of this prop in [v6 migration guide](https://next.mui.com//x/migration/migration-pickers-v5/#%E2%9C%85-rename-or-refactor-shoulddisabletime-prop).
699
+
700
+ ```diff
701
+ <DateTimePicker
702
+ - shouldDisableClock={(timeValue, view) => view === 'hours' && timeValue < 12}
703
+ + shouldDisableTime={(value, view) => view === 'hours' && value.hour() < 12}
704
+ />
705
+ ```
706
+
707
+ - The `adapter.dateWithTimezone` method has been removed and its content moved to the `date` method.
708
+ You can use the `adapter.date` method instead:
709
+
710
+ ```diff
711
+ - adapter.dateWithTimezone(undefined, 'system');
712
+ + adapter.date(undefined, 'system');
713
+ ```
714
+
715
+ - The `dayPickerClasses` variable has been renamed to `dayCalendarClasses` to be consistent with the new name of the `DayCalendar` component introduced in v6.0.0.
716
+
717
+ ```diff
718
+ - import { dayPickerClasses } from '@mui/x-date-pickers/DateCalendar';
719
+ + import { dayCalendarClasses } from '@mui/x-date-pickers/DateCalendar';
720
+ ```
721
+
722
+ - The deprecated `defaultCalendarMonth` prop has been removed in favor of the more flexible `referenceDate` prop.
723
+
724
+ ```diff
725
+ - <DateCalendar defaultCalendarMonth={dayjs('2022-04-01')};
726
+ + <DateCalendar referenceDate{dayjs('2022-04-01')} />
727
+ ```
728
+
729
+ - The `adapter.date` method now has the v6 `adapter.dateWithTimezone` method behavior.
730
+ It no longer accepts `any` as a value but only `string | null | undefined`.
731
+
732
+ ```diff
733
+ - adapter.date(new Date());
734
+ + adapter.date();
735
+
736
+ - adapter.date(new Date('2022-04-17');
737
+ + adapter.date('2022-04-17');
738
+
739
+ - adapter.date(new Date(2022, 3, 17, 4, 5, 34));
740
+ + adapter.date('2022-04-17T04:05:34');
741
+
742
+ - adapter.date(new Date('Invalid Date'));
743
+ + adapter.getInvalidDate();
744
+ ```
745
+
746
+ #### `@mui/x-date-pickers@7.0.0-alpha.2`
747
+
748
+ - [l10n] Improve German (de-DE) locale (#11103) @jho-vema
749
+ - [l10n] Add Macedonian (mk) locale (#10935) @brsnik
750
+ - [pickers] Remove the `defaultCalendarMonth` prop (#10987) @flaviendelangle
751
+ - [pickers] Remove the `shouldDisableClock` prop (#11042) @flaviendelangle
752
+ - [pickers] Rename the `dayPickerClasses` variable `dayCalendarClasses` (#11140) @flaviendelangle
753
+ - [pickers] Replace `adapter.date` with the current `adapter.dateWithTimezone` (#10979) @flaviendelangle
754
+
755
+ #### `@mui/x-date-pickers-pro@7.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
756
+
757
+ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.2`.
758
+
759
+ ### Charts / `@mui/x-charts@7.0.0-alpha.2`
760
+
761
+ - [charts] Change export strategy in index files (#11113) @michelengelen
762
+ - [charts] Fix `ChartsTooltip` component setup (#11152) @LukasTy
763
+
764
+ ### `@mui/x-codemod@7.0.0-alpha.2`
765
+
766
+ - [codemod] Add codemod to use `referenceDate` instead of `defaultCalendarMonth` (#11139) @flaviendelangle
767
+ - [codemod] Clean the components to slots codemod usage (#11145) @flaviendelangle
768
+
769
+ ### Docs
770
+
771
+ - [docs] Add LTS section to support docs (#10927) @joserodolfofreitas
772
+ - [docs] Clean the codemod README (#11051) @flaviendelangle
773
+ - [docs] Fix typos and grammar issues (#11049) @flaviendelangle
774
+ - [docs] Fix version links (#11001) @LukasTy
775
+ - [docs] Point to the source of `@mui/x-data-grid-generator` (#11134) @oliviertassinari
776
+
777
+ ### Core
778
+
779
+ - [core] Bump monorepo (#11160) @LukasTy
780
+ - [core] Fix comment in doc generation (#11098) @flaviendelangle
781
+ - [core] Rename OpenCollective @oliviertassinari
782
+ - [core] Upgrade `babel-plugin-module-resolver` to 5.0.0 (#11065) @flaviendelangle
783
+ - [changelog] Improve git diff format @oliviertassinari
784
+ - [renovate] Monthly schedule for lockfile maintenance (#10336) @Janpot
785
+ - [test] Skip flaky e2e test in webkit (#11110) @cherniavskii
786
+
6
787
  ## 7.0.0-alpha.1
7
788
 
8
789
  _Nov 17, 2023_
@@ -23,29 +804,29 @@ We'd like to offer a big thanks to the 3 contributors who made this release poss
23
804
  ```diff
24
805
  <DateCalendar
25
806
  // If you were still using the day string, you can get it back with your date library.
26
- - dayOfWeekFormatter={dayStr => `${dayStr}.`}
27
- + dayOfWeekFormatter={day => `${day.format('dd')}.`}
807
+ - dayOfWeekFormatter={dayStr => `${dayStr}.`}
808
+ + dayOfWeekFormatter={day => `${day.format('dd')}.`}
28
809
 
29
810
  // If you were already using the day object, just remove the first argument.
30
- - dayOfWeekFormatter={(_dayStr, day) => `${day.format('dd')}.`}
31
- + dayOfWeekFormatter={day => `${day.format('dd')}.`}
811
+ - dayOfWeekFormatter={(_dayStr, day) => `${day.format('dd')}.`}
812
+ + dayOfWeekFormatter={day => `${day.format('dd')}.`}
32
813
  />
33
814
  ```
34
815
 
35
816
  - The imports related to the `calendarHeader` slot have been moved from `@mui/x-date-pickers/DateCalendar` to `@mui/x-date-pickers/PIckersCalendarHeader`:
36
817
 
37
818
  ```diff
38
- export {
39
- pickersCalendarHeaderClasses,
40
- PickersCalendarHeaderClassKey,
41
- PickersCalendarHeaderClasses,
42
- PickersCalendarHeader,
43
- PickersCalendarHeaderProps,
44
- PickersCalendarHeaderSlotsComponent,
45
- PickersCalendarHeaderSlotsComponentsProps,
46
- ExportedPickersCalendarHeaderProps,
47
- - } from '@mui/x-date-pickers/DateCalendar';
48
- + } from '@mui/x-date-pickers/PickersCalendarHeader';
819
+ export {
820
+ pickersCalendarHeaderClasses,
821
+ PickersCalendarHeaderClassKey,
822
+ PickersCalendarHeaderClasses,
823
+ PickersCalendarHeader,
824
+ PickersCalendarHeaderProps,
825
+ PickersCalendarHeaderSlotsComponent,
826
+ PickersCalendarHeaderSlotsComponentsProps,
827
+ ExportedPickersCalendarHeaderProps,
828
+ -} from '@mui/x-date-pickers/DateCalendar';
829
+ +} from '@mui/x-date-pickers/PickersCalendarHeader';
49
830
 
50
831
  ```
51
832
 
@@ -53,170 +834,170 @@ We'd like to offer a big thanks to the 3 contributors who made this release poss
53
834
  It was used in the header of the calendar views, you can replace it with the new `format` prop of the `calendarHeader` slot:
54
835
 
55
836
  ```diff
56
- <LocalizationProvider
57
- adapter={AdapterDayJS}
58
- - formats={{ monthAndYear: 'MM/YYYY' }}
59
- />
60
- <DatePicker
61
- + slotProps={{ calendarHeader: { format: 'MM/YYYY' }}}
62
- />
63
- <DateRangePicker
64
- + slotProps={{ calendarHeader: { format: 'MM/YYYY' }}}
65
- />
66
- <LocalizationProvider />
837
+ <LocalizationProvider
838
+ adapter={AdapterDayJS}
839
+ - formats={{ monthAndYear: 'MM/YYYY' }}
840
+ />
841
+ <DatePicker
842
+ + slotProps={{ calendarHeader: { format: 'MM/YYYY' }}}
843
+ />
844
+ <DateRangePicker
845
+ + slotProps={{ calendarHeader: { format: 'MM/YYYY' }}}
846
+ />
847
+ <LocalizationProvider />
67
848
  ```
68
849
 
69
850
  - The `adapter.getDiff` method have been removed, you can directly use your date library:
70
851
 
71
852
  ```diff
72
- // For Day.js
73
- - const diff = adapter.getDiff(value, comparing, unit);
74
- + const diff = value.diff(comparing, unit);
75
-
76
- // For Luxon
77
- - const diff = adapter.getDiff(value, comparing, unit);
78
- + const getDiff = (value: DateTime, comparing: DateTime | string, unit?: AdapterUnits) => {
79
- + const parsedComparing = typeof comparing === 'string'
80
- + ? DateTime.fromJSDate(new Date(comparing))
81
- + : comparing;
82
- + if (unit) {
83
- + return Math.floor(value.diff(comparing).as(unit));
84
- + }
85
- + return value.diff(comparing).as('millisecond');
86
- + };
853
+ // For Day.js
854
+ -const diff = adapter.getDiff(value, comparing, unit);
855
+ +const diff = value.diff(comparing, unit);
856
+
857
+ // For Luxon
858
+ -const diff = adapter.getDiff(value, comparing, unit);
859
+ +const getDiff = (value: DateTime, comparing: DateTime | string, unit?: AdapterUnits) => {
860
+ + const parsedComparing = typeof comparing === 'string'
861
+ + ? DateTime.fromJSDate(new Date(comparing))
862
+ + : comparing;
863
+ + if (unit) {
864
+ + return Math.floor(value.diff(comparing).as(unit));
865
+ + }
866
+ + return value.diff(comparing).as('millisecond');
867
+ +};
87
868
  +
88
- + const diff = getDiff(value, comparing, unit);
869
+ +const diff = getDiff(value, comparing, unit);
89
870
 
90
871
  // For DateFns
91
- - const diff = adapter.getDiff(value, comparing, unit);
92
- + const getDiff = (value: Date, comparing: Date | string, unit?: AdapterUnits) => {
93
- + const parsedComparing = typeof comparing === 'string' ? new Date(comparing) : comparing;
94
- + switch (unit) {
95
- + case 'years':
96
- + return dateFns.differenceInYears(value, parsedComparing);
97
- + case 'quarters':
98
- + return dateFns.differenceInQuarters(value, parsedComparing);
99
- + case 'months':
100
- + return dateFns.differenceInMonths(value, parsedComparing);
101
- + case 'weeks':
102
- + return dateFns.differenceInWeeks(value, parsedComparing);
103
- + case 'days':
104
- + return dateFns.differenceInDays(value, parsedComparing);
105
- + case 'hours':
106
- + return dateFns.differenceInHours(value, parsedComparing);
107
- + case 'minutes':
108
- + return dateFns.differenceInMinutes(value, parsedComparing);
109
- + case 'seconds':
110
- + return dateFns.differenceInSeconds(value, parsedComparing);
111
- + default: {
112
- + return dateFns.differenceInMilliseconds(value, parsedComparing);
113
- + }
114
- + }
115
- + };
872
+ -const diff = adapter.getDiff(value, comparing, unit);
873
+ +const getDiff = (value: Date, comparing: Date | string, unit?: AdapterUnits) => {
874
+ + const parsedComparing = typeof comparing === 'string' ? new Date(comparing) : comparing;
875
+ + switch (unit) {
876
+ + case 'years':
877
+ + return dateFns.differenceInYears(value, parsedComparing);
878
+ + case 'quarters':
879
+ + return dateFns.differenceInQuarters(value, parsedComparing);
880
+ + case 'months':
881
+ + return dateFns.differenceInMonths(value, parsedComparing);
882
+ + case 'weeks':
883
+ + return dateFns.differenceInWeeks(value, parsedComparing);
884
+ + case 'days':
885
+ + return dateFns.differenceInDays(value, parsedComparing);
886
+ + case 'hours':
887
+ + return dateFns.differenceInHours(value, parsedComparing);
888
+ + case 'minutes':
889
+ + return dateFns.differenceInMinutes(value, parsedComparing);
890
+ + case 'seconds':
891
+ + return dateFns.differenceInSeconds(value, parsedComparing);
892
+ + default: {
893
+ + return dateFns.differenceInMilliseconds(value, parsedComparing);
894
+ + }
895
+ + }
896
+ +};
116
897
  +
117
- + const diff = getDiff(value, comparing, unit);
898
+ +const diff = getDiff(value, comparing, unit);
118
899
 
119
- // For Moment
120
- - const diff = adapter.getDiff(value, comparing, unit);
121
- + const diff = value.diff(comparing, unit);
900
+ // For Moment
901
+ -const diff = adapter.getDiff(value, comparing, unit);
902
+ +const diff = value.diff(comparing, unit);
122
903
  ```
123
904
 
124
905
  - The `adapter.getFormatHelperText` method have been removed, you can use the `adapter.expandFormat` instead:
125
906
 
126
907
  ```diff
127
- - const expandedFormat = adapter.getFormatHelperText(format);
128
- + const expandedFormat = adapter.expandFormat(format);
908
+ -const expandedFormat = adapter.getFormatHelperText(format);
909
+ +const expandedFormat = adapter.expandFormat(format);
129
910
  ```
130
911
 
131
912
  And if you need the exact same output you can apply the following transformation:
132
913
 
133
914
  ```diff
134
- // For Day.js
135
- - const expandedFormat = adapter.getFormatHelperText(format);
136
- + const expandedFormat = adapter.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
915
+ // For Day.js
916
+ -const expandedFormat = adapter.getFormatHelperText(format);
917
+ +const expandedFormat = adapter.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
137
918
 
138
- // For Luxon
139
- - const expandedFormat = adapter.getFormatHelperText(format);
140
- + const expandedFormat = adapter.expandFormat(format).replace(/(a)/g, '(a|p)m').toLocaleLowerCase();
919
+ // For Luxon
920
+ -const expandedFormat = adapter.getFormatHelperText(format);
921
+ +const expandedFormat = adapter.expandFormat(format).replace(/(a)/g, '(a|p)m').toLocaleLowerCase();
141
922
 
142
- // For DateFns
143
- - const expandedFormat = adapter.getFormatHelperText(format);
144
- + const expandedFormat = adapter.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
923
+ // For DateFns
924
+ -const expandedFormat = adapter.getFormatHelperText(format);
925
+ +const expandedFormat = adapter.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
145
926
 
146
- // For Moment
147
- - const expandedFormat = adapter.getFormatHelperText(format);
148
- + const expandedFormat = adapter.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
927
+ // For Moment
928
+ -const expandedFormat = adapter.getFormatHelperText(format);
929
+ +const expandedFormat = adapter.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
149
930
  ```
150
931
 
151
932
  - The `adapter.getMeridiemText` method have been removed, you can use the `adapter.setHours`, `adapter.date` and `adapter.format` methods to recreate its behavior:
152
933
 
153
934
  ```diff
154
- - const meridiem = adapter.getMeridiemText('am');
155
- + const getMeridiemText = (meridiem: 'am' | 'pm') => {
156
- + const date = adapter.setHours(adapter.date()!, meridiem === 'am' ? 2 : 14);
157
- + return utils.format(date, 'meridiem');
158
- + };
935
+ -const meridiem = adapter.getMeridiemText('am');
936
+ +const getMeridiemText = (meridiem: 'am' | 'pm') => {
937
+ + const date = adapter.setHours(adapter.date()!, meridiem === 'am' ? 2 : 14);
938
+ + return utils.format(date, 'meridiem');
939
+ +};
159
940
  +
160
- + const meridiem = getMeridiemText('am');
941
+ +const meridiem = getMeridiemText('am');
161
942
  ```
162
943
 
163
944
  - The `adapter.getMonthArray` method have been removed, you can use the `adapter.startOfYear` and `adapter.addMonths` methods to recreate its behavior:
164
945
 
165
946
  ```diff
166
- - const monthArray = adapter.getMonthArray(value);
167
- + const getMonthArray = (year) => {
168
- + const firstMonth = utils.startOfYear(year);
169
- + const months = [firstMonth];
947
+ -const monthArray = adapter.getMonthArray(value);
948
+ +const getMonthArray = (year) => {
949
+ + const firstMonth = utils.startOfYear(year);
950
+ + const months = [firstMonth];
170
951
  +
171
- + while (months.length < 12) {
172
- + const prevMonth = months[months.length - 1];
173
- + months.push(utils.addMonths(prevMonth, 1));
174
- + }
952
+ + while (months.length < 12) {
953
+ + const prevMonth = months[months.length - 1];
954
+ + months.push(utils.addMonths(prevMonth, 1));
955
+ + }
175
956
  +
176
- + return months;
177
- + }
957
+ + return months;
958
+ +}
178
959
  +
179
- + const monthArray = getMonthArray(value);
960
+ +const monthArray = getMonthArray(value);
180
961
  ```
181
962
 
182
963
  - The `adapter.getNextMonth` method have been removed, you can use the `adapter.addMonths` method instead:
183
964
 
184
965
  ```diff
185
- - const nextMonth = adapter.getNextMonth(value);
186
- + const nextMonth = adapter.addMonths(value, 1);
966
+ -const nextMonth = adapter.getNextMonth(value);
967
+ +const nextMonth = adapter.addMonths(value, 1);
187
968
  ```
188
969
 
189
970
  - The `adapter.getPreviousMonth` method have been removed, you can use the `adapter.addMonths` method instead:
190
971
 
191
972
  ```diff
192
- - const previousMonth = adapter.getPreviousMonth(value);
193
- + const previousMonth = adapter.addMonths(value, -1);
973
+ -const previousMonth = adapter.getPreviousMonth(value);
974
+ +const previousMonth = adapter.addMonths(value, -1);
194
975
  ```
195
976
 
196
977
  - The `adapter.getWeekdays` method have been removed, you can use the `adapter.startOfWeek` and `adapter.addDays` methods instead:
197
978
 
198
979
  ```diff
199
- - const weekDays = adapter.getWeekdays(value);
200
- + const getWeekdays = (value) => {
201
- + const start = adapter.startOfWeek(value);
202
- + return [0, 1, 2, 3, 4, 5, 6].map((diff) => utils.addDays(start, diff));
203
- + };
980
+ -const weekDays = adapter.getWeekdays(value);
981
+ +const getWeekdays = (value) => {
982
+ + const start = adapter.startOfWeek(value);
983
+ + return [0, 1, 2, 3, 4, 5, 6].map((diff) => utils.addDays(start, diff));
984
+ +};
204
985
  +
205
- + const weekDays = getWeekdays(value);
986
+ +const weekDays = getWeekdays(value);
206
987
  ```
207
988
 
208
989
  - The `isNull` method have been removed, you can replace it with a very basic check:
209
990
 
210
991
  ```diff
211
- - const isNull = adapter.isNull(value);
212
- + const isNull = value === null;
992
+ -const isNull = adapter.isNull(value);
993
+ +const isNull = value === null;
213
994
  ```
214
995
 
215
996
  - The `adapter.mergeDateAndTime` method have been removed, you can use the `adapter.setHours`, `adapter.setMinutes`, and `adapter.setSeconds` methods to recreate its behavior:
216
997
 
217
998
  ```diff
218
- - const result = adapter.mergeDateAndTime(valueWithDate, valueWithTime);
219
- + const mergeDateAndTime = <TDate>(
999
+ -const result = adapter.mergeDateAndTime(valueWithDate, valueWithTime);
1000
+ +const mergeDateAndTime = <TDate>(
220
1001
  + dateParam,
221
1002
  + timeParam,
222
1003
  + ) => {
@@ -228,37 +1009,37 @@ And if you need the exact same output you can apply the following transformation
228
1009
  + return mergedDate;
229
1010
  + };
230
1011
  +
231
- + const result = mergeDateAndTime(valueWithDate, valueWithTime);
1012
+ +const result = mergeDateAndTime(valueWithDate, valueWithTime);
232
1013
  ```
233
1014
 
234
1015
  - The `adapter.parseISO` method have been removed, you can directly use your date library:
235
1016
 
236
1017
  ```diff
237
- // For Day.js
238
- - const value = adapter.parseISO(isoString);
239
- + const value = dayjs(isoString);
1018
+ // For Day.js
1019
+ -const value = adapter.parseISO(isoString);
1020
+ +const value = dayjs(isoString);
240
1021
 
241
- // For Luxon
242
- - const value = adapter.parseISO(isoString);
243
- + const value = DateTime.fromISO(isoString);
1022
+ // For Luxon
1023
+ -const value = adapter.parseISO(isoString);
1024
+ +const value = DateTime.fromISO(isoString);
244
1025
 
245
- // For DateFns
246
- - const value = adapter.parseISO(isoString);
247
- + const value = dateFns.parseISO(isoString);
1026
+ // For DateFns
1027
+ -const value = adapter.parseISO(isoString);
1028
+ +const value = dateFns.parseISO(isoString);
248
1029
 
249
- // For Moment
250
- - const value = adapter.parseISO(isoString);
251
- + const value = moment(isoString, true);
1030
+ // For Moment
1031
+ -const value = adapter.parseISO(isoString);
1032
+ +const value = moment(isoString, true);
252
1033
  ```
253
1034
 
254
1035
  - The `adapter.toISO` method have been removed, you can directly use your date library:
255
1036
 
256
1037
  ```diff
257
- - const isoString = adapter.toISO(value);
258
- + const isoString = value.toISOString();
259
- + const isoString = value.toUTC().toISO({ format: 'extended' });
260
- + const isoString = dateFns.formatISO(value, { format: 'extended' });
261
- + const isoString = value.toISOString();
1038
+ -const isoString = adapter.toISO(value);
1039
+ +const isoString = value.toISOString();
1040
+ +const isoString = value.toUTC().toISO({ format: 'extended' });
1041
+ +const isoString = dateFns.formatISO(value, { format: 'extended' });
1042
+ +const isoString = value.toISOString();
262
1043
  ```
263
1044
 
264
1045
  - The `adapter.isEqual` method used to accept any type of value for its two input and tried to parse them before checking if they were equal.
@@ -277,49 +1058,49 @@ And if you need the exact same output you can apply the following transformation
277
1058
  const isEqual = adapterDateFns.isEqual(new Date(), new Date('2022-04-17'));
278
1059
 
279
1060
  // Non-supported formats (JS Date)
280
- - const isEqual = adapterDayjs.isEqual(new Date(), new Date('2022-04-17'));
281
- + const isEqual = adapterDayjs.isEqual(dayjs(), dayjs('2022-04-17'));
1061
+ -const isEqual = adapterDayjs.isEqual(new Date(), new Date('2022-04-17'));
1062
+ +const isEqual = adapterDayjs.isEqual(dayjs(), dayjs('2022-04-17'));
282
1063
 
283
- - const isEqual = adapterLuxon.isEqual(new Date(), new Date('2022-04-17'));
284
- + const isEqual = adapterLuxon.isEqual(DateTime.now(), DateTime.fromISO('2022-04-17'));
1064
+ -const isEqual = adapterLuxon.isEqual(new Date(), new Date('2022-04-17'));
1065
+ +const isEqual = adapterLuxon.isEqual(DateTime.now(), DateTime.fromISO('2022-04-17'));
285
1066
 
286
- - const isEqual = adapterMoment.isEqual(new Date(), new Date('2022-04-17'));
287
- + const isEqual = adapterMoment.isEqual(moment(), moment('2022-04-17'));
1067
+ -const isEqual = adapterMoment.isEqual(new Date(), new Date('2022-04-17'));
1068
+ +const isEqual = adapterMoment.isEqual(moment(), moment('2022-04-17'));
288
1069
 
289
1070
  // Non-supported formats (string)
290
- - const isEqual = adapterDayjs.isEqual('2022-04-16', '2022-04-17');
291
- + const isEqual = adapterDayjs.isEqual(dayjs('2022-04-17'), dayjs('2022-04-17'));
1071
+ -const isEqual = adapterDayjs.isEqual('2022-04-16', '2022-04-17');
1072
+ +const isEqual = adapterDayjs.isEqual(dayjs('2022-04-17'), dayjs('2022-04-17'));
292
1073
 
293
- - const isEqual = adapterLuxon.isEqual('2022-04-16', '2022-04-17');
294
- + const isEqual = adapterLuxon.isEqual(DateTime.fromISO('2022-04-17'), DateTime.fromISO('2022-04-17'));
1074
+ -const isEqual = adapterLuxon.isEqual('2022-04-16', '2022-04-17');
1075
+ +const isEqual = adapterLuxon.isEqual(DateTime.fromISO('2022-04-17'), DateTime.fromISO('2022-04-17'));
295
1076
 
296
- - const isEqual = adapterMoment.isEqual('2022-04-16', '2022-04-17');
297
- + const isEqual = adapterMoment.isEqual(moment('2022-04-17'), moment('2022-04-17'));
1077
+ -const isEqual = adapterMoment.isEqual('2022-04-16', '2022-04-17');
1078
+ +const isEqual = adapterMoment.isEqual(moment('2022-04-17'), moment('2022-04-17'));
298
1079
 
299
- - const isEqual = adapterDateFns.isEqual('2022-04-16', '2022-04-17');
300
- + const isEqual = adapterDateFns.isEqual(new Date('2022-04-17'), new Date('2022-04-17'));
1080
+ -const isEqual = adapterDateFns.isEqual('2022-04-16', '2022-04-17');
1081
+ +const isEqual = adapterDateFns.isEqual(new Date('2022-04-17'), new Date('2022-04-17'));
301
1082
  ```
302
1083
 
303
1084
  - The `dateLibInstance` prop of `LocalizationProvider` does not work with `AdapterDayjs` anymore (#11023). This prop was used to set the pickers in UTC mode before the implementation of a proper timezone support in the components.
304
1085
  You can learn more about the new approach on the [dedicated doc page](https://mui.com/x/react-date-pickers/timezone/).
305
1086
 
306
1087
  ```diff
307
- // When a `value` or a `defaultValue` is provided
308
- <LocalizationProvider
309
- adapter={AdapterDayjs}
310
- - dateLibInstance={dayjs.utc}
311
- >
312
- <DatePicker value={dayjs.utc('2022-04-17')} />
313
- </LocalizationProvider>
314
-
315
- // When no `value` or `defaultValue` is provided
316
- <LocalizationProvider
317
- adapter={AdapterDayjs}
318
- - dateLibInstance={dayjs.utc}
319
- >
320
- - <DatePicker />
321
- + <DatePicker timezone="UTC" />
322
- </LocalizationProvider>
1088
+ // When a `value` or a `defaultValue` is provided
1089
+ <LocalizationProvider
1090
+ adapter={AdapterDayjs}
1091
+ - dateLibInstance={dayjs.utc}
1092
+ >
1093
+ <DatePicker value={dayjs.utc('2022-04-17')} />
1094
+ </LocalizationProvider>
1095
+
1096
+ // When no `value` or `defaultValue` is provided
1097
+ <LocalizationProvider
1098
+ adapter={AdapterDayjs}
1099
+ - dateLibInstance={dayjs.utc}
1100
+ >
1101
+ - <DatePicker />
1102
+ + <DatePicker timezone="UTC" />
1103
+ </LocalizationProvider>
323
1104
  ```
324
1105
 
325
1106
  - The property `hasLeadingZeros` has been removed from the sections in favor of the more precise `hasLeadingZerosInFormat` and `hasLeadingZerosInInput` properties (#10994). To keep the same behavior, you can replace it by `hasLeadingZerosInFormat`:
@@ -328,10 +1109,10 @@ And if you need the exact same output you can apply the following transformation
328
1109
  const fieldRef = React.useRef<FieldRef<FieldSection>>(null);
329
1110
 
330
1111
  React.useEffect(() => {
331
- const firstSection = fieldRef.current!.getSections()[0]
332
- - console.log(firstSection.hasLeadingZeros)
333
- + console.log(firstSection.hasLeadingZerosInFormat)
334
- }, [])
1112
+ const firstSection = fieldRef.current!.getSections()[0];
1113
+ - console.log(firstSection.hasLeadingZeros);
1114
+ + console.log(firstSection.hasLeadingZerosInFormat);
1115
+ }, []);
335
1116
 
336
1117
  return (
337
1118
  <DateField unstableFieldRef={fieldRef} />
@@ -341,8 +1122,8 @@ And if you need the exact same output you can apply the following transformation
341
1122
  - The `adapter.getYearRange` method used to accept two params and now accepts a tuple to be consistent with the `adapter.isWithinRange` method (#10978):
342
1123
 
343
1124
  ```diff
344
- - adapter.getYearRange(start, end);
345
- + adapter.getYearRange([start, end])
1125
+ -adapter.getYearRange(start, end);
1126
+ +adapter.getYearRange([start, end])
346
1127
  ```
347
1128
 
348
1129
  - The `adapter.isValid` method used to accept any type of value and tried to parse them before checking their validity (#10971).
@@ -362,27 +1143,27 @@ And if you need the exact same output you can apply the following transformation
362
1143
  const isValid = adapterDateFns.isValid(new Date());
363
1144
 
364
1145
  // Non-supported formats (JS Date)
365
- - const isValid = adapterDayjs.isValid(new Date('2022-04-17'));
366
- + const isValid = adapterDayjs.isValid(dayjs('2022-04-17'));
1146
+ -const isValid = adapterDayjs.isValid(new Date('2022-04-17'));
1147
+ +const isValid = adapterDayjs.isValid(dayjs('2022-04-17'));
367
1148
 
368
- - const isValid = adapterLuxon.isValid(new Date('2022-04-17'));
369
- + const isValid = adapterLuxon.isValid(DateTime.fromISO('2022-04-17'));
1149
+ -const isValid = adapterLuxon.isValid(new Date('2022-04-17'));
1150
+ +const isValid = adapterLuxon.isValid(DateTime.fromISO('2022-04-17'));
370
1151
 
371
- - const isValid = adapterMoment.isValid(new Date('2022-04-17'));
372
- + const isValid = adapterMoment.isValid(moment('2022-04-17'));
1152
+ -const isValid = adapterMoment.isValid(new Date('2022-04-17'));
1153
+ +const isValid = adapterMoment.isValid(moment('2022-04-17'));
373
1154
 
374
1155
  // Non-supported formats (string)
375
- - const isValid = adapterDayjs.isValid('2022-04-17');
376
- + const isValid = adapterDayjs.isValid(dayjs('2022-04-17'));
1156
+ -const isValid = adapterDayjs.isValid('2022-04-17');
1157
+ +const isValid = adapterDayjs.isValid(dayjs('2022-04-17'));
377
1158
 
378
- - const isValid = adapterLuxon.isValid('2022-04-17');
379
- + const isValid = adapterLuxon.isValid(DateTime.fromISO('2022-04-17'));
1159
+ -const isValid = adapterLuxon.isValid('2022-04-17');
1160
+ +const isValid = adapterLuxon.isValid(DateTime.fromISO('2022-04-17'));
380
1161
 
381
- - const isValid = adapterMoment.isValid('2022-04-17');
382
- + const isValid = adapterMoment.isValid(moment('2022-04-17'));
1162
+ -const isValid = adapterMoment.isValid('2022-04-17');
1163
+ +const isValid = adapterMoment.isValid(moment('2022-04-17'));
383
1164
 
384
- - const isValid = adapterDateFns.isValid('2022-04-17');
385
- + const isValid = adapterDateFns.isValid(new Date('2022-04-17'));
1165
+ -const isValid = adapterDateFns.isValid('2022-04-17');
1166
+ +const isValid = adapterDateFns.isValid(new Date('2022-04-17'));
386
1167
  ```
387
1168
 
388
1169
  #### Changes
@@ -447,7 +1228,7 @@ A special shoutout to thank the 12 contributors who made this release possible.
447
1228
  }
448
1229
  const filterRegex = new RegExp(escapeRegExp(filterItem.value), 'i');
449
1230
  - return (cellParams) => {
450
- - const { value } = cellParams;
1231
+ - const { value } = cellParams;
451
1232
  + return (value, row, colDef, apiRef) => {
452
1233
  return value != null ? filterRegex.test(String(value)) : false;
453
1234
  };
@@ -559,6 +1340,291 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
559
1340
  - [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
560
1341
  - [license] Correctly throw errors (#10924) @oliviertassinari
561
1342
 
1343
+ ## 6.18.7
1344
+
1345
+ _Jan 5, 2024_
1346
+
1347
+ We'd like to offer a big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
1348
+
1349
+ - 🌍 Improve Czech (cs-CZ) locale on Data Grid (#11429) @wensiet
1350
+ - 🐞 Bugfixes
1351
+
1352
+ ### Data Grid
1353
+
1354
+ #### `@mui/x-data-grid@6.18.7`
1355
+
1356
+ - [DataGrid] Don't evaluate `hasEval` when `disableEval` is set (#11553) @reihwald
1357
+ - [l10n] Update Czech (cs-CZ) locale (#11498) @fdebef
1358
+
1359
+ #### `@mui/x-data-grid-pro@6.18.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1360
+
1361
+ Same changes as in `@mui/x-data-grid@6.18.7`.
1362
+
1363
+ #### `@mui/x-data-grid-premium@6.18.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1364
+
1365
+ Same changes as in `@mui/x-data-grid-pro@6.18.7`.
1366
+
1367
+ ### Date Pickers
1368
+
1369
+ #### `@mui/x-date-pickers@6.18.7`
1370
+
1371
+ - [pickers] Fix views management (@LukasTy) (#11572)
1372
+
1373
+ #### `@mui/x-date-pickers-pro@6.18.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1374
+
1375
+ Same changes as in `@mui/x-date-pickers@6.18.7`.
1376
+
1377
+ ### Charts / `@mui/x-charts@6.18.7`
1378
+
1379
+ - [charts] Fix `null` in line chart using dataset (@alexfauquette) (#11561)
1380
+
1381
+ ### Docs
1382
+
1383
+ - [docs] Clarify Pickers usage with Luxon (#11566) @LukasTy
1384
+
1385
+ ## 6.18.6
1386
+
1387
+ _Dec 22, 2023_
1388
+
1389
+ We'd like to offer a big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
1390
+
1391
+ - 🌍 Improve Russian (ru-RU) locale (#11429) @wensiet
1392
+ - 🐞 Bugfixes
1393
+
1394
+ ### Data Grid
1395
+
1396
+ #### `@mui/x-data-grid@6.18.6`
1397
+
1398
+ - [DataGrid] Fix typos in the JSDoc (#11475) @flaviendelangle
1399
+ - [l10n] Improve Russian (ru-RU) locale (#11429) @wensiet
1400
+
1401
+ #### `@mui/x-data-grid-pro@6.18.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1402
+
1403
+ Same changes as in `@mui/x-data-grid@6.18.6`.
1404
+
1405
+ #### `@mui/x-data-grid-premium@6.18.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1406
+
1407
+ Same changes as in `@mui/x-data-grid-pro@6.18.6`.
1408
+
1409
+ ### Date Pickers
1410
+
1411
+ #### `@mui/x-date-pickers@6.18.6`
1412
+
1413
+ - [fields] Fix section pasting (#11467) @LukasTy
1414
+
1415
+ #### `@mui/x-date-pickers-pro@6.18.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1416
+
1417
+ Same changes as in `@mui/x-date-pickers@6.18.6`.
1418
+
1419
+ ### Charts / `@mui/x-charts@6.18.4`
1420
+
1421
+ - [charts] Allow percentage values for pie chart center and radius (#11464) @alexfauquette
1422
+ - [charts] Make error message more explicit (#11457) @alexfauquette
1423
+ - [charts] Make the helper `ChartsText` component public (#11370) @alexfauquette
1424
+ - [charts] Improve dataset typing (#11372) @alexfauquette
1425
+ - [charts] Fix size overflow (#11385) @alexfauquette
1426
+
1427
+ ### Docs
1428
+
1429
+ - [docs] Document false default values for boolean props (#11489) @cherniavskii
1430
+ - [docs] Improve Pickers `name` prop examples (#11442) @LukasTy
1431
+ - [docs] Limit `date-fns` package to v2 in codesandbox (#11478) @LukasTy
1432
+ - [test] Reload the page if its blank and there are no links to the remaining tests (#11471) @cherniavskii
1433
+
1434
+ ## 6.18.5
1435
+
1436
+ _Dec 14, 2023_
1437
+
1438
+ We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
1439
+
1440
+ - 🌍 Improve Swedish (sv-SE) and Urdu (ur-PK) locales on the Data Grid
1441
+ - 🐞 Bugfixes
1442
+
1443
+ ### Data Grid
1444
+
1445
+ #### `@mui/x-data-grid@6.18.5`
1446
+
1447
+ - [l10n] Improve Swedish (sv-SE) locale (#11379) @fredrikcarlbom
1448
+ - [l10n] Improve Urdu (ur-PK) locale for data grid (#11409) @MBilalShafi
1449
+
1450
+ #### `@mui/x-data-grid-pro@6.18.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1451
+
1452
+ Same changes as in `@mui/x-data-grid@6.18.5`.
1453
+
1454
+ #### `@mui/x-data-grid-premium@6.18.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1455
+
1456
+ Same changes as in `@mui/x-data-grid-pro@6.18.5`.
1457
+
1458
+ ### Date Pickers
1459
+
1460
+ #### `@mui/x-date-pickers@6.18.5`
1461
+
1462
+ - [pickers] Fix field types to avoid error on latest `@types/react` version (#11398) @LukasTy
1463
+ - [pickers] Support name prop (#11380) @gitstart
1464
+
1465
+ #### `@mui/x-date-pickers-pro@6.18.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1466
+
1467
+ Same changes as in `@mui/x-date-pickers@6.18.5`, plus:
1468
+
1469
+ - [DateRangePicker] Fix `autoFocus` behavior (#11376) @kealjones-wk
1470
+
1471
+ ### Docs
1472
+
1473
+ - [docs] Respect GoT books (#11294) @janoma
1474
+ - [test] Fix flaky screenshots (#11391) @cherniavskii
1475
+
1476
+ ## 6.18.4
1477
+
1478
+ _Dec 8, 2023_
1479
+
1480
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
1481
+
1482
+ - 📚 Add [Pickers FAQ page](https://mui.com/x/react-date-pickers/faq/)
1483
+ - 🌍 Improve Danish (da-DK) locale on Data Grid
1484
+ - 🐞 Bugfixes
1485
+
1486
+ ### Data Grid
1487
+
1488
+ #### `@mui/x-data-grid@6.18.4`
1489
+
1490
+ - [DataGrid] Fix cell slot style override (#11215) @oliviertassinari
1491
+ - [l10n] Improve Danish (da-DK) locale (#11346) @goibon
1492
+
1493
+ #### `@mui/x-data-grid-pro@6.18.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1494
+
1495
+ Same changes as in `@mui/x-data-grid@6.18.4`.
1496
+
1497
+ #### `@mui/x-data-grid-premium@6.18.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1498
+
1499
+ Same changes as in `@mui/x-data-grid-pro@6.18.4`.
1500
+
1501
+ ### Date Pickers
1502
+
1503
+ #### `@mui/x-date-pickers@6.18.4`
1504
+
1505
+ - [pickers] Fix `MultiSectionDigitalClock` issues (#11308) @LukasTy
1506
+
1507
+ #### `@mui/x-date-pickers-pro@6.18.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1508
+
1509
+ Same changes as in `@mui/x-date-pickers@6.18.4`.
1510
+
1511
+ ### Docs
1512
+
1513
+ - [docs] Fix typo (#11323) @cadam11
1514
+ - [docs] Add FAQ page (#11347) @noraleonte
1515
+
1516
+ ## 6.18.3
1517
+
1518
+ _Dec 4, 2023_
1519
+
1520
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
1521
+
1522
+ - 📈 Fix a lot of Charts package issues
1523
+ - 🌍 Improve Bulgarian (bg-BG) locale on Data Grid
1524
+ - 🐞 Bugfixes
1525
+ - 📚 Documentation improvements
1526
+
1527
+ ### Data Grid
1528
+
1529
+ #### `@mui/x-data-grid@6.18.3`
1530
+
1531
+ - [DataGrid] Fix cell editing adding a leading "v" on paste (#11166) @prasad5795
1532
+ - [DataGrid] Fix handling of event target in portal (#11209) @cherniavskii
1533
+ - [DataGrid] Fix `onFilterModelChange` being fired with stale field value (#11244) @gitstart
1534
+ - [l10n] Improve Bulgarian (bg-BG) locale (#10856) (#11206) @Kristiqn95
1535
+
1536
+ #### `@mui/x-data-grid-pro@6.18.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1537
+
1538
+ Same changes as in `@mui/x-data-grid@6.18.3`.
1539
+
1540
+ #### `@mui/x-data-grid-premium@6.18.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1541
+
1542
+ Same changes as in `@mui/x-data-grid-pro@6.18.3`, plus:
1543
+
1544
+ - [DataGridPremium] Fix aggregated column ignoring column definition changes (#11176) @cherniavskii
1545
+ - [DataGridPremium] Fix custom filter operators not working on aggregated column (#11201) @cherniavskii
1546
+
1547
+ ### Date Pickers
1548
+
1549
+ #### `@mui/x-date-pickers@6.18.3`
1550
+
1551
+ - [pickers] Correctly format `MultiSectionDigitalClock` number sections (#11297) @LukasTy
1552
+ - [pickers] Expand field placeholder methods flexibility by providing `format` parameter (#11254) @LukasTy
1553
+
1554
+ #### `@mui/x-date-pickers-pro@6.18.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1555
+
1556
+ Same changes as in `@mui/x-date-pickers@6.18.3`.
1557
+
1558
+ ### Charts / `@mui/x-charts@6.18.3`
1559
+
1560
+ - [charts] Adjusted `defaultizeValueFormatter` util to accept an optional `series.valueFormatter` value (#11213) @michelengelen
1561
+ - [charts] Apply `labelStyle` and `tickLabelStyle` props on `<ChartsYAxis />` (#11180) @akamfoad
1562
+ - [charts] Fix TS config (#11259) @alexfauquette
1563
+ - [charts] Fix error with empty dataset (#11063) @alexfauquette
1564
+ - [charts] Fix export strategy (#11235) @alexfauquette
1565
+
1566
+ ### Docs
1567
+
1568
+ - [docs] Add LTS section to support page (#11300) @joserodolfofreitas
1569
+ - [docs] Add end v6 blogpost to whats new page (#11299) @joserodolfofreitas
1570
+ - [docs] Document charts composition (#10710) @alexfauquette
1571
+ - [docs] Fix version links (#11167) @LukasTy
1572
+ - [docs] Improve Data Grid togglable columns example (#11241) @MBilalShafi
1573
+ - [docs] Split charts overview and getting started in distinct pages (#10910) @alexfauquette
1574
+
1575
+ ## 6.18.2
1576
+
1577
+ _Nov 23, 2023_
1578
+
1579
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
1580
+
1581
+ - 🌍 Improve Arabic (ar-SD), Czech (cs-CZ), and Hebrew (he-IL) locales on Data Grid
1582
+ - 🌍 Add Basque (eu) and Macedonian (mk) locales on Pickers
1583
+ - 🌍 Improve German (de-DE) and Spanish (es-ES) locales on Pickers
1584
+ - 🐞 Bugfixes
1585
+ - 📚 Documentation improvements
1586
+
1587
+ ### Data Grid
1588
+
1589
+ #### `@mui/x-data-grid@6.18.2`
1590
+
1591
+ - [l10n] Improve Arabic (ar-SD) locale (#11096) @OmarWebDev
1592
+ - [l10n] Improve Czech (cs-CZ) locale (#10968) @luborepka
1593
+ - [l10n] Improve Hebrew (he-IL) locale (#11056) @LironKiloma
1594
+
1595
+ #### `@mui/x-data-grid-pro@6.18.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1596
+
1597
+ Same changes as in `@mui/x-data-grid@6.18.2`.
1598
+
1599
+ #### `@mui/x-data-grid-premium@6.18.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
1600
+
1601
+ Same changes as in `@mui/x-data-grid-pro@6.18.2`.
1602
+
1603
+ ### Date Pickers
1604
+
1605
+ #### `@mui/x-date-pickers@6.18.2`
1606
+
1607
+ - [l10n] Add Basque (eu) locale and improve Spanish (es-ES) locale (#10985) @lajtomekadimon
1608
+ - [l10n] Add Macedonian (mk) locale (#11155) @brsnik
1609
+ - [l10n] Improve German (de-DE) locale (#11104) @jho-vema
1610
+ - [pickers] Deprecate `defaultCalendarMonth` prop (#11138) @flaviendelangle
1611
+ - [pickers] Fix `DateCalendar` crashing when given an invalid value (#11101) @flaviendelangle
1612
+
1613
+ #### `@mui/x-date-pickers-pro@6.18.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
1614
+
1615
+ Same changes as in `@mui/x-date-pickers@6.18.2`.
1616
+
1617
+ ### Charts / `@mui/x-charts@6.18.2`
1618
+
1619
+ - [charts] Fix `ChartsTooltip` component setup (#11157) @LukasTy
1620
+ - [charts] Remove outdated prop-types (#10998) @alexfauquette
1621
+
1622
+ ### Docs
1623
+
1624
+ - [docs] Fix incoherent naming of a component in `Custom slots and subcomponents` page (#11003) @lhilgert9
1625
+ - [test] Skip flaky e2e test in webkit (#11115) @cherniavskii
1626
+ - [test] Wait for images to load (#11109) @cherniavskii
1627
+
562
1628
  ## 6.18.1
563
1629
 
564
1630
  _Nov 9, 2023_
@@ -625,11 +1691,11 @@ We'd like to offer a big thanks to the 7 contributors who made this release poss
625
1691
 
626
1692
  - 🎁 The Charts package is now officially stable!
627
1693
  - 🥧 Pie charts are now animated.
628
- - 📈 Line charts now support partial data, and can interpolate missing data.
1694
+ - 📈 Line charts now support partial data, and can interpolate missing data https://mui.com/x/react-charts/lines/#skip-missing-points.
629
1695
 
630
- <img width="380" alt="line charts with partial data" src="https://github.com/mui/mui-x/assets/45398769/385ecf77-19b2-4a03-8aef-5d547db1d9ad">
1696
+ <img src="https://github.com/mui/mui-x/assets/3165635/d2d50b1b-ee29-4e4c-9ebe-629c06f3093e" width="683" height="436" />
631
1697
 
632
- - ✨ Allow to ignore [diacritics](https://en.wikipedia.org/wiki/Diacritic) when filtering
1698
+ - ✨ The data grid allows to ignore [diacritics](https://en.wikipedia.org/wiki/Diacritic) when filtering.
633
1699
  - 📚 Documentation improvements
634
1700
 
635
1701
  ### Data Grid