@mui/x-date-pickers 8.0.0-alpha.7 → 8.0.0-alpha.8
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/CHANGELOG.md +115 -0
- package/DateField/DateField.js +26 -31
- package/DateField/DateField.types.d.ts +6 -15
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +2 -1
- package/DateTimeField/DateTimeField.js +26 -31
- package/DateTimeField/DateTimeField.types.d.ts +6 -15
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +2 -1
- package/DesktopDatePicker/DesktopDatePicker.js +0 -11
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -12
- package/DesktopTimePicker/DesktopTimePicker.js +1 -12
- package/MobileDatePicker/MobileDatePicker.js +0 -9
- package/MobileDateTimePicker/MobileDateTimePicker.js +0 -9
- package/MobileTimePicker/MobileTimePicker.js +0 -9
- package/TimeField/TimeField.js +25 -30
- package/TimeField/TimeField.types.d.ts +6 -15
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +2 -1
- package/hooks/useParsedFormat.d.ts +8 -6
- package/hooks/useParsedFormat.js +10 -12
- package/hooks/usePickerActionsContext.d.ts +1 -1
- package/hooks/usePickerContext.d.ts +4 -2
- package/hooks/usePickerContext.js +2 -1
- package/hooks/useSplitFieldProps.d.ts +12 -3
- package/hooks/useSplitFieldProps.js +8 -3
- package/index.js +1 -1
- package/internals/components/PickerFieldUI.d.ts +132 -0
- package/internals/components/PickerFieldUI.js +306 -0
- package/internals/components/PickerProvider.d.ts +25 -4
- package/internals/components/PickerProvider.js +11 -6
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -94
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -31
- package/internals/hooks/useField/index.d.ts +3 -1
- package/internals/hooks/useField/index.js +3 -2
- package/internals/hooks/useField/useField.d.ts +1 -10
- package/internals/hooks/useField/useField.js +11 -19
- package/internals/hooks/useField/useField.types.d.ts +11 -4
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
- package/internals/hooks/useField/useFieldV7TextField.js +3 -3
- package/internals/hooks/useFieldOwnerState.d.ts +1 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.js +20 -49
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +6 -14
- package/internals/hooks/useNullablePickerContext.d.ts +5 -0
- package/internals/hooks/useNullablePickerContext.js +10 -0
- package/internals/hooks/usePicker/usePicker.d.ts +1 -2
- package/internals/hooks/usePicker/usePicker.js +0 -3
- package/internals/hooks/usePicker/usePicker.types.d.ts +2 -3
- package/internals/hooks/usePicker/usePickerProvider.d.ts +8 -2
- package/internals/hooks/usePicker/usePickerProvider.js +22 -2
- package/internals/hooks/usePicker/usePickerValue.js +5 -11
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +5 -2
- package/internals/hooks/useUtils.d.ts +4 -3
- package/internals/index.d.ts +6 -3
- package/internals/index.js +1 -1
- package/internals/models/fields.d.ts +3 -16
- package/internals/models/manager.d.ts +3 -0
- package/internals/models/props/basePickerProps.d.ts +0 -12
- package/locales/utils/getPickersLocalization.d.ts +0 -7
- package/locales/utils/getPickersLocalization.js +0 -13
- package/managers/index.d.ts +3 -3
- package/managers/useDateManager.d.ts +1 -1
- package/managers/useDateManager.js +9 -1
- package/managers/useDateTimeManager.d.ts +1 -1
- package/managers/useDateTimeManager.js +9 -1
- package/managers/useTimeManager.d.ts +1 -1
- package/managers/useTimeManager.js +9 -1
- package/models/fields.d.ts +4 -4
- package/models/manager.d.ts +12 -3
- package/modern/DateField/DateField.js +26 -31
- package/modern/DateField/useDateField.js +2 -1
- package/modern/DateTimeField/DateTimeField.js +26 -31
- package/modern/DateTimeField/useDateTimeField.js +2 -1
- package/modern/DesktopDatePicker/DesktopDatePicker.js +0 -11
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -12
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -12
- package/modern/MobileDatePicker/MobileDatePicker.js +0 -9
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +0 -9
- package/modern/MobileTimePicker/MobileTimePicker.js +0 -9
- package/modern/TimeField/TimeField.js +25 -30
- package/modern/TimeField/useTimeField.js +2 -1
- package/modern/hooks/useParsedFormat.js +10 -12
- package/modern/hooks/usePickerContext.js +2 -1
- package/modern/hooks/useSplitFieldProps.js +8 -3
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerFieldUI.js +306 -0
- package/modern/internals/components/PickerProvider.js +11 -6
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -94
- package/modern/internals/hooks/useField/index.js +3 -2
- package/modern/internals/hooks/useField/useField.js +11 -19
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
- package/modern/internals/hooks/useField/useFieldV7TextField.js +3 -3
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +20 -49
- package/modern/internals/hooks/useNullablePickerContext.js +10 -0
- package/modern/internals/hooks/usePicker/usePicker.js +0 -3
- package/modern/internals/hooks/usePicker/usePickerProvider.js +22 -2
- package/modern/internals/hooks/usePicker/usePickerValue.js +5 -11
- package/modern/internals/index.js +1 -1
- package/modern/locales/utils/getPickersLocalization.js +0 -13
- package/modern/managers/useDateManager.js +9 -1
- package/modern/managers/useDateTimeManager.js +9 -1
- package/modern/managers/useTimeManager.js +9 -1
- package/node/DateField/DateField.js +26 -31
- package/node/DateField/useDateField.js +2 -1
- package/node/DateTimeField/DateTimeField.js +26 -31
- package/node/DateTimeField/useDateTimeField.js +2 -1
- package/node/DesktopDatePicker/DesktopDatePicker.js +0 -11
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -12
- package/node/DesktopTimePicker/DesktopTimePicker.js +1 -12
- package/node/MobileDatePicker/MobileDatePicker.js +0 -9
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +0 -9
- package/node/MobileTimePicker/MobileTimePicker.js +0 -9
- package/node/TimeField/TimeField.js +25 -30
- package/node/TimeField/useTimeField.js +2 -1
- package/node/hooks/useParsedFormat.js +10 -12
- package/node/hooks/usePickerContext.js +4 -3
- package/node/hooks/useSplitFieldProps.js +7 -2
- package/node/index.js +1 -1
- package/node/internals/components/PickerFieldUI.js +318 -0
- package/node/internals/components/PickerProvider.js +13 -8
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +23 -96
- package/node/internals/hooks/useField/index.js +3 -2
- package/node/internals/hooks/useField/useField.js +12 -21
- package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +55 -0
- package/node/internals/hooks/useField/useFieldV7TextField.js +3 -3
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +20 -49
- package/node/internals/hooks/useNullablePickerContext.js +16 -0
- package/node/internals/hooks/usePicker/usePicker.js +0 -3
- package/node/internals/hooks/usePicker/usePickerProvider.js +22 -2
- package/node/internals/hooks/usePicker/usePickerValue.js +5 -11
- package/node/internals/index.js +21 -3
- package/node/locales/utils/getPickersLocalization.js +2 -16
- package/node/managers/useDateManager.js +9 -1
- package/node/managers/useDateTimeManager.js +9 -1
- package/node/managers/useTimeManager.js +9 -1
- package/package.json +2 -2
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
- package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
|
@@ -15,15 +15,12 @@ var _utils = require("@mui/utils");
|
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _TimeField = require("../TimeField");
|
|
17
17
|
var _shared = require("../TimePicker/shared");
|
|
18
|
-
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
19
18
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
20
19
|
var _validation = require("../validation");
|
|
21
|
-
var _icons = require("../icons");
|
|
22
20
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
23
21
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
24
22
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
25
23
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
26
|
-
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
27
24
|
/**
|
|
28
25
|
* Demos:
|
|
29
26
|
*
|
|
@@ -35,7 +32,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
|
|
|
35
32
|
* - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)
|
|
36
33
|
*/
|
|
37
34
|
const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
|
|
38
|
-
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
39
35
|
const utils = (0, _useUtils.useUtils)();
|
|
40
36
|
|
|
41
37
|
// Props with the default values common to all time pickers
|
|
@@ -67,8 +63,7 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
67
63
|
// Allows for easy view lifecycle management
|
|
68
64
|
views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
|
|
69
65
|
slots: (0, _extends2.default)({
|
|
70
|
-
field: _TimeField.TimeField
|
|
71
|
-
openPickerIcon: _icons.ClockIcon
|
|
66
|
+
field: _TimeField.TimeField
|
|
72
67
|
}, defaultizedProps.slots),
|
|
73
68
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
74
69
|
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
|
|
@@ -86,12 +81,6 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
86
81
|
props,
|
|
87
82
|
valueManager: _valueManagers.singleItemValueManager,
|
|
88
83
|
valueType: 'time',
|
|
89
|
-
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
90
|
-
utils,
|
|
91
|
-
formatKey: 'fullTime',
|
|
92
|
-
contextTranslation: translations.openTimePickerDialogue,
|
|
93
|
-
propsTranslation: props.localeText?.openTimePickerDialogue
|
|
94
|
-
}),
|
|
95
84
|
validator: _validation.validateTime
|
|
96
85
|
});
|
|
97
86
|
return renderPicker();
|
|
@@ -14,14 +14,12 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
|
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
15
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
16
16
|
var _shared = require("../DatePicker/shared");
|
|
17
|
-
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
18
17
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
19
18
|
var _validation = require("../validation");
|
|
20
19
|
var _DateField = require("../DateField");
|
|
21
20
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
22
21
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
23
22
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
24
|
-
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
25
23
|
/**
|
|
26
24
|
* Demos:
|
|
27
25
|
*
|
|
@@ -33,7 +31,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
|
|
|
33
31
|
* - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
|
|
34
32
|
*/
|
|
35
33
|
const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
|
|
36
|
-
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
37
34
|
const utils = (0, _useUtils.useUtils)();
|
|
38
35
|
|
|
39
36
|
// Props with the default values common to all date pickers
|
|
@@ -66,12 +63,6 @@ const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRe
|
|
|
66
63
|
props,
|
|
67
64
|
valueManager: _valueManagers.singleItemValueManager,
|
|
68
65
|
valueType: 'date',
|
|
69
|
-
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
70
|
-
utils,
|
|
71
|
-
formatKey: 'fullDate',
|
|
72
|
-
contextTranslation: translations.openDatePickerDialogue,
|
|
73
|
-
propsTranslation: props.localeText?.openDatePickerDialogue
|
|
74
|
-
}),
|
|
75
66
|
validator: _validation.validateDate
|
|
76
67
|
});
|
|
77
68
|
return renderPicker();
|
|
@@ -15,14 +15,12 @@ var _utils = require("@mui/utils");
|
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _DateTimeField = require("../DateTimeField");
|
|
17
17
|
var _shared = require("../DateTimePicker/shared");
|
|
18
|
-
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
19
18
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
20
19
|
var _validation = require("../validation");
|
|
21
20
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
22
21
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
23
22
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
24
23
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
25
|
-
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
26
24
|
/**
|
|
27
25
|
* Demos:
|
|
28
26
|
*
|
|
@@ -34,7 +32,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
|
|
|
34
32
|
* - [MobileDateTimePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-picker/)
|
|
35
33
|
*/
|
|
36
34
|
const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
|
|
37
|
-
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
38
35
|
const utils = (0, _useUtils.useUtils)();
|
|
39
36
|
|
|
40
37
|
// Props with the default values common to all date time pickers
|
|
@@ -76,12 +73,6 @@ const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.f
|
|
|
76
73
|
props,
|
|
77
74
|
valueManager: _valueManagers.singleItemValueManager,
|
|
78
75
|
valueType: 'date-time',
|
|
79
|
-
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
80
|
-
utils,
|
|
81
|
-
formatKey: 'fullDate',
|
|
82
|
-
contextTranslation: translations.openDatePickerDialogue,
|
|
83
|
-
propsTranslation: props.localeText?.openDatePickerDialogue
|
|
84
|
-
}),
|
|
85
76
|
validator: _validation.validateDateTime
|
|
86
77
|
});
|
|
87
78
|
return renderPicker();
|
|
@@ -15,13 +15,11 @@ var _utils = require("@mui/utils");
|
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _TimeField = require("../TimeField");
|
|
17
17
|
var _shared = require("../TimePicker/shared");
|
|
18
|
-
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
19
18
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
20
19
|
var _validation = require("../validation");
|
|
21
20
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
22
21
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
23
22
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
24
|
-
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
25
23
|
/**
|
|
26
24
|
* Demos:
|
|
27
25
|
*
|
|
@@ -33,7 +31,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
|
|
|
33
31
|
* - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)
|
|
34
32
|
*/
|
|
35
33
|
const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
|
|
36
|
-
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
37
34
|
const utils = (0, _useUtils.useUtils)();
|
|
38
35
|
|
|
39
36
|
// Props with the default values common to all time pickers
|
|
@@ -69,12 +66,6 @@ const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRe
|
|
|
69
66
|
props,
|
|
70
67
|
valueManager: _valueManagers.singleItemValueManager,
|
|
71
68
|
valueType: 'time',
|
|
72
|
-
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
73
|
-
utils,
|
|
74
|
-
formatKey: 'fullTime',
|
|
75
|
-
contextTranslation: translations.openTimePickerDialogue,
|
|
76
|
-
propsTranslation: props.localeText?.openTimePickerDialogue
|
|
77
|
-
}),
|
|
78
69
|
validator: _validation.validateTime
|
|
79
70
|
});
|
|
80
71
|
return renderPicker();
|
|
@@ -7,19 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.TimeField = void 0;
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
11
|
var React = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
15
13
|
var _styles = require("@mui/material/styles");
|
|
16
|
-
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
17
14
|
var _utils = require("@mui/utils");
|
|
18
15
|
var _useTimeField = require("./useTimeField");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
|
|
22
|
-
var _useFieldOwnerState = require("../internals/hooks/useFieldOwnerState");
|
|
16
|
+
var _PickerFieldUI = require("../internals/components/PickerFieldUI");
|
|
17
|
+
var _icons = require("../icons");
|
|
23
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
19
|
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
25
20
|
/**
|
|
@@ -39,33 +34,21 @@ const TimeField = exports.TimeField = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
39
34
|
});
|
|
40
35
|
const {
|
|
41
36
|
slots,
|
|
42
|
-
slotProps
|
|
43
|
-
InputProps,
|
|
44
|
-
inputProps
|
|
37
|
+
slotProps
|
|
45
38
|
} = themeProps,
|
|
46
39
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
externalSlotProps: slotProps?.textField,
|
|
52
|
-
externalForwardedProps: other,
|
|
53
|
-
ownerState,
|
|
54
|
-
additionalProps: {
|
|
55
|
-
ref: inRef
|
|
56
|
-
}
|
|
40
|
+
const textFieldProps = (0, _PickerFieldUI.useFieldTextFieldProps)({
|
|
41
|
+
slotProps,
|
|
42
|
+
ref: inRef,
|
|
43
|
+
externalForwardedProps: other
|
|
57
44
|
});
|
|
58
|
-
|
|
59
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
60
|
-
textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
|
|
61
|
-
textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
|
|
62
45
|
const fieldResponse = (0, _useTimeField.useTimeField)(textFieldProps);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerFieldUI.PickerFieldUI, {
|
|
47
|
+
slots: slots,
|
|
48
|
+
slotProps: slotProps,
|
|
49
|
+
fieldResponse: fieldResponse,
|
|
50
|
+
defaultOpenPickerIcon: _icons.ClockIcon
|
|
51
|
+
});
|
|
69
52
|
});
|
|
70
53
|
process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
71
54
|
// ----------------------------- Warning --------------------------------
|
|
@@ -88,6 +71,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
88
71
|
* @default false
|
|
89
72
|
*/
|
|
90
73
|
clearable: _propTypes.default.bool,
|
|
74
|
+
/**
|
|
75
|
+
* The position at which the clear button is placed.
|
|
76
|
+
* If the field is not clearable, the button is not rendered.
|
|
77
|
+
* @default 'end'
|
|
78
|
+
*/
|
|
79
|
+
clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
|
|
91
80
|
/**
|
|
92
81
|
* The color of the component.
|
|
93
82
|
* It supports both default and custom theme colors, which can be added as shown in the
|
|
@@ -241,6 +230,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
241
230
|
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
242
231
|
*/
|
|
243
232
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
233
|
+
/**
|
|
234
|
+
* The position at which the opening button is placed.
|
|
235
|
+
* If there is no picker to open, the button is not rendered
|
|
236
|
+
* @default 'end'
|
|
237
|
+
*/
|
|
238
|
+
openPickerButtonPosition: _propTypes.default.oneOf(['end', 'start']),
|
|
244
239
|
/**
|
|
245
240
|
* If `true`, the component is read-only.
|
|
246
241
|
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
@@ -24,7 +24,8 @@ const useTimeField = props => {
|
|
|
24
24
|
valueManager: manager.internal_valueManager,
|
|
25
25
|
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
26
|
validator: manager.validator,
|
|
27
|
-
valueType: manager.valueType
|
|
27
|
+
valueType: manager.valueType,
|
|
28
|
+
getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
|
|
28
29
|
});
|
|
29
30
|
};
|
|
30
31
|
exports.useTimeField = useTimeField;
|
|
@@ -12,32 +12,30 @@ var _useUtils = require("../internals/hooks/useUtils");
|
|
|
12
12
|
var _buildSectionsFromFormat = require("../internals/hooks/useField/buildSectionsFromFormat");
|
|
13
13
|
var _useField = require("../internals/hooks/useField/useField.utils");
|
|
14
14
|
var _usePickerTranslations = require("./usePickerTranslations");
|
|
15
|
+
var _useNullablePickerContext = require("../internals/hooks/useNullablePickerContext");
|
|
15
16
|
/**
|
|
16
17
|
* Returns the parsed format to be rendered in the field when there is no value or in other parts of the Picker.
|
|
17
18
|
* This format is localized (for example `AAAA` for the year with the French locale) and cannot be parsed by your date library.
|
|
18
19
|
* @param {object} The parameters needed to build the placeholder.
|
|
19
|
-
* @param {string} params.format Format
|
|
20
|
-
* @param {'dense' | 'spacious'} params.formatDensity Density of the format (setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character).
|
|
21
|
-
* @param {boolean} params.shouldRespectLeadingZeros If `true`, the format will respect the leading zeroes, if `false`, the format will always add leading zeroes.
|
|
20
|
+
* @param {string} params.format Format to parse.
|
|
22
21
|
* @returns
|
|
23
22
|
*/
|
|
24
|
-
const useParsedFormat = parameters => {
|
|
25
|
-
const
|
|
26
|
-
format,
|
|
27
|
-
formatDensity = 'dense',
|
|
28
|
-
shouldRespectLeadingZeros = false
|
|
29
|
-
} = parameters;
|
|
23
|
+
const useParsedFormat = (parameters = {}) => {
|
|
24
|
+
const pickerContext = (0, _useNullablePickerContext.useNullablePickerContext)();
|
|
30
25
|
const utils = (0, _useUtils.useUtils)();
|
|
31
26
|
const isRtl = (0, _RtlProvider.useRtl)();
|
|
32
27
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
33
28
|
const localizedDigits = React.useMemo(() => (0, _useField.getLocalizedDigits)(utils), [utils]);
|
|
29
|
+
const {
|
|
30
|
+
format = pickerContext?.fieldFormat ?? utils.formats.fullDate
|
|
31
|
+
} = parameters;
|
|
34
32
|
return React.useMemo(() => {
|
|
35
33
|
const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
|
|
36
34
|
utils,
|
|
37
35
|
format,
|
|
38
|
-
formatDensity,
|
|
36
|
+
formatDensity: 'dense',
|
|
39
37
|
isRtl,
|
|
40
|
-
shouldRespectLeadingZeros,
|
|
38
|
+
shouldRespectLeadingZeros: true,
|
|
41
39
|
localeText: translations,
|
|
42
40
|
localizedDigits,
|
|
43
41
|
date: null,
|
|
@@ -45,6 +43,6 @@ const useParsedFormat = parameters => {
|
|
|
45
43
|
enableAccessibleFieldDOMStructure: false
|
|
46
44
|
});
|
|
47
45
|
return sections.map(section => `${section.startSeparator}${section.placeholder}${section.endSeparator}`).join('');
|
|
48
|
-
}, [utils, isRtl, translations, localizedDigits, format
|
|
46
|
+
}, [utils, isRtl, translations, localizedDigits, format]);
|
|
49
47
|
};
|
|
50
48
|
exports.useParsedFormat = useParsedFormat;
|
|
@@ -5,14 +5,15 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.usePickerContext = void 0;
|
|
8
|
+
exports.usePickerContext = exports.PickerContext = void 0;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
|
|
10
|
+
const PickerContext = exports.PickerContext = /*#__PURE__*/React.createContext(null);
|
|
11
|
+
|
|
11
12
|
/**
|
|
12
13
|
* Returns the context passed by the picker that wraps the current component.
|
|
13
14
|
*/
|
|
14
15
|
const usePickerContext = () => {
|
|
15
|
-
const value = React.useContext(
|
|
16
|
+
const value = React.useContext(PickerContext);
|
|
16
17
|
if (value == null) {
|
|
17
18
|
throw new Error('MUI X: The `usePickerContext` hook can only be called inside the context of a picker component');
|
|
18
19
|
}
|
|
@@ -10,13 +10,13 @@ exports.useSplitFieldProps = void 0;
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _extractValidationProps = require("../validation/extractValidationProps");
|
|
13
|
-
const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly', 'dateSeparator'];
|
|
13
|
+
const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef', 'unstableStartFieldRef', 'unstableEndFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly', 'dateSeparator', 'autoFocus'];
|
|
14
14
|
/**
|
|
15
15
|
* Split the props received by the field component into:
|
|
16
16
|
* - `internalProps` which are used by the various hooks called by the field component.
|
|
17
17
|
* - `forwardedProps` which are passed to the underlying component.
|
|
18
18
|
* Note that some forwarded props might be used by the hooks as well.
|
|
19
|
-
* For instance, hooks like `useDateField` need props like `
|
|
19
|
+
* For instance, hooks like `useDateField` need props like `onKeyDown` to merge the default event handler and the one provided by the application.
|
|
20
20
|
* @template TProps, TValueType
|
|
21
21
|
* @param {TProps} props The props received by the field component.
|
|
22
22
|
* @param {TValueType} valueType The type of the field value ('date', 'time', or 'date-time').
|
|
@@ -48,4 +48,9 @@ const useSplitFieldProps = (props, valueType) => {
|
|
|
48
48
|
};
|
|
49
49
|
}, [props, valueType]);
|
|
50
50
|
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Extract the internal props from the props received by the field component.
|
|
54
|
+
* This makes sure that the internal props not defined in the props are not present in the result.
|
|
55
|
+
*/
|
|
51
56
|
exports.useSplitFieldProps = useSplitFieldProps;
|
package/node/index.js
CHANGED