@mui/x-date-pickers 7.0.0 → 7.1.1

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 (157) hide show
  1. package/CHANGELOG.md +246 -4
  2. package/DateCalendar/DateCalendar.js +1 -1
  3. package/DateCalendar/DayCalendar.d.ts +1 -1
  4. package/DateField/DateField.js +1 -1
  5. package/DatePicker/DatePicker.js +1 -1
  6. package/DatePicker/DatePickerToolbar.js +11 -6
  7. package/DateTimeField/DateTimeField.js +2 -2
  8. package/DateTimeField/DateTimeField.types.d.ts +1 -1
  9. package/DateTimePicker/DateTimePicker.js +2 -2
  10. package/DateTimePicker/DateTimePickerToolbar.js +97 -45
  11. package/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  12. package/DesktopDatePicker/DesktopDatePicker.js +1 -1
  13. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  14. package/DesktopTimePicker/DesktopTimePicker.js +1 -1
  15. package/DigitalClock/DigitalClock.js +15 -7
  16. package/MobileDatePicker/MobileDatePicker.js +1 -1
  17. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  18. package/MobileTimePicker/MobileTimePicker.js +1 -1
  19. package/MonthCalendar/PickersMonth.js +12 -6
  20. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
  21. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  22. package/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  23. package/PickersDay/PickersDay.js +30 -15
  24. package/PickersLayout/PickersLayout.js +31 -17
  25. package/PickersShortcuts/PickersShortcuts.d.ts +1 -1
  26. package/PickersShortcuts/PickersShortcuts.js +1 -1
  27. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  28. package/PickersTextField/PickersInput/PickersInput.js +76 -54
  29. package/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  30. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +7 -0
  31. package/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  32. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  33. package/README.md +1 -1
  34. package/StaticDatePicker/StaticDatePicker.js +1 -1
  35. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  36. package/StaticTimePicker/StaticTimePicker.js +1 -1
  37. package/TimeClock/Clock.js +48 -35
  38. package/TimeClock/ClockNumber.js +12 -7
  39. package/TimeClock/ClockPointer.js +23 -13
  40. package/TimeClock/TimeClock.js +1 -1
  41. package/TimeField/TimeField.js +2 -2
  42. package/TimeField/TimeField.types.d.ts +1 -1
  43. package/TimePicker/TimePicker.js +1 -1
  44. package/TimePicker/TimePickerToolbar.js +25 -16
  45. package/YearCalendar/PickersYear.js +12 -6
  46. package/index.js +1 -1
  47. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  48. package/internals/components/PickersPopper.js +12 -8
  49. package/internals/components/PickersToolbar.js +39 -18
  50. package/internals/hooks/useField/useField.js +4 -2
  51. package/internals/hooks/useField/useField.types.d.ts +2 -1
  52. package/internals/hooks/useField/useFieldV6TextField.js +10 -3
  53. package/internals/models/props/clock.d.ts +1 -1
  54. package/locales/faIR.js +7 -8
  55. package/locales/itIT.js +16 -20
  56. package/locales/ptBR.js +14 -17
  57. package/locales/ukUA.js +15 -19
  58. package/locales/zhHK.js +14 -17
  59. package/modern/DateCalendar/DateCalendar.js +1 -1
  60. package/modern/DateField/DateField.js +1 -1
  61. package/modern/DatePicker/DatePicker.js +1 -1
  62. package/modern/DatePicker/DatePickerToolbar.js +11 -6
  63. package/modern/DateTimeField/DateTimeField.js +2 -2
  64. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  65. package/modern/DateTimePicker/DateTimePickerToolbar.js +97 -45
  66. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  67. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  68. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  69. package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -1
  70. package/modern/DigitalClock/DigitalClock.js +15 -7
  71. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  72. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  73. package/modern/MobileTimePicker/MobileTimePicker.js +1 -1
  74. package/modern/MonthCalendar/PickersMonth.js +12 -6
  75. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
  76. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  77. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  78. package/modern/PickersDay/PickersDay.js +30 -15
  79. package/modern/PickersLayout/PickersLayout.js +31 -17
  80. package/modern/PickersShortcuts/PickersShortcuts.js +1 -1
  81. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  82. package/modern/PickersTextField/PickersInput/PickersInput.js +76 -54
  83. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  84. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  85. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  86. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  87. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  88. package/modern/StaticTimePicker/StaticTimePicker.js +1 -1
  89. package/modern/TimeClock/Clock.js +48 -35
  90. package/modern/TimeClock/ClockNumber.js +12 -7
  91. package/modern/TimeClock/ClockPointer.js +23 -13
  92. package/modern/TimeClock/TimeClock.js +1 -1
  93. package/modern/TimeField/TimeField.js +2 -2
  94. package/modern/TimePicker/TimePicker.js +1 -1
  95. package/modern/TimePicker/TimePickerToolbar.js +25 -16
  96. package/modern/YearCalendar/PickersYear.js +12 -6
  97. package/modern/index.js +1 -1
  98. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  99. package/modern/internals/components/PickersPopper.js +12 -8
  100. package/modern/internals/components/PickersToolbar.js +39 -18
  101. package/modern/internals/hooks/useField/useField.js +4 -2
  102. package/modern/internals/hooks/useField/useFieldV6TextField.js +10 -3
  103. package/modern/locales/faIR.js +7 -8
  104. package/modern/locales/itIT.js +16 -20
  105. package/modern/locales/ptBR.js +14 -17
  106. package/modern/locales/ukUA.js +15 -19
  107. package/modern/locales/zhHK.js +14 -17
  108. package/node/DateCalendar/DateCalendar.js +1 -1
  109. package/node/DateField/DateField.js +1 -1
  110. package/node/DatePicker/DatePicker.js +1 -1
  111. package/node/DatePicker/DatePickerToolbar.js +11 -6
  112. package/node/DateTimeField/DateTimeField.js +2 -2
  113. package/node/DateTimePicker/DateTimePicker.js +2 -2
  114. package/node/DateTimePicker/DateTimePickerToolbar.js +97 -45
  115. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +12 -8
  116. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
  117. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  118. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -1
  119. package/node/DigitalClock/DigitalClock.js +15 -7
  120. package/node/MobileDatePicker/MobileDatePicker.js +1 -1
  121. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  122. package/node/MobileTimePicker/MobileTimePicker.js +1 -1
  123. package/node/MonthCalendar/PickersMonth.js +12 -6
  124. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
  125. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -4
  126. package/node/PickersCalendarHeader/PickersCalendarHeader.js +13 -9
  127. package/node/PickersDay/PickersDay.js +30 -15
  128. package/node/PickersLayout/PickersLayout.js +31 -17
  129. package/node/PickersShortcuts/PickersShortcuts.js +1 -1
  130. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +137 -72
  131. package/node/PickersTextField/PickersInput/PickersInput.js +76 -54
  132. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +64 -24
  133. package/node/PickersTextField/PickersOutlinedInput/Outline.js +58 -41
  134. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +31 -12
  135. package/node/StaticDatePicker/StaticDatePicker.js +1 -1
  136. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  137. package/node/StaticTimePicker/StaticTimePicker.js +1 -1
  138. package/node/TimeClock/Clock.js +48 -35
  139. package/node/TimeClock/ClockNumber.js +12 -7
  140. package/node/TimeClock/ClockPointer.js +23 -13
  141. package/node/TimeClock/TimeClock.js +1 -1
  142. package/node/TimeField/TimeField.js +2 -2
  143. package/node/TimePicker/TimePicker.js +1 -1
  144. package/node/TimePicker/TimePickerToolbar.js +25 -16
  145. package/node/YearCalendar/PickersYear.js +12 -6
  146. package/node/index.js +1 -1
  147. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +11 -6
  148. package/node/internals/components/PickersPopper.js +12 -8
  149. package/node/internals/components/PickersToolbar.js +39 -18
  150. package/node/internals/hooks/useField/useField.js +4 -2
  151. package/node/internals/hooks/useField/useFieldV6TextField.js +10 -3
  152. package/node/locales/faIR.js +7 -8
  153. package/node/locales/itIT.js +16 -20
  154. package/node/locales/ptBR.js +14 -17
  155. package/node/locales/ukUA.js +15 -19
  156. package/node/locales/zhHK.js +14 -17
  157. package/package.json +2 -2
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import * as React from 'react';
3
2
  import clsx from 'clsx';
