@mui/x-date-pickers-pro 6.11.0 → 6.11.2

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 (108) hide show
  1. package/CHANGELOG.md +119 -1
  2. package/DateRangeCalendar/DateRangeCalendar.js +2 -2
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +2 -2
  4. package/DateRangePicker/DateRangePicker.js +2 -2
  5. package/DateRangePickerDay/DateRangePickerDay.js +1 -0
  6. package/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  7. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  8. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +3 -0
  9. package/MultiInputDateRangeField/MultiInputDateRangeField.js +27 -4
  10. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +5 -0
  11. package/MultiInputDateRangeField/index.d.ts +1 -1
  12. package/MultiInputDateRangeField/index.js +1 -1
  13. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +3 -0
  14. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +27 -4
  15. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +5 -0
  16. package/MultiInputDateTimeRangeField/index.d.ts +1 -1
  17. package/MultiInputDateTimeRangeField/index.js +1 -1
  18. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +3 -0
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +27 -4
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +5 -0
  21. package/MultiInputTimeRangeField/index.d.ts +1 -1
  22. package/MultiInputTimeRangeField/index.js +1 -1
  23. package/SingleInputDateRangeField/SingleInputDateRangeField.js +1 -0
  24. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +1 -0
  25. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +1 -0
  26. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  27. package/index.js +1 -1
  28. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  29. package/internals/utils/releaseInfo.js +1 -1
  30. package/legacy/DateRangeCalendar/DateRangeCalendar.js +2 -2
  31. package/legacy/DateRangePicker/DateRangePicker.js +2 -2
  32. package/legacy/DateRangePickerDay/DateRangePickerDay.js +1 -0
  33. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  34. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  35. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +26 -3
  36. package/legacy/MultiInputDateRangeField/index.js +1 -1
  37. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -3
  38. package/legacy/MultiInputDateTimeRangeField/index.js +1 -1
  39. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +26 -3
  40. package/legacy/MultiInputTimeRangeField/index.js +1 -1
  41. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +1 -0
  42. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +1 -0
  43. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +1 -0
  44. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  45. package/legacy/index.js +1 -1
  46. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  47. package/legacy/internals/utils/releaseInfo.js +1 -1
  48. package/legacy/models/index.js +2 -1
  49. package/legacy/models/multiInputRangeFieldClasses.js +1 -0
  50. package/legacy/tests/describeRangeValidation/testDayViewRangeValidation.js +1 -1
  51. package/legacy/tests/describeRangeValidation/testTextFieldKeyboardRangeValidation.js +1 -1
  52. package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  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 +2 -2
  58. package/modern/DateRangePicker/DateRangePicker.js +2 -2
  59. package/modern/DateRangePickerDay/DateRangePickerDay.js +1 -0
  60. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  61. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  62. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +27 -4
  63. package/modern/MultiInputDateRangeField/index.js +1 -1
  64. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +27 -4
  65. package/modern/MultiInputDateTimeRangeField/index.js +1 -1
  66. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +27 -4
  67. package/modern/MultiInputTimeRangeField/index.js +1 -1
  68. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +1 -0
  69. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +1 -0
  70. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +1 -0
  71. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  72. package/modern/index.js +1 -1
  73. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  74. package/modern/internals/utils/releaseInfo.js +1 -1
  75. package/modern/models/index.js +2 -1
  76. package/modern/models/multiInputRangeFieldClasses.js +1 -0
  77. package/modern/tests/describeRangeValidation/testDayViewRangeValidation.js +1 -1
  78. package/modern/tests/describeRangeValidation/testTextFieldKeyboardRangeValidation.js +1 -1
  79. package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  80. package/node/DateRangeCalendar/DateRangeCalendar.js +2 -2
  81. package/node/DateRangePicker/DateRangePicker.js +2 -2
  82. package/node/DateRangePickerDay/DateRangePickerDay.js +1 -0
  83. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  84. package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  85. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +30 -5
  86. package/node/MultiInputDateRangeField/index.js +12 -0
  87. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +30 -5
  88. package/node/MultiInputDateTimeRangeField/index.js +12 -0
  89. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +30 -5
  90. package/node/MultiInputTimeRangeField/index.js +12 -0
  91. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +1 -0
  92. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +1 -0
  93. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +1 -0
  94. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  95. package/node/index.js +1 -1
  96. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  97. package/node/internals/utils/releaseInfo.js +1 -1
  98. package/node/models/index.js +11 -0
  99. package/node/models/multiInputRangeFieldClasses.js +5 -0
  100. package/node/tests/describeRangeValidation/testDayViewRangeValidation.js +21 -21
  101. package/node/tests/describeRangeValidation/testTextFieldKeyboardRangeValidation.js +30 -30
  102. package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +32 -32
  103. package/package.json +4 -4
  104. package/tests/describeRangeValidation/testDayViewRangeValidation.js +1 -1
  105. package/tests/describeRangeValidation/testTextFieldKeyboardRangeValidation.js +1 -1
  106. package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  107. package/themeAugmentation/components.d.ts +0 -7
  108. package/themeAugmentation/overrides.d.ts +4 -14
