@mui/x-date-pickers-pro 7.0.0-alpha.3 → 7.0.0-alpha.5

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 (114) hide show
  1. package/CHANGELOG.md +245 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +2 -2
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +6 -6
  4. package/DateRangeCalendar/index.d.ts +1 -1
  5. package/DateRangePicker/DateRangePicker.js +6 -1
  6. package/DateRangePicker/DateRangePicker.types.d.ts +6 -6
  7. package/DateRangePicker/index.d.ts +1 -1
  8. package/DateRangePicker/shared.d.ts +5 -5
  9. package/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  10. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +6 -6
  11. package/DesktopDateRangePicker/index.d.ts +1 -1
  12. package/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  13. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +6 -6
  14. package/MobileDateRangePicker/index.d.ts +1 -1
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -4
  17. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
  18. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +4 -4
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +4 -4
  21. package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
  22. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -9
  23. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -2
  24. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
  25. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
  26. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +5 -9
  27. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -2
  28. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
  29. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
  30. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +5 -9
  31. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -2
  32. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
  33. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +6 -6
  34. package/StaticDateRangePicker/index.d.ts +1 -1
  35. package/index.js +1 -1
  36. package/internals/hooks/useDesktopRangePicker/index.d.ts +1 -1
  37. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  38. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -7
  39. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +6 -5
  40. package/internals/hooks/useMobileRangePicker/index.d.ts +1 -1
  41. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  42. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -7
  43. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
  44. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  45. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -1
  46. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  47. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -2
  48. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -1
  49. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  50. package/internals/hooks/useStaticRangePicker/index.d.ts +1 -1
  51. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -5
  52. package/internals/models/rangePickerProps.d.ts +5 -0
  53. package/internals/utils/releaseInfo.js +1 -1
  54. package/legacy/DateRangeCalendar/DateRangeCalendar.js +2 -2
  55. package/legacy/DateRangePicker/DateRangePicker.js +6 -1
  56. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  57. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  58. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -48
  59. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -48
  60. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -48
  61. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -47
  62. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -4
  63. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -47
  64. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -4
  65. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -48
  66. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -4
  67. package/legacy/index.js +1 -1
  68. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  69. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  70. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  71. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  72. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  73. package/legacy/internals/utils/releaseInfo.js +1 -1
  74. package/modern/DateRangeCalendar/DateRangeCalendar.js +2 -2
  75. package/modern/DateRangePicker/DateRangePicker.js +6 -1
  76. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  77. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  78. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
  79. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
  80. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
  81. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
  82. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
  83. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
  84. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
  85. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
  86. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
  87. package/modern/index.js +1 -1
  88. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  89. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  90. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  91. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  92. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  93. package/modern/internals/utils/releaseInfo.js +1 -1
  94. package/node/DateRangeCalendar/DateRangeCalendar.js +2 -2
  95. package/node/DateRangePicker/DateRangePicker.js +6 -1
  96. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  97. package/node/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  98. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -51
  99. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -51
  100. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -51
  101. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
  102. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
  103. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
  104. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
  105. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
  106. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
  107. package/node/index.js +1 -1
  108. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  109. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  110. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  111. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  112. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  113. package/node/internals/utils/releaseInfo.js +1 -1
  114. package/package.json +6 -6
@@ -1,12 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
- import { useClearableField } from '@mui/x-date-pickers/hooks';
9
6
  import MuiTextField from '@mui/material/TextField';
7
+ import { useClearableField } from '@mui/x-date-pickers/hooks';
8
+ import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
10
9
  import { useThemeProps } from '@mui/material/styles';
11
10
  import { useSlotProps } from '@mui/base/utils';
