@mui/x-date-pickers 7.0.0-alpha.9 → 7.0.0-beta.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 (224) hide show
  1. package/CHANGELOG.md +139 -38
  2. package/DateTimePicker/DateTimePickerTabs.js +7 -4
  3. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -1
  4. package/DateTimePicker/DateTimePickerToolbar.js +33 -17
  5. package/PickersLayout/PickersLayout.types.d.ts +6 -5
  6. package/PickersLayout/pickersLayoutClasses.js +3 -2
  7. package/PickersLayout/usePickerLayout.d.ts +2 -2
  8. package/PickersLayout/usePickerLayout.js +2 -1
  9. package/README.md +2 -2
  10. package/TimeClock/TimeClock.js +3 -3
  11. package/dateTimeViewRenderers/dateTimeViewRenderers.js +4 -4
  12. package/index.js +1 -1
  13. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  14. package/internals/hooks/usePicker/usePicker.js +4 -2
  15. package/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
  16. package/internals/hooks/usePicker/usePickerViews.d.ts +11 -2
  17. package/internals/hooks/usePicker/usePickerViews.js +8 -3
  18. package/internals/index.d.ts +4 -4
  19. package/internals/index.js +2 -2
  20. package/internals/models/props/tabs.d.ts +2 -1
  21. package/legacy/DateTimePicker/DateTimePickerTabs.js +7 -4
  22. package/legacy/DateTimePicker/DateTimePickerToolbar.js +43 -29
  23. package/legacy/PickersLayout/pickersLayoutClasses.js +3 -2
  24. package/legacy/PickersLayout/usePickerLayout.js +2 -1
  25. package/legacy/TimeClock/TimeClock.js +3 -3
  26. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +5 -4
  27. package/legacy/index.js +1 -1
  28. package/legacy/internals/hooks/usePicker/usePicker.js +4 -2
  29. package/legacy/internals/hooks/usePicker/usePickerViews.js +8 -3
  30. package/legacy/internals/index.js +2 -2
  31. package/legacy/locales/beBY.js +8 -3
  32. package/legacy/locales/caES.js +7 -2
  33. package/legacy/locales/csCZ.js +8 -3
  34. package/legacy/locales/daDK.js +8 -3
  35. package/legacy/locales/deDE.js +6 -1
  36. package/legacy/locales/elGR.js +8 -3
  37. package/legacy/locales/enUS.js +7 -3
  38. package/legacy/locales/esES.js +8 -3
  39. package/legacy/locales/eu.js +6 -1
  40. package/legacy/locales/faIR.js +6 -1
  41. package/legacy/locales/fiFI.js +8 -3
  42. package/legacy/locales/frFR.js +6 -1
  43. package/legacy/locales/heIL.js +6 -1
  44. package/legacy/locales/huHU.js +6 -1
  45. package/legacy/locales/isIS.js +8 -3
  46. package/legacy/locales/itIT.js +8 -3
  47. package/legacy/locales/jaJP.js +6 -1
  48. package/legacy/locales/koKR.js +6 -1
  49. package/legacy/locales/kzKZ.js +6 -1
  50. package/legacy/locales/mk.js +6 -1
  51. package/legacy/locales/nbNO.js +8 -3
  52. package/legacy/locales/nlNL.js +8 -3
  53. package/legacy/locales/plPL.js +8 -3
  54. package/legacy/locales/ptBR.js +6 -1
  55. package/legacy/locales/roRO.js +6 -1
  56. package/legacy/locales/ruRU.js +8 -3
  57. package/legacy/locales/skSK.js +8 -3
  58. package/legacy/locales/svSE.js +8 -3
  59. package/legacy/locales/trTR.js +8 -3
  60. package/legacy/locales/ukUA.js +8 -3
  61. package/legacy/locales/urPK.js +6 -1
  62. package/legacy/locales/viVN.js +8 -3
  63. package/legacy/locales/zhCN.js +6 -1
  64. package/legacy/locales/zhHK.js +6 -1
  65. package/locales/beBY.d.ts +4 -0
  66. package/locales/beBY.js +8 -3
  67. package/locales/caES.d.ts +4 -0
  68. package/locales/caES.js +7 -2
  69. package/locales/csCZ.d.ts +4 -0
  70. package/locales/csCZ.js +8 -3
  71. package/locales/daDK.d.ts +4 -0
  72. package/locales/daDK.js +8 -3
  73. package/locales/deDE.d.ts +4 -0
  74. package/locales/deDE.js +6 -1
  75. package/locales/elGR.d.ts +4 -0
  76. package/locales/elGR.js +8 -3
  77. package/locales/enUS.d.ts +4 -0
  78. package/locales/enUS.js +7 -3
  79. package/locales/esES.d.ts +4 -0
  80. package/locales/esES.js +8 -3
  81. package/locales/eu.d.ts +4 -0
  82. package/locales/eu.js +6 -1
  83. package/locales/faIR.d.ts +4 -0
  84. package/locales/faIR.js +6 -1
  85. package/locales/fiFI.d.ts +4 -0
  86. package/locales/fiFI.js +8 -3
  87. package/locales/frFR.d.ts +4 -0
  88. package/locales/frFR.js +6 -1
  89. package/locales/heIL.d.ts +4 -0
  90. package/locales/heIL.js +6 -1
  91. package/locales/huHU.d.ts +4 -0
  92. package/locales/huHU.js +6 -1
  93. package/locales/isIS.d.ts +4 -0
  94. package/locales/isIS.js +8 -3
  95. package/locales/itIT.d.ts +4 -0
  96. package/locales/itIT.js +8 -3
  97. package/locales/jaJP.d.ts +4 -0
  98. package/locales/jaJP.js +6 -1
  99. package/locales/koKR.d.ts +4 -0
  100. package/locales/koKR.js +6 -1
  101. package/locales/kzKZ.d.ts +4 -0
  102. package/locales/kzKZ.js +6 -1
  103. package/locales/mk.d.ts +4 -0
  104. package/locales/mk.js +6 -1
  105. package/locales/nbNO.d.ts +4 -0
  106. package/locales/nbNO.js +8 -3
  107. package/locales/nlNL.d.ts +4 -0
  108. package/locales/nlNL.js +8 -3
  109. package/locales/plPL.d.ts +4 -0
  110. package/locales/plPL.js +8 -3
  111. package/locales/ptBR.d.ts +4 -0
  112. package/locales/ptBR.js +6 -1
  113. package/locales/roRO.d.ts +4 -0
  114. package/locales/roRO.js +6 -1
  115. package/locales/ruRU.d.ts +4 -0
  116. package/locales/ruRU.js +8 -3
  117. package/locales/skSK.d.ts +4 -0
  118. package/locales/skSK.js +8 -3
  119. package/locales/svSE.d.ts +4 -0
  120. package/locales/svSE.js +8 -3
  121. package/locales/trTR.d.ts +4 -0
  122. package/locales/trTR.js +8 -3
  123. package/locales/ukUA.d.ts +4 -0
  124. package/locales/ukUA.js +8 -3
  125. package/locales/urPK.d.ts +4 -0
  126. package/locales/urPK.js +6 -1
  127. package/locales/utils/getPickersLocalization.d.ts +4 -0
  128. package/locales/utils/pickersLocaleTextApi.d.ts +4 -0
  129. package/locales/viVN.d.ts +4 -0
  130. package/locales/viVN.js +8 -3
  131. package/locales/zhCN.d.ts +4 -0
  132. package/locales/zhCN.js +6 -1
  133. package/locales/zhHK.d.ts +4 -0
  134. package/locales/zhHK.js +6 -1
  135. package/modern/DateTimePicker/DateTimePickerTabs.js +7 -4
  136. package/modern/DateTimePicker/DateTimePickerToolbar.js +33 -17
  137. package/modern/PickersLayout/pickersLayoutClasses.js +3 -2
  138. package/modern/PickersLayout/usePickerLayout.js +2 -1
  139. package/modern/TimeClock/TimeClock.js +3 -3
  140. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +4 -4
  141. package/modern/index.js +1 -1
  142. package/modern/internals/hooks/usePicker/usePicker.js +4 -2
  143. package/modern/internals/hooks/usePicker/usePickerViews.js +8 -3
  144. package/modern/internals/index.js +2 -2
  145. package/modern/locales/beBY.js +8 -3
  146. package/modern/locales/caES.js +7 -2
  147. package/modern/locales/csCZ.js +8 -3
  148. package/modern/locales/daDK.js +8 -3
  149. package/modern/locales/deDE.js +6 -1
  150. package/modern/locales/elGR.js +8 -3
  151. package/modern/locales/enUS.js +7 -3
  152. package/modern/locales/esES.js +8 -3
  153. package/modern/locales/eu.js +6 -1
  154. package/modern/locales/faIR.js +6 -1
  155. package/modern/locales/fiFI.js +8 -3
  156. package/modern/locales/frFR.js +6 -1
  157. package/modern/locales/heIL.js +6 -1
  158. package/modern/locales/huHU.js +6 -1
  159. package/modern/locales/isIS.js +8 -3
  160. package/modern/locales/itIT.js +8 -3
  161. package/modern/locales/jaJP.js +6 -1
  162. package/modern/locales/koKR.js +6 -1
  163. package/modern/locales/kzKZ.js +6 -1
  164. package/modern/locales/mk.js +6 -1
  165. package/modern/locales/nbNO.js +8 -3
  166. package/modern/locales/nlNL.js +8 -3
  167. package/modern/locales/plPL.js +8 -3
  168. package/modern/locales/ptBR.js +6 -1
  169. package/modern/locales/roRO.js +6 -1
  170. package/modern/locales/ruRU.js +8 -3
  171. package/modern/locales/skSK.js +8 -3
  172. package/modern/locales/svSE.js +8 -3
  173. package/modern/locales/trTR.js +8 -3
  174. package/modern/locales/ukUA.js +8 -3
  175. package/modern/locales/urPK.js +6 -1
  176. package/modern/locales/viVN.js +8 -3
  177. package/modern/locales/zhCN.js +6 -1
  178. package/modern/locales/zhHK.js +6 -1
  179. package/node/DateTimePicker/DateTimePickerTabs.js +8 -5
  180. package/node/DateTimePicker/DateTimePickerToolbar.js +34 -18
  181. package/node/PickersLayout/pickersLayoutClasses.js +5 -3
  182. package/node/PickersLayout/usePickerLayout.js +2 -1
  183. package/node/TimeClock/TimeClock.js +3 -3
  184. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +4 -4
  185. package/node/index.js +1 -1
  186. package/node/internals/hooks/usePicker/usePicker.js +4 -2
  187. package/node/internals/hooks/usePicker/usePickerViews.js +8 -3
  188. package/node/internals/index.js +12 -0
  189. package/node/locales/beBY.js +8 -3
  190. package/node/locales/caES.js +7 -2
  191. package/node/locales/csCZ.js +8 -3
  192. package/node/locales/daDK.js +8 -3
  193. package/node/locales/deDE.js +6 -1
  194. package/node/locales/elGR.js +8 -3
  195. package/node/locales/enUS.js +7 -3
  196. package/node/locales/esES.js +8 -3
  197. package/node/locales/eu.js +6 -1
  198. package/node/locales/faIR.js +6 -1
  199. package/node/locales/fiFI.js +8 -3
  200. package/node/locales/frFR.js +6 -1
  201. package/node/locales/heIL.js +6 -1
  202. package/node/locales/huHU.js +6 -1
  203. package/node/locales/isIS.js +8 -3
  204. package/node/locales/itIT.js +8 -3
  205. package/node/locales/jaJP.js +6 -1
  206. package/node/locales/koKR.js +6 -1
  207. package/node/locales/kzKZ.js +6 -1
  208. package/node/locales/mk.js +6 -1
  209. package/node/locales/nbNO.js +8 -3
  210. package/node/locales/nlNL.js +8 -3
  211. package/node/locales/plPL.js +8 -3
  212. package/node/locales/ptBR.js +6 -1
  213. package/node/locales/roRO.js +6 -1
  214. package/node/locales/ruRU.js +8 -3
  215. package/node/locales/skSK.js +8 -3
  216. package/node/locales/svSE.js +8 -3
  217. package/node/locales/trTR.js +8 -3
  218. package/node/locales/ukUA.js +8 -3
  219. package/node/locales/urPK.js +6 -1
  220. package/node/locales/viVN.js +8 -3
  221. package/node/locales/zhCN.js +6 -1
  222. package/node/locales/zhHK.js +6 -1
  223. package/package.json +4 -4
  224. package/timeViewRenderers/timeViewRenderers.d.ts +1 -1
