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

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 (165) hide show
  1. package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
  2. package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +96 -94
  3. package/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
  4. package/AdapterDateFnsV2/AdapterDateFnsV2.js +96 -94
  5. package/AdapterDayjs/AdapterDayjs.js +11 -5
  6. package/CHANGELOG.md +299 -0
  7. package/DateCalendar/DateCalendar.js +1 -1
  8. package/DateField/useDateField.d.ts +1 -1
  9. package/DatePicker/DatePicker.types.d.ts +2 -2
  10. package/DateTimeField/useDateTimeField.d.ts +1 -1
  11. package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
  12. package/TimeClock/Clock.js +2 -2
  13. package/TimeClock/ClockPointer.js +1 -1
  14. package/TimeField/useTimeField.d.ts +1 -1
  15. package/TimePicker/TimePicker.types.d.ts +2 -2
  16. package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
  17. package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
  18. package/esm/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
  19. package/esm/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
  20. package/esm/AdapterDayjs/AdapterDayjs.js +9 -5
  21. package/esm/DateCalendar/DateCalendar.js +1 -1
  22. package/esm/DateField/useDateField.d.ts +1 -1
  23. package/esm/DatePicker/DatePicker.types.d.ts +2 -2
  24. package/esm/DateTimeField/useDateTimeField.d.ts +1 -1
  25. package/esm/DateTimePicker/DateTimePicker.types.d.ts +2 -2
  26. package/esm/TimeClock/Clock.js +2 -2
  27. package/esm/TimeClock/ClockPointer.js +1 -1
  28. package/esm/TimeField/useTimeField.d.ts +1 -1
  29. package/esm/TimePicker/TimePicker.types.d.ts +2 -2
  30. package/esm/hooks/useSplitFieldProps.d.ts +1 -1
  31. package/esm/hooks/useSplitFieldProps.js +1 -1
  32. package/esm/index.js +1 -1
  33. package/esm/internals/components/PickerFieldUI.d.ts +7 -0
  34. package/esm/internals/components/PickerFieldUI.js +2 -2
  35. package/esm/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
  36. package/esm/internals/components/PickerPopper/PickerPopper.js +26 -14
  37. package/esm/internals/components/PickerProvider.d.ts +21 -1
  38. package/esm/internals/components/PickerProvider.js +7 -2
  39. package/esm/internals/demo/DemoContainer.js +3 -3
  40. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
  41. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +0 -5
  42. package/esm/internals/hooks/useField/index.d.ts +1 -2
  43. package/esm/internals/hooks/useField/useField.types.d.ts +10 -4
  44. package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
  45. package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
  46. package/esm/internals/hooks/useField/useFieldV6TextField.js +8 -6
  47. package/esm/internals/hooks/useField/useFieldV7TextField.js +7 -7
  48. package/esm/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
  49. package/esm/internals/hooks/useNullableFieldPrivateContext.d.ts +6 -0
  50. package/esm/internals/hooks/useNullableFieldPrivateContext.js +5 -0
  51. package/esm/internals/hooks/usePicker/usePicker.d.ts +1 -1
  52. package/esm/internals/hooks/usePicker/usePicker.js +2 -2
  53. package/esm/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
  54. package/esm/internals/hooks/usePicker/usePickerProvider.d.ts +8 -3
  55. package/esm/internals/hooks/usePicker/usePickerProvider.js +20 -6
  56. package/esm/internals/hooks/usePicker/usePickerViews.d.ts +20 -3
  57. package/esm/internals/hooks/usePicker/usePickerViews.js +20 -8
  58. package/esm/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
  59. package/esm/internals/index.d.ts +4 -3
  60. package/esm/internals/index.js +2 -1
  61. package/esm/internals/models/fields.d.ts +3 -10
  62. package/esm/locales/bnBD.d.ts +80 -0
  63. package/esm/locales/bnBD.js +73 -0
  64. package/esm/locales/index.d.ts +1 -0
  65. package/esm/locales/index.js +1 -0
  66. package/esm/models/fields.d.ts +2 -2
  67. package/esm/validation/extractValidationProps.d.ts +1 -1
  68. package/esm/validation/index.d.ts +1 -1
  69. package/esm/validation/useValidation.d.ts +1 -1
  70. package/hooks/useSplitFieldProps.d.ts +1 -1
  71. package/hooks/useSplitFieldProps.js +1 -1
  72. package/index.js +1 -1
  73. package/internals/components/PickerFieldUI.d.ts +7 -0
  74. package/internals/components/PickerFieldUI.js +3 -1
  75. package/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
  76. package/internals/components/PickerPopper/PickerPopper.js +25 -13
  77. package/internals/components/PickerProvider.d.ts +21 -1
  78. package/internals/components/PickerProvider.js +8 -3
  79. package/internals/demo/DemoContainer.js +3 -3
  80. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
  81. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +0 -5
  82. package/internals/hooks/useField/index.d.ts +1 -2
  83. package/internals/hooks/useField/useField.types.d.ts +10 -4
  84. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
  85. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -10
  86. package/internals/hooks/useField/useFieldV6TextField.js +8 -6
  87. package/internals/hooks/useField/useFieldV7TextField.js +7 -7
  88. package/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
  89. package/internals/hooks/useNullableFieldPrivateContext.d.ts +6 -0
  90. package/internals/hooks/useNullableFieldPrivateContext.js +13 -0
  91. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  92. package/internals/hooks/usePicker/usePicker.js +2 -2
  93. package/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
  94. package/internals/hooks/usePicker/usePickerProvider.d.ts +8 -3
  95. package/internals/hooks/usePicker/usePickerProvider.js +20 -6
  96. package/internals/hooks/usePicker/usePickerViews.d.ts +20 -3
  97. package/internals/hooks/usePicker/usePickerViews.js +20 -8
  98. package/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
  99. package/internals/index.d.ts +4 -3
  100. package/internals/index.js +19 -0
  101. package/internals/models/fields.d.ts +3 -10
  102. package/locales/bnBD.d.ts +80 -0
  103. package/locales/bnBD.js +79 -0
  104. package/locales/index.d.ts +1 -0
  105. package/locales/index.js +11 -0
  106. package/models/fields.d.ts +2 -2
  107. package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
  108. package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
  109. package/modern/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
  110. package/modern/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
  111. package/modern/AdapterDayjs/AdapterDayjs.js +9 -5
  112. package/modern/DateCalendar/DateCalendar.js +1 -1
  113. package/modern/DateField/useDateField.d.ts +1 -1
  114. package/modern/DatePicker/DatePicker.types.d.ts +2 -2
  115. package/modern/DateTimeField/useDateTimeField.d.ts +1 -1
  116. package/modern/DateTimePicker/DateTimePicker.types.d.ts +2 -2
  117. package/modern/TimeClock/Clock.js +2 -2
  118. package/modern/TimeClock/ClockPointer.js +1 -1
  119. package/modern/TimeField/useTimeField.d.ts +1 -1
  120. package/modern/TimePicker/TimePicker.types.d.ts +2 -2
  121. package/modern/hooks/useSplitFieldProps.d.ts +1 -1
  122. package/modern/hooks/useSplitFieldProps.js +1 -1
  123. package/modern/index.js +1 -1
  124. package/modern/internals/components/PickerFieldUI.d.ts +7 -0
  125. package/modern/internals/components/PickerFieldUI.js +2 -2
  126. package/modern/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
  127. package/modern/internals/components/PickerPopper/PickerPopper.js +26 -14
  128. package/modern/internals/components/PickerProvider.d.ts +21 -1
  129. package/modern/internals/components/PickerProvider.js +7 -2
  130. package/modern/internals/demo/DemoContainer.js +3 -3
  131. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
  132. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +0 -5
  133. package/modern/internals/hooks/useField/index.d.ts +1 -2
  134. package/modern/internals/hooks/useField/useField.types.d.ts +10 -4
  135. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
  136. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
  137. package/modern/internals/hooks/useField/useFieldV6TextField.js +8 -6
  138. package/modern/internals/hooks/useField/useFieldV7TextField.js +7 -7
  139. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
  140. package/modern/internals/hooks/useNullableFieldPrivateContext.d.ts +6 -0
  141. package/modern/internals/hooks/useNullableFieldPrivateContext.js +5 -0
  142. package/modern/internals/hooks/usePicker/usePicker.d.ts +1 -1
  143. package/modern/internals/hooks/usePicker/usePicker.js +2 -2
  144. package/modern/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
  145. package/modern/internals/hooks/usePicker/usePickerProvider.d.ts +8 -3
  146. package/modern/internals/hooks/usePicker/usePickerProvider.js +20 -6
  147. package/modern/internals/hooks/usePicker/usePickerViews.d.ts +20 -3
  148. package/modern/internals/hooks/usePicker/usePickerViews.js +20 -8
  149. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
  150. package/modern/internals/index.d.ts +4 -3
  151. package/modern/internals/index.js +2 -1
  152. package/modern/internals/models/fields.d.ts +3 -10
  153. package/modern/locales/bnBD.d.ts +80 -0
  154. package/modern/locales/bnBD.js +73 -0
  155. package/modern/locales/index.d.ts +1 -0
  156. package/modern/locales/index.js +1 -0
  157. package/modern/models/fields.d.ts +2 -2
  158. package/modern/validation/extractValidationProps.d.ts +1 -1
  159. package/modern/validation/index.d.ts +1 -1
  160. package/modern/validation/useValidation.d.ts +1 -1
  161. package/package.json +2 -2
  162. package/tsconfig.build.tsbuildinfo +1 -1
  163. package/validation/extractValidationProps.d.ts +1 -1
  164. package/validation/index.d.ts +1 -1
  165. package/validation/useValidation.d.ts +1 -1
