@mui/x-date-pickers-pro 7.0.0-beta.6 → 7.0.0-beta.7

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 (37) hide show
  1. package/CHANGELOG.md +117 -1
  2. package/DateRangeCalendar/DateRangeCalendar.js +18 -53
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +3 -2
  4. package/MultiInputDateRangeField/MultiInputDateRangeField.js +4 -2
  5. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +4 -2
  6. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +4 -2
  7. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.d.ts +8 -0
  8. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +124 -0
  9. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.d.ts +18 -0
  10. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.js +1 -0
  11. package/PickersRangeCalendarHeader/index.d.ts +2 -0
  12. package/PickersRangeCalendarHeader/index.js +1 -0
  13. package/PickersRangeCalendarHeader/package.json +6 -0
  14. package/index.d.ts +1 -0
  15. package/index.js +2 -1
  16. package/internals/utils/releaseInfo.js +1 -1
  17. package/modern/DateRangeCalendar/DateRangeCalendar.js +39 -71
  18. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +4 -2
  19. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +4 -2
  20. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +4 -2
  21. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +124 -0
  22. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.js +1 -0
  23. package/modern/PickersRangeCalendarHeader/index.js +1 -0
  24. package/modern/index.js +2 -1
  25. package/modern/internals/utils/releaseInfo.js +1 -1
  26. package/node/DateRangeCalendar/DateRangeCalendar.js +38 -70
  27. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +4 -2
  28. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +4 -2
  29. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +4 -2
  30. package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +132 -0
  31. package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.js +5 -0
  32. package/node/PickersRangeCalendarHeader/index.js +12 -0
  33. package/node/index.js +13 -1
  34. package/node/internals/utils/releaseInfo.js +1 -1
  35. package/package.json +2 -2
  36. package/themeAugmentation/components.d.ts +3 -0
  37. package/themeAugmentation/props.d.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,102 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.0.0-beta.7
