@mui/x-date-pickers 8.0.0-alpha.4 → 8.0.0-alpha.5

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 (106) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  3. package/MonthCalendar/MonthCalendar.js +31 -11
  4. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  5. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  6. package/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  7. package/MonthCalendar/index.d.ts +0 -3
  8. package/MonthCalendar/index.js +1 -2
  9. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  10. package/MonthCalendar/monthCalendarClasses.js +1 -1
  11. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -0
  12. package/PickersSectionList/PickersSectionList.js +21 -16
  13. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  14. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  15. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  16. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  17. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  18. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  19. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  20. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  21. package/PickersTextField/PickersInputBase/PickersInputBase.js +36 -37
  22. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  23. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  24. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  25. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  26. package/PickersTextField/PickersTextField.js +75 -62
  27. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  28. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  29. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  30. package/TimeClock/Clock.d.ts +4 -0
  31. package/TimeClock/Clock.js +9 -6
  32. package/TimeClock/TimeClock.js +21 -4
  33. package/YearCalendar/YearCalendar.js +46 -13
  34. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  35. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  36. package/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  37. package/YearCalendar/index.d.ts +0 -3
  38. package/YearCalendar/index.js +1 -2
  39. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  40. package/YearCalendar/yearCalendarClasses.js +1 -1
  41. package/index.js +1 -1
  42. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  43. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +1 -1
  44. package/internals/hooks/useFieldOwnerState.d.ts +1 -0
  45. package/internals/hooks/useFieldOwnerState.js +6 -2
  46. package/models/fields.d.ts +11 -1
  47. package/modern/MonthCalendar/MonthCalendar.js +31 -11
  48. package/modern/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  49. package/modern/MonthCalendar/index.js +1 -2
  50. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  51. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -0
  52. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  53. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  54. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  55. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  56. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +36 -37
  57. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  58. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  59. package/modern/PickersTextField/PickersTextField.js +75 -62
  60. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  61. package/modern/TimeClock/Clock.js +9 -6
  62. package/modern/TimeClock/TimeClock.js +21 -4
  63. package/modern/YearCalendar/YearCalendar.js +46 -13
  64. package/modern/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  65. package/modern/YearCalendar/index.js +1 -2
  66. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  67. package/modern/index.js +1 -1
  68. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  69. package/modern/internals/hooks/useFieldOwnerState.js +6 -2
  70. package/node/MonthCalendar/MonthCalendar.js +31 -11
  71. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  72. package/node/MonthCalendar/index.js +1 -8
  73. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  74. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -0
  75. package/node/PickersSectionList/PickersSectionList.js +21 -16
  76. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  77. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  78. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  79. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +36 -37
  80. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  81. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  82. package/node/PickersTextField/PickersTextField.js +75 -62
  83. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  84. package/node/TimeClock/Clock.js +9 -6
  85. package/node/TimeClock/TimeClock.js +21 -4
  86. package/node/YearCalendar/YearCalendar.js +45 -12
  87. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  88. package/node/YearCalendar/index.js +1 -8
  89. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  90. package/node/index.js +1 -1
  91. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  92. package/node/internals/hooks/useFieldOwnerState.js +6 -2
  93. package/package.json +3 -3
  94. package/themeAugmentation/components.d.ts +0 -8
  95. package/themeAugmentation/overrides.d.ts +2 -4
  96. package/themeAugmentation/props.d.ts +2 -4
  97. package/MonthCalendar/PickersMonth.d.ts +0 -28
  98. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  99. package/MonthCalendar/pickersMonthClasses.js +0 -5
  100. package/YearCalendar/PickersYear.d.ts +0 -27
  101. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  102. package/YearCalendar/pickersYearClasses.js +0 -5
  103. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  104. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  105. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  106. package/node/YearCalendar/pickersYearClasses.js +0 -12
@@ -13,9 +13,10 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _clsx = _interopRequireDefault(require("clsx"));
15
15
  var _RtlProvider = require("@mui/system/RtlProvider");
