@mui/x-date-pickers 7.21.0 → 7.22.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,86 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.22.0
7
+
8
+ _Oct 25, 2024_
9
+
10
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🛰 Introduce [server-side support for Data Grid row grouping](https://mui.com/x/react-data-grid/server-side-data/row-grouping/)
13
+ - 🐞 Bugfixes
14
+ - 📚 Documentation improvements
15
+ - 🌍 Improve Portuguese (pt-BR) locale on the Data Grid component
16
+
17
+ Special thanks go out to the community contributors who have helped make this release possible:
18
+ @clins1994, @GITPHLAP, @k-rajat19, @kalyan90, @merotosc, @yash49.
19
+ Following are all team members who have contributed to this release:
20
+ @cherniavskii, @flaviendelangle, @LukasTy, @MBilalShafi, @romgrk.
21
+
22
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
23
+
24
+ ### Data Grid
25
+
26
+ #### `@mui/x-data-grid@7.22.0`
27
+
28
+ - [DataGrid] Fix `GridPanelAnchor` positioning (#15022) @k-rajat19
29
+ - [DataGrid] Fix ugly prop-types for the `pageStyle` prop of the `GridPrintExportMenuItem` component (#15015) @flaviendelangle
30
+ - [DataGrid] Fix value type in filter model for number and boolean column type (#14733) @k-rajat19
31
+ - [DataGrid] Focus next row when the focused row is deleted (#15067) @cherniavskii
32
+ - [DataGrid] Remove some usages of `<Box />` and `<Badge />` (#15013) @romgrk
33
+ - [DataGrid] Fix number of rows to display for page size options with negative value (#14890) @kalyan90
34
+ - [l10n] Improve Portuguese (pt-BR) locale (#15021) @k-rajat19
35
+
36
+ #### `@mui/x-data-grid-pro@7.22.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
37
+
38
+ Same changes as in `@mui/x-data-grid@7.22.0`, plus:
39
+
40
+ - [DataGridPro] Fix column pinning layout (#15073) @cherniavskii
41
+
42
+ #### `@mui/x-data-grid-premium@7.22.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
43
+
44
+ Same changes as in `@mui/x-data-grid-pro@7.22.0`, plus:
45
+
46
+ - [DataGridPremium] Server-side data source with row grouping (#15109) @MBilalShafi
47
+
48
+ ### Date and Time Pickers
49
+
50
+ #### `@mui/x-date-pickers@7.22.0`
51
+
52
+ - [pickers] Fix `DateCalendar` timezone management (#15119) @LukasTy
53
+ - [pickers] Fix `DigitalClock` time options on a `DST` switch day (#15092) @LukasTy
54
+
55
+ #### `@mui/x-date-pickers-pro@7.22.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
56
+
57
+ Same changes as in `@mui/x-date-pickers@7.22.0`.
58
+
59
+ ### Charts
60
+
61
+ #### `@mui/x-charts@7.22.0`
62
+
63
+ - [charts] Export data type in `onAxisClick(_, data)` callback (#15038) @clins1994
64
+
65
+ #### `@mui/x-charts-pro@7.0.0-beta.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
66
+
67
+ Same changes as in `@mui/x-charts@7.22.0`.
68
+
69
+ ### Tree View
70
+
71
+ #### `@mui/x-tree-view@7.22.0`
72
+
73
+ - [TreeView] Make the cancellable event types public (#14992) @flaviendelangle
74
+
75
+ ### Docs
76
+
77
+ - [docs] Fix typo in Tree View docs (#15047) @yash49
78
+
79
+ ### Core
80
+
81
+ - [core] Adjust cherry-pick GH actions (#15101) @LukasTy
82
+ - [core] Update prettier target branch (#15100) @MBilalShafi
83
+ - [core] Update some `default-branch-switch` instances for `v7.x` (#15085) @MBilalShafi
84
+ - [test] Revert to using `fireEvent` instead of `userEvent` (#14927) @LukasTy
85
+
6
86
  ## 7.21.0
7
87
 
8
88
  _Oct 17, 2024_
@@ -378,9 +378,8 @@ export function DayCalendar(inProps) {
378
378
  return internalFocusedDay;
379
379
  }, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);
380
380
  const weeksToDisplay = React.useMemo(() => {
381
- const currentMonthWithTimezone = utils.setTimezone(currentMonth, timezone);
382
- const toDisplay = utils.getWeekArray(currentMonthWithTimezone);
383
- let nextMonth = utils.addMonths(currentMonthWithTimezone, 1);
381
+ const toDisplay = utils.getWeekArray(currentMonth);
382
+ let nextMonth = utils.addMonths(currentMonth, 1);
384
383
  while (fixedWeekNumber && toDisplay.length < fixedWeekNumber) {
385
384
  const additionalWeeks = utils.getWeekArray(nextMonth);
386
385
  const hasCommonWeek = utils.isSameDay(toDisplay[toDisplay.length - 1][0], additionalWeeks[0][0]);
@@ -392,7 +391,7 @@ export function DayCalendar(inProps) {
392
391
  nextMonth = utils.addMonths(nextMonth, 1);
393
392
  }
394
393
  return toDisplay;
395
- }, [currentMonth, fixedWeekNumber, utils, timezone]);
394
+ }, [currentMonth, fixedWeekNumber, utils]);
396
395
  return /*#__PURE__*/_jsxs(PickersCalendarDayRoot, {
397
396
  role: "grid",
398
397
  "aria-labelledby": gridLabelId,
@@ -22,7 +22,9 @@ interface ChangeFocusedDayPayload<TDate extends PickerValidDate> {
22
22
  */
23
23
  withoutMonthSwitchingAnimation?: boolean;
24
24
  }
25
- export declare const createCalendarStateReducer: <TDate extends PickerValidDate>(reduceAnimations: boolean, disableSwitchToMonthOnDayFocus: boolean, utils: MuiPickersAdapter<TDate>) => (state: CalendarState<TDate>, action: ReducerAction<"finishMonthSwitchingAnimation"> | ReducerAction<"changeMonth", ChangeMonthPayload<TDate>> | ReducerAction<"changeFocusedDay", ChangeFocusedDayPayload<TDate>>) => CalendarState<TDate>;
25
+ export declare const createCalendarStateReducer: <TDate extends PickerValidDate>(reduceAnimations: boolean, disableSwitchToMonthOnDayFocus: boolean, utils: MuiPickersAdapter<TDate>) => (state: CalendarState<TDate>, action: ReducerAction<"finishMonthSwitchingAnimation"> | ReducerAction<"changeMonth", ChangeMonthPayload<TDate>> | ReducerAction<"changeMonthTimezone", {
26
+ newTimezone: string;
27
+ }> | ReducerAction<"changeFocusedDay", ChangeFocusedDayPayload<TDate>>) => CalendarState<TDate>;
26
28
  interface UseCalendarStateParams<TDate extends PickerValidDate> extends Pick<DateCalendarDefaultizedProps<TDate>, 'value' | 'referenceDate' | 'disableFuture' | 'disablePast' | 'minDate' | 'maxDate' | 'onMonthChange' | 'reduceAnimations' | 'shouldDisableDate'> {
27
29
  disableSwitchToMonthOnDayFocus?: boolean;
28
30
  timezone: PickersTimezone;
@@ -15,6 +15,20 @@ export const createCalendarStateReducer = (reduceAnimations, disableSwitchToMont
15
15
  currentMonth: action.newMonth,
16
16
  isMonthSwitchingAnimating: !reduceAnimations
17
17
  });
18
+ case 'changeMonthTimezone':
19
+ {
20
+ const newTimezone = action.newTimezone;
21
+ if (utils.getTimezone(state.currentMonth) === newTimezone) {
22
+ return state;
23
+ }
24
+ let newCurrentMonth = utils.setTimezone(state.currentMonth, newTimezone);
25
+ if (utils.getMonth(newCurrentMonth) !== utils.getMonth(state.currentMonth)) {
26
+ newCurrentMonth = utils.setMonth(newCurrentMonth, utils.getMonth(state.currentMonth));
27
+ }
28
+ return _extends({}, state, {
29
+ currentMonth: newCurrentMonth
30
+ });
31
+ }
18
32
  case 'finishMonthSwitchingAnimation':
19
33
  return _extends({}, state, {
20
34
  isMonthSwitchingAnimating: false
@@ -61,14 +75,25 @@ export const useCalendarState = params => {
61
75
  referenceDate: referenceDateProp,
62
76
  granularity: SECTION_TYPE_GRANULARITY.day
63
77
  });
64
- }, [] // eslint-disable-line react-hooks/exhaustive-deps
65
- );
78
+ },
79
+ // We want the `referenceDate` to update on prop and `timezone` change (https://github.com/mui/mui-x/issues/10804)
80
+ // eslint-disable-next-line react-hooks/exhaustive-deps
81
+ [referenceDateProp, timezone]);
66
82
  const [calendarState, dispatch] = React.useReducer(reducerFn, {
67
83
  isMonthSwitchingAnimating: false,
68
84
  focusedDay: referenceDate,
69
85
  currentMonth: utils.startOfMonth(referenceDate),
70
86
  slideDirection: 'left'
71
87
  });
88
+
89
+ // Ensure that `calendarState.currentMonth` timezone is updated when `referenceDate` (or timezone changes)
90
+ // https://github.com/mui/mui-x/issues/10804
91
+ React.useEffect(() => {
92
+ dispatch({
93
+ type: 'changeMonthTimezone',
94
+ newTimezone: utils.getTimezone(referenceDate)
95
+ });
96
+ }, [referenceDate, utils]);
72
97
  const handleChangeMonth = React.useCallback(payload => {
73
98
  dispatch(_extends({
74
99
  type: 'changeMonth'
@@ -232,10 +232,14 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
232
232
  return !containsValidTime() || !isValidValue();
233
233
  }, [disableIgnoringDatePartForTimeValidation, utils, minTime, maxTime, disableFuture, now, disablePast, minutesStep, shouldDisableTime]);
234
234
  const timeOptions = React.useMemo(() => {
235
+ const result = [];
235
236
  const startOfDay = utils.startOfDay(valueOrReferenceDate);
236
- return [startOfDay, ...Array.from({
237
- length: Math.ceil(24 * 60 / timeStep) - 1
238
- }, (_, index) => utils.addMinutes(startOfDay, timeStep * (index + 1)))];
237
+ let nextTimeStepOption = startOfDay;
238
+ while (utils.isSameDay(valueOrReferenceDate, nextTimeStepOption)) {
239
+ result.push(nextTimeStepOption);
240
+ nextTimeStepOption = utils.addMinutes(nextTimeStepOption, timeStep);
241
+ }
242
+ return result;
239
243
  }, [valueOrReferenceDate, timeStep, utils]);
240
244
  const focusedOptionIndex = timeOptions.findIndex(option => utils.isEqual(option, valueOrReferenceDate));
241
245
  const handleKeyDown = event => {
@@ -298,7 +302,7 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
298
302
  tabIndex: tabIndex
299
303
  }, clockItemProps, {
300
304
  children: formattedValue
301
- }), formattedValue);
305
+ }), `${option.valueOf()}-${formattedValue}`);
302
306
  })
303
307
  })
304
308
  }));
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.21.0
2
+ * @mui/x-date-pickers v7.22.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -378,9 +378,8 @@ export function DayCalendar(inProps) {
378
378
  return internalFocusedDay;
379
379
  }, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);
380
380
  const weeksToDisplay = React.useMemo(() => {
381
- const currentMonthWithTimezone = utils.setTimezone(currentMonth, timezone);
382
- const toDisplay = utils.getWeekArray(currentMonthWithTimezone);
383
- let nextMonth = utils.addMonths(currentMonthWithTimezone, 1);
381
+ const toDisplay = utils.getWeekArray(currentMonth);
382
+ let nextMonth = utils.addMonths(currentMonth, 1);
384
383
  while (fixedWeekNumber && toDisplay.length < fixedWeekNumber) {
385
384
  const additionalWeeks = utils.getWeekArray(nextMonth);
386
385
  const hasCommonWeek = utils.isSameDay(toDisplay[toDisplay.length - 1][0], additionalWeeks[0][0]);
@@ -392,7 +391,7 @@ export function DayCalendar(inProps) {
392
391
  nextMonth = utils.addMonths(nextMonth, 1);
393
392
  }
394
393
  return toDisplay;
395
- }, [currentMonth, fixedWeekNumber, utils, timezone]);
394
+ }, [currentMonth, fixedWeekNumber, utils]);
396
395
  return /*#__PURE__*/_jsxs(PickersCalendarDayRoot, {
397
396
  role: "grid",
398
397
  "aria-labelledby": gridLabelId,
@@ -15,6 +15,20 @@ export const createCalendarStateReducer = (reduceAnimations, disableSwitchToMont
15
15
  currentMonth: action.newMonth,
16
16
  isMonthSwitchingAnimating: !reduceAnimations
17
17
  });
18
+ case 'changeMonthTimezone':
19
+ {
20
+ const newTimezone = action.newTimezone;
21
+ if (utils.getTimezone(state.currentMonth) === newTimezone) {
22
+ return state;
23
+ }
24
+ let newCurrentMonth = utils.setTimezone(state.currentMonth, newTimezone);
25
+ if (utils.getMonth(newCurrentMonth) !== utils.getMonth(state.currentMonth)) {
26
+ newCurrentMonth = utils.setMonth(newCurrentMonth, utils.getMonth(state.currentMonth));
27
+ }
28
+ return _extends({}, state, {
29
+ currentMonth: newCurrentMonth
30
+ });
31
+ }
18
32
  case 'finishMonthSwitchingAnimation':
19
33
  return _extends({}, state, {
20
34
  isMonthSwitchingAnimating: false
@@ -61,14 +75,25 @@ export const useCalendarState = params => {
61
75
  referenceDate: referenceDateProp,
62
76
  granularity: SECTION_TYPE_GRANULARITY.day
63
77
  });
64
- }, [] // eslint-disable-line react-hooks/exhaustive-deps
65
- );
78
+ },
79
+ // We want the `referenceDate` to update on prop and `timezone` change (https://github.com/mui/mui-x/issues/10804)
80
+ // eslint-disable-next-line react-hooks/exhaustive-deps
81
+ [referenceDateProp, timezone]);
66
82
  const [calendarState, dispatch] = React.useReducer(reducerFn, {
67
83
  isMonthSwitchingAnimating: false,
68
84
  focusedDay: referenceDate,
69
85
  currentMonth: utils.startOfMonth(referenceDate),
70
86
  slideDirection: 'left'
71
87
  });
88
+
89
+ // Ensure that `calendarState.currentMonth` timezone is updated when `referenceDate` (or timezone changes)
90
+ // https://github.com/mui/mui-x/issues/10804
91
+ React.useEffect(() => {
92
+ dispatch({
93
+ type: 'changeMonthTimezone',
94
+ newTimezone: utils.getTimezone(referenceDate)
95
+ });
96
+ }, [referenceDate, utils]);
72
97
  const handleChangeMonth = React.useCallback(payload => {
73
98
  dispatch(_extends({
74
99
  type: 'changeMonth'
@@ -232,10 +232,14 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
232
232
  return !containsValidTime() || !isValidValue();
233
233
  }, [disableIgnoringDatePartForTimeValidation, utils, minTime, maxTime, disableFuture, now, disablePast, minutesStep, shouldDisableTime]);
234
234
  const timeOptions = React.useMemo(() => {
235
+ const result = [];
235
236
  const startOfDay = utils.startOfDay(valueOrReferenceDate);
236
- return [startOfDay, ...Array.from({
237
- length: Math.ceil(24 * 60 / timeStep) - 1
238
- }, (_, index) => utils.addMinutes(startOfDay, timeStep * (index + 1)))];
237
+ let nextTimeStepOption = startOfDay;
238
+ while (utils.isSameDay(valueOrReferenceDate, nextTimeStepOption)) {
239
+ result.push(nextTimeStepOption);
240
+ nextTimeStepOption = utils.addMinutes(nextTimeStepOption, timeStep);
241
+ }
242
+ return result;
239
243
  }, [valueOrReferenceDate, timeStep, utils]);
240
244
  const focusedOptionIndex = timeOptions.findIndex(option => utils.isEqual(option, valueOrReferenceDate));
241
245
  const handleKeyDown = event => {
@@ -298,7 +302,7 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
298
302
  tabIndex: tabIndex
299
303
  }, clockItemProps, {
300
304
  children: formattedValue
301
- }), formattedValue);
305
+ }), `${option.valueOf()}-${formattedValue}`);
302
306
  })
