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

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 +551 -3
  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
@@ -8,7 +8,7 @@ export interface UseDateTimeRangeManagerParameters<TEnableAccessibleFieldDOMStru
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
10
  export type UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError, DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- interface DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'format'>, ExportedValidateDateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {
11
+ export interface DateTimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'format'>, ExportedValidateDateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {
12
12
  }
13
13
  interface DateTimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, ValidateDateTimeRangeProps, RangeFieldSeparatorProps {
14
14
  }
@@ -26,6 +26,8 @@ export function useDateTimeRangeManager(parameters = {}) {
26
26
  internalProps,
27
27
  utils,
28
28
  defaultDates
29
- }))
29
+ })),
30
+ // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
31
+ internal_getOpenPickerButtonAriaLabel: () => ''
30
32
  }), [enableAccessibleFieldDOMStructure, dateSeparator]);
31
33
  }
@@ -8,7 +8,7 @@ export interface UseTimeRangeManagerParameters<TEnableAccessibleFieldDOMStructur
8
8
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
9
9
  }
10
10
  export type UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError, TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
11
- interface TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'format'>, ExportedValidateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {
11
+ export interface TimeRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'format'>, ExportedValidateTimeRangeProps, AmPmProps, RangeFieldSeparatorProps {
12
12
  }
13
13
  interface TimeRangeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, ValidateTimeRangeProps {
14
14
  }
@@ -24,6 +24,8 @@ export function useTimeRangeManager(parameters = {}) {
24
24
  }) => _extends({}, internalProps, getTimeFieldInternalPropsDefaults({
25
25
  utils,
26
26
  internalProps
27
- }))
27
+ })),
28
+ // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
29
+ internal_getOpenPickerButtonAriaLabel: () => ''
28
30
  }), [enableAccessibleFieldDOMStructure, dateSeparator]);
29
31
  }
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { UseFieldResponse, FormProps, PickerValue, PickerRangeValue } from '@mui/x-date-pickers/internals';
3
3
  import { FieldRef, PickerFieldSlotProps } from '@mui/x-date-pickers/models';
4
- import { UseClearableFieldResponse } from '@mui/x-date-pickers/hooks';
5
4
  export type { FieldRangeSection } from '@mui/x-date-pickers/internals';
6
5
  export type FieldType = 'single-input' | 'multi-input';
7
6
  /**
@@ -45,4 +44,4 @@ export type PickerRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends
45
44
  * Props the text field receives when used with a multi input picker.
46
45
  * Only contains what the MUI components are passing to the text field, not what users can pass using the `props.slotProps.textField`.
47
46
  */
48
- export type BaseMultiInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, MultiInputFieldSlotTextFieldProps>>;
47
+ export type BaseMultiInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = Omit<UseFieldResponse<TEnableAccessibleFieldDOMStructure, MultiInputFieldSlotTextFieldProps>, 'slots' | 'slotProps' | 'clearable' | 'onClear' | 'openPickerButtonPosition' | 'clearButtonPosition' | 'openPickerAriaLabel'>;
package/models/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- export * from './dateRange';
2
1
  export * from './fields';
3
2
  export * from './range';
4
3
  export * from './validation';
5
- export * from './multiInputRangeFieldClasses';
6
4
  export type { RangePosition } from '@mui/x-date-pickers/internals';
package/models/index.js CHANGED
@@ -1,6 +1,4 @@
1
- export * from "./dateRange.js";
2
1
  export * from "./fields.js";
3
2
  export * from "./range.js";
4
3
  export * from "./validation.js";
5
- export * from "./multiInputRangeFieldClasses.js";
6
4
  export {};
@@ -192,15 +192,15 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
192
192
  const id = useId();
193
193
  const {
194
194
  rangePosition,
195
- onRangePositionChange
195
+ setRangePosition
196
196
  } = useRangePosition({
197
197
  rangePosition: rangePositionProp ?? rangePositionContext?.rangePosition,
198
198
  defaultRangePosition: defaultRangePositionProp,
199
- onRangePositionChange: onRangePositionChangeProp ?? rangePositionContext?.onRangePositionChange
199
+ onRangePositionChange: onRangePositionChangeProp ?? rangePositionContext?.setRangePosition
200
200
  });
