@mui/lab 5.0.0-alpha.64 → 5.0.0-alpha.68

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 (130) hide show
  1. package/CHANGELOG.md +308 -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/DatePickerToolbar.js +2 -6
  10. package/DateRangePicker/DateRangePickerInput.js +1 -3
  11. package/DateRangePicker/DateRangePickerToolbar.js +2 -6
  12. package/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  13. package/DateTimePicker/DateTimePickerTabs.js +2 -4
  14. package/DateTimePicker/DateTimePickerToolbar.js +4 -12
  15. package/LoadingButton/LoadingButton.js +3 -1
  16. package/Masonry/Masonry.js +12 -34
  17. package/MonthPicker/PickersMonth.js +1 -3
  18. package/README.md +4 -4
  19. package/TimePicker/TimePickerToolbar.js +4 -12
  20. package/TreeItem/TreeItem.js +1 -1
  21. package/TreeView/TreeView.js +4 -0
  22. package/YearPicker/PickersYear.js +2 -6
  23. package/index.js +1 -1
  24. package/internal/pickers/Picker/Picker.js +1 -3
  25. package/internal/pickers/PickersArrowSwitcher.js +2 -6
  26. package/internal/pickers/PickersModalDialog.js +4 -10
  27. package/internal/pickers/PickersPopper.js +2 -6
  28. package/internal/pickers/PickersToolbar.js +2 -6
  29. package/internal/pickers/PickersToolbarButton.js +1 -3
  30. package/internal/pickers/PickersToolbarText.d.ts +1 -1
  31. package/internal/pickers/PickersToolbarText.js +1 -3
  32. package/internal/pickers/PureDateInput.js +6 -4
  33. package/internal/pickers/hooks/usePickerState.js +6 -4
  34. package/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  35. package/legacy/CalendarPicker/PickersCalendar.js +6 -18
  36. package/legacy/CalendarPicker/PickersCalendarHeader.js +5 -15
  37. package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  38. package/legacy/CalendarPicker/PickersSlideTransition.js +1 -3
  39. package/legacy/ClockPicker/Clock.js +6 -18
  40. package/legacy/ClockPicker/ClockNumber.js +2 -3
  41. package/legacy/ClockPicker/ClockPointer.js +2 -6
  42. package/legacy/DatePicker/DatePickerToolbar.js +2 -6
  43. package/legacy/DateRangePicker/DateRangePickerInput.js +1 -3
  44. package/legacy/DateRangePicker/DateRangePickerToolbar.js +2 -6
  45. package/legacy/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  46. package/legacy/DateTimePicker/DateTimePickerTabs.js +2 -4
  47. package/legacy/DateTimePicker/DateTimePickerToolbar.js +4 -12
  48. package/legacy/LoadingButton/LoadingButton.js +3 -1
  49. package/legacy/Masonry/Masonry.js +12 -34
  50. package/legacy/MonthPicker/PickersMonth.js +1 -3
  51. package/legacy/TimePicker/TimePickerToolbar.js +4 -12
  52. package/legacy/TreeItem/TreeItem.js +1 -1
  53. package/legacy/TreeView/TreeView.js +4 -0
  54. package/legacy/YearPicker/PickersYear.js +2 -6
  55. package/legacy/index.js +1 -1
  56. package/legacy/internal/pickers/Picker/Picker.js +1 -3
  57. package/legacy/internal/pickers/PickersArrowSwitcher.js +2 -6
  58. package/legacy/internal/pickers/PickersModalDialog.js +4 -10
  59. package/legacy/internal/pickers/PickersPopper.js +2 -6
  60. package/legacy/internal/pickers/PickersToolbar.js +2 -6
  61. package/legacy/internal/pickers/PickersToolbarButton.js +1 -3
  62. package/legacy/internal/pickers/PickersToolbarText.js +1 -3
  63. package/legacy/internal/pickers/PureDateInput.js +6 -4
  64. package/legacy/internal/pickers/hooks/usePickerState.js +11 -6
  65. package/legacy/internal/pickers/test-utils.js +2 -1
  66. package/legacy/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  67. package/modern/CalendarPicker/PickersCalendar.js +6 -18
  68. package/modern/CalendarPicker/PickersCalendarHeader.js +5 -15
  69. package/modern/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  70. package/modern/CalendarPicker/PickersSlideTransition.js +1 -3
  71. package/modern/ClockPicker/Clock.js +6 -18
  72. package/modern/ClockPicker/ClockNumber.js +2 -3
  73. package/modern/ClockPicker/ClockPointer.js +2 -6
  74. package/modern/DatePicker/DatePickerToolbar.js +2 -6
  75. package/modern/DateRangePicker/DateRangePickerInput.js +1 -3
  76. package/modern/DateRangePicker/DateRangePickerToolbar.js +2 -6
  77. package/modern/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  78. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -4
  79. package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -12
  80. package/modern/LoadingButton/LoadingButton.js +3 -1
  81. package/modern/Masonry/Masonry.js +12 -30
  82. package/modern/MonthPicker/PickersMonth.js +1 -3
  83. package/modern/TimePicker/TimePickerToolbar.js +4 -12
  84. package/modern/TreeItem/TreeItem.js +1 -1
  85. package/modern/TreeView/TreeView.js +4 -0
  86. package/modern/YearPicker/PickersYear.js +2 -6
  87. package/modern/index.js +1 -1
  88. package/modern/internal/pickers/Picker/Picker.js +1 -3
  89. package/modern/internal/pickers/PickersArrowSwitcher.js +2 -6
  90. package/modern/internal/pickers/PickersModalDialog.js +4 -10
  91. package/modern/internal/pickers/PickersPopper.js +2 -6
  92. package/modern/internal/pickers/PickersToolbar.js +2 -6
  93. package/modern/internal/pickers/PickersToolbarButton.js +1 -3
  94. package/modern/internal/pickers/PickersToolbarText.js +1 -3
  95. package/modern/internal/pickers/PureDateInput.js +6 -4
  96. package/modern/internal/pickers/hooks/usePickerState.js +6 -4
  97. package/modern/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  98. package/node/CalendarPicker/PickersCalendar.js +6 -18
  99. package/node/CalendarPicker/PickersCalendarHeader.js +5 -15
  100. package/node/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  101. package/node/CalendarPicker/PickersSlideTransition.js +1 -3
  102. package/node/ClockPicker/Clock.js +6 -18
  103. package/node/ClockPicker/ClockNumber.js +2 -3
  104. package/node/ClockPicker/ClockPointer.js +2 -6
  105. package/node/DatePicker/DatePickerToolbar.js +2 -6
  106. package/node/DateRangePicker/DateRangePickerInput.js +1 -3
  107. package/node/DateRangePicker/DateRangePickerToolbar.js +2 -6
  108. package/node/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  109. package/node/DateTimePicker/DateTimePickerTabs.js +2 -4
  110. package/node/DateTimePicker/DateTimePickerToolbar.js +4 -12
  111. package/node/LoadingButton/LoadingButton.js +3 -1
  112. package/node/Masonry/Masonry.js +12 -34
  113. package/node/MonthPicker/PickersMonth.js +1 -3
  114. package/node/TimePicker/TimePickerToolbar.js +4 -12
  115. package/node/TreeItem/TreeItem.js +1 -1
  116. package/node/TreeView/TreeView.js +4 -0
  117. package/node/YearPicker/PickersYear.js +2 -6
  118. package/node/index.js +1 -1
  119. package/node/internal/pickers/Picker/Picker.js +1 -3
  120. package/node/internal/pickers/PickersArrowSwitcher.js +2 -6
  121. package/node/internal/pickers/PickersModalDialog.js +4 -10
  122. package/node/internal/pickers/PickersPopper.js +2 -6
  123. package/node/internal/pickers/PickersToolbar.js +2 -6
  124. package/node/internal/pickers/PickersToolbarButton.js +1 -3
  125. package/node/internal/pickers/PickersToolbarText.js +1 -3
  126. package/node/internal/pickers/PureDateInput.js +6 -4
  127. package/node/internal/pickers/hooks/usePickerState.js +6 -4
  128. package/node/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  129. package/package.json +9 -9
  130. package/themeAugmentation/components.d.ts +99 -23
