@mui/x-date-pickers-pro 8.0.0-alpha.7 → 8.0.0-alpha.8

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 (199) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +4 -4
  3. package/DateRangePicker/DateRangePickerToolbar.js +3 -3
  4. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -3
  5. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -2
  6. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -7
  7. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
  8. package/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
  9. package/MultiInputDateRangeField/index.d.ts +5 -3
  10. package/MultiInputDateRangeField/index.js +2 -2
  11. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
  12. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  13. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
  14. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
  15. package/MultiInputDateTimeRangeField/index.d.ts +5 -3
  16. package/MultiInputDateTimeRangeField/index.js +2 -2
  17. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
  18. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
  21. package/MultiInputTimeRangeField/index.d.ts +5 -3
  22. package/MultiInputTimeRangeField/index.js +2 -2
  23. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
  24. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  25. package/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
  26. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -17
  27. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  28. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -1
  29. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
  30. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -18
  31. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  32. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -1
  33. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
  34. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -18
  35. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  36. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -1
  37. package/hooks/index.d.ts +1 -0
  38. package/hooks/index.js +2 -1
  39. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  40. package/hooks/useMultiInputRangeField/index.js +1 -0
  41. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  42. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  43. package/{internals/hooks/useMultiInputFieldSelectedSections.d.ts → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts} +3 -4
  44. package/{modern/internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  45. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  46. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  47. package/index.js +1 -1
  48. package/internals/hooks/models/index.d.ts +1 -1
  49. package/internals/hooks/models/useRangePicker.d.ts +4 -6
  50. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +32 -42
  51. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +15 -6
  52. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
  53. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +23 -32
  54. package/internals/hooks/useRangePosition.d.ts +1 -1
  55. package/internals/hooks/useRangePosition.js +1 -1
  56. package/internals/models/dateTimeRange.d.ts +1 -6
  57. package/internals/models/fields.d.ts +1 -2
  58. package/internals/models/index.d.ts +0 -1
  59. package/internals/models/index.js +0 -1
  60. package/internals/models/managers.d.ts +3 -0
  61. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  62. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
  63. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  64. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  65. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  66. package/internals/utils/releaseInfo.js +1 -1
  67. package/managers/index.d.ts +3 -3
  68. package/managers/useDateRangeManager.d.ts +1 -1
  69. package/managers/useDateRangeManager.js +3 -1
  70. package/managers/useDateTimeRangeManager.d.ts +1 -1
  71. package/managers/useDateTimeRangeManager.js +3 -1
  72. package/managers/useTimeRangeManager.d.ts +1 -1
  73. package/managers/useTimeRangeManager.js +3 -1
  74. package/models/fields.d.ts +1 -2
  75. package/models/index.d.ts +0 -2
  76. package/models/index.js +0 -2
  77. package/modern/DateRangeCalendar/DateRangeCalendar.js +4 -4
  78. package/modern/DateRangePicker/DateRangePickerToolbar.js +3 -3
  79. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -3
  80. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -2
  81. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -7
  82. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
  83. package/modern/MultiInputDateRangeField/index.js +2 -2
  84. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  85. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
  86. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  87. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  88. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
  89. package/modern/MultiInputTimeRangeField/index.js +2 -2
  90. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  91. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
  92. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -1
  93. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
  94. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -1
  95. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
  96. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -1
  97. package/modern/hooks/index.js +2 -1
  98. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  99. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  100. package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  101. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  102. package/modern/index.js +1 -1
  103. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +32 -42
  104. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
  105. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +23 -32
  106. package/modern/internals/hooks/useRangePosition.js +1 -1
  107. package/modern/internals/models/index.js +0 -1
  108. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
  109. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  110. package/modern/internals/utils/releaseInfo.js +1 -1
  111. package/modern/managers/useDateRangeManager.js +3 -1
  112. package/modern/managers/useDateTimeRangeManager.js +3 -1
  113. package/modern/managers/useTimeRangeManager.js +3 -1
  114. package/modern/models/index.js +0 -2
  115. package/node/DateRangeCalendar/DateRangeCalendar.js +4 -4
  116. package/node/DateRangePicker/DateRangePickerToolbar.js +3 -3
  117. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +3 -3
  118. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -2
  119. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -7
  120. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +11 -119
  121. package/node/MultiInputDateRangeField/index.js +3 -9
  122. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  123. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +11 -119
  124. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  125. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  126. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +12 -120
  127. package/node/MultiInputTimeRangeField/index.js +3 -9
  128. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  129. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -29
  130. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -1
  131. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -29
  132. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -1
  133. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +19 -29
  134. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -1
  135. package/node/hooks/index.js +8 -1
  136. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  137. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  138. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  139. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  140. package/node/index.js +1 -1
  141. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +31 -41
  142. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +41 -54
  143. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +22 -31
  144. package/node/internals/hooks/useRangePosition.js +1 -1
  145. package/node/internals/models/index.js +0 -11
  146. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +140 -0
  147. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  148. package/node/internals/utils/releaseInfo.js +1 -1
  149. package/node/managers/useDateRangeManager.js +3 -1
  150. package/node/managers/useDateTimeRangeManager.js +3 -1
  151. package/node/managers/useTimeRangeManager.js +3 -1
  152. package/node/models/index.js +0 -22
  153. package/package.json +4 -4
  154. package/themeAugmentation/overrides.d.ts +6 -4
  155. package/themeAugmentation/props.d.ts +2 -2
  156. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -55
  157. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -56
  158. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -56
  159. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  160. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  161. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  162. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -118
  163. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  164. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -118
  165. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  166. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  167. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -118
  168. package/internals/models/timeRange.d.ts +0 -6
  169. package/internals/models/timeRange.js +0 -1
  170. package/models/dateRange.d.ts +0 -7
  171. package/models/dateRange.js +0 -1
  172. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  173. package/models/multiInputRangeFieldClasses.js +0 -1
  174. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  175. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  176. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  177. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  178. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -118
  179. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -118
  180. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  181. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -118
  182. package/modern/internals/models/timeRange.js +0 -1
  183. package/modern/models/dateRange.js +0 -1
  184. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  185. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  186. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  187. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -126
  188. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -126
  189. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  190. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -126
  191. package/node/internals/models/timeRange.js +0 -5
  192. package/node/models/dateRange.js +0 -5
  193. package/node/models/multiInputRangeFieldClasses.js +0 -5
  194. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  195. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  196. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  197. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  198. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  199. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -2,55 +2,14 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
- exports.multiInputDateTimeRangeFieldClasses = exports.getMultiInputDateTimeRangeFieldUtilityClass = exports.MultiInputDateTimeRangeField = void 0;
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var React = _interopRequireWildcard(require("react"));
8
+ exports.MultiInputDateTimeRangeField = void 0;
13
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _clsx = _interopRequireDefault(require("clsx"));
15
- var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
16
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
17
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
- var _styles = require("@mui/material/styles");
19
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
- var _utils = require("@mui/utils");
21
- var _internals = require("@mui/x-date-pickers/internals");
22
- var _hooks = require("@mui/x-date-pickers/hooks");
23
- var _PickersTextField = require("@mui/x-date-pickers/PickersTextField");
24
- var _useMultiInputDateTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
25
- var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className", "classes"];
27
- const multiInputDateTimeRangeFieldClasses = exports.multiInputDateTimeRangeFieldClasses = (0, _utils.unstable_generateUtilityClasses)('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
28
- const getMultiInputDateTimeRangeFieldUtilityClass = slot => (0, _utils.unstable_generateUtilityClass)('MuiMultiInputDateTimeRangeField', slot);
29
- exports.getMultiInputDateTimeRangeFieldUtilityClass = getMultiInputDateTimeRangeFieldUtilityClass;
30
- const useUtilityClasses = classes => {
31
- const slots = {
32
- root: ['root'],
33
- separator: ['separator']
34
- };
35
- return (0, _utils.unstable_composeClasses)(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
36
- };
37
- const MultiInputDateTimeRangeFieldRoot = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
38
- ref: ref,
39
- spacing: 2,
40
- direction: "row",
41
- alignItems: "center"
42
- }, props))), {
43
- name: 'MuiMultiInputDateTimeRangeField',
44
- slot: 'Root',
45
- overridesResolver: (props, styles) => styles.root
46
- })({});
47
- const MultiInputDateTimeRangeFieldSeparator = (0, _styles.styled)(_Typography.default, {
48
- name: 'MuiMultiInputDateTimeRangeField',
49
- slot: 'Separator',
50
- overridesResolver: (props, styles) => styles.separator
51
- })({
52
- lineHeight: '1.4375em' // 23px
53
- });
10
+ var _managers = require("../managers");
11
+ var _createMultiInputRangeField = require("../internals/utils/createMultiInputRangeField");
12
+ var _multiInputDateTimeRangeFieldClasses = require("./multiInputDateTimeRangeFieldClasses");
54
13
  /**
55
14
  * Demos:
56
15
  *
@@ -61,80 +20,12 @@ const MultiInputDateTimeRangeFieldSeparator = (0, _styles.styled)(_Typography.de
61
20
  *
62
21
  * - [MultiInputDateTimeRangeField API](https://mui.com/x/api/multi-input-date-time-range-field/)
63
22
  */