201
201
  const handleDatePositionChange = useEventCallback(position => {
202
202
  if (rangePosition !== position) {
203
- onRangePositionChange(position);
203
+ setRangePosition(position);
204
204
  }
205
205
  });
206
206
  const handleSelectedDayChange = useEventCallback((newDate, selectionState, allowRangeFlip = false) => {
@@ -218,7 +218,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
218
218
  });
219
219
  const isNextSectionAvailable = availableRangePositions.includes(nextSelection);
220
220
  if (isNextSectionAvailable) {
221
- onRangePositionChange(nextSelection);
221
+ setRangePosition(nextSelection);
222
222
  }
223
223
  const isFullRangeSelected = rangePosition === 'end' && isRangeValid(utils, newRange);
224
224
  setValueAndGoToNextView(newRange, isFullRangeSelected || !isNextSectionAvailable ? 'finish' : 'partial', view);
@@ -62,7 +62,7 @@ const DateRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateRangeP
62
62
  const ownerState = useToolbarOwnerState();
63
63
  const {
64
64
  rangePosition,
65
- onRangePositionChange
65
+ setRangePosition
66
66
  } = usePickerRangePositionContext();
67
67
  const classes = useUtilityClasses(classesProp);
68
68
 
@@ -85,7 +85,7 @@ const DateRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateRangeP
85
85
  variant: value[0] == null ? 'h6' : 'h5',
86
86
  value: formatDate(value[0], translations.start),
87
87
  selected: rangePosition === 'start',
88
- onClick: () => onRangePositionChange('start')
88
+ onClick: () => setRangePosition('start')
89
89
  }), /*#__PURE__*/_jsxs(Typography, {
90
90
  variant: "h5",
91
91
  children: ["\xA0", '–', "\xA0"]
@@ -93,7 +93,7 @@ const DateRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateRangeP
93
93
  variant: value[1] == null ? 'h6' : 'h5',
94
94
  value: formatDate(value[1], translations.end),
95
95
  selected: rangePosition === 'end',
96
- onClick: () => onRangePositionChange('end')
96
+ onClick: () => setRangePosition('end')
97
97
  })]
98
98
  })
99
99
  }));
@@ -87,7 +87,7 @@ const DateTimeRangePickerTabs = function DateTimeRangePickerTabs(inProps) {
87
87
  const classes = useUtilityClasses(classesProp);
88
88
  const {
89
89
  rangePosition,
90
- onRangePositionChange
90
+ setRangePosition
91
91
  } = usePickerRangePositionContext();
92
92
  const value = React.useMemo(() => view == null ? null : viewToTab(view, rangePosition), [view, rangePosition]);
93
93
  const isPreviousHidden = value === 'start-date';
@@ -108,9 +108,9 @@ const DateTimeRangePickerTabs = function DateTimeRangePickerTabs(inProps) {
108
108
  }, [translations.endDate, translations.endTime, translations.startDate, translations.startTime, value]);
109
109
  const handleRangePositionChange = useEventCallback(newTab => {
110
110
  if (newTab.includes('start')) {
111
- onRangePositionChange('start');
111
+ setRangePosition('start');
112
112
  } else {
113
- onRangePositionChange('end');
113
+ setRangePosition('end');
114
114
  }
115
115
  });
