@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
@@ -95,7 +95,7 @@ var StyledTreeItemContent = styled(TreeItemContent, {
95
95
  }
96
96
  }), _defineProperty(_ref4, "& .".concat(treeItemClasses.label), _extends({
97
97
  width: '100%',
98
- // fixes overflow - see https://github.com/mui-org/material-ui/issues/27372
98
+ // fixes overflow - see https://github.com/mui/material-ui/issues/27372
99
99
  minWidth: 0,
100
100
  paddingLeft: 4,
101
101
  position: 'relative'
@@ -751,6 +751,10 @@ var TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
751
751
  if (isExpandable(focusedNodeId)) {
752
752
  toggleExpansion(event);
753
753
  flag = true;
754
+ } else if (multiSelect) {
755
+ flag = selectNode(event, focusedNodeId, true);
756
+ } else {
757
+ flag = selectNode(event, focusedNodeId);
754
758
  }
755
759
  }
756
760
 
@@ -24,9 +24,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
24
24
  return composeClasses(slots, getPickersYearUtilityClass, classes);
25
25
  };
26
26
 
27
- var PickersYearRoot = styled('div', {
28
- skipSx: true
29
- })(function (_ref) {
27
+ var PickersYearRoot = styled('div')(function (_ref) {
30
28
  var ownerState = _ref.ownerState;
31
29
  return _extends({
32
30
  flexBasis: '33.3%',
@@ -37,9 +35,7 @@ var PickersYearRoot = styled('div', {
37
35
  flexBasis: '25%'
38
36
  });
39
37
  });
40
- var PickersYearButton = styled('button', {
41
- skipSx: true
42
- })(function (_ref2) {
38
+ var PickersYearButton = styled('button')(function (_ref2) {
43
39
  var _extends2;
44
40
 
45
41
  var theme = _ref2.theme;
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.0-alpha.65
1
+ /** @license MUI v5.0.0-alpha.69
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -14,9 +14,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export var MobileKeyboardInputView = styled('div')({
15
15
  padding: '16px 24px'
16
16
  });
17
- var PickerRoot = styled('div', {
18
- skipSx: true
19
- })(function (_ref) {
17
+ var PickerRoot = styled('div')(function (_ref) {
20
18
  var ownerState = _ref.ownerState;
21
19
  return _extends({
22
20
  display: 'flex',
@@ -11,17 +11,13 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
11
11
  var PickersArrowSwitcherRoot = styled('div')({
12
12
  display: 'flex'
13
13
  });
14
- var PickersArrowSwitcherSpacer = styled('div', {
15
- skipSx: true
16
- })(function (_ref) {
14
+ var PickersArrowSwitcherSpacer = styled('div')(function (_ref) {
17
15
  var theme = _ref.theme;
18
16
  return {
19
17
  width: theme.spacing(3)
20
18
  };
21
19
  });
22
- var PickersArrowSwitcherButton = styled(IconButton, {
23
- skipSx: true
24
- })(function (_ref2) {
20
+ var PickersArrowSwitcherButton = styled(IconButton)(function (_ref2) {
25
21
  var ownerState = _ref2.ownerState;
26
22
  return _extends({}, ownerState.hidden && {
27
23
  visibility: 'hidden'
@@ -12,28 +12,22 @@ import { styled } from '@mui/material/styles';
12
12
  import { DIALOG_WIDTH } from './constants/dimensions';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
- var PickersModalDialogRoot = styled(Dialog, {
16
- skipSx: true
17
- })((_styled = {}, _defineProperty(_styled, "& .".concat(dialogClasses.container), {
15
+ var PickersModalDialogRoot = styled(Dialog)((_styled = {}, _defineProperty(_styled, "& .".concat(dialogClasses.container), {
18
16
  outline: 0
19
17
  }), _defineProperty(_styled, "& .".concat(dialogClasses.paper), {
20
18
  outline: 0,
21
19
  minWidth: DIALOG_WIDTH
22
20
  }), _styled));
23
- var PickersModalDialogContent = styled(DialogContent, {
24
- skipSx: true
25
- })({
21
+ var PickersModalDialogContent = styled(DialogContent)({
26
22
  '&:first-of-type': {
27
23
  padding: 0
28
24
  }
29
25
  });
30
- var PickersModalDialogActions = styled(DialogActions, {
31
- skipSx: true
32
- })(function (_ref) {
26
+ var PickersModalDialogActions = styled(DialogActions)(function (_ref) {
33
27
  var ownerState = _ref.ownerState;
34
28
  return _extends({}, (ownerState.clearable || ownerState.showTodayButton) && {
35
29
  // set justifyContent to default value to fix IE11 layout bug
36
- // see https://github.com/mui-org/material-ui-pickers/pull/267
30
+ // see https://github.com/mui/material-ui-pickers/pull/267
37
31
  justifyContent: 'flex-start',
38
32
  '& > *:first-of-type': {
39
33
  marginRight: 'auto'
@@ -8,18 +8,17 @@ import Popper from '@mui/material/Popper';
8
8
  import TrapFocus from '@mui/material/Unstable_TrapFocus';
9
9
  import { useForkRef, useEventCallback, ownerDocument } from '@mui/material/utils';
10
10
  import { styled } from '@mui/material/styles';
11
+ import Button from '@mui/material/Button';
12
+ import DialogActions from '@mui/material/DialogActions';
11
13
  import { jsx as _jsx } from "react/jsx-runtime";
12
- var PickersPopperRoot = styled(Popper, {
13
- skipSx: true
14
- })(function (_ref) {
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ var PickersPopperRoot = styled(Popper)(function (_ref) {
15
16
  var theme = _ref.theme;
16
17
  return {
17
18
  zIndex: theme.zIndex.modal
18
19
  };
19
20
  });
20
- var PickersPopperPaper = styled(Paper, {
21
- skipSx: true
22
- })(function (_ref2) {
21
+ var PickersPopperPaper = styled(Paper)(function (_ref2) {
23
22
  var ownerState = _ref2.ownerState;
24
23
  return _extends({
25
24
  transformOrigin: 'top center',
@@ -28,6 +27,17 @@ var PickersPopperPaper = styled(Paper, {
28
27
  transformOrigin: 'bottom center'
29
28
  });
30
29
  });
30
+ var PickersPopperAction = styled(DialogActions)(function (_ref3) {
31
+ var ownerState = _ref3.ownerState;
32
+ return _extends({}, ownerState.clearable ? {
33
+ justifyContent: 'flex-start',
34
+ '& > *:first-of-type': {
35
+ marginRight: 'auto'
36
+ }
37
+ } : {
38
+ padding: 0
39
+ });
40
+ });
31
41
 
32
42
  function clickedRootScrollbar(event, doc) {
33
43
  return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;
@@ -151,11 +161,18 @@ function useClickAwayListener(active, onClickAway) {
151
161
  }
152
162
 
153
163
  var PickersPopper = function PickersPopper(props) {
164
+ var _Button;
165
+
154
166
  var anchorEl = props.anchorEl,
155
167
  _children = props.children,
156
168
  _props$containerRef = props.containerRef,
157
169
  containerRef = _props$containerRef === void 0 ? null : _props$containerRef,
158
170
  onClose = props.onClose,
171
+ onClear = props.onClear,
172
+ _props$clearable = props.clearable,
173
+ clearable = _props$clearable === void 0 ? false : _props$clearable,
174
+ _props$clearText = props.clearText,
175
+ clearText = _props$clearText === void 0 ? 'Clear' : _props$clearText,
159
176
  open = props.open,
160
177
  PopperProps = props.PopperProps,
161
178
  role = props.role,
@@ -212,9 +229,9 @@ var PickersPopper = function PickersPopper(props) {
212
229
  anchorEl: anchorEl,
213
230
  ownerState: ownerState
214
231
  }, PopperProps, {
215
- children: function children(_ref3) {
216
- var TransitionProps = _ref3.TransitionProps,
217
- placement = _ref3.placement;
232
+ children: function children(_ref4) {
233
+ var TransitionProps = _ref4.TransitionProps,
234
+ placement = _ref4.placement;
218
235
  return /*#__PURE__*/_jsx(TrapFocus, _extends({
219
236
  open: open,
220
237
  disableAutoFocus: true,
@@ -224,7 +241,7 @@ var PickersPopper = function PickersPopper(props) {
224
241
  }
225
242
  }, TrapFocusProps, {
226
243
  children: /*#__PURE__*/_jsx(TransitionComponent, _extends({}, TransitionProps, {
227
- children: /*#__PURE__*/_jsx(PickersPopperPaper, _extends({
244
+ children: /*#__PURE__*/_jsxs(PickersPopperPaper, _extends({
228
245
  tabIndex: -1,
229
246
  elevation: 8,
230
247
  ref: handlePaperRef,
@@ -246,7 +263,13 @@ var PickersPopper = function PickersPopper(props) {
246
263
  placement: placement
247
264
  })
248
265
  }, otherPaperProps, {
249
- children: _children
266
+ children: [_children, /*#__PURE__*/_jsx(PickersPopperAction, {
267
+ ownerState: ownerState,
268
+ children: clearable && (_Button || (_Button = /*#__PURE__*/_jsx(Button, {
269
+ onClick: onClear,
270
+ children: clearText
271
+ })))
272
+ })]
250
273
  }))
251
274
  }))
252
275
  }));
@@ -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
  var classes = generateUtilityClasses('PrivatePickersToolbar', ['root', 'dateTitleContainer']);
18
- var PickersToolbarRoot = styled('div', {
19
- skipSx: true
20
- })(function (_ref) {
18
+ var PickersToolbarRoot = styled('div')(function (_ref) {
21
19
  var theme = _ref.theme,
22
20
  ownerState = _ref.ownerState;
23
21
  return _extends({
@@ -34,9 +32,7 @@ var PickersToolbarRoot = styled('div', {
34
32
  flexWrap: 'wrap'
35
33
  });
36
34
  });
37
- var PickersToolbarGrid = styled(Grid, {
38
- skipSx: true
39
- })({
35
+ var PickersToolbarGrid = styled(Grid)({
40
36
  flex: 1
41
37
  });
42
38
 
@@ -5,9 +5,7 @@ import Button from '@mui/material/Button';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import PickersToolbarText from './PickersToolbarText';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
- var PickersToolbarButtonRoot = styled(Button, {
9
- skipSx: true
10
- })({
8
+ var PickersToolbarButtonRoot = styled(Button)({
11
9
  padding: 0,
12
10
  minWidth: 16,
13
11
  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
  var classes = generateUtilityClasses('PrivatePickersToolbarText', ['selected']);
11
- var PickersToolbarTextRoot = styled(Typography, {
12
- skipSx: true
13
- })(function (_ref) {
11
+ var PickersToolbarTextRoot = styled(Typography)(function (_ref) {
14
12
  var theme = _ref.theme;
15
13
  return _defineProperty({
16
14
  transition: theme.transitions.create('color'),
@@ -44,19 +44,24 @@ export function usePickerState(props, valueManager) {
44
44
  type: 'reset',
45
45
  payload: parsedDateValue
46
46
  });
47
- } // Mobile keyboard view is a special case.
47
+ }
48
+
49
+ var _React$useState = React.useState(draftState.committed),
50
+ initialDate = _React$useState[0],
51
+ setInitialDate = _React$useState[1]; // Mobile keyboard view is a special case.
48
52
  // When it's open picker should work like closed, cause we are just showing text field
49
53
 
50
54
 
51
- var _React$useState = React.useState(false),
52
- isMobileKeyboardViewOpen = _React$useState[0],
53
- setMobileKeyboardViewOpen = _React$useState[1];
55
+ var _React$useState2 = React.useState(false),
56
+ isMobileKeyboardViewOpen = _React$useState2[0],
57
+ setMobileKeyboardViewOpen = _React$useState2[1];
54
58
 
55
59
  var acceptDate = React.useCallback(function (acceptedDate, needClosePicker) {
56
60
  onChange(acceptedDate);
57
61
 
58
62
  if (needClosePicker) {
59
63
  setIsOpen(false);
64
+ setInitialDate(acceptedDate);
60
65
 
61
66
  if (onAccept) {
62
67
  onAccept(acceptedDate);
@@ -73,7 +78,7 @@ export function usePickerState(props, valueManager) {
73
78
  return acceptDate(draftState.draft, true);
74
79
  },
75
80
  onDismiss: function onDismiss() {
76
- return setIsOpen(false);
81
+ return acceptDate(initialDate, true);
77
82
  },
78
83
  onSetToday: function onSetToday() {
79
84
  var now = utils.date();
@@ -84,7 +89,7 @@ export function usePickerState(props, valueManager) {
84
89
  acceptDate(now, !disableCloseOnSelect);
85
90
  }
86
91
  };
87
- }, [acceptDate, disableCloseOnSelect, isOpen, utils, draftState.draft, setIsOpen, valueManager.emptyValue]);
92
+ }, [acceptDate, disableCloseOnSelect, isOpen, utils, draftState.draft, valueManager.emptyValue, initialDate]);
88
93
  var pickerProps = React.useMemo(function () {
89
94
  return {
90
95
  date: draftState.draft,
@@ -14,7 +14,10 @@ function DesktopWrapper(props) {
14
14
  open = props.open,
15
15
  PopperProps = props.PopperProps,
16
16
  PaperProps = props.PaperProps,
17
- TransitionComponent = props.TransitionComponent;
17
+ TransitionComponent = props.TransitionComponent,
18
+ onClear = props.onClear,
19
+ clearText = props.clearText,
20
+ clearable = props.clearable;
18
21
  var ownInputRef = React.useRef(null);
19
22
  var inputRef = useForkRef(DateInputProps.inputRef, ownInputRef);
20
23
  return /*#__PURE__*/_jsxs(WrapperVariantContext.Provider, {
@@ -29,6 +32,9 @@ function DesktopWrapper(props) {
29
32
  PopperProps: PopperProps,
30
33
  PaperProps: PaperProps,
31
34
  onClose: onDismiss,
35
+ onClear: onClear,
36
+ clearText: clearText,
37
+ clearable: clearable,
32
38
  children: children
33
39
  })]
34
40
  });
@@ -24,8 +24,7 @@ var PickerStaticWrapperRoot = styled('div', {
24
24
  slot: 'Root',
25
25
  overridesResolver: function overridesResolver(props, styles) {
26
26
  return styles.root;
27
- },
28
- skipSx: true
27
+ }
29
28
  })(function (_ref) {
30
29
  var theme = _ref.theme;
31
30
  return {
@@ -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
  const weeksContainerHeight = (DAY_SIZE + DAY_MARGIN * 4) * 6;
15
- const PickersCalendarDayHeader = styled('div', {
16
- skipSx: true
17
- })({
15
+ const PickersCalendarDayHeader = styled('div')({
18
16
  display: 'flex',
19
17
  justifyContent: 'center',
20
18
  alignItems: 'center'
21
19
  });
22
- const PickersCalendarWeekDayLabel = styled(Typography, {
23
- skipSx: true
24
- })(({
20
+ const PickersCalendarWeekDayLabel = styled(Typography)(({
25
21
  theme
26
22
  }) => ({
27
23
  width: 36,
@@ -33,27 +29,19 @@ const PickersCalendarWeekDayLabel = styled(Typography, {
33
29
  alignItems: 'center',
34
30
  color: theme.palette.text.secondary
35
31
  }));
36
- const PickersCalendarLoadingContainer = styled('div', {
37
- skipSx: true
38
- })({
32
+ const PickersCalendarLoadingContainer = styled('div')({
39
33
  display: 'flex',
40
34
  justifyContent: 'center',
41
35
  alignItems: 'center',
42
36
  minHeight: weeksContainerHeight
43
37
  });
44
- const PickersCalendarSlideTransition = styled(SlideTransition, {
45
- skipSx: true
46
- })({
38
+ const PickersCalendarSlideTransition = styled(SlideTransition)({
47
39
  minHeight: weeksContainerHeight
48
40
  });
49
- const PickersCalendarWeekContainer = styled('div', {
50
- skipSx: true
51
- })({
41
+ const PickersCalendarWeekContainer = styled('div')({
52
42
  overflow: 'hidden'
53
43
  });
54
- const PickersCalendarWeek = styled('div', {
55
- skipSx: true
56
- })({
44
+ const PickersCalendarWeek = styled('div')({
57
45
  margin: `${DAY_MARGIN}px 0`,
58
46
  display: 'flex',
59
47
  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
- const PickersCalendarHeaderRoot = styled('div', {
15
- skipSx: true
16
- })({
14
+ const PickersCalendarHeaderRoot = styled('div')({
17
15
  display: 'flex',
18
16
  alignItems: 'center',
19
17
  marginTop: 16,
@@ -24,9 +22,7 @@ const PickersCalendarHeaderRoot = styled('div', {
24
22
  maxHeight: 30,
25
23
  minHeight: 30
26
24
  });
27
- const PickersCalendarHeaderLabel = styled('div', {
28
- skipSx: true
29
- })(({
25
+ const PickersCalendarHeaderLabel = styled('div')(({
30
26
  theme
31
27
  }) => _extends({
32
28
  display: 'flex',
@@ -38,19 +34,13 @@ const PickersCalendarHeaderLabel = styled('div', {
38
34
  }, theme.typography.body1, {
39
35
  fontWeight: theme.typography.fontWeightMedium
40
36
  }));
41
- const PickersCalendarHeaderLabelItem = styled('div', {
42
- skipSx: true
43
- })({
37
+ const PickersCalendarHeaderLabelItem = styled('div')({
44
38
  marginRight: 6
45
39
  });
46
- const PickersCalendarHeaderSwitchViewButton = styled(IconButton, {
47
- skipSx: true
48
- })({
40
+ const PickersCalendarHeaderSwitchViewButton = styled(IconButton)({
49
41
  marginRight: 'auto'
50
42
  });
51
- const PickersCalendarHeaderSwitchView = styled(ArrowDropDownIcon, {
52
- skipSx: true
53
- })(({
43
+ const PickersCalendarHeaderSwitchView = styled(ArrowDropDownIcon)(({
54
44
  theme,
55
45
  ownerState
56
46
  }) => _extends({
@@ -7,9 +7,7 @@ import { TransitionGroup } from 'react-transition-group';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  const classes = generateUtilityClasses('PrivatePickersFadeTransitionGroup', ['root']);
9
9
  const animationDuration = 500;
10
- const PickersFadeTransitionGroupRoot = styled(TransitionGroup, {
11
- skipSx: true
12
- })({
10
+ const 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
  const classes = generateUtilityClasses('PrivatePickersSlideTransition', ['root', 'slideEnter-left', 'slideEnter-right', 'slideEnterActive', 'slideEnterActive', 'slideExit', 'slideExitActiveLeft-left', 'slideExitActiveLeft-right']);
11
11
  export const slideAnimationDuration = 350;
12
- const PickersSlideTransitionRoot = styled(TransitionGroup, {
13
- skipSx: true
14
- })(({
12
+ const PickersSlideTransitionRoot = styled(TransitionGroup)(({
15
13
  theme
16
14
  }) => {
17
15
  const slideTransition = theme.transitions.create('transform', {
@@ -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
- const ClockRoot = styled('div', {
17
- skipSx: true
18
- })(({
16
+ const ClockRoot = styled('div')(({
19
17
  theme
20
18
  }) => ({
21
19
  display: 'flex',
@@ -23,9 +21,7 @@ const ClockRoot = styled('div', {
23
21
  alignItems: 'center',
24
22
  margin: theme.spacing(2)
25
23
  }));
26
- const ClockClock = styled('div', {
27
- skipSx: true
28
- })({
24
+ const ClockClock = styled('div')({
29
25
  backgroundColor: 'rgba(0,0,0,.07)',
30
26
  borderRadius: '50%',
31
27
  height: 220,
@@ -34,9 +30,7 @@ const ClockClock = styled('div', {
34
30
  position: 'relative',
35
31
  pointerEvents: 'none'
36
32
  });
37
- const ClockSquareMask = styled('div', {
38
- skipSx: true
39
- })({
33
+ const ClockSquareMask = styled('div')({
40
34
  width: '100%',
41
35
  height: '100%',
42
36
  position: 'absolute',
@@ -53,9 +47,7 @@ const ClockSquareMask = styled('div', {
53
47
  cursor: 'move'
54
48
  }
55
49
  });
56
- const ClockPin = styled('div', {
57
- skipSx: true
58
- })(({
50
+ const ClockPin = styled('div')(({
59
51
  theme
60
52
  }) => ({
61
53
  width: 6,
@@ -67,9 +59,7 @@ const ClockPin = styled('div', {
67
59
  left: '50%',
68
60
  transform: 'translate(-50%, -50%)'
69
61
  }));
70
- const ClockAmButton = styled(IconButton, {
71
- skipSx: true
72
- })(({
62
+ const ClockAmButton = styled(IconButton)(({
73
63
  theme,
74
64
  ownerState
75
65
  }) => _extends({
@@ -84,9 +74,7 @@ const ClockAmButton = styled(IconButton, {
84
74
  backgroundColor: theme.palette.primary.light
85
75
  }
86
76
  }));
87
- const ClockPmButton = styled(IconButton, {
88
- skipSx: true
89
- })(({
77
+ const ClockPmButton = styled(IconButton)(({
90
78
  theme,
91
79
  ownerState
92
80
  }) => _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 const classes = generateUtilityClasses('PrivateClockNumber', ['selected', 'disabled']);
11
- const ClockNumberRoot = styled('span', {
12
- skipSx: true
13
- })(({
11
+ const ClockNumberRoot = styled('span')(({
14
12
  theme,
15
13
  ownerState
16
14
  }) => _extends({
@@ -23,6 +21,7 @@ const ClockNumberRoot = styled('span', {
23
21
  alignItems: 'center',
24
22
  borderRadius: '50%',
25
23
  color: theme.palette.text.primary,
24
+ fontFamily: theme.typography.fontFamily,
26
25
  '&:focused': {
27
26
  backgroundColor: theme.palette.background.paper
28
27
  },
@@ -5,9 +5,7 @@ import * as React from 'react';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
- const ClockPointerRoot = styled('div', {
9
- skipSx: true
10
- })(({
8
+ const ClockPointerRoot = styled('div')(({
11
9
  theme,
12
10
  ownerState
13
11
  }) => _extends({
@@ -20,9 +18,7 @@ const ClockPointerRoot = styled('div', {
20
18
  }, ownerState.toAnimateTransform && {
21
19
  transition: theme.transitions.create(['transform', 'height'])
22
20
  }));
23
- const ClockPointerThumb = styled('div', {
24
- skipSx: true
25
- })(({
21
+ const ClockPointerThumb = styled('div')(({
26
22
  theme,
27
23
  ownerState
28
24
  }) => _extends({
@@ -44,7 +44,9 @@ const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(inProps, re
44
44
  return isDesktop ? /*#__PURE__*/_jsx(DesktopDatePicker, _extends({
45
45
  ref: ref,
46
46
  PopperProps: PopperProps,
47
- TransitionComponent: TransitionComponent
47
+ TransitionComponent: TransitionComponent,
48
+ clearText: clearText,
49
+ clearable: clearable
48
50
  }, other)) : /*#__PURE__*/_jsx(MobileDatePicker, _extends({
49
51
  ref: ref,
50
52
  cancelText: cancelText,
@@ -10,17 +10,13 @@ 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
  const classes = generateUtilityClasses('PrivateDatePickerToolbar', ['penIcon']);
13
- const DatePickerToolbarRoot = styled(PickersToolbar, {
14
- skipSx: true
15
- })({
13
+ const DatePickerToolbarRoot = styled(PickersToolbar)({
16
14
  [`& .${classes.penIcon}`]: {
17
15
  position: 'relative',
18
16
  top: 4
19
17
  }
20
18
  });
21
- const DatePickerToolbarTitle = styled(Typography, {
22
- skipSx: true
23
- })(({
19
+ const DatePickerToolbarTitle = styled(Typography)(({
24
20
  ownerState
25
21
  }) => _extends({}, ownerState.isLandscape && {
26
22
  margin: 'auto 16px auto auto'
@@ -8,9 +8,7 @@ import { useMaskedInput } from '../internal/pickers/hooks/useMaskedInput';
8
8
  import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVariantContext';
9
9
  import { executeInTheNextEventLoopTick } from '../internal/pickers/utils';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
- const DateRangePickerInputRoot = styled('div', {
12
- skipSx: true
13
- })(({
11
+ const DateRangePickerInputRoot = styled('div')(({
14
12
  theme
15
13
  }) => ({
16
14
  display: 'flex',
@@ -10,17 +10,13 @@ import PickersToolbarButton from '../internal/pickers/PickersToolbarButton';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
12
  const classes = generateUtilityClasses('PrivateDateRangePickerToolbar', ['penIcon']);
13
- const DateRangePickerToolbarRoot = styled(PickersToolbar, {
14
- skipSx: true
15
- })({
13
+ const DateRangePickerToolbarRoot = styled(PickersToolbar)({
16
14
  [`& .${classes.penIcon}`]: {
17
15
  position: 'relative',
18
16
  top: 4
19
17
  }
20
18
  });
21
- const DateRangePickerToolbarContainer = styled('div', {
22
- skipSx: true
23
- })({
19
+ const DateRangePickerToolbarContainer = styled('div')({
24
20
  display: 'flex'
25
21
  });
26
22
  /**