12
11
  import { refType } from '@mui/utils';
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [SingleInputTimeRangeField API](https://mui.com/x/api/single-input-time-range-field/)
24
23
  */
25
- const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps, ref) {
24
+ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  const themeProps = useThemeProps({
28
27
  props: inProps,
@@ -37,58 +36,26 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
37
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
38
37
  const ownerState = themeProps;
39
38
  const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
40
- const _useSlotProps = useSlotProps({
41
- elementType: TextField,
42
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
43
- externalForwardedProps: other,
44
- ownerState
45
- }),
46
- {
47
- inputRef: externalInputRef
48
- } = _useSlotProps,
49
- textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
39
+ const textFieldProps = useSlotProps({
40
+ elementType: TextField,
41
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
42
+ externalForwardedProps: other,
43
+ ownerState,
44
+ additionalProps: {
45
+ ref: inRef
46
+ }
47
+ });
50
48
 
51
49
  // TODO: Remove when mui/material-ui#35088 will be merged
52
50
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
53
51
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
54
- const _useSingleInputTimeRa = useSingleInputTimeRangeField({
55
- props: textFieldProps,
56
- inputRef: externalInputRef
57
- }),
58
- {
59
- ref: inputRef,
60
- onPaste,
61
- onKeyDown,
62
- inputMode,
63
- readOnly,
64
- clearable,
65
- onClear
66
- } = _useSingleInputTimeRa,
67
- fieldProps = _objectWithoutPropertiesLoose(_useSingleInputTimeRa, _excluded3);
68
- const {
69
- InputProps: ProcessedInputProps,
70
- fieldProps: processedFieldProps
71
- } = useClearableField({
72
- onClear,
73
- clearable,
74
- fieldProps,
75
- InputProps: fieldProps.InputProps,
52
+ const fieldResponse = useSingleInputTimeRangeField(textFieldProps);
53
+ const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
54
+ const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
76
55
  slots,
77
56
  slotProps
78
- });
79
- return /*#__PURE__*/_jsx(TextField, _extends({
80
- ref: ref
81
- }, processedFieldProps, {
82
- InputProps: _extends({}, ProcessedInputProps, {
83
- readOnly
84
- }),
85
- inputProps: _extends({}, fieldProps.inputProps, {
86
- inputMode,
87
- onPaste,
88
- onKeyDown,
89
- ref: inputRef
90
- })
91
57
  }));
58
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
92
59
  });
93
60
  SingleInputTimeRangeField.fieldType = 'single-input';
94
61
  process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
@@ -284,7 +251,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
284
251
  * 4. If `null` is provided, no section will be selected
285
252
  * If not provided, the selected sections will be handled internally.
286
253
  */
287
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
254
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
288
255
  endIndex: PropTypes.number.isRequired,
289
256
  startIndex: PropTypes.number.isRequired
290
257
  })]),
@@ -2,12 +2,8 @@ import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import TextField from '@mui/material/TextField';
4
4
  import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals/models/fields';
5
- import { FieldSlotsComponents, FieldSlotsComponentsProps } from '@mui/x-date-pickers/internals';
5
+ import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
6
6
  import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internals/models';
7
- export interface UseSingleInputTimeRangeFieldParams<TDate, TChildProps extends {}> {
8
- props: UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps>;
9
- inputRef?: React.Ref<HTMLInputElement>;
10
- }
11
7
  export interface UseSingleInputTimeRangeFieldProps<TDate> extends UseTimeRangeFieldProps<TDate> {
12
8
  }
13
9
  export type UseSingleInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
@@ -17,15 +13,15 @@ export interface SingleInputTimeRangeFieldProps<TDate> extends UseSingleInputTim
17
13
  * Overridable component slots.
18
14
  * @default {}
19
15
  */
20
- slots?: SingleInputTimeRangeFieldSlotsComponent;
16
+ slots?: SingleInputTimeRangeFieldSlots;
21
17
  /**
22
18
  * The props used for each component slot.
23
19
  * @default {}
24
20
  */
25
- slotProps?: SingleInputTimeRangeFieldSlotsComponentsProps<TDate>;
21
+ slotProps?: SingleInputTimeRangeFieldSlotProps<TDate>;
26
22
  }
27
23
  export type SingleInputTimeRangeFieldOwnerState<TDate> = SingleInputTimeRangeFieldProps<TDate>;