303
307
  })
304
308
  }));
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.21.0
2
+ * @mui/x-date-pickers v7.22.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -386,9 +386,8 @@ function DayCalendar(inProps) {
386
386
  return internalFocusedDay;
387
387
  }, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);
388
388
  const weeksToDisplay = React.useMemo(() => {
389
- const currentMonthWithTimezone = utils.setTimezone(currentMonth, timezone);
390
- const toDisplay = utils.getWeekArray(currentMonthWithTimezone);
391
- let nextMonth = utils.addMonths(currentMonthWithTimezone, 1);
389
+ const toDisplay = utils.getWeekArray(currentMonth);
390
+ let nextMonth = utils.addMonths(currentMonth, 1);
392
391
  while (fixedWeekNumber && toDisplay.length < fixedWeekNumber) {
393
392
  const additionalWeeks = utils.getWeekArray(nextMonth);
394
393
  const hasCommonWeek = utils.isSameDay(toDisplay[toDisplay.length - 1][0], additionalWeeks[0][0]);
@@ -400,7 +399,7 @@ function DayCalendar(inProps) {
400
399
  nextMonth = utils.addMonths(nextMonth, 1);
401
400
  }
402
401
  return toDisplay;
403
- }, [currentMonth, fixedWeekNumber, utils, timezone]);
402
+ }, [currentMonth, fixedWeekNumber, utils]);
404
403
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersCalendarDayRoot, {
405
404
  role: "grid",
406
405
  "aria-labelledby": gridLabelId,
@@ -22,6 +22,20 @@ const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayF
22
22
  currentMonth: action.newMonth,
23
23
  isMonthSwitchingAnimating: !reduceAnimations
24
24
  });