64
- const MultiInputDateTimeRangeField = exports.MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateTimeRangeField(inProps, ref) {
65
- const themeProps = (0, _styles.useThemeProps)({
66
- props: inProps,
67
- name: 'MuiMultiInputDateTimeRangeField'
68
- });
69
- const {
70
- internalProps,
71
- forwardedProps
72
- } = (0, _hooks.useSplitFieldProps)(themeProps, 'date-time');
73
- const {
74
- slots,
75
- slotProps,
76
- unstableStartFieldRef,
77
- unstableEndFieldRef,
78
- className,
79
- classes: classesProp
80
- } = forwardedProps,
81
- otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
82
- const ownerState = (0, _internals.useFieldOwnerState)(themeProps);
83
- const classes = useUtilityClasses(classesProp);
84
- const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
85
- const rootProps = (0, _useSlotProps.default)({
86
- elementType: Root,
87
- externalSlotProps: slotProps?.root,
88
- externalForwardedProps: otherForwardedProps,
89
- additionalProps: {
90
- ref
91
- },
92
- ownerState,
93
- className: (0, _clsx.default)(className, classes.root)
94
- });
95
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
96
- const startTextFieldProps = (0, _useSlotProps.default)({
97
- elementType: TextField,
98
- externalSlotProps: slotProps?.textField,
99
- ownerState: (0, _extends2.default)({}, ownerState, {
100
- position: 'start'
101
- })
102
- });
103
- const endTextFieldProps = (0, _useSlotProps.default)({
104
- elementType: TextField,
105
- externalSlotProps: slotProps?.textField,
106
- ownerState: (0, _extends2.default)({}, ownerState, {
107
- position: 'end'
108
- })
109
- });
110
- const Separator = slots?.separator ?? MultiInputDateTimeRangeFieldSeparator;
111
- const separatorProps = (0, _useSlotProps.default)({
112
- elementType: Separator,
113
- externalSlotProps: slotProps?.separator,
114
- additionalProps: {
115
- children: ` ${internalProps.dateSeparator ?? '–'} `
116
- },
117
- ownerState,
118
- className: classes.separator
119
- });
120
- const fieldResponse = (0, _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField)({
121
- sharedProps: internalProps,
122
- startTextFieldProps,
123
- endTextFieldProps,
124
- unstableStartFieldRef,
125
- unstableEndFieldRef
126
- });
127
- const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
128
- const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
129
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
130
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
131
- fullWidth: true
132
- }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
133
- fullWidth: true
134
- }, endDateProps))]
135
- }));
23
+ const MultiInputDateTimeRangeField = exports.MultiInputDateTimeRangeField = (0, _createMultiInputRangeField.createMultiInputRangeField)({
24
+ name: 'MuiMultiInputDateTimeRangeField',
25
+ getUtilityClass: _multiInputDateTimeRangeFieldClasses.getMultiInputDateTimeRangeFieldUtilityClass,
26
+ useManager: _managers.useDateTimeRangeManager
136
27
  });
