@mui/x-date-pickers-pro 7.22.2 → 8.0.0-alpha.0

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 (161) hide show
  1. package/CHANGELOG.md +142 -155
  2. package/DateRangeCalendar/DateRangeCalendar.d.ts +1 -2
  3. package/DateRangeCalendar/DateRangeCalendar.js +23 -22
  4. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +24 -36
  5. package/DateRangeCalendar/useDragRange.d.ts +10 -9
  6. package/DateRangeCalendar/useDragRange.js +3 -3
  7. package/DateRangePicker/DateRangePicker.d.ts +1 -2
  8. package/DateRangePicker/DateRangePicker.js +12 -8
  9. package/DateRangePicker/DateRangePicker.types.d.ts +12 -6
  10. package/DateRangePicker/DateRangePickerToolbar.d.ts +3 -5
  11. package/DateRangePicker/DateRangePickerToolbar.js +12 -2
  12. package/DateRangePicker/index.d.ts +1 -1
  13. package/DateRangePicker/shared.d.ts +12 -12
  14. package/DateRangePickerDay/DateRangePickerDay.d.ts +2 -3
  15. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -2
  16. package/DateTimeRangePicker/DateTimeRangePicker.js +13 -10
  17. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +12 -6
  18. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +1 -2
  19. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +2 -2
  20. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -9
  21. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +3 -5
  22. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +12 -2
  23. package/DateTimeRangePicker/index.d.ts +1 -1
  24. package/DateTimeRangePicker/shared.d.ts +13 -13
  25. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +1 -2
  26. package/DesktopDateRangePicker/DesktopDateRangePicker.js +16 -8
  27. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +6 -7
  28. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +1 -2
  29. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +13 -10
  30. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +6 -7
  31. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +1 -2
  32. package/MobileDateRangePicker/MobileDateRangePicker.js +16 -8
  33. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +6 -7
  34. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +1 -2
  35. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -10
  36. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +6 -7
  37. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +1 -2
  38. package/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -6
  39. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +9 -10
  40. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +1 -2
  41. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +7 -8
  42. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +9 -10
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +1 -2
  44. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +6 -6
  45. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +9 -10
  46. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.d.ts +1 -2
  47. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  48. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.d.ts +3 -3
  49. package/README.md +2 -2
  50. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +1 -2
  51. package/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -6
  52. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +8 -8
  53. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -2
  54. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +1 -2
  55. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +7 -8
  56. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +8 -8
  57. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -2
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +1 -2
  59. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -6
  60. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +8 -8
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -2
  62. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +1 -2
  63. package/StaticDateRangePicker/StaticDateRangePicker.js +11 -7
  64. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +6 -7
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -3
  66. package/index.d.ts +0 -7
  67. package/index.js +1 -7
  68. package/internals/hooks/models/useRangePicker.d.ts +6 -7
  69. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -2
  70. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +20 -14
  71. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +6 -7
  72. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -13
  73. package/internals/hooks/useEnrichedRangePickerFieldProps.js +4 -4
  74. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -2
  75. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -15
  76. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +6 -7
  77. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +1 -1
  78. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
  79. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
  80. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
  81. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -2
  82. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +5 -5
  83. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +8 -9
  84. package/internals/models/dateRange.d.ts +3 -4
  85. package/internals/models/dateTimeRange.d.ts +5 -10
  86. package/internals/models/fields.d.ts +26 -0
  87. package/internals/models/fields.js +1 -0
  88. package/internals/models/timeRange.d.ts +5 -9
  89. package/internals/utils/date-range-manager.d.ts +10 -9
  90. package/internals/utils/date-utils.d.ts +5 -5
  91. package/internals/utils/releaseInfo.js +1 -1
  92. package/internals/utils/valueManagers.d.ts +5 -6
  93. package/models/dateRange.d.ts +4 -5
  94. package/models/fields.d.ts +5 -32
  95. package/models/range.d.ts +1 -1
  96. package/modern/DateRangeCalendar/DateRangeCalendar.js +23 -22
  97. package/modern/DateRangeCalendar/useDragRange.js +3 -3
  98. package/modern/DateRangePicker/DateRangePicker.js +12 -8
  99. package/modern/DateRangePicker/DateRangePickerToolbar.js +12 -2
  100. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +13 -10
  101. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +2 -2
  102. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +12 -2
  103. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +16 -8
  104. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +13 -10
  105. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +16 -8
  106. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -10
  107. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -6
  108. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +7 -8
  109. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +6 -6
  110. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  111. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -6
  112. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +7 -8
  113. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -6
  114. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +11 -7
  115. package/modern/index.js +1 -7
  116. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +20 -14
  117. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +4 -4
  118. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -15
  119. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +5 -5
  120. package/modern/internals/models/fields.js +1 -0
  121. package/modern/internals/utils/releaseInfo.js +1 -1
  122. package/modern/validation/validateDateRange.js +5 -0
  123. package/modern/validation/validateDateTimeRange.js +5 -0
  124. package/modern/validation/validateTimeRange.js +5 -0
  125. package/node/DateRangeCalendar/DateRangeCalendar.js +22 -21
  126. package/node/DateRangeCalendar/useDragRange.js +3 -3
  127. package/node/DateRangePicker/DateRangePicker.js +12 -8
  128. package/node/DateRangePicker/DateRangePickerToolbar.js +11 -1
  129. package/node/DateTimeRangePicker/DateTimeRangePicker.js +13 -10
  130. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +1 -1
  131. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +11 -1
  132. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +16 -8
  133. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +13 -10
  134. package/node/MobileDateRangePicker/MobileDateRangePicker.js +16 -8
  135. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -10
  136. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -6
  137. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +7 -8
  138. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +6 -6
  139. package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +1 -1
  140. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -6
  141. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +7 -8
  142. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -6
  143. package/node/StaticDateRangePicker/StaticDateRangePicker.js +11 -7
  144. package/node/index.js +2 -41
  145. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +19 -13
  146. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +3 -3
  147. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +19 -13
  148. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +4 -4
  149. package/node/internals/models/fields.js +5 -0
  150. package/node/internals/utils/releaseInfo.js +1 -1
  151. package/node/validation/validateDateRange.js +4 -0
  152. package/node/validation/validateDateTimeRange.js +4 -0
  153. package/node/validation/validateTimeRange.js +4 -0
  154. package/package.json +5 -5
  155. package/themeAugmentation/props.d.ts +16 -17
  156. package/validation/validateDateRange.d.ts +9 -5
  157. package/validation/validateDateRange.js +5 -0
  158. package/validation/validateDateTimeRange.d.ts +11 -6
  159. package/validation/validateDateTimeRange.js +5 -0
  160. package/validation/validateTimeRange.d.ts +9 -4
  161. package/validation/validateTimeRange.js +5 -0
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { MultiInputDateRangeFieldProps } from './MultiInputDateRangeField.types';
4
3
  import { MultiInputRangeFieldClasses } from '../models';
