@mui/x-date-pickers-pro 7.15.0 → 7.17.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.
Files changed (187) hide show
  1. package/CHANGELOG.md +185 -1
  2. package/DateRangeCalendar/DateRangeCalendar.js +16 -13
  3. package/DateRangeCalendar/index.js +2 -2
  4. package/DateRangeCalendar/useDragRange.js +3 -1
  5. package/DateRangePicker/DateRangePicker.js +15 -13
  6. package/DateRangePicker/DateRangePickerToolbar.js +3 -1
  7. package/DateRangePicker/index.js +3 -3
  8. package/DateRangePicker/shared.js +1 -1
  9. package/DateRangePickerDay/DateRangePickerDay.js +4 -2
  10. package/DateRangePickerDay/index.js +2 -2
  11. package/DateTimeRangePicker/DateTimeRangePicker.js +15 -13
  12. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -1
  13. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -2
  14. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +4 -2
  15. package/DateTimeRangePicker/index.js +5 -5
  16. package/DateTimeRangePicker/shared.js +2 -2
  17. package/DesktopDateRangePicker/DesktopDateRangePicker.js +20 -18
  18. package/DesktopDateRangePicker/index.js +1 -1
  19. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +23 -20
  20. package/DesktopDateTimeRangePicker/index.js +1 -1
  21. package/MobileDateRangePicker/MobileDateRangePicker.js +20 -18
  22. package/MobileDateRangePicker/index.js +1 -1
  23. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +23 -20
  24. package/MobileDateTimeRangePicker/index.js +1 -1
  25. package/MultiInputDateRangeField/MultiInputDateRangeField.js +16 -11
  26. package/MultiInputDateRangeField/index.js +2 -2
  27. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +16 -11
  28. package/MultiInputDateTimeRangeField/index.js +2 -2
  29. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -11
  30. package/MultiInputTimeRangeField/index.js +2 -2
  31. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -0
  32. package/PickersRangeCalendarHeader/index.js +1 -1
  33. package/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -8
  34. package/SingleInputDateRangeField/index.js +2 -2
  35. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  36. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +7 -4
  37. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -8
  38. package/SingleInputDateTimeRangeField/index.js +2 -2
  39. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  40. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +7 -4
  41. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +12 -8
  42. package/SingleInputTimeRangeField/index.js +2 -2
  43. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  44. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +7 -4
  45. package/StaticDateRangePicker/StaticDateRangePicker.js +18 -16
  46. package/StaticDateRangePicker/index.js +1 -1
  47. package/dateRangeViewRenderers/dateRangeViewRenderers.js +1 -1
  48. package/dateRangeViewRenderers/index.js +1 -1
  49. package/index.d.ts +1 -0
  50. package/index.js +20 -19
  51. package/internals/hooks/useDesktopRangePicker/index.js +1 -1
  52. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -3
  53. package/internals/hooks/useMobileRangePicker/index.js +1 -1
  54. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -3
  55. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -17
  56. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +17 -17
  57. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +17 -17
  58. package/internals/hooks/useStaticRangePicker/index.js +1 -1
  59. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -1
  60. package/internals/models/index.js +4 -4
  61. package/internals/utils/releaseInfo.js +1 -1
  62. package/internals/utils/valueManagers.js +1 -1
  63. package/models/index.js +5 -5
  64. package/modern/DateRangeCalendar/DateRangeCalendar.js +16 -13
  65. package/modern/DateRangeCalendar/index.js +2 -2
  66. package/modern/DateRangeCalendar/useDragRange.js +3 -1
  67. package/modern/DateRangePicker/DateRangePicker.js +15 -13
  68. package/modern/DateRangePicker/DateRangePickerToolbar.js +3 -1
  69. package/modern/DateRangePicker/index.js +3 -3
  70. package/modern/DateRangePicker/shared.js +1 -1
  71. package/modern/DateRangePickerDay/DateRangePickerDay.js +4 -2
  72. package/modern/DateRangePickerDay/index.js +2 -2
  73. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +15 -13
  74. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -1
  75. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -2
  76. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +4 -2
  77. package/modern/DateTimeRangePicker/index.js +5 -5
  78. package/modern/DateTimeRangePicker/shared.js +2 -2
  79. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +20 -18
  80. package/modern/DesktopDateRangePicker/index.js +1 -1
  81. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +23 -20
  82. package/modern/DesktopDateTimeRangePicker/index.js +1 -1
  83. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +20 -18
  84. package/modern/MobileDateRangePicker/index.js +1 -1
  85. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +23 -20
  86. package/modern/MobileDateTimeRangePicker/index.js +1 -1
  87. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +16 -11
  88. package/modern/MultiInputDateRangeField/index.js +2 -2
  89. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +16 -11
  90. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  91. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -11
  92. package/modern/MultiInputTimeRangeField/index.js +2 -2
  93. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -0
  94. package/modern/PickersRangeCalendarHeader/index.js +1 -1
  95. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -8
  96. package/modern/SingleInputDateRangeField/index.js +2 -2
  97. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +7 -4
  98. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -8
  99. package/modern/SingleInputDateTimeRangeField/index.js +2 -2
  100. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +7 -4
  101. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +12 -8
  102. package/modern/SingleInputTimeRangeField/index.js +2 -2
  103. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +7 -4
  104. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +18 -16
  105. package/modern/StaticDateRangePicker/index.js +1 -1
  106. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +1 -1
  107. package/modern/dateRangeViewRenderers/index.js +1 -1
  108. package/modern/index.js +20 -19
  109. package/modern/internals/hooks/useDesktopRangePicker/index.js +1 -1
  110. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -3
  111. package/modern/internals/hooks/useMobileRangePicker/index.js +1 -1
  112. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -3
  113. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -17
  114. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +17 -17
  115. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +17 -17
  116. package/modern/internals/hooks/useStaticRangePicker/index.js +1 -1
  117. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -1
  118. package/modern/internals/models/index.js +4 -4
  119. package/modern/internals/utils/releaseInfo.js +1 -1
  120. package/modern/internals/utils/valueManagers.js +1 -1
  121. package/modern/models/index.js +5 -5
  122. package/modern/themeAugmentation/index.js +1 -4
  123. package/modern/validation/index.js +3 -0
  124. package/modern/{internals/utils/validation → validation}/validateDateRange.js +10 -5
  125. package/modern/{internals/utils/validation → validation}/validateDateTimeRange.js +10 -5
  126. package/{internals/utils → modern}/validation/validateTimeRange.js +10 -5
  127. package/node/DateRangeCalendar/DateRangeCalendar.js +7 -6
  128. package/node/DateRangeCalendar/useDragRange.js +3 -3
  129. package/node/DateRangePicker/DateRangePicker.js +14 -14
  130. package/node/DateRangePicker/DateRangePickerToolbar.js +3 -3
  131. package/node/DateRangePicker/shared.js +2 -3
  132. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -3
  133. package/node/DateTimeRangePicker/DateTimeRangePicker.js +14 -14
  134. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -3
  135. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +1 -1
  136. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +3 -3
  137. package/node/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +1 -1
  138. package/node/DateTimeRangePicker/shared.js +1 -1
  139. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +18 -18
  140. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +18 -17
  141. package/node/MobileDateRangePicker/MobileDateRangePicker.js +18 -18
  142. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -17
  143. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -12
  144. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -12
  145. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -12
  146. package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +3 -3
  147. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  148. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +6 -5
  149. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
  150. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +6 -5
  151. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +12 -10
  152. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +6 -5
  153. package/node/StaticDateRangePicker/StaticDateRangePicker.js +16 -16
  154. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +1 -2
  155. package/node/index.js +13 -1
  156. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -3
  157. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +2 -3
  158. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -3
  159. package/node/internals/hooks/useMultiInputFieldSelectedSections.js +2 -3
  160. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +14 -14
  161. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -14
  162. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -14
  163. package/node/internals/hooks/useRangePosition.js +1 -1
  164. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +2 -3
  165. package/node/internals/utils/date-fields-utils.js +1 -1
  166. package/node/internals/utils/releaseInfo.js +1 -1
  167. package/node/internals/utils/valueManagers.js +1 -1
  168. package/node/themeAugmentation/index.js +0 -33
  169. package/node/validation/index.js +26 -0
  170. package/node/{internals/utils/validation → validation}/validateDateRange.js +13 -8
  171. package/node/{internals/utils/validation → validation}/validateDateTimeRange.js +13 -8
  172. package/node/{internals/utils/validation → validation}/validateTimeRange.js +12 -7
  173. package/package.json +5 -4
  174. package/themeAugmentation/index.d.ts +3 -3
  175. package/themeAugmentation/index.js +1 -4
  176. package/validation/index.d.ts +6 -0
  177. package/validation/index.js +3 -0
  178. package/validation/package.json +6 -0
  179. package/validation/validateDateRange.d.ts +8 -0
  180. package/{internals/utils/validation → validation}/validateDateRange.js +10 -5
  181. package/validation/validateDateTimeRange.d.ts +8 -0
  182. package/{internals/utils/validation → validation}/validateDateTimeRange.js +10 -5
  183. package/validation/validateTimeRange.d.ts +6 -0
  184. package/{modern/internals/utils/validation → validation}/validateTimeRange.js +10 -5
  185. package/internals/utils/validation/validateDateRange.d.ts +0 -7
  186. package/internals/utils/validation/validateDateTimeRange.d.ts +0 -7
  187. package/internals/utils/validation/validateTimeRange.d.ts +0 -6
