@mui/x-date-pickers-pro 9.0.0-alpha.3 → 9.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +2 -2
  3. package/DateRangeCalendar/DateRangeCalendar.mjs +2 -2
  4. package/DateRangePickerDay/DateRangePickerDay.js +2 -2
  5. package/DateRangePickerDay/DateRangePickerDay.mjs +2 -2
  6. package/MultiInputDateRangeField/MultiInputDateRangeField.js +8 -2
  7. package/MultiInputDateRangeField/MultiInputDateRangeField.mjs +8 -2
  8. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +8 -2
  9. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.mjs +8 -2
  10. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +8 -2
  11. package/MultiInputTimeRangeField/MultiInputTimeRangeField.mjs +8 -2
  12. package/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -4
  13. package/SingleInputDateRangeField/SingleInputDateRangeField.mjs +4 -4
  14. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -4
  15. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.mjs +4 -4
  16. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -4
  17. package/SingleInputTimeRangeField/SingleInputTimeRangeField.mjs +4 -4
  18. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +4 -4
  19. package/hooks/useMultiInputRangeField/useMultiInputRangeField.mjs +4 -4
  20. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.mts +4 -1
  21. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +4 -1
  22. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js +5 -5
  23. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.mjs +5 -5
  24. package/hooks/useMultiInputRangeField/useTextFieldProps.js +2 -2
  25. package/hooks/useMultiInputRangeField/useTextFieldProps.mjs +2 -2
  26. package/index.js +1 -1
  27. package/index.mjs +1 -1
  28. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
  29. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.mjs +2 -2
  30. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.mts +3 -4
  31. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -4
  32. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -2
  33. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.mjs +2 -2
  34. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.mts +3 -4
  35. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -4
  36. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.mts +1 -1
  37. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +1 -1
  38. package/models/fields.d.mts +10 -4
  39. package/models/fields.d.ts +10 -4
  40. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,234 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.0-beta.0