137
- process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
28
+ MultiInputDateTimeRangeField.propTypes = {
138
29
  // ----------------------------- Warning --------------------------------
139
30
  // | These PropTypes are generated from the TypeScript type definitions |
140
31
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -146,6 +37,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
146
37
  ampm: _propTypes.default.bool,
147
38
  /**
148
39
  * If `true`, the `input` element is focused during the first mount.
40
+ * @default false
149
41
  */
150
42
  autoFocus: _propTypes.default.bool,
151
43
  /**
@@ -363,4 +255,4 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
363
255
  * Used when the component is controlled.
364
256
  */
365
257
  value: _propTypes.default.arrayOf(_propTypes.default.object)
366
- } : void 0;
258
+ };
@@ -12,20 +12,14 @@ Object.defineProperty(exports, "MultiInputDateTimeRangeField", {
12
12
  Object.defineProperty(exports, "getMultiInputDateTimeRangeFieldUtilityClass", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _MultiInputDateTimeRangeField.getMultiInputDateTimeRangeFieldUtilityClass;
15
+ return _multiInputDateTimeRangeFieldClasses.getMultiInputDateTimeRangeFieldUtilityClass;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "multiInputDateTimeRangeFieldClasses", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _MultiInputDateTimeRangeField.multiInputDateTimeRangeFieldClasses;
22
- }
23
- });
24
- Object.defineProperty(exports, "unstable_useMultiInputDateTimeRangeField", {
25
- enumerable: true,
26
- get: function () {
27
- return _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField;
21
+ return _multiInputDateTimeRangeFieldClasses.multiInputDateTimeRangeFieldClasses;
28
22
  }
29
23
  });