@@ -1 +1 @@
1
- export { StaticDateRangePicker } from './StaticDateRangePicker';
1
+ export { StaticDateRangePicker } from "./StaticDateRangePicker.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { DateRangeCalendar } from '../DateRangeCalendar';
2
+ import { DateRangeCalendar } from "../DateRangeCalendar/index.js";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  /**
5
5
  * We don't pass all the props down to `DateRangeCalendar`,
@@ -1 +1 @@
1
- export { renderDateRangeViewCalendar } from './dateRangeViewRenderers';
1
+ export { renderDateRangeViewCalendar } from "./dateRangeViewRenderers.js";
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.15.0
2
+ * @mui/x-date-pickers-pro v7.17.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -12,29 +12,30 @@ import { LicenseInfo as LicenseInfoExport } from '@mui/x-license';
12
12
  */
13
13
  export class LicenseInfo extends LicenseInfoExport {}
14
14
  export * from '@mui/x-date-pickers';
15
- export * from './DateRangePickerDay';
15
+ export * from "./DateRangePickerDay/index.js";
16
16
 
17
17
  // Fields
18
- export * from './MultiInputDateRangeField';
19
- export * from './MultiInputTimeRangeField';
20
- export * from './MultiInputDateTimeRangeField';
21
- export * from './SingleInputDateRangeField';
22
- export * from './SingleInputTimeRangeField';
23
- export * from './SingleInputDateTimeRangeField';
18
+ export * from "./MultiInputDateRangeField/index.js";
19
+ export * from "./MultiInputTimeRangeField/index.js";
20
+ export * from "./MultiInputDateTimeRangeField/index.js";
21
+ export * from "./SingleInputDateRangeField/index.js";
22
+ export * from "./SingleInputTimeRangeField/index.js";
23
+ export * from "./SingleInputDateTimeRangeField/index.js";
24
24
 
