@mui/x-date-pickers 7.11.0 → 7.12.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 (196) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +5 -2
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +4 -4
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.js +5 -9
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +0 -1
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +5 -5
  6. package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +0 -1
  7. package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js +8 -8
  8. package/AdapterDateFnsV3/AdapterDateFnsV3.js +8 -5
  9. package/AdapterDayjs/AdapterDayjs.js +6 -4
  10. package/AdapterLuxon/AdapterLuxon.js +1 -0
  11. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +1 -0
  12. package/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -0
  13. package/CHANGELOG.md +194 -4
  14. package/DateCalendar/DateCalendar.js +3 -1
  15. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  16. package/DateCalendar/DayCalendar.js +1 -1
  17. package/DateField/DateField.js +3 -1
  18. package/DateField/DateField.types.d.ts +1 -1
  19. package/DatePicker/DatePicker.js +2 -0
  20. package/DatePicker/DatePickerToolbar.js +1 -1
  21. package/DateTimeField/DateTimeField.js +3 -1
  22. package/DateTimeField/DateTimeField.types.d.ts +1 -1
  23. package/DateTimePicker/DateTimePicker.js +2 -0
  24. package/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -1
  25. package/DesktopDatePicker/DesktopDatePicker.js +3 -1
  26. package/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
  27. package/DesktopTimePicker/DesktopTimePicker.js +1 -1
  28. package/DigitalClock/DigitalClock.js +1 -1
  29. package/DigitalClock/DigitalClock.types.d.ts +1 -1
  30. package/MobileDatePicker/MobileDatePicker.js +3 -1
  31. package/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
  32. package/MobileTimePicker/MobileTimePicker.js +1 -1
  33. package/MonthCalendar/MonthCalendar.js +2 -0
  34. package/MonthCalendar/PickersMonth.js +1 -1
  35. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +1 -1
  36. package/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  37. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +1 -1
  38. package/PickersLayout/PickersLayout.js +1 -1
  39. package/PickersLayout/PickersLayout.types.d.ts +1 -1
  40. package/PickersLayout/usePickerLayout.js +2 -2
  41. package/PickersSectionList/PickersSectionList.js +1 -1
  42. package/PickersSectionList/PickersSectionList.types.d.ts +1 -1
  43. package/PickersTextField/PickersInputBase/PickersInputBase.js +1 -1
  44. package/StaticDatePicker/StaticDatePicker.js +2 -0
  45. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  46. package/TimeClock/ClockNumber.js +1 -1
  47. package/TimeClock/ClockPointer.js +1 -1
  48. package/TimeField/TimeField.js +1 -1
  49. package/TimeField/TimeField.types.d.ts +1 -1
  50. package/TimePicker/TimePickerToolbar.js +1 -1
  51. package/YearCalendar/PickersYear.js +1 -1
  52. package/YearCalendar/YearCalendar.js +2 -0
  53. package/hooks/useClearableField.d.ts +1 -1
  54. package/hooks/useClearableField.js +1 -1
  55. package/index.js +1 -1
  56. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +2 -2
  57. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +1 -1
  58. package/internals/components/PickersPopper.d.ts +2 -2
  59. package/internals/components/PickersPopper.js +1 -1
  60. package/internals/components/PickersToolbar.js +1 -1
  61. package/internals/components/PickersToolbarButton.js +1 -1
  62. package/internals/components/PickersToolbarText.js +1 -1
  63. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -1
  64. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +1 -1
  65. package/internals/hooks/useField/useField.js +3 -1
  66. package/internals/hooks/useField/useField.utils.js +1 -1
  67. package/internals/hooks/useField/useFieldV6TextField.js +3 -2
  68. package/internals/hooks/useField/useFieldV7TextField.js +1 -1
  69. package/internals/hooks/useMobilePicker/useMobilePicker.js +1 -1
  70. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +1 -1
  71. package/internals/hooks/usePicker/usePicker.js +2 -3
  72. package/internals/index.d.ts +1 -1
  73. package/internals/index.js +1 -1
  74. package/internals/models/validation.d.ts +2 -0
  75. package/internals/utils/warning.d.ts +2 -4
  76. package/internals/utils/warning.js +17 -24
  77. package/locales/fiFI.js +2 -2
  78. package/locales/index.d.ts +1 -0
  79. package/locales/index.js +1 -0
  80. package/locales/nnNO.d.ts +80 -0
  81. package/locales/nnNO.js +73 -0
  82. package/modern/AdapterDateFns/AdapterDateFns.js +5 -2
  83. package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +5 -9
  84. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +5 -5
  85. package/modern/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js +8 -8
  86. package/modern/AdapterDateFnsV3/AdapterDateFnsV3.js +8 -5
  87. package/modern/AdapterDayjs/AdapterDayjs.js +6 -4
  88. package/modern/AdapterLuxon/AdapterLuxon.js +1 -0
  89. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -0
  90. package/modern/DateCalendar/DateCalendar.js +3 -1
  91. package/modern/DateCalendar/DayCalendar.js +1 -1
  92. package/modern/DateField/DateField.js +3 -1
  93. package/modern/DatePicker/DatePicker.js +2 -0
  94. package/modern/DatePicker/DatePickerToolbar.js +1 -1
  95. package/modern/DateTimeField/DateTimeField.js +3 -1
  96. package/modern/DateTimePicker/DateTimePicker.js +2 -0
  97. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -1
  98. package/modern/DesktopDatePicker/DesktopDatePicker.js +3 -1
  99. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
  100. package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -1
  101. package/modern/DigitalClock/DigitalClock.js +1 -1
  102. package/modern/MobileDatePicker/MobileDatePicker.js +3 -1
  103. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
  104. package/modern/MobileTimePicker/MobileTimePicker.js +1 -1
  105. package/modern/MonthCalendar/MonthCalendar.js +2 -0
  106. package/modern/MonthCalendar/PickersMonth.js +1 -1
  107. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  108. package/modern/PickersLayout/PickersLayout.js +1 -1
  109. package/modern/PickersLayout/usePickerLayout.js +2 -2
  110. package/modern/PickersSectionList/PickersSectionList.js +1 -1
  111. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +1 -1
  112. package/modern/StaticDatePicker/StaticDatePicker.js +2 -0
  113. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  114. package/modern/TimeClock/ClockNumber.js +1 -1
  115. package/modern/TimeClock/ClockPointer.js +1 -1
  116. package/modern/TimeField/TimeField.js +1 -1
  117. package/modern/TimePicker/TimePickerToolbar.js +1 -1
  118. package/modern/YearCalendar/PickersYear.js +1 -1
  119. package/modern/YearCalendar/YearCalendar.js +2 -0
  120. package/modern/hooks/useClearableField.js +1 -1
  121. package/modern/index.js +1 -1
  122. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +2 -2
  123. package/modern/internals/components/PickersPopper.js +1 -1
  124. package/modern/internals/components/PickersToolbar.js +1 -1
  125. package/modern/internals/components/PickersToolbarButton.js +1 -1
  126. package/modern/internals/components/PickersToolbarText.js +1 -1
  127. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -1
  128. package/modern/internals/hooks/useField/useField.js +3 -1
  129. package/modern/internals/hooks/useField/useField.utils.js +1 -1
  130. package/modern/internals/hooks/useField/useFieldV6TextField.js +3 -2
  131. package/modern/internals/hooks/useField/useFieldV7TextField.js +1 -1
  132. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +1 -1
  133. package/modern/internals/hooks/usePicker/usePicker.js +2 -3
  134. package/modern/internals/index.js +1 -1
  135. package/modern/internals/utils/warning.js +17 -24
  136. package/modern/locales/fiFI.js +2 -2
  137. package/modern/locales/index.js +1 -0
  138. package/modern/locales/nnNO.js +73 -0
  139. package/node/AdapterDateFns/AdapterDateFns.js +5 -2
  140. package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +5 -9
  141. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +5 -5
  142. package/node/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js +8 -8
  143. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +8 -5
  144. package/node/AdapterDayjs/AdapterDayjs.js +5 -3
  145. package/node/AdapterLuxon/AdapterLuxon.js +1 -0
  146. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -0
  147. package/node/DateCalendar/DateCalendar.js +10 -8
  148. package/node/DateCalendar/DayCalendar.js +5 -5
  149. package/node/DateField/DateField.js +6 -4
  150. package/node/DatePicker/DatePicker.js +2 -0
  151. package/node/DatePicker/DatePickerToolbar.js +2 -2
  152. package/node/DateTimeField/DateTimeField.js +6 -4
  153. package/node/DateTimePicker/DateTimePicker.js +2 -0
  154. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +2 -2
  155. package/node/DesktopDatePicker/DesktopDatePicker.js +6 -4
  156. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -5
  157. package/node/DesktopTimePicker/DesktopTimePicker.js +4 -4
  158. package/node/DigitalClock/DigitalClock.js +2 -2
  159. package/node/MobileDatePicker/MobileDatePicker.js +6 -4
  160. package/node/MobileDateTimePicker/MobileDateTimePicker.js +6 -4
  161. package/node/MobileTimePicker/MobileTimePicker.js +4 -4
  162. package/node/MonthCalendar/MonthCalendar.js +2 -0
  163. package/node/MonthCalendar/PickersMonth.js +2 -2
  164. package/node/PickersCalendarHeader/PickersCalendarHeader.js +5 -5
  165. package/node/PickersLayout/PickersLayout.js +2 -2
  166. package/node/PickersLayout/usePickerLayout.js +6 -6
  167. package/node/PickersSectionList/PickersSectionList.js +6 -6
  168. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +2 -2
  169. package/node/StaticDatePicker/StaticDatePicker.js +2 -0
  170. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  171. package/node/TimeClock/ClockNumber.js +2 -2
  172. package/node/TimeClock/ClockPointer.js +2 -2
  173. package/node/TimeField/TimeField.js +4 -4
  174. package/node/TimePicker/TimePickerToolbar.js +6 -6
  175. package/node/YearCalendar/PickersYear.js +2 -2
  176. package/node/YearCalendar/YearCalendar.js +2 -0
  177. package/node/hooks/useClearableField.js +3 -3
  178. package/node/index.js +1 -1
  179. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +7 -7
  180. package/node/internals/components/PickersPopper.js +13 -13
  181. package/node/internals/components/PickersToolbar.js +2 -2
  182. package/node/internals/components/PickersToolbarButton.js +2 -2
  183. package/node/internals/components/PickersToolbarText.js +2 -2
  184. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +4 -4
  185. package/node/internals/hooks/useField/useField.js +3 -1
  186. package/node/internals/hooks/useField/useField.utils.js +1 -1
  187. package/node/internals/hooks/useField/useFieldV6TextField.js +3 -2
  188. package/node/internals/hooks/useField/useFieldV7TextField.js +1 -1
  189. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +4 -4
  190. package/node/internals/hooks/usePicker/usePicker.js +1 -2
  191. package/node/internals/index.js +6 -12
  192. package/node/internals/utils/warning.js +19 -27
  193. package/node/locales/fiFI.js +2 -2
  194. package/node/locales/index.js +11 -0
  195. package/node/locales/nnNO.js +79 -0
  196. package/package.json +4 -5
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { resolveComponentProps } from '@mui/base/utils';
4
+ import resolveComponentProps from '@mui/utils/resolveComponentProps';
5
5
  import { refType } from '@mui/utils';
