@mui/x-date-pickers 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/DateCalendar/DateCalendar.js +4 -8
- package/DateCalendar/DayCalendar.d.ts +3 -7
- package/DateCalendar/DayCalendar.js +18 -10
- package/DateCalendar/index.d.ts +0 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +2 -16
- package/DatePicker/DatePicker.js +1 -0
- package/DatePicker/shared.js +3 -9
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +2 -16
- package/DateTimePicker/DateTimePicker.js +1 -0
- package/DateTimePicker/shared.js +3 -13
- package/DesktopDatePicker/DesktopDatePicker.js +1 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -0
- package/DesktopTimePicker/DesktopTimePicker.js +1 -0
- package/MobileDatePicker/MobileDatePicker.js +1 -0
- package/MobileDateTimePicker/MobileDateTimePicker.js +1 -0
- package/MobileTimePicker/MobileTimePicker.js +1 -0
- package/MonthCalendar/MonthCalendar.js +4 -9
- package/PickersDay/PickersDay.d.ts +1 -72
- package/PickersDay/PickersDay.js +30 -28
- package/PickersDay/PickersDay.types.d.ts +114 -0
- package/PickersDay/PickersDay.types.js +5 -0
- package/PickersDay/index.d.ts +1 -1
- package/PickersDay/usePickerDayOwnerState.d.ts +14 -0
- package/PickersDay/usePickerDayOwnerState.js +40 -0
- package/PickersSectionList/PickersSectionList.d.ts +1 -1
- package/PickersSectionList/PickersSectionList.types.d.ts +2 -6
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +2 -16
- package/TimePicker/TimePicker.js +1 -0
- package/TimePicker/shared.js +3 -3
- package/YearCalendar/YearCalendar.js +4 -10
- package/esm/DateCalendar/DateCalendar.js +6 -10
- package/esm/DateCalendar/DayCalendar.d.ts +3 -7
- package/esm/DateCalendar/DayCalendar.js +18 -10
- package/esm/DateCalendar/index.d.ts +0 -1
- package/esm/DateField/useDateField.d.ts +1 -1
- package/esm/DateField/useDateField.js +3 -17
- package/esm/DatePicker/DatePicker.js +1 -0
- package/esm/DatePicker/shared.js +3 -9
- package/esm/DateTimeField/useDateTimeField.d.ts +1 -1
- package/esm/DateTimeField/useDateTimeField.js +3 -17
- package/esm/DateTimePicker/DateTimePicker.js +1 -0
- package/esm/DateTimePicker/shared.js +4 -14
- package/esm/DesktopDatePicker/DesktopDatePicker.js +1 -0
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -0
- package/esm/DesktopTimePicker/DesktopTimePicker.js +1 -0
- package/esm/MobileDatePicker/MobileDatePicker.js +1 -0
- package/esm/MobileDateTimePicker/MobileDateTimePicker.js +1 -0
- package/esm/MobileTimePicker/MobileTimePicker.js +1 -0
- package/esm/MonthCalendar/MonthCalendar.js +6 -11
- package/esm/PickersDay/PickersDay.d.ts +1 -72
- package/esm/PickersDay/PickersDay.js +30 -28
- package/esm/PickersDay/PickersDay.types.d.ts +114 -0
- package/esm/PickersDay/PickersDay.types.js +1 -0
- package/esm/PickersDay/index.d.ts +1 -1
- package/esm/PickersDay/usePickerDayOwnerState.d.ts +14 -0
- package/esm/PickersDay/usePickerDayOwnerState.js +32 -0
- package/esm/PickersSectionList/PickersSectionList.d.ts +1 -1
- package/esm/PickersSectionList/PickersSectionList.types.d.ts +2 -6
- package/esm/TimeField/useTimeField.d.ts +1 -1
- package/esm/TimeField/useTimeField.js +3 -17
- package/esm/TimePicker/TimePicker.js +1 -0
- package/esm/TimePicker/shared.js +3 -3
- package/esm/YearCalendar/YearCalendar.js +5 -11
- package/esm/hooks/useSplitFieldProps.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/components/PickerFieldUI.d.ts +5 -5
- package/esm/internals/hooks/useField/buildSectionsFromFormat.d.ts +2 -2
- package/esm/internals/hooks/useField/buildSectionsFromFormat.js +9 -9
- package/esm/internals/hooks/useField/index.d.ts +1 -1
- package/esm/internals/hooks/useField/syncSelectionToDOM.d.ts +9 -0
- package/esm/internals/hooks/useField/syncSelectionToDOM.js +50 -0
- package/esm/internals/hooks/useField/useField.d.ts +2 -4
- package/esm/internals/hooks/useField/useField.js +5 -229
- package/esm/internals/hooks/useField/useField.types.d.ts +55 -68
- package/esm/internals/hooks/useField/useField.utils.d.ts +3 -8
- package/esm/internals/hooks/useField/useField.utils.js +7 -149
- package/esm/internals/hooks/useField/useFieldCharacterEditing.d.ts +19 -26
- package/esm/internals/hooks/useField/useFieldCharacterEditing.js +42 -60
- package/esm/internals/hooks/useField/useFieldHiddenInputProps.d.ts +20 -0
- package/esm/internals/hooks/useField/useFieldHiddenInputProps.js +31 -0
- package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +8 -10
- package/esm/internals/hooks/useField/useFieldRootHandleKeyDown.d.ts +16 -0
- package/esm/internals/hooks/useField/useFieldRootHandleKeyDown.js +205 -0
- package/esm/internals/hooks/useField/useFieldRootProps.d.ts +32 -0
- package/esm/internals/hooks/useField/useFieldRootProps.js +150 -0
- package/esm/internals/hooks/useField/useFieldSectionContainerProps.d.ts +15 -0
- package/esm/internals/hooks/useField/useFieldSectionContainerProps.js +29 -0
- package/esm/internals/hooks/useField/useFieldSectionContentProps.d.ts +23 -0
- package/esm/internals/hooks/useField/useFieldSectionContentProps.js +226 -0
- package/esm/internals/hooks/useField/useFieldState.d.ts +23 -13
- package/esm/internals/hooks/useField/useFieldState.js +103 -30
- package/esm/internals/hooks/useField/useFieldV6TextField.d.ts +3 -3
- package/esm/internals/hooks/useField/useFieldV6TextField.js +202 -135
- package/esm/internals/hooks/useField/useFieldV7TextField.d.ts +3 -2
- package/esm/internals/hooks/useField/useFieldV7TextField.js +200 -367
- package/esm/internals/hooks/usePicker/usePicker.types.d.ts +1 -0
- package/esm/internals/index.d.ts +6 -5
- package/esm/internals/index.js +4 -3
- package/esm/locales/deDE.js +2 -3
- package/esm/managers/useDateManager.d.ts +4 -13
- package/esm/managers/useDateManager.js +21 -31
- package/esm/managers/useDateTimeManager.d.ts +4 -13
- package/esm/managers/useDateTimeManager.js +26 -36
- package/esm/managers/useTimeManager.d.ts +4 -13
- package/esm/managers/useTimeManager.js +17 -27
- package/esm/models/fields.d.ts +2 -2
- package/esm/models/manager.d.ts +6 -10
- package/esm/validation/validateDate.js +3 -4
- package/hooks/useSplitFieldProps.d.ts +1 -1
- package/index.js +1 -1
- package/internals/components/PickerFieldUI.d.ts +5 -5
- package/internals/hooks/useField/buildSectionsFromFormat.d.ts +2 -2
- package/internals/hooks/useField/buildSectionsFromFormat.js +9 -9
- package/internals/hooks/useField/index.d.ts +1 -1
- package/internals/hooks/useField/syncSelectionToDOM.d.ts +9 -0
- package/internals/hooks/useField/syncSelectionToDOM.js +56 -0
- package/internals/hooks/useField/useField.d.ts +2 -4
- package/internals/hooks/useField/useField.js +5 -231
- package/internals/hooks/useField/useField.types.d.ts +55 -68
- package/internals/hooks/useField/useField.utils.d.ts +3 -8
- package/internals/hooks/useField/useField.utils.js +9 -154
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +19 -26
- package/internals/hooks/useField/useFieldCharacterEditing.js +41 -59
- package/internals/hooks/useField/useFieldHiddenInputProps.d.ts +20 -0
- package/internals/hooks/useField/useFieldHiddenInputProps.js +39 -0
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +8 -10
- package/internals/hooks/useField/useFieldRootHandleKeyDown.d.ts +16 -0
- package/internals/hooks/useField/useFieldRootHandleKeyDown.js +211 -0
- package/internals/hooks/useField/useFieldRootProps.d.ts +32 -0
- package/internals/hooks/useField/useFieldRootProps.js +156 -0
- package/internals/hooks/useField/useFieldSectionContainerProps.d.ts +15 -0
- package/internals/hooks/useField/useFieldSectionContainerProps.js +37 -0
- package/internals/hooks/useField/useFieldSectionContentProps.d.ts +23 -0
- package/internals/hooks/useField/useFieldSectionContentProps.js +234 -0
- package/internals/hooks/useField/useFieldState.d.ts +23 -13
- package/internals/hooks/useField/useFieldState.js +102 -29
- package/internals/hooks/useField/useFieldV6TextField.d.ts +3 -3
- package/internals/hooks/useField/useFieldV6TextField.js +202 -135
- package/internals/hooks/useField/useFieldV7TextField.d.ts +3 -2
- package/internals/hooks/useField/useFieldV7TextField.js +200 -367
- package/internals/hooks/usePicker/usePicker.types.d.ts +1 -0
- package/internals/index.d.ts +6 -5
- package/internals/index.js +25 -18
- package/locales/deDE.js +2 -3
- package/managers/useDateManager.d.ts +4 -13
- package/managers/useDateManager.js +21 -31
- package/managers/useDateTimeManager.d.ts +4 -13
- package/managers/useDateTimeManager.js +26 -36
- package/managers/useTimeManager.d.ts +4 -13
- package/managers/useTimeManager.js +18 -28
- package/models/fields.d.ts +2 -2
- package/models/manager.d.ts +6 -10
- package/modern/DateCalendar/DateCalendar.js +6 -10
- package/modern/DateCalendar/DayCalendar.d.ts +3 -7
- package/modern/DateCalendar/DayCalendar.js +18 -10
- package/modern/DateCalendar/index.d.ts +0 -1
- package/modern/DateField/useDateField.d.ts +1 -1
- package/modern/DateField/useDateField.js +3 -17
- package/modern/DatePicker/DatePicker.js +1 -0
- package/modern/DatePicker/shared.js +3 -9
- package/modern/DateTimeField/useDateTimeField.d.ts +1 -1
- package/modern/DateTimeField/useDateTimeField.js +3 -17
- package/modern/DateTimePicker/DateTimePicker.js +1 -0
- package/modern/DateTimePicker/shared.js +4 -14
- package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -0
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -0
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -0
- package/modern/MobileDatePicker/MobileDatePicker.js +1 -0
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -0
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -0
- package/modern/MonthCalendar/MonthCalendar.js +6 -11
- package/modern/PickersDay/PickersDay.d.ts +1 -72
- package/modern/PickersDay/PickersDay.js +30 -28
- package/modern/PickersDay/PickersDay.types.d.ts +114 -0
- package/modern/PickersDay/PickersDay.types.js +1 -0
- package/modern/PickersDay/index.d.ts +1 -1
- package/modern/PickersDay/usePickerDayOwnerState.d.ts +14 -0
- package/modern/PickersDay/usePickerDayOwnerState.js +32 -0
- package/modern/PickersSectionList/PickersSectionList.d.ts +1 -1
- package/modern/PickersSectionList/PickersSectionList.types.d.ts +2 -6
- package/modern/TimeField/useTimeField.d.ts +1 -1
- package/modern/TimeField/useTimeField.js +3 -17
- package/modern/TimePicker/TimePicker.js +1 -0
- package/modern/TimePicker/shared.js +3 -3
- package/modern/YearCalendar/YearCalendar.js +5 -11
- package/modern/hooks/useSplitFieldProps.d.ts +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerFieldUI.d.ts +5 -5
- package/modern/internals/hooks/useField/buildSectionsFromFormat.d.ts +2 -2
- package/modern/internals/hooks/useField/buildSectionsFromFormat.js +9 -9
- package/modern/internals/hooks/useField/index.d.ts +1 -1
- package/modern/internals/hooks/useField/syncSelectionToDOM.d.ts +9 -0
- package/modern/internals/hooks/useField/syncSelectionToDOM.js +50 -0
- package/modern/internals/hooks/useField/useField.d.ts +2 -4
- package/modern/internals/hooks/useField/useField.js +5 -229
- package/modern/internals/hooks/useField/useField.types.d.ts +55 -68
- package/modern/internals/hooks/useField/useField.utils.d.ts +3 -8
- package/modern/internals/hooks/useField/useField.utils.js +7 -149
- package/modern/internals/hooks/useField/useFieldCharacterEditing.d.ts +19 -26
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +42 -60
- package/modern/internals/hooks/useField/useFieldHiddenInputProps.d.ts +20 -0
- package/modern/internals/hooks/useField/useFieldHiddenInputProps.js +31 -0
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +8 -10
- package/modern/internals/hooks/useField/useFieldRootHandleKeyDown.d.ts +16 -0
- package/modern/internals/hooks/useField/useFieldRootHandleKeyDown.js +205 -0
- package/modern/internals/hooks/useField/useFieldRootProps.d.ts +32 -0
- package/modern/internals/hooks/useField/useFieldRootProps.js +150 -0
- package/modern/internals/hooks/useField/useFieldSectionContainerProps.d.ts +15 -0
- package/modern/internals/hooks/useField/useFieldSectionContainerProps.js +29 -0
- package/modern/internals/hooks/useField/useFieldSectionContentProps.d.ts +23 -0
- package/modern/internals/hooks/useField/useFieldSectionContentProps.js +226 -0
- package/modern/internals/hooks/useField/useFieldState.d.ts +23 -13
- package/modern/internals/hooks/useField/useFieldState.js +103 -30
- package/modern/internals/hooks/useField/useFieldV6TextField.d.ts +3 -3
- package/modern/internals/hooks/useField/useFieldV6TextField.js +202 -135
- package/modern/internals/hooks/useField/useFieldV7TextField.d.ts +3 -2
- package/modern/internals/hooks/useField/useFieldV7TextField.js +200 -367
- package/modern/internals/hooks/usePicker/usePicker.types.d.ts +1 -0
- package/modern/internals/index.d.ts +6 -5
- package/modern/internals/index.js +4 -3
- package/modern/locales/deDE.js +2 -3
- package/modern/managers/useDateManager.d.ts +4 -13
- package/modern/managers/useDateManager.js +21 -31
- package/modern/managers/useDateTimeManager.d.ts +4 -13
- package/modern/managers/useDateTimeManager.js +26 -36
- package/modern/managers/useTimeManager.d.ts +4 -13
- package/modern/managers/useTimeManager.js +17 -27
- package/modern/models/fields.d.ts +2 -2
- package/modern/models/manager.d.ts +6 -10
- package/modern/validation/validateDate.js +3 -4
- package/package.json +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/validation/validateDate.js +3 -4
|
@@ -1,76 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { ExtendMui } from "../internals/models/helpers.js";
|
|
4
|
-
import { PickersDayClasses } from "./pickersDayClasses.js";
|
|
5
|
-
import { PickerValidDate } from "../models/index.js";
|
|
6
|
-
export interface ExportedPickersDayProps {
|
|
7
|
-
/**
|
|
8
|
-
* If `true`, today's date is rendering without highlighting with circle.
|
|
9
|
-
* @default false
|
|
10
|
-
*/
|
|
11
|
-
disableHighlightToday?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* If `true`, days outside the current month are rendered:
|
|
14
|
-
*
|
|
15
|
-
* - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
|
|
16
|
-
*
|
|
17
|
-
* - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
|
|
18
|
-
*
|
|
19
|
-
* - ignored if `calendars` equals more than `1` on range pickers.
|
|
20
|
-
* @default false
|
|
21
|
-
*/
|
|
22
|
-
showDaysOutsideCurrentMonth?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface PickersDayProps extends ExportedPickersDayProps, Omit<ExtendMui<ButtonBaseProps>, 'onKeyDown' | 'onFocus' | 'onBlur' | 'onMouseEnter' | 'LinkComponent'> {
|
|
25
|
-
/**
|
|
26
|
-
* Override or extend the styles applied to the component.
|
|
27
|
-
*/
|
|
28
|
-
classes?: Partial<PickersDayClasses>;
|
|
29
|
-
/**
|
|
30
|
-
* The date to show.
|
|
31
|
-
*/
|
|
32
|
-
day: PickerValidDate;
|
|
33
|
-
/**
|
|
34
|
-
* If `true`, renders as disabled.
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
disabled?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* If `true`, days are rendering without margin. Useful for displaying linked range of days.
|
|
40
|
-
* @default false
|
|
41
|
-
*/
|
|
42
|
-
disableMargin?: boolean;
|
|
43
|
-
isAnimating?: boolean;
|
|
44
|
-
onFocus?: (event: React.FocusEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
45
|
-
onBlur?: (event: React.FocusEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
46
|
-
onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
47
|
-
onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
48
|
-
onDaySelect: (day: PickerValidDate) => void;
|
|
49
|
-
/**
|
|
50
|
-
* If `true`, day is outside of month and will be hidden.
|
|
51
|
-
*/
|
|
52
|
-
outsideCurrentMonth: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* If `true`, day is the first visible cell of the month.
|
|
55
|
-
* Either the first day of the month or the first day of the week depending on `showDaysOutsideCurrentMonth`.
|
|
56
|
-
*/
|
|
57
|
-
isFirstVisibleCell: boolean;
|
|
58
|
-
/**
|
|
59
|
-
* If `true`, day is the last visible cell of the month.
|
|
60
|
-
* Either the last day of the month or the last day of the week depending on `showDaysOutsideCurrentMonth`.
|
|
61
|
-
*/
|
|
62
|
-
isLastVisibleCell: boolean;
|
|
63
|
-
/**
|
|
64
|
-
* If `true`, renders as selected.
|
|
65
|
-
* @default false
|
|
66
|
-
*/
|
|
67
|
-
selected?: boolean;
|
|
68
|
-
/**
|
|
69
|
-
* If `true`, renders as today date.
|
|
70
|
-
* @default false
|
|
71
|
-
*/
|
|
72
|
-
today?: boolean;
|
|
73
|
-
}
|
|
2
|
+
import { PickersDayProps } from "./PickersDay.types.js";
|
|
74
3
|
type PickersDayComponent = ((props: PickersDayProps & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element) & {
|
|
75
4
|
propTypes?: any;
|
|
76
5
|
};
|
package/PickersDay/PickersDay.js
CHANGED
|
@@ -18,22 +18,22 @@ var _styles = require("@mui/material/styles");
|
|
|
18
18
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
19
19
|
var _dimensions = require("../internals/constants/dimensions");
|
|
20
20
|
var _pickersDayClasses = require("./pickersDayClasses");
|
|
21
|
+
var _usePickerDayOwnerState = require("./usePickerDayOwnerState");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["autoFocus", "className", "
|
|
23
|
-
const useUtilityClasses = ownerState => {
|
|
23
|
+
const _excluded = ["autoFocus", "className", "classes", "hidden", "isAnimating", "onClick", "onDaySelect", "onFocus", "onBlur", "onKeyDown", "onMouseDown", "onMouseEnter", "children", "isFirstVisibleCell", "isLastVisibleCell", "day", "selected", "disabled", "today", "outsideCurrentMonth", "disableMargin", "disableHighlightToday", "showDaysOutsideCurrentMonth"];
|
|
24
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
24
25
|
const {
|
|
25
|
-
|
|
26
|
+
isDaySelected,
|
|
27
|
+
isDayDisabled,
|
|
28
|
+
isDayCurrent,
|
|
29
|
+
isDayOutsideMonth,
|
|
26
30
|
disableMargin,
|
|
27
31
|
disableHighlightToday,
|
|
28
|
-
|
|
29
|
-
disabled,
|
|
30
|
-
outsideCurrentMonth,
|
|
31
|
-
showDaysOutsideCurrentMonth,
|
|
32
|
-
classes
|
|
32
|
+
showDaysOutsideCurrentMonth
|
|
33
33
|
} = ownerState;
|
|
34
|
-
const isHiddenDaySpacingFiller =
|
|
34
|
+
const isHiddenDaySpacingFiller = isDayOutsideMonth && !showDaysOutsideCurrentMonth;
|
|
35
35
|
const slots = {
|
|
36
|
-
root: ['root',
|
|
36
|
+
root: ['root', isDaySelected && !isHiddenDaySpacingFiller && 'selected', isDayDisabled && 'disabled', !disableMargin && 'dayWithMargin', !disableHighlightToday && isDayCurrent && 'today', isDayOutsideMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth', isHiddenDaySpacingFiller && 'hiddenDaySpacingFiller'],
|
|
37
37
|
hiddenDaySpacingFiller: ['hiddenDaySpacingFiller']
|
|
38
38
|
};
|
|
39
39
|
return (0, _utils.unstable_composeClasses)(slots, _pickersDayClasses.getPickersDayUtilityClass, classes);
|
|
@@ -87,7 +87,7 @@ const styleArg = ({
|
|
|
87
87
|
}
|
|
88
88
|
}, {
|
|
89
89
|
props: {
|
|
90
|
-
|
|
90
|
+
isDayOutsideMonth: true,
|
|
91
91
|
showDaysOutsideCurrentMonth: true
|
|
92
92
|
},
|
|
93
93
|
style: {
|
|
@@ -96,7 +96,7 @@ const styleArg = ({
|
|
|
96
96
|
}, {
|
|
97
97
|
props: {
|
|
98
98
|
disableHighlightToday: false,
|
|
99
|
-
|
|
99
|
+
isDayCurrent: true
|
|
100
100
|
},
|
|
101
101
|
style: {
|
|
102
102
|
[`&:not(.${_pickersDayClasses.pickersDayClasses.selected})`]: {
|
|
@@ -109,7 +109,7 @@ const overridesResolver = (props, styles) => {
|
|
|
109
109
|
const {
|
|
110
110
|
ownerState
|
|
111
111
|
} = props;
|
|
112
|
-
return [styles.root, !ownerState.disableMargin && styles.dayWithMargin, !ownerState.disableHighlightToday && ownerState.
|
|
112
|
+
return [styles.root, !ownerState.disableMargin && styles.dayWithMargin, !ownerState.disableHighlightToday && ownerState.isDayCurrent && styles.today, !ownerState.isDayOutsideMonth && ownerState.showDaysOutsideCurrentMonth && styles.dayOutsideMonth, ownerState.isDayOutsideMonth && !ownerState.showDaysOutsideCurrentMonth && styles.hiddenDaySpacingFiller];
|
|
113
113
|
};
|
|
114
114
|
const PickersDayRoot = (0, _styles.styled)(_ButtonBase.default, {
|
|
115
115
|
name: 'MuiPickersDay',
|
|
@@ -138,10 +138,7 @@ const PickersDayRaw = /*#__PURE__*/React.forwardRef(function PickersDay(inProps,
|
|
|
138
138
|
const {
|
|
139
139
|
autoFocus = false,
|
|
140
140
|
className,
|
|
141
|
-
|
|
142
|
-
disabled = false,
|
|
143
|
-
disableHighlightToday = false,
|
|
144
|
-
disableMargin = false,
|
|
141
|
+
classes: classesProp,
|
|
145
142
|
isAnimating,
|
|
146
143
|
onClick,
|
|
147
144
|
onDaySelect,
|
|
@@ -150,23 +147,28 @@ const PickersDayRaw = /*#__PURE__*/React.forwardRef(function PickersDay(inProps,
|
|
|
150
147
|
onKeyDown = noop,
|
|
151
148
|
onMouseDown = noop,
|
|
152
149
|
onMouseEnter = noop,
|
|
153
|
-
outsideCurrentMonth,
|
|
154
|
-
selected = false,
|
|
155
|
-
showDaysOutsideCurrentMonth = false,
|
|
156
150
|
children,
|
|
157
|
-
|
|
151
|
+
day,
|
|
152
|
+
selected,
|
|
153
|
+
disabled,
|
|
154
|
+
today,
|
|
155
|
+
outsideCurrentMonth,
|
|
156
|
+
disableMargin,
|
|
157
|
+
disableHighlightToday,
|
|
158
|
+
showDaysOutsideCurrentMonth
|
|
158
159
|
} = props,
|
|
159
160
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
160
|
-
const ownerState = (0,
|
|
161
|
-
|
|
161
|
+
const ownerState = (0, _usePickerDayOwnerState.usePickerDayOwnerState)({
|
|
162
|
+
day,
|
|
163
|
+
selected,
|
|
162
164
|
disabled,
|
|
163
|
-
|
|
165
|
+
today,
|
|
166
|
+
outsideCurrentMonth,
|
|
164
167
|
disableMargin,
|
|
165
|
-
|
|
166
|
-
showDaysOutsideCurrentMonth
|
|
167
|
-
today: isToday
|
|
168
|
+
disableHighlightToday,
|
|
169
|
+
showDaysOutsideCurrentMonth
|
|
168
170
|
});
|
|
169
|
-
const classes = useUtilityClasses(ownerState);
|
|
171
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
170
172
|
const utils = (0, _useUtils.useUtils)();
|
|
171
173
|
const ref = React.useRef(null);
|
|
172
174
|
const handleRef = (0, _utils.unstable_useForkRef)(ref, forwardedRef);
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { ButtonBaseProps } from '@mui/material/ButtonBase';
|
|
2
|
+
import { PickerOwnerState, PickerValidDate } from "../models/pickers.js";
|
|
3
|
+
import { ExtendMui } from "../internals/models/helpers.js";
|
|
4
|
+
import { PickersDayClasses } from "./pickersDayClasses.js";
|
|
5
|
+
export interface PickerDayOwnerState extends PickerOwnerState {
|
|
6
|
+
/**
|
|
7
|
+
* The object representing the day.
|
|
8
|
+
*/
|
|
9
|
+
day: PickerValidDate;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the day is selected.
|
|
12
|
+
*/
|
|
13
|
+
isDaySelected: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the day is disabled.
|
|
16
|
+
*/
|
|
17
|
+
isDayDisabled: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the day is equal to today.
|
|
20
|
+
*/
|
|
21
|
+
isDayCurrent: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether the day is outside the month it's being rendered in.
|
|
24
|
+
*/
|
|
25
|
+
isDayOutsideMonth: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the day is the first day of the week.
|
|
28
|
+
*/
|
|
29
|
+
isDayStartOfWeek: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the day is the last day of the week.
|
|
32
|
+
*/
|
|
33
|
+
isDayEndOfWeek: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the margin around the day should be removed.
|
|
36
|
+
*/
|
|
37
|
+
disableMargin: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the visual indication around the current day should be removed.
|
|
40
|
+
*/
|
|
41
|
+
disableHighlightToday: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the day outside of the month they are being rendered in should be visible.
|
|
44
|
+
*/
|
|
45
|
+
showDaysOutsideCurrentMonth: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface ExportedPickersDayProps {
|
|
48
|
+
/**
|
|
49
|
+
* If `true`, today's date is rendering without highlighting with circle.
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
disableHighlightToday?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* If `true`, days outside the current month are rendered:
|
|
55
|
+
*
|
|
56
|
+
* - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
|
|
57
|
+
*
|
|
58
|
+
* - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
|
|
59
|
+
*
|
|
60
|
+
* - ignored if `calendars` equals more than `1` on range pickers.
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
63
|
+
showDaysOutsideCurrentMonth?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface PickersDayProps extends ExportedPickersDayProps, Omit<ExtendMui<ButtonBaseProps>, 'onKeyDown' | 'onFocus' | 'onBlur' | 'onMouseEnter' | 'LinkComponent'> {
|
|
66
|
+
/**
|
|
67
|
+
* Override or extend the styles applied to the component.
|
|
68
|
+
*/
|
|
69
|
+
classes?: Partial<PickersDayClasses>;
|
|
70
|
+
/**
|
|
71
|
+
* The date to show.
|
|
72
|
+
*/
|
|
73
|
+
day: PickerValidDate;
|
|
74
|
+
/**
|
|
75
|
+
* If `true`, renders as disabled.
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
disabled?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* If `true`, days are rendering without margin. Useful for displaying linked range of days.
|
|
81
|
+
* @default false
|
|
82
|
+
*/
|
|
83
|
+
disableMargin?: boolean;
|
|
84
|
+
isAnimating?: boolean;
|
|
85
|
+
onFocus?: (event: React.FocusEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
86
|
+
onBlur?: (event: React.FocusEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
87
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
88
|
+
onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, day: PickerValidDate) => void;
|
|
89
|
+
onDaySelect: (day: PickerValidDate) => void;
|
|
90
|
+
/**
|
|
91
|
+
* If `true`, day is outside of month and will be hidden.
|
|
92
|
+
*/
|
|
93
|
+
outsideCurrentMonth: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* If `true`, day is the first visible cell of the month.
|
|
96
|
+
* Either the first day of the month or the first day of the week depending on `showDaysOutsideCurrentMonth`.
|
|
97
|
+
*/
|
|
98
|
+
isFirstVisibleCell: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* If `true`, day is the last visible cell of the month.
|
|
101
|
+
* Either the last day of the month or the last day of the week depending on `showDaysOutsideCurrentMonth`.
|
|
102
|
+
*/
|
|
103
|
+
isLastVisibleCell: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* If `true`, renders as selected.
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
selected?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* If `true`, renders as today date.
|
|
111
|
+
* @default false
|
|
112
|
+
*/
|
|
113
|
+
today?: boolean;
|
|
114
|
+
}
|
package/PickersDay/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { PickersDay } from "./PickersDay.js";
|
|
2
|
-
export type { PickersDayProps } from './PickersDay';
|
|
2
|
+
export type { PickersDayProps, PickerDayOwnerState } from './PickersDay.types';
|
|
3
3
|
export { pickersDayClasses, getPickersDayUtilityClass } from "./pickersDayClasses.js";
|
|
4
4
|
export type { PickersDayClasses, PickersDayClassKey } from './pickersDayClasses';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PickerDayOwnerState } from "./PickersDay.types.js";
|
|
2
|
+
import { PickerValidDate } from "../models/pickers.js";
|
|
3
|
+
export declare function usePickerDayOwnerState(parameters: UsePickerDayOwnerStateParameters): PickerDayOwnerState;
|
|
4
|
+
interface UsePickerDayOwnerStateParameters {
|
|
5
|
+
day: PickerValidDate;
|
|
6
|
+
disabled: boolean | undefined;
|
|
7
|
+
selected: boolean | undefined;
|
|
8
|
+
today: boolean | undefined;
|
|
9
|
+
outsideCurrentMonth: boolean | undefined;
|
|
10
|
+
disableMargin: boolean | undefined;
|
|
11
|
+
disableHighlightToday: boolean | undefined;
|
|
12
|
+
showDaysOutsideCurrentMonth: boolean | undefined;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.usePickerDayOwnerState = usePickerDayOwnerState;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
12
|
+
var _useUtils = require("../internals/hooks/useUtils");
|
|
13
|
+
function usePickerDayOwnerState(parameters) {
|
|
14
|
+
const {
|
|
15
|
+
disabled,
|
|
16
|
+
selected,
|
|
17
|
+
today,
|
|
18
|
+
outsideCurrentMonth,
|
|
19
|
+
day,
|
|
20
|
+
disableMargin,
|
|
21
|
+
disableHighlightToday,
|
|
22
|
+
showDaysOutsideCurrentMonth
|
|
23
|
+
} = parameters;
|
|
24
|
+
const utils = (0, _useUtils.useUtils)();
|
|
25
|
+
const {
|
|
26
|
+
ownerState: pickerOwnerState
|
|
27
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
28
|
+
return React.useMemo(() => (0, _extends2.default)({}, pickerOwnerState, {
|
|
29
|
+
day,
|
|
30
|
+
isDaySelected: selected ?? false,
|
|
31
|
+
isDayDisabled: disabled ?? false,
|
|
32
|
+
isDayCurrent: today ?? false,
|
|
33
|
+
isDayOutsideMonth: outsideCurrentMonth ?? false,
|
|
34
|
+
isDayStartOfWeek: utils.isSameDay(day, utils.startOfWeek(day)),
|
|
35
|
+
isDayEndOfWeek: utils.isSameDay(day, utils.endOfWeek(day)),
|
|
36
|
+
disableMargin: disableMargin ?? false,
|
|
37
|
+
disableHighlightToday: disableHighlightToday ?? false,
|
|
38
|
+
showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth ?? false
|
|
39
|
+
}), [utils, pickerOwnerState, day, selected, disabled, today, outsideCurrentMonth, disableMargin, disableHighlightToday, showDaysOutsideCurrentMonth]);
|
|
40
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { PickersSectionListProps } from
|
|
2
|
+
import type { PickersSectionListProps } from './PickersSectionList.types';
|
|
3
3
|
export declare const PickersSectionListRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
|
|
4
4
|
export declare const PickersSectionListSection: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
|
|
5
5
|
export declare const PickersSectionListSectionSeparator: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { SlotComponentProps } from '@mui/utils';
|
|
3
3
|
import { PickersSectionListClasses } from "./pickersSectionListClasses.js";
|
|
4
4
|
import { PickerOwnerState } from "../models/index.js";
|
|
5
|
+
import type { UseFieldDOMGetters } from '../internals/hooks/useField/useField.types';
|
|
5
6
|
export interface PickersSectionListSlots {
|
|
6
7
|
root: React.ElementType;
|
|
7
8
|
section: React.ElementType;
|
|
@@ -28,12 +29,7 @@ export interface PickersSectionElement {
|
|
|
28
29
|
before: React.HTMLAttributes<HTMLSpanElement>;
|
|
29
30
|
after: React.HTMLAttributes<HTMLSpanElement>;
|
|
30
31
|
}
|
|
31
|
-
export interface PickersSectionListRef {
|
|
32
|
-
getRoot: () => HTMLElement;
|
|
33
|
-
getSectionContainer: (sectionIndex: number) => HTMLElement;
|
|
34
|
-
getSectionContent: (sectionIndex: number) => HTMLElement;
|
|
35
|
-
getSectionIndexFromDOMElement: (element: Element | null | undefined) => number | null;
|
|
36
|
-
}
|
|
32
|
+
export interface PickersSectionListRef extends Omit<UseFieldDOMGetters, 'isReady'> {}
|
|
37
33
|
export interface ExportedPickersSectionListProps extends Pick<React.HTMLAttributes<HTMLDivElement>, 'tabIndex'> {
|
|
38
34
|
/**
|
|
39
35
|
* The elements to render.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { UseTimeFieldProps } from "./TimeField.types.js";
|
|
2
|
-
export declare const useTimeField: <TEnableAccessibleFieldDOMStructure extends boolean,
|
|
2
|
+
export declare const useTimeField: <TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseTimeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TProps) => import("../internals").UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TProps>;
|
|
@@ -6,26 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.useTimeField = void 0;
|
|
8
8
|
var _useField = require("../internals/hooks/useField");
|
|
9
|
-
var _hooks = require("../hooks");
|
|
10
9
|
var _managers = require("../managers");
|
|
11
10
|
const useTimeField = props => {
|
|
12
11
|
const manager = (0, _managers.useTimeManager)(props);
|
|
13
|
-
const {
|
|
14
|
-
forwardedProps,
|
|
15
|
-
internalProps
|
|
16
|
-
} = (0, _hooks.useSplitFieldProps)(props, 'time');
|
|
17
|
-
const internalPropsWithDefaults = (0, _useField.useFieldInternalPropsWithDefaults)({
|
|
18
|
-
manager,
|
|
19
|
-
internalProps
|
|
20
|
-
});
|
|
21
12
|
return (0, _useField.useField)({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
valueManager: manager.internal_valueManager,
|
|
25
|
-
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
-
validator: manager.validator,
|
|
27
|
-
valueType: manager.valueType,
|
|
28
|
-
getOpenPickerButtonAriaLabel: manager.internal_useOpenPickerButtonAriaLabel()
|
|
13
|
+
manager,
|
|
14
|
+
props
|
|
29
15
|
});
|
|
30
16
|
};
|
|
31
17
|
exports.useTimeField = useTimeField;
|
package/TimePicker/TimePicker.js
CHANGED
|
@@ -109,6 +109,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
109
109
|
disableIgnoringDatePartForTimeValidation: _propTypes.default.bool,
|
|
110
110
|
/**
|
|
111
111
|
* If `true`, the button to open the Picker will not be rendered (it will only render the field).
|
|
112
|
+
* @deprecated Use the [field component](https://next.mui.com/x/react-date-pickers/fields/) instead.
|
|
112
113
|
* @default false
|
|
113
114
|
*/
|
|
114
115
|
disableOpenPicker: _propTypes.default.bool,
|
package/TimePicker/shared.js
CHANGED
|
@@ -12,12 +12,14 @@ var _styles = require("@mui/material/styles");
|
|
|
12
12
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
13
13
|
var _TimePickerToolbar = require("./TimePickerToolbar");
|
|
14
14
|
var _views = require("../internals/utils/views");
|
|
15
|
+
var _useTimeManager = require("../managers/useTimeManager");
|
|
15
16
|
function useTimePickerDefaultizedProps(props, name) {
|
|
16
17
|
const utils = (0, _useUtils.useUtils)();
|
|
17
18
|
const themeProps = (0, _styles.useThemeProps)({
|
|
18
19
|
props,
|
|
19
20
|
name
|
|
20
21
|
});
|
|
22
|
+
const validationProps = (0, _useTimeManager.useApplyDefaultValuesToTimeValidationProps)(themeProps);
|
|
21
23
|
const ampm = themeProps.ampm ?? utils.is12HourCycleInCurrentLocale();
|
|
22
24
|
const localeText = React.useMemo(() => {
|
|
23
25
|
if (themeProps.localeText?.toolbarTitle == null) {
|
|
@@ -27,7 +29,7 @@ function useTimePickerDefaultizedProps(props, name) {
|
|
|
27
29
|
timePickerToolbarTitle: themeProps.localeText.toolbarTitle
|
|
28
30
|
});
|
|
29
31
|
}, [themeProps.localeText]);
|
|
30
|
-
return (0, _extends2.default)({}, themeProps, {
|
|
32
|
+
return (0, _extends2.default)({}, themeProps, validationProps, {
|
|
31
33
|
ampm,
|
|
32
34
|
localeText
|
|
33
35
|
}, (0, _views.applyDefaultViewProps)({
|
|
@@ -36,8 +38,6 @@ function useTimePickerDefaultizedProps(props, name) {
|
|
|
36
38
|
defaultViews: ['hours', 'minutes'],
|
|
37
39
|
defaultOpenTo: 'hours'
|
|
38
40
|
}), {
|
|
39
|
-
disableFuture: themeProps.disableFuture ?? false,
|
|
40
|
-
disablePast: themeProps.disablePast ?? false,
|
|
41
41
|
slots: (0, _extends2.default)({
|
|
42
42
|
toolbar: _TimePickerToolbar.TimePickerToolbar
|
|
43
43
|
}, themeProps.slots),
|
|
@@ -19,12 +19,12 @@ var _utils = require("@mui/utils");
|
|
|
19
19
|
var _YearCalendarButton = require("./YearCalendarButton");
|
|
20
20
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
21
21
|
var _yearCalendarClasses = require("./yearCalendarClasses");
|
|
22
|
-
var _dateUtils = require("../internals/utils/date-utils");
|
|
23
22
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
24
23
|
var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDate");
|
|
25
24
|
var _useControlledValue = require("../internals/hooks/useControlledValue");
|
|
26
25
|
var _dimensions = require("../internals/constants/dimensions");
|
|
27
26
|
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
27
|
+
var _useDateManager = require("../managers/useDateManager");
|
|
28
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
29
|
const _excluded = ["autoFocus", "className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
|
|
30
30
|
const useUtilityClasses = classes => {
|
|
@@ -34,20 +34,14 @@ const useUtilityClasses = classes => {
|
|
|
34
34
|
return (0, _utils.unstable_composeClasses)(slots, _yearCalendarClasses.getYearCalendarUtilityClass, classes);
|
|
35
35
|
};
|
|
36
36
|
function useYearCalendarDefaultizedProps(props, name) {
|
|
37
|
-
const utils = (0, _useUtils.useUtils)();
|
|
38
|
-
const defaultDates = (0, _useUtils.useDefaultDates)();
|
|
39
37
|
const themeProps = (0, _styles.useThemeProps)({
|
|
40
38
|
props,
|
|
41
39
|
name
|
|
42
40
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
disableFuture: false
|
|
46
|
-
}, themeProps, {
|
|
41
|
+
const validationProps = (0, _useDateManager.useApplyDefaultValuesToDateValidationProps)(themeProps);
|
|
42
|
+
return (0, _extends2.default)({}, themeProps, validationProps, {
|
|
47
43
|
yearsPerRow: themeProps.yearsPerRow ?? 3,
|
|
48
|
-
yearsOrder: themeProps.yearsOrder ?? 'asc'
|
|
49
|
-
minDate: (0, _dateUtils.applyDefaultDate)(utils, themeProps.minDate, defaultDates.minDate),
|
|
50
|
-
maxDate: (0, _dateUtils.applyDefaultDate)(utils, themeProps.maxDate, defaultDates.maxDate)
|
|
44
|
+
yearsOrder: themeProps.yearsOrder ?? 'asc'
|
|
51
45
|
});
|
|
52
46
|
}
|
|
53
47
|
const YearCalendarRoot = (0, _styles.styled)('div', {
|
|
@@ -10,14 +10,14 @@ import useSlotProps from '@mui/utils/useSlotProps';
|
|
|
10
10
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
11
11
|
import { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_useEventCallback as useEventCallback } from '@mui/utils';
|
|
12
12
|
import { useCalendarState } from "./useCalendarState.js";
|
|
13
|
-
import {
|
|
13
|
+
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
14
14
|
import { PickersFadeTransitionGroup } from "./PickersFadeTransitionGroup.js";
|
|
15
15
|
import { DayCalendar } from "./DayCalendar.js";
|
|
16
16
|
import { MonthCalendar } from "../MonthCalendar/index.js";
|
|
17
17
|
import { YearCalendar } from "../YearCalendar/index.js";
|
|
18
18
|
import { useViews } from "../internals/hooks/useViews.js";
|
|
19
19
|
import { PickersCalendarHeader } from "../PickersCalendarHeader/index.js";
|
|
20
|
-
import { findClosestEnabledDate,
|
|
20
|
+
import { findClosestEnabledDate, mergeDateAndTime } from "../internals/utils/date-utils.js";
|
|
21
21
|
import { PickerViewRoot } from "../internals/components/PickerViewRoot/index.js";
|
|
22
22
|
import { useReduceAnimations } from "../internals/hooks/useReduceAnimations.js";
|
|
23
23
|
import { getDateCalendarUtilityClass } from "./dateCalendarClasses.js";
|
|
@@ -25,6 +25,7 @@ import { useControlledValue } from "../internals/hooks/useControlledValue.js";
|
|
|
25
25
|
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
26
26
|
import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
|
|
27
27
|
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
28
|
+
import { useApplyDefaultValuesToDateValidationProps } from "../managers/useDateManager.js";
|
|
28
29
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
30
|
const useUtilityClasses = classes => {
|
|
30
31
|
const slots = {
|
|
@@ -34,25 +35,20 @@ const useUtilityClasses = classes => {
|
|
|
34
35
|
return composeClasses(slots, getDateCalendarUtilityClass, classes);
|
|
35
36
|
};
|
|
36
37
|
function useDateCalendarDefaultizedProps(props, name) {
|
|
37
|
-
const utils = useUtils();
|
|
38
|
-
const defaultDates = useDefaultDates();
|
|
39
38
|
const themeProps = useThemeProps({
|
|
40
39
|
props,
|
|
41
40
|
name
|
|
42
41
|
});
|
|
43
42
|
const reduceAnimations = useReduceAnimations(themeProps.reduceAnimations);
|
|
44
|
-
|
|
43
|
+
const validationProps = useApplyDefaultValuesToDateValidationProps(themeProps);
|
|
44
|
+
return _extends({}, themeProps, validationProps, {
|
|
45
45
|
loading: themeProps.loading ?? false,
|
|
46
|
-
disablePast: themeProps.disablePast ?? false,
|
|
47
|
-
disableFuture: themeProps.disableFuture ?? false,
|
|
48
46
|
openTo: themeProps.openTo ?? 'day',
|
|
49
47
|
views: themeProps.views ?? ['year', 'day'],
|
|
50
48
|
reduceAnimations,
|
|
51
49
|
renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/_jsx("span", {
|
|
52
50
|
children: "..."
|
|
53
|
-
}))
|
|
54
|
-
minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
|
|
55
|
-
maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)
|
|
51
|
+
}))
|
|
56
52
|
});
|
|
57
53
|
}
|
|
58
54
|
const DateCalendarRoot = styled(PickerViewRoot, {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DefaultizedProps, SlotComponentPropsFromProps } from '@mui/x-internals/types';
|
|
3
|
-
import {
|
|
3
|
+
import { PickerDayOwnerState, PickersDayProps } from "../PickersDay/index.js";
|
|
4
|
+
import { ExportedPickersDayProps } from "../PickersDay/PickersDay.types.js";
|
|
4
5
|
import { PickerOnChangeFn } from "../internals/hooks/useViews.js";
|
|
5
6
|
import { SlideDirection, SlideTransitionProps } from "./PickersSlideTransition.js";
|
|
6
7
|
import { BaseDateValidationProps, DayValidationProps, MonthValidationProps, YearValidationProps } from "../internals/models/validation.js";
|
|
7
8
|
import { DayCalendarClasses } from "./dayCalendarClasses.js";
|
|
8
|
-
import {
|
|
9
|
+
import { PickerValidDate, TimezoneProps } from "../models/index.js";
|
|
9
10
|
import { FormProps } from "../internals/models/formProps.js";
|
|
10
11
|
export interface DayCalendarSlots {
|
|
11
12
|
/**
|
|
@@ -18,11 +19,6 @@ export interface DayCalendarSlots {
|
|
|
18
19
|
export interface DayCalendarSlotProps {
|
|
19
20
|
day?: SlotComponentPropsFromProps<PickersDayProps, {}, PickerDayOwnerState>;
|
|
20
21
|
}
|
|
21
|
-
export interface PickerDayOwnerState extends PickerOwnerState {
|
|
22
|
-
isDaySelected: boolean;
|
|
23
|
-
isDayDisabled: boolean;
|
|
24
|
-
day: PickerValidDate;
|
|
25
|
-
}
|
|
26
22
|
export interface ExportedDayCalendarProps extends ExportedPickersDayProps {
|
|
27
23
|
/**
|
|
28
24
|
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|