@mui/x-date-pickers-pro 6.0.2 → 6.0.4

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 (138) hide show
  1. package/CHANGELOG.md +119 -5
  2. package/DateRangePicker/DateRangePicker.js +12 -0
  3. package/DateRangePicker/DateRangePickerToolbar.d.ts +1 -1
  4. package/DateRangePicker/shared.d.ts +1 -1
  5. package/DateRangePickerDay/DateRangePickerDay.js +3 -6
  6. package/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  7. package/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
  8. package/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  9. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +8 -10
  10. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  11. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +8 -8
  12. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  13. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +8 -8
  14. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +1 -0
  15. package/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
  16. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  17. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +1 -0
  18. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
  19. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  20. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +1 -0
  21. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
  22. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  23. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +1 -1
  24. package/index.d.ts +1 -1
  25. package/index.js +1 -1
  26. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  27. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +32 -40
  28. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +10 -30
  29. package/internal/hooks/useEnrichedRangePickerFieldProps.d.ts +53 -0
  30. package/internal/hooks/useEnrichedRangePickerFieldProps.js +202 -0
  31. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
  32. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +36 -39
  33. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +10 -29
  34. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
  35. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  36. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
  37. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  38. package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +14 -2
  39. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
  40. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  41. package/internal/hooks/useRangePosition.d.ts +4 -0
  42. package/internal/hooks/useRangePosition.js +16 -1
  43. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  44. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -3
  45. package/internal/hooks/validation/useDateRangeValidation.d.ts +2 -1
  46. package/internal/hooks/validation/useDateTimeRangeValidation.d.ts +2 -1
  47. package/internal/hooks/validation/useTimeRangeValidation.d.ts +2 -1
  48. package/internal/models/dateRange.d.ts +2 -1
  49. package/internal/models/dateTimeRange.d.ts +2 -1
  50. package/internal/models/fields.d.ts +8 -3
  51. package/internal/models/index.d.ts +1 -0
  52. package/internal/models/index.js +2 -1
  53. package/internal/models/rangePickerProps.d.ts +17 -0
  54. package/internal/models/rangePickerProps.js +1 -0
  55. package/internal/models/timeRange.d.ts +2 -1
  56. package/internal/utils/releaseInfo.js +1 -1
  57. package/internal/utils/valueManagers.js +23 -27
  58. package/legacy/DateRangePicker/DateRangePicker.js +12 -0
  59. package/legacy/DateRangePickerDay/DateRangePickerDay.js +4 -7
  60. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  61. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
  62. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  63. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +13 -2
  64. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -2
  65. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
  66. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +4 -2
  67. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
  68. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +4 -2
  69. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
  70. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +4 -2
  71. package/legacy/index.js +1 -1
  72. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +32 -40
  73. package/legacy/internal/hooks/useEnrichedRangePickerFieldProps.js +200 -0
  74. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +36 -39
  75. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  76. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  77. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  78. package/legacy/internal/hooks/useRangePosition.js +16 -1
  79. package/legacy/internal/models/index.js +2 -1
  80. package/legacy/internal/models/rangePickerProps.js +1 -0
  81. package/legacy/internal/utils/releaseInfo.js +1 -1
  82. package/legacy/internal/utils/valueManagers.js +22 -26
  83. package/modern/DateRangePicker/DateRangePicker.js +12 -0
  84. package/modern/DateRangePickerDay/DateRangePickerDay.js +3 -6
  85. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  86. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
  87. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  88. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  89. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  90. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
  91. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  92. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
  93. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  94. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
  95. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  96. package/modern/index.js +1 -1
  97. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +30 -38
  98. package/modern/internal/hooks/useEnrichedRangePickerFieldProps.js +195 -0
  99. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +35 -38
  100. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  101. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  102. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  103. package/modern/internal/hooks/useRangePosition.js +16 -1
  104. package/modern/internal/models/index.js +2 -1
  105. package/modern/internal/models/rangePickerProps.js +1 -0
  106. package/modern/internal/utils/releaseInfo.js +1 -1
  107. package/modern/internal/utils/valueManagers.js +23 -27
  108. package/node/DateRangePicker/DateRangePicker.js +12 -0
  109. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -6
  110. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  111. package/node/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
  112. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
  113. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
  114. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
  115. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
  116. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
  117. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
  118. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
  119. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
  120. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
  121. package/node/index.js +1 -1
  122. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +29 -37
  123. package/node/internal/hooks/useEnrichedRangePickerFieldProps.js +205 -0
  124. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +34 -37
  125. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
  126. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
  127. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
  128. package/node/internal/hooks/useRangePosition.js +18 -1
  129. package/node/internal/models/index.js +11 -0
  130. package/node/internal/models/rangePickerProps.js +5 -0
  131. package/node/internal/utils/releaseInfo.js +1 -1
  132. package/node/internal/utils/valueManagers.js +22 -26
  133. package/package.json +4 -4
  134. package/internal/hooks/useRangePickerInputProps.d.ts +0 -19
  135. package/internal/hooks/useRangePickerInputProps.js +0 -89
  136. package/legacy/internal/hooks/useRangePickerInputProps.js +0 -88
  137. package/modern/internal/hooks/useRangePickerInputProps.js +0 -86
  138. package/node/internal/hooks/useRangePickerInputProps.js +0 -96