6
6
  import { singleItemValueManager } from '../internals/utils/valueManagers';
7
7
  import { DateTimeField } from '../DateTimeField';
@@ -187,6 +187,7 @@ MobileDateTimePicker.propTypes = {
187
187
  localeText: PropTypes.object,
188
188
  /**
189
189
  * Maximal selectable date.
190
+ * @default 2099-12-31
190
191
  */
191
192
  maxDate: PropTypes.object,
192
193
  /**
@@ -200,6 +201,7 @@ MobileDateTimePicker.propTypes = {
200
201
  maxTime: PropTypes.object,
201
202
  /**
202
203
  * Minimal selectable date.
204
+ * @default 1900-01-01
203
205
  */
204
206
  minDate: PropTypes.object,
205
207
  /**
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { resolveComponentProps } from '@mui/base/utils';
4
+ import resolveComponentProps from '@mui/utils/resolveComponentProps';
5
5
  import { refType } from '@mui/utils';
6
6
  import { singleItemValueManager } from '../internals/utils/valueManagers';
7
7
  import { TimeField } from '../TimeField';
@@ -272,10 +272,12 @@ process.env.NODE_ENV !== "production" ? MonthCalendar.propTypes = {
272
272
  hasFocus: PropTypes.bool,
273
273
  /**
274
274
  * Maximal selectable date.
275
+ * @default 2099-12-31
275
276
  */
276
277
  maxDate: PropTypes.object,
277
278
  /**
278
279
  * Minimal selectable date.
280
+ * @default 1900-01-01
279
281
  */
280
282
  minDate: PropTypes.object,
281
283
  /**
@@ -4,7 +4,7 @@ const _excluded = ["autoFocus", "className", "children", "disabled", "selected",
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled, alpha, useThemeProps } from '@mui/material/styles';
7
- import { useSlotProps } from '@mui/base/utils';
7
+ import useSlotProps from '@mui/utils/useSlotProps';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
9
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
10
10
  import { getPickersMonthUtilityClass, pickersMonthClasses } from './pickersMonthClasses';
@@ -7,8 +7,8 @@ import PropTypes from 'prop-types';
7
7
  import clsx from 'clsx';
8
8
  import Fade from '@mui/material/Fade';
9
9
  import { styled, useThemeProps } from '@mui/material/styles';
10
- import { useSlotProps } from '@mui/base/utils';
11
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
10
+ import useSlotProps from '@mui/utils/useSlotProps';
11
+ import composeClasses from '@mui/utils/composeClasses';
12
12
  import IconButton from '@mui/material/IconButton';
13
13
  import { usePickersTranslations } from '../hooks/usePickersTranslations';
14
14
  import { useUtils } from '../internals/hooks/useUtils';
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import clsx from 'clsx';
4
4
  import { styled, useThemeProps } from '@mui/material/styles';
5
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
5
+ import composeClasses from '@mui/utils/composeClasses';
6
6
  import { pickersLayoutClasses, getPickersLayoutUtilityClass } from './pickersLayoutClasses';
7
7
  import usePickerLayout from './usePickerLayout';
8
8
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
- import { useSlotProps } from '@mui/base/utils';
4
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
3
+ import useSlotProps from '@mui/utils/useSlotProps';
4
+ import composeClasses from '@mui/utils/composeClasses';
5
5
  import { PickersActionBar } from '../PickersActionBar';
6
6
  import { getPickersLayoutUtilityClass } from './pickersLayoutClasses';
7
7
  import { PickersShortcuts } from '../PickersShortcuts';
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  const _excluded = ["slots", "slotProps", "elements", "sectionListRef"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import { useSlotProps } from '@mui/base/utils';
6
+ import useSlotProps from '@mui/utils/useSlotProps';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
8
  import useForkRef from '@mui/utils/useForkRef';
9
9
  import { styled, useThemeProps } from '@mui/material/styles';
@@ -9,7 +9,7 @@ import useForkRef from '@mui/utils/useForkRef';
9
9
  import { refType } from '@mui/utils';
10
10
  import composeClasses from '@mui/utils/composeClasses';
11
11
  import capitalize from '@mui/utils/capitalize';
12
- import { useSlotProps } from '@mui/base/utils';
12
+ import useSlotProps from '@mui/utils/useSlotProps';
13
13
  import visuallyHidden from '@mui/utils/visuallyHidden';
14
14
  import { useRtl } from '@mui/system/RtlProvider';
15
15
  import { pickersInputBaseClasses, getPickersInputBaseUtilityClass } from './pickersInputBaseClasses';
@@ -119,10 +119,12 @@ StaticDatePicker.propTypes = {
119
119
  localeText: PropTypes.object,
120
120
  /**
121
121
  * Maximal selectable date.
122
+ * @default 2099-12-31
122
123
  */
123
124
  maxDate: PropTypes.object,
124
125
  /**
125
126
  * Minimal selectable date.
127
+ * @default 1900-01-01
126
128
  */
127
129
  minDate: PropTypes.object,
128
130
  /**
@@ -144,6 +144,7 @@ StaticDateTimePicker.propTypes = {
144
144
  localeText: PropTypes.object,
145
145
  /**
146
146
  * Maximal selectable date.
147
+ * @default 2099-12-31
147
148
  */
148
149
  maxDate: PropTypes.object,
149
150
  /**
@@ -157,6 +158,7 @@ StaticDateTimePicker.propTypes = {
157
158
  maxTime: PropTypes.object,
158
159
  /**
159
160
  * Minimal selectable date.
161
+ * @default 1900-01-01
160
162
  */
161
163
  minDate: PropTypes.object,
162
164
  /**
@@ -4,7 +4,7 @@ const _excluded = ["className", "disabled", "index", "inner", "label", "selected
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
7
+ import composeClasses from '@mui/utils/composeClasses';
8
8
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
9
9
  import { getClockNumberUtilityClass, clockNumberClasses } from './clockNumberClasses';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -4,7 +4,7 @@ const _excluded = ["className", "hasSelected", "isInner", "type", "viewValue"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
7
+ import composeClasses from '@mui/utils/composeClasses';
8
8
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
9
9
  import { getClockPointerUtilityClass } from './clockPointerClasses';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import MuiTextField from '@mui/material/TextField';
7
7
  import { useThemeProps } from '@mui/material/styles';
8
- import { useSlotProps } from '@mui/base/utils';
8
+ import useSlotProps from '@mui/utils/useSlotProps';
9
9
  import { refType } from '@mui/utils';
10
10
  import { useTimeField } from './useTimeField';
11
11
  import { useClearableField } from '../hooks';
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  import PropTypes from 'prop-types';
7
7
  import { useRtl } from '@mui/system/RtlProvider';
8
8
  import { styled, useThemeProps } from '@mui/material/styles';
9
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
9
+ import composeClasses from '@mui/utils/composeClasses';
10
10
  import { PickersToolbarText } from '../internals/components/PickersToolbarText';
11
11
  import { PickersToolbarButton } from '../internals/components/PickersToolbarButton';
12
12
  import { PickersToolbar } from '../internals/components/PickersToolbar';
@@ -4,7 +4,7 @@ const _excluded = ["autoFocus", "className", "children", "disabled", "selected",
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled, alpha, useThemeProps } from '@mui/material/styles';
7
- import { useSlotProps } from '@mui/base/utils';
7
+ import useSlotProps from '@mui/utils/useSlotProps';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
9
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
10
10
  import { getPickersYearUtilityClass, pickersYearClasses } from './pickersYearClasses';
@@ -297,10 +297,12 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
297
297
  hasFocus: PropTypes.bool,
298
298
  /**
299
299
  * Maximal selectable date.
300
+ * @default 2099-12-31
300
301
  */
301
302
  maxDate: PropTypes.object,
302
303
  /**
303
304
  * Minimal selectable date.
305
+ * @default 1900-01-01
304
306
  */
305
307
  minDate: PropTypes.object,
306
308
  /**
@@ -3,7 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  const _excluded = ["clearable", "onClear", "InputProps", "sx", "slots", "slotProps"],
4
4
  _excluded2 = ["ownerState"];
5
5
  import * as React from 'react';
6
- import { useSlotProps } from '@mui/base/utils';
6
+ import useSlotProps from '@mui/utils/useSlotProps';
7
7
  import MuiIconButton from '@mui/material/IconButton';
8
8
  import InputAdornment from '@mui/material/InputAdornment';
9
9
  import { ClearIcon } from '../icons';
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.11.0
2
+ * @mui/x-date-pickers v7.12.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -8,8 +8,8 @@ import clsx from 'clsx';
8
8
  import Typography from '@mui/material/Typography';
9
9
  import { useRtl } from '@mui/system/RtlProvider';
10
10
  import { styled, useThemeProps } from '@mui/material/styles';
11
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
12
- import { useSlotProps } from '@mui/base/utils';
11
+ import composeClasses from '@mui/utils/composeClasses';
12
+ import useSlotProps from '@mui/utils/useSlotProps';
13
13
  import IconButton from '@mui/material/IconButton';
14
14
  import { ArrowLeftIcon, ArrowRightIcon } from '../../../icons';
15
15
  import { getPickersArrowSwitcherUtilityClass } from './pickersArrowSwitcherClasses';
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
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
- import { useSlotProps } from '@mui/base/utils';
5
+ import useSlotProps from '@mui/utils/useSlotProps';
6
6
  import Grow from '@mui/material/Grow';
7
7
  import Fade from '@mui/material/Fade';
8
8
  import MuiPaper from '@mui/material/Paper';
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import Typography from '@mui/material/Typography';
7
7
  import { styled, useThemeProps } from '@mui/material/styles';
8
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
8
+ import composeClasses from '@mui/utils/composeClasses';
9
9
  import { getPickersToolbarUtilityClass } from './pickersToolbarClasses';
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  const useUtilityClasses = ownerState => {
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import Button from '@mui/material/Button';
7
7
  import { styled, useThemeProps } from '@mui/material/styles';
8
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
8
+ import composeClasses from '@mui/utils/composeClasses';
9
9
  import { PickersToolbarText } from './PickersToolbarText';
10
10
  import { getPickersToolbarUtilityClass } from './pickersToolbarClasses';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import Typography from '@mui/material/Typography';
7
7
  import { styled, useThemeProps } from '@mui/material/styles';
8
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
8
+ import composeClasses from '@mui/utils/composeClasses';
9
9
  import { getPickersToolbarTextUtilityClass, pickersToolbarTextClasses } from './pickersToolbarTextClasses';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  const useUtilityClasses = ownerState => {
@@ -4,7 +4,7 @@ const _excluded = ["props", "getOpenDialogAriaText"],
4
4
  _excluded2 = ["ownerState"],
5
5
  _excluded3 = ["ownerState"];
6
6
  import * as React from 'react';
7
- import { useSlotProps } from '@mui/base/utils';
7
+ import useSlotProps from '@mui/utils/useSlotProps';
8
8
  import MuiInputAdornment from '@mui/material/InputAdornment';
9
9
  import IconButton from '@mui/material/IconButton';
10
10
  import useForkRef from '@mui/utils/useForkRef';
@@ -69,7 +69,9 @@ export const useField = params => {
69
69
  }));
70
70
  const handleContainerKeyDown = useEventCallback(event => {
71
71
  onKeyDown?.(event);
72
-
72
+ if (disabled) {
73
+ return;
74
+ }
73
75
  // eslint-disable-next-line default-case
74
76
  switch (true) {
75
77
  // Select all
@@ -507,7 +507,7 @@ export const mergeDateIntoReferenceDate = (utils, timezone, dateToTransferFrom,
507
507
  }
508
508
  return mergedDate;
509
509
  }, referenceDate);
510
- export const isAndroid = () => navigator.userAgent.toLowerCase().indexOf('android') > -1;
510
+ export const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');
511
511
 
512
512
  // TODO v8: Remove if we drop the v6 TextField approach.
513
513
  export const getSectionOrder = (sections, shouldApplyRTL) => {
@@ -47,7 +47,8 @@ export const useFieldV6TextField = params => {
47
47
  placeholder: inPlaceholder
48
48
  },
49
49
  internalProps: {
50
- readOnly = false
50
+ readOnly = false,
51
+ disabled = false
51
52
  },
52
53
  parsedSelectedSections,
53
54
  activeSectionIndex,
@@ -188,7 +189,7 @@ export const useFieldV6TextField = params => {
188
189
 
189
190
  // prevent default to avoid the input `onChange` handler being called
190
191
  event.preventDefault();
191
- if (readOnly) {
192
+ if (readOnly || disabled) {
192
193
  return;
193
194
  }
194
195
  const pastedValue = event.clipboardData.getData('text');
@@ -236,7 +236,7 @@ export const useFieldV7TextField = params => {
236
236
  const handleInputContentPaste = useEventCallback(event => {
237
237
  // prevent default to avoid the input `onInput` handler being called
238
238
  event.preventDefault();
239
- if (readOnly || typeof parsedSelectedSections !== 'number') {
239
+ if (readOnly || disabled || typeof parsedSelectedSections !== 'number') {
240
240
  return;
241
241
  }
242
242
  const activeSection = state.sections[parsedSelectedSections];
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["props", "getOpenDialogAriaText"];
4
4
  import * as React from 'react';
5
- import { useSlotProps } from '@mui/base/utils';
5
+ import useSlotProps from '@mui/utils/useSlotProps';
6
6
  import useForkRef from '@mui/utils/useForkRef';
7
7
  import useId from '@mui/utils/useId';
8
8
  import { PickersModalDialog } from '../../components/PickersModalDialog';
@@ -1,8 +1,7 @@
1
1
  import { usePickerValue } from './usePickerValue';
2
2
  import { usePickerViews } from './usePickerViews';
3
3
  import { usePickerLayoutProps } from './usePickerLayoutProps';
4
- import { buildWarning } from '../../utils/warning';
5
- const warnRenderInputIsDefined = buildWarning(['The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.', 'You can replace it with the `textField` component slot in most cases.', 'For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5).']);
4
+ import { warnOnce } from '../../utils/warning';
6
5
  export const usePicker = ({
7
6
  props,
8
7
  valueManager,
@@ -16,7 +15,7 @@ export const usePicker = ({
16
15
  }) => {
17
16
  if (process.env.NODE_ENV !== 'production') {
18
17
  if (props.renderInput != null) {
19
- warnRenderInputIsDefined();
18
+ warnOnce(['MUI X: The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.', 'You can replace it with the `textField` component slot in most cases.', 'For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5).']);
20
19
  }
21
20
  }
22
21
  const pickerValueResponse = usePickerValue({
@@ -30,7 +30,7 @@ export { validateDate } from './utils/validation/validateDate';
30
30
  export { validateDateTime } from './utils/validation/validateDateTime';
31
31
  export { validateTime } from './utils/validation/validateTime';
32
32
  export { applyDefaultViewProps } from './utils/views';
33
- export { buildDeprecatedPropsWarning, buildWarning } from './utils/warning';
33
+ export { warnOnce } from './utils/warning';
34
34
  export { DayCalendar } from '../DateCalendar/DayCalendar';
35
35
  export { useCalendarState } from '../DateCalendar/useCalendarState';
36
36
  export { isInternalTimeView, isTimeView } from './utils/time-utils';
@@ -1,28 +1,21 @@
1
- export const buildDeprecatedPropsWarning = message => {
2
- let alreadyWarned = false;
1
+ const warnedOnceCache = new Set();
2
+
3
+ // TODO move to @mui/x-internals
4
+ // TODO eventually move to @base_ui/internals. Base UI, etc. too need this helper.
5
+ export function warnOnce(message, gravity = 'warning') {
3
6
  if (process.env.NODE_ENV === 'production') {
4
- return () => {};
7
+ return;
5
8
  }
6
9
  const cleanMessage = Array.isArray(message) ? message.join('\n') : message;
7
- return deprecatedProps => {
8
- const deprecatedKeys = Object.entries(deprecatedProps).filter(([, value]) => value !== undefined).map(([key]) => `- ${key}`);
9
- if (!alreadyWarned && deprecatedKeys.length > 0) {
10
- alreadyWarned = true;
11
- console.warn([cleanMessage, 'deprecated props observed:', ...deprecatedKeys].join('\n'));
10
+ if (!warnedOnceCache.has(cleanMessage)) {
11
+ warnedOnceCache.add(cleanMessage);
12
+ if (gravity === 'error') {
13
+ console.error(cleanMessage);
14
+ } else {
15
+ console.warn(cleanMessage);
12
16
  }
13
- };
14
- };
15
- export const buildWarning = (message, gravity = 'warning') => {
16
- let alreadyWarned = false;
17
- const cleanMessage = Array.isArray(message) ? message.join('\n') : message;
18
- return () => {
19
- if (!alreadyWarned) {
20
- alreadyWarned = true;
21
- if (gravity === 'error') {
22
- console.error(cleanMessage);
23
- } else {
24
- console.warn(cleanMessage);
25
- }
26
- }
27
- };
28
- };
17
+ }
18
+ }
19
+ export function clearWarningsCache() {
20
+ warnedOnceCache.clear();
21
+ }
@@ -10,8 +10,8 @@ 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 näkymä',
14
+ openNextView: 'Avaa seuraava näkymä',
15
15
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'vuosinäkymä on auki, vaihda kalenterinäkymään' : 'kalenterinäkymä on auki, vaihda vuosinäkymään',
16
16
  // DateRange labels
17
17
  start: 'Alku',
@@ -20,6 +20,7 @@ export * from './kzKZ';
20
20
  export * from './mk';
21
21
  export * from './nbNO';
22
22
  export * from './nlNL';
23
+ export * from './nnNO';
23
24
  export * from './plPL';
24
25
  export * from './ptBR';
25
26
  export * from './roRO';
@@ -0,0 +1,73 @@
1
+ import { getPickersLocalization } from './utils/getPickersLocalization';
2
+ const timeViews = {
3
+ hours: 'timar',
4
+ minutes: 'minuttar',
5
+ seconds: 'sekundar',
6
+ meridiem: 'meridiem'
7
+ };
8
+ const nnNOPickers = {
9
+ // Calendar navigation
10
+ previousMonth: 'Forrige månad',
11
+ nextMonth: 'Neste månad',
12
+ // View navigation
13
+ openPreviousView: 'Opne forrige visning',
14
+ openNextView: 'Opne neste visning',
15
+ calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'årsvisning er open, byt til kalendervisning' : 'kalendervisning er open, byt til årsvisning',
16
+ // DateRange labels
17
+ start: 'Start',
18
+ end: 'Slutt',
19
+ startDate: 'Startdato',
20
+ startTime: 'Starttid',
21
+ endDate: 'Sluttdato',
22
+ endTime: 'Slutttid',
23
+ // Action bar
24
+ cancelButtonLabel: 'Avbryt',
25
+ clearButtonLabel: 'Fjern',
26
+ okButtonLabel: 'OK',
27
+ todayButtonLabel: 'I dag',
28
+ // Toolbar titles
29
+ datePickerToolbarTitle: 'Vel dato',
30
+ dateTimePickerToolbarTitle: 'Vel dato & klokkeslett',
31
+ timePickerToolbarTitle: 'Vel klokkeslett',
32
+ dateRangePickerToolbarTitle: 'Vel datoperiode',
33
+ // Clock labels
34
+ clockLabelText: (view, time, adapter) => `Vel ${timeViews[view]}. ${time === null ? 'Ingen tid vald' : `Vald tid er ${adapter.format(time, 'fullTime')}`}`,
35
+ hoursClockNumberText: hours => `${hours} timar`,
36
+ minutesClockNumberText: minutes => `${minutes} minuttar`,
37
+ secondsClockNumberText: seconds => `${seconds} sekundar`,
38
+ // Digital clock labels
39
+ selectViewText: view => `Vel ${timeViews[view]}`,
40
+ // Calendar labels
41
+ calendarWeekNumberHeaderLabel: 'Vekenummer',
42
+ calendarWeekNumberHeaderText: '#',
43
+ calendarWeekNumberAriaLabelText: weekNumber => `Veke ${weekNumber}`,
44
+ calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
+ // Open picker labels
46
+ openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Vel dato, vald dato er ${utils.format(value, 'fullDate')}` : 'Vel dato',
47
+ openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Vel tid, vald tid er ${utils.format(value, 'fullTime')}` : 'Vel tid',
48
+ fieldClearLabel: 'Fjern verdi',
49
+ // Table labels
50
+ timeTableLabel: 'vel tid',
51
+ dateTableLabel: 'vel dato',
52
+ // Field section placeholders
53
+ fieldYearPlaceholder: params => 'Å'.repeat(params.digitAmount),
54
+ fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
55
+ fieldDayPlaceholder: () => 'DD',
56
+ fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
57
+ fieldHoursPlaceholder: () => 'tt',
58
+ fieldMinutesPlaceholder: () => 'mm',
59
+ fieldSecondsPlaceholder: () => 'ss',
60
+ fieldMeridiemPlaceholder: () => 'aa',
61
+ // View names
62
+ year: 'År',
63
+ month: 'Månad',
64
+ day: 'Dag',
65
+ weekDay: 'Vekedag',
66
+ hours: 'Timar',
67
+ minutes: 'Minuttar',
68
+ seconds: 'Sekundar',
69
+ meridiem: 'Meridiem',
70
+ // Common
71
+ empty: 'Tom'
72
+ };
73
+ export const nnNO = getPickersLocalization(nnNOPickers);
@@ -84,8 +84,11 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
84
84
  locale,
85
85
  formats
86
86
  } = {}) {
87
- if (typeof _addDays.default !== 'function') {
88
- throw new Error(['MUI: The `date-fns` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
87
+ /* istanbul ignore next */
88
+ if (process.env.NODE_ENV !== 'production') {
89
+ if (typeof _addDays.default !== 'function') {
90
+ throw new Error(['MUI: The `date-fns` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
91
+ }
89
92
  }
90
93
  super({
91
94
  locale: locale ?? _enUS.default,
@@ -256,19 +256,15 @@ class AdapterDateFnsBase {
256
256
  return value;
257
257
  };
258
258
  this.getCurrentLocaleCode = () => {
259
- return this.locale?.code || 'en-US';
259
+ // `code` is undefined only in `date-fns` types, but all locales have it
260
+ return this.locale.code;
260
261
  };
261
262
  // Note: date-fns input types are more lenient than this adapter, so we need to expose our more
262
263
  // strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.
263
264
  this.is12HourCycleInCurrentLocale = () => {
264
- if (this.locale) {
265
- return /a/.test(this.locale.formatLong.time({
266
- width: 'short'
267
- }));
268
- }
269
-
270
- // By default, date-fns is using en-US locale with am/pm enabled
271
- return true;
265
+ return /a/.test(this.locale.formatLong.time({
266
+ width: 'short'
267
+ }));
272
268
  };
273
269
  this.expandFormat = format => {
274
270
  const longFormatRegexp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
@@ -122,8 +122,11 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
122
122
  locale,
123
123
  formats
124
124
  } = {}) {
125
- if (typeof _addDays.default !== 'function') {
126
- throw new Error(['MUI: The `date-fns-jalali` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalaliV3` instead.'].join('\n'));
125
+ /* istanbul ignore next */
126
+ if (process.env.NODE_ENV !== 'production') {
127
+ if (typeof _addDays.default !== 'function') {
128
+ throw new Error(['MUI: The `date-fns-jalali` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalaliV3` instead.'].join('\n'));
129
+ }
127
130
  }
128
131
  super({
129
132
  locale: locale ?? _faIR.default,
@@ -141,9 +144,6 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
141
144
  locale: this.locale
142
145
  });
143
146
  };
144
- this.getCurrentLocaleCode = () => {
145
- return this.locale?.code || 'fa-IR';
146
- };
147
147
  this.isValid = value => {
148
148
  if (value == null) {
149
149
  return false;
@@ -124,11 +124,14 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
124
124
  locale,
125
125
  formats
126
126
  } = {}) {
127
- if (typeof _addDays.addDays !== 'function') {
128
- throw new Error([`MUI: The \`date-fns-jalali\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
129
- }
130
- if (!_format.longFormatters) {
131
- throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
127
+ /* istanbul ignore next */
128
+ if (process.env.NODE_ENV !== 'production') {
129
+ if (typeof _addDays.addDays !== 'function') {
130
+ throw new Error([`MUI: The \`date-fns-jalali\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
131
+ }
132
+ if (!_format.longFormatters) {
133
+ throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
134
+ }
132
135
  }
133
136
  super({
134
137
  locale: locale ?? _faIR.faIR,
@@ -147,9 +150,6 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
147
150
  locale: this.locale
148
151
  });
149
152
  };
150
- this.getCurrentLocaleCode = () => {
151
- return this.locale?.code || 'fa-IR';
152
- };
153
153
  this.isValid = value => {
154
154
  if (value == null) {
155
155
  return false;