5
4
  export declare const multiInputDateRangeFieldClasses: MultiInputRangeFieldClasses;
6
5
  export declare const getMultiInputDateRangeFieldUtilityClass: (slot: string) => string;
7
- type MultiInputDateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
+ type MultiInputDateRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
8
7
  propTypes?: any;
9
8
  };
10
9
  /**
@@ -86,7 +86,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
86
86
  ownerState,
87
87
  className: clsx(className, classes.root)
88
88
  });
89
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
89
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
90
90
  const startTextFieldProps = useSlotProps({
91
91
  elementType: TextField,
92
92
  externalSlotProps: slotProps?.textField,
@@ -160,6 +160,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
160
160
  direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
161
161
  /**
162
162
  * If `true`, the component is disabled.
163
+ * When disabled, the value cannot be changed and no interaction is possible.
163
164
  * @default false
164
165
  */
165
166
  disabled: PropTypes.bool,
@@ -178,7 +179,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
178
179
  */
179
180
  divider: PropTypes.node,
180
181
  /**
181
- * @default false
182
+ * @default true
182
183
  */
183
184
  enableAccessibleFieldDOMStructure: PropTypes.bool,
184
185
  /**
@@ -225,8 +226,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
225
226
  */
226
227
  onSelectedSectionsChange: PropTypes.func,
