@mui/x-date-pickers-pro 8.0.0-beta.0 → 8.0.0-beta.2
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 +171 -0
- package/DateRangeCalendar/DateRangeCalendar.js +2 -7
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +1 -1
- package/DateRangePicker/DateRangePicker.js +3 -1
- package/DateRangePicker/shared.js +2 -7
- package/DateRangePickerDay/DateRangePickerDay.d.ts +1 -41
- package/DateRangePickerDay/DateRangePickerDay.js +89 -57
- package/DateRangePickerDay/DateRangePickerDay.types.d.ts +91 -0
- package/DateRangePickerDay/DateRangePickerDay.types.js +5 -0
- package/DateRangePickerDay/index.d.ts +1 -1
- package/DateTimeRangePicker/DateTimeRangePicker.js +3 -1
- package/DateTimeRangePicker/shared.js +2 -11
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -0
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -0
- package/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -0
- package/MobileDateRangePicker/MobileDateRangePicker.js +1 -0
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -0
- package/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -0
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -16
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -16
- package/TimeRangePicker/TimeRangePicker.js +3 -1
- package/TimeRangePicker/shared.js +2 -3
- package/esm/DateRangeCalendar/DateRangeCalendar.js +3 -8
- package/esm/DateRangeCalendar/DateRangeCalendar.types.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.js +3 -1
- package/esm/DateRangePicker/shared.js +3 -8
- package/esm/DateRangePickerDay/DateRangePickerDay.d.ts +1 -41
- package/esm/DateRangePickerDay/DateRangePickerDay.js +90 -58
- package/esm/DateRangePickerDay/DateRangePickerDay.types.d.ts +91 -0
- package/esm/DateRangePickerDay/DateRangePickerDay.types.js +1 -0
- package/esm/DateRangePickerDay/index.d.ts +1 -1
- package/esm/DateTimeRangePicker/DateTimeRangePicker.js +3 -1
- package/esm/DateTimeRangePicker/shared.js +3 -12
- package/esm/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -0
- package/esm/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -0
- package/esm/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -0
- package/esm/MobileDateRangePicker/MobileDateRangePicker.js +1 -0
- package/esm/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -0
- package/esm/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -0
- package/esm/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
- package/esm/SingleInputDateRangeField/useSingleInputDateRangeField.js +3 -17
- package/esm/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
- package/esm/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +3 -17
- package/esm/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
- package/esm/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +3 -17
- package/esm/TimeRangePicker/TimeRangePicker.js +3 -1
- package/esm/TimeRangePicker/shared.js +3 -4
- package/esm/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +2 -2
- package/esm/hooks/useMultiInputRangeField/useTextFieldProps.js +4 -16
- package/esm/index.js +1 -1
- package/esm/internals/utils/releaseInfo.js +1 -1
- package/esm/managers/useDateRangeManager.js +12 -13
- package/esm/managers/useDateTimeRangeManager.js +13 -13
- package/esm/managers/useTimeRangeManager.js +13 -11
- package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +2 -2
- package/hooks/useMultiInputRangeField/useTextFieldProps.js +3 -15
- package/index.js +1 -1
- package/internals/utils/releaseInfo.js +1 -1
- package/managers/useDateRangeManager.js +11 -12
- package/managers/useDateTimeRangeManager.js +12 -12
- package/managers/useTimeRangeManager.js +12 -10
- package/modern/DateRangeCalendar/DateRangeCalendar.js +3 -8
- package/modern/DateRangeCalendar/DateRangeCalendar.types.d.ts +1 -1
- package/modern/DateRangePicker/DateRangePicker.js +3 -1
- package/modern/DateRangePicker/shared.js +3 -8
- package/modern/DateRangePickerDay/DateRangePickerDay.d.ts +1 -41
- package/modern/DateRangePickerDay/DateRangePickerDay.js +90 -58
- package/modern/DateRangePickerDay/DateRangePickerDay.types.d.ts +91 -0
- package/modern/DateRangePickerDay/DateRangePickerDay.types.js +1 -0
- package/modern/DateRangePickerDay/index.d.ts +1 -1
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +3 -1
- package/modern/DateTimeRangePicker/shared.js +3 -12
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -0
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +1 -0
- package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.js +1 -0
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +1 -0
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +1 -0
- package/modern/MobileTimeRangePicker/MobileTimeRangePicker.js +1 -0
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +3 -17
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +3 -17
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +3 -17
- package/modern/TimeRangePicker/TimeRangePicker.js +3 -1
- package/modern/TimeRangePicker/shared.js +3 -4
- package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +2 -2
- package/modern/hooks/useMultiInputRangeField/useTextFieldProps.js +4 -16
- package/modern/index.js +1 -1
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/managers/useDateRangeManager.js +12 -13
- package/modern/managers/useDateTimeRangeManager.js +13 -13
- package/modern/managers/useTimeRangeManager.js +13 -11
- package/package.json +4 -4
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps,
|
|
1
|
+
import { PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerFieldInternalProps, UseFieldReturnValue } from '@mui/x-date-pickers/internals';
|
|
2
2
|
import { UseTextFieldBaseForwardedProps } from "./useTextFieldProps.js";
|
|
3
3
|
import { PickerAnyRangeManager } from "../../internals/models/managers.js";
|
|
4
4
|
import { UseMultiInputRangeFieldRootPropsReturnValue } from "./useMultiInputRangeFieldRootProps.js";
|
|
@@ -63,7 +63,7 @@ interface UseMultiInputRangeFieldReturnValue<TManager extends PickerAnyRangeMana
|
|
|
63
63
|
endTextField: UseMultiInputRangeFieldTextFieldProps<PickerManagerEnableAccessibleFieldDOMStructure<TManager>, TTextFieldProps>;
|
|
64
64
|
enableAccessibleFieldDOMStructure: PickerManagerEnableAccessibleFieldDOMStructure<TManager>;
|
|
65
65
|
}
|
|
66
|
-
export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<
|
|
66
|
+
export type UseMultiInputRangeFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseTextFieldBaseForwardedProps> = Omit<UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TForwardedProps & {
|
|
67
67
|
onKeyDown: React.KeyboardEventHandler;
|
|
68
68
|
onClick: React.MouseEventHandler;
|
|
69
69
|
onFocus: React.FocusEventHandler;
|
|
@@ -4,8 +4,7 @@ const _excluded = ["clearable", "onClear", "openPickerAriaLabel"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
6
6
|
import { useDateManager, useDateTimeManager, useTimeManager } from '@mui/x-date-pickers/managers';
|
|
7
|
-
import {
|
|
8
|
-
import { useField, useFieldInternalPropsWithDefaults, useNullableFieldPrivateContext, useNullablePickerContext, usePickerPrivateContext } from '@mui/x-date-pickers/internals';
|
|
7
|
+
import { useField, useNullableFieldPrivateContext, useNullablePickerContext, usePickerPrivateContext } from '@mui/x-date-pickers/internals';
|
|
9
8
|
import { useNullablePickerRangePositionContext } from "../../internals/hooks/useNullablePickerRangePositionContext.js";
|
|
10
9
|
/**
|
|
11
10
|
* @ignore - internal hook.
|
|
@@ -102,21 +101,10 @@ export function useTextFieldProps(parameters) {
|
|
|
102
101
|
onKeyDown: handleKeyDown,
|
|
103
102
|
onChange: handleChange
|
|
104
103
|
});
|
|
105
|
-
const splittedProps = useSplitFieldProps(allProps, valueType);
|
|
106
|
-
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
107
|
-
manager,
|
|
108
|
-
internalProps: splittedProps.internalProps,
|
|
109
|
-
skipContextFieldRefAssignment: rangePosition !== position
|
|
110
|
-
});
|
|
111
104
|
const _ref = useField({
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
fieldValueManager: manager.internal_fieldValueManager,
|
|
116
|
-
validator: manager.validator,
|
|
117
|
-
valueType: manager.valueType,
|
|
118
|
-
// TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
|
|
119
|
-
getOpenPickerButtonAriaLabel: () => ''
|
|
105
|
+
manager,
|
|
106
|
+
props: allProps,
|
|
107
|
+
skipContextFieldRefAssignment: rangePosition !== position
|
|
120
108
|
}),
|
|
121
109
|
fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
122
110
|
React.useEffect(() => {
|
package/modern/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export const getReleaseInfo = () => {
|
|
3
|
-
const releaseInfo = "
|
|
3
|
+
const releaseInfo = "MTc0MzExMjgwMDAwMA==";
|
|
4
4
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
5
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
6
|
// eslint-disable-next-line no-useless-concat
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { usePickerTranslations } from '@mui/x-date-pickers/hooks';
|
|
6
|
-
import {
|
|
6
|
+
import { useApplyDefaultValuesToDateValidationProps, useUtils } from '@mui/x-date-pickers/internals';
|
|
7
7
|
import { getRangeFieldValueManager, rangeValueManager } from "../internals/utils/valueManagers.js";
|
|
8
8
|
import { validateDateRange } from "../validation/index.js";
|
|
9
9
|
import { formatRange } from "../internals/utils/date-utils.js";
|
|
@@ -20,22 +20,21 @@ export function useDateRangeManager(parameters = {}) {
|
|
|
20
20
|
dateSeparator
|
|
21
21
|
}),
|
|
22
22
|
internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
|
|
23
|
-
|
|
24
|
-
internalProps,
|
|
25
|
-
utils,
|
|
26
|
-
defaultDates
|
|
27
|
-
}) => _extends({}, internalProps, getDateFieldInternalPropsDefaults({
|
|
28
|
-
defaultDates,
|
|
29
|
-
utils,
|
|
30
|
-
internalProps
|
|
31
|
-
})),
|
|
23
|
+
internal_useApplyDefaultValuesToFieldInternalProps: useApplyDefaultValuesToDateRangeFieldInternalProps,
|
|
32
24
|
internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
|
|
33
25
|
}), [enableAccessibleFieldDOMStructure, dateSeparator]);
|
|
34
26
|
}
|
|
35
|
-
function useOpenPickerButtonAriaLabel() {
|
|
27
|
+
function useOpenPickerButtonAriaLabel(value) {
|
|
36
28
|
const utils = useUtils();
|
|
37
29
|
const translations = usePickerTranslations();
|
|
38
|
-
return React.
|
|
30
|
+
return React.useMemo(() => {
|
|
39
31
|
return translations.openRangePickerDialogue(formatRange(utils, value, 'fullDate'));
|
|
40
|
-
}, [translations, utils]);
|
|
32
|
+
}, [value, translations, utils]);
|
|
33
|
+
}
|
|
34
|
+
function useApplyDefaultValuesToDateRangeFieldInternalProps(internalProps) {
|
|
35
|
+
const utils = useUtils();
|
|
36
|
+
const validationProps = useApplyDefaultValuesToDateValidationProps(internalProps);
|
|
37
|
+
return React.useMemo(() => _extends({}, internalProps, validationProps, {
|
|
38
|
+
format: internalProps.format ?? utils.formats.keyboardDate
|
|
39
|
+
}), [internalProps, validationProps, utils]);
|
|
41
40
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { usePickerTranslations } from '@mui/x-date-pickers/hooks';
|
|
6
|
-
import {
|
|
6
|
+
import { useApplyDefaultValuesToDateTimeValidationProps, useUtils } from '@mui/x-date-pickers/internals';
|
|
7
7
|
import { getRangeFieldValueManager, rangeValueManager } from "../internals/utils/valueManagers.js";
|
|
8
8
|
import { validateDateTimeRange } from "../validation/index.js";
|
|
9
9
|
import { formatRange } from "../internals/utils/date-utils.js";
|
|
@@ -20,22 +20,22 @@ export function useDateTimeRangeManager(parameters = {}) {
|
|
|
20
20
|
dateSeparator
|
|
21
21
|
}),
|
|
22
22
|
internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
|
|
23
|
-
|
|
24
|
-
internalProps,
|
|
25
|
-
utils,
|
|
26
|
-
defaultDates
|
|
27
|
-
}) => _extends({}, internalProps, getDateTimeFieldInternalPropsDefaults({
|
|
28
|
-
internalProps,
|
|
29
|
-
utils,
|
|
30
|
-
defaultDates
|
|
31
|
-
})),
|
|
23
|
+
internal_useApplyDefaultValuesToFieldInternalProps: useApplyDefaultValuesToDateTimeRangeFieldInternalProps,
|
|
32
24
|
internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
|
|
33
25
|
}), [enableAccessibleFieldDOMStructure, dateSeparator]);
|
|
34
26
|
}
|
|
35
|
-
function useOpenPickerButtonAriaLabel() {
|
|
27
|
+
function useOpenPickerButtonAriaLabel(value) {
|
|
36
28
|
const utils = useUtils();
|
|
37
29
|
const translations = usePickerTranslations();
|
|
38
|
-
return React.
|
|
30
|
+
return React.useMemo(() => {
|
|
39
31
|
return translations.openRangePickerDialogue(formatRange(utils, value, 'fullDate'));
|
|
40
|
-
}, [translations, utils]);
|
|
32
|
+
}, [value, translations, utils]);
|
|
33
|
+
}
|
|
34
|
+
function useApplyDefaultValuesToDateTimeRangeFieldInternalProps(internalProps) {
|
|
35
|
+
const utils = useUtils();
|
|
36
|
+
const validationProps = useApplyDefaultValuesToDateTimeValidationProps(internalProps);
|
|
37
|
+
const ampm = React.useMemo(() => internalProps.ampm ?? utils.is12HourCycleInCurrentLocale(), [internalProps.ampm, utils]);
|
|
38
|
+
return React.useMemo(() => _extends({}, internalProps, validationProps, {
|
|
39
|
+
format: internalProps.format ?? (ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h)
|
|
40
|
+
}), [internalProps, validationProps, ampm, utils]);
|
|
41
41
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { usePickerTranslations } from '@mui/x-date-pickers/hooks';
|
|
6
|
-
import {
|
|
6
|
+
import { useApplyDefaultValuesToTimeValidationProps, useUtils } from '@mui/x-date-pickers/internals';
|
|
7
7
|
import { getRangeFieldValueManager, rangeValueManager } from "../internals/utils/valueManagers.js";
|
|
8
8
|
import { validateTimeRange } from "../validation/index.js";
|
|
9
9
|
import { formatRange } from "../internals/utils/date-utils.js";
|
|
@@ -21,23 +21,25 @@ export function useTimeRangeManager(parameters = {}) {
|
|
|
21
21
|
dateSeparator
|
|
22
22
|
}),
|
|
23
23
|
internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
|
|
24
|
-
|
|
25
|
-
internalProps,
|
|
26
|
-
utils
|
|
27
|
-
}) => _extends({}, internalProps, getTimeFieldInternalPropsDefaults({
|
|
28
|
-
utils,
|
|
29
|
-
internalProps
|
|
30
|
-
})),
|
|
24
|
+
internal_useApplyDefaultValuesToFieldInternalProps: useApplyDefaultValuesToTimeRangeFieldInternalProps,
|
|
31
25
|
internal_useOpenPickerButtonAriaLabel: createUseOpenPickerButtonAriaLabel(ampm)
|
|
32
26
|
}), [enableAccessibleFieldDOMStructure, dateSeparator, ampm]);
|
|
33
27
|
}
|
|
34
28
|
function createUseOpenPickerButtonAriaLabel(ampm) {
|
|
35
|
-
return function useOpenPickerButtonAriaLabel() {
|
|
29
|
+
return function useOpenPickerButtonAriaLabel(value) {
|
|
36
30
|
const utils = useUtils();
|
|
37
31
|
const translations = usePickerTranslations();
|
|
38
|
-
return React.
|
|
32
|
+
return React.useMemo(() => {
|
|
39
33
|
const formatKey = ampm ?? utils.is12HourCycleInCurrentLocale() ? 'fullTime12h' : 'fullTime24h';
|
|
40
34
|
return translations.openRangePickerDialogue(formatRange(utils, value, formatKey));
|
|
41
|
-
}, [translations, utils]);
|
|
35
|
+
}, [value, translations, utils]);
|
|
42
36
|
};
|
|
37
|
+
}
|
|
38
|
+
function useApplyDefaultValuesToTimeRangeFieldInternalProps(internalProps) {
|
|
39
|
+
const utils = useUtils();
|
|
40
|
+
const validationProps = useApplyDefaultValuesToTimeValidationProps(internalProps);
|
|
41
|
+
const ampm = React.useMemo(() => internalProps.ampm ?? utils.is12HourCycleInCurrentLocale(), [internalProps.ampm, utils]);
|
|
42
|
+
return React.useMemo(() => _extends({}, internalProps, validationProps, {
|
|
43
|
+
format: internalProps.format ?? (ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h)
|
|
44
|
+
}), [internalProps, validationProps, ampm, utils]);
|
|
43
45
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers-pro",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.2",
|
|
4
4
|
"description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"clsx": "^2.1.1",
|
|
38
38
|
"prop-types": "^15.8.1",
|
|
39
39
|
"react-transition-group": "^4.4.5",
|
|
40
|
-
"@mui/x-
|
|
41
|
-
"@mui/x-
|
|
42
|
-
"@mui/x-
|
|
40
|
+
"@mui/x-internals": "8.0.0-beta.2",
|
|
41
|
+
"@mui/x-license": "8.0.0-beta.2",
|
|
42
|
+
"@mui/x-date-pickers": "8.0.0-beta.2"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@emotion/react": "^11.9.0",
|