116
116
  const changeToPreviousTab = useEventCallback(() => {
@@ -21,7 +21,7 @@ function DateTimeRangePickerTimeWrapper(props) {
21
21
  other = _objectWithoutPropertiesLoose(props, _excluded);
22
22
  const {
23
23
  rangePosition,
24
- onRangePositionChange
24
+ setRangePosition
25
25
  } = usePickerRangePositionContext();
26
26
  if (!viewRenderer) {
27
27
  return null;
@@ -45,7 +45,7 @@ function DateTimeRangePickerTimeWrapper(props) {
45
45
  // reset view to the first time view and swap range position after selecting the last time view (start or end position)
46
46
  if (selectedView === timeViews[timeViews.length - 1] && onViewChange) {
47
47
  onViewChange(views[0]);
48
- onRangePositionChange(rangePosition === 'start' ? 'end' : 'start');
48
+ setRangePosition(rangePosition === 'start' ? 'end' : 'start');
49
49
  }
50
50
  onChange(newRange, isFullRangeSelected ? 'finish' : 'partial', selectedView);
51
51
  };
@@ -74,7 +74,7 @@ const DateTimeRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateTi
74
74
  const ownerState = useToolbarOwnerState();
75
75
  const {
76
76
  rangePosition,
77
- onRangePositionChange
77
+ setRangePosition
78
78
  } = usePickerRangePositionContext();
79
79
  const classes = useUtilityClasses(classesProp);
80
80
  const commonToolbarProps = {
@@ -97,18 +97,18 @@ const DateTimeRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateTi
97
97
  rangePosition,
98
98
  allowRangeFlip: true
99
99
  });
100
- onRangePositionChange(nextSelection);
100
+ setRangePosition(nextSelection);
101
101
  setValue(newRange, {
102
102
  changeImportance: 'set'
103
103
  });
104
- }, [setValue, onRangePositionChange, value, rangePosition, utils]);
104
+ }, [setValue, setRangePosition, value, rangePosition, utils]);
105
105
  const startOverrides = React.useMemo(() => {
106
106
  const handleStartRangeViewChange = newView => {
107
107
  if (newView === 'year' || newView === 'month') {
108
108
  return;
109
109
  }
110
110
  if (rangePosition !== 'start') {
111
- onRangePositionChange('start');
111
+ setRangePosition('start');
112
112
  }
113
113
  setView(newView);
114
114
  };
@@ -119,14 +119,14 @@ const DateTimeRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateTi
119
119
  setView: handleStartRangeViewChange,
120
120
  view: rangePosition === 'start' ? view : null
121
121
  };
122
- }, [value, wrappedSetValue, rangePosition, view, onRangePositionChange, setView]);
122
+ }, [value, wrappedSetValue, rangePosition, view, setRangePosition, setView]);
123
123
  const endOverrides = React.useMemo(() => {
124
124
  const handleEndRangeViewChange = newView => {
125
125
  if (newView === 'year' || newView === 'month') {
126
126
  return;
127
127
  }
128
128
  if (rangePosition !== 'end') {
129
- onRangePositionChange('end');
129
+ setRangePosition('end');
130
130
  }
131
131
  setView(newView);
132
132
  };
@@ -137,7 +137,7 @@ const DateTimeRangePickerToolbar = /*#__PURE__*/React.forwardRef(function DateTi
137
137
  setView: handleEndRangeViewChange,
138
138
  view: rangePosition === 'end' ? view : null
139
139
  };
140
- }, [value, wrappedSetValue, rangePosition, view, onRangePositionChange, setView]);
140
+ }, [value, wrappedSetValue, rangePosition, view, setRangePosition, setView]);
141
141
  if (hidden) {
142
142
  return null;
143
143
  }
@@ -1,48 +1,11 @@
1
1
  'use client';
2
2
 
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className", "classes"];
6
- import * as React from 'react';
7
3
  import PropTypes from 'prop-types';
