@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.
- package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
- package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +96 -94
- package/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
- package/AdapterDateFnsV2/AdapterDateFnsV2.js +96 -94
- package/AdapterDayjs/AdapterDayjs.js +11 -5
- package/CHANGELOG.md +299 -0
- package/DateCalendar/DateCalendar.js +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DatePicker/DatePicker.types.d.ts +2 -2
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/TimeClock/Clock.js +2 -2
- package/TimeClock/ClockPointer.js +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimePicker/TimePicker.types.d.ts +2 -2
- package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
- package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
- package/esm/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
- package/esm/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
- package/esm/AdapterDayjs/AdapterDayjs.js +9 -5
- package/esm/DateCalendar/DateCalendar.js +1 -1
- package/esm/DateField/useDateField.d.ts +1 -1
- package/esm/DatePicker/DatePicker.types.d.ts +2 -2
- package/esm/DateTimeField/useDateTimeField.d.ts +1 -1
- package/esm/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/esm/TimeClock/Clock.js +2 -2
- package/esm/TimeClock/ClockPointer.js +1 -1
- package/esm/TimeField/useTimeField.d.ts +1 -1
- package/esm/TimePicker/TimePicker.types.d.ts +2 -2
- package/esm/hooks/useSplitFieldProps.d.ts +1 -1
- package/esm/hooks/useSplitFieldProps.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/components/PickerFieldUI.d.ts +7 -0
- package/esm/internals/components/PickerFieldUI.js +2 -2
- package/esm/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
- package/esm/internals/components/PickerPopper/PickerPopper.js +26 -14
- package/esm/internals/components/PickerProvider.d.ts +21 -1
- package/esm/internals/components/PickerProvider.js +7 -2
- package/esm/internals/demo/DemoContainer.js +3 -3
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +0 -5
- package/esm/internals/hooks/useField/index.d.ts +1 -2
- package/esm/internals/hooks/useField/useField.types.d.ts +10 -4
- package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
- package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
- package/esm/internals/hooks/useField/useFieldV6TextField.js +8 -6
- package/esm/internals/hooks/useField/useFieldV7TextField.js +7 -7
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
- package/esm/internals/hooks/useNullableFieldPrivateContext.d.ts +6 -0
- package/esm/internals/hooks/useNullableFieldPrivateContext.js +5 -0
- package/esm/internals/hooks/usePicker/usePicker.d.ts +1 -1
- package/esm/internals/hooks/usePicker/usePicker.js +2 -2
- package/esm/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
- package/esm/internals/hooks/usePicker/usePickerProvider.d.ts +8 -3
- package/esm/internals/hooks/usePicker/usePickerProvider.js +20 -6
- package/esm/internals/hooks/usePicker/usePickerViews.d.ts +20 -3
- package/esm/internals/hooks/usePicker/usePickerViews.js +20 -8
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
- package/esm/internals/index.d.ts +4 -3
- package/esm/internals/index.js +2 -1
- package/esm/internals/models/fields.d.ts +3 -10
- package/esm/locales/bnBD.d.ts +80 -0
- package/esm/locales/bnBD.js +73 -0
- package/esm/locales/index.d.ts +1 -0
- package/esm/locales/index.js +1 -0
- package/esm/models/fields.d.ts +2 -2
- package/esm/validation/extractValidationProps.d.ts +1 -1
- package/esm/validation/index.d.ts +1 -1
- package/esm/validation/useValidation.d.ts +1 -1
- package/hooks/useSplitFieldProps.d.ts +1 -1
- package/hooks/useSplitFieldProps.js +1 -1
- package/index.js +1 -1
- package/internals/components/PickerFieldUI.d.ts +7 -0
- package/internals/components/PickerFieldUI.js +3 -1
- package/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
- package/internals/components/PickerPopper/PickerPopper.js +25 -13
- package/internals/components/PickerProvider.d.ts +21 -1
- package/internals/components/PickerProvider.js +8 -3
- package/internals/demo/DemoContainer.js +3 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +0 -5
- package/internals/hooks/useField/index.d.ts +1 -2
- package/internals/hooks/useField/useField.types.d.ts +10 -4
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -10
- package/internals/hooks/useField/useFieldV6TextField.js +8 -6
- package/internals/hooks/useField/useFieldV7TextField.js +7 -7
- package/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
- package/internals/hooks/useNullableFieldPrivateContext.d.ts +6 -0
- package/internals/hooks/useNullableFieldPrivateContext.js +13 -0
- package/internals/hooks/usePicker/usePicker.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.js +2 -2
- package/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
- package/internals/hooks/usePicker/usePickerProvider.d.ts +8 -3
- package/internals/hooks/usePicker/usePickerProvider.js +20 -6
- package/internals/hooks/usePicker/usePickerViews.d.ts +20 -3
- package/internals/hooks/usePicker/usePickerViews.js +20 -8
- package/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
- package/internals/index.d.ts +4 -3
- package/internals/index.js +19 -0
- package/internals/models/fields.d.ts +3 -10
- package/locales/bnBD.d.ts +80 -0
- package/locales/bnBD.js +79 -0
- package/locales/index.d.ts +1 -0
- package/locales/index.js +11 -0
- package/models/fields.d.ts +2 -2
- package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
- package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
- package/modern/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
- package/modern/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
- package/modern/AdapterDayjs/AdapterDayjs.js +9 -5
- package/modern/DateCalendar/DateCalendar.js +1 -1
- package/modern/DateField/useDateField.d.ts +1 -1
- package/modern/DatePicker/DatePicker.types.d.ts +2 -2
- package/modern/DateTimeField/useDateTimeField.d.ts +1 -1
- package/modern/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/modern/TimeClock/Clock.js +2 -2
- package/modern/TimeClock/ClockPointer.js +1 -1
- package/modern/TimeField/useTimeField.d.ts +1 -1
- package/modern/TimePicker/TimePicker.types.d.ts +2 -2
- package/modern/hooks/useSplitFieldProps.d.ts +1 -1
- package/modern/hooks/useSplitFieldProps.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerFieldUI.d.ts +7 -0
- package/modern/internals/components/PickerFieldUI.js +2 -2
- package/modern/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
- package/modern/internals/components/PickerPopper/PickerPopper.js +26 -14
- package/modern/internals/components/PickerProvider.d.ts +21 -1
- package/modern/internals/components/PickerProvider.js +7 -2
- package/modern/internals/demo/DemoContainer.js +3 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +0 -5
- package/modern/internals/hooks/useField/index.d.ts +1 -2
- package/modern/internals/hooks/useField/useField.types.d.ts +10 -4
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
- package/modern/internals/hooks/useField/useFieldV6TextField.js +8 -6
- package/modern/internals/hooks/useField/useFieldV7TextField.js +7 -7
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
- package/modern/internals/hooks/useNullableFieldPrivateContext.d.ts +6 -0
- package/modern/internals/hooks/useNullableFieldPrivateContext.js +5 -0
- package/modern/internals/hooks/usePicker/usePicker.d.ts +1 -1
- package/modern/internals/hooks/usePicker/usePicker.js +2 -2
- package/modern/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
- package/modern/internals/hooks/usePicker/usePickerProvider.d.ts +8 -3
- package/modern/internals/hooks/usePicker/usePickerProvider.js +20 -6
- package/modern/internals/hooks/usePicker/usePickerViews.d.ts +20 -3
- package/modern/internals/hooks/usePicker/usePickerViews.js +20 -8
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
- package/modern/internals/index.d.ts +4 -3
- package/modern/internals/index.js +2 -1
- package/modern/internals/models/fields.d.ts +3 -10
- package/modern/locales/bnBD.d.ts +80 -0
- package/modern/locales/bnBD.js +73 -0
- package/modern/locales/index.d.ts +1 -0
- package/modern/locales/index.js +1 -0
- package/modern/models/fields.d.ts +2 -2
- package/modern/validation/extractValidationProps.d.ts +1 -1
- package/modern/validation/index.d.ts +1 -1
- package/modern/validation/useValidation.d.ts +1 -1
- package/package.json +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/validation/extractValidationProps.d.ts +1 -1
- package/validation/index.d.ts +1 -1
- 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 (
|
|
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,
|
|
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:
|
|
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/
|
|
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
|
|
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)(
|
|
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$/)
|
|
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 :
|
|
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?:
|
|
117
|
+
onBlur?: React.FocusEventHandler;
|
|
114
118
|
onClick?: React.MouseEventHandler;
|
|
115
|
-
onFocus?:
|
|
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?:
|
|
130
|
+
onBlur?: React.FocusEventHandler;
|
|
126
131
|
onClick?: React.MouseEventHandler;
|
|
127
|
-
onFocus?:
|
|
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
|
-
|
|
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
|
-
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
23
|
-
|
|
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 =
|
|
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)(
|
|
169
|
-
onFocus?.(
|
|
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)(
|
|
233
|
-
onBlur?.(
|
|
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)(
|
|
210
|
-
onFocus?.(
|
|
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)(
|
|
222
|
-
onBlur?.(
|
|
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
|
-
|
|
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' | '
|
|
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> {
|