@mui/x-date-pickers 7.0.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/DatePicker/DatePickerToolbar.js +11 -6
  3. package/DateTimePicker/DateTimePickerToolbar.js +97 -45
  4. package/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  5. package/DigitalClock/DigitalClock.js +14 -6
  6. package/MonthCalendar/PickersMonth.js +12 -6
  7. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  8. package/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  9. package/PickersDay/PickersDay.js +30 -15
  10. package/PickersLayout/PickersLayout.js +31 -17
  11. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  12. package/PickersTextField/PickersInput/PickersInput.js +76 -54
  13. package/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  14. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +7 -0
  15. package/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  16. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  17. package/TimeClock/Clock.js +48 -35
  18. package/TimeClock/ClockNumber.js +12 -7
  19. package/TimeClock/ClockPointer.js +23 -13
  20. package/TimePicker/TimePickerToolbar.js +25 -16
  21. package/YearCalendar/PickersYear.js +12 -6
  22. package/index.js +1 -1
  23. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  24. package/internals/components/PickersPopper.js +12 -8
  25. package/internals/components/PickersToolbar.js +39 -18
  26. package/internals/hooks/useField/useField.js +4 -2
  27. package/internals/hooks/useField/useField.types.d.ts +1 -0
  28. package/internals/hooks/useField/useFieldV6TextField.js +8 -3
  29. package/locales/itIT.js +16 -20
  30. package/locales/zhHK.js +14 -17
  31. package/modern/DatePicker/DatePickerToolbar.js +11 -6
  32. package/modern/DateTimePicker/DateTimePickerToolbar.js +97 -45
  33. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  34. package/modern/DigitalClock/DigitalClock.js +14 -6
  35. package/modern/MonthCalendar/PickersMonth.js +12 -6
  36. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  37. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  38. package/modern/PickersDay/PickersDay.js +30 -15
  39. package/modern/PickersLayout/PickersLayout.js +31 -17
  40. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  41. package/modern/PickersTextField/PickersInput/PickersInput.js +76 -54
  42. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  43. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  44. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  45. package/modern/TimeClock/Clock.js +48 -35
  46. package/modern/TimeClock/ClockNumber.js +12 -7
  47. package/modern/TimeClock/ClockPointer.js +23 -13
  48. package/modern/TimePicker/TimePickerToolbar.js +25 -16
  49. package/modern/YearCalendar/PickersYear.js +12 -6
  50. package/modern/index.js +1 -1
  51. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  52. package/modern/internals/components/PickersPopper.js +12 -8
  53. package/modern/internals/components/PickersToolbar.js +39 -18
  54. package/modern/internals/hooks/useField/useField.js +4 -2
  55. package/modern/internals/hooks/useField/useFieldV6TextField.js +8 -3
  56. package/modern/locales/itIT.js +16 -20
  57. package/modern/locales/zhHK.js +14 -17
  58. package/node/DatePicker/DatePickerToolbar.js +11 -6
  59. package/node/DateTimePicker/DateTimePickerToolbar.js +97 -45
  60. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  61. package/node/DigitalClock/DigitalClock.js +14 -6
  62. package/node/MonthCalendar/PickersMonth.js +12 -6
  63. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  64. package/node/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  65. package/node/PickersDay/PickersDay.js +30 -15
  66. package/node/PickersLayout/PickersLayout.js +31 -17
  67. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  68. package/node/PickersTextField/PickersInput/PickersInput.js +76 -54
  69. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  70. package/node/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  71. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  72. package/node/TimeClock/Clock.js +48 -35
  73. package/node/TimeClock/ClockNumber.js +12 -7
  74. package/node/TimeClock/ClockPointer.js +23 -13
  75. package/node/TimePicker/TimePickerToolbar.js +25 -16
  76. package/node/YearCalendar/PickersYear.js +12 -6
  77. package/node/index.js +1 -1
  78. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  79. package/node/internals/components/PickersPopper.js +12 -8
  80. package/node/internals/components/PickersToolbar.js +39 -18
  81. package/node/internals/hooks/useField/useField.js +4 -2
  82. package/node/internals/hooks/useField/useFieldV6TextField.js +8 -3
  83. package/node/locales/itIT.js +16 -20
  84. package/node/locales/zhHK.js +14 -17
  85. package/package.json +1 -1
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.PickersToolbar = void 0;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
@@ -34,36 +34,57 @@ const PickersToolbarRoot = (0, _styles.styled)('div', {
34
34
  slot: 'Root',
35
35
  overridesResolver: (props, styles) => styles.root
36
36
  })(({
37
- theme,
38
- ownerState
39
- }) => (0, _extends2.default)({
37
+ theme
38
+ }) => ({
40
39
  display: 'flex',
41
40
  flexDirection: 'column',
42
41
  alignItems: 'flex-start',
43
42
  justifyContent: 'space-between',
44
- padding: theme.spacing(2, 3)
45
- }, ownerState.isLandscape && {
46
- height: 'auto',
47
- maxWidth: 160,
48
- padding: 16,
49
- justifyContent: 'flex-start',
50
- flexWrap: 'wrap'
43
+ padding: theme.spacing(2, 3),
44
+ variants: [{
45
+ props: {
46
+ isLandscape: true
47
+ },
48
+ style: {
49
+ height: 'auto',
50
+ maxWidth: 160,
51
+ padding: 16,
52
+ justifyContent: 'flex-start',
53
+ flexWrap: 'wrap'
54
+ }
55
+ }]
51
56
  }));