@@ -214,9 +214,6 @@ function PickerPopper(inProps) {
214
214
  });
215
215
  const {
216
216
  children,
217
- containerRef = null,
218
- onBlur,
219
- role,
220
217
  placement = 'bottom-start',
221
218
  slots,
222
219
  slotProps,
@@ -225,11 +222,13 @@ function PickerPopper(inProps) {
225
222
  const {
226
223
  open,
227
224
  triggerRef,
225
+ popupRef,
228
226
  reduceAnimations
229
227
  } = (0, _hooks.usePickerContext)();
230
228
  const {
231
229
  dismissViews,
232
- doesTheCurrentViewHasAnUI
230
+ doesTheCurrentViewHasAnUI,
231
+ viewContainerRole
233
232
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
234
233
  React.useEffect(() => {
235
234
  function handleKeyDown(nativeEvent) {
@@ -244,7 +243,7 @@ function PickerPopper(inProps) {
244
243
  }, [dismissViews, open]);
245
244
  const lastFocusedElementRef = React.useRef(null);
246
245
  React.useEffect(() => {
247
- if (role === 'tooltip' || !doesTheCurrentViewHasAnUI()) {
246
+ if (viewContainerRole === 'tooltip' || !doesTheCurrentViewHasAnUI()) {
248
247
  return;
249
248
  }
250
249
  if (open) {
@@ -258,18 +257,31 @@ function PickerPopper(inProps) {
258
257
  }
259
258
  });
260
259
  }
261
- }, [open, role, doesTheCurrentViewHasAnUI]);
262
- const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? dismissViews);
263
- const paperRef = React.useRef(null);
264
- const handleRef = (0, _utils.unstable_useForkRef)(paperRef, containerRef);
265
- const handlePaperRef = (0, _utils.unstable_useForkRef)(handleRef, clickAwayRef);
260
+ }, [open, viewContainerRole, doesTheCurrentViewHasAnUI]);
266
261
  const classes = useUtilityClasses(classesProp);
267
262
  const {
268
- ownerState: pickerOwnerState
263
+ ownerState: pickerOwnerState,
264
+ rootRefObject
269
265
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
270
266
  const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
271
267
  popperPlacement: placement
272
268
  });