4
3
  import IconButton from '@mui/material/IconButton';
@@ -66,9 +65,7 @@ const ClockSquareMask = styled('div', {
66
65
  name: 'MuiClock',
67
66
  slot: 'SquareMask',
68
67
  overridesResolver: (_, styles) => styles.squareMask
69
- })(({
70
- ownerState
71
- }) => _extends({
68
+ })({
72
69
  width: '100%',
73
70
  height: '100%',
74
71
  position: 'absolute',
@@ -76,16 +73,22 @@ const ClockSquareMask = styled('div', {
76
73
  outline: 0,
77
74
  // Disable scroll capabilities.
78
75
  touchAction: 'none',
79
- userSelect: 'none'
80
- }, ownerState.disabled ? {} : {
81
- '@media (pointer: fine)': {
82
- cursor: 'pointer',
83
- borderRadius: '50%'
84
- },
85
- '&:active': {
86
- cursor: 'move'
87
- }
88
- }));
76
+ userSelect: 'none',
77
+ variants: [{
78
+ props: {
79
+ disabled: false
80
+ },
81
+ style: {
82
+ '@media (pointer: fine)': {
83
+ cursor: 'pointer',
84
+ borderRadius: '50%'
85
+ },
86
+ '&:active': {
87
+ cursor: 'move'
88
+ }
89
+ }
90
+ }]
91
+ });
89
92
  const ClockPin = styled('div', {
90
93
  name: 'MuiClock',
91
94
  slot: 'Pin',
@@ -107,44 +110,54 @@ const ClockAmButton = styled(IconButton, {
107
110
  slot: 'AmButton',
108
111
  overridesResolver: (_, styles) => styles.amButton
109
112
  })(({
110
- theme,
111
- ownerState
112
- }) => _extends({
113
+ theme
114
+ }) => ({
113
115
  zIndex: 1,
114
116
  position: 'absolute',
115
117
  bottom: 8,
116
118
  left: 8,
117
119
  paddingLeft: 4,
118
120
  paddingRight: 4,
119
- width: CLOCK_HOUR_WIDTH
120
- }, ownerState.meridiemMode === 'am' && {
121
- backgroundColor: (theme.vars || theme).palette.primary.main,
122
- color: (theme.vars || theme).palette.primary.contrastText,
123
- '&:hover': {
124
- backgroundColor: (theme.vars || theme).palette.primary.light
125
- }
121
+ width: CLOCK_HOUR_WIDTH,
122
+ variants: [{
123
+ props: {
124
+ meridiemMode: 'am'
125
+ },
126
+ style: {
127
+ backgroundColor: (theme.vars || theme).palette.primary.main,
128
+ color: (theme.vars || theme).palette.primary.contrastText,
129
+ '&:hover': {
130
+ backgroundColor: (theme.vars || theme).palette.primary.light
131
+ }
132
+ }
133
+ }]
126
134
  }));
127
135
  const ClockPmButton = styled(IconButton, {
128
136
  name: 'MuiClock',
129
137
  slot: 'PmButton',
130
138
  overridesResolver: (_, styles) => styles.pmButton
131
139
  })(({
132
- theme,
133
- ownerState
134
- }) => _extends({
140
+ theme
141
+ }) => ({
135
142
  zIndex: 1,
136
143
  position: 'absolute',
137
144
  bottom: 8,
138
145
  right: 8,
139
146
  paddingLeft: 4,
140
147
  paddingRight: 4,
141
- width: CLOCK_HOUR_WIDTH
142
- }, ownerState.meridiemMode === 'pm' && {
143
- backgroundColor: (theme.vars || theme).palette.primary.main,
144
- color: (theme.vars || theme).palette.primary.contrastText,
145
- '&:hover': {
146
- backgroundColor: (theme.vars || theme).palette.primary.light
147
- }
148
+ width: CLOCK_HOUR_WIDTH,
149
+ variants: [{
150
+ props: {
151
+ meridiemMode: 'pm'
152
+ },
153
+ style: {
154
+ backgroundColor: (theme.vars || theme).palette.primary.main,
155
+ color: (theme.vars || theme).palette.primary.contrastText,
156
+ '&:hover': {
157
+ backgroundColor: (theme.vars || theme).palette.primary.light
158
+ }
159
+ }
160
+ }]
148
161
  }));
149
162
  const ClockMeridiemText = styled(Typography, {
150
163
  name: 'MuiClock',
@@ -178,7 +191,7 @@ export function Clock(inProps) {
178
191
  selectedId,
179
192
  type,
180
193
  viewValue,
181
- disabled,
194
+ disabled = false,
182
195
  readOnly,
183
196
  className
184
197
  } = props;
@@ -28,9 +28,8 @@ const ClockNumberRoot = styled('span', {
28
28
  [`&.${clockNumberClasses.selected}`]: styles.selected
29
29
  }]
30
30
  })(({
31
- theme,
32
- ownerState
33
- }) => _extends({
31
+ theme
32
+ }) => ({
34
33
  height: CLOCK_HOUR_WIDTH,
35
34
  width: CLOCK_HOUR_WIDTH,
36
35
  position: 'absolute',
@@ -50,10 +49,16 @@ const ClockNumberRoot = styled('span', {
50
49
  [`&.${clockNumberClasses.disabled}`]: {
51
50
  pointerEvents: 'none',
52
51
  color: (theme.vars || theme).palette.text.disabled
53
- }
54
- }, ownerState.inner && _extends({}, theme.typography.body2, {
55
- color: (theme.vars || theme).palette.text.secondary
56
- })));
52
+ },
53
+ variants: [{
54
+ props: {
55
+ inner: true
56
+ },
57
+ style: _extends({}, theme.typography.body2, {
58
+ color: (theme.vars || theme).palette.text.secondary
59
+ })
60
+ }]
61
+ }));
57
62
 