52
57
  const PickersToolbarContent = (0, _styles.styled)('div', {
53
58
  name: 'MuiPickersToolbar',
54
59
  slot: 'Content',
55
60
  overridesResolver: (props, styles) => styles.content
56
- })(({
57
- ownerState
58
- }) => ({
61
+ })({
59
62
  display: 'flex',
60
63
  flexWrap: 'wrap',
61
64
  width: '100%',
62
- justifyContent: ownerState.isLandscape ? 'flex-start' : 'space-between',
63
- flexDirection: ownerState.isLandscape ? ownerState.landscapeDirection ?? 'column' : 'row',
64
65
  flex: 1,
65
- alignItems: ownerState.isLandscape ? 'flex-start' : 'center'
66
- }));
66
+ justifyContent: 'space-between',
67
+ alignItems: 'center',
68
+ flexDirection: 'row',
69
+ variants: [{
70
+ props: {
71
+ isLandscape: true
72
+ },
73
+ style: {
74
+ justifyContent: 'flex-start',
75
+ alignItems: 'flex-start',
76
+ flexDirection: 'column'
77
+ }
78
+ }, {
79
+ props: {
80
+ isLandscape: true,
81
+ landscapeDirection: 'row'
82
+ },
83
+ style: {
84
+ flexDirection: 'row'
85
+ }
86
+ }]
87
+ });
67
88
  const PickersToolbar = exports.PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersToolbar(inProps, ref) {
68
89
  const props = (0, _styles.useThemeProps)({
69
90
  props: inProps,
@@ -211,9 +211,11 @@ const useField = params => {
211
211
  event.preventDefault();
212
212
  onClear?.(event, ...args);
213
213
  clearValue();
214
- setSelectedSections(sectionOrder.startIndex);
215
- if (!interactions.isFieldFocused) {
214
+ if (!interactions.isFieldFocused()) {
215
+ // setSelectedSections is called internally
216
216
  interactions.focusField(0);
217
+ } else {
218
+ setSelectedSections(sectionOrder.startIndex);
217
219
  }
218
220
  });
219
221
  const commonForwardedProps = {
@@ -53,7 +53,8 @@ const useFieldV6TextField = params => {
53
53
  onClick,
54
54
  onPaste,
55
55
  onBlur,
56
- inputRef: inputRefProp
56
+ inputRef: inputRefProp,
57
+ placeholder: inPlaceholder
57
58
  },
58
59
  internalProps: {
59
60
  readOnly = false
@@ -137,7 +138,6 @@ const useFieldV6TextField = params => {
137
138
  }), [inputRef, parsedSelectedSections, sections, setSelectedSections]);
138
139
  const syncSelectionFromDOM = () => {
139
140
  if (readOnly) {
140
- setSelectedSections(null);
141
141
  return;
142
142
  }
143
143
  const browserStartIndex = inputRef.current.selectionStart ?? 0;
@@ -285,7 +285,12 @@ const useFieldV6TextField = params => {
285
285
  sectionIndex: activeSectionIndex
286
286
  });
287
287
  });
288
- const placeholder = React.useMemo(() => fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL), [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
288
+ const placeholder = React.useMemo(() => {
289
+ if (inPlaceholder) {
290
+ return inPlaceholder;
291
+ }
292
+ return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL);
293
+ }, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
289
294
  const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRTL), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRTL]);