@@ -1,19 +1,33 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
3
+ const _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 const multiInputDateTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
20
+ export const getMultiInputDateTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateTimeRangeField', slot);
21
+ const useUtilityClasses = ownerState => {
22
+ const {
23
+ classes
24
+ } = ownerState;
25
+ const slots = {
26
+ root: ['root'],
27
+ separator: ['separator']
28
+ };
29
+ return composeClasses(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
30
+ };
17
31
  const MultiInputDateTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
18
32
  ref: ref,
19
33
  spacing: 2,
@@ -48,12 +62,14 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
48
62
  disabled,
49
63
  autoFocus,
50
64
  unstableStartFieldRef,
51
- unstableEndFieldRef
65
+ unstableEndFieldRef,
66
+ className
52
67
  } = forwardedProps,
53
68
  otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
54
69
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
55
70
  const slotProps = innerSlotProps ?? componentsProps;
56
71
  const ownerState = themeProps;
72
+ const classes = useUtilityClasses(ownerState);
57
73
  const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
58
74
  const rootProps = useSlotProps({
59
75
  elementType: Root,
@@ -62,7 +78,8 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
62
78
  additionalProps: {
63
79
  ref
64
80
  },
65
- ownerState
81
+ ownerState,
82
+ className: clsx(className, classes.root)
66
83
  });
67
84
  const TextField = slots?.textField ?? MuiTextField;