@@ -1,10 +1,11 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["ampm", "ampmInClock", "value", "onChange", "view", "isLandscape", "onViewChange", "toolbarFormat", "toolbarPlaceholder", "views", "disabled", "readOnly", "toolbarVariant"];
3
+ const _excluded = ["ampm", "ampmInClock", "value", "onChange", "view", "isLandscape", "onViewChange", "toolbarFormat", "toolbarPlaceholder", "views", "disabled", "readOnly", "toolbarVariant", "toolbarTitle", "className"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { styled, useThemeProps, useTheme } from '@mui/material/styles';
7
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
7
+ import composeClasses from '@mui/utils/composeClasses';
8
+ import clsx from 'clsx';
8
9
  import { PickersToolbarText } from '../internals/components/PickersToolbarText';
9
10
  import { PickersToolbar } from '../internals/components/PickersToolbar';
10
11
  import { PickersToolbarButton } from '../internals/components/PickersToolbarButton';
@@ -13,6 +14,8 @@ import { dateTimePickerToolbarClasses, getDateTimePickerToolbarUtilityClass } fr
13
14
  import { useMeridiemMode } from '../internals/hooks/date-helpers-hooks';
14
15
  import { MULTI_SECTION_CLOCK_SECTION_WIDTH } from '../internals/constants/dimensions';
15
16
  import { formatMeridiem } from '../internals/utils/date-utils';
17
+ import { pickersToolbarTextClasses } from '../internals/components/pickersToolbarTextClasses';
18
+ import { pickersToolbarClasses } from '../internals';
16
19
  import { jsx as _jsx } from "react/jsx-runtime";
17
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
21
  const useUtilityClasses = ownerState => {
@@ -39,13 +42,18 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
39
42
  })(({
40
43
  theme,
41
44
  ownerState
42
- }) => ({
45
+ }) => _extends({
43
46
  paddingLeft: ownerState.toolbarVariant === 'desktop' && !ownerState.isLandscape ? 24 : 16,
44
47
  paddingRight: ownerState.toolbarVariant === 'desktop' && !ownerState.isLandscape ? 0 : 16,
45
48
  borderBottom: ownerState.toolbarVariant === 'desktop' ? `1px solid ${(theme.vars || theme).palette.divider}` : undefined,
46
49
  borderRight: ownerState.toolbarVariant === 'desktop' && ownerState.isLandscape ? `1px solid ${(theme.vars || theme).palette.divider}` : undefined,
47
50
  justifyContent: 'space-around',
48
51
  position: 'relative'
52
+ }, ownerState.toolbarVariant === 'desktop' && {
53
+ [`& .${pickersToolbarClasses.content} .${pickersToolbarTextClasses.selected}`]: {
54
+ color: (theme.vars || theme).palette.primary.main,
55
+ fontWeight: theme.typography.fontWeightBold
56
+ }
49
57
  }));