25
+ case 'changeMonthTimezone':
26
+ {
27
+ const newTimezone = action.newTimezone;
28
+ if (utils.getTimezone(state.currentMonth) === newTimezone) {
29
+ return state;
30
+ }
31
+ let newCurrentMonth = utils.setTimezone(state.currentMonth, newTimezone);
32
+ if (utils.getMonth(newCurrentMonth) !== utils.getMonth(state.currentMonth)) {
33
+ newCurrentMonth = utils.setMonth(newCurrentMonth, utils.getMonth(state.currentMonth));
34
+ }
35
+ return (0, _extends2.default)({}, state, {
36
+ currentMonth: newCurrentMonth
37
+ });
38
+ }
25
39
  case 'finishMonthSwitchingAnimation':
26
40
  return (0, _extends2.default)({}, state, {
27
41
  isMonthSwitchingAnimating: false
@@ -69,14 +83,25 @@ const useCalendarState = params => {
69
83
  referenceDate: referenceDateProp,
70
84
  granularity: _getDefaultReferenceDate.SECTION_TYPE_GRANULARITY.day
71
85
  });
72
- }, [] // eslint-disable-line react-hooks/exhaustive-deps
73
- );
86
+ },
87
+ // We want the `referenceDate` to update on prop and `timezone` change (https://github.com/mui/mui-x/issues/10804)
88
+ // eslint-disable-next-line react-hooks/exhaustive-deps
89
+ [referenceDateProp, timezone]);
74
90
  const [calendarState, dispatch] = React.useReducer(reducerFn, {
75
91
  isMonthSwitchingAnimating: false,
76
92
  focusedDay: referenceDate,
77
93
  currentMonth: utils.startOfMonth(referenceDate),
78
94
  slideDirection: 'left'
79
95
  });