30
24
  var _MultiInputDateTimeRangeField = require("./MultiInputDateTimeRangeField");
31
- var _useMultiInputDateTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
25
+ var _multiInputDateTimeRangeFieldClasses = require("./multiInputDateTimeRangeFieldClasses");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.multiInputDateTimeRangeFieldClasses = exports.getMultiInputDateTimeRangeFieldUtilityClass = void 0;
8
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
9
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
10
+ const multiInputDateTimeRangeFieldClasses = exports.multiInputDateTimeRangeFieldClasses = (0, _generateUtilityClasses.default)('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
11
+ const getMultiInputDateTimeRangeFieldUtilityClass = slot => (0, _generateUtilityClass.default)('MuiMultiInputDateTimeRangeField', slot);
12
+ exports.getMultiInputDateTimeRangeFieldUtilityClass = getMultiInputDateTimeRangeFieldUtilityClass;
@@ -2,55 +2,14 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
- exports.multiInputTimeRangeFieldClasses = exports.getMultiInputTimeRangeFieldUtilityClass = exports.MultiInputTimeRangeField = void 0;
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var React = _interopRequireWildcard(require("react"));
8
+ exports.MultiInputTimeRangeField = void 0;
13
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _clsx = require("clsx");
15
- var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
16
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
17
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
- var _styles = require("@mui/material/styles");
19
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
- var _utils = require("@mui/utils");
21
- var _internals = require("@mui/x-date-pickers/internals");
22
- var _hooks = require("@mui/x-date-pickers/hooks");
23
- var _PickersTextField = require("@mui/x-date-pickers/PickersTextField");
24
- var _useMultiInputTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField");
25
- var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className", "classes"];
27
- const multiInputTimeRangeFieldClasses = exports.multiInputTimeRangeFieldClasses = (0, _utils.unstable_generateUtilityClasses)('MuiMultiInputTimeRangeField', ['root', 'separator']);
28
- const getMultiInputTimeRangeFieldUtilityClass = slot => (0, _utils.unstable_generateUtilityClass)('MuiMultiInputTimeRangeField', slot);
29
- exports.getMultiInputTimeRangeFieldUtilityClass = getMultiInputTimeRangeFieldUtilityClass;
30
- const useUtilityClasses = classes => {
31
- const slots = {
32
- root: ['root'],
33
- separator: ['separator']
34
- };
35
- return (0, _utils.unstable_composeClasses)(slots, getMultiInputTimeRangeFieldUtilityClass, classes);
36
- };
37
- const MultiInputTimeRangeFieldRoot = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
38
- ref: ref,
39
- spacing: 2,
40
- direction: "row",
41
- alignItems: "center"
42
- }, props))), {
43
- name: 'MuiMultiInputTimeRangeField',
44
- slot: 'Root',
45
- overridesResolver: (props, styles) => styles.root
46
- })({});
47
- const MultiInputTimeRangeFieldSeparator = (0, _styles.styled)(_Typography.default, {
48
- name: 'MuiMultiInputTimeRangeField',
49
- slot: 'Separator',
50
- overridesResolver: (props, styles) => styles.separator
51
- })({
52
- lineHeight: '1.4375em' // 23px
53
- });
10
+ var _managers = require("../managers");
11
+ var _createMultiInputRangeField = require("../internals/utils/createMultiInputRangeField");
12
+ var _multiInputTimeRangeFieldClasses = require("./multiInputTimeRangeFieldClasses");
54
13
  /**
55
14
  * Demos:
56
15
  *
@@ -61,80 +20,12 @@ const MultiInputTimeRangeFieldSeparator = (0, _styles.styled)(_Typography.defaul
61
20
  *
62
21
  * - [MultiInputTimeRangeField API](https://mui.com/x/api/multi-input-time-range-field/)
63
22
  */
