@mui/x-date-pickers-pro 6.0.0-alpha.12 → 6.0.0-alpha.13

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 (144) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +7 -1
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
  4. package/DateRangePicker/DateRangePicker.js +0 -5
  5. package/DateRangePicker/DateRangePickerView.d.ts +3 -3
  6. package/DateRangePicker/DateRangePickerView.js +6 -3
  7. package/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  8. package/DateRangePickerDay/DateRangePickerDay.js +72 -1
  9. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +5 -0
  10. package/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  11. package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  12. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
  13. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  14. package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +2 -2
  17. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  18. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +3 -3
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +2 -2
  21. package/NextDateRangePicker/NextDateRangePicker.js +16 -2
  22. package/NextDateRangePicker/shared.d.ts +9 -2
  23. package/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  24. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +3 -2
  25. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  26. package/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  27. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +13 -0
  28. package/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  29. package/dateRangeViewRenderers/index.d.ts +2 -0
  30. package/dateRangeViewRenderers/index.js +1 -0
  31. package/dateRangeViewRenderers/package.json +6 -0
  32. package/index.d.ts +1 -0
  33. package/index.js +5 -2
  34. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  35. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  36. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -5
  37. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
  38. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  39. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -5
  40. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  41. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  42. package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +2 -0
  43. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  44. package/internal/hooks/useRangePickerInputProps.d.ts +4 -6
  45. package/internal/hooks/useRangePickerInputProps.js +5 -6
  46. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  47. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  48. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  49. package/internal/models/dateRange.d.ts +11 -1
  50. package/internal/models/dateTimeRange.d.ts +2 -2
  51. package/internal/models/timeRange.d.ts +2 -1
  52. package/internal/utils/date-fields-utils.d.ts +17 -1
  53. package/internal/utils/releaseInfo.js +1 -1
  54. package/internal/utils/valueManagers.js +15 -21
  55. package/legacy/DateRangeCalendar/DateRangeCalendar.js +7 -1
  56. package/legacy/DateRangePicker/DateRangePicker.js +0 -5
  57. package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
  58. package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  59. package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
  60. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  61. package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  62. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  63. package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  64. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +44 -11
  65. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +43 -8
  66. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +43 -8
  67. package/legacy/NextDateRangePicker/NextDateRangePicker.js +16 -2
  68. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +109 -4
  69. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  70. package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  71. package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  72. package/legacy/dateRangeViewRenderers/index.js +1 -0
  73. package/legacy/index.js +5 -2
  74. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  75. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  76. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  77. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  78. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  79. package/legacy/internal/hooks/useRangePickerInputProps.js +5 -6
  80. package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  81. package/legacy/internal/utils/releaseInfo.js +1 -1
  82. package/legacy/internal/utils/valueManagers.js +15 -23
  83. package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  84. package/modern/DateRangeCalendar/DateRangeCalendar.js +7 -1
  85. package/modern/DateRangePicker/DateRangePicker.js +0 -5
  86. package/modern/DateRangePicker/DateRangePickerView.js +6 -3
  87. package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  88. package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
  89. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  90. package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  91. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  92. package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  93. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  94. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  95. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  96. package/modern/NextDateRangePicker/NextDateRangePicker.js +16 -2
  97. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  98. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  99. package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  100. package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  101. package/modern/dateRangeViewRenderers/index.js +1 -0
  102. package/modern/index.js +5 -2
  103. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  104. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  105. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  106. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  107. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  108. package/modern/internal/hooks/useRangePickerInputProps.js +5 -6
  109. package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  110. package/modern/internal/utils/releaseInfo.js +1 -1
  111. package/modern/internal/utils/valueManagers.js +15 -21
  112. package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  113. package/node/DateRangeCalendar/DateRangeCalendar.js +7 -1
  114. package/node/DateRangePicker/DateRangePicker.js +0 -5
  115. package/node/DateRangePicker/DateRangePickerView.js +6 -3
  116. package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  117. package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
  118. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  119. package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  120. package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  121. package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  122. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  123. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  124. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  125. package/node/NextDateRangePicker/NextDateRangePicker.js +16 -2
  126. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  127. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  128. package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  129. package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
  130. package/node/dateRangeViewRenderers/index.js +12 -0
  131. package/node/index.js +13 -1
  132. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  133. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  134. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  135. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  136. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  137. package/node/internal/hooks/useRangePickerInputProps.js +5 -6
  138. package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  139. package/node/internal/utils/releaseInfo.js +1 -1
  140. package/node/internal/utils/valueManagers.js +14 -20
  141. package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  142. package/package.json +3 -3
  143. package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  144. package/internal/utils/viewRenderers.d.ts +0 -7