25
25
  // Calendars
26
- export * from './DateRangeCalendar';
27
- export * from './PickersRangeCalendarHeader';
26
+ export * from "./DateRangeCalendar/index.js";
27
+ export * from "./PickersRangeCalendarHeader/index.js";
28
28
 
29
29
  // New pickers
30
- export * from './DateRangePicker';
31
- export * from './DesktopDateRangePicker';
32
- export * from './MobileDateRangePicker';
33
- export * from './StaticDateRangePicker';
34
- export * from './DateTimeRangePicker';
35
- export * from './DesktopDateTimeRangePicker';
36
- export * from './MobileDateTimeRangePicker';
30
+ export * from "./DateRangePicker/index.js";
31
+ export * from "./DesktopDateRangePicker/index.js";
32
+ export * from "./MobileDateRangePicker/index.js";
33
+ export * from "./StaticDateRangePicker/index.js";
34
+ export * from "./DateTimeRangePicker/index.js";
35
+ export * from "./DesktopDateTimeRangePicker/index.js";
36
+ export * from "./MobileDateTimeRangePicker/index.js";
37
37
 
38
38
  // View renderers
39
- export * from './dateRangeViewRenderers';
40
- export * from './models';
39
+ export * from "./dateRangeViewRenderers/index.js";
40
+ export * from "./models/index.js";
41
+ export * from "./validation/index.js";
@@ -1 +1 @@
1
- export { useDesktopRangePicker } from './useDesktopRangePicker';
1
+ export { useDesktopRangePicker } from "./useDesktopRangePicker.js";
@@ -7,9 +7,9 @@ import { useLicenseVerifier } from '@mui/x-license';
7
7
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
8
8
  import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