8
- import clsx from 'clsx';
9
- import Stack from '@mui/material/Stack';
10
- import MuiTextField from '@mui/material/TextField';
11
- import Typography from '@mui/material/Typography';
12
- import { styled, useThemeProps } from '@mui/material/styles';
13
- import useSlotProps from '@mui/utils/useSlotProps';
14
- import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { convertFieldResponseIntoMuiTextFieldProps, useFieldOwnerState } from '@mui/x-date-pickers/internals';
16
- import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
17
- import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
18
- import { useMultiInputDateRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js";
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- export const multiInputDateRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateRangeField', ['root', 'separator']);
21
- export const getMultiInputDateRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateRangeField', slot);
22
- const useUtilityClasses = classes => {
23
- const slots = {
24
- root: ['root'],
25
- separator: ['separator']
26
- };
27
- return composeClasses(slots, getMultiInputDateRangeFieldUtilityClass, classes);
28
- };
29
- const MultiInputDateRangeFieldRoot = styled(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
30
- ref: ref,
31
- spacing: 2,
32
- direction: "row",
33
- alignItems: "center"
34
- }, props))), {
35
- name: 'MuiMultiInputDateRangeField',
36
- slot: 'Root',
37
- overridesResolver: (props, styles) => styles.root
38
- })({});
39
- const MultiInputDateRangeFieldSeparator = styled(Typography, {
40
- name: 'MuiMultiInputDateRangeField',
41
- slot: 'Separator',
42
- overridesResolver: (props, styles) => styles.separator
43
- })({
44
- lineHeight: '1.4375em' // 23px
45
- });
4
+ import { useDateRangeManager } from "../managers/index.js";
5
+ import {
6
+ // The alias is needed to have the doc gen working.
7
+ createMultiInputRangeField as createMultiInputDateRangeField } from "../internals/utils/createMultiInputRangeField/index.js";
8
+ import { getMultiInputDateRangeFieldUtilityClass } from "./multiInputDateRangeFieldClasses.js";
46
9
  /**
47
10
  * Demos:
48
11
  *
@@ -53,86 +16,19 @@ const MultiInputDateRangeFieldSeparator = styled(Typography, {
53
16
  *
54
17
  * - [MultiInputDateRangeField API](https://mui.com/x/api/multi-input-date-range-field/)
55
18
  */
56
- const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateRangeField(inProps, ref) {
57
- const themeProps = useThemeProps({
58
- props: inProps,
59
- name: 'MuiMultiInputDateRangeField'
60
- });
61
- const {
62
- internalProps,
63
- forwardedProps
64
- } = useSplitFieldProps(themeProps, 'date');
65
- const {
66
- slots,
67
- slotProps,
68
- unstableStartFieldRef,
69
- unstableEndFieldRef,
70
- className,
71
- classes: classesProp
72
- } = forwardedProps,
73
- otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
74
- const ownerState = useFieldOwnerState(internalProps);
75
- const classes = useUtilityClasses(classesProp);
76
- const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
77
- const rootProps = useSlotProps({
78
- elementType: Root,
79
- externalSlotProps: slotProps?.root,
80
- externalForwardedProps: otherForwardedProps,
81
- additionalProps: {
82
- ref
83
- },
84
- ownerState,
85
- className: clsx(className, classes.root)
86
- });
87
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
88
- const startTextFieldProps = useSlotProps({
89
- elementType: TextField,
90
- externalSlotProps: slotProps?.textField,
91
- ownerState: _extends({}, ownerState, {
92
- position: 'start'
93
- })
94
- });
95
- const endTextFieldProps = useSlotProps({
96
- elementType: TextField,
97
- externalSlotProps: slotProps?.textField,
98
- ownerState: _extends({}, ownerState, {
99
- position: 'end'
100
- })
101
- });
102
- const Separator = slots?.separator ?? MultiInputDateRangeFieldSeparator;
103
- const separatorProps = useSlotProps({
104
- elementType: Separator,
105
- externalSlotProps: slotProps?.separator,
106
- additionalProps: {
107
- children: ` ${internalProps.dateSeparator ?? '–'} `
108
- },
109
- ownerState,
110
- className: classes.separator
111
- });
112
- const fieldResponse = useMultiInputDateRangeField({
113
- sharedProps: internalProps,
114
- startTextFieldProps,
115
- endTextFieldProps,
116
- unstableStartFieldRef,
117
- unstableEndFieldRef
118
- });
119
- const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
120
- const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
121
- return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
122
- children: [/*#__PURE__*/_jsx(TextField, _extends({
123
- fullWidth: true
124
- }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
125
- fullWidth: true
126
- }, endDateProps))]
127
- }));
19
+ const MultiInputDateRangeField = createMultiInputDateRangeField({
20
+ name: 'MuiMultiInputDateRangeField',
21
+ getUtilityClass: getMultiInputDateRangeFieldUtilityClass,
22
+ useManager: useDateRangeManager
128
23
  });