227
228
  /**
228
- * It prevents the user from changing the value of the field
229
- * (not from interacting with the field).
229
+ * If `true`, the component is read-only.
230
+ * When read-only, the value cannot be changed but the user can interact with the interface.
230
231
  * @default false
231
232
  */
232
233
  readOnly: PropTypes.bool,
@@ -251,8 +252,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
251
252
  *
252
253
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
253
254
  *
254
- * @template TDate
255
- * @param {TDate} day The date to test.
255
+ * @param {PickerValidDate} day The date to test.
256
256
  * @param {string} position The date to test, 'start' or 'end'.
257
257
  * @returns {boolean} Returns `true` if the date should be disabled.
258
258
  */
@@ -1,16 +1,15 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { SlotComponentProps } from '@mui/utils';
4
3
  import Typography from '@mui/material/Typography';
5
4
  import Stack, { StackProps } from '@mui/material/Stack';
6
5
  import TextField from '@mui/material/TextField';
7
6
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
8
7
  import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition, UseDateRangeFieldProps } from '../models';
9
- export type UseMultiInputDateRangeFieldParams<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
10
- export interface UseMultiInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
8
+ export type UseMultiInputDateRangeFieldParams<TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
9
+ export interface UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
11
10
  }
12
- export type UseMultiInputDateRangeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
13
- export interface MultiInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends UseMultiInputDateRangeFieldComponentProps<TDate, TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
11
+ export type UseMultiInputDateRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>;
12
+ export interface MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends UseMultiInputDateRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
14
13
  autoFocus?: boolean;
15
14
  /**
16
15
  * Override or extend the styles applied to the component.
@@ -25,7 +24,7 @@ export interface MultiInputDateRangeFieldProps<TDate extends PickerValidDate, TE
25
24
  * The props used for each component slot.
26
25
  * @default {}
27
26
  */
28
- slotProps?: MultiInputDateRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
27
+ slotProps?: MultiInputDateRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
29
28
  }
30
29
  export interface MultiInputDateRangeFieldSlots {
31
30
  /**
@@ -45,10 +44,10 @@ export interface MultiInputDateRangeFieldSlots {
45
44
  */
46
45
  separator?: React.ElementType;
47
46
  }
48
- export interface MultiInputDateRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> {
49
- root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
50
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
47
+ export interface MultiInputDateRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> {
48
+ root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
49
+ textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
51
50
  position: RangePosition;
52
51
  }>;
53
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
52
+ separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
54
53
  }
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { MultiInputDateTimeRangeFieldProps } from './MultiInputDateTimeRangeField.types';
4
3
  import { MultiInputRangeFieldClasses } from '../models';
5
4
  export declare const multiInputDateTimeRangeFieldClasses: MultiInputRangeFieldClasses;
6
5
  export declare const getMultiInputDateTimeRangeFieldUtilityClass: (slot: string) => string;
7
- type MultiInputDateTimeRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
+ type MultiInputDateTimeRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
8
7
  propTypes?: any;
9
8
  };
10
9
  /**
@@ -86,7 +86,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
86
86
  ownerState,
87
87
  className: clsx(className, classes.root)
88
88
  });
89
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
89
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
90
90
  const startTextFieldProps = useSlotProps({
91
91
  elementType: TextField,
92
92
  externalSlotProps: slotProps?.textField,
@@ -165,6 +165,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
165
165
  direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
166
166
  /**
167
167
  * If `true`, the component is disabled.
168
+ * When disabled, the value cannot be changed and no interaction is possible.
168
169
  * @default false
169
170
  */
