@mui/x-date-pickers 7.6.0 → 7.6.2

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 (62) hide show
  1. package/AdapterDayjs/AdapterDayjs.js +5 -1
  2. package/CHANGELOG.md +91 -0
  3. package/DateCalendar/DayCalendar.js +11 -11
  4. package/DateTimePicker/DateTimePickerToolbar.js +59 -49
  5. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +11 -1
  6. package/MonthCalendar/MonthCalendar.js +4 -4
  7. package/PickersLayout/PickersLayout.d.ts +1 -3
  8. package/PickersLayout/PickersLayout.js +30 -9
  9. package/PickersLayout/PickersLayout.types.d.ts +8 -4
  10. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +1 -0
  11. package/PickersTextField/PickersInputBase/PickersInputBase.js +14 -6
  12. package/TimePicker/TimePickerToolbar.js +21 -18
  13. package/YearCalendar/YearCalendar.js +4 -4
  14. package/index.js +1 -1
  15. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +5 -5
  16. package/internals/components/PickersToolbarButton.d.ts +1 -1
  17. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +1 -1
  18. package/internals/hooks/useField/buildSectionsFromFormat.js +3 -3
  19. package/internals/hooks/useField/useField.js +3 -4
  20. package/internals/hooks/useField/useField.types.d.ts +2 -2
  21. package/internals/hooks/useField/useField.utils.d.ts +1 -1
  22. package/internals/hooks/useField/useField.utils.js +6 -5
  23. package/internals/hooks/useField/useFieldState.js +6 -7
  24. package/internals/hooks/useField/useFieldV6TextField.d.ts +1 -1
  25. package/internals/hooks/useField/useFieldV6TextField.js +10 -11
  26. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +1 -0
  27. package/internals/hooks/usePicker/usePickerLayoutProps.js +3 -0
  28. package/modern/AdapterDayjs/AdapterDayjs.js +5 -1
  29. package/modern/DateCalendar/DayCalendar.js +11 -11
  30. package/modern/DateTimePicker/DateTimePickerToolbar.js +59 -49
  31. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +11 -1
  32. package/modern/MonthCalendar/MonthCalendar.js +4 -4
  33. package/modern/PickersLayout/PickersLayout.js +30 -9
  34. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +14 -6
  35. package/modern/TimePicker/TimePickerToolbar.js +21 -18
  36. package/modern/YearCalendar/YearCalendar.js +4 -4
  37. package/modern/index.js +1 -1
  38. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +5 -5
  39. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +3 -3
  40. package/modern/internals/hooks/useField/useField.js +3 -4
  41. package/modern/internals/hooks/useField/useField.utils.js +6 -5
  42. package/modern/internals/hooks/useField/useFieldState.js +6 -7
  43. package/modern/internals/hooks/useField/useFieldV6TextField.js +10 -11
  44. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +3 -0
  45. package/node/AdapterDayjs/AdapterDayjs.js +5 -1
  46. package/node/DateCalendar/DayCalendar.js +10 -10
  47. package/node/DateTimePicker/DateTimePickerToolbar.js +58 -48
  48. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +11 -1
  49. package/node/MonthCalendar/MonthCalendar.js +4 -4
  50. package/node/PickersLayout/PickersLayout.js +30 -9
  51. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +14 -6
  52. package/node/TimePicker/TimePickerToolbar.js +20 -17
  53. package/node/YearCalendar/YearCalendar.js +4 -4
  54. package/node/index.js +1 -1
  55. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +4 -4
  56. package/node/internals/hooks/useField/buildSectionsFromFormat.js +3 -3
  57. package/node/internals/hooks/useField/useField.js +3 -4
  58. package/node/internals/hooks/useField/useField.utils.js +6 -5
  59. package/node/internals/hooks/useField/useFieldState.js +6 -7
  60. package/node/internals/hooks/useField/useFieldV6TextField.js +10 -11
  61. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +3 -0
  62. package/package.json +1 -1
