@mui/x-date-pickers-pro 8.0.0-alpha.12 → 8.0.0-alpha.14

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 (159) hide show
  1. package/CHANGELOG.md +430 -0
  2. package/DateRangePicker/DateRangePicker.types.d.ts +2 -2
  3. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +2 -2
  4. package/DateTimeRangePicker/shared.d.ts +2 -2
  5. package/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  6. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +2 -2
  7. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  8. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +2 -2
  9. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  10. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  11. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  12. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +6 -4
  13. package/dateRangeViewRenderers/dateRangeViewRenderers.js +13 -8
  14. package/esm/DateRangePicker/DateRangePicker.types.d.ts +2 -2
  15. package/esm/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +2 -2
  16. package/esm/DateTimeRangePicker/shared.d.ts +2 -2
  17. package/esm/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  18. package/esm/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +2 -2
  19. package/esm/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  20. package/esm/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +2 -2
  21. package/esm/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  22. package/esm/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  23. package/esm/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  24. package/esm/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +6 -4
  25. package/esm/dateRangeViewRenderers/dateRangeViewRenderers.js +13 -8
  26. package/esm/hooks/index.d.ts +2 -1
  27. package/esm/hooks/useMultiInputRangeField/index.d.ts +2 -1
  28. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +37 -18
  29. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeField.js +41 -50
  30. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.d.ts +11 -0
  31. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.js +25 -0
  32. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +4 -1
  33. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js +3 -2
  34. package/esm/hooks/useMultiInputRangeField/useTextFieldProps.d.ts +30 -0
  35. package/esm/hooks/useMultiInputRangeField/useTextFieldProps.js +141 -0
  36. package/esm/index.js +1 -1
  37. package/esm/internals/hooks/models/index.d.ts +1 -1
  38. package/esm/internals/hooks/models/useRangePicker.d.ts +4 -11
  39. package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +8 -75
  40. package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +17 -5
  41. package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +17 -47
  42. package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +18 -5
  43. package/esm/internals/hooks/useRangePosition.d.ts +1 -4
  44. package/esm/internals/hooks/useRangePosition.js +1 -18
  45. package/esm/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  46. package/esm/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  47. package/esm/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +26 -32
  48. package/esm/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +1 -1
  49. package/esm/internals/utils/createMultiInputRangeField/useTextFieldProps.d.ts +12 -0
  50. package/esm/internals/utils/createMultiInputRangeField/useTextFieldProps.js +36 -0
  51. package/esm/internals/utils/date-fields-utils.d.ts +4 -1
  52. package/esm/internals/utils/date-fields-utils.js +5 -1
  53. package/esm/internals/utils/releaseInfo.js +1 -1
  54. package/esm/internals/utils/valueManagers.js +31 -30
  55. package/esm/managers/useDateRangeManager.d.ts +2 -4
  56. package/esm/managers/useDateRangeManager.js +8 -1
  57. package/esm/managers/useDateTimeRangeManager.d.ts +2 -4
  58. package/esm/managers/useDateTimeRangeManager.js +8 -1
  59. package/esm/managers/useTimeRangeManager.d.ts +2 -4
  60. package/esm/managers/useTimeRangeManager.js +10 -1
  61. package/esm/models/fields.d.ts +5 -18
  62. package/hooks/index.d.ts +2 -1
  63. package/hooks/useMultiInputRangeField/index.d.ts +2 -1
  64. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +37 -18
  65. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +40 -51
  66. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.d.ts +11 -0
  67. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.js +31 -0
  68. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +4 -1
  69. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js +3 -1
  70. package/hooks/useMultiInputRangeField/useTextFieldProps.d.ts +30 -0
  71. package/hooks/useMultiInputRangeField/useTextFieldProps.js +149 -0
  72. package/index.js +1 -1
  73. package/internals/hooks/models/index.d.ts +1 -1
  74. package/internals/hooks/models/useRangePicker.d.ts +4 -11
  75. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +7 -74
  76. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +17 -5
  77. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +17 -47
  78. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +18 -5
  79. package/internals/hooks/useRangePosition.d.ts +1 -4
  80. package/internals/hooks/useRangePosition.js +1 -18
  81. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  82. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  83. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +25 -31
  84. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +1 -1
  85. package/internals/utils/createMultiInputRangeField/useTextFieldProps.d.ts +12 -0
  86. package/internals/utils/createMultiInputRangeField/useTextFieldProps.js +44 -0
  87. package/internals/utils/date-fields-utils.d.ts +4 -1
  88. package/internals/utils/date-fields-utils.js +6 -1
  89. package/internals/utils/releaseInfo.js +1 -1
  90. package/internals/utils/valueManagers.js +31 -30
  91. package/managers/useDateRangeManager.d.ts +2 -4
  92. package/managers/useDateRangeManager.js +8 -1
  93. package/managers/useDateTimeRangeManager.d.ts +2 -4
  94. package/managers/useDateTimeRangeManager.js +8 -1
  95. package/managers/useTimeRangeManager.d.ts +2 -4
  96. package/managers/useTimeRangeManager.js +10 -1
  97. package/models/fields.d.ts +5 -18
  98. package/modern/DateRangePicker/DateRangePicker.types.d.ts +2 -2
  99. package/modern/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +2 -2
  100. package/modern/DateTimeRangePicker/shared.d.ts +2 -2
  101. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -2
  102. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +2 -2
  103. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  104. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +2 -2
  105. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  106. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  107. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  108. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +6 -4
  109. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +13 -8
  110. package/modern/hooks/index.d.ts +2 -1
  111. package/modern/hooks/useMultiInputRangeField/index.d.ts +2 -1
  112. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +37 -18
  113. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +41 -50
  114. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.d.ts +11 -0
  115. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.js +25 -0
  116. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +4 -1
  117. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js +3 -2
  118. package/modern/hooks/useMultiInputRangeField/useTextFieldProps.d.ts +30 -0
  119. package/modern/hooks/useMultiInputRangeField/useTextFieldProps.js +141 -0
  120. package/modern/index.js +1 -1
  121. package/modern/internals/hooks/models/index.d.ts +1 -1
  122. package/modern/internals/hooks/models/useRangePicker.d.ts +4 -11
  123. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +8 -75
  124. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +17 -5
  125. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +17 -47
  126. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +18 -5
  127. package/modern/internals/hooks/useRangePosition.d.ts +1 -4
  128. package/modern/internals/hooks/useRangePosition.js +1 -18
  129. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  130. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  131. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +26 -32
  132. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +1 -1
  133. package/modern/internals/utils/createMultiInputRangeField/useTextFieldProps.d.ts +12 -0
  134. package/modern/internals/utils/createMultiInputRangeField/useTextFieldProps.js +36 -0
  135. package/modern/internals/utils/date-fields-utils.d.ts +4 -1
  136. package/modern/internals/utils/date-fields-utils.js +5 -1
  137. package/modern/internals/utils/releaseInfo.js +1 -1
  138. package/modern/internals/utils/valueManagers.js +31 -30
  139. package/modern/managers/useDateRangeManager.d.ts +2 -4
  140. package/modern/managers/useDateRangeManager.js +8 -1
  141. package/modern/managers/useDateTimeRangeManager.d.ts +2 -4
  142. package/modern/managers/useDateTimeRangeManager.js +8 -1
  143. package/modern/managers/useTimeRangeManager.d.ts +2 -4
  144. package/modern/managers/useTimeRangeManager.js +10 -1
  145. package/modern/models/fields.d.ts +5 -18
  146. package/package.json +4 -4
  147. package/tsconfig.build.tsbuildinfo +1 -1
  148. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +0 -17
  149. package/esm/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +0 -59
  150. package/esm/internals/hooks/useEnrichedRangePickerField.d.ts +0 -70
  151. package/esm/internals/hooks/useEnrichedRangePickerField.js +0 -236
  152. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +0 -17
  153. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +0 -66
  154. package/internals/hooks/useEnrichedRangePickerField.d.ts +0 -70
  155. package/internals/hooks/useEnrichedRangePickerField.js +0 -245
  156. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +0 -17
  157. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +0 -59
  158. package/modern/internals/hooks/useEnrichedRangePickerField.d.ts +0 -70
  159. package/modern/internals/hooks/useEnrichedRangePickerField.js +0 -236