64
- const MultiInputTimeRangeField = exports.MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputTimeRangeField(inProps, ref) {
65
- const themeProps = (0, _styles.useThemeProps)({
66
- props: inProps,
67
- name: 'MuiMultiInputTimeRangeField'
68
- });
69
- const {
70
- internalProps,
71
- forwardedProps
72
- } = (0, _hooks.useSplitFieldProps)(themeProps, 'time');
73
- const {
74
- slots,
75
- slotProps,
76
- unstableStartFieldRef,
77
- unstableEndFieldRef,
78
- className,
79
- classes: classesProp
80
- } = forwardedProps,
81
- otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
82
- const ownerState = (0, _internals.useFieldOwnerState)(themeProps);
83
- const classes = useUtilityClasses(classesProp);
84
- const Root = slots?.root ?? MultiInputTimeRangeFieldRoot;
85
- const rootProps = (0, _useSlotProps.default)({
86
- elementType: Root,
87
- externalSlotProps: slotProps?.root,
88
- externalForwardedProps: otherForwardedProps,
89
- additionalProps: {
90
- ref
91
- },
92
- ownerState,
93
- className: (0, _clsx.clsx)(className, classes.root)
94
- });
95
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
96
- const startTextFieldProps = (0, _useSlotProps.default)({
97
- elementType: TextField,
98
- externalSlotProps: slotProps?.textField,
99
- ownerState: (0, _extends2.default)({}, ownerState, {
100
- position: 'start'
101
- })
102
- });
103
- const endTextFieldProps = (0, _useSlotProps.default)({
104
- elementType: TextField,
105
- externalSlotProps: slotProps?.textField,
106
- ownerState: (0, _extends2.default)({}, ownerState, {
107
- position: 'end'
108
- })
109
- });
110
- const Separator = slots?.separator ?? MultiInputTimeRangeFieldSeparator;
111
- const separatorProps = (0, _useSlotProps.default)({
112
- elementType: Separator,
113
- externalSlotProps: slotProps?.separator,
114
- additionalProps: {
115
- children: ` ${internalProps.dateSeparator ?? '–'} `
116
- },
117
- ownerState,
118
- className: classes.separator
119
- });
120
- const fieldResponse = (0, _useMultiInputTimeRangeField.useMultiInputTimeRangeField)({
121
- sharedProps: internalProps,
122
- startTextFieldProps,
123
- endTextFieldProps,
124
- unstableStartFieldRef,
125
- unstableEndFieldRef
126
- });
127
- const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
128
- const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
129
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
130
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
131
- fullWidth: true
132
- }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
133
- fullWidth: true
134
- }, endDateProps))]
135
- }));
23
+ const MultiInputTimeRangeField = exports.MultiInputTimeRangeField = (0, _createMultiInputRangeField.createMultiInputRangeField)({
24
+ name: 'MuiMultiInputTimeRangeField',
25
+ getUtilityClass: _multiInputTimeRangeFieldClasses.getMultiInputTimeRangeFieldUtilityClass,
26
+ useManager: _managers.useTimeRangeManager
136
27
  });