58
63
  /**
59
64
  * @ignore - internal component.
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["className", "hasSelected", "isInner", "type", "viewValue"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
@@ -23,26 +23,30 @@ const ClockPointerRoot = styled('div', {
23
23
  slot: 'Root',
24
24
  overridesResolver: (_, styles) => styles.root
25
25
  })(({
26
- theme,
27
- ownerState
28
- }) => _extends({
26
+ theme
27
+ }) => ({
29
28
  width: 2,
30
29
  backgroundColor: (theme.vars || theme).palette.primary.main,
31
30
  position: 'absolute',
32
31
  left: 'calc(50% - 1px)',
33
32
  bottom: '50%',
34
- transformOrigin: 'center bottom 0px'
35
- }, ownerState.shouldAnimate && {
36
- transition: theme.transitions.create(['transform', 'height'])
33
+ transformOrigin: 'center bottom 0px',
34
+ variants: [{
35
+ props: {
36
+ shouldAnimate: true
37
+ },
38
+ style: {
39
+ transition: theme.transitions.create(['transform', 'height'])
40
+ }
41
+ }]
37
42
  }));
38
43
  const ClockPointerThumb = styled('div', {
39
44
  name: 'MuiClockPointer',
40
45
  slot: 'Thumb',
41
46
  overridesResolver: (_, styles) => styles.thumb
42
47
  })(({
43
- theme,
44
- ownerState
45
- }) => _extends({
48
+ theme
49
+ }) => ({
46
50
  width: 4,
47
51
  height: 4,
48
52
  backgroundColor: (theme.vars || theme).palette.primary.contrastText,
@@ -51,9 +55,15 @@ const ClockPointerThumb = styled('div', {
51
55
  top: -21,
52
56
  left: `calc(50% - ${CLOCK_HOUR_WIDTH / 2}px)`,
53
57
  border: `${(CLOCK_HOUR_WIDTH - 4) / 2}px solid ${(theme.vars || theme).palette.primary.main}`,
54
- boxSizing: 'content-box'
55
- }, ownerState.hasSelected && {
56
- backgroundColor: (theme.vars || theme).palette.primary.main
58
+ boxSizing: 'content-box',
59
+ variants: [{
60
+ props: {
61
+ hasSelected: true
62
+ },
63
+ style: {
64
+ backgroundColor: (theme.vars || theme).palette.primary.main
65
+ }
66
+ }]
57
67
  }));
58
68
 
59
69
  /**
@@ -317,7 +317,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
317
317
  // ----------------------------------------------------------------------
318
318
  /**
319
319
  * 12h/24h view for hour selection clock.
320
- * @default `utils.is12HourCycleInCurrentLocale()`
320
+ * @default utils.is12HourCycleInCurrentLocale()
321
321
  */