@@ -5,11 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.TimePickerToolbar = TimePickerToolbar;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _RtlProvider = require("@mui/system/RtlProvider");
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _utils = require("@mui/utils");
15
16
  var _PickersToolbarText = require("../internals/components/PickersToolbarText");
@@ -26,14 +27,14 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
26
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
28
  const useUtilityClasses = ownerState => {
28
29
  const {
29
- theme,
30
30
  isLandscape,
31
- classes
31
+ classes,
32
+ isRtl
32
33
  } = ownerState;
33
34
  const slots = {
34
35
  root: ['root'],
35
36
  separator: ['separator'],
36
- hourMinuteLabel: ['hourMinuteLabel', isLandscape && 'hourMinuteLabelLandscape', theme.direction === 'rtl' && 'hourMinuteLabelReverse'],
37
+ hourMinuteLabel: ['hourMinuteLabel', isLandscape && 'hourMinuteLabelLandscape', isRtl && 'hourMinuteLabelReverse'],
37
38
  ampmSelection: ['ampmSelection', isLandscape && 'ampmLandscape'],
38
39
  ampmLabel: ['ampmLabel']
39
40
  };
@@ -60,16 +61,18 @@ const TimePickerToolbarHourMinuteLabel = (0, _styles.styled)('div', {
60
61
  [`&.${_timePickerToolbarClasses.timePickerToolbarClasses.hourMinuteLabelLandscape}`]: styles.hourMinuteLabelLandscape,
61
62
  [`&.${_timePickerToolbarClasses.timePickerToolbarClasses.hourMinuteLabelReverse}`]: styles.hourMinuteLabelReverse
62
63
  }, styles.hourMinuteLabel]
63
- })(({
64
- theme
65
- }) => (0, _extends2.default)({
64
+ })({
66
65
  display: 'flex',
67
66
  justifyContent: 'flex-end',
68
- alignItems: 'flex-end'
69
- }, theme.direction === 'rtl' && {
70
- flexDirection: 'row-reverse'
71
- }, {
67
+ alignItems: 'flex-end',
72
68
  variants: [{
69
+ props: {
70
+ isRtl: true
71
+ },
72
+ style: {
73
+ flexDirection: 'row-reverse'
74
+ }
75
+ }, {
73
76
  props: {
74
77
  isLandscape: true
75
78
  },
@@ -77,7 +80,7 @@ const TimePickerToolbarHourMinuteLabel = (0, _styles.styled)('div', {
77
80
  marginTop: 'auto'
78
81
  }
79
82
  }]
80
- }));
83
+ });
81
84
  const TimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
82
85
  name: 'MuiTimePickerToolbar',
83
86
  slot: 'AmPmSelection',
@@ -138,17 +141,17 @@ function TimePickerToolbar(inProps) {
138
141
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
139
142
  const utils = (0, _useUtils.useUtils)();
140
143
  const localeText = (0, _useUtils.useLocaleText)();
141
- const theme = (0, _styles.useTheme)();
144
+ const isRtl = (0, _RtlProvider.useRtl)();
142
145
  const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
143
146
  const {
144
147
  meridiemMode,
145
148
  handleMeridiemChange
146
149
  } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
147
150
  const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
148
- const ownerState = props;
149
- const classes = useUtilityClasses((0, _extends2.default)({}, ownerState, {
150
- theme
151
- }));
151
+ const ownerState = (0, _extends2.default)({}, props, {
152
+ isRtl
153
+ });
154
+ const classes = useUtilityClasses(ownerState);
152
155
  const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
153
156
  tabIndex: -1,
154
157
  value: ":",
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _system = require("@mui/system");
13
+ var _RtlProvider = require("@mui/system/RtlProvider");
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _utils = require("@mui/utils");
16
16
  var _PickersYear = require("./PickersYear");
@@ -113,7 +113,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
113
113
  valueManager: _valueManagers.singleItemValueManager
114
114
  });
115
115
  const now = (0, _useUtils.useNow)(timezone);