170
171
  disabled: PropTypes.bool,
@@ -188,7 +189,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
188
189
  */
189
190
  divider: PropTypes.node,
190
191
  /**
191
- * @default false
192
+ * @default true
192
193
  */
193
194
  enableAccessibleFieldDOMStructure: PropTypes.bool,
194
195
  /**
@@ -258,8 +259,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
258
259
  */
259
260
  onSelectedSectionsChange: PropTypes.func,
260
261
  /**
261
- * It prevents the user from changing the value of the field
262
- * (not from interacting with the field).
262
+ * If `true`, the component is read-only.
263
+ * When read-only, the value cannot be changed but the user can interact with the interface.
263
264
  * @default false
264
265
  */
265
266
  readOnly: PropTypes.bool,
@@ -284,16 +285,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
284
285
  *
285
286
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
286
287
  *
287
- * @template TDate
288
- * @param {TDate} day The date to test.
288
+ * @param {PickerValidDate} day The date to test.
289
289
  * @param {string} position The date to test, 'start' or 'end'.
290
290
  * @returns {boolean} Returns `true` if the date should be disabled.
291
291
  */
292
292
  shouldDisableDate: PropTypes.func,
293
293
  /**
294
294
  * Disable specific time.
295
- * @template TDate
296
- * @param {TDate} value The value to check.
295
+ * @param {PickerValidDate} value The value to check.
297
296
  * @param {TimeView} view The clock type of the timeValue.
298
297
  * @returns {boolean} If `true` the time will be disabled.
299
298
  */
@@ -3,15 +3,14 @@ import { SlotComponentProps } from '@mui/utils';
3
3
  import Typography from '@mui/material/Typography';
4
4
  import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
- import { PickerValidDate } from '@mui/x-date-pickers/models';
7
6
  import { UseDateTimeRangeFieldProps } from '../internals/models/dateTimeRange';
8
7
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
9
8
  import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
10
- export type UseMultiInputDateTimeRangeFieldParams<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
11
- export interface UseMultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
9
+ export type UseMultiInputDateTimeRangeFieldParams<TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
10
+ export interface UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
12
11
  }
13
- export type UseMultiInputDateTimeRangeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
14
- export interface MultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
12
+ export type UseMultiInputDateTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>;
13
+ export interface MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends UseMultiInputDateTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
15
14
  autoFocus?: boolean;
16
15
  /**
17
16
  * Override or extend the styles applied to the component.
@@ -26,7 +25,7 @@ export interface MultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate
26
25
  * The props used for each component slot.
27
26
  * @default {}
28
27
  */
29
- slotProps?: MultiInputDateTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
28
+ slotProps?: MultiInputDateTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
30
29
  }
31
30
  export interface MultiInputDateTimeRangeFieldSlots {
32
31
  /**
@@ -46,10 +45,10 @@ export interface MultiInputDateTimeRangeFieldSlots {
46
45
  */
47
46
  separator?: React.ElementType;
48
47
  }
49
- export interface MultiInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> {
50
- root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
51
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
48
+ export interface MultiInputDateTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> {
49
+ root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
50
+ textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
52
51
  position: RangePosition;
53
52
  }>;
54
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
53
+ separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
55
54
  }
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { MultiInputTimeRangeFieldProps } from './MultiInputTimeRangeField.types';
4
3
  import { MultiInputRangeFieldClasses } from '../models';
5
4
  export declare const multiInputTimeRangeFieldClasses: MultiInputRangeFieldClasses;
6
5
  export declare const getMultiInputTimeRangeFieldUtilityClass: (slot: string) => string;
7
- type MultiInputTimeRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
+ type MultiInputTimeRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
8
7
  propTypes?: any;
9
8
  };