137
- process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
28
+ MultiInputTimeRangeField.propTypes = {
138
29
  // ----------------------------- Warning --------------------------------
139
30
  // | These PropTypes are generated from the TypeScript type definitions |
140
31
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -146,6 +37,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
146
37
  ampm: _propTypes.default.bool,
147
38
  /**
148
39
  * If `true`, the `input` element is focused during the first mount.
40
+ * @default false
149
41
  */
150
42
  autoFocus: _propTypes.default.bool,
151
43
  /**
@@ -296,7 +188,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
296
188
  */
297
189
  slotProps: _propTypes.default.object,
298
190
  /**
299
- * Overridable slots.
191
+ * Overridable component slots.
300
192
  * @default {}
301
193
  */
302
194
  slots: _propTypes.default.object,
@@ -335,4 +227,4 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
335
227
  * Used when the component is controlled.
336
228
  */
337
229
  value: _propTypes.default.arrayOf(_propTypes.default.object)
338
- } : void 0;
230
+ };
@@ -12,20 +12,14 @@ Object.defineProperty(exports, "MultiInputTimeRangeField", {
12
12
  Object.defineProperty(exports, "getMultiInputTimeRangeFieldUtilityClass", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _MultiInputTimeRangeField.getMultiInputTimeRangeFieldUtilityClass;
15
+ return _multiInputTimeRangeFieldClasses.getMultiInputTimeRangeFieldUtilityClass;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "multiInputTimeRangeFieldClasses", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _MultiInputTimeRangeField.multiInputTimeRangeFieldClasses;
22
- }
23
- });
24
- Object.defineProperty(exports, "unstable_useMultiInputTimeRangeField", {
25
- enumerable: true,
26
- get: function () {
27
- return _useMultiInputTimeRangeField.useMultiInputTimeRangeField;
21
+ return _multiInputTimeRangeFieldClasses.multiInputTimeRangeFieldClasses;
28
22
  }
29
23
  });
30
24
  var _MultiInputTimeRangeField = require("./MultiInputTimeRangeField");
31
- var _useMultiInputTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField");
25
+ var _multiInputTimeRangeFieldClasses = require("./multiInputTimeRangeFieldClasses");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.multiInputTimeRangeFieldClasses = exports.getMultiInputTimeRangeFieldUtilityClass = void 0;
8
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
9
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
10
+ const multiInputTimeRangeFieldClasses = exports.multiInputTimeRangeFieldClasses = (0, _generateUtilityClasses.default)('MuiMultiInputTimeRangeField', ['root', 'separator']);
11
+ const getMultiInputTimeRangeFieldUtilityClass = slot => (0, _generateUtilityClass.default)('MuiMultiInputTimeRangeField', slot);
12
+ exports.getMultiInputTimeRangeFieldUtilityClass = getMultiInputTimeRangeFieldUtilityClass;
@@ -7,20 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.SingleInputDateRangeField = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
11
  var React = _interopRequireWildcard(require("react"));
13
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
15
13
  var _styles = require("@mui/material/styles");
16
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
17
14
  var _utils = require("@mui/utils");
18
- var _hooks = require("@mui/x-date-pickers/hooks");
15
+ var _icons = require("@mui/x-date-pickers/icons");
19
16
  var _internals = require("@mui/x-date-pickers/internals");
20
- var _PickersTextField = require("@mui/x-date-pickers/PickersTextField");
21
17
  var _useSingleInputDateRangeField = require("./useSingleInputDateRangeField");
22
18
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
19
+ const _excluded = ["slots", "slotProps"];
24
20
  /**
25
21
  * Demos:
26
22
  *
@@ -38,33 +34,21 @@ const SingleInputDateRangeField = exports.SingleInputDateRangeField = /*#__PURE_
38
34
  });
39
35
  const {
40
36
  slots,
41
- slotProps,
42
- InputProps,
43
- inputProps
37
+ slotProps
44
38
  } = themeProps,
45
39
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
- const ownerState = (0, _internals.useFieldOwnerState)(themeProps);
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
- const textFieldProps = (0, _useSlotProps.default)({
49
- elementType: TextField,
50
- externalSlotProps: slotProps?.textField,
51
- externalForwardedProps: other,
52
- ownerState,
53
- additionalProps: {
54
- ref: inRef
55
- }
40
+ const textFieldProps = (0, _internals.useFieldTextFieldProps)({
41
+ slotProps,
42
+ ref: inRef,
43
+ externalForwardedProps: other
56
44
  });
57
-
58
- // TODO: Remove when mui/material-ui#35088 will be merged
59
- textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
60
- textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
61
45
  const fieldResponse = (0, _useSingleInputDateRangeField.useSingleInputDateRangeField)(textFieldProps);
62
- const convertedFieldResponse = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
63
- const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
64
- slots,
65
- slotProps
66
- }));
67
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerFieldUI, {
47
+ slots: slots,
48
+ slotProps: slotProps,
49
+ fieldResponse: fieldResponse,
50
+ defaultOpenPickerIcon: _icons.DateRangeIcon
51
+ });
68
52
  });
69
53
  SingleInputDateRangeField.fieldType = 'single-input';
70
54
  process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
@@ -83,6 +67,12 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
83
67
  * @default false
84
68
  */