50
58
  DateTimePickerToolbarRoot.propTypes = {
51
59
  // ----------------------------- Warning --------------------------------
@@ -182,7 +190,9 @@ function DateTimePickerToolbar(inProps) {
182
190
  views,
183
191
  disabled,
184
192
  readOnly,
185
- toolbarVariant = 'mobile'
193
+ toolbarVariant = 'mobile',
194
+ toolbarTitle: inToolbarTitle,
195
+ className
186
196
  } = props,
187
197
  other = _objectWithoutPropertiesLoose(props, _excluded);
188
198
  const ownerState = props;
@@ -198,6 +208,7 @@ function DateTimePickerToolbar(inProps) {
198
208
  const classes = useUtilityClasses(_extends({}, ownerState, {
199
209
  theme
200
210
  }));
211
+ const toolbarTitle = inToolbarTitle ?? localeText.dateTimePickerToolbarTitle;
201
212
  const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
202
213
  const dateText = React.useMemo(() => {
203
214
  if (!value) {
@@ -209,9 +220,9 @@ function DateTimePickerToolbar(inProps) {
209
220
  return utils.format(value, 'shortDate');
210
221
  }, [value, toolbarFormat, toolbarPlaceholder, utils]);
211
222
  return /*#__PURE__*/_jsxs(DateTimePickerToolbarRoot, _extends({
212
- toolbarTitle: localeText.dateTimePickerToolbarTitle,
213
223
  isLandscape: isLandscape,
214
- className: classes.root
224
+ className: clsx(classes.root, className),
225
+ toolbarTitle: toolbarTitle
215
226
  }, other, {
216
227
  ownerState: ownerState,
217
228
  children: [/*#__PURE__*/_jsxs(DateTimePickerToolbarDateContainer, {
@@ -236,14 +247,14 @@ function DateTimePickerToolbar(inProps) {
236
247
  children: [/*#__PURE__*/_jsxs(DateTimePickerToolbarTimeDigitsContainer, {
237
248
  className: classes.timeDigitsContainer,
238
249
  ownerState: ownerState,
239
- children: [views.includes('hours') && /*#__PURE__*/_jsx(PickersToolbarButton, {
240
- variant: isDesktop ? 'h5' : 'h3',
241
- width: isDesktop && !isLandscape ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
242
- onClick: () => onViewChange('hours'),
243
- selected: view === 'hours',
244
- value: value ? formatHours(value) : '--'
245
- }), views.includes('minutes') && /*#__PURE__*/_jsxs(React.Fragment, {
246
- children: [/*#__PURE__*/_jsx(DateTimePickerToolbarSeparator, {
250
+ children: [views.includes('hours') && /*#__PURE__*/_jsxs(React.Fragment, {
251
+ children: [/*#__PURE__*/_jsx(PickersToolbarButton, {
252
+ variant: isDesktop ? 'h5' : 'h3',
253
+ width: isDesktop && !isLandscape ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
254
+ onClick: () => onViewChange('hours'),
255
+ selected: view === 'hours',
256
+ value: value ? formatHours(value) : '--'
257
+ }), /*#__PURE__*/_jsx(DateTimePickerToolbarSeparator, {
247
258
  variant: isDesktop ? 'h5' : 'h3',
248
259
  value: ":",
249
260
  className: classes.separator,
@@ -252,8 +263,9 @@ function DateTimePickerToolbar(inProps) {
252
263
  variant: isDesktop ? 'h5' : 'h3',
253
264
  width: isDesktop && !isLandscape ? MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
254
265
  onClick: () => onViewChange('minutes'),
255
- selected: view === 'minutes',
256
- value: value ? utils.format(value, 'minutes') : '--'
266
+ selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
267
+ value: value ? utils.format(value, 'minutes') : '--',
268
+ disabled: !views.includes('minutes')
257
269
  })]
258
270
  }), views.includes('seconds') && /*#__PURE__*/_jsxs(React.Fragment, {
259
271
  children: [/*#__PURE__*/_jsx(DateTimePickerToolbarSeparator, {
@@ -335,12 +347,16 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
335
347
  * @default "––"
336
348
  */
337
349
  toolbarPlaceholder: PropTypes.node,
350
+ /**
351
+ * If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
352
+ */
353
+ toolbarTitle: PropTypes.node,
338
354
  toolbarVariant: PropTypes.oneOf(['desktop', 'mobile']),
339
355
  value: PropTypes.any,
340
356
  /**
341
357
  * Currently visible picker view.
342
358
  */
343
- view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired,
359
+ view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
344
360
  views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
345
361
  } : void 0;
346
362
  export { DateTimePickerToolbar };
@@ -1,5 +1,6 @@
1
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
2
3
  export function getPickersLayoutUtilityClass(slot) {
3
4
  return generateUtilityClass('MuiPickersLayout', slot);
4
5
  }
5
- export const pickersLayoutClasses = generateUtilityClasses('MuiPickersLayout', ['root', 'landscape', 'contentWrapper', 'toolbar', 'actionBar', 'shortcuts']);
6
+ export const pickersLayoutClasses = generateUtilityClasses('MuiPickersLayout', ['root', 'landscape', 'contentWrapper', 'toolbar', 'actionBar', 'tabs', 'shortcuts']);
@@ -104,7 +104,8 @@ const usePickerLayout = props => {
104
104
  const Tabs = slots?.tabs;
105
105
  const tabs = view && Tabs ? /*#__PURE__*/_jsx(Tabs, _extends({
106
106
  view: view,
107
- onViewChange: onViewChange
107
+ onViewChange: onViewChange,
108
+ className: classes.tabs
108
109
  }, slotProps?.tabs)) : null;
109
110
 
110
111
  // Shortcuts
@@ -218,7 +218,7 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
218
218
  {
219
219
  const handleHoursChange = (hourValue, isFinish) => {
220
220
  const valueWithMeridiem = convertValueToMeridiem(hourValue, meridiemMode, ampm);
221
- setValueAndGoToNextView(utils.setHours(valueOrReferenceDate, valueWithMeridiem), isFinish);
221
+ setValueAndGoToNextView(utils.setHours(valueOrReferenceDate, valueWithMeridiem), isFinish, 'hours');
222
222
  };
223
223
  return {
224
224
  onChange: handleHoursChange,
@@ -238,7 +238,7 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
238
238
  {
239
239
  const minutesValue = utils.getMinutes(valueOrReferenceDate);
240
240
  const handleMinutesChange = (minuteValue, isFinish) => {
241
- setValueAndGoToNextView(utils.setMinutes(valueOrReferenceDate, minuteValue), isFinish);
241
+ setValueAndGoToNextView(utils.setMinutes(valueOrReferenceDate, minuteValue), isFinish, 'minutes');
242
242
  };
243
243
  return {
244
244
  viewValue: minutesValue,
@@ -257,7 +257,7 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
257
257
  {
258
258
  const secondsValue = utils.getSeconds(valueOrReferenceDate);
259
259
  const handleSecondsChange = (secondValue, isFinish) => {
260
- setValueAndGoToNextView(utils.setSeconds(valueOrReferenceDate, secondValue), isFinish);
260
+ setValueAndGoToNextView(utils.setSeconds(valueOrReferenceDate, secondValue), isFinish, 'seconds');
261
261
  };
262
262
  return {
263
263
  viewValue: secondsValue,
@@ -138,23 +138,23 @@ export const renderDesktopDateTimeView = ({
138
138
  view: 'hours',
139
139
  views: ['hours'],
140
140
  focusedView: focusedView && isInternalTimeView(focusedView) ? 'hours' : null,
141
- sx: _extends({
141
+ sx: [{
142
142
  width: 'auto',
143
143
  [`&.${digitalClockClasses.root}`]: {
144
144
  maxHeight: VIEW_HEIGHT
145
145
  }
146
- }, Array.isArray(sx) ? sx : [sx])
146
+ }, ...(Array.isArray(sx) ? sx : [sx])]
147
147
  })) : renderMultiSectionDigitalClockTimeView(_extends({}, commonTimeProps, {
148
148
  view: isInternalTimeView(view) ? view : 'hours',
149
149
  views: views.filter(isInternalTimeView),
150
150
  focusedView: focusedView && isInternalTimeView(focusedView) ? focusedView : null,
151
- sx: _extends({
151
+ sx: [{
152
152
  borderBottom: 0,
153
153
  width: 'auto',
154
154
  [`.${multiSectionDigitalClockSectionClasses.root}`]: {
155
155
  maxHeight: '100%'
156
156
  }
157
- }, Array.isArray(sx) ? sx : [sx])
157
+ }, ...(Array.isArray(sx) ? sx : [sx])]
158
158
  }))]
159
159
  })]
160
160
  }), isActionBarVisible && /*#__PURE__*/_jsx(Divider, {})]
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.0.0-alpha.9
2
+ * @mui/x-date-pickers v7.0.0-beta.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -11,7 +11,8 @@ export const usePicker = ({
11
11
  inputRef,
12
12
  additionalViewProps,
13
13
  validator,
14
- autoFocusView
14
+ autoFocusView,
15
+ rendererInterceptor
15
16
  }) => {
16
17
  if (process.env.NODE_ENV !== 'production') {
17
18
  if (props.renderInput != null) {
@@ -30,7 +31,8 @@ export const usePicker = ({
30
31
  inputRef,
31
32
  additionalViewProps,
32
33
  autoFocusView,
33
- propsFromPickerValue: pickerValueResponse.viewProps
34
+ propsFromPickerValue: pickerValueResponse.viewProps,
35
+ rendererInterceptor
34
36
  });
35
37
  const pickerLayoutResponse = usePickerLayoutProps({
36
38
  props,
@@ -30,7 +30,8 @@ export const usePickerViews = ({
30
30
  propsFromPickerValue,
31
31
  additionalViewProps,
32
32
  inputRef,
33
- autoFocusView
33
+ autoFocusView,
34
+ rendererInterceptor
34
35
  }) => {
35
36
  const {
36
37
  onChange,
@@ -146,7 +147,7 @@ export const usePickerViews = ({
146
147
  if (renderer == null) {
147
148
  return null;
148
149
  }
149
- return renderer(_extends({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {
150
+ const rendererProps = _extends({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {
150
151
  views,
151
152
  timezone,
152
153
  onChange: setValueAndGoToNextView,
@@ -156,7 +157,11 @@ export const usePickerViews = ({
156
157
  onFocusedViewChange: setFocusedView,
157
158
  showViewSwitcher: timeViewsCount > 1,
158
159
  timeViewsCount
159
- }));
160
+ });
161
+ if (rendererInterceptor) {
162
+ return rendererInterceptor(viewRenderers, popperView, rendererProps);
163
+ }
164
+ return renderer(rendererProps);
160
165
  }
161
166
  };
162
167
  };
@@ -8,7 +8,7 @@ export { pickersToolbarTextClasses } from './components/pickersToolbarTextClasse
8
8
  export { pickersArrowSwitcherClasses } from './components/PickersArrowSwitcher/pickersArrowSwitcherClasses';
9
9
  export { pickersPopperClasses } from './components/pickersPopperClasses';
10
10
  export { PickersToolbarButton } from './components/PickersToolbarButton';
11
- export { DAY_MARGIN, DIALOG_WIDTH } from './constants/dimensions';
11
+ export { DAY_MARGIN, DIALOG_WIDTH, VIEW_HEIGHT } from './constants/dimensions';
12
12
  export { useControlledValueWithTimezone } from './hooks/useValueWithTimezone';
13
13
  export { useField, createDateStrForInputFromSections, addPositionPropertiesToSections } from './hooks/useField';
14
14
  export { usePicker } from './hooks/usePicker';
@@ -32,4 +32,4 @@ export { applyDefaultViewProps } from './utils/views';
32
32
  export { buildDeprecatedPropsWarning, buildWarning } from './utils/warning';
33
33
  export { DayCalendar } from '../DateCalendar/DayCalendar';
34
34
  export { useCalendarState } from '../DateCalendar/useCalendarState';
35
- export { isTimeView } from './utils/time-utils';
35
+ export { isInternalTimeView, isTimeView } from './utils/time-utils';
@@ -11,12 +11,17 @@ const beBYPickers = {
11
11
  previousMonth: 'Папярэдні месяц',
12
12
  nextMonth: 'Наступны месяц',
13
13
  // View navigation
14
- openPreviousView: 'адкрыць папярэдні выгляд',
15
- openNextView: 'адкрыць наступны выгляд',
14
+ openPreviousView: 'Aдкрыць папярэдні выгляд',
15
+ openNextView: 'Aдкрыць наступны выгляд',
16
16
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'гадавы выгляд адкрыты, перайсці да каляндарнага выгляду' : 'каляндарны выгляд адкрыты, перайсці да гадавога выгляду',
17
- // DateRange placeholders
17
+ // DateRange labels
18
18
  start: 'Пачатак',
19
19
  end: 'Канец',
20
+ // startDate: 'Start date',
21
+ // startTime: 'Start time',
22
+ // endDate: 'End date',
23
+ // endTime: 'End time',
24
+
20
25
  // Action bar
21
26
  cancelButtonLabel: 'Адмена',
22
27
  clearButtonLabel: 'Ачысціць',
@@ -10,12 +10,17 @@ const caESPickers = {
10
10
  previousMonth: 'Últim mes',
11
11
  nextMonth: 'Pròxim mes',
12
12
  // View navigation
13
- openPreviousView: "obrir l'última vista",
13
+ openPreviousView: "Obrir l'última vista",
14
14
  openNextView: 'obrir la següent vista',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? "la vista de l'any està oberta, canvie a la vista de calendari" : "la vista de calendari està oberta, canvie a la vista de l'any",
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Començar',
18
18
  end: 'Terminar',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Cancel·lar',
21
26
  clearButtonLabel: 'Netejar',
@@ -11,12 +11,17 @@ const csCZPickers = {
11
11
  previousMonth: 'Předchozí měsíc',
12
12
  nextMonth: 'Další měsíc',
13
13
  // View navigation
14
- openPreviousView: 'otevřít předchozí zobrazení',
15
- openNextView: 'otevřít další zobrazení',
14
+ openPreviousView: 'Otevřít předchozí zobrazení',
15
+ openNextView: 'Otevřít další zobrazení',
16
16
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'roční zobrazení otevřeno, přepněte do zobrazení kalendáře' : 'zobrazení kalendáře otevřeno, přepněte do zobrazení roku',
17
- // DateRange placeholders
17
+ // DateRange labels
18
18
  start: 'Začátek',
19
19
  end: 'Konec',
20
+ // startDate: 'Start date',
21
+ // startTime: 'Start time',
22
+ // endDate: 'End date',
23
+ // endTime: 'End time',
24
+
20
25
  // Action bar
21
26
  cancelButtonLabel: 'Zrušit',
22
27
  clearButtonLabel: 'Vymazat',
@@ -11,12 +11,17 @@ const daDKPickers = {
11
11
  previousMonth: 'Forrige måned',
12
12
  nextMonth: 'Næste måned',
13
13
  // View navigation
14
- openPreviousView: 'åben forrige visning',
15
- openNextView: 'åben næste visning',
14
+ openPreviousView: 'Åben forrige visning',
15
+ openNextView: 'Åben næste visning',
16
16
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'årsvisning er åben, skift til kalendervisning' : 'kalendervisning er åben, skift til årsvisning',
17
- // DateRange placeholders
17
+ // DateRange labels
18
18
  start: 'Start',
19
19
  end: 'Slut',
20
+ // startDate: 'Start date',
21
+ // startTime: 'Start time',
22
+ // endDate: 'End date',
23
+ // endTime: 'End time',
24
+
20
25
  // Action bar
21
26
  cancelButtonLabel: 'Annuller',
22
27
  clearButtonLabel: 'Ryd',
@@ -14,9 +14,14 @@ const deDEPickers = {
14
14
  openPreviousView: 'Letzte Ansicht öffnen',
15
15
  openNextView: 'Nächste Ansicht öffnen',
16
16
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'Jahresansicht ist geöffnet, zur Kalenderansicht wechseln' : 'Kalenderansicht ist geöffnet, zur Jahresansicht wechseln',
17
- // DateRange placeholders
17
+ // DateRange labels
18
18
  start: 'Beginn',
19
19
  end: 'Ende',
20
+ // startDate: 'Start date',
21
+ // startTime: 'Start time',
22
+ // endDate: 'End date',
23
+ // endTime: 'End time',
24
+
20
25
  // Action bar
21
26
  cancelButtonLabel: 'Abbrechen',
22
27
  clearButtonLabel: 'Löschen',
@@ -10,12 +10,17 @@ const elGRPickers = {
10
10
  previousMonth: 'Προηγούμενος μήνας',
11
11
  nextMonth: 'Επόμενος μήνας',
12
12
  // View navigation
13
- openPreviousView: 'ανοίγμα προηγούμενης προβολή',
14
- openNextView: 'ανοίγμα επόμενης προβολή',
13
+ openPreviousView: 'Άνοίγμα προηγούμενης προβολή',
14
+ openNextView: 'Άνοίγμα επόμενης προβολή',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'η προβολή έτους είναι ανοιχτή, μεταβείτε στην προβολή ημερολογίου' : 'η προβολή ημερολογίου είναι ανοιχτή, μεταβείτε στην προβολή έτους',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Αρχή',
18
18
  end: 'Τέλος',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Άκυρο',
21
26
  clearButtonLabel: 'Καθαρισμός',
@@ -7,12 +7,16 @@ const enUSPickers = {
7
7
  previousMonth: 'Previous month',
8
8
  nextMonth: 'Next month',
9
9
  // View navigation
10
- openPreviousView: 'open previous view',
11
- openNextView: 'open next view',
10
+ openPreviousView: 'Open previous view',
11
+ openNextView: 'Open next view',
12
12
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',
13
- // DateRange placeholders
13
+ // DateRange labels
14
14
  start: 'Start',
15
15
  end: 'End',
16
+ startDate: 'Start date',
17
+ startTime: 'Start time',
18
+ endDate: 'End date',
19
+ endTime: 'End time',
16
20
  // Action bar
17
21
  cancelButtonLabel: 'Cancel',
18
22
  clearButtonLabel: 'Clear',
@@ -10,12 +10,17 @@ const esESPickers = {
10
10
  previousMonth: 'Último mes',
11
11
  nextMonth: 'Próximo mes',
12
12
  // View navigation
13
- openPreviousView: 'abrir la última vista',
14
- openNextView: 'abrir la siguiente vista',
13
+ openPreviousView: 'Abrir la última vista',
14
+ openNextView: 'Abrir la siguiente vista',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'la vista del año está abierta, cambie a la vista de calendario' : 'la vista de calendario está abierta, cambie a la vista del año',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Empezar',
18
18
  end: 'Terminar',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Cancelar',
21
26
  clearButtonLabel: 'Limpiar',
@@ -13,9 +13,14 @@ const euPickers = {
13
13
  openPreviousView: 'azken bista ireki',
14
14
  openNextView: 'hurrengo bista ireki',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'urteko bista irekita dago, aldatu egutegi bistara' : 'egutegi bista irekita dago, aldatu urteko bistara',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Hasi',
18
18
  end: 'Bukatu',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Utxi',
21
26
  clearButtonLabel: 'Garbitu',
@@ -13,9 +13,14 @@ const faIRPickers = {
13
13
  openPreviousView: 'نمای قبلی',
14
14
  openNextView: 'نمای بعدی',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'نمای سال باز است، رفتن به نمای تقویم' : 'نمای تقویم باز است، رفتن به نمای سال',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'شروع',
18
18
  end: 'پایان',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'لغو',
21
26
  clearButtonLabel: 'پاک کردن',
@@ -10,12 +10,17 @@ const fiFIPickers = {
10
10
  previousMonth: 'Edellinen kuukausi',
11
11
  nextMonth: 'Seuraava kuukausi',
12
12
  // View navigation
13
- openPreviousView: 'avaa edellinen kuukausi',
14
- openNextView: 'avaa seuraava kuukausi',
13
+ openPreviousView: 'Avaa edellinen kuukausi',
14
+ openNextView: 'Avaa seuraava kuukausi',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'vuosinäkymä on auki, vaihda kalenterinäkymään' : 'kalenterinäkymä on auki, vaihda vuosinäkymään',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Alku',
18
18
  end: 'Loppu',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Peruuta',
21
26
  clearButtonLabel: 'Tyhjennä',
@@ -13,9 +13,14 @@ const frFRPickers = {
13
13
  openPreviousView: 'Ouvrir la vue précédente',
14
14
  openNextView: 'Ouvrir la vue suivante',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'La vue année est ouverte, ouvrir la vue calendrier' : 'La vue calendrier est ouverte, ouvrir la vue année',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Début',
18
18
  end: 'Fin',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Annuler',
21
26
  clearButtonLabel: 'Vider',
@@ -13,9 +13,14 @@ const heILPickers = {
13
13
  openPreviousView: 'תצוגה קודמת',
14
14
  openNextView: 'תצוגה הבאה',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'תצוגת שנה פתוחה, מעבר לתצוגת לוח שנה' : 'תצוגת לוח שנה פתוחה, מעבר לתצוגת שנה',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'תחילה',
18
18
  end: 'סיום',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'ביטול',
21
26
  clearButtonLabel: 'ניקוי',
@@ -14,9 +14,14 @@ const huHUPickers = {
14
14
  openPreviousView: 'Előző nézet megnyitása',
15
15
  openNextView: 'Következő nézet megnyitása',
16
16
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'az évválasztó már nyitva, váltson a naptárnézetre' : 'a naptárnézet már nyitva, váltson az évválasztóra',
17
- // DateRange placeholders
17
+ // DateRange labels
18
18
  start: 'Kezdő dátum',
19
19
  end: 'Záró dátum',
20
+ // startDate: 'Start date',
21
+ // startTime: 'Start time',
22
+ // endDate: 'End date',
23
+ // endTime: 'End time',
24
+
20
25
  // Action bar
21
26
  cancelButtonLabel: 'Mégse',
22
27
  clearButtonLabel: 'Törlés',
@@ -10,12 +10,17 @@ const isISPickers = {
10
10
  previousMonth: 'Fyrri mánuður',
11
11
  nextMonth: 'Næsti mánuður',
12
12
  // View navigation
13
- openPreviousView: 'opna fyrri skoðun',
14
- openNextView: 'opna næstu skoðun',
13
+ openPreviousView: 'Opna fyrri skoðun',
14
+ openNextView: 'Opna næstu skoðun',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'ársskoðun er opin, skipta yfir í dagatalsskoðun' : 'dagatalsskoðun er opin, skipta yfir í ársskoðun',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: 'Upphaf',
18
18
  end: 'Endir',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: 'Hætta við',
21
26
  clearButtonLabel: 'Hreinsa',
@@ -10,12 +10,17 @@ const itITPickers = {
10
10
  previousMonth: 'Mese precedente',
11
11
  nextMonth: 'Mese successivo',
12
12
  // View navigation
13
- openPreviousView: 'apri la vista precedente',
14
- openNextView: 'apri la vista successiva',
13
+ openPreviousView: 'Apri la vista precedente',
14
+ openNextView: 'Apri la vista successiva',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? "la vista dell'anno è aperta, passare alla vista del calendario" : "la vista dell'calendario è aperta, passare alla vista dell'anno",
16
- // DateRange placeholders
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
24
  // Action bar
20
25
  cancelButtonLabel: 'Cancellare',
21
26
  clearButtonLabel: 'Sgomberare',
@@ -14,9 +14,14 @@ const jaJPPickers = {
14
14
  openPreviousView: '前の表示を開く',
15
15
  openNextView: '次の表示を開く',
16
16
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? '年選択表示からカレンダー表示に切り替える' : 'カレンダー表示から年選択表示に切り替える',
17
- // DateRange placeholders
17
+ // DateRange labels
18
18
  start: '開始',
19
19
  end: '終了',
20
+ // startDate: 'Start date',
21
+ // startTime: 'Start time',
22
+ // endDate: 'End date',
23
+ // endTime: 'End time',
24
+
20
25
  // Action bar
21
26
  cancelButtonLabel: 'キャンセル',
22
27
  clearButtonLabel: 'クリア',
@@ -13,9 +13,14 @@ const koKRPickers = {
13
13
  openPreviousView: '이전 화면 보기',
14
14
  openNextView: '다음 화면 보기',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? '연도 선택 화면에서 달력 화면으로 전환하기' : '달력 화면에서 연도 선택 화면으로 전환하기',
16
- // DateRange placeholders
16
+ // DateRange labels
17
17
  start: '시작',
18
18
  end: '종료',
19
+ // startDate: 'Start date',
20
+ // startTime: 'Start time',
21
+ // endDate: 'End date',
22
+ // endTime: 'End time',
23
+
19
24
  // Action bar
20
25
  cancelButtonLabel: '취소',
21
26
  clearButtonLabel: '초기화',