28
- export interface SingleInputTimeRangeFieldSlotsComponent extends FieldSlotsComponents {
24
+ export interface SingleInputTimeRangeFieldSlots extends UseClearableFieldSlots {
29
25
  /**
30
26
  * Form control with an input to render the value.
31
27
  * Receives the same props as `@mui/material/TextField`.
@@ -33,6 +29,6 @@ export interface SingleInputTimeRangeFieldSlotsComponent extends FieldSlotsCompo
33
29
  */
34
30
  textField?: React.ElementType;
35
31
  }
36
- export interface SingleInputTimeRangeFieldSlotsComponentsProps<TDate> extends FieldSlotsComponentsProps {
32
+ export interface SingleInputTimeRangeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
37
33
  textField?: SlotComponentProps<typeof TextField, {}, SingleInputTimeRangeFieldOwnerState<TDate>>;
38
34
  }
@@ -1,3 +1,3 @@
1
- import { UseSingleInputTimeRangeFieldDefaultizedProps, UseSingleInputTimeRangeFieldParams, UseSingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
1
+ import { UseSingleInputTimeRangeFieldComponentProps, UseSingleInputTimeRangeFieldDefaultizedProps, UseSingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
2
2
  export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseSingleInputTimeRangeFieldProps<TDate>) => UseSingleInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
3
- export declare const useSingleInputTimeRangeField: <TDate, TChildProps extends {}>({ props: inProps, inputRef, }: UseSingleInputTimeRangeFieldParams<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputTimeRangeFieldProps<any>>>;
3
+ export declare const useSingleInputTimeRangeField: <TDate, TChildProps extends {}>(inProps: UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputTimeRangeFieldProps<any>>>;
@@ -13,17 +13,13 @@ export const useDefaultizedTimeRangeFieldProps = props => {
13
13
  format: (_props$format = props.format) != null ? _props$format : defaultFormat
14
14
  });
15
15
  };
16
- export const useSingleInputTimeRangeField = ({
17
- props: inProps,
18
- inputRef
19
- }) => {
16
+ export const useSingleInputTimeRangeField = inProps => {
20
17
  const props = useDefaultizedTimeRangeFieldProps(inProps);
21
18
  const {
22
19
  forwardedProps,
23
20
  internalProps
24
21
  } = splitFieldInternalAndForwardedProps(props, 'time');
25
22
  return useField({
26
- inputRef,
27
23
  forwardedProps,
28
24
  internalProps,
29
25
  valueManager: rangeValueManager,
@@ -1,19 +1,19 @@
1
1
  import { MakeOptional } from '@mui/x-date-pickers/internals';
2
- import { StaticRangeOnlyPickerProps, UseStaticRangePickerSlotsComponent, UseStaticRangePickerSlotsComponentsProps } from '../internals/hooks/useStaticRangePicker';
3
- import { BaseDateRangePickerProps, BaseDateRangePickerSlotsComponent, BaseDateRangePickerSlotsComponentsProps } from '../DateRangePicker/shared';
4
- export interface StaticDateRangePickerSlotsComponent<TDate> extends BaseDateRangePickerSlotsComponent<TDate>, UseStaticRangePickerSlotsComponent<TDate, 'day'> {
2
+ import { StaticRangeOnlyPickerProps, UseStaticRangePickerSlots, UseStaticRangePickerSlotProps } from '../internals/hooks/useStaticRangePicker';
3
+ import { BaseDateRangePickerProps, BaseDateRangePickerSlots, BaseDateRangePickerSlotProps } from '../DateRangePicker/shared';
4
+ export interface StaticDateRangePickerSlots<TDate> extends BaseDateRangePickerSlots<TDate>, UseStaticRangePickerSlots<TDate, 'day'> {
5
5
  }
6
- export interface StaticDateRangePickerSlotsComponentsProps<TDate> extends BaseDateRangePickerSlotsComponentsProps<TDate>, UseStaticRangePickerSlotsComponentsProps<TDate, 'day'> {
6
+ export interface StaticDateRangePickerSlotProps<TDate> extends BaseDateRangePickerSlotProps<TDate>, UseStaticRangePickerSlotProps<TDate, 'day'> {
7
7
  }
8
8
  export interface StaticDateRangePickerProps<TDate> extends BaseDateRangePickerProps<TDate>, MakeOptional<StaticRangeOnlyPickerProps, 'displayStaticWrapperAs'> {
9
9
  /**
10
10
  * Overridable component slots.
11
11
  * @default {}
12
12
  */
13
- slots?: StaticDateRangePickerSlotsComponent<TDate>;
13
+ slots?: StaticDateRangePickerSlots<TDate>;
14
14
  /**
15
15
  * The props used for each component slot.
16
16
  * @default {}
17
17
  */
18
- slotProps?: StaticDateRangePickerSlotsComponentsProps<TDate>;
18
+ slotProps?: StaticDateRangePickerSlotProps<TDate>;
19
19
  }
@@ -1,2 +1,2 @@
1
1
  export { StaticDateRangePicker } from './StaticDateRangePicker';
2
- export type { StaticDateRangePickerProps, StaticDateRangePickerSlotsComponent, StaticDateRangePickerSlotsComponentsProps, } from './StaticDateRangePicker.types';
2
+ export type { StaticDateRangePickerProps, StaticDateRangePickerSlots, StaticDateRangePickerSlotProps, } from './StaticDateRangePicker.types';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.0.0-alpha.3
2
+ * @mui/x-date-pickers-pro v7.0.0-alpha.5
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,2 +1,2 @@
1
1
  export { useDesktopRangePicker } from './useDesktopRangePicker';
2
- export type { UseDesktopRangePickerSlotsComponent, UseDesktopRangePickerSlotsComponentsProps, DesktopRangeOnlyPickerProps, } from './useDesktopRangePicker.types';
2
+ export type { UseDesktopRangePickerSlots, UseDesktopRangePickerSlotProps, DesktopRangeOnlyPickerProps, } from './useDesktopRangePicker.types';
@@ -30,6 +30,7 @@ export const useDesktopRangePicker = _ref => {
30
30
  timezone,
31
31
  label,
32
32
  inputRef,
33
+ name,
33
34
  readOnly,
34
35
  disabled,
35
36
  autoFocus,
@@ -86,7 +87,8 @@ export const useDesktopRangePicker = _ref => {
86
87
  autoFocus: autoFocus && !props.open,
87
88
  ref: fieldContainerRef
88
89
  }, fieldType === 'single-input' && {
89
- inputRef
90
+ inputRef,
91
+ name
90
92
  }),
91
93
  ownerState: props
92
94
  });
@@ -1,12 +1,12 @@
1
- import { UsePickerParams, BasePickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
1
+ import { UsePickerParams, BasePickerProps, PickersPopperSlots, PickersPopperSlotProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
2
2
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
- import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout';
3
+ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
4
4
  import { DateRange, RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
5
5
  import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
6
- import { RangePickerFieldSlotsComponent, RangePickerFieldSlotsComponentsProps } from '../useEnrichedRangePickerFieldProps';
7
- export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotsComponent {
6
+ import { RangePickerFieldSlots, RangePickerFieldSlotProps } from '../useEnrichedRangePickerFieldProps';
7
+ export interface UseDesktopRangePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlots, ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView>, RangePickerFieldSlots {
8
8
  }
9
- export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotsComponentsProps<TDate> {
9
+ export interface UseDesktopRangePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotProps, ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotProps<TDate> {
10
10
  toolbar?: ExportedBaseToolbarProps;
11
11
  }
12
12
  export interface DesktopRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {
@@ -20,12 +20,12 @@ export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeViewW
20
20
  * Overridable component slots.
21
21
  * @default {}
22
22
  */
23
- slots: UseDesktopRangePickerSlotsComponent<TDate, TView>;
23
+ slots: UseDesktopRangePickerSlots<TDate, TView>;
24
24
  /**
25
25
  * The props used for each component slot.
26
26
  * @default {}
27
27
  */
28
- slotProps?: UseDesktopRangePickerSlotsComponentsProps<TDate, TView>;
28
+ slotProps?: UseDesktopRangePickerSlotProps<TDate, TView>;
29
29
  }
30
30
  export interface DesktopRangePickerAdditionalViewProps extends Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> {
31
31
  }
@@ -4,12 +4,13 @@ import Typography, { TypographyProps } from '@mui/material/Typography';
4
4
  import TextField, { TextFieldProps } from '@mui/material/TextField';
5
5
  import { SlotComponentProps } from '@mui/base/utils';
6
6
  import { BaseSingleInputFieldProps } from '@mui/x-date-pickers/models';
7
+ import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
8
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
8
9
  import { PickersInputLocaleText } from '@mui/x-date-pickers/locales';
9
- import { BaseFieldProps, UsePickerResponse, WrapperVariant, UsePickerProps, FieldSlotsComponents, FieldSlotsComponentsProps } from '@mui/x-date-pickers/internals';
10
+ import { BaseFieldProps, UsePickerResponse, WrapperVariant, UsePickerProps } from '@mui/x-date-pickers/internals';
10
11
  import { BaseMultiInputFieldProps, DateRange, RangeFieldSection, RangePosition, UseDateRangeFieldProps } from '../models';
11
12
  import { UseRangePositionResponse } from './useRangePosition';
12
- export interface RangePickerFieldSlotsComponent extends FieldSlotsComponents {
13
+ export interface RangePickerFieldSlots extends UseClearableFieldSlots {
13
14
  field: React.ElementType;
14
15
  /**
15
16
  * Element rendered at the root.
@@ -29,7 +30,7 @@ export interface RangePickerFieldSlotsComponent extends FieldSlotsComponents {
29
30
  */
30
31
  textField?: React.ElementType<TextFieldProps>;
31
32
  }
32
- export interface RangePickerFieldSlotsComponentsProps<TDate> extends FieldSlotsComponentsProps {
33
+ export interface RangePickerFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
33
34
  field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, TDate, RangeFieldSection, unknown>>, {}, UsePickerProps<DateRange<TDate>, TDate, any, RangeFieldSection, any, any, any>>;
34
35
  fieldRoot?: SlotComponentProps<typeof Stack, {}, Record<string, any>>;
35
36
  fieldSeparator?: SlotComponentProps<typeof Typography, {}, Record<string, any>>;
@@ -47,8 +48,8 @@ export interface UseEnrichedRangePickerFieldPropsParams<TDate, TView extends Dat
47
48
  inputRef?: React.Ref<HTMLInputElement>;
48
49
  label?: React.ReactNode;
49
50
  localeText: PickersInputLocaleText<TDate> | undefined;
50
- pickerSlotProps: RangePickerFieldSlotsComponentsProps<TDate> | undefined;
51
- pickerSlots: RangePickerFieldSlotsComponent | undefined;
51
+ pickerSlotProps: RangePickerFieldSlotProps<TDate> | undefined;
52
+ pickerSlots: RangePickerFieldSlots | undefined;
52
53
  fieldProps: FieldProps;
53
54
  anchorRef?: React.Ref<HTMLDivElement>;
54
55
  }
@@ -1,2 +1,2 @@
1
1
  export { useMobileRangePicker } from './useMobileRangePicker';
2
- export type { UseMobileRangePickerSlotsComponent, UseMobileRangePickerSlotsComponentsProps, MobileRangeOnlyPickerProps, } from './useMobileRangePicker.types';
2
+ export type { UseMobileRangePickerSlots, UseMobileRangePickerSlotProps, MobileRangeOnlyPickerProps, } from './useMobileRangePicker.types';
@@ -31,6 +31,7 @@ export const useMobileRangePicker = _ref => {
31
31
  timezone,
32
32
  label,
33
33
  inputRef,
34
+ name,
34
35
  readOnly,
35
36
  disabled,
36
37
  disableOpenPicker,
@@ -72,7 +73,8 @@ export const useMobileRangePicker = _ref => {
72
73
  formatDensity,
73
74
  timezone
74
75
  }, fieldType === 'single-input' && {
75
- inputRef
76
+ inputRef,
77
+ name
76
78
  }),
77
79
  ownerState: props
78
80
  });
@@ -1,12 +1,12 @@
1
- import { UsePickerParams, BasePickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
2
- import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout';
1
+ import { UsePickerParams, BasePickerProps, PickersModalDialogSlots, PickersModalDialogSlotProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
2
+ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
3
3
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
4
4
  import { DateRange, RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
5
5
  import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
6
- import { RangePickerFieldSlotsComponent, RangePickerFieldSlotsComponentsProps } from '../useEnrichedRangePickerFieldProps';
7
- export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotsComponent {
6
+ import { RangePickerFieldSlots, RangePickerFieldSlotProps } from '../useEnrichedRangePickerFieldProps';
7
+ export interface UseMobileRangePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlots, ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView>, RangePickerFieldSlots {
8
8
  }
9
- export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotsComponentsProps<TDate> {
9
+ export interface UseMobileRangePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotProps<TDate> {
10
10
  toolbar?: ExportedBaseToolbarProps;
11
11
  }
12
12
  export interface MobileRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {
@@ -16,12 +16,12 @@ export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeViewWi
16
16
  * Overridable component slots.
17
17
  * @default {}
18
18
  */
19
- slots: UseMobileRangePickerSlotsComponent<TDate, TView>;
19
+ slots: UseMobileRangePickerSlots<TDate, TView>;
20
20
  /**
21
21
  * The props used for each component slot.
22
22
  * @default {}
23
23
  */
24
- slotProps?: UseMobileRangePickerSlotsComponentsProps<TDate, TView>;
24
+ slotProps?: UseMobileRangePickerSlotProps<TDate, TView>;
25
25
  }
26
26
  export interface MobileRangePickerAdditionalViewProps extends Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> {
27
27
  }
@@ -1,3 +1,3 @@
1
1
  import { UseMultiInputDateRangeFieldParams } from '../../../MultiInputDateRangeField/MultiInputDateRangeField.types';
2
2
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
- export declare const useMultiInputDateRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
3
+ export declare const useMultiInputDateRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
@@ -9,10 +9,8 @@ import { excludeProps } from './shared';
9
9
  export const useMultiInputDateRangeField = ({
10
10
  sharedProps: inSharedProps,
11
11
  startTextFieldProps,
12
- startInputRef,
13
12
  unstableStartFieldRef,
14
13
  endTextFieldProps,
15
- endInputRef,
16
14
  unstableEndFieldRef
17
15
  }) => {
18
16
  const sharedProps = useDefaultizedDateRangeFieldProps(inSharedProps);
@@ -97,14 +95,8 @@ export const useMultiInputDateRangeField = ({
97
95
  selectedSections,
98
96
  onSelectedSectionsChange
99
97
  });
100
- const startDateResponse = useDateField({
101
- props: startFieldProps,
102
- inputRef: startInputRef
103
- });
104
- const endDateResponse = useDateField({
105
- props: endFieldProps,
106
- inputRef: endInputRef
107
- });
98
+ const startDateResponse = useDateField(startFieldProps);
99
+ const endDateResponse = useDateField(endFieldProps);
108
100
 
109
101
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
110
102
  return {
@@ -1,4 +1,4 @@
1
1
  import type { UseMultiInputDateTimeRangeFieldDefaultizedProps, UseMultiInputDateTimeRangeFieldParams, UseMultiInputDateTimeRangeFieldProps } from '../../../MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types';
2
2
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
3
  export declare const useDefaultizedDateTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputDateTimeRangeFieldProps<TDate>) => UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useMultiInputDateTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
4
+ export declare const useMultiInputDateTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
@@ -25,10 +25,8 @@ export const useDefaultizedDateTimeRangeFieldProps = props => {
25
25
  export const useMultiInputDateTimeRangeField = ({
26
26
  sharedProps: inSharedProps,
27
27
  startTextFieldProps,
28
- startInputRef,
29
28
  unstableStartFieldRef,
30
29
  endTextFieldProps,
31
- endInputRef,
32
30
  unstableEndFieldRef
33
31
  }) => {
34
32
  const sharedProps = useDefaultizedDateTimeRangeFieldProps(inSharedProps);
@@ -110,14 +108,8 @@ export const useMultiInputDateTimeRangeField = ({
110
108
  selectedSections,
111
109
  onSelectedSectionsChange
112
110
  });
113
- const startDateResponse = useDateTimeField({
114
- props: startFieldProps,
115
- inputRef: startInputRef
116
- });
117
- const endDateResponse = useDateTimeField({
118
- props: endFieldProps,
119
- inputRef: endInputRef
120
- });
111
+ const startDateResponse = useDateTimeField(startFieldProps);
112
+ const endDateResponse = useDateTimeField(endFieldProps);
121
113
 
122
114
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
123
115
  return {
@@ -5,10 +5,8 @@ import { RangeFieldSection } from '../../models/fields';
5
5
  export interface UseMultiInputRangeFieldParams<TSharedProps extends {}, TTextFieldSlotProps extends {}> {
6
6
  sharedProps: TSharedProps;
7
7
  startTextFieldProps: TTextFieldSlotProps;
8
- startInputRef?: React.Ref<HTMLInputElement>;
9
8
  unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
10
9
  endTextFieldProps: TTextFieldSlotProps;
11
- endInputRef?: React.Ref<HTMLInputElement>;
12
10
  unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
13
11
  }
14
12
  export interface UseMultiInputRangeFieldResponse<TForwardedProps extends {}> {
@@ -1,4 +1,4 @@
1
1
  import type { UseMultiInputTimeRangeFieldDefaultizedProps, UseMultiInputTimeRangeFieldParams, UseMultiInputTimeRangeFieldProps } from '../../../MultiInputTimeRangeField/MultiInputTimeRangeField.types';
2
2
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
3
  export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputTimeRangeFieldProps<TDate>) => UseMultiInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useMultiInputTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
4
+ export declare const useMultiInputTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
@@ -19,10 +19,8 @@ export const useDefaultizedTimeRangeFieldProps = props => {
19
19
  export const useMultiInputTimeRangeField = ({
20
20
  sharedProps: inSharedProps,
21
21
  startTextFieldProps,
22
- startInputRef,
23
22
  unstableStartFieldRef,
24
23
  endTextFieldProps,
25
- endInputRef,
26
24
  unstableEndFieldRef
27
25
  }) => {
28
26
  const sharedProps = useDefaultizedTimeRangeFieldProps(inSharedProps);
@@ -104,14 +102,8 @@ export const useMultiInputTimeRangeField = ({
104
102
  selectedSections,
105
103
  onSelectedSectionsChange
106
104
  });
107
- const startDateResponse = useTimeField({
108
- props: startFieldProps,
109
- inputRef: startInputRef
110
- });
111
- const endDateResponse = useTimeField({
112
- props: endFieldProps,
113
- inputRef: endInputRef
114
- });
105
+ const startDateResponse = useTimeField(startFieldProps);
106
+ const endDateResponse = useTimeField(endFieldProps);
115
107
 
116
108
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
117
109
  return {
@@ -1,2 +1,2 @@
1
1
  export { useStaticRangePicker } from './useStaticRangePicker';
2
- export type { UseStaticRangePickerSlotsComponent, UseStaticRangePickerSlotsComponentsProps, StaticRangeOnlyPickerProps, } from './useStaticRangePicker.types';
2
+ export type { UseStaticRangePickerSlots, UseStaticRangePickerSlotProps, StaticRangeOnlyPickerProps, } from './useStaticRangePicker.types';
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps } from '@mui/x-date-pickers/internals';
3
- import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout';
3
+ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
4
4
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
5
5
  import { DateRange } from '../../models/range';
6
6
  import { UseRangePositionProps } from '../useRangePosition';
7
7
  import { RangeFieldSection } from '../../models/fields';
8
- export interface UseStaticRangePickerSlotsComponent<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
8
+ export interface UseStaticRangePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView> {
9
9
  }
10
- export interface UseStaticRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
10
+ export interface UseStaticRangePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView> {
11
11
  toolbar?: ExportedBaseToolbarProps;
12
12
  }
13
13
  export interface StaticRangeOnlyPickerProps extends StaticOnlyPickerProps, UseRangePositionProps {
@@ -17,12 +17,12 @@ export interface UseStaticRangePickerProps<TDate, TView extends DateOrTimeViewWi
17
17
  * Overridable components.
18
18
  * @default {}
19
19
  */
20
- slots?: UseStaticRangePickerSlotsComponent<TDate, TView>;
20
+ slots?: UseStaticRangePickerSlots<TDate, TView>;
21
21
  /**
22
22
  * The props used for each component slot.
23
23
  * @default {}
24
24
  */
25
- slotProps?: UseStaticRangePickerSlotsComponentsProps<TDate, TView>;
25
+ slotProps?: UseStaticRangePickerSlotProps<TDate, TView>;
26
26
  }
27
27
  export interface UseStaticRangePickerParams<TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
28
28
  props: TExternalProps;
@@ -14,4 +14,9 @@ export interface BaseRangeNonStaticPickerProps {
14
14
  * Ignored if the field has several inputs.
15
15
  */
16
16
  inputRef?: React.Ref<HTMLInputElement>;
17
+ /**
18
+ * Name attribute used by the `input` element in the Field.
19
+ * Ignored if the field has several inputs.
20
+ */
21
+ name?: string;
17
22
  }
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcwMTY0MDgwMDAwMA==";
3
+ const releaseInfo = "MTcwMjQ5NDAwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -51,7 +51,7 @@ var DateRangeCalendarMonthContainer = styled('div', {
51
51
  };
52
52
  });
53
53
  var DateRangeCalendarArrowSwitcher = styled(PickersArrowSwitcher)({
54
- padding: '16px 16px 8px 16px',
54
+ padding: '12px 16px 4px 16px',
55
55
  display: 'flex',
56
56
  alignItems: 'center',
57
57
  justifyContent: 'space-between'
@@ -497,7 +497,7 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
497
497
  renderLoading: renderLoading,
498
498
  slots: slotsForDayCalendar,
499
499
  slotProps: slotPropsForDayCalendar,
500
- autoFocus: month === focusedMonth,
500
+ autoFocus: visibleMonths[month] === focusedMonth,
501
501
  fixedWeekNumber: fixedWeekNumber,
502
502
  displayWeekNumber: displayWeekNumber,
503
503
  timezone: timezone
@@ -181,6 +181,11 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
181
181
  * Minimal selectable date.
182
182
  */
183
183
  minDate: PropTypes.any,
184
+ /**
185
+ * Name attribute used by the `input` element in the Field.
186
+ * Ignored if the field has several inputs.
187
+ */
188
+ name: PropTypes.string,
184
189
  /**
185
190
  * Callback fired when the value is accepted.
186
191
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -267,7 +272,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
267
272
  * 4. If `null` is provided, no section will be selected
268
273
  * If not provided, the selected sections will be handled internally.
269
274
  */
270
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
275
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
271
276
  endIndex: PropTypes.number.isRequired,
272
277
  startIndex: PropTypes.number.isRequired
273
278
  })]),
@@ -190,6 +190,11 @@ DesktopDateRangePicker.propTypes = {
190
190
  * Minimal selectable date.
191
191
  */
192
192
  minDate: PropTypes.any,
193
+ /**
194
+ * Name attribute used by the `input` element in the Field.
195
+ * Ignored if the field has several inputs.
196
+ */
197
+ name: PropTypes.string,
193
198
  /**
194
199
  * Callback fired when the value is accepted.
195
200
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -276,7 +281,7 @@ DesktopDateRangePicker.propTypes = {
276
281
  * 4. If `null` is provided, no section will be selected
277
282
  * If not provided, the selected sections will be handled internally.
278
283
  */
279
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
284
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
280
285
  endIndex: PropTypes.number.isRequired,
281
286
  startIndex: PropTypes.number.isRequired
282
287
  })]),