96
+
97
+ // Ensure that `calendarState.currentMonth` timezone is updated when `referenceDate` (or timezone changes)
98
+ // https://github.com/mui/mui-x/issues/10804
99
+ React.useEffect(() => {
100
+ dispatch({
101
+ type: 'changeMonthTimezone',
102
+ newTimezone: utils.getTimezone(referenceDate)
103
+ });
104
+ }, [referenceDate, utils]);
80
105
  const handleChangeMonth = React.useCallback(payload => {
81
106
  dispatch((0, _extends2.default)({
82
107
  type: 'changeMonth'
@@ -239,10 +239,14 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
239
239
  return !containsValidTime() || !isValidValue();
240
240
  }, [disableIgnoringDatePartForTimeValidation, utils, minTime, maxTime, disableFuture, now, disablePast, minutesStep, shouldDisableTime]);
241
241
  const timeOptions = React.useMemo(() => {
242
+ const result = [];
242
243
  const startOfDay = utils.startOfDay(valueOrReferenceDate);
243
- return [startOfDay, ...Array.from({
244
- length: Math.ceil(24 * 60 / timeStep) - 1
245
- }, (_, index) => utils.addMinutes(startOfDay, timeStep * (index + 1)))];
244
+ let nextTimeStepOption = startOfDay;
245
+ while (utils.isSameDay(valueOrReferenceDate, nextTimeStepOption)) {
246
+ result.push(nextTimeStepOption);
247
+ nextTimeStepOption = utils.addMinutes(nextTimeStepOption, timeStep);
248
+ }
249
+ return result;
246
250
  }, [valueOrReferenceDate, timeStep, utils]);
247
251
  const focusedOptionIndex = timeOptions.findIndex(option => utils.isEqual(option, valueOrReferenceDate));
248
252
  const handleKeyDown = event => {
@@ -305,7 +309,7 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
305
309
  tabIndex: tabIndex
306
310
  }, clockItemProps, {
307
311
  children: formattedValue
308
- }), formattedValue);
312
+ }), `${option.valueOf()}-${formattedValue}`);
309
313
  })
310
314
  })
311
315
  }));
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.21.0
2
+ * @mui/x-date-pickers v7.22.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "7.21.0",
3
+ "version": "7.22.0",
4
4
  "description": "The community edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",