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

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