@@ -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'
@@ -9,17 +9,13 @@ 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
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
- var PickersPopperRoot = styled(Popper, {
13
- skipSx: true
14
- })(function (_ref) {
12
+ var PickersPopperRoot = styled(Popper)(function (_ref) {
15
13
  var theme = _ref.theme;
16
14
  return {
17
15
  zIndex: theme.zIndex.modal
18
16
  };
19
17
  });
20
- var PickersPopperPaper = styled(Paper, {
21
- skipSx: true
22
- })(function (_ref2) {
18
+ var PickersPopperPaper = styled(Paper)(function (_ref2) {
23
19
  var ownerState = _ref2.ownerState;
24
20
  return _extends({
25
21
  transformOrigin: 'top center',
@@ -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'),
@@ -34,15 +34,17 @@ export var PureDateInput = /*#__PURE__*/React.forwardRef(function PureDateInput(
34
34
  inputRef: inputRef,
35
35
  error: validationError,
36
36
  InputProps: PureDateInputProps,
37
- inputProps: {
37
+ inputProps: _extends({
38
38
  disabled: disabled,
39
39
  readOnly: true,
40
40
  'aria-readonly': true,
41
41
  'aria-label': getOpenDialogAriaText(rawValue, utils),
42
- value: inputValue,
43
- onClick: onOpen,
42
+ value: inputValue
43
+ }, !props.readOnly && {
44
+ onClick: onOpen
45
+ }, {
44
46
  onKeyDown: onSpaceOrEnter(onOpen)
45
- }
47
+ })
46
48
  }, TextFieldProps));
47
49
  });
48
50
  PureDateInput.propTypes = {
@@ -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,
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
4
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
5
  import _inherits from "@babel/runtime/helpers/esm/inherits";
5
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
@@ -58,7 +59,7 @@ export var AdapterClassToUse = /*#__PURE__*/function (_AdapterDateFns) {
58
59
  return _this;
59
60
  }
60
61
 
61
- return AdapterClassToUse;
62
+ return _createClass(AdapterClassToUse);
62
63
  }(AdapterDateFns);
63
64
  export var adapterToUse = new AdapterClassToUse();
64
65
  export var FakeTransitionComponent = /*#__PURE__*/React.forwardRef(function FakeTransitionComponent(_ref, ref) {
@@ -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({
@@ -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
  /**
@@ -14,30 +14,22 @@ import { doNothing } from '../internal/pickers/utils';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { createElement as _createElement } from "react";
16
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
- const DateRangePickerViewDesktopRoot = styled('div', {
18
- skipSx: true
19
- })({
17
+ const DateRangePickerViewDesktopRoot = styled('div')({
20
18
  display: 'flex',
21
19
  flexDirection: 'row'
22
20
  });
23
- const DateRangePickerViewDesktopContainer = styled('div', {
24
- skipSx: true
25
- })(({
21
+ const DateRangePickerViewDesktopContainer = styled('div')(({
26
22
  theme
27
23
  }) => ({
28
24
  '&:not(:last-of-type)': {
29
25
  borderRight: `2px solid ${theme.palette.divider}`
30
26
  }
31
27
  }));
32
- const DateRangePickerViewDesktopCalendar = styled(PickersCalendar, {
33
- skipSx: true
34
- })({
28
+ const DateRangePickerViewDesktopCalendar = styled(PickersCalendar)({
35
29
  minWidth: 312,
36
30
  minHeight: 288
37
31
  });
38
- const DateRangePickerViewDesktopArrowSwitcher = styled(PickersArrowSwitcher, {
39
- skipSx: true
40
- })({
32
+ const DateRangePickerViewDesktopArrowSwitcher = styled(PickersArrowSwitcher)({
41
33
  padding: '16px 16px 8px 16px',
42
34
  display: 'flex',
43
35
  alignItems: 'center',
@@ -14,7 +14,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
14
14
 
15
15
  const viewToTab = openView => {
16
16
  // TODO: what happens if `openView` is `month`?
17
- if (openView === 'day' || openView === 'year') {
17
+ if (['day', 'month', 'year'].includes(openView)) {
18
18
  return 'date';
19
19
  }
20
20
 
@@ -29,9 +29,7 @@ const tabToView = tab => {
29
29
  return 'hours';
30
30
  };
31
31
 
32
- const DateTimePickerTabsRoot = styled(Tabs, {
33
- skipSx: true
34
- })(({
32
+ const DateTimePickerTabsRoot = styled(Tabs)(({
35
33
  ownerState,
36
34
  theme
37
35
  }) => _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
  const classes = generateUtilityClasses('PrivateDateTimePickerToolbar', ['penIcon']);
19
- const DateTimePickerToolbarRoot = styled(PickersToolbar, {
20
- skipSx: true
21
- })({
19
+ const DateTimePickerToolbarRoot = styled(PickersToolbar)({
22
20
  paddingLeft: 16,
23
21
  paddingRight: 16,
24
22
  justifyContent: 'space-around',
@@ -28,21 +26,15 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
28
26
  right: 8
29
27
  }
30
28
  });
31
- const DateTimePickerToolbarDateContainer = styled('div', {
32
- skipSx: true
33
- })({
29
+ const DateTimePickerToolbarDateContainer = styled('div')({
34
30
  display: 'flex',
35
31
  flexDirection: 'column',
36
32
  alignItems: 'flex-start'
37
33
  });
38
- const DateTimePickerToolbarTimeContainer = styled('div', {
39
- skipSx: true
40
- })({
34
+ const DateTimePickerToolbarTimeContainer = styled('div')({
41
35
  display: 'flex'
42
36
  });
43
- const DateTimePickerToolbarSeparator = styled(PickersToolbarText, {
44
- skipSx: true
45
- })({
37
+ const DateTimePickerToolbarSeparator = styled(PickersToolbarText)({
46
38
  margin: '0 4px 0 2px',
47
39
  cursor: 'default'
48
40
  });
@@ -237,6 +237,8 @@ process.env.NODE_ENV !== "production" ? LoadingButton.propTypes
237
237
  * The variant to use.
238
238
  * @default 'text'
239
239
  */
240
- variant: PropTypes.oneOf(['contained', 'outlined', 'text'])
240
+ variant: PropTypes
241
+ /* @typescript-to-proptypes-ignore */
242
+ .oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])
241
243
  } : void 0;
242
244
  export default LoadingButton;
@@ -167,36 +167,24 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
167
167
 
168
168
  const classes = useUtilityClasses(ownerState);
169
169
 
170
- const handleResize = elements => {
171
- if (!elements) {
170
+ const handleResize = masonryChildren => {
171
+ if (!masonryRef.current || !masonryChildren || masonryChildren.length === 0) {
172
172
  return;
173
173
  }
174
174
 
175
- let masonry;
176
- let masonryFirstChild;
177
- let parentWidth;
178
- let childWidth;
179
-
180
- if (elements[0].target.className.includes(classes.root)) {
181
- masonry = elements[0].target;
182
- parentWidth = elements[0].contentRect.width;
183
- masonryFirstChild = elements[1]?.target || masonry.firstChild;
184
- childWidth = masonryFirstChild?.contentRect?.width || masonryFirstChild?.clientWidth || 0;
185
- } else {
186
- masonryFirstChild = elements[0].target;
187
- childWidth = elements[0].contentRect.width;
188
- masonry = elements[1]?.target || masonryFirstChild.parentElement;
189
- parentWidth = masonry.contentRect?.width || masonry.clientWidth;
190
- }
175
+ const masonry = masonryRef.current;
176
+ const masonryFirstChild = masonryRef.current.firstChild;
177
+ const parentWidth = masonry.clientWidth;
178
+ const firstChildWidth = masonryFirstChild.clientWidth;
191
179
 
192
- if (parentWidth === 0 || childWidth === 0 || !masonry || !masonryFirstChild) {
180
+ if (parentWidth === 0 || firstChildWidth === 0) {
193
181
  return;
194
182
  }
195
183
 
196
184
  const firstChildComputedStyle = window.getComputedStyle(masonryFirstChild);
197
185
  const firstChildMarginLeft = parseToNumber(firstChildComputedStyle.marginLeft);
198
186
  const firstChildMarginRight = parseToNumber(firstChildComputedStyle.marginRight);
199
- const currentNumberOfColumns = Math.round(parentWidth / (childWidth + firstChildMarginLeft + firstChildMarginRight));
187
+ const currentNumberOfColumns = Math.round(parentWidth / (firstChildWidth + firstChildMarginLeft + firstChildMarginRight));
200
188
  const columnHeights = new Array(currentNumberOfColumns).fill(0);
201
189
  let skip = false;
202
190
  masonry.childNodes.forEach(child => {
@@ -249,16 +237,10 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
249
237
  return undefined;
250
238
  }
251
239
 
252
- const container = masonryRef.current;
253
-
254
- if (container && resizeObserver) {
255
- // only the masonry container and its first child are observed for resizing;
256
- // this might cause unforeseen problems in some use cases;
257
- resizeObserver.observe(container);
258
-
259
- if (container.firstChild) {
260
- resizeObserver.observe(container.firstChild);
261
- }
240
+ if (masonryRef.current) {
241
+ masonryRef.current.childNodes.forEach(childNode => {
242
+ resizeObserver.observe(childNode);
243
+ });
262
244
  }
263
245
 
264
246
  return () => resizeObserver ? resizeObserver.disconnect() : {};
@@ -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
  const classes = generateUtilityClasses('PrivatePickersMonth', ['root', 'selected']);
12
- const PickersMonthRoot = styled(Typography, {
13
- skipSx: true
14
- })(({
12
+ const PickersMonthRoot = styled(Typography)(({
15
13
  theme
16
14
  }) => _extends({
17
15
  flex: '1 0 33.33%',