@@ -1,4 +1,4 @@
1
- import { BaseSingleInputFieldProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
1
+ import { BaseSingleInputFieldProps } from '@mui/x-date-pickers/internals';
2
2
  import { DesktopDateRangePickerProps, DesktopDateRangePickerSlots, DesktopDateRangePickerSlotProps } from "../DesktopDateRangePicker/index.js";
3
3
  import { MobileDateRangePickerProps, MobileDateRangePickerSlots, MobileDateRangePickerSlotProps } from "../MobileDateRangePicker/index.js";
4
4
  import { ValidateDateRangeProps } from "../validation/index.js";
@@ -30,4 +30,4 @@ export interface DateRangePickerProps<TEnableAccessibleFieldDOMStructure extends
30
30
  /**
31
31
  * Props the field can receive when used inside a date range picker (<DateRangePicker />, <DesktopDateRangePicker /> or <MobileDateRangePicker /> component).
32
32
  */
33
- export type DateRangePickerFieldProps = ValidateDateRangeProps & BaseSingleInputFieldProps<PickerRangeValue>;
33
+ export type DateRangePickerFieldProps = ValidateDateRangeProps & BaseSingleInputFieldProps;
@@ -1,4 +1,4 @@
1
- import { BaseSingleInputFieldProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
1
+ import { BaseSingleInputFieldProps } from '@mui/x-date-pickers/internals';
2
2
  import { DesktopDateTimeRangePickerProps, DesktopDateTimeRangePickerSlots, DesktopDateTimeRangePickerSlotProps } from "../DesktopDateTimeRangePicker/index.js";
3
3
  import { MobileDateTimeRangePickerProps, MobileDateTimeRangePickerSlots, MobileDateTimeRangePickerSlotProps } from "../MobileDateTimeRangePicker/index.js";
4
4
  import type { ValidateDateTimeRangeProps } from '../validation';
@@ -25,4 +25,4 @@ export interface DateTimeRangePickerProps<TEnableAccessibleFieldDOMStructure ext
25
25
  /**
26
26
  * Props the field can receive when used inside a date time range picker (<DateTimeRangePicker />, <DesktopDateTimeRangePicker /> or <MobileDateTimeRangePicker /> component).
27
27
  */
28
- export type DateTimeRangePickerFieldProps = ValidateDateTimeRangeProps & BaseSingleInputFieldProps<PickerRangeValue>;
28
+ export type DateTimeRangePickerFieldProps = ValidateDateTimeRangeProps & BaseSingleInputFieldProps;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '@mui/x-internals/types';
3
3
  import { LocalizedComponent } from '@mui/x-date-pickers/locales';
4
- import { BasePickerInputProps, PickerViewRendererLookup, BaseClockProps, DesktopOnlyTimePickerProps, TimeViewWithMeridiem, UseViewsOptions, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
4
+ import { BasePickerInputProps, PickerViewRendererLookup, BaseClockProps, DigitalTimePickerProps, TimeViewWithMeridiem, UseViewsOptions, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
5
5
  import { TimeViewRendererProps } from '@mui/x-date-pickers/timeViewRenderers';
6
6
  import { DigitalClockSlots, DigitalClockSlotProps } from '@mui/x-date-pickers/DigitalClock';
7
7
  import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '@mui/x-date-pickers/MultiSectionDigitalClock';
@@ -37,7 +37,7 @@ export interface BaseDateTimeRangePickerSlotProps extends DateRangeCalendarSlotP
37
37
  export type DateTimeRangePickerRenderers<TView extends DateOrTimeViewWithMeridiem> = PickerViewRendererLookup<PickerRangeValue, TView, Omit<DateRangeViewRendererProps<'day'>, 'view' | 'slots' | 'slotProps'> & Omit<TimeViewRendererProps<TimeViewWithMeridiem, BaseClockProps<TimeViewWithMeridiem>>, 'view' | 'slots' | 'slotProps'> & {
38
38
  view: TView;
39
39
  }>;
40
- export interface BaseDateTimeRangePickerProps extends Omit<BasePickerInputProps<PickerRangeValue, DateTimeRangePickerView, DateTimeRangeValidationError>, 'orientation' | 'views' | 'openTo'>, ExportedDateRangeCalendarProps, ExportedValidateDateTimeRangeProps, DesktopOnlyTimePickerProps, Partial<Pick<UseViewsOptions<PickerRangeValue, DateTimeRangePickerViewExternal>, 'openTo' | 'views'>> {
40
+ export interface BaseDateTimeRangePickerProps extends Omit<BasePickerInputProps<PickerRangeValue, DateTimeRangePickerView, DateTimeRangeValidationError>, 'orientation' | 'views' | 'openTo'>, ExportedDateRangeCalendarProps, ExportedValidateDateTimeRangeProps, DigitalTimePickerProps, Partial<Pick<UseViewsOptions<PickerRangeValue, DateTimeRangePickerViewExternal>, 'openTo' | 'views'>> {
41
41
  /**
42
42
  * Overridable component slots.
43
43
  * @default {}
@@ -10,7 +10,7 @@ import { refType } from '@mui/utils';
10
10
  import { rangeValueManager } from "../internals/utils/valueManagers.js";
11
11
  import { useDateRangePickerDefaultizedProps } from "../DateRangePicker/shared.js";
12
12
  import { renderDateRangeViewCalendar } from "../dateRangeViewRenderers/index.js";
13
- import { MultiInputDateRangeField } from "../MultiInputDateRangeField/index.js";
13
+ import { SingleInputDateRangeField } from "../SingleInputDateRangeField/index.js";
14
14
  import { useDesktopRangePicker } from "../internals/hooks/useDesktopRangePicker/index.js";
15
15
  import { validateDateRange } from "../validation/index.js";
16
16
  const emptyActions = [];
@@ -41,7 +41,7 @@ const DesktopDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopDat
41
41
  views: ['day'],
42
42
  openTo: 'day',
43
43
  slots: _extends({
44
- field: MultiInputDateRangeField
44
+ field: SingleInputDateRangeField
45
45
  }, defaultizedProps.slots),
46
46
  slotProps: _extends({}, defaultizedProps.slotProps, {
47
47
  field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
@@ -19,7 +19,7 @@ import { renderDateRangeViewCalendar } from "../dateRangeViewRenderers/index.js"
19
19
  import { useDesktopRangePicker } from "../internals/hooks/useDesktopRangePicker/index.js";
20
20
  import { validateDateTimeRange } from "../validation/index.js";
21
21
  import { useDateTimeRangePickerDefaultizedProps } from "../DateTimeRangePicker/shared.js";
22
- import { MultiInputDateTimeRangeField } from "../MultiInputDateTimeRangeField/index.js";
22
+ import { SingleInputDateTimeRangeField } from "../SingleInputDateTimeRangeField/index.js";
23
23
  import { DateTimeRangePickerTimeWrapper } from "../DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js";
24
24
  import { RANGE_VIEW_HEIGHT } from "../internals/constants/dimensions.js";
25
25
  import { usePickerRangePositionContext } from "../hooks/index.js";
@@ -107,7 +107,7 @@ const DesktopDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
107
107
  ampmInClock: true,
108
108
  calendars: defaultizedProps.calendars ?? 1,
109
109
  slots: _extends({
110
- field: MultiInputDateTimeRangeField,
110
+ field: SingleInputDateTimeRangeField,
111
111
  layout: DesktopDateTimePickerLayout
112
112
  }, defaultizedProps.slots),
113
113
  slotProps: _extends({}, defaultizedProps.slotProps, {
@@ -10,7 +10,7 @@ import { refType } from '@mui/utils';
10
10
  import { rangeValueManager } from "../internals/utils/valueManagers.js";
11
11
  import { useDateRangePickerDefaultizedProps } from "../DateRangePicker/shared.js";
12
12
  import { renderDateRangeViewCalendar } from "../dateRangeViewRenderers/index.js";
13
- import { MultiInputDateRangeField } from "../MultiInputDateRangeField/index.js";
13
+ import { SingleInputDateRangeField } from "../SingleInputDateRangeField/index.js";
14
14
  import { useMobileRangePicker } from "../internals/hooks/useMobileRangePicker/index.js";
15
15
  import { validateDateRange } from "../validation/index.js";
16
16
  /**
@@ -41,7 +41,7 @@ const MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateR
41
41
  views: ['day'],
42
42
  openTo: 'day',
43
43
  slots: _extends({
44
- field: MultiInputDateRangeField
44
+ field: SingleInputDateRangeField
45
45
  }, defaultizedProps.slots),
46
46
  slotProps: _extends({}, defaultizedProps.slotProps, {
47
47
  field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
@@ -17,7 +17,7 @@ import { renderDateRangeViewCalendar } from "../dateRangeViewRenderers/index.js"
17
17
  import { useMobileRangePicker } from "../internals/hooks/useMobileRangePicker/index.js";
18
18
  import { validateDateTimeRange } from "../validation/index.js";
19
19
  import { useDateTimeRangePickerDefaultizedProps } from "../DateTimeRangePicker/shared.js";
20
- import { MultiInputDateTimeRangeField } from "../MultiInputDateTimeRangeField/index.js";
20
+ import { SingleInputDateTimeRangeField } from "../SingleInputDateTimeRangeField/index.js";
21
21
  import { DateTimeRangePickerTimeWrapper } from "../DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js";
22
22
  import { RANGE_VIEW_HEIGHT } from "../internals/constants/dimensions.js";
23
23
  import { usePickerRangePositionContext } from "../hooks/index.js";
@@ -113,7 +113,7 @@ const MobileDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function MobileD
113
113
  // force current calendar position, since we only have one calendar
114
114
  currentMonthCalendarPosition: 1,
115
115
  slots: _extends({
116
- field: MultiInputDateTimeRangeField
116
+ field: SingleInputDateTimeRangeField
117
117
  }, defaultizedProps.slots),
118
118
  slotProps: _extends({}, defaultizedProps.slotProps, {
119
119
  field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputDateRangeFieldProps } from "./SingleInputDateRangeField.types.js";
2
- export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "unstableFieldRef" | "referenceDate" | "formatDensity" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "enableAccessibleFieldDOMStructure" | "timezone" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
2
+ export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "timezone" | "enableAccessibleFieldDOMStructure" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "referenceDate" | "shouldRespectLeadingZeros" | "unstableFieldRef" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputDateTimeRangeFieldProps } from "./SingleInputDateTimeRangeField.types.js";
2
- export declare const useSingleInputDateTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "unstableFieldRef" | "referenceDate" | "formatDensity" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "enableAccessibleFieldDOMStructure" | "timezone" | "ampm" | "disableFuture" | "maxDate" | "disablePast" | "minDate" | "minTime" | "maxTime" | "minutesStep" | "shouldDisableTime" | "disableIgnoringDatePartForTimeValidation" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "minDateTime" | "maxDateTime" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
2
+ export declare const useSingleInputDateTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "timezone" | "enableAccessibleFieldDOMStructure" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "referenceDate" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "ampm" | "disableFuture" | "maxDate" | "disablePast" | "minDate" | "minTime" | "maxTime" | "minutesStep" | "shouldDisableTime" | "disableIgnoringDatePartForTimeValidation" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "minDateTime" | "maxDateTime" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputTimeRangeFieldProps } from "./SingleInputTimeRangeField.types.js";
2
- export declare const useSingleInputTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "unstableFieldRef" | "referenceDate" | "formatDensity" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "enableAccessibleFieldDOMStructure" | "timezone" | "ampm" | keyof import("@mui/x-date-pickers/internals").BaseTimeValidationProps | keyof import("@mui/x-date-pickers/internals").TimeValidationProps | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
2
+ export declare const useSingleInputTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "timezone" | "enableAccessibleFieldDOMStructure" | "formatDensity" | "selectedSections" | "onSelectedSectionsChange" | "referenceDate" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "ampm" | keyof import("@mui/x-date-pickers/internals").BaseTimeValidationProps | keyof import("@mui/x-date-pickers/internals").TimeValidationProps | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
@@ -9,6 +9,11 @@ export interface DateRangeViewRendererProps<TView extends DateOrTimeViewWithMeri
9
9
  * because otherwise some unwanted props would be passed to the HTML element.
10
10
  */
11
11
  export declare const renderDateRangeViewCalendar: ({
12
+ views,
13
+ view,
14
+ onViewChange,
15
+ focusedView,
16
+ onFocusedViewChange,
12
17
  value,
13
18
  defaultValue,
14
19
  referenceDate,
@@ -40,8 +45,5 @@ export declare const renderDateRangeViewCalendar: ({
40
45
  disableDragEditing,
41
46
  displayWeekNumber,
42
47
  timezone,
43
- availableRangePositions,
44
- views,
45
- view,
46
- onViewChange
48
+ availableRangePositions
47
49
  }: DateRangeViewRendererProps<"day">) => React.JSX.Element;
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { isDatePickerView } from '@mui/x-date-pickers/internals';
2
3
  import { DateRangeCalendar } from "../DateRangeCalendar/index.js";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  /**
@@ -6,6 +7,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
7
  * because otherwise some unwanted props would be passed to the HTML element.
7
8
  */
8
9
  export const renderDateRangeViewCalendar = ({
10
+ views,
11
+ view,
12
+ onViewChange,
13
+ focusedView,
14
+ onFocusedViewChange,
9
15
  value,
10
16
  defaultValue,
11
17
  referenceDate,
@@ -37,11 +43,13 @@ export const renderDateRangeViewCalendar = ({
37
43
  disableDragEditing,
38
44
  displayWeekNumber,
39
45
  timezone,
40
- availableRangePositions,
41
- views,
42
- view,
43
- onViewChange
46
+ availableRangePositions
44
47
  }) => /*#__PURE__*/_jsx(DateRangeCalendar, {
48
+ view: view,
49
+ views: views,
50
+ onViewChange: onViewChange,
51
+ focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
52
+ onFocusedViewChange: onFocusedViewChange,
45
53
  value: value,
46
54
  defaultValue: defaultValue,
47
55
  referenceDate: referenceDate,
@@ -73,8 +81,5 @@ export const renderDateRangeViewCalendar = ({
73
81
  disableDragEditing: disableDragEditing,
74
82
  displayWeekNumber: displayWeekNumber,
75
83
  timezone: timezone,
76
- availableRangePositions: availableRangePositions,
77
- view: view,
78
- views: views,
79
- onViewChange: onViewChange
84
+ availableRangePositions: availableRangePositions
80
85
  });
@@ -1,2 +1,3 @@
1
1
  export { usePickerRangePositionContext } from "./usePickerRangePositionContext.js";
2
- export { useMultiInputRangeField as unstable_useMultiInputRangeField } from "./useMultiInputRangeField/index.js";
2
+ export { useMultiInputRangeField as unstable_useMultiInputRangeField } from "./useMultiInputRangeField/index.js";
3
+ export type { UseMultiInputRangeFieldTextFieldProps } from './useMultiInputRangeField';
@@ -1 +1,2 @@
1
- export { useMultiInputRangeField } from "./useMultiInputRangeField.js";
1
+ export { useMultiInputRangeField } from "./useMultiInputRangeField.js";
2
+ export type { UseMultiInputRangeFieldTextFieldProps } from './useMultiInputRangeField';
@@ -1,5 +1,7 @@
1
1
  import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps, UseFieldResponse } from '@mui/x-date-pickers/internals';
2
+ import { UseTextFieldBaseForwardedProps } from "./useTextFieldProps.js";
2
3
  import { PickerAnyRangeManager } from "../../internals/models/managers.js";
4
+ import { UseMultiInputRangeFieldRootPropsReturnValue } from "./useMultiInputRangeFieldRootProps.js";
3
5
  /**
4
6
  * Basic example:
5
7
  *
@@ -12,42 +14,59 @@ import { PickerAnyRangeManager } from "../../internals/models/managers.js";
12
14
  * function MultiInputField(props) {
13
15
  * const manager = useDateRangeManager();
14
16
  * const { internalProps, forwardedProps } = useSplitFieldProps(props, 'date');
15
- * const { startDate, endDate } = useMultiInputRangeField({
17
+ * const response = useMultiInputRangeField({
16
18
  * manager,
17
19
  * internalProps,
18
- * startForwardedProps: forwardedProps,
19
- * endForwardedProps: forwardedProps,
20
+ * startTextFieldProps: {},
21
+ * endTextFieldProps: {},
22
+ * rootProps: forwardedProps,
20
23
  * });
21
24
  *
22
25
  * return (
23
- * <Box {...forwardedProps}>
24
- * <PickersTextField {...startDate} />
26
+ * <Box {...response.root}>
27
+ * <PickersTextField {...response.startTextField} />
25
28
  * <span>{' – '}</span>
26
- * <PickersTextField {...endDate} />
29
+ * <PickersTextField {...response.endTextField} />
27
30
  * </Box>
28
31
  * );
29
32
  * }
30
33
  * ```
31
34
  *
32
- * @param {UseMultiInputRangeFieldParameters<TManager, TForwardedProps>} parameters The parameters of the hook.
35
+ * @param {UseMultiInputRangeFieldParameters<TManager, TTextFieldProps>} parameters The parameters of the hook.
33
36
  * @param {TManager} parameters.manager The manager of the field.
34
37
  * @param {PickerManagerFieldInternalProps<TManager>} parameters.internalProps The internal props of the field.
35
- * @param {TForwardedProps} parameters.startForwardedProps The forwarded props of the start field.
36
- * @param {TForwardedProps} parameters.endForwardedProps The forwarded props of the end field.
37
- * @returns {UseMultiInputRangeFieldReturnValue<TManager, TForwardedProps>} The props to pass to the start and the end components.
38
+ * @param {TTextFieldProps} parameters.startForwardedProps The forwarded props of the start field.
39
+ * @param {TTextFieldProps} parameters.endForwardedProps The forwarded props of the end field.
40
+ * @returns {UseMultiInputRangeFieldReturnValue<TManager, TTextFieldProps>} The props to pass to the start and the end components.
38
41
  */
39
- export declare function useMultiInputRangeField<TManager extends PickerAnyRangeManager, TForwardedProps extends {
42
+ export declare function useMultiInputRangeField<TManager extends PickerAnyRangeManager, TTextFieldProps extends UseTextFieldBaseForwardedProps, TRootProps extends {
40
43
  [key: string]: any;
41
- }>(parameters: UseMultiInputRangeFieldParameters<TManager, TForwardedProps>): UseMultiInputRangeFieldReturnValue<TManager, TForwardedProps>;
42
- interface UseMultiInputRangeFieldParameters<TManager extends PickerAnyRangeManager, TForwardedProps extends {}> {
44
+ }>(parameters: UseMultiInputRangeFieldParameters<TManager, TTextFieldProps, TRootProps>): UseMultiInputRangeFieldReturnValue<TManager, TTextFieldProps, TRootProps>;
45
+ interface UseMultiInputRangeFieldParameters<TManager extends PickerAnyRangeManager, TTextFieldProps extends {
46
+ [key: string]: any;
47
+ }, TRootProps extends {
48
+ [key: string]: any;
49
+ }> {
43
50
  manager: TManager;
44
51
  internalProps: PickerManagerFieldInternalProps<TManager>;
45
- startForwardedProps: TForwardedProps;
46
- endForwardedProps: TForwardedProps;
52
+ rootProps: TRootProps;
53
+ startTextFieldProps: TTextFieldProps;
54
+ endTextFieldProps: TTextFieldProps;
47
55
  }
48
- interface UseMultiInputRangeFieldReturnValue<TManager extends PickerAnyRangeManager, TForwardedProps extends {}> {
49
- startDate: Omit<UseFieldResponse<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TForwardedProps>, 'clearable' | 'onClear'>;
50
- endDate: Omit<UseFieldResponse<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TForwardedProps>, 'clearable' | 'onClear'>;
56
+ interface UseMultiInputRangeFieldReturnValue<TManager extends PickerAnyRangeManager, TTextFieldProps extends {
57
+ [key: string]: any;
58
+ }, TRootProps extends {
59
+ [key: string]: any;
60
+ }> {
61
+ root: UseMultiInputRangeFieldRootPropsReturnValue<TRootProps>;
62
+ startTextField: UseMultiInputRangeFieldTextFieldProps<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TTextFieldProps>;
63
+ endTextField: UseMultiInputRangeFieldTextFieldProps<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TTextFieldProps>;
51
64
  enableAccessibleFieldDOMStructure: PickerManagerEnableAccessibleFieldDOMStructure<TManager>;
52
65
  }
66
+ export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps & {
67
+ onKeyDown: React.KeyboardEventHandler;
68
+ onClick: React.MouseEventHandler;
69
+ onFocus: React.FocusEventHandler;
70
+ id: string;
71
+ }>, 'onClear' | 'clearable' | 'openPickerAriaLabel'>;
53
72
  export {};
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import useEventCallback from '@mui/utils/useEventCallback';
5
3
  import { useControlledValueWithTimezone, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
6
4
  import { useValidation } from '@mui/x-date-pickers/validation';
7
- import { useMultiInputRangeFieldTextFieldProps } from "./useMultiInputRangeFieldTextFieldProps.js";
5
+ import { useTextFieldProps } from "./useTextFieldProps.js";
8
6
  import { useMultiInputRangeFieldSelectedSections } from "./useMultiInputRangeFieldSelectedSections.js";
7
+ import { useMultiInputRangeFieldRootProps } from "./useMultiInputRangeFieldRootProps.js";
8
+
9
9
  /**
10
10
  * Basic example:
11
11
  *
@@ -18,36 +18,38 @@ import { useMultiInputRangeFieldSelectedSections } from "./useMultiInputRangeFie
18
18
  * function MultiInputField(props) {
19
19
  * const manager = useDateRangeManager();
20
20
  * const { internalProps, forwardedProps } = useSplitFieldProps(props, 'date');
21
- * const { startDate, endDate } = useMultiInputRangeField({
21
+ * const response = useMultiInputRangeField({
22
22
  * manager,
23
23
  * internalProps,
24
- * startForwardedProps: forwardedProps,
25
- * endForwardedProps: forwardedProps,
24
+ * startTextFieldProps: {},
25
+ * endTextFieldProps: {},
26
+ * rootProps: forwardedProps,
26
27
  * });
27
28
  *
28
29
  * return (
29
- * <Box {...forwardedProps}>
30
- * <PickersTextField {...startDate} />
30
+ * <Box {...response.root}>
31
+ * <PickersTextField {...response.startTextField} />
31
32
  * <span>{' – '}</span>
32
- * <PickersTextField {...endDate} />
33
+ * <PickersTextField {...response.endTextField} />
33
34
  * </Box>
34
35
  * );
35
36
  * }
36
37
  * ```
37
38
  *
38
- * @param {UseMultiInputRangeFieldParameters<TManager, TForwardedProps>} parameters The parameters of the hook.
39
+ * @param {UseMultiInputRangeFieldParameters<TManager, TTextFieldProps>} parameters The parameters of the hook.
39
40
  * @param {TManager} parameters.manager The manager of the field.
40
41
  * @param {PickerManagerFieldInternalProps<TManager>} parameters.internalProps The internal props of the field.
41
- * @param {TForwardedProps} parameters.startForwardedProps The forwarded props of the start field.
42
- * @param {TForwardedProps} parameters.endForwardedProps The forwarded props of the end field.
43
- * @returns {UseMultiInputRangeFieldReturnValue<TManager, TForwardedProps>} The props to pass to the start and the end components.
42
+ * @param {TTextFieldProps} parameters.startForwardedProps The forwarded props of the start field.
43
+ * @param {TTextFieldProps} parameters.endForwardedProps The forwarded props of the end field.
44
+ * @returns {UseMultiInputRangeFieldReturnValue<TManager, TTextFieldProps>} The props to pass to the start and the end components.
44
45
  */
45
46
  export function useMultiInputRangeField(parameters) {
46
47
  const {
47
48
  manager,
48
49
  internalProps,
49
- startForwardedProps,
50
- endForwardedProps
50
+ rootProps,
51
+ startTextFieldProps,
52
+ endTextFieldProps
51
53
  } = parameters;
52
54
  const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
53
55
  manager,
@@ -84,34 +86,20 @@ export function useMultiInputRangeField(parameters) {
84
86
  onChange,
85
87
  valueManager: manager.internal_valueManager
86
88
  });
87
- const {
88
- validationError,
89
- getValidationErrorForNewValue
90
- } = useValidation({
89
+ const validation = useValidation({
91
90
  props: internalPropsWithDefaults,
92
91
  value,
93
92
  timezone,
94
93
  validator: manager.validator,
95
94
  onError: internalPropsWithDefaults.onError
96
95
  });
97
- const buildChangeHandler = index => {
98
- return (newSingleValue, rawContext) => {
99
- const newRange = index === 0 ? [newSingleValue, value[1]] : [value[0], newSingleValue];
100
- const context = _extends({}, rawContext, {
101
- validationError: getValidationErrorForNewValue(newRange)
102
- });
103
- handleValueChange(newRange, context);
104
- };
105
- };
106
- const handleStartDateChange = useEventCallback(buildChangeHandler(0));
107
- const handleEndDateChange = useEventCallback(buildChangeHandler(1));
108
96
  const selectedSectionsResponse = useMultiInputRangeFieldSelectedSections({
109
97
  selectedSections,
110
98
  onSelectedSectionsChange,
111
99
  unstableStartFieldRef,
112
100
  unstableEndFieldRef
113
101
  });
114
- const sharedProps = {
102
+ const sharedInternalProps = {
115
103
  disabled,
116
104
  readOnly,
117
105
  timezone,
@@ -120,30 +108,33 @@ export function useMultiInputRangeField(parameters) {
120
108
  shouldRespectLeadingZeros,
121
109
  enableAccessibleFieldDOMStructure
122
110
  };
123
- const startDateProps = useMultiInputRangeFieldTextFieldProps({
111
+ const rootResponse = useMultiInputRangeFieldRootProps(rootProps);
112
+ const startTextFieldResponse = useTextFieldProps({
124
113
  valueType: manager.valueType,
125
- fieldProps: _extends({
126
- error: !!validationError[0]
127
- }, startForwardedProps, selectedSectionsResponse.start, sharedProps, {
128
- value: valueProp === undefined ? undefined : valueProp[0],
129
- defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
130
- onChange: handleStartDateChange,
131
- autoFocus // Do not add on end field.
132
- })
114
+ position: 'start',
115
+ value,
116
+ onChange: handleValueChange,
117
+ autoFocus,
118
+ validation,
119
+ forwardedProps: startTextFieldProps,
120
+ selectedSectionProps: selectedSectionsResponse.start,
121
+ sharedInternalProps
133
122
  });
134
- const endDateProps = useMultiInputRangeFieldTextFieldProps({
123
+ const endTextFieldResponse = useTextFieldProps({
135
124
  valueType: manager.valueType,
136
- fieldProps: _extends({
137
- error: !!validationError[1]
138
- }, endForwardedProps, selectedSectionsResponse.end, sharedProps, {
139
- value: valueProp === undefined ? undefined : valueProp[1],
140
- defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
141
- onChange: handleEndDateChange
142
- })
125
+ position: 'end',
126
+ value,
127
+ onChange: handleValueChange,
128
+ autoFocus,
129
+ validation,
130
+ forwardedProps: endTextFieldProps,
131
+ selectedSectionProps: selectedSectionsResponse.end,
132
+ sharedInternalProps
143
133
  });
144
134
  return {
145
- startDate: startDateProps,
146
- endDate: endDateProps,
135
+ root: rootResponse,
136
+ startTextField: startTextFieldResponse,
137
+ endTextField: endTextFieldResponse,
147
138
  enableAccessibleFieldDOMStructure
148
139
  };
149
140
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @ignore - internal hook.
3
+ */
4
+ export declare function useMultiInputRangeFieldRootProps<TForwardedProps extends {
5
+ [key: string]: any;
6
+ }>(forwardedProps: TForwardedProps): UseMultiInputRangeFieldRootPropsReturnValue<TForwardedProps>;
7
+ export type UseMultiInputRangeFieldRootPropsReturnValue<TForwardedProps extends {
8
+ [key: string]: any;
9
+ }> = Omit<TForwardedProps, 'onBlur'> & {
10
+ onBlur: () => void;
11
+ };
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import useEventCallback from '@mui/utils/useEventCallback';
3
+ import { executeInTheNextEventLoopTick, getActiveElement, useNullablePickerContext, usePickerPrivateContext } from '@mui/x-date-pickers/internals';
4
+
5
+ /**
6
+ * @ignore - internal hook.
7
+ */
8
+ export function useMultiInputRangeFieldRootProps(forwardedProps) {
9
+ const pickerContext = useNullablePickerContext();
10
+ const privatePickerContext = usePickerPrivateContext();
11
+ const handleBlur = useEventCallback(() => {
12
+ if (!pickerContext || privatePickerContext.viewContainerRole !== 'tooltip') {
13
+ return;
14
+ }
15
+ executeInTheNextEventLoopTick(() => {
16
+ if (privatePickerContext.rootRefObject.current?.contains(getActiveElement(document)) || pickerContext.popupRef.current?.contains(getActiveElement(document))) {
17
+ return;
18
+ }
19
+ privatePickerContext.dismissViews();
20
+ });
21
+ });
22
+ return _extends({}, forwardedProps, {
23
+ onBlur: handleBlur
24
+ });
25
+ }
@@ -3,7 +3,7 @@ import { PickerRangeValue, PickerValue, UseFieldInternalProps } from '@mui/x-dat
3
3
  import { FieldRef, FieldSelectedSections } from '@mui/x-date-pickers/models';
4
4
  import { MultiInputFieldRefs } from "../../models/index.js";
5
5
  interface UseMultiInputRangeFieldSelectedSectionsParameters extends Pick<UseFieldInternalProps<PickerRangeValue, any, any>, 'selectedSections' | 'onSelectedSectionsChange'>, MultiInputFieldRefs {}
6
- interface UseMultiInputFieldSelectedSectionsResponseItem {
6
+ export interface UseMultiInputFieldSelectedSectionsResponseItem {
7
7
  unstableFieldRef?: React.Ref<FieldRef<PickerValue>>;
8
8
  selectedSections: FieldSelectedSections;
9
9
  onSelectedSectionsChange: (newSelectedSections: FieldSelectedSections) => void;
@@ -12,5 +12,8 @@ interface UseMultiInputFieldSelectedSectionsResponse {
12
12
  start: UseMultiInputFieldSelectedSectionsResponseItem;
13
13
  end: UseMultiInputFieldSelectedSectionsResponseItem;
14
14
  }
15
+ /**
16
+ * @ignore - internal hook.
17
+ */
15
18
  export declare const useMultiInputRangeFieldSelectedSections: (parameters: UseMultiInputRangeFieldSelectedSectionsParameters) => UseMultiInputFieldSelectedSectionsResponse;
16
19
  export {};
@@ -1,8 +1,9 @@
1
- 'use client';
2
-
3
1
  import * as React from 'react';
4
2
  import useForkRef from '@mui/utils/useForkRef';
5
3
  import useEventCallback from '@mui/utils/useEventCallback';
4
+ /**
5
+ * @ignore - internal hook.
6
+ */
6
7
  export const useMultiInputRangeFieldSelectedSections = parameters => {
7
8
  const unstableEndFieldRef = React.useRef(null);
8
9
  const handleUnstableEndFieldRef = useForkRef(parameters.unstableEndFieldRef, unstableEndFieldRef);
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ import { UseValidationReturnValue } from '@mui/x-date-pickers/validation';
3
+ import { PickerValueType } from '@mui/x-date-pickers/models';
4
+ import { FieldChangeHandler, PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerError, PickerRangeValue, PickerValue, RangePosition, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
+ import { PickerAnyRangeManager } from "../../internals/models/managers.js";
6
+ import { UseMultiInputFieldSelectedSectionsResponseItem } from "./useMultiInputRangeFieldSelectedSections.js";
7
+ import type { UseMultiInputRangeFieldTextFieldProps } from './useMultiInputRangeField';
8
+ /**
9
+ * @ignore - internal hook.
10
+ */
11
+ export declare function useTextFieldProps<TManager extends PickerAnyRangeManager, TForwardedProps extends UseTextFieldBaseForwardedProps>(parameters: UseTextFieldPropsParameters<TManager, TForwardedProps>): UseMultiInputRangeFieldTextFieldProps<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TForwardedProps>;
12
+ interface UseTextFieldPropsParameters<TManager extends PickerAnyRangeManager, TForwardedProps extends UseTextFieldBaseForwardedProps> {
13
+ valueType: PickerValueType;
14
+ value: PickerRangeValue;
15
+ onChange: FieldChangeHandler<PickerRangeValue, PickerManagerError<TManager>>;
16
+ autoFocus: boolean | undefined;
17
+ forwardedProps: TForwardedProps;
18
+ sharedInternalProps: UseTextFieldSharedInternalProps<TManager>;
19
+ selectedSectionProps: UseMultiInputFieldSelectedSectionsResponseItem;
20
+ position: RangePosition;
21
+ validation: UseValidationReturnValue<PickerRangeValue, PickerManagerError<TManager>>;
22
+ }
23
+ export interface UseTextFieldBaseForwardedProps {
24
+ onKeyDown?: React.KeyboardEventHandler;
25
+ onClick?: React.MouseEventHandler;
26
+ onFocus?: React.FocusEventHandler;
27
+ [key: string]: any;
28
+ }
29
+ interface UseTextFieldSharedInternalProps<TManager extends PickerAnyRangeManager> extends Pick<UseFieldInternalProps<PickerValue, PickerManagerEnableAccessibleFieldDOMStructure<TManager>, PickerManagerError<TManager>>, 'enableAccessibleFieldDOMStructure' | 'disabled' | 'readOnly' | 'timezone' | 'format' | 'formatDensity' | 'shouldRespectLeadingZeros'> {}
30
+ export {};