85
69
  clearable: _propTypes.default.bool,
70
+ /**
71
+ * The position at which the clear button is placed.
72
+ * If the field is not clearable, the button is not rendered.
73
+ * @default 'end'
74
+ */
75
+ clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
86
76
  /**
87
77
  * The color of the component.
88
78
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -24,7 +24,8 @@ const useSingleInputDateRangeField = props => {
24
24
  valueManager: manager.internal_valueManager,
25
25
  fieldValueManager: manager.internal_fieldValueManager,
26
26
  validator: manager.validator,
27
- valueType: manager.valueType
27
+ valueType: manager.valueType,
28
+ getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
28
29
  });
29
30
  };
30
31
  exports.useSingleInputDateRangeField = useSingleInputDateRangeField;
@@ -7,20 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.SingleInputDateTimeRangeField = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
11
  var React = _interopRequireWildcard(require("react"));
13
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
+ var _icons = require("@mui/x-date-pickers/icons");
15
14
  var _internals = require("@mui/x-date-pickers/internals");
16
- var _PickersTextField = require("@mui/x-date-pickers/PickersTextField");
17
15
  var _styles = require("@mui/material/styles");
18
16
  var _utils = require("@mui/utils");
19
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
- var _hooks = require("@mui/x-date-pickers/hooks");
21
17
  var _useSingleInputDateTimeRangeField = require("./useSingleInputDateTimeRangeField");
22
18
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
19
+ const _excluded = ["slots", "slotProps"];
24
20
  /**
25
21
  * Demos:
26
22
  *
@@ -38,33 +34,21 @@ const SingleInputDateTimeRangeField = exports.SingleInputDateTimeRangeField = /*
38
34
  });
39
35
  const {
40
36
  slots,
41
- slotProps,
42
- InputProps,
43
- inputProps
37
+ slotProps
44
38
  } = themeProps,
45
39
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
- const ownerState = (0, _internals.useFieldOwnerState)(themeProps);
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
- const textFieldProps = (0, _useSlotProps.default)({
49
- elementType: TextField,
50
- externalSlotProps: slotProps?.textField,
51
- externalForwardedProps: other,
52
- ownerState,
53
- additionalProps: {
54
- ref: inRef
55
- }
40
+ const textFieldProps = (0, _internals.useFieldTextFieldProps)({
41
+ slotProps,
42
+ ref: inRef,
43
+ externalForwardedProps: other
56
44
  });
57
-
58
- // TODO: Remove when mui/material-ui#35088 will be merged
59
- textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
60
- textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
61
45
  const fieldResponse = (0, _useSingleInputDateTimeRangeField.useSingleInputDateTimeRangeField)(textFieldProps);
62
- const convertedFieldResponse = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
63
- const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
64
- slots,
65
- slotProps
66
- }));
67
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerFieldUI, {
47
+ slots: slots,
48
+ slotProps: slotProps,
49
+ fieldResponse: fieldResponse,
50
+ defaultOpenPickerIcon: _icons.DateRangeIcon
51
+ });
68
52
  });
69
53
  SingleInputDateTimeRangeField.fieldType = 'single-input';
70
54
  process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
@@ -88,6 +72,12 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
88
72
  * @default false
89
73
  */
90
74
  clearable: _propTypes.default.bool,
75
+ /**
76
+ * The position at which the clear button is placed.
77
+ * If the field is not clearable, the button is not rendered.
78
+ * @default 'end'
79
+ */
80
+ clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
91
81
  /**
92
82
  * The color of the component.
93
83
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -24,7 +24,8 @@ const useSingleInputDateTimeRangeField = props => {
24
24
  valueManager: manager.internal_valueManager,
25
25
  fieldValueManager: manager.internal_fieldValueManager,
26
26
  validator: manager.validator,
27
- valueType: manager.valueType
27
+ valueType: manager.valueType,
28
+ getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
28
29
  });
29
30
  };
30
31
  exports.useSingleInputDateTimeRangeField = useSingleInputDateTimeRangeField;