@mui/x-date-pickers 9.0.2 → 9.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/AdapterDateFnsBase/AdapterDateFnsBase.js +14 -0
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.mjs +14 -0
  3. package/AdapterDayjs/AdapterDayjs.js +1 -13
  4. package/AdapterDayjs/AdapterDayjs.mjs +1 -13
  5. package/AdapterMoment/AdapterMoment.js +6 -0
  6. package/AdapterMoment/AdapterMoment.mjs +6 -0
  7. package/CHANGELOG.md +223 -0
  8. package/PickersLayout/PickersLayout.js +12 -7
  9. package/PickersLayout/PickersLayout.mjs +12 -7
  10. package/PickersLayout/PickersLayout.types.d.mts +1 -1
  11. package/PickersLayout/PickersLayout.types.d.ts +1 -1
  12. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +2 -2
  13. package/PickersTextField/PickersFilledInput/PickersFilledInput.mjs +2 -2
  14. package/PickersTextField/PickersInput/PickersInput.js +2 -2
  15. package/PickersTextField/PickersInput/PickersInput.mjs +2 -2
  16. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  17. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.mjs +3 -3
  18. package/index.js +1 -1
  19. package/index.mjs +1 -1
  20. package/internals/components/PickerPopper/PickerPopper.js +1 -1
  21. package/internals/components/PickerPopper/PickerPopper.mjs +1 -1
  22. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  23. package/internals/hooks/useDesktopPicker/useDesktopPicker.mjs +2 -0
  24. package/internals/hooks/useField/useField.utils.js +22 -2
  25. package/internals/hooks/useField/useField.utils.mjs +22 -2
  26. package/internals/hooks/useField/useFieldRootProps.js +1 -1
  27. package/internals/hooks/useField/useFieldRootProps.mjs +1 -1
  28. package/internals/hooks/useMobilePicker/useMobilePicker.js +2 -0
  29. package/internals/hooks/useMobilePicker/useMobilePicker.mjs +2 -0
  30. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -1
  31. package/internals/hooks/useStaticPicker/useStaticPicker.mjs +2 -2
  32. package/internals/index.d.mts +1 -1
  33. package/internals/index.d.ts +1 -1
  34. package/internals/index.js +6 -0
  35. package/internals/index.mjs +1 -1
  36. package/internals/utils/utils.d.mts +6 -0
  37. package/internals/utils/utils.d.ts +6 -0
  38. package/internals/utils/utils.js +18 -1
  39. package/internals/utils/utils.mjs +15 -0
  40. package/package.json +123 -123
@@ -157,6 +157,20 @@ const formatTokenMap = {
157
157
  maxLength: 2
158
158
  },
159
159
  hh: 'hours',
160
+ // Hour [0-11] (12h cycle, 0-based) — date-fns only
161
+ K: {
162
+ sectionType: 'hours',
163
+ contentType: 'digit',
164
+ maxLength: 2
165
+ },
166
+ KK: 'hours',
167
+ // Hour [1-24] (24h cycle, 1-based) — date-fns only
168
+ k: {
169
+ sectionType: 'hours',
170
+ contentType: 'digit',
171
+ maxLength: 2
172
+ },
173
+ kk: 'hours',
160
174
  // Minutes