package/CHANGELOG.md CHANGED
@@ -3,6 +3,121 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 6.0.4
7
+
8
+ _Mar 30, 2023_
9
+
10
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🌍 Add Danish (da-DK), and improve Norwegian (nb-NO), Spanish (es-ES), and Swedish (sv-SE) locales
13
+ - 🐞 Bugfixes
14
+ - 📚 Documentation improvements
15
+
16
+ ### `@mui/x-data-grid@v6.0.4` / `@mui/x-data-grid-pro@v6.0.4` / `@mui/x-data-grid-premium@v6.0.4`
17
+
18
+ #### Changes
19
+
20
+ - [DataGrid] Fix column header tooltip not showing when the title is truncated (#8433) @rohitnatesh
21
+ - [DataGrid] Fix filter model buttons' display condition (#8415) @MBilalShafi
22
+ - [DataGrid] Fix infinite rerender in a flex parent (#8436) @cherniavskii
23
+ - [DataGrid] Prevent reopening column menu when clicking in the button while it is open (#8286) @tanuj-22
24
+ - [DataGrid] Rename `components` by `slots` in column menu API (#7999) @MBilalShafi
25
+ - [DataGrid] Remove hardcoded CSS classes' usages (#8444) @MBilalShafi
26
+ - [DataGridPremium] Fix aggregation initial state causing issue with quick filter (#8441) @MBilalShafi
27
+ - [l10n] Improve Danish (da-DK) locale (#8368) @BossElijah
28
+ - [l10n] Improve Danish (da-DK) locale (#8378) @BossElijah
29
+ - [l10n] Improve Norwegian (nb-NO) locale (#8367) @BossElijah
30
+ - [l10n] Improve Norwegian (nb-NO) locale (#8409) @BossElijah
31
+ - [l10n] Improve Spanish (es-ES) locale (#8420) @martjanz
32
+ - [l10n] Improve Swedish (sv-SE) locale (#8381) @BossElijah
33
+
34
+ ### `@mui/x-date-pickers@v6.0.4` / `@mui/x-date-pickers-pro@v6.0.4`
35
+
36
+ #### Changes
37
+
38
+ - [fields] Add missing tokens to `AdapterDateFnsJalali` (#8402) @flaviendelangle
39
+ - [fields] Clean the active date manager (#8370) @flaviendelangle
40
+ - [fields] Cleanup `useFieldState` (#8292) @flaviendelangle
41
+ - [fields] Only add RTL characters when needed (#8325) @flaviendelangle
42
+ - [pickers] Add support for single input fields in range pickers (#7927) @flaviendelangle
43
+ - [pickers] Allows non token characters in format (#8256) @alexfauquette
44
+ - [pickers] Avoid root imports and move public models to the models folder (#8337) @flaviendelangle
45
+ - [pickers] Update `view` when `views` or `openTo` changes (#8361) @LukasTy
46
+ - [l10n] Improve Norwegian (nb-NO) locale (#8382) @BossElijah
47
+ - [l10n] Add Danish (da-DK) locale (#8379) @BossElijah
48
+ - [l10n] Improve Swedish (sv-SE) locale (#8381) @BossElijah
49
+
50
+ ### `@mui/x-codemod@v6.0.4`
51
+
52
+ #### Changes
53
+
54
+ - [codemod] Fix `remove-stabilized-experimentalFeatures` codemod (#8289) @alexfauquette
55
+
56
+ ### Docs
57
+
58
+ - [docs] Fix `GridCellParams` signature in migration guide (#8427) @cherniavskii
59
+ - [docs] Fix "Custom field" demos responsive styles (#8408) @LukasTy
60
+ - [docs] Remove `label` from demos where it reduces clarity (#8416) @LukasTy
61
+ - [docs] Update slots' references in Data Grid migration guide (#8159) @MBilalShafi
62
+
63
+ ### Core
64
+
65
+ - [charts] Work on typing (#8421) @flaviendelangle
66
+
67
+ ## 6.0.3
68
+
69
+ _Mar 23, 2023_
70
+
71
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
72
+
73
+ - 🌍 Improve Bulgarian (bg-BG), Persian (fa-IR), Polish (pl-PL), and Dutch (nl-NL) locales
74
+ - 🐞 Bugfixes
75
+ - 📚 Documentation improvements
76
+
77
+ ### `@mui/x-data-grid@v6.0.3` / `@mui/x-data-grid-pro@v6.0.3` / `@mui/x-data-grid-premium@v6.0.3`
78
+
79
+ #### Changes
80
+
81
+ - [DataGrid] Fix overflow calculation issue in column group headers (#8246) @MBilalShafi
82
+ - [DataGridPro] Fix column reorder glitches (#8335) @cherniavskii
83
+ - [l10n] Improve Bulgarian (bg-BG) locale (#8315) @todevmilen
84
+ - [l10n] Improve Persian (fa-IR) locale (#8268) @fakhamatia
85
+ - [l10n] improve Dutch (nl-NL) locale (#8317) @developenguin
86
+
87
+ ### `@mui/x-date-pickers@v6.0.3` / `@mui/x-date-pickers-pro@v6.0.3`
88
+
89
+ #### Changes
90
+
91
+ - [fields] Allow to reset the value from the outside (#8287) @flaviendelangle
92
+ - [fields] Cleanup section order generation (#8290) @flaviendelangle
93
+ - [fields] Fix Safari input selection resetting regression (#8295) @LukasTy
94
+ - [fields] Fix editing when all sections are selected (#8330) @flaviendelangle
95
+ - [fields] Fix iOS browser scroll jumping when entering data (#8328) @LukasTy
96
+ - [fields] New prop `unstableFieldRef` to imperatively interact with the selected sections (#8235) @flaviendelangle
97
+ - [pickers] Align date calendar colors (#8318) @LukasTy
98
+ - [pickers] Support invalid dates from the field (#8298) @flaviendelangle
99
+ - [l10n] Improve Persian (fa-IR) locale (#8268) @fakhamatia
100
+ - [l10n] Improve Polish (pl-PL) locale (#8344) @drmats
101
+ - [l10n] improve Dutch (nl-NL) locale (#8317) @developenguin
102
+
103
+ ### Docs
104
+
105
+ - [docs] Create examples of pickers with custom fields (#8034) @flaviendelangle
106
+ - [docs] Fix 301 redirections @oliviertassinari
107
+ - [docs] Fix link to React's docs @oliviertassinari
108
+ - [docs] Fix pro license links to point to the same page (#8303) @LukasTy
109
+ - [docs] Give an incentive to upgrade (#8269) @oliviertassinari
110
+ - [docs] Improve contrast on data grid navigation (#8239) @oliviertassinari
111
+ - [docs] Update shortcuts page to use slotProps (#8288) @dcorb
112
+ - [docs] Explain the `shouldDisableTime` migration in more depth (#8348) @LukasTy
113
+
114
+ ### Core
115
+
116
+ - [core] Remove unused `visx` chart package (#8259) @LukasTy
117
+ - [core] Upgrade monorepo (#8331) @cherniavskii
118
+ - [charts] Project setup (#8308) @alexfauquette
119
+ - [test] Track visual regressions of column menu and filter/column panels (#8095) @cherniavskii
120
+
6
121
  ## 6.0.2
7
122
 
8
123
  _Mar 16, 2023_
@@ -98,11 +213,9 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
98
213
 
99
214
  _Mar 3, 2023_
100
215
 
101
- We're happy to announce the first v6 stable release! 🎉🚀
216
+ We're excited to [announce the first v6 stable release](https://mui.com/blog/mui-x-v6/)! 🎉🚀
102
217
 
103
218
  This is now the officially supported major version, where we'll keep rolling out new features, bug fixes, and improvements.
104
- Head over to the [what's new](https://mui.com/x/whats-new/) page to check the highlighted new features.
105
-
106
219
  Migration guides are available with a complete list of the breaking changes:
107
220
 
108
221
  - [Data Grid](https://mui.com/x/migration/migration-data-grid-v5/)
@@ -119,6 +232,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
119
232
  - experimentalFeatures={{ rowPinning: true }}
120
233
  />
121
234
  ```
235
+
122
236
  - ⚡️ Improved grid performance by rows and cells memoization (#7846) @m4theushw
123
237
  - ✨ Fields have a distinct visual state when empty (#8069) @LukasTy
124
238
  - 🌍 Improve Czech (cs-CZ) locale (#8113) @BlastyCZ
@@ -556,14 +670,14 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
556
670
  ```
557
671
 
558
672
  - The `error` and `onError` props were removed - the grid no longer catches errors during rendering.
559
- To catch errors that happen during rendering use the [error boundary](https://reactjs.org/docs/error-boundaries.html).
673
+ To catch errors that happen during rendering use the [error boundary](https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary).
560
674
 
561
675
  - The `components.ErrorOverlay` slot was removed.
562
676
 
563
677
  - The `GridErrorOverlay` component was removed.
564
678
 
565
679
  - The `componentError` event was removed.
566
- Use the [error boundary](https://reactjs.org/docs/error-boundaries.html) to catch errors thrown during rendering.
680
+ Use the [error boundary](https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary) to catch errors thrown during rendering.
567
681
 
568
682
  - The `apiRef.current.showError` method was removed.
569
683
  The UI for errors is no longer handled by the grid.
@@ -147,6 +147,18 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
147
147
  * Defaults to localized format based on the used `views`.
148
148
  */
149
149
  format: PropTypes.string,
150
+ /**
151
+ * Pass a ref to the `input` element.
152
+ * Ignored if the field has several inputs.
153
+ */
154
+ inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
155
+ current: PropTypes.object
156
+ })]),
157
+ /**
158
+ * The label content.
159
+ * Ignored if the field has several inputs.
160
+ */
161
+ label: PropTypes.node,
150
162
  /**
151
163
  * If `true`, calls `renderLoading` instead of rendering the day calendar.
152
164
  * Can be used to preload information and show it in calendar.
@@ -3,7 +3,7 @@ import { BaseToolbarProps, ExportedBaseToolbarProps } from '@mui/x-date-pickers/
3
3
  import { DateRange } from '../internal/models';
4
4
  import { UseRangePositionResponse } from '../internal/hooks/useRangePosition';
5
5
  import { DateRangePickerToolbarClasses } from './dateRangePickerToolbarClasses';
6
- export interface DateRangePickerToolbarProps<TDate> extends Omit<BaseToolbarProps<DateRange<TDate>, 'day'>, 'views' | 'view' | 'onViewChange' | 'onChange' | 'isLandscape'>, UseRangePositionResponse {
6
+ export interface DateRangePickerToolbarProps<TDate> extends Omit<BaseToolbarProps<DateRange<TDate>, 'day'>, 'views' | 'view' | 'onViewChange' | 'onChange' | 'isLandscape'>, Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> {
7
7
  classes?: Partial<DateRangePickerToolbarClasses>;
8
8
  }
9
9
  export interface ExportedDateRangePickerToolbarProps extends ExportedBaseToolbarProps {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { LocalizedComponent } from '@mui/x-date-pickers';
2
+ import { LocalizedComponent } from '@mui/x-date-pickers/locales';
3
3
  import { DefaultizedProps, BaseDateValidationProps, BasePickerInputProps, PickerViewRendererLookup, UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
4
4
  import { DateRangeValidationError } from '../internal/hooks/validation/useDateRangeValidation';
5
5
  import { DateRange } from '../internal/models';
@@ -80,7 +80,7 @@ const DateRangePickerDayRoot = styled('div', {
80
80
  }, ownerState.isHighlighting && {
81
81
  borderRadius: 0,
82
82
  color: (theme.vars || theme).palette.primary.contrastText,
83
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.lightChannel} / 0.6)` : alpha(theme.palette.primary.light, 0.6),
83
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity),
84
84
  '&:first-of-type': startBorderStyle,
85
85
  '&:last-of-type': endBorderStyle
86
86
  }, (ownerState.isStartOfHighlighting || ownerState.isFirstVisibleCell) && _extends({}, startBorderStyle, {
@@ -139,7 +139,6 @@ const DateRangePickerDayDay = styled(PickersDay, {
139
139
  [`&.${dateRangePickerDayClasses.notSelectedDate}`]: styles.notSelectedDate
140
140
  }, styles.day]
141
141
  })(({
142
- theme,
143
142
  ownerState
144
143
  }) => _extends({
145
144
  // Required to overlap preview border
@@ -147,12 +146,10 @@ const DateRangePickerDayDay = styled(PickersDay, {
147
146
  '& > *': {
148
147
  transform: 'scale(0.9)'
149
148
  }
150
- }, !ownerState.selected && {
151
- backgroundColor: 'transparent'
152
149
  }, !ownerState.selected && ownerState.isHighlighting && {
153
- color: theme.palette.getContrastText(alpha(theme.palette.primary.light, 0.6)),
150
+ opacity: 0.7,
154
151
  [`&.${pickersDayClasses.dayOutsideMonth}`]: {
155
- color: alpha(theme.palette.getContrastText(theme.palette.primary.light), 0.4)
152
+ opacity: 0.4
156
153
  }
157
154
  }, ownerState.draggable && {
158
155
  cursor: 'grab'
@@ -155,6 +155,18 @@ DesktopDateRangePicker.propTypes = {
155
155
  * Defaults to localized format based on the used `views`.
156
156
  */
157
157
  format: PropTypes.string,
158
+ /**
159
+ * Pass a ref to the `input` element.
160
+ * Ignored if the field has several inputs.
161
+ */
162
+ inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
163
+ current: PropTypes.object
164
+ })]),
165
+ /**
166
+ * The label content.
167
+ * Ignored if the field has several inputs.
168
+ */
169
+ label: PropTypes.node,
158
170
  /**
159
171
  * If `true`, calls `renderLoading` instead of rendering the day calendar.
160
172
  * Can be used to preload information and show it in calendar.
@@ -158,6 +158,18 @@ MobileDateRangePicker.propTypes = {
158
158
  * Defaults to localized format based on the used `views`.
159
159
  */
160
160
  format: PropTypes.string,
161
+ /**
162
+ * Pass a ref to the `input` element.
163
+ * Ignored if the field has several inputs.
164
+ */
165
+ inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
166
+ current: PropTypes.object
167
+ })]),
168
+ /**
169
+ * The label content.
170
+ * Ignored if the field has several inputs.
171
+ */
172
+ label: PropTypes.node,
161
173
  /**
162
174
  * If `true`, calls `renderLoading` instead of rendering the day calendar.
163
175
  * Can be used to preload information and show it in calendar.
@@ -287,6 +287,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
287
287
  * The system prop, which allows defining system overrides as well as additional CSS styles.
288
288
  */
289
289
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
290
+ unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
291
+ unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
290
292
  /**
291
293
  * The selected value.
292
294
  * Used when the component is controlled.
@@ -3,22 +3,20 @@ import { SlotComponentProps } from '@mui/base/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 { FieldRef } from '@mui/x-date-pickers/models';
6
7
  import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
7
8
  import { UseDateRangeFieldProps } from '../internal/models/dateRange';
8
9
  import { RangePosition } from '../internal/models/range';
9
- export interface UseMultiInputDateRangeFieldParams<TDate, TChildProps extends {}> {
10
- sharedProps: Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
11
- startTextFieldProps: TChildProps;
12
- endTextFieldProps: TChildProps;
13
- startInputRef?: React.Ref<HTMLInputElement>;
14
- endInputRef?: React.Ref<HTMLInputElement>;
15
- }
16
- export interface UseMultiInputDateRangeFieldProps<TDate> extends UseDateRangeFieldProps<TDate> {
10
+ import { UseMultiInputRangeFieldParams } from '../internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
11
+ import { RangeFieldSection } from '../internal/models/fields';
12
+ export type UseMultiInputDateRangeFieldParams<TDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate>, TTextFieldSlotProps>;
13
+ export interface UseMultiInputDateRangeFieldProps<TDate> extends Omit<UseDateRangeFieldProps<TDate>, 'unstableFieldRef'> {
14
+ unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
15
+ unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
17
16
  }
18
17
  export type UseMultiInputDateRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
19
- export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'> & {
18
+ export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
20
19
  autoFocus?: boolean;
21
- }> {
22
20
  /**
23
21
  * Overridable components.
24
22
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
3
+ const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
@@ -65,7 +65,10 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
65
65
  disableFuture,
66
66
  disablePast,
67
67
  selectedSections,
68
- onSelectedSectionsChange
68
+ onSelectedSectionsChange,
69
+ unstableStartFieldRef,
70
+ unstableEndFieldRef,
71
+ autoFocus
69
72
  } = themeProps,
70
73
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
71
74
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
@@ -85,6 +88,9 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
85
88
  const startTextFieldProps = useSlotProps({
86
89
  elementType: TextField,
87
90
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
91
+ additionalProps: {
92
+ autoFocus
93
+ },
88
94
  ownerState: _extends({}, ownerState, {
89
95
  position: 'start'
90
96
  })
@@ -129,7 +135,9 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
129
135
  startTextFieldProps,
130
136
  endTextFieldProps,
131
137
  startInputRef: startTextFieldProps.inputRef,
132
- endInputRef: endTextFieldProps.inputRef
138
+ unstableStartFieldRef,
139
+ endInputRef: endTextFieldProps.inputRef,
140
+ unstableEndFieldRef
133
141
  }),
134
142
  {
135
143
  startDate: {
@@ -179,6 +187,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
179
187
  * @default `utils.is12HourCycleInCurrentLocale()`
180
188
  */
181
189
  ampm: PropTypes.bool,
190
+ autoFocus: PropTypes.bool,
182
191
  className: PropTypes.string,
183
192
  /**
184
193
  * Overridable components.
@@ -344,6 +353,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
344
353
  * The system prop, which allows defining system overrides as well as additional CSS styles.
345
354
  */
346
355
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
356
+ unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
357
+ unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
347
358
  /**
348
359
  * The selected value.
349
360
  * Used when the component is controlled.
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { FieldRef } from '@mui/x-date-pickers/models';
2
3
  import { SlotComponentProps } from '@mui/base/utils';
3
4
  import Typography from '@mui/material/Typography';
4
5
  import Stack, { StackProps } from '@mui/material/Stack';
@@ -6,17 +7,16 @@ import TextField from '@mui/material/TextField';
6
7
  import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
7
8
  import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internal/models/dateTimeRange';
8
9
  import { RangePosition } from '../internal/models/range';
9
- export interface UseMultiInputDateTimeRangeFieldParams<TDate, TChildProps extends {}> {
10
- sharedProps: Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
11
- startTextFieldProps: TChildProps;
12
- endTextFieldProps: TChildProps;
13
- startInputRef?: React.Ref<HTMLInputElement>;
14
- endInputRef?: React.Ref<HTMLInputElement>;
15
- }
16
- export interface UseMultiInputDateTimeRangeFieldProps<TDate> extends UseDateTimeRangeFieldProps<TDate> {
10
+ import { RangeFieldSection } from '../internal/models/fields';
11
+ import { UseMultiInputRangeFieldParams } from '../internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
12
+ export type UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate>, TTextFieldSlotProps>;
13
+ export interface UseMultiInputDateTimeRangeFieldProps<TDate> extends Omit<UseDateTimeRangeFieldProps<TDate>, 'unstableFieldRef'> {
14
+ unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
15
+ unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
17
16
  }
18
17
  export type UseMultiInputDateTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
19
18
  export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
19
+ autoFocus?: boolean;
20
20
  /**
21
21
  * Overridable components.
22
22
  * @default {}
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
3
+ const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
4
4
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
5
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
@@ -60,7 +60,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
60
60
  disableFuture,
61
61
  disablePast,
62
62
  selectedSections,
63
- onSelectedSectionsChange
63
+ onSelectedSectionsChange,
64
+ unstableStartFieldRef,
65
+ unstableEndFieldRef,
66
+ autoFocus
64
67
  } = themeProps,
65
68
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
66
69
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
@@ -80,6 +83,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
80
83
  const startTextFieldProps = useSlotProps({
81
84
  elementType: TextField,
82
85
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
86
+ additionalProps: {
87
+ autoFocus
88
+ },
83
89
  ownerState: _extends({}, ownerState, {
84
90
  position: 'start'
85
91
  })
@@ -119,7 +125,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
119
125
  startTextFieldProps,
120
126
  endTextFieldProps,
121
127
  startInputRef: startTextFieldProps.inputRef,
122
- endInputRef: endTextFieldProps.inputRef
128
+ unstableStartFieldRef,
129
+ endInputRef: endTextFieldProps.inputRef,
130
+ unstableEndFieldRef
123
131
  }),
124
132
  {
125
133
  startDate: {
@@ -169,6 +177,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
169
177
  * @default `utils.is12HourCycleInCurrentLocale()`
170
178
  */
171
179
  ampm: PropTypes.bool,
180
+ autoFocus: PropTypes.bool,
172
181
  className: PropTypes.string,
173
182
  /**
174
183
  * Overridable components.
@@ -310,6 +319,8 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
310
319
  * The system prop, which allows defining system overrides as well as additional CSS styles.
311
320
  */
312
321
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
322
+ unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
323
+ unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
313
324
  /**
314
325
  * The selected value.
315
326
  * Used when the component is controlled.
@@ -3,20 +3,20 @@ import { SlotComponentProps } from '@mui/base/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 { FieldRef } from '@mui/x-date-pickers/models';
6
7
  import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
7
8
  import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internal/models/timeRange';
8
9
  import { RangePosition } from '../internal/models/range';
9
- export interface UseMultiInputTimeRangeFieldParams<TDate, TChildProps extends {}> {
10
- sharedProps: Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate>> & UseMultiInputTimeRangeFieldProps<TDate>;
11
- startTextFieldProps: TChildProps;
12
- endTextFieldProps: TChildProps;
13
- startInputRef?: React.Ref<HTMLInputElement>;
14
- endInputRef?: React.Ref<HTMLInputElement>;
15
- }
16
- export interface UseMultiInputTimeRangeFieldProps<TDate> extends UseTimeRangeFieldProps<TDate> {
10
+ import { UseMultiInputRangeFieldParams } from '../internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
11
+ import { RangeFieldSection } from '../internal/models/fields';
12
+ export type UseMultiInputTimeRangeFieldParams<TDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TDate>, TTextFieldSlotProps>;
13
+ export interface UseMultiInputTimeRangeFieldProps<TDate> extends Omit<UseTimeRangeFieldProps<TDate>, 'unstableFieldRef'> {
14
+ unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
15
+ unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
17
16
  }
18
17
  export type UseMultiInputTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate>> & UseMultiInputTimeRangeFieldProps<TDate>;
19
18
  export interface MultiInputTimeRangeFieldProps<TDate> extends UseMultiInputTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
19
+ autoFocus?: boolean;
20
20
  /**
21
21
  * Overridable components.
22
22
  * @default {}
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { SingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
3
3
  type DateRangeFieldComponent = (<TDate>(props: SingleInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => JSX.Element) & {
4
4
  propTypes?: any;
5
+ fieldType?: string;
5
6
  };
6
7
  declare const SingleInputDateRangeField: DateRangeFieldComponent;
7
8
  export { SingleInputDateRangeField };
@@ -52,6 +52,7 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
52
52
  })
53
53
  }));
54
54
  });
55
+ SingleInputDateRangeField.fieldType = 'single-input';
55
56
  process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
56
57
  // ----------------------------- Warning --------------------------------
57
58
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -251,6 +252,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
251
252
  * The system prop that allows defining system overrides as well as additional CSS styles.
252
253
  */
253
254
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
255
+ /**
256
+ * The ref object used to imperatively interact with the field.
257
+ */
258
+ unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
254
259
  /**
255
260
  * The selected value.
256
261
  * Used when the component is controlled.
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"];
3
+ const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
4
4
  import { useUtils, useDefaultDates, applyDefaultDate, useField } from '@mui/x-date-pickers/internals';
5
5
  import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
6
6
  import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
@@ -34,7 +34,8 @@ export const useSingleInputDateRangeField = ({
34
34
  disableFuture,
35
35
  disablePast,
36
36
  selectedSections,
37
- onSelectedSectionsChange
37
+ onSelectedSectionsChange,
38
+ unstableFieldRef
38
39
  } = _useDefaultizedDateRa,
39
40
  other = _objectWithoutPropertiesLoose(_useDefaultizedDateRa, _excluded);
40
41
  return useField({
@@ -53,7 +54,8 @@ export const useSingleInputDateRangeField = ({
53
54
  disableFuture,
54
55
  disablePast,
55
56
  selectedSections,
56
- onSelectedSectionsChange
57
+ onSelectedSectionsChange,
58
+ unstableFieldRef
57
59
  },
58
60
  valueManager: rangeValueManager,
59
61
  fieldValueManager: rangeFieldValueManager,
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { SingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
3
3
  type DateRangeFieldComponent = (<TDate>(props: SingleInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => JSX.Element) & {
4
4
  propTypes?: any;
5
+ fieldType?: string;
5
6
  };
6
7
  declare const SingleInputDateTimeRangeField: DateRangeFieldComponent;
7
8
  export { SingleInputDateTimeRangeField };
@@ -52,6 +52,7 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
52
52
  })
53
53
  }));
54
54
  });
55
+ SingleInputDateTimeRangeField.fieldType = 'single-input';
55
56
  process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
56
57
  // ----------------------------- Warning --------------------------------
57
58
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -299,6 +300,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
299
300
  * The system prop that allows defining system overrides as well as additional CSS styles.
300
301
  */
301
302
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
303
+ /**
304
+ * The ref object used to imperatively interact with the field.
305
+ */
306
+ unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
302
307
  /**
303
308
  * The selected value.
304
309
  * Used when the component is controlled.
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange"];
3
+ const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
4
4
  import { useUtils, useField, applyDefaultDate, useDefaultDates } from '@mui/x-date-pickers/internals';
5
5
  import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
6
6
  import { validateDateTimeRange } from '../internal/hooks/validation/useDateTimeRangeValidation';
@@ -44,7 +44,8 @@ export const useSingleInputDateTimeRangeField = ({
44
44
  shouldDisableTime,
45
45
  disableIgnoringDatePartForTimeValidation,
46
46
  selectedSections,
47
- onSelectedSectionsChange
47
+ onSelectedSectionsChange,
48
+ unstableFieldRef
48
49
  } = _useDefaultizedTimeRa,
49
50
  other = _objectWithoutPropertiesLoose(_useDefaultizedTimeRa, _excluded);
50
51
  return useField({
@@ -68,7 +69,8 @@ export const useSingleInputDateTimeRangeField = ({
68
69
  shouldDisableTime,
69
70
  disableIgnoringDatePartForTimeValidation,
70
71
  selectedSections,
71
- onSelectedSectionsChange
72
+ onSelectedSectionsChange,
73
+ unstableFieldRef
72
74
  },
73
75
  valueManager: rangeValueManager,
74
76
  fieldValueManager: rangeFieldValueManager,
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { SingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
3
3
  type DateRangeFieldComponent = (<TDate>(props: SingleInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLInputElement>) => JSX.Element) & {
4
4
  propTypes?: any;
5
+ fieldType?: string;
5
6
  };
6
7
  declare const SingleInputTimeRangeField: DateRangeFieldComponent;
7
8
  export { SingleInputTimeRangeField };
@@ -52,6 +52,7 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
52
52
  })
53
53
  }));
54
54
  });
55
+ SingleInputTimeRangeField.fieldType = 'single-input';
55
56
  process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
56
57
  // ----------------------------- Warning --------------------------------
57
58
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -275,6 +276,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
275
276
  * The system prop that allows defining system overrides as well as additional CSS styles.
276
277
  */
277
278
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
279
+ /**
280
+ * The ref object used to imperatively interact with the field.
281
+ */
282
+ unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
278
283
  /**
279
284
  * The selected value.
280
285
  * Used when the component is controlled.