16
+ var _createStyled = require("@mui/system/createStyled");
16
17
  var _styles = require("@mui/material/styles");
17
18
  var _utils = require("@mui/utils");
18
- var _PickersYear = require("./PickersYear");
19
+ var _YearCalendarButton = require("./YearCalendarButton");
19
20
  var _useUtils = require("../internals/hooks/useUtils");
20
21
  var _yearCalendarClasses = require("./yearCalendarClasses");
21
22
  var _dateUtils = require("../internals/utils/date-utils");
@@ -44,6 +45,7 @@ function useYearCalendarDefaultizedProps(props, name) {
44
45
  disableFuture: false
45
46
  }, themeProps, {
46
47
  yearsPerRow: themeProps.yearsPerRow ?? 3,
48
+ yearsOrder: themeProps.yearsOrder ?? 'asc',
47
49
  minDate: (0, _dateUtils.applyDefaultDate)(utils, themeProps.minDate, defaultDates.minDate),
48
50
  maxDate: (0, _dateUtils.applyDefaultDate)(utils, themeProps.maxDate, defaultDates.maxDate)
49
51
  });
@@ -51,19 +53,43 @@ function useYearCalendarDefaultizedProps(props, name) {
51
53
  const YearCalendarRoot = (0, _styles.styled)('div', {
52
54
  name: 'MuiYearCalendar',
53
55
  slot: 'Root',
54
- overridesResolver: (props, styles) => styles.root
56
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'yearsPerRow'
55
57
  })({
56
58
  display: 'flex',
57
- flexDirection: 'row',
58
59
  flexWrap: 'wrap',
60
+ justifyContent: 'space-evenly',
61
+ rowGap: 12,
62
+ padding: '6px 0',
59
63
  overflowY: 'auto',
60
64
  height: '100%',
61
- padding: '0 4px',
62
65
  width: _dimensions.DIALOG_WIDTH,
63
66
  maxHeight: _dimensions.MAX_CALENDAR_HEIGHT,
64
67
  // avoid padding increasing width over defined
65
68
  boxSizing: 'border-box',
66
- position: 'relative'
69
+ position: 'relative',
70
+ variants: [{
71
+ props: {
72
+ yearsPerRow: 3
73
+ },
74
+ style: {
75
+ columnGap: 24
76
+ }
77
+ }, {
78
+ props: {
79
+ yearsPerRow: 4
80
+ },
81
+ style: {
82
+ columnGap: 0,
83
+ padding: '0 2px'
84
+ }
85
+ }]
86
+ });
87
+ const YearCalendarButtonFiller = (0, _styles.styled)('div', {
88
+ name: 'MuiYearCalendar',
89
+ slot: 'ButtonFiller'
90
+ })({
91
+ height: 36,
92
+ width: 72
67
93
  });
68
94
  /**
69
95
  * Demos:
@@ -94,7 +120,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
94
120
  onYearFocus,
95
121
  hasFocus,
96
122
  onFocusedViewChange,
97
- yearsOrder = 'asc',
123
+ yearsOrder,
98
124
  yearsPerRow,
99
125
  timezone: timezoneProp,
100
126
  gridLabelId,
@@ -246,18 +272,23 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
246
272
  if (yearsOrder === 'desc') {
247
273
  yearRange.reverse();
248
274
  }
249
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarRoot, (0, _extends2.default)({
275
+ let fillerAmount = yearsPerRow - yearRange.length % yearsPerRow;
276
+ if (fillerAmount === yearsPerRow) {
277
+ fillerAmount = 0;
278
+ }
279
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(YearCalendarRoot, (0, _extends2.default)({
250
280
  ref: handleRef,
251
281
  className: (0, _clsx.default)(classes.root, className),
252
282
  ownerState: ownerState,
253
283
  role: "radiogroup",
254
- "aria-labelledby": gridLabelId
284
+ "aria-labelledby": gridLabelId,
285
+ yearsPerRow: yearsPerRow
255
286
  }, other, {
256
- children: yearRange.map(year => {
287
+ children: [yearRange.map(year => {
257
288
  const yearNumber = utils.getYear(year);
258
289
  const isSelected = yearNumber === selectedYear;
259
290
  const isDisabled = disabled || isYearDisabled(year);
260
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersYear.PickersYear, {
291
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_YearCalendarButton.YearCalendarButton, {
261
292
  selected: isSelected,
262
293
  value: yearNumber,
263
294
  onClick: handleYearSelection,
@@ -268,12 +299,14 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
268
299
  onFocus: handleYearFocus,
269
300
  onBlur: handleYearBlur,
270
301
  "aria-current": todayYear === yearNumber ? 'date' : undefined,
271
- yearsPerRow: yearsPerRow,
272
302
  slots: slots,
273
303
  slotProps: slotProps,
304
+ classes: classesProp,
274
305
  children: utils.format(year, 'year')
275
306
  }, utils.format(year, 'year'));
276
- })
307
+ }), Array.from({
308
+ length: fillerAmount
309
+ }, (_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarButtonFiller, {}, index))]
277
310
  }));
278
311
  });
279
312
  process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
@@ -5,51 +5,31 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.PickersYear = void 0;
8
+ exports.YearCalendarButton = void 0;
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
- var _clsx = _interopRequireDefault(require("clsx"));
13
12
  var _styles = require("@mui/material/styles");
14
13
  var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
15
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
17
- var _pickersYearClasses = require("./pickersYearClasses");
18
16
  var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
17
+ var _yearCalendarClasses = require("./yearCalendarClasses");
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"];
19
+ const _excluded = ["autoFocus", "classes", "disabled", "selected", "value", "onClick", "onKeyDown", "onFocus", "onBlur", "slots", "slotProps"];
21
20
  const useUtilityClasses = (classes, ownerState) => {
22
21
  const slots = {
23
- root: ['root'],
24
- yearButton: ['yearButton', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
22
+ button: ['button', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
25
23
  };
26
- return (0, _composeClasses.default)(slots, _pickersYearClasses.getPickersYearUtilityClass, classes);
24
+ return (0, _composeClasses.default)(slots, _yearCalendarClasses.getYearCalendarUtilityClass, classes);
27
25
  };
28
- const PickersYearRoot = (0, _styles.styled)('div', {
29
- name: 'MuiPickersYear',
30
- slot: 'Root',
31
- overridesResolver: (_, styles) => [styles.root]
32
- })({
33
- display: 'flex',
34
- alignItems: 'center',
35
- justifyContent: 'center',
36
- flexBasis: '33.3%',
37
- variants: [{
38
- props: {
39
- yearsPerRow: 4
40
- },
41
- style: {
42
- flexBasis: '25%'
43
- }
44
- }]
45
- });
46
- const YearCalendarButton = (0, _styles.styled)('button', {
47
- name: 'MuiPickersYear',
48
- slot: 'YearButton',
49
- overridesResolver: (_, styles) => [styles.yearButton, {
50
- [`&.${_pickersYearClasses.pickersYearClasses.disabled}`]: styles.disabled
26
+ const DefaultYearButton = (0, _styles.styled)('button', {
27
+ name: 'MuiYearCalendar',
28
+ slot: 'Button',
29
+ overridesResolver: (_, styles) => [styles.button, {
30
+ [`&.${_yearCalendarClasses.yearCalendarClasses.disabled}`]: styles.disabled
51
31
  }, {
52
- [`&.${_pickersYearClasses.pickersYearClasses.selected}`]: styles.selected
32
+ [`&.${_yearCalendarClasses.yearCalendarClasses.selected}`]: styles.selected
53
33
  }]
54
34
  })(({
55
35
  theme
@@ -59,7 +39,6 @@ const YearCalendarButton = (0, _styles.styled)('button', {
59
39
  border: 0,
60
40
  outline: 0
61
41
  }, theme.typography.subtitle1, {
62
- margin: '6px 0',
63
42
  height: 36,
64
43
  width: 72,
65
44
  borderRadius: 18,
@@ -74,10 +53,10 @@ const YearCalendarButton = (0, _styles.styled)('button', {
74
53
  cursor: 'auto',
75
54
  pointerEvents: 'none'
76
55
  },
77
- [`&.${_pickersYearClasses.pickersYearClasses.disabled}`]: {
56
+ [`&.${_yearCalendarClasses.yearCalendarClasses.disabled}`]: {
78
57
  color: (theme.vars || theme).palette.text.secondary
79
58
  },
80
- [`&.${_pickersYearClasses.pickersYearClasses.selected}`]: {
59
+ [`&.${_yearCalendarClasses.yearCalendarClasses.selected}`]: {
81
60
  color: (theme.vars || theme).palette.primary.contrastText,
82
61
  backgroundColor: (theme.vars || theme).palette.primary.main,
83
62
  '&:focus, &:hover': {
@@ -89,28 +68,17 @@ const YearCalendarButton = (0, _styles.styled)('button', {
89
68
  /**
90
69
  * @ignore - internal component.
91
70
  */
92
- const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps) {
93
- const props = (0, _styles.useThemeProps)({
94
- props: inProps,
95
- name: 'MuiPickersYear'
96
- });
71
+ const YearCalendarButton = exports.YearCalendarButton = /*#__PURE__*/React.memo(function YearCalendarButton(props) {
97
72
  const {
98
73
  autoFocus,
99
- className,
100
74
  classes: classesProp,
101
- children,
102
- disabled = false,
103
- selected = false,
75
+ disabled,
76
+ selected,
104
77
  value,
105
- tabIndex,
106
78
  onClick,
107
79
  onKeyDown,
108
80
  onFocus,
109
81
  onBlur,
110
- 'aria-current': ariaCurrent
111
- // We don't want to forward this prop to the root element
112
- ,
113
-
114
82
  slots,
115
83
  slotProps
116
84
  } = props,
@@ -132,18 +100,16 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
132
100
  ref.current?.focus();
133
101
  }
134
102
  }, [autoFocus]);