10
9
  /**
@@ -86,7 +86,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
86
86
  ownerState,
87
87
  className: clsx(className, classes.root)
88
88
  });
89
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
89
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
90
90
  const startTextFieldProps = useSlotProps({
91
91
  elementType: TextField,
92
92
  externalSlotProps: slotProps?.textField,
@@ -165,6 +165,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
165
165
  direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
166
166
  /**
167
167
  * If `true`, the component is disabled.
168
+ * When disabled, the value cannot be changed and no interaction is possible.
168
169
  * @default false
169
170
  */
170
171
  disabled: PropTypes.bool,
@@ -188,7 +189,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
188
189
  */
189
190
  divider: PropTypes.node,
190
191
  /**
191
- * @default false
192
+ * @default true
192
193
  */
193
194
  enableAccessibleFieldDOMStructure: PropTypes.bool,
194
195
  /**
@@ -240,8 +241,8 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
240
241
  */
241
242
  onSelectedSectionsChange: PropTypes.func,
242
243
  /**
243
- * It prevents the user from changing the value of the field
244
- * (not from interacting with the field).
244
+ * If `true`, the component is read-only.
245
+ * When read-only, the value cannot be changed but the user can interact with the interface.
245
246
  * @default false
246
247
  */
247
248
  readOnly: PropTypes.bool,
@@ -263,8 +264,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
263
264
  selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
264
265
  /**
265
266
  * Disable specific time.
266
- * @template TDate
267
- * @param {TDate} value The value to check.
267
+ * @param {PickerValidDate} value The value to check.
268
268
  * @param {TimeView} view The clock type of the timeValue.
269
269
  * @returns {boolean} If `true` the time will be disabled.
270
270
  */
@@ -3,15 +3,14 @@ import { SlotComponentProps } from '@mui/utils';
3
3
  import Typography from '@mui/material/Typography';
4
4
  import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
- import { PickerValidDate } from '@mui/x-date-pickers/models';
7
6
  import { UseTimeRangeFieldProps } from '../internals/models/timeRange';
8
7
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
9
8
  import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
10
- export type UseMultiInputTimeRangeFieldParams<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
11
- export interface UseMultiInputTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
9
+ export type UseMultiInputTimeRangeFieldParams<TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
10
+ export interface UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
12
11
  }
13
- export type UseMultiInputTimeRangeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseMultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
14
- export interface MultiInputTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends UseMultiInputTimeRangeFieldComponentProps<TDate, TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
12
+ export type UseMultiInputTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>;
13
+ export interface MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends UseMultiInputTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
15
14
  autoFocus?: boolean;
16
15
  /**
17
16
  * Override or extend the styles applied to the component.
@@ -26,7 +25,7 @@ export interface MultiInputTimeRangeFieldProps<TDate extends PickerValidDate, TE
26
25
  * The props used for each component slot.
27
26
  * @default {}
28
27
  */
29
- slotProps?: MultiInputTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
28
+ slotProps?: MultiInputTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
30
29
  }
31
30
  export interface MultiInputTimeRangeFieldSlots {
32
31
  /**
@@ -46,10 +45,10 @@ export interface MultiInputTimeRangeFieldSlots {
46
45
  */
47
46
  separator?: React.ElementType;
48
47
  }