129
- process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
24
+ MultiInputDateRangeField.propTypes = {
130
25
  // ----------------------------- Warning --------------------------------
131
26
  // | These PropTypes are generated from the TypeScript type definitions |
132
27
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
133
28
  // ----------------------------------------------------------------------
134
29
  /**
135
30
  * If `true`, the `input` element is focused during the first mount.
31
+ * @default false
136
32
  */
137
33
  autoFocus: PropTypes.bool,
138
34
  /**
@@ -315,5 +211,5 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
315
211
  * Used when the component is controlled.
316
212
  */
317
213
  value: PropTypes.arrayOf(PropTypes.object)
318
- } : void 0;
214
+ };
319
215
  export { MultiInputDateRangeField };
@@ -1,2 +1,2 @@
1
- export { MultiInputDateRangeField, getMultiInputDateRangeFieldUtilityClass, multiInputDateRangeFieldClasses } from "./MultiInputDateRangeField.js";
2
- export { useMultiInputDateRangeField as unstable_useMultiInputDateRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js";
1
+ export { MultiInputDateRangeField } from "./MultiInputDateRangeField.js";
2
+ export { multiInputDateRangeFieldClasses, getMultiInputDateRangeFieldUtilityClass } from "./multiInputDateRangeFieldClasses.js";
@@ -0,0 +1,4 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export const multiInputDateRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateRangeField', ['root', 'separator']);
4
+ export const getMultiInputDateRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateRangeField', slot);
@@ -1,48 +1,11 @@
1
1
  'use client';
2
2
 
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className", "classes"];
6
- import * as React from 'react';
7
3
  import PropTypes from 'prop-types';
8
- import clsx from 'clsx';
9
- import Stack from '@mui/material/Stack';
10
- import MuiTextField from '@mui/material/TextField';
11
- import Typography from '@mui/material/Typography';
12
- import { styled, useThemeProps } from '@mui/material/styles';
13
- import useSlotProps from '@mui/utils/useSlotProps';
14
- import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { convertFieldResponseIntoMuiTextFieldProps, useFieldOwnerState } from '@mui/x-date-pickers/internals';
16
- import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
17
- import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
18
- import { useMultiInputDateTimeRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js";
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- export const multiInputDateTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
21
- export const getMultiInputDateTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateTimeRangeField', slot);
22
- const useUtilityClasses = classes => {
23
- const slots = {
24
- root: ['root'],
25
- separator: ['separator']
26
- };
27
- return composeClasses(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
28
- };
29
- const MultiInputDateTimeRangeFieldRoot = styled(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
30
- ref: ref,
31
- spacing: 2,
32
- direction: "row",
33
- alignItems: "center"
34
- }, props))), {
35
- name: 'MuiMultiInputDateTimeRangeField',
36
- slot: 'Root',
37
- overridesResolver: (props, styles) => styles.root
38
- })({});
39
- const MultiInputDateTimeRangeFieldSeparator = styled(Typography, {
40
- name: 'MuiMultiInputDateTimeRangeField',
41
- slot: 'Separator',
42
- overridesResolver: (props, styles) => styles.separator
43
- })({
44
- lineHeight: '1.4375em' // 23px
45
- });
4
+ import { useDateTimeRangeManager } from "../managers/index.js";
5
+ import {
6
+ // The alias is needed to have the doc gen working.
7
+ createMultiInputRangeField as createMultiInputDateTimeRangeField } from "../internals/utils/createMultiInputRangeField/index.js";
8
+ import { getMultiInputDateTimeRangeFieldUtilityClass } from "./multiInputDateTimeRangeFieldClasses.js";
46
9
  /**
47
10
  * Demos:
48
11
  *
@@ -53,80 +16,12 @@ const MultiInputDateTimeRangeFieldSeparator = styled(Typography, {
53
16
  *
54
17
  * - [MultiInputDateTimeRangeField API](https://mui.com/x/api/multi-input-date-time-range-field/)
55
18
  */