135
- const YearButton = slots?.yearButton ?? YearCalendarButton;
103
+ const YearButton = slots?.yearButton ?? DefaultYearButton;
136
104
  const yearButtonProps = (0, _useSlotProps.default)({
137
105
  elementType: YearButton,
138
106
  externalSlotProps: slotProps?.yearButton,
107
+ externalForwardedProps: other,
139
108
  additionalProps: {
140
- children,
141
109
  disabled,
142
- tabIndex,
143
110
  ref,
144
111
  type: 'button',
145
112
  role: 'radio',
146
- 'aria-current': ariaCurrent,
147
113
  'aria-checked': selected,
148
114
  onClick: event => onClick(event, value),
149
115
  onKeyDown: event => onKeyDown(event, value),
@@ -151,12 +117,7 @@ const PickersYear = exports.PickersYear = /*#__PURE__*/React.memo(function Picke
151
117
  onBlur: event => onBlur(event, value)
152
118
  },
153
119
  ownerState,
154
- className: classes.yearButton
120
+ className: classes.button
155
121
  });
156
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersYearRoot, (0, _extends2.default)({
157
- className: (0, _clsx.default)(classes.root, className),
158
- ownerState: ownerState
159
- }, other, {
160
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(YearButton, (0, _extends2.default)({}, yearButtonProps))
161
- }));
122
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(YearButton, (0, _extends2.default)({}, yearButtonProps));
162
123
  });