290
295
  React.useEffect(() => {
291
296
  // Select all the sections when focused on mount (`autoFocus = true` on the input)
@@ -22,11 +22,10 @@ const itITPickers = {
22
22
  // DateRange labels
23
23
  start: 'Inizio',
24
24
  end: 'Fine',
25
- // startDate: 'Start date',
26
- // startTime: 'Start time',
27
- // endDate: 'End date',
28
- // endTime: 'End time',
29
-
25
+ startDate: 'Data di inizio',
26
+ startTime: 'Ora di inizio',
27
+ endDate: 'Data di fine',
28
+ endTime: 'Ora di fine',
30
29
  // Action bar
31
30
  cancelButtonLabel: 'Cancellare',
32
31
  clearButtonLabel: 'Sgomberare',
@@ -52,8 +51,7 @@ const itITPickers = {
52
51
  // Open picker labels
53
52
  openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Scegli la data, la data selezionata è ${utils.format(value, 'fullDate')}` : 'Scegli la data',
54
53
  openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Scegli l'ora, l'ora selezionata è ${utils.format(value, 'fullTime')}` : "Scegli l'ora",
55
- // fieldClearLabel: 'Clear value',
56
-
54
+ fieldClearLabel: 'Cancella valore',
57
55
  // Table labels
58
56
  timeTableLabel: "scegli un'ora",
59
57
  dateTableLabel: 'scegli una data',
@@ -61,23 +59,21 @@ const itITPickers = {
61
59
  fieldYearPlaceholder: params => 'A'.repeat(params.digitAmount),
62
60
  fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
63
61
  fieldDayPlaceholder: () => 'GG',
64
- // fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
62
+ fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'GGGG' : 'GG',
65
63
  fieldHoursPlaceholder: () => 'hh',
66
64
  fieldMinutesPlaceholder: () => 'mm',
67
65
  fieldSecondsPlaceholder: () => 'ss',
68
- fieldMeridiemPlaceholder: () => 'aa'
69
-
66
+ fieldMeridiemPlaceholder: () => 'aa',
70
67
  // View names
71
- // year: 'Year',
72
- // month: 'Month',
73
- // day: 'Day',
74
- // weekDay: 'Week day',
75
- // hours: 'Hours',
76
- // minutes: 'Minutes',
77
- // seconds: 'Seconds',
78
- // meridiem: 'Meridiem',
79
-
68
+ year: 'Anno',
69
+ month: 'Mese',
70
+ day: 'Giorno',
71
+ weekDay: 'Giorno della settimana',
72
+ hours: 'Ore',
73
+ minutes: 'Minuti',
74
+ seconds: 'Secondi',
75
+ meridiem: 'Meridiano',
80
76
  // Common
81
- // empty: 'Empty',
77
+ empty: 'Vuoto'
82
78
  };
83
79
  const itIT = exports.itIT = (0, _getPickersLocalization.getPickersLocalization)(itITPickers);
@@ -22,11 +22,10 @@ const zhHKPickers = {
22
22
  // DateRange labels
23
23
  start: '開始',
24
24
  end: '結束',
25
- // startDate: 'Start date',
26
- // startTime: 'Start time',
27
- // endDate: 'End date',
28
- // endTime: 'End time',
29
-
25
+ startDate: '開始日期',
26
+ startTime: '開始時間',
27
+ endDate: '結束日期',
28
+ endTime: '結束時間',
30
29
  // Action bar
31
30
  cancelButtonLabel: '取消',
32
31
  clearButtonLabel: '清除',
@@ -65,19 +64,17 @@ const zhHKPickers = {
65
64
  fieldHoursPlaceholder: () => 'hh',
66
65
  fieldMinutesPlaceholder: () => 'mm',
67
66
  fieldSecondsPlaceholder: () => 'ss',
68
- fieldMeridiemPlaceholder: () => 'aa'
69
-
67
+ fieldMeridiemPlaceholder: () => 'aa',
70
68
  // View names
71
- // year: 'Year',
72
- // month: 'Month',
73
- // day: 'Day',
74
- // weekDay: 'Week day',
75
- // hours: 'Hours',
76
- // minutes: 'Minutes',
77
- // seconds: 'Seconds',
78
- // meridiem: 'Meridiem',
79
-
69
+ year: '',
70
+ month: '',
71
+ day: '',
72
+ weekDay: '星期',
73
+ hours: '小時',
74
+ minutes: '分鐘',
75
+ seconds: '',
76
+ meridiem: '子午線',
80
77
  // Common
81
- // empty: 'Empty',
78
+ empty: '空值'
82
79
  };
83
80
  const zhHK = exports.zhHK = (0, _getPickersLocalization.getPickersLocalization)(zhHKPickers);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "7.0.0",
3
+ "version": "7.1.0",
4
4
  "description": "The community edition of the date picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",