@mui/x-date-pickers 6.8.0 → 6.9.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.
- package/AdapterDayjs/AdapterDayjs.d.ts +5 -1
- package/AdapterDayjs/AdapterDayjs.js +42 -15
- package/AdapterLuxon/AdapterLuxon.d.ts +1 -0
- package/AdapterLuxon/AdapterLuxon.js +12 -5
- package/AdapterMoment/AdapterMoment.js +18 -9
- package/CHANGELOG.md +76 -5534
- package/DateCalendar/DateCalendar.js +34 -16
- package/DateCalendar/DateCalendar.types.d.ts +2 -2
- package/DateCalendar/DayCalendar.d.ts +3 -1
- package/DateCalendar/DayCalendar.js +24 -17
- package/DateCalendar/PickersCalendarHeader.js +6 -3
- package/DateCalendar/useCalendarState.d.ts +2 -1
- package/DateCalendar/useCalendarState.js +6 -3
- package/DateCalendar/useIsDateDisabled.d.ts +1 -1
- package/DateCalendar/useIsDateDisabled.js +5 -3
- package/DateField/DateField.js +8 -0
- package/DatePicker/DatePicker.js +8 -0
- package/DateTimeField/DateTimeField.js +8 -0
- package/DateTimePicker/DateTimePicker.js +8 -0
- package/DesktopDatePicker/DesktopDatePicker.js +8 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +8 -0
- package/DesktopTimePicker/DesktopTimePicker.js +8 -0
- package/DigitalClock/DigitalClock.js +28 -15
- package/MobileDatePicker/MobileDatePicker.js +8 -0
- package/MobileDateTimePicker/MobileDateTimePicker.js +8 -0
- package/MobileTimePicker/MobileTimePicker.js +8 -0
- package/MonthCalendar/MonthCalendar.js +30 -14
- package/MonthCalendar/MonthCalendar.types.d.ts +3 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +28 -15
- package/StaticDatePicker/StaticDatePicker.js +8 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +8 -0
- package/StaticTimePicker/StaticTimePicker.js +8 -0
- package/TimeClock/TimeClock.js +27 -15
- package/TimeField/TimeField.js +8 -0
- package/TimePicker/TimePicker.js +8 -0
- package/YearCalendar/YearCalendar.js +30 -14
- package/YearCalendar/YearCalendar.types.d.ts +3 -2
- package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +1 -1
- package/dateTimeViewRenderers/dateTimeViewRenderers.js +5 -2
- package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
- package/dateViewRenderers/dateViewRenderers.js +4 -2
- package/index.js +1 -1
- package/internals/hooks/date-helpers-hooks.d.ts +4 -2
- package/internals/hooks/date-helpers-hooks.js +8 -6
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/internals/hooks/useField/useField.d.ts +3 -1
- package/internals/hooks/useField/useField.js +23 -7
- package/internals/hooks/useField/useField.types.d.ts +5 -3
- package/internals/hooks/useField/useField.utils.d.ts +13 -11
- package/internals/hooks/useField/useField.utils.js +55 -43
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +3 -2
- package/internals/hooks/useField/useFieldCharacterEditing.js +6 -5
- package/internals/hooks/useField/useFieldState.d.ts +1 -0
- package/internals/hooks/useField/useFieldState.js +33 -22
- package/internals/hooks/useMobilePicker/useMobilePicker.js +2 -0
- package/internals/hooks/usePicker/usePickerValue.js +23 -7
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +16 -4
- package/internals/hooks/usePicker/usePickerViews.d.ts +2 -1
- package/internals/hooks/usePicker/usePickerViews.js +7 -2
- package/internals/hooks/useUtils.d.ts +3 -2
- package/internals/hooks/useUtils.js +5 -2
- package/internals/hooks/useValueWithTimezone.d.ts +33 -0
- package/internals/hooks/useValueWithTimezone.js +69 -0
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/internals/models/props/clock.d.ts +2 -2
- package/internals/utils/date-utils.d.ts +4 -3
- package/internals/utils/date-utils.js +4 -3
- package/internals/utils/fields.js +1 -1
- package/internals/utils/getDefaultReferenceDate.d.ts +3 -2
- package/internals/utils/getDefaultReferenceDate.js +3 -2
- package/internals/utils/validation/extractValidationProps.d.ts +1 -1
- package/internals/utils/validation/validateDate.d.ts +3 -2
- package/internals/utils/validation/validateDate.js +14 -6
- package/internals/utils/validation/validateTime.d.ts +3 -2
- package/internals/utils/validation/validateTime.js +8 -8
- package/internals/utils/valueManagers.js +2 -1
- package/legacy/AdapterDayjs/AdapterDayjs.js +45 -16
- package/legacy/AdapterLuxon/AdapterLuxon.js +13 -6
- package/legacy/AdapterMoment/AdapterMoment.js +18 -9
- package/legacy/DateCalendar/DateCalendar.js +32 -19
- package/legacy/DateCalendar/DayCalendar.js +24 -17
- package/legacy/DateCalendar/PickersCalendarHeader.js +6 -3
- package/legacy/DateCalendar/useCalendarState.js +6 -3
- package/legacy/DateCalendar/useIsDateDisabled.js +5 -3
- package/legacy/DateField/DateField.js +8 -0
- package/legacy/DatePicker/DatePicker.js +8 -0
- package/legacy/DateTimeField/DateTimeField.js +8 -0
- package/legacy/DateTimePicker/DateTimePicker.js +8 -0
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +8 -0
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +8 -0
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +8 -0
- package/legacy/DigitalClock/DigitalClock.js +26 -16
- package/legacy/MobileDatePicker/MobileDatePicker.js +8 -0
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +8 -0
- package/legacy/MobileTimePicker/MobileTimePicker.js +8 -0
- package/legacy/MonthCalendar/MonthCalendar.js +32 -20
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +27 -16
- package/legacy/StaticDatePicker/StaticDatePicker.js +8 -0
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +8 -0
- package/legacy/StaticTimePicker/StaticTimePicker.js +8 -0
- package/legacy/TimeClock/TimeClock.js +25 -18
- package/legacy/TimeField/TimeField.js +8 -0
- package/legacy/TimePicker/TimePicker.js +8 -0
- package/legacy/YearCalendar/YearCalendar.js +32 -20
- package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +5 -2
- package/legacy/dateViewRenderers/dateViewRenderers.js +4 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/hooks/date-helpers-hooks.js +8 -6
- package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/legacy/internals/hooks/useField/useField.js +22 -6
- package/legacy/internals/hooks/useField/useField.utils.js +56 -44
- package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +6 -5
- package/legacy/internals/hooks/useField/useFieldState.js +42 -32
- package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +2 -0
- package/legacy/internals/hooks/usePicker/usePickerValue.js +22 -7
- package/legacy/internals/hooks/usePicker/usePickerViews.js +7 -2
- package/legacy/internals/hooks/useUtils.js +5 -2
- package/legacy/internals/hooks/useValueWithTimezone.js +81 -0
- package/legacy/internals/index.js +1 -0
- package/legacy/internals/utils/date-utils.js +5 -4
- package/legacy/internals/utils/fields.js +1 -1
- package/legacy/internals/utils/getDefaultReferenceDate.js +3 -2
- package/legacy/internals/utils/validation/validateDate.js +12 -6
- package/legacy/internals/utils/validation/validateTime.js +8 -8
- package/legacy/internals/utils/valueManagers.js +3 -0
- package/legacy/locales/csCZ.js +2 -2
- package/legacy/tests/describeAdapters/describeAdapters.js +3 -1
- package/legacy/tests/describeGregorianAdapter/testCalculations.js +69 -27
- package/legacy/tests/describeJalaliAdapter/testCalculations.js +21 -0
- package/legacy/timeViewRenderers/timeViewRenderers.js +12 -6
- package/locales/csCZ.js +2 -2
- package/models/adapters.d.ts +2 -2
- package/models/timezone.d.ts +10 -0
- package/modern/AdapterDayjs/AdapterDayjs.js +41 -15
- package/modern/AdapterLuxon/AdapterLuxon.js +12 -4
- package/modern/AdapterMoment/AdapterMoment.js +18 -9
- package/modern/DateCalendar/DateCalendar.js +34 -16
- package/modern/DateCalendar/DayCalendar.js +24 -17
- package/modern/DateCalendar/PickersCalendarHeader.js +6 -3
- package/modern/DateCalendar/useCalendarState.js +6 -3
- package/modern/DateCalendar/useIsDateDisabled.js +5 -3
- package/modern/DateField/DateField.js +8 -0
- package/modern/DatePicker/DatePicker.js +8 -0
- package/modern/DateTimeField/DateTimeField.js +8 -0
- package/modern/DateTimePicker/DateTimePicker.js +8 -0
- package/modern/DesktopDatePicker/DesktopDatePicker.js +8 -0
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +8 -0
- package/modern/DesktopTimePicker/DesktopTimePicker.js +8 -0
- package/modern/DigitalClock/DigitalClock.js +28 -15
- package/modern/MobileDatePicker/MobileDatePicker.js +8 -0
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +8 -0
- package/modern/MobileTimePicker/MobileTimePicker.js +8 -0
- package/modern/MonthCalendar/MonthCalendar.js +30 -14
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +28 -15
- package/modern/StaticDatePicker/StaticDatePicker.js +8 -0
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +8 -0
- package/modern/StaticTimePicker/StaticTimePicker.js +8 -0
- package/modern/TimeClock/TimeClock.js +27 -15
- package/modern/TimeField/TimeField.js +8 -0
- package/modern/TimePicker/TimePicker.js +8 -0
- package/modern/YearCalendar/YearCalendar.js +30 -14
- package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +5 -2
- package/modern/dateViewRenderers/dateViewRenderers.js +4 -2
- package/modern/index.js +1 -1
- package/modern/internals/hooks/date-helpers-hooks.js +8 -6
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/modern/internals/hooks/useField/useField.js +23 -7
- package/modern/internals/hooks/useField/useField.utils.js +55 -43
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +6 -5
- package/modern/internals/hooks/useField/useFieldState.js +33 -21
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +2 -0
- package/modern/internals/hooks/usePicker/usePickerValue.js +23 -7
- package/modern/internals/hooks/usePicker/usePickerViews.js +7 -2
- package/modern/internals/hooks/useUtils.js +5 -2
- package/modern/internals/hooks/useValueWithTimezone.js +68 -0
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/date-utils.js +4 -3
- package/modern/internals/utils/fields.js +1 -1
- package/modern/internals/utils/getDefaultReferenceDate.js +3 -2
- package/modern/internals/utils/validation/validateDate.js +14 -6
- package/modern/internals/utils/validation/validateTime.js +8 -8
- package/modern/internals/utils/valueManagers.js +2 -1
- package/modern/locales/csCZ.js +2 -2
- package/modern/tests/describeAdapters/describeAdapters.js +3 -1
- package/modern/tests/describeGregorianAdapter/testCalculations.js +69 -27
- package/modern/tests/describeJalaliAdapter/testCalculations.js +21 -0
- package/modern/timeViewRenderers/timeViewRenderers.js +12 -6
- package/node/AdapterDayjs/AdapterDayjs.js +41 -15
- package/node/AdapterLuxon/AdapterLuxon.js +12 -4
- package/node/AdapterMoment/AdapterMoment.js +18 -9
- package/node/DateCalendar/DateCalendar.js +33 -15
- package/node/DateCalendar/DayCalendar.js +24 -17
- package/node/DateCalendar/PickersCalendarHeader.js +6 -3
- package/node/DateCalendar/useCalendarState.js +6 -3
- package/node/DateCalendar/useIsDateDisabled.js +5 -3
- package/node/DateField/DateField.js +8 -0
- package/node/DatePicker/DatePicker.js +8 -0
- package/node/DateTimeField/DateTimeField.js +8 -0
- package/node/DateTimePicker/DateTimePicker.js +8 -0
- package/node/DesktopDatePicker/DesktopDatePicker.js +8 -0
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +8 -0
- package/node/DesktopTimePicker/DesktopTimePicker.js +8 -0
- package/node/DigitalClock/DigitalClock.js +28 -15
- package/node/MobileDatePicker/MobileDatePicker.js +8 -0
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +8 -0
- package/node/MobileTimePicker/MobileTimePicker.js +8 -0
- package/node/MonthCalendar/MonthCalendar.js +30 -14
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +28 -15
- package/node/StaticDatePicker/StaticDatePicker.js +8 -0
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +8 -0
- package/node/StaticTimePicker/StaticTimePicker.js +8 -0
- package/node/TimeClock/TimeClock.js +26 -14
- package/node/TimeField/TimeField.js +8 -0
- package/node/TimePicker/TimePicker.js +8 -0
- package/node/YearCalendar/YearCalendar.js +30 -14
- package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +5 -2
- package/node/dateViewRenderers/dateViewRenderers.js +4 -2
- package/node/index.js +1 -1
- package/node/internals/hooks/date-helpers-hooks.js +8 -6
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/node/internals/hooks/useField/useField.js +23 -7
- package/node/internals/hooks/useField/useField.utils.js +55 -43
- package/node/internals/hooks/useField/useFieldCharacterEditing.js +6 -5
- package/node/internals/hooks/useField/useFieldState.js +33 -21
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +2 -0
- package/node/internals/hooks/usePicker/usePickerValue.js +22 -7
- package/node/internals/hooks/usePicker/usePickerViews.js +7 -2
- package/node/internals/hooks/useUtils.js +5 -2
- package/node/internals/hooks/useValueWithTimezone.js +79 -0
- package/node/internals/index.js +7 -0
- package/node/internals/utils/date-utils.js +4 -3
- package/node/internals/utils/fields.js +1 -1
- package/node/internals/utils/getDefaultReferenceDate.js +3 -2
- package/node/internals/utils/validation/validateDate.js +14 -6
- package/node/internals/utils/validation/validateTime.js +8 -8
- package/node/internals/utils/valueManagers.js +2 -1
- package/node/locales/csCZ.js +2 -2
- package/node/tests/describeAdapters/describeAdapters.js +3 -1
- package/node/tests/describeGregorianAdapter/testCalculations.js +69 -27
- package/node/tests/describeJalaliAdapter/testCalculations.js +21 -0
- package/node/timeViewRenderers/timeViewRenderers.js +12 -6
- package/package.json +2 -2
- package/tests/describeAdapters/describeAdapters.js +3 -1
- package/tests/describeGregorianAdapter/testCalculations.js +69 -27
- package/tests/describeJalaliAdapter/testCalculations.js +21 -0
- package/timeViewRenderers/timeViewRenderers.d.ts +3 -3
- package/timeViewRenderers/timeViewRenderers.js +12 -6
|
@@ -24,8 +24,10 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
24
24
|
var _PickerViewRoot = require("../internals/components/PickerViewRoot");
|
|
25
25
|
var _defaultReduceAnimations = require("../internals/utils/defaultReduceAnimations");
|
|
26
26
|
var _dateCalendarClasses = require("./dateCalendarClasses");
|
|
27
|
+
var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
28
|
+
var _valueManagers = require("../internals/utils/valueManagers");
|
|
27
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
28
|
-
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "defaultCalendarMonth", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "components", "componentsProps", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsPerRow", "monthsPerRow"];
|
|
30
|
+
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "defaultCalendarMonth", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "components", "componentsProps", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
29
31
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
30
32
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
33
|
const useUtilityClasses = ownerState => {
|
|
@@ -125,18 +127,21 @@ const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps
|
|
|
125
127
|
renderLoading,
|
|
126
128
|
displayWeekNumber,
|
|
127
129
|
yearsPerRow,
|
|
128
|
-
monthsPerRow
|
|
130
|
+
monthsPerRow,
|
|
131
|
+
timezone: timezoneProp
|
|
129
132
|
} = props,
|
|
130
133
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
131
|
-
const
|
|
134
|
+
const {
|
|
135
|
+
value,
|
|
136
|
+
handleValueChange,
|
|
137
|
+
timezone
|
|
138
|
+
} = (0, _useValueWithTimezone.useControlledValueWithTimezone)({
|
|
132
139
|
name: 'DateCalendar',
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
setValue(newValue);
|
|
139
|
-
onChange?.(newValue, selectionState);
|
|
140
|
+
timezone: timezoneProp,
|
|
141
|
+
value: valueProp,
|
|
142
|
+
defaultValue,
|
|
143
|
+
onChange,
|
|
144
|
+
valueManager: _valueManagers.singleItemValueManager
|
|
140
145
|
});
|
|
141
146
|
const {
|
|
142
147
|
view,
|
|
@@ -173,7 +178,8 @@ const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps
|
|
|
173
178
|
maxDate,
|
|
174
179
|
shouldDisableDate,
|
|
175
180
|
disablePast,
|
|
176
|
-
disableFuture
|
|
181
|
+
disableFuture,
|
|
182
|
+
timezone
|
|
177
183
|
});
|
|
178
184
|
const handleDateMonthChange = (0, _utils.unstable_useEventCallback)(newDate => {
|
|
179
185
|
const startOfMonth = utils.startOfMonth(newDate);
|
|
@@ -185,7 +191,8 @@ const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps
|
|
|
185
191
|
maxDate: utils.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,
|
|
186
192
|
disablePast,
|
|
187
193
|
disableFuture,
|
|
188
|
-
isDateDisabled
|
|
194
|
+
isDateDisabled,
|
|
195
|
+
timezone
|
|
189
196
|
}) : newDate;
|
|
190
197
|
if (closestEnabledDate) {
|
|
191
198
|
setValueAndGoToNextView(closestEnabledDate, 'finish');
|
|
@@ -206,7 +213,8 @@ const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps
|
|
|
206
213
|
maxDate: utils.isAfter(maxDate, endOfYear) ? endOfYear : maxDate,
|
|
207
214
|
disablePast,
|
|
208
215
|
disableFuture,
|
|
209
|
-
isDateDisabled
|
|
216
|
+
isDateDisabled,
|
|
217
|
+
timezone
|
|
210
218
|
}) : newDate;
|
|
211
219
|
if (closestEnabledDate) {
|
|
212
220
|
setValueAndGoToNextView(closestEnabledDate, 'finish');
|
|
@@ -245,7 +253,8 @@ const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps
|
|
|
245
253
|
const commonViewProps = {
|
|
246
254
|
disableHighlightToday,
|
|
247
255
|
readOnly,
|
|
248
|
-
disabled
|
|
256
|
+
disabled,
|
|
257
|
+
timezone
|
|
249
258
|
};
|
|
250
259
|
const gridLabelId = `${id}-grid-label`;
|
|
251
260
|
const hasFocus = focusedView !== null;
|
|
@@ -284,7 +293,8 @@ const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps
|
|
|
284
293
|
reduceAnimations: reduceAnimations,
|
|
285
294
|
labelId: gridLabelId,
|
|
286
295
|
slots: slots,
|
|
287
|
-
slotProps: slotProps
|
|
296
|
+
slotProps: slotProps,
|
|
297
|
+
timezone: timezone
|
|
288
298
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateCalendarViewTransitionContainer, {
|
|
289
299
|
reduceAnimations: reduceAnimations,
|
|
290
300
|
className: classes.viewTransitionContainer,
|
|
@@ -536,6 +546,14 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
536
546
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
537
547
|
*/
|
|
538
548
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
549
|
+
/**
|
|
550
|
+
* Choose which timezone to use for the value.
|
|
551
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
552
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
553
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
554
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
555
|
+
*/
|
|
556
|
+
timezone: _propTypes.default.string,
|
|
539
557
|
/**
|
|
540
558
|
* The selected value.
|
|
541
559
|
* Used when the component is controlled.
|
|
@@ -146,8 +146,6 @@ function WrappedDay(_ref) {
|
|
|
146
146
|
isViewFocused
|
|
147
147
|
} = _ref,
|
|
148
148
|
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
149
|
-
const utils = (0, _useUtils.useUtils)();
|
|
150
|
-
const now = (0, _useUtils.useNow)();
|
|
151
149
|
const {
|
|
152
150
|
disabled,
|
|
153
151
|
disableHighlightToday,
|
|
@@ -156,8 +154,11 @@ function WrappedDay(_ref) {
|
|
|
156
154
|
components,
|
|
157
155
|
componentsProps,
|
|
158
156
|
slots,
|
|
159
|
-
slotProps
|
|
157
|
+
slotProps,
|
|
158
|
+
timezone
|
|
160
159
|
} = parentProps;
|
|
160
|
+
const utils = (0, _useUtils.useUtils)();
|
|
161
|
+
const now = (0, _useUtils.useNow)(timezone);
|
|
161
162
|
const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);
|
|
162
163
|
const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));
|
|
163
164
|
const isToday = utils.isSameDay(day, now);
|
|
@@ -215,15 +216,10 @@ function WrappedDay(_ref) {
|
|
|
215
216
|
* @ignore - do not document.
|
|
216
217
|
*/
|
|
217
218
|
function DayCalendar(inProps) {
|
|
218
|
-
const now = (0, _useUtils.useNow)();
|
|
219
|
-
const utils = (0, _useUtils.useUtils)();
|
|
220
219
|
const props = (0, _styles.useThemeProps)({
|
|
221
220
|
props: inProps,
|
|
222
221
|
name: 'MuiDayCalendar'
|
|
223
222
|
});
|
|
224
|
-
const classes = useUtilityClasses(props);
|
|
225
|
-
const theme = (0, _styles.useTheme)();
|
|
226
|
-
const isRTL = theme.direction === 'rtl';
|
|
227
223
|
const {
|
|
228
224
|
onFocusedDayChange,
|
|
229
225
|
className,
|
|
@@ -253,8 +249,14 @@ function DayCalendar(inProps) {
|
|
|
253
249
|
gridLabelId,
|
|
254
250
|
displayWeekNumber,
|
|
255
251
|
fixedWeekNumber,
|
|
256
|
-
autoFocus
|
|
252
|
+
autoFocus,
|
|
253
|
+
timezone
|
|
257
254
|
} = props;
|
|
255
|
+
const now = (0, _useUtils.useNow)(timezone);
|
|
256
|
+
const utils = (0, _useUtils.useUtils)();
|
|
257
|
+
const classes = useUtilityClasses(props);
|
|
258
|
+
const theme = (0, _styles.useTheme)();
|
|
259
|
+
const isRTL = theme.direction === 'rtl';
|
|
258
260
|
const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
|
|
259
261
|
shouldDisableDate,
|
|
260
262
|
shouldDisableMonth,
|
|
@@ -262,7 +264,8 @@ function DayCalendar(inProps) {
|
|
|
262
264
|
minDate,
|
|
263
265
|
maxDate,
|
|
264
266
|
disablePast,
|
|
265
|
-
disableFuture
|
|
267
|
+
disableFuture,
|
|
268
|
+
timezone
|
|
266
269
|
});
|
|
267
270
|
const localeText = (0, _useUtils.useLocaleText)();
|
|
268
271
|
const [internalHasFocus, setInternalHasFocus] = (0, _utils2.unstable_useControlled)({
|
|
@@ -305,7 +308,8 @@ function DayCalendar(inProps) {
|
|
|
305
308
|
date: newFocusedDayDefault,
|
|
306
309
|
minDate: isRTL ? newFocusedDayDefault : utils.startOfMonth(nextAvailableMonth),
|
|
307
310
|
maxDate: isRTL ? utils.endOfMonth(nextAvailableMonth) : newFocusedDayDefault,
|
|
308
|
-
isDateDisabled
|
|
311
|
+
isDateDisabled,
|
|
312
|
+
timezone
|
|
309
313
|
});
|
|
310
314
|
focusDay(closestDayToFocus || newFocusedDayDefault);
|
|
311
315
|
event.preventDefault();
|
|
@@ -320,7 +324,8 @@ function DayCalendar(inProps) {
|
|
|
320
324
|
date: newFocusedDayDefault,
|
|
321
325
|
minDate: isRTL ? utils.startOfMonth(nextAvailableMonth) : newFocusedDayDefault,
|
|
322
326
|
maxDate: isRTL ? newFocusedDayDefault : utils.endOfMonth(nextAvailableMonth),
|
|
323
|
-
isDateDisabled
|
|
327
|
+
isDateDisabled,
|
|
328
|
+
timezone
|
|
324
329
|
});
|
|
325
330
|
focusDay(closestDayToFocus || newFocusedDayDefault);
|
|
326
331
|
event.preventDefault();
|
|
@@ -371,14 +376,16 @@ function DayCalendar(inProps) {
|
|
|
371
376
|
maxDate: endOfMonth,
|
|
372
377
|
disablePast,
|
|
373
378
|
disableFuture,
|
|
374
|
-
isDateDisabled
|
|
379
|
+
isDateDisabled,
|
|
380
|
+
timezone
|
|
375
381
|
});
|
|
376
382
|
}
|
|
377
383
|
return internalFocusedDay;
|
|
378
|
-
}, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils]);
|
|
384
|
+
}, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);
|
|
379
385
|
const weeksToDisplay = React.useMemo(() => {
|
|
380
|
-
const
|
|
381
|
-
|
|
386
|
+
const currentMonthWithTimezone = utils.setTimezone(currentMonth, timezone);
|
|
387
|
+
const toDisplay = utils.getWeekArray(currentMonthWithTimezone);
|
|
388
|
+
let nextMonth = utils.addMonths(currentMonthWithTimezone, 1);
|
|
382
389
|
while (fixedWeekNumber && toDisplay.length < fixedWeekNumber) {
|
|
383
390
|
const additionalWeeks = utils.getWeekArray(nextMonth);
|
|
384
391
|
const hasCommonWeek = utils.isSameDay(toDisplay[toDisplay.length - 1][0], additionalWeeks[0][0]);
|
|
@@ -390,7 +397,7 @@ function DayCalendar(inProps) {
|
|
|
390
397
|
nextMonth = utils.addMonths(nextMonth, 1);
|
|
391
398
|
}
|
|
392
399
|
return toDisplay;
|
|
393
|
-
}, [currentMonth, fixedWeekNumber, utils]);
|
|
400
|
+
}, [currentMonth, fixedWeekNumber, utils, timezone]);
|
|
394
401
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
395
402
|
role: "grid",
|
|
396
403
|
"aria-labelledby": gridLabelId,
|
|
@@ -122,7 +122,8 @@ function PickersCalendarHeader(inProps) {
|
|
|
122
122
|
view,
|
|
123
123
|
reduceAnimations,
|
|
124
124
|
views,
|
|
125
|
-
labelId
|
|
125
|
+
labelId,
|
|
126
|
+
timezone
|
|
126
127
|
} = props;
|
|
127
128
|
const ownerState = props;
|
|
128
129
|
const classes = useUtilityClasses(props);
|
|
@@ -150,11 +151,13 @@ function PickersCalendarHeader(inProps) {
|
|
|
150
151
|
const selectPreviousMonth = () => onMonthChange(utils.addMonths(month, -1), 'right');
|
|
151
152
|
const isNextMonthDisabled = (0, _dateHelpersHooks.useNextMonthDisabled)(month, {
|
|
152
153
|
disableFuture,
|
|
153
|
-
maxDate
|
|
154
|
+
maxDate,
|
|
155
|
+
timezone
|
|
154
156
|
});
|
|
155
157
|
const isPreviousMonthDisabled = (0, _dateHelpersHooks.usePreviousMonthDisabled)(month, {
|
|
156
158
|
disablePast,
|
|
157
|
-
minDate
|
|
159
|
+
minDate,
|
|
160
|
+
timezone
|
|
158
161
|
});
|
|
159
162
|
const handleToggleView = () => {
|
|
160
163
|
if (views.length === 1 || !onViewChange || disabled) {
|
|
@@ -56,9 +56,10 @@ const useCalendarState = params => {
|
|
|
56
56
|
minDate,
|
|
57
57
|
onMonthChange,
|
|
58
58
|
reduceAnimations,
|
|
59
|
-
shouldDisableDate
|
|
59
|
+
shouldDisableDate,
|
|
60
|
+
timezone
|
|
60
61
|
} = params;
|
|
61
|
-
const now = (0, _useUtils.useNow)();
|
|
62
|
+
const now = (0, _useUtils.useNow)(timezone);
|
|
62
63
|
const utils = (0, _useUtils.useUtils)();
|
|
63
64
|
const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), disableSwitchToMonthOnDayFocus, utils)).current;
|
|
64
65
|
const referenceDate = React.useMemo(() => {
|
|
@@ -72,6 +73,7 @@ const useCalendarState = params => {
|
|
|
72
73
|
return _valueManagers.singleItemValueManager.getInitialReferenceValue({
|
|
73
74
|
value,
|
|
74
75
|
utils,
|
|
76
|
+
timezone,
|
|
75
77
|
props: params,
|
|
76
78
|
referenceDate: externalReferenceDate,
|
|
77
79
|
granularity: _getDefaultReferenceDate.SECTION_TYPE_GRANULARITY.day
|
|
@@ -108,7 +110,8 @@ const useCalendarState = params => {
|
|
|
108
110
|
minDate,
|
|
109
111
|
maxDate,
|
|
110
112
|
disableFuture,
|
|
111
|
-
disablePast
|
|
113
|
+
disablePast,
|
|
114
|
+
timezone
|
|
112
115
|
});
|
|
113
116
|
const onMonthSwitchingAnimationEnd = React.useCallback(() => {
|
|
114
117
|
dispatch({
|
|
@@ -16,7 +16,8 @@ const useIsDateDisabled = ({
|
|
|
16
16
|
minDate,
|
|
17
17
|
maxDate,
|
|
18
18
|
disableFuture,
|
|
19
|
-
disablePast
|
|
19
|
+
disablePast,
|
|
20
|
+
timezone
|
|
20
21
|
}) => {
|
|
21
22
|
const adapter = (0, _useUtils.useLocalizationContext)();
|
|
22
23
|
return React.useCallback(day => (0, _validateDate.validateDate)({
|
|
@@ -29,8 +30,9 @@ const useIsDateDisabled = ({
|
|
|
29
30
|
minDate,
|
|
30
31
|
maxDate,
|
|
31
32
|
disableFuture,
|
|
32
|
-
disablePast
|
|
33
|
+
disablePast,
|
|
34
|
+
timezone
|
|
33
35
|
}
|
|
34
|
-
}) !== null, [adapter, shouldDisableDate, shouldDisableMonth, shouldDisableYear, minDate, maxDate, disableFuture, disablePast]);
|
|
36
|
+
}) !== null, [adapter, shouldDisableDate, shouldDisableMonth, shouldDisableYear, minDate, maxDate, disableFuture, disablePast, timezone]);
|
|
35
37
|
};
|
|
36
38
|
exports.useIsDateDisabled = useIsDateDisabled;
|
|
@@ -317,6 +317,14 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
317
317
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
318
318
|
*/
|
|
319
319
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
320
|
+
/**
|
|
321
|
+
* Choose which timezone to use for the value.
|
|
322
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
323
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
324
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
325
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
326
|
+
*/
|
|
327
|
+
timezone: _propTypes.default.string,
|
|
320
328
|
/**
|
|
321
329
|
* The ref object used to imperatively interact with the field.
|
|
322
330
|
*/
|
|
@@ -320,6 +320,14 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
320
320
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
321
321
|
*/
|
|
322
322
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
323
|
+
/**
|
|
324
|
+
* Choose which timezone to use for the value.
|
|
325
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
326
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
327
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
328
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
329
|
+
*/
|
|
330
|
+
timezone: _propTypes.default.string,
|
|
323
331
|
/**
|
|
324
332
|
* The selected value.
|
|
325
333
|
* Used when the component is controlled.
|
|
@@ -366,6 +366,14 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
366
366
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
367
367
|
*/
|
|
368
368
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
369
|
+
/**
|
|
370
|
+
* Choose which timezone to use for the value.
|
|
371
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
372
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
373
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
374
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
375
|
+
*/
|
|
376
|
+
timezone: _propTypes.default.string,
|
|
369
377
|
/**
|
|
370
378
|
* The ref object used to imperatively interact with the field.
|
|
371
379
|
*/
|
|
@@ -390,6 +390,14 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
390
390
|
minutes: _propTypes.default.number,
|
|
391
391
|
seconds: _propTypes.default.number
|
|
392
392
|
}),
|
|
393
|
+
/**
|
|
394
|
+
* Choose which timezone to use for the value.
|
|
395
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
396
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
397
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
398
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
399
|
+
*/
|
|
400
|
+
timezone: _propTypes.default.string,
|
|
393
401
|
/**
|
|
394
402
|
* The selected value.
|
|
395
403
|
* Used when the component is controlled.
|
|
@@ -334,6 +334,14 @@ DesktopDatePicker.propTypes = {
|
|
|
334
334
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
335
335
|
*/
|
|
336
336
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
337
|
+
/**
|
|
338
|
+
* Choose which timezone to use for the value.
|
|
339
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
340
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
341
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
342
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
343
|
+
*/
|
|
344
|
+
timezone: _propTypes.default.string,
|
|
337
345
|
/**
|
|
338
346
|
* The selected value.
|
|
339
347
|
* Used when the component is controlled.
|
|
@@ -440,6 +440,14 @@ DesktopDateTimePicker.propTypes = {
|
|
|
440
440
|
minutes: _propTypes.default.number,
|
|
441
441
|
seconds: _propTypes.default.number
|
|
442
442
|
}),
|
|
443
|
+
/**
|
|
444
|
+
* Choose which timezone to use for the value.
|
|
445
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
446
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
447
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
448
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
449
|
+
*/
|
|
450
|
+
timezone: _propTypes.default.string,
|
|
443
451
|
/**
|
|
444
452
|
* The selected value.
|
|
445
453
|
* Used when the component is controlled.
|
|
@@ -324,6 +324,14 @@ DesktopTimePicker.propTypes = {
|
|
|
324
324
|
minutes: _propTypes.default.number,
|
|
325
325
|
seconds: _propTypes.default.number
|
|
326
326
|
}),
|
|
327
|
+
/**
|
|
328
|
+
* Choose which timezone to use for the value.
|
|
329
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
330
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
331
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
332
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
333
|
+
*/
|
|
334
|
+
timezone: _propTypes.default.string,
|
|
327
335
|
/**
|
|
328
336
|
* The selected value.
|
|
329
337
|
* Used when the component is controlled.
|
|
@@ -13,7 +13,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
var _styles = require("@mui/material/styles");
|
|
14
14
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
15
15
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
|
-
var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"));
|
|
17
16
|
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
18
17
|
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
19
18
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
@@ -23,8 +22,10 @@ var _PickerViewRoot = require("../internals/components/PickerViewRoot");
|
|
|
23
22
|
var _digitalClockClasses = require("./digitalClockClasses");
|
|
24
23
|
var _useViews = require("../internals/hooks/useViews");
|
|
25
24
|
var _dimensions = require("../internals/constants/dimensions");
|
|
25
|
+
var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
26
|
+
var _valueManagers = require("../internals/utils/valueManagers");
|
|
26
27
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
-
const _excluded = ["ampm", "timeStep", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "onChange", "defaultValue", "view", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "views", "skipDisabled"];
|
|
28
|
+
const _excluded = ["ampm", "timeStep", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "onChange", "defaultValue", "view", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "views", "skipDisabled", "timezone"];
|
|
28
29
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
30
31
|
const useUtilityClasses = ownerState => {
|
|
@@ -84,11 +85,9 @@ const DigitalClockItem = (0, _styles.styled)(_MenuItem.default, {
|
|
|
84
85
|
}
|
|
85
86
|
}));
|
|
86
87
|
const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps, ref) {
|
|
87
|
-
const now = (0, _useUtils.useNow)();
|
|
88
88
|
const utils = (0, _useUtils.useUtils)();
|
|
89
89
|
const containerRef = React.useRef(null);
|
|
90
90
|
const handleRef = (0, _useForkRef.default)(ref, containerRef);
|
|
91
|
-
const localeText = (0, _useUtils.useLocaleText)();
|
|
92
91
|
const props = (0, _styles.useThemeProps)({
|
|
93
92
|
props: inProps,
|
|
94
93
|
name: 'MuiDigitalClock'
|
|
@@ -121,25 +120,31 @@ const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps
|
|
|
121
120
|
disabled,
|
|
122
121
|
readOnly,
|
|
123
122
|
views = ['hours'],
|
|
124
|
-
skipDisabled = false
|
|
123
|
+
skipDisabled = false,
|
|
124
|
+
timezone: timezoneProp
|
|
125
125
|
} = props,
|
|
126
126
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
127
|
+
const {
|
|
128
|
+
value,
|
|
129
|
+
handleValueChange: handleRawValueChange,
|
|
130
|
+
timezone
|
|
131
|
+
} = (0, _useValueWithTimezone.useControlledValueWithTimezone)({
|
|
132
|
+
name: 'DigitalClock',
|
|
133
|
+
timezone: timezoneProp,
|
|
134
|
+
value: valueProp,
|
|
135
|
+
defaultValue,
|
|
136
|
+
onChange,
|
|
137
|
+
valueManager: _valueManagers.singleItemValueManager
|
|
138
|
+
});
|
|
139
|
+
const localeText = (0, _useUtils.useLocaleText)();
|
|
140
|
+
const now = (0, _useUtils.useNow)(timezone);
|
|
127
141
|
const ownerState = React.useMemo(() => (0, _extends2.default)({}, props, {
|
|
128
142
|
alreadyRendered: !!containerRef.current
|
|
129
143
|
}), [props]);
|
|
130
144
|
const classes = useUtilityClasses(ownerState);
|
|
131
145
|
const ClockItem = slots?.digitalClockItem ?? components?.DigitalClockItem ?? DigitalClockItem;
|
|
132
146
|
const clockItemProps = slotProps?.digitalClockItem ?? componentsProps?.digitalClockItem;
|
|
133
|
-
const
|
|
134
|
-
name: 'DigitalClock',
|
|
135
|
-
state: 'value',
|
|
136
|
-
controlled: valueProp,
|
|
137
|
-
default: defaultValue ?? null
|
|
138
|
-
});
|
|
139
|
-
const handleValueChange = (0, _useEventCallback.default)(newValue => {
|
|
140
|
-
setValue(newValue);
|
|
141
|
-
onChange?.(newValue, 'finish');
|
|
142
|
-
});
|
|
147
|
+
const handleValueChange = (0, _useEventCallback.default)(newValue => handleRawValueChange(newValue, 'finish'));
|
|
143
148
|
const {
|
|
144
149
|
setValueAndGoToNextView
|
|
145
150
|
} = (0, _useViews.useViews)({
|
|
@@ -388,6 +393,14 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
|
|
|
388
393
|
* @default 30
|
|
389
394
|
*/
|
|
390
395
|
timeStep: _propTypes.default.number,
|
|
396
|
+
/**
|
|
397
|
+
* Choose which timezone to use for the value.
|
|
398
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
399
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
400
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
401
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
402
|
+
*/
|
|
403
|
+
timezone: _propTypes.default.string,
|
|
391
404
|
/**
|
|
392
405
|
* The selected value.
|
|
393
406
|
* Used when the component is controlled.
|
|
@@ -331,6 +331,14 @@ MobileDatePicker.propTypes = {
|
|
|
331
331
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
332
332
|
*/
|
|
333
333
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
334
|
+
/**
|
|
335
|
+
* Choose which timezone to use for the value.
|
|
336
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
337
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
338
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
339
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
340
|
+
*/
|
|
341
|
+
timezone: _propTypes.default.string,
|
|
334
342
|
/**
|
|
335
343
|
* The selected value.
|
|
336
344
|
* Used when the component is controlled.
|
|
@@ -396,6 +396,14 @@ MobileDateTimePicker.propTypes = {
|
|
|
396
396
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
397
397
|
*/
|
|
398
398
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
399
|
+
/**
|
|
400
|
+
* Choose which timezone to use for the value.
|
|
401
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
402
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
403
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
404
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
405
|
+
*/
|
|
406
|
+
timezone: _propTypes.default.string,
|
|
399
407
|
/**
|
|
400
408
|
* The selected value.
|
|
401
409
|
* Used when the component is controlled.
|
|
@@ -281,6 +281,14 @@ MobileTimePicker.propTypes = {
|
|
|
281
281
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
282
282
|
*/
|
|
283
283
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
284
|
+
/**
|
|
285
|
+
* Choose which timezone to use for the value.
|
|
286
|
+
* Example: "default", "system", "UTC", "America/New_York".
|
|
287
|
+
* If you pass values from other timezones to some props, they will be converted to this timezone before being used.
|
|
288
|
+
* @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
|
|
289
|
+
* @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
|
|
290
|
+
*/
|
|
291
|
+
timezone: _propTypes.default.string,
|
|
284
292
|
/**
|
|
285
293
|
* The selected value.
|
|
286
294
|
* Used when the component is controlled.
|