56
- const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateTimeRangeField(inProps, ref) {
57
- const themeProps = useThemeProps({
58
- props: inProps,
59
- name: 'MuiMultiInputDateTimeRangeField'
60
- });
61
- const {
62
- internalProps,
63
- forwardedProps
64
- } = useSplitFieldProps(themeProps, 'date-time');
65
- const {
66
- slots,
67
- slotProps,
68
- unstableStartFieldRef,
69
- unstableEndFieldRef,
70
- className,
71
- classes: classesProp
72
- } = forwardedProps,
73
- otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
74
- const ownerState = useFieldOwnerState(themeProps);
75
- const classes = useUtilityClasses(classesProp);
76
- const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
77
- const rootProps = useSlotProps({
78
- elementType: Root,
79
- externalSlotProps: slotProps?.root,
80
- externalForwardedProps: otherForwardedProps,
81
- additionalProps: {
82
- ref
83
- },
84
- ownerState,
85
- className: clsx(className, classes.root)
86
- });
87
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
88
- const startTextFieldProps = useSlotProps({
89
- elementType: TextField,
90
- externalSlotProps: slotProps?.textField,
91
- ownerState: _extends({}, ownerState, {
92
- position: 'start'
93
- })
94
- });
95
- const endTextFieldProps = useSlotProps({
96
- elementType: TextField,
97
- externalSlotProps: slotProps?.textField,
98
- ownerState: _extends({}, ownerState, {
99
- position: 'end'
100
- })
101
- });
102
- const Separator = slots?.separator ?? MultiInputDateTimeRangeFieldSeparator;
103
- const separatorProps = useSlotProps({
104
- elementType: Separator,
105
- externalSlotProps: slotProps?.separator,
106
- additionalProps: {
107
- children: ` ${internalProps.dateSeparator ?? '–'} `
108
- },
109
- ownerState,
110
- className: classes.separator
111
- });
112
- const fieldResponse = useMultiInputDateTimeRangeField({
113
- sharedProps: internalProps,
114
- startTextFieldProps,
115
- endTextFieldProps,
116
- unstableStartFieldRef,
117
- unstableEndFieldRef
118
- });
119
- const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
120
- const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
121
- return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
122
- children: [/*#__PURE__*/_jsx(TextField, _extends({
123
- fullWidth: true
124
- }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
125
- fullWidth: true
126
- }, endDateProps))]
127
- }));
19
+ const MultiInputDateTimeRangeField = createMultiInputDateTimeRangeField({
20
+ name: 'MuiMultiInputDateTimeRangeField',
21
+ getUtilityClass: getMultiInputDateTimeRangeFieldUtilityClass,
22
+ useManager: useDateTimeRangeManager
128
23
  });
129
- process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
24
+ MultiInputDateTimeRangeField.propTypes = {
130
25
  // ----------------------------- Warning --------------------------------
131
26
  // | These PropTypes are generated from the TypeScript type definitions |
132
27
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -138,6 +33,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
138
33
  ampm: PropTypes.bool,
139
34
  /**
140
35
  * If `true`, the `input` element is focused during the first mount.
36
+ * @default false
141
37
  */
142
38
  autoFocus: PropTypes.bool,
143
39
  /**
@@ -355,5 +251,5 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
355
251
  * Used when the component is controlled.
356
252
  */
357
253
  value: PropTypes.arrayOf(PropTypes.object)
358
- } : void 0;
254
+ };
359
255
  export { MultiInputDateTimeRangeField };
@@ -1,2 +1,2 @@
1
- export { MultiInputDateTimeRangeField, getMultiInputDateTimeRangeFieldUtilityClass, multiInputDateTimeRangeFieldClasses } from "./MultiInputDateTimeRangeField.js";
2
- export { useMultiInputDateTimeRangeField as unstable_useMultiInputDateTimeRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js";
1
+ export { MultiInputDateTimeRangeField } from "./MultiInputDateTimeRangeField.js";
2
+ export { multiInputDateTimeRangeFieldClasses, getMultiInputDateTimeRangeFieldUtilityClass } from "./multiInputDateTimeRangeFieldClasses.js";
@@ -0,0 +1,4 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export const multiInputDateTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
4
+ export const getMultiInputDateTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateTimeRangeField', slot);