@mui/x-date-pickers-pro 6.10.2 → 6.11.1

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 (93) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/DateRangeCalendar/DateRangeCalendar.d.ts +1 -1
  3. package/DateRangeCalendar/DateRangeCalendar.js +3 -1
  4. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +3 -2
  5. package/DateRangePicker/DateRangePicker.d.ts +1 -1
  6. package/DateRangePickerDay/DateRangePickerDay.d.ts +1 -1
  7. package/DateRangePickerDay/DateRangePickerDay.js +1 -0
  8. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +1 -1
  9. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +1 -1
  10. package/MobileDateRangePicker/MobileDateRangePicker.js +1 -4
  11. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +4 -1
  12. package/MultiInputDateRangeField/MultiInputDateRangeField.js +27 -4
  13. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +5 -0
  14. package/MultiInputDateRangeField/index.d.ts +1 -1
  15. package/MultiInputDateRangeField/index.js +1 -1
  16. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +4 -1
  17. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +27 -4
  18. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +5 -0
  19. package/MultiInputDateTimeRangeField/index.d.ts +1 -1
  20. package/MultiInputDateTimeRangeField/index.js +1 -1
  21. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +4 -1
  22. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +27 -4
  23. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +5 -0
  24. package/MultiInputTimeRangeField/index.d.ts +1 -1
  25. package/MultiInputTimeRangeField/index.js +1 -1
  26. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +1 -1
  27. package/SingleInputDateRangeField/SingleInputDateRangeField.js +3 -2
  28. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +1 -1
  29. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +3 -2
  30. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +1 -1
  31. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +3 -2
  32. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +1 -1
  33. package/index.js +1 -1
  34. package/internals/utils/releaseInfo.js +1 -1
  35. package/internals/utils/valueManagers.js +2 -2
  36. package/legacy/DateRangeCalendar/DateRangeCalendar.js +3 -1
  37. package/legacy/DateRangePickerDay/DateRangePickerDay.js +1 -0
  38. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +1 -6
  39. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +26 -3
  40. package/legacy/MultiInputDateRangeField/index.js +1 -1
  41. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -3
  42. package/legacy/MultiInputDateTimeRangeField/index.js +1 -1
  43. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +26 -3
  44. package/legacy/MultiInputTimeRangeField/index.js +1 -1
  45. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +3 -2
  46. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +3 -2
  47. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +3 -2
  48. package/legacy/index.js +1 -1
  49. package/legacy/internals/utils/releaseInfo.js +1 -1
  50. package/legacy/internals/utils/valueManagers.js +2 -2
  51. package/legacy/models/index.js +2 -1
  52. package/legacy/models/multiInputRangeFieldClasses.js +1 -0
  53. package/models/index.d.ts +1 -0
  54. package/models/index.js +2 -1
  55. package/models/multiInputRangeFieldClasses.d.ts +7 -0
  56. package/models/multiInputRangeFieldClasses.js +1 -0
  57. package/modern/DateRangeCalendar/DateRangeCalendar.js +3 -1
  58. package/modern/DateRangePickerDay/DateRangePickerDay.js +1 -0
  59. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +1 -4
  60. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +27 -4
  61. package/modern/MultiInputDateRangeField/index.js +1 -1
  62. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +27 -4
  63. package/modern/MultiInputDateTimeRangeField/index.js +1 -1
  64. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +27 -4
  65. package/modern/MultiInputTimeRangeField/index.js +1 -1
  66. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +3 -2
  67. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +3 -2
  68. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +3 -2
  69. package/modern/index.js +1 -1
  70. package/modern/internals/utils/releaseInfo.js +1 -1
  71. package/modern/internals/utils/valueManagers.js +2 -2
  72. package/modern/models/index.js +2 -1
  73. package/modern/models/multiInputRangeFieldClasses.js +1 -0
  74. package/node/DateRangeCalendar/DateRangeCalendar.js +4 -2
  75. package/node/DateRangePickerDay/DateRangePickerDay.js +1 -0
  76. package/node/MobileDateRangePicker/MobileDateRangePicker.js +1 -4
  77. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +30 -5
  78. package/node/MultiInputDateRangeField/index.js +12 -0
  79. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +30 -5
  80. package/node/MultiInputDateTimeRangeField/index.js +12 -0
  81. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +30 -5
  82. package/node/MultiInputTimeRangeField/index.js +12 -0
  83. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +3 -2
  84. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +3 -2
  85. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +3 -2
  86. package/node/index.js +1 -1
  87. package/node/internals/utils/releaseInfo.js +1 -1
  88. package/node/internals/utils/valueManagers.js +2 -2
  89. package/node/models/index.js +11 -0
  90. package/node/models/multiInputRangeFieldClasses.js +5 -0
  91. package/package.json +4 -4
  92. package/themeAugmentation/components.d.ts +0 -7
  93. package/themeAugmentation/overrides.d.ts +4 -14