322
322
  ampm: PropTypes.bool,
323
323
  /**
@@ -64,7 +64,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
64
64
  // ----------------------------------------------------------------------
65
65
  /**
66
66
  * 12h/24h view for hour selection clock.
67
- * @default `utils.is12HourCycleInCurrentLocale()`
67
+ * @default utils.is12HourCycleInCurrentLocale()
68
68
  */
69
69
  ampm: PropTypes.bool,
70
70
  /**
@@ -275,7 +275,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
275
275
  * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
276
276
  * This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
277
277
  *
278
- * @default `false`
278
+ * @default false
279
279
  */
280
280
  shouldRespectLeadingZeros: PropTypes.bool,
281
281
  /**
@@ -50,7 +50,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
50
50
  // ----------------------------------------------------------------------
51
51
  /**
52
52
  * 12h/24h view for hour selection clock.
53
- * @default `utils.is12HourCycleInCurrentLocale()`
53
+ * @default utils.is12HourCycleInCurrentLocale()
54
54
  */
55
55
  ampm: PropTypes.bool,
56
56
  /**
@@ -53,16 +53,22 @@ const TimePickerToolbarHourMinuteLabel = styled('div', {
53
53
  [`&.${timePickerToolbarClasses.hourMinuteLabelReverse}`]: styles.hourMinuteLabelReverse
54
54
  }, styles.hourMinuteLabel]
55
55
  })(({
56
- theme,
57
- ownerState
56
+ theme
58
57
  }) => _extends({
59
58
  display: 'flex',
60
59
  justifyContent: 'flex-end',
61
60
  alignItems: 'flex-end'
62
- }, ownerState.isLandscape && {
63
- marginTop: 'auto'
64
61
  }, theme.direction === 'rtl' && {
65
62
  flexDirection: 'row-reverse'
63
+ }, {
64
+ variants: [{
65
+ props: {
66
+ isLandscape: true
67
+ },
68
+ style: {
69
+ marginTop: 'auto'
70
+ }
71
+ }]
66
72
  }));
67
73
  TimePickerToolbarHourMinuteLabel.propTypes = {
68
74
  // ----------------------------- Warning --------------------------------
@@ -81,23 +87,26 @@ const TimePickerToolbarAmPmSelection = styled('div', {
81
87
  }, {
82
88
  [`&.${timePickerToolbarClasses.ampmLandscape}`]: styles.ampmLandscape
83
89
  }, styles.ampmSelection]
84
- })(({
85
- ownerState
86
- }) => _extends({
90
+ })({
87
91
  display: 'flex',
88
92
  flexDirection: 'column',
89
93
  marginRight: 'auto',
90
- marginLeft: 12
91
- }, ownerState.isLandscape && {
92
- margin: '4px 0 auto',
93
- flexDirection: 'row',
94
- justifyContent: 'space-around',
95
- flexBasis: '100%'
96
- }, {
94
+ marginLeft: 12,
97
95
  [`& .${timePickerToolbarClasses.ampmLabel}`]: {
98
96
  fontSize: 17
99
- }
100
- }));
97
+ },
98
+ variants: [{
99
+ props: {
100
+ isLandscape: true
101
+ },
102
+ style: {
103
+ margin: '4px 0 auto',
104
+ flexDirection: 'row',
105
+ justifyContent: 'space-around',
106
+ flexBasis: '100%'
107
+ }
108
+ }]
109
+ });
101
110
  TimePickerToolbarAmPmSelection.propTypes = {
102
111
  // ----------------------------- Warning --------------------------------
103
112
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -23,14 +23,20 @@ const PickersYearRoot = styled('div', {
23
23
  name: 'MuiPickersYear',
24
24
  slot: 'Root',
25
25
  overridesResolver: (_, styles) => [styles.root]
26
- })(({
27
- ownerState
28
- }) => ({
29
- flexBasis: ownerState.yearsPerRow === 3 ? '33.3%' : '25%',
26
+ })({
30
27
  display: 'flex',
31
28
  alignItems: 'center',
32
- justifyContent: 'center'
33
- }));
29
+ justifyContent: 'center',
30
+ flexBasis: '33.3%',
31
+ variants: [{
32
+ props: {
33
+ yearsPerRow: 4
34
+ },
35
+ style: {
36
+ flexBasis: '25%'
37
+ }
38
+ }]
39
+ });
34
40
  const PickersYearButton = styled('button', {
35
41
  name: 'MuiPickersYear',
36
42
  slot: 'YearButton',
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.0.0
2
+ * @mui/x-date-pickers v7.1.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["children", "className", "slots", "slotProps", "isNextDisabled", "isNextHidden", "onGoToNext", "nextLabel", "isPreviousDisabled", "isPreviousHidden", "onGoToPrevious", "previousLabel"],
4
4
  _excluded2 = ["ownerState"],
5
5
  _excluded3 = ["ownerState"];
@@ -34,11 +34,16 @@ const PickersArrowSwitcherButton = styled(IconButton, {
34
34
  name: 'MuiPickersArrowSwitcher',
35
35
  slot: 'Button',
36
36
  overridesResolver: (props, styles) => styles.button
37
- })(({
38
- ownerState
39
- }) => _extends({}, ownerState.hidden && {
40
- visibility: 'hidden'
41
- }));
37
+ })({
38
+ variants: [{
39
+ props: {
40
+ hidden: true
41
+ },
42
+ style: {
43
+ visibility: 'hidden'
44
+ }
45
+ }]
46
+ });
42
47
  const useUtilityClasses = ownerState => {
43
48
  const {
44
49
  classes
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["PaperComponent", "popperPlacement", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
4
4
  import * as React from 'react';
5
5
  import { useSlotProps } from '@mui/base/utils';
@@ -37,14 +37,18 @@ const PickersPopperPaper = styled(MuiPaper, {
37
37
  name: 'MuiPickersPopper',
38
38
  slot: 'Paper',
39
39
  overridesResolver: (_, styles) => styles.paper
40
- })(({
41
- ownerState
42
- }) => _extends({
40
+ })({
43
41
  outline: 0,
44
- transformOrigin: 'top center'
45
- }, ownerState.placement.includes('top') && {
46
- transformOrigin: 'bottom center'
47
- }));
42
+ transformOrigin: 'top center',
43
+ variants: [{
44
+ props: ({
45
+ placement
46
+ }) => ['top', 'top-start', 'top-end'].includes(placement),
47
+ style: {
48
+ transformOrigin: 'bottom center'
49
+ }
50
+ }]
51
+ });
48
52
  function clickedRootScrollbar(event, doc) {
49
53
  return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;
50
54
  }
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["children", "className", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
@@ -26,36 +26,57 @@ const PickersToolbarRoot = styled('div', {
26
26
  slot: 'Root',
27
27
  overridesResolver: (props, styles) => styles.root
28
28
  })(({
29
- theme,
30
- ownerState
31
- }) => _extends({
29
+ theme
30
+ }) => ({
32
31
  display: 'flex',
33
32
  flexDirection: 'column',
34
33
  alignItems: 'flex-start',
35
34
  justifyContent: 'space-between',
36
- padding: theme.spacing(2, 3)
37
- }, ownerState.isLandscape && {
38
- height: 'auto',
39
- maxWidth: 160,
40
- padding: 16,
41
- justifyContent: 'flex-start',
42
- flexWrap: 'wrap'
35
+ padding: theme.spacing(2, 3),
36
+ variants: [{
37
+ props: {
38
+ isLandscape: true
39
+ },
40
+ style: {
41
+ height: 'auto',
42
+ maxWidth: 160,
43
+ padding: 16,
44
+ justifyContent: 'flex-start',
45
+ flexWrap: 'wrap'
46
+ }
47
+ }]
43
48
  }));
44
49
  const PickersToolbarContent = styled('div', {
45
50
  name: 'MuiPickersToolbar',
46
51
  slot: 'Content',
47
52
  overridesResolver: (props, styles) => styles.content
48
- })(({
49
- ownerState
50
- }) => ({
53
+ })({
51
54
  display: 'flex',
52
55
  flexWrap: 'wrap',
53
56
  width: '100%',
54
- justifyContent: ownerState.isLandscape ? 'flex-start' : 'space-between',
55
- flexDirection: ownerState.isLandscape ? ownerState.landscapeDirection ?? 'column' : 'row',
56
57
  flex: 1,
57
- alignItems: ownerState.isLandscape ? 'flex-start' : 'center'
58
- }));
58
+ justifyContent: 'space-between',
59
+ alignItems: 'center',
60
+ flexDirection: 'row',
61
+ variants: [{
62
+ props: {
63
+ isLandscape: true
64
+ },
65
+ style: {
66
+ justifyContent: 'flex-start',
67
+ alignItems: 'flex-start',
68
+ flexDirection: 'column'
69
+ }
70
+ }, {
71
+ props: {
72
+ isLandscape: true,
73
+ landscapeDirection: 'row'
74
+ },
75
+ style: {
76
+ flexDirection: 'row'
77
+ }
78
+ }]
79
+ });
59
80
  export const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersToolbar(inProps, ref) {
60
81
  const props = useThemeProps({
61
82
  props: inProps,
@@ -202,9 +202,11 @@ export const useField = params => {
202
202
  event.preventDefault();
203
203
  onClear?.(event, ...args);
204
204
  clearValue();
205
- setSelectedSections(sectionOrder.startIndex);
206
- if (!interactions.isFieldFocused) {
205
+ if (!interactions.isFieldFocused()) {
206
+ // setSelectedSections is called internally
207
207
  interactions.focusField(0);
208
+ } else {
209
+ setSelectedSections(sectionOrder.startIndex);
208
210
  }
209
211
  });
210
212
  const commonForwardedProps = {
@@ -43,7 +43,8 @@ export const useFieldV6TextField = params => {
43
43
  onClick,
44
44
  onPaste,
45
45
  onBlur,
46
- inputRef: inputRefProp
46
+ inputRef: inputRefProp,
47
+ placeholder: inPlaceholder
47
48
  },
48
49
  internalProps: {
49
50
  readOnly = false
@@ -111,7 +112,8 @@ export const useFieldV6TextField = params => {
111
112
  getActiveSectionIndexFromDOM: () => {
112
113
  const browserStartIndex = inputRef.current.selectionStart ?? 0;
113
114
  const browserEndIndex = inputRef.current.selectionEnd ?? 0;
114
- if (browserStartIndex === 0 && browserEndIndex === 0) {
115
+ const isInputReadOnly = !!inputRef.current?.readOnly;
116
+ if (browserStartIndex === 0 && browserEndIndex === 0 || isInputReadOnly) {
115
117
  return null;
116
118
  }
117
119
  const nextSectionIndex = browserStartIndex <= sections[0].startInInput ? 1 // Special case if browser index is in invisible characters at the beginning.
@@ -275,7 +277,12 @@ export const useFieldV6TextField = params => {
275
277
  sectionIndex: activeSectionIndex
276
278
  });
277
279
  });
278
- const placeholder = React.useMemo(() => fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL), [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
280
+ const placeholder = React.useMemo(() => {
281
+ if (inPlaceholder) {
282
+ return inPlaceholder;
283
+ }
284
+ return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL);
285
+ }, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
279
286
  const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRTL), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRTL]);
280
287
  React.useEffect(() => {
281
288
  // Select all the sections when focused on mount (`autoFocus = true` on the input)
@@ -59,16 +59,15 @@ const faIRPickers = {
59
59
  fieldHoursPlaceholder: () => 'hh',
60
60
  fieldMinutesPlaceholder: () => 'mm',
61
61
  fieldSecondsPlaceholder: () => 'ss',
62
- fieldMeridiemPlaceholder: () => 'aa'
63
-
62
+ fieldMeridiemPlaceholder: () => 'aa',
64
63
  // View names
65
- // year: 'Year',
66
- // month: 'Month',
67
- // day: 'Day',
64
+ year: 'سال',
65
+ month: 'ماه',
66
+ day: 'روز',
68
67
  // weekDay: 'Week day',
69
- // hours: 'Hours',
70
- // minutes: 'Minutes',
71
- // seconds: 'Seconds',
68
+ hours: 'ساعت ها',
69
+ minutes: 'دقیقه ها',
70
+ seconds: 'ثانیه ها'
72
71
  // meridiem: 'Meridiem',
73
72
 
74
73
  // Common
@@ -16,11 +16,10 @@ const itITPickers = {
16
16
  // DateRange labels
17
17
  start: 'Inizio',
18
18
  end: 'Fine',
19
- // startDate: 'Start date',
20
- // startTime: 'Start time',
21
- // endDate: 'End date',
22
- // endTime: 'End time',
23
-
19
+ startDate: 'Data di inizio',
20
+ startTime: 'Ora di inizio',
21
+ endDate: 'Data di fine',
22
+ endTime: 'Ora di fine',
24
23
  // Action bar
25
24
  cancelButtonLabel: 'Cancellare',
26
25
  clearButtonLabel: 'Sgomberare',
@@ -46,8 +45,7 @@ const itITPickers = {
46
45
  // Open picker labels
47
46
  openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Scegli la data, la data selezionata è ${utils.format(value, 'fullDate')}` : 'Scegli la data',
48
47
  openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Scegli l'ora, l'ora selezionata è ${utils.format(value, 'fullTime')}` : "Scegli l'ora",
49
- // fieldClearLabel: 'Clear value',
50
-
48
+ fieldClearLabel: 'Cancella valore',
51
49
  // Table labels
52
50
  timeTableLabel: "scegli un'ora",
53
51
  dateTableLabel: 'scegli una data',
@@ -55,23 +53,21 @@ const itITPickers = {
55
53
  fieldYearPlaceholder: params => 'A'.repeat(params.digitAmount),
56
54
  fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
57
55
  fieldDayPlaceholder: () => 'GG',
58
- // fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
56
+ fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'GGGG' : 'GG',
59
57
  fieldHoursPlaceholder: () => 'hh',
60
58
  fieldMinutesPlaceholder: () => 'mm',
61
59
  fieldSecondsPlaceholder: () => 'ss',
62
- fieldMeridiemPlaceholder: () => 'aa'
63
-
60
+ fieldMeridiemPlaceholder: () => 'aa',
64
61
  // View names
65
- // year: 'Year',
66
- // month: 'Month',
67
- // day: 'Day',
68
- // weekDay: 'Week day',
69
- // hours: 'Hours',
70
- // minutes: 'Minutes',
71
- // seconds: 'Seconds',
72
- // meridiem: 'Meridiem',
73
-
62
+ year: 'Anno',
63
+ month: 'Mese',
64
+ day: 'Giorno',
65
+ weekDay: 'Giorno della settimana',
66
+ hours: 'Ore',
67
+ minutes: 'Minuti',
68
+ seconds: 'Secondi',
69
+ meridiem: 'Meridiano',
74
70
  // Common
75
- // empty: 'Empty',
71
+ empty: 'Vuoto'
76
72
  };
77
73
  export const itIT = getPickersLocalization(itITPickers);