@mui/lab 5.0.0-alpha.65 → 5.0.0-alpha.69

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.
Files changed (143) hide show
  1. package/CHANGELOG.md +300 -28
  2. package/CalendarPicker/PickersCalendar.js +6 -18
  3. package/CalendarPicker/PickersCalendarHeader.js +5 -15
  4. package/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  5. package/CalendarPicker/PickersSlideTransition.js +1 -3
  6. package/ClockPicker/Clock.js +6 -18
  7. package/ClockPicker/ClockNumber.js +2 -3
  8. package/ClockPicker/ClockPointer.js +2 -6
  9. package/DatePicker/DatePicker.js +3 -1
  10. package/DatePicker/DatePickerToolbar.js +2 -6
  11. package/DateRangePicker/DateRangePickerInput.js +1 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +2 -6
  13. package/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  14. package/DateTimePicker/DateTimePickerTabs.js +2 -4
  15. package/DateTimePicker/DateTimePickerToolbar.js +4 -12
  16. package/DesktopDatePicker/DesktopDatePicker.js +18 -2
  17. package/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  18. package/DesktopDateTimePicker/DesktopDateTimePicker.js +12 -0
  19. package/DesktopTimePicker/DesktopTimePicker.js +12 -0
  20. package/LoadingButton/LoadingButton.js +3 -1
  21. package/MonthPicker/PickersMonth.js +1 -3
  22. package/TimePicker/TimePickerToolbar.js +4 -12
  23. package/TreeItem/TreeItem.js +1 -1
  24. package/TreeView/TreeView.js +4 -0
  25. package/YearPicker/PickersYear.js +2 -6
  26. package/index.js +1 -1
  27. package/internal/pickers/Picker/Picker.js +1 -3
  28. package/internal/pickers/PickersArrowSwitcher.js +2 -6
  29. package/internal/pickers/PickersModalDialog.js +4 -10
  30. package/internal/pickers/PickersPopper.d.ts +11 -0
  31. package/internal/pickers/PickersPopper.js +28 -8
  32. package/internal/pickers/PickersToolbar.js +2 -6
  33. package/internal/pickers/PickersToolbarButton.js +1 -3
  34. package/internal/pickers/PickersToolbarText.js +1 -3
  35. package/internal/pickers/hooks/usePickerState.js +6 -4
  36. package/internal/pickers/wrappers/DesktopWrapper.js +7 -1
  37. package/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  38. package/legacy/CalendarPicker/PickersCalendar.js +6 -18
  39. package/legacy/CalendarPicker/PickersCalendarHeader.js +5 -15
  40. package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  41. package/legacy/CalendarPicker/PickersSlideTransition.js +1 -3
  42. package/legacy/ClockPicker/Clock.js +6 -18
  43. package/legacy/ClockPicker/ClockNumber.js +2 -3
  44. package/legacy/ClockPicker/ClockPointer.js +2 -6
  45. package/legacy/DatePicker/DatePicker.js +3 -1
  46. package/legacy/DatePicker/DatePickerToolbar.js +2 -6
  47. package/legacy/DateRangePicker/DateRangePickerInput.js +1 -3
  48. package/legacy/DateRangePicker/DateRangePickerToolbar.js +2 -6
  49. package/legacy/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  50. package/legacy/DateTimePicker/DateTimePickerTabs.js +2 -4
  51. package/legacy/DateTimePicker/DateTimePickerToolbar.js +4 -12
  52. package/legacy/DesktopDatePicker/DesktopDatePicker.js +17 -1
  53. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  54. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +12 -0
  55. package/legacy/DesktopTimePicker/DesktopTimePicker.js +12 -0
  56. package/legacy/LoadingButton/LoadingButton.js +3 -1
  57. package/legacy/MonthPicker/PickersMonth.js +1 -3
  58. package/legacy/TimePicker/TimePickerToolbar.js +4 -12
  59. package/legacy/TreeItem/TreeItem.js +1 -1
  60. package/legacy/TreeView/TreeView.js +4 -0
  61. package/legacy/YearPicker/PickersYear.js +2 -6
  62. package/legacy/index.js +1 -1
  63. package/legacy/internal/pickers/Picker/Picker.js +1 -3
  64. package/legacy/internal/pickers/PickersArrowSwitcher.js +2 -6
  65. package/legacy/internal/pickers/PickersModalDialog.js +4 -10
  66. package/legacy/internal/pickers/PickersPopper.js +34 -11
  67. package/legacy/internal/pickers/PickersToolbar.js +2 -6
  68. package/legacy/internal/pickers/PickersToolbarButton.js +1 -3
  69. package/legacy/internal/pickers/PickersToolbarText.js +1 -3
  70. package/legacy/internal/pickers/hooks/usePickerState.js +11 -6
  71. package/legacy/internal/pickers/wrappers/DesktopWrapper.js +7 -1
  72. package/legacy/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  73. package/modern/CalendarPicker/PickersCalendar.js +6 -18
  74. package/modern/CalendarPicker/PickersCalendarHeader.js +5 -15
  75. package/modern/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  76. package/modern/CalendarPicker/PickersSlideTransition.js +1 -3
  77. package/modern/ClockPicker/Clock.js +6 -18
  78. package/modern/ClockPicker/ClockNumber.js +2 -3
  79. package/modern/ClockPicker/ClockPointer.js +2 -6
  80. package/modern/DatePicker/DatePicker.js +3 -1
  81. package/modern/DatePicker/DatePickerToolbar.js +2 -6
  82. package/modern/DateRangePicker/DateRangePickerInput.js +1 -3
  83. package/modern/DateRangePicker/DateRangePickerToolbar.js +2 -6
  84. package/modern/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  85. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -4
  86. package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -12
  87. package/modern/DesktopDatePicker/DesktopDatePicker.js +18 -2
  88. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  89. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +12 -0
  90. package/modern/DesktopTimePicker/DesktopTimePicker.js +12 -0
  91. package/modern/LoadingButton/LoadingButton.js +3 -1
  92. package/modern/MonthPicker/PickersMonth.js +1 -3
  93. package/modern/TimePicker/TimePickerToolbar.js +4 -12
  94. package/modern/TreeItem/TreeItem.js +1 -1
  95. package/modern/TreeView/TreeView.js +4 -0
  96. package/modern/YearPicker/PickersYear.js +2 -6
  97. package/modern/index.js +1 -1
  98. package/modern/internal/pickers/Picker/Picker.js +1 -3
  99. package/modern/internal/pickers/PickersArrowSwitcher.js +2 -6
  100. package/modern/internal/pickers/PickersModalDialog.js +4 -10
  101. package/modern/internal/pickers/PickersPopper.js +28 -8
  102. package/modern/internal/pickers/PickersToolbar.js +2 -6
  103. package/modern/internal/pickers/PickersToolbarButton.js +1 -3
  104. package/modern/internal/pickers/PickersToolbarText.js +1 -3
  105. package/modern/internal/pickers/hooks/usePickerState.js +6 -4
  106. package/modern/internal/pickers/wrappers/DesktopWrapper.js +7 -1
  107. package/modern/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  108. package/node/CalendarPicker/PickersCalendar.js +6 -18
  109. package/node/CalendarPicker/PickersCalendarHeader.js +5 -15
  110. package/node/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  111. package/node/CalendarPicker/PickersSlideTransition.js +1 -3
  112. package/node/ClockPicker/Clock.js +6 -18
  113. package/node/ClockPicker/ClockNumber.js +2 -3
  114. package/node/ClockPicker/ClockPointer.js +2 -6
  115. package/node/DatePicker/DatePicker.js +3 -1
  116. package/node/DatePicker/DatePickerToolbar.js +2 -6
  117. package/node/DateRangePicker/DateRangePickerInput.js +1 -3
  118. package/node/DateRangePicker/DateRangePickerToolbar.js +2 -6
  119. package/node/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  120. package/node/DateTimePicker/DateTimePickerTabs.js +2 -4
  121. package/node/DateTimePicker/DateTimePickerToolbar.js +4 -12
  122. package/node/DesktopDatePicker/DesktopDatePicker.js +18 -2
  123. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
  124. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +12 -0
  125. package/node/DesktopTimePicker/DesktopTimePicker.js +12 -0
  126. package/node/LoadingButton/LoadingButton.js +3 -1
  127. package/node/MonthPicker/PickersMonth.js +1 -3
  128. package/node/TimePicker/TimePickerToolbar.js +4 -12
  129. package/node/TreeItem/TreeItem.js +1 -1
  130. package/node/TreeView/TreeView.js +4 -0
  131. package/node/YearPicker/PickersYear.js +2 -6
  132. package/node/index.js +1 -1
  133. package/node/internal/pickers/Picker/Picker.js +1 -3
  134. package/node/internal/pickers/PickersArrowSwitcher.js +2 -6
  135. package/node/internal/pickers/PickersModalDialog.js +4 -10
  136. package/node/internal/pickers/PickersPopper.js +29 -8
  137. package/node/internal/pickers/PickersToolbar.js +2 -6
  138. package/node/internal/pickers/PickersToolbarButton.js +1 -3
  139. package/node/internal/pickers/PickersToolbarText.js +1 -3
  140. package/node/internal/pickers/hooks/usePickerState.js +6 -4
  141. package/node/internal/pickers/wrappers/DesktopWrapper.js +7 -1
  142. package/node/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  143. package/package.json +11 -11