68
85
  const startTextFieldProps = useSlotProps({
@@ -86,7 +103,8 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
86
103
  const separatorProps = useSlotProps({
87
104
  elementType: Separator,
88
105
  externalSlotProps: slotProps?.separator,
89
- ownerState
106
+ ownerState,
107
+ className: classes.separator
90
108
  });
91
109
  const _useMultiInputDateTim = useMultiInputDateTimeRangeField({
92
110
  sharedProps: _extends({}, dateTimeFieldInternalProps, {
@@ -153,7 +171,12 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
153
171
  */
154
172
  ampm: PropTypes.bool,
155
173
  autoFocus: PropTypes.bool,
174
+ /**
175
+ * Override or extend the styles applied to the component.
176
+ */
177
+ classes: PropTypes.object,
156
178
  className: PropTypes.string,
179
+ component: PropTypes.elementType,
157
180
  /**
158
181
  * Overridable components.
159
182
  * @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 _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
3
+ const _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 const multiInputTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputTimeRangeField', ['root', 'separator']);
20
+ export const getMultiInputTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputTimeRangeField', slot);
21
+ const useUtilityClasses = ownerState => {
22
+ const {
23
+ classes
24
+ } = ownerState;
25
+ const slots = {
26
+ root: ['root'],
27
+ separator: ['separator']
28
+ };
29
+ return composeClasses(slots, getMultiInputTimeRangeFieldUtilityClass, classes);
30
+ };
17
31
  const MultiInputTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
18
32
  ref: ref,
19
33
  spacing: 2,
@@ -48,12 +62,14 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
48
62
  disabled,
49
63
  autoFocus,
50
64
  unstableStartFieldRef,
51
- unstableEndFieldRef
65
+ unstableEndFieldRef,
66
+ className
52
67
  } = forwardedProps,
53
68
  otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
54
69
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
55
70
  const slotProps = innerSlotProps ?? componentsProps;
56
71
  const ownerState = themeProps;
72
+ const classes = useUtilityClasses(ownerState);
57
73
  const Root = slots?.root ?? MultiInputTimeRangeFieldRoot;
58
74
  const rootProps = useSlotProps({
59
75
  elementType: Root,
@@ -62,7 +78,8 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
62
78
  additionalProps: {
63
79
  ref
64
80
  },
65
- ownerState
81
+ ownerState,
82
+ className: clsx(className, classes.root)
66
83
  });
67
84
  const TextField = slots?.textField ?? MuiTextField;
68
85
  const startTextFieldProps = useSlotProps({
@@ -86,7 +103,8 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
86
103
  const separatorProps = useSlotProps({
87
104
  elementType: Separator,
88
105
  externalSlotProps: slotProps?.separator,
89
- ownerState
106
+ ownerState,
107
+ className: classes.separator
90
108
  });
91
109
  const _useMultiInputTimeRan = useMultiInputTimeRangeField({
92
110
  sharedProps: _extends({}, timeFieldInternalProps, {
@@ -153,7 +171,12 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
153
171
  */
154
172
  ampm: PropTypes.bool,
155
173
  autoFocus: PropTypes.bool,
174
+ /**
175
+ * Override or extend the styles applied to the component.
176
+ */
177
+ classes: PropTypes.object,
156
178
  className: PropTypes.string,
179
+ component: PropTypes.elementType,
157
180
  /**
158
181
  * Overridable components.
159
182
  * @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';
@@ -85,6 +85,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.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 {}
@@ -90,6 +90,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
90
90
  * @default 'primary'
91
91
  */
92
92
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
93
+ component: PropTypes.elementType,
93
94
  /**
94
95
  * Overridable components.
95
96
  * @default {}
@@ -90,6 +90,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
90
90
  * @default 'primary'
91
91
  */
92
92
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
93
+ component: PropTypes.elementType,
93
94
  /**
94
95
  * Overridable components.
95
96
  * @default {}
@@ -209,8 +209,8 @@ StaticDateRangePicker.propTypes = {
209
209
  rangePosition: PropTypes.oneOf(['end', 'start']),
210
210
  readOnly: PropTypes.bool,
211
211
  /**
212
- * Disable heavy animations.
213
- * @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
212
+ * If `true`, disable heavy animations.
213
+ * @default `@media(prefers-reduced-motion: reduce)` || typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
214
214
  */
215
215
  reduceAnimations: PropTypes.bool,
216
216
  /**
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.11.0
2
+ * @mui/x-date-pickers-pro v6.11.2
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -33,7 +33,8 @@ export const useDesktopRangePicker = _ref => {
33
33
  disabled,
34
34
  autoFocus,
35
35
  disableOpenPicker,
36
- localeText
36
+ localeText,
37
+ reduceAnimations
37
38
  } = props;
38
39
  const fieldContainerRef = React.useRef(null);
39
40
  const popperRef = React.useRef(null);
@@ -122,6 +123,7 @@ export const useDesktopRangePicker = _ref => {
122
123
  slots: slots,
123
124
  slotProps: slotProps,
124
125
  shouldRestoreFocus: shouldRestoreFocus,
126
+ reduceAnimations: reduceAnimations,
125
127
  children: /*#__PURE__*/_jsx(Layout, _extends({}, layoutProps, slotProps?.layout, {
126
128
  slots: slots,
127
129
  slotProps: slotPropsForLayout,
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY5MTA4OTIwMDAwMA==";
3
+ const releaseInfo = "MTY5MjI0NDgwMDAwMA==";
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
@@ -1 +1,2 @@
1
- export * from './validation';
1
+ export * from './validation';
2
+ export * from './multiInputRangeFieldClasses';
@@ -0,0 +1 @@
1
+ export {};
@@ -5,7 +5,7 @@ const _excluded = ["defaultCalendarMonth"],
5
5
  import * as React from 'react';
6
6
  import { expect } from 'chai';
7
7
  import { screen } from '@mui/monorepo/test/utils';
8
- import { adapterToUse } from 'test/utils/pickers-utils';
8
+ import { adapterToUse } from 'test/utils/pickers';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const isDisable = el => el.getAttribute('disabled') !== null;
11
11
  const testDisabledDate = (day, expectedAnswer, isDesktop) => {
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { expect } from 'chai';
3
3
  import { spy } from 'sinon';
4
4
  import { screen } from '@mui/monorepo/test/utils';
5
- import { adapterToUse } from 'test/utils/pickers-utils';
5
+ import { adapterToUse } from 'test/utils/pickers';
6
6
  import { act } from '@mui/monorepo/test/utils/createRenderer';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  const testInvalidStatus = (expectedAnswer, isSingleInput) => {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { expect } from 'chai';
4
4
  import { spy } from 'sinon';
5
5
  import { screen } from '@mui/monorepo/test/utils';
6
- import { adapterToUse } from 'test/utils/pickers-utils';
6
+ import { adapterToUse } from 'test/utils/pickers';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  const testInvalidStatus = (expectedAnswer, isSingleInput) => {
9
9
  const answers = isSingleInput ? [expectedAnswer[0] || expectedAnswer[1]] : expectedAnswer;
@@ -615,8 +615,8 @@ process.env.NODE_ENV !== "production" ? DateRangeCalendar.propTypes = {
615
615
  */
616
616
  readOnly: _propTypes.default.bool,
617
617
  /**
618
- * Disable heavy animations.
619
- * @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
618
+ * If `true`, disable heavy animations.
619
+ * @default `@media(prefers-reduced-motion: reduce)` || typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
620
620
  */
621
621
  reduceAnimations: _propTypes.default.bool,
622
622
  /**
@@ -261,8 +261,8 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
261
261
  rangePosition: _propTypes.default.oneOf(['end', 'start']),
262
262
  readOnly: _propTypes.default.bool,
263
263
  /**
264
- * Disable heavy animations.
265
- * @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
264
+ * If `true`, disable heavy animations.
265
+ * @default `@media(prefers-reduced-motion: reduce)` || typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
266
266
  */
267
267
  reduceAnimations: _propTypes.default.bool,
268
268
  /**
@@ -242,6 +242,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
242
242
  */
243
243
  classes: _propTypes.default.object,
244
244
  className: _propTypes.default.string,
245
+ component: _propTypes.default.elementType,
245
246
  /**
246
247
  * The date to show.
247
248
  */
@@ -266,8 +266,8 @@ DesktopDateRangePicker.propTypes = {
266
266
  rangePosition: _propTypes.default.oneOf(['end', 'start']),
267
267
  readOnly: _propTypes.default.bool,
268
268
  /**
269
- * Disable heavy animations.
270
- * @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
269
+ * If `true`, disable heavy animations.
270
+ * @default `@media(prefers-reduced-motion: reduce)` || typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
271
271
  */
272
272
  reduceAnimations: _propTypes.default.bool,
273
273
  /**
@@ -266,8 +266,8 @@ MobileDateRangePicker.propTypes = {
266
266
  rangePosition: _propTypes.default.oneOf(['end', 'start']),
267
267
  readOnly: _propTypes.default.bool,
268
268
  /**
269
- * Disable heavy animations.
270
- * @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
269
+ * If `true`, disable heavy animations.
270
+ * @default `@media(prefers-reduced-motion: reduce)` || typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
271
271
  */
272
272
  reduceAnimations: _propTypes.default.bool,
273
273
  /**
@@ -4,24 +4,40 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MultiInputDateRangeField = void 0;
7
+ exports.multiInputDateRangeFieldClasses = exports.getMultiInputDateRangeFieldUtilityClass = exports.MultiInputDateRangeField = void 0;
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _clsx = _interopRequireDefault(require("clsx"));
12
13
  var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
13
14
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
14
15
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
15
16
  var _styles = require("@mui/material/styles");
16
17
  var _utils = require("@mui/base/utils");
18
+ var _utils2 = require("@mui/utils");
17
19
  var _internals = require("@mui/x-date-pickers/internals");
18
20
  var _useMultiInputDateRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
22
+ const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
21
23
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
22
24
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
23
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ const multiInputDateRangeFieldClasses = (0, _utils2.unstable_generateUtilityClasses)('MuiMultiInputDateRangeField', ['root', 'separator']);
28
+ exports.multiInputDateRangeFieldClasses = multiInputDateRangeFieldClasses;
29
+ const getMultiInputDateRangeFieldUtilityClass = slot => (0, _utils2.unstable_generateUtilityClass)('MuiMultiInputDateRangeField', slot);
30
+ exports.getMultiInputDateRangeFieldUtilityClass = getMultiInputDateRangeFieldUtilityClass;
31
+ const useUtilityClasses = ownerState => {
32
+ const {
33
+ classes
34
+ } = ownerState;
35
+ const slots = {
36
+ root: ['root'],
37
+ separator: ['separator']
38
+ };
39
+ return (0, _utils2.unstable_composeClasses)(slots, getMultiInputDateRangeFieldUtilityClass, classes);
40
+ };
25
41
  const MultiInputDateRangeFieldRoot = (0, _styles.styled)( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
26
42
  ref: ref,
27
43
  spacing: 2,
@@ -56,12 +72,14 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
56
72
  disabled,
57
73
  autoFocus,
58
74
  unstableStartFieldRef,
59
- unstableEndFieldRef
75
+ unstableEndFieldRef,
76
+ className
60
77
  } = forwardedProps,
61
78
  otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
62
79
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
63
80
  const slotProps = innerSlotProps ?? componentsProps;
64
81
  const ownerState = themeProps;
82
+ const classes = useUtilityClasses(ownerState);
65
83
  const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
66
84
  const rootProps = (0, _utils.useSlotProps)({
67
85
  elementType: Root,
@@ -70,7 +88,8 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
70
88
  additionalProps: {
71
89
  ref
72
90
  },
73
- ownerState
91
+ ownerState,
92
+ className: (0, _clsx.default)(className, classes.root)
74
93
  });
75
94
  const TextField = slots?.textField ?? _TextField.default;
76
95
  const startTextFieldProps = (0, _utils.useSlotProps)({
@@ -94,7 +113,8 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
94
113
  const separatorProps = (0, _utils.useSlotProps)({
95
114
  elementType: Separator,
96
115
  externalSlotProps: slotProps?.separator ?? componentsProps?.separator,
97
- ownerState
116
+ ownerState,
117
+ className: classes.separator
98
118
  });
99
119
  const _useMultiInputDateRan = (0, _useMultiInputDateRangeField.useMultiInputDateRangeField)({
100
120
  sharedProps: (0, _extends2.default)({}, dateFieldInternalProps, {
@@ -157,7 +177,12 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
157
177
  // | To update them edit the TypeScript types and run "yarn proptypes" |
158
178
  // ----------------------------------------------------------------------
159
179
  autoFocus: _propTypes.default.bool,
180
+ /**
181
+ * Override or extend the styles applied to the component.
182
+ */
183
+ classes: _propTypes.default.object,
160
184
  className: _propTypes.default.string,
185
+ component: _propTypes.default.elementType,
161
186
  /**
162
187
  * Overridable components.
163
188
  * @default {}
@@ -9,6 +9,18 @@ Object.defineProperty(exports, "MultiInputDateRangeField", {
9
9
  return _MultiInputDateRangeField.MultiInputDateRangeField;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "getMultiInputDateRangeFieldUtilityClass", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _MultiInputDateRangeField.getMultiInputDateRangeFieldUtilityClass;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "multiInputDateRangeFieldClasses", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _MultiInputDateRangeField.multiInputDateRangeFieldClasses;
22
+ }
23
+ });
12
24
  Object.defineProperty(exports, "unstable_useMultiInputDateRangeField", {
13
25
  enumerable: true,
14
26
  get: function () {
@@ -4,24 +4,40 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MultiInputDateTimeRangeField = void 0;
7
+ exports.multiInputDateTimeRangeFieldClasses = exports.getMultiInputDateTimeRangeFieldUtilityClass = exports.MultiInputDateTimeRangeField = void 0;
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _clsx = _interopRequireDefault(require("clsx"));
12
13
  var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
13
14
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
14
15
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
15
16
  var _styles = require("@mui/material/styles");
16
17
  var _utils = require("@mui/base/utils");
18
+ var _utils2 = require("@mui/utils");
17
19
  var _internals = require("@mui/x-date-pickers/internals");
18
20
  var _useMultiInputDateTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
22
+ const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
21
23
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
22
24
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
23
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ const multiInputDateTimeRangeFieldClasses = (0, _utils2.unstable_generateUtilityClasses)('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
28
+ exports.multiInputDateTimeRangeFieldClasses = multiInputDateTimeRangeFieldClasses;
29
+ const getMultiInputDateTimeRangeFieldUtilityClass = slot => (0, _utils2.unstable_generateUtilityClass)('MuiMultiInputDateTimeRangeField', slot);
30
+ exports.getMultiInputDateTimeRangeFieldUtilityClass = getMultiInputDateTimeRangeFieldUtilityClass;
31
+ const useUtilityClasses = ownerState => {
32
+ const {
33
+ classes
34
+ } = ownerState;
35
+ const slots = {
36
+ root: ['root'],
37
+ separator: ['separator']
38
+ };
39
+ return (0, _utils2.unstable_composeClasses)(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
40
+ };
25
41
  const MultiInputDateTimeRangeFieldRoot = (0, _styles.styled)( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
26
42
  ref: ref,
27
43
  spacing: 2,
@@ -56,12 +72,14 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
56
72
  disabled,
57
73
  autoFocus,
58
74
  unstableStartFieldRef,
59
- unstableEndFieldRef
75
+ unstableEndFieldRef,
76
+ className
60
77
  } = forwardedProps,
61
78
  otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
62
79
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
63
80
  const slotProps = innerSlotProps ?? componentsProps;
64
81
  const ownerState = themeProps;
82
+ const classes = useUtilityClasses(ownerState);
65
83
  const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
66
84
  const rootProps = (0, _utils.useSlotProps)({
67
85
  elementType: Root,
@@ -70,7 +88,8 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
70
88
  additionalProps: {
71
89
  ref
72
90
  },
73
- ownerState
91
+ ownerState,
92
+ className: (0, _clsx.default)(className, classes.root)
74
93
  });
75
94
  const TextField = slots?.textField ?? _TextField.default;
76
95
  const startTextFieldProps = (0, _utils.useSlotProps)({
@@ -94,7 +113,8 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
94
113
  const separatorProps = (0, _utils.useSlotProps)({
95
114
  elementType: Separator,
96
115
  externalSlotProps: slotProps?.separator,
97
- ownerState
116
+ ownerState,
117
+ className: classes.separator
98
118
  });
99
119
  const _useMultiInputDateTim = (0, _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField)({
100
120
  sharedProps: (0, _extends2.default)({}, dateTimeFieldInternalProps, {
@@ -162,7 +182,12 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
162
182
  */
163
183
  ampm: _propTypes.default.bool,
164
184
  autoFocus: _propTypes.default.bool,
185
+ /**
186
+ * Override or extend the styles applied to the component.
187
+ */
188
+ classes: _propTypes.default.object,
165
189
  className: _propTypes.default.string,
190
+ component: _propTypes.default.elementType,
166
191
  /**
167
192
  * Overridable components.
168
193
  * @default {}
@@ -9,6 +9,18 @@ Object.defineProperty(exports, "MultiInputDateTimeRangeField", {
9
9
  return _MultiInputDateTimeRangeField.MultiInputDateTimeRangeField;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "getMultiInputDateTimeRangeFieldUtilityClass", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _MultiInputDateTimeRangeField.getMultiInputDateTimeRangeFieldUtilityClass;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "multiInputDateTimeRangeFieldClasses", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _MultiInputDateTimeRangeField.multiInputDateTimeRangeFieldClasses;
22
+ }
23
+ });
12
24
  Object.defineProperty(exports, "unstable_useMultiInputDateTimeRangeField", {
13
25
  enumerable: true,
14
26
  get: function () {