@mui/x-date-pickers-pro 8.26.0 → 8.27.2

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,231 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.27.2
9
+
10
+ _Feb 20, 2026_
11
+
12
+ We'd like to extend a big thank you to the 3 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🐞 Bugfixes
15
+
16
+ ### Data Grid
17
+
18
+ #### `@mui/x-data-grid@8.27.2`
19
+
20
+ Internal changes.
21
+
22
+ #### `@mui/x-data-grid-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
23
+
24
+ Same changes as in `@mui/x-data-grid@8.27.2`, plus:
25
+
26
+ - [DataGridPro] Fix number input visibility in header filters (#21345) @michelengelen
27
+
28
+ #### `@mui/x-data-grid-premium@8.27.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
29
+
30
+ Same changes as in `@mui/x-data-grid-pro@8.27.2`.
31
+
32
+ ### Date and Time Pickers
33
+
34
+ #### `@mui/x-date-pickers@8.27.2`
35
+
36
+ - [DatePicker] Add keyboard support for selecting day, month, and year (#21399) @michelengelen
37
+
38
+ #### `@mui/x-date-pickers-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
39
+
40
+ Same changes as in `@mui/x-date-pickers@8.27.2`, plus:
41
+
42
+ - [DateRangePicker] Fix timezone update issue leading to `invalidRange` error (#21382) @michelengelen
43
+
44
+ ### Charts
45
+
46
+ #### `@mui/x-charts@8.27.2`
47
+
48
+ Internal changes.
49
+
50
+ #### `@mui/x-charts-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
51
+
52
+ Same changes as in `@mui/x-charts@8.27.2`, plus:
53
+
54
+ - [charts-pro] Handle edge case in export image (#21206) @bernardobelchior
55
+
56
+ #### `@mui/x-charts-premium@8.27.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
57
+
58
+ Same changes as in `@mui/x-charts-pro@8.27.2`.
59
+
60
+ ### Tree View
61
+
62
+ #### `@mui/x-tree-view@8.27.2`
63
+
64
+ - [tree view] Focus item sibling on unmount instead of the 1st item (#21386) @flaviendelangle
65
+
66
+ #### `@mui/x-tree-view-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
67
+
68
+ Same changes as in `@mui/x-tree-view@8.27.2`.
69
+
70
+ ### Codemod
71
+
72
+ #### `@mui/x-codemod@8.27.2`
73
+
74
+ Internal changes.
75
+
76
+ ### Core
77
+
78
+ - [code-infra] Only ignore `renovate[bot]` in changelog generation script (#21188) @bernardobelchior
79
+
80
+ ## v8.27.1
81
+
82
+ <!-- generated comparing v8.27.0..v8.x -->
83
+
84
+ _Feb 13, 2026_
85
+
86
+ We'd like to extend a big thank you to the 6 contributors who made this release possible. Here are some highlights ✨:
87
+
88
+ - 📝 CSS bundler support is no longer needed for the Data Grid
89
+ - 🐞 Bugfixes
90
+
91
+ Special thanks go out to these community members for their valuable contributions:
92
+ @sai6855
93
+
94
+ The following team members contributed to this release:
95
+ @arminmeh, @cherniavskii, @flaviendelangle, @mj12albert, @MBilalShafi
96
+
97
+ ### Data Grid
98
+
99
+ #### `@mui/x-data-grid@8.27.1`
100
+
101
+ - [DataGrid] Hide column menu icon when there are no items (#21303) @MBilalShafi
102
+ - [DataGrid] Migrate styled imports and remove `index.css` (#21176) @MBilalShafi
103
+ - [DataGrid] Optimize `GridRootStyles` overrides resolver (#21251) @sai6855
104
+
105
+ #### `@mui/x-data-grid-pro@8.27.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
106
+
107
+ Same changes as in `@mui/x-data-grid@8.27.1`, plus:
108
+
109
+ - [DataGridPro] Fix column pinning issue with `restoreState` (#21305) @MBilalShafi
110
+ - [DataGridPro] Fix lazy loading params for page with one row (#21238) @MBilalShafi
111
+ - [DataGridPro] Properly extract parent path (#21301) @arminmeh
112
+
113
+ #### `@mui/x-data-grid-premium@8.27.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
114
+
115
+ Same changes as in `@mui/x-data-grid-pro@8.27.1`, plus:
116
+
117
+ - [DataGridPremium] Fix aggregation display when `initialState` has both `sortModel` and `pinnedColumns` (#21152) @mj12albert
118
+
119
+ ### Tree View
120
+
121
+ #### `@mui/x-tree-view@8.27.1`
122
+
123
+ - [tree view] Fix `apiRef.current.setItemExpansion()` (#21095) @flaviendelangle
124
+
125
+ #### `@mui/x-tree-view-pro@8.27.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
126
+
127
+ Same changes as in `@mui/x-tree-view@8.27.1`.
128
+
129
+ ### Core
130
+
131
+ - [internal] Add CLI for translation using LLM (#21299) @cherniavskii
132
+
133
+ ## v8.27.0
134
+
135
+ _Feb 2, 2026_
136
+
137
+ We'd like to extend a big thank you to the 8 contributors who made this release possible. Here are some highlights ✨:
138
+
139
+ - 📝 Data Grid supports new `longText` [column type](https://mui.com/x/react-data-grid/column-definition/#column-types)
140
+
141
+ The following team members contributed to this release:
142
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @MBilalShafi, @siriwatknp
143
+
144
+ ### Data Grid
145
+
146
+ #### `@mui/x-data-grid@8.27.0`
147
+
148
+ - [DataGrid] Fix virtualization crash by preventing out-of-bounds `focusedVirtualCell` indices (#21123) @cherniavskii
149
+ - [DataGrid] Fix focus steal issue with `<Dialog />` (#21106) @MBilalShafi
150
+ - [DataGrid] Add new `longText` column type (#21103) @siriwatknp
151
+
152
+ #### `@mui/x-data-grid-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
153
+
154
+ Same changes as in `@mui/x-data-grid@8.27.0`.
155
+
156
+ #### `@mui/x-data-grid-premium@8.27.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
157
+
158
+ Same changes as in `@mui/x-data-grid-pro@8.27.0`, plus:
159
+
160
+ - [DataGridPremium] Fix focus retention when undo/redo operations are done on the same cell (#21110) @arminmeh
161
+
162
+ ### Date and Time Pickers
163
+
164
+ #### `@mui/x-date-pickers@8.27.0`
165
+
166
+ Internal changes.
167
+
168
+ #### `@mui/x-date-pickers-pro@8.27.0` [![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-date-pickers@8.27.0`.
171
+
172
+ ### Charts
173
+
174
+ #### `@mui/x-charts@8.27.0`
175
+
176
+ - [charts] Deprecate `AxisId` class in favour of to `data-axis-id` attribute (#21048) @JCQuintas
177
+
178
+ #### `@mui/x-charts-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
179
+
180
+ Same changes as in `@mui/x-charts@8.27.0`, plus:
181
+
182
+ - [charts-pro] Add `onItemClick` to the heatmap (#20817) (#21030) @alexfauquette
183
+
184
+ #### `@mui/x-charts-premium@8.27.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
185
+
186
+ Same changes as in `@mui/x-charts-pro@8.27.0`, plus:
187
+
188
+ - [charts-premium] Fix wrong `defaultSlots` in premium charts (#21052) @bernardobelchior
189
+
190
+ ### Tree View
191
+
192
+ #### `@mui/x-tree-view@8.27.0`
193
+
194
+ Internal changes.
195
+
196
+ #### `@mui/x-tree-view-pro@8.27.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
197
+
198
+ Same changes as in `@mui/x-tree-view@8.27.0`, plus:
199
+
200
+ - [RichTreeViewPro] Do not export `useSimpleTreeViewApiRef()` and `useRichTreeViewApiRef()` from pro package (#21145) @flaviendelangle
201
+
202
+ ### Codemod
203
+
204
+ #### `@mui/x-codemod@8.27.0`
205
+
206
+ Internal changes.
207
+
208
+ ### Docs
209
+
210
+ - [docs] Fix DataGrid's cell edit renderers (@arminmeh) (#21041) @github-actions[bot]
211
+
212
+ ### Core
213
+
214
+ - [code-infra] Add `consistent-type-imports` rule to the grid packages (#21119) @arminmeh
215
+ - [code-infra] Allow user to select target branch if it exists for current major (#21005) @JCQuintas
216
+ - [code-infra] Fix the target branch condition in the release script (#21051) @arminmeh
217
+ - [code-infra] Update docs deploy script to fetch from `v8.x` (#21013) @arminmeh
218
+
219
+ ## 8.26.1
220
+
221
+ _Jan 23, 2026_
222
+
223
+ Release highlight ✨:
224
+
225
+ - 🐞 Hotfix for Data Grid Premium type imports
226
+
227
+ ### Data Grid
228
+
229
+ #### `@mui/x-data-grid-premium@8.26.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
230
+
231
+ - [DataGridPremium] Fix type import (#21033) @arminmeh
232
+
8
233
  ## 8.26.0
9
234
 
10
235
  _Jan 22, 2026_
@@ -37,7 +37,7 @@ var _DateRangePickerDay2 = require("../DateRangePickerDay2");
37
37
  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
- const releaseInfo = "MTc2OTA0MDAwMDAwMA==";
40
+ const releaseInfo = "MTc3MTU0NTYwMDAwMA==";
41
41
  const DateRangeCalendarRoot = (0, _styles.styled)('div', {
42
42
  name: 'MuiDateRangeCalendar',
43
43
  slot: 'Root'
@@ -235,7 +235,7 @@ const DateRangePickerDayRaw = /*#__PURE__*/React.forwardRef(function DateRangePi
235
235
  showDaysOutsideCurrentMonth
236
236
  } = props,
237
237
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
238
- (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc2OTA0MDAwMDAwMA==");
238
+ (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc3MTU0NTYwMDAwMA==");
239
239
  const adapter = (0, _hooks.usePickerAdapter)();
240
240
  const shouldRenderHighlight = isHighlighting && !outsideCurrentMonth;
241
241
  const shouldRenderPreview = isPreviewing && !outsideCurrentMonth;
@@ -30,7 +30,7 @@ import { PickersRangeCalendarHeader } from "../PickersRangeCalendarHeader/index.
30
30
  import { useNullablePickerRangePositionContext } from "../internals/hooks/useNullablePickerRangePositionContext.js";
31
31
  import { dateRangePickerDay2Classes } from "../DateRangePickerDay2/index.js";
32
32
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
- const releaseInfo = "MTc2OTA0MDAwMDAwMA==";
33
+ const releaseInfo = "MTc3MTU0NTYwMDAwMA==";
34
34
  const DateRangeCalendarRoot = styled('div', {
35
35
  name: 'MuiDateRangeCalendar',
36
36
  slot: 'Root'
@@ -228,7 +228,7 @@ const DateRangePickerDayRaw = /*#__PURE__*/React.forwardRef(function DateRangePi
228
228
  showDaysOutsideCurrentMonth
229
229
  } = props,
230
230
  other = _objectWithoutPropertiesLoose(props, _excluded);
231
- useLicenseVerifier('x-date-pickers-pro', "MTc2OTA0MDAwMDAwMA==");
231
+ useLicenseVerifier('x-date-pickers-pro', "MTc3MTU0NTYwMDAwMA==");
232
232
  const adapter = usePickerAdapter();
233
233
  const shouldRenderHighlight = isHighlighting && !outsideCurrentMonth;
234
234
  const shouldRenderPreview = isPreviewing && !outsideCurrentMonth;
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v8.26.0
2
+ * @mui/x-date-pickers-pro v8.27.2
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
@@ -18,7 +18,7 @@ export const useDesktopRangePicker = _ref => {
18
18
  steps
19
19
  } = _ref,
20
20
  pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
21
- useLicenseVerifier('x-date-pickers-pro', "MTc2OTA0MDAwMDAwMA==");
21
+ useLicenseVerifier('x-date-pickers-pro', "MTc3MTU0NTYwMDAwMA==");
22
22
  const {
23
23
  slots,
24
24
  slotProps,
@@ -20,7 +20,7 @@ export const useMobileRangePicker = _ref => {
20
20
  steps
21
21
  } = _ref,
22
22
  pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
23
- useLicenseVerifier('x-date-pickers-pro', "MTc2OTA0MDAwMDAwMA==");
23
+ useLicenseVerifier('x-date-pickers-pro', "MTc3MTU0NTYwMDAwMA==");
24
24
  const {
25
25
  slots,
26
26
  slotProps: innerSlotProps,
@@ -46,9 +46,19 @@ export function calculateRangeChange({
46
46
  nextSelection: 'end',
47
47
  newRange: [newSelectedDate, null]
48
48
  };
49
- return Boolean(start) && adapter.isBeforeDay(newSelectedDate, start) ? truthyResult : {
49
+ if (Boolean(start) && adapter.isBeforeDay(newSelectedDate, start)) {
50
+ return truthyResult;
51
+ }
52
+
53
+ // If we're selecting the same day as the start, but the time would make the range invalid,
54
+ // set the end to the end of the day instead
55
+ let adjustedEndDate = newSelectedDate;
56
+ if (start && newSelectedDate && adapter.isSameDay(start, newSelectedDate) && adapter.isBefore(newSelectedDate, start)) {
57
+ adjustedEndDate = adapter.endOfDay(newSelectedDate);
58
+ }
59
+ return {
50
60
  nextSelection: 'start',
51
- newRange: [start, newSelectedDate]
61
+ newRange: [start, adjustedEndDate]
52
62
  };
53
63
  }
54
64
  export function calculateRangePreview(options) {
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v8.26.0
2
+ * @mui/x-date-pickers-pro v8.27.2
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
@@ -25,7 +25,7 @@ const useDesktopRangePicker = _ref => {
25
25
  steps
26
26
  } = _ref,
27
27
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
28
- (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc2OTA0MDAwMDAwMA==");
28
+ (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc3MTU0NTYwMDAwMA==");
29
29
  const {
30
30
  slots,
31
31
  slotProps,
@@ -27,7 +27,7 @@ const useMobileRangePicker = _ref => {
27
27
  steps
28
28
  } = _ref,
29
29
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
30
- (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc2OTA0MDAwMDAwMA==");
30
+ (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc3MTU0NTYwMDAwMA==");
31
31
  const {
32
32
  slots,
33
33
  slotProps: innerSlotProps,
@@ -54,9 +54,19 @@ function calculateRangeChange({
54
54
  nextSelection: 'end',
55
55
  newRange: [newSelectedDate, null]
56
56
  };
57
- return Boolean(start) && adapter.isBeforeDay(newSelectedDate, start) ? truthyResult : {
57
+ if (Boolean(start) && adapter.isBeforeDay(newSelectedDate, start)) {
58
+ return truthyResult;
59
+ }
60
+
61
+ // If we're selecting the same day as the start, but the time would make the range invalid,
62
+ // set the end to the end of the day instead
63
+ let adjustedEndDate = newSelectedDate;
64
+ if (start && newSelectedDate && adapter.isSameDay(start, newSelectedDate) && adapter.isBefore(newSelectedDate, start)) {
65
+ adjustedEndDate = adapter.endOfDay(newSelectedDate);
66
+ }
67
+ return {
58
68
  nextSelection: 'start',
59
- newRange: [start, newSelectedDate]
69
+ newRange: [start, adjustedEndDate]
60
70
  };
61
71
  }
62
72
  function calculateRangePreview(options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "8.26.0",
3
+ "version": "8.27.2",
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-date-pickers": "8.26.0",
39
38
  "@mui/x-internals": "8.26.0",
40
- "@mui/x-license": "8.26.0"
39
+ "@mui/x-license": "8.26.0",
40
+ "@mui/x-date-pickers": "8.27.2"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@emotion/react": "^11.9.0",