161
175
  m: {
162
176
  sectionType: 'minutes',
@@ -150,6 +150,20 @@ const formatTokenMap = {
150
150
  maxLength: 2
151
151
  },
152
152
  hh: 'hours',
153
+ // Hour [0-11] (12h cycle, 0-based) — date-fns only
154
+ K: {
155
+ sectionType: 'hours',
156
+ contentType: 'digit',
157
+ maxLength: 2
158
+ },
159
+ KK: 'hours',
160
+ // Hour [1-24] (24h cycle, 1-based) — date-fns only
161
+ k: {
162
+ sectionType: 'hours',
163
+ contentType: 'digit',
164
+ maxLength: 2
165
+ },
166
+ kk: 'hours',
153
167
  // Minutes
154
168
  m: {
155
169
  sectionType: 'minutes',
@@ -218,19 +218,7 @@ class AdapterDayjs {
218
218
  }
219
219
  };
220
220
  createSystemDate = value => {
221
- let date;
222
- if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {
223
- const timezone = _dayjs.default.tz.guess();
224
- if (timezone === 'UTC') {
225
- date = (0, _dayjs.default)(value);
226
- } /* v8 ignore next 3 */else {
227
- // We can't change the system timezone in the tests
228
- date = _dayjs.default.tz(value, timezone);
229
- }
230
- } else {
231
- date = (0, _dayjs.default)(value);
232
- }
233
- return this.setLocaleToValue(date);
221
+ return this.setLocaleToValue((0, _dayjs.default)(value));
234
222
  };
235
223
  createUTCDate = value => {
236
224
  /* v8 ignore next 3 */
@@ -208,19 +208,7 @@ export class AdapterDayjs {
208
208
  }
209
209
  };
210
210
  createSystemDate = value => {
211
- let date;
212
- if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {
213
- const timezone = dayjs.tz.guess();
214
- if (timezone === 'UTC') {
215
- date = dayjs(value);
216
- } /* v8 ignore next 3 */else {
217
- // We can't change the system timezone in the tests
218
- date = dayjs.tz(value, timezone);
219
- }
220
- } else {
221
- date = dayjs(value);
222
- }
223
- return this.setLocaleToValue(date);
211
+ return this.setLocaleToValue(dayjs(value));
224
212
  };
225
213
  createUTCDate = value => {
226
214
  /* v8 ignore next 3 */
@@ -89,6 +89,12 @@ const formatTokenMap = {
89
89
  maxLength: 2
90
90
  },
91
91
  hh: 'hours',
92
+ k: {
93
+ sectionType: 'hours',
94
+ contentType: 'digit',
95
+ maxLength: 2
96
+ },
97
+ kk: 'hours',
92
98
  // Minutes
93
99
  m: {
94
100
  sectionType: 'minutes',
@@ -82,6 +82,12 @@ const formatTokenMap = {
82
82
  maxLength: 2
83
83
  },
84
84
  hh: 'hours',
85
+ k: {
86
+ sectionType: 'hours',
87
+ contentType: 'digit',
88
+ maxLength: 2
89
+ },
90
+ kk: 'hours',
85
91
  // Minutes
86
92
  m: {
87
93
  sectionType: 'minutes',
package/CHANGELOG.md CHANGED
@@ -1,5 +1,228 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.4
4
+
5
+ _Apr 28, 2026_
6
+
7
+ We'd like to extend a big thank you to the 4 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - Fix Pickers previous (v9.0.3) release ensuring the latest `@mui/x-internals` version usage
10
+
11
+ The following team members contributed to this release:
12
+ @alexfauquette, @JCQuintas, @LukasTy, @mj12albert
13
+
14
+ ### Data Grid
15
+
16
+ #### `@mui/x-data-grid@9.0.4`
17
+
18
+ Internal changes.
19
+
20
+ #### `@mui/x-data-grid-pro@9.0.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
21
+
22
+ Same changes as in `@mui/x-data-grid@9.0.4`.
23
+
24
+ #### `@mui/x-data-grid-premium@9.0.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
25
+
26
+ Same changes as in `@mui/x-data-grid-pro@9.0.4`.
27
+
28
+ ### Date and Time Pickers
29
+
30
+ #### `@mui/x-date-pickers@9.0.4`
31
+
32
+ Internal changes.
33
+
34
+ #### `@mui/x-date-pickers-pro@9.0.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
35
+
36
+ Same changes as in `@mui/x-date-pickers@9.0.4`.
37
+
38
+ ### Charts
39
+
40
+ #### `@mui/x-charts@9.0.4`
41
+
42
+ - [charts] Exclude hidden series and items from keyboard navigation (alt approach) (#22221) @JCQuintas
43
+ - [charts] Fix line interaction with `area` and `conectNulls` (#22227) @alexfauquette
44
+ - [charts] Implement the continuous case of `getAxisIndex` for rotation axis (#22230) @alexfauquette
45
+
46
+ #### `@mui/x-charts-pro@9.0.4` [![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-charts@9.0.4`.
49
+
50
+ #### `@mui/x-charts-premium@9.0.4` [![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-charts-pro@9.0.4` plus:
53
+
54
+ - [charts-premium] Add `showMark` and `shape` properties to radial line (#22226) @alexfauquette
55
+
56
+ ### Tree View
57
+
58
+ #### `@mui/x-tree-view@9.0.4`
59
+
60
+ Internal changes.
61
+
62
+ #### `@mui/x-tree-view-pro@9.0.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
63
+
64
+ Same changes as in `@mui/x-tree-view@9.0.4`.
65
+
66
+ ### Scheduler
67
+
68
+ #### `@mui/x-scheduler@9.0.4`
69
+
70
+ Internal changes.
71
+
72
+ #### `@mui/x-scheduler-premium@9.0.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
73
+
74
+ Same changes as in `@mui/x-scheduler@9.0.4`.
75
+
76
+ ### Codemod
77
+
78
+ #### `@mui/x-codemod@9.0.4`
79
+
80
+ Internal changes.
81
+
82
+ ### Docs
83
+
84
+ - [docs] Update WCAG links (#22234) @mj12albert
85
+
86
+ ### Core
87
+
88
+ - [code-infra] Avoid overriding `renovate` `ignoredPaths` (#22228) @LukasTy
89
+
90
+ ## 9.0.3
91
+
92
+ _Apr 27, 2026_
93
+
94
+ We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
95
+
96
+ - ⌨️ Keyboard support for creating events in the Scheduler
97
+
98
+ Special thanks go out to these community members for their valuable contributions:
99
+ @supunsathsara, @ZAKIURREHMAN
100
+
101
+ The following team members contributed to this release:
102
+ @aemartos, @alexfauquette, @arminmeh, @brijeshb42, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
103
+
104
+ ### Data Grid
105
+
106
+ #### `@mui/x-data-grid@9.0.3`
107
+
108
+ - [DataGrid] Fix `:first-child` SSR warning when `MuiDataGrid.styleOverrides` is set (#22081) @siriwatknp
109
+ - [DataGrid] Fix row reordering when filter hides rows (#22096) @siriwatknp
110
+ - [DataGrid] Remove unused `LayoutDataGridLegacy` class (#22009) @romgrk
111
+ - [DataGrid] Remove unused code, clean up grid-related utilities and deprecate `GridPanelHeader` (#22112) @sai6855
112
+ - [DataGrid] Fix columns cutting off after resizing (#22088) @ZAKIURREHMAN
113
+
114
+ #### `@mui/x-data-grid-pro@9.0.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
115
+
116
+ Same changes as in `@mui/x-data-grid@9.0.3`.
117
+
118
+ #### `@mui/x-data-grid-premium@9.0.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
119
+
120
+ Same changes as in `@mui/x-data-grid-pro@9.0.3`, plus:
121
+
122
+ - [DataGridPremium] Fix row grouping model updates not being reflected (#22122) @MBilalShafi
123
+
124
+ ### Date and Time Pickers
125
+
126
+ #### `@mui/x-date-pickers@9.0.3`
127
+
128
+ - [pickers] Fix `DateRangeCalendar` drag with `AdapterDayjs` plain-constructor values (#22165) @LukasTy
129
+ - [pickers] Fix disabled state not overriding error border color (#21169) @supunsathsara
130
+ - [pickers] Forward `data-*` and `aria-*` attributes to the root (#22147) @LukasTy
131
+ - [pickers] Support `K` and `k` hour format tokens (#22108) @michelengelen
132
+
133
+ #### `@mui/x-date-pickers-pro@9.0.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
134
+
135
+ Same changes as in `@mui/x-date-pickers@9.0.3`, plus:
136
+
137
+ - [DateRangeCalendar] Ensure date dragging triggers regardless of trigger element (#21868) @michelengelen
138
+
139
+ ### Charts
140
+
141
+ #### `@mui/x-charts@9.0.3`
142
+
143
+ - [charts] Centralize WebGL clear/render cycle (context-based) (#22127) @JCQuintas
144
+ - [charts] Fix closest series detection for line charts (#22168) @alexfauquette
145
+ - [charts] Fix radius grid lines when axis uses point scale (#22134) @alexfauquette
146
+ - [charts] Use cubic solver for berzier intersection (#22152) @alexfauquette
147
+
148
+ #### `@mui/x-charts-pro@9.0.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
149
+
150
+ Same changes as in `@mui/x-charts@9.0.3`, plus:
151
+
152
+ - [charts-pro] Fix wheel zoom clamping with custom `minStart`/`maxEnd` (#22159) @JCQuintas
153
+
154
+ #### `@mui/x-charts-premium@9.0.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
155
+
156
+ Same changes as in `@mui/x-charts-pro@9.0.3`, plus:
157
+
158
+ - [charts] Create a `'radialLine'` series type (#22066) @alexfauquette
159
+ - [charts] Plot radial line (#22133) @alexfauquette
160
+ - [charts] Remove `HeatmapWebGLRenderer` indirection (#22169) @JCQuintas
161
+
162
+ ### Tree View
163
+
164
+ #### `@mui/x-tree-view@9.0.2`
165
+
166
+ Internal changes.
167
+
168
+ #### `@mui/x-tree-view-pro@9.0.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
169
+
170
+ Same changes as in `@mui/x-tree-view@9.0.2`.
171
+
172
+ ### Scheduler
173
+
174
+ #### Breaking changes
175
+
176
+ - The `views` of `EventTimelinePremium` have been renamed to `presets`, with names that describe the header layout. The props `view`/`defaultView`/`views`/`onViewChange` are now `preset`/`defaultPreset`/`presets`/`onPresetChange`, and the type `EventTimelinePremiumView` is now `EventTimelinePremiumPreset`.
177
+
178
+ | Old | New |
179
+ | :------- | :------------- |
180
+ | `time` | `dayAndHour` |
181
+ | `days` | `day` |
182
+ | `weeks` | `dayAndWeek` |
183
+ | `months` | `monthAndYear` |
184
+ | `years` | `year` |
185
+
186
+ CSS variables (`--time-cell-width`, etc.) and headless store state (`state.view`, `setView`) follow the same rename. The `presets` array is now sorted internally against a canonical zoom order.
187
+
188
+ #### `@mui/x-scheduler@9.0.0-alpha.3`
189
+
190
+ - [scheduler] Allow creating events via keyboard - EventCalendar (#21967) @rita-codes
191
+ - [scheduler] Prefix element IDs with a unique Scheduler instance ID (#22109) @rita-codes
192
+
193
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
194
+
195
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.3`.
196
+
197
+ - [scheduler] Allow creating events via keyboard - `EventTimeline` (#22119) @rita-codes
198
+ - [scheduler] Rename `EventTimeline` `views` to ordered presets (#22130) @rita-codes
199
+
200
+ ### Docs
201
+
202
+ - [docs] Cleanup generated llm md files for chat (#22163) @brijeshb42
203
+ - [docs] Fix `highlightScope` description (#22154) @alexfauquette
204
+ - [docs] Remove obsolete v7 deprecation warning for `dayOfWeekFormatter` (#22111) @LukasTy
205
+ - [docs] Use mui.com for broken links checker known targets (#22129) @JCQuintas
206
+ - [docs] Document picker behavior inside MUI `Dialog` and provide recommended solutions (#22144) @michelengelen
207
+ - [docs] Improve v9 license key version mismatch error guidance (#22180) @aemartos
208
+
209
+ ### Core
210
+
211
+ - [code-infra] Reduce concurrency for package build to 5 (#22115) @Janpot
212
+ - [code-infra] Rename `docsx` alias to `docs` (#22155) @brijeshb42
213
+ - [docs-infra] Remove monorepo dependency (#22025) @brijeshb42
214
+ - [docs-infra] Use latest published packages (#22086) @brijeshb42
215
+ - [test] Refactor Pickers tests to async user-event (#22043) @LukasTy
216
+ - [test] Remove redundant explicit `unmount()` calls from Pickers tests (#22118) @LukasTy
217
+
218
+ ### Miscellaneous
219
+
220
+ - [infra] Update `.gitignore` to exclude `.claude/worktrees` (#22145) @michelengelen
221
+ - [infra] Enable branch tracking when creating release branch (#22177) @michelengelen
222
+ - [license] Add MIT license to `x-virtualizer` package (#22164) @michelengelen
223
+ - [website] Fix outdated MUI logos (#22117) @oliviertassinari
224
+ - [internal] Try avoiding store update when virtualization is disabled (#22093) @arminmeh
225
+
3
226
  ## 9.0.2
4
227
 
5
228
  <!-- generated comparing v9.0.1..master -->
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.PickersLayoutRoot = exports.PickersLayoutContentWrapper = exports.PickersLayout = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
12
  var React = _interopRequireWildcard(require("react"));
11
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
14
  var _clsx = _interopRequireDefault(require("clsx"));
@@ -16,6 +18,7 @@ var _pickersLayoutClasses = require("./pickersLayoutClasses");
16
18
  var _usePickerLayout = _interopRequireDefault(require("./usePickerLayout"));
17
19
  var _usePickerContext = require("../hooks/usePickerContext");
18
20
  var _jsxRuntime = require("react/jsx-runtime");
21
+ const _excluded = ["sx", "className", "classes", "children", "slots", "slotProps"];
19
22
  const useUtilityClasses = (classes, ownerState) => {
20
23
  const {
21
24
  pickerOrientation
@@ -126,16 +129,18 @@ const PickersLayout = exports.PickersLayout = /*#__PURE__*/React.forwardRef(func
126
129
  variant
127
130
  } = (0, _usePickerContext.usePickerContext)();
128
131
  const {
129
- sx,
130
- className,
131
- classes: classesProp
132
- } = props;
132
+ sx,
133
+ className,
134
+ classes: classesProp
135
+ } = props,
136
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
133
137
  const classes = useUtilityClasses(classesProp, ownerState);
134
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersLayoutRoot, {
138
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersLayoutRoot, (0, _extends2.default)({
135
139
  ref: ref,
136
140
  sx: sx,
137
141
  className: (0, _clsx.default)(classes.root, className),
138
- ownerState: ownerState,
142
+ ownerState: ownerState
143
+ }, other, {
139
144
  children: [orientation === 'landscape' ? shortcuts : toolbar, orientation === 'landscape' ? toolbar : shortcuts, /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersLayoutContentWrapper, {
140
145
  className: classes.contentWrapper,
141
146
  ownerState: ownerState,
@@ -145,7 +150,7 @@ const PickersLayout = exports.PickersLayout = /*#__PURE__*/React.forwardRef(func
145
150
  children: [tabs, content]
146
151
  })
147
152
  }), actionBar]
148
- });
153
+ }));
149
154
  });
150
155
  if (process.env.NODE_ENV !== "production") PickersLayout.displayName = "PickersLayout";
151
156
  process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
@@ -1,5 +1,8 @@
1
1
  'use client';
2
2
 
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
+ const _excluded = ["sx", "className", "classes", "children", "slots", "slotProps"];
3
6
  import * as React from 'react';
4
7
  import PropTypes from 'prop-types';
5
8
  import clsx from 'clsx';
@@ -119,16 +122,18 @@ const PickersLayout = /*#__PURE__*/React.forwardRef(function PickersLayout(inPro
119
122
  variant
120
123
  } = usePickerContext();
121
124
  const {
122
- sx,
123
- className,
124
- classes: classesProp
125
- } = props;
125
+ sx,
126
+ className,
127
+ classes: classesProp
128
+ } = props,
129
+ other = _objectWithoutPropertiesLoose(props, _excluded);
126
130
  const classes = useUtilityClasses(classesProp, ownerState);
127
- return /*#__PURE__*/_jsxs(PickersLayoutRoot, {
131
+ return /*#__PURE__*/_jsxs(PickersLayoutRoot, _extends({
128
132
  ref: ref,
129
133
  sx: sx,
130
134
  className: clsx(classes.root, className),
131
- ownerState: ownerState,
135
+ ownerState: ownerState
136
+ }, other, {
132
137
  children: [orientation === 'landscape' ? shortcuts : toolbar, orientation === 'landscape' ? toolbar : shortcuts, /*#__PURE__*/_jsx(PickersLayoutContentWrapper, {
133
138
  className: classes.contentWrapper,
134
139
  ownerState: ownerState,
@@ -138,7 +143,7 @@ const PickersLayout = /*#__PURE__*/React.forwardRef(function PickersLayout(inPro
138
143
  children: [tabs, content]
139
144
  })
140
145
  }), actionBar]
141
- });
146
+ }));
142
147
  });
143
148
  if (process.env.NODE_ENV !== "production") PickersLayout.displayName = "PickersLayout";
144
149
  process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
@@ -74,7 +74,7 @@ export interface PickersLayoutSlotProps<TValue extends PickerValidValue> extends
74
74
  */
75
75
  toolbar?: ExportedBaseToolbarProps;
76
76
  }
77
- export interface PickersLayoutProps<TValue extends PickerValidValue> {
77
+ export interface PickersLayoutProps<TValue extends PickerValidValue> extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'className'> {
78
78
  className?: string;
79
79
  children?: React.ReactNode;
80
80
  /**
@@ -74,7 +74,7 @@ export interface PickersLayoutSlotProps<TValue extends PickerValidValue> extends
74
74
  */
75
75
  toolbar?: ExportedBaseToolbarProps;
76
76
  }
77
- export interface PickersLayoutProps<TValue extends PickerValidValue> {
77
+ export interface PickersLayoutProps<TValue extends PickerValidValue> extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'className'> {
78
78
  className?: string;
79
79
  children?: React.ReactNode;
80
80
  /**
@@ -75,7 +75,7 @@ const PickersFilledInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInp
75
75
  '&::after': {
76
76
  left: 0,
77
77
  bottom: 0,
78
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
78
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
79
79
  content: '""',
80
80
  position: 'absolute',
81
81
  right: 0,
@@ -100,7 +100,7 @@ const PickersFilledInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInp
100
100
  borderBottom: `1px solid ${theme.vars ? theme.alpha(theme.vars.palette.common.onBackground, theme.vars.opacity.inputUnderline) : bottomLineColor}`,
101
101
  left: 0,
102
102
  bottom: 0,
103
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
103
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
104
104
  content: '"\\00a0"',
105
105
  position: 'absolute',
106
106
  right: 0,
@@ -68,7 +68,7 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
68
68
  '&::after': {
69
69
  left: 0,
70
70
  bottom: 0,
71
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
71
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
72
72
  content: '""',
73
73
  position: 'absolute',
74
74
  right: 0,
@@ -93,7 +93,7 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
93
93
  borderBottom: `1px solid ${theme.vars ? theme.alpha(theme.vars.palette.common.onBackground, theme.vars.opacity.inputUnderline) : bottomLineColor}`,
94
94
  left: 0,
95
95
  bottom: 0,
96
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
96
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
97
97
  content: '"\\00a0"',
98
98
  position: 'absolute',
99
99
  right: 0,
@@ -59,7 +59,7 @@ const PickersInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInputBase
59
59
  background: 'red',
60
60
  left: 0,
61
61
  bottom: 0,
62
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
62
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
63
63
  content: '""',
64
64
  position: 'absolute',
65
65
  right: 0,
@@ -84,7 +84,7 @@ const PickersInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersInputBase
84
84
  borderBottom: `1px solid ${bottomLineColor}`,
85
85
  left: 0,
86
86
  bottom: 0,
87
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
87
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
88
88
  content: '"\\00a0"',
89
89
  position: 'absolute',
90
90
  right: 0,
@@ -52,7 +52,7 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
52
52
  background: 'red',
53
53
  left: 0,
54
54
  bottom: 0,
55
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
55
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
56
56
  content: '""',
57
57
  position: 'absolute',
58
58
  right: 0,
@@ -77,7 +77,7 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
77
77
  borderBottom: `1px solid ${bottomLineColor}`,
78
78
  left: 0,
79
79
  bottom: 0,
80
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
80
+ // Doing the other way around crash on IE 11 "''" https://github.com/cssinjs/jss/issues/242
81
81
  content: '"\\00a0"',
82
82
  position: 'absolute',
83
83
  right: 0,
@@ -44,6 +44,9 @@ const PickersOutlinedInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersI
44
44
  borderStyle: 'solid',
45
45
  borderWidth: 2
46
46
  },
47
+ [`&.${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.error} .${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.notchedOutline}`]: {
48
+ borderColor: (theme.vars || theme).palette.error.main
49
+ },
47
50
  [`&.${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.disabled}`]: {
48
51
  [`& .${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.notchedOutline}`]: {
49
52
  borderColor: (theme.vars || theme).palette.action.disabled
@@ -52,9 +55,6 @@ const PickersOutlinedInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersI
52
55
  color: (theme.vars || theme).palette.action.disabled
53
56
  }
54
57
  },
55
- [`&.${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.error} .${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.notchedOutline}`]: {
56
- borderColor: (theme.vars || theme).palette.error.main
57
- },
58
58
  variants: Object.keys((theme.vars ?? theme).palette)
59
59
  // @ts-ignore
60
60
  .filter(key => (theme.vars ?? theme).palette[key]?.main ?? false).map(color => ({
@@ -37,6 +37,9 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
37
37
  borderStyle: 'solid',
38
38
  borderWidth: 2
39
39
  },
40
+ [`&.${pickersOutlinedInputClasses.error} .${pickersOutlinedInputClasses.notchedOutline}`]: {
41
+ borderColor: (theme.vars || theme).palette.error.main
42
+ },
40
43
  [`&.${pickersOutlinedInputClasses.disabled}`]: {
41
44
  [`& .${pickersOutlinedInputClasses.notchedOutline}`]: {
42
45
  borderColor: (theme.vars || theme).palette.action.disabled
@@ -45,9 +48,6 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
45
48
  color: (theme.vars || theme).palette.action.disabled
46
49
  }
47
50
  },
48
- [`&.${pickersOutlinedInputClasses.error} .${pickersOutlinedInputClasses.notchedOutline}`]: {
49
- borderColor: (theme.vars || theme).palette.error.main
50
- },
51
51
  variants: Object.keys((theme.vars ?? theme).palette)
52
52
  // @ts-ignore
53
53
  .filter(key => (theme.vars ?? theme).palette[key]?.main ?? false).map(color => ({
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v9.0.2
2
+ * @mui/x-date-pickers v9.0.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v9.0.2
2
+ * @mui/x-date-pickers v9.0.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -112,7 +112,7 @@ function useClickAwayListener(active, onClickAway) {
112
112
  syntheticEventRef.current = false;
113
113
  const doc = (0, _ownerDocument.default)(nodeRef.current);
114
114
 
115
- // 1. IE11 support, which trigger the handleClickAway even after the unbind
115
+ // 1. IE 11 support, which trigger the handleClickAway even after the unbind
116
116
  // 2. The child might render null.
117
117
  // 3. Behave like a blur listener.
118
118
  if (!nodeRef.current ||
@@ -105,7 +105,7 @@ function useClickAwayListener(active, onClickAway) {
105
105
  syntheticEventRef.current = false;
106
106
  const doc = ownerDocument(nodeRef.current);
107
107
 
108
- // 1. IE11 support, which trigger the handleClickAway even after the unbind
108
+ // 1. IE 11 support, which trigger the handleClickAway even after the unbind
109
109
  // 2. The child might render null.
110
110
  // 3. Behave like a blur listener.
111
111
  if (!nodeRef.current ||
@@ -13,6 +13,7 @@ var _usePicker = require("../usePicker");
13
13
  var _PickersLayout = require("../../../PickersLayout");
14
14
  var _PickerProvider = require("../../components/PickerProvider");
15
15
  var _createNonRangePickerStepNavigation = require("../../utils/createNonRangePickerStepNavigation");
16
+ var _utils = require("../../utils/utils");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  const _excluded = ["props", "steps"],
18
19
  _excluded2 = ["ownerState"];
@@ -56,6 +57,7 @@ const useDesktopPicker = _ref => {
56
57
  const _useSlotProps = (0, _useSlotProps2.default)({
57
58
  elementType: Field,
58
59
  externalSlotProps: innerSlotProps?.field,
60
+ externalForwardedProps: (0, _utils.extractRootForwardedProps)(props),
59
61
  additionalProps: (0, _extends2.default)({}, isToolbarHidden && {
60
62
  id: labelId
61
63
  }),
@@ -8,6 +8,7 @@ import { usePicker } from "../usePicker/index.mjs";
8
8
  import { PickersLayout } from "../../../PickersLayout/index.mjs";
9
9
  import { PickerProvider } from "../../components/PickerProvider.mjs";
10
10
  import { createNonRangePickerStepNavigation } from "../../utils/createNonRangePickerStepNavigation.mjs";
11
+ import { extractRootForwardedProps } from "../../utils/utils.mjs";
11
12
 
12
13
  /**
13
14
  * Hook managing all the single-date desktop pickers:
@@ -50,6 +51,7 @@ export const useDesktopPicker = _ref => {
50
51
  const _useSlotProps = useSlotProps({
51
52
  elementType: Field,
52
53
  externalSlotProps: innerSlotProps?.field,
54
+ externalForwardedProps: extractRootForwardedProps(props),
53
55
  additionalProps: _extends({}, isToolbarHidden && {
54
56
  id: labelId
55
57
  }),