@@ -1,3 +1,3 @@
1
- export { MultiInputTimeRangeField } from './MultiInputTimeRangeField';
1
+ export { MultiInputTimeRangeField, getMultiInputTimeRangeFieldUtilityClass, multiInputTimeRangeFieldClasses, } from './MultiInputTimeRangeField';
2
2
  export { useMultiInputTimeRangeField as unstable_useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
3
3
  export type { UseMultiInputTimeRangeFieldProps, UseMultiInputTimeRangeFieldComponentProps, MultiInputTimeRangeFieldProps, } from './MultiInputTimeRangeField.types';
@@ -1,2 +1,2 @@
1
- export { MultiInputTimeRangeField } from './MultiInputTimeRangeField';
1
+ export { MultiInputTimeRangeField, getMultiInputTimeRangeFieldUtilityClass, multiInputTimeRangeFieldClasses } from './MultiInputTimeRangeField';
2
2
  export { useMultiInputTimeRangeField as unstable_useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
3
- type DateRangeFieldComponent = (<TDate>(props: SingleInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => JSX.Element) & {
3
+ type DateRangeFieldComponent = (<TDate>(props: SingleInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => React.JSX.Element) & {
4
4
  propTypes?: any;
5
5
  fieldType?: string;
6
6
  };
@@ -39,8 +39,8 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
39
39
  textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
40
40
 
41
41
  // TODO: Remove when mui/material-ui#35088 will be merged
42
- textFieldProps.inputProps = _extends({}, textFieldProps.inputProps, inputProps);
43
- textFieldProps.InputProps = _extends({}, textFieldProps.InputProps, InputProps);
42
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
43
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
44
44
  const _useSingleInputDateRa = useSingleInputDateRangeField({
45
45
  props: textFieldProps,
46
46
  inputRef: externalInputRef
@@ -86,6 +86,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
86
86
  * @default 'primary'
87
87
  */
88
88
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
89
+ component: PropTypes.elementType,
89
90
  /**
90
91
  * Overridable components.
91
92
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
3
- type DateRangeFieldComponent = (<TDate>(props: SingleInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => JSX.Element) & {
3
+ type DateRangeFieldComponent = (<TDate>(props: SingleInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => React.JSX.Element) & {
4
4
  propTypes?: any;
5
5
  fieldType?: string;
6
6
  };
@@ -39,8 +39,8 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
39
39
  textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
40
40
 
41
41
  // TODO: Remove when mui/material-ui#35088 will be merged
42
- textFieldProps.inputProps = _extends({}, textFieldProps.inputProps, inputProps);
43
- textFieldProps.InputProps = _extends({}, textFieldProps.InputProps, InputProps);
42
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
43
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
44
44
  const _useSingleInputDateTi = useSingleInputDateTimeRangeField({
45
45
  props: textFieldProps,
46
46
  inputRef: externalInputRef
@@ -91,6 +91,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
91
91
  * @default 'primary'
92
92
  */
93
93
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
94
+ component: PropTypes.elementType,
94
95
  /**
95
96
  * Overridable components.
96
97
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
3
- type DateRangeFieldComponent = (<TDate>(props: SingleInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => JSX.Element) & {
3
+ type DateRangeFieldComponent = (<TDate>(props: SingleInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => React.JSX.Element) & {
4
4
  propTypes?: any;
5
5
  fieldType?: string;
6
6
  };
@@ -39,8 +39,8 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
39
39
  textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
40
40
 
41
41
  // TODO: Remove when mui/material-ui#35088 will be merged
42
- textFieldProps.inputProps = _extends({}, textFieldProps.inputProps, inputProps);
43
- textFieldProps.InputProps = _extends({}, textFieldProps.InputProps, InputProps);
42
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
43
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
44
44
  const _useSingleInputTimeRa = useSingleInputTimeRangeField({
45
45
  props: textFieldProps,
46
46
  inputRef: externalInputRef
@@ -91,6 +91,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
91
91
  * @default 'primary'
92
92
  */
93
93
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
94
+ component: PropTypes.elementType,
94
95
  /**
95
96
  * Overridable components.
96
97
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { StaticDateRangePickerProps } from './StaticDateRangePicker.types';
3
- type StaticDateRangePickerComponent = (<TDate>(props: StaticDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
3
+ type StaticDateRangePickerComponent = (<TDate>(props: StaticDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
4
  propTypes?: any;
5
5
  };
6
6
  declare const StaticDateRangePicker: StaticDateRangePickerComponent;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.10.2
2
+ * @mui/x-date-pickers-pro v6.11.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY5MDQwODgwMDAwMA==";
3
+ const releaseInfo = "MTY5MTcwMTIwMDAwMA==";
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
@@ -26,8 +26,8 @@ export const rangeValueManager = {
26
26
  hasError: error => error[0] != null || error[1] != null,
27
27
  defaultErrorState: [null, null],
28
28
  getTimezone: (utils, value) => {
29
- const timezoneStart = value[0] == null ? null : utils.getTimezone(value[0]);
30
- const timezoneEnd = value[1] == null ? null : utils.getTimezone(value[1]);
29
+ const timezoneStart = value[0] == null || !utils.isValid(value[0]) ? null : utils.getTimezone(value[0]);
30
+ const timezoneEnd = value[1] == null || !utils.isValid(value[1]) ? null : utils.getTimezone(value[1]);
31
31
  if (timezoneStart != null && timezoneEnd != null && timezoneStart !== timezoneEnd) {
32
32
  throw new Error('MUI: The timezone of the start and the end date should be the same');
33
33
  }
@@ -13,7 +13,8 @@ import { resolveComponentProps } from '@mui/base/utils';
13
13
  import { styled, useThemeProps } from '@mui/material/styles';
14
14
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
15
15
  import { Watermark } from '@mui/x-license-pro';
16
- import { applyDefaultDate, DAY_MARGIN, DayCalendar, defaultReduceAnimations, PickersArrowSwitcher, PickersCalendarHeader, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, uncapitalizeObjectKeys, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
16
+ import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader';
17
+ import { applyDefaultDate, DAY_MARGIN, DayCalendar, useDefaultReduceAnimations, PickersArrowSwitcher, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, uncapitalizeObjectKeys, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
17
18
  import { getReleaseInfo } from '../internals/utils/releaseInfo';
18
19
  import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from './dateRangeCalendarClasses';
19
20
  import { isEndOfRange, isRangeValid, isStartOfRange, isWithinRange } from '../internals/utils/date-utils';
@@ -81,6 +82,7 @@ function useDateRangeCalendarDefaultizedProps(props, name) {
81
82
  var _themeProps$renderLoa, _themeProps$reduceAni, _props$loading, _props$disablePast, _props$disableFuture, _themeProps$calendars, _themeProps$disableDr;
82
83
  var utils = useUtils();
83
84
  var defaultDates = useDefaultDates();
85
+ var defaultReduceAnimations = useDefaultReduceAnimations();
84
86
  var themeProps = useThemeProps({
85
87
  props: props,
86
88
  name: name
@@ -212,6 +212,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
212
212
  */
213
213
  classes: PropTypes.object,
214
214
  className: PropTypes.string,
215
+ component: PropTypes.elementType,
215
216
  /**
216
217
  * The date to show.
217
218
  */
@@ -1,6 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["className", "sx"];
4
2
  import * as React from 'react';
5
3
  import PropTypes from 'prop-types';
6
4
  import { extractValidationProps } from '@mui/x-date-pickers/internals';
@@ -14,10 +12,7 @@ import { validateDateRange } from '../internals/utils/validation/validateDateRan
14
12
  var MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateRangePicker(inProps, ref) {
15
13
  var _defaultizedProps$slo2;
16
14
  // Props with the default values common to all date time pickers
17
- var _useDateRangePickerDe = useDateRangePickerDefaultizedProps(inProps, 'MuiMobileDateRangePicker'),
18
- className = _useDateRangePickerDe.className,
19
- sx = _useDateRangePickerDe.sx,
20
- defaultizedProps = _objectWithoutProperties(_useDateRangePickerDe, _excluded);
15
+ var defaultizedProps = useDateRangePickerDefaultizedProps(inProps, 'MuiMobileDateRangePicker');
21
16
  var viewRenderers = _extends({
22
17
  day: renderDateRangeViewCalendar
23
18
  }, defaultizedProps.viewRenderers);
@@ -1,19 +1,33 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
3
+ var _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import clsx from 'clsx';
8
9
  import Stack from '@mui/material/Stack';
9
10
  import MuiTextField from '@mui/material/TextField';
10
11
  import Typography from '@mui/material/Typography';
11
12
  import { styled, useThemeProps } from '@mui/material/styles';
12
13
  import { useSlotProps } from '@mui/base/utils';
14
+ import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
13
15
  import { splitFieldInternalAndForwardedProps, uncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
14
16
  import { useMultiInputDateRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField';
15
17
  import { jsx as _jsx } from "react/jsx-runtime";
16
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
+ export var multiInputDateRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateRangeField', ['root', 'separator']);
20
+ export var getMultiInputDateRangeFieldUtilityClass = function getMultiInputDateRangeFieldUtilityClass(slot) {
21
+ return generateUtilityClass('MuiMultiInputDateRangeField', slot);
22
+ };
23
+ var useUtilityClasses = function useUtilityClasses(ownerState) {
24
+ var classes = ownerState.classes;
25
+ var slots = {
26
+ root: ['root'],
27
+ separator: ['separator']
28
+ };
29
+ return composeClasses(slots, getMultiInputDateRangeFieldUtilityClass, classes);
30
+ };
17
31
  var MultiInputDateRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef(function (props, ref) {
18
32
  return /*#__PURE__*/_jsx(Stack, _extends({
19
33
  ref: ref,
@@ -57,10 +71,12 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
57
71
  autoFocus = forwardedProps.autoFocus,
58
72
  unstableStartFieldRef = forwardedProps.unstableStartFieldRef,
59
73
  unstableEndFieldRef = forwardedProps.unstableEndFieldRef,
74
+ className = forwardedProps.className,
60
75
  otherForwardedProps = _objectWithoutProperties(forwardedProps, _excluded);
61
76
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
62
77
  var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
63
78
  var ownerState = themeProps;
79
+ var classes = useUtilityClasses(ownerState);
64
80
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateRangeFieldRoot;
65
81
  var rootProps = useSlotProps({
66
82
  elementType: Root,
@@ -69,7 +85,8 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
69
85
  additionalProps: {
70
86
  ref: ref
71
87
  },
72
- ownerState: ownerState
88
+ ownerState: ownerState,
89
+ className: clsx(className, classes.root)
73
90
  });
74
91
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
75
92
  var startTextFieldProps = useSlotProps({
@@ -93,7 +110,8 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
93
110
  var separatorProps = useSlotProps({
94
111
  elementType: Separator,
95
112
  externalSlotProps: (_slotProps$separator = slotProps == null ? void 0 : slotProps.separator) != null ? _slotProps$separator : componentsProps == null ? void 0 : componentsProps.separator,
96
- ownerState: ownerState
113
+ ownerState: ownerState,
114
+ className: classes.separator
97
115
  });
98
116
  var _useMultiInputDateRan = useMultiInputDateRangeField({
99
117
  sharedProps: _extends({}, dateFieldInternalProps, {
@@ -151,7 +169,12 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
151
169
  // | To update them edit the TypeScript types and run "yarn proptypes" |
152
170
  // ----------------------------------------------------------------------
153
171
  autoFocus: PropTypes.bool,
172
+ /**
173
+ * Override or extend the styles applied to the component.
174
+ */
175
+ classes: PropTypes.object,
154
176
  className: PropTypes.string,
177
+ component: PropTypes.elementType,
155
178
  /**
156
179
  * Overridable components.
157
180
  * @default {}
@@ -1,2 +1,2 @@
1
- export { MultiInputDateRangeField } from './MultiInputDateRangeField';
1
+ export { MultiInputDateRangeField, getMultiInputDateRangeFieldUtilityClass, multiInputDateRangeFieldClasses } from './MultiInputDateRangeField';
2
2
  export { useMultiInputDateRangeField as unstable_useMultiInputDateRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField';
@@ -1,19 +1,33 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
3
+ var _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import clsx from 'clsx';
8
9
  import Stack from '@mui/material/Stack';
9
10
  import MuiTextField from '@mui/material/TextField';
10
11
  import Typography from '@mui/material/Typography';
11
12
  import { styled, useThemeProps } from '@mui/material/styles';
12
13
  import { useSlotProps } from '@mui/base/utils';
14
+ import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
13
15
  import { splitFieldInternalAndForwardedProps, uncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
14
16
  import { useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
15
17
  import { jsx as _jsx } from "react/jsx-runtime";
16
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
+ export var multiInputDateTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
20
+ export var getMultiInputDateTimeRangeFieldUtilityClass = function getMultiInputDateTimeRangeFieldUtilityClass(slot) {
21
+ return generateUtilityClass('MuiMultiInputDateTimeRangeField', slot);
22
+ };
23
+ var useUtilityClasses = function useUtilityClasses(ownerState) {
24
+ var classes = ownerState.classes;
25
+ var slots = {
26
+ root: ['root'],
27
+ separator: ['separator']
28
+ };
29
+ return composeClasses(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
30
+ };
17
31
  var MultiInputDateTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef(function (props, ref) {
18
32
  return /*#__PURE__*/_jsx(Stack, _extends({
19
33
  ref: ref,
@@ -57,10 +71,12 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
57
71
  autoFocus = forwardedProps.autoFocus,
58
72
  unstableStartFieldRef = forwardedProps.unstableStartFieldRef,
59
73
  unstableEndFieldRef = forwardedProps.unstableEndFieldRef,
74
+ className = forwardedProps.className,
60
75
  otherForwardedProps = _objectWithoutProperties(forwardedProps, _excluded);
61
76
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
62
77
  var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
63
78
  var ownerState = themeProps;
79
+ var classes = useUtilityClasses(ownerState);
64
80
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateTimeRangeFieldRoot;
65
81
  var rootProps = useSlotProps({
66
82
  elementType: Root,
@@ -69,7 +85,8 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
69
85
  additionalProps: {
70
86
  ref: ref
71
87
  },
72
- ownerState: ownerState
88
+ ownerState: ownerState,
89
+ className: clsx(className, classes.root)
73
90
  });
74
91
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
75
92
  var startTextFieldProps = useSlotProps({
@@ -93,7 +110,8 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
93
110
  var separatorProps = useSlotProps({
94
111
  elementType: Separator,
95
112
  externalSlotProps: slotProps == null ? void 0 : slotProps.separator,
96
- ownerState: ownerState
113
+ ownerState: ownerState,
114
+ className: classes.separator
97
115
  });
98
116
  var _useMultiInputDateTim = useMultiInputDateTimeRangeField({
99
117
  sharedProps: _extends({}, dateTimeFieldInternalProps, {
@@ -156,7 +174,12 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
156
174
  */
157
175
  ampm: PropTypes.bool,
158
176
  autoFocus: PropTypes.bool,
177
+ /**
178
+ * Override or extend the styles applied to the component.
179
+ */
180
+ classes: PropTypes.object,
159
181
  className: PropTypes.string,
182
+ component: PropTypes.elementType,
160
183
  /**
161
184
  * Overridable components.
162
185
  * @default {}
@@ -1,2 +1,2 @@
1
- export { MultiInputDateTimeRangeField } from './MultiInputDateTimeRangeField';
1
+ export { MultiInputDateTimeRangeField, getMultiInputDateTimeRangeFieldUtilityClass, multiInputDateTimeRangeFieldClasses } from './MultiInputDateTimeRangeField';
2
2
  export { useMultiInputDateTimeRangeField as unstable_useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
@@ -1,19 +1,33 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
3
+ var _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { clsx } from 'clsx';
8
9
  import Stack from '@mui/material/Stack';
9
10
  import MuiTextField from '@mui/material/TextField';
10
11
  import Typography from '@mui/material/Typography';
11
12
  import { styled, useThemeProps } from '@mui/material/styles';
12
13
  import { useSlotProps } from '@mui/base/utils';
14
+ import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
13
15
  import { splitFieldInternalAndForwardedProps, uncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
14
16
  import { useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
15
17
  import { jsx as _jsx } from "react/jsx-runtime";
16
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
+ export var multiInputTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputTimeRangeField', ['root', 'separator']);
20
+ export var getMultiInputTimeRangeFieldUtilityClass = function getMultiInputTimeRangeFieldUtilityClass(slot) {
21
+ return generateUtilityClass('MuiMultiInputTimeRangeField', slot);
22
+ };
23
+ var useUtilityClasses = function useUtilityClasses(ownerState) {
24
+ var classes = ownerState.classes;
25
+ var slots = {
26
+ root: ['root'],
27
+ separator: ['separator']
28
+ };
29
+ return composeClasses(slots, getMultiInputTimeRangeFieldUtilityClass, classes);
30
+ };
17
31
  var MultiInputTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef(function (props, ref) {
18
32
  return /*#__PURE__*/_jsx(Stack, _extends({
19
33
  ref: ref,
@@ -57,10 +71,12 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
57
71
  autoFocus = forwardedProps.autoFocus,
58
72
  unstableStartFieldRef = forwardedProps.unstableStartFieldRef,
59
73
  unstableEndFieldRef = forwardedProps.unstableEndFieldRef,
74
+ className = forwardedProps.className,
60
75
  otherForwardedProps = _objectWithoutProperties(forwardedProps, _excluded);
61
76
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
62
77
  var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
63
78
  var ownerState = themeProps;
79
+ var classes = useUtilityClasses(ownerState);
64
80
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputTimeRangeFieldRoot;
65
81
  var rootProps = useSlotProps({
66
82
  elementType: Root,
@@ -69,7 +85,8 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
69
85
  additionalProps: {
70
86
  ref: ref
71
87
  },
72
- ownerState: ownerState
88
+ ownerState: ownerState,
89
+ className: clsx(className, classes.root)
73
90
  });
74
91
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
75
92
  var startTextFieldProps = useSlotProps({
@@ -93,7 +110,8 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
93
110
  var separatorProps = useSlotProps({
94
111
  elementType: Separator,
95
112
  externalSlotProps: slotProps == null ? void 0 : slotProps.separator,
96
- ownerState: ownerState
113
+ ownerState: ownerState,
114
+ className: classes.separator
97
115
  });
98
116
  var _useMultiInputTimeRan = useMultiInputTimeRangeField({
99
117
  sharedProps: _extends({}, timeFieldInternalProps, {
@@ -156,7 +174,12 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
156
174
  */
157
175
  ampm: PropTypes.bool,
158
176
  autoFocus: PropTypes.bool,
177
+ /**
178
+ * Override or extend the styles applied to the component.
179
+ */
180
+ classes: PropTypes.object,
159
181
  className: PropTypes.string,
182
+ component: PropTypes.elementType,
160
183
  /**
161
184
  * Overridable components.
162
185
  * @default {}
@@ -1,2 +1,2 @@
1
- export { MultiInputTimeRangeField } from './MultiInputTimeRangeField';
1
+ export { MultiInputTimeRangeField, getMultiInputTimeRangeFieldUtilityClass, multiInputTimeRangeFieldClasses } from './MultiInputTimeRangeField';
2
2
  export { useMultiInputTimeRangeField as unstable_useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
@@ -35,8 +35,8 @@ var SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInp
35
35
  textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
36
36
 
37
37
  // TODO: Remove when mui/material-ui#35088 will be merged
38
- textFieldProps.inputProps = _extends({}, textFieldProps.inputProps, inputProps);
39
- textFieldProps.InputProps = _extends({}, textFieldProps.InputProps, InputProps);
38
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
39
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
40
40
  var _useSingleInputDateRa = useSingleInputDateRangeField({
41
41
  props: textFieldProps,
42
42
  inputRef: externalInputRef
@@ -80,6 +80,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
80
80
  * @default 'primary'
81
81
  */
82
82
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
83
+ component: PropTypes.elementType,
83
84
  /**
84
85
  * Overridable components.
85
86
  * @default {}
@@ -35,8 +35,8 @@ var SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Singl
35
35
  textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
36
36
 
37
37
  // TODO: Remove when mui/material-ui#35088 will be merged
38
- textFieldProps.inputProps = _extends({}, textFieldProps.inputProps, inputProps);
39
- textFieldProps.InputProps = _extends({}, textFieldProps.InputProps, InputProps);
38
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
39
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
40
40
  var _useSingleInputDateTi = useSingleInputDateTimeRangeField({
41
41
  props: textFieldProps,
42
42
  inputRef: externalInputRef
@@ -85,6 +85,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
85
85
  * @default 'primary'
86
86
  */
87
87
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
88
+ component: PropTypes.elementType,
88
89
  /**
89
90
  * Overridable components.
90
91
  * @default {}
@@ -35,8 +35,8 @@ var SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInp
35
35
  textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
36
36
 
37
37
  // TODO: Remove when mui/material-ui#35088 will be merged
38
- textFieldProps.inputProps = _extends({}, textFieldProps.inputProps, inputProps);
39
- textFieldProps.InputProps = _extends({}, textFieldProps.InputProps, InputProps);
38
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
39
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
40
40
  var _useSingleInputTimeRa = useSingleInputTimeRangeField({
41
41
  props: textFieldProps,
42
42
  inputRef: externalInputRef
@@ -85,6 +85,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
85
85
  * @default 'primary'
86
86
  */
87
87
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
88
+ component: PropTypes.elementType,
88
89
  /**
89
90
  * Overridable components.
90
91
  * @default {}
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.10.2
2
+ * @mui/x-date-pickers-pro v6.11.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export var getReleaseInfo = function getReleaseInfo() {
3
- var releaseInfo = "MTY5MDQwODgwMDAwMA==";
3
+ var releaseInfo = "MTY5MTcwMTIwMDAwMA==";
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
@@ -38,8 +38,8 @@ export var rangeValueManager = {
38
38
  },
39
39
  defaultErrorState: [null, null],
40
40
  getTimezone: function getTimezone(utils, value) {
41
- var timezoneStart = value[0] == null ? null : utils.getTimezone(value[0]);
42
- var timezoneEnd = value[1] == null ? null : utils.getTimezone(value[1]);
41
+ var timezoneStart = value[0] == null || !utils.isValid(value[0]) ? null : utils.getTimezone(value[0]);
42
+ var timezoneEnd = value[1] == null || !utils.isValid(value[1]) ? null : utils.getTimezone(value[1]);
43
43
  if (timezoneStart != null && timezoneEnd != null && timezoneStart !== timezoneEnd) {
44
44
  throw new Error('MUI: The timezone of the start and the end date should be the same');
45
45
  }
@@ -1 +1,2 @@
1
- export * from './validation';
1
+ export * from './validation';
2
+ export * from './multiInputRangeFieldClasses';
@@ -0,0 +1 @@
1
+ export {};
package/models/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './validation';
2
+ export * from './multiInputRangeFieldClasses';
package/models/index.js CHANGED
@@ -1 +1,2 @@
1
- export * from './validation';
1
+ export * from './validation';
2
+ export * from './multiInputRangeFieldClasses';
@@ -0,0 +1,7 @@
1
+ export interface MultiInputRangeFieldClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the separator element. */
5
+ separator: string;
6
+ }
7
+ export type MultiInputRangeFieldClassKey = keyof MultiInputRangeFieldClasses;
@@ -0,0 +1 @@
1
+ export {};
@@ -11,7 +11,8 @@ import { resolveComponentProps } 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-pro';
14
- import { applyDefaultDate, DAY_MARGIN, DayCalendar, defaultReduceAnimations, PickersArrowSwitcher, PickersCalendarHeader, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, uncapitalizeObjectKeys, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
14
+ import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader';
15
+ import { applyDefaultDate, DAY_MARGIN, DayCalendar, useDefaultReduceAnimations, PickersArrowSwitcher, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, useNow, uncapitalizeObjectKeys, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, buildWarning, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
15
16
  import { getReleaseInfo } from '../internals/utils/releaseInfo';
16
17
  import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from './dateRangeCalendarClasses';
17
18
  import { isEndOfRange, isRangeValid, isStartOfRange, isWithinRange } from '../internals/utils/date-utils';
@@ -76,6 +77,7 @@ const DayCalendarForRange = styled(DayCalendar)(({
76
77
  function useDateRangeCalendarDefaultizedProps(props, name) {
77
78
  const utils = useUtils();
78
79
  const defaultDates = useDefaultDates();
80
+ const defaultReduceAnimations = useDefaultReduceAnimations();
79
81
  const themeProps = useThemeProps({
80
82
  props,
81
83
  name
@@ -233,6 +233,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
233
233
  */
234
234
  classes: PropTypes.object,
235
235
  className: PropTypes.string,
236
+ component: PropTypes.elementType,
236
237
  /**
237
238
  * The date to show.
238
239
  */
@@ -1,6 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["className", "sx"];
4
2
  import * as React from 'react';
5
3
  import PropTypes from 'prop-types';
6
4
  import { extractValidationProps } from '@mui/x-date-pickers/internals';
@@ -13,8 +11,7 @@ import { useMobileRangePicker } from '../internals/hooks/useMobileRangePicker';
13
11
  import { validateDateRange } from '../internals/utils/validation/validateDateRange';
14
12
  const MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateRangePicker(inProps, ref) {
15
13
  // Props with the default values common to all date time pickers
16
- const _useDateRangePickerDe = useDateRangePickerDefaultizedProps(inProps, 'MuiMobileDateRangePicker'),
17
- defaultizedProps = _objectWithoutPropertiesLoose(_useDateRangePickerDe, _excluded);
14
+ const defaultizedProps = useDateRangePickerDefaultizedProps(inProps, 'MuiMobileDateRangePicker');
18
15
  const viewRenderers = _extends({
19
16
  day: renderDateRangeViewCalendar
20
17
  }, defaultizedProps.viewRenderers);