116
- const theme = (0, _system.useTheme)();
116
+ const isRtl = (0, _RtlProvider.useRtl)();
117
117
  const utils = (0, _useUtils.useUtils)();
118
118
  const referenceDate = React.useMemo(() => _valueManagers.singleItemValueManager.getInitialReferenceValue({
119
119
  value,
@@ -193,11 +193,11 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
193
193
  event.preventDefault();
194
194
  break;
195
195
  case 'ArrowLeft':
196
- focusYear(year + (theme.direction === 'ltr' ? -1 : 1));
196
+ focusYear(year + (isRtl ? 1 : -1));
197
197
  event.preventDefault();
198
198
  break;
199
199
  case 'ArrowRight':
200
- focusYear(year + (theme.direction === 'ltr' ? 1 : -1));
200
+ focusYear(year + (isRtl ? -1 : 1));
201
201
  event.preventDefault();
202
202
  break;
203
203
  default:
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.6.0
2
+ * @mui/x-date-pickers v7.6.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -10,6 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
13
+ var _RtlProvider = require("@mui/system/RtlProvider");
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _utils = require("@mui/utils");
15
16
  var _utils2 = require("@mui/base/utils");
@@ -64,8 +65,7 @@ const useUtilityClasses = ownerState => {
64
65
  return (0, _utils.unstable_composeClasses)(slots, _pickersArrowSwitcherClasses.getPickersArrowSwitcherUtilityClass, classes);
65
66
  };
66
67
  const PickersArrowSwitcher = exports.PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function PickersArrowSwitcher(inProps, ref) {
67
- const theme = (0, _styles.useTheme)();
68
- const isRTL = theme.direction === 'rtl';
68
+ const isRtl = (0, _RtlProvider.useRtl)();
69
69
  const props = (0, _styles.useThemeProps)({
70
70
  props: inProps,
71
71
  name: 'MuiPickersArrowSwitcher'
@@ -161,7 +161,7 @@ const PickersArrowSwitcher = exports.PickersArrowSwitcher = /*#__PURE__*/React.f
161
161
  ownerState: ownerState
162
162
  }, other, {
163
163
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PreviousIconButton, (0, _extends2.default)({}, previousIconButtonProps, {
164
- children: isRTL ? /*#__PURE__*/(0, _jsxRuntime.jsx)(RightArrowIcon, (0, _extends2.default)({}, rightArrowIconProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(LeftArrowIcon, (0, _extends2.default)({}, leftArrowIconProps))
164
+ children: isRtl ? /*#__PURE__*/(0, _jsxRuntime.jsx)(RightArrowIcon, (0, _extends2.default)({}, rightArrowIconProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(LeftArrowIcon, (0, _extends2.default)({}, leftArrowIconProps))
165
165
  })), children ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
166
166
  variant: "subtitle1",
167
167
  component: "span",
@@ -170,7 +170,7 @@ const PickersArrowSwitcher = exports.PickersArrowSwitcher = /*#__PURE__*/React.f
170
170
  className: classes.spacer,
171
171
  ownerState: ownerState
172
172
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(NextIconButton, (0, _extends2.default)({}, nextIconButtonProps, {
173
- children: isRTL ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LeftArrowIcon, (0, _extends2.default)({}, leftArrowIconProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(RightArrowIcon, (0, _extends2.default)({}, rightArrowIconProps))
173
+ children: isRtl ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LeftArrowIcon, (0, _extends2.default)({}, leftArrowIconProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(RightArrowIcon, (0, _extends2.default)({}, rightArrowIconProps))
174
174
  }))]
175
175
  }));
176
176
  });
@@ -224,14 +224,14 @@ const buildSections = params => {
224
224
  return sections;
225
225
  };
226
226
  const postProcessSections = ({
227
- isRTL,
227
+ isRtl,
228
228
  formatDensity,
229
229
  sections
230
230
  }) => {
231
231
  return sections.map(section => {
232
232
  const cleanSeparator = separator => {
233
233
  let cleanedSeparator = separator;
234
- if (isRTL && cleanedSeparator !== null && cleanedSeparator.includes(' ')) {
234
+ if (isRtl && cleanedSeparator !== null && cleanedSeparator.includes(' ')) {
235
235
  cleanedSeparator = `\u2069${cleanedSeparator}\u2066`;
236
236
  }
237
237
  if (formatDensity === 'spacious' && ['/', '.', '-'].includes(cleanedSeparator)) {
@@ -246,7 +246,7 @@ const postProcessSections = ({
246
246
  };
247
247
  const buildSectionsFromFormat = params => {
248
248
  let expandedFormat = expandFormat(params);
249
- if (params.isRTL && params.enableAccessibleFieldDOMStructure) {
249
+ if (params.isRtl && params.enableAccessibleFieldDOMStructure) {
250
250
  expandedFormat = expandedFormat.split(' ').reverse().join(' ');
251
251
  }
252
252
  const escapedParts = getEscapedPartsFromFormat((0, _extends2.default)({}, params, {
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
11
11
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
12
- var _styles = require("@mui/material/styles");
12
+ var _RtlProvider = require("@mui/system/RtlProvider");
13
13
  var _useValidation = require("../useValidation");
14
14
  var _useUtils = require("../useUtils");
15
15
  var _useField = require("./useField.utils");
@@ -40,8 +40,7 @@ const useField = params => {
40
40
  valueManager,
41
41
  validator
42
42
  } = params;
43
- const theme = (0, _styles.useTheme)();
44
- const isRTL = theme.direction === 'rtl';
43
+ const isRtl = (0, _RtlProvider.useRtl)();
45
44
  const stateResponse = (0, _useFieldState.useFieldState)(params);
46
45
  const {
47
46
  state,
@@ -69,7 +68,7 @@ const useField = params => {
69
68
  } = characterEditingResponse;
70
69
  const areAllSectionsEmpty = valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue);
71
70
  const useFieldTextField = enableAccessibleFieldDOMStructure ? _useFieldV7TextField.useFieldV7TextField : _useFieldV6TextField.useFieldV6TextField;
72
- const sectionOrder = React.useMemo(() => (0, _useField.getSectionOrder)(state.sections, isRTL && !enableAccessibleFieldDOMStructure), [state.sections, isRTL, enableAccessibleFieldDOMStructure]);
71
+ const sectionOrder = React.useMemo(() => (0, _useField.getSectionOrder)(state.sections, isRtl && !enableAccessibleFieldDOMStructure), [state.sections, isRtl, enableAccessibleFieldDOMStructure]);
73
72
  const {
74
73
  returnedValue,
75
74
  interactions
@@ -210,8 +210,9 @@ const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoun
210
210
  return options[options.length - 1];
211
211
  }
212
212
  const currentOptionIndex = options.indexOf(section.value);
213
- const newOptionIndex = (currentOptionIndex + options.length + delta) % options.length;
214
- return options[newOptionIndex];
213
+ const newOptionIndex = (currentOptionIndex + delta) % options.length;
214
+ const clampedIndex = (newOptionIndex + options.length) % options.length;
215
+ return options[clampedIndex];
215
216
  };
216
217
  if (section.contentType === 'digit' || section.contentType === 'digit-with-letter') {
217
218
  return adjustDigitSection();
@@ -327,13 +328,13 @@ const createDateStrForV7HiddenInputFromSections = sections => sections.map(secti
327
328
  return `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`;
328
329
  }).join('');
329
330
  exports.createDateStrForV7HiddenInputFromSections = createDateStrForV7HiddenInputFromSections;
330
- const createDateStrForV6InputFromSections = (sections, localizedDigits, isRTL) => {
331
+ const createDateStrForV6InputFromSections = (sections, localizedDigits, isRtl) => {
331
332
  const formattedSections = sections.map(section => {
332
- const dateValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
333
+ const dateValue = getSectionVisibleValue(section, isRtl ? 'input-rtl' : 'input-ltr', localizedDigits);
333
334
  return `${section.startSeparator}${dateValue}${section.endSeparator}`;
334
335
  });
335
336
  const dateStr = formattedSections.join('');
336
- if (!isRTL) {
337
+ if (!isRtl) {
337
338
  return dateStr;
338
339
  }
339
340
 
@@ -8,7 +8,7 @@ exports.useFieldState = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"));
11
- var _styles = require("@mui/material/styles");
11
+ var _RtlProvider = require("@mui/system/RtlProvider");
12
12
  var _useUtils = require("../useUtils");
13
13
  var _useField = require("./useField.utils");
14
14
  var _buildSectionsFromFormat = require("./buildSectionsFromFormat");
@@ -20,8 +20,7 @@ const useFieldState = params => {
20
20
  const utils = (0, _useUtils.useUtils)();
21
21
  const localeText = (0, _useUtils.useLocaleText)();
22
22
  const adapter = (0, _useUtils.useLocalizationContext)();
23
- const theme = (0, _styles.useTheme)();
24
- const isRTL = theme.direction === 'rtl';
23
+ const isRtl = (0, _RtlProvider.useRtl)();
25
24
  const {
26
25
  valueManager,
27
26
  fieldValueManager,
@@ -65,8 +64,8 @@ const useFieldState = params => {
65
64
  formatDensity,
66
65
  shouldRespectLeadingZeros,
67
66
  enableAccessibleFieldDOMStructure,
68
- isRTL
69
- })), [fieldValueManager, format, localeText, localizedDigits, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone, enableAccessibleFieldDOMStructure]);
67
+ isRtl
68
+ })), [fieldValueManager, format, localeText, localizedDigits, isRtl, shouldRespectLeadingZeros, utils, formatDensity, timezone, enableAccessibleFieldDOMStructure]);
70
69
  const [state, setState] = React.useState(() => {
71
70
  const sections = getSectionsFromValue(valueFromTheOutside);
72
71
  (0, _useField.validateSections)(sections, valueType);
@@ -173,7 +172,7 @@ const useFieldState = params => {
173
172
  formatDensity,
174
173
  shouldRespectLeadingZeros,
175
174
  enableAccessibleFieldDOMStructure,
176
- isRTL
175
+ isRtl
177
176
  });
178
177
  return (0, _useField.mergeDateIntoReferenceDate)(utils, timezone, date, sections, referenceDate, false);
179
178
  };
@@ -243,7 +242,7 @@ const useFieldState = params => {
243
242
  setState(prevState => (0, _extends2.default)({}, prevState, {
244
243
  sections
245
244
  }));
246
- }, [format, utils.locale, isRTL]); // eslint-disable-line react-hooks/exhaustive-deps
245
+ }, [format, utils.locale, isRtl]); // eslint-disable-line react-hooks/exhaustive-deps
247
246
 
248
247
  React.useEffect(() => {
249
248
  let shouldUpdate;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useFieldV6TextField = exports.addPositionPropertiesToSections = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _styles = require("@mui/material/styles");
10
+ var _RtlProvider = require("@mui/system/RtlProvider");
11
11
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
12
12
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
13
13
  var _utils = require("../../utils/utils");
@@ -15,13 +15,13 @@ var _useField = require("./useField.utils");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const cleanString = dirtyString => dirtyString.replace(/[\u2066\u2067\u2068\u2069]/g, '');
18
- const addPositionPropertiesToSections = (sections, localizedDigits, isRTL) => {
18
+ const addPositionPropertiesToSections = (sections, localizedDigits, isRtl) => {
19
19
  let position = 0;
20
- let positionInInput = isRTL ? 1 : 0;
20
+ let positionInInput = isRtl ? 1 : 0;
21
21
  const newSections = [];
22
22
  for (let i = 0; i < sections.length; i += 1) {
23
23
  const section = sections[i];
24
- const renderedValue = (0, _useField.getSectionVisibleValue)(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
24
+ const renderedValue = (0, _useField.getSectionVisibleValue)(section, isRtl ? 'input-rtl' : 'input-ltr', localizedDigits);
25
25
  const sectionStr = `${section.startSeparator}${renderedValue}${section.endSeparator}`;
26
26
  const sectionLength = cleanString(sectionStr).length;
27
27
  const sectionLengthInInput = sectionStr.length;
@@ -44,8 +44,7 @@ const addPositionPropertiesToSections = (sections, localizedDigits, isRTL) => {
44
44
  };
45
45
  exports.addPositionPropertiesToSections = addPositionPropertiesToSections;
46
46
  const useFieldV6TextField = params => {
47
- const theme = (0, _styles.useTheme)();
48
- const isRTL = theme.direction === 'rtl';
47
+ const isRtl = (0, _RtlProvider.useRtl)();
49
48
  const focusTimeoutRef = React.useRef();
50
49
  const {
51
50
  forwardedProps: {
@@ -78,7 +77,7 @@ const useFieldV6TextField = params => {
78
77
  } = params;
79
78
  const inputRef = React.useRef(null);
80
79
  const handleRef = (0, _useForkRef.default)(inputRefProp, inputRef);
81
- const sections = React.useMemo(() => addPositionPropertiesToSections(state.sections, localizedDigits, isRTL), [state.sections, localizedDigits, isRTL]);
80
+ const sections = React.useMemo(() => addPositionPropertiesToSections(state.sections, localizedDigits, isRtl), [state.sections, localizedDigits, isRtl]);
82
81
  const interactions = React.useMemo(() => ({
83
82
  syncSelectionToDOM: () => {
84
83
  if (!inputRef.current) {
@@ -251,7 +250,7 @@ const useFieldV6TextField = params => {
251
250
  if (parsedSelectedSections === 'all' && cleanValueStr.length === 1) {
252
251
  keyPressed = cleanValueStr;
253
252
  } else {
254
- const prevValueStr = cleanString(fieldValueManager.getV6InputValueFromSections(sections, localizedDigits, isRTL));
253
+ const prevValueStr = cleanString(fieldValueManager.getV6InputValueFromSections(sections, localizedDigits, isRtl));
255
254
  let startOfDiffIndex = -1;
256
255
  let endOfDiffIndex = -1;
257
256
  for (let i = 0; i < prevValueStr.length; i += 1) {
@@ -291,9 +290,9 @@ const useFieldV6TextField = params => {
291
290
  if (inPlaceholder !== undefined) {
292
291
  return inPlaceholder;
293
292
  }
294
- return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL);
295
- }, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
296
- const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRTL), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRTL]);
293
+ return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRtl);
294
+ }, [inPlaceholder, fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRtl]);
295
+ const valueStr = React.useMemo(() => state.tempValueStrAndroid ?? fieldValueManager.getV6InputValueFromSections(state.sections, localizedDigits, isRtl), [state.sections, fieldValueManager, state.tempValueStrAndroid, localizedDigits, isRtl]);
297
296
  React.useEffect(() => {
298
297
  // Select all the sections when focused on mount (`autoFocus = true` on the input)
299
298
  if (inputRef.current && inputRef.current === (0, _utils.getActiveElement)(document)) {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.usePickerLayoutProps = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _RtlProvider = require("@mui/system/RtlProvider");
9
10
  var _useIsLandscape = require("../useIsLandscape");
10
11
  /**
11
12
  * Props used to create the layout of the views.
@@ -25,8 +26,10 @@ const usePickerLayoutProps = ({
25
26
  orientation
26
27
  } = props;
27
28
  const isLandscape = (0, _useIsLandscape.useIsLandscape)(propsFromPickerViews.views, orientation);
29
+ const isRtl = (0, _RtlProvider.useRtl)();
28
30
  const layoutProps = (0, _extends2.default)({}, propsFromPickerViews, propsFromPickerValue, {
29
31
  isLandscape,
32
+ isRtl,
30
33
  wrapperVariant,
31
34
  disabled: props.disabled,
32
35
  readOnly: props.readOnly
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "7.6.0",
3
+ "version": "7.6.2",
4
4
  "description": "The community edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",