@@ -59,6 +59,7 @@ const useRangePickerInputProps = ({
59
59
  onRangePositionChange('end');
60
60
  }
61
61
  };
62
+ const readOnlyInput = readOnly ?? wrapperVariant === 'mobile';
62
63
  const startInputProps = (0, _extends2.default)({
63
64
  inputRef: startRef,
64
65
  label: inLocaleText?.start ?? localeText.start,
@@ -68,9 +69,8 @@ const useRangePickerInputProps = ({
68
69
  }, !readOnly && !disabled && {
69
70
  onClick: openRangeStartSelection
70
71
  }, {
71
- inputProps: {
72
- readOnly: wrapperVariant === 'mobile'
73
- }
72
+ readOnly: readOnlyInput,
73
+ disabled
74
74
  });
75
75
  const endInputProps = (0, _extends2.default)({
76
76
  inputRef: endRef,
@@ -81,9 +81,8 @@ const useRangePickerInputProps = ({
81
81
  }, !readOnly && !disabled && {
82
82
  onClick: openRangeEndSelection
83
83
  }, {
84
- inputProps: {
85
- readOnly: wrapperVariant === 'mobile'
86
- }
84
+ readOnly: readOnlyInput,
85
+ disabled
87
86
  });
88
87
  const rootProps = {
89
88
  onBlur
@@ -28,7 +28,6 @@ const PickerStaticViewLayout = (0, _styles.styled)(_internals.PickersViewLayout)
28
28
  const useStaticRangePicker = ({
29
29
  props,
30
30
  valueManager,
31
- viewLookup,
32
31
  validator,
33
32
  ref
34
33
  }) => {
@@ -45,7 +44,6 @@ const useStaticRangePicker = ({
45
44
  renderCurrentView
46
45
  } = (0, _internals.usePicker)({
47
46
  props,
48
- viewLookup,
49
47
  valueManager,
50
48
  validator,
51
49
  autoFocusView: autoFocus ?? false,
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTY3MTE0NTIwMDAwMA==";
9
+ const releaseInfo = "MTY3MTgzMjgwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat
@@ -37,35 +37,29 @@ const rangeFieldValueManager = {
37
37
  startDate: null,
38
38
  endDate: null
39
39
  } : (0, _dateFieldsUtils.splitDateRangeSections)(prevSections);
40
- const getSections = (newDate, prevDateSections) => {
40
+ const getSections = (newDate, prevDateSections, position) => {
41
41
  const shouldReUsePrevDateSections = !utils.isValid(newDate) && !!prevDateSections;
42
42
  if (shouldReUsePrevDateSections) {
43
43
  return prevDateSections;
44
44
  }
45
- return (0, _internals.splitFormatIntoSections)(utils, localeText, format, newDate);
46
- };
47
- const rawSectionsOfStartDate = getSections(start, prevDateRangeSections.startDate);
48
- const rawSectionsOfEndDate = getSections(end, prevDateRangeSections.endDate);
49
- const sectionsOfStartDate = rawSectionsOfStartDate.map((section, sectionIndex) => {
50
- if (sectionIndex === rawSectionsOfStartDate.length - 1) {
45
+ const sections = (0, _internals.splitFormatIntoSections)(utils, localeText, format, newDate);
46
+ return sections.map((section, sectionIndex) => {
47
+ if (sectionIndex === sections.length - 1 && position === 'start') {
48
+ return (0, _extends2.default)({}, section, {
49
+ dateName: position,
50
+ endSeparator: `${section.endSeparator}\u2069 \u2066`
51
+ });
52
+ }
51
53
  return (0, _extends2.default)({}, section, {
52
- dateName: 'start',
53
- separator: `\u2069 – \u2066`,
54
- parsingSeparator: ' – '
54
+ dateName: position
55
55
  });
56
- }
57
- return (0, _extends2.default)({}, section, {
58
- dateName: 'start'
59
56
  });
60
- });
61
- const sectionsOfEndDate = rawSectionsOfEndDate.map(section => (0, _extends2.default)({}, section, {
62
- dateName: 'end'
63
- }));
64
- return (0, _internals.addPositionPropertiesToSections)([...sectionsOfStartDate, ...sectionsOfEndDate]);
57
+ };
58
+ return (0, _internals.addPositionPropertiesToSections)([...getSections(start, prevDateRangeSections.startDate, 'start'), ...getSections(end, prevDateRangeSections.endDate, 'end')]);
65
59
  },
66
60
  getValueStrFromSections: sections => {
67
61
  const dateRangeSections = (0, _dateFieldsUtils.splitDateRangeSections)(sections);
68
- return (0, _internals.createDateStrFromSections)([...dateRangeSections.startDate, ...dateRangeSections.endDate], true);
62
+ return (0, _internals.createDateStrForInputFromSections)([...dateRangeSections.startDate, ...dateRangeSections.endDate]);
69
63
  },
70
64
  getActiveDateSections: (sections, activeSection) => {
71
65
  const index = activeSection.dateName === 'start' ? 0 : 1;
@@ -98,7 +92,7 @@ const rangeFieldValueManager = {
98
92
  getSectionOrder: (utils, localeText, format, isRTL) => {
99
93
  const splitedFormat = (0, _internals.splitFormatIntoSections)(utils, localeText, format, null);
100
94
  return (0, _internals.getSectionOrder)([...splitedFormat.slice(0, splitedFormat.length - 1), (0, _extends2.default)({}, splitedFormat[splitedFormat.length - 1], {
101
- separator: ' – '
95
+ endSeparator: ' – '
102
96
  }), ...splitedFormat], isRTL);
103
97
  }
104
98
  };
@@ -34,7 +34,7 @@ const testTextFieldRangeValidation = (ElementToTest, getOptions) => {
34
34
  withDate,
35
35
  withTime
36
36
  } = getOptions();
37
- if (!['legacy-picker', 'picker'].includes(componentFamily)) {
37
+ if (!['legacy-picker', 'new-picker'].includes(componentFamily)) {
38
38
  return;
39
39
  }
40
40
  describe('text field:', () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "6.0.0-alpha.12",
3
+ "version": "6.0.0-alpha.13",
4
4
  "description": "The commercial edition of the date picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -36,7 +36,7 @@
36
36
  "@date-io/luxon": "^2.16.1",
37
37
  "@date-io/moment": "^2.16.1",
38
38
  "@mui/utils": "^5.10.16",
39
- "@mui/x-date-pickers": "6.0.0-alpha.12",
39
+ "@mui/x-date-pickers": "6.0.0-alpha.13",
40
40
  "@mui/x-license-pro": "6.0.0-alpha.9",
41
41
  "clsx": "^1.2.1",
42
42
  "prop-types": "^15.8.1",
@@ -48,7 +48,7 @@
48
48
  "@mui/system": "^5.4.1",
49
49
  "date-fns": "^2.25.0",
50
50
  "dayjs": "^1.10.7",
51
- "luxon": "^1.28.0 || ^2.0.0 || ^3.0.2",
51
+ "luxon": "^3.0.2",
52
52
  "moment": "^2.29.1",
53
53
  "react": "^17.0.2 || ^18.0.0",
54
54
  "react-dom": "^17.0.2 || ^18.0.0"
@@ -26,7 +26,7 @@ export const testTextFieldRangeValidation = (ElementToTest, getOptions) => {
26
26
  withDate,
27
27
  withTime
28
28
  } = getOptions();
29
- if (!['legacy-picker', 'picker'].includes(componentFamily)) {
29
+ if (!['legacy-picker', 'new-picker'].includes(componentFamily)) {
30
30
  return;
31
31
  }
32
32
  describe('text field:', () => {
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- import { DateRangeCalendarProps } from '../../DateRangeCalendar';
3
- /**
4
- * We don't pass all the props down to `DateRangeCalendar`,
5
- * because otherwise some unwanted props would be passed to the HTML element.
6
- */
7
- export declare const renderDateRangeView: <TDate extends unknown>({ value, defaultValue, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, reduceAnimations, onMonthChange, defaultCalendarMonth, rangePosition, onRangePositionChange, calendars, components, componentsProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, disableAutoMonthSwitching, sx, autoFocus, fixedWeekNumber, disableDragEditing, displayWeekNumber, }: DateRangeCalendarProps<TDate>) => JSX.Element;