7
+
8
+ _Mar 14, 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
+ - 🦥 The Lazy loading feature is now stable and the `lazyLoading` feature flag was removed from the `experimentalFeatures` prop.
13
+ - 🌍 Improve Japanese (ja-JP) locale for the Data Grid
14
+ - 🐞 Bugfixes
15
+ - 📚 Documentation improvements
16
+
17
+ ### Data Grid
18
+
19
+ #### Breaking changes
20
+
21
+ - The `columnHeader--showColumnBorder` class was replaced by `columnHeader--withLeftBorder` and `columnHeader--withRightBorder`.
22
+ - The `columnHeadersInner`, `columnHeadersInner--scrollable`, and `columnHeaderDropZone` classes were removed since the inner wrapper was removed in our effort to simplify the DOM structure and improve accessibility.
23
+ - The `pinnedColumnHeaders`, `pinnedColumnHeaders--left`, and `pinnedColumnHeaders--right` classes were removed along with the element they were applied to.
24
+ The pinned column headers now use `position: 'sticky'` and are rendered in the same row element as the regular column headers.
25
+
26
+ #### `@mui/x-data-grid@7.0.0-beta.7`
27
+
28
+ - [DataGrid] Fix focus visible style on scrollbar (#12402) @oliviertassinari
29
+ - [DataGrid] Fix the issue where pressing the Delete key resets various cell values to an empty string. (#12216) @sooster910
30
+ - [DataGrid] Make `rowCount` part of the state (#12381) @MBilalShafi
31
+ - [DataGrid] Make column resizing and autosizing available in Community plan (#12420) @cherniavskii
32
+ - [DataGrid] Remove `baseSwitch` slot (#12439) @romgrk
33
+ - [l10n] Improve Japanese (ja-JP) locale (#12398) @makoto14
34
+
35
+ #### `@mui/x-data-grid-pro@7.0.0-beta.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
36
+
37
+ Same changes as in `@mui/x-data-grid@7.0.0-beta.7`, plus:
38
+
39
+ - [DataGridPro] Add `inputRef` to the props passed to `colDef.renderHeaderFilter` (#12328) @vovarudomanenko
40
+ - [DataGridPro] Fix filler rendered for no reason when there are pinned columns (#12440) @cherniavskii
41
+ - [DataGridPro] Make lazy loading feature stable (#12421) @cherniavskii
42
+ - [DataGridPro] Render pinned and non-pinned column headers in one row (#12376) @cherniavskii
43
+
44
+ #### `@mui/x-data-grid-premium@7.0.0-beta.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
45
+
46
+ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.7`, plus:
47
+
48
+ - [DataGridPremium] Fix auto-scroll not working when selecting cell range (#12267) @cherniavskii
49
+
50
+ ### Date and Time Pickers
51
+
52
+ #### `@mui/x-date-pickers@7.0.0-beta.7`
53
+
54
+ - [fields] Fix `tabIndex` on accessible field DOM structure (#12311) @flaviendelangle
55
+ - [fields] Fix items alignment on multi input range fields (#12312) @flaviendelangle
56
+ - [pickers] Improve the customization of the range picker calendar header (#11988) @flaviendelangle
57
+ - [pickers] Keep the existing time when looking for closest enabled date (#12377) @LukasTy
58
+
59
+ #### `@mui/x-date-pickers-pro@7.0.0-beta.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
60
+
61
+ Same changes as in `@mui/x-date-pickers@7.0.0-beta.7`.
62
+
63
+ ### Charts
64
+
65
+ #### `@mui/x-charts@7.0.0-beta.7`
66
+
67
+ - [charts] Fix axis highlight when axis is reversed (#12407) @alexfauquette
68
+
69
+ ### Tree View
70
+
71
+ #### Breaking changes
72
+
73
+ The `onNodeFocus` callback has been renamed to `onItemFocus` for consistency:
74
+
75
+ ```diff
76
+ <SimpleTreeView
77
+ - onNodeFocus={onNodeFocus}
78
+ + onItemFocus={onItemFocus}
79
+ />
80
+ ```
81
+
82
+ #### `@mui/x-tree-view@7.0.0-beta.7`
83
+
84
+ - [TreeView] Clean the usage of the term "item" and "node" in API introduced during v7 (#12368) @noraleonte
85
+ - [TreeView] Introduce a new `TreeItem2` component and a new `useTreeItem2` hook (#11721) @flaviendelangle
86
+ - [TreeView] Rename `onNodeFocus` to `onItemFocus` (#12419) @noraleonte
87
+
88
+ ### Docs
89
+
90
+ - [docs] Add `legacy` bundle drop mention in migration pages (#12424) @LukasTy
91
+ - [docs] Add missing luxon `Info` import (#12427) @LukasTy
92
+ - [docs] Improve slots definitions for charts (#12408) @alexfauquette
93
+ - [docs] Polish What's new in MUI X blog titles (#12309) @oliviertassinari
94
+ - [docs] Replace `rel="noreferrer"` by `rel="noopener"` @oliviertassinari
95
+ - [docs] Update `date-fns` `weekStarsOn` overriding example (#12416) @LukasTy
96
+
97
+ ### Core
98
+
99
+ - [core] Fix CI (#12414) @flaviendelangle
100
+ - [core] Fix PR deploy link for Tree View doc pages (#12411) @flaviendelangle
101
+
6
102
  ## 7.0.0-beta.6
7
103
 
8
104
  _Mar 8, 2024_
@@ -1731,7 +1827,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.3`, plus:
1731
1827
  The Firefox browser currently does not support this behavior because the [getWeekInfo](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo) API is not yet implemented.
1732
1828
 
1733
1829
  ```ts
1734
- import { Settings } from 'luxon';
1830
+ import { Settings, Info } from 'luxon';
1735
1831
 
1736
1832
  Settings.defaultWeekSettings = {
1737
1833
  firstDay: 1,
@@ -2521,6 +2617,26 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
2521
2617
  - [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
2522
2618
  - [license] Correctly throw errors (#10924) @oliviertassinari
2523
2619
 
2620
+ ## 6.19.7
2621
+
2622
+ _Mar 14, 2024_
2623
+
2624
+ We'd like to offer a big thanks to @LukasTy who made this release possible.
2625
+
2626
+ ### Date Pickers
2627
+
2628
+ #### `@mui/x-date-pickers@6.19.7`
2629
+
2630
+ - [pickers] Keep the existing time when looking for closest enabled date (#12410) @LukasTy
2631
+
2632
+ #### `@mui/x-date-pickers-pro@6.19.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
2633
+
2634
+ Same changes as in `@mui/x-date-pickers@6.19.7`.
2635
+
2636
+ ### Docs
2637
+
2638
+ - [docs] Add Pickers custom start of week section (#12425) @LukasTy
2639
+
2524
2640
  ## 6.19.6
2525
2641
 
2526
2642
  _Mar 1, 2024_
@@ -11,8 +11,7 @@ import { resolveComponentProps, useSlotProps } from '@mui/base/utils';
11
11
  import { styled, useThemeProps } from '@mui/material/styles';
12
12
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
13
13
  import { Watermark } from '@mui/x-license';
14
- import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader';
15
- import { applyDefaultDate, DayCalendar, useDefaultReduceAnimations, PickersArrowSwitcher, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone, useViews } from '@mui/x-date-pickers/internals';
14
+ import { applyDefaultDate, DayCalendar, useDefaultReduceAnimations, useCalendarState, useDefaultDates, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone, useViews } from '@mui/x-date-pickers/internals';
16
15
  import { getReleaseInfo } from '../internals/utils/releaseInfo';
17
16
  import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from './dateRangeCalendarClasses';
18
17
  import { isEndOfRange, isRangeValid, isStartOfRange, isWithinRange } from '../internals/utils/date-utils';
@@ -22,6 +21,7 @@ import { rangeValueManager } from '../internals/utils/valueManagers';
22
21
  import { useDragRange } from './useDragRange';
23
22
  import { useRangePosition } from '../internals/hooks/useRangePosition';
24
23
  import { DAY_RANGE_SIZE, DAY_MARGIN } from '../internals/constants/dimensions';
24
+ import { PickersRangeCalendarHeader } from '../PickersRangeCalendarHeader';
25
25
  import { jsx as _jsx } from "react/jsx-runtime";
26
26
  import { jsxs as _jsxs } from "react/jsx-runtime";
27
27
  const releaseInfo = getReleaseInfo();
@@ -44,12 +44,6 @@ const DateRangeCalendarMonthContainer = styled('div', {
44
44
  borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
45
45
  }
46
46
  }));
47
- const DateRangeCalendarArrowSwitcher = styled(PickersArrowSwitcher)({
48
- padding: '12px 16px 4px 16px',
49
- display: 'flex',
50
- alignItems: 'center',
51
- justifyContent: 'space-between'
52
- });
53
47
  const weeksContainerHeight = (DAY_RANGE_SIZE + DAY_MARGIN * 2) * 6;
54
48
  const warnInvalidCurrentMonthCalendarPosition = buildWarning(['The `currentMonthCalendarPosition` prop must be an integer between `1` and the amount of calendars rendered.', 'For example if you have 2 calendars rendered, it should be equal to either 1 or 2.']);
55
49
  const DayCalendarForRange = styled(DayCalendar)(({
@@ -192,7 +186,6 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
192
186
  autoFocus
193
187
  });
194
188
  const utils = useUtils();
195
- const localeText = useLocaleText();
196
189
  const now = useNow(timezone);
197
190
  const {
198
191
  rangePosition,
@@ -290,15 +283,12 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
290
283
  shouldDisableDate: wrappedShouldDisableDate,
291
284
  timezone
292
285
  });
293
-
294
- // When disabled, limit the view to the selected date
295
- const minDateWithDisabled = disabled && value[0] || minDate;
296
- const maxDateWithDisabled = disabled && value[1] || maxDate;
297
- const CalendarHeader = (_slots$calendarHeader = slots == null ? void 0 : slots.calendarHeader) != null ? _slots$calendarHeader : PickersCalendarHeader;
286
+ const CalendarHeader = (_slots$calendarHeader = slots == null ? void 0 : slots.calendarHeader) != null ? _slots$calendarHeader : PickersRangeCalendarHeader;
298
287
  const calendarHeaderProps = useSlotProps({
299
288
  elementType: CalendarHeader,
300
289
  externalSlotProps: slotProps == null ? void 0 : slotProps.calendarHeader,
301
290
  additionalProps: {
291
+ calendars,
302
292
  views: ['day'],
303
293
  view: 'day',
304
294
  currentMonth: calendarState.currentMonth,
@@ -306,15 +296,15 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
306
296
  newMonth,
307
297
  direction
308
298
  }),
309
- minDate: minDateWithDisabled,
310
- maxDate: maxDateWithDisabled,
299
+ minDate,
300
+ maxDate,
311
301
  disabled,
312
302
  disablePast,
313
303
  disableFuture,
314
304
  reduceAnimations,
305
+ timezone,
315
306
  slots,
316
- slotProps,
317
- timezone
307
+ slotProps
318
308
  },
319
309
  ownerState: props
320
310
  });
@@ -344,22 +334,6 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
344
334
  }
345
335
  }, [rangePosition, value]); // eslint-disable-line
346
336
 
347
- const selectNextMonth = React.useCallback(() => {
348
- changeMonth(utils.addMonths(calendarState.currentMonth, 1));
349
- }, [changeMonth, calendarState.currentMonth, utils]);
350
- const selectPreviousMonth = React.useCallback(() => {
351
- changeMonth(utils.addMonths(calendarState.currentMonth, -1));
352
- }, [changeMonth, calendarState.currentMonth, utils]);
353
- const isNextMonthDisabled = useNextMonthDisabled(calendarState.currentMonth, {
354
- disableFuture,
355
- maxDate,
356
- timezone
357
- });
358
- const isPreviousMonthDisabled = usePreviousMonthDisabled(calendarState.currentMonth, {
359
- disablePast,
360
- minDate,
361
- timezone
362
- });
363
337
  const baseDateValidationProps = {
364
338
  disablePast,
365
339
  disableFuture,
@@ -467,23 +441,14 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
467
441
  children: [/*#__PURE__*/_jsx(Watermark, {
468
442
  packageName: "x-date-pickers-pro",
469
443
  releaseInfo: releaseInfo
470
- }), calendarMonths.map((month, index) => {
471
- var _calendarHeaderProps$;
444
+ }), calendarMonths.map(monthIndex => {
445
+ const month = visibleMonths[monthIndex];
472
446
  return /*#__PURE__*/_jsxs(DateRangeCalendarMonthContainer, {
473
447
  className: classes.monthContainer,
474
- children: [calendars === 1 ? /*#__PURE__*/_jsx(CalendarHeader, _extends({}, calendarHeaderProps)) : /*#__PURE__*/_jsx(DateRangeCalendarArrowSwitcher, {
475
- onGoToPrevious: selectPreviousMonth,
476
- onGoToNext: selectNextMonth,
477
- isPreviousHidden: index !== 0,
478
- isPreviousDisabled: isPreviousMonthDisabled,
479
- previousLabel: localeText.previousMonth,
480
- isNextHidden: index !== calendars - 1,
481
- isNextDisabled: isNextMonthDisabled,
482
- nextLabel: localeText.nextMonth,
483
- slots: slots,
484
- slotProps: slotProps,
485
- children: utils.formatByString(visibleMonths[month], (_calendarHeaderProps$ = calendarHeaderProps.format) != null ? _calendarHeaderProps$ : `${utils.formats.month} ${utils.formats.year}`)
486
- }), /*#__PURE__*/_jsx(DayCalendarForRange, _extends({
448
+ children: [/*#__PURE__*/_jsx(CalendarHeader, _extends({}, calendarHeaderProps, {
449
+ month: month,
450
+ monthIndex: monthIndex
451
+ })), /*#__PURE__*/_jsx(DayCalendarForRange, _extends({
487
452
  className: classes.dayCalendar
488
453
  }, calendarState, baseDateValidationProps, commonViewProps, {
489
454
  onMonthSwitchingAnimationEnd: onMonthSwitchingAnimationEnd,
@@ -491,7 +456,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
491
456
  reduceAnimations: reduceAnimations,
492
457
  selectedDays: value,
493
458
  onSelectedDaysChange: handleSelectedDayChange,
494
- currentMonth: visibleMonths[month],
459
+ currentMonth: month,
495
460
  TransitionProps: CalendarTransitionProps,
496
461
  shouldDisableDate: wrappedShouldDisableDate,
497
462
  showDaysOutsideCurrentMonth: calendars === 1 && showDaysOutsideCurrentMonth,
@@ -500,12 +465,12 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
500
465
  renderLoading: renderLoading,
501
466
  slots: slotsForDayCalendar,
502
467
  slotProps: slotPropsForDayCalendar,
503
- autoFocus: visibleMonths[month] === focusedMonth,
468
+ autoFocus: month === focusedMonth,
504
469
  fixedWeekNumber: fixedWeekNumber,
505
470
  displayWeekNumber: displayWeekNumber,
506
471
  timezone: timezone
507
- }), index)]
508
- }, month);
472
+ }))]
473
+ }, monthIndex);
509
474
  })]
510
475
  }));
511
476
  });
@@ -3,13 +3,14 @@ import { SxProps } from '@mui/system';
3
3
  import { SlotComponentProps } from '@mui/base/utils';
4
4
  import { Theme } from '@mui/material/styles';
5
5
  import { PickerValidDate, TimezoneProps } from '@mui/x-date-pickers/models';
6
- import { PickersCalendarHeader, PickersCalendarHeaderProps, PickersCalendarHeaderSlots, PickersCalendarHeaderSlotProps } from '@mui/x-date-pickers/PickersCalendarHeader';
6
+ import { PickersCalendarHeader, PickersCalendarHeaderSlots, PickersCalendarHeaderSlotProps } from '@mui/x-date-pickers/PickersCalendarHeader';
7
7
  import { BaseDateValidationProps, DefaultizedProps, ExportedDayCalendarProps, DayCalendarSlots, DayCalendarSlotProps, PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps, DayCalendarProps, ExportedUseViewsOptions } from '@mui/x-date-pickers/internals';
8
8
  import { DayRangeValidationProps } from '../internals/models';
9
9
  import { DateRange } from '../models';
10
10
  import { DateRangeCalendarClasses } from './dateRangeCalendarClasses';
11
11
  import { DateRangePickerDay, DateRangePickerDayProps } from '../DateRangePickerDay';
12
12
  import { UseRangePositionProps } from '../internals/hooks/useRangePosition';
13
+ import { PickersRangeCalendarHeaderProps } from '../PickersRangeCalendarHeader';
13
14
  export type DateRangePosition = 'start' | 'end';
14
15
  export interface DateRangeCalendarSlots<TDate extends PickerValidDate> extends PickersArrowSwitcherSlots, Omit<DayCalendarSlots<TDate>, 'day'>, PickersCalendarHeaderSlots {
15
16
  /**
@@ -17,7 +18,7 @@ export interface DateRangeCalendarSlots<TDate extends PickerValidDate> extends P
17
18
  * Check the [PickersCalendarHeader](https://mui.com/x/api/date-pickers/pickers-calendar-header/) component.
18
19
  * @default PickersCalendarHeader
19
20
  */
20
- calendarHeader?: React.ElementType<PickersCalendarHeaderProps<TDate>>;
21
+ calendarHeader?: React.ElementType<PickersRangeCalendarHeaderProps<TDate>>;
21
22
  /**
22
23
  * Custom component for day in range pickers.
23
24
  * Check the [DateRangePickersDay](https://mui.com/x/api/date-pickers/date-range-picker-day/) component.
@@ -31,7 +31,7 @@ const MultiInputDateRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((prop
31
31
  ref: ref,
32
32
  spacing: 2,
33
33
  direction: "row",
34
- alignItems: "baseline"
34
+ alignItems: "center"
35
35
  }, props))), {
36
36
  name: 'MuiMultiInputDateRangeField',
37
37
  slot: 'Root',
@@ -46,7 +46,9 @@ const MultiInputDateRangeFieldSeparator = styled(props => {
46
46
  name: 'MuiMultiInputDateRangeField',
47
47
  slot: 'Separator',
48
48
  overridesResolver: (props, styles) => styles.separator
49
- })({});
49
+ })({
50
+ lineHeight: '1.4375em' // 23px
51
+ });
50
52
  /**
51
53
  * Demos:
52
54
  *
@@ -31,7 +31,7 @@ const MultiInputDateTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((
31
31
  ref: ref,
32
32
  spacing: 2,
33
33
  direction: "row",
34
- alignItems: "baseline"
34
+ alignItems: "center"
35
35
  }, props))), {
36
36
  name: 'MuiMultiInputDateTimeRangeField',
37
37
  slot: 'Root',
@@ -46,7 +46,9 @@ const MultiInputDateTimeRangeFieldSeparator = styled(props => {
46
46
  name: 'MuiMultiInputDateTimeRangeField',
47
47
  slot: 'Separator',
48
48
  overridesResolver: (props, styles) => styles.separator
49
- })({});
49
+ })({
50
+ lineHeight: '1.4375em' // 23px
51
+ });
50
52
  /**
51
53
  * Demos:
52
54
  *
@@ -31,7 +31,7 @@ const MultiInputTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((prop
31
31
  ref: ref,
32
32
  spacing: 2,
33
33
  direction: "row",
34
- alignItems: "baseline"
34
+ alignItems: "center"
35
35
  }, props))), {
36
36
  name: 'MuiMultiInputTimeRangeField',
37
37
  slot: 'Root',
@@ -46,7 +46,9 @@ const MultiInputTimeRangeFieldSeparator = styled(props => {
46
46
  name: 'MuiMultiInputTimeRangeField',
47
47
  slot: 'Separator',
48
48
  overridesResolver: (props, styles) => styles.separator
49
- })({});
49
+ })({
50
+ lineHeight: '1.4375em' // 23px
51
+ });
50
52
  /**
51
53
  * Demos:
52
54
  *
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
+ import { PickersRangeCalendarHeaderProps } from './PickersRangeCalendarHeader.types';
4
+ type PickersRangeCalendarHeaderComponent = (<TDate extends PickerValidDate>(props: PickersRangeCalendarHeaderProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
+ propTypes?: any;
6
+ };
7
+ declare const PickersRangeCalendarHeader: PickersRangeCalendarHeaderComponent;
8
+ export { PickersRangeCalendarHeader };
@@ -0,0 +1,124 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["calendars", "month", "monthIndex"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { styled } from '@mui/material/styles';
7
+ import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader';
8
+ import { PickersArrowSwitcher, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils } from '@mui/x-date-pickers/internals';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ const PickersRangeCalendarHeaderContentMultipleCalendars = styled(PickersArrowSwitcher)({
11
+ padding: '12px 16px 4px 16px',
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ justifyContent: 'space-between'
15
+ });
16
+ const PickersRangeCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersRangeCalendarHeader(props, ref) {
17
+ const utils = useUtils();
18
+ const localeText = useLocaleText();
19
+ const {
20
+ calendars,
21
+ month,
22
+ monthIndex
23
+ } = props,
24
+ other = _objectWithoutPropertiesLoose(props, _excluded);
25
+ const {
26
+ format,
27
+ slots,
28
+ slotProps,
29
+ currentMonth,
30
+ onMonthChange,
31
+ disableFuture,
32
+ disablePast,
33
+ minDate,
34
+ maxDate,
35
+ timezone
36
+ } = props;
37
+ const isNextMonthDisabled = useNextMonthDisabled(currentMonth, {
38
+ disableFuture,
39
+ maxDate,
40
+ timezone
41
+ });
42
+ const isPreviousMonthDisabled = usePreviousMonthDisabled(currentMonth, {
43
+ disablePast,
44
+ minDate,
45
+ timezone
46
+ });
47
+ if (calendars === 1) {
48
+ return /*#__PURE__*/_jsx(PickersCalendarHeader, _extends({}, other, {
49
+ ref: ref
50
+ }));
51
+ }
52
+ const selectNextMonth = () => onMonthChange(utils.addMonths(currentMonth, 1), 'left');
53
+ const selectPreviousMonth = () => onMonthChange(utils.addMonths(currentMonth, -1), 'right');
54
+ return /*#__PURE__*/_jsx(PickersRangeCalendarHeaderContentMultipleCalendars, {
55
+ ref: ref,
56
+ onGoToPrevious: selectPreviousMonth,
57
+ onGoToNext: selectNextMonth,
58
+ isPreviousHidden: monthIndex !== 0,
59
+ isPreviousDisabled: isPreviousMonthDisabled,
60
+ previousLabel: localeText.previousMonth,
61
+ isNextHidden: monthIndex !== calendars - 1,
62
+ isNextDisabled: isNextMonthDisabled,
63
+ nextLabel: localeText.nextMonth,
64
+ slots: slots,
65
+ slotProps: slotProps,
66
+ children: utils.formatByString(month, format != null ? format : `${utils.formats.month} ${utils.formats.year}`)
67
+ });
68
+ });
69
+ process.env.NODE_ENV !== "production" ? PickersRangeCalendarHeader.propTypes = {
70
+ // ----------------------------- Warning --------------------------------
71
+ // | These PropTypes are generated from the TypeScript type definitions |
72
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
73
+ // ----------------------------------------------------------------------
74
+ /**
75
+ * The number of calendars rendered.
76
+ */
77
+ calendars: PropTypes.oneOf([1, 2, 3]).isRequired,
78
+ /**
79
+ * Override or extend the styles applied to the component.
80
+ */
81
+ classes: PropTypes.object,
82
+ className: PropTypes.string,
83
+ currentMonth: PropTypes.object.isRequired,
84
+ disabled: PropTypes.bool,
85
+ disableFuture: PropTypes.bool,
86
+ disablePast: PropTypes.bool,
87
+ /**
88
+ * Format used to display the date.
89
+ * @default `${adapter.formats.month} ${adapter.formats.year}`
90
+ */
91
+ format: PropTypes.string,
92
+ labelId: PropTypes.string,
93
+ maxDate: PropTypes.object.isRequired,
94
+ minDate: PropTypes.object.isRequired,
95
+ /**
96
+ * Month used for this header.
97
+ */
98
+ month: PropTypes.object.isRequired,
99
+ /**
100
+ * Index of the month used for this header.
101
+ */
102
+ monthIndex: PropTypes.number.isRequired,
103
+ onMonthChange: PropTypes.func.isRequired,
104
+ onViewChange: PropTypes.func,
105
+ reduceAnimations: PropTypes.bool.isRequired,
106
+ /**
107
+ * The props used for each component slot.
108
+ * @default {}
109
+ */
110
+ slotProps: PropTypes.object,
111
+ /**
112
+ * Overridable component slots.
113
+ * @default {}
114
+ */
115
+ slots: PropTypes.object,
116
+ /**
117
+ * The system prop that allows defining system overrides as well as additional CSS styles.
118
+ */
119
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
120
+ timezone: PropTypes.string.isRequired,
121
+ view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,
122
+ views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired
123
+ } : void 0;
124
+ export { PickersRangeCalendarHeader };
@@ -0,0 +1,18 @@
1
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
+ import { ExportedPickersCalendarHeaderProps, PickersCalendarHeaderProps } from '@mui/x-date-pickers/PickersCalendarHeader';
3
+ export interface PickersRangeCalendarHeaderProps<TDate extends PickerValidDate> extends PickersCalendarHeaderProps<TDate> {
4
+ /**
5
+ * The number of calendars rendered.
6
+ */
7
+ calendars: 1 | 2 | 3;
8
+ /**
9
+ * Month used for this header.
10
+ */
11
+ month: TDate;
12
+ /**
13
+ * Index of the month used for this header.
14
+ */
15
+ monthIndex: number;
16
+ }
17
+ export interface ExportedPickersRangeCalendarHeaderProps<TDate extends PickerValidDate> extends ExportedPickersCalendarHeaderProps<TDate> {
18
+ }
@@ -0,0 +1,2 @@
1
+ export { PickersRangeCalendarHeader } from './PickersRangeCalendarHeader';
2
+ export type { PickersRangeCalendarHeaderProps, ExportedPickersRangeCalendarHeaderProps, } from './PickersRangeCalendarHeader.types';
@@ -0,0 +1 @@
1
+ export { PickersRangeCalendarHeader } from './PickersRangeCalendarHeader';
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "../node/PickersRangeCalendarHeader/index.js",
5
+ "types": "./index.d.ts"
6
+ }
package/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './SingleInputDateRangeField';
14
14
  export * from './SingleInputTimeRangeField';
15
15
  export * from './SingleInputDateTimeRangeField';
16
16
  export * from './DateRangeCalendar';
17
+ export * from './PickersRangeCalendarHeader';
17
18
  export * from './DateRangePicker';
18
19
  export * from './DesktopDateRangePicker';
19
20
  export * from './MobileDateRangePicker';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.0.0-beta.6
2
+ * @mui/x-date-pickers-pro v7.0.0-beta.7
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -24,6 +24,7 @@ export * from './SingleInputDateTimeRangeField';
24
24
 
25
25
  // Calendars
26
26
  export * from './DateRangeCalendar';
27
+ export * from './PickersRangeCalendarHeader';
27
28
 
28
29
  // New pickers
29
30
  export * from './DateRangePicker';
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcwOTg1MjQwMDAwMA==";
3
+ const releaseInfo = "MTcxMDM3MDgwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat