@mui/x-date-pickers-pro 6.0.0-alpha.11 → 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 (147) hide show
  1. package/CHANGELOG.md +260 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +30 -3
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
  4. package/DateRangePicker/DateRangePicker.js +0 -6
  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 -6
  11. package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  12. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
  13. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  14. package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -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 +2 -1
  33. package/index.js +5 -2
  34. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  35. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -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 +4 -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 +7 -7
  45. package/internal/hooks/useRangePickerInputProps.js +12 -11
  46. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  47. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  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/fields.d.ts +6 -1
  52. package/internal/models/range.d.ts +0 -4
  53. package/internal/models/timeRange.d.ts +2 -1
  54. package/internal/utils/date-fields-utils.d.ts +21 -5
  55. package/internal/utils/releaseInfo.js +1 -1
  56. package/internal/utils/valueManagers.d.ts +3 -2
  57. package/internal/utils/valueManagers.js +21 -22
  58. package/legacy/DateRangeCalendar/DateRangeCalendar.js +36 -3
  59. package/legacy/DateRangePicker/DateRangePicker.js +0 -6
  60. package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
  61. package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  62. package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
  63. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -6
  64. package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  65. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  66. package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  67. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +48 -8
  68. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +43 -8
  69. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +43 -8
  70. package/legacy/NextDateRangePicker/NextDateRangePicker.js +16 -2
  71. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +109 -4
  72. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  73. package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  74. package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  75. package/legacy/dateRangeViewRenderers/index.js +1 -0
  76. package/legacy/index.js +5 -2
  77. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -4
  78. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
  79. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  80. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  81. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  82. package/legacy/internal/hooks/useRangePickerInputProps.js +12 -11
  83. package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  84. package/legacy/internal/utils/releaseInfo.js +1 -1
  85. package/legacy/internal/utils/valueManagers.js +20 -23
  86. package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  87. package/modern/DateRangeCalendar/DateRangeCalendar.js +29 -3
  88. package/modern/DateRangePicker/DateRangePicker.js +0 -6
  89. package/modern/DateRangePicker/DateRangePickerView.js +6 -3
  90. package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  91. package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
  92. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -6
  93. package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  94. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  95. package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  96. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
  97. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  98. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  99. package/modern/NextDateRangePicker/NextDateRangePicker.js +16 -2
  100. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  101. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  102. package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  103. package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  104. package/modern/dateRangeViewRenderers/index.js +1 -0
  105. package/modern/index.js +5 -2
  106. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -4
  107. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
  108. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  109. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  110. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  111. package/modern/internal/hooks/useRangePickerInputProps.js +11 -11
  112. package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  113. package/modern/internal/utils/releaseInfo.js +1 -1
  114. package/modern/internal/utils/valueManagers.js +21 -22
  115. package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  116. package/node/DateRangeCalendar/DateRangeCalendar.js +28 -2
  117. package/node/DateRangePicker/DateRangePicker.js +0 -6
  118. package/node/DateRangePicker/DateRangePickerView.js +6 -3
  119. package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  120. package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
  121. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -6
  122. package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  123. package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  124. package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  125. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
  126. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  127. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  128. package/node/NextDateRangePicker/NextDateRangePicker.js +16 -2
  129. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  130. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  131. package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  132. package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
  133. package/node/dateRangeViewRenderers/index.js +12 -0
  134. package/node/index.js +13 -1
  135. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -4
  136. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
  137. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  138. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  139. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  140. package/node/internal/hooks/useRangePickerInputProps.js +11 -11
  141. package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  142. package/node/internal/utils/releaseInfo.js +1 -1
  143. package/node/internal/utils/valueManagers.js +20 -21
  144. package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  145. package/package.json +4 -4
  146. package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  147. package/internal/utils/viewRenderers.d.ts +0 -7
@@ -20,7 +20,6 @@ const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
20
20
  const useDesktopRangePicker = ({
21
21
  props,
22
22
  valueManager,
23
- viewLookup,
24
23
  validator
25
24
  }) => {
26
25
  (0, _xLicensePro.useLicenseVerifier)('x-date-pickers-pro', releaseInfo);
@@ -31,6 +30,7 @@ const useDesktopRangePicker = ({
31
30
  format,
32
31
  readOnly,
33
32
  disabled,
33
+ autoFocus,
34
34
  disableOpenPicker,
35
35
  localeText
36
36
  } = props;
@@ -48,8 +48,8 @@ const useDesktopRangePicker = ({
48
48
  props,
49
49
  valueManager,
50
50
  wrapperVariant: 'desktop',
51
- viewLookup,
52
51
  validator,
52
+ autoFocusView: true,
53
53
  additionalViewProps: {
54
54
  rangePosition,
55
55
  onRangePositionChange: setRangePosition
@@ -64,12 +64,13 @@ const useDesktopRangePicker = ({
64
64
  });
65
65
  };
66
66
  const fieldSlotsProps = (0, _useRangePickerInputProps.useRangePickerInputProps)({
67
- wrapperVariant: 'mobile',
67
+ wrapperVariant: 'desktop',
68
68
  open,
69
69
  actions,
70
70
  readOnly,
71
71
  disabled,
72
72
  disableOpenPicker,
73
+ localeText,
73
74
  onBlur: handleBlur,
74
75
  rangePosition,
75
76
  onRangePositionChange: setRangePosition
@@ -83,6 +84,7 @@ const useDesktopRangePicker = ({
83
84
  disabled,
84
85
  className,
85
86
  format,
87
+ autoFocus: autoFocus && !props.open,
86
88
  ref: fieldRef
87
89
  }),
88
90
  ownerState: props
@@ -98,7 +100,7 @@ const useDesktopRangePicker = ({
98
100
  const inputPropsPassedByField = (0, _utils.resolveComponentProps)(fieldProps.componentsProps?.input, ownerState);
99
101
  const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotsProps.startInput : fieldSlotsProps.endInput;
100
102
  return (0, _extends2.default)({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
101
- inputProps: (0, _extends2.default)({}, externalInputProps?.inputProps, inputPropsPassedByField?.inputProps, inputPropsPassedByPicker?.inputProps)
103
+ inputProps: (0, _extends2.default)({}, externalInputProps?.inputProps, inputPropsPassedByField?.inputProps)
102
104
  });
103
105
  },
104
106
  root: ownerState => {
@@ -20,7 +20,6 @@ const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
20
20
  const useMobileRangePicker = ({
21
21
  props,
22
22
  valueManager,
23
- viewLookup,
24
23
  validator
25
24
  }) => {
26
25
  (0, _xLicensePro.useLicenseVerifier)('x-date-pickers-pro', releaseInfo);
@@ -46,8 +45,8 @@ const useMobileRangePicker = ({
46
45
  props,
47
46
  valueManager,
48
47
  wrapperVariant: 'mobile',
49
- viewLookup,
50
48
  validator,
49
+ autoFocusView: true,
51
50
  additionalViewProps: {
52
51
  rangePosition,
53
52
  onRangePositionChange: setRangePosition
@@ -60,6 +59,7 @@ const useMobileRangePicker = ({
60
59
  readOnly,
61
60
  disabled,
62
61
  disableOpenPicker,
62
+ localeText,
63
63
  rangePosition,
64
64
  onRangePositionChange: setRangePosition
65
65
  });
@@ -68,7 +68,7 @@ const useMobileRangePicker = ({
68
68
  elementType: Field,
69
69
  externalSlotProps: componentsProps.field,
70
70
  additionalProps: (0, _extends2.default)({}, pickerFieldProps, {
71
- readOnly,
71
+ readOnly: readOnly ?? true,
72
72
  disabled,
73
73
  className,
74
74
  format,
@@ -85,7 +85,7 @@ const useMobileRangePicker = ({
85
85
  const inputPropsPassedByField = (0, _utils.resolveComponentProps)(fieldProps.componentsProps?.input, ownerState);
86
86
  const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotsProps.startInput : fieldSlotsProps.endInput;
87
87
  return (0, _extends2.default)({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
88
- inputProps: (0, _extends2.default)({}, externalInputProps?.inputProps, inputPropsPassedByField?.inputProps, inputPropsPassedByPicker?.inputProps)
88
+ inputProps: (0, _extends2.default)({}, externalInputProps?.inputProps, inputPropsPassedByField?.inputProps)
89
89
  });
90
90
  },
91
91
  root: ownerState => {
@@ -28,7 +28,9 @@ const useMultiInputDateRangeField = ({
28
28
  value: valueProp,
29
29
  defaultValue,
30
30
  format,
31
- onChange
31
+ onChange,
32
+ disabled,
33
+ readOnly
32
34
  } = sharedProps;
33
35
  const firstDefaultValue = React.useRef(defaultValue);
34
36
 
@@ -55,6 +57,8 @@ const useMultiInputDateRangeField = ({
55
57
  const handleStartDateChange = (0, _useEventCallback.default)(buildChangeHandler(0));
56
58
  const handleEndDateChange = (0, _useEventCallback.default)(buildChangeHandler(1));
57
59
  const startInputProps = (0, _extends2.default)({}, inStartInputProps, {
60
+ disabled,
61
+ readOnly,
58
62
  format,
59
63
  value: valueProp === undefined ? undefined : valueProp[0],
60
64
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
@@ -62,6 +66,8 @@ const useMultiInputDateRangeField = ({
62
66
  });
63
67
  const endInputProps = (0, _extends2.default)({}, inEndInputProps, {
64
68
  format,
69
+ disabled,
70
+ readOnly,
65
71
  value: valueProp === undefined ? undefined : valueProp[1],
66
72
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
67
73
  onChange: handleEndDateChange
@@ -44,7 +44,9 @@ const useMultiInputDateTimeRangeField = ({
44
44
  value: valueProp,
45
45
  defaultValue,
46
46
  format,
47
- onChange
47
+ onChange,
48
+ disabled,
49
+ readOnly
48
50
  } = sharedProps;
49
51
  const firstDefaultValue = React.useRef(defaultValue);
50
52
 
@@ -72,12 +74,16 @@ const useMultiInputDateTimeRangeField = ({
72
74
  const handleEndDateChange = (0, _useEventCallback.default)(buildChangeHandler(1));
73
75
  const startInputProps = (0, _extends2.default)({}, inStartInputProps, {
74
76
  format,
77
+ disabled,
78
+ readOnly,
75
79
  value: valueProp === undefined ? undefined : valueProp[0],
76
80
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
77
81
  onChange: handleStartDateChange
78
82
  });
79
83
  const endInputProps = (0, _extends2.default)({}, inEndInputProps, {
80
84
  format,
85
+ disabled,
86
+ readOnly,
81
87
  value: valueProp === undefined ? undefined : valueProp[1],
82
88
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
83
89
  onChange: handleEndDateChange
@@ -40,7 +40,9 @@ const useMultiInputTimeRangeField = ({
40
40
  value: valueProp,
41
41
  defaultValue,
42
42
  format,
43
- onChange
43
+ onChange,
44
+ disabled,
45
+ readOnly
44
46
  } = sharedProps;
45
47
  const firstDefaultValue = React.useRef(defaultValue);
46
48
 
@@ -68,12 +70,16 @@ const useMultiInputTimeRangeField = ({
68
70
  const handleEndDateChange = (0, _useEventCallback.default)(buildChangeHandler(1));
69
71
  const startInputProps = (0, _extends2.default)({}, inStartInputProps, {
70
72
  format,
73
+ disabled,
74
+ readOnly,
71
75
  value: valueProp === undefined ? undefined : valueProp[0],
72
76
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
73
77
  onChange: handleStartDateChange
74
78
  });
75
79
  const endInputProps = (0, _extends2.default)({}, inEndInputProps, {
76
80
  format,
81
+ disabled,
82
+ readOnly,
77
83
  value: valueProp === undefined ? undefined : valueProp[1],
78
84
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
79
85
  onChange: handleEndDateChange
@@ -19,7 +19,8 @@ const useRangePickerInputProps = ({
19
19
  disableOpenPicker,
20
20
  onBlur,
21
21
  rangePosition,
22
- onRangePositionChange
22
+ onRangePositionChange,
23
+ localeText: inLocaleText
23
24
  }) => {
24
25
  const localeText = (0, _internals.useLocaleText)();
25
26
  const startRef = React.useRef(null);
@@ -35,14 +36,14 @@ const useRangePickerInputProps = ({
35
36
  }
36
37
  }, [rangePosition, open]);
37
38
  const openRangeStartSelection = event => {
38
- event?.stopPropagation();
39
+ event.stopPropagation();
39
40
  onRangePositionChange('start');
40
41
  if (!readOnly && !disableOpenPicker) {
41
42
  actions.onOpen();
42
43
  }
43
44
  };
44
45
  const openRangeEndSelection = event => {
45
- event?.stopPropagation();
46
+ event.stopPropagation();
46
47
  onRangePositionChange('end');
47
48
  if (!readOnly && !disableOpenPicker) {
48
49
  actions.onOpen();
@@ -58,31 +59,30 @@ const useRangePickerInputProps = ({
58
59
  onRangePositionChange('end');
59
60
  }
60
61
  };
62
+ const readOnlyInput = readOnly ?? wrapperVariant === 'mobile';
61
63
  const startInputProps = (0, _extends2.default)({
62
64
  inputRef: startRef,
63
- label: localeText.start,
65
+ label: inLocaleText?.start ?? localeText.start,
64
66
  onKeyDown: (0, _internals.onSpaceOrEnter)(openRangeStartSelection),
65
67
  onFocus: focusOnRangeStart,
66
68
  focused: open ? rangePosition === 'start' : undefined
67
69
  }, !readOnly && !disabled && {
68
70
  onClick: openRangeStartSelection
69
71
  }, {
70
- inputProps: {
71
- readOnly: wrapperVariant === 'mobile'
72
- }
72
+ readOnly: readOnlyInput,
73
+ disabled
73
74
  });
74
75
  const endInputProps = (0, _extends2.default)({
75
76
  inputRef: endRef,
76
- label: localeText.end,
77
+ label: inLocaleText?.end ?? localeText.end,
77
78
  onKeyDown: (0, _internals.onSpaceOrEnter)(openRangeEndSelection),
78
79
  onFocus: focusOnRangeEnd,
79
80
  focused: open ? rangePosition === 'end' : undefined
80
81
  }, !readOnly && !disabled && {
81
82
  onClick: openRangeEndSelection
82
83
  }, {
83
- inputProps: {
84
- readOnly: wrapperVariant === 'mobile'
85
- }
84
+ readOnly: readOnlyInput,
85
+ disabled
86
86
  });
87
87
  const rootProps = {
88
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
  }) => {
@@ -36,7 +35,8 @@ const useStaticRangePicker = ({
36
35
  localeText,
37
36
  components,
38
37
  componentsProps,
39
- displayStaticWrapperAs
38
+ displayStaticWrapperAs,
39
+ autoFocus
40
40
  } = props;
41
41
  const [rangePosition, setRangePosition] = React.useState('start');
42
42
  const {
@@ -44,9 +44,9 @@ const useStaticRangePicker = ({
44
44
  renderCurrentView
45
45
  } = (0, _internals.usePicker)({
46
46
  props,
47
- viewLookup,
48
47
  valueManager,
49
48
  validator,
49
+ autoFocusView: autoFocus ?? false,
50
50
  additionalViewProps: {},
51
51
  wrapperVariant: displayStaticWrapperAs
52
52
  });
@@ -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 = "MTY3MDQ1NDAwMDAwMA==";
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,36 +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: ' – '
54
+ dateName: position
54
55
  });
55
- }
56
- return (0, _extends2.default)({}, section, {
57
- dateName: 'start'
58
56
  });
59
- });
60
- const sectionsOfEndDate = rawSectionsOfEndDate.map(section => (0, _extends2.default)({}, section, {
61
- dateName: 'end'
62
- }));
63
- return (0, _internals.addPositionPropertiesToSections)([...sectionsOfStartDate, ...sectionsOfEndDate]);
57
+ };
58
+ return (0, _internals.addPositionPropertiesToSections)([...getSections(start, prevDateRangeSections.startDate, 'start'), ...getSections(end, prevDateRangeSections.endDate, 'end')]);
64
59
  },
65
60
  getValueStrFromSections: sections => {
66
61
  const dateRangeSections = (0, _dateFieldsUtils.splitDateRangeSections)(sections);
67
- const startDateStr = (0, _internals.createDateStrFromSections)(dateRangeSections.startDate, true);
68
- const endDateStr = (0, _internals.createDateStrFromSections)(dateRangeSections.endDate, true);
69
- return `${startDateStr}${endDateStr}`;
62
+ return (0, _internals.createDateStrForInputFromSections)([...dateRangeSections.startDate, ...dateRangeSections.endDate]);
70
63
  },
71
64
  getActiveDateSections: (sections, activeSection) => {
72
65
  const index = activeSection.dateName === 'start' ? 0 : 1;
@@ -95,6 +88,12 @@ const rangeFieldValueManager = {
95
88
  })
96
89
  };
97
90
  },
98
- hasError: error => error[0] != null || error[1] != null
91
+ hasError: error => error[0] != null || error[1] != null,
92
+ getSectionOrder: (utils, localeText, format, isRTL) => {
93
+ const splitedFormat = (0, _internals.splitFormatIntoSections)(utils, localeText, format, null);
94
+ return (0, _internals.getSectionOrder)([...splitedFormat.slice(0, splitedFormat.length - 1), (0, _extends2.default)({}, splitedFormat[splitedFormat.length - 1], {
95
+ endSeparator: ' – '
96
+ }), ...splitedFormat], isRTL);
97
+ }
99
98
  };
100
99
  exports.rangeFieldValueManager = rangeFieldValueManager;
@@ -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.11",
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",
@@ -30,13 +30,13 @@
30
30
  "directory": "packages/x-date-pickers-pro"
31
31
  },
32
32
  "dependencies": {
33
- "@babel/runtime": "^7.20.1",
33
+ "@babel/runtime": "^7.20.6",
34
34
  "@date-io/date-fns": "^2.16.0",
35
35
  "@date-io/dayjs": "^2.16.0",
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.11",
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;