4
+
5
+ <!-- generated comparing v9.0.0-alpha.4..master -->
6
+
7
+ _Mar 27, 2026_
8
+
9
+ We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - 🔊 New Charts voiceover component for improved screen reader support
12
+ - ⌨️ Charts keyboard navigation improvements: axis tooltip now shows when navigating with the keyboard
13
+ - 📊 Charts axes now can be set to automatically resize to fit their content
14
+ - 📝 New `rowCheckbox` slot in Data Grid for easier checkbox column customization
15
+ - ⚡️ `fetchRows()` API in Data Grid Pro now defaults `start` and `end` based on scroll position with lazy loading
16
+ - 🐞 Bugfixes and internal improvements
17
+
18
+ The following team members contributed to this release:
19
+ @aemartos, @alexfauquette, @arminmeh, @cherniavskii, @Janpot, @JCQuintas, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes
20
+
21
+ ### Data Grid
22
+
23
+ #### `@mui/x-data-grid@9.0.0-beta.0`
24
+
25
+ - [DataGrid] Add `rowCheckbox` slot for easier customization (#21797) @michelengelen
26
+ - [DataGrid] Prevent repeated `hasScrollbar` state updates (#21820) @arminmeh
27
+
28
+ #### `@mui/x-data-grid-pro@9.0.0-beta.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
29
+
30
+ Same changes as in `@mui/x-data-grid@9.0.0-beta.0`, plus:
31
+
32
+ - [DataGridPro] `fetchRows()` API's default `start` and `end` params based on scroll position with lazy loading (#21742) @arminmeh
33
+
34
+ #### `@mui/x-data-grid-premium@9.0.0-beta.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
35
+
36
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-beta.0`.
37
+
38
+ ### Date and Time Pickers
39
+
40
+ #### `@mui/x-date-pickers@9.0.0-beta.0`
41
+
42
+ Internal changes.
43
+
44
+ #### `@mui/x-date-pickers-pro@9.0.0-beta.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
45
+
46
+ Same changes as in `@mui/x-date-pickers@9.0.0-beta.0`.
47
+
48
+ ### Charts
49
+
50
+ #### `@mui/x-charts@9.0.0-beta.0`
51
+
52
+ - [charts] Add `className` prop to Pro chart plot components (#21793) @JCQuintas
53
+ - [charts] Add experimental position-based pointer interaction for line series (#21809) @JCQuintas
54
+ - [charts] Add l10n to the bar accessibility (#21815) @alexfauquette
55
+ - [charts] Add localization for the basic charts (#21822) @alexfauquette
56
+ - [charts] Add voiceover component (#21344) @alexfauquette
57
+ - [charts] Allow axes to automatically resize to content (#21087) @JCQuintas
58
+ - [charts] Document multiple use-cases for references (#21768) @alexfauquette
59
+ - [charts] Remove compatibility layer for React vs native events (#21780) @JCQuintas
60
+ - [charts] Remove deprecated `barLabel` props (#21783) @alexfauquette
61
+ - [charts] Show axis tooltip when navigating with keyboard (#21689) @Copilot
62
+
63
+ #### `@mui/x-charts-pro@9.0.0-beta.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
64
+
65
+ Same changes as in `@mui/x-charts@9.0.0-beta.0`.
66
+
67
+ #### `@mui/x-charts-premium@9.0.0-beta.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
68
+
69
+ Same changes as in `@mui/x-charts-pro@9.0.0-beta.0`.
70
+
71
+ ### Tree View
72
+
73
+ #### `@mui/x-tree-view@9.0.0-alpha.4`
74
+
75
+ Internal changes.
76
+
77
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
78
+
79
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.4`.
80
+
81
+ ### Codemod
82
+
83
+ #### `@mui/x-codemod@9.0.0-alpha.4`
84
+
85
+ Internal changes.
86
+
87
+ ### Docs
88
+
89
+ - [docs] Document how to customize voiceover announcement (#21833) @alexfauquette
90
+ - [docs] Remove Discord mention from docs (#21855) @mapache-salvaje
91
+ - [docs] Remove stabilized experimental feature from demo (#21869) @JCQuintas
92
+ - [docs] Update telemetry guide to reflect pseudonymous data collection and license compliance (#21812) @aemartos
93
+ - [docs] Revise the Sparkline doc (#21614) @mapache-salvaje
94
+ - [docs] Revise the Gauge doc (#21673) @mapache-salvaje
95
+ - [docs] Revise the Heatmap doc (#21676) @mapache-salvaje
96
+
97
+ ### Core
98
+
99
+ - [code-infra] Remove unused deps and unify es-toolkit via catalog (#21840) @Janpot
100
+ - [code-infra] Update @mui/internal-bundle-size-checker to canary.68 (#21836) @Janpot
101
+ - [code-infra] Update next (#21837) @Janpot
102
+ - [internal] Remove headless data grid packages (#21843) @cherniavskii
103
+
104
+ ### Miscellaneous
105
+
106
+ - Add @romgrk to CODEOWNERS for `x-virtualizer` and `x-internals` (#21819) @Copilot
107
+ - [x-license] add 2022 plan version (#21814) @aemartos
108
+
109
+ ## 9.0.0-alpha.4
110
+
111
+ _Mar 19, 2026_
112
+
113
+ We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
114
+
115
+ - 🐞 Bugfixes and internal improvements
116
+
117
+ The following team members contributed to this release:
118
+ @aemartos, @alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @LukasTy, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp
119
+
120
+ ### Data Grid
121
+
122
+ #### `@mui/x-data-grid@9.0.0-alpha.4`
123
+
124
+ - [DataGrid] Mark charts integration as stable (#21764) @JCQuintas
125
+ - [DataGrid] Move `elementOverrides` to constants and remove duplicates (#21618) @sai6855
126
+ - [DataGrid] Migrate from deprecated Material UI APIs (#21682) @siriwatknp
127
+
128
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
129
+
130
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.4`.
131
+
132
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
133
+
134
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.4`.
135
+
136
+ ### Date and Time Pickers
137
+
138
+ #### `@mui/x-date-pickers@9.0.0-alpha.4`
139
+
140
+ - [pickers] Avoid stealing focus on click away (#13434) @LukasTy
141
+ - [pickers] Promote `fieldRef` to stable and add `clearValue` method (#21655) @michelengelen
142
+
143
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
144
+
145
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.4`.
146
+
147
+ ### Charts
148
+
149
+ #### `@mui/x-charts@9.0.0-alpha.4`
150
+
151
+ - [charts] Add v9 chart series types and helper functions migration (#21009) @bernardobelchior
152
+ - [charts] Extract event listener to the layer container (#21751) @alexfauquette
153
+ - [charts] Fix WebGL print export canvas stretching (#21738) @JCQuintas
154
+ - [charts] Improve deprecation warnings (#21760) @alexfauquette
155
+ - [charts] Improve type safety in `identifierCleaner` (#21719) @bernardobelchior
156
+ - [charts] Make `preferStrictDomainInLineCharts` the default (#21744) @JCQuintas
157
+ - [charts] Move title and description to the layer container (#21757) @alexfauquette
158
+ - [charts] Refactor `FunnelChart` classes structure (#21652) @JCQuintas
159
+ - [charts] Refactor `Heatmap` classes structure (#21653) @JCQuintas
160
+ - [charts] Refactor `RadarChart` classes structure (#21650) @JCQuintas
161
+ - [charts] Refactor `SankeyChart` classes structure (#21654) @JCQuintas
162
+ - [charts] Refactor legend getters to use utility functions (#21628) @sai6855
163
+ - [charts] Remove deprecated `ChartContainer` and `ChartDataProvider` (#21777) @alexfauquette
164
+ - [charts] Remove deprecated `itemId` from `SeriesLegendItemContext` (#21788) @alexfauquette
165
+ - [charts] Remove deprecated `useMouseTracker()` (#21787) @alexfauquette
166
+ - [charts] Remove deprecated classes (#21775) @alexfauquette
167
+ - [charts] Remove deprecated props from PieArcLabel animation (#21789) @alexfauquette
168
+ - [charts] Remove get\*UtilityClass from public exports (#21769) @JCQuintas
169
+ - [charts] Remove the deprecated `disableHover` property (#21785) @alexfauquette
170
+ - [charts] Remove the deprecated `message` prop (#21784) @alexfauquette
171
+ - [charts] Remove deprecated props about voronoi (#21796) @alexfauquette
172
+ - [charts] Remove deprecated pieArcClasses (#21795) @alexfauquette
173
+ - [charts] Rename `data-series-id` by `data-series` (#21761) @alexfauquette
174
+ - [charts] Rename `voronoiMaxRadius`/`disableVoronoi` to `hitAreaRadius`/`disableHitArea` (#21750) @bernardobelchior
175
+ - [charts] Update pt-PT locale (#21296) @bernardobelchior
176
+ - [charts] Use different shape per series by default (#21713) @alexfauquette
177
+ - [charts] Add className prop to Radar components (#21794) @JCQuintas
178
+ - [charts] Add className prop to shared chart components (#21792) @JCQuintas
179
+ - [charts] Add className prop to BarPlot (#21791) @JCQuintas
180
+ - [charts] Portal tooltip into ChartsLayerContainer (#21801) @JCQuintas
181
+
182
+ #### `@mui/x-charts-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
183
+
184
+ Same changes as in `@mui/x-charts@9.0.0-alpha.4`, plus:
185
+
186
+ - [charts-pro] Allow `brush` interaction to accept `requiredKeys/pointerMode` (#21716) @JCQuintas
187
+ - [charts-pro] Remove deprecated `onAxisClick` for Heatmap (#21786) @alexfauquette
188
+
189
+ #### `@mui/x-charts-premium@9.0.0-alpha.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
190
+
191
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.4`, plus:
192
+
193
+ - [charts-premium] Add candlestick chart (#21129) @bernardobelchior
194
+
195
+ ### Tree View
196
+
197
+ #### `@mui/x-tree-view@9.0.0-alpha.4`
198
+
199
+ Internal changes.
200
+
201
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
202
+
203
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.4`.
204
+
205
+ ### Codemod
206
+
207
+ #### `@mui/x-codemod@9.0.0-alpha.4`
208
+
209
+ Internal changes.
210
+
211
+ ### Docs
212
+
213
+ - [docs-infra] Exclude `ServerSideLazyLoadingRevalidation` from argos (#21734) @sai6855
214
+ - [docs] Update charts v9 migration guide to include premium package (#21743) @bernardobelchior
215
+ - [docs] Update v9 migration guides to install next tag (#21741) @bernardobelchior
216
+ - [docs] Revise the Pie chart docs (#21565) @mapache-salvaje
217
+ - [docs] Revise the Bar Chart docs (#21482) @mapache-salvaje
218
+ - [docs] Removed a `console.log` from an aggregation demo (#21698) @michelengelen
219
+
220
+ ### Core
221
+
222
+ - [code-infra] Add pkg-pr-new as dev dependency (#21754) @Janpot
223
+ - [code-infra] Prevent `combiner` to have default parameters (#21707) @JCQuintas
224
+ - [code-infra] Remove CI coverage collection and upload to Codecov (#21671) @Janpot
225
+ - [internal] Remove @bernardobelchior from Charts CODEOWNERS (#21776) @Copilot
226
+
227
+ ### Miscellaneous
228
+
229
+ - [x-license] Fix process.env.MUI_VERSION not being replaced during build (#21727) @aemartos
230
+ - [x-license] Add new watermark license status message (#21720) @aemartos
231
+
3
232
  ## 9.0.0-alpha.3
4
233
 
5
234
  _Mar 12, 2026_
@@ -38,8 +38,8 @@ var _jsxRuntime = require("react/jsx-runtime");
38
38
  const _excluded = ["value", "defaultValue", "referenceDate", "onChange", "className", "classes", "disableFuture", "disablePast", "minDate", "maxDate", "shouldDisableDate", "reduceAnimations", "onMonthChange", "rangePosition", "defaultRangePosition", "onRangePositionChange", "calendars", "currentMonthCalendarPosition", "slots", "slotProps", "loading", "renderLoading", "disableHighlightToday", "focusedView", "onFocusedViewChange", "readOnly", "disabled", "showDaysOutsideCurrentMonth", "dayOfWeekFormatter", "disableAutoMonthSwitching", "autoFocus", "fixedWeekNumber", "disableDragEditing", "displayWeekNumber", "timezone", "availableRangePositions", "views", "view", "openTo", "onViewChange"],
39
39
  _excluded2 = ["isDragging", "rangeDragDay", "draggingDatePosition"];
40
40
  const packageInfo = {
41
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
42
- version: process.env.MUI_VERSION,
41
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
42
+ version: "9.0.0-beta.0",
43
43
  name: 'x-date-pickers-pro'
44
44
  };
45
45
  const DateRangeCalendarRoot = (0, _styles.styled)('div', {
@@ -31,8 +31,8 @@ import { useNullablePickerRangePositionContext } from "../internals/hooks/useNul
31
31
  import { dateRangePickerDay2Classes } from "../DateRangePickerDay2/index.mjs";
32
32
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
33
  const packageInfo = {
34
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
35
- version: process.env.MUI_VERSION,
34
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
35
+ version: "9.0.0-beta.0",
36
36
  name: 'x-date-pickers-pro'
37
37
  };
38
38
  const DateRangeCalendarRoot = styled('div', {
@@ -235,8 +235,8 @@ const DateRangePickerDayRaw = /*#__PURE__*/React.forwardRef(function DateRangePi
235
235
  } = props,
236
236
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
237
237
  (0, _internals.useLicenseVerifier)({
238
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
239
- version: process.env.MUI_VERSION,
238
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
239
+ version: "9.0.0-beta.0",
240
240
  name: 'x-date-pickers-pro'
241
241
  });
242
242
  const adapter = (0, _hooks.usePickerAdapter)();
@@ -228,8 +228,8 @@ const DateRangePickerDayRaw = /*#__PURE__*/React.forwardRef(function DateRangePi
228
228
  } = props,
229
229
  other = _objectWithoutPropertiesLoose(props, _excluded);
230
230
  useLicenseVerifier({
231
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
232
- version: process.env.MUI_VERSION,
231
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
232
+ version: "9.0.0-beta.0",
233
233
  name: 'x-date-pickers-pro'
234
234
  });
235
235
  const adapter = usePickerAdapter();
@@ -80,6 +80,10 @@ MultiInputDateRangeField.propTypes = {
80
80
  * @default true
81
81
  */
82
82
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
83
+ /**
84
+ * The ref object used to interact with the end field imperatively.
85
+ */
86
+ endFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
83
87
  /**
84
88
  * Format of the date when rendered in the input(s).
85
89
  */
@@ -185,6 +189,10 @@ MultiInputDateRangeField.propTypes = {
185
189
  * @default 0
186
190
  */
187
191
  spacing: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.string]),
192
+ /**
193
+ * The ref object used to interact with the start field imperatively.
194
+ */
195
+ startFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
188
196
  style: _propTypes.default.object,
189
197
  /**
190
198
  * The system prop, which allows defining system overrides as well as additional CSS styles.
@@ -198,8 +206,6 @@ MultiInputDateRangeField.propTypes = {
198
206
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
199
207
  */
200
208
  timezone: _propTypes.default.string,
201
- unstableEndFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
202
- unstableStartFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
203
209
  /**
204
210
  * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.
205
211
  *
@@ -76,6 +76,10 @@ MultiInputDateRangeField.propTypes = {
76
76
  * @default true
77
77
  */
78
78
  enableAccessibleFieldDOMStructure: PropTypes.bool,
79
+ /**
80
+ * The ref object used to interact with the end field imperatively.
81
+ */
82
+ endFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
79
83
  /**
80
84
  * Format of the date when rendered in the input(s).
81
85
  */
@@ -181,6 +185,10 @@ MultiInputDateRangeField.propTypes = {
181
185
  * @default 0
182
186
  */
183
187
  spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
188
+ /**
189
+ * The ref object used to interact with the start field imperatively.
190
+ */
191
+ startFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
184
192
  style: PropTypes.object,
185
193
  /**
186
194
  * The system prop, which allows defining system overrides as well as additional CSS styles.
@@ -194,8 +202,6 @@ MultiInputDateRangeField.propTypes = {
194
202
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
195
203
  */
196
204
  timezone: PropTypes.string,
197
- unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
198
- unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
199
205
  /**
200
206
  * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.
201
207
  *
@@ -90,6 +90,10 @@ MultiInputDateTimeRangeField.propTypes = {
90
90
  * @default true
91
91
  */
92
92
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
93
+ /**
94
+ * The ref object used to interact with the end field imperatively.
95
+ */
96
+ endFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
93
97
  /**
94
98
  * Format of the date when rendered in the input(s).
95
99
  */
@@ -225,6 +229,10 @@ MultiInputDateTimeRangeField.propTypes = {
225
229
  * @default 0
226
230
  */
227
231
  spacing: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.string]),
232
+ /**
233
+ * The ref object used to interact with the start field imperatively.
234
+ */
235
+ startFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
228
236
  style: _propTypes.default.object,
229
237
  /**
230
238
  * The system prop, which allows defining system overrides as well as additional CSS styles.
@@ -238,8 +246,6 @@ MultiInputDateTimeRangeField.propTypes = {
238
246
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
239
247
  */
240
248
  timezone: _propTypes.default.string,
241
- unstableEndFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
242
- unstableStartFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
243
249
  /**
244
250
  * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.
245
251
  *
@@ -86,6 +86,10 @@ MultiInputDateTimeRangeField.propTypes = {
86
86
  * @default true
87
87
  */
88
88
  enableAccessibleFieldDOMStructure: PropTypes.bool,
89
+ /**
90
+ * The ref object used to interact with the end field imperatively.
91
+ */
92
+ endFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
89
93
  /**
90
94
  * Format of the date when rendered in the input(s).
91
95
  */
@@ -221,6 +225,10 @@ MultiInputDateTimeRangeField.propTypes = {
221
225
  * @default 0
222
226
  */
223
227
  spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
228
+ /**
229
+ * The ref object used to interact with the start field imperatively.
230
+ */
231
+ startFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
224
232
  style: PropTypes.object,
225
233
  /**
226
234
  * The system prop, which allows defining system overrides as well as additional CSS styles.
@@ -234,8 +242,6 @@ MultiInputDateTimeRangeField.propTypes = {
234
242
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
235
243
  */
236
244
  timezone: PropTypes.string,
237
- unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
238
- unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
239
245
  /**
240
246
  * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.
241
247
  *
@@ -91,6 +91,10 @@ MultiInputTimeRangeField.propTypes = {
91
91
  * @default true
92
92
  */
93
93
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
94
+ /**
95
+ * The ref object used to interact with the end field imperatively.
96
+ */
97
+ endFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
94
98
  /**
95
99
  * Format of the date when rendered in the input(s).
96
100
  */
@@ -198,6 +202,10 @@ MultiInputTimeRangeField.propTypes = {
198
202
  * @default 0
199
203
  */
200
204
  spacing: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.string]),
205
+ /**
206
+ * The ref object used to interact with the start field imperatively.
207
+ */
208
+ startFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
201
209
  style: _propTypes.default.object,
202
210
  /**
203
211
  * The system prop, which allows defining system overrides as well as additional CSS styles.
@@ -211,8 +219,6 @@ MultiInputTimeRangeField.propTypes = {
211
219
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
212
220
  */
213
221
  timezone: _propTypes.default.string,
214
- unstableEndFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
215
- unstableStartFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
216
222
  /**
217
223
  * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.
218
224
  *
@@ -87,6 +87,10 @@ MultiInputTimeRangeField.propTypes = {
87
87
  * @default true
88
88
  */
89
89
  enableAccessibleFieldDOMStructure: PropTypes.bool,
90
+ /**
91
+ * The ref object used to interact with the end field imperatively.
92
+ */
93
+ endFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
90
94
  /**
91
95
  * Format of the date when rendered in the input(s).
92
96
  */
@@ -194,6 +198,10 @@ MultiInputTimeRangeField.propTypes = {
194
198
  * @default 0
195
199
  */
196
200
  spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
201
+ /**
202
+ * The ref object used to interact with the start field imperatively.
203
+ */
204
+ startFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
197
205
  style: PropTypes.object,
198
206
  /**
199
207
  * The system prop, which allows defining system overrides as well as additional CSS styles.
@@ -207,8 +215,6 @@ MultiInputTimeRangeField.propTypes = {
207
215
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
208
216
  */
209
217
  timezone: PropTypes.string,
210
- unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
211
- unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
212
218
  /**
213
219
  * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.
214
220
  *
@@ -114,6 +114,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
114
114
  * @default true
115
115
  */
116
116
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
117
+ /**
118
+ * The ref object used to imperatively interact with the field.
119
+ */
120
+ fieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
117
121
  /**
118
122
  * If `true`, the component is displayed in focused state.
119
123
  */
@@ -309,10 +313,6 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
309
313
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
310
314
  */
311
315
  timezone: _propTypes.default.string,
312
- /**
313
- * The ref object used to imperatively interact with the field.
314
- */
315
- unstableFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
316
316
  /**
317
317
  * The selected value.
318
318
  * Used when the component is controlled.
@@ -107,6 +107,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
107
107
  * @default true
108
108
  */
109
109
  enableAccessibleFieldDOMStructure: PropTypes.bool,
110
+ /**
111
+ * The ref object used to imperatively interact with the field.
112
+ */
113
+ fieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
110
114
  /**
111
115
  * If `true`, the component is displayed in focused state.
112
116
  */
@@ -302,10 +306,6 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
302
306
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
303
307
  */
304
308
  timezone: PropTypes.string,
305
- /**
306
- * The ref object used to imperatively interact with the field.
307
- */
308
- unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
309
309
  /**
310
310
  * The selected value.
311
311
  * Used when the component is controlled.
@@ -124,6 +124,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
124
124
  * @default true
125
125
  */
126
126
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
127
+ /**
128
+ * The ref object used to imperatively interact with the field.
129
+ */
130
+ fieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
127
131
  /**
128
132
  * If `true`, the component is displayed in focused state.
129
133
  */
@@ -349,10 +353,6 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
349
353
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
350
354
  */
351
355
  timezone: _propTypes.default.string,
352
- /**
353
- * The ref object used to imperatively interact with the field.
354
- */
355
- unstableFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
356
356
  /**
357
357
  * The selected value.
358
358
  * Used when the component is controlled.
@@ -117,6 +117,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
117
117
  * @default true
118
118
  */
119
119
  enableAccessibleFieldDOMStructure: PropTypes.bool,
120
+ /**
121
+ * The ref object used to imperatively interact with the field.
122
+ */
123
+ fieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
120
124
  /**
121
125
  * If `true`, the component is displayed in focused state.
122
126
  */
@@ -342,10 +346,6 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
342
346
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
343
347
  */
344
348
  timezone: PropTypes.string,
345
- /**
346
- * The ref object used to imperatively interact with the field.
347
- */
348
- unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
349
349
  /**
350
350
  * The selected value.
351
351
  * Used when the component is controlled.
@@ -124,6 +124,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
124
124
  * @default true
125
125
  */
126
126
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
127
+ /**
128
+ * The ref object used to imperatively interact with the field.
129
+ */
130
+ fieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
127
131
  /**
128
132
  * If `true`, the component is displayed in focused state.
129
133
  */
@@ -321,10 +325,6 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
321
325
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
322
326
  */
323
327
  timezone: _propTypes.default.string,
324
- /**
325
- * The ref object used to imperatively interact with the field.
326
- */
327
- unstableFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
328
328
  /**
329
329
  * The selected value.
330
330
  * Used when the component is controlled.
@@ -117,6 +117,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
117
117
  * @default true
118
118
  */
119
119
  enableAccessibleFieldDOMStructure: PropTypes.bool,
120
+ /**
121
+ * The ref object used to imperatively interact with the field.
122
+ */
123
+ fieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
120
124
  /**
121
125
  * If `true`, the component is displayed in focused state.
122
126
  */
@@ -314,10 +318,6 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
314
318
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
315
319
  */
316
320
  timezone: PropTypes.string,
317
- /**
318
- * The ref object used to imperatively interact with the field.
319
- */
320
- unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
321
321
  /**
322
322
  * The selected value.
323
323
  * Used when the component is controlled.
@@ -74,8 +74,8 @@ function useMultiInputRangeField(parameters) {
74
74
  enableAccessibleFieldDOMStructure,
75
75
  autoFocus,
76
76
  referenceDate,
77
- unstableStartFieldRef,
78
- unstableEndFieldRef
77
+ startFieldRef,
78
+ endFieldRef
79
79
  } = internalPropsWithDefaults;
80
80
  const {
81
81
  value,
@@ -100,8 +100,8 @@ function useMultiInputRangeField(parameters) {
100
100
  const selectedSectionsResponse = (0, _useMultiInputRangeFieldSelectedSections.useMultiInputRangeFieldSelectedSections)({
101
101
  selectedSections,
102
102
  onSelectedSectionsChange,
103
- unstableStartFieldRef,
104
- unstableEndFieldRef
103
+ startFieldRef,
104
+ endFieldRef
105
105
  });
106
106
  const sharedInternalProps = {
107
107
  disabled,
@@ -70,8 +70,8 @@ export function useMultiInputRangeField(parameters) {
70
70
  enableAccessibleFieldDOMStructure,
71
71
  autoFocus,
72
72
  referenceDate,
73
- unstableStartFieldRef,
74
- unstableEndFieldRef
73
+ startFieldRef,
74
+ endFieldRef
75
75
  } = internalPropsWithDefaults;
76
76
  const {
77
77
  value,
@@ -96,8 +96,8 @@ export function useMultiInputRangeField(parameters) {
96
96
  const selectedSectionsResponse = useMultiInputRangeFieldSelectedSections({
97
97
  selectedSections,
98
98
  onSelectedSectionsChange,
99
- unstableStartFieldRef,
100
- unstableEndFieldRef
99
+ startFieldRef,
100
+ endFieldRef
101
101
  });
102
102
  const sharedInternalProps = {
103
103
  disabled,
@@ -4,7 +4,10 @@ import { FieldRef, FieldSelectedSections } from '@mui/x-date-pickers/models';
4
4
  import { MultiInputFieldRefs } from "../../models/index.mjs";
5
5
  interface UseMultiInputRangeFieldSelectedSectionsParameters extends Pick<UseFieldInternalProps<PickerRangeValue, any, any>, 'selectedSections' | 'onSelectedSectionsChange'>, MultiInputFieldRefs {}
6
6
  export interface UseMultiInputFieldSelectedSectionsResponseItem {
7
- unstableFieldRef?: React.Ref<FieldRef<PickerValue>>;
7
+ /**
8
+ * The ref object used to imperatively interact with the field.
9
+ */
10
+ fieldRef?: React.Ref<FieldRef<PickerValue>>;
8
11
  selectedSections: FieldSelectedSections;
9
12
  onSelectedSectionsChange: (newSelectedSections: FieldSelectedSections) => void;
10
13
  }
@@ -4,7 +4,10 @@ import { FieldRef, FieldSelectedSections } from '@mui/x-date-pickers/models';
4
4
  import { MultiInputFieldRefs } from "../../models/index.js";
5
5
  interface UseMultiInputRangeFieldSelectedSectionsParameters extends Pick<UseFieldInternalProps<PickerRangeValue, any, any>, 'selectedSections' | 'onSelectedSectionsChange'>, MultiInputFieldRefs {}
6
6
  export interface UseMultiInputFieldSelectedSectionsResponseItem {
7
- unstableFieldRef?: React.Ref<FieldRef<PickerValue>>;
7
+ /**
8
+ * The ref object used to imperatively interact with the field.
9
+ */
10
+ fieldRef?: React.Ref<FieldRef<PickerValue>>;
8
11
  selectedSections: FieldSelectedSections;
9
12
  onSelectedSectionsChange: (newSelectedSections: FieldSelectedSections) => void;
10
13
  }
@@ -14,12 +14,12 @@ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallb
14
14
  * @ignore - internal hook.
15
15
  */
16
16
  const useMultiInputRangeFieldSelectedSections = parameters => {
17
- const unstableEndFieldRef = React.useRef(null);
18
- const handleUnstableEndFieldRef = (0, _useForkRef.default)(parameters.unstableEndFieldRef, unstableEndFieldRef);
17
+ const endFieldRef = React.useRef(null);
18
+ const handleEndFieldRef = (0, _useForkRef.default)(parameters.endFieldRef, endFieldRef);
19
19
  const [startSelectedSection, setStartSelectedSection] = React.useState(parameters.selectedSections ?? null);
20
20
  const [endSelectedSection, setEndSelectedSection] = React.useState(null);
21
21
  const getActiveField = () => {
22
- if (unstableEndFieldRef.current && unstableEndFieldRef.current.isFieldFocused()) {
22
+ if (endFieldRef.current && endFieldRef.current.isFieldFocused()) {
23
23
  return 'end';
24
24
  }
25
25
  return 'start';
@@ -39,12 +39,12 @@ const useMultiInputRangeFieldSelectedSections = parameters => {
39
39
  const activeField = getActiveField();
40
40
  return {
41
41
  start: {
42
- unstableFieldRef: parameters.unstableStartFieldRef,
42
+ fieldRef: parameters.startFieldRef,
43
43
  selectedSections: activeField === 'start' && parameters.selectedSections !== undefined ? parameters.selectedSections : startSelectedSection,
44
44
  onSelectedSectionsChange: handleStartSelectedSectionChange
45
45
  },
46
46
  end: {
47
- unstableFieldRef: handleUnstableEndFieldRef,
47
+ fieldRef: handleEndFieldRef,
48
48
  selectedSections: activeField === 'end' && parameters.selectedSections !== undefined ? parameters.selectedSections : endSelectedSection,
49
49
  onSelectedSectionsChange: handleEndSelectedSectionChange
50
50
  }
@@ -7,12 +7,12 @@ import useEventCallback from '@mui/utils/useEventCallback';
7
7
  * @ignore - internal hook.
8
8
  */
9
9
  export const useMultiInputRangeFieldSelectedSections = parameters => {
10
- const unstableEndFieldRef = React.useRef(null);
11
- const handleUnstableEndFieldRef = useForkRef(parameters.unstableEndFieldRef, unstableEndFieldRef);
10
+ const endFieldRef = React.useRef(null);
11
+ const handleEndFieldRef = useForkRef(parameters.endFieldRef, endFieldRef);
12
12
  const [startSelectedSection, setStartSelectedSection] = React.useState(parameters.selectedSections ?? null);
13
13
  const [endSelectedSection, setEndSelectedSection] = React.useState(null);
14
14
  const getActiveField = () => {
15
- if (unstableEndFieldRef.current && unstableEndFieldRef.current.isFieldFocused()) {
15
+ if (endFieldRef.current && endFieldRef.current.isFieldFocused()) {
16
16
  return 'end';
17
17
  }
18
18
  return 'start';
@@ -32,12 +32,12 @@ export const useMultiInputRangeFieldSelectedSections = parameters => {
32
32
  const activeField = getActiveField();
33
33
  return {
34
34
  start: {
35
- unstableFieldRef: parameters.unstableStartFieldRef,
35
+ fieldRef: parameters.startFieldRef,
36
36
  selectedSections: activeField === 'start' && parameters.selectedSections !== undefined ? parameters.selectedSections : startSelectedSection,
37
37
  onSelectedSectionsChange: handleStartSelectedSectionChange
38
38
  },
39
39
  end: {
40
- unstableFieldRef: handleUnstableEndFieldRef,
40
+ fieldRef: handleEndFieldRef,
41
41
  selectedSections: activeField === 'end' && parameters.selectedSections !== undefined ? parameters.selectedSections : endSelectedSection,
42
42
  onSelectedSectionsChange: handleEndSelectedSectionChange
43
43
  }
@@ -121,8 +121,8 @@ function useTextFieldProps(parameters) {
121
121
  if (!pickerContext?.open || pickerContext?.variant === 'mobile') {
122
122
  return;
123
123
  }
124
- fieldPrivateContext?.fieldRef.current?.focusField();
125
- if (!fieldPrivateContext?.fieldRef.current || pickerContext.view === pickerContext.initialView) {
124
+ fieldPrivateContext?.fieldRef?.current?.focusField();
125
+ if (!fieldPrivateContext?.fieldRef?.current || pickerContext.view === pickerContext.initialView) {
126
126
  // could happen when the user is switching between the inputs
127
127
  previousRangePosition.current = rangePosition;
128
128
  return;
@@ -114,8 +114,8 @@ export function useTextFieldProps(parameters) {
114
114
  if (!pickerContext?.open || pickerContext?.variant === 'mobile') {
115
115
  return;
116
116
  }
117
- fieldPrivateContext?.fieldRef.current?.focusField();
118
- if (!fieldPrivateContext?.fieldRef.current || pickerContext.view === pickerContext.initialView) {
117
+ fieldPrivateContext?.fieldRef?.current?.focusField();
118
+ if (!fieldPrivateContext?.fieldRef?.current || pickerContext.view === pickerContext.initialView) {
119
119
  // could happen when the user is switching between the inputs
120
120
  previousRangePosition.current = rangePosition;
121
121
  return;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v9.0.0-alpha.3
2
+ * @mui/x-date-pickers-pro v9.0.0-beta.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v9.0.0-alpha.3
2
+ * @mui/x-date-pickers-pro v9.0.0-beta.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
@@ -26,8 +26,8 @@ const useDesktopRangePicker = _ref => {
26
26
  } = _ref,
27
27
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
28
28
  (0, _internals.useLicenseVerifier)({
29
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
30
- version: process.env.MUI_VERSION,
29
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
30
+ version: "9.0.0-beta.0",
31
31
  name: 'x-date-pickers-pro'
32
32
  });
33
33
  const {
@@ -19,8 +19,8 @@ export const useDesktopRangePicker = _ref => {
19
19
  } = _ref,
20
20
  pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
21
21
  useLicenseVerifier({
22
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
23
- version: process.env.MUI_VERSION,
22
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
23
+ version: "9.0.0-beta.0",
24
24
  name: 'x-date-pickers-pro'
25
25
  });
26
26
  const {
@@ -1,8 +1,9 @@
1
1
  import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
- import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
2
+ import { PickerOwnerState } from '@mui/x-date-pickers/models';
3
3
  import { PickerPopperSlots, PickerPopperSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots } from '@mui/x-date-pickers/PickersLayout';
5
5
  import { NonStaticRangePickerProps, NonStaticRangePickerHookParameters, UseRangePickerProps } from "../../models/index.mjs";
6
+ import { PickerRangeFieldSlotProps } from "../../../models/index.mjs";
6
7
  export interface UseDesktopRangePickerSlots extends PickerPopperSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
7
8
  /**
8
9
  * Component used to enter the date with the keyboard.
@@ -10,9 +11,7 @@ export interface UseDesktopRangePickerSlots extends PickerPopperSlots, ExportedP
10
11
  field: React.ElementType;
11
12
  }
12
13
  export interface UseDesktopRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends PickerPopperSlotProps, ExportedPickersLayoutSlotProps<PickerRangeValue>, PickerFieldUISlotPropsFromContext {
13
- field?: SlotComponentPropsFromProps<PickerFieldSlotProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure> & {
14
- dateSeparator?: string;
15
- }, {}, PickerOwnerState>;
14
+ field?: SlotComponentPropsFromProps<PickerRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>, {}, PickerOwnerState>;
16
15
  }
17
16
  export interface DesktopRangeOnlyPickerProps extends NonStaticRangePickerProps {
18
17
  /**
@@ -1,8 +1,9 @@
1
1
  import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
- import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
2
+ import { PickerOwnerState } from '@mui/x-date-pickers/models';
3
3
  import { PickerPopperSlots, PickerPopperSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots } from '@mui/x-date-pickers/PickersLayout';
5
5
  import { NonStaticRangePickerProps, NonStaticRangePickerHookParameters, UseRangePickerProps } from "../../models/index.js";
6
+ import { PickerRangeFieldSlotProps } from "../../../models/index.js";
6
7
  export interface UseDesktopRangePickerSlots extends PickerPopperSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
7
8
  /**
8
9
  * Component used to enter the date with the keyboard.
@@ -10,9 +11,7 @@ export interface UseDesktopRangePickerSlots extends PickerPopperSlots, ExportedP
10
11
  field: React.ElementType;
11
12
  }
12
13
  export interface UseDesktopRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends PickerPopperSlotProps, ExportedPickersLayoutSlotProps<PickerRangeValue>, PickerFieldUISlotPropsFromContext {
13
- field?: SlotComponentPropsFromProps<PickerFieldSlotProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure> & {
14
- dateSeparator?: string;
15
- }, {}, PickerOwnerState>;
14
+ field?: SlotComponentPropsFromProps<PickerRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>, {}, PickerOwnerState>;
16
15
  }
17
16
  export interface DesktopRangeOnlyPickerProps extends NonStaticRangePickerProps {
18
17
  /**
@@ -28,8 +28,8 @@ const useMobileRangePicker = _ref => {
28
28
  } = _ref,
29
29
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
30
30
  (0, _internals.useLicenseVerifier)({
31
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
32
- version: process.env.MUI_VERSION,
31
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
32
+ version: "9.0.0-beta.0",
33
33
  name: 'x-date-pickers-pro'
34
34
  });
35
35
  const {
@@ -21,8 +21,8 @@ export const useMobileRangePicker = _ref => {
21
21
  } = _ref,
22
22
  pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
23
23
  useLicenseVerifier({
24
- releaseDate: "MTc3MzI3MzYwMDAwMA==",
25
- version: process.env.MUI_VERSION,
24
+ releaseDate: "MTc3NDU2OTYwMDAwMA==",
25
+ version: "9.0.0-beta.0",
26
26
  name: 'x-date-pickers-pro'
27
27
  });
28
28
  const {
@@ -1,8 +1,9 @@
1
1
  import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
- import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
2
+ import { PickerOwnerState } from '@mui/x-date-pickers/models';
3
3
  import { PickersModalDialogSlots, PickersModalDialogSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots, PickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
5
5
  import { NonStaticRangePickerProps, NonStaticRangePickerHookParameters, UseRangePickerProps } from "../../models/index.mjs";
6
+ import { PickerRangeFieldSlotProps } from "../../../models/index.mjs";
6
7
  export interface UseMobileRangePickerSlots extends PickersModalDialogSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
7
8
  /**
8
9
  * Component used to enter the date with the keyboard.
@@ -10,9 +11,7 @@ export interface UseMobileRangePickerSlots extends PickersModalDialogSlots, Expo
10
11
  field: React.ElementType;
11
12
  }
12
13
  export interface ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<PickerRangeValue>, PickerFieldUISlotPropsFromContext {
13
- field?: SlotComponentPropsFromProps<PickerFieldSlotProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure> & {
14
- dateSeparator?: string;
15
- }, {}, PickerOwnerState>;
14
+ field?: SlotComponentPropsFromProps<PickerRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>, {}, PickerOwnerState>;
16
15
  }
17
16
  export interface UseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure>, Pick<PickersLayoutSlotProps<PickerRangeValue>, 'toolbar'> {}
18
17
  export interface MobileRangeOnlyPickerProps extends NonStaticRangePickerProps {}
@@ -1,8 +1,9 @@
1
1
  import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
- import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
2
+ import { PickerOwnerState } from '@mui/x-date-pickers/models';
3
3
  import { PickersModalDialogSlots, PickersModalDialogSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots, PickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
5
5
  import { NonStaticRangePickerProps, NonStaticRangePickerHookParameters, UseRangePickerProps } from "../../models/index.js";
6
+ import { PickerRangeFieldSlotProps } from "../../../models/index.js";
6
7
  export interface UseMobileRangePickerSlots extends PickersModalDialogSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
7
8
  /**
8
9
  * Component used to enter the date with the keyboard.
@@ -10,9 +11,7 @@ export interface UseMobileRangePickerSlots extends PickersModalDialogSlots, Expo
10
11
  field: React.ElementType;
11
12
  }
12
13
  export interface ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<PickerRangeValue>, PickerFieldUISlotPropsFromContext {
13
- field?: SlotComponentPropsFromProps<PickerFieldSlotProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure> & {
14
- dateSeparator?: string;
15
- }, {}, PickerOwnerState>;
14
+ field?: SlotComponentPropsFromProps<PickerRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>, {}, PickerOwnerState>;
16
15
  }
17
16
  export interface UseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure>, Pick<PickersLayoutSlotProps<PickerRangeValue>, 'toolbar'> {}
18
17
  export interface MobileRangeOnlyPickerProps extends NonStaticRangePickerProps {}
@@ -7,7 +7,7 @@ import { FieldOwnerState } from '@mui/x-date-pickers/models';
7
7
  import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps } from '@mui/x-date-pickers/internals';
8
8
  import { FieldType, MultiInputFieldRefs, RangeFieldSeparatorProps, RangePosition } from "../../../models/index.mjs";
9
9
  import { PickerAnyRangeManager } from "../../models/managers.mjs";
10
- export type MultiInputRangeFieldProps<TManager extends PickerAnyRangeManager> = MultiInputFieldRefs & RangeFieldSeparatorProps & Omit<PickerManagerFieldInternalProps<TManager>, 'unstableFieldRef' | 'clearable' | 'onClear' | 'focused'> & Omit<StackProps, 'position' | keyof PickerManagerFieldInternalProps<TManager>> & {
10
+ export type MultiInputRangeFieldProps<TManager extends PickerAnyRangeManager> = MultiInputFieldRefs & RangeFieldSeparatorProps & Omit<PickerManagerFieldInternalProps<TManager>, 'fieldRef' | 'clearable' | 'onClear' | 'focused'> & Omit<StackProps, 'position' | keyof PickerManagerFieldInternalProps<TManager>> & {
11
11
  /**
12
12
  * If `true`, the field is focused during the first mount.
13
13
  * @default false
@@ -7,7 +7,7 @@ import { FieldOwnerState } from '@mui/x-date-pickers/models';
7
7
  import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps } from '@mui/x-date-pickers/internals';
8
8
  import { FieldType, MultiInputFieldRefs, RangeFieldSeparatorProps, RangePosition } from "../../../models/index.js";
9
9
  import { PickerAnyRangeManager } from "../../models/managers.js";
10
- export type MultiInputRangeFieldProps<TManager extends PickerAnyRangeManager> = MultiInputFieldRefs & RangeFieldSeparatorProps & Omit<PickerManagerFieldInternalProps<TManager>, 'unstableFieldRef' | 'clearable' | 'onClear' | 'focused'> & Omit<StackProps, 'position' | keyof PickerManagerFieldInternalProps<TManager>> & {
10
+ export type MultiInputRangeFieldProps<TManager extends PickerAnyRangeManager> = MultiInputFieldRefs & RangeFieldSeparatorProps & Omit<PickerManagerFieldInternalProps<TManager>, 'fieldRef' | 'clearable' | 'onClear' | 'focused'> & Omit<StackProps, 'position' | keyof PickerManagerFieldInternalProps<TManager>> & {
11
11
  /**
12
12
  * If `true`, the field is focused during the first mount.
13
13
  * @default false
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { PickerValue, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
+ import { PickerRangeValue, PickerValidValue, PickerValue } from '@mui/x-date-pickers/internals';
3
3
  import { FieldRef, PickerFieldSlotProps } from '@mui/x-date-pickers/models';
4
4
  import type { UseMultiInputRangeFieldTextFieldProps } from "../hooks/useMultiInputRangeField/index.mjs";
5
5
  export type { FieldRangeSection } from '@mui/x-date-pickers/internals';
@@ -17,9 +17,15 @@ export type MultiInputFieldSlotTextFieldProps<TEnableAccessibleFieldDOMStructure
17
17
  export interface MultiInputFieldSlotRootProps {
18
18
  onBlur?: React.FocusEventHandler;
19
19
  }
20
- export interface MultiInputFieldRefs {
21
- unstableStartFieldRef?: React.Ref<FieldRef<PickerValue>>;
22
- unstableEndFieldRef?: React.Ref<FieldRef<PickerValue>>;
20
+ export interface MultiInputFieldRefs<TValue extends PickerValidValue = PickerValue> {
21
+ /**
22
+ * The ref object used to interact with the start field imperatively.
23
+ */
24
+ startFieldRef?: React.Ref<FieldRef<TValue> | null>;
25
+ /**
26
+ * The ref object used to interact with the end field imperatively.
27
+ */
28
+ endFieldRef?: React.Ref<FieldRef<TValue> | null>;
23
29
  }
24
30
  export interface RangeFieldSeparatorProps {
25
31
  /**
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { PickerValue, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
+ import { PickerRangeValue, PickerValidValue, PickerValue } from '@mui/x-date-pickers/internals';
3
3
  import { FieldRef, PickerFieldSlotProps } from '@mui/x-date-pickers/models';
4
4
  import type { UseMultiInputRangeFieldTextFieldProps } from "../hooks/useMultiInputRangeField/index.js";
5
5
  export type { FieldRangeSection } from '@mui/x-date-pickers/internals';
@@ -17,9 +17,15 @@ export type MultiInputFieldSlotTextFieldProps<TEnableAccessibleFieldDOMStructure
17
17
  export interface MultiInputFieldSlotRootProps {
18
18
  onBlur?: React.FocusEventHandler;
19
19
  }
20
- export interface MultiInputFieldRefs {
21
- unstableStartFieldRef?: React.Ref<FieldRef<PickerValue>>;
22
- unstableEndFieldRef?: React.Ref<FieldRef<PickerValue>>;
20
+ export interface MultiInputFieldRefs<TValue extends PickerValidValue = PickerValue> {
21
+ /**
22
+ * The ref object used to interact with the start field imperatively.
23
+ */
24
+ startFieldRef?: React.Ref<FieldRef<TValue> | null>;
25
+ /**
26
+ * The ref object used to interact with the end field imperatively.
27
+ */
28
+ endFieldRef?: React.Ref<FieldRef<TValue> | null>;
23
29
  }
24
30
  export interface RangeFieldSeparatorProps {
25
31
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "9.0.0-alpha.3",
3
+ "version": "9.0.0-beta.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Pro plan edition of the MUI X Date and Time Picker components.",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -35,9 +35,9 @@
35
35
  "clsx": "^2.1.1",
36
36
  "prop-types": "^15.8.1",
37
37
  "react-transition-group": "^4.4.5",
38
- "@mui/x-internals": "9.0.0-alpha.2",
39
- "@mui/x-license": "9.0.0-alpha.3",
40
- "@mui/x-date-pickers": "9.0.0-alpha.3"
38
+ "@mui/x-date-pickers": "9.0.0-alpha.4",
39
+ "@mui/x-license": "9.0.0-beta.0",
40
+ "@mui/x-internals": "9.0.0-alpha.4"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@emotion/react": "^11.9.0",