@@ -15,9 +15,7 @@ import ClockIcon from '../svg-icons/Clock';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
17
  const classes = generateUtilityClasses('PrivatePickersToolbar', ['root', 'dateTitleContainer']);
18
- const PickersToolbarRoot = styled('div', {
19
- skipSx: true
20
- })(({
18
+ const PickersToolbarRoot = styled('div')(({
21
19
  theme,
22
20
  ownerState
23
21
  }) => _extends({
@@ -33,9 +31,7 @@ const PickersToolbarRoot = styled('div', {
33
31
  justifyContent: 'flex-start',
34
32
  flexWrap: 'wrap'
35
33
  }));
36
- const PickersToolbarGrid = styled(Grid, {
37
- skipSx: true
38
- })({
34
+ const PickersToolbarGrid = styled(Grid)({
39
35
  flex: 1
40
36
  });
41
37
 
@@ -6,9 +6,7 @@ import Button from '@mui/material/Button';
6
6
  import { styled } from '@mui/material/styles';
7
7
  import PickersToolbarText from './PickersToolbarText';
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const PickersToolbarButtonRoot = styled(Button, {
10
- skipSx: true
11
- })({
9
+ const PickersToolbarButtonRoot = styled(Button)({
12
10
  padding: 0,
13
11
  minWidth: 16,
14
12
  textTransform: 'none'
@@ -8,9 +8,7 @@ import { styled } from '@mui/material/styles';
8
8
  import { generateUtilityClasses } from '@mui/base';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const classes = generateUtilityClasses('PrivatePickersToolbarText', ['selected']);
11
- const PickersToolbarTextRoot = styled(Typography, {
12
- skipSx: true
13
- })(({
11
+ const PickersToolbarTextRoot = styled(Typography)(({
14
12
  theme
15
13
  }) => ({
16
14
  transition: theme.transitions.create('color'),
@@ -43,9 +43,10 @@ export function usePickerState(props, valueManager) {
43
43
  type: 'reset',
44
44
  payload: parsedDateValue
45
45
  });
46
- } // Mobile keyboard view is a special case.
47
- // When it's open picker should work like closed, cause we are just showing text field
46
+ }
48
47
 
48
+ const [initialDate, setInitialDate] = React.useState(draftState.committed); // Mobile keyboard view is a special case.
49
+ // When it's open picker should work like closed, cause we are just showing text field
49
50
 
50
51
  const [isMobileKeyboardViewOpen, setMobileKeyboardViewOpen] = React.useState(false);
51
52
  const acceptDate = React.useCallback((acceptedDate, needClosePicker) => {
@@ -53,6 +54,7 @@ export function usePickerState(props, valueManager) {
53
54
 
54
55
  if (needClosePicker) {
55
56
  setIsOpen(false);
57
+ setInitialDate(acceptedDate);
56
58
 
57
59
  if (onAccept) {
58
60
  onAccept(acceptedDate);
@@ -63,7 +65,7 @@ export function usePickerState(props, valueManager) {
63
65
  open: isOpen,
64
66
  onClear: () => acceptDate(valueManager.emptyValue, true),
65
67
  onAccept: () => acceptDate(draftState.draft, true),
66
- onDismiss: () => setIsOpen(false),
68
+ onDismiss: () => acceptDate(initialDate, true),
67
69
  onSetToday: () => {
68
70
  const now = utils.date();
69
71
  dispatch({
@@ -72,7 +74,7 @@ export function usePickerState(props, valueManager) {
72
74
  });
73
75
  acceptDate(now, !disableCloseOnSelect);
74
76
  }
75
- }), [acceptDate, disableCloseOnSelect, isOpen, utils, draftState.draft, setIsOpen, valueManager.emptyValue]);
77
+ }), [acceptDate, disableCloseOnSelect, isOpen, utils, draftState.draft, valueManager.emptyValue, initialDate]);
76
78
  const pickerProps = React.useMemo(() => ({
77
79
  date: draftState.draft,
78
80
  isMobileKeyboardViewOpen,
@@ -15,7 +15,10 @@ function DesktopWrapper(props) {
15
15
  open,
16
16
  PopperProps,
17
17
  PaperProps,
18
- TransitionComponent
18
+ TransitionComponent,
19
+ onClear,
20
+ clearText,
21
+ clearable
19
22
  } = props;
20
23
  const ownInputRef = React.useRef(null);
21
24
  const inputRef = useForkRef(DateInputProps.inputRef, ownInputRef);
@@ -31,6 +34,9 @@ function DesktopWrapper(props) {
31
34
  PopperProps: PopperProps,
32
35
  PaperProps: PaperProps,
33
36
  onClose: onDismiss,
37
+ onClear: onClear,
38
+ clearText: clearText,
39
+ clearable: clearable,
34
40
  children: children
35
41
  })]
36
42
  });
@@ -25,8 +25,7 @@ const useUtilityClasses = ownerState => {
25
25
  const PickerStaticWrapperRoot = styled('div', {
26
26
  name: 'MuiPickerStaticWrapper',
27
27
  slot: 'Root',
28
- overridesResolver: (props, styles) => styles.root,
29
- skipSx: true
28
+ overridesResolver: (props, styles) => styles.root
30
29
  })(({
31
30
  theme
32
31
  }) => ({
@@ -12,16 +12,12 @@ import SlideTransition from './PickersSlideTransition';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
14
  var weeksContainerHeight = (DAY_SIZE + DAY_MARGIN * 4) * 6;
15
- var PickersCalendarDayHeader = styled('div', {
16
- skipSx: true
17
- })({
15
+ var PickersCalendarDayHeader = styled('div')({
18
16
  display: 'flex',
19
17
  justifyContent: 'center',
20
18
  alignItems: 'center'
21
19
  });
22
- var PickersCalendarWeekDayLabel = styled(Typography, {
23
- skipSx: true
24
- })(function (_ref) {
20
+ var PickersCalendarWeekDayLabel = styled(Typography)(function (_ref) {
25
21
  var theme = _ref.theme;
26
22
  return {
27
23
  width: 36,
@@ -34,27 +30,19 @@ var PickersCalendarWeekDayLabel = styled(Typography, {
34
30
  color: theme.palette.text.secondary
35
31
  };
36
32
  });
37
- var PickersCalendarLoadingContainer = styled('div', {
38
- skipSx: true
39
- })({
33
+ var PickersCalendarLoadingContainer = styled('div')({
40
34
  display: 'flex',
41
35
  justifyContent: 'center',
42
36
  alignItems: 'center',
43
37
  minHeight: weeksContainerHeight
44
38
  });
45
- var PickersCalendarSlideTransition = styled(SlideTransition, {
46
- skipSx: true
47
- })({
39
+ var PickersCalendarSlideTransition = styled(SlideTransition)({
48
40
  minHeight: weeksContainerHeight
49
41
  });
50
- var PickersCalendarWeekContainer = styled('div', {
51
- skipSx: true
52
- })({
42
+ var PickersCalendarWeekContainer = styled('div')({
53
43
  overflow: 'hidden'
54
44
  });
55
- var PickersCalendarWeek = styled('div', {
56
- skipSx: true
57
- })({
45
+ var PickersCalendarWeek = styled('div')({
58
46
  margin: "".concat(DAY_MARGIN, "px 0"),
59
47
  display: 'flex',
60
48
  justifyContent: 'center'
@@ -11,9 +11,7 @@ import PickersArrowSwitcher from '../internal/pickers/PickersArrowSwitcher';
11
11
  import { usePreviousMonthDisabled, useNextMonthDisabled } from '../internal/pickers/hooks/date-helpers-hooks';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
- var PickersCalendarHeaderRoot = styled('div', {
15
- skipSx: true
16
- })({
14
+ var PickersCalendarHeaderRoot = styled('div')({
17
15
  display: 'flex',
18
16
  alignItems: 'center',
19
17
  marginTop: 16,
@@ -24,9 +22,7 @@ var PickersCalendarHeaderRoot = styled('div', {
24
22
  maxHeight: 30,
25
23
  minHeight: 30
26
24
  });
27
- var PickersCalendarHeaderLabel = styled('div', {
28
- skipSx: true
29
- })(function (_ref) {
25
+ var PickersCalendarHeaderLabel = styled('div')(function (_ref) {
30
26
  var theme = _ref.theme;
31
27
  return _extends({
32
28
  display: 'flex',
@@ -39,19 +35,13 @@ var PickersCalendarHeaderLabel = styled('div', {
39
35
  fontWeight: theme.typography.fontWeightMedium
40
36
  });
41
37
  });
42
- var PickersCalendarHeaderLabelItem = styled('div', {
43
- skipSx: true
44
- })({
38
+ var PickersCalendarHeaderLabelItem = styled('div')({
45
39
  marginRight: 6
46
40
  });
47
- var PickersCalendarHeaderSwitchViewButton = styled(IconButton, {
48
- skipSx: true
49
- })({
41
+ var PickersCalendarHeaderSwitchViewButton = styled(IconButton)({
50
42
  marginRight: 'auto'
51
43
  });
52
- var PickersCalendarHeaderSwitchView = styled(ArrowDropDownIcon, {
53
- skipSx: true
54
- })(function (_ref2) {
44
+ var PickersCalendarHeaderSwitchView = styled(ArrowDropDownIcon)(function (_ref2) {
55
45
  var theme = _ref2.theme,
56
46
  ownerState = _ref2.ownerState;
57
47
  return _extends({
@@ -7,9 +7,7 @@ import { TransitionGroup } from 'react-transition-group';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  var classes = generateUtilityClasses('PrivatePickersFadeTransitionGroup', ['root']);
9
9
  var animationDuration = 500;
10
- var PickersFadeTransitionGroupRoot = styled(TransitionGroup, {
11
- skipSx: true
12
- })({
10
+ var PickersFadeTransitionGroupRoot = styled(TransitionGroup)({
13
11
  display: 'block',
14
12
  position: 'relative'
15
13
  });
@@ -9,9 +9,7 @@ import { CSSTransition, TransitionGroup } from 'react-transition-group';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  var classes = generateUtilityClasses('PrivatePickersSlideTransition', ['root', 'slideEnter-left', 'slideEnter-right', 'slideEnterActive', 'slideEnterActive', 'slideExit', 'slideExitActiveLeft-left', 'slideExitActiveLeft-right']);
11
11
  export var slideAnimationDuration = 350;
12
- var PickersSlideTransitionRoot = styled(TransitionGroup, {
13
- skipSx: true
14
- })(function (_ref) {
12
+ var PickersSlideTransitionRoot = styled(TransitionGroup)(function (_ref) {
15
13
  var _ref2;
16
14
 
17
15
  var theme = _ref.theme;
@@ -13,9 +13,7 @@ import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVaria
13
13
  import { getHours, getMinutes } from './shared';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
- var ClockRoot = styled('div', {
17
- skipSx: true
18
- })(function (_ref) {
16
+ var ClockRoot = styled('div')(function (_ref) {
19
17
  var theme = _ref.theme;
20
18
  return {
21
19
  display: 'flex',
@@ -24,9 +22,7 @@ var ClockRoot = styled('div', {
24
22
  margin: theme.spacing(2)
25
23
  };
26
24
  });
27
- var ClockClock = styled('div', {
28
- skipSx: true
29
- })({
25
+ var ClockClock = styled('div')({
30
26
  backgroundColor: 'rgba(0,0,0,.07)',
31
27
  borderRadius: '50%',
32
28
  height: 220,
@@ -35,9 +31,7 @@ var ClockClock = styled('div', {
35
31
  position: 'relative',
36
32
  pointerEvents: 'none'
37
33
  });
38
- var ClockSquareMask = styled('div', {
39
- skipSx: true
40
- })({
34
+ var ClockSquareMask = styled('div')({
41
35
  width: '100%',
42
36
  height: '100%',
43
37
  position: 'absolute',
@@ -54,9 +48,7 @@ var ClockSquareMask = styled('div', {
54
48
  cursor: 'move'
55
49
  }
56
50
  });
57
- var ClockPin = styled('div', {
58
- skipSx: true
59
- })(function (_ref2) {
51
+ var ClockPin = styled('div')(function (_ref2) {
60
52
  var theme = _ref2.theme;
61
53
  return {
62
54
  width: 6,
@@ -69,9 +61,7 @@ var ClockPin = styled('div', {
69
61
  transform: 'translate(-50%, -50%)'
70
62
  };
71
63
  });
72
- var ClockAmButton = styled(IconButton, {
73
- skipSx: true
74
- })(function (_ref3) {
64
+ var ClockAmButton = styled(IconButton)(function (_ref3) {
75
65
  var theme = _ref3.theme,
76
66
  ownerState = _ref3.ownerState;
77
67
  return _extends({
@@ -87,9 +77,7 @@ var ClockAmButton = styled(IconButton, {
87
77
  }
88
78
  });
89
79
  });
90
- var ClockPmButton = styled(IconButton, {
91
- skipSx: true
92
- })(function (_ref4) {
80
+ var ClockPmButton = styled(IconButton)(function (_ref4) {
93
81
  var theme = _ref4.theme,
94
82
  ownerState = _ref4.ownerState;
95
83
  return _extends({
@@ -8,9 +8,7 @@ import { generateUtilityClasses } from '@mui/base';
8
8
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export var classes = generateUtilityClasses('PrivateClockNumber', ['selected', 'disabled']);
11
- var ClockNumberRoot = styled('span', {
12
- skipSx: true
13
- })(function (_ref) {
11
+ var ClockNumberRoot = styled('span')(function (_ref) {
14
12
  var _extends2;
15
13
 
16
14
  var theme = _ref.theme,
@@ -25,6 +23,7 @@ var ClockNumberRoot = styled('span', {
25
23
  alignItems: 'center',
26
24
  borderRadius: '50%',
27
25
  color: theme.palette.text.primary,
26
+ fontFamily: theme.typography.fontFamily,
28
27
  '&:focused': {
29
28
  backgroundColor: theme.palette.background.paper
30
29
  }
@@ -14,9 +14,7 @@ import * as React from 'react';
14
14
  import { styled } from '@mui/material/styles';
15
15
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
- var ClockPointerRoot = styled('div', {
18
- skipSx: true
19
- })(function (_ref) {
17
+ var ClockPointerRoot = styled('div')(function (_ref) {
20
18
  var theme = _ref.theme,
21
19
  ownerState = _ref.ownerState;
22
20
  return _extends({
@@ -30,9 +28,7 @@ var ClockPointerRoot = styled('div', {
30
28
  transition: theme.transitions.create(['transform', 'height'])
31
29
  });
32
30
  });
33
- var ClockPointerThumb = styled('div', {
34
- skipSx: true
35
- })(function (_ref2) {
31
+ var ClockPointerThumb = styled('div')(function (_ref2) {
36
32
  var theme = _ref2.theme,
37
33
  ownerState = _ref2.ownerState;
38
34
  return _extends({
@@ -42,7 +42,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(inProps, ref)
42
42
  return isDesktop ? /*#__PURE__*/_jsx(DesktopDatePicker, _extends({
43
43
  ref: ref,
44
44
  PopperProps: PopperProps,
45
- TransitionComponent: TransitionComponent
45
+ TransitionComponent: TransitionComponent,
46
+ clearText: clearText,
47
+ clearable: clearable
46
48
  }, other)) : /*#__PURE__*/_jsx(MobileDatePicker, _extends({
47
49
  ref: ref,
48
50
  cancelText: cancelText,
@@ -10,15 +10,11 @@ import { useUtils } from '../internal/pickers/hooks/useUtils';
10
10
  import { isYearAndMonthViews, isYearOnlyView } from './shared';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  var classes = generateUtilityClasses('PrivateDatePickerToolbar', ['penIcon']);
13
- var DatePickerToolbarRoot = styled(PickersToolbar, {
14
- skipSx: true
15
- })(_defineProperty({}, "& .".concat(classes.penIcon), {
13
+ var DatePickerToolbarRoot = styled(PickersToolbar)(_defineProperty({}, "& .".concat(classes.penIcon), {
16
14
  position: 'relative',
17
15
  top: 4
18
16
  }));
19
- var DatePickerToolbarTitle = styled(Typography, {
20
- skipSx: true
21
- })(function (_ref) {
17
+ var DatePickerToolbarTitle = styled(Typography)(function (_ref) {
22
18
  var ownerState = _ref.ownerState;
23
19
  return _extends({}, ownerState.isLandscape && {
24
20
  margin: 'auto 16px auto auto'
@@ -9,9 +9,7 @@ import { useMaskedInput } from '../internal/pickers/hooks/useMaskedInput';
9
9
  import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVariantContext';
10
10
  import { executeInTheNextEventLoopTick } from '../internal/pickers/utils';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
- var DateRangePickerInputRoot = styled('div', {
13
- skipSx: true
14
- })(function (_ref) {
12
+ var DateRangePickerInputRoot = styled('div')(function (_ref) {
15
13
  var theme = _ref.theme;
16
14
  return _defineProperty({
17
15
  display: 'flex',
@@ -13,15 +13,11 @@ import PickersToolbarButton from '../internal/pickers/PickersToolbarButton';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
15
  var classes = generateUtilityClasses('PrivateDateRangePickerToolbar', ['penIcon']);
16
- var DateRangePickerToolbarRoot = styled(PickersToolbar, {
17
- skipSx: true
18
- })(_defineProperty({}, "& .".concat(classes.penIcon), {
16
+ var DateRangePickerToolbarRoot = styled(PickersToolbar)(_defineProperty({}, "& .".concat(classes.penIcon), {
19
17
  position: 'relative',
20
18
  top: 4
21
19
  }));
22
- var DateRangePickerToolbarContainer = styled('div', {
23
- skipSx: true
24
- })({
20
+ var DateRangePickerToolbarContainer = styled('div')({
25
21
  display: 'flex'
26
22
  });
27
23
  /**
@@ -13,15 +13,11 @@ import { doNothing } from '../internal/pickers/utils';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { createElement as _createElement } from "react";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
- var DateRangePickerViewDesktopRoot = styled('div', {
17
- skipSx: true
18
- })({
16
+ var DateRangePickerViewDesktopRoot = styled('div')({
19
17
  display: 'flex',
20
18
  flexDirection: 'row'
21
19
  });
22
- var DateRangePickerViewDesktopContainer = styled('div', {
23
- skipSx: true
24
- })(function (_ref) {
20
+ var DateRangePickerViewDesktopContainer = styled('div')(function (_ref) {
25
21
  var theme = _ref.theme;
26
22
  return {
27
23
  '&:not(:last-of-type)': {
@@ -29,15 +25,11 @@ var DateRangePickerViewDesktopContainer = styled('div', {
29
25
  }
30
26
  };
31
27
  });
32
- var DateRangePickerViewDesktopCalendar = styled(PickersCalendar, {
33
- skipSx: true
34
- })({
28
+ var DateRangePickerViewDesktopCalendar = styled(PickersCalendar)({
35
29
  minWidth: 312,
36
30
  minHeight: 288
37
31
  });
38
- var DateRangePickerViewDesktopArrowSwitcher = styled(PickersArrowSwitcher, {
39
- skipSx: true
40
- })({
32
+ var DateRangePickerViewDesktopArrowSwitcher = styled(PickersArrowSwitcher)({
41
33
  padding: '16px 16px 8px 16px',
42
34
  display: 'flex',
43
35
  alignItems: 'center',
@@ -15,7 +15,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
15
15
 
16
16
  var viewToTab = function viewToTab(openView) {
17
17
  // TODO: what happens if `openView` is `month`?
18
- if (openView === 'day' || openView === 'year') {
18
+ if (['day', 'month', 'year'].includes(openView)) {
19
19
  return 'date';
20
20
  }
21
21
 
@@ -30,9 +30,7 @@ var tabToView = function tabToView(tab) {
30
30
  return 'hours';
31
31
  };
32
32
 
33
- var DateTimePickerTabsRoot = styled(Tabs, {
34
- skipSx: true
35
- })(function (_ref) {
33
+ var DateTimePickerTabsRoot = styled(Tabs)(function (_ref) {
36
34
  var ownerState = _ref.ownerState,
37
35
  theme = _ref.theme;
38
36
  return _extends({
@@ -16,9 +16,7 @@ import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVaria
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
18
  var classes = generateUtilityClasses('PrivateDateTimePickerToolbar', ['penIcon']);
19
- var DateTimePickerToolbarRoot = styled(PickersToolbar, {
20
- skipSx: true
21
- })(_defineProperty({
19
+ var DateTimePickerToolbarRoot = styled(PickersToolbar)(_defineProperty({
22
20
  paddingLeft: 16,
23
21
  paddingRight: 16,
24
22
  justifyContent: 'space-around'
@@ -27,21 +25,15 @@ var DateTimePickerToolbarRoot = styled(PickersToolbar, {
27
25
  top: 8,
28
26
  right: 8
29
27
  }));
30
- var DateTimePickerToolbarDateContainer = styled('div', {
31
- skipSx: true
32
- })({
28
+ var DateTimePickerToolbarDateContainer = styled('div')({
33
29
  display: 'flex',
34
30
  flexDirection: 'column',
35
31
  alignItems: 'flex-start'
36
32
  });
37
- var DateTimePickerToolbarTimeContainer = styled('div', {
38
- skipSx: true
39
- })({
33
+ var DateTimePickerToolbarTimeContainer = styled('div')({
40
34
  display: 'flex'
41
35
  });
42
- var DateTimePickerToolbarSeparator = styled(PickersToolbarText, {
43
- skipSx: true
44
- })({
36
+ var DateTimePickerToolbarSeparator = styled(PickersToolbarText)({
45
37
  margin: '0 4px 0 2px',
46
38
  cursor: 'default'
47
39
  });
@@ -46,7 +46,9 @@ var DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker
46
46
  ToolbarComponent = _props$ToolbarCompone === void 0 ? DatePickerToolbar : _props$ToolbarCompone,
47
47
  TransitionComponent = props.TransitionComponent,
48
48
  value = props.value,
49
- other = _objectWithoutProperties(props, ["onChange", "PopperProps", "PaperProps", "ToolbarComponent", "TransitionComponent", "value"]);
49
+ clearText = props.clearText,
50
+ clearable = props.clearable,
51
+ other = _objectWithoutProperties(props, ["onChange", "PopperProps", "PaperProps", "ToolbarComponent", "TransitionComponent", "value", "clearText", "clearable"]);
50
52
 
51
53
  var AllDateInputProps = _extends({}, inputProps, other, {
52
54
  ref: ref,
@@ -59,6 +61,8 @@ var DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker
59
61
  PopperProps: PopperProps,
60
62
  PaperProps: PaperProps,
61
63
  TransitionComponent: TransitionComponent,
64
+ clearText: clearText,
65
+ clearable: clearable,
62
66
  children: /*#__PURE__*/_jsx(Picker, _extends({}, pickerProps, {
63
67
  autoFocus: true,
64
68
  toolbarTitle: props.label || props.toolbarTitle,
@@ -102,6 +106,18 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes
102
106
  */
103
107
  className: PropTypes.string,
104
108
 
109
+ /**
110
+ * If `true`, it shows the clear action in the picker dialog.
111
+ * @default false
112
+ */
113
+ clearable: PropTypes.bool,
114
+
115
+ /**
116
+ * Clear text message.
117
+ * @default 'Clear'
118
+ */
119
+ clearText: PropTypes.node,
120
+
105
121
  /**
106
122
  * The components used for each slot.
107
123
  * Either a string to use a HTML element or a component.
@@ -147,6 +147,18 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes
147
147
  */
148
148
  className: PropTypes.string,
149
149
 
150
+ /**
151
+ * If `true`, it shows the clear action in the picker dialog.
152
+ * @default false
153
+ */
154
+ clearable: PropTypes.bool,
155
+
156
+ /**
157
+ * Clear text message.
158
+ * @default 'Clear'
159
+ */
160
+ clearText: PropTypes.node,
161
+
150
162
  /**
151
163
  * The components used for each slot.
152
164
  * Either a string to use a HTML element or a component.
@@ -112,6 +112,18 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes
112
112
  */
113
113
  className: PropTypes.string,
114
114
 
115
+ /**
116
+ * If `true`, it shows the clear action in the picker dialog.
117
+ * @default false
118
+ */
119
+ clearable: PropTypes.bool,
120
+
121
+ /**
122
+ * Clear text message.
123
+ * @default 'Clear'
124
+ */
125
+ clearText: PropTypes.node,
126
+
115
127
  /**
116
128
  * The components used for each slot.
117
129
  * Either a string to use a HTML element or a component.
@@ -101,6 +101,18 @@ process.env.NODE_ENV !== "production" ? DesktopTimePicker.propTypes
101
101
  */
102
102
  className: PropTypes.string,
103
103
 
104
+ /**
105
+ * If `true`, it shows the clear action in the picker dialog.
106
+ * @default false
107
+ */
108
+ clearable: PropTypes.bool,
109
+
110
+ /**
111
+ * Clear text message.
112
+ * @default 'Clear'
113
+ */
114
+ clearText: PropTypes.node,
115
+
104
116
  /**
105
117
  * The components used for each slot.
106
118
  * Either a string to use a HTML element or a component.
@@ -229,6 +229,8 @@ process.env.NODE_ENV !== "production" ? LoadingButton.propTypes
229
229
  * The variant to use.
230
230
  * @default 'text'
231
231
  */
232
- variant: PropTypes.oneOf(['contained', 'outlined', 'text'])
232
+ variant: PropTypes
233
+ /* @typescript-to-proptypes-ignore */
234
+ .oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])
233
235
  } : void 0;
234
236
  export default LoadingButton;
@@ -9,9 +9,7 @@ import { generateUtilityClasses } from '@mui/base';
9
9
  import { onSpaceOrEnter } from '../internal/pickers/utils';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  var classes = generateUtilityClasses('PrivatePickersMonth', ['root', 'selected']);
12
- var PickersMonthRoot = styled(Typography, {
13
- skipSx: true
14
- })(function (_ref) {
12
+ var PickersMonthRoot = styled(Typography)(function (_ref) {
15
13
  var theme = _ref.theme;
16
14
  return _extends({
17
15
  flex: '1 0 33.33%',
@@ -32,21 +32,15 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
32
32
  return composeClasses(slots, getTimePickerToolbarUtilityClass, classes);
33
33
  };
34
34
 
35
- var TimePickerToolbarRoot = styled(PickersToolbar, {
36
- skipSx: true
37
- })(_defineProperty({}, "& .".concat(timePickerToolbarClasses.penIconLandscape), {
35
+ var TimePickerToolbarRoot = styled(PickersToolbar)(_defineProperty({}, "& .".concat(timePickerToolbarClasses.penIconLandscape), {
38
36
  marginTop: 'auto'
39
37
  }));
40
- var TimePickerToolbarSeparator = styled(PickersToolbarText, {
41
- skipSx: true
42
- })({
38
+ var TimePickerToolbarSeparator = styled(PickersToolbarText)({
43
39
  outline: 0,
44
40
  margin: '0 4px 0 2px',
45
41
  cursor: 'default'
46
42
  });
47
- var TimePickerToolbarHourMinuteLabel = styled('div', {
48
- skipSx: true
49
- })(function (_ref) {
43
+ var TimePickerToolbarHourMinuteLabel = styled('div')(function (_ref) {
50
44
  var theme = _ref.theme,
51
45
  ownerState = _ref.ownerState;
52
46
  return _extends({
@@ -59,9 +53,7 @@ var TimePickerToolbarHourMinuteLabel = styled('div', {
59
53
  flexDirection: 'row-reverse'
60
54
  });
61
55
  });
62
- var TimePickerToolbarAmPmSelection = styled('div', {
63
- skipSx: true
64
- })(function (_ref2) {
56
+ var TimePickerToolbarAmPmSelection = styled('div')(function (_ref2) {
65
57
  var ownerState = _ref2.ownerState;
66
58
  return _extends({
67
59
  display: 'flex',