@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
|
@@ -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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,32 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
4
|
+
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
5
|
+
export function usePickerDayOwnerState(parameters) {
|
|
6
|
+
const {
|
|
7
|
+
disabled,
|
|
8
|
+
selected,
|
|
9
|
+
today,
|
|
10
|
+
outsideCurrentMonth,
|
|
11
|
+
day,
|
|
12
|
+
disableMargin,
|
|
13
|
+
disableHighlightToday,
|
|
14
|
+
showDaysOutsideCurrentMonth
|
|
15
|
+
} = parameters;
|
|
16
|
+
const utils = useUtils();
|
|
17
|
+
const {
|
|
18
|
+
ownerState: pickerOwnerState
|
|
19
|
+
} = usePickerPrivateContext();
|
|
20
|
+
return React.useMemo(() => _extends({}, pickerOwnerState, {
|
|
21
|
+
day,
|
|
22
|
+
isDaySelected: selected ?? false,
|
|
23
|
+
isDayDisabled: disabled ?? false,
|
|
24
|
+
isDayCurrent: today ?? false,
|
|
25
|
+
isDayOutsideMonth: outsideCurrentMonth ?? false,
|
|
26
|
+
isDayStartOfWeek: utils.isSameDay(day, utils.startOfWeek(day)),
|
|
27
|
+
isDayEndOfWeek: utils.isSameDay(day, utils.endOfWeek(day)),
|
|
28
|
+
disableMargin: disableMargin ?? false,
|
|
29
|
+
disableHighlightToday: disableHighlightToday ?? false,
|
|
30
|
+
showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth ?? false
|
|
31
|
+
}), [utils, pickerOwnerState, day, selected, disabled, today, outsideCurrentMonth, disableMargin, disableHighlightToday, showDaysOutsideCurrentMonth]);
|
|
32
|
+
}
|
|
@@ -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>;
|
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { useField
|
|
4
|
-
import { useSplitFieldProps } from "../hooks/index.js";
|
|
3
|
+
import { useField } from "../internals/hooks/useField/index.js";
|
|
5
4
|
import { useTimeManager } from "../managers/index.js";
|
|
6
5
|
export const useTimeField = props => {
|
|
7
6
|
const manager = useTimeManager(props);
|
|
8
|
-
const {
|
|
9
|
-
forwardedProps,
|
|
10
|
-
internalProps
|
|
11
|
-
} = useSplitFieldProps(props, 'time');
|
|
12
|
-
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
13
|
-
manager,
|
|
14
|
-
internalProps
|
|
15
|
-
});
|
|
16
7
|
return useField({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
valueManager: manager.internal_valueManager,
|
|
20
|
-
fieldValueManager: manager.internal_fieldValueManager,
|
|
21
|
-
validator: manager.validator,
|
|
22
|
-
valueType: manager.valueType,
|
|
23
|
-
getOpenPickerButtonAriaLabel: manager.internal_useOpenPickerButtonAriaLabel()
|
|
8
|
+
manager,
|
|
9
|
+
props
|
|
24
10
|
});
|
|
25
11
|
};
|
|
@@ -102,6 +102,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
102
102
|
disableIgnoringDatePartForTimeValidation: PropTypes.bool,
|
|
103
103
|
/**
|
|
104
104
|
* If `true`, the button to open the Picker will not be rendered (it will only render the field).
|
|
105
|
+
* @deprecated Use the [field component](https://next.mui.com/x/react-date-pickers/fields/) instead.
|
|
105
106
|
* @default false
|
|
106
107
|
*/
|
|
107
108
|
disableOpenPicker: PropTypes.bool,
|
package/esm/TimePicker/shared.js
CHANGED
|
@@ -4,12 +4,14 @@ import { useThemeProps } from '@mui/material/styles';
|
|
|
4
4
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
5
5
|
import { TimePickerToolbar } from "./TimePickerToolbar.js";
|
|
6
6
|
import { applyDefaultViewProps } from "../internals/utils/views.js";
|
|
7
|
+
import { useApplyDefaultValuesToTimeValidationProps } from "../managers/useTimeManager.js";
|
|
7
8
|
export function useTimePickerDefaultizedProps(props, name) {
|
|
8
9
|
const utils = useUtils();
|
|
9
10
|
const themeProps = useThemeProps({
|
|
10
11
|
props,
|
|
11
12
|
name
|
|
12
13
|
});
|
|
14
|
+
const validationProps = useApplyDefaultValuesToTimeValidationProps(themeProps);
|
|
13
15
|
const ampm = themeProps.ampm ?? utils.is12HourCycleInCurrentLocale();
|
|
14
16
|
const localeText = React.useMemo(() => {
|
|
15
17
|
if (themeProps.localeText?.toolbarTitle == null) {
|
|
@@ -19,7 +21,7 @@ export function useTimePickerDefaultizedProps(props, name) {
|
|
|
19
21
|
timePickerToolbarTitle: themeProps.localeText.toolbarTitle
|
|
20
22
|
});
|
|
21
23
|
}, [themeProps.localeText]);
|
|
22
|
-
return _extends({}, themeProps, {
|
|
24
|
+
return _extends({}, themeProps, validationProps, {
|
|
23
25
|
ampm,
|
|
24
26
|
localeText
|
|
25
27
|
}, applyDefaultViewProps({
|
|
@@ -28,8 +30,6 @@ export function useTimePickerDefaultizedProps(props, name) {
|
|
|
28
30
|
defaultViews: ['hours', 'minutes'],
|
|
29
31
|
defaultOpenTo: 'hours'
|
|
30
32
|
}), {
|
|
31
|
-
disableFuture: themeProps.disableFuture ?? false,
|
|
32
|
-
disablePast: themeProps.disablePast ?? false,
|
|
33
33
|
slots: _extends({
|
|
34
34
|
toolbar: TimePickerToolbar
|
|
35
35
|
}, themeProps.slots),
|
|
@@ -11,14 +11,14 @@ import { shouldForwardProp } from '@mui/system/createStyled';
|
|
|
11
11
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
12
12
|
import { unstable_useForkRef as useForkRef, unstable_composeClasses as composeClasses, unstable_useControlled as useControlled, unstable_useEventCallback as useEventCallback } from '@mui/utils';
|
|
13
13
|
import { YearCalendarButton } from "./YearCalendarButton.js";
|
|
14
|
-
import { useUtils, useNow
|
|
14
|
+
import { useUtils, useNow } from "../internals/hooks/useUtils.js";
|
|
15
15
|
import { getYearCalendarUtilityClass } from "./yearCalendarClasses.js";
|
|
16
|
-
import { applyDefaultDate } from "../internals/utils/date-utils.js";
|
|
17
16
|
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
18
17
|
import { SECTION_TYPE_GRANULARITY } from "../internals/utils/getDefaultReferenceDate.js";
|
|
19
18
|
import { useControlledValue } from "../internals/hooks/useControlledValue.js";
|
|
20
19
|
import { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from "../internals/constants/dimensions.js";
|
|
21
20
|
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
21
|
+
import { useApplyDefaultValuesToDateValidationProps } from "../managers/useDateManager.js";
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
23
|
const useUtilityClasses = classes => {
|
|
24
24
|
const slots = {
|
|
@@ -27,20 +27,14 @@ const useUtilityClasses = classes => {
|
|
|
27
27
|
return composeClasses(slots, getYearCalendarUtilityClass, classes);
|
|
28
28
|
};
|
|
29
29
|
function useYearCalendarDefaultizedProps(props, name) {
|
|
30
|
-
const utils = useUtils();
|
|
31
|
-
const defaultDates = useDefaultDates();
|
|
32
30
|
const themeProps = useThemeProps({
|
|
33
31
|
props,
|
|
34
32
|
name
|
|
35
33
|
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
disableFuture: false
|
|
39
|
-
}, themeProps, {
|
|
34
|
+
const validationProps = useApplyDefaultValuesToDateValidationProps(themeProps);
|
|
35
|
+
return _extends({}, themeProps, validationProps, {
|
|
40
36
|
yearsPerRow: themeProps.yearsPerRow ?? 3,
|
|
41
|
-
yearsOrder: themeProps.yearsOrder ?? 'asc'
|
|
42
|
-
minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
|
|
43
|
-
maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)
|
|
37
|
+
yearsOrder: themeProps.yearsOrder ?? 'asc'
|
|
44
38
|
});
|
|
45
39
|
}
|
|
46
40
|
const YearCalendarRoot = styled('div', {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from "../validation/extractValidationProps.js";
|
|
2
2
|
import { PickerValueType } from "../models/common.js";
|
|
3
3
|
declare const SHARED_FIELD_INTERNAL_PROP_NAMES: readonly ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef", "unstableStartFieldRef", "unstableEndFieldRef", "enableAccessibleFieldDOMStructure", "disabled", "readOnly", "dateSeparator", "autoFocus", "focused"];
|
|
4
|
-
type InternalPropNames<TValueType extends PickerValueType> = (typeof SHARED_FIELD_INTERNAL_PROP_NAMES)[number] | (TValueType extends 'date' | 'date-time' ? (typeof DATE_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'time' | 'date-time' ? (typeof TIME_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'date-time' ? (typeof DATE_TIME_VALIDATION_PROP_NAMES)[number] : never);
|
|
4
|
+
export type InternalPropNames<TValueType extends PickerValueType> = (typeof SHARED_FIELD_INTERNAL_PROP_NAMES)[number] | (TValueType extends 'date' | 'date-time' ? (typeof DATE_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'time' | 'date-time' ? (typeof TIME_VALIDATION_PROP_NAMES)[number] : never) | (TValueType extends 'date-time' ? (typeof DATE_TIME_VALIDATION_PROP_NAMES)[number] : never);
|
|
5
5
|
/**
|
|
6
6
|
* Split the props received by the field component into:
|
|
7
7
|
* - `internalProps` which are used by the various hooks called by the field component.
|
package/esm/index.js
CHANGED
|
@@ -6,9 +6,9 @@ import { SvgIconProps } from '@mui/material/SvgIcon';
|
|
|
6
6
|
import { MakeOptional, SlotComponentPropsFromProps } from '@mui/x-internals/types';
|
|
7
7
|
import { FieldOwnerState } from "../../models/index.js";
|
|
8
8
|
import { UseFieldOwnerStateParameters } from "../hooks/useFieldOwnerState.js";
|
|
9
|
-
import type {
|
|
9
|
+
import type { UseFieldReturnValue, UseFieldProps } from '../hooks/useField';
|
|
10
10
|
import { PickersTextFieldProps } from "../../PickersTextField/index.js";
|
|
11
|
-
export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<
|
|
11
|
+
export declare const cleanFieldResponse: <TFieldResponse extends MakeOptional<UseFieldReturnValue<any, ExportedPickerFieldUIProps & {
|
|
12
12
|
[key: string]: any;
|
|
13
13
|
}>, "onClear" | "clearable">>({
|
|
14
14
|
enableAccessibleFieldDOMStructure,
|
|
@@ -22,7 +22,7 @@ export declare const PickerFieldUIContext: React.Context<PickerFieldUIContextVal
|
|
|
22
22
|
* Adds the button to open the Picker and the button to clear the value of the field.
|
|
23
23
|
* @ignore - internal component.
|
|
24
24
|
*/
|
|
25
|
-
export declare function PickerFieldUI(props: PickerFieldUIProps): React.JSX.Element;
|
|
25
|
+
export declare function PickerFieldUI<TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>>(props: PickerFieldUIProps<TEnableAccessibleFieldDOMStructure, TProps>): React.JSX.Element;
|
|
26
26
|
export interface ExportedPickerFieldUIProps {
|
|
27
27
|
/**
|
|
28
28
|
* If `true`, a clear button will be shown in the field allowing value clearing.
|
|
@@ -46,7 +46,7 @@ export interface ExportedPickerFieldUIProps {
|
|
|
46
46
|
*/
|
|
47
47
|
openPickerButtonPosition?: 'start' | 'end';
|
|
48
48
|
}
|
|
49
|
-
export interface PickerFieldUIProps {
|
|
49
|
+
export interface PickerFieldUIProps<TEnableAccessibleFieldDOMStructure extends boolean, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>> {
|
|
50
50
|
/**
|
|
51
51
|
* Overridable component slots.
|
|
52
52
|
* @default {}
|
|
@@ -60,7 +60,7 @@ export interface PickerFieldUIProps {
|
|
|
60
60
|
/**
|
|
61
61
|
* Object returned by the `useField` hook or one of its wrapper (for example `useDateField`).
|
|
62
62
|
*/
|
|
63
|
-
fieldResponse:
|
|
63
|
+
fieldResponse: UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TProps>;
|
|
64
64
|
/**
|
|
65
65
|
* The component to use to render the Picker opening icon if none is provided in the Picker's slots.
|
|
66
66
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FieldSection, MuiPickersAdapter, PickerValidDate } from "../../../models/index.js";
|
|
2
2
|
import { PickersLocaleText } from "../../../locales/index.js";
|
|
3
|
-
interface
|
|
3
|
+
interface BuildSectionsFromFormatParameters {
|
|
4
4
|
utils: MuiPickersAdapter;
|
|
5
5
|
format: string;
|
|
6
6
|
formatDensity: 'dense' | 'spacious';
|
|
@@ -11,5 +11,5 @@ interface BuildSectionsFromFormatParams {
|
|
|
11
11
|
date: PickerValidDate | null;
|
|
12
12
|
enableAccessibleFieldDOMStructure: boolean;
|
|
13
13
|
}
|
|
14
|
-
export declare const buildSectionsFromFormat: (
|
|
14
|
+
export declare const buildSectionsFromFormat: (parameters: BuildSectionsFromFormatParameters) => FieldSection[];
|
|
15
15
|
export {};
|
|
@@ -141,12 +141,12 @@ const createSection = ({
|
|
|
141
141
|
modified: false
|
|
142
142
|
});
|
|
143
143
|
};
|
|
144
|
-
const buildSections =
|
|
144
|
+
const buildSections = parameters => {
|
|
145
145
|
const {
|
|
146
146
|
utils,
|
|
147
147
|
expandedFormat,
|
|
148
148
|
escapedParts
|
|
149
|
-
} =
|
|
149
|
+
} = parameters;
|
|
150
150
|
const now = utils.date(undefined);
|
|
151
151
|
const sections = [];
|
|
152
152
|
let startSeparator = '';
|
|
@@ -171,7 +171,7 @@ const buildSections = params => {
|
|
|
171
171
|
while (word.length > 0) {
|
|
172
172
|
const firstWord = regExpFirstTokenInWord.exec(word)[1];
|
|
173
173
|
word = word.slice(firstWord.length);
|
|
174
|
-
sections.push(createSection(_extends({},
|
|
174
|
+
sections.push(createSection(_extends({}, parameters, {
|
|
175
175
|
now,
|
|
176
176
|
token: firstWord,
|
|
177
177
|
startSeparator
|
|
@@ -236,19 +236,19 @@ const postProcessSections = ({
|
|
|
236
236
|
return section;
|
|
237
237
|
});
|
|
238
238
|
};
|
|
239
|
-
export const buildSectionsFromFormat =
|
|
240
|
-
let expandedFormat = expandFormat(
|
|
241
|
-
if (
|
|
239
|
+
export const buildSectionsFromFormat = parameters => {
|
|
240
|
+
let expandedFormat = expandFormat(parameters);
|
|
241
|
+
if (parameters.isRtl && parameters.enableAccessibleFieldDOMStructure) {
|
|
242
242
|
expandedFormat = expandedFormat.split(' ').reverse().join(' ');
|
|
243
243
|
}
|
|
244
|
-
const escapedParts = getEscapedPartsFromFormat(_extends({},
|
|
244
|
+
const escapedParts = getEscapedPartsFromFormat(_extends({}, parameters, {
|
|
245
245
|
expandedFormat
|
|
246
246
|
}));
|
|
247
|
-
const sections = buildSections(_extends({},
|
|
247
|
+
const sections = buildSections(_extends({}, parameters, {
|
|
248
248
|
expandedFormat,
|
|
249
249
|
escapedParts
|
|
250
250
|
}));
|
|
251
|
-
return postProcessSections(_extends({},
|
|
251
|
+
return postProcessSections(_extends({}, parameters, {
|
|
252
252
|
sections
|
|
253
253
|
}));
|
|
254
254
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { useField } from "./useField.js";
|
|
2
|
-
export type {
|
|
2
|
+
export type { UseFieldInternalProps, UseFieldParameters, UseFieldReturnValue, UseFieldProps, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext } from './useField.types';
|
|
3
3
|
export { createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from "./useField.utils.js";
|
|
4
4
|
export { useFieldInternalPropsWithDefaults } from "./useFieldInternalPropsWithDefaults.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PickerValidValue } from "../../models/index.js";
|
|
2
|
+
import { UseFieldDOMGetters } from "./useField.types.js";
|
|
3
|
+
import { UseFieldStateReturnValue } from "./useFieldState.js";
|
|
4
|
+
export declare function syncSelectionToDOM<TValue extends PickerValidValue>(parameters: SyncSelectionToDOMParameters<TValue>): void;
|
|
5
|
+
export interface SyncSelectionToDOMParameters<TValue extends PickerValidValue> {
|
|
6
|
+
domGetters: UseFieldDOMGetters;
|
|
7
|
+
stateResponse: UseFieldStateReturnValue<TValue>;
|
|
8
|
+
focused: boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getActiveElement } from "../../utils/utils.js";
|
|
2
|
+
export function syncSelectionToDOM(parameters) {
|
|
3
|
+
const {
|
|
4
|
+
focused,
|
|
5
|
+
domGetters,
|
|
6
|
+
stateResponse: {
|
|
7
|
+
// States and derived states
|
|
8
|
+
parsedSelectedSections,
|
|
9
|
+
state
|
|
10
|
+
}
|
|
11
|
+
} = parameters;
|
|
12
|
+
if (!domGetters.isReady()) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const selection = document.getSelection();
|
|
16
|
+
if (!selection) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (parsedSelectedSections == null) {
|
|
20
|
+
// If the selection contains an element inside the field, we reset it.
|
|
21
|
+
if (selection.rangeCount > 0 && domGetters.getRoot().contains(selection.getRangeAt(0).startContainer)) {
|
|
22
|
+
selection.removeAllRanges();
|
|
23
|
+
}
|
|
24
|
+
if (focused) {
|
|
25
|
+
domGetters.getRoot().blur();
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// On multi input range pickers we want to update selection range only for the active input
|
|
31
|
+
if (!domGetters.getRoot().contains(getActiveElement(document))) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const range = new window.Range();
|
|
35
|
+
let target;
|
|
36
|
+
if (parsedSelectedSections === 'all') {
|
|
37
|
+
target = domGetters.getRoot();
|
|
38
|
+
} else {
|
|
39
|
+
const section = state.sections[parsedSelectedSections];
|
|
40
|
+
if (section.type === 'empty') {
|
|
41
|
+
target = domGetters.getSectionContainer(parsedSelectedSections);
|
|
42
|
+
} else {
|
|
43
|
+
target = domGetters.getSectionContent(parsedSelectedSections);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
range.selectNodeContents(target);
|
|
47
|
+
target.focus();
|
|
48
|
+
selection.removeAllRanges();
|
|
49
|
+
selection.addRange(range);
|
|
50
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseFieldParameters, UseFieldReturnValue, UseFieldProps } from "./useField.types.js";
|
|
2
2
|
import { PickerValidValue } from "../../models/index.js";
|
|
3
|
-
export declare const useField: <TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean,
|
|
4
|
-
minutesStep?: number;
|
|
5
|
-
}>(params: UseFieldParams<TValue, TEnableAccessibleFieldDOMStructure, TForwardedProps, TInternalProps>) => UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps>;
|
|
3
|
+
export declare const useField: <TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean, TError, TValidationProps extends {}, TProps extends UseFieldProps<TEnableAccessibleFieldDOMStructure>>(parameters: UseFieldParameters<TValue, TEnableAccessibleFieldDOMStructure, TError, TValidationProps, TProps>) => UseFieldReturnValue<TEnableAccessibleFieldDOMStructure, TProps>;
|