49
- export interface MultiInputTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> {
50
- root?: SlotComponentProps<typeof Stack, {}, MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
51
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
48
+ export interface MultiInputTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> {
49
+ root?: SlotComponentProps<typeof Stack, {}, MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
50
+ textField?: SlotComponentProps<typeof TextField, {}, MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
52
51
  position: RangePosition;
53
52
  }>;
54
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
53
+ separator?: SlotComponentProps<typeof Typography, {}, MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
55
54
  }
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { PickersRangeCalendarHeaderProps } from './PickersRangeCalendarHeader.types';
4
- type PickersRangeCalendarHeaderComponent = (<TDate extends PickerValidDate>(props: PickersRangeCalendarHeaderProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ type PickersRangeCalendarHeaderComponent = ((props: PickersRangeCalendarHeaderProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  declare const PickersRangeCalendarHeader: PickersRangeCalendarHeaderComponent;
@@ -9,7 +9,7 @@ import PropTypes from 'prop-types';
9
9
  import { styled } from '@mui/material/styles';
10
10
  import { PickersCalendarHeader } from '@mui/x-date-pickers/PickersCalendarHeader';
11
11
  import { PickersArrowSwitcher, useNextMonthDisabled, usePreviousMonthDisabled, useUtils } from '@mui/x-date-pickers/internals';
12
- import { usePickersTranslations } from '@mui/x-date-pickers/hooks';
12
+ import { usePickerTranslations } from '@mui/x-date-pickers/hooks';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  const PickersRangeCalendarHeaderContentMultipleCalendars = styled(PickersArrowSwitcher)({
15
15
  padding: '12px 16px 4px 16px',
@@ -19,7 +19,7 @@ const PickersRangeCalendarHeaderContentMultipleCalendars = styled(PickersArrowSw
19
19
  });
20
20
  const PickersRangeCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersRangeCalendarHeader(props, ref) {
21
21
  const utils = useUtils();
22
- const translations = usePickersTranslations();
22
+ const translations = usePickerTranslations();
23
23
  const {
24
24
  calendars,
25
25
  month,
@@ -1,6 +1,6 @@
1
1
  import { PickerValidDate } from '@mui/x-date-pickers/models';
2
2
  import { ExportedPickersCalendarHeaderProps, PickersCalendarHeaderProps } from '@mui/x-date-pickers/PickersCalendarHeader';
3
- export interface PickersRangeCalendarHeaderProps<TDate extends PickerValidDate> extends PickersCalendarHeaderProps<TDate> {
3
+ export interface PickersRangeCalendarHeaderProps extends PickersCalendarHeaderProps {
4
4
  /**
5
5
  * The number of calendars rendered.
6
6
  */
@@ -8,11 +8,11 @@ export interface PickersRangeCalendarHeaderProps<TDate extends PickerValidDate>
8
8
  /**
9
9
  * Month used for this header.
10
10
  */
11
- month: TDate;
11
+ month: PickerValidDate;
12
12
  /**
13
13
  * Index of the month used for this header.
14
14
  */
15
15
  monthIndex: number;
16
16
  }
17
- export interface ExportedPickersRangeCalendarHeaderProps<TDate extends PickerValidDate> extends ExportedPickersCalendarHeaderProps<TDate> {
17
+ export interface ExportedPickersRangeCalendarHeaderProps extends ExportedPickersCalendarHeaderProps {
18
18
  }
package/README.md CHANGED
@@ -30,11 +30,11 @@ npm install luxon
30
30
  npm install moment
31
31
  ```
32
32
 
33
- This component has the following peer dependencies that you will need to install as well.
33
+ This component has the following peer dependencies that you need to install as well.
34
34
 
35
35
  ```json
36
36
  "peerDependencies": {
37
- "@mui/material": "^5.15.14",
37
+ "@mui/material": "^5.15.14 || ^6.0.0",
38
38
  "react": "^17.0.0 || ^18.0.0",
39
39
  "react-dom": "^17.0.0 || ^18.0.0"
40
40
  },
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { SingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
4
3
  import { FieldType } from '../models';
5
- type DateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: SingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type DateRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: SingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
5
  propTypes?: any;
7
6
  fieldType?: FieldType;
8
7
  };
@@ -37,7 +37,7 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
37
37
  } = themeProps,
38
38
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
39
39
  const ownerState = themeProps;
40
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
40
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
41
41
  const textFieldProps = useSlotProps({
42
42
  elementType: TextField,
43
43
  externalSlotProps: slotProps?.textField,
@@ -95,6 +95,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
95
95
  defaultValue: PropTypes.arrayOf(PropTypes.object),
96
96
  /**
97
97
  * If `true`, the component is disabled.
98
+ * When disabled, the value cannot be changed and no interaction is possible.
98
99
  * @default false
99
100
  */
100
101
  disabled: PropTypes.bool,
@@ -109,7 +110,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
109
110
  */
110
111
  disablePast: PropTypes.bool,
111
112
  /**
112
- * @default false
113
+ * @default true
113
114
  */
114
115
  enableAccessibleFieldDOMStructure: PropTypes.bool,
115
116
  /**
@@ -224,8 +225,8 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
224
225
  */
225
226
  onSelectedSectionsChange: PropTypes.func,
226
227
  /**
227
- * It prevents the user from changing the value of the field
228
- * (not from interacting with the field).
228
+ * If `true`, the component is read-only.
229
+ * When read-only, the value cannot be changed but the user can interact with the interface.
229
230
  * @default false
230
231
  */
231
232
  readOnly: PropTypes.bool,
@@ -255,8 +256,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
255
256
  *
256
257
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
257
258
  *
258
- * @template TDate
259
- * @param {TDate} day The date to test.
259
+ * @param {PickerValidDate} day The date to test.
260
260
  * @param {string} position The date to test, 'start' or 'end'.
261
261
  * @returns {boolean} Returns `true` if the date should be disabled.
262
262
  */
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
3
  import TextField from '@mui/material/TextField';
4
- import { UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
- import { BuiltInFieldTextFieldProps, PickerValidDate } from '@mui/x-date-pickers/models';
4
+ import { UseFieldInternalProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
5
+ import { BuiltInFieldTextFieldProps } from '@mui/x-date-pickers/models';
6
6
  import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
- import type { DateRange, RangeFieldSection, DateRangeValidationError, UseDateRangeFieldProps } from '../models';
8
- export interface UseSingleInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'unstableFieldRef'> {
7
+ import type { RangeFieldSection, DateRangeValidationError, UseDateRangeFieldProps } from '../models';
8
+ export interface UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<PickerRangeValue, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'unstableFieldRef'> {
9
9
  }
10
- export type SingleInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
10
+ export type SingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
11
11
  /**
12
12
  * Overridable component slots.
13
13
  * @default {}
@@ -17,7 +17,7 @@ export type SingleInputDateRangeFieldProps<TDate extends PickerValidDate, TEnabl
17
17
  * The props used for each component slot.
18
18
  * @default {}
19
19
  */
20
- slotProps?: SingleInputDateRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
20
+ slotProps?: SingleInputDateRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
21
21
  };
22
22
  export interface SingleInputDateRangeFieldSlots extends UseClearableFieldSlots {
23
23
  /**
@@ -26,6 +26,6 @@ export interface SingleInputDateRangeFieldSlots extends UseClearableFieldSlots {
26
26
  */
27
27
  textField?: React.ElementType;
28
28
  }
29
- export interface SingleInputDateRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
30
- textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
29
+ export interface SingleInputDateRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
30
+ textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
31
31
  }
@@ -1,3 +1,2 @@
1
- import { PickerValidDate } from '@mui/x-date-pickers/models';
2
1
  import { UseSingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
3
- export declare const useSingleInputDateRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps<any>> & Required<Pick<UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps<any>>>, "disabled" | "format" | "onChange" | "onError" | "defaultValue" | "value" | "readOnly" | "referenceDate" | "timezone" | "formatDensity" | "enableAccessibleFieldDOMStructure" | "selectedSections" | "onSelectedSectionsChange" | "shouldRespectLeadingZeros" | "unstableFieldRef" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps<any> | "dateSeparator">>;
2
+ export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps> & Required<Pick<UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps>>, "disabled" | "format" | "onChange" | "onError" | "defaultValue" | "value" | "readOnly" | "formatDensity" | "enableAccessibleFieldDOMStructure" | "selectedSections" | "onSelectedSectionsChange" | "timezone" | "unstableFieldRef" | "referenceDate" | "shouldRespectLeadingZeros" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "dateSeparator">>;
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
- import { PickerValidDate } from '@mui/x-date-pickers/models';
3
2
  import { SingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
4
3
  import { FieldType } from '../models';
5
- type DateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: SingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ type DateRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: SingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
5
  propTypes?: any;
7
6
  fieldType?: FieldType;
8
7
  };
@@ -37,7 +37,7 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
37
37
  } = themeProps,
38
38
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
39
39
  const ownerState = themeProps;
40
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
40
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
41
41
  const textFieldProps = useSlotProps({
42
42
  elementType: TextField,
43
43
  externalSlotProps: slotProps?.textField,
@@ -100,6 +100,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
100
100
  defaultValue: PropTypes.arrayOf(PropTypes.object),
101
101
  /**
102
102
  * If `true`, the component is disabled.
103
+ * When disabled, the value cannot be changed and no interaction is possible.
103
104
  * @default false
104
105
  */
105
106
  disabled: PropTypes.bool,
@@ -119,7 +120,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
119
120
  */
120
121
  disablePast: PropTypes.bool,
121
122
  /**
122
- * @default false
123
+ * @default true
123
124
  */
124
125
  enableAccessibleFieldDOMStructure: PropTypes.bool,
125
126
  /**
@@ -257,8 +258,8 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
257
258
  */
258
259
  onSelectedSectionsChange: PropTypes.func,
259
260
  /**
260
- * It prevents the user from changing the value of the field
261
- * (not from interacting with the field).
261
+ * If `true`, the component is read-only.
262
+ * When read-only, the value cannot be changed but the user can interact with the interface.
262
263
  * @default false
263
264
  */
264
265
  readOnly: PropTypes.bool,
@@ -288,16 +289,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
288
289
  *
289
290
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
290
291
  *
291
- * @template TDate
292
- * @param {TDate} day The date to test.
292
+ * @param {PickerValidDate} day The date to test.
293
293
  * @param {string} position The date to test, 'start' or 'end'.
294
294
  * @returns {boolean} Returns `true` if the date should be disabled.
295
295
  */
296
296
  shouldDisableDate: PropTypes.func,
297
297
  /**
298
298
  * Disable specific time.
299
- * @template TDate
300
- * @param {TDate} value The value to check.
299
+ * @param {PickerValidDate} value The value to check.
301
300
  * @param {TimeView} view The clock type of the timeValue.
302
301
  * @returns {boolean} If `true` the time will be disabled.
303
302
  */
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
3
  import TextField from '@mui/material/TextField';
4
- import { UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
- import { BuiltInFieldTextFieldProps, PickerValidDate } from '@mui/x-date-pickers/models';
4
+ import { UseFieldInternalProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
5
+ import { BuiltInFieldTextFieldProps } from '@mui/x-date-pickers/models';
6
6
  import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
7
  import { UseDateTimeRangeFieldProps } from '../internals/models';
8
- import { DateRange, RangeFieldSection, DateTimeRangeValidationError } from '../models';
9
- export interface UseSingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'unstableFieldRef'> {
8
+ import { RangeFieldSection, DateTimeRangeValidationError } from '../models';
9
+ export interface UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<PickerRangeValue, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'unstableFieldRef'> {
10
10
  }
11
- export type SingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
11
+ export type SingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
12
12
  /**
13
13
  * Overridable component slots.
14
14
  * @default {}
@@ -18,7 +18,7 @@ export type SingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TE
18
18
  * The props used for each component slot.
19
19
  * @default {}
20
20
  */
21
- slotProps?: SingleInputDateTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
21
+ slotProps?: SingleInputDateTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
22
22
  };
23
23
  export interface SingleInputDateTimeRangeFieldSlots extends UseClearableFieldSlots {
24
24
  /**
@@ -27,6 +27,6 @@ export interface SingleInputDateTimeRangeFieldSlots extends UseClearableFieldSlo
27
27
  */
28
28
  textField?: React.ElementType;
29
29
  }
30
- export interface SingleInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
31
- textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
30
+ export interface SingleInputDateTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
31
+ textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
32
32
  }