@mui/x-date-pickers 5.0.2 → 6.0.0-alpha.0
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 +212 -3
- package/CalendarPicker/CalendarPicker.d.ts +8 -2
- package/CalendarPicker/CalendarPicker.js +54 -71
- package/CalendarPicker/DayPicker.d.ts +2 -2
- package/CalendarPicker/DayPicker.js +6 -2
- package/CalendarPicker/PickersCalendarHeader.d.ts +3 -10
- package/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/CalendarPicker/useCalendarState.d.ts +2 -2
- package/CalendarPicker/useCalendarState.js +7 -7
- package/ClockPicker/Clock.d.ts +9 -4
- package/ClockPicker/Clock.js +13 -13
- package/ClockPicker/ClockNumbers.d.ts +3 -3
- package/ClockPicker/ClockNumbers.js +2 -2
- package/ClockPicker/ClockPicker.d.ts +8 -58
- package/ClockPicker/ClockPicker.js +52 -128
- package/ClockPicker/ClockPointer.d.ts +1 -1
- package/ClockPicker/ClockPointer.js +4 -4
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +5 -1
- package/DatePicker/DatePicker.js +10 -20
- package/DateTimePicker/DateTimePicker.js +10 -39
- package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/LocalizationProvider/LocalizationProvider.d.ts +10 -11
- package/LocalizationProvider/LocalizationProvider.js +31 -24
- package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +14 -22
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +9 -21
- package/MonthPicker/MonthPicker.d.ts +12 -9
- package/MonthPicker/MonthPicker.js +60 -57
- package/MonthPicker/PickersMonth.d.ts +10 -7
- package/MonthPicker/PickersMonth.js +76 -44
- package/MonthPicker/pickersMonthClasses.d.ts +9 -1
- package/MonthPicker/pickersMonthClasses.js +1 -1
- package/PickersDay/PickersDay.d.ts +0 -6
- package/PickersDay/PickersDay.js +0 -5
- package/StaticDatePicker/StaticDatePicker.d.ts +1 -1
- package/StaticDatePicker/StaticDatePicker.js +17 -23
- package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/StaticTimePicker/StaticTimePicker.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.js +17 -22
- package/TimePicker/TimePicker.js +5 -19
- package/YearPicker/PickersYear.d.ts +7 -6
- package/YearPicker/PickersYear.js +34 -23
- package/YearPicker/YearPicker.d.ts +21 -4
- package/YearPicker/YearPicker.js +109 -49
- package/YearPicker/pickersYearClasses.d.ts +1 -1
- package/index.js +1 -1
- package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.d.ts +20 -6
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
- package/internals/components/PickerStaticWrapper/index.d.ts +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.d.ts +3 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +166 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +63 -0
- package/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/internals/components/PickersArrowSwitcher/index.d.ts +2 -0
- package/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/internals/components/{pickersArrowSwitcherClasses.d.ts → PickersArrowSwitcher/pickersArrowSwitcherClasses.d.ts} +0 -0
- package/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/internals/components/PickersPopper.d.ts +2 -6
- package/internals/components/PickersPopper.js +5 -5
- package/internals/components/PickersToolbar.d.ts +1 -1
- package/internals/components/PickersToolbar.js +1 -2
- package/internals/components/PickersToolbarText.d.ts +1 -1
- package/internals/components/wrappers/DesktopTooltipWrapper.d.ts +1 -1
- package/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/internals/components/wrappers/DesktopWrapper.d.ts +8 -3
- package/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/internals/components/wrappers/MobileWrapper.d.ts +8 -3
- package/internals/components/wrappers/MobileWrapper.js +23 -18
- package/internals/hooks/useField/useField.interfaces.d.ts +0 -1
- package/internals/hooks/useField/useField.js +19 -23
- package/internals/hooks/useField/useField.utils.js +10 -2
- package/internals/hooks/useUtils.d.ts +5 -2
- package/internals/hooks/useUtils.js +11 -2
- package/internals/hooks/validation/useDateValidation.d.ts +4 -4
- package/internals/hooks/validation/useDateValidation.js +12 -2
- package/internals/index.d.ts +5 -5
- package/internals/index.js +3 -3
- package/internals/models/muiPickersAdapter.d.ts +12 -7
- package/internals/models/props/baseToolbarProps.d.ts +0 -8
- package/internals/models/props/staticPickerProps.d.ts +2 -8
- package/legacy/CalendarPicker/CalendarPicker.js +52 -69
- package/legacy/CalendarPicker/DayPicker.js +6 -2
- package/legacy/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/legacy/CalendarPicker/useCalendarState.js +7 -7
- package/legacy/ClockPicker/Clock.js +13 -13
- package/legacy/ClockPicker/ClockNumbers.js +2 -2
- package/legacy/ClockPicker/ClockPicker.js +57 -133
- package/legacy/ClockPicker/ClockPointer.js +4 -4
- package/legacy/DateField/useDateField.js +5 -1
- package/legacy/DatePicker/DatePicker.js +10 -20
- package/legacy/DateTimePicker/DateTimePicker.js +10 -39
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +13 -21
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +8 -20
- package/legacy/LocalizationProvider/LocalizationProvider.js +28 -23
- package/legacy/MobileDatePicker/MobileDatePicker.js +13 -21
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/legacy/MobileTimePicker/MobileTimePicker.js +8 -20
- package/legacy/MonthPicker/MonthPicker.js +67 -62
- package/legacy/MonthPicker/PickersMonth.js +89 -57
- package/legacy/MonthPicker/pickersMonthClasses.js +1 -1
- package/legacy/PickersDay/PickersDay.js +0 -5
- package/legacy/StaticDatePicker/StaticDatePicker.js +17 -24
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +17 -43
- package/legacy/StaticTimePicker/StaticTimePicker.js +17 -23
- package/legacy/TimePicker/TimePicker.js +5 -19
- package/legacy/YearPicker/PickersYear.js +35 -25
- package/legacy/YearPicker/YearPicker.js +111 -51
- package/legacy/index.js +1 -1
- package/legacy/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/legacy/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +41 -24
- package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +180 -0
- package/legacy/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/legacy/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/legacy/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/legacy/internals/components/PickersPopper.js +5 -5
- package/legacy/internals/components/PickersToolbar.js +1 -2
- package/legacy/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/legacy/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/legacy/internals/components/wrappers/MobileWrapper.js +22 -17
- package/legacy/internals/hooks/useField/useField.js +21 -23
- package/legacy/internals/hooks/useField/useField.utils.js +10 -2
- package/legacy/internals/hooks/useUtils.js +13 -2
- package/legacy/internals/hooks/validation/useDateValidation.js +12 -2
- package/legacy/internals/index.js +3 -3
- package/legacy/locales/faIR.js +52 -0
- package/legacy/locales/fiFI.js +61 -0
- package/legacy/locales/index.js +2 -0
- package/legacy/locales/isIS.js +0 -1
- package/locales/faIR.d.ts +35 -0
- package/locales/faIR.js +36 -0
- package/locales/fiFI.d.ts +35 -0
- package/locales/fiFI.js +45 -0
- package/locales/index.d.ts +2 -0
- package/locales/index.js +2 -0
- package/locales/isIS.js +0 -1
- package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
- package/modern/CalendarPicker/CalendarPicker.js +54 -71
- package/modern/CalendarPicker/DayPicker.js +6 -2
- package/modern/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/modern/CalendarPicker/useCalendarState.js +7 -7
- package/modern/ClockPicker/Clock.js +13 -13
- package/modern/ClockPicker/ClockNumbers.js +2 -2
- package/modern/ClockPicker/ClockPicker.js +52 -128
- package/modern/ClockPicker/ClockPointer.js +4 -4
- package/modern/DateField/useDateField.js +5 -1
- package/modern/DatePicker/DatePicker.js +10 -20
- package/modern/DateTimePicker/DateTimePicker.js +10 -39
- package/modern/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/modern/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/modern/LocalizationProvider/LocalizationProvider.js +29 -24
- package/modern/MobileDatePicker/MobileDatePicker.js +14 -22
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/modern/MobileTimePicker/MobileTimePicker.js +9 -21
- package/modern/MonthPicker/MonthPicker.js +60 -57
- package/modern/MonthPicker/PickersMonth.js +76 -44
- package/modern/MonthPicker/pickersMonthClasses.js +1 -1
- package/modern/PickersDay/PickersDay.js +0 -5
- package/modern/StaticDatePicker/StaticDatePicker.js +17 -23
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/modern/StaticTimePicker/StaticTimePicker.js +17 -22
- package/modern/TimePicker/TimePicker.js +5 -19
- package/modern/YearPicker/PickersYear.js +34 -23
- package/modern/YearPicker/YearPicker.js +109 -49
- package/modern/index.js +1 -1
- package/modern/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/modern/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +164 -0
- package/modern/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/modern/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/modern/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/modern/internals/components/PickersPopper.js +5 -5
- package/modern/internals/components/PickersToolbar.js +1 -2
- package/modern/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/modern/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/modern/internals/components/wrappers/MobileWrapper.js +23 -18
- package/modern/internals/hooks/useField/useField.js +19 -21
- package/modern/internals/hooks/useField/useField.utils.js +10 -2
- package/modern/internals/hooks/useUtils.js +11 -2
- package/modern/internals/hooks/validation/useDateValidation.js +12 -2
- package/modern/internals/index.js +3 -3
- package/modern/locales/faIR.js +36 -0
- package/modern/locales/fiFI.js +45 -0
- package/modern/locales/index.js +2 -0
- package/modern/locales/isIS.js +0 -1
- package/node/CalendarPicker/CalendarPicker.js +54 -71
- package/node/CalendarPicker/DayPicker.js +5 -1
- package/node/CalendarPicker/PickersCalendarHeader.js +7 -21
- package/node/CalendarPicker/useCalendarState.js +6 -6
- package/node/ClockPicker/Clock.js +12 -12
- package/node/ClockPicker/ClockNumbers.js +2 -2
- package/node/ClockPicker/ClockPicker.js +52 -129
- package/node/ClockPicker/ClockPointer.js +4 -4
- package/node/DateField/useDateField.js +5 -1
- package/node/DatePicker/DatePicker.js +10 -20
- package/node/DateTimePicker/DateTimePicker.js +10 -39
- package/node/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/node/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/node/LocalizationProvider/LocalizationProvider.js +31 -25
- package/node/MobileDatePicker/MobileDatePicker.js +14 -22
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/node/MobileTimePicker/MobileTimePicker.js +9 -21
- package/node/MonthPicker/MonthPicker.js +61 -58
- package/node/MonthPicker/PickersMonth.js +71 -43
- package/node/MonthPicker/pickersMonthClasses.js +1 -1
- package/node/PickersDay/PickersDay.js +0 -5
- package/node/StaticDatePicker/StaticDatePicker.js +17 -23
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/node/StaticTimePicker/StaticTimePicker.js +17 -22
- package/node/TimePicker/TimePicker.js +5 -19
- package/node/YearPicker/PickersYear.js +33 -22
- package/node/YearPicker/YearPicker.js +111 -49
- package/node/index.js +1 -1
- package/node/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/node/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +39 -22
- package/node/internals/components/{PickersArrowSwitcher.js → PickersArrowSwitcher/PickersArrowSwitcher.js} +102 -58
- package/node/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/node/internals/components/PickersArrowSwitcher/index.js +13 -0
- package/node/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/node/internals/components/PickersPopper.js +5 -5
- package/node/internals/components/PickersToolbar.js +1 -2
- package/node/internals/components/wrappers/DesktopTooltipWrapper.js +30 -24
- package/node/internals/components/wrappers/DesktopWrapper.js +27 -21
- package/node/internals/components/wrappers/MobileWrapper.js +24 -18
- package/node/internals/hooks/useField/useField.js +19 -23
- package/node/internals/hooks/useField/useField.utils.js +10 -2
- package/node/internals/hooks/useUtils.js +15 -2
- package/node/internals/hooks/validation/useDateValidation.js +14 -4
- package/node/internals/index.js +8 -2
- package/node/locales/faIR.js +45 -0
- package/node/locales/fiFI.js +54 -0
- package/node/locales/index.js +26 -0
- package/node/locales/isIS.js +0 -1
- package/package.json +4 -4
- package/themeAugmentation/props.d.ts +3 -3
- package/internals/components/PickersArrowSwitcher.d.ts +0 -62
- package/internals/components/PickersArrowSwitcher.js +0 -124
- package/legacy/internals/components/PickersArrowSwitcher.js +0 -128
- package/modern/internals/components/PickersArrowSwitcher.js +0 -124
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SlotComponentProps } from '@mui/base';
|
|
3
|
+
import IconButton from '@mui/material/IconButton';
|
|
4
|
+
import SvgIcon from '@mui/material/SvgIcon';
|
|
5
|
+
import { PickersArrowSwitcherClasses } from './pickersArrowSwitcherClasses';
|
|
6
|
+
export interface ExportedPickersArrowSwitcherProps {
|
|
7
|
+
/**
|
|
8
|
+
* Overrideable components.
|
|
9
|
+
* @default {}
|
|
10
|
+
*/
|
|
11
|
+
components?: Partial<PickersArrowSwitcherSlotsComponent>;
|
|
12
|
+
/**
|
|
13
|
+
* The props used for each component slot.
|
|
14
|
+
* @default {}
|
|
15
|
+
*/
|
|
16
|
+
componentsProps?: Partial<PickersArrowSwitcherSlotsComponentsProps>;
|
|
17
|
+
classes?: Partial<PickersArrowSwitcherClasses>;
|
|
18
|
+
}
|
|
19
|
+
export interface PickersArrowSwitcherProps extends ExportedPickersArrowSwitcherProps, Omit<React.HTMLProps<HTMLDivElement>, 'ref' | 'as'> {
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
isPreviousDisabled: boolean;
|
|
22
|
+
isPreviousHidden?: boolean;
|
|
23
|
+
onGoToPrevious: () => void;
|
|
24
|
+
previousLabel: string;
|
|
25
|
+
isNextDisabled: boolean;
|
|
26
|
+
isNextHidden?: boolean;
|
|
27
|
+
onGoToNext: () => void;
|
|
28
|
+
nextLabel: string;
|
|
29
|
+
}
|
|
30
|
+
export declare type PickersArrowSwitcherOwnerState = PickersArrowSwitcherProps;
|
|
31
|
+
export interface PickersArrowSwitcherComponentsPropsOverrides {
|
|
32
|
+
}
|
|
33
|
+
export interface PickersArrowSwitcherSlotsComponent {
|
|
34
|
+
/**
|
|
35
|
+
* Button allowing to switch to the left view.
|
|
36
|
+
* @default IconButton
|
|
37
|
+
*/
|
|
38
|
+
PreviousIconButton: React.ElementType;
|
|
39
|
+
/**
|
|
40
|
+
* Button allowing to switch to the right view.
|
|
41
|
+
* @default IconButton
|
|
42
|
+
*/
|
|
43
|
+
NextIconButton: React.ElementType;
|
|
44
|
+
/**
|
|
45
|
+
* Icon displayed in the left view switch button.
|
|
46
|
+
* @default ArrowLeft
|
|
47
|
+
*/
|
|
48
|
+
LeftArrowIcon: React.ElementType;
|
|
49
|
+
/**
|
|
50
|
+
* Icon displayed in the right view switch button.
|
|
51
|
+
* @default ArrowRight
|
|
52
|
+
*/
|
|
53
|
+
RightArrowIcon: React.ElementType;
|
|
54
|
+
}
|
|
55
|
+
export interface PickersArrowSwitcherButtonSlotOwnerState extends PickersArrowSwitcherOwnerState {
|
|
56
|
+
hidden?: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface PickersArrowSwitcherSlotsComponentsProps {
|
|
59
|
+
previousIconButton: SlotComponentProps<typeof IconButton, PickersArrowSwitcherComponentsPropsOverrides, PickersArrowSwitcherButtonSlotOwnerState>;
|
|
60
|
+
nextIconButton: SlotComponentProps<typeof IconButton, PickersArrowSwitcherComponentsPropsOverrides, PickersArrowSwitcherButtonSlotOwnerState>;
|
|
61
|
+
leftArrowIcon: SlotComponentProps<typeof SvgIcon, PickersArrowSwitcherComponentsPropsOverrides, undefined>;
|
|
62
|
+
rightArrowIcon: SlotComponentProps<typeof SvgIcon, PickersArrowSwitcherComponentsPropsOverrides, undefined>;
|
|
63
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PickersArrowSwitcher } from './PickersArrowSwitcher';
|
|
File without changes
|
|
File without changes
|
|
@@ -5,6 +5,7 @@ import { TrapFocusProps as MuiTrapFocusProps } from '@mui/material/Unstable_Trap
|
|
|
5
5
|
import { TransitionProps as MuiTransitionProps } from '@mui/material/transitions';
|
|
6
6
|
import { PickersActionBarProps } from '../../PickersActionBar';
|
|
7
7
|
import { PickersSlotsComponent } from './wrappers/WrapperProps';
|
|
8
|
+
import { PickerStateWrapperProps } from '../hooks/usePickerState';
|
|
8
9
|
import { PickersPopperClasses } from './pickersPopperClasses';
|
|
9
10
|
export interface PickersPopperSlotsComponent extends PickersSlotsComponent {
|
|
10
11
|
}
|
|
@@ -28,19 +29,14 @@ export interface ExportedPickerPopperProps {
|
|
|
28
29
|
*/
|
|
29
30
|
TransitionComponent?: React.JSXElementConstructor<MuiTransitionProps>;
|
|
30
31
|
}
|
|
31
|
-
export interface PickerPopperProps extends ExportedPickerPopperProps, ExportedPickerPaperProps {
|
|
32
|
+
export interface PickerPopperProps extends ExportedPickerPopperProps, ExportedPickerPaperProps, PickerStateWrapperProps {
|
|
32
33
|
role: 'tooltip' | 'dialog';
|
|
33
34
|
TrapFocusProps?: Partial<MuiTrapFocusProps>;
|
|
34
35
|
anchorEl: MuiPopperProps['anchorEl'];
|
|
35
36
|
open: MuiPopperProps['open'];
|
|
36
37
|
containerRef?: React.Ref<HTMLDivElement>;
|
|
37
38
|
children?: React.ReactNode;
|
|
38
|
-
onClose: () => void;
|
|
39
39
|
onBlur?: () => void;
|
|
40
|
-
onClear: () => void;
|
|
41
|
-
onCancel: () => void;
|
|
42
|
-
onAccept: () => void;
|
|
43
|
-
onSetToday: () => void;
|
|
44
40
|
components?: Partial<PickersPopperSlotsComponent>;
|
|
45
41
|
componentsProps?: Partial<PickersPopperSlotsComponentsProps>;
|
|
46
42
|
classes?: Partial<PickersPopperClasses>;
|
|
@@ -179,7 +179,7 @@ export function PickersPopper(inProps) {
|
|
|
179
179
|
children,
|
|
180
180
|
containerRef = null,
|
|
181
181
|
onBlur,
|
|
182
|
-
|
|
182
|
+
onDismiss,
|
|
183
183
|
onClear,
|
|
184
184
|
onAccept,
|
|
185
185
|
onCancel,
|
|
@@ -197,7 +197,7 @@ export function PickersPopper(inProps) {
|
|
|
197
197
|
function handleKeyDown(nativeEvent) {
|
|
198
198
|
// IE11, Edge (prior to using Bink?) use 'Esc'
|
|
199
199
|
if (open && (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc')) {
|
|
200
|
-
|
|
200
|
+
onDismiss();
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
|
|
@@ -205,7 +205,7 @@ export function PickersPopper(inProps) {
|
|
|
205
205
|
return () => {
|
|
206
206
|
document.removeEventListener('keydown', handleKeyDown);
|
|
207
207
|
};
|
|
208
|
-
}, [
|
|
208
|
+
}, [onDismiss, open]);
|
|
209
209
|
const lastFocusedElementRef = React.useRef(null);
|
|
210
210
|
React.useEffect(() => {
|
|
211
211
|
if (role === 'tooltip') {
|
|
@@ -224,7 +224,7 @@ export function PickersPopper(inProps) {
|
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
226
|
}, [open, role]);
|
|
227
|
-
const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur != null ? onBlur :
|
|
227
|
+
const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur != null ? onBlur : onDismiss);
|
|
228
228
|
const paperRef = React.useRef(null);
|
|
229
229
|
const handleRef = useForkRef(paperRef, containerRef);
|
|
230
230
|
const handlePaperRef = useForkRef(handleRef, clickAwayRef);
|
|
@@ -241,7 +241,7 @@ export function PickersPopper(inProps) {
|
|
|
241
241
|
if (event.key === 'Escape') {
|
|
242
242
|
// stop the propagation to avoid closing parent modal
|
|
243
243
|
event.stopPropagation();
|
|
244
|
-
|
|
244
|
+
onDismiss();
|
|
245
245
|
}
|
|
246
246
|
};
|
|
247
247
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BaseToolbarProps } from '../models/props/baseToolbarProps';
|
|
3
3
|
import { PickersToolbarClasses } from './pickersToolbarClasses';
|
|
4
|
-
export interface PickersToolbarProps<TDate, TValue> extends Pick<BaseToolbarProps<TDate, TValue>, '
|
|
4
|
+
export interface PickersToolbarProps<TDate, TValue> extends Pick<BaseToolbarProps<TDate, TValue>, 'isMobileKeyboardViewOpen' | 'toggleMobileKeyboardView'> {
|
|
5
5
|
className?: string;
|
|
6
6
|
viewType?: 'calendar' | 'clock';
|
|
7
7
|
isLandscape: boolean;
|
|
@@ -74,7 +74,6 @@ export const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersTool
|
|
|
74
74
|
const {
|
|
75
75
|
children,
|
|
76
76
|
className,
|
|
77
|
-
getMobileKeyboardInputViewButtonText,
|
|
78
77
|
isLandscape,
|
|
79
78
|
isMobileKeyboardViewOpen,
|
|
80
79
|
landscapeDirection = 'column',
|
|
@@ -105,7 +104,7 @@ export const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersTool
|
|
|
105
104
|
className: classes.penIconButton,
|
|
106
105
|
ownerState: ownerState,
|
|
107
106
|
color: "inherit",
|
|
108
|
-
"aria-label":
|
|
107
|
+
"aria-label": localeText.inputModeToggleButtonAriaLabel(isMobileKeyboardViewOpen, viewType),
|
|
109
108
|
children: isMobileKeyboardViewOpen ? getViewTypeIcon(viewType) : /*#__PURE__*/_jsx(Pen, {
|
|
110
109
|
color: "inherit"
|
|
111
110
|
})
|
|
@@ -6,4 +6,4 @@ export interface PickersToolbarTextProps extends Omit<TypographyProps, 'classes'
|
|
|
6
6
|
value: React.ReactNode;
|
|
7
7
|
classes?: Partial<PickersToolbarTextClasses>;
|
|
8
8
|
}
|
|
9
|
-
export declare const PickersToolbarText: React.ForwardRefExoticComponent<Pick<PickersToolbarTextProps, "selected" | "p" | "slot" | "style" | "title" | "
|
|
9
|
+
export declare const PickersToolbarText: React.ForwardRefExoticComponent<Pick<PickersToolbarTextProps, "selected" | "aria-current" | "p" | "slot" | "style" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "zIndex" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "overflow" | "padding" | "value" | "classes" | "typography" | "sx" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "variant" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & React.RefAttributes<HTMLSpanElement>>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { InternalDesktopWrapperProps } from './DesktopWrapper';
|
|
3
|
-
export declare function DesktopTooltipWrapper(props: InternalDesktopWrapperProps): JSX.Element;
|
|
3
|
+
export declare function DesktopTooltipWrapper<TDate>(props: InternalDesktopWrapperProps<TDate>): JSX.Element;
|
|
@@ -4,6 +4,7 @@ import { useForkRef } from '@mui/material/utils';
|
|
|
4
4
|
import { WrapperVariantContext } from './WrapperVariantContext';
|
|
5
5
|
import { executeInTheNextEventLoopTick } from '../../utils/utils';
|
|
6
6
|
import { PickersPopper } from '../PickersPopper';
|
|
7
|
+
import { LocalizationProvider } from '../../../LocalizationProvider';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export function DesktopTooltipWrapper(props) {
|
|
@@ -21,7 +22,8 @@ export function DesktopTooltipWrapper(props) {
|
|
|
21
22
|
onAccept,
|
|
22
23
|
onSetToday,
|
|
23
24
|
components,
|
|
24
|
-
componentsProps
|
|
25
|
+
componentsProps,
|
|
26
|
+
localeText
|
|
25
27
|
} = props;
|
|
26
28
|
const inputContainerRef = React.useRef(null);
|
|
27
29
|
const popperRef = React.useRef(null);
|
|
@@ -39,28 +41,31 @@ export function DesktopTooltipWrapper(props) {
|
|
|
39
41
|
};
|
|
40
42
|
|
|
41
43
|
const inputComponentRef = useForkRef(DateInputProps.ref, inputContainerRef);
|
|
42
|
-
return /*#__PURE__*/
|
|
43
|
-
|
|
44
|
-
children:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
44
|
+
return /*#__PURE__*/_jsx(LocalizationProvider, {
|
|
45
|
+
localeText: localeText,
|
|
46
|
+
children: /*#__PURE__*/_jsxs(WrapperVariantContext.Provider, {
|
|
47
|
+
value: "desktop",
|
|
48
|
+
children: [/*#__PURE__*/_jsx(KeyboardDateInputComponent, _extends({}, DateInputProps, {
|
|
49
|
+
ref: inputComponentRef,
|
|
50
|
+
onBlur: handleBlur
|
|
51
|
+
})), /*#__PURE__*/_jsx(PickersPopper, {
|
|
52
|
+
role: "tooltip",
|
|
53
|
+
open: open,
|
|
54
|
+
containerRef: popperRef,
|
|
55
|
+
anchorEl: inputContainerRef.current,
|
|
56
|
+
TransitionComponent: TransitionComponent,
|
|
57
|
+
PopperProps: PopperProps,
|
|
58
|
+
PaperProps: PaperProps,
|
|
59
|
+
onBlur: handleBlur,
|
|
60
|
+
onDismiss: onDismiss,
|
|
61
|
+
onClear: onClear,
|
|
62
|
+
onCancel: onCancel,
|
|
63
|
+
onAccept: onAccept,
|
|
64
|
+
onSetToday: onSetToday,
|
|
65
|
+
components: components,
|
|
66
|
+
componentsProps: componentsProps,
|
|
67
|
+
children: children
|
|
68
|
+
})]
|
|
69
|
+
})
|
|
65
70
|
});
|
|
66
71
|
}
|
|
@@ -3,14 +3,19 @@ import { ExportedPickerPopperProps, ExportedPickerPaperProps, PickersPopperSlots
|
|
|
3
3
|
import { DateInputPropsLike } from './WrapperProps';
|
|
4
4
|
import { PickerStateWrapperProps } from '../../hooks/usePickerState';
|
|
5
5
|
import { DateInputSlotsComponent } from '../PureDateInput';
|
|
6
|
-
|
|
6
|
+
import { PickersInputLocaleText } from '../../../locales/utils/pickersLocaleTextApi';
|
|
7
|
+
export interface DesktopWrapperProps<TDate> extends ExportedPickerPopperProps, ExportedPickerPaperProps {
|
|
7
8
|
children?: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Locale for components texts
|
|
11
|
+
*/
|
|
12
|
+
localeText?: PickersInputLocaleText<TDate>;
|
|
8
13
|
}
|
|
9
14
|
export interface DesktopWrapperSlotsComponent extends PickersPopperSlotsComponent, DateInputSlotsComponent {
|
|
10
15
|
}
|
|
11
16
|
export interface DesktopWrapperSlotsComponentsProps extends PickersPopperSlotsComponentsProps {
|
|
12
17
|
}
|
|
13
|
-
export interface InternalDesktopWrapperProps extends DesktopWrapperProps
|
|
18
|
+
export interface InternalDesktopWrapperProps<TDate> extends DesktopWrapperProps<TDate>, PickerStateWrapperProps {
|
|
14
19
|
DateInputProps: DateInputPropsLike & {
|
|
15
20
|
ref?: React.Ref<HTMLDivElement>;
|
|
16
21
|
};
|
|
@@ -28,4 +33,4 @@ export interface InternalDesktopWrapperProps extends DesktopWrapperProps, Picker
|
|
|
28
33
|
*/
|
|
29
34
|
componentsProps?: Partial<DesktopWrapperSlotsComponentsProps>;
|
|
30
35
|
}
|
|
31
|
-
export declare function DesktopWrapper(props: InternalDesktopWrapperProps): JSX.Element;
|
|
36
|
+
export declare function DesktopWrapper<TDate>(props: InternalDesktopWrapperProps<TDate>): JSX.Element;
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { useForkRef } from '@mui/material/utils';
|
|
4
4
|
import { WrapperVariantContext } from './WrapperVariantContext';
|
|
5
5
|
import { PickersPopper } from '../PickersPopper';
|
|
6
|
+
import { LocalizationProvider } from '../../../LocalizationProvider';
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
export function DesktopWrapper(props) {
|
|
@@ -20,29 +21,33 @@ export function DesktopWrapper(props) {
|
|
|
20
21
|
PaperProps,
|
|
21
22
|
TransitionComponent,
|
|
22
23
|
components,
|
|
23
|
-
componentsProps
|
|
24
|
+
componentsProps,
|
|
25
|
+
localeText
|
|
24
26
|
} = props;
|
|
25
27
|
const ownInputRef = React.useRef(null);
|
|
26
28
|
const inputRef = useForkRef(DateInputProps.inputRef, ownInputRef);
|
|
27
|
-
return /*#__PURE__*/
|
|
28
|
-
|
|
29
|
-
children:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
29
|
+
return /*#__PURE__*/_jsx(LocalizationProvider, {
|
|
30
|
+
localeText: localeText,
|
|
31
|
+
children: /*#__PURE__*/_jsxs(WrapperVariantContext.Provider, {
|
|
32
|
+
value: "desktop",
|
|
33
|
+
children: [/*#__PURE__*/_jsx(KeyboardDateInputComponent, _extends({}, DateInputProps, {
|
|
34
|
+
inputRef: inputRef
|
|
35
|
+
})), /*#__PURE__*/_jsx(PickersPopper, {
|
|
36
|
+
role: "dialog",
|
|
37
|
+
open: open,
|
|
38
|
+
anchorEl: ownInputRef.current,
|
|
39
|
+
TransitionComponent: TransitionComponent,
|
|
40
|
+
PopperProps: PopperProps,
|
|
41
|
+
PaperProps: PaperProps,
|
|
42
|
+
onDismiss: onDismiss,
|
|
43
|
+
onCancel: onCancel,
|
|
44
|
+
onClear: onClear,
|
|
45
|
+
onAccept: onAccept,
|
|
46
|
+
onSetToday: onSetToday,
|
|
47
|
+
components: components,
|
|
48
|
+
componentsProps: componentsProps,
|
|
49
|
+
children: children
|
|
50
|
+
})]
|
|
51
|
+
})
|
|
47
52
|
});
|
|
48
53
|
}
|
|
@@ -3,14 +3,19 @@ import { ExportedPickerModalProps, PickersModalDialogSlotsComponent, PickersModa
|
|
|
3
3
|
import { DateInputPropsLike } from './WrapperProps';
|
|
4
4
|
import { PickerStateWrapperProps } from '../../hooks/usePickerState';
|
|
5
5
|
import { DateInputSlotsComponent } from '../PureDateInput';
|
|
6
|
-
|
|
6
|
+
import { PickersInputLocaleText } from '../../../locales/utils/pickersLocaleTextApi';
|
|
7
|
+
export interface MobileWrapperProps<TDate> extends ExportedPickerModalProps {
|
|
7
8
|
children?: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Locale for components texts
|
|
11
|
+
*/
|
|
12
|
+
localeText?: PickersInputLocaleText<TDate>;
|
|
8
13
|
}
|
|
9
14
|
export interface MobileWrapperSlotsComponent extends PickersModalDialogSlotsComponent, DateInputSlotsComponent {
|
|
10
15
|
}
|
|
11
16
|
export interface MobileWrapperSlotsComponentsProps extends PickersModalDialogSlotsComponentsProps {
|
|
12
17
|
}
|
|
13
|
-
export interface InternalMobileWrapperProps extends MobileWrapperProps
|
|
18
|
+
export interface InternalMobileWrapperProps<TDate> extends MobileWrapperProps<TDate>, PickerStateWrapperProps {
|
|
14
19
|
DateInputProps: DateInputPropsLike & {
|
|
15
20
|
ref?: React.Ref<HTMLDivElement>;
|
|
16
21
|
};
|
|
@@ -18,4 +23,4 @@ export interface InternalMobileWrapperProps extends MobileWrapperProps, PickerSt
|
|
|
18
23
|
components?: Partial<MobileWrapperSlotsComponent>;
|
|
19
24
|
componentsProps?: Partial<MobileWrapperSlotsComponentsProps>;
|
|
20
25
|
}
|
|
21
|
-
export declare function MobileWrapper(props: InternalMobileWrapperProps): JSX.Element;
|
|
26
|
+
export declare function MobileWrapper<TDate>(props: InternalMobileWrapperProps<TDate>): JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["children", "DateInputProps", "DialogProps", "onAccept", "onClear", "onDismiss", "onCancel", "onSetToday", "open", "PureDateInputComponent", "components", "componentsProps"];
|
|
3
|
+
const _excluded = ["children", "DateInputProps", "DialogProps", "onAccept", "onClear", "onDismiss", "onCancel", "onSetToday", "open", "PureDateInputComponent", "components", "componentsProps", "localeText"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { WrapperVariantContext } from './WrapperVariantContext';
|
|
6
6
|
import { PickersModalDialog } from '../PickersModalDialog';
|
|
7
|
+
import { LocalizationProvider } from '../../../LocalizationProvider';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export function MobileWrapper(props) {
|
|
@@ -19,25 +20,29 @@ export function MobileWrapper(props) {
|
|
|
19
20
|
open,
|
|
20
21
|
PureDateInputComponent,
|
|
21
22
|
components,
|
|
22
|
-
componentsProps
|
|
23
|
+
componentsProps,
|
|
24
|
+
localeText
|
|
23
25
|
} = props,
|
|
24
26
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
25
27
|
|
|
26
|
-
return /*#__PURE__*/
|
|
27
|
-
|
|
28
|
-
children:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
28
|
+
return /*#__PURE__*/_jsx(LocalizationProvider, {
|
|
29
|
+
localeText: localeText,
|
|
30
|
+
children: /*#__PURE__*/_jsxs(WrapperVariantContext.Provider, {
|
|
31
|
+
value: "mobile",
|
|
32
|
+
children: [/*#__PURE__*/_jsx(PureDateInputComponent, _extends({
|
|
33
|
+
components: components
|
|
34
|
+
}, other, DateInputProps)), /*#__PURE__*/_jsx(PickersModalDialog, {
|
|
35
|
+
DialogProps: DialogProps,
|
|
36
|
+
onAccept: onAccept,
|
|
37
|
+
onClear: onClear,
|
|
38
|
+
onDismiss: onDismiss,
|
|
39
|
+
onCancel: onCancel,
|
|
40
|
+
onSetToday: onSetToday,
|
|
41
|
+
open: open,
|
|
42
|
+
components: components,
|
|
43
|
+
componentsProps: componentsProps,
|
|
44
|
+
children: children
|
|
45
|
+
})]
|
|
46
|
+
})
|
|
42
47
|
});
|
|
43
48
|
}
|
|
@@ -64,7 +64,6 @@ export interface FieldValueManager<TValue, TDate, TSection extends FieldSection,
|
|
|
64
64
|
isSameError: (error: TError, prevError: TError | null) => boolean;
|
|
65
65
|
}
|
|
66
66
|
export interface UseFieldState<TValue, TSections> {
|
|
67
|
-
valueStr: string;
|
|
68
67
|
valueParsed: TValue;
|
|
69
68
|
sections: TSections;
|
|
70
69
|
selectedSectionIndexes: {
|
|
@@ -50,7 +50,6 @@ export const useField = params => {
|
|
|
50
50
|
return {
|
|
51
51
|
sections,
|
|
52
52
|
valueParsed,
|
|
53
|
-
valueStr: fieldValueManager.getValueStrFromSections(sections),
|
|
54
53
|
selectedSectionIndexes: null
|
|
55
54
|
};
|
|
56
55
|
});
|
|
@@ -62,7 +61,6 @@ export const useField = params => {
|
|
|
62
61
|
} = fieldValueManager.getValueFromSections(utils, state.sections, sections, format);
|
|
63
62
|
setState(prevState => _extends({}, prevState, {
|
|
64
63
|
sections,
|
|
65
|
-
valueStr: fieldValueManager.getValueStrFromSections(sections),
|
|
66
64
|
valueParsed: newValueParsed
|
|
67
65
|
}));
|
|
68
66
|
|
|
@@ -83,28 +81,29 @@ export const useField = params => {
|
|
|
83
81
|
|
|
84
82
|
const handleInputClick = useEventCallback((...args) => {
|
|
85
83
|
onClick == null ? void 0 : onClick(...args);
|
|
86
|
-
|
|
87
|
-
if (state.sections.length === 0) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
84
|
const nextSectionIndex = state.sections.findIndex(section => {
|
|
92
|
-
var
|
|
85
|
+
var _selectionStart;
|
|
93
86
|
|
|
94
|
-
return section.start > ((
|
|
87
|
+
return section.start > ((_selectionStart = inputRef.current.selectionStart) != null ? _selectionStart : 0);
|
|
95
88
|
});
|
|
96
89
|
const sectionIndex = nextSectionIndex === -1 ? state.sections.length - 1 : nextSectionIndex - 1;
|
|
97
90
|
updateSelectedSections(sectionIndex);
|
|
98
91
|
});
|
|
99
92
|
const handleInputFocus = useEventCallback((...args) => {
|
|
100
|
-
onFocus == null ? void 0 : onFocus(...args);
|
|
93
|
+
onFocus == null ? void 0 : onFocus(...args); // The ref is guaranteed to be resolved that this point.
|
|
94
|
+
|
|
95
|
+
const input = inputRef.current;
|
|
96
|
+
clearTimeout(focusTimeoutRef.current);
|
|
101
97
|
focusTimeoutRef.current = setTimeout(() => {
|
|
102
|
-
|
|
98
|
+
// The ref changed, the component got remounted, the focus event is no longer relevant.
|
|
99
|
+
if (input !== inputRef.current) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
103
102
|
|
|
104
|
-
if ((
|
|
105
|
-
handleInputClick();
|
|
106
|
-
} else {
|
|
103
|
+
if (Number(input.selectionEnd) - Number(input.selectionStart) === input.value.length) {
|
|
107
104
|
updateSelectedSections(0, state.sections.length - 1);
|
|
105
|
+
} else {
|
|
106
|
+
handleInputClick();
|
|
108
107
|
}
|
|
109
108
|
});
|
|
110
109
|
});
|
|
@@ -113,17 +112,14 @@ export const useField = params => {
|
|
|
113
112
|
updateSelectedSections();
|
|
114
113
|
});
|
|
115
114
|
const handleInputKeyDown = useEventCallback(event => {
|
|
116
|
-
onKeyDown == null ? void 0 : onKeyDown(event);
|
|
117
|
-
|
|
118
|
-
if (!inputRef.current || state.sections.length === 0) {
|
|
119
|
-
return;
|
|
120
|
-
} // eslint-disable-next-line default-case
|
|
121
|
-
|
|
115
|
+
onKeyDown == null ? void 0 : onKeyDown(event); // eslint-disable-next-line default-case
|
|
122
116
|
|
|
123
117
|
switch (true) {
|
|
124
118
|
// Select all
|
|
125
119
|
case event.key === 'a' && (event.ctrlKey || event.metaKey):
|
|
126
120
|
{
|
|
121
|
+
// prevent default to make sure that the next line "select all" while updating
|
|
122
|
+
// the internal state at the same time.
|
|
127
123
|
event.preventDefault();
|
|
128
124
|
updateSelectedSections(0, state.sections.length - 1);
|
|
129
125
|
return;
|
|
@@ -268,7 +264,7 @@ export const useField = params => {
|
|
|
268
264
|
}
|
|
269
265
|
});
|
|
270
266
|
useEnhancedEffect(() => {
|
|
271
|
-
if (
|
|
267
|
+
if (state.selectedSectionIndexes == null) {
|
|
272
268
|
return;
|
|
273
269
|
}
|
|
274
270
|
|
|
@@ -287,7 +283,6 @@ export const useField = params => {
|
|
|
287
283
|
const sections = fieldValueManager.getSectionsFromValue(utils, state.sections, valueParsed, format);
|
|
288
284
|
setState(prevState => _extends({}, prevState, {
|
|
289
285
|
valueParsed,
|
|
290
|
-
valueStr: fieldValueManager.getValueStrFromSections(sections),
|
|
291
286
|
sections
|
|
292
287
|
}));
|
|
293
288
|
}
|
|
@@ -301,9 +296,10 @@ export const useField = params => {
|
|
|
301
296
|
React.useEffect(() => {
|
|
302
297
|
return () => window.clearTimeout(focusTimeoutRef.current);
|
|
303
298
|
}, []);
|
|
299
|
+
const valueStr = React.useMemo(() => fieldValueManager.getValueStrFromSections(state.sections), [state.sections, fieldValueManager]);
|
|
304
300
|
return {
|
|
305
301
|
inputProps: _extends({}, otherForwardedProps, {
|
|
306
|
-
value:
|
|
302
|
+
value: valueStr,
|
|
307
303
|
onClick: handleInputClick,
|
|
308
304
|
onFocus: handleInputFocus,
|
|
309
305
|
onBlur: handleInputBlur,
|