269
+ const handleClickAway = (0, _utils.unstable_useEventCallback)(() => {
270
+ if (viewContainerRole === 'tooltip') {
271
+ (0, _utils2.executeInTheNextEventLoopTick)(() => {
272
+ if (rootRefObject.current?.contains((0, _utils2.getActiveElement)(document)) || popupRef.current?.contains((0, _utils2.getActiveElement)(document))) {
273
+ return;
274
+ }
275
+ dismissViews();
276
+ });
277
+ } else {
278
+ dismissViews();
279
+ }
280
+ });
281
+ const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, handleClickAway);
282
+ const paperRef = React.useRef(null);
283
+ const handleRef = (0, _utils.unstable_useForkRef)(paperRef, popupRef);
284
+ const handlePaperRef = (0, _utils.unstable_useForkRef)(handleRef, clickAwayRef);
273
285
  const handleKeyDown = event => {
274
286
  if (event.key === 'Escape') {
275
287
  // stop the propagation to avoid closing parent modal
@@ -286,7 +298,7 @@ function PickerPopper(inProps) {
286
298
  externalSlotProps: slotProps?.popper,
287
299
  additionalProps: {
288
300
  transition: true,
289
- role,
301
+ role: viewContainerRole == null ? undefined : viewContainerRole,
290
302
  open,
291
303
  placement,
292
304
  anchorEl: triggerRef.current,
@@ -306,7 +318,7 @@ function PickerPopper(inProps) {
306
318
  // which would force screen readers to read too old label
307
319
  ,
308
320
  disableRestoreFocus: true,
309
- disableEnforceFocus: role === 'tooltip',
321
+ disableEnforceFocus: viewContainerRole === 'tooltip',
310
322
  isEnabled: () => true
311
323
  }, slotProps?.desktopTrapFocus, {
312
324
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Transition, (0, _extends2.default)({}, TransitionProps, slotProps?.desktopTransition, {
@@ -6,7 +6,7 @@ import { PickersInputLocaleText } from "../../locales/index.js";
6
6
  import { DateOrTimeViewWithMeridiem, PickerOrientation, PickerValidValue, PickerVariant } from "../models/index.js";
7
7
  import type { UsePickerValueActionsContextValue, UsePickerValueContextValue, UsePickerValuePrivateContextValue } from '../hooks/usePicker/usePickerValue.types';
8
8
  import { UsePickerViewsActionsContextValue, UsePickerViewsContextValue, UsePickerViewsPrivateContextValue } from "../hooks/usePicker/usePickerViews.js";
9
- import { PickerFieldPrivateContextValue } from "../hooks/useField/useFieldInternalPropsWithDefaults.js";
9
+ import { PickerFieldPrivateContextValue } from "../hooks/useNullableFieldPrivateContext.js";
10
10
  export declare const PickerActionsContext: React.Context<PickerActionsContextValue<any, any, any> | null>;
11
11
  export declare const PickerPrivateContext: React.Context<PickerPrivateContextValue>;
12
12
  /**
@@ -35,6 +35,12 @@ export interface PickerContextValue<TValue extends PickerValidValue, TView exten
35
35
  * Whether the picker is read-only.
36
36
  */
37
37
  readOnly: boolean;
38
+ /**
39
+ * Whether the picker should be focused on mount.
40
+ * If the picker has a field and is not open, the field should be focused.
41
+ * If the picker does not have a field (if it is a static picker) or is not open, the view should be focused.
42
+ */
43
+ autoFocus: boolean;
38
44
  /**
39
45
  * The responsive variant of the picker.
40
46
  * It is equal to "desktop" when using a desktop picker (like <DesktopDatePicker />).
@@ -68,6 +74,11 @@ export interface PickerContextValue<TValue extends PickerValidValue, TView exten
68
74
  * If it is "enabled", the field should render an interactive UI to open the Picker.
69
75
  */
70
76
  triggerStatus: 'hidden' | 'disabled' | 'enabled';
77
+ /**
78
+ * The ref to attach to the popup's outermost element that contains the view, if any.
79
+ * When using a built-in popup component, this property is automatically attached to the appropriate element.
80
+ */
81
+ popupRef: React.RefObject<any>;
71
82
  /**
72
83
  * The format to use when rendering the value in the field.
73
84
  * It is equal to the picker `format` prop if defined.
@@ -117,4 +128,13 @@ export interface PickerPrivateContextValue extends UsePickerValuePrivateContextV
117
128
  * The ownerState of the picker.
118
129
  */
119
130
  ownerState: PickerOwnerState;
131
+ /**
132
+ * The ref of the root element.
133
+ * This is the object counterpart of the `usePickerContext().rootRef` property which can be a function.
134
+ */
135
+ rootRefObject: React.RefObject<HTMLDivElement | null>;
136
+ /**
137
+ * The id of the label element.
138
+ */
139
+ labelId: string | undefined;
120
140
  }
@@ -9,7 +9,7 @@ exports.PickerProvider = PickerProvider;
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _LocalizationProvider = require("../../LocalizationProvider");
11
11
  var _useIsValidValue = require("../../hooks/useIsValidValue");
12
- var _useFieldInternalPropsWithDefaults = require("../hooks/useField/useFieldInternalPropsWithDefaults");
12
+ var _useNullableFieldPrivateContext = require("../hooks/useNullableFieldPrivateContext");
13
13
  var _usePickerContext = require("../../hooks/usePickerContext");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  const PickerActionsContext = exports.PickerActionsContext = /*#__PURE__*/React.createContext(null);
@@ -24,7 +24,12 @@ const PickerPrivateContext = exports.PickerPrivateContext = /*#__PURE__*/React.c
24
24
  },
25
25
  dismissViews: () => {},
26
26
  hasUIView: true,
27
- doesTheCurrentViewHasAnUI: () => true
27
+ doesTheCurrentViewHasAnUI: () => true,
28
+ rootRefObject: {
29
+ current: null
30
+ },
31
+ viewContainerRole: null,
32
+ labelId: undefined
28
33
  });
29
34
 
30
35
  /**
@@ -50,7 +55,7 @@ function PickerProvider(props) {
50
55
  value: actionsContextValue,
51
56
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerPrivateContext.Provider, {
52
57
  value: privateContextValue,
53
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useFieldInternalPropsWithDefaults.PickerFieldPrivateContext.Provider, {
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useNullableFieldPrivateContext.PickerFieldPrivateContext.Provider, {
54
59
  value: fieldPrivateContextValue,
55
60
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useIsValidValue.IsValidValueContext.Provider, {
56
61
  value: isValidContextValue,
@@ -24,10 +24,10 @@ const getChildTypeFromChildName = childName => {
24
24
  if (childName.match(/^Static([A-Za-z]+)/) || childName.match(/^([A-Za-z]+)(Calendar|Clock)$/)) {
25
25
  return 'UI-view';
26
26
  }
27
- if (childName.match(/^MultiInput([A-Za-z]+)RangeField$/) || childName.match(/^([A-Za-z]+)RangePicker$/)) {
27
+ if (childName.match(/^MultiInput([A-Za-z]+)RangeField$/)) {
28
28
  return 'multi-input-range-field';
29
29
  }
30
- if (childName.match(/^SingleInput([A-Za-z]+)RangeField$/)) {
30
+ if (childName.match(/^SingleInput([A-Za-z]+)RangeField$/) || childName.match(/^([A-Za-z]+)RangePicker$/)) {
31
31
  return 'single-input-range-field';
32
32
  }
33
33
  return 'single-input-field';
@@ -142,7 +142,7 @@ function DemoContainer(props) {
142
142
  minWidth: {
143
143
  xs: 300,
144
144
  // If demo also contains MultiInputDateTimeRangeField, increase width to avoid cutting off the value.
145
- md: childrenTypes.has('multi-input-range-field') ? 460 : 400
145
+ md: childrenTypes.has('multi-input-range-field') ? 460 : 440
146
146
  }
147
147
  }
148
148
  };
@@ -10,8 +10,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
- var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
- var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
13
  var _PickerPopper = require("../../components/PickerPopper/PickerPopper");
16
14
  var _usePicker = require("../usePicker");
17
15
  var _PickersLayout = require("../../../PickersLayout");
@@ -36,35 +34,26 @@ const useDesktopPicker = _ref => {
36
34
  slotProps: innerSlotProps,
37
35
  label,
38
36
  inputRef,
39
- readOnly,
40
- autoFocus,
41
37
  localeText
42
38
  } = props;
43
- const fieldRef = React.useRef(null);
44
- const labelId = (0, _useId.default)();
45
- const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
46
39
  const {
47
40
  providerProps,
48
41
  renderCurrentView,
49
42
  ownerState
50
43
  } = (0, _usePicker.usePicker)((0, _extends2.default)({}, pickerParams, {
51
44
  props,
52
- fieldRef,
53
45
  localeText,
54
46
  autoFocusView: true,
47
+ viewContainerRole: 'dialog',
55
48
  variant: 'desktop'
56
49
  }));
50
+ const labelId = providerProps.privateContextValue.labelId;
51
+ const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
57
52
  const Field = slots.field;
58
53
  const _useSlotProps = (0, _useSlotProps2.default)({
59
54
  elementType: Field,
60
55
  externalSlotProps: innerSlotProps?.field,
61
- additionalProps: (0, _extends2.default)({
62
- // Internal props
63
- readOnly,
64
- autoFocus: autoFocus && !props.open,
65
- // Forwarded props
66
- focused: providerProps.contextValue.open ? true : undefined
67
- }, isToolbarHidden && {
56
+ additionalProps: (0, _extends2.default)({}, isToolbarHidden && {
68
57
  id: labelId
69
58
  }),
70
59
  ownerState
@@ -87,18 +76,12 @@ const useDesktopPicker = _ref => {
87
76
  'aria-labelledby': labelledById
88
77
  }, innerSlotProps?.popper)
89
78
  });
90
-
91
- // TODO: This `as any` will go away once the field ref is handled by the context.
92
- const handleFieldRef = (0, _useForkRef.default)(fieldRef, fieldProps.unstableFieldRef);
93
79
  const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
94
80
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickerFieldUI.PickerFieldUIContextProvider, {
95
81
  slots: slots,
96
82
  slotProps: slotProps,
97
83
  inputRef: inputRef,
98
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps, {
99
- unstableFieldRef: handleFieldRef
100
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerPopper.PickerPopper, {
101
- role: "dialog",
84
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerPopper.PickerPopper, {
102
85
  slots: slots,
103
86
  slotProps: slotProps,
104
87
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
@@ -15,11 +15,6 @@ export interface UseDesktopPickerSlots extends Pick<PickerPopperSlots, 'desktopP
15
15
  * Component used to enter the date with the keyboard.
16
16
  */
17
17
  field: React.ElementType;
18
- /**
19
- * Form control with an input to render the value inside the default field.
20
- * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
21
- */
22
- textField?: React.ElementType;
23
18
  }
24
19
  export interface ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends PickerPopperSlotProps, ExportedPickersLayoutSlotProps<PickerValue>, PickerFieldUISlotPropsFromContext {
25
20
  field?: SlotComponentPropsFromProps<PickerFieldSlotProps<PickerValue, TEnableAccessibleFieldDOMStructure>, {}, PickerOwnerState>;
@@ -1,5 +1,4 @@
1
1
  export { useField } from "./useField.js";
2
2
  export type { FieldValueManager, UseFieldInternalProps, UseFieldParams, UseFieldResponse, FieldChangeHandler, FieldChangeHandlerContext } from './useField.types';
3
3
  export { createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from "./useField.utils.js";
4
- export { useFieldInternalPropsWithDefaults } from "./useFieldInternalPropsWithDefaults.js";
5
- export type { PickerFieldPrivateContextValue } from './useFieldInternalPropsWithDefaults';
4
+ export { useFieldInternalPropsWithDefaults } from "./useFieldInternalPropsWithDefaults.js";
@@ -96,6 +96,10 @@ export interface UseFieldInternalProps<TValue extends PickerValidValue, TEnableA
96
96
  * @default false
97
97
  */
98
98
  autoFocus?: boolean;
99
+ /**
100
+ * If `true`, the component is displayed in focused state.
101
+ */
102
+ focused?: boolean;
99
103
  }
100
104
  export interface UseFieldCommonAdditionalProps extends Required<Pick<UseFieldInternalProps<any, any, any>, 'disabled' | 'readOnly' | 'autoFocus'>> {
101
105
  /**
@@ -110,21 +114,22 @@ export interface UseFieldCommonForwardedProps extends Pick<ExportedPickerFieldUI
110
114
  export type UseFieldForwardedProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseFieldCommonForwardedProps & (TEnableAccessibleFieldDOMStructure extends false ? UseFieldV6ForwardedProps : UseFieldV7ForwardedProps);
111
115
  export interface UseFieldV6ForwardedProps {
112
116
  inputRef?: React.Ref<HTMLInputElement>;
113
- onBlur?: () => void;
117
+ onBlur?: React.FocusEventHandler;
114
118
  onClick?: React.MouseEventHandler;
115
- onFocus?: () => void;
119
+ onFocus?: React.FocusEventHandler;
116
120
  onPaste?: React.ClipboardEventHandler<HTMLDivElement>;
117
121
  placeholder?: string;
118
122
  }
119
123
  interface UseFieldV6AdditionalProps extends Required<Pick<React.InputHTMLAttributes<HTMLInputElement>, 'inputMode' | 'placeholder' | 'value' | 'onChange' | 'autoComplete'>> {
120
124
  enableAccessibleFieldDOMStructure: false;
125
+ focused?: boolean;
121
126
  }
122
127
  export interface UseFieldV7ForwardedProps {
123
128
  focused?: boolean;
124
129
  sectionListRef?: React.Ref<PickersSectionListRef>;
125
- onBlur?: () => void;
130
+ onBlur?: React.FocusEventHandler;
126
131
  onClick?: React.MouseEventHandler;
127
- onFocus?: () => void;
132
+ onFocus?: React.FocusEventHandler;
128
133
  onInput?: React.FormEventHandler<HTMLDivElement>;
129
134
  onPaste?: React.ClipboardEventHandler<HTMLDivElement>;
130
135
  }
@@ -136,6 +141,7 @@ interface UseFieldV7AdditionalProps {
136
141
  value: string;
137
142
  onChange: React.ChangeEventHandler<HTMLInputElement>;
138
143
  areAllSectionsEmpty: boolean;
144
+ focused: boolean;
139
145
  }
140
146
  export type UseFieldResponse<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseFieldCommonForwardedProps & {
141
147
  [key: string]: any;
@@ -1,17 +1,17 @@
1
- import * as React from 'react';
2
- import type { UseFieldInternalProps } from './useField.types';
3
1
  import { PickerAnyManager, PickerManagerFieldInternalProps, PickerManagerFieldInternalPropsWithDefaults } from "../../models/index.js";
4
- export declare const PickerFieldPrivateContext: React.Context<PickerFieldPrivateContextValue | null>;
5
2
  /**
6
3
  * Applies the default values to the field internal props.
7
4
  * This is a temporary hook that will be removed during a follow up when `useField` will receive the internal props without the defaults.
8
5
  * It is only here to allow the migration to be done in smaller steps.
9
6
  */
10
- export declare function useFieldInternalPropsWithDefaults<TManager extends PickerAnyManager>({
11
- manager,
12
- internalProps
13
- }: {
7
+ export declare function useFieldInternalPropsWithDefaults<TManager extends PickerAnyManager>(parameters: UseFieldInternalPropsWithDefaultsParameters<TManager>): PickerManagerFieldInternalPropsWithDefaults<TManager>;
8
+ interface UseFieldInternalPropsWithDefaultsParameters<TManager extends PickerAnyManager> {
14
9
  manager: TManager;
15
10
  internalProps: PickerManagerFieldInternalProps<TManager>;
16
- }): PickerManagerFieldInternalPropsWithDefaults<TManager>;
17
- export interface PickerFieldPrivateContextValue extends Pick<UseFieldInternalProps<any, any, any>, 'formatDensity' | 'enableAccessibleFieldDOMStructure' | 'selectedSections' | 'onSelectedSectionsChange'> {}
11
+ /**
12
+ * Hack to make sure that on multi input range field, the `useNullableFieldPrivateContext().fieldRef` is only bound to the field matching the range position.
13
+ * @default false
14
+ */
15
+ skipContextFieldRefAssignment?: boolean;
16
+ }
17
+ export {};
@@ -5,26 +5,28 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.PickerFieldPrivateContext = void 0;
9
8
  exports.useFieldInternalPropsWithDefaults = useFieldInternalPropsWithDefaults;
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
12
12
  var _useUtils = require("../useUtils");
13
13
  var _useNullablePickerContext = require("../useNullablePickerContext");
14
- const PickerFieldPrivateContext = exports.PickerFieldPrivateContext = /*#__PURE__*/React.createContext(null);
15
-
14
+ var _useNullableFieldPrivateContext = require("../useNullableFieldPrivateContext");
16
15
  /**
17
16
  * Applies the default values to the field internal props.
18
17
  * This is a temporary hook that will be removed during a follow up when `useField` will receive the internal props without the defaults.
19
18
  * It is only here to allow the migration to be done in smaller steps.
20
19
  */
21
- function useFieldInternalPropsWithDefaults({
22
- manager,
23
- internalProps
24
- }) {
20
+ function useFieldInternalPropsWithDefaults(parameters) {
21
+ const {
22
+ manager,
23
+ internalProps,
24
+ skipContextFieldRefAssignment
25
+ } = parameters;
25
26
  const localizationContext = (0, _useUtils.useLocalizationContext)();
26
27
  const pickerContext = (0, _useNullablePickerContext.useNullablePickerContext)();
27
- const fieldPrivateContext = React.useContext(PickerFieldPrivateContext);
28
+ const fieldPrivateContext = (0, _useNullableFieldPrivateContext.useNullableFieldPrivateContext)();
29
+ const handleFieldRef = (0, _useForkRef.default)(internalProps.unstableFieldRef, skipContextFieldRefAssignment ? null : fieldPrivateContext?.fieldRef);
28
30
  const setValue = pickerContext?.setValue;
29
31
  const handleChangeFromPicker = React.useCallback((newValue, ctx) => {
30
32
  return setValue?.(newValue, {
@@ -42,15 +44,19 @@ function useFieldInternalPropsWithDefaults({
42
44
  onChange: handleChangeFromPicker,
43
45
  timezone: pickerContext.timezone,
44
46
  disabled: pickerContext.disabled,
47
+ readOnly: pickerContext.readOnly,
48
+ autoFocus: pickerContext.autoFocus && !pickerContext.open,
49
+ focused: pickerContext.open ? true : undefined,
45
50
  format: pickerContext.fieldFormat,
46
51
  formatDensity: fieldPrivateContext.formatDensity,
47
52
  enableAccessibleFieldDOMStructure: fieldPrivateContext.enableAccessibleFieldDOMStructure,
48
53
  selectedSections: fieldPrivateContext.selectedSections,
49
- onSelectedSectionsChange: fieldPrivateContext.onSelectedSectionsChange
54
+ onSelectedSectionsChange: fieldPrivateContext.onSelectedSectionsChange,
55
+ unstableFieldRef: handleFieldRef
50
56
  }, internalProps);
51
57
  }
52
58
  return manager.internal_applyDefaultsToFieldInternalProps((0, _extends2.default)({}, localizationContext, {
53
59
  internalProps: internalPropsWithDefaultsFromContext
54
60
  }));
55
- }, [manager, localizationContext, pickerContext, fieldPrivateContext, internalProps, handleChangeFromPicker]);
61
+ }, [manager, localizationContext, pickerContext, fieldPrivateContext, internalProps, handleChangeFromPicker, handleFieldRef]);
56
62
  }
@@ -57,7 +57,8 @@ const useFieldV6TextField = params => {
57
57
  },
58
58
  internalProps: {
59
59
  readOnly = false,
60
- disabled = false
60
+ disabled = false,
61
+ focused
61
62
  },
62
63
  parsedSelectedSections,
63
64
  activeSectionIndex,
@@ -165,8 +166,8 @@ const useFieldV6TextField = params => {
165
166
  const sectionIndex = nextSectionIndex === -1 ? sections.length - 1 : nextSectionIndex - 1;
166
167
  setSelectedSections(sectionIndex);
167
168
  };
168
- const handleInputFocus = (0, _useEventCallback.default)((...args) => {
169
- onFocus?.(...args);
169
+ const handleInputFocus = (0, _useEventCallback.default)(event => {
170
+ onFocus?.(event);
170
171
  // The ref is guaranteed to be resolved at this point.
171
172
  const input = inputRef.current;
172
173
  clearTimeout(focusTimeoutRef.current);
@@ -229,8 +230,8 @@ const useFieldV6TextField = params => {
229
230
  resetCharacterQuery();
230
231
  updateValueFromValueStr(pastedValue);
231
232
  });
232
- const handleContainerBlur = (0, _useEventCallback.default)((...args) => {
233
- onBlur?.(...args);
233
+ const handleContainerBlur = (0, _useEventCallback.default)(event => {
234
+ onBlur?.(event);
234
235
  setSelectedSections(null);
235
236
  });
236
237
  const handleInputChange = (0, _useEventCallback.default)(event => {
@@ -343,7 +344,8 @@ const useFieldV6TextField = params => {
343
344
  inputMode,
344
345
  autoComplete: 'off',
345
346
  value: shouldShowPlaceholder ? '' : valueStr,
346
- onChange: handleInputChange
347
+ onChange: handleInputChange,
348
+ focused
347
349
  }
348
350
  };
349
351
  };
@@ -20,7 +20,8 @@ const useFieldV7TextField = params => {
20
20
  internalProps: {
21
21
  disabled,
22
22
  readOnly = false,
23
- autoFocus = false
23
+ autoFocus = false,
24
+ focused: focusedProp
24
25
  },
25
26
  forwardedProps: {
26
27
  sectionListRef: inSectionListRef,
@@ -28,8 +29,7 @@ const useFieldV7TextField = params => {
28
29
  onClick,
29
30
  onFocus,
30
31
  onInput,
31
- onPaste,
32
- focused: focusedProp
32
+ onPaste
33
33
  },
34
34
  fieldValueManager,
35
35
  applyCharacterEditing,
@@ -206,8 +206,8 @@ const useFieldV7TextField = params => {
206
206
  resetCharacterQuery();
207
207
  updateValueFromValueStr(pastedValue);
208
208
  });
209
- const handleContainerFocus = (0, _useEventCallback.default)((...args) => {
210
- onFocus?.(...args);
209
+ const handleContainerFocus = (0, _useEventCallback.default)(event => {
210
+ onFocus?.(event);
211
211
  if (focused || !sectionListRef.current) {
212
212
  return;
213
213
  }
@@ -218,8 +218,8 @@ const useFieldV7TextField = params => {
218
218
  setSelectedSections(sectionOrder.startIndex);
219
219
  }
220
220
  });
221
- const handleContainerBlur = (0, _useEventCallback.default)((...args) => {
222
- onBlur?.(...args);
221
+ const handleContainerBlur = (0, _useEventCallback.default)(event => {
222
+ onBlur?.(event);
223
223
  setTimeout(() => {
224
224
  if (!sectionListRef.current) {
225
225
  return;
@@ -10,8 +10,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
- var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
- var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
13
  var _PickersModalDialog = require("../../components/PickersModalDialog");
16
14
  var _usePicker = require("../usePicker");
17
15
  var _PickersLayout = require("../../../PickersLayout");
@@ -36,35 +34,26 @@ const useMobilePicker = _ref => {
36
34
  slotProps: innerSlotProps,
37
35
  label,
38
36
  inputRef,
39
- readOnly,
40
- autoFocus,
41
37
  localeText
42
38
  } = props;
43
- const fieldRef = React.useRef(null);
44
- const labelId = (0, _useId.default)();
45
- const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
46
39
  const {
47
40
  providerProps,
48
41
  renderCurrentView,
49
42
  ownerState
50
43
  } = (0, _usePicker.usePicker)((0, _extends2.default)({}, pickerParams, {
51
44
  props,
52
- fieldRef,
53
45
  localeText,
54
46
  autoFocusView: true,
47
+ viewContainerRole: 'dialog',
55
48
  variant: 'mobile'
56
49
  }));
50
+ const labelId = providerProps.privateContextValue.labelId;
51
+ const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
57
52
  const Field = slots.field;
58
53
  const _useSlotProps = (0, _useSlotProps2.default)({
59
54
  elementType: Field,
60
55
  externalSlotProps: innerSlotProps?.field,
61
- additionalProps: (0, _extends2.default)({
62
- // Internal props
63
- readOnly,
64
- autoFocus: autoFocus && !props.open,
65
- // Forwarded props
66
- focused: providerProps.contextValue.open ? true : undefined
67
- }, isToolbarHidden && {
56
+ additionalProps: (0, _extends2.default)({}, isToolbarHidden && {
68
57
  id: labelId
69
58
  }),
70
59
  ownerState
@@ -87,17 +76,12 @@ const useMobilePicker = _ref => {
87
76
  'aria-labelledby': labelledById
88
77
  }, innerSlotProps?.mobilePaper)
89
78
  });
90
-
91
- // TODO: This `as any` will go away once the field ref is handled by the context.
92
- const handleFieldRef = (0, _useForkRef.default)(fieldRef, fieldProps.unstableFieldRef);
93
79
  const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
94
80
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickerFieldUI.PickerFieldUIContextProvider, {
95
81
  slots: slots,
96
82
  slotProps: slotProps,
97
83
  inputRef: inputRef,
98
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps, {
99
- unstableFieldRef: handleFieldRef
100
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
84
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
101
85
  slots: slots,
102
86
  slotProps: slotProps,
103
87
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import type { UseFieldInternalProps } from './useField';
3
+ import { UsePickerViewsFieldPrivateContextValue } from "./usePicker/usePickerViews.js";
4
+ export declare const PickerFieldPrivateContext: React.Context<PickerFieldPrivateContextValue | null>;
5
+ export declare function useNullableFieldPrivateContext(): PickerFieldPrivateContextValue | null;
6
+ export interface PickerFieldPrivateContextValue extends Pick<UseFieldInternalProps<any, any, any>, 'formatDensity' | 'enableAccessibleFieldDOMStructure' | 'selectedSections' | 'onSelectedSectionsChange'>, UsePickerViewsFieldPrivateContextValue {}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PickerFieldPrivateContext = void 0;
8
+ exports.useNullableFieldPrivateContext = useNullableFieldPrivateContext;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ const PickerFieldPrivateContext = exports.PickerFieldPrivateContext = /*#__PURE__*/React.createContext(null);
11
+ function useNullableFieldPrivateContext() {
12
+ return React.useContext(PickerFieldPrivateContext);
13
+ }
@@ -8,7 +8,7 @@ export declare const usePicker: <TValue extends PickerValidValue, TView extends
8
8
  variant,
9
9
  validator,
10
10
  autoFocusView,
11
+ viewContainerRole,
11
12
  rendererInterceptor,
12
- fieldRef,
13
13
  localeText
14
14
  }: UsePickerParams<TValue, TView, TExternalProps>) => UsePickerReturnValue<TValue>;
@@ -16,8 +16,8 @@ const usePicker = ({
16
16
  variant,
17
17
  validator,
18
18
  autoFocusView,
19
+ viewContainerRole,
19
20
  rendererInterceptor,
20
- fieldRef,
21
21
  localeText
22
22
  }) => {
23
23
  if (process.env.NODE_ENV !== 'production') {
@@ -34,7 +34,7 @@ const usePicker = ({
34
34
  const pickerViewsResponse = (0, _usePickerViews.usePickerViews)({
35
35
  props,
36
36
  autoFocusView,
37
- fieldRef,
37
+ viewContainerRole,
38
38
  propsFromPickerValue: pickerValueResponse.viewProps,
39
39
  rendererInterceptor
40
40
  });
@@ -8,7 +8,7 @@ import { UsePickerProviderParameters, UsePickerProviderProps, UsePickerProviderR
8
8
  */
9
9
  export interface UsePickerBaseProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends UsePickerValueBaseProps<TValue, TError>, UsePickerViewsBaseProps<TValue, TView, TExternalProps>, UsePickerProviderProps {}
10
10
  export interface UsePickerProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends UsePickerValueProps<TValue, TError>, UsePickerViewsProps<TValue, TView, TExternalProps>, UsePickerProviderProps {}
11
- export interface UsePickerParams<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerProps<TValue, TView, any, any>> extends Pick<UsePickerValueParams<TValue, TExternalProps>, 'valueManager' | 'valueType' | 'validator'>, Pick<UsePickerViewParams<TValue, TView, TExternalProps>, 'autoFocusView' | 'rendererInterceptor' | 'fieldRef'>, Pick<UsePickerProviderParameters<TValue, TView, InferError<TExternalProps>>, 'localeText' | 'variant' | 'ref'> {
11
+ export interface UsePickerParams<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerProps<TValue, TView, any, any>> extends Pick<UsePickerValueParams<TValue, TExternalProps>, 'valueManager' | 'valueType' | 'validator'>, Pick<UsePickerViewParams<TValue, TView, TExternalProps>, 'autoFocusView' | 'viewContainerRole' | 'rendererInterceptor'>, Pick<UsePickerProviderParameters<TValue, TView, InferError<TExternalProps>>, 'localeText' | 'variant' | 'ref'> {
12
12
  props: TExternalProps;
13
13
  }
14
14
  export interface UsePickerReturnValue<TValue extends PickerValidValue> {