9
9
  import { executeInTheNextEventLoopTick, getActiveElement, usePicker, PickersPopper } from '@mui/x-date-pickers/internals';
10
- import { useEnrichedRangePickerFieldProps } from '../useEnrichedRangePickerFieldProps';
11
- import { getReleaseInfo } from '../../utils/releaseInfo';
12
- import { useRangePosition } from '../useRangePosition';
10
+ import { useEnrichedRangePickerFieldProps } from "../useEnrichedRangePickerFieldProps.js";
11
+ import { getReleaseInfo } from "../../utils/releaseInfo.js";
12
+ import { useRangePosition } from "../useRangePosition.js";
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  const releaseInfo = getReleaseInfo();
15
15
  export const useDesktopRangePicker = _ref => {
@@ -1 +1 @@
1
- export { useMobileRangePicker } from './useMobileRangePicker';
1
+ export { useMobileRangePicker } from "./useMobileRangePicker.js";
@@ -9,9 +9,9 @@ import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
9
9
  import { usePicker, PickersModalDialog } from '@mui/x-date-pickers/internals';
10
10
  import { usePickersTranslations } from '@mui/x-date-pickers/hooks';
11
11
  import useId from '@mui/utils/useId';
12
- import { useEnrichedRangePickerFieldProps } from '../useEnrichedRangePickerFieldProps';
13
- import { getReleaseInfo } from '../../utils/releaseInfo';
14
- import { useRangePosition } from '../useRangePosition';
12
+ import { useEnrichedRangePickerFieldProps } from "../useEnrichedRangePickerFieldProps.js";
13
+ import { getReleaseInfo } from "../../utils/releaseInfo.js";
14
+ import { useRangePosition } from "../useRangePosition.js";
15
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
16
  const releaseInfo = getReleaseInfo();
17
17
  export const useMobileRangePicker = _ref => {
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import { unstable_useDateField as useDateField } from '@mui/x-date-pickers/DateField';
4
- import { useLocalizationContext, useValidation, useControlledValueWithTimezone, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
5
- import { validateDateRange } from '../../utils/validation/validateDateRange';
6
- import { rangeValueManager } from '../../utils/valueManagers';
7
- import { excludeProps } from './shared';
8
- import { useMultiInputFieldSelectedSections } from '../useMultiInputFieldSelectedSections';
4
+ import { useControlledValueWithTimezone, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
5
+ import { useValidation } from '@mui/x-date-pickers/validation';
6
+ import { validateDateRange } from "../../../validation/index.js";
7
+ import { rangeValueManager } from "../../utils/valueManagers.js";
8
+ import { excludeProps } from "./shared.js";
9
+ import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
9
10
  export const useMultiInputDateRangeField = ({
10
11
  sharedProps: inSharedProps,
11
12
  startTextFieldProps,
@@ -14,7 +15,6 @@ export const useMultiInputDateRangeField = ({
14
15
  unstableEndFieldRef
15
16
  }) => {
16
17
  const sharedProps = useDefaultizedDateField(inSharedProps);
17
- const adapter = useLocalizationContext();
18
18
  const {
19
19
  value: valueProp,
20
20
  defaultValue,
@@ -42,29 +42,29 @@ export const useMultiInputDateRangeField = ({
42
42
  onChange,
43
43
  valueManager: rangeValueManager
44
44
  });
45
+ const {
46
+ validationError,
47
+ getValidationErrorForNewValue
48
+ } = useValidation({
49
+ props: sharedProps,
50
+ value,
51
+ timezone,
52
+ validator: validateDateRange,
53
+ onError: sharedProps.onError
54
+ });
45
55
 
46
56
  // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
47
57
  const buildChangeHandler = index => {
48
58
  return (newDate, rawContext) => {
49
59
  const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
50
60
  const context = _extends({}, rawContext, {
51
- validationError: validateDateRange({
52
- adapter,
53
- value: newDateRange,
54
- props: _extends({}, sharedProps, {
55
- timezone
56
- })
57
- })
61
+ validationError: getValidationErrorForNewValue(newDateRange)
58
62
  });
59
63
  handleValueChange(newDateRange, context);
60
64
  };
61
65
  };
62
66
  const handleStartDateChange = useEventCallback(buildChangeHandler(0));
63
67
  const handleEndDateChange = useEventCallback(buildChangeHandler(1));
64
- const validationError = useValidation(_extends({}, sharedProps, {
65
- value,
66
- timezone
67
- }), validateDateRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
68
  const selectedSectionsResponse = useMultiInputFieldSelectedSections({
69
69
  selectedSections,
70
70
  onSelectedSectionsChange,
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import { unstable_useDateTimeField as useDateTimeField } from '@mui/x-date-pickers/DateTimeField';
4
- import { useLocalizationContext, useValidation, useControlledValueWithTimezone, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
5
- import { validateDateTimeRange } from '../../utils/validation/validateDateTimeRange';
6
- import { rangeValueManager } from '../../utils/valueManagers';
7
- import { excludeProps } from './shared';
8
- import { useMultiInputFieldSelectedSections } from '../useMultiInputFieldSelectedSections';
4
+ import { useControlledValueWithTimezone, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
5
+ import { useValidation } from '@mui/x-date-pickers/validation';
6
+ import { validateDateTimeRange } from "../../../validation/index.js";
7
+ import { rangeValueManager } from "../../utils/valueManagers.js";
8
+ import { excludeProps } from "./shared.js";
9
+ import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
9
10
  export const useMultiInputDateTimeRangeField = ({
10
11
  sharedProps: inSharedProps,
11
12
  startTextFieldProps,
@@ -14,7 +15,6 @@ export const useMultiInputDateTimeRangeField = ({
14
15
  unstableEndFieldRef
15
16
  }) => {
16
17
  const sharedProps = useDefaultizedDateTimeField(inSharedProps);
17
- const adapter = useLocalizationContext();
18
18
  const {
19
19
  value: valueProp,
20
20
  defaultValue,
@@ -42,29 +42,29 @@ export const useMultiInputDateTimeRangeField = ({
42
42
  onChange,
43
43
  valueManager: rangeValueManager
44
44
  });
45
+ const {
46
+ validationError,
47
+ getValidationErrorForNewValue
48
+ } = useValidation({
49
+ props: sharedProps,
50
+ value,
51
+ timezone,
52
+ validator: validateDateTimeRange,
53
+ onError: sharedProps.onError
54
+ });
45
55
 
46
56
  // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
47
57
  const buildChangeHandler = index => {
48
58
  return (newDate, rawContext) => {
49
59
  const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
50
60
  const context = _extends({}, rawContext, {
51
- validationError: validateDateTimeRange({
52
- adapter,
53
- value: newDateRange,
54
- props: _extends({}, sharedProps, {
55
- timezone
56
- })
57
- })
61
+ validationError: getValidationErrorForNewValue(newDateRange)
58
62
  });
59
63
  handleValueChange(newDateRange, context);
60
64
  };
61
65
  };
62
66
  const handleStartDateChange = useEventCallback(buildChangeHandler(0));
63
67
  const handleEndDateChange = useEventCallback(buildChangeHandler(1));
64
- const validationError = useValidation(_extends({}, sharedProps, {
65
- value,
66
- timezone
67
- }), validateDateTimeRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
68
  const selectedSectionsResponse = useMultiInputFieldSelectedSections({
69
69
  selectedSections,
70
70
  onSelectedSectionsChange,
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import { unstable_useTimeField as useTimeField } from '@mui/x-date-pickers/TimeField';
4
- import { useLocalizationContext, useValidation, useControlledValueWithTimezone, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
5
- import { validateTimeRange } from '../../utils/validation/validateTimeRange';
6
- import { rangeValueManager } from '../../utils/valueManagers';
7
- import { excludeProps } from './shared';
8
- import { useMultiInputFieldSelectedSections } from '../useMultiInputFieldSelectedSections';
4
+ import { useControlledValueWithTimezone, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
5
+ import { useValidation } from '@mui/x-date-pickers/validation';
6
+ import { validateTimeRange } from "../../../validation/index.js";
7
+ import { rangeValueManager } from "../../utils/valueManagers.js";
8
+ import { excludeProps } from "./shared.js";
9
+ import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
9
10
  export const useMultiInputTimeRangeField = ({
10
11
  sharedProps: inSharedProps,
11
12
  startTextFieldProps,
@@ -14,7 +15,6 @@ export const useMultiInputTimeRangeField = ({
14
15
  unstableEndFieldRef
15
16
  }) => {
16
17
  const sharedProps = useDefaultizedTimeField(inSharedProps);
17
- const adapter = useLocalizationContext();
18
18
  const {
19
19
  value: valueProp,
20
20
  defaultValue,
@@ -42,29 +42,29 @@ export const useMultiInputTimeRangeField = ({
42
42
  onChange,
43
43
  valueManager: rangeValueManager
44
44
  });
45
+ const {
46
+ validationError,
47
+ getValidationErrorForNewValue
48
+ } = useValidation({
49
+ props: sharedProps,
50
+ validator: validateTimeRange,
51
+ value,
52
+ timezone,
53
+ onError: sharedProps.onError
54
+ });
45
55
 
46
56
  // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
47
57
  const buildChangeHandler = index => {
48
58
  return (newDate, rawContext) => {
49
59
  const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
50
60
  const context = _extends({}, rawContext, {
51
- validationError: validateTimeRange({
52
- adapter,
53
- value: newDateRange,
54
- props: _extends({}, sharedProps, {
55
- timezone
56
- })
57
- })
61
+ validationError: getValidationErrorForNewValue(newDateRange)
58
62
  });
59
63
  handleValueChange(newDateRange, context);
60
64
  };
61
65
  };
62
66
  const handleStartDateChange = useEventCallback(buildChangeHandler(0));
63
67
  const handleEndDateChange = useEventCallback(buildChangeHandler(1));
64
- const validationError = useValidation(_extends({}, sharedProps, {
65
- value,
66
- timezone
67
- }), validateTimeRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
68
  const selectedSectionsResponse = useMultiInputFieldSelectedSections({
69
69
  selectedSections,
70
70
  onSelectedSectionsChange,
@@ -1 +1 @@
1
- export { useStaticRangePicker } from './useStaticRangePicker';
1
+ export { useStaticRangePicker } from "./useStaticRangePicker.js";
@@ -7,7 +7,7 @@ import { styled } from '@mui/material/styles';
7
7
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
8
8
  import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
9
9
  import { usePicker, DIALOG_WIDTH } from '@mui/x-date-pickers/internals';
10
- import { useRangePosition } from '../useRangePosition';
10
+ import { useRangePosition } from "../useRangePosition.js";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const PickerStaticLayout = styled(PickersLayout)(({
13
13
  theme
@@ -1,4 +1,4 @@
1
- export * from './dateRange';
2
- export * from './dateTimeRange';
3
- export * from './timeRange';
4
- export * from './rangePickerProps';
1
+ export * from "./dateRange.js";
2
+ export * from "./dateTimeRange.js";
3
+ export * from "./timeRange.js";
4
+ export * from "./rangePickerProps.js";
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcyNDg4MjQwMDAwMA==";
3
+ const releaseInfo = "MTcyNjE5NjQwMDAwMA==";
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
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["value", "referenceDate"];
4
4
  import { replaceInvalidDateByNull, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections, areDatesEqual, getTodayDate, getDefaultReferenceDate } from '@mui/x-date-pickers/internals';
5
- import { splitDateRangeSections, removeLastSeparator } from './date-fields-utils';
5
+ import { splitDateRangeSections, removeLastSeparator } from "./date-fields-utils.js";
6
6
  export const rangeValueManager = {
7
7
  emptyValue: [null, null],
8
8
  getTodayValue: (utils, timezone, valueType) => [getTodayDate(utils, timezone, valueType), getTodayDate(utils, timezone, valueType)],
@@ -1,5 +1,5 @@
1
- export * from './dateRange';
2
- export * from './fields';
3
- export * from './range';
4
- export * from './validation';
5
- export * from './multiInputRangeFieldClasses';
1
+ export * from "./dateRange.js";
2
+ export * from "./fields.js";
3
+ export * from "./range.js";
4
+ export * from "./validation.js";
5
+ export * from "./multiInputRangeFieldClasses.js";
@@ -1,4 +1 @@
1
- export * from '@mui/x-date-pickers/themeAugmentation';
2
- export * from './overrides';
3
- export * from './props';
4
- export * from './components';
1
+ export * from '@mui/x-date-pickers/themeAugmentation';
@@ -0,0 +1,3 @@
1
+ export { validateDateRange } from "./validateDateRange.js";
2
+ export { validateTimeRange } from "./validateTimeRange.js";
3
+ export { validateDateTimeRange } from "./validateDateTimeRange.js";
@@ -1,12 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["shouldDisableDate"];
4
- import { validateDate } from '@mui/x-date-pickers/internals';
5
- import { isRangeValid } from '../date-utils';
4
+ import { validateDate } from '@mui/x-date-pickers/validation';
5
+ import { isRangeValid } from "../internals/utils/date-utils.js";
6
+ import { rangeValueManager } from "../internals/utils/valueManagers.js";
6
7
  export const validateDateRange = ({
7
- props,
8
+ adapter,
8
9
  value,
9
- adapter
10
+ timezone,
11
+ props
10
12
  }) => {
11
13
  const [start, end] = value;
12
14
  const {
@@ -16,12 +18,14 @@ export const validateDateRange = ({
16
18
  const dateValidations = [validateDate({
17
19
  adapter,
18
20
  value: start,
21
+ timezone,
19
22
  props: _extends({}, otherProps, {
20
23
  shouldDisableDate: day => !!shouldDisableDate?.(day, 'start')
21
24
  })
22
25
  }), validateDate({
23
26
  adapter,
24
27
  value: end,
28
+ timezone,
25
29
  props: _extends({}, otherProps, {
26
30
  shouldDisableDate: day => !!shouldDisableDate?.(day, 'end')
27
31
  })
@@ -38,4 +42,5 @@ export const validateDateRange = ({
38
42
  return ['invalidRange', 'invalidRange'];
39
43
  }
40
44
  return [null, null];
41
- };
45
+ };
46
+ validateDateRange.valueManager = rangeValueManager;
@@ -1,12 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["shouldDisableDate"];
4
- import { validateDateTime } from '@mui/x-date-pickers/internals';
5
- import { isRangeValid } from '../date-utils';
4
+ import { validateDateTime } from '@mui/x-date-pickers/validation';
5
+ import { isRangeValid } from "../internals/utils/date-utils.js";
6
+ import { rangeValueManager } from "../internals/utils/valueManagers.js";
6
7
  export const validateDateTimeRange = ({
7
- props,
8
+ adapter,
8
9
  value,
9
- adapter
10
+ timezone,
11
+ props
10
12
  }) => {
11
13
  const [start, end] = value;
12
14
  const {
@@ -16,12 +18,14 @@ export const validateDateTimeRange = ({
16
18
  const dateTimeValidations = [validateDateTime({
17
19
  adapter,
18
20
  value: start,
21
+ timezone,
19
22
  props: _extends({}, otherProps, {
20
23
  shouldDisableDate: day => !!shouldDisableDate?.(day, 'start')
21
24
  })
22
25
  }), validateDateTime({
23
26
  adapter,
24
27
  value: end,
28
+ timezone,
25
29
  props: _extends({}, otherProps, {
26
30
  shouldDisableDate: day => !!shouldDisableDate?.(day, 'end')
27
31
  })
@@ -38,4 +42,5 @@ export const validateDateTimeRange = ({
38
42
  return ['invalidRange', 'invalidRange'];
39
43
  }
40
44
  return [null, null];
41
- };
45
+ };
46
+ validateDateTimeRange.valueManager = rangeValueManager;
@@ -1,18 +1,22 @@
1
- import { validateTime } from '@mui/x-date-pickers/internals';
2
- import { isRangeValid } from '../date-utils';
1
+ import { validateTime } from '@mui/x-date-pickers/validation';
2
+ import { isRangeValid } from "../internals/utils/date-utils.js";
3
+ import { rangeValueManager } from "../internals/utils/valueManagers.js";
3
4
  export const validateTimeRange = ({
4
- props,
5
+ adapter,
5
6
  value,
6
- adapter
7
+ timezone,
8
+ props
7
9
  }) => {
8
10
  const [start, end] = value;
9
11
  const dateTimeValidations = [validateTime({
10
12
  adapter,
11
13
  value: start,
14
+ timezone,
12
15
  props
13
16
  }), validateTime({
14
17
  adapter,
15
18
  value: end,
19
+ timezone,
16
20
  props
17
21
  })];
18
22
  if (dateTimeValidations[0] || dateTimeValidations[1]) {
@@ -27,4 +31,5 @@ export const validateTimeRange = ({
27
31
  return ['invalidRange', 'invalidRange'];
28
32
  }
29
33
  return [null, null];
30
- };
34
+ };
35
+ validateTimeRange.valueManager = rangeValueManager;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
@@ -19,6 +21,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
19
21
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
20
22
  var _xLicense = require("@mui/x-license");
21
23
  var _internals = require("@mui/x-date-pickers/internals");
24
+ var _warning = require("@mui/x-internals/warning");
22
25
  var _releaseInfo = require("../internals/utils/releaseInfo");
23
26
  var _dateRangeCalendarClasses = require("./dateRangeCalendarClasses");
24
27
  var _dateUtils = require("../internals/utils/date-utils");
@@ -32,8 +35,6 @@ var _PickersRangeCalendarHeader = require("../PickersRangeCalendarHeader");
32
35
  var _jsxRuntime = require("react/jsx-runtime");
33
36
  const _excluded = ["value", "defaultValue", "referenceDate", "onChange", "className", "disableFuture", "disablePast", "minDate", "maxDate", "shouldDisableDate", "reduceAnimations", "onMonthChange", "rangePosition", "defaultRangePosition", "onRangePositionChange", "calendars", "currentMonthCalendarPosition", "slots", "slotProps", "loading", "renderLoading", "disableHighlightToday", "readOnly", "disabled", "showDaysOutsideCurrentMonth", "dayOfWeekFormatter", "disableAutoMonthSwitching", "autoFocus", "fixedWeekNumber", "disableDragEditing", "displayWeekNumber", "timezone", "availableRangePositions", "views", "view", "openTo", "onViewChange"],
34
37
  _excluded2 = ["isDragging", "rangeDragDay", "draggingDatePosition"];
35
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
36
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
37
38
  const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
38
39
  const DateRangeCalendarRoot = (0, _styles.styled)('div', {
39
40
  name: 'MuiDateRangeCalendar',
@@ -330,7 +331,7 @@ const DateRangeCalendar = exports.DateRangeCalendar = /*#__PURE__*/React.forward
330
331
  if (disableAutoMonthSwitching && prevDate && utils.isEqual(prevDate, date)) {
331
332
  return;
332
333
  }
333
- const displayingMonthRange = calendars - 1;
334
+ const displayingMonthRange = calendars - currentMonthCalendarPosition;
334
335
  const currentMonthNumber = utils.getMonth(calendarState.currentMonth);
335
336
  const requestedMonthNumber = utils.getMonth(date);
336
337
  if (!utils.isSameYear(calendarState.currentMonth, date) || requestedMonthNumber < currentMonthNumber || requestedMonthNumber > currentMonthNumber + displayingMonthRange) {
@@ -411,7 +412,7 @@ const DateRangeCalendar = exports.DateRangeCalendar = /*#__PURE__*/React.forward
411
412
  const visibleMonths = React.useMemo(() => {
412
413
  if (process.env.NODE_ENV !== 'production') {
413
414
  if (currentMonthCalendarPosition > calendars || currentMonthCalendarPosition < 1) {
414
- (0, _internals.warnOnce)(['MUI X: 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.']);
415
+ (0, _warning.warnOnce)(['MUI X: 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.']);
415
416
  }
416
417
  }
417
418
  const firstMonth = utils.addMonths(calendarState.currentMonth, 1 - currentMonthCalendarPosition);
@@ -596,7 +597,7 @@ process.env.NODE_ENV !== "production" ? DateRangeCalendar.propTypes = {
596
597
  minDate: _propTypes.default.object,
597
598
  /**
598
599
  * Callback fired when the value changes.
599
- * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
600
+ * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
600
601
  * @template TView The view type. Will be one of date or time views.
601
602
  * @param {TValue} value The new value.
602
603
  * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
@@ -9,8 +11,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
11
  var React = _interopRequireWildcard(require("react"));
10
12
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
11
13
  var _dateUtils = require("../internals/utils/date-utils");
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  const resolveDateFromTarget = (target, utils, timezone) => {
15
15
  const timestampString = target.dataset.timestamp;
16
16
  if (!timestampString) {