@@ -15,12 +15,6 @@ Object.defineProperty(exports, "getYearCalendarUtilityClass", {
15
15
  return _yearCalendarClasses.getYearCalendarUtilityClass;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "pickersYearClasses", {
19
- enumerable: true,
20
- get: function () {
21
- return _pickersYearClasses.pickersYearClasses;
22
- }
23
- });
24
18
  Object.defineProperty(exports, "yearCalendarClasses", {
25
19
  enumerable: true,
26
20
  get: function () {
@@ -28,5 +22,4 @@ Object.defineProperty(exports, "yearCalendarClasses", {
28
22
  }
29
23
  });
30
24
  var _YearCalendar = require("./YearCalendar");
31
- var _yearCalendarClasses = require("./yearCalendarClasses");
32
- var _pickersYearClasses = require("./pickersYearClasses");
25
+ var _yearCalendarClasses = require("./yearCalendarClasses");
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
9
9
  function getYearCalendarUtilityClass(slot) {
10
10
  return (0, _utils.unstable_generateUtilityClass)('MuiYearCalendar', slot);
11
11
  }
12
- const yearCalendarClasses = exports.yearCalendarClasses = (0, _utils.unstable_generateUtilityClasses)('MuiYearCalendar', ['root']);
12
+ const yearCalendarClasses = exports.yearCalendarClasses = (0, _utils.unstable_generateUtilityClasses)('MuiYearCalendar', ['root', 'button', 'disabled', 'selected']);
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v8.0.0-alpha.4
2
+ * @mui/x-date-pickers v8.0.0-alpha.5
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -46,7 +46,7 @@ const PickersArrowSwitcherButton = (0, _styles.styled)(_IconButton.default, {
46
46
  })({
47
47
  variants: [{
48
48
  props: {
49
- hidden: true
49
+ isButtonHidden: true
50
50
  },
51
51
  style: {
52
52
  visibility: 'hidden'
@@ -117,7 +117,7 @@ const PickersArrowSwitcher = exports.PickersArrowSwitcher = /*#__PURE__*/React.f
117
117
  onClick: previousProps.goTo
118
118
  },
119
119
  ownerState: (0, _extends2.default)({}, ownerState, {
120
- hidden: previousProps.isHidden ?? false
120
+ isButtonHidden: previousProps.isHidden ?? false
121
121
  }),
122
122
  className: (0, _clsx.default)(classes.button, classes.previousIconButton)
123
123
  });
@@ -134,7 +134,7 @@ const PickersArrowSwitcher = exports.PickersArrowSwitcher = /*#__PURE__*/React.f
134
134
  onClick: nextProps.goTo
135
135
  },
136
136
  ownerState: (0, _extends2.default)({}, ownerState, {
137
- hidden: nextProps.isHidden ?? false
137
+ isButtonHidden: nextProps.isHidden ?? false
138
138
  }),
139
139
  className: (0, _clsx.default)(classes.button, classes.nextIconButton)
140
140
  });
@@ -8,13 +8,17 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.useFieldOwnerState = useFieldOwnerState;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _RtlProvider = require("@mui/system/RtlProvider");
11
12
  var _usePickerPrivateContext = require("./usePickerPrivateContext");
12
13
  function useFieldOwnerState(parameters) {
13
14
  const {
14
15
  ownerState: pickerOwnerState
15
16
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
17
+ const isRtl = (0, _RtlProvider.useRtl)();
16
18
  return React.useMemo(() => (0, _extends2.default)({}, pickerOwnerState, {
17
19
  isFieldDisabled: parameters.disabled ?? false,
18
- isFieldReadOnly: parameters.readOnly ?? false
19
- }), [pickerOwnerState, parameters.disabled, parameters.readOnly]);
20
+ isFieldReadOnly: parameters.readOnly ?? false,
21
+ isFieldRequired: parameters.required ?? false,
22
+ fieldDirection: isRtl ? 'rtl' : 'ltr'
23
+ }), [pickerOwnerState, parameters.disabled, parameters.readOnly, parameters.required, isRtl]);
20
24
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "8.0.0-alpha.4",
3
+ "version": "8.0.0-alpha.5",
4
4
  "description": "The community edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -37,11 +37,11 @@
37
37
  "dependencies": {
38
38
  "@babel/runtime": "^7.26.0",
39
39
  "@mui/utils": "^5.16.6 || ^6.0.0",
40
- "@types/react-transition-group": "^4.4.11",
40
+ "@types/react-transition-group": "^4.4.12",
41
41
  "clsx": "^2.1.1",
42
42
  "prop-types": "^15.8.1",
43
43
  "react-transition-group": "^4.4.5",
44
- "@mui/x-internals": "8.0.0-alpha.2"
44
+ "@mui/x-internals": "8.0.0-alpha.5"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@emotion/react": "^11.9.0",
@@ -78,10 +78,6 @@ export interface PickerComponents<Theme = unknown> {
78
78
  defaultProps?: ComponentsProps['MuiPickersFadeTransitionGroup'];
79
79
  styleOverrides?: ComponentsOverrides<Theme>['MuiPickersFadeTransitionGroup'];
80
80
  };
81
- MuiPickersMonth?: {
82
- defaultProps?: ComponentsProps['MuiPickersMonth'];
83
- styleOverrides?: ComponentsOverrides<Theme>['MuiPickersMonth'];
84
- };
85
81
  MuiPickersPopper?: {
86
82
  defaultProps?: ComponentsProps['MuiPickersPopper'];
87
83
  styleOverrides?: ComponentsOverrides<Theme>['MuiPickersPopper'];
@@ -106,10 +102,6 @@ export interface PickerComponents<Theme = unknown> {
106
102
  defaultProps?: ComponentsProps['MuiPickersLayout'];
107
103
  styleOverrides?: ComponentsOverrides<Theme>['MuiPickersLayout'];
108
104
  };
109
- MuiPickersYear?: {
110
- defaultProps?: ComponentsProps['MuiPickersYear'];
111
- styleOverrides?: ComponentsOverrides<Theme>['MuiPickersYear'];
112
- };
113
105
  MuiTimeClock?: {
114
106
  defaultProps?: ComponentsProps['MuiTimeClock'];
115
107
  styleOverrides?: ComponentsOverrides<Theme>['MuiTimeClock'];
@@ -12,9 +12,9 @@ import {
12
12
  TimeClockClassKey,
13
13
  ClockPointerClassKey,
14
14
  } from '../TimeClock';
15
- import { MonthCalendarClassKey, PickersMonthClassKey } from '../MonthCalendar';
15
+ import { MonthCalendarClassKey } from '../MonthCalendar';
16
16
  import { PickersDayClassKey } from '../PickersDay';
17
- import { PickersYearClassKey, YearCalendarClassKey } from '../YearCalendar';
17
+ import { YearCalendarClassKey } from '../YearCalendar';
18
18
  import { PickersLayoutClassKey } from '../PickersLayout';
19
19
  import { DatePickerToolbarClassKey } from '../DatePicker';
20
20
  import { TimePickerToolbarClassKey } from '../TimePicker';
@@ -58,13 +58,11 @@ export interface PickersComponentNameToClassKey {
58
58
  MuiPickersDay: PickersDayClassKey;
59
59
  MuiPickersFadeTransitionGroup: PickersFadeTransitionGroupClassKey;
60
60
  MuiPickersLayout: PickersLayoutClassKey;
61
- MuiPickersMonth: PickersMonthClassKey;
62
61
  MuiPickersPopper: PickersPopperClassKey;
63
62
  MuiPickersSlideTransition: PickersSlideTransitionClassKey;
64
63
  MuiPickersToolbar: PickersToolbarClassKey;
65
64
  MuiPickersToolbarButton: PickersToolbarButtonClassKey;
66
65
  MuiPickersToolbarText: PickersToolbarTextClassKey;
67
- MuiPickersYear: PickersYearClassKey;
68
66
  MuiTimeClock: TimeClockClassKey;
69
67
  MuiTimePickerToolbar: TimePickerToolbarClassKey;
70
68
  MuiYearCalendar: YearCalendarClassKey;
@@ -5,9 +5,9 @@ import {
5
5
  } from '../DateCalendar';
6
6
  import { DayCalendarSkeletonProps } from '../DayCalendarSkeleton';
7
7
  import { ClockNumberProps, TimeClockProps, ClockPointerProps, ClockProps } from '../TimeClock';
8
- import { ExportedPickersMonthProps, MonthCalendarProps } from '../MonthCalendar';
8
+ import { MonthCalendarProps } from '../MonthCalendar';
9
9
  import { PickersDayProps } from '../PickersDay';
10
- import { ExportedPickersYearProps, YearCalendarProps } from '../YearCalendar';
10
+ import { YearCalendarProps } from '../YearCalendar';
11
11
  import { DateFieldProps } from '../DateField';
12
12
  import { LocalizationProviderProps } from '../LocalizationProvider';
13
13
  import { PickersLayoutProps } from '../PickersLayout';
@@ -75,14 +75,12 @@ export interface PickersComponentsPropsList {
75
75
  MuiPickersCalendarHeader: ExportedPickersCalendarHeaderProps;
76
76
  MuiPickersDay: PickersDayProps;
77
77
  MuiPickersFadeTransitionGroup: PickersFadeTransitionGroupProps;
78
- MuiPickersMonth: ExportedPickersMonthProps;
79
78
  MuiPickersPopper: PickerPopperProps;
80
79
  MuiPickersSlideTransition: ExportedSlideTransitionProps;
81
80
  MuiPickersToolbar: PickersToolbarProps<PickerValidValue, DateOrTimeView>;
82
81
  MuiPickersToolbarButton: PickersToolbarButtonProps;
83
82
  MuiPickersToolbarText: ExportedPickersToolbarTextProps;
84
83
  MuiPickersLayout: PickersLayoutProps<PickerValidValue, DateOrTimeView>;
85
- MuiPickersYear: ExportedPickersYearProps;
86
84
  MuiTimeClock: TimeClockProps;
87
85
  MuiTimeField: TimeFieldProps<any>;
88
86
  MuiTimePickerToolbar: ExportedTimePickerToolbarProps;
@@ -1,28 +0,0 @@
1
- import * as React from 'react';
2
- import { PickersMonthClasses } from './pickersMonthClasses';
3
- import { MonthCalendarSlotProps, MonthCalendarSlots } from './MonthCalendar.types';
4
- export interface ExportedPickersMonthProps {
5
- classes?: Partial<PickersMonthClasses>;
6
- }
7
- export interface PickersMonthProps extends ExportedPickersMonthProps {
8
- 'aria-current'?: React.AriaAttributes['aria-current'];
9
- 'aria-label'?: React.AriaAttributes['aria-label'];
10
- autoFocus: boolean;
11
- children: React.ReactNode;
12
- className?: string;
13
- disabled?: boolean;
14
- onClick: (event: React.MouseEvent, month: number) => void;
15
- onKeyDown: (event: React.KeyboardEvent, month: number) => void;
16
- onFocus: (event: React.FocusEvent, month: number) => void;
17
- onBlur: (event: React.FocusEvent, month: number) => void;
18
- selected?: boolean;
19
- value: number;
20
- tabIndex: number;
21
- monthsPerRow: 3 | 4;
22
- slots?: MonthCalendarSlots;
23
- slotProps?: MonthCalendarSlotProps;
24
- }
25
- /**
26
- * @ignore - do not document.
27
- */
28
- export declare const PickersMonth: React.NamedExoticComponent<PickersMonthProps>;
@@ -1,13 +0,0 @@
1
- export interface PickersMonthClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the month button element. */
5
- monthButton: string;
6
- /** Styles applied to a disabled month button element. */
7
- disabled: string;
8
- /** Styles applied to a selected month button element. */
9
- selected: string;
10
- }
11
- export type PickersMonthClassKey = keyof PickersMonthClasses;
12
- export declare function getPickersMonthUtilityClass(slot: string): string;
13
- export declare const pickersMonthClasses: Record<keyof PickersMonthClasses, string>;
@@ -1,5 +0,0 @@
1
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
- export function getPickersMonthUtilityClass(slot) {
3
- return generateUtilityClass('MuiPickersMonth', slot);
4
- }
5
- export const pickersMonthClasses = generateUtilityClasses('MuiPickersMonth', ['root', 'monthButton', 'disabled', 'selected']);
@@ -1,27 +0,0 @@
1
- import * as React from 'react';
2
- import { PickersYearClasses } from './pickersYearClasses';
3
- import { YearCalendarSlotProps, YearCalendarSlots } from './YearCalendar.types';
4
- export interface ExportedPickersYearProps {
5
- classes?: Partial<PickersYearClasses>;
6
- }
7
- export interface PickersYearProps extends ExportedPickersYearProps {
8
- 'aria-current'?: React.AriaAttributes['aria-current'];
9
- autoFocus?: boolean;
10
- children: React.ReactNode;
11
- className?: string;
12
- disabled?: boolean;
13
- onClick: (event: React.MouseEvent, year: number) => void;
14
- onKeyDown: (event: React.KeyboardEvent, year: number) => void;
15
- onFocus: (event: React.FocusEvent, year: number) => void;
16
- onBlur: (event: React.FocusEvent, year: number) => void;
17
- selected: boolean;
18
- value: number;
19
- tabIndex: number;
20
- yearsPerRow: 3 | 4;
21
- slots?: YearCalendarSlots;
22
- slotProps?: YearCalendarSlotProps;
23
- }
24
- /**
25
- * @ignore - internal component.
26
- */
27
- export declare const PickersYear: React.NamedExoticComponent<PickersYearProps>;
@@ -1,13 +0,0 @@
1
- export interface PickersYearClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the year button element. */
5
- yearButton: string;
6
- /** Styles applied to a selected year button element. */
7
- selected: string;
8
- /** Styles applied to a disabled year button element. */
9
- disabled: string;
10
- }
11
- export type PickersYearClassKey = keyof PickersYearClasses;
12
- export declare function getPickersYearUtilityClass(slot: string): string;
13
- export declare const pickersYearClasses: Record<keyof PickersYearClasses, string>;
@@ -1,5 +0,0 @@
1
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
- export function getPickersYearUtilityClass(slot) {
3
- return generateUtilityClass('MuiPickersYear', slot);
4
- }
5
- export const pickersYearClasses = generateUtilityClasses('MuiPickersYear', ['root', 'yearButton', 'selected', 'disabled']);
@@ -1,5 +0,0 @@
1
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
- export function getPickersMonthUtilityClass(slot) {
3
- return generateUtilityClass('MuiPickersMonth', slot);
4
- }
5
- export const pickersMonthClasses = generateUtilityClasses('MuiPickersMonth', ['root', 'monthButton', 'disabled', 'selected']);
@@ -1,5 +0,0 @@
1
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
- export function getPickersYearUtilityClass(slot) {
3
- return generateUtilityClass('MuiPickersYear', slot);
4
- }
5
- export const pickersYearClasses = generateUtilityClasses('MuiPickersYear', ['root', 'yearButton', 'selected', 'disabled']);
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getPickersMonthUtilityClass = getPickersMonthUtilityClass;
7
- exports.pickersMonthClasses = void 0;
8
- var _utils = require("@mui/utils");
9
- function getPickersMonthUtilityClass(slot) {
10
- return (0, _utils.unstable_generateUtilityClass)('MuiPickersMonth', slot);
11
- }
12
- const pickersMonthClasses = exports.pickersMonthClasses = (0, _utils.unstable_generateUtilityClasses)('MuiPickersMonth', ['root', 'monthButton', 'disabled', 'selected']);
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getPickersYearUtilityClass = getPickersYearUtilityClass;
7
- exports.pickersYearClasses = void 0;
8
- var _utils = require("@mui/utils");
9
- function getPickersYearUtilityClass(slot) {
10
- return (0, _utils.unstable_generateUtilityClass)('MuiPickersYear', slot);
11
- }
12
- const pickersYearClasses = exports.pickersYearClasses = (0, _utils.unstable_generateUtilityClasses)('MuiPickersYear', ['root', 'yearButton', 'selected', 'disabled']);